diff --git a/include/effects.h b/include/effects.h index f72a6ee313..536f6c0c01 100644 --- a/include/effects.h +++ b/include/effects.h @@ -1932,13 +1932,11 @@ typedef struct PeachStarBeamFXData { typedef struct ChapterChangeFXData { /* 0x00 */ s32 unk_00; - /* 0x04 */ f32 unk_04; - /* 0x08 */ f32 unk_08; + /* 0x04 */ Vec2f chapterPos; /* 0x0C */ f32 unk_0C; - /* 0x10 */ f32 unk_10; - /* 0x14 */ f32 unk_14; - /* 0x18 */ s32 unk_18; - /* 0x1C */ s32 unk_1C; + /* 0x10 */ Vec2f endOfPos; + /* 0x18 */ s32 timeLeft; + /* 0x1C */ s32 lifetime; /* 0x20 */ s32 unk_20; /* 0x24 */ s32 unk_24; /* 0x28 */ s32 unk_28; @@ -1965,14 +1963,12 @@ typedef struct IceShardFXData { typedef struct SpiritCardFXData { /* 0x00 */ char unk_00[0x4]; - /* 0x04 */ f32 unk_04; - /* 0x08 */ f32 unk_08; - /* 0x0C */ f32 unk_0C; + /* 0x04 */ Vec3f pos; /* 0x10 */ char unk_10[0x10]; /* 0x20 */ s32 unk_20; - /* 0x24 */ f32 unk_24; + /* 0x24 */ f32 yaw; /* 0x28 */ char unk_28[0xC]; - /* 0x34 */ s8 unk_34; + /* 0x34 */ s8 chapter; } SpiritCardFXData; // ? #define MAX_LIL_OINKS 11 diff --git a/include/enums.h b/include/enums.h index 63f36986d2..c85468b5a0 100644 --- a/include/enums.h +++ b/include/enums.h @@ -3608,6 +3608,38 @@ enum AnyPartnerAnims { PARTNER_ANIM_9 = 0x109, }; +enum EnemyAnimIndices { + ENEMY_ANIM_INDEX_IDLE = 0, + ENEMY_ANIM_INDEX_WALK = 1, + ENEMY_ANIM_INDEX_RUN = 2, + ENEMY_ANIM_INDEX_CHASE = 3, + ENEMY_ANIM_INDEX_JUMP = 4, + ENEMY_ANIM_INDEX_05 = 5, + ENEMY_ANIM_INDEX_DEATH = 6, + ENEMY_ANIM_INDEX_HIT = 7, + ENEMY_ANIM_INDEX_MELEE_PRE = 8, + ENEMY_ANIM_INDEX_MELEE_HIT = 9, +}; + +enum AnyEnemyAnims { + ENEMY_ANIM_IDLE = 0x201, + ENEMY_ANIM_WALK = 0x202, + ENEMY_ANIM_RUN = 0x203, + ENEMY_ANIM_CHASE = 0x204, + ENEMY_ANIM_JUMP = 0x205, + ENEMY_ANIM_5 = 0x206, + ENEMY_ANIM_DEATH = 0x207, + ENEMY_ANIM_HIT = 0x208, + ENEMY_ANIM_8 = 0x209, + ENEMY_ANIM_9 = 0x20A, + ENEMY_ANIM_A = 0x20B, + ENEMY_ANIM_B = 0x20C, + ENEMY_ANIM_C = 0x20D, + ENEMY_ANIM_D = 0x20E, + ENEMY_ANIM_E = 0x20F, + ENEMY_ANIM_F = 0x210, +}; + enum FirstStrikes { FIRST_STRIKE_NONE = 0x00000000, FIRST_STRIKE_PLAYER = 0x00000001, @@ -4266,19 +4298,6 @@ enum EnemyAIStates { AI_STATE_PROJECTILE_HITBOX_33 = 33, }; -enum EnemyAIAnims { - ENEMY_ANIM_IDLE = 0, - ENEMY_ANIM_WALK = 1, - ENEMY_ANIM_RUN = 2, - ENEMY_ANIM_CHASE = 3, - ENEMY_ANIM_JUMP = 4, - ENEMY_ANIM_05 = 5, - ENEMY_ANIM_DEATH = 6, - ENEMY_ANIM_HIT = 7, - ENEMY_ANIM_MELEE_PRE = 8, - ENEMY_ANIM_MELEE_HIT = 9, -}; - enum EnemyActionFlags { AI_ACTION_JUMP_WHEN_SEE_PLAYER = 0x01, AI_ACTION_02 = 0x02, @@ -4749,6 +4768,19 @@ enum EncounterStatusFlags { ENCOUNTER_STATUS_FLAGS_80000000 = 0x80000000, }; +enum WindowImageFormat { + WINDOW_IMG_RGBA_16 = 0x02, + WINDOW_IMG_RGBA_32 = 0x03, + WINDOW_IMG_YUV_16 = 0x12, + WINDOW_IMG_CI_4 = 0x20, + WINDOW_IMG_CI_8 = 0x21, + WINDOW_IMG_IA_4 = 0x30, + WINDOW_IMG_IA_8 = 0x31, + WINDOW_IMG_IA_16 = 0x32, + WINDOW_IMG_I_4 = 0x40, + WINDOW_IMG_I_8 = 0x41, +}; + enum WindowFlags { WINDOW_FLAGS_INITIALIZED = 0x00000001, WINDOW_FLAGS_FPUPDATE_CHANGED = 0x00000002, diff --git a/include/model.h b/include/model.h index 43de1a56cc..32c5203ab2 100644 --- a/include/model.h +++ b/include/model.h @@ -142,6 +142,17 @@ typedef enum ShapeTypes { SHAPE_TYPE_SPECIAL_GROUP = 10, } ShapeTypes; +typedef struct ShapeFile { + /* 0x00 */ ModelNode* root; + /* 0x04 */ Vtx_t* vertexTable; + /* 0x08 */ char** modelNames; + /* 0x0C */ char** colliderNames; + /* 0x10 */ char** zoneNames; + /* 0x14 */ unsigned char pad_14[0xC]; + // end header + /* 0x20 */ u8 data[0]; +} ShapeFile; // size = variable + typedef ModelTreeInfo ModelTreeInfoList[0x200]; extern ModelTreeInfoList* mdl_currentModelTreeNodeInfo; extern ModelList* gCurrentModels; diff --git a/include/variables.h b/include/variables.h index eb6c51ab26..5f667c92a4 100644 --- a/include/variables.h +++ b/include/variables.h @@ -133,7 +133,7 @@ extern s16 D_800A0922; extern char wMapTexName[]; extern char wMapHitName[]; extern char wMapShapeName[]; -extern struct ModelNode* D_80210000; +extern struct ShapeFile* D_80210000; // shouldnt be a pointer extern u8 D_802D9D70; // player alpha1 copy? extern u8 D_802D9D71; // player alpha2 copy? diff --git a/src/1a1f0_len_5390.c b/src/1a1f0_len_5390.c index 35910c0f94..a8e783cda6 100644 --- a/src/1a1f0_len_5390.c +++ b/src/1a1f0_len_5390.c @@ -131,7 +131,7 @@ EvtScript EnemyNpcHit = { 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_HIT, LVar0) + EVT_CALL(GetSelfAnimationFromTable, ENEMY_ANIM_INDEX_HIT, LVar0) EVT_EXEC_WAIT(EVS_NpcHitRecoil) EVT_CASE_EQ(ENCOUNTER_TRIGGER_SPIN) EVT_THREAD diff --git a/src/23680.c b/src/23680.c index d3ff0ae191..b21d9d6cfe 100644 --- a/src/23680.c +++ b/src/23680.c @@ -268,7 +268,7 @@ void basic_ai_wander_init(Evt* script, MobileAISettings* npcAISettings, EnemyDet // chose a random direction and move time npc->duration = (npcAISettings->moveTime / 2) + rand_int((npcAISettings->moveTime / 2) + 1); npc->yaw = clamp_angle(npc->yaw + rand_int(60) - 30.0f); - npc->currentAnim = enemy->animList[ENEMY_ANIM_WALK]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_WALK]; script->functionTemp[1] = 0; if (enemy->territory->wander.moveSpeedOverride < 0) { @@ -378,7 +378,7 @@ void basic_ai_loiter_init(Evt* script, MobileAISettings* aiSettings, EnemyDetect npc->duration = (aiSettings->waitTime / 2) + rand_int((aiSettings->waitTime / 2) + 1); npc->yaw = clamp_angle(npc->yaw + rand_int(180) - 90.0f); - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; script->AI_TEMP_STATE = AI_STATE_LOITER; } @@ -429,7 +429,7 @@ void basic_ai_found_player_jump_init(Evt* script, MobileAISettings* npcAISetting Npc* npc = get_npc_unsafe(enemy->npcID); ai_enemy_play_sound(npc, SOUND_3E1, 0); - npc->currentAnim = enemy->animList[ENEMY_ANIM_JUMP]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_JUMP]; npc->jumpVelocity = 10.0f; npc->jumpScale = 2.5f; npc->moveToPos.y = npc->pos.y; @@ -488,7 +488,7 @@ void basic_ai_chase_init(Evt* script, MobileAISettings* npcAISettings, EnemyDete npc->duration = 0; } - npc->currentAnim = enemy->animList[ENEMY_ANIM_CHASE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_CHASE]; npc->moveSpeed = npcAISettings->chaseSpeed; script->AI_TEMP_STATE = AI_STATE_CHASE; } @@ -501,7 +501,7 @@ void basic_ai_chase(Evt* script, MobileAISettings* aiSettings, EnemyDetectVolume if (!basic_ai_check_player_dist(territory, enemy, aiSettings->chaseRadius, aiSettings->chaseOffsetDist, 1)) { fx_emote(EMOTE_QUESTION, npc, 0, npc->collisionHeight, 1.0f, 2.0f, -20.0f, 15, &sp28); - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->duration = 20; script->AI_TEMP_STATE = AI_STATE_LOSE_PLAYER; return; @@ -514,7 +514,7 @@ void basic_ai_chase(Evt* script, MobileAISettings* aiSettings, EnemyDetectVolume z = npc->pos.z; if (npc_test_move_simple_with_slipping(npc->collisionChannel, &x, &y, &z, 1.0f, npc->yaw, npc->collisionHeight, npc->collisionRadius)) { fx_emote(EMOTE_QUESTION, npc, 0, npc->collisionHeight, 1.0f, 2.0f, -20.0f, 0xC, &sp28); - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->duration = 15; script->AI_TEMP_STATE = AI_STATE_LOSE_PLAYER; return; @@ -569,7 +569,7 @@ ApiStatus BasicAI_Main(Evt* script, s32 isInitialCall) { script->AI_TEMP_STATE = AI_STATE_WANDER_INIT; npc->duration = 0; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->flags &= ~NPC_FLAG_JUMPING; if (!enemy->territory->wander.isFlying) { diff --git a/src/effects/chapter_change.c b/src/effects/chapter_change.c index 6d4295fd3f..45b8f5f123 100644 --- a/src/effects/chapter_change.c +++ b/src/effects/chapter_change.c @@ -92,18 +92,18 @@ void shim_draw_msg(s32, s32, s32, s32, s32, s32); s32 shim_get_msg_width(s32, u16); void func_E010E000(ChapterChangeFXData* data, s32 arg1, UnkStruct* arg2) { - s32 unk_1C = data->unk_1C; + s32 unk_1C = data->lifetime; UnkStruct* it; - f32 var0; - f32 var1; + f32 posX; + f32 posY; s32 temp; if (arg1 == 0) { - var0 = data->unk_04; - var1 = data->unk_08; + posX = data->chapterPos.x; + posY = data->chapterPos.y; } else { - var0 = data->unk_10; - var1 = data->unk_14; + posX = data->endOfPos.x; + posY = data->endOfPos.y; } if (arg2 != NULL) { @@ -113,10 +113,10 @@ void func_E010E000(ChapterChangeFXData* data, s32 arg1, UnkStruct* arg2) { temp = it->x - 384; gDPSetTileSize(gMasterGfxPos++, 1, (unk_1C * 4 - temp) * 4, 0, (unk_1C * 4 - it->x + 511) * 4, 0); gSPScisTextureRectangle(gMasterGfxPos++, - (var0 + it->x) * 4, - (var1 + it->y) * 4, - (var0 + it->x + it->width) * 4, - (var1 + it->y + it->height) * 4, + (posX + it->x) * 4, + (posY + it->y) * 4, + (posX + it->x + it->width) * 4, + (posY + it->y + it->height) * 4, G_TX_RENDERTILE, 0, 0, 1024, 1024); } @@ -124,7 +124,7 @@ void func_E010E000(ChapterChangeFXData* data, s32 arg1, UnkStruct* arg2) { } } -EffectInstance* chapter_change_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5) { +EffectInstance* chapter_change_main(s32 arg0, f32 posX, f32 posY, f32 arg3, f32 arg4, s32 duration) { EffectBlueprint bp; ChapterChangeFXData* data; EffectInstance* effect; @@ -143,14 +143,14 @@ EffectInstance* chapter_change_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 ASSERT(effect->data.chapterChange != NULL); data->unk_00 = arg0; - data->unk_1C = 0; - if (arg5 <= 0) { - data->unk_18 = 1000; + data->lifetime = 0; + if (duration <= 0) { + data->timeLeft = 1000; } else { - data->unk_18 = arg5; + data->timeLeft = duration; } - data->unk_04 = data->unk_10 = arg1; - data->unk_08 = data->unk_14 = arg2; + data->chapterPos.x = data->endOfPos.x = posX; + data->chapterPos.y = data->endOfPos.y = posY; data->unk_0C = arg3; data->unk_50 = arg4; data->unk_20 = 255; @@ -182,18 +182,18 @@ void chapter_change_init(EffectInstance* effect) { void chapter_change_update(EffectInstance* effect) { ChapterChangeFXData* data = effect->data.chapterChange; - if (effect->flags & 0x10) { - effect->flags &= ~0x10; - data->unk_18 = 0x10; + if (effect->flags & EFFECT_INSTANCE_FLAGS_10) { + effect->flags &= ~EFFECT_INSTANCE_FLAGS_10; + data->timeLeft = 16; } - if (data->unk_18 < 1000) { - data->unk_18--; + if (data->timeLeft < 1000) { + data->timeLeft--; } - data->unk_1C++; + data->lifetime++; - if (data->unk_18 < 0) { + if (data->timeLeft < 0) { shim_remove_effect(effect); } } diff --git a/src/evt/npc_api.c b/src/evt/npc_api.c index e5b1c3917e..cfd47b020c 100644 --- a/src/evt/npc_api.c +++ b/src/evt/npc_api.c @@ -20,8 +20,8 @@ void set_npc_animation(Npc* npc, u32 animID) { if (animID - PARTNER_ANIM_WALK < 9) { npc->currentAnim = gPartnerAnimations[playerData->currentPartner].anims[animID - PARTNER_ANIM_WALK]; - } else if ((animID - 0x201) < 0x10) { - npc->currentAnim = get_enemy(npc->npcID)->animList[animID - 0x201]; + } else if ((animID - ENEMY_ANIM_IDLE) < 0x10) { + npc->currentAnim = get_enemy(npc->npcID)->animList[animID - ENEMY_ANIM_IDLE]; } else { npc->currentAnim = animID; } diff --git a/src/world/area_arn/arn_02/arn_02.h b/src/world/area_arn/arn_02/arn_02.h index e2640bf834..5e3ea6f20a 100644 --- a/src/world/area_arn/arn_02/arn_02.h +++ b/src/world/area_arn/arn_02/arn_02.h @@ -19,3 +19,8 @@ enum { }; #define NAMESPACE arn_02 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_arn/arn_02/arn_02_0_header.c b/src/world/area_arn/arn_02/arn_02_0_header.c index 0ef1a24986..3b35e35d1d 100644 --- a/src/world/area_arn/arn_02/arn_02_0_header.c +++ b/src/world/area_arn/arn_02/arn_02_0_header.c @@ -1,7 +1,5 @@ #include "arn_02.h" -extern EvtScript N(EVS_Main); - EntryList N(Entrances) = { [arn_02_ENTRY_0] { -585.0, 60.0, 150.0, 90.0 }, [arn_02_ENTRY_1] { 880.0, 320.0, 150.0, 270.0 }, @@ -14,17 +12,3 @@ MapSettings N(settings) = { .background = &gBackgroundImage, .tattle = { MSG_MapTattle_arn_02 }, }; - -EvtScript N(EVS_SetupMusic) = { - EVT_SWITCH(GB_StoryProgress) - EVT_CASE_LT(STORY_CH3_TUBBA_WOKE_UP) - EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) - EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) - EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8) - EVT_CASE_DEFAULT - EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) - EVT_END_SWITCH - EVT_CALL(PlayAmbientSounds, AMBIENT_WIND) - EVT_RETURN - EVT_END -}; diff --git a/src/world/area_arn/arn_02/arn_02_1_music.c b/src/world/area_arn/arn_02/arn_02_1_music.c new file mode 100644 index 0000000000..cd3f21a208 --- /dev/null +++ b/src/world/area_arn/arn_02/arn_02_1_music.c @@ -0,0 +1,15 @@ +#include "arn_02.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH3_TUBBA_WOKE_UP) + EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) + EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) + EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8) + EVT_CASE_DEFAULT + EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) + EVT_END_SWITCH + EVT_CALL(PlayAmbientSounds, AMBIENT_WIND) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_arn/arn_02/arn_02_1_main.c b/src/world/area_arn/arn_02/arn_02_2_main.c similarity index 88% rename from src/world/area_arn/arn_02/arn_02_1_main.c rename to src/world/area_arn/arn_02/arn_02_2_main.c index 6f9528beb9..2777fd21af 100644 --- a/src/world/area_arn/arn_02/arn_02_1_main.c +++ b/src/world/area_arn/arn_02/arn_02_2_main.c @@ -1,9 +1,5 @@ #include "arn_02.h" -extern EvtScript N(EVS_SetupMusic); -extern EvtScript N(EVS_MakeEntities); -extern NpcGroupList N(DefaultNPCs); - EvtScript N(EVS_ExitWalk_arn_05_1) = EVT_EXIT_WALK(60, arn_02_ENTRY_0, "arn_05", arn_05_ENTRY_1); EvtScript N(EVS_ExitWalk_arn_04_0) = EVT_EXIT_WALK(60, arn_02_ENTRY_1, "arn_04", arn_04_ENTRY_0); diff --git a/src/world/area_arn/arn_02/arn_02_2_entity.c b/src/world/area_arn/arn_02/arn_02_3_entity.c similarity index 100% rename from src/world/area_arn/arn_02/arn_02_2_entity.c rename to src/world/area_arn/arn_02/arn_02_3_entity.c diff --git a/src/world/area_arn/arn_02/arn_02_3_npc.c b/src/world/area_arn/arn_02/arn_02_4_npc.c similarity index 100% rename from src/world/area_arn/arn_02/arn_02_3_npc.c rename to src/world/area_arn/arn_02/arn_02_4_npc.c diff --git a/src/world/area_arn/arn_03/arn_03.h b/src/world/area_arn/arn_03/arn_03.h index f93f736b57..1871945d78 100644 --- a/src/world/area_arn/arn_03/arn_03.h +++ b/src/world/area_arn/arn_03/arn_03.h @@ -32,3 +32,9 @@ enum { }; #define NAMESPACE arn_03 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(BeforeNPCs); +extern NpcGroupList N(AfterNPCs); diff --git a/src/world/area_arn/arn_03/arn_03_0_header.c b/src/world/area_arn/arn_03/arn_03_0_header.c index 32bb349fe5..2d5006922d 100644 --- a/src/world/area_arn/arn_03/arn_03_0_header.c +++ b/src/world/area_arn/arn_03/arn_03_0_header.c @@ -1,7 +1,5 @@ #include "arn_03.h" -extern EvtScript N(EVS_Main); - EntryList N(Entrances) = { [arn_03_ENTRY_0] { -76.0, 165.0, 150.0, 90.0 }, [arn_03_ENTRY_1] { 576.0, 225.0, 150.0, 270.0 }, @@ -14,17 +12,3 @@ MapSettings N(settings) = { .background = &gBackgroundImage, .tattle = { MSG_MapTattle_arn_03 }, }; - -EvtScript N(EVS_SetupMusic) = { - EVT_SWITCH(GB_StoryProgress) - EVT_CASE_LT(STORY_CH3_TUBBA_WOKE_UP) - EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) - EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) - EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8) - EVT_CASE_DEFAULT - EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) - EVT_END_SWITCH - EVT_CALL(PlayAmbientSounds, AMBIENT_WIND) - EVT_RETURN - EVT_END -}; diff --git a/src/world/area_arn/arn_03/arn_03_1_music.c b/src/world/area_arn/arn_03/arn_03_1_music.c new file mode 100644 index 0000000000..6be2e94bad --- /dev/null +++ b/src/world/area_arn/arn_03/arn_03_1_music.c @@ -0,0 +1,15 @@ +#include "arn_03.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH3_TUBBA_WOKE_UP) + EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) + EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) + EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8) + EVT_CASE_DEFAULT + EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) + EVT_END_SWITCH + EVT_CALL(PlayAmbientSounds, AMBIENT_WIND) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_arn/arn_03/arn_03_1_main.c b/src/world/area_arn/arn_03/arn_03_2_main.c similarity index 93% rename from src/world/area_arn/arn_03/arn_03_1_main.c rename to src/world/area_arn/arn_03/arn_03_2_main.c index b922e5b127..e50e9c5a78 100644 --- a/src/world/area_arn/arn_03/arn_03_1_main.c +++ b/src/world/area_arn/arn_03/arn_03_2_main.c @@ -1,10 +1,5 @@ #include "arn_03.h" -extern EvtScript N(EVS_SetupMusic); -extern EvtScript N(EVS_MakeEntities); -extern NpcGroupList N(BeforeNPCs); -extern NpcGroupList N(AfterNPCs); - EvtScript N(EVS_ExitWalk_arn_07_1) = EVT_EXIT_WALK(60, arn_03_ENTRY_0, "arn_07", arn_07_ENTRY_1); EvtScript N(EVS_ExitWalk_arn_05_0) = EVT_EXIT_WALK(60, arn_03_ENTRY_1, "arn_05", arn_05_ENTRY_0); diff --git a/src/world/area_arn/arn_03/arn_03_2_npc.c b/src/world/area_arn/arn_03/arn_03_3_npc.c similarity index 99% rename from src/world/area_arn/arn_03/arn_03_2_npc.c rename to src/world/area_arn/arn_03/arn_03_3_npc.c index 768e92dc92..afa63a75a1 100644 --- a/src/world/area_arn/arn_03/arn_03_2_npc.c +++ b/src/world/area_arn/arn_03/arn_03_3_npc.c @@ -1,5 +1,4 @@ #include "arn_03.h" -#include "entity.h" #include "world/common/npc/Boo_Patrol.inc.c" #include "world/common/npc/Boo.inc.c" diff --git a/src/world/area_arn/arn_03/arn_03_3_entity.c b/src/world/area_arn/arn_03/arn_03_4_entity.c similarity index 100% rename from src/world/area_arn/arn_03/arn_03_3_entity.c rename to src/world/area_arn/arn_03/arn_03_4_entity.c diff --git a/src/world/area_arn/arn_04/arn_04.h b/src/world/area_arn/arn_04/arn_04.h index c18e4d5215..717d145cd7 100644 --- a/src/world/area_arn/arn_04/arn_04.h +++ b/src/world/area_arn/arn_04/arn_04.h @@ -21,3 +21,8 @@ enum { }; #define NAMESPACE arn_04 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_arn/arn_04/arn_04_0_header.c b/src/world/area_arn/arn_04/arn_04_0_header.c index 1891dcd990..248a2f62fe 100644 --- a/src/world/area_arn/arn_04/arn_04_0_header.c +++ b/src/world/area_arn/arn_04/arn_04_0_header.c @@ -1,7 +1,5 @@ #include "arn_04.h" -extern EvtScript N(EVS_Main); - EntryList N(Entrances) = { [arn_04_ENTRY_0] { -585.0, 60.0, 150.0, 90.0 }, [arn_04_ENTRY_1] { 820.0, 285.0, 150.0, 270.0 }, @@ -14,17 +12,3 @@ MapSettings N(settings) = { .background = &gBackgroundImage, .tattle = { MSG_MapTattle_arn_04 }, }; - -EvtScript N(EVS_SetupMusic) = { - EVT_SWITCH(GB_StoryProgress) - EVT_CASE_LT(STORY_CH3_TUBBA_WOKE_UP) - EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) - EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) - EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8) - EVT_CASE_DEFAULT - EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) - EVT_END_SWITCH - EVT_CALL(PlayAmbientSounds, AMBIENT_WIND) - EVT_RETURN - EVT_END -}; diff --git a/src/world/area_arn/arn_04/arn_04_1_music.c b/src/world/area_arn/arn_04/arn_04_1_music.c new file mode 100644 index 0000000000..b2389d03fa --- /dev/null +++ b/src/world/area_arn/arn_04/arn_04_1_music.c @@ -0,0 +1,15 @@ +#include "arn_04.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH3_TUBBA_WOKE_UP) + EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) + EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) + EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8) + EVT_CASE_DEFAULT + EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) + EVT_END_SWITCH + EVT_CALL(PlayAmbientSounds, AMBIENT_WIND) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_arn/arn_04/arn_04_1_main.c b/src/world/area_arn/arn_04/arn_04_2_main.c similarity index 87% rename from src/world/area_arn/arn_04/arn_04_1_main.c rename to src/world/area_arn/arn_04/arn_04_2_main.c index eb6f141523..b0b7a7e784 100644 --- a/src/world/area_arn/arn_04/arn_04_1_main.c +++ b/src/world/area_arn/arn_04/arn_04_2_main.c @@ -1,9 +1,4 @@ #include "arn_04.h" -#include "entity.h" - -extern EvtScript N(EVS_SetupMusic); -extern EvtScript N(EVS_MakeEntities); -extern NpcGroupList N(DefaultNPCs); EvtScript N(EVS_ExitWalk_arn_02_1) = EVT_EXIT_WALK(60, arn_04_ENTRY_0, "arn_02", arn_02_ENTRY_1); EvtScript N(EVS_ExitWalk_dgb_00_0) = EVT_EXIT_WALK(60, arn_04_ENTRY_1, "dgb_00", dgb_00_ENTRY_0); diff --git a/src/world/area_arn/arn_04/arn_04_2_npc.c b/src/world/area_arn/arn_04/arn_04_3_npc.c similarity index 100% rename from src/world/area_arn/arn_04/arn_04_2_npc.c rename to src/world/area_arn/arn_04/arn_04_3_npc.c diff --git a/src/world/area_arn/arn_04/arn_04_3_entity.c b/src/world/area_arn/arn_04/arn_04_4_entity.c similarity index 100% rename from src/world/area_arn/arn_04/arn_04_3_entity.c rename to src/world/area_arn/arn_04/arn_04_4_entity.c diff --git a/src/world/area_arn/arn_05/arn_05.h b/src/world/area_arn/arn_05/arn_05.h index 50d34a5f8a..b9db13dbf2 100644 --- a/src/world/area_arn/arn_05/arn_05.h +++ b/src/world/area_arn/arn_05/arn_05.h @@ -9,10 +9,6 @@ #include "mapfs/arn_05_shape.h" #include "mapfs/arn_05_hit.h" -#include "sprite/npc/Boo.h" -#include "sprite/npc/WorldBow.h" -#include "sprite/npc/WorldTubba.h" - enum { NPC_Boo_01 = 0, NPC_Boo_02 = 1, @@ -32,3 +28,10 @@ enum { }; #define NAMESPACE arn_05 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupTubbaRaid); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(BeforeNPCs); +extern NpcGroupList N(AfterNPCs); diff --git a/src/world/area_arn/arn_05/arn_05_0_header.c b/src/world/area_arn/arn_05/arn_05_0_header.c index dce2c52c58..8b6e1421fd 100644 --- a/src/world/area_arn/arn_05/arn_05_0_header.c +++ b/src/world/area_arn/arn_05/arn_05_0_header.c @@ -1,8 +1,6 @@ #include "arn_05.h" -extern EvtScript N(EVS_Main); - EntryList N(Entrances) = { [arn_05_ENTRY_0] { -77.0, 135.0, 150.0, 90.0 }, [arn_05_ENTRY_1] { 577.0, 200.0, 150.0, 270.0 }, @@ -15,19 +13,3 @@ MapSettings N(settings) = { .background = &gBackgroundImage, .tattle = { MSG_MapTattle_arn_05 }, }; - -EvtScript N(EVS_SetupMusic) = { - EVT_SWITCH(GB_StoryProgress) - EVT_CASE_LT(STORY_CH3_SAW_TUBBA_EAT_BOO) - EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) - EVT_CASE_LT(STORY_CH3_TUBBA_WOKE_UP) - EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) - EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) - EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8) - EVT_CASE_DEFAULT - EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) - EVT_END_SWITCH - EVT_CALL(PlayAmbientSounds, AMBIENT_WIND) - EVT_RETURN - EVT_END -}; diff --git a/src/world/area_arn/arn_05/arn_05_1_music.c b/src/world/area_arn/arn_05/arn_05_1_music.c new file mode 100644 index 0000000000..0bb859d6ed --- /dev/null +++ b/src/world/area_arn/arn_05/arn_05_1_music.c @@ -0,0 +1,18 @@ + +#include "arn_05.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH3_SAW_TUBBA_EAT_BOO) + EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) + EVT_CASE_LT(STORY_CH3_TUBBA_WOKE_UP) + EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) + EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) + EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8) + EVT_CASE_DEFAULT + EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) + EVT_END_SWITCH + EVT_CALL(PlayAmbientSounds, AMBIENT_WIND) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_arn/arn_05/arn_05_1_main.c b/src/world/area_arn/arn_05/arn_05_2_main.c similarity index 80% rename from src/world/area_arn/arn_05/arn_05_1_main.c rename to src/world/area_arn/arn_05/arn_05_2_main.c index 16fde3d7da..01432eaeb7 100644 --- a/src/world/area_arn/arn_05/arn_05_1_main.c +++ b/src/world/area_arn/arn_05/arn_05_2_main.c @@ -1,11 +1,5 @@ #include "arn_05.h" -extern EvtScript N(EVS_SetupTubbaRaid); -extern EvtScript N(EVS_SetupMusic); -extern EvtScript N(EVS_MakeEntities); -extern NpcGroupList N(DefaultNPCs); -extern NpcGroupList N(NpcGroup1); - EvtScript N(EVS_ExitWalk_arn_03_1) = EVT_EXIT_WALK(60, arn_05_ENTRY_0, "arn_03", arn_03_ENTRY_1); EvtScript N(EVS_ExitWalk_arn_02_0) = EVT_EXIT_WALK(60, arn_05_ENTRY_1, "arn_02", arn_02_ENTRY_0); @@ -35,9 +29,9 @@ EvtScript N(EVS_Main) = { EVT_CALL(SetSpriteShading, SHADING_NONE) EVT_SETUP_CAMERA_DEFAULT() EVT_IF_LT(GB_StoryProgress, STORY_CH3_DEFEATED_TUBBA_BLUBBA) - EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(BeforeNPCs))) EVT_ELSE - EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(NpcGroup1))) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(AfterNPCs))) EVT_END_IF EVT_EXEC_WAIT(N(EVS_MakeEntities)) EVT_EXEC(N(EVS_SetupTubbaRaid)) diff --git a/src/world/area_arn/arn_05/arn_05_2_npc.c b/src/world/area_arn/arn_05/arn_05_3_npc.c similarity index 77% rename from src/world/area_arn/arn_05/arn_05_2_npc.c rename to src/world/area_arn/arn_05/arn_05_3_npc.c index 255f006ef8..b16c06dd2c 100644 --- a/src/world/area_arn/arn_05/arn_05_2_npc.c +++ b/src/world/area_arn/arn_05/arn_05_3_npc.c @@ -1,15 +1,8 @@ #include "arn_05.h" -extern EvtScript(N(EVS_SetupMusic)); - -NpcSettings N(NpcSettings_Tubba) = { - .height = 90, - .radius = 65, - .level = 13, - .onHit = &EnemyNpcHit, - .onDefeat = &EnemyNpcDefeat, -}; +#include "sprite/npc/WorldBow.h" +#include "world/common/enemy/complete/TubbaBlubba.inc.c" #include "world/common/npc/Boo_Patrol.inc.c" #include "world/common/npc/Boo.inc.c" @@ -243,11 +236,7 @@ StaticNpc N(NpcData_Boo_01)[] = { .yaw = 270, .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, .init = &N(EVS_NpcInit_Boo_01), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, + .drops = BOO_DROPS, .territory = { .patrol = { .isFlying = FALSE, @@ -262,24 +251,7 @@ StaticNpc N(NpcData_Boo_01)[] = { .detectSize = { 50 }, } }, - .animations = { - .idle = ANIM_Boo_Tan_Idle, - .walk = ANIM_Boo_Tan_Walk, - .run = ANIM_Boo_Tan_Run, - .chase = ANIM_Boo_Tan_Run, - .anim_4 = ANIM_Boo_Tan_Idle, - .anim_5 = ANIM_Boo_Tan_Idle, - .death = ANIM_Boo_Tan_Still, - .hit = ANIM_Boo_Tan_Still, - .anim_8 = ANIM_Boo_Tan_Confused, - .anim_9 = ANIM_Boo_Tan_Run, - .anim_A = ANIM_Boo_Tan_Run, - .anim_B = ANIM_Boo_Tan_Run, - .anim_C = ANIM_Boo_Tan_Run, - .anim_D = ANIM_Boo_Tan_Run, - .anim_E = ANIM_Boo_Tan_Run, - .anim_F = ANIM_Boo_Tan_Run, - }, + .animations = GUSTY_BOO_ANIMS, .tattle = MSG_NpcTattle_ARN_BooD, }, { @@ -289,29 +261,8 @@ StaticNpc N(NpcData_Boo_01)[] = { .yaw = 270, .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, .init = &N(EVS_NpcInit_Boo_02), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Boo_Tan_Idle, - .walk = ANIM_Boo_Tan_Walk, - .run = ANIM_Boo_Tan_Run, - .chase = ANIM_Boo_Tan_Run, - .anim_4 = ANIM_Boo_Tan_Idle, - .anim_5 = ANIM_Boo_Tan_Idle, - .death = ANIM_Boo_Tan_Still, - .hit = ANIM_Boo_Tan_Still, - .anim_8 = ANIM_Boo_Tan_Confused, - .anim_9 = ANIM_Boo_Tan_Run, - .anim_A = ANIM_Boo_Tan_Run, - .anim_B = ANIM_Boo_Tan_Run, - .anim_C = ANIM_Boo_Tan_Run, - .anim_D = ANIM_Boo_Tan_Run, - .anim_E = ANIM_Boo_Tan_Run, - .anim_F = ANIM_Boo_Tan_Run, - }, + .drops = BOO_DROPS, + .animations = GUSTY_BOO_ANIMS, .tattle = MSG_NpcTattle_ARN_BooE, }, { @@ -321,29 +272,8 @@ StaticNpc N(NpcData_Boo_01)[] = { .yaw = 270, .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, .init = &N(EVS_NpcInit_Boo_03), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Boo_Tan_Idle, - .walk = ANIM_Boo_Tan_Walk, - .run = ANIM_Boo_Tan_Run, - .chase = ANIM_Boo_Tan_Run, - .anim_4 = ANIM_Boo_Tan_Idle, - .anim_5 = ANIM_Boo_Tan_Idle, - .death = ANIM_Boo_Tan_Still, - .hit = ANIM_Boo_Tan_Still, - .anim_8 = ANIM_Boo_Tan_Confused, - .anim_9 = ANIM_Boo_Tan_Run, - .anim_A = ANIM_Boo_Tan_Run, - .anim_B = ANIM_Boo_Tan_Run, - .anim_C = ANIM_Boo_Tan_Run, - .anim_D = ANIM_Boo_Tan_Run, - .anim_E = ANIM_Boo_Tan_Run, - .anim_F = ANIM_Boo_Tan_Run, - }, + .drops = BOO_DROPS, + .animations = GUSTY_BOO_ANIMS, .tattle = MSG_NpcTattle_ARN_BooF, }, { @@ -353,29 +283,8 @@ StaticNpc N(NpcData_Boo_01)[] = { .yaw = 270, .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, .init = &N(EVS_NpcInit_Boo_04), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Boo_Tan_Idle, - .walk = ANIM_Boo_Tan_Walk, - .run = ANIM_Boo_Tan_Run, - .chase = ANIM_Boo_Tan_Run, - .anim_4 = ANIM_Boo_Tan_Idle, - .anim_5 = ANIM_Boo_Tan_Idle, - .death = ANIM_Boo_Tan_Still, - .hit = ANIM_Boo_Tan_Still, - .anim_8 = ANIM_Boo_Tan_Confused, - .anim_9 = ANIM_Boo_Tan_Run, - .anim_A = ANIM_Boo_Tan_Run, - .anim_B = ANIM_Boo_Tan_Run, - .anim_C = ANIM_Boo_Tan_Run, - .anim_D = ANIM_Boo_Tan_Run, - .anim_E = ANIM_Boo_Tan_Run, - .anim_F = ANIM_Boo_Tan_Run, - }, + .drops = BOO_DROPS, + .animations = GUSTY_BOO_ANIMS, .tattle = MSG_NpcTattle_ARN_BooG, }, { @@ -385,11 +294,7 @@ StaticNpc N(NpcData_Boo_01)[] = { .yaw = 270, .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, .init = &N(EVS_NpcInit_Boo_05), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, + .drops = BOO_DROPS, .territory = { .patrol = { .isFlying = FALSE, @@ -404,24 +309,7 @@ StaticNpc N(NpcData_Boo_01)[] = { .detectSize = { 50 }, } }, - .animations = { - .idle = ANIM_Boo_Tan_Idle, - .walk = ANIM_Boo_Tan_Walk, - .run = ANIM_Boo_Tan_Run, - .chase = ANIM_Boo_Tan_Run, - .anim_4 = ANIM_Boo_Tan_Idle, - .anim_5 = ANIM_Boo_Tan_Idle, - .death = ANIM_Boo_Tan_Still, - .hit = ANIM_Boo_Tan_Still, - .anim_8 = ANIM_Boo_Tan_Confused, - .anim_9 = ANIM_Boo_Tan_Run, - .anim_A = ANIM_Boo_Tan_Run, - .anim_B = ANIM_Boo_Tan_Run, - .anim_C = ANIM_Boo_Tan_Run, - .anim_D = ANIM_Boo_Tan_Run, - .anim_E = ANIM_Boo_Tan_Run, - .anim_F = ANIM_Boo_Tan_Run, - }, + .animations = GUSTY_BOO_ANIMS, .tattle = MSG_NpcTattle_ARN_BooH, }, }; @@ -748,34 +636,13 @@ s32 N(extraAnimationList_80244390)[] = { StaticNpc N(NpcData_Tubba) = { .id = NPC_Tubba, - .settings = &N(NpcSettings_Tubba), + .settings = &N(NpcSettings_TubbaBlubba), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_JUMPING, .init = &N(EVS_NpcInit_Tubba), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_WorldTubba_Anim06, - .walk = ANIM_WorldTubba_Anim09, - .run = ANIM_WorldTubba_Anim0C, - .chase = ANIM_WorldTubba_Anim0C, - .anim_4 = ANIM_WorldTubba_Anim00, - .anim_5 = ANIM_WorldTubba_Anim00, - .death = ANIM_WorldTubba_Anim00, - .hit = ANIM_WorldTubba_Anim00, - .anim_8 = ANIM_WorldTubba_Anim00, - .anim_9 = ANIM_WorldTubba_Anim00, - .anim_A = ANIM_WorldTubba_Anim00, - .anim_B = ANIM_WorldTubba_Anim00, - .anim_C = ANIM_WorldTubba_Anim00, - .anim_D = ANIM_WorldTubba_Anim00, - .anim_E = ANIM_WorldTubba_Anim00, - .anim_F = ANIM_WorldTubba_Anim00, - }, + .drops = TUBBA_DROPS, + .animations = TUBBA_ANIMS, .extraAnimations = N(extraAnimationList_80244390), }; @@ -839,29 +706,8 @@ StaticNpc N(NpcData_Boo_06)[] = { .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, .init = &N(EVS_NpcInit_Boo_06), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Boo_Tan_Idle, - .walk = ANIM_Boo_Tan_Walk, - .run = ANIM_Boo_Tan_Run, - .chase = ANIM_Boo_Tan_Run, - .anim_4 = ANIM_Boo_Tan_Idle, - .anim_5 = ANIM_Boo_Tan_Idle, - .death = ANIM_Boo_Tan_Still, - .hit = ANIM_Boo_Tan_Still, - .anim_8 = ANIM_Boo_Tan_Confused, - .anim_9 = ANIM_Boo_Tan_Run, - .anim_A = ANIM_Boo_Tan_Run, - .anim_B = ANIM_Boo_Tan_Run, - .anim_C = ANIM_Boo_Tan_Run, - .anim_D = ANIM_Boo_Tan_Run, - .anim_E = ANIM_Boo_Tan_Run, - .anim_F = ANIM_Boo_Tan_Run, - }, + .drops = BOO_DROPS, + .animations = GUSTY_BOO_ANIMS, }, { .id = NPC_Boo_07, @@ -870,29 +716,8 @@ StaticNpc N(NpcData_Boo_06)[] = { .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, .init = &N(EVS_NpcInit_Boo_07), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Boo_Tan_Idle, - .walk = ANIM_Boo_Tan_Walk, - .run = ANIM_Boo_Tan_Run, - .chase = ANIM_Boo_Tan_Run, - .anim_4 = ANIM_Boo_Tan_Idle, - .anim_5 = ANIM_Boo_Tan_Idle, - .death = ANIM_Boo_Tan_Still, - .hit = ANIM_Boo_Tan_Still, - .anim_8 = ANIM_Boo_Tan_Confused, - .anim_9 = ANIM_Boo_Tan_Run, - .anim_A = ANIM_Boo_Tan_Run, - .anim_B = ANIM_Boo_Tan_Run, - .anim_C = ANIM_Boo_Tan_Run, - .anim_D = ANIM_Boo_Tan_Run, - .anim_E = ANIM_Boo_Tan_Run, - .anim_F = ANIM_Boo_Tan_Run, - }, + .drops = BOO_DROPS, + .animations = GUSTY_BOO_ANIMS, }, { .id = NPC_Boo_08, @@ -901,29 +726,8 @@ StaticNpc N(NpcData_Boo_06)[] = { .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, .init = &N(EVS_NpcInit_Boo_08), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Boo_Tan_Idle, - .walk = ANIM_Boo_Tan_Walk, - .run = ANIM_Boo_Tan_Run, - .chase = ANIM_Boo_Tan_Run, - .anim_4 = ANIM_Boo_Tan_Idle, - .anim_5 = ANIM_Boo_Tan_Idle, - .death = ANIM_Boo_Tan_Still, - .hit = ANIM_Boo_Tan_Still, - .anim_8 = ANIM_Boo_Tan_Confused, - .anim_9 = ANIM_Boo_Tan_Run, - .anim_A = ANIM_Boo_Tan_Run, - .anim_B = ANIM_Boo_Tan_Run, - .anim_C = ANIM_Boo_Tan_Run, - .anim_D = ANIM_Boo_Tan_Run, - .anim_E = ANIM_Boo_Tan_Run, - .anim_F = ANIM_Boo_Tan_Run, - }, + .drops = BOO_DROPS, + .animations = GUSTY_BOO_ANIMS, }, { .id = NPC_Boo_09, @@ -932,39 +736,18 @@ StaticNpc N(NpcData_Boo_06)[] = { .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, .init = &N(EVS_NpcInit_Boo_09), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Boo_Tan_Idle, - .walk = ANIM_Boo_Tan_Walk, - .run = ANIM_Boo_Tan_Run, - .chase = ANIM_Boo_Tan_Run, - .anim_4 = ANIM_Boo_Tan_Idle, - .anim_5 = ANIM_Boo_Tan_Idle, - .death = ANIM_Boo_Tan_Still, - .hit = ANIM_Boo_Tan_Still, - .anim_8 = ANIM_Boo_Tan_Confused, - .anim_9 = ANIM_Boo_Tan_Run, - .anim_A = ANIM_Boo_Tan_Run, - .anim_B = ANIM_Boo_Tan_Run, - .anim_C = ANIM_Boo_Tan_Run, - .anim_D = ANIM_Boo_Tan_Run, - .anim_E = ANIM_Boo_Tan_Run, - .anim_F = ANIM_Boo_Tan_Run, - }, + .drops = BOO_DROPS, + .animations = GUSTY_BOO_ANIMS, }, }; -NpcGroupList N(DefaultNPCs) = { +NpcGroupList N(BeforeNPCs) = { NPC_GROUP(N(NpcData_Tubba)), NPC_GROUP(N(NpcData_Boo_01)), {} }; -NpcGroupList N(NpcGroup1) = { +NpcGroupList N(AfterNPCs) = { NPC_GROUP(N(NpcData_Tubba)), NPC_GROUP(N(NpcData_Boo_01)), NPC_GROUP(N(NpcData_Boo_06)), diff --git a/src/world/area_arn/arn_05/arn_05_3_entity.c b/src/world/area_arn/arn_05/arn_05_4_entity.c similarity index 100% rename from src/world/area_arn/arn_05/arn_05_3_entity.c rename to src/world/area_arn/arn_05/arn_05_4_entity.c diff --git a/src/world/area_arn/arn_07/arn_07.h b/src/world/area_arn/arn_07/arn_07.h index eed6e990e7..72e0f38479 100644 --- a/src/world/area_arn/arn_07/arn_07.h +++ b/src/world/area_arn/arn_07/arn_07.h @@ -14,8 +14,6 @@ #include "sprite/npc/WorldBow.h" #include "sprite/npc/Boo.h" #include "sprite/npc/Bootler.h" -#include "sprite/npc/WorldSkolar.h" -#include "sprite/npc/Paragoomba.h" enum { NPC_TubbasHeart = 0, @@ -39,3 +37,15 @@ enum { }; #define NAMESPACE arn_07 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_MakeEntities); +extern EvtScript N(EVS_UnlockDoor); +extern EvtScript N(EVS_SetupWindmill); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript(N(EVS_SpawnStarCard)); +extern EvtScript(N(EVS_ExitDoor_arn_08_0)); + +extern NpcGroupList N(DefaultNPCs); +extern NpcGroupList N(BossNPCs); +extern NpcGroupList N(SpiritNPCs); diff --git a/src/world/area_arn/arn_07/arn_07_0_header.c b/src/world/area_arn/arn_07/arn_07_0_header.c index 5978dcfaae..0a25df738a 100644 --- a/src/world/area_arn/arn_07/arn_07_0_header.c +++ b/src/world/area_arn/arn_07/arn_07_0_header.c @@ -1,7 +1,5 @@ #include "arn_07.h" -extern EvtScript N(EVS_Main); - EntryList N(Entrances) = { [arn_07_ENTRY_0] { 0.0, 20.0, -147.0, 180.0 }, [arn_07_ENTRY_1] { 485.0, 0.0, 0.0, 270.0 }, @@ -16,24 +14,3 @@ MapSettings N(settings) = { .background = &gBackgroundImage, .tattle = { MSG_MapTattle_arn_07 }, }; - -EvtScript N(EVS_SetupMusic) = { - EVT_SWITCH(GB_StoryProgress) - EVT_CASE_LT(STORY_CH3_TUBBA_WOKE_UP) - EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) - EVT_CALL(PlayAmbientSounds, AMBIENT_WIND) - EVT_CASE_LT(STORY_CH3_HEART_ESCAPED_WINDY_MILL) - EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8) - EVT_CALL(PlayAmbientSounds, AMBIENT_WIND) - EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) - EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8) - EVT_CALL(PlayAmbientSounds, AMBIENT_WIND) - EVT_CASE_EQ(STORY_CH3_BEGAN_PEACH_MISSION) - EVT_CALL(SetMusicTrack, 0, SONG_STAR_SPIRIT_THEME, 1, 8) - EVT_CASE_DEFAULT - EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) - EVT_CALL(PlayAmbientSounds, AMBIENT_WIND) - EVT_END_SWITCH - EVT_RETURN - EVT_END -}; diff --git a/src/world/area_arn/arn_07/arn_07_1_music.c b/src/world/area_arn/arn_07/arn_07_1_music.c new file mode 100644 index 0000000000..43668d65ed --- /dev/null +++ b/src/world/area_arn/arn_07/arn_07_1_music.c @@ -0,0 +1,22 @@ +#include "arn_07.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH3_TUBBA_WOKE_UP) + EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) + EVT_CALL(PlayAmbientSounds, AMBIENT_WIND) + EVT_CASE_LT(STORY_CH3_HEART_ESCAPED_WINDY_MILL) + EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8) + EVT_CALL(PlayAmbientSounds, AMBIENT_WIND) + EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) + EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8) + EVT_CALL(PlayAmbientSounds, AMBIENT_WIND) + EVT_CASE_EQ(STORY_CH3_BEGAN_PEACH_MISSION) + EVT_CALL(SetMusicTrack, 0, SONG_STAR_SPIRIT_THEME, 1, 8) + EVT_CASE_DEFAULT + EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) + EVT_CALL(PlayAmbientSounds, AMBIENT_WIND) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_arn/arn_07/arn_07_1_main.c b/src/world/area_arn/arn_07/arn_07_2_main.c similarity index 98% rename from src/world/area_arn/arn_07/arn_07_1_main.c rename to src/world/area_arn/arn_07/arn_07_2_main.c index 78546ada1e..3f48045729 100644 --- a/src/world/area_arn/arn_07/arn_07_1_main.c +++ b/src/world/area_arn/arn_07/arn_07_2_main.c @@ -1,13 +1,5 @@ #include "arn_07.h" -extern EvtScript N(EVS_MakeEntities); -extern EvtScript N(EVS_UnlockDoor); -extern EvtScript N(EVS_SetupWindmill); -extern EvtScript N(EVS_SetupMusic); -extern NpcGroupList N(DefaultNPCs); -extern NpcGroupList N(BossNPCs); -extern NpcGroupList N(SpiritNPCs); - #include "world/common/todo/StarSpiritEffectFunc.inc.c" s32 N(KeyList)[] = { diff --git a/src/world/area_arn/arn_07/arn_07_2_windmill.c b/src/world/area_arn/arn_07/arn_07_3_windmill.c similarity index 100% rename from src/world/area_arn/arn_07/arn_07_2_windmill.c rename to src/world/area_arn/arn_07/arn_07_3_windmill.c index 5486e82aab..80229a4964 100644 --- a/src/world/area_arn/arn_07/arn_07_2_windmill.c +++ b/src/world/area_arn/arn_07/arn_07_3_windmill.c @@ -1,7 +1,5 @@ #include "arn_07.h" -extern EvtScript(N(EVS_UpdateWindmill)); - MAP_RODATA_PAD(1,windmill); API_CALLABLE(N(WrapWindmillAngle)) { @@ -14,6 +12,8 @@ API_CALLABLE(N(WrapWindmillAngle)) { return ApiStatus_DONE2; } +extern EvtScript(N(EVS_UpdateWindmill)); + EvtScript N(EVS_SetupWindmill) = { EVT_EXEC(N(EVS_UpdateWindmill)) EVT_RETURN diff --git a/src/world/area_arn/arn_07/arn_07_3_entity.c b/src/world/area_arn/arn_07/arn_07_4_entity.c similarity index 97% rename from src/world/area_arn/arn_07/arn_07_3_entity.c rename to src/world/area_arn/arn_07/arn_07_4_entity.c index 8d650a19d0..d199332d1f 100644 --- a/src/world/area_arn/arn_07/arn_07_3_entity.c +++ b/src/world/area_arn/arn_07/arn_07_4_entity.c @@ -1,8 +1,6 @@ #include "arn_07.h" #include "entity.h" -extern EvtScript(N(EVS_ExitDoor_arn_08_0)); - MAP_RODATA_PAD(1,entity); #include "world/common/todo/RemovePadlock.inc.c" diff --git a/src/world/area_arn/arn_07/arn_07_4_npc.c b/src/world/area_arn/arn_07/arn_07_5_npc.c similarity index 92% rename from src/world/area_arn/arn_07/arn_07_4_npc.c rename to src/world/area_arn/arn_07/arn_07_5_npc.c index 9290d1d142..490aafa34c 100644 --- a/src/world/area_arn/arn_07/arn_07_4_npc.c +++ b/src/world/area_arn/arn_07/arn_07_5_npc.c @@ -1,39 +1,11 @@ #include "arn_07.h" #include "effects.h" -extern EvtScript(N(EVS_SetupMusic)); -extern EvtScript(N(EVS_SpawnStarCard)); - #include "world/common/enemy/complete/HyperParagoomba.inc.c" #include "world/common/npc/TubbasHeart.inc.c" - -NpcSettings N(NpcSettings_Tubba) = { - .height = 90, - .radius = 65, - .level = 13, - .onHit = &EnemyNpcHit, - .onDefeat = &EnemyNpcDefeat, -}; - +#include "world/common/enemy/complete/TubbaBlubba.inc.c" #include "world/common/npc/Boo.inc.c" - -NpcSettings N(NpcSettings_Skolar) = { - .height = 26, - .radius = 24, - .level = 99, -}; - -NpcSettings N(NpcSettings_Unused1) = { - .height = 20, - .radius = 20, - .level = 99, -}; - -NpcSettings N(NpcSettings_Unused2) = { - .height = 22, - .radius = 24, - .level = 99, -}; +#include "world/common/npc/StarSpirit.inc.c" API_CALLABLE(N(UpgradeStarPower)) { PlayerData* playerData = &gPlayerData; @@ -591,34 +563,13 @@ EvtScript N(EVS_NpcInit_Skolar) = { StaticNpc N(NpcData_Tubba)[] = { { .id = NPC_Tubba, - .settings = &N(NpcSettings_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, .init = &N(EVS_NpcInit_Tubba), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_WorldTubba_Anim06, - .walk = ANIM_WorldTubba_Anim09, - .run = ANIM_WorldTubba_Anim0C, - .chase = ANIM_WorldTubba_Anim0C, - .anim_4 = ANIM_WorldTubba_Anim00, - .anim_5 = ANIM_WorldTubba_Anim00, - .death = ANIM_WorldTubba_Anim00, - .hit = ANIM_WorldTubba_Anim00, - .anim_8 = ANIM_WorldTubba_Anim00, - .anim_9 = ANIM_WorldTubba_Anim00, - .anim_A = ANIM_WorldTubba_Anim00, - .anim_B = ANIM_WorldTubba_Anim00, - .anim_C = ANIM_WorldTubba_Anim00, - .anim_D = ANIM_WorldTubba_Anim00, - .anim_E = ANIM_WorldTubba_Anim00, - .anim_F = ANIM_WorldTubba_Anim00, - }, + .drops = TUBBA_DROPS, + .animations = TUBBA_ANIMS, .extraAnimations = N(ExtraAnims_Tubba), }, { @@ -851,34 +802,13 @@ StaticNpc N(NpcData_HyperParagoomba_03) = { StaticNpc N(NpcData_Skolar) = { .id = NPC_Skolar, - .settings = &N(NpcSettings_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, .init = &N(EVS_NpcInit_Skolar), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_WorldSkolar_Idle, - .walk = ANIM_WorldSkolar_Idle, - .run = ANIM_WorldSkolar_Idle, - .chase = ANIM_WorldSkolar_Idle, - .anim_4 = ANIM_WorldSkolar_Idle, - .anim_5 = ANIM_WorldSkolar_Idle, - .death = ANIM_WorldSkolar_Idle, - .hit = ANIM_WorldSkolar_Idle, - .anim_8 = ANIM_WorldSkolar_Still, - .anim_9 = ANIM_WorldSkolar_Idle, - .anim_A = ANIM_WorldSkolar_Idle, - .anim_B = ANIM_WorldSkolar_Idle, - .anim_C = ANIM_WorldSkolar_Idle, - .anim_D = ANIM_WorldSkolar_Idle, - .anim_E = ANIM_WorldSkolar_Idle, - .anim_F = ANIM_WorldSkolar_Idle, - }, + .drops = SKOLAR_DROPS, + .animations = SKOLAR_ANIMS, }; NpcGroupList N(BossNPCs) = { diff --git a/src/world/area_arn/arn_08/arn_08.h b/src/world/area_arn/arn_08/arn_08.h index 46dd196fd7..2c244230df 100644 --- a/src/world/area_arn/arn_08/arn_08.h +++ b/src/world/area_arn/arn_08/arn_08.h @@ -18,3 +18,11 @@ enum { }; #define NAMESPACE arn_08 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_AnimateGears); +extern EvtScript N(EVS_SetupHole); +extern EvtScript N(EVS_PlayDemoScene); +extern EvtScript N(EVS_MakeEntities); +extern EvtScript N(EVS_SetupMusic); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_arn/arn_08/arn_08_0_header.c b/src/world/area_arn/arn_08/arn_08_0_header.c index ab614142db..6de9f84b6f 100644 --- a/src/world/area_arn/arn_08/arn_08_0_header.c +++ b/src/world/area_arn/arn_08/arn_08_0_header.c @@ -1,7 +1,5 @@ #include "arn_08.h" -extern EvtScript N(EVS_Main); - EntryList N(Entrances) = { [arn_08_ENTRY_0] { -80.0, 0.0, 108.0, 45.0 }, [arn_08_ENTRY_1] { 0.0, 0.0, 0.0, 0.0 }, @@ -14,17 +12,3 @@ MapSettings N(settings) = { .entryCount = ENTRY_COUNT(N(Entrances)), .tattle = { MSG_MapTattle_arn_08 }, }; - -EvtScript N(EVS_SetupMusic) = { - EVT_SWITCH(GB_StoryProgress) - EVT_CASE_LT(STORY_CH3_HEART_FLED_FIRST_TUNNEL) - EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8) - EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) - EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8) - EVT_CASE_DEFAULT - EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) - EVT_END_SWITCH - EVT_CALL(ClearAmbientSounds, 250) - EVT_RETURN - EVT_END -}; diff --git a/src/world/area_arn/arn_08/arn_08_1_music.c b/src/world/area_arn/arn_08/arn_08_1_music.c new file mode 100644 index 0000000000..9e584a2a87 --- /dev/null +++ b/src/world/area_arn/arn_08/arn_08_1_music.c @@ -0,0 +1,15 @@ +#include "arn_08.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH3_HEART_FLED_FIRST_TUNNEL) + EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8) + EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) + EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8) + EVT_CASE_DEFAULT + EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) + EVT_END_SWITCH + EVT_CALL(ClearAmbientSounds, 250) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_arn/arn_08/arn_08_1_main.c b/src/world/area_arn/arn_08/arn_08_2_main.c similarity index 95% rename from src/world/area_arn/arn_08/arn_08_1_main.c rename to src/world/area_arn/arn_08/arn_08_2_main.c index 17ce1a227c..d97476a4ca 100644 --- a/src/world/area_arn/arn_08/arn_08_1_main.c +++ b/src/world/area_arn/arn_08/arn_08_2_main.c @@ -1,12 +1,5 @@ #include "arn_08.h" -extern EvtScript N(EVS_AnimateGears); -extern EvtScript N(EVS_SetupHole); -extern EvtScript N(EVS_PlayDemoScene); -extern EvtScript N(EVS_MakeEntities); -extern EvtScript N(EVS_SetupMusic); -extern NpcGroupList N(DefaultNPCs); - EvtScript N(EVS_ExitDoor_arn_07_0) = { EVT_SET_GROUP(EVT_GROUP_1B) EVT_CALL(DisablePlayerInput, TRUE) diff --git a/src/world/area_arn/arn_08/arn_08_2_well.c b/src/world/area_arn/arn_08/arn_08_3_well.c similarity index 100% rename from src/world/area_arn/arn_08/arn_08_2_well.c rename to src/world/area_arn/arn_08/arn_08_3_well.c diff --git a/src/world/area_arn/arn_08/arn_08_3_gears.c b/src/world/area_arn/arn_08/arn_08_4_gears.c similarity index 100% rename from src/world/area_arn/arn_08/arn_08_3_gears.c rename to src/world/area_arn/arn_08/arn_08_4_gears.c diff --git a/src/world/area_arn/arn_08/arn_08_4_demo.c b/src/world/area_arn/arn_08/arn_08_5_demo.c similarity index 100% rename from src/world/area_arn/arn_08/arn_08_4_demo.c rename to src/world/area_arn/arn_08/arn_08_5_demo.c diff --git a/src/world/area_arn/arn_08/arn_08_5_npc.c b/src/world/area_arn/arn_08/arn_08_6_npc.c similarity index 100% rename from src/world/area_arn/arn_08/arn_08_5_npc.c rename to src/world/area_arn/arn_08/arn_08_6_npc.c diff --git a/src/world/area_arn/arn_08/arn_08_6_entity.c b/src/world/area_arn/arn_08/arn_08_7_entity.c similarity index 100% rename from src/world/area_arn/arn_08/arn_08_6_entity.c rename to src/world/area_arn/arn_08/arn_08_7_entity.c diff --git a/src/world/area_arn/arn_09/arn_09.h b/src/world/area_arn/arn_09/arn_09.h index ad417c0590..fd79ac1a69 100644 --- a/src/world/area_arn/arn_09/arn_09.h +++ b/src/world/area_arn/arn_09/arn_09.h @@ -16,3 +16,9 @@ enum { }; #define NAMESPACE arn_09 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_LaunchPlayer); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_arn/arn_09/arn_09_0_header.c b/src/world/area_arn/arn_09/arn_09_0_header.c index b4afd70aec..7990986c6b 100644 --- a/src/world/area_arn/arn_09/arn_09_0_header.c +++ b/src/world/area_arn/arn_09/arn_09_0_header.c @@ -1,7 +1,5 @@ #include "arn_09.h" -extern EvtScript N(EVS_Main); - EntryList N(Entrances) = { [arn_09_ENTRY_0] { 125.0, 0.0, 0.0, 270.0 }, [arn_09_ENTRY_1] { 0.0, 200.0, 0.0, 90.0 }, @@ -13,16 +11,3 @@ MapSettings N(settings) = { .entryCount = ENTRY_COUNT(N(Entrances)), .tattle = { MSG_MapTattle_arn_09 }, }; - -EvtScript N(EVS_SetupMusic) = { - EVT_SWITCH(GB_StoryProgress) - EVT_CASE_LT(STORY_CH3_HEART_FLED_FIRST_TUNNEL) - EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8) - EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) - EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8) - EVT_CASE_DEFAULT - EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) - EVT_END_SWITCH - EVT_RETURN - EVT_END -}; diff --git a/src/world/area_arn/arn_09/arn_09_1_music.c b/src/world/area_arn/arn_09/arn_09_1_music.c new file mode 100644 index 0000000000..f15656b781 --- /dev/null +++ b/src/world/area_arn/arn_09/arn_09_1_music.c @@ -0,0 +1,14 @@ +#include "arn_09.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH3_HEART_FLED_FIRST_TUNNEL) + EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8) + EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) + EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8) + EVT_CASE_DEFAULT + EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_arn/arn_09/arn_09_1_main.c b/src/world/area_arn/arn_09/arn_09_2_main.c similarity index 86% rename from src/world/area_arn/arn_09/arn_09_1_main.c rename to src/world/area_arn/arn_09/arn_09_2_main.c index 1cafa8415a..4f20df5fcb 100644 --- a/src/world/area_arn/arn_09/arn_09_1_main.c +++ b/src/world/area_arn/arn_09/arn_09_2_main.c @@ -1,11 +1,5 @@ #include "arn_09.h" -extern EvtScript N(EVS_Main); -extern EvtScript N(EVS_LaunchPlayer); -extern EvtScript N(EVS_SetupMusic); -extern EvtScript N(EVS_MakeEntities); -extern NpcGroupList N(DefaultNPCs); - EvtScript N(EVS_ExitDoor_arn_10_0) = EVT_EXIT_SPLIT_SINGLE_DOOR(arn_09_ENTRY_0, "arn_10", arn_10_ENTRY_0, COLLIDER_tte, MODEL_doa, MODEL_o37, DOOR_SWING_OUT); diff --git a/src/world/area_arn/arn_09/arn_09_2_entity.c b/src/world/area_arn/arn_09/arn_09_3_entity.c similarity index 100% rename from src/world/area_arn/arn_09/arn_09_2_entity.c rename to src/world/area_arn/arn_09/arn_09_3_entity.c diff --git a/src/world/area_arn/arn_09/arn_09_3_launch.c b/src/world/area_arn/arn_09/arn_09_4_launch.c similarity index 100% rename from src/world/area_arn/arn_09/arn_09_3_launch.c rename to src/world/area_arn/arn_09/arn_09_4_launch.c diff --git a/src/world/area_arn/arn_09/arn_09_4_npc.c b/src/world/area_arn/arn_09/arn_09_5_npc.c similarity index 100% rename from src/world/area_arn/arn_09/arn_09_4_npc.c rename to src/world/area_arn/arn_09/arn_09_5_npc.c diff --git a/src/world/area_arn/arn_10/arn_10.h b/src/world/area_arn/arn_10/arn_10.h index a511ef12a8..3548f51ed0 100644 --- a/src/world/area_arn/arn_10/arn_10.h +++ b/src/world/area_arn/arn_10/arn_10.h @@ -9,12 +9,14 @@ #include "mapfs/arn_10_shape.h" #include "mapfs/arn_10_hit.h" -#include "sprite/npc/TubbasHeart.h" -#include "sprite/npc/Goomba.h" - enum { NPC_TubbasHeart = 0, NPC_HyperGoomba = 1, }; #define NAMESPACE arn_10 + +extern EvtScript N(EVS_Main); +extern NpcGroupList N(DefaultNPCs); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_MakeEntities); diff --git a/src/world/area_arn/arn_10/arn_10_0_header.c b/src/world/area_arn/arn_10/arn_10_0_header.c index 1a46455d4b..4b258cc3fe 100644 --- a/src/world/area_arn/arn_10/arn_10_0_header.c +++ b/src/world/area_arn/arn_10/arn_10_0_header.c @@ -1,7 +1,5 @@ #include "arn_10.h" -extern EvtScript N(EVS_Main); - EntryList N(Entrances) = { [arn_10_ENTRY_0] { -225.0, 0.0, 0.0, 90.0 }, [arn_10_ENTRY_1] { 225.0, 0.0, 0.0, 270.0 }, @@ -13,16 +11,3 @@ MapSettings N(settings) = { .entryCount = ENTRY_COUNT(N(Entrances)), .tattle = { MSG_MapTattle_arn_10 }, }; - -EvtScript N(EVS_SetupMusic) = { - EVT_SWITCH(GB_StoryProgress) - EVT_CASE_LT(STORY_CH3_HEART_FLED_FIRST_TUNNEL) - EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8) - EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) - EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8) - EVT_CASE_DEFAULT - EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) - EVT_END_SWITCH - EVT_RETURN - EVT_END -}; diff --git a/src/world/area_arn/arn_10/arn_10_1_music.c b/src/world/area_arn/arn_10/arn_10_1_music.c new file mode 100644 index 0000000000..9da63224b3 --- /dev/null +++ b/src/world/area_arn/arn_10/arn_10_1_music.c @@ -0,0 +1,14 @@ +#include "arn_10.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH3_HEART_FLED_FIRST_TUNNEL) + EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8) + EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) + EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8) + EVT_CASE_DEFAULT + EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_arn/arn_10/arn_10_1_main.c b/src/world/area_arn/arn_10/arn_10_2_main.c similarity index 93% rename from src/world/area_arn/arn_10/arn_10_1_main.c rename to src/world/area_arn/arn_10/arn_10_2_main.c index 77e4eec9d6..eb29886851 100644 --- a/src/world/area_arn/arn_10/arn_10_1_main.c +++ b/src/world/area_arn/arn_10/arn_10_2_main.c @@ -1,9 +1,5 @@ #include "arn_10.h" -extern NpcGroupList N(DefaultNPCs); -extern EvtScript N(EVS_SetupMusic); -extern EvtScript N(EVS_MakeEntities); - EvtScript N(EVS_ExitDoor_arn_09_0) = EVT_EXIT_SINGLE_DOOR(arn_10_ENTRY_0, "arn_09", arn_09_ENTRY_0, COLLIDER_ttw, MODEL_o44, DOOR_SWING_IN); diff --git a/src/world/area_arn/arn_10/arn_10_2_npc.c b/src/world/area_arn/arn_10/arn_10_3_npc.c similarity index 100% rename from src/world/area_arn/arn_10/arn_10_2_npc.c rename to src/world/area_arn/arn_10/arn_10_3_npc.c diff --git a/src/world/area_arn/arn_10/arn_10_3_entity.c b/src/world/area_arn/arn_10/arn_10_4_entity.c similarity index 81% rename from src/world/area_arn/arn_10/arn_10_3_entity.c rename to src/world/area_arn/arn_10/arn_10_4_entity.c index e136a4ac1a..206e3e2881 100644 --- a/src/world/area_arn/arn_10/arn_10_3_entity.c +++ b/src/world/area_arn/arn_10/arn_10_4_entity.c @@ -1,7 +1,7 @@ #include "arn_10.h" #include "entity.h" -EvtScript N(80240BE0) = { +EvtScript N(EVS_ReadSign) = { EVT_CALL(DisablePlayerInput, TRUE) EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_0182, 160, 40) EVT_CALL(DisablePlayerInput, FALSE) @@ -11,7 +11,7 @@ EvtScript N(80240BE0) = { EvtScript N(EVS_MakeEntities) = { EVT_CALL(MakeEntity, EVT_PTR(Entity_Signpost), 200, 0, -40, 0, MAKE_ENTITY_END) - EVT_CALL(AssignScript, EVT_PTR(N(80240BE0))) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_ReadSign))) EVT_RETURN EVT_END }; diff --git a/src/world/area_arn/arn_11/arn_11.h b/src/world/area_arn/arn_11/arn_11.h index 61d3d30dc4..108bbe99a8 100644 --- a/src/world/area_arn/arn_11/arn_11.h +++ b/src/world/area_arn/arn_11/arn_11.h @@ -16,3 +16,7 @@ enum { }; #define NAMESPACE arn_11 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_arn/arn_11/arn_11_0_header.c b/src/world/area_arn/arn_11/arn_11_0_header.c index a719a365cc..29d06dab59 100644 --- a/src/world/area_arn/arn_11/arn_11_0_header.c +++ b/src/world/area_arn/arn_11/arn_11_0_header.c @@ -1,7 +1,5 @@ #include "arn_11.h" -extern EvtScript N(EVS_Main); - EntryList N(Entrances) = { [arn_11_ENTRY_0] { -165.0, 0.0, 0.0, 90.0 }, }; @@ -12,16 +10,3 @@ MapSettings N(settings) = { .entryCount = ENTRY_COUNT(N(Entrances)), .tattle = { MSG_MapTattle_arn_11 }, }; - -EvtScript N(EVS_SetupMusic) = { - EVT_SWITCH(GB_StoryProgress) - EVT_CASE_LT(STORY_CH3_WENT_DOWN_THE_WELL) - EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8) - EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) - EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8) - EVT_CASE_DEFAULT - EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) - EVT_END_SWITCH - EVT_RETURN - EVT_END -}; diff --git a/src/world/area_arn/arn_11/arn_11_1_music.c b/src/world/area_arn/arn_11/arn_11_1_music.c new file mode 100644 index 0000000000..d8754945f1 --- /dev/null +++ b/src/world/area_arn/arn_11/arn_11_1_music.c @@ -0,0 +1,14 @@ +#include "arn_11.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH3_WENT_DOWN_THE_WELL) + EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8) + EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) + EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8) + EVT_CASE_DEFAULT + EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_arn/arn_11/arn_11_1_main.c b/src/world/area_arn/arn_11/arn_11_2_main.c similarity index 97% rename from src/world/area_arn/arn_11/arn_11_1_main.c rename to src/world/area_arn/arn_11/arn_11_2_main.c index bbaec802f6..3fd2130f16 100644 --- a/src/world/area_arn/arn_11/arn_11_1_main.c +++ b/src/world/area_arn/arn_11/arn_11_2_main.c @@ -1,8 +1,5 @@ #include "arn_11.h" -extern EvtScript N(EVS_SetupMusic); -extern NpcGroupList N(DefaultNPCs); - EvtScript N(EVS_SetupCamera) = { EVT_CALL(SetCamType, CAM_DEFAULT, 6, TRUE) EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(3.0)) diff --git a/src/world/area_arn/arn_11/arn_11_2_npc.c b/src/world/area_arn/arn_11/arn_11_3_npc.c similarity index 100% rename from src/world/area_arn/arn_11/arn_11_2_npc.c rename to src/world/area_arn/arn_11/arn_11_3_npc.c diff --git a/src/world/area_arn/arn_12/arn_12.h b/src/world/area_arn/arn_12/arn_12.h index ff7b64e8b0..00913e2544 100644 --- a/src/world/area_arn/arn_12/arn_12.h +++ b/src/world/area_arn/arn_12/arn_12.h @@ -9,12 +9,14 @@ #include "mapfs/arn_12_shape.h" #include "mapfs/arn_12_hit.h" -#include "sprite/npc/TubbasHeart.h" -#include "sprite/npc/Goomba.h" - enum { NPC_TubbasHeart = 0, NPC_HyperGoomba = 1, }; #define NAMESPACE arn_12 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_arn/arn_12/arn_12_0_header.c b/src/world/area_arn/arn_12/arn_12_0_header.c index 2f8254c1bd..a99c22e67e 100644 --- a/src/world/area_arn/arn_12/arn_12_0_header.c +++ b/src/world/area_arn/arn_12/arn_12_0_header.c @@ -1,7 +1,5 @@ #include "arn_12.h" -extern EvtScript N(EVS_Main); - EntryList N(Entrances) = { [arn_12_ENTRY_0] { -231.0, 0.0, 5.0, 90.0 }, [arn_12_ENTRY_1] { 231.0, 0.0, 5.0, 270.0 }, @@ -13,16 +11,3 @@ MapSettings N(settings) = { .entryCount = ENTRY_COUNT(N(Entrances)), .tattle = { MSG_MapTattle_arn_12 }, }; - -EvtScript N(EVS_SetupMusic) = { - EVT_SWITCH(GB_StoryProgress) - EVT_CASE_LT(STORY_CH3_HEART_FLED_FIRST_TUNNEL) - EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8) - EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) - EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8) - EVT_CASE_DEFAULT - EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) - EVT_END_SWITCH - EVT_RETURN - EVT_END -}; diff --git a/src/world/area_arn/arn_12/arn_12_1_music.c b/src/world/area_arn/arn_12/arn_12_1_music.c new file mode 100644 index 0000000000..2d23eae15b --- /dev/null +++ b/src/world/area_arn/arn_12/arn_12_1_music.c @@ -0,0 +1,14 @@ +#include "arn_12.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH3_HEART_FLED_FIRST_TUNNEL) + EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8) + EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) + EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8) + EVT_CASE_DEFAULT + EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_arn/arn_12/arn_12_1_main.c b/src/world/area_arn/arn_12/arn_12_2_main.c similarity index 92% rename from src/world/area_arn/arn_12/arn_12_1_main.c rename to src/world/area_arn/arn_12/arn_12_2_main.c index 2335a21909..9fce7478e4 100644 --- a/src/world/area_arn/arn_12/arn_12_1_main.c +++ b/src/world/area_arn/arn_12/arn_12_2_main.c @@ -1,9 +1,5 @@ #include "arn_12.h" -extern EvtScript N(EVS_SetupMusic); -extern EvtScript N(EVS_MakeEntities); -extern NpcGroupList N(DefaultNPCs); - EvtScript N(EVS_ExitDoor_arn_10_1) = EVT_EXIT_SINGLE_DOOR(arn_12_ENTRY_0, "arn_10", arn_10_ENTRY_1, COLLIDER_ttw, MODEL_o44, DOOR_SWING_IN); diff --git a/src/world/area_arn/arn_12/arn_12_2_npc.c b/src/world/area_arn/arn_12/arn_12_3_npc.c similarity index 100% rename from src/world/area_arn/arn_12/arn_12_2_npc.c rename to src/world/area_arn/arn_12/arn_12_3_npc.c diff --git a/src/world/area_arn/arn_12/arn_12_3_entity.c b/src/world/area_arn/arn_12/arn_12_4_entity.c similarity index 100% rename from src/world/area_arn/arn_12/arn_12_3_entity.c rename to src/world/area_arn/arn_12/arn_12_4_entity.c diff --git a/src/world/area_arn/arn_13/arn_13.h b/src/world/area_arn/arn_13/arn_13.h index 1de81db8c9..5f171242b2 100644 --- a/src/world/area_arn/arn_13/arn_13.h +++ b/src/world/area_arn/arn_13/arn_13.h @@ -9,12 +9,14 @@ #include "mapfs/arn_13_shape.h" #include "mapfs/arn_13_hit.h" -#include "sprite/npc/TubbasHeart.h" -#include "sprite/npc/Goomba.h" - enum { NPC_TubbasHeart = 0, NPC_HyperGoomba = 1, }; #define NAMESPACE arn_13 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_arn/arn_13/arn_13_0_header.c b/src/world/area_arn/arn_13/arn_13_0_header.c index 5b0d532542..8488c0f305 100644 --- a/src/world/area_arn/arn_13/arn_13_0_header.c +++ b/src/world/area_arn/arn_13/arn_13_0_header.c @@ -1,7 +1,5 @@ #include "arn_13.h" -extern EvtScript N(EVS_Main); - EntryList N(Entrances) = { [arn_13_ENTRY_0] { -231.0, 0.0, 5.0, 90.0 }, [arn_13_ENTRY_1] { 231.0, 0.0, 5.0, 270.0 }, @@ -13,16 +11,3 @@ MapSettings N(settings) = { .entryCount = ENTRY_COUNT(N(Entrances)), .tattle = { MSG_MapTattle_arn_13 }, }; - -EvtScript N(EVS_SetupMusic) = { - EVT_SWITCH(GB_StoryProgress) - EVT_CASE_LT(STORY_CH3_HEART_FLED_FIRST_TUNNEL) - EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8) - EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) - EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8) - EVT_CASE_DEFAULT - EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) - EVT_END_SWITCH - EVT_RETURN - EVT_END -}; diff --git a/src/world/area_arn/arn_13/arn_13_1_music.c b/src/world/area_arn/arn_13/arn_13_1_music.c new file mode 100644 index 0000000000..95248f8da4 --- /dev/null +++ b/src/world/area_arn/arn_13/arn_13_1_music.c @@ -0,0 +1,14 @@ +#include "arn_13.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH3_HEART_FLED_FIRST_TUNNEL) + EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_ESCAPE, 0, 8) + EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) + EVT_CALL(SetMusicTrack, 0, SONG_TUBBA_BLUBBA_THEME, 0, 8) + EVT_CASE_DEFAULT + EVT_CALL(SetMusicTrack, 0, SONG_GUSTY_GULCH, 0, 8) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_arn/arn_13/arn_13_1_main.c b/src/world/area_arn/arn_13/arn_13_2_main.c similarity index 93% rename from src/world/area_arn/arn_13/arn_13_1_main.c rename to src/world/area_arn/arn_13/arn_13_2_main.c index fb773bbce9..86e805c318 100644 --- a/src/world/area_arn/arn_13/arn_13_1_main.c +++ b/src/world/area_arn/arn_13/arn_13_2_main.c @@ -1,9 +1,5 @@ #include "arn_13.h" -extern EvtScript N(EVS_SetupMusic); -extern EvtScript N(EVS_MakeEntities); -extern NpcGroupList N(DefaultNPCs); - EvtScript N(EVS_ExitDoor_arn_12_1) = EVT_EXIT_SINGLE_DOOR(arn_13_ENTRY_0, "arn_12", arn_12_ENTRY_1, COLLIDER_ttw, MODEL_o44, DOOR_SWING_IN); diff --git a/src/world/area_arn/arn_13/arn_13_2_npc.c b/src/world/area_arn/arn_13/arn_13_3_npc.c similarity index 100% rename from src/world/area_arn/arn_13/arn_13_2_npc.c rename to src/world/area_arn/arn_13/arn_13_3_npc.c diff --git a/src/world/area_arn/arn_13/arn_13_3_entity.c b/src/world/area_arn/arn_13/arn_13_4_entity.c similarity index 100% rename from src/world/area_arn/arn_13/arn_13_3_entity.c rename to src/world/area_arn/arn_13/arn_13_4_entity.c 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 423e8aceae..675ee530d0 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 @@ -7,14 +7,7 @@ #include "world/common/npc/Dryite_Stationary.inc.c" #include "world/common/npc/Mouser.inc.c" -#include "world/common/npc/ThreeSisters.inc.c" - -// toad kid? -NpcSettings N(NpcSettings_Unused1) = { - .height = 23, - .radius = 19, - .level = 99, -}; +#include "world/common/npc/Toad_Stationary.inc.c" #define CHUCK_QUIZMO_NPC_ID NPC_ChuckQuizmo #include "world/common/complete/Quizmo.inc.c" @@ -393,35 +386,35 @@ StaticNpc N(PassiveNPCs)[] = { StaticNpc N(ThreeSisterNPCs)[] = { { .id = NPC_ThreeSisters_01, - .settings = &N(NpcSettings_ThreeSisters), + .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, .init = &N(EVS_NpcInit_ThreeSisters), .yaw = 62, - .drops = THREE_SISTER_DROPS, - .animations = THREE_SISTER_ANIMS, + .drops = TOADETTE_DROPS, + .animations = TOADETTE_PINK_ANIMS, .tattle = MSG_NpcTattle_TravelingMaidA, }, { .id = NPC_ThreeSisters_02, - .settings = &N(NpcSettings_ThreeSisters), + .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, .init = &N(EVS_NpcInit_ThreeSisters), .yaw = 63, - .drops = THREE_SISTER_DROPS, - .animations = THREE_SISTER_ANIMS, + .drops = TOADETTE_DROPS, + .animations = TOADETTE_PINK_ANIMS, .tattle = MSG_NpcTattle_TravelingMaidB, }, { .id = NPC_ThreeSisters_03, - .settings = &N(NpcSettings_ThreeSisters), + .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, .init = &N(EVS_NpcInit_ThreeSisters), .yaw = 244, - .drops = THREE_SISTER_DROPS, - .animations = THREE_SISTER_ANIMS, + .drops = TOADETTE_DROPS, + .animations = TOADETTE_PINK_ANIMS, .tattle = MSG_NpcTattle_TravelingMaidC, }, }; 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 8c39bdfcc7..db62e56117 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 @@ -47,18 +47,7 @@ NpcSettings N(NpcSettings_Archeologist) = { #include "world/common/npc/Dryite_Stationary.inc.c" #include "world/common/npc/Mouser.inc.c" -NpcSettings N(NpcSettings_ToadHouseKeeper) = { - .height = 30, - .radius = 24, - .level = 99, -}; - -// toad kid? -NpcSettings N(NpcSettings_Unused1) = { - .height = 23, - .radius = 19, - .level = 99, -}; +#include "world/common/npc/Toad_Stationary.inc.c" #include "npc_merlee.c" @@ -451,34 +440,13 @@ StaticNpc N(PassiveNPCs)[] = { }, { .id = NPC_Toad, - .settings = &N(NpcSettings_ToadHouseKeeper), + .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, .init = &N(EVS_NpcInit_ToadHouseKeeper), .yaw = 180, - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - ANIM_Toad_Red_Idle, - ANIM_Toad_Red_Walk, - ANIM_Toad_Red_Run, - ANIM_Toad_Red_Run, - ANIM_Toad_Red_Idle, - ANIM_Toad_Red_Idle, - ANIM_Toad_Red_Disappointed, - ANIM_Toad_Red_Disappointed, - ANIM_Toad_Red_Run, - ANIM_Toad_Red_Run, - ANIM_Toad_Red_Run, - ANIM_Toad_Red_Run, - ANIM_Toad_Red_Run, - ANIM_Toad_Red_Run, - ANIM_Toad_Red_Run, - ANIM_Toad_Red_Run, - }, + .drops = TOAD_DROPS, + .animations = TOAD_RED_ANIMS, .tattle = MSG_NpcTattle_DRO_ToadHouseToad, }, { diff --git a/src/world/area_end/end_00/end_00.h b/src/world/area_end/end_00/end_00.h index 7666b22741..45d9cfdbf2 100644 --- a/src/world/area_end/end_00/end_00.h +++ b/src/world/area_end/end_00/end_00.h @@ -162,3 +162,10 @@ enum { }; #define NAMESPACE end_00 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_ManageParade); +extern EvtScript N(EVS_OffsetNpcScroll); + +API_CALLABLE(N(AddScrollToNpcPos)); + diff --git a/src/world/area_end/end_00/end_00_0_header.c b/src/world/area_end/end_00/end_00_0_header.c new file mode 100644 index 0000000000..09f989d080 --- /dev/null +++ b/src/world/area_end/end_00/end_00_0_header.c @@ -0,0 +1,16 @@ +#include "end_00.h" + +s32 N(map_init)(void) { + gGameStatusPtr->playerSpriteSet = 3; + return FALSE; +} + +EntryList N(Entrances) = { + [end_00_ENTRY_0] { 0.0, 0.0, 0.0, 0.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), +}; diff --git a/src/world/area_end/end_00/end_00_0_init.c b/src/world/area_end/end_00/end_00_0_init.c deleted file mode 100644 index cadb4b6a91..0000000000 --- a/src/world/area_end/end_00/end_00_0_init.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "end_00.h" - -s32 N(map_init)(void) { - gGameStatusPtr->playerSpriteSet = 3; - return FALSE; -} diff --git a/src/world/area_end/end_00/end_00_1_main.c b/src/world/area_end/end_00/end_00_1_main.c index f22e7899f0..545796f65d 100644 --- a/src/world/area_end/end_00/end_00_1_main.c +++ b/src/world/area_end/end_00/end_00_1_main.c @@ -1,18 +1,5 @@ #include "end_00.h" -extern EvtScript N(EVS_Main); -extern EvtScript N(EVS_ManageParade); // EVS_ManageParade - -EntryList N(Entrances) = { - [end_00_ENTRY_0] { 0.0, 0.0, 0.0, 0.0 }, -}; - -MapSettings N(settings) = { - .main = &N(EVS_Main), - .entryList = &N(Entrances), - .entryCount = ENTRY_COUNT(N(Entrances)), -}; - EvtScript N(EVS_Main) = { EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, 35, 16, 4096) EVT_CALL(SetCamViewport, CAM_DEFAULT, 15, 28, 290, 128) diff --git a/src/world/area_end/end_00/end_00_7_boos.c b/src/world/area_end/end_00/end_00_7_boos.c index 449998502c..a81c3359b6 100644 --- a/src/world/area_end/end_00/end_00_7_boos.c +++ b/src/world/area_end/end_00/end_00_7_boos.c @@ -1,10 +1,6 @@ #include "end_00.h" #include "effects.h" -extern EvtScript N(EVS_OffsetNpcScroll); - -API_CALLABLE(N(AddScrollToNpcPos)); - s32 N(UnusedAlpha) = 255; API_CALLABLE(N(SetUnusedAlpha)) { diff --git a/src/world/area_end/end_01/end_01.h b/src/world/area_end/end_01/end_01.h index 86ae977df1..e14551802a 100644 --- a/src/world/area_end/end_01/end_01.h +++ b/src/world/area_end/end_01/end_01.h @@ -65,8 +65,8 @@ enum { NPC_Merlar = 23, NPC_SunSad = 24, NPC_SunHappy = 25, - NPC_Bulbulb1 = 26, - NPC_Bulbulb2 = 27, + NPC_Bubulb1 = 26, + NPC_Bubulb2 = 27, NPC_ShyGuyMarshall = 28, NPC_GeneralGuy = 29, NPC_BackupDancer1 = 30, @@ -125,3 +125,9 @@ enum { }; #define NAMESPACE end_01 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_ManageParade); +extern EvtScript N(EVS_OffsetNpcScroll); + +API_CALLABLE(N(AddScrollToNpcPos)); diff --git a/src/world/area_end/end_01/end_01_0_header.c b/src/world/area_end/end_01/end_01_0_header.c new file mode 100644 index 0000000000..2a78e44e27 --- /dev/null +++ b/src/world/area_end/end_01/end_01_0_header.c @@ -0,0 +1,15 @@ +#include "end_01.h" + +s32 N(map_init)(void) { + return FALSE; +} + +EntryList N(Entrances) = { + [end_01_ENTRY_0] { 0.0, 0.0, 0.0, 0.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), +}; diff --git a/src/world/area_end/end_01/end_01_0_init.c b/src/world/area_end/end_01/end_01_0_init.c deleted file mode 100644 index 90146246e6..0000000000 --- a/src/world/area_end/end_01/end_01_0_init.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "end_01.h" - -s32 N(map_init)(void) { - return FALSE; -} diff --git a/src/world/area_end/end_01/end_01_1_main.c b/src/world/area_end/end_01/end_01_1_main.c index 2c46eb79fc..4c71f7de77 100644 --- a/src/world/area_end/end_01/end_01_1_main.c +++ b/src/world/area_end/end_01/end_01_1_main.c @@ -1,23 +1,10 @@ #include "end_01.h" -extern EvtScript N(EVS_Main); -extern EvtScript N(EVS_ManageParade); - API_CALLABLE(N(WidenCameraFOV)) { gCameras[CAM_DEFAULT].vfov = 35.0f; return ApiStatus_DONE2; } -EntryList N(Entrances) = { - [end_01_ENTRY_0] { 0.0, 0.0, 0.0, 0.0 }, -}; - -MapSettings N(settings) = { - .main = &N(EVS_Main), - .entryList = &N(Entrances), - .entryCount = ENTRY_COUNT(N(Entrances)), -}; - EvtScript N(EVS_Main) = { EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, 25, 16, 4096) EVT_CALL(SetCamViewport, CAM_DEFAULT, 15, 28, 290, 128) diff --git a/src/world/area_end/end_01/end_01_3_parade_setup.c b/src/world/area_end/end_01/end_01_3_parade_setup.c index 1827e137a0..2f6440d00d 100644 --- a/src/world/area_end/end_01/end_01_3_parade_setup.c +++ b/src/world/area_end/end_01/end_01_3_parade_setup.c @@ -346,12 +346,12 @@ ParadeNpcInfo N(ParadeNpcsTable)[] = { .pos = { 0.0f, -500.0f, 0.0f }, .yaw = 90.0f }, - [NPC_Bulbulb1] { + [NPC_Bubulb1] { .initialAnim = ANIM_Bubulb_Pink_DarkWalk, .pos = { -1850.0f, 0.0f, -20.0f }, .yaw = 270.0f }, - [NPC_Bulbulb2] { + [NPC_Bubulb2] { .initialAnim = ANIM_Bubulb_Pink_DarkWalk, .pos = { -1850.0f, 0.0f, 20.0f }, .yaw = 270.0f @@ -614,8 +614,8 @@ EvtScript N(EVS_ManageNpcPool) = { EVT_CALL(N(CreateParadeNPC), NPC_Merlar) EVT_CALL(N(CreateParadeNPC), NPC_SunSad) EVT_CALL(N(CreateParadeNPC), NPC_SunHappy) - EVT_CALL(N(CreateParadeNPC), NPC_Bulbulb1) - EVT_CALL(N(CreateParadeNPC), NPC_Bulbulb2) + EVT_CALL(N(CreateParadeNPC), NPC_Bubulb1) + EVT_CALL(N(CreateParadeNPC), NPC_Bubulb2) EVT_LOOP(0) EVT_WAIT(1) EVT_CALL(GetCamPosition, CAM_DEFAULT, LVar0, LVar1, LVar2) @@ -666,8 +666,8 @@ EvtScript N(EVS_ManageNpcPool) = { EVT_CALL(DeleteNpc, NPC_Merlar) EVT_CALL(DeleteNpc, NPC_SunSad) EVT_CALL(DeleteNpc, NPC_SunHappy) - EVT_CALL(DeleteNpc, NPC_Bulbulb1) - EVT_CALL(DeleteNpc, NPC_Bulbulb2) + EVT_CALL(DeleteNpc, NPC_Bubulb1) + EVT_CALL(DeleteNpc, NPC_Bubulb2) EVT_WAIT(1) EVT_CALL(N(CreateParadeNPC), NPC_HornPlayer1) EVT_CALL(N(CreateParadeNPC), NPC_HornPlayer2) diff --git a/src/world/area_end/end_01/end_01_5_flower_float.c b/src/world/area_end/end_01/end_01_5_flower_float.c index 54965633d7..905d448fca 100644 --- a/src/world/area_end/end_01/end_01_5_flower_float.c +++ b/src/world/area_end/end_01/end_01_5_flower_float.c @@ -87,8 +87,8 @@ EvtScript N(EVS_Sun) = { EVT_END }; -EvtScript N(EVS_Bulbulbs) = { - EVT_CALL(GetNpcPos, NPC_Bulbulb1, LVar0, LVar1, LVar2) +EvtScript N(EVS_Bubulbs) = { + EVT_CALL(GetNpcPos, NPC_Bubulb1, LVar0, LVar1, LVar2) EVT_SET(LVar3, LVar0) EVT_ADD(LVar3, -120) EVT_LOOP(0) @@ -101,14 +101,14 @@ EvtScript N(EVS_Bulbulbs) = { EVT_CALL(MakeLerp, 0, 360, 10, EASING_LINEAR) EVT_LOOP(0) EVT_CALL(UpdateLerp) - EVT_CALL(SetNpcRotation, NPC_Bulbulb1, 0, LVar0, 0) - EVT_CALL(SetNpcRotation, NPC_Bulbulb2, 0, LVar0, 0) + EVT_CALL(SetNpcRotation, NPC_Bubulb1, 0, LVar0, 0) + EVT_CALL(SetNpcRotation, NPC_Bubulb2, 0, LVar0, 0) EVT_WAIT(1) EVT_IF_EQ(LVar1, 0) EVT_BREAK_LOOP EVT_END_IF EVT_END_LOOP - EVT_CALL(GetNpcPos, NPC_Bulbulb1, LVar0, LVar1, LVar2) + EVT_CALL(GetNpcPos, NPC_Bubulb1, LVar0, LVar1, LVar2) EVT_SET(LVar3, LVar0) EVT_ADD(LVar3, 100) EVT_LOOP(0) @@ -121,8 +121,8 @@ EvtScript N(EVS_Bulbulbs) = { EVT_CALL(MakeLerp, 0, 360, 10, EASING_LINEAR) EVT_LOOP(0) EVT_CALL(UpdateLerp) - EVT_CALL(SetNpcRotation, NPC_Bulbulb1, 0, LVar0, 0) - EVT_CALL(SetNpcRotation, NPC_Bulbulb2, 0, LVar0, 0) + EVT_CALL(SetNpcRotation, NPC_Bubulb1, 0, LVar0, 0) + EVT_CALL(SetNpcRotation, NPC_Bubulb2, 0, LVar0, 0) EVT_WAIT(1) EVT_IF_EQ(LVar1, 0) EVT_BREAK_LOOP @@ -143,7 +143,7 @@ EvtScript N(EVS_ParadePhase_Wizards) = { EVT_END_LOOP EVT_WAIT(1) EVT_EXEC_GET_TID(N(EVS_TexPan_FlowerFloat_Base), LVarA) - EVT_EXEC(N(EVS_Bulbulbs)) + EVT_EXEC(N(EVS_Bubulbs)) EVT_LOOP(0) EVT_WAIT(1) EVT_CALL(GetCamPosition, CAM_DEFAULT, LVar0, LVar1, LVar2) diff --git a/src/world/area_end/end_01/end_01_6_shyguy_float.c b/src/world/area_end/end_01/end_01_6_shyguy_float.c index 2d953bb025..b4713021db 100644 --- a/src/world/area_end/end_01/end_01_6_shyguy_float.c +++ b/src/world/area_end/end_01/end_01_6_shyguy_float.c @@ -2,10 +2,6 @@ #include "world/common/atomic/UnkFunc27.inc.c" -API_CALLABLE(N(AddScrollToNpcPos)); - -extern EvtScript N(EVS_OffsetNpcScroll); - EvtScript N(EVS_TexPan_ShyGuyFloat_Sides) = { EVT_CALL(EnableTexPanning, MODEL_omo1, TRUE) EVT_CALL(EnableTexPanning, MODEL_omo4, TRUE) diff --git a/src/world/area_flo/flo_00/C9DF60.c b/src/world/area_flo/flo_00/C9DF60.c index 34a5f524eb..9b34eeb85b 100644 --- a/src/world/area_flo/flo_00/C9DF60.c +++ b/src/world/area_flo/flo_00/C9DF60.c @@ -1078,7 +1078,7 @@ StaticNpc N(npcGroup_80245054)[] = { ANIM_Bubulb_Pink_Idle, ANIM_Bubulb_Pink_Idle, }, - .tattle = MSG_NpcTattle_FLO_BulbulbA, + .tattle = MSG_NpcTattle_FLO_BubulbA, }, { .id = NPC_BUBULB2, @@ -1111,7 +1111,7 @@ StaticNpc N(npcGroup_80245054)[] = { ANIM_Bubulb_Purple_Idle, ANIM_Bubulb_Purple_Idle, }, - .tattle = MSG_NpcTattle_FLO_BulbulbB, + .tattle = MSG_NpcTattle_FLO_BubulbB, }, { .id = NPC_BUBULB3, @@ -1144,7 +1144,7 @@ StaticNpc N(npcGroup_80245054)[] = { ANIM_Bubulb_Green_Idle, ANIM_Bubulb_Green_Idle, }, - .tattle = MSG_NpcTattle_FLO_BulbulbC, + .tattle = MSG_NpcTattle_FLO_BubulbC, }, { .id = NPC_BUBULB4, @@ -1177,7 +1177,7 @@ StaticNpc N(npcGroup_80245054)[] = { ANIM_Bubulb_Yellow_Idle, ANIM_Bubulb_Yellow_Idle, }, - .tattle = MSG_NpcTattle_FLO_BulbulbD, + .tattle = MSG_NpcTattle_FLO_BubulbD, }, }; diff --git a/src/world/area_flo/flo_03/CA72E0.c b/src/world/area_flo/flo_03/CA72E0.c index 76c8ba62aa..65306d99cb 100644 --- a/src/world/area_flo/flo_03/CA72E0.c +++ b/src/world/area_flo/flo_03/CA72E0.c @@ -1145,18 +1145,18 @@ ApiStatus N(func_80240158_CA73F8)(Evt* script, s32 isInitialCall) { add_vec2D_polar(&sp10, &sp14, 46.0f, clamp); } } - npc->currentAnim = enemy->animList[ENEMY_ANIM_RUN]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_RUN]; npc->yaw = atan2(npc->pos.x, npc->pos.z, sp10, sp14); npc_move_heading(npc, 2.0f, npc->yaw); } else if (temp_f4 > 0.2) { npc->yaw = atan2(npc->pos.x, npc->pos.z, sp10, sp14); npc->pos.x = sp10; npc->pos.z = sp14; - npc->currentAnim = enemy->animList[ENEMY_ANIM_WALK]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_WALK]; } else { npc->pos.x = sp10; npc->pos.z = sp14; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; } return ApiStatus_BLOCK; } diff --git a/src/world/area_gv/gv_01/gv_01.h b/src/world/area_gv/gv_01/gv_01.h index ddd33d644f..179bf25328 100644 --- a/src/world/area_gv/gv_01/gv_01.h +++ b/src/world/area_gv/gv_01/gv_01.h @@ -10,3 +10,5 @@ #include "mapfs/gv_01_hit.h" #define NAMESPACE gv_01 + +extern EvtScript N(EVS_Main); diff --git a/src/world/area_gv/gv_01/gv_01_0_header.c b/src/world/area_gv/gv_01/gv_01_0_header.c new file mode 100644 index 0000000000..73a9439025 --- /dev/null +++ b/src/world/area_gv/gv_01/gv_01_0_header.c @@ -0,0 +1,11 @@ +#include "gv_01.h" + +EntryList N(Entrances) = { + [gv_01_ENTRY_0] { 0.0, 0.0, 0.0, 90.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), +}; diff --git a/src/world/area_gv/gv_01/gv_01.c b/src/world/area_gv/gv_01/gv_01_1_main.c similarity index 95% rename from src/world/area_gv/gv_01/gv_01.c rename to src/world/area_gv/gv_01/gv_01_1_main.c index 366beba99e..4f60986f21 100644 --- a/src/world/area_gv/gv_01/gv_01.c +++ b/src/world/area_gv/gv_01/gv_01_1_main.c @@ -2,18 +2,6 @@ #include "sprite.h" #include "hud_element.h" -extern EvtScript N(EVS_Main); - -EntryList N(Entrances) = { - { 0.0, 0.0, 0.0, 90.0 }, /* gv_01_ENTRY_0 */ -}; - -MapSettings N(settings) = { - .main = &N(EVS_Main), - .entryList = &N(Entrances), - .entryCount = ENTRY_COUNT(N(Entrances)), -}; - #include "world/common/entity/Pipe.inc.c" #include "world/common/entity/Pipe.data.inc.c" diff --git a/src/world/area_iwa/iwa.h b/src/world/area_iwa/iwa.h index d9dba14324..04ccfda78f 100644 --- a/src/world/area_iwa/iwa.h +++ b/src/world/area_iwa/iwa.h @@ -21,7 +21,7 @@ enum { }; enum { - AF_IWA_SpokeWithBulbulb = AreaFlag(1), + AF_IWA_SpokeWithBubulb = AreaFlag(1), AF_IWA_SpokeWIthDryite = AreaFlag(2), }; diff --git a/src/world/area_iwa/iwa_00/iwa_00.h b/src/world/area_iwa/iwa_00/iwa_00.h index 4c4b54bd6a..3878d02134 100644 --- a/src/world/area_iwa/iwa_00/iwa_00.h +++ b/src/world/area_iwa/iwa_00/iwa_00.h @@ -9,9 +9,6 @@ #include "mapfs/iwa_00_shape.h" #include "mapfs/iwa_00_hit.h" -#include "sprite/npc/MontyMole.h" -#include "sprite/npc/Whacka.h" - enum { NPC_MontyMole_01 = 0, NPC_MontyMole_01_Hole = 1, @@ -22,3 +19,8 @@ enum { }; #define NAMESPACE iwa_00 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_BindSlideTriggers); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_iwa/iwa_00/iwa_00_0_header.c b/src/world/area_iwa/iwa_00/iwa_00_0_header.c new file mode 100644 index 0000000000..1086b69690 --- /dev/null +++ b/src/world/area_iwa/iwa_00/iwa_00_0_header.c @@ -0,0 +1,15 @@ +#include "iwa_00.h" + +EntryList N(Entrances) = { + [iwa_00_ENTRY_0] { 55.0, -5.0, -25.0, 90.0 }, + [iwa_00_ENTRY_1] { 1313.0, 90.0, -40.0, 270.0 }, + [iwa_00_ENTRY_2] { 625.0, -30.0, 259.0, 45.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .background = &gBackgroundImage, + .tattle = { MSG_MapTattle_iwa_00 }, +}; diff --git a/src/world/area_iwa/iwa_00/iwa_00_1_main.c b/src/world/area_iwa/iwa_00/iwa_00_1_main.c index d8d10f1e99..c19dc14aca 100644 --- a/src/world/area_iwa/iwa_00/iwa_00_1_main.c +++ b/src/world/area_iwa/iwa_00/iwa_00_1_main.c @@ -1,24 +1,5 @@ #include "iwa_00.h" -extern EvtScript N(EVS_Main); -extern EvtScript N(EVS_BindSlideTriggers); -extern EvtScript N(EVS_MakeEntities); -extern NpcGroupList N(DefaultNPCs); - -EntryList N(Entrances) = { - [iwa_00_ENTRY_0] { 55.0, -5.0, -25.0, 90.0 }, - [iwa_00_ENTRY_1] { 1313.0, 90.0, -40.0, 270.0 }, - [iwa_00_ENTRY_2] { 625.0, -30.0, 259.0, 45.0 }, -}; - -MapSettings N(settings) = { - .main = &N(EVS_Main), - .entryList = &N(Entrances), - .entryCount = ENTRY_COUNT(N(Entrances)), - .background = &gBackgroundImage, - .tattle = { MSG_MapTattle_iwa_00 }, -}; - EvtScript N(EVS_ExitWalk_iwa_10_1) = EVT_EXIT_WALK(60, iwa_00_ENTRY_0, "iwa_10", iwa_10_ENTRY_1); EvtScript N(EVS_ExitWalk_iwa_01_0) = EVT_EXIT_WALK(60, iwa_00_ENTRY_1, "iwa_01", iwa_01_ENTRY_0); 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 08a5b3dc1c..f02c90efa6 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 @@ -3,14 +3,7 @@ #include "world/common/enemy/complete/MontyMole_GroundAmbush.inc.c" #include "world/common/enemy/complete/MontyMole_WallAmbush.inc.c" - -NpcSettings N(NpcSettings_Whacka_01) = { - .height = 30, - .radius = 26, - .level = 99, - .onHit = &EnemyNpcHit, - .onDefeat = &EnemyNpcDefeat, -}; +#include "world/common/enemy/complete/Whacka.inc.c" #include "world/common/complete/GiveReward.inc.c" @@ -50,7 +43,7 @@ API_CALLABLE(N(func_80240118_90CD58)) { } } -StaticNpc N(NpcData_MontyMole_01)[] = { +StaticNpc N(NpcData_MontyMole_GroundAmbush)[] = { { .id = NPC_MontyMole_01, .settings = &N(NpcSettings_MontyMole_GroundAmbush), @@ -100,7 +93,7 @@ StaticNpc N(NpcData_MontyMole_01)[] = { }, }; -StaticNpc N(NpcData_MontyMole_03)[] = { +StaticNpc N(NpcData_MontyMole_WallAmbush)[] = { { .id = NPC_MontyMole_02, .settings = &N(NpcSettings_MontyMole_WallAmbush), @@ -349,76 +342,34 @@ EvtScript N(EVS_NpcInit_Whacka_02) = { EVT_END }; -StaticNpc N(NpcData_Whacka_01)[] = { +StaticNpc N(NpcData_Whacka)[] = { { .id = NPC_Whacka_01, - .settings = &N(NpcSettings_Whacka_01), + .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, .init = &N(EVS_NpcInit_Whacka_01), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Whacka_Idle, - .walk = ANIM_Whacka_Idle, - .run = ANIM_Whacka_Idle, - .chase = ANIM_Whacka_Idle, - .anim_4 = ANIM_Whacka_Idle, - .anim_5 = ANIM_Whacka_Idle, - .death = ANIM_Whacka_Idle, - .hit = ANIM_Whacka_Idle, - .anim_8 = ANIM_Whacka_Idle, - .anim_9 = ANIM_Whacka_Idle, - .anim_A = ANIM_Whacka_Idle, - .anim_B = ANIM_Whacka_Idle, - .anim_C = ANIM_Whacka_Idle, - .anim_D = ANIM_Whacka_Idle, - .anim_E = ANIM_Whacka_Idle, - .anim_F = ANIM_Whacka_Idle, - }, + .drops = WHACKA_DROPS, + .animations = WHACKA_ANIMS, .tattle = MSG_NpcTattle_Whacka, }, { .id = NPC_Whacka_02, - .settings = &N(NpcSettings_Whacka_01), + .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, .init = &N(EVS_NpcInit_Whacka_02), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Whacka_Idle, - .walk = ANIM_Whacka_Idle, - .run = ANIM_Whacka_Idle, - .chase = ANIM_Whacka_Idle, - .anim_4 = ANIM_Whacka_Idle, - .anim_5 = ANIM_Whacka_Idle, - .death = ANIM_Whacka_Idle, - .hit = ANIM_Whacka_Idle, - .anim_8 = ANIM_Whacka_Idle, - .anim_9 = ANIM_Whacka_Idle, - .anim_A = ANIM_Whacka_Idle, - .anim_B = ANIM_Whacka_Idle, - .anim_C = ANIM_Whacka_Idle, - .anim_D = ANIM_Whacka_Idle, - .anim_E = ANIM_Whacka_Idle, - .anim_F = ANIM_Whacka_Idle, - }, + .drops = WHACKA_DROPS, + .animations = WHACKA_ANIMS, .tattle = MSG_NpcTattle_Whacka, }, }; NpcGroupList N(DefaultNPCs) = { - NPC_GROUP(N(NpcData_MontyMole_01), BTL_IWA_FORMATION_06, BTL_IWA_STAGE_01), - NPC_GROUP(N(NpcData_MontyMole_03), BTL_IWA_FORMATION_07, BTL_IWA_STAGE_01), - NPC_GROUP(N(NpcData_Whacka_01)), + NPC_GROUP(N(NpcData_MontyMole_GroundAmbush), BTL_IWA_FORMATION_06, BTL_IWA_STAGE_01), + NPC_GROUP(N(NpcData_MontyMole_WallAmbush), BTL_IWA_FORMATION_07, BTL_IWA_STAGE_01), + NPC_GROUP(N(NpcData_Whacka)), {} }; diff --git a/src/world/area_iwa/iwa_01/iwa_01.h b/src/world/area_iwa/iwa_01/iwa_01.h index 697a3d0f5a..4392830a76 100644 --- a/src/world/area_iwa/iwa_01/iwa_01.h +++ b/src/world/area_iwa/iwa_01/iwa_01.h @@ -9,9 +9,6 @@ #include "mapfs/iwa_01_shape.h" #include "mapfs/iwa_01_hit.h" -#include "sprite/npc/MontyMole.h" -#include "sprite/npc/Cleft.h" - enum { NPC_MontyMole_01 = 0, NPC_MontyMole_01_Hole = 1, @@ -25,3 +22,10 @@ enum { }; #define NAMESPACE iwa_01 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_MakeSplashes); +extern EvtScript N(EVS_BindSlideTriggers1); +extern EvtScript N(EVS_BindSlideTriggers2); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_iwa/iwa_01/iwa_01_0_header.c b/src/world/area_iwa/iwa_01/iwa_01_0_header.c new file mode 100644 index 0000000000..c258c4cf63 --- /dev/null +++ b/src/world/area_iwa/iwa_01/iwa_01_0_header.c @@ -0,0 +1,16 @@ +#include "iwa_01.h" + +EntryList N(Entrances) = { + [iwa_01_ENTRY_0] { -786.0, 63.0, 323.0, 90.0 }, + [iwa_01_ENTRY_1] { -770.0, 163.0, 45.0, 90.0 }, + [iwa_01_ENTRY_2] { 958.0, 170.0, 173.0, 270.0 }, + [iwa_01_ENTRY_3] { 989.0, 370.0, 235.0, 270.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .background = &gBackgroundImage, + .tattle = { MSG_MapTattle_iwa_01 }, +}; diff --git a/src/world/area_iwa/iwa_01/iwa_01_1_main.c b/src/world/area_iwa/iwa_01/iwa_01_1_main.c index 5b6743d513..8290b2676e 100644 --- a/src/world/area_iwa/iwa_01/iwa_01_1_main.c +++ b/src/world/area_iwa/iwa_01/iwa_01_1_main.c @@ -1,27 +1,5 @@ #include "iwa_01.h" -extern EvtScript N(EVS_Main); -extern EvtScript N(EVS_MakeSplashes); -extern EvtScript N(EVS_BindSlideTriggers1); -extern EvtScript N(EVS_BindSlideTriggers2); -extern EvtScript N(EVS_MakeEntities); -extern NpcGroupList N(DefaultNPCs); - -EntryList N(Entrances) = { - [iwa_01_ENTRY_0] { -786.0, 63.0, 323.0, 90.0 }, - [iwa_01_ENTRY_1] { -770.0, 163.0, 45.0, 90.0 }, - [iwa_01_ENTRY_2] { 958.0, 170.0, 173.0, 270.0 }, - [iwa_01_ENTRY_3] { 989.0, 370.0, 235.0, 270.0 }, -}; - -MapSettings N(settings) = { - .main = &N(EVS_Main), - .entryList = &N(Entrances), - .entryCount = ENTRY_COUNT(N(Entrances)), - .background = &gBackgroundImage, - .tattle = { MSG_MapTattle_iwa_01 }, -}; - EvtScript N(EVS_ExitWalk_iwa_00_1) = EVT_EXIT_WALK(60, iwa_01_ENTRY_0, "iwa_00", iwa_00_ENTRY_1); EvtScript N(EVS_ExitWalk_iwa_03_0) = EVT_EXIT_WALK(60, iwa_01_ENTRY_1, "iwa_03", iwa_03_ENTRY_0); EvtScript N(EVS_ExitWalk_iwa_02_0) = EVT_EXIT_WALK(60, iwa_01_ENTRY_2, "iwa_02", iwa_02_ENTRY_0); diff --git a/src/world/area_iwa/iwa_02/iwa_02.h b/src/world/area_iwa/iwa_02/iwa_02.h index 22506e2590..a9e84ef23d 100644 --- a/src/world/area_iwa/iwa_02/iwa_02.h +++ b/src/world/area_iwa/iwa_02/iwa_02.h @@ -9,10 +9,6 @@ #include "mapfs/iwa_02_shape.h" #include "mapfs/iwa_02_hit.h" -#include "sprite/npc/MontyMole.h" -#include "sprite/npc/Cleft.h" -#include "sprite/npc/Bubulb.h" - enum { NPC_Cleft_01 = 0, NPC_Cleft_02 = 1, @@ -23,3 +19,7 @@ enum { }; #define NAMESPACE iwa_02 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_iwa/iwa_02/iwa_02_0_header.c b/src/world/area_iwa/iwa_02/iwa_02_0_header.c new file mode 100644 index 0000000000..4b364ca416 --- /dev/null +++ b/src/world/area_iwa/iwa_02/iwa_02_0_header.c @@ -0,0 +1,16 @@ +#include "iwa_02.h" + +EntryList N(Entrances) = { + [iwa_02_ENTRY_0] { -172.0, 0.0, 164.0, 90.0 }, + [iwa_02_ENTRY_1] { -194.0, 238.0, 238.0, 90.0 }, + [iwa_02_ENTRY_2] { 1183.0, 288.0, 60.0, 270.0 }, + [iwa_02_ENTRY_3] { 1231.0, 50.0, 243.0, 270.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .background = &gBackgroundImage, + .tattle = { MSG_MapTattle_iwa_02 }, +}; diff --git a/src/world/area_iwa/iwa_02/iwa_02_1_main.c b/src/world/area_iwa/iwa_02/iwa_02_1_main.c index 142228a1ec..b2cd86858d 100644 --- a/src/world/area_iwa/iwa_02/iwa_02_1_main.c +++ b/src/world/area_iwa/iwa_02/iwa_02_1_main.c @@ -1,24 +1,4 @@ #include "iwa_02.h" -#include "entity.h" - -extern EvtScript N(EVS_Main); -extern EvtScript N(EVS_MakeEntities); -extern NpcGroupList N(DefaultNPCs); - -EntryList N(Entrances) = { - [iwa_02_ENTRY_0] { -172.0, 0.0, 164.0, 90.0 }, - [iwa_02_ENTRY_1] { -194.0, 238.0, 238.0, 90.0 }, - [iwa_02_ENTRY_2] { 1183.0, 288.0, 60.0, 270.0 }, - [iwa_02_ENTRY_3] { 1231.0, 50.0, 243.0, 270.0 }, -}; - -MapSettings N(settings) = { - .main = &N(EVS_Main), - .entryList = &N(Entrances), - .entryCount = ENTRY_COUNT(N(Entrances)), - .background = &gBackgroundImage, - .tattle = { MSG_MapTattle_iwa_02 }, -}; EvtScript N(EVS_ExitWalk_iwa_01_2) = EVT_EXIT_WALK(60, iwa_02_ENTRY_0, "iwa_01", iwa_01_ENTRY_2); EvtScript N(EVS_ExitWalk_iwa_01_3) = EVT_EXIT_WALK(60, iwa_02_ENTRY_1, "iwa_01", iwa_01_ENTRY_3); 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 8cb51ad8ba..d0c98dcbfc 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 @@ -3,18 +3,7 @@ #include "world/common/enemy/complete/MontyMole_GroundAmbush.inc.c" #include "world/common/enemy/complete/MontyMole_WallAmbush.inc.c" #include "world/common/enemy/complete/Cleft.inc.c" - -EvtScript N(EVS_NpcAuxAI_Bubulb) = { - EVT_RETURN - EVT_END -}; - -NpcSettings N(NpcSettings_Bubulb) = { - .height = 42, - .radius = 26, - .level = 99, - .otherAI = &N(EVS_NpcAuxAI_Bubulb), -}; +#include "world/common/npc/Bubulb.inc.c" #include "world/common/complete/GiveReward.inc.c" @@ -138,13 +127,13 @@ StaticNpc N(NpcData_MontyMole_01)[] = { }, }; -EvtScript N(EVS_Bulbulb_Conversation) = { - EVT_IF_EQ(AF_IWA_SpokeWithBulbulb, FALSE) +EvtScript N(EVS_Bubulb_Conversation) = { + EVT_IF_EQ(AF_IWA_SpokeWithBubulb, FALSE) EVT_SET(LVar2, LVar0) - EVT_SET(AF_IWA_SpokeWithBulbulb, TRUE) + EVT_SET(AF_IWA_SpokeWithBubulb, TRUE) EVT_ELSE EVT_SET(LVar2, LVar1) - EVT_SET(AF_IWA_SpokeWithBulbulb, FALSE) + EVT_SET(AF_IWA_SpokeWithBubulb, FALSE) EVT_END_IF EVT_CALL(SpeakToPlayer, NPC_Bubulb, ANIM_Bubulb_Purple_Talk, ANIM_Bubulb_Purple_Idle, 0, LVar2) EVT_RETURN @@ -178,7 +167,7 @@ EvtScript N(EVS_NpcInteract_Bubulb) = { EVT_SET(LVar0, MSG_CH2_0025) EVT_SET(LVar1, MSG_CH2_0026) EVT_END_SWITCH - EVT_EXEC_WAIT(N(EVS_Bulbulb_Conversation)) + EVT_EXEC_WAIT(N(EVS_Bubulb_Conversation)) EVT_END_IF EVT_RETURN EVT_END @@ -202,29 +191,8 @@ StaticNpc N(NpcData_Bubulb) = { .yaw = 270, .flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING, .init = &N(EVS_NpcInit_Bubulb), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Bubulb_Purple_Idle, - .walk = ANIM_Bubulb_Purple_Walk, - .run = ANIM_Bubulb_Purple_Walk, - .chase = ANIM_Bubulb_Purple_Idle, - .anim_4 = ANIM_Bubulb_Purple_Idle, - .anim_5 = ANIM_Bubulb_Purple_Idle, - .death = ANIM_Bubulb_Purple_Idle, - .hit = ANIM_Bubulb_Purple_Idle, - .anim_8 = ANIM_Bubulb_Purple_Idle, - .anim_9 = ANIM_Bubulb_Purple_Idle, - .anim_A = ANIM_Bubulb_Purple_Idle, - .anim_B = ANIM_Bubulb_Purple_Idle, - .anim_C = ANIM_Bubulb_Purple_Idle, - .anim_D = ANIM_Bubulb_Purple_Idle, - .anim_E = ANIM_Bubulb_Purple_Idle, - .anim_F = ANIM_Bubulb_Purple_Idle, - }, + .drops = BULBULB_DROPS, + .animations = BULBULB_PURPLE_ANIMS, .tattle = MSG_NpcTattle_IWA_Bubulb_Revealed, }; diff --git a/src/world/area_iwa/iwa_03/iwa_03.h b/src/world/area_iwa/iwa_03/iwa_03.h index a8b029bcdd..f2dfe9b766 100644 --- a/src/world/area_iwa/iwa_03/iwa_03.h +++ b/src/world/area_iwa/iwa_03/iwa_03.h @@ -9,9 +9,6 @@ #include "mapfs/iwa_03_shape.h" #include "mapfs/iwa_03_hit.h" -#include "sprite/npc/MontyMole.h" -#include "sprite/npc/Cleft.h" - enum { NPC_Cleft_01 = 0, NPC_Cleft_02 = 1, @@ -25,3 +22,8 @@ enum { }; #define NAMESPACE iwa_03 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_BindSlideTriggers); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_iwa/iwa_03/iwa_03_0_header.c b/src/world/area_iwa/iwa_03/iwa_03_0_header.c new file mode 100644 index 0000000000..6dde4fb1c2 --- /dev/null +++ b/src/world/area_iwa/iwa_03/iwa_03_0_header.c @@ -0,0 +1,13 @@ +#include "iwa_03.h" + +EntryList N(Entrances) = { + [iwa_03_ENTRY_0] { 14.0, -18.0, 7.0, 270.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .background = &gBackgroundImage, + .tattle = { MSG_MapTattle_iwa_03 }, +}; diff --git a/src/world/area_iwa/iwa_03/iwa_03_1_main.c b/src/world/area_iwa/iwa_03/iwa_03_1_main.c index 7a96991909..709dbf835c 100644 --- a/src/world/area_iwa/iwa_03/iwa_03_1_main.c +++ b/src/world/area_iwa/iwa_03/iwa_03_1_main.c @@ -1,22 +1,5 @@ #include "iwa_03.h" -extern EvtScript N(EVS_Main); -extern EvtScript N(EVS_BindSlideTriggers); -extern EvtScript N(EVS_MakeEntities); -extern NpcGroupList N(DefaultNPCs); - -EntryList N(Entrances) = { - [iwa_03_ENTRY_0] { 14.0, -18.0, 7.0, 270.0 }, -}; - -MapSettings N(settings) = { - .main = &N(EVS_Main), - .entryList = &N(Entrances), - .entryCount = ENTRY_COUNT(N(Entrances)), - .background = &gBackgroundImage, - .tattle = { MSG_MapTattle_iwa_03 }, -}; - EvtScript N(EVS_ExitWalk_iwa_01_1) = EVT_EXIT_WALK(60, iwa_03_ENTRY_0, "iwa_01", iwa_01_ENTRY_1); EvtScript N(EVS_BindExitTriggers) = { diff --git a/src/world/area_iwa/iwa_04/iwa_04.h b/src/world/area_iwa/iwa_04/iwa_04.h index 74a553a43c..08f756b688 100644 --- a/src/world/area_iwa/iwa_04/iwa_04.h +++ b/src/world/area_iwa/iwa_04/iwa_04.h @@ -10,7 +10,6 @@ #include "mapfs/iwa_04_hit.h" #include "sprite/npc/Buzzar.h" -#include "sprite/npc/Cleft.h" enum { NPC_Cleft = 0, @@ -22,3 +21,8 @@ enum { }; #define NAMESPACE iwa_04 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_MakeEntities); +extern EvtScript N(EVS_SetupMusic); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_iwa/iwa_04/iwa_04_0_header.c b/src/world/area_iwa/iwa_04/iwa_04_0_header.c index 7b6a81cce0..a3b8793e65 100644 --- a/src/world/area_iwa/iwa_04/iwa_04_0_header.c +++ b/src/world/area_iwa/iwa_04/iwa_04_0_header.c @@ -1,7 +1,4 @@ #include "iwa_04.h" -#include "entity.h" - -extern EvtScript N(EVS_Main); EntryList N(Entrances) = { [iwa_04_ENTRY_0] { -630.0, 0.0, -49.0, 90.0 }, @@ -15,9 +12,3 @@ MapSettings N(settings) = { .background = &gBackgroundImage, .tattle = { MSG_MapTattle_iwa_04 }, }; - -EvtScript N(EVS_SetupMusic) = { - EVT_CALL(SetMusicTrack, 0, SONG_MT_RUGGED, 0, 8) - EVT_RETURN - EVT_END -}; diff --git a/src/world/area_iwa/iwa_04/iwa_04_1_music.c b/src/world/area_iwa/iwa_04/iwa_04_1_music.c new file mode 100644 index 0000000000..0f2cf132c4 --- /dev/null +++ b/src/world/area_iwa/iwa_04/iwa_04_1_music.c @@ -0,0 +1,7 @@ +#include "iwa_04.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_CALL(SetMusicTrack, 0, SONG_MT_RUGGED, 0, 8) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_iwa/iwa_04/iwa_04_1_main.c b/src/world/area_iwa/iwa_04/iwa_04_2_main.c similarity index 93% rename from src/world/area_iwa/iwa_04/iwa_04_1_main.c rename to src/world/area_iwa/iwa_04/iwa_04_2_main.c index 97c659f456..51fd171605 100644 --- a/src/world/area_iwa/iwa_04/iwa_04_1_main.c +++ b/src/world/area_iwa/iwa_04/iwa_04_2_main.c @@ -1,9 +1,5 @@ #include "iwa_04.h" -extern EvtScript N(EVS_MakeEntities); -extern EvtScript N(EVS_SetupMusic); -extern NpcGroupList N(DefaultNPCs); - EvtScript N(EVS_ExitWalk_iwa_02_2) = EVT_EXIT_WALK(60, iwa_04_ENTRY_0, "iwa_02", iwa_02_ENTRY_2); EvtScript N(EVS_ExitWalk_sbk_99_0) = EVT_EXIT_WALK(60, iwa_04_ENTRY_1, "sbk_99", sbk_99_ENTRY_0); diff --git a/src/world/area_iwa/iwa_04/iwa_04_2_entity.c b/src/world/area_iwa/iwa_04/iwa_04_3_entity.c similarity index 100% rename from src/world/area_iwa/iwa_04/iwa_04_2_entity.c rename to src/world/area_iwa/iwa_04/iwa_04_3_entity.c diff --git a/src/world/area_iwa/iwa_04/iwa_04_3_npc.c b/src/world/area_iwa/iwa_04/iwa_04_4_npc.c similarity index 99% rename from src/world/area_iwa/iwa_04/iwa_04_3_npc.c rename to src/world/area_iwa/iwa_04/iwa_04_4_npc.c index c81301b6d0..a4a18ba6f2 100644 --- a/src/world/area_iwa/iwa_04/iwa_04_3_npc.c +++ b/src/world/area_iwa/iwa_04/iwa_04_4_npc.c @@ -1,7 +1,5 @@ #include "iwa_04.h" -extern EvtScript N(EVS_SetupMusic); - #include "world/common/enemy/complete/Cleft.inc.c" API_CALLABLE(N(func_80241060_91C940)) { diff --git a/src/world/area_iwa/iwa_10/iwa_10.h b/src/world/area_iwa/iwa_10/iwa_10.h index 3468c3207a..52640d4c70 100644 --- a/src/world/area_iwa/iwa_10/iwa_10.h +++ b/src/world/area_iwa/iwa_10/iwa_10.h @@ -10,9 +10,6 @@ #include "mapfs/iwa_10_hit.h" #include "sprite/npc/TrainStationToad.h" -#include "sprite/npc/Toad.h" -#include "sprite/npc/Toadette.h" -#include "sprite/npc/Dryite.h" #include "sprite/npc/WorldParakarry.h" enum { @@ -48,3 +45,19 @@ enum { }; #define NAMESPACE iwa_10 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_InitializeTrainScene); +extern EvtScript N(EVS_ArriveFromToadTown); +extern EvtScript N(EVS_DepartForToadTown); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_PushSong); +extern EvtScript N(EVS_PopSong); +extern EvtScript N(EVS_Scene_MeetParakarry); +extern EvtScript N(EVS_SetupFoliage); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(DefaultNPCs); + +extern EvtScript N(EVS_NpcIdle_Parakarry); +extern StaticNpc N(NpcData_Parakarry); +API_CALLABLE(N(LoadPartyImage)); diff --git a/src/world/area_iwa/iwa_10/iwa_10_0_header.c b/src/world/area_iwa/iwa_10/iwa_10_0_header.c index 6ae6c8e024..ea3d893dbd 100644 --- a/src/world/area_iwa/iwa_10/iwa_10_0_header.c +++ b/src/world/area_iwa/iwa_10/iwa_10_0_header.c @@ -1,7 +1,5 @@ #include "iwa_10.h" -extern EvtScript N(EVS_Main); - EntryList N(Entrances) = { [iwa_10_ENTRY_0] { -1250.0, 30.0, 0.0, 90.0 }, [iwa_10_ENTRY_1] { -445.0, 215.0, -500.0, 270.0 }, @@ -14,25 +12,3 @@ MapSettings N(settings) = { .background = &gBackgroundImage, .tattle = { MSG_MapTattle_iwa_10 }, }; - -EvtScript N(EVS_SetupMusic) = { - EVT_CALL(SetMusicTrack, 0, SONG_MT_RUGGED, 0, 8) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_PushSong) = { - EVT_CALL(StopSound, SOUND_80000009) - EVT_CALL(PushSong, 130, 0) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_PopSong) = { - EVT_CALL(FadeOutMusic, 0, 500) - EVT_WAIT(15) - EVT_CALL(PopSong) - EVT_CALL(PlaySoundAtF, SOUND_80000009, 1, -560, 0, -233) - EVT_RETURN - EVT_END -}; diff --git a/src/world/area_iwa/iwa_10/iwa_10_1_music.c b/src/world/area_iwa/iwa_10/iwa_10_1_music.c new file mode 100644 index 0000000000..b8cc0361be --- /dev/null +++ b/src/world/area_iwa/iwa_10/iwa_10_1_music.c @@ -0,0 +1,23 @@ +#include "iwa_10.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_CALL(SetMusicTrack, 0, SONG_MT_RUGGED, 0, 8) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_PushSong) = { + EVT_CALL(StopSound, SOUND_80000009) + EVT_CALL(PushSong, 130, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_PopSong) = { + EVT_CALL(FadeOutMusic, 0, 500) + EVT_WAIT(15) + EVT_CALL(PopSong) + EVT_CALL(PlaySoundAtF, SOUND_80000009, 1, -560, 0, -233) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_iwa/iwa_10/iwa_10_1_main.c b/src/world/area_iwa/iwa_10/iwa_10_2_main.c similarity index 89% rename from src/world/area_iwa/iwa_10/iwa_10_1_main.c rename to src/world/area_iwa/iwa_10/iwa_10_2_main.c index fb70b7657c..967e36ff96 100644 --- a/src/world/area_iwa/iwa_10/iwa_10_1_main.c +++ b/src/world/area_iwa/iwa_10/iwa_10_2_main.c @@ -1,13 +1,5 @@ #include "iwa_10.h" -extern EvtScript N(EVS_ArriveFromToadTown); -extern EvtScript N(EVS_InitializeTrainScene); -extern EvtScript N(EVS_SetupMusic); -extern EvtScript N(EVS_Scene_MeetParakarry); -extern EvtScript N(EVS_SetupFoliage); -extern EvtScript N(EVS_MakeEntities); -extern NpcGroupList N(DefaultNPCs); - API_CALLABLE(N(GetClockHandAngles)) { if (script->varTable[15] > 720) { script->varTable[15] = 0; diff --git a/src/world/area_iwa/iwa_10/iwa_10_2_npc.c b/src/world/area_iwa/iwa_10/iwa_10_2_npc.c deleted file mode 100644 index 51f8b796b5..0000000000 --- a/src/world/area_iwa/iwa_10/iwa_10_2_npc.c +++ /dev/null @@ -1,426 +0,0 @@ -#include "iwa_10.h" - -extern EvtScript N(EVS_DepartForToadTown); -extern StaticNpc N(NpcData_Parakarry); - -EvtScript N(EVS_NpcAuxAI_TrainStationToad_01) = { - EVT_RETURN - EVT_END -}; - -NpcSettings N(NpcSettings_TrainStationToad_01) = { - .height = 32, - .radius = 24, - .level = 99, - .otherAI = &N(EVS_NpcAuxAI_TrainStationToad_01), -}; - -NpcSettings N(NpcSettings_Toad) = { - .height = 30, - .radius = 24, - .level = 99, -}; - -NpcSettings N(NpcSettings_Unused) = { - .height = 23, - .radius = 19, - .level = 99, -}; - -NpcSettings N(NpcSettings_Dryite) = { - .height = 26, - .radius = 23, - .level = 99, -}; - -#include "world/common/complete/GiveReward.inc.c" - -EvtScript N(EVS_NpcInteract_TrainStationToad_01) = { - EVT_CALL(GetEntryID, LVar0) - EVT_IF_EQ(LVar0, iwa_10_ENTRY_0) - EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_TrainStationToad_White_Talk, ANIM_TrainStationToad_White_Idle, 0, MSG_CH2_0001) - EVT_ELSE - EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_TrainStationToad_White_Talk, ANIM_TrainStationToad_White_Idle, 0, MSG_CH2_0002) - EVT_CALL(ShowChoice, MSG_Choice_000C) - EVT_CALL(EndSpeech, NPC_SELF, ANIM_TrainStationToad_White_Talk, ANIM_TrainStationToad_White_Idle, 0) - EVT_IF_EQ(LVar0, 0) - EVT_EXEC(N(EVS_DepartForToadTown)) - EVT_ELSE - EVT_END_IF - EVT_END_IF - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_NpcInit_TrainStationToad_01) = { - EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_TrainStationToad_01))) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_NpcInit_TrainStationToad_02) = { - EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) - EVT_CALL(GetEntryID, LVar0) - EVT_IF_EQ(LVar0, iwa_10_ENTRY_0) - EVT_CALL(SetNpcPos, NPC_SELF, -425, 70, -20) - EVT_CALL(InterpNpcYaw, NPC_SELF, 90, 0) - EVT_ELSE - EVT_CALL(SetNpcPos, NPC_SELF, -425, 70, -20) - EVT_CALL(InterpNpcYaw, NPC_SELF, 270, 0) - EVT_END_IF - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_NpcInteract_Toad) = { - EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Toad_Red_Talk, ANIM_Toad_Red_Idle, 0, MSG_CH2_0004) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_NpcInit_Toad) = { - EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Toad))) - EVT_IF_GE(GB_StoryProgress, STORY_CH2_ARRIVED_AT_DRY_DRY_OUTPOST) - EVT_CALL(RemoveNpc, NPC_SELF) - EVT_END_IF - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_NpcInteract_ThreeSisters_02) = { - EVT_CALL(SpeakToPlayer, NPC_ThreeSisters_02, ANIM_Toadette_Pink_Talk, ANIM_Toadette_Pink_Idle, 0, MSG_CH2_000B) - EVT_CALL(SpeakToPlayer, NPC_ThreeSisters_03, ANIM_Toadette_Pink_Talk, ANIM_Toadette_Pink_Idle, 0, MSG_CH2_000C) - EVT_CALL(SpeakToPlayer, NPC_ThreeSisters_04, ANIM_Toadette_Pink_Talk, ANIM_Toadette_Pink_Idle, 0, MSG_CH2_000D) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_NpcInit_ThreeSisters_02) = { - EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_ThreeSisters_02))) - EVT_IF_LT(GB_StoryProgress, STORY_CH2_ARRIVED_AT_DRY_DRY_OUTPOST) - EVT_CALL(RemoveNpc, NPC_SELF) - EVT_RETURN - EVT_END_IF - EVT_IF_GE(GB_StoryProgress, STORY_CH2_STAR_SPRIT_DEPARTED) - EVT_CALL(RemoveNpc, NPC_SELF) - EVT_END_IF - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_NpcInteract_Dryite) = { - EVT_SWITCH(GB_StoryProgress) - EVT_CASE_LT(STORY_CH2_STAR_SPRIT_DEPARTED) - EVT_IF_EQ(AF_IWA_SpokeWIthDryite, FALSE) - EVT_SET(LVar0, MSG_CH2_0005) - EVT_SET(AF_IWA_SpokeWIthDryite, TRUE) - EVT_ELSE - EVT_SET(LVar0, MSG_CH2_0006) - EVT_SET(AF_IWA_SpokeWIthDryite, TRUE) - EVT_END_IF - EVT_CASE_LT(STORY_CH5_STAR_SPRIT_DEPARTED) - EVT_SET(LVar0, MSG_CH2_0007) - EVT_CASE_DEFAULT - EVT_SET(LVar0, MSG_CH2_0008) - EVT_END_SWITCH - EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Dryite_Green_Talk, ANIM_Dryite_Green_Idle, 0, LVar0) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_NpcInit_Dryite) = { - EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Dryite))) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_NpcInteract_ThreeSisters_01) = { - EVT_IF_LT(GB_IWA00_Whacka_HitCount, 8) - EVT_SET(LVar0, MSG_CH2_0009) - EVT_ELSE - EVT_SET(LVar0, MSG_CH2_000A) - EVT_END_IF - EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Toadette_Green_Talk, ANIM_Toadette_Green_Idle, 0, LVar0) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_NpcInit_ThreeSisters_01) = { - EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_ThreeSisters_01))) - EVT_RETURN - EVT_END -}; - -StaticNpc N(NpcData_TrainConductorToad)[] = { - { - .id = NPC_TrainStationToad_01, - .settings = &N(NpcSettings_TrainStationToad_01), - .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, - .init = &N(EVS_NpcInit_TrainStationToad_01), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_TrainStationToad_White_Idle, - .walk = ANIM_TrainStationToad_White_Idle, - .run = ANIM_TrainStationToad_White_Idle, - .chase = ANIM_TrainStationToad_White_Idle, - .anim_4 = ANIM_TrainStationToad_White_Idle, - .anim_5 = ANIM_TrainStationToad_White_Idle, - .death = ANIM_TrainStationToad_White_Idle, - .hit = ANIM_TrainStationToad_White_Idle, - .anim_8 = ANIM_TrainStationToad_White_Idle, - .anim_9 = ANIM_TrainStationToad_White_Idle, - .anim_A = ANIM_TrainStationToad_White_Idle, - .anim_B = ANIM_TrainStationToad_White_Idle, - .anim_C = ANIM_TrainStationToad_White_Idle, - .anim_D = ANIM_TrainStationToad_White_Idle, - .anim_E = ANIM_TrainStationToad_White_Idle, - .anim_F = ANIM_TrainStationToad_White_Idle, - }, - .tattle = MSG_NpcTattle_IWA_StationMaster, - }, - { - .id = NPC_TrainStationToad_02, - .settings = &N(NpcSettings_TrainStationToad_01), - .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, - .init = &N(EVS_NpcInit_TrainStationToad_02), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_TrainStationToad_Idle, - .walk = ANIM_TrainStationToad_Walk, - .run = ANIM_TrainStationToad_Idle, - .chase = ANIM_TrainStationToad_Idle, - .anim_4 = ANIM_TrainStationToad_Idle, - .anim_5 = ANIM_TrainStationToad_Idle, - .death = ANIM_TrainStationToad_Idle, - .hit = ANIM_TrainStationToad_Idle, - .anim_8 = ANIM_TrainStationToad_Idle, - .anim_9 = ANIM_TrainStationToad_Idle, - .anim_A = ANIM_TrainStationToad_Idle, - .anim_B = ANIM_TrainStationToad_Idle, - .anim_C = ANIM_TrainStationToad_Idle, - .anim_D = ANIM_TrainStationToad_Idle, - .anim_E = ANIM_TrainStationToad_Idle, - .anim_F = ANIM_TrainStationToad_Idle, - }, - }, -}; - -StaticNpc N(NpcData_Toad) = { - .id = NPC_Toad, - .settings = &N(NpcSettings_Toad), - .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, - .init = &N(EVS_NpcInit_Toad), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Toad_Red_Idle, - .walk = ANIM_Toad_Red_Walk, - .run = ANIM_Toad_Red_Run, - .chase = ANIM_Toad_Red_Run, - .anim_4 = ANIM_Toad_Red_Idle, - .anim_5 = ANIM_Toad_Red_Idle, - .death = ANIM_Toad_Red_Disappointed, - .hit = ANIM_Toad_Red_Disappointed, - .anim_8 = ANIM_Toad_Red_Run, - .anim_9 = ANIM_Toad_Red_Run, - .anim_A = ANIM_Toad_Red_Run, - .anim_B = ANIM_Toad_Red_Run, - .anim_C = ANIM_Toad_Red_Run, - .anim_D = ANIM_Toad_Red_Run, - .anim_E = ANIM_Toad_Red_Run, - .anim_F = ANIM_Toad_Red_Run, - }, - .tattle = MSG_NpcTattle_IWA_TravelAgent, -}; - -StaticNpc N(NpcData_ThreeSisters)[] = { - { - .id = NPC_ThreeSisters_02, - .settings = &N(NpcSettings_Toad), - .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, - .init = &N(EVS_NpcInit_ThreeSisters_02), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Toadette_Pink_Idle, - .walk = ANIM_Toadette_Pink_Walk, - .run = ANIM_Toadette_Pink_Run, - .chase = ANIM_Toadette_Pink_Run, - .anim_4 = ANIM_Toadette_Pink_Idle, - .anim_5 = ANIM_Toadette_Pink_Idle, - .death = ANIM_Toadette_Pink_Disappointed, - .hit = ANIM_Toadette_Pink_Disappointed, - .anim_8 = ANIM_Toadette_Pink_Run, - .anim_9 = ANIM_Toadette_Pink_Run, - .anim_A = ANIM_Toadette_Pink_Run, - .anim_B = ANIM_Toadette_Pink_Run, - .anim_C = ANIM_Toadette_Pink_Run, - .anim_D = ANIM_Toadette_Pink_Run, - .anim_E = ANIM_Toadette_Pink_Run, - .anim_F = ANIM_Toadette_Pink_Run, - }, - .tattle = MSG_NpcTattle_TravelingMaidA, - }, - { - .id = NPC_ThreeSisters_03, - .settings = &N(NpcSettings_Toad), - .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, - .init = &N(EVS_NpcInit_ThreeSisters_02), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Toadette_Pink_Idle, - .walk = ANIM_Toadette_Pink_Walk, - .run = ANIM_Toadette_Pink_Run, - .chase = ANIM_Toadette_Pink_Run, - .anim_4 = ANIM_Toadette_Pink_Idle, - .anim_5 = ANIM_Toadette_Pink_Idle, - .death = ANIM_Toadette_Pink_Disappointed, - .hit = ANIM_Toadette_Pink_Disappointed, - .anim_8 = ANIM_Toadette_Pink_Run, - .anim_9 = ANIM_Toadette_Pink_Run, - .anim_A = ANIM_Toadette_Pink_Run, - .anim_B = ANIM_Toadette_Pink_Run, - .anim_C = ANIM_Toadette_Pink_Run, - .anim_D = ANIM_Toadette_Pink_Run, - .anim_E = ANIM_Toadette_Pink_Run, - .anim_F = ANIM_Toadette_Pink_Run, - }, - .tattle = MSG_NpcTattle_TravelingMaidB, - }, - { - .id = NPC_ThreeSisters_04, - .settings = &N(NpcSettings_Toad), - .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, - .init = &N(EVS_NpcInit_ThreeSisters_02), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Toadette_Pink_Idle, - .walk = ANIM_Toadette_Pink_Walk, - .run = ANIM_Toadette_Pink_Run, - .chase = ANIM_Toadette_Pink_Run, - .anim_4 = ANIM_Toadette_Pink_Idle, - .anim_5 = ANIM_Toadette_Pink_Idle, - .death = ANIM_Toadette_Pink_Disappointed, - .hit = ANIM_Toadette_Pink_Disappointed, - .anim_8 = ANIM_Toadette_Pink_Run, - .anim_9 = ANIM_Toadette_Pink_Run, - .anim_A = ANIM_Toadette_Pink_Run, - .anim_B = ANIM_Toadette_Pink_Run, - .anim_C = ANIM_Toadette_Pink_Run, - .anim_D = ANIM_Toadette_Pink_Run, - .anim_E = ANIM_Toadette_Pink_Run, - .anim_F = ANIM_Toadette_Pink_Run, - }, - .tattle = MSG_NpcTattle_TravelingMaidC, - }, -}; - -StaticNpc N(NpcData_Dryite)[] = { - { - .id = NPC_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, - .init = &N(EVS_NpcInit_Dryite), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Dryite_Green_Idle, - .walk = ANIM_Dryite_Green_Walk, - .run = ANIM_Dryite_Green_Run, - .chase = ANIM_Dryite_Green_Run, - .anim_4 = ANIM_Dryite_Green_Idle, - .anim_5 = ANIM_Dryite_Green_Idle, - .death = ANIM_Dryite_Green_Still, - .hit = ANIM_Dryite_Green_Still, - .anim_8 = ANIM_Dryite_Green_Idle, - .anim_9 = ANIM_Dryite_Green_Idle, - .anim_A = ANIM_Dryite_Green_Idle, - .anim_B = ANIM_Dryite_Green_Idle, - .anim_C = ANIM_Dryite_Green_Idle, - .anim_D = ANIM_Dryite_Green_Idle, - .anim_E = ANIM_Dryite_Green_Idle, - .anim_F = ANIM_Dryite_Green_Idle, - }, - .tattle = MSG_NpcTattle_IWA_StationLoiterer, - }, - { - .id = NPC_ThreeSisters_01, - .settings = &N(NpcSettings_Toad), - .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, - .init = &N(EVS_NpcInit_ThreeSisters_01), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Toadette_Green_Idle, - .walk = ANIM_Toadette_Green_Walk, - .run = ANIM_Toadette_Green_Run, - .chase = ANIM_Toadette_Green_Run, - .anim_4 = ANIM_Toadette_Green_Idle, - .anim_5 = ANIM_Toadette_Green_Idle, - .death = ANIM_Toadette_Green_Disappointed, - .hit = ANIM_Toadette_Green_Disappointed, - .anim_8 = ANIM_Toadette_Green_Run, - .anim_9 = ANIM_Toadette_Green_Run, - .anim_A = ANIM_Toadette_Green_Run, - .anim_B = ANIM_Toadette_Green_Run, - .anim_C = ANIM_Toadette_Green_Run, - .anim_D = ANIM_Toadette_Green_Run, - .anim_E = ANIM_Toadette_Green_Run, - .anim_F = ANIM_Toadette_Green_Run, - }, - .tattle = MSG_NpcTattle_IWA_Conservationist, - }, -}; - -NpcGroupList N(DefaultNPCs) = { - NPC_GROUP(N(NpcData_TrainConductorToad)), - NPC_GROUP(N(NpcData_Toad)), - NPC_GROUP(N(NpcData_ThreeSisters)), - NPC_GROUP(N(NpcData_Dryite)), - NPC_GROUP(N(NpcData_Parakarry)), - {} -}; 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 new file mode 100644 index 0000000000..9f4bede622 --- /dev/null +++ b/src/world/area_iwa/iwa_10/iwa_10_3_npc.c @@ -0,0 +1,233 @@ +#include "iwa_10.h" + +#include "world/common/npc/TrainConductorToad.inc.c" +#include "world/common/npc/Toad_Stationary.inc.c" +#include "world/common/npc/Dryite_Stationary.inc.c" + +#include "world/common/complete/GiveReward.inc.c" + +EvtScript N(EVS_NpcInteract_TrainStationToad_01) = { + EVT_CALL(GetEntryID, LVar0) + EVT_IF_EQ(LVar0, iwa_10_ENTRY_0) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_TrainStationToad_White_Talk, ANIM_TrainStationToad_White_Idle, 0, MSG_CH2_0001) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_TrainStationToad_White_Talk, ANIM_TrainStationToad_White_Idle, 0, MSG_CH2_0002) + EVT_CALL(ShowChoice, MSG_Choice_000C) + EVT_CALL(EndSpeech, NPC_SELF, ANIM_TrainStationToad_White_Talk, ANIM_TrainStationToad_White_Idle, 0) + EVT_IF_EQ(LVar0, 0) + EVT_EXEC(N(EVS_DepartForToadTown)) + EVT_ELSE + EVT_END_IF + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_TrainStationToad_01) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_TrainStationToad_01))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_TrainStationToad_02) = { + EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) + EVT_CALL(GetEntryID, LVar0) + EVT_IF_EQ(LVar0, iwa_10_ENTRY_0) + EVT_CALL(SetNpcPos, NPC_SELF, -425, 70, -20) + EVT_CALL(InterpNpcYaw, NPC_SELF, 90, 0) + EVT_ELSE + EVT_CALL(SetNpcPos, NPC_SELF, -425, 70, -20) + EVT_CALL(InterpNpcYaw, NPC_SELF, 270, 0) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Toad) = { + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Toad_Red_Talk, ANIM_Toad_Red_Idle, 0, MSG_CH2_0004) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Toad) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Toad))) + EVT_IF_GE(GB_StoryProgress, STORY_CH2_ARRIVED_AT_DRY_DRY_OUTPOST) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_ThreeSisters_02) = { + EVT_CALL(SpeakToPlayer, NPC_ThreeSisters_02, ANIM_Toadette_Pink_Talk, ANIM_Toadette_Pink_Idle, 0, MSG_CH2_000B) + EVT_CALL(SpeakToPlayer, NPC_ThreeSisters_03, ANIM_Toadette_Pink_Talk, ANIM_Toadette_Pink_Idle, 0, MSG_CH2_000C) + EVT_CALL(SpeakToPlayer, NPC_ThreeSisters_04, ANIM_Toadette_Pink_Talk, ANIM_Toadette_Pink_Idle, 0, MSG_CH2_000D) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_ThreeSisters_02) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_ThreeSisters_02))) + EVT_IF_LT(GB_StoryProgress, STORY_CH2_ARRIVED_AT_DRY_DRY_OUTPOST) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_RETURN + EVT_END_IF + EVT_IF_GE(GB_StoryProgress, STORY_CH2_STAR_SPRIT_DEPARTED) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Dryite) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH2_STAR_SPRIT_DEPARTED) + EVT_IF_EQ(AF_IWA_SpokeWIthDryite, FALSE) + EVT_SET(LVar0, MSG_CH2_0005) + EVT_SET(AF_IWA_SpokeWIthDryite, TRUE) + EVT_ELSE + EVT_SET(LVar0, MSG_CH2_0006) + EVT_SET(AF_IWA_SpokeWIthDryite, TRUE) + EVT_END_IF + EVT_CASE_LT(STORY_CH5_STAR_SPRIT_DEPARTED) + EVT_SET(LVar0, MSG_CH2_0007) + EVT_CASE_DEFAULT + EVT_SET(LVar0, MSG_CH2_0008) + EVT_END_SWITCH + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Dryite_Green_Talk, ANIM_Dryite_Green_Idle, 0, LVar0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Dryite) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Dryite))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_ThreeSisters_01) = { + EVT_IF_LT(GB_IWA00_Whacka_HitCount, 8) + EVT_SET(LVar0, MSG_CH2_0009) + EVT_ELSE + EVT_SET(LVar0, MSG_CH2_000A) + EVT_END_IF + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Toadette_Green_Talk, ANIM_Toadette_Green_Idle, 0, LVar0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_ThreeSisters_01) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_ThreeSisters_01))) + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_TrainConductorToad)[] = { + { + .id = NPC_TrainStationToad_01, + .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, + .init = &N(EVS_NpcInit_TrainStationToad_01), + .drops = TRAIN_CONDUCTOR_DROPS, + .animations = TRAIN_CONDUCTOR_WHITE_ANIMS, + .tattle = MSG_NpcTattle_IWA_StationMaster, + }, + { + .id = NPC_TrainStationToad_02, + .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, + .init = &N(EVS_NpcInit_TrainStationToad_02), + .drops = TRAIN_CONDUCTOR_DROPS, + .animations = TRAIN_CONDUCTOR_ANIMS, + }, +}; + +StaticNpc N(NpcData_Toad) = { + .id = NPC_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, + .init = &N(EVS_NpcInit_Toad), + .drops = { + .dropFlags = NPC_DROP_FLAGS_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .animations = TOAD_RED_ANIMS, + .tattle = MSG_NpcTattle_IWA_TravelAgent, +}; + +StaticNpc N(NpcData_ThreeSisters)[] = { + { + .id = NPC_ThreeSisters_02, + .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, + .init = &N(EVS_NpcInit_ThreeSisters_02), + .drops = TOADETTE_DROPS, + .animations = TOADETTE_PINK_ANIMS, + .tattle = MSG_NpcTattle_TravelingMaidA, + }, + { + .id = NPC_ThreeSisters_03, + .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, + .init = &N(EVS_NpcInit_ThreeSisters_02), + .drops = TOADETTE_DROPS, + .animations = TOADETTE_PINK_ANIMS, + .tattle = MSG_NpcTattle_TravelingMaidB, + }, + { + .id = NPC_ThreeSisters_04, + .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, + .init = &N(EVS_NpcInit_ThreeSisters_02), + .drops = TOADETTE_DROPS, + .animations = TOADETTE_PINK_ANIMS, + .tattle = MSG_NpcTattle_TravelingMaidC, + }, +}; + +StaticNpc N(NpcData_Dryite)[] = { + { + .id = NPC_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, + .init = &N(EVS_NpcInit_Dryite), + .drops = DRYITE_DROPS, + .animations = DRYITE_GREEN_ANIMS, + .tattle = MSG_NpcTattle_IWA_StationLoiterer, + }, + { + .id = NPC_ThreeSisters_01, + .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, + .init = &N(EVS_NpcInit_ThreeSisters_01), + .drops = TOADETTE_DROPS, + .animations = TOADETTE_GREEN_ANIMS, + .tattle = MSG_NpcTattle_IWA_Conservationist, + }, +}; + +NpcGroupList N(DefaultNPCs) = { + NPC_GROUP(N(NpcData_TrainConductorToad)), + NPC_GROUP(N(NpcData_Toad)), + NPC_GROUP(N(NpcData_ThreeSisters)), + NPC_GROUP(N(NpcData_Dryite)), + NPC_GROUP(N(NpcData_Parakarry)), + {} +}; diff --git a/src/world/area_iwa/iwa_10/iwa_10_3_train.c b/src/world/area_iwa/iwa_10/iwa_10_4_train.c similarity index 100% rename from src/world/area_iwa/iwa_10/iwa_10_3_train.c rename to src/world/area_iwa/iwa_10/iwa_10_4_train.c diff --git a/src/world/area_iwa/iwa_10/iwa_10_4_entity.c b/src/world/area_iwa/iwa_10/iwa_10_5_entity.c similarity index 100% rename from src/world/area_iwa/iwa_10/iwa_10_4_entity.c rename to src/world/area_iwa/iwa_10/iwa_10_5_entity.c diff --git a/src/world/area_iwa/iwa_10/iwa_10_5_parakarry.c b/src/world/area_iwa/iwa_10/iwa_10_6_parakarry.c similarity index 98% rename from src/world/area_iwa/iwa_10/iwa_10_5_parakarry.c rename to src/world/area_iwa/iwa_10/iwa_10_6_parakarry.c index 0c5085d25a..26867d6cf0 100644 --- a/src/world/area_iwa/iwa_10/iwa_10_5_parakarry.c +++ b/src/world/area_iwa/iwa_10/iwa_10_6_parakarry.c @@ -1,11 +1,6 @@ #include "iwa_10.h" #include "effects.h" -extern EvtScript N(EVS_PushSong); -extern EvtScript N(EVS_PopSong); -extern EvtScript N(EVS_NpcIdle_Parakarry); -API_CALLABLE(N(LoadPartyImage)); - NpcSettings N(NpcSettings_Parakarry) = { .height = 35, .radius = 24, diff --git a/src/world/area_iwa/iwa_10/iwa_10_6_new_party.c b/src/world/area_iwa/iwa_10/iwa_10_7_new_party.c similarity index 100% rename from src/world/area_iwa/iwa_10/iwa_10_6_new_party.c rename to src/world/area_iwa/iwa_10/iwa_10_7_new_party.c diff --git a/src/world/area_iwa/iwa_10/iwa_10_7_foliage.c b/src/world/area_iwa/iwa_10/iwa_10_8_foliage.c similarity index 100% rename from src/world/area_iwa/iwa_10/iwa_10_7_foliage.c rename to src/world/area_iwa/iwa_10/iwa_10_8_foliage.c diff --git a/src/world/area_iwa/iwa_11/iwa_11.h b/src/world/area_iwa/iwa_11/iwa_11.h index 35a0e97c2c..617222d0be 100644 --- a/src/world/area_iwa/iwa_11/iwa_11.h +++ b/src/world/area_iwa/iwa_11/iwa_11.h @@ -28,3 +28,11 @@ enum { }; #define NAMESPACE iwa_11 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_InitializeTrainScene); +extern EvtScript N(EVS_TravelToMtRugged); +extern EvtScript N(EVS_TravelToToadTown); +extern EvtScript N(EVS_UpdateSceneryPos); +extern EvtScript N(EVS_SetupMusic); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_iwa/iwa_11/iwa_11_0_header.c b/src/world/area_iwa/iwa_11/iwa_11_0_header.c index cf750fea5d..3c7c55a7cd 100644 --- a/src/world/area_iwa/iwa_11/iwa_11_0_header.c +++ b/src/world/area_iwa/iwa_11/iwa_11_0_header.c @@ -1,7 +1,5 @@ #include "iwa_11.h" -extern EvtScript N(EVS_Main); - EntryList N(Entrances) = { [iwa_11_ENTRY_0] { 0.0, 0.0, 15.0, 90.0 }, [iwa_11_ENTRY_1] { 0.0, 0.0, 15.0, 270.0 }, @@ -13,9 +11,3 @@ MapSettings N(settings) = { .entryCount = ENTRY_COUNT(N(Entrances)), .background = &gBackgroundImage, }; - -EvtScript N(EVS_SetupMusic) = { - EVT_CALL(SetMusicTrack, 0, SONG_RIDING_THE_RAILS, 0, 8) - EVT_RETURN - EVT_END -}; diff --git a/src/world/area_iwa/iwa_11/iwa_11_1_music.c b/src/world/area_iwa/iwa_11/iwa_11_1_music.c new file mode 100644 index 0000000000..a88d9cdc1e --- /dev/null +++ b/src/world/area_iwa/iwa_11/iwa_11_1_music.c @@ -0,0 +1,7 @@ +#include "iwa_11.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_CALL(SetMusicTrack, 0, SONG_RIDING_THE_RAILS, 0, 8) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_iwa/iwa_11/iwa_11_1_main.c b/src/world/area_iwa/iwa_11/iwa_11_2_main.c similarity index 86% rename from src/world/area_iwa/iwa_11/iwa_11_1_main.c rename to src/world/area_iwa/iwa_11/iwa_11_2_main.c index b8af079bcb..eb739fc655 100644 --- a/src/world/area_iwa/iwa_11/iwa_11_1_main.c +++ b/src/world/area_iwa/iwa_11/iwa_11_2_main.c @@ -1,12 +1,5 @@ #include "iwa_11.h" -extern EvtScript N(EVS_InitializeTrainScene); -extern EvtScript N(EVS_TravelToMtRugged); -extern EvtScript N(EVS_TravelToToadTown); -extern EvtScript N(EVS_UpdateSceneryPos); -extern EvtScript N(EVS_SetupMusic); -extern NpcGroupList N(DefaultNPCs); - API_CALLABLE(N(CheckForSkipInput)) { if (gGameStatusPtr->pressedButtons[0] & (BUTTON_A | BUTTON_B)) { return ApiStatus_DONE2; @@ -35,7 +28,7 @@ EvtScript N(EVS_MonitorSceneSkip) = { EvtScript N(EVS_Main) = { EVT_SET(GB_WorldLocation, LOCATION_MT_RUGGED) EVT_CALL(SetSpriteShading, SHADING_NONE) - EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, 30, 16, 4096) + EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, 30, 16, 4096) // uses fov 25 instead of 30 EVT_CALL(SetCamBGColor, CAM_DEFAULT, 0, 0, 0) EVT_CALL(SetCamEnabled, CAM_DEFAULT, TRUE) EVT_CALL(SetCamLeadPlayer, CAM_DEFAULT, FALSE) diff --git a/src/world/area_iwa/iwa_11/iwa_11_2_train.c b/src/world/area_iwa/iwa_11/iwa_11_3_train.c similarity index 100% rename from src/world/area_iwa/iwa_11/iwa_11_2_train.c rename to src/world/area_iwa/iwa_11/iwa_11_3_train.c diff --git a/src/world/area_iwa/iwa_11/iwa_11_3_scenery.c b/src/world/area_iwa/iwa_11/iwa_11_4_scenery.c similarity index 100% rename from src/world/area_iwa/iwa_11/iwa_11_3_scenery.c rename to src/world/area_iwa/iwa_11/iwa_11_4_scenery.c diff --git a/src/world/area_iwa/iwa_11/iwa_11_4_npc.c b/src/world/area_iwa/iwa_11/iwa_11_5_npc.c similarity index 78% rename from src/world/area_iwa/iwa_11/iwa_11_4_npc.c rename to src/world/area_iwa/iwa_11/iwa_11_5_npc.c index 97c28e0c4b..40010aa47c 100644 --- a/src/world/area_iwa/iwa_11/iwa_11_4_npc.c +++ b/src/world/area_iwa/iwa_11/iwa_11_5_npc.c @@ -1,24 +1,8 @@ #include "iwa_11.h" #include "world/common/npc/TrainConductorToad.inc.c" - -NpcSettings N(NpcSettings_Unused1) = { - .height = 30, - .radius = 24, - .level = 99, -}; - -NpcSettings N(NpcSettings_Unused2) = { - .height = 23, - .radius = 19, - .level = 99, -}; - -NpcSettings N(NpcSettings_Unused3) = { - .height = 26, - .radius = 23, - .level = 99, -}; +#include "world/common/npc/Toad_Stationary.inc.c" +#include "world/common/npc/Dryite_Stationary.inc.c" EvtScript N(EVS_NpcInit_TrainConductorToad) = { EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) diff --git a/src/world/area_kmr/kmr.h b/src/world/area_kmr/kmr.h index c28cf6b219..90e723fd6e 100644 --- a/src/world/area_kmr/kmr.h +++ b/src/world/area_kmr/kmr.h @@ -25,6 +25,7 @@ enum { AF_KMR_07 = AreaFlag(7), AF_KMR_08 = AreaFlag(8), AF_KMR_09 = AreaFlag(9), + AF_KMR_0D = AreaFlag(13), }; extern MapSettings kmr_00_settings; @@ -40,9 +41,12 @@ extern MapSettings kmr_11_settings; extern MapSettings kmr_12_settings; extern MapSettings kmr_20_settings; extern MapSettings kmr_21_settings; +s32 kmr_21_map_init(void); extern MapSettings kmr_22_settings; extern MapSettings kmr_23_settings; +s32 kmr_23_map_init(void); extern MapSettings kmr_24_settings; +s32 kmr_24_map_init(void); extern MapSettings kmr_30_settings; #endif 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 7345c95ca9..5b0e4622d8 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 @@ -1,28 +1,7 @@ #include "kmr_00.h" -NpcSettings N(NpcSettings_StarSpirit) = { - .height = 26, - .radius = 24, - .level = 99, -}; - -NpcSettings N(NpcSettings_Unused1) = { - .height = 20, - .radius = 20, - .level = 99, -}; - -NpcSettings N(NpcSettings_Unused2) = { - .height = 22, - .radius = 24, - .level = 99, -}; - -NpcSettings N(NpcSettings_Goombaria) = { - .height = 24, - .radius = 24, - .level = 99, -}; +#include "world/common/npc/StarSpirit.inc.c" +#include "world/common/npc/Goombaria_Stationary.inc.c" // initial delay to start bobbing, ensuring star spirits motions are desync'd from one another s16 N(StarSpiritBobDelays)[] = { @@ -129,37 +108,16 @@ EvtScript N(EVS_NpcInit_Goombaria) = { StaticNpc N(NpcData_Goombaria) = { .id = NPC_Goombaria, - .settings = &N(NpcSettings_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, .init = &N(EVS_NpcInit_Goombaria), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Goombaria_Idle, - .walk = ANIM_Goombaria_Walk, - .run = ANIM_Goombaria_Run, - .chase = ANIM_Goombaria_Run, - .anim_4 = ANIM_Goombaria_Idle, - .anim_5 = ANIM_Goombaria_Idle, - .death = ANIM_Goombaria_Still, - .hit = ANIM_Goombaria_Still, - .anim_8 = ANIM_Goombaria_Run, - .anim_9 = ANIM_Goombaria_Run, - .anim_A = ANIM_Goombaria_Run, - .anim_B = ANIM_Goombaria_Run, - .anim_C = ANIM_Goombaria_Run, - .anim_D = ANIM_Goombaria_Run, - .anim_E = ANIM_Goombaria_Run, - .anim_F = ANIM_Goombaria_Run, - }, + .drops = GOOMBARIA_DROPS, + .animations = GOOMBARIA_ANIMS, }; -StaticNpc N(NpcData_Eldstar)[] = { +StaticNpc N(NpcData_StarSpirits)[] = { { .id = NPC_Eldstar, .settings = &N(NpcSettings_StarSpirit), @@ -167,29 +125,8 @@ StaticNpc N(NpcData_Eldstar)[] = { .yaw = 0, .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, .init = &N(EVS_NpcInit_StarSpirit), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_WorldEldstar_Idle, - .walk = ANIM_WorldEldstar_Idle, - .run = ANIM_WorldEldstar_Idle, - .chase = ANIM_WorldEldstar_Idle, - .anim_4 = ANIM_WorldEldstar_Idle, - .anim_5 = ANIM_WorldEldstar_Idle, - .death = ANIM_WorldEldstar_Idle, - .hit = ANIM_WorldEldstar_Idle, - .anim_8 = ANIM_WorldEldstar_Still, - .anim_9 = ANIM_WorldEldstar_Idle, - .anim_A = ANIM_WorldEldstar_Idle, - .anim_B = ANIM_WorldEldstar_Idle, - .anim_C = ANIM_WorldEldstar_Idle, - .anim_D = ANIM_WorldEldstar_Idle, - .anim_E = ANIM_WorldEldstar_Idle, - .anim_F = ANIM_WorldEldstar_Idle, - }, + .drops = ELDSTAR_DROPS, + .animations = ELDSTAR_ANIMS, }, { .id = NPC_Mamar, @@ -198,29 +135,8 @@ StaticNpc N(NpcData_Eldstar)[] = { .yaw = 0, .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, .init = &N(EVS_NpcInit_StarSpirit), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_WorldMamar_Idle, - .walk = ANIM_WorldMamar_Idle, - .run = ANIM_WorldMamar_Idle, - .chase = ANIM_WorldMamar_Idle, - .anim_4 = ANIM_WorldMamar_Idle, - .anim_5 = ANIM_WorldMamar_Idle, - .death = ANIM_WorldMamar_Idle, - .hit = ANIM_WorldMamar_Idle, - .anim_8 = ANIM_WorldMamar_Still, - .anim_9 = ANIM_WorldMamar_Idle, - .anim_A = ANIM_WorldMamar_Idle, - .anim_B = ANIM_WorldMamar_Idle, - .anim_C = ANIM_WorldMamar_Idle, - .anim_D = ANIM_WorldMamar_Idle, - .anim_E = ANIM_WorldMamar_Idle, - .anim_F = ANIM_WorldMamar_Idle, - }, + .drops = MAMAR_DROPS, + .animations = MAMAR_ANIMS, }, { .id = NPC_Skolar, @@ -229,29 +145,8 @@ StaticNpc N(NpcData_Eldstar)[] = { .yaw = 0, .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, .init = &N(EVS_NpcInit_StarSpirit), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_WorldSkolar_Idle, - .walk = ANIM_WorldSkolar_Idle, - .run = ANIM_WorldSkolar_Idle, - .chase = ANIM_WorldSkolar_Idle, - .anim_4 = ANIM_WorldSkolar_Idle, - .anim_5 = ANIM_WorldSkolar_Idle, - .death = ANIM_WorldSkolar_Idle, - .hit = ANIM_WorldSkolar_Idle, - .anim_8 = ANIM_WorldSkolar_Still, - .anim_9 = ANIM_WorldSkolar_Idle, - .anim_A = ANIM_WorldSkolar_Idle, - .anim_B = ANIM_WorldSkolar_Idle, - .anim_C = ANIM_WorldSkolar_Idle, - .anim_D = ANIM_WorldSkolar_Idle, - .anim_E = ANIM_WorldSkolar_Idle, - .anim_F = ANIM_WorldSkolar_Idle, - }, + .drops = SKOLAR_DROPS, + .animations = SKOLAR_ANIMS, }, { .id = NPC_Muskular, @@ -260,29 +155,8 @@ StaticNpc N(NpcData_Eldstar)[] = { .yaw = 0, .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, .init = &N(EVS_NpcInit_StarSpirit), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_WorldMuskular_Idle, - .walk = ANIM_WorldMuskular_Idle, - .run = ANIM_WorldMuskular_Idle, - .chase = ANIM_WorldMuskular_Idle, - .anim_4 = ANIM_WorldMuskular_Idle, - .anim_5 = ANIM_WorldMuskular_Idle, - .death = ANIM_WorldMuskular_Idle, - .hit = ANIM_WorldMuskular_Idle, - .anim_8 = ANIM_WorldMuskular_Still, - .anim_9 = ANIM_WorldMuskular_Idle, - .anim_A = ANIM_WorldMuskular_Idle, - .anim_B = ANIM_WorldMuskular_Idle, - .anim_C = ANIM_WorldMuskular_Idle, - .anim_D = ANIM_WorldMuskular_Idle, - .anim_E = ANIM_WorldMuskular_Idle, - .anim_F = ANIM_WorldMuskular_Idle, - }, + .drops = MUSKULAR_DROPS, + .animations = MUSKULAR_ANIMS, }, { .id = NPC_Misstar, @@ -291,29 +165,8 @@ StaticNpc N(NpcData_Eldstar)[] = { .yaw = 0, .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, .init = &N(EVS_NpcInit_StarSpirit), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_WorldMisstar_Idle, - .walk = ANIM_WorldMisstar_Idle, - .run = ANIM_WorldMisstar_Idle, - .chase = ANIM_WorldMisstar_Idle, - .anim_4 = ANIM_WorldMisstar_Idle, - .anim_5 = ANIM_WorldMisstar_Idle, - .death = ANIM_WorldMisstar_Idle, - .hit = ANIM_WorldMisstar_Idle, - .anim_8 = ANIM_WorldMisstar_Still, - .anim_9 = ANIM_WorldMisstar_Idle, - .anim_A = ANIM_WorldMisstar_Idle, - .anim_B = ANIM_WorldMisstar_Idle, - .anim_C = ANIM_WorldMisstar_Idle, - .anim_D = ANIM_WorldMisstar_Idle, - .anim_E = ANIM_WorldMisstar_Idle, - .anim_F = ANIM_WorldMisstar_Idle, - }, + .drops = MISSTAR_DROPS, + .animations = MISSTAR_ANIMS, }, { .id = NPC_Klevar, @@ -322,29 +175,8 @@ StaticNpc N(NpcData_Eldstar)[] = { .yaw = 0, .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, .init = &N(EVS_NpcInit_StarSpirit), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_WorldKlevar_Idle, - .walk = ANIM_WorldKlevar_Idle, - .run = ANIM_WorldKlevar_Idle, - .chase = ANIM_WorldKlevar_Idle, - .anim_4 = ANIM_WorldKlevar_Idle, - .anim_5 = ANIM_WorldKlevar_Idle, - .death = ANIM_WorldKlevar_Idle, - .hit = ANIM_WorldKlevar_Idle, - .anim_8 = ANIM_WorldKlevar_Still, - .anim_9 = ANIM_WorldKlevar_Idle, - .anim_A = ANIM_WorldKlevar_Idle, - .anim_B = ANIM_WorldKlevar_Idle, - .anim_C = ANIM_WorldKlevar_Idle, - .anim_D = ANIM_WorldKlevar_Idle, - .anim_E = ANIM_WorldKlevar_Idle, - .anim_F = ANIM_WorldKlevar_Idle, - }, + .drops = KLEVAR_DROPS, + .animations = KLEVAR_ANIMS, }, { .id = NPC_Kalmar, @@ -353,34 +185,13 @@ StaticNpc N(NpcData_Eldstar)[] = { .yaw = 0, .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, .init = &N(EVS_NpcInit_StarSpirit), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_WorldKalmar_Idle, - .walk = ANIM_WorldKalmar_Idle, - .run = ANIM_WorldKalmar_Idle, - .chase = ANIM_WorldKalmar_Idle, - .anim_4 = ANIM_WorldKalmar_Idle, - .anim_5 = ANIM_WorldKalmar_Idle, - .death = ANIM_WorldKalmar_Idle, - .hit = ANIM_WorldKalmar_Idle, - .anim_8 = ANIM_WorldKalmar_Still, - .anim_9 = ANIM_WorldKalmar_Idle, - .anim_A = ANIM_WorldKalmar_Idle, - .anim_B = ANIM_WorldKalmar_Idle, - .anim_C = ANIM_WorldKalmar_Idle, - .anim_D = ANIM_WorldKalmar_Idle, - .anim_E = ANIM_WorldKalmar_Idle, - .anim_F = ANIM_WorldKalmar_Idle, - }, + .drops = KALMAR_DROPS, + .animations = KALMAR_ANIMS, }, }; NpcGroupList N(DefaultNPCs) = { NPC_GROUP(N(NpcData_Goombaria)), - NPC_GROUP(N(NpcData_Eldstar)), + NPC_GROUP(N(NpcData_StarSpirits)), {} }; diff --git a/src/world/area_kmr/kmr_03/kmr_03_5_foliage.c b/src/world/area_kmr/kmr_03/kmr_03_5_foliage.c index e0477887a3..83fa62ee41 100644 --- a/src/world/area_kmr/kmr_03/kmr_03_5_foliage.c +++ b/src/world/area_kmr/kmr_03/kmr_03_5_foliage.c @@ -43,7 +43,7 @@ FoliageVectorList N(Tree1_Effects) = { } }; -EvtScript N(Tree1_CallbackScript) = { +EvtScript N(EVS_Tree1_CallbackScript) = { EVT_IF_EQ(GF_KMR03_Tree1_Mushroom, TRUE) EVT_RETURN EVT_END_IF @@ -66,7 +66,7 @@ ShakeTreeConfig N(ShakeTree_Tree1) = { .leaves = &N(Tree1_LeafModels), .trunk = &N(Tree1_TrunkModels), .vectors = &N(Tree1_Effects), - .callback = &N(Tree1_CallbackScript), + .callback = &N(EVS_Tree1_CallbackScript), }; BombTrigger N(BombPos_Tree1) = { diff --git a/src/world/area_kmr/kmr_05/kmr_05_5_foliage.c b/src/world/area_kmr/kmr_05/kmr_05_5_foliage.c index adc41810f4..9c4afc7024 100644 --- a/src/world/area_kmr/kmr_05/kmr_05_5_foliage.c +++ b/src/world/area_kmr/kmr_05/kmr_05_5_foliage.c @@ -48,7 +48,7 @@ FoliageVectorList N(Tree1_Effects) = { } }; -EvtScript N(Tree1_CallbackScript) = { +EvtScript N(EVS_Tree1_CallbackScript) = { EVT_IF_EQ(GF_KMR05_Tree1_Coin, TRUE) EVT_RETURN EVT_END_IF @@ -71,7 +71,7 @@ ShakeTreeConfig N(ShakeTree_Tree1) = { .leaves = &N(Tree1_LeafModels), .trunk = &N(Tree1_TrunkModels), .vectors = &N(Tree1_Effects), - .callback = &N(Tree1_CallbackScript), + .callback = &N(EVS_Tree1_CallbackScript), }; BombTrigger N(BombPos_Tree1) = { 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 be3df60a24..cf2a13dc6b 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 @@ -1,89 +1,15 @@ #include "kmr_06.h" -#include "world/common/enemy/ai/FlyingAI.inc.c" - -MobileAISettings N(D_80242040_8D3550) = { - .moveSpeed = 1.5f, - .moveTime = 30, - .waitTime = 30, - .alertRadius = 130.0f, - .playerSearchInterval = 1, - .chaseSpeed = 2.5f, - .chaseTurnRate = 180, - .chaseUpdateInterval = 3, - .chaseRadius = 150.0f, - .unk_AI_2C = 1, -}; - -EvtScript N(EVS_NpcAI_SpikedGoomba) = { - EVT_CALL(BasicAI_Main, EVT_PTR(N(D_80242040_8D3550))) - EVT_RETURN - EVT_END -}; - -NpcSettings N(NpcSettings_SpikedGoomba) = { - .height = 23, - .radius = 23, - .level = 6, - .ai = &N(EVS_NpcAI_SpikedGoomba), - .onHit = &EnemyNpcHit, - .onDefeat = &EnemyNpcDefeat, -}; - -f32 N(FlyingAI_JumpVels)[] = { - 4.5, 3.5, 2.6, 2.0, 1.5, 20.0, -}; - -MobileAISettings N(AISettings_Paragoomba) = { - .moveSpeed = 1.6f, - .moveTime = 60, - .waitTime = 30, - .alertRadius = 80.0f, - .playerSearchInterval = 5, - .chaseSpeed = 2.2f, - .chaseTurnRate = 60, - .chaseUpdateInterval = 15, - .chaseRadius = 100.0f, - .unk_AI_2C = 1, -}; - -EvtScript N(EVS_NpcAI_Paragoomba) = { - EVT_CALL(SetSelfVar, 0, 0) - EVT_CALL(SetSelfVar, 5, -500) - EVT_CALL(SetSelfVar, 6, 21) - EVT_CALL(SetSelfVar, 1, 580) - EVT_CALL(N(FlyingAI_Main), EVT_PTR(N(AISettings_Paragoomba))) - EVT_RETURN - EVT_END -}; - -NpcSettings N(NpcSettings_Paragoomba) = { - .height = 20, - .radius = 21, - .level = 6, - .ai = &N(EVS_NpcAI_Paragoomba), - .onHit = &EnemyNpcHit, - .onDefeat = &EnemyNpcDefeat, - .actionFlags = AI_ACTION_02, -}; +#include "world/common/enemy/complete/SpikedGoomba_Wander.inc.c" +#include "world/common/enemy/complete/Paragoomba_Wander.inc.c" StaticNpc N(NpcData_SpikedGoomba) = { .id = NPC_SpikedGoomba, - .settings = &N(NpcSettings_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, - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_MUSHROOM, 10, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 0, - .maxCoinBonus = 1, - }, + .drops = SPIKED_GOOMBA_DROPS, .territory = { .wander = { .isFlying = TRUE, @@ -96,43 +22,16 @@ StaticNpc N(NpcData_SpikedGoomba) = { .detectSize = { 300 }, } }, - .animations = { - .idle = ANIM_SpikedGoomba_Idle, - .walk = ANIM_SpikedGoomba_Walk, - .run = ANIM_SpikedGoomba_Run, - .chase = ANIM_SpikedGoomba_Run, - .anim_4 = ANIM_SpikedGoomba_Idle, - .anim_5 = ANIM_SpikedGoomba_Idle, - .death = ANIM_SpikedGoomba_HurtStill, - .hit = ANIM_SpikedGoomba_HurtStill, - .anim_8 = ANIM_SpikedGoomba_Run, - .anim_9 = ANIM_SpikedGoomba_Run, - .anim_A = ANIM_SpikedGoomba_Run, - .anim_B = ANIM_SpikedGoomba_Run, - .anim_C = ANIM_SpikedGoomba_Run, - .anim_D = ANIM_SpikedGoomba_Run, - .anim_E = ANIM_SpikedGoomba_Run, - .anim_F = ANIM_SpikedGoomba_Run, - }, + .animations = SPIKED_GOOMBA_ANIMS, }; StaticNpc N(NpcData_Paragoomba) = { .id = NPC_Paragoomba, - .settings = &N(NpcSettings_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, - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_MUSHROOM, 10, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 0, - .maxCoinBonus = 1, - }, + .drops = PARAGOOMBA_DROPS, .territory = { .wander = { .isFlying = TRUE, @@ -145,24 +44,7 @@ StaticNpc N(NpcData_Paragoomba) = { .detectSize = { 300 }, } }, - .animations = { - .idle = ANIM_Paragoomba_Idle, - .walk = ANIM_Paragoomba_Walk, - .run = ANIM_Paragoomba_Run, - .chase = ANIM_Paragoomba_Run, - .anim_4 = ANIM_Paragoomba_Idle, - .anim_5 = ANIM_Paragoomba_Idle, - .death = ANIM_Paragoomba_Hurt, - .hit = ANIM_Paragoomba_Hurt, - .anim_8 = ANIM_Paragoomba_Run, - .anim_9 = ANIM_Paragoomba_Run, - .anim_A = ANIM_Paragoomba_Run, - .anim_B = ANIM_Paragoomba_Run, - .anim_C = ANIM_Paragoomba_Run, - .anim_D = ANIM_Paragoomba_Run, - .anim_E = ANIM_Paragoomba_Run, - .anim_F = ANIM_Paragoomba_Run, - }, + .animations = PARAGOOMBA_ANIMS, }; NpcGroupList N(DefaultNPCs) = { diff --git a/src/world/area_kmr/kmr_07/8D3DC0.c b/src/world/area_kmr/kmr_07/8D3DC0.c deleted file mode 100644 index e89e196a6b..0000000000 --- a/src/world/area_kmr/kmr_07/8D3DC0.c +++ /dev/null @@ -1,22 +0,0 @@ -#include "kmr_07.h" - -static char* N(exit_str_0) = "kmr_06"; -static char* N(exit_str_1) = "kmr_12"; - -#include "world/common/enemy/ai/StationaryAI.inc.c" - -// see func_802402BC_8D878C -#ifdef NON_MATCHING -ApiStatus func_80240A6C_8D482C(Evt* script, s32 isInitialCall) { - Entity* entity = get_entity_by_index(evt_get_variable(NULL, MapVar(0))); - - if (entity == NULL) { - return ApiStatus_BLOCK; - } - - play_model_animation(entity->unk_14, 0x1E4); - return ApiStatus_DONE2; -} -#else -INCLUDE_ASM(s32, "world/area_kmr/kmr_07/8D3DC0", func_80240A6C_8D482C); -#endif diff --git a/src/world/area_kmr/kmr_07/kmr_07.h b/src/world/area_kmr/kmr_07/kmr_07.h index 6bc4eb1c24..f9f1e84a41 100644 --- a/src/world/area_kmr/kmr_07/kmr_07.h +++ b/src/world/area_kmr/kmr_07/kmr_07.h @@ -2,9 +2,26 @@ /// @brief Goomba Region - Goomba Road 3 #include "common.h" -#include "../kmr.h" #include "message_ids.h" #include "map.h" + #include "../kmr.h" +#include "mapfs/kmr_07_shape.h" +#include "mapfs/kmr_07_hit.h" + +enum { + NPC_GoombaBros_Red = 0, + NPC_GoombaBros_Blue = 1, +}; + +enum { + MV_SpringEntityIndex = MapVar(0), + MV_GoombaBrosDefeated = MapVar(0), // reused +}; #define NAMESPACE kmr_07 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_kmr/kmr_07/kmr_07_0_header.c b/src/world/area_kmr/kmr_07/kmr_07_0_header.c new file mode 100644 index 0000000000..7a4e1237d5 --- /dev/null +++ b/src/world/area_kmr/kmr_07/kmr_07_0_header.c @@ -0,0 +1,23 @@ +#include "kmr_07.h" + +EntryList N(Entrances) = { + [kmr_07_ENTRY_0] { -22.0, 0.0, 42.0, 90.0 }, + [kmr_07_ENTRY_1] { 551.0, 80.0, -28.0, 245.0 }, + [kmr_07_ENTRY_2] { 0.0, 0.0, 0.0, 0.0 }, + [kmr_07_ENTRY_3] { 0.0, 0.0, 0.0, 0.0 }, + [kmr_07_ENTRY_4] { 0.0, 0.0, 0.0, 0.0 }, + [kmr_07_ENTRY_5] { 0.0, 0.0, 0.0, 0.0 }, + [kmr_07_ENTRY_6] { 0.0, 0.0, 0.0, 0.0 }, + [kmr_07_ENTRY_7] { 0.0, 0.0, 0.0, 0.0 }, + [kmr_07_ENTRY_8] { 0.0, 0.0, 0.0, 0.0 }, + [kmr_07_ENTRY_9] { 0.0, 0.0, 0.0, 0.0 }, + [kmr_07_ENTRY_A] { 480.0, 0.0, 110.0, 90.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .background = &gBackgroundImage, + .tattle = { MSG_MapTattle_kmr_07 }, +}; diff --git a/src/world/area_kmr/kmr_07/kmr_07_1_music.c b/src/world/area_kmr/kmr_07/kmr_07_1_music.c new file mode 100644 index 0000000000..4babcdbee3 --- /dev/null +++ b/src/world/area_kmr/kmr_07/kmr_07_1_music.c @@ -0,0 +1,7 @@ +#include "kmr_07.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_CALL(SetMusicTrack, 0, SONG_PLEASANT_PATH, 0, 8) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_07/kmr_07_2_main.c b/src/world/area_kmr/kmr_07/kmr_07_2_main.c new file mode 100644 index 0000000000..345f5fab42 --- /dev/null +++ b/src/world/area_kmr/kmr_07/kmr_07_2_main.c @@ -0,0 +1,45 @@ +#include "kmr_07.h" + +EvtScript N(EVS_ExitWalk_kmr_06_1) = EVT_EXIT_WALK(60, kmr_07_ENTRY_0, "kmr_06", kmr_06_ENTRY_1); +EvtScript N(EVS_ExitWalk_kmr_12_0) = EVT_EXIT_WALK(60, kmr_07_ENTRY_1, "kmr_12", kmr_12_ENTRY_0); + +EvtScript N(EVS_BindExitTriggers) = { + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_kmr_06_1)), TRIGGER_FLOOR_ABOVE, COLLIDER_deili1, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_kmr_12_0)), TRIGGER_FLOOR_ABOVE, COLLIDER_deili2, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_EnterMap) = { + EVT_CALL(GetLoadType, LVar1) + EVT_IF_EQ(LVar1, LOAD_FROM_FILE_SELECT) + EVT_EXEC(EnterSavePoint) + EVT_EXEC(N(EVS_BindExitTriggers)) + EVT_RETURN + EVT_END_IF + EVT_CALL(GetEntryID, LVar0) + EVT_IF_NE(LVar0, kmr_07_ENTRY_A) + EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers))) + EVT_EXEC(EnterWalk) + EVT_ELSE + EVT_EXEC(EnterPostPipe) + EVT_EXEC(N(EVS_BindExitTriggers)) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_GOOMBA_ROAD) + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SETUP_CAMERA_DEFAULT() + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) + EVT_EXEC_WAIT(N(EVS_MakeEntities)) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_deilit1, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_deilit2, COLLIDER_FLAGS_UPPER_MASK) + EVT_EXEC(N(EVS_EnterMap)) + EVT_WAIT(1) + EVT_RETURN + EVT_END +}; 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 new file mode 100644 index 0000000000..294472ee35 --- /dev/null +++ b/src/world/area_kmr/kmr_07/kmr_07_3_npc.c @@ -0,0 +1,258 @@ +#include "kmr_07.h" + +#include "world/common/enemy/complete/GoombaBros_Stationary.inc.c" + +extern Addr EntityModel_Spring_ReboundAnim; + +API_CALLABLE(N(PlaySpringReboundAnimation)) { + Entity* entity = get_entity_by_index(evt_get_variable(NULL, MV_SpringEntityIndex)); + + if (entity == NULL) { + return ApiStatus_BLOCK; + } + + play_model_animation(entity->virtualModelIndex, (s16*) EntityModel_Spring_ReboundAnim); + return ApiStatus_DONE2; +} + +EvtScript N(EVS_PlayWalkingSounds) = { + EVT_LOOP(0) + EVT_CALL(PlaySoundAtNpc, LVar0, SOUND_3AC, 0) + EVT_WAIT(4) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcIdle_GoombaBros_Red) = { + EVT_LABEL(0) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_WAIT(1) + EVT_IF_LT(LVar0, 210) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(SetMusicTrack, 0, SONG_MINIBOSS_BATTLE, 0, 8) + EVT_SET_GROUP(EVT_GROUP_EF) + EVT_THREAD + EVT_WAIT(3) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_WAIT(1) + EVT_END_THREAD + EVT_CALL(ShowMessageAtScreenPos, MSG_CH0_00BB, 320, 60) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_80022) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 360, 80, 35) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 300) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(15.0), EVT_FLOAT(-7.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(2.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(30) + EVT_THREAD + EVT_CALL(SetNpcSpeed, NPC_GoombaBros_Red, EVT_FLOAT(6.0)) + EVT_CALL(SetNpcAnimation, NPC_GoombaBros_Red, ANIM_GoombaBros_Red_Walk) + EVT_SET(LVar0, 0) + EVT_EXEC_GET_TID(N(EVS_PlayWalkingSounds), LVarA) + EVT_CALL(NpcMoveTo, NPC_GoombaBros_Red, 405, 42, 0) + EVT_KILL_THREAD(LVarA) + EVT_CALL(SetNpcAnimation, NPC_GoombaBros_Red, ANIM_GoombaBros_Red_Idle) + EVT_END_THREAD + EVT_CALL(SetNpcAnimation, NPC_GoombaBros_Blue, ANIM_GoombaBros_Blue_Walk) + EVT_CALL(SetNpcSpeed, NPC_GoombaBros_Blue, EVT_FLOAT(6.0)) + EVT_CALL(SetNpcAnimation, NPC_GoombaBros_Blue, ANIM_GoombaBros_Blue_Walk) + EVT_SET(LVar0, 1) + EVT_EXEC_GET_TID(N(EVS_PlayWalkingSounds), LVarA) + EVT_CALL(NpcMoveTo, NPC_GoombaBros_Blue, 376, 11, 0) + EVT_KILL_THREAD(LVarA) + EVT_CALL(SetNpcAnimation, NPC_GoombaBros_Blue, ANIM_GoombaBros_Blue_Idle) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_WAIT(20) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_1002A) + EVT_CALL(SpeakToPlayer, NPC_GoombaBros_Red, ANIM_GoombaBros_Red_Talk, ANIM_GoombaBros_Red_Idle, 0, MSG_CH0_00BC) + EVT_WAIT(10) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 270, 80, 45) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 450) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(15.0), EVT_FLOAT(-3.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(4.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(SpeakToPlayer, NPC_GoombaBros_Red, ANIM_GoombaBros_Red_Talk, ANIM_GoombaBros_Red_Idle, 0, MSG_CH0_00BD) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_GoombaBros_Blue, ANIM_GoombaBros_Blue_Talk, ANIM_GoombaBros_Blue_Idle, 0, MSG_CH0_00BE) + EVT_WAIT(10) + EVT_THREAD + EVT_WAIT(5) + EVT_CALL(SetNpcJumpscale, NPC_GoombaBros_Blue, EVT_FLOAT(0.8)) + EVT_CALL(SetNpcAnimation, NPC_GoombaBros_Blue, ANIM_GoombaBros_Blue_Walk) + EVT_CALL(PlaySoundAtNpc, NPC_GoombaBros_Blue, SOUND_10F, 0) + EVT_CALL(NpcJump0, NPC_GoombaBros_Blue, 267, 0, 28, 30) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_1002A) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(SetNpcJumpscale, NPC_GoombaBros_Red, EVT_FLOAT(0.8)) + EVT_CALL(SetNpcAnimation, NPC_GoombaBros_Red, ANIM_GoombaBros_Red_Walk) + EVT_CALL(PlaySoundAtNpc, NPC_GoombaBros_Red, SOUND_10F, 0) + EVT_CALL(NpcJump0, NPC_GoombaBros_Red, 276, 0, 55, 30) + EVT_END_THREAD + EVT_WAIT(15) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_WAIT(5) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_CALL(StartBossBattle, SONG_SPECIAL_BATTLE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcDefeat_GoombaBros_Red) = { + EVT_THREAD + EVT_WAIT(5) + EVT_CALL(SetMusicTrack, 0, SONG_GOOMBA_BROS_RETREAT, 0, 8) + EVT_END_THREAD + EVT_CALL(GetBattleOutcome, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(OUTCOME_PLAYER_WON) + EVT_CALL(SetNpcAnimation, NPC_GoombaBros_Red, ANIM_GoombaBros_Red_CryIdle) + EVT_CALL(SetNpcAnimation, NPC_GoombaBros_Blue, ANIM_GoombaBros_Blue_CryIdle) + EVT_CALL(SpeakToPlayer, NPC_GoombaBros_Red, ANIM_GoombaBros_Red_CryTalk, ANIM_GoombaBros_Red_CryIdle, 0, MSG_CH0_00C2) + EVT_WAIT(10) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_WAIT(10) + EVT_THREAD + EVT_CALL(SetNpcJumpscale, NPC_GoombaBros_Blue, EVT_FLOAT(1.8)) + EVT_CALL(SetNpcAnimation, NPC_GoombaBros_Blue, ANIM_GoombaBros_Blue_CryWalk) + EVT_CALL(PlaySoundAtNpc, NPC_GoombaBros_Blue, SOUND_10F, 0) + EVT_CALL(NpcJump0, NPC_GoombaBros_Blue, 307, 25, 49, 20) + EVT_CALL(N(PlaySpringReboundAnimation)) + EVT_CALL(PlaySoundAtNpc, NPC_GoombaBros_Blue, SOUND_2086, 0) + EVT_CALL(NpcJump0, NPC_GoombaBros_Blue, 401, 80, 25, 30) + EVT_WAIT(5) + EVT_CALL(SetNpcSpeed, NPC_GoombaBros_Blue, EVT_FLOAT(6.0)) + EVT_SET(LVar0, 1) + EVT_EXEC_GET_TID(N(EVS_PlayWalkingSounds), LVarA) + EVT_CALL(NpcMoveTo, NPC_GoombaBros_Blue, 616, -47, 0) + EVT_KILL_THREAD(LVarA) + EVT_CALL(SetNpcFlagBits, NPC_GoombaBros_Blue, NPC_FLAG_GRAVITY, FALSE) + EVT_CALL(SetNpcPos, NPC_GoombaBros_Blue, 0, -1000, 0) + EVT_WAIT(1) + EVT_END_THREAD + EVT_WAIT(30) + EVT_CALL(SetNpcJumpscale, NPC_GoombaBros_Red, EVT_FLOAT(1.8)) + EVT_CALL(SetNpcAnimation, NPC_GoombaBros_Red, ANIM_GoombaBros_Red_CryWalk) + EVT_CALL(PlaySoundAtNpc, NPC_GoombaBros_Red, SOUND_10F, 0) + EVT_CALL(NpcJump0, NPC_GoombaBros_Red, 307, 25, 49, 20) + EVT_CALL(N(PlaySpringReboundAnimation)) + EVT_CALL(PlaySoundAtNpc, NPC_GoombaBros_Red, SOUND_2086, 0) + EVT_CALL(NpcJump0, NPC_GoombaBros_Red, 401, 80, 25, 30) + EVT_WAIT(5) + EVT_CALL(SetNpcSpeed, NPC_GoombaBros_Red, EVT_FLOAT(6.0)) + EVT_SET(LVar0, 0) + EVT_EXEC_GET_TID(N(EVS_PlayWalkingSounds), LVarA) + EVT_CALL(NpcMoveTo, NPC_GoombaBros_Red, 616, -47, 0) + EVT_KILL_THREAD(LVarA) + EVT_CALL(SetNpcFlagBits, NPC_GoombaBros_Red, NPC_FLAG_GRAVITY, FALSE) + EVT_CALL(SetNpcPos, NPC_GoombaBros_Red, 0, -1000, 0) + EVT_WAIT(1) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_SET(MV_GoombaBrosDefeated, TRUE) + EVT_SET(GB_StoryProgress, STORY_CH0_DEFEATED_GOOMBA_BROS) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_GoombaBros_Red) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_GoombaBros_Red))) + EVT_CALL(BindNpcDefeat, NPC_SELF, EVT_PTR(N(EVS_NpcDefeat_GoombaBros_Red))) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_100, TRUE) + EVT_SET(MV_GoombaBrosDefeated, FALSE) + EVT_IF_GE(GB_StoryProgress, STORY_CH0_DEFEATED_GOOMBA_BROS) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcIdle_GoombaBros_Blue) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcDefeat_GoombaBros_Blue) = { + EVT_CALL(GetBattleOutcome, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(OUTCOME_PLAYER_WON) + EVT_LABEL(0) + EVT_IF_EQ(MV_GoombaBrosDefeated, FALSE) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_END_IF + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_GoombaBros_Blue) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_GoombaBros_Blue))) + EVT_CALL(BindNpcDefeat, NPC_SELF, EVT_PTR(N(EVS_NpcDefeat_GoombaBros_Blue))) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_100, TRUE) + EVT_IF_GE(GB_StoryProgress, STORY_CH0_DEFEATED_GOOMBA_BROS) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_RETURN + EVT_END_IF + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_GoombaBros_Red)[] = { + { + .id = NPC_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, + .init = &N(EVS_NpcInit_GoombaBros_Red), + .drops = GOOMBA_BROS_DROPS, + .territory = { + .wander = { + .isFlying = FALSE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_CYLINDER, + .centerPos = { 0, 0, 0 }, + .wanderSize = { 0 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { 0, 0, 0 }, + .detectSize = { 0 }, + } + }, + .animations = GOOMBA_BROS_RED_ANIMS, + }, + { + .id = NPC_GoombaBros_Blue, + .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, + .init = &N(EVS_NpcInit_GoombaBros_Blue), + .drops = GOOMBA_BROS_DROPS, + .territory = { + .wander = { + .isFlying = FALSE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_CYLINDER, + .centerPos = { 0, 0, 0 }, + .wanderSize = { 0 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { 0, 0, 0 }, + .detectSize = { 0 }, + } + }, + .animations = GOOMBA_BROS_BLUE_ANIMS, + }, +}; + +NpcGroupList N(DefaultNPCs) = { + NPC_GROUP(N(NpcData_GoombaBros_Red), BTL_KMR_PART_2_FORMATION_00, BTL_KMR_PART_2_STAGE_01), + {} +}; diff --git a/src/world/area_kmr/kmr_07/kmr_07_4_entity.c b/src/world/area_kmr/kmr_07/kmr_07_4_entity.c new file mode 100644 index 0000000000..9e166fee6e --- /dev/null +++ b/src/world/area_kmr/kmr_07/kmr_07_4_entity.c @@ -0,0 +1,10 @@ +#include "kmr_07.h" +#include "entity.h" + +EvtScript N(EVS_MakeEntities) = { + EVT_CALL(MakeEntity, EVT_PTR(Entity_SimpleSpring), 310, 0, 45, 0, 65, MAKE_ENTITY_END) + EVT_SET(MV_SpringEntityIndex, LVar0) + EVT_CALL(MakeEntity, EVT_PTR(Entity_SavePoint), 510, 60, 110, 0, MAKE_ENTITY_END) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_09/8D5E00.c b/src/world/area_kmr/kmr_09/8D5E00.c deleted file mode 100644 index 04fe59cefe..0000000000 --- a/src/world/area_kmr/kmr_09/8D5E00.c +++ /dev/null @@ -1,12 +0,0 @@ -#include "kmr_09.h" - -static char* N(exit_str_0) = "kmr_02"; -static char* N(exit_str_1) = "kmr_06"; - -#include "world/common/enemy/ai/FlyingAI.inc.c" - -ApiStatus func_802414F8_8D72F8(Evt* script, s32 isInitialCall) { - script->varTable[0] = get_enemy_safe(2); - - return ApiStatus_DONE2; -} diff --git a/src/world/area_kmr/kmr_09/kmr_09.h b/src/world/area_kmr/kmr_09/kmr_09.h index 1325cb03ef..04a0503431 100644 --- a/src/world/area_kmr/kmr_09/kmr_09.h +++ b/src/world/area_kmr/kmr_09/kmr_09.h @@ -2,9 +2,24 @@ /// @brief Goomba Region - Goomba Road 1 #include "common.h" -#include "../kmr.h" #include "message_ids.h" #include "map.h" + #include "../kmr.h" +#include "mapfs/kmr_09_shape.h" +#include "mapfs/kmr_09_hit.h" + +enum { + NPC_Goomba_01 = 0, + NPC_Goomba_02 = 1, + NPC_Goomba_Ambush = 2, + NPC_Paragoomba = 3, +}; #define NAMESPACE kmr_09 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_MakeEntities); +extern EvtScript N(EVS_OnReadBillboard); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_kmr/kmr_09/kmr_09_0_header.c b/src/world/area_kmr/kmr_09/kmr_09_0_header.c new file mode 100644 index 0000000000..3ab4c14ada --- /dev/null +++ b/src/world/area_kmr/kmr_09/kmr_09_0_header.c @@ -0,0 +1,14 @@ +#include "kmr_09.h" + +EntryList N(Entrances) = { + [kmr_09_ENTRY_0] { -127.0, 0.0, 24.0, 90.0 }, + [kmr_09_ENTRY_1] { 840.0, 0.0, 24.0, 270.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .background = &gBackgroundImage, + .tattle = { MSG_MapTattle_kmr_09 }, +}; diff --git a/src/world/area_kmr/kmr_09/kmr_09_1_music.c b/src/world/area_kmr/kmr_09/kmr_09_1_music.c new file mode 100644 index 0000000000..30cd941b12 --- /dev/null +++ b/src/world/area_kmr/kmr_09/kmr_09_1_music.c @@ -0,0 +1,7 @@ +#include "kmr_09.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_CALL(SetMusicTrack, 0, SONG_PLEASANT_PATH, 0, 8) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_09/kmr_09_2_main.c b/src/world/area_kmr/kmr_09/kmr_09_2_main.c new file mode 100644 index 0000000000..fa18cb6fc4 --- /dev/null +++ b/src/world/area_kmr/kmr_09/kmr_09_2_main.c @@ -0,0 +1,30 @@ + +#include "kmr_09.h" + +EvtScript N(EVS_ExitWalk_kmr_02_0) = EVT_EXIT_WALK(60, kmr_09_ENTRY_0, "kmr_02", kmr_02_ENTRY_0); +EvtScript N(EVS_ExitWalk_kmr_06_0) = EVT_EXIT_WALK(60, kmr_09_ENTRY_1, "kmr_06", kmr_06_ENTRY_0); + +EvtScript N(EVS_BindExitTriggers) = { + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_kmr_02_0)), TRIGGER_FLOOR_ABOVE, COLLIDER_deili1, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_kmr_06_0)), TRIGGER_FLOOR_ABOVE, COLLIDER_deili2, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_GOOMBA_ROAD) + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SETUP_CAMERA_DEFAULT() + EVT_SET(GF_MAP_GoombaRoad, TRUE) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) + EVT_EXEC_WAIT(N(EVS_MakeEntities)) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_deilit1, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_deilit2, COLLIDER_FLAGS_UPPER_MASK) + EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers))) + EVT_EXEC(EnterWalk) + EVT_WAIT(1) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_OnReadBillboard)), TRIGGER_WALL_PRESS_A, COLLIDER_kan, 1, 0) + EVT_RETURN + EVT_END +}; 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 new file mode 100644 index 0000000000..907571871e --- /dev/null +++ b/src/world/area_kmr/kmr_09/kmr_09_3_npc.c @@ -0,0 +1,181 @@ +#include "kmr_09.h" +#include "entity.h" + +#include "world/common/enemy/complete/Goomba_Wander.inc.c" +#include "world/common/enemy/complete/Paragoomba_Wander.inc.c" + +StaticNpc N(NpcData_Goomba_01) = { + .id = NPC_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, + .drops = GOOMBA_DROPS, + .territory = { + .wander = { + .isFlying = TRUE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_RECT, + .centerPos = { 200, 0, 24 }, + .wanderSize = { 30, 20 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { 200, 0, 24 }, + .detectSize = { 250 }, + } + }, + .animations = GOOMBA_ANIMS, +}; + +StaticNpc N(NpcData_Goomba_02) = { + .id = NPC_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, + .drops = GOOMBA_DROPS, + .territory = { + .wander = { + .isFlying = TRUE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_RECT, + .centerPos = { 250, 0, 35 }, + .wanderSize = { 30, 20 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { 250, 0, 35 }, + .detectSize = { 250 }, + } + }, + .animations = GOOMBA_ANIMS, +}; + +API_CALLABLE(N(GetAmbushEnemy)) { + script->varTablePtr[0] = get_enemy_safe(NPC_Goomba_Ambush); + return ApiStatus_DONE2; +} + +EvtScript N(EVS_OnReadBillboard) = { + EVT_SET_GROUP(EVT_GROUP_00) + EVT_SUSPEND_GROUP(EVT_GROUP_01) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_Sign_BewareOfGoombas, 160, 40) + EVT_RESUME_GROUP(EVT_GROUP_01) + EVT_SET(LocalFlag(0), FALSE) + EVT_CALL(N(GetAmbushEnemy)) + EVT_IF_NE(LVar0, NULL) + EVT_CALL(GetNpcVar, NPC_Goomba_Ambush, 0, LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_CALL(SetNpcVar, NPC_Goomba_Ambush, 0, 1) + EVT_SET(LocalFlag(0), TRUE) + EVT_WAIT(10) + EVT_END_IF + EVT_END_IF + EVT_CALL(DisablePlayerInput, FALSE) + EVT_IF_EQ(LocalFlag(0), TRUE) + EVT_UNBIND + EVT_END_IF + EVT_END + EVT_RETURN //@bug wrong order for END/RETURN +}; + +EvtScript N(EVS_NpcIdle_Goomba_Ambush) = { + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Goomba_Still) + EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAGS_20, 1) + EVT_LABEL(0) + EVT_CALL(GetSelfVar, 0, LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_F8, 0) + EVT_CALL(func_802CFE2C, NPC_SELF, 0x00002000) + EVT_CALL(func_802CFD30, NPC_SELF, 5, 6, 1, 1, 0) + EVT_WAIT(15) + EVT_CALL(func_802CFE2C, NPC_SELF, 0x00002000) + EVT_CALL(func_802CFD30, NPC_SELF, 3, 0, 0, 0, 0) + EVT_THREAD + EVT_WAIT(2) + EVT_SETF(LVar0, EVT_FLOAT(0.0)) + EVT_LOOP(20) + EVT_ADDF(LVar0, EVT_FLOAT(18.0)) + EVT_CALL(SetNpcRotation, NPC_SELF, 0, LVar0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetNpcRotation, NPC_SELF, 0, 0, 0) + EVT_END_THREAD + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_32C, 0) + EVT_CALL(EnableNpcShadow, NPC_SELF, TRUE) + EVT_CALL(SetNpcJumpscale, NPC_SELF, EVT_FLOAT(0.6)) + EVT_CALL(NpcJump0, NPC_SELF, -35, 0, 25, 23) + EVT_CALL(func_802CFD30, NPC_SELF, 0, 0, 0, 0, 0) + EVT_CALL(InterpNpcYaw, NPC_SELF, 90, 0) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_NO_AI, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_GRAVITY, TRUE) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAGS_20, 0) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAGS_40000000, 1) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_OnReadBillboard)), TRIGGER_WALL_PRESS_A, COLLIDER_kan, 1, 0) + EVT_CALL(BindNpcAI, NPC_SELF, EVT_PTR(N(EVS_NpcAI_Goomba_Wander))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Goomba_Ambush) = { + EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Goomba_Ambush))) + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_Goomba_Ambush) = { + .id = NPC_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, + .init = &N(EVS_NpcInit_Goomba_Ambush), + .drops = GOOMBA_DROPS, + .territory = { + .wander = { + .isFlying = TRUE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_RECT, + .centerPos = { -20, 0, 10 }, + .wanderSize = { 30, 20 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { -20, 0, 10 }, + .detectSize = { 250 }, + } + }, + .animations = GOOMBA_ANIMS, +}; + +StaticNpc N(NpcData_Paragoomba) = { + .id = NPC_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, + .drops = PARAGOOMBA_DROPS, + .territory = { + .wander = { + .isFlying = TRUE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_RECT, + .centerPos = { 670, 60, 20 }, + .wanderSize = { 30, 20 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { 670, 60, 20 }, + .detectSize = { 250 }, + } + }, + .animations = PARAGOOMBA_ANIMS, +}; + +NpcGroupList N(DefaultNPCs) = { + NPC_GROUP(N(NpcData_Goomba_01), BTL_KMR_PART_1_FORMATION_01, BTL_KMR_PART_1_STAGE_02), + NPC_GROUP(N(NpcData_Goomba_02), BTL_KMR_PART_1_FORMATION_01, BTL_KMR_PART_1_STAGE_02), + NPC_GROUP(N(NpcData_Goomba_Ambush), BTL_KMR_PART_1_FORMATION_00, BTL_KMR_PART_1_STAGE_02), + NPC_GROUP(N(NpcData_Paragoomba), BTL_KMR_PART_1_FORMATION_08, BTL_KMR_PART_1_STAGE_02), + {} +}; diff --git a/src/world/area_kmr/kmr_09/kmr_09_4_entity.c b/src/world/area_kmr/kmr_09/kmr_09_4_entity.c new file mode 100644 index 0000000000..639805ce51 --- /dev/null +++ b/src/world/area_kmr/kmr_09/kmr_09_4_entity.c @@ -0,0 +1,12 @@ +#include "kmr_09.h" +#include "entity.h" + +EvtScript N(EVS_MakeEntities) = { + EVT_CALL(MakeEntity, EVT_PTR(Entity_YellowBlock), 400, 60, -15, 0, ITEM_COIN, MAKE_ENTITY_END) + EVT_CALL(AssignBlockFlag, GF_KMR09_ItemBlock_CoinA) + EVT_CALL(MakeEntity, EVT_PTR(Entity_BrickBlock), 450, 60, -15, 0, MAKE_ENTITY_END) + EVT_CALL(MakeEntity, EVT_PTR(Entity_YellowBlock), 500, 60, -15, 0, ITEM_COIN, MAKE_ENTITY_END) + EVT_CALL(AssignBlockFlag, GF_KMR09_ItemBlock_CoinB) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_10/8D84D0.c b/src/world/area_kmr/kmr_10/8D84D0.c deleted file mode 100644 index 5c3b9fb077..0000000000 --- a/src/world/area_kmr/kmr_10/8D84D0.c +++ /dev/null @@ -1,32 +0,0 @@ -#include "kmr_10.h" - -static char* N(exit_str_0) = "kmr_11"; -static char* N(exit_str_1) = "mac_00"; - -#include "world/common/todo/StashVars.inc.c" - -#include "world/common/todo/GetItemName.inc.c" - -#include "world/common/todo/SomeItemEntityFunc.inc.c" - -#include "world/common/todo/IsItemBadge.inc.c" - -#ifdef NON_EQUIVALENT -// 0x1E4 is probably a linker constant. We need to learn more about animations, -// play_model_animation, and entity->unk_14 before we can tackle this -ApiStatus func_802402BC_8D878C(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - Entity* entity = get_entity_by_index(evt_get_variable(script, *args++)); - - if (entity == NULL) { - return ApiStatus_BLOCK; - } - - play_model_animation(entity->unk_14, 0x1E4); - return ApiStatus_DONE2; -} -#else -INCLUDE_ASM(s32, "world/area_kmr/kmr_10/8D84D0", func_802402BC_8D878C); -#endif - -#include "world/common/todo/SetEntityPosition.inc.c" diff --git a/src/world/area_kmr/kmr_10/8D88A0.c b/src/world/area_kmr/kmr_10/8D88A0.c deleted file mode 100644 index 8c147d6b4c..0000000000 --- a/src/world/area_kmr/kmr_10/8D88A0.c +++ /dev/null @@ -1,4 +0,0 @@ -#include "kmr_10.h" - -#include "common/foliage.inc.c" - diff --git a/src/world/area_kmr/kmr_10/kmr_10.h b/src/world/area_kmr/kmr_10/kmr_10.h index 9e1318ad1c..93ef4c3b06 100644 --- a/src/world/area_kmr/kmr_10/kmr_10.h +++ b/src/world/area_kmr/kmr_10/kmr_10.h @@ -2,9 +2,28 @@ /// @brief Goomba Region - Toad Town Entrance #include "common.h" -#include "../kmr.h" #include "message_ids.h" #include "map.h" + #include "../kmr.h" +#include "mapfs/kmr_10_shape.h" +#include "mapfs/kmr_10_hit.h" + +#include "sprite/npc/Toad.h" + +enum { + NPC_Dummy = 0, // for controlling the spring as it falls from the tree +}; + +enum { + MV_SpringEntityIndex = MapVar(0), +}; #define NAMESPACE kmr_10 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_SetupFoliage); +extern EvtScript N(EVS_MakeEntities); +extern EvtScript N(EVS_Tree1_CallbackScript); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_kmr/kmr_10/kmr_10_0_header.c b/src/world/area_kmr/kmr_10/kmr_10_0_header.c new file mode 100644 index 0000000000..5c1554eaf7 --- /dev/null +++ b/src/world/area_kmr/kmr_10/kmr_10_0_header.c @@ -0,0 +1,15 @@ +#include "kmr_10.h" + +EntryList N(Entrances) = { + [kmr_10_ENTRY_0] { -840.0, 245.0, 110.0, 90.0 }, + [kmr_10_ENTRY_1] { 724.0, 0.0, 108.0, 270.0 }, + [kmr_10_ENTRY_2] { 720.0, 148.0, 135.0, 270.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .background = &gBackgroundImage, + .tattle = { MSG_MapTattle_kmr_10 }, +}; diff --git a/src/world/area_kmr/kmr_10/kmr_10_1_music.c b/src/world/area_kmr/kmr_10/kmr_10_1_music.c new file mode 100644 index 0000000000..1a6028a76c --- /dev/null +++ b/src/world/area_kmr/kmr_10/kmr_10_1_music.c @@ -0,0 +1,7 @@ +#include "kmr_10.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_CALL(SetMusicTrack, 0, SONG_PLEASANT_PATH, 0, 8) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_10/kmr_10_2_main.c b/src/world/area_kmr/kmr_10/kmr_10_2_main.c new file mode 100644 index 0000000000..56b4fadd4b --- /dev/null +++ b/src/world/area_kmr/kmr_10/kmr_10_2_main.c @@ -0,0 +1,42 @@ +#include "kmr_10.h" + +EvtScript N(EVS_ExitWalk_kmr_11_1) = EVT_EXIT_WALK(60, kmr_10_ENTRY_0, "kmr_11", kmr_11_ENTRY_1); +EvtScript N(EVS_ExitWalk_mac_00_0) = EVT_EXIT_WALK(60, kmr_10_ENTRY_1, "mac_00", mac_00_ENTRY_0); +EvtScript N(EVS_ExitWalk_mac_00_2) = EVT_EXIT_WALK(60, kmr_10_ENTRY_2, "mac_00", mac_00_ENTRY_2); + +EvtScript N(EVS_BindExitTriggers) = { + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_kmr_11_1)), TRIGGER_FLOOR_ABOVE, COLLIDER_deili1, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_mac_00_0)), TRIGGER_FLOOR_ABOVE, COLLIDER_deili2, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_mac_00_2)), TRIGGER_FLOOR_ABOVE, COLLIDER_deili3, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(D_80240828_8D8CF8) = { + EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers))) + EVT_EXEC(EnterWalk) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_GOOMBA_ROAD) + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SETUP_CAMERA_DEFAULT() + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) + EVT_CALL(ClearDefeatedEnemies) + EVT_EXEC_WAIT(N(EVS_MakeEntities)) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_EXEC_WAIT(N(EVS_SetupFoliage)) + EVT_IF_EQ(GB_StoryProgress, STORY_CH0_KAMMY_RETURNED_TO_BOWSER) + EVT_IF_EQ(AF_KMR_0D, FALSE) + EVT_WAIT(50) + EVT_SET(AF_KMR_0D, TRUE) + EVT_END_IF + EVT_END_IF + EVT_EXEC(N(D_80240828_8D8CF8)) + EVT_WAIT(1) + EVT_SET(GF_MAC01_RowfBadgesChosen, FALSE) + EVT_RETURN + EVT_END +}; 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 new file mode 100644 index 0000000000..8b56256f90 --- /dev/null +++ b/src/world/area_kmr/kmr_10/kmr_10_3_npc.c @@ -0,0 +1,25 @@ +#include "kmr_10.h" + +#include "world/common/npc/Toad_Stationary.inc.c" + +EvtScript N(EVS_NpcInit_Toad) = { + EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_Toad) = { + .id = NPC_Dummy, + .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, + .init = &N(EVS_NpcInit_Toad), + .drops = TOAD_DROPS, + .animations = TOAD_RED_ANIMS, +}; + +NpcGroupList N(DefaultNPCs) = { + NPC_GROUP(N(NpcData_Toad)), + {} +}; diff --git a/src/world/area_kmr/kmr_10/kmr_10_4_entity.c b/src/world/area_kmr/kmr_10/kmr_10_4_entity.c new file mode 100644 index 0000000000..9c5b2321df --- /dev/null +++ b/src/world/area_kmr/kmr_10/kmr_10_4_entity.c @@ -0,0 +1,93 @@ +#include "kmr_10.h" +#include "entity.h" + +#include "world/common/atomic/Chest.inc.c" + +#include "world/common/util/PlaySpringReboundAnimation.inc.c" + +API_CALLABLE(N(SetSpringPosition)) { + Bytecode* args = script->ptrReadPos; + s32 entityIndex = evt_get_variable(script, *args++); + s32 x = evt_get_variable(script, *args++); + s32 y = evt_get_variable(script, *args++); + s32 z = evt_get_variable(script, *args++); + Entity* entity = get_entity_by_index(entityIndex); + + entity->position.x = x; + entity->position.y = y; + entity->position.z = z; + return ApiStatus_DONE2; +} + +EvtScript N(EVS_Tree1_CallbackScript) = { + EVT_WAIT(15) + EVT_IF_EQ(GF_KMR10_KnockedSpringOutOfTree, FALSE) + EVT_SET(GF_KMR10_KnockedSpringOutOfTree, TRUE) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(SetNpcPos, NPC_Dummy, 370, 115, -20) + EVT_THREAD + EVT_LOOP(17) + EVT_CALL(GetNpcPos, NPC_Dummy, LVar0, LVar1, LVar2) + EVT_CALL(N(SetSpringPosition), MV_SpringEntityIndex, LVar0, LVar1, LVar2) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetNpcPos, NPC_Dummy, NPC_DISPOSE_LOCATION) + EVT_END_THREAD + EVT_CALL(SetNpcJumpscale, NPC_Dummy, EVT_FLOAT(0.8)) + EVT_CALL(NpcJump0, NPC_Dummy, 370, 10, 20, 15) + EVT_CALL(PlaySoundAt, SOUND_48, 0, 370, 10, 20) + EVT_CALL(PlaySoundAt, SOUND_2086, 0, 370, 10, 20) + EVT_CALL(N(PlaySpringReboundAnimation), MV_SpringEntityIndex) + EVT_IF_EQ(GF_KMR10_UnreadFlagForSpring, FALSE) + EVT_ADD(GF_KMR10_UnreadFlagForSpring, 1) + EVT_END_IF + EVT_CALL(DisablePlayerInput, FALSE) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Spring_TetherCameraToPlayer) = { + EVT_LABEL(0) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(SetCamTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_UseSpring) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(SetPlayerActionState, ACTION_STATE_LAUNCH) + EVT_EXEC_GET_TID(N(EVS_Spring_TetherCameraToPlayer), LVarA) + EVT_CALL(SetPlayerJumpscale, EVT_FLOAT(1.2)) + EVT_CALL(PlayerJump, 456, 142, 99, 30) + EVT_KILL_THREAD(LVarA) + EVT_CALL(SetPlayerActionState, ACTION_STATE_IDLE) + EVT_CALL(DisablePlayerPhysics, FALSE) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_OpenChest_HammerThrow) = EVT_OPEN_CHEST_BADGE(ITEM_HAMMER_THROW, GF_KMR10_Chest_HammerThrow); + +EvtScript N(EVS_MakeEntities) = { + EVT_CALL(MakeEntity, EVT_PTR(Entity_YellowBlock), -190, 75, 220, 0, ITEM_SLEEPY_SHEEP, MAKE_ENTITY_END) + EVT_CALL(AssignBlockFlag, GF_KMR10_ItemBlock_SleepySheep) + EVT_CALL(MakeEntity, EVT_PTR(Entity_Chest), 633, 142, 119, 0, 0, MAKE_ENTITY_END) + EVT_CALL(AssignChestFlag, GF_KMR10_Chest_HammerThrow) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_OpenChest_HammerThrow))) + EVT_IF_EQ(GF_KMR10_KnockedSpringOutOfTree, FALSE) + EVT_CALL(MakeEntity, EVT_PTR(Entity_ScriptSpring), 370, 115, -20, 0, MAKE_ENTITY_END) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_UseSpring))) + EVT_SET(MV_SpringEntityIndex, LVar0) + EVT_ELSE + EVT_CALL(MakeEntity, EVT_PTR(Entity_ScriptSpring), 370, 10, 20, 0, MAKE_ENTITY_END) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_UseSpring))) + EVT_END_IF + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_10/kmr_10_5_foliage.c b/src/world/area_kmr/kmr_10/kmr_10_5_foliage.c new file mode 100644 index 0000000000..5f8b231425 --- /dev/null +++ b/src/world/area_kmr/kmr_10/kmr_10_5_foliage.c @@ -0,0 +1,70 @@ +#include "kmr_10.h" + +#include "common/foliage.inc.c" + +FoliageModelList N(Bush1_BushModels) = { + .count = 1, + .models = { + MODEL_o1056, + } +}; + +FoliageVectorList N(Bush1_Effects) = { + .count = 1, + .vectors = { + { -305.0f, 163.0f, 3.0f }, + } +}; + +SearchBushConfig N(SearchBush_Bush1) = { + .bush = &N(Bush1_BushModels), + .vectors = &N(Bush1_Effects), +}; + +FoliageModelList N(Tree1_LeafModels) = { + .count = 3, + .models = { + MODEL_ha1_1, + MODEL_ha1_2, + MODEL_ha1_3, + } +}; + +FoliageModelList N(Tree1_TrunkModels) = { + .count = 3, + .models = { + MODEL_o1066, + MODEL_miki1_1, + MODEL_miki1_2, + } +}; + +FoliageVectorList N(Tree1_Effects) = { + .count = 2, + .vectors = { + { 291.0f, 103.0f, -27.0f }, + { 368.0f, 96.0f, -18.0f }, + } +}; + +ShakeTreeConfig N(ShakeTree_Tree1) = { + .leaves = &N(Tree1_LeafModels), + .trunk = &N(Tree1_TrunkModels), + .vectors = &N(Tree1_Effects), + .callback = &N(EVS_Tree1_CallbackScript), +}; + +BombTrigger N(BombPos_Tree1) = { + .pos = { 328.0f, 10.0f, -36.0f }, + .radius = 0.0f +}; + +EvtScript N(EVS_SetupFoliage) = { + EVT_SET(LVar0, EVT_PTR(N(SearchBush_Bush1))) + EVT_BIND_TRIGGER(EVT_PTR(N(searchBush)), TRIGGER_WALL_PRESS_A, COLLIDER_k1, 1, 0) + EVT_SET(LVar0, EVT_PTR(N(ShakeTree_Tree1))) + EVT_BIND_TRIGGER(EVT_PTR(N(shakeTree)), TRIGGER_WALL_HAMMER, COLLIDER_ki_a, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(shakeTree)), TRIGGER_POINT_BOMB, EVT_PTR(N(BombPos_Tree1)), 1, 0) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_12/events.c b/src/world/area_kmr/kmr_12/events.c deleted file mode 100644 index 1a2af69cf5..0000000000 --- a/src/world/area_kmr/kmr_12/events.c +++ /dev/null @@ -1,229 +0,0 @@ -#include "kmr_12.h" -#include "message_ids.h" -#include "entity.h" -#include "sprite/npc/Goomba.h" - -EvtScript N(ExitWest) = EVT_EXIT_WALK(60, 0, "kmr_07", 1); -EvtScript N(ExitEast) = EVT_EXIT_WALK(60, 1, "kmr_11", 0); - -EvtScript N(BindExits) = { - EVT_BIND_TRIGGER(N(ExitWest), TRIGGER_FLOOR_ABOVE, 0, 1, 0) // deili1 - EVT_BIND_TRIGGER(N(ExitEast), TRIGGER_FLOOR_ABOVE, 3, 1, 0) // deili2 - EVT_RETURN - EVT_END -}; - -EvtScript N(main) = { - EVT_SET(GB_WorldLocation, LOCATION_GOOMBA_ROAD) - EVT_CALL(SetSpriteShading, -1) - EVT_CALL(SetCamPerspective, 0, 3, 25, 16, 4096) - EVT_CALL(SetCamBGColor, 0, 0, 0, 0) - EVT_CALL(SetCamEnabled, 0, 1) - EVT_CALL(MakeNpcs, 0, EVT_PTR(N(npcGroupList))) - EVT_EXEC_WAIT(N(MakeEntities)) - EVT_EXEC(N(PlayMusic)) - EVT_SET(LVar0, EVT_PTR(N(BindExits))) - EVT_EXEC(EnterWalk) - EVT_WAIT(1) - EVT_BIND_TRIGGER(N(ReadWestSign), TRIGGER_WALL_PRESS_A, 10, 1, 0) - EVT_RETURN - EVT_END -}; - -MobileAISettings N(goombaAISettings) = { - .moveSpeed = 1.5f, - .moveTime = 30, - .waitTime = 30, - .alertRadius = 130.0f, - .alertOffsetDist = 0.0f, - .playerSearchInterval = 1, - .chaseSpeed = 2.5f, - .chaseTurnRate= 180, - .chaseUpdateInterval = 3, - .chaseRadius = 150.0f, - .chaseOffsetDist = 0.0f, - .unk_AI_2C = 1, -}; - -EvtScript kmr_12_GoombaAI = { - EVT_CALL(BasicAI_Main, EVT_PTR(N(goombaAISettings))) - EVT_RETURN - EVT_END -}; - -NpcSettings N(goombaNpcSettings) = { - .height = 20, - .radius = 23, - .ai = &N(GoombaAI), - .onHit = &EnemyNpcHit, - .onDefeat = &EnemyNpcDefeat, - .level = 5, -}; - -/// @bug Never returns -EvtScript N(ReadWestSign) = { - EVT_SET_GROUP(EVT_GROUP_00) - - // "Eat a Mushroom to regain your energy!" - EVT_SUSPEND_GROUP(1) - EVT_CALL(DisablePlayerInput, TRUE) - EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_Sign_EatMushroomsTrap, 160, 40) - EVT_RESUME_GROUP(1) - - EVT_SET(LocalFlag(0), FALSE) - EVT_CALL(GetGoomba) - EVT_IF_NE(LVar0, FALSE) - EVT_CALL(GetNpcVar, NPC_GOOMBA, 0, LVar0) - EVT_IF_EQ(LVar0, FALSE) - // Trigger Goomba to peel off - EVT_CALL(SetNpcVar, NPC_GOOMBA, 0, TRUE) - EVT_SET(LocalFlag(0), TRUE) - EVT_WAIT(10) - EVT_END_IF - EVT_END_IF - EVT_CALL(DisablePlayerInput, FALSE) - EVT_IF_EQ(LocalFlag(0), TRUE) - EVT_UNBIND - EVT_END_IF - EVT_END - EVT_RETURN -}; - -EvtScript N(GoombaIdle) = { - EVT_WAIT(1) - - EVT_CALL(SetSelfVar, 0, FALSE) - EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Goomba_FakeMushroom) // TODO: work out why palette 0 is used here - EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) - EVT_CALL(SetSelfEnemyFlagBits, NPC_FLAG_NO_AI, TRUE) - - // Wait until read_sign sets NPC var 0 - EVT_LABEL(0) - EVT_CALL(GetSelfVar, 0, LVar0) - EVT_WAIT(1) - EVT_IF_EQ(LVar0, FALSE) - EVT_GOTO(0) - EVT_END_IF - - // Peel and jump off the sign - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40000 | NPC_FLAG_200000, TRUE) - EVT_WAIT(3) - EVT_SETF(LVar0, EVT_FLOAT(0.0)) - EVT_LOOP(9) - EVT_ADDF(LVar0, EVT_FLOAT(10.0)) - EVT_CALL(SetNpcRotation, NPC_SELF, 0, LVar0, 0) - EVT_WAIT(1) - EVT_END_LOOP - EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Goomba_Still) - EVT_LOOP(9) - EVT_ADDF(LVar0, EVT_FLOAT(10.0)) - EVT_CALL(SetNpcRotation, NPC_SELF, 0, LVar0, 0) - EVT_WAIT(1) - EVT_END_LOOP - EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Goomba_Dizzy) - EVT_WAIT(20) - EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Goomba_Idle) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, 0xF8, 0) - EVT_CALL(func_802CFE2C, NPC_SELF, 8192) - EVT_CALL(func_802CFD30, NPC_SELF, 5, 6, 1, 1, 0) - EVT_WAIT(12) - EVT_WAIT(5) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, 0x32C, 0) - EVT_CALL(EnableNpcShadow, NPC_SELF, TRUE) - EVT_CALL(SetNpcJumpscale, NPC_SELF, EVT_FLOAT(0.6)) - EVT_CALL(NpcJump0, NPC_SELF, -35, 0, 30, 23) - EVT_CALL(func_802CFD30, NPC_SELF, 0, 0, 0, 0, 0) - EVT_CALL(InterpNpcYaw, NPC_SELF, 90, 0) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40000 | NPC_FLAG_200000, FALSE) - EVT_CALL(SetSelfEnemyFlagBits, NPC_FLAG_NO_AI, FALSE) - EVT_CALL(SetSelfEnemyFlagBits, NPC_FLAG_NO_ANIMS_LOADED, TRUE) - - // We're done jumping off; the player can read the sign again - EVT_BIND_TRIGGER(N(ReadWestSign), TRIGGER_WALL_PRESS_A, 10, 1, 0) - - // Behave like a normal enemy from now on - EVT_CALL(BindNpcAI, NPC_SELF, EVT_PTR(N(GoombaAI))) - EVT_RETURN - EVT_END -}; - -EvtScript N(GoombaInit) = { - EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(GoombaIdle))) - EVT_RETURN - EVT_END -}; - -StaticNpc N(goombaNpc) = { - .id = NPC_GOOMBA, - .settings = &N(goombaNpcSettings), - .pos = { -33.0f, 30.0f, -25.0f }, - .flags = 0x00000C00, - .init = &N(GoombaInit), - .yaw = 90, - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .itemDropChance = 5, - .itemDrops = { { ITEM_MUSHROOM, 10 } }, - .heartDrops = GENEROUS_WHEN_LOW_HEART_DROPS(2), - .flowerDrops = GENEROUS_WHEN_LOW_FLOWER_DROPS(2), - }, - .territory = { .temp = { - // Wander - /* center x, y, z */ -33, 0, 30, - /* size x, z */ 40, 20, - /* speed */ NO_OVERRIDE_MOVEMENT_SPEED, - /* box? */ TRUE, - - // Detect - /* center x, y, z */ 200, 0, 0, - /* size x, z */ 400, 60, - /* box? */ TRUE, - - /* flying? */ TRUE, - }}, - .animations = { - ANIM_Goomba_Idle, - ANIM_Goomba_Walk, - ANIM_Goomba_Run, - ANIM_Goomba_Run, - ANIM_Goomba_Idle, - ANIM_Goomba_Idle, - ANIM_Goomba_Hurt, - ANIM_Goomba_Hurt, - ANIM_Goomba_Run, - ANIM_Goomba_Run, - ANIM_Goomba_Run, - ANIM_Goomba_Run, - ANIM_Goomba_Run, - ANIM_Goomba_Run, - ANIM_Goomba_Run, - ANIM_Goomba_Run, - }, -}; - -NpcGroupList N(npcGroupList) = { - NPC_GROUP(N(goombaNpc), 0x0001, 0x02), - {}, -}; - -EvtScript N(ReadEastSign) = { - EVT_CALL(IsStartingConversation, LVar0) - EVT_IF_EQ(LVar0, 1) - EVT_RETURN - EVT_END_IF - EVT_SET_GROUP(EVT_GROUP_00) - EVT_CALL(SetTimeFreezeMode, 1) - EVT_CALL(DisablePlayerInput, TRUE) - EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_Sign_GoombaKingsFortress, 160, 40) - EVT_CALL(DisablePlayerInput, FALSE) - EVT_CALL(SetTimeFreezeMode, 0) - EVT_RETURN - EVT_END -}; - -EvtScript N(MakeEntities) = { - EVT_CALL(MakeEntity, EVT_PTR(Entity_Signpost), 436, 0, -42, 0, MAKE_ENTITY_END) - EVT_CALL(AssignScript, EVT_PTR(N(ReadEastSign))) - EVT_RETURN - EVT_END -}; diff --git a/src/world/area_kmr/kmr_12/header.c b/src/world/area_kmr/kmr_12/header.c deleted file mode 100644 index 6e6617ed3b..0000000000 --- a/src/world/area_kmr/kmr_12/header.c +++ /dev/null @@ -1,26 +0,0 @@ -#include "kmr_12.h" -#include "message_ids.h" - -EntryList N(entryList) = { - { -126.0f, 0.0f, 12.0f, 90.0f }, // west, towards Red/Blue Goomba miniboss room - { 471.0f, 0.0f, 12.0f, 270.0f }, // east, towards Goomba King's Fortress -}; - -MapSettings N(settings) = { - .main = &N(main), - .entryList = &N(entryList), - .entryCount = ENTRY_COUNT(N(entryList)), - .background = &gBackgroundImage, - .tattle = { MSG_MapTattle_kmr_12 }, -}; - -EvtScript N(PlayMusic) = { - EVT_CALL(SetMusicTrack, 0, SONG_PLEASANT_PATH, 0, 8) - EVT_RETURN - EVT_END -}; - -ApiStatus GetGoomba(Evt* script, s32 isInitialCall) { - script->varTablePtr[0] = get_enemy_safe(NPC_GOOMBA); - return ApiStatus_DONE2; -} diff --git a/src/world/area_kmr/kmr_12/kmr_12.h b/src/world/area_kmr/kmr_12/kmr_12.h index d4350f2d79..26b935e573 100644 --- a/src/world/area_kmr/kmr_12/kmr_12.h +++ b/src/world/area_kmr/kmr_12/kmr_12.h @@ -2,20 +2,23 @@ /// @brief Goomba Region - Goomba Road 4 #include "common.h" -#include "../kmr.h" #include "message_ids.h" #include "map.h" + #include "../kmr.h" +#include "mapfs/kmr_12_shape.h" +#include "mapfs/kmr_12_hit.h" + +#include "sprite/npc/Goomba.h" + +enum { + NPC_Goomba_Ambush = 0, +}; #define NAMESPACE kmr_12 -#define NPC_GOOMBA 0 - -#define GetGoomba N(GetGoomba) -ApiStatus GetGoomba(Evt* script, s32 isInitialCall); - -extern EvtScript N(main); -extern EvtScript N(PlayMusic); -extern EvtScript N(MakeEntities); -extern EvtScript N(ReadWestSign); -extern NpcGroupList N(npcGroupList); +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_OnReadBillboard); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_kmr/kmr_12/kmr_12_0_header.c b/src/world/area_kmr/kmr_12/kmr_12_0_header.c new file mode 100644 index 0000000000..2416f91683 --- /dev/null +++ b/src/world/area_kmr/kmr_12/kmr_12_0_header.c @@ -0,0 +1,14 @@ +#include "kmr_12.h" + +EntryList N(Entrances) = { + [kmr_12_ENTRY_0] { -126.0, 0.0, 12.0, 90.0 }, + [kmr_12_ENTRY_1] { 471.0, 0.0, 12.0, 270.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .background = &gBackgroundImage, + .tattle = { MSG_MapTattle_kmr_12 }, +}; diff --git a/src/world/area_kmr/kmr_12/kmr_12_1_music.c b/src/world/area_kmr/kmr_12/kmr_12_1_music.c new file mode 100644 index 0000000000..c0467b83f0 --- /dev/null +++ b/src/world/area_kmr/kmr_12/kmr_12_1_music.c @@ -0,0 +1,7 @@ +#include "kmr_12.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_CALL(SetMusicTrack, 0, SONG_PLEASANT_PATH, 0, 8) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_12/kmr_12_2_main.c b/src/world/area_kmr/kmr_12/kmr_12_2_main.c new file mode 100644 index 0000000000..cae39d9689 --- /dev/null +++ b/src/world/area_kmr/kmr_12/kmr_12_2_main.c @@ -0,0 +1,26 @@ +#include "kmr_12.h" + +EvtScript N(EVS_ExitWalk_kmr_07_1) = EVT_EXIT_WALK(60, kmr_12_ENTRY_0, "kmr_07", kmr_07_ENTRY_1); +EvtScript N(EVS_ExitWalk_kmr_11_0) = EVT_EXIT_WALK(60, kmr_12_ENTRY_1, "kmr_11", kmr_11_ENTRY_0); + +EvtScript N(EVS_BindExitTriggers) = { + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_kmr_07_1)), TRIGGER_FLOOR_ABOVE, COLLIDER_deili1, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_kmr_11_0)), TRIGGER_FLOOR_ABOVE, COLLIDER_deili2, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_GOOMBA_ROAD) + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SETUP_CAMERA_DEFAULT() + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) + EVT_EXEC_WAIT(N(EVS_MakeEntities)) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers))) + EVT_EXEC(EnterWalk) + EVT_WAIT(1) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_OnReadBillboard)), TRIGGER_WALL_PRESS_A, COLLIDER_o78, 1, 0) + EVT_RETURN + EVT_END +}; 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 new file mode 100644 index 0000000000..a3ce9d799c --- /dev/null +++ b/src/world/area_kmr/kmr_12/kmr_12_3_npc.c @@ -0,0 +1,116 @@ +#include "kmr_12.h" +#include "entity.h" + +#include "world/common/enemy/complete/Goomba_Wander.inc.c" + +API_CALLABLE(N(GetAmbushEnemy)) { + script->varTablePtr[0] = get_enemy_safe(NPC_Goomba_Ambush); + return ApiStatus_DONE2; +} + +EvtScript N(EVS_OnReadBillboard) = { + EVT_SET_GROUP(EVT_GROUP_00) + EVT_SUSPEND_GROUP(EVT_GROUP_01) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_Sign_EatMushroomsTrap, 160, 40) + EVT_RESUME_GROUP(EVT_GROUP_01) + EVT_SET(LocalFlag(0), FALSE) + EVT_CALL(N(GetAmbushEnemy)) + EVT_IF_NE(LVar0, NULL) + EVT_CALL(GetNpcVar, NPC_Goomba_Ambush, 0, LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_CALL(SetNpcVar, NPC_Goomba_Ambush, 0, 1) + EVT_SET(LocalFlag(0), TRUE) + EVT_WAIT(10) + EVT_END_IF + EVT_END_IF + EVT_CALL(DisablePlayerInput, FALSE) + EVT_IF_EQ(LocalFlag(0), TRUE) + EVT_UNBIND + EVT_END_IF + EVT_END + EVT_RETURN //@bug wrong order for END/RETURN +}; + +EvtScript N(EVS_NpcIdle_Goomba) = { + EVT_WAIT(1) + EVT_CALL(SetSelfVar, 0, 0) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Goomba_FakeMushroom) + EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAGS_20, 1) + EVT_LABEL(0) + EVT_CALL(GetSelfVar, 0, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 0) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40000 | NPC_FLAG_200000, TRUE) + EVT_WAIT(3) + EVT_SETF(LVar0, EVT_FLOAT(0.0)) + EVT_LOOP(9) + EVT_ADDF(LVar0, EVT_FLOAT(10.0)) + EVT_CALL(SetNpcRotation, NPC_SELF, 0, LVar0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Goomba_Still) + EVT_LOOP(9) + EVT_ADDF(LVar0, EVT_FLOAT(10.0)) + EVT_CALL(SetNpcRotation, NPC_SELF, 0, LVar0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Goomba_Dizzy) + EVT_WAIT(20) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Goomba_Idle) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_F8, 0) + EVT_CALL(func_802CFE2C, NPC_SELF, 0x00002000) + EVT_CALL(func_802CFD30, NPC_SELF, 5, 6, 1, 1, 0) + EVT_WAIT(12) + EVT_WAIT(5) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_32C, 0) + EVT_CALL(EnableNpcShadow, NPC_SELF, TRUE) + EVT_CALL(SetNpcJumpscale, NPC_SELF, EVT_FLOAT(0.6)) + EVT_CALL(NpcJump0, NPC_SELF, -35, 0, 30, 23) + EVT_CALL(func_802CFD30, NPC_SELF, 0, 0, 0, 0, 0) + EVT_CALL(InterpNpcYaw, NPC_SELF, 90, 0) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40000 | NPC_FLAG_200000, FALSE) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAGS_20, 0) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAGS_40000000, 1) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_OnReadBillboard)), TRIGGER_WALL_PRESS_A, COLLIDER_o78, 1, 0) + EVT_CALL(BindNpcAI, NPC_SELF, EVT_PTR(N(EVS_NpcAI_Goomba_Wander))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Goomba) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Goomba))) + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_Goomba) = { + .id = NPC_Goomba_Ambush, + .settings = &N(NpcSettings_Goomba_Wander), + .pos = { -33.0f, 30.0f, -25.0f }, + .yaw = 90, + .flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING, + .init = &N(EVS_NpcInit_Goomba), + .drops = GOOMBA_DROPS, + .territory = { + .wander = { + .isFlying = TRUE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_RECT, + .centerPos = { -33, 0, 30 }, + .wanderSize = { 40, 20 }, + .detectShape = SHAPE_RECT, + .detectPos = { 200, 0, 0 }, + .detectSize = { 400, 60 }, + } + }, + .animations = GOOMBA_ANIMS, +}; + +NpcGroupList N(DefaultNPCs) = { + NPC_GROUP(N(NpcData_Goomba), BTL_KMR_PART_1_FORMATION_01, BTL_KMR_PART_1_STAGE_02), + {} +}; diff --git a/src/world/area_kmr/kmr_12/kmr_12_4_entity.c b/src/world/area_kmr/kmr_12/kmr_12_4_entity.c new file mode 100644 index 0000000000..4514cf7d51 --- /dev/null +++ b/src/world/area_kmr/kmr_12/kmr_12_4_entity.c @@ -0,0 +1,24 @@ +#include "kmr_12.h" +#include "entity.h" + +EvtScript N(EVS_ReadSign) = { + EVT_CALL(IsStartingConversation, LVar0) + EVT_IF_EQ(LVar0, TRUE) + EVT_RETURN + EVT_END_IF + EVT_SET_GROUP(EVT_GROUP_00) + EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_PARTIAL) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_Sign_GoombaKingsFortress, 160, 40) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_NORMAL) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_MakeEntities) = { + EVT_CALL(MakeEntity, EVT_PTR(Entity_Signpost), 436, 0, -42, 0, MAKE_ENTITY_END) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_ReadSign))) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_21/8FEE80.c b/src/world/area_kmr/kmr_21/8FEE80.c deleted file mode 100644 index 1bf824d07a..0000000000 --- a/src/world/area_kmr/kmr_21/8FEE80.c +++ /dev/null @@ -1,3 +0,0 @@ -#include "kmr_21.h" - -INCLUDE_ASM(s32, "world/area_kmr/kmr_21/8FEE80", func_80240000_8FEE80); diff --git a/src/world/area_kmr/kmr_21/8FEE90.c b/src/world/area_kmr/kmr_21/8FEE90.c deleted file mode 100644 index 4fcb20131a..0000000000 --- a/src/world/area_kmr/kmr_21/8FEE90.c +++ /dev/null @@ -1,33 +0,0 @@ -#include "kmr_21.h" - -extern u8 D_80240333_8FF1B3; -extern s32 D_80240334_8FF1B4; -extern Gfx D_80240338_8FF1B8[]; - -// BSS -extern IMG_PTR kmr_21_802407F4; - -void func_80240010_8FEE90(void) { - s32 i; - - gSPDisplayList(gMasterGfxPos++, D_80240338_8FF1B8); - gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, D_80240333_8FF1B3); - gDPPipeSync(gMasterGfxPos++); - - for (i = 0; i < 56; i++) { - gDPLoadTextureTile(gMasterGfxPos++, &kmr_21_802407F4[1600 * i], G_IM_FMT_RGBA, G_IM_SIZ_32b, 200, 112, - 0, 0, 199, 1, 0, - G_TX_WRAP, G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); - gSPTextureRectangle(gMasterGfxPos++, 60 * 4, (i * 2 + D_80240334_8FF1B4) * 4, 260 * 4, ((i * 2 + 2) + D_80240334_8FF1B4) * 4, - G_TX_RENDERTILE, 0, 0, 1024, 1024); - } - gDPPipeSync(gMasterGfxPos++); -} - -INCLUDE_ASM(s32, "world/area_kmr/kmr_21/8FEE90", func_80240210_8FF090); - -INCLUDE_ASM(s32, "world/area_kmr/kmr_21/8FEE90", func_80240298_8FF118); - -INCLUDE_ASM(s32, "world/area_kmr/kmr_21/8FEE90", func_802402B4_8FF134); - -INCLUDE_ASM(s32, "world/area_kmr/kmr_21/8FEE90", func_802402C8_8FF148); diff --git a/src/world/area_kmr/kmr_21/kmr_21.h b/src/world/area_kmr/kmr_21/kmr_21.h index 27fbc62a41..e899211aeb 100644 --- a/src/world/area_kmr/kmr_21/kmr_21.h +++ b/src/world/area_kmr/kmr_21/kmr_21.h @@ -2,9 +2,13 @@ /// @brief Goomba Region - Title Screen #include "common.h" -#include "../kmr.h" #include "message_ids.h" #include "map.h" + #include "../kmr.h" +#include "mapfs/kmr_21_shape.h" +#include "mapfs/kmr_21_hit.h" #define NAMESPACE kmr_21 + +extern EvtScript N(EVS_Main); diff --git a/src/world/area_kmr/kmr_21/kmr_21_0_header.c b/src/world/area_kmr/kmr_21/kmr_21_0_header.c new file mode 100644 index 0000000000..75fbdfee22 --- /dev/null +++ b/src/world/area_kmr/kmr_21/kmr_21_0_header.c @@ -0,0 +1,16 @@ +#include "kmr_21.h" + +// skip loading shape/hit/tex for this map +s32 N(map_init)(void) { + return TRUE; +} + +EntryList N(Entrances) = { + [kmr_21_ENTRY_0] { 0.0, 0.0, 0.0, 0.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), +}; diff --git a/src/world/area_kmr/kmr_21/kmr_21_1_main.c b/src/world/area_kmr/kmr_21/kmr_21_1_main.c new file mode 100644 index 0000000000..4e299c4495 --- /dev/null +++ b/src/world/area_kmr/kmr_21/kmr_21_1_main.c @@ -0,0 +1,161 @@ +#include "kmr_21.h" + +typedef struct TitleDataFile { + /* 0x00 */ s32 img_offset_title; + /* 0x04 */ s32 img_offset_copyright; + /* 0x08 */ s32 img_offset_press_start; + /* 0x0C */ unsigned char unk_0C[4]; + // end of header + /* 0x10 */ s8 data[0]; +} TitleDataFile; // size may vary + +static TitleDataFile* TitleData; +static IMG_PTR TitleImage; + +s32 TitlePrimAlpha = 0; +s32 TitlePosY = 106; + +Gfx N(Gfx_TexSetup_TitleImage)[] = { + gsDPPipeSync(), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_XLU_SURF, G_RM_XLU_SURF2), + gsDPSetCombineLERP(0, 0, 0, TEXEL0, TEXEL1, 0, PRIMITIVE, 0, 0, 0, 0, TEXEL0, TEXEL1, 0, PRIMITIVE, 0), + gsDPSetTextureFilter(G_TF_POINT), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPSetTexturePersp(G_TP_NONE), + gsDPSetColorDither(G_CD_DISABLE), + gsDPSetAlphaDither(G_AD_DISABLE), + gsDPSetTextureLOD(G_TL_TILE), + gsDPSetTextureLUT(G_TT_NONE), + gsDPSetTextureDetail(G_TD_CLAMP), + gsDPSetTextureConvert(G_TC_FILT), + gsDPSetCombineKey(G_CK_NONE), + gsDPSetAlphaCompare(G_AC_NONE), + gsDPNoOp(), + gsSPEndDisplayList(), +}; + +void worker_render_title_image(void) { + s32 i; + + gSPDisplayList(gMasterGfxPos++, N(Gfx_TexSetup_TitleImage)); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, TitlePrimAlpha); + gDPPipeSync(gMasterGfxPos++); + + for (i = 0; i < 56; i++) { + gDPLoadTextureTile(gMasterGfxPos++, &TitleImage[1600 * i], G_IM_FMT_RGBA, G_IM_SIZ_32b, 200, 112, + 0, 0, 199, 1, 0, + G_TX_WRAP, G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); + gSPTextureRectangle(gMasterGfxPos++, + /* ulx */ 60 * 4, + /* uly */ (i * 2 + TitlePosY) * 4, + /* lrx */ 260 * 4, + /* lry */ ((i * 2 + 2) + TitlePosY) * 4, + G_TX_RENDERTILE, 0, 0, 1024, 1024); + } + gDPPipeSync(gMasterGfxPos++); +} + +API_CALLABLE(N(LoadTitleImage)) { + u32 assetSize; + void* compressed = load_asset_by_name("title_data", &assetSize); + TitleData = (TitleDataFile*) heap_malloc(assetSize); + + decode_yay0(compressed, TitleData); + general_heap_free(compressed); + TitleImage = (IMG_PTR)(TitleData->img_offset_title + (s32)TitleData); + create_generic_entity_frontUI(NULL, worker_render_title_image); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(AwaitConfirmInput)) { + u32 pressedButtons = gGameStatusPtr->pressedButtons[0]; + if (pressedButtons & (BUTTON_A | BUTTON_START)) { + return ApiStatus_DONE2; + } else { + return ApiStatus_BLOCK; + } +} + +API_CALLABLE(N(SetTitlePrimAlpha)) { + TitlePrimAlpha = script->varTable[0]; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(SetTitlePosY)) { + TitlePosY = script->varTable[0]; + return ApiStatus_DONE2; +} + +EvtScript N(EVS_Scene_ShowTitle) = { + EVT_CALL(N(LoadTitleImage)) + EVT_WAIT(15) + EVT_THREAD + EVT_CALL(MakeLerp, 0, 255, 100, EASING_CUBIC_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(N(SetTitlePrimAlpha)) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_CALL(MakeLerp, 106, 56, 100, EASING_CUBIC_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(N(SetTitlePosY)) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_WAIT(30) + EVT_CALL(MakeLerp, 255, 0, 50, EASING_QUADRATIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(N(SetTitlePrimAlpha)) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_WAIT(15) + EVT_CALL(GotoMapSpecial, EVT_PTR("kmr_22"), kmr_22_ENTRY_0, TRANSITION_6) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(SetPlayerPos, -1000, 0, 0) + EVT_WAIT(1) + EVT_CALL(GetCurrentPartnerID, LVar0) + EVT_IF_NE(LVar0, PARTNER_NONE) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) + EVT_CALL(SetNpcPos, NPC_PARTNER, 0, -1000, 0) + EVT_END_IF + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, 25, 16, 4096) + EVT_CALL(SetCamBGColor, CAM_DEFAULT, 208, 208, 208) + EVT_CALL(SetCamEnabled, CAM_DEFAULT, TRUE) + EVT_CALL(SetCamLeadPlayer, CAM_DEFAULT, FALSE) + EVT_CALL(SetCamType, CAM_DEFAULT, 4, FALSE) + EVT_CALL(SetCamPitch, CAM_DEFAULT, 0, 0) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 440) + EVT_CALL(SetCamPosA, CAM_DEFAULT, 0, 100) + EVT_CALL(SetCamPosB, CAM_DEFAULT, 0, 0) + EVT_CALL(SetCamPosC, CAM_DEFAULT, 0, 65) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_WAIT(1) + EVT_EXEC(N(EVS_Scene_ShowTitle)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_23/907A30.c b/src/world/area_kmr/kmr_23/907A30.c deleted file mode 100644 index 829c9fd826..0000000000 --- a/src/world/area_kmr/kmr_23/907A30.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "kmr_23.h" - -static char* N(exit_str_0) = "kzn_19"; -static char* N(exit_str_1) = "kmr_24"; - -INCLUDE_ASM(s32, "world/area_kmr/kmr_23/907A30", func_80240000_907A30); diff --git a/src/world/area_kmr/kmr_23/907A40.c b/src/world/area_kmr/kmr_23/907A40.c deleted file mode 100644 index 6f43118b85..0000000000 --- a/src/world/area_kmr/kmr_23/907A40.c +++ /dev/null @@ -1,35 +0,0 @@ -#include "kmr_23.h" - -INCLUDE_ASM(s32, "world/area_kmr/kmr_23/907A40", func_80240010_907A40); - -INCLUDE_ASM(s32, "world/area_kmr/kmr_23/907A40", func_80240040_907A70); - -INCLUDE_ASM(s32, "world/area_kmr/kmr_23/907A40", func_80240274_907CA4); - -INCLUDE_ASM(s32, "world/area_kmr/kmr_23/907A40", func_80240300_907D30); - -INCLUDE_ASM(s32, "world/area_kmr/kmr_23/907A40", func_802403A8_907DD8); - -INCLUDE_ASM(s32, "world/area_kmr/kmr_23/907A40", func_80240494_907EC4); - -INCLUDE_ASM(s32, "world/area_kmr/kmr_23/907A40", func_80240528_907F58); - -INCLUDE_ASM(s32, "world/area_kmr/kmr_23/907A40", func_8024061C_90804C); - -INCLUDE_ASM(s32, "world/area_kmr/kmr_23/907A40", func_802407B8_9081E8); - -INCLUDE_ASM(s32, "world/area_kmr/kmr_23/907A40", func_8024088C_9082BC); - -INCLUDE_ASM(s32, "world/area_kmr/kmr_23/907A40", func_80240A00_908430); - -INCLUDE_ASM(s32, "world/area_kmr/kmr_23/907A40", func_80240BB4_9085E4); - -INCLUDE_ASM(s32, "world/area_kmr/kmr_23/907A40", func_80240C94_9086C4); - -INCLUDE_ASM(s32, "world/area_kmr/kmr_23/907A40", func_80240CA8_9086D8); - -INCLUDE_ASM(s32, "world/area_kmr/kmr_23/907A40", func_80240D14_908744); - -INCLUDE_ASM(s32, "world/area_kmr/kmr_23/907A40", func_80240D5C_90878C); - -INCLUDE_ASM(s32, "world/area_kmr/kmr_23/907A40", func_80240DA4_9087D4); diff --git a/src/world/area_kmr/kmr_23/kmr_23.h b/src/world/area_kmr/kmr_23/kmr_23.h index 0856036e3a..8f0b81034d 100644 --- a/src/world/area_kmr/kmr_23/kmr_23.h +++ b/src/world/area_kmr/kmr_23/kmr_23.h @@ -2,9 +2,42 @@ /// @brief Goomba Region - Chapter End #include "common.h" -#include "../kmr.h" #include "message_ids.h" #include "map.h" + #include "../kmr.h" +#include "mapfs/kmr_23_shape.h" +#include "mapfs/kmr_23_hit.h" + +#include "sprite/npc/WorldEldstar.h" +#include "sprite/npc/WorldMamar.h" +#include "sprite/npc/WorldSkolar.h" +#include "sprite/npc/WorldMuskular.h" +#include "sprite/npc/WorldMisstar.h" +#include "sprite/npc/WorldKlevar.h" +#include "sprite/npc/WorldKalmar.h" + +enum { + NPC_StarSpirit = 0, + NPC_AuxSpirit = 1, +}; + +enum { + MV_EndChapterDataPtr = MapVar(0), +}; + +enum { + MF_Unk_0A = MapFlag(10), + MF_Unk_0B = MapFlag(11), +}; #define NAMESPACE kmr_23 + +extern EvtScript N(EVS_Main); +extern NpcGroupList N(NpcGroup_Eldstar); +extern NpcGroupList N(NpcGroup_Mamar); +extern NpcGroupList N(NpcGroup_Skolar); +extern NpcGroupList N(NpcGroup_Muskular); +extern NpcGroupList N(NpcGroup_Misstar); +extern NpcGroupList N(NpcGroup_Klevar); +extern NpcGroupList N(NpcGroup_Kalmar); diff --git a/src/world/area_kmr/kmr_23/kmr_23_0_header.c b/src/world/area_kmr/kmr_23/kmr_23_0_header.c new file mode 100644 index 0000000000..1740378899 --- /dev/null +++ b/src/world/area_kmr/kmr_23/kmr_23_0_header.c @@ -0,0 +1,23 @@ +#include "kmr_23.h" + +// skip loading shape/hit/tex for this map +s32 N(map_init)(void) { + return TRUE; +} + +EntryList N(Entrances) = { + [kmr_23_ENTRY_0] { 0.0, 0.0, 0.0, 0.0 }, + [kmr_23_ENTRY_1] { 0.0, 0.0, 0.0, 0.0 }, + [kmr_23_ENTRY_2] { 0.0, 0.0, 0.0, 0.0 }, + [kmr_23_ENTRY_3] { 0.0, 0.0, 0.0, 0.0 }, + [kmr_23_ENTRY_4] { 0.0, 0.0, 0.0, 0.0 }, + [kmr_23_ENTRY_5] { 0.0, 0.0, 0.0, 0.0 }, + [kmr_23_ENTRY_6] { 0.0, 0.0, 0.0, 0.0 }, + [kmr_23_ENTRY_7] { 0.0, 0.0, 0.0, 0.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), +}; diff --git a/src/world/area_kmr/kmr_23/kmr_23_1_main.c b/src/world/area_kmr/kmr_23/kmr_23_1_main.c new file mode 100644 index 0000000000..7aafeeb480 --- /dev/null +++ b/src/world/area_kmr/kmr_23/kmr_23_1_main.c @@ -0,0 +1,85 @@ +#include "kmr_23.h" + +API_CALLABLE(N(func_80240010_907A40)) { + set_curtain_scale_goal(2.0f); + set_curtain_draw_callback(NULL); + return ApiStatus_DONE2; +} + +EvtScript N(D_80241190_908BC0) = { + EVT_SET(MF_Unk_0A, FALSE) + EVT_LOOP(0) + EVT_IF_NE(MF_Unk_0A, FALSE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(GetEntryID, LVar0) + EVT_IF_NE(LVar0, kmr_23_ENTRY_4) + EVT_CALL(GotoMapSpecial, EVT_PTR("kmr_24"), kmr_24_ENTRY_0, TRANSITION_6) + EVT_ELSE + EVT_CALL(GotoMapSpecial, EVT_PTR("kzn_19"), kzn_19_ENTRY_3, TRANSITION_15) + EVT_END_IF + EVT_CALL(FadeOutMusic, 0, 2000) + EVT_CALL(N(func_80240010_907A40)) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(SetPlayerPos, -2, 0, 0) + EVT_CALL(SetPlayerFlagBits, PS_FLAGS_200000, TRUE) + EVT_CALL(InterpPlayerYaw, 90, 0) + EVT_WAIT(1) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10024) + EVT_CALL(GetCurrentPartnerID, LVar0) + EVT_IF_NE(LVar0, PARTNER_NONE) + EVT_CALL(DisablePartnerAI, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) + EVT_CALL(SetNpcPos, NPC_PARTNER, NPC_DISPOSE_LOCATION) + EVT_END_IF + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SETUP_CAMERA_NO_LEAD() + EVT_CALL(SetCamType, CAM_DEFAULT, 4, FALSE) + EVT_CALL(SetCamPitch, CAM_DEFAULT, 0, 0) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 440) + EVT_CALL(SetCamPosA, CAM_DEFAULT, 0, 100) + EVT_CALL(SetCamPosB, CAM_DEFAULT, 0, 0) + EVT_CALL(SetCamPosC, CAM_DEFAULT, 0, 65) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(kmr_23_ENTRY_0) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(NpcGroup_Eldstar))) + EVT_CASE_EQ(kmr_23_ENTRY_1) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(NpcGroup_Mamar))) + EVT_CASE_EQ(kmr_23_ENTRY_2) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(NpcGroup_Skolar))) + EVT_CASE_EQ(kmr_23_ENTRY_3) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(NpcGroup_Muskular))) + EVT_CASE_EQ(kmr_23_ENTRY_4) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(NpcGroup_Misstar))) + EVT_CASE_EQ(kmr_23_ENTRY_5) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(NpcGroup_Klevar))) + EVT_CASE_EQ(kmr_23_ENTRY_6) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(NpcGroup_Kalmar))) + EVT_END_SWITCH + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_WAIT(1) + EVT_EXEC(N(D_80241190_908BC0)) + EVT_THREAD + EVT_CALL(FadeOutMusic, 0, 150) + EVT_CALL(ClearAmbientSounds, 150) + EVT_WAIT(10) + EVT_CALL(SetMusicTrack, 0, SONG_CHAPTER_END, 0, 8) + EVT_END_THREAD + EVT_WAIT(20) + EVT_RETURN + EVT_END +}; 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 new file mode 100644 index 0000000000..819616ce20 --- /dev/null +++ b/src/world/area_kmr/kmr_23/kmr_23_2_npc.c @@ -0,0 +1,677 @@ +#include "kmr_23.h" +#include "effects.h" + +void func_80240DA4_9087D4(void); + +typedef struct EndChapter { + /* 0x00 */ Vec3f pos; + /* 0x0C */ f32 unk0C; + /* 0x10 */ f32 yaw; + /* 0x14 */ f32 angularVelocity; + /* 0x18 */ f32 startYaw; + /* 0x1C */ s16 unk1C; + /* 0x1E */ s16 unk1E; + /* 0x20 */ s16 stopAccelerating; + /* 0x22 */ s16 chapter; + /* 0x24 */ s16 screenWhiteness; + /* 0x26 */ s16 unk26; + /* 0x28 */ EffectInstance* spiritCardEffect; + /* 0x2C */ EffectInstance* chapterChangeEffect; +} EndChapter; + +#include "world/common/npc/StarSpirit.h" + +NpcSettings N(NpcSettings_StarSpirit) = { + .height = 24, + .radius = 24, + .level = 99, +}; + +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_WorldMisstar_Idle, ANIM_WorldMisstar_Back }, + { ANIM_WorldKlevar_Idle, ANIM_WorldKlevar_Back }, + { ANIM_WorldKalmar_Idle, ANIM_WorldKalmar_Back }, +}; + +s32 imgPadding = 0; + +#include "world/area_kmr/kmr_23/window_ul.png.inc.c" +#include "world/area_kmr/kmr_23/window_ur.png.inc.c" +#include "world/area_kmr/kmr_23/window_ll.png.inc.c" +#include "world/area_kmr/kmr_23/window_lr.png.inc.c" + +s32 D_802417C8_9091F8 = 0; + +s32 D_802417CC_9091FC = 0; + +s32 D_802417D0_909200 = 0; + +s32 D_802417D0_909204 = 0; + +WindowStyleCustom D_802417D8_909208 = { + .background = { + .imgData = NULL, + }, + .corners = { + .imgData = N(window_ul_img), + .packedTileFormat = WINDOW_IMG_IA_8, + .size1 = { 8, 8 }, + .size2 = { 8, 8 }, + .size3 = { 8, 8 }, + .size4 = { 8, 8 }, + }, + // gsDPSetCombineLERP(PRIMITIVE, 0, TEXEL1, 0, 0, 0, 0, TEXEL1, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED), + .opaqueCombineMode = { .words = { 0xFC317FFF, 0xFFFFF438 }}, + // gsDPSetCombineLERP(PRIMITIVE, 0, TEXEL1, 0, TEXEL1, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED) + .transparentCombineMode = { .words = { 0xFC3127FF, 0xFFFFFE38 }}, + .color1 = { 224, 224, 224, 255 }, + .color2 = { 0, 0, 0, 255}, +}; + +API_CALLABLE(N(CreateEndChapterData)) { + Bytecode* args = script->ptrReadPos; + Npc* npc = get_npc_safe(NPC_StarSpirit); + EndChapter* data; + s32 backFacing; + + if (isInitialCall) { + data = heap_malloc(sizeof(*data)); + script->userData = data; + evt_set_variable(script, MV_EndChapterDataPtr, (s32) data); + data->chapter = evt_get_variable(script, *args++); + data->pos.x = evt_get_float_variable(script, *args++); + data->pos.y = evt_get_float_variable(script, *args++); + data->pos.z = evt_get_float_variable(script, *args++); + data->yaw = 0.0f; + data->unk1C = 0; + data->screenWhiteness = 0; + data->unk1E = FALSE; + npc->alpha = 0; + npc->renderMode = RENDER_MODE_SURFACE_XLU_LAYER2; + data->spiritCardEffect = fx_spirit_card(1, data->pos.x, data->pos.y, data->pos.z, 1.0f, 0); + data->spiritCardEffect->data.spiritCard->chapter = data->chapter; + data->spiritCardEffect->data.spiritCard->unk_20 = 0; + set_curtain_draw_callback(func_80240DA4_9087D4); + } + data = script->userData; + npc->pos.x = data->pos.x; + npc->pos.y = data->pos.y; + npc->pos.z = data->pos.z + 10.0f; + npc->rotation.y = data->yaw; + backFacing = FALSE; + if (!evt_get_variable(script, MF_Unk_0B)) { + if ((data->yaw > 90.0f) && (data->yaw < 270.0f)) { + backFacing = TRUE; + } + 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; + data->spiritCardEffect->data.spiritCard->pos.y = data->pos.y + 15.0f; + data->spiritCardEffect->data.spiritCard->pos.z = data->pos.z; + } + return ApiStatus_BLOCK; +} + +API_CALLABLE(N(AddCardAngularVelocity)) { + Bytecode* args = script->ptrReadPos; + EndChapter* data = (EndChapter*) evt_get_variable(script, MV_EndChapterDataPtr); + + if (isInitialCall) { + data->stopAccelerating = FALSE; + data->angularVelocity = evt_get_float_variable(script, *args++); + } + + if (!data->stopAccelerating) { + data->yaw = clamp_angle(data->yaw + data->angularVelocity); + return ApiStatus_BLOCK; + } + return ApiStatus_DONE2; +} + +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++); + script->functionTemp[0] = 0; + script->functionTempF[1] = script->functionTempF[1] / duration; + } + + 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; + } else { + return ApiStatus_DONE1; + } +} + +API_CALLABLE(N(MakeCardFloatUpward)) { + Bytecode* args = script->ptrReadPos; + EndChapter* data = (EndChapter*) evt_get_variable(script, MV_EndChapterDataPtr); + + if (isInitialCall) { + script->functionTemp[0] = 0; + script->varTable[0] = evt_get_variable(script, *args++); + script->functionTemp[1] = evt_get_variable(script, *args++); + script->functionTemp[2] = evt_get_variable(script, *args++); + script->functionTemp[3] = evt_get_variable(script, *args++); + } + + 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; + } else { + return ApiStatus_DONE1; + } +} + +API_CALLABLE(N(ShowRadialShimmer)) { + Bytecode* args = script->ptrReadPos; + f32 scale = evt_get_float_variable(script, *args++); + s32 duration = evt_get_variable(script, *args++); + EndChapter* data = (EndChapter*) evt_get_variable(script, MV_EndChapterDataPtr); + + fx_radial_shimmer(0xE, data->pos.x, data->pos.y + 16.0f, data->pos.z, scale, duration); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(FadeInSpiritNpc)) { + Bytecode* args = script->ptrReadPos; + Npc* npc = get_npc_safe(NPC_StarSpirit); + EndChapter* data = (EndChapter*) evt_get_variable(script, MV_EndChapterDataPtr); + + if (isInitialCall) { + script->functionTemp[0] = 0; + script->functionTemp[1] = evt_get_variable(script, *args++); + } + + npc->alpha = update_lerp(EASING_LINEAR, 0.0f, 255.0f, script->functionTemp[0], script->functionTemp[1]); + + script->functionTemp[0]++; + if (script->functionTemp[0] < script->functionTemp[1]) { + return ApiStatus_BLOCK; + } else { + return ApiStatus_DONE1; + } +} + +API_CALLABLE(N(FlashScreenWhite)) { + EndChapter* data = (EndChapter*) evt_get_variable(script, MV_EndChapterDataPtr); + EffectInstance* effect; + + enum FunctionState { + FADE_TO_WHITE = 0, + 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); + set_screen_overlay_params_front(1, data->screenWhiteness); + if (data->screenWhiteness == 255) { + data->spiritCardEffect->flags |= EFFECT_INSTANCE_FLAGS_10; + data->spiritCardEffect = NULL; + gCameras->bgColor[0] = 208; + gCameras->bgColor[1] = 208; + gCameras->bgColor[2] = 208; + script->functionTemp[0] = HOLD_WHITE; + script->functionTemp[1] = 15; + } else { + data->screenWhiteness += 50;; + if (data->screenWhiteness > 255) { + data->screenWhiteness = 255; + } + } + break; + case HOLD_WHITE: + script->functionTemp[1]--; + if (script->functionTemp[1] == -1) { + script->functionTemp[0] = BACK_TO_NORMAL; + } + break; + case BACK_TO_NORMAL: + set_screen_overlay_params_front(1, data->screenWhiteness); + if (data->screenWhiteness == 0) { + set_curtain_scale_goal(1.0f); + return ApiStatus_DONE1; + } + data->screenWhiteness -= 20;; + if (data->screenWhiteness < 0) { + data->screenWhiteness = 0; + } + break; + } + + return ApiStatus_BLOCK; +} + +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; + script->functionTemp[1] = evt_get_variable(script, *args++); + script->functionTemp[2] = evt_get_variable(script, *args++); + data->startYaw = data->yaw; + } + + 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; + } else { + return ApiStatus_DONE1; + } +} + +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; + script->varTable[0] = evt_get_variable(script, *args++); + script->functionTemp[1] = evt_get_variable(script, *args++); + script->functionTemp[2] = evt_get_variable(script, *args++); + script->functionTemp[3] = evt_get_variable(script, *args++); + } + + posY = update_lerp(EASING_COS_BOUNCE, + script->functionTemp[1], script->functionTemp[2], + script->functionTemp[0], script->functionTemp[3]); + endChatper->chapterChangeEffect->data.chapterChange->chapterPos.x = script->varTable[0]; + 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; + } else { + return ApiStatus_DONE1; + } +} + +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++); + script->functionTemp[1] = evt_get_variable(script, *args++); + script->functionTemp[2] = evt_get_variable(script, *args++); + script->functionTemp[3] = evt_get_variable(script, *args++); + } + + leftDx = update_lerp(EASING_LINEAR, 0.0f, (script->functionTemp[2] / 2) + 8, script->functionTemp[0], script->functionTemp[3]); + rightDx = update_lerp(EASING_LINEAR, 0.0f, (script->functionTemp[2] / 2), script->functionTemp[0], script->functionTemp[3]); + data->chapterChangeEffect->data.chapterChange->chapterPos.x = script->varTable[0] - leftDx; + 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; + } else { + return ApiStatus_DONE1; + } +} + +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++); + script->functionTemp[2] = evt_get_variable(script, *args++); + script->functionTemp[3] = evt_get_variable(script, *args++); + data->unk1E = TRUE; + } + + 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; + } else { + return ApiStatus_DONE1; + } +} + +API_CALLABLE(N(AwaitConfirmInput)) { + if (gGameStatusPtr->pressedButtons[0] & BUTTON_A) { + return ApiStatus_DONE1; + } else { + return ApiStatus_BLOCK; + } +} + +API_CALLABLE(N(func_80240CA8_9086D8)) { + EndChapter* data = (EndChapter*) evt_get_variable(script, MV_EndChapterDataPtr); + fx_misc_particles(2, data->pos.x, data->pos.y, data->pos.z, 70.0f, 20.0f, 1.5f, 20, 15); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(ShowMessagesInFrontOfCurtains)) { + EndChapter* data = (EndChapter*) evt_get_variable(NULL, MV_EndChapterDataPtr); + data->unk1E = TRUE; + gOverrideFlags |= GLOBAL_OVERRIDES_MESSAGES_IN_FRONT_OF_CURTAINS; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(ShowMessagesBehindCurtains)) { + EndChapter* data = (EndChapter*) evt_get_variable(NULL, MV_EndChapterDataPtr); + data->unk1E = FALSE; + gOverrideFlags &= ~GLOBAL_OVERRIDES_MESSAGES_IN_FRONT_OF_CURTAINS; + return ApiStatus_DONE2; +} + +INCLUDE_ASM(s32, "world/area_kmr/kmr_23/907A40", func_80240DA4_9087D4); +MAP_DATA_SECTION_START + +EvtScript N(EVS_Scene_EndOfChapter) = { + EVT_THREAD + EVT_SET(MF_Unk_0B, FALSE) + EVT_CALL(GetEntryID, LVar0) + EVT_CALL(GetNpcPos, NPC_StarSpirit, LVar1, LVar2, LVar3) + EVT_CALL(N(CreateEndChapterData), LVar0, LVar1, LVar2, LVar3) + EVT_END_THREAD + EVT_WAIT(1) + EVT_THREAD + EVT_CALL(N(AddCardAngularVelocity), 10) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(N(AccelerateCardSpin), 20, 150) + EVT_END_THREAD + EVT_CALL(N(MakeCardFloatUpward), 5, 0, 60, 150) + EVT_WAIT(30) + EVT_CALL(N(ShowRadialShimmer), 1, 120) + EVT_CALL(N(FadeInSpiritNpc), 60) + EVT_WAIT(30) + EVT_CALL(N(FlashScreenWhite)) + EVT_CALL(N(SpinDownStarSpirit), 1800, 100) + EVT_CALL(N(EndOfChapterBounceIn), 36, 0, 55, 60) + EVT_THREAD + EVT_CALL(N(AddCardAngularVelocity), 0) + EVT_END_THREAD + EVT_WAIT(60) + EVT_SET(MF_Unk_0B, TRUE) + EVT_WAIT(1) + EVT_CALL(SetNpcAnimation, NPC_StarSpirit, ENEMY_ANIM_8) + EVT_CALL(N(ShowMessagesInFrontOfCurtains)) + EVT_WAIT(16) + EVT_CALL(GetEntryID, LVar0) + EVT_SET(LVar1, MSG_Menus_01A5) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(kmr_23_ENTRY_0) + EVT_SET(LVar1, MSG_Menus_01A5) + EVT_CASE_EQ(kmr_23_ENTRY_1) + EVT_SET(LVar1, MSG_Menus_01A6) + EVT_CASE_EQ(kmr_23_ENTRY_2) + EVT_SET(LVar1, MSG_Menus_01A7) + EVT_CASE_EQ(kmr_23_ENTRY_3) + EVT_SET(LVar1, MSG_Menus_01A8) + EVT_CASE_EQ(kmr_23_ENTRY_4) + EVT_SET(LVar1, MSG_Menus_01A9) + EVT_CASE_EQ(kmr_23_ENTRY_5) + EVT_SET(LVar1, MSG_Menus_01AA) + EVT_CASE_EQ(kmr_23_ENTRY_6) + EVT_SET(LVar1, MSG_Menus_01AB) + EVT_END_SWITCH + EVT_CALL(ShowMessageAtScreenPos, LVar1, 160, 40) + EVT_CALL(N(ShowMessagesBehindCurtains)) + EVT_WAIT(15) + EVT_SET(MF_Unk_0A, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Eldstar_01) = { + EVT_CALL(SetNpcScale, NPC_SELF, EVT_FLOAT(0.85), EVT_FLOAT(0.85), EVT_FLOAT(0.85)) + EVT_CALL(SetNpcPos, NPC_SELF, 0, 0, 20) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40000, TRUE) + EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) + EVT_EXEC(N(EVS_Scene_EndOfChapter)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Eldstar_02) = { + EVT_CALL(SetNpcAnimation, NPC_SELF, ENEMY_ANIM_8) + EVT_CALL(func_802CFD30, NPC_SELF, 8, 0, 0, 0, 0) + EVT_CALL(SetNpcPos, NPC_SELF, 0, 94, 0) + EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_Eldstar)[] = { + { + .id = NPC_StarSpirit, + .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, + .init = &N(EVS_NpcInit_Eldstar_01), + .drops = ELDSTAR_DROPS, + .animations = ELDSTAR_ANIMS, + }, + { + .id = NPC_AuxSpirit, + .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, + .init = &N(EVS_NpcInit_Eldstar_02), + .drops = ELDSTAR_DROPS, + .animations = ELDSTAR_ANIMS, + }, +}; + +StaticNpc N(NpcData_Mamar)[] = { + { + .id = NPC_StarSpirit, + .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, + .init = &N(EVS_NpcInit_Eldstar_01), + .drops = MAMAR_DROPS, + .animations = MAMAR_ANIMS, + }, + { + .id = NPC_AuxSpirit, + .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, + .init = &N(EVS_NpcInit_Eldstar_02), + .drops = MAMAR_DROPS, + .animations = MAMAR_ANIMS, + }, +}; + +StaticNpc N(NpcData_Skolar)[] = { + { + .id = NPC_StarSpirit, + .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, + .init = &N(EVS_NpcInit_Eldstar_01), + .drops = SKOLAR_DROPS, + .animations = SKOLAR_ANIMS, + }, + { + .id = NPC_AuxSpirit, + .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, + .init = &N(EVS_NpcInit_Eldstar_02), + .drops = SKOLAR_DROPS, + .animations = SKOLAR_ANIMS, + }, +}; + +StaticNpc N(NpcData_Muskular)[] = { + { + .id = NPC_StarSpirit, + .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, + .init = &N(EVS_NpcInit_Eldstar_01), + .drops = MUSKULAR_DROPS, + .animations = MUSKULAR_ANIMS, + }, + { + .id = NPC_AuxSpirit, + .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, + .init = &N(EVS_NpcInit_Eldstar_02), + .drops = MUSKULAR_DROPS, + .animations = MUSKULAR_ANIMS, + }, +}; + +StaticNpc N(NpcData_Misstar)[] = { + { + .id = NPC_StarSpirit, + .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, + .init = &N(EVS_NpcInit_Eldstar_01), + .drops = MISSTAR_DROPS, + .animations = MISSTAR_ANIMS, + }, + { + .id = NPC_AuxSpirit, + .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, + .init = &N(EVS_NpcInit_Eldstar_02), + .drops = MISSTAR_DROPS, + .animations = MISSTAR_ANIMS, + }, +}; + +StaticNpc N(NpcData_Klevar)[] = { + { + .id = NPC_StarSpirit, + .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, + .init = &N(EVS_NpcInit_Eldstar_01), + .drops = KLEVAR_DROPS, + .animations = KLEVAR_ANIMS, + }, + { + .id = NPC_AuxSpirit, + .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, + .init = &N(EVS_NpcInit_Eldstar_02), + .drops = KLEVAR_DROPS, + .animations = KLEVAR_ANIMS, + }, +}; + +StaticNpc N(NpcData_Kalmar)[] = { + { + .id = NPC_StarSpirit, + .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, + .init = &N(EVS_NpcInit_Eldstar_01), + .drops = KALMAR_DROPS, + .animations = KALMAR_ANIMS, + }, + { + .id = NPC_AuxSpirit, + .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, + .init = &N(EVS_NpcInit_Eldstar_02), + .drops = KALMAR_DROPS, + .animations = KALMAR_ANIMS, + }, +}; + +NpcGroupList N(NpcGroup_Eldstar) = { + NPC_GROUP(N(NpcData_Eldstar)), + {} +}; + +NpcGroupList N(NpcGroup_Mamar) = { + NPC_GROUP(N(NpcData_Mamar)), + {} +}; + +NpcGroupList N(NpcGroup_Skolar) = { + NPC_GROUP(N(NpcData_Skolar)), + {} +}; + +NpcGroupList N(NpcGroup_Muskular) = { + NPC_GROUP(N(NpcData_Muskular)), + {} +}; + +NpcGroupList N(NpcGroup_Misstar) = { + NPC_GROUP(N(NpcData_Misstar)), + {} +}; + +NpcGroupList N(NpcGroup_Klevar) = { + NPC_GROUP(N(NpcData_Klevar)), + {} +}; + +NpcGroupList N(NpcGroup_Kalmar) = { + NPC_GROUP(N(NpcData_Kalmar)), + {} +}; diff --git a/src/world/area_kmr/kmr_24/90B240.c b/src/world/area_kmr/kmr_24/90B240.c deleted file mode 100644 index 65262987fc..0000000000 --- a/src/world/area_kmr/kmr_24/90B240.c +++ /dev/null @@ -1,3 +0,0 @@ -#include "kmr_24.h" - -INCLUDE_ASM(s32, "world/area_kmr/kmr_24/90B240", func_80240000_90B240); diff --git a/src/world/area_kmr/kmr_24/90B250.c b/src/world/area_kmr/kmr_24/90B250.c deleted file mode 100644 index 1950b2561f..0000000000 --- a/src/world/area_kmr/kmr_24/90B250.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "kmr_24.h" - -INCLUDE_ASM(s32, "world/area_kmr/kmr_24/90B250", func_80240010_90B250); - -INCLUDE_ASM(s32, "world/area_kmr/kmr_24/90B250", func_80240074_90B2B4); diff --git a/src/world/area_kmr/kmr_24/kmr_24.h b/src/world/area_kmr/kmr_24/kmr_24.h index b2746e7121..59def7e88c 100644 --- a/src/world/area_kmr/kmr_24/kmr_24.h +++ b/src/world/area_kmr/kmr_24/kmr_24.h @@ -2,9 +2,13 @@ /// @brief Goomba Region - Save and Continue #include "common.h" -#include "../kmr.h" #include "message_ids.h" #include "map.h" + #include "../kmr.h" +#include "mapfs/kmr_24_shape.h" +#include "mapfs/kmr_24_hit.h" #define NAMESPACE kmr_24 + +extern EvtScript N(EVS_Main); diff --git a/src/world/area_kmr/kmr_24/kmr_24_0_header.c b/src/world/area_kmr/kmr_24/kmr_24_0_header.c new file mode 100644 index 0000000000..b8a5662daa --- /dev/null +++ b/src/world/area_kmr/kmr_24/kmr_24_0_header.c @@ -0,0 +1,16 @@ +#include "kmr_24.h" + +// skip loading shape/hit/tex for this map +s32 N(map_init)(void) { + return TRUE; +} + +EntryList N(Entrances) = { + [kmr_24_ENTRY_0] { 0.0, 0.0, 0.0, 0.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), +}; diff --git a/src/world/area_kmr/kmr_24/kmr_24_1_main.c b/src/world/area_kmr/kmr_24/kmr_24_1_main.c new file mode 100644 index 0000000000..4e018b01ba --- /dev/null +++ b/src/world/area_kmr/kmr_24/kmr_24_1_main.c @@ -0,0 +1,95 @@ +#include "kmr_24.h" +#include "fio.h" + +API_CALLABLE(N(ExitGame)) { + s16 progress; + s16 result; + + if (isInitialCall) { + set_map_transition_effect(TRANSITION_4); + script->functionTemp[1] = 0; + } + + progress = script->functionTemp[1]; + result = update_exit_map_screen_overlay(&progress); + + if (result == 0) { + script->functionTemp[1] = progress; + return ApiStatus_BLOCK; + } else { + set_game_mode(0); + return ApiStatus_DONE2; + } +} + +API_CALLABLE(N(SaveAndContinue)) { + // push current map + u16 curArea = gGameStatusPtr->areaID; + u16 curMap = gGameStatusPtr->mapID; + u16 curEntry = gGameStatusPtr->entryID; + // save with map being osr_03, entry 4 + u16 areaID, mapID; + get_map_IDs_by_name("osr_03", &areaID, &mapID); + gGameStatusPtr->areaID = areaID; + gGameStatusPtr->mapID = mapID; + gGameStatusPtr->entryID = osr_03_ENTRY_4; + fio_save_game(gGameStatusPtr->saveSlot); + // and continue + gGameStatusPtr->areaID = curArea; + gGameStatusPtr->mapID = curMap; + gGameStatusPtr->entryID = curEntry; + return ApiStatus_DONE2; +} + +EvtScript N(EVS_SaveAndContinue_Prompt) = { + EVT_WAIT(10) + EVT_CALL(ShowMessageAtScreenPos, MSG_Choice_004D, 160, 40) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_CALL(N(SaveAndContinue)) + EVT_WAIT(10) + EVT_CASE_EQ(1) + EVT_CALL(N(SaveAndContinue)) + EVT_WAIT(10) + EVT_CALL(N(ExitGame)) + EVT_WAIT(100) + EVT_CASE_EQ(2) + EVT_END_SWITCH + EVT_CALL(GotoMapSpecial, EVT_PTR("osr_03"), osr_03_ENTRY_4, TRANSITION_11) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(SetPlayerPos, -1000, 0, 0) //@bug? improper dispose location for player + EVT_WAIT(1) + EVT_CALL(GetCurrentPartnerID, LVar0) + EVT_IF_NE(LVar0, PARTNER_NONE) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) + EVT_CALL(SetNpcPos, NPC_PARTNER, NPC_DISPOSE_LOCATION) + EVT_END_IF + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, 25, 16, 4096) + EVT_CALL(SetCamBGColor, CAM_DEFAULT, 208, 208, 208) + EVT_CALL(SetCamEnabled, CAM_DEFAULT, TRUE) + EVT_CALL(SetCamLeadPlayer, CAM_DEFAULT, FALSE) + EVT_CALL(SetCamType, CAM_DEFAULT, 4, FALSE) + EVT_CALL(SetCamPitch, CAM_DEFAULT, 0, 0) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 440) + EVT_CALL(SetCamPosA, CAM_DEFAULT, 0, 100) + EVT_CALL(SetCamPosB, CAM_DEFAULT, 0, 0) + EVT_CALL(SetCamPosC, CAM_DEFAULT, 0, 65) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_WAIT(1) + EVT_EXEC(N(EVS_SaveAndContinue_Prompt)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_30/90B6D0.c b/src/world/area_kmr/kmr_30/90B6D0.c deleted file mode 100644 index 167a1535e4..0000000000 --- a/src/world/area_kmr/kmr_30/90B6D0.c +++ /dev/null @@ -1,4 +0,0 @@ -#include "kmr_30.h" - -#include "world/common/atomic/TexturePan.inc.c" - diff --git a/src/world/area_kmr/kmr_30/90B9E0.c b/src/world/area_kmr/kmr_30/90B9E0.c deleted file mode 100644 index ba5851acae..0000000000 --- a/src/world/area_kmr/kmr_30/90B9E0.c +++ /dev/null @@ -1,13 +0,0 @@ -#include "kmr_30.h" - -extern u8 D_80240C0F_90C2DF; - -INCLUDE_ASM(s32, "world/area_kmr/kmr_30/90B9E0", func_80240310_90B9E0); - -INCLUDE_ASM(s32, "world/area_kmr/kmr_30/90B9E0", func_8024045C_90BB2C); - -void func_80240488_90BB58(void) { - gDPSetCombineLERP(gMasterGfxPos++, TEXEL0, 0, SHADE, 0, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, - PRIMITIVE, 0); - gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, D_80240C0F_90C2DF); -} diff --git a/src/world/area_kmr/kmr_30/kmr_30.h b/src/world/area_kmr/kmr_30/kmr_30.h index 049946a991..5bd5ab3b98 100644 --- a/src/world/area_kmr/kmr_30/kmr_30.h +++ b/src/world/area_kmr/kmr_30/kmr_30.h @@ -2,9 +2,21 @@ /// @brief Goomba Region - Mario's House (Ending) #include "common.h" -#include "../kmr.h" #include "message_ids.h" #include "map.h" + #include "../kmr.h" +#include "mapfs/kmr_30_shape.h" +#include "mapfs/kmr_30_hit.h" + +#include "sprite/npc/ParadePeach.h" + +enum { + NPC_ParadePeach = 0, +}; #define NAMESPACE kmr_30 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_Scene_TheEnd); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_kmr/kmr_30/kmr_30_0_header.c b/src/world/area_kmr/kmr_30/kmr_30_0_header.c new file mode 100644 index 0000000000..56e7c8b0b0 --- /dev/null +++ b/src/world/area_kmr/kmr_30/kmr_30_0_header.c @@ -0,0 +1,11 @@ +#include "kmr_30.h" + +EntryList N(Entrances) = { + [kmr_30_ENTRY_0] { 0.0, 0.0, 0.0, 0.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), +}; diff --git a/src/world/area_kmr/kmr_30/kmr_30_1_main.c b/src/world/area_kmr/kmr_30/kmr_30_1_main.c new file mode 100644 index 0000000000..9f678b0dd1 --- /dev/null +++ b/src/world/area_kmr/kmr_30/kmr_30_1_main.c @@ -0,0 +1,20 @@ +#include "kmr_30.h" + +#include "world/common/atomic/TexturePan.inc.c" +#include "world/common/atomic/TexturePan.data.inc.c" + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_MARIOS_HOUSE) + EVT_CALL(SetSpriteShading, SHADING_KMR_30) + EVT_SETUP_CAMERA_NO_LEAD() + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) + EVT_CALL(EnableStatusMenu, FALSE) + EVT_THREAD + EVT_CALL(FadeOutMusic, 0, 0x00001388) + EVT_WAIT(390) + EVT_CALL(SetMusicTrack, 0, SONG_THE_END, 0, 8) + EVT_END_THREAD + EVT_EXEC(N(EVS_Scene_TheEnd)) + EVT_RETURN + EVT_END +}; 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 new file mode 100644 index 0000000000..82b7657361 --- /dev/null +++ b/src/world/area_kmr/kmr_30/kmr_30_2_npc.c @@ -0,0 +1,43 @@ +#include "kmr_30.h" + +NpcSettings N(NpcSettings_ParadePeach) = { + .height = 46, + .radius = 36, + .level = 99, +}; + +StaticNpc N(NpcData_ParadePeach) = { + .id = NPC_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, + .drops = { + .dropFlags = NPC_DROP_FLAGS_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .animations = { + .idle = ANIM_ParadePeach_IdleRaisedArms, + .walk = ANIM_ParadePeach_IdleRaisedArms, + .run = ANIM_ParadePeach_IdleRaisedArms, + .chase = ANIM_ParadePeach_IdleRaisedArms, + .anim_4 = ANIM_ParadePeach_IdleRaisedArms, + .anim_5 = ANIM_ParadePeach_IdleRaisedArms, + .death = ANIM_ParadePeach_IdleRaisedArms, + .hit = ANIM_ParadePeach_IdleRaisedArms, + .anim_8 = ANIM_ParadePeach_IdleRaisedArms, + .anim_9 = ANIM_ParadePeach_IdleRaisedArms, + .anim_A = ANIM_ParadePeach_IdleRaisedArms, + .anim_B = ANIM_ParadePeach_IdleRaisedArms, + .anim_C = ANIM_ParadePeach_IdleRaisedArms, + .anim_D = ANIM_ParadePeach_IdleRaisedArms, + .anim_E = ANIM_ParadePeach_IdleRaisedArms, + .anim_F = ANIM_ParadePeach_IdleRaisedArms, + }, +}; + +NpcGroupList N(DefaultNPCs) = { + NPC_GROUP(N(NpcData_ParadePeach)), + {} +}; diff --git a/src/world/area_kmr/kmr_30/kmr_30_3_the_end.c b/src/world/area_kmr/kmr_30/kmr_30_3_the_end.c new file mode 100644 index 0000000000..5f14f31ade --- /dev/null +++ b/src/world/area_kmr/kmr_30/kmr_30_3_the_end.c @@ -0,0 +1,241 @@ +#include "kmr_30.h" +#include "effects.h" + +API_CALLABLE(N(ChooseFireworkColors)) { + Bytecode* args = script->ptrReadPos; + EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++); + s32 colR1, colG1, colB1; + s32 colR2, colG2, colB2; + s32 inv; + + colR1 = colR2 = rand_int(255); + inv = 255 - colR1; + colG1 = colG2 = rand_int(inv); + inv = 255 - colG1; + colB1 = colB2 = rand_int(inv - colR1); + + colR1 += rand_int(128); + colG1 += rand_int(128); + colB1 += rand_int(128); + if (colR1 > 255) { + colR1 = 255; + } + if (colG1 > 255) { + colG1 = 255; + } + if (colB1 > 255) { + colB1 = 255; + } + + colR2 += rand_int(128); + colG2 += rand_int(128); + colB2 += rand_int(128); + if (colR2 > 255) { + colR2 = 255; + } + if (colG2 > 255) { + colG2 = 255; + } + if (colB2 > 255) { + colB2 = 255; + } + + effect->data.fireworkRocket->unk_24 = colR1; + effect->data.fireworkRocket->unk_28 = colG1; + effect->data.fireworkRocket->unk_2C = colB1; + effect->data.fireworkRocket->unk_34 = colR2; + effect->data.fireworkRocket->unk_38 = colG2; + effect->data.fireworkRocket->unk_3C = colB2; + return ApiStatus_DONE2; +} + +EvtScript N(EVS_RandomFireworks) = { + EVT_SET(LVarA, LVar0) + EVT_CALL(RandInt, 400, LVar0) + EVT_SET(LVar1, -47) + EVT_ADD(LVar1, LVar0) + EVT_CALL(RandInt, 250, LVar0) + EVT_SET(LVar2, 220) + EVT_ADD(LVar2, LVar0) + EVT_CALL(RandInt, 200, LVar0) + EVT_SET(LVar3, -450) + EVT_ADD(LVar3, LVar0) + EVT_CALL(RandInt, 2, LVar0) + EVT_SET(LVar4, -1) + EVT_ADD(LVar4, LVar0) + EVT_CALL(RandInt, 4, LVar0) + EVT_SET(LVar5, 2) + EVT_ADD(LVar5, LVar0) + EVT_CALL(RandInt, 2, LVar0) + EVT_SET(LVar6, -1) + EVT_ADD(LVar6, LVar0) + EVT_CALL(RandInt, 5, LVar0) + EVT_SETF(LVar7, EVT_FLOAT(1.0)) + EVT_MULF(LVar0, EVT_FLOAT(0.1)) + EVT_ADDF(LVar7, LVar0) + EVT_PLAY_EFFECT(EFFECT_FIREWORK_ROCKET, LVarA, LVar1, LVar2, LVar3, LVar4, LVar5, LVar6, LVar7, 70) + EVT_CALL(N(ChooseFireworkColors), LVarF) + EVT_IF_NE(LVarA, 2) + EVT_CALL(RandInt, 100, LVar8) + EVT_IF_LT(LVar8, 50) + EVT_IF_EQ(LVarA, 0) + EVT_PLAY_EFFECT(EFFECT_FIREWORK_ROCKET, 1, LVar1, LVar2, LVar3, LVar4, LVar5, LVar6, LVar7, 70) + EVT_ELSE + EVT_PLAY_EFFECT(EFFECT_FIREWORK_ROCKET, 0, LVar1, LVar2, LVar3, LVar4, LVar5, LVar6, LVar7, 70) + EVT_END_IF + EVT_CALL(N(ChooseFireworkColors), LVarF) + EVT_END_IF + EVT_END_IF + EVT_RETURN + EVT_END +}; + +s32 TheEndModelAlpha = 0; + +API_CALLABLE(N(UpdateTheEndAlpha)) { + Bytecode* args = script->ptrReadPos; + TheEndModelAlpha = evt_get_variable(script, *args++); + return ApiStatus_DONE2; +} +void N(gfx_build_the_end)(void) { + gDPSetCombineLERP(gMasterGfxPos++, + TEXEL0, 0, SHADE, 0, + TEXEL0, 0, PRIMITIVE, 0, + TEXEL0, 0, SHADE, 0, + TEXEL0, 0, PRIMITIVE, 0); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, TheEndModelAlpha); +} + +EvtScript N(EVS_Scene_TheEnd) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(InterpPlayerYaw, 270, 0) + EVT_CALL(SetPlayerPos, 520, 0, -180) + EVT_CALL(SetNpcAnimation, NPC_ParadePeach, ANIM_ParadePeach_ShadeIdle) + EVT_CALL(SetNpcYaw, NPC_ParadePeach, 270) + EVT_CALL(SetNpcPos, NPC_ParadePeach, 560, 0, -180) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) + EVT_CALL(SetNpcPos, NPC_PARTNER, 0, -500, 0) + EVT_CALL(EnableGroup, MODEL_the_end, FALSE) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(8.0), EVT_FLOAT(-11.5)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_THREAD + EVT_CALL(SetNpcSpeed, NPC_ParadePeach, EVT_FLOAT(2.0)) + EVT_CALL(SetNpcFlagBits, NPC_ParadePeach, NPC_FLAG_GRAVITY, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_ParadePeach, NPC_FLAG_ENABLE_HIT_SCRIPT, FALSE) + EVT_CALL(SetNpcAnimation, NPC_ParadePeach, ANIM_ParadePeach_ShadeWalk) + EVT_CALL(NpcMoveTo, NPC_ParadePeach, 450, -60, 0) + EVT_CALL(SetNpcAnimation, NPC_ParadePeach, ANIM_ParadePeach_ShadeWalkBack) + EVT_CALL(NpcMoveTo, NPC_ParadePeach, 350, -90, 0) + EVT_CALL(NpcMoveTo, NPC_ParadePeach, 330, -130, 0) + EVT_CALL(SetNpcAnimation, NPC_ParadePeach, ANIM_ParadePeach_ShadeBack) + EVT_END_THREAD + EVT_CALL(SetPlayerSpeed, EVT_FLOAT(2.0)) + EVT_CALL(PlayerMoveTo, 450, -60, 0) + EVT_CALL(PlayerMoveTo, 320, -80, 0) + EVT_CALL(PlayerMoveTo, 300, -120, 0) + EVT_WAIT(30) + EVT_PLAY_EFFECT(EFFECT_FIREWORK_ROCKET, 0, 153, 370, -350, -1, 4, -1, EVT_FLOAT(1.6), 70) + EVT_CALL(N(ChooseFireworkColors), LVarF) + EVT_WAIT(30) + EVT_PLAY_EFFECT(EFFECT_FIREWORK_ROCKET, 1, 333, 420, -270, -1, 4, -1, EVT_FLOAT(1.6), 70) + EVT_CALL(N(ChooseFireworkColors), LVarF) + EVT_WAIT(30) + EVT_PLAY_EFFECT(EFFECT_FIREWORK_ROCKET, 0, -27, 320, -430, -1, 4, -1, EVT_FLOAT(1.6), 70) + EVT_CALL(N(ChooseFireworkColors), LVarF) + EVT_WAIT(80) + EVT_PLAY_EFFECT(EFFECT_FIREWORK_ROCKET, 2, 153, 370, -350, -1, 4, -1, EVT_FLOAT(1.6), 70) + EVT_CALL(N(ChooseFireworkColors), LVarF) + EVT_WAIT(30) + EVT_THREAD + EVT_WAIT(150) + EVT_LOOP(0) + EVT_CALL(RandInt, 60, LVar1) + EVT_ADD(LVar1, 5) + EVT_CALL(RandInt, 5, LVar2) + EVT_ADD(LVar2, 1) + EVT_LOOP(LVar2) + EVT_SET(LVar0, 0) + EVT_EXEC(N(EVS_RandomFireworks)) + EVT_WAIT(LVar1) + EVT_END_LOOP + EVT_CALL(RandInt, 60, LVar0) + EVT_ADD(LVar0, 60) + EVT_WAIT(LVar0) + EVT_SET(LVar0, 2) + EVT_EXEC(N(EVS_RandomFireworks)) + EVT_CALL(RandInt, 60, LVar0) + EVT_ADD(LVar0, 60) + EVT_WAIT(LVar0) + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_WAIT(240) + EVT_LOOP(0) + EVT_CALL(RandInt, 60, LVar1) + EVT_ADD(LVar1, 5) + EVT_CALL(RandInt, 5, LVar2) + EVT_ADD(LVar2, 1) + EVT_LOOP(LVar2) + EVT_SET(LVar0, 1) + EVT_EXEC(N(EVS_RandomFireworks)) + EVT_WAIT(LVar1) + EVT_END_LOOP + EVT_CALL(RandInt, 60, LVar0) + EVT_ADD(LVar0, 60) + EVT_WAIT(LVar0) + EVT_SET(LVar0, 2) + EVT_EXEC(N(EVS_RandomFireworks)) + EVT_CALL(RandInt, 60, LVar0) + EVT_ADD(LVar0, 60) + EVT_WAIT(LVar0) + EVT_END_LOOP + EVT_END_THREAD + EVT_WAIT(30) + EVT_CALL(EnableGroup, MODEL_the_end, TRUE) + EVT_CALL(SetModelCustomGfx, MODEL_t, 1, -1) + EVT_CALL(SetModelCustomGfx, MODEL_h, 1, -1) + EVT_CALL(SetModelCustomGfx, MODEL_e, 1, -1) + EVT_CALL(SetModelCustomGfx, MODEL_d, 1, -1) + EVT_CALL(SetModelCustomGfx, MODEL_n, 1, -1) + EVT_CALL(SetCustomGfxBuilders, 1, EVT_PTR(N(gfx_build_the_end)), 0) + EVT_CALL(MakeLerp, 0, 255, 90, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(N(UpdateTheEndAlpha), LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_WAIT(600) + EVT_THREAD + EVT_PLAY_EFFECT(EFFECT_FIREWORK_ROCKET, 0, 310, 280, -250, -1, 6, -1, EVT_FLOAT(1.6), 70) + EVT_CALL(N(ChooseFireworkColors), LVarF) + EVT_END_THREAD + EVT_WAIT(20) + EVT_CALL(MakeLerp, 0, 100, 30, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_SETF(LVar2, EVT_FLOAT(3.6)) + EVT_SETF(LVar3, EVT_FLOAT(-6.0)) + EVT_SETF(LVar4, EVT_FLOAT(0.6)) + EVT_SETF(LVar5, EVT_FLOAT(-0.0048828125)) + EVT_MULF(LVar2, LVar0) + EVT_MULF(LVar3, LVar0) + EVT_MULF(LVar4, LVar0) + EVT_MULF(LVar5, LVar0) + EVT_ADDF(LVar5, EVT_FLOAT(1.0)) + EVT_CALL(ScaleGroup, MODEL_the_end, LVar5, LVar5, LVar5) + EVT_CALL(TranslateGroup, MODEL_the_end, LVar2, LVar3, LVar4) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kzn/kzn_01/kzn_01.h b/src/world/area_kzn/kzn_01/kzn_01.h index da2827a22c..2b08e194e3 100644 --- a/src/world/area_kzn/kzn_01/kzn_01.h +++ b/src/world/area_kzn/kzn_01/kzn_01.h @@ -14,3 +14,6 @@ enum { }; #define NAMESPACE kzn_01 + +extern EvtScript N(EVS_Main); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_kzn/kzn_01/kzn_01_0_header.c b/src/world/area_kzn/kzn_01/kzn_01_0_header.c new file mode 100644 index 0000000000..2ca00f9c4b --- /dev/null +++ b/src/world/area_kzn/kzn_01/kzn_01_0_header.c @@ -0,0 +1,13 @@ +#include "kzn_01.h" + +EntryList N(Entrances) = { + [kzn_01_ENTRY_0] { -445.0, 0.0, 0.0, 90.0 }, + [kzn_01_ENTRY_1] { 425.0, -255.0, 0.0, 270.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .tattle = { MSG_MapTattle_kzn_01 }, +}; diff --git a/src/world/area_kzn/kzn_01/kzn_01_1_main.c b/src/world/area_kzn/kzn_01/kzn_01_1_main.c index 2e0e3671b6..61d34e5bb2 100644 --- a/src/world/area_kzn/kzn_01/kzn_01_1_main.c +++ b/src/world/area_kzn/kzn_01/kzn_01_1_main.c @@ -1,20 +1,5 @@ #include "kzn_01.h" -extern EvtScript N(EVS_Main); -extern NpcGroupList N(DefaultNPCs); - -EntryList N(Entrances) = { - [kzn_01_ENTRY_0] { -445.0, 0.0, 0.0, 90.0 }, - [kzn_01_ENTRY_1] { 425.0, -255.0, 0.0, 270.0 }, -}; - -MapSettings N(settings) = { - .main = &N(EVS_Main), - .entryList = &N(Entrances), - .entryCount = ENTRY_COUNT(N(Entrances)), - .tattle = { MSG_MapTattle_kzn_01 }, -}; - #include "world/common/atomic/kzn_SmokeTexPanners.inc.c" EvtScript N(EVS_ExitWalk_jan_22_2) = EVT_EXIT_WALK(60, kzn_01_ENTRY_0, "jan_22", jan_22_ENTRY_2); diff --git a/src/world/area_kzn/kzn_01/kzn_01_2_enemy.c b/src/world/area_kzn/kzn_01/kzn_01_2_npc.c similarity index 57% rename from src/world/area_kzn/kzn_01/kzn_01_2_enemy.c rename to src/world/area_kzn/kzn_01/kzn_01_2_npc.c index 62e2d80d17..03e0b5f116 100644 --- a/src/world/area_kzn/kzn_01/kzn_01_2_enemy.c +++ b/src/world/area_kzn/kzn_01/kzn_01_2_npc.c @@ -1,17 +1,6 @@ #include "kzn_01.h" -#include "sprite/npc/LargePiranha.h" -NpcSettings N(NpcSettings_PutridPiranha) = { - .height = 30, - .radius = 24, - .level = 99, -}; - -NpcSettings N(NpcSettings_Unused) = { - .height = 23, - .radius = 19, - .level = 99, -}; +#include "world/common/enemy/complete/PutridPiranhaSentinel.inc.c" EvtScript N(EVS_NpcIdle_PutridPiranha) = { EVT_LABEL(0) @@ -58,40 +47,13 @@ EvtScript N(EVS_NpcInit_PutridPiranha) = { StaticNpc N(NpcPutridPiranha) = { .id = NPC_PutridPiranha, - .settings = &N(NpcSettings_PutridPiranha), + .settings = &N(NpcSettings_PutridPiranhaSentinel), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, .flags = NPC_FLAG_4 | NPC_FLAG_200000, .init = &N(EVS_NpcInit_PutridPiranha), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_FIRE_FLOWER, 10, 0 } - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(3), - .minCoinBonus = 0, - .maxCoinBonus = 2, - }, - .animations = { - .idle = ANIM_LargePiranha_Putrid_Anim01, - .walk = ANIM_LargePiranha_Putrid_Anim02, - .run = ANIM_LargePiranha_Putrid_Anim03, - .chase = ANIM_LargePiranha_Putrid_Anim03, - .anim_4 = ANIM_LargePiranha_Putrid_Anim01, - .anim_5 = ANIM_LargePiranha_Putrid_Anim01, - .death = ANIM_LargePiranha_Putrid_Anim0E, - .hit = ANIM_LargePiranha_Putrid_Anim0E, - .anim_8 = ANIM_LargePiranha_Putrid_Anim18, - .anim_9 = ANIM_LargePiranha_Putrid_Anim17, - .anim_A = ANIM_LargePiranha_Putrid_Anim05, - .anim_B = ANIM_LargePiranha_Putrid_Anim06, - .anim_C = ANIM_LargePiranha_Putrid_Anim07, - .anim_D = ANIM_LargePiranha_Putrid_Anim01, - .anim_E = ANIM_LargePiranha_Putrid_Anim01, - .anim_F = ANIM_LargePiranha_Putrid_Anim01, - }, + .drops = PIRANHA_SENTINEL_DROPS, + .animations = PIRANHA_SENTINEL_ANIMS, }; NpcGroupList N(DefaultNPCs) = { diff --git a/src/world/area_kzn/kzn_02/kzn_02.h b/src/world/area_kzn/kzn_02/kzn_02.h index 435329b7a9..ebbd515030 100644 --- a/src/world/area_kzn/kzn_02/kzn_02.h +++ b/src/world/area_kzn/kzn_02/kzn_02.h @@ -9,13 +9,15 @@ #include "mapfs/kzn_02_shape.h" #include "mapfs/kzn_02_hit.h" -#include "sprite/npc/WorldParakarry.h" -#include "sprite/npc/Kolorado.h" -#include "sprite/npc/LavaBubble.h" - enum { NPC_Kolorado = 0, NPC_LavaBubble = 1, }; #define NAMESPACE kzn_02 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_InitializePlatforms); +extern EvtScript N(EVS_PlayDemoScene); +extern EvtScript N(EVS_KoloradoSinkingPlatform); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_kzn/kzn_02/kzn_02_0_header.c b/src/world/area_kzn/kzn_02/kzn_02_0_header.c new file mode 100644 index 0000000000..bfd283299a --- /dev/null +++ b/src/world/area_kzn/kzn_02/kzn_02_0_header.c @@ -0,0 +1,14 @@ +#include "kzn_02.h" + +EntryList N(Entrances) = { + [kzn_02_ENTRY_0] { -810.0, 20.0, -10.0, 90.0 }, + [kzn_02_ENTRY_1] { 810.0, 20.0, -10.0, 270.0 }, + [kzn_02_ENTRY_2] { -810.0, 20.0, -10.0, 90.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .tattle = { MSG_MapTattle_kzn_02 }, +}; diff --git a/src/world/area_kzn/kzn_02/kzn_02_1_main.c b/src/world/area_kzn/kzn_02/kzn_02_1_main.c index 471b109176..499bf69740 100644 --- a/src/world/area_kzn/kzn_02/kzn_02_1_main.c +++ b/src/world/area_kzn/kzn_02/kzn_02_1_main.c @@ -1,23 +1,5 @@ #include "kzn_02.h" -extern EvtScript N(EVS_Main); -extern EvtScript N(EVS_InitializePlatforms); -extern EvtScript N(EVS_PlayDemoScene); -extern NpcGroupList N(DefaultNPCs); - -EntryList N(Entrances) = { - [kzn_02_ENTRY_0] { -810.0, 20.0, -10.0, 90.0 }, - [kzn_02_ENTRY_1] { 810.0, 20.0, -10.0, 270.0 }, - [kzn_02_ENTRY_2] { -810.0, 20.0, -10.0, 90.0 }, -}; - -MapSettings N(settings) = { - .main = &N(EVS_Main), - .entryList = &N(Entrances), - .entryCount = ENTRY_COUNT(N(Entrances)), - .tattle = { MSG_MapTattle_kzn_02 }, -}; - #include "world/common/atomic/TexturePan.inc.c" #include "world/common/atomic/TexturePan.data.inc.c" 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 d5064f09a3..d3a38eff64 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 @@ -1,46 +1,22 @@ #include "kzn_02.h" -#include "message_ids.h" - -extern EvtScript N(EVS_KoloradoSinkingPlatform); #include "world/common/enemy/complete/LavaBubble.inc.c" -NpcSettings N(NpSettings_Kolorado) = { - .height = 40, - .radius = 24, - .level = 99, -}; +#include "world/common/npc/Kolorado.inc.c" -#include "world/common/atomic/LetterChoice.inc.c" +#include "world/common/complete/LetterDelivery.inc.c" s32 N(LetterList)[] = { ITEM_LETTER25, ITEM_NONE }; -EvtScript N(EVS_Kolorado_LetterDelivery) = { - EVT_CALL(N(LetterDelivery_Init), - NPC_Kolorado, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, - ITEM_LETTER25, 0, - MSG_CH5_00E4, MSG_CH5_00E5, MSG_CH5_00E6, MSG_CH5_00E7, - EVT_PTR(N(LetterList))) - EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) - EVT_RETURN - EVT_END -}; +EVT_LETTER_PROMPT(Kolorado, NPC_Kolorado, + ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, + MSG_CH5_00E4, MSG_CH5_00E5, MSG_CH5_00E6, MSG_CH5_00E7, + ITEM_LETTER25, N(LetterList)); -EvtScript N(EVS_Kolorado_LetterReward) = { - EVT_IF_EQ(LVarC, 2) - EVT_SET(LVar0, ITEM_STAR_PIECE) - EVT_SET(LVar1, 3) - EVT_EXEC_WAIT(N(GiveKeyReward)) - EVT_CALL(AddStarPieces, 1) - EVT_END_IF - EVT_RETURN - EVT_END -}; - -// END LETTER DELIVERY? +EVT_LETTER_REWARD(Kolorado); EvtScript N(EVS_NpcIdle_Kolorado) = { EVT_CALL(DisablePlayerInput, TRUE) @@ -162,8 +138,7 @@ EvtScript N(EVS_NpcInteract_Kolorado) = { EVT_CALL(NpcJump0, NPC_SELF, LVar0, LVar1, LVar2, 7) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Kolorado_Idle) EVT_CALL(CloseMessage) - EVT_EXEC_WAIT(N(EVS_Kolorado_LetterDelivery)) - EVT_EXEC_WAIT(N(EVS_Kolorado_LetterReward)) + EVT_LETTER_CHECK(Kolorado) EVT_RETURN EVT_END }; @@ -189,34 +164,13 @@ EvtScript N(EVS_NpcInit_Kolorado) = { StaticNpc N(NpcData_Kolorado) = { .id = NPC_Kolorado, - .settings = &N(NpSettings_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, .init = &N(EVS_NpcInit_Kolorado), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Kolorado_Idle, - .walk = ANIM_Kolorado_Walk, - .run = ANIM_Kolorado_Run, - .chase = ANIM_Kolorado_Run, - .anim_4 = ANIM_Kolorado_Idle, - .anim_5 = ANIM_Kolorado_Idle, - .death = ANIM_Kolorado_Idle, - .hit = ANIM_Kolorado_Idle, - .anim_8 = ANIM_Kolorado_Idle, - .anim_9 = ANIM_Kolorado_Idle, - .anim_A = ANIM_Kolorado_Idle, - .anim_B = ANIM_Kolorado_Idle, - .anim_C = ANIM_Kolorado_Idle, - .anim_D = ANIM_Kolorado_Idle, - .anim_E = ANIM_Kolorado_Idle, - .anim_F = ANIM_Kolorado_Idle, - }, + .drops = KOLORADO_DROPS, + .animations = KOLORADO_ANIMS, .tattle = MSG_NpcTattle_Kolorado, }; diff --git a/src/world/area_kzn/kzn_03/kzn_03.h b/src/world/area_kzn/kzn_03/kzn_03.h index 87d80c7af1..a7745155ae 100644 --- a/src/world/area_kzn/kzn_03/kzn_03.h +++ b/src/world/area_kzn/kzn_03/kzn_03.h @@ -9,12 +9,6 @@ #include "mapfs/kzn_03_shape.h" #include "mapfs/kzn_03_hit.h" -#include "sprite/npc/BuzzyBeetle.h" -#include "sprite/npc/WorldParakarry.h" -#include "sprite/npc/Kolorado.h" -#include "sprite/npc/SpikeTop.h" -#include "sprite/npc/LargePiranha.h" - enum { NPC_Kolorado = 0, NPC_ZiplineDummy1 = 1, @@ -36,3 +30,10 @@ enum { }; #define NAMESPACE kzn_03 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupZiplines); +extern EvtScript N(EVS_MakeEntities); +extern EvtScript N(EVS_SyncZiplineDummyNPC1); +extern EvtScript N(EVS_SyncZiplineDummyNPC2); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_kzn/kzn_03/kzn_03_0_header.c b/src/world/area_kzn/kzn_03/kzn_03_0_header.c new file mode 100644 index 0000000000..c28e9e35ad --- /dev/null +++ b/src/world/area_kzn/kzn_03/kzn_03_0_header.c @@ -0,0 +1,17 @@ +#include "kzn_03.h" +#include "entity.h" + +EntryList N(Entrances) = { + [kzn_03_ENTRY_0] { -410.0, 870.0, -65.0, 90.0 }, + [kzn_03_ENTRY_1] { 435.0, 670.0, -10.0, 270.0 }, + [kzn_03_ENTRY_2] { 450.0, 470.0, 220.0, 270.0 }, + [kzn_03_ENTRY_3] { -425.0, 60.0, 325.0, 90.0 }, + [kzn_03_ENTRY_4] { 440.0, 20.0, 280.0, 270.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .tattle = { MSG_MapTattle_kzn_03 }, +}; diff --git a/src/world/area_kzn/kzn_03/kzn_03_1_main.c b/src/world/area_kzn/kzn_03/kzn_03_1_main.c index f35e831b52..ce79f3c945 100644 --- a/src/world/area_kzn/kzn_03/kzn_03_1_main.c +++ b/src/world/area_kzn/kzn_03/kzn_03_1_main.c @@ -1,26 +1,6 @@ #include "kzn_03.h" #include "entity.h" -extern EvtScript N(EVS_Main); -extern EvtScript N(EVS_SetupZiplines); -extern EvtScript N(EVS_MakeEntities); -extern NpcGroupList N(DefaultNPCs); - -EntryList N(Entrances) = { - [kzn_03_ENTRY_0] { -410.0, 870.0, -65.0, 90.0 }, - [kzn_03_ENTRY_1] { 435.0, 670.0, -10.0, 270.0 }, - [kzn_03_ENTRY_2] { 450.0, 470.0, 220.0, 270.0 }, - [kzn_03_ENTRY_3] { -425.0, 60.0, 325.0, 90.0 }, - [kzn_03_ENTRY_4] { 440.0, 20.0, 280.0, 270.0 }, -}; - -MapSettings N(settings) = { - .main = &N(EVS_Main), - .entryList = &N(Entrances), - .entryCount = ENTRY_COUNT(N(Entrances)), - .tattle = { MSG_MapTattle_kzn_03 }, -}; - #include "world/common/atomic/kzn_SmokeTexPanners.inc.c" EvtScript N(EVS_ExitWalk_kzn_02_1) = EVT_EXIT_WALK(60, kzn_03_ENTRY_0, "kzn_02", kzn_02_ENTRY_1); 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 32b0ef6987..d7db1fbbda 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 @@ -10,40 +10,20 @@ NpcSettings N(NpcSettings_ZiplineDummy) = { .level = 99, }; -NpcSettings N(NpcSettings_Kolorado) = { - .height = 40, - .radius = 24, - .level = 99, -}; +#include "world/common/npc/Kolorado.inc.c" -#include "world/common/atomic/LetterChoice.inc.c" +#include "world/common/complete/LetterDelivery.inc.c" s32 N(LetterList)[] = { ITEM_LETTER25, ITEM_NONE }; -EvtScript N(EVS_Kolorado_LetterDelivery) = { - EVT_CALL(N(LetterDelivery_Init), - NPC_Kolorado, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, - ITEM_LETTER25, 0, - MSG_CH5_00E4, MSG_CH5_00E5, MSG_CH5_00E6, MSG_CH5_00E7, - EVT_PTR(N(LetterList))) - EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) - EVT_RETURN - EVT_END -}; +EVT_LETTER_PROMPT(Kolorado, NPC_Kolorado, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, + MSG_CH5_00E4, MSG_CH5_00E5, MSG_CH5_00E6, MSG_CH5_00E7, + ITEM_LETTER25, N(LetterList)); -EvtScript N(EVS_Kolorado_LetterReward) = { - EVT_IF_EQ(LVarC, 2) - EVT_SET(LVar0, ITEM_STAR_PIECE) - EVT_SET(LVar1, 3) - EVT_EXEC_WAIT(N(GiveKeyReward)) - EVT_CALL(AddStarPieces, 1) - EVT_END_IF - EVT_RETURN - EVT_END -}; +EVT_LETTER_REWARD(Kolorado); EvtScript N(EVS_NpcIdle_Kolorado) = { EVT_CALL(SetNpcSpeed, NPC_SELF, EVT_FLOAT(2.0)) @@ -135,8 +115,7 @@ EvtScript N(EVS_NpcInteract_Kolorado) = { EVT_WAIT(18) EVT_END_IF EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_100, FALSE) - EVT_EXEC_WAIT(N(EVS_Kolorado_LetterDelivery)) - EVT_EXEC_WAIT(N(EVS_Kolorado_LetterReward)) + EVT_LETTER_CHECK(Kolorado) EVT_RETURN EVT_END }; @@ -193,29 +172,8 @@ StaticNpc N(NpcData_PassiveNPCs)[] = { .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, .init = &N(EVS_NpcInit_Kolorado), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Kolorado_Idle, - .walk = ANIM_Kolorado_Walk, - .run = ANIM_Kolorado_Run, - .chase = ANIM_Kolorado_Run, - .anim_4 = ANIM_Kolorado_Idle, - .anim_5 = ANIM_Kolorado_Idle, - .death = ANIM_Kolorado_Idle, - .hit = ANIM_Kolorado_Idle, - .anim_8 = ANIM_Kolorado_Idle, - .anim_9 = ANIM_Kolorado_Idle, - .anim_A = ANIM_Kolorado_Idle, - .anim_B = ANIM_Kolorado_Idle, - .anim_C = ANIM_Kolorado_Idle, - .anim_D = ANIM_Kolorado_Idle, - .anim_E = ANIM_Kolorado_Idle, - .anim_F = ANIM_Kolorado_Idle, - }, + .drops = KOLORADO_DROPS, + .animations = KOLORADO_ANIMS, .tattle = MSG_NpcTattle_Kolorado, }, { @@ -225,29 +183,8 @@ StaticNpc N(NpcData_PassiveNPCs)[] = { .yaw = 90, .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000, .init = &N(EVS_NpcInit_ZiplineDummy), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Kolorado_Idle, - .walk = ANIM_Kolorado_Walk, - .run = ANIM_Kolorado_Run, - .chase = ANIM_Kolorado_Run, - .anim_4 = ANIM_Kolorado_Idle, - .anim_5 = ANIM_Kolorado_Idle, - .death = ANIM_Kolorado_Idle, - .hit = ANIM_Kolorado_Idle, - .anim_8 = ANIM_Kolorado_Idle, - .anim_9 = ANIM_Kolorado_Idle, - .anim_A = ANIM_Kolorado_Idle, - .anim_B = ANIM_Kolorado_Idle, - .anim_C = ANIM_Kolorado_Idle, - .anim_D = ANIM_Kolorado_Idle, - .anim_E = ANIM_Kolorado_Idle, - .anim_F = ANIM_Kolorado_Idle, - }, + .drops = KOLORADO_DROPS, + .animations = KOLORADO_ANIMS, .tattle = MSG_NpcTattle_Kolorado, }, { @@ -257,29 +194,8 @@ StaticNpc N(NpcData_PassiveNPCs)[] = { .yaw = 90, .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000, .init = &N(EVS_NpcInit_ZiplineDummy), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Kolorado_Idle, - .walk = ANIM_Kolorado_Walk, - .run = ANIM_Kolorado_Run, - .chase = ANIM_Kolorado_Run, - .anim_4 = ANIM_Kolorado_Idle, - .anim_5 = ANIM_Kolorado_Idle, - .death = ANIM_Kolorado_Idle, - .hit = ANIM_Kolorado_Idle, - .anim_8 = ANIM_Kolorado_Idle, - .anim_9 = ANIM_Kolorado_Idle, - .anim_A = ANIM_Kolorado_Idle, - .anim_B = ANIM_Kolorado_Idle, - .anim_C = ANIM_Kolorado_Idle, - .anim_D = ANIM_Kolorado_Idle, - .anim_E = ANIM_Kolorado_Idle, - .anim_F = ANIM_Kolorado_Idle, - }, + .drops = KOLORADO_DROPS, + .animations = KOLORADO_ANIMS, .tattle = MSG_NpcTattle_Kolorado, }, }; diff --git a/src/world/area_kzn/kzn_03/kzn_03_4_ziplines.c b/src/world/area_kzn/kzn_03/kzn_03_4_ziplines.c index 3ada190dd0..134e9d04ec 100644 --- a/src/world/area_kzn/kzn_03/kzn_03_4_ziplines.c +++ b/src/world/area_kzn/kzn_03/kzn_03_4_ziplines.c @@ -1,9 +1,6 @@ #include "kzn_03.h" -extern EvtScript N(EVS_SyncZiplineDummyNPC1); -extern EvtScript N(EVS_SyncZiplineDummyNPC2); - API_CALLABLE(N(Zipline_AdjustMoveDownSound)) { Bytecode* args = script->ptrReadPos; diff --git a/src/world/area_kzn/kzn_04/kzn_04.h b/src/world/area_kzn/kzn_04/kzn_04.h index 9551b0f12c..ab129f6b68 100644 --- a/src/world/area_kzn/kzn_04/kzn_04.h +++ b/src/world/area_kzn/kzn_04/kzn_04.h @@ -9,8 +9,6 @@ #include "mapfs/kzn_04_shape.h" #include "mapfs/kzn_04_hit.h" -#include "sprite/npc/Fire.h" - enum { NPC_FireBar_1A = 0, NPC_FireBar_1B = 1, @@ -31,3 +29,7 @@ enum { }; #define NAMESPACE kzn_04 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_kzn/kzn_04/kzn_04_0_header.c b/src/world/area_kzn/kzn_04/kzn_04_0_header.c new file mode 100644 index 0000000000..bb2c2b3e2a --- /dev/null +++ b/src/world/area_kzn/kzn_04/kzn_04_0_header.c @@ -0,0 +1,12 @@ +#include "kzn_04.h" + +EntryList N(Entrances) = { + [kzn_04_ENTRY_0] { -560.0, 500.0, 5.0, 90.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .tattle = { MSG_MapTattle_kzn_04 }, +}; diff --git a/src/world/area_kzn/kzn_04/kzn_04_1_main.c b/src/world/area_kzn/kzn_04/kzn_04_1_main.c index 2b08f216ae..7412ba0a5c 100644 --- a/src/world/area_kzn/kzn_04/kzn_04_1_main.c +++ b/src/world/area_kzn/kzn_04/kzn_04_1_main.c @@ -1,20 +1,5 @@ #include "kzn_04.h" -extern EvtScript N(EVS_Main); -extern EvtScript N(EVS_MakeEntities); -extern NpcGroupList N(DefaultNPCs); - -EntryList N(Entrances) = { - [kzn_04_ENTRY_0] { -560.0, 500.0, 5.0, 90.0 }, -}; - -MapSettings N(settings) = { - .main = &N(EVS_Main), - .entryList = &N(Entrances), - .entryCount = ENTRY_COUNT(N(Entrances)), - .tattle = { MSG_MapTattle_kzn_04 }, -}; - #include "world/common/atomic/kzn_SmokeTexPanners.inc.c" EvtScript N(EVS_ExitWalk_kzn_03_1) = EVT_EXIT_WALK(60, kzn_04_ENTRY_0, "kzn_03", kzn_03_ENTRY_1); 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 abed10a6cd..0ec7f7103c 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 @@ -1,6 +1,7 @@ #include "kzn_04.h" #include "effects.h" +#include "sprite/npc/Fire.h" #include "world/common/enemy/ai/FireBarAI.inc.c" s32 N(FireBar_Sounds)[] = { diff --git a/src/world/area_kzn/kzn_05/kzn_05.h b/src/world/area_kzn/kzn_05/kzn_05.h index db5c81b957..860bf939f9 100644 --- a/src/world/area_kzn/kzn_05/kzn_05.h +++ b/src/world/area_kzn/kzn_05/kzn_05.h @@ -10,3 +10,5 @@ #include "mapfs/kzn_05_hit.h" #define NAMESPACE kzn_05 + +extern EvtScript N(EVS_Main); diff --git a/src/world/area_kzn/kzn_05/kzn_05_0_header.c b/src/world/area_kzn/kzn_05/kzn_05_0_header.c new file mode 100644 index 0000000000..c8d6bcfae9 --- /dev/null +++ b/src/world/area_kzn/kzn_05/kzn_05_0_header.c @@ -0,0 +1,13 @@ +#include "kzn_05.h" + +EntryList N(Entrances) = { + [kzn_05_ENTRY_0] { -430.0, -259.0, 10.0, 90.0 }, + [kzn_05_ENTRY_1] { 450.0, 0.0, 10.0, 270.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .tattle = { MSG_MapTattle_kzn_05 }, +}; diff --git a/src/world/area_kzn/kzn_05/kzn_05_1_main.c b/src/world/area_kzn/kzn_05/kzn_05_1_main.c index c02021c7b6..cab9636306 100644 --- a/src/world/area_kzn/kzn_05/kzn_05_1_main.c +++ b/src/world/area_kzn/kzn_05/kzn_05_1_main.c @@ -1,19 +1,5 @@ #include "kzn_05.h" -extern EvtScript N(EVS_Main); - -EntryList N(Entrances) = { - [kzn_05_ENTRY_0] { -430.0, -259.0, 10.0, 90.0 }, - [kzn_05_ENTRY_1] { 450.0, 0.0, 10.0, 270.0 }, -}; - -MapSettings N(settings) = { - .main = &N(EVS_Main), - .entryList = &N(Entrances), - .entryCount = ENTRY_COUNT(N(Entrances)), - .tattle = { MSG_MapTattle_kzn_05 }, -}; - #include "world/common/atomic/kzn_SmokeTexPanners.inc.c" EvtScript N(EVS_ExitWalk_kzn_06_0) = EVT_EXIT_WALK(60, kzn_05_ENTRY_0, "kzn_06", kzn_06_ENTRY_0); diff --git a/src/world/area_kzn/kzn_06/kzn_06.h b/src/world/area_kzn/kzn_06/kzn_06.h index 3cbb13d7aa..dfbdc527bb 100644 --- a/src/world/area_kzn/kzn_06/kzn_06.h +++ b/src/world/area_kzn/kzn_06/kzn_06.h @@ -9,9 +9,12 @@ #include "mapfs/kzn_06_shape.h" #include "mapfs/kzn_06_hit.h" -// map variables enum { MV_GlowIntensity = MapVar(0), }; #define NAMESPACE kzn_06 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_MakeEntities); +extern EvtScript N(EVS_SetupLavaPuzzle); diff --git a/src/world/area_kzn/kzn_06/kzn_06_0_header.c b/src/world/area_kzn/kzn_06/kzn_06_0_header.c new file mode 100644 index 0000000000..9e96c9f70f --- /dev/null +++ b/src/world/area_kzn/kzn_06/kzn_06_0_header.c @@ -0,0 +1,14 @@ +#include "kzn_06.h" + +EntryList N(Entrances) = { + [kzn_06_ENTRY_0] { 385.0, 115.0, 55.0, 270.0 }, + [kzn_06_ENTRY_1] { -385.0, 75.0, 68.0, 90.0 }, + [kzn_06_ENTRY_2] { 400.0, 5.0, 175.0, 270.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .tattle = { MSG_MapTattle_kzn_06 }, +}; diff --git a/src/world/area_kzn/kzn_06/kzn_06_1_main.c b/src/world/area_kzn/kzn_06/kzn_06_1_main.c index 7521d4c72a..87b90763d4 100644 --- a/src/world/area_kzn/kzn_06/kzn_06_1_main.c +++ b/src/world/area_kzn/kzn_06/kzn_06_1_main.c @@ -1,22 +1,5 @@ #include "kzn_06.h" -extern EvtScript N(EVS_Main); -extern EvtScript N(EVS_MakeEntities); -extern EvtScript N(EVS_SetupLavaPuzzle); - -EntryList N(Entrances) = { - [kzn_06_ENTRY_0] { 385.0, 115.0, 55.0, 270.0 }, - [kzn_06_ENTRY_1] { -385.0, 75.0, 68.0, 90.0 }, - [kzn_06_ENTRY_2] { 400.0, 5.0, 175.0, 270.0 }, -}; - -MapSettings N(settings) = { - .main = &N(EVS_Main), - .entryList = &N(Entrances), - .entryCount = ENTRY_COUNT(N(Entrances)), - .tattle = { MSG_MapTattle_kzn_06 }, -}; - #include "world/common/atomic/TexturePan.inc.c" #include "world/common/atomic/TexturePan.data.inc.c" diff --git a/src/world/area_kzn/kzn_06/kzn_06_3_extra.c b/src/world/area_kzn/kzn_06/kzn_06_3_extra.c index be4a62ec3f..12d1b024e7 100644 --- a/src/world/area_kzn/kzn_06/kzn_06_3_extra.c +++ b/src/world/area_kzn/kzn_06/kzn_06_3_extra.c @@ -74,11 +74,11 @@ ModelIDList N(InvalidLavaModels) = { EvtScript N(EVS_8024137C) = { EVT_LABEL(0) - EVT_CALL(N(AdjustFog), EVT_PTR(N(InvalidLavaModels)), 0, 0, 255, 60, 1) - EVT_WAIT(30) - EVT_CALL(N(AdjustFog), EVT_PTR(N(InvalidLavaModels)), 0, 0, 255, 60, 0) - EVT_WAIT(30) - EVT_GOTO(0) + EVT_CALL(N(AdjustFog), EVT_PTR(N(InvalidLavaModels)), 0, 0, 255, 60, 1) + EVT_WAIT(30) + EVT_CALL(N(AdjustFog), EVT_PTR(N(InvalidLavaModels)), 0, 0, 255, 60, 0) + EVT_WAIT(30) + EVT_GOTO(0) EVT_RETURN EVT_END }; diff --git a/src/world/area_kzn/kzn_07/kzn_07.h b/src/world/area_kzn/kzn_07/kzn_07.h index 0f9c8c2be6..f54902038c 100644 --- a/src/world/area_kzn/kzn_07/kzn_07.h +++ b/src/world/area_kzn/kzn_07/kzn_07.h @@ -9,8 +9,6 @@ #include "mapfs/kzn_07_shape.h" #include "mapfs/kzn_07_hit.h" -#include "sprite/npc/LavaBubble.h" - enum { NPC_Bubble_01 = 0, NPC_Bubble_02 = 1, @@ -22,3 +20,9 @@ enum { }; #define NAMESPACE kzn_07 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(DefaultNPCs); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_PlayUpgradeFanfare); diff --git a/src/world/area_kzn/kzn_07/kzn_07_0_header.c b/src/world/area_kzn/kzn_07/kzn_07_0_header.c index fe95a4cb9f..3d2e734c07 100644 --- a/src/world/area_kzn/kzn_07/kzn_07_0_header.c +++ b/src/world/area_kzn/kzn_07/kzn_07_0_header.c @@ -1,7 +1,5 @@ #include "kzn_07.h" -extern EvtScript N(EVS_Main); - EntryList N(Entrances) = { [kzn_07_ENTRY_0] { 290.0, 0.0, 70.0, 270.0 }, }; @@ -12,20 +10,3 @@ MapSettings N(settings) = { .entryCount = ENTRY_COUNT(N(Entrances)), .tattle = { MSG_MapTattle_kzn_07 }, }; - -//SPLIT for music? - -EvtScript N(EVS_SetupMusic) = { - EVT_CALL(SetMusicTrack, 0, SONG_MT_LAVALAVA, 0, 8) - EVT_CALL(PlayAmbientSounds, AMBIENT_UNDER_SEA1) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_PlayUpgradeFanfare) = { - EVT_CALL(PushSong, SONG_ITEM_UPGRADE, 1) - EVT_WAIT(130) - EVT_CALL(PopSong) - EVT_RETURN - EVT_END -}; diff --git a/src/world/area_kzn/kzn_07/kzn_07_1_music.c b/src/world/area_kzn/kzn_07/kzn_07_1_music.c new file mode 100644 index 0000000000..490dbf9d29 --- /dev/null +++ b/src/world/area_kzn/kzn_07/kzn_07_1_music.c @@ -0,0 +1,16 @@ +#include "kzn_07.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_CALL(SetMusicTrack, 0, SONG_MT_LAVALAVA, 0, 8) + EVT_CALL(PlayAmbientSounds, AMBIENT_UNDER_SEA1) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_PlayUpgradeFanfare) = { + EVT_CALL(PushSong, SONG_ITEM_UPGRADE, 1) + EVT_WAIT(130) + EVT_CALL(PopSong) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kzn/kzn_07/kzn_07_1_main.c b/src/world/area_kzn/kzn_07/kzn_07_2_main.c similarity index 95% rename from src/world/area_kzn/kzn_07/kzn_07_1_main.c rename to src/world/area_kzn/kzn_07/kzn_07_2_main.c index 0712cf4264..c66e878c56 100644 --- a/src/world/area_kzn/kzn_07/kzn_07_1_main.c +++ b/src/world/area_kzn/kzn_07/kzn_07_2_main.c @@ -1,10 +1,6 @@ #include "kzn_07.h" #include "model.h" -extern EvtScript N(EVS_MakeEntities); -extern NpcGroupList N(DefaultNPCs); -extern EvtScript N(EVS_SetupMusic); - #include "world/common/atomic/LavaGlowLighting.inc.c" #include "world/common/atomic/TexturePan.inc.c" diff --git a/src/world/area_kzn/kzn_07/kzn_07_2_entity.c b/src/world/area_kzn/kzn_07/kzn_07_3_entity.c similarity index 97% rename from src/world/area_kzn/kzn_07/kzn_07_2_entity.c rename to src/world/area_kzn/kzn_07/kzn_07_3_entity.c index ae391338dc..c80fcf3f64 100644 --- a/src/world/area_kzn/kzn_07/kzn_07_2_entity.c +++ b/src/world/area_kzn/kzn_07/kzn_07_3_entity.c @@ -2,8 +2,6 @@ #include "effects.h" #include "entity.h" -extern EvtScript N(EVS_PlayUpgradeFanfare); - #include "world/common/atomic/PushBlockGravity.inc.c" API_CALLABLE(func_802407F4_C6EB24) { diff --git a/src/world/area_kzn/kzn_07/kzn_07_3_enemy.c b/src/world/area_kzn/kzn_07/kzn_07_4_npc.c similarity index 100% rename from src/world/area_kzn/kzn_07/kzn_07_3_enemy.c rename to src/world/area_kzn/kzn_07/kzn_07_4_npc.c diff --git a/src/world/area_kzn/kzn_08/kzn_08.h b/src/world/area_kzn/kzn_08/kzn_08.h index 62d05493f9..ae518f9fcf 100644 --- a/src/world/area_kzn/kzn_08/kzn_08.h +++ b/src/world/area_kzn/kzn_08/kzn_08.h @@ -9,8 +9,6 @@ #include "mapfs/kzn_08_shape.h" #include "mapfs/kzn_08_hit.h" -#include "sprite/npc/LargePiranha.h" - enum { NPC_PutridPiranha = 0, NPC_Piranha_Hitbox = 1 @@ -21,3 +19,14 @@ enum { }; #define NAMESPACE kzn_08 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_MakeEntities); + +extern NpcGroupList N(DefaultNPCs); +extern EvtScript N(EVS_802455A0); +extern API_CALLABLE(N(ApplyLavaGlowLighting)); +extern API_CALLABLE(N(ClearLavaGlowLighting)); + +void disable_world_fog(void); +void get_model_fog_color_parameters(u8*, u8*, u8*, u8*, u8*, u8*, u8*, s32*, s32*); diff --git a/src/world/area_kzn/kzn_08/kzn_08_0_header.c b/src/world/area_kzn/kzn_08/kzn_08_0_header.c new file mode 100644 index 0000000000..ced99a57c7 --- /dev/null +++ b/src/world/area_kzn/kzn_08/kzn_08_0_header.c @@ -0,0 +1,13 @@ +#include "kzn_08.h" +#include "model.h" + +EntryList N(Entrances) = { + [kzn_08_ENTRY_0] { -315.0, 0.0, 85.0, 90.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .tattle = { MSG_MapTattle_kzn_08 }, +}; diff --git a/src/world/area_kzn/kzn_08/kzn_08_1_main.c b/src/world/area_kzn/kzn_08/kzn_08_1_main.c index dead67f691..da0cec54e9 100644 --- a/src/world/area_kzn/kzn_08/kzn_08_1_main.c +++ b/src/world/area_kzn/kzn_08/kzn_08_1_main.c @@ -1,29 +1,6 @@ #include "kzn_08.h" #include "model.h" -// header and utility includes - -extern EvtScript N(EVS_Main); -extern EvtScript N(EVS_MakeEntities); - -extern NpcGroupList N(DefaultNPCs); -extern EvtScript N(EVS_802455A0); -extern API_CALLABLE(N(ApplyLavaGlowLighting)); -extern API_CALLABLE(N(ClearLavaGlowLighting)); - -void disable_world_fog(void); - -EntryList N(Entrances) = { - [kzn_08_ENTRY_0] { -315.0, 0.0, 85.0, 90.0 }, -}; - -MapSettings N(settings) = { - .main = &N(EVS_Main), - .entryList = &N(Entrances), - .entryCount = ENTRY_COUNT(N(Entrances)), - .tattle = { MSG_MapTattle_kzn_08 }, -}; - #include "world/common/atomic/LavaGlowLighting.inc.c" #include "world/common/atomic/TexturePan.inc.c" diff --git a/src/world/area_kzn/kzn_08/kzn_08_2_entity.c b/src/world/area_kzn/kzn_08/kzn_08_2_entity.c index 41588304cd..ff930a9142 100644 --- a/src/world/area_kzn/kzn_08/kzn_08_2_entity.c +++ b/src/world/area_kzn/kzn_08/kzn_08_2_entity.c @@ -1,60 +1,14 @@ #include "kzn_08.h" #include "entity.h" -s32** N(varStash) = NULL; +#include "world/common/atomic/Chest.inc.c" -#include "world/common/todo/StashVars.inc.c" - -#include "world/common/todo/GetItemName.inc.c" - -#include "world/common/todo/SomeItemEntityFunc.inc.c" - -#include "world/common/todo/IsItemBadge.inc.c" - -EvtScript N(D_80244BB4_C76034) = { - EVT_SET_GROUP(EVT_GROUP_00) - EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_FULL) - EVT_WAIT(40) - EVT_CALL(ShowGotItem, LVar0, FALSE, 0) - EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_NORMAL) - EVT_RETURN - EVT_RETURN - EVT_END -}; - -EvtScript N(D_80244C1C_C7609C) = { - EVT_CALL(DisablePlayerInput, TRUE) - EVT_SET(LVar0, LVarA) - EVT_IF_NE(LVarA, 0) - EVT_EXEC_WAIT(N(D_80244BB4_C76034)) - EVT_END_IF - EVT_SWITCH(LVarB) - EVT_CASE_EQ(ITEM_TYPE_CONSUMABLE) - EVT_CALL(AddItem, LVarA, LVar0) - EVT_CASE_EQ(ITEM_TYPE_KEY) - EVT_CALL(AddKeyItem, LVarA) - EVT_CASE_EQ(ITEM_TYPE_BADGE) - EVT_CALL(AddBadge, LVarA, LVar0) - EVT_END_SWITCH - EVT_WAIT(15) - EVT_CALL(DisablePlayerInput, FALSE) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_OpenChest) = { - EVT_SET(LVarA, ITEM_DIZZY_STOMP) - EVT_SET(LVarB, ITEM_TYPE_BADGE) - EVT_SET(GF_KZN08_Chest_DizzyStomp, TRUE) - EVT_EXEC_WAIT(N(D_80244C1C_C7609C)) - EVT_RETURN - EVT_END -}; +EvtScript N(EVS_OpenChest_DizzyStomp) = EVT_OPEN_CHEST_BADGE(ITEM_DIZZY_STOMP, GF_KZN08_Chest_DizzyStomp); EvtScript N(EVS_MakeEntities) = { EVT_CALL(MakeEntity, EVT_PTR(Entity_Chest), 120, 100, -55, 0, 0, MAKE_ENTITY_END) EVT_CALL(AssignChestFlag, GF_KZN08_Chest_DizzyStomp) - EVT_CALL(AssignScript, EVT_PTR(N(EVS_OpenChest))) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_OpenChest_DizzyStomp))) EVT_RETURN EVT_END }; diff --git a/src/world/area_kzn/kzn_08/kzn_08_3_enemy.c b/src/world/area_kzn/kzn_08/kzn_08_3_npc.c similarity index 100% rename from src/world/area_kzn/kzn_08/kzn_08_3_enemy.c rename to src/world/area_kzn/kzn_08/kzn_08_3_npc.c diff --git a/src/world/area_kzn/kzn_08/kzn_08_4_extra.c b/src/world/area_kzn/kzn_08/kzn_08_4_extra.c index eb2b2d5dfe..582bae9142 100644 --- a/src/world/area_kzn/kzn_08/kzn_08_4_extra.c +++ b/src/world/area_kzn/kzn_08/kzn_08_4_extra.c @@ -1,9 +1,5 @@ #include "kzn_08.h" -extern API_CALLABLE(N(func_80243EE0_C75360)); - -void get_model_fog_color_parameters(u8*, u8*, u8*, u8*, u8*, u8*, u8*, s32*, s32*); - // modified DarkRoomUpdate API_CALLABLE(N(func_80243EE0_C75360)) { PlayerStatus* playerStatus = &gPlayerStatus; diff --git a/src/world/area_kzn/kzn_09/kzn_09.h b/src/world/area_kzn/kzn_09/kzn_09.h index b4cb585ad7..4c1f84721d 100644 --- a/src/world/area_kzn/kzn_09/kzn_09.h +++ b/src/world/area_kzn/kzn_09/kzn_09.h @@ -9,12 +9,6 @@ #include "mapfs/kzn_09_shape.h" #include "mapfs/kzn_09_hit.h" -#include "sprite/npc/BuzzyBeetle.h" -#include "sprite/npc/WorldParakarry.h" -#include "sprite/npc/Kolorado.h" -#include "sprite/npc/SpikeTop.h" -#include "sprite/npc/LargePiranha.h" - enum { NPC_Kolorado = 0, NPC_ZiplineDummy = 1, // used to give the zipline a shadow @@ -33,3 +27,9 @@ enum { }; #define NAMESPACE kzn_09 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_MakeEntities); +extern EvtScript N(EVS_SetupZipline); +extern EvtScript N(EVS_SyncZiplineDummyNPC); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_kzn/kzn_09/kzn_09_0_header.c b/src/world/area_kzn/kzn_09/kzn_09_0_header.c new file mode 100644 index 0000000000..70343c12cb --- /dev/null +++ b/src/world/area_kzn/kzn_09/kzn_09_0_header.c @@ -0,0 +1,14 @@ +#include "kzn_09.h" + +EntryList N(Entrances) = { + [kzn_09_ENTRY_0] { -445.0, 870.0, -40.0, 90.0 }, + [kzn_09_ENTRY_1] { 435.0, 719.0, 10.0, 270.0 }, + [kzn_09_ENTRY_2] { -445.0, 400.0, 95.0, 90.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .tattle = { MSG_MapTattle_kzn_09 }, +}; diff --git a/src/world/area_kzn/kzn_09/kzn_09_1_main.c b/src/world/area_kzn/kzn_09/kzn_09_1_main.c index 93d06f1663..7f7d279a0c 100644 --- a/src/world/area_kzn/kzn_09/kzn_09_1_main.c +++ b/src/world/area_kzn/kzn_09/kzn_09_1_main.c @@ -1,23 +1,5 @@ #include "kzn_09.h" -extern EvtScript N(EVS_Main); -extern EvtScript N(EVS_MakeEntities); -extern EvtScript N(EVS_SetupZipline); -extern NpcGroupList N(DefaultNPCs); - -EntryList N(Entrances) = { - [kzn_09_ENTRY_0] { -445.0, 870.0, -40.0, 90.0 }, - [kzn_09_ENTRY_1] { 435.0, 719.0, 10.0, 270.0 }, - [kzn_09_ENTRY_2] { -445.0, 400.0, 95.0, 90.0 }, -}; - -MapSettings N(settings) = { - .main = &N(EVS_Main), - .entryList = &N(Entrances), - .entryCount = ENTRY_COUNT(N(Entrances)), - .tattle = { MSG_MapTattle_kzn_09 }, -}; - EvtScript N(EVS_ExitWalk_kzn_03_2) = EVT_EXIT_WALK(60, kzn_09_ENTRY_0, "kzn_03", kzn_03_ENTRY_2); EvtScript N(EVS_ExitWalk_kzn_10_0) = EVT_EXIT_WALK(60, kzn_09_ENTRY_1, "kzn_10", kzn_10_ENTRY_0); EvtScript N(EVS_ExitWalk_kzn_03_4) = EVT_EXIT_WALK(60, kzn_09_ENTRY_2, "kzn_03", kzn_03_ENTRY_4); diff --git a/src/world/area_kzn/kzn_09/kzn_09_3_zipline.c b/src/world/area_kzn/kzn_09/kzn_09_3_zipline.c index 55017ebc13..ade10269fe 100644 --- a/src/world/area_kzn/kzn_09/kzn_09_3_zipline.c +++ b/src/world/area_kzn/kzn_09/kzn_09_3_zipline.c @@ -1,7 +1,5 @@ #include "kzn_09.h" -extern EvtScript N(EVS_SyncZiplineDummyNPC); - API_CALLABLE(N(Zipline_AdjustMoveDownSound)) { Bytecode* args = script->ptrReadPos; 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 2102331ff4..a6189628ad 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 @@ -1,10 +1,6 @@ #include "kzn_09.h" -NpcSettings N(NpcSettings_Kolorado) = { - .height = 40, - .radius = 24, - .level = 99, -}; +#include "world/common/npc/Kolorado.inc.c" #include "world/common/enemy/complete/PutridPiranha.inc.c" #include "world/common/enemy/complete/SpikeTop.inc.c" @@ -15,36 +11,18 @@ NpcSettings N(NpcSettings_Zipline) = { .level = 99, }; -#include "world/common/atomic/LetterChoice.inc.c" +#include "world/common/complete/LetterDelivery.inc.c" s32 N(LetterList)[] = { ITEM_LETTER25, ITEM_NONE }; -EvtScript N(D_80245B64_C7C844) = { - EVT_CALL(N(LetterDelivery_Init), - NPC_Kolorado, ANIM_Kolorado_Fallen, ANIM_Kolorado_Fallen, - ITEM_LETTER25, 0, - MSG_CH5_00E8, MSG_CH5_00E9, MSG_CH5_00EA, MSG_CH5_00EB, - EVT_PTR(N(LetterList))) - EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) - EVT_RETURN - EVT_END -}; +EVT_LETTER_PROMPT(Kolorado, NPC_Kolorado, ANIM_Kolorado_Fallen, ANIM_Kolorado_Fallen, + MSG_CH5_00E8, MSG_CH5_00E9, MSG_CH5_00EA, MSG_CH5_00EB, + ITEM_LETTER25, N(LetterList)); -EvtScript N(D_80245BB4_C7C894) = { - EVT_IF_EQ(LVarC, 2) - EVT_SET(LVar0, ITEM_STAR_PIECE) - EVT_SET(LVar1, 3) - EVT_EXEC_WAIT(N(GiveKeyReward)) - EVT_CALL(AddStarPieces, 1) - EVT_END_IF - EVT_RETURN - EVT_END -}; - -// END LETTER DELIVERY? +EVT_LETTER_REWARD(Kolorado); EvtScript N(EVS_Scene_KoloradoFallsDown) = { EVT_LABEL(0) @@ -208,8 +186,7 @@ EvtScript N(EVS_Scene_KoloradoFallsDown) = { EvtScript N(EVS_Kolorado_Interact) = { EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Fallen, ANIM_Kolorado_Fallen, 0, MSG_CH5_00F6) - EVT_EXEC_WAIT(N(D_80245B64_C7C844)) - EVT_EXEC_WAIT(N(D_80245BB4_C7C894)) + EVT_LETTER_CHECK(Kolorado) EVT_RETURN EVT_END }; @@ -256,29 +233,8 @@ StaticNpc N(NpcData_PassiveNPCs)[] = { .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, .init = &N(EVS_Kolorado_Init), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Kolorado_Idle, - .walk = ANIM_Kolorado_Walk, - .run = ANIM_Kolorado_Run, - .chase = ANIM_Kolorado_Run, - .anim_4 = ANIM_Kolorado_Idle, - .anim_5 = ANIM_Kolorado_Idle, - .death = ANIM_Kolorado_Idle, - .hit = ANIM_Kolorado_Idle, - .anim_8 = ANIM_Kolorado_Idle, - .anim_9 = ANIM_Kolorado_Idle, - .anim_A = ANIM_Kolorado_Idle, - .anim_B = ANIM_Kolorado_Idle, - .anim_C = ANIM_Kolorado_Idle, - .anim_D = ANIM_Kolorado_Idle, - .anim_E = ANIM_Kolorado_Idle, - .anim_F = ANIM_Kolorado_Idle, - }, + .drops = KOLORADO_DROPS, + .animations = KOLORADO_ANIMS, .tattle = MSG_NpcTattle_Kolorado, }, { @@ -288,29 +244,8 @@ StaticNpc N(NpcData_PassiveNPCs)[] = { .yaw = 90, .flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000, .init = &N(EVS_Dummy_Init), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Kolorado_Idle, - .walk = ANIM_Kolorado_Walk, - .run = ANIM_Kolorado_Run, - .chase = ANIM_Kolorado_Run, - .anim_4 = ANIM_Kolorado_Idle, - .anim_5 = ANIM_Kolorado_Idle, - .death = ANIM_Kolorado_Idle, - .hit = ANIM_Kolorado_Idle, - .anim_8 = ANIM_Kolorado_Idle, - .anim_9 = ANIM_Kolorado_Idle, - .anim_A = ANIM_Kolorado_Idle, - .anim_B = ANIM_Kolorado_Idle, - .anim_C = ANIM_Kolorado_Idle, - .anim_D = ANIM_Kolorado_Idle, - .anim_E = ANIM_Kolorado_Idle, - .anim_F = ANIM_Kolorado_Idle, - }, + .drops = KOLORADO_DROPS, + .animations = KOLORADO_ANIMS, .tattle = MSG_NpcTattle_Kolorado, }, }; diff --git a/src/world/area_kzn/kzn_10/kzn_10.h b/src/world/area_kzn/kzn_10/kzn_10.h index b541cc0d32..fb0bffc09d 100644 --- a/src/world/area_kzn/kzn_10/kzn_10.h +++ b/src/world/area_kzn/kzn_10/kzn_10.h @@ -15,3 +15,6 @@ enum { }; #define NAMESPACE kzn_10 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupSpinyTromp); diff --git a/src/world/area_kzn/kzn_10/kzn_10_0_header.c b/src/world/area_kzn/kzn_10/kzn_10_0_header.c new file mode 100644 index 0000000000..d6be362eeb --- /dev/null +++ b/src/world/area_kzn/kzn_10/kzn_10_0_header.c @@ -0,0 +1,13 @@ +#include "kzn_10.h" + +EntryList N(Entrances) = { + [kzn_10_ENTRY_0] { -445.0, 0.0, 0.0, 90.0 }, + [kzn_10_ENTRY_1] { 425.0, -259.0, 0.0, 270.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .tattle = { MSG_MapTattle_kzn_10 }, +}; diff --git a/src/world/area_kzn/kzn_10/kzn_10_1_main.c b/src/world/area_kzn/kzn_10/kzn_10_1_main.c index 8f0fb01a17..2183eb248e 100644 --- a/src/world/area_kzn/kzn_10/kzn_10_1_main.c +++ b/src/world/area_kzn/kzn_10/kzn_10_1_main.c @@ -1,20 +1,5 @@ #include "kzn_10.h" -extern EvtScript N(EVS_Main); -extern EvtScript N(EVS_SetupSpinyTromp); - -EntryList N(Entrances) = { - [kzn_10_ENTRY_0] { -445.0, 0.0, 0.0, 90.0 }, - [kzn_10_ENTRY_1] { 425.0, -259.0, 0.0, 270.0 }, -}; - -MapSettings N(settings) = { - .main = &N(EVS_Main), - .entryList = &N(Entrances), - .entryCount = ENTRY_COUNT(N(Entrances)), - .tattle = { MSG_MapTattle_kzn_10 }, -}; - #include "world/common/atomic/kzn_SmokeTexPanners.inc.c" EvtScript N(EVS_ExitWalk_kzn_09_1) = EVT_EXIT_WALK(60, kzn_10_ENTRY_0, "kzn_09", kzn_09_ENTRY_1); diff --git a/src/world/area_kzn/kzn_10/kzn_10_2_extra.c b/src/world/area_kzn/kzn_10/kzn_10_2_tromp.c similarity index 100% rename from src/world/area_kzn/kzn_10/kzn_10_2_extra.c rename to src/world/area_kzn/kzn_10/kzn_10_2_tromp.c diff --git a/src/world/area_kzn/kzn_11/kzn_11.h b/src/world/area_kzn/kzn_11/kzn_11.h index 27099a6950..3d933d0c90 100644 --- a/src/world/area_kzn/kzn_11/kzn_11.h +++ b/src/world/area_kzn/kzn_11/kzn_11.h @@ -9,9 +9,6 @@ #include "mapfs/kzn_11_shape.h" #include "mapfs/kzn_11_hit.h" -#include "sprite/npc/Fire.h" -#include "sprite/npc/LavaBubble.h" - enum { NPC_FireBar_1A = 0, NPC_FireBar_1B = 1, @@ -30,3 +27,8 @@ enum { }; #define NAMESPACE kzn_11 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_UpdateLeftPlatform); +extern EvtScript N(EVS_UpdateRightPlatform); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_kzn/kzn_11/kzn_11_0_header.c b/src/world/area_kzn/kzn_11/kzn_11_0_header.c new file mode 100644 index 0000000000..c5f478f9ae --- /dev/null +++ b/src/world/area_kzn/kzn_11/kzn_11_0_header.c @@ -0,0 +1,13 @@ +#include "kzn_11.h" + +EntryList N(Entrances) = { + [kzn_11_ENTRY_0] { -810.0, 20.0, 0.0, 90.0 }, + [kzn_11_ENTRY_1] { 810.0, 20.0, 0.0, 270.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .tattle = { MSG_MapTattle_kzn_11 }, +}; diff --git a/src/world/area_kzn/kzn_11/kzn_11_1_main.c b/src/world/area_kzn/kzn_11/kzn_11_1_main.c index a0c45efcbc..308cc0107e 100644 --- a/src/world/area_kzn/kzn_11/kzn_11_1_main.c +++ b/src/world/area_kzn/kzn_11/kzn_11_1_main.c @@ -1,22 +1,5 @@ #include "kzn_11.h" -extern EvtScript N(EVS_Main); -extern EvtScript N(EVS_UpdateLeftPlatform); -extern EvtScript N(EVS_UpdateRightPlatform); -extern NpcGroupList N(DefaultNPCs); - -EntryList N(Entrances) = { - [kzn_11_ENTRY_0] { -810.0, 20.0, 0.0, 90.0 }, - [kzn_11_ENTRY_1] { 810.0, 20.0, 0.0, 270.0 }, -}; - -MapSettings N(settings) = { - .main = &N(EVS_Main), - .entryList = &N(Entrances), - .entryCount = ENTRY_COUNT(N(Entrances)), - .tattle = { MSG_MapTattle_kzn_11 }, -}; - #include "world/common/atomic/kzn_SmokeTexPanners.inc.c" EvtScript N(EVS_ExitWalk_kzn_10_1) = EVT_EXIT_WALK(60, kzn_11_ENTRY_0, "kzn_10", kzn_10_ENTRY_1); diff --git a/src/world/area_kzn/kzn_11/kzn_11_2_platforms.c b/src/world/area_kzn/kzn_11/kzn_11_2_platforms.c index 121ae6f3eb..c8bdd89735 100644 --- a/src/world/area_kzn/kzn_11/kzn_11_2_platforms.c +++ b/src/world/area_kzn/kzn_11/kzn_11_2_platforms.c @@ -62,7 +62,7 @@ EvtScript N(EVS_UpdateLeftPlatform) = { EVT_CALL(N(IsPartnerLakilester)) EVT_IF_EQ(LVar9, 1) EVT_CALL(N(GetCurrentFloor), LVar2) - EVT_IF_EQ(LVar2, 62) + EVT_IF_EQ(LVar2, COLLIDER_pp1) EVT_BREAK_LOOP EVT_END_IF EVT_END_IF @@ -88,7 +88,7 @@ EvtScript N(EVS_UpdateLeftPlatform) = { EVT_CALL(N(IsPartnerLakilester)) EVT_IF_EQ(LVar9, 1) EVT_CALL(N(GetCurrentFloor), LVar2) - EVT_IF_EQ(LVar2, 63) + EVT_IF_EQ(LVar2, COLLIDER_pp2) EVT_BREAK_LOOP EVT_END_IF EVT_END_IF @@ -127,7 +127,7 @@ EvtScript N(EVS_UpdateRightPlatform) = { EVT_CALL(N(IsPartnerLakilester)) EVT_IF_EQ(LVar9, 1) EVT_CALL(N(GetCurrentFloor), LVar2) - EVT_IF_EQ(LVar2, 62) + EVT_IF_EQ(LVar2, COLLIDER_pp1) EVT_BREAK_LOOP EVT_END_IF EVT_END_IF @@ -153,7 +153,7 @@ EvtScript N(EVS_UpdateRightPlatform) = { EVT_CALL(N(IsPartnerLakilester)) EVT_IF_EQ(LVar9, 1) EVT_CALL(N(GetCurrentFloor), LVar2) - EVT_IF_EQ(LVar2, 63) + EVT_IF_EQ(LVar2, COLLIDER_pp2) EVT_BREAK_LOOP EVT_END_IF EVT_END_IF 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 10cf41ff7c..f0a1bc8fcf 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 @@ -2,6 +2,7 @@ #include "world/common/enemy/complete/LavaBubble.inc.c" +#include "sprite/npc/Fire.h" #include "world/common/enemy/ai/FireBarAI.inc.c" s32 N(FireBar_Sounds)[] = { diff --git a/src/world/area_kzn/kzn_17/kzn_17.h b/src/world/area_kzn/kzn_17/kzn_17.h index aa111eb7e5..2b0d51e36e 100644 --- a/src/world/area_kzn/kzn_17/kzn_17.h +++ b/src/world/area_kzn/kzn_17/kzn_17.h @@ -9,12 +9,6 @@ #include "mapfs/kzn_17_shape.h" #include "mapfs/kzn_17_hit.h" -#include "sprite/npc/BuzzyBeetle.h" -#include "sprite/npc/WorldParakarry.h" -#include "sprite/npc/Kolorado.h" -#include "sprite/npc/LargePiranha.h" -#include "sprite/npc/SpikeTop.h" - enum { NPC_Kolorado = 0, NPC_Piranha = 1, @@ -28,3 +22,10 @@ enum { }; #define NAMESPACE kzn_17 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupSpinyTromp); +extern EvtScript N(EVS_Kolorado_TrompPanic); +extern EvtScript N(EVS_Kolorado_TrompImpact); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_kzn/kzn_17/kzn_17_0_header.c b/src/world/area_kzn/kzn_17/kzn_17_0_header.c new file mode 100644 index 0000000000..b2aea9e7b7 --- /dev/null +++ b/src/world/area_kzn/kzn_17/kzn_17_0_header.c @@ -0,0 +1,13 @@ +#include "kzn_17.h" + +EntryList N(Entrances) = { + [kzn_17_ENTRY_0] { -670.0, 0.0, 160.0, 90.0 }, + [kzn_17_ENTRY_1] { 620.0, 0.0, 30.0, 270.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .tattle = { MSG_MapTattle_kzn_17 }, +}; diff --git a/src/world/area_kzn/kzn_17/kzn_17_1_main.c b/src/world/area_kzn/kzn_17/kzn_17_1_main.c index f6d73df84b..392c282698 100644 --- a/src/world/area_kzn/kzn_17/kzn_17_1_main.c +++ b/src/world/area_kzn/kzn_17/kzn_17_1_main.c @@ -1,22 +1,4 @@ #include "kzn_17.h" -#include "entity.h" - -extern EvtScript N(EVS_Main); -extern EvtScript N(EVS_SetupSpinyTromp); -extern EvtScript N(EVS_MakeEntities); -extern NpcGroupList N(DefaultNPCs); - -EntryList N(Entrances) = { - [kzn_17_ENTRY_0] { -670.0, 0.0, 160.0, 90.0 }, - [kzn_17_ENTRY_1] { 620.0, 0.0, 30.0, 270.0 }, -}; - -MapSettings N(settings) = { - .main = &N(EVS_Main), - .entryList = &N(Entrances), - .entryCount = ENTRY_COUNT(N(Entrances)), - .tattle = { MSG_MapTattle_kzn_17 }, -}; #include "world/common/atomic/kzn_SmokeTexPanners.inc.c" 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 91d2a19ced..3aad3948af 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 @@ -1,53 +1,28 @@ #include "kzn_17.h" -NpcSettings N(NpcSettings_Kolorado) = { - .height = 40, - .radius = 24, - .level = 99, -}; +#include "world/common/npc/Kolorado.inc.c" #include "world/common/enemy/complete/PutridPiranha.inc.c" #include "world/common/enemy/complete/SpikeTop.inc.c" -#include "world/common/atomic/LetterChoice.inc.c" +#include "world/common/complete/LetterDelivery.inc.c" s32 N(LetterList)[] = { ITEM_LETTER25, ITEM_NONE }; -EvtScript N(EVS_Kolorado_LetterDelivery1) = { - EVT_CALL(N(LetterDelivery_Init), - NPC_Kolorado, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, - ITEM_LETTER25, 0, - MSG_CH5_00E4, MSG_CH5_00E5, MSG_CH5_00E6, MSG_CH5_00E7, - EVT_PTR(N(LetterList))) - EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) - EVT_RETURN - EVT_END -}; +EVT_LETTER_PROMPT(Kolorado1, NPC_Kolorado, + ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, + MSG_CH5_00E4, MSG_CH5_00E5, MSG_CH5_00E6, MSG_CH5_00E7, + ITEM_LETTER25, N(LetterList)); -EvtScript N(EVS_Kolorado_LetterDelivery2) = { - EVT_CALL(N(LetterDelivery_Init), - NPC_Kolorado, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, - ITEM_LETTER25, 0, - MSG_CH5_00E8, MSG_CH5_00E9, MSG_CH5_00EA, MSG_CH5_00EB, - EVT_PTR(N(LetterList))) - EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) - EVT_RETURN - EVT_END -}; +EVT_LETTER_PROMPT(Kolorado2, NPC_Kolorado, + ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, + MSG_CH5_00E8, MSG_CH5_00E9, MSG_CH5_00EA, MSG_CH5_00EB, + ITEM_LETTER25, N(LetterList)); -EvtScript N(EVS_Kolorado_LetterReward) = { - EVT_IF_EQ(LVarC, 2) - EVT_SET(LVar0, ITEM_STAR_PIECE) - EVT_SET(LVar1, 3) - EVT_EXEC_WAIT(N(GiveKeyReward)) - EVT_CALL(AddStarPieces, 1) - EVT_END_IF - EVT_RETURN - EVT_END -}; +EVT_LETTER_REWARD(Kolorado); Vec3f N(KoloradoThrownPath)[] = { { 447.0, 0.0, 39.0 }, @@ -126,11 +101,11 @@ EvtScript N(EVS_NpcIdle_Kolorado) = { EvtScript N(EVS_NpcInteract_Kolorado) = { EVT_IF_LT(GB_StoryProgress, STORY_CH5_HIDDEN_PASSAGE_OPEN) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Shout, ANIM_Kolorado_Yell, 0, MSG_CH5_00FC) - EVT_EXEC_WAIT(N(EVS_Kolorado_LetterDelivery1)) + EVT_EXEC_WAIT(N(EVS_Kolorado1_LetterPrompt)) EVT_EXEC_WAIT(N(EVS_Kolorado_LetterReward)) EVT_ELSE EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Talk, ANIM_Kolorado_HurtStill, 5, MSG_CH5_00FA) - EVT_EXEC_WAIT(N(EVS_Kolorado_LetterDelivery2)) + EVT_EXEC_WAIT(N(EVS_Kolorado2_LetterPrompt)) EVT_EXEC_WAIT(N(EVS_Kolorado_LetterReward)) EVT_END_IF EVT_RETURN @@ -165,29 +140,8 @@ StaticNpc N(NpcData_Kolorado) = { .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, .init = &N(EVS_NpcInit_Kolorado), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Kolorado_Idle, - .walk = ANIM_Kolorado_Walk, - .run = ANIM_Kolorado_Run, - .chase = ANIM_Kolorado_Run, - .anim_4 = ANIM_Kolorado_Idle, - .anim_5 = ANIM_Kolorado_Idle, - .death = ANIM_Kolorado_Idle, - .hit = ANIM_Kolorado_Idle, - .anim_8 = ANIM_Kolorado_Idle, - .anim_9 = ANIM_Kolorado_Idle, - .anim_A = ANIM_Kolorado_Idle, - .anim_B = ANIM_Kolorado_Idle, - .anim_C = ANIM_Kolorado_Idle, - .anim_D = ANIM_Kolorado_Idle, - .anim_E = ANIM_Kolorado_Idle, - .anim_F = ANIM_Kolorado_Idle, - }, + .drops = KOLORADO_DROPS, + .animations = KOLORADO_ANIMS, .tattle = MSG_NpcTattle_Kolorado, }; diff --git a/src/world/area_kzn/kzn_17/kzn_17_4_extra.c b/src/world/area_kzn/kzn_17/kzn_17_4_tromp.c similarity index 98% rename from src/world/area_kzn/kzn_17/kzn_17_4_extra.c rename to src/world/area_kzn/kzn_17/kzn_17_4_tromp.c index 3b5a052aff..ce6a7353d7 100644 --- a/src/world/area_kzn/kzn_17/kzn_17_4_extra.c +++ b/src/world/area_kzn/kzn_17/kzn_17_4_tromp.c @@ -1,9 +1,6 @@ #include "kzn_17.h" #include "effects.h" -extern API_CALLABLE(N(EVS_Kolorado_TrompPanic)); -extern API_CALLABLE(N(EVS_Kolorado_TrompImpact)); - #define UNK_FUNC_50_LVar1 -583.0 #define UNK_FUNC_50_LVar2 165.0 diff --git a/src/world/area_kzn/kzn_18/kzn_18.h b/src/world/area_kzn/kzn_18/kzn_18.h index 04f1ad2ff8..856409158c 100644 --- a/src/world/area_kzn/kzn_18/kzn_18.h +++ b/src/world/area_kzn/kzn_18/kzn_18.h @@ -9,10 +9,6 @@ #include "mapfs/kzn_18_shape.h" #include "mapfs/kzn_18_hit.h" -#include "sprite/npc/WorldParakarry.h" -#include "sprite/npc/Kolorado.h" -#include "sprite/npc/LargePiranha.h" - enum { NPC_Kolorado = 0, NPC_PutridPiranha = 1, diff --git a/src/world/area_kzn/kzn_18/kzn_18_2_extra.c b/src/world/area_kzn/kzn_18/kzn_18_2_npc.c similarity index 69% rename from src/world/area_kzn/kzn_18/kzn_18_2_extra.c rename to src/world/area_kzn/kzn_18/kzn_18_2_npc.c index e400be9a7c..08d8ec798d 100644 --- a/src/world/area_kzn/kzn_18/kzn_18_2_extra.c +++ b/src/world/area_kzn/kzn_18/kzn_18_2_npc.c @@ -1,30 +1,12 @@ #include "kzn_18.h" -#include "entity.h" + +#include "world/common/npc/Kolorado.inc.c" +#include "world/common/enemy/complete/PutridPiranhaSentinel.inc.c" #include "world/common/todo/SetCamera0Flag1000.inc.c" - #include "world/common/todo/UnsetCamera0Flag1000.inc.c" - #include "world/common/todo/GetFloorCollider.inc.c" -NpcSettings N(NpcSettings_Kolorado) = { - .height = 40, - .radius = 24, - .level = 99, -}; - -NpcSettings N(NpcSettings_Piranha) = { - .height = 30, - .radius = 24, - .level = 99, -}; - -NpcSettings N(NpcSettings_Unused1) = { - .height = 23, - .radius = 19, - .level = 99, -}; - EvtScript N(EVS_NpcIdle_Kolorado) = { EVT_IF_LT(GB_StoryProgress, STORY_CH5_KOLORADO_RAN_AHEAD) EVT_LABEL(0) @@ -168,68 +150,20 @@ StaticNpc N(NpcData_Kolorado) = { .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, .init = &N(EVS_NpcInit_Kolorado), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Kolorado_Idle, - .walk = ANIM_Kolorado_Walk, - .run = ANIM_Kolorado_Run, - .chase = ANIM_Kolorado_Run, - .anim_4 = ANIM_Kolorado_Idle, - .anim_5 = ANIM_Kolorado_Idle, - .death = ANIM_Kolorado_Idle, - .hit = ANIM_Kolorado_Idle, - .anim_8 = ANIM_Kolorado_Idle, - .anim_9 = ANIM_Kolorado_Idle, - .anim_A = ANIM_Kolorado_Idle, - .anim_B = ANIM_Kolorado_Idle, - .anim_C = ANIM_Kolorado_Idle, - .anim_D = ANIM_Kolorado_Idle, - .anim_E = ANIM_Kolorado_Idle, - .anim_F = ANIM_Kolorado_Idle, - }, + .drops = KOLORADO_DROPS, + .animations = KOLORADO_ANIMS, .tattle = MSG_NpcTattle_Kolorado, }; StaticNpc N(NpcData_Piranha) = { .id = NPC_PutridPiranha, - .settings = &N(NpcSettings_Piranha), + .settings = &N(NpcSettings_PutridPiranhaSentinel), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, .flags = NPC_FLAG_4 | NPC_FLAG_200000, .init = &N(EVS_NpcInit_Piranha), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_FIRE_FLOWER, 10, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(3), - .minCoinBonus = 0, - .maxCoinBonus = 2, - }, - .animations = { - .idle = ANIM_LargePiranha_Putrid_Anim01, - .walk = ANIM_LargePiranha_Putrid_Anim02, - .run = ANIM_LargePiranha_Putrid_Anim03, - .chase = ANIM_LargePiranha_Putrid_Anim03, - .anim_4 = ANIM_LargePiranha_Putrid_Anim01, - .anim_5 = ANIM_LargePiranha_Putrid_Anim01, - .death = ANIM_LargePiranha_Putrid_Anim0E, - .hit = ANIM_LargePiranha_Putrid_Anim0E, - .anim_8 = ANIM_LargePiranha_Putrid_Anim18, - .anim_9 = ANIM_LargePiranha_Putrid_Anim17, - .anim_A = ANIM_LargePiranha_Putrid_Anim05, - .anim_B = ANIM_LargePiranha_Putrid_Anim06, - .anim_C = ANIM_LargePiranha_Putrid_Anim07, - .anim_D = ANIM_LargePiranha_Putrid_Anim01, - .anim_E = ANIM_LargePiranha_Putrid_Anim01, - .anim_F = ANIM_LargePiranha_Putrid_Anim01, - }, + .drops = PIRANHA_SENTINEL_DROPS, + .animations = PIRANHA_SENTINEL_ANIMS, }; NpcGroupList N(DefaultNPCs) = { @@ -237,12 +171,3 @@ NpcGroupList N(DefaultNPCs) = { NPC_GROUP(N(NpcData_Piranha)), {} }; - -EvtScript N(EVS_MakeEntities) = { - EVT_CALL(MakeEntity, EVT_PTR(Entity_HiddenPanel), 250, 250, -225, 0, MODEL_o380, MAKE_ENTITY_END) - EVT_CALL(AssignPanelFlag, GF_KZN18_HiddenPanel) - EVT_CALL(MakeEntity, EVT_PTR(Entity_SavePoint), -420, 85, -80, 0, MAKE_ENTITY_END) - EVT_CALL(MakeEntity, EVT_PTR(Entity_HeartBlock), 350, 310, -250, 0, MAKE_ENTITY_END) - EVT_RETURN - EVT_END -}; diff --git a/src/world/area_kzn/kzn_18/kzn_18_3_entity.c b/src/world/area_kzn/kzn_18/kzn_18_3_entity.c new file mode 100644 index 0000000000..5051a0e056 --- /dev/null +++ b/src/world/area_kzn/kzn_18/kzn_18_3_entity.c @@ -0,0 +1,11 @@ +#include "kzn_18.h" +#include "entity.h" + +EvtScript N(EVS_MakeEntities) = { + EVT_CALL(MakeEntity, EVT_PTR(Entity_HiddenPanel), 250, 250, -225, 0, MODEL_o380, MAKE_ENTITY_END) + EVT_CALL(AssignPanelFlag, GF_KZN18_HiddenPanel) + EVT_CALL(MakeEntity, EVT_PTR(Entity_SavePoint), -420, 85, -80, 0, MAKE_ENTITY_END) + EVT_CALL(MakeEntity, EVT_PTR(Entity_HeartBlock), 350, 310, -250, 0, MAKE_ENTITY_END) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kzn/kzn_19/kzn_19.h b/src/world/area_kzn/kzn_19/kzn_19.h index 33de35fe5b..9ca8525a43 100644 --- a/src/world/area_kzn/kzn_19/kzn_19.h +++ b/src/world/area_kzn/kzn_19/kzn_19.h @@ -9,12 +9,6 @@ #include "mapfs/kzn_19_shape.h" #include "mapfs/kzn_19_hit.h" -#include "sprite/npc/WorldParakarry.h" -#include "sprite/npc/Kolorado.h" -#include "sprite/npc/WorldMisstar.h" -#include "sprite/npc/LavaPiranha.h" -#include "sprite/npc/LavaBud.h" - enum { NPC_Kolorado = 0, NPC_Misstar = 1, @@ -30,3 +24,23 @@ enum { }; #define NAMESPACE kzn_19 + +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_UpdateEruption); +extern EvtScript N(EVS_Misstar_Escape); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(BossNPCs); +extern NpcGroupList N(EscapeNPCs); + +extern EvtScript N(EVS_TryingSpawningStarCard); +extern StaticAnimatorNode* N(AnimModel_MainHeadVine)[]; +extern StaticAnimatorNode* N(AnimModel_SideHeadVine)[]; +extern StaticAnimatorNode* N(AnimModel_ExtraVine)[]; + +extern NpcSettings N(NpcSettings_Kolorado); +extern NpcSettings N(NpcSettings_StarSpirit); +extern NpcSettings N(NpcSettings_LavaPiranhaHead); + +extern API_CALLABLE(SetAnimatorFlags); +extern API_CALLABLE(GetAnimatedPositionByTreeIndex); +extern API_CALLABLE(GetAnimatedRotationByTreeIndex); diff --git a/src/world/area_kzn/kzn_19/kzn_19_0_header.c b/src/world/area_kzn/kzn_19/kzn_19_0_header.c index 5022147e49..01b0692b0c 100644 --- a/src/world/area_kzn/kzn_19/kzn_19_0_header.c +++ b/src/world/area_kzn/kzn_19/kzn_19_0_header.c @@ -15,22 +15,3 @@ MapSettings N(settings) = { .entryCount = ENTRY_COUNT(N(Entrances)), .tattle = { MSG_MapTattle_kzn_19 }, }; - -EvtScript N(EVS_SetupMusic) = { - EVT_SWITCH(GB_StoryProgress) - EVT_CASE_EQ(STORY_CH5_DEFEATED_LAVA_PIRANHA) - EVT_CALL(GetEntryID, LVar0) - EVT_IF_EQ(LVar0, kzn_19_ENTRY_1) - EVT_CALL(FadeOutMusic, 0, 500) - EVT_CALL(PlayAmbientSounds, AMBIENT_UNDER_SEA1) - EVT_RETURN - EVT_END_IF - EVT_END_IF //@bug extra endif - EVT_CASE_GE(STORY_CH5_MT_LAVA_LAVA_ERUPTING) - EVT_CALL(PlaySound, SOUND_8000006B) - EVT_END_SWITCH - EVT_CALL(SetMusicTrack, 0, SONG_MT_LAVALAVA, 0, 8) - EVT_CALL(PlayAmbientSounds, AMBIENT_UNDER_SEA1) - EVT_RETURN - EVT_END -}; diff --git a/src/world/area_kzn/kzn_19/kzn_19_1_music.c b/src/world/area_kzn/kzn_19/kzn_19_1_music.c new file mode 100644 index 0000000000..e1e44ea3e4 --- /dev/null +++ b/src/world/area_kzn/kzn_19/kzn_19_1_music.c @@ -0,0 +1,20 @@ +#include "kzn_19.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_EQ(STORY_CH5_DEFEATED_LAVA_PIRANHA) + EVT_CALL(GetEntryID, LVar0) + EVT_IF_EQ(LVar0, kzn_19_ENTRY_1) + EVT_CALL(FadeOutMusic, 0, 500) + EVT_CALL(PlayAmbientSounds, AMBIENT_UNDER_SEA1) + EVT_RETURN + EVT_END_IF + EVT_END_IF //@bug extra endif + EVT_CASE_GE(STORY_CH5_MT_LAVA_LAVA_ERUPTING) + EVT_CALL(PlaySound, SOUND_8000006B) + EVT_END_SWITCH + EVT_CALL(SetMusicTrack, 0, SONG_MT_LAVALAVA, 0, 8) + EVT_CALL(PlayAmbientSounds, AMBIENT_UNDER_SEA1) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kzn/kzn_19/kzn_19_1_main.c b/src/world/area_kzn/kzn_19/kzn_19_2_main.c similarity index 97% rename from src/world/area_kzn/kzn_19/kzn_19_1_main.c rename to src/world/area_kzn/kzn_19/kzn_19_2_main.c index 72ff492b48..3bc24c6f3a 100644 --- a/src/world/area_kzn/kzn_19/kzn_19_1_main.c +++ b/src/world/area_kzn/kzn_19/kzn_19_2_main.c @@ -1,12 +1,5 @@ #include "kzn_19.h" -extern EvtScript N(EVS_SetupMusic); -extern EvtScript N(EVS_UpdateEruption); -extern EvtScript N(EVS_Misstar_Escape); -extern EvtScript N(EVS_MakeEntities); -extern NpcGroupList N(BossNPCs); -extern NpcGroupList N(EscapeNPCs); - #include "world/common/atomic/kzn_SmokeTexPanners.inc.c" #include "world/common/todo/StarSpiritEffectFunc.inc.c" diff --git a/src/world/area_kzn/kzn_19/kzn_19_2_npc_settings.c b/src/world/area_kzn/kzn_19/kzn_19_2_npc_settings.c deleted file mode 100644 index e75636fd56..0000000000 --- a/src/world/area_kzn/kzn_19/kzn_19_2_npc_settings.c +++ /dev/null @@ -1,31 +0,0 @@ -#include "kzn_19.h" - -NpcSettings N(NpcSettings_Kolorado) = { - .height = 40, - .radius = 24, - .level = 99, -}; - -NpcSettings N(NpcSettings_Misstar) = { - .height = 26, - .radius = 24, - .level = 99, -}; - -NpcSettings N(NpcSettings_Unused1) = { - .height = 20, - .radius = 20, - .level = 99, -}; - -NpcSettings N(NpcSettings_Unused2) = { - .height = 22, - .radius = 24, - .level = 99, -}; - -NpcSettings N(NpcSettings_LavaPiranhaHead) = { - .height = 24, - .radius = 24, - .level = 99, -}; diff --git a/src/world/area_kzn/kzn_19/kzn_19_3_npc_settings.c b/src/world/area_kzn/kzn_19/kzn_19_3_npc_settings.c new file mode 100644 index 0000000000..60312805ff --- /dev/null +++ b/src/world/area_kzn/kzn_19/kzn_19_3_npc_settings.c @@ -0,0 +1,5 @@ +#include "kzn_19.h" + +#include "world/common/npc/Kolorado.inc.c" +#include "world/common/npc/StarSpirit.inc.c" +#include "world/common/enemy/complete/LavaPiranha.inc.c" diff --git a/src/world/area_kzn/kzn_19/kzn_19_3_npc.c b/src/world/area_kzn/kzn_19/kzn_19_4_npc.c similarity index 87% rename from src/world/area_kzn/kzn_19/kzn_19_3_npc.c rename to src/world/area_kzn/kzn_19/kzn_19_4_npc.c index 30096ca52c..cc877c9aea 100644 --- a/src/world/area_kzn/kzn_19/kzn_19_3_npc.c +++ b/src/world/area_kzn/kzn_19/kzn_19_4_npc.c @@ -1,6 +1,10 @@ #include "kzn_19.h" #include "ld_addrs.h" +#include "world/common/npc/Kolorado.h" +#include "world/common/npc/StarSpirit.h" +#include "world/common/enemy/complete/LavaPiranha.h" + enum { VINE_0 = 0, VINE_1 = 1, @@ -14,7 +18,7 @@ enum { VINE_1_BASE = 0x80204000, VINE_2_BASE = 0x80207000, VINE_3_BASE = 0x8020A000, -}; +}; //TODO shiftaility -- hard-coded addresses in gBackgroundImage typedef struct LavaPiranhaVine { /* 0x000 */ Vec3f bonePos[9]; @@ -25,19 +29,6 @@ typedef struct LavaPiranhaVine { /* 0x1DC */ s32 numPoints; } LavaPiranhaVine; -extern API_CALLABLE(SetAnimatorFlags); -extern API_CALLABLE(GetAnimatedPositionByTreeIndex); -extern API_CALLABLE(GetAnimatedRotationByTreeIndex); - -extern EvtScript N(EVS_TryingSpawningStarCard); -extern StaticAnimatorNode* N(AnimModel_MainHeadVine)[]; -extern StaticAnimatorNode* N(AnimModel_SideHeadVine)[]; -extern StaticAnimatorNode* N(AnimModel_ExtraVine)[]; - -extern NpcSettings N(NpcSettings_Kolorado); -extern NpcSettings N(NpcSettings_Misstar); -extern NpcSettings N(NpcSettings_LavaPiranhaHead); - #include "./kzn_19_anim1.c" #include "./kzn_19_anim2.c" #include "./kzn_19_anim3.c" @@ -341,34 +332,18 @@ API_CALLABLE(N(CreateVineRenderer)) { return ApiStatus_DONE2; } -#include "world/common/atomic/LetterChoice.inc.c" +#include "world/common/complete/LetterDelivery.inc.c" s32 N(LetterList)[] = { ITEM_LETTER25, ITEM_NONE }; -EvtScript N(EVS_Kolorado_LetterDelivery) = { - EVT_CALL(N(LetterDelivery_Init), - NPC_Kolorado, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, - ITEM_LETTER25, 0, - MSG_CH5_00E4, MSG_CH5_00E5, MSG_CH5_00E6, MSG_CH5_00E7, - EVT_PTR(N(LetterList))) - EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) - EVT_RETURN - EVT_END -}; +EVT_LETTER_PROMPT(Kolorado, NPC_Kolorado, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, + MSG_CH5_00E4, MSG_CH5_00E5, MSG_CH5_00E6, MSG_CH5_00E7, + ITEM_LETTER25, N(LetterList)); -EvtScript N(EVS_Kolorado_LetterReward) = { - EVT_IF_EQ(LVarC, 2) - EVT_SET(LVar0, ITEM_STAR_PIECE) - EVT_SET(LVar1, 3) - EVT_EXEC_WAIT(N(GiveKeyReward)) - EVT_CALL(AddStarPieces, 1) - EVT_END_IF - EVT_RETURN - EVT_END -}; +EVT_LETTER_REWARD(Kolorado); EvtScript N(EVS_NpcIdle_Kolorado) = { EVT_IF_EQ(GF_KZN19_KoloradoDeadEnd, FALSE) @@ -436,8 +411,7 @@ EvtScript N(EVS_Kolorado_Escape) = { EvtScript N(EVS_NpcInteract_Kolorado) = { EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_TalkSad, ANIM_Kolorado_IdleSad, 0, MSG_CH5_0101) EVT_CALL(SetSelfVar, 0, 1) - EVT_EXEC_WAIT(N(EVS_Kolorado_LetterDelivery)) - EVT_EXEC_WAIT(N(EVS_Kolorado_LetterReward)) + EVT_LETTER_CHECK(Kolorado) EVT_RETURN EVT_END }; @@ -997,61 +971,19 @@ StaticNpc N(NpcData_Kolorado) = { .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, .init = &N(EVS_NpcInit_Kolorado), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Kolorado_Idle, - .walk = ANIM_Kolorado_Walk, - .run = ANIM_Kolorado_Run, - .chase = ANIM_Kolorado_Run, - .anim_4 = ANIM_Kolorado_Idle, - .anim_5 = ANIM_Kolorado_Idle, - .death = ANIM_Kolorado_Idle, - .hit = ANIM_Kolorado_Idle, - .anim_8 = ANIM_Kolorado_Idle, - .anim_9 = ANIM_Kolorado_Idle, - .anim_A = ANIM_Kolorado_Idle, - .anim_B = ANIM_Kolorado_Idle, - .anim_C = ANIM_Kolorado_Idle, - .anim_D = ANIM_Kolorado_Idle, - .anim_E = ANIM_Kolorado_Idle, - .anim_F = ANIM_Kolorado_Idle, - }, + .drops = KOLORADO_DROPS, + .animations = KOLORADO_ANIMS, .tattle = MSG_NpcTattle_Kolorado, }; StaticNpc N(NpcData_Misstar) = { .id = NPC_Misstar, - .settings = &N(NpcSettings_Misstar), + .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, .flags = NPC_FLAG_PASSIVE | NPC_FLAG_400000, - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_WorldMisstar_Idle, - .walk = ANIM_WorldMisstar_Idle, - .run = ANIM_WorldMisstar_Idle, - .chase = ANIM_WorldMisstar_Idle, - .anim_4 = ANIM_WorldMisstar_Idle, - .anim_5 = ANIM_WorldMisstar_Idle, - .death = ANIM_WorldMisstar_Idle, - .hit = ANIM_WorldMisstar_Idle, - .anim_8 = ANIM_WorldMisstar_Still, - .anim_9 = ANIM_WorldMisstar_Idle, - .anim_A = ANIM_WorldMisstar_Idle, - .anim_B = ANIM_WorldMisstar_Idle, - .anim_C = ANIM_WorldMisstar_Idle, - .anim_D = ANIM_WorldMisstar_Idle, - .anim_E = ANIM_WorldMisstar_Idle, - .anim_F = ANIM_WorldMisstar_Idle, - }, + .drops = MISSTAR_DROPS, + .animations = MISSTAR_ANIMS, .tattle = MSG_NpcTattle_Misstar, }; @@ -1074,35 +1006,8 @@ StaticNpc N(NpcData_LavaPiranha)[] = { .yaw = 270, .flags = NPC_FLAG_4 | NPC_FLAG_JUMPING | NPC_FLAG_40000, .init = &N(EVS_NpcInit_LavaPiranha), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_SUPER_SHROOM, 10, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 0, - .maxCoinBonus = 3, - }, - .animations = { - .idle = ANIM_LavaPiranha_Anim03, - .walk = ANIM_LavaPiranha_Anim03, - .run = ANIM_LavaPiranha_Anim03, - .chase = ANIM_LavaPiranha_Anim03, - .anim_4 = ANIM_LavaPiranha_Anim03, - .anim_5 = ANIM_LavaPiranha_Anim03, - .death = ANIM_LavaPiranha_Anim03, - .hit = ANIM_LavaPiranha_Anim03, - .anim_8 = ANIM_LavaPiranha_Anim03, - .anim_9 = ANIM_LavaPiranha_Anim03, - .anim_A = ANIM_LavaPiranha_Anim03, - .anim_B = ANIM_LavaPiranha_Anim03, - .anim_C = ANIM_LavaPiranha_Anim03, - .anim_D = ANIM_LavaPiranha_Anim03, - .anim_E = ANIM_LavaPiranha_Anim03, - .anim_F = ANIM_LavaPiranha_Anim03, - }, + .drops = LAVA_PIRANHA_DROPS, + .animations = LAVA_PIRANHA_HEAD_ANIMS, .extraAnimations = N(ExtraAnims_LavaPiranha), .aiDetectFlags = AI_DETECT_SENSITIVE_MOTION, }, @@ -1113,35 +1018,8 @@ StaticNpc N(NpcData_LavaPiranha)[] = { .yaw = 270, .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_40000, .init = &N(EVS_NpcInit_LavaBud), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_SUPER_SHROOM, 10, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 0, - .maxCoinBonus = 3, - }, - .animations = { - .idle = ANIM_LavaBud_Anim03, - .walk = ANIM_LavaBud_Anim03, - .run = ANIM_LavaBud_Anim03, - .chase = ANIM_LavaBud_Anim03, - .anim_4 = ANIM_LavaBud_Anim03, - .anim_5 = ANIM_LavaBud_Anim03, - .death = ANIM_LavaBud_Anim03, - .hit = ANIM_LavaBud_Anim03, - .anim_8 = ANIM_LavaBud_Anim03, - .anim_9 = ANIM_LavaBud_Anim03, - .anim_A = ANIM_LavaBud_Anim03, - .anim_B = ANIM_LavaBud_Anim03, - .anim_C = ANIM_LavaBud_Anim03, - .anim_D = ANIM_LavaBud_Anim03, - .anim_E = ANIM_LavaBud_Anim03, - .anim_F = ANIM_LavaBud_Anim03, - }, + .drops = LAVA_PIRANHA_DROPS, + .animations = LAVA_PIRANHA_BUD_ANIMS, .extraAnimations = N(ExtraAnims_LavaBud), .aiDetectFlags = AI_DETECT_SENSITIVE_MOTION, }, @@ -1152,35 +1030,8 @@ StaticNpc N(NpcData_LavaPiranha)[] = { .yaw = 270, .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_40000, .init = &N(EVS_NpcInit_LavaBud), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_SUPER_SHROOM, 10, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 0, - .maxCoinBonus = 3, - }, - .animations = { - .idle = ANIM_LavaBud_Anim03, - .walk = ANIM_LavaBud_Anim03, - .run = ANIM_LavaBud_Anim03, - .chase = ANIM_LavaBud_Anim03, - .anim_4 = ANIM_LavaBud_Anim03, - .anim_5 = ANIM_LavaBud_Anim03, - .death = ANIM_LavaBud_Anim03, - .hit = ANIM_LavaBud_Anim03, - .anim_8 = ANIM_LavaBud_Anim03, - .anim_9 = ANIM_LavaBud_Anim03, - .anim_A = ANIM_LavaBud_Anim03, - .anim_B = ANIM_LavaBud_Anim03, - .anim_C = ANIM_LavaBud_Anim03, - .anim_D = ANIM_LavaBud_Anim03, - .anim_E = ANIM_LavaBud_Anim03, - .anim_F = ANIM_LavaBud_Anim03, - }, + .drops = LAVA_PIRANHA_DROPS, + .animations = LAVA_PIRANHA_BUD_ANIMS, .extraAnimations = N(ExtraAnims_LavaBud), .aiDetectFlags = AI_DETECT_SENSITIVE_MOTION, }, diff --git a/src/world/area_kzn/kzn_19/kzn_19_4_eruption.c b/src/world/area_kzn/kzn_19/kzn_19_5_eruption.c similarity index 100% rename from src/world/area_kzn/kzn_19/kzn_19_4_eruption.c rename to src/world/area_kzn/kzn_19/kzn_19_5_eruption.c diff --git a/src/world/area_kzn/kzn_19/kzn_19_5_entity.c b/src/world/area_kzn/kzn_19/kzn_19_6_entity.c similarity index 100% rename from src/world/area_kzn/kzn_19/kzn_19_5_entity.c rename to src/world/area_kzn/kzn_19/kzn_19_6_entity.c diff --git a/src/world/area_kzn/kzn_20/kzn_20.h b/src/world/area_kzn/kzn_20/kzn_20.h index 9bfb0f17ec..6a67ee18c1 100644 --- a/src/world/area_kzn/kzn_20/kzn_20.h +++ b/src/world/area_kzn/kzn_20/kzn_20.h @@ -9,10 +9,6 @@ #include "mapfs/kzn_20_shape.h" #include "mapfs/kzn_20_hit.h" -#include "sprite/npc/WorldParakarry.h" -#include "sprite/npc/Kolorado.h" -#include "sprite/npc/WorldMisstar.h" - enum { NPC_Kolorado = 0, NPC_Misstar = 1, @@ -26,3 +22,8 @@ enum { }; #define NAMESPACE kzn_20 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_ShakingWorld); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_kzn/kzn_20/kzn_20_0_header.c b/src/world/area_kzn/kzn_20/kzn_20_0_header.c new file mode 100644 index 0000000000..861b5201bc --- /dev/null +++ b/src/world/area_kzn/kzn_20/kzn_20_0_header.c @@ -0,0 +1,13 @@ +#include "kzn_20.h" + +EntryList N(Entrances) = { + [kzn_20_ENTRY_0] { -182.0, 0.0, 36.0, 90.0 }, + [kzn_20_ENTRY_1] { 164.0, 150.0, 20.0, 270.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .tattle = { MSG_MapTattle_kzn_20 }, +}; diff --git a/src/world/area_kzn/kzn_20/kzn_20_1_music.c b/src/world/area_kzn/kzn_20/kzn_20_1_music.c new file mode 100644 index 0000000000..a3d29bcd42 --- /dev/null +++ b/src/world/area_kzn/kzn_20/kzn_20_1_music.c @@ -0,0 +1,16 @@ +#include "kzn_20.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_IF_GE(GB_StoryProgress, STORY_CH5_MT_LAVA_LAVA_ERUPTING) + EVT_CALL(PlaySound, SOUND_8000006B) + EVT_END_IF + EVT_IF_LT(GB_StoryProgress, STORY_CH5_OPENED_ESCAPE_ROUTE) + EVT_CALL(SetMusicTrack, 0, SONG_MT_LAVALAVA, 0, 8) + EVT_CALL(PlayAmbientSounds, AMBIENT_UNDER_SEA3) + EVT_ELSE + EVT_CALL(SetMusicTrack, 0, SONG_VOLCANO_ESCAPE, 0, 8) + EVT_CALL(PlayAmbientSounds, AMBIENT_UNDER_SEA1) + EVT_END_IF + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kzn/kzn_20/kzn_20_1_main.c b/src/world/area_kzn/kzn_20/kzn_20_2_main.c similarity index 87% rename from src/world/area_kzn/kzn_20/kzn_20_1_main.c rename to src/world/area_kzn/kzn_20/kzn_20_2_main.c index 9bf51a0f96..9ed28b2f99 100644 --- a/src/world/area_kzn/kzn_20/kzn_20_1_main.c +++ b/src/world/area_kzn/kzn_20/kzn_20_2_main.c @@ -1,39 +1,6 @@ #include "kzn_20.h" #include "effects.h" -extern EvtScript N(EVS_Main); -extern EvtScript N(EVS_ShakingWorld); -extern NpcGroupList N(DefaultNPCs); - -EntryList N(Entrances) = { - [kzn_20_ENTRY_0] { -182.0, 0.0, 36.0, 90.0 }, - [kzn_20_ENTRY_1] { 164.0, 150.0, 20.0, 270.0 }, -}; - -MapSettings N(settings) = { - .main = &N(EVS_Main), - .entryList = &N(Entrances), - .entryCount = ENTRY_COUNT(N(Entrances)), - .tattle = { MSG_MapTattle_kzn_20 }, -}; - -EvtScript N(EVS_SetupMusic) = { - EVT_IF_GE(GB_StoryProgress, STORY_CH5_MT_LAVA_LAVA_ERUPTING) - EVT_CALL(PlaySound, SOUND_8000006B) - EVT_END_IF - EVT_IF_LT(GB_StoryProgress, STORY_CH5_OPENED_ESCAPE_ROUTE) - EVT_CALL(SetMusicTrack, 0, SONG_MT_LAVALAVA, 0, 8) - EVT_CALL(PlayAmbientSounds, AMBIENT_UNDER_SEA3) - EVT_ELSE - EVT_CALL(SetMusicTrack, 0, SONG_VOLCANO_ESCAPE, 0, 8) - EVT_CALL(PlayAmbientSounds, AMBIENT_UNDER_SEA1) - EVT_END_IF - EVT_RETURN - EVT_END -}; - -//SPLIT? header//main - #include "world/common/atomic/TexturePan.inc.c" #include "world/common/atomic/TexturePan.data.inc.c" diff --git a/src/world/area_kzn/kzn_20/kzn_20_2_npc.c b/src/world/area_kzn/kzn_20/kzn_20_3_npc.c similarity index 88% rename from src/world/area_kzn/kzn_20/kzn_20_2_npc.c rename to src/world/area_kzn/kzn_20/kzn_20_3_npc.c index 1d429cdc85..932adec2bc 100644 --- a/src/world/area_kzn/kzn_20/kzn_20_2_npc.c +++ b/src/world/area_kzn/kzn_20/kzn_20_3_npc.c @@ -2,8 +2,7 @@ #include "effects.h" enum { - - SCENE_STATE_BEGIN = 15, + SCENE_STATE_BEGIN = 15, SCENE_STATE_STARFISH_REMARK = 20, SCENE_STATE_KOLORADO_LOOKS_AROUND = 25, SCENE_STATE_KOLORADO_WENT_BACK = 30, @@ -16,58 +15,21 @@ enum { SCENE_STATE_DONE = -1, }; -NpcSettings N(NpcSettings_Kolorado) = { - .height = 40, - .radius = 24, - .level = 99, -}; +#include "world/common/npc/Kolorado.inc.c" +#include "world/common/npc/StarSpirit.inc.c" -NpcSettings N(NpcSettings_Misstar) = { - .height = 26, - .radius = 24, - .level = 99, -}; - -NpcSettings N(NpcSettings_Unused1) = { - .height = 20, - .radius = 20, - .level = 99, -}; - -NpcSettings N(NpcSettings_Unused2) = { - .height = 22, - .radius = 24, - .level = 99, -}; - -#include "world/common/atomic/LetterChoice.inc.c" +#include "world/common/complete/LetterDelivery.inc.c" s32 N(LetterList)[] = { ITEM_LETTER25, ITEM_NONE }; -EvtScript N(EVS_Kolorado_LetterDelivery) = { - EVT_CALL(N(LetterDelivery_Init), - NPC_Kolorado, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, - ITEM_LETTER25, 0, - MSG_CH5_00E4, MSG_CH5_00E5, MSG_CH5_00E6, MSG_CH5_00E7, - EVT_PTR(N(LetterList))) - EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) - EVT_RETURN - EVT_END -}; +EVT_LETTER_PROMPT(Kolorado, NPC_Kolorado, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, + MSG_CH5_00E4, MSG_CH5_00E5, MSG_CH5_00E6, MSG_CH5_00E7, + ITEM_LETTER25, N(LetterList)); -EvtScript N(EVS_Kolorado_LetterReward) = { - EVT_IF_EQ(LVarC, 2) - EVT_SET(LVar0, ITEM_STAR_PIECE) - EVT_SET(LVar1, 3) - EVT_EXEC_WAIT(N(GiveKeyReward)) - EVT_CALL(AddStarPieces, 1) - EVT_END_IF - EVT_RETURN - EVT_END -}; +EVT_LETTER_REWARD(Kolorado); EvtScript N(EVS_SpawnFallingDust) = { EVT_SET_GROUP(EVT_GROUP_0B) @@ -357,13 +319,11 @@ EvtScript N(EVS_NpcInteract_Kolorado) = { EVT_IF_LT(LVar1, 100) EVT_CALL(EnableNpcAI, NPC_SELF, FALSE) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, 0, MSG_CH5_0108) - EVT_EXEC_WAIT(N(EVS_Kolorado_LetterDelivery)) - EVT_EXEC_WAIT(N(EVS_Kolorado_LetterReward)) + EVT_LETTER_CHECK(Kolorado) EVT_CALL(EnableNpcAI, NPC_SELF, TRUE) EVT_ELSE EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Shout, ANIM_Kolorado_Yell, 0, MSG_CH5_0113) - EVT_EXEC_WAIT(N(EVS_Kolorado_LetterDelivery)) - EVT_EXEC_WAIT(N(EVS_Kolorado_LetterReward)) + EVT_LETTER_CHECK(Kolorado) EVT_END_IF EVT_RETURN EVT_END @@ -572,62 +532,20 @@ StaticNpc N(NpcData_Kolorado) = { .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, .init = &N(EVS_NpcInit_Kolorado), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Kolorado_Idle, - .walk = ANIM_Kolorado_Walk, - .run = ANIM_Kolorado_Run, - .chase = ANIM_Kolorado_Run, - .anim_4 = ANIM_Kolorado_Idle, - .anim_5 = ANIM_Kolorado_Idle, - .death = ANIM_Kolorado_Idle, - .hit = ANIM_Kolorado_Idle, - .anim_8 = ANIM_Kolorado_Idle, - .anim_9 = ANIM_Kolorado_Idle, - .anim_A = ANIM_Kolorado_Idle, - .anim_B = ANIM_Kolorado_Idle, - .anim_C = ANIM_Kolorado_Idle, - .anim_D = ANIM_Kolorado_Idle, - .anim_E = ANIM_Kolorado_Idle, - .anim_F = ANIM_Kolorado_Idle, - }, + .drops = KOLORADO_DROPS, + .animations = KOLORADO_ANIMS, .tattle = MSG_NpcTattle_Kolorado, }; StaticNpc N(NpcData_Misstar) = { .id = NPC_Misstar, - .settings = &N(NpcSettings_Misstar), + .settings = &N(NpcSettings_StarSpirit), .pos = { 100.0f, 160.0f, 0.0f }, .yaw = 270, .flags = NPC_FLAG_PASSIVE | NPC_FLAG_400000, .init = &N(EVS_NpcInit_Misstar), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_WorldMisstar_Idle, - .walk = ANIM_WorldMisstar_Idle, - .run = ANIM_WorldMisstar_Idle, - .chase = ANIM_WorldMisstar_Idle, - .anim_4 = ANIM_WorldMisstar_Idle, - .anim_5 = ANIM_WorldMisstar_Idle, - .death = ANIM_WorldMisstar_Idle, - .hit = ANIM_WorldMisstar_Idle, - .anim_8 = ANIM_WorldMisstar_Still, - .anim_9 = ANIM_WorldMisstar_Idle, - .anim_A = ANIM_WorldMisstar_Idle, - .anim_B = ANIM_WorldMisstar_Idle, - .anim_C = ANIM_WorldMisstar_Idle, - .anim_D = ANIM_WorldMisstar_Idle, - .anim_E = ANIM_WorldMisstar_Idle, - .anim_F = ANIM_WorldMisstar_Idle, - }, + .drops = MISSTAR_DROPS, + .animations = MISSTAR_ANIMS, .tattle = MSG_NpcTattle_Misstar, }; diff --git a/src/world/area_kzn/kzn_22/kzn_22.h b/src/world/area_kzn/kzn_22/kzn_22.h index d6efab5b4a..b2ba79cb7d 100644 --- a/src/world/area_kzn/kzn_22/kzn_22.h +++ b/src/world/area_kzn/kzn_22/kzn_22.h @@ -9,12 +9,14 @@ #include "mapfs/kzn_22_shape.h" #include "mapfs/kzn_22_hit.h" -#include "sprite/npc/Kolorado.h" -#include "sprite/npc/WorldMisstar.h" - enum { - NPC_Kolorado = 0, - NPC_Misstar = 1, + NPC_Kolorado = 0, + NPC_Misstar = 1, }; #define NAMESPACE kzn_22 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_kzn/kzn_22/kzn_22_0_header.c b/src/world/area_kzn/kzn_22/kzn_22_0_header.c index ce629f2ec4..b59889ae84 100644 --- a/src/world/area_kzn/kzn_22/kzn_22_0_header.c +++ b/src/world/area_kzn/kzn_22/kzn_22_0_header.c @@ -1,7 +1,5 @@ #include "kzn_22.h" -extern EvtScript N(EVS_Main); - EntryList N(Entrances) = { [kzn_22_ENTRY_0] { -390.0, 0.0, 210.0, 90.0 }, }; @@ -12,13 +10,3 @@ MapSettings N(settings) = { .entryCount = ENTRY_COUNT(N(Entrances)), .tattle = { MSG_MapTattle_kzn_22 }, }; - -EvtScript N(EVS_SetupMusic) = { - EVT_IF_GE(GB_StoryProgress, STORY_CH5_MT_LAVA_LAVA_ERUPTING) - EVT_CALL(PlaySound, SOUND_8000006B) - EVT_END_IF - EVT_CALL(SetMusicTrack, 0, SONG_VOLCANO_ESCAPE, 0, 8) - EVT_CALL(PlayAmbientSounds, AMBIENT_UNDER_SEA4) - EVT_RETURN - EVT_END -}; diff --git a/src/world/area_kzn/kzn_22/kzn_22_1_music.c b/src/world/area_kzn/kzn_22/kzn_22_1_music.c new file mode 100644 index 0000000000..3ba85d9554 --- /dev/null +++ b/src/world/area_kzn/kzn_22/kzn_22_1_music.c @@ -0,0 +1,11 @@ +#include "kzn_22.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_IF_GE(GB_StoryProgress, STORY_CH5_MT_LAVA_LAVA_ERUPTING) + EVT_CALL(PlaySound, SOUND_8000006B) + EVT_END_IF + EVT_CALL(SetMusicTrack, 0, SONG_VOLCANO_ESCAPE, 0, 8) + EVT_CALL(PlayAmbientSounds, AMBIENT_UNDER_SEA4) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kzn/kzn_22/kzn_22_1_main.c b/src/world/area_kzn/kzn_22/kzn_22_2_main.c similarity index 97% rename from src/world/area_kzn/kzn_22/kzn_22_1_main.c rename to src/world/area_kzn/kzn_22/kzn_22_2_main.c index 9cb700d934..f755ddc398 100644 --- a/src/world/area_kzn/kzn_22/kzn_22_1_main.c +++ b/src/world/area_kzn/kzn_22/kzn_22_2_main.c @@ -1,9 +1,5 @@ #include "kzn_22.h" -extern EvtScript N(EVS_SetupMusic); -extern EvtScript N(EVS_MakeEntities); -extern NpcGroupList N(DefaultNPCs); - #include "world/common/atomic/kzn_SmokeTexPanners.inc.c" EvtScript N(EVS_ExitWalk_kzn_20_1) = EVT_EXIT_WALK_FIXED(60, kzn_22_ENTRY_0, "kzn_20", kzn_20_ENTRY_1); diff --git a/src/world/area_kzn/kzn_22/kzn_22_2_entity.c b/src/world/area_kzn/kzn_22/kzn_22_3_entity.c similarity index 100% rename from src/world/area_kzn/kzn_22/kzn_22_2_entity.c rename to src/world/area_kzn/kzn_22/kzn_22_3_entity.c diff --git a/src/world/area_kzn/kzn_22/kzn_22_3_npc.c b/src/world/area_kzn/kzn_22/kzn_22_4_npc.c similarity index 82% rename from src/world/area_kzn/kzn_22/kzn_22_3_npc.c rename to src/world/area_kzn/kzn_22/kzn_22_4_npc.c index 6bb5e54a3d..cef122b0ff 100644 --- a/src/world/area_kzn/kzn_22/kzn_22_3_npc.c +++ b/src/world/area_kzn/kzn_22/kzn_22_4_npc.c @@ -13,29 +13,8 @@ API_CALLABLE(N(func_8024036C_C9A56C)) { return ApiStatus_DONE2; } -NpcSettings N(NpcSettings_Kolorado) = { - .height = 40, - .radius = 24, - .level = 99, -}; - -NpcSettings N(NpcSettings_Misstar) = { - .height = 26, - .radius = 24, - .level = 99, -}; - -NpcSettings N(NpcSettings_Unused1) = { - .height = 20, - .radius = 20, - .level = 99, -}; - -NpcSettings N(NpcSettings_Unused2) = { - .height = 22, - .radius = 24, - .level = 99, -}; +#include "world/common/npc/Kolorado.inc.c" +#include "world/common/npc/StarSpirit.inc.c" EvtScript N(EVS_ShakeScreen) = { EVT_LOOP(0) @@ -290,62 +269,20 @@ StaticNpc N(NpcData_Kolorado) = { .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, .init = &N(EVS_NpcInit_Kolorado), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Kolorado_Idle, - .walk = ANIM_Kolorado_Walk, - .run = ANIM_Kolorado_Run, - .chase = ANIM_Kolorado_Run, - .anim_4 = ANIM_Kolorado_Idle, - .anim_5 = ANIM_Kolorado_Idle, - .death = ANIM_Kolorado_Idle, - .hit = ANIM_Kolorado_Idle, - .anim_8 = ANIM_Kolorado_Idle, - .anim_9 = ANIM_Kolorado_Idle, - .anim_A = ANIM_Kolorado_Idle, - .anim_B = ANIM_Kolorado_Idle, - .anim_C = ANIM_Kolorado_Idle, - .anim_D = ANIM_Kolorado_Idle, - .anim_E = ANIM_Kolorado_Idle, - .anim_F = ANIM_Kolorado_Idle, - }, + .drops = KOLORADO_DROPS, + .animations = KOLORADO_ANIMS, .tattle = MSG_NpcTattle_Kolorado, }; StaticNpc N(NpcData_Misstar) = { .id = NPC_Misstar, - .settings = &N(NpcSettings_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, .init = &N(EVS_NpcInit_Misstar), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_WorldMisstar_Idle, - .walk = ANIM_WorldMisstar_Idle, - .run = ANIM_WorldMisstar_Idle, - .chase = ANIM_WorldMisstar_Idle, - .anim_4 = ANIM_WorldMisstar_Idle, - .anim_5 = ANIM_WorldMisstar_Idle, - .death = ANIM_WorldMisstar_Idle, - .hit = ANIM_WorldMisstar_Idle, - .anim_8 = ANIM_WorldMisstar_Still, - .anim_9 = ANIM_WorldMisstar_Idle, - .anim_A = ANIM_WorldMisstar_Idle, - .anim_B = ANIM_WorldMisstar_Idle, - .anim_C = ANIM_WorldMisstar_Idle, - .anim_D = ANIM_WorldMisstar_Idle, - .anim_E = ANIM_WorldMisstar_Idle, - .anim_F = ANIM_WorldMisstar_Idle, - }, + .drops = MISSTAR_DROPS, + .animations = MISSTAR_ANIMS, .tattle = MSG_NpcTattle_Misstar, }; diff --git a/src/world/area_kzn/kzn_23/kzn_23.h b/src/world/area_kzn/kzn_23/kzn_23.h index ae0a5aa5c0..4ba9c05726 100644 --- a/src/world/area_kzn/kzn_23/kzn_23.h +++ b/src/world/area_kzn/kzn_23/kzn_23.h @@ -9,16 +9,17 @@ #include "mapfs/kzn_23_shape.h" #include "mapfs/kzn_23_hit.h" -#include "sprite/npc/Kolorado.h" -#include "sprite/npc/WorldMisstar.h" - enum { - NPC_Kolorado = 0, - NPC_Misstar = 1, + NPC_Kolorado = 0, + NPC_Misstar = 1, }; enum { - MV_LavaLevel = MapVar(10), + MV_LavaLevel = MapVar(10), }; #define NAMESPACE kzn_23 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_kzn/kzn_23/kzn_23_0_header.c b/src/world/area_kzn/kzn_23/kzn_23_0_header.c index 451e56db31..fc9a9115db 100644 --- a/src/world/area_kzn/kzn_23/kzn_23_0_header.c +++ b/src/world/area_kzn/kzn_23/kzn_23_0_header.c @@ -1,7 +1,5 @@ #include "kzn_23.h" -extern EvtScript N(EVS_Main); - EntryList N(Entrances) = { [kzn_23_ENTRY_0] { 0.0, 0.0, 100.0, 90.0 }, }; @@ -12,10 +10,3 @@ MapSettings N(settings) = { .entryCount = ENTRY_COUNT(N(Entrances)), .background = &gBackgroundImage, }; - -EvtScript N(EVS_SetupMusic) = { - EVT_CALL(SetMusicTrack, 0, SONG_VOLCANO_ESCAPE, 0, 8) - EVT_CALL(PlayAmbientSounds, AMBIENT_EXIT_SEA) - EVT_RETURN - EVT_END -}; diff --git a/src/world/area_kzn/kzn_23/kzn_23_1_music.c b/src/world/area_kzn/kzn_23/kzn_23_1_music.c new file mode 100644 index 0000000000..13acc8dd42 --- /dev/null +++ b/src/world/area_kzn/kzn_23/kzn_23_1_music.c @@ -0,0 +1,8 @@ +#include "kzn_23.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_CALL(SetMusicTrack, 0, SONG_VOLCANO_ESCAPE, 0, 8) + EVT_CALL(PlayAmbientSounds, AMBIENT_EXIT_SEA) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kzn/kzn_23/kzn_23_1_main.c b/src/world/area_kzn/kzn_23/kzn_23_2_main.c similarity index 90% rename from src/world/area_kzn/kzn_23/kzn_23_1_main.c rename to src/world/area_kzn/kzn_23/kzn_23_2_main.c index 961e0c38df..3e26d056f1 100644 --- a/src/world/area_kzn/kzn_23/kzn_23_1_main.c +++ b/src/world/area_kzn/kzn_23/kzn_23_2_main.c @@ -1,8 +1,5 @@ #include "kzn_23.h" -extern EvtScript N(EVS_SetupMusic); -extern NpcGroupList N(DefaultNPCs); - #include "world/common/atomic/kzn_SmokeTexPanners.inc.c" // should add to zero over a full cycle @@ -66,9 +63,7 @@ EvtScript N(EVS_RaiseLava) = { EvtScript N(EVS_Main) = { EVT_SET(GB_WorldLocation, LOCATION_MT_LAVALAVA) EVT_CALL(SetSpriteShading, SHADING_KZN_23) - EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, 25, 16, 4096) - EVT_CALL(SetCamBGColor, CAM_DEFAULT, 0, 0, 0) - EVT_CALL(SetCamEnabled, CAM_DEFAULT, TRUE) + EVT_SETUP_CAMERA_DEFAULT() EVT_CALL(MakeNpcs, TRUE, EVT_PTR(N(DefaultNPCs))) EVT_EXEC(N(EVS_SetupMusic)) EVT_EXEC(N(EVS_RaiseLava)) diff --git a/src/world/area_kzn/kzn_23/kzn_23_2_extra.c b/src/world/area_kzn/kzn_23/kzn_23_3_npc.c similarity index 82% rename from src/world/area_kzn/kzn_23/kzn_23_2_extra.c rename to src/world/area_kzn/kzn_23/kzn_23_3_npc.c index b38f9cee17..873e5c7eb5 100644 --- a/src/world/area_kzn/kzn_23/kzn_23_2_extra.c +++ b/src/world/area_kzn/kzn_23/kzn_23_3_npc.c @@ -68,29 +68,8 @@ API_CALLABLE(N(AnimateChestSize)) { } } -NpcSettings N(NpcSettings_Kolorado) = { - .height = 40, - .radius = 24, - .level = 99, -}; - -NpcSettings N(NpcSettings_Misstar) = { - .height = 26, - .radius = 24, - .level = 99, -}; - -NpcSettings N(Unused1) = { - .height = 20, - .radius = 20, - .level = 99, -}; - -NpcSettings N(Unused2) = { - .height = 22, - .radius = 24, - .level = 99, -}; +#include "world/common/npc/Kolorado.inc.c" +#include "world/common/npc/StarSpirit.inc.c" EvtScript N(EVS_NpcIdle_Kolorado) = { EVT_WAIT(30) @@ -303,62 +282,20 @@ StaticNpc N(NpcData_Kolorado) = { .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, .init = &N(EVS_NpcInit_Kolorado), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Kolorado_Idle, - .walk = ANIM_Kolorado_Walk, - .run = ANIM_Kolorado_Run, - .chase = ANIM_Kolorado_Run, - .anim_4 = ANIM_Kolorado_Idle, - .anim_5 = ANIM_Kolorado_Idle, - .death = ANIM_Kolorado_Idle, - .hit = ANIM_Kolorado_Idle, - .anim_8 = ANIM_Kolorado_Idle, - .anim_9 = ANIM_Kolorado_Idle, - .anim_A = ANIM_Kolorado_Idle, - .anim_B = ANIM_Kolorado_Idle, - .anim_C = ANIM_Kolorado_Idle, - .anim_D = ANIM_Kolorado_Idle, - .anim_E = ANIM_Kolorado_Idle, - .anim_F = ANIM_Kolorado_Idle, - }, + .drops = KOLORADO_DROPS, + .animations = KOLORADO_ANIMS, .tattle = MSG_NpcTattle_Kolorado, }; StaticNpc N(NpcData_Misstar) = { .id = NPC_Misstar, - .settings = &N(NpcSettings_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, .init = &N(EVS_NpcInit_Misstar), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_WorldMisstar_Idle, - .walk = ANIM_WorldMisstar_Idle, - .run = ANIM_WorldMisstar_Idle, - .chase = ANIM_WorldMisstar_Idle, - .anim_4 = ANIM_WorldMisstar_Idle, - .anim_5 = ANIM_WorldMisstar_Idle, - .death = ANIM_WorldMisstar_Idle, - .hit = ANIM_WorldMisstar_Idle, - .anim_8 = ANIM_WorldMisstar_Still, - .anim_9 = ANIM_WorldMisstar_Idle, - .anim_A = ANIM_WorldMisstar_Idle, - .anim_B = ANIM_WorldMisstar_Idle, - .anim_C = ANIM_WorldMisstar_Idle, - .anim_D = ANIM_WorldMisstar_Idle, - .anim_E = ANIM_WorldMisstar_Idle, - .anim_F = ANIM_WorldMisstar_Idle, - }, + .drops = MISSTAR_DROPS, + .animations = MISSTAR_ANIMS, }; NpcGroupList N(DefaultNPCs) = { diff --git a/src/world/area_mgm/mgm_00/mgm_00.h b/src/world/area_mgm/mgm_00/mgm_00.h index 22f024354c..ae2b4a5ad5 100644 --- a/src/world/area_mgm/mgm_00/mgm_00.h +++ b/src/world/area_mgm/mgm_00/mgm_00.h @@ -22,3 +22,12 @@ enum { }; #define NAMESPACE mgm_00 + +extern EvtScript N(EVS_Main); +extern EvtScript N(D_80243C40_E123E0); +extern EvtScript N(EVS_BindInteractTriggers); +extern EvtScript N(EVS_OnEnterPipe_JumpAttack); +extern EvtScript N(EVS_OnEnterPipe_SmashAttack); +extern NpcGroupList N(DefaultNPCs); + +void msg_draw_frame(s32 posX, s32 posY, s32 sizeX, s32 sizeY, s32 style, s32 palette, s32 fading, s32 bgAlpha, s32 frameAlpha); diff --git a/src/world/area_mgm/mgm_00/mgm_00_0_header.c b/src/world/area_mgm/mgm_00/mgm_00_0_header.c new file mode 100644 index 0000000000..2d025bafd7 --- /dev/null +++ b/src/world/area_mgm/mgm_00/mgm_00_0_header.c @@ -0,0 +1,16 @@ +#include "mgm_00.h" + +EntryList N(Entrances) = { + [mgm_00_ENTRY_0] { -152.0, 0.0, -218.0, 90.0 }, + [mgm_00_ENTRY_1] { -25.0, 30.0, -168.0, 90.0 }, + [mgm_00_ENTRY_2] { 95.0, 30.0, -168.0, 90.0 }, + [mgm_00_ENTRY_3] { 237.0, 0.0, -53.0, 270.0 }, + [mgm_00_ENTRY_4] { 20.0, 0.0, -80.0, 270.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .tattle = { MSG_MapTattle_mgm_00 }, +}; diff --git a/src/world/area_mgm/mgm_00/mgm_00_1_main.c b/src/world/area_mgm/mgm_00/mgm_00_1_main.c index 432435c2f7..0d1f279d78 100644 --- a/src/world/area_mgm/mgm_00/mgm_00_1_main.c +++ b/src/world/area_mgm/mgm_00/mgm_00_1_main.c @@ -1,25 +1,6 @@ #include "mgm_00.h" -extern EvtScript N(EVS_Main); -extern EvtScript N(D_80243C40_E123E0); -extern EvtScript N(EVS_BindInteractTriggers); -extern NpcGroupList N(DefaultNPCs); - -EntryList N(Entrances) = { - [mgm_00_ENTRY_0] { -152.0, 0.0, -218.0, 90.0 }, - [mgm_00_ENTRY_1] { -25.0, 30.0, -168.0, 90.0 }, - [mgm_00_ENTRY_2] { 95.0, 30.0, -168.0, 90.0 }, - [mgm_00_ENTRY_3] { 237.0, 0.0, -53.0, 270.0 }, - [mgm_00_ENTRY_4] { 20.0, 0.0, -80.0, 270.0 }, -}; - -MapSettings N(settings) = { - .main = &N(EVS_Main), - .entryList = &N(Entrances), - .entryCount = ENTRY_COUNT(N(Entrances)), - .tattle = { MSG_MapTattle_mgm_00 }, -}; - +// probably a blank EVS_SetupMusic EvtScript N(D_80241850_E0FFF0) = { EVT_RETURN EVT_END 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 b5676c0723..1520034fce 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 @@ -1,51 +1,7 @@ #include "mgm_00.h" -extern EvtScript N(EVS_OnEnterPipe_JumpAttack); -extern EvtScript N(EVS_OnEnterPipe_SmashAttack); - -#include "world/common/enemy/ai/PatrolNoAttackAI.inc.c" - -MobileAISettings N(AISettings_GreenToad) = { - .moveSpeed = 1.5f, - .moveTime = 30, - .waitTime = 30, - .playerSearchInterval = -1, - .unk_AI_2C = 1, -}; - -EvtScript N(EVS_NpcAI_GreenToad) = { - EVT_CALL(N(PatrolNoAttackAI_Main), EVT_PTR(N(AISettings_GreenToad))) - EVT_RETURN - EVT_END -}; - -NpcSettings N(NpcSettings_GreenToad) = { - .height = 30, - .radius = 24, - .level = 99, - .ai = &N(EVS_NpcAI_GreenToad), - .actionFlags = AI_ACTION_LOOK_AROUND_DURING_LOITER, -}; - -NpcSettings N(missing_80242A7C_2A7C) = { - .height = 23, - .radius = 19, - .level = 99, - .ai = &N(EVS_NpcAI_GreenToad), - .actionFlags = AI_ACTION_LOOK_AROUND_DURING_LOITER, -}; - -NpcSettings N(NpcSettings_RedToad) = { - .height = 30, - .radius = 24, - .level = 99, -}; - -NpcSettings N(missing_80242AD4_2AD4) = { - .height = 23, - .radius = 19, - .level = 99, -}; +#include "world/common/npc/Toad_Patrol.inc.c" +#include "world/common/npc/Toad_Stationary.inc.c" API_CALLABLE(N(GetAvailableGamesCount)) { s32 numGames = 0; @@ -211,34 +167,13 @@ EvtScript N(EVS_NpcInit_RedToad) = { StaticNpc N(NpcData_RedToad) = { .id = NPC_RedToad, - .settings = &N(NpcSettings_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, .init = &N(EVS_NpcInit_RedToad), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Toad_Red_Idle, - .walk = ANIM_Toad_Red_Walk, - .run = ANIM_Toad_Red_Run, - .chase = ANIM_Toad_Red_Run, - .anim_4 = ANIM_Toad_Red_Idle, - .anim_5 = ANIM_Toad_Red_Idle, - .death = ANIM_Toad_Red_Disappointed, - .hit = ANIM_Toad_Red_Disappointed, - .anim_8 = ANIM_Toad_Red_Run, - .anim_9 = ANIM_Toad_Red_Run, - .anim_A = ANIM_Toad_Red_Run, - .anim_B = ANIM_Toad_Red_Run, - .anim_C = ANIM_Toad_Red_Run, - .anim_D = ANIM_Toad_Red_Run, - .anim_E = ANIM_Toad_Red_Run, - .anim_F = ANIM_Toad_Red_Run, - }, + .drops = TOAD_DROPS, + .animations = TOAD_RED_ANIMS, .tattle = MSG_NpcTattle_MGM_PlayroomReceptionist, }; @@ -272,16 +207,12 @@ EvtScript N(EVS_NpcInit_GreenToad) = { StaticNpc N(NpcData_GreenToad) = { .id = NPC_GreenToad, - .settings = &N(NpcSettings_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, .init = &N(EVS_NpcInit_GreenToad), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, + .drops = TOAD_DROPS, .territory = { .patrol = { .isFlying = TRUE, @@ -296,24 +227,7 @@ StaticNpc N(NpcData_GreenToad) = { .detectSize = { 0 }, } }, - .animations = { - .idle = ANIM_Toad_Green_Idle, - .walk = ANIM_Toad_Green_Walk, - .run = ANIM_Toad_Green_Run, - .chase = ANIM_Toad_Green_Run, - .anim_4 = ANIM_Toad_Green_Idle, - .anim_5 = ANIM_Toad_Green_Idle, - .death = ANIM_Toad_Green_Disappointed, - .hit = ANIM_Toad_Green_Disappointed, - .anim_8 = ANIM_Toad_Green_Run, - .anim_9 = ANIM_Toad_Green_Run, - .anim_A = ANIM_Toad_Green_Run, - .anim_B = ANIM_Toad_Green_Run, - .anim_C = ANIM_Toad_Green_Run, - .anim_D = ANIM_Toad_Green_Run, - .anim_E = ANIM_Toad_Green_Run, - .anim_F = ANIM_Toad_Green_Run, - }, + .animations = TOAD_GREEN_ANIMS, .tattle = MSG_NpcTattle_MGM_PlayroomCustomer, }; @@ -343,16 +257,12 @@ EvtScript N(EVS_NpcInit_BlueToad) = { StaticNpc N(NpcData_BlueToad) = { .id = NPC_BlueToad, - .settings = &N(NpcSettings_GreenToad), + .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, .init = &N(EVS_NpcInit_BlueToad), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, + .drops = TOAD_DROPS, .territory = { .patrol = { .isFlying = TRUE, @@ -367,24 +277,7 @@ StaticNpc N(NpcData_BlueToad) = { .detectSize = { 0 }, } }, - .animations = { - .idle = ANIM_Toad_Blue_Idle, - .walk = ANIM_Toad_Blue_Walk, - .run = ANIM_Toad_Blue_Run, - .chase = ANIM_Toad_Blue_Run, - .anim_4 = ANIM_Toad_Blue_Idle, - .anim_5 = ANIM_Toad_Blue_Idle, - .death = ANIM_Toad_Blue_Disappointed, - .hit = ANIM_Toad_Blue_Disappointed, - .anim_8 = ANIM_Toad_Blue_Run, - .anim_9 = ANIM_Toad_Blue_Run, - .anim_A = ANIM_Toad_Blue_Run, - .anim_B = ANIM_Toad_Blue_Run, - .anim_C = ANIM_Toad_Blue_Run, - .anim_D = ANIM_Toad_Blue_Run, - .anim_E = ANIM_Toad_Blue_Run, - .anim_F = ANIM_Toad_Blue_Run, - }, + .animations = TOAD_BLUE_ANIMS, .tattle = MSG_NpcTattle_MGM_BestPlayroomCustomer, }; diff --git a/src/world/area_mgm/mgm_00/mgm_00_3_scoreboard.c b/src/world/area_mgm/mgm_00/mgm_00_3_scoreboard.c index bc151cc6e4..6d63f48847 100644 --- a/src/world/area_mgm/mgm_00/mgm_00_3_scoreboard.c +++ b/src/world/area_mgm/mgm_00/mgm_00_3_scoreboard.c @@ -1,9 +1,5 @@ #include "mgm_00.h" -void msg_draw_frame(s32 posX, s32 posY, s32 sizeX, s32 sizeY, s32 style, s32 palette, s32 fading, s32 bgAlpha, s32 frameAlpha); - -extern Gfx N(Gfx_RecordDisplay_Init)[]; - #define MINIGAME_TYPE_JUMP 1 #define MINIGAME_TYPE_SMASH 2 @@ -28,6 +24,28 @@ typedef struct RecordDisplayData { /* 0x14 */ s32 workerID; } RecordDisplayData; /* size = 0x18 */ +EvtScript N(D_80243C40_E123E0) = { + EVT_RETURN + EVT_END +}; + +Gfx N(Gfx_RecordDisplay_Init)[] = { + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_XLU_SURF, G_RM_XLU_SURF2), + gsDPSetCombineMode(G_CC_PRIMITIVE, G_CC_PRIMITIVE), + gsDPSetColorDither(G_CD_DISABLE), + gsDPSetAlphaDither(G_AD_DISABLE), + gsDPSetCombineKey(G_CK_NONE), + gsDPSetAlphaCompare(G_AC_NONE), + gsDPNoOp(), + gsDPSetPrimColor(0, 0, 255, 0, 0, 0), + gsDPFillRectangle(44, 49, 276, 51), + gsDPFillRectangle(44, 49, 46, 133), + gsDPFillRectangle(275, 49, 276, 133), + gsDPFillRectangle(44, 132, 276, 133), + gsSPEndDisplayList(), +}; + void N(draw_record_display)(RecordDisplayData* data, s32 alpha) { if (alpha > 0) { gSPDisplayList(gMasterGfxPos++, N(Gfx_RecordDisplay_Init)); @@ -136,28 +154,6 @@ API_CALLABLE(N(UpdateRecordDisplay)) { return ApiStatus_BLOCK; } -EvtScript N(D_80243C40_E123E0) = { - EVT_RETURN - EVT_END -}; - -Gfx N(Gfx_RecordDisplay_Init)[] = { - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_XLU_SURF, G_RM_XLU_SURF2), - gsDPSetCombineMode(G_CC_PRIMITIVE, G_CC_PRIMITIVE), - gsDPSetColorDither(G_CD_DISABLE), - gsDPSetAlphaDither(G_AD_DISABLE), - gsDPSetCombineKey(G_CK_NONE), - gsDPSetAlphaCompare(G_AC_NONE), - gsDPNoOp(), - gsDPSetPrimColor(0, 0, 255, 0, 0, 0), - gsDPFillRectangle(44, 49, 276, 51), - gsDPFillRectangle(44, 49, 46, 133), - gsDPFillRectangle(275, 49, 276, 133), - gsDPFillRectangle(44, 132, 276, 133), - gsSPEndDisplayList(), -}; - EvtScript N(EVS_OnInteract_JumpRecords) = { EVT_CALL(DisablePlayerInput, TRUE) EVT_CALL(DisablePlayerPhysics, TRUE) diff --git a/src/world/area_mgm/mgm_01/mgm_01.h b/src/world/area_mgm/mgm_01/mgm_01.h index c71d8d7bca..ee6760f486 100644 --- a/src/world/area_mgm/mgm_01/mgm_01.h +++ b/src/world/area_mgm/mgm_01/mgm_01.h @@ -16,3 +16,12 @@ enum { }; #define NAMESPACE mgm_01 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_MakeEntities); +extern EvtScript N(EVS_802424A4); +extern NpcGroupList N(DefaultNPCs); + +API_CALLABLE(N(SetMsgImgs_Panels)); + +void delete_entity(s32 entityIndex); diff --git a/src/world/area_mgm/mgm_01/mgm_01_0_header.c b/src/world/area_mgm/mgm_01/mgm_01_0_header.c new file mode 100644 index 0000000000..eea9ca2dae --- /dev/null +++ b/src/world/area_mgm/mgm_01/mgm_01_0_header.c @@ -0,0 +1,12 @@ +#include "mgm_01.h" + +EntryList N(Entrances) = { + [mgm_01_ENTRY_0] { 0.0, 200.0, 0.0, 90.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .tattle = { MSG_MapTattle_mgm_01 }, +}; diff --git a/src/world/area_mgm/mgm_01/mgm_01_1_main.c b/src/world/area_mgm/mgm_01/mgm_01_1_main.c index d14c2e9035..77f7504358 100644 --- a/src/world/area_mgm/mgm_01/mgm_01_1_main.c +++ b/src/world/area_mgm/mgm_01/mgm_01_1_main.c @@ -1,21 +1,5 @@ #include "mgm_01.h" -extern EvtScript N(EVS_Main); -extern EvtScript N(EVS_MakeEntities); -extern EvtScript N(EVS_802424A4); -extern NpcGroupList N(DefaultNPCs); - -EntryList N(Entrances) = { - [mgm_01_ENTRY_0] { 0.0, 200.0, 0.0, 90.0 }, -}; - -MapSettings N(settings) = { - .main = &N(EVS_Main), - .entryList = &N(Entrances), - .entryCount = ENTRY_COUNT(N(Entrances)), - .tattle = { MSG_MapTattle_mgm_01 }, -}; - API_CALLABLE(N(GetSpotlightPos)) { SpriteShadingProfile* shading; f32 spotLightPosX, spotLightPosZ; 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 e95a16eed3..6f4f5ce964 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 @@ -3,8 +3,6 @@ #include "effects.h" #include "entity.h" -void delete_entity(s32 entityIndex); - #define SCOREKEEPER_ENEMY_IDX 0 #define BROKEN_BLOCKS_VAR_IDX 2 #define TOTAL_BLOCKS_VAR_IDX 4 @@ -679,17 +677,7 @@ API_CALLABLE(N(SetMsgImgs_Panels)) { return ApiStatus_DONE2; } -NpcSettings N(NpcSettings_Toad) = { - .height = 30, - .radius = 24, - .level = 99, -}; - -NpcSettings N(missing_80241A9C_1A9C) = { - .height = 23, - .radius = 19, - .level = 99, -}; +#include "world/common/npc/Toad_Stationary.inc.c" s8 N(BlockPosX)[NUM_BLOCKS] = { -125, -100, -75, -50, -25, 0, 25, 50, 75, 100, 125 @@ -1027,34 +1015,13 @@ EvtScript N(EVS_NpcInit_Toad) = { StaticNpc N(NpcData_Toad) = { .id = NPC_Toad, - .settings = &N(NpcSettings_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, .init = &N(EVS_NpcInit_Toad), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Toad_Red_Idle, - .walk = ANIM_Toad_Red_Walk, - .run = ANIM_Toad_Red_Run, - .chase = ANIM_Toad_Red_Run, - .anim_4 = ANIM_Toad_Red_Idle, - .anim_5 = ANIM_Toad_Red_Idle, - .death = ANIM_Toad_Red_Disappointed, - .hit = ANIM_Toad_Red_Disappointed, - .anim_8 = ANIM_Toad_Red_Run, - .anim_9 = ANIM_Toad_Red_Run, - .anim_A = ANIM_Toad_Red_Run, - .anim_B = ANIM_Toad_Red_Run, - .anim_C = ANIM_Toad_Red_Run, - .anim_D = ANIM_Toad_Red_Run, - .anim_E = ANIM_Toad_Red_Run, - .anim_F = ANIM_Toad_Red_Run, - }, + .drops = TOAD_DROPS, + .animations = TOAD_RED_ANIMS, .tattle = MSG_NpcTattle_MGM_JumpAttackGuide, }; diff --git a/src/world/area_mgm/mgm_01/mgm_01_3_entity.c b/src/world/area_mgm/mgm_01/mgm_01_3_entity.c index a29676bae5..e6f812f37f 100644 --- a/src/world/area_mgm/mgm_01/mgm_01_3_entity.c +++ b/src/world/area_mgm/mgm_01/mgm_01_3_entity.c @@ -1,8 +1,6 @@ #include "mgm_01.h" #include "entity.h" -extern API_CALLABLE(N(SetMsgImgs_Panels)); - EvtScript N(EVS_ReadSign_HowToPlay) = { EVT_CALL(DisablePlayerInput, TRUE) EVT_CALL(N(SetMsgImgs_Panels)) diff --git a/src/world/area_mgm/mgm_02/mgm_02.h b/src/world/area_mgm/mgm_02/mgm_02.h index ccb72e243e..b710cab864 100644 --- a/src/world/area_mgm/mgm_02/mgm_02.h +++ b/src/world/area_mgm/mgm_02/mgm_02.h @@ -21,11 +21,11 @@ enum { NPC_Fuzzy_03 = 12, NPC_Fuzzy_04 = 13, NPC_Fuzzy_05 = 14, - NPC_Bobomb_01 = 30, - NPC_Bobomb_02 = 31, - NPC_Bobomb_03 = 32, - NPC_Bobomb_04 = 33, - NPC_Bobomb_05 = 34, + NPC_Bobomb_01 = 30, + NPC_Bobomb_02 = 31, + NPC_Bobomb_03 = 32, + NPC_Bobomb_04 = 33, + NPC_Bobomb_05 = 34, NPC_Luigi_01 = 100, NPC_Luigi_02 = 101, NPC_Luigi_03 = 102, @@ -39,3 +39,8 @@ enum { }; #define NAMESPACE mgm_02 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_Dummy); +extern EvtScript N(EVS_InitializeMinigame); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_mgm/mgm_02/mgm_02_0_header.c b/src/world/area_mgm/mgm_02/mgm_02_0_header.c new file mode 100644 index 0000000000..a29025e1a0 --- /dev/null +++ b/src/world/area_mgm/mgm_02/mgm_02_0_header.c @@ -0,0 +1,12 @@ +#include "mgm_02.h" + +EntryList N(Entrances) = { + [mgm_02_ENTRY_0] { -300.0, 200.0, 200.0, 90.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .tattle = { MSG_MapTattle_mgm_02 }, +}; diff --git a/src/world/area_mgm/mgm_02/mgm_02_1_main.c b/src/world/area_mgm/mgm_02/mgm_02_1_main.c index 9ad41945bb..02b5d40771 100644 --- a/src/world/area_mgm/mgm_02/mgm_02_1_main.c +++ b/src/world/area_mgm/mgm_02/mgm_02_1_main.c @@ -1,21 +1,5 @@ #include "mgm_02.h" -extern EvtScript N(EVS_Main); -extern EvtScript N(EVS_Dummy); -extern EvtScript N(EVS_InitializeMinigame); -extern NpcGroupList N(DefaultNPCs); - -EntryList N(Entrances) = { - [mgm_02_ENTRY_0] { -300.0, 200.0, 200.0, 90.0 }, -}; - -MapSettings N(settings) = { - .main = &N(EVS_Main), - .entryList = &N(Entrances), - .entryCount = ENTRY_COUNT(N(Entrances)), - .tattle = { MSG_MapTattle_mgm_02 }, -}; - EvtScript N(EVS_SetupCamera) = { EVT_CALL(UseSettingsFrom, CAM_DEFAULT, -300, -20, 200) EVT_CALL(SetPanTarget, CAM_DEFAULT, 250, -20, 220) 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 267bfb80ff..bc953b114f 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 @@ -1004,17 +1004,7 @@ EvtScript N(EVS_Dummy) = { EVT_END }; -NpcSettings N(NpcSettings_Toad) = { - .height = 30, - .radius = 24, - .level = 99, -}; - -NpcSettings N(NpcSettings_Unused) = { - .height = 23, - .radius = 19, - .level = 99, -}; +#include "world/common/npc/Toad_Stationary.inc.c" NpcSettings N(NpcSettings_Luigi) = { .height = 24, @@ -1795,34 +1785,13 @@ EvtScript N(EVS_NpcInit_Toad) = { StaticNpc N(NpcData_GuideToad) = { .id = NPC_Toad, - .settings = &N(NpcSettings_Toad), + .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, .init = &N(EVS_NpcInit_Toad), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_Toad_Red_Idle, - .walk = ANIM_Toad_Red_Walk, - .run = ANIM_Toad_Red_Run, - .chase = ANIM_Toad_Red_Run, - .anim_4 = ANIM_Toad_Red_Idle, - .anim_5 = ANIM_Toad_Red_Idle, - .death = ANIM_Toad_Red_Disappointed, - .hit = ANIM_Toad_Red_Disappointed, - .anim_8 = ANIM_Toad_Red_Run, - .anim_9 = ANIM_Toad_Red_Run, - .anim_A = ANIM_Toad_Red_Run, - .anim_B = ANIM_Toad_Red_Run, - .anim_C = ANIM_Toad_Red_Run, - .anim_D = ANIM_Toad_Red_Run, - .anim_E = ANIM_Toad_Red_Run, - .anim_F = ANIM_Toad_Red_Run, - }, + .drops = TOAD_DROPS, + .animations = TOAD_RED_ANIMS, .tattle = MSG_NpcTattle_MGM_SmashAttackGuide, }; diff --git a/src/world/area_mgm/mgm_03/mgm_03.h b/src/world/area_mgm/mgm_03/mgm_03.h index 6b9efe3af3..cd1126437a 100644 --- a/src/world/area_mgm/mgm_03/mgm_03.h +++ b/src/world/area_mgm/mgm_03/mgm_03.h @@ -10,3 +10,5 @@ #include "mapfs/mgm_03_hit.h" #define NAMESPACE mgm_03 + +extern EvtScript N(EVS_Main); diff --git a/src/world/area_mgm/mgm_03/mgm_03_0_header.c b/src/world/area_mgm/mgm_03/mgm_03_0_header.c new file mode 100644 index 0000000000..8979e86b6c --- /dev/null +++ b/src/world/area_mgm/mgm_03/mgm_03_0_header.c @@ -0,0 +1,12 @@ +#include "mgm_03.h" + +EntryList N(Entrances) = { + [mgm_03_ENTRY_0] { 0.0, 200.0, 0.0, 90.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .tattle = { MSG_MapTattle_mgm_01 }, +}; diff --git a/src/world/area_mgm/mgm_03/mgm_03_1_main.c b/src/world/area_mgm/mgm_03/mgm_03_1_main.c index fdbc46033d..d8195b0547 100644 --- a/src/world/area_mgm/mgm_03/mgm_03_1_main.c +++ b/src/world/area_mgm/mgm_03/mgm_03_1_main.c @@ -1,18 +1,5 @@ #include "mgm_03.h" -extern EvtScript N(EVS_Main); - -EntryList N(Entrances) = { - [mgm_03_ENTRY_0] { 0.0, 200.0, 0.0, 90.0 }, -}; - -MapSettings N(settings) = { - .main = &N(EVS_Main), - .entryList = &N(Entrances), - .entryCount = ENTRY_COUNT(N(Entrances)), - .tattle = { MSG_MapTattle_mgm_01 }, -}; - EvtScript N(EVS_Main) = { EVT_CALL(SetSpriteShading, SHADING_ARN_09) EVT_SETUP_CAMERA_NO_LEAD() diff --git a/src/world/area_mim/mim.h b/src/world/area_mim/mim.h index 50e8d25876..68a612676b 100644 --- a/src/world/area_mim/mim.h +++ b/src/world/area_mim/mim.h @@ -23,7 +23,7 @@ enum { enum { AF_MIM_01 = AreaFlag(1), AF_MIM03_Oaklie_DialogueToggle = AreaFlag(2), - AF_MIM04_Bulbulb_DialogueToggle = AreaFlag(4), + AF_MIM04_Bubulb_DialogueToggle = AreaFlag(4), AF_MIM12_BackgroundLitUp = AreaFlag(3), }; 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 a1a5dd1c75..8118f388c2 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 @@ -2,7 +2,7 @@ #include "world/common/enemy/complete/ForestFuzzy.inc.c" -#include "world/common/npc/Bulbulb.inc.c" +#include "world/common/npc/Bubulb.inc.c" #include "world/common/complete/GiveReward.inc.c" @@ -31,12 +31,12 @@ EvtScript N(EVS_NpcInteract_Bubulb) = { EVT_SET(LVar0, MSG_CH3_0015) EVT_SET(LVar1, MSG_CH3_0016) EVT_END_SWITCH - EVT_IF_EQ(AF_MIM04_Bulbulb_DialogueToggle, FALSE) + EVT_IF_EQ(AF_MIM04_Bubulb_DialogueToggle, FALSE) EVT_CALL(SpeakToPlayer, NPC_Bubulb, ANIM_Bubulb_Green_Talk, ANIM_Bubulb_Green_Idle, 0, LVar0) - EVT_SET(AF_MIM04_Bulbulb_DialogueToggle, TRUE) + EVT_SET(AF_MIM04_Bubulb_DialogueToggle, TRUE) EVT_ELSE EVT_CALL(SpeakToPlayer, NPC_Bubulb, ANIM_Bubulb_Green_Talk, ANIM_Bubulb_Green_Idle, 0, LVar1) - EVT_SET(AF_MIM04_Bulbulb_DialogueToggle, FALSE) + EVT_SET(AF_MIM04_Bubulb_DialogueToggle, FALSE) EVT_END_IF EVT_END_IF EVT_RETURN diff --git a/src/world/area_mim/mim_09/mim_09.h b/src/world/area_mim/mim_09/mim_09.h index 098486ddfc..e9e2cd49b8 100644 --- a/src/world/area_mim/mim_09/mim_09.h +++ b/src/world/area_mim/mim_09/mim_09.h @@ -9,8 +9,6 @@ #include "mapfs/mim_09_shape.h" #include "mapfs/mim_09_hit.h" -#include "sprite/npc/Fuzzy.h" - enum { NPC_Fuzzy = 0, }; 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 ea36d8f580..ec80830912 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 @@ -1,11 +1,6 @@ #include "mim_09.h" -NpcSettings N(NpcSettings_Unused1) = { - .height = 32, - .radius = 24, - .level = 99, -}; - +#include "world/common/npc/Oaklie.inc.c" #include "world/common/enemy/complete/ForestFuzzy.inc.c" StaticNpc N(NpcData_Fuzzy) = { diff --git a/src/world/area_pra/pra_35/D8D270.c b/src/world/area_pra/pra_35/D8D270.c index 135c794fcc..a63aa8d4fb 100644 --- a/src/world/area_pra/pra_35/D8D270.c +++ b/src/world/area_pra/pra_35/D8D270.c @@ -28,7 +28,7 @@ ApiStatus func_802423CC_D8F61C(Evt *script, s32 isInitialCall) { if (isInitialCall || (enemy->aiFlags & ENEMY_AI_FLAGS_4)) { script->functionTemp[0] = 0; npc->duration = 0; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->flags &= ~NPC_FLAG_JUMPING; if (!enemy->territory->patrol.isFlying) { npc->flags |= NPC_FLAG_GRAVITY; 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 dafd6355e1..690f3bf2e9 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 @@ -1,35 +1,8 @@ #include "sbk_02.h" #include "effects.h" -NpcSettings N(NpcSettings_Mamar) = { - .height = 26, - .radius = 24, - .level = 99, -}; - -NpcSettings N(NpcSettings_Unused1) = { - .height = 20, - .radius = 20, - .level = 99, -}; - -NpcSettings N(NpcSettings_Unused2) = { - .height = 22, - .radius = 24, - .level = 99, -}; - -NpcSettings N(NpcSettings_Toad) = { - .height = 30, - .radius = 24, - .level = 99, -}; - -NpcSettings N(NpcSettings_Unused3) = { - .height = 23, - .radius = 19, - .level = 99, -}; +#include "world/common/npc/StarSpirit.inc.c" +#include "world/common/npc/Toad_Stationary.inc.c" #include "world/common/complete/NormalItemChoice.inc.c" @@ -282,39 +255,18 @@ EvtScript N(EVS_NpcInit_Toad) = { StaticNpc N(NpcData_Mamar) = { .id = NPC_Mamar, - .settings = &N(NpcSettings_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, .init = &N(EVS_NpcInit_Mamar), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, - .animations = { - .idle = ANIM_WorldMamar_Idle, - .walk = ANIM_WorldMamar_Idle, - .run = ANIM_WorldMamar_Idle, - .chase = ANIM_WorldMamar_Idle, - .anim_4 = ANIM_WorldMamar_Idle, - .anim_5 = ANIM_WorldMamar_Idle, - .death = ANIM_WorldMamar_Idle, - .hit = ANIM_WorldMamar_Idle, - .anim_8 = ANIM_WorldMamar_Still, - .anim_9 = ANIM_WorldMamar_Idle, - .anim_A = ANIM_WorldMamar_Idle, - .anim_B = ANIM_WorldMamar_Idle, - .anim_C = ANIM_WorldMamar_Idle, - .anim_D = ANIM_WorldMamar_Idle, - .anim_E = ANIM_WorldMamar_Idle, - .anim_F = ANIM_WorldMamar_Idle, - }, + .drops = MAMAR_DROPS, + .animations = MAMAR_ANIMS, }; StaticNpc N(NpcData_TradingToad) = { .id = NPC_TradingToad, - .settings = &N(NpcSettings_Toad), + .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, diff --git a/src/world/area_tik/tik_25/8A8600.c b/src/world/area_tik/tik_25/8A8600.c index 5cf2d3e8af..e63ae633ca 100644 --- a/src/world/area_tik/tik_25/8A8600.c +++ b/src/world/area_tik/tik_25/8A8600.c @@ -1,26 +1,11 @@ #include "tik_25.h" #include "entity.h" -ApiStatus func_80240680_8A8600(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(func_80240680_8A8600)) { get_entity_by_index(script->varTable[0])->dataBuf.chest->gotItemDone = TRUE; return ApiStatus_DONE2; } #include "world/common/todo/SetEntityPosition.inc.c" -// linker sym needed -#ifdef NON_MATCHING -ApiStatus func_80240770_8A86F0(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - Entity* entity; - - entity = get_entity_by_index(evt_get_variable(script, *args++)); - if (entity == NULL) { - return ApiStatus_BLOCK; - } - play_model_animation(entity->virtualModelIndex, 0x1E4); - return ApiStatus_DONE2; -} -#else -INCLUDE_ASM(s32, "world/area_tik/tik_25/8A8600", func_80240770_8A86F0); -#endif +#include "world/common/util/PlaySpringReboundAnimation.inc.c" 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 fee328ba55..70ec57e5ae 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 @@ -23,23 +23,7 @@ NpcSettings N(NpcSettings_KoopaBros) = { .onDefeat = &EnemyNpcDefeat, }; -NpcSettings N(NpcSettings_Eldstar) = { - .height = 26, - .radius = 24, - .level = 99, -}; - -NpcSettings N(NpcSettings_Unused1) = { - .height = 20, - .radius = 20, - .level = 99, -}; - -NpcSettings N(NpcSettings_Unused2) = { - .height = 22, - .radius = 24, - .level = 99, -}; +#include "world/common/npc/StarSpirit.inc.c" EvtScript N(EVS_NpcIdle_KoopaBros) = { EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_2, TRUE) @@ -356,16 +340,12 @@ StaticNpc N(NpcData_KoopaBros) = { StaticNpc N(NpcData_Eldstar) = { .id = NPC_Eldstar, - .settings = &N(NpcSettings_Eldstar), + .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, .flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_JUMPING, .init = &N(EVS_NpcInit_Eldstar), - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, + .drops = ELDSTAR_DROPS, .territory = { .wander = { .isFlying = TRUE, @@ -378,24 +358,7 @@ StaticNpc N(NpcData_Eldstar) = { .detectSize = { 500 }, } }, - .animations = { - .idle = ANIM_WorldEldstar_Idle, - .walk = ANIM_WorldEldstar_Idle, - .run = ANIM_WorldEldstar_Idle, - .chase = ANIM_WorldEldstar_Idle, - .anim_4 = ANIM_WorldEldstar_Idle, - .anim_5 = ANIM_WorldEldstar_Idle, - .death = ANIM_WorldEldstar_Idle, - .hit = ANIM_WorldEldstar_Idle, - .anim_8 = ANIM_WorldEldstar_Still, - .anim_9 = ANIM_WorldEldstar_Idle, - .anim_A = ANIM_WorldEldstar_Idle, - .anim_B = ANIM_WorldEldstar_Idle, - .anim_C = ANIM_WorldEldstar_Idle, - .anim_D = ANIM_WorldEldstar_Idle, - .anim_E = ANIM_WorldEldstar_Idle, - .anim_F = ANIM_WorldEldstar_Idle, - }, + .animations = ELDSTAR_ANIMS, }; NpcGroupList N(DefaultNPCs) = { diff --git a/src/world/common/atomic/LetterChoice.inc.c b/src/world/common/atomic/LetterChoice.inc.c index a041b12b61..da1b0f1720 100644 --- a/src/world/common/atomic/LetterChoice.inc.c +++ b/src/world/common/atomic/LetterChoice.inc.c @@ -180,3 +180,27 @@ EvtScript N(EVS_DoLetterDelivery) = { EVT_RETURN EVT_END }; + +#define EVT_LETTER_PROMPT(npcName, npcID, animTalk, animIdle, msg1, msg2, ms3, msg4, itemID, itemList) \ + EvtScript N(EVS_##npcName##_LetterDelivery) = { \ + EVT_CALL(N(LetterDelivery_Init), \ + npcID, animTalk, animIdle, \ + itemID, ITEM_NONE, \ + msg1, msg2, ms3, msg4, \ + EVT_PTR(itemList)) \ + EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) \ + EVT_RETURN \ + EVT_END \ + } + +#define EVT_LETTER_REWARD(npcName) \ + EvtScript N(EVS_##npcName##_LetterReward) = { \ + EVT_IF_EQ(LVarC, 2) \ + EVT_SET(LVar0, ITEM_STAR_PIECE) \ + EVT_SET(LVar1, 3) \ + EVT_EXEC_WAIT(N(GiveKeyReward)) \ + EVT_CALL(AddStarPieces, 1) \ + EVT_END_IF \ + EVT_RETURN \ + EVT_END \ + } diff --git a/src/world/common/complete/LetterDelivery.inc.c b/src/world/common/complete/LetterDelivery.inc.c index 8e86d09cf9..4451894a26 100644 --- a/src/world/common/complete/LetterDelivery.inc.c +++ b/src/world/common/complete/LetterDelivery.inc.c @@ -1,12 +1,12 @@ #include "common.h" #include "sprite/npc/WorldParakarry.h" -static s32 N(LetterDelivery_SavedNpcAnim); - #include "world/common/complete/GiveReward.inc.c" #include "world/common/complete/KeyItemChoice.inc.c" +static s32 N(LetterDelivery_SavedNpcAnim); + API_CALLABLE(N(LetterDelivery_Init)) { Bytecode* args = script->ptrReadPos; @@ -180,3 +180,31 @@ EvtScript N(EVS_DoLetterDelivery) = { EVT_RETURN EVT_END }; + +#define EVT_LETTER_PROMPT(npcName, npcID, animTalk, animIdle, msg1, msg2, ms3, msg4, itemID, itemList) \ + EvtScript N(EVS_##npcName##_LetterPrompt) = { \ + EVT_CALL(N(LetterDelivery_Init), \ + npcID, animTalk, animIdle, \ + itemID, ITEM_NONE, \ + msg1, msg2, ms3, msg4, \ + EVT_PTR(itemList)) \ + EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) \ + EVT_RETURN \ + EVT_END \ + } + +#define EVT_LETTER_REWARD(npcName) \ + EvtScript N(EVS_##npcName##_LetterReward) = { \ + EVT_IF_EQ(LVarC, 2) \ + EVT_SET(LVar0, ITEM_STAR_PIECE) \ + EVT_SET(LVar1, 3) \ + EVT_EXEC_WAIT(N(GiveKeyReward)) \ + EVT_CALL(AddStarPieces, 1) \ + EVT_END_IF \ + EVT_RETURN \ + EVT_END \ + } + +#define EVT_LETTER_CHECK(npcName) \ + EVT_EXEC_WAIT(N(EVS_##npcName##_LetterPrompt)) \ + EVT_EXEC_WAIT(N(EVS_##npcName##_LetterReward)) diff --git a/src/world/common/enemy/ai/BulletBillAI.inc.c b/src/world/common/enemy/ai/BulletBillAI.inc.c index d425aa6248..44023e5a7c 100644 --- a/src/world/common/enemy/ai/BulletBillAI.inc.c +++ b/src/world/common/enemy/ai/BulletBillAI.inc.c @@ -88,14 +88,14 @@ ApiStatus N(BulletBillAI_Main)(Evt* script, s32 isInitialCall) { npc->pos.z = blasterNpc->pos.z + 1.0; npc->yaw = blasterNpc->yaw; npc->moveSpeed = aiSettings->chaseSpeed; - npc->currentAnim = enemy->animList[ENEMY_ANIM_RUN]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_RUN]; add_vec2D_polar(&npc->pos.x, &npc->pos.z, 25.0f, npc->yaw); if (npc->yaw < 180.0f) { npc->renderYaw = 180.0f; } else { npc->renderYaw = 0.0f; } - npc->currentAnim = enemy->animList[ENEMY_ANIM_CHASE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_CHASE]; npc->duration = 300; npc->flags |= (NPC_FLAG_DIRTY_SHADOW | NPC_FLAG_LOCK_ANIMS); enable_npc_shadow(npc); @@ -122,7 +122,7 @@ ApiStatus N(BulletBillAI_Main)(Evt* script, s32 isInitialCall) { } if (hitDetected) { - npc->currentAnim = enemy->animList[ENEMY_ANIM_HIT]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_HIT]; ai_enemy_play_sound(npc, SOUND_B0000018, 0); fx_ring_blast(0, npc->pos.x, npc->pos.y + 5.0f, npc->pos.z + 1.0f, 0.05f, 20); fx_smoke_burst(0, npc->pos.x, npc->pos.y + 5.0f, npc->pos.z + 0.0f, 1.2f, 25); @@ -162,7 +162,7 @@ ApiStatus N(BillBlasterAI_Main)(Evt* script, s32 isInitialCall) { if (isInitialCall) { script->AI_TEMP_STATE = AI_STATE_BLASTER_INIT; npc->duration = 30; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; enemy->flags |= ENEMY_FLAGS_200000; disable_npc_shadow(npc); } @@ -173,7 +173,7 @@ ApiStatus N(BillBlasterAI_Main)(Evt* script, s32 isInitialCall) { } if (enemy->aiFlags & ENEMY_AI_FLAGS_4) { - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; if (enemy->aiPaused != 0) { return ApiStatus_BLOCK; } @@ -195,7 +195,7 @@ ApiStatus N(BillBlasterAI_Main)(Evt* script, s32 isInitialCall) { bulletEnemy->VAR_PROJECTILE_HITBOX_STATE = PROJECTILE_HITBOX_STATE_INIT; bulletEnemy->AI_VAR_BULLET_BLASTER = enemy->npcID; bulletEnemy->AI_VAR_BULLET_RANGE = enemy->AI_VAR_BLASTER_RANGE; - npc->currentAnim = enemy->animList[ENEMY_ANIM_MELEE_PRE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_MELEE_PRE]; npc->duration = 10; script->AI_TEMP_STATE = AI_STATE_BLASTER_FIRE; } else { @@ -208,7 +208,7 @@ ApiStatus N(BillBlasterAI_Main)(Evt* script, s32 isInitialCall) { if (npc->duration > 0) { break; } - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; bulletEnemy = get_enemy(enemy->AI_VAR_BLASTER_BULLET); bulletEnemy->VAR_PROJECTILE_HITBOX_STATE = PROJECTILE_HITBOX_STATE_PRE; ai_enemy_play_sound(npc, SOUND_328, 0x200000); diff --git a/src/world/common/enemy/ai/CleftAI.inc.c b/src/world/common/enemy/ai/CleftAI.inc.c index cb7b06b6d3..945ad14fa2 100644 --- a/src/world/common/enemy/ai/CleftAI.inc.c +++ b/src/world/common/enemy/ai/CleftAI.inc.c @@ -116,7 +116,7 @@ void N(CleftAI_FindPlayerInit)(Evt* script, MobileAISettings* aiSettings, EnemyD Npc* npc = get_npc_unsafe(enemy->npcID); npc->yaw = clamp_angle(npc->yaw + rand_int(180) - 90.0f); - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; script->functionTemp[1] = rand_int(1000) % 2 + 2; script->AI_TEMP_STATE = AI_STATE_CLEFT_FIND_PLAYER; } @@ -220,7 +220,7 @@ void N(CleftAI_LosePlayer)(Evt* script, MobileAISettings* aiSettings, EnemyDetec npc->duration--; if (npc->duration <= 0) { - npc->currentAnim = enemy->animList[ENEMY_ANIM_WALK]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_WALK]; if (enemy->territory->wander.moveSpeedOverride < 0) { npc->moveSpeed = aiSettings->moveSpeed; } else { diff --git a/src/world/common/enemy/ai/ClubbaNappingAI.inc.c b/src/world/common/enemy/ai/ClubbaNappingAI.inc.c index 9574548c7f..d1824b8fc4 100644 --- a/src/world/common/enemy/ai/ClubbaNappingAI.inc.c +++ b/src/world/common/enemy/ai/ClubbaNappingAI.inc.c @@ -108,7 +108,7 @@ void N(ClubbaNappingAI_LoiterInit)(Evt* script, MobileAISettings* aiSettings, En Npc* npc = get_npc_unsafe(enemy->npcID); npc->yaw = clamp_angle((npc->yaw + rand_int(180)) - 90.0f); - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; script->functionTemp[1] = (rand_int(1000) % 2) + 2; // chose random number 2-3 script->AI_TEMP_STATE = AI_STATE_NAPPING_CLUBBA_LOITER; } @@ -153,7 +153,7 @@ void N(ClubbaNappingAI_ReturnHomeInit)(Evt* script, MobileAISettings* aiSettings npc->duration--; if (npc->duration <= 0) { - npc->currentAnim = enemy->animList[ENEMY_ANIM_WALK]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_WALK]; if (enemy->territory->wander.moveSpeedOverride < 0) { npc->moveSpeed = aiSettings->moveSpeed; } else { @@ -173,7 +173,7 @@ void N(ClubbaNappingAI_ReturnHome)(Evt* script, MobileAISettings* aiSettings, En script->AI_TEMP_STATE = AI_STATE_CHASE_INIT; } else if (dist2D(npc->pos.x, npc->pos.z, enemy->territory->wander.centerPos.x, enemy->territory->wander.centerPos.z) <= npc->moveSpeed) { - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->duration = 15; enemy->AI_VAR_NEXT_STATE = AI_STATE_NAPPING_CLUBBA_50; script->AI_TEMP_STATE = AI_STATE_NAPPING_CLUBBA_LOITER_INIT; @@ -230,7 +230,7 @@ ApiStatus N(ClubbaNappingAI_Main)(Evt* script, s32 isInitialCall) { if (enemy->aiFlags & ENEMY_AI_FLAGS_4) { script->AI_TEMP_STATE = AI_STATE_SUSPEND; script->AI_TEMP_STATE_AFTER_SUSPEND = AI_RETURN_HOME_INIT; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; } enemy->aiFlags &= ~ENEMY_AI_FLAGS_4; } diff --git a/src/world/common/enemy/ai/ClubbaPatrolAI.inc.c b/src/world/common/enemy/ai/ClubbaPatrolAI.inc.c index b84ae7473c..2c980a55db 100644 --- a/src/world/common/enemy/ai/ClubbaPatrolAI.inc.c +++ b/src/world/common/enemy/ai/ClubbaPatrolAI.inc.c @@ -25,7 +25,7 @@ ApiStatus N(ClubbaPatrolAI_Main)(Evt* script, s32 isInitialCall) { if (isInitialCall || (enemy->aiFlags & ENEMY_AI_FLAGS_4)) { script->AI_TEMP_STATE = AI_STATE_PATROL_INIT; npc->duration = 0; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->flags &= ~NPC_FLAG_JUMPING; if (!enemy->territory->patrol.isFlying) { npc->flags |= NPC_FLAG_GRAVITY; diff --git a/src/world/common/enemy/ai/FlyingAI.inc.c b/src/world/common/enemy/ai/FlyingAI.inc.c index 6c994d2294..946b843ec6 100644 --- a/src/world/common/enemy/ai/FlyingAI.inc.c +++ b/src/world/common/enemy/ai/FlyingAI.inc.c @@ -29,7 +29,7 @@ void N(FlyingAI_WanderInit)(Evt* script, MobileAISettings* aiSettings, EnemyDete } else { npc->yaw = clamp_angle((npc->yaw + rand_int(60)) - 30.0f); } - npc->currentAnim = enemy->animList[ENEMY_ANIM_WALK]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_WALK]; script->functionTemp[1] = 0; if (enemy->territory->wander.moveSpeedOverride < 0) { npc->moveSpeed = aiSettings->moveSpeed; @@ -266,7 +266,7 @@ void N(FlyingAI_JumpInit)(Evt* script, MobileAISettings* aiSettings, EnemyDetect npc->duration = 0; npc->yaw = atan2(npc->pos.x, npc->pos.z, playerStatus->position.x, playerStatus->position.z); - npc->currentAnim = enemy->animList[ENEMY_ANIM_MELEE_PRE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_MELEE_PRE]; script->functionTemp[0] = AI_STATE_ALERT; } @@ -286,7 +286,7 @@ void N(FlyingAI_ChaseInit)(Evt* script, MobileAISettings* aiSettings, EnemyDetec f32 jumpVelocity = (f32)enemy->varTable[5] / 100.0; f32 jumpScale = (f32)enemy->varTable[6] / 100.0; - npc->currentAnim = enemy->animList[ENEMY_ANIM_MELEE_PRE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_MELEE_PRE]; npc->jumpVelocity = jumpVelocity; npc->jumpScale = jumpScale; npc->moveSpeed = aiSettings->chaseSpeed; @@ -338,7 +338,7 @@ void N(FlyingAI_LosePlayer)(Evt* script, MobileAISettings* aiSettings, EnemyDete if (npc->jumpVelocity >= 0.0) { npc->pos.y += npc->jumpVelocity; - npc->currentAnim = enemy->animList[ENEMY_ANIM_MELEE_HIT]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_MELEE_HIT]; enemy->unk_07 = 0; if (!(npc->flags & NPC_FLAG_ENABLE_HIT_SCRIPT)) { posX = npc->pos.x; diff --git a/src/world/common/enemy/ai/FlyingNoAttackAI.inc.c b/src/world/common/enemy/ai/FlyingNoAttackAI.inc.c index 166313c18f..c2f0333c1f 100644 --- a/src/world/common/enemy/ai/FlyingNoAttackAI.inc.c +++ b/src/world/common/enemy/ai/FlyingNoAttackAI.inc.c @@ -17,7 +17,7 @@ void N(FlyingNoAttackAI_12)(Evt* script, MobileAISettings* aiSettings, EnemyDete f32 angleDiff; npc->duration = (aiSettings->chaseUpdateInterval / 2) + rand_int(aiSettings->chaseUpdateInterval / 2 + 1); - npc->currentAnim = enemy->animList[ENEMY_ANIM_CHASE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_CHASE]; npc->moveSpeed = aiSettings->chaseSpeed; tempAngle = atan2(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x, gPlayerStatusPtr->position.z); @@ -47,7 +47,7 @@ void N(FlyingNoAttackAI_13)(Evt* script, MobileAISettings* aiSettings, EnemyDete if (basic_ai_check_player_dist(territory, enemy, aiSettings->chaseRadius, aiSettings->chaseOffsetDist, 1) == 0) { fx_emote(EMOTE_QUESTION, npc, 0.0f, npc->collisionHeight, 1.0f, 2.0f, -20.0f, 0xF, &var); - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->duration = 30; script->functionTemp[0] = 20; enemy->varTable[9] = 30; diff --git a/src/world/common/enemy/ai/GrooveGuyAI.inc.c b/src/world/common/enemy/ai/GrooveGuyAI.inc.c index 67aedd0328..ad3b823635 100644 --- a/src/world/common/enemy/ai/GrooveGuyAI.inc.c +++ b/src/world/common/enemy/ai/GrooveGuyAI.inc.c @@ -89,7 +89,7 @@ ApiStatus N(GrooveGuyAI_Main)(Evt* script, s32 isInitialCall) { if (isInitialCall || enemy->aiFlags & ENEMY_AI_FLAGS_4) { script->functionTemp[0] = 0; npc->duration = 0; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->flags &= ~NPC_FLAG_JUMPING; if (!enemy->territory->wander.isFlying) { diff --git a/src/world/common/enemy/ai/HoppingAI.inc.c b/src/world/common/enemy/ai/HoppingAI.inc.c index 8ea61573b0..11171fcabe 100644 --- a/src/world/common/enemy/ai/HoppingAI.inc.c +++ b/src/world/common/enemy/ai/HoppingAI.inc.c @@ -118,7 +118,7 @@ void N(HoppingAI_LoiterInit)(Evt* script, MobileAISettings* aiSettings, EnemyDet npc->duration = (aiSettings->waitTime / 2) + rand_int((aiSettings->waitTime / 2) + 1); npc->yaw = clamp_angle(npc->yaw + rand_int(180) - 90.0f); - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; script->AI_TEMP_STATE = 3; } diff --git a/src/world/common/enemy/ai/KoopaPatrolAI.inc.c b/src/world/common/enemy/ai/KoopaPatrolAI.inc.c index c894ea072f..e88e76bf38 100644 --- a/src/world/common/enemy/ai/KoopaPatrolAI.inc.c +++ b/src/world/common/enemy/ai/KoopaPatrolAI.inc.c @@ -32,7 +32,7 @@ ApiStatus N(KoopaPatrolAI_Main)(Evt* script, s32 isInitialCall) { npc->duration = 0; script->functionTemp[0] = 0; enemy->unk_07 = 0; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->flags &= ~NPC_FLAG_JUMPING; npc->collisionHeight = enemy->varTable[6]; enemy->unk_B5 = 0; diff --git a/src/world/common/enemy/ai/MagikoopaAI.inc.c b/src/world/common/enemy/ai/MagikoopaAI.inc.c index 5919516d31..a28cdfcad1 100644 --- a/src/world/common/enemy/ai/MagikoopaAI.inc.c +++ b/src/world/common/enemy/ai/MagikoopaAI.inc.c @@ -21,7 +21,7 @@ void N(MagikoopaAI_00)(Evt* script, MobileAISettings* aiSettings, EnemyDetectVol npc->duration--; if (npc->duration <= 0) { - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->flags &= ~NPC_FLAG_2; npc->duration = 0; script->AI_TEMP_STATE = 1; diff --git a/src/world/common/enemy/ai/MeleeHitbox.inc.c b/src/world/common/enemy/ai/MeleeHitbox.inc.c index 0f5b5d3155..f8bd8c277a 100644 --- a/src/world/common/enemy/ai/MeleeHitbox.inc.c +++ b/src/world/common/enemy/ai/MeleeHitbox.inc.c @@ -17,7 +17,7 @@ void N(MeleeHitbox_30)(Evt* script) { if (npc->turnAroundYawAdjustment == 0) { enemy->AI_VAR_ATTACK_STATE = MELEE_HITBOX_STATE_PRE; npc->duration = enemy->AI_VAR_MELEE_PRE_TIME; - npc->currentAnim = enemy->animList[ENEMY_ANIM_MELEE_PRE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_MELEE_PRE]; script->AI_TEMP_STATE = AI_STATE_MELEE_HITBOX_PRE; } } @@ -30,7 +30,7 @@ void N(MeleeHitbox_31)(Evt* script) { if (npc->duration <= 0) { enemy->AI_VAR_ATTACK_STATE = MELEE_HITBOX_STATE_ACTIVE; npc->duration = enemy->AI_VAR_MELEE_HIT_TIME; - npc->currentAnim = enemy->animList[ENEMY_ANIM_MELEE_HIT]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_MELEE_HIT]; script->AI_TEMP_STATE = AI_STATE_MELEE_HITBOX_ACTIVE; } } @@ -43,7 +43,7 @@ void N(MeleeHitbox_32)(Evt* script) { npc->duration--; if (npc->duration <= 0) { enemy->AI_VAR_ATTACK_STATE = MELEE_HITBOX_STATE_POST; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->duration = enemy->AI_VAR_MELEE_MISS_TIME; if (enemy->AI_VAR_MELEE_MISS_TIME >= 8) { fx_emote(EMOTE_FRUSTRATION, npc, 0.0f, npc->collisionHeight, 1.0f, 2.0f, -20.0f, enemy->AI_VAR_MELEE_MISS_TIME - 1, &emoteTemp); diff --git a/src/world/common/enemy/ai/PatrolNoAttackAI.inc.c b/src/world/common/enemy/ai/PatrolNoAttackAI.inc.c index 8b6df4ebc2..3587432ecc 100644 --- a/src/world/common/enemy/ai/PatrolNoAttackAI.inc.c +++ b/src/world/common/enemy/ai/PatrolNoAttackAI.inc.c @@ -41,7 +41,7 @@ ApiStatus N(PatrolNoAttackAI_Main)(Evt* script, s32 isInitialCall) { if (isInitialCall || enemy->aiFlags & ENEMY_AI_FLAGS_4) { script->AI_TEMP_STATE = AI_STATE_PATROL_INIT; npc->duration = 0; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->flags &= ~NPC_FLAG_JUMPING; if (!enemy->territory->patrol.isFlying) { diff --git a/src/world/common/enemy/ai/ProjectileHitbox.inc.c b/src/world/common/enemy/ai/ProjectileHitbox.inc.c index 1cc1366ff6..08740126ff 100644 --- a/src/world/common/enemy/ai/ProjectileHitbox.inc.c +++ b/src/world/common/enemy/ai/ProjectileHitbox.inc.c @@ -58,14 +58,14 @@ void N(UnkNpcAIFunc48)(Evt* script, f32 arg1, f32 arg2, EnemyDetectVolume* terri s32 sp28; fx_emote(EMOTE_QUESTION, npc, 0.0f, npc->collisionHeight, 1.0f, 2.0f, -20.0f, 15, &sp28); - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->duration = 20; script->functionTemp[0] = 33; } else { s32 npcID = N(ProjectileHitbox_GetUsableProjectileID)(script); if (npcID != NPC_SELF && get_enemy(npcID)->varTable[0] == 0 && npc->turnAroundYawAdjustment == 0) { - npc->currentAnim = enemy->animList[ENEMY_ANIM_MELEE_PRE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_MELEE_PRE]; npc->duration = enemy->varTable[1]; script->functionTemp[0] = 30; } @@ -84,11 +84,11 @@ void N(ProjectileHitbox_30)(Evt* script) { s32 emoteTemp; fx_emote(EMOTE_QUESTION, npc, 0.0f, npc->collisionHeight, 1.0f, 2.0f, -20.0f, 15, &emoteTemp); - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; } else { Enemy* hitboxEnemy; - npc->currentAnim = enemy->animList[ENEMY_ANIM_MELEE_HIT]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_MELEE_HIT]; hitboxEnemy = get_enemy(npcID); hitboxEnemy->varTable[4] = enemy->npcID; hitboxEnemy->varTable[0] = 1; @@ -113,7 +113,7 @@ void N(ProjectileHitbox_32)(Evt* script) { npc->yaw = atan2(npc->pos.x, npc->pos.z, npc2->pos.x, npc2->pos.z); if (enemy2->varTable[0] == 0) { - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->duration = enemy->varTable[2]; script->functionTemp[0] = AI_STATE_PROJECTILE_HITBOX_33; } diff --git a/src/world/common/enemy/ai/RangedAttackAI.inc.c b/src/world/common/enemy/ai/RangedAttackAI.inc.c index b39a76b3ef..34a8ed7953 100644 --- a/src/world/common/enemy/ai/RangedAttackAI.inc.c +++ b/src/world/common/enemy/ai/RangedAttackAI.inc.c @@ -32,7 +32,7 @@ ApiStatus N(RangedAttackAI_Main)(Evt* script, s32 isInitialCall) { if (isInitialCall || (enemy->aiFlags & ENEMY_AI_FLAGS_4)) { script->AI_TEMP_STATE = 0; npc->duration = 0; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->flags &= ~NPC_FLAG_JUMPING; if (!enemy->territory->wander.isFlying) { diff --git a/src/world/common/enemy/ai/SentinelAI.inc.c b/src/world/common/enemy/ai/SentinelAI.inc.c index 3d3fd42653..51aef251ec 100644 --- a/src/world/common/enemy/ai/SentinelAI.inc.c +++ b/src/world/common/enemy/ai/SentinelAI.inc.c @@ -49,7 +49,7 @@ void N(SentinelAI_ChaseInit)(Evt* script, MobileAISettings* aiSettings, EnemyDet if (npc->duration <= 0) { npc->flags &= ~NPC_FLAG_200000; npc->duration = aiSettings->chaseUpdateInterval / 2 + rand_int(aiSettings->chaseUpdateInterval / 2 + 1); - npc->currentAnim = enemy->animList[ENEMY_ANIM_MELEE_PRE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_MELEE_PRE]; npc->moveSpeed = aiSettings->chaseSpeed; angle = atan2(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x, gPlayerStatusPtr->position.z); deltaAngle = get_clamped_angle_diff(npc->yaw, angle); @@ -164,7 +164,7 @@ void N(SentinelAI_LosePlayerInit)(Evt* script, MobileAISettings* aiSettings, Ene sfx_stop_sound(SOUND_80000011); enemy->varTable[0] &= ~SENTINEL_AI_FLAG_PLAYING_SOUND; } - npc->currentAnim = enemy->animList[ENEMY_ANIM_MELEE_HIT]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_MELEE_HIT]; npc->duration = 20; script->AI_TEMP_STATE = AI_STATE_SENTINEL_LOSE_PLAYER; } diff --git a/src/world/common/enemy/ai/ShyGuyPatrolAI.inc.c b/src/world/common/enemy/ai/ShyGuyPatrolAI.inc.c index 5a16be28d2..f55c9b398f 100644 --- a/src/world/common/enemy/ai/ShyGuyPatrolAI.inc.c +++ b/src/world/common/enemy/ai/ShyGuyPatrolAI.inc.c @@ -83,7 +83,7 @@ ApiStatus N(ShyGuyPatrolAI_Main)(Evt* script, s32 isInitialCall) { if (isInitialCall || enemy->aiFlags & ENEMY_AI_FLAGS_4) { script->functionTemp[0] = 0; npc->duration = 0; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->flags &= ~NPC_FLAG_JUMPING; if (!enemy->territory->patrol.isFlying) { diff --git a/src/world/common/enemy/ai/ShyGuyWanderAI.inc.c b/src/world/common/enemy/ai/ShyGuyWanderAI.inc.c index 3dba9bf667..f1fd416afc 100644 --- a/src/world/common/enemy/ai/ShyGuyWanderAI.inc.c +++ b/src/world/common/enemy/ai/ShyGuyWanderAI.inc.c @@ -81,7 +81,7 @@ ApiStatus N(ShyGuyWanderAI_Main)(Evt* script, s32 isInitialCall) { if (isInitialCall || enemy->aiFlags & ENEMY_AI_FLAGS_4) { script->functionTemp[0] = 0; npc->duration = 0; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->flags &= ~NPC_FLAG_JUMPING; if (!enemy->territory->wander.isFlying) { diff --git a/src/world/common/enemy/ai/SpearGuyAI.inc.c b/src/world/common/enemy/ai/SpearGuyAI.inc.c index fa4f61c726..c0c0119dbf 100644 --- a/src/world/common/enemy/ai/SpearGuyAI.inc.c +++ b/src/world/common/enemy/ai/SpearGuyAI.inc.c @@ -100,7 +100,7 @@ ApiStatus N(SpearGuyAI_Main)(Evt *script, s32 isInitialCall) { if (isInitialCall || (enemy->aiFlags & ENEMY_AI_FLAGS_4)) { script->AI_TEMP_STATE = AI_STATE_WANDER_INIT; npc->duration = 0; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->flags &= ~NPC_FLAG_JUMPING; if (!enemy->territory->wander.isFlying) { diff --git a/src/world/common/enemy/ai/SpinyAI.inc.c b/src/world/common/enemy/ai/SpinyAI.inc.c index 80d32fd115..489e041fbc 100644 --- a/src/world/common/enemy/ai/SpinyAI.inc.c +++ b/src/world/common/enemy/ai/SpinyAI.inc.c @@ -48,7 +48,7 @@ ApiStatus N(SpinyAI_Main)(Evt* script, s32 isInitialCall) { if (isInitialCall || (enemy->varTable[10] == 100)) { script->AI_TEMP_STATE = 100; npc->duration = 0; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->flags &= ~NPC_FLAG_JUMPING; enemy->flags |= ENEMY_FLAGS_200000; npc->flags &= ~NPC_FLAG_GRAVITY; @@ -73,7 +73,7 @@ ApiStatus N(SpinyAI_Main)(Evt* script, s32 isInitialCall) { } else { s32 emoteTemp; fx_emote(EMOTE_QUESTION, npc, 0.0f, npc->collisionHeight, 1.0f, 2.0f, -20.0f, 0x28, &emoteTemp); - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; script->functionTemp[1] = 0; script->AI_TEMP_STATE = 200; } diff --git a/src/world/common/enemy/ai/States_PatrolAI.inc.c b/src/world/common/enemy/ai/States_PatrolAI.inc.c index 57042c29bf..cefe49d1db 100644 --- a/src/world/common/enemy/ai/States_PatrolAI.inc.c +++ b/src/world/common/enemy/ai/States_PatrolAI.inc.c @@ -34,7 +34,7 @@ void N(PatrolAI_MoveInit)(Evt* script, MobileAISettings* aiSettings, EnemyDetect } } - npc->currentAnim = enemy->animList[ENEMY_ANIM_WALK]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_WALK]; if (enemy->territory->patrol.moveSpeedOverride < 0) { npc->moveSpeed = aiSettings->moveSpeed; } else { @@ -99,7 +99,7 @@ void N(PatrolAI_LoiterInit)(Evt* script, MobileAISettings* aiSettings, EnemyDete npc->duration = (aiSettings->waitTime / 2) + rand_int((aiSettings->waitTime / 2) + 1); npc->yaw = clamp_angle(npc->yaw + rand_int(180) - 90.0f); - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; script->AI_TEMP_STATE = AI_STATE_LOITER; } @@ -146,7 +146,7 @@ void N(PatrolAI_PostLoiter)(Evt* script, MobileAISettings* aiSettings, EnemyDete if (script->functionTemp[2] >= enemy->territory->patrol.numPoints) { script->functionTemp[2] = 0; } - npc->currentAnim = enemy->animList[ENEMY_ANIM_WALK]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_WALK]; if (enemy->territory->patrol.moveSpeedOverride < 0) { npc->moveSpeed = aiSettings->moveSpeed; } else { @@ -159,7 +159,7 @@ void N(PatrolAI_JumpInit)(Evt* script, MobileAISettings* aiSettings, EnemyDetect Enemy* enemy = script->owner1.enemy; Npc* npc = get_npc_unsafe(enemy->npcID); - npc->currentAnim = enemy->animList[ENEMY_ANIM_JUMP]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_JUMP]; npc->jumpVelocity = 10.0f; npc->jumpScale = 2.0f; npc->moveToPos.y = npc->pos.y; @@ -188,7 +188,7 @@ void N(PatrolAI_ChaseInit)(Evt* script, MobileAISettings* aiSettings, EnemyDetec f32 angleDiff; npc->duration = (aiSettings->chaseUpdateInterval / 2) + rand_int(aiSettings->chaseUpdateInterval / 2 + 1); - npc->currentAnim = enemy->animList[ENEMY_ANIM_CHASE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_CHASE]; npc->moveSpeed = aiSettings->chaseSpeed; angle = atan2(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x, gPlayerStatusPtr->position.z); @@ -215,7 +215,7 @@ ApiStatus N(PatrolAI_Chase)(Evt* script, MobileAISettings* aiSettings, EnemyDete if (!basic_ai_check_player_dist(territory, enemy, aiSettings->chaseRadius, aiSettings->chaseOffsetDist, 1)) { fx_emote(EMOTE_QUESTION, npc, 0.0f, npc->collisionHeight, 1.0f, 2.0f, -20.0f, 15, &emoteTemp); - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->duration = 25; script->AI_TEMP_STATE = AI_STATE_LOSE_PLAYER; } else { @@ -257,7 +257,7 @@ void N(PatrolNoAttackAI_15)(Evt* script, MobileAISettings* aiSettings, EnemyDete } npc->moveSpeed = aiSettings->moveSpeed; - npc->currentAnim = enemy->animList[ENEMY_ANIM_WALK]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_WALK]; script->functionTemp[1] = 0; script->AI_TEMP_STATE = AI_STATE_PATROL; } diff --git a/src/world/common/enemy/ai/States_TackleAI.inc.c b/src/world/common/enemy/ai/States_TackleAI.inc.c index 981e8a3b09..235339e843 100644 --- a/src/world/common/enemy/ai/States_TackleAI.inc.c +++ b/src/world/common/enemy/ai/States_TackleAI.inc.c @@ -11,7 +11,7 @@ void N(set_script_owner_npc_anim)(Evt* script, MobileAISettings* aiSettings, Ene Enemy* enemy = script->owner1.enemy; Npc* npc = get_npc_unsafe(enemy->npcID); - npc->currentAnim = enemy->animList[ENEMY_ANIM_MELEE_PRE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_MELEE_PRE]; npc->duration = enemy->varTable[2]; npc->yaw = atan2(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x, gPlayerStatusPtr->position.z); script->AI_TEMP_STATE = 13; @@ -24,7 +24,7 @@ ApiStatus N(UnkDistFunc)(Evt* script, MobileAISettings* aiSettings, EnemyDetectV if ((npc->duration <= 0) || (--npc->duration <= 0)) { if (npc->turnAroundYawAdjustment == 0) { - npc->currentAnim = enemy->animList[ENEMY_ANIM_MELEE_HIT]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_MELEE_HIT]; npc->moveSpeed = aiSettings->chaseSpeed; if ((enemy->varTable[7] == 5) || (enemy->varTable[7] == 0) || (enemy->varTable[7] == 1)) { npc->collisionHeight = enemy->varTable[6] / 2; diff --git a/src/world/common/enemy/ai/StationaryAI.inc.c b/src/world/common/enemy/ai/StationaryAI.inc.c index 87428fa6d1..2337f78514 100644 --- a/src/world/common/enemy/ai/StationaryAI.inc.c +++ b/src/world/common/enemy/ai/StationaryAI.inc.c @@ -23,7 +23,7 @@ void N(StationaryAI_IdleInit)(Evt* script, StationaryAISettings* aiSettings, Ene Enemy* enemy = script->owner1.enemy; Npc* npc = get_npc_unsafe(enemy->npcID); - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; script->AI_TEMP_STATE = AI_STATE_STATIONARY_IDLE; if (enemy->flags & ENEMY_FLAGS_100000) { @@ -86,7 +86,7 @@ void N(StationaryAI_ChaseInit)(Evt* script, StationaryAISettings* aiSettings, En f32 angleDiff; npc->duration = (aiSettings->chaseUpdateInterval / 2) + rand_int(aiSettings->chaseUpdateInterval / 2 + 1); - npc->currentAnim = enemy->animList[ENEMY_ANIM_CHASE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_CHASE]; npc->moveSpeed = aiSettings->chaseSpeed; tempAngle = atan2(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x, gPlayerStatusPtr->position.z); @@ -113,7 +113,7 @@ void N(StationaryAI_Chase)(Evt* script, StationaryAISettings* aiSettings, EnemyD if (!basic_ai_check_player_dist(arg2, enemy, aiSettings->chaseRadius, aiSettings->chaseOffsetDist, 1)) { fx_emote(EMOTE_QUESTION, npc, 0.0f, npc->collisionHeight, 1.0f, 2.0f, -20.0f, 15, &emoteTemp); - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->duration = 25; script->AI_TEMP_STATE = AI_STATE_LOSE_PLAYER; } else { @@ -139,7 +139,7 @@ void N(StationaryAI_ReturnHomeInit)(Evt* script, StationaryAISettings* aiSetting Enemy* enemy = script->owner1.enemy; Npc* npc = get_npc_unsafe(enemy->npcID); - npc->currentAnim = enemy->animList[ENEMY_ANIM_WALK]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_WALK]; if (enemy->territory->wander.moveSpeedOverride < 0) { npc->moveSpeed = aiSettings->chaseSpeed * 0.3; } else { @@ -206,7 +206,7 @@ ApiStatus N(StationaryAI_Main)(Evt* script, s32 isInitialCall) { script->AI_TEMP_STATE = AI_STATE_STATIONARY_IDLE_INIT; npc->duration = 0; enemy->varTable[0] = npc->yaw; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->flags &= ~NPC_FLAG_JUMPING; if (!(enemy->territory->wander.isFlying)) { diff --git a/src/world/common/enemy/ai/TackleAI.inc.c b/src/world/common/enemy/ai/TackleAI.inc.c index d6b266091b..5c9d223bae 100644 --- a/src/world/common/enemy/ai/TackleAI.inc.c +++ b/src/world/common/enemy/ai/TackleAI.inc.c @@ -49,7 +49,7 @@ ApiStatus N(TackleAI_Main)(Evt* script, s32 isInitialCall) { script->AI_TEMP_STATE = 0; npc->duration = 0; enemy->unk_07 = 0; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->flags &= ~NPC_FLAG_JUMPING; npc->collisionHeight = enemy->varTable[6]; enemy->varTable[9] = 0; diff --git a/src/world/common/enemy/ai/UnkFloAI.inc.c b/src/world/common/enemy/ai/UnkFloAI.inc.c index bf0d9b69ac..902a1c216a 100644 --- a/src/world/common/enemy/ai/UnkFloAI.inc.c +++ b/src/world/common/enemy/ai/UnkFloAI.inc.c @@ -27,7 +27,7 @@ void N(UnkFloAI_ChaseInit)(Evt* script, MobileAISettings* npcAISettings, EnemyDe f32 posZCCW; npc->duration = npcAISettings->chaseUpdateInterval / 2 + rand_int(npcAISettings->chaseUpdateInterval / 2 + 1); - npc->currentAnim = enemy->animList[ENEMY_ANIM_CHASE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_CHASE]; npc->moveSpeed = npcAISettings->chaseSpeed; detectedPlayer = FALSE; @@ -116,7 +116,7 @@ void N(UnkFloAI_ChaseInit)(Evt* script, MobileAISettings* npcAISettings, EnemyDe } if (detectedPlayer) { npc->duration = 10; - npc->currentAnim = enemy->animList[ENEMY_ANIM_MELEE_PRE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_MELEE_PRE]; } script->AI_TEMP_STATE = AI_STATE_CHASE; } @@ -128,11 +128,11 @@ void N(UnkFloAI_Chase)(Evt* script, MobileAISettings* npcAISettings, EnemyDetect if (!basic_ai_check_player_dist(territory, enemy, npcAISettings->chaseRadius, npcAISettings->chaseOffsetDist, 1)) { fx_emote(EMOTE_QUESTION, npc, 0.0f, npc->collisionHeight, 1.0f, 2.0f, -20.0f, 15, &emoteTemp); - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->duration = 25; script->AI_TEMP_STATE = AI_STATE_LOSE_PLAYER; } else { - if (npc->currentAnim != enemy->animList[ENEMY_ANIM_MELEE_PRE]) { + if (npc->currentAnim != enemy->animList[ENEMY_ANIM_INDEX_MELEE_PRE]) { if (npc->moveSpeed < 4.0) { func_8003D660(npc, 0); } else { @@ -190,7 +190,7 @@ ApiStatus N(UnkFloAI_Main)(Evt* script, s32 isInitialCall) { if (isInitialCall || (enemy->aiFlags & ENEMY_AI_FLAGS_4)) { script->functionTemp[0] = AI_STATE_WANDER_INIT; npc->duration = 0; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->flags &= ~NPC_FLAG_JUMPING; if (!enemy->territory->wander.isFlying) { npc->flags |= NPC_FLAG_GRAVITY; diff --git a/src/world/common/enemy/ai/WanderMeleeAI.inc.c b/src/world/common/enemy/ai/WanderMeleeAI.inc.c index 94464a2c56..7207a40378 100644 --- a/src/world/common/enemy/ai/WanderMeleeAI.inc.c +++ b/src/world/common/enemy/ai/WanderMeleeAI.inc.c @@ -42,7 +42,7 @@ ApiStatus N(WanderMeleeAI_Main)(Evt *script, s32 isInitialCall) { if (isInitialCall || (enemy->aiFlags & ENEMY_AI_FLAGS_4)) { script->AI_TEMP_STATE = AI_STATE_WANDER_INIT; npc->duration = 0; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; npc->flags &= ~NPC_FLAG_JUMPING; if (!enemy->territory->wander.isFlying) { diff --git a/src/world/common/enemy/complete/Goomba.inc.c b/src/world/common/enemy/complete/Goomba.inc.c deleted file mode 100644 index 658ba19fd2..0000000000 --- a/src/world/common/enemy/complete/Goomba.inc.c +++ /dev/null @@ -1,30 +0,0 @@ - -#include "common.h" - -MobileAISettings N(AISettings_Goomba) = { - .moveSpeed = 1.8f, - .moveTime = 40, - .waitTime = 15, - .alertRadius = 150.0f, - .playerSearchInterval = 2, - .chaseSpeed = 3.3f, - .chaseTurnRate = 70, - .chaseUpdateInterval = 1, - .chaseRadius = 180.0f, - .unk_AI_2C = 1, -}; - -EvtScript N(EVS_NpcAI_Goomba) = { - EVT_CALL(BasicAI_Main, EVT_PTR(N(AISettings_Goomba))) - EVT_RETURN - EVT_END -}; - -NpcSettings N(NpcSettings_Goomba) = { - .height = 20, - .radius = 23, - .level = 12, - .ai = &N(EVS_NpcAI_Goomba), - .onHit = &EnemyNpcHit, - .onDefeat = &EnemyNpcDefeat, -}; diff --git a/src/world/common/enemy/complete/GoombaBros.h b/src/world/common/enemy/complete/GoombaBros.h new file mode 100644 index 0000000000..2d6a811bbb --- /dev/null +++ b/src/world/common/enemy/complete/GoombaBros.h @@ -0,0 +1,49 @@ +#include "common.h" +#include "sprite/npc/GoombaBros.h" + +#define GOOMBA_BROS_DROPS \ +{ \ + .dropFlags = NPC_DROP_FLAGS_80, \ + .heartDrops = NO_DROPS, \ + .flowerDrops = NO_DROPS, \ +} + +#define GOOMBA_BROS_RED_ANIMS \ +{ \ + .idle = ANIM_GoombaBros_Red_Idle, \ + .walk = ANIM_GoombaBros_Red_Walk, \ + .run = ANIM_GoombaBros_Red_Run, \ + .chase = ANIM_GoombaBros_Red_Run, \ + .anim_4 = ANIM_GoombaBros_Red_Idle, \ + .anim_5 = ANIM_GoombaBros_Red_Idle, \ + .death = ANIM_GoombaBros_Red_Hurt, \ + .hit = ANIM_GoombaBros_Red_Hurt, \ + .anim_8 = ANIM_GoombaBros_Red_Run, \ + .anim_9 = ANIM_GoombaBros_Red_Run, \ + .anim_A = ANIM_GoombaBros_Red_Run, \ + .anim_B = ANIM_GoombaBros_Red_Run, \ + .anim_C = ANIM_GoombaBros_Red_Run, \ + .anim_D = ANIM_GoombaBros_Red_Run, \ + .anim_E = ANIM_GoombaBros_Red_Run, \ + .anim_F = ANIM_GoombaBros_Red_Run, \ +} + +#define GOOMBA_BROS_BLUE_ANIMS \ +{ \ + .idle = ANIM_GoombaBros_Blue_Idle, \ + .walk = ANIM_GoombaBros_Blue_Walk, \ + .run = ANIM_GoombaBros_Blue_Run, \ + .chase = ANIM_GoombaBros_Blue_Run, \ + .anim_4 = ANIM_GoombaBros_Blue_Idle, \ + .anim_5 = ANIM_GoombaBros_Blue_Idle, \ + .death = ANIM_GoombaBros_Blue_Hurt, \ + .hit = ANIM_GoombaBros_Blue_Hurt, \ + .anim_8 = ANIM_GoombaBros_Blue_Run, \ + .anim_9 = ANIM_GoombaBros_Blue_Run, \ + .anim_A = ANIM_GoombaBros_Blue_Run, \ + .anim_B = ANIM_GoombaBros_Blue_Run, \ + .anim_C = ANIM_GoombaBros_Blue_Run, \ + .anim_D = ANIM_GoombaBros_Blue_Run, \ + .anim_E = ANIM_GoombaBros_Blue_Run, \ + .anim_F = ANIM_GoombaBros_Blue_Run, \ +} diff --git a/src/world/common/enemy/complete/GoombaBros_Stationary.inc.c b/src/world/common/enemy/complete/GoombaBros_Stationary.inc.c new file mode 100644 index 0000000000..e10af058d9 --- /dev/null +++ b/src/world/common/enemy/complete/GoombaBros_Stationary.inc.c @@ -0,0 +1,28 @@ +#include "GoombaBros.h" + +#include "world/common/enemy/ai/StationaryAI.inc.c" + +StationaryAISettings N(AISettings_GoombaBros_Stationary) = { + .unk_00 = 130.0f, + .playerSearchInterval = 1, + .chaseSpeed = 2.5f, + .chaseTurnRate = 180, + .chaseUpdateInterval = 3, + .chaseRadius = 150.0f, + .unk_20 = 1, +}; + +EvtScript N(EVS_NpcAI_GoombaBros_Stationary) = { + EVT_CALL(N(StationaryAI_Main), EVT_PTR(N(AISettings_GoombaBros_Stationary))) + EVT_RETURN + EVT_END +}; + +NpcSettings N(NpcSettings_GoombaBros_Stationary) = { + .height = 20, + .radius = 23, + .level = 5, + .ai = &N(EVS_NpcAI_GoombaBros_Stationary), + .onHit = &EnemyNpcHit, + .onDefeat = &EnemyNpcDefeat, +}; diff --git a/src/world/common/enemy/complete/LavaPiranha.h b/src/world/common/enemy/complete/LavaPiranha.h new file mode 100644 index 0000000000..5f67ee13ae --- /dev/null +++ b/src/world/common/enemy/complete/LavaPiranha.h @@ -0,0 +1,56 @@ +#include "common.h" +#include "sprite/npc/LavaPiranha.h" +#include "sprite/npc/LavaBud.h" + +#define LAVA_PIRANHA_DROPS \ +{ \ + .dropFlags = NPC_DROP_FLAGS_80, \ + .itemDropChance = 5, \ + .itemDrops = { \ + { ITEM_SUPER_SHROOM, 10, 0 }, \ + }, \ + .heartDrops = STANDARD_HEART_DROPS(2), \ + .flowerDrops = STANDARD_FLOWER_DROPS(2), \ + .minCoinBonus = 0, \ + .maxCoinBonus = 3, \ +} + +#define LAVA_PIRANHA_HEAD_ANIMS \ +{ \ + .idle = ANIM_LavaPiranha_Anim03, \ + .walk = ANIM_LavaPiranha_Anim03, \ + .run = ANIM_LavaPiranha_Anim03, \ + .chase = ANIM_LavaPiranha_Anim03, \ + .anim_4 = ANIM_LavaPiranha_Anim03, \ + .anim_5 = ANIM_LavaPiranha_Anim03, \ + .death = ANIM_LavaPiranha_Anim03, \ + .hit = ANIM_LavaPiranha_Anim03, \ + .anim_8 = ANIM_LavaPiranha_Anim03, \ + .anim_9 = ANIM_LavaPiranha_Anim03, \ + .anim_A = ANIM_LavaPiranha_Anim03, \ + .anim_B = ANIM_LavaPiranha_Anim03, \ + .anim_C = ANIM_LavaPiranha_Anim03, \ + .anim_D = ANIM_LavaPiranha_Anim03, \ + .anim_E = ANIM_LavaPiranha_Anim03, \ + .anim_F = ANIM_LavaPiranha_Anim03, \ +} + +#define LAVA_PIRANHA_BUD_ANIMS \ +{ \ + .idle = ANIM_LavaBud_Anim03, \ + .walk = ANIM_LavaBud_Anim03, \ + .run = ANIM_LavaBud_Anim03, \ + .chase = ANIM_LavaBud_Anim03, \ + .anim_4 = ANIM_LavaBud_Anim03, \ + .anim_5 = ANIM_LavaBud_Anim03, \ + .death = ANIM_LavaBud_Anim03, \ + .hit = ANIM_LavaBud_Anim03, \ + .anim_8 = ANIM_LavaBud_Anim03, \ + .anim_9 = ANIM_LavaBud_Anim03, \ + .anim_A = ANIM_LavaBud_Anim03, \ + .anim_B = ANIM_LavaBud_Anim03, \ + .anim_C = ANIM_LavaBud_Anim03, \ + .anim_D = ANIM_LavaBud_Anim03, \ + .anim_E = ANIM_LavaBud_Anim03, \ + .anim_F = ANIM_LavaBud_Anim03, \ +} diff --git a/src/world/common/enemy/complete/LavaPiranha.inc.c b/src/world/common/enemy/complete/LavaPiranha.inc.c new file mode 100644 index 0000000000..d5a354704e --- /dev/null +++ b/src/world/common/enemy/complete/LavaPiranha.inc.c @@ -0,0 +1,7 @@ +#include "LavaPiranha.h" + +NpcSettings N(NpcSettings_LavaPiranhaHead) = { + .height = 24, + .radius = 24, + .level = 99, +}; diff --git a/src/world/common/enemy/complete/PutridPiranhaSentinel.h b/src/world/common/enemy/complete/PutridPiranhaSentinel.h new file mode 100644 index 0000000000..83120fd4ed --- /dev/null +++ b/src/world/common/enemy/complete/PutridPiranhaSentinel.h @@ -0,0 +1,35 @@ +#include "common.h" +#include "sprite/npc/LargePiranha.h" + +#define PIRANHA_SENTINEL_DROPS \ +{ \ + .dropFlags = NPC_DROP_FLAGS_80, \ + .itemDropChance = 5, \ + .itemDrops = { \ + { ITEM_FIRE_FLOWER, 10, 0 } \ + }, \ + .heartDrops = STANDARD_HEART_DROPS(2), \ + .flowerDrops = STANDARD_FLOWER_DROPS(3), \ + .minCoinBonus = 0, \ + .maxCoinBonus = 2, \ +} + +#define PIRANHA_SENTINEL_ANIMS \ +{ \ + .idle = ANIM_LargePiranha_Putrid_Anim01, \ + .walk = ANIM_LargePiranha_Putrid_Anim02, \ + .run = ANIM_LargePiranha_Putrid_Anim03, \ + .chase = ANIM_LargePiranha_Putrid_Anim03, \ + .anim_4 = ANIM_LargePiranha_Putrid_Anim01, \ + .anim_5 = ANIM_LargePiranha_Putrid_Anim01, \ + .death = ANIM_LargePiranha_Putrid_Anim0E, \ + .hit = ANIM_LargePiranha_Putrid_Anim0E, \ + .anim_8 = ANIM_LargePiranha_Putrid_Anim18, \ + .anim_9 = ANIM_LargePiranha_Putrid_Anim17, \ + .anim_A = ANIM_LargePiranha_Putrid_Anim05, \ + .anim_B = ANIM_LargePiranha_Putrid_Anim06, \ + .anim_C = ANIM_LargePiranha_Putrid_Anim07, \ + .anim_D = ANIM_LargePiranha_Putrid_Anim01, \ + .anim_E = ANIM_LargePiranha_Putrid_Anim01, \ + .anim_F = ANIM_LargePiranha_Putrid_Anim01, \ +} diff --git a/src/world/common/enemy/complete/PutridPiranhaSentinel.inc.c b/src/world/common/enemy/complete/PutridPiranhaSentinel.inc.c new file mode 100644 index 0000000000..07aa4746fe --- /dev/null +++ b/src/world/common/enemy/complete/PutridPiranhaSentinel.inc.c @@ -0,0 +1,14 @@ + +#include "PutridPiranhaSentinel.h" + +NpcSettings N(NpcSettings_PutridPiranhaSentinel) = { + .height = 30, + .radius = 24, + .level = 99, +}; + +NpcSettings N(NpcSettings_PutridPiranhaSentinel_Unused) = { + .height = 23, + .radius = 19, + .level = 99, +}; diff --git a/src/world/common/enemy/complete/SpikeTop.h b/src/world/common/enemy/complete/SpikeTop.h index c9acc3c45a..367eefd779 100644 --- a/src/world/common/enemy/complete/SpikeTop.h +++ b/src/world/common/enemy/complete/SpikeTop.h @@ -1,5 +1,6 @@ #include "common.h" #include "sprite/npc/BuzzyBeetle.h" +#include "sprite/npc/SpikeTop.h" #define SPIKE_TOP_DROPS \ { \ diff --git a/src/world/common/enemy/complete/SpikeTop.inc.c b/src/world/common/enemy/complete/SpikeTop.inc.c index 757c20760c..77d59d74fc 100644 --- a/src/world/common/enemy/complete/SpikeTop.inc.c +++ b/src/world/common/enemy/complete/SpikeTop.inc.c @@ -89,7 +89,7 @@ EvtScript N(D_80243C80_C64990) = { EVT_END }; -// different spike top prefabs +// different spike top varieties NpcSettings N(NpcSettings_Unused1) = { .height = 20, diff --git a/src/world/common/enemy/complete/TubbaBlubba.h b/src/world/common/enemy/complete/TubbaBlubba.h new file mode 100644 index 0000000000..074e74f3bf --- /dev/null +++ b/src/world/common/enemy/complete/TubbaBlubba.h @@ -0,0 +1,29 @@ +#include "common.h" +#include "sprite/npc/WorldTubba.h" + +#define TUBBA_DROPS \ +{ \ + .dropFlags = NPC_DROP_FLAGS_80, \ + .heartDrops = NO_DROPS, \ + .flowerDrops = NO_DROPS, \ +} + +#define TUBBA_ANIMS \ +{ \ + .idle = ANIM_WorldTubba_Anim06, \ + .walk = ANIM_WorldTubba_Anim09, \ + .run = ANIM_WorldTubba_Anim0C, \ + .chase = ANIM_WorldTubba_Anim0C, \ + .anim_4 = ANIM_WorldTubba_Anim00, \ + .anim_5 = ANIM_WorldTubba_Anim00, \ + .death = ANIM_WorldTubba_Anim00, \ + .hit = ANIM_WorldTubba_Anim00, \ + .anim_8 = ANIM_WorldTubba_Anim00, \ + .anim_9 = ANIM_WorldTubba_Anim00, \ + .anim_A = ANIM_WorldTubba_Anim00, \ + .anim_B = ANIM_WorldTubba_Anim00, \ + .anim_C = ANIM_WorldTubba_Anim00, \ + .anim_D = ANIM_WorldTubba_Anim00, \ + .anim_E = ANIM_WorldTubba_Anim00, \ + .anim_F = ANIM_WorldTubba_Anim00, \ +} diff --git a/src/world/common/enemy/complete/TubbaBlubba.inc.c b/src/world/common/enemy/complete/TubbaBlubba.inc.c new file mode 100644 index 0000000000..398dcf2f72 --- /dev/null +++ b/src/world/common/enemy/complete/TubbaBlubba.inc.c @@ -0,0 +1,10 @@ +#include "common.h" +#include "TubbaBlubba.h" + +NpcSettings N(NpcSettings_TubbaBlubba) = { + .height = 90, + .radius = 65, + .level = 13, + .onHit = &EnemyNpcHit, + .onDefeat = &EnemyNpcDefeat, +}; diff --git a/src/world/common/enemy/complete/Whacka.h b/src/world/common/enemy/complete/Whacka.h new file mode 100644 index 0000000000..5beed26b35 --- /dev/null +++ b/src/world/common/enemy/complete/Whacka.h @@ -0,0 +1,29 @@ +#include "common.h" +#include "sprite/npc/Whacka.h" + +#define WHACKA_DROPS \ +{ \ + .dropFlags = NPC_DROP_FLAGS_80, \ + .heartDrops = NO_DROPS, \ + .flowerDrops = NO_DROPS, \ +} + +#define WHACKA_ANIMS \ +{ \ + .idle = ANIM_Whacka_Idle, \ + .walk = ANIM_Whacka_Idle, \ + .run = ANIM_Whacka_Idle, \ + .chase = ANIM_Whacka_Idle, \ + .anim_4 = ANIM_Whacka_Idle, \ + .anim_5 = ANIM_Whacka_Idle, \ + .death = ANIM_Whacka_Idle, \ + .hit = ANIM_Whacka_Idle, \ + .anim_8 = ANIM_Whacka_Idle, \ + .anim_9 = ANIM_Whacka_Idle, \ + .anim_A = ANIM_Whacka_Idle, \ + .anim_B = ANIM_Whacka_Idle, \ + .anim_C = ANIM_Whacka_Idle, \ + .anim_D = ANIM_Whacka_Idle, \ + .anim_E = ANIM_Whacka_Idle, \ + .anim_F = ANIM_Whacka_Idle, \ +} diff --git a/src/world/common/enemy/complete/Whacka.inc.c b/src/world/common/enemy/complete/Whacka.inc.c new file mode 100644 index 0000000000..a4e218d442 --- /dev/null +++ b/src/world/common/enemy/complete/Whacka.inc.c @@ -0,0 +1,9 @@ +#include "Whacka.h" + +NpcSettings N(NpcSettings_Whacka) = { + .height = 30, + .radius = 26, + .level = 99, + .onHit = &EnemyNpcHit, + .onDefeat = &EnemyNpcDefeat, +}; diff --git a/src/world/common/enemy/wip/Dead_PiranhaPlantAI_Main.inc.c b/src/world/common/enemy/wip/Dead_PiranhaPlantAI_Main.inc.c index c5f73b78ac..ec1bc35e0e 100644 --- a/src/world/common/enemy/wip/Dead_PiranhaPlantAI_Main.inc.c +++ b/src/world/common/enemy/wip/Dead_PiranhaPlantAI_Main.inc.c @@ -33,7 +33,7 @@ ApiStatus N(PiranhaPlantAI_Main)(Evt* script, s32 isInitialCall) { if (isInitialCall || enemy->aiFlags & ENEMY_AI_FLAGS_4) { script->functionTemp[0] = 0; npc->duration = 0; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; enemy->varTable[0] = 0; if (enemy->aiFlags & ENEMY_AI_FLAGS_4) { diff --git a/src/world/common/enemy/wip/PiranhaPlantAI_00.inc.c b/src/world/common/enemy/wip/PiranhaPlantAI_00.inc.c index b4100a2bc4..b7ab792e5e 100644 --- a/src/world/common/enemy/wip/PiranhaPlantAI_00.inc.c +++ b/src/world/common/enemy/wip/PiranhaPlantAI_00.inc.c @@ -10,7 +10,7 @@ void N(PiranhaPlantAI_00)(Evt* script, MobileAISettings* aiSettings, EnemyDetect npc->duration--; } else { enemy->varTable[0] = 0; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; script->functionTemp[1] = 0; script->functionTemp[0] = 1; } diff --git a/src/world/common/enemy/wip/PiranhaPlantAI_01.inc.c b/src/world/common/enemy/wip/PiranhaPlantAI_01.inc.c index 1924837cb8..1c753c8d3a 100644 --- a/src/world/common/enemy/wip/PiranhaPlantAI_01.inc.c +++ b/src/world/common/enemy/wip/PiranhaPlantAI_01.inc.c @@ -11,7 +11,7 @@ void N(PiranhaPlantAI_01)(Evt* script, MobileAISettings* aiSettings, EnemyDetect ai_enemy_play_sound(npc, 802, 0); fx_emote(EMOTE_EXCLAMATION, npc, 0, npc->collisionHeight, 1.0f, 2.0f, -20.0f, 10, &temp); ai_enemy_play_sound(npc, SOUND_2F4, 0x200000); - npc->currentAnim = enemy->animList[ENEMY_ANIM_MELEE_PRE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_MELEE_PRE]; npc->duration = enemy->varTable[8]; script->functionTemp[0] = 10; } diff --git a/src/world/common/enemy/wip/PiranhaPlantAI_10.inc.c b/src/world/common/enemy/wip/PiranhaPlantAI_10.inc.c index dc76d97aba..e18d9cf041 100644 --- a/src/world/common/enemy/wip/PiranhaPlantAI_10.inc.c +++ b/src/world/common/enemy/wip/PiranhaPlantAI_10.inc.c @@ -179,7 +179,7 @@ void N(PiranhaPlantAI_10)(Evt* script, MobileAISettings* aiSettings, EnemyDetect npc->yaw = atan2(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x, gPlayerStatusPtr->position.z); ai_enemy_play_sound(npc, SOUND_BURROW_SURFACE, 0); - npc->currentAnim = enemy->animList[ENEMY_ANIM_MELEE_HIT]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_MELEE_HIT]; npc->duration = enemy->varTable[10]; script->functionTemp[0] = 11; } diff --git a/src/world/common/enemy/wip/PiranhaPlantAI_12.inc.c b/src/world/common/enemy/wip/PiranhaPlantAI_12.inc.c index 0da73421bc..1f95f75ece 100644 --- a/src/world/common/enemy/wip/PiranhaPlantAI_12.inc.c +++ b/src/world/common/enemy/wip/PiranhaPlantAI_12.inc.c @@ -17,7 +17,7 @@ void N(PiranhaPlantAI_12)(Evt* script, MobileAISettings* aiSettings, EnemyDetect if (npc->duration >= enemy->varTable[12]) { enemy->varTable[0] = 4; npc->duration = 8; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; fx_emote(EMOTE_FRUSTRATION, npc, 0, npc->collisionHeight, 1.0f, 2.0f, -20.0f, 10, &temp); script->functionTemp[0] = 13; } diff --git a/src/world/common/enemy/wip/PiranhaPlantAI_Main.inc.c b/src/world/common/enemy/wip/PiranhaPlantAI_Main.inc.c index 70691b641b..529fde3f08 100644 --- a/src/world/common/enemy/wip/PiranhaPlantAI_Main.inc.c +++ b/src/world/common/enemy/wip/PiranhaPlantAI_Main.inc.c @@ -35,7 +35,7 @@ s32 N(PiranhaPlantAI_Main)(Evt* script, s32 isInitialCall) { if (isInitialCall || (enemy->aiFlags & ENEMY_AI_FLAGS_4)) { script->AI_TEMP_STATE = AI_STATE_PIRANHA_PLANT_00; npc->duration = 0; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; enemy->AI_VAR_ATTACK_STATE = MELEE_HITBOX_STATE_NONE; if (enemy->aiFlags & ENEMY_AI_FLAGS_4) { diff --git a/src/world/common/npc/Boo_Patrol.inc.c b/src/world/common/npc/Boo_Patrol.inc.c index 4b6aa50c39..e3cd78f0c6 100644 --- a/src/world/common/npc/Boo_Patrol.inc.c +++ b/src/world/common/npc/Boo_Patrol.inc.c @@ -51,7 +51,7 @@ void N(BooPatrolAI_Loiter)(Evt* script, MobileAISettings* aiSettings, EnemyDetec npc->duration = aiSettings->waitTime / 2 + rand_int(aiSettings->waitTime / 2 + 1); } else { script->functionTemp[0] = 4; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; } } } diff --git a/src/world/common/npc/Bulbulb.h b/src/world/common/npc/Bubulb.h similarity index 53% rename from src/world/common/npc/Bulbulb.h rename to src/world/common/npc/Bubulb.h index 6ff05a7162..2e005ffc5c 100644 --- a/src/world/common/npc/Bulbulb.h +++ b/src/world/common/npc/Bubulb.h @@ -1,5 +1,5 @@ #include "common.h" -#include "sprite/npc/Oaklie.h" +#include "sprite/npc/Bubulb.h" #define BULBULB_DROPS \ { \ @@ -27,3 +27,23 @@ .anim_E = ANIM_Bubulb_Green_Idle, \ .anim_F = ANIM_Bubulb_Green_Idle, \ } + +#define BULBULB_PURPLE_ANIMS \ +{ \ + .idle = ANIM_Bubulb_Purple_Idle, \ + .walk = ANIM_Bubulb_Purple_Walk, \ + .run = ANIM_Bubulb_Purple_Walk, \ + .chase = ANIM_Bubulb_Purple_Idle, \ + .anim_4 = ANIM_Bubulb_Purple_Idle, \ + .anim_5 = ANIM_Bubulb_Purple_Idle, \ + .death = ANIM_Bubulb_Purple_Idle, \ + .hit = ANIM_Bubulb_Purple_Idle, \ + .anim_8 = ANIM_Bubulb_Purple_Idle, \ + .anim_9 = ANIM_Bubulb_Purple_Idle, \ + .anim_A = ANIM_Bubulb_Purple_Idle, \ + .anim_B = ANIM_Bubulb_Purple_Idle, \ + .anim_C = ANIM_Bubulb_Purple_Idle, \ + .anim_D = ANIM_Bubulb_Purple_Idle, \ + .anim_E = ANIM_Bubulb_Purple_Idle, \ + .anim_F = ANIM_Bubulb_Purple_Idle, \ +} diff --git a/src/world/common/npc/Bulbulb.inc.c b/src/world/common/npc/Bubulb.inc.c similarity index 91% rename from src/world/common/npc/Bulbulb.inc.c rename to src/world/common/npc/Bubulb.inc.c index 074cf0c9af..0df2235867 100644 --- a/src/world/common/npc/Bulbulb.inc.c +++ b/src/world/common/npc/Bubulb.inc.c @@ -1,5 +1,5 @@ #include "common.h" -#include "Bulbulb.h" +#include "Bubulb.h" EvtScript N(EVS_NpcAuxAI_Bubulb) = { EVT_RETURN diff --git a/src/world/common/npc/Goombaria.h b/src/world/common/npc/Goombaria.h new file mode 100644 index 0000000000..77d0866012 --- /dev/null +++ b/src/world/common/npc/Goombaria.h @@ -0,0 +1,29 @@ +#include "common.h" +#include "sprite/npc/Goombaria.h" + +#define GOOMBARIA_DROPS \ +{ \ + .dropFlags = NPC_DROP_FLAGS_80, \ + .heartDrops = NO_DROPS, \ + .flowerDrops = NO_DROPS, \ +} + +#define GOOMBARIA_ANIMS \ +{ \ + .idle = ANIM_Goombaria_Idle, \ + .walk = ANIM_Goombaria_Walk, \ + .run = ANIM_Goombaria_Run, \ + .chase = ANIM_Goombaria_Run, \ + .anim_4 = ANIM_Goombaria_Idle, \ + .anim_5 = ANIM_Goombaria_Idle, \ + .death = ANIM_Goombaria_Still, \ + .hit = ANIM_Goombaria_Still, \ + .anim_8 = ANIM_Goombaria_Run, \ + .anim_9 = ANIM_Goombaria_Run, \ + .anim_A = ANIM_Goombaria_Run, \ + .anim_B = ANIM_Goombaria_Run, \ + .anim_C = ANIM_Goombaria_Run, \ + .anim_D = ANIM_Goombaria_Run, \ + .anim_E = ANIM_Goombaria_Run, \ + .anim_F = ANIM_Goombaria_Run, \ +} diff --git a/src/world/common/npc/Goombaria_Stationary.inc.c b/src/world/common/npc/Goombaria_Stationary.inc.c new file mode 100644 index 0000000000..ee2ba249e3 --- /dev/null +++ b/src/world/common/npc/Goombaria_Stationary.inc.c @@ -0,0 +1,7 @@ +#include "Goombaria.h" + +NpcSettings N(NpcSettings_Goombaria_Stationary) = { + .height = 24, + .radius = 24, + .level = 99, +}; diff --git a/src/world/common/npc/Kolorado.h b/src/world/common/npc/Kolorado.h new file mode 100644 index 0000000000..6284e2c335 --- /dev/null +++ b/src/world/common/npc/Kolorado.h @@ -0,0 +1,29 @@ +#include "common.h" +#include "sprite/npc/Kolorado.h" + +#define KOLORADO_DROPS \ +{ \ + .dropFlags = NPC_DROP_FLAGS_80, \ + .heartDrops = NO_DROPS, \ + .flowerDrops = NO_DROPS, \ +} + +#define KOLORADO_ANIMS \ +{ \ + .idle = ANIM_Kolorado_Idle, \ + .walk = ANIM_Kolorado_Walk, \ + .run = ANIM_Kolorado_Run, \ + .chase = ANIM_Kolorado_Run, \ + .anim_4 = ANIM_Kolorado_Idle, \ + .anim_5 = ANIM_Kolorado_Idle, \ + .death = ANIM_Kolorado_Idle, \ + .hit = ANIM_Kolorado_Idle, \ + .anim_8 = ANIM_Kolorado_Idle, \ + .anim_9 = ANIM_Kolorado_Idle, \ + .anim_A = ANIM_Kolorado_Idle, \ + .anim_B = ANIM_Kolorado_Idle, \ + .anim_C = ANIM_Kolorado_Idle, \ + .anim_D = ANIM_Kolorado_Idle, \ + .anim_E = ANIM_Kolorado_Idle, \ + .anim_F = ANIM_Kolorado_Idle, \ +} diff --git a/src/world/common/npc/Kolorado.inc.c b/src/world/common/npc/Kolorado.inc.c new file mode 100644 index 0000000000..a794a54e7c --- /dev/null +++ b/src/world/common/npc/Kolorado.inc.c @@ -0,0 +1,8 @@ +#include "common.h" +#include "Kolorado.h" + +NpcSettings N(NpcSettings_Kolorado) = { + .height = 40, + .radius = 24, + .level = 99, +}; diff --git a/src/world/common/npc/StarSpirit.h b/src/world/common/npc/StarSpirit.h new file mode 100644 index 0000000000..3ef8f8b471 --- /dev/null +++ b/src/world/common/npc/StarSpirit.h @@ -0,0 +1,197 @@ +#include "common.h" +#include "sprite/npc/WorldEldstar.h" +#include "sprite/npc/WorldMamar.h" +#include "sprite/npc/WorldSkolar.h" +#include "sprite/npc/WorldMuskular.h" +#include "sprite/npc/WorldMisstar.h" +#include "sprite/npc/WorldKlevar.h" +#include "sprite/npc/WorldKalmar.h" + +#define ELDSTAR_DROPS \ +{ \ + .dropFlags = NPC_DROP_FLAGS_80, \ + .heartDrops = NO_DROPS, \ + .flowerDrops = NO_DROPS, \ +} + +#define ELDSTAR_ANIMS \ +{ \ + .idle = ANIM_WorldEldstar_Idle, \ + .walk = ANIM_WorldEldstar_Idle, \ + .run = ANIM_WorldEldstar_Idle, \ + .chase = ANIM_WorldEldstar_Idle, \ + .anim_4 = ANIM_WorldEldstar_Idle, \ + .anim_5 = ANIM_WorldEldstar_Idle, \ + .death = ANIM_WorldEldstar_Idle, \ + .hit = ANIM_WorldEldstar_Idle, \ + .anim_8 = ANIM_WorldEldstar_Still, \ + .anim_9 = ANIM_WorldEldstar_Idle, \ + .anim_A = ANIM_WorldEldstar_Idle, \ + .anim_B = ANIM_WorldEldstar_Idle, \ + .anim_C = ANIM_WorldEldstar_Idle, \ + .anim_D = ANIM_WorldEldstar_Idle, \ + .anim_E = ANIM_WorldEldstar_Idle, \ + .anim_F = ANIM_WorldEldstar_Idle, \ +} + +#define MAMAR_DROPS \ +{ \ + .dropFlags = NPC_DROP_FLAGS_80, \ + .heartDrops = NO_DROPS, \ + .flowerDrops = NO_DROPS, \ +} + +#define MAMAR_ANIMS \ +{ \ + .idle = ANIM_WorldMamar_Idle, \ + .walk = ANIM_WorldMamar_Idle, \ + .run = ANIM_WorldMamar_Idle, \ + .chase = ANIM_WorldMamar_Idle, \ + .anim_4 = ANIM_WorldMamar_Idle, \ + .anim_5 = ANIM_WorldMamar_Idle, \ + .death = ANIM_WorldMamar_Idle, \ + .hit = ANIM_WorldMamar_Idle, \ + .anim_8 = ANIM_WorldMamar_Still, \ + .anim_9 = ANIM_WorldMamar_Idle, \ + .anim_A = ANIM_WorldMamar_Idle, \ + .anim_B = ANIM_WorldMamar_Idle, \ + .anim_C = ANIM_WorldMamar_Idle, \ + .anim_D = ANIM_WorldMamar_Idle, \ + .anim_E = ANIM_WorldMamar_Idle, \ + .anim_F = ANIM_WorldMamar_Idle, \ +} + +#define SKOLAR_DROPS \ +{ \ + .dropFlags = NPC_DROP_FLAGS_80, \ + .heartDrops = NO_DROPS, \ + .flowerDrops = NO_DROPS, \ +} + +#define SKOLAR_ANIMS \ +{ \ + .idle = ANIM_WorldSkolar_Idle, \ + .walk = ANIM_WorldSkolar_Idle, \ + .run = ANIM_WorldSkolar_Idle, \ + .chase = ANIM_WorldSkolar_Idle, \ + .anim_4 = ANIM_WorldSkolar_Idle, \ + .anim_5 = ANIM_WorldSkolar_Idle, \ + .death = ANIM_WorldSkolar_Idle, \ + .hit = ANIM_WorldSkolar_Idle, \ + .anim_8 = ANIM_WorldSkolar_Still, \ + .anim_9 = ANIM_WorldSkolar_Idle, \ + .anim_A = ANIM_WorldSkolar_Idle, \ + .anim_B = ANIM_WorldSkolar_Idle, \ + .anim_C = ANIM_WorldSkolar_Idle, \ + .anim_D = ANIM_WorldSkolar_Idle, \ + .anim_E = ANIM_WorldSkolar_Idle, \ + .anim_F = ANIM_WorldSkolar_Idle, \ +} + +#define MUSKULAR_DROPS \ +{ \ + .dropFlags = NPC_DROP_FLAGS_80, \ + .heartDrops = NO_DROPS, \ + .flowerDrops = NO_DROPS, \ +} + +#define MUSKULAR_ANIMS \ +{ \ + .idle = ANIM_WorldMuskular_Idle, \ + .walk = ANIM_WorldMuskular_Idle, \ + .run = ANIM_WorldMuskular_Idle, \ + .chase = ANIM_WorldMuskular_Idle, \ + .anim_4 = ANIM_WorldMuskular_Idle, \ + .anim_5 = ANIM_WorldMuskular_Idle, \ + .death = ANIM_WorldMuskular_Idle, \ + .hit = ANIM_WorldMuskular_Idle, \ + .anim_8 = ANIM_WorldMuskular_Still, \ + .anim_9 = ANIM_WorldMuskular_Idle, \ + .anim_A = ANIM_WorldMuskular_Idle, \ + .anim_B = ANIM_WorldMuskular_Idle, \ + .anim_C = ANIM_WorldMuskular_Idle, \ + .anim_D = ANIM_WorldMuskular_Idle, \ + .anim_E = ANIM_WorldMuskular_Idle, \ + .anim_F = ANIM_WorldMuskular_Idle, \ +} + +#define MISSTAR_DROPS \ +{ \ + .dropFlags = NPC_DROP_FLAGS_80, \ + .heartDrops = NO_DROPS, \ + .flowerDrops = NO_DROPS, \ +} + +#define MISSTAR_ANIMS \ +{ \ + .idle = ANIM_WorldMisstar_Idle, \ + .walk = ANIM_WorldMisstar_Idle, \ + .run = ANIM_WorldMisstar_Idle, \ + .chase = ANIM_WorldMisstar_Idle, \ + .anim_4 = ANIM_WorldMisstar_Idle, \ + .anim_5 = ANIM_WorldMisstar_Idle, \ + .death = ANIM_WorldMisstar_Idle, \ + .hit = ANIM_WorldMisstar_Idle, \ + .anim_8 = ANIM_WorldMisstar_Still, \ + .anim_9 = ANIM_WorldMisstar_Idle, \ + .anim_A = ANIM_WorldMisstar_Idle, \ + .anim_B = ANIM_WorldMisstar_Idle, \ + .anim_C = ANIM_WorldMisstar_Idle, \ + .anim_D = ANIM_WorldMisstar_Idle, \ + .anim_E = ANIM_WorldMisstar_Idle, \ + .anim_F = ANIM_WorldMisstar_Idle, \ +} + +#define KLEVAR_DROPS \ +{ \ + .dropFlags = NPC_DROP_FLAGS_80, \ + .heartDrops = NO_DROPS, \ + .flowerDrops = NO_DROPS, \ +} + +#define KLEVAR_ANIMS \ +{ \ + .idle = ANIM_WorldKlevar_Idle, \ + .walk = ANIM_WorldKlevar_Idle, \ + .run = ANIM_WorldKlevar_Idle, \ + .chase = ANIM_WorldKlevar_Idle, \ + .anim_4 = ANIM_WorldKlevar_Idle, \ + .anim_5 = ANIM_WorldKlevar_Idle, \ + .death = ANIM_WorldKlevar_Idle, \ + .hit = ANIM_WorldKlevar_Idle, \ + .anim_8 = ANIM_WorldKlevar_Still, \ + .anim_9 = ANIM_WorldKlevar_Idle, \ + .anim_A = ANIM_WorldKlevar_Idle, \ + .anim_B = ANIM_WorldKlevar_Idle, \ + .anim_C = ANIM_WorldKlevar_Idle, \ + .anim_D = ANIM_WorldKlevar_Idle, \ + .anim_E = ANIM_WorldKlevar_Idle, \ + .anim_F = ANIM_WorldKlevar_Idle, \ +} + +#define KALMAR_DROPS \ +{ \ + .dropFlags = NPC_DROP_FLAGS_80, \ + .heartDrops = NO_DROPS, \ + .flowerDrops = NO_DROPS, \ +} + +#define KALMAR_ANIMS \ +{ \ + .idle = ANIM_WorldKalmar_Idle, \ + .walk = ANIM_WorldKalmar_Idle, \ + .run = ANIM_WorldKalmar_Idle, \ + .chase = ANIM_WorldKalmar_Idle, \ + .anim_4 = ANIM_WorldKalmar_Idle, \ + .anim_5 = ANIM_WorldKalmar_Idle, \ + .death = ANIM_WorldKalmar_Idle, \ + .hit = ANIM_WorldKalmar_Idle, \ + .anim_8 = ANIM_WorldKalmar_Still, \ + .anim_9 = ANIM_WorldKalmar_Idle, \ + .anim_A = ANIM_WorldKalmar_Idle, \ + .anim_B = ANIM_WorldKalmar_Idle, \ + .anim_C = ANIM_WorldKalmar_Idle, \ + .anim_D = ANIM_WorldKalmar_Idle, \ + .anim_E = ANIM_WorldKalmar_Idle, \ + .anim_F = ANIM_WorldKalmar_Idle, \ +} diff --git a/src/world/common/npc/StarSpirit.inc.c b/src/world/common/npc/StarSpirit.inc.c new file mode 100644 index 0000000000..c2aa4c0f85 --- /dev/null +++ b/src/world/common/npc/StarSpirit.inc.c @@ -0,0 +1,20 @@ +#include "common.h" +#include "StarSpirit.h" + +NpcSettings N(NpcSettings_StarSpirit) = { + .height = 26, + .radius = 24, + .level = 99, +}; + +NpcSettings N(NpcSettings_StarSpirit_Unused1) = { + .height = 20, + .radius = 20, + .level = 99, +}; + +NpcSettings N(NpcSettings_StarSpirit_Unused2) = { + .height = 22, + .radius = 24, + .level = 99, +}; diff --git a/src/world/common/npc/ThreeSisters.h b/src/world/common/npc/ThreeSisters.h deleted file mode 100644 index d1c2c8c9b1..0000000000 --- a/src/world/common/npc/ThreeSisters.h +++ /dev/null @@ -1,29 +0,0 @@ -#include "common.h" -#include "sprite/npc/Toadette.h" - -#define THREE_SISTER_DROPS \ -{ \ - .dropFlags = NPC_DROP_FLAGS_80, \ - .heartDrops = NO_DROPS, \ - .flowerDrops = NO_DROPS, \ -} - -#define THREE_SISTER_ANIMS \ -{ \ - ANIM_Toadette_Pink_Idle, \ - ANIM_Toadette_Pink_Walk, \ - ANIM_Toadette_Pink_Run, \ - ANIM_Toadette_Pink_Run, \ - ANIM_Toadette_Pink_Idle, \ - ANIM_Toadette_Pink_Idle, \ - ANIM_Toadette_Pink_Disappointed, \ - ANIM_Toadette_Pink_Disappointed, \ - ANIM_Toadette_Pink_Run, \ - ANIM_Toadette_Pink_Run, \ - ANIM_Toadette_Pink_Run, \ - ANIM_Toadette_Pink_Run, \ - ANIM_Toadette_Pink_Run, \ - ANIM_Toadette_Pink_Run, \ - ANIM_Toadette_Pink_Run, \ - ANIM_Toadette_Pink_Run, \ -} diff --git a/src/world/common/npc/ThreeSisters.inc.c b/src/world/common/npc/ThreeSisters.inc.c deleted file mode 100644 index eb7c91a486..0000000000 --- a/src/world/common/npc/ThreeSisters.inc.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "ThreeSisters.h" - -NpcSettings N(NpcSettings_ThreeSisters) = { - .height = 30, - .radius = 24, - .level = 99, -}; diff --git a/src/world/common/npc/Toad.h b/src/world/common/npc/Toad.h new file mode 100644 index 0000000000..bcbad5dcd8 --- /dev/null +++ b/src/world/common/npc/Toad.h @@ -0,0 +1,197 @@ +#include "common.h" +#include "sprite/npc/Toad.h" +#include "sprite/npc/Toadette.h" + +#define TOAD_DROPS \ +{ \ + .dropFlags = NPC_DROP_FLAGS_80, \ + .heartDrops = NO_DROPS, \ + .flowerDrops = NO_DROPS, \ +} + +#define TOAD_RED_ANIMS \ +{ \ + .idle = ANIM_Toad_Red_Idle, \ + .walk = ANIM_Toad_Red_Walk, \ + .run = ANIM_Toad_Red_Run, \ + .chase = ANIM_Toad_Red_Run, \ + .anim_4 = ANIM_Toad_Red_Idle, \ + .anim_5 = ANIM_Toad_Red_Idle, \ + .death = ANIM_Toad_Red_Disappointed, \ + .hit = ANIM_Toad_Red_Disappointed, \ + .anim_8 = ANIM_Toad_Red_Run, \ + .anim_9 = ANIM_Toad_Red_Run, \ + .anim_A = ANIM_Toad_Red_Run, \ + .anim_B = ANIM_Toad_Red_Run, \ + .anim_C = ANIM_Toad_Red_Run, \ + .anim_D = ANIM_Toad_Red_Run, \ + .anim_E = ANIM_Toad_Red_Run, \ + .anim_F = ANIM_Toad_Red_Run, \ +} + +#define TOAD_GREEN_ANIMS \ +{ \ + .idle = ANIM_Toad_Green_Idle, \ + .walk = ANIM_Toad_Green_Walk, \ + .run = ANIM_Toad_Green_Run, \ + .chase = ANIM_Toad_Green_Run, \ + .anim_4 = ANIM_Toad_Green_Idle, \ + .anim_5 = ANIM_Toad_Green_Idle, \ + .death = ANIM_Toad_Green_Disappointed, \ + .hit = ANIM_Toad_Green_Disappointed, \ + .anim_8 = ANIM_Toad_Green_Run, \ + .anim_9 = ANIM_Toad_Green_Run, \ + .anim_A = ANIM_Toad_Green_Run, \ + .anim_B = ANIM_Toad_Green_Run, \ + .anim_C = ANIM_Toad_Green_Run, \ + .anim_D = ANIM_Toad_Green_Run, \ + .anim_E = ANIM_Toad_Green_Run, \ + .anim_F = ANIM_Toad_Green_Run, \ +} + +#define TOAD_BLUE_ANIMS \ +{ \ + .idle = ANIM_Toad_Blue_Idle, \ + .walk = ANIM_Toad_Blue_Walk, \ + .run = ANIM_Toad_Blue_Run, \ + .chase = ANIM_Toad_Blue_Run, \ + .anim_4 = ANIM_Toad_Blue_Idle, \ + .anim_5 = ANIM_Toad_Blue_Idle, \ + .death = ANIM_Toad_Blue_Disappointed, \ + .hit = ANIM_Toad_Blue_Disappointed, \ + .anim_8 = ANIM_Toad_Blue_Run, \ + .anim_9 = ANIM_Toad_Blue_Run, \ + .anim_A = ANIM_Toad_Blue_Run, \ + .anim_B = ANIM_Toad_Blue_Run, \ + .anim_C = ANIM_Toad_Blue_Run, \ + .anim_D = ANIM_Toad_Blue_Run, \ + .anim_E = ANIM_Toad_Blue_Run, \ + .anim_F = ANIM_Toad_Blue_Run, \ +} + +#define TOAD_YELLOW_ANIMS \ +{ \ + .idle = ANIM_Toad_Yellow_Idle, \ + .walk = ANIM_Toad_Yellow_Walk, \ + .run = ANIM_Toad_Yellow_Run, \ + .chase = ANIM_Toad_Yellow_Run, \ + .anim_4 = ANIM_Toad_Yellow_Idle, \ + .anim_5 = ANIM_Toad_Yellow_Idle, \ + .death = ANIM_Toad_Yellow_Disappointed, \ + .hit = ANIM_Toad_Yellow_Disappointed, \ + .anim_8 = ANIM_Toad_Yellow_Run, \ + .anim_9 = ANIM_Toad_Yellow_Run, \ + .anim_A = ANIM_Toad_Yellow_Run, \ + .anim_B = ANIM_Toad_Yellow_Run, \ + .anim_C = ANIM_Toad_Yellow_Run, \ + .anim_D = ANIM_Toad_Yellow_Run, \ + .anim_E = ANIM_Toad_Yellow_Run, \ + .anim_F = ANIM_Toad_Yellow_Run, \ +} + +#define TOAD_PINK_ANIMS \ +{ \ + .idle = ANIM_Toad_Pink_Idle, \ + .walk = ANIM_Toad_Pink_Walk, \ + .run = ANIM_Toad_Pink_Run, \ + .chase = ANIM_Toad_Pink_Run, \ + .anim_4 = ANIM_Toad_Pink_Idle, \ + .anim_5 = ANIM_Toad_Pink_Idle, \ + .death = ANIM_Toad_Pink_Disappointed, \ + .hit = ANIM_Toad_Pink_Disappointed, \ + .anim_8 = ANIM_Toad_Pink_Run, \ + .anim_9 = ANIM_Toad_Pink_Run, \ + .anim_A = ANIM_Toad_Pink_Run, \ + .anim_B = ANIM_Toad_Pink_Run, \ + .anim_C = ANIM_Toad_Pink_Run, \ + .anim_D = ANIM_Toad_Pink_Run, \ + .anim_E = ANIM_Toad_Pink_Run, \ + .anim_F = ANIM_Toad_Pink_Run, \ +} + +#define TOADETTE_DROPS \ +{ \ + .dropFlags = NPC_DROP_FLAGS_80, \ + .heartDrops = NO_DROPS, \ + .flowerDrops = NO_DROPS, \ +} + +#define TOADETTE_ORANGE_ANIMS \ +{ \ + .idle = ANIM_Toadette_Orange_Idle, \ + .walk = ANIM_Toadette_Orange_Walk, \ + .run = ANIM_Toadette_Orange_Run, \ + .chase = ANIM_Toadette_Orange_Run, \ + .anim_4 = ANIM_Toadette_Orange_Idle, \ + .anim_5 = ANIM_Toadette_Orange_Idle, \ + .death = ANIM_Toadette_Orange_Disappointed, \ + .hit = ANIM_Toadette_Orange_Disappointed, \ + .anim_8 = ANIM_Toadette_Orange_Run, \ + .anim_9 = ANIM_Toadette_Orange_Run, \ + .anim_A = ANIM_Toadette_Orange_Run, \ + .anim_B = ANIM_Toadette_Orange_Run, \ + .anim_C = ANIM_Toadette_Orange_Run, \ + .anim_D = ANIM_Toadette_Orange_Run, \ + .anim_E = ANIM_Toadette_Orange_Run, \ + .anim_F = ANIM_Toadette_Orange_Run, \ +} + +#define TOADETTE_PINK_ANIMS \ +{ \ + .idle = ANIM_Toadette_Pink_Idle, \ + .walk = ANIM_Toadette_Pink_Walk, \ + .run = ANIM_Toadette_Pink_Run, \ + .chase = ANIM_Toadette_Pink_Run, \ + .anim_4 = ANIM_Toadette_Pink_Idle, \ + .anim_5 = ANIM_Toadette_Pink_Idle, \ + .death = ANIM_Toadette_Pink_Disappointed, \ + .hit = ANIM_Toadette_Pink_Disappointed, \ + .anim_8 = ANIM_Toadette_Pink_Run, \ + .anim_9 = ANIM_Toadette_Pink_Run, \ + .anim_A = ANIM_Toadette_Pink_Run, \ + .anim_B = ANIM_Toadette_Pink_Run, \ + .anim_C = ANIM_Toadette_Pink_Run, \ + .anim_D = ANIM_Toadette_Pink_Run, \ + .anim_E = ANIM_Toadette_Pink_Run, \ + .anim_F = ANIM_Toadette_Pink_Run, \ +} + +#define TOADETTE_GREEN_ANIMS \ +{ \ + .idle = ANIM_Toadette_Green_Idle, \ + .walk = ANIM_Toadette_Green_Walk, \ + .run = ANIM_Toadette_Green_Run, \ + .chase = ANIM_Toadette_Green_Run, \ + .anim_4 = ANIM_Toadette_Green_Idle, \ + .anim_5 = ANIM_Toadette_Green_Idle, \ + .death = ANIM_Toadette_Green_Disappointed, \ + .hit = ANIM_Toadette_Green_Disappointed, \ + .anim_8 = ANIM_Toadette_Green_Run, \ + .anim_9 = ANIM_Toadette_Green_Run, \ + .anim_A = ANIM_Toadette_Green_Run, \ + .anim_B = ANIM_Toadette_Green_Run, \ + .anim_C = ANIM_Toadette_Green_Run, \ + .anim_D = ANIM_Toadette_Green_Run, \ + .anim_E = ANIM_Toadette_Green_Run, \ + .anim_F = ANIM_Toadette_Green_Run, \ +} + +#define TOADETTE_PURPLE_ANIMS \ +{ \ + .idle = ANIM_Toadette_Purple_Idle, \ + .walk = ANIM_Toadette_Purple_Walk, \ + .run = ANIM_Toadette_Purple_Run, \ + .chase = ANIM_Toadette_Purple_Run, \ + .anim_4 = ANIM_Toadette_Purple_Idle, \ + .anim_5 = ANIM_Toadette_Purple_Idle, \ + .death = ANIM_Toadette_Purple_Disappointed, \ + .hit = ANIM_Toadette_Purple_Disappointed, \ + .anim_8 = ANIM_Toadette_Purple_Run, \ + .anim_9 = ANIM_Toadette_Purple_Run, \ + .anim_A = ANIM_Toadette_Purple_Run, \ + .anim_B = ANIM_Toadette_Purple_Run, \ + .anim_C = ANIM_Toadette_Purple_Run, \ + .anim_D = ANIM_Toadette_Purple_Run, \ + .anim_E = ANIM_Toadette_Purple_Run, \ + .anim_F = ANIM_Toadette_Purple_Run, \ +} diff --git a/src/world/common/npc/Toad_Patrol.inc.c b/src/world/common/npc/Toad_Patrol.inc.c new file mode 100644 index 0000000000..aebabcdb9e --- /dev/null +++ b/src/world/common/npc/Toad_Patrol.inc.c @@ -0,0 +1,33 @@ +#include "Toad.h" + +#include "world/common/enemy/ai/PatrolNoAttackAI.inc.c" + +MobileAISettings N(AISettings_Toad_Patrol) = { + .moveSpeed = 1.5f, + .moveTime = 30, + .waitTime = 30, + .playerSearchInterval = -1, + .unk_AI_2C = 1, +}; + +EvtScript N(EVS_NpcAI_Toad_Patrol) = { + EVT_CALL(N(PatrolNoAttackAI_Main), EVT_PTR(N(AISettings_Toad_Patrol))) + EVT_RETURN + EVT_END +}; + +NpcSettings N(NpcSettings_Toad_Patrol) = { + .height = 30, + .radius = 24, + .level = 99, + .ai = &N(EVS_NpcAI_Toad_Patrol), + .actionFlags = AI_ACTION_LOOK_AROUND_DURING_LOITER, +}; + +NpcSettings N(NpcSettings_ToadKid_Patrol) = { + .height = 23, + .radius = 19, + .level = 99, + .ai = &N(EVS_NpcAI_Toad_Patrol), + .actionFlags = AI_ACTION_LOOK_AROUND_DURING_LOITER, +}; diff --git a/src/world/common/npc/Toad_Stationary.inc.c b/src/world/common/npc/Toad_Stationary.inc.c new file mode 100644 index 0000000000..defd80d961 --- /dev/null +++ b/src/world/common/npc/Toad_Stationary.inc.c @@ -0,0 +1,13 @@ +#include "Toad.h" + +NpcSettings N(NpcSettings_Toad_Stationary) = { + .height = 30, + .radius = 24, + .level = 99, +}; + +NpcSettings N(NpcSettings_ToadKid_Stationary) = { + .height = 23, + .radius = 19, + .level = 99, +}; diff --git a/src/world/common/npc/TrainConductorToad.h b/src/world/common/npc/TrainConductorToad.h index 3983b35508..4a5211a3fb 100644 --- a/src/world/common/npc/TrainConductorToad.h +++ b/src/world/common/npc/TrainConductorToad.h @@ -27,3 +27,24 @@ .anim_E = ANIM_TrainStationToad_Idle, \ .anim_F = ANIM_TrainStationToad_Idle, \ } + +// walk is different from the anims above -- maybe this NPC palette should have a distinct name +#define TRAIN_CONDUCTOR_WHITE_ANIMS \ +{ \ + .idle = ANIM_TrainStationToad_White_Idle, \ + .walk = ANIM_TrainStationToad_White_Idle, \ + .run = ANIM_TrainStationToad_White_Idle, \ + .chase = ANIM_TrainStationToad_White_Idle, \ + .anim_4 = ANIM_TrainStationToad_White_Idle, \ + .anim_5 = ANIM_TrainStationToad_White_Idle, \ + .death = ANIM_TrainStationToad_White_Idle, \ + .hit = ANIM_TrainStationToad_White_Idle, \ + .anim_8 = ANIM_TrainStationToad_White_Idle, \ + .anim_9 = ANIM_TrainStationToad_White_Idle, \ + .anim_A = ANIM_TrainStationToad_White_Idle, \ + .anim_B = ANIM_TrainStationToad_White_Idle, \ + .anim_C = ANIM_TrainStationToad_White_Idle, \ + .anim_D = ANIM_TrainStationToad_White_Idle, \ + .anim_E = ANIM_TrainStationToad_White_Idle, \ + .anim_F = ANIM_TrainStationToad_White_Idle, \ +} diff --git a/src/world/common/todo/SetEntityPosition.inc.c b/src/world/common/todo/SetEntityPosition.inc.c index b7b554c9c6..07b012e9ae 100644 --- a/src/world/common/todo/SetEntityPosition.inc.c +++ b/src/world/common/todo/SetEntityPosition.inc.c @@ -1,5 +1,4 @@ #include "common.h" -#include "npc.h" ApiStatus N(SetEntityPosition)(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; diff --git a/src/world/common/todo/StarSpiritEffectFunc.inc.c b/src/world/common/todo/StarSpiritEffectFunc.inc.c index 3cd0997001..60de3e0636 100644 --- a/src/world/common/todo/StarSpiritEffectFunc.inc.c +++ b/src/world/common/todo/StarSpiritEffectFunc.inc.c @@ -74,7 +74,7 @@ ApiStatus N(StarSpiritEffectFunc3)(Evt* script, s32 isInitialCall) { ptr->unk_46++; if (ptr->unk_46 >= 60) { ptr->unk_54 = fx_spirit_card(1, ptr->unk_18, ptr->unk_1C, ptr->unk_20, 1.0f, 0); - ptr->unk_54->data.spiritCard->unk_34 = ptr->unk_38; + ptr->unk_54->data.spiritCard->chapter = ptr->unk_38; ptr->unk_54->data.spiritCard->unk_20 = 0; ptr->unk_40 = create_shadow_type(0, ptr->unk_18, ptr->unk_28, ptr->unk_20); ptr->unk_44 = 3; @@ -126,10 +126,10 @@ ApiStatus N(StarSpiritEffectFunc3)(Evt* script, s32 isInitialCall) { case 1: ptr->unk_2C = clamp_angle(ptr->unk_2C + ptr->unk_30); case 2: - ptr->unk_54->data.spiritCard->unk_24 = ptr->unk_2C; - ptr->unk_54->data.spiritCard->unk_04 = ptr->unk_18; - ptr->unk_54->data.spiritCard->unk_08 = ptr->unk_04; - ptr->unk_54->data.spiritCard->unk_0C = ptr->unk_20; + ptr->unk_54->data.spiritCard->yaw = ptr->unk_2C; + ptr->unk_54->data.spiritCard->pos.x = ptr->unk_18; + ptr->unk_54->data.spiritCard->pos.y = ptr->unk_04; + ptr->unk_54->data.spiritCard->pos.z = ptr->unk_20; break; } @@ -155,7 +155,7 @@ ApiStatus N(StarSpiritEffectFunc5)(Evt* script, s32 isInitialCall) { ptr->unk_20 = evt_get_float_variable(script, *args++); ptr->unk_28 = evt_get_float_variable(script, *args++); ptr->unk_54 = fx_spirit_card(1, ptr->unk_18, ptr->unk_24, ptr->unk_20, 1.0f, 0); - ptr->unk_54->data.spiritCard->unk_34 = ptr->unk_38; + ptr->unk_54->data.spiritCard->chapter = ptr->unk_38; ptr->unk_54->data.spiritCard->unk_20 = 0; ptr->unk_40 = create_shadow_type(0, ptr->unk_18, ptr->unk_28, ptr->unk_20); ptr->unk_4C = 270; @@ -174,9 +174,9 @@ ApiStatus N(StarSpiritEffectFunc6)(Evt* script, s32 isInitialCall) { ptr->unk_18, ptr->unk_20) <= 30.0f) { ptr->unk_4E = 3; } - ptr->unk_54->data.spiritCard->unk_04 = ptr->unk_18; - ptr->unk_54->data.spiritCard->unk_08 = ptr->unk_04; - ptr->unk_54->data.spiritCard->unk_0C = ptr->unk_20; + ptr->unk_54->data.spiritCard->pos.x = ptr->unk_18; + ptr->unk_54->data.spiritCard->pos.y = ptr->unk_04; + ptr->unk_54->data.spiritCard->pos.z = ptr->unk_20; return ApiStatus_BLOCK; } diff --git a/src/world/common/util/PlaySpringReboundAnimation.inc.c b/src/world/common/util/PlaySpringReboundAnimation.inc.c new file mode 100644 index 0000000000..adcc5ccad9 --- /dev/null +++ b/src/world/common/util/PlaySpringReboundAnimation.inc.c @@ -0,0 +1,15 @@ +#include "common.h" + +extern Addr EntityModel_Spring_ReboundAnim; + +API_CALLABLE(N(PlaySpringReboundAnimation)) { + Bytecode* args = script->ptrReadPos; + Entity* entity = get_entity_by_index(evt_get_variable(script, *args++)); + + if (entity == NULL) { + return ApiStatus_BLOCK; + } + + play_model_animation(entity->virtualModelIndex, (s16*) EntityModel_Spring_ReboundAnim); + return ApiStatus_DONE2; +} diff --git a/src/world/dead/flo_03/EC2240.c b/src/world/dead/flo_03/EC2240.c index ca7269dafb..c038fe5343 100644 --- a/src/world/dead/flo_03/EC2240.c +++ b/src/world/dead/flo_03/EC2240.c @@ -50,18 +50,18 @@ ApiStatus func_80240158_EC2358(Evt* script, s32 isInitialCall) { osSyncPrintf("cccc\n"); } } - npc->currentAnim = enemy->animList[ENEMY_ANIM_RUN]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_RUN]; npc->yaw = atan2(npc->pos.x, npc->pos.z, sp10, sp14); npc_move_heading(npc, 2.0f, npc->yaw); } else if (temp_f4 > 0.2) { npc->yaw = atan2(npc->pos.x, npc->pos.z, sp10, sp14); npc->pos.x = sp10; npc->pos.z = sp14; - npc->currentAnim = enemy->animList[ENEMY_ANIM_WALK]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_WALK]; } else { npc->pos.x = sp10; npc->pos.z = sp14; - npc->currentAnim = enemy->animList[ENEMY_ANIM_IDLE]; + npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_IDLE]; } return ApiStatus_BLOCK; } diff --git a/src/world/world.c b/src/world/world.c index ae58745ff7..e6896cab01 100644 --- a/src/world/world.c +++ b/src/world/world.c @@ -4,6 +4,7 @@ #include "camera.h" #include "hud_element.h" #include "sprite.h" +#include "model.h" #define ASSET_TABLE_ROM_START 0x1E40000 #define ASSET_TABLE_HEADER_SIZE 0x20 @@ -32,7 +33,7 @@ void load_map_script_lib(void) { } void load_map_by_IDs(s16 areaID, s16 mapID, s16 loadType) { - s32 initStatus = 0; + s32 skipLoadingAssets = 0; MapConfig* mapConfig; MapSettings* mapSettings; char texStr[17]; @@ -86,21 +87,21 @@ void load_map_by_IDs(s16 areaID, s16 mapID, s16 loadType) { gMapSettings = *mapConfig->settings; mapSettings = &gMapSettings; - if (mapConfig->init != 0) { - initStatus = mapConfig->init(); + if (mapConfig->init != NULL) { + skipLoadingAssets = mapConfig->init(); } - if (initStatus == 0) { - s32* place = &D_80210000; + if (!skipLoadingAssets) { + ShapeFile* shapeFile = &D_80210000; void* yay0Asset = load_asset_by_name(wMapShapeName, &decompressedSize); - decode_yay0(yay0Asset, place); + decode_yay0(yay0Asset, shapeFile); general_heap_free(yay0Asset); - mapSettings->modelTreeRoot = place[0]; - mapSettings->modelNameList = place[2]; - mapSettings->colliderNameList = place[3]; - mapSettings->zoneNameList = place[4]; + mapSettings->modelTreeRoot = shapeFile->root; + mapSettings->modelNameList = shapeFile->modelNames; + mapSettings->colliderNameList = shapeFile->colliderNames; + mapSettings->zoneNameList = shapeFile->zoneNames; } if (mapConfig->bgName != NULL) { @@ -127,7 +128,7 @@ void load_map_by_IDs(s16 areaID, s16 mapID, s16 loadType) { func_80138188(); } - if (initStatus == 0) { + if (!skipLoadingAssets) { initialize_collision(); load_map_hit_asset(); } @@ -147,7 +148,7 @@ void load_map_by_IDs(s16 areaID, s16 mapID, s16 loadType) { func_801497FC(D_8008FF60[mapConfig->unk_1C.word & 0x3]); sfx_reset_door_sounds(); - if (initStatus == 0) { + if (!skipLoadingAssets) { s32 thing = get_asset_offset(wMapTexName, &decompressedSize); if (mapSettings->modelTreeRoot != NULL) { @@ -330,17 +331,17 @@ MapConfig kmr_maps[] = { { MAP(kmr_04), .bgName = "kmr_bg" }, { MAP(kmr_05), .bgName = "kmr_bg" }, { MAP(kmr_06), .bgName = "kmr_bg" }, - { MAP_UNSPLIT(kmr_07, 0x80240B70), .bgName = "kmr_bg" }, - { MAP_UNSPLIT(kmr_09, 0x80241550), .bgName = "kmr_bg" }, - { MAP_UNSPLIT(kmr_10, 0x80240640), .bgName = "kmr_bg" }, + { MAP(kmr_07), .bgName = "kmr_bg" }, + { MAP(kmr_09), .bgName = "kmr_bg" }, + { MAP(kmr_10), .bgName = "kmr_bg" }, { MAP_UNSPLIT(kmr_11, 0x80241180), .bgName = "kmr_bg" }, { MAP(kmr_12), .bgName = "kmr_bg" }, { MAP_UNSPLIT(kmr_20, 0x80242C00), .bgName = "kmr_bg" }, // Mario's House - { MAP_UNSPLIT(kmr_21, 0x802402F0), .init = (MapInit)0x80240000 }, + { MAP_WITH_INIT(kmr_21) }, { MAP_UNSPLIT(kmr_22, 0x80240DA0), .init = (MapInit)0x80240000 }, - { MAP_UNSPLIT(kmr_23, 0x80241150), .init = (MapInit)0x80240000 }, - { MAP_UNSPLIT(kmr_24, 0x80240120), .init = (MapInit)0x80240000 }, - { MAP_UNSPLIT(kmr_30, 0x802404F0) }, + { MAP_WITH_INIT(kmr_23) }, + { MAP_WITH_INIT(kmr_24) }, + { MAP(kmr_30) }, }; /// Mt. Rugged diff --git a/tools/splat_ext/msg.yaml b/tools/splat_ext/msg.yaml index 8d8c54486d..ebbc674580 100644 --- a/tools/splat_ext/msg.yaml +++ b/tools/splat_ext/msg.yaml @@ -5011,10 +5011,10 @@ - [0x1A, 0x00D2, NpcTattle_JAN_Bubulb_Revealed] - [0x1A, 0x00D3, NpcTattle_HeartPlant] - [0x1A, 0x00D4, NpcTattle_MBush] -- [0x1A, 0x00D5, NpcTattle_FLO_BulbulbA] -- [0x1A, 0x00D6, NpcTattle_FLO_BulbulbB] -- [0x1A, 0x00D7, NpcTattle_FLO_BulbulbC] -- [0x1A, 0x00D8, NpcTattle_FLO_BulbulbD] +- [0x1A, 0x00D5, NpcTattle_FLO_BubulbA] +- [0x1A, 0x00D6, NpcTattle_FLO_BubulbB] +- [0x1A, 0x00D7, NpcTattle_FLO_BubulbC] +- [0x1A, 0x00D8, NpcTattle_FLO_BubulbD] - [0x1A, 0x00D9, NpcTattle_Tolielup] - [0x1A, 0x00DA, NpcTattle_RedGateFlower] - [0x1A, 0x00DB, NpcTattle_YellowGateFlower] diff --git a/tools/splat_ext/npc.yaml b/tools/splat_ext/npc.yaml index 7bd50f8aee..c8e8c5d7ea 100644 --- a/tools/splat_ext/npc.yaml +++ b/tools/splat_ext/npc.yaml @@ -10831,7 +10831,7 @@ Coin: - Rotate ParadePeach: frames: - - ShadeNeutral + - Neutral - RaiseArms1 - RaiseArms2 - Talk1 diff --git a/ver/us/asm/data/world/area_kmr/kmr_07/8D4880.data.s b/ver/us/asm/data/world/area_kmr/kmr_07/8D4880.data.s deleted file mode 100644 index 15b1916c2c..0000000000 --- a/ver/us/asm/data/world/area_kmr/kmr_07/8D4880.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240AC0_8D4880 -.word 0xC1B00000, 0x00000000, 0x42280000, 0x42B40000, 0x4409C000, 0x42A00000, 0xC1E00000, 0x43750000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x43F00000, 0x00000000, 0x42DC0000, 0x42B40000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80240D9C, D_80240AC0_8D4880, 0x0000000B, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x0019003F, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000011, 0x00000000, 0x00000008, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_kmr/kmr_07/8D49A0.data.s b/ver/us/asm/data/world/area_kmr/kmr_07/8D49A0.data.s deleted file mode 100644 index 56aff67cd0..0000000000 --- a/ver/us/asm/data/world/area_kmr/kmr_07/8D49A0.data.s +++ /dev/null @@ -1,54 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240BE0_8D49A0 -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80241E80, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240C3C_8D49FC -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000001, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80241E88, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240C98_8D4A58 -.word 0x00000047, 0x00000005, D_80240BE0_8D49A0, 0x00080000, 0x00000003, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80240C3C_8D49FC, 0x00080000, 0x00000006, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240CE0_8D4AA0 -.word 0x00000043, 0x00000002, GetLoadType, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000044, 0x00000001, EnterSavePoint, 0x00000044, 0x00000001, D_80240C98_8D4A58, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C80, D_80240C98_8D4A58, 0x00000044, 0x00000001, EnterWalk, 0x00000012, 0x00000000, 0x00000044, 0x00000001, 0x80285C50, 0x00000044, 0x00000001, D_80240C98_8D4A58, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x0000001F, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, D_80241DF8_8D5BB8, 0x00000046, 0x00000001, D_80241E10_8D5BD0, 0x00000044, 0x00000001, 0x80240BB0, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000004, 0x7FFFFE00, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000007, 0x7FFFFE00, 0x00000044, 0x00000001, D_80240CE0_8D4AA0, 0x00000008, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240E90_8D4C50 -.word 0x43020000, 0x00000000, 0x00000001, 0x40200000, 0x000000B4, 0x00000003, 0x43160000, 0x00000000, 0x00000001 - -dlabel D_80240EB4_8D4C74 -.word 0x00000043, 0x00000002, kmr_07_StationaryAI_Main, D_80240E90_8D4C50, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240ED4_8D4C94 -.word 0x00000000, 0x00140017, 0x00000000, 0x00000000, D_80240EB4_8D4C74, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00050000 - -dlabel D_80240F00_8D4CC0 -.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFE363C80, 0x000003AC, 0x00000000, 0x00000008, 0x00000001, 0x00000004, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240F48_8D4D08 -.word 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x0000000C, 0x00000002, 0xFE363C80, 0x000000D2, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000005B, 0x00000000, 0x00000008, 0x0000004D, 0x00000001, 0x000000EF, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000057, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x000B00BB, 0x00000140, 0x0000003C, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00080022, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000168, 0x00000050, 0x00000023, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x0000012C, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24AB680, 0xF24A5E80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x0000001E, 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetNpcSpeed, 0x00000000, 0xF24A9280, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00620004, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000045, 0x00000002, D_80240F00_8D4CC0, 0xFE363C8A, 0x00000043, 0x00000005, NpcMoveTo, 0x00000000, 0x00000195, 0x0000002A, 0x00000000, 0x00000049, 0x00000001, 0xFE363C8A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00620002, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x00620104, 0x00000043, 0x00000003, SetNpcSpeed, 0x00000001, 0xF24A9280, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x00620104, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000045, 0x00000002, D_80240F00_8D4CC0, 0xFE363C8A, 0x00000043, 0x00000005, NpcMoveTo, 0x00000001, 0x00000178, 0x0000000B, 0x00000000, 0x00000049, 0x00000001, 0xFE363C8A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x00620102, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0001002A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x0062000A, 0x00620002, 0x00000000, 0x000B00BC, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x0000010E, 0x00000050, 0x0000002D, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x000001C2, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24AB680, 0xF24A6E80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8A80, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x0062000A, 0x00620002, 0x00000000, 0x000B00BD, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x0062010A, 0x00620102, 0x00000000, 0x000B00BE, 0x00000008, 0x00000001, 0x0000000A, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000001, 0xF24A7DB4, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x00620104, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000001, 0x0000010F, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000001, 0x0000010B, 0x00000000, 0x0000001C, 0x0000001E, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0001002A, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000000, 0xF24A7DB4, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00620004, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000000, 0x0000010F, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000000, 0x00000114, 0x00000000, 0x00000037, 0x0000001E, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000043, 0x00000002, StartBossBattle, 0x00000003, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802414AC_8D526C -.word 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000007E, 0x00000000, 0x00000008, 0x00000057, 0x00000000, 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00620003, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x00620103, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x0062000B, 0x00620003, 0x00000000, 0x000B00C2, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000008, 0x00000001, 0x0000000A, 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000001, 0xF24A81B4, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x00620105, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000001, 0x0000010F, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000001, 0x00000133, 0x00000019, 0x00000031, 0x00000014, 0x00000043, 0x00000001, func_80240A6C_8D482C, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000001, 0x00002086, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000001, 0x00000191, 0x00000050, 0x00000019, 0x0000001E, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000003, SetNpcSpeed, 0x00000001, 0xF24A9280, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000045, 0x00000002, D_80240F00_8D4CC0, 0xFE363C8A, 0x00000043, 0x00000005, NpcMoveTo, 0x00000001, 0x00000268, 0xFFFFFFD1, 0x00000000, 0x00000049, 0x00000001, 0xFE363C8A, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000001, 0x00000200, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000000, 0xF24A81B4, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00620005, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000000, 0x0000010F, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000000, 0x00000133, 0x00000019, 0x00000031, 0x00000014, 0x00000043, 0x00000001, func_80240A6C_8D482C, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000000, 0x00002086, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000000, 0x00000191, 0x00000050, 0x00000019, 0x0000001E, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000003, SetNpcSpeed, 0x00000000, 0xF24A9280, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000045, 0x00000002, D_80240F00_8D4CC0, 0xFE363C8A, 0x00000043, 0x00000005, NpcMoveTo, 0x00000000, 0x00000268, 0xFFFFFFD1, 0x00000000, 0x00000049, 0x00000001, 0xFE363C8A, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000000, 0x00000200, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000044, 0x00000001, 0x80240BB0, 0x00000024, 0x00000002, 0xFD050F80, 0x00000001, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFF8F, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241884_8D5644 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80240F48_8D4D08, 0x00000043, 0x00000003, BindNpcDefeat, 0xFFFFFFFF, D_802414AC_8D526C, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000100, 0x00000001, 0x00000024, 0x00000002, 0xFD050F80, 0x00000000, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFF8F, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024190C_8D56CC -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024191C_8D56DC -.word 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFD050F80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241998_8D5758 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_8024190C_8D56CC, 0x00000043, 0x00000003, BindNpcDefeat, 0xFFFFFFFF, D_8024191C_8D56DC, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000100, 0x00000001, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFF8F, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241A18_8D57D8 -.word 0x00000000, D_80240ED4_8D4C94, 0x44038000, 0x42A00000, 0x00000000, 0x00A40105, D_80241884_8D5644, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF8001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00620002, 0x00620004, 0x00620006, 0x00620006, 0x00620002, 0x00620002, 0x00620009, 0x00620009, 0x00620006, 0x00620006, 0x00620006, 0x00620006, 0x00620006, 0x00620006, 0x00620006, 0x00620006, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, D_80240ED4_8D4C94, 0x43F90000, 0x42A00000, 0xC1200000, 0x00A40105, D_80241998_8D5758, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF8001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00620102, 0x00620104, 0x00620106, 0x00620106, 0x00620102, 0x00620102, 0x00620109, 0x00620109, 0x00620106, 0x00620106, 0x00620106, 0x00620106, 0x00620106, 0x00620106, 0x00620106, 0x00620106, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80241DF8_8D5BB8 -.word 0x00000002, D_80241A18_8D57D8, 0x01000002, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80241E10_8D5BD0 -.word 0x00000043, 0x00000008, MakeEntity, Entity_SimpleSpring, 0x00000136, 0x00000000, 0x0000002D, 0x00000000, 0x00000041, 0x80000000, 0x00000024, 0x00000002, 0xFD050F80, 0xFE363C80, 0x00000043, 0x00000007, MakeEntity, Entity_SavePoint, 0x000001FE, 0x0000003C, 0x0000006E, 0x00000000, 0x80000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_kmr/kmr_09/8D7330.data.s b/ver/us/asm/data/world/area_kmr/kmr_09/8D7330.data.s deleted file mode 100644 index aaafe4c0bf..0000000000 --- a/ver/us/asm/data/world/area_kmr/kmr_09/8D7330.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80241530_8D7330 -.word 0xC2FE0000, 0x00000000, 0x41C00000, 0x42B40000, 0x44520000, 0x00000000, 0x41C00000, 0x43870000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x802416C0, D_80241530_8D7330, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x00190041, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000011, 0x00000000, 0x00000008, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_kmr/kmr_09/8D73C0.data.s b/ver/us/asm/data/world/area_kmr/kmr_09/8D73C0.data.s deleted file mode 100644 index cfdef0bda3..0000000000 --- a/ver/us/asm/data/world/area_kmr/kmr_09/8D73C0.data.s +++ /dev/null @@ -1,57 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802415C0_8D73C0 -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80242660, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024161C_8D741C -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000001, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80242668, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241678_8D7478 -.word 0x00000047, 0x00000005, D_802415C0_8D73C0, 0x00080000, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_8024161C_8D741C, 0x00080000, 0x00000002, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x0000001F, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000024, 0x00000002, 0xF840632F, 0x00000001, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, D_8024256C_8D836C, 0x00000046, 0x00000001, 0x802425B0, 0x00000044, 0x00000001, 0x80241590, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000001, 0x7FFFFE00, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000003, 0x7FFFFE00, 0x00000024, 0x00000002, 0xFE363C80, D_80241678_8D7478, 0x00000044, 0x00000001, EnterWalk, 0x00000008, 0x00000001, 0x00000001, 0x00000047, 0x00000005, D_80241D30_8D7B30, 0x00000100, 0x0000000B, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802417F0_8D75F0 -.word 0x3FC00000, 0x0000001E, 0x0000001E, 0x43020000, 0x00000000, 0x00000001, 0x40200000, 0x000000B4, 0x00000003, 0x43160000, 0x00000000, 0x00000001 - -dlabel D_80241820_8D7620 -.word 0x00000043, 0x00000002, BasicAI_Main, D_802417F0_8D75F0, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241840_8D7640 -.word 0x00000000, 0x00140017, 0x00000000, 0x00000000, D_80241820_8D7620, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00050000 - -dlabel kmr_09_FlyingAI_JumpVels -.float 4.5, 3.5, 2.6, 2.0, 1.5, 20.0 - -dlabel D_80241884_8D7684 -.word 0x3FCCCCCD, 0x0000003C, 0x0000001E, 0x42A00000, 0x00000000, 0x00000005, 0x400CCCCD, 0x0000003C, 0x0000000F, 0x42C80000, 0x00000000, 0x00000001 - -dlabel D_802418B4_8D76B4 -.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000005, 0xFFFFFE0C, 0x00000043, 0x00000003, SetSelfVar, 0x00000006, 0x00000015, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000244, 0x00000043, 0x00000002, kmr_09_FlyingAI_Main, D_80241884_8D7684, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241924_8D7724 -.word 0x00000000, 0x00140015, 0x00000000, 0x00000000, D_802418B4_8D76B4, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00060002 - -dlabel D_80241950_8D7750 -.word 0x00000000, D_80241840_8D7640, 0x43480000, 0x00000000, 0x41C00000, 0x00002C00, 0x00000000, 0x00000000, 0x00000000, 0x0000005A, 0x8005008A, 0x000A0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001999, 0x66650002, 0x4CCC2666, 0x59980002, 0x3FFF3FFF, 0x4CCC0002, 0x3FFF6665, 0x3FFF0002, 0x33327FFF, 0x26660002, 0x26660000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001999, 0x59980002, 0x3FFF2666, 0x4CCC0002, 0x3FFF3FFF, 0x3FFF0002, 0x33326665, 0x33320002, 0x33327FFF, 0x26660002, 0x33320000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000C8, 0x00000000, 0x00000018, 0x0000001E, 0x00000014, 0xFFFF8001, 0x00000001, 0x000000C8, 0x00000000, 0x00000018, 0x000000FA, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00260001, 0x00260002, 0x00260003, 0x00260003, 0x00260001, 0x00260001, 0x00260005, 0x00260005, 0x00260003, 0x00260003, 0x00260003, 0x00260003, 0x00260003, 0x00260003, 0x00260003, 0x00260003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80241B40_8D7940 -.word 0x00000001, D_80241840_8D7640, 0x437A0000, 0x00000000, 0x420C0000, 0x00002C00, 0x00000000, 0x00000000, 0x00000000, 0x0000005A, 0x8005008A, 0x000A0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001999, 0x66650002, 0x4CCC2666, 0x59980002, 0x3FFF3FFF, 0x4CCC0002, 0x3FFF6665, 0x3FFF0002, 0x33327FFF, 0x26660002, 0x26660000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001999, 0x59980002, 0x3FFF2666, 0x4CCC0002, 0x3FFF3FFF, 0x3FFF0002, 0x33326665, 0x33320002, 0x33327FFF, 0x26660002, 0x33320000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000FA, 0x00000000, 0x00000023, 0x0000001E, 0x00000014, 0xFFFF8001, 0x00000001, 0x000000FA, 0x00000000, 0x00000023, 0x000000FA, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00260001, 0x00260002, 0x00260003, 0x00260003, 0x00260001, 0x00260001, 0x00260005, 0x00260005, 0x00260003, 0x00260003, 0x00260003, 0x00260003, 0x00260003, 0x00260003, 0x00260003, 0x00260003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80241D30_8D7B30 -.word 0x0000004D, 0x00000001, 0x00000000, 0x0000004F, 0x00000001, 0x00000001, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D0165, 0x000000A0, 0x00000028, 0x00000050, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000043, 0x00000001, func_802414F8_8D72F8, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, GetNpcVar, 0x00000002, 0x00000000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, SetNpcVar, 0x00000002, 0x00000000, 0x00000001, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000008, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000048, 0x00000000, 0x00000013, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000 - -dlabel D_80241E54_8D7C54 -.word 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00260000, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000003, SetSelfEnemyFlagBits, 0x00000020, 0x00000001, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetSelfVar, 0x00000000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x000000F8, 0x00000000, 0x00000043, 0x00000003, func_802CFE2C, 0xFFFFFFFF, 0x00002000, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x00000005, 0x00000006, 0x00000001, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000003, func_802CFE2C, 0xFFFFFFFF, 0x00002000, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000026, 0x00000002, 0xFE363C80, 0xF24A7A80, 0x00000005, 0x00000001, 0x00000014, 0x0000002C, 0x00000002, 0xFE363C80, 0xF24AC280, 0x00000043, 0x00000005, SetNpcRotation, 0xFFFFFFFF, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetNpcRotation, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x0000032C, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000001, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFF, 0xF24A7CE7, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFF, 0xFFFFFFDD, 0x00000000, 0x00000019, 0x00000017, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, InterpNpcYaw, 0xFFFFFFFF, 0x0000005A, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000020, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000040, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000200, 0x00000001, 0x00000043, 0x00000003, SetSelfEnemyFlagBits, 0x00000020, 0x00000000, 0x00000043, 0x00000003, SetSelfEnemyFlagBits, 0x40000000, 0x00000001, 0x00000047, 0x00000005, D_80241D30_8D7B30, 0x00000100, 0x0000000B, 0x00000001, 0x00000000, 0x00000043, 0x00000003, BindNpcAI, 0xFFFFFFFF, D_80241820_8D7620, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242154_8D7F54 -.word 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80241E54_8D7C54, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024218C_8D7F8C -.word 0x00000002, D_80241840_8D7640, 0xC2080000, 0x41E80000, 0xC2000000, 0x00000D00, D_80242154_8D7F54, 0x00000000, 0x00000000, 0x0000010E, 0x8005008A, 0x000A0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001999, 0x66650002, 0x4CCC2666, 0x59980002, 0x3FFF3FFF, 0x4CCC0002, 0x3FFF6665, 0x3FFF0002, 0x33327FFF, 0x26660002, 0x26660000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001999, 0x59980002, 0x3FFF2666, 0x4CCC0002, 0x3FFF3FFF, 0x3FFF0002, 0x33326665, 0x33320002, 0x33327FFF, 0x26660002, 0x33320000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFEC, 0x00000000, 0x0000000A, 0x0000001E, 0x00000014, 0xFFFF8001, 0x00000001, 0xFFFFFFEC, 0x00000000, 0x0000000A, 0x000000FA, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00260001, 0x00260002, 0x00260003, 0x00260003, 0x00260001, 0x00260001, 0x00260005, 0x00260005, 0x00260003, 0x00260003, 0x00260003, 0x00260003, 0x00260003, 0x00260003, 0x00260003, 0x00260003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024237C_8D817C -.word 0x00000003, D_80241924_8D7724, 0x44278000, 0x42700000, 0x41A00000, 0x00000D00, 0x00000000, 0x00000000, 0x00000000, 0x0000010E, 0x8005008A, 0x000A0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001999, 0x59980002, 0x3FFF2666, 0x4CCC0002, 0x3FFF3FFF, 0x3FFF0002, 0x33326665, 0x33320002, 0x33327FFF, 0x26660002, 0x26660000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001999, 0x3FFF0002, 0x33322666, 0x33320002, 0x33323FFF, 0x33320002, 0x33326665, 0x33320002, 0x33327FFF, 0x26660002, 0x33320000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00010000, 0x0000029E, 0x0000003C, 0x00000014, 0x0000001E, 0x00000014, 0xFFFF8001, 0x00000001, 0x0000029E, 0x0000003C, 0x00000014, 0x000000FA, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00280001, 0x00280003, 0x00280004, 0x00280004, 0x00280001, 0x00280001, 0x00280006, 0x00280006, 0x00280004, 0x00280004, 0x00280004, 0x00280004, 0x00280004, 0x00280004, 0x00280004, 0x00280004, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024256C_8D836C -.word 0x00000001, D_80241950_8D7750, 0x00010003, 0x00000001, D_80241B40_8D7940, 0x00010003, 0x00000001, D_8024218C_8D7F8C, 0x00000003, 0x00000001, D_8024237C_8D817C, 0x00080003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_kmr/kmr_09/8D83B0.data.s b/ver/us/asm/data/world/area_kmr/kmr_09/8D83B0.data.s deleted file mode 100644 index 7859d8e5fa..0000000000 --- a/ver/us/asm/data/world/area_kmr/kmr_09/8D83B0.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802425B0_8D83B0 -.word 0x00000043, 0x00000008, MakeEntity, Entity_YellowBlock, 0x00000190, 0x0000003C, 0xFFFFFFF1, 0x00000000, 0x00000157, 0x80000000, 0x00000043, 0x00000002, AssignBlockFlag, 0xF8405BCD, 0x00000043, 0x00000007, MakeEntity, Entity_BrickBlock, 0x000001C2, 0x0000003C, 0xFFFFFFF1, 0x00000000, 0x80000000, 0x00000043, 0x00000008, MakeEntity, Entity_YellowBlock, 0x000001F4, 0x0000003C, 0xFFFFFFF1, 0x00000000, 0x00000157, 0x80000000, 0x00000043, 0x00000002, AssignBlockFlag, 0xF8405BCE, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_kmr/kmr_10/8D8AE0.data.s b/ver/us/asm/data/world/area_kmr/kmr_10/8D8AE0.data.s deleted file mode 100644 index 80660dbac3..0000000000 --- a/ver/us/asm/data/world/area_kmr/kmr_10/8D8AE0.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240610_8D8AE0 -.word 0xC4520000, 0x43750000, 0x42DC0000, 0x42B40000, 0x44350000, 0x00000000, 0x42D80000, 0x43870000, 0x44340000, 0x43140000, 0x43070000, 0x43870000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80240854, D_80240610_8D8AE0, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x00190043, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000011, 0x00000000, 0x00000008, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_kmr/kmr_10/8D8B80.data.s b/ver/us/asm/data/world/area_kmr/kmr_10/8D8B80.data.s deleted file mode 100644 index c2673918e9..0000000000 --- a/ver/us/asm/data/world/area_kmr/kmr_10/8D8B80.data.s +++ /dev/null @@ -1,18 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802406B0_8D8B80 -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80241C20, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024070C_8D8BDC -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000001, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80241C28, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240768_8D8C38 -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000002, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80241C28, 0x00000002, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802407C4_8D8C94 -.word 0x00000047, 0x00000005, D_802406B0_8D8B80, 0x00080000, 0x00000001, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_8024070C_8D8BDC, 0x00080000, 0x00000003, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80240768_8D8C38, 0x00080000, 0x00000006, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240828_8D8CF8 -.word 0x00000024, 0x00000002, 0xFE363C80, D_802407C4_8D8C94, 0x00000044, 0x00000001, EnterWalk, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x0000001F, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80240BFC, 0x00000043, 0x00000001, ClearDefeatedEnemies, 0x00000046, 0x00000001, 0x80241088, 0x00000044, 0x00000001, 0x80240680, 0x00000046, 0x00000001, 0x80241B9C, 0x0000000A, 0x00000002, 0xF5DE0180, 0xFFFFFF94, 0x0000000A, 0x00000002, 0xF971888D, 0x00000000, 0x00000008, 0x00000001, 0x00000032, 0x00000024, 0x00000002, 0xF971888D, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000044, 0x00000001, D_80240828_8D8CF8, 0x00000008, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xF8405C87, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_kmr/kmr_10/8D8E60.data.s b/ver/us/asm/data/world/area_kmr/kmr_10/8D8E60.data.s deleted file mode 100644 index 2e73f42e49..0000000000 --- a/ver/us/asm/data/world/area_kmr/kmr_10/8D8E60.data.s +++ /dev/null @@ -1,12 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240990_8D8E60 -.word 0x00000000, 0x001E0018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000, 0x00000000, 0x00170013, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_802409E8_8D8EB8 -.word 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240A0C_8D8EDC -.word 0x00000000, D_80240990_8D8E60, 0x00000000, 0xC47A0000, 0x00000000, 0x00206F01, D_802409E8_8D8EB8, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00830001, 0x00830002, 0x00830003, 0x00830003, 0x00830001, 0x00830001, 0x00830006, 0x00830006, 0x00830003, 0x00830003, 0x00830003, 0x00830003, 0x00830003, 0x00830003, 0x00830003, 0x00830003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, D_80240A0C_8D8EDC, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_kmr/kmr_10/8D90F0.data.s b/ver/us/asm/data/world/area_kmr/kmr_10/8D90F0.data.s deleted file mode 100644 index 4802a88954..0000000000 --- a/ver/us/asm/data/world/area_kmr/kmr_10/8D90F0.data.s +++ /dev/null @@ -1,54 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel kmr_10_varStash -.word 0x00000000 - -dlabel D_80240C24_8D90F4 -.word 0x0000004D, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000002, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000000, 0x00000000, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000000, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240C8C_8D915C -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C8A, 0x0000000B, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000046, 0x00000001, D_80240C24_8D90F4, 0x00000013, 0x00000000, 0x00000014, 0x00000001, 0xFE363C8B, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, AddItem, 0xFE363C8A, 0xFE363C80, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000002, AddKeyItem, 0xFE363C8A, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000003, AddBadge, 0xFE363C8A, 0xFE363C80, 0x00000023, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240D6C_8D923C -.word 0x00000008, 0x00000001, 0x0000000F, 0x0000000A, 0x00000002, 0xF8405BEE, 0x00000000, 0x00000024, 0x00000002, 0xF8405BEE, 0x00000001, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0x00000172, 0x00000073, 0xFFFFFFEC, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x00000011, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, kmr_10_SetEntityPosition, 0xFD050F80, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000000, 0xF24A7DB4, 0x00000043, 0x00000006, NpcJump0, 0x00000000, 0x00000172, 0x0000000A, 0x00000014, 0x0000000F, 0x00000043, 0x00000006, PlaySoundAt, 0x00000048, 0x00000000, 0x00000172, 0x0000000A, 0x00000014, 0x00000043, 0x00000006, PlaySoundAt, 0x00002086, 0x00000000, 0x00000172, 0x0000000A, 0x00000014, 0x00000043, 0x00000002, func_802402BC_8D878C, 0xFD050F80, 0x0000000A, 0x00000002, 0xF8405BDB, 0x00000000, 0x00000027, 0x00000002, 0xF8405BDB, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240F1C_8D93EC -.word 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetCamTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240F84_8D9454 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, SetPlayerActionState, 0x00000006, 0x00000045, 0x00000002, D_80240F1C_8D93EC, 0xFE363C8A, 0x00000043, 0x00000002, SetPlayerJumpscale, 0xF24A7F4D, 0x00000043, 0x00000005, PlayerJump, 0x000001C8, 0x0000008E, 0x00000063, 0x0000001E, 0x00000049, 0x00000001, 0xFE363C8A, 0x00000043, 0x00000002, SetPlayerActionState, 0x00000000, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024103C_8D950C -.word 0x00000024, 0x00000002, 0xFE363C8A, 0x00000107, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000002, 0x00000024, 0x00000002, 0xF8405BD4, 0x00000001, 0x00000046, 0x00000001, D_80240C8C_8D915C, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_YellowBlock, 0xFFFFFF42, 0x0000004B, 0x000000DC, 0x00000000, 0x0000008F, 0x80000000, 0x00000043, 0x00000002, AssignBlockFlag, 0xF8405BD5, 0x00000043, 0x00000008, MakeEntity, Entity_Chest, 0x00000279, 0x0000008E, 0x00000077, 0x00000000, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignChestFlag, 0xF8405BD4, 0x00000043, 0x00000002, AssignScript, D_8024103C_8D950C, 0x0000000A, 0x00000002, 0xF8405BEE, 0x00000000, 0x00000043, 0x00000007, MakeEntity, Entity_ScriptSpring, 0x00000172, 0x00000073, 0xFFFFFFEC, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignScript, D_80240F84_8D9454, 0x00000024, 0x00000002, 0xFD050F80, 0xFE363C80, 0x00000012, 0x00000000, 0x00000043, 0x00000007, MakeEntity, Entity_ScriptSpring, 0x00000172, 0x0000000A, 0x00000014, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignScript, D_80240F84_8D9454, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802411B0_8D9680 -.word 0x00000030, 0x00000001, 0xFE363C80, 0x00000034, 0x00000004, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C85, 0xFE363C8F, 0xFE363C87, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x00000005, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, kmr_10_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0x00000001, 0xFE363C8F, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtModel, 0xFE363C83, 0x00000153, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, kmr_10_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0xFFFFFFFF, 0xFE363C8F, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000005, TranslateModel, 0xFE363C83, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C82, 0x00000000, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000033, 0x00000003, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0x00000033, 0x00000003, 0xFE363C88, 0xFE363C89, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0x00000012, 0x00000000, 0x00000043, 0x00000003, GetValueByRef, 0xFE363C8A, 0xFE363C8B, 0x0000000A, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000043, 0x00000003, SetValueByRef, 0xFE363C8A, 0x00000001, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x0000000B, 0x00000002, 0xFE363C84, 0x00000000, 0x00000046, 0x00000001, 0xFE363C84, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241510_8D99E0 -.word 0x0000004C, 0x00000001, 0xF24A8280, 0x00000030, 0x00000001, 0xFE363C80, 0x00000034, 0x00000004, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000031, 0x00000001, 0xFE363C85, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C86, 0xFE363C8F, 0xFE363C88, 0x00000043, 0x00000002, PlaySound, 0x00000165, 0x00000043, 0x00000002, PlaySound, 0x00000166, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000005, 0x00000001, 0x00000005, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, kmr_10_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0xF24A7B4D, 0xFE363C8F, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtModel, 0xFE363C83, 0x00000166, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, kmr_10_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0xF24A79B4, 0xFE363C8F, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000005, TranslateModel, 0xFE363C83, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C82, 0x00000000, 0x00000005, 0x00000001, 0x00000005, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000043, 0x00000006, kmr_10_TransformFoliage, 0xFE363C84, 0xF24A7AE7, 0xF24A7B4D, 0xFE363C8F, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtModel, 0xFE363C84, 0x00000165, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000043, 0x00000006, kmr_10_TransformFoliage, 0xFE363C84, 0xF24A7AE7, 0xF24A79B4, 0xFE363C8F, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000043, 0x00000005, TranslateModel, 0xFE363C84, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C83, 0x00000000, 0x00000030, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000005, 0x00000001, 0xFE363C84, 0x00000031, 0x00000001, 0xFE363C85, 0x00000033, 0x00000003, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000033, 0x00000003, 0xFE363C89, 0xFE363C8A, 0xFE363C8B, 0x0000000A, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0xFE363C8A, 0x00000012, 0x00000000, 0x00000043, 0x00000003, GetValueByRef, 0xFE363C8B, 0xFE363C8C, 0x0000000A, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000043, 0x00000003, SetValueByRef, 0xFE363C8B, 0x00000001, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0xFE363C8A, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C84, 0x00000000, 0x00000030, 0x00000001, 0xFE363C84, 0x00000031, 0x00000001, 0xFE363C85, 0x00000005, 0x00000001, 0xFE363C85, 0x00000033, 0x00000003, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000043, 0x0000000F, PlayEffect, 0x00000014, 0x00000000, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C85, 0x00000000, 0x00000046, 0x00000001, 0xFE363C85, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241B14_8D9FE4 -.word 0x00000001, 0x00000026 - -dlabel D_80241B1C_8D9FEC -.word 0x00000001, 0xFFFFFECF, 0x000000A3, 0x00000003 - -dlabel D_80241B2C_8D9FFC -.word D_80241B14_8D9FE4, 0x00000000, D_80241B1C_8D9FEC, 0x00000000 - -dlabel D_80241B3C_8DA00C -.word 0x00000003, 0x00000039, 0x0000003A, 0x0000003B - -dlabel D_80241B4C_8DA01C -.word 0x00000003, 0x00000036, 0x00000037, 0x00000038 - -dlabel D_80241B5C_8DA02C -.word 0x00000002, 0x00000123, 0x00000067, 0xFFFFFFE5, 0x00000170, 0x00000060, 0xFFFFFFEE - -dlabel D_80241B78_8DA048 -.word D_80241B3C_8DA00C, D_80241B4C_8DA01C, 0x00000000, D_80241B5C_8DA02C, D_80240D6C_8D923C - -dlabel D_80241B8C_8DA05C -.word 0x43A40000, 0x41200000, 0xC2100000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80241B2C_8D9FFC, 0x00000047, 0x00000005, D_802411B0_8D9680, 0x00000100, 0x0000002D, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80241B78_8DA048, 0x00000047, 0x00000005, D_80241510_8D99E0, 0x00001000, 0x0000002B, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80241510_8D99E0, 0x00100000, D_80241B8C_8DA05C, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 diff --git a/ver/us/asm/data/world/area_kmr/kmr_21/8FF160.data.s b/ver/us/asm/data/world/area_kmr/kmr_21/8FF160.data.s deleted file mode 100644 index c357320380..0000000000 --- a/ver/us/asm/data/world/area_kmr/kmr_21/8FF160.data.s +++ /dev/null @@ -1,24 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802402E0_8FF160 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80240590_8FF410, D_802402E0_8FF160, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80240330_8FF1B0 -.byte 0x00, 0x00, 0x00 - -dlabel D_80240333_8FF1B3 -.byte 0x00 - -dlabel D_80240334_8FF1B4 -.word 0x0000006A - -dlabel D_80240338_8FF1B8 -.word 0xE7000000, 0x00000000, 0xE3000A01, 0x00000000, 0xE200001C, 0x00504240, 0xFCFFA7FF, 0xFF4CFE7F, 0xE3001201, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xE3000C00, 0x00000000, 0xE3001801, 0x000000C0, 0xE3001A01, 0x00000030, 0xE3000F00, 0x00000000, 0xE3001001, 0x00000000, 0xE3000D01, 0x00000000, 0xE3001402, 0x00000C00, 0xE3001700, 0x00000000, 0xE2001E01, 0x00000000, 0x00000000, 0x00000000, 0xDF000000, 0x00000000 - -dlabel D_802403C0_8FF240 -.word 0x00000043, 0x00000001, func_80240210_8FF090, 0x00000008, 0x00000001, 0x0000000F, 0x00000056, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x000000FF, 0x00000064, 0x00000005, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000001, func_802402B4_8FF134, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x0000006A, 0x00000038, 0x00000064, 0x00000005, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000001, func_802402C8_8FF148, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000005, MakeLerp, 0x000000FF, 0x00000000, 0x00000032, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000001, func_802402B4_8FF134, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, GotoMapSpecial, 0x802407DC, 0x00000000, 0x00000006, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240590_8FF410 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFFFFFC18, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, GetCurrentPartnerID, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x000000D0, 0x000000D0, 0x000000D0, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetCamType, 0x00000000, 0x00000004, 0x00000000, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x000001B8, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0x00000000, 0x00000064, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetCamPosC, 0x00000000, 0x00000000, 0x00000041, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000044, 0x00000001, D_802403C0_8FF240, 0x00000002, 0x00000000, 0x00000001, 0x00000000 diff --git a/ver/us/asm/data/world/area_kmr/kmr_23/908B00.data.s b/ver/us/asm/data/world/area_kmr/kmr_23/908B00.data.s deleted file mode 100644 index fa2606af1a..0000000000 --- a/ver/us/asm/data/world/area_kmr/kmr_23/908B00.data.s +++ /dev/null @@ -1,84 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802410D0_908B00 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8024127C_908CAC, D_802410D0_908B00, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80241190_908BC0 -.word 0x00000024, 0x00000002, 0xFAA2B58A, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x0000000B, 0x00000002, 0xFAA2B58A, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000004, 0x00000043, 0x00000004, GotoMapSpecial, 0x802437E8, 0x00000000, 0x00000006, 0x00000012, 0x00000000, 0x00000043, 0x00000004, GotoMapSpecial, 0x802437E0, 0x00000003, 0x0000000F, 0x00000013, 0x00000000, 0x00000043, 0x00000003, FadeOutMusic, 0x00000000, 0x000007D0, 0x00000043, 0x00000001, func_80240010_907A40, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024127C_908CAC -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFFFFFFFE, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetPlayerFlagBits, 0x00200000, 0x00000001, 0x00000043, 0x00000003, InterpPlayerYaw, 0x0000005A, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010024, 0x00000043, 0x00000002, GetCurrentPartnerID, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetCamType, 0x00000000, 0x00000004, 0x00000000, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x000001B8, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0x00000000, 0x00000064, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetCamPosC, 0x00000000, 0x00000000, 0x00000041, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, D_80243730_90B160, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, D_80243748_90B178, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, D_80243760_90B190, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, D_80243778_90B1A8, 0x00000016, 0x00000001, 0x00000004, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, D_80243790_90B1C0, 0x00000016, 0x00000001, 0x00000005, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, D_802437A8_90B1D8, 0x00000016, 0x00000001, 0x00000006, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, D_802437C0_90B1F0, 0x00000023, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000044, 0x00000001, D_80241190_908BC0, 0x00000056, 0x00000000, 0x00000043, 0x00000003, FadeOutMusic, 0x00000000, 0x00000096, 0x00000043, 0x00000002, ClearAmbientSounds, 0x00000096, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000040, 0x00000000, 0x00000008, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241660_909090 -.word 0x00000000, 0x00180018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_8024168C_9090BC -.word 0x00120001, 0x00120007, 0x00130001, 0x00130007, 0x00140001, 0x00140006, 0x00150001, 0x00150005, 0x00160001, 0x00160007, 0x00170001, 0x00170007, 0x00180001, 0x00180009, 0x00000000 - -dlabel D_802416C8_9090F8 -.word 0x00000000, 0x00000000, 0x00000000, 0x01020202, 0x00000001, 0x03245464, 0x00000103, 0x54E5F6F7, 0x00010354, 0xF6F7F8F9, 0x000224E5, 0xF7F9FAFB, 0x000254F6, 0xF8FAFCFD, 0x000264F7, 0xF9FBFDFF, 0x00000000, 0x00000000, 0x02020201, 0x00000000, 0x64542403, 0x01000000, 0xF7F6E554, 0x03010000, 0xF9F8F7F6, 0x54030100, 0xFBFAF9F7, 0xE5240200, 0xFDFCFAF8, 0xF6540200, 0xFFFDFBF9, 0xF7640200, 0x000264F7, 0xF9FBFDFF, 0x000254F6, 0xF8FAFCFD, 0x000224E5, 0xF7F9FAFB, 0x00010354, 0xF6F7F8F9, 0x00000103, 0x54E5F6F7, 0x00000001, 0x03245464, 0x00000000, 0x01020202, 0x00000000, 0x00000000, 0xFFFDFBF9, 0xF7640200, 0xFDFCFAF8, 0xF6540200, 0xFBFAF9F7, 0xE5240200, 0xF9F8F7F6, 0x54030100, 0xF7F6E554, 0x03010000, 0x64542403, 0x01000000, 0x02020201, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802417C8_9091F8 -.word 0x00000000 - -dlabel D_802417CC_9091FC -.word 0x00000000 - -dlabel D_802417D0_909200 -.word 0x00000000, 0x00000000 - -dlabel D_802417D8_909208 -.word 0x00000000, 0x00000000, 0x00000000, D_802416C8_9090F8, 0x31080808, 0x08080808, 0x08000000, 0x00000000, 0xFC317FFF, 0xFFFFF438, 0xFC3127FF, 0xFFFFFE38, 0xE0E0E0FF, 0x000000FF - -dlabel D_80241810_909240 -.word 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFAA2B58B, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000005, func_80240040_907A70, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, func_80240274_907CA4, 0x0000000A, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000003, func_80240300_907D30, 0x00000014, 0x00000096, 0x00000057, 0x00000000, 0x00000043, 0x00000005, func_802403A8_907DD8, 0x00000005, 0x00000000, 0x0000003C, 0x00000096, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, func_80240494_907EC4, 0x00000001, 0x00000078, 0x00000043, 0x00000002, func_80240528_907F58, 0x0000003C, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000001, func_8024061C_90804C, 0x00000043, 0x00000003, func_802407B8_9081E8, 0x00000708, 0x00000064, 0x00000043, 0x00000005, func_8024088C_9082BC, 0x00000024, 0x00000000, 0x00000037, 0x0000003C, 0x00000056, 0x00000000, 0x00000043, 0x00000002, func_80240274_907CA4, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000003C, 0x00000024, 0x00000002, 0xFAA2B58B, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00000209, 0x00000043, 0x00000001, func_80240D14_908744, 0x00000008, 0x00000001, 0x00000010, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C81, 0x001D01A5, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x001D01A5, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0x001D01A6, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C81, 0x001D01A7, 0x00000016, 0x00000001, 0x00000003, 0x00000024, 0x00000002, 0xFE363C81, 0x001D01A8, 0x00000016, 0x00000001, 0x00000004, 0x00000024, 0x00000002, 0xFE363C81, 0x001D01A9, 0x00000016, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C81, 0x001D01AA, 0x00000016, 0x00000001, 0x00000006, 0x00000024, 0x00000002, 0xFE363C81, 0x001D01AB, 0x00000023, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0xFE363C81, 0x000000A0, 0x00000028, 0x00000043, 0x00000001, func_80240D5C_90878C, 0x00000008, 0x00000001, 0x0000000F, 0x00000024, 0x00000002, 0xFAA2B58A, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241B18_909548 -.word 0x00000043, 0x00000005, SetNpcScale, 0xFFFFFFFF, 0xF24A7DE7, 0xF24A7DE7, 0xF24A7DE7, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000014, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00040000, 0x00000001, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000000, 0x00000044, 0x00000001, D_80241810_909240, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241B98_9095C8 -.word 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00000209, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0x0000005E, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241C10_909640 -.word 0x00000000, D_80241660_909090, 0xC2200000, 0x42C00000, 0x00000000, 0x00000F01, D_80241B18_909548, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00120000, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, D_80241660_909090, 0xC2200000, 0x42C00000, 0x00000000, 0x00000F01, D_80241B98_9095C8, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00120000, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80241FF0_909A20 -.word 0x00000000, D_80241660_909090, 0xC2200000, 0x42C00000, 0x00000000, 0x00000F01, D_80241B18_909548, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130000, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, D_80241660_909090, 0xC2200000, 0x42C00000, 0x00000000, 0x00000F01, D_80241B98_9095C8, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130000, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802423D0_909E00 -.word 0x00000000, D_80241660_909090, 0xC2200000, 0x42C00000, 0x00000000, 0x00000F01, D_80241B18_909548, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140000, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, D_80241660_909090, 0xC2200000, 0x42C00000, 0x00000000, 0x00000F01, D_80241B98_9095C8, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140000, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802427B0_90A1E0 -.word 0x00000000, D_80241660_909090, 0xC2200000, 0x42C00000, 0x00000000, 0x00000F01, D_80241B18_909548, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150000, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, D_80241660_909090, 0xC2200000, 0x42C00000, 0x00000000, 0x00000F01, D_80241B98_9095C8, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150000, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80242B90_90A5C0 -.word 0x00000000, D_80241660_909090, 0xC2200000, 0x42C00000, 0x00000000, 0x00000F01, D_80241B18_909548, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00160000, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, D_80241660_909090, 0xC2200000, 0x42C00000, 0x00000000, 0x00000F01, D_80241B98_9095C8, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00160000, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80242F70_90A9A0 -.word 0x00000000, D_80241660_909090, 0xC2200000, 0x42C00000, 0x00000000, 0x00000F01, D_80241B18_909548, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170000, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, D_80241660_909090, 0xC2200000, 0x42C00000, 0x00000000, 0x00000F01, D_80241B98_9095C8, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170000, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80243350_90AD80 -.word 0x00000000, D_80241660_909090, 0xC2200000, 0x42C00000, 0x00000000, 0x00000F01, D_80241B18_909548, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00180000, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, D_80241660_909090, 0xC2200000, 0x42C00000, 0x00000000, 0x00000F01, D_80241B98_9095C8, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00180000, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80243730_90B160 -.word 0x00000002, D_80241C10_909640, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80243748_90B178 -.word 0x00000002, D_80241FF0_909A20, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80243760_90B190 -.word 0x00000002, D_802423D0_909E00, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80243778_90B1A8 -.word 0x00000002, D_802427B0_90A1E0, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80243790_90B1C0 -.word 0x00000002, D_80242B90_90A5C0, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802437A8_90B1D8 -.word 0x00000002, D_80242F70_90A9A0, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802437C0_90B1F0 -.word 0x00000002, D_80243350_90AD80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_kmr/kmr_24/90B350.data.s b/ver/us/asm/data/world/area_kmr/kmr_24/90B350.data.s deleted file mode 100644 index 8beb8f3525..0000000000 --- a/ver/us/asm/data/world/area_kmr/kmr_24/90B350.data.s +++ /dev/null @@ -1,12 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240110_90B350 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80240238_90B478, D_80240110_90B350, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80240160_90B3A0 -.word 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001E004D, 0x000000A0, 0x00000028, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_80240074_90B2B4, 0x00000008, 0x00000001, 0x0000000A, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000001, func_80240074_90B2B4, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, func_80240010_90B250, 0x00000008, 0x00000001, 0x00000064, 0x00000016, 0x00000001, 0x00000002, 0x00000023, 0x00000000, 0x00000043, 0x00000004, GotoMapSpecial, D_80240480_90B6C0, 0x00000004, 0x0000000B, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240238_90B478 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFFFFFC18, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, GetCurrentPartnerID, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x000000D0, 0x000000D0, 0x000000D0, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetCamType, 0x00000000, 0x00000004, 0x00000000, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x000001B8, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0x00000000, 0x00000064, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetCamPosC, 0x00000000, 0x00000000, 0x00000041, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000044, 0x00000001, D_80240160_90B3A0, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_kmr/kmr_30/90BBB0.data.s b/ver/us/asm/data/world/area_kmr/kmr_30/90BBB0.data.s deleted file mode 100644 index 1663db286e..0000000000 --- a/ver/us/asm/data/world/area_kmr/kmr_30/90BBB0.data.s +++ /dev/null @@ -1,9 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802404E0_90BBB0 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_802405CC_90BC9C, D_802404E0_90BBB0, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000004D, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C85, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C86, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C87, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C88, 0x00000001, 0x00000043, 0x00000001, kmr_30_UpdateTexturePanSmooth, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, kmr_30_UpdateTexturePanStepped, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802405CC_90BC9C -.word 0x00000024, 0x00000002, 0xF5DE0329, 0x0000002C, 0x00000043, 0x00000002, SetSpriteShading, 0x00010000, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x802408FC, 0x00000043, 0x00000002, EnableStatusMenu, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000003, FadeOutMusic, 0x00000000, 0x00001388, 0x00000008, 0x00000001, 0x00000186, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000006E, 0x00000000, 0x00000008, 0x00000057, 0x00000000, 0x00000044, 0x00000001, 0x80240C10, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_kmr/kmr_30/90BDB0.data.s b/ver/us/asm/data/world/area_kmr/kmr_30/90BDB0.data.s deleted file mode 100644 index 8a2a32c98e..0000000000 --- a/ver/us/asm/data/world/area_kmr/kmr_30/90BDB0.data.s +++ /dev/null @@ -1,9 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802406E0_90BDB0 -.word 0x00000000, 0x002E0024, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_8024070C_90BDDC -.word 0x00000000, D_802406E0_90BDB0, 0x00000000, 0xC47A0000, 0x00000000, 0x00000F0D, 0x00000000, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00D60004, 0x00D60004, 0x00D60004, 0x00D60004, 0x00D60004, 0x00D60004, 0x00D60004, 0x00D60004, 0x00D60004, 0x00D60004, 0x00D60004, 0x00D60004, 0x00D60004, 0x00D60004, 0x00D60004, 0x00D60004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, D_8024070C_90BDDC, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_kmr/kmr_30/90BFF0.data.s b/ver/us/asm/data/world/area_kmr/kmr_30/90BFF0.data.s deleted file mode 100644 index 931520072a..0000000000 --- a/ver/us/asm/data/world/area_kmr/kmr_30/90BFF0.data.s +++ /dev/null @@ -1,12 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240920_90BFF0 -.word 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000003, RandInt, 0x00000190, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFFD1, 0x00000027, 0x00000002, 0xFE363C81, 0xFE363C80, 0x00000043, 0x00000003, RandInt, 0x000000FA, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C82, 0x000000DC, 0x00000027, 0x00000002, 0xFE363C82, 0xFE363C80, 0x00000043, 0x00000003, RandInt, 0x000000C8, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFE3E, 0x00000027, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000043, 0x00000003, RandInt, 0x00000002, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C84, 0xFFFFFFFF, 0x00000027, 0x00000002, 0xFE363C84, 0xFE363C80, 0x00000043, 0x00000003, RandInt, 0x00000004, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C85, 0x00000002, 0x00000027, 0x00000002, 0xFE363C85, 0xFE363C80, 0x00000043, 0x00000003, RandInt, 0x00000002, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C86, 0xFFFFFFFF, 0x00000027, 0x00000002, 0xFE363C86, 0xFE363C80, 0x00000043, 0x00000003, RandInt, 0x00000005, 0xFE363C80, 0x00000026, 0x00000002, 0xFE363C87, 0xF24A7E80, 0x0000002E, 0x00000002, 0xFE363C80, 0xF24A7AE7, 0x0000002C, 0x00000002, 0xFE363C87, 0xFE363C80, 0x00000043, 0x0000000F, PlayEffect, 0x00000077, 0xFE363C8A, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0x00000046, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, func_80240310_90B9E0, 0xFE363C8F, 0x0000000B, 0x00000002, 0xFE363C8A, 0x00000002, 0x00000043, 0x00000003, RandInt, 0x00000064, 0xFE363C88, 0x0000000C, 0x00000002, 0xFE363C88, 0x00000032, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000077, 0x00000001, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0x00000046, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000077, 0x00000000, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0x00000046, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, func_80240310_90B9E0, 0xFE363C8F, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240C0C_90C2DC -.byte 0x00, 0x00, 0x00 - -dlabel D_80240C0F_90C2DF -.byte 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x02, 0x80, 0x2D, 0x0E, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x03, 0x80, 0x2D, 0x19, 0x3C, 0x00, 0x00, 0x01, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x04, 0x80, 0x2D, 0x0E, 0xF0, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x03, 0x80, 0x2C, 0xE0, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x03, 0x80, 0x2C, 0xEA, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0E, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x05, 0x80, 0x2C, 0xDC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x30, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x02, 0x80, 0x2C, 0xF4, 0xE8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x04, 0x80, 0x2C, 0xF0, 0x60, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x05, 0x80, 0x2C, 0xDC, 0xB0, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFE, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x03, 0x80, 0x2C, 0x9B, 0x98, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x05, 0x80, 0x2C, 0xB8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x05, 0x80, 0x2C, 0xBE, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x04, 0x80, 0x2C, 0xBB, 0x48, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x4A, 0x9A, 0x80, 0xF2, 0x4A, 0x4C, 0x80, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x03, 0x80, 0x2C, 0xBE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x4B, 0xE2, 0x80, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x04, 0x80, 0x2C, 0xB7, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x03, 0x80, 0x2C, 0xE0, 0x1C, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x4A, 0x82, 0x80, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x04, 0x80, 0x2C, 0xF0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x04, 0x80, 0x2C, 0xF0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x03, 0x80, 0x2C, 0xE0, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x05, 0x80, 0x2C, 0xE2, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xC2, 0xFF, 0xFF, 0xFF, 0xC4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x03, 0x80, 0x2C, 0xE0, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x00, 0x10, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x05, 0x80, 0x2C, 0xE2, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5E, 0xFF, 0xFF, 0xFF, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x05, 0x80, 0x2C, 0xE2, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x4A, 0xFF, 0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x03, 0x80, 0x2C, 0xE0, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x02, 0x80, 0x2D, 0x10, 0x24, 0xF2, 0x4A, 0x82, 0x80, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x04, 0x80, 0x2D, 0x11, 0x34, 0x00, 0x00, 0x01, 0xC2, 0xFF, 0xFF, 0xFF, 0xC4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x04, 0x80, 0x2D, 0x11, 0x34, 0x00, 0x00, 0x01, 0x40, 0xFF, 0xFF, 0xFF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x04, 0x80, 0x2D, 0x11, 0x34, 0x00, 0x00, 0x01, 0x2C, 0xFF, 0xFF, 0xFF, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x0F, 0x80, 0x2D, 0x82, 0x9C, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, 0x01, 0x72, 0xFF, 0xFF, 0xFE, 0xA2, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x4A, 0x80, 0xE7, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x02, 0x80, 0x24, 0x03, 0x10, 0xFE, 0x36, 0x3C, 0x8F, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x0F, 0x80, 0x2D, 0x82, 0x9C, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x4D, 0x00, 0x00, 0x01, 0xA4, 0xFF, 0xFF, 0xFE, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x4A, 0x80, 0xE7, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x02, 0x80, 0x24, 0x03, 0x10, 0xFE, 0x36, 0x3C, 0x8F, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x0F, 0x80, 0x2D, 0x82, 0x9C, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xE5, 0x00, 0x00, 0x01, 0x40, 0xFF, 0xFF, 0xFE, 0x52, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x4A, 0x80, 0xE7, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x02, 0x80, 0x24, 0x03, 0x10, 0xFE, 0x36, 0x3C, 0x8F, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x0F, 0x80, 0x2D, 0x82, 0x9C, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, 0x01, 0x72, 0xFF, 0xFF, 0xFE, 0xA2, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x4A, 0x80, 0xE7, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x02, 0x80, 0x24, 0x03, 0x10, 0xFE, 0x36, 0x3C, 0x8F, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x03, 0x80, 0x2D, 0x46, 0xB0, 0x00, 0x00, 0x00, 0x3C, 0xFE, 0x36, 0x3C, 0x81, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x36, 0x3C, 0x81, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x03, 0x80, 0x2D, 0x46, 0xB0, 0x00, 0x00, 0x00, 0x05, 0xFE, 0x36, 0x3C, 0x82, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x36, 0x3C, 0x82, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0xFE, 0x36, 0x3C, 0x82, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x36, 0x3C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x80, 0x24, 0x09, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0xFE, 0x36, 0x3C, 0x81, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x03, 0x80, 0x2D, 0x46, 0xB0, 0x00, 0x00, 0x00, 0x3C, 0xFE, 0x36, 0x3C, 0x80, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x36, 0x3C, 0x80, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0xFE, 0x36, 0x3C, 0x80, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x36, 0x3C, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x80, 0x24, 0x09, 0x20, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x03, 0x80, 0x2D, 0x46, 0xB0, 0x00, 0x00, 0x00, 0x3C, 0xFE, 0x36, 0x3C, 0x80, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x36, 0x3C, 0x80, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0xFE, 0x36, 0x3C, 0x80, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x03, 0x80, 0x2D, 0x46, 0xB0, 0x00, 0x00, 0x00, 0x3C, 0xFE, 0x36, 0x3C, 0x81, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x36, 0x3C, 0x81, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x03, 0x80, 0x2D, 0x46, 0xB0, 0x00, 0x00, 0x00, 0x05, 0xFE, 0x36, 0x3C, 0x82, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x36, 0x3C, 0x82, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0xFE, 0x36, 0x3C, 0x82, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x36, 0x3C, 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x80, 0x24, 0x09, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0xFE, 0x36, 0x3C, 0x81, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x03, 0x80, 0x2D, 0x46, 0xB0, 0x00, 0x00, 0x00, 0x3C, 0xFE, 0x36, 0x3C, 0x80, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x36, 0x3C, 0x80, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0xFE, 0x36, 0x3C, 0x80, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x36, 0x3C, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x80, 0x24, 0x09, 0x20, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x03, 0x80, 0x2D, 0x46, 0xB0, 0x00, 0x00, 0x00, 0x3C, 0xFE, 0x36, 0x3C, 0x80, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x36, 0x3C, 0x80, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0xFE, 0x36, 0x3C, 0x80, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x03, 0x80, 0x2C, 0x9B, 0x98, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x04, 0x80, 0x2C, 0x90, 0xFC, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x04, 0x80, 0x2C, 0x90, 0xFC, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x04, 0x80, 0x2C, 0x90, 0xFC, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x04, 0x80, 0x2C, 0x90, 0xFC, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x04, 0x80, 0x2C, 0x90, 0xFC, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x04, 0x80, 0x2C, 0x94, 0xA0, 0x00, 0x00, 0x00, 0x01, 0x80, 0x24, 0x04, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x05, 0x80, 0x2D, 0x45, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x01, 0x80, 0x2D, 0x46, 0x2C, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x02, 0x80, 0x24, 0x04, 0x5C, 0xFE, 0x36, 0x3C, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x36, 0x3C, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x58, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x0F, 0x80, 0x2D, 0x82, 0x9C, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x01, 0x18, 0xFF, 0xFF, 0xFF, 0x06, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x4A, 0x80, 0xE7, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x02, 0x80, 0x24, 0x03, 0x10, 0xFE, 0x36, 0x3C, 0x8F, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x05, 0x80, 0x2D, 0x45, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x01, 0x80, 0x2D, 0x46, 0x2C, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x36, 0x3C, 0x82, 0xF2, 0x4A, 0x88, 0xE7, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x36, 0x3C, 0x83, 0xF2, 0x4A, 0x62, 0x80, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x36, 0x3C, 0x84, 0xF2, 0x4A, 0x7C, 0xE7, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x36, 0x3C, 0x85, 0xF2, 0x4A, 0x7A, 0x7B, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x36, 0x3C, 0x82, 0xFE, 0x36, 0x3C, 0x80, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x36, 0x3C, 0x83, 0xFE, 0x36, 0x3C, 0x80, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x36, 0x3C, 0x84, 0xFE, 0x36, 0x3C, 0x80, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x36, 0x3C, 0x85, 0xFE, 0x36, 0x3C, 0x80, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x36, 0x3C, 0x85, 0xF2, 0x4A, 0x7E, 0x80, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x05, 0x80, 0x2C, 0x9A, 0x1C, 0x00, 0x00, 0x00, 0x54, 0xFE, 0x36, 0x3C, 0x85, 0xFE, 0x36, 0x3C, 0x85, 0xFE, 0x36, 0x3C, 0x85, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x05, 0x80, 0x2C, 0x97, 0xB4, 0x00, 0x00, 0x00, 0x54, 0xFE, 0x36, 0x3C, 0x82, 0xFE, 0x36, 0x3C, 0x83, 0xFE, 0x36, 0x3C, 0x84, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x36, 0x3C, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 diff --git a/ver/us/asm/data/world/area_tik/tik_25/8A93D0.data.s b/ver/us/asm/data/world/area_tik/tik_25/8A93D0.data.s index f0520ea6d3..439058ec11 100644 --- a/ver/us/asm/data/world/area_tik/tik_25/8A93D0.data.s +++ b/ver/us/asm/data/world/area_tik/tik_25/8A93D0.data.s @@ -3,10 +3,10 @@ .section .data dlabel D_80241450_8A93D0 -.word 0x0000000A, 0x00000002, 0xF8405D27, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x0000000A, 0x00000002, 0xF8405D27, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000003C, 0x00000044, 0x00000001, 0x8024083C, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D0187, 0x000000A0, 0x00000028, 0x00000043, 0x00000001, func_80240680_8A8600, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 +.word 0x0000000A, 0x00000002, 0xF8405D27, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x0000000A, 0x00000002, 0xF8405D27, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000003C, 0x00000044, 0x00000001, 0x8024083C, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D0187, 0x000000A0, 0x00000028, 0x00000043, 0x00000001, tik_25_func_80240680_8A8600, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_802414F0_8A9470 -.word 0x0000000A, 0x00000002, 0xF8405D29, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8405D29, 0x00000001, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C85, 0x000000D2, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFFCE, 0xFFFFFFEC, 0x00000008, 0x00000004, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, tik_25_SetEntityPosition, 0xFD050F80, 0xFE363C85, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000028, 0x00000002, 0xFE363C85, 0x00000002, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0xFE363C80, 0xFFFFFF79, 0x00000016, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, tik_25_SetEntityPosition, 0xFD050F80, 0xFE363C85, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000028, 0x00000002, 0xFE363C85, 0x00000002, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000006, PlaySoundAt, 0x00000048, 0x00000000, 0xFE363C85, 0xFE363C80, 0x00000000, 0x00000043, 0x00000006, PlaySoundAt, 0x00002086, 0x00000000, 0xFE363C85, 0xFE363C80, 0x00000000, 0x00000043, 0x00000002, func_80240770_8A86F0, 0xFD050F80, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 +.word 0x0000000A, 0x00000002, 0xF8405D29, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8405D29, 0x00000001, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C85, 0x000000D2, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFFCE, 0xFFFFFFEC, 0x00000008, 0x00000004, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, tik_25_SetEntityPosition, 0xFD050F80, 0xFE363C85, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000028, 0x00000002, 0xFE363C85, 0x00000002, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0xFE363C80, 0xFFFFFF79, 0x00000016, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, tik_25_SetEntityPosition, 0xFD050F80, 0xFE363C85, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000028, 0x00000002, 0xFE363C85, 0x00000002, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000006, PlaySoundAt, 0x00000048, 0x00000000, 0xFE363C85, 0xFE363C80, 0x00000000, 0x00000043, 0x00000006, PlaySoundAt, 0x00002086, 0x00000000, 0xFE363C85, 0xFE363C80, 0x00000000, 0x00000043, 0x00000002, tik_25_PlaySpringReboundAnimation, 0xFD050F80, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_802416D8_8A9658 -.word 0x0000000A, 0x00000002, 0xF8405D2A, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8405D2A, 0x00000001, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C85, 0xFFFFFF88, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFFEC, 0x0000000A, 0x00000008, 0x00000004, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, tik_25_SetEntityPosition, 0xFD050F81, 0xFE363C85, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C85, 0x00000002, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0xFE363C80, 0xFFFFFF79, 0x00000016, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, tik_25_SetEntityPosition, 0xFD050F81, 0xFE363C85, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C85, 0x00000002, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000006, PlaySoundAt, 0x00000048, 0x00000000, 0xFE363C85, 0xFE363C80, 0x00000000, 0x00000043, 0x00000006, PlaySoundAt, 0x00002086, 0x00000000, 0xFE363C85, 0xFE363C80, 0x00000000, 0x00000043, 0x00000002, func_80240770_8A86F0, 0xFD050F81, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_GiantChest, 0xFFFFFEF2, 0xFFFFFFA6, 0x00000000, 0x0000005A, 0x00000003, 0x80000000, 0x00000043, 0x00000002, AssignChestFlag, 0xF8405D27, 0x00000044, 0x00000001, D_80241450_8A93D0, 0x00000043, 0x00000007, MakeEntity, Entity_BrickBlock, 0x000000D2, 0xFFFFFFB5, 0xFFFFFFEC, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignScript, D_802414F0_8A9470, 0x0000000A, 0x00000002, 0xF8405D29, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_SimpleSpring, 0x000000D2, 0xFFFFFFCE, 0xFFFFFFEC, 0x00000000, 0x00000064, 0x80000000, 0x00000024, 0x00000002, 0xFD050F80, 0xFE363C80, 0x00000012, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_SimpleSpring, 0x00000096, 0xFFFFFF79, 0xFFFFFFEC, 0x00000000, 0x00000064, 0x80000000, 0x00000013, 0x00000000, 0x00000043, 0x00000007, MakeEntity, Entity_BrickBlock, 0xFFFFFF88, 0xFFFFFFD3, 0xFFFFFFEC, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignScript, D_802416D8_8A9658, 0x0000000A, 0x00000002, 0xF8405D2A, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_SimpleSpring, 0xFFFFFF88, 0xFFFFFFEC, 0xFFFFFFEC, 0x00000000, 0x00000064, 0x80000000, 0x00000024, 0x00000002, 0xFD050F81, 0xFE363C80, 0x00000012, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_SimpleSpring, 0xFFFFFFC4, 0xFFFFFF79, 0xFFFFFFEC, 0x00000000, 0x00000064, 0x80000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 +.word 0x0000000A, 0x00000002, 0xF8405D2A, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8405D2A, 0x00000001, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C85, 0xFFFFFF88, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFFEC, 0x0000000A, 0x00000008, 0x00000004, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, tik_25_SetEntityPosition, 0xFD050F81, 0xFE363C85, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C85, 0x00000002, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0xFE363C80, 0xFFFFFF79, 0x00000016, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, tik_25_SetEntityPosition, 0xFD050F81, 0xFE363C85, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C85, 0x00000002, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000006, PlaySoundAt, 0x00000048, 0x00000000, 0xFE363C85, 0xFE363C80, 0x00000000, 0x00000043, 0x00000006, PlaySoundAt, 0x00002086, 0x00000000, 0xFE363C85, 0xFE363C80, 0x00000000, 0x00000043, 0x00000002, tik_25_PlaySpringReboundAnimation, 0xFD050F81, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_GiantChest, 0xFFFFFEF2, 0xFFFFFFA6, 0x00000000, 0x0000005A, 0x00000003, 0x80000000, 0x00000043, 0x00000002, AssignChestFlag, 0xF8405D27, 0x00000044, 0x00000001, D_80241450_8A93D0, 0x00000043, 0x00000007, MakeEntity, Entity_BrickBlock, 0x000000D2, 0xFFFFFFB5, 0xFFFFFFEC, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignScript, D_802414F0_8A9470, 0x0000000A, 0x00000002, 0xF8405D29, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_SimpleSpring, 0x000000D2, 0xFFFFFFCE, 0xFFFFFFEC, 0x00000000, 0x00000064, 0x80000000, 0x00000024, 0x00000002, 0xFD050F80, 0xFE363C80, 0x00000012, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_SimpleSpring, 0x00000096, 0xFFFFFF79, 0xFFFFFFEC, 0x00000000, 0x00000064, 0x80000000, 0x00000013, 0x00000000, 0x00000043, 0x00000007, MakeEntity, Entity_BrickBlock, 0xFFFFFF88, 0xFFFFFFD3, 0xFFFFFFEC, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignScript, D_802416D8_8A9658, 0x0000000A, 0x00000002, 0xF8405D2A, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_SimpleSpring, 0xFFFFFF88, 0xFFFFFFEC, 0xFFFFFFEC, 0x00000000, 0x00000064, 0x80000000, 0x00000024, 0x00000002, 0xFD050F81, 0xFE363C80, 0x00000012, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_SimpleSpring, 0xFFFFFFC4, 0xFFFFFF79, 0xFFFFFFEC, 0x00000000, 0x00000064, 0x80000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_07/8D3DC0/func_80240A6C_8D482C.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_07/8D3DC0/func_80240A6C_8D482C.s deleted file mode 100644 index b6e15006a6..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_07/8D3DC0/func_80240A6C_8D482C.s +++ /dev/null @@ -1,26 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240A6C_8D482C -/* 8D482C 80240A6C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 8D4830 80240A70 AFBF0010 */ sw $ra, 0x10($sp) -/* 8D4834 80240A74 0000202D */ daddu $a0, $zero, $zero -/* 8D4838 80240A78 3C05FD05 */ lui $a1, 0xfd05 -/* 8D483C 80240A7C 0C0B1EAF */ jal evt_get_variable -/* 8D4840 80240A80 34A50F80 */ ori $a1, $a1, 0xf80 -/* 8D4844 80240A84 0C04417A */ jal get_entity_by_index -/* 8D4848 80240A88 0040202D */ daddu $a0, $v0, $zero -/* 8D484C 80240A8C 50400007 */ beql $v0, $zero, .L80240AAC -/* 8D4850 80240A90 0000102D */ daddu $v0, $zero, $zero -/* 8D4854 80240A94 84440014 */ lh $a0, 0x14($v0) -/* 8D4858 80240A98 3C050000 */ lui $a1, 0 -/* 8D485C 80240A9C 24A501E4 */ addiu $a1, $a1, 0x1e4 -/* 8D4860 80240AA0 0C048052 */ jal play_model_animation -/* 8D4864 80240AA4 00000000 */ nop -/* 8D4868 80240AA8 24020002 */ addiu $v0, $zero, 2 -.L80240AAC: -/* 8D486C 80240AAC 8FBF0010 */ lw $ra, 0x10($sp) -/* 8D4870 80240AB0 03E00008 */ jr $ra -/* 8D4874 80240AB4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 8D4878 80240AB8 00000000 */ nop -/* 8D487C 80240ABC 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_10/8D84D0/func_802402BC_8D878C.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_10/8D84D0/func_802402BC_8D878C.s deleted file mode 100644 index eea02fdf07..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_10/8D84D0/func_802402BC_8D878C.s +++ /dev/null @@ -1,23 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802402BC_8D878C -/* 8D878C 802402BC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 8D8790 802402C0 AFBF0010 */ sw $ra, 0x10($sp) -/* 8D8794 802402C4 8C82000C */ lw $v0, 0xc($a0) -/* 8D8798 802402C8 0C0B1EAF */ jal evt_get_variable -/* 8D879C 802402CC 8C450000 */ lw $a1, ($v0) -/* 8D87A0 802402D0 0C04417A */ jal get_entity_by_index -/* 8D87A4 802402D4 0040202D */ daddu $a0, $v0, $zero -/* 8D87A8 802402D8 50400007 */ beql $v0, $zero, .L802402F8 -/* 8D87AC 802402DC 0000102D */ daddu $v0, $zero, $zero -/* 8D87B0 802402E0 84440014 */ lh $a0, 0x14($v0) -/* 8D87B4 802402E4 3C050000 */ lui $a1, 0 -/* 8D87B8 802402E8 24A501E4 */ addiu $a1, $a1, 0x1e4 -/* 8D87BC 802402EC 0C048052 */ jal play_model_animation -/* 8D87C0 802402F0 00000000 */ nop -/* 8D87C4 802402F4 24020002 */ addiu $v0, $zero, 2 -.L802402F8: -/* 8D87C8 802402F8 8FBF0010 */ lw $ra, 0x10($sp) -/* 8D87CC 802402FC 03E00008 */ jr $ra -/* 8D87D0 80240300 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_21/8FEE80/func_80240000_8FEE80.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_21/8FEE80/func_80240000_8FEE80.s deleted file mode 100644 index f011cc4309..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_21/8FEE80/func_80240000_8FEE80.s +++ /dev/null @@ -1,8 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240000_8FEE80 -/* 8FEE80 80240000 03E00008 */ jr $ra -/* 8FEE84 80240004 24020001 */ addiu $v0, $zero, 1 -/* 8FEE88 80240008 00000000 */ nop -/* 8FEE8C 8024000C 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_21/8FEE90/func_80240210_8FF090.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_21/8FEE90/func_80240210_8FF090.s deleted file mode 100644 index db0ae3b496..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_21/8FEE90/func_80240210_8FF090.s +++ /dev/null @@ -1,45 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel D_802407D0_8FF650 -.ascii "title_data\0\0kmr_22\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - -.section .text - -glabel func_80240210_8FF090 -/* 8FF090 80240210 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 8FF094 80240214 3C048024 */ lui $a0, %hi(D_802407D0_8FF650) -/* 8FF098 80240218 248407D0 */ addiu $a0, $a0, %lo(D_802407D0_8FF650) -/* 8FF09C 8024021C 27A50010 */ addiu $a1, $sp, 0x10 -/* 8FF0A0 80240220 AFBF0020 */ sw $ra, 0x20($sp) -/* 8FF0A4 80240224 AFB1001C */ sw $s1, 0x1c($sp) -/* 8FF0A8 80240228 0C016B3A */ jal load_asset_by_name -/* 8FF0AC 8024022C AFB00018 */ sw $s0, 0x18($sp) -/* 8FF0B0 80240230 8FA40010 */ lw $a0, 0x10($sp) -/* 8FF0B4 80240234 0C00AB39 */ jal heap_malloc -/* 8FF0B8 80240238 0040882D */ daddu $s1, $v0, $zero -/* 8FF0BC 8024023C 0220202D */ daddu $a0, $s1, $zero -/* 8FF0C0 80240240 0040282D */ daddu $a1, $v0, $zero -/* 8FF0C4 80240244 3C108024 */ lui $s0, %hi(tik_07_SuperBlock_EndGlowEffect) -/* 8FF0C8 80240248 261007F0 */ addiu $s0, $s0, %lo(tik_07_SuperBlock_EndGlowEffect) -/* 8FF0CC 8024024C 0C01BB7C */ jal decode_yay0 -/* 8FF0D0 80240250 AE050000 */ sw $a1, ($s0) -/* 8FF0D4 80240254 0C00AB1E */ jal general_heap_free -/* 8FF0D8 80240258 0220202D */ daddu $a0, $s1, $zero -/* 8FF0DC 8024025C 8E030000 */ lw $v1, ($s0) -/* 8FF0E0 80240260 8C620000 */ lw $v0, ($v1) -/* 8FF0E4 80240264 3C058024 */ lui $a1, %hi(func_80240010_8FEE90) -/* 8FF0E8 80240268 24A50010 */ addiu $a1, $a1, %lo(func_80240010_8FEE90) -/* 8FF0EC 8024026C 00431021 */ addu $v0, $v0, $v1 -/* 8FF0F0 80240270 3C018024 */ lui $at, %hi(kmr_07_StationaryAI_Main) -/* 8FF0F4 80240274 AC2207F4 */ sw $v0, %lo(kmr_07_StationaryAI_Main)($at) -/* 8FF0F8 80240278 0C048C8F */ jal create_generic_entity_frontUI -/* 8FF0FC 8024027C 0000202D */ daddu $a0, $zero, $zero -/* 8FF100 80240280 8FBF0020 */ lw $ra, 0x20($sp) -/* 8FF104 80240284 8FB1001C */ lw $s1, 0x1c($sp) -/* 8FF108 80240288 8FB00018 */ lw $s0, 0x18($sp) -/* 8FF10C 8024028C 24020002 */ addiu $v0, $zero, 2 -/* 8FF110 80240290 03E00008 */ jr $ra -/* 8FF114 80240294 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_21/8FEE90/func_80240298_8FF118.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_21/8FEE90/func_80240298_8FF118.s deleted file mode 100644 index 66963fd794..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_21/8FEE90/func_80240298_8FF118.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240298_8FF118 -/* 8FF118 80240298 3C028007 */ lui $v0, %hi(gGameStatusPtr) -/* 8FF11C 8024029C 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) -/* 8FF120 802402A0 8C420010 */ lw $v0, 0x10($v0) -/* 8FF124 802402A4 30429000 */ andi $v0, $v0, 0x9000 -/* 8FF128 802402A8 0002102B */ sltu $v0, $zero, $v0 -/* 8FF12C 802402AC 03E00008 */ jr $ra -/* 8FF130 802402B0 00021040 */ sll $v0, $v0, 1 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_21/8FEE90/func_802402B4_8FF134.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_21/8FEE90/func_802402B4_8FF134.s deleted file mode 100644 index 83fe9cbe3b..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_21/8FEE90/func_802402B4_8FF134.s +++ /dev/null @@ -1,9 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802402B4_8FF134 -/* 8FF134 802402B4 8C820084 */ lw $v0, 0x84($a0) -/* 8FF138 802402B8 3C018024 */ lui $at, %hi(D_80240330_8FF1B0) -/* 8FF13C 802402BC AC220330 */ sw $v0, %lo(D_80240330_8FF1B0)($at) -/* 8FF140 802402C0 03E00008 */ jr $ra -/* 8FF144 802402C4 24020002 */ addiu $v0, $zero, 2 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_21/8FEE90/func_802402C8_8FF148.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_21/8FEE90/func_802402C8_8FF148.s deleted file mode 100644 index 5406abaa81..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_21/8FEE90/func_802402C8_8FF148.s +++ /dev/null @@ -1,10 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802402C8_8FF148 -/* 8FF148 802402C8 8C820084 */ lw $v0, 0x84($a0) -/* 8FF14C 802402CC 3C018024 */ lui $at, %hi(D_80240334_8FF1B4) -/* 8FF150 802402D0 AC220334 */ sw $v0, %lo(D_80240334_8FF1B4)($at) -/* 8FF154 802402D4 03E00008 */ jr $ra -/* 8FF158 802402D8 24020002 */ addiu $v0, $zero, 2 -/* 8FF15C 802402DC 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A30/func_80240000_907A30.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A30/func_80240000_907A30.s deleted file mode 100644 index ebd75cbdb9..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A30/func_80240000_907A30.s +++ /dev/null @@ -1,8 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240000_907A30 -/* 907A30 80240000 03E00008 */ jr $ra -/* 907A34 80240004 24020001 */ addiu $v0, $zero, 1 -/* 907A38 80240008 00000000 */ nop -/* 907A3C 8024000C 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240010_907A40.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240010_907A40.s deleted file mode 100644 index 0461747371..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240010_907A40.s +++ /dev/null @@ -1,16 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240010_907A40 -/* 907A40 80240010 3C014000 */ lui $at, 0x4000 -/* 907A44 80240014 44816000 */ mtc1 $at, $f12 -/* 907A48 80240018 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 907A4C 8024001C AFBF0010 */ sw $ra, 0x10($sp) -/* 907A50 80240020 0C00AFB7 */ jal set_curtain_scale_goal -/* 907A54 80240024 00000000 */ nop -/* 907A58 80240028 0C00AFC1 */ jal set_curtain_draw_callback -/* 907A5C 8024002C 0000202D */ daddu $a0, $zero, $zero -/* 907A60 80240030 8FBF0010 */ lw $ra, 0x10($sp) -/* 907A64 80240034 24020002 */ addiu $v0, $zero, 2 -/* 907A68 80240038 03E00008 */ jr $ra -/* 907A6C 8024003C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240040_907A70.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240040_907A70.s deleted file mode 100644 index b637b00cf0..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240040_907A70.s +++ /dev/null @@ -1,149 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240040_907A70 -/* 907A70 80240040 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 907A74 80240044 AFB30024 */ sw $s3, 0x24($sp) -/* 907A78 80240048 0080982D */ daddu $s3, $a0, $zero -/* 907A7C 8024004C AFB00018 */ sw $s0, 0x18($sp) -/* 907A80 80240050 00A0802D */ daddu $s0, $a1, $zero -/* 907A84 80240054 AFBF0028 */ sw $ra, 0x28($sp) -/* 907A88 80240058 AFB20020 */ sw $s2, 0x20($sp) -/* 907A8C 8024005C AFB1001C */ sw $s1, 0x1c($sp) -/* 907A90 80240060 8E71000C */ lw $s1, 0xc($s3) -/* 907A94 80240064 0C00EAD2 */ jal get_npc_safe -/* 907A98 80240068 0000202D */ daddu $a0, $zero, $zero -/* 907A9C 8024006C 12000037 */ beqz $s0, .L8024014C -/* 907AA0 80240070 0040902D */ daddu $s2, $v0, $zero -/* 907AA4 80240074 0C00AB39 */ jal heap_malloc -/* 907AA8 80240078 24040030 */ addiu $a0, $zero, 0x30 -/* 907AAC 8024007C 0040802D */ daddu $s0, $v0, $zero -/* 907AB0 80240080 0260202D */ daddu $a0, $s3, $zero -/* 907AB4 80240084 3C05FD05 */ lui $a1, 0xfd05 -/* 907AB8 80240088 34A50F80 */ ori $a1, $a1, 0xf80 -/* 907ABC 8024008C 0200302D */ daddu $a2, $s0, $zero -/* 907AC0 80240090 0C0B2026 */ jal evt_set_variable -/* 907AC4 80240094 AE700060 */ sw $s0, 0x60($s3) -/* 907AC8 80240098 8E250000 */ lw $a1, ($s1) -/* 907ACC 8024009C 26310004 */ addiu $s1, $s1, 4 -/* 907AD0 802400A0 0C0B1EAF */ jal evt_get_variable -/* 907AD4 802400A4 0260202D */ daddu $a0, $s3, $zero -/* 907AD8 802400A8 A6020022 */ sh $v0, 0x22($s0) -/* 907ADC 802400AC 8E250000 */ lw $a1, ($s1) -/* 907AE0 802400B0 26310004 */ addiu $s1, $s1, 4 -/* 907AE4 802400B4 0C0B210B */ jal evt_get_float_variable -/* 907AE8 802400B8 0260202D */ daddu $a0, $s3, $zero -/* 907AEC 802400BC E6000000 */ swc1 $f0, ($s0) -/* 907AF0 802400C0 8E250000 */ lw $a1, ($s1) -/* 907AF4 802400C4 26310004 */ addiu $s1, $s1, 4 -/* 907AF8 802400C8 0C0B210B */ jal evt_get_float_variable -/* 907AFC 802400CC 0260202D */ daddu $a0, $s3, $zero -/* 907B00 802400D0 E6000004 */ swc1 $f0, 4($s0) -/* 907B04 802400D4 8E250000 */ lw $a1, ($s1) -/* 907B08 802400D8 0C0B210B */ jal evt_get_float_variable -/* 907B0C 802400DC 0260202D */ daddu $a0, $s3, $zero -/* 907B10 802400E0 E6000008 */ swc1 $f0, 8($s0) -/* 907B14 802400E4 3C013F80 */ lui $at, 0x3f80 -/* 907B18 802400E8 44810000 */ mtc1 $at, $f0 -/* 907B1C 802400EC 24020016 */ addiu $v0, $zero, 0x16 -/* 907B20 802400F0 AE000010 */ sw $zero, 0x10($s0) -/* 907B24 802400F4 A600001C */ sh $zero, 0x1c($s0) -/* 907B28 802400F8 A6000024 */ sh $zero, 0x24($s0) -/* 907B2C 802400FC A600001E */ sh $zero, 0x1e($s0) -/* 907B30 80240100 A24000AC */ sb $zero, 0xac($s2) -/* 907B34 80240104 A24200AA */ sb $v0, 0xaa($s2) -/* 907B38 80240108 AFA00014 */ sw $zero, 0x14($sp) -/* 907B3C 8024010C E7A00010 */ swc1 $f0, 0x10($sp) -/* 907B40 80240110 8E050000 */ lw $a1, ($s0) -/* 907B44 80240114 8E060004 */ lw $a2, 4($s0) -/* 907B48 80240118 8E070008 */ lw $a3, 8($s0) -/* 907B4C 8024011C 0C01C9AC */ jal fx_spirit_card -/* 907B50 80240120 24040001 */ addiu $a0, $zero, 1 -/* 907B54 80240124 AE020028 */ sw $v0, 0x28($s0) -/* 907B58 80240128 8C43000C */ lw $v1, 0xc($v0) -/* 907B5C 8024012C 92020023 */ lbu $v0, 0x23($s0) -/* 907B60 80240130 A0620034 */ sb $v0, 0x34($v1) -/* 907B64 80240134 8E020028 */ lw $v0, 0x28($s0) -/* 907B68 80240138 8C42000C */ lw $v0, 0xc($v0) -/* 907B6C 8024013C 3C048024 */ lui $a0, %hi(func_80240DA4_9087D4) -/* 907B70 80240140 24840DA4 */ addiu $a0, $a0, %lo(func_80240DA4_9087D4) -/* 907B74 80240144 0C00AFC1 */ jal set_curtain_draw_callback -/* 907B78 80240148 AC400020 */ sw $zero, 0x20($v0) -.L8024014C: -/* 907B7C 8024014C 8E700060 */ lw $s0, 0x60($s3) -/* 907B80 80240150 3C014120 */ lui $at, 0x4120 -/* 907B84 80240154 44811000 */ mtc1 $at, $f2 -/* 907B88 80240158 C6000000 */ lwc1 $f0, ($s0) -/* 907B8C 8024015C E6400038 */ swc1 $f0, 0x38($s2) -/* 907B90 80240160 C6000004 */ lwc1 $f0, 4($s0) -/* 907B94 80240164 E640003C */ swc1 $f0, 0x3c($s2) -/* 907B98 80240168 C6000008 */ lwc1 $f0, 8($s0) -/* 907B9C 8024016C 0000882D */ daddu $s1, $zero, $zero -/* 907BA0 80240170 46020000 */ add.s $f0, $f0, $f2 -/* 907BA4 80240174 0260202D */ daddu $a0, $s3, $zero -/* 907BA8 80240178 3C05FAA2 */ lui $a1, 0xfaa2 -/* 907BAC 8024017C E6400040 */ swc1 $f0, 0x40($s2) -/* 907BB0 80240180 C6000010 */ lwc1 $f0, 0x10($s0) -/* 907BB4 80240184 34A5B58B */ ori $a1, $a1, 0xb58b -/* 907BB8 80240188 0C0B1EAF */ jal evt_get_variable -/* 907BBC 8024018C E6400048 */ swc1 $f0, 0x48($s2) -/* 907BC0 80240190 14400018 */ bnez $v0, .L802401F4 -/* 907BC4 80240194 00000000 */ nop -/* 907BC8 80240198 C6020010 */ lwc1 $f2, 0x10($s0) -/* 907BCC 8024019C 3C0142B4 */ lui $at, 0x42b4 -/* 907BD0 802401A0 44810000 */ mtc1 $at, $f0 -/* 907BD4 802401A4 00000000 */ nop -/* 907BD8 802401A8 4602003C */ c.lt.s $f0, $f2 -/* 907BDC 802401AC 00000000 */ nop -/* 907BE0 802401B0 45000008 */ bc1f .L802401D4 -/* 907BE4 802401B4 00000000 */ nop -/* 907BE8 802401B8 3C014387 */ lui $at, 0x4387 -/* 907BEC 802401BC 44810000 */ mtc1 $at, $f0 -/* 907BF0 802401C0 00000000 */ nop -/* 907BF4 802401C4 4600103C */ c.lt.s $f2, $f0 -/* 907BF8 802401C8 00000000 */ nop -/* 907BFC 802401CC 45030001 */ bc1tl .L802401D4 -/* 907C00 802401D0 24110001 */ addiu $s1, $zero, 1 -.L802401D4: -/* 907C04 802401D4 86020022 */ lh $v0, 0x22($s0) -/* 907C08 802401D8 00111880 */ sll $v1, $s1, 2 -/* 907C0C 802401DC 000210C0 */ sll $v0, $v0, 3 -/* 907C10 802401E0 00621821 */ addu $v1, $v1, $v0 -/* 907C14 802401E4 3C028024 */ lui $v0, %hi(D_8024168C_9090BC) -/* 907C18 802401E8 00431021 */ addu $v0, $v0, $v1 -/* 907C1C 802401EC 8C42168C */ lw $v0, %lo(D_8024168C_9090BC)($v0) -/* 907C20 802401F0 AE420028 */ sw $v0, 0x28($s2) -.L802401F4: -/* 907C24 802401F4 8E020028 */ lw $v0, 0x28($s0) -/* 907C28 802401F8 10400016 */ beqz $v0, .L80240254 -/* 907C2C 802401FC 00000000 */ nop -/* 907C30 80240200 8C42000C */ lw $v0, 0xc($v0) -/* 907C34 80240204 C6000010 */ lwc1 $f0, 0x10($s0) -/* 907C38 80240208 3C014000 */ lui $at, 0x4000 -/* 907C3C 8024020C 44811000 */ mtc1 $at, $f2 -/* 907C40 80240210 E4400024 */ swc1 $f0, 0x24($v0) -/* 907C44 80240214 C6000000 */ lwc1 $f0, ($s0) -/* 907C48 80240218 8E020028 */ lw $v0, 0x28($s0) -/* 907C4C 8024021C 46020001 */ sub.s $f0, $f0, $f2 -/* 907C50 80240220 8C42000C */ lw $v0, 0xc($v0) -/* 907C54 80240224 3C014170 */ lui $at, 0x4170 -/* 907C58 80240228 44811000 */ mtc1 $at, $f2 -/* 907C5C 8024022C E4400004 */ swc1 $f0, 4($v0) -/* 907C60 80240230 C6000004 */ lwc1 $f0, 4($s0) -/* 907C64 80240234 8E020028 */ lw $v0, 0x28($s0) -/* 907C68 80240238 46020000 */ add.s $f0, $f0, $f2 -/* 907C6C 8024023C 8C42000C */ lw $v0, 0xc($v0) -/* 907C70 80240240 E4400008 */ swc1 $f0, 8($v0) -/* 907C74 80240244 8E020028 */ lw $v0, 0x28($s0) -/* 907C78 80240248 C6000008 */ lwc1 $f0, 8($s0) -/* 907C7C 8024024C 8C42000C */ lw $v0, 0xc($v0) -/* 907C80 80240250 E440000C */ swc1 $f0, 0xc($v0) -.L80240254: -/* 907C84 80240254 8FBF0028 */ lw $ra, 0x28($sp) -/* 907C88 80240258 8FB30024 */ lw $s3, 0x24($sp) -/* 907C8C 8024025C 8FB20020 */ lw $s2, 0x20($sp) -/* 907C90 80240260 8FB1001C */ lw $s1, 0x1c($sp) -/* 907C94 80240264 8FB00018 */ lw $s0, 0x18($sp) -/* 907C98 80240268 0000102D */ daddu $v0, $zero, $zero -/* 907C9C 8024026C 03E00008 */ jr $ra -/* 907CA0 80240270 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240274_907CA4.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240274_907CA4.s deleted file mode 100644 index 38eaaf712e..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240274_907CA4.s +++ /dev/null @@ -1,41 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240274_907CA4 -/* 907CA4 80240274 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 907CA8 80240278 AFB20018 */ sw $s2, 0x18($sp) -/* 907CAC 8024027C 0080902D */ daddu $s2, $a0, $zero -/* 907CB0 80240280 AFB00010 */ sw $s0, 0x10($sp) -/* 907CB4 80240284 00A0802D */ daddu $s0, $a1, $zero -/* 907CB8 80240288 3C05FD05 */ lui $a1, 0xfd05 -/* 907CBC 8024028C AFBF0020 */ sw $ra, 0x20($sp) -/* 907CC0 80240290 AFB3001C */ sw $s3, 0x1c($sp) -/* 907CC4 80240294 AFB10014 */ sw $s1, 0x14($sp) -/* 907CC8 80240298 8E53000C */ lw $s3, 0xc($s2) -/* 907CCC 8024029C 0C0B1EAF */ jal evt_get_variable -/* 907CD0 802402A0 34A50F80 */ ori $a1, $a1, 0xf80 -/* 907CD4 802402A4 12000006 */ beqz $s0, .L802402C0 -/* 907CD8 802402A8 0040882D */ daddu $s1, $v0, $zero -/* 907CDC 802402AC A6200020 */ sh $zero, 0x20($s1) -/* 907CE0 802402B0 8E650000 */ lw $a1, ($s3) -/* 907CE4 802402B4 0C0B210B */ jal evt_get_float_variable -/* 907CE8 802402B8 0240202D */ daddu $a0, $s2, $zero -/* 907CEC 802402BC E6200014 */ swc1 $f0, 0x14($s1) -.L802402C0: -/* 907CF0 802402C0 86220020 */ lh $v0, 0x20($s1) -/* 907CF4 802402C4 14400007 */ bnez $v0, .L802402E4 -/* 907CF8 802402C8 24020002 */ addiu $v0, $zero, 2 -/* 907CFC 802402CC C6200010 */ lwc1 $f0, 0x10($s1) -/* 907D00 802402D0 C62C0014 */ lwc1 $f12, 0x14($s1) -/* 907D04 802402D4 0C00A6C9 */ jal clamp_angle -/* 907D08 802402D8 460C0300 */ add.s $f12, $f0, $f12 -/* 907D0C 802402DC 0000102D */ daddu $v0, $zero, $zero -/* 907D10 802402E0 E6200010 */ swc1 $f0, 0x10($s1) -.L802402E4: -/* 907D14 802402E4 8FBF0020 */ lw $ra, 0x20($sp) -/* 907D18 802402E8 8FB3001C */ lw $s3, 0x1c($sp) -/* 907D1C 802402EC 8FB20018 */ lw $s2, 0x18($sp) -/* 907D20 802402F0 8FB10014 */ lw $s1, 0x14($sp) -/* 907D24 802402F4 8FB00010 */ lw $s0, 0x10($sp) -/* 907D28 802402F8 03E00008 */ jr $ra -/* 907D2C 802402FC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240300_907D30.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240300_907D30.s deleted file mode 100644 index d1f2661fe4..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240300_907D30.s +++ /dev/null @@ -1,47 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240300_907D30 -/* 907D30 80240300 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 907D34 80240304 AFB10014 */ sw $s1, 0x14($sp) -/* 907D38 80240308 0080882D */ daddu $s1, $a0, $zero -/* 907D3C 8024030C AFBF0018 */ sw $ra, 0x18($sp) -/* 907D40 80240310 AFB00010 */ sw $s0, 0x10($sp) -/* 907D44 80240314 8E30000C */ lw $s0, 0xc($s1) -/* 907D48 80240318 50A00011 */ beql $a1, $zero, .L80240360 -/* 907D4C 8024031C 0220202D */ daddu $a0, $s1, $zero -/* 907D50 80240320 8E050000 */ lw $a1, ($s0) -/* 907D54 80240324 0C0B210B */ jal evt_get_float_variable -/* 907D58 80240328 26100004 */ addiu $s0, $s0, 4 -/* 907D5C 8024032C E6200074 */ swc1 $f0, 0x74($s1) -/* 907D60 80240330 8E050000 */ lw $a1, ($s0) -/* 907D64 80240334 0C0B1EAF */ jal evt_get_variable -/* 907D68 80240338 0220202D */ daddu $a0, $s1, $zero -/* 907D6C 8024033C C6200074 */ lwc1 $f0, 0x74($s1) -/* 907D70 80240340 44821000 */ mtc1 $v0, $f2 -/* 907D74 80240344 00000000 */ nop -/* 907D78 80240348 468010A0 */ cvt.s.w $f2, $f2 -/* 907D7C 8024034C AE220078 */ sw $v0, 0x78($s1) -/* 907D80 80240350 AE200070 */ sw $zero, 0x70($s1) -/* 907D84 80240354 46020003 */ div.s $f0, $f0, $f2 -/* 907D88 80240358 E6200074 */ swc1 $f0, 0x74($s1) -/* 907D8C 8024035C 0220202D */ daddu $a0, $s1, $zero -.L80240360: -/* 907D90 80240360 3C05FD05 */ lui $a1, 0xfd05 -/* 907D94 80240364 0C0B1EAF */ jal evt_get_variable -/* 907D98 80240368 34A50F80 */ ori $a1, $a1, 0xf80 -/* 907D9C 8024036C C4400014 */ lwc1 $f0, 0x14($v0) -/* 907DA0 80240370 C6220074 */ lwc1 $f2, 0x74($s1) -/* 907DA4 80240374 46020000 */ add.s $f0, $f0, $f2 -/* 907DA8 80240378 E4400014 */ swc1 $f0, 0x14($v0) -/* 907DAC 8024037C 8E230070 */ lw $v1, 0x70($s1) -/* 907DB0 80240380 8E220078 */ lw $v0, 0x78($s1) -/* 907DB4 80240384 24630001 */ addiu $v1, $v1, 1 -/* 907DB8 80240388 0062102A */ slt $v0, $v1, $v0 -/* 907DBC 8024038C AE230070 */ sw $v1, 0x70($s1) -/* 907DC0 80240390 8FBF0018 */ lw $ra, 0x18($sp) -/* 907DC4 80240394 8FB10014 */ lw $s1, 0x14($sp) -/* 907DC8 80240398 8FB00010 */ lw $s0, 0x10($sp) -/* 907DCC 8024039C 38420001 */ xori $v0, $v0, 1 -/* 907DD0 802403A0 03E00008 */ jr $ra -/* 907DD4 802403A4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_802403A8_907DD8.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_802403A8_907DD8.s deleted file mode 100644 index 59a7963b2b..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_802403A8_907DD8.s +++ /dev/null @@ -1,64 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802403A8_907DD8 -/* 907DD8 802403A8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 907DDC 802403AC AFB20020 */ sw $s2, 0x20($sp) -/* 907DE0 802403B0 0080902D */ daddu $s2, $a0, $zero -/* 907DE4 802403B4 AFB00018 */ sw $s0, 0x18($sp) -/* 907DE8 802403B8 00A0802D */ daddu $s0, $a1, $zero -/* 907DEC 802403BC 3C05FD05 */ lui $a1, 0xfd05 -/* 907DF0 802403C0 AFBF0028 */ sw $ra, 0x28($sp) -/* 907DF4 802403C4 AFB30024 */ sw $s3, 0x24($sp) -/* 907DF8 802403C8 AFB1001C */ sw $s1, 0x1c($sp) -/* 907DFC 802403CC 8E51000C */ lw $s1, 0xc($s2) -/* 907E00 802403D0 0C0B1EAF */ jal evt_get_variable -/* 907E04 802403D4 34A50F80 */ ori $a1, $a1, 0xf80 -/* 907E08 802403D8 12000015 */ beqz $s0, .L80240430 -/* 907E0C 802403DC 0040982D */ daddu $s3, $v0, $zero -/* 907E10 802403E0 AE400070 */ sw $zero, 0x70($s2) -/* 907E14 802403E4 8E250000 */ lw $a1, ($s1) -/* 907E18 802403E8 26310004 */ addiu $s1, $s1, 4 -/* 907E1C 802403EC 0C0B1EAF */ jal evt_get_variable -/* 907E20 802403F0 0240202D */ daddu $a0, $s2, $zero -/* 907E24 802403F4 AE420084 */ sw $v0, 0x84($s2) -/* 907E28 802403F8 8E250000 */ lw $a1, ($s1) -/* 907E2C 802403FC 26310004 */ addiu $s1, $s1, 4 -/* 907E30 80240400 0C0B1EAF */ jal evt_get_variable -/* 907E34 80240404 0240202D */ daddu $a0, $s2, $zero -/* 907E38 80240408 AE420074 */ sw $v0, 0x74($s2) -/* 907E3C 8024040C 8E250000 */ lw $a1, ($s1) -/* 907E40 80240410 26310004 */ addiu $s1, $s1, 4 -/* 907E44 80240414 0C0B1EAF */ jal evt_get_variable -/* 907E48 80240418 0240202D */ daddu $a0, $s2, $zero -/* 907E4C 8024041C AE420078 */ sw $v0, 0x78($s2) -/* 907E50 80240420 8E250000 */ lw $a1, ($s1) -/* 907E54 80240424 0C0B1EAF */ jal evt_get_variable -/* 907E58 80240428 0240202D */ daddu $a0, $s2, $zero -/* 907E5C 8024042C AE42007C */ sw $v0, 0x7c($s2) -.L80240430: -/* 907E60 80240430 C6400074 */ lwc1 $f0, 0x74($s2) -/* 907E64 80240434 46800020 */ cvt.s.w $f0, $f0 -/* 907E68 80240438 44050000 */ mfc1 $a1, $f0 -/* 907E6C 8024043C C6400078 */ lwc1 $f0, 0x78($s2) -/* 907E70 80240440 46800020 */ cvt.s.w $f0, $f0 -/* 907E74 80240444 8E42007C */ lw $v0, 0x7c($s2) -/* 907E78 80240448 44060000 */ mfc1 $a2, $f0 -/* 907E7C 8024044C AFA20010 */ sw $v0, 0x10($sp) -/* 907E80 80240450 8E440084 */ lw $a0, 0x84($s2) -/* 907E84 80240454 0C00A8ED */ jal update_lerp -/* 907E88 80240458 8E470070 */ lw $a3, 0x70($s2) -/* 907E8C 8024045C E6600004 */ swc1 $f0, 4($s3) -/* 907E90 80240460 8E430070 */ lw $v1, 0x70($s2) -/* 907E94 80240464 8E42007C */ lw $v0, 0x7c($s2) -/* 907E98 80240468 24630001 */ addiu $v1, $v1, 1 -/* 907E9C 8024046C 0062102A */ slt $v0, $v1, $v0 -/* 907EA0 80240470 AE430070 */ sw $v1, 0x70($s2) -/* 907EA4 80240474 8FBF0028 */ lw $ra, 0x28($sp) -/* 907EA8 80240478 8FB30024 */ lw $s3, 0x24($sp) -/* 907EAC 8024047C 8FB20020 */ lw $s2, 0x20($sp) -/* 907EB0 80240480 8FB1001C */ lw $s1, 0x1c($sp) -/* 907EB4 80240484 8FB00018 */ lw $s0, 0x18($sp) -/* 907EB8 80240488 38420001 */ xori $v0, $v0, 1 -/* 907EBC 8024048C 03E00008 */ jr $ra -/* 907EC0 80240490 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240494_907EC4.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240494_907EC4.s deleted file mode 100644 index 75a529614c..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240494_907EC4.s +++ /dev/null @@ -1,41 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240494_907EC4 -/* 907EC4 80240494 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 907EC8 80240498 AFB1001C */ sw $s1, 0x1c($sp) -/* 907ECC 8024049C 0080882D */ daddu $s1, $a0, $zero -/* 907ED0 802404A0 AFBF0020 */ sw $ra, 0x20($sp) -/* 907ED4 802404A4 AFB00018 */ sw $s0, 0x18($sp) -/* 907ED8 802404A8 F7B40028 */ sdc1 $f20, 0x28($sp) -/* 907EDC 802404AC 8E30000C */ lw $s0, 0xc($s1) -/* 907EE0 802404B0 8E050000 */ lw $a1, ($s0) -/* 907EE4 802404B4 0C0B210B */ jal evt_get_float_variable -/* 907EE8 802404B8 26100004 */ addiu $s0, $s0, 4 -/* 907EEC 802404BC 0220202D */ daddu $a0, $s1, $zero -/* 907EF0 802404C0 8E050000 */ lw $a1, ($s0) -/* 907EF4 802404C4 0C0B1EAF */ jal evt_get_variable -/* 907EF8 802404C8 46000506 */ mov.s $f20, $f0 -/* 907EFC 802404CC 0220202D */ daddu $a0, $s1, $zero -/* 907F00 802404D0 3C05FD05 */ lui $a1, 0xfd05 -/* 907F04 802404D4 34A50F80 */ ori $a1, $a1, 0xf80 -/* 907F08 802404D8 0C0B1EAF */ jal evt_get_variable -/* 907F0C 802404DC 0040802D */ daddu $s0, $v0, $zero -/* 907F10 802404E0 C4420004 */ lwc1 $f2, 4($v0) -/* 907F14 802404E4 3C014180 */ lui $at, 0x4180 -/* 907F18 802404E8 44810000 */ mtc1 $at, $f0 -/* 907F1C 802404EC E7B40010 */ swc1 $f20, 0x10($sp) -/* 907F20 802404F0 AFB00014 */ sw $s0, 0x14($sp) -/* 907F24 802404F4 46001080 */ add.s $f2, $f2, $f0 -/* 907F28 802404F8 8C450000 */ lw $a1, ($v0) -/* 907F2C 802404FC 8C470008 */ lw $a3, 8($v0) -/* 907F30 80240500 44061000 */ mfc1 $a2, $f2 -/* 907F34 80240504 0C01C2EC */ jal fx_radial_shimmer -/* 907F38 80240508 2404000E */ addiu $a0, $zero, 0xe -/* 907F3C 8024050C 8FBF0020 */ lw $ra, 0x20($sp) -/* 907F40 80240510 8FB1001C */ lw $s1, 0x1c($sp) -/* 907F44 80240514 8FB00018 */ lw $s0, 0x18($sp) -/* 907F48 80240518 D7B40028 */ ldc1 $f20, 0x28($sp) -/* 907F4C 8024051C 24020002 */ addiu $v0, $zero, 2 -/* 907F50 80240520 03E00008 */ jr $ra -/* 907F54 80240524 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240528_907F58.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240528_907F58.s deleted file mode 100644 index 89548bf859..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240528_907F58.s +++ /dev/null @@ -1,68 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240528_907F58 -/* 907F58 80240528 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 907F5C 8024052C AFB1001C */ sw $s1, 0x1c($sp) -/* 907F60 80240530 0080882D */ daddu $s1, $a0, $zero -/* 907F64 80240534 AFB00018 */ sw $s0, 0x18($sp) -/* 907F68 80240538 00A0802D */ daddu $s0, $a1, $zero -/* 907F6C 8024053C AFBF0028 */ sw $ra, 0x28($sp) -/* 907F70 80240540 AFB30024 */ sw $s3, 0x24($sp) -/* 907F74 80240544 AFB20020 */ sw $s2, 0x20($sp) -/* 907F78 80240548 8E32000C */ lw $s2, 0xc($s1) -/* 907F7C 8024054C 0C00EAD2 */ jal get_npc_safe -/* 907F80 80240550 0000202D */ daddu $a0, $zero, $zero -/* 907F84 80240554 0220202D */ daddu $a0, $s1, $zero -/* 907F88 80240558 3C05FD05 */ lui $a1, 0xfd05 -/* 907F8C 8024055C 34A50F80 */ ori $a1, $a1, 0xf80 -/* 907F90 80240560 0C0B1EAF */ jal evt_get_variable -/* 907F94 80240564 0040982D */ daddu $s3, $v0, $zero -/* 907F98 80240568 12000006 */ beqz $s0, .L80240584 -/* 907F9C 8024056C 00000000 */ nop -/* 907FA0 80240570 AE200070 */ sw $zero, 0x70($s1) -/* 907FA4 80240574 8E450000 */ lw $a1, ($s2) -/* 907FA8 80240578 0C0B1EAF */ jal evt_get_variable -/* 907FAC 8024057C 0220202D */ daddu $a0, $s1, $zero -/* 907FB0 80240580 AE220074 */ sw $v0, 0x74($s1) -.L80240584: -/* 907FB4 80240584 8E220074 */ lw $v0, 0x74($s1) -/* 907FB8 80240588 3C06437F */ lui $a2, 0x437f -/* 907FBC 8024058C 0000202D */ daddu $a0, $zero, $zero -/* 907FC0 80240590 AFA20010 */ sw $v0, 0x10($sp) -/* 907FC4 80240594 8E270070 */ lw $a3, 0x70($s1) -/* 907FC8 80240598 0C00A8ED */ jal update_lerp -/* 907FCC 8024059C 0000282D */ daddu $a1, $zero, $zero -/* 907FD0 802405A0 3C014F00 */ lui $at, 0x4f00 -/* 907FD4 802405A4 44811000 */ mtc1 $at, $f2 -/* 907FD8 802405A8 00000000 */ nop -/* 907FDC 802405AC 4600103E */ c.le.s $f2, $f0 -/* 907FE0 802405B0 00000000 */ nop -/* 907FE4 802405B4 45010005 */ bc1t .L802405CC -/* 907FE8 802405B8 266400AC */ addiu $a0, $s3, 0xac -/* 907FEC 802405BC 4600010D */ trunc.w.s $f4, $f0 -/* 907FF0 802405C0 44032000 */ mfc1 $v1, $f4 -/* 907FF4 802405C4 0809017A */ j .L802405E8 -/* 907FF8 802405C8 A0830000 */ sb $v1, ($a0) -.L802405CC: -/* 907FFC 802405CC 46020001 */ sub.s $f0, $f0, $f2 -/* 908000 802405D0 3C028000 */ lui $v0, 0x8000 -/* 908004 802405D4 4600010D */ trunc.w.s $f4, $f0 -/* 908008 802405D8 44032000 */ mfc1 $v1, $f4 -/* 90800C 802405DC 00000000 */ nop -/* 908010 802405E0 00621825 */ or $v1, $v1, $v0 -/* 908014 802405E4 A0830000 */ sb $v1, ($a0) -.L802405E8: -/* 908018 802405E8 8E230070 */ lw $v1, 0x70($s1) -/* 90801C 802405EC 8E220074 */ lw $v0, 0x74($s1) -/* 908020 802405F0 24630001 */ addiu $v1, $v1, 1 -/* 908024 802405F4 0062102A */ slt $v0, $v1, $v0 -/* 908028 802405F8 AE230070 */ sw $v1, 0x70($s1) -/* 90802C 802405FC 8FBF0028 */ lw $ra, 0x28($sp) -/* 908030 80240600 8FB30024 */ lw $s3, 0x24($sp) -/* 908034 80240604 8FB20020 */ lw $s2, 0x20($sp) -/* 908038 80240608 8FB1001C */ lw $s1, 0x1c($sp) -/* 90803C 8024060C 8FB00018 */ lw $s0, 0x18($sp) -/* 908040 80240610 38420001 */ xori $v0, $v0, 1 -/* 908044 80240614 03E00008 */ jr $ra -/* 908048 80240618 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_8024061C_90804C.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_8024061C_90804C.s deleted file mode 100644 index 9052ce0324..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_8024061C_90804C.s +++ /dev/null @@ -1,116 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8024061C_90804C -/* 90804C 8024061C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 908050 80240620 AFB20018 */ sw $s2, 0x18($sp) -/* 908054 80240624 0080902D */ daddu $s2, $a0, $zero -/* 908058 80240628 AFB00010 */ sw $s0, 0x10($sp) -/* 90805C 8024062C 00A0802D */ daddu $s0, $a1, $zero -/* 908060 80240630 3C05FD05 */ lui $a1, 0xfd05 -/* 908064 80240634 34A50F80 */ ori $a1, $a1, 0xf80 -/* 908068 80240638 AFBF001C */ sw $ra, 0x1c($sp) -/* 90806C 8024063C 0C0B1EAF */ jal evt_get_variable -/* 908070 80240640 AFB10014 */ sw $s1, 0x14($sp) -/* 908074 80240644 12000002 */ beqz $s0, .L80240650 -/* 908078 80240648 0040882D */ daddu $s1, $v0, $zero -/* 90807C 8024064C AE400070 */ sw $zero, 0x70($s2) -.L80240650: -/* 908080 80240650 8E430070 */ lw $v1, 0x70($s2) -/* 908084 80240654 24100001 */ addiu $s0, $zero, 1 -/* 908088 80240658 10700033 */ beq $v1, $s0, .L80240728 -/* 90808C 8024065C 28620002 */ slti $v0, $v1, 2 -/* 908090 80240660 10400005 */ beqz $v0, .L80240678 -/* 908094 80240664 24020002 */ addiu $v0, $zero, 2 -/* 908098 80240668 10600007 */ beqz $v1, .L80240688 -/* 90809C 8024066C 0000102D */ daddu $v0, $zero, $zero -/* 9080A0 80240670 080901E8 */ j .L802407A0 -/* 9080A4 80240674 00000000 */ nop -.L80240678: -/* 9080A8 80240678 10620033 */ beq $v1, $v0, .L80240748 -/* 9080AC 8024067C 0000102D */ daddu $v0, $zero, $zero -/* 9080B0 80240680 080901E8 */ j .L802407A0 -/* 9080B4 80240684 00000000 */ nop -.L80240688: -/* 9080B8 80240688 0000202D */ daddu $a0, $zero, $zero -/* 9080BC 8024068C 240500D0 */ addiu $a1, $zero, 0xd0 -/* 9080C0 80240690 00A0302D */ daddu $a2, $a1, $zero -/* 9080C4 80240694 0C04DF84 */ jal set_screen_overlay_color -/* 9080C8 80240698 00A0382D */ daddu $a3, $a1, $zero -/* 9080CC 8024069C 86220024 */ lh $v0, 0x24($s1) -/* 9080D0 802406A0 44820000 */ mtc1 $v0, $f0 -/* 9080D4 802406A4 00000000 */ nop -/* 9080D8 802406A8 46800020 */ cvt.s.w $f0, $f0 -/* 9080DC 802406AC 44050000 */ mfc1 $a1, $f0 -/* 9080E0 802406B0 0C04DF62 */ jal set_screen_overlay_params_front -/* 9080E4 802406B4 24040001 */ addiu $a0, $zero, 1 -/* 9080E8 802406B8 240400FF */ addiu $a0, $zero, 0xff -/* 9080EC 802406BC 86220024 */ lh $v0, 0x24($s1) -/* 9080F0 802406C0 96230024 */ lhu $v1, 0x24($s1) -/* 9080F4 802406C4 14440010 */ bne $v0, $a0, .L80240708 -/* 9080F8 802406C8 24620032 */ addiu $v0, $v1, 0x32 -/* 9080FC 802406CC 8E230028 */ lw $v1, 0x28($s1) -/* 908100 802406D0 8C620000 */ lw $v0, ($v1) -/* 908104 802406D4 34420010 */ ori $v0, $v0, 0x10 -/* 908108 802406D8 AC620000 */ sw $v0, ($v1) -/* 90810C 802406DC 3C03800B */ lui $v1, %hi(gCameras) -/* 908110 802406E0 24631D80 */ addiu $v1, $v1, %lo(gCameras) -/* 908114 802406E4 240200D0 */ addiu $v0, $zero, 0xd0 -/* 908118 802406E8 AE200028 */ sw $zero, 0x28($s1) -/* 90811C 802406EC A462002C */ sh $v0, 0x2c($v1) -/* 908120 802406F0 A462002E */ sh $v0, 0x2e($v1) -/* 908124 802406F4 A4620030 */ sh $v0, 0x30($v1) -/* 908128 802406F8 2402000F */ addiu $v0, $zero, 0xf -/* 90812C 802406FC AE500070 */ sw $s0, 0x70($s2) -/* 908130 80240700 080901E7 */ j .L8024079C -/* 908134 80240704 AE420074 */ sw $v0, 0x74($s2) -.L80240708: -/* 908138 80240708 A6220024 */ sh $v0, 0x24($s1) -/* 90813C 8024070C 00021400 */ sll $v0, $v0, 0x10 -/* 908140 80240710 00021403 */ sra $v0, $v0, 0x10 -/* 908144 80240714 28420100 */ slti $v0, $v0, 0x100 -/* 908148 80240718 50400020 */ beql $v0, $zero, .L8024079C -/* 90814C 8024071C A6240024 */ sh $a0, 0x24($s1) -/* 908150 80240720 080901E8 */ j .L802407A0 -/* 908154 80240724 0000102D */ daddu $v0, $zero, $zero -.L80240728: -/* 908158 80240728 8E420074 */ lw $v0, 0x74($s2) -/* 90815C 8024072C 2403FFFF */ addiu $v1, $zero, -1 -/* 908160 80240730 2442FFFF */ addiu $v0, $v0, -1 -/* 908164 80240734 14430019 */ bne $v0, $v1, .L8024079C -/* 908168 80240738 AE420074 */ sw $v0, 0x74($s2) -/* 90816C 8024073C 24020002 */ addiu $v0, $zero, 2 -/* 908170 80240740 080901E7 */ j .L8024079C -/* 908174 80240744 AE420070 */ sw $v0, 0x70($s2) -.L80240748: -/* 908178 80240748 86220024 */ lh $v0, 0x24($s1) -/* 90817C 8024074C 44820000 */ mtc1 $v0, $f0 -/* 908180 80240750 00000000 */ nop -/* 908184 80240754 46800020 */ cvt.s.w $f0, $f0 -/* 908188 80240758 44050000 */ mfc1 $a1, $f0 -/* 90818C 8024075C 0C04DF62 */ jal set_screen_overlay_params_front -/* 908190 80240760 24040001 */ addiu $a0, $zero, 1 -/* 908194 80240764 86220024 */ lh $v0, 0x24($s1) -/* 908198 80240768 96230024 */ lhu $v1, 0x24($s1) -/* 90819C 8024076C 14400007 */ bnez $v0, .L8024078C -/* 9081A0 80240770 2462FFEC */ addiu $v0, $v1, -0x14 -/* 9081A4 80240774 3C013F80 */ lui $at, 0x3f80 -/* 9081A8 80240778 44816000 */ mtc1 $at, $f12 -/* 9081AC 8024077C 0C00AFB7 */ jal set_curtain_scale_goal -/* 9081B0 80240780 00000000 */ nop -/* 9081B4 80240784 080901E8 */ j .L802407A0 -/* 9081B8 80240788 24020001 */ addiu $v0, $zero, 1 -.L8024078C: -/* 9081BC 8024078C A6220024 */ sh $v0, 0x24($s1) -/* 9081C0 80240790 00021400 */ sll $v0, $v0, 0x10 -/* 9081C4 80240794 04420001 */ bltzl $v0, .L8024079C -/* 9081C8 80240798 A6200024 */ sh $zero, 0x24($s1) -.L8024079C: -/* 9081CC 8024079C 0000102D */ daddu $v0, $zero, $zero -.L802407A0: -/* 9081D0 802407A0 8FBF001C */ lw $ra, 0x1c($sp) -/* 9081D4 802407A4 8FB20018 */ lw $s2, 0x18($sp) -/* 9081D8 802407A8 8FB10014 */ lw $s1, 0x14($sp) -/* 9081DC 802407AC 8FB00010 */ lw $s0, 0x10($sp) -/* 9081E0 802407B0 03E00008 */ jr $ra -/* 9081E4 802407B4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_802407B8_9081E8.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_802407B8_9081E8.s deleted file mode 100644 index 936e31baee..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_802407B8_9081E8.s +++ /dev/null @@ -1,58 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802407B8_9081E8 -/* 9081E8 802407B8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 9081EC 802407BC AFB20020 */ sw $s2, 0x20($sp) -/* 9081F0 802407C0 0080902D */ daddu $s2, $a0, $zero -/* 9081F4 802407C4 AFB00018 */ sw $s0, 0x18($sp) -/* 9081F8 802407C8 00A0802D */ daddu $s0, $a1, $zero -/* 9081FC 802407CC 3C05FD05 */ lui $a1, 0xfd05 -/* 908200 802407D0 AFBF0028 */ sw $ra, 0x28($sp) -/* 908204 802407D4 AFB30024 */ sw $s3, 0x24($sp) -/* 908208 802407D8 AFB1001C */ sw $s1, 0x1c($sp) -/* 90820C 802407DC 8E51000C */ lw $s1, 0xc($s2) -/* 908210 802407E0 0C0B1EAF */ jal evt_get_variable -/* 908214 802407E4 34A50F80 */ ori $a1, $a1, 0xf80 -/* 908218 802407E8 1200000F */ beqz $s0, .L80240828 -/* 90821C 802407EC 0040982D */ daddu $s3, $v0, $zero -/* 908220 802407F0 24020001 */ addiu $v0, $zero, 1 -/* 908224 802407F4 AE400070 */ sw $zero, 0x70($s2) -/* 908228 802407F8 A6620020 */ sh $v0, 0x20($s3) -/* 90822C 802407FC 8E250000 */ lw $a1, ($s1) -/* 908230 80240800 26310004 */ addiu $s1, $s1, 4 -/* 908234 80240804 0C0B1EAF */ jal evt_get_variable -/* 908238 80240808 0240202D */ daddu $a0, $s2, $zero -/* 90823C 8024080C AE420074 */ sw $v0, 0x74($s2) -/* 908240 80240810 8E250000 */ lw $a1, ($s1) -/* 908244 80240814 0C0B1EAF */ jal evt_get_variable -/* 908248 80240818 0240202D */ daddu $a0, $s2, $zero -/* 90824C 8024081C AE420078 */ sw $v0, 0x78($s2) -/* 908250 80240820 C6600010 */ lwc1 $f0, 0x10($s3) -/* 908254 80240824 E6600018 */ swc1 $f0, 0x18($s3) -.L80240828: -/* 908258 80240828 C6400074 */ lwc1 $f0, 0x74($s2) -/* 90825C 8024082C 46800020 */ cvt.s.w $f0, $f0 -/* 908260 80240830 8E420078 */ lw $v0, 0x78($s2) -/* 908264 80240834 44060000 */ mfc1 $a2, $f0 -/* 908268 80240838 AFA20010 */ sw $v0, 0x10($sp) -/* 90826C 8024083C 8E650018 */ lw $a1, 0x18($s3) -/* 908270 80240840 8E470070 */ lw $a3, 0x70($s2) -/* 908274 80240844 0C00A8ED */ jal update_lerp -/* 908278 80240848 24040004 */ addiu $a0, $zero, 4 -/* 90827C 8024084C 0C00A6C9 */ jal clamp_angle -/* 908280 80240850 46000306 */ mov.s $f12, $f0 -/* 908284 80240854 E6600010 */ swc1 $f0, 0x10($s3) -/* 908288 80240858 8E430070 */ lw $v1, 0x70($s2) -/* 90828C 8024085C 8E420078 */ lw $v0, 0x78($s2) -/* 908290 80240860 24630001 */ addiu $v1, $v1, 1 -/* 908294 80240864 0062102A */ slt $v0, $v1, $v0 -/* 908298 80240868 AE430070 */ sw $v1, 0x70($s2) -/* 90829C 8024086C 8FBF0028 */ lw $ra, 0x28($sp) -/* 9082A0 80240870 8FB30024 */ lw $s3, 0x24($sp) -/* 9082A4 80240874 8FB20020 */ lw $s2, 0x20($sp) -/* 9082A8 80240878 8FB1001C */ lw $s1, 0x1c($sp) -/* 9082AC 8024087C 8FB00018 */ lw $s0, 0x18($sp) -/* 9082B0 80240880 38420001 */ xori $v0, $v0, 1 -/* 9082B4 80240884 03E00008 */ jr $ra -/* 9082B8 80240888 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_8024088C_9082BC.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_8024088C_9082BC.s deleted file mode 100644 index 0a2ae9e277..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_8024088C_9082BC.s +++ /dev/null @@ -1,98 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8024088C_9082BC -/* 9082BC 8024088C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 9082C0 80240890 AFB20020 */ sw $s2, 0x20($sp) -/* 9082C4 80240894 0080902D */ daddu $s2, $a0, $zero -/* 9082C8 80240898 AFB00018 */ sw $s0, 0x18($sp) -/* 9082CC 8024089C 00A0802D */ daddu $s0, $a1, $zero -/* 9082D0 802408A0 3C05FD05 */ lui $a1, 0xfd05 -/* 9082D4 802408A4 AFBF0028 */ sw $ra, 0x28($sp) -/* 9082D8 802408A8 AFB30024 */ sw $s3, 0x24($sp) -/* 9082DC 802408AC AFB1001C */ sw $s1, 0x1c($sp) -/* 9082E0 802408B0 8E51000C */ lw $s1, 0xc($s2) -/* 9082E4 802408B4 0C0B1EAF */ jal evt_get_variable -/* 9082E8 802408B8 34A50F80 */ ori $a1, $a1, 0xf80 -/* 9082EC 802408BC 12000023 */ beqz $s0, .L8024094C -/* 9082F0 802408C0 0040982D */ daddu $s3, $v0, $zero -/* 9082F4 802408C4 44800000 */ mtc1 $zero, $f0 -/* 9082F8 802408C8 3C054220 */ lui $a1, 0x4220 -/* 9082FC 802408CC 3C028007 */ lui $v0, %hi(gGameStatusPtr) -/* 908300 802408D0 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) -/* 908304 802408D4 44060000 */ mfc1 $a2, $f0 -/* 908308 802408D8 3C013F80 */ lui $at, 0x3f80 -/* 90830C 802408DC 44810000 */ mtc1 $at, $f0 -/* 908310 802408E0 8444008E */ lh $a0, 0x8e($v0) -/* 908314 802408E4 AFA00014 */ sw $zero, 0x14($sp) -/* 908318 802408E8 00C0382D */ daddu $a3, $a2, $zero -/* 90831C 802408EC 2484000A */ addiu $a0, $a0, 0xa -/* 908320 802408F0 0C01C97C */ jal fx_chapter_change -/* 908324 802408F4 E7A00010 */ swc1 $f0, 0x10($sp) -/* 908328 802408F8 AE62002C */ sw $v0, 0x2c($s3) -/* 90832C 802408FC AE400070 */ sw $zero, 0x70($s2) -/* 908330 80240900 8E250000 */ lw $a1, ($s1) -/* 908334 80240904 26310004 */ addiu $s1, $s1, 4 -/* 908338 80240908 0C0B1EAF */ jal evt_get_variable -/* 90833C 8024090C 0240202D */ daddu $a0, $s2, $zero -/* 908340 80240910 AE420084 */ sw $v0, 0x84($s2) -/* 908344 80240914 8E250000 */ lw $a1, ($s1) -/* 908348 80240918 26310004 */ addiu $s1, $s1, 4 -/* 90834C 8024091C 0C0B1EAF */ jal evt_get_variable -/* 908350 80240920 0240202D */ daddu $a0, $s2, $zero -/* 908354 80240924 AE420074 */ sw $v0, 0x74($s2) -/* 908358 80240928 8E250000 */ lw $a1, ($s1) -/* 90835C 8024092C 26310004 */ addiu $s1, $s1, 4 -/* 908360 80240930 0C0B1EAF */ jal evt_get_variable -/* 908364 80240934 0240202D */ daddu $a0, $s2, $zero -/* 908368 80240938 AE420078 */ sw $v0, 0x78($s2) -/* 90836C 8024093C 8E250000 */ lw $a1, ($s1) -/* 908370 80240940 0C0B1EAF */ jal evt_get_variable -/* 908374 80240944 0240202D */ daddu $a0, $s2, $zero -/* 908378 80240948 AE42007C */ sw $v0, 0x7c($s2) -.L8024094C: -/* 90837C 8024094C C6400074 */ lwc1 $f0, 0x74($s2) -/* 908380 80240950 46800020 */ cvt.s.w $f0, $f0 -/* 908384 80240954 44050000 */ mfc1 $a1, $f0 -/* 908388 80240958 C6400078 */ lwc1 $f0, 0x78($s2) -/* 90838C 8024095C 46800020 */ cvt.s.w $f0, $f0 -/* 908390 80240960 8E42007C */ lw $v0, 0x7c($s2) -/* 908394 80240964 44060000 */ mfc1 $a2, $f0 -/* 908398 80240968 AFA20010 */ sw $v0, 0x10($sp) -/* 90839C 8024096C 8E470070 */ lw $a3, 0x70($s2) -/* 9083A0 80240970 0C00A8ED */ jal update_lerp -/* 9083A4 80240974 24040009 */ addiu $a0, $zero, 9 -/* 9083A8 80240978 8E62002C */ lw $v0, 0x2c($s3) -/* 9083AC 8024097C 8C42000C */ lw $v0, 0xc($v0) -/* 9083B0 80240980 C6420084 */ lwc1 $f2, 0x84($s2) -/* 9083B4 80240984 468010A0 */ cvt.s.w $f2, $f2 -/* 9083B8 80240988 E4420004 */ swc1 $f2, 4($v0) -/* 9083BC 8024098C 8E62002C */ lw $v0, 0x2c($s3) -/* 9083C0 80240990 4600010D */ trunc.w.s $f4, $f0 -/* 9083C4 80240994 44032000 */ mfc1 $v1, $f4 -/* 9083C8 80240998 8C42000C */ lw $v0, 0xc($v0) -/* 9083CC 8024099C 44831000 */ mtc1 $v1, $f2 -/* 9083D0 802409A0 00000000 */ nop -/* 9083D4 802409A4 468010A0 */ cvt.s.w $f2, $f2 -/* 9083D8 802409A8 E4420008 */ swc1 $f2, 8($v0) -/* 9083DC 802409AC 8E62002C */ lw $v0, 0x2c($s3) -/* 9083E0 802409B0 8C42000C */ lw $v0, 0xc($v0) -/* 9083E4 802409B4 C6400084 */ lwc1 $f0, 0x84($s2) -/* 9083E8 802409B8 46800020 */ cvt.s.w $f0, $f0 -/* 9083EC 802409BC E4400010 */ swc1 $f0, 0x10($v0) -/* 9083F0 802409C0 8E62002C */ lw $v0, 0x2c($s3) -/* 9083F4 802409C4 8C42000C */ lw $v0, 0xc($v0) -/* 9083F8 802409C8 E4420014 */ swc1 $f2, 0x14($v0) -/* 9083FC 802409CC 8E430070 */ lw $v1, 0x70($s2) -/* 908400 802409D0 8E42007C */ lw $v0, 0x7c($s2) -/* 908404 802409D4 24630001 */ addiu $v1, $v1, 1 -/* 908408 802409D8 0062102A */ slt $v0, $v1, $v0 -/* 90840C 802409DC AE430070 */ sw $v1, 0x70($s2) -/* 908410 802409E0 8FBF0028 */ lw $ra, 0x28($sp) -/* 908414 802409E4 8FB30024 */ lw $s3, 0x24($sp) -/* 908418 802409E8 8FB20020 */ lw $s2, 0x20($sp) -/* 90841C 802409EC 8FB1001C */ lw $s1, 0x1c($sp) -/* 908420 802409F0 8FB00018 */ lw $s0, 0x18($sp) -/* 908424 802409F4 38420001 */ xori $v0, $v0, 1 -/* 908428 802409F8 03E00008 */ jr $ra -/* 90842C 802409FC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240A00_908430.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240A00_908430.s deleted file mode 100644 index b1e47ac63b..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240A00_908430.s +++ /dev/null @@ -1,114 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240A00_908430 -/* 908430 80240A00 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 908434 80240A04 AFB20020 */ sw $s2, 0x20($sp) -/* 908438 80240A08 0080902D */ daddu $s2, $a0, $zero -/* 90843C 80240A0C AFB00018 */ sw $s0, 0x18($sp) -/* 908440 80240A10 00A0802D */ daddu $s0, $a1, $zero -/* 908444 80240A14 3C05FD05 */ lui $a1, 0xfd05 -/* 908448 80240A18 AFBF0028 */ sw $ra, 0x28($sp) -/* 90844C 80240A1C AFB30024 */ sw $s3, 0x24($sp) -/* 908450 80240A20 AFB1001C */ sw $s1, 0x1c($sp) -/* 908454 80240A24 F7B40030 */ sdc1 $f20, 0x30($sp) -/* 908458 80240A28 8E51000C */ lw $s1, 0xc($s2) -/* 90845C 80240A2C 0C0B1EAF */ jal evt_get_variable -/* 908460 80240A30 34A50F80 */ ori $a1, $a1, 0xf80 -/* 908464 80240A34 12000015 */ beqz $s0, .L80240A8C -/* 908468 80240A38 0040982D */ daddu $s3, $v0, $zero -/* 90846C 80240A3C AE400070 */ sw $zero, 0x70($s2) -/* 908470 80240A40 8E250000 */ lw $a1, ($s1) -/* 908474 80240A44 26310004 */ addiu $s1, $s1, 4 -/* 908478 80240A48 0C0B1EAF */ jal evt_get_variable -/* 90847C 80240A4C 0240202D */ daddu $a0, $s2, $zero -/* 908480 80240A50 AE420084 */ sw $v0, 0x84($s2) -/* 908484 80240A54 8E250000 */ lw $a1, ($s1) -/* 908488 80240A58 26310004 */ addiu $s1, $s1, 4 -/* 90848C 80240A5C 0C0B1EAF */ jal evt_get_variable -/* 908490 80240A60 0240202D */ daddu $a0, $s2, $zero -/* 908494 80240A64 AE420074 */ sw $v0, 0x74($s2) -/* 908498 80240A68 8E250000 */ lw $a1, ($s1) -/* 90849C 80240A6C 26310004 */ addiu $s1, $s1, 4 -/* 9084A0 80240A70 0C0B1EAF */ jal evt_get_variable -/* 9084A4 80240A74 0240202D */ daddu $a0, $s2, $zero -/* 9084A8 80240A78 AE420078 */ sw $v0, 0x78($s2) -/* 9084AC 80240A7C 8E250000 */ lw $a1, ($s1) -/* 9084B0 80240A80 0C0B1EAF */ jal evt_get_variable -/* 9084B4 80240A84 0240202D */ daddu $a0, $s2, $zero -/* 9084B8 80240A88 AE42007C */ sw $v0, 0x7c($s2) -.L80240A8C: -/* 9084BC 80240A8C 8E43007C */ lw $v1, 0x7c($s2) -/* 9084C0 80240A90 4480A000 */ mtc1 $zero, $f20 -/* 9084C4 80240A94 8E420078 */ lw $v0, 0x78($s2) -/* 9084C8 80240A98 AFA30010 */ sw $v1, 0x10($sp) -/* 9084CC 80240A9C 00021FC2 */ srl $v1, $v0, 0x1f -/* 9084D0 80240AA0 00431021 */ addu $v0, $v0, $v1 -/* 9084D4 80240AA4 00021043 */ sra $v0, $v0, 1 -/* 9084D8 80240AA8 24420008 */ addiu $v0, $v0, 8 -/* 9084DC 80240AAC 44822000 */ mtc1 $v0, $f4 -/* 9084E0 80240AB0 00000000 */ nop -/* 9084E4 80240AB4 46802120 */ cvt.s.w $f4, $f4 -/* 9084E8 80240AB8 4405A000 */ mfc1 $a1, $f20 -/* 9084EC 80240ABC 8E470070 */ lw $a3, 0x70($s2) -/* 9084F0 80240AC0 44062000 */ mfc1 $a2, $f4 -/* 9084F4 80240AC4 0C00A8ED */ jal update_lerp -/* 9084F8 80240AC8 0000202D */ daddu $a0, $zero, $zero -/* 9084FC 80240ACC 8E420078 */ lw $v0, 0x78($s2) -/* 908500 80240AD0 4405A000 */ mfc1 $a1, $f20 -/* 908504 80240AD4 00021FC2 */ srl $v1, $v0, 0x1f -/* 908508 80240AD8 00431021 */ addu $v0, $v0, $v1 -/* 90850C 80240ADC 00021043 */ sra $v0, $v0, 1 -/* 908510 80240AE0 44822000 */ mtc1 $v0, $f4 -/* 908514 80240AE4 00000000 */ nop -/* 908518 80240AE8 46802120 */ cvt.s.w $f4, $f4 -/* 90851C 80240AEC 8E43007C */ lw $v1, 0x7c($s2) -/* 908520 80240AF0 44062000 */ mfc1 $a2, $f4 -/* 908524 80240AF4 AFA30010 */ sw $v1, 0x10($sp) -/* 908528 80240AF8 8E470070 */ lw $a3, 0x70($s2) -/* 90852C 80240AFC 4600010D */ trunc.w.s $f4, $f0 -/* 908530 80240B00 44102000 */ mfc1 $s0, $f4 -/* 908534 80240B04 0C00A8ED */ jal update_lerp -/* 908538 80240B08 0000202D */ daddu $a0, $zero, $zero -/* 90853C 80240B0C 8E420084 */ lw $v0, 0x84($s2) -/* 908540 80240B10 8E63002C */ lw $v1, 0x2c($s3) -/* 908544 80240B14 00501023 */ subu $v0, $v0, $s0 -/* 908548 80240B18 8C63000C */ lw $v1, 0xc($v1) -/* 90854C 80240B1C 44821000 */ mtc1 $v0, $f2 -/* 908550 80240B20 00000000 */ nop -/* 908554 80240B24 468010A0 */ cvt.s.w $f2, $f2 -/* 908558 80240B28 E4620004 */ swc1 $f2, 4($v1) -/* 90855C 80240B2C 8E62002C */ lw $v0, 0x2c($s3) -/* 908560 80240B30 4600010D */ trunc.w.s $f4, $f0 -/* 908564 80240B34 44042000 */ mfc1 $a0, $f4 -/* 908568 80240B38 8C42000C */ lw $v0, 0xc($v0) -/* 90856C 80240B3C C6420074 */ lwc1 $f2, 0x74($s2) -/* 908570 80240B40 468010A0 */ cvt.s.w $f2, $f2 -/* 908574 80240B44 E4420008 */ swc1 $f2, 8($v0) -/* 908578 80240B48 8E420084 */ lw $v0, 0x84($s2) -/* 90857C 80240B4C 8E63002C */ lw $v1, 0x2c($s3) -/* 908580 80240B50 00441021 */ addu $v0, $v0, $a0 -/* 908584 80240B54 8C63000C */ lw $v1, 0xc($v1) -/* 908588 80240B58 44820000 */ mtc1 $v0, $f0 -/* 90858C 80240B5C 00000000 */ nop -/* 908590 80240B60 46800020 */ cvt.s.w $f0, $f0 -/* 908594 80240B64 E4600010 */ swc1 $f0, 0x10($v1) -/* 908598 80240B68 8E62002C */ lw $v0, 0x2c($s3) -/* 90859C 80240B6C 8C42000C */ lw $v0, 0xc($v0) -/* 9085A0 80240B70 C6400074 */ lwc1 $f0, 0x74($s2) -/* 9085A4 80240B74 46800020 */ cvt.s.w $f0, $f0 -/* 9085A8 80240B78 E4400014 */ swc1 $f0, 0x14($v0) -/* 9085AC 80240B7C 8E430070 */ lw $v1, 0x70($s2) -/* 9085B0 80240B80 8E42007C */ lw $v0, 0x7c($s2) -/* 9085B4 80240B84 24630001 */ addiu $v1, $v1, 1 -/* 9085B8 80240B88 0062102A */ slt $v0, $v1, $v0 -/* 9085BC 80240B8C AE430070 */ sw $v1, 0x70($s2) -/* 9085C0 80240B90 8FBF0028 */ lw $ra, 0x28($sp) -/* 9085C4 80240B94 8FB30024 */ lw $s3, 0x24($sp) -/* 9085C8 80240B98 8FB20020 */ lw $s2, 0x20($sp) -/* 9085CC 80240B9C 8FB1001C */ lw $s1, 0x1c($sp) -/* 9085D0 80240BA0 8FB00018 */ lw $s0, 0x18($sp) -/* 9085D4 80240BA4 D7B40030 */ ldc1 $f20, 0x30($sp) -/* 9085D8 80240BA8 38420001 */ xori $v0, $v0, 1 -/* 9085DC 80240BAC 03E00008 */ jr $ra -/* 9085E0 80240BB0 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240BB4_9085E4.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240BB4_9085E4.s deleted file mode 100644 index b7d5ae85fd..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240BB4_9085E4.s +++ /dev/null @@ -1,61 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240BB4_9085E4 -/* 9085E4 80240BB4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 9085E8 80240BB8 AFB20020 */ sw $s2, 0x20($sp) -/* 9085EC 80240BBC 0080902D */ daddu $s2, $a0, $zero -/* 9085F0 80240BC0 AFB00018 */ sw $s0, 0x18($sp) -/* 9085F4 80240BC4 00A0802D */ daddu $s0, $a1, $zero -/* 9085F8 80240BC8 3C05FD05 */ lui $a1, 0xfd05 -/* 9085FC 80240BCC AFBF0028 */ sw $ra, 0x28($sp) -/* 908600 80240BD0 AFB30024 */ sw $s3, 0x24($sp) -/* 908604 80240BD4 AFB1001C */ sw $s1, 0x1c($sp) -/* 908608 80240BD8 8E51000C */ lw $s1, 0xc($s2) -/* 90860C 80240BDC 0C0B1EAF */ jal evt_get_variable -/* 908610 80240BE0 34A50F80 */ ori $a1, $a1, 0xf80 -/* 908614 80240BE4 12000012 */ beqz $s0, .L80240C30 -/* 908618 80240BE8 0040982D */ daddu $s3, $v0, $zero -/* 90861C 80240BEC AE400070 */ sw $zero, 0x70($s2) -/* 908620 80240BF0 8E250000 */ lw $a1, ($s1) -/* 908624 80240BF4 26310004 */ addiu $s1, $s1, 4 -/* 908628 80240BF8 0C0B1EAF */ jal evt_get_variable -/* 90862C 80240BFC 0240202D */ daddu $a0, $s2, $zero -/* 908630 80240C00 AE420074 */ sw $v0, 0x74($s2) -/* 908634 80240C04 8E250000 */ lw $a1, ($s1) -/* 908638 80240C08 26310004 */ addiu $s1, $s1, 4 -/* 90863C 80240C0C 0C0B1EAF */ jal evt_get_variable -/* 908640 80240C10 0240202D */ daddu $a0, $s2, $zero -/* 908644 80240C14 AE420078 */ sw $v0, 0x78($s2) -/* 908648 80240C18 8E250000 */ lw $a1, ($s1) -/* 90864C 80240C1C 0C0B1EAF */ jal evt_get_variable -/* 908650 80240C20 0240202D */ daddu $a0, $s2, $zero -/* 908654 80240C24 AE42007C */ sw $v0, 0x7c($s2) -/* 908658 80240C28 24020001 */ addiu $v0, $zero, 1 -/* 90865C 80240C2C A662001E */ sh $v0, 0x1e($s3) -.L80240C30: -/* 908660 80240C30 C6400074 */ lwc1 $f0, 0x74($s2) -/* 908664 80240C34 46800020 */ cvt.s.w $f0, $f0 -/* 908668 80240C38 44050000 */ mfc1 $a1, $f0 -/* 90866C 80240C3C C6400078 */ lwc1 $f0, 0x78($s2) -/* 908670 80240C40 46800020 */ cvt.s.w $f0, $f0 -/* 908674 80240C44 8E42007C */ lw $v0, 0x7c($s2) -/* 908678 80240C48 44060000 */ mfc1 $a2, $f0 -/* 90867C 80240C4C AFA20010 */ sw $v0, 0x10($sp) -/* 908680 80240C50 8E470070 */ lw $a3, 0x70($s2) -/* 908684 80240C54 0C00A8ED */ jal update_lerp -/* 908688 80240C58 0000202D */ daddu $a0, $zero, $zero -/* 90868C 80240C5C E660000C */ swc1 $f0, 0xc($s3) -/* 908690 80240C60 8E430070 */ lw $v1, 0x70($s2) -/* 908694 80240C64 8E42007C */ lw $v0, 0x7c($s2) -/* 908698 80240C68 24630001 */ addiu $v1, $v1, 1 -/* 90869C 80240C6C 0062102A */ slt $v0, $v1, $v0 -/* 9086A0 80240C70 AE430070 */ sw $v1, 0x70($s2) -/* 9086A4 80240C74 8FBF0028 */ lw $ra, 0x28($sp) -/* 9086A8 80240C78 8FB30024 */ lw $s3, 0x24($sp) -/* 9086AC 80240C7C 8FB20020 */ lw $s2, 0x20($sp) -/* 9086B0 80240C80 8FB1001C */ lw $s1, 0x1c($sp) -/* 9086B4 80240C84 8FB00018 */ lw $s0, 0x18($sp) -/* 9086B8 80240C88 38420001 */ xori $v0, $v0, 1 -/* 9086BC 80240C8C 03E00008 */ jr $ra -/* 9086C0 80240C90 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240C94_9086C4.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240C94_9086C4.s deleted file mode 100644 index f0e56a40c5..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240C94_9086C4.s +++ /dev/null @@ -1,9 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240C94_9086C4 -/* 9086C4 80240C94 3C028007 */ lui $v0, %hi(gGameStatusPtr) -/* 9086C8 80240C98 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) -/* 9086CC 80240C9C 90420012 */ lbu $v0, 0x12($v0) -/* 9086D0 80240CA0 03E00008 */ jr $ra -/* 9086D4 80240CA4 000211C2 */ srl $v0, $v0, 7 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240CA8_9086D8.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240CA8_9086D8.s deleted file mode 100644 index 73dbc76075..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240CA8_9086D8.s +++ /dev/null @@ -1,31 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240CA8_9086D8 -/* 9086D8 80240CA8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 9086DC 80240CAC 3C05FD05 */ lui $a1, 0xfd05 -/* 9086E0 80240CB0 AFBF0028 */ sw $ra, 0x28($sp) -/* 9086E4 80240CB4 0C0B1EAF */ jal evt_get_variable -/* 9086E8 80240CB8 34A50F80 */ ori $a1, $a1, 0xf80 -/* 9086EC 80240CBC 3C01428C */ lui $at, 0x428c -/* 9086F0 80240CC0 44810000 */ mtc1 $at, $f0 -/* 9086F4 80240CC4 3C0141A0 */ lui $at, 0x41a0 -/* 9086F8 80240CC8 44811000 */ mtc1 $at, $f2 -/* 9086FC 80240CCC 3C013FC0 */ lui $at, 0x3fc0 -/* 908700 80240CD0 44812000 */ mtc1 $at, $f4 -/* 908704 80240CD4 24030014 */ addiu $v1, $zero, 0x14 -/* 908708 80240CD8 AFA3001C */ sw $v1, 0x1c($sp) -/* 90870C 80240CDC 2403000F */ addiu $v1, $zero, 0xf -/* 908710 80240CE0 AFA30020 */ sw $v1, 0x20($sp) -/* 908714 80240CE4 E7A00010 */ swc1 $f0, 0x10($sp) -/* 908718 80240CE8 E7A20014 */ swc1 $f2, 0x14($sp) -/* 90871C 80240CEC E7A40018 */ swc1 $f4, 0x18($sp) -/* 908720 80240CF0 8C450000 */ lw $a1, ($v0) -/* 908724 80240CF4 8C460004 */ lw $a2, 4($v0) -/* 908728 80240CF8 8C470008 */ lw $a3, 8($v0) -/* 90872C 80240CFC 0C01C8D4 */ jal fx_misc_particles -/* 908730 80240D00 24040002 */ addiu $a0, $zero, 2 -/* 908734 80240D04 8FBF0028 */ lw $ra, 0x28($sp) -/* 908738 80240D08 24020002 */ addiu $v0, $zero, 2 -/* 90873C 80240D0C 03E00008 */ jr $ra -/* 908740 80240D10 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240D14_908744.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240D14_908744.s deleted file mode 100644 index 3102e231cb..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240D14_908744.s +++ /dev/null @@ -1,22 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240D14_908744 -/* 908744 80240D14 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 908748 80240D18 3C05FD05 */ lui $a1, 0xfd05 -/* 90874C 80240D1C 34A50F80 */ ori $a1, $a1, 0xf80 -/* 908750 80240D20 AFBF0010 */ sw $ra, 0x10($sp) -/* 908754 80240D24 0C0B1EAF */ jal evt_get_variable -/* 908758 80240D28 0000202D */ daddu $a0, $zero, $zero -/* 90875C 80240D2C 24030001 */ addiu $v1, $zero, 1 -/* 908760 80240D30 3C05800A */ lui $a1, %hi(gOverrideFlags) -/* 908764 80240D34 24A5A650 */ addiu $a1, $a1, %lo(gOverrideFlags) -/* 908768 80240D38 A443001E */ sh $v1, 0x1e($v0) -/* 90876C 80240D3C 8CA30000 */ lw $v1, ($a1) -/* 908770 80240D40 3C040010 */ lui $a0, 0x10 -/* 908774 80240D44 00641825 */ or $v1, $v1, $a0 -/* 908778 80240D48 ACA30000 */ sw $v1, ($a1) -/* 90877C 80240D4C 8FBF0010 */ lw $ra, 0x10($sp) -/* 908780 80240D50 24020002 */ addiu $v0, $zero, 2 -/* 908784 80240D54 03E00008 */ jr $ra -/* 908788 80240D58 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240D5C_90878C.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240D5C_90878C.s deleted file mode 100644 index f958cd82e3..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240D5C_90878C.s +++ /dev/null @@ -1,22 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240D5C_90878C -/* 90878C 80240D5C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 908790 80240D60 3C05FD05 */ lui $a1, 0xfd05 -/* 908794 80240D64 34A50F80 */ ori $a1, $a1, 0xf80 -/* 908798 80240D68 AFBF0010 */ sw $ra, 0x10($sp) -/* 90879C 80240D6C 0C0B1EAF */ jal evt_get_variable -/* 9087A0 80240D70 0000202D */ daddu $a0, $zero, $zero -/* 9087A4 80240D74 3C05FFEF */ lui $a1, 0xffef -/* 9087A8 80240D78 3C04800A */ lui $a0, %hi(gOverrideFlags) -/* 9087AC 80240D7C 2484A650 */ addiu $a0, $a0, %lo(gOverrideFlags) -/* 9087B0 80240D80 A440001E */ sh $zero, 0x1e($v0) -/* 9087B4 80240D84 8C830000 */ lw $v1, ($a0) -/* 9087B8 80240D88 34A5FFFF */ ori $a1, $a1, 0xffff -/* 9087BC 80240D8C 00651824 */ and $v1, $v1, $a1 -/* 9087C0 80240D90 AC830000 */ sw $v1, ($a0) -/* 9087C4 80240D94 8FBF0010 */ lw $ra, 0x10($sp) -/* 9087C8 80240D98 24020002 */ addiu $v0, $zero, 2 -/* 9087CC 80240D9C 03E00008 */ jr $ra -/* 9087D0 80240DA0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_24/90B240/func_80240000_90B240.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_24/90B240/func_80240000_90B240.s deleted file mode 100644 index cba05016a1..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_24/90B240/func_80240000_90B240.s +++ /dev/null @@ -1,8 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240000_90B240 -/* 90B240 80240000 03E00008 */ jr $ra -/* 90B244 80240004 24020001 */ addiu $v0, $zero, 1 -/* 90B248 80240008 00000000 */ nop -/* 90B24C 8024000C 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_24/90B250/func_80240010_90B250.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_24/90B250/func_80240010_90B250.s deleted file mode 100644 index e271a3470a..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_24/90B250/func_80240010_90B250.s +++ /dev/null @@ -1,32 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240010_90B250 -/* 90B250 80240010 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 90B254 80240014 AFB00018 */ sw $s0, 0x18($sp) -/* 90B258 80240018 0080802D */ daddu $s0, $a0, $zero -/* 90B25C 8024001C 10A00004 */ beqz $a1, .L80240030 -/* 90B260 80240020 AFBF001C */ sw $ra, 0x1c($sp) -/* 90B264 80240024 0C04E0A8 */ jal set_map_transition_effect -/* 90B268 80240028 24040004 */ addiu $a0, $zero, 4 -/* 90B26C 8024002C AE000074 */ sw $zero, 0x74($s0) -.L80240030: -/* 90B270 80240030 96020076 */ lhu $v0, 0x76($s0) -/* 90B274 80240034 27A40010 */ addiu $a0, $sp, 0x10 -/* 90B278 80240038 0C04E0AB */ jal update_exit_map_screen_overlay -/* 90B27C 8024003C A7A20010 */ sh $v0, 0x10($sp) -/* 90B280 80240040 00021400 */ sll $v0, $v0, 0x10 -/* 90B284 80240044 10400005 */ beqz $v0, .L8024005C -/* 90B288 80240048 0000102D */ daddu $v0, $zero, $zero -/* 90B28C 8024004C 0C00CD3C */ jal set_game_mode -/* 90B290 80240050 0000202D */ daddu $a0, $zero, $zero -/* 90B294 80240054 08090019 */ j .L80240064 -/* 90B298 80240058 24020002 */ addiu $v0, $zero, 2 -.L8024005C: -/* 90B29C 8024005C 87A30010 */ lh $v1, 0x10($sp) -/* 90B2A0 80240060 AE030074 */ sw $v1, 0x74($s0) -.L80240064: -/* 90B2A4 80240064 8FBF001C */ lw $ra, 0x1c($sp) -/* 90B2A8 80240068 8FB00018 */ lw $s0, 0x18($sp) -/* 90B2AC 8024006C 03E00008 */ jr $ra -/* 90B2B0 80240070 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_24/90B250/func_80240074_90B2B4.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_24/90B250/func_80240074_90B2B4.s deleted file mode 100644 index 074418bcfe..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_24/90B250/func_80240074_90B2B4.s +++ /dev/null @@ -1,50 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel D_80240480_90B6C0 -.ascii "osr_03\0\0\0\0\0\0\0\0\0\0" - -.section .text - -glabel func_80240074_90B2B4 -/* 90B2B4 80240074 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 90B2B8 80240078 3C048024 */ lui $a0, %hi(D_80240480_90B6C0) -/* 90B2BC 8024007C 24840480 */ addiu $a0, $a0, %lo(D_80240480_90B6C0) -/* 90B2C0 80240080 AFB00018 */ sw $s0, 0x18($sp) -/* 90B2C4 80240084 3C108007 */ lui $s0, %hi(gGameStatusPtr) -/* 90B2C8 80240088 2610419C */ addiu $s0, $s0, %lo(gGameStatusPtr) -/* 90B2CC 8024008C 27A50010 */ addiu $a1, $sp, 0x10 -/* 90B2D0 80240090 AFBF0028 */ sw $ra, 0x28($sp) -/* 90B2D4 80240094 AFB30024 */ sw $s3, 0x24($sp) -/* 90B2D8 80240098 AFB20020 */ sw $s2, 0x20($sp) -/* 90B2DC 8024009C AFB1001C */ sw $s1, 0x1c($sp) -/* 90B2E0 802400A0 8E020000 */ lw $v0, ($s0) -/* 90B2E4 802400A4 94510086 */ lhu $s1, 0x86($v0) -/* 90B2E8 802400A8 9452008C */ lhu $s2, 0x8c($v0) -/* 90B2EC 802400AC 9453008E */ lhu $s3, 0x8e($v0) -/* 90B2F0 802400B0 0C016AFE */ jal get_map_IDs_by_name -/* 90B2F4 802400B4 27A60012 */ addiu $a2, $sp, 0x12 -/* 90B2F8 802400B8 8E030000 */ lw $v1, ($s0) -/* 90B2FC 802400BC 97A20010 */ lhu $v0, 0x10($sp) -/* 90B300 802400C0 97A50012 */ lhu $a1, 0x12($sp) -/* 90B304 802400C4 90640166 */ lbu $a0, 0x166($v1) -/* 90B308 802400C8 A4620086 */ sh $v0, 0x86($v1) -/* 90B30C 802400CC 24020004 */ addiu $v0, $zero, 4 -/* 90B310 802400D0 A465008C */ sh $a1, 0x8c($v1) -/* 90B314 802400D4 0C00ACDD */ jal fio_save_game -/* 90B318 802400D8 A462008E */ sh $v0, 0x8e($v1) -/* 90B31C 802400DC 8E030000 */ lw $v1, ($s0) -/* 90B320 802400E0 A4710086 */ sh $s1, 0x86($v1) -/* 90B324 802400E4 A472008C */ sh $s2, 0x8c($v1) -/* 90B328 802400E8 A473008E */ sh $s3, 0x8e($v1) -/* 90B32C 802400EC 8FBF0028 */ lw $ra, 0x28($sp) -/* 90B330 802400F0 8FB30024 */ lw $s3, 0x24($sp) -/* 90B334 802400F4 8FB20020 */ lw $s2, 0x20($sp) -/* 90B338 802400F8 8FB1001C */ lw $s1, 0x1c($sp) -/* 90B33C 802400FC 8FB00018 */ lw $s0, 0x18($sp) -/* 90B340 80240100 24020002 */ addiu $v0, $zero, 2 -/* 90B344 80240104 03E00008 */ jr $ra -/* 90B348 80240108 27BD0030 */ addiu $sp, $sp, 0x30 -/* 90B34C 8024010C 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_30/90B9E0/func_80240310_90B9E0.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_30/90B9E0/func_80240310_90B9E0.s deleted file mode 100644 index 33299e3024..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_30/90B9E0/func_80240310_90B9E0.s +++ /dev/null @@ -1,93 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240310_90B9E0 -/* 90B9E0 80240310 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 90B9E4 80240314 AFBF002C */ sw $ra, 0x2c($sp) -/* 90B9E8 80240318 AFB60028 */ sw $s6, 0x28($sp) -/* 90B9EC 8024031C AFB50024 */ sw $s5, 0x24($sp) -/* 90B9F0 80240320 AFB40020 */ sw $s4, 0x20($sp) -/* 90B9F4 80240324 AFB3001C */ sw $s3, 0x1c($sp) -/* 90B9F8 80240328 AFB20018 */ sw $s2, 0x18($sp) -/* 90B9FC 8024032C AFB10014 */ sw $s1, 0x14($sp) -/* 90BA00 80240330 AFB00010 */ sw $s0, 0x10($sp) -/* 90BA04 80240334 8C82000C */ lw $v0, 0xc($a0) -/* 90BA08 80240338 8C450000 */ lw $a1, ($v0) -/* 90BA0C 8024033C 0C0B1EAF */ jal evt_get_variable -/* 90BA10 80240340 241000FF */ addiu $s0, $zero, 0xff -/* 90BA14 80240344 240400FF */ addiu $a0, $zero, 0xff -/* 90BA18 80240348 0C00A67F */ jal rand_int -/* 90BA1C 8024034C 0040982D */ daddu $s3, $v0, $zero -/* 90BA20 80240350 0040882D */ daddu $s1, $v0, $zero -/* 90BA24 80240354 0C00A67F */ jal rand_int -/* 90BA28 80240358 02112023 */ subu $a0, $s0, $s1 -/* 90BA2C 8024035C 0040902D */ daddu $s2, $v0, $zero -/* 90BA30 80240360 02128023 */ subu $s0, $s0, $s2 -/* 90BA34 80240364 0C00A67F */ jal rand_int -/* 90BA38 80240368 02112023 */ subu $a0, $s0, $s1 -/* 90BA3C 8024036C 0040802D */ daddu $s0, $v0, $zero -/* 90BA40 80240370 0C00A67F */ jal rand_int -/* 90BA44 80240374 24040080 */ addiu $a0, $zero, 0x80 -/* 90BA48 80240378 0222B021 */ addu $s6, $s1, $v0 -/* 90BA4C 8024037C 0C00A67F */ jal rand_int -/* 90BA50 80240380 24040080 */ addiu $a0, $zero, 0x80 -/* 90BA54 80240384 0242A821 */ addu $s5, $s2, $v0 -/* 90BA58 80240388 0C00A67F */ jal rand_int -/* 90BA5C 8024038C 24040080 */ addiu $a0, $zero, 0x80 -/* 90BA60 80240390 0202A021 */ addu $s4, $s0, $v0 -/* 90BA64 80240394 2AC20100 */ slti $v0, $s6, 0x100 -/* 90BA68 80240398 50400001 */ beql $v0, $zero, .L802403A0 -/* 90BA6C 8024039C 241600FF */ addiu $s6, $zero, 0xff -.L802403A0: -/* 90BA70 802403A0 2AA20100 */ slti $v0, $s5, 0x100 -/* 90BA74 802403A4 50400001 */ beql $v0, $zero, .L802403AC -/* 90BA78 802403A8 241500FF */ addiu $s5, $zero, 0xff -.L802403AC: -/* 90BA7C 802403AC 2A820100 */ slti $v0, $s4, 0x100 -/* 90BA80 802403B0 50400001 */ beql $v0, $zero, .L802403B8 -/* 90BA84 802403B4 241400FF */ addiu $s4, $zero, 0xff -.L802403B8: -/* 90BA88 802403B8 0C00A67F */ jal rand_int -/* 90BA8C 802403BC 24040080 */ addiu $a0, $zero, 0x80 -/* 90BA90 802403C0 02228821 */ addu $s1, $s1, $v0 -/* 90BA94 802403C4 0C00A67F */ jal rand_int -/* 90BA98 802403C8 24040080 */ addiu $a0, $zero, 0x80 -/* 90BA9C 802403CC 02429021 */ addu $s2, $s2, $v0 -/* 90BAA0 802403D0 0C00A67F */ jal rand_int -/* 90BAA4 802403D4 24040080 */ addiu $a0, $zero, 0x80 -/* 90BAA8 802403D8 02028021 */ addu $s0, $s0, $v0 -/* 90BAAC 802403DC 2A220100 */ slti $v0, $s1, 0x100 -/* 90BAB0 802403E0 50400001 */ beql $v0, $zero, .L802403E8 -/* 90BAB4 802403E4 241100FF */ addiu $s1, $zero, 0xff -.L802403E8: -/* 90BAB8 802403E8 2A420100 */ slti $v0, $s2, 0x100 -/* 90BABC 802403EC 50400001 */ beql $v0, $zero, .L802403F4 -/* 90BAC0 802403F0 241200FF */ addiu $s2, $zero, 0xff -.L802403F4: -/* 90BAC4 802403F4 2A020100 */ slti $v0, $s0, 0x100 -/* 90BAC8 802403F8 50400001 */ beql $v0, $zero, .L80240400 -/* 90BACC 802403FC 241000FF */ addiu $s0, $zero, 0xff -.L80240400: -/* 90BAD0 80240400 8E62000C */ lw $v0, 0xc($s3) -/* 90BAD4 80240404 AC560024 */ sw $s6, 0x24($v0) -/* 90BAD8 80240408 8E62000C */ lw $v0, 0xc($s3) -/* 90BADC 8024040C AC550028 */ sw $s5, 0x28($v0) -/* 90BAE0 80240410 8E62000C */ lw $v0, 0xc($s3) -/* 90BAE4 80240414 AC54002C */ sw $s4, 0x2c($v0) -/* 90BAE8 80240418 8E62000C */ lw $v0, 0xc($s3) -/* 90BAEC 8024041C AC510034 */ sw $s1, 0x34($v0) -/* 90BAF0 80240420 8E62000C */ lw $v0, 0xc($s3) -/* 90BAF4 80240424 AC520038 */ sw $s2, 0x38($v0) -/* 90BAF8 80240428 8E63000C */ lw $v1, 0xc($s3) -/* 90BAFC 8024042C AC70003C */ sw $s0, 0x3c($v1) -/* 90BB00 80240430 8FBF002C */ lw $ra, 0x2c($sp) -/* 90BB04 80240434 8FB60028 */ lw $s6, 0x28($sp) -/* 90BB08 80240438 8FB50024 */ lw $s5, 0x24($sp) -/* 90BB0C 8024043C 8FB40020 */ lw $s4, 0x20($sp) -/* 90BB10 80240440 8FB3001C */ lw $s3, 0x1c($sp) -/* 90BB14 80240444 8FB20018 */ lw $s2, 0x18($sp) -/* 90BB18 80240448 8FB10014 */ lw $s1, 0x14($sp) -/* 90BB1C 8024044C 8FB00010 */ lw $s0, 0x10($sp) -/* 90BB20 80240450 24020002 */ addiu $v0, $zero, 2 -/* 90BB24 80240454 03E00008 */ jr $ra -/* 90BB28 80240458 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_30/90B9E0/func_8024045C_90BB2C.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_30/90B9E0/func_8024045C_90BB2C.s deleted file mode 100644 index 20a20d4ff2..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_30/90B9E0/func_8024045C_90BB2C.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8024045C_90BB2C -/* 90BB2C 8024045C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 90BB30 80240460 AFBF0010 */ sw $ra, 0x10($sp) -/* 90BB34 80240464 8C82000C */ lw $v0, 0xc($a0) -/* 90BB38 80240468 0C0B1EAF */ jal evt_get_variable -/* 90BB3C 8024046C 8C450000 */ lw $a1, ($v0) -/* 90BB40 80240470 8FBF0010 */ lw $ra, 0x10($sp) -/* 90BB44 80240474 3C018024 */ lui $at, %hi(D_80240C0C_90C2DC) -/* 90BB48 80240478 AC220C0C */ sw $v0, %lo(D_80240C0C_90C2DC)($at) -/* 90BB4C 8024047C 24020002 */ addiu $v0, $zero, 2 -/* 90BB50 80240480 03E00008 */ jr $ra -/* 90BB54 80240484 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/world/area_tik/tik_25/8A8600/func_80240770_8A86F0.s b/ver/us/asm/nonmatchings/world/area_tik/tik_25/8A8600/func_80240770_8A86F0.s deleted file mode 100644 index 195cbe8ed4..0000000000 --- a/ver/us/asm/nonmatchings/world/area_tik/tik_25/8A8600/func_80240770_8A86F0.s +++ /dev/null @@ -1,25 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240770_8A86F0 -/* 8A86F0 80240770 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 8A86F4 80240774 AFBF0010 */ sw $ra, 0x10($sp) -/* 8A86F8 80240778 8C82000C */ lw $v0, 0xc($a0) -/* 8A86FC 8024077C 0C0B1EAF */ jal evt_get_variable -/* 8A8700 80240780 8C450000 */ lw $a1, ($v0) -/* 8A8704 80240784 0C04417A */ jal get_entity_by_index -/* 8A8708 80240788 0040202D */ daddu $a0, $v0, $zero -/* 8A870C 8024078C 50400007 */ beql $v0, $zero, .L802407AC -/* 8A8710 80240790 0000102D */ daddu $v0, $zero, $zero -/* 8A8714 80240794 84440014 */ lh $a0, 0x14($v0) -/* 8A8718 80240798 3C050000 */ lui $a1, 0 -/* 8A871C 8024079C 24A501E4 */ addiu $a1, $a1, 0x1e4 -/* 8A8720 802407A0 0C048052 */ jal play_model_animation -/* 8A8724 802407A4 00000000 */ nop -/* 8A8728 802407A8 24020002 */ addiu $v0, $zero, 2 -.L802407AC: -/* 8A872C 802407AC 8FBF0010 */ lw $ra, 0x10($sp) -/* 8A8730 802407B0 03E00008 */ jr $ra -/* 8A8734 802407B4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 8A8738 802407B8 00000000 */ nop -/* 8A873C 802407BC 00000000 */ nop diff --git a/ver/us/splat.yaml b/ver/us/splat.yaml index 7d0620a44f..633855b5d8 100644 --- a/ver/us/splat.yaml +++ b/ver/us/splat.yaml @@ -8235,34 +8235,37 @@ segments: start: 0x8D3DC0 vram: 0x80240000 subsegments: - - [0x8D3DC0, c] - - [0x8D4880, data] - - [0x8D49A0, data] - - [0x8D5C40] + - [0x8D3DC0, c, kmr_07_0_header] + - [0x8D3DC0, c, kmr_07_1_music] + - [0x8D3DC0, c, kmr_07_2_main] + - [0x8D3DC0, c, kmr_07_3_npc] + - [0x8D4880, c, kmr_07_4_entity] + - [0x8D4880] - name: kmr_09 dir: world/area_kmr/kmr_09 type: code start: 0x8D5E00 vram: 0x80240000 subsegments: - - [0x8D5E00, c] - - [0x8D7330, data] - - [0x8D73C0, data] - - [0x8D83B0, data] - - [0x8D8460] + - [0x8D5E00, c, kmr_09_0_header] + - [0x8D5E00, c, kmr_09_1_music] + - [0x8D5E00, c, kmr_09_2_main] + - [0x8D5E00, c, kmr_09_3_npc] + - [0x8D7330, c, kmr_09_4_entity] + - [0x8D7330] - name: kmr_10 dir: world/area_kmr/kmr_10 type: code start: 0x8D84D0 vram: 0x80240000 subsegments: - - [0x8D84D0, c] - - [0x8D88A0, c] - - [0x8D8AE0, data] - - [0x8D8B80, data] - - [0x8D8E60, data] - - [0x8D90F0, data] - - [0x8DA0F0] + - [0x8D84D0, c, kmr_10_0_header] + - [0x8D84D0, c, kmr_10_1_music] + - [0x8D84D0, c, kmr_10_2_main] + - [0x8D84D0, c, kmr_10_3_npc] + - [0x8D84D0, c, kmr_10_4_entity] + - [0x8D88A0, c, kmr_10_5_foliage] + - [0x8D8AE0] - name: kmr_11 dir: world/area_kmr/kmr_11 type: code @@ -8286,8 +8289,11 @@ segments: start: 0x8EB360 vram: 0x80240000 subsegments: - - [0x8EB360, c, header] - - [0x8EB390, c, events] + - [0x8EB360, c, kmr_12_0_header] + - [0x8EB360, c, kmr_12_1_music] + - [0x8EB360, c, kmr_12_2_main] + - [0x8EB360, c, kmr_12_3_npc] + - [0x8EB390, c, kmr_12_4_entity] - [0x8EB390] - name: kmr_20 dir: world/area_kmr/kmr_20 @@ -8323,10 +8329,9 @@ segments: start: 0x8FEE80 vram: 0x80240000 subsegments: - - [0x8FEE80, c] - - [0x8FEE90, c] - - [0x8FF160, data] - - [0x8FF650] + - [0x8FEE80, c, kmr_21_0_header] + - [0x8FEE90, c, kmr_21_1_main] + - [0x8FF160] - name: kmr_22 dir: world/area_kmr/kmr_22 type: code @@ -8345,37 +8350,48 @@ segments: start: 0x907A30 vram: 0x80240000 subsegments: - - [0x907A30, c] - - [0x907A40, c] - - [0x908B00, data] - - [0x90B210] + - [0x907A30, c, kmr_23_0_header] + - [0x907A40, c, kmr_23_1_main] + - [0x907A70, c, kmr_23_2_npc] + - [0x908B00, .data, kmr_23_0_header] + - [0x908BC0, .data, kmr_23_1_main] + - start: 0x909090 + type: .data + name: kmr_23_2_npc + subsegments: + - [0x909090] + - [0x9090F8, ia8, window_ul, 8, 8] + - [0x909138, ia8, window_ur, 8, 8] + - [0x909178, ia8, window_ll, 8, 8] + - [0x9091B8, ia8, window_lr, 8, 8] + - [0x9091F8] - name: kmr_24 dir: world/area_kmr/kmr_24 type: code start: 0x90B240 vram: 0x80240000 subsegments: - - [0x90B240, c] - - [0x90B250, c] - - [0x90B350, data] - - [0x90B6C0] + - [0x90B240, c, kmr_24_0_header] + - [0x90B250, c, kmr_24_1_main] + - [0x90B350] - name: kmr_30 dir: world/area_kmr/kmr_30 type: code start: 0x90B6D0 vram: 0x80240000 subsegments: - - [0x90B6D0, c] - - [0x90B9E0, c] - - [0x90BBB0, data] - - [0x90BDB0, data] - - [0x90BFF0, data] + - [0x90B6D0, c, kmr_30_0_header] + - [0x90B6D0, c, kmr_30_1_main] + - [0x90B9E0, c, kmr_30_2_npc] + - [0x90B9E0, c, kmr_30_3_the_end] + - [0x90BBB0] - name: iwa_00 dir: world/area_iwa/iwa_00 type: code start: 0x90CC40 vram: 0x80240000 subsegments: + - [0x90CC40, c, iwa_00_0_header] - [0x90CC40, c, iwa_00_1_main] - [0x90CC40, c, iwa_00_2_entity] - [0x90CC40, c, iwa_00_3_npc] @@ -8387,12 +8403,14 @@ segments: start: 0x90F6B0 vram: 0x80240000 subsegments: + - [0x90F6B0, c, iwa_01_0_header] - [0x90F6B0, c, iwa_01_1_main] - [0x90F6B0, c, iwa_01_2_entity] - [0x90F6B0, c, iwa_01_3_splash] - [0x90FBD0, c, iwa_01_4_npc] - [0x912960, c, iwa_01_5_slide] - - [0x912990, .data, iwa_01_1_main] + - [0x912990, .data, iwa_01_0_header] + - [0x912A10, .data, iwa_01_1_main] - [0x912F60, .data, iwa_01_2_entity] - start: 0x913070 type: .data @@ -8410,6 +8428,7 @@ segments: start: 0x915D70 vram: 0x80240000 subsegments: + - [0x915D70, c, iwa_02_0_header] - [0x915D70, c, iwa_02_1_main] - [0x915D70, c, iwa_02_2_entity] - [0x915D70, c, iwa_02_3_npc] @@ -8420,6 +8439,7 @@ segments: start: 0x918BB0 vram: 0x80240000 subsegments: + - [0x918BB0, c, iwa_03_0_header] - [0x918BB0, c, iwa_03_1_main] - [0x918BB0, c, iwa_03_2_entity] - [0x918EF0, c, iwa_03_3_npc] @@ -8432,9 +8452,10 @@ segments: vram: 0x80240000 subsegments: - [0x91B8E0, c, iwa_04_0_header] - - [0x91B8E0, c, iwa_04_1_main] - - [0x91B8E0, c, iwa_04_2_entity] - - [0x91B960, c, iwa_04_3_npc] + - [0x91B8E0, c, iwa_04_1_music] + - [0x91B8E0, c, iwa_04_2_main] + - [0x91B8E0, c, iwa_04_3_entity] + - [0x91B960, c, iwa_04_4_npc] - [0x91C9C0] - name: iwa_10 dir: world/area_iwa/iwa_10 @@ -8443,13 +8464,14 @@ segments: vram: 0x80240000 subsegments: - [0x91E570, c, iwa_10_0_header] - - [0x91E570, c, iwa_10_1_main] - - [0x91E5B0, c, iwa_10_2_npc] - - [0x91E6D0, c, iwa_10_3_train] - - [0x91F5A0, c, iwa_10_4_entity] - - [0x91FA80, c, iwa_10_5_parakarry] - - [0x91FA80, c, iwa_10_6_new_party] - - [0x91FB20, c, iwa_10_7_foliage] + - [0x91E570, c, iwa_10_1_music] + - [0x91E570, c, iwa_10_2_main] + - [0x91E5B0, c, iwa_10_3_npc] + - [0x91E6D0, c, iwa_10_4_train] + - [0x91F5A0, c, iwa_10_5_entity] + - [0x91FA80, c, iwa_10_6_parakarry] + - [0x91FA80, c, iwa_10_7_new_party] + - [0x91FB20, c, iwa_10_8_foliage] - [0x91FD60] - name: iwa_11 dir: world/area_iwa/iwa_11 @@ -8458,10 +8480,11 @@ segments: vram: 0x80240000 subsegments: - [0x9269F0, c, iwa_11_0_header] - - [0x9269F0, c, iwa_11_1_main] - - [0x926A10, c, iwa_11_2_train] - - [0x926C70, c, iwa_11_3_scenery] - - [0x926C70, c, iwa_11_4_npc] + - [0x9269F0, c, iwa_11_1_music] + - [0x9269F0, c, iwa_11_2_main] + - [0x926A10, c, iwa_11_3_train] + - [0x926C70, c, iwa_11_4_scenery] + - [0x926C70, c, iwa_11_5_npc] - [0x926D00] - name: sbk_00 dir: world/area_sbk/sbk_00 @@ -11256,9 +11279,10 @@ segments: vram: 0x80240000 subsegments: - [0xBDD1B0, c, arn_02_0_header] - - [0xBDD1B0, c, arn_02_1_main] - - [0xBDD1B0, c, arn_02_2_entity] - - [0xBDD1B0, c, arn_02_3_npc] + - [0xBDD1B0, c, arn_02_1_music] + - [0xBDD1B0, c, arn_02_2_main] + - [0xBDD1B0, c, arn_02_3_entity] + - [0xBDD1B0, c, arn_02_4_npc] - [0xBDE190] - name: arn_03 dir: world/area_arn/arn_03 @@ -11267,9 +11291,10 @@ segments: vram: 0x80240000 subsegments: - [0xBDED90, c, arn_03_0_header] - - [0xBDED90, c, arn_03_1_main] - - [0xBDED90, c, arn_03_2_npc] - - [0xBDED90, c, arn_03_3_entity] + - [0xBDED90, c, arn_03_1_music] + - [0xBDED90, c, arn_03_2_main] + - [0xBDED90, c, arn_03_3_npc] + - [0xBDED90, c, arn_03_4_entity] - [0xBE04B0] - name: arn_04 dir: world/area_arn/arn_04 @@ -11278,9 +11303,10 @@ segments: vram: 0x80240000 subsegments: - [0xBE37B0, c, arn_04_0_header] - - [0xBE37B0, c, arn_04_1_main] - - [0xBE37B0, c, arn_04_2_npc] - - [0xBE37B0, c, arn_04_3_entity] + - [0xBE37B0, c, arn_04_1_music] + - [0xBE37B0, c, arn_04_2_main] + - [0xBE37B0, c, arn_04_3_npc] + - [0xBE37B0, c, arn_04_4_entity] - [0xBE6B20] - name: arn_05 dir: world/area_arn/arn_05 @@ -11289,9 +11315,10 @@ segments: vram: 0x80240000 subsegments: - [0xBE7BE0, c, arn_05_0_header] - - [0xBE7BE0, c, arn_05_1_main] - - [0xBE7BE0, c, arn_05_2_npc] - - [0xBE7BE0, c, arn_05_3_entity] + - [0xBE7BE0, c, arn_05_1_music] + - [0xBE7BE0, c, arn_05_2_main] + - [0xBE7BE0, c, arn_05_3_npc] + - [0xBE7BE0, c, arn_05_4_entity] - [0xBE8EE0] - name: arn_07 dir: world/area_arn/arn_07 @@ -11300,10 +11327,11 @@ segments: vram: 0x80240000 subsegments: - [0xBECDF0, c, arn_07_0_header] - - [0xBECDF0, c, arn_07_1_main] - - [0xBED5F0, c, arn_07_2_windmill] - - [0xBED660, c, arn_07_3_entity] - - [0xBED740, c, arn_07_4_npc] + - [0xBECDF0, c, arn_07_1_music] + - [0xBECDF0, c, arn_07_2_main] + - [0xBED5F0, c, arn_07_3_windmill] + - [0xBED660, c, arn_07_4_entity] + - [0xBED740, c, arn_07_5_npc] - [0xBEEC80] - name: arn_08 dir: world/area_arn/arn_08 @@ -11312,12 +11340,13 @@ segments: vram: 0x80240000 subsegments: - [0xBF47A0, c, arn_08_0_header] - - [0xBF47A0, c, arn_08_1_main] - - [0xBF47A0, c, arn_08_2_well] - - [0xBF47A0, c, arn_08_3_gears] - - [0xBF4860, c, arn_08_4_demo] - - [0xBF4860, c, arn_08_5_npc] - - [0xBF4860, c, arn_08_6_entity] + - [0xBF47A0, c, arn_08_1_music] + - [0xBF47A0, c, arn_08_2_main] + - [0xBF47A0, c, arn_08_3_well] + - [0xBF47A0, c, arn_08_4_gears] + - [0xBF4860, c, arn_08_5_demo] + - [0xBF4860, c, arn_08_6_npc] + - [0xBF4860, c, arn_08_7_entity] - [0xBF4A30] - name: arn_09 dir: world/area_arn/arn_09 @@ -11326,10 +11355,11 @@ segments: vram: 0x80240000 subsegments: - [0xBF6060, c, arn_09_0_header] - - [0xBF6060, c, arn_09_1_main] - - [0xBF6060, c, arn_09_2_entity] - - [0xBF6060, c, arn_09_3_launch] - - [0xBF6060, c, arn_09_4_npc] + - [0xBF6060, c, arn_09_1_music] + - [0xBF6060, c, arn_09_2_main] + - [0xBF6060, c, arn_09_3_entity] + - [0xBF6060, c, arn_09_4_launch] + - [0xBF6060, c, arn_09_5_npc] - [0xBF60A0] - name: arn_10 dir: world/area_arn/arn_10 @@ -11338,9 +11368,10 @@ segments: vram: 0x80240000 subsegments: - [0xBF6A00, c, arn_10_0_header] - - [0xBF6A00, c, arn_10_1_main] - - [0xBF6A00, c, arn_10_2_npc] - - [0xBF6A00, c, arn_10_3_entity] + - [0xBF6A00, c, arn_10_1_music] + - [0xBF6A00, c, arn_10_2_main] + - [0xBF6A00, c, arn_10_3_npc] + - [0xBF6A00, c, arn_10_4_entity] - [0xBF6A00] - name: arn_11 dir: world/area_arn/arn_11 @@ -11349,8 +11380,9 @@ segments: vram: 0x80240000 subsegments: - [0xBF7680, c, arn_11_0_header] - - [0xBF7680, c, arn_11_1_main] - - [0xBF7680, c, arn_11_2_npc] + - [0xBF7680, c, arn_11_1_music] + - [0xBF7680, c, arn_11_2_main] + - [0xBF7680, c, arn_11_3_npc] - [0xBF7680] - name: arn_12 dir: world/area_arn/arn_12 @@ -11359,9 +11391,10 @@ segments: vram: 0x80240000 subsegments: - [0xBF8790, c, arn_12_0_header] - - [0xBF8790, c, arn_12_1_main] - - [0xBF8790, c, arn_12_2_npc] - - [0xBF8790, c, arn_12_3_entity] + - [0xBF8790, c, arn_12_1_music] + - [0xBF8790, c, arn_12_2_main] + - [0xBF8790, c, arn_12_3_npc] + - [0xBF8790, c, arn_12_4_entity] - [0xBF8790] - name: arn_13 dir: world/area_arn/arn_13 @@ -11370,9 +11403,10 @@ segments: vram: 0x80240000 subsegments: - [0xBF9410, c, arn_13_0_header] - - [0xBF9410, c, arn_13_1_main] - - [0xBF9410, c, arn_13_2_npc] - - [0xBF9410, c, arn_13_3_entity] + - [0xBF9410, c, arn_13_1_music] + - [0xBF9410, c, arn_13_2_main] + - [0xBF9410, c, arn_13_3_npc] + - [0xBF9410, c, arn_13_4_entity] - [0xBF9410] - name: dgb_00 dir: world/area_dgb/dgb_00 @@ -11857,8 +11891,9 @@ segments: start: 0xC599D0 vram: 0x80240000 subsegments: + - [0xC599D0, c, kzn_01_0_header] - [0xC599D0, c, kzn_01_1_main] - - [0xC59CE0, c, kzn_01_2_enemy] + - [0xC59CE0, c, kzn_01_2_npc] - [0xC59CE0] - name: kzn_02 dir: world/area_kzn/kzn_02 @@ -11866,6 +11901,7 @@ segments: start: 0xC5A740 vram: 0x80240000 subsegments: + - [0xC5A740, c, kzn_02_0_header] - [0xC5A740, c, kzn_02_1_main] - [0xC5AA50, c, kzn_02_2_platforms] - [0xC5AC20, c, kzn_02_3_npc] @@ -11877,6 +11913,7 @@ segments: start: 0xC60D10 vram: 0x80240000 subsegments: + - [0xC60D10, c, kzn_03_0_header] - [0xC60D10, c, kzn_03_1_main] - [0xC61020, c, kzn_03_2_npc] - [0xC63A10, c, kzn_03_3_entity] @@ -11888,6 +11925,7 @@ segments: start: 0xC68130 vram: 0x80240000 subsegments: + - [0xC68130, c, kzn_04_0_header] - [0xC68130, c, kzn_04_1_main] - [0xC68440, c, kzn_04_2_entity] - [0xC69180, c, kzn_04_3_npc] @@ -11898,6 +11936,7 @@ segments: start: 0xC6C0D0 vram: 0x80240000 subsegments: + - [0xC6C0D0, c, kzn_05_0_header] - [0xC6C0D0, c, kzn_05_1_main] - [0xC6C3E0] - name: kzn_06 @@ -11907,6 +11946,7 @@ segments: vram: 0x80240000 subalign: 16 subsegments: + - [0xC6C920, c, kzn_06_0_header] - [0xC6C920, c, kzn_06_1_main] - [0xC6CC30, c, kzn_06_2_entity] - [0xC6CD10, c, kzn_06_3_extra] @@ -11918,9 +11958,10 @@ segments: vram: 0x80240000 subsegments: - [0xC6E330, c, kzn_07_0_header] - - [0xC6E330, c, kzn_07_1_main] - - [0xC6EA50, c, kzn_07_2_entity] - - [0xC6EB50, c, kzn_07_3_enemy] + - [0xC6E330, c, kzn_07_1_music] + - [0xC6E330, c, kzn_07_2_main] + - [0xC6EA50, c, kzn_07_3_entity] + - [0xC6EB50, c, kzn_07_4_npc] - [0xC70640] - name: kzn_08 dir: world/area_kzn/kzn_08 @@ -11928,9 +11969,10 @@ segments: start: 0xC71480 vram: 0x80240000 subsegments: + - [0xC71480, c, kzn_08_0_header] - [0xC71480, c, kzn_08_1_main] - [0xC71C10, c, kzn_08_2_entity] - - [0xC71ED0, c, kzn_08_3_enemy] + - [0xC71ED0, c, kzn_08_3_npc] - [0xC75360, c, kzn_08_4_extra] - [0xC755A0] - name: kzn_09 @@ -11939,6 +11981,7 @@ segments: start: 0xC76CE0 vram: 0x80240000 subsegments: + - [0xC76CE0, c, kzn_09_0_header] - [0xC76CE0, c, kzn_09_1_main] - [0xC76CE0, c, kzn_09_2_entity] - [0xC77A20, c, kzn_09_3_zipline] @@ -11950,8 +11993,9 @@ segments: start: 0xC7E180 vram: 0x80240000 subsegments: + - [0xC7E180, c, kzn_10_0_header] - [0xC7E180, c, kzn_10_1_main] - - [0xC7E4B0, c, kzn_10_2_extra] + - [0xC7E4B0, c, kzn_10_2_tromp] - [0xC7E850] - name: kzn_11 dir: world/area_kzn/kzn_11 @@ -11959,6 +12003,7 @@ segments: start: 0xC801A0 vram: 0x80240000 subsegments: + - [0xC801A0, c, kzn_11_0_header] - [0xC801A0, c, kzn_11_1_main] - [0xC804B0, c, kzn_11_2_platforms] - [0xC80600, c, kzn_11_3_npc] @@ -11969,10 +12014,11 @@ segments: start: 0xC85AB0 vram: 0x80240000 subsegments: + - [0xC85AB0, c, kzn_17_0_header] - [0xC85AB0, c, kzn_17_1_main] - [0xC85AB0, c, kzn_17_2_entity] - [0xC85DC0, c, kzn_17_3_npc] - - [0xC887B0, c, kzn_17_4_extra] + - [0xC887B0, c, kzn_17_4_tromp] - [0xC88B50] - name: kzn_18 dir: world/area_kzn/kzn_18 @@ -11982,7 +12028,8 @@ segments: subsegments: - [0xC8C0A0, c, kzn_18_0_header] - [0xC8C0E0, c, kzn_18_1_main] - - [0xC8C3F0, c, kzn_18_2_extra] + - [0xC8C3F0, c, kzn_18_2_npc] + - [0xC8C460, c, kzn_18_3_entity] - [0xC8C460] - name: kzn_19 dir: world/area_kzn/kzn_19 @@ -11991,33 +12038,37 @@ segments: vram: 0x80240000 subsegments: - [0xC8DBB0, c, kzn_19_0_header] - - [0xC8DBB0, c, kzn_19_1_main] - - [0xC8E6B0, c, kzn_19_2_npc_settings] - - [0xC8E6B0, c, kzn_19_3_npc] - - [0xC8E6B0, c, kzn_19_4_eruption] - - [0xC8E6B0, c, kzn_19_5_entity] + - [0xC8DBB0, c, kzn_19_1_music] + - [0xC8DBB0, c, kzn_19_2_main] + - [0xC8E6B0, c, kzn_19_3_npc_settings] + - [0xC8E6B0, c, kzn_19_4_npc] + - [0xC8E6B0, c, kzn_19_5_eruption] + - [0xC8E6B0, c, kzn_19_6_entity] - [0xC8F8E0, .data, kzn_19_0_header] - - [0xC8FA40, .data, kzn_19_1_main] - - [0xC90B10, .data, kzn_19_2_npc_settings] + - [0xC8F960, .data, kzn_19_1_music] + - [0xC8FA40, .data, kzn_19_2_main] + - [0xC90B10, .data, kzn_19_3_npc_settings] - start: 0xC90BF0 type: .data - name: kzn_19_3_npc + name: kzn_19_4_npc subsegments: - [0xC90BF0] - [0xC91088, ci4, lava_piranha_vine, 64, 32] - [0xC91488, palette, lava_piranha_vine] - [0xC91688, gfx, lava_piranha_vine] - [0xC91768] - - [0xC959B0, .data, kzn_19_4_eruption] - - [0xC95E70, .data, kzn_19_5_entity] + - [0xC959B0, .data, kzn_19_5_eruption] + - [0xC95E70, .data, kzn_19_6_entity] - name: kzn_20 dir: world/area_kzn/kzn_20 type: code start: 0xC95F30 vram: 0x80240000 subsegments: - - [0xC95F30, c, kzn_20_1_main] - - [0xC96240, c, kzn_20_2_npc] + - [0xC95F30, c, kzn_20_0_header] + - [0xC95F30, c, kzn_20_1_music] + - [0xC95F30, c, kzn_20_2_main] + - [0xC96240, c, kzn_20_3_npc] - [0xC969F0] - name: kzn_22 dir: world/area_kzn/kzn_22 @@ -12026,9 +12077,10 @@ segments: vram: 0x80240000 subsegments: - [0xC9A200, c, kzn_22_0_header] - - [0xC9A200, c, kzn_22_1_main] - - [0xC9A540, c, kzn_22_2_entity] - - [0xC9A540, c, kzn_22_3_npc] + - [0xC9A200, c, kzn_22_1_music] + - [0xC9A200, c, kzn_22_2_main] + - [0xC9A540, c, kzn_22_3_entity] + - [0xC9A540, c, kzn_22_4_npc] - [0xC9A590] - name: kzn_23 dir: world/area_kzn/kzn_23 @@ -12037,8 +12089,9 @@ segments: vram: 0x80240000 subsegments: - [0xC9C300, c, kzn_23_0_header] - - [0xC9C300, c, kzn_23_1_main] - - [0xC9C610, c, kzn_23_2_extra] + - [0xC9C300, c, kzn_23_1_music] + - [0xC9C300, c, kzn_23_2_main] + - [0xC9C610, c, kzn_23_3_npc] - [0xC9C920] - name: flo_00 dir: world/area_flo/flo_00 @@ -12996,7 +13049,7 @@ segments: start: 0xDF6A00 vram: 0x80240000 subsegments: - - [0xDF6A00, c, end_00_0_init] + - [0xDF6A00, c, end_00_0_header] - [0xDF6A20, c, end_00_1_main] - [0xDF6A20, c, end_00_2_credits] - [0xDF9080, c, end_00_3_parade_setup] @@ -13015,7 +13068,7 @@ segments: start: 0xE05360 vram: 0x80240000 subsegments: - - [0xE05360, c, end_01_0_init] + - [0xE05360, c, end_01_0_header] - [0xE05370, c, end_01_1_main] - [0xE05390, c, end_01_2_credits] - [0xE079F0, c, end_01_3_parade_setup] @@ -13030,6 +13083,7 @@ segments: start: 0xE0E7A0 vram: 0x80240000 subsegments: + - [0xE0E7A0, c, mgm_00_0_header] - [0xE0E7A0, c, mgm_00_1_main] - [0xE0EA80, c, mgm_00_2_npc] - [0xE0F980, c, mgm_00_3_scoreboard] @@ -13040,11 +13094,13 @@ segments: start: 0xE12760 vram: 0x80240000 subsegments: + - [0xE12760, c, mgm_01_0_header] - [0xE12760, c, mgm_01_1_main] - [0xE12930, c, mgm_01_2_npc] - [0xE12930, c, mgm_01_3_entity] - [0xE12930, c, mgm_01_4_images] - - [0xE13F10, .data, mgm_01_1_main] + - [0xE13F10, .data, mgm_01_0_header] + - [0xE13F60, .data, mgm_01_1_main] - [0xE141D0, .data, mgm_01_2_npc] - [0xE153A0, .data, mgm_01_3_entity] - start: 0xE15440 @@ -13066,10 +13122,12 @@ segments: start: 0xE15D80 vram: 0x80240000 subsegments: + - [0xE15D80, c, mgm_02_0_header] - [0xE15D80, c, mgm_02_1_main] - [0xE15D80, c, mgm_02_2_npc] - [0xE15D80, c, mgm_02_3_images] - - [0xE18180, .data, mgm_02_1_main] + - [0xE18180, .data, mgm_02_0_header] + - [0xE181D0, .data, mgm_02_1_main] - [0xE183D0, .data, mgm_02_2_npc] - start: 0xE1E020 type: .data @@ -13084,6 +13142,7 @@ segments: start: 0xE1E380 vram: 0x80240000 subsegments: + - [0xE1E380, c, mgm_03_0_header] - [0xE1E380, c, mgm_03_1_main] - name: gv_01 dir: world/area_gv/gv_01 @@ -13091,7 +13150,8 @@ segments: start: 0xE1E460 vram: 0x80240000 subsegments: - - [0xE1E460, c, gv_01] + - [0xE1E460, c, gv_01_0_header] + - [0xE1E460, c, gv_01_1_main] - [0xE1EC20] - type: code start: 0xE20110 diff --git a/ver/us/symbol_addrs.txt b/ver/us/symbol_addrs.txt index 9cc234a23b..08e912fdf8 100644 --- a/ver/us/symbol_addrs.txt +++ b/ver/us/symbol_addrs.txt @@ -15861,9 +15861,9 @@ D_802424A0_8A7F20 = 0x802424A0; // type:data rom:0x8A7F20 tik_25_UpdateTexturePanSmooth = 0x80240000; // type:func rom:0x8A7F80 tik_25_UpdateTexturePanStepped = 0x80240124; // type:func rom:0x8A80A4 tik_25_UnkPosFunc2 = 0x8024030C; // type:func rom:0x8A828C -func_80240680_8A8600 = 0x80240680; // type:func rom:0x8A8600 +tik_25_func_80240680_8A8600 = 0x80240680; // type:func rom:0x8A8600 tik_25_SetEntityPosition = 0x802406AC; // type:func rom:0x8A862C -func_80240770_8A86F0 = 0x80240770; // type:func rom:0x8A86F0 +tik_25_PlaySpringReboundAnimation = 0x80240770; // type:func rom:0x8A86F0 kgr_01_DarkRoomUpdate = 0x80240000; // type:func rom:0x8A9A10 kgr_01_add_tongue_deformation = 0x80240160; // type:func rom:0x8A9B70 kgr_01_make_tongue_gfx = 0x80240354; // type:func rom:0x8A9D64 @@ -16107,7 +16107,7 @@ kmr_07_StationaryAI_LosePlayer = 0x802404F8; // type:func rom:0x8D42B8 kmr_07_StationaryAI_ReturnHomeInit = 0x80240540; // type:func rom:0x8D4300 kmr_07_StationaryAI_ReturnHome = 0x802405EC; // type:func rom:0x8D43AC kmr_07_StationaryAI_Main = 0x802407F4; // type:func rom:0x8D45B4 -func_80240A6C_8D482C = 0x80240A6C; // type:func rom:0x8D482C +kmr_07_PlaySpringReboundAnimation = 0x80240A6C; // type:func rom:0x8D482C D_80241E90_8D5C50 = 0x80241E90; // type:data rom:0x8D5C50 D_80241E98_8D5C58 = 0x80241E98; // type:data rom:0x8D5C58 D_80241EA0_8D5C60 = 0x80241EA0; // type:data rom:0x8D5C60 @@ -16122,7 +16122,7 @@ kmr_09_FlyingAI_Chase = 0x80240DF4; // type:func rom:0x8D6BF4 kmr_09_FlyingAI_LosePlayer = 0x80240E58; // type:func rom:0x8D6C58 kmr_09_FlyingAI_Init = 0x802411E8; // type:func rom:0x8D6FE8 kmr_09_FlyingAI_Main = 0x8024130C; // type:func rom:0x8D710C -func_802414F8_8D72F8 = 0x802414F8; // type:func rom:0x8D72F8 +kmr_09_GetAmbushEnemy = 0x802414F8; // type:func rom:0x8D72F8 kmr_09_FlyingAI_JumpVels = 0x8024186C; // type:data rom:0x8D766C D_80242670_8D8470 = 0x80242670; // type:data rom:0x8D8470 D_80242678_8D8478 = 0x80242678; // type:data rom:0x8D8478 @@ -16131,8 +16131,8 @@ kmr_10_StashVars = 0x80240000; // type:func rom:0x8D84D0 kmr_10_GetItemName = 0x802400B4; // type:func rom:0x8D8584 kmr_10_SomeItemEntityFunc = 0x80240118; // type:func rom:0x8D85E8 kmr_10_IsItemBadge = 0x80240268; // type:func rom:0x8D8738 -func_802402BC_8D878C = 0x802402BC; // type:func rom:0x8D878C -kmr_10_SetEntityPosition = 0x80240304; // type:func rom:0x8D87D4 +kmr_10_PlaySpringReboundAnimation = 0x802402BC; // type:func rom:0x8D878C +kmr_10_SetSpringPosition = 0x80240304; // type:func rom:0x8D87D4 kmr_10_foliage_setup_shear_mtx = 0x802403D0; // type:func rom:0x8D88A0 kmr_10_TransformFoliage = 0x80240440; // type:func rom:0x8D8910 kmr_10_varStash = 0x80240C20; // type:data rom:0x8D90F0 @@ -16159,7 +16159,7 @@ dup_kmr_11_TransformFoliage = 0x80240F90; // type:func rom:0x8DB090 D_802510B0_8EB1B0 = 0x802510B0; // type:data rom:0x8EB1B0 D_802510B8_8EB1B8 = 0x802510B8; // type:data rom:0x8EB1B8 D_802510C0_8EB1C0 = 0x802510C0; // type:data rom:0x8EB1C0 -kmr_12_GetGoomba = 0x80240000; // type:func rom:0x8EB360 +kmr_12_GetAmbushEnemy = 0x80240000; // type:func rom:0x8EB360 kmr_12_entryList = 0x80240030; // type:data rom:0x8EB390 kmr_12_settings = 0x80240050; // type:data rom:0x8EB3B0 kmr_12_PlayMusic = 0x80240090; // type:data rom:0x8EB3F0 @@ -16258,12 +16258,12 @@ D_80252D50_8FEB70 = 0x80252D50; // type:data rom:0x8FEB70 D_80252DC0_8FEBE0 = 0x80252DC0; // type:data rom:0x8FEBE0 D_80253030_8FEE50 = 0x80253030; // type:data rom:0x8FEE50 D_80253038_8FEE58 = 0x80253038; // type:data rom:0x8FEE58 -func_80240000_8FEE80 = 0x80240000; // type:func rom:0x8FEE80 -func_80240010_8FEE90 = 0x80240010; // type:func rom:0x8FEE90 -func_80240210_8FF090 = 0x80240210; // type:func rom:0x8FF090 -func_80240298_8FF118 = 0x80240298; // type:func rom:0x8FF118 -func_802402B4_8FF134 = 0x802402B4; // type:func rom:0x8FF134 -func_802402C8_8FF148 = 0x802402C8; // type:func rom:0x8FF148 +kmr_21_map_init = 0x80240000; // type:func rom:0x8FEE80 +kmr_21_worker_render_title_image = 0x80240010; // type:func rom:0x8FEE90 +kmr_21_LoadTitleImage = 0x80240210; // type:func rom:0x8FF090 +kmr_21_AwaitConfirmInput = 0x80240298; // type:func rom:0x8FF118 +kmr_21_SetTitlePrimAlpha = 0x802402B4; // type:func rom:0x8FF134 +kmr_21_SetTitlePosY = 0x802402C8; // type:func rom:0x8FF148 D_80240330_8FF1B0 = 0x80240330; // type:data rom:0x8FF1B0 D_80240333_8FF1B3 = 0x80240333; // type:data rom:0x8FF1B3 D_80240334_8FF1B4 = 0x80240334; // type:data rom:0x8FF1B4 @@ -16286,38 +16286,41 @@ D_80240DE0_900450 = 0x80240DE0; // type:data rom:0x900450 D_80241F00_901570 = 0x80241F00; // type:data rom:0x901570 D_80241FE0_901650 = 0x80241FE0; // type:data rom:0x901650 D_802483B0_907A20 = 0x802483B0; // type:data rom:0x907A20 -func_80240000_907A30 = 0x80240000; // type:func rom:0x907A30 -func_80240010_907A40 = 0x80240010; // type:func rom:0x907A40 -func_80240040_907A70 = 0x80240040; // type:func rom:0x907A70 -func_80240274_907CA4 = 0x80240274; // type:func rom:0x907CA4 -func_80240300_907D30 = 0x80240300; // type:func rom:0x907D30 -func_802403A8_907DD8 = 0x802403A8; // type:func rom:0x907DD8 -func_80240494_907EC4 = 0x80240494; // type:func rom:0x907EC4 -func_80240528_907F58 = 0x80240528; // type:func rom:0x907F58 -func_8024061C_90804C = 0x8024061C; // type:func rom:0x90804C -func_802407B8_9081E8 = 0x802407B8; // type:func rom:0x9081E8 -func_8024088C_9082BC = 0x8024088C; // type:func rom:0x9082BC -func_80240A00_908430 = 0x80240A00; // type:func rom:0x908430 -func_80240BB4_9085E4 = 0x80240BB4; // type:func rom:0x9085E4 -func_80240C94_9086C4 = 0x80240C94; // type:func rom:0x9086C4 -func_80240CA8_9086D8 = 0x80240CA8; // type:func rom:0x9086D8 -func_80240D14_908744 = 0x80240D14; // type:func rom:0x908744 -func_80240D5C_90878C = 0x80240D5C; // type:func rom:0x90878C +kmr_23_map_init = 0x80240000; // type:func rom:0x907A30 +kmr_23_func_80240010_907A40 = 0x80240010; // type:func rom:0x907A40 +kmr_23_CreateEndChapterData = 0x80240040; // type:func rom:0x907A70 +kmr_23_AddCardAngularVelocity = 0x80240274; // type:func rom:0x907CA4 +kmr_23_AccelerateCardSpin = 0x80240300; // type:func rom:0x907D30 +kmr_23_MakeCardFloatUpward = 0x802403A8; // type:func rom:0x907DD8 +kmr_23_ShowRadialShimmer = 0x80240494; // type:func rom:0x907EC4 +kmr_23_FadeInSpiritNpc = 0x80240528; // type:func rom:0x907F58 +kmr_23_FlashScreenWhite = 0x8024061C; // type:func rom:0x90804C +kmr_23_SpinDownStarSpirit = 0x802407B8; // type:func rom:0x9081E8 +kmr_23_EndOfChapterBounceIn = 0x8024088C; // type:func rom:0x9082BC +kmr_23_EndOfChapterSplitApart = 0x80240A00; // type:func rom:0x908430 +kmr_23_func_80240BB4_9085E4 = 0x80240BB4; // type:func rom:0x9085E4 +kmr_23_AwaitConfirmInput = 0x80240C94; // type:func rom:0x9086C4 +kmr_23_func_80240CA8_9086D8 = 0x80240CA8; // type:func rom:0x9086D8 +kmr_23_ShowMessagesInFrontOfCurtains = 0x80240D14; // type:func rom:0x908744 +kmr_23_ShowMessagesBehindCurtains = 0x80240D5C; // type:func rom:0x90878C func_80240DA4_9087D4 = 0x80240DA4; // type:func rom:0x9087D4 D_8024168C_9090BC = 0x8024168C; // type:data rom:0x9090BC -D_802417C8_9091F8 = 0x802417C8; // type:data rom:0x9091F8 +kmr_23_window_ul_img = 0x802416C8; // type:data rom:0x9090F8 +kmr_23_window_ur_img = 0x80241708; // type:data rom:0x909138 +kmr_23_window_ll_img = 0x80241748; // type:data rom:0x909178 +kmr_23_window_lr_img = 0x80241788; // type:data rom:0x9091B8 D_802417CC_9091FC = 0x802417CC; // type:data rom:0x9091FC D_802417D0_909200 = 0x802417D0; // type:data rom:0x909200 D_802417D8_909208 = 0x802417D8; // type:data rom:0x909208 -func_80240000_90B240 = 0x80240000; // type:func rom:0x90B240 -func_80240010_90B250 = 0x80240010; // type:func rom:0x90B250 -func_80240074_90B2B4 = 0x80240074; // type:func rom:0x90B2B4 +kmr_24_map_init = 0x80240000; // type:func rom:0x90B240 +kmr_24_ExitGame = 0x80240010; // type:func rom:0x90B250 +kmr_24_SaveAndContinue = 0x80240074; // type:func rom:0x90B2B4 D_80240480_90B6C0 = 0x80240480; // type:data rom:0x90B6C0 kmr_30_UpdateTexturePanSmooth = 0x80240000; // type:func rom:0x90B6D0 kmr_30_UpdateTexturePanStepped = 0x80240124; // type:func rom:0x90B7F4 -func_80240310_90B9E0 = 0x80240310; // type:func rom:0x90B9E0 -func_8024045C_90BB2C = 0x8024045C; // type:func rom:0x90BB2C -func_80240488_90BB58 = 0x80240488; // type:func rom:0x90BB58 +kmr_30_ChooseFireworkColors = 0x80240310; // type:func rom:0x90B9E0 +kmr_30_UpdateTheEndAlpha = 0x8024045C; // type:func rom:0x90BB2C +kmr_30_gfx_build_the_end = 0x80240488; // type:func rom:0x90BB58 D_80240C0C_90C2DC = 0x80240C0C; // type:data rom:0x90C2DC D_80240C0F_90C2DF = 0x80240C0F; // type:data rom:0x90C2DF iwa_00_StashVars = 0x80240000; // type:func rom:0x90CC40 diff --git a/ver/us/undefined_syms.txt b/ver/us/undefined_syms.txt index e385aa7b4f..d752fce943 100644 --- a/ver/us/undefined_syms.txt +++ b/ver/us/undefined_syms.txt @@ -320,7 +320,6 @@ D_802440FF = 0x802440FF; D_80244100 = 0x80244100; D_80244104 = 0x80244104; dead_03_D_802442D0 = 0x802442D0; -kzn_20_LetterDelivery_SavedNpcAnim = 0x80244494; D_802447C0 = 0x802447C0; D_80244A20 = 0x80244A20; sbk_30_D_80244C18 = 0x80244C18; @@ -378,10 +377,6 @@ nok_01_LetterDelivery_SavedNpcAnim = 0x80251E34; nok_02_LetterDelivery_SavedNpcAnim = 0x80254B94; jan_00_LetterDelivery_SavedNpcAnim = 0x80247CB4; jan_03_LetterDelivery_SavedNpcAnim = 0x8024FF04; -kzn_02_LetterDelivery_SavedNpcAnim = 0x80246794; -kzn_03_LetterDelivery_SavedNpcAnim = 0x802475E4; -kzn_09_LetterDelivery_SavedNpcAnim = 0x80247664; -kzn_17_LetterDelivery_SavedNpcAnim = 0x802467B4; sam_01_LetterDelivery_SavedNpcAnim = 0x8024DF24; sam_06_LetterDelivery_SavedNpcAnim = 0x8024C1D8; sbk_30_LetterDelivery_SavedNpcAnim = 0x80244D88; @@ -712,10 +707,6 @@ D_802EE8D0 = 0x802EE8D0; D_802F39D0 = 0x802F39D0; D_802F4560 = 0x802F4560; -kzn_02_KeyItemChoiceList = 0x802465D0; -D_80247420_kzn_03 = 0x80247420; -kzn_19_VineRenderState = 0x80248380; -kzn_19_LetterDelivery_SavedNpcAnim = 0x8024854C; D_80247BB8_pra_19 = 0x80247BB8; pra_01_80243178 = 0x80243178; D_802312E0_battle_area_omo2 = 0x802312E0; @@ -740,3 +731,5 @@ D_802423D0 = 0x802423D0; D_80242310 = 0x80242310; flo_23_ConsumableChoiceList = 0x802426E0; kmr_04_80243770 = 0x80243770; + +EntityModel_Spring_ReboundAnim = 0x1E4;