diff --git a/include/enums.h b/include/enums.h index 8dbe277268..b6b40fa6c0 100644 --- a/include/enums.h +++ b/include/enums.h @@ -2394,6 +2394,7 @@ enum EncounterOutcomes { OUTCOME_PLAYER_LOST = 1, OUTCOME_PLAYER_FLED = 2, OUTCOME_ENEMY_FLED = 3, + OUTCOME_4 = 4, }; enum MerleeSpellType { @@ -4246,7 +4247,7 @@ enum EnemyFlags { ENEMY_FLAGS_2 = 0x00000002, ENEMY_FLAGS_4 = 0x00000004, ENEMY_FLAGS_8 = 0x00000008, - ENEMY_FLAGS_10 = 0x00000010, + ENEMY_FLAGS_FLED = 0x00000010, ENEMY_FLAGS_20 = 0x00000020, ENEMY_FLAGS_40 = 0x00000040, ENEMY_FLAGS_80 = 0x00000080, @@ -4254,7 +4255,7 @@ enum EnemyFlags { ENEMY_FLAGS_200 = 0x00000200, ENEMY_FLAGS_400 = 0x00000400, ENEMY_FLAGS_800 = 0x00000800, - ENEMY_FLAGS_1000 = 0x00001000, + ENEMY_FLAGS_GRAVITY = 0x00001000, ENEMY_FLAGS_2000 = 0x00002000, ENEMY_FLAGS_4000 = 0x00004000, ENEMY_FLAGS_8000 = 0x00008000, @@ -5724,4 +5725,56 @@ enum BackgroundRenderTypes { BACKGROUND_RENDER_TYPE_3 = 3, }; +enum EncounterStates { + ENCOUNTER_STATE_NONE = 0, + ENCOUNTER_STATE_CREATE = 1, + ENCOUNTER_STATE_NEUTRAL = 2, + ENCOUNTER_STATE_PRE_BATTLE = 3, + ENCOUNTER_STATE_CONVERSATION = 4, + ENCOUNTER_STATE_POST_BATTLE = 5, +}; + +enum EncounterCreateSubStates { + ENCOUNTER_SUBSTATE_CREATE_INIT = 0, + ENCOUNTER_SUBSTATE_CREATE_RUN_INIT_SCRIPT = 1, + ENCOUNTER_SUBSTATE_CREATE_RUN_AI = 2, +}; + +enum EncounterNeutralSubStates { + ENCOUNTER_SUBSTATE_NEUTRAL = 0, +}; + +enum EncounterPreBattleSubStates { + ENCOUNTER_SUBSTATE_PRE_BATTLE_INIT = 0, + ENCOUNTER_SUBSTATE_PRE_BATTLE_LOAD_BATTLE = 1, + ENCOUNTER_SUBSTATE_PRE_BATTLE_AUTO_WIN = 2, + ENCOUNTER_SUBSTATE_PRE_BATTLE_3 = 3, +}; + +enum EncounterConversationSubStates { + ENCOUNTER_SUBSTATE_CONVERSATION_INIT = 0, + ENCOUNTER_SUBSTATE_CONVERSATION_END = 1, +}; + +enum EncounterPostBattleSubStates { + ENCOUNTER_SUBSTATE_POST_BATTLE_INIT = 0, + ENCOUNTER_SUBSTATE_POST_BATTLE_WON_WAIT = 2, + ENCOUNTER_SUBSTATE_POST_BATTLE_WON_KILL = 3, + ENCOUNTER_SUBSTATE_POST_BATTLE_WON_TO_NEUTRAL = 4, + ENCOUNTER_SUBSTATE_POST_BATTLE_WON_CHECK_MERLEE_BONUS = 10, + ENCOUNTER_SUBSTATE_POST_BATTLE_PLAY_NPC_DEFEAT = 11, + ENCOUNTER_SUBSTATE_POST_BATTLE_FLED_INIT = 100, + ENCOUNTER_SUBSTATE_POST_BATTLE_FLED_WAIT = 101, + ENCOUNTER_SUBSTATE_POST_BATTLE_102 = 102, + ENCOUNTER_SUBSTATE_POST_BATTLE_103 = 103, + ENCOUNTER_SUBSTATE_POST_BATTLE_LOST_INIT = 200, + ENCOUNTER_SUBSTATE_POST_BATTLE_LOST_WAIT = 201, + ENCOUNTER_SUBSTATE_POST_BATTLE_202 = 202, + ENCOUNTER_SUBSTATE_POST_BATTLE_LOST_TO_NEUTRAL = 203, + ENCOUNTER_SUBSTATE_POST_BATTLE_300 = 300, + ENCOUNTER_SUBSTATE_POST_BATTLE_ENEMY_FLED_INIT = 400, + ENCOUNTER_SUBSTATE_POST_BATTLE_ENEMY_FLED_WAIT = 401, + ENCOUNTER_SUBSTATE_POST_BATTLE_ENEMY_FLED_TO_NEUTRAL = 402, +}; + #endif diff --git a/include/evt.h b/include/evt.h index d9d34eaef2..d7784c5004 100644 --- a/include/evt.h +++ b/include/evt.h @@ -140,10 +140,12 @@ enum EventPriority { }; enum EventStateFlags { - EVT_FLAG_01 = 0x01, - EVT_FLAG_10 = 0x10, // has child? - EVT_FLAG_20 = 0x20, // add to global script list - EVT_FLAG_40 = 0x40, // thread? + EVT_FLAG_ACTIVE = 0x01, + EVT_FLAG_SUSPENDED_IN_GROUP = 0x02, + EVT_FLAG_BLOCKED_BY_CHILD = 0x10, + EVT_FLAG_RUN_IMMEDIATELY = 0x20, ///< don't wait for next `update_scripts` call + EVT_FLAG_THREAD = 0x40, + EVT_FLAG_SUSPENDED = 0x80, ///< doesn't affect child }; #endif diff --git a/include/npc.h b/include/npc.h index 8ec20f6197..0e54f62f9a 100644 --- a/include/npc.h +++ b/include/npc.h @@ -138,8 +138,7 @@ typedef struct NpcSettings { /* 0x18 */ EvtScript* aux; /* 0x1C */ EvtScript* onDefeat; /* 0x20 */ s32 flags; - /* 0x24 */ char unk_24[3]; - /* 0x24 */ s8 unk_27; + /* 0x24 */ s32 unk_24; /* 0x28 */ s16 level; /* 0x2A */ s16 actionFlags; // action flags: 1 = jump on seeing player } NpcSettings; // size = 0x2C @@ -268,12 +267,14 @@ typedef struct StaticNpc { } StaticNpc; // size = 0x1F0 /// Zero-terminated. -typedef struct { +typedef struct NpcGroup { /* 0x00 */ s32 npcCount; /* 0x04 */ StaticNpc* npcs; /* 0x08 */ s16 battle; /* 0x0A */ s16 stage; -} NpcGroupList[]; // size = 0x0C +} NpcGroup; // size = 0x0C + +typedef NpcGroup NpcGroupList[]; // function signature used for state handlers in AI main functions typedef void AIStateHandler(Evt* script, MobileAISettings* settings, EnemyDetectVolume* territory); @@ -358,7 +359,7 @@ typedef struct EncounterStatus { /* 0x00E */ s16 coinsEarned; /* valid after battle */ /* 0x010 */ char unk_10; /* 0x011 */ s8 allowFleeing; - /* 0x012 */ s8 unk_12; + /* 0x012 */ s8 scriptedBattle; ///< battle started by StartBattle but not by encounter /* 0x013 */ s8 dropWhackaBump; /* 0x014 */ s32 songID; /* 0x018 */ s32 unk_18; @@ -380,7 +381,15 @@ typedef struct EncounterStatus { /* 0x0A0 */ s8 dizzyAttackStatus; /* 0x0A1 */ char unk_A1[0x1]; /* 0x0A2 */ s16 dizzyAttackDuration; - /* 0x0A4 */ char unk_A4[0xC]; + /* 0x0A4 */ s8 unk_A4; + /* 0x0A5 */ char unk_A5[0x1]; + /* 0x0A6 */ s16 unk_A6; + /* 0x0A8 */ s8 unk_A8; + /* 0x0A9 */ char unk_A9[0x1]; + /* 0x0AA */ s16 unk_AA; + /* 0x0AC */ s8 unk_AC; + /* 0x0AD */ char unk_AD[0x1]; + /* 0x0AE */ s16 unk_AE; /* 0x0B0 */ s32 defeatFlags[60][12]; /* 0xFB0 */ s16 recentMaps[2]; /* 0xFB4 */ char unk_FB4[4]; diff --git a/include/variables.h b/include/variables.h index 60f8628bf3..2a0abe06a4 100644 --- a/include/variables.h +++ b/include/variables.h @@ -117,7 +117,7 @@ extern Window gWindows[64]; extern s32 D_802A3838; -extern s32 gGameState; +extern s32 gEncounterState; extern s16 gNpcCount; extern s32 gOverrideFlags; extern s16 D_8009A6A0; @@ -173,7 +173,7 @@ extern Vec3s btl_actorHomePositions[]; extern SaveData gCurrentSaveFile; -extern s32 D_8009A5D0; +extern s32 gEncounterSubState; extern s32 timeFreezeMode; extern s32 D_8009A678; diff --git a/src/16F740.c b/src/16F740.c index a3db641d3a..7311e3c802 100644 --- a/src/16F740.c +++ b/src/16F740.c @@ -1356,7 +1356,7 @@ block_52: return; } - btl_cam_use_preset(2); + btl_cam_use_preset(BTL_CAM_PRESET_C); if (partner == NULL || !(gBattleStatus.flags1 & BS_FLAGS1_100000)) { gBattleState2 = 4; } else if (gBattleStatus.flags2 & 0x40) { @@ -1998,7 +1998,7 @@ void btl_state_update_end_training_battle(void) { if (playerData->trainingsDone < 9999) { playerData->trainingsDone++; } - encounterStatus->battleOutcome = 3; + encounterStatus->battleOutcome = OUTCOME_ENEMY_FLED; if (!(gBattleStatus.flags2 & BS_FLAGS2_2000000)) { bgm_set_song(0, -1, 0, 1500, 8); } @@ -2024,7 +2024,7 @@ void btl_state_update_end_battle(void) { if (gGameStatusPtr->debugEnemyContact == 2) { D_80280A30 = 255; } - if (encounterStatus->battleOutcome == 1 && !(gBattleStatus.flags1 & BS_FLAGS1_800000)) { + if (encounterStatus->battleOutcome == OUTCOME_PLAYER_LOST && !(gBattleStatus.flags1 & BS_FLAGS1_800000)) { btl_cam_unfreeze(); btl_cam_use_preset(BTL_CAM_PRESET_B); set_screen_overlay_color(0, 0, 0, 0); @@ -2123,7 +2123,7 @@ void btl_state_update_end_battle(void) { void btl_state_draw_end_battle(void) { Camera* camera = &gCameras[gCurrentCameraID]; - if (gCurrentEncounter.battleOutcome == 1 && !(gBattleStatus.flags1 & BS_FLAGS1_800000)) { + if (gCurrentEncounter.battleOutcome == OUTCOME_PLAYER_LOST && !(gBattleStatus.flags1 & BS_FLAGS1_800000)) { camera->auxBoomZOffset += 0x100; set_screen_overlay_params_front(7, D_80280A30); } else { @@ -2223,7 +2223,7 @@ void btl_state_update_run_away(void) { if (!(gBattleStatus.flags1 & BS_FLAGS1_ENEMY_FLED)) { gBattleState2 = BATTLE_STATE2_UNK_3; } else { - currentEncounter->battleOutcome = 2; + currentEncounter->battleOutcome = OUTCOME_PLAYER_FLED; if (is_ability_active(ABILITY_RUNAWAY_PAY) == 0) { gBattleState2 = BATTLE_STATE2_UNK_B; } else { @@ -2888,7 +2888,6 @@ void btl_state_update_end_player_turn(void) { BattleStatus* battleStatus = &gBattleStatus; Actor* player = battleStatus->playerActor; Actor* partner = battleStatus->partnerActor; - s32 prevHPDrainCount; Evt* script; if (gBattleState2 == BATTLE_STATE2_UNK_0) { @@ -2927,7 +2926,7 @@ void btl_state_update_end_player_turn(void) { gBattleState2 = BATTLE_STATE2_BEGIN_LEVEL_UP; } else { battleStatus->battlePhase = PHASE_PLAYER_HAPPY; - script = start_script(&PlayerScriptDispatcher, 0xA, 0); + script = start_script(&PlayerScriptDispatcher, EVT_PRIORITY_A, 0); player->takeTurnScript = script; player->takeTurnID = script->id; script->owner1.actorID = ACTOR_PLAYER; @@ -2979,9 +2978,9 @@ void btl_state_update_end_player_turn(void) { partner->currentPos.x += (player->state.currentPos.x - partner->currentPos.x) / player->state.moveTime; partner->currentPos.z += (player->state.currentPos.z - partner->currentPos.z) / player->state.moveTime; } - player->currentPos.z += sin_rad(DEG_TO_RAD(player->state.angle)) * 16.0f; + player->currentPos.z += sin_rad((player->state.angle * TAU) / 360.0f) * 16.0f; player->yaw = clamp_angle(-player->state.angle); - partner->currentPos.z -= sin_rad(DEG_TO_RAD(player->state.angle)) * 16.0f; + partner->currentPos.z -= sin_rad((player->state.angle * TAU) / 360.0f) * 16.0f; partner->yaw = clamp_angle(-player->state.angle); player->state.angle += 90.0f; @@ -3720,19 +3719,19 @@ void btl_state_update_first_strike(void) { } switch (encounterStatus->hitType) { - case 2: + case ENCOUNTER_TRIGGER_JUMP: battleStatus->moveCategory = 0; battleStatus->selectedMoveID = MOVE_UNUSED_JUMP4; battleStatus->selectedItemID = encounterStatus->hitTier; battleStatus->currentTargetListFlags = gMoveTable[MOVE_UNUSED_JUMP4].flags; break; - case 4: + case ENCOUNTER_TRIGGER_HAMMER: battleStatus->moveCategory = 1; battleStatus->selectedMoveID = MOVE_UNUSED_HAMMER4; battleStatus->selectedItemID = encounterStatus->hitTier; battleStatus->currentTargetListFlags = gMoveTable[MOVE_UNUSED_HAMMER4].flags; break; - case 6: + case ENCOUNTER_TRIGGER_PARTNER: btl_set_state(BATTLE_STATE_PARTNER_FIRST_STRIKE); return; } @@ -3740,7 +3739,7 @@ void btl_state_update_first_strike(void) { enemy = get_actor(ACTOR_ENEMY0); if (enemy->onHitScriptSource != NULL) { enemy->lastEventType = EVENT_BEGIN_FIRST_STRIKE; - script = start_script(enemy->onHitScriptSource, 0xA, 0x20); + script = start_script(enemy->onHitScriptSource, 0xA, EVT_FLAG_RUN_IMMEDIATELY); enemy->onHitScript = script; enemy->onHitID = script->id; script->owner1.actorID = enemy->actorID; @@ -3843,7 +3842,7 @@ void btl_state_update_first_strike(void) { if (target != NULL) { if (target->onHitScriptSource != NULL) { target->lastEventType = EVENT_END_FIRST_STRIKE; - script = start_script(target->onHitScriptSource, 0xA, 0x20); + script = start_script(target->onHitScriptSource, 0xA, EVT_FLAG_RUN_IMMEDIATELY); target->onHitScript = script; target->onHitID = script->id; script->owner1.actorID = target->actorID; @@ -3931,7 +3930,7 @@ void btl_state_update_partner_striking_first(void) { actor = get_actor(ACTOR_ENEMY0); if (actor->onHitScriptSource != NULL) { actor->lastEventType = EVENT_BEGIN_FIRST_STRIKE; - script = start_script(actor->onHitScriptSource, EVT_PRIORITY_A, EVT_FLAG_20); + script = start_script(actor->onHitScriptSource, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY); actor->onHitScript = script; actor->onHitID = script->id; script->owner1.actorID = actor->actorID; @@ -4014,7 +4013,7 @@ void btl_state_update_partner_striking_first(void) { if (actor != NULL) { if (actor->onHitScriptSource != NULL) { actor->lastEventType = EVENT_END_FIRST_STRIKE; - script = start_script(actor->onHitScriptSource, EVT_PRIORITY_A, EVT_FLAG_20); + script = start_script(actor->onHitScriptSource, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY); actor->onHitScript = script; actor->onHitID = script->id; script->owner1.actorID = actor->actorID; diff --git a/src/181810.c b/src/181810.c index 9ecbac494d..518a2d6423 100644 --- a/src/181810.c +++ b/src/181810.c @@ -445,7 +445,7 @@ INCLUDE_ASM(s32, "181810", save_tattle_flags); INCLUDE_ASM(s32, "181810", load_tattle_flags); ApiStatus func_80253FB0(Evt* script, s32 isInitialCall) { - gCurrentEncounter.battleOutcome = 3; + gCurrentEncounter.battleOutcome = OUTCOME_ENEMY_FLED; btl_set_state(BATTLE_STATE_END_BATTLE); return ApiStatus_DONE2; diff --git a/src/190B20.c b/src/190B20.c index a32a591023..665e4db55f 100644 --- a/src/190B20.c +++ b/src/190B20.c @@ -2768,29 +2768,29 @@ void start_rumble_type(u32 arg0) { case 0: break; case 1: - D_802939C0 = start_script(&D_802939C4, EVT_PRIORITY_A, EVT_FLAG_20)->id; + D_802939C0 = start_script(&D_802939C4, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id; break; case 2: - D_802939C0 = start_script(&D_80293A10, EVT_PRIORITY_A, EVT_FLAG_20)->id; + D_802939C0 = start_script(&D_80293A10, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id; break; case 3: - D_802939C0 = start_script(&D_80293A34, EVT_PRIORITY_A, EVT_FLAG_20)->id; + D_802939C0 = start_script(&D_80293A34, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id; break; case 4: - D_802939C0 = start_script(&D_80293A58, EVT_PRIORITY_A, EVT_FLAG_20)->id; + D_802939C0 = start_script(&D_80293A58, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id; break; case 5: - D_802939C0 = start_script(&D_80293A7C, EVT_PRIORITY_A, EVT_FLAG_20)->id; + D_802939C0 = start_script(&D_80293A7C, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id; break; case 6: - D_802939C0 = start_script(&D_80293AA0, EVT_PRIORITY_A, EVT_FLAG_20)->id; + D_802939C0 = start_script(&D_80293AA0, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id; break; case 7: case 8: case 9: case 10: case 11: - D_802939C0 = start_script(&D_80293AC4, EVT_PRIORITY_A, EVT_FLAG_20)->id; + D_802939C0 = start_script(&D_80293AC4, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id; break; } } diff --git a/src/19FAF0.c b/src/19FAF0.c index a736c139f2..5e197447ac 100644 --- a/src/19FAF0.c +++ b/src/19FAF0.c @@ -139,7 +139,7 @@ void dispatch_event_player(s32 eventType) { oldOnHitScript = player->onHitScript; oldOnHitID = player->onHitID; - eventScript = start_script(&HandleEvent_Player, EVT_PRIORITY_A, EVT_FLAG_20); + eventScript = start_script(&HandleEvent_Player, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY); player->onHitScript = eventScript; player->onHitID = eventScript->id; eventScript->owner1.actor = NULL; @@ -165,7 +165,7 @@ void dispatch_event_player_continue_turn(s32 eventType) { oldOnHitScript = player->onHitScript; oldOnHitID = player->onHitID; - eventScript = start_script(&HandleEvent_Player, EVT_PRIORITY_A, EVT_FLAG_20); + eventScript = start_script(&HandleEvent_Player, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY); player->onHitScript = eventScript; player->onHitID = eventScript->id; eventScript->owner1.actor = NULL; diff --git a/src/1A5830.c b/src/1A5830.c index fe662a9086..6a40be0502 100644 --- a/src/1A5830.c +++ b/src/1A5830.c @@ -110,7 +110,7 @@ void dispatch_event_actor(Actor* actor, s32 event) { Evt* newScript; actor->lastEventType = event; - newScript = start_script(actor->onHitScriptSource, EVT_PRIORITY_A, EVT_FLAG_20); + newScript = start_script(actor->onHitScriptSource, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY); actor->onHitScript = newScript; actor->onHitID = newScript->id; newScript->owner1.actorID = actor->actorID; diff --git a/src/1AC760.c b/src/1AC760.c index 814867a494..e57b0cdde4 100644 --- a/src/1AC760.c +++ b/src/1AC760.c @@ -14,7 +14,7 @@ void dispatch_event_partner(s32 lastEventType) { Evt* script; partnerActor->lastEventType = lastEventType; - script = start_script(partnerActor->onHitScriptSource, EVT_PRIORITY_A, EVT_FLAG_20); + script = start_script(partnerActor->onHitScriptSource, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY); partnerActor->onHitScript = script; partnerActor->onHitID = script->id; script->owner1.actorID = ACTOR_PARTNER; @@ -37,7 +37,7 @@ void dispatch_event_partner_continue_turn(s8 lastEventType) { Evt* script; partnerActor->lastEventType = lastEventType; - script = start_script(partnerActor->onHitScriptSource, EVT_PRIORITY_A, EVT_FLAG_20); + script = start_script(partnerActor->onHitScriptSource, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY); partnerActor->onHitScript = script; partnerActor->onHitID = script->id; script->owner1.actorID = ACTOR_PARTNER; diff --git a/src/1a1f0_len_5390.c b/src/1a1f0_len_5390.c deleted file mode 100644 index f1ffbe2d09..0000000000 --- a/src/1a1f0_len_5390.c +++ /dev/null @@ -1,999 +0,0 @@ -#include "common.h" -#include "battle/battle.h" -#include "script_api/battle.h" -#include "npc.h" -#include "effects.h" -#include "hud_element.h" -#include "world/partners.h" -#include "sprite.h" -#include "sprite/npc/BattleMerlee.h" - -ApiStatus ShowMerleeCoinMessage(Evt* script, s32 isInitialCall); -ApiStatus ShowMerleeRanOutMessage(Evt* script, s32 isInitialCall); -ApiStatus FadeInMerlee(Evt* script, s32 isInitialCall); -ApiStatus FadeOutMerlee(Evt* script, s32 isInitialCall); -ApiStatus MerleeUpdateFX(Evt* script, s32 isInitialCall); -ApiStatus MerleeStopFX(Evt* script, s32 isInitialCall); -ApiStatus PlayMerleeGatherFX(Evt* script, s32 isInitialCall); -ApiStatus PlayMerleeOrbFX(Evt* script, s32 isInitialCall); - -s32 D_80077C40 = 0; - -EvtScript D_80077C44 = { - EVT_WAIT(10) - EVT_CALL(FadeBackgroundToBlack) - EVT_WAIT(10) - EVT_CALL(CreateNpc, NPC_BTL_MERLEE, ANIM_BattleMerlee_Gather) - EVT_CALL(SetNpcFlagBits, NPC_BTL_MERLEE, NPC_FLAG_100, TRUE) - EVT_CALL(SetNpcYaw, NPC_BTL_MERLEE, 0) - EVT_CALL(GetCamLookAtObjVector) - EVT_CALL(SetNpcPos, NPC_BTL_MERLEE, LVar0, LVar1, LVar2) - EVT_THREAD - EVT_CALL(MerleeUpdateFX) - EVT_END_THREAD - EVT_CALL(FadeInMerlee) - EVT_WAIT(30) - EVT_CALL(SetNpcAnimation, NPC_BTL_MERLEE, ANIM_BattleMerlee_Release) - EVT_CALL(MerleeStopFX) - EVT_CALL(UnfadeBackgroundFromBlack) - EVT_WAIT(20) - EVT_THREAD - EVT_CALL(FadeOutMerlee) - EVT_CALL(DeleteNpc, NPC_BTL_MERLEE) - EVT_END_THREAD - EVT_CALL(PlaySound, SOUND_2075) - EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) - EVT_CALL(PlayMerleeGatherFX, LVar0, LVar1, LVar2) - EVT_CALL(PlayMerleeOrbFX, LVar0, LVar1, LVar2) - EVT_WAIT(15) - EVT_CALL(ShowMerleeCoinMessage) - EVT_WAIT(15) - EVT_CALL(HasMerleeCasts) - EVT_IF_EQ(LVar0, 1) - EVT_RETURN - EVT_END_IF - EVT_CALL(ShowMerleeRanOutMessage) - EVT_WAIT(15) - EVT_RETURN - EVT_END -}; - -EvtScript SCRIPT_NpcDefeat = { - EVT_CALL(GetBattleOutcome, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) - EVT_CALL(OnDefeatEnemy) - EVT_CASE_EQ(1) - EVT_CASE_EQ(2) - EVT_END_SWITCH - EVT_RETURN - EVT_END -}; - -EvtScript D_80077E9C = { - EVT_CALL(OnFleeBattleDrops) - EVT_RETURN - EVT_END -}; - -EnemyDrops D_80077EB8 = { - .dropFlags = NPC_DROP_FLAGS_80, - .itemDropChance = 10, - .itemDrops = { - { - .item = ITEM_MUSHROOM, - .weight = 50, - .unk_04 = -1, - }, - }, - .heartDrops = { - { - .cutoff = F16(75), - .generalChance = F16(100), - .attempts = 0, - .chancePerAttempt = 1, - }, - { - .cutoff = F16(50), - .generalChance = F16(75), - .attempts = 0, - .chancePerAttempt = 2, - }, - { - .cutoff = F16(25), - .generalChance = F16(50), - .attempts = 0, - .chancePerAttempt = 3, - }, - { - .cutoff = F16(0), - .generalChance = F16(25), - .attempts = 0, - .chancePerAttempt = 4, - }, - }, - .flowerDrops = { - { - .cutoff = 1, - .generalChance = 3, - .attempts = 0, - .chancePerAttempt = 0, - }, - }, - .minCoinBonus = 0, - .maxCoinBonus = 0, -}; - -EvtScript EnemyNpcHit = { - EVT_CALL(GetOwnerEncounterTrigger, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_EQ(ENCOUNTER_TRIGGER_NONE) - EVT_CASE_OR_EQ(ENCOUNTER_TRIGGER_JUMP) - EVT_CASE_OR_EQ(ENCOUNTER_TRIGGER_HAMMER) - EVT_CASE_OR_EQ(ENCOUNTER_TRIGGER_PARTNER) - EVT_CALL(GetSelfAnimationFromTable, ENEMY_ANIM_INDEX_HIT, LVar0) - EVT_EXEC_WAIT(EVS_NpcHitRecoil) - EVT_CASE_EQ(ENCOUNTER_TRIGGER_SPIN) - EVT_THREAD - EVT_CALL(func_800458CC, LVar0) - EVT_IF_EQ(LVar0, 0) - EVT_SET(LVarA, 0) - EVT_LOOP(30) - EVT_ADD(LVarA, 40) - EVT_CALL(SetNpcRotation, NPC_SELF, 0, LVarA, 0) - EVT_WAIT(1) - EVT_END_LOOP - EVT_END_IF - EVT_END_THREAD - EVT_END_CASE_GROUP - EVT_END_SWITCH - EVT_RETURN - EVT_END -}; - -EvtScript EnemyNpcDefeat = { - EVT_CALL(SetNpcRotation, NPC_SELF, 0, 0, 0) - EVT_CALL(GetBattleOutcome, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_EQ(OUTCOME_PLAYER_WON) - EVT_CALL(DoNpcDefeat) - EVT_CASE_EQ(OUTCOME_PLAYER_FLED) - EVT_CALL(OnPlayerFled, 0) - EVT_CASE_EQ(OUTCOME_ENEMY_FLED) - EVT_CALL(SetEnemyFlagBits, -1, ENEMY_FLAGS_10, 1) - EVT_CALL(RemoveNpc, NPC_SELF) - EVT_END_SWITCH - EVT_RETURN - EVT_END -}; - -extern s8 D_8009A654; -extern s16 D_8009A668; -extern s32 D_800A0BA0; -extern f32 D_800A0BA4; -extern EffectInstance* WorldMerleeOrbEffect; -extern EffectInstance* WorldMerleeWaveEffect; - -void set_battle_formation(Battle*); - -s32 get_defeated(s32 mapID, s32 encounterID) { - EncounterStatus* currentEncounter = &gCurrentEncounter; - s32 encounterIdx = encounterID / 32; - s32 encounterShift = encounterID % 32; - - return currentEncounter->defeatFlags[mapID][encounterIdx] & (1 << encounterShift); -} - -void set_defeated(s32 mapID, s32 encounterID) { - EncounterStatus* currentEncounter = &gCurrentEncounter; - s32 encounterIdx = encounterID / 32; - s32 encounterShift; - s32 flag; - - flag = encounterID % 32; - encounterShift = flag; - flag = currentEncounter->defeatFlags[mapID][encounterIdx]; - currentEncounter->defeatFlags[mapID][encounterIdx] = flag | (1 << encounterShift); - - // TODO: The below should work but has regalloc issues: - /*EncounterStatus *currentEncounter = &gCurrentEncounter; - s32 encounterIdx = encounterID / 32; - s32 encounterShift = encounterID % 32; - - currentEncounter->defeatFlags[mapID][encounterIdx] |= (1 << encounterShift);*/ -} - -ApiStatus ShowMerleeCoinMessage(Evt* script, s32 isInitialCall) { - if (isInitialCall) { - show_merlee_message(0, 60); - } - - if (is_merlee_message_done()) { - return ApiStatus_BLOCK; - } else { - return ApiStatus_DONE2; - } -} - -ApiStatus ShowMerleeRanOutMessage(Evt* script, s32 isInitialCall) { - if (isInitialCall) { - show_merlee_message(1, 60); - } - - if (is_merlee_message_done()) { - return ApiStatus_BLOCK; - } else { - return ApiStatus_DONE2; - } -} - -ApiStatus FadeBackgroundToBlack(Evt* script, s32 isInitialCall) { - if (isInitialCall) { - mdl_set_all_fog_mode(1); - *gBgRenderTypePtr = BACKGROUND_RENDER_TYPE_1; - set_background_color_blend(0, 0, 0, 0); - script->functionTemp[0] = 25; - } - - set_background_color_blend(0, 0, 0, ((25 - script->functionTemp[0]) * 10) & 254); - script->functionTemp[0]--; - - if (script->functionTemp[0] == 0) { - return ApiStatus_DONE2; - } else { - return ApiStatus_BLOCK; - } -} - -ApiStatus UnfadeBackgroundFromBlack(Evt* script, s32 isInitialCall) { - if (isInitialCall) { - script->functionTemp[0] = 25; - } - - set_background_color_blend(0, 0, 0, (script->functionTemp[0] * 10) & 0xFE); - script->functionTemp[0] -= 5; - - if (script->functionTemp[0] == 0) { - set_background_color_blend(0, 0, 0, 0); - return ApiStatus_DONE2; - } else { - return ApiStatus_BLOCK; - } -} - -ApiStatus FadeInMerlee(Evt* script, s32 isInitialCall) { - Npc* npc = get_npc_unsafe(NPC_BTL_MERLEE); - - if (isInitialCall) { - sfx_play_sound(SOUND_24B); - npc->alpha = 0; - } - - npc->alpha += 17; - - if ((u32)(npc->alpha & 0xFF) >= 0xFF) { - npc->alpha = 0xFF; - return ApiStatus_DONE1; - } else { - return ApiStatus_BLOCK; - } -} - -ApiStatus FadeOutMerlee(Evt* script, s32 isInitialCall) { - Npc* npc = get_npc_unsafe(NPC_BTL_MERLEE); - - npc->alpha -= 17; - if (npc->alpha == 0) { - npc->alpha = 0; - return ApiStatus_DONE1; - } else { - return ApiStatus_BLOCK; - } -} - -// same as BattleMerleeUpdateFX aside from syms -ApiStatus MerleeUpdateFX(Evt* script, s32 isInitialCall) { - Npc* merlee = get_npc_unsafe(NPC_BTL_MERLEE); - EnergyOrbWaveFXData* effectData; - - if (isInitialCall) { - script->functionTemp[1] = 0; - D_800A0BA4 = merlee->pos.y; - WorldMerleeOrbEffect = fx_energy_orb_wave(0, merlee->pos.x, merlee->pos.y, merlee->pos.z, 0.4f, 0); - WorldMerleeWaveEffect = fx_energy_orb_wave(3, merlee->pos.x, merlee->pos.y, merlee->pos.z, 0.00001f, 0); - D_800A0BB8 = 0; - D_800A0BA0 = 12; - sfx_play_sound(SOUND_2074); - } - - merlee->pos.y = D_800A0BA4 + sin_rad(DEG_TO_RAD(script->functionTemp[1])) * 3.0f; - - script->functionTemp[1] += 10; - script->functionTemp[1] = clamp_angle(script->functionTemp[1]); - - effectData = WorldMerleeOrbEffect->data.energyOrbWave; - effectData->pos.x = merlee->pos.x; - effectData->pos.y = merlee->pos.y + 16.0f; - effectData->pos.z = merlee->pos.z; - - effectData = WorldMerleeWaveEffect->data.energyOrbWave; - effectData->pos.x = merlee->pos.x; - effectData->pos.y = merlee->pos.y + 16.0f; - effectData->pos.z = merlee->pos.z + 5.0f; - - if (D_800A0BB8 == 2) { - WorldMerleeOrbEffect->data.energyOrbWave->scale = 0.00001f; - WorldMerleeWaveEffect->data.energyOrbWave->scale = 0.00001f; - WorldMerleeOrbEffect->flags |= EFFECT_INSTANCE_FLAGS_10; - WorldMerleeWaveEffect->flags |= EFFECT_INSTANCE_FLAGS_10; - return ApiStatus_DONE1; - } - - if (D_800A0BB8 == 1) { - effectData = WorldMerleeOrbEffect->data.energyOrbWave; - effectData->scale += 0.35; - if (effectData->scale > 3.5) { - effectData->scale = 3.5f; - } - - if (D_800A0BA0 != 0) { - D_800A0BA0--; - } else { - effectData = WorldMerleeWaveEffect->data.energyOrbWave; - effectData->scale += 0.5; - if (effectData->scale > 5.0) { - D_800A0BB8 = 2; - } - } - } - return ApiStatus_BLOCK; -} - -ApiStatus MerleeStopFX(Evt* script, s32 isInitialCall) { - D_800A0BB8 = 1; - return ApiStatus_DONE2; -} - -ApiStatus GetCamLookAtObjVector(Evt* script, s32 isInitialCall) { - script->varTable[0] = gCameras[gCurrentCameraID].lookAt_obj.x; - script->varTable[1] = gCameras[gCurrentCameraID].lookAt_obj.y; - script->varTable[2] = gCameras[gCurrentCameraID].lookAt_obj.z; - - return ApiStatus_DONE2; -} - -ApiStatus HasMerleeCasts(Evt* script, s32 isInitialCall) { - script->varTable[0] = FALSE; - if (gPlayerData.merleeCastsLeft > 0) { - script->varTable[0] = TRUE; - } - - return ApiStatus_DONE2; -} - -ApiStatus PlayMerleeGatherFX(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 var0 = evt_get_variable(script, *args++); - s32 var1 = evt_get_variable(script, *args++); - s32 var2 = evt_get_variable(script, *args++); - - fx_energy_in_out(6, var0, var1, var2, 1.2f, 30); - return ApiStatus_DONE2; -} - -ApiStatus PlayMerleeOrbFX(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 var0 = evt_get_variable(script, *args++); - s32 var1 = evt_get_variable(script, *args++); - s32 var2 = evt_get_variable(script, *args++); - - fx_energy_orb_wave(9, var0, var1, var2, 5.0f, 15); - return ApiStatus_DONE2; -} - -ApiStatus OnDefeatEnemy(Evt* script, s32 isInitialCall) { - Enemy* enemy = script->owner1.enemy; - Npc* npc = get_npc_unsafe(enemy->npcID); - s32 temp1; - - if (isInitialCall) { - script->functionTemp[0] = 0; - script->functionTemp[1] = 20; - } - - if (script->functionTemp[1] & 1) { - npc->flags &= ~NPC_FLAG_2; - } else { - npc->flags |= NPC_FLAG_2; - } - - if (script->functionTemp[1] == 15) { - sfx_play_sound(SOUND_DEATH); - fx_damage_stars(1, npc->pos.x, npc->pos.y + (npc->collisionHeight / 2), npc->pos.z, 0, -1.0f, 0, 10); - } - - temp1 = script->functionTemp[1]; - if (script->functionTemp[1] == 10) { - fx_big_smoke_puff(npc->pos.x, npc->pos.y + 10.0f, npc->pos.z + 10.0f); - if (script->functionTemp[1] == temp1) { // what? (never can be false, seemingly) - spawn_drops(enemy); - } - } - - script->functionTemp[1]--; - if (script->functionTemp[1] == 0) { - npc->flags |= NPC_FLAG_2; - return ApiStatus_DONE1; - } - - return ApiStatus_BLOCK; -} - -ApiStatus OnFleeBattleDrops(Evt* script, s32 isInitialCall) { - PlayerStatus* playerStatus = &gPlayerStatus; - PlayerData* playerData = &gPlayerData; - - if (isInitialCall) { - script->functionTemp[0] = 0; - script->functionTemp[1] = 40; - script->functionTemp[2] = 0; - } - - script->functionTemp[2]++; - if (script->functionTemp[2] >= 5) { - if (rand_int(100) < 50) { - if (playerData->coins != 0) { - playerData->coins--; - make_item_entity_delayed(ITEM_COIN, playerStatus->position.x, playerStatus->position.y + playerStatus->colliderHeight, - playerStatus->position.z, 3, 0, 0); - } - } - script->functionTemp[2] = 0; - } - - return --script->functionTemp[1] == 0; -} - -/// Default/neutral state during world gameplay; checks for player-enemy collisions and initiates battles when they occur. -INCLUDE_ASM(s32, "1a1f0_len_5390", update_encounters_neutral); - -void draw_encounters_neutral(void) { -} - -void update_encounters_pre_battle(void) { - EncounterStatus* currentEncounter = &gCurrentEncounter; - PlayerData* playerData = &gPlayerData; - Encounter* encounter; - Enemy* enemy; - s32 i; - s32 j; - - switch (D_8009A5D0) { - case 0: - currentEncounter->fadeOutAmount = 0; - currentEncounter->unk_94 = 1; - currentEncounter->fadeOutAccel = 1; - currentEncounter->unk_08 = -1; - D_8009A654 = 0; - D_80077C40 = 0; - suspend_all_group(0x10); - - for (i = 0; i < currentEncounter->numEncounters; i++) { - encounter = currentEncounter->encounterList[i]; - - if (encounter != NULL) { - for (j = 0; j < encounter->count; j++) { - enemy = encounter->enemy[j]; - if (enemy != NULL && !(enemy->flags & NPC_FLAG_NO_AI)) { - if (enemy->aiScript != NULL) { - suspend_all_script(enemy->aiScriptID); - } - if (enemy->auxScript != NULL) { - suspend_all_script(enemy->auxScriptID); - } - } - } - } - } - - enemy = currentEncounter->currentEnemy; - if ((enemy->flags & NPC_FLAG_MOTION_BLUR) && currentEncounter->unk_12 == 0) { - currentEncounter->unk_94 = 0; - currentEncounter->battleStartCountdown = 0; - partner_handle_before_battle(); - D_8009A5D0 = 3; - return; - } - - if (gGameStatusPtr->debugEnemyContact == 2) { - currentEncounter->unk_94 = 0; - currentEncounter->battleStartCountdown = 10; - partner_handle_before_battle(); - D_8009A5D0 = 2; - return; - } - - enemy = currentEncounter->currentEnemy; - if (currentEncounter->hitType != 1 && - currentEncounter->hitType != 3 && - is_ability_active(ABILITY_FIRST_ATTACK) && - (playerData->level >= enemy->npcSettings->level) && - !(enemy->flags & ENEMY_FLAGS_40) && - currentEncounter->unk_12 == 0) - { - currentEncounter->unk_94 = 0; - currentEncounter->battleStartCountdown = 0xA; - D_80077C40 = 1; - D_8009A5D0 = 2; - return; - } - - enemy = currentEncounter->currentEnemy; - if (( - (is_ability_active(ABILITY_BUMP_ATTACK)) && - (playerData->level >= enemy->npcSettings->level) && - (!(enemy->flags & ENEMY_FLAGS_40) && - (currentEncounter->unk_12 == 0)) - ) || ( - (enemy = currentEncounter->currentEnemy, - (currentEncounter->hitType == 3)) && - (is_ability_active(ABILITY_SPIN_ATTACK)) && - playerData->level >= enemy->npcSettings->level && - !(enemy->flags & ENEMY_FLAGS_40) && - currentEncounter->unk_12 == 0 - )) - { - currentEncounter->battleStartCountdown = 10; - D_80077C40 = 1; - currentEncounter->unk_94 = 0; - D_8009A5D0 = 2; - return; - } - - if (currentEncounter->songID < 0) { - switch (currentEncounter->firstStrikeType) { - case 0: - bgm_set_battle_song(SONG_NORMAL_BATTLE, FIRST_STRIKE_NONE); - break; - case 1: - bgm_set_battle_song(SONG_NORMAL_BATTLE, FIRST_STRIKE_PLAYER); - break; - case 2: - bgm_set_battle_song(SONG_NORMAL_BATTLE, FIRST_STRIKE_ENEMY); - break; - } - } else { - bgm_set_battle_song(currentEncounter->songID, FIRST_STRIKE_NONE); - } - bgm_push_battle_song(); - D_8009A654 = 1; - currentEncounter->battleStartCountdown = 10; - D_8009A5D0 = 1; - case 1: - if (currentEncounter->fadeOutAmount == 255) { - if (currentEncounter->battleStartCountdown != 0) { - currentEncounter->battleStartCountdown--; - break; - } - - encounter = currentEncounter->currentEncounter; - for (i = 0; i < encounter->count; i++) { - enemy = encounter->enemy[i]; - if (enemy != NULL && - ((!(enemy->flags & NPC_FLAG_ENABLE_HIT_SCRIPT) || enemy == currentEncounter->currentEnemy)) && - !(enemy->flags & NPC_FLAG_NO_AI) && - enemy->hitScript != NULL) - { - kill_script_by_ID(enemy->hitScriptID); - enemy->hitScript = NULL; - } - } - - partner_handle_before_battle(); - currentEncounter->dizzyAttackStatus = 0; - currentEncounter->dizzyAttackDuration = 0; - - enemy = currentEncounter->currentEnemy; - currentEncounter->unk_10 = enemy->unk_B5; - - if (is_ability_active(ABILITY_DIZZY_ATTACK) && currentEncounter->hitType == 3) { - currentEncounter->dizzyAttackStatus = 4; - currentEncounter->dizzyAttackDuration = 3; - } - - sfx_stop_sound(SOUND_2111); - sfx_stop_sound(SOUND_2112); - sfx_stop_sound(SOUND_2113); - sfx_stop_sound(SOUND_2114); - set_battle_formation(NULL); - set_battle_stage(encounter->stage); - load_battle(encounter->battle); - currentEncounter->unk_07 = 1; - currentEncounter->unk_08 = 0; - currentEncounter->merleeCoinBonus = 0; - currentEncounter->damageTaken = 0; - currentEncounter->coinsEarned = 0; - currentEncounter->fadeOutAccel = 0; - currentEncounter->fadeOutAmount = 255; - set_screen_overlay_params_front(0, 255.0f); - gGameState = 5; - D_8009A678 = 1; - D_8009A5D0 = 0; - } - break; - case 2: - if (currentEncounter->battleStartCountdown != 0) { - currentEncounter->battleStartCountdown--; - break; - } - - encounter = currentEncounter->currentEncounter; - for (i = 0; i < encounter->count; i++) { - enemy = encounter->enemy[i]; - if (enemy != NULL && - (!(enemy->flags & NPC_FLAG_ENABLE_HIT_SCRIPT) || enemy == currentEncounter->currentEnemy) && - !(enemy->flags & NPC_FLAG_NO_AI) && - (enemy->hitScript != 0)) - { - kill_script_by_ID(enemy->hitScriptID); - enemy->hitScript = NULL; - } - } - - currentEncounter->unk_08 = 1; - currentEncounter->unk_07 = 1; - currentEncounter->battleOutcome = 0; - currentEncounter->merleeCoinBonus = 0; - currentEncounter->damageTaken = 0; - gGameState = 5; - currentEncounter->coinsEarned = 0; - currentEncounter->fadeOutAccel = 0; - currentEncounter->fadeOutAmount = 0; - D_8009A678 = 1; - D_8009A5D0 = 0; - break; - case 3: - currentEncounter->battleOutcome = 4; - currentEncounter->unk_08 = 1; - currentEncounter->fadeOutAmount = 0; - currentEncounter->fadeOutAccel = 0; - gGameState = 5; - D_8009A678 = 1; - D_8009A5D0 = 0; - break; - } -} - -void draw_encounters_pre_battle(void) { - EncounterStatus* encounter = &gCurrentEncounter; - Npc* npc = get_npc_unsafe(encounter->currentEnemy->npcID); - PlayerStatus* playerStatus = &gPlayerStatus; - - if (encounter->unk_94 != 0) { - f32 playerX, playerY, playerZ; - f32 otherX, otherY, otherZ; - s32 pScreenX, pScreenY, pScreenZ; - s32 oScreenX, oScreenY, oScreenZ; - - if (encounter->fadeOutAmount != 255) { - encounter->fadeOutAccel++; - if (encounter->fadeOutAccel > 10) { - encounter->fadeOutAccel = 10; - } - - encounter->fadeOutAmount += encounter->fadeOutAccel; - if (encounter->fadeOutAmount > 255) { - encounter->fadeOutAmount = 255; - } - - playerX = playerStatus->position.x; - playerY = playerStatus->position.y; - playerZ = playerStatus->position.z; - - otherX = npc->pos.x; - otherY = npc->pos.y; - otherZ = npc->pos.z; - if (otherY < -990.0f) { - otherX = playerX; - otherY = playerY; - otherZ = playerZ; - } - - if (gGameStatusPtr->demoState == 2) { - set_screen_overlay_params_back(10, encounter->fadeOutAmount); - set_screen_overlay_alpha(1, 255.0f); - set_screen_overlay_color(1, 0, 0, 0); - get_screen_coords(gCurrentCameraID, playerX, playerY + 20.0f, playerZ, &pScreenX, &pScreenY, &pScreenZ); - get_screen_coords(gCurrentCameraID, otherX, otherY + 15.0f, otherZ, &oScreenX, &oScreenY, &oScreenZ); - set_screen_overlay_center(1, 0, (pScreenX - oScreenX) / 2 + oScreenX, - (pScreenY - oScreenY) / 2 + oScreenY); - } else { - set_screen_overlay_params_front(10, encounter->fadeOutAmount); - set_screen_overlay_alpha(0, 255.0f); - set_screen_overlay_color(0, 0, 0, 0); - get_screen_coords(gCurrentCameraID, playerX, playerY + 20.0f, playerZ, &pScreenX, &pScreenY, &pScreenZ); - get_screen_coords(gCurrentCameraID, otherX, otherY + 15.0f, otherZ, &oScreenX, &oScreenY, &oScreenZ); - set_screen_overlay_center(0, 0, (pScreenX - oScreenX) / 2 + oScreenX, - (pScreenY - oScreenY) / 2 + oScreenY); - } - } - } -} - -void show_first_strike_message(void) { - EncounterStatus* currentEncounter = &gCurrentEncounter; - s32 posX; - s32 width; - s32 xOffset; - s32 screenWidthHalf; - - if (currentEncounter->unk_94 == 0) { - D_8009A668 = -200; - return; - } - - D_8009A668 += 40; - xOffset = D_8009A668; - if (xOffset > 0) { - if (xOffset < 1600) { - xOffset = 0; - } else { - xOffset -= 1600; - } - } - - screenWidthHalf = SCREEN_WIDTH / 2; - - switch (currentEncounter->firstStrikeType) { - case FIRST_STRIKE_PLAYER: - switch (currentEncounter->hitType) { - case 2: - case 4: - width = get_msg_width(0x1D00AC, 0) + 24; - posX = (xOffset + screenWidthHalf) - (width / 2); - draw_box(0, 0x14, posX, 69, 0, width, 28, 255, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, NULL, 0, NULL, - SCREEN_WIDTH, SCREEN_HEIGHT, NULL); - draw_msg(0x1D00AC, posX + 11, 75, 0xFF, 0xA, 0); - break; - case 6: - width = get_msg_width(0x1D00AD, 0) + 24; - posX = (xOffset + screenWidthHalf) - (width / 2); - draw_box(0, 0x14, posX, 69, 0, width, 28, 255, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, NULL, 0, NULL, - SCREEN_WIDTH, SCREEN_HEIGHT, NULL); - draw_msg(0x1D00AD, posX + 11, 75, 0xFF, 0xA, 0); - break; - } - break; - case FIRST_STRIKE_ENEMY: - if (!is_ability_active(ABILITY_CHILL_OUT)) { - width = get_msg_width(0x1D00AE, 0) + 24; - posX = (xOffset + screenWidthHalf) - (width / 2); - draw_box(0, 4, posX, 69, 0, width, 28, 255, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, NULL, 0, NULL, - SCREEN_WIDTH, SCREEN_HEIGHT, NULL); - draw_msg(0x1D00AE, posX + 11, 75, 0xFF, 0xA, 0); - } - break; - } -} - -INCLUDE_ASM(s32, "1a1f0_len_5390", update_encounters_post_battle); - -void draw_encounters_post_battle(void) { - EncounterStatus* currentEncounter = &gCurrentEncounter; - s32 ret = currentEncounter->fadeOutAccel; - - if (ret != 0) { - set_screen_overlay_params_front(0, currentEncounter->fadeOutAmount); - set_screen_overlay_color(0, 0, 0, 0); - } -} - -void update_encounters_conversation(void) { - EncounterStatus* encounter = &gCurrentEncounter; - PlayerStatus* playerStatus = &gPlayerStatus; - Enemy* currentEnemy; - s32 flag; - - switch (D_8009A5D0) { - case 0: - currentEnemy = encounter->currentEnemy; - flag = FALSE; - - if (currentEnemy->interactScript != NULL) { - if (does_script_exist(currentEnemy->interactScriptID)) { - flag = TRUE; - } else { - currentEnemy->interactScript = NULL; - } - } - - if (currentEnemy->hitScript != NULL) { - if (does_script_exist(currentEnemy->hitScriptID)) { - flag = TRUE; - } else { - currentEnemy->hitScript = NULL; - } - } - - if (!flag) { - D_8009A5D0 = 1; - } - break; - case 1: - resume_all_group(1); - - currentEnemy = encounter->currentEnemy; - if (currentEnemy != NULL && currentEnemy->aiScript != NULL) { - resume_all_script(currentEnemy->aiScriptID); - } - - enable_player_input(); - partner_enable_input(); - - if (playerStatus->actionState == ACTION_STATE_TALK) { - set_action_state(ACTION_STATE_IDLE); - } - - func_800EF3D4(0); - encounter->hitType = 0; - resume_all_group(16); - gGameState = 2; - D_8009A678 = 1; - D_8009A5D0 = 0; - break; - } -} - -void draw_encounters_conversation(void) { -} - -s32 check_conversation_trigger(void) { - PlayerStatus* playerStatus = &gPlayerStatus; - Camera* camera = &gCameras[gCurrentCameraID]; - EncounterStatus* encounterStatus = &gCurrentEncounter; - f32 npcX, npcY, npcZ; - f32 angle; - f32 deltaX, deltaZ; - Encounter* encounter; - f32 playerX, playerY, playerZ; - f32 playerColliderHeight; - f32 playerColliderRadius; - f32 length; - f32 npcCollisionHeight; - f32 npcCollisionRadius; - Encounter* encounterTemp; - Npc* npc; - Npc* encounterNpc; - Enemy* enemy; - Enemy* encounterEnemy; - f32 minLength; - f32 xTemp, yTemp, zTemp; - s32 i, j; - - playerStatus->encounteredNPC = NULL; - playerStatus->flags &= ~PS_FLAGS_HAS_CONVERSATION_NPC; - playerColliderHeight = playerStatus->colliderHeight; - playerColliderRadius = playerStatus->colliderDiameter / 2; - playerX = playerStatus->position.x; - playerY = playerStatus->position.y; - playerZ = playerStatus->position.z; - - if (gPartnerActionStatus.partnerActionState != PARTNER_ACTION_NONE) { - return FALSE; - } - - encounter = NULL; - npc = NULL; - enemy = NULL; - minLength = 65535.0f; - - for (i = 0; i < encounterStatus->numEncounters; i++) { - encounterTemp = encounterStatus->encounterList[i]; - - if (encounterTemp == NULL) { - continue; - } - - for (j = 0; j < encounterTemp->count; j++) { - encounterEnemy = encounterTemp->enemy[j]; - - if (encounterEnemy == NULL) { - continue; - } - - if (encounterEnemy->flags & (ENEMY_FLAGS_80000000 | ENEMY_FLAGS_20)) { - continue; - } - - if (!(encounterEnemy->flags & ENEMY_FLAGS_1)) { - continue; - } - - if ((encounterEnemy->flags & ENEMY_FLAGS_8000000) || encounterEnemy->interactBytecode == NULL) { - continue; - } - - encounterNpc = get_npc_unsafe(encounterEnemy->npcID); - - npcX = encounterNpc->pos.x; - npcY = encounterNpc->pos.y; - npcZ = encounterNpc->pos.z; - deltaX = npcX - playerX; - deltaZ = npcZ - playerZ; - npcCollisionHeight = encounterNpc->collisionHeight; - npcCollisionRadius = encounterNpc->collisionRadius; - length = sqrtf(SQ(deltaX) + SQ(deltaZ)); - - if ((playerColliderRadius + npcCollisionRadius <= length) || - (npcY + npcCollisionHeight < playerY) || - (playerY + playerColliderHeight < npcY)) { - continue; - } - - if (clamp_angle(playerStatus->spriteFacingAngle) < 180.0f) { - angle = clamp_angle(camera->currentYaw - 120.0f); - if (playerStatus->trueAnimation & SPRITE_ID_BACK_FACING) { - angle = clamp_angle(angle + 60.0f); - } - } else { - angle = clamp_angle(camera->currentYaw + 120.0f); - if (playerStatus->trueAnimation & SPRITE_ID_BACK_FACING) { - angle = clamp_angle(angle - 60.0f); - } - } - - if (fabsf(get_clamped_angle_diff(angle, atan2(playerX, playerZ, npcX, npcZ))) > 90.0f) { - continue; - } - - if (!(encounterEnemy->flags & ENEMY_FLAGS_10000) && encounterNpc->flags & NPC_FLAG_20000000) { - xTemp = npcX; - yTemp = npcY; - zTemp = npcZ; - - if (npc_test_move_taller_with_slipping(0, &xTemp, &yTemp, &zTemp, length, - atan2(npcX, npcZ, playerX, playerZ), - npcCollisionHeight, - 2.0f * npcCollisionRadius) != 0) { - continue; - } - } - - if (length < minLength) { - minLength = length; - encounter = encounterTemp; - npc = encounterNpc; - enemy = encounterEnemy; - } - } - } - - if (!(playerStatus->animFlags & PA_FLAGS_8BIT_MARIO) && npc != NULL && !is_picking_up_item()) { - playerStatus->encounteredNPC = npc; - playerStatus->flags |= PS_FLAGS_HAS_CONVERSATION_NPC; - if (playerStatus->pressedButtons & BUTTON_A) { - close_status_menu(); - gCurrentEncounter.hitType = ENCOUNTER_TRIGGER_CONVERSATION; - enemy->encountered = ENCOUNTER_TRIGGER_CONVERSATION; - encounterStatus->currentEncounter = encounter; - encounterStatus->currentEnemy = enemy; - encounterStatus->firstStrikeType = FIRST_STRIKE_PLAYER; - return TRUE; - } - } - return FALSE; -} - -INCLUDE_ASM(s32, "1a1f0_len_5390", create_encounters); - -void init_encounters_ui(void) { -} - -s32 is_starting_conversation(void) { - s32 ret = gGameState == 3; - - if (gCurrentEncounter.hitType == 5) { - ret = 1; - } - return ret; -} diff --git a/src/23680.c b/src/23680.c index b21d9d6cfe..cd8cf5f271 100644 --- a/src/23680.c +++ b/src/23680.c @@ -67,7 +67,7 @@ void func_80048E34(Enemy* enemy, s32 arg1, s32 arg2) { if (enemy->aiBytecode != NULL) { enemy->unk_C8 = arg2; - newScript = start_script(enemy->aiBytecode, EVT_PRIORITY_A, EVT_FLAG_20); + newScript = start_script(enemy->aiBytecode, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY); enemy->aiScript = newScript; enemy->aiScriptID = newScript->id; newScript->owner2.npcID = enemy->npcID; @@ -76,7 +76,7 @@ void func_80048E34(Enemy* enemy, s32 arg1, s32 arg2) { if (enemy->unk_B8 != NULL) { enemy->unk_C4 = arg1; - newScript = start_script(enemy->unk_B8, EVT_PRIORITY_A, EVT_FLAG_20); + newScript = start_script(enemy->unk_B8, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY); enemy->unk_BC = newScript; enemy->unk_C0 = newScript->id; newScript->owner2.npcID = enemy->npcID; diff --git a/src/C50A0.c b/src/C50A0.c index 493dfb70ee..d2b85633f1 100644 --- a/src/C50A0.c +++ b/src/C50A0.c @@ -1707,11 +1707,11 @@ s32 test_item_player_collision(ItemEntity* item) { return TRUE; } - if (gGameState != 2 && gGameState != 0) { + if (gEncounterState != ENCOUNTER_STATE_NEUTRAL && gEncounterState != ENCOUNTER_STATE_NONE) { return FALSE; } - if (encounterStatus->hitType == 5) { + if (encounterStatus->hitType == ENCOUNTER_TRIGGER_CONVERSATION) { return FALSE; } @@ -2343,7 +2343,7 @@ void update_item_entity_collectable(ItemEntity* item) { if (!does_script_exist(D_80155D80)) { D_801565A8 = 0; remove_item_entity_by_reference(item); - resume_all_group(2); + resume_all_group(EVT_GROUP_02); } } diff --git a/src/a5dd0_len_114e0.c b/src/a5dd0_len_114e0.c index 44f2266cb7..7a6dd7bb55 100644 --- a/src/a5dd0_len_114e0.c +++ b/src/a5dd0_len_114e0.c @@ -1120,7 +1120,7 @@ void update_entities(void) { if (!(entity->flags & ENTITY_FLAGS_8000)) { entity->flags |= ENTITY_FLAGS_2000000; } - entity->boundScript = start_script(entity->boundScriptBytecode, EVT_PRIORITY_A, EVT_FLAG_20); + entity->boundScript = start_script(entity->boundScriptBytecode, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY); } if (entity->flags & ENTITY_FLAGS_2000000) { diff --git a/src/battle_cam.c b/src/battle_cam.c index 6bc9bf7f95..c56befa14f 100644 --- a/src/battle_cam.c +++ b/src/battle_cam.c @@ -2174,7 +2174,7 @@ void btl_cam_use_preset_intl(s32 id) { } BattleCam_ControlScript = preset; - newScript = start_script(preset, EVT_PRIORITY_A, EVT_FLAG_20); + newScript = start_script(preset, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY); BattleCam_DoneMoving = FALSE; battleStatus->camMovementScript = newScript; battleStatus->camMovementScriptID = newScript->id; diff --git a/src/e20eb0.c b/src/e20eb0.c index 49fbf2cdb6..2bb7dc1196 100644 --- a/src/e20eb0.c +++ b/src/e20eb0.c @@ -93,7 +93,7 @@ void func_802B742C(void) { if (((playerStatus->flags & (PS_FLAGS_HAS_CONVERSATION_NPC | PS_FLAGS_40000 | PS_FLAGS_20)) != PS_FLAGS_HAS_CONVERSATION_NPC) || - (gGameState == GAME_MODE_CHANGE_MAP) || + (gEncounterState == ENCOUNTER_STATE_CONVERSATION) || (playerStatus->animFlags & PA_FLAGS_HOLDING_WATT) || (playerStatus->inputEnabledCounter != 0) || (playerStatus->animFlags & PA_FLAGS_SPINNING)) diff --git a/src/encounter.c b/src/encounter.c new file mode 100644 index 0000000000..711fc8c194 --- /dev/null +++ b/src/encounter.c @@ -0,0 +1,2743 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" +#include "npc.h" +#include "effects.h" +#include "hud_element.h" +#include "world/partners.h" +#include "sprite.h" +#include "sprite/npc/BattleMerlee.h" + +ApiStatus ShowMerleeCoinMessage(Evt* script, s32 isInitialCall); +ApiStatus ShowMerleeRanOutMessage(Evt* script, s32 isInitialCall); +ApiStatus FadeInMerlee(Evt* script, s32 isInitialCall); +ApiStatus FadeOutMerlee(Evt* script, s32 isInitialCall); +ApiStatus MerleeUpdateFX(Evt* script, s32 isInitialCall); +ApiStatus MerleeStopFX(Evt* script, s32 isInitialCall); +ApiStatus PlayMerleeGatherFX(Evt* script, s32 isInitialCall); +ApiStatus PlayMerleeOrbFX(Evt* script, s32 isInitialCall); + +s32 D_80077C40 = 0; + +EvtScript D_80077C44 = { + EVT_WAIT(10) + EVT_CALL(FadeBackgroundToBlack) + EVT_WAIT(10) + EVT_CALL(CreateNpc, NPC_BTL_MERLEE, ANIM_BattleMerlee_Gather) + EVT_CALL(SetNpcFlagBits, NPC_BTL_MERLEE, NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcYaw, NPC_BTL_MERLEE, 0) + EVT_CALL(GetCamLookAtObjVector) + EVT_CALL(SetNpcPos, NPC_BTL_MERLEE, LVar0, LVar1, LVar2) + EVT_THREAD + EVT_CALL(MerleeUpdateFX) + EVT_END_THREAD + EVT_CALL(FadeInMerlee) + EVT_WAIT(30) + EVT_CALL(SetNpcAnimation, NPC_BTL_MERLEE, ANIM_BattleMerlee_Release) + EVT_CALL(MerleeStopFX) + EVT_CALL(UnfadeBackgroundFromBlack) + EVT_WAIT(20) + EVT_THREAD + EVT_CALL(FadeOutMerlee) + EVT_CALL(DeleteNpc, NPC_BTL_MERLEE) + EVT_END_THREAD + EVT_CALL(PlaySound, SOUND_2075) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(PlayMerleeGatherFX, LVar0, LVar1, LVar2) + EVT_CALL(PlayMerleeOrbFX, LVar0, LVar1, LVar2) + EVT_WAIT(15) + EVT_CALL(ShowMerleeCoinMessage) + EVT_WAIT(15) + EVT_CALL(HasMerleeCasts) + EVT_IF_EQ(LVar0, 1) + EVT_RETURN + EVT_END_IF + EVT_CALL(ShowMerleeRanOutMessage) + EVT_WAIT(15) + EVT_RETURN + EVT_END +}; + +EvtScript SCRIPT_NpcDefeat = { + EVT_CALL(GetBattleOutcome, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(OUTCOME_PLAYER_WON) + EVT_CALL(OnDefeatEnemy) + EVT_CASE_EQ(OUTCOME_PLAYER_LOST) + EVT_CASE_EQ(OUTCOME_PLAYER_FLED) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript D_80077E9C = { + EVT_CALL(OnFleeBattleDrops) + EVT_RETURN + EVT_END +}; + +EnemyDrops D_80077EB8 = { + .dropFlags = NPC_DROP_FLAGS_80, + .itemDropChance = 10, + .itemDrops = { + { + .item = ITEM_MUSHROOM, + .weight = 50, + .unk_04 = -1, + }, + }, + .heartDrops = { + { + .cutoff = F16(75), + .generalChance = F16(100), + .attempts = 0, + .chancePerAttempt = 1, + }, + { + .cutoff = F16(50), + .generalChance = F16(75), + .attempts = 0, + .chancePerAttempt = 2, + }, + { + .cutoff = F16(25), + .generalChance = F16(50), + .attempts = 0, + .chancePerAttempt = 3, + }, + { + .cutoff = F16(0), + .generalChance = F16(25), + .attempts = 0, + .chancePerAttempt = 4, + }, + }, + .flowerDrops = { + { + .cutoff = 1, + .generalChance = 3, + .attempts = 0, + .chancePerAttempt = 0, + }, + }, + .minCoinBonus = 0, + .maxCoinBonus = 0, +}; + +EvtScript EnemyNpcHit = { + EVT_CALL(GetOwnerEncounterTrigger, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_NONE) + EVT_CASE_OR_EQ(ENCOUNTER_TRIGGER_JUMP) + EVT_CASE_OR_EQ(ENCOUNTER_TRIGGER_HAMMER) + EVT_CASE_OR_EQ(ENCOUNTER_TRIGGER_PARTNER) + EVT_CALL(GetSelfAnimationFromTable, ENEMY_ANIM_INDEX_HIT, LVar0) + EVT_EXEC_WAIT(EVS_NpcHitRecoil) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_SPIN) + EVT_THREAD + EVT_CALL(func_800458CC, LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_SET(LVarA, 0) + EVT_LOOP(30) + EVT_ADD(LVarA, 40) + EVT_CALL(SetNpcRotation, NPC_SELF, 0, LVarA, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_IF + EVT_END_THREAD + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript EnemyNpcDefeat = { + EVT_CALL(SetNpcRotation, NPC_SELF, 0, 0, 0) + EVT_CALL(GetBattleOutcome, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(OUTCOME_PLAYER_WON) + EVT_CALL(DoNpcDefeat) + EVT_CASE_EQ(OUTCOME_PLAYER_FLED) + EVT_CALL(OnPlayerFled, 0) + EVT_CASE_EQ(OUTCOME_ENEMY_FLED) + EVT_CALL(SetEnemyFlagBits, -1, ENEMY_FLAGS_FLED, 1) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +extern s8 D_8009A63C; +extern s8 D_8009A654; +extern s16 gFirstStrikeMessagePos; +extern s8 D_8009A670; +extern s32 D_800A0BA0; +extern f32 D_800A0BA4; +extern Evt* D_800A0BB0; +extern s32 D_800A0BB4; +extern EffectInstance* WorldMerleeOrbEffect; +extern EffectInstance* WorldMerleeWaveEffect; + +void set_battle_formation(Battle*); +void func_800E97E4(void); +void partner_handle_after_battle(void); +s32 get_coin_drop_amount(Enemy* enemy); + +s32 get_defeated(s32 mapID, s32 encounterID) { + EncounterStatus* currentEncounter = &gCurrentEncounter; + s32 encounterIdx = encounterID / 32; + s32 encounterShift = encounterID % 32; + + return currentEncounter->defeatFlags[mapID][encounterIdx] & (1 << encounterShift); +} + +void set_defeated(s32 mapID, s32 encounterID) { + EncounterStatus* currentEncounter = &gCurrentEncounter; + s32 encounterIdx = encounterID / 32; + s32 encounterShift; + s32 flag; + + flag = encounterID % 32; + encounterShift = flag; + flag = currentEncounter->defeatFlags[mapID][encounterIdx]; + currentEncounter->defeatFlags[mapID][encounterIdx] = flag | (1 << encounterShift); + + // TODO: The below should work but has regalloc issues: + /*EncounterStatus *currentEncounter = &gCurrentEncounter; + s32 encounterIdx = encounterID / 32; + s32 encounterShift = encounterID % 32; + + currentEncounter->defeatFlags[mapID][encounterIdx] |= (1 << encounterShift);*/ +} + +ApiStatus ShowMerleeCoinMessage(Evt* script, s32 isInitialCall) { + if (isInitialCall) { + show_merlee_message(0, 60); + } + + if (is_merlee_message_done()) { + return ApiStatus_BLOCK; + } else { + return ApiStatus_DONE2; + } +} + +ApiStatus ShowMerleeRanOutMessage(Evt* script, s32 isInitialCall) { + if (isInitialCall) { + show_merlee_message(1, 60); + } + + if (is_merlee_message_done()) { + return ApiStatus_BLOCK; + } else { + return ApiStatus_DONE2; + } +} + +ApiStatus FadeBackgroundToBlack(Evt* script, s32 isInitialCall) { + if (isInitialCall) { + mdl_set_all_fog_mode(1); + *gBgRenderTypePtr = BACKGROUND_RENDER_TYPE_1; + set_background_color_blend(0, 0, 0, 0); + script->functionTemp[0] = 25; + } + + set_background_color_blend(0, 0, 0, ((25 - script->functionTemp[0]) * 10) & 254); + script->functionTemp[0]--; + + if (script->functionTemp[0] == 0) { + return ApiStatus_DONE2; + } else { + return ApiStatus_BLOCK; + } +} + +ApiStatus UnfadeBackgroundFromBlack(Evt* script, s32 isInitialCall) { + if (isInitialCall) { + script->functionTemp[0] = 25; + } + + set_background_color_blend(0, 0, 0, (script->functionTemp[0] * 10) & 0xFE); + script->functionTemp[0] -= 5; + + if (script->functionTemp[0] == 0) { + set_background_color_blend(0, 0, 0, 0); + return ApiStatus_DONE2; + } else { + return ApiStatus_BLOCK; + } +} + +ApiStatus FadeInMerlee(Evt* script, s32 isInitialCall) { + Npc* npc = get_npc_unsafe(NPC_BTL_MERLEE); + + if (isInitialCall) { + sfx_play_sound(SOUND_24B); + npc->alpha = 0; + } + + npc->alpha += 17; + + if ((u32)(npc->alpha & 0xFF) >= 0xFF) { + npc->alpha = 0xFF; + return ApiStatus_DONE1; + } else { + return ApiStatus_BLOCK; + } +} + +ApiStatus FadeOutMerlee(Evt* script, s32 isInitialCall) { + Npc* npc = get_npc_unsafe(NPC_BTL_MERLEE); + + npc->alpha -= 17; + if (npc->alpha == 0) { + npc->alpha = 0; + return ApiStatus_DONE1; + } else { + return ApiStatus_BLOCK; + } +} + +// same as BattleMerleeUpdateFX aside from syms +ApiStatus MerleeUpdateFX(Evt* script, s32 isInitialCall) { + Npc* merlee = get_npc_unsafe(NPC_BTL_MERLEE); + EnergyOrbWaveFXData* effectData; + + if (isInitialCall) { + script->functionTemp[1] = 0; + D_800A0BA4 = merlee->pos.y; + WorldMerleeOrbEffect = fx_energy_orb_wave(0, merlee->pos.x, merlee->pos.y, merlee->pos.z, 0.4f, 0); + WorldMerleeWaveEffect = fx_energy_orb_wave(3, merlee->pos.x, merlee->pos.y, merlee->pos.z, 0.00001f, 0); + D_800A0BB8 = 0; + D_800A0BA0 = 12; + sfx_play_sound(SOUND_2074); + } + + merlee->pos.y = D_800A0BA4 + sin_rad(DEG_TO_RAD(script->functionTemp[1])) * 3.0f; + + script->functionTemp[1] += 10; + script->functionTemp[1] = clamp_angle(script->functionTemp[1]); + + effectData = WorldMerleeOrbEffect->data.energyOrbWave; + effectData->pos.x = merlee->pos.x; + effectData->pos.y = merlee->pos.y + 16.0f; + effectData->pos.z = merlee->pos.z; + + effectData = WorldMerleeWaveEffect->data.energyOrbWave; + effectData->pos.x = merlee->pos.x; + effectData->pos.y = merlee->pos.y + 16.0f; + effectData->pos.z = merlee->pos.z + 5.0f; + + if (D_800A0BB8 == 2) { + WorldMerleeOrbEffect->data.energyOrbWave->scale = 0.00001f; + WorldMerleeWaveEffect->data.energyOrbWave->scale = 0.00001f; + WorldMerleeOrbEffect->flags |= EFFECT_INSTANCE_FLAGS_10; + WorldMerleeWaveEffect->flags |= EFFECT_INSTANCE_FLAGS_10; + return ApiStatus_DONE1; + } + + if (D_800A0BB8 == 1) { + effectData = WorldMerleeOrbEffect->data.energyOrbWave; + effectData->scale += 0.35; + if (effectData->scale > 3.5) { + effectData->scale = 3.5f; + } + + if (D_800A0BA0 != 0) { + D_800A0BA0--; + } else { + effectData = WorldMerleeWaveEffect->data.energyOrbWave; + effectData->scale += 0.5; + if (effectData->scale > 5.0) { + D_800A0BB8 = 2; + } + } + } + return ApiStatus_BLOCK; +} + +ApiStatus MerleeStopFX(Evt* script, s32 isInitialCall) { + D_800A0BB8 = 1; + return ApiStatus_DONE2; +} + +ApiStatus GetCamLookAtObjVector(Evt* script, s32 isInitialCall) { + script->varTable[0] = gCameras[gCurrentCameraID].lookAt_obj.x; + script->varTable[1] = gCameras[gCurrentCameraID].lookAt_obj.y; + script->varTable[2] = gCameras[gCurrentCameraID].lookAt_obj.z; + + return ApiStatus_DONE2; +} + +ApiStatus HasMerleeCasts(Evt* script, s32 isInitialCall) { + script->varTable[0] = FALSE; + if (gPlayerData.merleeCastsLeft > 0) { + script->varTable[0] = TRUE; + } + + return ApiStatus_DONE2; +} + +ApiStatus PlayMerleeGatherFX(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 var0 = evt_get_variable(script, *args++); + s32 var1 = evt_get_variable(script, *args++); + s32 var2 = evt_get_variable(script, *args++); + + fx_energy_in_out(6, var0, var1, var2, 1.2f, 30); + return ApiStatus_DONE2; +} + +ApiStatus PlayMerleeOrbFX(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 var0 = evt_get_variable(script, *args++); + s32 var1 = evt_get_variable(script, *args++); + s32 var2 = evt_get_variable(script, *args++); + + fx_energy_orb_wave(9, var0, var1, var2, 5.0f, 15); + return ApiStatus_DONE2; +} + +ApiStatus OnDefeatEnemy(Evt* script, s32 isInitialCall) { + Enemy* enemy = script->owner1.enemy; + Npc* npc = get_npc_unsafe(enemy->npcID); + s32 temp1; + + if (isInitialCall) { + script->functionTemp[0] = 0; + script->functionTemp[1] = 20; + } + + if (script->functionTemp[1] & 1) { + npc->flags &= ~NPC_FLAG_2; + } else { + npc->flags |= NPC_FLAG_2; + } + + if (script->functionTemp[1] == 15) { + sfx_play_sound(SOUND_DEATH); + fx_damage_stars(1, npc->pos.x, npc->pos.y + (npc->collisionHeight / 2), npc->pos.z, 0, -1.0f, 0, 10); + } + + temp1 = script->functionTemp[1]; + if (script->functionTemp[1] == 10) { + fx_big_smoke_puff(npc->pos.x, npc->pos.y + 10.0f, npc->pos.z + 10.0f); + if (script->functionTemp[1] == temp1) { // what? (never can be false, seemingly) + spawn_drops(enemy); + } + } + + script->functionTemp[1]--; + if (script->functionTemp[1] == 0) { + npc->flags |= NPC_FLAG_2; + return ApiStatus_DONE1; + } + + return ApiStatus_BLOCK; +} + +ApiStatus OnFleeBattleDrops(Evt* script, s32 isInitialCall) { + PlayerStatus* playerStatus = &gPlayerStatus; + PlayerData* playerData = &gPlayerData; + + if (isInitialCall) { + script->functionTemp[0] = 0; + script->functionTemp[1] = 40; + script->functionTemp[2] = 0; + } + + script->functionTemp[2]++; + if (script->functionTemp[2] >= 5) { + if (rand_int(100) < 50) { + if (playerData->coins != 0) { + playerData->coins--; + make_item_entity_delayed(ITEM_COIN, playerStatus->position.x, playerStatus->position.y + playerStatus->colliderHeight, + playerStatus->position.z, 3, 0, 0); + } + } + script->functionTemp[2] = 0; + } + + return --script->functionTemp[1] == 0; +} + +void update_encounters_neutral(void) { + EncounterStatus* currentEncounter = &gCurrentEncounter; + PlayerStatus* playerStatus = &gPlayerStatus; + Camera* camera = &gCameras[gCurrentCameraID]; + s32 screenX, screenY, screenZ; + f32 npcX, npcY, npcZ; + f32 npcYaw; + f32 testX, testY, testZ; + f32 x, y, z; + s32 e; + f32 playerX, playerY, playerZ; + f32 playerYaw; + Encounter* encounter; + Evt* script; + Npc* npc; + f32 distance; + f32 colHeight; + f32 colRadius; + f32 hammerDir; + + s32 cond; + s32 cond2; + s32 firstStrikeType; + s32 aiPaused; + + Enemy* enemy; + Enemy* currentEnemy; + s32 i; + + f32 playerJumpColHeight = 37.0f; + f32 playerColRadius = 14.0f; + f32 playerColHeight = 18.0f; + + f32 dx, dz; + f32 angle1, angle2; + + do { + if (currentEncounter->hitType == ENCOUNTER_TRIGGER_CONVERSATION) { + goto START_BATTLE; + } + } while (0); + + currentEncounter->songID = -1; + currentEncounter->unk_18 = -1; + currentEncounter->hitType = 0; + currentEncounter->allowFleeing = FALSE; + currentEncounter->dropWhackaBump = FALSE; + currentEncounter->flags &= ~ENCOUNTER_STATUS_FLAGS_1; + currentEncounter->flags &= ~ENCOUNTER_STATUS_FLAGS_2; + currentEncounter->flags &= ~ENCOUNTER_STATUS_FLAGS_4; + + playerX = playerStatus->position.x; + playerY = playerStatus->position.y; + playerZ = playerStatus->position.z; + playerYaw = playerStatus->spriteFacingAngle; + + if (playerYaw < 180.0f) { + playerYaw = clamp_angle(camera->currentYaw - 90.0f); + } else { + playerYaw = clamp_angle(camera->currentYaw + 90.0f); + } + + if (currentEncounter->battleTriggerCooldown != 0) { + if (!(gOverrideFlags & GLOBAL_OVERRIDES_40)) { + currentEncounter->battleTriggerCooldown--; + } + if (playerStatus->blinkTimer != 0) { + if (!(playerStatus->flags & PS_FLAGS_INPUT_DISABLED)) { + playerStatus->blinkTimer = currentEncounter->battleTriggerCooldown; + } else { + playerStatus->blinkTimer = 1; + } + } + } + + for (e = 0; e < currentEncounter->numEncounters; e++) { + encounter = currentEncounter->encounterList[e]; + if (encounter == NULL) { + continue; + } + for (i = 0; i < encounter->count; i++) { + enemy = encounter->enemy[i]; + if (enemy == NULL || (enemy->flags & ENEMY_FLAGS_20)) { + continue; + } + npc = get_npc_unsafe(enemy->npcID); + if (enemy->aiPaused != 0) { + if (!(gOverrideFlags & GLOBAL_OVERRIDES_40)) { + enemy->aiPaused--; + aiPaused = enemy->aiPaused; + } else { + aiPaused = 0; + } + + if (aiPaused & 1) { + npc->flags |= NPC_FLAG_80000000; + enemy->flags |= ENEMY_FLAGS_80000000; + } else { + npc->flags &= ~NPC_FLAG_80000000; + enemy->flags &= ~ENEMY_FLAGS_80000000; + } + script = get_script_by_id(enemy->auxScriptID); + if (script != NULL) { + set_script_flags(script, EVT_FLAG_SUSPENDED); + } + script = get_script_by_id(enemy->aiScriptID); + if (script != NULL) { + set_script_flags(script, EVT_FLAG_SUSPENDED); + } + if (enemy->flags & ENEMY_FLAGS_80000) { + script = get_script_by_id(enemy->auxScriptID); + if (script != NULL) { + clear_script_flags(script, EVT_FLAG_SUSPENDED); + } + script = get_script_by_id(enemy->aiScriptID); + if (script != NULL) { + clear_script_flags(script, EVT_FLAG_SUSPENDED); + } + } + } else if (!(enemy->flags & ENEMY_FLAGS_200000)) { + get_screen_coords(gCurrentCameraID, npc->pos.x, npc->pos.y, npc->pos.z, &screenX, &screenY, &screenZ); + if ((screenX < -160 || screenX > 480 || screenY < -120 || screenY > 360 || screenZ < 0) && !(enemy->flags & ENEMY_FLAGS_1)) { + npc->flags |= NPC_FLAG_80000000; + enemy->flags |= ENEMY_FLAGS_80000000; + script = get_script_by_id(enemy->auxScriptID); + if (script != NULL) { + set_script_flags(script, EVT_FLAG_SUSPENDED); + } + script = get_script_by_id(enemy->aiScriptID); + if (script != NULL) { + set_script_flags(script, EVT_FLAG_SUSPENDED); + } + } else { + npc->flags &= ~NPC_FLAG_80000000; + enemy->flags &= ~ENEMY_FLAGS_80000000; + script = get_script_by_id(enemy->auxScriptID); + if (script != NULL) { + clear_script_flags(script, EVT_FLAG_SUSPENDED); + } + script = get_script_by_id(enemy->aiScriptID); + if (script != NULL) { + clear_script_flags(script, EVT_FLAG_SUSPENDED); + } + } + } else { + npc->flags &= ~NPC_FLAG_80000000; + enemy->flags &= ~ENEMY_FLAGS_80000000; + script = get_script_by_id(enemy->auxScriptID); + if (script != NULL) { + clear_script_flags(script, EVT_FLAG_SUSPENDED); + } + script = get_script_by_id(enemy->aiScriptID); + if (script != NULL) { + clear_script_flags(script, EVT_FLAG_SUSPENDED); + } + } + + if (enemy->flags & ENEMY_FLAGS_80000000) { + continue; + } + if (enemy->flags & ENEMY_FLAGS_1) { + if (!(enemy->flags & ENEMY_FLAGS_400000)) { + if (npc == playerStatus->encounteredNPC) { + enemy->unk_E0 = npc->yaw; + npc->yaw = atan2(npc->pos.x, npc->pos.z, playerStatus->position.x, playerStatus->position.z); + script = get_script_by_id(enemy->aiScriptID); + if (script != NULL) { + set_script_flags(script, EVT_FLAG_SUSPENDED); + } + } else { + if (enemy->unk_E0 != 12345) { + npc->yaw = enemy->unk_E0; + enemy->unk_E0 = 12345; + } + script = get_script_by_id(enemy->aiScriptID); + if (script != NULL) { + clear_script_flags(script, EVT_FLAG_SUSPENDED); + } + } + } else { + script = get_script_by_id(enemy->aiScriptID); + if (script != NULL) { + clear_script_flags(script, EVT_FLAG_SUSPENDED); + } + } + } + + if (currentEncounter->battleTriggerCooldown != 0 || + gGameStatusPtr->debugEnemyContact == 1 || + (playerStatus->flags & PS_FLAGS_80000) || + (gOverrideFlags & GLOBAL_OVERRIDES_40) || + gPartnerActionStatus.actingPartner == PARTNER_BOW || + (enemy->flags & ENEMY_FLAGS_1) || + (gOverrideFlags & (GLOBAL_OVERRIDES_DISABLE_BATTLES | GLOBAL_OVERRIDES_200 | GLOBAL_OVERRIDES_400 | GLOBAL_OVERRIDES_800)) || + is_picking_up_item()) { + continue; + } + do { + if (!(enemy->flags & ENEMY_FLAGS_10000000) && partner_test_enemy_collision(npc) != 0) { + currentEncounter->hitType = ENCOUNTER_TRIGGER_PARTNER; + enemy->encountered = ENCOUNTER_TRIGGER_PARTNER; + currentEncounter->currentEncounter = encounter; + currentEncounter->currentEnemy = enemy; + currentEncounter->firstStrikeType = FIRST_STRIKE_PLAYER; + goto START_BATTLE; + } + } while (0); + + npcX = npc->pos.x; + npcY = npc->pos.y; + npcZ = npc->pos.z; + npcYaw = npc->yaw; + colHeight = npc->collisionHeight; + colRadius = npc->collisionRadius / 2; + + if (enemy->unk_DC != 0) { + npcYaw = npc->yawCamOffset; + if (npcYaw < 180.0f) { + npcYaw = clamp_angle(camera->currentYaw - 90.0f); + } else { + npcYaw = clamp_angle(camera->currentYaw + 90.0f); + } + + add_vec2D_polar(&npcX, &npcZ, enemy->unk_DC, npcYaw); + } + + dx = npcX - playerX; + dz = npcZ - playerZ; + distance = sqrtf(SQ(dx) + SQ(dz)); + + switch (playerStatus->actionState) { + case ACTION_STATE_HAMMER: + x = playerX; + y = playerY; + z = playerZ; + if (clamp_angle(playerStatus->spriteFacingAngle) < 180.0f) { + hammerDir = clamp_angle(camera->currentYaw - 90.0f); + if (playerStatus->trueAnimation & SPRITE_ID_BACK_FACING) { + hammerDir = clamp_angle(hammerDir + 30.0f); + } + } else { + hammerDir = clamp_angle(camera->currentYaw + 90.0f); + if (playerStatus->trueAnimation & SPRITE_ID_BACK_FACING) { + hammerDir = clamp_angle(hammerDir - 30.0f); + } + } + add_vec2D_polar(&x, &z, 24.0f, hammerDir); + dx = npcX - x; + dz = npcZ - z; + distance = sqrtf(SQ(dx) + SQ(dz)); + if (enemy->flags & ENEMY_FLAGS_IGNORE_HAMMER) { + break; + } + if (!(playerStatus->flags & PS_FLAGS_1000000)) { + break; + } + if (distance >= playerColRadius + colRadius || y > npcY + colHeight || npcY > y + playerColHeight) { + break; + } + + testX = npcX; + testY = npcY; + testZ = npcZ; + + if (npc_test_move_taller_with_slipping(COLLISION_CHANNEL_10000, &testX, &testY, &testZ, distance, atan2(npcX, npcZ, playerX, playerZ), colHeight, colRadius * 2.0f) != 0) { + testX = playerX; + testY = playerY; + testZ = playerZ; + if (npc_test_move_taller_with_slipping(COLLISION_CHANNEL_10000, &testX, &testY, &testZ, distance, atan2(playerX, playerZ, npcX, npcZ), colHeight, colRadius * 2.0f) != 0) { + break; + } + } + if (enemy->unk_07 != 0) { + npcX = enemy->unk_10.x; + npcY = enemy->unk_10.y; + npcZ = enemy->unk_10.z; + } + + angle1 = fabsf(get_clamped_angle_diff(atan2(playerX, playerZ, npcX, npcZ), playerYaw)); + angle2 = fabsf(get_clamped_angle_diff(atan2(npcX, npcZ, playerX, playerZ), npcYaw)); + cond = FALSE; + if (angle1 >= 90.0f && angle2 >= 90.0f) { + cond = FALSE; + } + if (angle1 < 90.0f && angle2 >= 90.0f) { + cond = TRUE; + } + if (angle1 >= 90.0f && angle2 < 90.0f) { + cond = FALSE; + } + if (angle1 < 90.0f && angle2 < 90.0f) { + cond = TRUE; + } + if (cond) { + sfx_play_sound_at_position(SOUND_HIT_PLAYER_NORMAL, 0, playerStatus->position.x, playerStatus->position.y, playerStatus->position.z); + currentEncounter->hitType = ENCOUNTER_TRIGGER_HAMMER; + currentEncounter->hitTier = gPlayerData.hammerLevel; + enemy->encountered = ENCOUNTER_TRIGGER_HAMMER; + currentEncounter->currentEncounter = encounter; + currentEncounter->currentEnemy = enemy; + currentEncounter->firstStrikeType = FIRST_STRIKE_PLAYER; + goto START_BATTLE; + } + break; + case ACTION_STATE_JUMP: + case ACTION_STATE_BOUNCE: + case ACTION_STATE_FALLING: + case ACTION_STATE_STEP_DOWN: + case ACTION_STATE_LAND: + case ACTION_STATE_STEP_DOWN_LAND: + case ACTION_STATE_SPIN_JUMP: + case ACTION_STATE_SPIN_POUND: + case ACTION_STATE_TORNADO_JUMP: + case ACTION_STATE_TORNADO_POUND: + x = playerX; + z = playerZ; + if (!(enemy->flags & ENEMY_FLAGS_IGNORE_JUMP)) { + if (distance >= playerColRadius + colRadius) { + continue; + } + if (playerY > npcY + colHeight || npcY > playerY + playerJumpColHeight) { + continue; + } + + testX = npcX; + testY = npcY; + testZ = npcZ; + if (npc_test_move_taller_with_slipping(COLLISION_CHANNEL_10000, &testX, &testY, &testZ, distance, atan2(npcX, npcZ, playerX, playerZ), colHeight, colRadius * 2.0f) != 0) { + testX = playerX; + testY = playerY; + testZ = playerZ; + if (npc_test_move_taller_with_slipping(COLLISION_CHANNEL_10000, &testX, &testY, &testZ, distance, atan2(playerX, playerZ, npcX, npcZ), colHeight, colRadius * 2.0f) != 0) { + break; + } + } + cond = FALSE; + if (npcY + colHeight < playerY + playerJumpColHeight * 0.5f) { + if (playerStatus->actionState == ACTION_STATE_FALLING || + playerStatus->actionState == ACTION_STATE_STEP_DOWN || + playerStatus->actionState == ACTION_STATE_LAND || + playerStatus->actionState == ACTION_STATE_STEP_DOWN_LAND || + playerStatus->actionState == ACTION_STATE_SPIN_JUMP || + playerStatus->actionState == ACTION_STATE_SPIN_POUND || + playerStatus->actionState == ACTION_STATE_TORNADO_JUMP || + playerStatus->actionState == ACTION_STATE_TORNADO_POUND) { + cond = TRUE; + } + } + if (playerY + playerJumpColHeight < npcY + colHeight * 0.5f) { + cond = FALSE; + } + if (cond) { + if (gPlayerData.bootsLevel < 0) { + currentEncounter->hitType = ENCOUNTER_TRIGGER_NONE; + enemy->encountered = ENCOUNTER_TRIGGER_NONE; + currentEncounter->currentEncounter = encounter; + currentEncounter->currentEnemy = enemy; + currentEncounter->firstStrikeType = FIRST_STRIKE_NONE; + currentEncounter->hitTier = 0; + goto START_BATTLE; + } + currentEncounter->hitType = ENCOUNTER_TRIGGER_JUMP; + switch (playerStatus->actionState) { + case ACTION_STATE_JUMP: + case ACTION_STATE_BOUNCE: + case ACTION_STATE_FALLING: + case ACTION_STATE_STEP_DOWN: + case ACTION_STATE_LAND: + case ACTION_STATE_STEP_DOWN_LAND: + currentEncounter->hitTier = 0; + break; + case ACTION_STATE_SPIN_JUMP: + case ACTION_STATE_SPIN_POUND: + currentEncounter->hitTier = 1; + break; + case ACTION_STATE_TORNADO_JUMP: + case ACTION_STATE_TORNADO_POUND: + currentEncounter->hitTier = 2; + break; + } + sfx_play_sound_at_position(SOUND_HIT_PLAYER_NORMAL, 0, playerStatus->position.x, playerStatus->position.y, playerStatus->position.z); + enemy->encountered = 2; + currentEncounter->currentEncounter = encounter; + currentEncounter->currentEnemy = enemy; + currentEncounter->firstStrikeType = FIRST_STRIKE_PLAYER; + goto START_BATTLE; + } + } + break; + } + + if (enemy->flags & ENEMY_FLAGS_IGNORE_TOUCH) { + continue; + } + + dx = npcX - playerX; + dz = npcZ - playerZ; + distance = sqrtf(SQ(dx) + SQ(dz)); + + if (distance >= (playerColRadius + colRadius) * 0.8) { + continue; + } + if (npcY + colHeight < playerY) { + continue; + } + if (playerY + playerJumpColHeight < npcY) { + continue; + } + + testX = npcX; + testY = npcY; + testZ = npcZ; + if (npc_test_move_taller_with_slipping(COLLISION_CHANNEL_10000, &testX, &testY, &testZ, distance, atan2(npcX, npcZ, playerX, playerZ), colHeight, colRadius * 2.0f) != 0) { + testX = playerX; + testY = playerY; + testZ = playerZ; + if (npc_test_move_taller_with_slipping(COLLISION_CHANNEL_10000, &testX, &testY, &testZ, distance, atan2(playerX, playerZ, npcX, npcZ), colHeight, colRadius * 2.0f) != 0) { + continue; + } + } + cond = FALSE; + if (is_ability_active(ABILITY_SPIN_ATTACK) && gPlayerData.level >= enemy->npcSettings->level) { + cond = !currentEncounter->scriptedBattle; + } + if (is_ability_active(ABILITY_DIZZY_ATTACK)) { + cond = TRUE; + } + if ((playerStatus->animFlags & PA_FLAGS_SPINNING) && !(enemy->flags & ENEMY_FLAGS_20000000) && cond) { + sfx_play_sound_at_position(SOUND_HIT_PLAYER_NORMAL, 0, playerStatus->position.x, playerStatus->position.y, playerStatus->position.z); + testX = playerStatus->position.x + ((npc->pos.x - playerStatus->position.x) * 0.5f); + testY = playerStatus->position.y + (((npc->pos.y + npc->collisionHeight) - (playerStatus->position.y + playerStatus->colliderHeight)) * 0.5f); + testZ = playerStatus->position.z + ((npc->pos.z - playerStatus->position.z) * 0.5f); + fx_damage_stars(3, testX, testY, testZ, 0.0f, -1.0f, 0.0f, 3); + currentEncounter->hitType = ENCOUNTER_TRIGGER_SPIN; + playerStatus->animFlags |= PA_FLAGS_20000; + enemy->encountered = ENCOUNTER_TRIGGER_SPIN; + currentEncounter->currentEncounter = encounter; + currentEncounter->currentEnemy = enemy; + currentEncounter->firstStrikeType = FIRST_STRIKE_NONE; + } else { + currentEncounter->hitType = ENCOUNTER_TRIGGER_NONE; + playerStatus->animFlags &= ~PA_FLAGS_20000; + enemy->encountered = ENCOUNTER_TRIGGER_NONE; + currentEncounter->currentEncounter = encounter; + currentEncounter->currentEnemy = enemy; + testX = playerStatus->position.x + ((npc->pos.x - playerStatus->position.x) * 0.5f); + testY = playerStatus->position.y + (((npc->pos.y + npc->collisionHeight) - (playerStatus->position.y + playerStatus->colliderHeight)) * 0.5f); + testZ = playerStatus->position.z + ((npc->pos.z - playerStatus->position.z) * 0.5f); + fx_damage_stars(3, testX, testY, testZ, 0.0f, -1.0f, 0.0f, 3); + firstStrikeType = FIRST_STRIKE_NONE; + if (enemy->unk_07 != 0) { + if (is_ability_active(ABILITY_CHILL_OUT)) { + firstStrikeType = FIRST_STRIKE_NONE; + } else { + firstStrikeType = FIRST_STRIKE_ENEMY; + } + } + if (!is_ability_active(ABILITY_BUMP_ATTACK) || gPlayerData.level < enemy->npcSettings->level || (enemy->flags & ENEMY_FLAGS_40)) { + currentEncounter->firstStrikeType = firstStrikeType; + } else { + if (!currentEncounter->scriptedBattle) { + firstStrikeType = FIRST_STRIKE_NONE; + } + currentEncounter->firstStrikeType = firstStrikeType; + } + } + goto START_BATTLE; + } + } + +START_BATTLE: + switch (currentEncounter->hitType) { + case 0: + break; + case ENCOUNTER_TRIGGER_NONE: + currentEnemy = enemy = currentEncounter->currentEnemy; + if (enemy->aiScript != NULL) { + suspend_all_script(enemy->aiScriptID); + } + if (enemy->auxScript != NULL) { + suspend_all_script(enemy->auxScriptID); + } + encounter = currentEncounter->currentEncounter; + for (i = 0; i < encounter->count; i++) { + enemy = encounter->enemy[i]; + if (enemy == NULL) { + continue; + } + if ((enemy->flags & ENEMY_FLAGS_8) && enemy != currentEncounter->currentEnemy) { + continue; + } + if (enemy->flags & ENEMY_FLAGS_20) { + continue; + } + if ((currentEnemy->flags & ENEMY_FLAGS_40) && enemy != currentEncounter->currentEnemy) { + continue; + } + + if (enemy->hitBytecode != NULL) { + enemy->encountered = ENCOUNTER_TRIGGER_NONE; + script = start_script(enemy->hitBytecode, EVT_PRIORITY_A, 0); + enemy->hitScript = script; + enemy->hitScriptID = script->id; + script->owner1.enemy = enemy; + script->owner2.npcID = enemy->npcID; + script->groupFlags = enemy->scriptGroup; + } + } + disable_player_input(); + partner_disable_input(); + if (playerStatus->actionState != ACTION_STATE_TORNADO_JUMP && + playerStatus->actionState != ACTION_STATE_TORNADO_POUND && + playerStatus->actionState != ACTION_STATE_SPIN_JUMP && + playerStatus->actionState != ACTION_STATE_SPIN_POUND) { + playerStatus->flags |= PS_FLAGS_40000; + } + if (!is_ability_active(ABILITY_CHILL_OUT) && currentEncounter->firstStrikeType == FIRST_STRIKE_ENEMY) { + set_action_state(ACTION_STATE_ENEMY_FIRST_STRIKE); + npc = get_npc_unsafe(enemy->npcID); + sfx_play_sound_at_position(SOUND_HIT_PLAYER_NORMAL, 0, npc->pos.x, npc->pos.y, npc->pos.z); + } + currentEncounter->scriptedBattle = FALSE; + gEncounterState = ENCOUNTER_STATE_PRE_BATTLE; + currentEncounter->fadeOutAmount = 0; + currentEncounter->unk_94 = 0; + D_8009A678 = 1; + gEncounterSubState = ENCOUNTER_SUBSTATE_PRE_BATTLE_INIT; + break; + case ENCOUNTER_TRIGGER_SPIN: + currentEnemy = enemy = currentEncounter->currentEnemy; + if (enemy->aiScript != NULL) { + suspend_all_script(enemy->aiScriptID); + } + if (enemy->auxScript != NULL) { + suspend_all_script(enemy->auxScriptID); + } + encounter = currentEncounter->currentEncounter; + for (i = 0; i < encounter->count; i++) { + enemy = encounter->enemy[i]; + if (enemy == NULL) { + continue; + } + if ((enemy->flags & ENEMY_FLAGS_8) && enemy != currentEncounter->currentEnemy) { + continue; + } + if (enemy->flags & ENEMY_FLAGS_20) { + continue; + } + if ((currentEnemy->flags & ENEMY_FLAGS_40) && enemy != currentEncounter->currentEnemy) { + continue; + } + + if (enemy->hitBytecode != NULL) { + enemy->encountered = ENCOUNTER_TRIGGER_SPIN; + script = start_script(enemy->hitBytecode, EVT_PRIORITY_A, 0); + enemy->hitScript = script; + enemy->hitScriptID = script->id; + script->owner1.enemy = enemy; + script->owner2.npcID = enemy->npcID; + script->groupFlags = enemy->scriptGroup; + } + } + disable_player_input(); + partner_disable_input(); + currentEncounter->scriptedBattle = FALSE; + gEncounterState = ENCOUNTER_STATE_PRE_BATTLE; + currentEncounter->fadeOutAmount = 0; + currentEncounter->unk_94 = 0; + D_8009A678 = 1; + gEncounterSubState = ENCOUNTER_SUBSTATE_PRE_BATTLE_INIT; + playerStatus->flags |= PS_FLAGS_40000; + break; + case ENCOUNTER_TRIGGER_JUMP: + currentEnemy = enemy = currentEncounter->currentEnemy; + if (enemy->aiScript != NULL) { + suspend_all_script(enemy->aiScriptID); + } + if (enemy->auxScript != NULL) { + suspend_all_script(enemy->auxScriptID); + } + encounter = currentEncounter->currentEncounter; + + cond2 = FALSE; + for (i = 0; i < encounter->count; i++) { + enemy = encounter->enemy[i]; + enemy = encounter->enemy[i]; + if (enemy == NULL) { + continue; + } + if ((enemy->flags & ENEMY_FLAGS_8) && enemy != currentEncounter->currentEnemy) { + continue; + } + if (enemy->flags & ENEMY_FLAGS_20) { + continue; + } + if ((currentEnemy->flags & ENEMY_FLAGS_40) && enemy != currentEncounter->currentEnemy) { + continue; + } + if (enemy->hitBytecode != NULL) { + enemy->encountered = ENCOUNTER_TRIGGER_JUMP; + script = start_script(enemy->hitBytecode, EVT_PRIORITY_A, 0); + enemy->hitScript = script; + enemy->hitScriptID = script->id; + script->owner1.enemy = enemy; + script->owner2.npcID = enemy->npcID; + script->groupFlags = enemy->scriptGroup; + npc = get_npc_unsafe(enemy->npcID); + cond2 = TRUE; + testX = playerStatus->position.x + ((npc->pos.x - playerStatus->position.x) * 0.5f); + testY = playerStatus->position.y + (((npc->pos.y + npc->collisionHeight) - (playerStatus->position.y + playerStatus->colliderHeight)) * 0.5f); + testZ = playerStatus->position.z + ((npc->pos.z - playerStatus->position.z) * 0.5f); + fx_damage_stars(3, testX, testY, testZ, 0.0f, -1.0f, 0.0f, 3); + } else if (!(enemy->flags & ENEMY_FLAGS_1)) { + npc = get_npc_unsafe(enemy->npcID); + cond2 = TRUE; + testX = playerStatus->position.x + ((npc->pos.x - playerStatus->position.x) * 0.5f); + testY = playerStatus->position.y + (((npc->pos.y + npc->collisionHeight) - (playerStatus->position.y + playerStatus->colliderHeight)) * 0.5f); + testZ = playerStatus->position.z + ((npc->pos.z - playerStatus->position.z) * 0.5f); + fx_damage_stars(3, testX, testY, testZ, 0.0f, -1.0f, 0.0f, 3); + } + } + disable_player_input(); + partner_disable_input(); + playerStatus->flags |= PS_FLAGS_40000; + if (cond2) { + start_bounce_a(); + } + currentEncounter->fadeOutAmount = 0; + currentEncounter->unk_94 = 0; + currentEncounter->scriptedBattle = FALSE; + sfx_play_sound(0); + gEncounterState = ENCOUNTER_STATE_PRE_BATTLE; + D_8009A678 = 1; + gEncounterSubState = ENCOUNTER_SUBSTATE_PRE_BATTLE_INIT; + break; + case ENCOUNTER_TRIGGER_HAMMER: + currentEnemy = enemy = currentEncounter->currentEnemy; + if (enemy->aiScript != NULL) { + suspend_all_script(enemy->aiScriptID); + } + if (enemy->auxScript != NULL) { + suspend_all_script(enemy->auxScriptID); + } + encounter = currentEncounter->currentEncounter; + for (i = 0; i < encounter->count; i++) { + enemy = encounter->enemy[i]; + if (enemy == NULL) { + continue; + } + if ((enemy->flags & ENEMY_FLAGS_8) && enemy != currentEncounter->currentEnemy) { + continue; + } + if (enemy->flags & ENEMY_FLAGS_20) { + continue; + } + if ((currentEnemy->flags & ENEMY_FLAGS_40) && enemy != currentEncounter->currentEnemy) { + continue; + } + if (enemy->hitBytecode != NULL) { + enemy->encountered = ENCOUNTER_TRIGGER_HAMMER; + script = start_script(enemy->hitBytecode, EVT_PRIORITY_A, 0); + enemy->hitScript = script; + enemy->hitScriptID = script->id; + script->owner1.enemy = enemy; + script->owner2.npcID = enemy->npcID; + script->groupFlags = enemy->scriptGroup; + npc = get_npc_unsafe(enemy->npcID); + testX = playerStatus->position.x + ((npc->pos.x - playerStatus->position.x) * 0.5f); + testY = playerStatus->position.y + (((npc->pos.y + npc->collisionHeight) - (playerStatus->position.y + playerStatus->colliderHeight)) * 0.5f); + testZ = playerStatus->position.z + ((npc->pos.z - playerStatus->position.z) * 0.5f); + fx_damage_stars(3, testX, testY, testZ, 0.0f, -1.0f, 0.0f, 3); + } else if (!(enemy->flags & ENEMY_FLAGS_1)) { + npc = get_npc_unsafe(enemy->npcID); + testX = playerStatus->position.x + ((npc->pos.x - playerStatus->position.x) * 0.5f); + testY = playerStatus->position.y + (((npc->pos.y + npc->collisionHeight) - (playerStatus->position.y + playerStatus->colliderHeight)) * 0.5f); + testZ = playerStatus->position.z + ((npc->pos.z - playerStatus->position.z) * 0.5f); + fx_damage_stars(3, npc->pos.x, npc->pos.y + npc->collisionHeight, npc->pos.z, 0.0f, -1.0f, 0.0f, 3); + } + } + disable_player_input(); + partner_disable_input(); + currentEncounter->fadeOutAmount = 0; + currentEncounter->unk_94 = 0; + currentEncounter->scriptedBattle = FALSE; + playerStatus->flags |= PS_FLAGS_40000; + sfx_play_sound(0); + gEncounterState = ENCOUNTER_STATE_PRE_BATTLE; + D_8009A678 = 1; + gEncounterSubState = ENCOUNTER_SUBSTATE_PRE_BATTLE_INIT; + break; + case ENCOUNTER_TRIGGER_CONVERSATION: + suspend_all_group(EVT_GROUP_01); + enemy = currentEncounter->currentEnemy; + if (enemy != NULL && enemy->aiScript != NULL) { + suspend_all_script(enemy->aiScriptID); + } + enemy = currentEncounter->currentEnemy; + if (enemy->interactBytecode != NULL) { + enemy->encountered = 5; + script = start_script(enemy->interactBytecode, EVT_PRIORITY_A, 0); + enemy->interactScript = script; + enemy->interactScriptID = script->id; + script->owner1.enemy = enemy; + script->owner2.npcID = enemy->npcID; + script->groupFlags = enemy->scriptGroup; + } + disable_player_input(); + partner_disable_input(); + set_action_state(ACTION_STATE_TALK); + currentEncounter->fadeOutAmount = 0; + currentEncounter->unk_94 = 0; + func_800EF3D4(1); + gEncounterState = ENCOUNTER_STATE_CONVERSATION; + D_8009A678 = 1; + gEncounterSubState = ENCOUNTER_SUBSTATE_CONVERSATION_INIT; + break; + case ENCOUNTER_TRIGGER_PARTNER: + currentEnemy = enemy = currentEncounter->currentEnemy; + if (enemy->aiScript != NULL) { + suspend_all_script(enemy->aiScriptID); + } + if (enemy->auxScript != NULL) { + suspend_all_script(enemy->auxScriptID); + } + encounter = currentEncounter->currentEncounter; + + for (i = 0; i < encounter->count; i++) { + enemy = encounter->enemy[i]; + if (enemy == NULL) { + continue; + } + if ((enemy->flags & ENEMY_FLAGS_8) && enemy != currentEncounter->currentEnemy) { + continue; + } + if (enemy->flags & ENEMY_FLAGS_20) { + continue; + } + if ((currentEnemy->flags & ENEMY_FLAGS_40) && enemy != currentEncounter->currentEnemy) { + continue; + } + if (enemy->hitBytecode != NULL) { + enemy->encountered = ENCOUNTER_TRIGGER_PARTNER; + script = start_script(enemy->hitBytecode, EVT_PRIORITY_A, 0); + enemy->hitScript = script; + enemy->hitScriptID = script->id; + script->owner1.enemy = enemy; + script->owner2.npcID = enemy->npcID; + script->groupFlags = enemy->scriptGroup; + npc = get_npc_unsafe(enemy->npcID); + testX = npc->pos.x; + testY = npc->pos.y + npc->collisionHeight; + testZ = npc->pos.z; + fx_damage_stars(3, testX, testY, testZ, 0.0f, -1.0f, 0.0f, 3); + } else if (!(enemy->flags & ENEMY_FLAGS_1)) { + npc = get_npc_unsafe(enemy->npcID); + testX = npc->pos.x; + testY = npc->pos.y + npc->collisionHeight; + testZ = npc->pos.z; + fx_damage_stars(3, testX, testY, testZ, 0.0f, -1.0f, 0.0f, 3); + } + } + disable_player_input(); + partner_disable_input(); + currentEncounter->fadeOutAmount = 0; + currentEncounter->unk_94 = 0; + currentEncounter->scriptedBattle = FALSE; + playerStatus->flags |= PS_FLAGS_40000; + sfx_play_sound(0); + gEncounterState = ENCOUNTER_STATE_PRE_BATTLE; + D_8009A678 = 1; + gEncounterSubState = ENCOUNTER_SUBSTATE_PRE_BATTLE_INIT; + break; + } +} + +void draw_encounters_neutral(void) { +} + +void update_encounters_pre_battle(void) { + EncounterStatus* currentEncounter = &gCurrentEncounter; + PlayerData* playerData = &gPlayerData; + Encounter* encounter; + Enemy* enemy; + s32 i; + s32 j; + + switch (gEncounterSubState) { + case ENCOUNTER_SUBSTATE_PRE_BATTLE_INIT: + currentEncounter->fadeOutAmount = 0; + currentEncounter->unk_94 = 1; + currentEncounter->fadeOutAccel = 1; + currentEncounter->unk_08 = -1; + D_8009A654 = FALSE; + D_80077C40 = 0; + suspend_all_group(EVT_GROUP_10); + + for (i = 0; i < currentEncounter->numEncounters; i++) { + encounter = currentEncounter->encounterList[i]; + + if (encounter != NULL) { + for (j = 0; j < encounter->count; j++) { + enemy = encounter->enemy[j]; + if (enemy != NULL && !(enemy->flags & ENEMY_FLAGS_20)) { + if (enemy->aiScript != NULL) { + suspend_all_script(enemy->aiScriptID); + } + if (enemy->auxScript != NULL) { + suspend_all_script(enemy->auxScriptID); + } + } + } + } + } + + enemy = currentEncounter->currentEnemy; + if ((enemy->flags & ENEMY_FLAGS_100000) && !currentEncounter->scriptedBattle) { + currentEncounter->unk_94 = 0; + currentEncounter->battleStartCountdown = 0; + partner_handle_before_battle(); + gEncounterSubState = ENCOUNTER_SUBSTATE_PRE_BATTLE_3; + return; + } + + if (gGameStatusPtr->debugEnemyContact == 2) { + currentEncounter->unk_94 = 0; + currentEncounter->battleStartCountdown = 10; + partner_handle_before_battle(); + gEncounterSubState = ENCOUNTER_SUBSTATE_PRE_BATTLE_AUTO_WIN; + return; + } + + enemy = currentEncounter->currentEnemy; + if (currentEncounter->hitType != ENCOUNTER_TRIGGER_NONE && + currentEncounter->hitType != ENCOUNTER_TRIGGER_SPIN && + is_ability_active(ABILITY_FIRST_ATTACK) && + (playerData->level >= enemy->npcSettings->level) && + !(enemy->flags & ENEMY_FLAGS_40) && + !currentEncounter->scriptedBattle) + { + currentEncounter->unk_94 = 0; + currentEncounter->battleStartCountdown = 0xA; + D_80077C40 = 1; + gEncounterSubState = ENCOUNTER_SUBSTATE_PRE_BATTLE_AUTO_WIN; + return; + } + + enemy = currentEncounter->currentEnemy; + if (( + (is_ability_active(ABILITY_BUMP_ATTACK)) && + (playerData->level >= enemy->npcSettings->level) && + (!(enemy->flags & ENEMY_FLAGS_40) && + !(currentEncounter->scriptedBattle)) + ) || ( + (enemy = currentEncounter->currentEnemy, + (currentEncounter->hitType == ENCOUNTER_TRIGGER_SPIN)) && + (is_ability_active(ABILITY_SPIN_ATTACK)) && + playerData->level >= enemy->npcSettings->level && + !(enemy->flags & ENEMY_FLAGS_40) && + !currentEncounter->scriptedBattle + )) + { + currentEncounter->battleStartCountdown = 10; + D_80077C40 = 1; + currentEncounter->unk_94 = 0; + gEncounterSubState = ENCOUNTER_SUBSTATE_PRE_BATTLE_AUTO_WIN; + return; + } + + if (currentEncounter->songID < 0) { + switch (currentEncounter->firstStrikeType) { + case 0: + bgm_set_battle_song(SONG_NORMAL_BATTLE, FIRST_STRIKE_NONE); + break; + case 1: + bgm_set_battle_song(SONG_NORMAL_BATTLE, FIRST_STRIKE_PLAYER); + break; + case 2: + bgm_set_battle_song(SONG_NORMAL_BATTLE, FIRST_STRIKE_ENEMY); + break; + } + } else { + bgm_set_battle_song(currentEncounter->songID, FIRST_STRIKE_NONE); + } + bgm_push_battle_song(); + D_8009A654 = TRUE; + currentEncounter->battleStartCountdown = 10; + gEncounterSubState = ENCOUNTER_SUBSTATE_PRE_BATTLE_LOAD_BATTLE; + case ENCOUNTER_SUBSTATE_PRE_BATTLE_LOAD_BATTLE: + if (currentEncounter->fadeOutAmount == 255) { + if (currentEncounter->battleStartCountdown != 0) { + currentEncounter->battleStartCountdown--; + break; + } + + encounter = currentEncounter->currentEncounter; + for (i = 0; i < encounter->count; i++) { + enemy = encounter->enemy[i]; + if (enemy != NULL && + ((!(enemy->flags & ENEMY_FLAGS_8) || enemy == currentEncounter->currentEnemy)) && + !(enemy->flags & ENEMY_FLAGS_20) && + enemy->hitScript != NULL) + { + kill_script_by_ID(enemy->hitScriptID); + enemy->hitScript = NULL; + } + } + + partner_handle_before_battle(); + currentEncounter->dizzyAttackStatus = 0; + currentEncounter->dizzyAttackDuration = 0; + + enemy = currentEncounter->currentEnemy; + currentEncounter->unk_10 = enemy->unk_B5; + + if (is_ability_active(ABILITY_DIZZY_ATTACK) && currentEncounter->hitType == ENCOUNTER_TRIGGER_SPIN) { + currentEncounter->dizzyAttackStatus = 4; + currentEncounter->dizzyAttackDuration = 3; + } + + sfx_stop_sound(SOUND_2111); + sfx_stop_sound(SOUND_2112); + sfx_stop_sound(SOUND_2113); + sfx_stop_sound(SOUND_2114); + set_battle_formation(NULL); + set_battle_stage(encounter->stage); + load_battle(encounter->battle); + currentEncounter->unk_07 = 1; + currentEncounter->unk_08 = 0; + currentEncounter->merleeCoinBonus = 0; + currentEncounter->damageTaken = 0; + currentEncounter->coinsEarned = 0; + currentEncounter->fadeOutAccel = 0; + currentEncounter->fadeOutAmount = 255; + set_screen_overlay_params_front(0, 255.0f); + gEncounterState = ENCOUNTER_STATE_POST_BATTLE; + D_8009A678 = 1; + gEncounterSubState = ENCOUNTER_SUBSTATE_POST_BATTLE_INIT; + } + break; + case ENCOUNTER_SUBSTATE_PRE_BATTLE_AUTO_WIN: + if (currentEncounter->battleStartCountdown != 0) { + currentEncounter->battleStartCountdown--; + break; + } + + encounter = currentEncounter->currentEncounter; + for (i = 0; i < encounter->count; i++) { + enemy = encounter->enemy[i]; + if (enemy != NULL && + (!(enemy->flags & ENEMY_FLAGS_8) || enemy == currentEncounter->currentEnemy) && + !(enemy->flags & ENEMY_FLAGS_20) && + (enemy->hitScript != 0)) + { + kill_script_by_ID(enemy->hitScriptID); + enemy->hitScript = NULL; + } + } + + currentEncounter->unk_08 = 1; + currentEncounter->unk_07 = 1; + currentEncounter->battleOutcome = OUTCOME_PLAYER_WON; + currentEncounter->merleeCoinBonus = 0; + currentEncounter->damageTaken = 0; + gEncounterState = ENCOUNTER_STATE_POST_BATTLE; + currentEncounter->coinsEarned = 0; + currentEncounter->fadeOutAccel = 0; + currentEncounter->fadeOutAmount = 0; + D_8009A678 = 1; + gEncounterSubState = ENCOUNTER_SUBSTATE_POST_BATTLE_INIT; + break; + case ENCOUNTER_SUBSTATE_PRE_BATTLE_3: + currentEncounter->battleOutcome = OUTCOME_4; + currentEncounter->unk_08 = 1; + currentEncounter->fadeOutAmount = 0; + currentEncounter->fadeOutAccel = 0; + gEncounterState = ENCOUNTER_STATE_POST_BATTLE; + D_8009A678 = 1; + gEncounterSubState = ENCOUNTER_SUBSTATE_POST_BATTLE_INIT; + break; + } +} + +void draw_encounters_pre_battle(void) { + EncounterStatus* encounter = &gCurrentEncounter; + Npc* npc = get_npc_unsafe(encounter->currentEnemy->npcID); + PlayerStatus* playerStatus = &gPlayerStatus; + + if (encounter->unk_94 != 0) { + f32 playerX, playerY, playerZ; + f32 otherX, otherY, otherZ; + s32 pScreenX, pScreenY, pScreenZ; + s32 oScreenX, oScreenY, oScreenZ; + + if (encounter->fadeOutAmount != 255) { + encounter->fadeOutAccel++; + if (encounter->fadeOutAccel > 10) { + encounter->fadeOutAccel = 10; + } + + encounter->fadeOutAmount += encounter->fadeOutAccel; + if (encounter->fadeOutAmount > 255) { + encounter->fadeOutAmount = 255; + } + + playerX = playerStatus->position.x; + playerY = playerStatus->position.y; + playerZ = playerStatus->position.z; + + otherX = npc->pos.x; + otherY = npc->pos.y; + otherZ = npc->pos.z; + if (otherY < -990.0f) { + otherX = playerX; + otherY = playerY; + otherZ = playerZ; + } + + if (gGameStatusPtr->demoState == 2) { + set_screen_overlay_params_back(10, encounter->fadeOutAmount); + set_screen_overlay_alpha(1, 255.0f); + set_screen_overlay_color(1, 0, 0, 0); + get_screen_coords(gCurrentCameraID, playerX, playerY + 20.0f, playerZ, &pScreenX, &pScreenY, &pScreenZ); + get_screen_coords(gCurrentCameraID, otherX, otherY + 15.0f, otherZ, &oScreenX, &oScreenY, &oScreenZ); + set_screen_overlay_center(1, 0, (pScreenX - oScreenX) / 2 + oScreenX, + (pScreenY - oScreenY) / 2 + oScreenY); + } else { + set_screen_overlay_params_front(10, encounter->fadeOutAmount); + set_screen_overlay_alpha(0, 255.0f); + set_screen_overlay_color(0, 0, 0, 0); + get_screen_coords(gCurrentCameraID, playerX, playerY + 20.0f, playerZ, &pScreenX, &pScreenY, &pScreenZ); + get_screen_coords(gCurrentCameraID, otherX, otherY + 15.0f, otherZ, &oScreenX, &oScreenY, &oScreenZ); + set_screen_overlay_center(0, 0, (pScreenX - oScreenX) / 2 + oScreenX, + (pScreenY - oScreenY) / 2 + oScreenY); + } + } + } +} + +void show_first_strike_message(void) { + EncounterStatus* currentEncounter = &gCurrentEncounter; + s32 posX; + s32 width; + s32 xOffset; + s32 screenWidthHalf; + + if (currentEncounter->unk_94 == 0) { + gFirstStrikeMessagePos = -200; + return; + } + + gFirstStrikeMessagePos += 40; + xOffset = gFirstStrikeMessagePos; + if (xOffset > 0) { + if (xOffset < 1600) { + xOffset = 0; + } else { + xOffset -= 1600; + } + } + + screenWidthHalf = SCREEN_WIDTH / 2; + + switch (currentEncounter->firstStrikeType) { + case FIRST_STRIKE_PLAYER: + switch (currentEncounter->hitType) { + case 2: + case 4: + width = get_msg_width(MSG_Menus_PlayerFirstStrike, 0) + 24; + posX = (xOffset + screenWidthHalf) - (width / 2); + draw_box(0, 0x14, posX, 69, 0, width, 28, 255, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, NULL, 0, NULL, + SCREEN_WIDTH, SCREEN_HEIGHT, NULL); + draw_msg(MSG_Menus_PlayerFirstStrike, posX + 11, 75, 0xFF, 0xA, 0); + break; + case 6: + width = get_msg_width(MSG_Menus_PartnerFirstStrike, 0) + 24; + posX = (xOffset + screenWidthHalf) - (width / 2); + draw_box(0, 0x14, posX, 69, 0, width, 28, 255, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, NULL, 0, NULL, + SCREEN_WIDTH, SCREEN_HEIGHT, NULL); + draw_msg(MSG_Menus_PartnerFirstStrike, posX + 11, 75, 0xFF, 0xA, 0); + break; + } + break; + case FIRST_STRIKE_ENEMY: + if (!is_ability_active(ABILITY_CHILL_OUT)) { + width = get_msg_width(MSG_Menus_EnemyFirstStrike, 0) + 24; + posX = (xOffset + screenWidthHalf) - (width / 2); + draw_box(0, 4, posX, 69, 0, width, 28, 255, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, NULL, 0, NULL, + SCREEN_WIDTH, SCREEN_HEIGHT, NULL); + draw_msg(MSG_Menus_EnemyFirstStrike, posX + 11, 75, 0xFF, 0xA, 0); + } + break; + } +} + +void update_encounters_post_battle(void) { + EncounterStatus* currentEncounter = &gCurrentEncounter; + PlayerStatus* playerStatus = &gPlayerStatus; + PlayerData* playerData = &gPlayerData; + PartnerActionStatus* partnerActionStatus = &gPartnerActionStatus; + Encounter* encounter; + Evt* script; + Enemy* enemy; + s32 i, j; + s32 cond; + Npc* npc; + + switch (gEncounterSubState) { + case ENCOUNTER_SUBSTATE_POST_BATTLE_INIT: + if (currentEncounter->unk_08 == 0) { + return; + } + + currentEncounter->unk_08 = 0; + gPlayerStatus.blinkTimer = 0; + currentEncounter->scriptedBattle = FALSE; + func_800E97E4(); + currentEncounter->dizzyAttackStatus = 0; + currentEncounter->unk_A4 = 0; + currentEncounter->unk_A8 = 0; + currentEncounter->unk_AC = 0; + currentEncounter->dizzyAttackDuration = 0; + currentEncounter->unk_A6 = 0; + currentEncounter->unk_AA = 0; + currentEncounter->unk_AE = 0; + if (D_8009A654 == TRUE) { + bgm_pop_battle_song(); + } + currentEncounter->fadeOutAccel = 1; + currentEncounter->battleStartCountdown = 0; + D_8009A670 = FALSE; + gPlayerStatus.flags &= ~PS_FLAGS_40000; + if (currentEncounter->hitType == ENCOUNTER_TRIGGER_SPIN) { + D_8009A670 = TRUE; + } + currentEncounter->hitType = 0; + if (D_80077C40 == 0) { + partner_handle_after_battle(); + } + D_8009A63C = FALSE; + if (partnerActionStatus->partnerAction_unk_1) { + D_8009A63C = TRUE; + } else if (D_8009A670 == 0 && + !(gPlayerStatus.flags & (PS_FLAGS_JUMPING | PS_FLAGS_FALLING)) && + gPlayerStatus.actionState != ACTION_STATE_RIDE && + gPlayerStatus.actionState != ACTION_STATE_USE_SPINNING_FLOWER) { + set_action_state(ACTION_STATE_IDLE); + } + switch (currentEncounter->battleOutcome) { + case OUTCOME_PLAYER_WON: + gEncounterSubState = ENCOUNTER_SUBSTATE_POST_BATTLE_WON_CHECK_MERLEE_BONUS; + break; + case OUTCOME_PLAYER_LOST: + gEncounterSubState = ENCOUNTER_SUBSTATE_POST_BATTLE_LOST_INIT; + break; + case OUTCOME_PLAYER_FLED: + gEncounterSubState = ENCOUNTER_SUBSTATE_POST_BATTLE_FLED_INIT; + break; + case OUTCOME_4: + gEncounterSubState = ENCOUNTER_SUBSTATE_POST_BATTLE_300; + break; + case OUTCOME_ENEMY_FLED: + gEncounterSubState = ENCOUNTER_SUBSTATE_POST_BATTLE_ENEMY_FLED_INIT; + break; + } + break; + case ENCOUNTER_SUBSTATE_POST_BATTLE_WON_CHECK_MERLEE_BONUS: + if (currentEncounter->merleeCoinBonus != 0) { + if (get_coin_drop_amount(currentEncounter->currentEnemy) != 0) { + D_800A0BB0 = start_script(&D_80077C44, EVT_PRIORITY_A, 0); + D_800A0BB0->groupFlags = 0; + D_800A0BB4 = D_800A0BB0->id; + } else { + playerData->merleeTurnCount = 0; + playerData->merleeCastsLeft++; + } + } + gEncounterSubState = ENCOUNTER_SUBSTATE_POST_BATTLE_PLAY_NPC_DEFEAT; + break; + case ENCOUNTER_SUBSTATE_POST_BATTLE_PLAY_NPC_DEFEAT: + if ((currentEncounter->merleeCoinBonus != 0) && (get_coin_drop_amount(currentEncounter->currentEnemy) != 0)) { + currentEncounter->fadeOutAccel += 4; + currentEncounter->fadeOutAmount -= currentEncounter->fadeOutAccel; + if (currentEncounter->fadeOutAmount < 0) { + currentEncounter->fadeOutAmount = 0; + } + if (does_script_exist(D_800A0BB4)) { + break; + } + } + encounter = currentEncounter->currentEncounter; + for (i = 0; i < encounter->count; i++) { + enemy = encounter->enemy[i]; + if (enemy == NULL) { + continue; + } + if ((enemy->flags & ENEMY_FLAGS_8) && enemy != currentEncounter->currentEnemy) { + continue; + } + if (enemy->flags & ENEMY_FLAGS_20) { + continue; + } + if (enemy->defeatBytecode != NULL) { + script = start_script_in_group(enemy->defeatBytecode, EVT_PRIORITY_A, 0, 0); + enemy->defeatScript = script; + enemy->defeatScriptID = script->id; + script->owner1.enemy = enemy; + script->owner2.npcID = enemy->npcID; + script->groupFlags = 0; + currentEncounter->battleStartCountdown = 1; + } else { + script = start_script_in_group(&SCRIPT_NpcDefeat, EVT_PRIORITY_A, 0, 0); + enemy->defeatScript = script; + enemy->defeatScriptID = script->id; + script->owner1.enemy = enemy; + script->owner2.npcID = enemy->npcID; + script->groupFlags = 0; + } + } + if (!(currentEncounter->flags & ENCOUNTER_STATUS_FLAGS_1) && !D_8009A63C && currentEncounter->battleStartCountdown == 0 && D_8009A670 == 0) { + suggest_player_anim_clearUnkFlag(0x10032); + } + gEncounterSubState = ENCOUNTER_SUBSTATE_POST_BATTLE_WON_WAIT; + break; + case ENCOUNTER_SUBSTATE_POST_BATTLE_WON_WAIT: + if (currentEncounter->fadeOutAmount == 0) { + gEncounterSubState = ENCOUNTER_SUBSTATE_POST_BATTLE_WON_KILL; + } else { + currentEncounter->fadeOutAccel += 4; + currentEncounter->fadeOutAmount -= currentEncounter->fadeOutAccel; + if (currentEncounter->fadeOutAmount < 0) { + currentEncounter->fadeOutAmount = 0; + } + } + break; + case ENCOUNTER_SUBSTATE_POST_BATTLE_WON_KILL: + cond = FALSE; + encounter = currentEncounter->currentEncounter; + for (i = 0; i < encounter->count; i++) { + enemy = encounter->enemy[i]; + if (enemy == NULL) { + continue; + } + if ((enemy->flags & ENEMY_FLAGS_8) && enemy != currentEncounter->currentEnemy) { + continue; + } + if (enemy->flags & ENEMY_FLAGS_20) { + continue; + } + if (does_script_exist(enemy->defeatScriptID)) { + cond = TRUE; + } else { + enemy->defeatScript = NULL; + } + } + if (!cond) { + if (!(currentEncounter->flags & ENCOUNTER_STATUS_FLAGS_1) && !D_8009A63C && currentEncounter->battleStartCountdown == 1) { + suggest_player_anim_clearUnkFlag(ANIM_Mario_ThumbsUp); + } + encounter = currentEncounter->currentEncounter; + for (i = 0; i < encounter->count; i++) { + enemy = encounter->enemy[i]; + enemy = encounter->enemy[i]; + if (enemy == NULL) { + continue; + } + if (enemy->flags & ENEMY_FLAGS_4) { + continue; + } + if ((enemy->flags & ENEMY_FLAGS_8) && enemy != currentEncounter->currentEnemy) { + continue; + } + if (!(enemy->flags & ENEMY_FLAGS_1)) { + if (!(enemy->flags & ENEMY_FLAGS_FLED)) { + set_defeated(currentEncounter->mapID, encounter->encounterID + i); + } + } + kill_enemy(enemy); + } + + currentEncounter->unk_94 = 0; + if (!(currentEncounter->flags & ENCOUNTER_STATUS_FLAGS_1) && !D_8009A63C && currentEncounter->battleStartCountdown == 1) { + currentEncounter->unk_94 = 30; + } + gEncounterSubState = ENCOUNTER_SUBSTATE_POST_BATTLE_WON_TO_NEUTRAL; + } + break; + case ENCOUNTER_SUBSTATE_POST_BATTLE_WON_TO_NEUTRAL: + if (!(currentEncounter->flags & ENCOUNTER_STATUS_FLAGS_2) && (gGameStatusPtr->stickX[0] != 0 || gGameStatusPtr->stickY[0] != 0)) { + currentEncounter->unk_94 = 0; + } + if (currentEncounter->unk_94 != 0) { + currentEncounter->unk_94--; + break; + } + + for (i = 0; i < currentEncounter->numEncounters; i++) { + encounter = currentEncounter->encounterList[i]; + if (encounter == NULL) { + continue; + } + for (j = 0; j < encounter->count; j++) { + enemy = encounter->enemy[j]; + if (enemy == NULL || (enemy->flags & ENEMY_FLAGS_20)) { + continue; + } + if (enemy->aiScript != NULL) { + resume_all_script(enemy->aiScriptID); + } + if (enemy->auxScript != NULL) { + resume_all_script(enemy->auxScriptID); + } + } + } + + currentEncounter->battleTriggerCooldown = 15; + enable_player_input(); + partner_enable_input(); + if (!D_8009A63C) { + suggest_player_anim_clearUnkFlag(ANIM_Mario_10002); + } + set_screen_overlay_params_front(255, -1.0f); + resume_all_group(EVT_GROUP_10); + gEncounterState = ENCOUNTER_STATE_NEUTRAL; + D_8009A678 = 1; + gEncounterSubState = ENCOUNTER_SUBSTATE_NEUTRAL; + break; + case ENCOUNTER_SUBSTATE_POST_BATTLE_FLED_INIT: + encounter = currentEncounter->currentEncounter; + for (i = 0; i < encounter->count; i++) { + enemy = encounter->enemy[i]; + if (enemy == NULL) { + continue; + } + if ((enemy->flags & ENEMY_FLAGS_8) && enemy != currentEncounter->currentEnemy) { + continue; + } + + if (enemy->flags & ENEMY_FLAGS_20) { + continue; + } + + if (enemy->defeatBytecode != NULL) { + script = start_script(enemy->defeatBytecode, EVT_PRIORITY_A, 0); + enemy->defeatScript = script; + enemy->defeatScriptID = script->id; + enemy->aiFlags |= 1; + script->owner1.enemy = enemy; + script->owner2.npcID = enemy->npcID; + script->groupFlags = enemy->scriptGroup; + } + } + gEncounterSubState = ENCOUNTER_SUBSTATE_POST_BATTLE_FLED_WAIT; + break; + case ENCOUNTER_SUBSTATE_POST_BATTLE_FLED_WAIT: + if (currentEncounter->fadeOutAmount == 0) { + gEncounterSubState = ENCOUNTER_SUBSTATE_POST_BATTLE_102; + } else { + currentEncounter->fadeOutAccel += 4; + currentEncounter->fadeOutAmount -= currentEncounter->fadeOutAccel; + if (currentEncounter->fadeOutAmount < 0) { + currentEncounter->fadeOutAmount = 0; + } + } + break; + case ENCOUNTER_SUBSTATE_POST_BATTLE_102: + encounter = currentEncounter->currentEncounter; + cond = FALSE; + for (i = 0; i < encounter->count; i++) { + enemy = encounter->enemy[i]; + if (enemy == NULL) { + continue; + } + if (!(enemy->flags & ENEMY_FLAGS_20)) { + if (does_script_exist(enemy->defeatScriptID)) { + cond = TRUE; + } else { + enemy->defeatScript = NULL; + } + } + } + if (!cond) { + for (i = 0; i < currentEncounter->numEncounters; i++) { + encounter = currentEncounter->encounterList[i]; + if (encounter == NULL) { + continue; + } + for (j = 0; j < encounter->count; j++) { + enemy = encounter->enemy[j]; + if (enemy == NULL || (enemy->flags & ENEMY_FLAGS_20)) { + continue; + } + if (enemy->aiScript != NULL) { + resume_all_script(enemy->aiScriptID); + } + if (enemy->auxScript != NULL) { + resume_all_script(enemy->auxScriptID); + } + } + } + + enemy = currentEncounter->currentEnemy; + encounter = currentEncounter->currentEncounter;; + if (!(enemy->flags & ENEMY_FLAGS_40000)) { + enemy->aiPaused = 45; + playerStatus->blinkTimer = 45; + for (j = 0; j < encounter->count; j++) { + enemy = encounter->enemy[j]; + if (enemy == NULL) { + continue; + } + if (enemy->flags & ENEMY_FLAGS_20) { + continue; + } + if (enemy->flags & ENEMY_FLAGS_8) { + continue; + } + enemy->aiPaused = 45; + playerStatus->blinkTimer = 45; + } + } + + enemy = currentEncounter->currentEnemy; + if (!(currentEncounter->flags & ENCOUNTER_STATUS_FLAGS_4)) { + script = start_script(&D_80077E9C, EVT_PRIORITY_A, 0); + enemy->defeatScript = script; + enemy->defeatScriptID = script->id; + script->owner1.enemy = enemy; + script->owner2.npcID = enemy->npcID; + script->groupFlags = enemy->scriptGroup; + } + + currentEncounter->battleTriggerCooldown = 45; + playerStatus->blinkTimer = 45; + enable_player_input(); + partner_enable_input(); + set_screen_overlay_params_front(255, -1.0f); + if (!D_8009A63C) { + currentEncounter->unk_94 = 15; + } else { + currentEncounter->unk_94 = 0; + } + gEncounterSubState = ENCOUNTER_SUBSTATE_POST_BATTLE_103; + } + break; + case ENCOUNTER_SUBSTATE_POST_BATTLE_103: + if (currentEncounter->unk_94 != 0) { + currentEncounter->unk_94--; + if (gGameStatusPtr->currentButtons[0] == 0 && gGameStatusPtr->stickX[0] == 0 && gGameStatusPtr->stickY[0] == 0) { + break; + } + } + if (!D_8009A63C && playerStatus->anim == ANIM_Mario_50000) { + suggest_player_anim_clearUnkFlag(ANIM_Mario_10002); + } + resume_all_group(EVT_GROUP_10); + gEncounterState = ENCOUNTER_STATE_NEUTRAL; + D_8009A678 = 1; + gEncounterSubState = ENCOUNTER_SUBSTATE_NEUTRAL; + break; + case ENCOUNTER_SUBSTATE_POST_BATTLE_LOST_INIT: + suggest_player_anim_clearUnkFlag(ANIM_Mario_80009); + encounter = currentEncounter->currentEncounter; + for (i = 0; i < encounter->count; i++) { + enemy = encounter->enemy[i]; + if (enemy == NULL) { + continue; + } + if ((enemy->flags & ENEMY_FLAGS_8) && enemy != currentEncounter->currentEnemy) { + continue; + } + + if (enemy->flags & ENEMY_FLAGS_20) { + continue; + } + + if (enemy->defeatBytecode != NULL) { + script = start_script(enemy->defeatBytecode, 0xA, 0); + enemy->defeatScript = script; + enemy->defeatScriptID = script->id; + script->owner1.enemy = enemy; + script->owner2.npcID = enemy->npcID; + script->groupFlags = enemy->scriptGroup; + } + } + gEncounterSubState = ENCOUNTER_SUBSTATE_POST_BATTLE_LOST_WAIT; + break; + case ENCOUNTER_SUBSTATE_POST_BATTLE_LOST_WAIT: + if (currentEncounter->fadeOutAmount == 0) { + gEncounterSubState = ENCOUNTER_SUBSTATE_POST_BATTLE_202; + } else { + currentEncounter->fadeOutAccel += 4; + currentEncounter->fadeOutAmount -= currentEncounter->fadeOutAccel; + if (currentEncounter->fadeOutAmount < 0) { + currentEncounter->fadeOutAmount = 0; + } + } + break; + case ENCOUNTER_SUBSTATE_POST_BATTLE_202: + cond = FALSE; + encounter = currentEncounter->currentEncounter; + for (i = 0; i < encounter->count; i++) { + enemy = encounter->enemy[i]; + if (enemy == NULL) { + continue; + } + if (!(enemy->flags & ENEMY_FLAGS_20)) { + if (does_script_exist(enemy->defeatScriptID)) { + cond = TRUE; + } else { + enemy->defeatScript = NULL; + } + } + } + if (!cond) { + for (i = 0; i < currentEncounter->numEncounters; i++) { + encounter = currentEncounter->encounterList[i]; + if (encounter == NULL) { + continue; + } + for (j = 0; j < encounter->count; j++) { + enemy = encounter->enemy[j]; + if (enemy == NULL || (enemy->flags & ENEMY_FLAGS_20)) { + continue; + } + if (enemy->aiScript != NULL) { + resume_all_script(enemy->aiScriptID); + } + if (enemy->auxScript != NULL) { + resume_all_script(enemy->auxScriptID); + } + } + } + enable_player_input(); + partner_enable_input(); + set_screen_overlay_params_front(255, -1.0f); + currentEncounter->unk_94 = 15; + gEncounterSubState = ENCOUNTER_SUBSTATE_POST_BATTLE_LOST_TO_NEUTRAL; + } + break; + case ENCOUNTER_SUBSTATE_POST_BATTLE_LOST_TO_NEUTRAL: + if (currentEncounter->unk_94 != 0) { + currentEncounter->unk_94--; + if (gGameStatusPtr->currentButtons[0] == 0 && gGameStatusPtr->stickX[0] == 0 && gGameStatusPtr->stickY[0] == 0) { + break; + } + } + resume_all_group(EVT_GROUP_10); + gEncounterState = ENCOUNTER_STATE_NEUTRAL; + D_8009A678 = 1; + gEncounterSubState = ENCOUNTER_SUBSTATE_NEUTRAL; + break; + case ENCOUNTER_SUBSTATE_POST_BATTLE_300: + for (i = 0; i < currentEncounter->numEncounters; i++) { + encounter = currentEncounter->encounterList[i]; + if (encounter == NULL) { + continue; + } + for (j = 0; j < encounter->count; j++) { + enemy = encounter->enemy[j]; + if (enemy == NULL || (enemy->flags & ENEMY_FLAGS_20)) { + continue; + } + if (enemy->aiScript != NULL) { + resume_all_script(enemy->aiScriptID); + } + if (enemy->auxScript != NULL) { + resume_all_script(enemy->auxScriptID); + } + } + } + enable_player_input(); + partner_enable_input(); + set_screen_overlay_params_front(255, -1.0f); + resume_all_group(EVT_GROUP_10); + gEncounterState = ENCOUNTER_STATE_NEUTRAL; + D_8009A678 = 1; + gEncounterSubState = ENCOUNTER_SUBSTATE_NEUTRAL; + break; + case ENCOUNTER_SUBSTATE_POST_BATTLE_ENEMY_FLED_INIT: + encounter = currentEncounter->currentEncounter; + for (i = 0; i < encounter->count; i++) { + enemy = encounter->enemy[i]; + if (enemy == NULL) { + continue; + } + if ((enemy->flags & ENEMY_FLAGS_8) && enemy != currentEncounter->currentEnemy) { + continue; + } + + if (enemy->flags & ENEMY_FLAGS_20) { + continue; + } + + if (enemy->defeatBytecode != NULL) { + script = start_script(enemy->defeatBytecode, 0xA, 0); + enemy->defeatScript = script; + enemy->defeatScriptID = script->id; + script->owner1.enemy = enemy; + script->owner2.npcID = enemy->npcID; + script->groupFlags = enemy->scriptGroup; + } + } + gEncounterSubState = ENCOUNTER_SUBSTATE_POST_BATTLE_ENEMY_FLED_WAIT; + break; + case ENCOUNTER_SUBSTATE_POST_BATTLE_ENEMY_FLED_WAIT: + if (currentEncounter->fadeOutAmount == 0) { + gEncounterSubState = ENCOUNTER_SUBSTATE_POST_BATTLE_ENEMY_FLED_TO_NEUTRAL; + } else { + currentEncounter->fadeOutAccel += 4; + currentEncounter->fadeOutAmount -= currentEncounter->fadeOutAccel; + if (currentEncounter->fadeOutAmount < 0) { + currentEncounter->fadeOutAmount = 0; + } + } + break; + case ENCOUNTER_SUBSTATE_POST_BATTLE_ENEMY_FLED_TO_NEUTRAL: + cond = FALSE; + encounter = currentEncounter->currentEncounter; + for (i = 0; i < encounter->count; i++) { + enemy = encounter->enemy[i]; + if (enemy == NULL) { + continue; + } + if (!(enemy->flags & ENEMY_FLAGS_20)) { + if (does_script_exist(enemy->defeatScriptID)) { + cond = TRUE; + } else { + enemy->defeatScript = NULL; + } + } + } + if (!cond) { + for (i = 0; i < currentEncounter->numEncounters; i++) { + encounter = currentEncounter->encounterList[i]; + if (encounter == NULL) { + continue; + } + for (j = 0; j < encounter->count; j++) { + enemy = encounter->enemy[j]; + if (enemy == NULL || (enemy->flags & ENEMY_FLAGS_20)) { + continue; + } + if (enemy->aiScript != NULL) { + resume_all_script(enemy->aiScriptID); + } + if (enemy->auxScript != NULL) { + resume_all_script(enemy->auxScriptID); + } + } + } + + enemy = currentEncounter->currentEnemy; + if (!(enemy->flags & ENEMY_FLAGS_4)) { + encounter = currentEncounter->currentEncounter; + enemy->aiPaused = 45; + playerStatus->blinkTimer = 45; + for (j = 0; j < encounter->count; j++) { + enemy = encounter->enemy[j]; + if (enemy == NULL) { + continue; + } + if (enemy->flags & ENEMY_FLAGS_20) { + continue; + } + if (enemy->flags & ENEMY_FLAGS_8) { + continue; + } + enemy->aiPaused = 45; + playerStatus->blinkTimer = 45; + } + } + + currentEncounter->battleTriggerCooldown = 45; + enable_player_input(); + partner_enable_input(); + set_screen_overlay_params_front(255, -1.0f); + resume_all_group(EVT_GROUP_10); + gEncounterState = ENCOUNTER_STATE_NEUTRAL; + D_8009A678 = 1; + gEncounterSubState = ENCOUNTER_SUBSTATE_NEUTRAL; + } + break; + } + + for (i = 0; i < currentEncounter->numEncounters; i++) { + encounter = currentEncounter->encounterList[i]; + if (encounter == NULL) { + continue; + } + for (j = 0; j < encounter->count; j++) { + enemy = encounter->enemy[j]; + if (enemy == NULL || (enemy->flags & ENEMY_FLAGS_20)) { + continue; + } + + npc = get_npc_unsafe(enemy->npcID); + if (enemy->aiPaused != 0) { + if (enemy->aiPaused & 1) { + npc->flags |= NPC_FLAG_80000000; + enemy->flags |= ENEMY_FLAGS_80000000; + } else { + npc->flags &= ~NPC_FLAG_80000000; + enemy->flags &= ~ENEMY_FLAGS_80000000; + } + } + } + } +} + +void draw_encounters_post_battle(void) { + EncounterStatus* currentEncounter = &gCurrentEncounter; + s32 ret = currentEncounter->fadeOutAccel; + + if (ret != 0) { + set_screen_overlay_params_front(0, currentEncounter->fadeOutAmount); + set_screen_overlay_color(0, 0, 0, 0); + } +} + +void update_encounters_conversation(void) { + EncounterStatus* encounter = &gCurrentEncounter; + PlayerStatus* playerStatus = &gPlayerStatus; + Enemy* currentEnemy; + s32 flag; + + switch (gEncounterSubState) { + case ENCOUNTER_SUBSTATE_CONVERSATION_INIT: + currentEnemy = encounter->currentEnemy; + flag = FALSE; + + if (currentEnemy->interactScript != NULL) { + if (does_script_exist(currentEnemy->interactScriptID)) { + flag = TRUE; + } else { + currentEnemy->interactScript = NULL; + } + } + + if (currentEnemy->hitScript != NULL) { + if (does_script_exist(currentEnemy->hitScriptID)) { + flag = TRUE; + } else { + currentEnemy->hitScript = NULL; + } + } + + if (!flag) { + gEncounterSubState = ENCOUNTER_SUBSTATE_CONVERSATION_END; + } + break; + case ENCOUNTER_SUBSTATE_CONVERSATION_END: + resume_all_group(EVT_GROUP_01); + + currentEnemy = encounter->currentEnemy; + if (currentEnemy != NULL && currentEnemy->aiScript != NULL) { + resume_all_script(currentEnemy->aiScriptID); + } + + enable_player_input(); + partner_enable_input(); + + if (playerStatus->actionState == ACTION_STATE_TALK) { + set_action_state(ACTION_STATE_IDLE); + } + + func_800EF3D4(0); + encounter->hitType = 0; + resume_all_group(EVT_GROUP_10); + gEncounterState = ENCOUNTER_STATE_NEUTRAL; + D_8009A678 = 1; + gEncounterSubState = ENCOUNTER_SUBSTATE_NEUTRAL; + break; + } +} + +void draw_encounters_conversation(void) { +} + +s32 check_conversation_trigger(void) { + PlayerStatus* playerStatus = &gPlayerStatus; + Camera* camera = &gCameras[gCurrentCameraID]; + EncounterStatus* encounterStatus = &gCurrentEncounter; + f32 npcX, npcY, npcZ; + f32 angle; + f32 deltaX, deltaZ; + Encounter* encounter; + f32 playerX, playerY, playerZ; + f32 playerColliderHeight; + f32 playerColliderRadius; + f32 length; + f32 npcCollisionHeight; + f32 npcCollisionRadius; + Encounter* encounterTemp; + Npc* npc; + Npc* encounterNpc; + Enemy* enemy; + Enemy* encounterEnemy; + f32 minLength; + f32 xTemp, yTemp, zTemp; + s32 i, j; + + playerStatus->encounteredNPC = NULL; + playerStatus->flags &= ~PS_FLAGS_HAS_CONVERSATION_NPC; + playerColliderHeight = playerStatus->colliderHeight; + playerColliderRadius = playerStatus->colliderDiameter / 2; + playerX = playerStatus->position.x; + playerY = playerStatus->position.y; + playerZ = playerStatus->position.z; + + if (gPartnerActionStatus.partnerActionState != PARTNER_ACTION_NONE) { + return FALSE; + } + + encounter = NULL; + npc = NULL; + enemy = NULL; + minLength = 65535.0f; + + for (i = 0; i < encounterStatus->numEncounters; i++) { + encounterTemp = encounterStatus->encounterList[i]; + + if (encounterTemp == NULL) { + continue; + } + + for (j = 0; j < encounterTemp->count; j++) { + encounterEnemy = encounterTemp->enemy[j]; + + if (encounterEnemy == NULL) { + continue; + } + + if (encounterEnemy->flags & (ENEMY_FLAGS_80000000 | ENEMY_FLAGS_20)) { + continue; + } + + if (!(encounterEnemy->flags & ENEMY_FLAGS_1)) { + continue; + } + + if ((encounterEnemy->flags & ENEMY_FLAGS_8000000) || encounterEnemy->interactBytecode == NULL) { + continue; + } + + encounterNpc = get_npc_unsafe(encounterEnemy->npcID); + + npcX = encounterNpc->pos.x; + npcY = encounterNpc->pos.y; + npcZ = encounterNpc->pos.z; + deltaX = npcX - playerX; + deltaZ = npcZ - playerZ; + npcCollisionHeight = encounterNpc->collisionHeight; + npcCollisionRadius = encounterNpc->collisionRadius; + length = sqrtf(SQ(deltaX) + SQ(deltaZ)); + + if ((playerColliderRadius + npcCollisionRadius <= length) || + (npcY + npcCollisionHeight < playerY) || + (playerY + playerColliderHeight < npcY)) { + continue; + } + + if (clamp_angle(playerStatus->spriteFacingAngle) < 180.0f) { + angle = clamp_angle(camera->currentYaw - 120.0f); + if (playerStatus->trueAnimation & SPRITE_ID_BACK_FACING) { + angle = clamp_angle(angle + 60.0f); + } + } else { + angle = clamp_angle(camera->currentYaw + 120.0f); + if (playerStatus->trueAnimation & SPRITE_ID_BACK_FACING) { + angle = clamp_angle(angle - 60.0f); + } + } + + if (fabsf(get_clamped_angle_diff(angle, atan2(playerX, playerZ, npcX, npcZ))) > 90.0f) { + continue; + } + + if (!(encounterEnemy->flags & ENEMY_FLAGS_10000) && encounterNpc->flags & NPC_FLAG_20000000) { + xTemp = npcX; + yTemp = npcY; + zTemp = npcZ; + + if (npc_test_move_taller_with_slipping(0, &xTemp, &yTemp, &zTemp, length, + atan2(npcX, npcZ, playerX, playerZ), + npcCollisionHeight, + 2.0f * npcCollisionRadius) != 0) { + continue; + } + } + + if (length < minLength) { + minLength = length; + encounter = encounterTemp; + npc = encounterNpc; + enemy = encounterEnemy; + } + } + } + + if (!(playerStatus->animFlags & PA_FLAGS_8BIT_MARIO) && npc != NULL && !is_picking_up_item()) { + playerStatus->encounteredNPC = npc; + playerStatus->flags |= PS_FLAGS_HAS_CONVERSATION_NPC; + if (playerStatus->pressedButtons & BUTTON_A) { + close_status_menu(); + gCurrentEncounter.hitType = ENCOUNTER_TRIGGER_CONVERSATION; + enemy->encountered = ENCOUNTER_TRIGGER_CONVERSATION; + encounterStatus->currentEncounter = encounter; + encounterStatus->currentEnemy = enemy; + encounterStatus->firstStrikeType = FIRST_STRIKE_PLAYER; + return TRUE; + } + } + return FALSE; +} + +void create_encounters(void) { + EncounterStatus* currentEncounter = &gCurrentEncounter; + NpcBlueprint sp10; + NpcBlueprint* bp = &sp10; + NpcGroup* groupList = (NpcGroup*)(currentEncounter->npcGroupList); + s32 groupNpcCount; + s32 mapID = currentEncounter->mapID; + + Npc* newNpc; + s32 newNpcIndex; + s32 npcCount; + + NpcSettings* npcSettings; + StaticNpc* npcData; + Enemy* enemy; + Encounter* encounter; + Evt* script; + + s32 totalNpcCount; + + s32 cond1; + s32 cond2; + s32 i; + s32 k; + s32 e; + + switch (gEncounterSubState) { + case ENCOUNTER_SUBSTATE_CREATE_INIT: + if (currentEncounter->resetMapEncounterFlags != 1) { + // check for current map among most recently visited + for (i = 0; i < ARRAY_COUNT(currentEncounter->recentMaps); i++) { + if (currentEncounter->recentMaps[i] == mapID) { + break; + } + } + // current map not found in recent: reset all defeat flags + if (i >= ARRAY_COUNT(currentEncounter->recentMaps)) { + for (k = 0; k < ARRAY_COUNT(currentEncounter->defeatFlags[mapID]); k++) { + currentEncounter->defeatFlags[mapID][k] = FALSE; + } + } + // add current map to recent maps, pushing out the least recent + for (i = 0; i < ARRAY_COUNT(currentEncounter->recentMaps) - 1; i++) { + currentEncounter->recentMaps[i] = currentEncounter->recentMaps[i + 1]; + } + currentEncounter->recentMaps[i] = mapID; + } + + e = 0; + totalNpcCount = 0; + while(TRUE) { + if (groupList->npcCount == 0) { + break; + } + + npcData = groupList->npcs; + groupNpcCount = groupList->npcCount; + + encounter = heap_malloc(sizeof(*encounter)); + + currentEncounter->encounterList[e] = encounter; + ASSERT(encounter != NULL); + encounter->count = groupNpcCount; + encounter->battle = groupList->battle; + encounter->stage = groupList->stage - 1; + encounter->encounterID = totalNpcCount; + for (i = 0; i < groupNpcCount; i++) { + if (get_defeated(mapID, encounter->encounterID + i)) { + npcData++; + encounter->enemy[i] = NULL; + continue; + } + + enemy = encounter->enemy[i] = heap_malloc(sizeof(*enemy)); + ASSERT (enemy != NULL); + + for (k = 0; k < ARRAY_COUNT(enemy->varTable); k++) { + enemy->varTable[k] = 0; + } + enemy->encounterIndex = e; + enemy->npcID = npcData->id; + npcSettings = enemy->npcSettings = npcData->settings; + enemy->drops = &npcData->drops; + if ((*(s16*)(&npcData->drops) & 0xFF00) != 0x8000) { //TODO s16? + enemy->drops = &D_80077EB8; + } + enemy->encountered = 0; + if ((s32) npcData->init < EVT_LIMIT) { + enemy->initBytecode = npcData->init; + } else { + enemy->initBytecode = NULL; + } + enemy->interactBytecode = npcSettings->onInteract; + enemy->aiBytecode = npcSettings->ai; + enemy->hitBytecode = npcSettings->onHit; + enemy->auxBytecode = npcSettings->aux; + enemy->defeatBytecode = npcSettings->onDefeat; + enemy->initScript = NULL; + enemy->interactScript = NULL; + enemy->aiScript = NULL; + enemy->hitScript = NULL; + enemy->auxScript = NULL; + enemy->defeatScript = NULL; + enemy->interactScriptID = 0; + enemy->aiScriptID = 0; + enemy->hitScriptID = 0; + enemy->auxScriptID = 0; + enemy->defeatScriptID = 0; + enemy->unk_07 = 0; + enemy->unk_B5 = 0; + enemy->aiDetectFlags = npcData->aiDetectFlags; + + + enemy->aiFlags = npcData->aiFlags; + enemy->unk_DC = 0; + enemy->aiPaused = 0; + enemy->unk_B8 = (EvtScript*)npcSettings->unk_24; // ?? + enemy->unk_BC = NULL; + enemy->unk_C0 = 0; + enemy->unk_C4 = 0; + + enemy->animList = (s32*)&npcData->animations; + enemy->territory = &npcData->territory; + + enemy->flags = npcSettings->flags; + enemy->flags |= npcData->flags; + enemy->unk_64 = NULL; + enemy->tattleMsg = npcData->tattle; + if (npcData->initVarCount != 0) { + if (npcData->initVarCount == 1) { + enemy->varTable[0] = npcData->initVar.value; + } else { + s32* initialVars = npcData->initVar.array; + for (k = 0; k < npcData->initVarCount; k++) { + enemy->varTable[k] = *initialVars++; + } + } + } + + // create the new NPC + bp->flags = 0; + if (npcSettings->defaultAnim == 0) { + bp->initialAnim = enemy->animList[0]; + } else { + bp->initialAnim = npcSettings->defaultAnim; + } + bp->onUpdate = NULL; + bp->onRender = NULL; + if (!(enemy->flags & ENEMY_FLAGS_20000)) { + newNpcIndex = _create_npc_standard(bp, (AnimID*) npcData->extraAnimations); + } else { + newNpcIndex = _create_npc_partner(bp); + } + + newNpc = get_npc_by_index(newNpcIndex); + newNpc->npcID = npcData->id; + newNpc->collisionRadius = npcSettings->radius; + newNpc->collisionHeight = npcSettings->height; + enemy->spawnPos[0] = newNpc->pos.x = npcData->pos.x; + enemy->spawnPos[1] = newNpc->pos.y = npcData->pos.y; + enemy->spawnPos[2] = newNpc->pos.z = npcData->pos.z; + newNpc->unk_96 = 0; + newNpc->planarFlyDist = 0.0f; + newNpc->homePos.x = newNpc->pos.x; + newNpc->homePos.y = newNpc->pos.y; + newNpc->homePos.z = newNpc->pos.z; + set_npc_yaw(newNpc, npcData->yaw); + enemy->unk_E0 = 12345; + if (newNpc->collisionRadius >= 24.0) { + newNpc->shadowScale = newNpc->collisionRadius / 24.0; + } else { + newNpc->shadowScale = 1.0f; + } + if (enemy->flags & ENEMY_FLAGS_100) { + newNpc->flags |= NPC_FLAG_40; + } + if (enemy->flags & ENEMY_FLAGS_200) { + newNpc->flags |= NPC_FLAG_100; + } + if (enemy->flags & ENEMY_FLAGS_400) { + newNpc->flags |= NPC_FLAG_8000; + } + if (enemy->flags & ENEMY_FLAGS_800) { + newNpc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + } + if (enemy->flags & ENEMY_FLAGS_GRAVITY) { + newNpc->flags |= NPC_FLAG_GRAVITY; + } + if (!(enemy->flags & ENEMY_FLAGS_1)) { + newNpc->flags |= NPC_FLAG_100; + } + if (enemy->flags & ENEMY_FLAGS_4000) { + newNpc->flags |= NPC_FLAG_1000000; + } + if (enemy->flags & ENEMY_FLAGS_2000) { + newNpc->flags |= NPC_FLAG_NO_AI; + } + if (enemy->flags & ENEMY_FLAGS_8000) { + newNpc->flags |= NPC_FLAG_10000000; + } + if (enemy->flags & ENEMY_FLAGS_10000) { + newNpc->flags |= NPC_FLAG_20000000; + } + if (enemy->flags & ENEMY_FLAGS_80) { + newNpc->flags |= NPC_FLAG_LOCK_ANIMS; + } + enemy->scriptGroup = EVT_GROUP_08 | EVT_GROUP_02 | EVT_GROUP_01; + if (enemy->flags & ENEMY_FLAGS_1) { + enemy->scriptGroup = EVT_GROUP_08 | EVT_GROUP_02; + } + if (npcSettings->otherAI != NULL) { + script = start_script(npcSettings->otherAI, EVT_PRIORITY_A, 0); + enemy->aiScript = script; + enemy->aiScriptID = script->id; + script->owner1.enemy = enemy; + script->owner2.npcID = enemy->npcID; + script->groupFlags = enemy->scriptGroup; + } + + npcData++; + } + groupList++; + e++; + totalNpcCount += groupNpcCount; + } + currentEncounter->numEncounters = e; + gEncounterSubState = ENCOUNTER_SUBSTATE_CREATE_RUN_INIT_SCRIPT; + break; + + case ENCOUNTER_SUBSTATE_CREATE_RUN_INIT_SCRIPT: + cond2 = FALSE; + for (e = 0; e < currentEncounter->numEncounters; e++) { + encounter = currentEncounter->encounterList[e]; + if (encounter == NULL) { + continue; + } + for (i = 0; i < encounter->count; i++) { + enemy = encounter->enemy[i]; + if (enemy == NULL) { + continue; + } + if (enemy->aiScript != NULL) { + if (does_script_exist(enemy->aiScriptID)) { + cond2 = TRUE; + } + } + } + } + if (!cond2) { + for (e = 0; e < currentEncounter->numEncounters; e++) { + encounter = currentEncounter->encounterList[e]; + if (encounter == NULL) { + continue; + } + for (i = 0; i < encounter->count; i++) { + enemy = encounter->enemy[i]; + if (enemy == NULL) { + continue; + } + if (enemy->initBytecode != NULL) { + script = start_script(enemy->initBytecode, EVT_PRIORITY_A, 0); + enemy->initScript = script; + enemy->initScriptID = script->id; + script->owner1.enemy = enemy; + script->owner2.npcID = enemy->npcID; + script->groupFlags = enemy->scriptGroup; + } + } + } + gEncounterSubState = ENCOUNTER_SUBSTATE_CREATE_RUN_AI; + } + break; + + case ENCOUNTER_SUBSTATE_CREATE_RUN_AI: + cond1 = FALSE; + + for (e = 0; e < currentEncounter->numEncounters; e++) { + encounter = currentEncounter->encounterList[e]; + if (encounter == NULL) { + continue; + } + for (i = 0; i < encounter->count; i++) { + enemy = encounter->enemy[i]; + if (enemy == NULL) { + continue; + } + if (enemy->initScript != NULL) { + if (does_script_exist(enemy->initScriptID)) { + cond1 = TRUE; + } else { + enemy->initScript = NULL; + } + } + } + } + + if (cond1) { + break; + } + + for (e = 0; e < currentEncounter->numEncounters; e++) { + encounter = currentEncounter->encounterList[e]; + if (encounter == NULL) { + continue; + } + for (i = 0; i < encounter->count; i++) { + enemy = encounter->enemy[i]; + if (enemy == NULL) { + continue; + } + if (!(enemy->flags & ENEMY_FLAGS_20)) { + if (enemy->aiBytecode != NULL) { + script = start_script(enemy->aiBytecode, EVT_PRIORITY_A, 0); + enemy->aiScript = script; + enemy->aiScriptID = script->id; + enemy->unk_C8 = 100; + script->owner1.enemy = enemy; + script->owner2.npcID = enemy->npcID; + script->groupFlags = enemy->scriptGroup; + } + } + } + } + + for (e = 0; e < currentEncounter->numEncounters; e++) { + encounter = currentEncounter->encounterList[e]; + if (encounter == NULL) { + continue; + } + for (i = 0; i < encounter->count; i++) { + enemy = encounter->enemy[i]; + if (enemy == NULL) { + continue; + } + if (!(enemy->flags & ENEMY_FLAGS_20)) { + if (enemy->auxBytecode != NULL) { + script = start_script(enemy->auxBytecode, EVT_PRIORITY_A, 0); + enemy->auxScript = script; + enemy->auxScriptID = script->id; + script->owner1.enemy = enemy; + script->owner2.npcID = enemy->npcID; + script->groupFlags = enemy->scriptGroup; + } + } + } + } + resume_all_group(EVT_GROUP_10); + gEncounterState = ENCOUNTER_STATE_NEUTRAL; + D_8009A678 = 1; + gEncounterSubState = ENCOUNTER_SUBSTATE_NEUTRAL; + break; + } +} + +void init_encounters_ui(void) { +} + +s32 is_starting_conversation(void) { + s32 ret = gEncounterState == ENCOUNTER_STATE_PRE_BATTLE; + + if (gCurrentEncounter.hitType == ENCOUNTER_TRIGGER_CONVERSATION) { + ret = TRUE; + } + return ret; +} diff --git a/src/encounter_api.c b/src/encounter_api.c index 0a6c41ac62..0713601aed 100644 --- a/src/encounter_api.c +++ b/src/encounter_api.c @@ -51,7 +51,7 @@ ApiStatus MakeNpcs(Evt* script, s32 isInitialCall) { script->functionTemp[0] = 1; break; case 1: - if (gGameState != script->functionTemp[0]) { + if (gEncounterState != ENCOUNTER_STATE_CREATE) { return ApiStatus_DONE2; } } @@ -186,14 +186,14 @@ void start_battle(Evt* script, s32 songID) { Encounter* encounter; s32 i; - resume_all_group(1); + resume_all_group(EVT_GROUP_01); - currentEncounter->hitType = 1; + currentEncounter->hitType = ENCOUNTER_TRIGGER_NONE; enemy->encountered = TRUE; currentEncounter->currentEnemy = enemy; currentEncounter->currentEncounter = currentEncounter->encounterList[enemy->encounterIndex]; currentEncounter->firstStrikeType = FIRST_STRIKE_NONE; - currentEncounter->allowFleeing = 0; + currentEncounter->allowFleeing = FALSE; currentEncounter->songID = songID; currentEncounter->unk_18 = -1; @@ -231,10 +231,10 @@ void start_battle(Evt* script, s32 songID) { currentEncounter->fadeOutAmount = 0; currentEncounter->unk_94 = 0; - currentEncounter->unk_12 = 1; - gGameState = 3; + currentEncounter->scriptedBattle = TRUE; + gEncounterState = ENCOUNTER_STATE_PRE_BATTLE; D_8009A678 = 1; - D_8009A5D0 = 0; + gEncounterSubState = ENCOUNTER_SUBSTATE_PRE_BATTLE_INIT; } ApiStatus StartBattle(Evt* script, s32 isInitialCall) { @@ -254,9 +254,9 @@ ApiStatus StartBossBattle(Evt* script, s32 isInitialCall) { Encounter* encounter; s32 i; - resume_all_group(1); + resume_all_group(EVT_GROUP_01); - currentEncounter->hitType = 1; + currentEncounter->hitType = ENCOUNTER_TRIGGER_NONE; enemy->encountered = TRUE; currentEncounter->currentEnemy = enemy; currentEncounter->currentEncounter = currentEncounter->encounterList[enemy->encounterIndex]; @@ -297,10 +297,10 @@ ApiStatus StartBossBattle(Evt* script, s32 isInitialCall) { currentEncounter->fadeOutAmount = 0; currentEncounter->unk_94 = 0; - currentEncounter->unk_12 = 1; - gGameState = 3; + currentEncounter->scriptedBattle = TRUE; + gEncounterState = ENCOUNTER_STATE_PRE_BATTLE; D_8009A678 = 1; - D_8009A5D0 = 0; + gEncounterSubState = ENCOUNTER_SUBSTATE_PRE_BATTLE_INIT; return ApiStatus_DONE1; } @@ -309,7 +309,7 @@ ApiStatus SetBattleMusic(Evt* script, s32 isInitialCall) { Bytecode songID = evt_get_variable(script, *script->ptrReadPos); EncounterStatus* currentEncounter = &gCurrentEncounter; - currentEncounter->allowFleeing = 1; + currentEncounter->allowFleeing = TRUE; currentEncounter->songID = songID; currentEncounter->unk_18 = -1; return ApiStatus_DONE2; @@ -772,7 +772,7 @@ ApiStatus func_800457C4(Evt* script, s32 isInitialCall) { } ApiStatus func_800457F8(Evt* script, s32 isInitialCall) { - gCurrentEncounter.unk_12 = 1; + gCurrentEncounter.scriptedBattle = TRUE; return ApiStatus_DONE2; } diff --git a/src/entity/Chest.c b/src/entity/Chest.c index 7faaeae080..fb794ef09e 100644 --- a/src/entity/Chest.c +++ b/src/entity/Chest.c @@ -70,7 +70,7 @@ void entity_Chest_adjust_camera(Entity* entity) { script = &Entity_Chest_AdjustCam_KZN; } if (script != NULL) { - start_script(script, EVT_PRIORITY_A, EVT_FLAG_20); + start_script(script, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY); } } @@ -85,7 +85,7 @@ void entity_Chest_reset_camera(Entity* entity) { } else { script = &Entity_Chest_ResetCam_Default; } - start_script(script, EVT_PRIORITY_A, EVT_FLAG_20); + start_script(script, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY); } void entity_Chest_setupGfx(s32 entityIndex) { diff --git a/src/evt/evt.c b/src/evt/evt.c index c4549b9093..f5978234f6 100644 --- a/src/evt/evt.c +++ b/src/evt/evt.c @@ -985,7 +985,7 @@ s32 evt_trigger_on_activate_exec_script(Trigger* trigger) { return 0; } - script = start_script(scriptStart, trigger->priority, EVT_FLAG_20); + script = start_script(scriptStart, trigger->priority, EVT_FLAG_RUN_IMMEDIATELY); trigger->runningScript = script; trigger->runningScriptID = script->id; script->varTable[0] = trigger->varTable[0]; @@ -1105,7 +1105,7 @@ ApiStatus evt_handle_does_script_exist(Evt* script) { s32 evt_trigger_on_activate_lock(Trigger* trigger) { if (trigger->runningScript == NULL) { - Evt* newScript = start_script(trigger->onTriggerEvt, trigger->priority, EVT_FLAG_20); + Evt* newScript = start_script(trigger->onTriggerEvt, trigger->priority, EVT_FLAG_RUN_IMMEDIATELY); trigger->runningScript = newScript; trigger->runningScriptID = newScript->id; newScript->varTable[0] = trigger->varTable[0]; @@ -1166,7 +1166,7 @@ ApiStatus evt_handle_thread(Evt* script) { } while (opcode != EVT_OP_END_THREAD); script->ptrNextLine = endLine; - newScript = start_script_in_group((EvtScript*)startLine, script->priority, (EVT_FLAG_20 | EVT_FLAG_40), script->groupFlags); + newScript = start_script_in_group((EvtScript*)startLine, script->priority, EVT_FLAG_RUN_IMMEDIATELY | EVT_FLAG_THREAD, script->groupFlags); newScript->owner1.enemyID = script->owner1.enemyID; newScript->owner2.npcID = script->owner2.npcID; newScript->array = script->array; @@ -1203,7 +1203,7 @@ ApiStatus evt_handle_child_thread(Evt* script) { } while (opcode != EVT_OP_END_CHILD_THREAD); script->ptrNextLine = endLine; - newScript = func_802C39F8(script, startLine, (EVT_FLAG_20 | EVT_FLAG_40)); + newScript = func_802C39F8(script, startLine, EVT_FLAG_RUN_IMMEDIATELY | EVT_FLAG_THREAD); newScript->owner1.enemyID = script->owner1.enemyID; newScript->owner2.npcID = script->owner2.npcID; newScript->groupFlags = script->groupFlags; diff --git a/src/evt/script_list.c b/src/evt/script_list.c index 80d0467c1d..a67db90c7b 100644 --- a/src/evt/script_list.c +++ b/src/evt/script_list.c @@ -213,7 +213,7 @@ void init_script_list(void) { } void suspend_frozen_scripts(Evt* script) { - s32 arg; + s32 groupFlags; switch (timeFreezeMode) { default: @@ -221,14 +221,14 @@ void suspend_frozen_scripts(Evt* script) { case 4: return; case 1: - arg = 1; + groupFlags = EVT_GROUP_01; break; case 2: case 3: - arg = 2; + groupFlags = EVT_GROUP_02; break; } - suspend_all_group(arg); + suspend_all_group(groupFlags); } Evt* start_script(EvtScript* source, s32 priority, s32 initialState) { @@ -250,7 +250,7 @@ Evt* start_script(EvtScript* source, s32 priority, s32 initialState) { gNumScripts++; ASSERT(newScript != NULL); - newScript->state = initialState | EVT_FLAG_01; + newScript->state = initialState | EVT_FLAG_ACTIVE; newScript->currentOpcode = 0; newScript->priority = priority; newScript->ptrNextLine = (Bytecode*)source; @@ -283,7 +283,7 @@ Evt* start_script(EvtScript* source, s32 priority, s32 initialState) { find_script_labels(newScript); - if (gIsUpdatingScripts && (newScript->state & EVT_FLAG_20)) { + if (gIsUpdatingScripts && (newScript->state & EVT_FLAG_RUN_IMMEDIATELY)) { scriptListCount = gScriptListCount++; gScriptIndexList[scriptListCount] = curScriptIndex; gScriptIdList[scriptListCount] = newScript->id; @@ -322,7 +322,7 @@ Evt* start_script_in_group(EvtScript* source, u8 priority, u8 initialState, u8 g // Some of this function is surely macros. I think we'll learn more as we do others in this file. -Ethan do { - newScript->state = initialState | EVT_FLAG_01; + newScript->state = initialState | EVT_FLAG_ACTIVE; newScript->currentOpcode = 0; newScript->priority = priority; newScript->id = gStaticScriptCounter++; @@ -353,7 +353,7 @@ Evt* start_script_in_group(EvtScript* source, u8 priority, u8 initialState, u8 g find_script_labels(newScript); - if (gIsUpdatingScripts && (newScript->state & EVT_FLAG_20)) { + if (gIsUpdatingScripts && (newScript->state & EVT_FLAG_RUN_IMMEDIATELY)) { scriptListCount = gScriptListCount++; gScriptIndexList[scriptListCount] = curScriptIndex; gScriptIdList[scriptListCount] = newScript->id; @@ -390,8 +390,8 @@ Evt* start_child_script(Evt* parentScript, EvtScript* source, s32 initialState) ASSERT(child != NULL); parentScript->childScript = child; - parentScript->state |= EVT_FLAG_10; - child->state = initialState | EVT_FLAG_01; + parentScript->state |= EVT_FLAG_BLOCKED_BY_CHILD; + child->state = initialState | EVT_FLAG_ACTIVE; child->ptrCurrentLine = child->ptrFirstLine = child->ptrNextLine = (Bytecode*)source; @@ -459,7 +459,7 @@ Evt* func_802C39F8(Evt* parentScript, Bytecode* nextLine, s32 newState) { gNumScripts++; ASSERT(child != NULL); - child->state = newState | EVT_FLAG_01; + child->state = newState | EVT_FLAG_ACTIVE; child->ptrNextLine = nextLine; child->ptrFirstLine = nextLine; child->ptrCurrentLine = nextLine; @@ -581,7 +581,7 @@ void update_scripts(void) { for (i = 0; i < gScriptListCount; i++) { Evt* script = (*gCurrentScriptListPtr)[gScriptIndexList[i]]; - if (script != NULL && script->id == gScriptIdList[i] && script->state != 0 && !(script->state & 0x92)) { + if (script != NULL && script->id == gScriptIdList[i] && script->state != 0 && !(script->state & (EVT_FLAG_SUSPENDED | EVT_FLAG_BLOCKED_BY_CHILD | EVT_FLAG_SUSPENDED_IN_GROUP))) { s32 stop = FALSE; s32 status; @@ -646,7 +646,7 @@ void kill_script(Evt* instanceToKill) { blockingParent = instanceToKill->blockingParent; if (blockingParent != NULL) { blockingParent->childScript = NULL; - blockingParent->state &= ~0x10; + blockingParent->state &= ~EVT_FLAG_BLOCKED_BY_CHILD; for (j = 0; j < ARRAY_COUNT(blockingParent->varTable); j++) { blockingParent->varTable[j] = instanceToKill->varTable[j]; @@ -777,7 +777,7 @@ void suspend_group_script(Evt* script, s32 groupFlags) { } if ((script->groupFlags & groupFlags) != 0) { - script->state |= 0x2; + script->state |= EVT_FLAG_SUSPENDED_IN_GROUP; } } @@ -798,7 +798,7 @@ void resume_group_script(Evt* script, s32 groupFlags) { } if ((script->groupFlags & groupFlags) != 0) { - script->state &= ~0x2; + script->state &= ~EVT_FLAG_SUSPENDED_IN_GROUP; } } diff --git a/src/main_loop.c b/src/main_loop.c index 7dd5ad0a2f..b5ad26ede3 100644 --- a/src/main_loop.c +++ b/src/main_loop.c @@ -325,25 +325,25 @@ void set_time_freeze_mode(s32 mode) { case 0: timeFreezeMode = mode; gOverrideFlags &= ~(GLOBAL_OVERRIDES_800 | GLOBAL_OVERRIDES_400 | GLOBAL_OVERRIDES_200 | GLOBAL_OVERRIDES_DISABLE_BATTLES); - resume_all_group(3); + resume_all_group(EVT_GROUP_01 | EVT_GROUP_02); break; case 1: timeFreezeMode = mode; gOverrideFlags &= ~(GLOBAL_OVERRIDES_800 | GLOBAL_OVERRIDES_400 | GLOBAL_OVERRIDES_200); gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_BATTLES; - suspend_all_group(1); + suspend_all_group(EVT_GROUP_01); break; case 2: timeFreezeMode = mode; gOverrideFlags &= ~(GLOBAL_OVERRIDES_400 | GLOBAL_OVERRIDES_800); gOverrideFlags |= GLOBAL_OVERRIDES_200 | GLOBAL_OVERRIDES_DISABLE_BATTLES; - suspend_all_group(2); + suspend_all_group(EVT_GROUP_02); break; case 3: timeFreezeMode = mode; gOverrideFlags &= ~GLOBAL_OVERRIDES_800; gOverrideFlags |= GLOBAL_OVERRIDES_400 | GLOBAL_OVERRIDES_200 | GLOBAL_OVERRIDES_DISABLE_BATTLES; - suspend_all_group(2); + suspend_all_group(EVT_GROUP_02); break; case 4: timeFreezeMode = mode; diff --git a/src/npc.c b/src/npc.c index 4587ac5f6d..d5c2edb204 100644 --- a/src/npc.c +++ b/src/npc.c @@ -2240,7 +2240,7 @@ void init_encounter_status(void) { currentEncounter->battleTriggerCooldown = 0; currentEncounter->npcGroupList = 0; currentEncounter->unk_08 = 0; - currentEncounter->dropWhackaBump = 0; + currentEncounter->dropWhackaBump = FALSE; for (i = 0; i < ARRAY_COUNT(currentEncounter->defeatFlags); i++) { for (j = 0; j < ARRAY_COUNT(currentEncounter->defeatFlags[i]); j++) { @@ -2253,7 +2253,7 @@ void init_encounter_status(void) { } func_80045AC0(); - gGameState = 0; + gEncounterState = ENCOUNTER_STATE_NONE; create_generic_entity_world(0, npc_dyn_entity_draw_no_op); } @@ -2289,10 +2289,10 @@ void clear_encounter_status(void) { currentEncounter->currentEntryIndex = gGameStatusPtr->entryID; currentEncounter->npcGroupList = 0; currentEncounter->unk_08 = 0; - currentEncounter->unk_12 = 0; + currentEncounter->scriptedBattle = FALSE; func_80045AC0(); - gGameState = 0; + gEncounterState = ENCOUNTER_STATE_NONE; create_generic_entity_world(NULL, npc_dyn_entity_draw_no_op); } @@ -2304,22 +2304,22 @@ void func_8003E514(s8 arg0) { } void update_encounters(void) { - switch (gGameState) { - case 0: + switch (gEncounterState) { + case ENCOUNTER_STATE_NONE: break; - case 1: + case ENCOUNTER_STATE_CREATE: create_encounters(); break; - case 2: + case ENCOUNTER_STATE_NEUTRAL: update_encounters_neutral(); break; - case 3: + case ENCOUNTER_STATE_PRE_BATTLE: update_encounters_pre_battle(); break; - case 4: + case ENCOUNTER_STATE_CONVERSATION: update_encounters_conversation(); break; - case 5: + case ENCOUNTER_STATE_POST_BATTLE: update_encounters_post_battle(); break; } @@ -2328,22 +2328,22 @@ void update_encounters(void) { } void draw_encounter_ui(void) { - switch (gGameState) { - case 0: + switch (gEncounterState) { + case ENCOUNTER_STATE_NONE: break; - case 1: + case ENCOUNTER_STATE_CREATE: init_encounters_ui(); break; - case 2: + case ENCOUNTER_STATE_NEUTRAL: draw_encounters_neutral(); break; - case 3: + case ENCOUNTER_STATE_PRE_BATTLE: draw_encounters_pre_battle(); break; - case 4: + case ENCOUNTER_STATE_CONVERSATION: draw_encounters_conversation(); break; - case 5: + case ENCOUNTER_STATE_POST_BATTLE: draw_encounters_post_battle(); break; } @@ -2352,12 +2352,12 @@ void draw_encounter_ui(void) { } void draw_first_strike_ui(void) { - switch (gGameState) { - case 0: - default: + switch (gEncounterState) { + case ENCOUNTER_STATE_NONE: break; - case 3: + case ENCOUNTER_STATE_PRE_BATTLE: show_first_strike_message(); + break; } } @@ -2388,9 +2388,9 @@ void make_npcs(s32 flags, s32 mapID, s32* npcGroupList) { } if (npcGroupList != NULL) { - gGameState = 1; + gEncounterState = ENCOUNTER_STATE_CREATE; D_8009A678 = 1; - D_8009A5D0 = 0; + gEncounterSubState = ENCOUNTER_SUBSTATE_CREATE_INIT; } } @@ -2461,7 +2461,7 @@ void kill_enemy(Enemy* enemy) { if (!(enemy->flags & ENEMY_FLAGS_4)) { if (!(enemy->flags & ENEMY_FLAGS_8) || (enemy == encounterStatus->currentEnemy)) { if (!(enemy->flags & ENEMY_FLAGS_1)) { - if (!(enemy->flags & ENEMY_FLAGS_10)) { + if (!(enemy->flags & ENEMY_FLAGS_FLED)) { COPY_set_defeated(encounterStatus->mapID, encounter->encounterID + i); } } diff --git a/src/world/area_arn/arn_02/arn_02_4_npc.c b/src/world/area_arn/arn_02/arn_02_4_npc.c index ceb08691f0..ca5a94c5b7 100644 --- a/src/world/area_arn/arn_02/arn_02_4_npc.c +++ b/src/world/area_arn/arn_02/arn_02_4_npc.c @@ -8,7 +8,7 @@ StaticNpc N(NpcData_HyperCleft_01) = { .settings = &N(NpcSettings_HyperCleft), .pos = { -196.0f, 130.0f, 104.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .drops = HYPER_CLEFT_DROPS, .territory = { .wander = { @@ -31,7 +31,7 @@ StaticNpc N(NpcData_HyperCleft_02) = { .settings = &N(NpcSettings_HyperCleft), .pos = { 641.0f, 268.0f, 202.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .drops = HYPER_CLEFT_DROPS, .territory = { .wander = { @@ -54,7 +54,7 @@ StaticNpc N(NpcData_HyperGoomba) = { .settings = &N(NpcSettings_HyperGoomba), .pos = { 333.0f, 215.0f, 85.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .drops = HYPER_GOOMBA_DROPS, .territory = { .wander = { diff --git a/src/world/area_arn/arn_03/arn_03_3_npc.c b/src/world/area_arn/arn_03/arn_03_3_npc.c index afa63a75a1..8f6235b5ee 100644 --- a/src/world/area_arn/arn_03/arn_03_3_npc.c +++ b/src/world/area_arn/arn_03/arn_03_3_npc.c @@ -380,7 +380,7 @@ StaticNpc N(NpcData_Boo_01) = { .settings = &N(NpcSettings_Boo_Patrol), .pos = { 36.0f, 185.0f, 140.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400, .init = &N(EVS_NpcInit_Boo_01), .drops = BOO_DROPS, .territory = { @@ -406,7 +406,7 @@ StaticNpc N(NpcData_Boo_02) = { .settings = &N(NpcSettings_Boo), .pos = { 209.0f, 185.0f, 217.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400, .init = &N(EVS_NpcInit_Boo_02), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -418,7 +418,7 @@ StaticNpc N(NpcData_Boo_03) = { .settings = &N(NpcSettings_Boo_Patrol), .pos = { 379.0f, 186.0f, 186.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400, .init = &N(EVS_NpcInit_Boo_03), .drops = BOO_DROPS, .territory = { @@ -444,7 +444,7 @@ StaticNpc N(NpcData_Boo_04) = { .settings = &N(NpcSettings_Boo), .pos = { 544.0f, 235.0f, 128.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400, .init = &N(EVS_NpcInit_Boo_04), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -456,7 +456,7 @@ StaticNpc N(NpcData_Boo_05) = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400, .init = &N(EVS_NpcInit_Boo_05), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -520,7 +520,7 @@ StaticNpc N(NpcData_Boo_06)[] = { .settings = &N(NpcSettings_Boo), .pos = { 36.0f, 277.0f, 140.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Boo_06), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -530,7 +530,7 @@ StaticNpc N(NpcData_Boo_06)[] = { .settings = &N(NpcSettings_Boo), .pos = { 180.0f, 285.0f, 182.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Boo_07), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -540,7 +540,7 @@ StaticNpc N(NpcData_Boo_06)[] = { .settings = &N(NpcSettings_Boo), .pos = { 349.0f, 286.0f, 152.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Boo_08), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -550,7 +550,7 @@ StaticNpc N(NpcData_Boo_06)[] = { .settings = &N(NpcSettings_Boo), .pos = { 490.0f, 324.0f, 128.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Boo_09), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, diff --git a/src/world/area_arn/arn_04/arn_04_3_npc.c b/src/world/area_arn/arn_04/arn_04_3_npc.c index 7df762badc..517d8acd2c 100644 --- a/src/world/area_arn/arn_04/arn_04_3_npc.c +++ b/src/world/area_arn/arn_04/arn_04_3_npc.c @@ -9,7 +9,7 @@ StaticNpc N(NpcData_HyperParagoomba) = { .settings = &N(NpcSettings_HyperParagoomba), .pos = { -350.0f, 180.0f, 150.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .drops = HYPER_PARAGOOMBA_DROPS, .territory = { .wander = { @@ -32,7 +32,7 @@ StaticNpc N(NpcData_HyperGoomba) = { .settings = &N(NpcSettings_HyperGoomba_Patrol), .pos = { 360.0f, 208.0f, 100.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .drops = HYPER_GOOMBA_DROPS, .territory = { .wander = { @@ -55,7 +55,7 @@ StaticNpc N(NpcData_HyperCleft_01) = { .settings = &N(NpcSettings_HyperCleft), .pos = { 150.0f, 177.0f, 160.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .drops = HYPER_CLEFT_DROPS, .territory = { .wander = { @@ -78,7 +78,7 @@ StaticNpc N(NpcData_HyperCleft_02) = { .settings = &N(NpcSettings_HyperCleft), .pos = { 550.0f, 230.0f, 125.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .drops = HYPER_CLEFT_DROPS, .territory = { .wander = { diff --git a/src/world/area_arn/arn_05/arn_05_3_npc.c b/src/world/area_arn/arn_05/arn_05_3_npc.c index b16c06dd2c..184b66e8ff 100644 --- a/src/world/area_arn/arn_05/arn_05_3_npc.c +++ b/src/world/area_arn/arn_05/arn_05_3_npc.c @@ -234,7 +234,7 @@ StaticNpc N(NpcData_Boo_01)[] = { .settings = &N(NpcSettings_Boo_Patrol), .pos = { 55.0f, 195.0f, 160.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Boo_01), .drops = BOO_DROPS, .territory = { @@ -259,7 +259,7 @@ StaticNpc N(NpcData_Boo_01)[] = { .settings = &N(NpcSettings_Boo), .pos = { 160.0f, 191.0f, 250.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Boo_02), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -270,7 +270,7 @@ StaticNpc N(NpcData_Boo_01)[] = { .settings = &N(NpcSettings_Boo), .pos = { 390.0f, 190.0f, 255.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Boo_03), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -281,7 +281,7 @@ StaticNpc N(NpcData_Boo_01)[] = { .settings = &N(NpcSettings_Boo), .pos = { 503.0f, 206.0f, 210.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Boo_04), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -292,7 +292,7 @@ StaticNpc N(NpcData_Boo_01)[] = { .settings = &N(NpcSettings_Boo_Patrol), .pos = { 350.0f, 185.0f, 197.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Boo_05), .drops = BOO_DROPS, .territory = { @@ -639,7 +639,7 @@ StaticNpc N(NpcData_Tubba) = { .settings = &N(NpcSettings_TubbaBlubba), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Tubba), .drops = TUBBA_DROPS, .animations = TUBBA_ANIMS, @@ -704,7 +704,7 @@ StaticNpc N(NpcData_Boo_06)[] = { .settings = &N(NpcSettings_Boo), .pos = { 36.0f, 277.0f, 140.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Boo_06), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -714,7 +714,7 @@ StaticNpc N(NpcData_Boo_06)[] = { .settings = &N(NpcSettings_Boo), .pos = { 200.0f, 275.0f, 182.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Boo_07), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -724,7 +724,7 @@ StaticNpc N(NpcData_Boo_06)[] = { .settings = &N(NpcSettings_Boo), .pos = { 379.0f, 300.0f, 192.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Boo_08), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -734,7 +734,7 @@ StaticNpc N(NpcData_Boo_06)[] = { .settings = &N(NpcSettings_Boo), .pos = { 525.0f, 286.0f, 178.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Boo_09), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, diff --git a/src/world/area_arn/arn_07/arn_07_5_npc.c b/src/world/area_arn/arn_07/arn_07_5_npc.c index 079d058a53..47351920e0 100644 --- a/src/world/area_arn/arn_07/arn_07_5_npc.c +++ b/src/world/area_arn/arn_07/arn_07_5_npc.c @@ -305,7 +305,7 @@ EvtScript N(EVS_NpcIdle_Boo) = { }; EvtScript N(EVS_NpcDefeat_Tubba) = { - EVT_CALL(SetEncounterStatusFlags, 2, TRUE) + EVT_CALL(SetEncounterStatusFlags, ENCOUNTER_STATUS_FLAGS_2, TRUE) EVT_CALL(GetBattleOutcome, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(OUTCOME_PLAYER_WON) @@ -564,7 +564,7 @@ StaticNpc N(NpcData_Tubba)[] = { .settings = &N(NpcSettings_TubbaBlubba), .pos = { 309.0f, 0.0f, 11.0f }, .yaw = 270, - .flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_200000, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_200000, .init = &N(EVS_NpcInit_Tubba), .drops = TUBBA_DROPS, .animations = TUBBA_ANIMS, @@ -575,7 +575,7 @@ StaticNpc N(NpcData_Tubba)[] = { .settings = &N(NpcSettings_TubbasHeart), .pos = { -10.0f, 50.0f, -170.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_200000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_200000, .init = &N(EVS_NpcInit_TubbasHeart), .drops = TUBBAS_HEART_DROPS, .animations = TUBBAS_HEART_ANIMS, @@ -588,7 +588,7 @@ StaticNpc N(NpcData_Boos)[] = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000, .init = &N(EVS_NpcInit_Boo), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -599,7 +599,7 @@ StaticNpc N(NpcData_Boos)[] = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000, .init = &N(EVS_NpcInit_Boo), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -610,7 +610,7 @@ StaticNpc N(NpcData_Boos)[] = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000, .init = &N(EVS_NpcInit_Boo), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -621,7 +621,7 @@ StaticNpc N(NpcData_Boos)[] = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000, .init = &N(EVS_NpcInit_Boo), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -632,7 +632,7 @@ StaticNpc N(NpcData_Boos)[] = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000, .init = &N(EVS_NpcInit_Boo), .drops = BOO_DROPS, .animations = NORMAL_BOO_ANIMS, @@ -643,7 +643,7 @@ StaticNpc N(NpcData_Boos)[] = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000, .init = &N(EVS_NpcInit_Boo), .drops = BOO_DROPS, .animations = NORMAL_BOO_ANIMS, @@ -656,7 +656,7 @@ StaticNpc N(NpcData_Bow) = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000, .init = &N(EVS_NpcInit_Bow), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -688,7 +688,7 @@ StaticNpc N(NpcData_Bootler) = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000, .init = &N(EVS_NpcInit_Bootler), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -731,7 +731,7 @@ StaticNpc N(NpcData_HyperParagoomba_01) = { .settings = &N(NpcSettings_HyperParagoomba), .pos = { -216.0f, 60.0f, -10.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_HyperParagoomba), .drops = HYPER_PARAGOOMBA_DROPS, .territory = { @@ -755,7 +755,7 @@ StaticNpc N(NpcData_HyperParagoomba_02) = { .settings = &N(NpcSettings_HyperParagoomba), .pos = { 0.0f, 60.0f, 150.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_HyperParagoomba), .drops = HYPER_PARAGOOMBA_DROPS, .territory = { @@ -779,7 +779,7 @@ StaticNpc N(NpcData_HyperParagoomba_03) = { .settings = &N(NpcSettings_HyperParagoomba), .pos = { 260.0f, 60.0f, 30.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_HyperParagoomba), .drops = HYPER_PARAGOOMBA_DROPS, .territory = { @@ -803,7 +803,7 @@ StaticNpc N(NpcData_Skolar) = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Skolar), .drops = SKOLAR_DROPS, .animations = SKOLAR_ANIMS, diff --git a/src/world/area_arn/arn_08/arn_08_6_npc.c b/src/world/area_arn/arn_08/arn_08_6_npc.c index f8fbf0e8b8..fdd3e0e2bc 100644 --- a/src/world/area_arn/arn_08/arn_08_6_npc.c +++ b/src/world/area_arn/arn_08/arn_08_6_npc.c @@ -50,7 +50,7 @@ StaticNpc N(NpcData_TubbasHeart) = { .settings = &N(NpcSettings_TubbasHeart), .pos = { -23.0f, 75.0f, 31.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_TubbasHeart), .drops = TUBBAS_HEART_DROPS, .animations = TUBBAS_HEART_ANIMS, @@ -61,7 +61,7 @@ StaticNpc N(NpcData_Yakkey) = { .settings = &N(NpcSettings_Yakkey), .pos = { 38.0f, 0.0f, 97.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Yakkey), .drops = YAKKEY_DROPS, .animations = YAKKEY_ANIMS, diff --git a/src/world/area_arn/arn_09/arn_09_5_npc.c b/src/world/area_arn/arn_09/arn_09_5_npc.c index cdf00c0ba3..4c47e3b8d7 100644 --- a/src/world/area_arn/arn_09/arn_09_5_npc.c +++ b/src/world/area_arn/arn_09/arn_09_5_npc.c @@ -50,7 +50,7 @@ StaticNpc N(NpcData_TubbasHeart) = { .settings = &N(NpcSettings_TubbasHeart), .pos = { 0.0f, 25.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_TubbasHeart), .drops = TUBBAS_HEART_DROPS, .animations = TUBBAS_HEART_ANIMS, diff --git a/src/world/area_arn/arn_10/arn_10_3_npc.c b/src/world/area_arn/arn_10/arn_10_3_npc.c index db510e3da9..9340eb203e 100644 --- a/src/world/area_arn/arn_10/arn_10_3_npc.c +++ b/src/world/area_arn/arn_10/arn_10_3_npc.c @@ -64,7 +64,7 @@ StaticNpc N(NpcData_TubbasHeart) = { .settings = &N(NpcSettings_TubbasHeart), .pos = { 80.0f, 50.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_TubbasHeart), .drops = TUBBAS_HEART_DROPS, .animations = TUBBAS_HEART_ANIMS, @@ -75,7 +75,7 @@ StaticNpc N(NpcData_HyperGoomba) = { .settings = &N(NpcSettings_HyperGoomba), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_HyperGoomba), .drops = HYPER_GOOMBA_DROPS, .territory = { diff --git a/src/world/area_arn/arn_11/arn_11_3_npc.c b/src/world/area_arn/arn_11/arn_11_3_npc.c index c005edf176..04f1298ec9 100644 --- a/src/world/area_arn/arn_11/arn_11_3_npc.c +++ b/src/world/area_arn/arn_11/arn_11_3_npc.c @@ -66,7 +66,7 @@ Vec3i N(HeartJumpPath)[] = { { -70, 10, 20 }, { -180, 0, 0 }, { -300, 0, 0 }, - { SUBLIST_DONE, 0, 0 }, + { SUBLIST_DONE, 0, 0 }, }; EvtScript N(EVS_Scene_HeartEscape) = { @@ -154,7 +154,7 @@ StaticNpc N(NpcData_TubbasHeart) = { .settings = &N(NpcSettings_TubbasHeart), .pos = { 119.0f, 60.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_JUMPING | NPC_FLAG_40000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000, .init = &N(EVS_NpcInit_TubbasHeart), .drops = TUBBAS_HEART_DROPS, .animations = TUBBAS_HEART_ANIMS, diff --git a/src/world/area_arn/arn_11/events.c b/src/world/area_arn/arn_11/events.c index dc5a9d1061..3970ee327a 100644 --- a/src/world/area_arn/arn_11/events.c +++ b/src/world/area_arn/arn_11/events.c @@ -275,7 +275,7 @@ StaticNpc N(npcGroup_80240EEC) = { .id = NPC_TUBBAS_HEART, .settings = &N(npcSettings_802406A0), .pos = { 119.0f, 60.0f, 0.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_JUMPING | NPC_FLAG_40000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000, .init = &N(init_80240E70), .yaw = 270, .drops = { diff --git a/src/world/area_arn/arn_12/arn_12_3_npc.c b/src/world/area_arn/arn_12/arn_12_3_npc.c index 33655b3a35..aae6a8893a 100644 --- a/src/world/area_arn/arn_12/arn_12_3_npc.c +++ b/src/world/area_arn/arn_12/arn_12_3_npc.c @@ -65,7 +65,7 @@ StaticNpc N(NpcData_TubbasHeart) = { .settings = &N(NpcSettings_TubbasHeart), .pos = { 80.0f, 50.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_TubbasHeart), .drops = TUBBAS_HEART_DROPS, .animations = TUBBAS_HEART_ANIMS, @@ -76,7 +76,7 @@ StaticNpc N(NpcData_HyperGoomba) = { .settings = &N(NpcSettings_HyperGoomba), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_HyperGoomba), .drops = HYPER_GOOMBA_DROPS, .territory = { diff --git a/src/world/area_arn/arn_13/arn_13_3_npc.c b/src/world/area_arn/arn_13/arn_13_3_npc.c index eb064729b0..2af43d300f 100644 --- a/src/world/area_arn/arn_13/arn_13_3_npc.c +++ b/src/world/area_arn/arn_13/arn_13_3_npc.c @@ -65,7 +65,7 @@ StaticNpc N(NpcData_TubbasHeart) = { .settings = &N(NpcSettings_TubbasHeart), .pos = { 80.0f, 50.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_TubbasHeart), .drops = TUBBAS_HEART_DROPS, .animations = TUBBAS_HEART_ANIMS, @@ -76,7 +76,7 @@ StaticNpc N(NpcData_HyperGoomba) = { .settings = &N(NpcSettings_HyperGoomba), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_HyperGoomba), .drops = HYPER_GOOMBA_DROPS, .territory = { diff --git a/src/world/area_dgb/dgb_00/BFA100.c b/src/world/area_dgb/dgb_00/BFA100.c index b1df7afaec..b0e51e53e1 100644 --- a/src/world/area_dgb/dgb_00/BFA100.c +++ b/src/world/area_dgb/dgb_00/BFA100.c @@ -458,7 +458,7 @@ StaticNpc N(npcGroup_80241FE4) = { .id = NPC_BOO0, .settings = &N(npcSettings_80240640), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_400000, .init = &N(init_80241F70), .yaw = 90, .drops = { @@ -491,7 +491,7 @@ StaticNpc N(npcGroup_802421D4) = { .id = NPC_BOO1, .settings = &N(npcSettings_80240640), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400, .init = &N(init_80241F94), .yaw = 90, .drops = { @@ -523,7 +523,7 @@ StaticNpc N(npcGroup_802423C4) = { .id = NPC_BOO2, .settings = &N(npcSettings_80240640), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400, .init = &N(init_80241FA4), .yaw = 90, .drops = { @@ -555,7 +555,7 @@ StaticNpc N(npcGroup_802425B4) = { .id = NPC_BOO3, .settings = &N(npcSettings_80240640), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400, .init = &N(init_80241FB4), .yaw = 90, .drops = { @@ -587,7 +587,7 @@ StaticNpc N(npcGroup_802427A4) = { .id = NPC_BOO4, .settings = &N(npcSettings_80240640), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400, .init = &N(init_80241FC4), .yaw = 90, .drops = { @@ -619,7 +619,7 @@ StaticNpc N(npcGroup_80242994) = { .id = NPC_BOO5, .settings = &N(npcSettings_80240640), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400, .init = &N(init_80241FD4), .yaw = 90, .drops = { @@ -797,7 +797,7 @@ StaticNpc N(npcGroup_802434FC) = { .id = NPC_SENTINEL, .settings = &N(npcSettings_8024066C), .pos = { 0.0f, 0.0f, -1000.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_400000, .init = &N(init_802434EC), .yaw = 90, .drops = { diff --git a/src/world/area_dgb/dgb_01/BFD9A0.c b/src/world/area_dgb/dgb_01/BFD9A0.c index 3f4f2cf032..cb952ae157 100644 --- a/src/world/area_dgb/dgb_01/BFD9A0.c +++ b/src/world/area_dgb/dgb_01/BFD9A0.c @@ -436,17 +436,17 @@ EvtScript N(802449C4) = { EvtScript N(80244AD0) = { EVT_SET_GROUP(EVT_GROUP_00) - EVT_SUSPEND_GROUP(1) + EVT_SUSPEND_GROUP(EVT_GROUP_01) EVT_CALL(ShowKeyChoicePopup) EVT_IF_EQ(LVar0, 0) EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_00D8, 160, 40) EVT_CALL(CloseChoicePopup) - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_RETURN EVT_END_IF EVT_IF_EQ(LVar0, -1) EVT_CALL(CloseChoicePopup) - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_RETURN EVT_END_IF EVT_CALL(FindKeyItem, ITEM_TUBBA_CASTLE_KEY, LVar0) @@ -457,7 +457,7 @@ EvtScript N(80244AD0) = { EVT_CALL(PlaySoundAt, 0x269, 0, LVar0, LVar1, LVar2) EVT_SET(LVar0, MapVar(0)) EVT_CALL(N(RemovePadlock)) - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_UNBIND EVT_RETURN EVT_END @@ -485,8 +485,8 @@ f32 N(FlyingAI_JumpVels)[] = { }; EvtScript N(80244CE8) = { - EVT_CALL(SetSelfEnemyFlagBits, ((NPC_FLAG_MOTION_BLUR | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000)), TRUE) - EVT_CALL(SetNpcFlagBits, NPC_SELF, ((NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING)), TRUE) + EVT_CALL(SetSelfEnemyFlagBits, ((ENEMY_FLAGS_100000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000)), TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, ((NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | ENEMY_FLAGS_800)), TRUE) EVT_RETURN EVT_END }; @@ -589,10 +589,10 @@ EvtScript N(8024517C) = { EvtScript N(80245208) = { EVT_CALL(GetBattleOutcome, LVar0) EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(OUTCOME_PLAYER_WON) EVT_CALL(DoNpcDefeat) - EVT_CASE_EQ(1) - EVT_CASE_EQ(2) + EVT_CASE_EQ(OUTCOME_PLAYER_LOST) + EVT_CASE_EQ(OUTCOME_PLAYER_FLED) EVT_END_SWITCH EVT_RETURN EVT_END @@ -892,7 +892,7 @@ StaticNpc N(npcGroup_80246090) = { .id = NPC_SENTINEL0, .settings = &N(npcSettings_8024526C), .pos = { -180.0f, 100.0f, 230.0f }, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(init_80245D80), .yaw = 90, .drops = { @@ -925,7 +925,7 @@ StaticNpc N(npcGroup_80246280) = { .id = NPC_SENTINEL1, .settings = &N(npcSettings_8024526C), .pos = { 180.0f, 100.0f, 230.0f }, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(init_80245E44), .yaw = 270, .drops = { @@ -958,7 +958,7 @@ StaticNpc N(npcGroup_80246470) = { .id = NPC_SENTINEL2, .settings = &N(npcSettings_8024526C), .pos = { -180.0f, 100.0f, -230.0f }, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(init_80245F08), .yaw = 90, .drops = { @@ -991,7 +991,7 @@ StaticNpc N(npcGroup_80246660) = { .id = NPC_SENTINEL3, .settings = &N(npcSettings_8024526C), .pos = { 180.0f, 100.0f, -230.0f }, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(init_80245FCC), .yaw = 270, .drops = { diff --git a/src/world/area_dgb/dgb_02/C2EBA0.c b/src/world/area_dgb/dgb_02/C2EBA0.c index 7defca8648..cf73781c14 100644 --- a/src/world/area_dgb/dgb_02/C2EBA0.c +++ b/src/world/area_dgb/dgb_02/C2EBA0.c @@ -158,13 +158,13 @@ static s32 N(pad_1AA8)[] = { EvtScript N(80241AB0) = { EVT_CALL(GetBattleOutcome, LVar0) EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(OUTCOME_PLAYER_WON) EVT_CALL(RemoveNpc, NPC_SELF) - EVT_CASE_EQ(2) + EVT_CASE_EQ(OUTCOME_PLAYER_FLED) EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) EVT_CALL(OnPlayerFled, 1) - EVT_CASE_EQ(3) - EVT_CALL(SetEnemyFlagBits, -1, 16, 1) + EVT_CASE_EQ(OUTCOME_ENEMY_FLED) + EVT_CALL(SetEnemyFlagBits, -1, ENEMY_FLAGS_FLED, 1) EVT_CALL(RemoveNpc, NPC_SELF) EVT_END_SWITCH EVT_RETURN @@ -284,7 +284,7 @@ StaticNpc N(npcGroup_80241E08)[] = { .id = NPC_WORLD_CLUBBA0, .settings = &N(npcSettings_80241C3C), .pos = { -200.0f, 0.0f, 180.0f }, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .yaw = 270, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -323,7 +323,7 @@ StaticNpc N(npcGroup_80241E08)[] = { .id = NPC_WORLD_CLUBBA1, .settings = &N(npcSettings_80241DDC), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000, .yaw = 0, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -357,7 +357,7 @@ StaticNpc N(npcGroup_802421E8)[] = { .id = NPC_WORLD_CLUBBA2, .settings = &N(npcSettings_80241D08), .pos = { 375.0f, 0.0f, 100.0f }, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .yaw = 270, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -395,7 +395,7 @@ StaticNpc N(npcGroup_802421E8)[] = { .id = NPC_WORLD_CLUBBA3, .settings = &N(npcSettings_80241DDC), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000, .yaw = 0, .drops = { .dropFlags = NPC_DROP_FLAGS_80, diff --git a/src/world/area_dgb/dgb_03/C31730.c b/src/world/area_dgb/dgb_03/C31730.c index 4948babf6f..5f5780394e 100644 --- a/src/world/area_dgb/dgb_03/C31730.c +++ b/src/world/area_dgb/dgb_03/C31730.c @@ -345,17 +345,17 @@ static s32 N(pad_3738)[] = { EvtScript N(80243740) = { EVT_SET_GROUP(EVT_GROUP_00) - EVT_SUSPEND_GROUP(1) + EVT_SUSPEND_GROUP(EVT_GROUP_01) EVT_CALL(ShowKeyChoicePopup) EVT_IF_EQ(LVar0, 0) EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_00D8, 160, 40) EVT_CALL(CloseChoicePopup) - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_RETURN EVT_END_IF EVT_IF_EQ(LVar0, -1) EVT_CALL(CloseChoicePopup) - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_RETURN EVT_END_IF EVT_CALL(FindKeyItem, ITEM_TUBBA_CASTLE_KEY, LVar0) @@ -366,7 +366,7 @@ EvtScript N(80243740) = { EVT_CALL(PlaySoundAt, 0x269, 0, LVar0, LVar1, LVar2) EVT_SET(LVar0, MapVar(0)) EVT_CALL(N(RemovePadlock)) - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_UNBIND EVT_RETURN EVT_END @@ -402,7 +402,7 @@ EvtScript N(80243970) = { EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) EVT_CALL(OnPlayerFled, 1) EVT_CASE_EQ(3) - EVT_CALL(SetEnemyFlagBits, -1, 16, 1) + EVT_CALL(SetEnemyFlagBits, -1, ENEMY_FLAGS_FLED, 1) EVT_CALL(RemoveNpc, NPC_SELF) EVT_END_SWITCH EVT_RETURN @@ -557,7 +557,7 @@ StaticNpc N(npcGroup_80243DE8)[] = { .id = NPC_WORLD_CLUBBA0, .settings = &N(npcSettings_80243AFC), .pos = { 180.0f, 0.0f, -122.0f }, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .yaw = 270, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -595,7 +595,7 @@ StaticNpc N(npcGroup_80243DE8)[] = { .id = NPC_WORLD_CLUBBA1, .settings = &N(npcSettings_80243D68), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000, .yaw = 0, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -629,7 +629,7 @@ StaticNpc N(npcGroup_802441C8)[] = { .id = NPC_WORLD_CLUBBA2, .settings = &N(npcSettings_80243BC8), .pos = { -272.0f, 0.0f, -135.0f }, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .yaw = 270, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -667,7 +667,7 @@ StaticNpc N(npcGroup_802441C8)[] = { .id = NPC_WORLD_CLUBBA3, .settings = &N(npcSettings_80243D68), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000, .yaw = 0, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -701,7 +701,7 @@ StaticNpc N(npcGroup_802445A8)[] = { .id = NPC_WORLD_CLUBBA4, .settings = &N(npcSettings_80243C94), .pos = { -326.0f, 210.0f, 80.0f }, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(init_80243D94), .yaw = 90, .drops = { @@ -740,7 +740,7 @@ StaticNpc N(npcGroup_802445A8)[] = { .id = NPC_WORLD_CLUBBA5, .settings = &N(npcSettings_80243D68), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000, .yaw = 0, .drops = { .dropFlags = NPC_DROP_FLAGS_80, diff --git a/src/world/area_dgb/dgb_04/C36530.c b/src/world/area_dgb/dgb_04/C36530.c index 6337abe7e7..583bf8987f 100644 --- a/src/world/area_dgb/dgb_04/C36530.c +++ b/src/world/area_dgb/dgb_04/C36530.c @@ -117,7 +117,7 @@ f32 N(FlyingAI_JumpVels)[] = { }; EvtScript N(80243578) = { - EVT_CALL(SetSelfEnemyFlagBits, ((NPC_FLAG_MOTION_BLUR | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000)), TRUE) + EVT_CALL(SetSelfEnemyFlagBits, ((ENEMY_FLAGS_100000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000)), TRUE) EVT_CALL(SetNpcFlagBits, NPC_SELF, ((NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING)), TRUE) EVT_RETURN EVT_END @@ -238,7 +238,7 @@ StaticNpc N(npcGroup_80243B28) = { .id = NPC_SENTINEL, .settings = &N(npcSettings_80243AFC), .pos = { 70.0f, -220.0f, 186.0f }, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .yaw = 90, .drops = { .dropFlags = NPC_DROP_FLAGS_80, diff --git a/src/world/area_dgb/dgb_05/C3AA10.c b/src/world/area_dgb/dgb_05/C3AA10.c index 0810a93f2a..70690cc32d 100644 --- a/src/world/area_dgb/dgb_05/C3AA10.c +++ b/src/world/area_dgb/dgb_05/C3AA10.c @@ -128,7 +128,7 @@ EvtScript N(802418C0) = { EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) EVT_CALL(OnPlayerFled, 1) EVT_CASE_EQ(3) - EVT_CALL(SetEnemyFlagBits, -1, 16, 1) + EVT_CALL(SetEnemyFlagBits, -1, ENEMY_FLAGS_FLED, 1) EVT_CALL(RemoveNpc, NPC_SELF) EVT_END_SWITCH EVT_RETURN @@ -206,7 +206,7 @@ StaticNpc N(npcGroup_80241B4C)[] = { .id = NPC_WORLD_CLUBBA0, .settings = &N(npcSettings_80241A4C), .pos = { 132.0f, -110.0f, 238.0f }, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .yaw = 270, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -244,7 +244,7 @@ StaticNpc N(npcGroup_80241B4C)[] = { .id = NPC_WORLD_CLUBBA1, .settings = &N(npcSettings_80241B20), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000, .yaw = 0, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -278,7 +278,7 @@ StaticNpc N(npcGroup_80241F2C)[] = { .id = NPC_WORLD_CLUBBA2, .settings = &N(npcSettings_80241A4C), .pos = { 503.0f, -210.0f, 225.0f }, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .yaw = 270, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -316,7 +316,7 @@ StaticNpc N(npcGroup_80241F2C)[] = { .id = NPC_WORLD_CLUBBA3, .settings = &N(npcSettings_80241B20), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000, .yaw = 0, .drops = { .dropFlags = NPC_DROP_FLAGS_80, diff --git a/src/world/area_dgb/dgb_06/C3D080.c b/src/world/area_dgb/dgb_06/C3D080.c index aad2e19b1e..0f18ad71c2 100644 --- a/src/world/area_dgb/dgb_06/C3D080.c +++ b/src/world/area_dgb/dgb_06/C3D080.c @@ -134,7 +134,7 @@ StaticNpc N(npcGroup_80240954) = { .id = NPC_BOO, .settings = &N(npcSettings_80240840), .pos = { -300.0f, 10.0f, 150.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_400, .init = &N(init_802408FC), .yaw = 270, .drops = { diff --git a/src/world/area_dgb/dgb_07/C3DBF0.c b/src/world/area_dgb/dgb_07/C3DBF0.c index 1e50d90a75..16dd78ef43 100644 --- a/src/world/area_dgb/dgb_07/C3DBF0.c +++ b/src/world/area_dgb/dgb_07/C3DBF0.c @@ -105,7 +105,7 @@ EvtScript N(802417F0) = { EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) EVT_CALL(OnPlayerFled, 1) EVT_CASE_EQ(3) - EVT_CALL(SetEnemyFlagBits, -1, 16, 1) + EVT_CALL(SetEnemyFlagBits, -1, ENEMY_FLAGS_FLED, 1) EVT_CALL(RemoveNpc, NPC_SELF) EVT_END_SWITCH EVT_RETURN @@ -191,7 +191,7 @@ StaticNpc N(npcGroup_80241A7C)[] = { .id = NPC_WORLD_CLUBBA0, .settings = &N(npcSettings_8024197C), .pos = { -500.0f, 0.0f, -240.0f }, - .flags = NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_800, .yaw = 270, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -230,7 +230,7 @@ StaticNpc N(npcGroup_80241A7C)[] = { .id = NPC_WORLD_CLUBBA1, .settings = &N(npcSettings_80241A50), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000, .yaw = 0, .drops = { .dropFlags = NPC_DROP_FLAGS_80, diff --git a/src/world/area_dgb/dgb_08/C3FDB0.c b/src/world/area_dgb/dgb_08/C3FDB0.c index eed90cf59e..dbb9c9b8c8 100644 --- a/src/world/area_dgb/dgb_08/C3FDB0.c +++ b/src/world/area_dgb/dgb_08/C3FDB0.c @@ -180,7 +180,7 @@ EvtScript N(802441D4) = { EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) EVT_CALL(OnPlayerFled, 1) EVT_CASE_EQ(3) - EVT_CALL(SetEnemyFlagBits, -1, 16, 1) + EVT_CALL(SetEnemyFlagBits, -1, ENEMY_FLAGS_FLED, 1) EVT_CALL(RemoveNpc, NPC_SELF) EVT_END_SWITCH EVT_RETURN @@ -267,7 +267,7 @@ f32 N(FlyingAI_JumpVels)[] = { }; EvtScript N(80244478) = { - EVT_CALL(SetSelfEnemyFlagBits, ((NPC_FLAG_MOTION_BLUR | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000)), TRUE) + EVT_CALL(SetSelfEnemyFlagBits, ((ENEMY_FLAGS_100000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000)), TRUE) EVT_CALL(SetNpcFlagBits, NPC_SELF, ((NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING)), TRUE) EVT_RETURN EVT_END @@ -514,7 +514,7 @@ StaticNpc N(npcGroup_802450A0) = { .id = NPC_WORLD_TUBBA, .settings = &N(npcSettings_8024417C), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_4 | NPC_FLAG_40000 | NPC_FLAG_200000 | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_4 | NPC_FLAG_40000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_800000, .init = &N(init_80244E94), .yaw = 270, .drops = { @@ -555,7 +555,7 @@ StaticNpc N(npcGroup_80245290)[] = { .id = NPC_WORLD_CLUBBA0, .settings = &N(npcSettings_80244360), .pos = { -250.0f, 0.0f, 135.0f }, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .yaw = 90, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -594,7 +594,7 @@ StaticNpc N(npcGroup_80245290)[] = { .id = NPC_WORLD_CLUBBA1, .settings = &N(npcSettings_80244434), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000, .yaw = 0, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -628,7 +628,7 @@ StaticNpc N(npcGroup_80245670)[] = { .id = NPC_WORLD_CLUBBA2, .settings = &N(npcSettings_80244360), .pos = { 220.0f, 0.0f, 155.0f }, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .yaw = 270, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -667,7 +667,7 @@ StaticNpc N(npcGroup_80245670)[] = { .id = NPC_WORLD_CLUBBA3, .settings = &N(npcSettings_80244434), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000, .yaw = 0, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -701,7 +701,7 @@ StaticNpc N(npcGroup_80245A50)[] = { .id = NPC_WORLD_CLUBBA4, .settings = &N(npcSettings_80244360), .pos = { 825.0f, 100.0f, 200.0f }, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .yaw = 270, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -740,7 +740,7 @@ StaticNpc N(npcGroup_80245A50)[] = { .id = NPC_WORLD_CLUBBA5, .settings = &N(npcSettings_80244434), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000, .yaw = 0, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -773,7 +773,7 @@ StaticNpc N(npcGroup_80245E30) = { .id = NPC_SENTINEL0, .settings = &N(npcSettings_802449FC), .pos = { 75.0f, 310.0f, 85.0f }, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .yaw = 90, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -805,7 +805,7 @@ StaticNpc N(npcGroup_80246020) = { .id = NPC_SENTINEL1, .settings = &N(npcSettings_802449FC), .pos = { -451.0f, 310.0f, 81.0f }, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .yaw = 90, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -897,7 +897,7 @@ StaticNpc N(npcGroup_80246528) = { .id = NPC_WORLD_CLUBBA6, .settings = &N(npcSettings_80244A28), .pos = { 426.0f, 0.0f, 38.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000 | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_400000, .init = &N(init_802464C4), .yaw = 270, .drops = { @@ -944,7 +944,7 @@ StaticNpc N(npcGroup_80246768) = { .id = NPC_WORLD_CLUBBA7, .settings = &N(npcSettings_80244360), .pos = { -250.0f, 0.0f, 135.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_400, .init = &N(init_80246728), .yaw = 90, .drops = { diff --git a/src/world/area_dgb/dgb_09/C46BE0.c b/src/world/area_dgb/dgb_09/C46BE0.c index 2d642f13c8..f0412c104e 100644 --- a/src/world/area_dgb/dgb_09/C46BE0.c +++ b/src/world/area_dgb/dgb_09/C46BE0.c @@ -198,7 +198,7 @@ EvtScript N(80244000) = { EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) EVT_CALL(OnPlayerFled, 1) EVT_CASE_EQ(3) - EVT_CALL(SetEnemyFlagBits, -1, 16, 1) + EVT_CALL(SetEnemyFlagBits, -1, ENEMY_FLAGS_FLED, 1) EVT_CALL(RemoveNpc, NPC_SELF) EVT_END_SWITCH EVT_RETURN @@ -319,7 +319,7 @@ f32 N(FlyingAI_JumpVels)[] = { }; EvtScript N(80244370) = { - EVT_CALL(SetSelfEnemyFlagBits, ((NPC_FLAG_MOTION_BLUR | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000)), TRUE) + EVT_CALL(SetSelfEnemyFlagBits, ((ENEMY_FLAGS_100000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000)), TRUE) EVT_CALL(SetNpcFlagBits, NPC_SELF, ((NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING)), TRUE) EVT_RETURN EVT_END @@ -441,7 +441,7 @@ StaticNpc N(npcGroup_80244920)[] = { .id = NPC_WORLD_CLUBBA0, .settings = &N(npcSettings_8024418C), .pos = { -350.0f, 0.0f, 180.0f }, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .yaw = 270, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -480,7 +480,7 @@ StaticNpc N(npcGroup_80244920)[] = { .id = NPC_WORLD_CLUBBA1, .settings = &N(npcSettings_8024432C), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000, .yaw = 0, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -524,7 +524,7 @@ StaticNpc N(npcGroup_80244D6C)[] = { .id = NPC_WORLD_CLUBBA2, .settings = &N(npcSettings_80244258), .pos = { 310.0f, 0.0f, 88.0f }, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(init_80244D00), .yaw = 270, .drops = { @@ -564,7 +564,7 @@ StaticNpc N(npcGroup_80244D6C)[] = { .id = NPC_WORLD_CLUBBA3, .settings = &N(npcSettings_8024432C), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000, .yaw = 0, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -597,7 +597,7 @@ StaticNpc N(npcGroup_8024514C) = { .id = NPC_SENTINEL, .settings = &N(npcSettings_802448F4), .pos = { -20.0f, 100.0f, 180.0f }, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .yaw = 90, .drops = { .dropFlags = NPC_DROP_FLAGS_80, diff --git a/src/world/area_dgb/dgb_15/C4F510.c b/src/world/area_dgb/dgb_15/C4F510.c index 64835b7c5d..1412a8e668 100644 --- a/src/world/area_dgb/dgb_15/C4F510.c +++ b/src/world/area_dgb/dgb_15/C4F510.c @@ -163,7 +163,7 @@ EvtScript N(80241EA0) = { EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) EVT_CALL(OnPlayerFled, 1) EVT_CASE_EQ(3) - EVT_CALL(SetEnemyFlagBits, -1, 16, 1) + EVT_CALL(SetEnemyFlagBits, -1, ENEMY_FLAGS_FLED, 1) EVT_CALL(RemoveNpc, NPC_SELF) EVT_END_SWITCH EVT_RETURN @@ -377,7 +377,7 @@ StaticNpc N(npcGroup_802428C0) = { .id = NPC_WORLD_TUBBA, .settings = &N(npcSettings_8024212C), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_100 | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_200000 | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_800000, .init = &N(init_802427EC), .yaw = 270, .drops = { @@ -424,17 +424,17 @@ static s32 N(pad_2AC8)[] = { EvtScript N(80242AD0) = { EVT_SET_GROUP(EVT_GROUP_00) - EVT_SUSPEND_GROUP(1) + EVT_SUSPEND_GROUP(EVT_GROUP_01) EVT_CALL(ShowKeyChoicePopup) EVT_IF_EQ(LVar0, 0) EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_00D8, 160, 40) EVT_CALL(CloseChoicePopup) - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_RETURN EVT_END_IF EVT_IF_EQ(LVar0, -1) EVT_CALL(CloseChoicePopup) - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_RETURN EVT_END_IF EVT_CALL(FindKeyItem, ITEM_TUBBA_CASTLE_KEY, LVar0) @@ -445,7 +445,7 @@ EvtScript N(80242AD0) = { EVT_CALL(PlaySoundAt, 0x269, 0, LVar0, LVar1, LVar2) EVT_SET(LVar0, MapVar(0)) EVT_CALL(N(RemovePadlock)) - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_UNBIND EVT_RETURN EVT_END diff --git a/src/world/area_dgb/dgb_16/C52540.c b/src/world/area_dgb/dgb_16/C52540.c index e9268af62e..8093395884 100644 --- a/src/world/area_dgb/dgb_16/C52540.c +++ b/src/world/area_dgb/dgb_16/C52540.c @@ -120,7 +120,7 @@ EvtScript N(802417C0) = { EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) EVT_CALL(OnPlayerFled, 1) EVT_CASE_EQ(3) - EVT_CALL(SetEnemyFlagBits, -1, 16, 1) + EVT_CALL(SetEnemyFlagBits, -1, ENEMY_FLAGS_FLED, 1) EVT_CALL(RemoveNpc, NPC_SELF) EVT_END_SWITCH EVT_RETURN @@ -206,7 +206,7 @@ StaticNpc N(npcGroup_80241A4C)[] = { .id = NPC_WORLD_CLUBBA0, .settings = &N(npcSettings_8024194C), .pos = { -70.0f, 0.0f, -100.0f }, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .yaw = 270, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -245,7 +245,7 @@ StaticNpc N(npcGroup_80241A4C)[] = { .id = NPC_WORLD_CLUBBA1, .settings = &N(npcSettings_80241A20), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000, .yaw = 0, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -279,7 +279,7 @@ StaticNpc N(npcGroup_80241E2C)[] = { .id = NPC_WORLD_CLUBBA2, .settings = &N(npcSettings_8024194C), .pos = { 0.0f, 0.0f, -235.0f }, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .yaw = 90, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -317,7 +317,7 @@ StaticNpc N(npcGroup_80241E2C)[] = { .id = NPC_WORLD_CLUBBA3, .settings = &N(npcSettings_80241A20), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000, .yaw = 0, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -351,7 +351,7 @@ StaticNpc N(npcGroup_8024220C)[] = { .id = NPC_WORLD_CLUBBA4, .settings = &N(npcSettings_8024194C), .pos = { 70.0f, 0.0f, -100.0f }, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .yaw = 90, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -389,7 +389,7 @@ StaticNpc N(npcGroup_8024220C)[] = { .id = NPC_WORLD_CLUBBA5, .settings = &N(npcSettings_80241A20), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000, .yaw = 0, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -423,7 +423,7 @@ StaticNpc N(npcGroup_802425EC)[] = { .id = NPC_WORLD_CLUBBA6, .settings = &N(npcSettings_8024194C), .pos = { 140.0f, 0.0f, -235.0f }, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .yaw = 270, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -461,7 +461,7 @@ StaticNpc N(npcGroup_802425EC)[] = { .id = NPC_WORLD_CLUBBA7, .settings = &N(npcSettings_80241A20), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000, .yaw = 0, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -495,7 +495,7 @@ StaticNpc N(npcGroup_802429CC)[] = { .id = NPC_WORLD_CLUBBA8, .settings = &N(npcSettings_8024194C), .pos = { 210.0f, 0.0f, -100.0f }, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .yaw = 270, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -533,7 +533,7 @@ StaticNpc N(npcGroup_802429CC)[] = { .id = NPC_WORLD_CLUBBA9, .settings = &N(npcSettings_80241A20), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000, .yaw = 0, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -567,7 +567,7 @@ StaticNpc N(npcGroup_80242DAC)[] = { .id = NPC_WORLD_CLUBBA10, .settings = &N(npcSettings_8024194C), .pos = { 280.0f, 0.0f, -235.0f }, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .yaw = 90, .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -605,7 +605,7 @@ StaticNpc N(npcGroup_80242DAC)[] = { .id = NPC_WORLD_CLUBBA11, .settings = &N(npcSettings_80241A20), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000, .yaw = 0, .drops = { .dropFlags = NPC_DROP_FLAGS_80, diff --git a/src/world/area_dgb/dgb_18/C55F40.c b/src/world/area_dgb/dgb_18/C55F40.c index c99fb5bdf7..f4cc59e37c 100644 --- a/src/world/area_dgb/dgb_18/C55F40.c +++ b/src/world/area_dgb/dgb_18/C55F40.c @@ -585,7 +585,7 @@ StaticNpc N(npcGroup_802432D4) = { .id = NPC_WORLD_TUBBA, .settings = &N(npcSettings_802415FC), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_200000 | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_800000, .init = &N(init_80242924), .yaw = 270, .drops = { @@ -618,7 +618,7 @@ StaticNpc N(npcGroup_802434C4) = { .id = NPC_YAKKEY, .settings = &N(npcSettings_80241628), .pos = { 0.0f, -1000.0f, 0.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800, .init = &N(init_8024329C), .yaw = 270, .drops = { diff --git a/src/world/area_dro/dro_01/dro_01_3_npc.c b/src/world/area_dro/dro_01/dro_01_3_npc.c index 675ee530d0..e9a0438b71 100644 --- a/src/world/area_dro/dro_01/dro_01_3_npc.c +++ b/src/world/area_dro/dro_01/dro_01_3_npc.c @@ -194,7 +194,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Mouser_01, .settings = &N(NpcSettings_Mouser), .pos = { -332.0f, 0.0f, 188.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_Mouser_01), .yaw = 90, .drops = MOUSER_DROPS, @@ -205,7 +205,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Dryite_01, .settings = &N(NpcSettings_Dryite_Wander), .pos = { -235.0f, 0.0f, 160.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_Dryite_01), .yaw = 90, .drops = DRYITE_DROPS, @@ -228,7 +228,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Dryite_02, .settings = &N(NpcSettings_Dryite), .pos = { -380.0f, 0.0f, -15.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_Dryite_02), .yaw = 61, .drops = DRYITE_DROPS, @@ -239,7 +239,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Dryite_03, .settings = &N(NpcSettings_Dryite), .pos = { 195.0f, 0.0f, -75.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_HintDryite), .yaw = 74, .drops = DRYITE_DROPS, @@ -250,7 +250,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Dryite_04, .settings = &N(NpcSettings_Dryite), .pos = { 225.0f, 0.0f, -83.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_Dryite_04), .yaw = 257, .drops = DRYITE_DROPS, @@ -261,7 +261,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_ArtistToad, .settings = &N(NpcSettings_Dryite), .pos = { 285.0f, 0.0f, -274.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_Composer), .yaw = 271, .drops = { @@ -293,7 +293,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Mouser_ShopOwner, .settings = &N(NpcSettings_Mouser), .pos = { 31.0f, 0.0f, -374.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_ShopOwner), .yaw = 180, .drops = MOUSER_DROPS, @@ -304,7 +304,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_ChuckQuizmo, .settings = &N(Quizmo_NpcSettings), .pos = { -400.0f, 0.0f, 100.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .initVarCount = 1, .initVar = { .bytes = { 0, QUIZ_AREA_DRO, QUIZ_COUNT_DRO, QUIZ_MAP_DRO_01 }}, .yaw = 263, @@ -338,7 +338,7 @@ StaticNpc N(PassiveNPCs)[] = { .settings = &N(NpcSettings_Dryite_Wander), .pos = { -120.0f, 0.0f, 134.0f }, .yaw = 257, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_DojoGrad), .drops = DRYITE_DROPS, .territory = { @@ -361,7 +361,7 @@ StaticNpc N(PassiveNPCs)[] = { .settings = &N(NpcSettings_Dryite_Patrol), .pos = { 40.0f, 0.0f, 105.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_Dryite_06), .drops = DRYITE_DROPS, .territory = { @@ -388,7 +388,7 @@ StaticNpc N(ThreeSisterNPCs)[] = { .id = NPC_ThreeSisters_01, .settings = &N(NpcSettings_Toad_Stationary), .pos = { -141.0f, 0.0f, -18.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_ThreeSisters), .yaw = 62, .drops = TOADETTE_DROPS, @@ -399,7 +399,7 @@ StaticNpc N(ThreeSisterNPCs)[] = { .id = NPC_ThreeSisters_02, .settings = &N(NpcSettings_Toad_Stationary), .pos = { -124.0f, 0.0f, -61.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_ThreeSisters), .yaw = 63, .drops = TOADETTE_DROPS, @@ -410,7 +410,7 @@ StaticNpc N(ThreeSisterNPCs)[] = { .id = NPC_ThreeSisters_03, .settings = &N(NpcSettings_Toad_Stationary), .pos = { -80.0f, 0.0f, -35.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_ThreeSisters), .yaw = 244, .drops = TOADETTE_DROPS, diff --git a/src/world/area_dro/dro_02/dro_02_5_npc.c b/src/world/area_dro/dro_02/dro_02_5_npc.c index db62e56117..778729f382 100644 --- a/src/world/area_dro/dro_02/dro_02_5_npc.c +++ b/src/world/area_dro/dro_02/dro_02_5_npc.c @@ -365,7 +365,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Archeologist, .settings = &N(NpcSettings_Archeologist), .pos = { -320.0f, 0.0f, -14.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_Archeologist), .yaw = 90, .drops = { @@ -398,7 +398,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Dryite_01, .settings = &N(NpcSettings_Dryite_Wander), .pos = { -20.0f, 0.0f, 40.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_MrE), .yaw = 270, .drops = DRYITE_DROPS, @@ -410,7 +410,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_DisguisedMoustafa, .settings = &N(NpcSettings_Mouser), .pos = { 245.0f, 0.0f, -35.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_DisguisedMoustafa), .yaw = 90, .drops = { @@ -442,7 +442,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Toad, .settings = &N(NpcSettings_Toad_Stationary), .pos = { -143.0f, 0.0f, -170.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_ToadHouseKeeper), .yaw = 180, .drops = TOAD_DROPS, @@ -453,7 +453,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Merlee, .settings = &N(NpcSettings_Merlee), .pos = { -130.0f, 0.0f, -400.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcAuxAI_Merlee), .yaw = 180, .drops = { @@ -485,7 +485,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Moustafa, .settings = &N(NpcSettings_Mouser), .pos = { NPC_DISPOSE_LOCATION }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_Moustafa), .yaw = 0, .drops = { @@ -517,7 +517,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Dryite_02, .settings = &N(NpcSettings_Dryite), .pos = { 25.0f, 0.0f, -38.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_Dryite_02), .yaw = 270, .drops = DRYITE_DROPS, @@ -528,7 +528,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Dryite_03, .settings = &N(NpcSettings_Dryite), .pos = { -375.0f, 0.0f, -10.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_Dryite_03), .yaw = 270, .drops = DRYITE_DROPS, @@ -539,7 +539,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Mouser_01, .settings = &N(NpcSettings_Mouser), .pos = { -50.0f, 0.0f, -470.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_Mouser_01), .yaw = 180, .drops = { @@ -554,7 +554,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Mouser_02, .settings = &N(NpcSettings_Mouser), .pos = { -270.0f, 0.0f, 91.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_Mouser_02), .yaw = 270, .drops = { @@ -569,7 +569,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Mouser_03, .settings = &N(NpcSettings_Mouser), .pos = { 210.0f, 0.0f, -35.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_Mouser_03), .yaw = 90, .drops = { @@ -583,7 +583,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_ChuckQuizmo, .settings = &N(Quizmo_NpcSettings), .pos = { -335.0f, 0.0f, 90.0f }, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .initVarCount = 1, .initVar = { .bytes = { 0, QUIZ_AREA_DRO, QUIZ_COUNT_DRO, QUIZ_MAP_DRO_02 } }, .yaw = 270, diff --git a/src/world/area_flo/flo_00/flo_00_3_npc.c b/src/world/area_flo/flo_00/flo_00_3_npc.c index 273522f640..d6a6cb0b59 100644 --- a/src/world/area_flo/flo_00/flo_00_3_npc.c +++ b/src/world/area_flo/flo_00/flo_00_3_npc.c @@ -623,7 +623,7 @@ StaticNpc N(NpcData_Wisterwood) = { .settings = &N(NpcSettings_Dummy), .pos = { -72.0f, 60.0f, -100.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_GRAVITY | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_200 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Wisterwood), .drops = BUBULB_DROPS, .animations = BUBULB_PINK_ANIMS, @@ -635,7 +635,7 @@ StaticNpc N(NpcData_Bubulbs)[] = { .settings = &N(NpcSettings_Bubulb_Patrol), .pos = { -59.0f, 0.0f, -40.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_Bubulb_01), .drops = BUBULB_DROPS, .territory = { @@ -660,7 +660,7 @@ StaticNpc N(NpcData_Bubulbs)[] = { .settings = &N(NpcSettings_Bubulb_Patrol), .pos = { 67.0f, 0.0f, 85.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_Bubulb_02), .drops = BUBULB_DROPS, .territory = { @@ -685,7 +685,7 @@ StaticNpc N(NpcData_Bubulbs)[] = { .settings = &N(NpcSettings_Bubulb_Patrol), .pos = { 90.0f, 0.0f, 410.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_Bubulb_03), .drops = BUBULB_DROPS, .territory = { @@ -710,7 +710,7 @@ StaticNpc N(NpcData_Bubulbs)[] = { .settings = &N(NpcSettings_Bubulb_Patrol), .pos = { 200.0f, 0.0f, 430.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_Bubulb_04), .drops = BUBULB_DROPS, .territory = { @@ -737,7 +737,7 @@ StaticNpc N(NpcData_Tolielup) = { .settings = &N(NpcSettings_Tolielup), .pos = { -400.0f, 0.0f, 190.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Tolielup), .drops = TOLIELUP_DROPS, .animations = TOLIELUP_ANIMS, @@ -749,7 +749,7 @@ StaticNpc N(NpcData_Klevar) = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Klevar), .drops = KLEVAR_DROPS, .animations = KLEVAR_ANIMS, @@ -760,7 +760,7 @@ StaticNpc N(NpcData_Lakilulu) = { .settings = &N(NpcSettings_Dummy), .pos = { 198.0f, 0.0f, 363.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Lakilulu), .drops = { .dropFlags = NPC_DROP_FLAGS_80, diff --git a/src/world/area_flo/flo_00/flo_00_4_epilogue.c b/src/world/area_flo/flo_00/flo_00_4_epilogue.c index 648d20631f..b06f7aacb1 100644 --- a/src/world/area_flo/flo_00/flo_00_4_epilogue.c +++ b/src/world/area_flo/flo_00/flo_00_4_epilogue.c @@ -86,7 +86,7 @@ StaticNpc N(NpcData_Lakilester_Epilogue)[] = { .settings = &N(NpcSettings_Lakilester_Epilogue), .pos = { 144.0f, 0.0f, 374.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Lakilester_Epilogue), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -117,7 +117,7 @@ StaticNpc N(NpcData_Lakilester_Epilogue)[] = { .settings = &N(NpcSettings_Lakilester_Epilogue), .pos = { 198.0f, 0.0f, 363.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Lakilulu_Epilogue), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -148,7 +148,7 @@ StaticNpc N(NpcData_Lakilester_Epilogue)[] = { .settings = &N(NpcSettings_Parakarry_Epilogue), .pos = { 266.0f, 0.0f, 322.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Parakarry_Epilogue), .drops = { .dropFlags = NPC_DROP_FLAGS_80, diff --git a/src/world/area_flo/flo_03/flo_03_3_npc.c b/src/world/area_flo/flo_03/flo_03_3_npc.c index 8855b60612..6afd2cc491 100644 --- a/src/world/area_flo/flo_03/flo_03_3_npc.c +++ b/src/world/area_flo/flo_03/flo_03_3_npc.c @@ -15,27 +15,27 @@ NpcSettings N(NpcSettings_Petunia) = { #include "world/common/complete/GiveReward.inc.c" Vec3i N(BurrowLocations_Mole_01)[] = { - { -100, 0, 210 }, - { -160, 0, 285 }, - { -35, 0, 305 }, + { -100, 0, 210 }, + { -160, 0, 285 }, + { -35, 0, 305 }, }; Vec3i N(BurrowLocations_Mole_02)[] = { { -190, 0, 80 }, { -130, 0, 0 }, - { -70, 0, -60 }, + { -70, 0, -60 }, }; Vec3i N(BurrowLocations_Mole_03)[] = { { 75, 0, -15 }, { 35, 0, -100 }, - { 130, 0, 0 }, + { 130, 0, 0 }, }; Vec3i N(BurrowLocations_Mole_04)[] = { { 115, 0, 180 }, { 85, 0, 290 }, - { 145, 0, 140 }, + { 145, 0, 140 }, }; EvtScript N(EVS_Scene_SunReturns) = { @@ -781,7 +781,7 @@ StaticNpc N(NpcData_Petunia) = { .settings = &N(NpcSettings_Petunia), .pos = { -30.0f, 0.0f, 100.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Petunia), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -814,7 +814,7 @@ StaticNpc N(NpcData_Dayzee) = { .settings = &N(NpcSettings_Dayzee), .pos = { -233.0f, 0.0f, -217.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Dayzee), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -846,7 +846,7 @@ StaticNpc N(NpcData_MontyMole_01) = { .settings = &N(NpcSettings_Dayzee), .pos = { -100.0f, 0.0f, 210.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_MontyMole_01), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -878,7 +878,7 @@ StaticNpc N(NpcData_MontyMole_02) = { .settings = &N(NpcSettings_Dayzee), .pos = { -130.0f, 0.0f, 0.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_MontyMole_02), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -910,7 +910,7 @@ StaticNpc N(NpcData_MontyMole_03) = { .settings = &N(NpcSettings_Dayzee), .pos = { 75.0f, 0.0f, 20.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_MontyMole_03), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -942,7 +942,7 @@ StaticNpc N(NpcData_MontyMole_04) = { .settings = &N(NpcSettings_Dayzee), .pos = { 71.0f, 0.0f, 200.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_MontyMole_04), .drops = { .dropFlags = NPC_DROP_FLAGS_80, diff --git a/src/world/area_flo/flo_07/flo_07_3_npc.c b/src/world/area_flo/flo_07/flo_07_3_npc.c index 865797f49c..06d25659d5 100644 --- a/src/world/area_flo/flo_07/flo_07_3_npc.c +++ b/src/world/area_flo/flo_07/flo_07_3_npc.c @@ -249,7 +249,7 @@ StaticNpc N(NpcData_Posie) = { .settings = &N(NpcSettings_Posie), .pos = { -260.0f, 0.0f, 0.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Posie), .drops = POSIE_DROPS, .animations = POSIE_ANIMS, diff --git a/src/world/area_flo/flo_08/flo_08_4_npc.c b/src/world/area_flo/flo_08/flo_08_4_npc.c index 3ac4d8b38e..81ad28ab04 100644 --- a/src/world/area_flo/flo_08/flo_08_4_npc.c +++ b/src/world/area_flo/flo_08/flo_08_4_npc.c @@ -162,7 +162,7 @@ StaticNpc N(NpcData_GateFlower) = { .settings = &N(NpcSettings_GateFlower), .pos = { -695.0f, 0.0f, -30.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_GateFlower), .drops = GATE_FLOWER_DROPS, .animations = GATE_FLOWER_YELLOW_ANIMS, @@ -174,7 +174,7 @@ StaticNpc N(NpcData_Dayzee_01) = { .settings = &N(NpcSettings_CrazyDayzee), .pos = { 205.0f, 0.0f, -80.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = CRAZY_DAYZEE_DROPS, .territory = { .wander = { @@ -197,7 +197,7 @@ StaticNpc N(NpcData_Dayzee_02) = { .settings = &N(NpcSettings_CrazyDayzee), .pos = { 275.0f, 0.0f, -115.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = CRAZY_DAYZEE_DROPS, .territory = { .wander = { @@ -220,7 +220,7 @@ StaticNpc N(NpcData_Dayzee_03) = { .settings = &N(NpcSettings_CrazyDayzee), .pos = { -230.0f, 60.0f, -110.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = CRAZY_DAYZEE_DROPS, .territory = { .wander = { @@ -243,7 +243,7 @@ StaticNpc N(NpcData_Dayzee_04) = { .settings = &N(NpcSettings_CrazyDayzee), .pos = { -330.0f, 60.0f, -110.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = CRAZY_DAYZEE_DROPS, .territory = { .wander = { @@ -266,7 +266,7 @@ StaticNpc N(NpcData_Dayzee_05) = { .settings = &N(NpcSettings_CrazyDayzee), .pos = { -430.0f, 60.0f, -110.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = CRAZY_DAYZEE_DROPS, .territory = { .wander = { @@ -289,7 +289,7 @@ StaticNpc N(NpcData_Dayzee_06) = { .settings = &N(NpcSettings_CrazyDayzee), .pos = { -530.0f, 60.0f, -110.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = CRAZY_DAYZEE_DROPS, .territory = { .wander = { @@ -312,7 +312,7 @@ StaticNpc N(NpcData_Dayzee_07) = { .settings = &N(NpcSettings_CrazyDayzee), .pos = { -630.0f, 60.0f, -110.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = CRAZY_DAYZEE_DROPS, .territory = { .wander = { @@ -356,7 +356,7 @@ StaticNpc N(NpcData_AmazyDayzee) = { .settings = &N(NpcSettings_AmazyDayzee), .pos = { 240.0f, 0.0f, -90.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_AmazyDayzee), .drops = AMAZY_DAYZEE_DROPS, .territory = { diff --git a/src/world/area_flo/flo_09/flo_09_5_npc.c b/src/world/area_flo/flo_09/flo_09_5_npc.c index feb58bb6bf..031d4b377f 100644 --- a/src/world/area_flo/flo_09/flo_09_5_npc.c +++ b/src/world/area_flo/flo_09/flo_09_5_npc.c @@ -63,7 +63,7 @@ StaticNpc N(NpcData_Dayzee_01) = { .settings = &N(NpcSettings_CrazyDayzee), .pos = { -350.0f, 0.0f, 40.0f }, .yaw = 90, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = CRAZY_DAYZEE_DROPS, .territory = { .wander = { @@ -86,7 +86,7 @@ StaticNpc N(NpcData_Dayzee_02) = { .settings = &N(NpcSettings_CrazyDayzee), .pos = { 260.0f, 0.0f, 75.0f }, .yaw = 270, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = CRAZY_DAYZEE_DROPS, .territory = { .wander = { @@ -109,7 +109,7 @@ StaticNpc N(NpcData_Bzzap_01) = { .settings = &N(NpcSettings_Bzzap), .pos = { -50.0f, 55.0f, 90.0f }, .yaw = 90, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = BZZAP_DROPS, .territory = { .wander = { @@ -132,7 +132,7 @@ StaticNpc N(NpcData_Bzzap_02) = { .settings = &N(NpcSettings_Bzzap_02), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_Bzzap_02), .drops = BZZAP_DROPS, .territory = { diff --git a/src/world/area_flo/flo_10/flo_10_5_npc.c b/src/world/area_flo/flo_10/flo_10_5_npc.c index e2a7cda8dd..2452473ee1 100644 --- a/src/world/area_flo/flo_10/flo_10_5_npc.c +++ b/src/world/area_flo/flo_10/flo_10_5_npc.c @@ -203,7 +203,7 @@ StaticNpc N(NpcData_Lily) = { .settings = &N(NpcSettings_Lily), .pos = { 80.0f, -60.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Lily), .drops = LILY_DROPS, .animations = LILY_ANIMS, diff --git a/src/world/area_flo/flo_11/flo_11_3_npc.c b/src/world/area_flo/flo_11/flo_11_3_npc.c index 6d578f4920..4bdb76d6a7 100644 --- a/src/world/area_flo/flo_11/flo_11_3_npc.c +++ b/src/world/area_flo/flo_11/flo_11_3_npc.c @@ -116,7 +116,7 @@ EvtScript N(EVS_LakitusFlying_Gather) = { EVT_END_IF EVT_END_LOOP EVT_END_THREAD - EVT_CALL(LoadPath, 45, EVT_PTR(N(FlightPath_Lakitu_02_Gather)), + EVT_CALL(LoadPath, 45, EVT_PTR(N(FlightPath_Lakitu_02_Gather)), ARRAY_COUNT(N(FlightPath_Lakitu_02_Gather)), EASING_LINEAR) EVT_LOOP(0) EVT_CALL(GetNextPathPos) @@ -374,7 +374,7 @@ StaticNpc N(NpcData_Lakitus)[] = { .settings = &N(NpcSettings_Lakitu), .pos = { 553.0f, 60.0f, 52.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000, .init = &N(EVS_NpcInit_Lakitu_01), .drops = LAKITU_DROPS, .animations = LAKITU_ANIMS, @@ -384,7 +384,7 @@ StaticNpc N(NpcData_Lakitus)[] = { .settings = &N(NpcSettings_Lakitu), .pos = { 553.0f, 60.0f, 52.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000, .init = &N(EVS_NpcInit_Lakitu_02), .drops = LAKITU_DROPS, .animations = LAKITU_ANIMS, diff --git a/src/world/area_flo/flo_12/flo_12_3_npc.c b/src/world/area_flo/flo_12/flo_12_3_npc.c index c9b2d86d61..c74a517944 100644 --- a/src/world/area_flo/flo_12/flo_12_3_npc.c +++ b/src/world/area_flo/flo_12/flo_12_3_npc.c @@ -194,7 +194,7 @@ StaticNpc N(NpcData_Rosie)[] = { .settings = &N(NpcSettings_Rosie), .pos = { -70.0f, 0.0f, 20.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Rosie), .drops = ROSIE_DROPS, .animations = ROSIE_ANIMS, @@ -205,7 +205,7 @@ StaticNpc N(NpcData_Rosie)[] = { .settings = &N(NpcSettings_Dummy), .pos = { -70.0f, 0.0f, 20.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_GRAVITY, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_200, .drops = ROSIE_DROPS, .animations = ROSIE_ANIMS, }, diff --git a/src/world/area_flo/flo_13/flo_13_4_npc.c b/src/world/area_flo/flo_13/flo_13_4_npc.c index ee557b86af..010d315971 100644 --- a/src/world/area_flo/flo_13/flo_13_4_npc.c +++ b/src/world/area_flo/flo_13/flo_13_4_npc.c @@ -597,7 +597,7 @@ StaticNpc N(NpcData_Lakilester) = { .settings = &N(NpcSettings_Lakilester), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000, .init = &N(EVS_NpcInit_Lakilester), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -629,7 +629,7 @@ StaticNpc N(NpcData_Lakilulu) = { .settings = &N(NpcSettings_Lakilester), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Lakilulu), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -662,7 +662,7 @@ StaticNpc N(NpcData_Lakilulu_Spiny) = { .settings = &N(NpcSettings_Lakilester), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Lakilulu_Spiny), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -694,7 +694,7 @@ StaticNpc N(NpcData_Lakitu_01) = { .settings = &N(NpcSettings_Lakitu_SpinySpawner), .pos = { 335.0f, 90.0f, 45.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Lakitu), .drops = LAKITU_DROPS, .territory = { @@ -718,7 +718,7 @@ StaticNpc N(NpcData_Lakitu_02) = { .settings = &N(NpcSettings_Lakitu_SpinySpawner), .pos = { -320.0f, 90.0f, 0.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Lakitu), .drops = LAKITU_DROPS, .territory = { @@ -742,7 +742,7 @@ StaticNpc N(NpcData_Spiny_01) = { .settings = &N(NpcSettings_SpawnedSpiny), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_4 | NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_400, .init = &N(EVS_NpcInit_Spiny), .drops = SPINY_DROPS, .territory = { @@ -766,7 +766,7 @@ StaticNpc N(NpcData_Spiny_02) = { .settings = &N(NpcSettings_SpawnedSpiny), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_4 | NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_400, .init = &N(EVS_NpcInit_Spiny), .drops = SPINY_DROPS, .territory = { @@ -790,7 +790,7 @@ StaticNpc N(NpcData_Spiny_03) = { .settings = &N(NpcSettings_SpawnedSpiny), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_4 | NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_400, .init = &N(EVS_NpcInit_Spiny), .drops = SPINY_DROPS, .territory = { @@ -814,7 +814,7 @@ StaticNpc N(NpcData_Spiny_04) = { .settings = &N(NpcSettings_SpawnedSpiny), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_4 | NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_400, .init = &N(EVS_NpcInit_Spiny), .drops = SPINY_DROPS, .territory = { @@ -838,7 +838,7 @@ StaticNpc N(NpcData_Spiny_05) = { .settings = &N(NpcSettings_SpawnedSpiny), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_4 | NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_400, .init = &N(EVS_NpcInit_Spiny), .drops = SPINY_DROPS, .territory = { @@ -862,7 +862,7 @@ StaticNpc N(NpcData_Spiny_06) = { .settings = &N(NpcSettings_SpawnedSpiny), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_4 | NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_400, .init = &N(EVS_NpcInit_Spiny), .drops = SPINY_DROPS, .territory = { diff --git a/src/world/area_flo/flo_14/flo_14_4_npc.c b/src/world/area_flo/flo_14/flo_14_4_npc.c index 1a31ada146..2d00f01cae 100644 --- a/src/world/area_flo/flo_14/flo_14_4_npc.c +++ b/src/world/area_flo/flo_14/flo_14_4_npc.c @@ -16,7 +16,7 @@ NpcSettings N(NpcSettings_BubbleFlower) = { s32 N(KeyList)[] = { ITEM_BUBBLE_BERRY, - ITEM_NONE + ITEM_NONE }; EvtScript N(EVS_NpcInteract_BubbleFlower) = { @@ -83,7 +83,7 @@ StaticNpc N(NpcData_BubbleFlower) = { .settings = &N(NpcSettings_BubbleFlower), .pos = { 617.0f, 0.0f, 108.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_4000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_4000, .init = &N(EVS_NpcInit_BubbleFlower), .drops = BUBULB_DROPS, .animations = BUBULB_PINK_ANIMS, @@ -95,7 +95,7 @@ StaticNpc N(NpcData_Bzzap) = { .settings = &N(NpcSettings_Bzzap), .pos = { -175.0f, 55.0f, 15.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = BZZAP_DROPS, .territory = { .wander = { diff --git a/src/world/area_flo/flo_15/flo_15_3_npc.c b/src/world/area_flo/flo_15/flo_15_3_npc.c index fe8f2085f8..ee217c4c61 100644 --- a/src/world/area_flo/flo_15/flo_15_3_npc.c +++ b/src/world/area_flo/flo_15/flo_15_3_npc.c @@ -203,7 +203,7 @@ StaticNpc N(NpcData_Sun)[] = { .settings = &N(NpcSettings_Sun), .pos = { 0.0f, 250.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Sun_01), .drops = SUN_DROPS, .animations = SUN_ANIMS, @@ -214,7 +214,7 @@ StaticNpc N(NpcData_Sun)[] = { .settings = &N(NpcSettings_Sun), .pos = { 0.0f, 250.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_8000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_8000, .init = &N(EVS_NpcInit_Sun_02), .drops = SUN_DROPS, .animations = SUN_ANIMS, diff --git a/src/world/area_flo/flo_16/flo_16_5_npc.c b/src/world/area_flo/flo_16/flo_16_5_npc.c index 5ca163299d..3cc18ed5b0 100644 --- a/src/world/area_flo/flo_16/flo_16_5_npc.c +++ b/src/world/area_flo/flo_16/flo_16_5_npc.c @@ -8,7 +8,7 @@ StaticNpc N(NpcData_TuffPuff_01) = { .settings = &N(NpcSettings_TuffPuff), .pos = { 440.0f, 145.0f, 15.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = TUFF_PUFF_DROPS, .territory = { .wander = { @@ -31,7 +31,7 @@ StaticNpc N(NpcData_TuffPuff_02) = { .settings = &N(NpcSettings_TuffPuff), .pos = { 600.0f, 145.0f, 15.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = TUFF_PUFF_DROPS, .territory = { .wander = { diff --git a/src/world/area_flo/flo_17/flo_17_4_npc.c b/src/world/area_flo/flo_17/flo_17_4_npc.c index e1caa3ccac..228e34caab 100644 --- a/src/world/area_flo/flo_17/flo_17_4_npc.c +++ b/src/world/area_flo/flo_17/flo_17_4_npc.c @@ -11,7 +11,7 @@ StaticNpc N(NpcData_Lakitu_01) = { .settings = &N(NpcSettings_Lakitu_SpinySpawner), .pos = { -185.0f, 90.0f, 10.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = LAKITU_DROPS, .territory = { .wander = { @@ -34,7 +34,7 @@ StaticNpc N(NpcData_Lakitu_02) = { .settings = &N(NpcSettings_Lakitu_SpinySpawner), .pos = { 200.0f, 90.0f, -25.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = LAKITU_DROPS, .territory = { .wander = { @@ -57,7 +57,7 @@ StaticNpc N(NpcData_Spiny_01) = { .settings = &N(NpcSettings_SpawnedSpiny), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_4 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = SPINY_DROPS, .territory = { .wander = { @@ -80,7 +80,7 @@ StaticNpc N(NpcData_Spiny_02) = { .settings = &N(NpcSettings_SpawnedSpiny), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_4 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = SPINY_DROPS, .territory = { .wander = { @@ -103,7 +103,7 @@ StaticNpc N(NpcData_Spiny_03) = { .settings = &N(NpcSettings_SpawnedSpiny), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_4 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = SPINY_DROPS, .territory = { .wander = { @@ -126,7 +126,7 @@ StaticNpc N(NpcData_Spiny_04) = { .settings = &N(NpcSettings_SpawnedSpiny), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_4 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = SPINY_DROPS, .territory = { .wander = { diff --git a/src/world/area_flo/flo_18/flo_18_4_npc.c b/src/world/area_flo/flo_18/flo_18_4_npc.c index 2e2063b64e..fac6cc830d 100644 --- a/src/world/area_flo/flo_18/flo_18_4_npc.c +++ b/src/world/area_flo/flo_18/flo_18_4_npc.c @@ -603,7 +603,7 @@ StaticNpc N(NpcData_MachineGang)[] = { .settings = &N(NpcSettings_Lakitu), .pos = { 0.0f, 15.0f, 60.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Lakitu_01), .drops = LAKITU_DROPS, .animations = LAKITU_ANIMS, @@ -614,7 +614,7 @@ StaticNpc N(NpcData_MachineGang)[] = { .settings = &N(NpcSettings_Lakitu), .pos = { 65.0f, 15.0f, 60.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Lakitu_02), .drops = LAKITU_DROPS, .animations = LAKITU_ANIMS, @@ -625,7 +625,7 @@ StaticNpc N(NpcData_MachineGang)[] = { .settings = &N(NpcSettings_Lakitu), .pos = { 135.0f, 15.0f, 35.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Lakitu_03), .drops = LAKITU_DROPS, .animations = LAKITU_ANIMS, @@ -636,7 +636,7 @@ StaticNpc N(NpcData_MachineGang)[] = { .settings = &N(NpcSettings_Magikoopa), .pos = { -60.0f, 0.0f, 50.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Magikoopa), .drops = MAGIKOOPA_DROPS, .animations = MAGIKOOPA_YELLOW_ANIMS, @@ -647,7 +647,7 @@ StaticNpc N(NpcData_MachineGang)[] = { .settings = &N(NpcSettings_Magikoopa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_FlyingMagikoopa), .drops = MAGIKOOPA_DROPS, .animations = FLYING_MAGIKOOPA_YELLOW_ANIMS, diff --git a/src/world/area_flo/flo_21/flo_21_4_npc.c b/src/world/area_flo/flo_21/flo_21_4_npc.c index 033040da03..383219df2e 100644 --- a/src/world/area_flo/flo_21/flo_21_4_npc.c +++ b/src/world/area_flo/flo_21/flo_21_4_npc.c @@ -256,12 +256,12 @@ Vec3i N(BeginAnimScaleX)[] = { { 5, 12, 6 }, { 12, 5, 5 }, { 5, 10, 5 }, - { 10, 5, 4 }, + { 10, 5, 4 }, }; Vec2i N(LoopAnimScaleX)[] = { { 8, 10 }, - { 10, 8 }, + { 10, 8 }, }; Vec3i N(BeginAnimScaleY)[] = { @@ -270,12 +270,12 @@ Vec3i N(BeginAnimScaleY)[] = { { 14, 5, 6 }, { 5, 12, 5 }, { 12, 5, 5 }, - { 5, 10, 4 }, + { 5, 10, 4 }, }; Vec2i N(LoopAnimScaleY)[] = { { 10, 6 }, - { 6, 10 }, + { 6, 10 }, }; EvtScript N(EVS_HuffNPuff_Defeat_Flashing) = { @@ -525,7 +525,7 @@ EvtScript N(EVS_NpcDefeat_HuffNPuff_Main) = { EVT_CALL(GetBattleOutcome, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(OUTCOME_PLAYER_WON) - EVT_CALL(SetEncounterStatusFlags, 1, TRUE) + EVT_CALL(SetEncounterStatusFlags, ENCOUNTER_STATUS_FLAGS_1, TRUE) EVT_CALL(SetNpcYaw, NPC_PARTNER, 90) EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar3) EVT_CALL(GetNpcPos, NPC_PARTNER, LVar0, LVar1, LVar2) @@ -608,7 +608,7 @@ StaticNpc N(NpcData_HuffNPuff)[] = { .settings = &N(NpcSettings_HuffNPuff), .pos = { 650.0f, NPC_DISPOSE_POS_Y, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000, .init = &N(EVS_NpcInit_HuffNPuff_Face), .drops = HUFF_N_PUFF_NO_DROPS, .animations = HUFF_N_PUFF_ANIMS, @@ -619,7 +619,7 @@ StaticNpc N(NpcData_HuffNPuff)[] = { .settings = &N(NpcSettings_HuffNPuff), .pos = { 650.0f, 100.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000, .init = &N(EVS_NpcInit_HuffNPuff_Body), .drops = HUFF_N_PUFF_NO_DROPS, .animations = HUFF_N_PUFF_ANIMS, @@ -630,7 +630,7 @@ StaticNpc N(NpcData_HuffNPuff)[] = { .settings = &N(NpcSettings_HuffNPuff), .pos = { 650.0f, NPC_DISPOSE_POS_Y, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000, .init = &N(EVS_NpcInit_HuffNPuff_Arms), .drops = HUFF_N_PUFF_NO_DROPS, .animations = HUFF_N_PUFF_ANIMS, @@ -649,7 +649,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -660,7 +660,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -671,7 +671,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -682,7 +682,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -693,7 +693,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -704,7 +704,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -715,7 +715,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -726,7 +726,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -737,7 +737,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -748,7 +748,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -759,7 +759,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -770,7 +770,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -781,7 +781,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -792,7 +792,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -803,7 +803,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, diff --git a/src/world/area_flo/flo_22/flo_22_3_npc.c b/src/world/area_flo/flo_22/flo_22_3_npc.c index 770fadcc04..e433bc5e57 100644 --- a/src/world/area_flo/flo_22/flo_22_3_npc.c +++ b/src/world/area_flo/flo_22/flo_22_3_npc.c @@ -108,7 +108,7 @@ StaticNpc N(NpcData_Bzzap) = { .settings = &N(NpcSettings_Dummy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Bzzap), .drops = BZZAP_NO_DROPS, .animations = BZZAP_ANIMS, @@ -119,7 +119,7 @@ StaticNpc N(NpcData_Dayzee) = { .settings = &N(NpcSettings_Dummy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Dayzee), .drops = CRAZY_DAYZEE_DROPS, .animations = CRAZY_DAYZEE_ANIMS, diff --git a/src/world/area_flo/flo_23/flo_23_3_npc.c b/src/world/area_flo/flo_23/flo_23_3_npc.c index 527c1a5197..8248ce6a1e 100644 --- a/src/world/area_flo/flo_23/flo_23_3_npc.c +++ b/src/world/area_flo/flo_23/flo_23_3_npc.c @@ -162,7 +162,7 @@ StaticNpc N(NpcData_GateFlower) = { .settings = &N(NpcSettings_GateFlower), .pos = { 385.0f, 0.0f, -35.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_GateFlower), .drops = GATE_FLOWER_DROPS, .animations = GATE_FLOWER_BLUE_ANIMS, @@ -174,7 +174,7 @@ StaticNpc N(NpcData_Spiny_01) = { .settings = &N(NpcSettings_Spiny), .pos = { 80.0f, 0.0f, 0.0f }, .yaw = 90, - .flags = NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = SPINY_DROPS, .territory = { .wander = { @@ -196,7 +196,7 @@ StaticNpc N(NpcData_Spiny_02) = { .settings = &N(NpcSettings_Spiny), .pos = { -320.0f, 0.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = SPINY_DROPS, .territory = { .wander = { diff --git a/src/world/area_flo/flo_25/flo_25_3_npc.c b/src/world/area_flo/flo_25/flo_25_3_npc.c index bfbfad596f..3123b6ae0c 100644 --- a/src/world/area_flo/flo_25/flo_25_3_npc.c +++ b/src/world/area_flo/flo_25/flo_25_3_npc.c @@ -162,7 +162,7 @@ StaticNpc N(NpcData_GateFlower) = { .settings = &N(NpcSettings_GateFlower), .pos = { 505.0f, 0.0f, -25.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_GateFlower), .drops = GATE_FLOWER_DROPS, .animations = GATE_FLOWER_RED_ANIMS, @@ -174,7 +174,7 @@ StaticNpc N(NpcData_TuffPuff) = { .settings = &N(NpcSettings_TuffPuff), .pos = { -200.0f, 45.0f, 0.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .drops = TUFF_PUFF_DROPS, .territory = { .wander = { @@ -197,7 +197,7 @@ StaticNpc N(NpcData_Bzzap) = { .settings = &N(NpcSettings_Bzzap), .pos = { 150.0f, 55.0f, 0.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .drops = BZZAP_DROPS, .territory = { .wander = { diff --git a/src/world/area_iwa/iwa_00/iwa_00_3_npc.c b/src/world/area_iwa/iwa_00/iwa_00_3_npc.c index f02c90efa6..fd97c5a81e 100644 --- a/src/world/area_iwa/iwa_00/iwa_00_3_npc.c +++ b/src/world/area_iwa/iwa_00/iwa_00_3_npc.c @@ -25,7 +25,7 @@ API_CALLABLE(N(func_80240118_90CD58)) { sfx_play_sound_at_position(SOUND_DEATH, 0, npc->pos.x, npc->pos.y + (npc->collisionHeight / 2), npc->pos.z); fx_damage_stars(1, npc->pos.x, npc->pos.y + (npc->collisionHeight / 2), npc->pos.z, 0.0f, -1.0f, 0.0f, 10); } - + temp = script->functionTemp[1]; if (script->functionTemp[1] == 10) { fx_big_smoke_puff(npc->pos.x, npc->pos.y + 10.0f, npc->pos.z + 10.0f); @@ -34,7 +34,7 @@ API_CALLABLE(N(func_80240118_90CD58)) { spawn_drops(enemy); } } - + script->functionTemp[1]--; if (script->functionTemp[1] == 0) { return ApiStatus_DONE1; @@ -49,7 +49,7 @@ StaticNpc N(NpcData_MontyMole_GroundAmbush)[] = { .settings = &N(NpcSettings_MontyMole_GroundAmbush), .pos = { 880.0f, 70.0f, 67.0f }, .yaw = 0, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .drops = MONTY_MOLE_DROPS, .territory = { .wander = { @@ -71,7 +71,7 @@ StaticNpc N(NpcData_MontyMole_GroundAmbush)[] = { .settings = &N(NpcSettings_MontyMole_GroundAmbush_Hole), .pos = { 880.0f, 70.0f, 67.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_NO_AI | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_20 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = { .dropFlags = NPC_DROP_FLAGS_80, .heartDrops = NO_DROPS, @@ -99,7 +99,7 @@ StaticNpc N(NpcData_MontyMole_WallAmbush)[] = { .settings = &N(NpcSettings_MontyMole_WallAmbush), .pos = { 1220.0f, -30.0f, 70.0f }, .yaw = 0, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .drops = MONTY_MOLE_DROPS, .territory = { .wander = { @@ -121,7 +121,7 @@ StaticNpc N(NpcData_MontyMole_WallAmbush)[] = { .settings = &N(NpcSettings_MontyMole_WallAmbush_Hole), .pos = { 1220.0f, -30.0f, 70.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_NO_AI | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_20 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = { .dropFlags = NPC_DROP_FLAGS_80, .heartDrops = NO_DROPS, @@ -348,7 +348,7 @@ StaticNpc N(NpcData_Whacka)[] = { .settings = &N(NpcSettings_Whacka), .pos = { 725.0f, -30.0f, 225.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Whacka_01), .drops = WHACKA_DROPS, .animations = WHACKA_ANIMS, @@ -359,7 +359,7 @@ StaticNpc N(NpcData_Whacka)[] = { .settings = &N(NpcSettings_Whacka), .pos = { 725.0f, -30.0f, 225.0f }, .yaw = 90, - .flags = NPC_FLAG_4 | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_4000 | NPC_FLAG_MOTION_BLUR | NPC_FLAG_200000 | NPC_FLAG_400000 | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_4000 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_400000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP, .init = &N(EVS_NpcInit_Whacka_02), .drops = WHACKA_DROPS, .animations = WHACKA_ANIMS, diff --git a/src/world/area_iwa/iwa_01/iwa_01_4_npc.c b/src/world/area_iwa/iwa_01/iwa_01_4_npc.c index d6eacc5d79..c57cba9eed 100644 --- a/src/world/area_iwa/iwa_01/iwa_01_4_npc.c +++ b/src/world/area_iwa/iwa_01/iwa_01_4_npc.c @@ -11,7 +11,7 @@ StaticNpc N(NpcData_MontyMole_WallAmbush)[] = { .settings = &N(NpcSettings_MontyMole_WallAmbush), .pos = { 340.0f, 70.0f, 101.0f }, .yaw = 0, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .drops = MONTY_MOLE_DROPS, .territory = { .wander = { @@ -33,7 +33,7 @@ StaticNpc N(NpcData_MontyMole_WallAmbush)[] = { .settings = &N(NpcSettings_MontyMole_WallAmbush_Hole), .pos = { 340.0f, 70.0f, 101.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_NO_AI | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_20 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000, .drops = { .dropFlags = NPC_DROP_FLAGS_80, .heartDrops = NO_DROPS, @@ -62,7 +62,7 @@ StaticNpc N(NpcData_MontyMole_StoneThrower_01)[] = { .settings = &N(NpcSettings_MontyMole_StoneThrower), .pos = { -250.0f, 10.0f, 260.0f }, .yaw = 90, - .flags = NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_800, .drops = MONTY_MOLE_DROPS, .territory = { .wander = { @@ -88,7 +88,7 @@ StaticNpc N(NpcData_MontyMole_StoneThrower_02)[] = { .settings = &N(NpcSettings_MontyMole_StoneThrower), .pos = { -175.0f, 10.0f, 240.0f }, .yaw = 270, - .flags = NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_800, .drops = MONTY_MOLE_DROPS, .territory = { .wander = { @@ -114,7 +114,7 @@ StaticNpc N(NpcData_MontyMole_StoneThrower_03)[] = { .settings = &N(NpcSettings_MontyMole_StoneThrower), .pos = { -55.0f, 10.0f, 180.0f }, .yaw = 270, - .flags = NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_800, .drops = MONTY_MOLE_DROPS, .territory = { .wander = { @@ -139,7 +139,7 @@ StaticNpc N(NpcData_Cleft) = { .settings = &N(NpcSettings_Cleft), .pos = { -657.0f, 163.0f, 155.0f }, .yaw = 0, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = CLEFT_DROPS, .territory = { .wander = { diff --git a/src/world/area_iwa/iwa_02/iwa_02_3_npc.c b/src/world/area_iwa/iwa_02/iwa_02_3_npc.c index 4831fc6941..bded7f0fd3 100644 --- a/src/world/area_iwa/iwa_02/iwa_02_3_npc.c +++ b/src/world/area_iwa/iwa_02/iwa_02_3_npc.c @@ -12,7 +12,7 @@ StaticNpc N(NpcData_Cleft_01) = { .settings = &N(NpcSettings_Cleft), .pos = { 526.0f, 238.0f, 69.0f }, .yaw = 0, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_2000, .drops = CLEFT_DROPS, .territory = { .wander = { @@ -35,7 +35,7 @@ StaticNpc N(NpcData_Cleft_02) = { .settings = &N(NpcSettings_Cleft), .pos = { 450.0f, 50.0f, 215.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_2000, .drops = CLEFT_DROPS, .territory = { .wander = { @@ -58,7 +58,7 @@ StaticNpc N(NpcData_Cleft_03) = { .settings = &N(NpcSettings_Cleft), .pos = { 90.0f, 0.0f, 160.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_2000, .drops = CLEFT_DROPS, .territory = { .wander = { @@ -82,7 +82,7 @@ StaticNpc N(NpcData_MontyMole_01)[] = { .settings = &N(NpcSettings_MontyMole_WallAmbush), .pos = { 867.0f, 0.0f, 101.0f }, .yaw = 0, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = MONTY_MOLE_DROPS, .territory = { .wander = { @@ -104,7 +104,7 @@ StaticNpc N(NpcData_MontyMole_01)[] = { .settings = &N(NpcSettings_MontyMole_WallAmbush_Hole), .pos = { 867.0f, 0.0f, 101.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_NO_AI | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_20 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = { .dropFlags = NPC_DROP_FLAGS_80, .heartDrops = NO_DROPS, @@ -189,7 +189,7 @@ StaticNpc N(NpcData_Bubulb) = { .settings = &N(NpcSettings_Bubulb), .pos = { 1075.0f, 50.0f, 230.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Bubulb), .drops = BUBULB_DROPS, .animations = BUBULB_PURPLE_ANIMS, diff --git a/src/world/area_iwa/iwa_03/iwa_03_3_npc.c b/src/world/area_iwa/iwa_03/iwa_03_3_npc.c index f3bc065223..af8aab6837 100644 --- a/src/world/area_iwa/iwa_03/iwa_03_3_npc.c +++ b/src/world/area_iwa/iwa_03/iwa_03_3_npc.c @@ -8,7 +8,7 @@ StaticNpc N(NpcData_Cleft_01) = { .settings = &N(NpcSettings_Cleft), .pos = { -525.0f, -75.0f, 60.0f }, .yaw = 0, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = CLEFT_DROPS, .territory = { .wander = { @@ -31,7 +31,7 @@ StaticNpc N(NpcData_Cleft_02) = { .settings = &N(NpcSettings_Cleft), .pos = { -1686.0f, -60.0f, 180.0f }, .yaw = 0, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = CLEFT_DROPS, .territory = { .wander = { @@ -54,7 +54,7 @@ StaticNpc N(NpcData_Cleft_03) = { .settings = &N(NpcSettings_Cleft), .pos = { -1300.0f, 408.0f, -125.0f }, .yaw = 0, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = CLEFT_DROPS, .territory = { .wander = { @@ -78,7 +78,7 @@ StaticNpc N(NpcData_MontyMole)[] = { .settings = &N(NpcSettings_MontyMole_GroundAmbush), .pos = { -1000.0f, 23.0f, 60.0f }, .yaw = 0, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .drops = MONTY_MOLE_DROPS, .territory = { .wander = { @@ -100,7 +100,7 @@ StaticNpc N(NpcData_MontyMole)[] = { .settings = &N(NpcSettings_MontyMole_GroundAmbush_Hole), .pos = { -1000.0f, 23.0f, 60.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_NO_AI | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_20 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = { .dropFlags = NPC_DROP_FLAGS_80, .heartDrops = NO_DROPS, diff --git a/src/world/area_iwa/iwa_04/iwa_04_4_npc.c b/src/world/area_iwa/iwa_04/iwa_04_4_npc.c index a4a18ba6f2..45818c2712 100644 --- a/src/world/area_iwa/iwa_04/iwa_04_4_npc.c +++ b/src/world/area_iwa/iwa_04/iwa_04_4_npc.c @@ -282,7 +282,7 @@ StaticNpc N(NpcData_Cleft) = { .settings = &N(NpcSettings_Cleft), .pos = { -412.0f, -250.0f, 143.0f }, .yaw = 0, - .flags = NPC_FLAG_100 | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_800, .drops = CLEFT_DROPS, .territory = { .wander = { @@ -305,7 +305,7 @@ StaticNpc N(NpcData_Buzzar) = { .settings = &N(NpcSettings_Buzzar), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_200000 | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_800000, .drops = { .dropFlags = NPC_DROP_FLAGS_80, .heartDrops = STANDARD_HEART_DROPS(3), diff --git a/src/world/area_iwa/iwa_10/iwa_10_3_npc.c b/src/world/area_iwa/iwa_10/iwa_10_3_npc.c index 9f4bede622..7e60ba0a4c 100644 --- a/src/world/area_iwa/iwa_10/iwa_10_3_npc.c +++ b/src/world/area_iwa/iwa_10/iwa_10_3_npc.c @@ -128,7 +128,7 @@ StaticNpc N(NpcData_TrainConductorToad)[] = { .settings = &N(NpcSettings_TrainConductorToad), .pos = { -440.0f, 20.0f, 110.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_TrainStationToad_01), .drops = TRAIN_CONDUCTOR_DROPS, .animations = TRAIN_CONDUCTOR_WHITE_ANIMS, @@ -139,7 +139,7 @@ StaticNpc N(NpcData_TrainConductorToad)[] = { .settings = &N(NpcSettings_TrainConductorToad), .pos = { -425.0f, 70.0f, -20.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_TrainStationToad_02), .drops = TRAIN_CONDUCTOR_DROPS, .animations = TRAIN_CONDUCTOR_ANIMS, @@ -151,7 +151,7 @@ StaticNpc N(NpcData_Toad) = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -254.0f, 20.0f, 165.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Toad), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -168,7 +168,7 @@ StaticNpc N(NpcData_ThreeSisters)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -562.0f, 0.0f, 384.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_ThreeSisters_02), .drops = TOADETTE_DROPS, .animations = TOADETTE_PINK_ANIMS, @@ -179,7 +179,7 @@ StaticNpc N(NpcData_ThreeSisters)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -582.0f, 0.0f, 406.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_ThreeSisters_02), .drops = TOADETTE_DROPS, .animations = TOADETTE_PINK_ANIMS, @@ -190,7 +190,7 @@ StaticNpc N(NpcData_ThreeSisters)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -524.0f, 0.0f, 411.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_ThreeSisters_02), .drops = TOADETTE_DROPS, .animations = TOADETTE_PINK_ANIMS, @@ -204,7 +204,7 @@ StaticNpc N(NpcData_Dryite)[] = { .settings = &N(NpcSettings_Dryite), .pos = { -344.0f, 0.0f, 379.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Dryite), .drops = DRYITE_DROPS, .animations = DRYITE_GREEN_ANIMS, @@ -215,7 +215,7 @@ StaticNpc N(NpcData_Dryite)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -760.0f, 0.0f, 160.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_ThreeSisters_01), .drops = TOADETTE_DROPS, .animations = TOADETTE_GREEN_ANIMS, diff --git a/src/world/area_iwa/iwa_10/iwa_10_6_parakarry.c b/src/world/area_iwa/iwa_10/iwa_10_6_parakarry.c index 26867d6cf0..7d893f2ef8 100644 --- a/src/world/area_iwa/iwa_10/iwa_10_6_parakarry.c +++ b/src/world/area_iwa/iwa_10/iwa_10_6_parakarry.c @@ -315,7 +315,7 @@ StaticNpc N(NpcData_Parakarry) = { .settings = &N(NpcSettings_Parakarry), .pos = { -610.0f, 230.0f, -485.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000, .init = &N(EVS_NpcInit_Parakarry), .drops = { .dropFlags = NPC_DROP_FLAGS_80, diff --git a/src/world/area_iwa/iwa_11/iwa_11_5_npc.c b/src/world/area_iwa/iwa_11/iwa_11_5_npc.c index 40010aa47c..bf95b2b8cd 100644 --- a/src/world/area_iwa/iwa_11/iwa_11_5_npc.c +++ b/src/world/area_iwa/iwa_11/iwa_11_5_npc.c @@ -23,7 +23,7 @@ StaticNpc N(NpcData_TrainConductorToad) = { .settings = &N(NpcSettings_TrainConductorToad), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_TrainConductorToad), .drops = TRAIN_CONDUCTOR_DROPS, .animations = TRAIN_CONDUCTOR_ANIMS, diff --git a/src/world/area_jan/jan_00/jan_00_2_npc.c b/src/world/area_jan/jan_00/jan_00_2_npc.c index d3e99e87ae..1339b39149 100644 --- a/src/world/area_jan/jan_00/jan_00_2_npc.c +++ b/src/world/area_jan/jan_00/jan_00_2_npc.c @@ -585,7 +585,7 @@ StaticNpc N(D_8024488C_B24DCC)[] = { .settings = &N(NpcSettings_Kolorado_01), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Kolorado_01), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -617,7 +617,7 @@ StaticNpc N(D_8024488C_B24DCC)[] = { .settings = &N(NpcSettings_Kolorado_02), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_JUMPING | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_800 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Kolorado_02), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -649,7 +649,7 @@ StaticNpc N(D_8024488C_B24DCC)[] = { .settings = &N(NpcSettings_JrTroopa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_JUMPING | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_800 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_JrTroopa), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -682,7 +682,7 @@ StaticNpc N(D_80244E5C_B2539C) = { .settings = &N(NpcSettings_HeartPlant_01), .pos = { 455.0f, 0.0f, 115.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_JUMPING | NPC_FLAG_8000 | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_800 | ENEMY_FLAGS_8000 | ENEMY_FLAGS_400000, .drops = { .dropFlags = NPC_DROP_FLAGS_80, .heartDrops = NO_DROPS, @@ -714,7 +714,7 @@ StaticNpc N(D_8024504C_B2558C) = { .settings = &N(NpcSettings_HeartPlant_01), .pos = { 167.0f, 0.0f, 404.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_JUMPING | NPC_FLAG_8000 | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_800 | ENEMY_FLAGS_8000 | ENEMY_FLAGS_400000, .drops = { .dropFlags = NPC_DROP_FLAGS_80, .heartDrops = NO_DROPS, @@ -746,7 +746,7 @@ StaticNpc N(D_8024523C_B2577C) = { .settings = &N(NpcSettings_HeartPlant_01), .pos = { 90.0f, 0.0f, 316.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_JUMPING | NPC_FLAG_8000 | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_800 | ENEMY_FLAGS_8000 | ENEMY_FLAGS_400000, .drops = { .dropFlags = NPC_DROP_FLAGS_80, .heartDrops = NO_DROPS, @@ -778,7 +778,7 @@ StaticNpc N(D_8024542C_B2596C) = { .settings = &N(NpcSettings_HeartPlant_01), .pos = { 424.0f, 0.0f, 182.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_JUMPING | NPC_FLAG_8000 | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_800 | ENEMY_FLAGS_8000 | ENEMY_FLAGS_400000, .drops = { .dropFlags = NPC_DROP_FLAGS_80, .heartDrops = NO_DROPS, @@ -810,7 +810,7 @@ StaticNpc N(D_8024561C_B25B5C) = { .settings = &N(NpcSettings_HeartPlant_01), .pos = { 143.0f, 0.0f, 260.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_JUMPING | NPC_FLAG_8000 | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_800 | ENEMY_FLAGS_8000 | ENEMY_FLAGS_400000, .drops = { .dropFlags = NPC_DROP_FLAGS_80, .heartDrops = NO_DROPS, diff --git a/src/world/area_jan/jan_04/B45730.c b/src/world/area_jan/jan_04/B45730.c index e7f439de19..1f51c426b9 100644 --- a/src/world/area_jan/jan_04/B45730.c +++ b/src/world/area_jan/jan_04/B45730.c @@ -15,7 +15,7 @@ ApiStatus func_80240FC0_B45730(Evt* script, s32 isInitialCall) { Evt* newScript; D_8024625C_B4A9CC++; - newScript = start_script(rideScript, 0, 0x20); + newScript = start_script(rideScript, 0, EVT_FLAG_RUN_IMMEDIATELY); newScript->varTable[1] = playerStatus->position.x - 10.0f; newScript->varTable[2] = playerStatus->position.y; newScript->varTable[3] = playerStatus->position.z; diff --git a/src/world/area_kgr/kgr_02/kgr_02_3_npc.c b/src/world/area_kgr/kgr_02/kgr_02_3_npc.c index b7c28a58f6..e511c692a3 100644 --- a/src/world/area_kgr/kgr_02/kgr_02_3_npc.c +++ b/src/world/area_kgr/kgr_02/kgr_02_3_npc.c @@ -283,7 +283,7 @@ NpcSettings N(NpcSettings_Fuzzipede) = { .ai = &N(EVS_NpcAI_Fuzzipede), .onHit = &N(EVS_NpcHit_Fuzzipede), .onDefeat = &N(EVS_NpcDefeat_Fuzzipede), - .unk_27 = 100, + .unk_24 = 100, }; StaticNpc N(NpcData_Fuzzipede) = { @@ -291,7 +291,7 @@ StaticNpc N(NpcData_Fuzzipede) = { .settings = &N(NpcSettings_Fuzzipede), .pos = { 333.0f, -10.0f, -130.0f }, .yaw = 90, - .flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_JUMPING | NPC_FLAG_8000 | NPC_FLAG_40000 | NPC_FLAG_MOTION_BLUR | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_10000000, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_800 | ENEMY_FLAGS_8000 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_10000000, .drops = { .dropFlags = NPC_DROP_FLAGS_80, .heartDrops = NO_DROPS, diff --git a/src/world/area_kmr/kmr_00/kmr_00_4_npc.c b/src/world/area_kmr/kmr_00/kmr_00_4_npc.c index 5b0e4622d8..f6a9bc602a 100644 --- a/src/world/area_kmr/kmr_00/kmr_00_4_npc.c +++ b/src/world/area_kmr/kmr_00/kmr_00_4_npc.c @@ -111,7 +111,7 @@ StaticNpc N(NpcData_Goombaria) = { .settings = &N(NpcSettings_Goombaria_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Goombaria), .drops = GOOMBARIA_DROPS, .animations = GOOMBARIA_ANIMS, @@ -123,7 +123,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_StarSpirit), .drops = ELDSTAR_DROPS, .animations = ELDSTAR_ANIMS, @@ -133,7 +133,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_StarSpirit), .drops = MAMAR_DROPS, .animations = MAMAR_ANIMS, @@ -143,7 +143,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_StarSpirit), .drops = SKOLAR_DROPS, .animations = SKOLAR_ANIMS, @@ -153,7 +153,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_StarSpirit), .drops = MUSKULAR_DROPS, .animations = MUSKULAR_ANIMS, @@ -163,7 +163,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_StarSpirit), .drops = MISSTAR_DROPS, .animations = MISSTAR_ANIMS, @@ -173,7 +173,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_StarSpirit), .drops = KLEVAR_DROPS, .animations = KLEVAR_ANIMS, @@ -183,7 +183,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_StarSpirit), .drops = KALMAR_DROPS, .animations = KALMAR_ANIMS, diff --git a/src/world/area_kmr/kmr_03/kmr_03_3_npc.c b/src/world/area_kmr/kmr_03/kmr_03_3_npc.c index cd48080cd3..68d435c794 100644 --- a/src/world/area_kmr/kmr_03/kmr_03_3_npc.c +++ b/src/world/area_kmr/kmr_03/kmr_03_3_npc.c @@ -168,7 +168,7 @@ StaticNpc N(NpcData_Goompa) = { .settings = &N(NpcSettings_Goompa), .pos = { -50.0f, 0.0f, 80.0f }, .yaw = 45, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Goompa), .drops = { .dropFlags = NPC_DROP_FLAGS_80, diff --git a/src/world/area_kmr/kmr_04/kmr_04_3_npc.c b/src/world/area_kmr/kmr_04/kmr_04_3_npc.c index b188c6ecc9..55b3dcd526 100644 --- a/src/world/area_kmr/kmr_04/kmr_04_3_npc.c +++ b/src/world/area_kmr/kmr_04/kmr_04_3_npc.c @@ -263,7 +263,7 @@ StaticNpc N(NpcData_JrTroopa) = { .settings = &N(NpcSettings_JrTroopa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_200000 | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_800000, .init = &N(EVS_NpcInit_JrTroopa), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -295,7 +295,7 @@ StaticNpc N(NpcData_Goompa) = { .settings = &N(NpcSettings_Goompa), .pos = { -58.0f, 0.0f, 130.0f }, .yaw = 0, - .flags = NPC_FLAG_100 | NPC_FLAG_200000, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_200000, .animations = { }, }; diff --git a/src/world/area_kmr/kmr_05/kmr_05_3_npc.c b/src/world/area_kmr/kmr_05/kmr_05_3_npc.c index 64f9c9567f..fbaf85dbda 100644 --- a/src/world/area_kmr/kmr_05/kmr_05_3_npc.c +++ b/src/world/area_kmr/kmr_05/kmr_05_3_npc.c @@ -76,7 +76,7 @@ StaticNpc N(NpcData_Goomba_01) = { .settings = &N(NpcSettings_Goomba_Wander), .pos = { 305.0f, 50.0f, -13.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .drops = GOOMBA_DROPS, .territory = { .wander = { @@ -99,7 +99,7 @@ StaticNpc N(NpcData_Goomba_02) = { .settings = &N(NpcSettings_Goomba_Wander), .pos = { 700.0f, 210.0f, -165.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .drops = GOOMBA_DROPS, .territory = { .wander = { @@ -129,7 +129,7 @@ StaticNpc N(NpcData_SpikedGoomba) = { .settings = &N(NpcSettings_SpikedGoomba_Wander), .pos = { 712.0f, 100.0f, -95.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .init = &N(EVS_NpcInit_SpikedGoomba), .drops = SPIKED_GOOMBA_DROPS, .territory = { @@ -153,7 +153,7 @@ StaticNpc N(NpcData_Paragoomba) = { .settings = &N(NpcSettings_Paragoomba_Wander), .pos = { 960.0f, 210.0f, -20.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .drops = PARAGOOMBA_DROPS, .territory = { .wander = { diff --git a/src/world/area_kmr/kmr_06/kmr_06_3_npc.c b/src/world/area_kmr/kmr_06/kmr_06_3_npc.c index cf2a13dc6b..024e5d7d28 100644 --- a/src/world/area_kmr/kmr_06/kmr_06_3_npc.c +++ b/src/world/area_kmr/kmr_06/kmr_06_3_npc.c @@ -8,7 +8,7 @@ StaticNpc N(NpcData_SpikedGoomba) = { .settings = &N(NpcSettings_SpikedGoomba_Wander), .pos = { 160.0f, 0.0f, 30.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = SPIKED_GOOMBA_DROPS, .territory = { .wander = { @@ -30,7 +30,7 @@ StaticNpc N(NpcData_Paragoomba) = { .settings = &N(NpcSettings_Paragoomba_Wander), .pos = { 525.0f, 60.0f, 15.0f }, .yaw = 270, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = PARAGOOMBA_DROPS, .territory = { .wander = { diff --git a/src/world/area_kmr/kmr_07/kmr_07_3_npc.c b/src/world/area_kmr/kmr_07/kmr_07_3_npc.c index 294472ee35..bf6aea32f2 100644 --- a/src/world/area_kmr/kmr_07/kmr_07_3_npc.c +++ b/src/world/area_kmr/kmr_07/kmr_07_3_npc.c @@ -211,7 +211,7 @@ StaticNpc N(NpcData_GoombaBros_Red)[] = { .settings = &N(NpcSettings_GoombaBros_Stationary), .pos = { 526.0f, 80.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_40000 | NPC_FLAG_200000 | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_800000, .init = &N(EVS_NpcInit_GoombaBros_Red), .drops = GOOMBA_BROS_DROPS, .territory = { @@ -233,7 +233,7 @@ StaticNpc N(NpcData_GoombaBros_Red)[] = { .settings = &N(NpcSettings_GoombaBros_Stationary), .pos = { 498.0f, 80.0f, -10.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_40000 | NPC_FLAG_200000 | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_800000, .init = &N(EVS_NpcInit_GoombaBros_Blue), .drops = GOOMBA_BROS_DROPS, .territory = { diff --git a/src/world/area_kmr/kmr_09/kmr_09_3_npc.c b/src/world/area_kmr/kmr_09/kmr_09_3_npc.c index 907571871e..8441189816 100644 --- a/src/world/area_kmr/kmr_09/kmr_09_3_npc.c +++ b/src/world/area_kmr/kmr_09/kmr_09_3_npc.c @@ -9,7 +9,7 @@ StaticNpc N(NpcData_Goomba_01) = { .settings = &N(NpcSettings_Goomba_Wander), .pos = { 200.0f, 0.0f, 24.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = GOOMBA_DROPS, .territory = { .wander = { @@ -31,7 +31,7 @@ StaticNpc N(NpcData_Goomba_02) = { .settings = &N(NpcSettings_Goomba_Wander), .pos = { 250.0f, 0.0f, 35.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = GOOMBA_DROPS, .territory = { .wander = { @@ -132,7 +132,7 @@ StaticNpc N(NpcData_Goomba_Ambush) = { .settings = &N(NpcSettings_Goomba_Wander), .pos = { -34.0f, 29.0f, -32.0f }, .yaw = 270, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Goomba_Ambush), .drops = GOOMBA_DROPS, .territory = { @@ -155,7 +155,7 @@ StaticNpc N(NpcData_Paragoomba) = { .settings = &N(NpcSettings_Paragoomba_Wander), .pos = { 670.0f, 60.0f, 20.0f }, .yaw = 270, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = PARAGOOMBA_DROPS, .territory = { .wander = { diff --git a/src/world/area_kmr/kmr_10/kmr_10_3_npc.c b/src/world/area_kmr/kmr_10/kmr_10_3_npc.c index 8b56256f90..dd0b375ddd 100644 --- a/src/world/area_kmr/kmr_10/kmr_10_3_npc.c +++ b/src/world/area_kmr/kmr_10/kmr_10_3_npc.c @@ -13,7 +13,7 @@ StaticNpc N(NpcData_Toad) = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_4000 | NPC_FLAG_200000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_4000 | ENEMY_FLAGS_200000, .init = &N(EVS_NpcInit_Toad), .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, diff --git a/src/world/area_kmr/kmr_12/kmr_12_3_npc.c b/src/world/area_kmr/kmr_12/kmr_12_3_npc.c index a3ce9d799c..504eabc416 100644 --- a/src/world/area_kmr/kmr_12/kmr_12_3_npc.c +++ b/src/world/area_kmr/kmr_12/kmr_12_3_npc.c @@ -92,7 +92,7 @@ StaticNpc N(NpcData_Goomba) = { .settings = &N(NpcSettings_Goomba_Wander), .pos = { -33.0f, 30.0f, -25.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Goomba), .drops = GOOMBA_DROPS, .territory = { diff --git a/src/world/area_kmr/kmr_23/kmr_23_2_npc.c b/src/world/area_kmr/kmr_23/kmr_23_2_npc.c index 3554596db0..9c07fda363 100644 --- a/src/world/area_kmr/kmr_23/kmr_23_2_npc.c +++ b/src/world/area_kmr/kmr_23/kmr_23_2_npc.c @@ -31,7 +31,7 @@ AnimID N(StarSpiritAnimations)[][2] = { { ANIM_WorldEldstar_Idle, ANIM_WorldEldstar_Back }, { ANIM_WorldMamar_Idle, ANIM_WorldMamar_Back }, { ANIM_WorldSkolar_Idle, ANIM_WorldSkolar_Back }, - { ANIM_WorldMuskular_Idle, ANIM_WorldMuskular_Back }, + { ANIM_WorldMuskular_Idle, ANIM_WorldMuskular_Back }, { ANIM_WorldMisstar_Idle, ANIM_WorldMisstar_Back }, { ANIM_WorldKlevar_Idle, ANIM_WorldKlevar_Back }, { ANIM_WorldKalmar_Idle, ANIM_WorldKalmar_Back }, @@ -77,7 +77,7 @@ API_CALLABLE(N(CreateEndChapterData)) { Npc* npc = get_npc_safe(NPC_StarSpirit); EndChapter* data; s32 backFacing; - + if (isInitialCall) { data = heap_malloc(sizeof(*data)); script->userData = data; @@ -109,7 +109,7 @@ API_CALLABLE(N(CreateEndChapterData)) { } npc->currentAnim = N(StarSpiritAnimations)[data->chapter][backFacing]; } - + if (data->spiritCardEffect != NULL) { data->spiritCardEffect->data.spiritCard->yaw = data->yaw; data->spiritCardEffect->data.spiritCard->pos.x = data->pos.x - 2.0f; @@ -139,7 +139,7 @@ API_CALLABLE(N(AccelerateCardSpin)) { Bytecode* args = script->ptrReadPos; EndChapter* data; s32 duration; - + if (isInitialCall) { script->functionTempF[1] = evt_get_float_variable(script, *args++); duration = script->functionTemp[2] = evt_get_variable(script, *args++); @@ -149,7 +149,7 @@ API_CALLABLE(N(AccelerateCardSpin)) { data = (EndChapter*) evt_get_variable(script, MV_EndChapterDataPtr); data->angularVelocity += script->functionTempF[1]; - + script->functionTemp[0]++; if (script->functionTemp[0] < script->functionTemp[2]) { return ApiStatus_BLOCK; @@ -173,7 +173,7 @@ API_CALLABLE(N(MakeCardFloatUpward)) { data->pos.y = update_lerp(script->varTable[0], script->functionTemp[1], script->functionTemp[2], script->functionTemp[0], script->functionTemp[3]); - + script->functionTemp[0]++; if (script->functionTemp[0] < script->functionTemp[3]) { return ApiStatus_BLOCK; @@ -221,11 +221,11 @@ API_CALLABLE(N(FlashScreenWhite)) { HOLD_WHITE = 1, BACK_TO_NORMAL = 2, }; - + if (isInitialCall) { script->functionTemp[0] = FADE_TO_WHITE; } - + switch(script->functionTemp[0]) { case FADE_TO_WHITE: set_screen_overlay_color(0, 208, 208, 208); @@ -270,7 +270,7 @@ API_CALLABLE(N(FlashScreenWhite)) { API_CALLABLE(N(SpinDownStarSpirit)) { Bytecode* args = script->ptrReadPos; EndChapter* data = (EndChapter*) evt_get_variable(script, MV_EndChapterDataPtr); - + if (isInitialCall) { script->functionTemp[0] = 0; data->stopAccelerating = TRUE; @@ -282,7 +282,7 @@ API_CALLABLE(N(SpinDownStarSpirit)) { data->yaw = clamp_angle(update_lerp(EASING_QUADRATIC_OUT, data->startYaw, script->functionTemp[1], script->functionTemp[0], script->functionTemp[2])); - + script->functionTemp[0]++; if (script->functionTemp[0] < script->functionTemp[2]) { return ApiStatus_BLOCK; @@ -295,7 +295,7 @@ API_CALLABLE(N(EndOfChapterBounceIn)) { Bytecode* args = script->ptrReadPos; EndChapter* endChatper = (EndChapter*) evt_get_variable(script, MV_EndChapterDataPtr); s32 posY; - + if (isInitialCall) { endChatper->chapterChangeEffect = fx_chapter_change(gGameStatusPtr->entryID + 10, 40, 0, 0, 1.0f, 0); script->functionTemp[0] = 0; @@ -312,7 +312,7 @@ API_CALLABLE(N(EndOfChapterBounceIn)) { endChatper->chapterChangeEffect->data.chapterChange->chapterPos.y = posY; endChatper->chapterChangeEffect->data.chapterChange->endOfPos.x = script->varTable[0]; endChatper->chapterChangeEffect->data.chapterChange->endOfPos.y = posY; - + script->functionTemp[0]++; if (script->functionTemp[0] < script->functionTemp[3]) { return ApiStatus_BLOCK; @@ -325,7 +325,7 @@ API_CALLABLE(N(EndOfChapterSplitApart)) { Bytecode* args = script->ptrReadPos; EndChapter* data = (EndChapter*) evt_get_variable(script, MV_EndChapterDataPtr); s32 leftDx, rightDx; - + if (isInitialCall) { script->functionTemp[0] = 0; script->varTable[0] = evt_get_variable(script, *args++); @@ -340,7 +340,7 @@ API_CALLABLE(N(EndOfChapterSplitApart)) { data->chapterChangeEffect->data.chapterChange->chapterPos.y = script->functionTemp[1]; data->chapterChangeEffect->data.chapterChange->endOfPos.x = script->varTable[0] + rightDx; data->chapterChangeEffect->data.chapterChange->endOfPos.y = script->functionTemp[1]; - + script->functionTemp[0]++; if (script->functionTemp[0] < script->functionTemp[3]) { return ApiStatus_BLOCK; @@ -352,7 +352,7 @@ API_CALLABLE(N(EndOfChapterSplitApart)) { API_CALLABLE(N(func_80240BB4_9085E4)) { Bytecode* args = script->ptrReadPos; EndChapter* data = (EndChapter*) evt_get_variable(script, MV_EndChapterDataPtr); - + if (isInitialCall) { script->functionTemp[0] = 0; script->functionTemp[1] = evt_get_variable(script, *args++); @@ -364,7 +364,7 @@ API_CALLABLE(N(func_80240BB4_9085E4)) { data->unk0C = update_lerp(EASING_LINEAR, script->functionTemp[1], script->functionTemp[2], script->functionTemp[0], script->functionTemp[3]); - + script->functionTemp[0]++; if (script->functionTemp[0] < script->functionTemp[3]) { return ApiStatus_BLOCK; @@ -408,7 +408,7 @@ void func_80240DA4_9087D4(void) { s32 baseX = 47; s32 baseY = 100; EndChapter* data = evt_get_variable(NULL, MapVar(0)); - + switch (D_802417C8_9091F8) { case 0: if (data->unk1E != 0) { @@ -559,7 +559,7 @@ StaticNpc N(NpcData_Eldstar)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Eldstar_01), .drops = ELDSTAR_DROPS, .animations = ELDSTAR_ANIMS, @@ -569,7 +569,7 @@ StaticNpc N(NpcData_Eldstar)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Eldstar_02), .drops = ELDSTAR_DROPS, .animations = ELDSTAR_ANIMS, @@ -582,7 +582,7 @@ StaticNpc N(NpcData_Mamar)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Eldstar_01), .drops = MAMAR_DROPS, .animations = MAMAR_ANIMS, @@ -592,7 +592,7 @@ StaticNpc N(NpcData_Mamar)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Eldstar_02), .drops = MAMAR_DROPS, .animations = MAMAR_ANIMS, @@ -605,7 +605,7 @@ StaticNpc N(NpcData_Skolar)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Eldstar_01), .drops = SKOLAR_DROPS, .animations = SKOLAR_ANIMS, @@ -615,7 +615,7 @@ StaticNpc N(NpcData_Skolar)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Eldstar_02), .drops = SKOLAR_DROPS, .animations = SKOLAR_ANIMS, @@ -628,7 +628,7 @@ StaticNpc N(NpcData_Muskular)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Eldstar_01), .drops = MUSKULAR_DROPS, .animations = MUSKULAR_ANIMS, @@ -638,7 +638,7 @@ StaticNpc N(NpcData_Muskular)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Eldstar_02), .drops = MUSKULAR_DROPS, .animations = MUSKULAR_ANIMS, @@ -651,7 +651,7 @@ StaticNpc N(NpcData_Misstar)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Eldstar_01), .drops = MISSTAR_DROPS, .animations = MISSTAR_ANIMS, @@ -661,7 +661,7 @@ StaticNpc N(NpcData_Misstar)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Eldstar_02), .drops = MISSTAR_DROPS, .animations = MISSTAR_ANIMS, @@ -674,7 +674,7 @@ StaticNpc N(NpcData_Klevar)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Eldstar_01), .drops = KLEVAR_DROPS, .animations = KLEVAR_ANIMS, @@ -684,7 +684,7 @@ StaticNpc N(NpcData_Klevar)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Eldstar_02), .drops = KLEVAR_DROPS, .animations = KLEVAR_ANIMS, @@ -697,7 +697,7 @@ StaticNpc N(NpcData_Kalmar)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Eldstar_01), .drops = KALMAR_DROPS, .animations = KALMAR_ANIMS, @@ -707,7 +707,7 @@ StaticNpc N(NpcData_Kalmar)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Eldstar_02), .drops = KALMAR_DROPS, .animations = KALMAR_ANIMS, diff --git a/src/world/area_kmr/kmr_30/kmr_30_2_npc.c b/src/world/area_kmr/kmr_30/kmr_30_2_npc.c index 82b7657361..e0030353a2 100644 --- a/src/world/area_kmr/kmr_30/kmr_30_2_npc.c +++ b/src/world/area_kmr/kmr_30/kmr_30_2_npc.c @@ -11,7 +11,7 @@ StaticNpc N(NpcData_ParadePeach) = { .settings = &N(NpcSettings_ParadePeach), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = { .dropFlags = NPC_DROP_FLAGS_80, .heartDrops = NO_DROPS, diff --git a/src/world/area_kzn/kzn_01/kzn_01_2_npc.c b/src/world/area_kzn/kzn_01/kzn_01_2_npc.c index 03e0b5f116..21873473bd 100644 --- a/src/world/area_kzn/kzn_01/kzn_01_2_npc.c +++ b/src/world/area_kzn/kzn_01/kzn_01_2_npc.c @@ -50,7 +50,7 @@ StaticNpc N(NpcPutridPiranha) = { .settings = &N(NpcSettings_PutridPiranhaSentinel), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_4 | NPC_FLAG_200000, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_200000, .init = &N(EVS_NpcInit_PutridPiranha), .drops = PIRANHA_SENTINEL_DROPS, .animations = PIRANHA_SENTINEL_ANIMS, diff --git a/src/world/area_kzn/kzn_02/kzn_02_3_npc.c b/src/world/area_kzn/kzn_02/kzn_02_3_npc.c index d3a38eff64..93a5f84763 100644 --- a/src/world/area_kzn/kzn_02/kzn_02_3_npc.c +++ b/src/world/area_kzn/kzn_02/kzn_02_3_npc.c @@ -167,7 +167,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { -740.0f, 20.0f, 0.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_DIRTY_SHADOW | NPC_FLAG_MOTION_BLUR, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_10000 | ENEMY_FLAGS_100000, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, @@ -179,7 +179,7 @@ StaticNpc N(NpcData_LavaBubble) = { .settings = &N(NpcSettings_LavaBubble), .pos = { 250.0f, 50.0f, 0.0f }, .yaw = 90, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = LAVA_BUBBLE_DROPS, .territory = { .wander = { diff --git a/src/world/area_kzn/kzn_03/kzn_03_2_npc.c b/src/world/area_kzn/kzn_03/kzn_03_2_npc.c index d7db1fbbda..eea4660b3c 100644 --- a/src/world/area_kzn/kzn_03/kzn_03_2_npc.c +++ b/src/world/area_kzn/kzn_03/kzn_03_2_npc.c @@ -170,7 +170,7 @@ StaticNpc N(NpcData_PassiveNPCs)[] = { .settings = &N(NpcSettings_Kolorado), .pos = { 392.0f, 470.0f, 218.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_DIRTY_SHADOW | NPC_FLAG_MOTION_BLUR, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_10000 | ENEMY_FLAGS_100000, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, @@ -181,7 +181,7 @@ StaticNpc N(NpcData_PassiveNPCs)[] = { .settings = &N(NpcSettings_ZiplineDummy), .pos = { 392.0f, 470.0f, 218.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000, .init = &N(EVS_NpcInit_ZiplineDummy), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, @@ -192,7 +192,7 @@ StaticNpc N(NpcData_PassiveNPCs)[] = { .settings = &N(NpcSettings_ZiplineDummy), .pos = { 392.0f, 470.0f, 218.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000, .init = &N(EVS_NpcInit_ZiplineDummy), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, @@ -205,7 +205,7 @@ StaticNpc N(NpcData_SpikeTop_01) = { .settings = &N(NpcSettings_SpikeTop), .pos = { 140.0f, 670.0f, -20.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = SPIKE_TOP_DROPS, .territory = { .wander = { @@ -228,7 +228,7 @@ StaticNpc N(NpcData_SpikeTop_02) = { .settings = &N(NpcSettings_SpikeTop), .pos = { -200.0f, 670.0f, -35.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = SPIKE_TOP_DROPS, .territory = { .wander = { @@ -251,7 +251,7 @@ StaticNpc N(NpcData_SpikeTop_03) = { .settings = &N(NpcSettings_SpikeTop), .pos = { 30.0f, 20.0f, 320.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = SPIKE_TOP_DROPS, .territory = { .wander = { @@ -275,7 +275,7 @@ StaticNpc N(NpcData_PutridPiranha)[] = { .settings = &N(NpcSettings_PutridPiranha), .pos = { 260.0f, 20.0f, 255.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .drops = PUTRID_PIRANHA_DROPS, .territory = { .wander = { diff --git a/src/world/area_kzn/kzn_04/kzn_04_3_npc.c b/src/world/area_kzn/kzn_04/kzn_04_3_npc.c index 0ec7f7103c..de3b6458c1 100644 --- a/src/world/area_kzn/kzn_04/kzn_04_3_npc.c +++ b/src/world/area_kzn/kzn_04/kzn_04_3_npc.c @@ -148,7 +148,7 @@ StaticNpc N(NpcData_FireBar_01)[] = { .settings = &N(NpcSettings_FireBar_01), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -158,7 +158,7 @@ StaticNpc N(NpcData_FireBar_01)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -168,7 +168,7 @@ StaticNpc N(NpcData_FireBar_01)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -178,7 +178,7 @@ StaticNpc N(NpcData_FireBar_01)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -191,7 +191,7 @@ StaticNpc N(NpcData_FireBar_02)[] = { .settings = &N(NpcSettings_FireBar_02), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -201,7 +201,7 @@ StaticNpc N(NpcData_FireBar_02)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -211,7 +211,7 @@ StaticNpc N(NpcData_FireBar_02)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -221,7 +221,7 @@ StaticNpc N(NpcData_FireBar_02)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -234,7 +234,7 @@ StaticNpc N(NpcData_FireBar_03)[] = { .settings = &N(NpcSettings_FireBar_03), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -244,7 +244,7 @@ StaticNpc N(NpcData_FireBar_03)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -254,7 +254,7 @@ StaticNpc N(NpcData_FireBar_03)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -264,7 +264,7 @@ StaticNpc N(NpcData_FireBar_03)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, diff --git a/src/world/area_kzn/kzn_07/kzn_07_4_npc.c b/src/world/area_kzn/kzn_07/kzn_07_4_npc.c index 4d48d68787..45a6b9443b 100644 --- a/src/world/area_kzn/kzn_07/kzn_07_4_npc.c +++ b/src/world/area_kzn/kzn_07/kzn_07_4_npc.c @@ -8,7 +8,7 @@ StaticNpc N(NpcData_LavaBubble_01) = { .settings = &N(NpcSettings_LavaBubble), .pos = { -200.0f, 50.0f, 150.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .drops = LAVA_BUBBLE_DROPS, .territory = { .wander = { @@ -31,7 +31,7 @@ StaticNpc N(NpcData_LavaBubble_02) = { .settings = &N(NpcSettings_LavaBubble), .pos = { -250.0f, 80.0f, 50.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .drops = LAVA_BUBBLE_DROPS, .territory = { .wander = { diff --git a/src/world/area_kzn/kzn_08/kzn_08_3_npc.c b/src/world/area_kzn/kzn_08/kzn_08_3_npc.c index f7f77b5e96..6d3d606cb7 100644 --- a/src/world/area_kzn/kzn_08/kzn_08_3_npc.c +++ b/src/world/area_kzn/kzn_08/kzn_08_3_npc.c @@ -9,7 +9,7 @@ StaticNpc N(NpcData_PutridPiranha)[] = { .settings = &N(NpcSettings_PutridPiranha), .pos = { 80.0f, 0.0f, 135.0f }, .yaw = 270, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400, .drops = PUTRID_PIRANHA_DROPS, .territory = { .wander = { diff --git a/src/world/area_kzn/kzn_09/kzn_09_4_npc.c b/src/world/area_kzn/kzn_09/kzn_09_4_npc.c index a6189628ad..e1bc81fea1 100644 --- a/src/world/area_kzn/kzn_09/kzn_09_4_npc.c +++ b/src/world/area_kzn/kzn_09/kzn_09_4_npc.c @@ -231,7 +231,7 @@ StaticNpc N(NpcData_PassiveNPCs)[] = { .settings = &N(NpcSettings_Kolorado), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_DIRTY_SHADOW | NPC_FLAG_MOTION_BLUR | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_10000 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_400000, .init = &N(EVS_Kolorado_Init), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, @@ -242,7 +242,7 @@ StaticNpc N(NpcData_PassiveNPCs)[] = { .settings = &N(NpcSettings_Zipline), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000, .init = &N(EVS_Dummy_Init), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, @@ -255,7 +255,7 @@ StaticNpc N(NpcData_SpikeTop) = { .settings = &N(NpcSettings_SpikeTop), .pos = { -100.0f, 350.0f, 50.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = SPIKE_TOP_DROPS, .territory = { .wander = { @@ -279,7 +279,7 @@ StaticNpc N(NpcData_PutridPiranha)[] = { .settings = &N(NpcSettings_PutridPiranha), .pos = { 200.0f, 350.0f, 100.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .drops = PUTRID_PIRANHA_DROPS, .territory = { .wander = { diff --git a/src/world/area_kzn/kzn_11/kzn_11_3_npc.c b/src/world/area_kzn/kzn_11/kzn_11_3_npc.c index f0a1bc8fcf..a564c4b19f 100644 --- a/src/world/area_kzn/kzn_11/kzn_11_3_npc.c +++ b/src/world/area_kzn/kzn_11/kzn_11_3_npc.c @@ -149,7 +149,7 @@ StaticNpc N(NpcData_FireBar_01)[] = { .settings = &N(NpcSettings_FireBar_01), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -159,7 +159,7 @@ StaticNpc N(NpcData_FireBar_01)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -169,7 +169,7 @@ StaticNpc N(NpcData_FireBar_01)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -179,7 +179,7 @@ StaticNpc N(NpcData_FireBar_01)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -192,7 +192,7 @@ StaticNpc N(NpcData_FireBar_02)[] = { .settings = &N(NpcSettings_FireBar_02), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -202,7 +202,7 @@ StaticNpc N(NpcData_FireBar_02)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -212,7 +212,7 @@ StaticNpc N(NpcData_FireBar_02)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -222,7 +222,7 @@ StaticNpc N(NpcData_FireBar_02)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -235,7 +235,7 @@ StaticNpc N(NpcData_FireBar_03)[] = { .settings = &N(NpcSettings_FireBar_03), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -245,7 +245,7 @@ StaticNpc N(NpcData_FireBar_03)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -255,7 +255,7 @@ StaticNpc N(NpcData_FireBar_03)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -265,7 +265,7 @@ StaticNpc N(NpcData_FireBar_03)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -277,7 +277,7 @@ StaticNpc N(NpcData_Bubble_01) = { .settings = &N(NpcSettings_LavaBubble), .pos = { -150.0f, 50.0f, 10.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = LAVA_BUBBLE_DROPS, .territory = { .wander = { @@ -300,7 +300,7 @@ StaticNpc N(NpcData_Bubble_02) = { .settings = &N(NpcSettings_LavaBubble), .pos = { 150.0f, 50.0f, 10.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = LAVA_BUBBLE_DROPS, .territory = { .wander = { diff --git a/src/world/area_kzn/kzn_17/kzn_17_3_npc.c b/src/world/area_kzn/kzn_17/kzn_17_3_npc.c index 3aad3948af..5a2c45e952 100644 --- a/src/world/area_kzn/kzn_17/kzn_17_3_npc.c +++ b/src/world/area_kzn/kzn_17/kzn_17_3_npc.c @@ -138,7 +138,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_DIRTY_SHADOW | NPC_FLAG_MOTION_BLUR | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_10000 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, @@ -151,7 +151,7 @@ StaticNpc N(NpcData_Piranha)[] = { .settings = &N(NpcSettings_PutridPiranha), .pos = { -325.0f, 0.0f, 150.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = PUTRID_PIRANHA_DROPS, .territory = { .wander = { @@ -176,7 +176,7 @@ StaticNpc N(NpcData_SpikeTop) = { .settings = &N(NpcSettings_SpikeTop), .pos = { -450.0f, 0.0f, 100.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = SPIKE_TOP_DROPS, .territory = { .wander = { diff --git a/src/world/area_kzn/kzn_18/kzn_18_2_npc.c b/src/world/area_kzn/kzn_18/kzn_18_2_npc.c index 08d8ec798d..88d71a6c81 100644 --- a/src/world/area_kzn/kzn_18/kzn_18_2_npc.c +++ b/src/world/area_kzn/kzn_18/kzn_18_2_npc.c @@ -148,7 +148,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_DIRTY_SHADOW | NPC_FLAG_MOTION_BLUR, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_10000 | ENEMY_FLAGS_100000, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, @@ -160,7 +160,7 @@ StaticNpc N(NpcData_Piranha) = { .settings = &N(NpcSettings_PutridPiranhaSentinel), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_4 | NPC_FLAG_200000, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_200000, .init = &N(EVS_NpcInit_Piranha), .drops = PIRANHA_SENTINEL_DROPS, .animations = PIRANHA_SENTINEL_ANIMS, diff --git a/src/world/area_kzn/kzn_19/kzn_19_4_npc.c b/src/world/area_kzn/kzn_19/kzn_19_4_npc.c index 9433c45429..24a1a6c8ac 100644 --- a/src/world/area_kzn/kzn_19/kzn_19_4_npc.c +++ b/src/world/area_kzn/kzn_19/kzn_19_4_npc.c @@ -969,7 +969,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { 380.0f, 250.0f, -330.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_DIRTY_SHADOW | NPC_FLAG_MOTION_BLUR | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_10000 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, @@ -981,7 +981,7 @@ StaticNpc N(NpcData_Misstar) = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_400000, .drops = MISSTAR_DROPS, .animations = MISSTAR_ANIMS, .tattle = MSG_NpcTattle_Misstar, @@ -1004,7 +1004,7 @@ StaticNpc N(NpcData_LavaPiranha)[] = { .settings = &N(NpcSettings_LavaPiranhaHead), .pos = { 400.0f, 25.0f, -30.0f }, .yaw = 270, - .flags = NPC_FLAG_4 | NPC_FLAG_JUMPING | NPC_FLAG_40000, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000, .init = &N(EVS_NpcInit_LavaPiranha), .drops = LAVA_PIRANHA_DROPS, .animations = LAVA_PIRANHA_HEAD_ANIMS, @@ -1016,7 +1016,7 @@ StaticNpc N(NpcData_LavaPiranha)[] = { .settings = &N(NpcSettings_LavaPiranhaHead), .pos = { 400.0f, 25.0f, -30.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_40000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_40000, .init = &N(EVS_NpcInit_LavaBud), .drops = LAVA_PIRANHA_DROPS, .animations = LAVA_PIRANHA_BUD_ANIMS, @@ -1028,7 +1028,7 @@ StaticNpc N(NpcData_LavaPiranha)[] = { .settings = &N(NpcSettings_LavaPiranhaHead), .pos = { 400.0f, 25.0f, -30.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_40000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_40000, .init = &N(EVS_NpcInit_LavaBud), .drops = LAVA_PIRANHA_DROPS, .animations = LAVA_PIRANHA_BUD_ANIMS, diff --git a/src/world/area_kzn/kzn_20/kzn_20_3_npc.c b/src/world/area_kzn/kzn_20/kzn_20_3_npc.c index 932adec2bc..99a0eb85f1 100644 --- a/src/world/area_kzn/kzn_20/kzn_20_3_npc.c +++ b/src/world/area_kzn/kzn_20/kzn_20_3_npc.c @@ -530,7 +530,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { -65.0f, 0.0f, 190.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_DIRTY_SHADOW | NPC_FLAG_MOTION_BLUR | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_10000 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, @@ -542,7 +542,7 @@ StaticNpc N(NpcData_Misstar) = { .settings = &N(NpcSettings_StarSpirit), .pos = { 100.0f, 160.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Misstar), .drops = MISSTAR_DROPS, .animations = MISSTAR_ANIMS, diff --git a/src/world/area_kzn/kzn_22/kzn_22_4_npc.c b/src/world/area_kzn/kzn_22/kzn_22_4_npc.c index cef122b0ff..ca52154877 100644 --- a/src/world/area_kzn/kzn_22/kzn_22_4_npc.c +++ b/src/world/area_kzn/kzn_22/kzn_22_4_npc.c @@ -267,7 +267,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { 445.0f, 150.0f, 175.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_DIRTY_SHADOW | NPC_FLAG_MOTION_BLUR, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_10000 | ENEMY_FLAGS_100000, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, @@ -279,7 +279,7 @@ StaticNpc N(NpcData_Misstar) = { .settings = &N(NpcSettings_StarSpirit), .pos = { 285.0f, 160.0f, 80.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_DIRTY_SHADOW | NPC_FLAG_MOTION_BLUR, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_10000 | ENEMY_FLAGS_100000, .init = &N(EVS_NpcInit_Misstar), .drops = MISSTAR_DROPS, .animations = MISSTAR_ANIMS, diff --git a/src/world/area_kzn/kzn_23/kzn_23_3_npc.c b/src/world/area_kzn/kzn_23/kzn_23_3_npc.c index 873e5c7eb5..c7f485e4c7 100644 --- a/src/world/area_kzn/kzn_23/kzn_23_3_npc.c +++ b/src/world/area_kzn/kzn_23/kzn_23_3_npc.c @@ -280,7 +280,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_DIRTY_SHADOW | NPC_FLAG_MOTION_BLUR, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_10000 | ENEMY_FLAGS_100000, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, @@ -292,7 +292,7 @@ StaticNpc N(NpcData_Misstar) = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_4 | NPC_FLAG_MOTION_BLUR | NPC_FLAG_1000000 | NPC_FLAG_8000000 | NPC_FLAG_10000000, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000, .init = &N(EVS_NpcInit_Misstar), .drops = MISSTAR_DROPS, .animations = MISSTAR_ANIMS, diff --git a/src/world/area_mac/mac_06/mac_06_3.c b/src/world/area_mac/mac_06/mac_06_3.c index 319b3f92c6..a025971562 100644 --- a/src/world/area_mac/mac_06/mac_06_3.c +++ b/src/world/area_mac/mac_06/mac_06_3.c @@ -35,7 +35,7 @@ API_CALLABLE(N(func_80240E80_8659C0)) { Npc* partner; f32 forward, radius; f32 x, y, z; - + if (isInitialCall) { script->functionTemp[0] = evt_get_variable(script, *args++); switch (script->functionTemp[0]) { @@ -50,7 +50,7 @@ API_CALLABLE(N(func_80240E80_8659C0)) { break; } } - + radius = script->functionTemp[1]; forward = -whale->yaw; x = whale->pos.x + 30.0f + sin_deg(forward) * radius; @@ -88,17 +88,17 @@ API_CALLABLE(N(func_80240E80_8659C0)) { kolorado->colliderPos.x = kolorado->pos.x; kolorado->colliderPos.y = kolorado->pos.y; kolorado->colliderPos.z = kolorado->pos.z; - kolorado->flags |= NPC_FLAG_DIRTY_SHADOW; + kolorado->flags |= NPC_FLAG_DIRTY_SHADOW; break; } - + return ApiStatus_BLOCK; } API_CALLABLE(N(func_80241098_865BD8)) { u32 buttons = gGameStatusPtr->pressedButtons[0]; Npc* npc = get_npc_safe(NPC_Whale); - + switch (D_8024343C_867F7C) { case 0: if (buttons & BUTTON_A) { @@ -133,7 +133,7 @@ API_CALLABLE(N(func_80241098_865BD8)) { D_8024343C_867F7C++; } break; - + case 12: D_80243434_867F74 -= D_80243438_867F78; if (D_80243434_867F74 < 0.0f) { @@ -163,7 +163,7 @@ API_CALLABLE(N(func_802412AC_865DEC)) { s32 modelIndex = get_model_list_index_from_tree_index(modelID); Model* model = get_model_from_list_index(modelIndex); f32 x, y, z; - + if (model->flags & MODEL_FLAGS_HAS_TRANSFORM_APPLIED) { // get model translation from transform matrix x = model->transformMatrix[3][0]; @@ -174,7 +174,7 @@ API_CALLABLE(N(func_802412AC_865DEC)) { y = 0.0f; x = 0.0f; } - + evt_set_float_variable(script, outVarX, x); evt_set_float_variable(script, outVarY, y); evt_set_float_variable(script, outVarZ, z); @@ -228,7 +228,7 @@ API_CALLABLE(N(SeagullYawInterp)) { f32 y2 = evt_get_float_variable(script, LVar5); f32 lastYaw = evt_get_float_variable(script, LVar7); f32 newYaw, deltaYaw; - + if (evt_get_variable(script, LocalFlag(0))) { evt_set_float_variable(script, LVar6, 0.0f); evt_set_float_variable(script, LVar7, 0.0f); @@ -236,11 +236,11 @@ API_CALLABLE(N(SeagullYawInterp)) { evt_set_variable(script, LocalFlag(1), 1); return ApiStatus_DONE2; } - + if (x1 == x2 && y1 == y2) { return ApiStatus_DONE2; } - + if (evt_get_variable(script, LocalFlag(1))) { newYaw = atan2(-x1, y1, -x2, y2); evt_set_float_variable(script, LVar6, newYaw); @@ -252,14 +252,14 @@ API_CALLABLE(N(SeagullYawInterp)) { newYaw = atan2(-x1, y1, -x2, y2); newYaw = clamp_angle(newYaw); evt_set_float_variable(script, LVar6, newYaw); - + deltaYaw = lastYaw - newYaw; if (deltaYaw >= 180.0f) { lastYaw -= 360.0f; } else if (deltaYaw <= -180.0f) { lastYaw += 360.0f; } - + evt_set_float_variable(script, LVar7, lastYaw + (f32)((newYaw - lastYaw) * 0.1)); return ApiStatus_DONE2; } @@ -269,7 +269,7 @@ API_CALLABLE(N(MakeJrTroopaBubbles)) { f32 x = jrTroopa->pos.x + 10.0f; f32 y = jrTroopa->pos.y; f32 z = jrTroopa->pos.z; - + if (y < 0.0f) { fx_rising_bubble(0, x, y, z, 0.0f); sfx_adjust_env_sound_pos(0x46, 0, x, y, z); @@ -514,7 +514,7 @@ StaticNpc N(NpcData_Whale) = { .settings = &N(NpcSettings_Whale), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Whale), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -546,7 +546,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Kolorado), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -585,7 +585,7 @@ StaticNpc N(NpcData_JrTroopa) = { .settings = &N(NpcSettings_JrTroopa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_JrTroopa), .drops = { .dropFlags = NPC_DROP_FLAGS_80, diff --git a/src/world/area_mgm/mgm_00/mgm_00_2_npc.c b/src/world/area_mgm/mgm_00/mgm_00_2_npc.c index 1520034fce..8ec97a68a8 100644 --- a/src/world/area_mgm/mgm_00/mgm_00_2_npc.c +++ b/src/world/area_mgm/mgm_00/mgm_00_2_npc.c @@ -170,7 +170,7 @@ StaticNpc N(NpcData_RedToad) = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -213.0f, 12.0f, -180.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_RedToad), .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, @@ -210,7 +210,7 @@ StaticNpc N(NpcData_GreenToad) = { .settings = &N(NpcSettings_Toad_Patrol), .pos = { -88.0f, 0.0f, -95.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_GreenToad), .drops = TOAD_DROPS, .territory = { @@ -260,7 +260,7 @@ StaticNpc N(NpcData_BlueToad) = { .settings = &N(NpcSettings_Toad_Patrol), .pos = { 46.0f, 0.0f, -205.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_BlueToad), .drops = TOAD_DROPS, .territory = { diff --git a/src/world/area_mgm/mgm_01/mgm_01_2_npc.c b/src/world/area_mgm/mgm_01/mgm_01_2_npc.c index abd4259272..eecc01d2f0 100644 --- a/src/world/area_mgm/mgm_01/mgm_01_2_npc.c +++ b/src/world/area_mgm/mgm_01/mgm_01_2_npc.c @@ -684,7 +684,7 @@ s8 N(BlockPosX)[NUM_BLOCKS] = { }; s8 N(BlockPosY)[NUM_BLOCKS] = { - 56, 60, 56, 60, 56, 60, 56, 60, 56, 60, 56 + 56, 60, 56, 60, 56, 60, 56, 60, 56, 60, 56 }; s8 N(BlockPosZ)[NUM_BLOCKS] = { @@ -692,18 +692,18 @@ s8 N(BlockPosZ)[NUM_BLOCKS] = { }; f32 N(TallyPosX)[NUM_BLOCKS] = { - -105.0, -80.0, -55.0, -30.0, -5.0, -105.0, -80.0, -55.0, + -105.0, -80.0, -55.0, -30.0, -5.0, -105.0, -80.0, -55.0, -30.0, -5.0, 20.0 }; f32 N(TallyPosY)[NUM_BLOCKS] = { - 157.0, 157.0, 157.0, 157.0, 157.0, 133.0, 133.0, 133.0, + 157.0, 157.0, 157.0, 157.0, 157.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, }; s32 N(PanelModelIDs)[NUM_BLOCKS] = { - 19, 17, 15, 13, 22, 24, 26, 29, - 31, 34, 36 + 19, 17, 15, 13, 22, 24, 26, 29, + 31, 34, 36 }; JumpGamePanelType N(PanelTypes)[NUM_BLOCKS] = { @@ -1018,7 +1018,7 @@ StaticNpc N(NpcData_Toad) = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 0.0f, 0.0f, -20.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_Toad), .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, diff --git a/src/world/area_mgm/mgm_02/mgm_02_2_npc.c b/src/world/area_mgm/mgm_02/mgm_02_2_npc.c index 2ec1d92bb2..fc395c3127 100644 --- a/src/world/area_mgm/mgm_02/mgm_02_2_npc.c +++ b/src/world/area_mgm/mgm_02/mgm_02_2_npc.c @@ -1787,7 +1787,7 @@ StaticNpc N(NpcData_GuideToad) = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 353.0f, -20.0f, 185.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_Toad), .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, @@ -1871,7 +1871,7 @@ StaticNpc N(NpcData_Fuzzy_01) = { .settings = &N(NpcSettings_Fuzzy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000 | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000, .init = &N(EVS_NpcInit_Fuzzy), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -1904,7 +1904,7 @@ StaticNpc N(NpcData_Fuzzy_02) = { .settings = &N(NpcSettings_Fuzzy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000 | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000, .init = &N(EVS_NpcInit_Fuzzy), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -1937,7 +1937,7 @@ StaticNpc N(NpcData_Fuzzy_03) = { .settings = &N(NpcSettings_Fuzzy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000 | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000, .init = &N(EVS_NpcInit_Fuzzy), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -1970,7 +1970,7 @@ StaticNpc N(NpcData_Fuzzy_04) = { .settings = &N(NpcSettings_Fuzzy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000 | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000, .init = &N(EVS_NpcInit_Fuzzy), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -2003,7 +2003,7 @@ StaticNpc N(NpcData_Fuzzy_05) = { .settings = &N(NpcSettings_Fuzzy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000 | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000, .init = &N(EVS_NpcInit_Fuzzy), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -2036,7 +2036,7 @@ StaticNpc N(NpcData_Bobomb_01) = { .settings = &N(NpcSettings_Bobomb), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000 | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000, .init = &N(EVS_NpcInit_Bobomb), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -2069,7 +2069,7 @@ StaticNpc N(NpcData_Bobomb_02) = { .settings = &N(NpcSettings_Bobomb), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000 | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000, .init = &N(EVS_NpcInit_Bobomb), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -2102,7 +2102,7 @@ StaticNpc N(NpcData_Bobomb_03) = { .settings = &N(NpcSettings_Bobomb), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000 | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000, .init = &N(EVS_NpcInit_Bobomb), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -2135,7 +2135,7 @@ StaticNpc N(NpcData_Bobomb_04) = { .settings = &N(NpcSettings_Bobomb), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000 | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000, .init = &N(EVS_NpcInit_Bobomb), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -2168,7 +2168,7 @@ StaticNpc N(NpcData_Bobomb_05) = { .settings = &N(NpcSettings_Bobomb), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000 | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000, .init = &N(EVS_NpcInit_Bobomb), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -2202,7 +2202,7 @@ StaticNpc N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000 | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000, .init = &N(EVS_NpcInit_Luigi), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -2234,7 +2234,7 @@ StaticNpc N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000 | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000, .init = &N(EVS_NpcInit_Luigi), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -2266,7 +2266,7 @@ StaticNpc N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000 | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000, .init = &N(EVS_NpcInit_Luigi), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -2298,7 +2298,7 @@ StaticNpc N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000 | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000, .init = &N(EVS_NpcInit_Luigi), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -2330,7 +2330,7 @@ StaticNpc N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000 | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000, .init = &N(EVS_NpcInit_Luigi), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -2362,7 +2362,7 @@ StaticNpc N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000 | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000, .init = &N(EVS_NpcInit_Luigi), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -2394,7 +2394,7 @@ StaticNpc N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000 | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000, .init = &N(EVS_NpcInit_Luigi), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -2426,7 +2426,7 @@ StaticNpc N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000 | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000, .init = &N(EVS_NpcInit_Luigi), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -2458,7 +2458,7 @@ StaticNpc N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000 | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000, .init = &N(EVS_NpcInit_Luigi), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -2490,7 +2490,7 @@ StaticNpc N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000 | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000, .init = &N(EVS_NpcInit_Luigi), .drops = { .dropFlags = NPC_DROP_FLAGS_80, diff --git a/src/world/area_mim/mim_01/mim_01_6_npc.c b/src/world/area_mim/mim_01/mim_01_6_npc.c index 024c8410f1..291074d782 100644 --- a/src/world/area_mim/mim_01/mim_01_6_npc.c +++ b/src/world/area_mim/mim_01/mim_01_6_npc.c @@ -8,7 +8,7 @@ StaticNpc N(NpcData_PiranhaPlant)[] = { .settings = &N(NpcSettings_PiranhaPlant), .pos = { 135.0f, 0.0f, -300.0f }, .yaw = 0, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .drops = PIRANHA_PLANT_DROPS, .territory = { .wander = { diff --git a/src/world/area_mim/mim_02/mim_02_3_npc.c b/src/world/area_mim/mim_02/mim_02_3_npc.c index c67b649c45..460832413c 100644 --- a/src/world/area_mim/mim_02/mim_02_3_npc.c +++ b/src/world/area_mim/mim_02/mim_02_3_npc.c @@ -11,7 +11,7 @@ EvtScript N(EVS_Unused_DoNothing) = { s32 N(KeyList)[] = { ITEM_FOREST_PASS, - ITEM_NONE + ITEM_NONE }; #include "world/common/complete/KeyItemChoice.inc.c" @@ -161,7 +161,7 @@ StaticNpc N(NpcData_Oaklie) = { .settings = &N(NpcSettings_Oaklie), .pos = { -426.0f, 58.0f, -70.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_JUMPING | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_800 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Oaklie), .drops = OAKLIE_DROPS, .animations = OAKLIE_ANIMS, diff --git a/src/world/area_mim/mim_03/mim_03_6_npc.c b/src/world/area_mim/mim_03/mim_03_6_npc.c index fdbcbdf621..34fe871022 100644 --- a/src/world/area_mim/mim_03/mim_03_6_npc.c +++ b/src/world/area_mim/mim_03/mim_03_6_npc.c @@ -46,7 +46,7 @@ StaticNpc N(NpcData_Oaklie) = { .settings = &N(NpcSettings_Oaklie), .pos = { 0.0f, 32.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Oaklie), .drops = OAKLIE_DROPS, .animations = OAKLIE_ANIMS, diff --git a/src/world/area_mim/mim_04/mim_04_6_npc.c b/src/world/area_mim/mim_04/mim_04_6_npc.c index 59d2c3afdf..4850ccd737 100644 --- a/src/world/area_mim/mim_04/mim_04_6_npc.c +++ b/src/world/area_mim/mim_04/mim_04_6_npc.c @@ -59,7 +59,7 @@ StaticNpc N(NpcData_Fuzzy) = { .settings = &N(NpcSettings_ForestFuzzy), .pos = { 240.0f, 0.0f, -240.0f }, .yaw = 0, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_400000, .drops = FOREST_FUZZY_DROPS, .territory = { .wander = { @@ -82,7 +82,7 @@ StaticNpc N(NpcData_Bubulb) = { .settings = &N(NpcSettings_Bubulb), .pos = { 0.0f, 32.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Bubulb), .drops = BUBULB_DROPS, .animations = BUBULB_GREEN_ANIMS, diff --git a/src/world/area_mim/mim_05/mim_05_6_npc.c b/src/world/area_mim/mim_05/mim_05_6_npc.c index 52cdfd6e6b..198267ea7e 100644 --- a/src/world/area_mim/mim_05/mim_05_6_npc.c +++ b/src/world/area_mim/mim_05/mim_05_6_npc.c @@ -8,7 +8,7 @@ StaticNpc N(NpcData_PiranhaPlant_01)[] = { .settings = &N(NpcSettings_PiranhaPlant), .pos = { -240.0f, 0.0f, 240.0f }, .yaw = 0, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = PIRANHA_PLANT_DROPS, .territory = { .wander = { @@ -34,7 +34,7 @@ StaticNpc N(NpcData_PiranhaPlant_02)[] = { .settings = &N(NpcSettings_PiranhaPlant), .pos = { 240.0f, 0.0f, -240.0f }, .yaw = 0, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = PIRANHA_PLANT_DROPS, .territory = { .wander = { diff --git a/src/world/area_mim/mim_06/mim_06_6_npc.c b/src/world/area_mim/mim_06/mim_06_6_npc.c index aa1e83c9d6..669a2bf731 100644 --- a/src/world/area_mim/mim_06/mim_06_6_npc.c +++ b/src/world/area_mim/mim_06/mim_06_6_npc.c @@ -60,7 +60,7 @@ StaticNpc N(NpcData_Fuzzy) = { .settings = &N(NpcSettings_ForestFuzzy), .pos = { -140.0f, 0.0f, 300.0f }, .yaw = 0, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .drops = FOREST_FUZZY_DROPS, .territory = { .wander = { diff --git a/src/world/area_mim/mim_07/mim_07_6_npc.c b/src/world/area_mim/mim_07/mim_07_6_npc.c index afde27e6f6..1ccf931732 100644 --- a/src/world/area_mim/mim_07/mim_07_6_npc.c +++ b/src/world/area_mim/mim_07/mim_07_6_npc.c @@ -9,39 +9,39 @@ NpcSettings N(NpcSettings_JrTroopa) = { }; s32 N(D_80242944_BACA84)[] = { - 0, -350, + 0, -350, }; s32 N(D_8024294C_BACA8C)[] = { - 0, 350, + 0, 350, }; s32 N(D_80242954_BACA94)[] = { - 350, 0, + 350, 0, }; s32 N(D_8024295C_BACA9C)[] = { - -270, -245, -150, -310, + -270, -245, -150, -310, }; s32 N(D_8024296C_BACAAC)[] = { - 270, -245, 150, -310, + 270, -245, 150, -310, }; s32 N(D_8024297C_BACABC)[] = { - -270, 245, -150, 310, + -270, 245, -150, 310, }; s32 N(D_8024298C_BACACC)[] = { - 270, 245, 150, 310, + 270, 245, 150, 310, }; s32 N(D_8024299C_BACADC)[] = { - 245, -270, 310, -150, + 245, -270, 310, -150, }; s32 N(D_802429AC_BACAEC)[] = { - 245, 270, 310, 150, + 245, 270, 310, 150, }; EvtScript N(EVS_NpcIdle_JrTroopa) = { @@ -235,7 +235,7 @@ StaticNpc N(NpcData_JrTroopa) = { .settings = &N(NpcSettings_JrTroopa), .pos = { -338.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_200000 | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_800000, .init = &N(EVS_NpcInit_JrTroopa), .drops = { .dropFlags = NPC_DROP_FLAGS_80, diff --git a/src/world/area_mim/mim_08/mim_08_5_npc.c b/src/world/area_mim/mim_08/mim_08_5_npc.c index 9744a19e4c..f6de8ce50d 100644 --- a/src/world/area_mim/mim_08/mim_08_5_npc.c +++ b/src/world/area_mim/mim_08/mim_08_5_npc.c @@ -30,7 +30,7 @@ StaticNpc N(NpcData_Bzzap) = { .settings = &N(NpcSettings_Bzzap), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_200000, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_200000, .init = &N(EVS_NpcInit_Bzzap), .drops = BZZAP_NO_DROPS, .territory = { @@ -54,7 +54,7 @@ StaticNpc N(NpcData_PiranhaPlant_01)[] = { .settings = &N(NpcSettings_PiranhaPlant), .pos = { -240.0f, 0.0f, -240.0f }, .yaw = 0, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = PIRANHA_PLANT_DROPS, .territory = { .wander = { @@ -80,7 +80,7 @@ StaticNpc N(NpcData_PiranhaPlant_02)[] = { .settings = &N(NpcSettings_PiranhaPlant), .pos = { 240.0f, 0.0f, 240.0f }, .yaw = 0, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = PIRANHA_PLANT_DROPS, .territory = { .wander = { diff --git a/src/world/area_mim/mim_09/mim_09_6_npc.c b/src/world/area_mim/mim_09/mim_09_6_npc.c index ec80830912..7504854ad1 100644 --- a/src/world/area_mim/mim_09/mim_09_6_npc.c +++ b/src/world/area_mim/mim_09/mim_09_6_npc.c @@ -8,7 +8,7 @@ StaticNpc N(NpcData_Fuzzy) = { .settings = &N(NpcSettings_ForestFuzzy), .pos = { 270.0f, 0.0f, 200.0f }, .yaw = 0, - .flags = NPC_FLAG_LOCK_ANIMS, + .flags = ENEMY_FLAGS_400, .drops = FOREST_FUZZY_DROPS, .territory = { .wander = { diff --git a/src/world/area_mim/mim_10/mim_10_4_npc.c b/src/world/area_mim/mim_10/mim_10_4_npc.c index 4be8c210c8..c79d15f586 100644 --- a/src/world/area_mim/mim_10/mim_10_4_npc.c +++ b/src/world/area_mim/mim_10/mim_10_4_npc.c @@ -30,17 +30,17 @@ API_CALLABLE(N(InitializeLightingGloomy)) { API_CALLABLE(N(ReduceFogEndDist)) { s32 retVal = ApiStatus_BLOCK; - + if (isInitialCall) { script->functionTemp[1] = 1060; } - + script->functionTemp[1]--; if (script->functionTemp[1] <= 1000) { script->functionTemp[1] = 1000; retVal = ApiStatus_DONE2; } - + set_world_fog_dist(990, script->functionTemp[1]); return retVal; } @@ -51,7 +51,7 @@ API_CALLABLE(N(DarkenBackground)) { if (isInitialCall) { script->functionTemp[1] = 0; } - + script->functionTemp[1] += 4; if (script->functionTemp[1] >= 240) { script->functionTemp[1] = 240; @@ -251,7 +251,7 @@ StaticNpc N(NpcData_Bootler) = { .settings = &N(NpcSettings_Bootler), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Bootler), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -283,7 +283,7 @@ StaticNpc N(NpcData_JrTroopa) = { .settings = &N(NpcSettings_JrTroopa), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000, .init = &N(EVS_NpcInit_JrTroopa), .drops = { .dropFlags = NPC_DROP_FLAGS_80, diff --git a/src/world/area_mim/mim_11/mim_11_5_npc.c b/src/world/area_mim/mim_11/mim_11_5_npc.c index 39c23035e5..9a6fe4096a 100644 --- a/src/world/area_mim/mim_11/mim_11_5_npc.c +++ b/src/world/area_mim/mim_11/mim_11_5_npc.c @@ -38,7 +38,7 @@ API_CALLABLE(N(AnimateStarSpiritBobbing)) { script->functionTemp[1] = 0; script->functionTempPtr[2] = get_npc_safe(script->owner2.npcID); } - + npc = script->functionTempPtr[2]; npc->verticalRenderOffset = sin_deg(script->functionTempF[1]) * 6.0f; script->functionTempF[1] = clamp_angle(script->functionTempF[1] + 18.0f); @@ -80,7 +80,7 @@ StaticNpc N(NpcData_Bootler)[] = { .settings = &N(NpcSettings_Bootler), .pos = { 68.0f, 60.0f, -145.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Bootler), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -111,7 +111,7 @@ StaticNpc N(NpcData_Bootler)[] = { .settings = &N(NpcSettings_Skolar), .pos = { 68.0f, 60.0f, -145.0f }, .yaw = 135, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Skolar), .drops = { .dropFlags = NPC_DROP_FLAGS_80, diff --git a/src/world/area_mim/mim_12/mim_12_4_npc.c b/src/world/area_mim/mim_12/mim_12_4_npc.c index 5a883ab420..8f3686a05e 100644 --- a/src/world/area_mim/mim_12/mim_12_4_npc.c +++ b/src/world/area_mim/mim_12/mim_12_4_npc.c @@ -18,7 +18,7 @@ StaticNpc N(NpcData_GateBoos)[] = { .settings = &N(NpcSettings_Boo), .pos = { -68.0f, 65.0f, -56.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_GateBoo_01), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -32,7 +32,7 @@ StaticNpc N(NpcData_GateBoos)[] = { .settings = &N(NpcSettings_Boo), .pos = { -125.0f, 65.0f, 60.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_GateBoo_02), .drops = { .dropFlags = NPC_DROP_FLAGS_80, diff --git a/src/world/area_sbk/sbk_00/sbk_00_2_npc.c b/src/world/area_sbk/sbk_00/sbk_00_2_npc.c index 5e2bd189e5..bd0ce45a8e 100644 --- a/src/world/area_sbk/sbk_00/sbk_00_2_npc.c +++ b/src/world/area_sbk/sbk_00/sbk_00_2_npc.c @@ -7,7 +7,7 @@ StaticNpc N(NpcData_Pokey_01) = { .settings = &N(NpcSettings_Pokey), .pos = { -40.0f, 0.0f, 160.0f }, .yaw = 90, - .flags = NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_800, .drops = POKEY_DROPS, .territory = { .wander = { @@ -30,7 +30,7 @@ StaticNpc N(NpcData_Pokey_02) = { .settings = &N(NpcSettings_Pokey), .pos = { 245.0f, 0.0f, 75.0f }, .yaw = 270, - .flags = NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_800, .drops = POKEY_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_01/sbk_01_2_npc.c b/src/world/area_sbk/sbk_01/sbk_01_2_npc.c index 0fd3454a94..43a5425f20 100644 --- a/src/world/area_sbk/sbk_01/sbk_01_2_npc.c +++ b/src/world/area_sbk/sbk_01/sbk_01_2_npc.c @@ -8,7 +8,7 @@ StaticNpc N(NpcData_Pokey_01) = { .settings = &N(NpcSettings_Pokey), .pos = { 205.0f, 0.0f, -60.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -31,7 +31,7 @@ StaticNpc N(NpcData_Pokey_02) = { .settings = &N(NpcSettings_Pokey), .pos = { -200.0f, 0.0f, 180.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_02/sbk_02_4_npc.c b/src/world/area_sbk/sbk_02/sbk_02_4_npc.c index 2b23a9b19f..75d144a6df 100644 --- a/src/world/area_sbk/sbk_02/sbk_02_4_npc.c +++ b/src/world/area_sbk/sbk_02/sbk_02_4_npc.c @@ -256,7 +256,7 @@ StaticNpc N(NpcData_Mamar) = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Mamar), .drops = MAMAR_DROPS, .animations = MAMAR_ANIMS, @@ -267,7 +267,7 @@ StaticNpc N(NpcData_TradingToad) = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 0.0f, 2.0f, 150.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_DIRTY_SHADOW | NPC_FLAG_MOTION_BLUR, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_10000 | ENEMY_FLAGS_100000, .init = &N(EVS_NpcInit_Toad), .drops = { .dropFlags = NPC_DROP_FLAGS_80, diff --git a/src/world/area_sbk/sbk_03/sbk_03_2_npc.c b/src/world/area_sbk/sbk_03/sbk_03_2_npc.c index 51509032fc..5910541803 100644 --- a/src/world/area_sbk/sbk_03/sbk_03_2_npc.c +++ b/src/world/area_sbk/sbk_03/sbk_03_2_npc.c @@ -7,7 +7,7 @@ StaticNpc N(NpcData_Pokey_01) = { .settings = &N(NpcSettings_Pokey), .pos = { -340.0f, 0.0f, -125.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -30,7 +30,7 @@ StaticNpc N(NpcData_Pokey_02) = { .settings = &N(NpcSettings_Pokey), .pos = { 10.0f, 0.0f, 100.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -53,7 +53,7 @@ StaticNpc N(NpcData_Pokey_03) = { .settings = &N(NpcSettings_Pokey), .pos = { -90.0f, 0.0f, 260.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -76,7 +76,7 @@ StaticNpc N(NpcData_Pokey_04) = { .settings = &N(NpcSettings_Pokey), .pos = { 165.0f, 0.0f, 300.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_04/sbk_04_2_npc.c b/src/world/area_sbk/sbk_04/sbk_04_2_npc.c index 74ed6ab5af..b58715950d 100644 --- a/src/world/area_sbk/sbk_04/sbk_04_2_npc.c +++ b/src/world/area_sbk/sbk_04/sbk_04_2_npc.c @@ -7,7 +7,7 @@ StaticNpc N(NpcData_Pokey_01) = { .settings = &N(NpcSettings_Pokey), .pos = { -295.0f, 0.0f, -110.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -30,7 +30,7 @@ StaticNpc N(NpcData_Pokey_02) = { .settings = &N(NpcSettings_Pokey), .pos = { -140.0f, 0.0f, -30.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_05/sbk_05_3_npc.c b/src/world/area_sbk/sbk_05/sbk_05_3_npc.c index 76c96c441f..0aaed51ee7 100644 --- a/src/world/area_sbk/sbk_05/sbk_05_3_npc.c +++ b/src/world/area_sbk/sbk_05/sbk_05_3_npc.c @@ -7,7 +7,7 @@ StaticNpc N(NpcData_Pokey_01) = { .settings = &N(NpcSettings_Pokey), .pos = { -280.0f, 0.0f, -110.0f }, .yaw = 180, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -30,7 +30,7 @@ StaticNpc N(NpcData_Pokey_02) = { .settings = &N(NpcSettings_Pokey), .pos = { -200.0f, 0.0f, -80.0f }, .yaw = 120, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -53,7 +53,7 @@ StaticNpc N(NpcData_Pokey_03) = { .settings = &N(NpcSettings_Pokey), .pos = { -160.0f, 0.0f, -225.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -76,7 +76,7 @@ StaticNpc N(NpcData_Pokey_04) = { .settings = &N(NpcSettings_Pokey), .pos = { -100.0f, 0.0f, 70.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -99,7 +99,7 @@ StaticNpc N(NpcData_Pokey_05) = { .settings = &N(NpcSettings_Pokey), .pos = { -10.0f, 0.0f, 30.0f }, .yaw = 80, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -122,7 +122,7 @@ StaticNpc N(NpcData_Pokey_06) = { .settings = &N(NpcSettings_Pokey), .pos = { 20.0f, 0.0f, -110.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -145,7 +145,7 @@ StaticNpc N(NpcData_Pokey_07) = { .settings = &N(NpcSettings_Pokey), .pos = { 170.0f, 0.0f, -50.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -168,7 +168,7 @@ StaticNpc N(NpcData_Pokey_08) = { .settings = &N(NpcSettings_Pokey), .pos = { 250.0f, 0.0f, 130.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -191,7 +191,7 @@ StaticNpc N(NpcData_Pokey_09) = { .settings = &N(NpcSettings_Pokey), .pos = { 340.0f, 0.0f, 200.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -214,7 +214,7 @@ StaticNpc N(NpcData_Pokey_10) = { .settings = &N(NpcSettings_Pokey), .pos = { -150.0f, 0.0f, 360.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_06/sbk_06_2_npc.c b/src/world/area_sbk/sbk_06/sbk_06_2_npc.c index 27d1703d46..f8a4aa26e8 100644 --- a/src/world/area_sbk/sbk_06/sbk_06_2_npc.c +++ b/src/world/area_sbk/sbk_06/sbk_06_2_npc.c @@ -7,7 +7,7 @@ StaticNpc N(NpcData_Bandit) = { .settings = &N(NpcSettings_Bandit), .pos = { -200.0f, 0.0f, 230.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = BANDIT_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_11/sbk_11_2_npc.c b/src/world/area_sbk/sbk_11/sbk_11_2_npc.c index 68b023745d..9e01f52d40 100644 --- a/src/world/area_sbk/sbk_11/sbk_11_2_npc.c +++ b/src/world/area_sbk/sbk_11/sbk_11_2_npc.c @@ -8,7 +8,7 @@ StaticNpc N(NpcData_Pokey) = { .settings = &N(NpcSettings_Pokey), .pos = { -120.0f, 0.0f, 90.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -31,7 +31,7 @@ StaticNpc N(NpcData_Bandit) = { .settings = &N(NpcSettings_Bandit), .pos = { -200.0f, 0.0f, 230.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = BANDIT_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_12/sbk_12_2_npc.c b/src/world/area_sbk/sbk_12/sbk_12_2_npc.c index 487956ea85..6336f48381 100644 --- a/src/world/area_sbk/sbk_12/sbk_12_2_npc.c +++ b/src/world/area_sbk/sbk_12/sbk_12_2_npc.c @@ -7,7 +7,7 @@ StaticNpc N(NpcData_Pokey_01) = { .settings = &N(NpcSettings_Pokey), .pos = { -190.0f, 0.0f, -130.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -30,7 +30,7 @@ StaticNpc N(NpcData_Pokey_02) = { .settings = &N(NpcSettings_Pokey), .pos = { -40.0f, 0.0f, -200.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -53,7 +53,7 @@ StaticNpc N(NpcData_Pokey_03) = { .settings = &N(NpcSettings_Pokey), .pos = { 195.0f, 0.0f, -255.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_13/sbk_13_2_npc.c b/src/world/area_sbk/sbk_13/sbk_13_2_npc.c index d7416d6dbc..b70643e04c 100644 --- a/src/world/area_sbk/sbk_13/sbk_13_2_npc.c +++ b/src/world/area_sbk/sbk_13/sbk_13_2_npc.c @@ -8,7 +8,7 @@ StaticNpc N(NpcData_Pokey_01) = { .settings = &N(NpcSettings_Pokey), .pos = { -70.0f, 0.0f, -60.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -31,7 +31,7 @@ StaticNpc N(NpcData_Pokey_02) = { .settings = &N(NpcSettings_Pokey), .pos = { 120.0f, 0.0f, -50.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -54,7 +54,7 @@ StaticNpc N(NpcData_Bandit) = { .settings = &N(NpcSettings_Bandit), .pos = { -200.0f, 0.0f, 230.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = BANDIT_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_15/sbk_15_2_npc.c b/src/world/area_sbk/sbk_15/sbk_15_2_npc.c index 454bbd726a..c11bd321ce 100644 --- a/src/world/area_sbk/sbk_15/sbk_15_2_npc.c +++ b/src/world/area_sbk/sbk_15/sbk_15_2_npc.c @@ -7,7 +7,7 @@ StaticNpc N(NpcData_Pokey_01) = { .settings = &N(NpcSettings_Pokey), .pos = { -230.0f, 0.0f, 100.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -30,7 +30,7 @@ StaticNpc N(NpcData_Pokey_02) = { .settings = &N(NpcSettings_Pokey), .pos = { 20.0f, 0.0f, 260.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_20/sbk_20_2_npc.c b/src/world/area_sbk/sbk_20/sbk_20_2_npc.c index 2677b54f41..139dc45ba2 100644 --- a/src/world/area_sbk/sbk_20/sbk_20_2_npc.c +++ b/src/world/area_sbk/sbk_20/sbk_20_2_npc.c @@ -7,7 +7,7 @@ StaticNpc N(NpcData_Bandit_01) = { .settings = &N(NpcSettings_Bandit), .pos = { -100.0f, 0.0f, 80.0f }, .yaw = 90, - .flags = NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_800, .drops = BANDIT_DROPS, .territory = { .wander = { @@ -30,7 +30,7 @@ StaticNpc N(NpcData_Bandit_02) = { .settings = &N(NpcSettings_Bandit), .pos = { 120.0f, 0.0f, 30.0f }, .yaw = 270, - .flags = NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_800, .drops = BANDIT_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_22/sbk_22_2_npc.c b/src/world/area_sbk/sbk_22/sbk_22_2_npc.c index ae0a09666a..570e989bc6 100644 --- a/src/world/area_sbk/sbk_22/sbk_22_2_npc.c +++ b/src/world/area_sbk/sbk_22/sbk_22_2_npc.c @@ -8,7 +8,7 @@ StaticNpc N(NpcData_Pokey) = { .settings = &N(NpcSettings_Pokey), .pos = { -140.0f, 0.0f, -230.0f }, .yaw = 90, - .flags = NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -31,7 +31,7 @@ StaticNpc N(NpcData_Bandit) = { .settings = &N(NpcSettings_Bandit), .pos = { 40.0f, 0.0f, 90.0f }, .yaw = 270, - .flags = NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = BANDIT_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_25/sbk_25_2_npc.c b/src/world/area_sbk/sbk_25/sbk_25_2_npc.c index 3819d761c3..465279048c 100644 --- a/src/world/area_sbk/sbk_25/sbk_25_2_npc.c +++ b/src/world/area_sbk/sbk_25/sbk_25_2_npc.c @@ -7,7 +7,7 @@ StaticNpc N(NpcData_Bandit_01) = { .settings = &N(NpcSettings_Bandit), .pos = { -80.0f, 0.0f, -20.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = BANDIT_DROPS, .territory = { .wander = { @@ -30,7 +30,7 @@ StaticNpc N(NpcData_Bandit_02) = { .settings = &N(NpcSettings_Bandit), .pos = { 120.0f, 0.0f, 20.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = BANDIT_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_26/sbk_26_2_npc.c b/src/world/area_sbk/sbk_26/sbk_26_2_npc.c index 7c4758b253..e4bcba8808 100644 --- a/src/world/area_sbk/sbk_26/sbk_26_2_npc.c +++ b/src/world/area_sbk/sbk_26/sbk_26_2_npc.c @@ -8,7 +8,7 @@ StaticNpc N(NpcData_Bandit) = { .settings = &N(NpcSettings_Bandit), .pos = { -223.0f, 0.0f, 101.0f }, .yaw = 180, - .flags = NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_800, .drops = BANDIT_DROPS, .territory = { .wander = { @@ -31,7 +31,7 @@ StaticNpc N(NpcData_Pokey) = { .settings = &N(NpcSettings_Pokey), .pos = { -140.0f, 0.0f, -230.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_30/sbk_30_3_npc.c b/src/world/area_sbk/sbk_30/sbk_30_3_npc.c index 4a212943f7..06488c2757 100644 --- a/src/world/area_sbk/sbk_30/sbk_30_3_npc.c +++ b/src/world/area_sbk/sbk_30/sbk_30_3_npc.c @@ -303,7 +303,7 @@ StaticNpc N(NpcData_Archeologist_02)[] = { .settings = &N(NpcSettings_Kolorado), .pos = { 200.0f, 0.0f, -100.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_Kolorado), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -335,7 +335,7 @@ StaticNpc N(NpcData_Archeologist_02)[] = { .settings = &N(NpcSettings_Archeologist_01), .pos = { 238.0f, 0.0f, -112.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_Archeologist_01), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -379,7 +379,7 @@ StaticNpc N(NpcData_Archeologist_02)[] = { .settings = &N(NpcSettings_Archeologist_01), .pos = { 170.0f, 0.0f, -190.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_Archeologist_02), .drops = { .dropFlags = NPC_DROP_FLAGS_80, diff --git a/src/world/area_sbk/sbk_31/sbk_31_2_npc.c b/src/world/area_sbk/sbk_31/sbk_31_2_npc.c index 973808e71c..70b61df34d 100644 --- a/src/world/area_sbk/sbk_31/sbk_31_2_npc.c +++ b/src/world/area_sbk/sbk_31/sbk_31_2_npc.c @@ -7,7 +7,7 @@ StaticNpc N(NpcData_Bandit) = { .settings = &N(NpcSettings_Bandit), .pos = { 23.0f, 0.0f, -260.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = BANDIT_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_32/sbk_32_2_npc.c b/src/world/area_sbk/sbk_32/sbk_32_2_npc.c index c286fa1c8c..81a3b34456 100644 --- a/src/world/area_sbk/sbk_32/sbk_32_2_npc.c +++ b/src/world/area_sbk/sbk_32/sbk_32_2_npc.c @@ -8,7 +8,7 @@ StaticNpc N(NpcData_Pokey_01) = { .settings = &N(NpcSettings_Pokey), .pos = { -140.0f, 0.0f, -270.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -31,7 +31,7 @@ StaticNpc N(NpcData_Pokey_02) = { .settings = &N(NpcSettings_Pokey), .pos = { -120.0f, 0.0f, 110.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -54,7 +54,7 @@ StaticNpc N(NpcData_Bandit) = { .settings = &N(NpcSettings_Bandit), .pos = { 23.0f, 0.0f, -260.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = BANDIT_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_34/sbk_34_2_npc.c b/src/world/area_sbk/sbk_34/sbk_34_2_npc.c index 876cc523c5..7fcfb5b471 100644 --- a/src/world/area_sbk/sbk_34/sbk_34_2_npc.c +++ b/src/world/area_sbk/sbk_34/sbk_34_2_npc.c @@ -86,7 +86,7 @@ StaticNpc N(NpcData_Nomadimouse)[] = { .settings = &N(NpcSettings_Nomadimouse), .pos = { 114.0f, 0.0f, -50.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Nomadimouse), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -118,7 +118,7 @@ StaticNpc N(NpcData_Nomadimouse)[] = { .settings = &N(NpcSettings_Nomadimouse), .pos = { 134.0f, 0.0f, -50.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_Sack), .drops = { .dropFlags = NPC_DROP_FLAGS_80, diff --git a/src/world/area_sbk/sbk_35/sbk_35_2_npc.c b/src/world/area_sbk/sbk_35/sbk_35_2_npc.c index a69b48aa6a..09a86e628e 100644 --- a/src/world/area_sbk/sbk_35/sbk_35_2_npc.c +++ b/src/world/area_sbk/sbk_35/sbk_35_2_npc.c @@ -7,7 +7,7 @@ StaticNpc N(NpcData_Bandit) = { .settings = &N(NpcSettings_Bandit), .pos = { -40.0f, 0.0f, 155.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = BANDIT_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_40/sbk_40_2_npc.c b/src/world/area_sbk/sbk_40/sbk_40_2_npc.c index 009542b606..bb65973241 100644 --- a/src/world/area_sbk/sbk_40/sbk_40_2_npc.c +++ b/src/world/area_sbk/sbk_40/sbk_40_2_npc.c @@ -7,7 +7,7 @@ StaticNpc N(NpcData_Bandit_01) = { .settings = &N(NpcSettings_Bandit), .pos = { -300.0f, 0.0f, 85.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = BANDIT_DROPS, .territory = { .wander = { @@ -30,7 +30,7 @@ StaticNpc N(NpcData_Bandit_02) = { .settings = &N(NpcSettings_Bandit), .pos = { -80.0f, 0.0f, 190.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = BANDIT_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_42/sbk_42_2_npc.c b/src/world/area_sbk/sbk_42/sbk_42_2_npc.c index 23cbfb61de..4041a5e243 100644 --- a/src/world/area_sbk/sbk_42/sbk_42_2_npc.c +++ b/src/world/area_sbk/sbk_42/sbk_42_2_npc.c @@ -7,7 +7,7 @@ StaticNpc N(NpcData_Bandit_01) = { .settings = &N(NpcSettings_Bandit), .pos = { -40.0f, 0.0f, 0.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = BANDIT_DROPS, .territory = { .wander = { @@ -30,7 +30,7 @@ StaticNpc N(NpcData_Bandit_02) = { .settings = &N(NpcSettings_Bandit), .pos = { 60.0f, 0.0f, 30.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = BANDIT_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_44/sbk_44_2_npc.c b/src/world/area_sbk/sbk_44/sbk_44_2_npc.c index acaeb097d9..09a8e9b4ca 100644 --- a/src/world/area_sbk/sbk_44/sbk_44_2_npc.c +++ b/src/world/area_sbk/sbk_44/sbk_44_2_npc.c @@ -8,7 +8,7 @@ StaticNpc N(NpcData_Pokey_01) = { .settings = &N(NpcSettings_Pokey), .pos = { -100.0f, 0.0f, -55.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -31,7 +31,7 @@ StaticNpc N(NpcData_Pokey_02) = { .settings = &N(NpcSettings_Pokey), .pos = { -22.0f, 0.0f, -5.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -54,7 +54,7 @@ StaticNpc N(NpcData_Bandit) = { .settings = &N(NpcSettings_Bandit), .pos = { 150.0f, 0.0f, 80.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = BANDIT_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_46/sbk_46_2_npc.c b/src/world/area_sbk/sbk_46/sbk_46_2_npc.c index 9103637726..488911cd20 100644 --- a/src/world/area_sbk/sbk_46/sbk_46_2_npc.c +++ b/src/world/area_sbk/sbk_46/sbk_46_2_npc.c @@ -8,7 +8,7 @@ StaticNpc N(NpcData_Pokey) = { .settings = &N(NpcSettings_Pokey), .pos = { 310.0f, 0.0f, -100.0f }, .yaw = 270, - .flags = NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_800, .drops = POKEY_DROPS, .territory = { .wander = { @@ -31,7 +31,7 @@ StaticNpc N(NpcData_Bandit_01) = { .settings = &N(NpcSettings_Bandit), .pos = { -190.0f, 0.0f, -318.0f }, .yaw = 90, - .flags = NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_800, .drops = BANDIT_DROPS, .territory = { .wander = { @@ -54,7 +54,7 @@ StaticNpc N(NpcData_Bandit_02) = { .settings = &N(NpcSettings_Bandit), .pos = { -200.0f, 0.0f, 115.0f }, .yaw = 300, - .flags = NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_800, .drops = BANDIT_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_51/sbk_51_2_npc.c b/src/world/area_sbk/sbk_51/sbk_51_2_npc.c index a32f4f3c62..f1875dd613 100644 --- a/src/world/area_sbk/sbk_51/sbk_51_2_npc.c +++ b/src/world/area_sbk/sbk_51/sbk_51_2_npc.c @@ -8,7 +8,7 @@ StaticNpc N(NpcData_Pokey) = { .settings = &N(NpcSettings_Pokey), .pos = { 180.0f, 0.0f, 120.0f }, .yaw = 0, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -31,7 +31,7 @@ StaticNpc N(NpcData_Bandit) = { .settings = &N(NpcSettings_Bandit), .pos = { -60.0f, 0.0f, -88.0f }, .yaw = 0, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = BANDIT_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_53/sbk_53_2_npc.c b/src/world/area_sbk/sbk_53/sbk_53_2_npc.c index d271fdbd47..806343098d 100644 --- a/src/world/area_sbk/sbk_53/sbk_53_2_npc.c +++ b/src/world/area_sbk/sbk_53/sbk_53_2_npc.c @@ -7,7 +7,7 @@ StaticNpc N(NpcData_Pokey_01) = { .settings = &N(NpcSettings_Pokey), .pos = { -176.0f, 0.0f, -196.0f }, .yaw = 0, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -30,7 +30,7 @@ StaticNpc N(NpcData_Pokey_02) = { .settings = &N(NpcSettings_Pokey), .pos = { -110.0f, 0.0f, -270.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -53,7 +53,7 @@ StaticNpc N(NpcData_Pokey_03) = { .settings = &N(NpcSettings_Pokey), .pos = { 252.0f, 0.0f, -233.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_55/sbk_55_2_npc.c b/src/world/area_sbk/sbk_55/sbk_55_2_npc.c index 33182e146f..1fcb91bf2d 100644 --- a/src/world/area_sbk/sbk_55/sbk_55_2_npc.c +++ b/src/world/area_sbk/sbk_55/sbk_55_2_npc.c @@ -7,7 +7,7 @@ StaticNpc N(NpcData_Pokey_01) = { .settings = &N(NpcSettings_Pokey), .pos = { 43.0f, 0.0f, -120.0f }, .yaw = 270, - .flags = NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -30,7 +30,7 @@ StaticNpc N(NpcData_Pokey_02) = { .settings = &N(NpcSettings_Pokey), .pos = { -100.0f, 0.0f, -120.0f }, .yaw = 270, - .flags = NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_60/sbk_60_2_npc.c b/src/world/area_sbk/sbk_60/sbk_60_2_npc.c index f812b25e22..ca942cc850 100644 --- a/src/world/area_sbk/sbk_60/sbk_60_2_npc.c +++ b/src/world/area_sbk/sbk_60/sbk_60_2_npc.c @@ -7,7 +7,7 @@ StaticNpc N(NpcData_Pokey) = { .settings = &N(NpcSettings_Pokey), .pos = { 160.0f, 0.0f, -120.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_62/sbk_62_2_npc.c b/src/world/area_sbk/sbk_62/sbk_62_2_npc.c index 48c61fca38..432c989081 100644 --- a/src/world/area_sbk/sbk_62/sbk_62_2_npc.c +++ b/src/world/area_sbk/sbk_62/sbk_62_2_npc.c @@ -7,7 +7,7 @@ StaticNpc N(NpcData_Pokey_01) = { .settings = &N(NpcSettings_Pokey), .pos = { -180.0f, 0.0f, -100.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -30,7 +30,7 @@ StaticNpc N(NpcData_Pokey_02) = { .settings = &N(NpcSettings_Pokey), .pos = { 120.0f, 0.0f, 110.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -53,7 +53,7 @@ StaticNpc N(NpcData_Pokey_03) = { .settings = &N(NpcSettings_Pokey), .pos = { 245.0f, 0.0f, 285.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_63/sbk_63_2_npc.c b/src/world/area_sbk/sbk_63/sbk_63_2_npc.c index cd41752e1b..3f3cab264d 100644 --- a/src/world/area_sbk/sbk_63/sbk_63_2_npc.c +++ b/src/world/area_sbk/sbk_63/sbk_63_2_npc.c @@ -7,7 +7,7 @@ StaticNpc N(NpcData_Pokey_01) = { .settings = &N(NpcSettings_Pokey), .pos = { -180.0f, 0.0f, -120.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { @@ -30,7 +30,7 @@ StaticNpc N(NpcData_Pokey_02) = { .settings = &N(NpcSettings_Pokey), .pos = { 120.0f, 0.0f, -105.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = POKEY_DROPS, .territory = { .wander = { diff --git a/src/world/area_sbk/sbk_66/sbk_66_2_npc.c b/src/world/area_sbk/sbk_66/sbk_66_2_npc.c index 8acc5a7371..a03b7ccf55 100644 --- a/src/world/area_sbk/sbk_66/sbk_66_2_npc.c +++ b/src/world/area_sbk/sbk_66/sbk_66_2_npc.c @@ -7,7 +7,7 @@ StaticNpc N(NpcData_Bandit_01) = { .settings = &N(NpcSettings_Bandit), .pos = { -120.0f, 0.0f, 45.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = BANDIT_DROPS, .territory = { .wander = { @@ -30,7 +30,7 @@ StaticNpc N(NpcData_Bandit_02) = { .settings = &N(NpcSettings_Bandit), .pos = { -76.0f, 0.0f, -20.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = BANDIT_DROPS, .territory = { .wander = { @@ -53,7 +53,7 @@ StaticNpc N(NpcData_Bandit_03) = { .settings = &N(NpcSettings_Bandit), .pos = { -78.0f, 0.0f, 80.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = BANDIT_DROPS, .territory = { .wander = { @@ -76,7 +76,7 @@ StaticNpc N(NpcData_Bandit_04) = { .settings = &N(NpcSettings_Bandit), .pos = { -20.0f, 0.0f, 40.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = BANDIT_DROPS, .territory = { .wander = { @@ -99,7 +99,7 @@ StaticNpc N(NpcData_Bandit_05) = { .settings = &N(NpcSettings_Bandit), .pos = { 45.0f, 0.0f, -30.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = BANDIT_DROPS, .territory = { .wander = { @@ -122,7 +122,7 @@ StaticNpc N(NpcData_Bandit_06) = { .settings = &N(NpcSettings_Bandit), .pos = { 40.0f, 0.0f, 150.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = BANDIT_DROPS, .territory = { .wander = { diff --git a/src/world/area_trd/trd_00/trd_00_1_main.c b/src/world/area_trd/trd_00/trd_00_1_main.c index aeeef47700..e16c89796c 100644 --- a/src/world/area_trd/trd_00/trd_00_1_main.c +++ b/src/world/area_trd/trd_00/trd_00_1_main.c @@ -60,7 +60,7 @@ EvtScript N(D_80240B34_99A7A4) = { EvtScript N(EVS_EnterMap) = { EVT_SET_GROUP(EVT_GROUP_00) - EVT_SUSPEND_GROUP(1) + EVT_SUSPEND_GROUP(EVT_GROUP_01) EVT_CALL(GetLoadType, LVar1) EVT_IF_EQ(LVar1, 1) EVT_EXEC(EnterSavePoint) @@ -97,7 +97,7 @@ EvtScript N(EVS_EnterMap) = { EVT_CASE_EQ(trd_00_ENTRY_5) EVT_EXEC(N(EVS_BindExitTriggers)) EVT_END_SWITCH - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_RETURN EVT_END }; diff --git a/src/world/area_trd/trd_00/trd_00_3_npc.c b/src/world/area_trd/trd_00/trd_00_3_npc.c index c7430df20e..6c741ee924 100644 --- a/src/world/area_trd/trd_00/trd_00_3_npc.c +++ b/src/world/area_trd/trd_00/trd_00_3_npc.c @@ -309,7 +309,7 @@ StaticNpc N(NpcData_KoopaBros) = { .settings = &N(NpcSettings_KoopaBros), .pos = { -469.0f, 0.0f, 101.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_KoopaBros), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -341,7 +341,7 @@ StaticNpc N(NpcData_Eldstar) = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Eldstar), .drops = ELDSTAR_DROPS, .territory = { diff --git a/src/world/area_trd/trd_01/trd_01_2_entity.c b/src/world/area_trd/trd_01/trd_01_2_entity.c index 58d331fe83..7b6d72c83a 100644 --- a/src/world/area_trd/trd_01/trd_01_2_entity.c +++ b/src/world/area_trd/trd_01/trd_01_2_entity.c @@ -28,17 +28,17 @@ EvtScript N(EVS_FocusCamOnLock) = { EvtScript N(EVS_UnlockDoors) = { EVT_SET_GROUP(EVT_GROUP_00) - EVT_SUSPEND_GROUP(1) + EVT_SUSPEND_GROUP(EVT_GROUP_01) EVT_CALL(ShowKeyChoicePopup) EVT_IF_EQ(LVar0, 0) EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_00D8, 160, 40) EVT_CALL(CloseChoicePopup) - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_RETURN EVT_END_IF EVT_IF_EQ(LVar0, -1) EVT_CALL(CloseChoicePopup) - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_RETURN EVT_END_IF EVT_CALL(FindKeyItem, ITEM_KOOPA_FORTRESS_KEY, LVar0) @@ -50,7 +50,7 @@ EvtScript N(EVS_UnlockDoors) = { EVT_SET(LVar0, MV_Padlock_EntityIndex) EVT_CALL(N(RemovePadlock)) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_UNBIND EVT_RETURN EVT_END diff --git a/src/world/area_trd/trd_01/trd_01_3_npc.c b/src/world/area_trd/trd_01/trd_01_3_npc.c index 47021e9ad7..89768825e6 100644 --- a/src/world/area_trd/trd_01/trd_01_3_npc.c +++ b/src/world/area_trd/trd_01/trd_01_3_npc.c @@ -149,7 +149,7 @@ StaticNpc N(NpcData_KoopaTroopa_01) = { .settings = &N(NpcSettings_KoopaTroopa_Wander), .pos = { 260.0f, 0.0f, 30.0f }, .yaw = 0, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_800000, .init = &N(EVS_NpcInit_KoopaTroopa_01), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -177,7 +177,7 @@ StaticNpc N(NpcData_KoopaTroopa_02) = { .settings = &N(NpcSettings_KoopaTroopa_Wander), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_KoopaTroopa_02), .drops = KOOPA_TROOPA_DROPS, .territory = { @@ -201,7 +201,7 @@ StaticNpc N(NpcData_KoopaTroopa_03) = { .settings = &N(NpcSettings_KoopaTroopa_Wander), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_2000, .init = &N(EVS_NpcInit_KoopaTroopa_02), .drops = KOOPA_TROOPA_DROPS, .territory = { @@ -225,7 +225,7 @@ StaticNpc N(NpcData_Bobomb) = { .settings = &N(NpcSettings_Bobomb_Stationary), .pos = { -255.0f, 640.0f, 35.0f }, .yaw = 180, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = BOBOMB_DROPS, .territory = { .wander = { diff --git a/src/world/area_trd/trd_02/trd_02_1_main.c b/src/world/area_trd/trd_02/trd_02_1_main.c index 3fdc26d6a8..92737cbec1 100644 --- a/src/world/area_trd/trd_02/trd_02_1_main.c +++ b/src/world/area_trd/trd_02/trd_02_1_main.c @@ -20,7 +20,7 @@ EvtScript N(EVS_BindExitTriggers) = { EvtScript N(EVS_EnterMap) = { EVT_SET_GROUP(EVT_GROUP_00) - EVT_SUSPEND_GROUP(1) + EVT_SUSPEND_GROUP(EVT_GROUP_01) EVT_CALL(GetEntryID, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(trd_02_ENTRY_0) @@ -47,7 +47,7 @@ EvtScript N(EVS_EnterMap) = { EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers))) EVT_EXEC(EnterWalk) EVT_END_SWITCH - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_RETURN EVT_END }; @@ -55,7 +55,7 @@ EvtScript N(EVS_EnterMap) = { EvtScript N(EVS_Scene_LowerStairs) = { EVT_SET_GROUP(EVT_GROUP_00) EVT_CALL(SetTimeFreezeMode, 0) - EVT_SUSPEND_GROUP(1) + EVT_SUSPEND_GROUP(EVT_GROUP_01) EVT_CALL(DisablePlayerInput, TRUE) EVT_WAIT(30) EVT_CALL(SetGroupEnabled, MODEL_move_saku, 0) @@ -112,7 +112,7 @@ EvtScript N(EVS_Scene_LowerStairs) = { EVT_SET(GB_StoryProgress, STORY_CH1_LOWERED_SECOND_STAIRS) EVT_CALL(DisablePlayerInput, FALSE) EVT_CALL(SetTimeFreezeMode, 0) - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_UNBIND EVT_RETURN EVT_END @@ -125,7 +125,7 @@ BombTrigger N(D_8024240C_9A33EC) = { EvtScript N(D_8024241C_9A33FC) = { EVT_SET_GROUP(EVT_GROUP_00) - EVT_SUSPEND_GROUP(1) + EVT_SUSPEND_GROUP(EVT_GROUP_01) EVT_PLAY_EFFECT(EFFECT_BOMBETTE_BREAKING, 0, 17, 11, 1, 10, 30) EVT_CALL(EnableModel, MODEL_anaaki, TRUE) EVT_LOOP(10) @@ -136,7 +136,7 @@ EvtScript N(D_8024241C_9A33FC) = { EVT_END_LOOP EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_tta, COLLIDER_FLAGS_UPPER_MASK) EVT_SET(GF_TRD02_BombedWall, TRUE) - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_UNBIND EVT_RETURN EVT_END diff --git a/src/world/area_trd/trd_02/trd_02_2_entity.c b/src/world/area_trd/trd_02/trd_02_2_entity.c index 75536b2755..3dc66526c3 100644 --- a/src/world/area_trd/trd_02/trd_02_2_entity.c +++ b/src/world/area_trd/trd_02/trd_02_2_entity.c @@ -8,17 +8,17 @@ extern EvtScript N(EVS_ExitDoors_trd_01_2); EvtScript N(D_80242890_9A3870) = { EVT_SET_GROUP(EVT_GROUP_00) - EVT_SUSPEND_GROUP(1) + EVT_SUSPEND_GROUP(EVT_GROUP_01) EVT_CALL(ShowKeyChoicePopup) EVT_IF_EQ(LVar0, 0) EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_00D8, 160, 40) EVT_CALL(CloseChoicePopup) - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_RETURN EVT_END_IF EVT_IF_EQ(LVar0, -1) EVT_CALL(CloseChoicePopup) - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_RETURN EVT_END_IF EVT_CALL(RemoveKeyItemAt, LVar1) @@ -28,7 +28,7 @@ EvtScript N(D_80242890_9A3870) = { EVT_CALL(PlaySoundAt, SOUND_269, 0, LVar0, LVar1, LVar2) EVT_SET(LVar0, MV_Padlock_EntityIndex) EVT_CALL(N(RemovePadlock)) - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_UNBIND EVT_RETURN EVT_END diff --git a/src/world/area_trd/trd_02/trd_02_3_npc.c b/src/world/area_trd/trd_02/trd_02_3_npc.c index 5e1e841e5b..4704f77efe 100644 --- a/src/world/area_trd/trd_02/trd_02_3_npc.c +++ b/src/world/area_trd/trd_02/trd_02_3_npc.c @@ -9,7 +9,7 @@ StaticNpc N(NpcData_Bobomb_01) = { .settings = &N(NpcSettings_Bobomb_Wander), .pos = { -70.0f, 0.0f, 80.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = BOBOMB_DROPS, .territory = { .wander = { @@ -32,7 +32,7 @@ StaticNpc N(NpcData_Bobomb_02) = { .settings = &N(NpcSettings_Bobomb_Wander), .pos = { 140.0f, 0.0f, 80.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = BOBOMB_DROPS, .territory = { .wander = { @@ -55,7 +55,7 @@ StaticNpc N(NpcData_KoopaTroopa) = { .settings = &N(NpcSettings_KoopaTroopa_Patrol), .pos = { 50.0f, 187.0f, 183.0f }, .yaw = 0, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = KOOPA_TROOPA_DROPS, .territory = { .patrol = { diff --git a/src/world/area_trd/trd_03/trd_03_3_npc.c b/src/world/area_trd/trd_03/trd_03_3_npc.c index 2e6e95afc9..a0b67651a5 100644 --- a/src/world/area_trd/trd_03/trd_03_3_npc.c +++ b/src/world/area_trd/trd_03/trd_03_3_npc.c @@ -185,7 +185,7 @@ StaticNpc N(NpcData_KoopaBros) = { .settings = &N(NpcSettings_KoopaBros), .pos = { -569.0f, 0.0f, -57.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_KoopaBros), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -217,7 +217,7 @@ StaticNpc N(NpcData_KoopaTroopa_01) = { .settings = &N(NpcSettings_KoopaTroopa_Wander), .pos = { -520.0f, 0.0f, 15.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_KoopaTroopa_01), .drops = KOOPA_TROOPA_DROPS, .territory = { @@ -241,7 +241,7 @@ StaticNpc N(NpcData_KoopaTroopa_02) = { .settings = &N(NpcSettings_KoopaTroopa_Wander), .pos = { -52.0f, 0.0f, -21.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_KoopaTroopa_02), .drops = KOOPA_TROOPA_DROPS, .territory = { @@ -265,7 +265,7 @@ StaticNpc N(NpcData_KoopaTroopa_03) = { .settings = &N(NpcSettings_KoopaTroopa_Wander), .pos = { 375.0f, 0.0f, 15.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = KOOPA_TROOPA_DROPS, .territory = { .wander = { diff --git a/src/world/area_trd/trd_04/trd_04_1_main.c b/src/world/area_trd/trd_04/trd_04_1_main.c index aaa9a504cf..67b8ed7a94 100644 --- a/src/world/area_trd/trd_04/trd_04_1_main.c +++ b/src/world/area_trd/trd_04/trd_04_1_main.c @@ -63,7 +63,7 @@ EvtScript N(EVS_EnterMap) = { EVT_RETURN EVT_END_IF EVT_SET_GROUP(EVT_GROUP_00) - EVT_SUSPEND_GROUP(1) + EVT_SUSPEND_GROUP(EVT_GROUP_01) EVT_CALL(GetEntryID, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(trd_04_ENTRY_0) @@ -95,14 +95,14 @@ EvtScript N(EVS_EnterMap) = { EVT_EXEC_WAIT(EnterDoubleDoor) EVT_EXEC(N(EVS_BindExitTriggers)) EVT_END_SWITCH - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_RETURN EVT_END }; EvtScript N(EVS_Scene_LowerStairs) = { EVT_SET_GROUP(EVT_GROUP_00) - EVT_SUSPEND_GROUP(1) + EVT_SUSPEND_GROUP(EVT_GROUP_01) EVT_SET(GB_StoryProgress, STORY_CH1_LOWERED_FIRST_STAIRS) EVT_CALL(DisablePlayerInput, TRUE) EVT_WAIT(30) @@ -211,7 +211,7 @@ EvtScript N(EVS_Scene_LowerStairs) = { EVT_CALL(EnableModel, MODEL_o7, TRUE) EVT_CALL(EnableModel, MODEL_bero2, TRUE) EVT_CALL(DisablePlayerInput, FALSE) - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_UNBIND EVT_RETURN EVT_END diff --git a/src/world/area_trd/trd_04/trd_04_2_entity.c b/src/world/area_trd/trd_04/trd_04_2_entity.c index 4a3d1ff36f..e6c28cef7c 100644 --- a/src/world/area_trd/trd_04/trd_04_2_entity.c +++ b/src/world/area_trd/trd_04/trd_04_2_entity.c @@ -11,40 +11,40 @@ extern EvtScript N(EVS_ExitDoors_trd_03_3); #include "world/common/todo/GetEntityPosition.inc.c" s32 N(missing_80244D70_4D70)[] = { - 0x00000000, 0x00010101, 0x01010101, 0x01010101, - 0x01000000, 0x00000000, 0x00000101, 0x01010101, - 0x01010101, 0x01010000, 0x00000000, 0x00000001, - 0x01010101, 0x01010101, 0x01010100, 0x00000000, - 0x00000000, 0x01010101, 0x01010101, 0x01010101, - 0x00000000, 0x00000000, 0x00010101, 0x01010101, - 0x01010101, 0x01000000, 0x00000000, 0x00000101, - 0x01010101, 0x01010101, 0x01010000, 0x00000000, - 0x00000001, 0x01010101, 0x01010101, 0x01010100, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x01010101, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00010101, 0x01000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000101, 0x01010000, - 0x00000000, 0x00000000, + 0x00000000, 0x00010101, 0x01010101, 0x01010101, + 0x01000000, 0x00000000, 0x00000101, 0x01010101, + 0x01010101, 0x01010000, 0x00000000, 0x00000001, + 0x01010101, 0x01010101, 0x01010100, 0x00000000, + 0x00000000, 0x01010101, 0x01010101, 0x01010101, + 0x00000000, 0x00000000, 0x00010101, 0x01010101, + 0x01010101, 0x01000000, 0x00000000, 0x00000101, + 0x01010101, 0x01010101, 0x01010000, 0x00000000, + 0x00000001, 0x01010101, 0x01010101, 0x01010100, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x01010101, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00010101, 0x01000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000101, 0x01010000, + 0x00000000, 0x00000000, }; EvtScript N(EVS_UnlockUpperLeftDoors) = { EVT_SET_GROUP(EVT_GROUP_00) - EVT_SUSPEND_GROUP(1) + EVT_SUSPEND_GROUP(EVT_GROUP_01) EVT_CALL(ShowKeyChoicePopup) EVT_IF_EQ(LVar0, 0) EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_00D8, 160, 40) EVT_CALL(CloseChoicePopup) - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_RETURN EVT_END_IF EVT_IF_EQ(LVar0, -1) EVT_CALL(CloseChoicePopup) - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_RETURN EVT_END_IF EVT_CALL(RemoveKeyItemAt, LVar1) @@ -54,7 +54,7 @@ EvtScript N(EVS_UnlockUpperLeftDoors) = { EVT_CALL(PlaySoundAt, SOUND_269, 0, LVar0, LVar1, LVar2) EVT_SET(LVar0, MV_Unk_00) EVT_CALL(N(RemovePadlock)) - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_UNBIND EVT_RETURN EVT_END @@ -62,17 +62,17 @@ EvtScript N(EVS_UnlockUpperLeftDoors) = { EvtScript N(EVS_UnlockLowerRightDoors) = { EVT_SET_GROUP(EVT_GROUP_00) - EVT_SUSPEND_GROUP(1) + EVT_SUSPEND_GROUP(EVT_GROUP_01) EVT_CALL(ShowKeyChoicePopup) EVT_IF_EQ(LVar0, 0) EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_00D8, 160, 40) EVT_CALL(CloseChoicePopup) - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_RETURN EVT_END_IF EVT_IF_EQ(LVar0, -1) EVT_CALL(CloseChoicePopup) - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_RETURN EVT_END_IF EVT_CALL(RemoveKeyItemAt, LVar1) @@ -82,7 +82,7 @@ EvtScript N(EVS_UnlockLowerRightDoors) = { EVT_CALL(PlaySoundAt, SOUND_269, 0, LVar0, LVar1, LVar2) EVT_SET(LVar0, MV_Unk_01) EVT_CALL(N(RemovePadlock)) - EVT_RESUME_GROUP(1) + EVT_RESUME_GROUP(EVT_GROUP_01) EVT_UNBIND EVT_RETURN EVT_END diff --git a/src/world/area_trd/trd_04/trd_04_3_npc.c b/src/world/area_trd/trd_04/trd_04_3_npc.c index 970097b13d..3e37a8ba16 100644 --- a/src/world/area_trd/trd_04/trd_04_3_npc.c +++ b/src/world/area_trd/trd_04/trd_04_3_npc.c @@ -35,7 +35,7 @@ StaticNpc N(NpcData_KoopaTroopa_Wander) = { .settings = &N(NpcSettings_KoopaTroopa_Wander), .pos = { 0.0f, 0.0f, 125.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000, .drops = KOOPA_TROOPA_DROPS, .territory = { .wander = { @@ -58,7 +58,7 @@ StaticNpc N(NpcData_KoopaTroopa_Patrol) = { .settings = &N(NpcSettings_KoopaTroopa_Patrol), .pos = { 220.0f, 0.0f, 30.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_800000, .init = &N(EVS_NpcInit_KoopaTroopa), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -88,7 +88,7 @@ StaticNpc N(NpcData_ParaTroopa) = { .settings = &N(NpcSettings_ParaTroopa), .pos = { -5.0f, 237.0f, 157.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = PARATROOPA_DROPS, .territory = { .wander = { diff --git a/src/world/area_trd/trd_05/trd_05_4_npc.c b/src/world/area_trd/trd_05/trd_05_4_npc.c index 0c14ad3a10..b4fcbc4a75 100644 --- a/src/world/area_trd/trd_05/trd_05_4_npc.c +++ b/src/world/area_trd/trd_05/trd_05_4_npc.c @@ -207,7 +207,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .settings = &N(NpcSettings_KoopaBros), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_KoopaBros), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -238,7 +238,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .settings = &N(NpcSettings_KoopaBros), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_KoopaBros), .drops = { .dropFlags = NPC_DROP_FLAGS_80, diff --git a/src/world/area_trd/trd_06/trd_06_3_npc_prisoners.c b/src/world/area_trd/trd_06/trd_06_3_npc_prisoners.c index 99c7a2a6e2..11cf4c3266 100644 --- a/src/world/area_trd/trd_06/trd_06_3_npc_prisoners.c +++ b/src/world/area_trd/trd_06/trd_06_3_npc_prisoners.c @@ -343,7 +343,7 @@ StaticNpc N(NpcData_Bombette) = { .settings = &N(NpcSettings_Bobomb), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Bombette), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -377,7 +377,7 @@ StaticNpc N(NpcData_Jailers)[] = { .settings = &N(NpcSettings_KoopaTroopa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING | NPC_FLAG_40000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000, .init = &N(EVS_NpcInit_KoopaTroopa), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -413,7 +413,7 @@ StaticNpc N(NpcData_Jailers)[] = { .settings = &N(NpcSettings_Bobomb), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING | NPC_FLAG_40000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000, .init = &N(EVS_NpcInit_Bobomb_Jailer), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -444,7 +444,7 @@ StaticNpc N(NpcData_Jailers)[] = { .settings = &N(NpcSettings_Bobomb), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING | NPC_FLAG_40000, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000, .init = &N(EVS_NpcInit_Bobomb_Jailer), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -478,7 +478,7 @@ StaticNpc N(NpcData_Inmates)[] = { .settings = &N(NpcSettings_Bobomb), .pos = { 25.0f, 0.0f, 127.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Bobomb_01), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -517,7 +517,7 @@ StaticNpc N(NpcData_Inmates)[] = { .settings = &N(NpcSettings_Bobomb), .pos = { -30.0f, 0.0f, 130.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Bobomb_02), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -556,7 +556,7 @@ StaticNpc N(NpcData_Inmates)[] = { .settings = &N(NpcSettings_Bobomb), .pos = { -140.0f, 0.0f, -90.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Bobomb_03), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -595,7 +595,7 @@ StaticNpc N(NpcData_Inmates)[] = { .settings = &N(NpcSettings_Bobomb), .pos = { -75.0f, 0.0f, -80.0f }, .yaw = 90, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_Bobomb_04), .drops = { .dropFlags = NPC_DROP_FLAGS_80, diff --git a/src/world/area_trd/trd_06/trd_06_4_npc_koopa_bros.c b/src/world/area_trd/trd_06/trd_06_4_npc_koopa_bros.c index 5775eb5e91..a3c21fe732 100644 --- a/src/world/area_trd/trd_06/trd_06_4_npc_koopa_bros.c +++ b/src/world/area_trd/trd_06/trd_06_4_npc_koopa_bros.c @@ -50,7 +50,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .settings = &N(NpcSettings_KoopaBros), .pos = { 60.0f, 0.0f, -60.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = { .dropFlags = NPC_DROP_FLAGS_80, .heartDrops = NO_DROPS, @@ -92,7 +92,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .settings = &N(NpcSettings_KoopaBros), .pos = { 60.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = { .dropFlags = NPC_DROP_FLAGS_80, .heartDrops = NO_DROPS, @@ -134,7 +134,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .settings = &N(NpcSettings_KoopaBros), .pos = { -10.0f, 0.0f, -60.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = { .dropFlags = NPC_DROP_FLAGS_80, .heartDrops = NO_DROPS, @@ -176,7 +176,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .settings = &N(NpcSettings_KoopaBros), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .drops = { .dropFlags = NPC_DROP_FLAGS_80, .heartDrops = NO_DROPS, diff --git a/src/world/area_trd/trd_07/trd_07_2_npc.c b/src/world/area_trd/trd_07/trd_07_2_npc.c index a7b93c189e..eed3bd3773 100644 --- a/src/world/area_trd/trd_07/trd_07_2_npc.c +++ b/src/world/area_trd/trd_07/trd_07_2_npc.c @@ -20,7 +20,7 @@ EvtScript N(EVS_NpcDefeat_KoopaTroopa) = { EVT_CASE_EQ(OUTCOME_PLAYER_FLED) EVT_CALL(OnPlayerFled, 0) EVT_CASE_EQ(OUTCOME_ENEMY_FLED) - EVT_CALL(SetEnemyFlagBits, NPC_SELF, ENEMY_FLAGS_10, 1) + EVT_CALL(SetEnemyFlagBits, NPC_SELF, ENEMY_FLAGS_FLED, 1) EVT_CALL(RemoveNpc, NPC_SELF) EVT_END_SWITCH EVT_RETURN @@ -42,7 +42,7 @@ StaticNpc N(NpcData_KoopaTroopa) = { .settings = &N(NpcSettings_KoopaTroopa_Wander), .pos = { -75.0f, 0.0f, -30.0f }, .yaw = 90, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000, .init = &N(EVS_NpcInit_KoopaTroopa), .drops = KOOPA_TROOPA_DROPS, .territory = { @@ -65,7 +65,7 @@ StaticNpc N(NpcData_ParaTroopa_01) = { .settings = &N(NpcSettings_ParaTroopa), .pos = { 0.0f, 50.0f, 30.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000, .init = &N(EVS_NpcInit_KoopaTroopa), .drops = PARATROOPA_DROPS, .territory = { @@ -88,7 +88,7 @@ StaticNpc N(NpcData_ParaTroopa_02) = { .settings = &N(NpcSettings_ParaTroopa), .pos = { 75.0f, 50.0f, -30.0f }, .yaw = 270, - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000, + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000, .init = &N(EVS_NpcInit_KoopaTroopa), .drops = PARATROOPA_DROPS, .territory = { diff --git a/src/world/area_trd/trd_08/trd_08_3_npc.c b/src/world/area_trd/trd_08/trd_08_3_npc.c index 53e9755b9e..8b8b04892c 100644 --- a/src/world/area_trd/trd_08/trd_08_3_npc.c +++ b/src/world/area_trd/trd_08/trd_08_3_npc.c @@ -136,7 +136,7 @@ StaticNpc N(NpcData_00)[] = { .settings = &N(NpcSettings_FireBar_01), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -146,7 +146,7 @@ StaticNpc N(NpcData_00)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -156,7 +156,7 @@ StaticNpc N(NpcData_00)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -166,7 +166,7 @@ StaticNpc N(NpcData_00)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -179,7 +179,7 @@ StaticNpc N(NpcData_05)[] = { .settings = &N(NpcSettings_FireBar_02), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -189,7 +189,7 @@ StaticNpc N(NpcData_05)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -199,7 +199,7 @@ StaticNpc N(NpcData_05)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, @@ -209,7 +209,7 @@ StaticNpc N(NpcData_05)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .init = (void*) 0x00004003, .animations = { }, diff --git a/src/world/area_trd/trd_09/trd_09_3_npcs.c b/src/world/area_trd/trd_09/trd_09_3_npcs.c index dbf7611edb..ac4dafcdde 100644 --- a/src/world/area_trd/trd_09/trd_09_3_npcs.c +++ b/src/world/area_trd/trd_09/trd_09_3_npcs.c @@ -98,7 +98,7 @@ EvtScript N(D_80240B80_9BE1E0) = { EVT_CALL(DoNpcDefeat) EVT_CASE_EQ(OUTCOME_PLAYER_FLED) EVT_CASE_EQ(OUTCOME_ENEMY_FLED) - EVT_CALL(SetEnemyFlagBits, NPC_SELF, ENEMY_FLAGS_10, 1) + EVT_CALL(SetEnemyFlagBits, NPC_SELF, ENEMY_FLAGS_FLED, 1) EVT_CALL(RemoveNpc, NPC_SELF) EVT_END_SWITCH EVT_RETURN @@ -131,9 +131,9 @@ EvtScript N(D_80240C2C_9BE28C) = { }; s32 N(missing_80240CE4_CE4)[] = { - 0x002E0001, 0x001A0020, 0x80240820, 0x00000000, 0x80240844, 0x80240A48, 0x00000000, 0x80240B80, - 0x00000000, 0x00000000, 0x000A0000, 0x002D0001, 0x000E001F, 0x80240C0C, 0x00000000, 0x80240C1C, - 0x80077F70, 0x00000000, 0x80240C2C, 0x00000000, 0x00000000, 0x00050000, + 0x002E0001, 0x001A0020, 0x80240820, 0x00000000, 0x80240844, 0x80240A48, 0x00000000, 0x80240B80, + 0x00000000, 0x00000000, 0x000A0000, 0x002D0001, 0x000E001F, 0x80240C0C, 0x00000000, 0x80240C1C, + 0x80077F70, 0x00000000, 0x80240C2C, 0x00000000, 0x00000000, 0x00050000, }; EvtScript N(EVS_NpcAuxAI_KoopaBros_Red) = { @@ -530,7 +530,7 @@ StaticNpc N(NpcData_BillBlasters)[] = { .settings = &N(NpcSettings_BillBlaster), .pos = { 1260.0f, 0.0f, -40.0f }, .yaw = 270, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_40000 | NPC_FLAG_200000, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_200000, .init = &N(EVS_NpcInit_BillBlaster), .drops = { .dropFlags = NPC_DROP_FLAGS_80, @@ -573,7 +573,7 @@ StaticNpc N(NpcData_BillBlasters)[] = { .settings = &N(NpcSettings_BillBlaster), .pos = { 1275.0f, 0.0f, 5.0f }, .yaw = 270, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_40000 | NPC_FLAG_200000, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_200000, .drops = { .dropFlags = NPC_DROP_FLAGS_80, .heartDrops = STANDARD_HEART_DROPS(2), @@ -617,7 +617,7 @@ StaticNpc N(NpcData_BillBlasters)[] = { .settings = &N(NpcSettings_BillBlaster), .pos = { 1290.0f, 0.0f, 50.0f }, .yaw = 270, - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_40000 | NPC_FLAG_200000, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_200000, .drops = { .dropFlags = NPC_DROP_FLAGS_80, .heartDrops = NO_DROPS, @@ -661,7 +661,7 @@ StaticNpc N(NpcData_BulletBill_01) = { .settings = &N(NpcSettings_BulletBill), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_REFLECT_FLOOR, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_80000, .initVarCount = 1, .initVar = { .value = 0 }, .drops = { @@ -710,7 +710,7 @@ StaticNpc N(NpcData_BulletBill_02) = { .settings = &N(NpcSettings_BulletBill), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_REFLECT_FLOOR, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_80000, .initVarCount = 1, .initVar = { .value = 0 }, .drops = { @@ -759,7 +759,7 @@ StaticNpc N(NpcData_BulletBill_03) = { .settings = &N(NpcSettings_BulletBill), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_REFLECT_FLOOR, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_80000, .initVarCount = 1, .initVar = { .value = 0 }, .drops = { @@ -808,7 +808,7 @@ StaticNpc N(NpcData_BulletBill_04) = { .settings = &N(NpcSettings_BulletBill), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_REFLECT_FLOOR, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_80000, .initVarCount = 1, .initVar = { .value = 0 }, .drops = { @@ -857,7 +857,7 @@ StaticNpc N(NpcData_BulletBill_05) = { .settings = &N(NpcSettings_BulletBill), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_REFLECT_FLOOR, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_80000, .initVarCount = 1, .initVar = { .value = 0 }, .drops = { @@ -906,7 +906,7 @@ StaticNpc N(NpcData_BulletBill_06) = { .settings = &N(NpcSettings_BulletBill), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_REFLECT_FLOOR, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_80000, .initVarCount = 1, .initVar = { .value = 0 }, .drops = { @@ -955,7 +955,7 @@ StaticNpc N(NpcData_BulletBill_07) = { .settings = &N(NpcSettings_BulletBill), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_REFLECT_FLOOR, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_80000, .initVarCount = 1, .initVar = { .value = 0 }, .drops = { @@ -1004,7 +1004,7 @@ StaticNpc N(NpcData_BulletBill_08) = { .settings = &N(NpcSettings_BulletBill), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_REFLECT_FLOOR, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_80000, .initVarCount = 1, .initVar = { .value = 0 }, .drops = { @@ -1053,7 +1053,7 @@ StaticNpc N(NpcData_BulletBill_09) = { .settings = &N(NpcSettings_BulletBill), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_REFLECT_FLOOR, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_80000, .initVarCount = 1, .initVar = { .value = 0 }, .drops = { @@ -1102,7 +1102,7 @@ StaticNpc N(NpcData_BulletBill_10) = { .settings = &N(NpcSettings_BulletBill), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_REFLECT_FLOOR, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_80000, .initVarCount = 1, .initVar = { .value = 0 }, .drops = { @@ -1152,7 +1152,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .settings = &N(NpcSettings_KoopaBros_Red), .pos = { 1590.0f, 60.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .initVarCount = 1, .initVar = { .value = 0 }, }, @@ -1161,7 +1161,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .settings = &N(NpcSettings_KoopaBros_Green), .pos = { 1590.0f, 60.0f, -10.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .initVarCount = 1, .initVar = { .value = 0 }, }, @@ -1170,7 +1170,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .settings = &N(NpcSettings_KoopaBros_Yellow), .pos = { 1605.0f, 60.0f, 5.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .initVarCount = 1, .initVar = { .value = 0 }, }, @@ -1179,7 +1179,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .settings = &N(NpcSettings_KoopaBros_Black), .pos = { 1620.0f, 60.0f, 20.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE, + .flags = ENEMY_FLAGS_1, .initVarCount = 1, .initVar = { .value = 0 }, }, @@ -1221,7 +1221,7 @@ StaticNpc N(NpcData_BulletBill_Demo1) = { .settings = &N(NpcSettings_BulletBill), .pos = { -100.0f, 11.0f, 50.0f }, .yaw = 270, - .flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_REFLECT_FLOOR, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_80000, .init = &N(EVS_NpcInit_BulletBill_Demo), .initVarCount = 1, .initVar = { .value = 0 }, @@ -1271,7 +1271,7 @@ StaticNpc N(NpcData_BulletBill_Demo2) = { .settings = &N(NpcSettings_BulletBill), .pos = { -150.0f, 11.0f, 5.0f }, .yaw = 270, - .flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_REFLECT_FLOOR, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_80000, .init = &N(EVS_NpcInit_BulletBill_Demo), .initVarCount = 1, .initVar = { .value = 0 }, @@ -1321,7 +1321,7 @@ StaticNpc N(NpcData_BulletBill_Demo3) = { .settings = &N(NpcSettings_BulletBill), .pos = { 120.0f, 11.0f, 50.0f }, .yaw = 270, - .flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_REFLECT_FLOOR, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_80000, .init = &N(EVS_NpcInit_BulletBill_Demo), .initVarCount = 1, .initVar = { .value = 0 }, @@ -1371,7 +1371,7 @@ StaticNpc N(NpcData_BulletBill_Demo4) = { .settings = &N(NpcSettings_BulletBill), .pos = { 330.0f, 11.0f, 5.0f }, .yaw = 270, - .flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_REFLECT_FLOOR, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_80000, .init = &N(EVS_NpcInit_BulletBill_Demo), .initVarCount = 1, .initVar = { .value = 0 }, @@ -1421,7 +1421,7 @@ StaticNpc N(NpcData_BulletBill_Demo5) = { .settings = &N(NpcSettings_BulletBill), .pos = { 380.0f, 11.0f, -40.0f }, .yaw = 270, - .flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_REFLECT_FLOOR, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_80000, .init = &N(EVS_NpcInit_BulletBill_Demo), .initVarCount = 1, .initVar = { .value = 0 }, diff --git a/src/world/area_trd/trd_10/trd_10_2_npc.c b/src/world/area_trd/trd_10/trd_10_2_npc.c index 18794cdcd0..57c463bb7d 100644 --- a/src/world/area_trd/trd_10/trd_10_2_npc.c +++ b/src/world/area_trd/trd_10/trd_10_2_npc.c @@ -122,7 +122,7 @@ EvtScript N(EVS_NpcInteract_KoopaBros_01) = { }; EvtScript N(EVS_NpcDefeat_KoopaBros_01) = { - EVT_CALL(SetEncounterStatusFlags, 2, TRUE) + EVT_CALL(SetEncounterStatusFlags, ENCOUNTER_STATUS_FLAGS_2, TRUE) EVT_CALL(DisablePlayerInput, TRUE) EVT_CALL(SetNpcPos, NPC_KoopaBros_01, 0, -1000, 0) EVT_CALL(SetNpcFlagBits, NPC_KoopaBros_01, NPC_FLAG_2, FALSE) @@ -341,7 +341,7 @@ StaticNpc N(NpcData_KoopaBros_01)[] = { .settings = &N(NpcSettings_KoopaBros_01), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_800000, .drops = { .dropFlags = NPC_DROP_FLAGS_80, .heartDrops = NO_DROPS, @@ -371,7 +371,7 @@ StaticNpc N(NpcData_KoopaBros_01)[] = { .settings = &N(NpcSettings_KoopaBros_02), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_800000, .drops = { .dropFlags = NPC_DROP_FLAGS_80, .heartDrops = NO_DROPS, @@ -401,7 +401,7 @@ StaticNpc N(NpcData_KoopaBros_01)[] = { .settings = &N(NpcSettings_KoopaBros_03), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_800000, .drops = { .dropFlags = NPC_DROP_FLAGS_80, .heartDrops = NO_DROPS, @@ -431,7 +431,7 @@ StaticNpc N(NpcData_KoopaBros_01)[] = { .settings = &N(NpcSettings_KoopaBros_04), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 270, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_NO_DROPS, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_800000, .drops = { .dropFlags = NPC_DROP_FLAGS_80, .heartDrops = NO_DROPS, diff --git a/src/world/area_tst/tst_04/tst_04_4_npc.c b/src/world/area_tst/tst_04/tst_04_4_npc.c index 4c64f7b884..cb90c69c63 100644 --- a/src/world/area_tst/tst_04/tst_04_4_npc.c +++ b/src/world/area_tst/tst_04/tst_04_4_npc.c @@ -47,7 +47,7 @@ NpcSettings N(NpcSettings_Goompa) = { .onHit = &N(EVS_NpcHit_Goompa), .aux = &N(EVS_NpcAux_Goompa), .onDefeat = &N(EVS_NpcDefeat_Goompa), - .unk_27 = 200, + .unk_24 = 200, .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4, }; @@ -56,7 +56,7 @@ StaticNpc N(NpcData_Goompa) = { .settings = &N(NpcSettings_Goompa), .pos = { 80.0f, 40.0f, -84.0f }, .yaw = 0, - .flags = NPC_FLAG_1000, + .flags = ENEMY_FLAGS_GRAVITY, }; NpcGroupList N(DefaultNPCs) = { diff --git a/src/world/area_tst/tst_13/tst_13_1_main.c b/src/world/area_tst/tst_13/tst_13_1_main.c index 58cd0209dc..81214e3b81 100644 --- a/src/world/area_tst/tst_13/tst_13_1_main.c +++ b/src/world/area_tst/tst_13/tst_13_1_main.c @@ -381,7 +381,7 @@ StaticNpc N(D_80240F38_B1E698)[] = { .settings = &N(NpcSettings_00), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .animations = { }, }, @@ -390,7 +390,7 @@ StaticNpc N(D_80240F38_B1E698)[] = { .settings = &N(NpcSettings_01), .pos = { 20.0f, 0.0f, 20.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .animations = { }, }, @@ -399,7 +399,7 @@ StaticNpc N(D_80240F38_B1E698)[] = { .settings = &N(NpcSettings_02), .pos = { 40.0f, 0.0f, 40.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .animations = { }, }, @@ -408,7 +408,7 @@ StaticNpc N(D_80240F38_B1E698)[] = { .settings = &N(NpcSettings_03), .pos = { 60.0f, 0.0f, 60.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .animations = { }, }, @@ -417,7 +417,7 @@ StaticNpc N(D_80240F38_B1E698)[] = { .settings = &N(NpcSettings_04), .pos = { 80.0f, 0.0f, 80.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .animations = { }, }, @@ -426,7 +426,7 @@ StaticNpc N(D_80240F38_B1E698)[] = { .settings = &N(NpcSettings_05), .pos = { 100.0f, 0.0f, 100.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .animations = { }, }, @@ -435,7 +435,7 @@ StaticNpc N(D_80240F38_B1E698)[] = { .settings = &N(NpcSettings_06), .pos = { 120.0f, 0.0f, 120.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .animations = { }, }, @@ -444,7 +444,7 @@ StaticNpc N(D_80240F38_B1E698)[] = { .settings = &N(NpcSettings_07), .pos = { 140.0f, 0.0f, 140.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .animations = { }, }, @@ -453,7 +453,7 @@ StaticNpc N(D_80240F38_B1E698)[] = { .settings = &N(NpcSettings_08), .pos = { 160.0f, 0.0f, 160.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .animations = { }, }, @@ -462,7 +462,7 @@ StaticNpc N(D_80240F38_B1E698)[] = { .settings = &N(NpcSettings_09), .pos = { 180.0f, 0.0f, 180.0f }, .yaw = 0, - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .animations = { }, }, diff --git a/src/world/common/atomic/QuizmoData.inc.c b/src/world/common/atomic/QuizmoData.inc.c index 70eba3d7e3..430bcefd7a 100644 --- a/src/world/common/atomic/QuizmoData.inc.c +++ b/src/world/common/atomic/QuizmoData.inc.c @@ -697,11 +697,11 @@ NpcSettings N(Quizmo_NpcSettings) = { .otherAI = &N(EVS_Quizmo_NPC_OtherAI), .onInteract = &N(EVS_Quizmo_NPC_Interact), .aux = &N(EVS_Quizmo_NPC_Aux), - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .level = 99, }; -// alternate (unused?) variant of quizmo with AI and NPC_FLAG_100 unset +// alternate (unused?) variant of quizmo with AI and ENEMY_FLAGS_100 unset NpcSettings N(Quizmo_AltNpcSettings) = { .defaultAnim = ANIM_ChuckQuizmo_Idle, .height = 35, @@ -710,7 +710,7 @@ NpcSettings N(Quizmo_AltNpcSettings) = { .onInteract = &N(EVS_Quizmo_NPC_Interact), .ai = &N(EVS_Quizmo_Npc_AI), .aux = &N(EVS_Quizmo_NPC_Aux), - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .level = 99, .actionFlags = 16, }; diff --git a/src/world/common/complete/Quizmo.inc.c b/src/world/common/complete/Quizmo.inc.c index eb2ea88c0a..3150cae428 100644 --- a/src/world/common/complete/Quizmo.inc.c +++ b/src/world/common/complete/Quizmo.inc.c @@ -1169,11 +1169,11 @@ NpcSettings N(Quizmo_NpcSettings) = { .otherAI = &N(EVS_Quizmo_NPC_OtherAI), .onInteract = &N(EVS_Quizmo_NPC_Interact), .aux = &N(EVS_Quizmo_NPC_Aux), - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .level = 99, }; -// alternate (unused?) variant of quizmo with AI and NPC_FLAG_100 unset +// alternate (unused?) variant of quizmo with AI and ENEMY_FLAGS_100 unset NpcSettings N(Quizmo_AltNpcSettings) = { .defaultAnim = ANIM_ChuckQuizmo_Idle, .height = 35, @@ -1182,7 +1182,7 @@ NpcSettings N(Quizmo_AltNpcSettings) = { .onInteract = &N(EVS_Quizmo_NPC_Interact), .ai = &N(EVS_Quizmo_Npc_AI), .aux = &N(EVS_Quizmo_NPC_Aux), - .flags = NPC_FLAG_PASSIVE | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .level = 99, .actionFlags = 16, }; diff --git a/src/world/common/enemy/complete/Bandit.inc.c b/src/world/common/enemy/complete/Bandit.inc.c index d2d1f3dc87..13713fe475 100644 --- a/src/world/common/enemy/complete/Bandit.inc.c +++ b/src/world/common/enemy/complete/Bandit.inc.c @@ -101,7 +101,7 @@ EvtScript N(EVS_NpcDefeat_Bandit) = { EVT_CALL(NpcMoveTo, NPC_SELF, LVar7, LVar9, 0) EVT_SET(HAS_COIN_FLAG, FALSE) EVT_CALL(DisablePlayerInput, FALSE) - EVT_CALL(SetEnemyFlagBits, NPC_SELF, ENEMY_FLAGS_10, 1) + EVT_CALL(SetEnemyFlagBits, NPC_SELF, ENEMY_FLAGS_FLED, 1) EVT_CALL(RemoveNpc, NPC_SELF) EVT_END_SWITCH EVT_RETURN diff --git a/src/world/common/enemy/complete/Lakitu_SpinySpawner.inc.c b/src/world/common/enemy/complete/Lakitu_SpinySpawner.inc.c index 180e10cfd1..fcac35d8e7 100644 --- a/src/world/common/enemy/complete/Lakitu_SpinySpawner.inc.c +++ b/src/world/common/enemy/complete/Lakitu_SpinySpawner.inc.c @@ -4,7 +4,7 @@ #include "world/common/enemy/ai/LakituAI.inc.c" f32 N(FlyingAI_JumpVels)[] = { - 4.5, 3.5, 2.6, 2.0, 1.5, 20.0, + 4.5, 3.5, 2.6, 2.0, 1.5, 20.0, }; MobileAISettings N(AISettings_Lakitu_SpinySpawner) = { @@ -76,7 +76,7 @@ EvtScript N(EVS_NpcDefeat_SpawnedSpiny) = { EVT_CASE_EQ(OUTCOME_PLAYER_FLED) EVT_CALL(OnPlayerFled, 0) EVT_CASE_EQ(OUTCOME_ENEMY_FLED) - EVT_CALL(SetEnemyFlagBits, NPC_SELF, ENEMY_FLAGS_10, 1) + EVT_CALL(SetEnemyFlagBits, NPC_SELF, ENEMY_FLAGS_FLED, 1) EVT_CALL(RemoveNpc, NPC_SELF) EVT_END_SWITCH EVT_RETURN diff --git a/src/world/common/enemy/complete/MontyMole_StoneThrower.inc.c b/src/world/common/enemy/complete/MontyMole_StoneThrower.inc.c index 08863652f1..97e4a5ec3d 100644 --- a/src/world/common/enemy/complete/MontyMole_StoneThrower.inc.c +++ b/src/world/common/enemy/complete/MontyMole_StoneThrower.inc.c @@ -16,7 +16,7 @@ EvtScript N(EVS_NpcDefeat_MontyMole_Stone) = { EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_CALL(OnPlayerFled, 1) EVT_CASE_EQ(OUTCOME_ENEMY_FLED) - EVT_CALL(SetEnemyFlagBits, NPC_SELF, ENEMY_FLAGS_10, 1) + EVT_CALL(SetEnemyFlagBits, NPC_SELF, ENEMY_FLAGS_FLED, 1) EVT_CALL(RemoveNpc, NPC_SELF) EVT_END_SWITCH EVT_RETURN @@ -125,7 +125,7 @@ NpcSettings N(NpcSettings_MontyMole_Stone) = { .settings = &N(NpcSettings_MontyMole_Stone), \ .pos = { NPC_DISPOSE_LOCATION }, \ .yaw = 90, \ - .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS, \ + .flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000, \ .drops = { \ .dropFlags = NPC_DROP_FLAGS_80, \ .heartDrops = NO_DROPS, \ diff --git a/src/world/common/enemy/complete/PiranhaPlant.h b/src/world/common/enemy/complete/PiranhaPlant.h index 88f4db50f7..ddb0be71c1 100644 --- a/src/world/common/enemy/complete/PiranhaPlant.h +++ b/src/world/common/enemy/complete/PiranhaPlant.h @@ -40,7 +40,7 @@ .settings = &N(NpcSettings_PiranhaPlant_Hitbox), \ .pos = { NPC_DISPOSE_LOCATION }, \ .yaw = 0, \ - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS, \ + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000, \ .drops = { \ .dropFlags = NPC_DROP_FLAGS_80, \ .heartDrops = NO_DROPS, \ diff --git a/src/world/common/enemy/complete/PiranhaPlant.inc.c b/src/world/common/enemy/complete/PiranhaPlant.inc.c index 85edbb20e8..bc63c882dd 100644 --- a/src/world/common/enemy/complete/PiranhaPlant.inc.c +++ b/src/world/common/enemy/complete/PiranhaPlant.inc.c @@ -11,7 +11,7 @@ EvtScript N(EVS_NpcDefeat_PiranhaPlant_Hitbox) = { EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_CALL(OnPlayerFled, 1) EVT_CASE_EQ(OUTCOME_ENEMY_FLED) - EVT_CALL(SetEnemyFlagBits, NPC_SELF, ENEMY_FLAGS_10, 1) + EVT_CALL(SetEnemyFlagBits, NPC_SELF, ENEMY_FLAGS_FLED, 1) EVT_CALL(RemoveNpc, NPC_SELF) EVT_END_SWITCH EVT_RETURN diff --git a/src/world/common/enemy/complete/PutridPiranha.h b/src/world/common/enemy/complete/PutridPiranha.h index 2b09ad1d91..f285fa0287 100644 --- a/src/world/common/enemy/complete/PutridPiranha.h +++ b/src/world/common/enemy/complete/PutridPiranha.h @@ -41,7 +41,7 @@ .settings = &N(NpcSettings_PutridPiranha_Hitbox), \ .pos = { NPC_DISPOSE_LOCATION }, \ .yaw = 0, \ - .flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS, \ + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000, \ .drops = { \ .dropFlags = NPC_DROP_FLAGS_80, \ .heartDrops = NO_DROPS, \ diff --git a/src/world/common/enemy/complete/PutridPiranha.inc.c b/src/world/common/enemy/complete/PutridPiranha.inc.c index 419303cdf6..61c78942c9 100644 --- a/src/world/common/enemy/complete/PutridPiranha.inc.c +++ b/src/world/common/enemy/complete/PutridPiranha.inc.c @@ -11,7 +11,7 @@ EvtScript N(EVS_NpcDefeat_PutridPiranha_Hitbox) = { EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_CALL(OnPlayerFled, 1) EVT_CASE_EQ(OUTCOME_ENEMY_FLED) - EVT_CALL(SetEnemyFlagBits, NPC_SELF, ENEMY_FLAGS_10, 1) + EVT_CALL(SetEnemyFlagBits, NPC_SELF, ENEMY_FLAGS_FLED, 1) EVT_CALL(RemoveNpc, NPC_SELF) EVT_END_SWITCH EVT_RETURN diff --git a/src/world/partner/watt.c b/src/world/partner/watt.c index 26435c8a3d..863930f057 100644 --- a/src/world/partner/watt.c +++ b/src/world/partner/watt.c @@ -3,6 +3,7 @@ #include "../src/world/partners.h" #include "npc.h" #include "sprite/npc/WorldWatt.h" +#include "sprite.h" void force_player_anim(AnimID); void func_802BE014_31DB84(void); @@ -509,7 +510,7 @@ void world_watt_sync_held_position(void) { if (gPartnerActionStatus.partnerActionState != PARTNER_ACTION_NONE) { spriteFacingAngle = gPlayerStatusPtr->spriteFacingAngle; if ((spriteFacingAngle < 90.0f) || (spriteFacingAngle > 270.0f)) { - if (!(gPlayerStatusPtr->trueAnimation & NPC_FLAG_1000000)) { + if (!(gPlayerStatusPtr->trueAnimation & SPRITE_ID_BACK_FACING)) { angleOffset = -5; offsetScale = 0.6f; } else { @@ -517,7 +518,7 @@ void world_watt_sync_held_position(void) { offsetScale = 0.6f; } } else { - if (!(gPlayerStatusPtr->trueAnimation & NPC_FLAG_1000000)) { + if (!(gPlayerStatusPtr->trueAnimation & SPRITE_ID_BACK_FACING)) { angleOffset = 5; offsetScale = 0.6f; } else { diff --git a/src/world/partners.c b/src/world/partners.c index 660dd091c0..451f5be38a 100644 --- a/src/world/partners.c +++ b/src/world/partners.c @@ -670,7 +670,7 @@ void _use_partner_ability(void) { disable_player_input(); sfx_play_sound(SOUND_D); kill_script_by_ID(wPartnerCurrentScriptID); - wPartnerCurrentScript = start_script(wPartner->putAway, EVT_PRIORITY_14, EVT_FLAG_20); + wPartnerCurrentScript = start_script(wPartner->putAway, EVT_PRIORITY_14, EVT_FLAG_RUN_IMMEDIATELY); wPartnerCurrentScript->owner2.npc = wPartnerNpc; wPartnerCurrentScriptID = wPartnerCurrentScript->id; wPartnerCurrentScript->groupFlags = EVT_GROUP_08 | EVT_GROUP_02; @@ -689,7 +689,7 @@ void _use_partner_ability(void) { wPartner->init(wPartnerNpc); D_8010CD34 += 1; case 2: - wPartnerCurrentScript = start_script(wPartner->takeOut, EVT_PRIORITY_14, EVT_FLAG_20); + wPartnerCurrentScript = start_script(wPartner->takeOut, EVT_PRIORITY_14, EVT_FLAG_RUN_IMMEDIATELY); wPartnerCurrentScript->owner2.npc = wPartnerNpc; wPartnerCurrentScriptID = wPartnerCurrentScript->id; wPartnerCurrentScript->groupFlags = EVT_GROUP_08 | EVT_GROUP_02; @@ -700,7 +700,7 @@ void _use_partner_ability(void) { if (does_script_exist(wPartnerCurrentScriptID)) { break; } - wPartnerCurrentScript = start_script(wPartner->update, EVT_PRIORITY_14, EVT_FLAG_20); + wPartnerCurrentScript = start_script(wPartner->update, EVT_PRIORITY_14, EVT_FLAG_RUN_IMMEDIATELY); wPartnerCurrentScript->owner2.npc = wPartnerNpc; wPartnerCurrentScriptID = wPartnerCurrentScript->id; wPartnerCurrentScript->groupFlags = EVT_GROUP_08 | EVT_GROUP_02; @@ -733,7 +733,7 @@ void _use_partner_ability(void) { D_8010CD34 += 1; break; case 3: - wPartnerCurrentScript = start_script(wPartner->update, EVT_PRIORITY_14, EVT_FLAG_20); + wPartnerCurrentScript = start_script(wPartner->update, EVT_PRIORITY_14, EVT_FLAG_RUN_IMMEDIATELY); wPartnerCurrentScript->owner2.npc = wPartnerNpc; wPartnerCurrentScriptID = wPartnerCurrentScript->id; wPartnerCurrentScript->groupFlags = EVT_GROUP_08 | EVT_GROUP_02; @@ -747,7 +747,7 @@ void _use_partner_ability(void) { disable_player_input(); sfx_play_sound(SOUND_D); kill_script_by_ID(wPartnerCurrentScriptID); - wPartnerCurrentScript = start_script(wPartner->putAway, EVT_PRIORITY_14, EVT_FLAG_20); + wPartnerCurrentScript = start_script(wPartner->putAway, EVT_PRIORITY_14, EVT_FLAG_RUN_IMMEDIATELY); wPartnerCurrentScript->owner2.npc = wPartnerNpc; wPartnerCurrentScriptID = wPartnerCurrentScript->id; wPartnerCurrentScript->groupFlags = EVT_GROUP_08 | EVT_GROUP_02; @@ -782,7 +782,7 @@ void _use_partner_ability(void) { wPartner->init(wPartnerNpc); D_8010CD34 += 1; case 1: - wPartnerCurrentScript = start_script(wPartner->takeOut, EVT_PRIORITY_14, EVT_FLAG_20); + wPartnerCurrentScript = start_script(wPartner->takeOut, EVT_PRIORITY_14, EVT_FLAG_RUN_IMMEDIATELY); wPartnerCurrentScript->owner2.npc = wPartnerNpc; wPartnerCurrentScriptID = wPartnerCurrentScript->id; wPartnerCurrentScript->groupFlags = EVT_GROUP_08 | EVT_GROUP_02; @@ -792,7 +792,7 @@ void _use_partner_ability(void) { if (does_script_exist(wPartnerCurrentScriptID)) { break; } - wPartnerCurrentScript = start_script(wPartner->update, EVT_PRIORITY_14, EVT_FLAG_20); + wPartnerCurrentScript = start_script(wPartner->update, EVT_PRIORITY_14, EVT_FLAG_RUN_IMMEDIATELY); wPartnerCurrentScript->owner2.npc = wPartnerNpc; wPartnerCurrentScriptID = wPartnerCurrentScript->id; wPartnerCurrentScript->groupFlags = EVT_GROUP_08 | EVT_GROUP_02; @@ -819,7 +819,7 @@ void _use_partner_ability(void) { D_8010CD34 += 1; break; case 1: - wPartnerCurrentScript = start_script(wPartner->update, EVT_PRIORITY_14, EVT_FLAG_20); + wPartnerCurrentScript = start_script(wPartner->update, EVT_PRIORITY_14, EVT_FLAG_RUN_IMMEDIATELY); wPartnerCurrentScript->owner2.npc = wPartnerNpc; wPartnerCurrentScriptID = wPartnerCurrentScript->id; wPartnerCurrentScript->groupFlags = EVT_GROUP_08 | EVT_GROUP_02; @@ -833,7 +833,7 @@ void _use_partner_ability(void) { switch (D_8010CD34) { case 0: kill_script_by_ID(wPartnerCurrentScriptID); - wPartnerCurrentScript = start_script(wPartner->useAbility, EVT_PRIORITY_14, EVT_FLAG_20); + wPartnerCurrentScript = start_script(wPartner->useAbility, EVT_PRIORITY_14, EVT_FLAG_RUN_IMMEDIATELY); wPartnerCurrentScript->owner2.npc = wPartnerNpc; wPartnerCurrentScriptID = wPartnerCurrentScript->id; wPartnerCurrentScript->groupFlags = EVT_GROUP_08 | EVT_GROUP_02; @@ -843,7 +843,7 @@ void _use_partner_ability(void) { if (does_script_exist(wPartnerCurrentScriptID)) { break; } - wPartnerCurrentScript = start_script(wPartner->update, EVT_PRIORITY_14, EVT_FLAG_20); + wPartnerCurrentScript = start_script(wPartner->update, EVT_PRIORITY_14, EVT_FLAG_RUN_IMMEDIATELY); wPartnerCurrentScript->owner2.npc = wPartnerNpc; wPartnerCurrentScriptID = wPartnerCurrentScript->id; wPartnerCurrentScript->groupFlags = EVT_GROUP_08 | EVT_GROUP_02; @@ -866,7 +866,7 @@ void _use_partner_ability(void) { wSavedPartnerPosX = playerStatus->position.x; wSavedPartnerPosY = playerStatus->position.y; wSavedPartnerPosZ = playerStatus->position.z; - wPartnerCurrentScript = start_script(wPartner->update, EVT_PRIORITY_14, EVT_FLAG_20); + wPartnerCurrentScript = start_script(wPartner->update, EVT_PRIORITY_14, EVT_FLAG_RUN_IMMEDIATELY); wPartnerCurrentScript->owner2.npc = wPartnerNpc; wPartnerCurrentScriptID = wPartnerCurrentScript->id; wPartnerCurrentScript->groupFlags = EVT_GROUP_08 | EVT_GROUP_02; @@ -1075,7 +1075,7 @@ void partner_handle_after_battle(void) { kill_script_by_ID(wPartnerCurrentScriptID); } - wPartnerCurrentScript = start_script(wPartner->update, EVT_PRIORITY_14, EVT_FLAG_20); + wPartnerCurrentScript = start_script(wPartner->update, EVT_PRIORITY_14, EVT_FLAG_RUN_IMMEDIATELY); wPartnerCurrentScript->owner2.npc = wPartnerNpc; wPartnerCurrentScriptID = wPartnerCurrentScript->id; wPartnerCurrentScript->groupFlags = EVT_GROUP_08 | EVT_GROUP_02; diff --git a/ver/us/asm/bss.s b/ver/us/asm/bss.s index 5f3eb9acf7..bf212951f3 100644 --- a/ver/us/asm/bss.s +++ b/ver/us/asm/bss.s @@ -31,7 +31,7 @@ dlabel __osBaseCounter dlabel gBGMPlayerC .space 4 -dlabel D_8009A5D0 +dlabel gEncounterSubState .space 4 dlabel CurrentSefCmdHandler @@ -67,7 +67,7 @@ dlabel nuGfxDisplay dlabel gBGMPlayerB .space 4 -dlabel gGameState +dlabel gEncounterState .space 4 dlabel gNpcCount @@ -145,7 +145,7 @@ dlabel __osFinalrom dlabel gBGMPlayerA .space 4 -dlabel D_8009A668 +dlabel gFirstStrikeMessagePos .space 4 dlabel gMasterGfxPos diff --git a/ver/us/asm/nonmatchings/1a1f0_len_5390/create_encounters.s b/ver/us/asm/nonmatchings/1a1f0_len_5390/create_encounters.s deleted file mode 100644 index f840390baa..0000000000 --- a/ver/us/asm/nonmatchings/1a1f0_len_5390/create_encounters.s +++ /dev/null @@ -1,749 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel create_encounters -/* 1EAB0 800436B0 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 1EAB4 800436B4 AFBE0058 */ sw $fp, 0x58($sp) -/* 1EAB8 800436B8 27BE0010 */ addiu $fp, $sp, 0x10 -/* 1EABC 800436BC 3C07800B */ lui $a3, %hi(gCurrentEncounter+0x24) -/* 1EAC0 800436C0 8CE70F34 */ lw $a3, %lo(gCurrentEncounter+0x24)($a3) -/* 1EAC4 800436C4 3C03800A */ lui $v1, %hi(D_8009A5D0) -/* 1EAC8 800436C8 8C63A5D0 */ lw $v1, %lo(D_8009A5D0)($v1) -/* 1EACC 800436CC 3C08800B */ lui $t0, %hi(gCurrentEncounter+0x20) -/* 1EAD0 800436D0 81080F30 */ lb $t0, %lo(gCurrentEncounter+0x20)($t0) -/* 1EAD4 800436D4 24040001 */ addiu $a0, $zero, 1 -/* 1EAD8 800436D8 AFBF005C */ sw $ra, 0x5c($sp) -/* 1EADC 800436DC AFB70054 */ sw $s7, 0x54($sp) -/* 1EAE0 800436E0 AFB60050 */ sw $s6, 0x50($sp) -/* 1EAE4 800436E4 AFB5004C */ sw $s5, 0x4c($sp) -/* 1EAE8 800436E8 AFB40048 */ sw $s4, 0x48($sp) -/* 1EAEC 800436EC AFB30044 */ sw $s3, 0x44($sp) -/* 1EAF0 800436F0 AFB20040 */ sw $s2, 0x40($sp) -/* 1EAF4 800436F4 AFB1003C */ sw $s1, 0x3c($sp) -/* 1EAF8 800436F8 AFB00038 */ sw $s0, 0x38($sp) -/* 1EAFC 800436FC AFA70020 */ sw $a3, 0x20($sp) -/* 1EB00 80043700 106401A5 */ beq $v1, $a0, .L80043D98 -/* 1EB04 80043704 AFA80028 */ sw $t0, 0x28($sp) -/* 1EB08 80043708 28620002 */ slti $v0, $v1, 2 -/* 1EB0C 8004370C 50400005 */ beql $v0, $zero, .L80043724 -/* 1EB10 80043710 24020002 */ addiu $v0, $zero, 2 -/* 1EB14 80043714 10600007 */ beqz $v1, .L80043734 -/* 1EB18 80043718 00000000 */ nop -/* 1EB1C 8004371C 08011044 */ j .L80044110 -/* 1EB20 80043720 00000000 */ nop -.L80043724: -/* 1EB24 80043724 106201EF */ beq $v1, $v0, .L80043EE4 -/* 1EB28 80043728 0000A82D */ daddu $s5, $zero, $zero -/* 1EB2C 8004372C 08011044 */ j .L80044110 -/* 1EB30 80043730 00000000 */ nop -.L80043734: -/* 1EB34 80043734 3C02800B */ lui $v0, %hi(gCurrentEncounter+0x21) -/* 1EB38 80043738 80420F31 */ lb $v0, %lo(gCurrentEncounter+0x21)($v0) -/* 1EB3C 8004373C 1044002A */ beq $v0, $a0, .L800437E8 -/* 1EB40 80043740 00000000 */ nop -/* 1EB44 80043744 0000982D */ daddu $s3, $zero, $zero -/* 1EB48 80043748 3C03800B */ lui $v1, %hi(gCurrentEncounter) -/* 1EB4C 8004374C 24630F10 */ addiu $v1, $v1, %lo(gCurrentEncounter) -.L80043750: -/* 1EB50 80043750 84620BF0 */ lh $v0, 0xbf0($v1) -/* 1EB54 80043754 8FA70028 */ lw $a3, 0x28($sp) -/* 1EB58 80043758 10470006 */ beq $v0, $a3, .L80043774 -/* 1EB5C 8004375C 2A620002 */ slti $v0, $s3, 2 -/* 1EB60 80043760 26730001 */ addiu $s3, $s3, 1 -/* 1EB64 80043764 2A620002 */ slti $v0, $s3, 2 -/* 1EB68 80043768 1440FFF9 */ bnez $v0, .L80043750 -/* 1EB6C 8004376C 24630002 */ addiu $v1, $v1, 2 -/* 1EB70 80043770 2A620002 */ slti $v0, $s3, 2 -.L80043774: -/* 1EB74 80043774 1440000F */ bnez $v0, .L800437B4 -/* 1EB78 80043778 0000982D */ daddu $s3, $zero, $zero -/* 1EB7C 8004377C 8FA80028 */ lw $t0, 0x28($sp) -/* 1EB80 80043780 0000182D */ daddu $v1, $zero, $zero -/* 1EB84 80043784 00081040 */ sll $v0, $t0, 1 -/* 1EB88 80043788 00481021 */ addu $v0, $v0, $t0 -/* 1EB8C 8004378C 00022100 */ sll $a0, $v0, 4 -/* 1EB90 80043790 3C07800B */ lui $a3, %hi(gCurrentEncounter) -/* 1EB94 80043794 24E70F10 */ addiu $a3, $a3, %lo(gCurrentEncounter) -.L80043798: -/* 1EB98 80043798 00E41021 */ addu $v0, $a3, $a0 -/* 1EB9C 8004379C AC4000B0 */ sw $zero, 0xb0($v0) -/* 1EBA0 800437A0 24630001 */ addiu $v1, $v1, 1 -/* 1EBA4 800437A4 2862000C */ slti $v0, $v1, 0xc -/* 1EBA8 800437A8 1440FFFB */ bnez $v0, .L80043798 -/* 1EBAC 800437AC 24840004 */ addiu $a0, $a0, 4 -/* 1EBB0 800437B0 0000982D */ daddu $s3, $zero, $zero -.L800437B4: -/* 1EBB4 800437B4 00131840 */ sll $v1, $s3, 1 -/* 1EBB8 800437B8 26620001 */ addiu $v0, $s3, 1 -/* 1EBBC 800437BC 0040982D */ daddu $s3, $v0, $zero -/* 1EBC0 800437C0 00131040 */ sll $v0, $s3, 1 -/* 1EBC4 800437C4 3C08800B */ lui $t0, %hi(gCurrentEncounter) -/* 1EBC8 800437C8 25080F10 */ addiu $t0, $t0, %lo(gCurrentEncounter) -/* 1EBCC 800437CC 01022021 */ addu $a0, $t0, $v0 -/* 1EBD0 800437D0 94820BF0 */ lhu $v0, 0xbf0($a0) -/* 1EBD4 800437D4 01031821 */ addu $v1, $t0, $v1 -/* 1EBD8 800437D8 1A60FFF6 */ blez $s3, .L800437B4 -/* 1EBDC 800437DC A4620BF0 */ sh $v0, 0xbf0($v1) -/* 1EBE0 800437E0 97A7002A */ lhu $a3, 0x2a($sp) -/* 1EBE4 800437E4 A4870BF0 */ sh $a3, 0xbf0($a0) -.L800437E8: -/* 1EBE8 800437E8 8FA80020 */ lw $t0, 0x20($sp) -/* 1EBEC 800437EC 0000B02D */ daddu $s6, $zero, $zero -/* 1EBF0 800437F0 AFA0002C */ sw $zero, 0x2c($sp) -/* 1EBF4 800437F4 2508000A */ addiu $t0, $t0, 0xa -/* 1EBF8 800437F8 AFA80034 */ sw $t0, 0x34($sp) -.L800437FC: -/* 1EBFC 800437FC 8FA70020 */ lw $a3, 0x20($sp) -/* 1EC00 80043800 8CE20000 */ lw $v0, ($a3) -/* 1EC04 80043804 1040015D */ beqz $v0, .L80043D7C -/* 1EC08 80043808 2404004C */ addiu $a0, $zero, 0x4c -/* 1EC0C 8004380C 8FA80034 */ lw $t0, 0x34($sp) -/* 1EC10 80043810 8D17FFFA */ lw $s7, -6($t0) -/* 1EC14 80043814 0C00AB39 */ jal heap_malloc -/* 1EC18 80043818 AFA20024 */ sw $v0, 0x24($sp) -/* 1EC1C 8004381C 0040A02D */ daddu $s4, $v0, $zero -/* 1EC20 80043820 00161080 */ sll $v0, $s6, 2 -/* 1EC24 80043824 3C07800B */ lui $a3, %hi(gCurrentEncounter) -/* 1EC28 80043828 24E70F10 */ addiu $a3, $a3, %lo(gCurrentEncounter) -/* 1EC2C 8004382C 00E21021 */ addu $v0, $a3, $v0 -/* 1EC30 80043830 16800003 */ bnez $s4, .L80043840 -/* 1EC34 80043834 AC540028 */ sw $s4, 0x28($v0) -.L80043838: -/* 1EC38 80043838 08010E0E */ j .L80043838 -/* 1EC3C 8004383C 00000000 */ nop -.L80043840: -/* 1EC40 80043840 8FA80024 */ lw $t0, 0x24($sp) -/* 1EC44 80043844 AE880000 */ sw $t0, ($s4) -/* 1EC48 80043848 8FA70034 */ lw $a3, 0x34($sp) -/* 1EC4C 8004384C 94E2FFFE */ lhu $v0, -2($a3) -/* 1EC50 80043850 A6820044 */ sh $v0, 0x44($s4) -/* 1EC54 80043854 94E20000 */ lhu $v0, ($a3) -/* 1EC58 80043858 97A8002E */ lhu $t0, 0x2e($sp) -/* 1EC5C 8004385C 2442FFFF */ addiu $v0, $v0, -1 -/* 1EC60 80043860 A6880048 */ sh $t0, 0x48($s4) -/* 1EC64 80043864 A6820046 */ sh $v0, 0x46($s4) -/* 1EC68 80043868 8FA70024 */ lw $a3, 0x24($sp) -/* 1EC6C 8004386C 18E00137 */ blez $a3, .L80043D4C -/* 1EC70 80043870 0000982D */ daddu $s3, $zero, $zero -/* 1EC74 80043874 AFB40030 */ sw $s4, 0x30($sp) -/* 1EC78 80043878 26F20024 */ addiu $s2, $s7, 0x24 -.L8004387C: -/* 1EC7C 8004387C 86850048 */ lh $a1, 0x48($s4) -/* 1EC80 80043880 8FA40028 */ lw $a0, 0x28($sp) -/* 1EC84 80043884 0C00FB7C */ jal get_defeated -/* 1EC88 80043888 00B32821 */ addu $a1, $a1, $s3 -/* 1EC8C 8004388C 10400006 */ beqz $v0, .L800438A8 -/* 1EC90 80043890 00000000 */ nop -/* 1EC94 80043894 265201F0 */ addiu $s2, $s2, 0x1f0 -/* 1EC98 80043898 8FA80030 */ lw $t0, 0x30($sp) -/* 1EC9C 8004389C 26F701F0 */ addiu $s7, $s7, 0x1f0 -/* 1ECA0 800438A0 08010F4C */ j .L80043D30 -/* 1ECA4 800438A4 AD000004 */ sw $zero, 4($t0) -.L800438A8: -/* 1ECA8 800438A8 0C00AB39 */ jal heap_malloc -/* 1ECAC 800438AC 240400E8 */ addiu $a0, $zero, 0xe8 -/* 1ECB0 800438B0 8FA70030 */ lw $a3, 0x30($sp) -/* 1ECB4 800438B4 0040802D */ daddu $s0, $v0, $zero -/* 1ECB8 800438B8 16000003 */ bnez $s0, .L800438C8 -/* 1ECBC 800438BC ACE20004 */ sw $v0, 4($a3) -.L800438C0: -/* 1ECC0 800438C0 08010E30 */ j .L800438C0 -/* 1ECC4 800438C4 00000000 */ nop -.L800438C8: -/* 1ECC8 800438C8 2403000F */ addiu $v1, $zero, 0xf -/* 1ECCC 800438CC 2602003C */ addiu $v0, $s0, 0x3c -.L800438D0: -/* 1ECD0 800438D0 AC40006C */ sw $zero, 0x6c($v0) -/* 1ECD4 800438D4 2463FFFF */ addiu $v1, $v1, -1 -/* 1ECD8 800438D8 0461FFFD */ bgez $v1, .L800438D0 -/* 1ECDC 800438DC 2442FFFC */ addiu $v0, $v0, -4 -/* 1ECE0 800438E0 A2160004 */ sb $s6, 4($s0) -/* 1ECE4 800438E4 9642FFDE */ lhu $v0, -0x22($s2) -/* 1ECE8 800438E8 A6020008 */ sh $v0, 8($s0) -/* 1ECEC 800438EC 8E44FFE0 */ lw $a0, -0x20($s2) -/* 1ECF0 800438F0 26E20028 */ addiu $v0, $s7, 0x28 -/* 1ECF4 800438F4 AE0200D4 */ sw $v0, 0xd4($s0) -/* 1ECF8 800438F8 34028000 */ ori $v0, $zero, 0x8000 -/* 1ECFC 800438FC AE040018 */ sw $a0, 0x18($s0) -/* 1ED00 80043900 86430004 */ lh $v1, 4($s2) -/* 1ED04 80043904 3063FF00 */ andi $v1, $v1, 0xff00 -/* 1ED08 80043908 10620004 */ beq $v1, $v0, .L8004391C -/* 1ED0C 8004390C 0080A82D */ daddu $s5, $a0, $zero -/* 1ED10 80043910 3C028007 */ lui $v0, %hi(D_80077EB8) -/* 1ED14 80043914 24427EB8 */ addiu $v0, $v0, %lo(D_80077EB8) -/* 1ED18 80043918 AE0200D4 */ sw $v0, 0xd4($s0) -.L8004391C: -/* 1ED1C 8004391C 3C02EFE8 */ lui $v0, 0xefe8 -/* 1ED20 80043920 A2000005 */ sb $zero, 5($s0) -/* 1ED24 80043924 8E43FFF4 */ lw $v1, -0xc($s2) -/* 1ED28 80043928 34422080 */ ori $v0, $v0, 0x2080 -/* 1ED2C 8004392C 0062102A */ slt $v0, $v1, $v0 -/* 1ED30 80043930 50400002 */ beql $v0, $zero, .L8004393C -/* 1ED34 80043934 AE00001C */ sw $zero, 0x1c($s0) -/* 1ED38 80043938 AE03001C */ sw $v1, 0x1c($s0) -.L8004393C: -/* 1ED3C 8004393C 8EA2000C */ lw $v0, 0xc($s5) -/* 1ED40 80043940 AE020020 */ sw $v0, 0x20($s0) -/* 1ED44 80043944 8EA20010 */ lw $v0, 0x10($s5) -/* 1ED48 80043948 AE020024 */ sw $v0, 0x24($s0) -/* 1ED4C 8004394C 8EA20014 */ lw $v0, 0x14($s5) -/* 1ED50 80043950 AE020028 */ sw $v0, 0x28($s0) -/* 1ED54 80043954 8EA20018 */ lw $v0, 0x18($s5) -/* 1ED58 80043958 AE02002C */ sw $v0, 0x2c($s0) -/* 1ED5C 8004395C 8EA2001C */ lw $v0, 0x1c($s5) -/* 1ED60 80043960 AE000034 */ sw $zero, 0x34($s0) -/* 1ED64 80043964 AE000038 */ sw $zero, 0x38($s0) -/* 1ED68 80043968 AE00003C */ sw $zero, 0x3c($s0) -/* 1ED6C 8004396C AE000040 */ sw $zero, 0x40($s0) -/* 1ED70 80043970 AE000044 */ sw $zero, 0x44($s0) -/* 1ED74 80043974 AE000048 */ sw $zero, 0x48($s0) -/* 1ED78 80043978 AE000050 */ sw $zero, 0x50($s0) -/* 1ED7C 8004397C AE000054 */ sw $zero, 0x54($s0) -/* 1ED80 80043980 AE000058 */ sw $zero, 0x58($s0) -/* 1ED84 80043984 AE00005C */ sw $zero, 0x5c($s0) -/* 1ED88 80043988 AE000060 */ sw $zero, 0x60($s0) -/* 1ED8C 8004398C A2000007 */ sb $zero, 7($s0) -/* 1ED90 80043990 A20000B5 */ sb $zero, 0xb5($s0) -/* 1ED94 80043994 AE020030 */ sw $v0, 0x30($s0) -/* 1ED98 80043998 924201BF */ lbu $v0, 0x1bf($s2) -/* 1ED9C 8004399C A20200AC */ sb $v0, 0xac($s0) -/* 1EDA0 800439A0 8E4201C0 */ lw $v0, 0x1c0($s2) -/* 1EDA4 800439A4 AE0000DC */ sw $zero, 0xdc($s0) -/* 1EDA8 800439A8 A20000B4 */ sb $zero, 0xb4($s0) -/* 1EDAC 800439AC AE0200B0 */ sw $v0, 0xb0($s0) -/* 1EDB0 800439B0 8EA20024 */ lw $v0, 0x24($s5) -/* 1EDB4 800439B4 AE0000BC */ sw $zero, 0xbc($s0) -/* 1EDB8 800439B8 AE0000C0 */ sw $zero, 0xc0($s0) -/* 1EDBC 800439BC AE0200B8 */ sw $v0, 0xb8($s0) -/* 1EDC0 800439C0 26E201A0 */ addiu $v0, $s7, 0x1a0 -/* 1EDC4 800439C4 AE0000C4 */ sw $zero, 0xc4($s0) -/* 1EDC8 800439C8 AE0200CC */ sw $v0, 0xcc($s0) -/* 1EDCC 800439CC 26E200E0 */ addiu $v0, $s7, 0xe0 -/* 1EDD0 800439D0 AE0200D0 */ sw $v0, 0xd0($s0) -/* 1EDD4 800439D4 8EA20020 */ lw $v0, 0x20($s5) -/* 1EDD8 800439D8 AE020000 */ sw $v0, ($s0) -/* 1EDDC 800439DC 8E43FFF0 */ lw $v1, -0x10($s2) -/* 1EDE0 800439E0 AE000064 */ sw $zero, 0x64($s0) -/* 1EDE4 800439E4 00431025 */ or $v0, $v0, $v1 -/* 1EDE8 800439E8 AE020000 */ sw $v0, ($s0) -/* 1EDEC 800439EC 8E4201C8 */ lw $v0, 0x1c8($s2) -/* 1EDF0 800439F0 AE0200D8 */ sw $v0, 0xd8($s0) -/* 1EDF4 800439F4 8E44FFF8 */ lw $a0, -8($s2) -/* 1EDF8 800439F8 10800012 */ beqz $a0, .L80043A44 -/* 1EDFC 800439FC 24020001 */ addiu $v0, $zero, 1 -/* 1EE00 80043A00 14820004 */ bne $a0, $v0, .L80043A14 -/* 1EE04 80043A04 00000000 */ nop -/* 1EE08 80043A08 8E42FFFC */ lw $v0, -4($s2) -/* 1EE0C 80043A0C 08010E91 */ j .L80043A44 -/* 1EE10 80043A10 AE02006C */ sw $v0, 0x6c($s0) -.L80043A14: -/* 1EE14 80043A14 8E45FFFC */ lw $a1, -4($s2) -/* 1EE18 80043A18 1880000A */ blez $a0, .L80043A44 -/* 1EE1C 80043A1C 0000182D */ daddu $v1, $zero, $zero -/* 1EE20 80043A20 0200202D */ daddu $a0, $s0, $zero -.L80043A24: -/* 1EE24 80043A24 8CA20000 */ lw $v0, ($a1) -/* 1EE28 80043A28 24A50004 */ addiu $a1, $a1, 4 -/* 1EE2C 80043A2C 24630001 */ addiu $v1, $v1, 1 -/* 1EE30 80043A30 AC82006C */ sw $v0, 0x6c($a0) -/* 1EE34 80043A34 8E42FFF8 */ lw $v0, -8($s2) -/* 1EE38 80043A38 0062102A */ slt $v0, $v1, $v0 -/* 1EE3C 80043A3C 1440FFF9 */ bnez $v0, .L80043A24 -/* 1EE40 80043A40 24840004 */ addiu $a0, $a0, 4 -.L80043A44: -/* 1EE44 80043A44 AFC00000 */ sw $zero, ($fp) -/* 1EE48 80043A48 8EA20000 */ lw $v0, ($s5) -/* 1EE4C 80043A4C 54400004 */ bnel $v0, $zero, .L80043A60 -/* 1EE50 80043A50 AFC20004 */ sw $v0, 4($fp) -/* 1EE54 80043A54 8E0200CC */ lw $v0, 0xcc($s0) -/* 1EE58 80043A58 8C420000 */ lw $v0, ($v0) -/* 1EE5C 80043A5C AFC20004 */ sw $v0, 4($fp) -.L80043A60: -/* 1EE60 80043A60 AFC00008 */ sw $zero, 8($fp) -/* 1EE64 80043A64 AFC0000C */ sw $zero, 0xc($fp) -/* 1EE68 80043A68 8E020000 */ lw $v0, ($s0) -/* 1EE6C 80043A6C 3C030002 */ lui $v1, 2 -/* 1EE70 80043A70 00431024 */ and $v0, $v0, $v1 -/* 1EE74 80043A74 14400006 */ bnez $v0, .L80043A90 -/* 1EE78 80043A78 00000000 */ nop -/* 1EE7C 80043A7C 8E4501C4 */ lw $a1, 0x1c4($s2) -/* 1EE80 80043A80 0C00E219 */ jal _create_npc_standard -/* 1EE84 80043A84 03C0202D */ daddu $a0, $fp, $zero -/* 1EE88 80043A88 08010EA6 */ j .L80043A98 -/* 1EE8C 80043A8C 00000000 */ nop -.L80043A90: -/* 1EE90 80043A90 0C00E220 */ jal _create_npc_partner -/* 1EE94 80043A94 03C0202D */ daddu $a0, $fp, $zero -.L80043A98: -/* 1EE98 80043A98 0C00E2B7 */ jal get_npc_by_index -/* 1EE9C 80043A9C 0040202D */ daddu $a0, $v0, $zero -/* 1EEA0 80043AA0 9243FFDF */ lbu $v1, -0x21($s2) -/* 1EEA4 80043AA4 0040882D */ daddu $s1, $v0, $zero -/* 1EEA8 80043AA8 A22300A4 */ sb $v1, 0xa4($s1) -/* 1EEAC 80043AAC 96A20006 */ lhu $v0, 6($s5) -/* 1EEB0 80043AB0 A62200A6 */ sh $v0, 0xa6($s1) -/* 1EEB4 80043AB4 96A20004 */ lhu $v0, 4($s5) -/* 1EEB8 80043AB8 A62200A8 */ sh $v0, 0xa8($s1) -/* 1EEBC 80043ABC C640FFE4 */ lwc1 $f0, -0x1c($s2) -/* 1EEC0 80043AC0 4600010D */ trunc.w.s $f4, $f0 -/* 1EEC4 80043AC4 44022000 */ mfc1 $v0, $f4 -/* 1EEC8 80043AC8 E6200038 */ swc1 $f0, 0x38($s1) -/* 1EECC 80043ACC A602000A */ sh $v0, 0xa($s0) -/* 1EED0 80043AD0 C640FFE8 */ lwc1 $f0, -0x18($s2) -/* 1EED4 80043AD4 4600010D */ trunc.w.s $f4, $f0 -/* 1EED8 80043AD8 44022000 */ mfc1 $v0, $f4 -/* 1EEDC 80043ADC E620003C */ swc1 $f0, 0x3c($s1) -/* 1EEE0 80043AE0 A602000C */ sh $v0, 0xc($s0) -/* 1EEE4 80043AE4 C640FFEC */ lwc1 $f0, -0x14($s2) -/* 1EEE8 80043AE8 4600010D */ trunc.w.s $f4, $f0 -/* 1EEEC 80043AEC 44022000 */ mfc1 $v0, $f4 -/* 1EEF0 80043AF0 E6200040 */ swc1 $f0, 0x40($s1) -/* 1EEF4 80043AF4 A602000E */ sh $v0, 0xe($s0) -/* 1EEF8 80043AF8 C6200038 */ lwc1 $f0, 0x38($s1) -/* 1EEFC 80043AFC C6220040 */ lwc1 $f2, 0x40($s1) -/* 1EF00 80043B00 4600010D */ trunc.w.s $f4, $f0 -/* 1EF04 80043B04 44022000 */ mfc1 $v0, $f4 -/* 1EF08 80043B08 C620003C */ lwc1 $f0, 0x3c($s1) -/* 1EF0C 80043B0C A6200096 */ sh $zero, 0x96($s1) -/* 1EF10 80043B10 AE200010 */ sw $zero, 0x10($s1) -/* 1EF14 80043B14 A6220090 */ sh $v0, 0x90($s1) -/* 1EF18 80043B18 4600010D */ trunc.w.s $f4, $f0 -/* 1EF1C 80043B1C 44022000 */ mfc1 $v0, $f4 -/* 1EF20 80043B20 00000000 */ nop -/* 1EF24 80043B24 A6220092 */ sh $v0, 0x92($s1) -/* 1EF28 80043B28 4600110D */ trunc.w.s $f4, $f2 -/* 1EF2C 80043B2C 44022000 */ mfc1 $v0, $f4 -/* 1EF30 80043B30 00000000 */ nop -/* 1EF34 80043B34 A6220094 */ sh $v0, 0x94($s1) -/* 1EF38 80043B38 C6440000 */ lwc1 $f4, ($s2) -/* 1EF3C 80043B3C 46802120 */ cvt.s.w $f4, $f4 -/* 1EF40 80043B40 44052000 */ mfc1 $a1, $f4 -/* 1EF44 80043B44 0C00ECD0 */ jal set_npc_yaw -/* 1EF48 80043B48 0220202D */ daddu $a0, $s1, $zero -/* 1EF4C 80043B4C 24023039 */ addiu $v0, $zero, 0x3039 -/* 1EF50 80043B50 A60200E0 */ sh $v0, 0xe0($s0) -/* 1EF54 80043B54 862200A6 */ lh $v0, 0xa6($s1) -/* 1EF58 80043B58 3C014038 */ lui $at, 0x4038 -/* 1EF5C 80043B5C 44811800 */ mtc1 $at, $f3 -/* 1EF60 80043B60 44801000 */ mtc1 $zero, $f2 -/* 1EF64 80043B64 44820000 */ mtc1 $v0, $f0 -/* 1EF68 80043B68 00000000 */ nop -/* 1EF6C 80043B6C 46800021 */ cvt.d.w $f0, $f0 -/* 1EF70 80043B70 4620103E */ c.le.d $f2, $f0 -/* 1EF74 80043B74 00000000 */ nop -/* 1EF78 80043B78 45000004 */ bc1f .L80043B8C -/* 1EF7C 80043B7C 00000000 */ nop -/* 1EF80 80043B80 46220003 */ div.d $f0, $f0, $f2 -/* 1EF84 80043B84 08010EE6 */ j .L80043B98 -/* 1EF88 80043B88 46200020 */ cvt.s.d $f0, $f0 -.L80043B8C: -/* 1EF8C 80043B8C 3C013F80 */ lui $at, 0x3f80 -/* 1EF90 80043B90 44810000 */ mtc1 $at, $f0 -/* 1EF94 80043B94 00000000 */ nop -.L80043B98: -/* 1EF98 80043B98 E620007C */ swc1 $f0, 0x7c($s1) -/* 1EF9C 80043B9C 8E020000 */ lw $v0, ($s0) -/* 1EFA0 80043BA0 30420100 */ andi $v0, $v0, 0x100 -/* 1EFA4 80043BA4 10400004 */ beqz $v0, .L80043BB8 -/* 1EFA8 80043BA8 00000000 */ nop -/* 1EFAC 80043BAC 8E220000 */ lw $v0, ($s1) -/* 1EFB0 80043BB0 34420040 */ ori $v0, $v0, 0x40 -/* 1EFB4 80043BB4 AE220000 */ sw $v0, ($s1) -.L80043BB8: -/* 1EFB8 80043BB8 8E020000 */ lw $v0, ($s0) -/* 1EFBC 80043BBC 30420200 */ andi $v0, $v0, 0x200 -/* 1EFC0 80043BC0 10400004 */ beqz $v0, .L80043BD4 -/* 1EFC4 80043BC4 00000000 */ nop -/* 1EFC8 80043BC8 8E220000 */ lw $v0, ($s1) -/* 1EFCC 80043BCC 34420100 */ ori $v0, $v0, 0x100 -/* 1EFD0 80043BD0 AE220000 */ sw $v0, ($s1) -.L80043BD4: -/* 1EFD4 80043BD4 8E020000 */ lw $v0, ($s0) -/* 1EFD8 80043BD8 30420400 */ andi $v0, $v0, 0x400 -/* 1EFDC 80043BDC 10400004 */ beqz $v0, .L80043BF0 -/* 1EFE0 80043BE0 00000000 */ nop -/* 1EFE4 80043BE4 8E220000 */ lw $v0, ($s1) -/* 1EFE8 80043BE8 34428000 */ ori $v0, $v0, 0x8000 -/* 1EFEC 80043BEC AE220000 */ sw $v0, ($s1) -.L80043BF0: -/* 1EFF0 80043BF0 8E020000 */ lw $v0, ($s0) -/* 1EFF4 80043BF4 30420800 */ andi $v0, $v0, 0x800 -/* 1EFF8 80043BF8 10400004 */ beqz $v0, .L80043C0C -/* 1EFFC 80043BFC 00000000 */ nop -/* 1F000 80043C00 8E220000 */ lw $v0, ($s1) -/* 1F004 80043C04 34420008 */ ori $v0, $v0, 8 -/* 1F008 80043C08 AE220000 */ sw $v0, ($s1) -.L80043C0C: -/* 1F00C 80043C0C 8E020000 */ lw $v0, ($s0) -/* 1F010 80043C10 30421000 */ andi $v0, $v0, 0x1000 -/* 1F014 80043C14 10400004 */ beqz $v0, .L80043C28 -/* 1F018 80043C18 00000000 */ nop -/* 1F01C 80043C1C 8E220000 */ lw $v0, ($s1) -/* 1F020 80043C20 34420200 */ ori $v0, $v0, 0x200 -/* 1F024 80043C24 AE220000 */ sw $v0, ($s1) -.L80043C28: -/* 1F028 80043C28 8E020000 */ lw $v0, ($s0) -/* 1F02C 80043C2C 30420001 */ andi $v0, $v0, 1 -/* 1F030 80043C30 14400004 */ bnez $v0, .L80043C44 -/* 1F034 80043C34 00000000 */ nop -/* 1F038 80043C38 8E220000 */ lw $v0, ($s1) -/* 1F03C 80043C3C 34420100 */ ori $v0, $v0, 0x100 -/* 1F040 80043C40 AE220000 */ sw $v0, ($s1) -.L80043C44: -/* 1F044 80043C44 8E020000 */ lw $v0, ($s0) -/* 1F048 80043C48 30424000 */ andi $v0, $v0, 0x4000 -/* 1F04C 80043C4C 10400004 */ beqz $v0, .L80043C60 -/* 1F050 80043C50 3C030100 */ lui $v1, 0x100 -/* 1F054 80043C54 8E220000 */ lw $v0, ($s1) -/* 1F058 80043C58 00431025 */ or $v0, $v0, $v1 -/* 1F05C 80043C5C AE220000 */ sw $v0, ($s1) -.L80043C60: -/* 1F060 80043C60 8E020000 */ lw $v0, ($s0) -/* 1F064 80043C64 30422000 */ andi $v0, $v0, 0x2000 -/* 1F068 80043C68 10400004 */ beqz $v0, .L80043C7C -/* 1F06C 80043C6C 00000000 */ nop -/* 1F070 80043C70 8E220000 */ lw $v0, ($s1) -/* 1F074 80043C74 34420020 */ ori $v0, $v0, 0x20 -/* 1F078 80043C78 AE220000 */ sw $v0, ($s1) -.L80043C7C: -/* 1F07C 80043C7C 8E020000 */ lw $v0, ($s0) -/* 1F080 80043C80 30428000 */ andi $v0, $v0, 0x8000 -/* 1F084 80043C84 10400004 */ beqz $v0, .L80043C98 -/* 1F088 80043C88 3C031000 */ lui $v1, 0x1000 -/* 1F08C 80043C8C 8E220000 */ lw $v0, ($s1) -/* 1F090 80043C90 00431025 */ or $v0, $v0, $v1 -/* 1F094 80043C94 AE220000 */ sw $v0, ($s1) -.L80043C98: -/* 1F098 80043C98 8E020000 */ lw $v0, ($s0) -/* 1F09C 80043C9C 3C030001 */ lui $v1, 1 -/* 1F0A0 80043CA0 00431024 */ and $v0, $v0, $v1 -/* 1F0A4 80043CA4 10400004 */ beqz $v0, .L80043CB8 -/* 1F0A8 80043CA8 3C032000 */ lui $v1, 0x2000 -/* 1F0AC 80043CAC 8E220000 */ lw $v0, ($s1) -/* 1F0B0 80043CB0 00431025 */ or $v0, $v0, $v1 -/* 1F0B4 80043CB4 AE220000 */ sw $v0, ($s1) -.L80043CB8: -/* 1F0B8 80043CB8 8E020000 */ lw $v0, ($s0) -/* 1F0BC 80043CBC 30420080 */ andi $v0, $v0, 0x80 -/* 1F0C0 80043CC0 10400004 */ beqz $v0, .L80043CD4 -/* 1F0C4 80043CC4 00000000 */ nop -/* 1F0C8 80043CC8 8E220000 */ lw $v0, ($s1) -/* 1F0CC 80043CCC 34420400 */ ori $v0, $v0, 0x400 -/* 1F0D0 80043CD0 AE220000 */ sw $v0, ($s1) -.L80043CD4: -/* 1F0D4 80043CD4 8E030000 */ lw $v1, ($s0) -/* 1F0D8 80043CD8 2402000B */ addiu $v0, $zero, 0xb -/* 1F0DC 80043CDC 30630001 */ andi $v1, $v1, 1 -/* 1F0E0 80043CE0 10600003 */ beqz $v1, .L80043CF0 -/* 1F0E4 80043CE4 A2020006 */ sb $v0, 6($s0) -/* 1F0E8 80043CE8 2402000A */ addiu $v0, $zero, 0xa -/* 1F0EC 80043CEC A2020006 */ sb $v0, 6($s0) -.L80043CF0: -/* 1F0F0 80043CF0 8EA40008 */ lw $a0, 8($s5) -/* 1F0F4 80043CF4 1080000C */ beqz $a0, .L80043D28 -/* 1F0F8 80043CF8 2405000A */ addiu $a1, $zero, 0xa -/* 1F0FC 80043CFC 0C0B0CF8 */ jal start_script -/* 1F100 80043D00 0000302D */ daddu $a2, $zero, $zero -/* 1F104 80043D04 0040182D */ daddu $v1, $v0, $zero -/* 1F108 80043D08 AE03003C */ sw $v1, 0x3c($s0) -/* 1F10C 80043D0C 8C620144 */ lw $v0, 0x144($v1) -/* 1F110 80043D10 AE020054 */ sw $v0, 0x54($s0) -/* 1F114 80043D14 AC700148 */ sw $s0, 0x148($v1) -/* 1F118 80043D18 86020008 */ lh $v0, 8($s0) -/* 1F11C 80043D1C AC62014C */ sw $v0, 0x14c($v1) -/* 1F120 80043D20 92020006 */ lbu $v0, 6($s0) -/* 1F124 80043D24 A0620004 */ sb $v0, 4($v1) -.L80043D28: -/* 1F128 80043D28 265201F0 */ addiu $s2, $s2, 0x1f0 -/* 1F12C 80043D2C 26F701F0 */ addiu $s7, $s7, 0x1f0 -.L80043D30: -/* 1F130 80043D30 26730001 */ addiu $s3, $s3, 1 -/* 1F134 80043D34 8FA70030 */ lw $a3, 0x30($sp) -/* 1F138 80043D38 8FA80024 */ lw $t0, 0x24($sp) -/* 1F13C 80043D3C 24E70004 */ addiu $a3, $a3, 4 -/* 1F140 80043D40 0268102A */ slt $v0, $s3, $t0 -/* 1F144 80043D44 1440FECD */ bnez $v0, .L8004387C -/* 1F148 80043D48 AFA70030 */ sw $a3, 0x30($sp) -.L80043D4C: -/* 1F14C 80043D4C 8FA70034 */ lw $a3, 0x34($sp) -/* 1F150 80043D50 8FA80020 */ lw $t0, 0x20($sp) -/* 1F154 80043D54 24E7000C */ addiu $a3, $a3, 0xc -/* 1F158 80043D58 AFA70034 */ sw $a3, 0x34($sp) -/* 1F15C 80043D5C 8FA7002C */ lw $a3, 0x2c($sp) -/* 1F160 80043D60 2508000C */ addiu $t0, $t0, 0xc -/* 1F164 80043D64 AFA80020 */ sw $t0, 0x20($sp) -/* 1F168 80043D68 8FA80024 */ lw $t0, 0x24($sp) -/* 1F16C 80043D6C 26D60001 */ addiu $s6, $s6, 1 -/* 1F170 80043D70 00E83821 */ addu $a3, $a3, $t0 -/* 1F174 80043D74 08010DFF */ j .L800437FC -/* 1F178 80043D78 AFA7002C */ sw $a3, 0x2c($sp) -.L80043D7C: -/* 1F17C 80043D7C 24020001 */ addiu $v0, $zero, 1 -/* 1F180 80043D80 3C01800B */ lui $at, %hi(gCurrentEncounter+0x1C) -/* 1F184 80043D84 A0360F2C */ sb $s6, %lo(gCurrentEncounter+0x1C)($at) -/* 1F188 80043D88 3C01800A */ lui $at, %hi(D_8009A5D0) -/* 1F18C 80043D8C AC22A5D0 */ sw $v0, %lo(D_8009A5D0)($at) -/* 1F190 80043D90 08011044 */ j .L80044110 -/* 1F194 80043D94 00000000 */ nop -.L80043D98: -/* 1F198 80043D98 0000A82D */ daddu $s5, $zero, $zero -/* 1F19C 80043D9C 3C02800B */ lui $v0, %hi(gCurrentEncounter+0x1C) -/* 1F1A0 80043DA0 80420F2C */ lb $v0, %lo(gCurrentEncounter+0x1C)($v0) -/* 1F1A4 80043DA4 1840001F */ blez $v0, .L80043E24 -/* 1F1A8 80043DA8 02A0B02D */ daddu $s6, $s5, $zero -/* 1F1AC 80043DAC 3C12800B */ lui $s2, %hi(gCurrentEncounter) -/* 1F1B0 80043DB0 26520F10 */ addiu $s2, $s2, %lo(gCurrentEncounter) -.L80043DB4: -/* 1F1B4 80043DB4 8E540028 */ lw $s4, 0x28($s2) -/* 1F1B8 80043DB8 12800014 */ beqz $s4, .L80043E0C -/* 1F1BC 80043DBC 00000000 */ nop -/* 1F1C0 80043DC0 8E820000 */ lw $v0, ($s4) -/* 1F1C4 80043DC4 18400011 */ blez $v0, .L80043E0C -/* 1F1C8 80043DC8 0000982D */ daddu $s3, $zero, $zero -/* 1F1CC 80043DCC 0280882D */ daddu $s1, $s4, $zero -.L80043DD0: -/* 1F1D0 80043DD0 8E300004 */ lw $s0, 4($s1) -/* 1F1D4 80043DD4 12000008 */ beqz $s0, .L80043DF8 -/* 1F1D8 80043DD8 00000000 */ nop -/* 1F1DC 80043DDC 8E02003C */ lw $v0, 0x3c($s0) -/* 1F1E0 80043DE0 10400005 */ beqz $v0, .L80043DF8 -/* 1F1E4 80043DE4 00000000 */ nop -/* 1F1E8 80043DE8 0C0B1059 */ jal does_script_exist -/* 1F1EC 80043DEC 8E040054 */ lw $a0, 0x54($s0) -/* 1F1F0 80043DF0 54400001 */ bnel $v0, $zero, .L80043DF8 -/* 1F1F4 80043DF4 24150001 */ addiu $s5, $zero, 1 -.L80043DF8: -/* 1F1F8 80043DF8 8E820000 */ lw $v0, ($s4) -/* 1F1FC 80043DFC 26730001 */ addiu $s3, $s3, 1 -/* 1F200 80043E00 0262102A */ slt $v0, $s3, $v0 -/* 1F204 80043E04 1440FFF2 */ bnez $v0, .L80043DD0 -/* 1F208 80043E08 26310004 */ addiu $s1, $s1, 4 -.L80043E0C: -/* 1F20C 80043E0C 3C02800B */ lui $v0, %hi(gCurrentEncounter+0x1C) -/* 1F210 80043E10 80420F2C */ lb $v0, %lo(gCurrentEncounter+0x1C)($v0) -/* 1F214 80043E14 26D60001 */ addiu $s6, $s6, 1 -/* 1F218 80043E18 02C2102A */ slt $v0, $s6, $v0 -/* 1F21C 80043E1C 1440FFE5 */ bnez $v0, .L80043DB4 -/* 1F220 80043E20 26520004 */ addiu $s2, $s2, 4 -.L80043E24: -/* 1F224 80043E24 16A000BA */ bnez $s5, .L80044110 -/* 1F228 80043E28 00000000 */ nop -/* 1F22C 80043E2C 3C02800B */ lui $v0, %hi(gCurrentEncounter+0x1C) -/* 1F230 80043E30 80420F2C */ lb $v0, %lo(gCurrentEncounter+0x1C)($v0) -/* 1F234 80043E34 18400026 */ blez $v0, .L80043ED0 -/* 1F238 80043E38 0000B02D */ daddu $s6, $zero, $zero -/* 1F23C 80043E3C 3C12800B */ lui $s2, %hi(gCurrentEncounter) -/* 1F240 80043E40 26520F10 */ addiu $s2, $s2, %lo(gCurrentEncounter) -.L80043E44: -/* 1F244 80043E44 8E540028 */ lw $s4, 0x28($s2) -/* 1F248 80043E48 1280001B */ beqz $s4, .L80043EB8 -/* 1F24C 80043E4C 00000000 */ nop -/* 1F250 80043E50 8E820000 */ lw $v0, ($s4) -/* 1F254 80043E54 18400018 */ blez $v0, .L80043EB8 -/* 1F258 80043E58 0000982D */ daddu $s3, $zero, $zero -/* 1F25C 80043E5C 0280882D */ daddu $s1, $s4, $zero -.L80043E60: -/* 1F260 80043E60 8E300004 */ lw $s0, 4($s1) -/* 1F264 80043E64 1200000F */ beqz $s0, .L80043EA4 -/* 1F268 80043E68 00000000 */ nop -/* 1F26C 80043E6C 8E04001C */ lw $a0, 0x1c($s0) -/* 1F270 80043E70 1080000C */ beqz $a0, .L80043EA4 -/* 1F274 80043E74 2405000A */ addiu $a1, $zero, 0xa -/* 1F278 80043E78 0C0B0CF8 */ jal start_script -/* 1F27C 80043E7C 0000302D */ daddu $a2, $zero, $zero -/* 1F280 80043E80 0040182D */ daddu $v1, $v0, $zero -/* 1F284 80043E84 AE030034 */ sw $v1, 0x34($s0) -/* 1F288 80043E88 8C620144 */ lw $v0, 0x144($v1) -/* 1F28C 80043E8C AE02004C */ sw $v0, 0x4c($s0) -/* 1F290 80043E90 AC700148 */ sw $s0, 0x148($v1) -/* 1F294 80043E94 86020008 */ lh $v0, 8($s0) -/* 1F298 80043E98 AC62014C */ sw $v0, 0x14c($v1) -/* 1F29C 80043E9C 92020006 */ lbu $v0, 6($s0) -/* 1F2A0 80043EA0 A0620004 */ sb $v0, 4($v1) -.L80043EA4: -/* 1F2A4 80043EA4 8E820000 */ lw $v0, ($s4) -/* 1F2A8 80043EA8 26730001 */ addiu $s3, $s3, 1 -/* 1F2AC 80043EAC 0262102A */ slt $v0, $s3, $v0 -/* 1F2B0 80043EB0 1440FFEB */ bnez $v0, .L80043E60 -/* 1F2B4 80043EB4 26310004 */ addiu $s1, $s1, 4 -.L80043EB8: -/* 1F2B8 80043EB8 3C02800B */ lui $v0, %hi(gCurrentEncounter+0x1C) -/* 1F2BC 80043EBC 80420F2C */ lb $v0, %lo(gCurrentEncounter+0x1C)($v0) -/* 1F2C0 80043EC0 26D60001 */ addiu $s6, $s6, 1 -/* 1F2C4 80043EC4 02C2102A */ slt $v0, $s6, $v0 -/* 1F2C8 80043EC8 1440FFDE */ bnez $v0, .L80043E44 -/* 1F2CC 80043ECC 26520004 */ addiu $s2, $s2, 4 -.L80043ED0: -/* 1F2D0 80043ED0 24020002 */ addiu $v0, $zero, 2 -/* 1F2D4 80043ED4 3C01800A */ lui $at, %hi(D_8009A5D0) -/* 1F2D8 80043ED8 AC22A5D0 */ sw $v0, %lo(D_8009A5D0)($at) -/* 1F2DC 80043EDC 08011044 */ j .L80044110 -/* 1F2E0 80043EE0 00000000 */ nop -.L80043EE4: -/* 1F2E4 80043EE4 3C02800B */ lui $v0, %hi(gCurrentEncounter+0x1C) -/* 1F2E8 80043EE8 80420F2C */ lb $v0, %lo(gCurrentEncounter+0x1C)($v0) -/* 1F2EC 80043EEC 18400020 */ blez $v0, .L80043F70 -/* 1F2F0 80043EF0 02A0B02D */ daddu $s6, $s5, $zero -/* 1F2F4 80043EF4 3C12800B */ lui $s2, %hi(gCurrentEncounter) -/* 1F2F8 80043EF8 26520F10 */ addiu $s2, $s2, %lo(gCurrentEncounter) -.L80043EFC: -/* 1F2FC 80043EFC 8E540028 */ lw $s4, 0x28($s2) -/* 1F300 80043F00 12800015 */ beqz $s4, .L80043F58 -/* 1F304 80043F04 00000000 */ nop -/* 1F308 80043F08 8E820000 */ lw $v0, ($s4) -/* 1F30C 80043F0C 18400012 */ blez $v0, .L80043F58 -/* 1F310 80043F10 0000982D */ daddu $s3, $zero, $zero -/* 1F314 80043F14 0280882D */ daddu $s1, $s4, $zero -.L80043F18: -/* 1F318 80043F18 8E300004 */ lw $s0, 4($s1) -/* 1F31C 80043F1C 12000009 */ beqz $s0, .L80043F44 -/* 1F320 80043F20 00000000 */ nop -/* 1F324 80043F24 8E020034 */ lw $v0, 0x34($s0) -/* 1F328 80043F28 10400006 */ beqz $v0, .L80043F44 -/* 1F32C 80043F2C 00000000 */ nop -/* 1F330 80043F30 0C0B1059 */ jal does_script_exist -/* 1F334 80043F34 8E04004C */ lw $a0, 0x4c($s0) -/* 1F338 80043F38 50400002 */ beql $v0, $zero, .L80043F44 -/* 1F33C 80043F3C AE000034 */ sw $zero, 0x34($s0) -/* 1F340 80043F40 24150001 */ addiu $s5, $zero, 1 -.L80043F44: -/* 1F344 80043F44 8E820000 */ lw $v0, ($s4) -/* 1F348 80043F48 26730001 */ addiu $s3, $s3, 1 -/* 1F34C 80043F4C 0262102A */ slt $v0, $s3, $v0 -/* 1F350 80043F50 1440FFF1 */ bnez $v0, .L80043F18 -/* 1F354 80043F54 26310004 */ addiu $s1, $s1, 4 -.L80043F58: -/* 1F358 80043F58 3C02800B */ lui $v0, %hi(gCurrentEncounter+0x1C) -/* 1F35C 80043F5C 80420F2C */ lb $v0, %lo(gCurrentEncounter+0x1C)($v0) -/* 1F360 80043F60 26D60001 */ addiu $s6, $s6, 1 -/* 1F364 80043F64 02C2102A */ slt $v0, $s6, $v0 -/* 1F368 80043F68 1440FFE4 */ bnez $v0, .L80043EFC -/* 1F36C 80043F6C 26520004 */ addiu $s2, $s2, 4 -.L80043F70: -/* 1F370 80043F70 16A00067 */ bnez $s5, .L80044110 -/* 1F374 80043F74 00000000 */ nop -/* 1F378 80043F78 3C02800B */ lui $v0, %hi(gCurrentEncounter+0x1C) -/* 1F37C 80043F7C 80420F2C */ lb $v0, %lo(gCurrentEncounter+0x1C)($v0) -/* 1F380 80043F80 1840002E */ blez $v0, .L8004403C -/* 1F384 80043F84 0000B02D */ daddu $s6, $zero, $zero -/* 1F388 80043F88 24150064 */ addiu $s5, $zero, 0x64 -/* 1F38C 80043F8C 3C12800B */ lui $s2, %hi(gCurrentEncounter) -/* 1F390 80043F90 26520F10 */ addiu $s2, $s2, %lo(gCurrentEncounter) -.L80043F94: -/* 1F394 80043F94 8E540028 */ lw $s4, 0x28($s2) -/* 1F398 80043F98 12800020 */ beqz $s4, .L8004401C -/* 1F39C 80043F9C 00000000 */ nop -/* 1F3A0 80043FA0 8E820000 */ lw $v0, ($s4) -/* 1F3A4 80043FA4 1840001D */ blez $v0, .L8004401C -/* 1F3A8 80043FA8 0000982D */ daddu $s3, $zero, $zero -/* 1F3AC 80043FAC 0280882D */ daddu $s1, $s4, $zero -.L80043FB0: -/* 1F3B0 80043FB0 8E300004 */ lw $s0, 4($s1) -/* 1F3B4 80043FB4 12000014 */ beqz $s0, .L80044008 -/* 1F3B8 80043FB8 00000000 */ nop -/* 1F3BC 80043FBC 8E020000 */ lw $v0, ($s0) -/* 1F3C0 80043FC0 30420020 */ andi $v0, $v0, 0x20 -/* 1F3C4 80043FC4 14400010 */ bnez $v0, .L80044008 -/* 1F3C8 80043FC8 00000000 */ nop -/* 1F3CC 80043FCC 8E040024 */ lw $a0, 0x24($s0) -/* 1F3D0 80043FD0 1080000D */ beqz $a0, .L80044008 -/* 1F3D4 80043FD4 2405000A */ addiu $a1, $zero, 0xa -/* 1F3D8 80043FD8 0C0B0CF8 */ jal start_script -/* 1F3DC 80043FDC 0000302D */ daddu $a2, $zero, $zero -/* 1F3E0 80043FE0 0040182D */ daddu $v1, $v0, $zero -/* 1F3E4 80043FE4 AE03003C */ sw $v1, 0x3c($s0) -/* 1F3E8 80043FE8 8C620144 */ lw $v0, 0x144($v1) -/* 1F3EC 80043FEC AE1500C8 */ sw $s5, 0xc8($s0) -/* 1F3F0 80043FF0 AE020054 */ sw $v0, 0x54($s0) -/* 1F3F4 80043FF4 AC700148 */ sw $s0, 0x148($v1) -/* 1F3F8 80043FF8 86020008 */ lh $v0, 8($s0) -/* 1F3FC 80043FFC AC62014C */ sw $v0, 0x14c($v1) -/* 1F400 80044000 92020006 */ lbu $v0, 6($s0) -/* 1F404 80044004 A0620004 */ sb $v0, 4($v1) -.L80044008: -/* 1F408 80044008 8E820000 */ lw $v0, ($s4) -/* 1F40C 8004400C 26730001 */ addiu $s3, $s3, 1 -/* 1F410 80044010 0262102A */ slt $v0, $s3, $v0 -/* 1F414 80044014 1440FFE6 */ bnez $v0, .L80043FB0 -/* 1F418 80044018 26310004 */ addiu $s1, $s1, 4 -.L8004401C: -/* 1F41C 8004401C 3C02800B */ lui $v0, %hi(gCurrentEncounter+0x1C) -/* 1F420 80044020 80420F2C */ lb $v0, %lo(gCurrentEncounter+0x1C)($v0) -/* 1F424 80044024 26D60001 */ addiu $s6, $s6, 1 -/* 1F428 80044028 02C2102A */ slt $v0, $s6, $v0 -/* 1F42C 8004402C 1440FFD9 */ bnez $v0, .L80043F94 -/* 1F430 80044030 26520004 */ addiu $s2, $s2, 4 -/* 1F434 80044034 3C02800B */ lui $v0, %hi(gCurrentEncounter+0x1C) -/* 1F438 80044038 80420F2C */ lb $v0, %lo(gCurrentEncounter+0x1C)($v0) -.L8004403C: -/* 1F43C 8004403C 1840002A */ blez $v0, .L800440E8 -/* 1F440 80044040 0000B02D */ daddu $s6, $zero, $zero -/* 1F444 80044044 3C12800B */ lui $s2, %hi(gCurrentEncounter) -/* 1F448 80044048 26520F10 */ addiu $s2, $s2, %lo(gCurrentEncounter) -.L8004404C: -/* 1F44C 8004404C 8E540028 */ lw $s4, 0x28($s2) -/* 1F450 80044050 1280001F */ beqz $s4, .L800440D0 -/* 1F454 80044054 00000000 */ nop -/* 1F458 80044058 8E820000 */ lw $v0, ($s4) -/* 1F45C 8004405C 1840001C */ blez $v0, .L800440D0 -/* 1F460 80044060 0000982D */ daddu $s3, $zero, $zero -/* 1F464 80044064 0280882D */ daddu $s1, $s4, $zero -.L80044068: -/* 1F468 80044068 8E300004 */ lw $s0, 4($s1) -/* 1F46C 8004406C 12000013 */ beqz $s0, .L800440BC -/* 1F470 80044070 00000000 */ nop -/* 1F474 80044074 8E020000 */ lw $v0, ($s0) -/* 1F478 80044078 30420020 */ andi $v0, $v0, 0x20 -/* 1F47C 8004407C 1440000F */ bnez $v0, .L800440BC -/* 1F480 80044080 00000000 */ nop -/* 1F484 80044084 8E04002C */ lw $a0, 0x2c($s0) -/* 1F488 80044088 1080000C */ beqz $a0, .L800440BC -/* 1F48C 8004408C 2405000A */ addiu $a1, $zero, 0xa -/* 1F490 80044090 0C0B0CF8 */ jal start_script -/* 1F494 80044094 0000302D */ daddu $a2, $zero, $zero -/* 1F498 80044098 0040182D */ daddu $v1, $v0, $zero -/* 1F49C 8004409C AE030044 */ sw $v1, 0x44($s0) -/* 1F4A0 800440A0 8C620144 */ lw $v0, 0x144($v1) -/* 1F4A4 800440A4 AE02005C */ sw $v0, 0x5c($s0) -/* 1F4A8 800440A8 AC700148 */ sw $s0, 0x148($v1) -/* 1F4AC 800440AC 86020008 */ lh $v0, 8($s0) -/* 1F4B0 800440B0 AC62014C */ sw $v0, 0x14c($v1) -/* 1F4B4 800440B4 92020006 */ lbu $v0, 6($s0) -/* 1F4B8 800440B8 A0620004 */ sb $v0, 4($v1) -.L800440BC: -/* 1F4BC 800440BC 8E820000 */ lw $v0, ($s4) -/* 1F4C0 800440C0 26730001 */ addiu $s3, $s3, 1 -/* 1F4C4 800440C4 0262102A */ slt $v0, $s3, $v0 -/* 1F4C8 800440C8 1440FFE7 */ bnez $v0, .L80044068 -/* 1F4CC 800440CC 26310004 */ addiu $s1, $s1, 4 -.L800440D0: -/* 1F4D0 800440D0 3C02800B */ lui $v0, %hi(gCurrentEncounter+0x1C) -/* 1F4D4 800440D4 80420F2C */ lb $v0, %lo(gCurrentEncounter+0x1C)($v0) -/* 1F4D8 800440D8 26D60001 */ addiu $s6, $s6, 1 -/* 1F4DC 800440DC 02C2102A */ slt $v0, $s6, $v0 -/* 1F4E0 800440E0 1440FFDA */ bnez $v0, .L8004404C -/* 1F4E4 800440E4 26520004 */ addiu $s2, $s2, 4 -.L800440E8: -/* 1F4E8 800440E8 0C0B1192 */ jal resume_all_group -/* 1F4EC 800440EC 24040010 */ addiu $a0, $zero, 0x10 -/* 1F4F0 800440F0 24020002 */ addiu $v0, $zero, 2 -/* 1F4F4 800440F4 3C01800A */ lui $at, %hi(gGameState) -/* 1F4F8 800440F8 AC22A600 */ sw $v0, %lo(gGameState)($at) -/* 1F4FC 800440FC 24020001 */ addiu $v0, $zero, 1 -/* 1F500 80044100 3C01800A */ lui $at, %hi(D_8009A678) -/* 1F504 80044104 AC22A678 */ sw $v0, %lo(D_8009A678)($at) -/* 1F508 80044108 3C01800A */ lui $at, %hi(D_8009A5D0) -/* 1F50C 8004410C AC20A5D0 */ sw $zero, %lo(D_8009A5D0)($at) -.L80044110: -/* 1F510 80044110 8FBF005C */ lw $ra, 0x5c($sp) -/* 1F514 80044114 8FBE0058 */ lw $fp, 0x58($sp) -/* 1F518 80044118 8FB70054 */ lw $s7, 0x54($sp) -/* 1F51C 8004411C 8FB60050 */ lw $s6, 0x50($sp) -/* 1F520 80044120 8FB5004C */ lw $s5, 0x4c($sp) -/* 1F524 80044124 8FB40048 */ lw $s4, 0x48($sp) -/* 1F528 80044128 8FB30044 */ lw $s3, 0x44($sp) -/* 1F52C 8004412C 8FB20040 */ lw $s2, 0x40($sp) -/* 1F530 80044130 8FB1003C */ lw $s1, 0x3c($sp) -/* 1F534 80044134 8FB00038 */ lw $s0, 0x38($sp) -/* 1F538 80044138 03E00008 */ jr $ra -/* 1F53C 8004413C 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/ver/us/asm/nonmatchings/1a1f0_len_5390/update_encounters_neutral.s b/ver/us/asm/nonmatchings/1a1f0_len_5390/update_encounters_neutral.s deleted file mode 100644 index 65f30b4f91..0000000000 --- a/ver/us/asm/nonmatchings/1a1f0_len_5390/update_encounters_neutral.s +++ /dev/null @@ -1,1901 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel jtbl_800985F8 -.word .L80040320_1B720, .L80040320_1B720, .L80040594_1B994, .L80040594_1B994, .L80040594_1B994, .L80040320_1B720, .L80040320_1B720, .L80040320_1B720, .L80040320_1B720, .L80040594_1B994, .L80040320_1B720, .L80040320_1B720, .L80040320_1B720, .L80040320_1B720, .L80040594_1B994, .L8003FFA0_1B3A0 - -dlabel jtbl_80098638 -.word .L80040540_1B940, .L80040540_1B940, .L8004055C_1B95C, .L8004055C_1B95C, .L8004055C_1B95C, .L80040540_1B940, .L80040540_1B940, .L80040540_1B940, .L80040540_1B940, .L8004055C_1B95C, .L80040548_1B948, .L80040548_1B948, .L80040554_1B954, .L80040554_1B954 - -dlabel D_80098670 -.double 0.8 - -dlabel jtbl_80098678 -.word .L80041314_1C714, .L80040918_1BD18, .L80040BF4_1BFF4, .L80040ABC_1BEBC, .L80040E34_1C234, .L800410BC_1C4BC, .L8004115C_1C55C, 0 - -.section .text - -glabel update_encounters_neutral -/* 1ABCC 8003F7CC 27BDFF40 */ addiu $sp, $sp, -0xc0 -/* 1ABD0 8003F7D0 AFB30074 */ sw $s3, 0x74($sp) -/* 1ABD4 8003F7D4 3C13800B */ lui $s3, %hi(gCurrentEncounter) -/* 1ABD8 8003F7D8 26730F10 */ addiu $s3, $s3, %lo(gCurrentEncounter) -/* 1ABDC 8003F7DC AFB40078 */ sw $s4, 0x78($sp) -/* 1ABE0 8003F7E0 3C148011 */ lui $s4, %hi(gPlayerStatus) -/* 1ABE4 8003F7E4 2694EFC8 */ addiu $s4, $s4, %lo(gPlayerStatus) -/* 1ABE8 8003F7E8 3C038007 */ lui $v1, %hi(gCurrentCameraID) -/* 1ABEC 8003F7EC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) -/* 1ABF0 8003F7F0 3C04800B */ lui $a0, %hi(gCameras) -/* 1ABF4 8003F7F4 24841D80 */ addiu $a0, $a0, %lo(gCameras) -/* 1ABF8 8003F7F8 AFBF008C */ sw $ra, 0x8c($sp) -/* 1ABFC 8003F7FC AFBE0088 */ sw $fp, 0x88($sp) -/* 1AC00 8003F800 AFB70084 */ sw $s7, 0x84($sp) -/* 1AC04 8003F804 AFB60080 */ sw $s6, 0x80($sp) -/* 1AC08 8003F808 AFB5007C */ sw $s5, 0x7c($sp) -/* 1AC0C 8003F80C AFB20070 */ sw $s2, 0x70($sp) -/* 1AC10 8003F810 AFB1006C */ sw $s1, 0x6c($sp) -/* 1AC14 8003F814 AFB00068 */ sw $s0, 0x68($sp) -/* 1AC18 8003F818 F7BE00B8 */ sdc1 $f30, 0xb8($sp) -/* 1AC1C 8003F81C F7BC00B0 */ sdc1 $f28, 0xb0($sp) -/* 1AC20 8003F820 F7BA00A8 */ sdc1 $f26, 0xa8($sp) -/* 1AC24 8003F824 F7B800A0 */ sdc1 $f24, 0xa0($sp) -/* 1AC28 8003F828 F7B60098 */ sdc1 $f22, 0x98($sp) -/* 1AC2C 8003F82C F7B40090 */ sdc1 $f20, 0x90($sp) -/* 1AC30 8003F830 00031080 */ sll $v0, $v1, 2 -/* 1AC34 8003F834 00431021 */ addu $v0, $v0, $v1 -/* 1AC38 8003F838 00021080 */ sll $v0, $v0, 2 -/* 1AC3C 8003F83C 00431023 */ subu $v0, $v0, $v1 -/* 1AC40 8003F840 000218C0 */ sll $v1, $v0, 3 -/* 1AC44 8003F844 00431021 */ addu $v0, $v0, $v1 -/* 1AC48 8003F848 000210C0 */ sll $v0, $v0, 3 -/* 1AC4C 8003F84C 00441021 */ addu $v0, $v0, $a0 -/* 1AC50 8003F850 AFA20048 */ sw $v0, 0x48($sp) -/* 1AC54 8003F854 82630005 */ lb $v1, 5($s3) -/* 1AC58 8003F858 24020005 */ addiu $v0, $zero, 5 -/* 1AC5C 8003F85C 10620426 */ beq $v1, $v0, .L800408F8 -/* 1AC60 8003F860 2402FFFF */ addiu $v0, $zero, -1 -/* 1AC64 8003F864 C69000A8 */ lwc1 $f16, 0xa8($s4) -/* 1AC68 8003F868 3C014334 */ lui $at, 0x4334 -/* 1AC6C 8003F86C 44810000 */ mtc1 $at, $f0 -/* 1AC70 8003F870 E7B0005C */ swc1 $f16, 0x5c($sp) -/* 1AC74 8003F874 AE620014 */ sw $v0, 0x14($s3) -/* 1AC78 8003F878 AE620018 */ sw $v0, 0x18($s3) -/* 1AC7C 8003F87C 8E620000 */ lw $v0, ($s3) -/* 1AC80 8003F880 2403FFFE */ addiu $v1, $zero, -2 -/* 1AC84 8003F884 A2600005 */ sb $zero, 5($s3) -/* 1AC88 8003F888 A2600011 */ sb $zero, 0x11($s3) -/* 1AC8C 8003F88C A2600013 */ sb $zero, 0x13($s3) -/* 1AC90 8003F890 4600803C */ c.lt.s $f16, $f0 -/* 1AC94 8003F894 00431024 */ and $v0, $v0, $v1 -/* 1AC98 8003F898 2403FFFD */ addiu $v1, $zero, -3 -/* 1AC9C 8003F89C 00431024 */ and $v0, $v0, $v1 -/* 1ACA0 8003F8A0 2403FFFB */ addiu $v1, $zero, -5 -/* 1ACA4 8003F8A4 00431024 */ and $v0, $v0, $v1 -/* 1ACA8 8003F8A8 AE620000 */ sw $v0, ($s3) -/* 1ACAC 8003F8AC C6920028 */ lwc1 $f18, 0x28($s4) -/* 1ACB0 8003F8B0 E7B20050 */ swc1 $f18, 0x50($sp) -/* 1ACB4 8003F8B4 C690002C */ lwc1 $f16, 0x2c($s4) -/* 1ACB8 8003F8B8 E7B00054 */ swc1 $f16, 0x54($sp) -/* 1ACBC 8003F8BC C6920030 */ lwc1 $f18, 0x30($s4) -/* 1ACC0 8003F8C0 45000007 */ bc1f .L8003F8E0 -/* 1ACC4 8003F8C4 E7B20058 */ swc1 $f18, 0x58($sp) -/* 1ACC8 8003F8C8 8FA80048 */ lw $t0, 0x48($sp) -/* 1ACCC 8003F8CC 3C0142B4 */ lui $at, 0x42b4 -/* 1ACD0 8003F8D0 44816000 */ mtc1 $at, $f12 -/* 1ACD4 8003F8D4 C500006C */ lwc1 $f0, 0x6c($t0) -/* 1ACD8 8003F8D8 0800FE3D */ j .L8003F8F4 -/* 1ACDC 8003F8DC 460C0301 */ sub.s $f12, $f0, $f12 -.L8003F8E0: -/* 1ACE0 8003F8E0 8FA80048 */ lw $t0, 0x48($sp) -/* 1ACE4 8003F8E4 3C0142B4 */ lui $at, 0x42b4 -/* 1ACE8 8003F8E8 44816000 */ mtc1 $at, $f12 -/* 1ACEC 8003F8EC C500006C */ lwc1 $f0, 0x6c($t0) -/* 1ACF0 8003F8F0 460C0300 */ add.s $f12, $f0, $f12 -.L8003F8F4: -/* 1ACF4 8003F8F4 0C00A6C9 */ jal clamp_angle -/* 1ACF8 8003F8F8 00000000 */ nop -/* 1ACFC 8003F8FC E7A0005C */ swc1 $f0, 0x5c($sp) -/* 1AD00 8003F900 8262000A */ lb $v0, 0xa($s3) -/* 1AD04 8003F904 10400059 */ beqz $v0, .L8003FA6C -/* 1AD08 8003F908 9263000A */ lbu $v1, 0xa($s3) -/* 1AD0C 8003F90C 3C02800A */ lui $v0, %hi(gOverrideFlags) -/* 1AD10 8003F910 8C42A650 */ lw $v0, %lo(gOverrideFlags)($v0) -/* 1AD14 8003F914 30420040 */ andi $v0, $v0, 0x40 -/* 1AD18 8003F918 14400002 */ bnez $v0, .L8003F924 -/* 1AD1C 8003F91C 2462FFFF */ addiu $v0, $v1, -1 -/* 1AD20 8003F920 A262000A */ sb $v0, 0xa($s3) -.L8003F924: -/* 1AD24 8003F924 86820010 */ lh $v0, 0x10($s4) -/* 1AD28 8003F928 10400050 */ beqz $v0, .L8003FA6C -/* 1AD2C 8003F92C 00000000 */ nop -/* 1AD30 8003F930 8E820000 */ lw $v0, ($s4) -/* 1AD34 8003F934 30422000 */ andi $v0, $v0, 0x2000 -/* 1AD38 8003F938 5440004B */ bnel $v0, $zero, .L8003FA68 -/* 1AD3C 8003F93C 24020001 */ addiu $v0, $zero, 1 -/* 1AD40 8003F940 9262000A */ lbu $v0, 0xa($s3) -/* 1AD44 8003F944 00021600 */ sll $v0, $v0, 0x18 -/* 1AD48 8003F948 0800FE9A */ j .L8003FA68 -/* 1AD4C 8003F94C 00021603 */ sra $v0, $v0, 0x18 -.L8003F950: -/* 1AD50 8003F950 24020001 */ addiu $v0, $zero, 1 -/* 1AD54 8003F954 A2620005 */ sb $v0, 5($s3) -/* 1AD58 8003F958 A2220005 */ sb $v0, 5($s1) -/* 1AD5C 8003F95C AE760088 */ sw $s6, 0x88($s3) -/* 1AD60 8003F960 AE71008C */ sw $s1, 0x8c($s3) -/* 1AD64 8003F964 A2600004 */ sb $zero, 4($s3) -/* 1AD68 8003F968 0801023D */ j .L800408F4 -/* 1AD6C 8003F96C A2600006 */ sb $zero, 6($s3) -.L8003F970: -/* 1AD70 8003F970 8E860028 */ lw $a2, 0x28($s4) -/* 1AD74 8003F974 8E87002C */ lw $a3, 0x2c($s4) -/* 1AD78 8003F978 C6800030 */ lwc1 $f0, 0x30($s4) -/* 1AD7C 8003F97C 0000282D */ daddu $a1, $zero, $zero -/* 1AD80 8003F980 0C052757 */ jal sfx_play_sound_at_position -/* 1AD84 8003F984 E7A00010 */ swc1 $f0, 0x10($sp) -/* 1AD88 8003F988 C6480038 */ lwc1 $f8, 0x38($s2) -/* 1AD8C 8003F98C C68C0028 */ lwc1 $f12, 0x28($s4) -/* 1AD90 8003F990 460C4201 */ sub.s $f8, $f8, $f12 -/* 1AD94 8003F994 3C013F00 */ lui $at, 0x3f00 -/* 1AD98 8003F998 44815000 */ mtc1 $at, $f10 -/* 1AD9C 8003F99C 00000000 */ nop -/* 1ADA0 8003F9A0 460A4202 */ mul.s $f8, $f8, $f10 -/* 1ADA4 8003F9A4 00000000 */ nop -/* 1ADA8 8003F9A8 864200A8 */ lh $v0, 0xa8($s2) -/* 1ADAC 8003F9AC C642003C */ lwc1 $f2, 0x3c($s2) -/* 1ADB0 8003F9B0 44820000 */ mtc1 $v0, $f0 -/* 1ADB4 8003F9B4 00000000 */ nop -/* 1ADB8 8003F9B8 46800020 */ cvt.s.w $f0, $f0 -/* 1ADBC 8003F9BC 46001080 */ add.s $f2, $f2, $f0 -/* 1ADC0 8003F9C0 868200B0 */ lh $v0, 0xb0($s4) -/* 1ADC4 8003F9C4 C686002C */ lwc1 $f6, 0x2c($s4) -/* 1ADC8 8003F9C8 44820000 */ mtc1 $v0, $f0 -/* 1ADCC 8003F9CC 00000000 */ nop -/* 1ADD0 8003F9D0 46800020 */ cvt.s.w $f0, $f0 -/* 1ADD4 8003F9D4 46003000 */ add.s $f0, $f6, $f0 -/* 1ADD8 8003F9D8 46001081 */ sub.s $f2, $f2, $f0 -/* 1ADDC 8003F9DC 460A1082 */ mul.s $f2, $f2, $f10 -/* 1ADE0 8003F9E0 00000000 */ nop -/* 1ADE4 8003F9E4 C6840030 */ lwc1 $f4, 0x30($s4) -/* 1ADE8 8003F9E8 C6400040 */ lwc1 $f0, 0x40($s2) -/* 1ADEC 8003F9EC 46040001 */ sub.s $f0, $f0, $f4 -/* 1ADF0 8003F9F0 460A0002 */ mul.s $f0, $f0, $f10 -/* 1ADF4 8003F9F4 00000000 */ nop -/* 1ADF8 8003F9F8 46086300 */ add.s $f12, $f12, $f8 -/* 1ADFC 8003F9FC 46023180 */ add.s $f6, $f6, $f2 -/* 1AE00 8003FA00 24040003 */ addiu $a0, $zero, 3 -/* 1AE04 8003FA04 44056000 */ mfc1 $a1, $f12 -/* 1AE08 8003FA08 46002100 */ add.s $f4, $f4, $f0 -/* 1AE0C 8003FA0C 3C01BF80 */ lui $at, 0xbf80 -/* 1AE10 8003FA10 44810000 */ mtc1 $at, $f0 -/* 1AE14 8003FA14 44063000 */ mfc1 $a2, $f6 -/* 1AE18 8003FA18 44072000 */ mfc1 $a3, $f4 -/* 1AE1C 8003FA1C 0080802D */ daddu $s0, $a0, $zero -/* 1AE20 8003FA20 AFA5003C */ sw $a1, 0x3c($sp) -/* 1AE24 8003FA24 AFA60040 */ sw $a2, 0x40($sp) -/* 1AE28 8003FA28 AFA70044 */ sw $a3, 0x44($sp) -/* 1AE2C 8003FA2C AFA00010 */ sw $zero, 0x10($sp) -/* 1AE30 8003FA30 E7A00014 */ swc1 $f0, 0x14($sp) -/* 1AE34 8003FA34 AFA00018 */ sw $zero, 0x18($sp) -/* 1AE38 8003FA38 0C01C064 */ jal fx_damage_stars -/* 1AE3C 8003FA3C AFB0001C */ sw $s0, 0x1c($sp) -/* 1AE40 8003FA40 A2700005 */ sb $s0, 5($s3) -/* 1AE44 8003FA44 8E820004 */ lw $v0, 4($s4) -/* 1AE48 8003FA48 3C030002 */ lui $v1, 2 -/* 1AE4C 8003FA4C 00431025 */ or $v0, $v0, $v1 -/* 1AE50 8003FA50 AE820004 */ sw $v0, 4($s4) -/* 1AE54 8003FA54 A2300005 */ sb $s0, 5($s1) -/* 1AE58 8003FA58 AE760088 */ sw $s6, 0x88($s3) -/* 1AE5C 8003FA5C AE71008C */ sw $s1, 0x8c($s3) -/* 1AE60 8003FA60 0801023D */ j .L800408F4 -/* 1AE64 8003FA64 A2600004 */ sb $zero, 4($s3) -.L8003FA68: -/* 1AE68 8003FA68 A6820010 */ sh $v0, 0x10($s4) -.L8003FA6C: -/* 1AE6C 8003FA6C 8262001C */ lb $v0, 0x1c($s3) -/* 1AE70 8003FA70 184003A0 */ blez $v0, .L800408F4 -/* 1AE74 8003FA74 AFA0004C */ sw $zero, 0x4c($sp) -/* 1AE78 8003FA78 3C087FFF */ lui $t0, 0x7fff -/* 1AE7C 8003FA7C 3508FFFF */ ori $t0, $t0, 0xffff -/* 1AE80 8003FA80 AFA80060 */ sw $t0, 0x60($sp) -/* 1AE84 8003FA84 27A8003C */ addiu $t0, $sp, 0x3c -/* 1AE88 8003FA88 AFA80064 */ sw $t0, 0x64($sp) -.L8003FA8C: -/* 1AE8C 8003FA8C 8FA8004C */ lw $t0, 0x4c($sp) -/* 1AE90 8003FA90 00081080 */ sll $v0, $t0, 2 -/* 1AE94 8003FA94 02621021 */ addu $v0, $s3, $v0 -/* 1AE98 8003FA98 8C560028 */ lw $s6, 0x28($v0) -/* 1AE9C 8003FA9C 12C00390 */ beqz $s6, .L800408E0 -/* 1AEA0 8003FAA0 00000000 */ nop -/* 1AEA4 8003FAA4 8EC20000 */ lw $v0, ($s6) -/* 1AEA8 8003FAA8 1840038D */ blez $v0, .L800408E0 -/* 1AEAC 8003FAAC 0000A82D */ daddu $s5, $zero, $zero -/* 1AEB0 8003FAB0 27BE0040 */ addiu $fp, $sp, 0x40 -/* 1AEB4 8003FAB4 27B70044 */ addiu $s7, $sp, 0x44 -/* 1AEB8 8003FAB8 00151080 */ sll $v0, $s5, 2 -.L8003FABC: -/* 1AEBC 8003FABC 02C21021 */ addu $v0, $s6, $v0 -/* 1AEC0 8003FAC0 8C510004 */ lw $s1, 4($v0) -/* 1AEC4 8003FAC4 12200380 */ beqz $s1, .L800408C8 -/* 1AEC8 8003FAC8 00000000 */ nop -/* 1AECC 8003FACC 8E220000 */ lw $v0, ($s1) -/* 1AED0 8003FAD0 30420020 */ andi $v0, $v0, 0x20 -/* 1AED4 8003FAD4 1440037C */ bnez $v0, .L800408C8 -/* 1AED8 8003FAD8 00000000 */ nop -/* 1AEDC 8003FADC 0C00EABB */ jal get_npc_unsafe -/* 1AEE0 8003FAE0 86240008 */ lh $a0, 8($s1) -/* 1AEE4 8003FAE4 0040902D */ daddu $s2, $v0, $zero -/* 1AEE8 8003FAE8 822200B4 */ lb $v0, 0xb4($s1) -/* 1AEEC 8003FAEC 922300B4 */ lbu $v1, 0xb4($s1) -/* 1AEF0 8003FAF0 50400030 */ beql $v0, $zero, .L8003FBB4 -/* 1AEF4 8003FAF4 3C030020 */ lui $v1, 0x20 -/* 1AEF8 8003FAF8 3C02800A */ lui $v0, %hi(gOverrideFlags) -/* 1AEFC 8003FAFC 8C42A650 */ lw $v0, %lo(gOverrideFlags)($v0) -/* 1AF00 8003FB00 30420040 */ andi $v0, $v0, 0x40 -/* 1AF04 8003FB04 54400005 */ bnel $v0, $zero, .L8003FB1C -/* 1AF08 8003FB08 0000102D */ daddu $v0, $zero, $zero -/* 1AF0C 8003FB0C 2462FFFF */ addiu $v0, $v1, -1 -/* 1AF10 8003FB10 A22200B4 */ sb $v0, 0xb4($s1) -/* 1AF14 8003FB14 00021600 */ sll $v0, $v0, 0x18 -/* 1AF18 8003FB18 00021603 */ sra $v0, $v0, 0x18 -.L8003FB1C: -/* 1AF1C 8003FB1C 30420001 */ andi $v0, $v0, 1 -/* 1AF20 8003FB20 10400007 */ beqz $v0, .L8003FB40 -/* 1AF24 8003FB24 3C088000 */ lui $t0, 0x8000 -/* 1AF28 8003FB28 8E420000 */ lw $v0, ($s2) -/* 1AF2C 8003FB2C 00481025 */ or $v0, $v0, $t0 -/* 1AF30 8003FB30 AE420000 */ sw $v0, ($s2) -/* 1AF34 8003FB34 8E220000 */ lw $v0, ($s1) -/* 1AF38 8003FB38 0800FED6 */ j .L8003FB58 -/* 1AF3C 8003FB3C 00481025 */ or $v0, $v0, $t0 -.L8003FB40: -/* 1AF40 8003FB40 8E420000 */ lw $v0, ($s2) -/* 1AF44 8003FB44 8FA80060 */ lw $t0, 0x60($sp) -/* 1AF48 8003FB48 00481024 */ and $v0, $v0, $t0 -/* 1AF4C 8003FB4C AE420000 */ sw $v0, ($s2) -/* 1AF50 8003FB50 8E220000 */ lw $v0, ($s1) -/* 1AF54 8003FB54 00481024 */ and $v0, $v0, $t0 -.L8003FB58: -/* 1AF58 8003FB58 AE220000 */ sw $v0, ($s1) -/* 1AF5C 8003FB5C 0C0B11EA */ jal get_script_by_id -/* 1AF60 8003FB60 8E24005C */ lw $a0, 0x5c($s1) -/* 1AF64 8003FB64 0040202D */ daddu $a0, $v0, $zero -/* 1AF68 8003FB68 10800003 */ beqz $a0, .L8003FB78 -/* 1AF6C 8003FB6C 00000000 */ nop -/* 1AF70 8003FB70 0C0B11FA */ jal set_script_flags -/* 1AF74 8003FB74 24050080 */ addiu $a1, $zero, 0x80 -.L8003FB78: -/* 1AF78 8003FB78 8E240054 */ lw $a0, 0x54($s1) -/* 1AF7C 8003FB7C 0C0B11EA */ jal get_script_by_id -/* 1AF80 8003FB80 00000000 */ nop -/* 1AF84 8003FB84 0040202D */ daddu $a0, $v0, $zero -/* 1AF88 8003FB88 10800003 */ beqz $a0, .L8003FB98 -/* 1AF8C 8003FB8C 00000000 */ nop -/* 1AF90 8003FB90 0C0B11FA */ jal set_script_flags -/* 1AF94 8003FB94 24050080 */ addiu $a1, $zero, 0x80 -.L8003FB98: -/* 1AF98 8003FB98 8E220000 */ lw $v0, ($s1) -/* 1AF9C 8003FB9C 3C030008 */ lui $v1, 8 -/* 1AFA0 8003FBA0 00431024 */ and $v0, $v0, $v1 -/* 1AFA4 8003FBA4 10400052 */ beqz $v0, .L8003FCF0 -/* 1AFA8 8003FBA8 00000000 */ nop -/* 1AFAC 8003FBAC 0800FF2D */ j .L8003FCB4 -/* 1AFB0 8003FBB0 8E24005C */ lw $a0, 0x5c($s1) -.L8003FBB4: -/* 1AFB4 8003FBB4 8E220000 */ lw $v0, ($s1) -/* 1AFB8 8003FBB8 00431024 */ and $v0, $v0, $v1 -/* 1AFBC 8003FBBC 14400035 */ bnez $v0, .L8003FC94 -/* 1AFC0 8003FBC0 27A20020 */ addiu $v0, $sp, 0x20 -/* 1AFC4 8003FBC4 3C048007 */ lui $a0, %hi(gCurrentCameraID) -/* 1AFC8 8003FBC8 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) -/* 1AFCC 8003FBCC AFA20010 */ sw $v0, 0x10($sp) -/* 1AFD0 8003FBD0 27A20024 */ addiu $v0, $sp, 0x24 -/* 1AFD4 8003FBD4 AFA20014 */ sw $v0, 0x14($sp) -/* 1AFD8 8003FBD8 27A20028 */ addiu $v0, $sp, 0x28 -/* 1AFDC 8003FBDC AFA20018 */ sw $v0, 0x18($sp) -/* 1AFE0 8003FBE0 8E450038 */ lw $a1, 0x38($s2) -/* 1AFE4 8003FBE4 8E46003C */ lw $a2, 0x3c($s2) -/* 1AFE8 8003FBE8 0C00B94E */ jal get_screen_coords -/* 1AFEC 8003FBEC 8E470040 */ lw $a3, 0x40($s2) -/* 1AFF0 8003FBF0 8FA20020 */ lw $v0, 0x20($sp) -/* 1AFF4 8003FBF4 244200A0 */ addiu $v0, $v0, 0xa0 -/* 1AFF8 8003FBF8 2C420281 */ sltiu $v0, $v0, 0x281 -/* 1AFFC 8003FBFC 1040000A */ beqz $v0, .L8003FC28 -/* 1B000 8003FC00 00000000 */ nop -/* 1B004 8003FC04 8FA30024 */ lw $v1, 0x24($sp) -/* 1B008 8003FC08 2862FF88 */ slti $v0, $v1, -0x78 -/* 1B00C 8003FC0C 14400006 */ bnez $v0, .L8003FC28 -/* 1B010 8003FC10 28620169 */ slti $v0, $v1, 0x169 -/* 1B014 8003FC14 10400004 */ beqz $v0, .L8003FC28 -/* 1B018 8003FC18 00000000 */ nop -/* 1B01C 8003FC1C 8FA20028 */ lw $v0, 0x28($sp) -/* 1B020 8003FC20 0441001C */ bgez $v0, .L8003FC94 -/* 1B024 8003FC24 00000000 */ nop -.L8003FC28: -/* 1B028 8003FC28 8E220000 */ lw $v0, ($s1) -/* 1B02C 8003FC2C 30420001 */ andi $v0, $v0, 1 -/* 1B030 8003FC30 14400018 */ bnez $v0, .L8003FC94 -/* 1B034 8003FC34 3C088000 */ lui $t0, 0x8000 -/* 1B038 8003FC38 8E420000 */ lw $v0, ($s2) -/* 1B03C 8003FC3C 00481025 */ or $v0, $v0, $t0 -/* 1B040 8003FC40 AE420000 */ sw $v0, ($s2) -/* 1B044 8003FC44 8E220000 */ lw $v0, ($s1) -/* 1B048 8003FC48 8E24005C */ lw $a0, 0x5c($s1) -/* 1B04C 8003FC4C 00481025 */ or $v0, $v0, $t0 -/* 1B050 8003FC50 0C0B11EA */ jal get_script_by_id -/* 1B054 8003FC54 AE220000 */ sw $v0, ($s1) -/* 1B058 8003FC58 0040202D */ daddu $a0, $v0, $zero -/* 1B05C 8003FC5C 10800003 */ beqz $a0, .L8003FC6C -/* 1B060 8003FC60 00000000 */ nop -/* 1B064 8003FC64 0C0B11FA */ jal set_script_flags -/* 1B068 8003FC68 24050080 */ addiu $a1, $zero, 0x80 -.L8003FC6C: -/* 1B06C 8003FC6C 8E240054 */ lw $a0, 0x54($s1) -/* 1B070 8003FC70 0C0B11EA */ jal get_script_by_id -/* 1B074 8003FC74 00000000 */ nop -/* 1B078 8003FC78 0040202D */ daddu $a0, $v0, $zero -/* 1B07C 8003FC7C 1080001C */ beqz $a0, .L8003FCF0 -/* 1B080 8003FC80 00000000 */ nop -/* 1B084 8003FC84 0C0B11FA */ jal set_script_flags -/* 1B088 8003FC88 24050080 */ addiu $a1, $zero, 0x80 -/* 1B08C 8003FC8C 0800FF3C */ j .L8003FCF0 -/* 1B090 8003FC90 00000000 */ nop -.L8003FC94: -/* 1B094 8003FC94 8E420000 */ lw $v0, ($s2) -/* 1B098 8003FC98 8FA80060 */ lw $t0, 0x60($sp) -/* 1B09C 8003FC9C 00481024 */ and $v0, $v0, $t0 -/* 1B0A0 8003FCA0 AE420000 */ sw $v0, ($s2) -/* 1B0A4 8003FCA4 8E220000 */ lw $v0, ($s1) -/* 1B0A8 8003FCA8 8E24005C */ lw $a0, 0x5c($s1) -/* 1B0AC 8003FCAC 00481024 */ and $v0, $v0, $t0 -/* 1B0B0 8003FCB0 AE220000 */ sw $v0, ($s1) -.L8003FCB4: -/* 1B0B4 8003FCB4 0C0B11EA */ jal get_script_by_id -/* 1B0B8 8003FCB8 00000000 */ nop -/* 1B0BC 8003FCBC 0040202D */ daddu $a0, $v0, $zero -/* 1B0C0 8003FCC0 10800003 */ beqz $a0, .L8003FCD0 -/* 1B0C4 8003FCC4 00000000 */ nop -/* 1B0C8 8003FCC8 0C0B1220 */ jal clear_script_flags -/* 1B0CC 8003FCCC 24050080 */ addiu $a1, $zero, 0x80 -.L8003FCD0: -/* 1B0D0 8003FCD0 8E240054 */ lw $a0, 0x54($s1) -/* 1B0D4 8003FCD4 0C0B11EA */ jal get_script_by_id -/* 1B0D8 8003FCD8 00000000 */ nop -/* 1B0DC 8003FCDC 0040202D */ daddu $a0, $v0, $zero -/* 1B0E0 8003FCE0 10800003 */ beqz $a0, .L8003FCF0 -/* 1B0E4 8003FCE4 00000000 */ nop -/* 1B0E8 8003FCE8 0C0B1220 */ jal clear_script_flags -/* 1B0EC 8003FCEC 24050080 */ addiu $a1, $zero, 0x80 -.L8003FCF0: -/* 1B0F0 8003FCF0 8E230000 */ lw $v1, ($s1) -/* 1B0F4 8003FCF4 3C088000 */ lui $t0, 0x8000 -/* 1B0F8 8003FCF8 00681024 */ and $v0, $v1, $t0 -/* 1B0FC 8003FCFC 144002F2 */ bnez $v0, .L800408C8 -/* 1B100 8003FD00 30620001 */ andi $v0, $v1, 1 -/* 1B104 8003FD04 1040002A */ beqz $v0, .L8003FDB0 -/* 1B108 8003FD08 3C020040 */ lui $v0, 0x40 -/* 1B10C 8003FD0C 00621024 */ and $v0, $v1, $v0 -/* 1B110 8003FD10 14400020 */ bnez $v0, .L8003FD94 -/* 1B114 8003FD14 00000000 */ nop -/* 1B118 8003FD18 8E8200C8 */ lw $v0, 0xc8($s4) -/* 1B11C 8003FD1C 16420015 */ bne $s2, $v0, .L8003FD74 -/* 1B120 8003FD20 24033039 */ addiu $v1, $zero, 0x3039 -/* 1B124 8003FD24 C640000C */ lwc1 $f0, 0xc($s2) -/* 1B128 8003FD28 4600040D */ trunc.w.s $f16, $f0 -/* 1B12C 8003FD2C 44028000 */ mfc1 $v0, $f16 -/* 1B130 8003FD30 00000000 */ nop -/* 1B134 8003FD34 A62200E0 */ sh $v0, 0xe0($s1) -/* 1B138 8003FD38 C64C0038 */ lwc1 $f12, 0x38($s2) -/* 1B13C 8003FD3C C64E0040 */ lwc1 $f14, 0x40($s2) -/* 1B140 8003FD40 8E860028 */ lw $a2, 0x28($s4) -/* 1B144 8003FD44 0C00A720 */ jal atan2 -/* 1B148 8003FD48 8E870030 */ lw $a3, 0x30($s4) -/* 1B14C 8003FD4C E640000C */ swc1 $f0, 0xc($s2) -/* 1B150 8003FD50 0C0B11EA */ jal get_script_by_id -/* 1B154 8003FD54 8E240054 */ lw $a0, 0x54($s1) -/* 1B158 8003FD58 0040202D */ daddu $a0, $v0, $zero -/* 1B15C 8003FD5C 10800014 */ beqz $a0, .L8003FDB0 -/* 1B160 8003FD60 00000000 */ nop -/* 1B164 8003FD64 0C0B11FA */ jal set_script_flags -/* 1B168 8003FD68 24050080 */ addiu $a1, $zero, 0x80 -/* 1B16C 8003FD6C 0800FF6C */ j .L8003FDB0 -/* 1B170 8003FD70 00000000 */ nop -.L8003FD74: -/* 1B174 8003FD74 862200E0 */ lh $v0, 0xe0($s1) -/* 1B178 8003FD78 10430006 */ beq $v0, $v1, .L8003FD94 -/* 1B17C 8003FD7C 00000000 */ nop -/* 1B180 8003FD80 44820000 */ mtc1 $v0, $f0 -/* 1B184 8003FD84 00000000 */ nop -/* 1B188 8003FD88 46800020 */ cvt.s.w $f0, $f0 -/* 1B18C 8003FD8C E640000C */ swc1 $f0, 0xc($s2) -/* 1B190 8003FD90 A62300E0 */ sh $v1, 0xe0($s1) -.L8003FD94: -/* 1B194 8003FD94 0C0B11EA */ jal get_script_by_id -/* 1B198 8003FD98 8E240054 */ lw $a0, 0x54($s1) -/* 1B19C 8003FD9C 0040202D */ daddu $a0, $v0, $zero -/* 1B1A0 8003FDA0 10800003 */ beqz $a0, .L8003FDB0 -/* 1B1A4 8003FDA4 00000000 */ nop -/* 1B1A8 8003FDA8 0C0B1220 */ jal clear_script_flags -/* 1B1AC 8003FDAC 24050080 */ addiu $a1, $zero, 0x80 -.L8003FDB0: -/* 1B1B0 8003FDB0 8262000A */ lb $v0, 0xa($s3) -/* 1B1B4 8003FDB4 144002C4 */ bnez $v0, .L800408C8 -/* 1B1B8 8003FDB8 24080001 */ addiu $t0, $zero, 1 -/* 1B1BC 8003FDBC 3C028007 */ lui $v0, %hi(gGameStatusPtr) -/* 1B1C0 8003FDC0 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) -/* 1B1C4 8003FDC4 80420074 */ lb $v0, 0x74($v0) -/* 1B1C8 8003FDC8 104802BF */ beq $v0, $t0, .L800408C8 -/* 1B1CC 8003FDCC 3C030008 */ lui $v1, 8 -/* 1B1D0 8003FDD0 8E820000 */ lw $v0, ($s4) -/* 1B1D4 8003FDD4 00431024 */ and $v0, $v0, $v1 -/* 1B1D8 8003FDD8 144002BB */ bnez $v0, .L800408C8 -/* 1B1DC 8003FDDC 00000000 */ nop -/* 1B1E0 8003FDE0 3C04800A */ lui $a0, %hi(gOverrideFlags) -/* 1B1E4 8003FDE4 8C84A650 */ lw $a0, %lo(gOverrideFlags)($a0) -/* 1B1E8 8003FDE8 30820040 */ andi $v0, $a0, 0x40 -/* 1B1EC 8003FDEC 144002B6 */ bnez $v0, .L800408C8 -/* 1B1F0 8003FDF0 24020009 */ addiu $v0, $zero, 9 -/* 1B1F4 8003FDF4 3C038011 */ lui $v1, %hi(gPartnerActionStatus+0x3) -/* 1B1F8 8003FDF8 8063EBB3 */ lb $v1, %lo(gPartnerActionStatus+0x3)($v1) -/* 1B1FC 8003FDFC 106202B2 */ beq $v1, $v0, .L800408C8 -/* 1B200 8003FE00 00000000 */ nop -/* 1B204 8003FE04 8E220000 */ lw $v0, ($s1) -/* 1B208 8003FE08 00481024 */ and $v0, $v0, $t0 -/* 1B20C 8003FE0C 144002AE */ bnez $v0, .L800408C8 -/* 1B210 8003FE10 30820F00 */ andi $v0, $a0, 0xf00 -/* 1B214 8003FE14 144002AC */ bnez $v0, .L800408C8 -/* 1B218 8003FE18 00000000 */ nop -/* 1B21C 8003FE1C 0C04D07A */ jal is_picking_up_item -/* 1B220 8003FE20 00000000 */ nop -/* 1B224 8003FE24 144002A8 */ bnez $v0, .L800408C8 -/* 1B228 8003FE28 3C021000 */ lui $v0, 0x1000 -/* 1B22C 8003FE2C 8E230000 */ lw $v1, ($s1) -/* 1B230 8003FE30 00621824 */ and $v1, $v1, $v0 -/* 1B234 8003FE34 14600007 */ bnez $v1, .L8003FE54 -/* 1B238 8003FE38 00000000 */ nop -/* 1B23C 8003FE3C 0C03AD79 */ jal partner_test_enemy_collision -/* 1B240 8003FE40 0240202D */ daddu $a0, $s2, $zero -/* 1B244 8003FE44 10400003 */ beqz $v0, .L8003FE54 -/* 1B248 8003FE48 24020006 */ addiu $v0, $zero, 6 -/* 1B24C 8003FE4C 0801015F */ j .L8004057C -/* 1B250 8003FE50 A2620005 */ sb $v0, 5($s3) -.L8003FE54: -/* 1B254 8003FE54 C6400038 */ lwc1 $f0, 0x38($s2) -/* 1B258 8003FE58 C65A003C */ lwc1 $f26, 0x3c($s2) -/* 1B25C 8003FE5C C658000C */ lwc1 $f24, 0xc($s2) -/* 1B260 8003FE60 C6420040 */ lwc1 $f2, 0x40($s2) -/* 1B264 8003FE64 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 1B268 8003FE68 E7A20030 */ swc1 $f2, 0x30($sp) -/* 1B26C 8003FE6C 864300A8 */ lh $v1, 0xa8($s2) -/* 1B270 8003FE70 964200A6 */ lhu $v0, 0xa6($s2) -/* 1B274 8003FE74 4483E000 */ mtc1 $v1, $f28 -/* 1B278 8003FE78 00000000 */ nop -/* 1B27C 8003FE7C 4680E720 */ cvt.s.w $f28, $f28 -/* 1B280 8003FE80 00021400 */ sll $v0, $v0, 0x10 -/* 1B284 8003FE84 00021C03 */ sra $v1, $v0, 0x10 -/* 1B288 8003FE88 000217C2 */ srl $v0, $v0, 0x1f -/* 1B28C 8003FE8C 00621821 */ addu $v1, $v1, $v0 -/* 1B290 8003FE90 00031843 */ sra $v1, $v1, 1 -/* 1B294 8003FE94 8E2200DC */ lw $v0, 0xdc($s1) -/* 1B298 8003FE98 4483F000 */ mtc1 $v1, $f30 -/* 1B29C 8003FE9C 00000000 */ nop -/* 1B2A0 8003FEA0 10400020 */ beqz $v0, .L8003FF24 -/* 1B2A4 8003FEA4 4680F7A0 */ cvt.s.w $f30, $f30 -/* 1B2A8 8003FEA8 8642008A */ lh $v0, 0x8a($s2) -/* 1B2AC 8003FEAC 3C014334 */ lui $at, 0x4334 -/* 1B2B0 8003FEB0 44810000 */ mtc1 $at, $f0 -/* 1B2B4 8003FEB4 4482C000 */ mtc1 $v0, $f24 -/* 1B2B8 8003FEB8 00000000 */ nop -/* 1B2BC 8003FEBC 4680C620 */ cvt.s.w $f24, $f24 -/* 1B2C0 8003FEC0 4600C03C */ c.lt.s $f24, $f0 -/* 1B2C4 8003FEC4 00000000 */ nop -/* 1B2C8 8003FEC8 45000007 */ bc1f .L8003FEE8 -/* 1B2CC 8003FECC 00000000 */ nop -/* 1B2D0 8003FED0 8FA80048 */ lw $t0, 0x48($sp) -/* 1B2D4 8003FED4 3C0142B4 */ lui $at, 0x42b4 -/* 1B2D8 8003FED8 44818000 */ mtc1 $at, $f16 -/* 1B2DC 8003FEDC C50C006C */ lwc1 $f12, 0x6c($t0) -/* 1B2E0 8003FEE0 0800FFBF */ j .L8003FEFC -/* 1B2E4 8003FEE4 46106301 */ sub.s $f12, $f12, $f16 -.L8003FEE8: -/* 1B2E8 8003FEE8 8FA80048 */ lw $t0, 0x48($sp) -/* 1B2EC 8003FEEC 3C0142B4 */ lui $at, 0x42b4 -/* 1B2F0 8003FEF0 44818000 */ mtc1 $at, $f16 -/* 1B2F4 8003FEF4 C50C006C */ lwc1 $f12, 0x6c($t0) -/* 1B2F8 8003FEF8 46106300 */ add.s $f12, $f12, $f16 -.L8003FEFC: -/* 1B2FC 8003FEFC 0C00A6C9 */ jal clamp_angle -/* 1B300 8003FF00 00000000 */ nop -/* 1B304 8003FF04 46000606 */ mov.s $f24, $f0 -/* 1B308 8003FF08 27A4002C */ addiu $a0, $sp, 0x2c -/* 1B30C 8003FF0C C63200DC */ lwc1 $f18, 0xdc($s1) -/* 1B310 8003FF10 468094A0 */ cvt.s.w $f18, $f18 -/* 1B314 8003FF14 4407C000 */ mfc1 $a3, $f24 -/* 1B318 8003FF18 44069000 */ mfc1 $a2, $f18 -/* 1B31C 8003FF1C 0C00A7E7 */ jal add_vec2D_polar -/* 1B320 8003FF20 27A50030 */ addiu $a1, $sp, 0x30 -.L8003FF24: -/* 1B324 8003FF24 C7A0002C */ lwc1 $f0, 0x2c($sp) -/* 1B328 8003FF28 C7B00050 */ lwc1 $f16, 0x50($sp) -/* 1B32C 8003FF2C 46100001 */ sub.s $f0, $f0, $f16 -/* 1B330 8003FF30 46000082 */ mul.s $f2, $f0, $f0 -/* 1B334 8003FF34 00000000 */ nop -/* 1B338 8003FF38 C7B20058 */ lwc1 $f18, 0x58($sp) -/* 1B33C 8003FF3C C7A00030 */ lwc1 $f0, 0x30($sp) -/* 1B340 8003FF40 46120001 */ sub.s $f0, $f0, $f18 -/* 1B344 8003FF44 46000002 */ mul.s $f0, $f0, $f0 -/* 1B348 8003FF48 00000000 */ nop -/* 1B34C 8003FF4C 46001300 */ add.s $f12, $f2, $f0 -/* 1B350 8003FF50 46006004 */ sqrt.s $f0, $f12 -/* 1B354 8003FF54 46000032 */ c.eq.s $f0, $f0 -/* 1B358 8003FF58 00000000 */ nop -/* 1B35C 8003FF5C 45010003 */ bc1t .L8003FF6C -/* 1B360 8003FF60 00000000 */ nop -/* 1B364 8003FF64 0C0187BC */ jal sqrtf -/* 1B368 8003FF68 00000000 */ nop -.L8003FF6C: -/* 1B36C 8003FF6C 928200B4 */ lbu $v0, 0xb4($s4) -/* 1B370 8003FF70 2442FFFD */ addiu $v0, $v0, -3 -/* 1B374 8003FF74 00021600 */ sll $v0, $v0, 0x18 -/* 1B378 8003FF78 00021E03 */ sra $v1, $v0, 0x18 -/* 1B37C 8003FF7C 2C620010 */ sltiu $v0, $v1, 0x10 -/* 1B380 8003FF80 10400184 */ beqz $v0, .L80040594_1B994 -/* 1B384 8003FF84 46000586 */ mov.s $f22, $f0 -/* 1B388 8003FF88 00031080 */ sll $v0, $v1, 2 -/* 1B38C 8003FF8C 3C01800A */ lui $at, %hi(jtbl_800985F8) -/* 1B390 8003FF90 00220821 */ addu $at, $at, $v0 -/* 1B394 8003FF94 8C2285F8 */ lw $v0, %lo(jtbl_800985F8)($at) -/* 1B398 8003FF98 00400008 */ jr $v0 -/* 1B39C 8003FF9C 00000000 */ nop -.L8003FFA0_1B3A0: -/* 1B3A0 8003FFA0 C7B00050 */ lwc1 $f16, 0x50($sp) -/* 1B3A4 8003FFA4 C68C00A8 */ lwc1 $f12, 0xa8($s4) -/* 1B3A8 8003FFA8 C7B20058 */ lwc1 $f18, 0x58($sp) -/* 1B3AC 8003FFAC E7B00034 */ swc1 $f16, 0x34($sp) -/* 1B3B0 8003FFB0 0C00A6C9 */ jal clamp_angle -/* 1B3B4 8003FFB4 E7B20038 */ swc1 $f18, 0x38($sp) -/* 1B3B8 8003FFB8 3C014334 */ lui $at, 0x4334 -/* 1B3BC 8003FFBC 44811000 */ mtc1 $at, $f2 -/* 1B3C0 8003FFC0 C7B40054 */ lwc1 $f20, 0x54($sp) -/* 1B3C4 8003FFC4 4602003C */ c.lt.s $f0, $f2 -/* 1B3C8 8003FFC8 00000000 */ nop -/* 1B3CC 8003FFCC 45000010 */ bc1f .L80040010 -/* 1B3D0 8003FFD0 00000000 */ nop -/* 1B3D4 8003FFD4 8FA80048 */ lw $t0, 0x48($sp) -/* 1B3D8 8003FFD8 3C0142B4 */ lui $at, 0x42b4 -/* 1B3DC 8003FFDC 44818000 */ mtc1 $at, $f16 -/* 1B3E0 8003FFE0 C50C006C */ lwc1 $f12, 0x6c($t0) -/* 1B3E4 8003FFE4 0C00A6C9 */ jal clamp_angle -/* 1B3E8 8003FFE8 46106301 */ sub.s $f12, $f12, $f16 -/* 1B3EC 8003FFEC 8E8200A4 */ lw $v0, 0xa4($s4) -/* 1B3F0 8003FFF0 3C030100 */ lui $v1, 0x100 -/* 1B3F4 8003FFF4 00431024 */ and $v0, $v0, $v1 -/* 1B3F8 8003FFF8 10400017 */ beqz $v0, .L80040058 -/* 1B3FC 8003FFFC 27A40034 */ addiu $a0, $sp, 0x34 -/* 1B400 80040000 3C0141F0 */ lui $at, 0x41f0 -/* 1B404 80040004 44816000 */ mtc1 $at, $f12 -/* 1B408 80040008 08010013 */ j .L8004004C -/* 1B40C 8004000C 460C0300 */ add.s $f12, $f0, $f12 -.L80040010: -/* 1B410 80040010 8FA80048 */ lw $t0, 0x48($sp) -/* 1B414 80040014 3C0142B4 */ lui $at, 0x42b4 -/* 1B418 80040018 44818000 */ mtc1 $at, $f16 -/* 1B41C 8004001C C50C006C */ lwc1 $f12, 0x6c($t0) -/* 1B420 80040020 0C00A6C9 */ jal clamp_angle -/* 1B424 80040024 46106300 */ add.s $f12, $f12, $f16 -/* 1B428 80040028 8E8200A4 */ lw $v0, 0xa4($s4) -/* 1B42C 8004002C 3C030100 */ lui $v1, 0x100 -/* 1B430 80040030 00431024 */ and $v0, $v0, $v1 -/* 1B434 80040034 10400008 */ beqz $v0, .L80040058 -/* 1B438 80040038 27A40034 */ addiu $a0, $sp, 0x34 -/* 1B43C 8004003C 3C0141F0 */ lui $at, 0x41f0 -/* 1B440 80040040 44816000 */ mtc1 $at, $f12 -/* 1B444 80040044 00000000 */ nop -/* 1B448 80040048 460C0301 */ sub.s $f12, $f0, $f12 -.L8004004C: -/* 1B44C 8004004C 0C00A6C9 */ jal clamp_angle -/* 1B450 80040050 00000000 */ nop -/* 1B454 80040054 27A40034 */ addiu $a0, $sp, 0x34 -.L80040058: -/* 1B458 80040058 3C0641C0 */ lui $a2, 0x41c0 -/* 1B45C 8004005C 44070000 */ mfc1 $a3, $f0 -/* 1B460 80040060 0C00A7E7 */ jal add_vec2D_polar -/* 1B464 80040064 27A50038 */ addiu $a1, $sp, 0x38 -/* 1B468 80040068 C7A2002C */ lwc1 $f2, 0x2c($sp) -/* 1B46C 8004006C C7A00034 */ lwc1 $f0, 0x34($sp) -/* 1B470 80040070 46001001 */ sub.s $f0, $f2, $f0 -/* 1B474 80040074 46000102 */ mul.s $f4, $f0, $f0 -/* 1B478 80040078 00000000 */ nop -/* 1B47C 8004007C C7A20030 */ lwc1 $f2, 0x30($sp) -/* 1B480 80040080 C7A00038 */ lwc1 $f0, 0x38($sp) -/* 1B484 80040084 46001001 */ sub.s $f0, $f2, $f0 -/* 1B488 80040088 46000002 */ mul.s $f0, $f0, $f0 -/* 1B48C 8004008C 00000000 */ nop -/* 1B490 80040090 46002300 */ add.s $f12, $f4, $f0 -/* 1B494 80040094 46006004 */ sqrt.s $f0, $f12 -/* 1B498 80040098 46000032 */ c.eq.s $f0, $f0 -/* 1B49C 8004009C 00000000 */ nop -/* 1B4A0 800400A0 45010003 */ bc1t .L800400B0 -/* 1B4A4 800400A4 00000000 */ nop -/* 1B4A8 800400A8 0C0187BC */ jal sqrtf -/* 1B4AC 800400AC 00000000 */ nop -.L800400B0: -/* 1B4B0 800400B0 8E220000 */ lw $v0, ($s1) -/* 1B4B4 800400B4 3C030400 */ lui $v1, 0x400 -/* 1B4B8 800400B8 00431024 */ and $v0, $v0, $v1 -/* 1B4BC 800400BC 14400135 */ bnez $v0, .L80040594_1B994 -/* 1B4C0 800400C0 46000586 */ mov.s $f22, $f0 -/* 1B4C4 800400C4 8E820000 */ lw $v0, ($s4) -/* 1B4C8 800400C8 3C030100 */ lui $v1, 0x100 -/* 1B4CC 800400CC 00431024 */ and $v0, $v0, $v1 -/* 1B4D0 800400D0 10400130 */ beqz $v0, .L80040594_1B994 -/* 1B4D4 800400D4 00000000 */ nop -/* 1B4D8 800400D8 3C014160 */ lui $at, 0x4160 -/* 1B4DC 800400DC 44819000 */ mtc1 $at, $f18 -/* 1B4E0 800400E0 00000000 */ nop -/* 1B4E4 800400E4 461E9000 */ add.s $f0, $f18, $f30 -/* 1B4E8 800400E8 4616003E */ c.le.s $f0, $f22 -/* 1B4EC 800400EC 00000000 */ nop -/* 1B4F0 800400F0 45010128 */ bc1t .L80040594_1B994 -/* 1B4F4 800400F4 00000000 */ nop -/* 1B4F8 800400F8 461CD000 */ add.s $f0, $f26, $f28 -/* 1B4FC 800400FC 4614003C */ c.lt.s $f0, $f20 -/* 1B500 80040100 00000000 */ nop -/* 1B504 80040104 45010123 */ bc1t .L80040594_1B994 -/* 1B508 80040108 00000000 */ nop -/* 1B50C 8004010C 3C014190 */ lui $at, 0x4190 -/* 1B510 80040110 44818000 */ mtc1 $at, $f16 -/* 1B514 80040114 00000000 */ nop -/* 1B518 80040118 4610A000 */ add.s $f0, $f20, $f16 -/* 1B51C 8004011C 461A003C */ c.lt.s $f0, $f26 -/* 1B520 80040120 00000000 */ nop -/* 1B524 80040124 4501011B */ bc1t .L80040594_1B994 -/* 1B528 80040128 00000000 */ nop -/* 1B52C 8004012C 8FA60050 */ lw $a2, 0x50($sp) -/* 1B530 80040130 8FA70058 */ lw $a3, 0x58($sp) -/* 1B534 80040134 C7AC002C */ lwc1 $f12, 0x2c($sp) -/* 1B538 80040138 C7AE0030 */ lwc1 $f14, 0x30($sp) -/* 1B53C 8004013C E7BA0040 */ swc1 $f26, 0x40($sp) -/* 1B540 80040140 E7AC003C */ swc1 $f12, 0x3c($sp) -/* 1B544 80040144 0C00A720 */ jal atan2 -/* 1B548 80040148 E7AE0044 */ swc1 $f14, 0x44($sp) -/* 1B54C 8004014C 3C040001 */ lui $a0, 1 -/* 1B550 80040150 03C0302D */ daddu $a2, $fp, $zero -/* 1B554 80040154 02E0382D */ daddu $a3, $s7, $zero -/* 1B558 80040158 8FA50064 */ lw $a1, 0x64($sp) -/* 1B55C 8004015C 461EF500 */ add.s $f20, $f30, $f30 -/* 1B560 80040160 E7B60010 */ swc1 $f22, 0x10($sp) -/* 1B564 80040164 E7A00014 */ swc1 $f0, 0x14($sp) -/* 1B568 80040168 E7BC0018 */ swc1 $f28, 0x18($sp) -/* 1B56C 8004016C 0C0376B9 */ jal npc_test_move_taller_with_slipping -/* 1B570 80040170 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 1B574 80040174 10400016 */ beqz $v0, .L800401D0 -/* 1B578 80040178 00000000 */ nop -/* 1B57C 8004017C C7AC0050 */ lwc1 $f12, 0x50($sp) -/* 1B580 80040180 8FA6002C */ lw $a2, 0x2c($sp) -/* 1B584 80040184 8FA70030 */ lw $a3, 0x30($sp) -/* 1B588 80040188 C7AE0058 */ lwc1 $f14, 0x58($sp) -/* 1B58C 8004018C C7B20054 */ lwc1 $f18, 0x54($sp) -/* 1B590 80040190 46007406 */ mov.s $f16, $f14 -/* 1B594 80040194 E7AC003C */ swc1 $f12, 0x3c($sp) -/* 1B598 80040198 E7B20040 */ swc1 $f18, 0x40($sp) -/* 1B59C 8004019C 0C00A720 */ jal atan2 -/* 1B5A0 800401A0 E7B00044 */ swc1 $f16, 0x44($sp) -/* 1B5A4 800401A4 3C040001 */ lui $a0, 1 -/* 1B5A8 800401A8 03C0302D */ daddu $a2, $fp, $zero -/* 1B5AC 800401AC 8FA50064 */ lw $a1, 0x64($sp) -/* 1B5B0 800401B0 02E0382D */ daddu $a3, $s7, $zero -/* 1B5B4 800401B4 E7B60010 */ swc1 $f22, 0x10($sp) -/* 1B5B8 800401B8 E7A00014 */ swc1 $f0, 0x14($sp) -/* 1B5BC 800401BC E7BC0018 */ swc1 $f28, 0x18($sp) -/* 1B5C0 800401C0 0C0376B9 */ jal npc_test_move_taller_with_slipping -/* 1B5C4 800401C4 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 1B5C8 800401C8 144000F2 */ bnez $v0, .L80040594_1B994 -/* 1B5CC 800401CC 00000000 */ nop -.L800401D0: -/* 1B5D0 800401D0 82220007 */ lb $v0, 7($s1) -/* 1B5D4 800401D4 1040000F */ beqz $v0, .L80040214 -/* 1B5D8 800401D8 00000000 */ nop -/* 1B5DC 800401DC 86220012 */ lh $v0, 0x12($s1) -/* 1B5E0 800401E0 4482D000 */ mtc1 $v0, $f26 -/* 1B5E4 800401E4 00000000 */ nop -/* 1B5E8 800401E8 4680D6A0 */ cvt.s.w $f26, $f26 -/* 1B5EC 800401EC 86220010 */ lh $v0, 0x10($s1) -/* 1B5F0 800401F0 86230014 */ lh $v1, 0x14($s1) -/* 1B5F4 800401F4 44820000 */ mtc1 $v0, $f0 -/* 1B5F8 800401F8 00000000 */ nop -/* 1B5FC 800401FC 46800020 */ cvt.s.w $f0, $f0 -/* 1B600 80040200 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 1B604 80040204 44830000 */ mtc1 $v1, $f0 -/* 1B608 80040208 00000000 */ nop -/* 1B60C 8004020C 46800020 */ cvt.s.w $f0, $f0 -/* 1B610 80040210 E7A00030 */ swc1 $f0, 0x30($sp) -.L80040214: -/* 1B614 80040214 C7AC0050 */ lwc1 $f12, 0x50($sp) -/* 1B618 80040218 C7AE0058 */ lwc1 $f14, 0x58($sp) -/* 1B61C 8004021C 8FA6002C */ lw $a2, 0x2c($sp) -/* 1B620 80040220 8FA70030 */ lw $a3, 0x30($sp) -/* 1B624 80040224 0C00A720 */ jal atan2 -/* 1B628 80040228 0000802D */ daddu $s0, $zero, $zero -/* 1B62C 8004022C C7AE005C */ lwc1 $f14, 0x5c($sp) -/* 1B630 80040230 0C00A70A */ jal get_clamped_angle_diff -/* 1B634 80040234 46000306 */ mov.s $f12, $f0 -/* 1B638 80040238 C7AC002C */ lwc1 $f12, 0x2c($sp) -/* 1B63C 8004023C C7AE0030 */ lwc1 $f14, 0x30($sp) -/* 1B640 80040240 8FA60050 */ lw $a2, 0x50($sp) -/* 1B644 80040244 8FA70058 */ lw $a3, 0x58($sp) -/* 1B648 80040248 0C00A720 */ jal atan2 -/* 1B64C 8004024C 46000505 */ abs.s $f20, $f0 -/* 1B650 80040250 46000306 */ mov.s $f12, $f0 -/* 1B654 80040254 0C00A70A */ jal get_clamped_angle_diff -/* 1B658 80040258 4600C386 */ mov.s $f14, $f24 -/* 1B65C 8004025C 3C0142B4 */ lui $at, 0x42b4 -/* 1B660 80040260 44819000 */ mtc1 $at, $f18 -/* 1B664 80040264 3C0142B4 */ lui $at, 0x42b4 -/* 1B668 80040268 44818000 */ mtc1 $at, $f16 -/* 1B66C 8004026C 00000000 */ nop -/* 1B670 80040270 4610A03C */ c.lt.s $f20, $f16 -/* 1B674 80040274 00000000 */ nop -/* 1B678 80040278 45000008 */ bc1f .L8004029C -/* 1B67C 8004027C 46000005 */ abs.s $f0, $f0 -/* 1B680 80040280 4600803E */ c.le.s $f16, $f0 -/* 1B684 80040284 00000000 */ nop -/* 1B688 80040288 45030004 */ bc1tl .L8004029C -/* 1B68C 8004028C 24100001 */ addiu $s0, $zero, 1 -/* 1B690 80040290 3C0142B4 */ lui $at, 0x42b4 -/* 1B694 80040294 44819000 */ mtc1 $at, $f18 -/* 1B698 80040298 00000000 */ nop -.L8004029C: -/* 1B69C 8004029C 4614903E */ c.le.s $f18, $f20 -/* 1B6A0 800402A0 00000000 */ nop -/* 1B6A4 800402A4 45000005 */ bc1f .L800402BC -/* 1B6A8 800402A8 00000000 */ nop -/* 1B6AC 800402AC 4612003C */ c.lt.s $f0, $f18 -/* 1B6B0 800402B0 00000000 */ nop -/* 1B6B4 800402B4 45030001 */ bc1tl .L800402BC -/* 1B6B8 800402B8 0000802D */ daddu $s0, $zero, $zero -.L800402BC: -/* 1B6BC 800402BC 3C0142B4 */ lui $at, 0x42b4 -/* 1B6C0 800402C0 44818000 */ mtc1 $at, $f16 -/* 1B6C4 800402C4 00000000 */ nop -/* 1B6C8 800402C8 4610A03C */ c.lt.s $f20, $f16 -/* 1B6CC 800402CC 00000000 */ nop -/* 1B6D0 800402D0 45000005 */ bc1f .L800402E8 -/* 1B6D4 800402D4 00000000 */ nop -/* 1B6D8 800402D8 4610003C */ c.lt.s $f0, $f16 -/* 1B6DC 800402DC 00000000 */ nop -/* 1B6E0 800402E0 45030001 */ bc1tl .L800402E8 -/* 1B6E4 800402E4 24100001 */ addiu $s0, $zero, 1 -.L800402E8: -/* 1B6E8 800402E8 120000AA */ beqz $s0, .L80040594_1B994 -/* 1B6EC 800402EC 240400E1 */ addiu $a0, $zero, 0xe1 -/* 1B6F0 800402F0 8E860028 */ lw $a2, 0x28($s4) -/* 1B6F4 800402F4 8E87002C */ lw $a3, 0x2c($s4) -/* 1B6F8 800402F8 C6800030 */ lwc1 $f0, 0x30($s4) -/* 1B6FC 800402FC 0000282D */ daddu $a1, $zero, $zero -/* 1B700 80040300 0C052757 */ jal sfx_play_sound_at_position -/* 1B704 80040304 E7A00010 */ swc1 $f0, 0x10($sp) -/* 1B708 80040308 3C038011 */ lui $v1, %hi(gPlayerData+0x1) -/* 1B70C 8004030C 9063F291 */ lbu $v1, %lo(gPlayerData+0x1)($v1) -/* 1B710 80040310 24020004 */ addiu $v0, $zero, 4 -/* 1B714 80040314 A2620005 */ sb $v0, 5($s3) -/* 1B718 80040318 0801015F */ j .L8004057C -/* 1B71C 8004031C A2630006 */ sb $v1, 6($s3) -.L80040320_1B720: -/* 1B720 80040320 C7B00050 */ lwc1 $f16, 0x50($sp) -/* 1B724 80040324 C7B20058 */ lwc1 $f18, 0x58($sp) -/* 1B728 80040328 E7B00034 */ swc1 $f16, 0x34($sp) -/* 1B72C 8004032C E7B20038 */ swc1 $f18, 0x38($sp) -/* 1B730 80040330 8E220000 */ lw $v0, ($s1) -/* 1B734 80040334 3C030200 */ lui $v1, 0x200 -/* 1B738 80040338 00431024 */ and $v0, $v0, $v1 -/* 1B73C 8004033C 14400095 */ bnez $v0, .L80040594_1B994 -/* 1B740 80040340 00000000 */ nop -/* 1B744 80040344 3C014160 */ lui $at, 0x4160 -/* 1B748 80040348 44818000 */ mtc1 $at, $f16 -/* 1B74C 8004034C 00000000 */ nop -/* 1B750 80040350 461E8000 */ add.s $f0, $f16, $f30 -/* 1B754 80040354 4616003E */ c.le.s $f0, $f22 -/* 1B758 80040358 00000000 */ nop -/* 1B75C 8004035C 4501015A */ bc1t .L800408C8 -/* 1B760 80040360 00000000 */ nop -/* 1B764 80040364 461CD600 */ add.s $f24, $f26, $f28 -/* 1B768 80040368 C7B20054 */ lwc1 $f18, 0x54($sp) -/* 1B76C 8004036C 4612C03C */ c.lt.s $f24, $f18 -/* 1B770 80040370 00000000 */ nop -/* 1B774 80040374 45010154 */ bc1t .L800408C8 -/* 1B778 80040378 00000000 */ nop -/* 1B77C 8004037C 3C014214 */ lui $at, 0x4214 -/* 1B780 80040380 44818000 */ mtc1 $at, $f16 -/* 1B784 80040384 00000000 */ nop -/* 1B788 80040388 46109000 */ add.s $f0, $f18, $f16 -/* 1B78C 8004038C 461A003C */ c.lt.s $f0, $f26 -/* 1B790 80040390 00000000 */ nop -/* 1B794 80040394 4501014C */ bc1t .L800408C8 -/* 1B798 80040398 00000000 */ nop -/* 1B79C 8004039C 8FA60050 */ lw $a2, 0x50($sp) -/* 1B7A0 800403A0 8FA70058 */ lw $a3, 0x58($sp) -/* 1B7A4 800403A4 C7AC002C */ lwc1 $f12, 0x2c($sp) -/* 1B7A8 800403A8 C7AE0030 */ lwc1 $f14, 0x30($sp) -/* 1B7AC 800403AC E7BA0040 */ swc1 $f26, 0x40($sp) -/* 1B7B0 800403B0 E7AC003C */ swc1 $f12, 0x3c($sp) -/* 1B7B4 800403B4 0C00A720 */ jal atan2 -/* 1B7B8 800403B8 E7AE0044 */ swc1 $f14, 0x44($sp) -/* 1B7BC 800403BC 3C040001 */ lui $a0, 1 -/* 1B7C0 800403C0 03C0302D */ daddu $a2, $fp, $zero -/* 1B7C4 800403C4 02E0382D */ daddu $a3, $s7, $zero -/* 1B7C8 800403C8 8FA50064 */ lw $a1, 0x64($sp) -/* 1B7CC 800403CC 461EF500 */ add.s $f20, $f30, $f30 -/* 1B7D0 800403D0 E7B60010 */ swc1 $f22, 0x10($sp) -/* 1B7D4 800403D4 E7A00014 */ swc1 $f0, 0x14($sp) -/* 1B7D8 800403D8 E7BC0018 */ swc1 $f28, 0x18($sp) -/* 1B7DC 800403DC 0C0376B9 */ jal npc_test_move_taller_with_slipping -/* 1B7E0 800403E0 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 1B7E4 800403E4 10400016 */ beqz $v0, .L80040440 -/* 1B7E8 800403E8 00000000 */ nop -/* 1B7EC 800403EC C7AC0050 */ lwc1 $f12, 0x50($sp) -/* 1B7F0 800403F0 8FA6002C */ lw $a2, 0x2c($sp) -/* 1B7F4 800403F4 8FA70030 */ lw $a3, 0x30($sp) -/* 1B7F8 800403F8 C7AE0058 */ lwc1 $f14, 0x58($sp) -/* 1B7FC 800403FC C7B20054 */ lwc1 $f18, 0x54($sp) -/* 1B800 80040400 46007406 */ mov.s $f16, $f14 -/* 1B804 80040404 E7AC003C */ swc1 $f12, 0x3c($sp) -/* 1B808 80040408 E7B20040 */ swc1 $f18, 0x40($sp) -/* 1B80C 8004040C 0C00A720 */ jal atan2 -/* 1B810 80040410 E7B00044 */ swc1 $f16, 0x44($sp) -/* 1B814 80040414 3C040001 */ lui $a0, 1 -/* 1B818 80040418 03C0302D */ daddu $a2, $fp, $zero -/* 1B81C 8004041C 8FA50064 */ lw $a1, 0x64($sp) -/* 1B820 80040420 02E0382D */ daddu $a3, $s7, $zero -/* 1B824 80040424 E7B60010 */ swc1 $f22, 0x10($sp) -/* 1B828 80040428 E7A00014 */ swc1 $f0, 0x14($sp) -/* 1B82C 8004042C E7BC0018 */ swc1 $f28, 0x18($sp) -/* 1B830 80040430 0C0376B9 */ jal npc_test_move_taller_with_slipping -/* 1B834 80040434 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 1B838 80040438 14400056 */ bnez $v0, .L80040594_1B994 -/* 1B83C 8004043C 00000000 */ nop -.L80040440: -/* 1B840 80040440 3C014214 */ lui $at, 0x4214 -/* 1B844 80040444 44819000 */ mtc1 $at, $f18 -/* 1B848 80040448 3C013F00 */ lui $at, 0x3f00 -/* 1B84C 8004044C 44818000 */ mtc1 $at, $f16 -/* 1B850 80040450 00000000 */ nop -/* 1B854 80040454 46109002 */ mul.s $f0, $f18, $f16 -/* 1B858 80040458 00000000 */ nop -/* 1B85C 8004045C C7B20054 */ lwc1 $f18, 0x54($sp) -/* 1B860 80040460 46009000 */ add.s $f0, $f18, $f0 -/* 1B864 80040464 4600C03C */ c.lt.s $f24, $f0 -/* 1B868 80040468 00000000 */ nop -/* 1B86C 8004046C 45000015 */ bc1f .L800404C4 -/* 1B870 80040470 0000802D */ daddu $s0, $zero, $zero -/* 1B874 80040474 928300B4 */ lbu $v1, 0xb4($s4) -/* 1B878 80040478 2462FFF8 */ addiu $v0, $v1, -8 -/* 1B87C 8004047C 2C420004 */ sltiu $v0, $v0, 4 -/* 1B880 80040480 54400010 */ bnel $v0, $zero, .L800404C4 -/* 1B884 80040484 24100001 */ addiu $s0, $zero, 1 -/* 1B888 80040488 00031600 */ sll $v0, $v1, 0x18 -/* 1B88C 8004048C 00021E03 */ sra $v1, $v0, 0x18 -/* 1B890 80040490 2402000D */ addiu $v0, $zero, 0xd -/* 1B894 80040494 10620007 */ beq $v1, $v0, .L800404B4 -/* 1B898 80040498 2402000E */ addiu $v0, $zero, 0xe -/* 1B89C 8004049C 10620005 */ beq $v1, $v0, .L800404B4 -/* 1B8A0 800404A0 2402000F */ addiu $v0, $zero, 0xf -/* 1B8A4 800404A4 10620003 */ beq $v1, $v0, .L800404B4 -/* 1B8A8 800404A8 24020010 */ addiu $v0, $zero, 0x10 -/* 1B8AC 800404AC 14620005 */ bne $v1, $v0, .L800404C4 -/* 1B8B0 800404B0 00000000 */ nop -.L800404B4: -/* 1B8B4 800404B4 24100001 */ addiu $s0, $zero, 1 -/* 1B8B8 800404B8 3C013F00 */ lui $at, 0x3f00 -/* 1B8BC 800404BC 44818000 */ mtc1 $at, $f16 -/* 1B8C0 800404C0 00000000 */ nop -.L800404C4: -/* 1B8C4 800404C4 4610E002 */ mul.s $f0, $f28, $f16 -/* 1B8C8 800404C8 00000000 */ nop -/* 1B8CC 800404CC C7B20054 */ lwc1 $f18, 0x54($sp) -/* 1B8D0 800404D0 3C014214 */ lui $at, 0x4214 -/* 1B8D4 800404D4 44818000 */ mtc1 $at, $f16 -/* 1B8D8 800404D8 00000000 */ nop -/* 1B8DC 800404DC 46109080 */ add.s $f2, $f18, $f16 -/* 1B8E0 800404E0 4600D000 */ add.s $f0, $f26, $f0 -/* 1B8E4 800404E4 4600103C */ c.lt.s $f2, $f0 -/* 1B8E8 800404E8 00000000 */ nop -/* 1B8EC 800404EC 45030001 */ bc1tl .L800404F4 -/* 1B8F0 800404F0 0000802D */ daddu $s0, $zero, $zero -.L800404F4: -/* 1B8F4 800404F4 12000027 */ beqz $s0, .L80040594_1B994 -/* 1B8F8 800404F8 00000000 */ nop -/* 1B8FC 800404FC 3C028011 */ lui $v0, %hi(gPlayerData) -/* 1B900 80040500 8042F290 */ lb $v0, %lo(gPlayerData)($v0) -/* 1B904 80040504 0440FD12 */ bltz $v0, .L8003F950 -/* 1B908 80040508 24030002 */ addiu $v1, $zero, 2 -/* 1B90C 8004050C 928200B4 */ lbu $v0, 0xb4($s4) -/* 1B910 80040510 A2630005 */ sb $v1, 5($s3) -/* 1B914 80040514 2442FFFD */ addiu $v0, $v0, -3 -/* 1B918 80040518 00021600 */ sll $v0, $v0, 0x18 -/* 1B91C 8004051C 00021E03 */ sra $v1, $v0, 0x18 -/* 1B920 80040520 2C62000E */ sltiu $v0, $v1, 0xe -/* 1B924 80040524 1040000D */ beqz $v0, .L8004055C_1B95C -/* 1B928 80040528 00031080 */ sll $v0, $v1, 2 -/* 1B92C 8004052C 3C01800A */ lui $at, %hi(jtbl_80098638) -/* 1B930 80040530 00220821 */ addu $at, $at, $v0 -/* 1B934 80040534 8C228638 */ lw $v0, %lo(jtbl_80098638)($at) -/* 1B938 80040538 00400008 */ jr $v0 -/* 1B93C 8004053C 00000000 */ nop -.L80040540_1B940: -/* 1B940 80040540 08010157 */ j .L8004055C_1B95C -/* 1B944 80040544 A2600006 */ sb $zero, 6($s3) -.L80040548_1B948: -/* 1B948 80040548 24080001 */ addiu $t0, $zero, 1 -/* 1B94C 8004054C 08010157 */ j .L8004055C_1B95C -/* 1B950 80040550 A2680006 */ sb $t0, 6($s3) -.L80040554_1B954: -/* 1B954 80040554 24020002 */ addiu $v0, $zero, 2 -/* 1B958 80040558 A2620006 */ sb $v0, 6($s3) -.L8004055C_1B95C: -/* 1B95C 8004055C 240400E1 */ addiu $a0, $zero, 0xe1 -/* 1B960 80040560 8E860028 */ lw $a2, 0x28($s4) -/* 1B964 80040564 8E87002C */ lw $a3, 0x2c($s4) -/* 1B968 80040568 C6800030 */ lwc1 $f0, 0x30($s4) -/* 1B96C 8004056C 0000282D */ daddu $a1, $zero, $zero -/* 1B970 80040570 0C052757 */ jal sfx_play_sound_at_position -/* 1B974 80040574 E7A00010 */ swc1 $f0, 0x10($sp) -/* 1B978 80040578 24020002 */ addiu $v0, $zero, 2 -.L8004057C: -/* 1B97C 8004057C A2220005 */ sb $v0, 5($s1) -/* 1B980 80040580 24080001 */ addiu $t0, $zero, 1 -/* 1B984 80040584 AE760088 */ sw $s6, 0x88($s3) -/* 1B988 80040588 AE71008C */ sw $s1, 0x8c($s3) -/* 1B98C 8004058C 0801023D */ j .L800408F4 -/* 1B990 80040590 A2680004 */ sb $t0, 4($s3) -.L80040594_1B994: -/* 1B994 80040594 8E220000 */ lw $v0, ($s1) -/* 1B998 80040598 3C030100 */ lui $v1, 0x100 -/* 1B99C 8004059C 00431024 */ and $v0, $v0, $v1 -/* 1B9A0 800405A0 144000C9 */ bnez $v0, .L800408C8 -/* 1B9A4 800405A4 00000000 */ nop -/* 1B9A8 800405A8 C7A0002C */ lwc1 $f0, 0x2c($sp) -/* 1B9AC 800405AC C7B00050 */ lwc1 $f16, 0x50($sp) -/* 1B9B0 800405B0 46100001 */ sub.s $f0, $f0, $f16 -/* 1B9B4 800405B4 46000082 */ mul.s $f2, $f0, $f0 -/* 1B9B8 800405B8 00000000 */ nop -/* 1B9BC 800405BC C7B20058 */ lwc1 $f18, 0x58($sp) -/* 1B9C0 800405C0 C7A00030 */ lwc1 $f0, 0x30($sp) -/* 1B9C4 800405C4 46120001 */ sub.s $f0, $f0, $f18 -/* 1B9C8 800405C8 46000002 */ mul.s $f0, $f0, $f0 -/* 1B9CC 800405CC 00000000 */ nop -/* 1B9D0 800405D0 46001300 */ add.s $f12, $f2, $f0 -/* 1B9D4 800405D4 46006104 */ sqrt.s $f4, $f12 -/* 1B9D8 800405D8 46042032 */ c.eq.s $f4, $f4 -/* 1B9DC 800405DC 00000000 */ nop -/* 1B9E0 800405E0 45010004 */ bc1t .L800405F4 -/* 1B9E4 800405E4 00000000 */ nop -/* 1B9E8 800405E8 0C0187BC */ jal sqrtf -/* 1B9EC 800405EC 00000000 */ nop -/* 1B9F0 800405F0 46000106 */ mov.s $f4, $f0 -.L800405F4: -/* 1B9F4 800405F4 3C014160 */ lui $at, 0x4160 -/* 1B9F8 800405F8 44818000 */ mtc1 $at, $f16 -/* 1B9FC 800405FC 00000000 */ nop -/* 1BA00 80040600 461E8000 */ add.s $f0, $f16, $f30 -/* 1BA04 80040604 3C01800A */ lui $at, %hi(D_80098670) -/* 1BA08 80040608 D4228670 */ ldc1 $f2, %lo(D_80098670)($at) -/* 1BA0C 8004060C 46000021 */ cvt.d.s $f0, $f0 -/* 1BA10 80040610 46220002 */ mul.d $f0, $f0, $f2 -/* 1BA14 80040614 00000000 */ nop -/* 1BA18 80040618 46002586 */ mov.s $f22, $f4 -/* 1BA1C 8004061C 4600B0A1 */ cvt.d.s $f2, $f22 -/* 1BA20 80040620 4622003E */ c.le.d $f0, $f2 -/* 1BA24 80040624 00000000 */ nop -/* 1BA28 80040628 450100A7 */ bc1t .L800408C8 -/* 1BA2C 8004062C 00000000 */ nop -/* 1BA30 80040630 461CD000 */ add.s $f0, $f26, $f28 -/* 1BA34 80040634 C7B20054 */ lwc1 $f18, 0x54($sp) -/* 1BA38 80040638 4612003C */ c.lt.s $f0, $f18 -/* 1BA3C 8004063C 00000000 */ nop -/* 1BA40 80040640 450100A1 */ bc1t .L800408C8 -/* 1BA44 80040644 00000000 */ nop -/* 1BA48 80040648 3C014214 */ lui $at, 0x4214 -/* 1BA4C 8004064C 44818000 */ mtc1 $at, $f16 -/* 1BA50 80040650 00000000 */ nop -/* 1BA54 80040654 46109000 */ add.s $f0, $f18, $f16 -/* 1BA58 80040658 461A003C */ c.lt.s $f0, $f26 -/* 1BA5C 8004065C 00000000 */ nop -/* 1BA60 80040660 45010099 */ bc1t .L800408C8 -/* 1BA64 80040664 00000000 */ nop -/* 1BA68 80040668 8FA60050 */ lw $a2, 0x50($sp) -/* 1BA6C 8004066C 8FA70058 */ lw $a3, 0x58($sp) -/* 1BA70 80040670 C7AC002C */ lwc1 $f12, 0x2c($sp) -/* 1BA74 80040674 C7AE0030 */ lwc1 $f14, 0x30($sp) -/* 1BA78 80040678 E7BA0040 */ swc1 $f26, 0x40($sp) -/* 1BA7C 8004067C E7AC003C */ swc1 $f12, 0x3c($sp) -/* 1BA80 80040680 0C00A720 */ jal atan2 -/* 1BA84 80040684 E7AE0044 */ swc1 $f14, 0x44($sp) -/* 1BA88 80040688 3C040001 */ lui $a0, 1 -/* 1BA8C 8004068C 03C0302D */ daddu $a2, $fp, $zero -/* 1BA90 80040690 02E0382D */ daddu $a3, $s7, $zero -/* 1BA94 80040694 8FA50064 */ lw $a1, 0x64($sp) -/* 1BA98 80040698 461EF500 */ add.s $f20, $f30, $f30 -/* 1BA9C 8004069C E7B60010 */ swc1 $f22, 0x10($sp) -/* 1BAA0 800406A0 E7A00014 */ swc1 $f0, 0x14($sp) -/* 1BAA4 800406A4 E7BC0018 */ swc1 $f28, 0x18($sp) -/* 1BAA8 800406A8 0C0376B9 */ jal npc_test_move_taller_with_slipping -/* 1BAAC 800406AC E7B4001C */ swc1 $f20, 0x1c($sp) -/* 1BAB0 800406B0 10400016 */ beqz $v0, .L8004070C -/* 1BAB4 800406B4 0000802D */ daddu $s0, $zero, $zero -/* 1BAB8 800406B8 C7AC0050 */ lwc1 $f12, 0x50($sp) -/* 1BABC 800406BC 8FA6002C */ lw $a2, 0x2c($sp) -/* 1BAC0 800406C0 8FA70030 */ lw $a3, 0x30($sp) -/* 1BAC4 800406C4 C7AE0058 */ lwc1 $f14, 0x58($sp) -/* 1BAC8 800406C8 C7B20054 */ lwc1 $f18, 0x54($sp) -/* 1BACC 800406CC 46007406 */ mov.s $f16, $f14 -/* 1BAD0 800406D0 E7AC003C */ swc1 $f12, 0x3c($sp) -/* 1BAD4 800406D4 E7B20040 */ swc1 $f18, 0x40($sp) -/* 1BAD8 800406D8 0C00A720 */ jal atan2 -/* 1BADC 800406DC E7B00044 */ swc1 $f16, 0x44($sp) -/* 1BAE0 800406E0 3C040001 */ lui $a0, 1 -/* 1BAE4 800406E4 03C0302D */ daddu $a2, $fp, $zero -/* 1BAE8 800406E8 8FA50064 */ lw $a1, 0x64($sp) -/* 1BAEC 800406EC 02E0382D */ daddu $a3, $s7, $zero -/* 1BAF0 800406F0 E7B60010 */ swc1 $f22, 0x10($sp) -/* 1BAF4 800406F4 E7A00014 */ swc1 $f0, 0x14($sp) -/* 1BAF8 800406F8 E7BC0018 */ swc1 $f28, 0x18($sp) -/* 1BAFC 800406FC 0C0376B9 */ jal npc_test_move_taller_with_slipping -/* 1BB00 80040700 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 1BB04 80040704 14400070 */ bnez $v0, .L800408C8 -/* 1BB08 80040708 0000802D */ daddu $s0, $zero, $zero -.L8004070C: -/* 1BB0C 8004070C 0C03A752 */ jal is_ability_active -/* 1BB10 80040710 24040028 */ addiu $a0, $zero, 0x28 -/* 1BB14 80040714 1040000A */ beqz $v0, .L80040740 -/* 1BB18 80040718 00000000 */ nop -/* 1BB1C 8004071C 8E220018 */ lw $v0, 0x18($s1) -/* 1BB20 80040720 3C038011 */ lui $v1, %hi(gPlayerData+0x9) -/* 1BB24 80040724 8063F299 */ lb $v1, %lo(gPlayerData+0x9)($v1) -/* 1BB28 80040728 84420028 */ lh $v0, 0x28($v0) -/* 1BB2C 8004072C 0062182A */ slt $v1, $v1, $v0 -/* 1BB30 80040730 14600003 */ bnez $v1, .L80040740 -/* 1BB34 80040734 00000000 */ nop -/* 1BB38 80040738 82620012 */ lb $v0, 0x12($s3) -/* 1BB3C 8004073C 2C500001 */ sltiu $s0, $v0, 1 -.L80040740: -/* 1BB40 80040740 0C03A752 */ jal is_ability_active -/* 1BB44 80040744 2404002D */ addiu $a0, $zero, 0x2d -/* 1BB48 80040748 54400001 */ bnel $v0, $zero, .L80040750 -/* 1BB4C 8004074C 24100001 */ addiu $s0, $zero, 1 -.L80040750: -/* 1BB50 80040750 8E820004 */ lw $v0, 4($s4) -/* 1BB54 80040754 3C030001 */ lui $v1, 1 -/* 1BB58 80040758 00431024 */ and $v0, $v0, $v1 -/* 1BB5C 8004075C 10400007 */ beqz $v0, .L8004077C -/* 1BB60 80040760 3C032000 */ lui $v1, 0x2000 -/* 1BB64 80040764 8E220000 */ lw $v0, ($s1) -/* 1BB68 80040768 00431024 */ and $v0, $v0, $v1 -/* 1BB6C 8004076C 14400004 */ bnez $v0, .L80040780 -/* 1BB70 80040770 3C03FFFD */ lui $v1, 0xfffd -/* 1BB74 80040774 1600FC7E */ bnez $s0, .L8003F970 -/* 1BB78 80040778 240400E1 */ addiu $a0, $zero, 0xe1 -.L8004077C: -/* 1BB7C 8004077C 3C03FFFD */ lui $v1, 0xfffd -.L80040780: -/* 1BB80 80040780 3463FFFF */ ori $v1, $v1, 0xffff -/* 1BB84 80040784 8E820004 */ lw $v0, 4($s4) -/* 1BB88 80040788 24080001 */ addiu $t0, $zero, 1 -/* 1BB8C 8004078C A2680005 */ sb $t0, 5($s3) -/* 1BB90 80040790 00431024 */ and $v0, $v0, $v1 -/* 1BB94 80040794 AE820004 */ sw $v0, 4($s4) -/* 1BB98 80040798 A2280005 */ sb $t0, 5($s1) -/* 1BB9C 8004079C AE760088 */ sw $s6, 0x88($s3) -/* 1BBA0 800407A0 AE71008C */ sw $s1, 0x8c($s3) -/* 1BBA4 800407A4 C6460038 */ lwc1 $f6, 0x38($s2) -/* 1BBA8 800407A8 C68A0028 */ lwc1 $f10, 0x28($s4) -/* 1BBAC 800407AC 460A3181 */ sub.s $f6, $f6, $f10 -/* 1BBB0 800407B0 3C013F00 */ lui $at, 0x3f00 -/* 1BBB4 800407B4 44818000 */ mtc1 $at, $f16 -/* 1BBB8 800407B8 00000000 */ nop -/* 1BBBC 800407BC 46103182 */ mul.s $f6, $f6, $f16 -/* 1BBC0 800407C0 00000000 */ nop -/* 1BBC4 800407C4 864200A8 */ lh $v0, 0xa8($s2) -/* 1BBC8 800407C8 C644003C */ lwc1 $f4, 0x3c($s2) -/* 1BBCC 800407CC 44820000 */ mtc1 $v0, $f0 -/* 1BBD0 800407D0 00000000 */ nop -/* 1BBD4 800407D4 46800020 */ cvt.s.w $f0, $f0 -/* 1BBD8 800407D8 46002100 */ add.s $f4, $f4, $f0 -/* 1BBDC 800407DC 868200B0 */ lh $v0, 0xb0($s4) -/* 1BBE0 800407E0 C688002C */ lwc1 $f8, 0x2c($s4) -/* 1BBE4 800407E4 44820000 */ mtc1 $v0, $f0 -/* 1BBE8 800407E8 00000000 */ nop -/* 1BBEC 800407EC 46800020 */ cvt.s.w $f0, $f0 -/* 1BBF0 800407F0 46004000 */ add.s $f0, $f8, $f0 -/* 1BBF4 800407F4 46002101 */ sub.s $f4, $f4, $f0 -/* 1BBF8 800407F8 46102102 */ mul.s $f4, $f4, $f16 -/* 1BBFC 800407FC 00000000 */ nop -/* 1BC00 80040800 C6820030 */ lwc1 $f2, 0x30($s4) -/* 1BC04 80040804 C6400040 */ lwc1 $f0, 0x40($s2) -/* 1BC08 80040808 46020001 */ sub.s $f0, $f0, $f2 -/* 1BC0C 8004080C 46100002 */ mul.s $f0, $f0, $f16 -/* 1BC10 80040810 00000000 */ nop -/* 1BC14 80040814 46065280 */ add.s $f10, $f10, $f6 -/* 1BC18 80040818 46044200 */ add.s $f8, $f8, $f4 -/* 1BC1C 8004081C 24040003 */ addiu $a0, $zero, 3 -/* 1BC20 80040820 44055000 */ mfc1 $a1, $f10 -/* 1BC24 80040824 46001080 */ add.s $f2, $f2, $f0 -/* 1BC28 80040828 3C01BF80 */ lui $at, 0xbf80 -/* 1BC2C 8004082C 44810000 */ mtc1 $at, $f0 -/* 1BC30 80040830 44064000 */ mfc1 $a2, $f8 -/* 1BC34 80040834 44071000 */ mfc1 $a3, $f2 -/* 1BC38 80040838 0080102D */ daddu $v0, $a0, $zero -/* 1BC3C 8004083C AFA5003C */ sw $a1, 0x3c($sp) -/* 1BC40 80040840 AFA60040 */ sw $a2, 0x40($sp) -/* 1BC44 80040844 AFA70044 */ sw $a3, 0x44($sp) -/* 1BC48 80040848 AFA00010 */ sw $zero, 0x10($sp) -/* 1BC4C 8004084C E7A00014 */ swc1 $f0, 0x14($sp) -/* 1BC50 80040850 AFA00018 */ sw $zero, 0x18($sp) -/* 1BC54 80040854 0C01C064 */ jal fx_damage_stars -/* 1BC58 80040858 AFA2001C */ sw $v0, 0x1c($sp) -/* 1BC5C 8004085C 82220007 */ lb $v0, 7($s1) -/* 1BC60 80040860 10400005 */ beqz $v0, .L80040878 -/* 1BC64 80040864 0000802D */ daddu $s0, $zero, $zero -/* 1BC68 80040868 0C03A752 */ jal is_ability_active -/* 1BC6C 8004086C 24040011 */ addiu $a0, $zero, 0x11 -/* 1BC70 80040870 2C420001 */ sltiu $v0, $v0, 1 -/* 1BC74 80040874 00028040 */ sll $s0, $v0, 1 -.L80040878: -/* 1BC78 80040878 0C03A752 */ jal is_ability_active -/* 1BC7C 8004087C 2404002A */ addiu $a0, $zero, 0x2a -/* 1BC80 80040880 5040001C */ beql $v0, $zero, .L800408F4 -/* 1BC84 80040884 A2700004 */ sb $s0, 4($s3) -/* 1BC88 80040888 8E220018 */ lw $v0, 0x18($s1) -/* 1BC8C 8004088C 3C038011 */ lui $v1, %hi(gPlayerData+0x9) -/* 1BC90 80040890 8063F299 */ lb $v1, %lo(gPlayerData+0x9)($v1) -/* 1BC94 80040894 84420028 */ lh $v0, 0x28($v0) -/* 1BC98 80040898 0062182A */ slt $v1, $v1, $v0 -/* 1BC9C 8004089C 54600015 */ bnel $v1, $zero, .L800408F4 -/* 1BCA0 800408A0 A2700004 */ sb $s0, 4($s3) -/* 1BCA4 800408A4 8E220000 */ lw $v0, ($s1) -/* 1BCA8 800408A8 30420040 */ andi $v0, $v0, 0x40 -/* 1BCAC 800408AC 54400011 */ bnel $v0, $zero, .L800408F4 -/* 1BCB0 800408B0 A2700004 */ sb $s0, 4($s3) -/* 1BCB4 800408B4 82620012 */ lb $v0, 0x12($s3) -/* 1BCB8 800408B8 50400001 */ beql $v0, $zero, .L800408C0 -/* 1BCBC 800408BC 0000802D */ daddu $s0, $zero, $zero -.L800408C0: -/* 1BCC0 800408C0 0801023D */ j .L800408F4 -/* 1BCC4 800408C4 A2700004 */ sb $s0, 4($s3) -.L800408C8: -/* 1BCC8 800408C8 8EC20000 */ lw $v0, ($s6) -/* 1BCCC 800408CC 26B50001 */ addiu $s5, $s5, 1 -/* 1BCD0 800408D0 02A2102A */ slt $v0, $s5, $v0 -/* 1BCD4 800408D4 1440FC79 */ bnez $v0, .L8003FABC -/* 1BCD8 800408D8 00151080 */ sll $v0, $s5, 2 -/* 1BCDC 800408DC 8FA8004C */ lw $t0, 0x4c($sp) -.L800408E0: -/* 1BCE0 800408E0 8262001C */ lb $v0, 0x1c($s3) -/* 1BCE4 800408E4 25080001 */ addiu $t0, $t0, 1 -/* 1BCE8 800408E8 0102102A */ slt $v0, $t0, $v0 -/* 1BCEC 800408EC 1440FC67 */ bnez $v0, .L8003FA8C -/* 1BCF0 800408F0 AFA8004C */ sw $t0, 0x4c($sp) -.L800408F4: -/* 1BCF4 800408F4 82630005 */ lb $v1, 5($s3) -.L800408F8: -/* 1BCF8 800408F8 2C620007 */ sltiu $v0, $v1, 7 -/* 1BCFC 800408FC 10400285 */ beqz $v0, .L80041314_1C714 -/* 1BD00 80040900 00031080 */ sll $v0, $v1, 2 -/* 1BD04 80040904 3C01800A */ lui $at, %hi(jtbl_80098678) -/* 1BD08 80040908 00220821 */ addu $at, $at, $v0 -/* 1BD0C 8004090C 8C228678 */ lw $v0, %lo(jtbl_80098678)($at) -/* 1BD10 80040910 00400008 */ jr $v0 -/* 1BD14 80040914 00000000 */ nop -.L80040918_1BD18: -/* 1BD18 80040918 8E71008C */ lw $s1, 0x8c($s3) -/* 1BD1C 8004091C 8E22003C */ lw $v0, 0x3c($s1) -/* 1BD20 80040920 10400004 */ beqz $v0, .L80040934 -/* 1BD24 80040924 0220B82D */ daddu $s7, $s1, $zero -/* 1BD28 80040928 8E240054 */ lw $a0, 0x54($s1) -/* 1BD2C 8004092C 0C0B1108 */ jal suspend_all_script -/* 1BD30 80040930 00000000 */ nop -.L80040934: -/* 1BD34 80040934 8E220044 */ lw $v0, 0x44($s1) -/* 1BD38 80040938 10400003 */ beqz $v0, .L80040948 -/* 1BD3C 8004093C 00000000 */ nop -/* 1BD40 80040940 0C0B1108 */ jal suspend_all_script -/* 1BD44 80040944 8E24005C */ lw $a0, 0x5c($s1) -.L80040948: -/* 1BD48 80040948 8E760088 */ lw $s6, 0x88($s3) -/* 1BD4C 8004094C 8EC20000 */ lw $v0, ($s6) -/* 1BD50 80040950 1840002B */ blez $v0, .L80040A00 -/* 1BD54 80040954 0000A82D */ daddu $s5, $zero, $zero -/* 1BD58 80040958 24120001 */ addiu $s2, $zero, 1 -/* 1BD5C 8004095C 02C0802D */ daddu $s0, $s6, $zero -.L80040960: -/* 1BD60 80040960 8E110004 */ lw $s1, 4($s0) -/* 1BD64 80040964 12200021 */ beqz $s1, .L800409EC -/* 1BD68 80040968 00000000 */ nop -/* 1BD6C 8004096C 8E230000 */ lw $v1, ($s1) -/* 1BD70 80040970 30620008 */ andi $v0, $v1, 8 -/* 1BD74 80040974 10400004 */ beqz $v0, .L80040988 -/* 1BD78 80040978 30620020 */ andi $v0, $v1, 0x20 -/* 1BD7C 8004097C 8E62008C */ lw $v0, 0x8c($s3) -/* 1BD80 80040980 1622001A */ bne $s1, $v0, .L800409EC -/* 1BD84 80040984 30620020 */ andi $v0, $v1, 0x20 -.L80040988: -/* 1BD88 80040988 14400018 */ bnez $v0, .L800409EC -/* 1BD8C 8004098C 00000000 */ nop -/* 1BD90 80040990 8EE20000 */ lw $v0, ($s7) -/* 1BD94 80040994 30420040 */ andi $v0, $v0, 0x40 -/* 1BD98 80040998 10400004 */ beqz $v0, .L800409AC -/* 1BD9C 8004099C 00000000 */ nop -/* 1BDA0 800409A0 8E62008C */ lw $v0, 0x8c($s3) -/* 1BDA4 800409A4 16220011 */ bne $s1, $v0, .L800409EC -/* 1BDA8 800409A8 00000000 */ nop -.L800409AC: -/* 1BDAC 800409AC 8E220028 */ lw $v0, 0x28($s1) -/* 1BDB0 800409B0 1040000E */ beqz $v0, .L800409EC -/* 1BDB4 800409B4 2405000A */ addiu $a1, $zero, 0xa -/* 1BDB8 800409B8 0040202D */ daddu $a0, $v0, $zero -/* 1BDBC 800409BC 0000302D */ daddu $a2, $zero, $zero -/* 1BDC0 800409C0 0C0B0CF8 */ jal start_script -/* 1BDC4 800409C4 A2320005 */ sb $s2, 5($s1) -/* 1BDC8 800409C8 0040202D */ daddu $a0, $v0, $zero -/* 1BDCC 800409CC AE240040 */ sw $a0, 0x40($s1) -/* 1BDD0 800409D0 8C820144 */ lw $v0, 0x144($a0) -/* 1BDD4 800409D4 AE220058 */ sw $v0, 0x58($s1) -/* 1BDD8 800409D8 AC910148 */ sw $s1, 0x148($a0) -/* 1BDDC 800409DC 86220008 */ lh $v0, 8($s1) -/* 1BDE0 800409E0 AC82014C */ sw $v0, 0x14c($a0) -/* 1BDE4 800409E4 92220006 */ lbu $v0, 6($s1) -/* 1BDE8 800409E8 A0820004 */ sb $v0, 4($a0) -.L800409EC: -/* 1BDEC 800409EC 8EC20000 */ lw $v0, ($s6) -/* 1BDF0 800409F0 26B50001 */ addiu $s5, $s5, 1 -/* 1BDF4 800409F4 02A2102A */ slt $v0, $s5, $v0 -/* 1BDF8 800409F8 1440FFD9 */ bnez $v0, .L80040960 -/* 1BDFC 800409FC 26100004 */ addiu $s0, $s0, 4 -.L80040A00: -/* 1BE00 80040A00 0C03805E */ jal disable_player_input -/* 1BE04 80040A04 00000000 */ nop -/* 1BE08 80040A08 0C03BD8A */ jal partner_disable_input -/* 1BE0C 80040A0C 00000000 */ nop -/* 1BE10 80040A10 928300B4 */ lbu $v1, 0xb4($s4) -/* 1BE14 80040A14 2462FFF1 */ addiu $v0, $v1, -0xf -/* 1BE18 80040A18 2C420002 */ sltiu $v0, $v0, 2 -/* 1BE1C 80040A1C 1440000A */ bnez $v0, .L80040A48 -/* 1BE20 80040A20 00031600 */ sll $v0, $v1, 0x18 -/* 1BE24 80040A24 00021E03 */ sra $v1, $v0, 0x18 -/* 1BE28 80040A28 2402000D */ addiu $v0, $zero, 0xd -/* 1BE2C 80040A2C 10620006 */ beq $v1, $v0, .L80040A48 -/* 1BE30 80040A30 2402000E */ addiu $v0, $zero, 0xe -/* 1BE34 80040A34 10620004 */ beq $v1, $v0, .L80040A48 -/* 1BE38 80040A38 3C030004 */ lui $v1, 4 -/* 1BE3C 80040A3C 8E820000 */ lw $v0, ($s4) -/* 1BE40 80040A40 00431025 */ or $v0, $v0, $v1 -/* 1BE44 80040A44 AE820000 */ sw $v0, ($s4) -.L80040A48: -/* 1BE48 80040A48 0C03A752 */ jal is_ability_active -/* 1BE4C 80040A4C 24040011 */ addiu $a0, $zero, 0x11 -/* 1BE50 80040A50 14400013 */ bnez $v0, .L80040AA0 -/* 1BE54 80040A54 24020003 */ addiu $v0, $zero, 3 -/* 1BE58 80040A58 82630004 */ lb $v1, 4($s3) -/* 1BE5C 80040A5C 24020002 */ addiu $v0, $zero, 2 -/* 1BE60 80040A60 1462000F */ bne $v1, $v0, .L80040AA0 -/* 1BE64 80040A64 24020003 */ addiu $v0, $zero, 3 -/* 1BE68 80040A68 0C039769 */ jal set_action_state -/* 1BE6C 80040A6C 2404001B */ addiu $a0, $zero, 0x1b -/* 1BE70 80040A70 86240008 */ lh $a0, 8($s1) -/* 1BE74 80040A74 0C00EABB */ jal get_npc_unsafe -/* 1BE78 80040A78 00000000 */ nop -/* 1BE7C 80040A7C 0040902D */ daddu $s2, $v0, $zero -/* 1BE80 80040A80 C6400040 */ lwc1 $f0, 0x40($s2) -/* 1BE84 80040A84 240400E1 */ addiu $a0, $zero, 0xe1 -/* 1BE88 80040A88 E7A00010 */ swc1 $f0, 0x10($sp) -/* 1BE8C 80040A8C 8E460038 */ lw $a2, 0x38($s2) -/* 1BE90 80040A90 8E47003C */ lw $a3, 0x3c($s2) -/* 1BE94 80040A94 0C052757 */ jal sfx_play_sound_at_position -/* 1BE98 80040A98 0000282D */ daddu $a1, $zero, $zero -/* 1BE9C 80040A9C 24020003 */ addiu $v0, $zero, 3 -.L80040AA0: -/* 1BEA0 80040AA0 A2600012 */ sb $zero, 0x12($s3) -/* 1BEA4 80040AA4 3C01800A */ lui $at, %hi(gGameState) -/* 1BEA8 80040AA8 AC22A600 */ sw $v0, %lo(gGameState)($at) -/* 1BEAC 80040AAC 24020001 */ addiu $v0, $zero, 1 -/* 1BEB0 80040AB0 AE600090 */ sw $zero, 0x90($s3) -/* 1BEB4 80040AB4 080104C1 */ j .L80041304 -/* 1BEB8 80040AB8 AE600094 */ sw $zero, 0x94($s3) -.L80040ABC_1BEBC: -/* 1BEBC 80040ABC 8E71008C */ lw $s1, 0x8c($s3) -/* 1BEC0 80040AC0 8E22003C */ lw $v0, 0x3c($s1) -/* 1BEC4 80040AC4 10400004 */ beqz $v0, .L80040AD8 -/* 1BEC8 80040AC8 0220B82D */ daddu $s7, $s1, $zero -/* 1BECC 80040ACC 8E240054 */ lw $a0, 0x54($s1) -/* 1BED0 80040AD0 0C0B1108 */ jal suspend_all_script -/* 1BED4 80040AD4 00000000 */ nop -.L80040AD8: -/* 1BED8 80040AD8 8E220044 */ lw $v0, 0x44($s1) -/* 1BEDC 80040ADC 10400003 */ beqz $v0, .L80040AEC -/* 1BEE0 80040AE0 00000000 */ nop -/* 1BEE4 80040AE4 0C0B1108 */ jal suspend_all_script -/* 1BEE8 80040AE8 8E24005C */ lw $a0, 0x5c($s1) -.L80040AEC: -/* 1BEEC 80040AEC 8E760088 */ lw $s6, 0x88($s3) -/* 1BEF0 80040AF0 8EC20000 */ lw $v0, ($s6) -/* 1BEF4 80040AF4 1840002B */ blez $v0, .L80040BA4 -/* 1BEF8 80040AF8 0000A82D */ daddu $s5, $zero, $zero -/* 1BEFC 80040AFC 24120003 */ addiu $s2, $zero, 3 -/* 1BF00 80040B00 02C0802D */ daddu $s0, $s6, $zero -.L80040B04: -/* 1BF04 80040B04 8E110004 */ lw $s1, 4($s0) -/* 1BF08 80040B08 12200021 */ beqz $s1, .L80040B90 -/* 1BF0C 80040B0C 00000000 */ nop -/* 1BF10 80040B10 8E230000 */ lw $v1, ($s1) -/* 1BF14 80040B14 30620008 */ andi $v0, $v1, 8 -/* 1BF18 80040B18 10400004 */ beqz $v0, .L80040B2C -/* 1BF1C 80040B1C 30620020 */ andi $v0, $v1, 0x20 -/* 1BF20 80040B20 8E62008C */ lw $v0, 0x8c($s3) -/* 1BF24 80040B24 1622001A */ bne $s1, $v0, .L80040B90 -/* 1BF28 80040B28 30620020 */ andi $v0, $v1, 0x20 -.L80040B2C: -/* 1BF2C 80040B2C 14400018 */ bnez $v0, .L80040B90 -/* 1BF30 80040B30 00000000 */ nop -/* 1BF34 80040B34 8EE20000 */ lw $v0, ($s7) -/* 1BF38 80040B38 30420040 */ andi $v0, $v0, 0x40 -/* 1BF3C 80040B3C 10400004 */ beqz $v0, .L80040B50 -/* 1BF40 80040B40 00000000 */ nop -/* 1BF44 80040B44 8E62008C */ lw $v0, 0x8c($s3) -/* 1BF48 80040B48 16220011 */ bne $s1, $v0, .L80040B90 -/* 1BF4C 80040B4C 00000000 */ nop -.L80040B50: -/* 1BF50 80040B50 8E220028 */ lw $v0, 0x28($s1) -/* 1BF54 80040B54 1040000E */ beqz $v0, .L80040B90 -/* 1BF58 80040B58 2405000A */ addiu $a1, $zero, 0xa -/* 1BF5C 80040B5C 0040202D */ daddu $a0, $v0, $zero -/* 1BF60 80040B60 0000302D */ daddu $a2, $zero, $zero -/* 1BF64 80040B64 0C0B0CF8 */ jal start_script -/* 1BF68 80040B68 A2320005 */ sb $s2, 5($s1) -/* 1BF6C 80040B6C 0040202D */ daddu $a0, $v0, $zero -/* 1BF70 80040B70 AE240040 */ sw $a0, 0x40($s1) -/* 1BF74 80040B74 8C820144 */ lw $v0, 0x144($a0) -/* 1BF78 80040B78 AE220058 */ sw $v0, 0x58($s1) -/* 1BF7C 80040B7C AC910148 */ sw $s1, 0x148($a0) -/* 1BF80 80040B80 86220008 */ lh $v0, 8($s1) -/* 1BF84 80040B84 AC82014C */ sw $v0, 0x14c($a0) -/* 1BF88 80040B88 92220006 */ lbu $v0, 6($s1) -/* 1BF8C 80040B8C A0820004 */ sb $v0, 4($a0) -.L80040B90: -/* 1BF90 80040B90 8EC20000 */ lw $v0, ($s6) -/* 1BF94 80040B94 26B50001 */ addiu $s5, $s5, 1 -/* 1BF98 80040B98 02A2102A */ slt $v0, $s5, $v0 -/* 1BF9C 80040B9C 1440FFD9 */ bnez $v0, .L80040B04 -/* 1BFA0 80040BA0 26100004 */ addiu $s0, $s0, 4 -.L80040BA4: -/* 1BFA4 80040BA4 0C03805E */ jal disable_player_input -/* 1BFA8 80040BA8 00000000 */ nop -/* 1BFAC 80040BAC 0C03BD8A */ jal partner_disable_input -/* 1BFB0 80040BB0 00000000 */ nop -/* 1BFB4 80040BB4 24020003 */ addiu $v0, $zero, 3 -/* 1BFB8 80040BB8 A2600012 */ sb $zero, 0x12($s3) -/* 1BFBC 80040BBC 3C01800A */ lui $at, %hi(gGameState) -/* 1BFC0 80040BC0 AC22A600 */ sw $v0, %lo(gGameState)($at) -/* 1BFC4 80040BC4 24020001 */ addiu $v0, $zero, 1 -/* 1BFC8 80040BC8 AE600090 */ sw $zero, 0x90($s3) -/* 1BFCC 80040BCC AE600094 */ sw $zero, 0x94($s3) -/* 1BFD0 80040BD0 3C01800A */ lui $at, %hi(D_8009A678) -/* 1BFD4 80040BD4 AC22A678 */ sw $v0, %lo(D_8009A678)($at) -/* 1BFD8 80040BD8 8E820000 */ lw $v0, ($s4) -/* 1BFDC 80040BDC 3C030004 */ lui $v1, 4 -/* 1BFE0 80040BE0 3C01800A */ lui $at, %hi(D_8009A5D0) -/* 1BFE4 80040BE4 AC20A5D0 */ sw $zero, %lo(D_8009A5D0)($at) -/* 1BFE8 80040BE8 00431025 */ or $v0, $v0, $v1 -/* 1BFEC 80040BEC 080104C5 */ j .L80041314_1C714 -/* 1BFF0 80040BF0 AE820000 */ sw $v0, ($s4) -.L80040BF4_1BFF4: -/* 1BFF4 80040BF4 8E71008C */ lw $s1, 0x8c($s3) -/* 1BFF8 80040BF8 8E22003C */ lw $v0, 0x3c($s1) -/* 1BFFC 80040BFC 10400004 */ beqz $v0, .L80040C10 -/* 1C000 80040C00 0220B82D */ daddu $s7, $s1, $zero -/* 1C004 80040C04 8E240054 */ lw $a0, 0x54($s1) -/* 1C008 80040C08 0C0B1108 */ jal suspend_all_script -/* 1C00C 80040C0C 00000000 */ nop -.L80040C10: -/* 1C010 80040C10 8E220044 */ lw $v0, 0x44($s1) -/* 1C014 80040C14 10400003 */ beqz $v0, .L80040C24 -/* 1C018 80040C18 00000000 */ nop -/* 1C01C 80040C1C 0C0B1108 */ jal suspend_all_script -/* 1C020 80040C20 8E24005C */ lw $a0, 0x5c($s1) -.L80040C24: -/* 1C024 80040C24 8E760088 */ lw $s6, 0x88($s3) -/* 1C028 80040C28 0000802D */ daddu $s0, $zero, $zero -/* 1C02C 80040C2C 8EC20000 */ lw $v0, ($s6) -/* 1C030 80040C30 18400070 */ blez $v0, .L80040DF4 -/* 1C034 80040C34 0200A82D */ daddu $s5, $s0, $zero -/* 1C038 80040C38 241E0003 */ addiu $fp, $zero, 3 -/* 1C03C 80040C3C 3C013F00 */ lui $at, 0x3f00 -/* 1C040 80040C40 4481A000 */ mtc1 $at, $f20 -/* 1C044 80040C44 3C01BF80 */ lui $at, 0xbf80 -/* 1C048 80040C48 4481B000 */ mtc1 $at, $f22 -/* 1C04C 80040C4C 00151080 */ sll $v0, $s5, 2 -.L80040C50: -/* 1C050 80040C50 02C21021 */ addu $v0, $s6, $v0 -/* 1C054 80040C54 8C510004 */ lw $s1, 4($v0) -/* 1C058 80040C58 12200061 */ beqz $s1, .L80040DE0 -/* 1C05C 80040C5C 00000000 */ nop -/* 1C060 80040C60 8E230000 */ lw $v1, ($s1) -/* 1C064 80040C64 30620008 */ andi $v0, $v1, 8 -/* 1C068 80040C68 10400004 */ beqz $v0, .L80040C7C -/* 1C06C 80040C6C 30620020 */ andi $v0, $v1, 0x20 -/* 1C070 80040C70 8E62008C */ lw $v0, 0x8c($s3) -/* 1C074 80040C74 1622005A */ bne $s1, $v0, .L80040DE0 -/* 1C078 80040C78 30620020 */ andi $v0, $v1, 0x20 -.L80040C7C: -/* 1C07C 80040C7C 14400058 */ bnez $v0, .L80040DE0 -/* 1C080 80040C80 00000000 */ nop -/* 1C084 80040C84 8EE20000 */ lw $v0, ($s7) -/* 1C088 80040C88 30420040 */ andi $v0, $v0, 0x40 -/* 1C08C 80040C8C 10400004 */ beqz $v0, .L80040CA0 -/* 1C090 80040C90 00000000 */ nop -/* 1C094 80040C94 8E62008C */ lw $v0, 0x8c($s3) -/* 1C098 80040C98 16220051 */ bne $s1, $v0, .L80040DE0 -/* 1C09C 80040C9C 00000000 */ nop -.L80040CA0: -/* 1C0A0 80040CA0 8E220028 */ lw $v0, 0x28($s1) -/* 1C0A4 80040CA4 1040001F */ beqz $v0, .L80040D24 -/* 1C0A8 80040CA8 2405000A */ addiu $a1, $zero, 0xa -/* 1C0AC 80040CAC 0000302D */ daddu $a2, $zero, $zero -/* 1C0B0 80040CB0 0040202D */ daddu $a0, $v0, $zero -/* 1C0B4 80040CB4 24020002 */ addiu $v0, $zero, 2 -/* 1C0B8 80040CB8 0C0B0CF8 */ jal start_script -/* 1C0BC 80040CBC A2220005 */ sb $v0, 5($s1) -/* 1C0C0 80040CC0 0040202D */ daddu $a0, $v0, $zero -/* 1C0C4 80040CC4 AE240040 */ sw $a0, 0x40($s1) -/* 1C0C8 80040CC8 8C820144 */ lw $v0, 0x144($a0) -/* 1C0CC 80040CCC AE220058 */ sw $v0, 0x58($s1) -/* 1C0D0 80040CD0 AC910148 */ sw $s1, 0x148($a0) -/* 1C0D4 80040CD4 86220008 */ lh $v0, 8($s1) -/* 1C0D8 80040CD8 AC82014C */ sw $v0, 0x14c($a0) -/* 1C0DC 80040CDC 92220006 */ lbu $v0, 6($s1) -/* 1C0E0 80040CE0 A0820004 */ sb $v0, 4($a0) -/* 1C0E4 80040CE4 0C00EABB */ jal get_npc_unsafe -/* 1C0E8 80040CE8 86240008 */ lh $a0, 8($s1) -/* 1C0EC 80040CEC 0040902D */ daddu $s2, $v0, $zero -/* 1C0F0 80040CF0 C6460038 */ lwc1 $f6, 0x38($s2) -/* 1C0F4 80040CF4 C68A0028 */ lwc1 $f10, 0x28($s4) -/* 1C0F8 80040CF8 460A3181 */ sub.s $f6, $f6, $f10 -/* 1C0FC 80040CFC 46143182 */ mul.s $f6, $f6, $f20 -/* 1C100 80040D00 00000000 */ nop -/* 1C104 80040D04 864200A8 */ lh $v0, 0xa8($s2) -/* 1C108 80040D08 C642003C */ lwc1 $f2, 0x3c($s2) -/* 1C10C 80040D0C 44820000 */ mtc1 $v0, $f0 -/* 1C110 80040D10 00000000 */ nop -/* 1C114 80040D14 46800020 */ cvt.s.w $f0, $f0 -/* 1C118 80040D18 868200B0 */ lh $v0, 0xb0($s4) -/* 1C11C 80040D1C 0801035B */ j .L80040D6C -/* 1C120 80040D20 46001080 */ add.s $f2, $f2, $f0 -.L80040D24: -/* 1C124 80040D24 30620001 */ andi $v0, $v1, 1 -/* 1C128 80040D28 1440002D */ bnez $v0, .L80040DE0 -/* 1C12C 80040D2C 00000000 */ nop -/* 1C130 80040D30 0C00EABB */ jal get_npc_unsafe -/* 1C134 80040D34 86240008 */ lh $a0, 8($s1) -/* 1C138 80040D38 0040902D */ daddu $s2, $v0, $zero -/* 1C13C 80040D3C C4460038 */ lwc1 $f6, 0x38($v0) -/* 1C140 80040D40 C68A0028 */ lwc1 $f10, 0x28($s4) -/* 1C144 80040D44 460A3181 */ sub.s $f6, $f6, $f10 -/* 1C148 80040D48 46143182 */ mul.s $f6, $f6, $f20 -/* 1C14C 80040D4C 00000000 */ nop -/* 1C150 80040D50 864200A8 */ lh $v0, 0xa8($s2) -/* 1C154 80040D54 C642003C */ lwc1 $f2, 0x3c($s2) -/* 1C158 80040D58 44820000 */ mtc1 $v0, $f0 -/* 1C15C 80040D5C 00000000 */ nop -/* 1C160 80040D60 46800020 */ cvt.s.w $f0, $f0 -/* 1C164 80040D64 868200B0 */ lh $v0, 0xb0($s4) -/* 1C168 80040D68 46001080 */ add.s $f2, $f2, $f0 -.L80040D6C: -/* 1C16C 80040D6C C688002C */ lwc1 $f8, 0x2c($s4) -/* 1C170 80040D70 44820000 */ mtc1 $v0, $f0 -/* 1C174 80040D74 00000000 */ nop -/* 1C178 80040D78 46800020 */ cvt.s.w $f0, $f0 -/* 1C17C 80040D7C 46004000 */ add.s $f0, $f8, $f0 -/* 1C180 80040D80 46001081 */ sub.s $f2, $f2, $f0 -/* 1C184 80040D84 46141082 */ mul.s $f2, $f2, $f20 -/* 1C188 80040D88 00000000 */ nop -/* 1C18C 80040D8C C6840030 */ lwc1 $f4, 0x30($s4) -/* 1C190 80040D90 C6400040 */ lwc1 $f0, 0x40($s2) -/* 1C194 80040D94 46040001 */ sub.s $f0, $f0, $f4 -/* 1C198 80040D98 46140002 */ mul.s $f0, $f0, $f20 -/* 1C19C 80040D9C 00000000 */ nop -/* 1C1A0 80040DA0 46065280 */ add.s $f10, $f10, $f6 -/* 1C1A4 80040DA4 46024200 */ add.s $f8, $f8, $f2 -/* 1C1A8 80040DA8 24100001 */ addiu $s0, $zero, 1 -/* 1C1AC 80040DAC 46002100 */ add.s $f4, $f4, $f0 -/* 1C1B0 80040DB0 44055000 */ mfc1 $a1, $f10 -/* 1C1B4 80040DB4 44064000 */ mfc1 $a2, $f8 -/* 1C1B8 80040DB8 44072000 */ mfc1 $a3, $f4 -/* 1C1BC 80040DBC 24040003 */ addiu $a0, $zero, 3 -/* 1C1C0 80040DC0 AFA5003C */ sw $a1, 0x3c($sp) -/* 1C1C4 80040DC4 AFA60040 */ sw $a2, 0x40($sp) -/* 1C1C8 80040DC8 AFA70044 */ sw $a3, 0x44($sp) -/* 1C1CC 80040DCC AFA00010 */ sw $zero, 0x10($sp) -/* 1C1D0 80040DD0 E7B60014 */ swc1 $f22, 0x14($sp) -/* 1C1D4 80040DD4 AFA00018 */ sw $zero, 0x18($sp) -/* 1C1D8 80040DD8 0C01C064 */ jal fx_damage_stars -/* 1C1DC 80040DDC AFBE001C */ sw $fp, 0x1c($sp) -.L80040DE0: -/* 1C1E0 80040DE0 8EC20000 */ lw $v0, ($s6) -/* 1C1E4 80040DE4 26B50001 */ addiu $s5, $s5, 1 -/* 1C1E8 80040DE8 02A2102A */ slt $v0, $s5, $v0 -/* 1C1EC 80040DEC 1440FF98 */ bnez $v0, .L80040C50 -/* 1C1F0 80040DF0 00151080 */ sll $v0, $s5, 2 -.L80040DF4: -/* 1C1F4 80040DF4 0C03805E */ jal disable_player_input -/* 1C1F8 80040DF8 00000000 */ nop -/* 1C1FC 80040DFC 0C03BD8A */ jal partner_disable_input -/* 1C200 80040E00 00000000 */ nop -/* 1C204 80040E04 8E820000 */ lw $v0, ($s4) -/* 1C208 80040E08 3C030004 */ lui $v1, 4 -/* 1C20C 80040E0C 00431025 */ or $v0, $v0, $v1 -/* 1C210 80040E10 12000003 */ beqz $s0, .L80040E20 -/* 1C214 80040E14 AE820000 */ sw $v0, ($s4) -/* 1C218 80040E18 0C03980D */ jal start_bounce_a -/* 1C21C 80040E1C 00000000 */ nop -.L80040E20: -/* 1C220 80040E20 0000202D */ daddu $a0, $zero, $zero -/* 1C224 80040E24 AE600090 */ sw $zero, 0x90($s3) -/* 1C228 80040E28 AE600094 */ sw $zero, 0x94($s3) -/* 1C22C 80040E2C 080104BB */ j .L800412EC -/* 1C230 80040E30 A2600012 */ sb $zero, 0x12($s3) -.L80040E34_1C234: -/* 1C234 80040E34 8E71008C */ lw $s1, 0x8c($s3) -/* 1C238 80040E38 8E22003C */ lw $v0, 0x3c($s1) -/* 1C23C 80040E3C 10400004 */ beqz $v0, .L80040E50 -/* 1C240 80040E40 0220B82D */ daddu $s7, $s1, $zero -/* 1C244 80040E44 8E240054 */ lw $a0, 0x54($s1) -/* 1C248 80040E48 0C0B1108 */ jal suspend_all_script -/* 1C24C 80040E4C 00000000 */ nop -.L80040E50: -/* 1C250 80040E50 8E220044 */ lw $v0, 0x44($s1) -/* 1C254 80040E54 10400003 */ beqz $v0, .L80040E64 -/* 1C258 80040E58 00000000 */ nop -/* 1C25C 80040E5C 0C0B1108 */ jal suspend_all_script -/* 1C260 80040E60 8E24005C */ lw $a0, 0x5c($s1) -.L80040E64: -/* 1C264 80040E64 8E760088 */ lw $s6, 0x88($s3) -/* 1C268 80040E68 8EC20000 */ lw $v0, ($s6) -/* 1C26C 80040E6C 18400113 */ blez $v0, .L800412BC -/* 1C270 80040E70 0000A82D */ daddu $s5, $zero, $zero -/* 1C274 80040E74 24100003 */ addiu $s0, $zero, 3 -/* 1C278 80040E78 3C013F00 */ lui $at, 0x3f00 -/* 1C27C 80040E7C 4481A000 */ mtc1 $at, $f20 -/* 1C280 80040E80 3C01BF80 */ lui $at, 0xbf80 -/* 1C284 80040E84 4481B000 */ mtc1 $at, $f22 -/* 1C288 80040E88 00151080 */ sll $v0, $s5, 2 -.L80040E8C: -/* 1C28C 80040E8C 02C21021 */ addu $v0, $s6, $v0 -/* 1C290 80040E90 8C510004 */ lw $s1, 4($v0) -/* 1C294 80040E94 12200082 */ beqz $s1, .L800410A0 -/* 1C298 80040E98 00000000 */ nop -/* 1C29C 80040E9C 8E230000 */ lw $v1, ($s1) -/* 1C2A0 80040EA0 30620008 */ andi $v0, $v1, 8 -/* 1C2A4 80040EA4 10400004 */ beqz $v0, .L80040EB8 -/* 1C2A8 80040EA8 30620020 */ andi $v0, $v1, 0x20 -/* 1C2AC 80040EAC 8E62008C */ lw $v0, 0x8c($s3) -/* 1C2B0 80040EB0 1622007B */ bne $s1, $v0, .L800410A0 -/* 1C2B4 80040EB4 30620020 */ andi $v0, $v1, 0x20 -.L80040EB8: -/* 1C2B8 80040EB8 14400079 */ bnez $v0, .L800410A0 -/* 1C2BC 80040EBC 00000000 */ nop -/* 1C2C0 80040EC0 8EE20000 */ lw $v0, ($s7) -/* 1C2C4 80040EC4 30420040 */ andi $v0, $v0, 0x40 -/* 1C2C8 80040EC8 10400004 */ beqz $v0, .L80040EDC -/* 1C2CC 80040ECC 00000000 */ nop -/* 1C2D0 80040ED0 8E62008C */ lw $v0, 0x8c($s3) -/* 1C2D4 80040ED4 16220072 */ bne $s1, $v0, .L800410A0 -/* 1C2D8 80040ED8 00000000 */ nop -.L80040EDC: -/* 1C2DC 80040EDC 8E220028 */ lw $v0, 0x28($s1) -/* 1C2E0 80040EE0 1040003A */ beqz $v0, .L80040FCC -/* 1C2E4 80040EE4 2405000A */ addiu $a1, $zero, 0xa -/* 1C2E8 80040EE8 0000302D */ daddu $a2, $zero, $zero -/* 1C2EC 80040EEC 0040202D */ daddu $a0, $v0, $zero -/* 1C2F0 80040EF0 24020004 */ addiu $v0, $zero, 4 -/* 1C2F4 80040EF4 0C0B0CF8 */ jal start_script -/* 1C2F8 80040EF8 A2220005 */ sb $v0, 5($s1) -/* 1C2FC 80040EFC 0040202D */ daddu $a0, $v0, $zero -/* 1C300 80040F00 AE240040 */ sw $a0, 0x40($s1) -/* 1C304 80040F04 8C820144 */ lw $v0, 0x144($a0) -/* 1C308 80040F08 AE220058 */ sw $v0, 0x58($s1) -/* 1C30C 80040F0C AC910148 */ sw $s1, 0x148($a0) -/* 1C310 80040F10 86220008 */ lh $v0, 8($s1) -/* 1C314 80040F14 AC82014C */ sw $v0, 0x14c($a0) -/* 1C318 80040F18 92220006 */ lbu $v0, 6($s1) -/* 1C31C 80040F1C A0820004 */ sb $v0, 4($a0) -/* 1C320 80040F20 0C00EABB */ jal get_npc_unsafe -/* 1C324 80040F24 86240008 */ lh $a0, 8($s1) -/* 1C328 80040F28 0040902D */ daddu $s2, $v0, $zero -/* 1C32C 80040F2C C6480038 */ lwc1 $f8, 0x38($s2) -/* 1C330 80040F30 C68A0028 */ lwc1 $f10, 0x28($s4) -/* 1C334 80040F34 460A4201 */ sub.s $f8, $f8, $f10 -/* 1C338 80040F38 46144202 */ mul.s $f8, $f8, $f20 -/* 1C33C 80040F3C 00000000 */ nop -/* 1C340 80040F40 864200A8 */ lh $v0, 0xa8($s2) -/* 1C344 80040F44 C644003C */ lwc1 $f4, 0x3c($s2) -/* 1C348 80040F48 44820000 */ mtc1 $v0, $f0 -/* 1C34C 80040F4C 00000000 */ nop -/* 1C350 80040F50 46800020 */ cvt.s.w $f0, $f0 -/* 1C354 80040F54 46002100 */ add.s $f4, $f4, $f0 -/* 1C358 80040F58 868200B0 */ lh $v0, 0xb0($s4) -/* 1C35C 80040F5C C686002C */ lwc1 $f6, 0x2c($s4) -/* 1C360 80040F60 44820000 */ mtc1 $v0, $f0 -/* 1C364 80040F64 00000000 */ nop -/* 1C368 80040F68 46800020 */ cvt.s.w $f0, $f0 -/* 1C36C 80040F6C 46003000 */ add.s $f0, $f6, $f0 -/* 1C370 80040F70 46002101 */ sub.s $f4, $f4, $f0 -/* 1C374 80040F74 46142102 */ mul.s $f4, $f4, $f20 -/* 1C378 80040F78 00000000 */ nop -/* 1C37C 80040F7C C6820030 */ lwc1 $f2, 0x30($s4) -/* 1C380 80040F80 C6400040 */ lwc1 $f0, 0x40($s2) -/* 1C384 80040F84 46020001 */ sub.s $f0, $f0, $f2 -/* 1C388 80040F88 46140002 */ mul.s $f0, $f0, $f20 -/* 1C38C 80040F8C 00000000 */ nop -/* 1C390 80040F90 46085280 */ add.s $f10, $f10, $f8 -/* 1C394 80040F94 46043180 */ add.s $f6, $f6, $f4 -/* 1C398 80040F98 46001080 */ add.s $f2, $f2, $f0 -/* 1C39C 80040F9C 44055000 */ mfc1 $a1, $f10 -/* 1C3A0 80040FA0 44063000 */ mfc1 $a2, $f6 -/* 1C3A4 80040FA4 44071000 */ mfc1 $a3, $f2 -/* 1C3A8 80040FA8 24040003 */ addiu $a0, $zero, 3 -/* 1C3AC 80040FAC AFA5003C */ sw $a1, 0x3c($sp) -/* 1C3B0 80040FB0 AFA60040 */ sw $a2, 0x40($sp) -/* 1C3B4 80040FB4 AFA70044 */ sw $a3, 0x44($sp) -/* 1C3B8 80040FB8 AFA00010 */ sw $zero, 0x10($sp) -/* 1C3BC 80040FBC E7B60014 */ swc1 $f22, 0x14($sp) -/* 1C3C0 80040FC0 AFA00018 */ sw $zero, 0x18($sp) -/* 1C3C4 80040FC4 08010426 */ j .L80041098 -/* 1C3C8 80040FC8 AFB0001C */ sw $s0, 0x1c($sp) -.L80040FCC: -/* 1C3CC 80040FCC 30620001 */ andi $v0, $v1, 1 -/* 1C3D0 80040FD0 14400033 */ bnez $v0, .L800410A0 -/* 1C3D4 80040FD4 00000000 */ nop -/* 1C3D8 80040FD8 0C00EABB */ jal get_npc_unsafe -/* 1C3DC 80040FDC 86240008 */ lh $a0, 8($s1) -/* 1C3E0 80040FE0 0040902D */ daddu $s2, $v0, $zero -/* 1C3E4 80040FE4 C44C0038 */ lwc1 $f12, 0x38($v0) -/* 1C3E8 80040FE8 C68E0028 */ lwc1 $f14, 0x28($s4) -/* 1C3EC 80040FEC 460E6301 */ sub.s $f12, $f12, $f14 -/* 1C3F0 80040FF0 46146302 */ mul.s $f12, $f12, $f20 -/* 1C3F4 80040FF4 00000000 */ nop -/* 1C3F8 80040FF8 C6420040 */ lwc1 $f2, 0x40($s2) -/* 1C3FC 80040FFC C6880030 */ lwc1 $f8, 0x30($s4) -/* 1C400 80041000 46081081 */ sub.s $f2, $f2, $f8 -/* 1C404 80041004 46141082 */ mul.s $f2, $f2, $f20 -/* 1C408 80041008 00000000 */ nop -/* 1C40C 8004100C 864200A8 */ lh $v0, 0xa8($s2) -/* 1C410 80041010 C646003C */ lwc1 $f6, 0x3c($s2) -/* 1C414 80041014 44820000 */ mtc1 $v0, $f0 -/* 1C418 80041018 00000000 */ nop -/* 1C41C 8004101C 46800020 */ cvt.s.w $f0, $f0 -/* 1C420 80041020 868200B0 */ lh $v0, 0xb0($s4) -/* 1C424 80041024 46003180 */ add.s $f6, $f6, $f0 -/* 1C428 80041028 C68A002C */ lwc1 $f10, 0x2c($s4) -/* 1C42C 8004102C 44820000 */ mtc1 $v0, $f0 -/* 1C430 80041030 00000000 */ nop -/* 1C434 80041034 46800020 */ cvt.s.w $f0, $f0 -/* 1C438 80041038 46005000 */ add.s $f0, $f10, $f0 -/* 1C43C 8004103C 46003181 */ sub.s $f6, $f6, $f0 -/* 1C440 80041040 46143182 */ mul.s $f6, $f6, $f20 -/* 1C444 80041044 00000000 */ nop -/* 1C448 80041048 864200A8 */ lh $v0, 0xa8($s2) -/* 1C44C 8004104C C644003C */ lwc1 $f4, 0x3c($s2) -/* 1C450 80041050 44820000 */ mtc1 $v0, $f0 -/* 1C454 80041054 00000000 */ nop -/* 1C458 80041058 46800020 */ cvt.s.w $f0, $f0 -/* 1C45C 8004105C 46002100 */ add.s $f4, $f4, $f0 -/* 1C460 80041060 460C7380 */ add.s $f14, $f14, $f12 -/* 1C464 80041064 46024200 */ add.s $f8, $f8, $f2 -/* 1C468 80041068 44062000 */ mfc1 $a2, $f4 -/* 1C46C 8004106C 46065280 */ add.s $f10, $f10, $f6 -/* 1C470 80041070 E7AE003C */ swc1 $f14, 0x3c($sp) -/* 1C474 80041074 E7A80044 */ swc1 $f8, 0x44($sp) -/* 1C478 80041078 E7AA0040 */ swc1 $f10, 0x40($sp) -/* 1C47C 8004107C AFA00010 */ sw $zero, 0x10($sp) -/* 1C480 80041080 E7B60014 */ swc1 $f22, 0x14($sp) -/* 1C484 80041084 AFA00018 */ sw $zero, 0x18($sp) -/* 1C488 80041088 AFB0001C */ sw $s0, 0x1c($sp) -/* 1C48C 8004108C 8E450038 */ lw $a1, 0x38($s2) -/* 1C490 80041090 8E470040 */ lw $a3, 0x40($s2) -/* 1C494 80041094 24040003 */ addiu $a0, $zero, 3 -.L80041098: -/* 1C498 80041098 0C01C064 */ jal fx_damage_stars -/* 1C49C 8004109C 00000000 */ nop -.L800410A0: -/* 1C4A0 800410A0 8EC20000 */ lw $v0, ($s6) -/* 1C4A4 800410A4 26B50001 */ addiu $s5, $s5, 1 -/* 1C4A8 800410A8 02A2102A */ slt $v0, $s5, $v0 -/* 1C4AC 800410AC 1440FF77 */ bnez $v0, .L80040E8C -/* 1C4B0 800410B0 00151080 */ sll $v0, $s5, 2 -/* 1C4B4 800410B4 080104AF */ j .L800412BC -/* 1C4B8 800410B8 00000000 */ nop -.L800410BC_1C4BC: -/* 1C4BC 800410BC 0C0B117A */ jal suspend_all_group -/* 1C4C0 800410C0 24040001 */ addiu $a0, $zero, 1 -/* 1C4C4 800410C4 8E71008C */ lw $s1, 0x8c($s3) -/* 1C4C8 800410C8 12200007 */ beqz $s1, .L800410E8 -/* 1C4CC 800410CC 00000000 */ nop -/* 1C4D0 800410D0 8E22003C */ lw $v0, 0x3c($s1) -/* 1C4D4 800410D4 10400004 */ beqz $v0, .L800410E8 -/* 1C4D8 800410D8 00000000 */ nop -/* 1C4DC 800410DC 0C0B1108 */ jal suspend_all_script -/* 1C4E0 800410E0 8E240054 */ lw $a0, 0x54($s1) -/* 1C4E4 800410E4 8E71008C */ lw $s1, 0x8c($s3) -.L800410E8: -/* 1C4E8 800410E8 8E220020 */ lw $v0, 0x20($s1) -/* 1C4EC 800410EC 1040000F */ beqz $v0, .L8004112C -/* 1C4F0 800410F0 2405000A */ addiu $a1, $zero, 0xa -/* 1C4F4 800410F4 0000302D */ daddu $a2, $zero, $zero -/* 1C4F8 800410F8 0040202D */ daddu $a0, $v0, $zero -/* 1C4FC 800410FC 24020005 */ addiu $v0, $zero, 5 -/* 1C500 80041100 0C0B0CF8 */ jal start_script -/* 1C504 80041104 A2220005 */ sb $v0, 5($s1) -/* 1C508 80041108 0040202D */ daddu $a0, $v0, $zero -/* 1C50C 8004110C AE240038 */ sw $a0, 0x38($s1) -/* 1C510 80041110 8C820144 */ lw $v0, 0x144($a0) -/* 1C514 80041114 AE220050 */ sw $v0, 0x50($s1) -/* 1C518 80041118 AC910148 */ sw $s1, 0x148($a0) -/* 1C51C 8004111C 86220008 */ lh $v0, 8($s1) -/* 1C520 80041120 AC82014C */ sw $v0, 0x14c($a0) -/* 1C524 80041124 92220006 */ lbu $v0, 6($s1) -/* 1C528 80041128 A0820004 */ sb $v0, 4($a0) -.L8004112C: -/* 1C52C 8004112C 0C03805E */ jal disable_player_input -/* 1C530 80041130 00000000 */ nop -/* 1C534 80041134 0C03BD8A */ jal partner_disable_input -/* 1C538 80041138 00000000 */ nop -/* 1C53C 8004113C 0C039769 */ jal set_action_state -/* 1C540 80041140 2404000C */ addiu $a0, $zero, 0xc -/* 1C544 80041144 24040001 */ addiu $a0, $zero, 1 -/* 1C548 80041148 AE600090 */ sw $zero, 0x90($s3) -/* 1C54C 8004114C 0C03BCF5 */ jal func_800EF3D4 -/* 1C550 80041150 AE600094 */ sw $zero, 0x94($s3) -/* 1C554 80041154 080104BE */ j .L800412F8 -/* 1C558 80041158 24020004 */ addiu $v0, $zero, 4 -.L8004115C_1C55C: -/* 1C55C 8004115C 8E71008C */ lw $s1, 0x8c($s3) -/* 1C560 80041160 8E22003C */ lw $v0, 0x3c($s1) -/* 1C564 80041164 10400004 */ beqz $v0, .L80041178 -/* 1C568 80041168 0220B82D */ daddu $s7, $s1, $zero -/* 1C56C 8004116C 8E240054 */ lw $a0, 0x54($s1) -/* 1C570 80041170 0C0B1108 */ jal suspend_all_script -/* 1C574 80041174 00000000 */ nop -.L80041178: -/* 1C578 80041178 8E220044 */ lw $v0, 0x44($s1) -/* 1C57C 8004117C 10400003 */ beqz $v0, .L8004118C -/* 1C580 80041180 00000000 */ nop -/* 1C584 80041184 0C0B1108 */ jal suspend_all_script -/* 1C588 80041188 8E24005C */ lw $a0, 0x5c($s1) -.L8004118C: -/* 1C58C 8004118C 8E760088 */ lw $s6, 0x88($s3) -/* 1C590 80041190 8EC20000 */ lw $v0, ($s6) -/* 1C594 80041194 18400049 */ blez $v0, .L800412BC -/* 1C598 80041198 0000A82D */ daddu $s5, $zero, $zero -/* 1C59C 8004119C 3C01BF80 */ lui $at, 0xbf80 -/* 1C5A0 800411A0 4481A000 */ mtc1 $at, $f20 -/* 1C5A4 800411A4 241E0003 */ addiu $fp, $zero, 3 -/* 1C5A8 800411A8 02C0802D */ daddu $s0, $s6, $zero -.L800411AC: -/* 1C5AC 800411AC 8E110004 */ lw $s1, 4($s0) -/* 1C5B0 800411B0 1220003D */ beqz $s1, .L800412A8 -/* 1C5B4 800411B4 00000000 */ nop -/* 1C5B8 800411B8 8E230000 */ lw $v1, ($s1) -/* 1C5BC 800411BC 30620008 */ andi $v0, $v1, 8 -/* 1C5C0 800411C0 10400004 */ beqz $v0, .L800411D4 -/* 1C5C4 800411C4 30620020 */ andi $v0, $v1, 0x20 -/* 1C5C8 800411C8 8E62008C */ lw $v0, 0x8c($s3) -/* 1C5CC 800411CC 16220036 */ bne $s1, $v0, .L800412A8 -/* 1C5D0 800411D0 30620020 */ andi $v0, $v1, 0x20 -.L800411D4: -/* 1C5D4 800411D4 14400034 */ bnez $v0, .L800412A8 -/* 1C5D8 800411D8 00000000 */ nop -/* 1C5DC 800411DC 8EE20000 */ lw $v0, ($s7) -/* 1C5E0 800411E0 30420040 */ andi $v0, $v0, 0x40 -/* 1C5E4 800411E4 10400004 */ beqz $v0, .L800411F8 -/* 1C5E8 800411E8 00000000 */ nop -/* 1C5EC 800411EC 8E62008C */ lw $v0, 0x8c($s3) -/* 1C5F0 800411F0 1622002D */ bne $s1, $v0, .L800412A8 -/* 1C5F4 800411F4 00000000 */ nop -.L800411F8: -/* 1C5F8 800411F8 8E220028 */ lw $v0, 0x28($s1) -/* 1C5FC 800411FC 10400010 */ beqz $v0, .L80041240 -/* 1C600 80041200 2405000A */ addiu $a1, $zero, 0xa -/* 1C604 80041204 0000302D */ daddu $a2, $zero, $zero -/* 1C608 80041208 0040202D */ daddu $a0, $v0, $zero -/* 1C60C 8004120C 24020006 */ addiu $v0, $zero, 6 -/* 1C610 80041210 0C0B0CF8 */ jal start_script -/* 1C614 80041214 A2220005 */ sb $v0, 5($s1) -/* 1C618 80041218 0040202D */ daddu $a0, $v0, $zero -/* 1C61C 8004121C AE240040 */ sw $a0, 0x40($s1) -/* 1C620 80041220 8C820144 */ lw $v0, 0x144($a0) -/* 1C624 80041224 AE220058 */ sw $v0, 0x58($s1) -/* 1C628 80041228 AC910148 */ sw $s1, 0x148($a0) -/* 1C62C 8004122C 86220008 */ lh $v0, 8($s1) -/* 1C630 80041230 AC82014C */ sw $v0, 0x14c($a0) -/* 1C634 80041234 92220006 */ lbu $v0, 6($s1) -/* 1C638 80041238 08010493 */ j .L8004124C -/* 1C63C 8004123C A0820004 */ sb $v0, 4($a0) -.L80041240: -/* 1C640 80041240 30620001 */ andi $v0, $v1, 1 -/* 1C644 80041244 14400018 */ bnez $v0, .L800412A8 -/* 1C648 80041248 00000000 */ nop -.L8004124C: -/* 1C64C 8004124C 0C00EABB */ jal get_npc_unsafe -/* 1C650 80041250 86240008 */ lh $a0, 8($s1) -/* 1C654 80041254 0040902D */ daddu $s2, $v0, $zero -/* 1C658 80041258 864200A8 */ lh $v0, 0xa8($s2) -/* 1C65C 8004125C C644003C */ lwc1 $f4, 0x3c($s2) -/* 1C660 80041260 C6420040 */ lwc1 $f2, 0x40($s2) -/* 1C664 80041264 44820000 */ mtc1 $v0, $f0 -/* 1C668 80041268 00000000 */ nop -/* 1C66C 8004126C 46800020 */ cvt.s.w $f0, $f0 -/* 1C670 80041270 46002100 */ add.s $f4, $f4, $f0 -/* 1C674 80041274 C6400038 */ lwc1 $f0, 0x38($s2) -/* 1C678 80041278 44071000 */ mfc1 $a3, $f2 -/* 1C67C 8004127C 44050000 */ mfc1 $a1, $f0 -/* 1C680 80041280 44062000 */ mfc1 $a2, $f4 -/* 1C684 80041284 24040003 */ addiu $a0, $zero, 3 -/* 1C688 80041288 AFA70044 */ sw $a3, 0x44($sp) -/* 1C68C 8004128C AFA5003C */ sw $a1, 0x3c($sp) -/* 1C690 80041290 AFA60040 */ sw $a2, 0x40($sp) -/* 1C694 80041294 AFA00010 */ sw $zero, 0x10($sp) -/* 1C698 80041298 E7B40014 */ swc1 $f20, 0x14($sp) -/* 1C69C 8004129C AFA00018 */ sw $zero, 0x18($sp) -/* 1C6A0 800412A0 0C01C064 */ jal fx_damage_stars -/* 1C6A4 800412A4 AFBE001C */ sw $fp, 0x1c($sp) -.L800412A8: -/* 1C6A8 800412A8 8EC20000 */ lw $v0, ($s6) -/* 1C6AC 800412AC 26B50001 */ addiu $s5, $s5, 1 -/* 1C6B0 800412B0 02A2102A */ slt $v0, $s5, $v0 -/* 1C6B4 800412B4 1440FFBD */ bnez $v0, .L800411AC -/* 1C6B8 800412B8 26100004 */ addiu $s0, $s0, 4 -.L800412BC: -/* 1C6BC 800412BC 0C03805E */ jal disable_player_input -/* 1C6C0 800412C0 00000000 */ nop -/* 1C6C4 800412C4 0C03BD8A */ jal partner_disable_input -/* 1C6C8 800412C8 00000000 */ nop -/* 1C6CC 800412CC 0000202D */ daddu $a0, $zero, $zero -/* 1C6D0 800412D0 AE600090 */ sw $zero, 0x90($s3) -/* 1C6D4 800412D4 AE600094 */ sw $zero, 0x94($s3) -/* 1C6D8 800412D8 A2600012 */ sb $zero, 0x12($s3) -/* 1C6DC 800412DC 8E820000 */ lw $v0, ($s4) -/* 1C6E0 800412E0 3C030004 */ lui $v1, 4 -/* 1C6E4 800412E4 00431025 */ or $v0, $v0, $v1 -/* 1C6E8 800412E8 AE820000 */ sw $v0, ($s4) -.L800412EC: -/* 1C6EC 800412EC 0C05272D */ jal sfx_play_sound -/* 1C6F0 800412F0 00000000 */ nop -/* 1C6F4 800412F4 24020003 */ addiu $v0, $zero, 3 -.L800412F8: -/* 1C6F8 800412F8 3C01800A */ lui $at, %hi(gGameState) -/* 1C6FC 800412FC AC22A600 */ sw $v0, %lo(gGameState)($at) -/* 1C700 80041300 24020001 */ addiu $v0, $zero, 1 -.L80041304: -/* 1C704 80041304 3C01800A */ lui $at, %hi(D_8009A678) -/* 1C708 80041308 AC22A678 */ sw $v0, %lo(D_8009A678)($at) -/* 1C70C 8004130C 3C01800A */ lui $at, %hi(D_8009A5D0) -/* 1C710 80041310 AC20A5D0 */ sw $zero, %lo(D_8009A5D0)($at) -.L80041314_1C714: -/* 1C714 80041314 8FBF008C */ lw $ra, 0x8c($sp) -/* 1C718 80041318 8FBE0088 */ lw $fp, 0x88($sp) -/* 1C71C 8004131C 8FB70084 */ lw $s7, 0x84($sp) -/* 1C720 80041320 8FB60080 */ lw $s6, 0x80($sp) -/* 1C724 80041324 8FB5007C */ lw $s5, 0x7c($sp) -/* 1C728 80041328 8FB40078 */ lw $s4, 0x78($sp) -/* 1C72C 8004132C 8FB30074 */ lw $s3, 0x74($sp) -/* 1C730 80041330 8FB20070 */ lw $s2, 0x70($sp) -/* 1C734 80041334 8FB1006C */ lw $s1, 0x6c($sp) -/* 1C738 80041338 8FB00068 */ lw $s0, 0x68($sp) -/* 1C73C 8004133C D7BE00B8 */ ldc1 $f30, 0xb8($sp) -/* 1C740 80041340 D7BC00B0 */ ldc1 $f28, 0xb0($sp) -/* 1C744 80041344 D7BA00A8 */ ldc1 $f26, 0xa8($sp) -/* 1C748 80041348 D7B800A0 */ ldc1 $f24, 0xa0($sp) -/* 1C74C 8004134C D7B60098 */ ldc1 $f22, 0x98($sp) -/* 1C750 80041350 D7B40090 */ ldc1 $f20, 0x90($sp) -/* 1C754 80041354 03E00008 */ jr $ra -/* 1C758 80041358 27BD00C0 */ addiu $sp, $sp, 0xc0 diff --git a/ver/us/asm/nonmatchings/1a1f0_len_5390/update_encounters_post_battle.s b/ver/us/asm/nonmatchings/1a1f0_len_5390/update_encounters_post_battle.s deleted file mode 100644 index bc915bc3f4..0000000000 --- a/ver/us/asm/nonmatchings/1a1f0_len_5390/update_encounters_post_battle.s +++ /dev/null @@ -1,1244 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel jtbl_80098698 -.word .L80042198_1D598, .L800421AC_1D5AC, .L800421C0_1D5C0, .L800421E8_1D5E8, .L800421D4_1D5D4, 0 - -.section .text - -glabel update_encounters_post_battle -/* 1D310 80041F10 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 1D314 80041F14 AFB60028 */ sw $s6, 0x28($sp) -/* 1D318 80041F18 3C16800B */ lui $s6, %hi(gCurrentEncounter) -/* 1D31C 80041F1C 26D60F10 */ addiu $s6, $s6, %lo(gCurrentEncounter) -/* 1D320 80041F20 AFB7002C */ sw $s7, 0x2c($sp) -/* 1D324 80041F24 3C178011 */ lui $s7, %hi(gPlayerStatus) -/* 1D328 80041F28 26F7EFC8 */ addiu $s7, $s7, %lo(gPlayerStatus) -/* 1D32C 80041F2C AFB00010 */ sw $s0, 0x10($sp) -/* 1D330 80041F30 3C108011 */ lui $s0, %hi(gPlayerData) -/* 1D334 80041F34 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) -/* 1D338 80041F38 3C04800A */ lui $a0, %hi(D_8009A5D0) -/* 1D33C 80041F3C 2484A5D0 */ addiu $a0, $a0, %lo(D_8009A5D0) -/* 1D340 80041F40 AFBF0034 */ sw $ra, 0x34($sp) -/* 1D344 80041F44 AFBE0030 */ sw $fp, 0x30($sp) -/* 1D348 80041F48 AFB50024 */ sw $s5, 0x24($sp) -/* 1D34C 80041F4C AFB40020 */ sw $s4, 0x20($sp) -/* 1D350 80041F50 AFB3001C */ sw $s3, 0x1c($sp) -/* 1D354 80041F54 AFB20018 */ sw $s2, 0x18($sp) -/* 1D358 80041F58 AFB10014 */ sw $s1, 0x14($sp) -/* 1D35C 80041F5C 8C830000 */ lw $v1, ($a0) -/* 1D360 80041F60 24050066 */ addiu $a1, $zero, 0x66 -/* 1D364 80041F64 106501FC */ beq $v1, $a1, .L80042758 -/* 1D368 80041F68 28620067 */ slti $v0, $v1, 0x67 -/* 1D36C 80041F6C 1040001D */ beqz $v0, .L80041FE4 -/* 1D370 80041F70 24020004 */ addiu $v0, $zero, 4 -/* 1D374 80041F74 10620183 */ beq $v1, $v0, .L80042584 -/* 1D378 80041F78 28620005 */ slti $v0, $v1, 5 -/* 1D37C 80041F7C 10400009 */ beqz $v0, .L80041FA4 -/* 1D380 80041F80 24020002 */ addiu $v0, $zero, 2 -/* 1D384 80041F84 1062011C */ beq $v1, $v0, .L800423F8 -/* 1D388 80041F88 28620003 */ slti $v0, $v1, 3 -/* 1D38C 80041F8C 1040011F */ beqz $v0, .L8004240C -/* 1D390 80041F90 0000902D */ daddu $s2, $zero, $zero -/* 1D394 80041F94 10600037 */ beqz $v1, .L80042074 -/* 1D398 80041F98 00000000 */ nop -/* 1D39C 80041F9C 08010BD3 */ j .L80042F4C -/* 1D3A0 80041FA0 00000000 */ nop -.L80041FA4: -/* 1D3A4 80041FA4 2402000B */ addiu $v0, $zero, 0xb -/* 1D3A8 80041FA8 106200B3 */ beq $v1, $v0, .L80042278 -/* 1D3AC 80041FAC 2862000C */ slti $v0, $v1, 0xc -/* 1D3B0 80041FB0 10400005 */ beqz $v0, .L80041FC8 -/* 1D3B4 80041FB4 2402000A */ addiu $v0, $zero, 0xa -/* 1D3B8 80041FB8 10620090 */ beq $v1, $v0, .L800421FC -/* 1D3BC 80041FBC 00000000 */ nop -/* 1D3C0 80041FC0 08010BD3 */ j .L80042F4C -/* 1D3C4 80041FC4 00000000 */ nop -.L80041FC8: -/* 1D3C8 80041FC8 24020064 */ addiu $v0, $zero, 0x64 -/* 1D3CC 80041FCC 106201B1 */ beq $v1, $v0, .L80042694 -/* 1D3D0 80041FD0 24020065 */ addiu $v0, $zero, 0x65 -/* 1D3D4 80041FD4 106201DB */ beq $v1, $v0, .L80042744 -/* 1D3D8 80041FD8 00000000 */ nop -/* 1D3DC 80041FDC 08010BD3 */ j .L80042F4C -/* 1D3E0 80041FE0 00000000 */ nop -.L80041FE4: -/* 1D3E4 80041FE4 240200CB */ addiu $v0, $zero, 0xcb -/* 1D3E8 80041FE8 106202F9 */ beq $v1, $v0, .L80042BD0 -/* 1D3EC 80041FEC 286200CC */ slti $v0, $v1, 0xcc -/* 1D3F0 80041FF0 10400010 */ beqz $v0, .L80042034 -/* 1D3F4 80041FF4 240200C8 */ addiu $v0, $zero, 0xc8 -/* 1D3F8 80041FF8 10620278 */ beq $v1, $v0, .L800429DC -/* 1D3FC 80041FFC 286200C9 */ slti $v0, $v1, 0xc9 -/* 1D400 80042000 10400005 */ beqz $v0, .L80042018 -/* 1D404 80042004 24020067 */ addiu $v0, $zero, 0x67 -/* 1D408 80042008 1062025A */ beq $v1, $v0, .L80042974 -/* 1D40C 8004200C 00000000 */ nop -/* 1D410 80042010 08010BD3 */ j .L80042F4C -/* 1D414 80042014 00000000 */ nop -.L80042018: -/* 1D418 80042018 240200C9 */ addiu $v0, $zero, 0xc9 -/* 1D41C 8004201C 1062029B */ beq $v1, $v0, .L80042A8C -/* 1D420 80042020 240200CA */ addiu $v0, $zero, 0xca -/* 1D424 80042024 1062029E */ beq $v1, $v0, .L80042AA0 -/* 1D428 80042028 0000902D */ daddu $s2, $zero, $zero -/* 1D42C 8004202C 08010BD3 */ j .L80042F4C -/* 1D430 80042030 00000000 */ nop -.L80042034: -/* 1D434 80042034 24020190 */ addiu $v0, $zero, 0x190 -/* 1D438 80042038 1062031E */ beq $v1, $v0, .L80042CB4 -/* 1D43C 8004203C 28620191 */ slti $v0, $v1, 0x191 -/* 1D440 80042040 10400005 */ beqz $v0, .L80042058 -/* 1D444 80042044 2402012C */ addiu $v0, $zero, 0x12c -/* 1D448 80042048 106202F2 */ beq $v1, $v0, .L80042C14 -/* 1D44C 8004204C 00000000 */ nop -/* 1D450 80042050 08010BD3 */ j .L80042F4C -/* 1D454 80042054 00000000 */ nop -.L80042058: -/* 1D458 80042058 24020191 */ addiu $v0, $zero, 0x191 -/* 1D45C 8004205C 1062033E */ beq $v1, $v0, .L80042D58 -/* 1D460 80042060 24020192 */ addiu $v0, $zero, 0x192 -/* 1D464 80042064 10620349 */ beq $v1, $v0, .L80042D8C -/* 1D468 80042068 0000902D */ daddu $s2, $zero, $zero -/* 1D46C 8004206C 08010BD3 */ j .L80042F4C -/* 1D470 80042070 00000000 */ nop -.L80042074: -/* 1D474 80042074 82C20008 */ lb $v0, 8($s6) -/* 1D478 80042078 104003E8 */ beqz $v0, .L8004301C -/* 1D47C 8004207C 00000000 */ nop -/* 1D480 80042080 A2C00008 */ sb $zero, 8($s6) -/* 1D484 80042084 A6E00010 */ sh $zero, 0x10($s7) -/* 1D488 80042088 0C03A5F9 */ jal func_800E97E4 -/* 1D48C 8004208C A2C00012 */ sb $zero, 0x12($s6) -/* 1D490 80042090 A2C000A0 */ sb $zero, 0xa0($s6) -/* 1D494 80042094 A2C000A4 */ sb $zero, 0xa4($s6) -/* 1D498 80042098 A2C000A8 */ sb $zero, 0xa8($s6) -/* 1D49C 8004209C A2C000AC */ sb $zero, 0xac($s6) -/* 1D4A0 800420A0 3C02800A */ lui $v0, %hi(D_8009A654) -/* 1D4A4 800420A4 8042A654 */ lb $v0, %lo(D_8009A654)($v0) -/* 1D4A8 800420A8 24110001 */ addiu $s1, $zero, 1 -/* 1D4AC 800420AC A6C000A2 */ sh $zero, 0xa2($s6) -/* 1D4B0 800420B0 A6C000A6 */ sh $zero, 0xa6($s6) -/* 1D4B4 800420B4 A6C000AA */ sh $zero, 0xaa($s6) -/* 1D4B8 800420B8 14510003 */ bne $v0, $s1, .L800420C8 -/* 1D4BC 800420BC A6C000AE */ sh $zero, 0xae($s6) -/* 1D4C0 800420C0 0C052B9B */ jal bgm_pop_battle_song -/* 1D4C4 800420C4 00000000 */ nop -.L800420C8: -/* 1D4C8 800420C8 3C03FFFB */ lui $v1, 0xfffb -/* 1D4CC 800420CC 3463FFFF */ ori $v1, $v1, 0xffff -/* 1D4D0 800420D0 AED10098 */ sw $s1, 0x98($s6) -/* 1D4D4 800420D4 AEC0009C */ sw $zero, 0x9c($s6) -/* 1D4D8 800420D8 8EE20000 */ lw $v0, ($s7) -/* 1D4DC 800420DC 3C10800A */ lui $s0, %hi(D_8009A670) -/* 1D4E0 800420E0 2610A670 */ addiu $s0, $s0, %lo(D_8009A670) -/* 1D4E4 800420E4 A2000000 */ sb $zero, ($s0) -/* 1D4E8 800420E8 00431024 */ and $v0, $v0, $v1 -/* 1D4EC 800420EC AEE20000 */ sw $v0, ($s7) -/* 1D4F0 800420F0 82C30005 */ lb $v1, 5($s6) -/* 1D4F4 800420F4 24020003 */ addiu $v0, $zero, 3 -/* 1D4F8 800420F8 50620001 */ beql $v1, $v0, .L80042100 -/* 1D4FC 800420FC A2110000 */ sb $s1, ($s0) -.L80042100: -/* 1D500 80042100 3C028007 */ lui $v0, %hi(D_80077C40) -/* 1D504 80042104 8C427C40 */ lw $v0, %lo(D_80077C40)($v0) -/* 1D508 80042108 14400003 */ bnez $v0, .L80042118 -/* 1D50C 8004210C A2C00005 */ sb $zero, 5($s6) -/* 1D510 80042110 0C03ADB1 */ jal partner_handle_after_battle -/* 1D514 80042114 00000000 */ nop -.L80042118: -/* 1D518 80042118 3C028011 */ lui $v0, %hi(gPartnerActionStatus) -/* 1D51C 8004211C 2442EBB0 */ addiu $v0, $v0, %lo(gPartnerActionStatus) -/* 1D520 80042120 80420001 */ lb $v0, 1($v0) -/* 1D524 80042124 3C03800A */ lui $v1, %hi(D_8009A63C) -/* 1D528 80042128 2463A63C */ addiu $v1, $v1, %lo(D_8009A63C) -/* 1D52C 8004212C 10400003 */ beqz $v0, .L8004213C -/* 1D530 80042130 A0600000 */ sb $zero, ($v1) -/* 1D534 80042134 0801085D */ j .L80042174 -/* 1D538 80042138 A0710000 */ sb $s1, ($v1) -.L8004213C: -/* 1D53C 8004213C 82020000 */ lb $v0, ($s0) -/* 1D540 80042140 1440000C */ bnez $v0, .L80042174 -/* 1D544 80042144 00000000 */ nop -/* 1D548 80042148 8EE20000 */ lw $v0, ($s7) -/* 1D54C 8004214C 30420006 */ andi $v0, $v0, 6 -/* 1D550 80042150 14400008 */ bnez $v0, .L80042174 -/* 1D554 80042154 24020021 */ addiu $v0, $zero, 0x21 -/* 1D558 80042158 82E300B4 */ lb $v1, 0xb4($s7) -/* 1D55C 8004215C 10620005 */ beq $v1, $v0, .L80042174 -/* 1D560 80042160 2402001D */ addiu $v0, $zero, 0x1d -/* 1D564 80042164 10620003 */ beq $v1, $v0, .L80042174 -/* 1D568 80042168 00000000 */ nop -/* 1D56C 8004216C 0C039769 */ jal set_action_state -/* 1D570 80042170 0000202D */ daddu $a0, $zero, $zero -.L80042174: -/* 1D574 80042174 82C30009 */ lb $v1, 9($s6) -/* 1D578 80042178 2C620005 */ sltiu $v0, $v1, 5 -/* 1D57C 8004217C 10400373 */ beqz $v0, .L80042F4C -/* 1D580 80042180 00031080 */ sll $v0, $v1, 2 -/* 1D584 80042184 3C01800A */ lui $at, %hi(jtbl_80098698) -/* 1D588 80042188 00220821 */ addu $at, $at, $v0 -/* 1D58C 8004218C 8C228698 */ lw $v0, %lo(jtbl_80098698)($at) -/* 1D590 80042190 00400008 */ jr $v0 -/* 1D594 80042194 00000000 */ nop -.L80042198_1D598: -/* 1D598 80042198 2402000A */ addiu $v0, $zero, 0xa -/* 1D59C 8004219C 3C01800A */ lui $at, %hi(D_8009A5D0) -/* 1D5A0 800421A0 AC22A5D0 */ sw $v0, %lo(D_8009A5D0)($at) -/* 1D5A4 800421A4 08010BD3 */ j .L80042F4C -/* 1D5A8 800421A8 00000000 */ nop -.L800421AC_1D5AC: -/* 1D5AC 800421AC 240200C8 */ addiu $v0, $zero, 0xc8 -/* 1D5B0 800421B0 3C01800A */ lui $at, %hi(D_8009A5D0) -/* 1D5B4 800421B4 AC22A5D0 */ sw $v0, %lo(D_8009A5D0)($at) -/* 1D5B8 800421B8 08010BD3 */ j .L80042F4C -/* 1D5BC 800421BC 00000000 */ nop -.L800421C0_1D5C0: -/* 1D5C0 800421C0 24020064 */ addiu $v0, $zero, 0x64 -/* 1D5C4 800421C4 3C01800A */ lui $at, %hi(D_8009A5D0) -/* 1D5C8 800421C8 AC22A5D0 */ sw $v0, %lo(D_8009A5D0)($at) -/* 1D5CC 800421CC 08010BD3 */ j .L80042F4C -/* 1D5D0 800421D0 00000000 */ nop -.L800421D4_1D5D4: -/* 1D5D4 800421D4 2402012C */ addiu $v0, $zero, 0x12c -/* 1D5D8 800421D8 3C01800A */ lui $at, %hi(D_8009A5D0) -/* 1D5DC 800421DC AC22A5D0 */ sw $v0, %lo(D_8009A5D0)($at) -/* 1D5E0 800421E0 08010BD3 */ j .L80042F4C -/* 1D5E4 800421E4 00000000 */ nop -.L800421E8_1D5E8: -/* 1D5E8 800421E8 24020190 */ addiu $v0, $zero, 0x190 -/* 1D5EC 800421EC 3C01800A */ lui $at, %hi(D_8009A5D0) -/* 1D5F0 800421F0 AC22A5D0 */ sw $v0, %lo(D_8009A5D0)($at) -/* 1D5F4 800421F4 08010BD3 */ j .L80042F4C -/* 1D5F8 800421F8 00000000 */ nop -.L800421FC: -/* 1D5FC 800421FC 82C2000B */ lb $v0, 0xb($s6) -/* 1D600 80042200 10400019 */ beqz $v0, .L80042268 -/* 1D604 80042204 2402000B */ addiu $v0, $zero, 0xb -/* 1D608 80042208 8EC4008C */ lw $a0, 0x8c($s6) -/* 1D60C 8004220C 0C012354 */ jal get_coin_drop_amount -/* 1D610 80042210 00000000 */ nop -/* 1D614 80042214 1040000F */ beqz $v0, .L80042254 -/* 1D618 80042218 2405000A */ addiu $a1, $zero, 0xa -/* 1D61C 8004221C 3C048007 */ lui $a0, %hi(D_80077C44) -/* 1D620 80042220 24847C44 */ addiu $a0, $a0, %lo(D_80077C44) -/* 1D624 80042224 0C0B0CF8 */ jal start_script -/* 1D628 80042228 0000302D */ daddu $a2, $zero, $zero -/* 1D62C 8004222C 3C03800A */ lui $v1, %hi(D_800A0BB0) -/* 1D630 80042230 24630BB0 */ addiu $v1, $v1, %lo(D_800A0BB0) -/* 1D634 80042234 AC620000 */ sw $v0, ($v1) -/* 1D638 80042238 A0400004 */ sb $zero, 4($v0) -/* 1D63C 8004223C 8C620000 */ lw $v0, ($v1) -/* 1D640 80042240 8C420144 */ lw $v0, 0x144($v0) -/* 1D644 80042244 3C01800A */ lui $at, %hi(D_800A0BB4) -/* 1D648 80042248 AC220BB4 */ sw $v0, %lo(D_800A0BB4)($at) -/* 1D64C 8004224C 0801089A */ j .L80042268 -/* 1D650 80042250 2402000B */ addiu $v0, $zero, 0xb -.L80042254: -/* 1D654 80042254 9202028A */ lbu $v0, 0x28a($s0) -/* 1D658 80042258 A600028C */ sh $zero, 0x28c($s0) -/* 1D65C 8004225C 24420001 */ addiu $v0, $v0, 1 -/* 1D660 80042260 A202028A */ sb $v0, 0x28a($s0) -/* 1D664 80042264 2402000B */ addiu $v0, $zero, 0xb -.L80042268: -/* 1D668 80042268 3C01800A */ lui $at, %hi(D_8009A5D0) -/* 1D66C 8004226C AC22A5D0 */ sw $v0, %lo(D_8009A5D0)($at) -/* 1D670 80042270 08010BD3 */ j .L80042F4C -/* 1D674 80042274 00000000 */ nop -.L80042278: -/* 1D678 80042278 82C2000B */ lb $v0, 0xb($s6) -/* 1D67C 8004227C 10400013 */ beqz $v0, .L800422CC -/* 1D680 80042280 00000000 */ nop -/* 1D684 80042284 0C012354 */ jal get_coin_drop_amount -/* 1D688 80042288 8EC4008C */ lw $a0, 0x8c($s6) -/* 1D68C 8004228C 1040000F */ beqz $v0, .L800422CC -/* 1D690 80042290 00000000 */ nop -/* 1D694 80042294 8EC20098 */ lw $v0, 0x98($s6) -/* 1D698 80042298 8EC30090 */ lw $v1, 0x90($s6) -/* 1D69C 8004229C 24420004 */ addiu $v0, $v0, 4 -/* 1D6A0 800422A0 00621823 */ subu $v1, $v1, $v0 -/* 1D6A4 800422A4 AEC20098 */ sw $v0, 0x98($s6) -/* 1D6A8 800422A8 04610002 */ bgez $v1, .L800422B4 -/* 1D6AC 800422AC AEC30090 */ sw $v1, 0x90($s6) -/* 1D6B0 800422B0 AEC00090 */ sw $zero, 0x90($s6) -.L800422B4: -/* 1D6B4 800422B4 3C04800A */ lui $a0, %hi(D_800A0BB4) -/* 1D6B8 800422B8 8C840BB4 */ lw $a0, %lo(D_800A0BB4)($a0) -/* 1D6BC 800422BC 0C0B1059 */ jal does_script_exist -/* 1D6C0 800422C0 00000000 */ nop -/* 1D6C4 800422C4 14400321 */ bnez $v0, .L80042F4C -/* 1D6C8 800422C8 00000000 */ nop -.L800422CC: -/* 1D6CC 800422CC 8ED40088 */ lw $s4, 0x88($s6) -/* 1D6D0 800422D0 8E820000 */ lw $v0, ($s4) -/* 1D6D4 800422D4 18400031 */ blez $v0, .L8004239C -/* 1D6D8 800422D8 0000982D */ daddu $s3, $zero, $zero -/* 1D6DC 800422DC 24120001 */ addiu $s2, $zero, 1 -/* 1D6E0 800422E0 0280882D */ daddu $s1, $s4, $zero -.L800422E4: -/* 1D6E4 800422E4 8E300004 */ lw $s0, 4($s1) -/* 1D6E8 800422E8 12000027 */ beqz $s0, .L80042388 -/* 1D6EC 800422EC 00000000 */ nop -/* 1D6F0 800422F0 8E030000 */ lw $v1, ($s0) -/* 1D6F4 800422F4 30620008 */ andi $v0, $v1, 8 -/* 1D6F8 800422F8 10400004 */ beqz $v0, .L8004230C -/* 1D6FC 800422FC 30620020 */ andi $v0, $v1, 0x20 -/* 1D700 80042300 8EC2008C */ lw $v0, 0x8c($s6) -/* 1D704 80042304 16020020 */ bne $s0, $v0, .L80042388 -/* 1D708 80042308 30620020 */ andi $v0, $v1, 0x20 -.L8004230C: -/* 1D70C 8004230C 1440001E */ bnez $v0, .L80042388 -/* 1D710 80042310 00000000 */ nop -/* 1D714 80042314 8E040030 */ lw $a0, 0x30($s0) -/* 1D718 80042318 1080000E */ beqz $a0, .L80042354 -/* 1D71C 8004231C 2405000A */ addiu $a1, $zero, 0xa -/* 1D720 80042320 0000302D */ daddu $a2, $zero, $zero -/* 1D724 80042324 0C0B0D74 */ jal start_script_in_group -/* 1D728 80042328 00C0382D */ daddu $a3, $a2, $zero -/* 1D72C 8004232C 0040202D */ daddu $a0, $v0, $zero -/* 1D730 80042330 AE040048 */ sw $a0, 0x48($s0) -/* 1D734 80042334 8C820144 */ lw $v0, 0x144($a0) -/* 1D738 80042338 AE020060 */ sw $v0, 0x60($s0) -/* 1D73C 8004233C AC900148 */ sw $s0, 0x148($a0) -/* 1D740 80042340 86020008 */ lh $v0, 8($s0) -/* 1D744 80042344 A0800004 */ sb $zero, 4($a0) -/* 1D748 80042348 AC82014C */ sw $v0, 0x14c($a0) -/* 1D74C 8004234C 080108E2 */ j .L80042388 -/* 1D750 80042350 AED2009C */ sw $s2, 0x9c($s6) -.L80042354: -/* 1D754 80042354 3C048007 */ lui $a0, %hi(SCRIPT_NpcDefeat) -/* 1D758 80042358 24847E38 */ addiu $a0, $a0, %lo(SCRIPT_NpcDefeat) -/* 1D75C 8004235C 0000302D */ daddu $a2, $zero, $zero -/* 1D760 80042360 0C0B0D74 */ jal start_script_in_group -/* 1D764 80042364 00C0382D */ daddu $a3, $a2, $zero -/* 1D768 80042368 0040202D */ daddu $a0, $v0, $zero -/* 1D76C 8004236C AE040048 */ sw $a0, 0x48($s0) -/* 1D770 80042370 8C820144 */ lw $v0, 0x144($a0) -/* 1D774 80042374 AE020060 */ sw $v0, 0x60($s0) -/* 1D778 80042378 AC900148 */ sw $s0, 0x148($a0) -/* 1D77C 8004237C 86020008 */ lh $v0, 8($s0) -/* 1D780 80042380 A0800004 */ sb $zero, 4($a0) -/* 1D784 80042384 AC82014C */ sw $v0, 0x14c($a0) -.L80042388: -/* 1D788 80042388 8E820000 */ lw $v0, ($s4) -/* 1D78C 8004238C 26730001 */ addiu $s3, $s3, 1 -/* 1D790 80042390 0262102A */ slt $v0, $s3, $v0 -/* 1D794 80042394 1440FFD3 */ bnez $v0, .L800422E4 -/* 1D798 80042398 26310004 */ addiu $s1, $s1, 4 -.L8004239C: -/* 1D79C 8004239C 8EC20000 */ lw $v0, ($s6) -/* 1D7A0 800423A0 30420001 */ andi $v0, $v0, 1 -/* 1D7A4 800423A4 14400010 */ bnez $v0, .L800423E8 -/* 1D7A8 800423A8 24020002 */ addiu $v0, $zero, 2 -/* 1D7AC 800423AC 3C02800A */ lui $v0, %hi(D_8009A63C) -/* 1D7B0 800423B0 8042A63C */ lb $v0, %lo(D_8009A63C)($v0) -/* 1D7B4 800423B4 1440000C */ bnez $v0, .L800423E8 -/* 1D7B8 800423B8 24020002 */ addiu $v0, $zero, 2 -/* 1D7BC 800423BC 8EC2009C */ lw $v0, 0x9c($s6) -/* 1D7C0 800423C0 14400009 */ bnez $v0, .L800423E8 -/* 1D7C4 800423C4 24020002 */ addiu $v0, $zero, 2 -/* 1D7C8 800423C8 3C02800A */ lui $v0, %hi(D_8009A670) -/* 1D7CC 800423CC 8042A670 */ lb $v0, %lo(D_8009A670)($v0) -/* 1D7D0 800423D0 14400005 */ bnez $v0, .L800423E8 -/* 1D7D4 800423D4 24020002 */ addiu $v0, $zero, 2 -/* 1D7D8 800423D8 3C040001 */ lui $a0, 1 -/* 1D7DC 800423DC 0C037FBF */ jal suggest_player_anim_clearUnkFlag -/* 1D7E0 800423E0 34840032 */ ori $a0, $a0, 0x32 -/* 1D7E4 800423E4 24020002 */ addiu $v0, $zero, 2 -.L800423E8: -/* 1D7E8 800423E8 3C01800A */ lui $at, %hi(D_8009A5D0) -/* 1D7EC 800423EC AC22A5D0 */ sw $v0, %lo(D_8009A5D0)($at) -/* 1D7F0 800423F0 08010BD3 */ j .L80042F4C -/* 1D7F4 800423F4 00000000 */ nop -.L800423F8: -/* 1D7F8 800423F8 8EC30090 */ lw $v1, 0x90($s6) -/* 1D7FC 800423FC 1460025B */ bnez $v1, .L80042D6C -/* 1D800 80042400 24020003 */ addiu $v0, $zero, 3 -/* 1D804 80042404 08010BD3 */ j .L80042F4C -/* 1D808 80042408 AC820000 */ sw $v0, ($a0) -.L8004240C: -/* 1D80C 8004240C 8ED40088 */ lw $s4, 0x88($s6) -/* 1D810 80042410 8E820000 */ lw $v0, ($s4) -/* 1D814 80042414 18400018 */ blez $v0, .L80042478 -/* 1D818 80042418 0240982D */ daddu $s3, $s2, $zero -/* 1D81C 8004241C 0280882D */ daddu $s1, $s4, $zero -.L80042420: -/* 1D820 80042420 8E300004 */ lw $s0, 4($s1) -/* 1D824 80042424 1200000F */ beqz $s0, .L80042464 -/* 1D828 80042428 00000000 */ nop -/* 1D82C 8004242C 8E030000 */ lw $v1, ($s0) -/* 1D830 80042430 30620008 */ andi $v0, $v1, 8 -/* 1D834 80042434 10400004 */ beqz $v0, .L80042448 -/* 1D838 80042438 30620020 */ andi $v0, $v1, 0x20 -/* 1D83C 8004243C 8EC2008C */ lw $v0, 0x8c($s6) -/* 1D840 80042440 16020008 */ bne $s0, $v0, .L80042464 -/* 1D844 80042444 30620020 */ andi $v0, $v1, 0x20 -.L80042448: -/* 1D848 80042448 14400006 */ bnez $v0, .L80042464 -/* 1D84C 8004244C 00000000 */ nop -/* 1D850 80042450 0C0B1059 */ jal does_script_exist -/* 1D854 80042454 8E040060 */ lw $a0, 0x60($s0) -/* 1D858 80042458 50400002 */ beql $v0, $zero, .L80042464 -/* 1D85C 8004245C AE000048 */ sw $zero, 0x48($s0) -/* 1D860 80042460 24120001 */ addiu $s2, $zero, 1 -.L80042464: -/* 1D864 80042464 8E820000 */ lw $v0, ($s4) -/* 1D868 80042468 26730001 */ addiu $s3, $s3, 1 -/* 1D86C 8004246C 0262102A */ slt $v0, $s3, $v0 -/* 1D870 80042470 1440FFEB */ bnez $v0, .L80042420 -/* 1D874 80042474 26310004 */ addiu $s1, $s1, 4 -.L80042478: -/* 1D878 80042478 164002B4 */ bnez $s2, .L80042F4C -/* 1D87C 8004247C 00000000 */ nop -/* 1D880 80042480 8EC20000 */ lw $v0, ($s6) -/* 1D884 80042484 30420001 */ andi $v0, $v0, 1 -/* 1D888 80042488 1440000B */ bnez $v0, .L800424B8 -/* 1D88C 8004248C 00000000 */ nop -/* 1D890 80042490 3C02800A */ lui $v0, %hi(D_8009A63C) -/* 1D894 80042494 8042A63C */ lb $v0, %lo(D_8009A63C)($v0) -/* 1D898 80042498 14400007 */ bnez $v0, .L800424B8 -/* 1D89C 8004249C 24020001 */ addiu $v0, $zero, 1 -/* 1D8A0 800424A0 8EC3009C */ lw $v1, 0x9c($s6) -/* 1D8A4 800424A4 14620004 */ bne $v1, $v0, .L800424B8 -/* 1D8A8 800424A8 00000000 */ nop -/* 1D8AC 800424AC 3C040001 */ lui $a0, 1 -/* 1D8B0 800424B0 0C037FBF */ jal suggest_player_anim_clearUnkFlag -/* 1D8B4 800424B4 34840032 */ ori $a0, $a0, 0x32 -.L800424B8: -/* 1D8B8 800424B8 8ED40088 */ lw $s4, 0x88($s6) -/* 1D8BC 800424BC 8E820000 */ lw $v0, ($s4) -/* 1D8C0 800424C0 1840001D */ blez $v0, .L80042538 -/* 1D8C4 800424C4 0000982D */ daddu $s3, $zero, $zero -/* 1D8C8 800424C8 0280882D */ daddu $s1, $s4, $zero -.L800424CC: -/* 1D8CC 800424CC 8E300004 */ lw $s0, 4($s1) -/* 1D8D0 800424D0 12000014 */ beqz $s0, .L80042524 -/* 1D8D4 800424D4 00000000 */ nop -/* 1D8D8 800424D8 8E030000 */ lw $v1, ($s0) -/* 1D8DC 800424DC 30620004 */ andi $v0, $v1, 4 -/* 1D8E0 800424E0 14400010 */ bnez $v0, .L80042524 -/* 1D8E4 800424E4 30620008 */ andi $v0, $v1, 8 -/* 1D8E8 800424E8 10400004 */ beqz $v0, .L800424FC -/* 1D8EC 800424EC 30620001 */ andi $v0, $v1, 1 -/* 1D8F0 800424F0 8EC2008C */ lw $v0, 0x8c($s6) -/* 1D8F4 800424F4 1602000B */ bne $s0, $v0, .L80042524 -/* 1D8F8 800424F8 30620001 */ andi $v0, $v1, 1 -.L800424FC: -/* 1D8FC 800424FC 14400007 */ bnez $v0, .L8004251C -/* 1D900 80042500 30620010 */ andi $v0, $v1, 0x10 -/* 1D904 80042504 14400005 */ bnez $v0, .L8004251C -/* 1D908 80042508 00000000 */ nop -/* 1D90C 8004250C 86850048 */ lh $a1, 0x48($s4) -/* 1D910 80042510 82C40020 */ lb $a0, 0x20($s6) -/* 1D914 80042514 0C00FB90 */ jal set_defeated -/* 1D918 80042518 00B32821 */ addu $a1, $a1, $s3 -.L8004251C: -/* 1D91C 8004251C 0C00F9EB */ jal kill_enemy -/* 1D920 80042520 0200202D */ daddu $a0, $s0, $zero -.L80042524: -/* 1D924 80042524 8E820000 */ lw $v0, ($s4) -/* 1D928 80042528 26730001 */ addiu $s3, $s3, 1 -/* 1D92C 8004252C 0262102A */ slt $v0, $s3, $v0 -/* 1D930 80042530 1440FFE6 */ bnez $v0, .L800424CC -/* 1D934 80042534 26310004 */ addiu $s1, $s1, 4 -.L80042538: -/* 1D938 80042538 8EC20000 */ lw $v0, ($s6) -/* 1D93C 8004253C 30420001 */ andi $v0, $v0, 1 -/* 1D940 80042540 1440000B */ bnez $v0, .L80042570 -/* 1D944 80042544 AEC00094 */ sw $zero, 0x94($s6) -/* 1D948 80042548 3C02800A */ lui $v0, %hi(D_8009A63C) -/* 1D94C 8004254C 8042A63C */ lb $v0, %lo(D_8009A63C)($v0) -/* 1D950 80042550 14400008 */ bnez $v0, .L80042574 -/* 1D954 80042554 24020004 */ addiu $v0, $zero, 4 -/* 1D958 80042558 8EC3009C */ lw $v1, 0x9c($s6) -/* 1D95C 8004255C 24020001 */ addiu $v0, $zero, 1 -/* 1D960 80042560 14620004 */ bne $v1, $v0, .L80042574 -/* 1D964 80042564 24020004 */ addiu $v0, $zero, 4 -/* 1D968 80042568 2402001E */ addiu $v0, $zero, 0x1e -/* 1D96C 8004256C AEC20094 */ sw $v0, 0x94($s6) -.L80042570: -/* 1D970 80042570 24020004 */ addiu $v0, $zero, 4 -.L80042574: -/* 1D974 80042574 3C01800A */ lui $at, %hi(D_8009A5D0) -/* 1D978 80042578 AC22A5D0 */ sw $v0, %lo(D_8009A5D0)($at) -/* 1D97C 8004257C 08010BD3 */ j .L80042F4C -/* 1D980 80042580 00000000 */ nop -.L80042584: -/* 1D984 80042584 8EC20000 */ lw $v0, ($s6) -/* 1D988 80042588 30420002 */ andi $v0, $v0, 2 -/* 1D98C 8004258C 14400009 */ bnez $v0, .L800425B4 -/* 1D990 80042590 00000000 */ nop -/* 1D994 80042594 3C038007 */ lui $v1, %hi(gGameStatusPtr) -/* 1D998 80042598 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) -/* 1D99C 8004259C 80620040 */ lb $v0, 0x40($v1) -/* 1D9A0 800425A0 54400004 */ bnel $v0, $zero, .L800425B4 -/* 1D9A4 800425A4 AEC00094 */ sw $zero, 0x94($s6) -/* 1D9A8 800425A8 80620044 */ lb $v0, 0x44($v1) -/* 1D9AC 800425AC 54400001 */ bnel $v0, $zero, .L800425B4 -/* 1D9B0 800425B0 AEC00094 */ sw $zero, 0x94($s6) -.L800425B4: -/* 1D9B4 800425B4 8EC20094 */ lw $v0, 0x94($s6) -/* 1D9B8 800425B8 10400003 */ beqz $v0, .L800425C8 -/* 1D9BC 800425BC 2442FFFF */ addiu $v0, $v0, -1 -/* 1D9C0 800425C0 08010BD3 */ j .L80042F4C -/* 1D9C4 800425C4 AEC20094 */ sw $v0, 0x94($s6) -.L800425C8: -/* 1D9C8 800425C8 82C2001C */ lb $v0, 0x1c($s6) -/* 1D9CC 800425CC 18400024 */ blez $v0, .L80042660 -/* 1D9D0 800425D0 0000982D */ daddu $s3, $zero, $zero -/* 1D9D4 800425D4 02C0A82D */ daddu $s5, $s6, $zero -.L800425D8: -/* 1D9D8 800425D8 8EB40028 */ lw $s4, 0x28($s5) -/* 1D9DC 800425DC 1280001B */ beqz $s4, .L8004264C -/* 1D9E0 800425E0 00000000 */ nop -/* 1D9E4 800425E4 8E820000 */ lw $v0, ($s4) -/* 1D9E8 800425E8 18400018 */ blez $v0, .L8004264C -/* 1D9EC 800425EC 0000882D */ daddu $s1, $zero, $zero -/* 1D9F0 800425F0 0280902D */ daddu $s2, $s4, $zero -.L800425F4: -/* 1D9F4 800425F4 8E500004 */ lw $s0, 4($s2) -/* 1D9F8 800425F8 1200000F */ beqz $s0, .L80042638 -/* 1D9FC 800425FC 00000000 */ nop -/* 1DA00 80042600 8E020000 */ lw $v0, ($s0) -/* 1DA04 80042604 30420020 */ andi $v0, $v0, 0x20 -/* 1DA08 80042608 1440000B */ bnez $v0, .L80042638 -/* 1DA0C 8004260C 00000000 */ nop -/* 1DA10 80042610 8E02003C */ lw $v0, 0x3c($s0) -/* 1DA14 80042614 10400003 */ beqz $v0, .L80042624 -/* 1DA18 80042618 00000000 */ nop -/* 1DA1C 8004261C 0C0B1123 */ jal resume_all_script -/* 1DA20 80042620 8E040054 */ lw $a0, 0x54($s0) -.L80042624: -/* 1DA24 80042624 8E020044 */ lw $v0, 0x44($s0) -/* 1DA28 80042628 10400003 */ beqz $v0, .L80042638 -/* 1DA2C 8004262C 00000000 */ nop -/* 1DA30 80042630 0C0B1123 */ jal resume_all_script -/* 1DA34 80042634 8E04005C */ lw $a0, 0x5c($s0) -.L80042638: -/* 1DA38 80042638 8E820000 */ lw $v0, ($s4) -/* 1DA3C 8004263C 26310001 */ addiu $s1, $s1, 1 -/* 1DA40 80042640 0222102A */ slt $v0, $s1, $v0 -/* 1DA44 80042644 1440FFEB */ bnez $v0, .L800425F4 -/* 1DA48 80042648 26520004 */ addiu $s2, $s2, 4 -.L8004264C: -/* 1DA4C 8004264C 82C2001C */ lb $v0, 0x1c($s6) -/* 1DA50 80042650 26730001 */ addiu $s3, $s3, 1 -/* 1DA54 80042654 0262102A */ slt $v0, $s3, $v0 -/* 1DA58 80042658 1440FFDF */ bnez $v0, .L800425D8 -/* 1DA5C 8004265C 26B50004 */ addiu $s5, $s5, 4 -.L80042660: -/* 1DA60 80042660 2402000F */ addiu $v0, $zero, 0xf -/* 1DA64 80042664 0C038069 */ jal enable_player_input -/* 1DA68 80042668 A2C2000A */ sb $v0, 0xa($s6) -/* 1DA6C 8004266C 0C03BD80 */ jal partner_enable_input -/* 1DA70 80042670 00000000 */ nop -/* 1DA74 80042674 3C02800A */ lui $v0, %hi(D_8009A63C) -/* 1DA78 80042678 8042A63C */ lb $v0, %lo(D_8009A63C)($v0) -/* 1DA7C 8004267C 14400226 */ bnez $v0, .L80042F18 -/* 1DA80 80042680 3C040001 */ lui $a0, 1 -/* 1DA84 80042684 0C037FBF */ jal suggest_player_anim_clearUnkFlag -/* 1DA88 80042688 34840002 */ ori $a0, $a0, 2 -/* 1DA8C 8004268C 08010BC6 */ j .L80042F18 -/* 1DA90 80042690 00000000 */ nop -.L80042694: -/* 1DA94 80042694 8ED40088 */ lw $s4, 0x88($s6) -/* 1DA98 80042698 8E820000 */ lw $v0, ($s4) -/* 1DA9C 8004269C 18400024 */ blez $v0, .L80042730 -/* 1DAA0 800426A0 0000982D */ daddu $s3, $zero, $zero -/* 1DAA4 800426A4 0280882D */ daddu $s1, $s4, $zero -.L800426A8: -/* 1DAA8 800426A8 8E300004 */ lw $s0, 4($s1) -/* 1DAAC 800426AC 1200001B */ beqz $s0, .L8004271C -/* 1DAB0 800426B0 00000000 */ nop -/* 1DAB4 800426B4 8E030000 */ lw $v1, ($s0) -/* 1DAB8 800426B8 30620008 */ andi $v0, $v1, 8 -/* 1DABC 800426BC 10400004 */ beqz $v0, .L800426D0 -/* 1DAC0 800426C0 30620020 */ andi $v0, $v1, 0x20 -/* 1DAC4 800426C4 8EC2008C */ lw $v0, 0x8c($s6) -/* 1DAC8 800426C8 16020014 */ bne $s0, $v0, .L8004271C -/* 1DACC 800426CC 30620020 */ andi $v0, $v1, 0x20 -.L800426D0: -/* 1DAD0 800426D0 14400012 */ bnez $v0, .L8004271C -/* 1DAD4 800426D4 00000000 */ nop -/* 1DAD8 800426D8 8E040030 */ lw $a0, 0x30($s0) -/* 1DADC 800426DC 1080000F */ beqz $a0, .L8004271C -/* 1DAE0 800426E0 2405000A */ addiu $a1, $zero, 0xa -/* 1DAE4 800426E4 0C0B0CF8 */ jal start_script -/* 1DAE8 800426E8 0000302D */ daddu $a2, $zero, $zero -/* 1DAEC 800426EC 0040202D */ daddu $a0, $v0, $zero -/* 1DAF0 800426F0 8E0200B0 */ lw $v0, 0xb0($s0) -/* 1DAF4 800426F4 AE040048 */ sw $a0, 0x48($s0) -/* 1DAF8 800426F8 8C830144 */ lw $v1, 0x144($a0) -/* 1DAFC 800426FC 34420001 */ ori $v0, $v0, 1 -/* 1DB00 80042700 AE030060 */ sw $v1, 0x60($s0) -/* 1DB04 80042704 AE0200B0 */ sw $v0, 0xb0($s0) -/* 1DB08 80042708 AC900148 */ sw $s0, 0x148($a0) -/* 1DB0C 8004270C 86020008 */ lh $v0, 8($s0) -/* 1DB10 80042710 AC82014C */ sw $v0, 0x14c($a0) -/* 1DB14 80042714 92020006 */ lbu $v0, 6($s0) -/* 1DB18 80042718 A0820004 */ sb $v0, 4($a0) -.L8004271C: -/* 1DB1C 8004271C 8E820000 */ lw $v0, ($s4) -/* 1DB20 80042720 26730001 */ addiu $s3, $s3, 1 -/* 1DB24 80042724 0262102A */ slt $v0, $s3, $v0 -/* 1DB28 80042728 1440FFDF */ bnez $v0, .L800426A8 -/* 1DB2C 8004272C 26310004 */ addiu $s1, $s1, 4 -.L80042730: -/* 1DB30 80042730 24020065 */ addiu $v0, $zero, 0x65 -/* 1DB34 80042734 3C01800A */ lui $at, %hi(D_8009A5D0) -/* 1DB38 80042738 AC22A5D0 */ sw $v0, %lo(D_8009A5D0)($at) -/* 1DB3C 8004273C 08010BD3 */ j .L80042F4C -/* 1DB40 80042740 00000000 */ nop -.L80042744: -/* 1DB44 80042744 8EC30090 */ lw $v1, 0x90($s6) -/* 1DB48 80042748 14600188 */ bnez $v1, .L80042D6C -/* 1DB4C 8004274C 00000000 */ nop -/* 1DB50 80042750 08010BD3 */ j .L80042F4C -/* 1DB54 80042754 AC850000 */ sw $a1, ($a0) -.L80042758: -/* 1DB58 80042758 8ED40088 */ lw $s4, 0x88($s6) -/* 1DB5C 8004275C 0000902D */ daddu $s2, $zero, $zero -/* 1DB60 80042760 8E820000 */ lw $v0, ($s4) -/* 1DB64 80042764 18400013 */ blez $v0, .L800427B4 -/* 1DB68 80042768 0240982D */ daddu $s3, $s2, $zero -/* 1DB6C 8004276C 0280882D */ daddu $s1, $s4, $zero -.L80042770: -/* 1DB70 80042770 8E300004 */ lw $s0, 4($s1) -/* 1DB74 80042774 1200000A */ beqz $s0, .L800427A0 -/* 1DB78 80042778 00000000 */ nop -/* 1DB7C 8004277C 8E020000 */ lw $v0, ($s0) -/* 1DB80 80042780 30420020 */ andi $v0, $v0, 0x20 -/* 1DB84 80042784 14400006 */ bnez $v0, .L800427A0 -/* 1DB88 80042788 00000000 */ nop -/* 1DB8C 8004278C 0C0B1059 */ jal does_script_exist -/* 1DB90 80042790 8E040060 */ lw $a0, 0x60($s0) -/* 1DB94 80042794 50400002 */ beql $v0, $zero, .L800427A0 -/* 1DB98 80042798 AE000048 */ sw $zero, 0x48($s0) -/* 1DB9C 8004279C 24120001 */ addiu $s2, $zero, 1 -.L800427A0: -/* 1DBA0 800427A0 8E820000 */ lw $v0, ($s4) -/* 1DBA4 800427A4 26730001 */ addiu $s3, $s3, 1 -/* 1DBA8 800427A8 0262102A */ slt $v0, $s3, $v0 -/* 1DBAC 800427AC 1440FFF0 */ bnez $v0, .L80042770 -/* 1DBB0 800427B0 26310004 */ addiu $s1, $s1, 4 -.L800427B4: -/* 1DBB4 800427B4 164001E5 */ bnez $s2, .L80042F4C -/* 1DBB8 800427B8 00000000 */ nop -/* 1DBBC 800427BC 82C2001C */ lb $v0, 0x1c($s6) -/* 1DBC0 800427C0 18400024 */ blez $v0, .L80042854 -/* 1DBC4 800427C4 0000982D */ daddu $s3, $zero, $zero -/* 1DBC8 800427C8 02C0A82D */ daddu $s5, $s6, $zero -.L800427CC: -/* 1DBCC 800427CC 8EB40028 */ lw $s4, 0x28($s5) -/* 1DBD0 800427D0 1280001B */ beqz $s4, .L80042840 -/* 1DBD4 800427D4 00000000 */ nop -/* 1DBD8 800427D8 8E820000 */ lw $v0, ($s4) -/* 1DBDC 800427DC 18400018 */ blez $v0, .L80042840 -/* 1DBE0 800427E0 0000882D */ daddu $s1, $zero, $zero -/* 1DBE4 800427E4 0280902D */ daddu $s2, $s4, $zero -.L800427E8: -/* 1DBE8 800427E8 8E500004 */ lw $s0, 4($s2) -/* 1DBEC 800427EC 1200000F */ beqz $s0, .L8004282C -/* 1DBF0 800427F0 00000000 */ nop -/* 1DBF4 800427F4 8E020000 */ lw $v0, ($s0) -/* 1DBF8 800427F8 30420020 */ andi $v0, $v0, 0x20 -/* 1DBFC 800427FC 1440000B */ bnez $v0, .L8004282C -/* 1DC00 80042800 00000000 */ nop -/* 1DC04 80042804 8E02003C */ lw $v0, 0x3c($s0) -/* 1DC08 80042808 10400003 */ beqz $v0, .L80042818 -/* 1DC0C 8004280C 00000000 */ nop -/* 1DC10 80042810 0C0B1123 */ jal resume_all_script -/* 1DC14 80042814 8E040054 */ lw $a0, 0x54($s0) -.L80042818: -/* 1DC18 80042818 8E020044 */ lw $v0, 0x44($s0) -/* 1DC1C 8004281C 10400003 */ beqz $v0, .L8004282C -/* 1DC20 80042820 00000000 */ nop -/* 1DC24 80042824 0C0B1123 */ jal resume_all_script -/* 1DC28 80042828 8E04005C */ lw $a0, 0x5c($s0) -.L8004282C: -/* 1DC2C 8004282C 8E820000 */ lw $v0, ($s4) -/* 1DC30 80042830 26310001 */ addiu $s1, $s1, 1 -/* 1DC34 80042834 0222102A */ slt $v0, $s1, $v0 -/* 1DC38 80042838 1440FFEB */ bnez $v0, .L800427E8 -/* 1DC3C 8004283C 26520004 */ addiu $s2, $s2, 4 -.L80042840: -/* 1DC40 80042840 82C2001C */ lb $v0, 0x1c($s6) -/* 1DC44 80042844 26730001 */ addiu $s3, $s3, 1 -/* 1DC48 80042848 0262102A */ slt $v0, $s3, $v0 -/* 1DC4C 8004284C 1440FFDF */ bnez $v0, .L800427CC -/* 1DC50 80042850 26B50004 */ addiu $s5, $s5, 4 -.L80042854: -/* 1DC54 80042854 8ED0008C */ lw $s0, 0x8c($s6) -/* 1DC58 80042858 3C030004 */ lui $v1, 4 -/* 1DC5C 8004285C 8E020000 */ lw $v0, ($s0) -/* 1DC60 80042860 8ED40088 */ lw $s4, 0x88($s6) -/* 1DC64 80042864 00431024 */ and $v0, $v0, $v1 -/* 1DC68 80042868 1440001A */ bnez $v0, .L800428D4 -/* 1DC6C 8004286C 2402002D */ addiu $v0, $zero, 0x2d -/* 1DC70 80042870 A20200B4 */ sb $v0, 0xb4($s0) -/* 1DC74 80042874 2402002D */ addiu $v0, $zero, 0x2d -/* 1DC78 80042878 A6E20010 */ sh $v0, 0x10($s7) -/* 1DC7C 8004287C 8E820000 */ lw $v0, ($s4) -/* 1DC80 80042880 18400014 */ blez $v0, .L800428D4 -/* 1DC84 80042884 0000882D */ daddu $s1, $zero, $zero -/* 1DC88 80042888 2406002D */ addiu $a2, $zero, 0x2d -/* 1DC8C 8004288C 2405002D */ addiu $a1, $zero, 0x2d -/* 1DC90 80042890 0280202D */ daddu $a0, $s4, $zero -.L80042894: -/* 1DC94 80042894 8C900004 */ lw $s0, 4($a0) -/* 1DC98 80042898 12000009 */ beqz $s0, .L800428C0 -/* 1DC9C 8004289C 00000000 */ nop -/* 1DCA0 800428A0 8E030000 */ lw $v1, ($s0) -/* 1DCA4 800428A4 30620020 */ andi $v0, $v1, 0x20 -/* 1DCA8 800428A8 14400005 */ bnez $v0, .L800428C0 -/* 1DCAC 800428AC 30620008 */ andi $v0, $v1, 8 -/* 1DCB0 800428B0 14400003 */ bnez $v0, .L800428C0 -/* 1DCB4 800428B4 00000000 */ nop -/* 1DCB8 800428B8 A20600B4 */ sb $a2, 0xb4($s0) -/* 1DCBC 800428BC A6E50010 */ sh $a1, 0x10($s7) -.L800428C0: -/* 1DCC0 800428C0 8E820000 */ lw $v0, ($s4) -/* 1DCC4 800428C4 26310001 */ addiu $s1, $s1, 1 -/* 1DCC8 800428C8 0222102A */ slt $v0, $s1, $v0 -/* 1DCCC 800428CC 1440FFF1 */ bnez $v0, .L80042894 -/* 1DCD0 800428D0 24840004 */ addiu $a0, $a0, 4 -.L800428D4: -/* 1DCD4 800428D4 8EC20000 */ lw $v0, ($s6) -/* 1DCD8 800428D8 8ED0008C */ lw $s0, 0x8c($s6) -/* 1DCDC 800428DC 30420004 */ andi $v0, $v0, 4 -/* 1DCE0 800428E0 14400010 */ bnez $v0, .L80042924 -/* 1DCE4 800428E4 2402002D */ addiu $v0, $zero, 0x2d -/* 1DCE8 800428E8 3C048007 */ lui $a0, %hi(D_80077E9C) -/* 1DCEC 800428EC 24847E9C */ addiu $a0, $a0, %lo(D_80077E9C) -/* 1DCF0 800428F0 2405000A */ addiu $a1, $zero, 0xa -/* 1DCF4 800428F4 0C0B0CF8 */ jal start_script -/* 1DCF8 800428F8 0000302D */ daddu $a2, $zero, $zero -/* 1DCFC 800428FC 0040202D */ daddu $a0, $v0, $zero -/* 1DD00 80042900 AE040048 */ sw $a0, 0x48($s0) -/* 1DD04 80042904 8C820144 */ lw $v0, 0x144($a0) -/* 1DD08 80042908 AE020060 */ sw $v0, 0x60($s0) -/* 1DD0C 8004290C AC900148 */ sw $s0, 0x148($a0) -/* 1DD10 80042910 86020008 */ lh $v0, 8($s0) -/* 1DD14 80042914 AC82014C */ sw $v0, 0x14c($a0) -/* 1DD18 80042918 92020006 */ lbu $v0, 6($s0) -/* 1DD1C 8004291C A0820004 */ sb $v0, 4($a0) -/* 1DD20 80042920 2402002D */ addiu $v0, $zero, 0x2d -.L80042924: -/* 1DD24 80042924 A2C2000A */ sb $v0, 0xa($s6) -/* 1DD28 80042928 2402002D */ addiu $v0, $zero, 0x2d -/* 1DD2C 8004292C 0C038069 */ jal enable_player_input -/* 1DD30 80042930 A6E20010 */ sh $v0, 0x10($s7) -/* 1DD34 80042934 0C03BD80 */ jal partner_enable_input -/* 1DD38 80042938 00000000 */ nop -/* 1DD3C 8004293C 3C05BF80 */ lui $a1, 0xbf80 -/* 1DD40 80042940 0C04DF62 */ jal set_screen_overlay_params_front -/* 1DD44 80042944 240400FF */ addiu $a0, $zero, 0xff -/* 1DD48 80042948 3C02800A */ lui $v0, %hi(D_8009A63C) -/* 1DD4C 8004294C 8042A63C */ lb $v0, %lo(D_8009A63C)($v0) -/* 1DD50 80042950 54400003 */ bnel $v0, $zero, .L80042960 -/* 1DD54 80042954 AEC00094 */ sw $zero, 0x94($s6) -/* 1DD58 80042958 2402000F */ addiu $v0, $zero, 0xf -/* 1DD5C 8004295C AEC20094 */ sw $v0, 0x94($s6) -.L80042960: -/* 1DD60 80042960 24020067 */ addiu $v0, $zero, 0x67 -/* 1DD64 80042964 3C01800A */ lui $at, %hi(D_8009A5D0) -/* 1DD68 80042968 AC22A5D0 */ sw $v0, %lo(D_8009A5D0)($at) -/* 1DD6C 8004296C 08010BD3 */ j .L80042F4C -/* 1DD70 80042970 00000000 */ nop -.L80042974: -/* 1DD74 80042974 8EC20094 */ lw $v0, 0x94($s6) -/* 1DD78 80042978 1040000D */ beqz $v0, .L800429B0 -/* 1DD7C 8004297C 2442FFFF */ addiu $v0, $v0, -1 -/* 1DD80 80042980 3C038007 */ lui $v1, %hi(gGameStatusPtr) -/* 1DD84 80042984 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) -/* 1DD88 80042988 AEC20094 */ sw $v0, 0x94($s6) -/* 1DD8C 8004298C 8C620000 */ lw $v0, ($v1) -/* 1DD90 80042990 14400007 */ bnez $v0, .L800429B0 -/* 1DD94 80042994 00000000 */ nop -/* 1DD98 80042998 80620040 */ lb $v0, 0x40($v1) -/* 1DD9C 8004299C 14400004 */ bnez $v0, .L800429B0 -/* 1DDA0 800429A0 00000000 */ nop -/* 1DDA4 800429A4 80620044 */ lb $v0, 0x44($v1) -/* 1DDA8 800429A8 10400168 */ beqz $v0, .L80042F4C -/* 1DDAC 800429AC 00000000 */ nop -.L800429B0: -/* 1DDB0 800429B0 3C02800A */ lui $v0, %hi(D_8009A63C) -/* 1DDB4 800429B4 8042A63C */ lb $v0, %lo(D_8009A63C)($v0) -/* 1DDB8 800429B8 1440015A */ bnez $v0, .L80042F24 -/* 1DDBC 800429BC 3C020005 */ lui $v0, 5 -/* 1DDC0 800429C0 8EE300B8 */ lw $v1, 0xb8($s7) -/* 1DDC4 800429C4 14620157 */ bne $v1, $v0, .L80042F24 -/* 1DDC8 800429C8 3C040001 */ lui $a0, 1 -/* 1DDCC 800429CC 0C037FBF */ jal suggest_player_anim_clearUnkFlag -/* 1DDD0 800429D0 34840002 */ ori $a0, $a0, 2 -/* 1DDD4 800429D4 08010BC9 */ j .L80042F24 -/* 1DDD8 800429D8 00000000 */ nop -.L800429DC: -/* 1DDDC 800429DC 3C040008 */ lui $a0, 8 -/* 1DDE0 800429E0 0C037FBF */ jal suggest_player_anim_clearUnkFlag -/* 1DDE4 800429E4 34840009 */ ori $a0, $a0, 9 -/* 1DDE8 800429E8 8ED40088 */ lw $s4, 0x88($s6) -/* 1DDEC 800429EC 8E820000 */ lw $v0, ($s4) -/* 1DDF0 800429F0 18400021 */ blez $v0, .L80042A78 -/* 1DDF4 800429F4 0000982D */ daddu $s3, $zero, $zero -/* 1DDF8 800429F8 0280882D */ daddu $s1, $s4, $zero -.L800429FC: -/* 1DDFC 800429FC 8E300004 */ lw $s0, 4($s1) -/* 1DE00 80042A00 12000018 */ beqz $s0, .L80042A64 -/* 1DE04 80042A04 00000000 */ nop -/* 1DE08 80042A08 8E030000 */ lw $v1, ($s0) -/* 1DE0C 80042A0C 30620008 */ andi $v0, $v1, 8 -/* 1DE10 80042A10 10400004 */ beqz $v0, .L80042A24 -/* 1DE14 80042A14 30620020 */ andi $v0, $v1, 0x20 -/* 1DE18 80042A18 8EC2008C */ lw $v0, 0x8c($s6) -/* 1DE1C 80042A1C 16020011 */ bne $s0, $v0, .L80042A64 -/* 1DE20 80042A20 30620020 */ andi $v0, $v1, 0x20 -.L80042A24: -/* 1DE24 80042A24 1440000F */ bnez $v0, .L80042A64 -/* 1DE28 80042A28 00000000 */ nop -/* 1DE2C 80042A2C 8E040030 */ lw $a0, 0x30($s0) -/* 1DE30 80042A30 1080000C */ beqz $a0, .L80042A64 -/* 1DE34 80042A34 2405000A */ addiu $a1, $zero, 0xa -/* 1DE38 80042A38 0C0B0CF8 */ jal start_script -/* 1DE3C 80042A3C 0000302D */ daddu $a2, $zero, $zero -/* 1DE40 80042A40 0040202D */ daddu $a0, $v0, $zero -/* 1DE44 80042A44 AE040048 */ sw $a0, 0x48($s0) -/* 1DE48 80042A48 8C820144 */ lw $v0, 0x144($a0) -/* 1DE4C 80042A4C AE020060 */ sw $v0, 0x60($s0) -/* 1DE50 80042A50 AC900148 */ sw $s0, 0x148($a0) -/* 1DE54 80042A54 86020008 */ lh $v0, 8($s0) -/* 1DE58 80042A58 AC82014C */ sw $v0, 0x14c($a0) -/* 1DE5C 80042A5C 92020006 */ lbu $v0, 6($s0) -/* 1DE60 80042A60 A0820004 */ sb $v0, 4($a0) -.L80042A64: -/* 1DE64 80042A64 8E820000 */ lw $v0, ($s4) -/* 1DE68 80042A68 26730001 */ addiu $s3, $s3, 1 -/* 1DE6C 80042A6C 0262102A */ slt $v0, $s3, $v0 -/* 1DE70 80042A70 1440FFE2 */ bnez $v0, .L800429FC -/* 1DE74 80042A74 26310004 */ addiu $s1, $s1, 4 -.L80042A78: -/* 1DE78 80042A78 240200C9 */ addiu $v0, $zero, 0xc9 -/* 1DE7C 80042A7C 3C01800A */ lui $at, %hi(D_8009A5D0) -/* 1DE80 80042A80 AC22A5D0 */ sw $v0, %lo(D_8009A5D0)($at) -/* 1DE84 80042A84 08010BD3 */ j .L80042F4C -/* 1DE88 80042A88 00000000 */ nop -.L80042A8C: -/* 1DE8C 80042A8C 8EC30090 */ lw $v1, 0x90($s6) -/* 1DE90 80042A90 146000B6 */ bnez $v1, .L80042D6C -/* 1DE94 80042A94 00000000 */ nop -/* 1DE98 80042A98 08010BD3 */ j .L80042F4C -/* 1DE9C 80042A9C AC820000 */ sw $v0, ($a0) -.L80042AA0: -/* 1DEA0 80042AA0 8ED40088 */ lw $s4, 0x88($s6) -/* 1DEA4 80042AA4 8E820000 */ lw $v0, ($s4) -/* 1DEA8 80042AA8 18400013 */ blez $v0, .L80042AF8 -/* 1DEAC 80042AAC 0240982D */ daddu $s3, $s2, $zero -/* 1DEB0 80042AB0 0280882D */ daddu $s1, $s4, $zero -.L80042AB4: -/* 1DEB4 80042AB4 8E300004 */ lw $s0, 4($s1) -/* 1DEB8 80042AB8 1200000A */ beqz $s0, .L80042AE4 -/* 1DEBC 80042ABC 00000000 */ nop -/* 1DEC0 80042AC0 8E020000 */ lw $v0, ($s0) -/* 1DEC4 80042AC4 30420020 */ andi $v0, $v0, 0x20 -/* 1DEC8 80042AC8 14400006 */ bnez $v0, .L80042AE4 -/* 1DECC 80042ACC 00000000 */ nop -/* 1DED0 80042AD0 0C0B1059 */ jal does_script_exist -/* 1DED4 80042AD4 8E040060 */ lw $a0, 0x60($s0) -/* 1DED8 80042AD8 50400002 */ beql $v0, $zero, .L80042AE4 -/* 1DEDC 80042ADC AE000048 */ sw $zero, 0x48($s0) -/* 1DEE0 80042AE0 24120001 */ addiu $s2, $zero, 1 -.L80042AE4: -/* 1DEE4 80042AE4 8E820000 */ lw $v0, ($s4) -/* 1DEE8 80042AE8 26730001 */ addiu $s3, $s3, 1 -/* 1DEEC 80042AEC 0262102A */ slt $v0, $s3, $v0 -/* 1DEF0 80042AF0 1440FFF0 */ bnez $v0, .L80042AB4 -/* 1DEF4 80042AF4 26310004 */ addiu $s1, $s1, 4 -.L80042AF8: -/* 1DEF8 80042AF8 16400114 */ bnez $s2, .L80042F4C -/* 1DEFC 80042AFC 00000000 */ nop -/* 1DF00 80042B00 82C2001C */ lb $v0, 0x1c($s6) -/* 1DF04 80042B04 18400024 */ blez $v0, .L80042B98 -/* 1DF08 80042B08 0000982D */ daddu $s3, $zero, $zero -/* 1DF0C 80042B0C 02C0A82D */ daddu $s5, $s6, $zero -.L80042B10: -/* 1DF10 80042B10 8EB40028 */ lw $s4, 0x28($s5) -/* 1DF14 80042B14 1280001B */ beqz $s4, .L80042B84 -/* 1DF18 80042B18 00000000 */ nop -/* 1DF1C 80042B1C 8E820000 */ lw $v0, ($s4) -/* 1DF20 80042B20 18400018 */ blez $v0, .L80042B84 -/* 1DF24 80042B24 0000882D */ daddu $s1, $zero, $zero -/* 1DF28 80042B28 0280902D */ daddu $s2, $s4, $zero -.L80042B2C: -/* 1DF2C 80042B2C 8E500004 */ lw $s0, 4($s2) -/* 1DF30 80042B30 1200000F */ beqz $s0, .L80042B70 -/* 1DF34 80042B34 00000000 */ nop -/* 1DF38 80042B38 8E020000 */ lw $v0, ($s0) -/* 1DF3C 80042B3C 30420020 */ andi $v0, $v0, 0x20 -/* 1DF40 80042B40 1440000B */ bnez $v0, .L80042B70 -/* 1DF44 80042B44 00000000 */ nop -/* 1DF48 80042B48 8E02003C */ lw $v0, 0x3c($s0) -/* 1DF4C 80042B4C 10400003 */ beqz $v0, .L80042B5C -/* 1DF50 80042B50 00000000 */ nop -/* 1DF54 80042B54 0C0B1123 */ jal resume_all_script -/* 1DF58 80042B58 8E040054 */ lw $a0, 0x54($s0) -.L80042B5C: -/* 1DF5C 80042B5C 8E020044 */ lw $v0, 0x44($s0) -/* 1DF60 80042B60 10400003 */ beqz $v0, .L80042B70 -/* 1DF64 80042B64 00000000 */ nop -/* 1DF68 80042B68 0C0B1123 */ jal resume_all_script -/* 1DF6C 80042B6C 8E04005C */ lw $a0, 0x5c($s0) -.L80042B70: -/* 1DF70 80042B70 8E820000 */ lw $v0, ($s4) -/* 1DF74 80042B74 26310001 */ addiu $s1, $s1, 1 -/* 1DF78 80042B78 0222102A */ slt $v0, $s1, $v0 -/* 1DF7C 80042B7C 1440FFEB */ bnez $v0, .L80042B2C -/* 1DF80 80042B80 26520004 */ addiu $s2, $s2, 4 -.L80042B84: -/* 1DF84 80042B84 82C2001C */ lb $v0, 0x1c($s6) -/* 1DF88 80042B88 26730001 */ addiu $s3, $s3, 1 -/* 1DF8C 80042B8C 0262102A */ slt $v0, $s3, $v0 -/* 1DF90 80042B90 1440FFDF */ bnez $v0, .L80042B10 -/* 1DF94 80042B94 26B50004 */ addiu $s5, $s5, 4 -.L80042B98: -/* 1DF98 80042B98 0C038069 */ jal enable_player_input -/* 1DF9C 80042B9C 00000000 */ nop -/* 1DFA0 80042BA0 0C03BD80 */ jal partner_enable_input -/* 1DFA4 80042BA4 00000000 */ nop -/* 1DFA8 80042BA8 3C05BF80 */ lui $a1, 0xbf80 -/* 1DFAC 80042BAC 0C04DF62 */ jal set_screen_overlay_params_front -/* 1DFB0 80042BB0 240400FF */ addiu $a0, $zero, 0xff -/* 1DFB4 80042BB4 2402000F */ addiu $v0, $zero, 0xf -/* 1DFB8 80042BB8 AEC20094 */ sw $v0, 0x94($s6) -/* 1DFBC 80042BBC 240200CB */ addiu $v0, $zero, 0xcb -/* 1DFC0 80042BC0 3C01800A */ lui $at, %hi(D_8009A5D0) -/* 1DFC4 80042BC4 AC22A5D0 */ sw $v0, %lo(D_8009A5D0)($at) -/* 1DFC8 80042BC8 08010BD3 */ j .L80042F4C -/* 1DFCC 80042BCC 00000000 */ nop -.L80042BD0: -/* 1DFD0 80042BD0 8EC20094 */ lw $v0, 0x94($s6) -/* 1DFD4 80042BD4 104000D3 */ beqz $v0, .L80042F24 -/* 1DFD8 80042BD8 2442FFFF */ addiu $v0, $v0, -1 -/* 1DFDC 80042BDC 3C038007 */ lui $v1, %hi(gGameStatusPtr) -/* 1DFE0 80042BE0 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) -/* 1DFE4 80042BE4 AEC20094 */ sw $v0, 0x94($s6) -/* 1DFE8 80042BE8 8C620000 */ lw $v0, ($v1) -/* 1DFEC 80042BEC 144000CD */ bnez $v0, .L80042F24 -/* 1DFF0 80042BF0 00000000 */ nop -/* 1DFF4 80042BF4 80620040 */ lb $v0, 0x40($v1) -/* 1DFF8 80042BF8 144000CA */ bnez $v0, .L80042F24 -/* 1DFFC 80042BFC 00000000 */ nop -/* 1E000 80042C00 80620044 */ lb $v0, 0x44($v1) -/* 1E004 80042C04 104000D1 */ beqz $v0, .L80042F4C -/* 1E008 80042C08 00000000 */ nop -/* 1E00C 80042C0C 08010BC9 */ j .L80042F24 -/* 1E010 80042C10 00000000 */ nop -.L80042C14: -/* 1E014 80042C14 82C2001C */ lb $v0, 0x1c($s6) -/* 1E018 80042C18 184000BB */ blez $v0, .L80042F08 -/* 1E01C 80042C1C 0000982D */ daddu $s3, $zero, $zero -/* 1E020 80042C20 02C0A82D */ daddu $s5, $s6, $zero -.L80042C24: -/* 1E024 80042C24 8EB40028 */ lw $s4, 0x28($s5) -/* 1E028 80042C28 1280001B */ beqz $s4, .L80042C98 -/* 1E02C 80042C2C 00000000 */ nop -/* 1E030 80042C30 8E820000 */ lw $v0, ($s4) -/* 1E034 80042C34 18400018 */ blez $v0, .L80042C98 -/* 1E038 80042C38 0000882D */ daddu $s1, $zero, $zero -/* 1E03C 80042C3C 0280902D */ daddu $s2, $s4, $zero -.L80042C40: -/* 1E040 80042C40 8E500004 */ lw $s0, 4($s2) -/* 1E044 80042C44 1200000F */ beqz $s0, .L80042C84 -/* 1E048 80042C48 00000000 */ nop -/* 1E04C 80042C4C 8E020000 */ lw $v0, ($s0) -/* 1E050 80042C50 30420020 */ andi $v0, $v0, 0x20 -/* 1E054 80042C54 1440000B */ bnez $v0, .L80042C84 -/* 1E058 80042C58 00000000 */ nop -/* 1E05C 80042C5C 8E02003C */ lw $v0, 0x3c($s0) -/* 1E060 80042C60 10400003 */ beqz $v0, .L80042C70 -/* 1E064 80042C64 00000000 */ nop -/* 1E068 80042C68 0C0B1123 */ jal resume_all_script -/* 1E06C 80042C6C 8E040054 */ lw $a0, 0x54($s0) -.L80042C70: -/* 1E070 80042C70 8E020044 */ lw $v0, 0x44($s0) -/* 1E074 80042C74 10400003 */ beqz $v0, .L80042C84 -/* 1E078 80042C78 00000000 */ nop -/* 1E07C 80042C7C 0C0B1123 */ jal resume_all_script -/* 1E080 80042C80 8E04005C */ lw $a0, 0x5c($s0) -.L80042C84: -/* 1E084 80042C84 8E820000 */ lw $v0, ($s4) -/* 1E088 80042C88 26310001 */ addiu $s1, $s1, 1 -/* 1E08C 80042C8C 0222102A */ slt $v0, $s1, $v0 -/* 1E090 80042C90 1440FFEB */ bnez $v0, .L80042C40 -/* 1E094 80042C94 26520004 */ addiu $s2, $s2, 4 -.L80042C98: -/* 1E098 80042C98 82C2001C */ lb $v0, 0x1c($s6) -/* 1E09C 80042C9C 26730001 */ addiu $s3, $s3, 1 -/* 1E0A0 80042CA0 0262102A */ slt $v0, $s3, $v0 -/* 1E0A4 80042CA4 1440FFDF */ bnez $v0, .L80042C24 -/* 1E0A8 80042CA8 26B50004 */ addiu $s5, $s5, 4 -/* 1E0AC 80042CAC 08010BC2 */ j .L80042F08 -/* 1E0B0 80042CB0 00000000 */ nop -.L80042CB4: -/* 1E0B4 80042CB4 8ED40088 */ lw $s4, 0x88($s6) -/* 1E0B8 80042CB8 8E820000 */ lw $v0, ($s4) -/* 1E0BC 80042CBC 18400021 */ blez $v0, .L80042D44 -/* 1E0C0 80042CC0 0000982D */ daddu $s3, $zero, $zero -/* 1E0C4 80042CC4 0280882D */ daddu $s1, $s4, $zero -.L80042CC8: -/* 1E0C8 80042CC8 8E300004 */ lw $s0, 4($s1) -/* 1E0CC 80042CCC 12000018 */ beqz $s0, .L80042D30 -/* 1E0D0 80042CD0 00000000 */ nop -/* 1E0D4 80042CD4 8E030000 */ lw $v1, ($s0) -/* 1E0D8 80042CD8 30620008 */ andi $v0, $v1, 8 -/* 1E0DC 80042CDC 10400004 */ beqz $v0, .L80042CF0 -/* 1E0E0 80042CE0 30620020 */ andi $v0, $v1, 0x20 -/* 1E0E4 80042CE4 8EC2008C */ lw $v0, 0x8c($s6) -/* 1E0E8 80042CE8 16020011 */ bne $s0, $v0, .L80042D30 -/* 1E0EC 80042CEC 30620020 */ andi $v0, $v1, 0x20 -.L80042CF0: -/* 1E0F0 80042CF0 1440000F */ bnez $v0, .L80042D30 -/* 1E0F4 80042CF4 00000000 */ nop -/* 1E0F8 80042CF8 8E040030 */ lw $a0, 0x30($s0) -/* 1E0FC 80042CFC 1080000C */ beqz $a0, .L80042D30 -/* 1E100 80042D00 2405000A */ addiu $a1, $zero, 0xa -/* 1E104 80042D04 0C0B0CF8 */ jal start_script -/* 1E108 80042D08 0000302D */ daddu $a2, $zero, $zero -/* 1E10C 80042D0C 0040202D */ daddu $a0, $v0, $zero -/* 1E110 80042D10 AE040048 */ sw $a0, 0x48($s0) -/* 1E114 80042D14 8C820144 */ lw $v0, 0x144($a0) -/* 1E118 80042D18 AE020060 */ sw $v0, 0x60($s0) -/* 1E11C 80042D1C AC900148 */ sw $s0, 0x148($a0) -/* 1E120 80042D20 86020008 */ lh $v0, 8($s0) -/* 1E124 80042D24 AC82014C */ sw $v0, 0x14c($a0) -/* 1E128 80042D28 92020006 */ lbu $v0, 6($s0) -/* 1E12C 80042D2C A0820004 */ sb $v0, 4($a0) -.L80042D30: -/* 1E130 80042D30 8E820000 */ lw $v0, ($s4) -/* 1E134 80042D34 26730001 */ addiu $s3, $s3, 1 -/* 1E138 80042D38 0262102A */ slt $v0, $s3, $v0 -/* 1E13C 80042D3C 1440FFE2 */ bnez $v0, .L80042CC8 -/* 1E140 80042D40 26310004 */ addiu $s1, $s1, 4 -.L80042D44: -/* 1E144 80042D44 24020191 */ addiu $v0, $zero, 0x191 -/* 1E148 80042D48 3C01800A */ lui $at, %hi(D_8009A5D0) -/* 1E14C 80042D4C AC22A5D0 */ sw $v0, %lo(D_8009A5D0)($at) -/* 1E150 80042D50 08010BD3 */ j .L80042F4C -/* 1E154 80042D54 00000000 */ nop -.L80042D58: -/* 1E158 80042D58 8EC30090 */ lw $v1, 0x90($s6) -/* 1E15C 80042D5C 14600003 */ bnez $v1, .L80042D6C -/* 1E160 80042D60 00000000 */ nop -/* 1E164 80042D64 08010BD3 */ j .L80042F4C -/* 1E168 80042D68 AC820000 */ sw $v0, ($a0) -.L80042D6C: -/* 1E16C 80042D6C 8EC20098 */ lw $v0, 0x98($s6) -/* 1E170 80042D70 24420004 */ addiu $v0, $v0, 4 -/* 1E174 80042D74 AEC20098 */ sw $v0, 0x98($s6) -/* 1E178 80042D78 00621023 */ subu $v0, $v1, $v0 -/* 1E17C 80042D7C 04410073 */ bgez $v0, .L80042F4C -/* 1E180 80042D80 AEC20090 */ sw $v0, 0x90($s6) -/* 1E184 80042D84 08010BD3 */ j .L80042F4C -/* 1E188 80042D88 AEC00090 */ sw $zero, 0x90($s6) -.L80042D8C: -/* 1E18C 80042D8C 8ED40088 */ lw $s4, 0x88($s6) -/* 1E190 80042D90 8E820000 */ lw $v0, ($s4) -/* 1E194 80042D94 18400013 */ blez $v0, .L80042DE4 -/* 1E198 80042D98 0240982D */ daddu $s3, $s2, $zero -/* 1E19C 80042D9C 0280882D */ daddu $s1, $s4, $zero -.L80042DA0: -/* 1E1A0 80042DA0 8E300004 */ lw $s0, 4($s1) -/* 1E1A4 80042DA4 1200000A */ beqz $s0, .L80042DD0 -/* 1E1A8 80042DA8 00000000 */ nop -/* 1E1AC 80042DAC 8E020000 */ lw $v0, ($s0) -/* 1E1B0 80042DB0 30420020 */ andi $v0, $v0, 0x20 -/* 1E1B4 80042DB4 14400006 */ bnez $v0, .L80042DD0 -/* 1E1B8 80042DB8 00000000 */ nop -/* 1E1BC 80042DBC 0C0B1059 */ jal does_script_exist -/* 1E1C0 80042DC0 8E040060 */ lw $a0, 0x60($s0) -/* 1E1C4 80042DC4 50400002 */ beql $v0, $zero, .L80042DD0 -/* 1E1C8 80042DC8 AE000048 */ sw $zero, 0x48($s0) -/* 1E1CC 80042DCC 24120001 */ addiu $s2, $zero, 1 -.L80042DD0: -/* 1E1D0 80042DD0 8E820000 */ lw $v0, ($s4) -/* 1E1D4 80042DD4 26730001 */ addiu $s3, $s3, 1 -/* 1E1D8 80042DD8 0262102A */ slt $v0, $s3, $v0 -/* 1E1DC 80042DDC 1440FFF0 */ bnez $v0, .L80042DA0 -/* 1E1E0 80042DE0 26310004 */ addiu $s1, $s1, 4 -.L80042DE4: -/* 1E1E4 80042DE4 16400059 */ bnez $s2, .L80042F4C -/* 1E1E8 80042DE8 00000000 */ nop -/* 1E1EC 80042DEC 82C2001C */ lb $v0, 0x1c($s6) -/* 1E1F0 80042DF0 18400024 */ blez $v0, .L80042E84 -/* 1E1F4 80042DF4 0000982D */ daddu $s3, $zero, $zero -/* 1E1F8 80042DF8 02C0A82D */ daddu $s5, $s6, $zero -.L80042DFC: -/* 1E1FC 80042DFC 8EB40028 */ lw $s4, 0x28($s5) -/* 1E200 80042E00 1280001B */ beqz $s4, .L80042E70 -/* 1E204 80042E04 00000000 */ nop -/* 1E208 80042E08 8E820000 */ lw $v0, ($s4) -/* 1E20C 80042E0C 18400018 */ blez $v0, .L80042E70 -/* 1E210 80042E10 0000882D */ daddu $s1, $zero, $zero -/* 1E214 80042E14 0280902D */ daddu $s2, $s4, $zero -.L80042E18: -/* 1E218 80042E18 8E500004 */ lw $s0, 4($s2) -/* 1E21C 80042E1C 1200000F */ beqz $s0, .L80042E5C -/* 1E220 80042E20 00000000 */ nop -/* 1E224 80042E24 8E020000 */ lw $v0, ($s0) -/* 1E228 80042E28 30420020 */ andi $v0, $v0, 0x20 -/* 1E22C 80042E2C 1440000B */ bnez $v0, .L80042E5C -/* 1E230 80042E30 00000000 */ nop -/* 1E234 80042E34 8E02003C */ lw $v0, 0x3c($s0) -/* 1E238 80042E38 10400003 */ beqz $v0, .L80042E48 -/* 1E23C 80042E3C 00000000 */ nop -/* 1E240 80042E40 0C0B1123 */ jal resume_all_script -/* 1E244 80042E44 8E040054 */ lw $a0, 0x54($s0) -.L80042E48: -/* 1E248 80042E48 8E020044 */ lw $v0, 0x44($s0) -/* 1E24C 80042E4C 10400003 */ beqz $v0, .L80042E5C -/* 1E250 80042E50 00000000 */ nop -/* 1E254 80042E54 0C0B1123 */ jal resume_all_script -/* 1E258 80042E58 8E04005C */ lw $a0, 0x5c($s0) -.L80042E5C: -/* 1E25C 80042E5C 8E820000 */ lw $v0, ($s4) -/* 1E260 80042E60 26310001 */ addiu $s1, $s1, 1 -/* 1E264 80042E64 0222102A */ slt $v0, $s1, $v0 -/* 1E268 80042E68 1440FFEB */ bnez $v0, .L80042E18 -/* 1E26C 80042E6C 26520004 */ addiu $s2, $s2, 4 -.L80042E70: -/* 1E270 80042E70 82C2001C */ lb $v0, 0x1c($s6) -/* 1E274 80042E74 26730001 */ addiu $s3, $s3, 1 -/* 1E278 80042E78 0262102A */ slt $v0, $s3, $v0 -/* 1E27C 80042E7C 1440FFDF */ bnez $v0, .L80042DFC -/* 1E280 80042E80 26B50004 */ addiu $s5, $s5, 4 -.L80042E84: -/* 1E284 80042E84 8ED0008C */ lw $s0, 0x8c($s6) -/* 1E288 80042E88 8E020000 */ lw $v0, ($s0) -/* 1E28C 80042E8C 30420004 */ andi $v0, $v0, 4 -/* 1E290 80042E90 1440001C */ bnez $v0, .L80042F04 -/* 1E294 80042E94 2402002D */ addiu $v0, $zero, 0x2d -/* 1E298 80042E98 8ED40088 */ lw $s4, 0x88($s6) -/* 1E29C 80042E9C A20200B4 */ sb $v0, 0xb4($s0) -/* 1E2A0 80042EA0 2402002D */ addiu $v0, $zero, 0x2d -/* 1E2A4 80042EA4 A6E20010 */ sh $v0, 0x10($s7) -/* 1E2A8 80042EA8 8E820000 */ lw $v0, ($s4) -/* 1E2AC 80042EAC 18400014 */ blez $v0, .L80042F00 -/* 1E2B0 80042EB0 0000882D */ daddu $s1, $zero, $zero -/* 1E2B4 80042EB4 2406002D */ addiu $a2, $zero, 0x2d -/* 1E2B8 80042EB8 2405002D */ addiu $a1, $zero, 0x2d -/* 1E2BC 80042EBC 0280202D */ daddu $a0, $s4, $zero -.L80042EC0: -/* 1E2C0 80042EC0 8C900004 */ lw $s0, 4($a0) -/* 1E2C4 80042EC4 12000009 */ beqz $s0, .L80042EEC -/* 1E2C8 80042EC8 00000000 */ nop -/* 1E2CC 80042ECC 8E030000 */ lw $v1, ($s0) -/* 1E2D0 80042ED0 30620020 */ andi $v0, $v1, 0x20 -/* 1E2D4 80042ED4 14400005 */ bnez $v0, .L80042EEC -/* 1E2D8 80042ED8 30620008 */ andi $v0, $v1, 8 -/* 1E2DC 80042EDC 14400003 */ bnez $v0, .L80042EEC -/* 1E2E0 80042EE0 00000000 */ nop -/* 1E2E4 80042EE4 A20600B4 */ sb $a2, 0xb4($s0) -/* 1E2E8 80042EE8 A6E50010 */ sh $a1, 0x10($s7) -.L80042EEC: -/* 1E2EC 80042EEC 8E820000 */ lw $v0, ($s4) -/* 1E2F0 80042EF0 26310001 */ addiu $s1, $s1, 1 -/* 1E2F4 80042EF4 0222102A */ slt $v0, $s1, $v0 -/* 1E2F8 80042EF8 1440FFF1 */ bnez $v0, .L80042EC0 -/* 1E2FC 80042EFC 24840004 */ addiu $a0, $a0, 4 -.L80042F00: -/* 1E300 80042F00 2402002D */ addiu $v0, $zero, 0x2d -.L80042F04: -/* 1E304 80042F04 A2C2000A */ sb $v0, 0xa($s6) -.L80042F08: -/* 1E308 80042F08 0C038069 */ jal enable_player_input -/* 1E30C 80042F0C 00000000 */ nop -/* 1E310 80042F10 0C03BD80 */ jal partner_enable_input -/* 1E314 80042F14 00000000 */ nop -.L80042F18: -/* 1E318 80042F18 3C05BF80 */ lui $a1, 0xbf80 -/* 1E31C 80042F1C 0C04DF62 */ jal set_screen_overlay_params_front -/* 1E320 80042F20 240400FF */ addiu $a0, $zero, 0xff -.L80042F24: -/* 1E324 80042F24 0C0B1192 */ jal resume_all_group -/* 1E328 80042F28 24040010 */ addiu $a0, $zero, 0x10 -/* 1E32C 80042F2C 24020002 */ addiu $v0, $zero, 2 -/* 1E330 80042F30 3C01800A */ lui $at, %hi(gGameState) -/* 1E334 80042F34 AC22A600 */ sw $v0, %lo(gGameState)($at) -/* 1E338 80042F38 24020001 */ addiu $v0, $zero, 1 -/* 1E33C 80042F3C 3C01800A */ lui $at, %hi(D_8009A678) -/* 1E340 80042F40 AC22A678 */ sw $v0, %lo(D_8009A678)($at) -/* 1E344 80042F44 3C01800A */ lui $at, %hi(D_8009A5D0) -/* 1E348 80042F48 AC20A5D0 */ sw $zero, %lo(D_8009A5D0)($at) -.L80042F4C: -/* 1E34C 80042F4C 82C2001C */ lb $v0, 0x1c($s6) -/* 1E350 80042F50 18400032 */ blez $v0, .L8004301C -/* 1E354 80042F54 0000982D */ daddu $s3, $zero, $zero -/* 1E358 80042F58 3C1E8000 */ lui $fp, 0x8000 -/* 1E35C 80042F5C 3C177FFF */ lui $s7, 0x7fff -/* 1E360 80042F60 36F7FFFF */ ori $s7, $s7, 0xffff -/* 1E364 80042F64 02C0A82D */ daddu $s5, $s6, $zero -.L80042F68: -/* 1E368 80042F68 8EB40028 */ lw $s4, 0x28($s5) -/* 1E36C 80042F6C 12800026 */ beqz $s4, .L80043008 -/* 1E370 80042F70 00000000 */ nop -/* 1E374 80042F74 8E820000 */ lw $v0, ($s4) -/* 1E378 80042F78 18400023 */ blez $v0, .L80043008 -/* 1E37C 80042F7C 0000882D */ daddu $s1, $zero, $zero -/* 1E380 80042F80 0280902D */ daddu $s2, $s4, $zero -.L80042F84: -/* 1E384 80042F84 8E500004 */ lw $s0, 4($s2) -/* 1E388 80042F88 1200001A */ beqz $s0, .L80042FF4 -/* 1E38C 80042F8C 00000000 */ nop -/* 1E390 80042F90 8E020000 */ lw $v0, ($s0) -/* 1E394 80042F94 30420020 */ andi $v0, $v0, 0x20 -/* 1E398 80042F98 14400016 */ bnez $v0, .L80042FF4 -/* 1E39C 80042F9C 00000000 */ nop -/* 1E3A0 80042FA0 0C00EABB */ jal get_npc_unsafe -/* 1E3A4 80042FA4 86040008 */ lh $a0, 8($s0) -/* 1E3A8 80042FA8 0040202D */ daddu $a0, $v0, $zero -/* 1E3AC 80042FAC 820200B4 */ lb $v0, 0xb4($s0) -/* 1E3B0 80042FB0 920300B4 */ lbu $v1, 0xb4($s0) -/* 1E3B4 80042FB4 1040000F */ beqz $v0, .L80042FF4 -/* 1E3B8 80042FB8 30620001 */ andi $v0, $v1, 1 -/* 1E3BC 80042FBC 10400007 */ beqz $v0, .L80042FDC -/* 1E3C0 80042FC0 00000000 */ nop -/* 1E3C4 80042FC4 8C820000 */ lw $v0, ($a0) -/* 1E3C8 80042FC8 005E1025 */ or $v0, $v0, $fp -/* 1E3CC 80042FCC AC820000 */ sw $v0, ($a0) -/* 1E3D0 80042FD0 8E020000 */ lw $v0, ($s0) -/* 1E3D4 80042FD4 08010BFC */ j .L80042FF0 -/* 1E3D8 80042FD8 005E1025 */ or $v0, $v0, $fp -.L80042FDC: -/* 1E3DC 80042FDC 8C820000 */ lw $v0, ($a0) -/* 1E3E0 80042FE0 00571024 */ and $v0, $v0, $s7 -/* 1E3E4 80042FE4 AC820000 */ sw $v0, ($a0) -/* 1E3E8 80042FE8 8E020000 */ lw $v0, ($s0) -/* 1E3EC 80042FEC 00571024 */ and $v0, $v0, $s7 -.L80042FF0: -/* 1E3F0 80042FF0 AE020000 */ sw $v0, ($s0) -.L80042FF4: -/* 1E3F4 80042FF4 8E820000 */ lw $v0, ($s4) -/* 1E3F8 80042FF8 26310001 */ addiu $s1, $s1, 1 -/* 1E3FC 80042FFC 0222102A */ slt $v0, $s1, $v0 -/* 1E400 80043000 1440FFE0 */ bnez $v0, .L80042F84 -/* 1E404 80043004 26520004 */ addiu $s2, $s2, 4 -.L80043008: -/* 1E408 80043008 82C2001C */ lb $v0, 0x1c($s6) -/* 1E40C 8004300C 26730001 */ addiu $s3, $s3, 1 -/* 1E410 80043010 0262102A */ slt $v0, $s3, $v0 -/* 1E414 80043014 1440FFD4 */ bnez $v0, .L80042F68 -/* 1E418 80043018 26B50004 */ addiu $s5, $s5, 4 -.L8004301C: -/* 1E41C 8004301C 8FBF0034 */ lw $ra, 0x34($sp) -/* 1E420 80043020 8FBE0030 */ lw $fp, 0x30($sp) -/* 1E424 80043024 8FB7002C */ lw $s7, 0x2c($sp) -/* 1E428 80043028 8FB60028 */ lw $s6, 0x28($sp) -/* 1E42C 8004302C 8FB50024 */ lw $s5, 0x24($sp) -/* 1E430 80043030 8FB40020 */ lw $s4, 0x20($sp) -/* 1E434 80043034 8FB3001C */ lw $s3, 0x1c($sp) -/* 1E438 80043038 8FB20018 */ lw $s2, 0x18($sp) -/* 1E43C 8004303C 8FB10014 */ lw $s1, 0x14($sp) -/* 1E440 80043040 8FB00010 */ lw $s0, 0x10($sp) -/* 1E444 80043044 03E00008 */ jr $ra -/* 1E448 80043048 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/ver/us/asm/nonmatchings/C50A0/test_item_player_collision.s b/ver/us/asm/nonmatchings/C50A0/test_item_player_collision.s index 78c734ac7c..c5c0940c7f 100644 --- a/ver/us/asm/nonmatchings/C50A0/test_item_player_collision.s +++ b/ver/us/asm/nonmatchings/C50A0/test_item_player_collision.s @@ -40,8 +40,8 @@ glabel test_item_player_collision /* CA298 80133B98 0804CFDA */ j .L80133F68 /* CA29C 80133B9C 00621024 */ and $v0, $v1, $v0 .L80133BA0: -/* CA2A0 80133BA0 3C03800A */ lui $v1, %hi(gGameState) -/* CA2A4 80133BA4 8C63A600 */ lw $v1, %lo(gGameState)($v1) +/* CA2A0 80133BA0 3C03800A */ lui $v1, %hi(gEncounterState) +/* CA2A4 80133BA4 8C63A600 */ lw $v1, %lo(gEncounterState)($v1) /* CA2A8 80133BA8 24020002 */ addiu $v0, $zero, 2 /* CA2AC 80133BAC 10620003 */ beq $v1, $v0, .L80133BBC /* CA2B0 80133BB0 00000000 */ nop diff --git a/ver/us/splat.yaml b/ver/us/splat.yaml index 77503124a7..80ae6df1a9 100644 --- a/ver/us/splat.yaml +++ b/ver/us/splat.yaml @@ -76,7 +76,7 @@ segments: - [0x121F0, c, state_title_screen] - [0x13480, c, state_demo] - [0x13870, c, npc] - - [0x1A1F0, c, 1a1f0_len_5390] + - [0x1A1F0, c, encounter] - [0x1F580, c, encounter_api] - [0x20EC0, c, status_icons] - [0x23680, c] @@ -325,7 +325,7 @@ segments: - [0x52DC0, .data, state_title_screen] - [0x52EE0, .data, state_demo] - [0x52FF0, .data, npc] - - [0x53040, .data, 1a1f0_len_5390] + - [0x53040, .data, encounter] - [0x53560, .data, status_icons] - [0x53570, .data, audio/25f00_len_940] - [0x53590, .data, audio/sfx_player] diff --git a/ver/us/symbol_addrs.txt b/ver/us/symbol_addrs.txt index 134e9a2fb2..404f271233 100644 --- a/ver/us/symbol_addrs.txt +++ b/ver/us/symbol_addrs.txt @@ -2554,7 +2554,7 @@ gSoundGlobals = 0x8009A5C0; // type:data rom:0x759C0 D_8009A5C4 = 0x8009A5C4; // type:data rom:0x759C4 __osBaseCounter = 0x8009A5C8; // type:data rom:0x759C8 gBGMPlayerC = 0x8009A5CC; // type:data rom:0x759CC -D_8009A5D0 = 0x8009A5D0; // type:data rom:0x759D0 +gEncounterSubState = 0x8009A5D0; // type:data rom:0x759D0 CurrentSefCmdHandler = 0x8009A5D4; // type:data rom:0x759D4 timeFreezeMode = 0x8009A5D8; // type:data rom:0x759D8 nuGfxZBuffer = 0x8009A5DC; // rom:0x759DC @@ -2566,7 +2566,7 @@ nuGfxCfbCounter = 0x8009A5F0; // type:data rom:0x759F0 mdl_currentModelTreeNodeInfo = 0x8009A5F4; // type:data rom:0x759F4 nuGfxDisplay = 0x8009A5F8; // rom:0x759F8 gBGMPlayerB = 0x8009A5FC; // type:data rom:0x759FC -gGameState = 0x8009A600; // rom:0x75A00 +gEncounterState = 0x8009A600; // rom:0x75A00 gNpcCount = 0x8009A604; // type:data rom:0x75A04 __osMaxControllers = 0x8009A606; // type:data rom:0x75A06 __osCurrentTime = 0x8009A608; // type:data rom:0x75A08 @@ -2592,7 +2592,7 @@ nuGfxCfb = 0x8009A658; // type:data rom:0x75A58 D_8009A65C = 0x8009A65C; // type:data rom:0x75A5C __osFinalrom = 0x8009A660; // type:data rom:0x75A60 gBGMPlayerA = 0x8009A664; // type:data rom:0x75A64 -D_8009A668 = 0x8009A668; // type:data rom:0x75A68 +gFirstStrikeMessagePos = 0x8009A668; // type:data rom:0x75A68 gMasterGfxPos = 0x8009A66C; // rom:0x75A6C D_8009A670 = 0x8009A670; // type:data rom:0x75A70 gDisplayContext = 0x8009A674; // rom:0x75A74