diff --git a/include/effects.h b/include/effects.h index 797df7e864..f8d8d86be0 100644 --- a/include/effects.h +++ b/include/effects.h @@ -975,11 +975,11 @@ typedef struct RadialShimmerFXData { } RadialShimmerFXData; // size = 0x70 typedef struct EndingDecalsFXData { - /* 0x00 */ s32 unk_00; + /* 0x00 */ s32 type; /* 0x04 */ Vec3f pos; - /* 0x10 */ f32 unk_10; + /* 0x10 */ f32 scale; /* 0x14 */ f32 unk_14; - /* 0x18 */ s32 unk_18; + /* 0x18 */ s32 haloAlpha; /* 0x1C */ s32 unk_1C; /* 0x20 */ s32 unk_20; /* 0x24 */ u8 unk_24; @@ -992,16 +992,14 @@ typedef struct EndingDecalsFXData { } EndingDecalsFXData; // size = 0x2C typedef struct LightRaysFXData { - /* 0x00 */ s32 unk_00; + /* 0x00 */ s32 type; /* 0x04 */ char unk_04[0xC]; - /* 0x10 */ f32 unk_10; - /* 0x14 */ f32 unk_14; - /* 0x18 */ f32 unk_18; + /* 0x10 */ Vec3f pos; /* 0x1C */ f32 unk_1C; /* 0x20 */ f32 unk_20; - /* 0x24 */ s32 unk_24; - /* 0x28 */ s32 unk_28; - /* 0x2C */ s32 unk_2C; + /* 0x24 */ s32 alpha; + /* 0x28 */ s32 timeLeft; + /* 0x2C */ s32 lifetime; /* 0x30 */ char unk_30[4]; /* 0x34 */ f32 unk_34; /* 0x38 */ f32 unk_38; @@ -1013,14 +1011,10 @@ typedef struct LightRaysFXData { /* 0x50 */ f32 unk_50; /* 0x54 */ f32 unk_54; /* 0x58 */ f32 unk_58; - /* 0x5C */ f32 unk_5C; - /* 0x60 */ f32 unk_60; - /* 0x64 */ f32 unk_64; + /* 0x5C */ Vec3f rotation; /* 0x68 */ f32 unk_68; /* 0x6C */ f32 unk_6C; - /* 0x70 */ f32 unk_70; - /* 0x74 */ f32 unk_74; - /* 0x78 */ f32 unk_78; + /* 0x70 */ Vec3f initialRot; /* 0x7C */ s32 unk_7C; /* 0x80 */ f32 unk_80; /* 0x84 */ f32 unk_84; diff --git a/include/enums.h b/include/enums.h index 10ff30cdf0..bbeadf4680 100644 --- a/include/enums.h +++ b/include/enums.h @@ -1669,8 +1669,8 @@ enum ItemIDs { ITEM_LETTER02 = 0x00000037, ITEM_LETTER03 = 0x00000038, ITEM_LETTER04 = 0x00000039, - ITEM_LETTER05 = 0x0000003A, - ITEM_LETTER06 = 0x0000003B, + ITEM_LETTER_TO_MAYOR_PENGUIN = 0x0000003A, + ITEM_LETTER_TO_MERLOW = 0x0000003B, ITEM_LETTER07 = 0x0000003C, ITEM_LETTER08 = 0x0000003D, ITEM_LETTER_TO_MINHT = 0x0000003E, @@ -5627,7 +5627,7 @@ typedef enum FoldType { FOLD_TYPE_A = 0xA, FOLD_TYPE_B = 0xB, FOLD_TYPE_C = 0xC, - FOLD_TYPE_D = 0xD, + FOLD_TYPE_D = 0xD, // noisy star spirit FOLD_TYPE_E = 0xE, FOLD_TYPE_F = 0xF, FOLD_TYPE_10 = 0x10, diff --git a/include/evt.h b/include/evt.h index 32591d9481..16b066ed0d 100644 --- a/include/evt.h +++ b/include/evt.h @@ -119,6 +119,12 @@ typedef s32 ApiStatus; #define ApiStatus_REPEAT 3 /* Call again immediately */ #define ApiStatus_FINISH 255 /* Corresponds to EVT_FINISH */ +enum EventCommandResults { + EVT_CMD_RESULT_YIELD = -1, + EVT_CMD_RESULT_CONTINUE = 0, + EVT_CMD_RESULT_ERROR = 1, +}; + enum EventGroupFlags { EVT_GROUP_00 = 0x00, EVT_GROUP_0A = 0x0A, // 8 | 2 diff --git a/include/script_api/common.h b/include/script_api/common.h index 7474b0d28d..db8e0ecb2e 100644 --- a/include/script_api/common.h +++ b/include/script_api/common.h @@ -174,7 +174,7 @@ ApiStatus ShowChoice(Evt* script, s32 isInitialCall); ApiStatus CloseChoice(Evt* script, s32 isInitialCall); ApiStatus CancelMessage(Evt* script, s32 isInitialCall); ApiStatus SetMessageImages(Evt* script, s32 isInitialCall); -ApiStatus SetMessageMsg(Evt* script, s32 isInitialCall); +ApiStatus SetMessageText(Evt* script, s32 isInitialCall); ApiStatus SetMessageValue(Evt* script, s32 isInitialCall); ApiStatus HidePlayerShadow(Evt* script, s32 isInitialCall); ApiStatus DisablePlayerPhysics(Evt* script, s32 isInitialCall); @@ -333,6 +333,7 @@ ApiStatus SetCustomGfx(Evt* script, s32 isInitialCall); ApiStatus SetCustomGfxBuilders(Evt* script, s32 isInitialCall); ApiStatus SetModelCustomGfx(Evt* script, s32 isInitialCall); ApiStatus SetNpcPaletteSwapMode(Evt* script, s32 isInitialCall); +ApiStatus SetNpcPaletteSwapLower(Evt* script, s32 isInitialCall); ApiStatus SetNpcPaletteSwapping(Evt* script, s32 isInitialCall); ApiStatus MakeTransformGroup(Evt* script, s32 isInitialCall); diff --git a/include/script_api/macros.h b/include/script_api/macros.h index b50fef3526..392fc9e5b7 100644 --- a/include/script_api/macros.h +++ b/include/script_api/macros.h @@ -649,6 +649,17 @@ EVT_END \ } +// alternate version of EVT_EXIT_WALK used on Pleasant Path which does not join EVT_GROUP_1B +#define EVT_EXIT_WALK_NOK(walkDistance, exitIdx, map, entryIdx) \ + { \ + EVT_CALL(UseExitHeading, walkDistance, exitIdx) \ + EVT_EXEC(ExitWalk) \ + EVT_CALL(GotoMap, EVT_PTR(map), entryIdx) \ + EVT_WAIT(100) \ + EVT_RETURN \ + EVT_END \ + } + // alternate version of EVT_EXIT_WALK which includes a call to DisablePlayerInput #define EVT_EXIT_WALK_FIXED(walkDistance, exitIdx, map, entryIdx) \ { \ diff --git a/src/182B30.c b/src/182B30.c index b0ce451583..c09be0cfc3 100644 --- a/src/182B30.c +++ b/src/182B30.c @@ -1406,7 +1406,7 @@ void appendGfx_player_actor(void* arg0) { effect->data.endingDecals->pos.x = playerPosX; effect->data.endingDecals->pos.y = playerPosY; effect->data.endingDecals->pos.z = playerPosZ; - effect->data.endingDecals->unk_10 = player->scalingFactor; + effect->data.endingDecals->scale = player->scalingFactor; } else { effect = battleStatus->cloudNineEffect; effect->data.endingDecals->pos.x = playerPosX; diff --git a/src/325AD0.c b/src/325AD0.c index 83ed53bb19..309f5e89d4 100644 --- a/src/325AD0.c +++ b/src/325AD0.c @@ -14,40 +14,42 @@ void* effectFuncs[] = { }; s32 D_E0200734[128] = { - 0x100B2AF5, 0x45B59924, 0x35094B45, 0x4ABFA67A, 0x164F5371, 0x7B195845, 0x58562A56, 0x25733D41, 0x48008107, - 0x0E004F28, 0x6963B8AD, 0x5B82AB71, 0x6BC1F51B, 0x3D947816, 0x39705175, 0x44409A59, 0x0ED99067, 0x5F70B6F8, - 0x3225AEEE, 0x08B5E97C, 0x2CDE7594, 0x5E9E5B7D, 0x5B2A2888, 0x107F0F50, 0x58FBC53B, 0x65F69F19, 0x3AF6CEF3, - 0x15C3894F, 0x4C931A2C, 0x39A897E9, 0x5945BB8C, 0x5C9E4521, 0x7F5E310D, 0x0E4F06D2, 0x275DEB9C, 0x15AD847F, - 0x09685F17, 0x7FB415F2, 0x3B20C1C0, 0x5168E01E, 0x0DB4651A, 0x24847A6D, 0x2CEB8B8F, 0x79765A35, 0x6218F283, - 0x665BDD04, 0x3DB6F48F, 0x70F282EB, 0x45CC93FC, 0x6FDCA37D, 0x79A86C67, 0x72AB0990, 0x4E7AFEFA, 0x54D294F0, - 0x032A18E0, 0x2776C435, 0x3AC93409, 0x3E20E7D4, 0x3D3A4D85, 0x075C4E35, 0x77C97FBD, 0x16800911, 0x63FA9357, - 0x7727B0CB, 0x24CF0FE3, 0x0B587EF3, 0x0CD5354A, 0x2E376EFA, 0x0B0C94E5, 0x47F5F70A, 0x7FA04F19, 0x18C0FA00, - 0x6C7A7178, 0x2C8BDAA8, 0x12375435, 0x4E9363FB, 0x12E7B7AD, 0x4FEE48C4, 0x3F85E6E6, 0x58B44BA9, 0x3FCAEC41, - 0x392E534E, 0x4B5F553A, 0x0E45EB3C, 0x0E00E83E, 0x4E896E1A, 0x35BCAF71, 0x48CA1C47, 0x0CAA55EE, 0x72F6FCF6, - 0x50266A7D, 0x0473D5AC, 0x09770608, 0x3420FDD4, 0x7B9B8677, 0x2E4615EB, 0x3F797CC7, 0x0870BBC1, 0x5C7D84E6, - 0x4A8611AC, 0x5066B2CB, 0x5C1DD3FF, 0x63470BAC, 0x3CE12443, 0x08A9AEA7, 0x757E5FE2, 0x0B74883F, 0x1B916654, - 0x456CA8A6, 0x4AFA6F25, 0x7445B1FE, 0x053794E8, 0x0428C273, 0x3FA50738, 0x137D8024, 0x1229AAB1, 0x0E2E7552, - 0x493A2F95, 0x5AF3C6F9, 0x1AD8CB41, 0x3C312C8C, 0x2B1A3176, 0x1F4CA0ED, 0x45A83294, 0x5F3B2F4A, 0x1AE82764, - 0x73EE487F, 0x1EB4AC11 + 0x100B2AF5, 0x45B59924, 0x35094B45, 0x4ABFA67A, 0x164F5371, 0x7B195845, 0x58562A56, 0x25733D41, + 0x48008107, 0x0E004F28, 0x6963B8AD, 0x5B82AB71, 0x6BC1F51B, 0x3D947816, 0x39705175, 0x44409A59, + 0x0ED99067, 0x5F70B6F8, 0x3225AEEE, 0x08B5E97C, 0x2CDE7594, 0x5E9E5B7D, 0x5B2A2888, 0x107F0F50, + 0x58FBC53B, 0x65F69F19, 0x3AF6CEF3, 0x15C3894F, 0x4C931A2C, 0x39A897E9, 0x5945BB8C, 0x5C9E4521, + 0x7F5E310D, 0x0E4F06D2, 0x275DEB9C, 0x15AD847F, 0x09685F17, 0x7FB415F2, 0x3B20C1C0, 0x5168E01E, + 0x0DB4651A, 0x24847A6D, 0x2CEB8B8F, 0x79765A35, 0x6218F283, 0x665BDD04, 0x3DB6F48F, 0x70F282EB, + 0x45CC93FC, 0x6FDCA37D, 0x79A86C67, 0x72AB0990, 0x4E7AFEFA, 0x54D294F0, 0x032A18E0, 0x2776C435, + 0x3AC93409, 0x3E20E7D4, 0x3D3A4D85, 0x075C4E35, 0x77C97FBD, 0x16800911, 0x63FA9357, 0x7727B0CB, + 0x24CF0FE3, 0x0B587EF3, 0x0CD5354A, 0x2E376EFA, 0x0B0C94E5, 0x47F5F70A, 0x7FA04F19, 0x18C0FA00, + 0x6C7A7178, 0x2C8BDAA8, 0x12375435, 0x4E9363FB, 0x12E7B7AD, 0x4FEE48C4, 0x3F85E6E6, 0x58B44BA9, + 0x3FCAEC41, 0x392E534E, 0x4B5F553A, 0x0E45EB3C, 0x0E00E83E, 0x4E896E1A, 0x35BCAF71, 0x48CA1C47, + 0x0CAA55EE, 0x72F6FCF6, 0x50266A7D, 0x0473D5AC, 0x09770608, 0x3420FDD4, 0x7B9B8677, 0x2E4615EB, + 0x3F797CC7, 0x0870BBC1, 0x5C7D84E6, 0x4A8611AC, 0x5066B2CB, 0x5C1DD3FF, 0x63470BAC, 0x3CE12443, + 0x08A9AEA7, 0x757E5FE2, 0x0B74883F, 0x1B916654, 0x456CA8A6, 0x4AFA6F25, 0x7445B1FE, 0x053794E8, + 0x0428C273, 0x3FA50738, 0x137D8024, 0x1229AAB1, 0x0E2E7552, 0x493A2F95, 0x5AF3C6F9, 0x1AD8CB41, + 0x3C312C8C, 0x2B1A3176, 0x1F4CA0ED, 0x45A83294, 0x5F3B2F4A, 0x1AE82764, 0x73EE487F, 0x1EB4AC11, }; - -u32 func_E0200000(s32 arg0) { +// very simple 'random' number generator that mutates a single value in memory +u32 func_E0200000(s32 max) { s32 temp_v0 = D_E0200690 * 4; D_E0200690 = (u32)((temp_v0 + 2) * (temp_v0 + 3)) / 4; - return D_E0200690 % (arg0 + 1); + return D_E0200690 % (max + 1); } -s32 func_E0200044(s32 arg0, s32 arg1) { - s32 temp_v0 = D_E0200734[arg1 % ARRAY_COUNT(D_E0200734)]; +// very simple 'random' number generator using a LUT +s32 func_E0200044(s32 max, s32 idx) { + s32 lookupVal = D_E0200734[idx % ARRAY_COUNT(D_E0200734)]; - if (temp_v0 < 0) { - temp_v0 = -temp_v0; + if (lookupVal < 0) { + lookupVal = -lookupVal; } - return temp_v0 % (arg0 + 1); + return lookupVal % (max + 1); } diff --git a/src/415D90.c b/src/415D90.c index a4e901a2fa..13947c763a 100644 --- a/src/415D90.c +++ b/src/415D90.c @@ -5161,7 +5161,7 @@ void btl_state_draw_select_target(void) { target = &actor->targetData[targetIndexList[selectedTargetIndex]]; anotherActor = get_actor(target->actorID); msgID = get_actor_part(anotherActor, target->partID)->staticData->unk_20; - if (msgID == 0) { + if (msgID == MSG_NONE) { msgID = bActorNames[anotherActor->actorType]; } msgWidth = get_msg_width(msgID, 0) + 10; @@ -5193,7 +5193,7 @@ void btl_state_draw_select_target(void) { target = &actor->targetData[targetIndexList[selectedTargetIndex]]; anotherActor = get_actor(target->actorID); msgID = get_actor_part(anotherActor, target->partID)->staticData->unk_20; - if (msgID == 0) { + if (msgID == MSG_NONE) { msgID = bActorNames[anotherActor->actorType]; } draw_msg(msgID, screenX + *tmpPtr, screenY, 255, MSG_PAL_36, 0); // TODO required to match diff --git a/src/battle/partner/lakilester.c b/src/battle/partner/lakilester.c index cd71787534..186ed486c9 100644 --- a/src/battle/partner/lakilester.c +++ b/src/battle/partner/lakilester.c @@ -695,7 +695,7 @@ ApiStatus N(CloudNineFX)(Evt* script, s32 isInitialCall) { if (sCounter >= 1.0) { return ApiStatus_DONE2; } - battleStatus->cloudNineEffect->data.endingDecals->unk_10 += 0.2; + battleStatus->cloudNineEffect->data.endingDecals->scale += 0.2; sCounter += 0.2; break; } diff --git a/src/effects/ending_decals.c b/src/effects/ending_decals.c index 4131e2ddcc..0167012f6e 100644 --- a/src/effects/ending_decals.c +++ b/src/effects/ending_decals.c @@ -28,7 +28,7 @@ void ending_decals_update(EffectInstance* effect); void ending_decals_render(EffectInstance* effect); void ending_decals_appendGfx(void* effect); -void ending_decals_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, EffectInstance** outEffect) { +void ending_decals_main(s32 type, f32 posX, f32 posY, f32 posZ, f32 arg4, EffectInstance** outEffect) { EffectBlueprint bp; EffectInstance* effect; EndingDecalsFXData* data; @@ -46,17 +46,17 @@ void ending_decals_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, Effect data = effect->data.endingDecals = shim_general_heap_malloc(numParts * sizeof(*data)); ASSERT(effect->data.endingDecals != NULL); - data->unk_00 = arg0; - data->pos.x = arg1; - data->pos.y = arg2; - data->pos.z = arg3; - data->unk_18 = 255; + data->type = type; + data->pos.x = posX; + data->pos.y = posY; + data->pos.z = posZ; + data->haloAlpha = 255; data->unk_14 = arg4; - data->unk_10 = arg4; + data->scale = arg4; data->unk_1C = 100; data->unk_20 = 0; - switch (arg0) { + switch (type) { case 0: case 1: data->unk_24 = 0; @@ -103,9 +103,9 @@ void ending_decals_update(EffectInstance* effect) { } if (data->unk_1C < 10) { - data->unk_18 -= 25; - if (data->unk_18 < 0) { - data->unk_18 = 0; + data->haloAlpha -= 25; + if (data->haloAlpha < 0) { + data->haloAlpha = 0; } } } @@ -119,7 +119,7 @@ void ending_decals_render(EffectInstance* effect) { renderTask.appendGfxArg = effect; renderTask.appendGfx = ending_decals_appendGfx; renderTask.distance = 10; - if (data->unk_00 == 0) { + if (data->type == 0) { renderTaskPtr->renderMode = RENDER_MODE_SURFACE_OPA; } else { renderTaskPtr->renderMode = RENDER_MODE_2D; @@ -139,18 +139,18 @@ void ending_decals_appendGfx(void* effect) { Matrix4f sp20; unk_20 = data->unk_20; - dlist1 = D_E00685F4[data->unk_00]; - dlist2 = D_E00685B0[data->unk_00]; + dlist1 = D_E00685F4[data->type]; + dlist2 = D_E00685B0[data->type]; gDPPipeSync(gMasterGfxPos++); gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data)); - shim_guPositionF(sp20, 0.0f, -gCameras[gCurrentCameraID].currentYaw, 0.0f, data->unk_10, data->pos.x, data->pos.y, data->pos.z); + shim_guPositionF(sp20, 0.0f, -gCameras[gCurrentCameraID].currentYaw, 0.0f, data->scale, data->pos.x, data->pos.y, data->pos.z); shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]); gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW); - temp_f64 = data->unk_18; + temp_f64 = data->haloAlpha; if (unk_20 % 2 == 0) { alpha = temp_f64 * 0.97; } else { diff --git a/src/effects/light_rays.c b/src/effects/light_rays.c index 79a9526856..015756cf54 100644 --- a/src/effects/light_rays.c +++ b/src/effects/light_rays.c @@ -15,11 +15,22 @@ Gfx* D_E006AE00[] = { }; s32 D_E006AE10[] = { - 0, -20, 0, 1, 18, -10, -60, 45, -1, 4, -20, -20, 90, 1, 1, -10, - -60, 135, 1, -4, 0, -20, 180, -8, 1, -10, -60, 225, -1, -1, -20, -20, - 270, 1, -9, -10, -60, 315, 4, 4, 0, 10, 22, 4, 1, -10, 20, 67, - 1, -1, -20, 10, 112, -1, -1, -10, 20, 157, -8, 1, 0, 10, 202, 1, - -4, -10, 20, 247, 1, -18, -20, 10, 292, -1, 9, -10, 20, 337, 1, 1 + 0, -20, 0, 1, 18, + -10, -60, 45, -1, 4, + -20, -20, 90, 1, 1, + -10, -60, 135, 1, -4, + 0, -20, 180, -8, 1, + -10, -60, 225, -1, -1, + -20, -20, 270, 1, -9, + -10, -60, 315, 4, 4, + 0, 10, 22, 4, 1, + -10, 20, 67, 1, -1, + -20, 10, 112, -1, -1, + -10, 20, 157, -8, 1, + 0, 10, 202, 1, -4, + -10, 20, 247, 1, -18, + -20, 10, 292, -1, 9, + -10, 20, 337, 1, 1 }; void light_rays_init(EffectInstance* effect); @@ -27,32 +38,32 @@ void light_rays_update(EffectInstance* effect); void light_rays_render(EffectInstance* effect); void light_rays_appendGfx(void* effect); -void func_E006A000(LightRaysFXData* part, s32 arg1) { - s32 temp = arg1 * 3; +void func_E006A000(LightRaysFXData* part, s32 beamIdx) { + s32 temp = beamIdx * 3; - part->unk_70 = func_E0200044(180, temp); - part->unk_74 = func_E0200044(180, temp + 1); - part->unk_78 = func_E0200044(180, temp + 2); - part->unk_24 = 0; - part->unk_2C = 0; + part->initialRot.x = func_E0200044(180, temp); + part->initialRot.y = func_E0200044(180, temp + 1); + part->initialRot.z = func_E0200044(180, temp + 2); + part->alpha = 0; + part->lifetime = 0; part->unk_58 = part->unk_68; - part->unk_28 = part->unk_7C; + part->timeLeft = part->unk_7C; part->unk_8C = part->unk_6C; - part->unk_5C = part->unk_70; - part->unk_60 = part->unk_74; - part->unk_64 = part->unk_78; + part->rotation.x = part->initialRot.x; + part->rotation.y = part->initialRot.y; + part->rotation.z = part->initialRot.z; } -void func_E006A0BC(LightRaysFXData* part, s32 arg1) { - s32 idx = (arg1 - 1) * 5; +void func_E006A0BC(LightRaysFXData* part, s32 beamIdx) { + s32 idx = (beamIdx - 1) * 5; part->unk_58 = 0; - part->unk_28 = arg1 * 2 + 30; - part->unk_5C = D_E006AE10[idx++]; - part->unk_60 = D_E006AE10[idx++]; - part->unk_64 = D_E006AE10[idx++]; - part->unk_24 = 0; - part->unk_2C = 0; + part->timeLeft = beamIdx * 2 + 30; + part->rotation.x = D_E006AE10[idx++]; + part->rotation.y = D_E006AE10[idx++]; + part->rotation.z = D_E006AE10[idx++]; + part->alpha = 0; + part->lifetime = 0; part->unk_34 = part->unk_38 = 0.0f; part->unk_48 = 0.0f; part->unk_4C = -0.6f; @@ -67,11 +78,11 @@ void func_E006A0BC(LightRaysFXData* part, s32 arg1) { } void light_rays_main( - s32 arg0, - f32 arg1, - f32 arg2, - f32 arg3, - f32 arg4, + s32 type, + f32 posX, + f32 posY, + f32 posZ, + f32 scale, EffectInstance** outEffect ) { EffectBlueprint bp; @@ -83,7 +94,7 @@ void light_rays_main( s32 temp1; s32 i; - if (arg0 < 2) { + if (type < 2) { numParts = 9; } else { numParts = 17; @@ -101,16 +112,15 @@ void light_rays_main( part = effect->data.lightRays = shim_general_heap_malloc(numParts * sizeof(*part)); ASSERT(effect->data.lightRays != NULL); - part->unk_00 = arg0; - part->unk_28 = 100; - part->unk_2C = 0; - part->unk_10 = arg1; - part->unk_14 = arg2; - part->unk_18 = arg3; - part->unk_20 = arg4; - part->unk_1C = arg4; + part->type = type; + part->timeLeft = 100; + part->lifetime = 0; + part->pos.x = posX; + part->pos.y = posY; + part->pos.z = posZ; + part->unk_1C = part->unk_20 = scale; - switch (arg0) { + switch (type) { case 0: case 1: part++; @@ -174,46 +184,46 @@ void func_E006A464(LightRaysFXData* part) { void light_rays_update(EffectInstance* effect) { LightRaysFXData* part = effect->data.lightRays; - s32 unk_00 = part->unk_00; - s32 unk_28; - s32 unk_2C; + s32 type = part->type; + s32 timeLeft; + s32 lifetime; s32 i; - if (part->unk_28 < 11) { - part->unk_28--; + if (part->timeLeft < 11) { + part->timeLeft--; } - part->unk_2C++; + part->lifetime++; - if (effect->flags & 0x10) { - effect->flags &= ~0x10; - part->unk_28 = 10; + if (effect->flags & EFFECT_INSTANCE_FLAG_10) { + effect->flags &= ~EFFECT_INSTANCE_FLAG_10; + part->timeLeft = 10; } - if (part->unk_28 < 0) { + if (part->timeLeft < 0) { shim_remove_effect(effect); return; } - unk_28 = part->unk_28; - unk_2C = part->unk_2C; + timeLeft = part->timeLeft; + lifetime = part->lifetime; - switch (unk_00) { + switch (type) { case 0: case 1: part++; for (i = 1; i < effect->numParts; i++, part++) { - part->unk_28--; - part->unk_2C++; - if (part->unk_2C < 10) { - part->unk_24 = part->unk_2C * 12; + part->timeLeft--; + part->lifetime++; + if (part->lifetime < 10) { + part->alpha = part->lifetime * 12; } - if (part->unk_28 < 5) { - part->unk_24 = part->unk_28 * 25; + if (part->timeLeft < 5) { + part->alpha = part->timeLeft * 25; } part->unk_58 += part->unk_8C; - if (part->unk_28 <= 0) { - func_E006A000(part, unk_2C * 10 + 1); + if (part->timeLeft <= 0) { + func_E006A000(part, lifetime * 10 + 1); } } break; @@ -221,24 +231,24 @@ void light_rays_update(EffectInstance* effect) { part++; for (i = 1; i < effect->numParts; i++, part++) { func_E006A464(part); - part->unk_28--; - part->unk_2C++; - if (part->unk_2C < 5) { - part->unk_24 = part->unk_2C * 50; + part->timeLeft--; + part->lifetime++; + if (part->lifetime < 5) { + part->alpha = part->lifetime * 50; } - if (part->unk_28 < 5) { - part->unk_24 = part->unk_28 * 50; + if (part->timeLeft < 5) { + part->alpha = part->timeLeft * 50; } - if (unk_28 < 10) { - part->unk_24 = (part->unk_24 * unk_28) / 10; + if (timeLeft < 10) { + part->alpha = (part->alpha * timeLeft) / 10; } - if (part->unk_28 <= 0) { + if (part->timeLeft <= 0) { func_E006A0BC(part, i); } if (part->unk_90 <= 0 || --part->unk_90 <= 0) { - part->unk_5C += part->unk_80; - part->unk_60 += part->unk_84; - part->unk_64 += part->unk_88; + part->rotation.x += part->unk_80; + part->rotation.y += part->unk_84; + part->rotation.z += part->unk_88; } } } @@ -269,50 +279,50 @@ void func_E006A85C(LightRaysFXData* part) { void light_rays_appendGfx(void* effect) { LightRaysFXData* part = ((EffectInstance*)effect)->data.lightRays; - s32 unk_00 = part->unk_00; - Gfx* dlist = D_E006ADF0[unk_00]; - Gfx* dlist2 = D_E006AE00[unk_00]; - Matrix4f sp18; - Matrix4f sp58; - Matrix4f sp98; + s32 type = part->type; + Gfx* dlist = D_E006ADF0[type]; + Gfx* dlist2 = D_E006AE00[type]; + Matrix4f mtxTransform; + Matrix4f mtxTemp; + Matrix4f mtxTranslate; s32 i; gDPPipeSync(gMasterGfxPos++); gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data)); gSPDisplayList(gMasterGfxPos++, dlist2); - shim_guTranslateF(sp98, part->unk_10, part->unk_14, part->unk_18); + shim_guTranslateF(mtxTranslate, part->pos.x, part->pos.y, part->pos.z); part++; for (i = 1; i < ((EffectInstance*)effect)->numParts; i++, part++) { - f32 temp = part->unk_24 / 255.0f; - f32 rotateA; + f32 temp = part->alpha / 255.0f; + f32 angleZ; f32 scaleX; f32 scaleY; f32 scaleZ; f32 unk_64; - if (unk_00 >= 2) { + if (type >= 2) { func_E006A85C(part); } - shim_guRotateF(sp58, part->unk_5C, 1.0f, 0.0f, 0.0f); - shim_guMtxCatF(sp58, sp98, sp18); + shim_guRotateF(mtxTemp, part->rotation.x, 1.0f, 0.0f, 0.0f); + shim_guMtxCatF(mtxTemp, mtxTranslate, mtxTransform); - if (unk_00 >= 2) { - unk_64 = part->unk_64; - if (unk_00 == 3) { - rotateA = unk_64 + 45.0f; + if (type >= 2) { + unk_64 = part->rotation.z; + if (type == 3) { + angleZ = unk_64 + 45.0f; } else { - rotateA = unk_64 + 0.0f; + angleZ = unk_64 + 0.0f; } - shim_guRotateF(sp58, rotateA, 0.0f, 0.0f, 1.0f); - shim_guMtxCatF(sp58, sp18, sp18); - shim_guRotateF(sp58, part->unk_60, 0.0f, 1.0f, 0.0f); - shim_guMtxCatF(sp58, sp18, sp18); - shim_guTranslateF(sp58, part->unk_58, 0.0f, 0.0f); - shim_guMtxCatF(sp58, sp18, sp18); + shim_guRotateF(mtxTemp, angleZ, 0.0f, 0.0f, 1.0f); + shim_guMtxCatF(mtxTemp, mtxTransform, mtxTransform); + shim_guRotateF(mtxTemp, part->rotation.y, 0.0f, 1.0f, 0.0f); + shim_guMtxCatF(mtxTemp, mtxTransform, mtxTransform); + shim_guTranslateF(mtxTemp, part->unk_58, 0.0f, 0.0f); + shim_guMtxCatF(mtxTemp, mtxTransform, mtxTransform); scaleX = scaleZ = (temp + 3.0f) * 0.25; switch (i & 3) { @@ -331,22 +341,22 @@ void light_rays_appendGfx(void* effect) { break; } - shim_guScaleF(sp58, scaleX, scaleY, scaleZ); - shim_guMtxCatF(sp58, sp18, sp18); + shim_guScaleF(mtxTemp, scaleX, scaleY, scaleZ); + shim_guMtxCatF(mtxTemp, mtxTransform, mtxTransform); - gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 255, 240, part->unk_24); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 255, 240, part->alpha); } else { - shim_guRotateF(sp58, part->unk_60, 0.0f, 1.0f, 0.0f); - shim_guMtxCatF(sp58, sp18, sp18); - shim_guRotateF(sp58, part->unk_64, 0.0f, 0.0f, 1.0f); - shim_guMtxCatF(sp58, sp18, sp18); - shim_guTranslateF(sp58, part->unk_58, 0.0f, 0.0f); - shim_guMtxCatF(sp58, sp18, sp18); + shim_guRotateF(mtxTemp, part->rotation.y, 0.0f, 1.0f, 0.0f); + shim_guMtxCatF(mtxTemp, mtxTransform, mtxTransform); + shim_guRotateF(mtxTemp, part->rotation.z, 0.0f, 0.0f, 1.0f); + shim_guMtxCatF(mtxTemp, mtxTransform, mtxTransform); + shim_guTranslateF(mtxTemp, part->unk_58, 0.0f, 0.0f); + shim_guMtxCatF(mtxTemp, mtxTransform, mtxTransform); - gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 255, 181, part->unk_24); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 255, 181, part->alpha); } - shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]); + shim_guMtxF2L(mtxTransform, &gDisplayContext->matrixStack[gMatrixListPos]); gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(gMasterGfxPos++, dlist); diff --git a/src/effects/something_rotating.c b/src/effects/something_rotating.c index c61c779ce2..e90e7337b8 100644 --- a/src/effects/something_rotating.c +++ b/src/effects/something_rotating.c @@ -144,8 +144,8 @@ void something_rotating_update(EffectInstance* effect) { f32 angle1; s32 i; - if (effect->flags & 0x10) { - effect->flags &= ~0x10; + if (effect->flags & EFFECT_INSTANCE_FLAG_10) { + effect->flags &= ~EFFECT_INSTANCE_FLAG_10; part->unk_10 = 32; } diff --git a/src/encounter_api.c b/src/encounter_api.c index a77afc8034..86eb5ef1b8 100644 --- a/src/encounter_api.c +++ b/src/encounter_api.c @@ -418,14 +418,14 @@ ApiStatus RestartNpcAI(Evt* script, s32 isInitialCall) { ApiStatus EnableNpcAI(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; Enemy* npc = script->owner1.enemy; - s32 npcId = evt_get_variable(script, *args++); + s32 npcID = evt_get_variable(script, *args++); s32 var2 = evt_get_variable(script, *args); - if (npcId == NPC_SELF) { - npcId = npc->npcID; + if (npcID == NPC_SELF) { + npcID = npc->npcID; } - npc = get_enemy(npcId); + npc = get_enemy(npcID); if (var2 != 0) { if (npc->aiScript != NULL) { @@ -486,14 +486,14 @@ ApiStatus SetNpcAux(Evt* script, s32 isInitialCall) { ApiStatus BindNpcAux(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; Enemy* npc = script->owner1.enemy; - s32 npcId = evt_get_variable(script, *args++); + s32 npcID = evt_get_variable(script, *args++); EvtScript* auxBytecode = (EvtScript*)evt_get_variable(script, *args); - if (npcId == NPC_SELF) { - npcId = npc->npcID; + if (npcID == NPC_SELF) { + npcID = npc->npcID; } - npc = get_enemy(npcId); + npc = get_enemy(npcID); npc->auxBytecode = auxBytecode; return ApiStatus_DONE2; @@ -535,14 +535,14 @@ ApiStatus RestartNpcAux(Evt* script, s32 isInitialCall) { ApiStatus EnableNpcAux(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; Enemy* npc = script->owner1.enemy; - s32 npcId = evt_get_variable(script, *args++); + s32 npcID = evt_get_variable(script, *args++); s32 var2 = evt_get_variable(script, *args); - if (npcId == NPC_SELF) { - npcId = npc->npcID; + if (npcID == NPC_SELF) { + npcID = npc->npcID; } - npc = get_enemy(npcId); + npc = get_enemy(npcID); if (var2 != 0) { if (npc->auxScript != NULL) { @@ -558,14 +558,14 @@ ApiStatus EnableNpcAux(Evt* script, s32 isInitialCall) { ApiStatus BindNpcInteract(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; Enemy* npc = script->owner1.enemy; - s32 npcId = evt_get_variable(script, *args++); + s32 npcID = evt_get_variable(script, *args++); EvtScript* interactBytecode = (EvtScript*)evt_get_variable(script, *args); - if (npcId == NPC_SELF) { - npcId = npc->npcID; + if (npcID == NPC_SELF) { + npcID = npc->npcID; } - npc = get_enemy(npcId); + npc = get_enemy(npcID); if (npc->interactScript != NULL) { kill_script_by_ID(npc->interactScriptID); @@ -578,14 +578,14 @@ ApiStatus BindNpcInteract(Evt* script, s32 isInitialCall) { ApiStatus BindNpcHit(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; Enemy* npc = script->owner1.enemy; - s32 npcId = evt_get_variable(script, *args++); + s32 npcID = evt_get_variable(script, *args++); EvtScript* hitBytecode = (EvtScript*)evt_get_variable(script, *args); - if (npcId == NPC_SELF) { - npcId = npc->npcID; + if (npcID == NPC_SELF) { + npcID = npc->npcID; } - npc = get_enemy(npcId); + npc = get_enemy(npcID); if (npc->hitScript != NULL) { kill_script_by_ID(npc->hitScriptID); @@ -598,14 +598,14 @@ ApiStatus BindNpcHit(Evt* script, s32 isInitialCall) { ApiStatus BindNpcDefeat(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; Enemy* npc = script->owner1.enemy; - s32 npcId = evt_get_variable(script, *args++); + s32 npcID = evt_get_variable(script, *args++); EvtScript* defeatBytecode = (EvtScript*)evt_get_variable(script, *args); - if (npcId == -1) { - npcId = npc->npcID; + if (npcID == -1) { + npcID = npc->npcID; } - npc = get_enemy(npcId); + npc = get_enemy(npcID); npc->defeatBytecode = defeatBytecode; return ApiStatus_DONE2; @@ -631,15 +631,15 @@ ApiStatus GetSelfVar(Evt* script, s32 isInitialCall) { ApiStatus SetNpcVar(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; Enemy* npc = script->owner1.enemy; - s32 npcId = evt_get_variable(script, *args++); + s32 npcID = evt_get_variable(script, *args++); s32 varIdx = evt_get_variable(script, *args++); s32 val = evt_get_variable(script, *args); - if (npcId == NPC_SELF) { - npcId = npc->npcID; + if (npcID == NPC_SELF) { + npcID = npc->npcID; } - npc = get_enemy(npcId); + npc = get_enemy(npcID); npc->varTable[varIdx] = val; return ApiStatus_DONE2; @@ -728,15 +728,15 @@ ApiStatus ClearDefeatedEnemies(Evt* script, s32 isInitialCall) { ApiStatus SetEnemyFlagBits(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; Enemy* npc = script->owner1.enemy; - s32 npcId = evt_get_variable(script, *args++); + s32 npcID = evt_get_variable(script, *args++); s32 bits = *args++; s32 var2 = evt_get_variable(script, *args); - if (npcId == NPC_SELF) { - npcId = npc->npcID; + if (npcID == NPC_SELF) { + npcID = npc->npcID; } - npc = get_enemy(npcId); + npc = get_enemy(npcID); if (var2 != NULL) { npc->flags |= bits; diff --git a/src/evt/demo_api.c b/src/evt/demo_api.c index d5c12269d8..8a52732b0a 100644 --- a/src/evt/demo_api.c +++ b/src/evt/demo_api.c @@ -1,10 +1,9 @@ #include "common.h" // TODO: not sure where these go -u8 D_802D9D70 = 0xFE; -u8 D_802D9D71 = 0xFE; -u8 D_802D9D72 = 0x00; -u8 D_802D9D73 = 0xFF; +u8 D_802D9D70 = 254; +u8 D_802D9D71 = 254; +u16 StarShrineLightBeamAlpha = 255; extern s32 D_802DBB60; extern s32 D_802DBB64; // unused? diff --git a/src/evt/evt.c b/src/evt/evt.c index 4e402c86a7..5e0a8b3a29 100644 --- a/src/evt/evt.c +++ b/src/evt/evt.c @@ -963,7 +963,7 @@ ApiStatus evt_handle_exec_wait(Evt* script) { Bytecode* args = script->ptrReadPos; start_child_script(script, (EvtScript*) evt_get_variable(script, *args++), 0); - script->currentOpcode = 0; + script->currentOpcode = EVT_OP_INTERNAL_FETCH; return ApiStatus_FINISH; } @@ -1660,21 +1660,21 @@ s32 evt_execute_next_command(Evt* script) { } if (status == ApiStatus_FINISH) { - return -1; + return EVT_CMD_RESULT_YIELD; } if (status < 0) { - return 1; + return EVT_CMD_RESULT_ERROR; } // TODO: this may be able to be a switch but I couldn't get it if (status == ApiStatus_BLOCK) { // return 0 } else if (status == ApiStatus_DONE1) { - script->currentOpcode = 0; + script->currentOpcode = EVT_OP_INTERNAL_FETCH; // return 0 } else if (status == ApiStatus_DONE2) { - script->currentOpcode = 0; + script->currentOpcode = EVT_OP_INTERNAL_FETCH; if (gGameStatusPtr->disableScripts != status) { continue; } @@ -1682,7 +1682,7 @@ s32 evt_execute_next_command(Evt* script) { } else { continue; } - return 0; + return EVT_CMD_RESULT_CONTINUE; } } @@ -2027,14 +2027,14 @@ Bytecode* evt_find_label(Evt* script, s32 arg1) { return (Bytecode*) arg1; } - for (i = 0; i < 0x10; i++) { + for (i = 0; i < 16; i++) { if (script->labelIndices[i] == arg1) { ret = script->labelPositions[i]; break; } } - ASSERT(i < 0x10); + ASSERT(i < 16); return ret; } diff --git a/src/evt/msg_api.c b/src/evt/msg_api.c index 5ae82e60fd..b79bd1002e 100644 --- a/src/evt/msg_api.c +++ b/src/evt/msg_api.c @@ -332,7 +332,7 @@ ApiStatus func_802D0C94(Evt* script, s32 initialCall) { return ApiStatus_DONE2; } -ApiStatus SetMessageMsg(Evt* script, s32 isInitialCall) { +ApiStatus SetMessageText(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 msg = evt_get_variable(script, *args++); s32 index = evt_get_variable(script, *args++); diff --git a/src/evt/script_list.c b/src/evt/script_list.c index 612f6894a2..4eafa9500f 100644 --- a/src/evt/script_list.c +++ b/src/evt/script_list.c @@ -251,7 +251,7 @@ Evt* start_script(EvtScript* source, s32 priority, s32 flags) { ASSERT(newScript != NULL); newScript->stateFlags = flags | EVT_FLAG_ACTIVE; - newScript->currentOpcode = 0; + newScript->currentOpcode = EVT_OP_INTERNAL_FETCH; newScript->priority = priority; newScript->ptrNextLine = (Bytecode*)source; newScript->ptrFirstLine = (Bytecode*)source; @@ -323,7 +323,7 @@ Evt* start_script_in_group(EvtScript* source, u8 priority, u8 flags, u8 groupFla // Some of this function is surely macros. I think we'll learn more as we do others in this file. -Ethan do { newScript->stateFlags = flags | EVT_FLAG_ACTIVE; - newScript->currentOpcode = 0; + newScript->currentOpcode = EVT_OP_INTERNAL_FETCH; newScript->priority = priority; newScript->id = gStaticScriptCounter++; newScript->ptrNextLine = (Bytecode*)source; @@ -395,7 +395,7 @@ Evt* start_child_script(Evt* parentScript, EvtScript* source, s32 flags) { child->ptrCurrentLine = child->ptrFirstLine = child->ptrNextLine = (Bytecode*)source; - child->currentOpcode = 0; + child->currentOpcode = EVT_OP_INTERNAL_FETCH; child->userData = NULL; child->blockingParent = parentScript; child->childScript = NULL; @@ -463,7 +463,7 @@ Evt* func_802C39F8(Evt* parentScript, Bytecode* nextLine, s32 newState) { child->ptrNextLine = nextLine; child->ptrFirstLine = nextLine; child->ptrCurrentLine = nextLine; - child->currentOpcode = 0; + child->currentOpcode = EVT_OP_INTERNAL_FETCH; child->userData = NULL; child->blockingParent = NULL; child->parentScript = parentScript; @@ -514,7 +514,7 @@ Evt* func_802C3C10(Evt* script, Bytecode* line, s32 arg2) { script->ptrNextLine = line; script->ptrFirstLine = line; script->ptrCurrentLine = line; - script->currentOpcode = 0; + script->currentOpcode = EVT_OP_INTERNAL_FETCH; script->frameCounter = 0; script->stateFlags |= arg2; script->timeScale = 1.0f; @@ -555,7 +555,7 @@ Evt* restart_script(Evt* script) { script->loopDepth = -1; script->switchDepth = -1; script->frameCounter = 0; - script->currentOpcode = 0; + script->currentOpcode = EVT_OP_INTERNAL_FETCH; script->ptrNextLine = ptrFirstLine; script->ptrCurrentLine = ptrFirstLine; @@ -600,11 +600,11 @@ void update_scripts(void) { script->frameCounter -= 1.0; status = evt_execute_next_command(script); - if (status == 1) { + if (status == EVT_CMD_RESULT_ERROR) { stop = TRUE; break; } - } while (status != -1); + } while (status != EVT_CMD_RESULT_YIELD); if (stop) { break; diff --git a/src/filemenu/filemenu_yesno.c b/src/filemenu/filemenu_yesno.c index 853f2af20c..0b7823fe49 100644 --- a/src/filemenu/filemenu_yesno.c +++ b/src/filemenu/filemenu_yesno.c @@ -281,6 +281,7 @@ void filemenu_yesno_handle_input(MenuPanel* menu) { case 2: clear_player_data(); clear_saved_variables(); + //TODO hardcoded area/map IDs gGameStatusPtr->areaID = 0; gGameStatusPtr->mapID = 11; gGameStatusPtr->entryID = 0; diff --git a/src/msg.c b/src/msg.c index 02e0fc9e31..cbd90893ac 100644 --- a/src/msg.c +++ b/src/msg.c @@ -1,5 +1,6 @@ #include "common.h" #include "ld_addrs.h" +#include "message_ids.h" #include "sprite.h" enum RewindArrowStates { @@ -25,7 +26,13 @@ u8 MessageSingular[] = { MSG_CHAR_READ_ENDL, MSG_CHAR_READ_END }; s16 gNextMessageBuffer = 0; -s32 gRewindArrowQuad[] = { 0xFFF00009, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00100009, 0x00000000, 0x04000000, 0xFFFFFFFF, 0xFFF0FFF7, 0x00000000, 0x00000240, 0xFFFFFFFF, 0x0010FFF7, 0x00000000, 0x04000240, 0xFFFFFFFF, }; +//TODO Vtx +s32 gRewindArrowQuad[] = { + 0xFFF00009, 0x00000000, 0x00000000, 0xFFFFFFFF, + 0x00100009, 0x00000000, 0x04000000, 0xFFFFFFFF, + 0xFFF0FFF7, 0x00000000, 0x00000240, 0xFFFFFFFF, + 0x0010FFF7, 0x00000000, 0x04000240, 0xFFFFFFFF, +}; Gfx D_8014C2D8[] = { gsDPSetCycleType(G_CYC_2CYCLE), @@ -1388,7 +1395,7 @@ MessagePrintState* _msg_get_printer_for_msg(s32 msgID, s32* donePrintingWritebac s32 maxLinesPerPage; s32 i; - if (msgID == 0) { + if (msgID == MSG_NONE) { return NULL; } @@ -1647,7 +1654,7 @@ void get_msg_properties(s32 msgID, s32* height, s32* width, s32* maxLineChars, s maxLinesOnPage = 0; spaceCount = 0; - if (msgID == 0) { + if (msgID == MSG_NONE) { return; } diff --git a/src/npc.c b/src/npc.c index caec4f19d6..c7f21225fb 100644 --- a/src/npc.c +++ b/src/npc.c @@ -2061,8 +2061,8 @@ void func_8003D3BC(Npc* npc) { } } -void func_8003D624(Npc* npc, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6) { - npc->unk_98 = arg1; +void func_8003D624(Npc* npc, s32 foldType, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6) { + npc->unk_98 = foldType; npc->unk_9A = arg2; npc->unk_9C = arg3; npc->unk_9E = arg4; diff --git a/src/pause/pause_main.c b/src/pause/pause_main.c index bb297dbd5c..cf23072bae 100644 --- a/src/pause/pause_main.c +++ b/src/pause/pause_main.c @@ -1,4 +1,5 @@ #include "ld_addrs.h" +#include "message_ids.h" #include "sprite.h" #include "pause_common.h" #include "sprite/npc/Goombaria.h" @@ -456,8 +457,9 @@ void pause_main_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, void pause_textbox_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) { s32 msgID = gPauseShownDescMsg; - if (msgID == 0) + if (msgID == MSG_NONE) { return; + } if (gPauseDescTextPos != 0) { hud_element_set_render_pos(gPauseCommonIconIDs[1], baseX + width - 4, baseY + 4); diff --git a/src/sprite.c b/src/sprite.c index 086cac3567..058d37ca77 100644 --- a/src/sprite.c +++ b/src/sprite.c @@ -1272,6 +1272,8 @@ s32 func_802DE8DC(s32 spriteIdx, s32 compListIdx, s32* outX, s32* outY, s32* out animID = sprite->currentAnimID; if (animID != 255) { + // following 3 lines equivalent to: + // animCompList = sprite->spriteData->animListStart[animID]; spriteData = (u32*)sprite->spriteData; spriteData += 4 + animID; animCompList = (SpriteAnimComponent**)*spriteData; diff --git a/src/state_intro.c b/src/state_intro.c index 52f9c38467..391b56b2fe 100644 --- a/src/state_intro.c +++ b/src/state_intro.c @@ -21,9 +21,9 @@ void state_init_intro(void) { D_800A0956 = 0x10; D_800A0958 = 4; D_800A0960 = 0; - D_800A095A = 0xD0; - D_800A095C = 0xD0; - D_800A095E = 0xD0; + D_800A095A = 208; + D_800A095C = 208; + D_800A095E = 208; D_800A0964 = 0; // hos_05 (Star Sanctuary) diff --git a/src/world/area_arn/arn_03/arn_03_3_npc.c b/src/world/area_arn/arn_03/arn_03_3_npc.c index 308314f13b..4baed240a7 100644 --- a/src/world/area_arn/arn_03/arn_03_3_npc.c +++ b/src/world/area_arn/arn_03/arn_03_3_npc.c @@ -243,7 +243,7 @@ EvtScript N(80242B0C) = { EVT_END_IF EVT_END_THREAD EVT_CALL(NpcMoveTo, NPC_Boo_05, LVar0, LVar2, 40) - EVT_CALL(SetNpcPos, NPC_Boo_05, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_Boo_05, NPC_DISPOSE_LOCATION) EVT_RETURN EVT_END }; @@ -370,7 +370,7 @@ EvtScript N(EVS_NpcInit_Boo_04) = { }; EvtScript N(EVS_NpcInit_Boo_05) = { - EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_RETURN EVT_END }; diff --git a/src/world/area_arn/arn_05/arn_05_3_npc.c b/src/world/area_arn/arn_05/arn_05_3_npc.c index 79060e045d..0e32b0defd 100644 --- a/src/world/area_arn/arn_05/arn_05_3_npc.c +++ b/src/world/area_arn/arn_05/arn_05_3_npc.c @@ -189,10 +189,10 @@ EvtScript N(EVS_NpcInit_Boo_03) = { EVT_CASE_LT(STORY_CH3_TUBBA_CHASED_MARIO_IN_FOYER) EVT_CALL(RemoveNpc, NPC_SELF) EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) - EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_CALL(RemoveNpc, NPC_SELF) EVT_CASE_LT(STORY_CH3_BEGAN_PEACH_MISSION) - EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_CALL(RemoveNpc, NPC_SELF) EVT_CASE_LT(STORY_CH5_STAR_SPRIT_DEPARTED) EVT_CASE_GE(STORY_CH5_STAR_SPRIT_DEPARTED) @@ -377,7 +377,7 @@ EvtScript N(EVS_Scene_TubbaRaid) = { EVT_END_LOOP EVT_CALL(SetNpcPos, NPC_Boo_01, 420, 300, 220) EVT_CALL(SetNpcPos, NPC_Boo_02, 460, 250, 210) - EVT_CALL(SetNpcPos, NPC_Boo_05, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_Boo_05, NPC_DISPOSE_LOCATION) EVT_CALL(EnableNpcShadow, NPC_Boo_01, FALSE) EVT_CALL(EnableNpcShadow, NPC_Boo_02, FALSE) EVT_CALL(EnableNpcShadow, NPC_Boo_05, FALSE) @@ -449,8 +449,8 @@ EvtScript N(EVS_Scene_TubbaRaid) = { EVT_CALL(func_802CFD30, 1, FOLD_TYPE_7, LVar0, 0, 0, 0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetNpcPos, NPC_Boo_01, 0, -1000, 0) - EVT_CALL(SetNpcPos, NPC_Boo_02, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_Boo_01, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcPos, NPC_Boo_02, NPC_DISPOSE_LOCATION) EVT_WAIT(10) EVT_END_THREAD EVT_SET(LVar0, 4) @@ -521,7 +521,7 @@ EvtScript N(EVS_Scene_TubbaRaid) = { EVT_CALL(PlaySoundAtNpc, NPC_Tubba, SOUND_315, 0) EVT_END_THREAD EVT_WAIT(40) - EVT_CALL(SetNpcPos, NPC_Boo_03, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_Boo_03, NPC_DISPOSE_LOCATION) EVT_CALL(SetNpcAnimation, NPC_Tubba, ANIM_WorldTubba_Anim20) EVT_WAIT(80) EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) @@ -552,7 +552,7 @@ EvtScript N(EVS_Scene_TubbaRaid) = { EVT_CALL(NpcMoveTo, NPC_Tubba, 370, 220, 0) EVT_CALL(NpcMoveTo, NPC_Tubba, 550, 196, 0) EVT_CALL(SetNpcAnimation, NPC_Tubba, ANIM_WorldTubba_Anim06) - EVT_CALL(SetNpcPos, NPC_Tubba, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_Tubba, NPC_DISPOSE_LOCATION) EVT_CALL(SetNpcFlagBits, NPC_Tubba, NPC_FLAG_GRAVITY, FALSE) EVT_CALL(NpcFacePlayer, NPC_Boo_01, 3) EVT_CALL(SetNpcPos, NPC_Boo_01, 55, 195, 160) diff --git a/src/world/area_arn/arn_08/arn_08_5_demo.c b/src/world/area_arn/arn_08/arn_08_5_demo.c index 7591574ada..a6ac457b7a 100644 --- a/src/world/area_arn/arn_08/arn_08_5_demo.c +++ b/src/world/area_arn/arn_08/arn_08_5_demo.c @@ -125,18 +125,18 @@ EvtScript N(EVS_8024116C) = { EVT_END }; -s32 N(DemoSceneState) = 0; +s32 N(DemoInitState) = 0; API_CALLABLE(N(SetupDemoScene)) { PlayerStatus* playerStatus = &gPlayerStatus; - switch (N(DemoSceneState)) { + switch (N(DemoInitState)) { case 0: - N(DemoSceneState) = 1; + N(DemoInitState) = 1; break; case 1: case 2: - N(DemoSceneState)++; + N(DemoInitState)++; break; case 3: { partner_clear_player_tracking(wPartnerNpc); diff --git a/src/world/area_arn/arn_10/arn_10_3_npc.c b/src/world/area_arn/arn_10/arn_10_3_npc.c index 81c0d75b4b..0971747dcb 100644 --- a/src/world/area_arn/arn_10/arn_10_3_npc.c +++ b/src/world/area_arn/arn_10/arn_10_3_npc.c @@ -25,7 +25,7 @@ EvtScript N(EVS_NpcIdle_TubbasHeart) = { EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_20C8, 0) EVT_CALL(NpcJump0, NPC_SELF, LVar0, 0, LVar2, 12) EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) - EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_SET(GB_StoryProgress, STORY_CH3_HEART_FLED_SECOND_TUNNEL) EVT_RETURN EVT_END diff --git a/src/world/area_arn/arn_12/arn_12_3_npc.c b/src/world/area_arn/arn_12/arn_12_3_npc.c index c7a4087925..4117e86018 100644 --- a/src/world/area_arn/arn_12/arn_12_3_npc.c +++ b/src/world/area_arn/arn_12/arn_12_3_npc.c @@ -25,7 +25,7 @@ EvtScript N(EVS_NpcIdle_TubbasHeart) = { EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_20C8, 0) EVT_CALL(NpcJump0, NPC_SELF, LVar0, 0, LVar2, 12) EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) - EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_SET(GB_StoryProgress, STORY_UNUSED_FFFFFFEC) EVT_RETURN EVT_END diff --git a/src/world/area_arn/arn_13/arn_13_3_npc.c b/src/world/area_arn/arn_13/arn_13_3_npc.c index e7b49b37bf..b8ebe566f5 100644 --- a/src/world/area_arn/arn_13/arn_13_3_npc.c +++ b/src/world/area_arn/arn_13/arn_13_3_npc.c @@ -25,7 +25,7 @@ EvtScript N(EVS_NpcIdle_TubbasHeart) = { EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_20C8, 0) EVT_CALL(NpcJump0, NPC_SELF, LVar0, 0, LVar2, 12) EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) - EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_SET(GB_StoryProgress, STORY_CH3_HEART_FLED_SECOND_TUNNEL) EVT_RETURN EVT_END diff --git a/src/world/area_dgb/dgb_06/dgb_06_4_npc.c b/src/world/area_dgb/dgb_06/dgb_06_4_npc.c index b50abf6ba9..772d60a07d 100644 --- a/src/world/area_dgb/dgb_06/dgb_06_4_npc.c +++ b/src/world/area_dgb/dgb_06/dgb_06_4_npc.c @@ -16,7 +16,7 @@ EvtScript N(EVS_NpcInteract_Boo) = { EvtScript N(EVS_NpcInit_Boo) = { EVT_IF_GE(GB_StoryProgress, STORY_CH3_TUBBA_CHASED_MARIO_IN_FOYER) - EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_END_IF EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Boo))) EVT_RETURN 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 ef03d7d4e3..be10d61b16 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 @@ -24,7 +24,7 @@ s32 N(LetterList)[] = { ITEM_NONE }; -EvtScript N(EVS_ShopOwner_LetterDelivery) = { +EvtScript N(EVS_LetterPrompt_ShopOwner) = { EVT_CALL(N(LetterDelivery_Init), NPC_Mouser_ShopOwner, ANIM_Mouser_Purple_Talk, ANIM_Mouser_Purple_Idle, ITEM_LETTER19, ITEM_LETTER_TO_FRANKY, diff --git a/src/world/area_dro/dro_01/npc_shop_owner.c b/src/world/area_dro/dro_01/npc_shop_owner.c index f12d774d28..51076da112 100644 --- a/src/world/area_dro/dro_01/npc_shop_owner.c +++ b/src/world/area_dro/dro_01/npc_shop_owner.c @@ -96,16 +96,16 @@ EvtScript N(EVS_NpcInteract_ShopOwner) = { EVT_IF_EQ(AB_DRO_SHOP_PREV1, 4) EVT_IF_EQ(AB_DRO_SHOP_PREV2, 1) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Mouser_Purple_Talk, ANIM_Mouser_Purple_Idle, 0, MSG_CH2_0088) - EVT_EXEC_WAIT(N(EVS_ShopOwner_LetterDelivery)) - EVT_IF_NE(LVarC, 0) + EVT_EXEC_WAIT(N(EVS_LetterPrompt_ShopOwner)) + EVT_IF_NE(LVarC, DELIVERY_NOT_POSSIBLE) EVT_RETURN EVT_END_IF EVT_RETURN EVT_END_IF EVT_END_IF EVT_EXEC_WAIT(ItemShopInteract) - EVT_EXEC_WAIT(N(EVS_ShopOwner_LetterDelivery)) - EVT_IF_NE(LVarC, 0) + EVT_EXEC_WAIT(N(EVS_LetterPrompt_ShopOwner)) + EVT_IF_NE(LVarC, DELIVERY_NOT_POSSIBLE) EVT_RETURN EVT_END_IF EVT_RETURN 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 7fffc06427..24ee875c10 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 @@ -66,7 +66,7 @@ s32 N(LetterList)[] = { ITEM_NONE }; -EvtScript N(EVS_MrE_LetterPrompt) = { +EvtScript N(EVS_LetterPrompt_MrE) = { EVT_CALL(N(LetterDelivery_Init), NPC_Dryite_01, ANIM_Dryite_Blue_Talk, ANIM_Dryite_Blue_Idle, ITEM_LETTER17, ITEM_LETTER18, @@ -124,7 +124,7 @@ EvtScript N(EVS_NpcInteract_MrE) = { EVT_CASE_DEFAULT EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Dryite_Blue_Talk, ANIM_Dryite_Blue_Idle, 0, MSG_CH2_0094) EVT_END_SWITCH - EVT_EXEC_WAIT(N(EVS_MrE_LetterPrompt)) + EVT_EXEC_WAIT(N(EVS_LetterPrompt_MrE)) EVT_IF_NE(LVarC, 0) EVT_RETURN EVT_END_IF diff --git a/src/world/area_end/common/Credits.inc.c b/src/world/area_end/common/Credits.inc.c index d399fba113..8a17698eac 100644 --- a/src/world/area_end/common/Credits.inc.c +++ b/src/world/area_end/common/Credits.inc.c @@ -798,13 +798,13 @@ void N(init_credits)(void) { } } -ApiStatus N(InitCredits)(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(InitCredits)) { N(init_credits)(); load_font(1); return ApiStatus_DONE2; } -ApiStatus N(ShowCreditList)(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(ShowCreditList)) { CreditsEntry* creditList = (CreditsEntry*) evt_get_variable(script, *script->ptrReadPos); if (isInitialCall) { diff --git a/src/world/area_flo/common/ItemChoice_FlowerGuard.inc.c b/src/world/area_flo/common/ItemChoice_FlowerGuard.inc.c index 8a7f144576..4443fc697e 100644 --- a/src/world/area_flo/common/ItemChoice_FlowerGuard.inc.c +++ b/src/world/area_flo/common/ItemChoice_FlowerGuard.inc.c @@ -1,6 +1,6 @@ #include "common.h" -ApiStatus N(FlowerGuard_SetItemEntityPosition)(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(FlowerGuard_SetItemEntityPosition)) { Bytecode* args = script->ptrReadPos; s32 itemIdx = evt_get_variable(script, *args++); s32 x = evt_get_variable(script, *args++); @@ -15,7 +15,7 @@ ApiStatus N(FlowerGuard_SetItemEntityPosition)(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus N(FlowerGuard_JudgeItemTastiness)(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(FlowerGuard_JudgeItemTastiness)) { s32 itemId = evt_get_variable(script, *script->ptrReadPos); ItemData* item = &gItemTable[itemId]; @@ -30,7 +30,7 @@ ApiStatus N(FlowerGuard_JudgeItemTastiness)(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus N(FlowerGuard_MakeItemList)(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(FlowerGuard_MakeItemList)) { s32 i; for (i = 0; i < ITEM_NUM_CONSUMABLES; i++) { diff --git a/src/world/area_flo/flo_09/flo_09_4_foliage.c b/src/world/area_flo/flo_09/flo_09_4_foliage.c index 1abb66a217..7c8ce0c313 100644 --- a/src/world/area_flo/flo_09/flo_09_4_foliage.c +++ b/src/world/area_flo/flo_09/flo_09_4_foliage.c @@ -13,7 +13,7 @@ EvtScript N(EVS_SpawnBzzap) = { EVT_END }; -EvtScript N(Tree1_CallbackScript) = { +EvtScript N(EVS_OnShakeTree1) = { EVT_IF_EQ(GF_FLO09_Item_HappyFlowerB, FALSE) EVT_IF_EQ(AB_FLO_TreePuzzle_SecondCorrect, 1) EVT_CALL(MakeItemEntity, ITEM_HAPPY_FLOWER_B, -250, 100, 0, ITEM_SPAWN_MODE_FALL_NEVER_VANISH, GF_FLO09_Item_HappyFlowerB) @@ -28,7 +28,7 @@ EvtScript N(Tree1_CallbackScript) = { EVT_END }; -EvtScript N(Tree2_CallbackScript) = { +EvtScript N(EVS_OnShakeTree2) = { EVT_IF_EQ(GF_FLO09_Item_HappyFlowerB, FALSE) EVT_SET(AB_FLO_TreePuzzle_FirstCorrect, 1) EVT_SET(AB_FLO_TreePuzzle_SecondCorrect, 0) @@ -37,7 +37,7 @@ EvtScript N(Tree2_CallbackScript) = { EVT_END }; -EvtScript N(Tree3_CallbackScript) = { +EvtScript N(EVS_OnShakeTree3) = { EVT_IF_EQ(GF_FLO09_Item_HappyFlowerB, FALSE) EVT_IF_EQ(AB_FLO_TreePuzzle_FirstCorrect, 1) EVT_IF_EQ(AB_FLO_TreePuzzle_SecondCorrect, 0) @@ -60,7 +60,7 @@ FoliageModelList N(Tree1_TrunkModels) = FOLIAGE_MODEL_LIST(MODEL_o10); ShakeTreeConfig N(ShakeTree_Tree1) = { .leaves = &N(Tree1_LeafModels), .trunk = &N(Tree1_TrunkModels), - .callback = &N(Tree1_CallbackScript), + .callback = &N(EVS_OnShakeTree1), }; BombTrigger N(BombPos_Tree1) = { @@ -74,7 +74,7 @@ FoliageModelList N(Tree2_TrunkModels) = FOLIAGE_MODEL_LIST(MODEL_o3); ShakeTreeConfig N(ShakeTree_Tree2) = { .leaves = &N(Tree2_LeafModels), .trunk = &N(Tree2_TrunkModels), - .callback = &N(Tree2_CallbackScript), + .callback = &N(EVS_OnShakeTree2), }; BombTrigger N(BombPos_Tree2) = { @@ -88,7 +88,7 @@ FoliageModelList N(Tree3_TrunkModels) = FOLIAGE_MODEL_LIST(MODEL_o13); ShakeTreeConfig N(ShakeTree_Tree3) = { .leaves = &N(Tree3_LeafModels), .trunk = &N(Tree3_TrunkModels), - .callback = &N(Tree3_CallbackScript), + .callback = &N(EVS_OnShakeTree3), }; BombTrigger N(BombPos_Tree3) = { diff --git a/src/world/area_gv/gv_01/gv_01_1_main.c b/src/world/area_gv/gv_01/gv_01_1_main.c index 801f17f913..b01c238ee4 100644 --- a/src/world/area_gv/gv_01/gv_01_1_main.c +++ b/src/world/area_gv/gv_01/gv_01_1_main.c @@ -129,7 +129,7 @@ EvtScript N(EVS_Main) = { EVT_END }; -ApiStatus N(FadeToTitleScreen)(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(FadeToTitleScreen)) { if (isInitialCall) { script->functionTemp[0] = 0; set_curtain_scale_goal(1.0); @@ -147,7 +147,7 @@ ApiStatus N(FadeToTitleScreen)(Evt* script, s32 isInitialCall) { return script->functionTemp[0] == 255; } -ApiStatus N(ChangeStateToTitleScreen)(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(ChangeStateToTitleScreen)) { gGameStatusPtr->isBattle = FALSE; gGameStatusPtr->unk_76 = 0; gGameStatusPtr->disableScripts = 0; diff --git a/src/common/UnkEffect0FFuncs.inc.c b/src/world/area_hos/common/FallingStars.inc.c similarity index 62% rename from src/common/UnkEffect0FFuncs.inc.c rename to src/world/area_hos/common/FallingStars.inc.c index c998d13d35..fb16f3fdaf 100644 --- a/src/common/UnkEffect0FFuncs.inc.c +++ b/src/world/area_hos/common/FallingStars.inc.c @@ -1,4 +1,4 @@ -#include "battle/battle.h" +#include "common.h" #include "effects.h" ApiStatus N(UnkEffect0FFunc2)(Evt* script, s32 isInitialCall) { @@ -117,3 +117,90 @@ ApiStatus N(UnkEffect0FFunc4)(Evt* script, s32 isInitialCall) { fx_star(2, var1, var2, var3, var4, var5, var6, rand_int(4) + 10); return ApiStatus_DONE2; } + +EvtScript N(EVS_Starfall_Directed) = { + EVT_SET_GROUP(EVT_GROUP_0B) + EVT_SET(LVarD, 0) + EVT_SET(LVarE, 0) + EVT_LABEL(0) + EVT_CALL(GetPlayerPos, LVar1, LVar2, LVar3) + EVT_IF_LT(LVar1, -50) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_END_IF + EVT_SET(LVar8, 1000) + EVT_SUB(LVar8, LVar1) + EVT_DIV(LVar8, 10) + EVT_IF_LT(LVar8, 20) + EVT_SET(LVar8, 20) + EVT_END_IF + EVT_CALL(GetPlayerPos, LVar1, LVar2, LVar3) + EVT_CALL(RandInt, 400, LVarA) + EVT_SET(LVarB, 200) + EVT_CALL(RandInt, 400, LVarC) + EVT_SUB(LVarC, 200) + EVT_ADD(LVar1, LVarA) + EVT_ADD(LVar2, LVarB) + EVT_ADD(LVar3, LVarC) + EVT_SET(LVar4, LVar1) + EVT_CALL(RandInt, 100, LVarA) + EVT_ADD(LVarA, 50) + EVT_SUB(LVar4, LVarA) + EVT_SET(LVar5, 0) + EVT_SET(LVar6, LVar3) + EVT_CALL(RandInt, 4, LVar7) + EVT_ADD(LVar7, 10) + EVT_SWITCH(LVar3) + EVT_CASE_LT(-290) + EVT_SET(LVar0, 0) + EVT_CASE_LT(40) + EVT_SET(LVar0, 2) + EVT_CASE_GE(40) + EVT_SET(LVar0, 1) + EVT_END_SWITCH + EVT_IF_LT(LVarE, 2) + EVT_CALL(PlaySoundAt, SOUND_B0000015, 0, LVar1, LVar2, LVar3) + EVT_ADD(LVarE, 1) + EVT_END_IF + EVT_ADD(LVarD, LVar8) + EVT_IF_GT(LVarD, 30) + EVT_SET(LVarD, 0) + EVT_SET(LVarE, 0) + EVT_END_IF + EVT_CALL(N(UnkEffect0FFunc2), LVar0, LVar1, LVar2, LVar3, LVar4, LVar5, LVar6, LVar7) + EVT_WAIT(LVar8) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Starfall_Random) = { + EVT_SET_GROUP(EVT_GROUP_0B) + EVT_THREAD + EVT_LABEL(0) + EVT_CALL(RandInt, 50, LVar0) + EVT_ADD(LVar0, 10) + EVT_CALL(N(UnkEffect0FFunc)) + EVT_WAIT(LVar0) + EVT_GOTO(0) + EVT_END_THREAD + EVT_THREAD + EVT_LABEL(1) + EVT_CALL(RandInt, 50, LVar0) + EVT_ADD(LVar0, 20) + EVT_CALL(N(UnkEffect0FFunc3)) + EVT_WAIT(LVar0) + EVT_GOTO(1) + EVT_END_THREAD + EVT_THREAD + EVT_LABEL(2) + EVT_CALL(RandInt, 50, LVar0) + EVT_ADD(LVar0, 20) + EVT_CALL(N(UnkEffect0FFunc4)) + EVT_CALL(PlaySoundAt, SOUND_B0000015, 0, LVar1, LVar2, LVar3) + EVT_WAIT(LVar0) + EVT_GOTO(2) + EVT_END_THREAD + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/common/IntroMathUtil.inc.c b/src/world/area_hos/common/IntroMathUtil.inc.c new file mode 100644 index 0000000000..b552cd23ad --- /dev/null +++ b/src/world/area_hos/common/IntroMathUtil.inc.c @@ -0,0 +1,68 @@ +#include "common.h" + +enum { + INTRO_MATH_EASING_LINEAR = 0, + INTRO_MATH_EASING_SIN_OUT = 1, + INTRO_MATH_EASING_SIN_OUT_DELAYED = 2, + INTRO_MATH_EASING_COS_IN_OUT = 3, + INTRO_MATH_EASING_4 = 4, + #ifdef INTRO_MATH_EXTENDED + INTRO_MATH_EASING_5 = 5, + #endif +}; + +void N(lerp_value_with_max_step)(f32 start, f32 end, f32 current, f32 maximum, f32* out) { + f32 remaining = end - current; + + if (end - start > 0.0f) { + if (remaining < 0.0f) { + *out = end; + } else if (maximum < remaining) { + *out += maximum; + } else { + *out += remaining; + } + } else if (remaining > 0.0f) { + *out = end; + } else if (remaining < -maximum) { + *out -= maximum; + } else { + *out += remaining; + } +} + +void N(interp_value_with_easing)(s32 easingMode, f32 start, f32 end, f32 curent, f32 max, f32* out) { + f32 alpha; + + if (curent > max) { + curent = max; + } + + switch (easingMode) { + case INTRO_MATH_EASING_SIN_OUT: + alpha = sin_deg((curent / max) * 90.0f); + break; + case INTRO_MATH_EASING_SIN_OUT_DELAYED: + if (curent < 30.0f) { + alpha = 0.0f; + } else { + alpha = sin_deg((((curent - 30.0f) / (max - 30.0f)) * 90.0f) + -90.0f) + 1.0f; + } + break; + case INTRO_MATH_EASING_COS_IN_OUT: + alpha = (sin_deg(((curent / max) * 180.0f) - 90.0f) + 1.0f) * 0.5; + break; + case INTRO_MATH_EASING_4: + alpha = sin_deg(((curent / max) * 90.0f) - 90.0f) + 1.0f; + break; + #ifdef INTRO_MATH_EXTENDED + case INTRO_MATH_EASING_5: + alpha = (2.0 * (sin_deg(((curent / max) * 60.0f) - 60.0f) + 0.8660254f)) / 1.7320507764816284; + break; + #endif + default: + alpha = curent / max; + break; + } + *out = start + ((end - start) * alpha); +} diff --git a/src/world/area_hos/common/Narrator.inc.c b/src/world/area_hos/common/Narrator.inc.c new file mode 100644 index 0000000000..faf219aa1f --- /dev/null +++ b/src/world/area_hos/common/Narrator.inc.c @@ -0,0 +1,103 @@ +#include "common.h" + +#define INTRO_MSG_BLANK -1 + +enum { + INTRO_MSG_STATE_APPEAR = 0, + INTRO_MSG_STATE_SHOWING = 1, + INTRO_MSG_STATE_VANISH = 2, + INTRO_MSG_STATE_DONE = 3, + INTRO_MSG_STATE_BLANK = 4, +}; + +typedef struct IntroMessage { + /* 00 */ s32 messageID; + /* 04 */ s32 duration; +} IntroMessage; // size: 0x8 + +u32 N(IntroMessageState) = 0; // mode +s32 N(IntroMessageAlpha) = 0; // alpha related +IntroMessage* N(CurMessageList) = NULL; + +void N(UpdateIntroMessages)(IntroMessage** introMessageLists) { + u8 type; + f32 zoom1; + f32 zoom2; + s32 messageID; + s32 opacity; + s32 yOffset; + static s32 N(IntroMessageDelay); + + if (N(CurMessageList) == NULL) { + N(CurMessageList) = introMessageLists[D_800779B0]; + } + + switch (N(IntroMessageState)) { + case INTRO_MSG_STATE_APPEAR: + if (N(CurMessageList)->messageID == INTRO_MSG_BLANK) { + N(IntroMessageState) = INTRO_MSG_STATE_BLANK; + N(IntroMessageDelay) = N(CurMessageList)->duration; + } else { + N(IntroMessageAlpha) += 10; + if (N(IntroMessageAlpha) > 255) { + N(IntroMessageAlpha) = 255; + N(IntroMessageState) = INTRO_MSG_STATE_SHOWING; + N(IntroMessageDelay) = N(CurMessageList)->duration; + } + } + break; + case INTRO_MSG_STATE_SHOWING: + if (N(IntroMessageDelay) == 0) { + N(IntroMessageState) = INTRO_MSG_STATE_VANISH; + } else { + N(IntroMessageDelay)--; + } + break; + case INTRO_MSG_STATE_VANISH: + N(IntroMessageAlpha) -= 10; + if (N(IntroMessageAlpha) < 0) { + N(IntroMessageAlpha) = 0; + N(CurMessageList)++; + if (N(CurMessageList)->messageID == MSG_NONE) { + N(IntroMessageState) = INTRO_MSG_STATE_DONE; + } else { + N(IntroMessageState) = INTRO_MSG_STATE_APPEAR; + } + } + break; + case INTRO_MSG_STATE_DONE: + break; + case INTRO_MSG_STATE_BLANK: + if (N(IntroMessageDelay) != 0) { + N(IntroMessageDelay)--; + break; + } + N(CurMessageList)++; + if (N(CurMessageList)->messageID == MSG_NONE) { + N(IntroMessageState) = INTRO_MSG_STATE_DONE; + } else { + N(IntroMessageState) = INTRO_MSG_STATE_APPEAR; + } + break; + } + get_screen_overlay_params(1, &type, &zoom1); + get_screen_overlay_params(0, &type, &zoom2); + opacity = ((N(IntroMessageAlpha) * (255.0f - zoom1) * (255.0f - zoom2)) / 255.0f) / 255.0f; + if (opacity > 0) { + messageID = N(CurMessageList)->messageID; + if (messageID != 0) { + yOffset = 0; + if (get_msg_lines(messageID) >= 2) { + yOffset = -7; + } + draw_msg(N(CurMessageList)->messageID, 0, yOffset + 196, opacity, -1, 0); + } + } +} + +API_CALLABLE(N(SetCurtainCallback)) { + Bytecode* args = script->ptrReadPos; + + set_curtain_draw_callback((void (*)) evt_get_variable(script, *args++)); + return ApiStatus_DONE2; +} diff --git a/src/world/area_hos/hos.h b/src/world/area_hos/hos.h index 0c96b8ff5d..b49aa21678 100644 --- a/src/world/area_hos/hos.h +++ b/src/world/area_hos/hos.h @@ -2,13 +2,13 @@ #define _WORLD_AREA_HOS_HOS_H_ enum { - AB_HOS_Unused_0 = AreaByte(0), - AB_HOS_Unused_1 = AreaByte(1), - AB_HOS_Unused_2 = AreaByte(2), - AB_HOS_Unused_3 = AreaByte(3), - AB_HOS_Unused_4 = AreaByte(4), - AB_HOS_Unused_5 = AreaByte(5), - AB_HOS_Unused_6 = AreaByte(6), + AB_HOS_StatcAmt_Eldstar = AreaByte(0), + AB_HOS_StatcAmt_Mamar = AreaByte(1), + AB_HOS_StatcAmt_Skolar = AreaByte(2), + AB_HOS_StatcAmt_Muskular = AreaByte(3), + AB_HOS_StatcAmt_Misstar = AreaByte(4), + AB_HOS_StatcAmt_Klevar = AreaByte(5), + AB_HOS_StatcAmt_Kalmar = AreaByte(6), AB_HOS_Unused_7 = AreaByte(7), AB_HOS_Unused_8 = AreaByte(8), AB_HOS_Unused_9 = AreaByte(9), @@ -20,6 +20,15 @@ enum { AB_HOS_Unused_F = AreaByte(15), }; +enum { + AF_HOS06_BadgeHints = AreaFlag(3), + AF_HOS06_SuperBlocksHints = AreaFlag(100), + AF_HOS06_StarPieceHints = AreaFlag(116), + AF_HOS_B4 = AreaFlag(180), + AF_HOS_B5 = AreaFlag(181), + AF_HOS06_SpokeWithMerluvlee = AreaFlag(182), +}; + extern MapSettings hos_00_settings; extern MapSettings hos_01_settings; extern MapSettings hos_02_settings; @@ -30,4 +39,7 @@ extern MapSettings hos_06_settings; extern MapSettings hos_10_settings; extern MapSettings hos_20_settings; +s32 hos_00_map_init(void); +s32 hos_10_map_init(void); + #endif diff --git a/src/world/area_hos/hos_00/A0BCF0.c b/src/world/area_hos/hos_00/A0BCF0.c deleted file mode 100644 index f6155d3612..0000000000 --- a/src/world/area_hos/hos_00/A0BCF0.c +++ /dev/null @@ -1,8 +0,0 @@ -#include "hos_00.h" - -ApiStatus func_80240000_A0BCF0(Evt* script, s32 isInitialCall) { - if (gGameStatusPtr->entryID == 3) { - sprintf(wMapBgName, "hos_bg\0\0\0\0\0\0\0\0\0"); - } - return ApiStatus_BLOCK; -} diff --git a/src/world/area_hos/hos_00/A0BD40.c b/src/world/area_hos/hos_00/A0BD40.c deleted file mode 100644 index 065e67a37e..0000000000 --- a/src/world/area_hos/hos_00/A0BD40.c +++ /dev/null @@ -1,10 +0,0 @@ -#include "hos_00.h" -#include "effects.h" - -#include "common/UnkEffect0FFuncs.inc.c" - -static char* N(exit_str_0) = "osr_00"; -static char* N(exit_str_1) = "osr_01"; -static char* N(exit_str_2) = "hos_01"; -static char* N(exit_str_3) = "hos_06"; -static char* N(exit_str_4) = "\0\0\0\0"; diff --git a/src/world/area_hos/hos_00/A0C4B0.c b/src/world/area_hos/hos_00/A0C4B0.c deleted file mode 100644 index 2f6849550d..0000000000 --- a/src/world/area_hos/hos_00/A0C4B0.c +++ /dev/null @@ -1,10 +0,0 @@ -#include "hos_00.h" - -static char* N(exit_str_4) = "osr_01"; - -ApiStatus func_802407C0_A0C4B0(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - gPlayerData.currentPartner = evt_get_variable(script, *args++); - return ApiStatus_DONE2; -} diff --git a/src/world/area_hos/hos_00/A0C4E0.c b/src/world/area_hos/hos_00/A0C4E0.c deleted file mode 100644 index bc15adcde4..0000000000 --- a/src/world/area_hos/hos_00/A0C4E0.c +++ /dev/null @@ -1,65 +0,0 @@ -#include "hos_00.h" - -extern f32 D_80242B9C_A0E88C; -extern f32 D_80242BA0_A0E890; - -#include "world/common/todo/StashVars.inc.c" - -#include "world/common/todo/GetItemName.inc.c" - -ApiStatus N(EnableActionCommands)(Evt* script, s32 isInitialCall) { - PlayerData* playerData = &gPlayerData; - - playerData->hasActionCommands = TRUE; - return ApiStatus_DONE2; -} - -ApiStatus func_8024091C_A0C60C(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - f32 f1 = evt_get_float_variable(script, *args++); - f32 f2 = evt_get_float_variable(script, *args++); - - evt_set_float_variable(script, *args++, f1 * sin_deg(f2)); - return ApiStatus_DONE2; -} - -ApiStatus func_80240994_A0C684(Evt* script, s32 isInitialCall) { - Npc* partner = get_npc_unsafe(NPC_PARTNER); - Npc* npc = get_npc_unsafe(0); - - partner->yaw = atan2(partner->pos.x, partner->pos.z, npc->pos.x, npc->pos.z); - gPlayerStatus.targetYaw = atan2(gPlayerStatus.position.x, gPlayerStatus.position.z, npc->pos.x, npc->pos.z); - npc->yaw = atan2(D_80242B9C_A0E88C, D_80242BA0_A0E890, npc->pos.x, npc->pos.z); - D_80242B9C_A0E88C = npc->pos.x; - D_80242BA0_A0E890 = npc->pos.z; - return ApiStatus_DONE2; -} - -ApiStatus func_80240A54_A0C744(Evt* script, s32 isInitialCall) { - Npc* npc = get_npc_unsafe(1); - - if (npc->yaw < 180.0f) { - script->varTable[0] = npc->pos.x - 40.0f; - script->varTable[1] = npc->pos.y + 10.0f; - script->varTable[2] = npc->pos.z; - } else { - script->varTable[0] = npc->pos.x + 40.0f; - script->varTable[1] = npc->pos.y + 10.0f; - script->varTable[2] = npc->pos.z; - } - npc->yaw = atan2(script->varTable[6], script->varTable[8], npc->pos.x, npc->pos.z); - return ApiStatus_DONE2; -} - -#include "world/common/todo/SetCamera0Flag1000.inc.c" - -ApiStatus func_80240B3C_A0C82C(Evt* script, s32 isInitialCall) { - s32 temp_s1 = script->varTable[0]; - s32 temp_s2 = script->varTable[2]; - - script->varTable[0] = temp_s1 + (sin_deg(310.0f) * 100.0f); - script->varTable[1] = temp_s2 - (cos_deg(310.0f) * 100.0f); - script->varTable[2] = temp_s1 + (sin_deg(130.0f) * 100.0f); - script->varTable[3] = temp_s2 - (cos_deg(130.0f) * 100.0f); - return ApiStatus_DONE2; -} diff --git a/src/world/area_hos/hos_00/hos_00.h b/src/world/area_hos/hos_00/hos_00.h index e1b16559e6..a3d36e7691 100644 --- a/src/world/area_hos/hos_00/hos_00.h +++ b/src/world/area_hos/hos_00/hos_00.h @@ -2,8 +2,39 @@ /// @brief Shooting Star Summit - Shooting Star Path #include "common.h" -#include "../hos.h" #include "message_ids.h" #include "map.h" +#include "../hos.h" +#include "mapfs/hos_00_shape.h" +#include "mapfs/hos_00_hit.h" + +#include "sprite/npc/ToadKid.h" +#include "sprite/npc/Toadette.h" +#include "sprite/npc/Twink.h" +#include "sprite/npc/FlyingMagikoopa.h" +#include "sprite/npc/WorldGoombario.h" + +enum { + NPC_Twink = 0, + NPC_FlyingMagikoopa = 1, + NPC_Toadette = 2, + NPC_ToadKid = 3, +}; + +enum { + MV_LuckyStarItem = MapVar(10), +}; + #define NAMESPACE hos_00 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_PlayKammyKoopaSong); +extern EvtScript N(EVS_Scene_MeetingTwink); +extern EvtScript N(EVS_Scene_TwinkDeparts); +extern EvtScript N(EVS_Scene_Wishing); +extern EvtScript N(EVS_MakeEntities); +extern EvtScript N(EVS_SetupBackgroundShade); +extern NpcGroupList N(DefaultNPCs); +extern NpcGroupList N(WishingNPCs); diff --git a/src/world/area_hos/hos_00/hos_00_0_header.c b/src/world/area_hos/hos_00/hos_00_0_header.c new file mode 100644 index 0000000000..fc37e73b31 --- /dev/null +++ b/src/world/area_hos/hos_00/hos_00_0_header.c @@ -0,0 +1,25 @@ +#include "hos_00.h" + +s32 N(map_init)(void) { + if (gGameStatusPtr->entryID == hos_00_ENTRY_3) { + sprintf(wMapBgName, "hos_bg"); + } + return FALSE; +} + +MAP_RODATA_PAD(1, init); + +EntryList N(Entrances) = { + [hos_00_ENTRY_0] { -610.0, 0.0, -45.0, 90.0 }, + [hos_00_ENTRY_1] { 870.0, 60.0, -130.0, 270.0 }, + [hos_00_ENTRY_2] { 870.0, -10.0, 30.0, 270.0 }, + [hos_00_ENTRY_3] { 870.0, -10.0, 30.0, 270.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .background = &gBackgroundImage, + .tattle = { MSG_MapTattle_hos_00 }, +}; diff --git a/src/world/area_hos/hos_00/hos_00_1_music.c b/src/world/area_hos/hos_00/hos_00_1_music.c new file mode 100644 index 0000000000..ce3f358b7c --- /dev/null +++ b/src/world/area_hos/hos_00/hos_00_1_music.c @@ -0,0 +1,72 @@ +#include "hos_00.h" + +EvtScript N(EVS_PlayToadTownSong) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_RANGE(STORY_CH3_STAR_SPRIT_DEPARTED, STORY_CH4_STAR_SPIRIT_RESCUED) + EVT_CALL(SetMusicTrack, 0, SONG_SHY_GUY_INVASION, 0, 6) + EVT_CASE_DEFAULT + EVT_CALL(SetMusicTrack, 0, SONG_TOAD_TOWN, 0, 6) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_PlayMusicByPosition) = { + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(hos_00_ENTRY_0) + EVT_EXEC(N(EVS_PlayToadTownSong)) + EVT_END_CASE_GROUP + EVT_CASE_OR_EQ(hos_00_ENTRY_1) + EVT_CASE_OR_EQ(hos_00_ENTRY_2) + EVT_CALL(SetMusicTrack, 0, SONG_SHOOTING_STAR_SUMMIT, 0, 8) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_IF_NE(LVar0, 0) + EVT_GOTO(20) + EVT_END_IF + EVT_LABEL(10) + EVT_WAIT(1) + EVT_CALL(GetPlayerPos, LVar1, LVar2, LVar3) + EVT_IF_GT(LVar1, 210) + EVT_CALL(FadeOutMusic, 0, 833) + EVT_WAIT(25) + EVT_CALL(SetMusicTrack, 0, SONG_SHOOTING_STAR_SUMMIT, 0, 8) + EVT_WAIT(30) + EVT_GOTO(20) + EVT_END_IF + EVT_GOTO(10) + EVT_LABEL(20) + EVT_WAIT(1) + EVT_IF_EQ(GB_StoryProgress, STORY_CH0_BEGAN_PEACH_MISSION) + EVT_GOTO(20) + EVT_END_IF + EVT_CALL(GetPlayerPos, LVar1, LVar2, LVar3) + EVT_IF_LT(LVar1, -55) + EVT_CALL(FadeOutMusic, 0, 833) + EVT_WAIT(25) + EVT_EXEC(N(EVS_PlayToadTownSong)) + EVT_WAIT(30) + EVT_GOTO(10) + EVT_END_IF + EVT_GOTO(20) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetupMusic) = { + EVT_CALL(GetEntryID, LVar0) + EVT_IF_EQ(LVar0, hos_00_ENTRY_3) + EVT_CALL(SetMusicTrack, 0, SONG_STARSHIP_THEME, 0, 8) + EVT_ELSE + EVT_EXEC(N(EVS_PlayMusicByPosition)) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_PlayKammyKoopaSong) = { + EVT_CALL(SetMusicTrack, 0, SONG_KAMMY_KOOPA_THEME, 0, 8) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_00/hos_00_2_main.c b/src/world/area_hos/hos_00/hos_00_2_main.c new file mode 100644 index 0000000000..0fc833baa7 --- /dev/null +++ b/src/world/area_hos/hos_00/hos_00_2_main.c @@ -0,0 +1,95 @@ +#include "hos_00.h" + +#include "../common/FallingStars.inc.c" + +EvtScript N(EVS_ExitWalk_osr) = { + EVT_SET_GROUP(EVT_GROUP_1B) + EVT_CALL(UseExitHeading, 60, hos_00_ENTRY_0) + EVT_EXEC(ExitWalk) + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_RANGE(STORY_CH0_WAKE_UP, STORY_CH8_REACHED_PEACHS_CASTLE) + EVT_CALL(GotoMap, EVT_PTR("osr_01"), osr_01_ENTRY_1) + EVT_CASE_DEFAULT + EVT_CALL(GotoMap, EVT_PTR("osr_00"), osr_00_ENTRY_1) + EVT_END_SWITCH + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ExitWalk_hos_01_0) = EVT_EXIT_WALK(60, hos_00_ENTRY_1, "hos_01", hos_01_ENTRY_0); +EvtScript N(EVS_ExitWalk_hos_06_0) = EVT_EXIT_WALK(60, hos_00_ENTRY_2, "hos_06", hos_06_ENTRY_0); + +EvtScript N(EVS_BindExitTriggers) = { + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_osr)), TRIGGER_FLOOR_ABOVE, COLLIDER_deiliw, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_hos_01_0)), TRIGGER_FLOOR_ABOVE, COLLIDER_deiline, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_hos_06_0)), TRIGGER_FLOOR_ABOVE, COLLIDER_deilise, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_TexPan_Unknown) = { + EVT_SET_GROUP(EVT_GROUP_00) + EVT_SET(LVar0, 0) + EVT_LOOP(0) + EVT_CALL(SetTexPanOffset, TEX_PANNER_D, TEX_PANNER_MAIN, LVar0, 0) + EVT_ADD(LVar0, 0x4000) + EVT_WAIT(15) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_EnterMap) = { + EVT_CALL(GetLoadType, LVar1) + EVT_IF_EQ(LVar1, LOAD_FROM_FILE_SELECT) + EVT_EXEC(N(EVS_SetupBackgroundShade)) + EVT_EXEC(EnterSavePoint) + EVT_EXEC(N(EVS_BindExitTriggers)) + EVT_RETURN + EVT_END_IF + EVT_CALL(GetEntryID, LVar0) + EVT_IF_EQ(LVar0, hos_00_ENTRY_3) + EVT_CALL(SetGroupEnabled, MODEL_g107, 0) + EVT_EXEC(N(EVS_Scene_Wishing)) + EVT_RETURN + EVT_ELSE + EVT_EXEC(N(EVS_SetupBackgroundShade)) + EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers))) + EVT_EXEC(EnterWalk) + EVT_WAIT(1) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_SHOOTING_STAR_SUMMIT) + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SETUP_CAMERA_DEFAULT() + EVT_SET(GF_MAP_ShootingStarSummit, TRUE) + EVT_SET(GF_MAC01_RowfBadgesChosen, FALSE) + EVT_CALL(GetEntryID, LVar0) + EVT_IF_EQ(LVar0, hos_00_ENTRY_3) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(WishingNPCs))) + EVT_ELSE + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) + EVT_END_IF + EVT_EXEC_WAIT(N(EVS_MakeEntities)) + EVT_CALL(GetEntryID, LVar0) + EVT_IF_NE(LVar0, hos_00_ENTRY_3) + EVT_EXEC(N(EVS_Starfall_Directed)) + EVT_END_IF + EVT_EXEC_WAIT(N(EVS_SetupMusic)) + EVT_IF_EQ(GB_StoryProgress, STORY_CH0_BEGAN_PEACH_MISSION) + EVT_IF_EQ(AF_HOS_B4, FALSE) + EVT_WAIT(50) + EVT_SET(AF_HOS_B4, TRUE) + EVT_END_IF + EVT_EXEC(N(EVS_Scene_MeetingTwink)) + EVT_END_IF + EVT_EXEC(N(EVS_EnterMap)) + EVT_EXEC(N(EVS_TexPan_Unknown)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_00/hos_00_3_unused.c b/src/world/area_hos/hos_00/hos_00_3_unused.c new file mode 100644 index 0000000000..7f4b1cb833 --- /dev/null +++ b/src/world/area_hos/hos_00/hos_00_3_unused.c @@ -0,0 +1,12 @@ +#include "hos_00.h" + +EvtScript N(EVS_TexPan_ToggleUnused) = { + EVT_LABEL(0) + EVT_CALL(SetTexPanOffset, TEX_PANNER_D, TEX_PANNER_MAIN, 0, 0) + EVT_WAIT(10) + EVT_CALL(SetTexPanOffset, TEX_PANNER_D, TEX_PANNER_MAIN, 0x4000, 0) + EVT_WAIT(10) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_00/hos_00_4_npc.c b/src/world/area_hos/hos_00/hos_00_4_npc.c new file mode 100644 index 0000000000..27c0dd6dad --- /dev/null +++ b/src/world/area_hos/hos_00/hos_00_4_npc.c @@ -0,0 +1,178 @@ +#include "hos_00.h" + +#include "world/common/npc/Twink.inc.c" +#include "world/common/npc/Toad_Stationary.inc.c" + +#include "world/common/enemy/complete/FlyingMagikoopa.h" + +NpcSettings N(NpcSettings_FlyingMagikoopa) = { + .height = 34, + .radius = 24, + .level = 26, + .onHit = &EnemyNpcHit, + .onDefeat = &EnemyNpcDefeat, +}; + +EvtScript N(EVS_Scene_Wishing) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 305, -10, -50) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 305, -10, -50) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(400.0)) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(9.0), EVT_FLOAT(-10.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_WAIT(30) + EVT_CALL(SpeakToPlayer, NPC_ToadKid, ANIM_ToadKid_Red_Talk, ANIM_ToadKid_Red_Disappointed, 0, MSG_HOS_006C) + EVT_WAIT(10) + EVT_CALL(SetNpcAnimation, NPC_ToadKid, ANIM_ToadKid_Red_Idle) + EVT_CALL(SpeakToPlayer, NPC_Toadette, ANIM_Toadette_Pink_Talk, ANIM_Toadette_Pink_Idle, 0, MSG_HOS_006D) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_ToadKid, ANIM_ToadKid_Red_Talk, ANIM_ToadKid_Red_Idle, 0, MSG_HOS_006E) + EVT_WAIT(50) + EVT_CALL(GotoMap, EVT_PTR("osr_01"), osr_01_ENTRY_3) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcDefeat_FlyingMagikoopa) = { + EVT_CALL(GetBattleOutcome, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(OUTCOME_PLAYER_WON) + EVT_CALL(GetPlayerPos, LVar3, LVar1, LVar2) + EVT_CALL(SetPlayerPos, LVar3, LVar1, -45) + EVT_ADD(LVar3, 40) + EVT_CALL(SetNpcPos, NPC_PARTNER, LVar3, LVar1, -45) + EVT_CALL(GetNpcPos, NPC_Twink, LVar3, LVar1, LVar2) + EVT_ADD(LVar3, -25) + EVT_CALL(SetNpcPos, NPC_Twink, LVar3, LVar1, -45) + EVT_EXEC(N(EVS_Scene_TwinkDeparts)) + EVT_CALL(DoNpcDefeat) + EVT_CASE_EQ(OUTCOME_PLAYER_LOST) + EVT_CASE_EQ(OUTCOME_PLAYER_FLED) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcIdle_FlyingMagikoopa) = { + EVT_LABEL(0) + EVT_CALL(GetSelfVar, 0, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_CASE_EQ(1) + EVT_CALL(StartBossBattle, SONG_SPECIAL_BATTLE) + EVT_END_SWITCH + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_FlyingMagikoopa) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH0_TWINK_GAVE_LUCKY_STAR) + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_FlyingMagikoopa))) + EVT_CALL(BindNpcDefeat, NPC_SELF, EVT_PTR(N(EVS_NpcDefeat_FlyingMagikoopa))) + EVT_ELSE + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +API_CALLABLE(N(SetCurrentPartner)) { + gPlayerData.currentPartner = evt_get_variable(script, *script->ptrReadPos); + return ApiStatus_DONE2; +} + +EvtScript N(EVS_NpcIdle_Twink) = { + EVT_CALL(SetSelfVar, 0, 0) + EVT_LOOP(0) + EVT_CALL(GetSelfVar, 0, LVar0) + EVT_IF_EQ(LVar0, 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(EnablePartner, PARTNER_TWINK) + EVT_CALL(N(SetCurrentPartner), PARTNER_TWINK) + EVT_CALL(StartBattle) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Twink) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcDefeat_Twink) = { + EVT_CALL(SetSelfVar, 0, 2) + EVT_CALL(DisablePartner, PARTNER_TWINK) + EVT_CALL(N(SetCurrentPartner), PARTNER_GOOMBARIO) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Twink) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Twink))) + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Twink))) + EVT_CALL(BindNpcDefeat, NPC_SELF, EVT_PTR(N(EVS_NpcDefeat_Twink))) + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_Twink) = { + .id = NPC_Twink, + .settings = &N(NpcSettings_Twink), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 90, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_Twink), + .drops = NPC_NO_DROPS, + .animations = TWINK_ANIMS, +}; + +StaticNpc N(NpcData_FlyingMagikoopa) = { + .id = NPC_FlyingMagikoopa, + .settings = &N(NpcSettings_FlyingMagikoopa), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_40000 | ENEMY_FLAG_800000, + .init = &N(EVS_NpcInit_FlyingMagikoopa), + .drops = NPC_NO_DROPS, + .animations = FLYING_MAGIKOOPA_ANIMS, +}; + +StaticNpc N(NpcData_Wishing)[] = { + { + .id = NPC_Toadette, + .settings = &N(NpcSettings_Toad_Stationary), + .pos = { 280.0f, -10.0f, -50.0f }, + .yaw = 90, + .flags = ENEMY_FLAG_1, + .drops = NPC_NO_DROPS, + .animations = TOADETTE_PINK_ANIMS, + }, + { + .id = NPC_ToadKid, + .settings = &N(NpcSettings_Toad_Stationary), + .pos = { 330.0f, -10.0f, -40.0f }, + .yaw = 270, + .flags = ENEMY_FLAG_1, + .drops = NPC_NO_DROPS, + .animations = TOAD_KID_RED_ANIMS, + }, +}; + +NpcGroupList N(DefaultNPCs) = { + NPC_GROUP(N(NpcData_Twink), BTL_HOS_FORMATION_00), + NPC_GROUP(N(NpcData_FlyingMagikoopa), BTL_HOS_FORMATION_03), + {} +}; + +NpcGroupList N(WishingNPCs) = { + NPC_GROUP(N(NpcData_Wishing)), + {} +}; diff --git a/src/world/area_hos/hos_00/hos_00_5_entity.c b/src/world/area_hos/hos_00/hos_00_5_entity.c new file mode 100644 index 0000000000..fa0ec0a6ce --- /dev/null +++ b/src/world/area_hos/hos_00/hos_00_5_entity.c @@ -0,0 +1,29 @@ +#include "hos_00.h" +#include "entity.h" + +EvtScript N(EVS_ReadSign_ToSummit) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_016E, 160, 40) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ReadSign_ToMerluvlee) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_016D, 160, 40) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_MakeEntities) = { + EVT_CALL(MakeEntity, EVT_PTR(Entity_Signpost), 450, 10, -185, 0, MAKE_ENTITY_END) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_ReadSign_ToSummit))) + EVT_CALL(MakeEntity, EVT_PTR(Entity_Signpost), 855, -10, -40, 0, MAKE_ENTITY_END) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_ReadSign_ToMerluvlee))) + EVT_CALL(MakeEntity, EVT_PTR(Entity_HiddenPanel), 380, -10, 25, 0, MODEL_o239, MAKE_ENTITY_END) + EVT_CALL(AssignPanelFlag, GF_HOS00_HiddenPanel) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_00/hos_00_6_scenes.c b/src/world/area_hos/hos_00/hos_00_6_scenes.c new file mode 100644 index 0000000000..6f4291018f --- /dev/null +++ b/src/world/area_hos/hos_00/hos_00_6_scenes.c @@ -0,0 +1,581 @@ +#include "hos_00.h" + +#include "world/common/complete/GiveReward.inc.c" + +Vec3f N(TwinkArrivePath)[] = { + { 0.0, 0.0, 2.0 }, + { 73.0, -6.0, 2.0 }, + { 106.0, 32.0, 2.0 }, + { 70.0, 43.0, 2.0 }, + { 30.0, 12.0, 2.0 }, + { -17.0, -19.0, 2.0 }, + { -35.0, 29.0, 2.0 }, + { -20.0, 43.0, 2.0 }, + { -11.0, 39.0, 2.0 }, + { 0.0, -1.0, 0.0 }, +}; + +Vec3f N(FlightPath_Magikoopa)[] = { + { 15.0, 174.0, -45.0 }, + { -157.0, 92.0, -44.0 }, + { -371.0, 103.0, -45.0 }, + { -350.0, 75.0, -45.0 }, + { -250.0, 40.0, -45.0 }, +}; + +Vec3f N(TwinkDepartPath1)[] = { + { 0.0, 0.0, 0.0 }, + { -60.0, 3.0, -11.0 }, + { -55.0, 13.0, 0.0 }, + { 4.0, 40.0, -5.0 }, + { 23.0, 35.0, -10.0 }, + { 63.0, 25.0, -20.0 }, + { 94.0, 30.0, -40.0 }, + { 134.0, 250.0, -80.0 }, +}; + +Vec3f N(TwinkReturnPath)[] = { + { -72.0, 318.0, -80.0 }, + { -127.0, 153.0, -60.0 }, + { -174.0, 114.0, -44.0 }, + { -243.0, 90.0, -45.0 }, + { -268.0, 50.0, -46.0 }, + { -174.0, 10.0, -43.0 }, +}; + +Vec3f N(TwinkDepartPath2)[] = { + { 0.0, 0.0, 0.0 }, + { -30.0, 3.0, -11.0 }, + { -55.0, 13.0, 0.0 }, + { -73.0, 20.0, -5.0 }, + { -103.0, 40.0, 0.0 }, + { -143.0, 60.0, 0.0 }, + { -173.0, 50.0, 26.0 }, + { -126.0, 35.0, 16.0 }, + { 1111.0, 570.0, -527.0 }, +}; + +API_CALLABLE(N(EnableActionCommands)) { + gPlayerData.hasActionCommands = TRUE; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(UnusedTrigFunc)) { + Bytecode* args = script->ptrReadPos; + f32 magnitude = evt_get_float_variable(script, *args++); + f32 angle = evt_get_float_variable(script, *args++); + + evt_set_float_variable(script, *args++, magnitude * sin_deg(angle)); + return ApiStatus_DONE2; +} + +f32 N(LastTwinkPosX) = 0; +f32 N(LastTwinkPosZ) = 0; + +API_CALLABLE(N(HavePartyFaceTwink)) { + Npc* partner = get_npc_unsafe(NPC_PARTNER); + Npc* npc = get_npc_unsafe(NPC_Twink); + + partner->yaw = atan2(partner->pos.x, partner->pos.z, npc->pos.x, npc->pos.z); + gPlayerStatus.targetYaw = atan2(gPlayerStatus.position.x, gPlayerStatus.position.z, npc->pos.x, npc->pos.z); + npc->yaw = atan2(N(LastTwinkPosX), N(LastTwinkPosZ), npc->pos.x, npc->pos.z); + N(LastTwinkPosX) = npc->pos.x; + N(LastTwinkPosZ) = npc->pos.z; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(UpdateMagikoopaAngles)) { + Npc* npc = get_npc_unsafe(NPC_FlyingMagikoopa); + + if (npc->yaw < 180.0f) { + script->varTable[0] = npc->pos.x - 40.0f; + script->varTable[1] = npc->pos.y + 10.0f; + script->varTable[2] = npc->pos.z; + } else { + script->varTable[0] = npc->pos.x + 40.0f; + script->varTable[1] = npc->pos.y + 10.0f; + script->varTable[2] = npc->pos.z; + } + npc->yaw = atan2(script->varTable[6], script->varTable[8], npc->pos.x, npc->pos.z); + return ApiStatus_DONE2; +} + +#include "world/common/todo/SetCamera0Flag1000.inc.c" + +API_CALLABLE(N(AddOffsetForCamPos)) { + s32 baseX = script->varTable[0]; + s32 baseZ = script->varTable[2]; + + script->varTable[0] = baseX + (sin_deg(310.0f) * 100.0f); + script->varTable[1] = baseZ - (cos_deg(310.0f) * 100.0f); + script->varTable[2] = baseX + (sin_deg(130.0f) * 100.0f); + script->varTable[3] = baseZ - (cos_deg(130.0f) * 100.0f); + return ApiStatus_DONE2; +} + +EvtScript N(EVS_UpdateFacingMagikoopa) = { + EVT_CALL(GetNpcPos, NPC_FlyingMagikoopa, LVar6, LVar7, LVar8) + EVT_LABEL(0) + EVT_CALL(GetNpcPos, NPC_FlyingMagikoopa, LVar3, LVar4, LVar5) + EVT_SET(LVar9, LVar3) + EVT_SET(LVarA, LVar4) + EVT_SET(LVarB, LVar5) + EVT_SUB(LVar3, LVar6) + EVT_SUB(LVar4, LVar7) + EVT_SUB(LVar5, LVar8) + EVT_CALL(N(UpdateMagikoopaAngles)) + EVT_SET(LVar6, LVar9) + EVT_SET(LVar7, LVarA) + EVT_SET(LVar8, LVarB) + EVT_CALL(PlayerFaceNpc, NPC_FlyingMagikoopa, FALSE) + EVT_CALL(GetAngleBetweenNPCs, NPC_Twink, NPC_FlyingMagikoopa, LVar0) + EVT_CALL(InterpNpcYaw, NPC_Twink, LVar0, 0) + EVT_CALL(GetAngleBetweenNPCs, NPC_PARTNER, NPC_FlyingMagikoopa, LVar0) + EVT_CALL(InterpNpcYaw, NPC_PARTNER, LVar0, 0) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ConfusedTwinkLookingAround) = { + EVT_LOOP(0) + EVT_CALL(InterpNpcYaw, NPC_Twink, 270, 0) + EVT_WAIT(10) + EVT_CALL(InterpNpcYaw, NPC_Twink, 90, 0) + EVT_WAIT(10) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +// add an offset to Twink's position to counter the one from his sprite +EvtScript N(EVS_Twink_CancelHoverOffset) = { + EVT_LOOP(0) + EVT_LOOP(5) + EVT_CALL(GetNpcPos, NPC_Twink, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 1) + EVT_CALL(SetNpcPos, NPC_Twink, LVar0, LVar1, LVar2) + EVT_WAIT(3) + EVT_END_LOOP + EVT_WAIT(3) + EVT_LOOP(5) + EVT_CALL(GetNpcPos, NPC_Twink, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, -1) + EVT_CALL(SetNpcPos, NPC_Twink, LVar0, LVar1, LVar2) + EVT_WAIT(3) + EVT_END_LOOP + EVT_WAIT(3) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Twink_CarryItem) = { + EVT_LOOP(0) + EVT_CALL(GetNpcPos, NPC_Twink, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 15) + EVT_ADD(LVar2, 2) + EVT_CALL(SetItemPos, MV_LuckyStarItem, LVar0, LVar1, LVar2) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Scene_MeetingTwink) = { + EVT_LOOP(0) + EVT_WAIT(1) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_IF_LT(LVar0, -100) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(func_802CF56C, 2) + EVT_THREAD + EVT_ADD(LVar0, -20) + EVT_CALL(PlayerMoveTo, LVar0, LVar2, 10) + EVT_END_THREAD + EVT_CALL(SetNpcPos, NPC_Twink, 50, 180, 0) + EVT_CALL(SetNpcJumpscale, NPC_Twink, 0) + EVT_ADD(LVar0, -10) + EVT_CALL(NpcJump0, NPC_Twink, LVar0, 20, LVar2, 15) + EVT_CALL(PlaySoundAtPlayer, SOUND_HIT_PLAYER_NORMAL, 0) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_ShockStill) + EVT_CALL(SetNpcAnimation, NPC_Twink, ANIM_Twink_Cringe) + EVT_THREAD + EVT_CALL(SetNpcAnimation, NPC_Twink, ANIM_Twink_Disappointed) + EVT_CALL(SetNpcJumpscale, NPC_Twink, EVT_FLOAT(0.6)) + EVT_CALL(GetNpcPos, NPC_Twink, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, -100) + EVT_CALL(NpcJump0, NPC_Twink, LVar0, 10, LVar2, 20) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 5, EVT_FLOAT(2.0)) + EVT_END_THREAD + EVT_THREAD + EVT_SET(LVar3, 360) + EVT_LOOP(3) + EVT_LABEL(22) + EVT_WAIT(1) + EVT_SUB(LVar3, 45) + EVT_IF_GT(LVar3, 0) + EVT_CALL(SetNpcRotation, NPC_Twink, 0, LVar3, 0) + EVT_IF_EQ(LVar3, 270) + EVT_CALL(SetNpcAnimation, NPC_Twink, ANIM_Twink_Back) + EVT_END_IF + EVT_IF_EQ(LVar3, 90) + EVT_CALL(SetNpcAnimation, NPC_Twink, ANIM_Twink_Disappointed) + EVT_END_IF + EVT_GOTO(22) + EVT_END_IF + EVT_END_LOOP + EVT_CALL(SetNpcRotation, NPC_Twink, 0, 0, 0) + EVT_END_THREAD + EVT_CALL(ShowMessageAtScreenPos, MSG_HOS_000D, 160, 40) + EVT_CALL(SetMusicTrack, 0, SONG_TWINK_THEME, 0, 8) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_CALL(SetNpcAnimation, NPC_Twink, ANIM_Twink_Idle) + EVT_CALL(NpcFacePlayer, NPC_Twink, 0) + EVT_CALL(SpeakToPlayer, NPC_Twink, ANIM_Twink_Shout, ANIM_Twink_Idle, 0, MSG_HOS_000E) + EVT_CALL(N(SetCamera0Flag1000)) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, -20) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 275) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(16.0), EVT_FLOAT(-8.5)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(3.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(SetNpcSpeed, NPC_Twink, EVT_FLOAT(3.0)) + EVT_CALL(GetNpcPos, NPC_Twink, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 40) + EVT_CALL(NpcMoveTo, NPC_Twink, LVar0, LVar2, 0) + EVT_CALL(ShowEmote, NPC_Twink, EMOTE_SHOCK, 45, 20, TRUE, 0, 0, 0, 0) + EVT_WAIT(20) + EVT_CALL(SetNpcAnimation, NPC_Twink, ANIM_Twink_ShoutJoy) + EVT_CALL(SetNpcJumpscale, NPC_Twink, EVT_FLOAT(1.0)) + EVT_LOOP(2) + EVT_CALL(GetNpcPos, NPC_Twink, LVar0, LVar1, LVar2) + EVT_CALL(NpcJump0, NPC_Twink, LVar0, LVar1, LVar2, 15) + EVT_END_LOOP + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SetNpcJumpscale, NPC_PARTNER, 0) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 25) + EVT_CALL(NpcJump0, NPC_PARTNER, LVar0, LVar1, LVar2, 10) + EVT_CALL(SpeakToPlayer, NPC_Twink, ANIM_Twink_Talk, ANIM_Twink_Idle, 0, MSG_HOS_000F) + EVT_WAIT(5) + EVT_CALL(GetNpcPos, NPC_Twink, LVar4, LVar5, LVar6) + EVT_CALL(LoadPath, 70, EVT_PTR(N(TwinkArrivePath)), ARRAY_COUNT(N(TwinkArrivePath)), EASING_LINEAR) + EVT_LABEL(1) + EVT_CALL(GetNextPathPos) + EVT_ADDF(LVar1, LVar4) + EVT_ADDF(LVar2, LVar5) + EVT_ADDF(LVar3, LVar6) + EVT_CALL(SetNpcPos, NPC_Twink, LVar1, LVar2, LVar3) + EVT_CALL(N(HavePartyFaceTwink)) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 1) + EVT_GOTO(1) + EVT_END_IF + EVT_CALL(SetNpcAnimation, NPC_Twink, ANIM_Twink_Idle) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_Twink, ANIM_Twink_Talk, ANIM_Twink_Idle, 0, MSG_HOS_0010) + EVT_CALL(SetNpcYaw, NPC_Twink, 270) + EVT_CALL(SetNpcAnimation, NPC_Twink, ANIM_Twink_Back) + EVT_CALL(SpeakToPlayer, NPC_Twink, -1, -1, 5, MSG_HOS_0011) + EVT_CALL(GetNpcPos, NPC_Twink, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 15) + EVT_CALL(MakeItemEntity, ITEM_LUCKY_STAR, LVar0, LVar1, LVar2, ITEM_SPAWN_MODE_DECORATION, 0) + EVT_SET(MV_LuckyStarItem, LVar0) + EVT_EXEC_GET_TID(N(EVS_Twink_CancelHoverOffset), LVar8) + EVT_EXEC_GET_TID(N(EVS_Twink_CarryItem), LVar9) + EVT_CALL(SetNpcAnimation, NPC_Twink, ANIM_Twink_Wink) + EVT_CALL(ContinueSpeech, NPC_Twink, -1, -1, 512, MSG_HOS_0012) + EVT_CALL(GetPlayerPos, LVar5, LVar3, LVar4) + EVT_ADD(LVar5, -30) + EVT_CALL(NpcMoveTo, NPC_Twink, LVar5, LVar4, 15) + EVT_KILL_THREAD(LVar9) + EVT_KILL_THREAD(LVar8) + EVT_THREAD + EVT_CALL(GetNpcPos, NPC_Twink, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 15) + EVT_SET(LVar4, LVar1) + EVT_ADD(LVar4, 30) + EVT_SET(LVar3, LVar0) + EVT_CALL(MakeLerp, LVar1, LVar4, 7, EASING_QUADRATIC_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(SetItemPos, MV_LuckyStarItem, LVar3, LVar0, LVar2) + EVT_WAIT(1) + EVT_ADD(LVar3, 2) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(GetPlayerPos, LVar5, LVar6, LVar7) + EVT_ADD(LVar6, 38) + EVT_CALL(MakeLerp, LVar0, LVar6, 7, EASING_QUADRATIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(SetItemPos, MV_LuckyStarItem, LVar3, LVar0, LVar2) + EVT_WAIT(1) + EVT_ADD(LVar3, 2) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(RemoveItemEntity, MV_LuckyStarItem) + EVT_END_THREAD + EVT_CALL(SetNpcAnimation, NPC_Twink, ANIM_Twink_TossItem) + EVT_WAIT(11) + EVT_CALL(SetNpcAnimation, NPC_Twink, ANIM_Twink_Pleased) + EVT_SET(LVar0, 7) + EVT_SET(LVar1, 4) + EVT_CALL(ShowGotItem, LVar0, TRUE, 0) + EVT_CALL(AddKeyItem, LVar0) + EVT_CALL(N(EnableActionCommands)) + EVT_CALL(SetNpcAnimation, NPC_Twink, ANIM_Twink_Idle) + EVT_WAIT(20) + EVT_CALL(SpeakToPlayer, NPC_Twink, ANIM_Twink_Talk, ANIM_Twink_Idle, 0, MSG_HOS_0013) + EVT_CALL(ShowChoice, MSG_Choice_0013) + EVT_IF_EQ(LVar0, 1) + EVT_CALL(ContinueSpeech, NPC_Twink, ANIM_Twink_Talk, ANIM_Twink_Idle, 0, MSG_HOS_0014) + EVT_CALL(ShowChoice, MSG_Choice_0013) + EVT_IF_NE(LVar0, 0) + EVT_CALL(ContinueSpeech, NPC_Twink, ANIM_Twink_Talk, ANIM_Twink_Idle, 0, MSG_HOS_0015) + EVT_ELSE + EVT_GOTO(15) + EVT_END_IF + EVT_ELSE + EVT_LABEL(15) + EVT_CALL(ContinueSpeech, NPC_Twink, ANIM_Twink_Talk, ANIM_Twink_Idle, 0, MSG_HOS_0016) + EVT_CALL(SpeakToPlayer, NPC_PARTNER, ANIM_WorldGoombario_Talk, ANIM_WorldGoombario_Idle, 0, MSG_HOS_0017) + EVT_CALL(SpeakToPlayer, NPC_Twink, ANIM_Twink_Talk, ANIM_Twink_Idle, 0, MSG_HOS_0018) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_80007) + EVT_CALL(SetNpcVar, NPC_Twink, 0, 1) + EVT_LOOP(0) + EVT_CALL(GetNpcVar, NPC_Twink, 0, LVar0) + EVT_IF_EQ(LVar0, 2) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_IF + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) + EVT_CALL(SpeakToPlayer, NPC_Twink, ANIM_Twink_Talk, ANIM_Twink_Idle, 0, MSG_HOS_002F) + EVT_CALL(SpeakToPlayer, NPC_PARTNER, ANIM_WorldGoombario_Talk, ANIM_WorldGoombario_Idle, 0, MSG_HOS_0030) + EVT_WAIT(20) + EVT_EXEC(N(EVS_PlayKammyKoopaSong)) + EVT_CALL(ShowMessageAtScreenPos, MSG_HOS_0031, 320, 0) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(3.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_THREAD + EVT_WAIT(20) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, -250) + EVT_DIV(LVar0, 2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, -250, 53, 0) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(1.4)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_WAIT(10) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, 0, 0) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(2.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_END_THREAD + EVT_EXEC_GET_TID(N(EVS_UpdateFacingMagikoopa), LVarA) + EVT_CALL(LoadPath, 67, EVT_PTR(N(FlightPath_Magikoopa)), ARRAY_COUNT(N(FlightPath_Magikoopa)), EASING_LINEAR) + EVT_LABEL(2) + EVT_CALL(GetNextPathPos) + EVT_CALL(SetNpcPos, NPC_FlyingMagikoopa, LVar1, LVar2, LVar3) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 1) + EVT_GOTO(2) + EVT_END_IF + EVT_KILL_THREAD(LVarA) + EVT_CHILD_THREAD + EVT_LOOP(0) + EVT_LOOP(10) + EVT_CALL(GetNpcPos, NPC_FlyingMagikoopa, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 1) + EVT_CALL(SetNpcPos, NPC_FlyingMagikoopa, LVar0, LVar1, LVar2) + EVT_WAIT(2) + EVT_END_LOOP + EVT_WAIT(3) + EVT_LOOP(10) + EVT_CALL(GetNpcPos, NPC_FlyingMagikoopa, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, -1) + EVT_CALL(SetNpcPos, NPC_FlyingMagikoopa, LVar0, LVar1, LVar2) + EVT_WAIT(2) + EVT_END_LOOP + EVT_WAIT(3) + EVT_END_LOOP + EVT_END_CHILD_THREAD + EVT_CALL(SetNpcAnimation, NPC_FlyingMagikoopa, ANIM_FlyingMagikoopa_Anim00) + EVT_LOOP(3) + EVT_CALL(SetNpcRotation, NPC_FlyingMagikoopa, 0, 0, 10) + EVT_WAIT(1) + EVT_CALL(SetNpcRotation, NPC_FlyingMagikoopa, 0, 0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_WAIT(20) + EVT_EXEC_GET_TID(N(EVS_ConfusedTwinkLookingAround), LVarA) + EVT_CALL(SpeakToPlayer, NPC_Twink, ANIM_Twink_Talk, ANIM_Twink_Still, 5, MSG_HOS_0032) + EVT_KILL_THREAD(LVarA) + EVT_WAIT(10) + EVT_CALL(GetNpcPos, NPC_FlyingMagikoopa, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, 0, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(260.0)) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(13.0), EVT_FLOAT(-8.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(1) + EVT_CALL(SpeakToPlayer, NPC_FlyingMagikoopa, ANIM_FlyingMagikoopa_Anim09, ANIM_FlyingMagikoopa_Anim00, 512, MSG_HOS_0033) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, -250) + EVT_DIV(LVar0, 2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, 0, 0) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, 0, 0) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(4.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(SetNpcVar, NPC_FlyingMagikoopa, 0, 1) + EVT_CALL(EnablePartnerAI) + EVT_UNBIND + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Scene_TwinkDeparts) = { + EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_PARTIAL) + EVT_CALL(SetMusicTrack, 0, SONG_TWINK_THEME, 0, 8) + EVT_WAIT(60) + EVT_CALL(SetCamLeadPlayer, CAM_DEFAULT, TRUE) + EVT_CALL(GetNpcPos, NPC_Twink, LVar3, LVar1, LVar2) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, LVar3) + EVT_DIV(LVar0, 2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(275.0)) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(16.0), EVT_FLOAT(-9.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(1) + EVT_CALL(InterpNpcYaw, NPC_Twink, 90, 0) + EVT_CALL(SpeakToPlayer, NPC_Twink, ANIM_Twink_Talk, ANIM_Twink_Idle, 0, MSG_HOS_0034) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(SetPlayerJumpscale, EVT_FLOAT(0.5)) + EVT_CALL(PlayerJump, LVar0, LVar1, LVar2, 15) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_Twink, ANIM_Twink_Talk, ANIM_Twink_Idle, 0, MSG_HOS_0035) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(700.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(1.3)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(GetNpcPos, NPC_Twink, LVar4, LVar5, LVar6) + EVT_CALL(LoadPath, 85, EVT_PTR(N(TwinkDepartPath1)), ARRAY_COUNT(N(TwinkDepartPath1)), EASING_LINEAR) + EVT_LABEL(0) + EVT_CALL(GetNextPathPos) + EVT_ADDF(LVar1, LVar4) + EVT_ADDF(LVar2, LVar5) + EVT_ADDF(LVar3, LVar6) + EVT_CALL(SetNpcPos, NPC_Twink, LVar1, LVar2, LVar3) + EVT_CALL(N(HavePartyFaceTwink)) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 1) + EVT_GOTO(0) + EVT_END_IF + EVT_WAIT(45) + EVT_THREAD + EVT_CALL(LoadPath, 60, EVT_PTR(N(TwinkReturnPath)), ARRAY_COUNT(N(TwinkReturnPath)), EASING_LINEAR) + EVT_LABEL(1) + EVT_CALL(GetNextPathPos) + EVT_CALL(SetNpcPos, NPC_Twink, LVar1, LVar2, LVar3) + EVT_CALL(N(HavePartyFaceTwink)) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 1) + EVT_GOTO(1) + EVT_END_IF + EVT_END_THREAD + EVT_WAIT(30) + EVT_CALL(GetNpcPos, NPC_Twink, LVar3, LVar1, LVar2) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, LVar3) + EVT_DIV(LVar0, 2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(275.0)) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(16.0), EVT_FLOAT(-8.5)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(2.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(SpeakToPlayer, NPC_Twink, ANIM_Twink_Talk, ANIM_Twink_Idle, 0, MSG_HOS_0036) + EVT_THREAD + EVT_CALL(GetNpcPos, NPC_Twink, LVar4, LVar5, LVar6) + EVT_CALL(LoadPath, 120, EVT_PTR(N(TwinkDepartPath2)), ARRAY_COUNT(N(TwinkDepartPath2)), EASING_QUADRATIC_IN) + EVT_LABEL(2) + EVT_CALL(GetNextPathPos) + EVT_ADDF(LVar1, LVar4) + EVT_ADDF(LVar2, LVar5) + EVT_ADDF(LVar3, LVar6) + EVT_CALL(SetNpcPos, NPC_Twink, LVar1, LVar2, LVar3) + EVT_CALL(N(HavePartyFaceTwink)) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 1) + EVT_GOTO(2) + EVT_END_IF + EVT_END_THREAD + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(300.0)) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(12.5), EVT_FLOAT(-10.0)) + EVT_CALL(N(AddOffsetForCamPos)) + EVT_CALL(SetCamPosA, CAM_DEFAULT, LVar0, LVar1) + EVT_CALL(SetCamPosB, CAM_DEFAULT, LVar2, LVar3) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(0.5)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(30) + EVT_CALL(SetNpcFlagBits, NPC_Twink, NPC_FLAG_40000, TRUE) + EVT_SETF(LVar0, EVT_FLOAT(0.0)) + EVT_LOOP(10) + EVT_ADDF(LVar0, EVT_FLOAT(36.0)) + EVT_CALL(SetNpcRotation, NPC_Twink, 0, LVar0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetNpcFlagBits, NPC_Twink, NPC_FLAG_40000, FALSE) + EVT_WAIT(120) + EVT_CALL(InterpNpcYaw, NPC_PARTNER, 270, 0) + EVT_CALL(PlayerFaceNpc, NPC_PARTNER, FALSE) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(275.0)) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(13.0), EVT_FLOAT(-7.5)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(10) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SpeakToPlayer, NPC_PARTNER, ANIM_WorldGoombario_Talk, ANIM_WorldGoombario_Idle, 0, MSG_HOS_0037) + EVT_CALL(EnablePartnerAI) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_NodYes) + EVT_WAIT(30) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_THREAD + EVT_SET(GB_StoryProgress, STORY_CH0_TWINK_GAVE_LUCKY_STAR) + EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_NORMAL) + EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(4.0)) + EVT_END_THREAD + EVT_WAIT(10) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_00/A0C930.c b/src/world/area_hos/hos_00/hos_00_7_shade_gfx.c similarity index 60% rename from src/world/area_hos/hos_00/A0C930.c rename to src/world/area_hos/hos_00/hos_00_7_shade_gfx.c index 7ad2caa50c..55d62d9935 100644 --- a/src/world/area_hos/hos_00/A0C930.c +++ b/src/world/area_hos/hos_00/hos_00_7_shade_gfx.c @@ -1,6 +1,6 @@ #include "hos_00.h" -void func_80240C40_A0C930(void) { +void N(setup_gfx_background_shade)(void) { s32 alpha = update_lerp(0, 0.0f, 216.0f, gPlayerStatus.position.x - 200.0f, 500); if (alpha < 0) { @@ -13,3 +13,10 @@ void func_80240C40_A0C930(void) { gDPSetCombineLERP(gMasterGfxPos++, 0, 0, 0, SHADE, SHADE, 0, PRIMITIVE, 0, 0, 0, 0, SHADE, SHADE, 0, PRIMITIVE, 0); gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, alpha); } + +EvtScript N(EVS_SetupBackgroundShade) = { + EVT_CALL(SetModelCustomGfx, MODEL_g107, CUSTOM_GFX_1, FOG_MODE_UNCHANGED) + EVT_CALL(SetCustomGfxBuilders, CUSTOM_GFX_1, EVT_PTR(N(setup_gfx_background_shade)), NULL) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_01/A10880.c b/src/world/area_hos/hos_01/A10880.c deleted file mode 100644 index f6bac058db..0000000000 --- a/src/world/area_hos/hos_01/A10880.c +++ /dev/null @@ -1,9 +0,0 @@ -#include "hos_01.h" - -#include "common/UnkEffect0FFuncs.inc.c" - -#include "world/common/todo/GetFloorCollider.inc.c" - -static char* N(exit_str_0) = "kmr_24"; -static char* N(exit_str_1) = "hos_00"; -static char* N(exit_str_2) = "hos_02"; diff --git a/src/world/area_hos/hos_01/A11020.c b/src/world/area_hos/hos_01/A11020.c deleted file mode 100644 index 8eda1d8d74..0000000000 --- a/src/world/area_hos/hos_01/A11020.c +++ /dev/null @@ -1,75 +0,0 @@ -#include "hos_01.h" -#include "effects.h" - -extern u32 D_80241C2C_A124AC; -extern u32 D_80241C30_A124B0; - -#include "world/common/atomic/TexturePan.inc.c" - -ApiStatus func_80240AAC_A1132C(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++); - - effect->data.unk_75->unk_78 = 190.0f; - effect->data.unk_75->unk_7C = 220.0f; - effect->data.unk_75->unk_68 = 0.7f; - return ApiStatus_DONE2; -} - -ApiStatus func_80240B10_A11390(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++); - - effect->data.unk_75->unk_78 = 170.0f; - effect->data.unk_75->unk_7C = 170.0f; - effect->data.unk_75->unk_68 = 2.0f; - return ApiStatus_DONE2; -} - -ApiStatus func_80240B64_A113E4(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++); - - effect->data.unk_75->masterAlpha = evt_get_variable(script, *args++); - return ApiStatus_DONE2; -} - -void func_80240BB8_A11438(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_80241C2C_A124AC); -} - -ApiStatus func_80240C08_A11488(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - D_80241C2C_A124AC = evt_get_variable(script, *args++); - return ApiStatus_DONE2; -} - -void func_80240C34_A114B4(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_80241C30_A124B0); -} - -ApiStatus func_80240C84_A11504(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - D_80241C30_A124B0 = evt_get_variable(script, *args++); - return ApiStatus_DONE2; -} - -#include "world/common/todo/SwitchToPartner.inc.c" - -ApiStatus func_80240CDC_A1155C(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 a0 = evt_get_variable(script, *args++); - s32 a1 = evt_get_variable(script, *args++); - s32 a2 = evt_get_variable(script, *args++); - s32 a3 = evt_get_variable(script, *args++); - s32 a4 = evt_get_variable(script, *args++); - - fx_sparkles(a0, a1, a2, a3, a4); - return ApiStatus_DONE2; -} diff --git a/src/world/area_hos/hos_01/A11650.c b/src/world/area_hos/hos_01/A11650.c deleted file mode 100644 index e1e95bf3b9..0000000000 --- a/src/world/area_hos/hos_01/A11650.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "hos_01.h" - -#include "world/common/todo/UnsetCamera0MoveFlag1.inc.c" - -#define NAMESPACE hos_01_dup -#include "world/common/todo/GetFloorCollider.inc.c" -#define NAMESPACE hos_01 diff --git a/src/world/area_hos/hos_01/hos_01.h b/src/world/area_hos/hos_01/hos_01.h index 9e8a209f80..30bd94ea60 100644 --- a/src/world/area_hos/hos_01/hos_01.h +++ b/src/world/area_hos/hos_01/hos_01.h @@ -2,8 +2,46 @@ /// @brief Shooting Star Summit - Shooting Star Summit #include "common.h" -#include "../hos.h" #include "message_ids.h" #include "map.h" +#include "../hos.h" +#include "mapfs/hos_01_shape.h" +#include "mapfs/hos_01_hit.h" + +#include "sprite/npc/WorldGoombario.h" + +enum { + NPC_Eldstar = 0, + NPC_Mamar = 1, + NPC_Skolar = 2, + NPC_Muskular = 3, + NPC_Misstar = 4, + NPC_Klevar = 5, + NPC_Kalmar = 6, +}; + +enum { + MV_AlphaAmt_Eldstar = MapVar(0), + MV_AlphaAmt_Others = MapVar(1), + MV_StarBeamFXPtr = MapVar(10), + MV_StarBeamState = MapVar(11), +}; + +enum { + MF_SpiritsGone = MapFlag(0), +}; + #define NAMESPACE hos_01 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_SetupModelFX); +extern EvtScript N(EVS_Scene_StarWayOpened); +extern EvtScript N(EVS_AscendStarBeam); +extern NpcGroupList N(DefaultNPCs); +extern EvtScript N(EVS_MakeEntities); + +API_CALLABLE(N(func_80240AAC_A1132C)); +API_CALLABLE(N(func_80240B10_A11390)); +API_CALLABLE(N(SetStarBeamMasterAlpha)); diff --git a/src/world/area_hos/hos_01/hos_01_0_header.c b/src/world/area_hos/hos_01/hos_01_0_header.c new file mode 100644 index 0000000000..be3bf9919e --- /dev/null +++ b/src/world/area_hos/hos_01/hos_01_0_header.c @@ -0,0 +1,14 @@ +#include "hos_01.h" + +EntryList N(Entrances) = { + [hos_01_ENTRY_0] { -400.0, 0.0, 410.0, 45.0 }, + [hos_01_ENTRY_1] { 22.0, 285.0, -190.0, 0.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .background = &gBackgroundImage, + .tattle = { MSG_MapTattle_hos_01 }, +}; diff --git a/src/world/area_hos/hos_01/hos_01_1_music.c b/src/world/area_hos/hos_01/hos_01_1_music.c new file mode 100644 index 0000000000..6f2d5e8cfd --- /dev/null +++ b/src/world/area_hos/hos_01/hos_01_1_music.c @@ -0,0 +1,10 @@ +#include "hos_01.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_CALL(GetEntryID, LVar0) + EVT_IF_EQ(LVar0, hos_01_ENTRY_0) + EVT_CALL(SetMusicTrack, 0, SONG_SHOOTING_STAR_SUMMIT, 0, 8) + EVT_END_IF + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_01/hos_01_2_main.c b/src/world/area_hos/hos_01/hos_01_2_main.c new file mode 100644 index 0000000000..a979492264 --- /dev/null +++ b/src/world/area_hos/hos_01/hos_01_2_main.c @@ -0,0 +1,150 @@ +#include "hos_01.h" + +#include "../common/FallingStars.inc.c" + +#include "world/common/todo/GetFloorCollider.inc.c" + +//@bug malformed script is missing EVT_RETURN and EVT_END, only works because another EvtScript follows +EvtScript N(EVS_GotoMap_kmr_24_0) = { + EVT_CALL(FadeOutMusic, 0, 1500) + EVT_CALL(GotoMapSpecial, EVT_PTR("kmr_24"), kmr_24_ENTRY_0, TRANSITION_11) + EVT_WAIT(100) +}; + +EvtScript N(EVS_ExitWalk_hos_00_1) = EVT_EXIT_WALK(60, hos_01_ENTRY_0, "hos_00", hos_00_ENTRY_1); + +EvtScript N(EVS_ExitStarBeam) = { + EVT_SET_GROUP(EVT_GROUP_1B) + EVT_IF_LT(GB_StoryProgress, STORY_CH8_OPENED_PATH_TO_STAR_WAY) + EVT_RETURN + EVT_END_IF + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(GetPartnerInUse, LVar0) + EVT_IF_NE(LVar0, PARTNER_NONE) + EVT_CALL(InterruptUsePartner) + EVT_WAIT(20) + EVT_LOOP(0) + EVT_WAIT(1) + EVT_CALL(IsPlayerOnValidFloor, LVar0) + EVT_IF_EQ(LVar0, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_IF + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(DisablePartnerAI, 0) + EVT_EXEC_WAIT(N(EVS_AscendStarBeam)) + EVT_CALL(GotoMap, EVT_PTR("hos_02"), hos_02_ENTRY_0) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_BindExitTriggers) = { + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_hos_00_1)), TRIGGER_FLOOR_ABOVE, COLLIDER_deilisw, 1, 0) + EVT_CALL(GetEntryID, LVar0) + EVT_IF_NE(LVar0, hos_01_ENTRY_1) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitStarBeam)), TRIGGER_FLOOR_TOUCH, COLLIDER_deilin, 1, 0) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_EnterStarBeam) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(SetPlayerActionState, ACTION_STATE_LAND) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_100, TRUE) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, -30, 250, -160) + EVT_CALL(SetPanTarget, CAM_DEFAULT, -30, 250, -160) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_SET(LVar2, 360) + EVT_CALL(MakeLerp, 500, 250, 60, EASING_QUADRATIC_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(SetPlayerPos, -30, LVar0, -160) + EVT_CALL(SetNpcPos, NPC_PARTNER, -30, LVar0, -170) + EVT_ADD(LVar2, 40) + EVT_CALL(InterpPlayerYaw, LVar2, 0) + EVT_CALL(SetNpcRotation, NPC_PARTNER, 0, LVar2, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_SET(LVar0, LVar2) + EVT_SUB(LVar0, 360) + EVT_SUB(LVar2, LVar0) + EVT_SET(LVar0, 40) + EVT_LABEL(10) + EVT_IF_LT(LVar2, 540) + EVT_CALL(InterpPlayerYaw, LVar2, 0) + EVT_CALL(SetNpcRotation, NPC_PARTNER, 0, LVar2, 0) + EVT_ADD(LVar2, LVar0) + EVT_WAIT(1) + EVT_GOTO(10) + EVT_END_IF + EVT_SET(LVar2, 180) + EVT_SUB(LVar0, 5) + EVT_IF_GT(LVar0, 20) + EVT_GOTO(10) + EVT_END_IF + EVT_CALL(SetNpcRotation, NPC_PARTNER, 0, 0, 0) + EVT_CALL(N(func_80240AAC_A1132C), MV_StarBeamFXPtr) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, TRUE) + EVT_CALL(EnablePartnerAI) + EVT_CALL(DisablePlayerPhysics, FALSE) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_CALL(SetMusicTrack, 0, SONG_SHOOTING_STAR_SUMMIT, 0, 8) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_LABEL(20) + EVT_CALL(N(GetFloorCollider), LVar0) + EVT_IF_NE(LVar0, COLLIDER_o234) + EVT_WAIT(1) + EVT_GOTO(20) + EVT_END_IF + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitStarBeam)), TRIGGER_FLOOR_TOUCH, COLLIDER_deilin, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_SHOOTING_STAR_SUMMIT) + EVT_CALL(SetSpriteShading, SHADING_HOS_01) + EVT_SETUP_CAMERA_NO_LEAD() + EVT_THREAD + EVT_LABEL(1) + EVT_IF_NE(GB_StoryProgress, STORY_CH0_MET_STAR_SPIRITS) + EVT_WAIT(1) + EVT_GOTO(1) + EVT_END_IF + EVT_CALL(DisablePlayerInput, TRUE) + EVT_EXEC_WAIT(N(EVS_GotoMap_kmr_24_0)) + EVT_END_THREAD + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) + EVT_EXEC_WAIT(N(EVS_MakeEntities)) + EVT_EXEC(N(EVS_SetupModelFX)) + EVT_EXEC(N(EVS_Starfall_Random)) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(hos_01_ENTRY_0) + EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers))) + EVT_EXEC(EnterWalk) + EVT_WAIT(1) + EVT_CASE_EQ(hos_01_ENTRY_1) + EVT_THREAD + EVT_EXEC_WAIT(N(EVS_EnterStarBeam)) + EVT_EXEC(N(EVS_BindExitTriggers)) + EVT_END_THREAD + EVT_END_SWITCH + EVT_IF_EQ(GB_StoryProgress, STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_EXEC(N(EVS_Scene_StarWayOpened)) + EVT_END_IF + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_01/hos_01_3_model_fx.c b/src/world/area_hos/hos_01/hos_01_3_model_fx.c new file mode 100644 index 0000000000..8adba9bf0f --- /dev/null +++ b/src/world/area_hos/hos_01/hos_01_3_model_fx.c @@ -0,0 +1,210 @@ +#include "hos_01.h" +#include "effects.h" + +#include "world/common/atomic/TexturePan.inc.c" +#include "world/common/atomic/TexturePan.data.inc.c" + +s32 N(GlowingStarAlpha) = 255; +s32 N(GivingPowerAlpha) = 255; + +API_CALLABLE(N(func_80240AAC_A1132C)) { + Bytecode* args = script->ptrReadPos; + EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++); + + effect->data.unk_75->unk_78 = 190.0f; + effect->data.unk_75->unk_7C = 220.0f; + effect->data.unk_75->unk_68 = 0.7f; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(func_80240B10_A11390)) { + Bytecode* args = script->ptrReadPos; + EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++); + + effect->data.unk_75->unk_78 = 170.0f; + effect->data.unk_75->unk_7C = 170.0f; + effect->data.unk_75->unk_68 = 2.0f; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(SetStarBeamMasterAlpha)) { + Bytecode* args = script->ptrReadPos; + EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++); + + effect->data.unk_75->masterAlpha = evt_get_variable(script, *args++); + return ApiStatus_DONE2; +} + +void N(setup_gfx_glowing_star)(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, N(GlowingStarAlpha)); +} + +API_CALLABLE(N(SetGlowingStarAlpha)) { + Bytecode* args = script->ptrReadPos; + + N(GlowingStarAlpha) = evt_get_variable(script, *args++); + return ApiStatus_DONE2; +} + +void N(setup_gfx_giving_power)(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, N(GivingPowerAlpha)); +} + +API_CALLABLE(N(SetGivingPowerAlpha)) { + Bytecode* args = script->ptrReadPos; + + N(GivingPowerAlpha) = evt_get_variable(script, *args++); + return ApiStatus_DONE2; +} + +EvtScript N(EVS_UpdateGivingPower) = { + EVT_LOOP(0) + EVT_CALL(MakeLerp, 180, 80, 45, EASING_COS_IN_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(N(SetGivingPowerAlpha), LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(MakeLerp, 80, 180, 35, EASING_COS_IN_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(N(SetGivingPowerAlpha), LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetupModelFX) = { + EVT_THREAD + TEX_PAN_PARAMS_ID(TEX_PANNER_4) + TEX_PAN_PARAMS_STEP( 0, 0, -170, -70) + TEX_PAN_PARAMS_FREQ( 0, 0, 1, 1) + TEX_PAN_PARAMS_INIT( 0, 0, 0, 0) + EVT_EXEC(N(EVS_UpdateTexturePan)) + EVT_END_THREAD + EVT_THREAD + TEX_PAN_PARAMS_ID(TEX_PANNER_5) + TEX_PAN_PARAMS_STEP( 0, 0, 200, -100) + TEX_PAN_PARAMS_FREQ( 0, 0, 1, 1) + TEX_PAN_PARAMS_INIT( 0, 0, 0, 0) + EVT_EXEC(N(EVS_UpdateTexturePan)) + EVT_END_THREAD + EVT_CALL(SetTexPanner, MODEL_o178, TEX_PANNER_4) + EVT_CALL(SetTexPanner, MODEL_o179, TEX_PANNER_4) + EVT_CALL(SetTexPanner, MODEL_o208, TEX_PANNER_5) + EVT_CALL(SetTexPanner, MODEL_o211, TEX_PANNER_5) + EVT_IF_LT(GB_StoryProgress, STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_CALL(EnableModel, MODEL_7, FALSE) + EVT_IF_LT(GB_StoryProgress, STORY_CH6_STAR_SPIRIT_RESCUED) + EVT_CALL(EnableModel, MODEL_6, FALSE) + EVT_IF_LT(GB_StoryProgress, STORY_CH5_STAR_SPRIT_DEPARTED) + EVT_CALL(EnableModel, MODEL_5, FALSE) + EVT_IF_LT(GB_StoryProgress, STORY_CH4_STAR_SPRIT_DEPARTED) + EVT_CALL(EnableModel, MODEL_4, FALSE) + EVT_IF_LT(GB_StoryProgress, STORY_CH3_STAR_SPIRIT_RESCUED) + EVT_CALL(EnableModel, MODEL_3, FALSE) + EVT_IF_LT(GB_StoryProgress, STORY_CH2_STAR_SPRIT_DEPARTED) + EVT_CALL(EnableModel, MODEL_2, FALSE) + EVT_IF_LT(GB_StoryProgress, STORY_CH1_STAR_SPRIT_DEPARTED) + EVT_CALL(EnableModel, MODEL_1, FALSE) + EVT_END_IF + EVT_END_IF + EVT_END_IF + EVT_END_IF + EVT_END_IF + EVT_END_IF + EVT_END_IF + EVT_IF_LT(GB_StoryProgress, STORY_CH8_OPENED_PATH_TO_STAR_WAY) + EVT_CALL(EnableModel, MODEL_power, FALSE) + EVT_ELSE + EVT_PLAY_EFFECT(EFFECT_75, 0, -30, 250, -160, 1, -1) + EVT_SET(MV_StarBeamFXPtr, LVarF) + EVT_SET(LVar0, 255) + EVT_CALL(N(SetStarBeamMasterAlpha), MV_StarBeamFXPtr, LVar0) + EVT_CALL(GetEntryID, LVar0) + EVT_IF_EQ(LVar0, hos_01_ENTRY_1) + EVT_CALL(N(func_80240B10_A11390), MV_StarBeamFXPtr) + EVT_ELSE + EVT_CALL(N(func_80240AAC_A1132C), MV_StarBeamFXPtr) + EVT_END_IF + EVT_END_IF + EVT_CALL(SetRenderMode, MODEL_1, RENDER_MODE_SURFACE_XLU_LAYER2) + EVT_CALL(SetRenderMode, MODEL_2, RENDER_MODE_SURFACE_XLU_LAYER2) + EVT_CALL(SetRenderMode, MODEL_3, RENDER_MODE_SURFACE_XLU_LAYER2) + EVT_CALL(SetRenderMode, MODEL_4, RENDER_MODE_SURFACE_XLU_LAYER2) + EVT_CALL(SetRenderMode, MODEL_5, RENDER_MODE_SURFACE_XLU_LAYER2) + EVT_CALL(SetRenderMode, MODEL_6, RENDER_MODE_SURFACE_XLU_LAYER2) + EVT_CALL(SetRenderMode, MODEL_7, RENDER_MODE_SURFACE_XLU_LAYER2) + EVT_CALL(SetModelCustomGfx, MODEL_1, CUSTOM_GFX_0, FOG_MODE_UNCHANGED) + EVT_CALL(SetModelCustomGfx, MODEL_2, CUSTOM_GFX_0, FOG_MODE_UNCHANGED) + EVT_CALL(SetModelCustomGfx, MODEL_3, CUSTOM_GFX_0, FOG_MODE_UNCHANGED) + EVT_CALL(SetModelCustomGfx, MODEL_4, CUSTOM_GFX_0, FOG_MODE_UNCHANGED) + EVT_CALL(SetModelCustomGfx, MODEL_5, CUSTOM_GFX_0, FOG_MODE_UNCHANGED) + EVT_CALL(SetModelCustomGfx, MODEL_6, CUSTOM_GFX_0, FOG_MODE_UNCHANGED) + EVT_CALL(SetModelCustomGfx, MODEL_7, CUSTOM_GFX_0, FOG_MODE_UNCHANGED) + EVT_CALL(SetCustomGfxBuilders, CUSTOM_GFX_0, EVT_PTR(N(setup_gfx_glowing_star)), NULL) + EVT_CALL(TranslateModel, MODEL_power, 0, 2, 0) + EVT_CALL(SetModelCustomGfx, MODEL_power, CUSTOM_GFX_1, FOG_MODE_UNCHANGED) + EVT_CALL(SetCustomGfxBuilders, CUSTOM_GFX_1, EVT_PTR(N(setup_gfx_giving_power)), NULL) + EVT_THREAD + EVT_LOOP(0) + EVT_CALL(MakeLerp, 255, 100, 60, EASING_COS_IN_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(N(SetGlowingStarAlpha), LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(MakeLerp, 100, 255, 35, EASING_COS_IN_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(N(SetGlowingStarAlpha), LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_IF_GE(GB_StoryProgress, STORY_CH8_OPENED_PATH_TO_STAR_WAY) + EVT_EXEC_WAIT(N(EVS_UpdateGivingPower)) + EVT_ELSE + EVT_CALL(N(SetGivingPowerAlpha), 0) + EVT_LABEL(10) + EVT_IF_NE(MV_StarBeamState, 1) + EVT_WAIT(1) + EVT_GOTO(10) + EVT_END_IF + EVT_CALL(MakeLerp, 0, 180, 55, EASING_COS_IN_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(N(SetGivingPowerAlpha), LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_SET(MV_StarBeamState, 2) + EVT_EXEC_WAIT(N(EVS_UpdateGivingPower)) + EVT_END_IF + EVT_END_THREAD + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_01/hos_01_4_npc.c b/src/world/area_hos/hos_01/hos_01_4_npc.c new file mode 100644 index 0000000000..de8fa9c0c7 --- /dev/null +++ b/src/world/area_hos/hos_01/hos_01_4_npc.c @@ -0,0 +1,513 @@ +#include "hos_01.h" +#include "effects.h" + +#include "world/common/todo/SwitchToPartner.inc.c" + +API_CALLABLE(N(DrawAppearSparkles)) { + Bytecode* args = script->ptrReadPos; + s32 type = evt_get_variable(script, *args++); + s32 posX = evt_get_variable(script, *args++); + s32 posY = evt_get_variable(script, *args++); + s32 posZ = evt_get_variable(script, *args++); + s32 duration = evt_get_variable(script, *args++); + + fx_sparkles(type, posX, posY, posZ, duration); + return ApiStatus_DONE2; +} + +#include "world/common/npc/StarSpirit.inc.c" + +EvtScript N(EVS_MuteMusicOnPlayerApproach) = { + EVT_SET(LVarA, 0) + EVT_LABEL(0) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_IF_GE(LVar1, 245) + EVT_CALL(IsPlayerWithin, -30, -165, 180, LVar3) + EVT_IF_EQ(LVar3, 1) + EVT_GOTO(10) + EVT_END_IF + EVT_END_IF + EVT_WAIT(1) + EVT_GOTO(0) + EVT_LABEL(10) + EVT_SET(LVarA, 1) + EVT_CALL(FadeOutMusic, 0, 2000) + EVT_WAIT(60) + EVT_LABEL(20) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_IF_LT(LVar1, 245) + EVT_CALL(IsPlayerWithin, -30, -165, 180, LVar3) + EVT_IF_EQ(LVar3, 0) + EVT_GOTO(30) + EVT_END_IF + EVT_END_IF + EVT_WAIT(1) + EVT_GOTO(20) + EVT_LABEL(30) + EVT_CALL(SetMusicTrack, 0, SONG_SHOOTING_STAR_SUMMIT, 0, 8) + EVT_WAIT(30) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Scene_StarSpiritsPlea) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, -35, 250, -145) + EVT_CALL(SetPanTarget, CAM_DEFAULT, -35, 250, -145) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 450) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(20.0), EVT_FLOAT(-5.5)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(0.5)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(func_802D2C14, 2) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_100, TRUE) + EVT_THREAD + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_ADD(LVar2, 30) + EVT_CALL(SetNpcJumpscale, NPC_PARTNER, 0) + EVT_CALL(NpcJump0, NPC_PARTNER, LVar0, LVar1, LVar2, 15) + EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) + EVT_END_THREAD + EVT_CALL(SetMusicTrack, 0, SONG_STAR_SPIRIT_THEME, 1, 8) + EVT_CALL(SpeakToPlayer, NPC_Eldstar, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle, 0, MSG_HOS_0000) + EVT_WAIT(10) + EVT_WAIT(1) + EVT_CALL(PlayerFaceNpc, NPC_Eldstar, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Eldstar, NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcJumpscale, NPC_Eldstar, 0) + EVT_CALL(NpcJump0, NPC_Eldstar, 21, 260, -277, 30) + EVT_CALL(EnableModel, MODEL_1, TRUE) + EVT_CALL(PlaySound, SOUND_64) + EVT_CALL(GetNpcPos, NPC_Mamar, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 15) + EVT_CALL(N(DrawAppearSparkles), 0, LVar0, LVar1, LVar2, 10) + EVT_CALL(GetNpcPos, NPC_Skolar, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 15) + EVT_CALL(N(DrawAppearSparkles), 0, LVar0, LVar1, LVar2, 10) + EVT_CALL(GetNpcPos, NPC_Muskular, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 15) + EVT_CALL(N(DrawAppearSparkles), 0, LVar0, LVar1, LVar2, 10) + EVT_CALL(GetNpcPos, NPC_Misstar, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 15) + EVT_CALL(N(DrawAppearSparkles), 0, LVar0, LVar1, LVar2, 10) + EVT_CALL(GetNpcPos, NPC_Klevar, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 15) + EVT_CALL(N(DrawAppearSparkles), 0, LVar0, LVar1, LVar2, 10) + EVT_CALL(GetNpcPos, NPC_Kalmar, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 15) + EVT_CALL(N(DrawAppearSparkles), 0, LVar0, LVar1, LVar2, 10) + EVT_CALL(EnableModel, MODEL_2, TRUE) + EVT_CALL(EnableModel, MODEL_3, TRUE) + EVT_CALL(EnableModel, MODEL_4, TRUE) + EVT_CALL(EnableModel, MODEL_5, TRUE) + EVT_CALL(EnableModel, MODEL_6, TRUE) + EVT_CALL(EnableModel, MODEL_7, TRUE) + EVT_SETF(MV_AlphaAmt_Others, EVT_FLOAT(-80.0)) + EVT_LOOP(20) + EVT_ADDF(MV_AlphaAmt_Others, EVT_FLOAT(6.0)) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(EnableNpcShadow, NPC_Mamar, TRUE) + EVT_CALL(EnableNpcShadow, NPC_Skolar, TRUE) + EVT_CALL(EnableNpcShadow, NPC_Muskular, TRUE) + EVT_CALL(EnableNpcShadow, NPC_Misstar, TRUE) + EVT_CALL(EnableNpcShadow, NPC_Klevar, TRUE) + EVT_CALL(EnableNpcShadow, NPC_Kalmar, TRUE) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_Eldstar, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle, 0, MSG_HOS_0001) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 270) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(2.8)) + EVT_CALL(GetNpcPos, NPC_Eldstar, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(20.0), EVT_FLOAT(-6.5)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(SpeakToPlayer, NPC_Eldstar, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle, 0, MSG_HOS_0002) + EVT_CALL(GetNpcPos, NPC_Mamar, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(20.0), EVT_FLOAT(-6.9)) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(SpeakToPlayer, NPC_Mamar, ANIM_WorldMamar_TalkHappy, ANIM_WorldEldstar_Idle, 0, MSG_HOS_0003) + EVT_CALL(GetNpcPos, NPC_Skolar, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(20.0), EVT_FLOAT(-7.3)) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(SpeakToPlayer, NPC_Skolar, ANIM_WorldSkolar_TalkAngry, ANIM_WorldMamar_Idle, 0, MSG_HOS_0004) + EVT_CALL(GetNpcPos, NPC_Muskular, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(20.0), EVT_FLOAT(-7.7)) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(SpeakToPlayer, NPC_Muskular, ANIM_WorldMuskular_Talk, ANIM_WorldMuskular_Idle, 0, MSG_HOS_0005) + EVT_CALL(GetNpcPos, NPC_Misstar, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(20.0), EVT_FLOAT(-7.7)) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(SpeakToPlayer, NPC_Misstar, ANIM_WorldMisstar_Talk, ANIM_WorldMisstar_Idle, 0, MSG_HOS_0006) + EVT_CALL(GetNpcPos, NPC_Klevar, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(20.0), EVT_FLOAT(-7.3)) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(SpeakToPlayer, NPC_Klevar, ANIM_WorldKlevar_Talk, ANIM_WorldKlevar_Idle, 0, MSG_HOS_0007) + EVT_CALL(GetNpcPos, NPC_Kalmar, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(20.0), EVT_FLOAT(-6.9)) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(SpeakToPlayer, NPC_Kalmar, ANIM_WorldKalmar_Talk, ANIM_WorldKalmar_Idle, 0, MSG_HOS_0008) + EVT_SET(AB_HOS_StatcAmt_Kalmar, 200) + EVT_WAIT(30) + EVT_SET(AB_HOS_StatcAmt_Kalmar, 0) + EVT_WAIT(20) + EVT_CALL(SpeakToPlayer, NPC_Kalmar, ANIM_WorldKalmar_Talk, ANIM_WorldKalmar_Idle, 0, MSG_HOS_0009) + EVT_CALL(GetNpcPos, NPC_Eldstar, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamDistance, CAM_DEFAULT, -300) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(16.0), EVT_FLOAT(-6.0)) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(SpeakToPlayer, NPC_Eldstar, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle, 0, MSG_HOS_000A) + EVT_SET(AB_HOS_StatcAmt_Eldstar, 200) + EVT_SET(AB_HOS_StatcAmt_Mamar, 200) + EVT_SET(AB_HOS_StatcAmt_Skolar, 200) + EVT_SET(AB_HOS_StatcAmt_Muskular, 200) + EVT_SET(AB_HOS_StatcAmt_Misstar, 200) + EVT_SET(AB_HOS_StatcAmt_Klevar, 200) + EVT_SET(AB_HOS_StatcAmt_Kalmar, 200) + EVT_WAIT(30) + EVT_SET(AB_HOS_StatcAmt_Eldstar, 0) + EVT_SET(AB_HOS_StatcAmt_Mamar, 0) + EVT_SET(AB_HOS_StatcAmt_Skolar, 0) + EVT_SET(AB_HOS_StatcAmt_Muskular, 0) + EVT_SET(AB_HOS_StatcAmt_Misstar, 0) + EVT_SET(AB_HOS_StatcAmt_Klevar, 0) + EVT_SET(AB_HOS_StatcAmt_Kalmar, 0) + EVT_CALL(SpeakToPlayer, NPC_Eldstar, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle, 0, MSG_HOS_000B) + EVT_CALL(EnableNpcShadow, NPC_Eldstar, FALSE) + EVT_CALL(EnableNpcShadow, NPC_Mamar, FALSE) + EVT_CALL(EnableNpcShadow, NPC_Skolar, FALSE) + EVT_CALL(EnableNpcShadow, NPC_Muskular, FALSE) + EVT_CALL(EnableNpcShadow, NPC_Misstar, FALSE) + EVT_CALL(EnableNpcShadow, NPC_Klevar, FALSE) + EVT_CALL(EnableNpcShadow, NPC_Kalmar, FALSE) + EVT_CALL(FullyRestoreHPandFP) + EVT_SET(AB_HOS_StatcAmt_Eldstar, 100) + EVT_SET(AB_HOS_StatcAmt_Mamar, 100) + EVT_SET(AB_HOS_StatcAmt_Skolar, 100) + EVT_SET(AB_HOS_StatcAmt_Muskular, 100) + EVT_SET(AB_HOS_StatcAmt_Misstar, 100) + EVT_SET(AB_HOS_StatcAmt_Klevar, 100) + EVT_SET(AB_HOS_StatcAmt_Kalmar, 100) + EVT_SETF(MV_AlphaAmt_Eldstar, EVT_FLOAT(40.0)) + EVT_SETF(MV_AlphaAmt_Others, EVT_FLOAT(40.0)) + EVT_LOOP(20) + EVT_ADDF(MV_AlphaAmt_Eldstar, EVT_FLOAT(-6.0)) + EVT_ADDF(MV_AlphaAmt_Others, EVT_FLOAT(-6.0)) + EVT_WAIT(1) + EVT_END_LOOP + EVT_SET(MF_SpiritsGone, TRUE) + EVT_SET(AB_HOS_StatcAmt_Eldstar, 0) + EVT_SET(AB_HOS_StatcAmt_Mamar, 0) + EVT_SET(AB_HOS_StatcAmt_Skolar, 0) + EVT_SET(AB_HOS_StatcAmt_Muskular, 0) + EVT_SET(AB_HOS_StatcAmt_Misstar, 0) + EVT_SET(AB_HOS_StatcAmt_Klevar, 0) + EVT_SET(AB_HOS_StatcAmt_Kalmar, 0) + EVT_CALL(EnableModel, MODEL_1, FALSE) + EVT_CALL(EnableModel, MODEL_2, FALSE) + EVT_CALL(EnableModel, MODEL_3, FALSE) + EVT_CALL(EnableModel, MODEL_4, FALSE) + EVT_CALL(EnableModel, MODEL_5, FALSE) + EVT_CALL(EnableModel, MODEL_6, FALSE) + EVT_CALL(EnableModel, MODEL_7, FALSE) + EVT_CALL(DisablePartnerAI, 0) + EVT_WAIT(10) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 20) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 300) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(2.0)) + EVT_CALL(N(SwitchToPartner), PARTNER_GOOMBARIO) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 30) + EVT_ADD(LVar2, 30) + EVT_CALL(SetNpcSpeed, NPC_PARTNER, EVT_FLOAT(2.0)) + EVT_CALL(NpcMoveTo, NPC_PARTNER, LVar0, LVar2, 0) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_WAIT(10) + EVT_CALL(PlayerFaceNpc, NPC_PARTNER, FALSE) + EVT_CALL(SpeakToPlayer, NPC_PARTNER, ANIM_WorldGoombario_Talk, ANIM_WorldGoombario_Idle, 0, MSG_HOS_000C) + EVT_CALL(EnablePartnerAI) + EVT_THREAD + EVT_SET(GB_StoryProgress, STORY_CH0_MET_STAR_SPIRITS) + EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(1.5)) + EVT_END_THREAD + EVT_CALL(FadeOutMusic, 0, 3000) + EVT_WAIT(10) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Eldstar) = { + EVT_EXEC(N(EVS_Scene_StarSpiritsPlea)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcAux_Eldstar) = { + EVT_SET(AB_HOS_StatcAmt_Eldstar, 0) + EVT_SET(AB_HOS_StatcAmt_Mamar, 0) + EVT_SET(AB_HOS_StatcAmt_Skolar, 0) + EVT_SET(AB_HOS_StatcAmt_Muskular, 0) + EVT_SET(AB_HOS_StatcAmt_Misstar, 0) + EVT_SET(AB_HOS_StatcAmt_Klevar, 0) + EVT_SET(AB_HOS_StatcAmt_Kalmar, 0) + EVT_THREAD + EVT_LOOP(0) + EVT_IF_EQ(AB_HOS_StatcAmt_Eldstar, 0) + EVT_CALL(RandInt, 45, LVar1) + EVT_ADD(LVar1, 105) + EVT_SET(AB_HOS_StatcAmt_Eldstar, 200) + EVT_WAIT(10) + EVT_SET(AB_HOS_StatcAmt_Eldstar, 0) + EVT_WAIT(LVar1) + EVT_ELSE + EVT_WAIT(1) + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_LOOP(0) + EVT_IF_EQ(AB_HOS_StatcAmt_Mamar, 0) + EVT_CALL(RandInt, 45, LVar1) + EVT_ADD(LVar1, 105) + EVT_SET(AB_HOS_StatcAmt_Mamar, 200) + EVT_WAIT(10) + EVT_SET(AB_HOS_StatcAmt_Mamar, 0) + EVT_WAIT(LVar1) + EVT_ELSE + EVT_WAIT(1) + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_LOOP(0) + EVT_IF_EQ(AB_HOS_StatcAmt_Skolar, 0) + EVT_CALL(RandInt, 45, LVar1) + EVT_ADD(LVar1, 105) + EVT_SET(AB_HOS_StatcAmt_Skolar, 200) + EVT_WAIT(10) + EVT_SET(AB_HOS_StatcAmt_Skolar, 0) + EVT_WAIT(LVar1) + EVT_ELSE + EVT_WAIT(1) + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_LOOP(0) + EVT_IF_EQ(AB_HOS_StatcAmt_Muskular, 0) + EVT_CALL(RandInt, 45, LVar1) + EVT_ADD(LVar1, 105) + EVT_SET(AB_HOS_StatcAmt_Muskular, 200) + EVT_WAIT(10) + EVT_SET(AB_HOS_StatcAmt_Muskular, 0) + EVT_WAIT(LVar1) + EVT_ELSE + EVT_WAIT(1) + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_LOOP(0) + EVT_IF_EQ(AB_HOS_StatcAmt_Misstar, 0) + EVT_CALL(RandInt, 45, LVar1) + EVT_ADD(LVar1, 105) + EVT_SET(AB_HOS_StatcAmt_Misstar, 200) + EVT_WAIT(10) + EVT_SET(AB_HOS_StatcAmt_Misstar, 0) + EVT_WAIT(LVar1) + EVT_ELSE + EVT_WAIT(1) + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_LOOP(0) + EVT_IF_EQ(AB_HOS_StatcAmt_Klevar, 0) + EVT_CALL(RandInt, 45, LVar1) + EVT_ADD(LVar1, 105) + EVT_SET(AB_HOS_StatcAmt_Klevar, 200) + EVT_WAIT(10) + EVT_SET(AB_HOS_StatcAmt_Klevar, 0) + EVT_WAIT(LVar1) + EVT_ELSE + EVT_WAIT(1) + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_LOOP(0) + EVT_IF_EQ(AB_HOS_StatcAmt_Kalmar, 0) + EVT_CALL(RandInt, 45, LVar1) + EVT_ADD(LVar1, 105) + EVT_SET(AB_HOS_StatcAmt_Kalmar, 200) + EVT_WAIT(10) + EVT_SET(AB_HOS_StatcAmt_Kalmar, 0) + EVT_WAIT(LVar1) + EVT_ELSE + EVT_WAIT(1) + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_LOOP(0) + EVT_SETF(LVar0, 0) + EVT_SETF(LVar1, 0) + EVT_LOOP(20) + EVT_ADDF(LVar0, EVT_FLOAT(4.0)) + EVT_ADDF(LVar1, EVT_FLOAT(4.0)) + EVT_SETF(LVar2, LVar0) + EVT_ADDF(LVar2, MV_AlphaAmt_Eldstar) + EVT_SETF(LVar3, LVar1) + EVT_ADDF(LVar3, MV_AlphaAmt_Others) + EVT_IF_LT(LVar2, 0) + EVT_SETF(LVar2, EVT_FLOAT(0.0)) + EVT_END_IF + EVT_IF_LT(LVar3, 0) + EVT_SETF(LVar3, EVT_FLOAT(0.0)) + EVT_END_IF + EVT_CALL(func_802CFD30, NPC_Eldstar, FOLD_TYPE_D, 0, AB_HOS_StatcAmt_Eldstar, 1, LVar2) + EVT_CALL(func_802CFD30, NPC_Mamar, FOLD_TYPE_D, 0, AB_HOS_StatcAmt_Mamar, 1, LVar3) + EVT_CALL(func_802CFD30, NPC_Skolar, FOLD_TYPE_D, 0, AB_HOS_StatcAmt_Skolar, 1, LVar3) + EVT_CALL(func_802CFD30, NPC_Muskular, FOLD_TYPE_D, 0, AB_HOS_StatcAmt_Muskular, 1, LVar3) + EVT_CALL(func_802CFD30, NPC_Misstar, FOLD_TYPE_D, 0, AB_HOS_StatcAmt_Misstar, 1, LVar3) + EVT_CALL(func_802CFD30, NPC_Klevar, FOLD_TYPE_D, 0, AB_HOS_StatcAmt_Klevar, 1, LVar3) + EVT_CALL(func_802CFD30, NPC_Kalmar, FOLD_TYPE_D, 0, AB_HOS_StatcAmt_Kalmar, 1, LVar3) + EVT_WAIT(1) + EVT_END_LOOP + EVT_LOOP(20) + EVT_ADDF(LVar0, EVT_FLOAT(-4.0)) + EVT_ADDF(LVar1, EVT_FLOAT(-4.0)) + EVT_SETF(LVar2, LVar0) + EVT_ADDF(LVar2, MV_AlphaAmt_Eldstar) + EVT_SETF(LVar3, LVar1) + EVT_ADDF(LVar3, MV_AlphaAmt_Others) + EVT_IF_LT(LVar2, 0) + EVT_SETF(LVar2, EVT_FLOAT(0.0)) + EVT_END_IF + EVT_IF_LT(LVar3, 0) + EVT_SETF(LVar3, EVT_FLOAT(0.0)) + EVT_END_IF + EVT_CALL(func_802CFD30, NPC_Eldstar, FOLD_TYPE_D, 0, AB_HOS_StatcAmt_Eldstar, 1, LVar2) + EVT_CALL(func_802CFD30, NPC_Mamar, FOLD_TYPE_D, 0, AB_HOS_StatcAmt_Mamar, 1, LVar3) + EVT_CALL(func_802CFD30, NPC_Skolar, FOLD_TYPE_D, 0, AB_HOS_StatcAmt_Skolar, 1, LVar3) + EVT_CALL(func_802CFD30, NPC_Muskular, FOLD_TYPE_D, 0, AB_HOS_StatcAmt_Muskular, 1, LVar3) + EVT_CALL(func_802CFD30, NPC_Misstar, FOLD_TYPE_D, 0, AB_HOS_StatcAmt_Misstar, 1, LVar3) + EVT_CALL(func_802CFD30, NPC_Klevar, FOLD_TYPE_D, 0, AB_HOS_StatcAmt_Klevar, 1, LVar3) + EVT_CALL(func_802CFD30, NPC_Kalmar, FOLD_TYPE_D, 0, AB_HOS_StatcAmt_Kalmar, 1, LVar3) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Eldstar) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Eldstar))) + EVT_CALL(BindNpcAux, NPC_SELF, EVT_PTR(N(EVS_NpcAux_Eldstar))) + EVT_IF_LT(GB_StoryProgress, STORY_CH0_MET_STAR_SPIRITS) + EVT_EXEC(N(EVS_MuteMusicOnPlayerApproach)) + EVT_END_IF + EVT_IF_GE(GB_StoryProgress, STORY_CH0_MET_STAR_SPIRITS) + EVT_CALL(SetNpcPos, NPC_Eldstar, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcPos, NPC_Mamar, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcPos, NPC_Skolar, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcPos, NPC_Muskular, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcPos, NPC_Misstar, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcPos, NPC_Klevar, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcPos, NPC_Kalmar, NPC_DISPOSE_LOCATION) + EVT_RETURN + EVT_END_IF + EVT_CALL(EnableNpcShadow, NPC_Mamar, FALSE) + EVT_CALL(EnableNpcShadow, NPC_Skolar, FALSE) + EVT_CALL(EnableNpcShadow, NPC_Muskular, FALSE) + EVT_CALL(EnableNpcShadow, NPC_Misstar, FALSE) + EVT_CALL(EnableNpcShadow, NPC_Klevar, FALSE) + EVT_CALL(EnableNpcShadow, NPC_Kalmar, FALSE) + EVT_SET(MV_AlphaAmt_Eldstar, 40) + EVT_SET(MV_AlphaAmt_Others, -80) + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_StarSpirits)[] = { + { + .id = NPC_Eldstar, + .settings = &N(NpcSettings_StarSpirit), + .pos = { -30.0f, 260.0f, -170.0f }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_Eldstar), + .drops = NPC_NO_DROPS, + .animations = ELDSTAR_ANIMS, + .tattle = MSG_NpcTattle_Eldstar, + }, + { + .id = NPC_Mamar, + .settings = &N(NpcSettings_StarSpirit), + .pos = { 100.0f, 260.0f, -215.0f }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .drops = NPC_NO_DROPS, + .animations = MAMAR_ANIMS, + }, + { + .id = NPC_Skolar, + .settings = &N(NpcSettings_StarSpirit), + .pos = { -145.0f, 260.0f, -225.0f }, + .yaw = 90, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .drops = NPC_NO_DROPS, + .animations = SKOLAR_ANIMS, + }, + { + .id = NPC_Muskular, + .settings = &N(NpcSettings_StarSpirit), + .pos = { 20.0f, 260.0f, -45.0f }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .drops = NPC_NO_DROPS, + .animations = MUSKULAR_ANIMS, + }, + { + .id = NPC_Misstar, + .settings = &N(NpcSettings_StarSpirit), + .pos = { -155.0f, 260.0f, -125.0f }, + .yaw = 90, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .drops = NPC_NO_DROPS, + .animations = MISSTAR_ANIMS, + }, + { + .id = NPC_Klevar, + .settings = &N(NpcSettings_StarSpirit), + .pos = { 90.0f, 260.0f, -110.0f }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .drops = NPC_NO_DROPS, + .animations = KLEVAR_ANIMS, + }, + { + .id = NPC_Kalmar, + .settings = &N(NpcSettings_StarSpirit), + .pos = { -75.0f, 260.0f, -290.0f }, + .yaw = 90, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .drops = NPC_NO_DROPS, + .animations = KALMAR_ANIMS, + }, +}; + +NpcGroupList N(DefaultNPCs) = { + NPC_GROUP(N(NpcData_StarSpirits)), + {} +}; diff --git a/src/world/area_hos/hos_01/hos_01_5_entity.c b/src/world/area_hos/hos_01/hos_01_5_entity.c new file mode 100644 index 0000000000..81bc19c3f2 --- /dev/null +++ b/src/world/area_hos/hos_01/hos_01_5_entity.c @@ -0,0 +1,10 @@ +#include "hos_01.h" +#include "entity.h" + +EvtScript N(EVS_MakeEntities) = { + EVT_CALL(MakeEntity, EVT_PTR(Entity_HiddenPanel), -210, 30, 285, 0, MODEL_o210, MAKE_ENTITY_END) + EVT_CALL(AssignPanelFlag, GF_HOS01_HiddenPanel) + EVT_CALL(MakeItemEntity, ITEM_STAR_PIECE, -350, 0, -275, ITEM_SPAWN_MODE_FIXED_NEVER_VANISH, GF_HOS01_Item_StarPiece) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_01/hos_01_6_star_way.c b/src/world/area_hos/hos_01/hos_01_6_star_way.c new file mode 100644 index 0000000000..a5b9a973cf --- /dev/null +++ b/src/world/area_hos/hos_01/hos_01_6_star_way.c @@ -0,0 +1,145 @@ +#include "hos_01.h" +#include "effects.h" + +#include "world/common/todo/UnsetCamera0MoveFlag1.inc.c" + +#define NAME_SUFFIX _StarWay +#include "world/common/todo/GetFloorCollider.inc.c" +#define NAME_SUFFIX + +EvtScript N(EVS_Scene_StarWayOpened) = { + EVT_LABEL(0) + EVT_CALL(N(GetFloorCollider_StarWay), LVar0) + EVT_IF_NE(LVar0, COLLIDER_o234) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_PARTIAL) + EVT_CALL(func_802D2884, -30, -160, 0) + EVT_WAIT(15) + EVT_CALL(ShowMessageAtScreenPos, MSG_HOS_005C, 160, 40) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, -100) + EVT_DIV(LVar0, 2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 300) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(17.0), EVT_FLOAT(-9.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, 3) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_WAIT(10) + EVT_CALL(ShowMessageAtScreenPos, MSG_HOS_005D, 160, 40) + EVT_CALL(SetMusicTrack, 0, SONG_STAR_WAY_OPENS, 0, 8) + EVT_WAIT(10) + EVT_CALL(EnableModel, MODEL_power, TRUE) + EVT_SET(MV_StarBeamState, 1) + EVT_LABEL(10) + EVT_IF_NE(MV_StarBeamState, 2) + EVT_WAIT(1) + EVT_GOTO(10) + EVT_END_IF + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, -100, 245, 0) + EVT_CALL(SetPanTarget, CAM_DEFAULT, -100, 245, 0) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 600) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(17.0), EVT_FLOAT(-11.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(1.5)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_PLAY_EFFECT(EFFECT_75, 0, -30, 250, -160, 1, -1) + EVT_SET(MV_StarBeamFXPtr, LVarF) + EVT_CALL(N(func_80240AAC_A1132C), MV_StarBeamFXPtr) + EVT_CALL(MakeLerp, 1, 255, 55, EASING_QUADRATIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(N(SetStarBeamMasterAlpha), MV_StarBeamFXPtr, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_WAIT(45) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, -100) + EVT_DIV(LVar0, 2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 300) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(17.0), EVT_FLOAT(-9.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_WAIT(10) + EVT_CALL(ShowMessageAtScreenPos, MSG_HOS_005E, 160, 40) + EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(5.0)) + EVT_SET(GB_StoryProgress, STORY_CH8_OPENED_PATH_TO_STAR_WAY) + EVT_CALL(SetMusicTrack, 0, SONG_SHOOTING_STAR_SUMMIT, 0, 8) + EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_NORMAL) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_AscendStarBeam) = { + EVT_CALL(N(func_80240B10_A11390), MV_StarBeamFXPtr) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, -30, 250, -160) + EVT_CALL(SetPanTarget, CAM_DEFAULT, -30, 250, -160) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(SetPlayerSpeed, EVT_FLOAT(3.0)) + EVT_CALL(PlayerMoveTo, -30, -160, 0) + EVT_CALL(InterpPlayerYaw, 90, 0) + EVT_CALL(SetMusicTrack, 0, SONG_STAR_WAY_OPENS, 1, 8) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40 | NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcJumpscale, NPC_PARTNER, EVT_FLOAT(1.0)) + EVT_CALL(NpcJump0, NPC_PARTNER, -30, 250, -170, 15) + EVT_THREAD + EVT_SET(LVar2, 90) + EVT_CALL(MakeLerp, 1, 90, 60, EASING_QUADRATIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_ADD(LVar2, LVar0) + EVT_CALL(InterpPlayerYaw, LVar2, 0) + EVT_CALL(SetNpcRotation, NPC_PARTNER, 0, LVar2, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_LOOP(0) + EVT_ADD(LVar2, LVar0) + EVT_CALL(InterpPlayerYaw, LVar2, 0) + EVT_CALL(SetNpcRotation, NPC_PARTNER, 0, LVar2, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_WAIT(30) + EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_THREAD + EVT_LABEL(10) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_IF_LT(LVar1, 430) + EVT_WAIT(1) + EVT_GOTO(10) + EVT_END_IF + EVT_END_THREAD + EVT_CALL(GetPlayerPos, LVar2, LVar3, LVar4) + EVT_SET(LVar5, LVar4) + EVT_ADD(LVar5, -10) + EVT_CALL(MakeLerp, LVar3, 700, 90, EASING_QUADRATIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(SetPlayerPos, LVar2, LVar0, LVar4) + EVT_CALL(SetNpcPos, NPC_PARTNER, LVar2, LVar0, LVar5) + 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_hos/hos_03/hos_03_6_npc.c b/src/world/area_hos/hos_03/hos_03_6_npc.c index f31d165e3d..3bd9ec2e58 100644 --- a/src/world/area_hos/hos_03/hos_03_6_npc.c +++ b/src/world/area_hos/hos_03/hos_03_6_npc.c @@ -143,7 +143,7 @@ EvtScript N(EVS_NpcInit_ShopOwner) = { EVT_END }; -StaticNpc N(NpcData_StarKid_01)[] = { +StaticNpc N(NpcData_Townsfolk)[] = { { .id = NPC_StarMan_01, .settings = &N(NpcSettings_StarMan), @@ -260,6 +260,6 @@ StaticNpc N(NpcData_StarKid_01)[] = { }; NpcGroupList N(DefaultNPCs) = { - NPC_GROUP(N(NpcData_StarKid_01)), + NPC_GROUP(N(NpcData_Townsfolk)), {} }; diff --git a/src/world/area_hos/hos_04/A26ED0.c b/src/world/area_hos/hos_04/A26ED0.c deleted file mode 100644 index f57da223e8..0000000000 --- a/src/world/area_hos/hos_04/A26ED0.c +++ /dev/null @@ -1,27 +0,0 @@ -#include "hos_04.h" - -static char* N(exit_str_0) = "hos_03"; -static char* N(exit_str_1) = "hos_05"; - -extern u16 D_802416F0_A285C0; - -void func_80240000_A26ED0(void) { - f32 temp_f0 = ((sin_rad(D_802416F0_A285C0 * (1 / 32.0f)) + 1.0f) * 0.25f) + 0.75; - - guScale(&gDisplayContext->matrixStack[gMatrixListPos], (temp_f0 * 0.3) + 0.5, temp_f0, (temp_f0 * 0.3) + 0.5); - gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], - G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); - D_802416F0_A285C0++; -} - -void func_80240154_A27024(void) { - f64 t1 = (sin_rad(D_802416F0_A285C0 * (1 / 32.0f)) * 10.0f) + 1.5; - f64 t2 = sin_rad(D_802416F0_A285C0 * 0.25f) * 2.5; - - guTranslate(&gDisplayContext->matrixStack[gMatrixListPos], 0.0f, t1 + t2, 0.0f); - gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], - G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); -} - -#include "world/common/atomic/TexturePan.inc.c" - diff --git a/src/world/area_hos/hos_04/A27490.c b/src/world/area_hos/hos_04/A27490.c deleted file mode 100644 index 893854a180..0000000000 --- a/src/world/area_hos/hos_04/A27490.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "hos_04.h" - -ApiStatus func_802405C0_A27490(Evt* script, s32 isInitialCall) { - script->varTable[0] = gGameStatusPtr->entryID; - return ApiStatus_DONE2; -} diff --git a/src/world/area_hos/hos_04/A274B0.c b/src/world/area_hos/hos_04/A274B0.c deleted file mode 100644 index 083fc64bd8..0000000000 --- a/src/world/area_hos/hos_04/A274B0.c +++ /dev/null @@ -1,132 +0,0 @@ -#include "hos_04.h" -#include "nu/nusys.h" - -extern f32 D_80241B54_A28A24; -extern f32 D_80241B74_A28A44; -extern f32 D_80241B7C_A28A4C; -extern u16* D_80241B80_A28A50; -extern s32 D_80241B84_A28A54; -extern s32 D_80241B88_A28A58; - -BSS f32 D_80243370; -BSS f32 D_80243374; - -ApiStatus N(SetCamXXVfov)(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 cameraID = evt_get_variable(script, *args++); - - gCameras[cameraID].vfov = evt_get_float_variable(script, *args++); - return ApiStatus_DONE2; -} - -ApiStatus func_80240654_A27524(Evt* script, s32 isInitialCall) { - if (gGameStatusPtr->creditsViewportMode < 5U) { - gGameStatusPtr->creditsViewportMode++; - state_init_intro(); - } - return ApiStatus_DONE1; -} - -ApiStatus func_8024068C_A2755C(Evt* script, s32 isInitialCall) { - return ApiStatus_BLOCK; -} - -void func_80240694_A27564(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32* arg4) { - f32 temp_f2 = arg1 - arg2; - - if (arg1 - arg0 > 0.0f) { - if (temp_f2 < 0.0f) { - *arg4 = arg1; - } else if (arg3 < temp_f2) { - *arg4 += arg3; - } else { - *arg4 += temp_f2; - } - } else if (temp_f2 > 0.0f) { - *arg4 = arg1; - } else if (temp_f2 < -arg3) { - *arg4 -= arg3; - } else { - *arg4 += temp_f2; - } -} - -void func_80240734_A27604(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32* arg5) { - f32 var_f12_2; - - if (arg3 > arg4) { - arg3 = arg4; - } - - switch (arg0) { - case 1: - var_f12_2 = sin_deg((arg3 / arg4) * 90.0f); - break; - case 2: - if (arg3 < 30.0f) { - var_f12_2 = 0.0f; - } else { - var_f12_2 = sin_deg((((arg3 - 30.0f) / (arg4 - 30.0f)) * 90.0f) + -90.0f) + 1.0f; - } - break; - case 3: - var_f12_2 = (sin_deg(((arg3 / arg4) * 180.0f) - 90.0f) + 1.0f) * 0.5; - break; - case 4: - var_f12_2 = sin_deg(((arg3 / arg4) * 90.0f) - 90.0f) + 1.0f; - break; - case 5: - var_f12_2 = (2.0 * (sin_deg(((arg3 / arg4) * 60.0f) - 60.0f) + 0.8660254f)) / 1.7320507764816284; - break; - default: - var_f12_2 = arg3 / arg4; - break; - } - *arg5 = arg1 + ((arg2 - arg1) * var_f12_2); -} - -ApiStatus func_802408F8_A277C8(Evt* script, s32 isInitialCall) { - Camera* camera = &gCameras[gCurrentCameraID]; - - if (nuGfxCfb_ptr == D_80241B80_A28A50) { - return ApiStatus_BLOCK; - } - - D_80241B80_A28A50 = nuGfxCfb_ptr; - func_80240694_A27564(700.0f, 300.0f, D_80241B7C_A28A4C, 1.2f, &D_80241B7C_A28A4C); - camera->panActive = TRUE; - camera->controlSettings.boomLength = D_80241B7C_A28A4C; - return ApiStatus_BLOCK; -} - -ApiStatus func_802409B0_A27880(Evt* script, s32 isInitialCall) { - Camera* camera = &gCameras[gCurrentCameraID]; - - if (isInitialCall) { - D_80243370 = D_80241B54_A28A24; - } - func_80240734_A27604(1, D_80241B54_A28A24, 700.0f, D_80241B84_A28A54, 70.0f, &D_80243370); - camera->panActive = TRUE; - camera->controlSettings.boomLength = D_80243370; - D_80241B84_A28A54++; - if (D_80241B84_A28A54 < 70) { - return ApiStatus_BLOCK; - } - return ApiStatus_DONE1; -} - -ApiStatus func_80240A84_A27954(Evt* script, s32 isInitialCall) { - Camera* camera = &gCameras[gCurrentCameraID]; - - if (isInitialCall) { - D_80243374 = D_80241B74_A28A44; - } - func_80240734_A27604(5, D_80241B74_A28A44, -80.0f, D_80241B88_A28A58, 200.0f, &D_80243374); - camera->panActive = TRUE; - camera->controlSettings.viewPitch = D_80243374; - D_80241B88_A28A58++; - if (D_80241B88_A28A58 == 200) { - return ApiStatus_DONE2; - } - return ApiStatus_BLOCK; -} diff --git a/src/world/area_hos/hos_04/A27A30.c b/src/world/area_hos/hos_04/A27A30.c deleted file mode 100644 index e8ea4f6e85..0000000000 --- a/src/world/area_hos/hos_04/A27A30.c +++ /dev/null @@ -1,21 +0,0 @@ -#include "hos_04.h" - -ApiStatus func_80240B60_A27A30(Evt* script, s32 isInitialCall) { - if (isInitialCall) { - script->functionTemp[1] = 0; - } - - script->functionTemp[1] += 16; - - if (script->functionTemp[1] > 255) { - script->functionTemp[1] = 255; - } - - set_screen_overlay_params_front(0, script->functionTemp[1]); - - if (script->functionTemp[1] == 255) { - return ApiStatus_DONE2; - } - - return ApiStatus_BLOCK; -} diff --git a/src/world/area_hos/hos_04/A27AA0.c b/src/world/area_hos/hos_04/A27AA0.c deleted file mode 100644 index 49c098dbca..0000000000 --- a/src/world/area_hos/hos_04/A27AA0.c +++ /dev/null @@ -1,104 +0,0 @@ -#include "hos_04.h" - -extern u32 D_80243250_A2A120; // mode -extern s32 D_80243254_A2A124; // alpha related -extern s32* D_80243258_A2A128; -extern s32* D_80243284_A2A154[4]; // array of pointers to ints - -const char N(exit_str_0)[] = "hos_20"; -const char N(exit_str_1)[] = "kpa_60"; -const char N(exit_str_2)[] = "hos_00"; -const char N(exit_str_3)[] = "osr_03"; -const char N(exit_str_4)[] = "hos_05"; - -BSS s32 D_80243380; - -void func_80240BD0_A27AA0(s32** arg0) { - u8 type; - f32 zoom1; - f32 zoom2; - s32 messageID; - s32 opacity; - s32 yOffset; - s32 t; - s32 t2; - - if (D_80243258_A2A128 == NULL) { - D_80243258_A2A128 = arg0[D_800779B0]; - } - - switch (D_80243250_A2A120) { - case 0: - if (D_80243258_A2A128[0] == -1) { - D_80243250_A2A120 = 4; - D_80243380 = D_80243258_A2A128[1]; - } else { - D_80243254_A2A124 += 10; - if (D_80243254_A2A124 > 255) { - D_80243254_A2A124 = 255; - D_80243250_A2A120 = 1; - D_80243380 = D_80243258_A2A128[1]; - } - } - break; - case 1: - if (D_80243380 == 0) { - D_80243250_A2A120 = 2; - } else { - D_80243380--; - } - break; - case 2: - D_80243254_A2A124 -= 10; - if (D_80243254_A2A124 < 0) { - D_80243254_A2A124 = 0; - t = D_80243258_A2A128[2]; - D_80243258_A2A128 += 2; - if (t == 0) { - D_80243250_A2A120 = 3; - } else { - D_80243250_A2A120 = 0; - } - } - break; - case 3: - break; - case 4: - if (D_80243380 != 0) { - D_80243380--; - break; - } - t2 = D_80243258_A2A128[2]; - D_80243258_A2A128 += 2; - if (t2 == 0) { - D_80243250_A2A120 = 3; - } else { - D_80243250_A2A120 = 0; - } - break; - } - get_screen_overlay_params(1, &type, &zoom1); - get_screen_overlay_params(0, &type, &zoom2); - opacity = ((D_80243254_A2A124 * (255.0f - zoom1) * (255.0f - zoom2)) / 255.0f) / 255.0f; - if (opacity > 0) { - messageID = D_80243258_A2A128[0]; - if (messageID != 0) { - yOffset = 0; - if (get_msg_lines(messageID) >= 2) { - yOffset = -7; - } - draw_msg(D_80243258_A2A128[0], 0, yOffset + 196, opacity, -1, 0); - } - } -} - -ApiStatus func_80240E40_A27D10(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - set_curtain_draw_callback((void (*)) evt_get_variable(script, *args++)); - return ApiStatus_DONE2; -} - -void func_80240E6C_A27D3C(void) { - func_80240BD0_A27AA0(D_80243284_A2A154); -} diff --git a/src/world/area_hos/hos_04/hos_04.h b/src/world/area_hos/hos_04/hos_04.h index 3ff7c54fc0..79be2d6b7e 100644 --- a/src/world/area_hos/hos_04/hos_04.h +++ b/src/world/area_hos/hos_04/hos_04.h @@ -2,8 +2,36 @@ /// @brief Shooting Star Summit - Outside the Sanctuary #include "common.h" -#include "../hos.h" #include "message_ids.h" #include "map.h" +#include "../hos.h" +#include "mapfs/hos_04_shape.h" +#include "mapfs/hos_04_hit.h" + +#include "sprite/npc/Twink.h" + +enum { + NPC_Twink = 0, +}; + +enum { + MV_Starship_PosX = MapVar(10), + MV_Starship_PosY = MapVar(11), + MV_Starship_PosZ = MapVar(12), + MV_Starship_Yaw = MapVar(13), +}; + #define NAMESPACE hos_04 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_Starship_FlyingAway); +extern EvtScript N(EVS_SetupNarrator); +extern EvtScript N(EVS_Intro_PreHeist_Unused); +extern EvtScript N(EVS_Intro_PostHeist); +extern EvtScript N(EVS_SetupFountains); +extern EvtScript N(EVS_BetaStarship_Flight1); +extern EvtScript N(EVS_BetaStarship_Flight2); +extern EvtScript N(EVS_BetaStarship_Return); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_hos/hos_04/hos_04_0_header.c b/src/world/area_hos/hos_04/hos_04_0_header.c new file mode 100644 index 0000000000..3ff45e999b --- /dev/null +++ b/src/world/area_hos/hos_04/hos_04_0_header.c @@ -0,0 +1,17 @@ +#include "hos_04.h" + +EntryList N(Entrances) = { + [hos_04_ENTRY_0] { -565.0, 0.0, 0.0, 90.0 }, + [hos_04_ENTRY_1] { 100.0, 100.0, 0.0, 270.0 }, + [hos_04_ENTRY_2] { 0.0, 0.0, 0.0, 0.0 }, + [hos_04_ENTRY_3] { -1570.0, 0.0, 0.0, 90.0 }, + [hos_04_ENTRY_4] { -1570.0, 0.0, 0.0, 90.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .background = &gBackgroundImage, + .tattle = { MSG_MapTattle_hos_04 }, +}; diff --git a/src/world/area_hos/hos_04/hos_04_1_music.c b/src/world/area_hos/hos_04/hos_04_1_music.c new file mode 100644 index 0000000000..c145071d39 --- /dev/null +++ b/src/world/area_hos/hos_04/hos_04_1_music.c @@ -0,0 +1,28 @@ +#include "hos_04.h" + +EvtScript N(EVS_PlayIntroSong) = { + EVT_WAIT(80) + EVT_CALL(SetMusicTrack, 0, SONG_INTRO_STORY, 2, 8) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetupMusic) = { + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(hos_04_ENTRY_2) + EVT_CALL(SetMusicTrack, 0, SONG_STARSHIP_THEME, 0, 8) + EVT_CASE_EQ(hos_04_ENTRY_3) + EVT_CASE_EQ(hos_04_ENTRY_4) + EVT_EXEC(N(EVS_PlayIntroSong)) + EVT_CASE_DEFAULT + EVT_IF_EQ(GF_HOS04_Visited, FALSE) + EVT_CALL(SetMusicTrack, 0, SONG_STAR_SANCTUARY, 1, 8) + EVT_ELSE + EVT_CALL(SetMusicTrack, 0, SONG_STAR_HAVEN, 0, 8) + EVT_END_IF + EVT_CALL(PlaySound, SOUND_80000064) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_04/hos_04_2_main.c b/src/world/area_hos/hos_04/hos_04_2_main.c new file mode 100644 index 0000000000..bba25a6367 --- /dev/null +++ b/src/world/area_hos/hos_04/hos_04_2_main.c @@ -0,0 +1,102 @@ +#include "hos_04.h" + +EvtScript N(EVS_ExitWalk_hos_03_1) = EVT_EXIT_WALK(60, hos_04_ENTRY_0, "hos_03", hos_03_ENTRY_1); +EvtScript N(EVS_ExitWalk_hos_05_0) = EVT_EXIT_WALK(60, hos_04_ENTRY_1, "hos_05", hos_05_ENTRY_0); + +EvtScript N(EVS_BindExitTriggers) = { + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_hos_03_1)), TRIGGER_FLOOR_ABOVE, COLLIDER_deilinw, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_hos_05_0)), TRIGGER_FLOOR_ABOVE, COLLIDER_o163, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_EnterMap) = { + EVT_SET(AF_HOS_B5, FALSE) + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(hos_04_ENTRY_0) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_deilitnw, COLLIDER_FLAGS_UPPER_MASK) + EVT_IF_EQ(GF_HOS04_Visited, FALSE) + EVT_THREAD + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(SetPlayerPos, -630, 0, 0) + EVT_CALL(GetPartnerInUse, LVar0) + EVT_IF_EQ(LVar0, PARTNER_NONE) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SetNpcPos, NPC_PARTNER, -660, 0, 0) + EVT_WAIT(1) + EVT_CALL(EnablePartnerAI) + EVT_END_IF + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, -565, 0, 0) + EVT_CALL(SetPanTarget, CAM_DEFAULT, -565, 0, 0) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 1350) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(15.0), EVT_FLOAT(-25.0)) + EVT_CALL(SetCamPosA, CAM_DEFAULT, EVT_FLOAT(-15.0), EVT_FLOAT(-100.0)) + EVT_CALL(SetCamPosB, CAM_DEFAULT, EVT_FLOAT(87.5), EVT_FLOAT(50.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_WAIT(10) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(4.0), EVT_FLOAT(-7.5)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(0.15)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_WAIT(30) + EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers))) + EVT_EXEC_WAIT(EnterWalk) + EVT_WAIT(20) + EVT_SET(GF_HOS04_Visited, TRUE) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, 0, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, 0, LVar2) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_SET(AF_HOS_B5, TRUE) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_END_THREAD + EVT_ELSE + EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers))) + EVT_EXEC(EnterWalk) + EVT_WAIT(1) + EVT_END_IF + EVT_CASE_EQ(hos_04_ENTRY_1) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_deilitnw, COLLIDER_FLAGS_UPPER_MASK) + EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers))) + EVT_EXEC(EnterWalk) + EVT_CASE_EQ(hos_04_ENTRY_2) + EVT_EXEC(N(EVS_Starship_FlyingAway)) + EVT_CASE_EQ(hos_04_ENTRY_3) + EVT_EXEC_WAIT(N(EVS_Intro_PreHeist_Unused)) + EVT_CASE_EQ(hos_04_ENTRY_4) + EVT_EXEC_WAIT(N(EVS_Intro_PostHeist)) + EVT_CASE_EQ(hos_04_ENTRY_5) + EVT_CALL(EnableGroup, MODEL_g1, FALSE) + EVT_EXEC(N(EVS_BetaStarship_Flight1)) + EVT_CASE_EQ(hos_04_ENTRY_6) + EVT_CALL(EnableGroup, MODEL_g1, FALSE) + EVT_EXEC(N(EVS_BetaStarship_Flight2)) + EVT_CASE_EQ(hos_04_ENTRY_7) + EVT_CALL(EnableGroup, MODEL_g1, FALSE) + EVT_EXEC(N(EVS_BetaStarship_Return)) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_STAR_HAVEN) + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SETUP_CAMERA_ALT_NO_LEAD() + EVT_THREAD + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) + EVT_END_THREAD + EVT_EXEC(N(EVS_SetupFountains)) + EVT_EXEC_WAIT(N(EVS_SetupMusic)) + EVT_EXEC(N(EVS_EnterMap)) + EVT_WAIT(1) + EVT_EXEC(N(EVS_SetupNarrator)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_04/hos_04_3_fountains.c b/src/world/area_hos/hos_04/hos_04_3_fountains.c new file mode 100644 index 0000000000..e7e6a7caa4 --- /dev/null +++ b/src/world/area_hos/hos_04/hos_04_3_fountains.c @@ -0,0 +1,52 @@ +#include "hos_04.h" + +u16 N(FountainPumpPhase) = 0; + +void N(setup_gfx_fountain_water)(void) { + f32 temp_f0 = ((sin_rad(N(FountainPumpPhase) * (1 / 32.0f)) + 1.0f) * 0.25f) + 0.75; + + guScale(&gDisplayContext->matrixStack[gMatrixListPos], (temp_f0 * 0.3) + 0.5, temp_f0, (temp_f0 * 0.3) + 0.5); + gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], + G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); + N(FountainPumpPhase)++; +} + +void N(setup_gfx_fountain_stars)(void) { + f64 t1 = (sin_rad(N(FountainPumpPhase) * (1 / 32.0f)) * 10.0f) + 1.5; + f64 t2 = sin_rad(N(FountainPumpPhase) * 0.25f) * 2.5; + + guTranslate(&gDisplayContext->matrixStack[gMatrixListPos], 0.0f, t1 + t2, 0.0f); + gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], + G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); +} + +#include "world/common/atomic/TexturePan.inc.c" +#include "world/common/atomic/TexturePan.data.inc.c" + +EvtScript N(EVS_SetupFountains) = { + EVT_THREAD + TEX_PAN_PARAMS_ID(TEX_PANNER_1) + TEX_PAN_PARAMS_STEP( 100, -80, -50, 120) + TEX_PAN_PARAMS_FREQ( 1, 1, 1, 1) + TEX_PAN_PARAMS_INIT( 0, 0, 0, 0) + EVT_EXEC(N(EVS_UpdateTexturePan)) + EVT_END_THREAD + EVT_THREAD + TEX_PAN_PARAMS_ID(TEX_PANNER_2) + TEX_PAN_PARAMS_STEP( 0,-2000, 0, 0) + TEX_PAN_PARAMS_FREQ( 1, 1, 1, 1) + TEX_PAN_PARAMS_INIT( 0, 0, 0, 0) + EVT_EXEC(N(EVS_UpdateTexturePan)) + EVT_END_THREAD + EVT_CALL(EnableTexPanning, MODEL_o438, TRUE) + EVT_CALL(EnableTexPanning, MODEL_o462, TRUE) + EVT_CALL(EnableTexPanning, MODEL_o469, TRUE) + EVT_CALL(SetModelCustomGfx, MODEL_o469, CUSTOM_GFX_0, FOG_MODE_UNCHANGED) + EVT_CALL(SetModelCustomGfx, MODEL_o462, CUSTOM_GFX_0, FOG_MODE_UNCHANGED) + EVT_CALL(SetModelCustomGfx, MODEL_o465, CUSTOM_GFX_1, FOG_MODE_UNCHANGED) + EVT_CALL(SetModelCustomGfx, MODEL_o461, CUSTOM_GFX_1, FOG_MODE_UNCHANGED) + EVT_CALL(SetCustomGfxBuilders, CUSTOM_GFX_0, EVT_PTR(N(setup_gfx_fountain_water)), NULL) + EVT_CALL(SetCustomGfxBuilders, CUSTOM_GFX_1, EVT_PTR(N(setup_gfx_fountain_stars)), NULL) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_04/hos_04_4_unused.c b/src/world/area_hos/hos_04/hos_04_4_unused.c new file mode 100644 index 0000000000..87d355da19 --- /dev/null +++ b/src/world/area_hos/hos_04/hos_04_4_unused.c @@ -0,0 +1,22 @@ +#include "hos_04.h" + +API_CALLABLE(N(GetLastEntryID)) { + script->varTable[0] = gGameStatusPtr->entryID; + return ApiStatus_DONE2; +} + +EvtScript N(EVS_DoNothing) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetupUnused) = { + EVT_CALL(N(GetLastEntryID)) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(hos_04_ENTRY_0) + EVT_SET(LVar0, -1) + EVT_EXEC(N(EVS_DoNothing)) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_04/hos_04_6_intro.c b/src/world/area_hos/hos_04/hos_04_6_intro.c new file mode 100644 index 0000000000..6283c956d7 --- /dev/null +++ b/src/world/area_hos/hos_04/hos_04_6_intro.c @@ -0,0 +1,222 @@ +#include "hos_04.h" +#include "nu/nusys.h" + +Vec3f N(TwinkFlightPath)[] = { + { -669.0, 98.0, -34.0 }, + { -669.0, 68.0, -34.0 }, + { -644.0, 14.0, -23.0 }, + { -564.0, 8.0, 40.0 }, + { -324.0, 136.0, 175.0 }, + { -38.0, 118.0, 0.0 }, + { 205.0, 111.0, 0.0 }, + { 305.0, 101.0, 0.0 }, +}; + +s32 N(Unused) = 0; + +CameraControlSettings N(CamSettings_PreHeist) = { + .type = CAMERA_SETTINGS_TYPE_0, + .boomLength = 700, + .boomPitch = -0.9, + .posA = { 0.0, -1.0, 0.0 }, + .posB = { 500.0, -1.0, 0.0 }, + .viewPitch = -17.4, + .flag = FALSE, +}; + +CameraControlSettings N(CamSettings_PostHeist) = { + .type = CAMERA_SETTINGS_TYPE_0, + .boomLength = 665, + .boomPitch = -0.9, + .posA = { 0.0, -1.0, 0.0 }, + .posB = { 500.0, -1.0, 0.0 }, + .viewPitch = -17.4, + .flag = FALSE, +}; + +API_CALLABLE(N(SetCamVfov)) { + Bytecode* args = script->ptrReadPos; + s32 cameraID = evt_get_variable(script, *args++); + + gCameras[cameraID].vfov = evt_get_float_variable(script, *args++); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(ResumeIntroState)) { + if ( + gGameStatusPtr->creditsViewportMode == 0 || + gGameStatusPtr->creditsViewportMode == 1 || + gGameStatusPtr->creditsViewportMode == 2 || + gGameStatusPtr->creditsViewportMode == 3 || + gGameStatusPtr->creditsViewportMode == 4) + { + gGameStatusPtr->creditsViewportMode++; + state_init_intro(); + } + return ApiStatus_DONE1; +} + +API_CALLABLE(N(BlockForever)) { + return ApiStatus_BLOCK; +} + +#define INTRO_MATH_EXTENDED +#include "../common/IntroMathUtil.inc.c" + +f32 N(TargetBoomLengthPre) = 700; +u16* N(ColorBufferPtr) = NULL; + +API_CALLABLE(N(AnimateBoomLengthPreHeist)) { + Camera* camera = &gCameras[gCurrentCameraID]; + + if (nuGfxCfb_ptr == N(ColorBufferPtr)) { + return ApiStatus_BLOCK; + } + + N(ColorBufferPtr) = nuGfxCfb_ptr; + N(lerp_value_with_max_step)(700.0f, 300.0f, N(TargetBoomLengthPre), 1.2f, &N(TargetBoomLengthPre)); + camera->panActive = TRUE; + camera->controlSettings.boomLength = N(TargetBoomLengthPre); + return ApiStatus_BLOCK; +} + +s32 N(TargetBoomLengthPost) = 0; +BSS f32 N(CurrentBoomLengthPost); + +API_CALLABLE(N(AnimateBoomLengthPostHeist)) { + Camera* camera = &gCameras[gCurrentCameraID]; + + if (isInitialCall) { + N(CurrentBoomLengthPost) = N(CamSettings_PostHeist).boomLength; + } + N(interp_value_with_easing)(INTRO_MATH_EASING_SIN_OUT, N(CamSettings_PostHeist).boomLength, 700.0f, + N(TargetBoomLengthPost), 70.0f, &N(CurrentBoomLengthPost)); + camera->panActive = TRUE; + camera->controlSettings.boomLength = N(CurrentBoomLengthPost); + N(TargetBoomLengthPost)++; + if (N(TargetBoomLengthPost) < 70) { + return ApiStatus_BLOCK; + } + return ApiStatus_DONE1; +} + +s32 N(TargetViewPitch) = 0; +BSS f32 N(CurrentViewPitch); + +API_CALLABLE(N(AnimateViewPitchPostHeist)) { + Camera* camera = &gCameras[gCurrentCameraID]; + + if (isInitialCall) { + N(CurrentViewPitch) = N(CamSettings_PostHeist).viewPitch; + } + N(interp_value_with_easing)(INTRO_MATH_EASING_5, N(CamSettings_PostHeist).viewPitch, -80.0f, + N(TargetViewPitch), 200.0f, &N(CurrentViewPitch)); + camera->panActive = TRUE; + camera->controlSettings.viewPitch = N(CurrentViewPitch); + N(TargetViewPitch)++; + if (N(TargetViewPitch) == 200) { + return ApiStatus_DONE2; + } + return ApiStatus_BLOCK; +} + +extern EvtScript N(EVS_ControlTwink); + +EvtScript N(EVS_Intro_PostHeist) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(SetCamLeadPlayer, CAM_DEFAULT, FALSE) + EVT_CALL(N(SetCamVfov), CAM_DEFAULT, 75) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 30, 0) + EVT_CALL(LoadSettings, CAM_DEFAULT, EVT_PTR(N(CamSettings_PostHeist))) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_THREAD + EVT_EXEC(N(EVS_ControlTwink)) + EVT_END_THREAD + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ControlTwink) = { + EVT_CALL(SetNpcAnimation, NPC_Twink, ANIM_Twink_Back) + EVT_CALL(SetNpcYaw, NPC_Twink, 180) + EVT_CALL(N(AnimateBoomLengthPostHeist)) + EVT_WAIT(15) + EVT_THREAD + EVT_WAIT(10) + EVT_CALL(InterpNpcYaw, NPC_Twink, 0, 0) + EVT_WAIT(2) + EVT_CALL(SetNpcAnimation, NPC_Twink, ANIM_Twink_Still) + EVT_WAIT(20) + EVT_CALL(InterpNpcYaw, NPC_Twink, 180, 0) + EVT_WAIT(2) + EVT_CALL(SetNpcAnimation, NPC_Twink, ANIM_Twink_Back) + EVT_END_THREAD + EVT_THREAD + EVT_WAIT(100) + EVT_CALL(N(AnimateViewPitchPostHeist)) + EVT_END_THREAD + EVT_CALL(LoadPath, 200, EVT_PTR(N(TwinkFlightPath)), ARRAY_COUNT(N(TwinkFlightPath)), EASING_LINEAR) + EVT_LABEL(0) + EVT_CALL(GetNextPathPos) + EVT_CALL(SetNpcPos, NPC_Twink, LVar1, LVar2, LVar3) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 1) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(SetNpcPos, NPC_Twink, NPC_DISPOSE_LOCATION) + EVT_THREAD + EVT_WAIT(85) + EVT_CALL(N(BlockForever)) + EVT_END_THREAD + EVT_WAIT(120) + EVT_CALL(N(ResumeIntroState)) + EVT_RETURN + EVT_END +}; + +// establishing shot of the star shrine; camera slowly moves along the path toward it +EvtScript N(EVS_Intro_PreHeist_Unused) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(SetCamLeadPlayer, CAM_DEFAULT, FALSE) + EVT_CALL(N(SetCamVfov), CAM_DEFAULT, 75) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 30, 0) + EVT_CALL(LoadSettings, CAM_DEFAULT, EVT_PTR(N(CamSettings_PreHeist))) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_THREAD + EVT_CALL(N(AnimateBoomLengthPreHeist)) + EVT_END_THREAD + EVT_THREAD + EVT_WAIT(300) + EVT_CALL(N(ResumeIntroState)) + EVT_END_THREAD + EVT_RETURN + EVT_END +}; + +#include "world/common/npc/StarSpirit.inc.c" +#include "world/common/npc/Twink.h" + +EvtScript N(EVS_NpcInit_Twink) = { + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_Twink) = { + .id = NPC_Twink, + .settings = &N(NpcSettings_StarSpirit), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_Twink), + .drops = NPC_NO_DROPS, + .animations = TWINK_ANIMS, +}; + +NpcGroupList N(DefaultNPCs) = { + NPC_GROUP(N(NpcData_Twink)), + {} +}; diff --git a/src/world/area_hos/hos_04/hos_04_7_starship.c b/src/world/area_hos/hos_04/hos_04_7_starship.c new file mode 100644 index 0000000000..ca7f668407 --- /dev/null +++ b/src/world/area_hos/hos_04/hos_04_7_starship.c @@ -0,0 +1,303 @@ +#include "hos_04.h" + +API_CALLABLE(N(ScreenOverlayFadeIn)) { + if (isInitialCall) { + script->functionTemp[1] = 0; + } + + script->functionTemp[1] += 16; + + if (script->functionTemp[1] > 255) { + script->functionTemp[1] = 255; + } + + set_screen_overlay_params_front(0, script->functionTemp[1]); + + if (script->functionTemp[1] == 255) { + return ApiStatus_DONE2; + } else { + return ApiStatus_BLOCK; + } +} + +EvtScript N(EVS_Starship_FlyingAway) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(SetPlayerActionState, ACTION_STATE_LAND) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) + EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, 45, 16, 4096) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, -280, 0, 0) + EVT_CALL(SetPanTarget, CAM_DEFAULT, -280, 0, 0) + EVT_CALL(SetCamType, CAM_DEFAULT, 0, FALSE) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(550.0)) + EVT_CALL(SetCamPosA, CAM_DEFAULT, EVT_FLOAT(-688.0), EVT_FLOAT(50.0)) + EVT_CALL(SetCamPosB, CAM_DEFAULT, EVT_FLOAT(-544.0), EVT_FLOAT(50.0)) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(2.0), EVT_FLOAT(-20.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_WAIT(10) + EVT_THREAD + EVT_CALL(PlaySound, SOUND_181) + EVT_CALL(MakeLerp, 0, 900, 45, EASING_QUADRATIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(TranslateGroup, MODEL_g161, 0, LVar0, 0) + EVT_ADD(LVar0, 520) + EVT_CALL(SetPlayerPos, 315, LVar0, 5) + EVT_CALL(SetNpcPos, NPC_PARTNER, 313, LVar0, 5) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_WAIT(55) + EVT_CALL(GotoMap, EVT_PTR("hos_20"), hos_20_ENTRY_0) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetStarshipPosRot) = { + EVT_SET(LVar4, 0) + EVT_SET(LVar5, 100) + EVT_LABEL(10) + EVT_SET(LVar3, LVar4) + EVT_SET(LVar4, LVar5) + EVT_SET(LVar5, LVar3) + EVT_CALL(MakeLerp, LVar3, LVar4, 30, EASING_COS_IN_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_SETF(LVar2, LVar0) + EVT_MULF(LVar2, EVT_FLOAT(0.1)) + EVT_ADDF(LVar2, MV_Starship_PosY) + EVT_CALL(TranslateGroup, MODEL_g161, MV_Starship_PosX, LVar2, 0) + EVT_CALL(RotateGroup, MODEL_g161, MV_Starship_PosZ, 0, 1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_GOTO(10) + EVT_RETURN + EVT_END +}; + +// flight1 (same as hos_20 entry 0, without motion lines) +EvtScript N(EVS_BetaStarship_Flight1) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(SetPlayerActionState, ACTION_STATE_LAND) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_g1, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(InterpPlayerYaw, 90, 0) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, -500, 0, 0) + EVT_CALL(SetPanTarget, CAM_DEFAULT, -5000, 0, 0) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(350.0)) + EVT_CALL(SetCamPosA, CAM_DEFAULT, -5000, 50) + EVT_CALL(SetCamPosB, CAM_DEFAULT, 5000, 50) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(17.0), EVT_FLOAT(-7.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_SET(MV_Starship_Yaw, 0) + EVT_SET(MV_Starship_PosX, -5000) + EVT_SET(MV_Starship_PosY, -525) + EVT_SET(MV_Starship_PosZ, 180) + EVT_EXEC(N(EVS_SetStarshipPosRot)) + EVT_WAIT(1) + EVT_THREAD + EVT_SET(LVar7, 45) + EVT_LOOP(20) + EVT_ADD(MV_Starship_PosX, LVar7) + EVT_WAIT(1) + EVT_END_LOOP + EVT_SET(LVar7, 50) + EVT_LOOP(0) + EVT_ADD(MV_Starship_PosX, LVar7) + EVT_WAIT(1) + EVT_CALL(GetModelCenter, MODEL_o480) + EVT_ADD(LVar0, 25) + EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 10) + EVT_ADD(LVar2, 2) + EVT_CALL(SetNpcPos, NPC_PARTNER, LVar0, LVar1, LVar2) + EVT_CALL(GetCamPosition, CAM_DEFAULT, LVar3, LVar4, LVar5) + EVT_IF_GT(LVar0, LVar3) + EVT_IF_GT(LVar7, 45) + EVT_SUB(LVar7, 1) + EVT_END_IF + EVT_END_IF + EVT_IF_GT(MV_Starship_PosX, 2000) + EVT_SET(MV_Starship_Yaw, 1) + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_SET(LVar0, -5000) + EVT_LOOP(0) + EVT_ADD(LVar0, 45) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, 0, 0) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_LABEL(20) + EVT_IF_EQ(MV_Starship_Yaw, 0) + EVT_WAIT(1) + EVT_GOTO(20) + EVT_END_IF + EVT_IF_LT(GB_StoryProgress, STORY_UNUSED_0000005D) + EVT_CALL(GotoMap, EVT_PTR("hos_00"), hos_00_ENTRY_3) + EVT_ELSE + EVT_SET(LVar0, 2) + EVT_LOOP(10) + EVT_MUL(LVar0, 2) + EVT_ADD(MV_Starship_PosX, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_WAIT(20) + EVT_CALL(GotoMap, EVT_PTR("kpa_60"), kpa_60_ENTRY_4) + EVT_END_IF + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +// flight2 (same as hos_20 entry 1, without motion lines) +EvtScript N(EVS_BetaStarship_Flight2) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(SetPlayerActionState, ACTION_STATE_LAND) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_g1, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, -500, 0, 0) + EVT_CALL(SetPanTarget, CAM_DEFAULT, -5000, 0, 0) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(350.0)) + EVT_CALL(SetCamPosA, CAM_DEFAULT, -5000, 50) + EVT_CALL(SetCamPosB, CAM_DEFAULT, 5000, 50) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(17.0), EVT_FLOAT(-7.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_SET(MV_Starship_Yaw, 0) + EVT_SET(MV_Starship_PosX, -4673) + EVT_SET(MV_Starship_PosY, -525) + EVT_SET(MV_Starship_PosZ, 180) + EVT_EXEC(N(EVS_SetStarshipPosRot)) + EVT_WAIT(1) + EVT_THREAD + EVT_LOOP(0) + EVT_ADD(MV_Starship_PosX, 45) + EVT_WAIT(1) + EVT_CALL(GetModelCenter, MODEL_o480) + EVT_ADD(LVar0, 25) + EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 10) + EVT_ADD(LVar2, 2) + EVT_CALL(SetNpcPos, NPC_PARTNER, LVar0, LVar1, LVar2) + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_SET(LVar0, -5000) + EVT_LOOP(0) + EVT_ADD(LVar0, 45) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, 0, 0) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(1) + EVT_IF_GT(LVar0, 0) + EVT_SET(MV_Starship_Yaw, 1) + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_LABEL(20) + EVT_IF_EQ(MV_Starship_Yaw, 0) + EVT_WAIT(1) + EVT_GOTO(20) + EVT_END_IF + EVT_SET(LVar0, 2) + EVT_LOOP(10) + EVT_MUL(LVar0, 2) + EVT_ADD(MV_Starship_PosX, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_WAIT(20) + EVT_CALL(GotoMap, EVT_PTR("osr_03"), osr_03_ENTRY_3) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +// return flight (same as hos_20 entry 2, without motion lines) +EvtScript N(EVS_BetaStarship_Return) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(SetPlayerActionState, ACTION_STATE_LAND) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_g1, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(SetNpcYaw, NPC_PARTNER, 90) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, -500, 0, 0) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 5000, 0, 0) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(350.0)) + EVT_CALL(SetCamPosA, CAM_DEFAULT, -5000, 50) + EVT_CALL(SetCamPosB, CAM_DEFAULT, 5000, 50) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(17.0), EVT_FLOAT(-7.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_SET(MV_Starship_Yaw, 0) + EVT_SET(MV_Starship_PosX, 5000) + EVT_SET(MV_Starship_PosY, -525) + EVT_SET(MV_Starship_PosZ, 0) + EVT_EXEC(N(EVS_SetStarshipPosRot)) + EVT_WAIT(2) + EVT_THREAD + EVT_CALL(InterpPlayerYaw, 225, 0) + EVT_SET(LVar7, -50) + EVT_LOOP(0) + EVT_ADD(MV_Starship_PosX, LVar7) + EVT_CALL(GetModelCenter, MODEL_o480) + EVT_ADD(LVar0, -25) + EVT_ADD(LVar2, -5) + EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) + EVT_ADD(LVar2, 10) + EVT_CALL(SetNpcPos, NPC_PARTNER, LVar0, LVar1, LVar2) + EVT_WAIT(1) + EVT_CALL(GetCamPosition, CAM_DEFAULT, LVar3, LVar4, LVar5) + EVT_IF_LT(LVar0, LVar3) + EVT_IF_LT(LVar7, -45) + EVT_ADD(LVar7, 1) + EVT_END_IF + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_SET(LVar0, 5000) + EVT_LOOP(0) + EVT_ADD(LVar0, -45) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, 0, 0) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(1) + EVT_IF_LT(LVar0, -1000) + EVT_SET(MV_Starship_Yaw, 1) + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_LABEL(20) + EVT_IF_EQ(MV_Starship_Yaw, 0) + EVT_WAIT(1) + EVT_GOTO(20) + EVT_END_IF + EVT_SET(LVar0, -2) + EVT_LOOP(10) + EVT_MUL(LVar0, 2) + EVT_ADD(MV_Starship_PosX, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(GotoMap, EVT_PTR("hos_05"), hos_05_ENTRY_1) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_04/hos_04_8_narrator.c b/src/world/area_hos/hos_04/hos_04_8_narrator.c new file mode 100644 index 0000000000..13d44e479c --- /dev/null +++ b/src/world/area_hos/hos_04/hos_04_8_narrator.c @@ -0,0 +1,32 @@ +#include "hos_04.h" + +#include "../common/Narrator.inc.c" + +IntroMessage N(HeistMessageList)[] = { + { INTRO_MSG_BLANK, 89 }, + { MSG_Intro_001B, 44 }, + { MSG_Intro_001C, 44 }, + { MSG_Intro_001D, 44 }, + {}, // end of list +}; + +IntroMessage* N(IntroMessages)[] = { + N(HeistMessageList), + N(HeistMessageList), + N(HeistMessageList), + N(HeistMessageList), +}; + +void N(curtain_callback_narration)(void) { + N(UpdateIntroMessages)(N(IntroMessages)); +} + +EvtScript N(EVS_SetupNarrator) = { + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(hos_04_ENTRY_4) + EVT_CALL(N(SetCurtainCallback), EVT_PTR(N(curtain_callback_narration))) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_05/A2A240.c b/src/world/area_hos/hos_05/A2A240.c deleted file mode 100644 index 736dd136d1..0000000000 --- a/src/world/area_hos/hos_05/A2A240.c +++ /dev/null @@ -1,47 +0,0 @@ -#include "hos_05.h" - -static char* N(exit_str_0) = "hos_04"; -static char* N(exit_str_1) = ""; - -#include "world/common/atomic/UnkFunc27.inc.c" - -#include "world/common/atomic/TexturePan.inc.c" - -ApiStatus N(AwaitScriptComplete)(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 waitingScriptID = evt_get_variable(script, *args++); - - if (!does_script_exist(waitingScriptID)) { - return ApiStatus_DONE2; - } else { - return ApiStatus_BLOCK; - } -} - -ApiStatus func_80240634_A2A874(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 idx = evt_get_variable(script, *args++); - - script->varTable[idx] = evt_get_float_variable(script, *args++); - return ApiStatus_DONE2; -} - -ApiStatus func_80240690_A2A8D0(Evt* script, s32 isInitialCall) { - f32 vt2 = script->varTable[2]; - f32 temp_f20; - f32 temp_f26; - - script->varTable[2] = EVT_FLOAT(0.0); - script->varTable[3] = EVT_FLOAT(100.0); - script->varTable[4] = EVT_FLOAT(0.0); - - temp_f26 = (script->varTable[1] * 180.0f) / PI; - temp_f20 = (rand_int(10) / vt2) + 3.0f; - - script->varTable[10] = EVT_FLOAT_TO_FIXED(temp_f20 * cos_rad(temp_f26)); - script->varTable[11] = EVT_FLOAT_TO_FIXED(rand_int(15) + 5); - script->varTable[12] = EVT_FLOAT_TO_FIXED(temp_f20 * sin_rad(temp_f26)); - script->varTable[13] = EVT_FLOAT_TO_FIXED((f32)(rand_int(10) + 10) * -0.05); - - return ApiStatus_DONE2; -} diff --git a/src/world/area_hos/hos_05/A2AA70.c b/src/world/area_hos/hos_05/A2AA70.c deleted file mode 100644 index 315d5a0dd6..0000000000 --- a/src/world/area_hos/hos_05/A2AA70.c +++ /dev/null @@ -1,10 +0,0 @@ -#include "hos_05.h" - -ApiStatus func_80240830_A2AA70(Evt* script, s32 isInitialCall) { - gPlayerData.starBeamLevel = 1; - gPlayerData.curHP = gPlayerData.curMaxHP; - gPlayerData.curFP = gPlayerData.curMaxFP; - gPlayerData.specialBarsFilled = gPlayerData.maxStarPower * 256; - sync_status_menu(); - return ApiStatus_DONE2; -} diff --git a/src/world/area_hos/hos_05/A2AAC0.c b/src/world/area_hos/hos_05/A2AAC0.c deleted file mode 100644 index 27101e535d..0000000000 --- a/src/world/area_hos/hos_05/A2AAC0.c +++ /dev/null @@ -1,1330 +0,0 @@ -#include "hos_05.h" -#include "model.h" -#include "effects.h" -#include "nu/nusys.h" -#include "ld_addrs.h" - -typedef struct UnkHosStruct { - /* 0x00 */ s32 unk_00; // entity ID - /* 0x04 */ IMG_PTR unk_04; - /* 0x08 */ PAL_PTR unk_08; - /* 0x0C */ IMG_PTR unk_0C; - /* 0x10 */ PAL_PTR unk_10; - /* 0x14 */ char unk_14[0x4]; - /* 0x18 */ IMG_PTR unk_18; - /* 0x1C */ IMG_PTR unk_1C; - /* 0x20 */ PAL_PTR unk_20; - /* 0x24 */ char unk_24[0x18]; - /* 0x3C */ s16 unk_3C; - /* 0x3E */ s16 unk_3E; - /* 0x40 */ s16 unk_40; - /* 0x42 */ s16 unk_42; - /* 0x44 */ u16 unk_44; // x - /* 0x46 */ u16 unk_46; // y - /* 0x48 */ s16 unk_48; // x - /* 0x4A */ s16 unk_4A; // y - /* 0x4C */ char unk_4C[0xC]; - /* 0x58 */ s16 unk_58; // bool - /* 0x5A */ s16 unk_5A; - /* 0x5C */ s16 unk_5C; // alpha - /* 0x60 */ char unk_6E[0x2]; -} UnkHosStruct; // size = 0x60 - -extern s32 D_802495DC_A3381C; -extern s32 D_802495E0_A33820; -extern f32 D_8024963C_A3387C[]; -extern f32 D_8024987C_A33ABC; -extern f32 D_802498A8_A33AE8; -extern f32 D_802498D0_A33B10; -extern u16* D_802498D4_A33B14; -extern f32 D_802498D8_A33B18; -extern f32 D_802498DC_A33B1C; -extern f32 D_802498E0_A33B20; -extern f32 D_802498E4_A33B24; -extern f32 D_802498E8_A33B28; -extern f32 D_802498EC_A33B2C; -extern f32 D_802498F0_A33B30; -extern f32 D_802498F4_A33B34; -extern s32 D_802498F8_A33B38; -extern s32 D_802498FC_A33B3C; -extern s32 D_80249900_A33B40; -extern f32 D_80249904_A33B44; -extern s32 D_80249908_A33B48; -extern f32 D_8024990C_A33B4C; -extern s32 D_80249910_A33B50; -extern s16 D_80249914_A33B54[]; -extern s16 D_80249934_A33B74[]; -extern s32 D_8024995C_A33B9C; -extern s16 D_80249960_A33BA0[]; -extern f32 D_80249980_A33BC0; -extern s32 D_80249984_A33BC4; -extern s16 D_80249988_A33BC8[]; -extern s16 D_802499A8_A33BE8[][2]; -extern s32 D_80249A48_A33C88; -extern s16 D_80249A4C_A33C8C[]; -extern f32 D_80249A6C_A33CAC; -extern s32 D_80249A70_A33CB0; -extern f32 D_80249A74_A33CB4; -extern s32 D_80249A78_A33CB8; -extern s32 D_80249A7C_A33CBC; -extern s32 D_80249A80_A33CC0; -extern f32 D_80249A84_A33CC4; -extern f32 D_80249A88_A33CC8; -extern f32 D_80249A8C_A33CCC; -extern s32 D_80249A90_A33CD0; -extern f32 D_80249A94_A33CD4; -extern f32 D_80249A98_A33CD8; -extern f32 D_80249A9C_A33CDC; -extern f32 D_80249AA0_A33CE0; -extern s32 D_80249AA4_A33CE4; -extern f32 D_8024A9C8_A34C08; -extern s32 D_8024A9CC_A34C0C; -extern UnkHosStruct* D_8024AA20_A34C60; -extern Gfx D_8024AA28_A34C68[]; -extern u32 D_8024AAB0_A34CF0; -extern s32 D_8024AAB4_A34CF4; // func_802440D0_A2E310 can be matched once this is migrated -extern s32 D_8024AAB8_A34CF8; -extern u32 D_8024AABC_A34CFC; -extern s32 D_8024AAC0_A34D00[]; -extern s32 D_8024AAD4_A34D14[]; -extern u8 D_8024AB3C_A34D7C[]; -extern u8 D_8024AC7B_A34EBB; -extern u16 D_8024AC7C_A34EBC[]; -extern u16 D_8024AC9C_A34EDC[]; -extern s32 D_8024ACB8_A34EF8; -extern f32 D_8024AEC4_A35104; -extern f32 D_8024AEC8_A35108; - -BSS f32 D_8024F2C8; -BSS f32 D_8024F2CC; -BSS f32 D_8024F2D0; // unused? -BSS f32 D_8024F2D4; // unused? -BSS f32 D_8024F2D8; -BSS f32 D_8024F2DC; -BSS f32 D_8024F2E0; -BSS f32 D_8024F2E4; -BSS f32 D_8024F2E8; -BSS f32 D_8024F2EC; -BSS f32 D_8024F2F0; -BSS f32 D_8024F2F4; -BSS f32 D_8024F2F8; -BSS f32 D_8024F2FC; -BSS f32 D_8024F300; -BSS f32 D_8024F304; -BSS f32 D_8024F308; -BSS f32 D_8024F30C; -BSS f32 D_8024F310; -BSS char B_8024F314[0x4]; -BSS f32 D_8024F318[7]; -BSS char D_8024F334[0x4]; -BSS f32 D_8024F338[7]; -BSS char D_8024F354[0x4]; -BSS f32 D_8024F358[7]; -BSS f32 D_8024F374; -BSS f32 D_8024F378; -BSS char D_8024F37C[0x4]; -BSS s32 D_8024F380; -BSS char D_8024F384[0x74]; -BSS s32 D_8024F3F8[10]; -BSS s32 hos_05_8024F420[10]; -BSS s32 D_8024F448[10]; -BSS s32 D_8024F470_hos_bss[10]; -BSS s32 D_8024F498[10]; -BSS s32 hos_05_D_8024F4C0[10]; -BSS s32 D_8024F4E8[10]; -BSS s32 D_8024F510[24]; - -ApiStatus func_80240880_A2AAC0(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 primR = evt_get_variable(script, *args++); - s32 primG = evt_get_variable(script, *args++); - s32 primB = evt_get_variable(script, *args++); - s32 primA = evt_get_variable(script, *args++); - s32 fogR = evt_get_variable(script, *args++); - s32 fogG = evt_get_variable(script, *args++); - s32 fogB = evt_get_variable(script, *args++); - s32 fogStart = evt_get_variable(script, *args++); - s32 fogEnd = evt_get_variable(script, *args++); - - set_model_fog_color_parameters(primR, primG, primB, primA, fogR, fogG, fogB, fogStart, fogEnd); - return ApiStatus_DONE2; -} - -ApiStatus func_802409C4_A2AC04(Evt* script, s32 isInitialCall) { - Bytecode* args; - static u8 oldPrimR, oldPrimG, oldPrimB; - static u8 oldEnvR, oldEnvG, oldEnvB; - static s32 newPrimR, newPrimG, newPrimB; - static s32 newEnvR, newEnvG, newEnvB; - static s32 duration, time; - - args = script->ptrReadPos; - if (isInitialCall) { - get_model_env_color_parameters(&oldPrimR, &oldPrimG, &oldPrimB, &oldEnvR, &oldEnvG, &oldEnvB); - newPrimR = evt_get_variable(script, *args++); - newPrimG = evt_get_variable(script, *args++); - newPrimB = evt_get_variable(script, *args++); - newEnvR = evt_get_variable(script, *args++); - newEnvG = evt_get_variable(script, *args++); - newEnvB = evt_get_variable(script, *args++); - duration = evt_get_variable(script, *args++); - time = 0; - } - - if (duration > 0) { - if(time >= duration) { - return ApiStatus_DONE2; - } - time++; - set_model_env_color_parameters( - (oldPrimR + ((newPrimR - oldPrimR) * time) / duration), - (oldPrimG + ((newPrimG - oldPrimG) * time) / duration), - (oldPrimB + ((newPrimB - oldPrimB) * time) / duration), - (oldEnvR + ( (newEnvR - oldEnvR) * time) / duration), - (oldEnvG + ( (newEnvG - oldEnvG) * time) / duration), - (oldEnvB + ( (newEnvB - oldEnvB) * time) / duration)); - if (time >= duration) { - return ApiStatus_DONE2; - } - } else { - set_model_env_color_parameters(newPrimR, newPrimG, newPrimB, newEnvR, newEnvG, newEnvB); - return ApiStatus_DONE2; - } - return ApiStatus_BLOCK; -} - -void func_80240D54_A2AF94(s32 camID, f32 fov) { - Camera* camera = &gCameras[camID]; - camera->vfov = fov * 1.1; -} - -ApiStatus func_80240DA0_A2AFE0(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 camID = evt_get_variable(script, *args++); - f32 fov = evt_get_float_variable(script, *args++); - - func_80240D54_A2AF94(camID, fov); - return ApiStatus_DONE2; -} - -ApiStatus func_80240DF8_A2B038(Evt* script, s32 isInitialCall) { - GameStatus* gameStatus = gGameStatusPtr; - if (gameStatus->creditsViewportMode < 5U) { - gameStatus->creditsViewportMode++; - state_init_intro(); - } - return ApiStatus_DONE1; -} - -ApiStatus func_80240E30_A2B070(Evt* script, s32 isInitialCall) { - mdl_set_all_fog_mode(FOG_MODE_3); - return ApiStatus_DONE2; -} - -// adjusts properties of EmitterVolume:GoldShimmer2 effect -ApiStatus func_80240E50_A2B090(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++); - s32 subtype = evt_get_variable(script, *args++); - s32 posX = evt_get_float_variable(script, *args++); - s32 posY = evt_get_float_variable(script, *args++); - s32 posZ = evt_get_float_variable(script, *args++); - - effect->data.miscParticles->pos.x = posX; - effect->data.miscParticles->pos.y = posY; - effect->data.miscParticles->pos.z = posZ; - return ApiStatus_DONE2; -} - -ApiStatus func_80240F30_A2B170(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - EffectInstance* effect = (EffectInstance*) evt_get_variable(script, ArrayVar(0)); - - effect->data.somethingRotating[D_802495DC_A3381C + 1].state = 1; - D_802495DC_A3381C++; - return ApiStatus_DONE2; -} - -ApiStatus func_80240F88_A2B1C8(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - EffectInstance* effect = (EffectInstance*) evt_get_variable(script, ArrayVar(0)); - - effect->data.somethingRotating[D_802495E0_A33820 + 1].state = 3; - D_802495E0_A33820++; - return ApiStatus_DONE2; -} - -ApiStatus func_80240FE0_A2B220(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - EffectInstance* effect = (EffectInstance*) evt_get_variable(script, ArrayVar(16)); - - effect->data.lightRays->unk_10 = script->varTable[0]; - effect->data.lightRays->unk_14 = script->varTable[1]; - effect->data.lightRays->unk_18 = script->varTable[2]; - return ApiStatus_DONE2; -} - -void func_80241044_A2B284(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32* arg4) { - f32 temp_f2 = arg1 - arg2; - - if (arg1 - arg0 > 0.0f) { - if (temp_f2 < 0.0f) { - *arg4 = arg1; - } else if (arg3 < temp_f2) { - *arg4 += arg3; - } else { - *arg4 += temp_f2; - } - } else if (temp_f2 > 0.0f) { - *arg4 = arg1; - } else if (temp_f2 < -arg3) { - *arg4 -= arg3; - } else { - *arg4 += temp_f2; - } -} - -void func_802410E4_A2B324(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32* arg5) { - f32 var_f12_2; - - if (arg3 > arg4) { - arg3 = arg4; - } - - switch (arg0) { - case 1: - var_f12_2 = sin_deg((arg3 / arg4) * 90.0f); - break; - case 2: - if (arg3 < 30.0f) { - var_f12_2 = 0.0f; - } else { - var_f12_2 = sin_deg((((arg3 - 30.0f) / (arg4 - 30.0f)) * 90.0f) + -90.0f) + 1.0f; - } - break; - case 3: - var_f12_2 = (sin_deg(((arg3 / arg4) * 180.0f) - 90.0f) + 1.0f) * 0.5; - break; - case 4: - var_f12_2 = sin_deg(((arg3 / arg4) * 90.0f) - 90.0f) + 1.0f; - break; - default: - var_f12_2 = arg3 / arg4; - break; - } - *arg5 = arg1 + ((arg2 - arg1) * var_f12_2); -} - -ApiStatus func_80241274_A2B4B4(Evt* script, s32 isInitialCall) { - Camera* camera = &gCameras[gCurrentCameraID]; - - if (nuGfxCfb_ptr == D_802498D4_A33B14) { - return ApiStatus_BLOCK; - } - D_802498D4_A33B14 = nuGfxCfb_ptr; - func_80241044_A2B284(250.0f, 0.0f, D_802498D0_A33B10, 0.5f, &D_802498D0_A33B10); - func_802410E4_A2B324(2, 130.4f, D_8024963C_A3387C[1], 0.0f, 470.0f, &D_802498D8_A33B18); - func_80241044_A2B284(12.4f, D_8024963C_A3387C[2], D_802498DC_A33B1C, 0.05f, &D_802498DC_A33B1C); - func_80241044_A2B284(-16.8f, D_8024963C_A3387C[9], D_802498E0_A33B20, 0.05f, &D_802498E0_A33B20); - func_80241044_A2B284(62.0f, 49.0f, D_802498E4_A33B24, 0.1f, &D_802498E4_A33B24); - func_80240D54_A2AF94(0, D_802498E4_A33B24); - camera->controlSettings.boomLength = D_802498D8_A33B18; - camera->controlSettings.boomPitch = D_802498DC_A33B1C; - camera->controlSettings.viewPitch = D_802498E0_A33B20; - camera->controlSettings.posB.x = sin_deg(D_802498D0_A33B10) * 500.0f; - camera->controlSettings.posB.z = cos_deg(D_802498D0_A33B10) * -500.0f; - camera->panActive = TRUE; - return ApiStatus_DONE2; -} - -ApiStatus func_8024146C_A2B6AC(Evt* script, s32 isInitialCall) { - Camera* camera = &gCameras[gCurrentCameraID]; - - if (nuGfxCfb_ptr == D_802498D4_A33B14) { - return ApiStatus_BLOCK; - } - D_802498D4_A33B14 = nuGfxCfb_ptr; - func_80241044_A2B284(250.0f, 0.0f, D_802498D0_A33B10, 0.5f, &D_802498D0_A33B10); - func_802410E4_A2B324(2, 130.4f, D_8024963C_A3387C[1], D_802498FC_A33B3C, 470.0f, &D_802498E8_A33B28); - func_80241044_A2B284(12.4f, D_8024963C_A3387C[2], D_802498EC_A33B2C, 0.05f, &D_802498EC_A33B2C); - func_80241044_A2B284(-16.8f, D_8024963C_A3387C[9], D_802498F0_A33B30, 0.05f, &D_802498F0_A33B30); - func_80241044_A2B284(62.0f, 49.0f, D_802498F4_A33B34, 0.1f, &D_802498F4_A33B34); - func_80240D54_A2AF94(0, D_802498F4_A33B34); - camera->controlSettings.boomLength = D_802498E8_A33B28; - camera->controlSettings.boomPitch = D_802498EC_A33B2C; - camera->controlSettings.viewPitch = D_802498F0_A33B30; - camera->controlSettings.posB.x = sin_deg(D_802498D0_A33B10) * 500.0f; - camera->controlSettings.posB.z = cos_deg(D_802498D0_A33B10) * -500.0f; - camera->panActive = TRUE; - D_802498FC_A33B3C++; - if (D_802498D0_A33B10 == 0.0f) { - D_802498F8_A33B38++; - } - - if (D_802498F8_A33B38 <= 30) { - return ApiStatus_BLOCK; - } - return ApiStatus_DONE1; -} - -ApiStatus func_802416BC_A2B8FC(Evt* script, s32 isInitialCall) { - Camera* camera = &gCameras[gCurrentCameraID]; - - if (isInitialCall) { - camera->flags |= CAMERA_FLAG_SHAKING; - } - guTranslateF(camera->viewMtxShaking, - D_80249904_A33B44 * sin_deg(D_80249900_A33B40 * 486), - D_80249904_A33B44 * cos_deg(D_80249900_A33B40 * 254), - 0.0f - ); - D_80249900_A33B40++; - D_80249904_A33B44 += (12.0f - D_80249904_A33B44) * 0.2; - if (D_80249900_A33B40 > 20) { - guTranslateF(camera->viewMtxShaking, 0.0f, 0.0f, 0.0f); - camera->flags &= ~CAMERA_FLAG_SHAKING; - return ApiStatus_DONE1; - } - return ApiStatus_BLOCK; -} - -ApiStatus func_80241850_A2BA90(Evt* script, s32 isInitialCall) { - Camera* camera = &gCameras[gCurrentCameraID]; - Matrix4f sp18; - f32 x, y; - - if (isInitialCall) { - camera->flags |= CAMERA_FLAG_SHAKING; - } - x = D_8024990C_A33B4C * sin_deg(D_80249908_A33B48 * 486); - y = D_8024990C_A33B4C * cos_deg(D_80249908_A33B48 * 254); - guTranslateF(camera->viewMtxShaking, x, y, 0.0f); - guTranslateF(camera->viewMtxShaking, x, y, 0.0f); - guRotateF(sp18, 20.0f, 0.0f, 0.0f, 1.0f); - guMtxCatF(sp18, camera->viewMtxShaking, camera->viewMtxShaking); - camera->panActive = TRUE; - if (D_80249908_A33B48 >= 10) { - guRotateF(camera->viewMtxShaking, 20.0f, 0.0f, 0.0f, 1.0f); - return ApiStatus_DONE1; - } - D_80249908_A33B48++; - return ApiStatus_BLOCK; -} - -ApiStatus func_802419F4_A2BC34(Evt* script, s32 isInitialCall) { - Npc* npc7 = resolve_npc(script, 7); - Npc* npc8 = resolve_npc(script, 8); - - if (isInitialCall) { - npc7->pos.x = -64.0f; - npc7->pos.y = 400.0f; - npc7->pos.z = 85.0f; - npc8->pos.x = -64.0f; - npc8->pos.y = 400.0f; - npc8->pos.z = 85.0f; - npc7->colliderPos.x = npc7->pos.x; - npc8->colliderPos.x = npc8->pos.x; - npc7->colliderPos.z = npc7->pos.z; - npc8->colliderPos.z = npc8->pos.z; - D_8024F2C8 = 400.0f; - } - if (D_80249910_A33B50 < 20) { - npc7->pos.y = D_80249934_A33B74[D_80249910_A33B50]; - } else { - npc7->pos.y += D_80249914_A33B54[((D_80249910_A33B50 - 20) & 30) / 2] * 0.1f; - } - npc8->pos.y = npc7->pos.y; - npc7->colliderPos.y = npc7->pos.y; - npc8->colliderPos.y = npc8->pos.y; - - D_80249910_A33B50++; - if (D_80249910_A33B50 < 2000) { - return ApiStatus_BLOCK; - } - return ApiStatus_DONE1; -} - -ApiStatus func_80241B40_A2BD80(Evt* script, s32 isInitialCall) { - Npc* npc7 = resolve_npc(script, 7); - Npc* npc8 = resolve_npc(script, 8); - - if (isInitialCall) { - npc7->pos.x = -64.0f; - npc7->pos.y = 135.0f; - npc7->pos.z = 85.0f; - npc8->pos.x = -64.0f; - npc8->pos.y = 135.0f; - npc8->pos.z = 85.0f; - npc7->colliderPos.x = npc7->pos.x; - npc8->colliderPos.x = npc8->pos.x; - npc7->colliderPos.z = npc7->pos.z; - npc8->colliderPos.z = npc8->pos.z; - D_8024F2CC = 135.0f; - } - npc7->pos.y += D_80249960_A33BA0[((u32) (D_8024995C_A33B9C - 20) & 30) / 2] * 0.1f; - npc8->pos.y = npc7->pos.y; - npc7->colliderPos.y = npc7->pos.y; - npc8->colliderPos.y = npc8->pos.y; - D_8024995C_A33B9C++; - if (D_8024995C_A33B9C < 2000) { - return ApiStatus_BLOCK; - } - return ApiStatus_DONE1; -} - -ApiStatus func_80241C54_A2BE94(Evt* script, s32 isInitialCall) { - Camera* camera = &gCameras[gCurrentCameraID]; - - func_80241044_A2B284(30.0f, 15.0f, D_80249980_A33BC0, 1.0f, &D_80249980_A33BC0); - func_80240D54_A2AF94(0, D_80249980_A33BC0); - camera->panActive = TRUE; - if (D_80249980_A33BC0 == 15.0f) { - return ApiStatus_DONE1; - } - return ApiStatus_BLOCK; -} - -ApiStatus func_80241D08_A2BF48(Evt* script, s32 isInitialCall) { - Camera* camera = &gCameras[gCurrentCameraID]; - - if (isInitialCall) { - camera->flags &= ~CAMERA_FLAG_SHAKING; - } - guTranslateF(camera->viewMtxShaking, 0.0f, 0.0f, 0.0f); - return ApiStatus_DONE2; -} - -ApiStatus func_80241D7C_A2BFBC(Evt* script, s32 isInitialCall) { - Npc* npc = resolve_npc(script, 9); - - if (isInitialCall) { - npc->pos.x = -145.0f; - npc->pos.z = 114.0f; - npc->yaw = 270.0f; - npc->colliderPos.x = npc->pos.x; - npc->colliderPos.z = npc->pos.z; - } - if (D_80249984_A33BC4 == 30) { - npc->yaw = 90.0f; - } - if (D_80249984_A33BC4 < 40) { - npc->pos.x = D_802499A8_A33BE8[D_80249984_A33BC4][0] - 145; - npc->pos.y = (((D_802499A8_A33BE8[D_80249984_A33BC4][1] - 135) * 200) / 225) + 147; - if (D_80249984_A33BC4 < 20) { - npc->pos.z = 114.0f - (D_80249984_A33BC4 * 30.0f) / 20.0f; - } else { - npc->pos.z = 84.0f; - } - npc->colliderPos.x = npc->pos.x; - npc->colliderPos.z = npc->pos.z; - } else { - npc->pos.y += D_80249988_A33BC8[((D_80249984_A33BC4 - 40) & 30) / 2] * 0.1f; - } - npc->colliderPos.y = npc->pos.y; - D_80249984_A33BC4++; - if (D_80249984_A33BC4 < 2000) { - return ApiStatus_BLOCK; - } - return ApiStatus_DONE1; -} - -ApiStatus func_80241F54_A2C194(Evt* script, s32 isInitialCall) { - Npc* npc = resolve_npc(script, 9); - - if (isInitialCall) { - npc->pos.x = -145.0f; - npc->pos.z = 84.0f; - npc->colliderPos.x = npc->pos.x; - npc->colliderPos.z = npc->pos.z; - npc->yaw = 90.0f; - npc->pos.y = 147.0f; - } - npc->pos.y += D_80249A4C_A33C8C[((D_80249A48_A33C88 - 40) & 30) / 2] * 0.1f; - npc->colliderPos.y = npc->pos.y; - - D_80249A48_A33C88++; - if (D_80249A48_A33C88 < 2000) { - return ApiStatus_BLOCK; - } - return ApiStatus_DONE1; -} - -ApiStatus func_80242024_A2C264(Evt* script, s32 isInitialCall) { - Camera* camera = &gCameras[gCurrentCameraID]; - - func_802410E4_A2B324(0, 121.6f, 90.0f, D_80249A70_A33CB0, 40.0f, &D_80249A6C_A33CAC); - camera->panActive = TRUE; - camera->controlSettings.boomLength = D_80249A6C_A33CAC; - if ((D_80249A70_A33CB0 == ((D_80249A70_A33CB0 / 5) * 5)) && (D_80249A6C_A33CAC != 90.0f)) { - f32 temp_f4 = resolve_npc(script, 7)->pos.y - 150.0f; - - fx_fire_breath( - 1, script->varTable[0], - script->varTable[1] + temp_f4, - script->varTable[2], - script->varTable[3] - 5, - script->varTable[4] + temp_f4, - script->varTable[5] - 30, 0, 5, 20 - ); - } - - D_80249A70_A33CB0++; - if (D_80249A70_A33CB0 <= 40) { - return ApiStatus_BLOCK; - } - return ApiStatus_DONE1; -} - -ApiStatus func_802421E0_A2C420(Evt* script, s32 isInitialCall) { - Camera* camera = &gCameras[gCurrentCameraID]; - - func_802410E4_A2B324(4, 90.0f, 474.7f, D_80249A78_A33CB8, 20.0f, &D_80249A74_A33CB4); - camera->panActive = TRUE; - camera->controlSettings.boomLength = D_80249A74_A33CB4; - D_80249A78_A33CB8++; - if (D_80249A78_A33CB8 < 21) { - return ApiStatus_BLOCK; - } - return ApiStatus_DONE1; -} - -ApiStatus func_802422A0_A2C4E0(Evt* script, s32 isInitialCall) { - Npc* npc7 = resolve_npc(script, 7); - Npc* npc8 = resolve_npc(script, 8); - - if (isInitialCall) { - D_8024F2D8 = npc7->pos.x; - D_8024F2DC = npc7->pos.z; - } - func_802410E4_A2B324(3, D_8024F2D8, 0.0f, D_80249A7C_A33CBC, 40.0f, &npc7->pos.x); - func_802410E4_A2B324(3, D_8024F2DC, 0.0f, D_80249A7C_A33CBC, 40.0f, &npc7->pos.z); - npc8->pos.x = npc7->pos.x; - npc8->pos.z = npc7->pos.z; - npc7->colliderPos.x = npc7->pos.x; - npc7->colliderPos.z = npc7->pos.z; - npc8->colliderPos.x = npc8->pos.x; - npc8->colliderPos.z = npc8->pos.z; - - D_80249A7C_A33CBC++; - if (D_80249A7C_A33CBC <= 40) { - return ApiStatus_BLOCK; - } - return ApiStatus_DONE1; -} - -ApiStatus func_802423D4_A2C614(Evt* script, s32 isInitialCall) { - Camera* camera = &gCameras[gCurrentCameraID]; - - func_802410E4_A2B324(4, 35.0f, 35.0f, D_80249A80_A33CC0, 80.0f, &D_8024F2E0); - func_802410E4_A2B324(4, 130.0f, 270.0f, D_80249A80_A33CC0, 80.0f, &D_8024F2E4); - func_802410E4_A2B324(4, 30.0f, 0.0f, D_80249A80_A33CC0, 80.0f, &D_8024F2E8); - func_802410E4_A2B324(4, 232.0f, 177.0f, D_80249A80_A33CC0, 80.0f, &D_8024F2EC); - func_802410E4_A2B324(4, 0.0f, 0.0f, D_80249A80_A33CC0, 80.0f, &D_8024F2F0); - func_80240D54_A2AF94(0, D_8024F2E0); - camera->panActive = TRUE; - camera->controlSettings.boomLength = D_8024F2E4; - camera->movePos.x = D_8024F2E8; - camera->movePos.y = D_8024F2EC; - camera->movePos.z = D_8024F2F0; - - D_80249A80_A33CC0++; - if (D_80249A80_A33CC0 <= 90) { - return ApiStatus_BLOCK; - } - return ApiStatus_DONE1; -} - -ApiStatus func_802425A0_A2C7E0(Evt* script, s32 isInitialCall) { - Camera* camera = &gCameras[gCurrentCameraID]; - - func_802410E4_A2B324(0, 40.0f, -130.0f, D_80249A90_A33CD0, 170.0f, &D_80249A84_A33CC4); - func_802410E4_A2B324(0, -40.0f, 130.0f, D_80249A90_A33CD0, 170.0f, &D_80249A88_A33CC8); - func_802410E4_A2B324(3, 45.0f, 25.0f, D_80249A90_A33CD0, 170.0f, &D_80249A8C_A33CCC); - camera->panActive = TRUE; - camera->movePos.x = D_80249A84_A33CC4; - camera->movePos.z = D_80249A88_A33CC8; - camera->controlSettings.posB.x = sin_deg(D_80249A8C_A33CCC) * 500.0f; - camera->controlSettings.posB.z = cos_deg(D_80249A8C_A33CCC) * 500.0f; - - D_80249A90_A33CD0++; - if (D_80249A90_A33CD0 == 170) { - return ApiStatus_DONE1; - } - return ApiStatus_BLOCK; -} - -ApiStatus func_80242704_A2C944(void) { - Camera* camera = &gCameras[gCurrentCameraID]; - - func_802410E4_A2B324(3, 25.0f, 200.0f, D_80249AA4_A33CE4, 120.0f, &D_80249AA0_A33CE0); - func_802410E4_A2B324(3, 50.0f, 35.0f, D_80249AA4_A33CE4, 30.0f, &D_80249A94_A33CD4); - func_802410E4_A2B324(3, 246.1f, 180.0f, D_80249AA4_A33CE4, 30.0f, &D_80249A98_A33CD8); - func_802410E4_A2B324(3, 200.0f, 220.0f, D_80249AA4_A33CE4, 30.0f, &D_80249A9C_A33CDC); - camera->controlSettings.posB.x = sin_deg(D_80249AA0_A33CE0) * 500.0f; - camera->controlSettings.posB.z = cos_deg(D_80249AA0_A33CE0) * 500.0f; - func_80240D54_A2AF94(0, D_80249A94_A33CD4); - camera->panActive = TRUE; - camera->controlSettings.boomLength = D_80249A98_A33CD8; - camera->movePos.y = D_80249A9C_A33CDC; - D_80249AA4_A33CE4++; - if (D_80249AA4_A33CE4 <= 120) { - return ApiStatus_BLOCK; - } - return ApiStatus_DONE1; -} - -// lotta work to do -#ifdef WIP -ApiStatus func_802428C8_A2CB08(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 temp_s6 = evt_get_variable(script, *args++); - f32 sp10 = evt_get_float_variable(script, *args++); - f32 temp_f28 = evt_get_float_variable(script, *args++); - EffectInstance* effect = evt_get_variable(script, ArrayVar(0)); - f32 temp_f20; - f32 temp_f20_2; - f32 temp_f20_3; - f32 temp_f20_4; - f32 temp_f24; - f32 temp_f24_2; - f32 var_f0_2; - f32 var_f0_3; - f32 var_f20_2; - f32 var_f26; - f32 var_f2_2; - f64 var_f20; - f64 var_f2; - f64 var_f2_3; - f64 var_f2_4; - f64 var_f2_5; - f64 var_f2_6; - f64 var_f2_7; - f64 var_f2_8; - s32 temp_v0; - s32 temp_v0_2; - s32 temp_v0_3; - s32 temp_v0_4; - s32 temp_v0_5; - s32 temp_v0_6; - s32 temp_v0_7; - - f32* temp_s1_2; - f32* temp_s2; - f32* var_s0; - f32* var_s2; - - switch (temp_s6) { - case 1: - var_s0 = D_8024F3F8; - var_s2 = D_8024F3F8; - temp_v0 = effect->data.somethingRotating->unk_14 + 30; - var_f2 = temp_v0; - if (temp_v0 < 0) { - var_f2 += 4294967296.0; - } - var_f20 = var_f2 * 4.0f; - temp_f20 = var_f20 + 51.43; - temp_f24 = sin_deg(temp_f20); - var_f26 = effect->data.somethingRotating->unk_04 + (sin_deg(90.0f) * 50.0f * temp_f24); - var_f20_2 = effect->data.somethingRotating->unk_08 + (cos_deg(temp_f20) * 50.0f); - var_f0_2 = sin_deg(90.0f) * 50.0f * temp_f24; - var_f2_2 = effect->data.somethingRotating->unk_0C; - break; - case 2: - var_s0 = hos_05_8024F420; - var_s2 = hos_05_8024F420; - temp_v0_2 = effect->data.somethingRotating->unk_14 + 30; - var_f2_3 = temp_v0_2; - if (temp_v0_2 < 0) { - var_f2_3 += 4294967296.0; - } - var_f20 = (var_f2_3 * 4.0f); - temp_f20 = var_f20 + 360.01; - temp_f24 = sin_deg(temp_f20); - var_f26 = effect->data.somethingRotating->unk_04 + (sin_deg(90.0f) * 50.0f * temp_f24); - var_f20_2 = effect->data.somethingRotating->unk_08 + (cos_deg(temp_f20) * 50.0f); - var_f0_2 = sin_deg(90.0f) * 50.0f * temp_f24; - var_f2_2 = effect->data.somethingRotating->unk_0C; - break; - case 3: - var_s0 = D_8024F448; - var_s2 = D_8024F448; - temp_v0_3 = effect->data.somethingRotating->unk_14 + 30; - var_f2_4 = temp_v0_3; - if (temp_v0_3 < 0) { - var_f2_4 += 4294967296.0; - } - var_f20 = var_f2_4 * 4.0f; - temp_f20 = var_f20 + 154.29; - temp_f24 = sin_deg(temp_f20); - var_f26 = effect->data.somethingRotating->unk_04 + (sin_deg(90.0f) * 50.0f * temp_f24); - var_f20_2 = effect->data.somethingRotating->unk_08 + (cos_deg(temp_f20) * 50.0f); - var_f0_2 = sin_deg(90.0f) * 50.0f * temp_f24; - var_f2_2 = effect->data.somethingRotating->unk_0C; - break; - case 4: - var_s0 = D_8024F470_hos_bss; - temp_v0_4 = effect->data.somethingRotating->unk_14 + 30; - var_f2_5 = temp_v0_4; - var_s2 = D_8024F470_hos_bss; - if (temp_v0_4 < 0) { - var_f2_5 += 4294967296.0; - } - temp_f20_2 = (var_f2_5 * 4.0f) + 205.72; - temp_f24_2 = sin_deg(temp_f20_2); - var_f26 = effect->data.somethingRotating->unk_04 + (sin_deg(90.0f) * 50.0f * temp_f24_2); - var_f20_2 = effect->data.somethingRotating->unk_08 + (cos_deg(temp_f20_2) * 50.0f); - var_f0_2 = sin_deg(90.0f) * 50.0f * temp_f24_2; - var_f2_2 = effect->data.somethingRotating->unk_0C; - break; - case 5: - var_s0 = D_8024F498; - var_s2 = D_8024F498; - temp_v0_5 = effect->data.somethingRotating->unk_14 + 30; - var_f2_6 = temp_v0_5; - if (temp_v0_5 < 0) { - var_f2_6 += 4294967296.0; - } - var_f20 = var_f2_6 * 4.0f; - temp_f20 = var_f20 + 308.58; - temp_f24 = sin_deg(temp_f20); - var_f26 = effect->data.somethingRotating->unk_04 + (sin_deg(90.0f) * 50.0f * temp_f24); - var_f20_2 = effect->data.somethingRotating->unk_08 + (cos_deg(temp_f20) * 50.0f); - var_f0_2 = sin_deg(90.0f) * 50.0f * temp_f24; - var_f2_2 = effect->data.somethingRotating->unk_0C; - break; - case 6: - var_s0 = hos_05_D_8024F4C0; - var_s2 = hos_05_D_8024F4C0; - temp_v0_6 = effect->data.somethingRotating->unk_14 + 30; - var_f2_7 = temp_v0_6; - if (temp_v0_6 < 0) { - var_f2_7 += 4294967296.0; - } - var_f20 = var_f2_7 * 4.0f; - temp_f20 = var_f20 + 102.86; - temp_f24 = sin_deg(temp_f20); - var_f26 = effect->data.somethingRotating->unk_04 + (sin_deg(90.0f) * 50.0f * temp_f24); - var_f20_2 = effect->data.somethingRotating->unk_08 + (cos_deg(temp_f20) * 50.0f); - var_f0_2 = sin_deg(90.0f) * 50.0f * temp_f24; - var_f2_2 = effect->data.somethingRotating->unk_0C; - break; - default: - var_s0 = D_8024F4E8; - var_s2 = D_8024F4E8; - temp_v0_7 = effect->data.somethingRotating->unk_14 + 30; - var_f2_8 = temp_v0_7; - if (temp_v0_7 < 0) { - var_f2_8 += 4294967296.0; - } - var_f20 = (var_f2_8 * 4.0f); - temp_f20 = var_f20 + 257.15; - temp_f24 = sin_deg(temp_f20); - var_f26 = effect->data.somethingRotating->unk_04 + (sin_deg(90.0f) * 50.0f * temp_f24); - var_f20_2 = effect->data.somethingRotating->unk_08 + (cos_deg(temp_f20) * 50.0f); - var_f0_2 = sin_deg(90.0f) * 50.0f * temp_f24; - var_f2_2 = effect->data.somethingRotating->unk_0C; - break; - } - var_s0[6] = var_f26; - var_s0[7] = var_f20_2; - var_s0[8] = var_f2_2 + var_f0_2; - var_s2[0] = evt_get_float_variable(script, LocalVar(0)); - var_s2[1] = evt_get_float_variable(script, LocalVar(1)); - temp_s1_2 = var_s2 + 0x18; - var_s2[4] = evt_get_float_variable(script, LocalVar(2)); - temp_s2 = var_s2 + 0xC; - if (temp_s6 != 2) { - temp_f20_3 = 1.0f - temp_f28; - temp_s2[0] = (evt_get_float_variable(script, LocalVar(0)) * temp_f28) + (temp_s1_2[0] * temp_f20_3); - temp_s2[1] = (evt_get_float_variable(script, LocalVar(1)) * temp_f28) + (temp_s1_2[1] * temp_f20_3) + sp10; - var_f0_3 = (evt_get_float_variable(script, LocalVar(2)) * temp_f28) + (temp_s1_2[2] * temp_f20_3); - } else { - temp_f20_4 = 1.0f - temp_f28; - temp_s2[0] = ((evt_get_float_variable(script, LocalVar(0)) * temp_f28) + (temp_s1_2[0] * temp_f20_4)) - 50.0f; - temp_s2[1] = (evt_get_float_variable(script, LocalVar(1)) * temp_f28) + (temp_s1_2[1] * temp_f20_4) + sp10; - var_f0_3 = ((evt_get_float_variable(script, LocalVar(2)) * temp_f28) + (temp_s1_2[2] * temp_f20_4)) - 50.0f; - } - temp_s2[2] = var_f0_3; - script->varTable[0] = 30; - script->varTable[1] = var_s0; - script->varTable[2] = 3; - return ApiStatus_DONE2; -} -#else -INCLUDE_ASM(s32, "world/area_hos/hos_05/A2AAC0", func_802428C8_A2CB08); -#endif - -ApiStatus func_80242F74_A2D1B4(Evt* script, s32 isInitialCall) { - Camera* camera = &gCameras[gCurrentCameraID]; - - func_80241044_A2B284(D_8024987C_A33ABC, D_802498A8_A33AE8, D_8024A9C8_A34C08, 1.0f, &D_8024A9C8_A34C08); - camera->panActive = TRUE; - camera->controlSettings.boomLength = D_8024A9C8_A34C08; - if (D_8024A9C8_A34C08 == 700.0f) { - return ApiStatus_DONE1; - } - return ApiStatus_BLOCK; -} - -ApiStatus func_8024301C_A2D25C(Evt* script, s32 isInitialCall) { - Npc* npc = resolve_npc(script, 9); - - if (isInitialCall) { - D_8024F2F4 = npc->pos.x; - D_8024F2F8 = npc->pos.z; - } - - func_802410E4_A2B324(3, D_8024F2F4, -95.0f, D_8024A9CC_A34C0C, 40.0f, &npc->pos.x); - func_802410E4_A2B324(3, D_8024F2F8, 20.0f, D_8024A9CC_A34C0C, 40.0f, &npc->pos.z); - npc->colliderPos.x = npc->pos.x; - npc->colliderPos.z = npc->pos.z; - - D_8024A9CC_A34C0C++; - if (D_8024A9CC_A34C0C <= 40) { - return ApiStatus_BLOCK; - } - return ApiStatus_DONE1; -} - -void func_80243164_A2D3A4( - s32 baseX, s32 baseY, - IMG_PTR img, PAL_PTR pal, - s32 alpha, s32 width, s32 height, s32 lineHeight -); - -void func_80243100_A2D340(void) { - s32 x = D_8024AA20_A34C60->unk_44 << 0x10; - s32 y = D_8024AA20_A34C60->unk_46 << 0x10; - - if (D_8024AA20_A34C60->unk_00 != 0) { - func_80243164_A2D3A4( - x >> 0x10, y >> 0x10, - D_8024AA20_A34C60->unk_1C, D_8024AA20_A34C60->unk_20, - 255, 128, 128, 16 - ); - } -} - -void func_80243164_A2D3A4(s32 baseX, s32 baseY, IMG_PTR img, PAL_PTR pal, s32 alpha, s32 width, s32 height, s32 lineHeight) { - u8 overlayType; - f32 overlayZoomBack; - f32 overlayZoomFront; - s32 i; - - if (alpha == 0) { - return; - } - - gDPPipeSync(gMasterGfxPos++); - gSPDisplayList(gMasterGfxPos++, D_8024AA28_A34C68); - - if (pal != NULL) { - gDPLoadTLUT_pal256(gMasterGfxPos++, pal); - } else { - gDPSetTextureLUT(gMasterGfxPos++, G_TT_NONE); - } - - get_screen_overlay_params(1, &overlayType, &overlayZoomBack); - get_screen_overlay_params(0, &overlayType, &overlayZoomFront); - alpha = alpha * (255.0f - overlayZoomBack) * (255.0f - overlayZoomFront) / 255.0f / 255.0f; - if (alpha != 255) { - gDPSetCombineLERP(gMasterGfxPos++, 0, 0, 0, TEXEL0, PRIMITIVE, 0, TEXEL0, 0, 0, 0, 0, TEXEL0, PRIMITIVE, 0, TEXEL0, 0); - gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, alpha); - } else { - gDPSetCombineMode(gMasterGfxPos++, G_CC_DECALRGBA, G_CC_DECALRGBA); - } - - gDPSetScissor(gMasterGfxPos++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); - gDPSetRenderMode(gMasterGfxPos++, G_RM_CLD_SURF, G_RM_CLD_SURF2); - - - for (i = 0; i < height / lineHeight; i++) { - gDPLoadTextureTile(gMasterGfxPos++, img, pal != NULL ? G_IM_FMT_CI : G_IM_FMT_IA, G_IM_SIZ_8b, width, height, - 0, i * lineHeight, width - 1, i * lineHeight + lineHeight - 1, 0, - G_TX_WRAP, G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); - gSPScisTextureRectangle(gMasterGfxPos++, baseX * 4, (baseY + i * lineHeight) * 4, (baseX + width) * 4, (baseY + i * lineHeight + lineHeight) * 4, - G_TX_RENDERTILE, 0, (i * lineHeight) * 32, 1024, 1024); - } - - gDPPipeSync(gMasterGfxPos++); -} - -void func_8024370C_A2D94C(void) { - func_80243164_A2D3A4( - D_8024AA20_A34C60->unk_48, D_8024AA20_A34C60->unk_4A, - D_8024AA20_A34C60->unk_18, NULL, - D_8024AA20_A34C60->unk_5C, 128, 128, 32 - ); -} - -void func_80243758_A2D998(s32 baseX, s32 baseY, IMG_PTR img, PAL_PTR pal) { - s32 i; - s32 m = 1; - - gDPPipeSync(gMasterGfxPos++); - gDPLoadTLUT_pal256(gMasterGfxPos++, pal); - for (i = 0; i < 23; i++) { - gDPLoadTextureTile(gMasterGfxPos++, img, G_IM_FMT_CI, G_IM_SIZ_8b, 264, 162, - 0, i * 7, 263, i * 7 + 7 - 1, 0, - G_TX_WRAP, G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); - gSPScisTextureRectangle(gMasterGfxPos++, baseX * 4, (baseY + i * 7) * 4, (baseX + 264) * 4, (baseY + i * 7 + 7) * 4, - G_TX_RENDERTILE, 0, (i * 7) << 5, 1024, 1024); - } - if (m != 0) { - gDPLoadTextureTile(gMasterGfxPos++, img, G_IM_FMT_CI, G_IM_SIZ_8b, 264, 0, - 0, i * 7, 263, i * 7 + m - 1, 0, - G_TX_WRAP, G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); - gSPScisTextureRectangle(gMasterGfxPos++, baseX * 4, (baseY + i * 7) * 4, (baseX + 264) * 4, (baseY + i * 7 + m) * 4, - G_TX_RENDERTILE, 0, (i * 7) << 5, 1024, 1024); - } - gDPPipeSync(gMasterGfxPos++); -} - -void func_80243CC0_A2DF00(void) { - Camera* camera = &gCameras[gCurrentCameraID]; - s32 vpX = camera->viewportStartX; - s32 vpY = camera->viewportStartY; - u8 sp10; - f32 sp14; - - func_8024370C_A2D94C(); - - gSPDisplayList(gMasterGfxPos++, D_8024AA28_A34C68); - gDPSetColorImage(gMasterGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, nuGfxCfb_ptr); - - if (D_8024AA20_A34C60->unk_5A < 255) { - gDPSetRenderMode(gMasterGfxPos++, G_RM_CLD_SURF, G_RM_CLD_SURF2); - gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, D_8024AA20_A34C60->unk_5A); - } - get_screen_overlay_params(1, &sp10, &sp14); - if (sp14 != 0.0f) { - gDPSetCombineLERP(gMasterGfxPos++, PRIMITIVE, TEXEL0, PRIMITIVE_ALPHA, TEXEL0, 0, 0, 0, 1, PRIMITIVE, TEXEL0, - PRIMITIVE_ALPHA, TEXEL0, 0, 0, 0, 1); - gDPSetPrimColor(gMasterGfxPos++, 0, 0, 208, 208, 208, (s32) sp14); - } - - if (!D_8024AA20_A34C60->unk_58) { - func_80243758_A2D998( - vpX + D_8024AA20_A34C60->unk_40, - vpY + D_8024AA20_A34C60->unk_42, - D_8024AA20_A34C60->unk_0C, - D_8024AA20_A34C60->unk_10 - ); - func_80243758_A2D998( - vpX + D_8024AA20_A34C60->unk_3C, - vpY + D_8024AA20_A34C60->unk_3E, - D_8024AA20_A34C60->unk_04, - D_8024AA20_A34C60->unk_08 - ); - } else { - func_80243758_A2D998( - vpX + D_8024AA20_A34C60->unk_3C, - vpY + D_8024AA20_A34C60->unk_3E, - D_8024AA20_A34C60->unk_04, - D_8024AA20_A34C60->unk_08 - ); - func_80243758_A2D998( - vpX + D_8024AA20_A34C60->unk_40, - vpY + D_8024AA20_A34C60->unk_42, - D_8024AA20_A34C60->unk_0C, - D_8024AA20_A34C60->unk_10 - ); - } -} - -void func_80243ED0_A2E110(s32 arg0, s32 idx) { - s32 i; - - idx--; - if (idx < 0) { - u16* pal = D_8024AA20_A34C60->unk_08; - - for (i = 0; i < 256; i++) { - *pal++ = 0xD6B5; - } - return; - } - - if (!arg0) { - dma_copy( - title_bg_1_ROM_START + idx * 0xA910, - title_bg_1_ROM_START + (idx + 1) * 0xA910 , - D_8024AA20_A34C60->unk_04 - ); - } else { - dma_copy( - title_bg_1_ROM_START + idx * 0xA910, - title_bg_1_ROM_START + (idx + 1) * 0xA910 , - D_8024AA20_A34C60->unk_0C - ); - } -} - -#ifdef SHIFT -#define TAPE_OFFSET title_tape_ROM_START - title_bg_1_ROM_START -#define TAPE_OFFSET 0x2A440 // TODO remove this line once the map is split -#else -#define TAPE_OFFSET 0x2A440 -#endif - -ApiStatus func_80243FC4_A2E204(Evt* script, s32 isInitialCall) { - u8* dmaEnd; - u8* dmaStart; - s32 tapeOffset; - u8* it; - - D_8024AA20_A34C60->unk_00 = create_worker_frontUI(NULL, func_80243CC0_A2DF00); - D_8024AA20_A34C60->unk_04 = it = mdl_get_next_texture_address(0x1D420); - it += 0xA710; - D_8024AA20_A34C60->unk_08 = (u16*) it; - it += 0x200; - D_8024AA20_A34C60->unk_0C = it; - it += 0xA710; - D_8024AA20_A34C60->unk_10 = (u16*) it; - it += 0x200; - D_8024AA20_A34C60->unk_18 = it; - it += 0x4000; - D_8024AA20_A34C60->unk_1C = it; - it += 0x4000; - D_8024AA20_A34C60->unk_20 = (u16*) it; - D_8024AA20_A34C60->unk_46 = 240; - D_8024AA20_A34C60->unk_48 = 111; - D_8024AA20_A34C60->unk_3C = 0; - D_8024AA20_A34C60->unk_3E = 0; - D_8024AA20_A34C60->unk_40 = 0; - D_8024AA20_A34C60->unk_42 = 0; - D_8024AA20_A34C60->unk_44 = 0; - D_8024AA20_A34C60->unk_4A = 54; - - func_80243ED0_A2E110(0, 0); - func_80243ED0_A2E110(1, 1); - - tapeOffset = TAPE_OFFSET; - dmaStart = title_bg_1_ROM_START + tapeOffset; - dmaEnd = title_bg_1_ROM_START + tapeOffset + 0x4000; - - // load the tape and bowser silhouette images - dma_copy(dmaStart, dmaEnd + 0x4200, D_8024AA20_A34C60->unk_18); - D_8024AA20_A34C60->unk_58 = 0; - D_8024AA20_A34C60->unk_5A = 255; - D_8024AA20_A34C60->unk_5C = 0; - return ApiStatus_DONE2; -} - -NOP_FIX // TODO remove when D_8024AAB4_A34CF4 is migrated -ApiStatus func_802440D0_A2E310(Evt* script, s32 isInitialCall) { - switch (D_8024AAB0_A34CF0) { - case 0: - D_8024AAB0_A34CF0++; - D_8024AAB8_A34CF8 = D_8024AAC0_A34D00[D_8024AAB4_A34CF4]; - break; - case 1: - if (D_8024AAB8_A34CF8 != 0) { - D_8024AAB8_A34CF8--; - } else { - D_8024AAB8_A34CF8 = 26; - D_8024AAB0_A34CF0++; - sfx_play_sound(SOUND_B0); - } - break; - case 2: - if (D_8024AAB8_A34CF8 != 0) { - D_8024AAB8_A34CF8--; - if (!D_8024AA20_A34C60->unk_58) { - D_8024AA20_A34C60->unk_3C = D_8024AAD4_A34D14[25 - D_8024AAB8_A34CF8]; - D_8024AA20_A34C60->unk_3E = 0; - } else { - D_8024AA20_A34C60->unk_40 = D_8024AAD4_A34D14[25 - D_8024AAB8_A34CF8]; - D_8024AA20_A34C60->unk_42 = 0; - } - } else { - D_8024AAB4_A34CF4++; - if (D_8024AAB4_A34CF4 + 1 < 5) { - func_80243ED0_A2E110(D_8024AA20_A34C60->unk_58, D_8024AAB4_A34CF4 + 1); - D_8024AAB0_A34CF0 = 0; - D_8024AA20_A34C60->unk_3C = 0; - D_8024AA20_A34C60->unk_3E = 0; - D_8024AA20_A34C60->unk_40 = 0; - D_8024AA20_A34C60->unk_42 = 0; - D_8024AA20_A34C60->unk_58 = D_8024AA20_A34C60->unk_58 ^ 1; - } else { - if (!D_8024AA20_A34C60->unk_58) { - D_8024AA20_A34C60->unk_40 = 0; - D_8024AA20_A34C60->unk_42 = 0; - } else { - D_8024AA20_A34C60->unk_3C = 0; - D_8024AA20_A34C60->unk_3E = 0; - } - gCameras[CAM_DEFAULT].flags &= ~CAMERA_FLAG_ENABLED; - D_8024AAB0_A34CF0++; - } - } - break; - case 3: - D_8024AABC_A34CFC = 0; - D_8024AAB0_A34CF0++; - D_8024AAB8_A34CF8 = D_8024AAC0_A34D00[D_8024AAB4_A34CF4]; - break; - case 4: - if (D_8024AAB8_A34CF8 != 0) { - if (D_8024AAB8_A34CF8 < D_8024AAC0_A34D00[D_8024AAB4_A34CF4] - 268) { - u32 temp_v1 = D_8024AABC_A34CFC - 320; - - if (D_8024AABC_A34CFC < 320) { - D_8024AA20_A34C60->unk_44 = D_8024AC7C_A34EBC[0]; - D_8024AA20_A34C60->unk_46 = D_8024AB3C_A34D7C[D_8024AABC_A34CFC]; - } else if (temp_v1 < 15) { - D_8024AA20_A34C60->unk_44 = D_8024AC7C_A34EBC[temp_v1]; - if (temp_v1 < 13) { - D_8024AA20_A34C60->unk_46 = D_8024AC7B_A34EBB + D_8024AC9C_A34EDC[temp_v1]; - } - } - D_8024AABC_A34CFC++; - } - D_8024AAB8_A34CF8--; - } else { - D_8024AAB8_A34CF8 = 26; - D_8024AAB0_A34CF0++; - D_8024AA20_A34C60->unk_5C = 255; - sfx_play_sound(SOUND_B0); - } - break; - case 5: - if (D_8024AAB8_A34CF8 != 0) { - D_8024AAB8_A34CF8--; - if (!D_8024AA20_A34C60->unk_58) { - D_8024AA20_A34C60->unk_40 = D_8024AAD4_A34D14[25 - D_8024AAB8_A34CF8]; - D_8024AA20_A34C60->unk_42 = 0; - } else { - D_8024AA20_A34C60->unk_3C = D_8024AAD4_A34D14[25 - D_8024AAB8_A34CF8]; - D_8024AA20_A34C60->unk_3E = 0; - } - } else { - D_8024AAB0_A34CF0++; - } - break; - case 6: - default: - return ApiStatus_DONE1; - } - return ApiStatus_BLOCK; -} - -ApiStatus func_80244454_A2E694(Evt* script, s32 isInitialCall) { - if (D_8024ACB8_A34EF8 != 0) { - D_8024ACB8_A34EF8--; - D_8024AA20_A34C60->unk_5C = (D_8024ACB8_A34EF8 * 255) / 30; - return ApiStatus_BLOCK; - } else { - D_8024AA20_A34C60->unk_5C = 0; - free_worker(D_8024AA20_A34C60->unk_00); - D_8024AA20_A34C60->unk_00 = 0; - return ApiStatus_DONE1; - } -} - -ApiStatus func_802444E8_A2E728(Evt* script, s32 isInitialCall) { - Npc* npc = resolve_npc(script, 10); - - npc->yaw = npc->renderYaw = 180.0f - gCameras[gCurrentCameraID].currentYaw; - return ApiStatus_BLOCK; -} - -#ifdef NON_MATCHING -ApiStatus func_80244550_A2E790(Evt* script, s32 isInitialCall) { - Npc* npc = resolve_npc(script, 9); - EffectInstance* effect = evt_get_variable(script, ArrayVar(0)); - f32 x, y, z; - s32 i; - - if (isInitialCall) { - D_8024F2FC = npc->pos.x; - D_8024F300 = npc->pos.y; - D_8024F304 = npc->pos.z; - - for (i = 0; i < ARRAY_COUNT(D_8024F318); i++) { - Npc* npc2 = resolve_npc(script, i); - - D_8024F318[i] = npc2->pos.x; - D_8024F338[i] = npc2->pos.y; - D_8024F358[i] = npc2->pos.z; - } - D_8024F308 = effect->data.somethingRotating->unk_04; - D_8024F30C = effect->data.somethingRotating->unk_08; - D_8024F310 = effect->data.somethingRotating->unk_0C; - } - - x = npc->pos.x - D_8024F2FC; - y = npc->pos.y - D_8024F300; - z = npc->pos.z - D_8024F304; - - for (i = 0; i < ARRAY_COUNT(D_8024F318); i++) { - Npc* npc2 = resolve_npc(script, i); - - npc2->pos.x = D_8024F318[i] + x; - npc2->pos.y = D_8024F338[i] + y; - npc2->pos.z = D_8024F358[i] + z; - npc2->colliderPos.x = npc2->pos.x; - npc2->colliderPos.y = npc2->pos.y; - npc2->colliderPos.z = npc2->pos.z; - } - effect->data.somethingRotating->unk_04 = D_8024F308 + x; - effect->data.somethingRotating->unk_08 = D_8024F30C + y; - effect->data.somethingRotating->unk_0C = D_8024F310 + z; - return ApiStatus_BLOCK; -} -#else -INCLUDE_ASM(s32, "world/area_hos/hos_05/A2AAC0", func_80244550_A2E790); -#endif - -ApiStatus func_80244774_A2E9B4(Evt* script, s32 isInitialCall) { - Npc* npc7 = resolve_npc(script, 7); - Npc* npc8 = resolve_npc(script, 8); - - if (isInitialCall) { - D_8024F374 = npc7->pos.y; - } - func_802410E4_A2B324(3, D_8024F374, D_8024F374 + 500.0f, D_8024AEC4_A35104, 40.0f, &npc7->pos.y); - npc8->pos.y = npc7->pos.y; - npc7->colliderPos.y = npc7->pos.y; - npc8->colliderPos.y = npc8->pos.y; - D_8024AEC4_A35104++; - if (D_8024AEC4_A35104 > 40.0f) { - return ApiStatus_DONE1; - } - return ApiStatus_BLOCK; -} - -ApiStatus func_8024486C_A2EAAC(Evt* script, s32 isInitialCall) { - Npc* npc = resolve_npc(script, 9); - - if (isInitialCall) { - D_8024F378 = npc->pos.y; - } - func_802410E4_A2B324(3, D_8024F378, D_8024F378 + 500.0f, D_8024AEC8_A35108, 40.0f, &npc->pos.y); - npc->colliderPos.y = npc->pos.y; - D_8024AEC8_A35108++; - if (D_8024AEC8_A35108 > 40.0f) { - return ApiStatus_DONE1; - } - return ApiStatus_BLOCK; -} - -ApiStatus func_80244934_A2EB74(Evt* script, s32 isInitialCall) { - if (isInitialCall) { - script->functionTemp[0] = 0; - set_screen_overlay_params_back(1, 255.0f); - set_screen_overlay_color(1, 250, 250, 250); - return ApiStatus_BLOCK; - } - script->functionTemp[0]++; - if (script->functionTemp[0] == 10) { - set_screen_overlay_params_back(0, 0.0f); - set_screen_overlay_color(1, 250, 250, 250); - return ApiStatus_DONE2; - } - set_screen_overlay_params_back(1, (10 - script->functionTemp[0]) * 25); - set_screen_overlay_color(1, 250, 250, 250); - return ApiStatus_BLOCK; -} diff --git a/src/world/area_hos/hos_05/A2EC30.c b/src/world/area_hos/hos_05/A2EC30.c deleted file mode 100644 index 07c2778394..0000000000 --- a/src/world/area_hos/hos_05/A2EC30.c +++ /dev/null @@ -1,118 +0,0 @@ -#include "hos_05.h" - -u32 D_8024DA90_A37CD0 = 0; // mode -s32 D_8024DA94_A37CD4 = 0; // alpha related -s32* D_8024DA98_A37CD8 = NULL; -s32 D_8024DA9C_A37CDC[] = { - -1, 30, 1, 50, 2, 50, -1, 50, 3, 50, 4, 50, 5, 50, -1, 50, 6, 50, 7, 50, 8, 50, -1, 50, 9, 50, 10, 50, 11, 50, - -1, 50, 12, 30, 13, 30, 14, 50, 15, 30, 16, 30, 17, 30, 18, 50, 19, 30, -1, 40, 20, 56, -1, 50, 21, 30, - -1, 30, 22, 50, -1, 30, 23, 50, 24, 50, -1, 60, 25, 50, -1, 24, 26, 30, 0, 0 -}; -s32* D_8024DBCC_A37E0C[4] = { D_8024DA9C_A37CDC, D_8024DA9C_A37CDC, D_8024DA9C_A37CDC, D_8024DA9C_A37CDC }; - -EvtScript D_8024DBDC_A37E1C = { - EVT_CALL(GetEntryID, LocalVar(0)) - EVT_SWITCH(LocalVar(0)) - EVT_CASE_EQ(3) - EVT_CALL(func_80244C60_A2EEA0, EVT_PTR(func_80244C8C_A2EECC)) - EVT_END_SWITCH - EVT_RETURN - EVT_END -}; - -// BSS -extern s32 D_8024F570; - -void func_802449F0_A2EC30(s32** arg0) { - u8 type; - f32 zoom1; - f32 zoom2; - s32 messageID; - s32 opacity; - s32 yOffset; - s32 t; - s32 t2; - - if (D_8024DA98_A37CD8 == NULL) { - D_8024DA98_A37CD8 = arg0[D_800779B0]; - } - - switch (D_8024DA90_A37CD0) { - case 0: - if (D_8024DA98_A37CD8[0] == -1) { - D_8024DA90_A37CD0 = 4; - D_8024F570 = D_8024DA98_A37CD8[1]; - } else { - D_8024DA94_A37CD4 += 10; - if (D_8024DA94_A37CD4 > 255) { - D_8024DA94_A37CD4 = 255; - D_8024DA90_A37CD0 = 1; - D_8024F570 = D_8024DA98_A37CD8[1]; - } - } - break; - case 1: - if (D_8024F570 == 0) { - D_8024DA90_A37CD0 = 2; - } else { - D_8024F570--; - } - break; - case 2: - D_8024DA94_A37CD4 -= 10; - if (D_8024DA94_A37CD4 < 0) { - D_8024DA94_A37CD4 = 0; - t = D_8024DA98_A37CD8[2]; - D_8024DA98_A37CD8 += 2; - if (t == 0) { - D_8024DA90_A37CD0 = 3; - } else { - D_8024DA90_A37CD0 = 0; - } - } - break; - case 3: - break; - case 4: - if (D_8024F570 != 0) { - D_8024F570--; - break; - } - t2 = D_8024DA98_A37CD8[2]; - D_8024DA98_A37CD8 += 2; - if (t2 == 0) { - D_8024DA90_A37CD0 = 3; - } else { - D_8024DA90_A37CD0 = 0; - } - break; - } - get_screen_overlay_params(1, &type, &zoom1); - get_screen_overlay_params(0, &type, &zoom2); - opacity = ((D_8024DA94_A37CD4 * (255.0f - zoom1) * (255.0f - zoom2)) / 255.0f) / 255.0f; - if (opacity > 0) { - messageID = D_8024DA98_A37CD8[0]; - if (messageID != 0) { - yOffset = 0; - if (get_msg_lines(messageID) >= 2) { - yOffset = -7; - } - draw_msg(D_8024DA98_A37CD8[0], 0, yOffset + 196, opacity, -1, 0); - } - } -} - -ApiStatus func_80244C60_A2EEA0(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - void (*callback)(void) = (void (*)(void))evt_get_variable(script, *args++); - set_curtain_draw_callback(callback); - return ApiStatus_DONE2; -} - -void func_80244C8C_A2EECC(void) { - func_80243100_A2D340(); - func_802449F0_A2EC30(D_8024DBCC_A37E0C); -} - -static const f32 padding[2] = { 0.0f, 0.0f }; diff --git a/src/world/area_hos/hos_05/A2EF00.c b/src/world/area_hos/hos_05/A2EF00.c deleted file mode 100644 index 13e4b94208..0000000000 --- a/src/world/area_hos/hos_05/A2EF00.c +++ /dev/null @@ -1,117 +0,0 @@ -#include "hos_05.h" -#include "model.h" - -extern s32 D_8024DCCC_A37F0C; -extern s32 D_8024DCD0_A37F10; -extern s16 D_802D9D72; // something wrong with this / the next -extern u8 D_802D9D73; - -#define NAMESPACE dup_hos_05 -#include "world/common/atomic/UnkFunc27.inc.c" - -#include "world/common/atomic/TexturePan.inc.c" - -#define NAMESPACE hos_05 - -BSS s32 D_8024F570[4]; -BSS u8 N(oldPrimR), N(oldPrimG), N(oldPrimB); -BSS u8 N(oldEnvR), N(oldEnvG), N(oldEnvB); -BSS s32 N(newPrimR), N(newPrimG), N(newPrimB); -BSS s32 N(newEnvR), N(newEnvG), N(newEnvB); -BSS s32 N(duration), N(time); - -ApiStatus func_802452C4_A2F504(Evt* script, s32 isInitialCall) { - Bytecode* args; - args = script->ptrReadPos; - if (isInitialCall) { - get_model_env_color_parameters(&N(oldPrimR), &N(oldPrimG), &N(oldPrimB), &N(oldEnvR), &N(oldEnvG), &N(oldEnvB)); - N(newPrimR) = evt_get_variable(script, *args++); - N(newPrimG) = evt_get_variable(script, *args++); - N(newPrimB) = evt_get_variable(script, *args++); - N(newEnvR) = evt_get_variable(script, *args++); - N(newEnvG) = evt_get_variable(script, *args++); - N(newEnvB) = evt_get_variable(script, *args++); - N(duration) = evt_get_variable(script, *args++); - N(time) = 0; - } - - if (N(duration) > 0) { - N(time)++; - set_model_env_color_parameters( - (N(oldPrimR) + ((N(newPrimR) - N(oldPrimR)) * N(time)) / N(duration)), - (N(oldPrimG) + ((N(newPrimG) - N(oldPrimG)) * N(time)) / N(duration)), - (N(oldPrimB) + ((N(newPrimB) - N(oldPrimB)) * N(time)) / N(duration)), - (N(oldEnvR) + ( (N(newEnvR) - N(oldEnvR)) * N(time)) / N(duration)), - (N(oldEnvG) + ( (N(newEnvG) - N(oldEnvG)) * N(time)) / N(duration)), - (N(oldEnvB) + ( (N(newEnvB) - N(oldEnvB)) * N(time)) / N(duration))); - if (N(time) >= N(duration)) { - return ApiStatus_DONE2; - } - } else { - set_model_env_color_parameters(N(newPrimR), N(newPrimG), N(newPrimB), N(newEnvR), N(newEnvG), N(newEnvB)); - return ApiStatus_DONE2; - } - return ApiStatus_BLOCK; -} - -void func_8024564C_A2F88C(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_802D9D73); -} - -ApiStatus func_8024569C_A2F8DC(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - D_802D9D72 = evt_get_variable(script, *args++); - return ApiStatus_DONE2; -} - -void func_802456C8_A2F908(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_8024DCCC_A37F0C); -} - -ApiStatus func_80245718_A2F958(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - D_8024DCCC_A37F0C = evt_get_variable(script, *args++); - return ApiStatus_DONE2; -} - -void func_80245744_A2F984(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_8024DCD0_A37F10); -} - -ApiStatus func_80245794_A2F9D4(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - D_8024DCD0_A37F10 = evt_get_variable(script, *args++); - return ApiStatus_DONE2; -} - -ApiStatus func_802457C0_A2FA00(Evt* script, s32 isInitialCall) { - Camera* camera = &gCameras[CAM_DEFAULT]; - - if (isInitialCall) { - script->functionTemp[0] = 40; - } - script->functionTemp[0]--; - if (camera->currentController != NULL) { - camera->currentController->viewPitch -= 1.0 - ((f32) (40 - script->functionTemp[0]) * 0.01); - } else if (camera->prevController != NULL) { - camera->prevController->viewPitch -= 1.0 - ((f32) (40 - script->functionTemp[0]) * 0.01); - } - - if (script->functionTemp[0] == 0) { - return ApiStatus_DONE2; - } else { - return ApiStatus_BLOCK; - } -} - -const char* N(exit_str_0) = "hos_20"; -const char* N(exit_str_1) = "hos_04"; diff --git a/src/world/area_hos/hos_05/hos_05.h b/src/world/area_hos/hos_05/hos_05.h index 41ffa5c915..f9dc05d129 100644 --- a/src/world/area_hos/hos_05/hos_05.h +++ b/src/world/area_hos/hos_05/hos_05.h @@ -2,12 +2,58 @@ /// @brief Shooting Star Summit - Star Sanctuary #include "common.h" -#include "../hos.h" #include "message_ids.h" #include "map.h" +#include "../hos.h" +#include "mapfs/hos_05_shape.h" +#include "mapfs/hos_05_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" +#include "sprite/npc/WorldBowser.h" +#include "sprite/npc/WorldKammy.h" +#include "sprite/npc/StarRod.h" + +enum { + NPC_Eldstar = 0, + NPC_Mamar = 1, + NPC_Skolar = 2, + NPC_Muskular = 3, + NPC_Misstar = 4, + NPC_Klevar = 5, + NPC_Kalmar = 6, + NPC_Bowser_Main = 7, + NPC_Bowser_Prop = 8, + NPC_Kammy = 9, + NPC_StarRod = 10, +}; + +enum { + MV_Starship_Yaw = MapVar(10), + MV_Starship_PosY = MapVar(11), + MV_PlayerOnBoard = MapVar(12), + MV_PartnerOnBoard = MapVar(13), +}; + #define NAMESPACE hos_05 -void func_80243100_A2D340(void); -ApiStatus func_80244C60_A2EEA0(Evt* script, s32 isInitialCall); -void func_80244C8C_A2EECC(void); +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_SetupStarship); +extern EvtScript N(EVS_Starship_Summon); +extern EvtScript N(EVS_Starship_Depart); +extern EvtScript N(EVS_SetupStarshipAndWater); +extern EvtScript N(EVS_EnterStarship); +extern EvtScript N(EVS_Intro_Main); +extern EvtScript N(EVS_SetupNarrator); +extern EvtScript N(EVS_SetupLightBeam); +extern NpcGroupList N(IntroNPCs); +extern NpcGroupList N(DefaultNPCs); + +void N(draw_foreground_bowser_silhouette)(void); diff --git a/src/world/area_hos/hos_05/hos_05_0_header.c b/src/world/area_hos/hos_05/hos_05_0_header.c new file mode 100644 index 0000000000..f7e8ed7c4c --- /dev/null +++ b/src/world/area_hos/hos_05/hos_05_0_header.c @@ -0,0 +1,23 @@ +#include "hos_05.h" + +EntryList N(Entrances) = { + [hos_05_ENTRY_0] { 0.0, 85.0, 390.0, 0.0 }, + [hos_05_ENTRY_1] { 0.0, 700.0, 0.0, 225.0 }, + [hos_05_ENTRY_2] { 0.0, 0.0, 0.0, 0.0 }, + [hos_05_ENTRY_3] { 0.0, 85.0, 390.0, 0.0 }, + [hos_05_ENTRY_4] { 0.0, 85.0, 390.0, 0.0 }, + [hos_05_ENTRY_5] { 0.0, 0.0, 0.0, 0.0 }, + [hos_05_ENTRY_6] { 0.0, 0.0, 0.0, 0.0 }, + [hos_05_ENTRY_7] { 0.0, 0.0, 0.0, 0.0 }, + [hos_05_ENTRY_8] { 0.0, 0.0, 0.0, 0.0 }, + [hos_05_ENTRY_9] { 0.0, 0.0, 0.0, 0.0 }, + [hos_05_ENTRY_A] { 354.0, 0.0, 294.0, 117.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .background = &gBackgroundImage, + .tattle = { MSG_MapTattle_hos_05 }, +}; diff --git a/src/world/area_hos/hos_05/hos_05_1_music.c b/src/world/area_hos/hos_05/hos_05_1_music.c new file mode 100644 index 0000000000..03c04d428e --- /dev/null +++ b/src/world/area_hos/hos_05/hos_05_1_music.c @@ -0,0 +1,29 @@ +#include "hos_05.h" + +EvtScript N(EVS_PlayIntroStoryMusic) = { + EVT_WAIT(40) + EVT_CALL(SetMusicTrack, 0, SONG_INTRO_STORY, 0, 8) + EVT_WAIT(2030) + EVT_CALL(SetMusicTrack, 0, SONG_INTRO_STORY, 1, 8) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetupMusic) = { + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(hos_05_ENTRY_1) + EVT_CALL(SetMusicTrack, 0, SONG_STARSHIP_THEME, 1, 8) + EVT_CALL(PlaySound, SOUND_80000065) + EVT_CASE_EQ(hos_05_ENTRY_3) + EVT_EXEC(N(EVS_PlayIntroStoryMusic)) + EVT_CASE_EQ(hos_05_ENTRY_4) + EVT_CASE_DEFAULT + EVT_IF_EQ(AF_HOS_B5, FALSE) + EVT_CALL(SetMusicTrack, 0, SONG_STAR_SANCTUARY, 0, 8) + EVT_END_IF + EVT_CALL(PlaySound, SOUND_80000065) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_05/hos_05_2_main.c b/src/world/area_hos/hos_05/hos_05_2_main.c new file mode 100644 index 0000000000..a4e5ef5748 --- /dev/null +++ b/src/world/area_hos/hos_05/hos_05_2_main.c @@ -0,0 +1,51 @@ +#include "hos_05.h" + +EvtScript N(EVS_ExitWalk_hos_04_1) = EVT_EXIT_WALK(60, hos_05_ENTRY_0, "hos_04", hos_04_ENTRY_1); + +MAP_RODATA_PAD(1, exits); + +EvtScript N(EVS_BindExitTriggers) = { + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_hos_04_1)), TRIGGER_FLOOR_ABOVE, COLLIDER_deiliw, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_Starship_Depart)), TRIGGER_FLOOR_TOUCH, COLLIDER_o630, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_STAR_HAVEN) + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SETUP_CAMERA_ALT_NO_LEAD() + EVT_CALL(GetEntryID, LVar0) + EVT_IF_EQ(LVar0, hos_05_ENTRY_3) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(IntroNPCs))) + EVT_ELSE + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) + EVT_END_IF + EVT_EXEC(N(EVS_SetupStarshipAndWater)) + EVT_EXEC_WAIT(N(EVS_SetupMusic)) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_deilitw, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(hos_05_ENTRY_0) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(2.5)) + EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers))) + EVT_EXEC(EnterWalk) + EVT_CASE_EQ(hos_05_ENTRY_1) + EVT_THREAD + EVT_EXEC_WAIT(N(EVS_EnterStarship)) + EVT_EXEC(N(EVS_BindExitTriggers)) + EVT_END_THREAD + EVT_CASE_EQ(hos_05_ENTRY_3) + EVT_EXEC_WAIT(N(EVS_Intro_Main)) + EVT_END_SWITCH + EVT_EXEC(N(EVS_SetupNarrator)) + EVT_CALL(EnableGroup, MODEL_g277, FALSE) + EVT_CALL(EnableGroup, MODEL_g279, FALSE) + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_RANGE(hos_05_ENTRY_0, hos_05_ENTRY_1) + EVT_EXEC(N(EVS_SetupLightBeam)) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_05/hos_05_3_misc.c b/src/world/area_hos/hos_05/hos_05_3_misc.c new file mode 100644 index 0000000000..8617c2bcd2 --- /dev/null +++ b/src/world/area_hos/hos_05/hos_05_3_misc.c @@ -0,0 +1,180 @@ +#include "hos_05.h" + +#include "world/common/atomic/UnkFunc27.inc.c" + +#include "world/common/atomic/TexturePan.inc.c" +#include "world/common/atomic/TexturePan.data.inc.c" + +API_CALLABLE(N(AwaitScriptComplete)) { + Bytecode* args = script->ptrReadPos; + s32 waitingScriptID = evt_get_variable(script, *args++); + + if (!does_script_exist(waitingScriptID)) { + return ApiStatus_DONE2; + } else { + return ApiStatus_BLOCK; + } +} + +API_CALLABLE(N(CastToLocalFloat)) { + Bytecode* args = script->ptrReadPos; + s32 idx = evt_get_variable(script, *args++); + + script->varTable[idx] = evt_get_float_variable(script, *args++); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(func_80240690_A2A8D0)) { + f32 vt2 = script->varTable[2]; + f32 magnitude; + f32 angle; + + script->varTable[2] = EVT_FLOAT(0.0); + script->varTable[3] = EVT_FLOAT(100.0); + script->varTable[4] = EVT_FLOAT(0.0); + + angle = (script->varTable[1] * 180.0f) / PI; + magnitude = (rand_int(10) / vt2) + 3.0f; + + script->varTable[10] = EVT_FLOAT_TO_FIXED(magnitude * cos_rad(angle)); + script->varTable[11] = EVT_FLOAT_TO_FIXED(rand_int(15) + 5); + script->varTable[12] = EVT_FLOAT_TO_FIXED(magnitude * sin_rad(angle)); + script->varTable[13] = EVT_FLOAT_TO_FIXED((f32)(rand_int(10) + 10) * -0.05); + + return ApiStatus_DONE2; +} + +EvtScript N(EVS_SetupStarshipAndWater) = { + EVT_EXEC(N(EVS_SetupStarship)) + EVT_THREAD + TEX_PAN_PARAMS_ID(TEX_PANNER_1) + TEX_PAN_PARAMS_STEP( 100, -80, -50, 120) + TEX_PAN_PARAMS_FREQ( 1, 1, 1, 1) + TEX_PAN_PARAMS_INIT( 0, 0, 0, 0) + EVT_EXEC(N(EVS_UpdateTexturePan)) + EVT_END_THREAD + EVT_CALL(SetTexPanner, MODEL_o33, TEX_PANNER_1) + EVT_THREAD + TEX_PAN_PARAMS_ID(TEX_PANNER_C) + TEX_PAN_PARAMS_STEP( -80, 140, 80, -100) + TEX_PAN_PARAMS_FREQ( 1, 1, 1, 1) + TEX_PAN_PARAMS_INIT( 0, 0, 0, 0) + EVT_EXEC(N(EVS_UpdateTexturePan)) + EVT_END_THREAD + EVT_CALL(SetTexPanner, MODEL_o34, TEX_PANNER_C) + EVT_RETURN + EVT_END +}; + +EvtScript N(D_80246028_A30268) = { + EVT_CALL(N(func_80240690_A2A8D0)) + EVT_LABEL(0) + EVT_ADDF(LVarB, LVarD) + EVT_ADDF(LVar2, LVarA) + EVT_ADDF(LVar3, LVarB) + EVT_ADDF(LVar4, LVarC) + EVT_CALL(TranslateModel, LVar0, LVar2, LVar3, LVar4) + EVT_CALL(N(CastToLocalFloat), 6, LVar2) + EVT_MUL(LVar6, LVar6) + EVT_CALL(N(CastToLocalFloat), 7, LVar4) + EVT_MUL(LVar7, LVar7) + EVT_ADD(LVar6, LVar7) + EVT_IF_LT(LVar6, 10000) + EVT_CALL(N(CastToLocalFloat), 5, LVar3) + EVT_IF_LT(LVar5, 136) + EVT_CALL(N(CastToLocalFloat), 5, LVarB) + EVT_IF_LT(LVar5, 0) + EVT_MULF(LVarB, EVT_FLOAT(-1.0)) + EVT_END_IF + EVT_END_IF + EVT_END_IF + EVT_CALL(N(CastToLocalFloat), 5, LVar2) + EVT_CALL(N(CastToLocalFloat), 6, LVar3) + EVT_CALL(N(CastToLocalFloat), 7, LVar4) + EVT_IF_LT(LVar6, 0) + EVT_RETURN + EVT_END_IF + EVT_IF_GT(LVar6, 300) + EVT_RETURN + EVT_END_IF + EVT_IF_LT(LVar5, -300) + EVT_RETURN + EVT_END_IF + EVT_IF_GT(LVar5, 300) + EVT_RETURN + EVT_END_IF + EVT_IF_LT(LVar7, -300) + EVT_RETURN + EVT_END_IF + EVT_IF_GT(LVar7, 600) + EVT_RETURN + EVT_END_IF + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(D_80246298_A304D8) = { + EVT_SET(LVarF, LVar2) + EVT_CALL(GetPlayerPos, LVar2, LVar3, LVar4) + EVT_CALL(RandInt, 40, LVar2) + EVT_ADDF(LVar2, EVT_FLOAT(-20.0)) + EVT_ADDF(LVar3, EVT_FLOAT(-5.0)) + EVT_CALL(RandInt, 40, LVar4) + EVT_ADDF(LVar4, EVT_FLOAT(-20.0)) + EVT_CALL(RandInt, 30, LVar5) + EVT_ADDF(LVar5, EVT_FLOAT(30.0)) + EVT_MULF(LVar5, EVT_FLOAT(0.01)) + EVT_LABEL(0) + EVT_ADDF(LVar2, 0) + EVT_ADDF(LVar3, 0) + EVT_ADDF(LVar4, 0) + EVT_MULF(LVar5, EVT_FLOAT(0.9)) + EVT_CALL(TranslateModel, LVar0, LVar2, LVar3, LVar4) + EVT_CALL(ScaleModel, LVar0, LVar5, LVar5, LVar5) + EVT_SETF(LVar6, LVar5) + EVT_MULF(LVar6, EVT_FLOAT(10.0)) + EVT_CALL(N(CastToLocalFloat), 6, LVar6) + EVT_IF_LT(LVar6, 2) + EVT_RETURN + EVT_END_IF + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_8024644C) = { + EVT_SET(LVar0, LVar3) + EVT_SET(LVar2, 5) + EVT_LOOP(LVar2) + EVT_CALL(RandInt, 360, LVar1) + EVT_EXEC_GET_TID(N(D_80246028_A30268), LVar3) + EVT_IF_NE(LVar3, 0) + EVT_CALL(N(AwaitScriptComplete), LVar3) + EVT_END_IF + EVT_END_LOOP + EVT_LABEL(0) + EVT_CALL(RandInt, 360, LVar1) + EVT_EXEC_GET_TID(N(D_80246298_A304D8), LVar3) + EVT_IF_NE(LVar3, 0) + EVT_CALL(N(AwaitScriptComplete), LVar3) + EVT_END_IF + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_80246540) = { + EVT_SET(LVar0, LVar3) + EVT_LABEL(0) + EVT_CALL(RandInt, 360, LVar1) + EVT_EXEC_GET_TID(N(D_80246298_A304D8), LVar3) + EVT_IF_NE(LVar3, 0) + EVT_CALL(N(AwaitScriptComplete), LVar3) + EVT_END_IF + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_05/hos_05_4_npc.c b/src/world/area_hos/hos_05/hos_05_4_npc.c new file mode 100644 index 0000000000..d8c170d3a7 --- /dev/null +++ b/src/world/area_hos/hos_05/hos_05_4_npc.c @@ -0,0 +1,645 @@ +#include "hos_05.h" +#include "effects.h" + +API_CALLABLE(N(UnlockStarBeam)) { + gPlayerData.starBeamLevel = 1; + gPlayerData.curHP = gPlayerData.curMaxHP; + gPlayerData.curFP = gPlayerData.curMaxFP; + gPlayerData.specialBarsFilled = gPlayerData.maxStarPower * 256; + sync_status_menu(); + return ApiStatus_DONE2; +} + +#include "world/common/npc/StarSpirit.inc.c" + +NpcSettings N(NpcSettings_Bowser) = { + .height = 75, + .radius = 72, + .level = 99, +}; + +NpcSettings N(NpcSettings_Kammy) = { + .height = 34, + .radius = 24, + .level = 26, + .onHit = &EnemyNpcHit, + .onDefeat = &EnemyNpcDefeat, +}; + +EvtScript N(EVS_NpcAuxAI_StarRod) = { + EVT_RETURN + EVT_END +}; + +NpcSettings N(NpcSettings_StarRod) = { + .height = 24, + .radius = 24, + .level = 99, + .otherAI = &N(EVS_NpcAuxAI_StarRod), +}; + +EvtScript N(EVS_StarSpirit_HoverBobbing) = { + EVT_CALL(SetNpcVar, NPC_Eldstar, 0, 0) + EVT_CALL(GetNpcPos, NPC_Eldstar, LVar2, LVar3, LVar4) + EVT_LOOP(0) + EVT_CALL(MakeLerp, 0, 15, 20, EASING_COS_IN_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_SET(LVar5, LVar3) + EVT_ADD(LVar5, LVar0) + EVT_CALL(GetNpcPos, NPC_Eldstar, LVar2, LVar0, LVar4) + EVT_CALL(SetNpcPos, NPC_Eldstar, LVar2, LVar5, LVar4) + EVT_CALL(GetNpcPos, NPC_Mamar, LVar2, LVar0, LVar4) + EVT_CALL(SetNpcPos, NPC_Mamar, LVar2, LVar5, LVar4) + EVT_CALL(GetNpcPos, NPC_Skolar, LVar2, LVar0, LVar4) + EVT_CALL(SetNpcPos, NPC_Skolar, LVar2, LVar5, LVar4) + EVT_CALL(GetNpcPos, NPC_Muskular, LVar2, LVar0, LVar4) + EVT_CALL(SetNpcPos, NPC_Muskular, LVar2, LVar5, LVar4) + EVT_CALL(GetNpcPos, NPC_Misstar, LVar2, LVar0, LVar4) + EVT_CALL(SetNpcPos, NPC_Misstar, LVar2, LVar5, LVar4) + EVT_CALL(GetNpcPos, NPC_Klevar, LVar2, LVar0, LVar4) + EVT_CALL(SetNpcPos, NPC_Klevar, LVar2, LVar5, LVar4) + EVT_CALL(GetNpcPos, NPC_Kalmar, LVar2, LVar0, LVar4) + EVT_CALL(SetNpcPos, NPC_Kalmar, LVar2, LVar5, LVar4) + EVT_LABEL(10) + EVT_WAIT(2) + EVT_CALL(GetNpcVar, NPC_Eldstar, 0, LVar6) + EVT_IF_NE(LVar6, 0) + EVT_GOTO(10) + EVT_END_IF + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(MakeLerp, 15, 0, 20, EASING_COS_IN_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_SET(LVar5, LVar3) + EVT_ADD(LVar5, LVar0) + EVT_CALL(GetNpcPos, NPC_Eldstar, LVar2, LVar0, LVar4) + EVT_CALL(SetNpcPos, NPC_Eldstar, LVar2, LVar5, LVar4) + EVT_CALL(GetNpcPos, NPC_Mamar, LVar2, LVar0, LVar4) + EVT_CALL(SetNpcPos, NPC_Mamar, LVar2, LVar5, LVar4) + EVT_CALL(GetNpcPos, NPC_Skolar, LVar2, LVar0, LVar4) + EVT_CALL(SetNpcPos, NPC_Skolar, LVar2, LVar5, LVar4) + EVT_CALL(GetNpcPos, NPC_Muskular, LVar2, LVar0, LVar4) + EVT_CALL(SetNpcPos, NPC_Muskular, LVar2, LVar5, LVar4) + EVT_CALL(GetNpcPos, NPC_Misstar, LVar2, LVar0, LVar4) + EVT_CALL(SetNpcPos, NPC_Misstar, LVar2, LVar5, LVar4) + EVT_CALL(GetNpcPos, NPC_Klevar, LVar2, LVar0, LVar4) + EVT_CALL(SetNpcPos, NPC_Klevar, LVar2, LVar5, LVar4) + EVT_CALL(GetNpcPos, NPC_Kalmar, LVar2, LVar0, LVar4) + EVT_CALL(SetNpcPos, NPC_Kalmar, LVar2, LVar5, LVar4) + EVT_LABEL(11) + EVT_WAIT(2) + EVT_CALL(GetNpcVar, NPC_Eldstar, 0, LVar6) + EVT_IF_NE(LVar6, 0) + EVT_GOTO(11) + EVT_END_IF + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Scene_RecieveStarBeam) = { + EVT_LOOP(0) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_IF_LT(LVar2, 85) + EVT_CALL(GetPartnerInUse, LVar0) + EVT_IF_NE(LVar0, PARTNER_NONE) + EVT_CALL(InterruptUsePartner) + EVT_WAIT(15) + EVT_END_IF + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(DisablePlayerInput, TRUE) + EVT_THREAD + EVT_CALL(func_802D2C14, 1) + EVT_WAIT(30) + EVT_CALL(PlayerMoveTo, 0, 80, 10) + EVT_CALL(PlayerFaceNpc, NPC_Eldstar, FALSE) + EVT_END_THREAD + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, 136, 80) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 136, 80) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(510.0)) + EVT_CALL(SetCamPosA, CAM_DEFAULT, 0, 0) + EVT_CALL(SetCamPosB, CAM_DEFAULT, 0, -50) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(10.0), EVT_FLOAT(-2.5)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(1.5)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_WAIT(30) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 220, -275) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(-4.5), EVT_FLOAT(-3.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_Eldstar, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle, 512, MSG_HOS_0069) + EVT_CALL(func_802D2C14, 0) + EVT_WAIT(30) + EVT_CALL(SetSelfVar, 0, 1) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 136, 80) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(600.0)) + EVT_CALL(SetCamPosA, CAM_DEFAULT, 0, 0) + EVT_CALL(SetCamPosB, CAM_DEFAULT, 0, -50) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(10.0), EVT_FLOAT(-2.5)) + 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(MakeLerp, 0, 360, 25, EASING_QUADRATIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(SetNpcRotation, NPC_Eldstar, 0, LVar0, 0) + EVT_CALL(SetNpcRotation, NPC_Mamar, 0, LVar0, 0) + EVT_CALL(SetNpcRotation, NPC_Skolar, 0, LVar0, 0) + EVT_CALL(SetNpcRotation, NPC_Muskular, 0, LVar0, 0) + EVT_CALL(SetNpcRotation, NPC_Misstar, 0, LVar0, 0) + EVT_CALL(SetNpcRotation, NPC_Klevar, 0, LVar0, 0) + EVT_CALL(SetNpcRotation, NPC_Kalmar, 0, LVar0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(GetPlayerPos, LVar6, LVar7, LVar8) + EVT_THREAD + EVT_CALL(SetNpcFlagBits, NPC_Eldstar, NPC_FLAG_400000, FALSE) + EVT_CALL(SetNpcAnimation, NPC_Eldstar, ANIM_WorldEldstar_Leap) + EVT_CALL(SetNpcJumpscale, NPC_Eldstar, EVT_FLOAT(3.2)) + EVT_CALL(GetNpcPos, NPC_Eldstar, LVar0, LVar1, LVar2) + EVT_CALL(NpcJump0, NPC_Eldstar, LVar0, LVar1, LVar2, 5) + EVT_CALL(SetNpcAnimation, NPC_Eldstar, ANIM_WorldEldstar_Idle) + EVT_ADD(LVar7, 20) + EVT_CALL(PlaySoundAt, SOUND_B000001F, 0, LVar6, LVar7, LVar8) + EVT_PLAY_EFFECT(EFFECT_SPARKLES, 0, LVar6, LVar7, LVar8, 10) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(SetNpcFlagBits, NPC_Mamar, NPC_FLAG_400000, FALSE) + EVT_CALL(SetNpcAnimation, NPC_Mamar, ANIM_WorldMamar_Leap) + EVT_CALL(SetNpcJumpscale, NPC_Mamar, EVT_FLOAT(3.2)) + EVT_CALL(GetNpcPos, NPC_Mamar, LVar0, LVar1, LVar2) + EVT_CALL(NpcJump0, NPC_Mamar, LVar0, LVar1, LVar2, 5) + EVT_CALL(SetNpcAnimation, NPC_Mamar, ANIM_WorldMamar_Idle) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(SetNpcFlagBits, NPC_Skolar, NPC_FLAG_400000, FALSE) + EVT_CALL(SetNpcAnimation, NPC_Skolar, ANIM_WorldSkolar_Leap) + EVT_CALL(SetNpcJumpscale, NPC_Skolar, EVT_FLOAT(3.2)) + EVT_CALL(GetNpcPos, NPC_Skolar, LVar0, LVar1, LVar2) + EVT_CALL(NpcJump0, NPC_Skolar, LVar0, LVar1, LVar2, 5) + EVT_CALL(SetNpcAnimation, NPC_Skolar, ANIM_WorldSkolar_Idle) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(SetNpcFlagBits, NPC_Muskular, NPC_FLAG_400000, FALSE) + EVT_CALL(SetNpcAnimation, NPC_Muskular, ANIM_WorldMuskular_Leap) + EVT_CALL(SetNpcJumpscale, NPC_Muskular, EVT_FLOAT(3.2)) + EVT_CALL(GetNpcPos, NPC_Muskular, LVar0, LVar1, LVar2) + EVT_CALL(NpcJump0, NPC_Muskular, LVar0, LVar1, LVar2, 5) + EVT_CALL(SetNpcAnimation, NPC_Muskular, ANIM_WorldMuskular_Idle) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(SetNpcFlagBits, NPC_Misstar, NPC_FLAG_400000, FALSE) + EVT_CALL(SetNpcAnimation, NPC_Misstar, ANIM_WorldMisstar_Leap) + EVT_CALL(SetNpcJumpscale, NPC_Misstar, EVT_FLOAT(3.2)) + EVT_CALL(GetNpcPos, NPC_Misstar, LVar0, LVar1, LVar2) + EVT_CALL(NpcJump0, NPC_Misstar, LVar0, LVar1, LVar2, 5) + EVT_CALL(SetNpcAnimation, NPC_Misstar, ANIM_WorldMisstar_Idle) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(SetNpcFlagBits, NPC_Klevar, NPC_FLAG_400000, FALSE) + EVT_CALL(SetNpcAnimation, NPC_Klevar, ANIM_WorldKlevar_Leap) + EVT_CALL(SetNpcJumpscale, NPC_Klevar, EVT_FLOAT(3.2)) + EVT_CALL(GetNpcPos, NPC_Klevar, LVar0, LVar1, LVar2) + EVT_CALL(NpcJump0, NPC_Klevar, LVar0, LVar1, LVar2, 5) + EVT_CALL(SetNpcAnimation, NPC_Klevar, ANIM_WorldKlevar_Idle) + EVT_END_THREAD + EVT_CALL(SetNpcFlagBits, NPC_Kalmar, NPC_FLAG_400000, FALSE) + EVT_CALL(SetNpcAnimation, NPC_Kalmar, ANIM_WorldKalmar_Leap) + EVT_CALL(SetNpcJumpscale, NPC_Kalmar, EVT_FLOAT(3.2)) + EVT_CALL(GetNpcPos, NPC_Kalmar, LVar0, LVar1, LVar2) + EVT_CALL(NpcJump0, NPC_Kalmar, LVar0, LVar1, LVar2, 5) + EVT_CALL(SetNpcAnimation, NPC_Kalmar, ANIM_WorldKalmar_Idle) + EVT_THREAD + EVT_PLAY_EFFECT(EFFECT_RADIAL_SHIMMER, 2, 0, 154, 85, EVT_FLOAT(2.8), 100) + EVT_CALL(PlaySound, SOUND_212D) + EVT_WAIT(115) + EVT_CALL(PlaySoundAtPlayer, SOUND_188, 0) + EVT_ADD(LVar7, 20) + EVT_PLAY_EFFECT(EFFECT_ENERGY_ORB_WAVE, 4, LVar6, LVar7, LVar8, EVT_FLOAT(0.3), 30) + EVT_END_THREAD + EVT_WAIT(40) + EVT_CALL(PlaySoundAt, SOUND_B000001F, 0, 10, 154, 88) + EVT_PLAY_EFFECT(EFFECT_SPARKLES, 0, 10, 154, 88, 10) + EVT_WAIT(6) + EVT_CALL(PlaySoundAt, SOUND_B000001F, 0, 10, 154, 88) + EVT_PLAY_EFFECT(EFFECT_SPARKLES, 0, 10, 154, 88, 15) + EVT_WAIT(6) + EVT_CALL(PlaySoundAt, SOUND_B000001F, 0, -10, 154, 88) + EVT_PLAY_EFFECT(EFFECT_SPARKLES, 0, -10, 154, 88, 20) + EVT_WAIT(6) + EVT_CALL(PlaySoundAt, SOUND_B000001F, 0, 10, 154, 88) + EVT_PLAY_EFFECT(EFFECT_SPARKLES, 0, 10, 154, 88, 25) + EVT_WAIT(6) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_GotItem) + EVT_LOOP(3) + EVT_CALL(PlaySoundAt, SOUND_B000001F, 0, 0, 154, 88) + EVT_PLAY_EFFECT(EFFECT_SPARKLES, 0, 0, 154, 88, 30) + EVT_WAIT(6) + EVT_CALL(PlaySoundAt, SOUND_B000001F, 0, -10, 154, 88) + EVT_PLAY_EFFECT(EFFECT_SPARKLES, 0, -10, 154, 88, 30) + EVT_WAIT(6) + EVT_CALL(PlaySoundAt, SOUND_B000001F, 0, 10, 154, 88) + EVT_PLAY_EFFECT(EFFECT_SPARKLES, 0, 10, 154, 88, 30) + EVT_WAIT(6) + EVT_END_LOOP + EVT_CALL(N(UnlockStarBeam)) + EVT_CALL(SetSelfVar, 0, 0) + EVT_WAIT(30) + EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_0198, 160, 40) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_WAIT(30) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 220, -275) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(-4.5), EVT_FLOAT(-3.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_Eldstar, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle, 512, MSG_HOS_006A) + EVT_WAIT(30) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 136, 80) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(510.0)) + EVT_CALL(SetCamPosA, CAM_DEFAULT, 0, 0) + EVT_CALL(SetCamPosB, CAM_DEFAULT, 0, -50) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(8.0), EVT_FLOAT(-7.9)) + 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_WAIT(30) + EVT_SET(GB_StoryProgress, STORY_CH8_STAR_SHIP_ACTIVATED) + EVT_EXEC_WAIT(N(EVS_Starship_Summon)) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 220, -275) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(-4.5), EVT_FLOAT(-3.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_Eldstar, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle, 512, MSG_HOS_006B) + EVT_WAIT(30) + EVT_CALL(SetNpcAnimation, NPC_Mamar, ANIM_WorldMamar_Back) + EVT_CALL(SetNpcAnimation, NPC_Muskular, ANIM_WorldMuskular_Back) + EVT_CALL(SetNpcAnimation, NPC_Klevar, ANIM_WorldKlevar_Back) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o616, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(SetZoneEnabled, ZONE_o622, FALSE) + EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, 25, 16, 4096) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(2.5)) + EVT_CALL(EnableModel, MODEL_o362, FALSE) + EVT_CALL(EnableModel, MODEL_o397, FALSE) + EVT_WAIT(15) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_StarSpirit) = { + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_RANGE(hos_05_ENTRY_0, hos_05_ENTRY_1) + EVT_CALL(SetNpcAnimation, NPC_Mamar, ANIM_WorldMamar_Back) + EVT_CALL(SetNpcAnimation, NPC_Muskular, ANIM_WorldMuskular_Back) + EVT_CALL(SetNpcAnimation, NPC_Klevar, ANIM_WorldKlevar_Back) + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_EQ(STORY_CH8_REACHED_STAR_HAVEN) + EVT_EXEC(N(EVS_StarSpirit_HoverBobbing)) + EVT_CALL(GetSelfNpcID, LVar0) + EVT_IF_EQ(LVar0, NPC_Eldstar) + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_Scene_RecieveStarBeam))) + EVT_END_IF + EVT_CASE_GE(STORY_CH8_STAR_SHIP_ACTIVATED) + EVT_EXEC(N(EVS_StarSpirit_HoverBobbing)) + EVT_CASE_DEFAULT + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_SWITCH + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +s32 N(ExtraAnims_Eldstar)[] = { + ANIM_WorldEldstar_Idle, + ANIM_WorldEldstar_Panic, + ANIM_WorldEldstar_Wave, + ANIM_WorldEldstar_Angry, + ANIM_WorldEldstar_Hurt, + ANIM_WorldEldstar_Back, + -1 +}; + +s32 N(ExtraAnims_Mamar)[] = { + ANIM_WorldMamar_Idle, + ANIM_WorldMamar_Panic, + ANIM_WorldMamar_Angry, + ANIM_WorldMamar_Hurt, + ANIM_WorldMamar_Back, + ANIM_WorldMamar_Talk, + -1 +}; + +s32 N(ExtraAnims_Skolar)[] = { + ANIM_WorldSkolar_Idle, + ANIM_WorldSkolar_IdleSad, + ANIM_WorldSkolar_Panic, + ANIM_WorldSkolar_Hurt, + ANIM_WorldSkolar_Talk, + ANIM_WorldSkolar_Back, + -1 +}; + +s32 N(ExtraAnims_Muskular)[] = { + ANIM_WorldMuskular_Idle, + ANIM_WorldMuskular_Panic, + ANIM_WorldMuskular_Hurt, + ANIM_WorldMuskular_Happy, + ANIM_WorldMuskular_Back, + -1 +}; + +s32 N(ExtraAnims_Misstar)[] = { + ANIM_WorldMisstar_Still, + ANIM_WorldMisstar_Idle, + ANIM_WorldMisstar_Panic, + ANIM_WorldMisstar_Hurt, + ANIM_WorldMisstar_Happy, + ANIM_WorldMisstar_Back, + -1 +}; + +s32 N(ExtraAnims_Klevar)[] = { + ANIM_WorldKlevar_Idle, + ANIM_WorldKlevar_Panic, + ANIM_WorldKlevar_Hurt, + ANIM_WorldKlevar_TalkHappy, + ANIM_WorldKlevar_Back, + -1 +}; + +s32 N(ExtraAnims_Kalmar)[] = { + ANIM_WorldKalmar_Idle, + ANIM_WorldKalmar_Panic, + ANIM_WorldKalmar_Hurt, + ANIM_WorldKalmar_TalkHappy, + ANIM_WorldKalmar_Back, + -1 +}; + +StaticNpc N(NpcData_StarSpirits)[] = { + { + .id = NPC_Mamar, + .settings = &N(NpcSettings_StarSpirit), + .pos = { 220.0f, 220.0f, -170.0f }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_StarSpirit), + .drops = NPC_NO_DROPS, + .animations = MAMAR_ANIMS, + .extraAnimations = N(ExtraAnims_Mamar), + }, + { + .id = NPC_Skolar, + .settings = &N(NpcSettings_StarSpirit), + .pos = { -275.0f, 220.0f, 60.0f }, + .yaw = 90, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_StarSpirit), + .drops = NPC_NO_DROPS, + .animations = SKOLAR_ANIMS, + .extraAnimations = N(ExtraAnims_Skolar), + }, + { + .id = NPC_Muskular, + .settings = &N(NpcSettings_StarSpirit), + .pos = { 125.0f, 220.0f, 250.0f }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_StarSpirit), + .drops = NPC_NO_DROPS, + .animations = MUSKULAR_ANIMS, + .extraAnimations = N(ExtraAnims_Muskular), + }, + { + .id = NPC_Misstar, + .settings = &N(NpcSettings_StarSpirit), + .pos = { -125.0f, 220.0f, 250.0f }, + .yaw = 90, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_StarSpirit), + .drops = NPC_NO_DROPS, + .animations = MISSTAR_ANIMS, + .extraAnimations = N(ExtraAnims_Misstar), + }, + { + .id = NPC_Klevar, + .settings = &N(NpcSettings_StarSpirit), + .pos = { 275.0f, 220.0f, 60.0f }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_StarSpirit), + .drops = NPC_NO_DROPS, + .animations = KLEVAR_ANIMS, + .extraAnimations = N(ExtraAnims_Klevar), + }, + { + .id = NPC_Kalmar, + .settings = &N(NpcSettings_StarSpirit), + .pos = { -220.0f, 220.0f, -170.0f }, + .yaw = 90, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_StarSpirit), + .drops = NPC_NO_DROPS, + .animations = KALMAR_ANIMS, + .extraAnimations = N(ExtraAnims_Kalmar), + }, + { + .id = NPC_Eldstar, + .settings = &N(NpcSettings_StarSpirit), + .pos = { 0.0f, 220.0f, -275.0f }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_StarSpirit), + .drops = NPC_NO_DROPS, + .animations = ELDSTAR_ANIMS, + .extraAnimations = N(ExtraAnims_Eldstar), + }, +}; + +s32 N(NpcData_ClownCar)[] = { + ANIM_WorldBowser_ClownCarStill, + ANIM_WorldBowser_ClownCarIdle, + ANIM_WorldBowser_ClownCarOpenMouth, + ANIM_WorldBowser_ClownCarBrandish, + ANIM_WorldBowser_ClownCarStarRod, + ANIM_WorldBowser_ClownCarCloseMouth, + ANIM_WorldBowser_ClownCarFireBreath, + ANIM_WorldBowser_ClownCarTalk, + ANIM_WorldBowser_ClownCarLaugh, + ANIM_WorldBowser_ClownCarPropeller, + -1 +}; + +s32 N(ExtraAnims_Kammy)[] = { + ANIM_WorldKammy_Anim09, + ANIM_WorldKammy_Anim0B, + ANIM_WorldKammy_Anim0D, + ANIM_WorldKammy_Anim0E, + ANIM_WorldKammy_Anim11, + ANIM_WorldKammy_Anim12, + ANIM_WorldKammy_Anim17, + -1 +}; + +StaticNpc N(NpcData_Thieves)[] = { + { + .id = NPC_Bowser_Main, + .settings = &N(NpcSettings_Bowser), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .drops = { + .dropFlags = NPC_DROP_FLAG_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .animations = { + .idle = ANIM_WorldBowser_Idle, + .walk = ANIM_WorldBowser_Idle, + .run = ANIM_WorldBowser_Idle, + .chase = ANIM_WorldBowser_Idle, + .anim_4 = ANIM_WorldBowser_Idle, + .anim_5 = ANIM_WorldBowser_Idle, + .death = ANIM_WorldBowser_Idle, + .hit = ANIM_WorldBowser_Idle, + .anim_8 = ANIM_WorldBowser_Idle, + .anim_9 = ANIM_WorldBowser_Idle, + .anim_A = ANIM_WorldBowser_Idle, + .anim_B = ANIM_WorldBowser_Idle, + .anim_C = ANIM_WorldBowser_Idle, + .anim_D = ANIM_WorldBowser_Idle, + .anim_E = ANIM_WorldBowser_Idle, + .anim_F = ANIM_WorldBowser_Idle, + }, + .extraAnimations = N(NpcData_ClownCar), + }, + { + .id = NPC_Bowser_Prop, + .settings = &N(NpcSettings_Bowser), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .drops = { + .dropFlags = NPC_DROP_FLAG_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .animations = { + .idle = ANIM_WorldBowser_Idle, + .walk = ANIM_WorldBowser_Idle, + .run = ANIM_WorldBowser_Idle, + .chase = ANIM_WorldBowser_Idle, + .anim_4 = ANIM_WorldBowser_Idle, + .anim_5 = ANIM_WorldBowser_Idle, + .death = ANIM_WorldBowser_Idle, + .hit = ANIM_WorldBowser_Idle, + .anim_8 = ANIM_WorldBowser_Idle, + .anim_9 = ANIM_WorldBowser_Idle, + .anim_A = ANIM_WorldBowser_Idle, + .anim_B = ANIM_WorldBowser_Idle, + .anim_C = ANIM_WorldBowser_Idle, + .anim_D = ANIM_WorldBowser_Idle, + .anim_E = ANIM_WorldBowser_Idle, + .anim_F = ANIM_WorldBowser_Idle, + }, + .extraAnimations = N(NpcData_ClownCar), + }, + { + .id = NPC_Kammy, + .settings = &N(NpcSettings_Kammy), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .drops = { + .dropFlags = NPC_DROP_FLAG_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .animations = { + .idle = ANIM_WorldKammy_Anim01, + .walk = ANIM_WorldKammy_Anim02, + .run = ANIM_WorldKammy_Anim03, + .chase = ANIM_WorldKammy_Anim03, + .anim_4 = ANIM_WorldKammy_Anim01, + .anim_5 = ANIM_WorldKammy_Anim01, + .death = ANIM_WorldKammy_Anim00, + .hit = ANIM_WorldKammy_Anim00, + .anim_8 = ANIM_WorldKammy_Anim03, + .anim_9 = ANIM_WorldKammy_Anim03, + .anim_A = ANIM_WorldKammy_Anim03, + .anim_B = ANIM_WorldKammy_Anim03, + .anim_C = ANIM_WorldKammy_Anim03, + .anim_D = ANIM_WorldKammy_Anim03, + .anim_E = ANIM_WorldKammy_Anim03, + .anim_F = ANIM_WorldKammy_Anim03, + }, + .extraAnimations = N(ExtraAnims_Kammy), + }, + { + .id = NPC_StarRod, + .settings = &N(NpcSettings_StarRod), + .pos = { 0.0f, 174.0f, 0.0f }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .drops = { + .dropFlags = NPC_DROP_FLAG_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .animations = { + .idle = ANIM_StarRod_Still, + .walk = ANIM_StarRod_Still, + .run = ANIM_StarRod_Still, + .chase = ANIM_StarRod_Still, + .anim_4 = ANIM_StarRod_Still, + .anim_5 = ANIM_StarRod_Still, + .death = ANIM_StarRod_Still, + .hit = ANIM_StarRod_Still, + .anim_8 = ANIM_StarRod_Still, + .anim_9 = ANIM_StarRod_Still, + .anim_A = ANIM_StarRod_Still, + .anim_B = ANIM_StarRod_Still, + .anim_C = ANIM_StarRod_Still, + .anim_D = ANIM_StarRod_Still, + .anim_E = ANIM_StarRod_Still, + .anim_F = ANIM_StarRod_Still, + }, + }, +}; + +NpcGroupList N(IntroNPCs) = { + NPC_GROUP(N(NpcData_Thieves)), + NPC_GROUP(N(NpcData_StarSpirits)), + {} +}; + +NpcGroupList N(DefaultNPCs) = { + NPC_GROUP(N(NpcData_StarSpirits)), + {} +}; diff --git a/src/world/area_hos/hos_05/hos_05_5_intro.c b/src/world/area_hos/hos_05/hos_05_5_intro.c new file mode 100644 index 0000000000..aab69d3655 --- /dev/null +++ b/src/world/area_hos/hos_05/hos_05_5_intro.c @@ -0,0 +1,2480 @@ +#include "hos_05.h" +#include "effects.h" +#include "model.h" +#include "nu/nusys.h" +#include "ld_addrs.h" + +enum { + STORY_PAGE_BLANK = 0, + STORY_PAGE_STARRY_SKY = 1, + STORY_PAGE_SHRINE_EXT = 2, + STORY_PAGE_STAR_ROD = 3, + STORY_PAGE_SHRINE_INT = 4, +}; + +typedef struct StoryGraphicData { + /* 0x00 */ s32 workerID; + /* 0x04 */ IMG_PTR imgFront; + /* 0x08 */ PAL_PTR palFront; + /* 0x0C */ IMG_PTR imgBack; + /* 0x10 */ PAL_PTR palBack; + /* 0x14 */ char unk_14[0x4]; + /* 0x18 */ IMG_PTR imgTape; + /* 0x1C */ IMG_PTR imgBowser; + /* 0x20 */ PAL_PTR palBowser; + /* 0x24 */ char unk_24[0x18]; + /* 0x3C */ s16 frontImgPosX; + /* 0x3E */ s16 frontImgPosY; + /* 0x40 */ s16 backImgPosX; + /* 0x42 */ s16 backImgPosY; + /* 0x44 */ u16 silhouettePosX; + /* 0x46 */ u16 silhouettePosY; + /* 0x48 */ s16 tapePosX; + /* 0x4A */ s16 tapePosY; + /* 0x4C */ char unk_4C[0xC]; + /* 0x58 */ s16 flipOrder; + /* 0x5A */ s16 storyPageAlpha; + /* 0x5C */ s16 tapeAlpha; + /* 0x60 */ char unk_6E[0x2]; +} StoryGraphicData; // size = 0x60 + +s32 N(missing_802494FC_94FC)[] = { + 0x64, 0x63, 0x62, 0x60, 0x5E, 0x5C, 0x59, 0x57, + 0x54, 0x51, 0x4F, 0x4E, 0x4D, 0x4D, 0x4C, 0x4C, + 0x4C, 0x4C, 0x4D, 0x4D, 0x4E, 0x4E, 0x4F, 0x4F, + 0x50, 0x50, 0x51, 0x51, 0x52, 0x52, 0x53, 0x53, + 0x54, 0x54, 0x55, 0x55, 0x56, 0x56, 0x57, 0x57, + 0x58, 0x58, 0x59, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, + 0x5E, 0x5F, 0x60, 0x61, 0x62, 0x63, 0x64, +}; + +s32 N(D_802495DC_A3381C) = 0; + +s32 N(D_802495E0_A33820) = 0; + +CameraControlSettings N(IntroCamSettings0) = { + .type = CAMERA_SETTINGS_TYPE_0, + .boomLength = 130.4, + .boomPitch = 12.4, + .posA = { 0.0, -1.0, 0.0 }, + .posB = { 0.0, -1.0, -500.0 }, + .viewPitch = -16.8, + .flag = FALSE, +}; + +CameraControlSettings N(IntroCamSettings1) = { + .type = CAMERA_SETTINGS_TYPE_0, + .boomLength = 130.4, + .boomPitch = 12.4, + .posA = { 0.0, -1.0, 0.0 }, + .posB = { -433.0127, -1.0, -250.0 }, + .viewPitch = -16.8, + .flag = FALSE, +}; + +CameraControlSettings N(IntroCamSettings2) = { + .type = CAMERA_SETTINGS_TYPE_0, + .boomLength = 400.0, + .boomPitch = 2.7, + .posA = { 0.0, -1.0, 0.0 }, + .posB = { 0.0, -1.0, -500.0 }, + .viewPitch = -7.4, + .flag = FALSE, +}; + +CameraControlSettings N(IntroCamSettings3) = { + .type = CAMERA_SETTINGS_TYPE_0, + .boomLength = 274.4, + .boomPitch = -9.3, + .posA = { 0.0, -1.0, 0.0 }, + .posB = { 114.3, -1.0, 500.0 }, + .viewPitch = 0.7, + .flag = FALSE, +}; + +CameraControlSettings N(IntroCamSettings4) = { + .type = CAMERA_SETTINGS_TYPE_0, + .boomLength = 274.4, + .boomPitch = -9.3, + .posA = { 0.0, -1.0, 0.0 }, + .posB = { 114.3, -1.0, 500.0 }, + .viewPitch = 0.7, + .flag = FALSE, +}; + +CameraControlSettings N(IntroCamSettings5) = { + .type = CAMERA_SETTINGS_TYPE_0, + .boomLength = 243.3, + .boomPitch = 16.0, + .posA = { 0.0, -1.0, 0.0 }, + .posB = { 56.1, -1.0, -1.1 }, + .viewPitch = -3.0, + .flag = FALSE, +}; + +CameraControlSettings N(IntroCamSettings6) = { + .type = CAMERA_SETTINGS_TYPE_0, + .boomLength = 192.5, + .boomPitch = 12.4, + .posA = { 0.0, -1.0, 0.0 }, + .posB = { 0.0, -1.0, 500.0 }, + .viewPitch = -10.7, + .flag = FALSE, +}; + +CameraControlSettings N(IntroCamSettings7) = { + .type = CAMERA_SETTINGS_TYPE_0, + .boomLength = 467.0, + .boomPitch = 21.0, + .posA = { 0.0, -1.0, 0.0 }, + .posB = { 71.3, -1.0, 154.3 }, + .viewPitch = -3.0, + .flag = FALSE, +}; + +CameraControlSettings N(IntroCamSettings8) = { + .type = CAMERA_SETTINGS_TYPE_0, + .boomLength = 121.6, + .boomPitch = 0.0, + .posA = { 0.0, -1.0, 0.0 }, + .posB = { 24.4, -1.0, 154.3 }, + .viewPitch = 0.0, + .flag = FALSE, +}; + +CameraControlSettings N(IntroCamSettings9) = { + .type = CAMERA_SETTINGS_TYPE_0, + .boomLength = 474.7, + .boomPitch = 0.0, + .posA = { 0.0, -1.0, 0.0 }, + .posB = { 24.4, -1.0, 154.3 }, + .viewPitch = 0.0, + .flag = FALSE, +}; + +CameraControlSettings N(IntroCamSettings10) = { + .type = CAMERA_SETTINGS_TYPE_0, + .boomLength = 225.7, + .boomPitch = 9.7, + .posA = { 0.0, -1.0, 0.0 }, + .posB = { 6.9, -1.0, 168.8 }, + .viewPitch = -3.0, + .flag = FALSE, +}; + +CameraControlSettings N(IntroCamSettings11) = { + .type = CAMERA_SETTINGS_TYPE_0, + .boomLength = 130.0, + .boomPitch = 9.8, + .posA = { 0.0, -1.0, 0.0 }, + .posB = { 40.0, -1.0, 168.8 }, + .viewPitch = -9.3, + .flag = FALSE, +}; + +CameraControlSettings N(IntroCamSettings12) = { + .type = CAMERA_SETTINGS_TYPE_0, + .boomLength = 270.0, + .boomPitch = 9.8, + .posA = { 0.0, -1.0, 0.0 }, + .posB = { 40.0, -1.0, 168.8 }, + .viewPitch = -9.3, + .flag = FALSE, +}; + +CameraControlSettings N(IntroCamSettings13) = { + .type = CAMERA_SETTINGS_TYPE_0, + .boomLength = 246.1, + .boomPitch = -1.3, + .posA = { 0.0, -1.0, 0.0 }, + .posB = { 500.0, -1.0, 500.0 }, + .viewPitch = 0.5, + .flag = FALSE, +}; + +CameraControlSettings N(IntroCamSettings14) = { + .type = CAMERA_SETTINGS_TYPE_0, + .boomLength = 180.0, + .boomPitch = -1.3, + .posA = { 0.0, -1.0, 0.0 }, + .posB = { 0.0, -1.0, -500.0 }, + .viewPitch = 0.5, + .flag = FALSE, +}; + +CameraControlSettings N(IntroCamSettings15) = { + .type = CAMERA_SETTINGS_TYPE_0, + .boomLength = 90.0, + .boomPitch = 5.4, + .posA = { 0.0, -1.0, 0.0 }, + .posB = { 0.0, -1.0, 500.0 }, + .viewPitch = -6.9, + .flag = FALSE, +}; + +CameraControlSettings N(IntroCamSettings16) = { + .type = CAMERA_SETTINGS_TYPE_0, + .boomLength = 445.8, + .boomPitch = 5.4, + .posA = { 0.0, -1.0, 0.0 }, + .posB = { 0.0, -1.0, 500.0 }, + .viewPitch = -6.9, + .flag = FALSE, +}; + +API_CALLABLE(N(SetWorldFogParams)) { + Bytecode* args = script->ptrReadPos; + s32 primR = evt_get_variable(script, *args++); + s32 primG = evt_get_variable(script, *args++); + s32 primB = evt_get_variable(script, *args++); + s32 primA = evt_get_variable(script, *args++); + s32 fogR = evt_get_variable(script, *args++); + s32 fogG = evt_get_variable(script, *args++); + s32 fogB = evt_get_variable(script, *args++); + s32 fogStart = evt_get_variable(script, *args++); + s32 fogEnd = evt_get_variable(script, *args++); + + set_model_fog_color_parameters(primR, primG, primB, primA, fogR, fogG, fogB, fogStart, fogEnd); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(SetWorldColorParams)) { + Bytecode* args; + static u8 oldPrimR, oldPrimG, oldPrimB; + static u8 oldEnvR, oldEnvG, oldEnvB; + static s32 newPrimR, newPrimG, newPrimB; + static s32 newEnvR, newEnvG, newEnvB; + static s32 duration, time; + + args = script->ptrReadPos; + if (isInitialCall) { + get_model_env_color_parameters(&oldPrimR, &oldPrimG, &oldPrimB, &oldEnvR, &oldEnvG, &oldEnvB); + newPrimR = evt_get_variable(script, *args++); + newPrimG = evt_get_variable(script, *args++); + newPrimB = evt_get_variable(script, *args++); + newEnvR = evt_get_variable(script, *args++); + newEnvG = evt_get_variable(script, *args++); + newEnvB = evt_get_variable(script, *args++); + duration = evt_get_variable(script, *args++); + time = 0; + } + + if (duration > 0) { + if(time >= duration) { + return ApiStatus_DONE2; + } + time++; + set_model_env_color_parameters( + (oldPrimR + ((newPrimR - oldPrimR) * time) / duration), + (oldPrimG + ((newPrimG - oldPrimG) * time) / duration), + (oldPrimB + ((newPrimB - oldPrimB) * time) / duration), + (oldEnvR + ( (newEnvR - oldEnvR) * time) / duration), + (oldEnvG + ( (newEnvG - oldEnvG) * time) / duration), + (oldEnvB + ( (newEnvB - oldEnvB) * time) / duration)); + if (time >= duration) { + return ApiStatus_DONE2; + } + } else { + set_model_env_color_parameters(newPrimR, newPrimG, newPrimB, newEnvR, newEnvG, newEnvB); + return ApiStatus_DONE2; + } + return ApiStatus_BLOCK; +} + +void N(adjust_cam_vfov)(s32 camID, f32 fov) { + Camera* camera = &gCameras[camID]; + camera->vfov = fov * 1.1; +} + +API_CALLABLE(N(AdjustCamVfov)) { + Bytecode* args = script->ptrReadPos; + s32 camID = evt_get_variable(script, *args++); + f32 fov = evt_get_float_variable(script, *args++); + + N(adjust_cam_vfov)(camID, fov); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(ResumeIntro)) { + GameStatus* gameStatus = gGameStatusPtr; + if (gameStatus->creditsViewportMode < 5U) { + gameStatus->creditsViewportMode++; + state_init_intro(); + } + return ApiStatus_DONE1; +} + +API_CALLABLE(N(InitWorldFogMode)) { + mdl_set_all_fog_mode(FOG_MODE_3); + return ApiStatus_DONE2; +} + +// adjusts properties of EmitterVolume:GoldShimmer2 effect +API_CALLABLE(N(SetStarSpiritSparkleTrailPos)) { + Bytecode* args = script->ptrReadPos; + EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++); + s32 subtype = evt_get_variable(script, *args++); + s32 posX = evt_get_float_variable(script, *args++); + s32 posY = evt_get_float_variable(script, *args++); + s32 posZ = evt_get_float_variable(script, *args++); + + effect->data.miscParticles->pos.x = posX; + effect->data.miscParticles->pos.y = posY; + effect->data.miscParticles->pos.z = posZ; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(SetCardCaptureState1)) { + Bytecode* args = script->ptrReadPos; + EffectInstance* effect = (EffectInstance*) evt_get_variable(script, ArrayVar(0)); + + effect->data.somethingRotating[N(D_802495DC_A3381C) + 1].state = 1; + N(D_802495DC_A3381C)++; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(SetCardCaptureState3)) { + Bytecode* args = script->ptrReadPos; + EffectInstance* effect = (EffectInstance*) evt_get_variable(script, ArrayVar(0)); + + effect->data.somethingRotating[N(D_802495E0_A33820) + 1].state = 3; + N(D_802495E0_A33820)++; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(SetLightRayPos)) { + Bytecode* args = script->ptrReadPos; + EffectInstance* effect = (EffectInstance*) evt_get_variable(script, ArrayVar(16)); + + effect->data.lightRays->pos.x = script->varTable[0]; + effect->data.lightRays->pos.y = script->varTable[1]; + effect->data.lightRays->pos.z = script->varTable[2]; + return ApiStatus_DONE2; +} + +#include "../common/IntroMathUtil.inc.c" + +f32 N(StoryCameraAngle) = 240.0; + +u16* N(ColorBufPtr) = NULL; + +f32 IntroCamStateA_BoomLength = 130.4; +f32 IntroCamStateA_BoomPitch = 12.4; +f32 IntroCamStateA_ViewPitch = -16.8; +f32 IntroCamStateA_Vfov = 62.0; + +API_CALLABLE(N(InitializeStoryCamera)) { + Camera* camera = &gCameras[gCurrentCameraID]; + + if (nuGfxCfb_ptr == N(ColorBufPtr)) { + return ApiStatus_BLOCK; + } + N(ColorBufPtr) = nuGfxCfb_ptr; + N(lerp_value_with_max_step)(250.0f, 0.0f, N(StoryCameraAngle), 0.5f, &N(StoryCameraAngle)); + N(interp_value_with_easing)(INTRO_MATH_EASING_SIN_OUT_DELAYED, + 130.4f, N(IntroCamSettings2).boomLength, 0.0f, + 470.0f, &IntroCamStateA_BoomLength); + N(lerp_value_with_max_step)(12.4f, N(IntroCamSettings2).boomPitch, IntroCamStateA_BoomPitch, 0.05f, &IntroCamStateA_BoomPitch); + N(lerp_value_with_max_step)(-16.8f, N(IntroCamSettings2).viewPitch, IntroCamStateA_ViewPitch, 0.05f, &IntroCamStateA_ViewPitch); + N(lerp_value_with_max_step)(62.0f, 49.0f, IntroCamStateA_Vfov, 0.1f, &IntroCamStateA_Vfov); + N(adjust_cam_vfov)(CAM_DEFAULT, IntroCamStateA_Vfov); + camera->controlSettings.boomLength = IntroCamStateA_BoomLength; + camera->controlSettings.boomPitch = IntroCamStateA_BoomPitch; + camera->controlSettings.viewPitch = IntroCamStateA_ViewPitch; + camera->controlSettings.posB.x = sin_deg(N(StoryCameraAngle)) * 500.0f; + camera->controlSettings.posB.z = cos_deg(N(StoryCameraAngle)) * -500.0f; + camera->panActive = TRUE; + return ApiStatus_DONE2; +} + +f32 IntroCamStateB_BoomLength = 130.4; +f32 IntroCamStateB_BoomPitch = 12.4; +f32 IntroCamStateB_ViewPitch = -16.8; +f32 IntroCamStateB_Vfov = 62.0; + +s32 N(D_802498F8_A33B38) = 0; +s32 N(D_802498FC_A33B3C) = 0; + +// probably for unused 'breaking ceiling' part of the scene +API_CALLABLE(N(UnusedInitializeStoryCamera)) { + Camera* camera = &gCameras[gCurrentCameraID]; + + if (nuGfxCfb_ptr == N(ColorBufPtr)) { + return ApiStatus_BLOCK; + } + N(ColorBufPtr) = nuGfxCfb_ptr; + N(lerp_value_with_max_step)(250.0f, 0.0f, N(StoryCameraAngle), 0.5f, &N(StoryCameraAngle)); + N(interp_value_with_easing)(INTRO_MATH_EASING_SIN_OUT_DELAYED, 130.4f, N(IntroCamSettings2).boomLength, N(D_802498FC_A33B3C), 470.0f, &IntroCamStateB_BoomLength); + N(lerp_value_with_max_step)(12.4f, N(IntroCamSettings2).boomPitch, IntroCamStateB_BoomPitch, 0.05f, &IntroCamStateB_BoomPitch); + N(lerp_value_with_max_step)(-16.8f, N(IntroCamSettings2).viewPitch, IntroCamStateB_ViewPitch, 0.05f, &IntroCamStateB_ViewPitch); + N(lerp_value_with_max_step)(62.0f, 49.0f, IntroCamStateB_Vfov, 0.1f, &IntroCamStateB_Vfov); + N(adjust_cam_vfov)(CAM_DEFAULT, IntroCamStateB_Vfov); + camera->controlSettings.boomLength = IntroCamStateB_BoomLength; + camera->controlSettings.boomPitch = IntroCamStateB_BoomPitch; + camera->controlSettings.viewPitch = IntroCamStateB_ViewPitch; + camera->controlSettings.posB.x = sin_deg(N(StoryCameraAngle)) * 500.0f; + camera->controlSettings.posB.z = cos_deg(N(StoryCameraAngle)) * -500.0f; + camera->panActive = TRUE; + N(D_802498FC_A33B3C)++; + if (N(StoryCameraAngle) == 0.0f) { + N(D_802498F8_A33B38)++; + } + + if (N(D_802498F8_A33B38) <= 30) { + return ApiStatus_BLOCK; + } + return ApiStatus_DONE1; +} + +s32 N(StoryCameraShake1Angle) = 0; +f32 N(StoryCameraShake1Scale) = 1.0; + +// probably for unused 'breaking ceiling' part of the scene +API_CALLABLE(N(StoryCameraShake1)) { + Camera* camera = &gCameras[gCurrentCameraID]; + + if (isInitialCall) { + camera->flags |= CAMERA_FLAG_SHAKING; + } + guTranslateF(camera->viewMtxShaking, + N(StoryCameraShake1Scale) * sin_deg(N(StoryCameraShake1Angle) * 486), + N(StoryCameraShake1Scale) * cos_deg(N(StoryCameraShake1Angle) * 254), + 0.0f + ); + N(StoryCameraShake1Angle)++; + N(StoryCameraShake1Scale) += (12.0f - N(StoryCameraShake1Scale)) * 0.2; + if (N(StoryCameraShake1Angle) > 20) { + guTranslateF(camera->viewMtxShaking, 0.0f, 0.0f, 0.0f); + camera->flags &= ~CAMERA_FLAG_SHAKING; + return ApiStatus_DONE1; + } + return ApiStatus_BLOCK; +} + +s32 N(StoryCameraShake2Angle) = 0; +f32 N(StoryCameraShake2Scale) = 12.0; + +// probably for unused 'breaking ceiling' part of the scene +API_CALLABLE(N(StoryCameraShake2)) { + Camera* camera = &gCameras[gCurrentCameraID]; + Matrix4f sp18; + f32 x, y; + + if (isInitialCall) { + camera->flags |= CAMERA_FLAG_SHAKING; + } + x = N(StoryCameraShake2Scale) * sin_deg(N(StoryCameraShake2Angle) * 486); + y = N(StoryCameraShake2Scale) * cos_deg(N(StoryCameraShake2Angle) * 254); + guTranslateF(camera->viewMtxShaking, x, y, 0.0f); + guTranslateF(camera->viewMtxShaking, x, y, 0.0f); + guRotateF(sp18, 20.0f, 0.0f, 0.0f, 1.0f); + guMtxCatF(sp18, camera->viewMtxShaking, camera->viewMtxShaking); + camera->panActive = TRUE; + if (N(StoryCameraShake2Angle) >= 10) { + guRotateF(camera->viewMtxShaking, 20.0f, 0.0f, 0.0f, 1.0f); + return ApiStatus_DONE1; + } + N(StoryCameraShake2Angle)++; + return ApiStatus_BLOCK; +} + +s32 N(UnusedBowserLeapTime) = 0; + +s16 N(UnusedBowserHoverOffsets)[] = { + -3, -2, -1, 0, 1, 2, 3, 4, + 3, 2, 1, 0, -1, -2, -3, -4, +}; + +s16 N(UnusedBowserLeapPath)[] = { + 360, 345, 330, 315, 300, 285, 270, 255, + 240, 225, 215, 203, 191, 180, 170, 161, 153, 146, 140, 135 +}; + +BSS f32 N(UnusedBowserLeapBaseY); + +// probably for unused 'breaking ceiling' part of the scene +API_CALLABLE(N(UnusedBowserLeapDown)) { + Npc* bowserMain = resolve_npc(script, NPC_Bowser_Main); + Npc* bowserProp = resolve_npc(script, NPC_Bowser_Prop); + + if (isInitialCall) { + bowserMain->pos.x = -64.0f; + bowserMain->pos.y = 400.0f; + bowserMain->pos.z = 85.0f; + bowserProp->pos.x = -64.0f; + bowserProp->pos.y = 400.0f; + bowserProp->pos.z = 85.0f; + bowserMain->colliderPos.x = bowserMain->pos.x; + bowserProp->colliderPos.x = bowserProp->pos.x; + bowserMain->colliderPos.z = bowserMain->pos.z; + bowserProp->colliderPos.z = bowserProp->pos.z; + N(UnusedBowserLeapBaseY) = 400.0f; + } + if (N(UnusedBowserLeapTime) < 20) { + bowserMain->pos.y = N(UnusedBowserLeapPath)[N(UnusedBowserLeapTime)]; + } else { + bowserMain->pos.y += N(UnusedBowserHoverOffsets)[((N(UnusedBowserLeapTime) - 20) & 30) / 2] * 0.1f; + } + bowserProp->pos.y = bowserMain->pos.y; + bowserMain->colliderPos.y = bowserMain->pos.y; + bowserProp->colliderPos.y = bowserProp->pos.y; + + N(UnusedBowserLeapTime)++; + if (N(UnusedBowserLeapTime) < 2000) { + return ApiStatus_BLOCK; + } + return ApiStatus_DONE1; +} + +s32 N(BowserHoverTime) = 0; + +s16 N(BowserHoverOffsets)[] = { + -3, -2, -1, 0, 1, 2, 3, 4, + 3, 2, 1, 0, -1, -2, -3, -4, +}; + +BSS f32 N(BowserHoverBaseY); + +API_CALLABLE(N(AddBowserHoverOffset)) { + Npc* bowserMain = resolve_npc(script, NPC_Bowser_Main); + Npc* bowserProp = resolve_npc(script, NPC_Bowser_Prop); + + if (isInitialCall) { + bowserMain->pos.x = -64.0f; + bowserMain->pos.y = 135.0f; + bowserMain->pos.z = 85.0f; + bowserProp->pos.x = -64.0f; + bowserProp->pos.y = 135.0f; + bowserProp->pos.z = 85.0f; + bowserMain->colliderPos.x = bowserMain->pos.x; + bowserProp->colliderPos.x = bowserProp->pos.x; + bowserMain->colliderPos.z = bowserMain->pos.z; + bowserProp->colliderPos.z = bowserProp->pos.z; + N(BowserHoverBaseY) = 135.0f; + } + bowserMain->pos.y += N(BowserHoverOffsets)[((u32) (N(BowserHoverTime) - 20) & 30) / 2] * 0.1f; + bowserProp->pos.y = bowserMain->pos.y; + bowserMain->colliderPos.y = bowserMain->pos.y; + bowserProp->colliderPos.y = bowserProp->pos.y; + N(BowserHoverTime)++; + if (N(BowserHoverTime) < 2000) { + return ApiStatus_BLOCK; + } + return ApiStatus_DONE1; +} + +f32 N(UnusedStoryCameraZoomAmt) = 30.0; + +// probably for unused 'breaking ceiling' part of the scene +API_CALLABLE(N(UnusedStoryCameraZoom)) { + Camera* camera = &gCameras[gCurrentCameraID]; + + N(lerp_value_with_max_step)(30.0f, 15.0f, N(UnusedStoryCameraZoomAmt), 1.0f, &N(UnusedStoryCameraZoomAmt)); + N(adjust_cam_vfov)(CAM_DEFAULT, N(UnusedStoryCameraZoomAmt)); + camera->panActive = TRUE; + if (N(UnusedStoryCameraZoomAmt) == 15.0f) { + return ApiStatus_DONE1; + } + return ApiStatus_BLOCK; +} + +// probably for unused 'breaking ceiling' part of the scene +API_CALLABLE(N(StoryCameraShakeEnd)) { + Camera* camera = &gCameras[gCurrentCameraID]; + + if (isInitialCall) { + camera->flags &= ~CAMERA_FLAG_SHAKING; + } + guTranslateF(camera->viewMtxShaking, 0.0f, 0.0f, 0.0f); + return ApiStatus_DONE2; +} + +s32 N(UnusedKammyMoveTime) = 0; + +s16 N(UnusedKammyHoverOffset)[] = { + -3, -2, -1, 0, 1, 2, 3, 4, + 3, 2, 1, 0, -1, -2, -3, -4, +}; + +Vec2s N(UnusedKammyMovePath)[] = { + { 100, 240 }, + { 99, 230 }, + { 98, 220 }, + { 96, 211 }, + { 92, 202 }, + { 87, 194 }, + { 82, 187 }, + { 77, 181 }, + { 72, 176 }, + { 66, 171 }, + { 60, 167 }, + { 53, 163 }, + { 45, 160 }, + { 38, 157 }, + { 31, 155 }, + { 25, 153 }, + { 19, 152 }, + { 13, 150 }, + { 7, 149 }, + { 1, 148 }, + { -5, 147 }, + { -10, 146 }, + { -14, 145 }, + { -17, 143 }, + { -18, 142 }, + { -18, 142 }, + { -18, 142 }, + { -18, 142 }, + { -18, 142 }, + { -18, 142 }, + { -18, 141 }, + { -17, 140 }, + { -16, 139 }, + { -14, 138 }, + { -11, 137 }, + { -8, 136 }, + { -5, 135 }, + { -3, 135 }, + { -1, 135 }, + { 0, 135 }, +}; + +BSS f32 N(UnusedKammyMoveBaseY); // unused + +// probably for unused 'breaking ceiling' part of the scene +API_CALLABLE(N(UnusedKammyMoveFunc)) { + Npc* kammy = resolve_npc(script, NPC_Kammy); + + if (isInitialCall) { + kammy->pos.x = -145.0f; + kammy->pos.z = 114.0f; + kammy->yaw = 270.0f; + kammy->colliderPos.x = kammy->pos.x; + kammy->colliderPos.z = kammy->pos.z; + } + if (N(UnusedKammyMoveTime) == 30) { + kammy->yaw = 90.0f; + } + if (N(UnusedKammyMoveTime) < 40) { + kammy->pos.x = N(UnusedKammyMovePath)[N(UnusedKammyMoveTime)].x - 145; + kammy->pos.y = (((N(UnusedKammyMovePath)[N(UnusedKammyMoveTime)].y - 135) * 200) / 225) + 147; + if (N(UnusedKammyMoveTime) < 20) { + kammy->pos.z = 114.0f - (N(UnusedKammyMoveTime) * 30.0f) / 20.0f; + } else { + kammy->pos.z = 84.0f; + } + kammy->colliderPos.x = kammy->pos.x; + kammy->colliderPos.z = kammy->pos.z; + } else { + kammy->pos.y += N(UnusedKammyHoverOffset)[((N(UnusedKammyMoveTime) - 40) & 30) / 2] * 0.1f; + } + kammy->colliderPos.y = kammy->pos.y; + N(UnusedKammyMoveTime)++; + if (N(UnusedKammyMoveTime) < 2000) { + return ApiStatus_BLOCK; + } + return ApiStatus_DONE1; +} + +s32 N(KammyHoverTime) = 0; + +s16 N(KammyHoverOffsets)[] = { + -3, -2, -1, 0, 1, 2, 3, 4, + 3, 2, 1, 0, -1, -2, -3, -4, +}; + +BSS f32 N(KammyHoverBaseY); // unused + +API_CALLABLE(N(AddKammyHoverOffset)) { + Npc* kammy = resolve_npc(script, NPC_Kammy); + + if (isInitialCall) { + kammy->pos.x = -145.0f; + kammy->pos.z = 84.0f; + kammy->colliderPos.x = kammy->pos.x; + kammy->colliderPos.z = kammy->pos.z; + kammy->yaw = 90.0f; + kammy->pos.y = 147.0f; + } + kammy->pos.y += N(KammyHoverOffsets)[((N(KammyHoverTime) - 40) & 30) / 2] * 0.1f; + kammy->colliderPos.y = kammy->pos.y; + + N(KammyHoverTime)++; + if (N(KammyHoverTime) < 2000) { + return ApiStatus_BLOCK; + } + return ApiStatus_DONE1; +} + +f32 N(BoomLengthInhale) = 121.6; +s32 N(CamMoveInhaleTime) = 0; + +API_CALLABLE(N(CamPushIn_BowserInhale)) { + Camera* camera = &gCameras[gCurrentCameraID]; + + N(interp_value_with_easing)(INTRO_MATH_EASING_LINEAR, 121.6f, 90.0f, N(CamMoveInhaleTime), 40.0f, &N(BoomLengthInhale)); + camera->panActive = TRUE; + camera->controlSettings.boomLength = N(BoomLengthInhale); + if ((N(CamMoveInhaleTime) == ((N(CamMoveInhaleTime) / 5) * 5)) && (N(BoomLengthInhale) != 90.0f)) { + f32 temp_f4 = resolve_npc(script, NPC_Bowser_Main)->pos.y - 150.0f; + + fx_fire_breath( + 1, script->varTable[0], + script->varTable[1] + temp_f4, + script->varTable[2], + script->varTable[3] - 5, + script->varTable[4] + temp_f4, + script->varTable[5] - 30, 0, 5, 20 + ); + } + + N(CamMoveInhaleTime)++; + if (N(CamMoveInhaleTime) <= 40) { + return ApiStatus_BLOCK; + } + return ApiStatus_DONE1; +} + +f32 N(BoomLengthExhale) = 90.0; +s32 N(CamMoveExhaleTime) = 0; + +API_CALLABLE(N(CamPullBack_BowserExhale)) { + Camera* camera = &gCameras[gCurrentCameraID]; + + N(interp_value_with_easing)(INTRO_MATH_EASING_4, 90.0f, 474.7f, N(CamMoveExhaleTime), 20.0f, &N(BoomLengthExhale)); + camera->panActive = TRUE; + camera->controlSettings.boomLength = N(BoomLengthExhale); + N(CamMoveExhaleTime)++; + if (N(CamMoveExhaleTime) < 21) { + return ApiStatus_BLOCK; + } + return ApiStatus_DONE1; +} + +s32 N(FlyToStarRodTime) = 0; + +BSS f32 N(FlyToStarRodStartX); +BSS f32 N(FlyToStarRodStartZ); + +API_CALLABLE(N(BowserFlyToStarRod)) { + Npc* bowserMain = resolve_npc(script, NPC_Bowser_Main); + Npc* bowserProp = resolve_npc(script, NPC_Bowser_Prop); + + if (isInitialCall) { + N(FlyToStarRodStartX) = bowserMain->pos.x; + N(FlyToStarRodStartZ) = bowserMain->pos.z; + } + N(interp_value_with_easing)(INTRO_MATH_EASING_COS_IN_OUT, N(FlyToStarRodStartX), 0.0f, N(FlyToStarRodTime), 40.0f, &bowserMain->pos.x); + N(interp_value_with_easing)(INTRO_MATH_EASING_COS_IN_OUT, N(FlyToStarRodStartZ), 0.0f, N(FlyToStarRodTime), 40.0f, &bowserMain->pos.z); + bowserProp->pos.x = bowserMain->pos.x; + bowserProp->pos.z = bowserMain->pos.z; + bowserMain->colliderPos.x = bowserMain->pos.x; + bowserMain->colliderPos.z = bowserMain->pos.z; + bowserProp->colliderPos.x = bowserProp->pos.x; + bowserProp->colliderPos.z = bowserProp->pos.z; + + N(FlyToStarRodTime)++; + if (N(FlyToStarRodTime) <= 40) { + return ApiStatus_BLOCK; + } + return ApiStatus_DONE1; +} + +s32 N(HoldStarRodTime) = 0; + +BSS f32 N(HoldStarRodFov); +BSS f32 N(HoldStarRodBoomLength); +BSS f32 N(HoldStarRodCamX); +BSS f32 N(HoldStarRodCamY); +BSS f32 N(HoldStarRodCamZ); + +API_CALLABLE(N(CamPullBack_BowserHoldingStarRod)) { + Camera* camera = &gCameras[gCurrentCameraID]; + + N(interp_value_with_easing)(INTRO_MATH_EASING_4, 35.0f, 35.0f, N(HoldStarRodTime), 80.0f, &N(HoldStarRodFov)); + N(interp_value_with_easing)(INTRO_MATH_EASING_4, 130.0f, 270.0f, N(HoldStarRodTime), 80.0f, &N(HoldStarRodBoomLength)); + N(interp_value_with_easing)(INTRO_MATH_EASING_4, 30.0f, 0.0f, N(HoldStarRodTime), 80.0f, &N(HoldStarRodCamX)); + N(interp_value_with_easing)(INTRO_MATH_EASING_4, 232.0f, 177.0f, N(HoldStarRodTime), 80.0f, &N(HoldStarRodCamY)); + N(interp_value_with_easing)(INTRO_MATH_EASING_4, 0.0f, 0.0f, N(HoldStarRodTime), 80.0f, &N(HoldStarRodCamZ)); + N(adjust_cam_vfov)(CAM_DEFAULT, N(HoldStarRodFov)); + camera->panActive = TRUE; + camera->controlSettings.boomLength = N(HoldStarRodBoomLength); + camera->movePos.x = N(HoldStarRodCamX); + camera->movePos.y = N(HoldStarRodCamY); + camera->movePos.z = N(HoldStarRodCamZ); + + N(HoldStarRodTime)++; + if (N(HoldStarRodTime) <= 90) { + return ApiStatus_BLOCK; + } + return ApiStatus_DONE1; +} + +f32 N(PanAcrossRoomCamX) = 40.0; +f32 N(PanAcrossRoomCamZ) = -40.0; +f32 N(PanAcrossRoomAngle) = 45.0; +s32 N(PanAcrossRoomTime) = 0; + +// pan across the room +API_CALLABLE(N(CamPanAcrossRoom)) { + Camera* camera = &gCameras[gCurrentCameraID]; + + N(interp_value_with_easing)(INTRO_MATH_EASING_LINEAR, 40.0f, -130.0f, N(PanAcrossRoomTime), 170.0f, &N(PanAcrossRoomCamX)); + N(interp_value_with_easing)(INTRO_MATH_EASING_LINEAR, -40.0f, 130.0f, N(PanAcrossRoomTime), 170.0f, &N(PanAcrossRoomCamZ)); + N(interp_value_with_easing)(INTRO_MATH_EASING_COS_IN_OUT, 45.0f, 25.0f, N(PanAcrossRoomTime), 170.0f, &N(PanAcrossRoomAngle)); + camera->panActive = TRUE; + camera->movePos.x = N(PanAcrossRoomCamX); + camera->movePos.z = N(PanAcrossRoomCamZ); + camera->controlSettings.posB.x = sin_deg(N(PanAcrossRoomAngle)) * 500.0f; + camera->controlSettings.posB.z = cos_deg(N(PanAcrossRoomAngle)) * 500.0f; + + N(PanAcrossRoomTime)++; + if (N(PanAcrossRoomTime) == 170) { + return ApiStatus_DONE1; + } + return ApiStatus_BLOCK; +} + +f32 N(OrbitKammyFov) = 50.0; +f32 N(OrbitKammyBoomLength) = 246.1; +f32 N(OrbitKammyCamY) = 200.0; +f32 N(OrbitKammyAngle) = 25.0; +s32 N(OrbitKammyTime) = 0; + +API_CALLABLE(N(CamMove_OrbitKammy)) { + Camera* camera = &gCameras[gCurrentCameraID]; + + N(interp_value_with_easing)(INTRO_MATH_EASING_COS_IN_OUT, 25.0f, 200.0f, N(OrbitKammyTime), 120.0f, &N(OrbitKammyAngle)); + N(interp_value_with_easing)(INTRO_MATH_EASING_COS_IN_OUT, 50.0f, 35.0f, N(OrbitKammyTime), 30.0f, &N(OrbitKammyFov)); + N(interp_value_with_easing)(INTRO_MATH_EASING_COS_IN_OUT, 246.1f, 180.0f, N(OrbitKammyTime), 30.0f, &N(OrbitKammyBoomLength)); + N(interp_value_with_easing)(INTRO_MATH_EASING_COS_IN_OUT, 200.0f, 220.0f, N(OrbitKammyTime), 30.0f, &N(OrbitKammyCamY)); + camera->controlSettings.posB.x = sin_deg(N(OrbitKammyAngle)) * 500.0f; + camera->controlSettings.posB.z = cos_deg(N(OrbitKammyAngle)) * 500.0f; + N(adjust_cam_vfov)(CAM_DEFAULT, N(OrbitKammyFov)); + camera->panActive = TRUE; + camera->controlSettings.boomLength = N(OrbitKammyBoomLength); + camera->movePos.y = N(OrbitKammyCamY); + + N(OrbitKammyTime)++; + if (N(OrbitKammyTime) <= 120) { + return ApiStatus_BLOCK; + } else { + return ApiStatus_DONE1; + } +} + +// lotta work to do +#ifdef WIP +API_CALLABLE(func_802428C8_A2CB08) { + Bytecode* args = script->ptrReadPos; + s32 temp_s6 = evt_get_variable(script, *args++); + f32 sp10 = evt_get_float_variable(script, *args++); + f32 temp_f28 = evt_get_float_variable(script, *args++); + EffectInstance* effect = evt_get_variable(script, ArrayVar(0)); + f32 temp_f20; + f32 temp_f20_2; + f32 temp_f20_3; + f32 temp_f20_4; + f32 temp_f24; + f32 temp_f24_2; + f32 var_f0_2; + f32 var_f0_3; + f32 var_f20_2; + f32 var_f26; + f32 var_f2_2; + f64 var_f20; + f64 var_f2; + f64 var_f2_3; + f64 var_f2_4; + f64 var_f2_5; + f64 var_f2_6; + f64 var_f2_7; + f64 var_f2_8; + s32 temp_v0; + s32 temp_v0_2; + s32 temp_v0_3; + s32 temp_v0_4; + s32 temp_v0_5; + s32 temp_v0_6; + s32 temp_v0_7; + + f32* temp_s1_2; + f32* temp_s2; + f32* var_s0; + f32* var_s2; + + switch (temp_s6) { + case 1: + var_s0 = N(D_8024F3F8); + var_s2 = N(D_8024F3F8); + temp_v0 = effect->data.somethingRotating->unk_14 + 30; + var_f2 = temp_v0; + if (temp_v0 < 0) { + var_f2 += 4294967296.0; + } + var_f20 = var_f2 * 4.0f; + temp_f20 = var_f20 + 51.43; + temp_f24 = sin_deg(temp_f20); + var_f26 = effect->data.somethingRotating->unk_04 + (sin_deg(90.0f) * 50.0f * temp_f24); + var_f20_2 = effect->data.somethingRotating->unk_08 + (cos_deg(temp_f20) * 50.0f); + var_f0_2 = sin_deg(90.0f) * 50.0f * temp_f24; + var_f2_2 = effect->data.somethingRotating->unk_0C; + break; + case 2: + var_s0 = N(D_8024F420); + var_s2 = N(D_8024F420); + temp_v0_2 = effect->data.somethingRotating->unk_14 + 30; + var_f2_3 = temp_v0_2; + if (temp_v0_2 < 0) { + var_f2_3 += 4294967296.0; + } + var_f20 = (var_f2_3 * 4.0f); + temp_f20 = var_f20 + 360.01; + temp_f24 = sin_deg(temp_f20); + var_f26 = effect->data.somethingRotating->unk_04 + (sin_deg(90.0f) * 50.0f * temp_f24); + var_f20_2 = effect->data.somethingRotating->unk_08 + (cos_deg(temp_f20) * 50.0f); + var_f0_2 = sin_deg(90.0f) * 50.0f * temp_f24; + var_f2_2 = effect->data.somethingRotating->unk_0C; + break; + case 3: + var_s0 = N(D_8024F448); + var_s2 = N(D_8024F448); + temp_v0_3 = effect->data.somethingRotating->unk_14 + 30; + var_f2_4 = temp_v0_3; + if (temp_v0_3 < 0) { + var_f2_4 += 4294967296.0; + } + var_f20 = var_f2_4 * 4.0f; + temp_f20 = var_f20 + 154.29; + temp_f24 = sin_deg(temp_f20); + var_f26 = effect->data.somethingRotating->unk_04 + (sin_deg(90.0f) * 50.0f * temp_f24); + var_f20_2 = effect->data.somethingRotating->unk_08 + (cos_deg(temp_f20) * 50.0f); + var_f0_2 = sin_deg(90.0f) * 50.0f * temp_f24; + var_f2_2 = effect->data.somethingRotating->unk_0C; + break; + case 4: + var_s0 = N(D_8024F470); + temp_v0_4 = effect->data.somethingRotating->unk_14 + 30; + var_f2_5 = temp_v0_4; + var_s2 = N(D_8024F470); + if (temp_v0_4 < 0) { + var_f2_5 += 4294967296.0; + } + temp_f20_2 = (var_f2_5 * 4.0f) + 205.72; + temp_f24_2 = sin_deg(temp_f20_2); + var_f26 = effect->data.somethingRotating->unk_04 + (sin_deg(90.0f) * 50.0f * temp_f24_2); + var_f20_2 = effect->data.somethingRotating->unk_08 + (cos_deg(temp_f20_2) * 50.0f); + var_f0_2 = sin_deg(90.0f) * 50.0f * temp_f24_2; + var_f2_2 = effect->data.somethingRotating->unk_0C; + break; + case 5: + var_s0 = N(D_8024F498); + var_s2 = N(D_8024F498); + temp_v0_5 = effect->data.somethingRotating->unk_14 + 30; + var_f2_6 = temp_v0_5; + if (temp_v0_5 < 0) { + var_f2_6 += 4294967296.0; + } + var_f20 = var_f2_6 * 4.0f; + temp_f20 = var_f20 + 308.58; + temp_f24 = sin_deg(temp_f20); + var_f26 = effect->data.somethingRotating->unk_04 + (sin_deg(90.0f) * 50.0f * temp_f24); + var_f20_2 = effect->data.somethingRotating->unk_08 + (cos_deg(temp_f20) * 50.0f); + var_f0_2 = sin_deg(90.0f) * 50.0f * temp_f24; + var_f2_2 = effect->data.somethingRotating->unk_0C; + break; + case 6: + var_s0 = N(D_8024F4C0); + var_s2 = N(D_8024F4C0); + temp_v0_6 = effect->data.somethingRotating->unk_14 + 30; + var_f2_7 = temp_v0_6; + if (temp_v0_6 < 0) { + var_f2_7 += 4294967296.0; + } + var_f20 = var_f2_7 * 4.0f; + temp_f20 = var_f20 + 102.86; + temp_f24 = sin_deg(temp_f20); + var_f26 = effect->data.somethingRotating->unk_04 + (sin_deg(90.0f) * 50.0f * temp_f24); + var_f20_2 = effect->data.somethingRotating->unk_08 + (cos_deg(temp_f20) * 50.0f); + var_f0_2 = sin_deg(90.0f) * 50.0f * temp_f24; + var_f2_2 = effect->data.somethingRotating->unk_0C; + break; + default: + var_s0 = N(D_8024F4E8); + var_s2 = N(D_8024F4E8); + temp_v0_7 = effect->data.somethingRotating->unk_14 + 30; + var_f2_8 = temp_v0_7; + if (temp_v0_7 < 0) { + var_f2_8 += 4294967296.0; + } + var_f20 = (var_f2_8 * 4.0f); + temp_f20 = var_f20 + 257.15; + temp_f24 = sin_deg(temp_f20); + var_f26 = effect->data.somethingRotating->unk_04 + (sin_deg(90.0f) * 50.0f * temp_f24); + var_f20_2 = effect->data.somethingRotating->unk_08 + (cos_deg(temp_f20) * 50.0f); + var_f0_2 = sin_deg(90.0f) * 50.0f * temp_f24; + var_f2_2 = effect->data.somethingRotating->unk_0C; + break; + } + var_s0[6] = var_f26; + var_s0[7] = var_f20_2; + var_s0[8] = var_f2_2 + var_f0_2; + var_s2[0] = evt_get_float_variable(script, LocalVar(0)); + var_s2[1] = evt_get_float_variable(script, LocalVar(1)); + temp_s1_2 = var_s2 + 0x18; + var_s2[4] = evt_get_float_variable(script, LocalVar(2)); + temp_s2 = var_s2 + 0xC; + if (temp_s6 != 2) { + temp_f20_3 = 1.0f - temp_f28; + temp_s2[0] = (evt_get_float_variable(script, LocalVar(0)) * temp_f28) + (temp_s1_2[0] * temp_f20_3); + temp_s2[1] = (evt_get_float_variable(script, LocalVar(1)) * temp_f28) + (temp_s1_2[1] * temp_f20_3) + sp10; + var_f0_3 = (evt_get_float_variable(script, LocalVar(2)) * temp_f28) + (temp_s1_2[2] * temp_f20_3); + } else { + temp_f20_4 = 1.0f - temp_f28; + temp_s2[0] = ((evt_get_float_variable(script, LocalVar(0)) * temp_f28) + (temp_s1_2[0] * temp_f20_4)) - 50.0f; + temp_s2[1] = (evt_get_float_variable(script, LocalVar(1)) * temp_f28) + (temp_s1_2[1] * temp_f20_4) + sp10; + var_f0_3 = ((evt_get_float_variable(script, LocalVar(2)) * temp_f28) + (temp_s1_2[2] * temp_f20_4)) - 50.0f; + } + temp_s2[2] = var_f0_3; + script->varTable[0] = 30; + script->varTable[1] = var_s0; + script->varTable[2] = 3; + return ApiStatus_DONE2; +} +#else +API_CALLABLE(func_802428C8_A2CB08); +INCLUDE_ASM(s32, "world/area_hos/hos_05/A2AAC0", func_802428C8_A2CB08); +#endif + +EvtScript N(EVS_UpdateWorldFogParams) = { + EVT_SET(LVar0, 120) + EVT_SET(LVar1, 895) + EVT_LOOP(10) + EVT_ADD(LVar0, -12) + EVT_ADD(LVar1, 10) + EVT_CALL(N(SetWorldFogParams), 0, 0, 0, LVar0, 255, 255, 255, LVar1, 1000) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_CaptureSpirits) = { + EVT_CALL(func_802D7B10, ArrayVar(6)) + EVT_CALL(GetNpcPos, NPC_Klevar, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_RING_BLAST, 1, LVar0, LVar1, LVar2, 4, 20) + EVT_THREAD + EVT_WAIT(3) + EVT_CALL(GetNpcPos, NPC_Klevar, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_MISC_PARTICLES, 3, LVar0, LVar1, LVar2, 16, 16, 2, 20, 0) + EVT_SET(ArrayVar(13), LVarF) + EVT_CALL(func_802428C8_A2CB08, 6, 80, EVT_FLOAT(0.5)) + EVT_CALL(LoadPath, LVar0, LVar1, LVar2, EASING_LINEAR) + EVT_SETF(LVar4, EVT_FLOAT(1.0)) + EVT_LABEL(6) + EVT_CALL(GetNextPathPos) + EVT_CALL(SetNpcPos, NPC_Klevar, LVar1, LVar2, LVar3) + EVT_CALL(N(SetStarSpiritSparkleTrailPos), ArrayVar(13), ArrayVar(24), LVar1, LVar2, LVar3) + EVT_ADDF(LVar4, EVT_FLOAT(-0.03125)) + EVT_CALL(SetNpcScale, NPC_Klevar, LVar4, LVar4, LVar4) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 1) + EVT_GOTO(6) + EVT_END_IF + EVT_CALL(N(SetCardCaptureState1)) + EVT_CALL(SetNpcAnimation, NPC_Klevar, ANIM_WorldKlevar_Panic) + EVT_CALL(func_802CFD30, 5, 0, 0, 0, 0, 0) + EVT_CALL(SetNpcFlagBits, NPC_Klevar, NPC_FLAG_2, TRUE) + EVT_CALL(func_802D7B10, ArrayVar(13)) + EVT_END_THREAD + EVT_WAIT(20) + EVT_CALL(func_802D7B10, ArrayVar(3)) + EVT_CALL(GetNpcPos, NPC_Skolar, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_RING_BLAST, 1, LVar0, LVar1, LVar2, 4, 20) + EVT_THREAD + EVT_WAIT(3) + EVT_CALL(GetNpcPos, NPC_Skolar, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_MISC_PARTICLES, 3, LVar0, LVar1, LVar2, 16, 16, 2, 20, 0) + EVT_SET(ArrayVar(10), LVarF) + EVT_CALL(func_802428C8_A2CB08, 3, 30, EVT_FLOAT(0.5)) + EVT_CALL(LoadPath, LVar0, LVar1, LVar2, EASING_LINEAR) + EVT_SETF(LVar4, EVT_FLOAT(1.0)) + EVT_LABEL(3) + EVT_CALL(GetNextPathPos) + EVT_CALL(SetNpcPos, NPC_Skolar, LVar1, LVar2, LVar3) + EVT_CALL(N(SetStarSpiritSparkleTrailPos), ArrayVar(10), ArrayVar(21), LVar1, LVar2, LVar3) + EVT_ADDF(LVar4, EVT_FLOAT(-0.03125)) + EVT_CALL(SetNpcScale, NPC_Skolar, LVar4, LVar4, LVar4) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 1) + EVT_GOTO(3) + EVT_END_IF + EVT_CALL(N(SetCardCaptureState1)) + EVT_CALL(SetNpcAnimation, NPC_Skolar, ANIM_WorldSkolar_IdleSad) + EVT_CALL(func_802CFD30, 2, 0, 0, 0, 0, 0) + EVT_CALL(SetNpcFlagBits, NPC_Skolar, NPC_FLAG_2, TRUE) + EVT_CALL(func_802D7B10, ArrayVar(10)) + EVT_END_THREAD + EVT_WAIT(20) + EVT_CALL(func_802D7B10, ArrayVar(4)) + EVT_CALL(GetNpcPos, NPC_Muskular, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_RING_BLAST, 1, LVar0, LVar1, LVar2, 4, 20) + EVT_THREAD + EVT_WAIT(3) + EVT_CALL(GetNpcPos, NPC_Muskular, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_MISC_PARTICLES, 3, LVar0, LVar1, LVar2, 16, 16, 2, 20, 0) + EVT_SET(ArrayVar(11), LVarF) + EVT_CALL(func_802428C8_A2CB08, 4, -80, EVT_FLOAT(0.3)) + EVT_CALL(LoadPath, LVar0, LVar1, LVar2, EASING_LINEAR) + EVT_SETF(LVar4, EVT_FLOAT(1.0)) + EVT_LABEL(4) + EVT_CALL(GetNextPathPos) + EVT_CALL(SetNpcPos, NPC_Muskular, LVar1, LVar2, LVar3) + EVT_CALL(N(SetStarSpiritSparkleTrailPos), ArrayVar(11), ArrayVar(22), LVar1, LVar2, LVar3) + EVT_ADDF(LVar4, EVT_FLOAT(-0.03125)) + EVT_CALL(SetNpcScale, NPC_Muskular, LVar4, LVar4, LVar4) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 1) + EVT_GOTO(4) + EVT_END_IF + EVT_CALL(N(SetCardCaptureState1)) + EVT_CALL(SetNpcAnimation, NPC_Muskular, ANIM_WorldMuskular_Panic) + EVT_CALL(func_802CFD30, 3, 0, 0, 0, 0, 0) + EVT_CALL(SetNpcFlagBits, NPC_Muskular, NPC_FLAG_2, TRUE) + EVT_CALL(func_802D7B10, ArrayVar(11)) + EVT_END_THREAD + EVT_WAIT(20) + EVT_CALL(func_802D7B10, ArrayVar(7)) + EVT_CALL(GetNpcPos, NPC_Kalmar, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_RING_BLAST, 1, LVar0, LVar1, LVar2, 4, 20) + EVT_THREAD + EVT_WAIT(3) + EVT_CALL(GetNpcPos, NPC_Kalmar, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_MISC_PARTICLES, 3, LVar0, LVar1, LVar2, 16, 16, 2, 20, 0) + EVT_SET(ArrayVar(14), LVarF) + EVT_CALL(func_802428C8_A2CB08, 7, 120, EVT_FLOAT(0.5)) + EVT_CALL(LoadPath, LVar0, LVar1, LVar2, EASING_LINEAR) + EVT_SETF(LVar4, EVT_FLOAT(1.0)) + EVT_LABEL(7) + EVT_CALL(GetNextPathPos) + EVT_CALL(SetNpcPos, NPC_Kalmar, LVar1, LVar2, LVar3) + EVT_CALL(N(SetStarSpiritSparkleTrailPos), ArrayVar(14), ArrayVar(25), LVar1, LVar2, LVar3) + EVT_ADDF(LVar4, EVT_FLOAT(-0.03125)) + EVT_CALL(SetNpcScale, NPC_Kalmar, LVar4, LVar4, LVar4) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 1) + EVT_GOTO(7) + EVT_END_IF + EVT_CALL(N(SetCardCaptureState1)) + EVT_CALL(SetNpcAnimation, NPC_Kalmar, ANIM_WorldKalmar_Panic) + EVT_CALL(func_802CFD30, 6, 0, 0, 0, 0, 0) + EVT_CALL(SetNpcFlagBits, NPC_Kalmar, NPC_FLAG_2, TRUE) + EVT_CALL(func_802D7B10, ArrayVar(14)) + EVT_END_THREAD + EVT_WAIT(20) + EVT_CALL(func_802D7B10, ArrayVar(5)) + EVT_CALL(GetNpcPos, NPC_Misstar, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_RING_BLAST, 1, LVar0, LVar1, LVar2, 4, 20) + EVT_THREAD + EVT_WAIT(3) + EVT_CALL(GetNpcPos, NPC_Misstar, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_MISC_PARTICLES, 3, LVar0, LVar1, LVar2, 16, 16, 2, 20, 0) + EVT_SET(ArrayVar(12), LVarF) + EVT_CALL(func_802428C8_A2CB08, 5, 120, EVT_FLOAT(0.5)) + EVT_CALL(LoadPath, LVar0, LVar1, LVar2, EASING_LINEAR) + EVT_SETF(LVar4, EVT_FLOAT(1.0)) + EVT_LABEL(5) + EVT_CALL(GetNextPathPos) + EVT_CALL(SetNpcPos, NPC_Misstar, LVar1, LVar2, LVar3) + EVT_CALL(N(SetStarSpiritSparkleTrailPos), ArrayVar(12), ArrayVar(23), LVar1, LVar2, LVar3) + EVT_ADDF(LVar4, EVT_FLOAT(-0.03125)) + EVT_CALL(SetNpcScale, NPC_Misstar, LVar4, LVar4, LVar4) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 1) + EVT_GOTO(5) + EVT_END_IF + EVT_CALL(N(SetCardCaptureState1)) + EVT_CALL(SetNpcAnimation, NPC_Misstar, ANIM_WorldMisstar_Panic) + EVT_CALL(func_802CFD30, 4, 0, 0, 0, 0, 0) + EVT_CALL(SetNpcFlagBits, NPC_Misstar, NPC_FLAG_2, TRUE) + EVT_CALL(func_802D7B10, ArrayVar(12)) + EVT_END_THREAD + EVT_WAIT(20) + EVT_CALL(func_802D7B10, ArrayVar(2)) + EVT_CALL(GetNpcPos, NPC_Mamar, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_RING_BLAST, 1, LVar0, LVar1, LVar2, 4, 20) + EVT_THREAD + EVT_WAIT(3) + EVT_CALL(GetNpcPos, NPC_Mamar, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_MISC_PARTICLES, 3, LVar0, LVar1, LVar2, 16, 16, 2, 20, 0) + EVT_SET(ArrayVar(9), LVarF) + EVT_CALL(func_802428C8_A2CB08, 2, -60, EVT_FLOAT(0.5)) + EVT_CALL(LoadPath, LVar0, LVar1, LVar2, EASING_LINEAR) + EVT_SETF(LVar4, EVT_FLOAT(1.0)) + EVT_LABEL(2) + EVT_CALL(GetNextPathPos) + EVT_CALL(SetNpcPos, NPC_Mamar, LVar1, LVar2, LVar3) + EVT_CALL(N(SetStarSpiritSparkleTrailPos), ArrayVar(9), ArrayVar(20), LVar1, LVar2, LVar3) + EVT_ADDF(LVar4, EVT_FLOAT(-0.03125)) + EVT_CALL(SetNpcScale, NPC_Mamar, LVar4, LVar4, LVar4) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 1) + EVT_GOTO(2) + EVT_END_IF + EVT_CALL(N(SetCardCaptureState1)) + EVT_CALL(SetNpcAnimation, NPC_Mamar, ANIM_WorldMamar_Panic) + EVT_CALL(func_802CFD30, 1, 0, 0, 0, 0, 0) + EVT_CALL(SetNpcFlagBits, NPC_Mamar, NPC_FLAG_2, TRUE) + EVT_CALL(func_802D7B10, ArrayVar(9)) + EVT_END_THREAD + EVT_WAIT(20) + EVT_RETURN + EVT_END +}; + +f32 N(FinalCamMoveBoomLength) = 130.0; + +API_CALLABLE(N(CamPullBack_Final)) { + Camera* camera = &gCameras[gCurrentCameraID]; + + N(lerp_value_with_max_step)(N(IntroCamSettings15).boomLength, N(IntroCamSettings16).boomLength, + N(FinalCamMoveBoomLength), 1.0f, &N(FinalCamMoveBoomLength)); + camera->panActive = TRUE; + camera->controlSettings.boomLength = N(FinalCamMoveBoomLength); + if (N(FinalCamMoveBoomLength) == 700.0f) { + return ApiStatus_DONE1; + } + return ApiStatus_BLOCK; +} + +s32 N(FlyToBowserTime) = 0; + +BSS f32 N(FlyToBowserStartX); +BSS f32 N(FlyToBowserStartZ); + +API_CALLABLE(N(KammyFlyToBowser)) { + Npc* kammy = resolve_npc(script, NPC_Kammy); + + if (isInitialCall) { + N(FlyToBowserStartX) = kammy->pos.x; + N(FlyToBowserStartZ) = kammy->pos.z; + } + + N(interp_value_with_easing)(INTRO_MATH_EASING_COS_IN_OUT, N(FlyToBowserStartX), -95.0f, N(FlyToBowserTime), 40.0f, &kammy->pos.x); + N(interp_value_with_easing)(INTRO_MATH_EASING_COS_IN_OUT, N(FlyToBowserStartZ), 20.0f, N(FlyToBowserTime), 40.0f, &kammy->pos.z); + kammy->colliderPos.x = kammy->pos.x; + kammy->colliderPos.z = kammy->pos.z; + + N(FlyToBowserTime)++; + if (N(FlyToBowserTime) <= 40) { + return ApiStatus_BLOCK; + } + return ApiStatus_DONE1; +} + +BSS f32 N(D_8024F2FC); +BSS f32 N(D_8024F300); +BSS f32 N(D_8024F304); +BSS f32 N(D_8024F308); +BSS f32 N(D_8024F30C); +BSS f32 N(D_8024F310); +BSS char N(D_8024F314)[0x4]; + +BSS f32 N(StarSpiritsPosX)[7]; +BSS char N(D_8024F334)[0x4]; + +BSS f32 N(StarSpiritsPosY)[7]; +BSS char N(D_8024F354)[0x4]; + +BSS f32 N(StarSpiritsPosZ)[7]; + +BSS f32 N(AnimBowser_FlyOff_InitialY); +BSS f32 N(AnimKammy_FlyOff_InitialY); +BSS char N(D_8024F37C)[0x4]; +BSS s32 N(D_8024F380); +BSS char N(D_8024F384)[0x74]; +BSS s32 N(D_8024F3F8)[10]; +BSS s32 N(D_8024F420)[10]; +BSS s32 N(D_8024F448)[10]; +BSS s32 N(D_8024F470)[10]; +BSS s32 N(D_8024F498)[10]; +BSS s32 N(D_8024F4C0)[10]; +BSS s32 N(D_8024F4E8)[10]; +BSS StoryGraphicData N(StoryGraphics); + +void N(appendGfx_image_strips)( + s32 baseX, s32 baseY, + IMG_PTR img, PAL_PTR pal, + s32 alpha, s32 width, s32 height, s32 lineHeight +); + +// when the spirits leap back in shock, their radial position is multuplied by these; xz by the first, y by the second +s32 N(StarSpiritLeapBackScalars)[] = { + EVT_FLOAT(0.93), EVT_FLOAT(0.9), + EVT_FLOAT(0.938), EVT_FLOAT(0.91), + EVT_FLOAT(0.955), EVT_FLOAT(0.93), + EVT_FLOAT(0.968), EVT_FLOAT(0.95), + EVT_FLOAT(0.979), EVT_FLOAT(0.97), + EVT_FLOAT(0.985), EVT_FLOAT(0.985), + EVT_FLOAT(0.995), EVT_FLOAT(0.995), + EVT_FLOAT(0.998), EVT_FLOAT(0.998), + EVT_FLOAT(0.999), EVT_FLOAT(0.999), + EVT_FLOAT(1.0), EVT_FLOAT(1.0), +}; + +StoryGraphicData* N(StoryGraphicsPtr) = &N(StoryGraphics); + +Gfx N(gfx_setup_story_viewport)[] = { + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPPipeSync(), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetTextureDetail(G_TD_CLAMP), + gsDPSetTextureLOD(G_TL_TILE), + gsDPSetTextureFilter(G_TF_POINT), + gsDPSetTextureConvert(G_TC_FILT), + gsDPSetTexturePersp(G_TP_NONE), + gsDPSetTextureLUT(G_TT_RGBA16), + gsDPSetCombineLERP(0, 0, 0, TEXEL0, 0, 0, 0, PRIMITIVE, 0, 0, 0, TEXEL0, 0, 0, 0, PRIMITIVE), + gsDPSetScissor(G_SC_NON_INTERLACE, 29, 28, 291, 190), + gsDPSetColorDither(G_CD_DISABLE), + gsDPSetAlphaDither(G_AD_PATTERN), + gsDPSetRenderMode(CVG_DST_FULL | ZMODE_OPA | FORCE_BL | G_RM_PASS, CVG_DST_FULL | ZMODE_OPA | FORCE_BL | GBL_c2(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1)), + gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA), + gsSPSetGeometryMode(G_SHADE | G_SHADING_SMOOTH), + gsSPEndDisplayList(), +}; + +void N(draw_foreground_bowser_silhouette)(void) { + s32 x = N(StoryGraphicsPtr)->silhouettePosX << 0x10; + s32 y = N(StoryGraphicsPtr)->silhouettePosY << 0x10; + + if (N(StoryGraphicsPtr)->workerID != 0) { + N(appendGfx_image_strips)( + x >> 0x10, y >> 0x10, + N(StoryGraphicsPtr)->imgBowser, N(StoryGraphicsPtr)->palBowser, + 255, 128, 128, 16 + ); + } +} + +void N(appendGfx_image_strips)(s32 baseX, s32 baseY, IMG_PTR img, PAL_PTR pal, s32 alpha, s32 width, s32 height, s32 lineHeight) { + u8 overlayType; + f32 overlayAlphaBack; + f32 overlayAlphaFront; + s32 i; + + if (alpha == 0) { + return; + } + + gDPPipeSync(gMasterGfxPos++); + gSPDisplayList(gMasterGfxPos++, N(gfx_setup_story_viewport)); + + if (pal != NULL) { + gDPLoadTLUT_pal256(gMasterGfxPos++, pal); + } else { + gDPSetTextureLUT(gMasterGfxPos++, G_TT_NONE); + } + + get_screen_overlay_params(1, &overlayType, &overlayAlphaBack); + get_screen_overlay_params(0, &overlayType, &overlayAlphaFront); + alpha = alpha * (255.0f - overlayAlphaBack) * (255.0f - overlayAlphaFront) / 255.0f / 255.0f; + if (alpha != 255) { + gDPSetCombineLERP(gMasterGfxPos++, + 0, 0, 0, TEXEL0, PRIMITIVE, 0, TEXEL0, 0, + 0, 0, 0, TEXEL0, PRIMITIVE, 0, TEXEL0, 0); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, alpha); + } else { + gDPSetCombineMode(gMasterGfxPos++, G_CC_DECALRGBA, G_CC_DECALRGBA); + } + + gDPSetScissor(gMasterGfxPos++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); + gDPSetRenderMode(gMasterGfxPos++, G_RM_CLD_SURF, G_RM_CLD_SURF2); + + + for (i = 0; i < height / lineHeight; i++) { + gDPLoadTextureTile(gMasterGfxPos++, img, pal != NULL ? G_IM_FMT_CI : G_IM_FMT_IA, G_IM_SIZ_8b, width, height, + 0, i * lineHeight, width - 1, i * lineHeight + lineHeight - 1, 0, + G_TX_WRAP, G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); + gSPScisTextureRectangle(gMasterGfxPos++, baseX * 4, (baseY + i * lineHeight) * 4, (baseX + width) * 4, + (baseY + i * lineHeight + lineHeight) * 4, G_TX_RENDERTILE, 0, (i * lineHeight) * 32, 1024, 1024); + } + + gDPPipeSync(gMasterGfxPos++); +} + +void N(draw_background_tape)(void) { + N(appendGfx_image_strips)( + N(StoryGraphicsPtr)->tapePosX, N(StoryGraphicsPtr)->tapePosY, + N(StoryGraphicsPtr)->imgTape, NULL, + N(StoryGraphicsPtr)->tapeAlpha, 128, 128, 32 + ); +} + +void N(appendGfx_image_ci)(s32 baseX, s32 baseY, IMG_PTR img, PAL_PTR pal) { + s32 i; + s32 m = 1; + + gDPPipeSync(gMasterGfxPos++); + gDPLoadTLUT_pal256(gMasterGfxPos++, pal); + for (i = 0; i < 23; i++) { + gDPLoadTextureTile(gMasterGfxPos++, img, G_IM_FMT_CI, G_IM_SIZ_8b, 264, 162, + 0, i * 7, 263, i * 7 + 7 - 1, 0, + G_TX_WRAP, G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); + gSPScisTextureRectangle(gMasterGfxPos++, baseX * 4, (baseY + i * 7) * 4, (baseX + 264) * 4, (baseY + i * 7 + 7) * 4, + G_TX_RENDERTILE, 0, (i * 7) << 5, 1024, 1024); + } + if (m != 0) { + gDPLoadTextureTile(gMasterGfxPos++, img, G_IM_FMT_CI, G_IM_SIZ_8b, 264, 0, + 0, i * 7, 263, i * 7 + m - 1, 0, + G_TX_WRAP, G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); + gSPScisTextureRectangle(gMasterGfxPos++, baseX * 4, (baseY + i * 7) * 4, (baseX + 264) * 4, (baseY + i * 7 + m) * 4, + G_TX_RENDERTILE, 0, (i * 7) << 5, 1024, 1024); + } + gDPPipeSync(gMasterGfxPos++); +} + +void N(worker_draw_story_graphics)(void) { + Camera* camera = &gCameras[gCurrentCameraID]; + s32 vpX = camera->viewportStartX; + s32 vpY = camera->viewportStartY; + u8 overlayType; + f32 overlayAlpha; + + N(draw_background_tape)(); + + gSPDisplayList(gMasterGfxPos++, N(gfx_setup_story_viewport)); + gDPSetColorImage(gMasterGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, nuGfxCfb_ptr); + + if (N(StoryGraphicsPtr)->storyPageAlpha < 255) { + gDPSetRenderMode(gMasterGfxPos++, G_RM_CLD_SURF, G_RM_CLD_SURF2); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, N(StoryGraphicsPtr)->storyPageAlpha); + } + get_screen_overlay_params(1, &overlayType, &overlayAlpha); + if (overlayAlpha != 0.0f) { + gDPSetCombineLERP(gMasterGfxPos++, + PRIMITIVE, TEXEL0, PRIMITIVE_ALPHA, TEXEL0, 0, 0, 0, 1, + PRIMITIVE, TEXEL0, PRIMITIVE_ALPHA, TEXEL0, 0, 0, 0, 1); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 208, 208, 208, (s32) overlayAlpha); + } + + if (!N(StoryGraphicsPtr)->flipOrder) { + N(appendGfx_image_ci)( + vpX + N(StoryGraphicsPtr)->backImgPosX, + vpY + N(StoryGraphicsPtr)->backImgPosY, + N(StoryGraphicsPtr)->imgBack, + N(StoryGraphicsPtr)->palBack + ); + N(appendGfx_image_ci)( + vpX + N(StoryGraphicsPtr)->frontImgPosX, + vpY + N(StoryGraphicsPtr)->frontImgPosY, + N(StoryGraphicsPtr)->imgFront, + N(StoryGraphicsPtr)->palFront + ); + } else { + N(appendGfx_image_ci)( + vpX + N(StoryGraphicsPtr)->frontImgPosX, + vpY + N(StoryGraphicsPtr)->frontImgPosY, + N(StoryGraphicsPtr)->imgFront, + N(StoryGraphicsPtr)->palFront + ); + N(appendGfx_image_ci)( + vpX + N(StoryGraphicsPtr)->backImgPosX, + vpY + N(StoryGraphicsPtr)->backImgPosY, + N(StoryGraphicsPtr)->imgBack, + N(StoryGraphicsPtr)->palBack + ); + } +} + +#ifdef SHIFT +#define TAPE_OFFSET title_tape_ROM_START - title_bg_1_ROM_START +#else +#define TAPE_OFFSET 0x2A440 +#endif + +#define STORY_IMG_SIZE (264 * 162 * G_IM_SIZ_8b_BYTES) +#define TAPE_IMG_SIZE (128 * 128 * G_IM_SIZ_8b_BYTES) +#define BOWSER_IMG_SIZE (128 * 128 * G_IM_SIZ_8b_BYTES) +#define PAL_256_SIZE (256 * 2) + +void N(load_story_image)(s32 loadBackImage, s32 imageIdx) { + s32 i; + + imageIdx--; + if (imageIdx < 0) { + u16* pal = N(StoryGraphicsPtr)->palFront; + + // overwrite palette to fill entire frame with subtle off-white coloring + for (i = 0; i < 256; i++) { + *pal++ = GPACK_RGBA5551(212, 212, 212, 1); + } + return; + } + + if (!loadBackImage) { + dma_copy( + title_bg_1_ROM_START + imageIdx * (STORY_IMG_SIZE + PAL_256_SIZE), + title_bg_1_ROM_START + (imageIdx + 1) * (STORY_IMG_SIZE + PAL_256_SIZE), + N(StoryGraphicsPtr)->imgFront + ); + } else { + dma_copy( + title_bg_1_ROM_START + imageIdx * (STORY_IMG_SIZE + PAL_256_SIZE), + title_bg_1_ROM_START + (imageIdx + 1) * (STORY_IMG_SIZE + PAL_256_SIZE), + N(StoryGraphicsPtr)->imgBack + ); + } +} + +API_CALLABLE(N(InitializeStoryGraphicsData)) { + u8* dmaEnd; + u8* dmaStart; + s32 tapeOffset; + u8* it; + + N(StoryGraphicsPtr)->workerID = create_worker_frontUI(NULL, N(worker_draw_story_graphics)); + N(StoryGraphicsPtr)->imgFront = it = mdl_get_next_texture_address( + (STORY_IMG_SIZE + PAL_256_SIZE) + + (STORY_IMG_SIZE + PAL_256_SIZE) + + TAPE_IMG_SIZE + + (BOWSER_IMG_SIZE + PAL_256_SIZE)); + it += STORY_IMG_SIZE; + N(StoryGraphicsPtr)->palFront = (u16*) it; + it += PAL_256_SIZE; + N(StoryGraphicsPtr)->imgBack = it; + it += STORY_IMG_SIZE; + N(StoryGraphicsPtr)->palBack = (u16*) it; + it += PAL_256_SIZE; + N(StoryGraphicsPtr)->imgTape = it; + it += TAPE_IMG_SIZE; + N(StoryGraphicsPtr)->imgBowser = it; + it += BOWSER_IMG_SIZE; + N(StoryGraphicsPtr)->palBowser = (u16*) it; + N(StoryGraphicsPtr)->frontImgPosX = 0; + N(StoryGraphicsPtr)->frontImgPosY = 0; + N(StoryGraphicsPtr)->backImgPosX = 0; + N(StoryGraphicsPtr)->backImgPosY = 0; + N(StoryGraphicsPtr)->silhouettePosX = 0; + N(StoryGraphicsPtr)->silhouettePosY = 240; + N(StoryGraphicsPtr)->tapePosX = 111; + N(StoryGraphicsPtr)->tapePosY = 54; + + N(load_story_image)(FALSE, STORY_PAGE_BLANK); + N(load_story_image)(TRUE, STORY_PAGE_STARRY_SKY); + + // load the tape and bowser silhouette images + tapeOffset = TAPE_OFFSET; + dmaStart = title_bg_1_ROM_START + tapeOffset; + dmaEnd = title_bg_1_ROM_START + tapeOffset + TAPE_IMG_SIZE; + + dma_copy(dmaStart, dmaEnd + (BOWSER_IMG_SIZE + PAL_256_SIZE), N(StoryGraphicsPtr)->imgTape); + N(StoryGraphicsPtr)->flipOrder = 0; + N(StoryGraphicsPtr)->storyPageAlpha = 255; + N(StoryGraphicsPtr)->tapeAlpha = 0; + return ApiStatus_DONE2; +} + +enum { + STORY_PAGE_STATE_BEGIN = 0, + STORY_PAGE_STATE_WAIT = 1, + STORY_PAGE_STATE_NEXT = 2, + STORY_PAGE_STATE_BOWSER_BEGIN = 3, + STORY_PAGE_STATE_BOWSER_ANIM = 4, + STORY_PAGE_STATE_BOWSER_NEXT = 5, + STORY_PAGE_STATE_DONE = 6, +}; + +s32 N(StoryPageState) = STORY_PAGE_STATE_BEGIN; +s32 N(CurrentStoryPageIdx) = 0; +s32 N(CurrentStoryPageTime)= 0; +u32 N(BowserSilhouetteTime) = 0; + +s32 N(StoryPageDuration)[] = { + [STORY_PAGE_BLANK] 222, + [STORY_PAGE_STARRY_SKY] 338, + [STORY_PAGE_SHRINE_EXT] 338, + [STORY_PAGE_STAR_ROD] 338, + [STORY_PAGE_SHRINE_INT] 622, +}; + +s32 N(NextPageAnimOffsetsX)[] = { + 0, 0, 0, -1, -2, -3, -4, -9, -15, -22, + -30, -39, -49, -60, -72, -85, -99, -114, -130, -147, + -165, -184, -204, -225, -247, -270, +}; + +u8 N(BowserSilhouetteShakeY)[] = { + 240, 240, 240, 240, 210, 197, 185, 174, + 168, 170, 170, 170, 170, 170, 170, 167, + 165, 164, 163, 162, 162, 161, 161, 162, + 162, 163, 164, 165, 167, 170, 173, 175, + 176, 176, 175, 172, 171, 170, 170, 167, + 165, 164, 164, 165, 167, 170, 173, 175, + 176, 176, 175, 173, 170, 167, 165, 164, + 164, 165, 167, 170, 173, 175, 176, 176, + 175, 173, 170, 167, 165, 164, 165, 164, + 165, 164, 165, 164, 165, 164, 165, 164, + 165, 164, 165, 164, 165, 164, 164, 165, + 167, 170, 173, 175, 176, 176, 176, 176, + 176, 176, 174, 170, 167, 165, 164, 164, + 165, 167, 170, 170, 167, 165, 164, 164, + 165, 167, 170, 170, 167, 165, 164, 164, + 165, 167, 170, 170, 167, 165, 164, 164, + 165, 167, 170, 170, 167, 165, 164, 164, + 165, 167, 170, 170, 167, 165, 164, 164, + 165, 167, 170, 170, 167, 165, 164, 165, + 166, 167, 166, 165, 166, 167, 166, 165, + 166, 167, 166, 165, 166, 167, 166, 167, + 168, 169, 170, 170, 170, 170, 170, 170, + 170, 170, 170, 170, 170, 170, 173, 175, + 176, 176, 175, 173, 170, 167, 165, 164, + 164, 165, 167, 170, 173, 175, 176, 176, + 175, 173, 170, 167, 165, 164, 164, 165, + 167, 170, 173, 174, 175, 174, 173, 170, + 167, 165, 164, 164, 165, 167, 170, 173, + 175, 176, 176, 175, 173, 170, 167, 165, + 164, 164, 165, 167, 170, 173, 175, 176, + 176, 175, 173, 170, 167, 165, 164, 164, + 165, 167, 169, 170, 170, 170, 170, 170, + 170, 170, 170, 170, 170, 170, 170, 167, + 165, 164, 164, 165, 167, 170, 170, 167, + 165, 164, 164, 165, 167, 170, 173, 175, + 176, 176, 175, 173, 170, 167, 165, 164, + 164, 165, 167, 170, 173, 175, 176, 176, + 175, 173, 170, 167, 165, 164, 164, 165, + 167, 170, 173, 175, 176, 176, 175, 173, + 170, 167, 165, 164, 164, 165, 167, 170, +}; + +u16 N(BowserSilhouetteLeapX)[] = { + 100, 110, 121, 136, 155, 175, 195, 214, 232, 249, 265, 280, 294, 307, 319 +}; + +u16 N(BowserSilhouetteLeapY)[] = { + 3, 2, -6, -21, -40, -63, -90, -120, -160, -200, -240, -280, -320 +}; + +API_CALLABLE(N(AnimateStorybookPages)) { + switch (N(StoryPageState)) { + case STORY_PAGE_STATE_BEGIN: + N(StoryPageState)++; + N(CurrentStoryPageTime) = N(StoryPageDuration)[N(CurrentStoryPageIdx)]; + break; + case STORY_PAGE_STATE_WAIT: + if (N(CurrentStoryPageTime) != 0) { + N(CurrentStoryPageTime)--; + } else { + N(CurrentStoryPageTime) = ARRAY_COUNT(N(NextPageAnimOffsetsX)); + N(StoryPageState)++; + sfx_play_sound(SOUND_B0); + } + break; + case STORY_PAGE_STATE_NEXT: + if (N(CurrentStoryPageTime) != 0) { + N(CurrentStoryPageTime)--; + if (!N(StoryGraphicsPtr)->flipOrder) { + N(StoryGraphicsPtr)->frontImgPosX = N(NextPageAnimOffsetsX)[25 - N(CurrentStoryPageTime)]; + N(StoryGraphicsPtr)->frontImgPosY = 0; + } else { + N(StoryGraphicsPtr)->backImgPosX = N(NextPageAnimOffsetsX)[25 - N(CurrentStoryPageTime)]; + N(StoryGraphicsPtr)->backImgPosY = 0; + } + } else { + N(CurrentStoryPageIdx)++; + if (N(CurrentStoryPageIdx) + 1 < STORY_PAGE_SHRINE_INT + 1) { + N(load_story_image)(N(StoryGraphicsPtr)->flipOrder, N(CurrentStoryPageIdx) + 1); + N(StoryPageState) = STORY_PAGE_STATE_BEGIN; + N(StoryGraphicsPtr)->frontImgPosX = 0; + N(StoryGraphicsPtr)->frontImgPosY = 0; + N(StoryGraphicsPtr)->backImgPosX = 0; + N(StoryGraphicsPtr)->backImgPosY = 0; + N(StoryGraphicsPtr)->flipOrder = N(StoryGraphicsPtr)->flipOrder ^ 1; + } else { + if (!N(StoryGraphicsPtr)->flipOrder) { + N(StoryGraphicsPtr)->backImgPosX = 0; + N(StoryGraphicsPtr)->backImgPosY = 0; + } else { + N(StoryGraphicsPtr)->frontImgPosX = 0; + N(StoryGraphicsPtr)->frontImgPosY = 0; + } + gCameras[CAM_DEFAULT].flags &= ~CAMERA_FLAG_ENABLED; + N(StoryPageState)++; + } + } + break; + case STORY_PAGE_STATE_BOWSER_BEGIN: + N(BowserSilhouetteTime) = 0; + N(StoryPageState)++; + N(CurrentStoryPageTime) = N(StoryPageDuration)[N(CurrentStoryPageIdx)]; + break; + case STORY_PAGE_STATE_BOWSER_ANIM: + if (N(CurrentStoryPageTime) != 0) { + if (N(CurrentStoryPageTime) < N(StoryPageDuration)[N(CurrentStoryPageIdx)] - 268) { + u32 timeLeft = N(BowserSilhouetteTime) - ARRAY_COUNT(N(BowserSilhouetteShakeY)); + + if (N(BowserSilhouetteTime) < ARRAY_COUNT(N(BowserSilhouetteShakeY))) { + N(StoryGraphicsPtr)->silhouettePosX = N(BowserSilhouetteLeapX)[0]; + N(StoryGraphicsPtr)->silhouettePosY = N(BowserSilhouetteShakeY)[N(BowserSilhouetteTime)]; + } else { + if (timeLeft < ARRAY_COUNT(N(BowserSilhouetteLeapX))) { + N(StoryGraphicsPtr)->silhouettePosX = N(BowserSilhouetteLeapX)[timeLeft]; + if (timeLeft < ARRAY_COUNT(N(BowserSilhouetteLeapY))) { + N(StoryGraphicsPtr)->silhouettePosY = + N(BowserSilhouetteShakeY)[ARRAY_COUNT(N(BowserSilhouetteShakeY)) - 1] + + N(BowserSilhouetteLeapY)[timeLeft]; + } + } + } + N(BowserSilhouetteTime)++; + } + N(CurrentStoryPageTime)--; + } else { + N(CurrentStoryPageTime) = 26; + N(StoryPageState)++; + N(StoryGraphicsPtr)->tapeAlpha = 255; + sfx_play_sound(SOUND_B0); + } + break; + case STORY_PAGE_STATE_BOWSER_NEXT: + if (N(CurrentStoryPageTime) != 0) { + N(CurrentStoryPageTime)--; + if (!N(StoryGraphicsPtr)->flipOrder) { + N(StoryGraphicsPtr)->backImgPosX = N(NextPageAnimOffsetsX)[25 - N(CurrentStoryPageTime)]; + N(StoryGraphicsPtr)->backImgPosY = 0; + } else { + N(StoryGraphicsPtr)->frontImgPosX = N(NextPageAnimOffsetsX)[25 - N(CurrentStoryPageTime)]; + N(StoryGraphicsPtr)->frontImgPosY = 0; + } + } else { + N(StoryPageState)++; + } + break; + case STORY_PAGE_STATE_DONE: + default: + return ApiStatus_DONE1; + } + return ApiStatus_BLOCK; +} + +s32 N(FadeAwayTapeTime) = 30; + +API_CALLABLE(N(FadeAwayTapeGraphic)) { + if (N(FadeAwayTapeTime) != 0) { + N(FadeAwayTapeTime)--; + N(StoryGraphicsPtr)->tapeAlpha = (N(FadeAwayTapeTime) * 255) / 30; + return ApiStatus_BLOCK; + } else { + N(StoryGraphicsPtr)->tapeAlpha = 0; + free_worker(N(StoryGraphicsPtr)->workerID); + N(StoryGraphicsPtr)->workerID = 0; + return ApiStatus_DONE1; + } +} + +s32 N(D_8024ACBC_A34EFC) = 0x00010019; + +API_CALLABLE(N(ForceStarRodAlwaysFaceCamera)) { + Npc* npc = resolve_npc(script, NPC_StarRod); + + npc->yaw = npc->renderYaw = 180.0f - gCameras[gCurrentCameraID].currentYaw; + return ApiStatus_BLOCK; +} + +#ifdef NON_MATCHING +API_CALLABLE(func_80244550_A2E790) { + Npc* kammy = resolve_npc(script, NPC_Kammy); + EffectInstance* effect = evt_get_variable(script, ArrayVar(0)); + f32 x, y, z; + s32 i; + + if (isInitialCall) { + N(D_8024F2FC) = kammy->pos.x; + N(D_8024F300) = kammy->pos.y; + N(D_8024F304) = kammy->pos.z; + + for (i = NPC_Eldstar; i < ARRAY_COUNT(N(StarSpiritsPosX)); i++) { + Npc* npc2 = resolve_npc(script, i); + + N(StarSpiritsPosX)[i] = npc2->pos.x; + N(StarSpiritsPosY)[i] = npc2->pos.y; + N(StarSpiritsPosZ)[i] = npc2->pos.z; + } + N(D_8024F308) = effect->data.somethingRotating->unk_04; + N(D_8024F30C) = effect->data.somethingRotating->unk_08; + N(D_8024F310) = effect->data.somethingRotating->unk_0C; + } + + x = kammy->pos.x - N(D_8024F2FC); + y = kammy->pos.y - N(D_8024F300); + z = kammy->pos.z - N(D_8024F304); + + for (i = 0; i < ARRAY_COUNT(N(StarSpiritsPosX)); i++) { + Npc* npc2 = resolve_npc(script, i); + + npc2->pos.x = N(StarSpiritsPosX)[i] + x; + npc2->pos.y = N(StarSpiritsPosY)[i] + y; + npc2->pos.z = N(StarSpiritsPosZ)[i] + z; + npc2->colliderPos.x = npc2->pos.x; + npc2->colliderPos.y = npc2->pos.y; + npc2->colliderPos.z = npc2->pos.z; + } + effect->data.somethingRotating->unk_04 = N(D_8024F308) + x; + effect->data.somethingRotating->unk_08 = N(D_8024F30C) + y; + effect->data.somethingRotating->unk_0C = N(D_8024F310) + z; + return ApiStatus_BLOCK; +} +#else +API_CALLABLE(func_80244550_A2E790); +INCLUDE_ASM(s32, "world/area_hos/hos_05/A2AAC0", func_80244550_A2E790); +#endif + +extern EvtScript N(EVS_Scene_IntroStory); + +EvtScript N(EVS_Intro_Main) = { + EVT_USE_ARRAY(EVT_PTR(N(D_8024F380))) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(N(SetWorldFogParams), 0, 0, 0, 0, 0, 0, 0, 995, 1000) + EVT_CALL(N(InitWorldFogMode)) + EVT_CALL(N(SetWorldColorParams), 255, 255, 255, 0, 0, 0, 0) + EVT_CALL(SetCamLeadPlayer, CAM_DEFAULT, FALSE) + EVT_CALL(N(AdjustCamVfov), 0, 62) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 157, 0) + EVT_CALL(LoadSettings, CAM_DEFAULT, EVT_PTR(N(IntroCamSettings1))) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(N(InitializeStoryGraphicsData)) + EVT_THREAD + EVT_WAIT(2) + EVT_CALL(SetCamEnabled, CAM_DEFAULT, FALSE) + EVT_END_THREAD + EVT_CALL(EnableTexPanning, MODEL_o33, FALSE) + EVT_CALL(EnableTexPanning, MODEL_o34, FALSE) + EVT_CALL(EnableGroup, MODEL_g271, FALSE) + EVT_CALL(EnableGroup, MODEL_g272, FALSE) + EVT_CALL(EnableGroup, MODEL_g273, FALSE) + EVT_CALL(N(InitializeStoryCamera)) + EVT_CALL(EnableGroup, MODEL_g277, FALSE) + EVT_CALL(EnableModel, MODEL_o8, FALSE) + EVT_EXEC(N(EVS_Scene_IntroStory)) + EVT_RETURN + EVT_END +}; + +f32 N(AnimBowser_FlyOff_Time) = 0.0; + +API_CALLABLE(N(AnimBowser_FlyOff)) { + Npc* bowserMain = resolve_npc(script, NPC_Bowser_Main); + Npc* bowserProp = resolve_npc(script, NPC_Bowser_Prop); + + if (isInitialCall) { + N(AnimBowser_FlyOff_InitialY) = bowserMain->pos.y; + } + N(interp_value_with_easing)(INTRO_MATH_EASING_COS_IN_OUT, + N(AnimBowser_FlyOff_InitialY), + N(AnimBowser_FlyOff_InitialY) + 500.0f, + N(AnimBowser_FlyOff_Time), + 40.0f, &bowserMain->pos.y); + bowserProp->pos.y = bowserMain->pos.y; + bowserMain->colliderPos.y = bowserMain->pos.y; + bowserProp->colliderPos.y = bowserProp->pos.y; + N(AnimBowser_FlyOff_Time)++; + if (N(AnimBowser_FlyOff_Time) > 40.0f) { + return ApiStatus_DONE1; + } else { + return ApiStatus_BLOCK; + } +} + +f32 N(AnimKammy_FlyOff_Time) = 0.0; + +API_CALLABLE(N(AnimKammy_FlyOff)) { + Npc* kammy = resolve_npc(script, NPC_Kammy); + + if (isInitialCall) { + N(AnimKammy_FlyOff_InitialY) = kammy->pos.y; + } + N(interp_value_with_easing)(INTRO_MATH_EASING_COS_IN_OUT, + N(AnimKammy_FlyOff_InitialY), + N(AnimKammy_FlyOff_InitialY) + 500.0f, + N(AnimKammy_FlyOff_Time), + 40.0f, &kammy->pos.y); + kammy->colliderPos.y = kammy->pos.y; + N(AnimKammy_FlyOff_Time)++; + if (N(AnimKammy_FlyOff_Time) > 40.0f) { + return ApiStatus_DONE1; + } else { + return ApiStatus_BLOCK; + } +} + +API_CALLABLE(N(func_80244934_A2EB74)) { + if (isInitialCall) { + script->functionTemp[0] = 0; + set_screen_overlay_params_back(1, 255.0f); + set_screen_overlay_color(1, 250, 250, 250); + return ApiStatus_BLOCK; + } + script->functionTemp[0]++; + if (script->functionTemp[0] == 10) { + set_screen_overlay_params_back(0, 0.0f); + set_screen_overlay_color(1, 250, 250, 250); + return ApiStatus_DONE2; + } + set_screen_overlay_params_back(1, (10 - script->functionTemp[0]) * 25); + set_screen_overlay_color(1, 250, 250, 250); + return ApiStatus_BLOCK; +} + +EvtScript N(EVS_Scene_IntroStory) = { + EVT_CALL(SetNpcPaletteSwapMode, NPC_StarRod, 2) + EVT_CALL(SetNpcPaletteSwapLower, NPC_StarRod, 0, 1, 20, 5) + EVT_CALL(SetNpcPaletteSwapMode, NPC_Eldstar, 2) + EVT_CALL(SetNpcPaletteSwapMode, NPC_Mamar, 2) + EVT_CALL(SetNpcPaletteSwapMode, NPC_Skolar, 2) + EVT_CALL(SetNpcPaletteSwapMode, NPC_Muskular, 2) + EVT_CALL(SetNpcPaletteSwapMode, NPC_Misstar, 2) + EVT_CALL(SetNpcPaletteSwapMode, NPC_Klevar, 2) + EVT_CALL(SetNpcPaletteSwapMode, NPC_Kalmar, 2) + EVT_CALL(SetNpcPaletteSwapping, NPC_Eldstar, 0, 1, 25, 12, 4, 18, 0, 0) + EVT_CALL(SetNpcPaletteSwapping, NPC_Mamar, 0, 1, 25, 12, 4, 18, 0, 0) + EVT_CALL(SetNpcPaletteSwapping, NPC_Skolar, 0, 1, 25, 12, 4, 18, 0, 0) + EVT_CALL(SetNpcPaletteSwapping, NPC_Muskular, 0, 1, 25, 12, 4, 18, 0, 0) + EVT_CALL(SetNpcPaletteSwapping, NPC_Misstar, 0, 1, 25, 12, 4, 18, 0, 0) + EVT_CALL(SetNpcPaletteSwapping, NPC_Klevar, 0, 1, 25, 12, 4, 18, 0, 0) + EVT_CALL(SetNpcPaletteSwapping, NPC_Kalmar, 0, 1, 25, 12, 4, 18, 0, 0) + EVT_CALL(SetNpcFlagBits, NPC_StarRod, NPC_FLAG_40000, TRUE) + EVT_CALL(SetNpcAnimation, NPC_Bowser_Main, ANIM_WorldBowser_ClownCarStill) + EVT_CALL(SetNpcAnimation, NPC_Bowser_Prop, ANIM_WorldBowser_ClownCarPropeller) + EVT_CALL(EnableNpcShadow, NPC_Bowser_Main, FALSE) + EVT_CALL(EnableNpcShadow, NPC_Bowser_Prop, FALSE) + EVT_CALL(EnableNpcShadow, NPC_StarRod, FALSE) + EVT_CALL(EnableNpcShadow, NPC_Eldstar, FALSE) + EVT_CALL(EnableNpcShadow, NPC_Mamar, FALSE) + EVT_CALL(EnableNpcShadow, NPC_Skolar, FALSE) + EVT_CALL(EnableNpcShadow, NPC_Muskular, FALSE) + EVT_CALL(EnableNpcShadow, NPC_Misstar, FALSE) + EVT_CALL(EnableNpcShadow, NPC_Klevar, FALSE) + EVT_CALL(EnableNpcShadow, NPC_Kalmar, FALSE) + EVT_CALL(EnableNpcShadow, NPC_Kammy, FALSE) + EVT_THREAD + EVT_CALL(N(ForceStarRodAlwaysFaceCamera)) + EVT_END_THREAD + EVT_CALL(InterpNpcYaw, NPC_Bowser_Main, 90, 0) + EVT_CALL(InterpNpcYaw, NPC_Bowser_Prop, 90, 0) + EVT_CALL(SetNpcAnimation, NPC_Bowser_Main, ANIM_WorldBowser_ClownCarTalk) + EVT_CALL(SetNpcAnimation, NPC_Bowser_Prop, ANIM_WorldBowser_ClownCarPropeller) + EVT_CALL(SetNpcAnimation, NPC_Kammy, ANIM_WorldKammy_Anim17) + EVT_CALL(InterpNpcYaw, NPC_Kammy, 45, 0) + EVT_CALL(SetNpcPos, NPC_Kammy, -145, 147, 84) + EVT_CALL(SetNpcAnimation, NPC_Misstar, ANIM_WorldMisstar_Still) + EVT_CALL(N(SetWorldFogParams), 0, 0, 0, 0, 0, 0, 0, 995, 1000) + EVT_CALL(N(SetWorldColorParams), 130, 130, 130, 0, 0, 0, 15) + EVT_CALL(N(AdjustCamVfov), 0, 35) + EVT_CALL(SetPanTarget, CAM_DEFAULT, -145, 147, 84) + EVT_CALL(LoadSettings, CAM_DEFAULT, EVT_PTR(N(IntroCamSettings6))) + EVT_CALL(N(AnimateStorybookPages)) + EVT_WAIT(50) + EVT_CALL(func_802CFD30, NPC_Bowser_Main, FOLD_TYPE_8, 0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_Bowser_Prop, FOLD_TYPE_8, 0, 0, 0, 0) + EVT_CALL(SetNpcPos, NPC_Bowser_Main, -64, 135, 85) + EVT_CALL(SetNpcPos, NPC_Bowser_Prop, -64, 135, 85) + EVT_THREAD + EVT_SET(LVar0, 0) + EVT_LOOP(50) + EVT_ADD(LVar0, 6) + EVT_IF_GT(LVar0, 255) + EVT_SET(LVar0, 255) + EVT_END_IF + EVT_CALL(func_802CFD30, NPC_Bowser_Main, FOLD_TYPE_8, 0, 0, 0, LVar0) + EVT_CALL(func_802CFD30, NPC_Bowser_Prop, FOLD_TYPE_8, 0, 0, 0, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_CALL(InterpNpcYaw, NPC_Bowser_Prop, 90, 0) + EVT_SET(LVar0, 0) + EVT_LOOP(40) + EVT_ADD(LVar0, 36) + EVT_CALL(SetNpcRotation, NPC_Bowser_Main, 0, LVar0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetNpcRotation, NPC_Bowser_Main, 0, 0, 0) + EVT_CALL(InterpNpcYaw, NPC_Bowser_Main, 90, 0) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(N(SetWorldColorParams), 117, 28, 42, 0, 0, 0, 15) + EVT_END_THREAD + EVT_PLAY_EFFECT(EFFECT_LIGHTNING, 1, 0, 20, 0, 0, 0) + EVT_SET(ArrayVar(17), LVarF) + EVT_THREAD + EVT_CALL(N(FadeAwayTapeGraphic)) + EVT_END_THREAD + EVT_WAIT(16) + EVT_THREAD + EVT_CALL(N(func_80244934_A2EB74)) + EVT_END_THREAD + EVT_LOOP(2) + EVT_CALL(N(SetWorldColorParams), 117, 28, 42, 165, 96, 152, 0) + EVT_CALL(N(SetWorldFogParams), 0, 0, 0, 127, 0, 0, 0, 975, 1000) + EVT_WAIT(1) + EVT_CALL(N(SetWorldColorParams), 117, 28, 42, 64, 34, 58, 0) + EVT_CALL(N(SetWorldFogParams), 0, 0, 0, 127, 0, 0, 0, 995, 1000) + EVT_WAIT(1) + EVT_CALL(N(SetWorldColorParams), 117, 28, 42, 0, 0, 0, 0) + EVT_CALL(N(SetWorldFogParams), 0, 0, 0, 0, 0, 0, 0, 995, 1000) + EVT_WAIT(5) + EVT_END_LOOP + EVT_WAIT(30) + EVT_CALL(func_802CFD30, NPC_Bowser_Main, FOLD_TYPE_8, 0, 0, 0, 255) + EVT_CALL(func_802CFD30, NPC_Bowser_Prop, FOLD_TYPE_8, 0, 0, 0, 255) + EVT_THREAD + EVT_SET(LVar0, 0) + EVT_LOOP(4) + EVT_ADD(LVar0, 70) + EVT_IF_GT(LVar0, 255) + EVT_SET(LVar0, 255) + EVT_END_IF + EVT_CALL(func_802CFD30, NPC_Bowser_Main, FOLD_TYPE_8, LVar0, LVar0, LVar0, 255) + EVT_CALL(func_802CFD30, NPC_Bowser_Prop, FOLD_TYPE_8, LVar0, LVar0, LVar0, 255) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_WAIT(3) + EVT_CALL(func_802D7B10, ArrayVar(17)) + EVT_THREAD + EVT_CALL(EnableTexPanning, MODEL_o33, TRUE) + EVT_CALL(EnableTexPanning, MODEL_o34, TRUE) + EVT_CALL(SetNpcAnimation, NPC_Eldstar, ANIM_WorldEldstar_Hurt) + EVT_CALL(SetNpcAnimation, NPC_Mamar, ANIM_WorldMamar_Hurt) + EVT_CALL(SetNpcAnimation, NPC_Skolar, ANIM_WorldSkolar_IdleSad) + EVT_CALL(SetNpcAnimation, NPC_Muskular, ANIM_WorldMuskular_Panic) + EVT_CALL(SetNpcAnimation, NPC_Misstar, ANIM_WorldMisstar_Panic) + EVT_CALL(SetNpcAnimation, NPC_Klevar, ANIM_WorldKlevar_Panic) + EVT_CALL(SetNpcAnimation, NPC_Kalmar, ANIM_WorldKalmar_Panic) + EVT_CALL(SetNpcAnimation, NPC_Kammy, ANIM_WorldKammy_Anim0E) + EVT_PLAY_EFFECT(EFFECT_ENDING_DECALS, 2, 0, 180, 0, EVT_FLOAT(2.59375), ArrayVar(15)) + EVT_PLAY_EFFECT(EFFECT_LIGHT_RAYS, 1, 0, 200, 0, EVT_FLOAT(1.0), ArrayVar(16)) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(N(AddBowserHoverOffset)) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(N(AddKammyHoverOffset)) + EVT_END_THREAD + EVT_WAIT(50) + EVT_CALL(N(AdjustCamVfov), 0, 40) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 157, 0) + EVT_CALL(LoadSettings, CAM_DEFAULT, EVT_PTR(N(IntroCamSettings7))) + EVT_CALL(SetNpcAnimation, NPC_Skolar, ANIM_WorldSkolar_IdleSad) + EVT_CALL(SetNpcAnimation, NPC_Muskular, ANIM_WorldMuskular_Panic) + EVT_CALL(SetNpcAnimation, NPC_Misstar, ANIM_WorldMisstar_Panic) + EVT_CALL(SetNpcAnimation, NPC_Klevar, ANIM_WorldKlevar_Panic) + EVT_CALL(SetNpcAnimation, NPC_Kalmar, ANIM_WorldKalmar_Hurt) + EVT_THREAD + EVT_WAIT(10) + EVT_SET(LVar0, 0) + EVT_LOOP(20) + EVT_ADD(LVar0, 36) + EVT_CALL(SetNpcRotation, NPC_Eldstar, 0, LVar0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_WAIT(10) + EVT_SET(LVar0, 0) + EVT_LOOP(20) + EVT_ADD(LVar0, 36) + EVT_CALL(SetNpcRotation, NPC_Eldstar, 0, LVar0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_WAIT(10) + EVT_SET(LVar0, 0) + EVT_LOOP(20) + EVT_ADD(LVar0, 36) + EVT_CALL(SetNpcRotation, NPC_Muskular, 0, LVar0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_WAIT(34) + EVT_SET(LVar0, 0) + EVT_LOOP(20) + EVT_ADD(LVar0, 36) + EVT_CALL(SetNpcRotation, NPC_Misstar, 0, LVar0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_WAIT(16) + EVT_SET(LVar0, 0) + EVT_LOOP(20) + EVT_ADD(LVar0, 36) + EVT_CALL(SetNpcRotation, NPC_Klevar, 0, LVar0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_WAIT(28) + EVT_SET(LVar0, 0) + EVT_LOOP(20) + EVT_ADD(LVar0, 36) + EVT_CALL(SetNpcRotation, NPC_Kalmar, 0, LVar0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_PLAY_EFFECT(EFFECT_LIGHTNING, 2, 0, 0, 0, 0, 0) + EVT_SET(ArrayVar(17), LVarF) + EVT_SET(LVar0, 120) + EVT_SET(LVar1, 895) + EVT_LOOP(10) + EVT_ADD(LVar0, -12) + EVT_ADD(LVar1, 10) + EVT_CALL(N(SetWorldFogParams), 0, 0, 0, LVar0, 255, 255, 255, LVar1, 1000) + EVT_WAIT(1) + EVT_END_LOOP + EVT_LOOP(2) + EVT_CALL(N(SetWorldColorParams), 117, 28, 42, 165, 96, 152, 0) + EVT_CALL(N(SetWorldFogParams), 0, 0, 0, 127, 0, 0, 0, 975, 1000) + EVT_WAIT(1) + EVT_CALL(N(SetWorldColorParams), 117, 28, 42, 105, 60, 102, 0) + EVT_CALL(N(SetWorldFogParams), 0, 0, 0, 127, 0, 0, 0, 975, 1000) + EVT_WAIT(1) + EVT_CALL(N(SetWorldColorParams), 117, 28, 42, 64, 34, 58, 0) + EVT_CALL(N(SetWorldFogParams), 0, 0, 0, 127, 0, 0, 0, 995, 1000) + EVT_WAIT(1) + EVT_CALL(N(SetWorldColorParams), 117, 28, 42, 34, 14, 28, 0) + EVT_CALL(N(SetWorldFogParams), 0, 0, 0, 127, 0, 0, 0, 995, 1000) + EVT_WAIT(1) + EVT_CALL(N(SetWorldColorParams), 117, 28, 42, 0, 0, 0, 0) + EVT_CALL(N(SetWorldFogParams), 0, 0, 0, 0, 0, 0, 0, 995, 1000) + EVT_WAIT(5) + EVT_END_LOOP + EVT_WAIT(27) + EVT_CALL(func_802D7B10, ArrayVar(17)) + EVT_CALL(N(SetWorldFogParams), 0, 0, 0, 0, 0, 0, 0, 995, 1000) + EVT_CALL(N(AdjustCamVfov), 0, 25) + EVT_CALL(SetPanTarget, CAM_DEFAULT, -38, 210, 85) + EVT_CALL(LoadSettings, CAM_DEFAULT, EVT_PTR(N(IntroCamSettings8))) + EVT_CALL(SetNpcAnimation, NPC_Bowser_Main, ANIM_WorldBowser_ClownCarCloseMouth) + EVT_CALL(SetNpcPos, NPC_Bowser_Main, -30, 150, 162) + EVT_CALL(SetNpcPos, NPC_Bowser_Prop, -30, 150, 162) + EVT_CALL(SetNpcAnimation, NPC_Kammy, ANIM_WorldKammy_Anim11) + EVT_THREAD + EVT_CALL(N(SetWorldColorParams), 23, 10, 10, 0, 0, 0, 15) + EVT_WAIT(28) + EVT_CALL(N(SetWorldColorParams), 102, 45, 0, 114, 0, 0, 3) + EVT_CALL(N(SetWorldColorParams), 102, 45, 0, 0, 0, 0, 13) + EVT_CALL(N(SetWorldColorParams), 180, 180, 180, 0, 0, 0, 20) + EVT_END_THREAD + EVT_THREAD + EVT_SET(LVar0, 995) + EVT_LOOP(30) + EVT_SUB(LVar0, 10) + EVT_CALL(N(SetWorldFogParams), 0, 0, 0, 0, 0, 0, 0, LVar0, 1000) + EVT_WAIT(1) + EVT_END_LOOP + EVT_WAIT(10) + EVT_SET(LVar0, 875) + EVT_LOOP(60) + EVT_ADD(LVar0, 2) + EVT_CALL(N(SetWorldFogParams), 0, 0, 0, 0, 255, 0, 0, LVar0, 1000) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_SET(LVar0, -28) + EVT_SET(LVar1, 210) + EVT_SET(LVar2, 155) + EVT_SET(LVar3, -28) + EVT_SET(LVar4, 209) + EVT_SET(LVar5, 153) + EVT_CALL(N(CamPushIn_BowserInhale)) + EVT_PLAY_EFFECT(EFFECT_FIRE_BREATH, 0, -30, 210, 142, 0, 180, 0, 5, 2, 30) + EVT_CALL(SetNpcAnimation, NPC_Bowser_Main, ANIM_WorldBowser_ClownCarFireBreath) + EVT_THREAD + EVT_CALL(N(CamPullBack_BowserExhale)) + EVT_END_THREAD + EVT_WAIT(20) + EVT_PLAY_EFFECT(EFFECT_SHIMMER_BURST, 0, 0, 180, 0, EVT_FLOAT(0.703125), 30) + EVT_THREAD + EVT_WAIT(2) + EVT_CALL(RemoveEffect, ArrayVar(15)) + EVT_END_THREAD + EVT_WAIT(20) + EVT_CALL(N(AdjustCamVfov), 0, 25) + EVT_CALL(SetPanTarget, CAM_DEFAULT, -38, 210, 85) + EVT_CALL(LoadSettings, CAM_DEFAULT, EVT_PTR(N(IntroCamSettings9))) + EVT_WAIT(20) + EVT_CALL(SetNpcAnimation, NPC_Bowser_Main, ANIM_WorldBowser_ClownCarOpenMouth) + EVT_THREAD + EVT_CALL(N(BowserFlyToStarRod)) + EVT_END_THREAD + EVT_WAIT(25) + EVT_CALL(N(AdjustCamVfov), 0, 35) + EVT_CALL(SetPanTarget, CAM_DEFAULT, -240, 200, 113) + EVT_CALL(LoadSettings, CAM_DEFAULT, EVT_PTR(N(IntroCamSettings10))) + EVT_CALL(SetNpcAnimation, NPC_Skolar, ANIM_WorldSkolar_IdleSad) + EVT_CALL(SetNpcAnimation, NPC_Misstar, ANIM_WorldMisstar_Panic) + EVT_CALL(GetNpcPos, NPC_Skolar, LVar0, LVar1, LVar2) + EVT_THREAD + EVT_WAIT(5) + EVT_USE_BUF(EVT_PTR(N(StarSpiritLeapBackScalars))) + EVT_LOOP(10) + EVT_FBUF_READ2(LVarA, LVarB) + EVT_SETF(LVar3, LVar0) + EVT_SETF(LVar4, LVar1) + EVT_SETF(LVar5, LVar2) + EVT_MULF(LVar3, LVarB) + EVT_MULF(LVar4, LVarA) + EVT_MULF(LVar5, LVarB) + EVT_CALL(SetNpcPos, NPC_Skolar, LVar3, LVar4, LVar5) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_CALL(GetNpcPos, NPC_Misstar, LVar0, LVar1, LVar2) + EVT_THREAD + EVT_WAIT(9) + EVT_USE_BUF(EVT_PTR(N(StarSpiritLeapBackScalars))) + EVT_LOOP(10) + EVT_FBUF_READ2(LVarA, LVarB) + EVT_SETF(LVar3, LVar0) + EVT_SETF(LVar4, LVar1) + EVT_SETF(LVar5, LVar2) + EVT_MULF(LVar3, LVarB) + EVT_MULF(LVar4, LVarA) + EVT_MULF(LVar5, LVarB) + EVT_CALL(SetNpcPos, NPC_Misstar, LVar3, LVar4, LVar5) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_CALL(GetNpcPos, NPC_Skolar, LVar0, LVar1, LVar2) + EVT_MULF(LVar0, EVT_FLOAT(0.9)) + EVT_MULF(LVar1, EVT_FLOAT(0.93)) + EVT_MULF(LVar2, EVT_FLOAT(0.9)) + EVT_CALL(SetNpcPos, NPC_Skolar, LVar0, LVar1, LVar2) + EVT_CALL(GetNpcPos, NPC_Misstar, LVar0, LVar1, LVar2) + EVT_MULF(LVar0, EVT_FLOAT(0.9)) + EVT_MULF(LVar1, EVT_FLOAT(0.93)) + EVT_MULF(LVar2, EVT_FLOAT(0.9)) + EVT_CALL(SetNpcPos, NPC_Misstar, LVar0, LVar1, LVar2) + EVT_WAIT(35) + EVT_CALL(N(AdjustCamVfov), 0, 35) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 30, 232, 0) + EVT_CALL(LoadSettings, CAM_DEFAULT, EVT_PTR(N(IntroCamSettings11))) + EVT_CALL(SetNpcAnimation, NPC_Bowser_Main, ANIM_WorldBowser_ClownCarBrandish) + EVT_CALL(SetNpcPos, NPC_Bowser_Main, 0, 170, 0) + EVT_CALL(SetNpcPos, NPC_Bowser_Prop, 0, 170, 0) + EVT_CALL(SetNpcPos, NPC_StarRod, NPC_DISPOSE_LOCATION) + EVT_THREAD + EVT_CALL(N(SetWorldColorParams), 20, 20, 20, 0, 0, 0, 15) + EVT_END_THREAD + EVT_SET(LVar0, 21) + EVT_SET(LVar1, 260) + EVT_SET(LVar2, -21) + EVT_CALL(N(SetLightRayPos)) + EVT_WAIT(35) + EVT_THREAD + EVT_WAIT(70) + EVT_SET(LVar0, 0) + EVT_LOOP(10) + EVT_ADD(LVar0, 12) + EVT_CALL(N(SetWorldFogParams), 0, 0, 0, LVar0, 255, 0, 0, 995, 1000) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_WAIT(92) + EVT_CALL(N(SetWorldColorParams), 106, 94, 110, 216, 195, 131, 8) + EVT_CALL(N(SetWorldColorParams), 100, 105, 107, 159, 118, 50, 20) + EVT_CALL(N(SetWorldColorParams), 122, 180, 110, 0, 0, 0, 15) + EVT_CALL(N(SetWorldColorParams), 128, 128, 128, 255, 255, 200, 60) + EVT_END_THREAD + EVT_CALL(N(CamPullBack_BowserHoldingStarRod)) + EVT_CALL(N(AdjustCamVfov), 0, 35) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 177, 0) + EVT_CALL(LoadSettings, CAM_DEFAULT, EVT_PTR(N(IntroCamSettings12))) + EVT_CALL(SetNpcAnimation, NPC_Bowser_Main, ANIM_WorldBowser_ClownCarStarRod) + EVT_PLAY_EFFECT(EFFECT_LIGHT_RAYS, 2, 20, 265, -21, EVT_FLOAT(1.0), ArrayVar(18)) + EVT_PLAY_EFFECT(EFFECT_BULB_GLOW, 2, 20, 265, -21, EVT_FLOAT(1.0), ArrayVar(19)) + EVT_SET(LVar0, 120) + EVT_SET(LVar1, 895) + EVT_LOOP(20) + EVT_ADD(LVar0, -6) + EVT_ADD(LVar1, 5) + EVT_CALL(N(SetWorldFogParams), 0, 0, 0, LVar0, 255, 255, 255, LVar1, 1000) + EVT_WAIT(1) + EVT_END_LOOP + EVT_WAIT(5) + EVT_CALL(N(AdjustCamVfov), 0, 40) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 157, 0) + EVT_CALL(LoadSettings, CAM_DEFAULT, EVT_PTR(N(IntroCamSettings7))) + EVT_CALL(SetNpcAnimation, NPC_Eldstar, ANIM_WorldEldstar_Panic) + EVT_CALL(SetNpcAnimation, NPC_Mamar, ANIM_WorldMamar_Panic) + EVT_CALL(SetNpcAnimation, NPC_Skolar, ANIM_WorldSkolar_IdleSad) + EVT_CALL(SetNpcAnimation, NPC_Muskular, ANIM_WorldMuskular_Panic) + EVT_CALL(SetNpcAnimation, NPC_Misstar, ANIM_WorldMisstar_Panic) + EVT_CALL(SetNpcAnimation, NPC_Klevar, ANIM_WorldKlevar_Panic) + EVT_CALL(SetNpcAnimation, NPC_Kalmar, ANIM_WorldKalmar_Panic) + EVT_THREAD + EVT_WAIT(5) + EVT_CALL(func_802D7B10, ArrayVar(18)) + EVT_CALL(func_802D7B10, ArrayVar(19)) + EVT_END_THREAD + EVT_PLAY_EFFECT(EFFECT_ENERGY_SHOCKWAVE, 0, 18, 256, -21, EVT_FLOAT(0.40625), 60) + EVT_SET(LVar0, 120) + EVT_SETF(LVar1, 895) + EVT_LOOP(40) + EVT_ADD(LVar0, -3) + EVT_ADDF(LVar1, EVT_FLOAT(2.5)) + EVT_CALL(N(SetWorldFogParams), 0, 0, 0, LVar0, 255, 255, 255, LVar1, 1000) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(N(AdjustCamVfov), 0, 35) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 70, 200, -239) + EVT_CALL(LoadSettings, CAM_DEFAULT, EVT_PTR(N(IntroCamSettings5))) + EVT_CALL(SetNpcAnimation, NPC_Eldstar, ANIM_WorldEldstar_Hurt) + EVT_CALL(SetNpcAnimation, NPC_Mamar, ANIM_WorldMamar_Hurt) + EVT_CALL(SetNpcAnimation, NPC_Skolar, ANIM_WorldSkolar_Hurt) + EVT_CALL(SetNpcAnimation, NPC_Muskular, ANIM_WorldMuskular_Hurt) + EVT_CALL(SetNpcAnimation, NPC_Misstar, ANIM_WorldMisstar_Hurt) + EVT_CALL(SetNpcAnimation, NPC_Klevar, ANIM_WorldKlevar_Hurt) + EVT_CALL(SetNpcAnimation, NPC_Kalmar, ANIM_WorldKalmar_Hurt) + EVT_CALL(GetNpcPos, NPC_Eldstar, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_AURA, 0, LVar0, LVar1, LVar2, 1, ArrayVar(1)) + EVT_CALL(GetNpcPos, NPC_Mamar, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_AURA, 0, LVar0, LVar1, LVar2, 1, ArrayVar(2)) + EVT_CALL(GetNpcPos, NPC_Skolar, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_AURA, 0, LVar0, LVar1, LVar2, 1, ArrayVar(3)) + EVT_CALL(GetNpcPos, NPC_Muskular, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_AURA, 0, LVar0, LVar1, LVar2, 1, ArrayVar(4)) + EVT_CALL(GetNpcPos, NPC_Misstar, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_AURA, 0, LVar0, LVar1, LVar2, 1, ArrayVar(5)) + EVT_CALL(GetNpcPos, NPC_Klevar, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_AURA, 0, LVar0, LVar1, LVar2, 1, ArrayVar(6)) + EVT_CALL(GetNpcPos, NPC_Kalmar, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_AURA, 0, LVar0, LVar1, LVar2, 1, ArrayVar(7)) + EVT_CALL(N(SetWorldColorParams), 110, 110, 110, 255, 255, 255, 0) + EVT_THREAD + EVT_CALL(N(SetWorldColorParams), 230, 230, 230, 0, 0, 0, 30) + EVT_END_THREAD + EVT_THREAD + EVT_WAIT(28) + EVT_CALL(func_802CFD30, NPC_Eldstar, FOLD_TYPE_5, 8, 1, 1, 0) + EVT_END_THREAD + EVT_SET(LVar0, 255) + EVT_LOOP(20) + EVT_CALL(func_802CFD30, NPC_Mamar, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_Skolar, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_Muskular, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_Misstar, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_Klevar, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_Kalmar, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_WAIT(15) + EVT_CALL(func_802CFD30, NPC_Eldstar, FOLD_TYPE_7, 255, 0, 0, 0) + EVT_PLAY_EFFECT(EFFECT_SOMETHING_ROTATING, 2, -130, 220, 130, 1, 0) + EVT_SET(ArrayVar(0), LVarF) + EVT_SET(LVar0, -130) + EVT_SET(LVar1, 220) + EVT_SET(LVar2, 130) + EVT_ADDF(LVar1, EVT_FLOAT(-30.0)) + EVT_CALL(SetNpcPos, NPC_Kammy, LVar0, LVar1, LVar2) + EVT_EXEC(N(EVS_UpdateWorldFogParams)) + EVT_CALL(func_802D7B10, ArrayVar(1)) + EVT_CALL(GetNpcPos, NPC_Eldstar, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_RING_BLAST, 1, LVar0, LVar1, LVar2, 4, 20) + EVT_THREAD + EVT_WAIT(3) + EVT_CALL(GetNpcPos, NPC_Eldstar, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_MISC_PARTICLES, 3, LVar0, LVar1, LVar2, 16, 16, 2, 20, 0) + EVT_SET(ArrayVar(8), LVarF) + EVT_CALL(func_802428C8_A2CB08, 1, 30, EVT_FLOAT(0.5)) + EVT_CALL(LoadPath, LVar0, LVar1, LVar2, EASING_LINEAR) + EVT_SETF(LVar4, EVT_FLOAT(1.0)) + EVT_LABEL(1) + EVT_CALL(GetNextPathPos) + EVT_CALL(SetNpcPos, NPC_Eldstar, LVar1, LVar2, LVar3) + EVT_CALL(N(SetStarSpiritSparkleTrailPos), ArrayVar(8), ArrayVar(19), LVar1, LVar2, LVar3) + EVT_ADDF(LVar4, EVT_FLOAT(-0.03125)) + EVT_CALL(SetNpcScale, NPC_Eldstar, LVar4, LVar4, LVar4) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 1) + EVT_GOTO(1) + EVT_END_IF + EVT_CALL(N(SetCardCaptureState1)) + EVT_CALL(SetNpcAnimation, NPC_Eldstar, ANIM_WorldEldstar_Panic) + EVT_CALL(func_802CFD30, 0, 0, 0, 0, 0, 0) + EVT_CALL(SetNpcFlagBits, NPC_Eldstar, NPC_FLAG_2, TRUE) + EVT_CALL(func_802D7B10, ArrayVar(8)) + EVT_END_THREAD + EVT_WAIT(15) + EVT_CALL(N(AdjustCamVfov), 0, 50) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 40, 200, -40) + EVT_CALL(LoadSettings, CAM_DEFAULT, EVT_PTR(N(IntroCamSettings13))) + EVT_CALL(RemoveEffect, ArrayVar(16)) + EVT_CALL(SetNpcAnimation, NPC_Bowser_Main, ANIM_WorldBowser_ClownCarIdle) + EVT_THREAD + EVT_WAIT(45) + EVT_CALL(NpcFaceNpc, NPC_Bowser_Main, NPC_Eldstar, 0) + EVT_END_THREAD + EVT_CALL(SetNpcAnimation, NPC_Kammy, ANIM_WorldKammy_Anim12) + EVT_EXEC(N(EVS_CaptureSpirits)) + EVT_CALL(N(CamPanAcrossRoom)) + EVT_WAIT(15) + EVT_CALL(SetNpcAnimation, NPC_Kammy, ANIM_WorldKammy_Anim09) + EVT_THREAD + EVT_WAIT(10) + EVT_CALL(SetNpcAnimation, NPC_Kammy, ANIM_WorldKammy_Anim12) + EVT_WAIT(20) + EVT_CALL(SetNpcAnimation, NPC_Kammy, ANIM_WorldKammy_Anim0D) + EVT_WAIT(40) + EVT_CALL(SetNpcAnimation, NPC_Kammy, ANIM_WorldKammy_Anim09) + EVT_END_THREAD + EVT_CALL(N(CamMove_OrbitKammy)) + EVT_CALL(N(AdjustCamVfov), 0, 50) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 200, 0) + EVT_CALL(LoadSettings, CAM_DEFAULT, EVT_PTR(N(IntroCamSettings15))) + EVT_CALL(SetNpcAnimation, NPC_Bowser_Main, ANIM_WorldBowser_ClownCarLaugh) + EVT_THREAD + EVT_CALL(N(CamPullBack_Final)) + EVT_END_THREAD + EVT_WAIT(20) + EVT_THREAD + EVT_CALL(func_80244550_A2E790) + EVT_END_THREAD + EVT_WAIT(1) + EVT_CALL(SetNpcAnimation, NPC_Kammy, ANIM_WorldKammy_Anim0B) + EVT_CALL(N(KammyFlyToBowser)) + EVT_THREAD + EVT_CALL(N(SetCardCaptureState3)) + EVT_CALL(N(SetCardCaptureState3)) + EVT_CALL(N(SetCardCaptureState3)) + EVT_CALL(N(SetCardCaptureState3)) + EVT_CALL(N(SetCardCaptureState3)) + EVT_CALL(N(SetCardCaptureState3)) + EVT_CALL(N(SetCardCaptureState3)) + EVT_END_THREAD + EVT_CALL(SetNpcAnimation, NPC_Kammy, ANIM_WorldKammy_Anim0D) + EVT_WAIT(15) + EVT_CALL(SetNpcAnimation, NPC_Kammy, ANIM_WorldKammy_Anim11) + EVT_WAIT(32) + EVT_CALL(SetNpcJumpscale, NPC_Eldstar, EVT_FLOAT(0.0)) + EVT_CALL(SetNpcJumpscale, NPC_Mamar, EVT_FLOAT(0.0)) + EVT_CALL(SetNpcJumpscale, NPC_Skolar, EVT_FLOAT(0.0)) + EVT_CALL(SetNpcJumpscale, NPC_Muskular, EVT_FLOAT(0.0)) + EVT_CALL(SetNpcJumpscale, NPC_Misstar, EVT_FLOAT(0.0)) + EVT_CALL(SetNpcJumpscale, NPC_Klevar, EVT_FLOAT(0.0)) + EVT_CALL(SetNpcJumpscale, NPC_Kalmar, EVT_FLOAT(0.0)) + EVT_CALL(SetNpcAnimation, NPC_Bowser_Main, ANIM_WorldBowser_ClownCarStill) + EVT_THREAD + EVT_CALL(N(AnimBowser_FlyOff)) + EVT_END_THREAD + EVT_WAIT(10) + EVT_CALL(N(AnimKammy_FlyOff)) + EVT_WAIT(20) + EVT_CALL(N(ResumeIntro)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_05/hos_05_6_narrator.c b/src/world/area_hos/hos_05/hos_05_6_narrator.c new file mode 100644 index 0000000000..57fc47889e --- /dev/null +++ b/src/world/area_hos/hos_05/hos_05_6_narrator.c @@ -0,0 +1,66 @@ +#include "hos_05.h" + +#include "../common/Narrator.inc.c" + +IntroMessage N(HeistMessageList)[] = { + { INTRO_MSG_BLANK, 30 }, + { MSG_Intro_0001, 50 }, + { MSG_Intro_0002, 50 }, + { INTRO_MSG_BLANK, 50 }, + { MSG_Intro_0003, 50 }, + { MSG_Intro_0004, 50 }, + { MSG_Intro_0005, 50 }, + { INTRO_MSG_BLANK, 50 }, + { MSG_Intro_0006, 50 }, + { MSG_Intro_0007, 50 }, + { MSG_Intro_0008, 50 }, + { INTRO_MSG_BLANK, 50 }, + { MSG_Intro_0009, 50 }, + { MSG_Intro_000A, 50 }, + { MSG_Intro_000B, 50 }, + { INTRO_MSG_BLANK, 50 }, + { MSG_Intro_000C, 30 }, + { MSG_Intro_000D, 30 }, + { MSG_Intro_000E, 50 }, + { MSG_Intro_000F, 30 }, + { MSG_Intro_0010, 30 }, + { MSG_Intro_0011, 30 }, + { MSG_Intro_0012, 50 }, + { MSG_Intro_0013, 30 }, + { INTRO_MSG_BLANK, 40 }, + { MSG_Intro_0014, 56 }, + { INTRO_MSG_BLANK, 50 }, + { MSG_Intro_0015, 30 }, + { INTRO_MSG_BLANK, 30 }, + { MSG_Intro_0016, 50 }, + { INTRO_MSG_BLANK, 30 }, + { MSG_Intro_0017, 50 }, + { MSG_Intro_0018, 50 }, + { INTRO_MSG_BLANK, 60 }, + { MSG_Intro_0019, 50 }, + { INTRO_MSG_BLANK, 24 }, + { MSG_Intro_001A, 30 }, + {}, // end of list +}; + +IntroMessage* N(IntroMessages)[] = { + N(HeistMessageList), + N(HeistMessageList), + N(HeistMessageList), + N(HeistMessageList), +}; + +void N(curtain_callback_narration)(void) { + N(draw_foreground_bowser_silhouette)(); + N(UpdateIntroMessages)(N(IntroMessages)); +} + +EvtScript N(EVS_SetupNarrator) = { + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(hos_05_ENTRY_3) + EVT_CALL(N(SetCurtainCallback), EVT_PTR(N(curtain_callback_narration))) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_05/hos_05_7_model_fx.c b/src/world/area_hos/hos_05/hos_05_7_model_fx.c new file mode 100644 index 0000000000..3e64d337c7 --- /dev/null +++ b/src/world/area_hos/hos_05/hos_05_7_model_fx.c @@ -0,0 +1,280 @@ +#include "hos_05.h" +#include "effects.h" +#include "model.h" + +extern u16 StarShrineLightBeamAlpha; + +MAP_RODATA_PAD(1,unk); + +#define NAME_SUFFIX _Starship +#include "world/common/atomic/UnkFunc27.inc.c" +#include "world/common/atomic/TexturePan.inc.c" +#include "world/common/atomic/TexturePan.data.inc.c" + +API_CALLABLE(N(SetWorldColorParams)) { + Bytecode* args; + static u8 oldPrimR, oldPrimG, oldPrimB; + static u8 oldEnvR, oldEnvG, oldEnvB; + static s32 newPrimR, newPrimG, newPrimB; + static s32 newEnvR, newEnvG, newEnvB; + static s32 duration, time; + + args = script->ptrReadPos; + if (isInitialCall) { + get_model_env_color_parameters(&oldPrimR, &oldPrimG, &oldPrimB, &oldEnvR, &oldEnvG, &oldEnvB); + newPrimR = evt_get_variable(script, *args++); + newPrimG = evt_get_variable(script, *args++); + newPrimB = evt_get_variable(script, *args++); + newEnvR = evt_get_variable(script, *args++); + newEnvG = evt_get_variable(script, *args++); + newEnvB = evt_get_variable(script, *args++); + duration = evt_get_variable(script, *args++); + time = 0; + } + + if (duration > 0) { + time++; + set_model_env_color_parameters( + oldPrimR + ((newPrimR - oldPrimR) * time) / duration, + oldPrimG + ((newPrimG - oldPrimG) * time) / duration, + oldPrimB + ((newPrimB - oldPrimB) * time) / duration, + oldEnvR + ( (newEnvR - oldEnvR) * time) / duration, + oldEnvG + ( (newEnvG - oldEnvG) * time) / duration, + oldEnvB + ( (newEnvB - oldEnvB) * time) / duration); + if (time >= duration) { + return ApiStatus_DONE2; + } + } else { + set_model_env_color_parameters(newPrimR, newPrimG, newPrimB, newEnvR, newEnvG, newEnvB); + return ApiStatus_DONE2; + } + return ApiStatus_BLOCK; +} + +#define NAME_SUFFIX + +void N(setup_gfx_light_beam)(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, StarShrineLightBeamAlpha & 0xFF); +} + +API_CALLABLE(N(SetLightBeamAlpha)) { + Bytecode* args = script->ptrReadPos; + + StarShrineLightBeamAlpha = evt_get_variable(script, *args++); + return ApiStatus_DONE2; +} + +s32 N(StarshipShimmerAmt) = 255; + +void N(setup_gfx_starship_shimmer)(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, N(StarshipShimmerAmt)); +} + +API_CALLABLE(N(SetStarshipShimmerAmt)) { + Bytecode* args = script->ptrReadPos; + + N(StarshipShimmerAmt) = evt_get_variable(script, *args++); + return ApiStatus_DONE2; +} + +s32 N(UnusedAlphaParam) = 255; + +void N(setup_gfx_unused)(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, N(UnusedAlphaParam)); +} + +API_CALLABLE(N(SetUnusedAlphaParam)) { + Bytecode* args = script->ptrReadPos; + + N(UnusedAlphaParam) = evt_get_variable(script, *args++); + return ApiStatus_DONE2; +} + +EvtScript N(EVS_Starship_Update) = { + EVT_LOOP(0) + EVT_CALL(MakeLerp, 0, 60, 30, EASING_COS_IN_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_SETF(LVar2, LVar0) + EVT_MULF(LVar2, EVT_FLOAT(0.1)) + EVT_ADDF(LVar2, MV_Starship_PosY) + EVT_CALL(TranslateGroup, MODEL_g279, 0, LVar2, 0) + EVT_CALL(TranslateGroup, MODEL_g277, 0, LVar2, 0) + EVT_CALL(RotateGroup, MODEL_g277, MV_Starship_Yaw, 0, 1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(MakeLerp, 60, 0, 30, EASING_COS_IN_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_SETF(LVar2, LVar0) + EVT_MULF(LVar2, EVT_FLOAT(0.1)) + EVT_ADDF(LVar2, MV_Starship_PosY) + EVT_CALL(TranslateGroup, MODEL_g279, 0, LVar2, 0) + EVT_CALL(TranslateGroup, MODEL_g277, 0, LVar2, 0) + EVT_CALL(RotateGroup, MODEL_g277, MV_Starship_Yaw, 0, 1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_UpdateStarshipCollision) = { + EVT_LOOP(0) + EVT_CALL(UpdateColliderTransform, COLLIDER_o630) + EVT_CALL(UpdateColliderTransform, COLLIDER_o627) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetupStarship) = { + EVT_CALL(ParentColliderToModel, COLLIDER_o630, MODEL_o637) + EVT_CALL(ParentColliderToModel, COLLIDER_o627, MODEL_o637) + EVT_IF_GE(GB_StoryProgress, STORY_CH8_STAR_SHIP_ACTIVATED) + EVT_EXEC(N(EVS_UpdateStarshipCollision)) + EVT_SET(MV_Starship_Yaw, -110) + EVT_CALL(GetEntryID, LVar0) + EVT_IF_EQ(LVar0, hos_05_ENTRY_3) + EVT_SET(MV_Starship_PosY, 900) + EVT_ELSE + EVT_SET(MV_Starship_PosY, -85) + EVT_END_IF + EVT_EXEC(N(EVS_Starship_Update)) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +s32 N(MostSolidGeometry)[] = { + MODEL_g283, MODEL_o4, MODEL_o6, MODEL_g5, MODEL_g97, MODEL_g157, 0xFFFF +}; + +EvtScript N(EVS_SetupLightBeam) = { + EVT_CALL(EnableGroup, MODEL_g268, FALSE) + EVT_CALL(EnableGroup, MODEL_g178, FALSE) + EVT_IF_LT(GB_StoryProgress, STORY_CH8_STAR_SHIP_ACTIVATED) + EVT_CALL(EnableModel, MODEL_o8, FALSE) + EVT_ELSE + EVT_CALL(SetModelCustomGfx, MODEL_o8, CUSTOM_GFX_0, FOG_MODE_UNCHANGED) + EVT_CALL(SetCustomGfxBuilders, CUSTOM_GFX_0, EVT_PTR(N(setup_gfx_light_beam)), NULL) + EVT_CALL(EnableModel, MODEL_o8, TRUE) + EVT_CALL(N(SetLightBeamAlpha), 127) + EVT_CALL(EnableGroup, MODEL_g277, TRUE) + EVT_CALL(EnableModel, MODEL_o362, FALSE) + EVT_CALL(EnableModel, MODEL_o397, FALSE) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o616, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(SetZoneEnabled, ZONE_o622, FALSE) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(2.5)) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Starship_Summon) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_THREAD + EVT_CALL(N(UnkFunc27_Starship), 2, NULL, FOG_MODE_3) + EVT_CALL(N(UnkFunc27_Starship), 1, EVT_PTR(N(MostSolidGeometry)), FOG_MODE_3) + EVT_CALL(N(SetWorldColorParams_Starship), 255, 255, 255, 0, 0, 0, 0) + EVT_WAIT(1) + EVT_CALL(N(SetWorldColorParams_Starship), 102, 102, 102, 0, 0, 0, 60) + EVT_END_THREAD + EVT_EXEC(N(EVS_UpdateStarshipCollision)) + EVT_SET(MV_Starship_Yaw, 0) + EVT_SET(MV_Starship_PosY, 0) + EVT_EXEC(N(EVS_Starship_Update)) + EVT_THREAD + TEX_PAN_PARAMS_ID(TEX_PANNER_9) + TEX_PAN_PARAMS_STEP( -90, 70, -60, 90) + TEX_PAN_PARAMS_FREQ( 1, 1, 1, 1) + TEX_PAN_PARAMS_INIT( 0, 0, 0, 0) + EVT_EXEC(N(EVS_UpdateTexturePan_Starship)) + EVT_END_THREAD + EVT_CALL(SetTexPanner, MODEL_o646, 9) + EVT_CALL(PlaySoundAt, SOUND_A3, 0, 0, 250, 0) + EVT_PLAY_EFFECT(EFFECT_LIGHT_RAYS, 2, 0, 250, 0, 10, LVar9) + EVT_WAIT(20) + EVT_CALL(SetModelCustomGfx, MODEL_o646, CUSTOM_GFX_1, FOG_MODE_UNCHANGED) + EVT_CALL(SetCustomGfxBuilders, CUSTOM_GFX_1, EVT_PTR(N(setup_gfx_starship_shimmer)), NULL) + EVT_CALL(EnableGroup, MODEL_g279, TRUE) + EVT_THREAD + EVT_CALL(MakeLerp, 0, 200, 75, EASING_QUADRATIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(N(SetStarshipShimmerAmt), LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_WAIT(60) + EVT_CALL(SetModelCustomGfx, MODEL_o8, CUSTOM_GFX_0, FOG_MODE_UNCHANGED) + EVT_CALL(SetCustomGfxBuilders, CUSTOM_GFX_0, EVT_PTR(N(setup_gfx_light_beam)), NULL) + EVT_CALL(EnableModel, MODEL_o8, TRUE) + EVT_CALL(MakeLerp, 0, 127, 60, EASING_COS_IN_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(N(SetLightBeamAlpha), LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_WAIT(40) + EVT_CALL(PlaySoundAt, SOUND_4A3, 0, 0, 250, 0) + EVT_CALL(func_802D7B10, LVar9) + EVT_CALL(EnableGroup, MODEL_g277, TRUE) + EVT_CALL(MakeLerp, 200, 0, 45, EASING_QUADRATIC_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(N(SetStarshipShimmerAmt), LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(EnableGroup, MODEL_g279, FALSE) + EVT_THREAD + EVT_CALL(MakeLerp, 0, -110, 90, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_SET(MV_Starship_Yaw, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_CALL(MakeLerp, 0, -85, 60, EASING_QUADRATIC_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_SET(MV_Starship_PosY, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_WAIT(30) + EVT_CALL(N(SetWorldColorParams_Starship), 255, 255, 255, 0, 0, 0, 60) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_05/hos_05_8_star_ship.c b/src/world/area_hos/hos_05/hos_05_8_star_ship.c new file mode 100644 index 0000000000..2a12f1320a --- /dev/null +++ b/src/world/area_hos/hos_05/hos_05_8_star_ship.c @@ -0,0 +1,202 @@ +#include "hos_05.h" +#include "effects.h" +#include "model.h" + +API_CALLABLE(N(SwingCameraPitchUpward)) { + Camera* camera = &gCameras[CAM_DEFAULT]; + + if (isInitialCall) { + script->functionTemp[0] = 40; + } + script->functionTemp[0]--; + if (camera->currentController != NULL) { + camera->currentController->viewPitch -= 1.0 - ((f32) (40 - script->functionTemp[0]) * 0.01); + } else if (camera->prevController != NULL) { + camera->prevController->viewPitch -= 1.0 - ((f32) (40 - script->functionTemp[0]) * 0.01); + } + + if (script->functionTemp[0] == 0) { + return ApiStatus_DONE2; + } else { + return ApiStatus_BLOCK; + } +} + +EvtScript N(EVS_UpdatePassengers) = { + EVT_LABEL(0) + EVT_CALL(GetModelCenter, MODEL_o637) + EVT_ADD(LVar0, -5) + EVT_IF_EQ(MV_PlayerOnBoard, TRUE) + EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) + EVT_END_IF + EVT_ADD(LVar0, 10) + EVT_IF_EQ(MV_PartnerOnBoard, TRUE) + EVT_CALL(SetNpcPos, NPC_PARTNER, LVar0, LVar1, LVar2) + EVT_END_IF + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Starship_Depart) = { + EVT_CALL(GetPartnerInUse, LVar9) + EVT_IF_NE(LVar9, PARTNER_NONE) + EVT_RETURN + EVT_END_IF + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, TRUE) + EVT_EXEC_GET_TID(N(EVS_UpdatePassengers), LVar9) + EVT_CALL(HidePlayerShadow, TRUE) + EVT_CALL(GetModelCenter, MODEL_o637) + EVT_ADD(LVar0, -5) + EVT_CALL(SetPlayerJumpscale, 0) + EVT_CALL(PlayerJump2, LVar0, LVar1, LVar2, 2) + EVT_CALL(SetPlayerActionState, ACTION_STATE_LAND) + EVT_SET(MV_PlayerOnBoard, TRUE) + EVT_CALL(InterpPlayerYaw, 0, 0) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(DisablePartnerAI, 0) + EVT_ADD(LVar0, 10) + EVT_CALL(SetNpcJumpscale, NPC_PARTNER, EVT_FLOAT(1.5)) + EVT_CALL(NpcJump0, NPC_PARTNER, LVar0, LVar1, LVar2, 12) + EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) + EVT_SET(MV_PartnerOnBoard, TRUE) + EVT_CALL(EnableNpcShadow, NPC_PARTNER, FALSE) + EVT_WAIT(10) + EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_0188, 160, 40) + EVT_CALL(ShowChoice, MSG_Choice_000C) + EVT_CALL(CloseMessage) + EVT_IF_EQ(LVar0, 1) + // player chose "not ready to take off" + EVT_KILL_THREAD(LVar9) + EVT_CALL(DisablePlayerPhysics, FALSE) + EVT_SET(MV_PlayerOnBoard, FALSE) + EVT_THREAD + EVT_SET(MV_PartnerOnBoard, FALSE) + EVT_CALL(PartnerIsFlying, LVar0) + EVT_IF_EQ(LVar0, TRUE) + EVT_WAIT(10) + EVT_CALL(SetNpcJumpscale, NPC_PARTNER, 1) + EVT_CALL(NpcJump0, NPC_PARTNER, 45, 162, 25, 10) + EVT_END_IF + EVT_CALL(EnableNpcShadow, NPC_PARTNER, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, FALSE) + EVT_CALL(EnablePartnerAI) + EVT_END_THREAD + EVT_CALL(SetPlayerJumpscale, 1) + EVT_CALL(PlayerJump, 25, 162, 45, 10) + EVT_CALL(SetPlayerActionState, ACTION_STATE_LAND) + EVT_CALL(HidePlayerShadow, FALSE) + EVT_WAIT(10) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END_IF + EVT_WAIT(20) + EVT_IF_LT(GB_StoryProgress, STORY_UNUSED_0000005D) + EVT_CALL(SetMusicTrack, 0, SONG_STARSHIP_THEME, 0, 8) + EVT_ELSE + EVT_CALL(SetMusicTrack, 0, SONG_STARSHIP_THEME, 1, 8) + EVT_END_IF + EVT_THREAD + EVT_WAIT(25) + EVT_CALL(N(SwingCameraPitchUpward)) + EVT_END_THREAD + EVT_CALL(PlaySoundAtPlayer, SOUND_17D, 0) + EVT_SET(LVar2, MV_Starship_PosY) + EVT_CALL(MakeLerp, 0, 1000, 100, EASING_QUADRATIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_ADD(LVar0, LVar2) + EVT_SET(MV_Starship_PosY, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_IF_LT(GB_StoryProgress, STORY_UNUSED_0000005D) + EVT_CALL(GotoMap, EVT_PTR("hos_04"), hos_04_ENTRY_2) + EVT_ELSE + EVT_CALL(GotoMap, EVT_PTR("hos_20"), hos_20_ENTRY_0) + EVT_END_IF + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_EnterStarship) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(SetPlayerActionState, ACTION_STATE_LAND) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, TRUE) + EVT_CALL(HidePlayerShadow, TRUE) + EVT_CALL(EnableNpcShadow, NPC_PARTNER, FALSE) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, 180, -5) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 180, -5) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(550.0)) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(17.0), EVT_FLOAT(-35.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_SET(MV_PlayerOnBoard, TRUE) + EVT_SET(MV_PartnerOnBoard, TRUE) + EVT_EXEC_GET_TID(N(EVS_UpdatePassengers), LVar9) + EVT_THREAD + EVT_WAIT(25) + EVT_CALL(MakeLerp, -350, -70, 60, EASING_QUADRATIC_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_SETF(LVar2, LVar0) + EVT_DIVF(LVar2, 10) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(17.0), LVar2) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_CALL(PlaySoundAtPlayer, SOUND_17F, 0) + EVT_CALL(MakeLerp, 750, -85, 90, EASING_QUADRATIC_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_SET(MV_Starship_PosY, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_KILL_THREAD(LVar9) + EVT_SET(MV_PlayerOnBoard, FALSE) + EVT_CALL(SetPlayerJumpscale, 1) + EVT_CALL(PlayerJump, 25, 162, 45, 10) + EVT_CALL(SetPlayerActionState, ACTION_STATE_LAND) + EVT_CALL(HidePlayerShadow, FALSE) + EVT_THREAD + EVT_SET(MV_PartnerOnBoard, FALSE) + EVT_CALL(GetCurrentPartnerID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(PARTNER_PARAKARRY) + EVT_CASE_EQ(PARTNER_BOW) + EVT_CASE_EQ(PARTNER_WATT) + EVT_CASE_EQ(PARTNER_LAKILESTER) + EVT_CASE_DEFAULT + EVT_WAIT(10) + EVT_CALL(SetNpcJumpscale, NPC_PARTNER, 1) + EVT_CALL(NpcJump0, NPC_PARTNER, 45, 162, 25, 10) + EVT_END_SWITCH + EVT_CALL(EnableNpcShadow, NPC_PARTNER, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, FALSE) + EVT_CALL(EnablePartnerAI) + EVT_END_THREAD + EVT_CALL(DisablePlayerPhysics, FALSE) + EVT_CALL(SetMusicTrack, 0, SONG_STAR_SANCTUARY, 0, 8) + EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(2.5)) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_06/A394E0.c b/src/world/area_hos/hos_06/A394E0.c deleted file mode 100644 index 27c5aba868..0000000000 --- a/src/world/area_hos/hos_06/A394E0.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "hos_06.h" - -static char* N(exit_str_0) = "hos_00"; -static char* N(exit_str_1) = ""; - -#include "world/common/atomic/TexturePan.inc.c" - diff --git a/src/world/area_hos/hos_06/A397F0.c b/src/world/area_hos/hos_06/A397F0.c deleted file mode 100644 index 9a2f24db2c..0000000000 --- a/src/world/area_hos/hos_06/A397F0.c +++ /dev/null @@ -1,134 +0,0 @@ -#include "hos_06.h" -#include "hud_element.h" - -extern ShopItemData D_802435EC_A3CACC[]; -extern IconHudScriptPair gItemHudScripts[]; - -#include "world/common/todo/StashVars.inc.c" - -#define NAMESPACE dup2_hos_06 -#include "world/common/todo/GetItemName.inc.c" -#define NAMESPACE hos_06 - -#define NAMESPACE dup_hos_06 -#include "world/common/todo/GetNpcCollisionHeight.inc.c" - -#include "world/common/todo/AddPlayerHandsOffset.inc.c" -#define NAMESPACE hos_06 - -extern s32 N(ItemChoice_HasSelectedItem); -extern s32 N(ItemChoice_SelectedItemID); -#include "world/common/todo/ItemChoice_WaitForSelection.inc.c" - -ApiStatus N(ItemChoice_SaveSelected)(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - N(ItemChoice_SelectedItemID) = evt_get_variable(script, *args++); - N(ItemChoice_HasSelectedItem) = TRUE; - return ApiStatus_DONE2; -} - -BSS s32 hos_06_D_80246260[114]; - -ApiStatus func_802406E0_A39BC0(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32* ptr = (s32*) evt_get_variable(script, *args++); - s32 i; - - if (ptr != NULL) { - for (i = 0; ptr[i] != 0; i++) { - hos_06_D_80246260[i] = ptr[i]; - } - hos_06_D_80246260[i] = 0; - } else { - for (i = 0; i < 112; i++) { - hos_06_D_80246260[i] = i + 16; - hos_06_D_80246260[112] = 0; - } - } - return ApiStatus_DONE2; -} - -extern s32 N(LetterDelivery_SavedNpcAnim); -#include "world/common/todo/LetterDelivery.inc.c" - -ApiStatus Merlow_GetPlayerStarPieces(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - evt_set_variable(script, *args++, gPlayerData.starPieces); - return ApiStatus_DONE2; -} - -ApiStatus Merlow_SetBadgePurchased(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 index = evt_get_variable(script, *args++); - - evt_set_variable(NULL, GF_HOS06_MerlowBadge_00 + index, TRUE); - return ApiStatus_DONE2; -} - -ApiStatus Merlow_ShopBadgesPopup(Evt* script, s32 isInitialCall) { - PlayerData* playerData = &gPlayerData; - PopupMenu* menu; - s32 selected, menuPos, i; - - if (isInitialCall) { - script->functionTempPtr[2] = heap_malloc(sizeof(*menu)); - menu = script->functionTempPtr[2]; - menuPos = 0; - for (i = 0; i < 15; i++) { - if (!evt_get_variable(NULL, GF_HOS06_MerlowBadge_00 + i)) { - ItemData* item = &gItemTable[D_802435EC_A3CACC[i].itemID]; - IconHudScriptPair* itemHudScripts = &gItemHudScripts[item->hudElemID]; - menu->userIndex[menuPos] = i; - menu->nameMsg[menuPos] = item->nameMsg; - menu->ptrIcon[menuPos] = itemHudScripts->enabled; - menu->enabled[menuPos] = playerData->starPieces >= D_802435EC_A3CACC[i].price; - if (playerData->starPieces < D_802435EC_A3CACC[i].price) { - menu->ptrIcon[menuPos] = itemHudScripts->disabled; - menu->enabled[menuPos] = FALSE; - } - menu->descMsg[menuPos] = D_802435EC_A3CACC[i].descMsg; - menu->value[menuPos] = D_802435EC_A3CACC[i].price; - menuPos++; - } - } - menu->popupType = POPUP_MENU_TRADE_FOR_BADGE; - menu->numEntries = menuPos; - menu->initialPos = 0; - create_popup_menu(menu); - script->functionTemp[0] = 0; - } - - menu = script->functionTempPtr[2]; - if (script->functionTemp[0] == 0) { - script->functionTemp[1] = menu->result; - if (script->functionTemp[1] != 0) { - hide_popup_menu(); - } else { - return ApiStatus_BLOCK; - } - } - script->functionTemp[0]++; - if (script->functionTemp[0] < 20) { - return ApiStatus_BLOCK; - } - - destroy_popup_menu(); - selected = script->functionTemp[1]; - if (selected != 0xFF) { - ShopItemData* selectedItem; - i = menu->userIndex[selected - 1]; - selectedItem = &D_802435EC_A3CACC[i]; - script->varTable[0] = selectedItem->itemID; - script->varTable[1] = selectedItem->price; - script->varTable[2] = i; - script->varTable[4] = gItemTable[selectedItem->itemID].nameMsg; - script->varTable[5] = gMoveTable[gItemTable[selectedItem->itemID].moveID].costBP; - } else { - script->varTable[0] = -1; - } - - heap_free(script->functionTempPtr[2]); - return ApiStatus_DONE2; -} diff --git a/src/world/area_hos/hos_06/A3A210.c b/src/world/area_hos/hos_06/A3A210.c deleted file mode 100644 index 196ef2e42b..0000000000 --- a/src/world/area_hos/hos_06/A3A210.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "hos_06.h" - -ApiStatus func_80240D30_A3A210(Evt* script, s32 isInitialCall) { - script->varTable[0] = gGameStatusPtr->entryID; - return ApiStatus_DONE2; -} diff --git a/src/world/area_hos/hos_06/A3A230.c b/src/world/area_hos/hos_06/A3A230.c deleted file mode 100644 index 23da6b387e..0000000000 --- a/src/world/area_hos/hos_06/A3A230.c +++ /dev/null @@ -1,413 +0,0 @@ -#include "hos_06.h" -#include "effects.h" -#include "model.h" - -#include "world/common/todo/GetNpcCollisionHeight.inc.c" - -#include "world/common/todo/AddPlayerHandsOffset.inc.c" - -extern u8 D_802447D0_A3DCB0[]; - -#define NAMESPACE dup_hos_06 -extern s32 N(ItemChoice_HasSelectedItem); -extern s32 N(ItemChoice_SelectedItemID); -#include "world/common/todo/ItemChoice_WaitForSelection.inc.c" - -ApiStatus N(ItemChoice_SaveSelected)(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - N(ItemChoice_SelectedItemID) = evt_get_variable(script, *args++); - N(ItemChoice_HasSelectedItem) = TRUE; - return ApiStatus_DONE2; -} -#define NAMESPACE hos_06 - -BSS s32 hos_06_D_80246430[113]; - -ApiStatus func_80241008_A3A4E8(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32* ptr = (s32*) evt_get_variable(script, *args++); - s32 i; - - if (ptr != NULL) { - for (i = 0; ptr[i] != 0; i++) { - hos_06_D_80246430[i] = ptr[i]; - } - hos_06_D_80246430[i] = 0; - } else { - for (i = 0; i < 112; i++) { - hos_06_D_80246430[i] = i + 16; - hos_06_D_80246430[112] = 0; - } - } - return ApiStatus_DONE2; -} - -#define NAMESPACE dup_hos_06 -#include "world/common/todo/StashVars.inc.c" -#define NAMESPACE hos_06 - -#include "world/common/todo/GetItemName.inc.c" - -s32 func_802411BC_A3A69C(s32 badgeID) { - s32 i; - - for (i = 0; i < ARRAY_COUNT(gPlayerData.badges); i++) { - if (gPlayerData.badges[i] == badgeID) { - return TRUE; - } - } - return FALSE; -} - -ApiStatus func_802411F0_A3A6D0(Evt* script, s32 isInitialCall) { - u32 i; - - for (i = 0; i < 79; i++) { - evt_set_variable(NULL, AreaFlag(3) + i, 0); - } - for (i = 0; i < 16; i++) { - evt_set_variable(NULL, AreaFlag(100) + i, 0); - } - return ApiStatus_DONE2; -} - -typedef struct UnkThing { - /* 0x00 */ s32 unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ s32 unk_08; -} UnkThing; // size = 0xC - -extern UnkThing D_802447D4_A3DCB4[79]; -extern UnkThing D_80244B88_A3E068[16]; -extern UnkThing D_80244C48_A3E128[63]; - -ApiStatus func_8024126C_A3A74C(Evt* script, s32 isInitialCall) { - s32 temp_s6 = evt_get_variable(NULL, GameByte(0)); - u32 count = 0; - UnkThing* it; - s32 temp_s5; - u32 i; - - script->varTable[1] = 0; - for (i = 0, it = D_802447D4_A3DCB4; i < ARRAY_COUNT(D_802447D4_A3DCB4); i++, it++) { - if (temp_s6 >= it->unk_08 && - func_802411BC_A3A69C(it->unk_04) == 0 && - evt_get_variable(NULL, AreaFlag(3 + i)) == 0) { - count++; - } - } - - if (count > 0) { - temp_s5 = rand_int(count - 1); - it = D_802447D4_A3DCB4; - count = 0; - i = 0; - - for (; i < ARRAY_COUNT(D_802447D4_A3DCB4); i++, it++) { - if (temp_s6 >= it->unk_08 && - func_802411BC_A3A69C(it->unk_04) == 0 && - evt_get_variable(NULL, AreaFlag(3 + i)) == 0) - { - if (count == temp_s5) { - script->varTable[1] = it->unk_00; - evt_set_variable(NULL, AreaFlag(3 + i), 1); - break; - } - count++; - } - } - return ApiStatus_DONE2; - } - - for (i = 0, it = D_802447D4_A3DCB4; i < ARRAY_COUNT(D_802447D4_A3DCB4); i++, it++) { - if (it->unk_08 == 0x2712 && - func_802411BC_A3A69C(it->unk_04) == 0 && - evt_get_variable(NULL, AreaFlag(3 + i)) == 0) - { - count++; - } - } - - if (count > 0) { - temp_s5 = rand_int(count - 1); - it = D_802447D4_A3DCB4; - count = 0; - i = 0; - - for (; i < ARRAY_COUNT(D_802447D4_A3DCB4); i++, it++) { - if (it->unk_08 == 0x2712 && - func_802411BC_A3A69C(it->unk_04) == 0 && - evt_get_variable(NULL, AreaFlag(3 + i)) == 0) - { - if (count == temp_s5) { - script->varTable[1] = it->unk_00; - evt_set_variable(NULL, AreaFlag(3 + i), 1); - break; - } - count++; - } - } - } - return ApiStatus_DONE2; -} - -ApiStatus func_802414E4_A3A9C4(Evt* script, s32 isInitialCall) { - s32 temp_s5 = evt_get_variable(NULL, GameByte(0)); - u32 count = 0; - s32 temp_s7; - UnkThing* it; - u32 i; - - script->varTable[1] = 0; - - it = D_80244B88_A3E068; - for (i = 0; i < ARRAY_COUNT(D_80244B88_A3E068); i++, it++) { - if (temp_s5 >= it->unk_08 && - evt_get_variable(NULL, it->unk_04) == 0 && - evt_get_variable(NULL, AreaFlag(100 + i)) == 0) - { - count++; - } - } - - if (count > 0) { - temp_s7 = rand_int(count - 1); - it = D_80244B88_A3E068; - count = 0; - - for (i = 0; i < ARRAY_COUNT(D_80244B88_A3E068); i++, it++) { - if (temp_s5 >= it->unk_08 && - evt_get_variable(NULL, it->unk_04) == 0 && - evt_get_variable(NULL, AreaFlag(100 + i)) == 0) - { - if (count == temp_s7) { - script->varTable[1] = it->unk_00; - evt_set_variable(NULL, AreaFlag(100 + i), 1); - break; - } - count++; - } - } - } - return ApiStatus_DONE2; -} - -ApiStatus func_80241668_A3AB48(Evt* script, s32 isInitialCall) { - s32 temp_s5 = evt_get_variable(NULL, GameByte(0)); - u32 count = 0; - s32 temp_s7; - UnkThing* it; - u32 i; - - script->varTable[1] = 0; - - it = D_80244C48_A3E128; - for (i = 0; i < ARRAY_COUNT(D_80244C48_A3E128); i++, it++) { - if (temp_s5 >= it->unk_08 && - evt_get_variable(NULL, it->unk_04) == 0 && - evt_get_variable(NULL, AreaFlag(116 + i)) == 0) - { - count++; - } - } - - if (count > 0) { - temp_s7 = rand_int(count - 1); - it = D_80244C48_A3E128; - count = 0; - - for (i = 0; i < ARRAY_COUNT(D_80244C48_A3E128); i++, it++) { - if (temp_s5 >= it->unk_08 && - evt_get_variable(NULL, it->unk_04) == 0 && - evt_get_variable(NULL, AreaFlag(116 + i)) == 0) - { - if (count == temp_s7) { - script->varTable[1] = it->unk_00; - evt_set_variable(NULL, AreaFlag(116 + i), 1); - break; - } - count++; - } - } - } - return ApiStatus_DONE2; -} - -ApiStatus func_802417EC_A3ACCC(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 idx = evt_get_variable(script, *args++); - s32 outVar = *args++; - - if (gPlayerData.coins < D_802447D0_A3DCB0[idx]) { - evt_set_variable(script, outVar, TRUE); - } else { - evt_set_variable(script, outVar, FALSE); - } - return ApiStatus_DONE2; -} - -ApiStatus func_80241860_A3AD40(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 idx = evt_get_variable(script, *args++); - - gPlayerData.coins -= D_802447D0_A3DCB0[idx]; - return ApiStatus_DONE2; -} - -ApiStatus func_802418A4_A3AD84(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 idx = evt_get_variable(script, *args++); - - gPlayerData.coins += D_802447D0_A3DCB0[idx]; - return ApiStatus_DONE2; -} - -ApiStatus func_802418E8_A3ADC8(Evt* script, s32 isInitialCall) { - if (isInitialCall) { - set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x79)), -1, FOG_MODE_3); - set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7A)), -1, FOG_MODE_3); - set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7B)), -1, FOG_MODE_3); - set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7C)), -1, FOG_MODE_3); - set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7D)), -1, FOG_MODE_3); - set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7F)), -1, FOG_MODE_3); - set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0xD0)), -1, FOG_MODE_3); - set_model_env_color_parameters(255, 255, 255, 0, 0, 0); - script->functionTemp[0] = 255; - } - - script->functionTemp[0] -= 4; - if (script->functionTemp[0] < 64) { - script->functionTemp[0] = 64; - } - set_model_env_color_parameters(script->functionTemp[0], script->functionTemp[0], script->functionTemp[0], 0, 0, 0); - if (script->functionTemp[0] == 64) { - return ApiStatus_DONE2; - } - return ApiStatus_BLOCK; -} - -ApiStatus func_80241A58_A3AF38(Evt* script, s32 isInitialCall) { - if (isInitialCall) { - script->functionTemp[0] = 64; - script->functionTemp[2] = 64; - script->functionTemp[1] = 0; - } - if (script->functionTemp[1] == 0) { - script->functionTemp[0] += 4; - script->functionTemp[2] += 4; - if (script->functionTemp[0] > 127) { - script->functionTemp[0] = 127; - } - if (script->functionTemp[2] > 127) { - script->functionTemp[2] = 127; - } - if (script->functionTemp[0] == 127 && (script->functionTemp[2] == script->functionTemp[0])) { - script->functionTemp[1] = 1; - } - } else { - script->functionTemp[0] -= 4; - script->functionTemp[2] -= 4; - if (script->functionTemp[0] < 64) { - script->functionTemp[0] = 64; - } - if (script->functionTemp[2] < 0) { - script->functionTemp[2] = 0; - } - } - set_model_env_color_parameters( - script->functionTemp[0], script->functionTemp[0], script->functionTemp[0], - script->functionTemp[2], script->functionTemp[2], script->functionTemp[2] - ); - if (script->functionTemp[0] == 64 && script->functionTemp[2] == 0) { - return ApiStatus_DONE2; - } - return ApiStatus_BLOCK; -} - -ApiStatus func_80241B74_A3B054(Evt* script, s32 isInitialCall) { - if (isInitialCall) { - script->functionTemp[0] = 64; - } - - script->functionTemp[0] += 4; - if (script->functionTemp[0] > 255) { - script->functionTemp[0] = 255; - } - set_model_env_color_parameters(script->functionTemp[0], script->functionTemp[0], script->functionTemp[0], 0, 0, 0); - - if (script->functionTemp[0] == 255) { - set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x79)), -1, FOG_MODE_0); - set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7A)), -1, FOG_MODE_0); - set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7B)), -1, FOG_MODE_0); - set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7C)), -1, FOG_MODE_0); - set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7D)), -1, FOG_MODE_0); - set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7F)), -1, FOG_MODE_0); - set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0xD0)), -1, FOG_MODE_0); - return ApiStatus_DONE2; - } - return ApiStatus_BLOCK; -} - -// TODO may not be motionBlurFlame -ApiStatus func_80241CCC_A3B1AC(Evt* script, s32 isInitialCall) { - EffectInstance* effects[3]; - Matrix4f sp28, sp68; - f32 tx; - f32 ty; - f32 temp_f24; - f32 temp_f28; - f32 temp_f30; - s32 i; - - if (isInitialCall) { - script->functionTemp[0] = 180; - script->functionTempPtr[1] = (EffectInstance*) evt_get_variable(script, ArrayVar(3)); - script->functionTempPtr[2] = (EffectInstance*) evt_get_variable(script, ArrayVar(4)); - script->functionTempPtr[3] = (EffectInstance*) evt_get_variable(script, ArrayVar(5)); - } - - effects[0] = script->functionTempPtr[1]; - effects[1] = script->functionTempPtr[2]; - effects[2] = script->functionTempPtr[3]; - temp_f30 = (sin_deg(script->functionTemp[0]) * 10.0f) + 10.0f; - temp_f28 = (sin_deg(script->functionTemp[0]) * 25.0f) + 10.0f; - temp_f24 = script->functionTemp[0] * 10; - - for (i = 0; i < ARRAY_COUNT(effects); i++) { - guRotateF(sp28, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f); - guRotateF(sp68, i * 120, 0.0f, 0.0f, 1.0f); - guMtxCatF(sp68, sp28, sp28); - tx = temp_f30 * sin_deg(temp_f24); - ty = temp_f28 * cos_deg(temp_f24); - guTranslateF(sp68, tx, ty, 0.0f); - guMtxCatF(sp68, sp28, sp28); - effects[i]->data.motionBlurFlame->pos.x = sp28[3][0]; - effects[i]->data.motionBlurFlame->pos.y = sp28[3][1]; - effects[i]->data.motionBlurFlame->pos.z = sp28[3][2]; - } - - script->functionTemp[0]--; - if (script->functionTemp[0] < 16) { - for (i = 0; i < ARRAY_COUNT(effects); i++) { - effects[i]->data.motionBlurFlame->unk_4C = script->functionTemp[0]; - } - } - - if (script->functionTemp[0] < 0) { - for (i = 0; i < ARRAY_COUNT(effects); i++) { - remove_effect(effects[i]); - } - return ApiStatus_DONE2; - } - return ApiStatus_BLOCK; -} - -ApiStatus func_80241F98_A3B478(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++); - - // TODO effect may be wrong - effect->data.energyOrbWave->unk_1C++; - return ApiStatus_DONE2; -} diff --git a/src/world/area_hos/hos_06/A3B4B0.c b/src/world/area_hos/hos_06/A3B4B0.c deleted file mode 100644 index a7e5ab10bb..0000000000 --- a/src/world/area_hos/hos_06/A3B4B0.c +++ /dev/null @@ -1,124 +0,0 @@ -#include "hos_06.h" -#include "hud_element.h" - - -#define NAMESPACE dup2_hos_06 -#include "world/common/todo/StashVars.inc.c" -#define NAMESPACE hos_06 - -#define NAMESPACE dup_hos_06 -#include "world/common/todo/GetItemName.inc.c" -#define NAMESPACE hos_06 - -#include "world/common/todo/SomeItemEntityFunc.inc.c" - -#include "world/common/todo/IsItemBadge.inc.c" - -extern IconHudScriptPair gItemHudScripts[]; -extern s32 D_80245EEC_A3F3CC[5]; - -ApiStatus func_8024228C_A3B76C(Evt* script, s32 isInitialCall) { - PopupMenu *menu; - s32 numEntries; - s32 index; - s32 temp; - s32 var1; - s32 var2; - s32 i; - - if (isInitialCall) { - menu = heap_malloc(sizeof(*menu)); - script->functionTempPtr[2] = menu; - temp = script->varTable[0]; - script->varTable[10] = script->varTable[0]; - - if (temp == 0) { - script->varTable[1] = GF_KKJ16_Item_PowerRush; - script->varTable[2] = GF_KKJ_Stored_PowerRush; - menu->popupType = POPUP_MENU_USEKEY; - } else { - script->varTable[1] = GF_KKJ_Stored_PowerRush; - script->varTable[2] = GF_KKJ_Retrieved_PowerRush; - menu->popupType = POPUP_MENU_TAKE_FROM_CHEST; - } - - numEntries = 0; - for (i = 0; i < ARRAY_COUNT(D_80245EEC_A3F3CC); i++) { - var1 = evt_get_variable(NULL, script->varTable[1] + i); - var2 = evt_get_variable(NULL, script->varTable[2] + i); - if (var1 != 0 && var2 == 0) { - ItemData* item = &gItemTable[D_80245EEC_A3F3CC[i]]; - IconHudScriptPair* itemHudScripts = &gItemHudScripts[item->hudElemID]; - menu->ptrIcon[numEntries] = itemHudScripts->enabled; - menu->userIndex[numEntries] = i; - menu->enabled[numEntries] = TRUE; - menu->nameMsg[numEntries] = item->nameMsg; - menu->descMsg[numEntries] = item->shortDescMsg; - numEntries++; - } - } - - if (numEntries == 0) { - script->varTable[0] = 0; - return ApiStatus_DONE1; - } - - menu->numEntries = numEntries; - menu->initialPos = 0; - create_popup_menu(menu); - script->functionTemp[0] = 0; - } - - menu = script->functionTempPtr[2]; - if (script->functionTemp[0] == 0) { - script->functionTemp[1] = menu->result; - if (script->functionTemp[1] == 0) { - return ApiStatus_BLOCK; - } - hide_popup_menu(); - } - - script->functionTemp[0]++; - if (script->functionTemp[0] < 15) { - return ApiStatus_BLOCK; - } - - destroy_popup_menu(); - - temp = script->functionTemp[1]; - if (temp == 255) { - script->varTable[0] = -1; - } else { - index = menu->userIndex[temp - 1]; - script->varTable[0] = D_80245EEC_A3F3CC[index]; - if (script->varTable[10] == 0) { - evt_set_variable(NULL, script->varTable[2] + index, 1); - } - heap_free(script->functionTempPtr[2]); - } - - return ApiStatus_DONE2; -} - -ApiStatus func_802424CC_A3B9AC(Evt* script, s32 isInitialCall) { - s32* ptr = D_80245EEC_A3F3CC; - s32 found = FALSE; - s32 i; - - for (i = 0; i < ARRAY_COUNT(D_80245EEC_A3F3CC); i++) { - s32 var = ptr[i]; - - if (script->varTable[0] == var) { - found = TRUE; - break; - } - } - - if (found) { - evt_set_variable(NULL, GF_KKJ_Retrieved_PowerRush + i, TRUE); - } - - return ApiStatus_DONE2; -} - -#include "world/common/todo/GetItemEmptyCount.inc.c" diff --git a/src/world/area_hos/hos_06/hos_06.h b/src/world/area_hos/hos_06/hos_06.h index fb20aaefc3..b992b7095c 100644 --- a/src/world/area_hos/hos_06/hos_06.h +++ b/src/world/area_hos/hos_06/hos_06.h @@ -2,8 +2,40 @@ /// @brief Shooting Star Summit - Merluvlee's House #include "common.h" -#include "../hos.h" #include "message_ids.h" #include "map.h" +#include "../hos.h" +#include "mapfs/hos_06_shape.h" +#include "mapfs/hos_06_hit.h" + +#include "sprite/npc/Merlow.h" +#include "sprite/npc/Merluvlee.h" + +#define MERLOW_BADGE_COUNT 15 + +enum { + NPC_Merluvlee = 0, + NPC_Merlow = 1, +}; + +enum { + MV_RitualFXArrayPtr = MapVar(10), +}; + +enum { + MF_PurchasedBadge = MapFlag(0), +}; + #define NAMESPACE hos_06 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMagicChest); +extern EvtScript N(EVS_Interact_MagicChest); +extern EvtScript N(EVS_SetupRooms); +extern EvtScript N(EVS_AskForHint); + +extern EvtScript N(EVS_NpcInteract_Merluvlee); +extern EvtScript N(EVS_NpcInit_Merluvlee); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_hos/hos_06/hos_06_0_header.c b/src/world/area_hos/hos_06/hos_06_0_header.c new file mode 100644 index 0000000000..efa79e8d6a --- /dev/null +++ b/src/world/area_hos/hos_06/hos_06_0_header.c @@ -0,0 +1,13 @@ +#include "hos_06.h" + +EntryList N(Entrances) = { + [hos_06_ENTRY_0] { -484.0, 0.0, 5.0, 90.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .background = &gBackgroundImage, + .tattle = { MSG_MapTattle_hos_06 }, +}; diff --git a/src/world/area_hos/hos_06/hos_06_1_entity.c b/src/world/area_hos/hos_06/hos_06_1_entity.c new file mode 100644 index 0000000000..c573077e5d --- /dev/null +++ b/src/world/area_hos/hos_06/hos_06_1_entity.c @@ -0,0 +1,9 @@ +#include "hos_06.h" +#include "entity.h" + +EvtScript N(EVS_MakeEntities) = { + EVT_CALL(MakeEntity, EVT_PTR(Entity_HiddenPanel), -50, 0, 350, -90, MODEL_o4, MAKE_ENTITY_END) + EVT_CALL(AssignPanelFlag, GF_HOS06_HiddenPanel) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_06/hos_06_2_main.c b/src/world/area_hos/hos_06/hos_06_2_main.c new file mode 100644 index 0000000000..fbcf92ae55 --- /dev/null +++ b/src/world/area_hos/hos_06/hos_06_2_main.c @@ -0,0 +1,78 @@ +#include "hos_06.h" + +#include "world/common/atomic/TexturePan.inc.c" +#include "world/common/atomic/TexturePan.data.inc.c" + +EvtScript N(EVS_TexPan_MysticPyramid) = { + EVT_CALL(EnableTexPanning, MODEL_o185, TRUE) + EVT_SET(LVar0, 0) + EVT_LOOP(0) + EVT_ADD(LVar0, 0x4000) + EVT_CALL(SetTexPanOffset, TEX_PANNER_C, TEX_PANNER_MAIN, LVar0, 0) + EVT_WAIT(3) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Animate_MysticPyramid) = { + EVT_EXEC(N(EVS_TexPan_MysticPyramid)) + EVT_SET(LVar0, 0) + EVT_LOOP(0) + EVT_CALL(RotateGroup, MODEL_g87, LVar0, 0, 1, 0) + EVT_CALL(RotateGroup, MODEL_g88, LVar0, 0, 1, 0) + EVT_ADD(LVar0, 6) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ExitWalk_hos_00_2) = EVT_EXIT_WALK(60, hos_06_ENTRY_0, "hos_00", hos_00_ENTRY_2); + +EvtScript N(EVS_BindExitTriggers) = { + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_hos_00_2)), TRIGGER_FLOOR_ABOVE, COLLIDER_deiliw, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_TexPan_Stars) = { + EVT_THREAD + TEX_PAN_PARAMS_ID(TEX_PANNER_3) + TEX_PAN_PARAMS_STEP( -100, 0, 40, 0) + TEX_PAN_PARAMS_FREQ( 1, 0, 1, 0) + TEX_PAN_PARAMS_INIT( 0, 0, 0, 0) + EVT_EXEC(N(EVS_UpdateTexturePan)) + EVT_END_THREAD + EVT_CALL(SetTexPanner, MODEL_o103, TEX_PANNER_3) + EVT_THREAD + TEX_PAN_PARAMS_ID(TEX_PANNER_1) + TEX_PAN_PARAMS_STEP( -200, 0, 100, 0) + TEX_PAN_PARAMS_FREQ( 1, 0, 1, 0) + TEX_PAN_PARAMS_INIT( 0, 0, 0, 0) + EVT_EXEC(N(EVS_UpdateTexturePan)) + EVT_END_THREAD + EVT_CALL(SetTexPanner, MODEL_o105, TEX_PANNER_1) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_SHOOTING_STAR_SUMMIT) + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SETUP_CAMERA_ALT_NO_LEAD() + EVT_SET(AF_HOS06_SpokeWithMerluvlee, FALSE) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) + EVT_EXEC_WAIT(N(EVS_MakeEntities)) + EVT_EXEC(N(EVS_SetupMagicChest)) + EVT_EXEC(N(EVS_Animate_MysticPyramid)) + EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers))) + EVT_EXEC(EnterWalk) + EVT_WAIT(1) + EVT_CALL(SetMusicTrack, 0, SONG_SHOOTING_STAR_SUMMIT, 0, 8) + EVT_EXEC(N(EVS_SetupRooms)) + EVT_EXEC(N(EVS_TexPan_Stars)) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_AskForHint)), TRIGGER_WALL_PRESS_A, COLLIDER_o224, 1, 0) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_06/hos_06_3_merlow.c b/src/world/area_hos/hos_06/hos_06_3_merlow.c new file mode 100644 index 0000000000..aac5a777f8 --- /dev/null +++ b/src/world/area_hos/hos_06/hos_06_3_merlow.c @@ -0,0 +1,287 @@ +#include "hos_06.h" +#include "hud_element.h" + +extern IconHudScriptPair gItemHudScripts[]; + +NpcSettings N(NpcSettings_Merluvlee) = { + .height = 34, + .radius = 24, + .level = 99, +}; + +NpcSettings N(NpcSettings_Merlow) = { + .height = 24, + .radius = 24, + .level = 99, +}; + +#define NAME_SUFFIX _Merlow +#include "world/common/complete/LetterDelivery.inc.c" + +s32 N(LetterList)[] = { + ITEM_LETTER_TO_MERLOW, + ITEM_NONE +}; + +EvtScript N(EVS_LetterPrompt) = { + EVT_CALL(N(LetterDelivery_Init), + NPC_Merlow, ANIM_Merlow_Talk, ANIM_Merlow_Idle, + ITEM_LETTER_TO_MERLOW, ITEM_NONE, + MSG_HOS_0058, MSG_HOS_0059, MSG_HOS_005A, MSG_HOS_005B, + EVT_PTR(N(LetterList))) + EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_LetterReward) = { + EVT_IF_EQ(LVarC, DELIVERY_ACCEPTED) + EVT_GIVE_STAR_PIECE() + EVT_END_IF + EVT_RETURN + EVT_END +}; +#define NAME_SUFFIX + +EvtScript N(EVS_NpcInteract_Merluvlee_Passthrough) = { + EVT_EXEC_WAIT(N(EVS_NpcInteract_Merluvlee)) + EVT_RETURN + EVT_END +}; + +ShopItemData N(MerlowBadgeInventory)[MERLOW_BADGE_COUNT] = { + { .itemID = ITEM_ATTACK_FX_A, .price = 1, .descMsg = MSG_ItemShopDesc_AttackFXA }, + { .itemID = ITEM_PAY_OFF, .price = 1, .descMsg = MSG_ItemShopDesc_PayOff }, + { .itemID = ITEM_CHILL_OUT, .price = 3, .descMsg = MSG_ItemShopDesc_ChillOut }, + { .itemID = ITEM_PRETTY_LUCKY, .price = 5, .descMsg = MSG_ItemShopDesc_PrettyLucky }, + { .itemID = ITEM_FEELING_FINE, .price = 5, .descMsg = MSG_ItemShopDesc_FeelingFine }, + + { .itemID = ITEM_HAPPY_HEART_A, .price = 8, .descMsg = MSG_ItemShopDesc_HappyHeart }, + { .itemID = ITEM_HAPPY_FLOWER_A, .price = 8, .descMsg = MSG_ItemShopDesc_HappyFlower }, + { .itemID = ITEM_PEEKABOO, .price = 10, .descMsg = MSG_ItemShopDesc_Peekaboo }, + { .itemID = ITEM_ZAP_TAP, .price = 10, .descMsg = MSG_ItemShopDesc_ZapTap }, + { .itemID = ITEM_HEART_FINDER, .price = 12, .descMsg = MSG_ItemShopDesc_HeartFinder }, + + { .itemID = ITEM_FLOWER_FINDER, .price = 12, .descMsg = MSG_ItemShopDesc_FlowerFinder }, + { .itemID = ITEM_HP_DRAIN, .price = 15, .descMsg = MSG_ItemShopDesc_HPDrain }, + { .itemID = ITEM_MONEY_MONEY, .price = 20, .descMsg = MSG_ItemShopDesc_MoneyMoney }, + { .itemID = ITEM_FLOWER_SAVER_A, .price = 25, .descMsg = MSG_ItemShopDesc_FlowerSaver }, + { .itemID = ITEM_POWER_PLUS_A, .price = 25, .descMsg = MSG_ItemShopDesc_PowerPlus }, +}; + +API_CALLABLE(N(Merlow_GetPlayerStarPieces)) { + Bytecode* args = script->ptrReadPos; + + evt_set_variable(script, *args++, gPlayerData.starPieces); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(Merlow_SetBadgePurchased)) { + Bytecode* args = script->ptrReadPos; + s32 index = evt_get_variable(script, *args++); + + evt_set_variable(NULL, GF_HOS06_MerlowBadge_00 + index, TRUE); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(Merlow_ShopBadgesPopup)) { + PlayerData* playerData = &gPlayerData; + PopupMenu* menu; + s32 selected, menuPos, i; + + if (isInitialCall) { + script->functionTempPtr[2] = heap_malloc(sizeof(*menu)); + menu = script->functionTempPtr[2]; + menuPos = 0; + for (i = 0; i < MERLOW_BADGE_COUNT; i++) { + if (!evt_get_variable(NULL, GF_HOS06_MerlowBadge_00 + i)) { + ItemData* item = &gItemTable[N(MerlowBadgeInventory)[i].itemID]; + IconHudScriptPair* itemHudScripts = &gItemHudScripts[item->hudElemID]; + menu->userIndex[menuPos] = i; + menu->nameMsg[menuPos] = item->nameMsg; + menu->ptrIcon[menuPos] = itemHudScripts->enabled; + menu->enabled[menuPos] = playerData->starPieces >= N(MerlowBadgeInventory)[i].price; + if (playerData->starPieces < N(MerlowBadgeInventory)[i].price) { + menu->ptrIcon[menuPos] = itemHudScripts->disabled; + menu->enabled[menuPos] = FALSE; + } + menu->descMsg[menuPos] = N(MerlowBadgeInventory)[i].descMsg; + menu->value[menuPos] = N(MerlowBadgeInventory)[i].price; + menuPos++; + } + } + menu->popupType = POPUP_MENU_TRADE_FOR_BADGE; + menu->numEntries = menuPos; + menu->initialPos = 0; + create_popup_menu(menu); + script->functionTemp[0] = 0; + } + + menu = script->functionTempPtr[2]; + if (script->functionTemp[0] == 0) { + script->functionTemp[1] = menu->result; + if (script->functionTemp[1] != 0) { + hide_popup_menu(); + } else { + return ApiStatus_BLOCK; + } + } + script->functionTemp[0]++; + if (script->functionTemp[0] < 20) { + return ApiStatus_BLOCK; + } + + destroy_popup_menu(); + selected = script->functionTemp[1]; + if (selected != 0xFF) { + ShopItemData* selectedItem; + i = menu->userIndex[selected - 1]; + selectedItem = &N(MerlowBadgeInventory)[i]; + script->varTable[0] = selectedItem->itemID; + script->varTable[1] = selectedItem->price; + script->varTable[2] = i; + script->varTable[4] = gItemTable[selectedItem->itemID].nameMsg; + script->varTable[5] = gMoveTable[gItemTable[selectedItem->itemID].moveID].costBP; + } else { + script->varTable[0] = -1; + } + + heap_free(script->functionTempPtr[2]); + return ApiStatus_DONE2; +} + +EvtScript N(EVS_NpcInteract_Merlow) = { + EVT_EXEC_WAIT(N(EVS_LetterPrompt_Merlow)) + EVT_EXEC_WAIT(N(EVS_LetterReward_Merlow)) + EVT_IF_NE(LVarC, 0) + EVT_RETURN + EVT_END_IF + EVT_IF_GE(GB_HOS06_Merlow_PurchaseCount, MERLOW_BADGE_COUNT) + EVT_CALL(SpeakToPlayer, NPC_Merlow, ANIM_Merlow_Talk, ANIM_Merlow_Idle, 0, MSG_HOS_004C) + EVT_RETURN + EVT_END_IF + EVT_IF_EQ(MF_PurchasedBadge, TRUE) + EVT_CALL(SpeakToPlayer, NPC_Merlow, ANIM_Merlow_Talk, ANIM_Merlow_Idle, 0, MSG_HOS_004D) + EVT_ELSE + EVT_IF_EQ(GF_HOS06_Met_Merlow, FALSE) + EVT_CALL(SpeakToPlayer, NPC_Merlow, ANIM_Merlow_Talk, ANIM_Merlow_Idle, 0, MSG_HOS_004A) + EVT_SET(GF_HOS06_Met_Merlow, TRUE) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_Merlow, ANIM_Merlow_Talk, ANIM_Merlow_Idle, 0, MSG_HOS_004B) + EVT_END_IF + EVT_END_IF + EVT_CALL(ShowChoice, MSG_Choice_0014) + EVT_IF_EQ(LVar0, 1) + EVT_CALL(ContinueSpeech, NPC_Merlow, ANIM_Merlow_Talk, ANIM_Merlow_Idle, 0, MSG_HOS_004E) + EVT_RETURN + EVT_END_IF + EVT_CALL(N(Merlow_GetPlayerStarPieces), LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_CALL(ContinueSpeech, NPC_Merlow, ANIM_Merlow_Talk, ANIM_Merlow_Idle, 0, MSG_HOS_004F) + EVT_RETURN + EVT_END_IF + EVT_CALL(ContinueSpeech, NPC_Merlow, ANIM_Merlow_Talk, ANIM_Merlow_Idle, 0, MSG_HOS_0050) + EVT_LABEL(0) + EVT_CALL(N(Merlow_ShopBadgesPopup)) + EVT_WAIT(10) + EVT_IF_EQ(LVar0, -1) + EVT_CALL(SpeakToPlayer, NPC_Merlow, ANIM_Merlow_Talk, ANIM_Merlow_Idle, 0, MSG_HOS_0051) + EVT_RETURN + EVT_END_IF + EVT_CALL(N(Merlow_GetPlayerStarPieces), LVar3) + EVT_IF_LT(LVar3, LVar1) + EVT_CALL(SpeakToPlayer, NPC_Merlow, ANIM_Merlow_Talk, ANIM_Merlow_Idle, 0, MSG_HOS_0051) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(SetMessageText, LVar4, 0) + EVT_CALL(SetMessageValue, LVar1, 1) + EVT_CALL(SetMessageValue, LVar5, 2) + EVT_IF_EQ(LVar1, 1) + EVT_CALL(SpeakToPlayer, NPC_Merlow, ANIM_Merlow_Talk, ANIM_Merlow_Idle, 0, MSG_HOS_0053) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_Merlow, ANIM_Merlow_Talk, ANIM_Merlow_Idle, 0, MSG_HOS_0052) + EVT_END_IF + EVT_SET(LVar3, LVar0) + EVT_CALL(ShowChoice, MSG_Choice_000D) + EVT_IF_EQ(LVar0, 1) + EVT_CALL(ContinueSpeech, NPC_Merlow, ANIM_Merlow_Talk, ANIM_Merlow_Idle, 0, MSG_HOS_0054) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(CloseMessage) + EVT_MUL(LVar1, -1) + EVT_CALL(AddStarPieces, LVar1) + EVT_ADD(GB_HOS06_Merlow_PurchaseCount, 1) + EVT_SET(MF_PurchasedBadge, TRUE) + EVT_CALL(N(Merlow_SetBadgePurchased), LVar2) + // awkward + #define NAME_SUFFIX _Merlow + EVT_GIVE_BADGE_REWARD_ALT(LVar3, LVar1) + #define NAME_SUFFIX + EVT_IF_GE(GB_HOS06_Merlow_PurchaseCount, MERLOW_BADGE_COUNT) + EVT_CALL(SpeakToPlayer, NPC_Merlow, ANIM_Merlow_Talk, ANIM_Merlow_Idle, 0, MSG_HOS_0055) + EVT_RETURN + EVT_END_IF + EVT_CALL(N(Merlow_GetPlayerStarPieces), LVar0) + EVT_IF_LE(LVar0, 0) + EVT_CALL(SpeakToPlayer, NPC_Merlow, ANIM_Merlow_Talk, ANIM_Merlow_Idle, 0, MSG_HOS_0055) + EVT_RETURN + EVT_END_IF + EVT_CALL(SpeakToPlayer, NPC_Merlow, ANIM_Merlow_Talk, ANIM_Merlow_Idle, 0, MSG_HOS_0056) + EVT_CALL(ShowChoice, MSG_Choice_000D) + EVT_IF_EQ(LVar0, 1) + EVT_CALL(ContinueSpeech, NPC_Merlow, ANIM_Merlow_Talk, ANIM_Merlow_Idle, 0, MSG_HOS_0057) + EVT_RETURN + EVT_END_IF + EVT_CALL(CloseMessage) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Merluvlee_Passthrough) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Merluvlee_Passthrough))) + EVT_EXEC(N(EVS_NpcInit_Merluvlee)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Merlow) = { + EVT_SET(MF_PurchasedBadge, FALSE) + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Merlow))) + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_Merluvlee)[] = { + { + .id = NPC_Merluvlee, + .settings = &N(NpcSettings_Merluvlee), + .pos = { 62.0f, 20.0f, 7.0f }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_Merluvlee_Passthrough), + .drops = NPC_NO_DROPS, + .animations = { + .idle = ANIM_Merluvlee_Idle, + }, + .tattle = MSG_NpcTattle_Merluvlee, + }, + { + .id = NPC_Merlow, + .settings = &N(NpcSettings_Merlow), + .pos = { -150.0f, 160.0f, -25.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_Merlow), + .drops = NPC_NO_DROPS, + .animations = { + .idle = ANIM_Merlow_Idle, + }, + .tattle = MSG_NpcTattle_Merlow, + }, +}; + +NpcGroupList N(DefaultNPCs) = { + NPC_GROUP(N(NpcData_Merluvlee)), + {} +}; diff --git a/src/world/area_hos/hos_06/hos_06_4_rooms.c b/src/world/area_hos/hos_06/hos_06_4_rooms.c new file mode 100644 index 0000000000..3b09d668e4 --- /dev/null +++ b/src/world/area_hos/hos_06/hos_06_4_rooms.c @@ -0,0 +1,132 @@ +#include "hos_06.h" + +// unused, makes sense to be in this source file +API_CALLABLE(N(GetEntryID)) { + script->varTable[0] = gGameStatusPtr->entryID; + return ApiStatus_DONE2; +} + +EvtScript N(EVS_SetDoorRot_House) = { + EVT_CALL(RotateGroup, MODEL_g10, LVar0, 0, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_MoveWalls_House) = { + EVT_SET(LVar1, LVar0) + EVT_MULF(LVar1, EVT_FLOAT(2.0)) + EVT_CALL(RotateGroup, MODEL_g12, LVar1, 0, 0, 1) + EVT_SET(LVar1, LVar0) + EVT_MULF(LVar1, EVT_FLOAT(2.0)) + EVT_CALL(RotateGroup, MODEL_g54, LVar1, 0, 1, 0) + EVT_SET(LVar1, LVar0) + EVT_MULF(LVar1, EVT_FLOAT(2.0)) + EVT_CALL(RotateGroup, MODEL_g55, LVar1, 0, 1, 0) + EVT_SET(LVar1, LVar0) + EVT_MULF(LVar1, EVT_FLOAT(2.0)) + EVT_CALL(RotateGroup, MODEL_g56, LVar1, 0, 1, 0) + EVT_SET(LVar1, LVar0) + EVT_MULF(LVar1, EVT_FLOAT(2.0)) + EVT_CALL(RotateGroup, MODEL_g57, LVar1, 0, 1, 0) + EVT_SET(LVar1, LVar0) + EVT_MULF(LVar1, EVT_FLOAT(2.0)) + EVT_CALL(RotateGroup, MODEL_g58, LVar1, 0, 1, 0) + EVT_SET(LVar1, LVar0) + EVT_MULF(LVar1, EVT_FLOAT(2.0)) + EVT_CALL(RotateGroup, MODEL_g86, LVar1, 0, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_DropDoor_House) = { + EVT_CALL(RotateGroup, MODEL_g10, LVar0, 1, 0, 1) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ToggleVis_House) = { + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_CALL(SetGroupEnabled, MODEL_g29, 1) + EVT_CALL(SetGroupEnabled, MODEL_g81, 1) + EVT_CALL(SetGroupEnabled, MODEL_g51, 1) + EVT_CASE_EQ(1) + EVT_CALL(SetGroupEnabled, MODEL_g1, 0) + EVT_CALL(SetGroupEnabled, MODEL_g35, 0) + EVT_CASE_EQ(2) + EVT_CALL(SetGroupEnabled, MODEL_g1, 1) + EVT_CALL(SetGroupEnabled, MODEL_g35, 1) + EVT_CASE_EQ(3) + EVT_CALL(SetGroupEnabled, MODEL_g29, 0) + EVT_CALL(SetGroupEnabled, MODEL_g81, 0) + EVT_CALL(SetGroupEnabled, MODEL_g31, 0) + EVT_CALL(SetGroupEnabled, MODEL_g51, 0) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetDoorRot_Downstairs) = { + EVT_CALL(RotateGroup, MODEL_g32, LVar0, 0, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetDoorRot_Upstairs) = { + EVT_CALL(RotateGroup, MODEL_g61, LVar0, 0, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ManageUpstairsVisibility) = { + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_IF_LT(LVar1, 100) + EVT_CALL(SetGroupEnabled, MODEL_g31, 0) + EVT_CALL(SetGroupEnabled, MODEL_g50, 1) + EVT_ELSE + EVT_CALL(SetGroupEnabled, MODEL_g31, 1) + EVT_CALL(SetGroupEnabled, MODEL_g50, 0) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetupRooms) = { + EVT_CALL(SetGroupEnabled, MODEL_g29, 0) + EVT_CALL(SetGroupEnabled, MODEL_g81, 0) + EVT_CALL(SetGroupEnabled, MODEL_g31, 0) + EVT_CALL(SetGroupEnabled, MODEL_g51, 0) + EVT_BIND_PADLOCK(EVT_PTR(N(EVS_ManageUpstairsVisibility)), TRIGGER_FLOOR_TOUCH, COLLIDER_o92, 0, 0, 1) + EVT_CALL(MakeDoorAdvanced, + VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_0), + EVT_PTR(N(EVS_SetDoorRot_House)), + EVT_PTR(N(EVS_MoveWalls_House)), + EVT_PTR(N(EVS_DropDoor_House)), + EVT_PTR(N(EVS_ToggleVis_House)), + COLLIDER_o158, + COLLIDER_o159, + MODEL_g2, + NULL) + EVT_CALL(MakeDoorAdvanced, + VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_0), + EVT_PTR(N(EVS_SetDoorRot_Downstairs)), + NULL, + NULL, + NULL, + COLLIDER_o161, + COLLIDER_o160, + MODEL_o1, + NULL) + EVT_CALL(MakeDoorAdvanced, + VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_1), + EVT_PTR(N(EVS_SetDoorRot_Upstairs)), + NULL, + NULL, + NULL, + COLLIDER_o163, + COLLIDER_o162, + MODEL_o1, + NULL) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_06/hos_06_5_merluvlee.c b/src/world/area_hos/hos_06/hos_06_5_merluvlee.c new file mode 100644 index 0000000000..b29b00146e --- /dev/null +++ b/src/world/area_hos/hos_06/hos_06_5_merluvlee.c @@ -0,0 +1,797 @@ +#include "hos_06.h" +#include "effects.h" +#include "model.h" + +#include "world/common/complete/KeyItemChoice.inc.c" +#include "world/common/complete/GiveReward.inc.c" + +u8 N(HintPrices)[] = { + 5, 20, 30 +}; + +// for hints available at any point in the story +// constant is smaller than any valid story progress value +#define STORY_REQ_ANY_TIME -10000 + +typedef struct BadgeHint { + /* 0x00 */ s32 hintMsg; + /* 0x04 */ s32 itemID; + /* 0x08 */ s32 requiredProgress; +} BadgeHint; // size = 0xC + +// badges in Merlow's shop only get hints once all other (currently available) badges are obtained +// constant is larger than any valid story progress value +#define BADGE_REQ_MERLOW_SHOP 10002 + +BadgeHint N(BadgeHintData)[] = { + { MSG_MerluvleeHint_JumpCharge, ITEM_BOOTS_CHARGE, STORY_CH3_STAR_SPRIT_DEPARTED }, + { MSG_MerluvleeHint_SuperJumpCharge, ITEM_S_JUMP_CHG, STORY_CH6_ARRIVED_AT_FLOWER_FIELDS }, + { MSG_MerluvleeHint_ShrinkStomp, ITEM_SHRINK_STOMP, STORY_CH1_DEFEATED_JR_TROOPA }, + { MSG_MerluvleeHint_Multibounce, ITEM_MULTIBOUNCE, STORY_CH1_DEFEATED_JR_TROOPA }, + { MSG_MerluvleeHint_SleepStomp, ITEM_SLEEP_STOMP, STORY_CH2_STAR_SPRIT_DEPARTED }, + { MSG_MerluvleeHint_DDownJump, ITEM_D_DOWN_JUMP, STORY_CH3_SAW_TUBBA_EAT_BOO }, + { MSG_MerluvleeHint_PowerBounce, ITEM_POWER_BOUNCE, STORY_CH1_SPOTTED_BY_KOOPA_BROS }, + { MSG_MerluvleeHint_DizzyStomp, ITEM_DIZZY_STOMP, STORY_CH5_ENTERED_MT_LAVA_LAVA }, + { MSG_MerluvleeHint_MegaJump, ITEM_MEGA_JUMP, STORY_CH7_MAYOR_MURDER_MYSTERY }, + { MSG_MerluvleeHint_PowerSmash, ITEM_POWER_SMASH1, STORY_CH2_GOT_SUPER_HAMMER }, + { MSG_MerluvleeHint_SmashCharge, ITEM_SMASH_CHARGE, STORY_CH1_SPOTTED_BY_KOOPA_BROS }, + { MSG_MerluvleeHint_SuperSmashCharge, ITEM_S_SMASH_CHG, STORY_CH5_RETURNED_TO_TOAD_TOWN }, + { MSG_MerluvleeHint_SpinSmash, ITEM_SPIN_SMASH, STORY_CH3_STAR_SPRIT_DEPARTED }, + { MSG_MerluvleeHint_HammerThrow, ITEM_HAMMER_THROW, STORY_REQ_ANY_TIME }, + { MSG_MerluvleeHint_QuakeHammer, ITEM_QUAKE_HAMMER, STORY_CH2_SPOKE_WITH_PARAKARRY }, + { MSG_MerluvleeHint_PowerQuake, ITEM_POWER_QUAKE, STORY_CH5_REACHED_LAVA_LAVA_ISLAND }, + { MSG_MerluvleeHint_MegaQuake, ITEM_MEGA_QUAKE, STORY_CH5_RETURNED_TO_TOAD_TOWN }, + { MSG_MerluvleeHint_DDownPound, ITEM_D_DOWN_POUND, STORY_CH1_DEFEATED_JR_TROOPA }, + { MSG_MerluvleeHint_MegaSmash, ITEM_MEGA_SMASH, STORY_CH6_ARRIVED_AT_FLOWER_FIELDS }, + { MSG_MerluvleeHint_DoubleDip, ITEM_DOUBLE_DIP, STORY_CH2_STAR_SPRIT_DEPARTED }, + { MSG_MerluvleeHint_QuickChange, ITEM_QUICK_CHANGE, STORY_CH3_GOT_SUPER_BOOTS }, + { MSG_MerluvleeHint_Refund, ITEM_REFUND, STORY_CH1_SPOTTED_BY_KOOPA_BROS }, + { MSG_MerluvleeHint_TripleDip, ITEM_TRIPLE_DIP, STORY_CH7_RAISED_FROZEN_STAIRS }, + { MSG_MerluvleeHint_DeepFocus1, ITEM_DEEP_FOCUS1, STORY_CH2_STAR_SPRIT_DEPARTED }, + { MSG_MerluvleeHint_DeepFocus2, ITEM_DEEP_FOCUS2, STORY_CH4_FOUND_HIDDEN_DOOR }, + { MSG_MerluvleeHint_DeepFocus3, ITEM_DEEP_FOCUS3, STORY_CH8_REACHED_BOWSERS_CASTLE }, + { MSG_MerluvleeHint_HPPlus1, ITEM_HP_PLUS_A, STORY_CH3_INVITED_TO_BOOS_MANSION }, + { MSG_MerluvleeHint_HPPlus2, ITEM_HP_PLUS_B, STORY_REQ_ANY_TIME }, + { MSG_MerluvleeHint_FPPlus1, ITEM_FP_PLUS_A, STORY_CH3_INVITED_TO_BOOS_MANSION }, + { MSG_MerluvleeHint_FPPlus2, ITEM_FP_PLUS_B, STORY_CH1_SPOTTED_BY_KOOPA_BROS }, + { MSG_MerluvleeHint_HappyHeart1, ITEM_HAPPY_HEART_A, BADGE_REQ_MERLOW_SHOP }, + { MSG_MerluvleeHint_HappyHeart2, ITEM_HAPPY_HEART_B, STORY_CH5_REACHED_LAVA_LAVA_ISLAND }, + { MSG_MerluvleeHint_HappyFlower1, ITEM_HAPPY_FLOWER_A, BADGE_REQ_MERLOW_SHOP }, + { MSG_MerluvleeHint_HappyFlower2, ITEM_HAPPY_FLOWER_B, STORY_CH6_ARRIVED_AT_FLOWER_FIELDS }, + { MSG_MerluvleeHint_FlowerSaver1, ITEM_FLOWER_SAVER_A, BADGE_REQ_MERLOW_SHOP }, + { MSG_MerluvleeHint_FlowerSaver2, ITEM_FLOWER_SAVER_B, STORY_CH6_ARRIVED_AT_FLOWER_FIELDS }, + { MSG_MerluvleeHint_DodgeMaster, ITEM_DODGE_MASTER, STORY_CH2_STAR_SPRIT_DEPARTED }, + { MSG_MerluvleeHint_PdownDup, ITEM_P_DOWN_D_UP, STORY_CH7_RAISED_FROZEN_STAIRS }, + { MSG_MerluvleeHint_PupDdown, ITEM_P_UP_D_DOWN, STORY_CH7_RAISED_FROZEN_STAIRS }, + { MSG_MerluvleeHint_AllorNothing, ITEM_ALLOR_NOTHING, STORY_CH4_STAR_SPRIT_DEPARTED }, + { MSG_MerluvleeHint_PowerPlus1, ITEM_POWER_PLUS_A, BADGE_REQ_MERLOW_SHOP }, + { MSG_MerluvleeHint_PowerPlus2, ITEM_POWER_PLUS_B, STORY_CH4_FOUND_HIDDEN_DOOR }, + { MSG_MerluvleeHint_HPDrain, ITEM_HP_DRAIN, BADGE_REQ_MERLOW_SHOP }, + { MSG_MerluvleeHint_ZapTap, ITEM_ZAP_TAP, BADGE_REQ_MERLOW_SHOP }, + { MSG_MerluvleeHint_IcePower, ITEM_ICE_POWER, STORY_CH4_FOUND_HIDDEN_DOOR }, + { MSG_MerluvleeHint_FireShield, ITEM_FIRE_SHIELD, STORY_CH5_ENTERED_MT_LAVA_LAVA }, + { MSG_MerluvleeHint_SpikeShield, ITEM_SPIKE_SHIELD, STORY_CH2_UNCOVERED_DRY_DRY_RUINS }, + { MSG_MerluvleeHint_CloseCall, ITEM_CLOSE_CALL, STORY_REQ_ANY_TIME }, + { MSG_MerluvleeHint_LastStand, ITEM_LAST_STAND, STORY_CH3_STAR_SPRIT_DEPARTED }, + { MSG_MerluvleeHint_PowerRush, ITEM_POWER_RUSH, STORY_CH2_STAR_SPRIT_DEPARTED }, + { MSG_MerluvleeHint_MegaRush, ITEM_MEGA_RUSH, STORY_CH3_SAW_TUBBA_EAT_BOO }, + { MSG_MerluvleeHint_FeelingFine, ITEM_FEELING_FINE, BADGE_REQ_MERLOW_SHOP }, + { MSG_MerluvleeHint_DamageDodge1, ITEM_DAMAGE_DODGE_A, STORY_CH5_RETURNED_TO_TOAD_TOWN }, + { MSG_MerluvleeHint_DamageDodge2, ITEM_DAMAGE_DODGE_B, STORY_CH2_SPOKE_WITH_PARAKARRY }, + { MSG_MerluvleeHint_PrettyLucky, ITEM_PRETTY_LUCKY, BADGE_REQ_MERLOW_SHOP }, + { MSG_MerluvleeHint_DefendPlus, ITEM_DEFEND_PLUS_A, STORY_CH4_FOUND_HIDDEN_DOOR }, + { MSG_MerluvleeHint_LuckyDay, ITEM_LUCKY_DAY, STORY_CH7_MAYOR_MURDER_MYSTERY }, + { MSG_MerluvleeHint_SlowGo, ITEM_SLOW_GO, STORY_CH2_UNCOVERED_DRY_DRY_RUINS }, + { MSG_MerluvleeHint_AttackFXA, ITEM_ATTACK_FX_A, BADGE_REQ_MERLOW_SHOP }, + { MSG_MerluvleeHint_PayOff, ITEM_PAY_OFF, BADGE_REQ_MERLOW_SHOP }, + { MSG_MerluvleeHint_RunawayPay, ITEM_RUNAWAY_PAY, STORY_CH2_PARAKARRY_JOINED_PARTY }, + { MSG_MerluvleeHint_HeartFinder, ITEM_HEART_FINDER, BADGE_REQ_MERLOW_SHOP }, + { MSG_MerluvleeHint_FlowerFinder, ITEM_FLOWER_FINDER, BADGE_REQ_MERLOW_SHOP }, + { MSG_MerluvleeHint_MoneyMoney, ITEM_MONEY_MONEY, BADGE_REQ_MERLOW_SHOP }, + { MSG_MerluvleeHint_SpeedySpin, ITEM_SPEEDY_SPIN, STORY_CH1_DEFEATED_JR_TROOPA }, + { MSG_MerluvleeHint_ISpy, ITEM_I_SPY, STORY_CH4_FOUND_HIDDEN_DOOR }, + { MSG_MerluvleeHint_DizzyAttack, ITEM_DIZZY_ATTACK, STORY_REQ_ANY_TIME }, + { MSG_MerluvleeHint_ChillOut, ITEM_CHILL_OUT, BADGE_REQ_MERLOW_SHOP }, + { MSG_MerluvleeHint_FirstAttack, ITEM_FIRST_ATTACK, STORY_CH1_DEFEATED_JR_TROOPA }, + { MSG_MerluvleeHint_SpinAttack, ITEM_SPIN_ATTACK, STORY_CH2_PARAKARRY_JOINED_PARTY }, + { MSG_MerluvleeHint_BumpAttack, ITEM_BUMP_ATTACK, STORY_CH5_SUSHIE_JOINED_PARTY }, + { MSG_MerluvleeHint_GroupFocus, ITEM_GROUP_FOCUS, STORY_CH3_STAR_SPRIT_DEPARTED }, + { MSG_MerluvleeHint_AttackFXD, ITEM_ATTACK_FX_D, STORY_CH2_STAR_SPRIT_DEPARTED }, + { MSG_MerluvleeHint_AttackFXB, ITEM_ATTACK_FX_B, STORY_REQ_ANY_TIME }, + { MSG_MerluvleeHint_AttackFXE, ITEM_ATTACK_FX_E, STORY_CH7_MAYOR_MURDER_MYSTERY }, + { MSG_MerluvleeHint_AttackFXC, ITEM_ATTACK_FX_C, STORY_CH2_PARAKARRY_JOINED_PARTY }, + { MSG_MerluvleeHint_Peekaboo, ITEM_PEEKABOO, BADGE_REQ_MERLOW_SHOP }, + { MSG_MerluvleeHint_HPPlus3, ITEM_HP_PLUS_C, STORY_CH4_STAR_SPRIT_DEPARTED }, + { MSG_MerluvleeHint_FPPlus3, ITEM_FP_PLUS_C, STORY_CH4_STAR_SPRIT_DEPARTED }, +}; + +typedef struct GameFlagHint { + /* 0x00 */ s32 hintMsg; + /* 0x04 */ s32 doneFlag; + /* 0x08 */ s32 requiredProgress; +} GameFlagHint; // size = 0xC + +GameFlagHint N(SuperBlockHintData)[] = { + { MSG_MerluvleeHint_SuperBlock_01, GF_TIK07_SuperBlock, STORY_CH2_GOT_SUPER_HAMMER }, + { MSG_MerluvleeHint_SuperBlock_02, GF_TIK10_SuperBlock, STORY_CH3_GOT_SUPER_BOOTS }, + { MSG_MerluvleeHint_SuperBlock_03, GF_TIK02_SuperBlock, STORY_CH5_ZIP_LINE_READY }, + { MSG_MerluvleeHint_SuperBlock_04, GF_TIK17_SuperBlock, STORY_CH7_INVITED_TO_STARBORN_VALLEY }, + { MSG_MerluvleeHint_SuperBlock_05, GF_TIK19_SuperBlock, STORY_CH5_SUSHIE_JOINED_PARTY }, + { MSG_MerluvleeHint_SuperBlock_06, GF_IWA10_SuperBlock, STORY_CH2_GOT_SUPER_HAMMER }, + { MSG_MerluvleeHint_SuperBlock_07, GF_SBK56_SuperBlock, STORY_CH1_STAR_SPRIT_DEPARTED }, + { MSG_MerluvleeHint_SuperBlock_08, GF_ISK10_SuperBlock, STORY_CH2_UNCOVERED_DRY_DRY_RUINS }, + { MSG_MerluvleeHint_SuperBlock_09, GF_DGB04_SuperBlock, STORY_UNUSED_FFFFFFE1 }, + { MSG_MerluvleeHint_SuperBlock_10, GF_OMO11_SuperBlock, STORY_CH4_FOUND_HIDDEN_DOOR }, + { MSG_MerluvleeHint_SuperBlock_11, GF_JAN08_SuperBlock, STORY_CH5_REACHED_LAVA_LAVA_ISLAND }, + { MSG_MerluvleeHint_SuperBlock_12, GF_KZN04_SuperBlock, STORY_CH5_ZIP_LINE_READY }, + { MSG_MerluvleeHint_SuperBlock_13, GF_KZN09_SuperBlock, STORY_CH5_ZIP_LINE_READY }, + { MSG_MerluvleeHint_SuperBlock_14, GF_FLO08_SuperBlock, STORY_CH6_ARRIVED_AT_FLOWER_FIELDS }, + { MSG_MerluvleeHint_SuperBlock_15, GF_FLO16_SuperBlock, STORY_CH6_ARRIVED_AT_FLOWER_FIELDS }, + { MSG_MerluvleeHint_SuperBlock_16, GF_SAM08_SuperBlock, STORY_CH7_MAYOR_MURDER_MYSTERY }, +}; + +GameFlagHint N(StarPieceHintData)[] = { + { MSG_MerluvleeHint_StarPiece_01, GF_KMR05_Item_StarPiece, STORY_REQ_ANY_TIME }, + { MSG_MerluvleeHint_StarPiece_02, GF_KMR11_Tree1_StarPiece, STORY_REQ_ANY_TIME }, + { MSG_MerluvleeHint_StarPiece_03, GF_KMR00_HiddenPanel, STORY_CH3_GOT_SUPER_BOOTS }, + { MSG_MerluvleeHint_StarPiece_04, GF_KMR03_HiddenPanel, STORY_CH3_GOT_SUPER_BOOTS }, + { MSG_MerluvleeHint_StarPiece_05, GF_KMR11_HiddenPanel, STORY_CH3_GOT_SUPER_BOOTS }, + { MSG_MerluvleeHint_StarPiece_06, GF_MAC00_Item_StarPiece, STORY_CH5_SUSHIE_JOINED_PARTY }, + { MSG_MerluvleeHint_StarPiece_07, GF_MAC00_HiddenPanel, STORY_CH3_GOT_SUPER_BOOTS }, + { MSG_MerluvleeHint_StarPiece_08, GF_MAC02_HiddenPanel, STORY_CH3_GOT_SUPER_BOOTS }, + { MSG_MerluvleeHint_StarPiece_09, GF_MAC03_HiddenPanel, STORY_CH3_GOT_SUPER_BOOTS }, + { MSG_MerluvleeHint_StarPiece_10, GF_MAC05_HiddenPanel, STORY_CH3_GOT_SUPER_BOOTS }, + { MSG_MerluvleeHint_StarPiece_11, GF_MAC01_Tree1_StarPiece, STORY_REQ_ANY_TIME }, + { MSG_MerluvleeHint_StarPiece_12, GF_HOS00_HiddenPanel, STORY_CH3_GOT_SUPER_BOOTS }, + { MSG_MerluvleeHint_StarPiece_13, GF_HOS01_HiddenPanel, STORY_CH3_GOT_SUPER_BOOTS }, + { MSG_MerluvleeHint_StarPiece_14, GF_HOS06_HiddenPanel, STORY_CH3_GOT_SUPER_BOOTS }, + { MSG_MerluvleeHint_StarPiece_15, GF_HOS01_Item_StarPiece, STORY_REQ_ANY_TIME }, + { MSG_MerluvleeHint_StarPiece_16, GF_TIK07_Item_StarPiece, STORY_CH2_GOT_SUPER_HAMMER }, + + { MSG_MerluvleeHint_StarPiece_17, GF_NOK12_Item_StarPiece, STORY_CH1_KNOCKED_SWITCH_FROM_TREE }, + { MSG_MerluvleeHint_StarPiece_18, GF_NOK01_HiddenPanel, STORY_CH3_GOT_SUPER_BOOTS }, + { MSG_MerluvleeHint_StarPiece_19, GF_NOK13_HiddenPanel, STORY_CH3_GOT_SUPER_BOOTS }, + { MSG_MerluvleeHint_StarPiece_20, GF_NOK14_HiddenPanel, STORY_CH3_GOT_SUPER_BOOTS }, + { MSG_MerluvleeHint_StarPiece_21, GF_NOK02_Item_StarPiece, STORY_CH1_KOOPER_JOINED_PARTY }, + { MSG_MerluvleeHint_StarPiece_22, GF_NOK15_Tree1_StarPiece, STORY_CH1_KOOPER_JOINED_PARTY }, + + { MSG_MerluvleeHint_StarPiece_23, GF_IWA02_Item_StarPiece, STORY_CH2_SPOKE_WITH_PARAKARRY }, + { MSG_MerluvleeHint_StarPiece_24, GF_IWA01_HiddenPanel, STORY_CH3_GOT_SUPER_BOOTS }, + { MSG_MerluvleeHint_StarPiece_25, GF_IWA03_Item_StarPiece, STORY_CH2_SPOKE_WITH_PARAKARRY }, + { MSG_MerluvleeHint_StarPiece_26, GF_SBK33_HiddenPanel, STORY_CH3_GOT_SUPER_BOOTS }, + { MSG_MerluvleeHint_StarPiece_27, GF_DRO02_HiddenPanel, STORY_CH3_GOT_SUPER_BOOTS }, + { MSG_MerluvleeHint_StarPiece_28, GF_ISK06_Item_StarPiece, STORY_CH2_UNCOVERED_DRY_DRY_RUINS }, + + { MSG_MerluvleeHint_StarPiece_29, GF_OBK01_HiddenPanel, STORY_CH3_GOT_SUPER_BOOTS }, + { MSG_MerluvleeHint_StarPiece_30, GF_OBK02_HiddenPanel, STORY_CH3_GOT_SUPER_BOOTS }, + { MSG_MerluvleeHint_StarPiece_31, GF_OBK04_HiddenPanel, STORY_CH3_GOT_SUPER_BOOTS }, + { MSG_MerluvleeHint_StarPiece_32, GF_OBK08_HiddenPanel, STORY_CH3_GOT_SUPER_BOOTS }, + { MSG_MerluvleeHint_StarPiece_33, GF_OBK06_Crate_StarPiece, STORY_CH3_GOT_SUPER_BOOTS }, + { MSG_MerluvleeHint_StarPiece_34, GF_MIM12_HiddenPanel, STORY_CH3_GOT_SUPER_BOOTS }, + { MSG_MerluvleeHint_StarPiece_35, GF_ARN04_Item_StarPiece, STORY_CH3_SAW_TUBBA_EAT_BOO }, + { MSG_MerluvleeHint_StarPiece_36, GF_DGB03_Item_StarPiece, STORY_CH3_SAW_TUBBA_EAT_BOO }, + { MSG_MerluvleeHint_StarPiece_37, GF_DGB07_Item_StarPiece, STORY_CH3_SAW_TUBBA_EAT_BOO }, + + { MSG_MerluvleeHint_StarPiece_38, GF_OMO04_Item_StarPieceA, STORY_CH4_FOUND_HIDDEN_DOOR }, + { MSG_MerluvleeHint_StarPiece_39, GF_OMO03_HiddenPanel, STORY_CH4_FOUND_HIDDEN_DOOR }, + { MSG_MerluvleeHint_StarPiece_40, GF_OMO06_HiddenPanel, STORY_CH4_FOUND_HIDDEN_DOOR }, + { MSG_MerluvleeHint_StarPiece_41, GF_OMO08_HiddenPanel, STORY_CH4_FOUND_HIDDEN_DOOR }, + { MSG_MerluvleeHint_StarPiece_42, GF_OMO10_HiddenPanel, STORY_CH4_FOUND_HIDDEN_DOOR }, + { MSG_MerluvleeHint_StarPiece_43, GF_OMO04_Item_StarPieceB, STORY_CH4_FOUND_HIDDEN_DOOR }, + { MSG_MerluvleeHint_StarPiece_44, GF_OMO09_Item_StarPiece, STORY_CH4_FOUND_HIDDEN_DOOR }, + + { MSG_MerluvleeHint_StarPiece_45, GF_JAN02_HiddenPanel, STORY_CH5_REACHED_LAVA_LAVA_ISLAND }, + { MSG_MerluvleeHint_StarPiece_46, GF_JAN15_HiddenPanel, STORY_CH5_REACHED_LAVA_LAVA_ISLAND }, + { MSG_MerluvleeHint_StarPiece_47, GF_JAN04_Item_StarPiece, STORY_CH5_REACHED_LAVA_LAVA_ISLAND }, + { MSG_MerluvleeHint_StarPiece_48, GF_JAN01_Tree7_StarPiece, STORY_CH5_REACHED_LAVA_LAVA_ISLAND }, + { MSG_MerluvleeHint_StarPiece_49, GF_JAN10_Item_StarPiece, STORY_CH5_REACHED_LAVA_LAVA_ISLAND }, + { MSG_MerluvleeHint_StarPiece_50, GF_KZN09_HiddenPanel, STORY_CH5_ENTERED_MT_LAVA_LAVA }, + { MSG_MerluvleeHint_StarPiece_51, GF_KZN18_HiddenPanel, STORY_CH5_ENTERED_MT_LAVA_LAVA }, + + { MSG_MerluvleeHint_StarPiece_52, GF_FLO16_Item_StarPiece, STORY_CH6_ARRIVED_AT_FLOWER_FIELDS }, + { MSG_MerluvleeHint_StarPiece_53, GF_FLO03_HiddenPanel, STORY_CH6_ARRIVED_AT_FLOWER_FIELDS }, + { MSG_MerluvleeHint_StarPiece_54, GF_FLO24_HiddenPanel, STORY_CH6_ARRIVED_AT_FLOWER_FIELDS }, + { MSG_MerluvleeHint_StarPiece_55, GF_FLO14_Item_StarPiece, STORY_CH6_ARRIVED_AT_FLOWER_FIELDS }, + { MSG_MerluvleeHint_StarPiece_56, GF_FLO25_HiddenPanel, STORY_CH6_ARRIVED_AT_FLOWER_FIELDS }, + { MSG_MerluvleeHint_StarPiece_57, GF_FLO08_Item_StarPiece, STORY_CH6_ARRIVED_AT_FLOWER_FIELDS }, + + { MSG_MerluvleeHint_StarPiece_58, GF_SAM10_Item_StarPiece, STORY_CH7_MAYOR_MURDER_MYSTERY }, + { MSG_MerluvleeHint_StarPiece_59, GF_SAM01_HiddenPanel, STORY_CH7_MAYOR_MURDER_MYSTERY }, + { MSG_MerluvleeHint_StarPiece_60, GF_SAM04_HiddenPanel, STORY_CH7_MAYOR_MURDER_MYSTERY }, + { MSG_MerluvleeHint_StarPiece_61, GF_PRA15_Item_StarPiece, STORY_CH7_RAISED_FROZEN_STAIRS }, + { MSG_MerluvleeHint_StarPiece_62, GF_PRA21_HiddenPanel, STORY_CH7_RAISED_FROZEN_STAIRS }, + { MSG_MerluvleeHint_StarPiece_63, GF_PRA22_HiddenPanel, STORY_CH7_RAISED_FROZEN_STAIRS }, +}; + +s32 N(PlayerHasBadge)(s32 badgeID) { + s32 i; + + for (i = 0; i < ARRAY_COUNT(gPlayerData.badges); i++) { + if (gPlayerData.badges[i] == badgeID) { + return TRUE; + } + } + return FALSE; +} + +API_CALLABLE(N(ResetHintFlags)) { + u32 i; + + for (i = 0; i < ARRAY_COUNT(N(BadgeHintData)); i++) { + evt_set_variable(NULL, AF_HOS06_BadgeHints + i, FALSE); + } + for (i = 0; i < ARRAY_COUNT(N(SuperBlockHintData)); i++) { + evt_set_variable(NULL, AF_HOS06_SuperBlocksHints + i, FALSE); + } + return ApiStatus_DONE2; +} + +API_CALLABLE(N(GetBadgeHint)) { + s32 storyProgress = evt_get_variable(NULL, GB_StoryProgress); + BadgeHint* hint; + u32 count = 0; + s32 selectedIdx; + u32 i; + + // check for all badges obtainable outside Merlow's shop + script->varTable[1] = 0; + for (i = 0, hint = N(BadgeHintData); i < ARRAY_COUNT(N(BadgeHintData)); i++, hint++) { + if (storyProgress >= hint->requiredProgress + && !N(PlayerHasBadge)(hint->itemID) + && !evt_get_variable(NULL, AF_HOS06_BadgeHints + i)) + { + count++; + } + } + + // select the Nth valid hint at random + if (count > 0) { + selectedIdx = rand_int(count - 1); + hint = N(BadgeHintData); + count = 0; + + for (i = 0; i < ARRAY_COUNT(N(BadgeHintData)); i++, hint++) { + if (storyProgress >= hint->requiredProgress + && !N(PlayerHasBadge)(hint->itemID) + && !evt_get_variable(NULL, AF_HOS06_BadgeHints + i)) + { + if (count == selectedIdx) { + script->varTable[1] = hint->hintMsg; + evt_set_variable(NULL, AF_HOS06_BadgeHints + i, TRUE); + break; + } + count++; + } + } + return ApiStatus_DONE2; + } + + // if no obtainable badges are found, check for badges obtained via Merlow's shop + for (i = 0, hint = N(BadgeHintData); i < ARRAY_COUNT(N(BadgeHintData)); i++, hint++) { + if (hint->requiredProgress == BADGE_REQ_MERLOW_SHOP + && !N(PlayerHasBadge)(hint->itemID) + && !evt_get_variable(NULL, AF_HOS06_BadgeHints + i)) + { + count++; + } + } + + // select the Nth valid hint at random + if (count > 0) { + selectedIdx = rand_int(count - 1); + hint = N(BadgeHintData); + count = 0; + i = 0; + + for (; i < ARRAY_COUNT(N(BadgeHintData)); i++, hint++) { + if (hint->requiredProgress == BADGE_REQ_MERLOW_SHOP + && !N(PlayerHasBadge)(hint->itemID) + && !evt_get_variable(NULL, AF_HOS06_BadgeHints + i)) + { + if (count == selectedIdx) { + script->varTable[1] = hint->hintMsg; + evt_set_variable(NULL, AF_HOS06_BadgeHints + i, 1); + break; + } + count++; + } + } + } + return ApiStatus_DONE2; +} + +API_CALLABLE(N(GetSuperBlockHint)) { + s32 storyProgress = evt_get_variable(NULL, GB_StoryProgress); + GameFlagHint* hint; + u32 count = 0; + s32 selectedIdx; + u32 i; + + script->varTable[1] = 0; + + // count unused super blocks + hint = N(SuperBlockHintData); + for (i = 0; i < ARRAY_COUNT(N(SuperBlockHintData)); i++, hint++) { + if (storyProgress >= hint->requiredProgress + && !evt_get_variable(NULL, hint->doneFlag) + && !evt_get_variable(NULL, AF_HOS06_SuperBlocksHints + i)) + { + count++; + } + } + + // select the Nth valid hint at random + if (count > 0) { + selectedIdx = rand_int(count - 1); + hint = N(SuperBlockHintData); + count = 0; + + for (i = 0; i < ARRAY_COUNT(N(SuperBlockHintData)); i++, hint++) { + if (storyProgress >= hint->requiredProgress + && !evt_get_variable(NULL, hint->doneFlag) + && !evt_get_variable(NULL, AF_HOS06_SuperBlocksHints + i)) + { + if (count == selectedIdx) { + script->varTable[1] = hint->hintMsg; + evt_set_variable(NULL, AF_HOS06_SuperBlocksHints + i, TRUE); + break; + } + count++; + } + } + } + return ApiStatus_DONE2; +} + +API_CALLABLE(N(GetStarPieceHint)) { + s32 storyProgress = evt_get_variable(NULL, GB_StoryProgress); + GameFlagHint* hint; + u32 count = 0; + s32 selectedIdx; + u32 i; + + script->varTable[1] = 0; + + // count unobtained star pieces + hint = N(StarPieceHintData); + for (i = 0; i < ARRAY_COUNT(N(StarPieceHintData)); i++, hint++) { + if (storyProgress >= hint->requiredProgress + && !evt_get_variable(NULL, hint->doneFlag) + && !evt_get_variable(NULL, AF_HOS06_StarPieceHints + i)) + { + count++; + } + } + + // select the Nth valid hint at random + if (count > 0) { + selectedIdx = rand_int(count - 1); + hint = N(StarPieceHintData); + count = 0; + + for (i = 0; i < ARRAY_COUNT(N(StarPieceHintData)); i++, hint++) { + if (storyProgress >= hint->requiredProgress + && !evt_get_variable(NULL, hint->doneFlag) + && !evt_get_variable(NULL, AF_HOS06_StarPieceHints + i)) + { + if (count == selectedIdx) { + script->varTable[1] = hint->hintMsg; + evt_set_variable(NULL, AF_HOS06_StarPieceHints + i, TRUE); + break; + } + count++; + } + } + } + return ApiStatus_DONE2; +} + +API_CALLABLE(N(HasEnoughCoinsForHint)) { + Bytecode* args = script->ptrReadPos; + s32 hintType = evt_get_variable(script, *args++); + s32 outVar = *args++; + + if (gPlayerData.coins < N(HintPrices)[hintType]) { + evt_set_variable(script, outVar, TRUE); + } else { + evt_set_variable(script, outVar, FALSE); + } + return ApiStatus_DONE2; +} + +API_CALLABLE(N(DeductHintCoins)) { + Bytecode* args = script->ptrReadPos; + s32 hintType = evt_get_variable(script, *args++); + + gPlayerData.coins -= N(HintPrices)[hintType]; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(RefundHintCoins)) { + Bytecode* args = script->ptrReadPos; + s32 hintType = evt_get_variable(script, *args++); + + gPlayerData.coins += N(HintPrices)[hintType]; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(func_802418E8_A3ADC8)) { + if (isInitialCall) { + set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_o98)), -1, FOG_MODE_3); + set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_o76)), -1, FOG_MODE_3); + set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_o84)), -1, FOG_MODE_3); + set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_o85)), -1, FOG_MODE_3); + set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_o89)), -1, FOG_MODE_3); + set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_o104)), -1, FOG_MODE_3); + set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_o78)), -1, FOG_MODE_3); + set_model_env_color_parameters(255, 255, 255, 0, 0, 0); + script->functionTemp[0] = 255; + } + + script->functionTemp[0] -= 4; + if (script->functionTemp[0] < 64) { + script->functionTemp[0] = 64; + } + set_model_env_color_parameters(script->functionTemp[0], script->functionTemp[0], script->functionTemp[0], 0, 0, 0); + if (script->functionTemp[0] == 64) { + return ApiStatus_DONE2; + } + return ApiStatus_BLOCK; +} + +API_CALLABLE(N(func_80241A58_A3AF38)) { + if (isInitialCall) { + script->functionTemp[0] = 64; + script->functionTemp[2] = 64; + script->functionTemp[1] = 0; + } + if (script->functionTemp[1] == 0) { + script->functionTemp[0] += 4; + script->functionTemp[2] += 4; + if (script->functionTemp[0] > 127) { + script->functionTemp[0] = 127; + } + if (script->functionTemp[2] > 127) { + script->functionTemp[2] = 127; + } + if (script->functionTemp[0] == 127 && (script->functionTemp[2] == script->functionTemp[0])) { + script->functionTemp[1] = 1; + } + } else { + script->functionTemp[0] -= 4; + script->functionTemp[2] -= 4; + if (script->functionTemp[0] < 64) { + script->functionTemp[0] = 64; + } + if (script->functionTemp[2] < 0) { + script->functionTemp[2] = 0; + } + } + set_model_env_color_parameters( + script->functionTemp[0], script->functionTemp[0], script->functionTemp[0], + script->functionTemp[2], script->functionTemp[2], script->functionTemp[2] + ); + if (script->functionTemp[0] == 64 && script->functionTemp[2] == 0) { + return ApiStatus_DONE2; + } + return ApiStatus_BLOCK; +} + +API_CALLABLE(N(func_80241B74_A3B054)) { + if (isInitialCall) { + script->functionTemp[0] = 64; + } + + script->functionTemp[0] += 4; + if (script->functionTemp[0] > 255) { + script->functionTemp[0] = 255; + } + set_model_env_color_parameters(script->functionTemp[0], script->functionTemp[0], script->functionTemp[0], 0, 0, 0); + + if (script->functionTemp[0] == 255) { + set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_o98)), -1, FOG_MODE_0); + set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_o76)), -1, FOG_MODE_0); + set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_o84)), -1, FOG_MODE_0); + set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_o85)), -1, FOG_MODE_0); + set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_o89)), -1, FOG_MODE_0); + set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_o104)), -1, FOG_MODE_0); + set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_o78)), -1, FOG_MODE_0); + return ApiStatus_DONE2; + } + return ApiStatus_BLOCK; +} + +// TODO may not be motionBlurFlame +API_CALLABLE(N(func_80241CCC_A3B1AC)) { + EffectInstance* effects[3]; + Matrix4f sp28, sp68; + f32 tx; + f32 ty; + f32 temp_f24; + f32 temp_f28; + f32 temp_f30; + s32 i; + + if (isInitialCall) { + script->functionTemp[0] = 180; + script->functionTempPtr[1] = (EffectInstance*) evt_get_variable(script, ArrayVar(3)); + script->functionTempPtr[2] = (EffectInstance*) evt_get_variable(script, ArrayVar(4)); + script->functionTempPtr[3] = (EffectInstance*) evt_get_variable(script, ArrayVar(5)); + } + + effects[0] = script->functionTempPtr[1]; + effects[1] = script->functionTempPtr[2]; + effects[2] = script->functionTempPtr[3]; + temp_f30 = (sin_deg(script->functionTemp[0]) * 10.0f) + 10.0f; + temp_f28 = (sin_deg(script->functionTemp[0]) * 25.0f) + 10.0f; + temp_f24 = script->functionTemp[0] * 10; + + for (i = 0; i < ARRAY_COUNT(effects); i++) { + guRotateF(sp28, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f); + guRotateF(sp68, i * 120, 0.0f, 0.0f, 1.0f); + guMtxCatF(sp68, sp28, sp28); + tx = temp_f30 * sin_deg(temp_f24); + ty = temp_f28 * cos_deg(temp_f24); + guTranslateF(sp68, tx, ty, 0.0f); + guMtxCatF(sp68, sp28, sp28); + effects[i]->data.motionBlurFlame->pos.x = sp28[3][0]; + effects[i]->data.motionBlurFlame->pos.y = sp28[3][1]; + effects[i]->data.motionBlurFlame->pos.z = sp28[3][2]; + } + + script->functionTemp[0]--; + if (script->functionTemp[0] < 16) { + for (i = 0; i < ARRAY_COUNT(effects); i++) { + effects[i]->data.motionBlurFlame->unk_4C = script->functionTemp[0]; + } + } + + if (script->functionTemp[0] < 0) { + for (i = 0; i < ARRAY_COUNT(effects); i++) { + remove_effect(effects[i]); + } + return ApiStatus_DONE2; + } + return ApiStatus_BLOCK; +} + +API_CALLABLE(N(func_80241F98_A3B478)) { + Bytecode* args = script->ptrReadPos; + EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++); + + // TODO effect may be wrong + effect->data.energyOrbWave->unk_1C++; + return ApiStatus_DONE2; +} + +EvtScript N(EVS_PerformHintRitual) = { + EVT_CALL(SetMusicTrack, 0, SONG_MERLEE_SPELL, 2, 8) + EVT_CALL(SetNpcAnimation, NPC_Merluvlee, ANIM_Merluvlee_Release) + EVT_CALL(GetModelCenter, MODEL_o100) + EVT_ADD(LVar1, 20) + EVT_CALL(PlaySoundAt, SOUND_207, 0, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_ENERGY_ORB_WAVE, 1, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), -1) + EVT_SET(ArrayVar(1), LVarF) + EVT_CALL(EnableModel, MODEL_o185, FALSE) + EVT_CALL(EnableModel, MODEL_o186, FALSE) + EVT_WAIT(30) + EVT_THREAD + EVT_CALL(N(func_802418E8_A3ADC8)) + EVT_END_THREAD + EVT_CALL(GetModelCenter, MODEL_o100) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, -20) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamPosA, CAM_DEFAULT, EVT_FLOAT(-91.5), EVT_FLOAT(18.40625)) + EVT_CALL(GetCamDistance, CAM_DEFAULT, LVar0) + EVT_IF_GT(LVar0, 0) + EVT_SETF(LVar0, EVT_FLOAT(284.6)) + EVT_ELSE + EVT_SETF(LVar0, EVT_FLOAT(-284.6)) + EVT_END_IF + EVT_CALL(SetCamDistance, CAM_DEFAULT, LVar0) + EVT_CALL(GetCamPitch, CAM_DEFAULT, LVar0, LVar1) + EVT_SETF(LVar1, EVT_FLOAT(-11.0)) + EVT_CALL(SetCamPitch, CAM_DEFAULT, LVar0, LVar1) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_PLAY_EFFECT(EFFECT_MERLIN_HOUSE_STARS, 0, -298, 21, -330) + EVT_SET(ArrayVar(2), LVarF) + EVT_CALL(GetModelCenter, MODEL_o100) + EVT_ADD(LVar1, 20) + EVT_PLAY_EFFECT(EFFECT_MOTION_BLUR_FLAME, 0, LVar0, LVar1, LVar2, 1, -1) + EVT_SET(ArrayVar(3), LVarF) + EVT_PLAY_EFFECT(EFFECT_MOTION_BLUR_FLAME, 0, LVar0, LVar1, LVar2, 1, -1) + EVT_SET(ArrayVar(4), LVarF) + EVT_PLAY_EFFECT(EFFECT_MOTION_BLUR_FLAME, 0, LVar0, LVar1, LVar2, 1, -1) + EVT_SET(ArrayVar(5), LVarF) + EVT_THREAD + EVT_CALL(N(func_80241CCC_A3B1AC)) + EVT_END_THREAD + EVT_WAIT(50) + EVT_CALL(GetModelCenter, MODEL_o100) + EVT_ADD(LVar1, 20) + EVT_CALL(PlaySoundAt, SOUND_208, 0, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_ENERGY_ORB_WAVE, 5, LVar0, LVar1, LVar2, EVT_FLOAT(0.5), 20) + EVT_WAIT(30) + EVT_CALL(GetModelCenter, MODEL_o100) + EVT_ADD(LVar1, 20) + EVT_CALL(PlaySoundAt, SOUND_208, 0, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_ENERGY_ORB_WAVE, 5, LVar0, LVar1, LVar2, EVT_FLOAT(0.5), 20) + EVT_WAIT(30) + EVT_THREAD + EVT_CALL(N(func_80241A58_A3AF38)) + EVT_END_THREAD + EVT_CALL(GetModelCenter, MODEL_o100) + EVT_ADD(LVar1, 20) + EVT_CALL(PlaySoundAt, SOUND_208, 0, LVar0, LVar1, LVar2) + EVT_PLAY_EFFECT(EFFECT_ENERGY_ORB_WAVE, 6, LVar0, LVar1, LVar2, EVT_FLOAT(0.5), 20) + EVT_WAIT(70) + EVT_CALL(func_802D7B10, ArrayVar(2)) + EVT_WAIT(40) + EVT_CALL(PlaySoundAt, SOUND_607, 0, LVar0, LVar1, LVar2) + EVT_CALL(N(func_80241F98_A3B478), ArrayVar(1)) + EVT_WAIT(15) + EVT_CALL(EnableModel, MODEL_o185, TRUE) + EVT_CALL(EnableModel, MODEL_o186, TRUE) + EVT_CALL(func_802D7B10, ArrayVar(1)) + EVT_THREAD + EVT_CALL(N(func_80241B74_A3B054)) + EVT_END_THREAD + EVT_WAIT(46) + EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(5.0)) + EVT_CALL(SetNpcAnimation, NPC_Merluvlee, ANIM_Merluvlee_Idle) + EVT_CALL(SetMusicTrack, 0, SONG_SHOOTING_STAR_SUMMIT, 0, 8) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Merluvlee) = { + EVT_CALL(N(ResetHintFlags)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_KootRequestBall_Merluvlee) = { + EVT_IF_EQ(GB_KootFavor_Current, 8) + EVT_IF_EQ(GF_HOS06_MerluvleeRequestedCrystalBall, FALSE) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_WAIT(1) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_80007) + EVT_WAIT(20) + EVT_CALL(SpeakToPlayer, NPC_Merluvlee, ANIM_Merluvlee_Talk, ANIM_Merluvlee_Idle, 0, MSG_HOS_0046) + EVT_WAIT(10) + EVT_CALL(ContinueSpeech, NPC_Merluvlee, ANIM_Merluvlee_Talk, ANIM_Merluvlee_Idle, 0, MSG_HOS_0047) + EVT_SET(GF_HOS06_MerluvleeRequestedCrystalBall, TRUE) + EVT_END_IF + EVT_END_IF + EVT_RETURN + EVT_END +}; + +s32 N(CrystalBallItems)[] = { + ITEM_CRYSTAL_BALL, + -1 +}; + +EvtScript N(EVS_KootCheckBall_Merluvlee) = { + EVT_IF_EQ(GF_HOS06_MerluvleeRequestedCrystalBall, FALSE) + EVT_RETURN + EVT_END_IF + EVT_IF_EQ(GF_HOS06_Gift_MerluvleesAutograph, TRUE) + EVT_RETURN + EVT_END_IF + EVT_CALL(FindKeyItem, ITEM_CRYSTAL_BALL, LVar0) + EVT_IF_EQ(LVar0, -1) + EVT_CALL(SpeakToPlayer, NPC_Merluvlee, ANIM_Merluvlee_Talk, ANIM_Merluvlee_Idle, 0, MSG_HOS_0048) + EVT_ELSE + EVT_CHOOSE_KEY_ITEM_FROM(N(CrystalBallItems)) + EVT_IF_NE(LVar0, -1) + EVT_CALL(SpeakToPlayer, NPC_Merluvlee, ANIM_Merluvlee_Talk, ANIM_Merluvlee_Idle, 0, MSG_HOS_0049) + EVT_GIVE_KEY_REWARD(ITEM_KOOT_LUIGI_AUTOGRAPH) + EVT_SET(GF_HOS06_Gift_MerluvleesAutograph, TRUE) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_Merluvlee, ANIM_Merluvlee_Talk, ANIM_Merluvlee_Idle, 0, MSG_HOS_0048) + EVT_END_IF + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_AskForHint) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(func_802CF56C, 1) + EVT_CALL(PlayerMoveTo, -49, 0, 6) + EVT_CALL(PlayerFaceNpc, NPC_Merluvlee, FALSE) + EVT_IF_EQ(MV_RitualFXArrayPtr, 0) + EVT_MALLOC_ARRAY(20, MV_RitualFXArrayPtr) + EVT_END_IF + EVT_USE_ARRAY(MV_RitualFXArrayPtr) + EVT_IF_EQ(AF_HOS06_SpokeWithMerluvlee, FALSE) + EVT_SET(AF_HOS06_SpokeWithMerluvlee, TRUE) + EVT_IF_EQ(GF_HOS06_Met_Merluvlee, FALSE) + EVT_CALL(SpeakToPlayer, NPC_Merluvlee, ANIM_Merluvlee_Talk, ANIM_Merluvlee_Idle, 0, MSG_HOS_0038) + EVT_SET(GF_HOS06_Met_Merluvlee, TRUE) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_Merluvlee, ANIM_Merluvlee_Talk, ANIM_Merluvlee_Idle, 0, MSG_HOS_0039) + EVT_END_IF + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_Merluvlee, ANIM_Merluvlee_Talk, ANIM_Merluvlee_Idle, 0, MSG_HOS_003A) + EVT_END_IF + EVT_LABEL(10) + EVT_CALL(ShowChoice, MSG_Choice_0011) + EVT_IF_NE(LVar0, 0) + EVT_CALL(ContinueSpeech, NPC_Merluvlee, ANIM_Merluvlee_Talk, ANIM_Merluvlee_Idle, 0, MSG_HOS_003C) + EVT_CALL(func_802CF56C, 0) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END_IF + EVT_CALL(ShowCoinCounter, TRUE) + EVT_CALL(ShowChoice, MSG_Choice_0000) + EVT_CALL(ShowCoinCounter, FALSE) + EVT_IF_EQ(LVar0, 4) + EVT_CALL(ContinueSpeech, NPC_Merluvlee, ANIM_Merluvlee_Talk, ANIM_Merluvlee_Idle, 0, MSG_HOS_003C) + EVT_CALL(func_802CF56C, 0) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END_IF + EVT_CALL(N(HasEnoughCoinsForHint), LVar0, LVar1) + EVT_IF_NE(LVar1, 0) + EVT_CALL(ContinueSpeech, NPC_Merluvlee, ANIM_Merluvlee_Talk, ANIM_Merluvlee_Idle, 0, MSG_HOS_003D) + EVT_CALL(func_802CF56C, 0) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END_IF + EVT_CALL(N(DeductHintCoins), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_CALL(ContinueSpeech, NPC_Merluvlee, ANIM_Merluvlee_Talk, ANIM_Merluvlee_Idle, 0, MSG_HOS_003E) + EVT_CALL(SpeakToPlayer, NPC_Merluvlee, ANIM_Merluvlee_Gather, ANIM_Merluvlee_Gather, 0, MSG_HOS_0041) + EVT_EXEC_WAIT(N(EVS_PerformHintRitual)) + EVT_CALL(N(GetStarPieceHint)) + EVT_IF_EQ(LVar1, 0) + EVT_CALL(SpeakToPlayer, NPC_Merluvlee, ANIM_Merluvlee_Think, ANIM_Merluvlee_Think, 0, MSG_HOS_0042) + EVT_CALL(N(RefundHintCoins), 0) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_Merluvlee, ANIM_Merluvlee_Talk, ANIM_Merluvlee_Idle, 0, LVar1) + EVT_END_IF + EVT_GOTO(99) + EVT_CASE_EQ(1) + EVT_CALL(ContinueSpeech, NPC_Merluvlee, ANIM_Merluvlee_Talk, ANIM_Merluvlee_Idle, 0, MSG_HOS_003F) + EVT_CALL(SpeakToPlayer, NPC_Merluvlee, ANIM_Merluvlee_Gather, ANIM_Merluvlee_Gather, 0, MSG_HOS_0041) + EVT_EXEC_WAIT(N(EVS_PerformHintRitual)) + EVT_CALL(N(GetBadgeHint)) + EVT_IF_EQ(LVar1, 0) + EVT_CALL(SpeakToPlayer, NPC_Merluvlee, ANIM_Merluvlee_Think, ANIM_Merluvlee_Think, 0, MSG_HOS_0043) + EVT_CALL(N(RefundHintCoins), 1) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_Merluvlee, ANIM_Merluvlee_Talk, ANIM_Merluvlee_Idle, 0, LVar1) + EVT_END_IF + EVT_GOTO(99) + EVT_CASE_EQ(2) + EVT_CALL(ContinueSpeech, NPC_Merluvlee, ANIM_Merluvlee_Talk, ANIM_Merluvlee_Idle, 0, MSG_HOS_0040) + EVT_CALL(SpeakToPlayer, NPC_Merluvlee, ANIM_Merluvlee_Gather, ANIM_Merluvlee_Gather, 0, MSG_HOS_0041) + EVT_EXEC_WAIT(N(EVS_PerformHintRitual)) + EVT_CALL(N(GetSuperBlockHint)) + EVT_IF_EQ(LVar1, 0) + EVT_CALL(SpeakToPlayer, NPC_Merluvlee, ANIM_Merluvlee_Think, ANIM_Merluvlee_Think, 0, MSG_HOS_0044) + EVT_CALL(N(RefundHintCoins), 2) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_Merluvlee, ANIM_Merluvlee_Talk, ANIM_Merluvlee_Idle, 0, LVar1) + EVT_END_IF + EVT_GOTO(99) + EVT_END_SWITCH + EVT_LABEL(99) + EVT_CALL(func_802CF56C, 0) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Merluvlee) = { + EVT_CALL(SpeakToPlayer, NPC_Merluvlee, ANIM_Merluvlee_Talk, ANIM_Merluvlee_Idle, 0, MSG_HOS_0045) + EVT_EXEC_WAIT(N(EVS_KootCheckBall_Merluvlee)) + EVT_EXEC_WAIT(N(EVS_KootRequestBall_Merluvlee)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_06/hos_06_6_chest.c b/src/world/area_hos/hos_06/hos_06_6_chest.c new file mode 100644 index 0000000000..676fbe9f87 --- /dev/null +++ b/src/world/area_hos/hos_06/hos_06_6_chest.c @@ -0,0 +1,221 @@ +#include "hos_06.h" +#include "hud_element.h" + +extern IconHudScriptPair gItemHudScripts[]; + +// ------------------------------------------------------ +// begin modified Chest.inc.c +// differences are: +// - inclusion of N(ChestItems) +// - removal of N(EVS_Chest_GetItem) + +#define NAME_SUFFIX _MagicChest +#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" + +s32** N(varStash) = NULL; +#define NAME_SUFFIX + +EvtScript N(EVS_Chest_ShowGotItem) = { + 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 +}; + +s32 N(ChestItems)[] = { + ITEM_POWER_RUSH, + ITEM_SHOOTING_STAR, + ITEM_DEEP_FOCUS1, + ITEM_LAST_STAND, + ITEM_JAMMIN_JELLY, +}; + +// end modified Chest.inc.c +// ------------------------------------------------------ + +//TODO this whole file is probably an include shared with kkj_17, but the temp required in this function prevents deduplication +API_CALLABLE(N(ChestItemPrompt)) { + PopupMenu *menu; + s32 menuIdx; + s32 selectIdx; + s32 temp; + s32 canUseItem; + s32 itemUsedBefore; + s32 i; + + if (isInitialCall) { + menu = heap_malloc(sizeof(*menu)); + script->functionTempPtr[2] = menu; + temp = script->varTable[0]; + script->varTable[10] = script->varTable[0]; + + if (temp == 0) { + // storing items + script->varTable[1] = GF_KKJ16_Item_PowerRush; + script->varTable[2] = GF_KKJ_Stored_PowerRush; + menu->popupType = POPUP_MENU_USEKEY; + } else { + // retrieving items + script->varTable[1] = GF_KKJ_Stored_PowerRush; + script->varTable[2] = GF_KKJ_Retrieved_PowerRush; + menu->popupType = POPUP_MENU_TAKE_FROM_CHEST; + } + + menuIdx = 0; + for (i = 0; i < ARRAY_COUNT(N(ChestItems)); i++) { + // meaning of 'can use' and 'used before' depends on type of chest interaction + canUseItem = evt_get_variable(NULL, script->varTable[1] + i); + itemUsedBefore = evt_get_variable(NULL, script->varTable[2] + i); + if (canUseItem && !itemUsedBefore) { + ItemData* item = &gItemTable[N(ChestItems)[i]]; + IconHudScriptPair* itemHudScripts = &gItemHudScripts[item->hudElemID]; + menu->ptrIcon[menuIdx] = itemHudScripts->enabled; + menu->userIndex[menuIdx] = i; + menu->enabled[menuIdx] = TRUE; + menu->nameMsg[menuIdx] = item->nameMsg; + menu->descMsg[menuIdx] = item->shortDescMsg; + menuIdx++; + } + } + + if (menuIdx == 0) { + script->varTable[0] = 0; + return ApiStatus_DONE1; + } + + menu->numEntries = menuIdx; + menu->initialPos = 0; + create_popup_menu(menu); + script->functionTemp[0] = 0; + } + + menu = script->functionTempPtr[2]; + if (script->functionTemp[0] == 0) { + script->functionTemp[1] = menu->result; + if (script->functionTemp[1] == 0) { + return ApiStatus_BLOCK; + } + hide_popup_menu(); + } + + script->functionTemp[0]++; + if (script->functionTemp[0] < 15) { + return ApiStatus_BLOCK; + } + + destroy_popup_menu(); + + if (script->functionTemp[1] == 255) { + script->varTable[0] = -1; + } else { + selectIdx = menu->userIndex[script->functionTemp[1] - 1]; + script->varTable[0] = N(ChestItems)[selectIdx]; + if (script->varTable[10] == 0) { + evt_set_variable(NULL, script->varTable[2] + selectIdx, 1); + } + heap_free(script->functionTempPtr[2]); + } + + return ApiStatus_DONE2; +} + +// assumes itemID on LVar0, sets GF_KKJ_Retrieved_* based on item list position +API_CALLABLE(N(SetItemRetrieved)) { + s32 found = FALSE; + s32 i; + + for (i = 0; i < ARRAY_COUNT(N(ChestItems)); i++) { + s32 listItemID = N(ChestItems)[i]; + + if (script->varTable[0] == listItemID) { + found = TRUE; + break; + } + } + + if (found) { + evt_set_variable(NULL, GF_KKJ_Retrieved_PowerRush + i, TRUE); + } + + return ApiStatus_DONE2; +} + +#include "world/common/todo/GetItemEmptyCount.inc.c" + +EvtScript N(EVS_OpenChest) = { + EVT_CALL(PlaySoundAtCollider, COLLIDER_o207, SOUND_204A, 0) + EVT_CALL(MakeLerp, 0, 80, 20, EASING_QUADRATIC_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateGroup, MODEL_g82, LVar0, -1, 0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_CloseChest) = { + EVT_CALL(MakeLerp, 80, 0, 20, EASING_QUADRATIC_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateGroup, MODEL_g82, LVar0, -1, 0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(PlaySoundAtCollider, COLLIDER_o207, SOUND_204B, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Interact_MagicChest) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_EXEC_WAIT(N(EVS_OpenChest)) + EVT_SET(LVar0, 1) + EVT_CALL(N(ChestItemPrompt)) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(-1) + EVT_CASE_EQ(0) + EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_00D4, 160, 40) + EVT_CASE_OR_EQ(ITEM_POWER_RUSH) + EVT_CASE_OR_EQ(ITEM_DEEP_FOCUS1) + EVT_CASE_OR_EQ(ITEM_LAST_STAND) + EVT_SET_GROUP(EVT_GROUP_00) + EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_FULL) + EVT_CALL(ShowGotItem, LVar0, FALSE, 0) + EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_NORMAL) + EVT_CALL(AddBadge, LVar0, LVar1) + EVT_CALL(N(SetItemRetrieved)) + EVT_END_CASE_GROUP + EVT_CASE_DEFAULT + EVT_CALL(N(GetItemEmptyCount)) + EVT_IF_LE(LVar1, 0) + EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_00D5, 160, 40) + EVT_ELSE + EVT_CALL(ShowGotItem, LVar0, FALSE, 2) + EVT_CALL(AddItem, LVar0, LVar1) + EVT_CALL(N(SetItemRetrieved)) + EVT_END_IF + EVT_END_SWITCH + EVT_EXEC_WAIT(N(EVS_CloseChest)) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetupMagicChest) = { + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_Interact_MagicChest)), TRIGGER_WALL_PRESS_A, COLLIDER_o207, 1, 0) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_10/A3F740.c b/src/world/area_hos/hos_10/A3F740.c deleted file mode 100644 index 8f0480a8c9..0000000000 --- a/src/world/area_hos/hos_10/A3F740.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "hos_10.h" - -static char* N(exit_str_0) = "kmr_21"; -static char* N(exit_str_1) = "osr_02"; -static char* N(exit_str_2) = "kmr_20"; - -#include "world/common/todo/SetPlayerSpriteSet2_MapInit.inc.c" diff --git a/src/world/area_hos/hos_10/A3F760.c b/src/world/area_hos/hos_10/A3F760.c deleted file mode 100644 index fae44c1cac..0000000000 --- a/src/world/area_hos/hos_10/A3F760.c +++ /dev/null @@ -1,43 +0,0 @@ -#include "hos_10.h" -#include "effects.h" - -#include "world/common/atomic/TexturePan.inc.c" - -ApiStatus func_8024032C_A3FA6C(Evt* script, s32 isInitialCall) { - if ( - gGameStatusPtr->creditsViewportMode == 0 || - gGameStatusPtr->creditsViewportMode == 1 || - gGameStatusPtr->creditsViewportMode == 2 || - gGameStatusPtr->creditsViewportMode == 3 || - gGameStatusPtr->creditsViewportMode == 4) - { - gGameStatusPtr->creditsViewportMode++; - state_init_intro(); - } - return ApiStatus_DONE1; -} - -void func_80240364_A3FAA4(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32* arg4) { - f32 temp_f2 = arg1 - arg2; - - if (arg1 - arg0 > 0.0f) { - if (temp_f2 < 0.0f) { - *arg4 = arg1; - } else if (arg3 < temp_f2) { - *arg4 += arg3; - } else { - *arg4 += temp_f2; - } - } else if (temp_f2 > 0.0f) { - *arg4 = arg1; - } else if (temp_f2 < -arg3) { - *arg4 -= arg3; - } else { - *arg4 += temp_f2; - } -} - -ApiStatus func_80240404_A3FB44(Evt* script, s32 isInitialCall) { - fx_star(1, 200.0f, 400.0f, 1200.0f, -300.0f, -100.0f, 0.0f, 30.0f); - return ApiStatus_DONE2; -} diff --git a/src/world/area_hos/hos_10/A3FBA0.c b/src/world/area_hos/hos_10/A3FBA0.c deleted file mode 100644 index cc38c6be1f..0000000000 --- a/src/world/area_hos/hos_10/A3FBA0.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "hos_10.h" - -#define NAMESPACE dup_hos_10 -#include "world/common/atomic/TexturePan.inc.c" - -#define NAMESPACE hos_10 diff --git a/src/world/area_hos/hos_10/A3FEB0.c b/src/world/area_hos/hos_10/A3FEB0.c deleted file mode 100644 index 480feec336..0000000000 --- a/src/world/area_hos/hos_10/A3FEB0.c +++ /dev/null @@ -1,120 +0,0 @@ -#include "hos_10.h" -#include "effects.h" - -ApiStatus func_80240770_A3FEB0(Evt* script, s32 isInitialCall) { - PlayerStatus* playerStatus = &gPlayerStatus; - Bytecode* args = script->ptrReadPos; - Npc* npc; - - if (isInitialCall) { - script->functionTemp[1] = evt_get_variable(script, *args++); - script->functionTemp[2] = evt_get_variable(script, *args++); - script->varTable[15] = evt_get_variable(script, *args++); - script->functionTemp[0] = 0; - script->functionTemp[3] = 0; - } - - npc = get_npc_unsafe(script->functionTemp[1]); - switch (script->functionTemp[0]) { - case 0: - npc->pos.x = playerStatus->position.x; - npc->pos.y = playerStatus->position.y; - npc->pos.z = playerStatus->position.z; - npc->moveToPos.x = script->functionTemp[3] * 3; - npc->moveToPos.y = 3.0f; - add_vec2D_polar(&npc->pos.x, &npc->pos.z, 70.0f, npc->moveToPos.x + (script->functionTemp[2] * 51) + 153.0f); - if (script->functionTemp[3] + script->functionTemp[2] == - ((script->functionTemp[3] + script->functionTemp[2]) / 13) * 13) - { - fx_sparkles(3, npc->pos.x, npc->pos.y + 10.0f, npc->pos.z, 10.0f); - } - if (script->functionTemp[3] > 350) { - script->functionTemp[0] = 1; - script->functionTemp[3] = 0; - } - break; - case 1: - npc->pos.x = playerStatus->position.x; - npc->pos.y = playerStatus->position.y; - npc->pos.z = playerStatus->position.z; - npc->moveToPos.x = script->functionTemp[3] * 3; - npc->moveToPos.y = 3.0f; - add_vec2D_polar( - &npc->pos.x, - &npc->pos.z, - (((190 - script->functionTemp[3]) / 190.0f) * 67.0f) + 3.0f, - npc->moveToPos.x + (script->functionTemp[2] * 51) + 153.0f - ); - if (script->functionTemp[3] + script->functionTemp[2] == - ((script->functionTemp[3] + script->functionTemp[2]) / 13) * 13) - { - fx_sparkles(3, npc->pos.x, npc->pos.y + 10.0f, npc->pos.z, 10.0f); - } - if (script->functionTemp[3] > 190) { - return ApiStatus_DONE2; - } - break; - } - - script->functionTemp[3]++; - npc->moveToPos.x += npc->moveToPos.y; - return ApiStatus_BLOCK; -} - -ApiStatus func_80240A84_A401C4(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++); - f32 x, y, z; - - // TODO could be sparkles, not ending decals - unsure - x = evt_get_variable(script, *args++); - y = evt_get_variable(script, *args++); - z = evt_get_variable(script, *args++); - effect->data.endingDecals->pos.x = x; - effect->data.endingDecals->pos.y = y; - effect->data.endingDecals->pos.z = z; - return ApiStatus_DONE2; -} - -ApiStatus func_80240B44_A40284(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++); - - // TODO could be sparkles, not ending decals - unsure - effect->data.endingDecals->unk_10 = evt_get_float_variable(script, *args++); - return ApiStatus_DONE2; -} - -ApiStatus func_80240B98_A402D8(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++); - - // TODO could be sparkles, not ending decals - unsure - effect->data.endingDecals->unk_18 = evt_get_variable(script, *args++); - return ApiStatus_DONE2; -} - -ApiStatus func_80240BEC_A4032C(Evt* script, s32 isInitialCall) { - gPlayerData.currentPartner = PARTNER_NONE; - return ApiStatus_DONE2; -} - -ApiStatus func_80240BFC_A4033C(Evt* script, s32 isInitialCall) { - if (isInitialCall) { - script->functionTemp[1] = 0; - } - - set_screen_overlay_color(0, 208, 208, 208); - set_screen_overlay_params_front(1, script->functionTemp[1]); - - if (script->functionTemp[1] == 255) { - return ApiStatus_DONE2; - } - - script->functionTemp[1] += 7; - if (script->functionTemp[1] > 255) { - script->functionTemp[1] = 255; - } - - return ApiStatus_BLOCK; -} diff --git a/src/world/area_hos/hos_10/hos_10.h b/src/world/area_hos/hos_10/hos_10.h index b11cbd34ff..af14527d95 100644 --- a/src/world/area_hos/hos_10/hos_10.h +++ b/src/world/area_hos/hos_10/hos_10.h @@ -2,8 +2,40 @@ /// @brief Shooting Star Summit - Ending Descent Scene #include "common.h" -#include "../hos.h" #include "message_ids.h" #include "map.h" +#include "../hos.h" +#include "mapfs/hos_10_shape.h" +#include "mapfs/hos_10_hit.h" + +#include "sprite/npc/Twink.h" + +enum { + NPC_Peach = 0, + NPC_Twink = 1, + NPC_Eldstar = 2, + NPC_Mamar = 3, + NPC_Skolar = 4, + NPC_Muskular = 5, + NPC_Misstar = 6, + NPC_Klevar = 7, + NPC_Kalmar = 8, +}; + +enum { + MV_BubbleFXPtr = MapVar(0), + MV_Unk_01 = MapVar(1), +}; + #define NAMESPACE hos_10 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_Scene_CastleDescending); +extern EvtScript N(EVS_Scene_SpiritsFlyingAway); +extern EvtScript N(EVS_Scene_RisingAboveClouds); +extern EvtScript N(EVS_Scene_UnusedWhiteScreen); +extern EvtScript N(EVS_Scene_PreTitle); +extern NpcGroupList N(NpcGroup_Descent); +extern NpcGroupList N(NpcGroup_FlyAway); diff --git a/src/world/area_hos/hos_10/hos_10_0_header.c b/src/world/area_hos/hos_10/hos_10_0_header.c new file mode 100644 index 0000000000..3149de0871 --- /dev/null +++ b/src/world/area_hos/hos_10/hos_10_0_header.c @@ -0,0 +1,18 @@ +#include "hos_10.h" + +#include "world/common/todo/SetPlayerSpriteSet2_MapInit.inc.c" + +EntryList N(Entrances) = { + [hos_10_ENTRY_0] { 0.0, 0.0, 0.0, 0.0 }, + [hos_10_ENTRY_1] { 0.0, 0.0, 0.0, 0.0 }, + [hos_10_ENTRY_2] { 0.0, 0.0, 0.0, 0.0 }, + [hos_10_ENTRY_3] { 0.0, -1000.0, 0.0, 90.0 }, + [hos_10_ENTRY_4] { 0.0, -1000.0, 0.0, 90.0 }, + [hos_10_ENTRY_5] { 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_hos/hos_10/hos_10_1_music.c b/src/world/area_hos/hos_10/hos_10_1_music.c new file mode 100644 index 0000000000..7439e1b74d --- /dev/null +++ b/src/world/area_hos/hos_10/hos_10_1_music.c @@ -0,0 +1,22 @@ +#include "hos_10.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(hos_10_ENTRY_1) + EVT_CALL(SetMusicTrack, 0, SONG_INTRO_STORY, 3, 8) + EVT_END_CASE_GROUP + EVT_CASE_OR_EQ(hos_10_ENTRY_2) + EVT_END_CASE_GROUP + EVT_CASE_OR_EQ(hos_10_ENTRY_3) + EVT_CASE_OR_EQ(hos_10_ENTRY_4) + EVT_END_CASE_GROUP + EVT_CASE_EQ(hos_10_ENTRY_5) + EVT_THREAD + EVT_WAIT(10) + EVT_CALL(SetMusicTrack, 0, SONG_MARIO_FALLS, 0, 8) + EVT_END_THREAD + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_10/hos_10_2_npc1.c b/src/world/area_hos/hos_10/hos_10_2_npc1.c new file mode 100644 index 0000000000..07573497fc --- /dev/null +++ b/src/world/area_hos/hos_10/hos_10_2_npc1.c @@ -0,0 +1,250 @@ +#include "hos_10.h" + +#define NAME_SUFFIX _Descent + +NpcSettings N(NpcSettings_Dummy) = { + .height = 24, + .radius = 24, + .level = 99, +}; + +#include "world/common/npc/Twink.h" +#include "world/common/npc/StarSpirit.inc.c" + +EvtScript N(EVS_NpcInit_Peach) = { + EVT_CALL(SetNpcPos, NPC_Peach, -100, 200, 1300) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Twink) = { + EVT_CALL(SetNpcPos, NPC_Twink, -130, 260, 1300) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Eldstar) = { + EVT_CALL(SetNpcPos, NPC_Eldstar, -121, 200, 1369) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Mamar) = { + EVT_CALL(SetNpcPos, NPC_Mamar, -175, 200, 1342) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Skolar) = { + EVT_CALL(SetNpcPos, NPC_Skolar, -188, 200, 1284) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Muskular) = { + EVT_CALL(SetNpcPos, NPC_Muskular, -150, 200, 1237) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Misstar) = { + EVT_CALL(SetNpcPos, NPC_Misstar, -100, 200, 1237) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Klevar) = { + EVT_CALL(SetNpcPos, NPC_Klevar, -52, 200, 1284) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Kalmar) = { + EVT_CALL(SetNpcPos, NPC_Kalmar, -65, 200, 1342) + EVT_RETURN + EVT_END +}; + +s32 N(ExtraAnims_Peach)[] = { + ANIM_Peach_A0001, + ANIM_Peach_A0002, + ANIM_Peach_C0000, + ANIM_Peach_C0006, + ANIM_Peach_C001E, + ANIM_Peach_C0026, + -1 +}; + +s32 N(ExtraAnims_Twink)[] = { + ANIM_Twink_Idle, + ANIM_Twink_Talk, + -1 +}; + +s32 N(ExtraAnims_Eldstar)[] = { + ANIM_WorldEldstar_Idle, + ANIM_WorldEldstar_Wave, + -1 +}; + +s32 N(ExtraAnims_Mamar)[] = { + ANIM_WorldMamar_Idle, + ANIM_WorldMamar_TalkHappy, + -1 +}; + +s32 N(ExtraAnims_Skolar)[] = { + ANIM_WorldSkolar_Idle, + ANIM_WorldSkolar_TalkAngry, + -1 +}; + +s32 N(ExtraAnims_Muskular)[] = { + ANIM_WorldMuskular_Idle, + ANIM_WorldMuskular_Talk, + -1 +}; + +s32 N(ExtraAnims_Misstar)[] = { + ANIM_WorldMisstar_Idle, + ANIM_WorldMisstar_Talk, + -1 +}; + +s32 N(ExtraAnims_Klevar)[] = { + ANIM_WorldKlevar_Idle, + ANIM_WorldKlevar_Talk, + -1 +}; + +s32 N(ExtraAnims_Kalmar)[] = { + ANIM_WorldKalmar_Idle, + ANIM_WorldKalmar_Talk, + -1 +}; + +StaticNpc N(NpcData_Spirits)[] = { + { + .id = NPC_Peach, + .settings = &N(NpcSettings_Dummy), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_20000, + .init = &N(EVS_NpcInit_Peach), + .drops = NPC_NO_DROPS, + .animations = { + .idle = ANIM_Peach_A0000, + .walk = ANIM_Peach_A0000, + .run = ANIM_Peach_A0000, + .chase = ANIM_Peach_A0000, + .anim_4 = ANIM_Peach_A0000, + .anim_5 = ANIM_Peach_A0000, + .death = ANIM_Peach_A0000, + .hit = ANIM_Peach_A0000, + .anim_8 = ANIM_Peach_A0000, + .anim_9 = ANIM_Peach_A0000, + .anim_A = ANIM_Peach_A0000, + .anim_B = ANIM_Peach_A0000, + .anim_C = ANIM_Peach_A0000, + .anim_D = ANIM_Peach_A0000, + .anim_E = ANIM_Peach_A0000, + .anim_F = ANIM_Peach_A0000, + }, + .extraAnimations = N(ExtraAnims_Peach), + }, + { + .id = NPC_Twink, + .settings = &N(NpcSettings_Dummy), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_Twink), + .drops = NPC_NO_DROPS, + .animations = TWINK_ANIMS, + .extraAnimations = N(ExtraAnims_Twink), + }, + { + .id = NPC_Eldstar, + .settings = &N(NpcSettings_StarSpirit), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_Eldstar), + .drops = NPC_NO_DROPS, + .animations = ELDSTAR_ANIMS, + .extraAnimations = N(ExtraAnims_Eldstar), + }, + { + .id = NPC_Mamar, + .settings = &N(NpcSettings_StarSpirit), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_Mamar), + .drops = NPC_NO_DROPS, + .animations = MAMAR_ANIMS, + .extraAnimations = N(ExtraAnims_Mamar), + }, + { + .id = NPC_Skolar, + .settings = &N(NpcSettings_StarSpirit), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 90, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_Skolar), + .drops = NPC_NO_DROPS, + .animations = SKOLAR_ANIMS, + .extraAnimations = N(ExtraAnims_Skolar), + }, + { + .id = NPC_Muskular, + .settings = &N(NpcSettings_StarSpirit), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_Muskular), + .drops = NPC_NO_DROPS, + .animations = MUSKULAR_ANIMS, + .extraAnimations = N(ExtraAnims_Muskular), + }, + { + .id = NPC_Misstar, + .settings = &N(NpcSettings_StarSpirit), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 90, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_Misstar), + .drops = NPC_NO_DROPS, + .animations = MISSTAR_ANIMS, + .extraAnimations = N(ExtraAnims_Misstar), + }, + { + .id = NPC_Klevar, + .settings = &N(NpcSettings_StarSpirit), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_Klevar), + .drops = NPC_NO_DROPS, + .animations = KLEVAR_ANIMS, + .extraAnimations = N(ExtraAnims_Klevar), + }, + { + .id = NPC_Kalmar, + .settings = &N(NpcSettings_StarSpirit), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 90, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_Kalmar), + .drops = NPC_NO_DROPS, + .animations = KALMAR_ANIMS, + .extraAnimations = N(ExtraAnims_Kalmar), + }, +}; + +#define NAME_SUFFIX + +NpcGroupList N(NpcGroup_Descent) = { + NPC_GROUP(N(NpcData_Spirits_Descent)), + {} +}; diff --git a/src/world/area_hos/hos_10/hos_10_3_npc2.c b/src/world/area_hos/hos_10/hos_10_3_npc2.c new file mode 100644 index 0000000000..a30e785086 --- /dev/null +++ b/src/world/area_hos/hos_10/hos_10_3_npc2.c @@ -0,0 +1,208 @@ +#include "hos_10.h" + +#define NAME_SUFFIX _FlyAway + +NpcSettings N(NpcSettings_Dummy) = { + .height = 24, + .radius = 24, + .level = 99, +}; + +#include "world/common/npc/Twink.h" +#include "world/common/npc/StarSpirit.inc.c" + +EvtScript N(EVS_NpcInit_Twink) = { + EVT_CALL(SetNpcPos, NPC_Twink, 0, 0, -400) + EVT_CALL(SetNpcYaw, NPC_Twink, 90) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Eldstar) = { + EVT_CALL(SetNpcPos, NPC_Eldstar, 0, 0, -400) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Mamar) = { + EVT_CALL(SetNpcPos, NPC_Mamar, 0, 0, -400) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Skolar) = { + EVT_CALL(SetNpcPos, NPC_Skolar, 0, 0, -400) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Muskular) = { + EVT_CALL(SetNpcPos, NPC_Muskular, 0, 0, -400) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Misstar) = { + EVT_CALL(SetNpcPos, NPC_Misstar, 0, 0, -400) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Klevar) = { + EVT_CALL(SetNpcPos, NPC_Klevar, 0, 0, -400) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Kalmar) = { + EVT_CALL(SetNpcPos, NPC_Kalmar, 0, 0, -400) + EVT_RETURN + EVT_END +}; + +s32 N(ExtraAnims_Twink)[] = { + ANIM_Twink_Idle, + ANIM_Twink_Talk, + ANIM_Twink_Back, + -1 +}; + +s32 N(ExtraAnims_Eldstar)[] = { + ANIM_WorldEldstar_Idle, + ANIM_WorldEldstar_Wave, + -1 +}; + +s32 N(ExtraAnims_Mamar)[] = { + ANIM_WorldMamar_Idle, + ANIM_WorldMamar_TalkHappy, + -1 +}; + +s32 N(ExtraAnims_Skolar)[] = { + ANIM_WorldSkolar_Idle, + ANIM_WorldSkolar_TalkAngry, + -1 +}; + +s32 N(ExtraAnims_Muskular)[] = { + ANIM_WorldMuskular_Idle, + ANIM_WorldMuskular_Talk, + -1 +}; + +s32 N(ExtraAnims_Misstar)[] = { + ANIM_WorldMisstar_Idle, + ANIM_WorldMisstar_Talk, + -1 +}; + +s32 N(ExtraAnims_Klevar)[] = { + ANIM_WorldKlevar_Idle, + ANIM_WorldKlevar_Talk, + -1 +}; + +s32 N(ExtraAnims_Kalmar)[] = { + ANIM_WorldKalmar_Idle, + ANIM_WorldKalmar_Talk, + -1 +}; + +StaticNpc N(NpcData_Spirits)[] = { + { + .id = NPC_Twink, + .settings = &N(NpcSettings_Dummy), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_Twink), + .drops = NPC_NO_DROPS, + .animations = TWINK_ANIMS, + .extraAnimations = N(ExtraAnims_Twink), + }, + { + .id = NPC_Eldstar, + .settings = &N(NpcSettings_StarSpirit), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_Eldstar), + .drops = NPC_NO_DROPS, + .animations = ELDSTAR_ANIMS, + .extraAnimations = N(ExtraAnims_Eldstar), + }, + { + .id = NPC_Mamar, + .settings = &N(NpcSettings_StarSpirit), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_Mamar), + .drops = NPC_NO_DROPS, + .animations = MAMAR_ANIMS, + .extraAnimations = N(ExtraAnims_Mamar), + }, + { + .id = NPC_Skolar, + .settings = &N(NpcSettings_StarSpirit), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 90, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_Skolar), + .drops = NPC_NO_DROPS, + .animations = SKOLAR_ANIMS, + .extraAnimations = N(ExtraAnims_Skolar), + }, + { + .id = NPC_Muskular, + .settings = &N(NpcSettings_StarSpirit), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_Muskular), + .drops = NPC_NO_DROPS, + .animations = MUSKULAR_ANIMS, + .extraAnimations = N(ExtraAnims_Muskular), + }, + { + .id = NPC_Misstar, + .settings = &N(NpcSettings_StarSpirit), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 90, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_Misstar), + .drops = NPC_NO_DROPS, + .animations = MISSTAR_ANIMS, + .extraAnimations = N(ExtraAnims_Misstar), + }, + { + .id = NPC_Klevar, + .settings = &N(NpcSettings_StarSpirit), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_Klevar), + .drops = NPC_NO_DROPS, + .animations = KLEVAR_ANIMS, + .extraAnimations = N(ExtraAnims_Klevar), + }, + { + .id = NPC_Kalmar, + .settings = &N(NpcSettings_StarSpirit), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 90, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_Kalmar), + .drops = NPC_NO_DROPS, + .animations = KALMAR_ANIMS, + .extraAnimations = N(ExtraAnims_Kalmar), + }, +}; + +#define NAME_SUFFIX + +NpcGroupList N(NpcGroup_FlyAway) = { + NPC_GROUP(N(NpcData_Spirits_FlyAway)), + {} +}; diff --git a/src/world/area_hos/hos_10/hos_10_4_main.c b/src/world/area_hos/hos_10/hos_10_4_main.c new file mode 100644 index 0000000000..8006fd6654 --- /dev/null +++ b/src/world/area_hos/hos_10/hos_10_4_main.c @@ -0,0 +1,39 @@ +#include "hos_10.h" + +EvtScript N(EVS_Main) = { + EVT_CALL(GetEntryID, LVar0) + EVT_IF_EQ(LVar0, hos_10_ENTRY_1) + EVT_WAIT(75) + EVT_END_IF + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SETUP_CAMERA_DEFAULT() + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(hos_10_ENTRY_1) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(NpcGroup_Descent))) + EVT_CASE_EQ(hos_10_ENTRY_2) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(NpcGroup_FlyAway))) + EVT_CASE_DEFAULT + EVT_END_SWITCH + EVT_IF_NE(GB_StoryProgress, STORY_INTRO) + EVT_CALL(EnableModel, MODEL_mario_o, FALSE) + EVT_END_IF + EVT_EXEC(N(EVS_SetupMusic)) + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(hos_10_ENTRY_1) + EVT_WAIT(50) + EVT_EXEC(N(EVS_Scene_CastleDescending)) + EVT_CASE_EQ(hos_10_ENTRY_2) + EVT_EXEC(N(EVS_Scene_SpiritsFlyingAway)) + EVT_CASE_EQ(hos_10_ENTRY_3) + EVT_EXEC_WAIT(N(EVS_Scene_RisingAboveClouds)) + EVT_CASE_EQ(hos_10_ENTRY_4) + EVT_EXEC_WAIT(N(EVS_Scene_UnusedWhiteScreen)) + EVT_CASE_EQ(hos_10_ENTRY_5) + EVT_WAIT(30) + EVT_EXEC(N(EVS_Scene_PreTitle)) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_10/hos_10_5_intro.c b/src/world/area_hos/hos_10/hos_10_5_intro.c new file mode 100644 index 0000000000..0219641a40 --- /dev/null +++ b/src/world/area_hos/hos_10/hos_10_5_intro.c @@ -0,0 +1,193 @@ +#include "hos_10.h" +#include "effects.h" + +#include "world/common/atomic/TexturePan.inc.c" +#include "world/common/atomic/TexturePan.data.inc.c" + +API_CALLABLE(N(ResumeIntroState)) { + if ( + gGameStatusPtr->creditsViewportMode == 0 || + gGameStatusPtr->creditsViewportMode == 1 || + gGameStatusPtr->creditsViewportMode == 2 || + gGameStatusPtr->creditsViewportMode == 3 || + gGameStatusPtr->creditsViewportMode == 4) + { + gGameStatusPtr->creditsViewportMode++; + state_init_intro(); + } + return ApiStatus_DONE1; +} + +void N(lerp_value_with_max_step)(f32 start, f32 end, f32 current, f32 maxStep, f32* out) { + f32 remaining = end - current; + + if (end - start > 0.0f) { + if (remaining < 0.0f) { + *out = end; + } else if (maxStep < remaining) { + *out += maxStep; + } else { + *out += remaining; + } + } else if (remaining > 0.0f) { + *out = end; + } else if (remaining < -maxStep) { + *out -= maxStep; + } else { + *out += remaining; + } +} + +API_CALLABLE(N(MakeShootingStar)) { + fx_star(1, 200.0f, 400.0f, 1200.0f, -300.0f, -100.0f, 0.0f, 30.0f); + return ApiStatus_DONE2; +} + +EvtScript N(EVS_Scene_Unused_Impl) = { + EVT_THREAD + EVT_SETF(LVar0, 0) + EVT_LOOP(310) + EVT_CALL(TranslateModel, MODEL_o3, 0, LVar0, 0) + EVT_ADDF(LVar0, EVT_FLOAT(-1.5)) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_WAIT(100) + EVT_CALL(N(ResumeIntroState)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Scene_Rising_Impl) = { + EVT_THREAD + TEX_PAN_PARAMS_ID(TEX_PANNER_2) + TEX_PAN_PARAMS_STEP( 400, 0, 0, 0) + TEX_PAN_PARAMS_FREQ( 1, 1, 1, 1) + TEX_PAN_PARAMS_INIT( 0, 0, 0, 0) + EVT_EXEC(N(EVS_UpdateTexturePan)) + EVT_END_THREAD + EVT_THREAD + TEX_PAN_PARAMS_ID(TEX_PANNER_3) + TEX_PAN_PARAMS_STEP( 600, 0, 0, 0) + TEX_PAN_PARAMS_FREQ( 1, 1, 1, 1) + TEX_PAN_PARAMS_INIT( 0, 0, 0, 0) + EVT_EXEC(N(EVS_UpdateTexturePan)) + EVT_END_THREAD + EVT_THREAD + TEX_PAN_PARAMS_ID(TEX_PANNER_4) + TEX_PAN_PARAMS_STEP( 1000, 0, 0, 0) + TEX_PAN_PARAMS_FREQ( 1, 1, 1, 1) + TEX_PAN_PARAMS_INIT( 0, 0, 0, 0) + EVT_EXEC(N(EVS_UpdateTexturePan)) + EVT_END_THREAD + EVT_THREAD + TEX_PAN_PARAMS_ID(TEX_PANNER_F) + TEX_PAN_PARAMS_STEP( 0, 1000, 0, 0) + TEX_PAN_PARAMS_FREQ( 1, 1, 1, 1) + TEX_PAN_PARAMS_INIT( 0, 0, 0, 0) + EVT_EXEC(N(EVS_UpdateTexturePan)) + EVT_END_THREAD + EVT_THREAD + TEX_PAN_PARAMS_ID(TEX_PANNER_E) + TEX_PAN_PARAMS_STEP( 0, 400, 0, 0) + TEX_PAN_PARAMS_FREQ( 1, 1, 1, 1) + TEX_PAN_PARAMS_INIT( 0, 0, 0, 0) + EVT_EXEC(N(EVS_UpdateTexturePan)) + EVT_END_THREAD + EVT_CALL(EnableTexPanning, MODEL_k2, TRUE) + EVT_CALL(EnableTexPanning, MODEL_k7, TRUE) + EVT_CALL(EnableTexPanning, MODEL_k1, TRUE) + EVT_CALL(EnableTexPanning, MODEL_k5, TRUE) + EVT_CALL(EnableTexPanning, MODEL_k9, TRUE) + EVT_CALL(EnableTexPanning, MODEL_k12, TRUE) + EVT_CALL(EnableTexPanning, MODEL_s1, TRUE) + EVT_CALL(EnableTexPanning, MODEL_s2, TRUE) + EVT_THREAD + EVT_WAIT(510) + EVT_CALL(N(MakeShootingStar)) + EVT_END_THREAD + EVT_CALL(EnableModel, MODEL_nagare, FALSE) + EVT_CALL(SetTexPanner, MODEL_nagare, 1) + EVT_THREAD + EVT_SET(LVar0, 0) + EVT_CALL(SetTexPanOffset, TEX_PANNER_1, TEX_PANNER_MAIN, LVar0, 0) + EVT_WAIT(560) + EVT_CALL(EnableModel, MODEL_nagare, TRUE) + EVT_LOOP(32) + EVT_ADD(LVar0, 0x800) + EVT_CALL(SetTexPanOffset, TEX_PANNER_1, TEX_PANNER_MAIN, LVar0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(EnableModel, MODEL_nagare, FALSE) + EVT_CALL(TranslateModel, MODEL_nagare, -400, 100, 0) + EVT_SET(LVar0, 0) + EVT_CALL(SetTexPanOffset, TEX_PANNER_1, TEX_PANNER_MAIN, LVar0, 0) + EVT_WAIT(100) + EVT_CALL(EnableModel, MODEL_nagare, TRUE) + EVT_LOOP(32) + EVT_ADD(LVar0, 0x800) + EVT_CALL(SetTexPanOffset, TEX_PANNER_1, TEX_PANNER_MAIN, LVar0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(EnableModel, MODEL_nagare, FALSE) + EVT_END_THREAD + EVT_THREAD + EVT_SETF(LVar0, -1125) + EVT_LOOP(1450) + EVT_CALL(TranslateModel, MODEL_o3, 0, LVar0, 0) + EVT_ADDF(LVar0, EVT_FLOAT(-1.5)) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_SETF(LVar0, -500) + EVT_LOOP(1450) + EVT_CALL(TranslateGroup, MODEL_kumo, 0, LVar0, 0) + EVT_ADDF(LVar0, EVT_FLOAT(-2.5)) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_WAIT(600) + EVT_SETF(LVar0, 0) + EVT_SETF(LVar1, 0) + EVT_LOOP(1000) + EVT_CALL(TranslateGroup, MODEL_starland, 0, LVar0, 0) + EVT_CALL(RotateGroup, MODEL_stl_1, LVar1, 0, -1, 0) + EVT_ADDF(LVar0, EVT_FLOAT(-3.59375)) + EVT_ADDF(LVar1, EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_WAIT(740) + EVT_CALL(N(ResumeIntroState)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Scene_UnusedWhiteScreen) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(SetCamLeadPlayer, CAM_DEFAULT, FALSE) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(EnableModel, MODEL_nagare, FALSE) + EVT_EXEC(N(EVS_Scene_Unused_Impl)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Scene_RisingAboveClouds) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(SetCamLeadPlayer, CAM_DEFAULT, FALSE) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_EXEC(N(EVS_Scene_Rising_Impl)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_10/hos_10_6_pre_title.c b/src/world/area_hos/hos_10/hos_10_6_pre_title.c new file mode 100644 index 0000000000..de69da7ee6 --- /dev/null +++ b/src/world/area_hos/hos_10/hos_10_6_pre_title.c @@ -0,0 +1,91 @@ +#include "hos_10.h" +#include "effects.h" + +#define NAME_SUFFIX _PreTitle +#include "world/common/atomic/TexturePan.inc.c" +#include "world/common/atomic/TexturePan.data.inc.c" +#define NAME_SUFFIX + +EvtScript N(EVS_Scene_PreTitle) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_FallBack) + EVT_CALL(SetPlayerPos, NPC_DISPOSE_LOCATION) + EVT_CALL(EnableModel, MODEL_o2, FALSE) + EVT_CALL(EnableModel, MODEL_nagare, FALSE) + EVT_CALL(SetCamLeadPlayer, CAM_DEFAULT, FALSE) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, 0, 0) + 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_THREAD + TEX_PAN_PARAMS_ID(TEX_PANNER_2) + TEX_PAN_PARAMS_STEP( 400, 0, 0, 0) + TEX_PAN_PARAMS_FREQ( 1, 1, 1, 1) + TEX_PAN_PARAMS_INIT( 0, 0, 0, 0) + EVT_EXEC(N(EVS_UpdateTexturePan_PreTitle)) + EVT_END_THREAD + EVT_THREAD + TEX_PAN_PARAMS_ID(TEX_PANNER_3) + TEX_PAN_PARAMS_STEP( 600, 0, 0, 0) + TEX_PAN_PARAMS_FREQ( 1, 1, 1, 1) + TEX_PAN_PARAMS_INIT( 0, 0, 0, 0) + EVT_EXEC(N(EVS_UpdateTexturePan_PreTitle)) + EVT_END_THREAD + EVT_THREAD + TEX_PAN_PARAMS_ID(TEX_PANNER_4) + TEX_PAN_PARAMS_STEP( 1000, 0, 0, 0) + TEX_PAN_PARAMS_FREQ( 1, 1, 1, 1) + TEX_PAN_PARAMS_INIT( 0, 0, 0, 0) + EVT_EXEC(N(EVS_UpdateTexturePan_PreTitle)) + EVT_END_THREAD + EVT_CALL(EnableTexPanning, MODEL_k2, TRUE) + EVT_CALL(EnableTexPanning, MODEL_k7, TRUE) + EVT_CALL(EnableTexPanning, MODEL_k1, TRUE) + EVT_CALL(EnableTexPanning, MODEL_k5, TRUE) + EVT_CALL(EnableTexPanning, MODEL_k9, TRUE) + EVT_CALL(EnableTexPanning, MODEL_k12, TRUE) + EVT_THREAD + EVT_SETF(LVar0, -1800) + EVT_LOOP(450) + EVT_CALL(TranslateModel, MODEL_o3, 0, LVar0, 0) + EVT_ADDF(LVar0, EVT_FLOAT(1.5)) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_SETF(LVar0, -1725) + EVT_LOOP(450) + EVT_CALL(TranslateGroup, MODEL_kumo, 0, LVar0, 0) + EVT_ADDF(LVar0, EVT_FLOAT(2.5)) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_LOOP(0) + EVT_WAIT(1) + EVT_CALL(GetModelCenter, MODEL_mario_o) + EVT_IF_LT(LVar1, -130) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 4, 0, -130, 480, 0) + EVT_END_THREAD + EVT_CALL(MakeLerp, 350, -200, 400, EASING_LINEAR) + EVT_SET(LVar2, 0) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(TranslateModel, MODEL_mario_o, 0, LVar0, 480) + EVT_CALL(ScaleModel, MODEL_mario_o, EVT_FLOAT(1.25), EVT_FLOAT(1.25), EVT_FLOAT(1.25)) + EVT_CALL(RotateModel, MODEL_mario_o, LVar2, 1, 0, 0) + EVT_ADD(LVar2, EVT_FLOAT(22.5)) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(GotoMapSpecial, EVT_PTR("kmr_21"), kmr_21_ENTRY_0, TRANSITION_7) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_10/hos_10_7_ending.c b/src/world/area_hos/hos_10/hos_10_7_ending.c new file mode 100644 index 0000000000..868a664f86 --- /dev/null +++ b/src/world/area_hos/hos_10/hos_10_7_ending.c @@ -0,0 +1,556 @@ +#include "hos_10.h" +#include "effects.h" + +API_CALLABLE(N(NpcOrbitPlayerPos)) { + PlayerStatus* playerStatus = &gPlayerStatus; + Bytecode* args = script->ptrReadPos; + Npc* npc; + + if (isInitialCall) { + script->functionTemp[1] = evt_get_variable(script, *args++); + script->functionTemp[2] = evt_get_variable(script, *args++); + script->varTable[15] = evt_get_variable(script, *args++); + script->functionTemp[0] = 0; + script->functionTemp[3] = 0; + } + + npc = get_npc_unsafe(script->functionTemp[1]); + switch (script->functionTemp[0]) { + case 0: + npc->pos.x = playerStatus->position.x; + npc->pos.y = playerStatus->position.y; + npc->pos.z = playerStatus->position.z; + npc->moveToPos.x = script->functionTemp[3] * 3; + npc->moveToPos.y = 3.0f; + add_vec2D_polar(&npc->pos.x, &npc->pos.z, 70.0f, npc->moveToPos.x + (script->functionTemp[2] * 51) + 153.0f); + if ((script->functionTemp[3] + script->functionTemp[2]) % 13 == 0) { + fx_sparkles(3, npc->pos.x, npc->pos.y + 10.0f, npc->pos.z, 10.0f); + } + if (script->functionTemp[3] > 350) { + script->functionTemp[0] = 1; + script->functionTemp[3] = 0; + } + break; + case 1: + npc->pos.x = playerStatus->position.x; + npc->pos.y = playerStatus->position.y; + npc->pos.z = playerStatus->position.z; + npc->moveToPos.x = script->functionTemp[3] * 3; + npc->moveToPos.y = 3.0f; + add_vec2D_polar( + &npc->pos.x, + &npc->pos.z, + (((190 - script->functionTemp[3]) / 190.0f) * 67.0f) + 3.0f, + npc->moveToPos.x + (script->functionTemp[2] * 51) + 153.0f + ); + if ((script->functionTemp[3] + script->functionTemp[2]) % 13 == 0) { + fx_sparkles(3, npc->pos.x, npc->pos.y + 10.0f, npc->pos.z, 10.0f); + } + if (script->functionTemp[3] > 190) { + return ApiStatus_DONE2; + } + break; + } + + script->functionTemp[3]++; + npc->moveToPos.x += npc->moveToPos.y; + return ApiStatus_BLOCK; +} + +API_CALLABLE(N(SetHaloPos)) { + Bytecode* args = script->ptrReadPos; + EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++); + f32 x, y, z; + + x = evt_get_variable(script, *args++); + y = evt_get_variable(script, *args++); + z = evt_get_variable(script, *args++); + effect->data.endingDecals->pos.x = x; + effect->data.endingDecals->pos.y = y; + effect->data.endingDecals->pos.z = z; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(SetHaloScale)) { + Bytecode* args = script->ptrReadPos; + EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++); + + effect->data.endingDecals->scale = evt_get_float_variable(script, *args++); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(SetHaloAlpha)) { + Bytecode* args = script->ptrReadPos; + EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++); + + effect->data.endingDecals->haloAlpha = evt_get_variable(script, *args++); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(ClearCurrentPartner)) { + gPlayerData.currentPartner = PARTNER_NONE; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(FadeScreenToWhite)) { + if (isInitialCall) { + script->functionTemp[1] = 0; + } + + set_screen_overlay_color(0, 208, 208, 208); + set_screen_overlay_params_front(1, script->functionTemp[1]); + + if (script->functionTemp[1] == 255) { + return ApiStatus_DONE2; + } + + script->functionTemp[1] += 7; + if (script->functionTemp[1] > 255) { + script->functionTemp[1] = 255; + } + + return ApiStatus_BLOCK; +} + +Vec3f N(PlayerPath)[] = { + { -130.0, 0.0, 1300.0 }, + { 20.0, -100.0, 1250.0 }, + { 170.0, 50.0, 1000.0 }, + { 120.0, 100.0, 400.0 }, + { 0.0, 0.0, -450.0 }, +}; + +Vec3f N(EldstarPath)[] = { + { 0.0, 0.0, -350.0 }, + { -150.0, 70.0, 500.0 }, + { 0.0, 30.0, 1200.0 }, + { 200.0, 30.0, 1800.0 }, +}; + +Vec3f N(MisstarPath)[] = { + { 0.0, 0.0, -350.0 }, + { -200.0, -100.0, 300.0 }, + { -50.0, -50.0, 800.0 }, + { 30.0, 80.0, 1900.0 }, +}; + +Vec3f N(SkolarPath)[] = { + { 0.0, 0.0, -350.0 }, + { -300.0, -60.0, 300.0 }, + { 0.0, -20.0, 1000.0 }, + { -50.0, 40.0, 1800.0 }, +}; + +Vec3f N(MamarPath)[] = { + { 0.0, 0.0, -350.0 }, + { -170.0, -20.0, 200.0 }, + { 170.0, 60.0, 500.0 }, + { -120.0, -20.0, 1000.0 }, + { 50.0, 50.0, 1800.0 }, +}; + +Vec3f N(KalmarPath)[] = { + { 0.0, 0.0, -350.0 }, + { 300.0, 200.0, 350.0 }, + { 100.0, 120.0, 1000.0 }, + { -30.0, 10.0, 1800.0 }, +}; + +Vec3f N(MuskularPath)[] = { + { 0.0, 0.0, -350.0 }, + { -100.0, 0.0, 200.0 }, + { 0.0, -150.0, 500.0 }, + { 200.0, 0.0, 1000.0 }, + { 0.0, 100.0, 1800.0 }, +}; + +Vec3f N(KlevarPath)[] = { + { 0.0, 0.0, -350.0 }, + { 200.0, -60.0, 200.0 }, + { 500.0, -150.0, 500.0 }, + { 180.0, -50.0, 1000.0 }, + { -60.0, 75.0, 1800.0 }, +}; + +Vec3f N(TwinkPath)[] = { + { 0.0, 0.0, -350.0 }, + { -150.0, 70.0, 500.0 }, + { 0.0, 30.0, 1200.0 }, + { 40.0, 30.0, 1600.0 }, +}; + +EvtScript N(EVS_Scene_CastleDescending) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) + EVT_CALL(PlaySound, SOUND_4A4) + EVT_CALL(SetPlayerPos, -130, 200, 1300) + EVT_CALL(InterpPlayerYaw, 90, 0) + EVT_CALL(SetNpcPos, NPC_PARTNER, -150, 200, 1300) + EVT_CALL(SetNpcYaw, NPC_PARTNER, 90) + EVT_CALL(EnableModel, MODEL_o2, FALSE) + EVT_CALL(EnableGroup, MODEL_kumo, FALSE) + EVT_CALL(EnableModel, MODEL_nagare, FALSE) + EVT_CALL(TranslateGroup, MODEL_castle, 0, -2500, 0) + EVT_CALL(ScaleGroup, MODEL_castle, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_PLAY_EFFECT(EFFECT_ENDING_DECALS, 2, 0, 35, 70, EVT_FLOAT(7.0), MV_BubbleFXPtr) + EVT_CALL(N(SetHaloAlpha), MV_BubbleFXPtr, 128) + EVT_CHILD_THREAD + EVT_PLAY_EFFECT(EFFECT_ENDING_DECALS, 2, 0, 0, 0, EVT_FLOAT(10.0), MV_Unk_01) + EVT_LOOP(0) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 12) + EVT_ADD(LVar2, 60) + EVT_CALL(N(SetHaloPos), MV_Unk_01, LVar0, LVar1, LVar2) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_CHILD_THREAD + EVT_CALL(SetCamLeadPlayer, CAM_DEFAULT, FALSE) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(0.0), EVT_FLOAT(0.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_THREAD + EVT_SETF(LVar0, -2250) + EVT_LOOP(1500) + EVT_CALL(TranslateModel, MODEL_o3, 0, LVar0, 0) + EVT_ADDF(LVar0, EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_CALL(SetPlayerJumpscale, EVT_FLOAT(0.0)) + EVT_CALL(PlayerJump1, -130, 0, 1300, 250) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(SetNpcJumpscale, NPC_PARTNER, EVT_FLOAT(0.0)) + EVT_CALL(NpcJump0, NPC_PARTNER, -150, 0, 1300, 250) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(SetNpcJumpscale, NPC_Peach, EVT_FLOAT(0.0)) + EVT_CALL(NpcJump0, NPC_Peach, -100, 0, 1300, 250) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(SetNpcJumpscale, NPC_Twink, EVT_FLOAT(0.0)) + EVT_CALL(NpcJump0, NPC_Twink, -130, 60, 1300, 250) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(N(NpcOrbitPlayerPos), NPC_Eldstar, 0, 0) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(N(NpcOrbitPlayerPos), NPC_Mamar, 1, 0) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(N(NpcOrbitPlayerPos), NPC_Skolar, 2, 0) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(N(NpcOrbitPlayerPos), NPC_Muskular, 3, 0) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(N(NpcOrbitPlayerPos), NPC_Misstar, 4, 0) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(N(NpcOrbitPlayerPos), NPC_Klevar, 5, 0) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(N(NpcOrbitPlayerPos), NPC_Kalmar, 6, 0) + EVT_END_THREAD + EVT_WAIT(350) + EVT_THREAD + EVT_CALL(LoadPath, 190, EVT_PTR(N(PlayerPath)), ARRAY_COUNT(N(PlayerPath)), EASING_LINEAR) + EVT_LABEL(0) + EVT_CALL(GetNextPathPos) + EVT_CALL(SetPlayerPos, LVar1, LVar2, LVar3) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 1) + EVT_GOTO(0) + EVT_END_IF + EVT_END_THREAD + EVT_THREAD + EVT_CALL(MakeLerp, 100, 20, 190, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_DIVF(LVar0, 100) + EVT_SETF(LVar1, -20) + EVT_MULF(LVar1, LVar0) + EVT_CALL(GetPlayerPos, LVar2, LVar3, LVar4) + EVT_ADDF(LVar2, LVar1) + EVT_CALL(SetNpcPos, NPC_PARTNER, LVar2, LVar3, LVar4) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_CALL(MakeLerp, 100, 20, 190, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_DIVF(LVar0, 100) + EVT_SETF(LVar1, 30) + EVT_MULF(LVar1, LVar0) + EVT_CALL(GetPlayerPos, LVar2, LVar3, LVar4) + EVT_ADDF(LVar2, LVar1) + EVT_CALL(SetNpcPos, NPC_Peach, LVar2, LVar3, LVar4) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_CALL(MakeLerp, 100, 20, 190, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_DIVF(LVar0, 100) + EVT_SETF(LVar1, 60) + EVT_MULF(LVar1, LVar0) + EVT_CALL(GetPlayerPos, LVar2, LVar3, LVar4) + EVT_ADDF(LVar3, LVar1) + EVT_CALL(SetNpcPos, NPC_Twink, LVar2, LVar3, LVar4) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_CALL(MakeLerp, 100, 5, 190, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_DIVF(LVar0, 100) + EVT_CALL(SetNpcScale, NPC_PARTNER, LVar0, LVar0, LVar0) + EVT_CALL(SetNpcScale, NPC_Peach, LVar0, LVar0, LVar0) + EVT_CALL(SetNpcScale, NPC_Twink, LVar0, LVar0, LVar0) + EVT_CALL(SetNpcScale, NPC_Eldstar, LVar0, LVar0, LVar0) + EVT_CALL(SetNpcScale, NPC_Mamar, LVar0, LVar0, LVar0) + EVT_CALL(SetNpcScale, NPC_Skolar, LVar0, LVar0, LVar0) + EVT_CALL(SetNpcScale, NPC_Muskular, LVar0, LVar0, LVar0) + EVT_CALL(SetNpcScale, NPC_Misstar, LVar0, LVar0, LVar0) + EVT_CALL(SetNpcScale, NPC_Klevar, LVar0, LVar0, LVar0) + EVT_CALL(SetNpcScale, NPC_Kalmar, LVar0, LVar0, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_CALL(MakeLerp, 1000, 50, 190, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_DIVF(LVar0, 100) + EVT_CALL(N(SetHaloScale), MV_Unk_01, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_WAIT(290) + EVT_CALL(GotoMap, EVT_PTR("osr_02"), osr_02_ENTRY_2) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_MakeNpcSparkleTrail) = { + EVT_CHILD_THREAD + EVT_LOOP(30) + EVT_CALL(GetNpcPos, LVar0, LVar1, LVar2, LVar3) + EVT_PLAY_EFFECT(EFFECT_SPARKLES, 3, LVar1, LVar2, LVar3, 20) + EVT_WAIT(6) + EVT_END_LOOP + EVT_END_CHILD_THREAD + EVT_CHILD_THREAD + EVT_LOOP(30) + EVT_CALL(GetNpcPos, LVar0, LVar1, LVar2, LVar3) + EVT_ADD(LVar1, 20) + EVT_PLAY_EFFECT(EFFECT_SPARKLES, 4, LVar1, LVar2, LVar3, 40) + EVT_WAIT(8) + EVT_END_LOOP + EVT_END_CHILD_THREAD + EVT_LOOP(0) + EVT_CALL(GetNpcPos, LVar0, LVar1, LVar2, LVar3) + EVT_IF_GE(LVar3, 1800) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Scene_SpiritsFlyingAway) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) + EVT_CALL(SetPlayerPos, NPC_DISPOSE_LOCATION) + EVT_CALL(EnableModel, MODEL_o2, FALSE) + EVT_CALL(EnableModel, MODEL_nagare, FALSE) + EVT_CALL(TranslateGroup, MODEL_castle, 0, -2500, 0) + EVT_CALL(ScaleGroup, MODEL_castle, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_PLAY_EFFECT(EFFECT_ENDING_DECALS, 2, 0, 35, 70, EVT_FLOAT(7.0), LVarA) + EVT_CALL(N(SetHaloAlpha), LVarA, 128) + EVT_CALL(EnableTexPanning, MODEL_k2, TRUE) + EVT_CALL(EnableTexPanning, MODEL_k7, TRUE) + EVT_CALL(EnableTexPanning, MODEL_k1, TRUE) + EVT_CALL(EnableTexPanning, MODEL_k5, TRUE) + EVT_CALL(EnableTexPanning, MODEL_k9, TRUE) + EVT_CALL(EnableTexPanning, MODEL_k12, TRUE) + EVT_CALL(SetCamLeadPlayer, CAM_DEFAULT, FALSE) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_THREAD + EVT_SET(LVar0, NPC_Eldstar) + EVT_EXEC(N(EVS_MakeNpcSparkleTrail)) + EVT_CALL(LoadPath, 75, EVT_PTR(N(EldstarPath)), ARRAY_COUNT(N(EldstarPath)), EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(GetNextPathPos) + EVT_CALL(SetNpcPos, NPC_Eldstar, LVar1, LVar2, LVar3) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_WAIT(50) + EVT_SET(LVar0, NPC_Misstar) + EVT_EXEC(N(EVS_MakeNpcSparkleTrail)) + EVT_CALL(LoadPath, 75, EVT_PTR(N(MisstarPath)), ARRAY_COUNT(N(MisstarPath)), EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(GetNextPathPos) + EVT_CALL(SetNpcPos, NPC_Misstar, LVar1, LVar2, LVar3) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_WAIT(100) + EVT_SET(LVar0, NPC_Skolar) + EVT_EXEC(N(EVS_MakeNpcSparkleTrail)) + EVT_CALL(LoadPath, 75, EVT_PTR(N(SkolarPath)), ARRAY_COUNT(N(SkolarPath)), EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(GetNextPathPos) + EVT_CALL(SetNpcPos, NPC_Skolar, LVar1, LVar2, LVar3) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_WAIT(150) + EVT_SET(LVar0, NPC_Mamar) + EVT_EXEC(N(EVS_MakeNpcSparkleTrail)) + EVT_CALL(LoadPath, 75, EVT_PTR(N(MamarPath)), ARRAY_COUNT(N(MamarPath)), EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(GetNextPathPos) + EVT_CALL(SetNpcPos, NPC_Mamar, LVar1, LVar2, LVar3) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_WAIT(200) + EVT_SET(LVar0, NPC_Kalmar) + EVT_EXEC(N(EVS_MakeNpcSparkleTrail)) + EVT_CALL(LoadPath, 75, EVT_PTR(N(KalmarPath)), ARRAY_COUNT(N(KalmarPath)), EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(GetNextPathPos) + EVT_CALL(SetNpcPos, NPC_Kalmar, LVar1, LVar2, LVar3) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_WAIT(250) + EVT_SET(LVar0, NPC_Muskular) + EVT_EXEC(N(EVS_MakeNpcSparkleTrail)) + EVT_CALL(LoadPath, 75, EVT_PTR(N(MuskularPath)), ARRAY_COUNT(N(MuskularPath)), EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(GetNextPathPos) + EVT_CALL(SetNpcPos, NPC_Muskular, LVar1, LVar2, LVar3) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_WAIT(300) + EVT_SET(LVar0, NPC_Klevar) + EVT_EXEC(N(EVS_MakeNpcSparkleTrail)) + EVT_CALL(LoadPath, 75, EVT_PTR(N(KlevarPath)), ARRAY_COUNT(N(KlevarPath)), EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(GetNextPathPos) + EVT_CALL(SetNpcPos, NPC_Klevar, LVar1, LVar2, LVar3) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_WAIT(450) + EVT_SET(LVar0, NPC_Twink) + EVT_EXEC(N(EVS_MakeNpcSparkleTrail)) + EVT_CALL(LoadPath, 75, EVT_PTR(N(TwinkPath)), ARRAY_COUNT(N(TwinkPath)), EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(GetNextPathPos) + EVT_CALL(SetNpcPos, NPC_Twink, LVar1, LVar2, LVar3) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_WAIT(20) + EVT_CALL(InterpNpcYaw, NPC_Twink, 270, 0) + EVT_CALL(SetNpcAnimation, NPC_Twink, ANIM_Twink_Back) + EVT_WAIT(50) + EVT_CALL(InterpNpcYaw, NPC_Twink, 90, 0) + EVT_CALL(SetNpcAnimation, NPC_Twink, ANIM_Twink_Idle) + EVT_WAIT(10) + EVT_CALL(NpcFlyTo, NPC_Twink, 100, 60, 1800, 20, -10, EASING_LINEAR) + EVT_END_THREAD + EVT_THREAD + EVT_SETF(LVar0, -2250) + EVT_LOOP(1500) + EVT_CALL(TranslateModel, MODEL_o3, 0, LVar0, 0) + EVT_ADDF(LVar0, EVT_FLOAT(1.5)) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_SETF(LVar0, -2700) + EVT_LOOP(1200) + EVT_CALL(TranslateGroup, MODEL_kumo, 0, LVar0, 0) + EVT_ADDF(LVar0, EVT_FLOAT(2.5)) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_WAIT(840) + EVT_CALL(FadeOutMusic, 0, 3000) + EVT_END_THREAD + EVT_WAIT(800) + EVT_CALL(N(FadeScreenToWhite)) + EVT_WAIT(90) + EVT_CALL(N(ClearCurrentPartner)) + EVT_CALL(GotoMapSpecial, EVT_PTR("kmr_20"), kmr_20_ENTRY_2, TRANSITION_5) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_20/A45930.c b/src/world/area_hos/hos_20/A45930.c deleted file mode 100644 index e38618c73d..0000000000 --- a/src/world/area_hos/hos_20/A45930.c +++ /dev/null @@ -1,9 +0,0 @@ -#include "hos_20.h" - -static char* N(exit_str_0) = "kpa_60"; -static char* N(exit_str_1) = "hos_00"; -static char* N(exit_str_2) = "osr_03"; -static char* N(exit_str_3) = "hos_05"; - -#include "world/common/atomic/TexturePan.inc.c" - diff --git a/src/world/area_hos/hos_20/A45C40.c b/src/world/area_hos/hos_20/A45C40.c deleted file mode 100644 index f806efe126..0000000000 --- a/src/world/area_hos/hos_20/A45C40.c +++ /dev/null @@ -1,12 +0,0 @@ -#include "hos_20.h" - -s32 func_80240310_A45C40(Evt* script, s32 isInitialCall) { - script->varTable[8] = FALSE; - if (gGameStatusPtr->pressedButtons[0] & BUTTON_A) { - script->varTable[8] = TRUE; - } - if (gGameStatusPtr->pressedButtons[0] & BUTTON_B) { - script->varTable[8] = TRUE; - } - return ApiStatus_DONE2; -} diff --git a/src/world/area_hos/hos_20/hos_20.h b/src/world/area_hos/hos_20/hos_20.h index 904e33c0c7..93948a084a 100644 --- a/src/world/area_hos/hos_20/hos_20.h +++ b/src/world/area_hos/hos_20/hos_20.h @@ -2,8 +2,21 @@ /// @brief Shooting Star Summit - Riding Star Ship Scene #include "common.h" -#include "../hos.h" #include "message_ids.h" #include "map.h" +#include "../hos.h" +#include "mapfs/hos_20_shape.h" +#include "mapfs/hos_20_hit.h" + +enum { + MV_Starship_PosX = MapVar(10), + MV_Starship_Yaw = MapVar(11), +}; + #define NAMESPACE hos_20 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_Starship_Flight1); +extern EvtScript N(EVS_Starship_Flight2); +extern EvtScript N(EVS_Starship_Return); diff --git a/src/world/area_hos/hos_20/hos_20_0_header.c b/src/world/area_hos/hos_20/hos_20_0_header.c new file mode 100644 index 0000000000..c905caedf5 --- /dev/null +++ b/src/world/area_hos/hos_20/hos_20_0_header.c @@ -0,0 +1,13 @@ +#include "hos_20.h" + +EntryList N(Entrances) = { + [hos_20_ENTRY_0] { -400.0, 0.0, 0.0, 135.0 }, + [hos_20_ENTRY_1] { 0.0, 0.0, 0.0, 135.0 }, + [hos_20_ENTRY_2] { 400.0, 0.0, 0.0, 225.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), +}; diff --git a/src/world/area_hos/hos_20/hos_20_1_main.c b/src/world/area_hos/hos_20/hos_20_1_main.c new file mode 100644 index 0000000000..175d2098a4 --- /dev/null +++ b/src/world/area_hos/hos_20/hos_20_1_main.c @@ -0,0 +1,66 @@ +#include "hos_20.h" + +#include "world/common/atomic/TexturePan.inc.c" +#include "world/common/atomic/TexturePan.data.inc.c" + +EvtScript N(EVS_TexPan_MotionLines) = { + EVT_SET_GROUP(EVT_GROUP_00) + EVT_CALL(GetEntryID, LVar0) + EVT_IF_EQ(LVar0, hos_20_ENTRY_2) + EVT_CALL(RotateModel, MODEL_h1, 180, 0, 0, 1) + EVT_CALL(RotateModel, MODEL_h2, 180, 0, 0, 1) + EVT_CALL(RotateModel, MODEL_h3, 180, 0, 0, 1) + EVT_CALL(RotateModel, MODEL_h4, 180, 0, 0, 1) + EVT_END_IF + EVT_CALL(EnableTexPanning, MODEL_h1, TRUE) + EVT_CALL(EnableTexPanning, MODEL_h2, TRUE) + EVT_CALL(EnableTexPanning, MODEL_h3, TRUE) + EVT_CALL(EnableTexPanning, MODEL_h4, TRUE) + EVT_THREAD + TEX_PAN_PARAMS_ID(TEX_PANNER_C) + TEX_PAN_PARAMS_STEP(-2048,-2048, 0, 0) + TEX_PAN_PARAMS_FREQ( 1, 1, 0, 0) + TEX_PAN_PARAMS_INIT( 0, 0, 0, 0) + EVT_EXEC(N(EVS_UpdateTexturePan)) + EVT_END_THREAD + EVT_THREAD + TEX_PAN_PARAMS_ID(TEX_PANNER_B) + TEX_PAN_PARAMS_STEP(-6144, 0, 0, 0) + TEX_PAN_PARAMS_FREQ( 1, 0, 0, 0) + TEX_PAN_PARAMS_INIT( 0, 0, 0, 0) + EVT_EXEC(N(EVS_UpdateTexturePan)) + EVT_END_THREAD + EVT_THREAD + TEX_PAN_PARAMS_ID(TEX_PANNER_D) + TEX_PAN_PARAMS_STEP( 0,-5120, 0, 0) + TEX_PAN_PARAMS_FREQ( 0, 1, 0, 0) + TEX_PAN_PARAMS_INIT( 0, 0, 0, 0) + EVT_EXEC(N(EVS_UpdateTexturePan)) + EVT_END_THREAD + EVT_THREAD + TEX_PAN_PARAMS_ID(TEX_PANNER_A) + TEX_PAN_PARAMS_STEP( 1024,-3072, 0, 0) + TEX_PAN_PARAMS_FREQ( 1, 1, 0, 0) + TEX_PAN_PARAMS_INIT( 0, 0, 0, 0) + EVT_EXEC(N(EVS_UpdateTexturePan)) + EVT_END_THREAD + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SETUP_CAMERA_DEFAULT() + EVT_EXEC(N(EVS_TexPan_MotionLines)) + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(hos_20_ENTRY_0) + EVT_EXEC(N(EVS_Starship_Flight1)) + EVT_CASE_EQ(hos_20_ENTRY_1) + EVT_EXEC(N(EVS_Starship_Flight2)) + EVT_CASE_EQ(hos_20_ENTRY_2) + EVT_EXEC(N(EVS_Starship_Return)) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_hos/hos_20/hos_20_2_starship.c b/src/world/area_hos/hos_20/hos_20_2_starship.c new file mode 100644 index 0000000000..b76067ce2d --- /dev/null +++ b/src/world/area_hos/hos_20/hos_20_2_starship.c @@ -0,0 +1,230 @@ +#include "hos_20.h" + +API_CALLABLE(N(CheckForSkipInput)) { + script->varTable[8] = FALSE; + if (gGameStatusPtr->pressedButtons[0] & BUTTON_A) { + script->varTable[8] = TRUE; + } + if (gGameStatusPtr->pressedButtons[0] & BUTTON_B) { + script->varTable[8] = TRUE; + } + return ApiStatus_DONE2; +} + +EvtScript N(EVS_AnimateStarship) = { + EVT_THREAD + EVT_SET(LVar4, 185) + EVT_SET(LVar5, 50) + EVT_LOOP(0) + EVT_SET(LVar3, LVar4) + EVT_SET(LVar4, LVar5) + EVT_SET(LVar5, LVar3) + EVT_CALL(MakeLerp, LVar3, LVar4, 30, EASING_COS_IN_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_DIVF(LVar0, 10) + EVT_CALL(SetCamPitch, CAM_DEFAULT, LVar0, EVT_FLOAT(-3.0)) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_LOOP + EVT_END_THREAD + EVT_SET(LVar4, -20) + EVT_SET(LVar5, 80) + EVT_CALL(GetEntryID, LVar8) + EVT_LOOP(0) + EVT_SET(LVar3, LVar4) + EVT_SET(LVar4, LVar5) + EVT_SET(LVar5, LVar3) + EVT_CALL(MakeLerp, LVar3, LVar4, 30, EASING_COS_IN_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_SETF(LVar2, LVar0) + EVT_MULF(LVar2, EVT_FLOAT(0.1)) + EVT_CALL(TranslateGroup, MODEL_ry, MV_Starship_PosX, LVar2, 0) + EVT_CALL(RotateGroup, MODEL_ry, MV_Starship_Yaw, 0, 1, 0) + EVT_CALL(GetModelCenter, MODEL_ry3) + EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) + EVT_IF_NE(LVar8, hos_20_ENTRY_2) + EVT_ADD(LVar0, -10) + EVT_ELSE + EVT_ADD(LVar0, 10) + EVT_END_IF + EVT_ADD(LVar2, 5) + EVT_CALL(SetNpcPos, NPC_PARTNER, LVar0, LVar1, LVar2) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Starship_Flight1) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(SetPlayerActionState, ACTION_STATE_LAND) + EVT_CALL(InterpPlayerYaw, 135, 0) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) + EVT_CALL(SetNpcYaw, NPC_PARTNER, 90) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(18.5), EVT_FLOAT(-3.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_SET(MV_Starship_PosX, -300) + EVT_SET(MV_Starship_Yaw, 0) + EVT_EXEC(N(EVS_AnimateStarship)) + EVT_WAIT(1) + EVT_CALL(PlaySound, SOUND_17C) + EVT_IF_LT(GB_StoryProgress, STORY_UNUSED_0000005D) + EVT_CALL(MakeLerp, -300, 0, 120, EASING_QUADRATIC_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_SET(MV_Starship_PosX, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_WAIT(100) + EVT_CALL(PlaySound, SOUND_57C) + EVT_CALL(GotoMap, EVT_PTR("hos_00"), hos_00_ENTRY_3) + EVT_ELSE + EVT_THREAD + EVT_CALL(MakeLerp, -300, 0, 120, EASING_QUADRATIC_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_SET(MV_Starship_PosX, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_WAIT(75) + EVT_CALL(PlaySound, SOUND_57C) + EVT_CALL(PlaySound, SOUND_20A1) + EVT_CALL(MakeLerp, 0, 300, 60, EASING_CUBIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_SET(MV_Starship_PosX, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_WAIT(20) + EVT_END_THREAD + EVT_WAIT(60) + EVT_LOOP(215) + EVT_WAIT(1) + EVT_CALL(N(CheckForSkipInput)) + EVT_IF_EQ(LVar8, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(PlaySound, SOUND_57C) + EVT_CALL(GotoMap, EVT_PTR("kpa_60"), kpa_60_ENTRY_4) + EVT_END_IF + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Starship_Flight2) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(SetPlayerActionState, ACTION_STATE_LAND) + EVT_CALL(InterpPlayerYaw, 135, 0) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) + EVT_CALL(SetNpcYaw, NPC_PARTNER, 90) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(18.5), EVT_FLOAT(-3.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(PlaySound, SOUND_17C) + EVT_SET(MV_Starship_PosX, 0) + EVT_SET(MV_Starship_Yaw, 0) + EVT_EXEC(N(EVS_AnimateStarship)) + EVT_WAIT(100) + EVT_CALL(PlaySound, SOUND_57C) + EVT_CALL(PlaySound, SOUND_20A1) + EVT_CALL(MakeLerp, 0, 300, 60, EASING_CUBIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_SET(MV_Starship_PosX, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_WAIT(20) + EVT_CALL(GotoMap, EVT_PTR("osr_03"), osr_03_ENTRY_3) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Starship_Return) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(SetPlayerActionState, ACTION_STATE_LAND) + EVT_CALL(InterpPlayerYaw, 225, 0) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) + EVT_CALL(SetNpcYaw, NPC_PARTNER, 270) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(18.5), EVT_FLOAT(-3.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_SET(MV_Starship_PosX, 300) + EVT_SET(MV_Starship_Yaw, 180) + EVT_EXEC(N(EVS_AnimateStarship)) + EVT_WAIT(2) + EVT_CALL(PlaySound, SOUND_17C) + EVT_THREAD + EVT_CALL(MakeLerp, 300, 0, 120, EASING_QUADRATIC_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_SET(MV_Starship_PosX, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_WAIT(75) + EVT_CALL(PlaySound, SOUND_57C) + EVT_CALL(PlaySound, SOUND_20A1) + EVT_CALL(MakeLerp, 0, -300, 60, EASING_CUBIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_SET(MV_Starship_PosX, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_WAIT(20) + EVT_END_THREAD + EVT_WAIT(60) + EVT_LOOP(215) + EVT_WAIT(1) + EVT_CALL(N(CheckForSkipInput)) + EVT_IF_EQ(LVar8, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(PlaySound, SOUND_57C) + EVT_CALL(GotoMap, EVT_PTR("hos_05"), hos_05_ENTRY_1) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_isk/isk_04/isk_04_6_demo.c b/src/world/area_isk/isk_04/isk_04_6_demo.c index 0155aa2211..56cafa11da 100644 --- a/src/world/area_isk/isk_04/isk_04_6_demo.c +++ b/src/world/area_isk/isk_04/isk_04_6_demo.c @@ -108,19 +108,19 @@ EvtScript N(EVS_MonitorDemoState) = { EVT_END }; -s32 N(DemoSceneState) = 0; +s32 N(DemoInitState) = 0; // duplicate of SetupDemoScene from trd_09 API_CALLABLE(N(SetupDemoScene)) { PlayerStatus* playerStatus = &gPlayerStatus; - switch (N(DemoSceneState)) { + switch (N(DemoInitState)) { case 0: - N(DemoSceneState) = 1; + N(DemoInitState) = 1; return ApiStatus_BLOCK; case 1: case 2: - N(DemoSceneState)++; + N(DemoInitState)++; return ApiStatus_BLOCK; case 3: wPartnerNpc->pos.x = playerStatus->position.x - 30.0f; diff --git a/src/world/area_isk/isk_11/isk_11_5_puzzle.c b/src/world/area_isk/isk_11/isk_11_5_puzzle.c index 15e066f88d..02a1308e46 100644 --- a/src/world/area_isk/isk_11/isk_11_5_puzzle.c +++ b/src/world/area_isk/isk_11/isk_11_5_puzzle.c @@ -68,7 +68,7 @@ EvtScript N(EVS_ItemPrompt_Socket1) = { EVT_IF_NE(GB_ISK11_ItemSocket1, 0) EVT_CALL(DisablePlayerInput, TRUE) EVT_CALL(N(GetItemNameInSocket), GB_ISK11_ItemSocket1, LVar0) - EVT_CALL(SetMessageMsg, LVar0, 0) + EVT_CALL(SetMessageText, LVar0, 0) EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_ISK11_TakeItemPrompt, 160, 40) EVT_CALL(ShowChoice, MSG_Choice_000D) EVT_CALL(CloseMessage) @@ -119,7 +119,7 @@ EvtScript N(EVS_ItemPrompt_Socket2) = { EVT_IF_NE(GB_ISK11_ItemSocket2, 0) EVT_CALL(DisablePlayerInput, TRUE) EVT_CALL(N(GetItemNameInSocket), GB_ISK11_ItemSocket2, LVar0) - EVT_CALL(SetMessageMsg, LVar0, 0) + EVT_CALL(SetMessageText, LVar0, 0) EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_ISK11_TakeItemPrompt, 160, 40) EVT_CALL(ShowChoice, MSG_Choice_000D) EVT_CALL(CloseMessage) @@ -170,7 +170,7 @@ EvtScript N(EVS_ItemPrompt_Socket3) = { EVT_IF_NE(GB_ISK11_ItemSocket3, 0) EVT_CALL(DisablePlayerInput, TRUE) EVT_CALL(N(GetItemNameInSocket), GB_ISK11_ItemSocket3, LVar0) - EVT_CALL(SetMessageMsg, LVar0, 0) + EVT_CALL(SetMessageText, LVar0, 0) EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_ISK11_TakeItemPrompt, 160, 40) EVT_CALL(ShowChoice, MSG_Choice_000D) EVT_CALL(CloseMessage) @@ -221,7 +221,7 @@ EvtScript N(EVS_ItemPrompt_Socket4) = { EVT_IF_NE(GB_ISK11_ItemSocket4, 0) EVT_CALL(DisablePlayerInput, TRUE) EVT_CALL(N(GetItemNameInSocket), GB_ISK11_ItemSocket4, LVar0) - EVT_CALL(SetMessageMsg, LVar0, 0) + EVT_CALL(SetMessageText, LVar0, 0) EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_ISK11_TakeItemPrompt, 160, 40) EVT_CALL(ShowChoice, MSG_Choice_000D) EVT_CALL(CloseMessage) @@ -272,7 +272,7 @@ EvtScript N(EVS_ItemPrompt_Socket5) = { EVT_IF_NE(GB_ISK11_ItemSocket5, 0) EVT_CALL(DisablePlayerInput, TRUE) EVT_CALL(N(GetItemNameInSocket), GB_ISK11_ItemSocket5, LVar0) - EVT_CALL(SetMessageMsg, LVar0, 0) + EVT_CALL(SetMessageText, LVar0, 0) EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_ISK11_TakeItemPrompt, 160, 40) EVT_CALL(ShowChoice, MSG_Choice_000D) EVT_CALL(CloseMessage) diff --git a/src/world/area_isk/isk_16/isk_16_3_boss.c b/src/world/area_isk/isk_16/isk_16_3_boss.c index 4338015b88..a26cab0510 100644 --- a/src/world/area_isk/isk_16/isk_16_3_boss.c +++ b/src/world/area_isk/isk_16/isk_16_3_boss.c @@ -26,10 +26,10 @@ EvtScript N(EVS_Scene_TutankoopaAppears) = { EVT_THREAD EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, TRUE) EVT_WAIT(10) - EVT_CALL(SetNpcAnimation, NPC_PARTNER, 0x00000102) + EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_WALK) EVT_CALL(SetNpcSpeed, NPC_PARTNER, EVT_FLOAT(2.5)) EVT_CALL(NpcMoveTo, NPC_PARTNER, 311, 487, 0) - EVT_CALL(SetNpcAnimation, NPC_PARTNER, 0x00000106) + EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, FALSE) EVT_END_THREAD EVT_CALL(SetPlayerSpeed, EVT_FLOAT(4.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 00d012a731..05a5b38d8c 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 @@ -175,8 +175,8 @@ EvtScript N(EVS_NpcInteract_Whacka_01) = { EvtScript N(EVS_NpcIdle_Whacka_01) = { EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Whacka_Idle) EVT_CALL(GetNpcPos, NPC_SELF, LVarA, LVarB, LVarC) - EVT_CALL(SetNpcPos, NPC_Whacka_01, 0, -1000, 0) - EVT_CALL(SetNpcPos, NPC_Whacka_02, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_Whacka_01, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcPos, NPC_Whacka_02, NPC_DISPOSE_LOCATION) EVT_LABEL(0) EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) EVT_IF_GE(LVar1, 20) @@ -206,9 +206,9 @@ EvtScript N(EVS_NpcIdle_Whacka_01) = { EVT_GOTO(10) EVT_END_IF EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Whacka_Burrow) - EVT_CALL(SetNpcPos, NPC_Whacka_02, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_Whacka_02, NPC_DISPOSE_LOCATION) EVT_WAIT(15) - EVT_CALL(SetNpcPos, NPC_Whacka_01, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_Whacka_01, NPC_DISPOSE_LOCATION) EVT_GOTO(0) EVT_RETURN EVT_END @@ -308,8 +308,8 @@ EvtScript N(EVS_NpcHit_Whacka_02) = { EVT_IF_GE(GB_IWA00_Whacka_HitCount, 8) EVT_CALL(N(func_80240118_90CD58)) EVT_END_IF - EVT_CALL(SetNpcPos, NPC_Whacka_01, 0, -1000, 0) - EVT_CALL(SetNpcPos, NPC_Whacka_02, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_Whacka_01, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcPos, NPC_Whacka_02, NPC_DISPOSE_LOCATION) EVT_CALL(DisablePlayerInput, FALSE) EVT_CALL(RemoveNpc, NPC_Whacka_01) EVT_CALL(RemoveNpc, NPC_Whacka_02) diff --git a/src/world/area_jan/jan_00/jan_00_2_npc.c b/src/world/area_jan/jan_00/jan_00_2_npc.c index cdce391a8b..dad51f9d1a 100644 --- a/src/world/area_jan/jan_00/jan_00_2_npc.c +++ b/src/world/area_jan/jan_00/jan_00_2_npc.c @@ -76,10 +76,10 @@ s32 N(LetterList)[] = { ITEM_NONE }; -EvtScript N(EVS_Kolorado_LetterDelivery) = { +EvtScript N(EVS_LetterPrompt_Kolorado) = { EVT_CALL(N(LetterDelivery_Init), NPC_Kolorado_02, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, - ITEM_LETTER25, 0, + ITEM_LETTER25, ITEM_NONE, MSG_CH5_001D, MSG_CH5_001E, MSG_CH5_001F, MSG_CH5_0020, EVT_PTR(N(LetterList))) EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) @@ -87,12 +87,9 @@ EvtScript N(EVS_Kolorado_LetterDelivery) = { EVT_END }; -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) +EvtScript N(EVS_LetterReward_Kolorado) = { + EVT_IF_EQ(LVarC, DELIVERY_ACCEPTED) + EVT_GIVE_STAR_PIECE() EVT_END_IF EVT_RETURN EVT_END @@ -142,7 +139,7 @@ API_CALLABLE(func_80240B4C_B2108C) { return ApiStatus_DONE2; } -ApiStatus func_80240CF8_B21238(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(func_80240CF8_B21238)) { Bytecode* args = script->ptrReadPos; Npc* npc0 = get_npc_safe(NPC_Whale); Npc* npc1; @@ -209,7 +206,7 @@ ApiStatus func_80240CF8_B21238(Evt* script, s32 isInitialCall) { return ApiStatus_BLOCK; } -ApiStatus func_80240F14_B21454(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(func_80240F14_B21454)) { Bytecode* args = script->ptrReadPos; Npc* npc = get_npc_safe(NPC_Whale); @@ -285,7 +282,7 @@ API_CALLABLE(func_80241134_B21674) { } EvtScript N(D_80242D90_B232D0) = { - EVT_CALL(func_80240CF8_B21238, LVar0) + EVT_CALL(N(func_80240CF8_B21238), LVar0) EVT_RETURN EVT_END }; @@ -346,7 +343,7 @@ EvtScript N(D_80242FA8_B234E8) = { EVT_SET(LVar0, 2) EVT_EXEC_GET_TID(N(D_80242D90_B232D0), LVar5) EVT_END_IF - EVT_CALL(func_80240F14_B21454, 1) + EVT_CALL(N(func_80240F14_B21454), 1) EVT_KILL_THREAD(LVar3) EVT_KILL_THREAD(LVar4) EVT_IF_LT(GB_StoryProgress, STORY_CH5_REACHED_LAVA_LAVA_ISLAND) @@ -376,7 +373,7 @@ EvtScript N(D_80242FA8_B234E8) = { EVT_CALL(PlayerMoveTo, 260, 20, 15) EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) EVT_CALL(func_80240B4C_B2108C, 3, LVar0, LVar1, LVar2) - EVT_CALL(SetNpcAnimation, NPC_PARTNER, 0x00000102) + EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_WALK) EVT_CALL(NpcMoveTo, NPC_PARTNER, LVar0, LVar2, 20) EVT_CALL(SetNpcJumpscale, NPC_PARTNER, EVT_FLOAT(1.0)) EVT_CALL(NpcJump0, NPC_PARTNER, 224, 0, 20, 20) @@ -387,7 +384,7 @@ EvtScript N(D_80242FA8_B234E8) = { EVT_CALL(DisablePartnerAI, 0) EVT_END_IF EVT_CALL(NpcMoveTo, NPC_PARTNER, 230, 20, 10) - EVT_CALL(SetNpcAnimation, NPC_PARTNER, 0x00000106) + EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) EVT_CALL(SetNpcAnimation, NPC_Whale, ANIM_Kolorado_TalkSad) EVT_CALL(SetNpcJumpscale, NPC_Whale, 0) EVT_CALL(NpcJump0, NPC_Whale, 158, -10, -38, 20) @@ -416,7 +413,7 @@ EvtScript N(D_80242FA8_B234E8) = { EVT_CALL(SetNpcSpeed, NPC_Kolorado_02, EVT_FLOAT(6.0)) EVT_CALL(SetNpcAnimation, NPC_Kolorado_02, ANIM_Kolorado_Walk) EVT_CALL(NpcMoveTo, NPC_Kolorado_02, 330, 190, 0) - EVT_CALL(SetNpcPos, NPC_Kolorado_02, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_Kolorado_02, NPC_DISPOSE_LOCATION) EVT_SET(GB_StoryProgress, STORY_CH5_REACHED_LAVA_LAVA_ISLAND) EVT_SETF(LVar9, EVT_FLOAT(4.0)) EVT_ELSE @@ -482,7 +479,7 @@ EvtScript N(EVS_NpcInteract_Kolorado_01) = { EVT_CALL(DisablePartnerAI, 0) EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) - EVT_CALL(SetNpcAnimation, NPC_PARTNER, 0x00000106) + EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) EVT_CALL(GetPlayerPos, LVar3, LVar4, LVar5) EVT_CALL(func_80240B4C_B2108C, 3, LVar0, LVar1, LVar2) EVT_CALL(SetPlayerJumpscale, EVT_FLOAT(0.5)) @@ -492,19 +489,19 @@ EvtScript N(EVS_NpcInteract_Kolorado_01) = { EVT_CALL(InterpPlayerYaw, 90, 0) EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) EVT_THREAD - EVT_CALL(func_80240CF8_B21238, 0) + EVT_CALL(N(func_80240CF8_B21238), 0) EVT_END_THREAD EVT_CALL(NpcMoveTo, NPC_PARTNER, LVar3, LVar5, 20) EVT_CALL(func_80240B4C_B2108C, 3, LVar0, LVar1, LVar2) - EVT_CALL(SetNpcAnimation, NPC_PARTNER, 0x00000102) + EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_WALK) EVT_CALL(SetNpcJumpscale, NPC_PARTNER, EVT_FLOAT(0.5)) EVT_CALL(NpcJump0, NPC_PARTNER, LVar0, LVar1, LVar2, 18) EVT_CALL(func_80240B4C_B2108C, 1, LVar0, LVar1, LVar2) EVT_CALL(NpcMoveTo, NPC_PARTNER, LVar0, LVar2, 18) - EVT_CALL(SetNpcAnimation, NPC_PARTNER, 0x00000106) + EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) EVT_CALL(InterpNpcYaw, NPC_PARTNER, 90, 0) EVT_THREAD - EVT_CALL(func_80240CF8_B21238, 1) + EVT_CALL(N(func_80240CF8_B21238), 1) EVT_END_THREAD EVT_IF_EQ(GB_StoryProgress, STORY_CH5_TRADED_VASE_FOR_SEED) EVT_CALL(SetNpcAnimation, NPC_Kolorado_02, ANIM_Kolorado_Walk) @@ -525,7 +522,7 @@ EvtScript N(EVS_NpcInteract_Kolorado_01) = { EVT_CALL(SetNpcAnimation, NPC_Kolorado_02, ANIM_Kolorado_Idle) EVT_CALL(InterpNpcYaw, NPC_Kolorado_02, 90, 0) EVT_THREAD - EVT_CALL(func_80240CF8_B21238, 2) + EVT_CALL(N(func_80240CF8_B21238), 2) EVT_END_THREAD EVT_CALL(SpeakToPlayer, NPC_Kolorado_02, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, 0, MSG_CH5_0007) EVT_END_IF @@ -542,12 +539,12 @@ EvtScript N(EVS_NpcInteract_Kolorado_01) = { EVT_END_IF EVT_END_LOOP EVT_EXEC(N(D_802437C4_B23D04)) - EVT_CALL(func_80240F14_B21454, 0) + EVT_CALL(N(func_80240F14_B21454), 0) EVT_CALL(EnableGroup, MODEL_kujira, FALSE) EVT_ELSE EVT_LABEL(90) EVT_EXEC(N(D_802437C4_B23D04)) - EVT_CALL(func_80240F14_B21454, 0) + EVT_CALL(N(func_80240F14_B21454), 0) EVT_CALL(EnableGroup, MODEL_kujira, FALSE) EVT_CALL(GotoMap, EVT_PTR("mac_06"), mac_06_ENTRY_1) EVT_WAIT(100) @@ -569,7 +566,7 @@ EvtScript N(EVS_NpcInit_Kolorado_01) = { EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) EVT_CALL(SetNpcYaw, NPC_PARTNER, 90) - EVT_CALL(SetNpcAnimation, NPC_PARTNER, 0x00000106) + EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Kolorado_01))) EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Kolorado_01))) EVT_ELSE @@ -583,8 +580,8 @@ EvtScript N(EVS_NpcInit_Kolorado_01) = { EvtScript N(EVS_NpcInteract_Kolorado_02) = { EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_100, TRUE) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, 0, MSG_CH5_0006) - EVT_EXEC_WAIT(N(EVS_Kolorado_LetterDelivery)) - EVT_EXEC_WAIT(N(EVS_Kolorado_LetterReward)) + EVT_EXEC_WAIT(N(EVS_LetterPrompt_Kolorado)) + EVT_EXEC_WAIT(N(EVS_LetterReward_Kolorado)) EVT_RETURN EVT_END }; diff --git a/src/world/area_jan/jan_00/jan_00_4_whale.c b/src/world/area_jan/jan_00/jan_00_4_whale.c index aca969057d..1732fdcf6f 100644 --- a/src/world/area_jan/jan_00/jan_00_4_whale.c +++ b/src/world/area_jan/jan_00/jan_00_4_whale.c @@ -7,7 +7,7 @@ s32 N(unkAngle3) = -1; #include "world/common/atomic/WhaleAnim.inc.c" -ApiStatus jan_00_UnkPlayerPosFunc(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(UnkPlayerPosFunc)) { Npc* player = get_npc_safe(ACTOR_PLAYER); f32 yaw = -player->yaw; f32 x = player->pos.x + 30.0f + (sin_deg(yaw) * 170.0f); diff --git a/src/world/area_kgr/kgr_01/kgr_01_2_wiggle.c b/src/world/area_kgr/kgr_01/kgr_01_2_wiggle.c index 1f9a98a61a..34dfdc5d93 100644 --- a/src/world/area_kgr/kgr_01/kgr_01_2_wiggle.c +++ b/src/world/area_kgr/kgr_01/kgr_01_2_wiggle.c @@ -71,7 +71,7 @@ void N(make_tongue_gfx)(s32 index) { // stores the effective height offset of the tongue at a point given by Var0/Var1/Var2 // in Var0. this value is the offset from a neutral position used for collision, // ignoring minor undulations and deformation imposed by the player. -ApiStatus N(GetEffectiveTongueOffset)(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(GetEffectiveTongueOffset)) { f32 amplitude = 2.0f * sin_rad( (f32)script->varTable[0] * 0.06 + (f32)script->varTable[2] * 0.03f + diff --git a/src/world/area_kgr/kgr_01/kgr_01_3_extra.c b/src/world/area_kgr/kgr_01/kgr_01_3_extra.c index c297cefa18..ffc6959d0a 100644 --- a/src/world/area_kgr/kgr_01/kgr_01_3_extra.c +++ b/src/world/area_kgr/kgr_01/kgr_01_3_extra.c @@ -1,6 +1,6 @@ #include "kgr_01.h" -ApiStatus N(HasBombetteExploded)(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(HasBombetteExploded)) { if (gCollisionStatus.bombetteExploded >= 0) { script->varTable[1] = TRUE; } diff --git a/src/world/area_kgr/kgr_02/kgr_02_3_npc.c b/src/world/area_kgr/kgr_02/kgr_02_3_npc.c index ba6d55ed80..c358c27acc 100644 --- a/src/world/area_kgr/kgr_02/kgr_02_3_npc.c +++ b/src/world/area_kgr/kgr_02/kgr_02_3_npc.c @@ -1,6 +1,6 @@ #include "kgr_02.h" -ApiStatus N(AwaitPartnerWatt)(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(AwaitPartnerWatt)) { if (gPartnerActionStatus.actingPartner == PARTNER_WATT) { return ApiStatus_DONE2; } else { @@ -8,7 +8,7 @@ ApiStatus N(AwaitPartnerWatt)(Evt* script, s32 isInitialCall) { } } -ApiStatus N(AwaitPartnerNotWatt)(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(AwaitPartnerNotWatt)) { if (gPartnerActionStatus.actingPartner != PARTNER_WATT) { return ApiStatus_DONE2; } else { diff --git a/src/world/area_kgr/kgr_02/kgr_02_4_extra.c b/src/world/area_kgr/kgr_02/kgr_02_4_extra.c index 56c61afb46..c42dd89ba0 100644 --- a/src/world/area_kgr/kgr_02/kgr_02_4_extra.c +++ b/src/world/area_kgr/kgr_02/kgr_02_4_extra.c @@ -1,6 +1,6 @@ #include "kgr_02.h" -ApiStatus N(HasBombetteExploded)(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(HasBombetteExploded)) { if (gCollisionStatus.bombetteExploded >= 0) { script->varTable[1] = TRUE; } diff --git a/src/world/area_kkj/kkj_17/AF1C60.c b/src/world/area_kkj/kkj_17/AF1C60.c index e5383a8356..351d985044 100644 --- a/src/world/area_kkj/kkj_17/AF1C60.c +++ b/src/world/area_kkj/kkj_17/AF1C60.c @@ -17,9 +17,8 @@ static char* N(exit_str_1) = ""; ApiStatus func_802402BC_AF1F1C(Evt* script, s32 isInitialCall) { PopupMenu *menu; - s32 numEntries; + s32 menuIdx; s32 index; - s32 temp; s32 var1; s32 var2; s32 i; @@ -39,28 +38,28 @@ ApiStatus func_802402BC_AF1F1C(Evt* script, s32 isInitialCall) { menu->popupType = POPUP_MENU_TAKE_FROM_CHEST; } - numEntries = 0; + menuIdx = 0; for (i = 0; i < ARRAY_COUNT(D_8024092C_AF258C); i++) { var1 = evt_get_variable(NULL, script->varTable[1] + i); var2 = evt_get_variable(NULL, script->varTable[2] + i); if ((var1 != 0) && (var2 == 0)) { ItemData* item = &gItemTable[D_8024092C_AF258C[i]]; IconHudScriptPair* itemHudScripts = &gItemHudScripts[item->hudElemID]; - menu->ptrIcon[numEntries] = itemHudScripts->enabled; - menu->userIndex[numEntries] = i; - menu->enabled[numEntries] = TRUE; - menu->nameMsg[numEntries] = item->nameMsg; - menu->descMsg[numEntries] = item->shortDescMsg; - numEntries++; + menu->ptrIcon[menuIdx] = itemHudScripts->enabled; + menu->userIndex[menuIdx] = i; + menu->enabled[menuIdx] = TRUE; + menu->nameMsg[menuIdx] = item->nameMsg; + menu->descMsg[menuIdx] = item->shortDescMsg; + menuIdx++; } } - if (numEntries == 0) { + if (menuIdx == 0) { script->varTable[0] = 0; return ApiStatus_DONE1; } - menu->numEntries = numEntries; + menu->numEntries = menuIdx; menu->initialPos = 0; create_popup_menu(menu); script->functionTemp[0] = 0; @@ -82,11 +81,10 @@ ApiStatus func_802402BC_AF1F1C(Evt* script, s32 isInitialCall) { destroy_popup_menu(); - temp = script->functionTemp[1]; - if (temp == 255) { + if (script->functionTemp[1] == 255) { script->varTable[0] = -1; } else { - index = menu->userIndex[temp - 1]; + index = menu->userIndex[script->functionTemp[1] - 1]; script->varTable[0] = D_8024092C_AF258C[index]; if (script->varTable[10] == 0) { evt_set_variable(NULL, script->varTable[2] + index, 1); diff --git a/src/world/area_kmr/kmr_02/kmr_02_3_npc.c b/src/world/area_kmr/kmr_02/kmr_02_3_npc.c index e2d0a16bd5..db946fbfaf 100644 --- a/src/world/area_kmr/kmr_02/kmr_02_3_npc.c +++ b/src/world/area_kmr/kmr_02/kmr_02_3_npc.c @@ -96,7 +96,7 @@ s32 N(LetterList_Goompapa)[] = { ITEM_NONE }; -EvtScript N(EVS_LetterCheck_Goompapa) = { +EvtScript N(EVS_LetterPrompt_Goompapa) = { EVT_CALL(N(LetterDelivery_Init), NPC_Goompapa, ANIM_Goompapa_Talk, ANIM_Goompapa_Idle, ITEM_LETTER24, ITEM_NONE, @@ -108,7 +108,7 @@ EvtScript N(EVS_LetterCheck_Goompapa) = { }; EvtScript N(EVS_LetterReward_Goompapa) = { - EVT_IF_EQ(LVarC, 2) + EVT_IF_EQ(LVarC, DELIVERY_ACCEPTED) EVT_GIVE_BADGE_REWARD(ITEM_LUCKY_DAY) EVT_END_IF EVT_RETURN @@ -120,7 +120,7 @@ s32 N(LetterList_Goompa)[] = { ITEM_NONE }; -EvtScript N(EVS_LetterCheck_Goompa) = { +EvtScript N(EVS_LetterPrompt_Goompa) = { EVT_CALL(N(LetterDelivery_Init), NPC_Goompa, ANIM_Goompa_Talk, ANIM_Goompa_Idle, ITEM_LETTER02, ITEM_NONE, @@ -132,7 +132,7 @@ EvtScript N(EVS_LetterCheck_Goompa) = { }; EvtScript N(EVS_LetterReward_Goompa) = { - EVT_IF_EQ(LVarC, 2) + EVT_IF_EQ(LVarC, DELIVERY_ACCEPTED) EVT_GIVE_STAR_PIECE() EVT_END_IF EVT_RETURN @@ -933,9 +933,9 @@ EvtScript N(EVS_NpcInteract_Goompa) = { EVT_CALL(EnablePartnerAI) EVT_END_IF EVT_END_SWITCH - EVT_EXEC_WAIT(N(EVS_LetterCheck_Goompa)) + EVT_EXEC_WAIT(N(EVS_LetterPrompt_Goompa)) EVT_EXEC_WAIT(N(EVS_LetterReward_Goompa)) - EVT_IF_NE(LVarC, 0) + EVT_IF_NE(LVarC, DELIVERY_NOT_POSSIBLE) EVT_RETURN EVT_END_IF EVT_EXEC_WAIT(N(EVS_KootFavorCheck_Goompa)) @@ -1085,7 +1085,7 @@ EvtScript N(EVS_NpcInteract_Goompapa) = { EVT_IF_NE(LVarC, 0) EVT_RETURN EVT_END_IF - EVT_EXEC_WAIT(N(EVS_LetterCheck_Goompapa)) + EVT_EXEC_WAIT(N(EVS_LetterPrompt_Goompapa)) EVT_EXEC_WAIT(N(EVS_LetterReward_Goompapa)) EVT_IF_NE(LVarC, 0) EVT_RETURN @@ -1358,7 +1358,7 @@ EvtScript N(EVS_NpcInteract_Toad) = { #include "world/common/todo/SyncStatusMenu.inc.c" NOP_FIX // TODO figure out BSS nop issue -ApiStatus func_8024295C_8B29CC(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(func_8024295C_8B29CC)) { Bytecode* args = script->ptrReadPos; s32 targetColR = evt_get_variable(script, *args++); s32 targetColG = evt_get_variable(script, *args++); @@ -1464,7 +1464,7 @@ EvtScript N(EVS_Scene_EldstarsPlea) = { EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) EVT_CALL(N(func_80242BA8_8B2C18)) - EVT_CALL(func_8024295C_8B29CC, 0, 0, 0, 255, 0) + EVT_CALL(N(func_8024295C_8B29CC), 0, 0, 0, 255, 0) EVT_CALL(N(func_80242F08_8B2F78)) EVT_CALL(N(func_80242BC0_8B2C30), 30, 30, 30, 0, 0, 0, 0) EVT_CALL(SetGroupEnabled, MODEL_Root, 0) 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 558d8e9316..9322f9da4e 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 @@ -27,7 +27,7 @@ FoliageVectorList N(Tree1_Effects) = { } }; -EvtScript N(EVS_Tree1_CallbackScript) = { +EvtScript N(EVS_OnShakeTree1) = { EVT_IF_EQ(GF_KMR03_Tree1_Mushroom, TRUE) EVT_RETURN EVT_END_IF @@ -50,7 +50,7 @@ ShakeTreeConfig N(ShakeTree_Tree1) = { .leaves = &N(Tree1_LeafModels), .trunk = &N(Tree1_TrunkModels), .vectors = &N(Tree1_Effects), - .callback = &N(EVS_Tree1_CallbackScript), + .callback = &N(EVS_OnShakeTree1), }; BombTrigger N(BombPos_Tree1) = { diff --git a/src/world/area_kmr/kmr_04/kmr_04_3_npc.c b/src/world/area_kmr/kmr_04/kmr_04_3_npc.c index c9fb1c725b..8ee8fa0687 100644 --- a/src/world/area_kmr/kmr_04/kmr_04_3_npc.c +++ b/src/world/area_kmr/kmr_04/kmr_04_3_npc.c @@ -10,7 +10,7 @@ NpcSettings N(NpcSettings_JrTroopa) = { EvtScript N(EVS_NpcAuxAI_Goompa) = { EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_GRAVITY, FALSE) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40, TRUE) - EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) EVT_RETURN EVT_END @@ -250,7 +250,7 @@ NpcSettings N(NpcSettings_Goompa) = { }; EvtScript N(EVS_NpcInit_JrTroopa) = { - EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_JrTroopa))) EVT_CALL(BindNpcDefeat, NPC_SELF, EVT_PTR(N(EVS_NpcDefeat_JrTroopa))) diff --git a/src/world/area_kmr/kmr_04/kmr_04_5_foliage.c b/src/world/area_kmr/kmr_04/kmr_04_5_foliage.c index db685d4685..7f52799c55 100644 --- a/src/world/area_kmr/kmr_04/kmr_04_5_foliage.c +++ b/src/world/area_kmr/kmr_04/kmr_04_5_foliage.c @@ -397,7 +397,7 @@ BombTrigger N(BombPos_Tree2) = { .radius = 0.0f }; -EvtScript N(Tree3_CallbackScript) = { +EvtScript N(EVS_OnShakeTree3) = { EVT_IF_EQ(GF_KMR04_Tree3_Dolly, TRUE) EVT_RETURN EVT_END_IF @@ -443,7 +443,7 @@ ShakeTreeConfig N(ShakeTree_Tree3) = { .leaves = &N(Tree3_LeafModels), .trunk = &N(Tree3_TrunkModels), .vectors = &N(Tree3_Effects), - .callback = &N(Tree3_CallbackScript), + .callback = &N(EVS_OnShakeTree3), }; BombTrigger N(BombPos_Tree3) = { 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 c3a4f27a37..62ab497ac1 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 @@ -33,7 +33,7 @@ FoliageVectorList N(Tree1_Effects) = { } }; -EvtScript N(EVS_Tree1_CallbackScript) = { +EvtScript N(EVS_OnShakeTree1) = { EVT_IF_EQ(GF_KMR05_Tree1_Coin, TRUE) EVT_RETURN EVT_END_IF @@ -56,7 +56,7 @@ ShakeTreeConfig N(ShakeTree_Tree1) = { .leaves = &N(Tree1_LeafModels), .trunk = &N(Tree1_TrunkModels), .vectors = &N(Tree1_Effects), - .callback = &N(EVS_Tree1_CallbackScript), + .callback = &N(EVS_OnShakeTree1), }; BombTrigger N(BombPos_Tree1) = { diff --git a/src/world/area_kmr/kmr_07/kmr_07_3_npc.c b/src/world/area_kmr/kmr_07/kmr_07_3_npc.c index a24db3c4b7..0af232ae88 100644 --- a/src/world/area_kmr/kmr_07/kmr_07_3_npc.c +++ b/src/world/area_kmr/kmr_07/kmr_07_3_npc.c @@ -134,7 +134,7 @@ EvtScript N(EVS_NpcDefeat_GoombaBros_Red) = { 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_CALL(SetNpcPos, NPC_GoombaBros_Blue, NPC_DISPOSE_LOCATION) EVT_WAIT(1) EVT_END_THREAD EVT_WAIT(30) @@ -152,7 +152,7 @@ EvtScript N(EVS_NpcDefeat_GoombaBros_Red) = { 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_CALL(SetNpcPos, NPC_GoombaBros_Red, NPC_DISPOSE_LOCATION) EVT_WAIT(1) EVT_EXEC(N(EVS_SetupMusic)) EVT_SET(MV_GoombaBrosDefeated, TRUE) diff --git a/src/world/area_kmr/kmr_10/kmr_10.h b/src/world/area_kmr/kmr_10/kmr_10.h index c66359aa89..90bddee0ad 100644 --- a/src/world/area_kmr/kmr_10/kmr_10.h +++ b/src/world/area_kmr/kmr_10/kmr_10.h @@ -25,5 +25,5 @@ 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 EvtScript N(EVS_OnShakeTree1); extern NpcGroupList N(DefaultNPCs); 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 index 9c5b2321df..25715e5cca 100644 --- a/src/world/area_kmr/kmr_10/kmr_10_4_entity.c +++ b/src/world/area_kmr/kmr_10/kmr_10_4_entity.c @@ -19,7 +19,7 @@ API_CALLABLE(N(SetSpringPosition)) { return ApiStatus_DONE2; } -EvtScript N(EVS_Tree1_CallbackScript) = { +EvtScript N(EVS_OnShakeTree1) = { EVT_WAIT(15) EVT_IF_EQ(GF_KMR10_KnockedSpringOutOfTree, FALSE) EVT_SET(GF_KMR10_KnockedSpringOutOfTree, TRUE) 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 index 612f4c3d8b..052541b282 100644 --- a/src/world/area_kmr/kmr_10/kmr_10_5_foliage.c +++ b/src/world/area_kmr/kmr_10/kmr_10_5_foliage.c @@ -31,7 +31,7 @@ ShakeTreeConfig N(ShakeTree_Tree1) = { .leaves = &N(Tree1_LeafModels), .trunk = &N(Tree1_TrunkModels), .vectors = &N(Tree1_Effects), - .callback = &N(EVS_Tree1_CallbackScript), + .callback = &N(EVS_OnShakeTree1), }; BombTrigger N(BombPos_Tree1) = { diff --git a/src/world/area_kmr/kmr_11/kmr_11_3_scenes.c b/src/world/area_kmr/kmr_11/kmr_11_3_scenes.c index 3312bb3d08..ec3696a545 100644 --- a/src/world/area_kmr/kmr_11/kmr_11_3_scenes.c +++ b/src/world/area_kmr/kmr_11/kmr_11_3_scenes.c @@ -36,7 +36,7 @@ EvtScript N(EVS_GoombaKingBlastoff) = { EVT_CALL(NpcJump0, NPC_GoombaKing, -1600, 1000, -1600, 150) EVT_CALL(PlaySoundAt, SOUND_55, 0, -1600, 1000, -1600) EVT_CALL(N(MakeLensFlare), -1600, 1000, -1600, 40) - EVT_CALL(SetNpcPos, NPC_GoombaKing, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_GoombaKing, NPC_DISPOSE_LOCATION) EVT_CALL(RemoveNpc, NPC_GoombaKing) EVT_RETURN EVT_END diff --git a/src/world/area_kmr/kmr_11/kmr_11_5_entity.c b/src/world/area_kmr/kmr_11/kmr_11_5_entity.c index 5d2f55722d..56aee266e5 100644 --- a/src/world/area_kmr/kmr_11/kmr_11_5_entity.c +++ b/src/world/area_kmr/kmr_11/kmr_11_5_entity.c @@ -55,7 +55,7 @@ EvtScript N(EVS_Interact_SwitchBush) = { EVT_CALL(SetNpcJumpscale, NPC_BlueGoombaBro, EVT_FLOAT(2.0)) EVT_CALL(NpcJump0, NPC_BlueGoombaBro, -469, 0, 92, 7) EVT_KILL_THREAD(LVarB) - EVT_CALL(SetNpcPos, NPC_BlueGoombaBro, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_BlueGoombaBro, NPC_DISPOSE_LOCATION) EVT_SET(GB_StoryProgress, STORY_CH0_FOUND_GATEHOUSE_SWITCH) EVT_CALL(DisablePlayerInput, FALSE) EVT_RETURN 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 index 69fa73ac6a..6eebab7850 100644 --- a/src/world/area_kmr/kmr_21/kmr_21_1_main.c +++ b/src/world/area_kmr/kmr_21/kmr_21_1_main.c @@ -136,7 +136,7 @@ EvtScript N(EVS_Main) = { 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_CALL(SetNpcPos, NPC_PARTNER, NPC_DISPOSE_LOCATION) EVT_END_IF EVT_CALL(SetSpriteShading, SHADING_NONE) EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, 25, 16, 4096) diff --git a/src/world/area_kmr/kmr_22/kmr_22_1_main.c b/src/world/area_kmr/kmr_22/kmr_22_1_main.c index ae9f89c59a..ba2bd60e6e 100644 --- a/src/world/area_kmr/kmr_22/kmr_22_1_main.c +++ b/src/world/area_kmr/kmr_22/kmr_22_1_main.c @@ -140,7 +140,7 @@ EvtScript N(EVS_Main) = { 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_CALL(SetNpcPos, NPC_PARTNER, NPC_DISPOSE_LOCATION) EVT_END_IF EVT_CALL(SetSpriteShading, SHADING_NONE) EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, 25, 16, 4096) diff --git a/src/world/area_kzn/common/LavaGlowLighting.inc.c b/src/world/area_kzn/common/LavaGlowLighting.inc.c index 1b7e5c1678..d445dafbfd 100644 --- a/src/world/area_kzn/common/LavaGlowLighting.inc.c +++ b/src/world/area_kzn/common/LavaGlowLighting.inc.c @@ -13,7 +13,7 @@ enum { f32 N(LavaGlowLightTime) = 0.0f; -ApiStatus N(ApplyLavaGlowLighting)(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(ApplyLavaGlowLighting)) { PlayerStatus* playerStatus = &gPlayerStatus; Bytecode* args = script->ptrReadPos; s32 glowMode = evt_get_variable(script, *args++); @@ -87,7 +87,7 @@ ApiStatus N(ApplyLavaGlowLighting)(Evt* script, s32 isInitialCall) { return ApiStatus_BLOCK; } -ApiStatus N(ClearLavaGlowLighting)(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(ClearLavaGlowLighting)) { Bytecode* args = script->ptrReadPos; ModelIDList* modelIDs = (ModelIDList*) evt_get_variable(script, *args++); s32 i; diff --git a/src/world/area_kzn/common/SpinyTromp.inc.c b/src/world/area_kzn/common/SpinyTromp.inc.c index 58672cb57a..a132620abd 100644 --- a/src/world/area_kzn/common/SpinyTromp.inc.c +++ b/src/world/area_kzn/common/SpinyTromp.inc.c @@ -1,12 +1,12 @@ #include "common.h" #include "world/area_kzn/kzn.h" -ApiStatus N(SpinyTrompHit)(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(SpinyTrompHit)) { subtract_hp(1); return ApiStatus_DONE2; } -ApiStatus N(SpinyTromp_GetActingPartner)(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(SpinyTromp_GetActingPartner)) { if (gPartnerActionStatus.partnerActionState != PARTNER_ACTION_NONE) { script->varTable[0] = gPartnerActionStatus.actingPartner; } else { diff --git a/src/world/area_kzn/kzn_02/kzn_02_4_demo.c b/src/world/area_kzn/kzn_02/kzn_02_4_demo.c index db6bf1a5f3..cfdaa1cd32 100644 --- a/src/world/area_kzn/kzn_02/kzn_02_4_demo.c +++ b/src/world/area_kzn/kzn_02/kzn_02_4_demo.c @@ -49,18 +49,18 @@ EvtScript N(EVS_MonitorDemoState) = { EVT_END }; -s32 N(DemoSceneState) = 0; +s32 N(DemoInitState) = 0; API_CALLABLE(N(SetupDemoScene)) { PlayerStatus* playerStatus = &gPlayerStatus; - switch (N(DemoSceneState)) { + switch (N(DemoInitState)) { case 0: - N(DemoSceneState) = 1; + N(DemoInitState) = 1; break; case 1: case 2: - N(DemoSceneState)++; + N(DemoInitState)++; break; case 3: partner_clear_player_tracking(wPartnerNpc); 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 35c3c97264..45198ec686 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 @@ -101,12 +101,12 @@ 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_Kolorado1_LetterPrompt)) - EVT_EXEC_WAIT(N(EVS_Kolorado_LetterReward)) + EVT_EXEC_WAIT(N(EVS_LetterPrompt_Kolorado1)) + EVT_EXEC_WAIT(N(EVS_LetterReward_Kolorado)) EVT_ELSE EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Talk, ANIM_Kolorado_HurtStill, 5, MSG_CH5_00FA) - EVT_EXEC_WAIT(N(EVS_Kolorado2_LetterPrompt)) - EVT_EXEC_WAIT(N(EVS_Kolorado_LetterReward)) + EVT_EXEC_WAIT(N(EVS_LetterPrompt_Kolorado2)) + EVT_EXEC_WAIT(N(EVS_LetterReward_Kolorado)) EVT_END_IF EVT_RETURN EVT_END diff --git a/src/world/area_mac/mac_00/npc/dojo_members.inc.c b/src/world/area_mac/mac_00/npc/dojo_members.inc.c index dbb01aa499..959dff0881 100644 --- a/src/world/area_mac/mac_00/npc/dojo_members.inc.c +++ b/src/world/area_mac/mac_00/npc/dojo_members.inc.c @@ -6,7 +6,7 @@ s32 N(DojoBattleIDs)[] = { BTL_MAC_FORMATION_04 }; -ApiStatus N(SetDojoBattle)(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(SetDojoBattle)) { Enemy* enemy = script->owner1.enemy; s32 battleIndex = evt_get_variable(script, GB_MAC00_DojoRank); diff --git a/src/world/area_mac/mac_00/npc/russ_and_thief.inc.c b/src/world/area_mac/mac_00/npc/russ_and_thief.inc.c index fa97a629e4..199be4bd68 100644 --- a/src/world/area_mac/mac_00/npc/russ_and_thief.inc.c +++ b/src/world/area_mac/mac_00/npc/russ_and_thief.inc.c @@ -3,7 +3,7 @@ s32 N(LetterList_RussT)[] = { ITEM_NONE }; -EvtScript N(EVS_RussT_LetterPrompt) = { +EvtScript N(EVS_LetterPrompt_RussT) = { EVT_CALL(N(LetterDelivery_Init), NPC_RussT, ANIM_RussT_Talk, ANIM_RussT_Idle, ITEM_LETTER04, ITEM_NONE, @@ -14,12 +14,9 @@ EvtScript N(EVS_RussT_LetterPrompt) = { EVT_END }; -EvtScript N(EVS_RussT_LetterReward) = { - EVT_IF_EQ(LVarC, 2) - EVT_SET(LVar0, ITEM_STAR_PIECE) - EVT_SET(LVar1, ITEM_TYPE_STAR_PIECE) - EVT_EXEC_WAIT(N(GiveKeyReward)) - EVT_CALL(AddStarPieces, 1) +EvtScript N(EVS_LetterReward_RussT) = { + EVT_IF_EQ(LVarC, DELIVERY_ACCEPTED) + EVT_GIVE_STAR_PIECE() EVT_END_IF EVT_RETURN EVT_END @@ -347,8 +344,8 @@ EvtScript N(EVS_NpcInteract_RussT) = { EVT_IF_GE(GB_StoryProgress, STORY_CH3_STAR_SPRIT_DEPARTED) EVT_IF_EQ(GF_MAC00_DictionaryReturned, FALSE) EVT_EXEC_WAIT(N(EVS_ItemPrompt_Dictionary)) - EVT_EXEC_WAIT(N(EVS_RussT_LetterPrompt)) - EVT_EXEC_WAIT(N(EVS_RussT_LetterReward)) + EVT_EXEC_WAIT(N(EVS_LetterPrompt_RussT)) + EVT_EXEC_WAIT(N(EVS_LetterReward_RussT)) EVT_IF_NE(LVarC, 0) EVT_RETURN EVT_END_IF @@ -360,8 +357,8 @@ EvtScript N(EVS_NpcInteract_RussT) = { EVT_END_IF EVT_END_IF EVT_EXEC_WAIT(N(EVS_RussT_GetHint)) - EVT_EXEC_WAIT(N(EVS_RussT_LetterPrompt)) - EVT_EXEC_WAIT(N(EVS_RussT_LetterReward)) + EVT_EXEC_WAIT(N(EVS_LetterPrompt_RussT)) + EVT_EXEC_WAIT(N(EVS_LetterReward_RussT)) EVT_IF_NE(LVarC, 0) EVT_RETURN EVT_END_IF diff --git a/src/world/area_mac/mac_01/mac_01_9_npc.c b/src/world/area_mac/mac_01/mac_01_9_npc.c index 3934c2a0b6..6844bfbbba 100644 --- a/src/world/area_mac/mac_01/mac_01_9_npc.c +++ b/src/world/area_mac/mac_01/mac_01_9_npc.c @@ -60,7 +60,7 @@ EvtScript N(EVS_LetterPrompt_Merlon) = { }; EvtScript N(EVS_LetterReward_Merlon) = { - EVT_IF_EQ(LVarC, 2) + EVT_IF_EQ(LVarC, DELIVERY_ACCEPTED) EVT_GIVE_STAR_PIECE() EVT_CALL(InterpNpcYaw, NPC_Merlon, 135, 0) EVT_END_IF @@ -85,7 +85,7 @@ EvtScript N(EVS_LetterPrompt_MinhT) = { }; EvtScript N(EVS_LetterReward_MinhT) = { - EVT_IF_EQ(LVarC, 2) + EVT_IF_EQ(LVarC, DELIVERY_ACCEPTED) EVT_GIVE_STAR_PIECE() EVT_END_IF EVT_RETURN @@ -109,7 +109,7 @@ EvtScript N(EVS_LetterPrompt_Kolorado) = { }; EvtScript N(EVS_LetterReward_Kolorado) = { - EVT_IF_EQ(LVarC, 2) + EVT_IF_EQ(LVarC, DELIVERY_ACCEPTED) EVT_GIVE_STAR_PIECE() EVT_END_IF EVT_RETURN diff --git a/src/world/area_mac/mac_02/npc/bootler.inc.c b/src/world/area_mac/mac_02/npc/bootler.inc.c index 4aec74f37e..4d223695fc 100644 --- a/src/world/area_mac/mac_02/npc/bootler.inc.c +++ b/src/world/area_mac/mac_02/npc/bootler.inc.c @@ -40,7 +40,7 @@ EvtScript N(EVS_NpcIdle_Bootler) = { EVT_CALL(SetNpcSpeed, NPC_SELF, EVT_FLOAT(3.0)) EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_293, 0) EVT_CALL(NpcMoveTo, NPC_SELF, 580, -40, 0) - EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_END_THREAD EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 430, 1, 35) EVT_CALL(SetPanTarget, CAM_DEFAULT, 430, 1, 35) @@ -98,7 +98,7 @@ EvtScript N(EVS_NpcIdle_Bootler) = { EVT_EXEC_WAIT(N(D_8024ACA4_82DF64)) EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_293, 0) EVT_CALL(NpcFlyTo, NPC_SELF, 550, 40, 10, 40, 10, EASING_LINEAR) - EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_CALL(SpeakToPlayer, NPC_FiceT, ANIM_FiceT_Afraid, ANIM_FiceT_Afraid, 5, MSG_MAC_Bridge_0028) EVT_WAIT(10) EVT_CALL(InterpPlayerYaw, 90, 0) diff --git a/src/world/area_mac/mac_02/npc/fice_t.inc.c b/src/world/area_mac/mac_02/npc/fice_t.inc.c index cd5b606f2b..801b92c314 100644 --- a/src/world/area_mac/mac_02/npc/fice_t.inc.c +++ b/src/world/area_mac/mac_02/npc/fice_t.inc.c @@ -3,7 +3,7 @@ s32 N(LetterList_FiceT)[] = { ITEM_NONE }; -EvtScript N(D_8024A8C8_82DB88) = { +EvtScript N(EVS_LetterPrompt_FiceT) = { EVT_CALL(N(LetterDelivery_Init), NPC_FiceT, ANIM_FiceT_Talk, ANIM_FiceT_Idle, ITEM_LETTER07, ITEM_NONE, @@ -14,8 +14,8 @@ EvtScript N(D_8024A8C8_82DB88) = { EVT_END }; -EvtScript N(D_8024A918_82DBD8) = { - EVT_IF_EQ(LVarC, 2) +EvtScript N(EVS_LetterReward_FiceT) = { + EVT_IF_EQ(LVarC, DELIVERY_ACCEPTED) EVT_CALL(SpeakToPlayer, NPC_FiceT, ANIM_FiceT_Talk, ANIM_FiceT_Idle, 0, MSG_MAC_Bridge_0039) EVT_CALL(SetNpcAnimation, NPC_FiceT, ANIM_FiceT_Afraid) EVT_CALL(EndSpeech, NPC_FiceT, ANIM_FiceT_Afraid, ANIM_FiceT_Afraid, 0) @@ -61,9 +61,9 @@ EvtScript N(EVS_NpcInteract_FiceT) = { EVT_CALL(SpeakToPlayer, NPC_FiceT, ANIM_FiceT_Afraid, ANIM_FiceT_Afraid, 0, LVar0) EVT_END_IF EVT_END_IF - EVT_EXEC_WAIT(N(D_8024A8C8_82DB88)) - EVT_EXEC_WAIT(N(D_8024A918_82DBD8)) - EVT_IF_NE(LVarC, 0) + EVT_EXEC_WAIT(N(EVS_LetterPrompt_FiceT)) + EVT_EXEC_WAIT(N(EVS_LetterReward_FiceT)) + EVT_IF_NE(LVarC, DELIVERY_NOT_POSSIBLE) EVT_RETURN EVT_END_IF EVT_RETURN diff --git a/src/world/area_mac/mac_02/npc/shyguy_thief.inc.c b/src/world/area_mac/mac_02/npc/shyguy_thief.inc.c index 9273fb46ac..562483a5da 100644 --- a/src/world/area_mac/mac_02/npc/shyguy_thief.inc.c +++ b/src/world/area_mac/mac_02/npc/shyguy_thief.inc.c @@ -69,7 +69,7 @@ EvtScript N(D_8024B6E8_82E9A8) = { EVT_CALL(NpcMoveTo, NPC_ShyGuy, -190, -20, 0) EVT_CALL(NpcMoveTo, NPC_ShyGuy, -350, -20, 0) EVT_KILL_THREAD(LVarA) - EVT_CALL(SetNpcPos, NPC_ShyGuy, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_ShyGuy, NPC_DISPOSE_LOCATION) EVT_SET(GB_StoryProgress, STORY_CH4_FRYING_PAN_STOLEN) EVT_WAIT(10) EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(3.0)) diff --git a/src/world/area_mac/mac_02/npc/tayce_t.inc.c b/src/world/area_mac/mac_02/npc/tayce_t.inc.c index 896d401ede..ae28bdcc69 100644 --- a/src/world/area_mac/mac_02/npc/tayce_t.inc.c +++ b/src/world/area_mac/mac_02/npc/tayce_t.inc.c @@ -743,10 +743,10 @@ EvtScript N(EVS_TayceT_Cook) = { // no label here, but this position would be LABEL_CONFIRM_TWO EVT_SET(LVar0, LVar8) EVT_CALL(N(GetItemName), LVar0) - EVT_CALL(SetMessageMsg, LVar0, 0) + EVT_CALL(SetMessageText, LVar0, 0) EVT_SET(LVar1, LVar9) EVT_CALL(N(GetItemName), LVar1) - EVT_CALL(SetMessageMsg, LVar1, 1) + EVT_CALL(SetMessageText, LVar1, 1) EVT_CALL(SpeakToPlayer, NPC_TayceT, ANIM_TayceT_Talk, ANIM_TayceT_Idle, 0, MSG_MAC_Bridge_000B) EVT_CALL(ShowChoice, MSG_Choice_0010) EVT_IF_EQ(LVar0, 1) @@ -762,7 +762,7 @@ EvtScript N(EVS_TayceT_Cook) = { EVT_LABEL(LABEL_CONFIRM_ONE) EVT_SET(LVar0, LVar8) EVT_CALL(N(GetItemName), LVar0) - EVT_CALL(SetMessageMsg, LVar0, 0) + EVT_CALL(SetMessageText, LVar0, 0) EVT_CALL(SpeakToPlayer, NPC_TayceT, ANIM_TayceT_Talk, ANIM_TayceT_Idle, 0, MSG_MAC_Bridge_000A) EVT_CALL(ShowChoice, MSG_Choice_0010) EVT_IF_EQ(LVar0, 1) diff --git a/src/world/area_mac/mac_03/mac_03_4_npc.c b/src/world/area_mac/mac_03/mac_03_4_npc.c index 55901ccde4..8a48e57b0a 100644 --- a/src/world/area_mac/mac_03/mac_03_4_npc.c +++ b/src/world/area_mac/mac_03/mac_03_4_npc.c @@ -54,7 +54,7 @@ s32 N(LetterList_A)[] = { ITEM_NONE }; -EvtScript N(EVS_ToadKid1_LetterPromptA) = { +EvtScript N(EVS_LetterPrompt_ToadKid1A) = { EVT_CALL(N(LetterDelivery_Init), NPC_ToadKid_01, ANIM_ToadKid_Red_Talk, ANIM_ToadKid_Red_Idle, ITEM_LETTER20, ITEM_NONE, @@ -66,13 +66,10 @@ EvtScript N(EVS_ToadKid1_LetterPromptA) = { EVT_END }; -EvtScript N(EVS_ToadKid1_LetterRewardA) = { - EVT_IF_EQ(LVarC, 2) +EvtScript N(EVS_LetterReward_ToadKid1A) = { + EVT_IF_EQ(LVarC, DELIVERY_ACCEPTED) EVT_CALL(SpeakToPlayer, NPC_ToadKid_02, ANIM_ToadKid_Yellow_Talk, ANIM_ToadKid_Yellow_Idle, 0, MSG_MAC_Station_004D) - EVT_SET(LVar0, ITEM_LETTER21) - EVT_SET(LVar1, 1) - EVT_EXEC_WAIT(N(GiveKeyReward)) - EVT_CALL(AddKeyItem, ITEM_LETTER21) + EVT_GIVE_KEY_REWARD(ITEM_LETTER21) EVT_END_IF EVT_RETURN EVT_END @@ -83,7 +80,7 @@ s32 N(LetterList_B)[] = { ITEM_NONE }; -EvtScript N(EVS_ToadKid1_LetterPromptB) = { +EvtScript N(EVS_LetterPrompt_ToadKid1B) = { EVT_CALL(N(LetterDelivery_Init), NPC_ToadKid_01, ANIM_ToadKid_Red_Talk, ANIM_ToadKid_Red_Idle, ITEM_LETTER22, ITEM_NONE, @@ -95,9 +92,10 @@ EvtScript N(EVS_ToadKid1_LetterPromptB) = { EVT_END }; -EvtScript N(EVS_ToadKid1_LetterRewardB) = { - EVT_IF_EQ(LVarC, 2) +EvtScript N(EVS_LetterReward_ToadKid1B) = { + EVT_IF_EQ(LVarC, DELIVERY_ACCEPTED) EVT_CALL(SpeakToPlayer, NPC_ToadKid_02, ANIM_ToadKid_Yellow_Talk, ANIM_ToadKid_Yellow_Idle, 0, MSG_MAC_Station_0052) + // EVT_GIVE_KEY_REWARD(ITEM_LETTER_TO_FROSTT), but LVar1/LVar0 are set in wrong order EVT_SET(LVar1, 1) EVT_SET(LVar0, ITEM_LETTER_TO_FROSTT) EVT_EXEC_WAIT(N(GiveKeyReward)) @@ -363,13 +361,13 @@ EvtScript N(EVS_NpcInteract_ToadKid_02) = { EvtScript N(EVS_NpcInteract_ToadKid_01) = { EVT_EXEC_WAIT(N(EVS_NpcInteract_ToadKid_02)) - EVT_EXEC_WAIT(N(EVS_ToadKid1_LetterPromptA)) - EVT_EXEC_WAIT(N(EVS_ToadKid1_LetterRewardA)) + EVT_EXEC_WAIT(N(EVS_LetterPrompt_ToadKid1A)) + EVT_EXEC_WAIT(N(EVS_LetterReward_ToadKid1A)) EVT_IF_NE(LVarC, 0) EVT_RETURN EVT_END_IF - EVT_EXEC_WAIT(N(EVS_ToadKid1_LetterPromptB)) - EVT_EXEC_WAIT(N(EVS_ToadKid1_LetterRewardB)) + EVT_EXEC_WAIT(N(EVS_LetterPrompt_ToadKid1B)) + EVT_EXEC_WAIT(N(EVS_LetterReward_ToadKid1B)) EVT_IF_NE(LVarC, 0) EVT_RETURN EVT_END_IF @@ -524,7 +522,7 @@ EvtScript N(EVS_NpcAI_ShyGuy) = { EVT_CALL(ShowSweat, -1, 1, -45, 1, 0, 0, 0, 0, 20) EVT_CALL(NpcMoveTo, NPC_SELF, 0, -650, 0) EVT_KILL_THREAD(LVarA) - EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_WAIT(200) EVT_RETURN EVT_END diff --git a/src/world/area_mac/mac_03/mac_03_6_foliage.c b/src/world/area_mac/mac_03/mac_03_6_foliage.c index a6c93e30aa..4097e440ca 100644 --- a/src/world/area_mac/mac_03/mac_03_6_foliage.c +++ b/src/world/area_mac/mac_03/mac_03_6_foliage.c @@ -2,7 +2,7 @@ #include "common/foliage.inc.c" -EvtScript N(Tree3_CallbackScript) = { +EvtScript N(EVS_OnShakeTree3) = { EVT_IF_EQ(GF_MAC03_UnlockedPlayroom, TRUE) EVT_RETURN EVT_END_IF @@ -100,7 +100,7 @@ ShakeTreeConfig N(ShakeTree_Tree3) = { .leaves = &N(Tree3_LeafModels), .trunk = &N(Tree3_TrunkModels), .vectors = &N(Tree3_Effects), - .callback = &N(Tree3_CallbackScript), + .callback = &N(EVS_OnShakeTree3), }; //@bug x-position should be -265 diff --git a/src/world/area_mac/mac_04/npc_chet_rippo.inc.c b/src/world/area_mac/mac_04/npc_chet_rippo.inc.c index 1aaabc450c..cade5edcb0 100644 --- a/src/world/area_mac/mac_04/npc_chet_rippo.inc.c +++ b/src/world/area_mac/mac_04/npc_chet_rippo.inc.c @@ -157,7 +157,7 @@ EvtScript N(EVS_NpcInteract_ChetRippo) = { EVT_END_IF EVT_CALL(AddCoin, -39) EVT_CALL(ShowCoinCounter, FALSE) - EVT_CALL(SetMessageMsg, LVar1, 0) + EVT_CALL(SetMessageText, LVar1, 0) EVT_CALL(ContinueSpeech, NPC_ChetRippo, ANIM_ChetRippo_Talk, ANIM_ChetRippo_Idle, 0, MSG_MAC_Housing_00AE) EVT_WAIT(10) EVT_CALL(SetNpcAnimation, NPC_ChetRippo, ANIM_ChetRippo_Spread) diff --git a/src/world/area_mac/mac_05/mac_05_3_main.c b/src/world/area_mac/mac_05/mac_05_3_main.c index b637abaeb2..f21852e72e 100644 --- a/src/world/area_mac/mac_05/mac_05_3_main.c +++ b/src/world/area_mac/mac_05/mac_05_3_main.c @@ -7,7 +7,7 @@ #include "world/common/todo/UnkFloatFunc001.inc.c" #define NAMESPACE mac_05 -ApiStatus func_8024047C_8525EC(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(func_8024047C_8525EC)) { gGameStatusPtr->exitTangent = 0.0f; return ApiStatus_BLOCK; } diff --git a/src/world/area_mac/mac_05/mac_05_4_npc.c b/src/world/area_mac/mac_05/mac_05_4_npc.c index c39d06b7d3..e772cff16c 100644 --- a/src/world/area_mac/mac_05/mac_05_4_npc.c +++ b/src/world/area_mac/mac_05/mac_05_4_npc.c @@ -37,7 +37,7 @@ s32 N(Fishmael_LetterList)[] = { ITEM_LETTER15, ITEM_NONE }; -EvtScript N(EVS_Fishmael_LetterPrompt) = { +EvtScript N(EVS_LetterPrompt_Fishmael) = { EVT_CALL(N(LetterDelivery_Init), NPC_Fishmael, ANIM_Fishmael_Talk, ANIM_Fishmael_Idle, ITEM_LETTER15, ITEM_LETTER16, @@ -53,7 +53,7 @@ s32 N(Kolorado_LetterList)[] = { ITEM_LETTER25, ITEM_NONE }; -EvtScript N(EVS_Kolorado_LetterPrompt) = { +EvtScript N(EVS_LetterPrompt_Kolorado) = { EVT_CALL(N(LetterDelivery_Init), NPC_Kolorado, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, ITEM_LETTER25, ITEM_NONE, @@ -65,8 +65,8 @@ EvtScript N(EVS_Kolorado_LetterPrompt) = { EVT_END }; -EvtScript N(EVS_Kolorado_LetterReward) = { - EVT_IF_EQ(LVarC, 2) +EvtScript N(EVS_LetterReward_Kolorado) = { + EVT_IF_EQ(LVarC, DELIVERY_ACCEPTED) EVT_GIVE_STAR_PIECE() EVT_END_IF EVT_RETURN @@ -1154,8 +1154,8 @@ EvtScript N(EVS_NpcInteract_Kolorado) = { EVT_CALL(SpeakToPlayer, NPC_Kolorado, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, 0, MSG_MAC_Port_00AC) EVT_END_SWITCH EVT_EXEC_WAIT(N(EVS_Kolorado_TryArtifactTrade)) - EVT_EXEC_WAIT(N(EVS_Kolorado_LetterPrompt)) - EVT_EXEC_WAIT(N(EVS_Kolorado_LetterReward)) + EVT_EXEC_WAIT(N(EVS_LetterPrompt_Kolorado)) + EVT_EXEC_WAIT(N(EVS_LetterReward_Kolorado)) EVT_IF_NE(LVarC, 0) EVT_RETURN EVT_END_IF @@ -1383,7 +1383,7 @@ EvtScript N(EVS_NpcInteract_Fuzzipede1) = { EVT_END_SWITCH EVT_CALL(SpeakToNpc, NPC_Fishmael, ANIM_Fishmael_Talk, ANIM_Fishmael_Idle, 0, NPC_Fuzzipede, LVar0) EVT_CALL(SpeakToNpc, NPC_Fuzzipede, ANIM_Fuzzipede_Anim24, ANIM_Fuzzipede_Anim04, 0, NPC_Fishmael, LVar1) - EVT_EXEC_WAIT(N(EVS_Fishmael_LetterPrompt)) + EVT_EXEC_WAIT(N(EVS_LetterPrompt_Fishmael)) EVT_IF_NE(LVarC, 0) EVT_RETURN EVT_END_IF @@ -1417,7 +1417,7 @@ EvtScript N(EVS_NpcInteract_Fishmael) = { EVT_SET(LVar0, MSG_MAC_Port_005A) EVT_END_SWITCH EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Fishmael_Talk, ANIM_Fishmael_Idle, 0, LVar0) - EVT_EXEC_WAIT(N(EVS_Fishmael_LetterPrompt)) + EVT_EXEC_WAIT(N(EVS_LetterPrompt_Fishmael)) EVT_IF_NE(LVarC, 0) EVT_RETURN EVT_END_IF diff --git a/src/world/area_mac/mac_05/mac_05_5_whale.c b/src/world/area_mac/mac_05/mac_05_5_whale.c index f5c1cf0031..6dc8410115 100644 --- a/src/world/area_mac/mac_05/mac_05_5_whale.c +++ b/src/world/area_mac/mac_05/mac_05_5_whale.c @@ -6,7 +6,7 @@ s32 N(unkAngle3) = -1; #include "world/common/atomic/WhaleAnim.inc.c" -ApiStatus N(UnkPlayerPosFunc)(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(UnkPlayerPosFunc)) { Npc* player = get_npc_safe(ACTOR_PLAYER); f32 yaw = -player->yaw; f32 x = player->pos.x + 30.0f + (sin_deg(yaw) * 70.0f); diff --git a/src/world/area_mac/mac_06/mac_06_1_main.c b/src/world/area_mac/mac_06/mac_06_1_main.c index 07493741c9..f79938f25e 100644 --- a/src/world/area_mac/mac_06/mac_06_1_main.c +++ b/src/world/area_mac/mac_06/mac_06_1_main.c @@ -3,7 +3,7 @@ #include "world/common/atomic/TexturePan.inc.c" #include "world/common/atomic/TexturePan.data.inc.c" -ApiStatus N(GetWaveAmplitude)(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(GetWaveAmplitude)) { Bytecode* args = script->ptrReadPos; s32 timeVar = *args++; s32 time = evt_get_variable(script, timeVar); diff --git a/src/world/area_mac/mac_06/mac_06_2_whale.c b/src/world/area_mac/mac_06/mac_06_2_whale.c index cb207eef23..de599760dc 100644 --- a/src/world/area_mac/mac_06/mac_06_2_whale.c +++ b/src/world/area_mac/mac_06/mac_06_2_whale.c @@ -6,7 +6,7 @@ s32 N(unkAngle3) = -1; #include "world/common/atomic/WhaleAnim.inc.c" -ApiStatus N(UnkPlayerPosFunc)(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(UnkPlayerPosFunc)) { Npc* player = get_npc_safe(ACTOR_PLAYER); f32 yaw = -player->yaw; f32 x = player->pos.x + 30.0f + (sin_deg(yaw) * 70.0f); diff --git a/src/world/common/todo/SetForeverForestFog.inc.c b/src/world/area_mim/common/SetForeverForestFog.inc.c similarity index 80% rename from src/world/common/todo/SetForeverForestFog.inc.c rename to src/world/area_mim/common/SetForeverForestFog.inc.c index ab94c79564..7b092c22d3 100644 --- a/src/world/common/todo/SetForeverForestFog.inc.c +++ b/src/world/area_mim/common/SetForeverForestFog.inc.c @@ -1,7 +1,7 @@ #include "common.h" #include "npc.h" -ApiStatus N(SetForeverForestFog)(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(SetForeverForestFog)) { enable_world_fog(); set_world_fog_dist(990, 1000); set_world_fog_color(0, 0, 0, 255); diff --git a/src/world/area_mim/mim_01/mim_01_2_main.c b/src/world/area_mim/mim_01/mim_01_2_main.c index a11795181b..7630b22194 100644 --- a/src/world/area_mim/mim_01/mim_01_2_main.c +++ b/src/world/area_mim/mim_01/mim_01_2_main.c @@ -1,6 +1,6 @@ #include "mim_01.h" -#include "world/common/todo/SetForeverForestFog.inc.c" +#include "../common/SetForeverForestFog.inc.c" EvtScript N(EVS_ExitWalk_n) = EVT_EXIT_WALK(60, mim_01_ENTRY_0, "mim_01", mim_01_ENTRY_1); EvtScript N(EVS_ExitWalk_w) = EVT_EXIT_WALK(60, mim_01_ENTRY_1, "mim_10", mim_10_ENTRY_1); diff --git a/src/world/area_mim/mim_02/mim_02_2_main.c b/src/world/area_mim/mim_02/mim_02_2_main.c index b44edd4582..74e14e845c 100644 --- a/src/world/area_mim/mim_02/mim_02_2_main.c +++ b/src/world/area_mim/mim_02/mim_02_2_main.c @@ -1,6 +1,6 @@ #include "mim_02.h" -#include "world/common/todo/SetForeverForestFog.inc.c" +#include "../common/SetForeverForestFog.inc.c" EvtScript N(EVS_ExitWalk_s) = EVT_EXIT_WALK(60, mim_02_ENTRY_0, "mim_03", mim_03_ENTRY_2); EvtScript N(EVS_ExitWalk_e) = EVT_EXIT_WALK(60, mim_02_ENTRY_1, "mim_01", mim_01_ENTRY_3); diff --git a/src/world/area_mim/mim_03/mim_03_2_main.c b/src/world/area_mim/mim_03/mim_03_2_main.c index 69ea0bb127..40bf744061 100644 --- a/src/world/area_mim/mim_03/mim_03_2_main.c +++ b/src/world/area_mim/mim_03/mim_03_2_main.c @@ -1,6 +1,6 @@ #include "mim_03.h" -#include "world/common/todo/SetForeverForestFog.inc.c" +#include "../common/SetForeverForestFog.inc.c" API_CALLABLE(N(GetPlayerDistFromMapCenter)) { script->varTable[0] = get_xz_dist_to_player(0.0f, 0.0f); diff --git a/src/world/area_mim/mim_04/mim_04_2_main.c b/src/world/area_mim/mim_04/mim_04_2_main.c index 01008bf7ff..1afe5486bd 100644 --- a/src/world/area_mim/mim_04/mim_04_2_main.c +++ b/src/world/area_mim/mim_04/mim_04_2_main.c @@ -1,6 +1,6 @@ #include "mim_04.h" -#include "world/common/todo/SetForeverForestFog.inc.c" +#include "../common/SetForeverForestFog.inc.c" EvtScript N(EVS_ExitWalk_n) = EVT_EXIT_WALK(60, mim_04_ENTRY_0, "mim_05", mim_05_ENTRY_2); EvtScript N(EVS_ExitWalk_w) = EVT_EXIT_WALK(60, mim_04_ENTRY_1, "mim_01", mim_01_ENTRY_1); diff --git a/src/world/area_mim/mim_05/mim_05_2_main.c b/src/world/area_mim/mim_05/mim_05_2_main.c index 8238335da1..14fcbf3d67 100644 --- a/src/world/area_mim/mim_05/mim_05_2_main.c +++ b/src/world/area_mim/mim_05/mim_05_2_main.c @@ -1,6 +1,6 @@ #include "mim_05.h" -#include "world/common/todo/SetForeverForestFog.inc.c" +#include "../common/SetForeverForestFog.inc.c" EvtScript N(EVS_ExitWalk_n) = EVT_EXIT_WALK(60, mim_05_ENTRY_0, "mim_01", mim_01_ENTRY_1); EvtScript N(EVS_ExitWalk_w) = EVT_EXIT_WALK(60, mim_05_ENTRY_1, "mim_06", mim_06_ENTRY_3); diff --git a/src/world/area_mim/mim_06/mim_06_2_main.c b/src/world/area_mim/mim_06/mim_06_2_main.c index cc7d5242c7..f8d1861d4d 100644 --- a/src/world/area_mim/mim_06/mim_06_2_main.c +++ b/src/world/area_mim/mim_06/mim_06_2_main.c @@ -1,6 +1,6 @@ #include "mim_06.h" -#include "world/common/todo/SetForeverForestFog.inc.c" +#include "../common/SetForeverForestFog.inc.c" EvtScript N(EVS_ExitWalk_n) = EVT_EXIT_WALK(60, mim_06_ENTRY_0, "mim_07", mim_07_ENTRY_2); EvtScript N(EVS_ExitWalk_w) = EVT_EXIT_WALK(60, mim_06_ENTRY_1, "mim_01", mim_01_ENTRY_1); diff --git a/src/world/area_mim/mim_07/mim_07_2_main.c b/src/world/area_mim/mim_07/mim_07_2_main.c index f8b8eed346..08337616d6 100644 --- a/src/world/area_mim/mim_07/mim_07_2_main.c +++ b/src/world/area_mim/mim_07/mim_07_2_main.c @@ -1,6 +1,6 @@ #include "mim_07.h" -#include "world/common/todo/SetForeverForestFog.inc.c" +#include "../common/SetForeverForestFog.inc.c" EvtScript N(EVS_ExitWalk_n) = EVT_EXIT_WALK(60, mim_07_ENTRY_0, "mim_09", mim_09_ENTRY_2); EvtScript N(EVS_ExitWalk_w) = EVT_EXIT_WALK(60, mim_07_ENTRY_1, "mim_01", mim_01_ENTRY_1); diff --git a/src/world/area_mim/mim_08/mim_08_2_main.c b/src/world/area_mim/mim_08/mim_08_2_main.c index b329fd317e..98e1f9e6ea 100644 --- a/src/world/area_mim/mim_08/mim_08_2_main.c +++ b/src/world/area_mim/mim_08/mim_08_2_main.c @@ -1,6 +1,6 @@ #include "mim_08.h" -#include "world/common/todo/SetForeverForestFog.inc.c" +#include "../common/SetForeverForestFog.inc.c" API_CALLABLE(N(GetPlayerDistFromMapCenter)) { script->varTable[0] = get_xz_dist_to_player(0.0f, 0.0f); diff --git a/src/world/area_mim/mim_09/mim_09_2_main.c b/src/world/area_mim/mim_09/mim_09_2_main.c index 0be62fd374..bf466e91e1 100644 --- a/src/world/area_mim/mim_09/mim_09_2_main.c +++ b/src/world/area_mim/mim_09/mim_09_2_main.c @@ -1,6 +1,6 @@ #include "mim_09.h" -#include "world/common/todo/SetForeverForestFog.inc.c" +#include "../common/SetForeverForestFog.inc.c" API_CALLABLE(N(GetPlayerDistFromMapCenter)) { script->varTable[0] = get_xz_dist_to_player(0.0f, 0.0f); diff --git a/src/world/area_mim/mim_10/mim_10_4_npc.c b/src/world/area_mim/mim_10/mim_10_4_npc.c index 8947c7cad6..7db47052dc 100644 --- a/src/world/area_mim/mim_10/mim_10_4_npc.c +++ b/src/world/area_mim/mim_10/mim_10_4_npc.c @@ -181,7 +181,7 @@ EvtScript N(EVS_Scene_BootlersInvitation) = { EVT_END_LOOP EVT_SET(GB_StoryProgress, STORY_CH3_INVITED_TO_BOOS_MANSION) EVT_EXEC(N(EVS_SetupMusic)) - EVT_CALL(SetNpcPos, NPC_Bootler, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_Bootler, NPC_DISPOSE_LOCATION) EVT_CALL(DisablePlayerInput, FALSE) EVT_RETURN EVT_END diff --git a/src/world/area_mim/mim_12/mim_12_3_main.c b/src/world/area_mim/mim_12/mim_12_3_main.c index 4a6a5c0493..92a8d21780 100644 --- a/src/world/area_mim/mim_12/mim_12_3_main.c +++ b/src/world/area_mim/mim_12/mim_12_3_main.c @@ -13,8 +13,8 @@ EvtScript N(EVS_BindExitTriggers) = { EvtScript N(EVS_EnterMap) = { EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers))) EVT_EXEC(EnterWalk) - EVT_CALL(SetNpcPos, NPC_GateBoo_01, 0, -1000, 0) - EVT_CALL(SetNpcPos, NPC_GateBoo_02, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_GateBoo_01, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcPos, NPC_GateBoo_02, NPC_DISPOSE_LOCATION) EVT_SETF(LVar0, EVT_FLOAT(240.0)) EVT_LOOP(20) EVT_SUBF(LVar0, EVT_FLOAT(12.0)) diff --git a/src/world/area_mim/mim_12/mim_12_5_gate.c b/src/world/area_mim/mim_12/mim_12_5_gate.c index 9fb1380019..59fc2fe4b5 100644 --- a/src/world/area_mim/mim_12/mim_12_5_gate.c +++ b/src/world/area_mim/mim_12/mim_12_5_gate.c @@ -363,8 +363,8 @@ EvtScript N(EVS_Scene_UnlockGate) = { EVT_CALL(func_802CFD30, NPC_GateBoo_02, FOLD_TYPE_7, LVar0, 0, 0, 0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetNpcPos, NPC_GateBoo_01, 0, -1000, 0) - EVT_CALL(SetNpcPos, NPC_GateBoo_02, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_GateBoo_01, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcPos, NPC_GateBoo_02, NPC_DISPOSE_LOCATION) EVT_WAIT(10) EVT_CALL(DisablePartnerAI, 0) EVT_CALL(SpeakToPlayer, NPC_PARTNER, ANIM_WorldBow_Talk, ANIM_WorldBow_Idle, 0, MSG_CH3_006D) diff --git a/src/world/area_nok/nok.h b/src/world/area_nok/nok.h index 6599db38df..c4923bf4e1 100644 --- a/src/world/area_nok/nok.h +++ b/src/world/area_nok/nok.h @@ -21,6 +21,7 @@ enum { }; enum { + AF_NOK_01 = AreaFlag(1), AF_NOK_02 = AreaFlag(2), }; diff --git a/src/world/area_nok/nok_11/nok_11_2_main.c b/src/world/area_nok/nok_11/nok_11_2_main.c index c90f32840d..f96f02d925 100644 --- a/src/world/area_nok/nok_11/nok_11_2_main.c +++ b/src/world/area_nok/nok_11/nok_11_2_main.c @@ -12,15 +12,7 @@ EvtScript N(EVS_ExitWalk_mac_01_1) = { EVT_END }; -// EVT_EXIT_WALK without EVT_SET_GROUP -EvtScript N(EVS_ExitWalk_nok_12_0) = { - EVT_CALL(UseExitHeading, 60, nok_11_ENTRY_1) - EVT_EXEC(ExitWalk) - EVT_CALL(GotoMap, EVT_PTR("nok_12"), nok_12_ENTRY_0) - EVT_WAIT(100) - EVT_RETURN - EVT_END -}; +EvtScript N(EVS_ExitWalk_nok_12_0) = EVT_EXIT_WALK_NOK(60, nok_11_ENTRY_1, "nok_12", nok_12_ENTRY_0); EvtScript N(EVS_TexPan_Flowers) = { EVT_CALL(SetTexPanner, MODEL_hana2, TEX_PANNER_0) diff --git a/src/world/area_nok/nok_11/nok_11_4_npc.c b/src/world/area_nok/nok_11/nok_11_4_npc.c index 6e4a2c3f8e..d8034260ac 100644 --- a/src/world/area_nok/nok_11/nok_11_4_npc.c +++ b/src/world/area_nok/nok_11/nok_11_4_npc.c @@ -311,8 +311,8 @@ EvtScript N(EVS_NpcIdle_KentCKoopa_01) = { EVT_SET(LVar0, -430) EVT_END_IF EVT_CALL(NpcMoveTo, NPC_KentCKoopa_02, LVar0, -37, 40) - EVT_CALL(SetNpcPos, NPC_KentCKoopa_02, 0, -1000, 0) - EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_KentCKoopa_02, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(5.0)) EVT_GOTO(100) EVT_LABEL(30) @@ -338,7 +338,7 @@ EvtScript N(EVS_NpcIdle_KentCKoopa_01) = { EVT_CALL(NpcMoveTo, NPC_KentCKoopa_02, -167, -100, 20) EVT_CALL(SetNpcFlagBits, NPC_KentCKoopa_02, NPC_FLAG_100, FALSE) EVT_CALL(BindNpcInteract, NPC_KentCKoopa_02, EVT_PTR(N(EVS_NpcInteract_KentCKoopa_02))) - EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_CALL(SetNpcAnimation, NPC_KentCKoopa_02, ANIM_KentCKoopa_Anim01) EVT_IF_EQ(AB_NOK_2, 0) EVT_SET(LVar0, 270) @@ -455,7 +455,7 @@ StaticNpc N(NpcData_KoopaTroopa) = { .pos = { -350.0f, 0.0f, -30.0f }, .yaw = 90, .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, - .drops = KOOPA_TROOPA_DROPS_B, + .drops = KOOPA_TROOPA_NOK_DROPS, .territory = { .wander = { .isFlying = TRUE, diff --git a/src/world/area_nok/nok_12/9FA7F0.c b/src/world/area_nok/nok_12/9FA7F0.c deleted file mode 100644 index 01d8e6f757..0000000000 --- a/src/world/area_nok/nok_12/9FA7F0.c +++ /dev/null @@ -1,30 +0,0 @@ -#include "nok_12.h" - -static char* N(exit_str_0) = "nok_11"; -static char* N(exit_str_1) = "nok_13"; - -// copy of UpdateEnounterStages -ApiStatus func_80240000_9FA7F0(Evt* script, s32 isInitialCall) { - PlayerStatus* playerStatus = &gPlayerStatus; - EncounterStatus* encounterStatus = &gCurrentEncounter; - Bytecode *args = script->ptrReadPos; - s32 xMin = evt_get_variable(script, *args++); - s32 xMax = evt_get_variable(script, *args++); - s32 zMin = evt_get_variable(script, *args++); - s32 zMax = evt_get_variable(script, *args++); - s32 var5 = evt_get_variable(script, *args++); - s32 var6 = evt_get_variable(script, *args++); - s32 stage = var5; - s32 i; - - if (xMin <= playerStatus->position.x && playerStatus->position.x <= xMax && - zMin <= playerStatus->position.z && playerStatus->position.z <= zMax) - { - stage = var6; - } - - for (i = 0; i < encounterStatus->numEncounters; i++) { - encounterStatus->encounterList[i]->stage = stage; - } - return ApiStatus_DONE2; -} diff --git a/src/world/area_nok/nok_12/9FA970.c b/src/world/area_nok/nok_12/9FA970.c deleted file mode 100644 index c84cc8a105..0000000000 --- a/src/world/area_nok/nok_12/9FA970.c +++ /dev/null @@ -1,22 +0,0 @@ -#include "nok_12.h" - -ApiStatus func_80240180_9FA970(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - Enemy* enemy = script->owner1.enemy; - s32 npcID = evt_get_variable(script, *args++); - s32 tableIdx = evt_get_variable(script, *args++); - s32 val = evt_get_variable(script, *args++); - - if (npcID == NPC_SELF) { - npcID = enemy->npcID; - } - - enemy = get_enemy_safe(npcID); - if (enemy != NULL) { - enemy->varTable[tableIdx] = val; - } - - return ApiStatus_DONE2; -} - -#include "world/common/todo/SetEntityPosition.inc.c" diff --git a/src/world/area_nok/nok_12/9FAAE0.c b/src/world/area_nok/nok_12/9FAAE0.c deleted file mode 100644 index 1cc5e61b52..0000000000 --- a/src/world/area_nok/nok_12/9FAAE0.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "nok_12.h" - -#include "world/common/todo/SetCamera0Flag1000.inc.c" - -#include "world/common/todo/UnsetCamera0Flag1000.inc.c" diff --git a/src/world/area_nok/nok_12/9FAB20.c b/src/world/area_nok/nok_12/9FAB20.c deleted file mode 100644 index e558a933ad..0000000000 --- a/src/world/area_nok/nok_12/9FAB20.c +++ /dev/null @@ -1,4 +0,0 @@ -#include "nok_12.h" - -#include "common/foliage.inc.c" - diff --git a/src/world/area_nok/nok_12/9FAD60.c b/src/world/area_nok/nok_12/9FAD60.c deleted file mode 100644 index 7bd60a7287..0000000000 --- a/src/world/area_nok/nok_12/9FAD60.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "nok_12.h" - -#include "world/common/enemy/ai/TackleAI.inc.c" - -#include "world/common/enemy/ai/KoopaPatrolAI.inc.c" - -static char* N(exit_str_0) = "nok_12"; diff --git a/src/world/area_nok/nok_12/9FC6D0.c b/src/world/area_nok/nok_12/9FC6D0.c deleted file mode 100644 index e9702d1df7..0000000000 --- a/src/world/area_nok/nok_12/9FC6D0.c +++ /dev/null @@ -1,57 +0,0 @@ -#include "nok_12.h" - -extern s32 D_802459CC_A001BC; -extern s32 D_80245A14_A00204; -extern Npc* wPartnerNpc; - -// SetupDemoScene -ApiStatus func_80241EE0_9FC6D0(Evt* script, s32 isInitialCall) { - PlayerStatus* playerStatus = &gPlayerStatus; - - switch (D_802459CC_A001BC) { - case 0: - D_802459CC_A001BC = 1; - break; - case 1: - case 2: - D_802459CC_A001BC++; - break; - case 3: - partner_clear_player_tracking(wPartnerNpc); - partner_set_goal_pos(playerStatus->position.x, playerStatus->position.z); - func_800EF3D4(0); - set_npc_yaw(wPartnerNpc, 90.0f); - playerStatus->targetYaw = 90.0f; - playerStatus->currentYaw = 90.0f; - playerStatus->spriteFacingAngle = 0.0f; - return ApiStatus_DONE2; - } - - return ApiStatus_BLOCK; -} - -// SetupDemoScene -ApiStatus func_80241FD0_9FC7C0(Evt* script, s32 isInitialCall) { - PlayerStatus* playerStatus = &gPlayerStatus; - - switch (D_80245A14_A00204) { - case 0: - D_80245A14_A00204 = 1; - break; - case 1: - case 2: - D_80245A14_A00204++; - break; - case 3: - partner_clear_player_tracking(wPartnerNpc); - partner_set_goal_pos(playerStatus->position.x, playerStatus->position.z); - func_800EF3D4(0); - set_npc_yaw(wPartnerNpc, 90.0f); - playerStatus->targetYaw = 90.0f; - playerStatus->currentYaw = 90.0f; - playerStatus->spriteFacingAngle = 0.0f; - return ApiStatus_DONE2; - } - - return ApiStatus_BLOCK; -} diff --git a/src/world/area_nok/nok_12/nok_12.h b/src/world/area_nok/nok_12/nok_12.h index b6b232b105..9b679c4078 100644 --- a/src/world/area_nok/nok_12/nok_12.h +++ b/src/world/area_nok/nok_12/nok_12.h @@ -2,8 +2,37 @@ /// @brief Koopa Region - Pleasant Path Bridge #include "common.h" -#include "../nok.h" #include "message_ids.h" #include "map.h" +#include "../nok.h" +#include "mapfs/nok_12_shape.h" +#include "mapfs/nok_12_hit.h" + +#include "sprite/npc/SpikedGoomba.h" +#include "sprite/npc/KoopaTroopa.h" +#include "sprite/npc/Goomba.h" + +enum { + NPC_KoopaTroopa_01 = 0, + NPC_KoopaTroopa_02 = 1, + NPC_Goomba = 2, + NPC_SpikedGoomba = 3, +}; + +enum { + MV_Unk_00 = MapVar(0), +}; + #define NAMESPACE nok_12 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_OnShakeTree_DropSwitch); +extern EvtScript N(EVS_SetupBridge); +extern EvtScript N(EVS_PlayDemoScene1); +extern EvtScript N(EVS_PlayDemoScene2); +extern EvtScript N(EVS_MakeEntities); +extern EvtScript N(EVS_SetupFoliage); +extern NpcGroupList N(DefaultNPCs); +extern NpcGroupList N(DemoNPCs); diff --git a/src/world/area_nok/nok_12/nok_12_0_header.c b/src/world/area_nok/nok_12/nok_12_0_header.c new file mode 100644 index 0000000000..8824129353 --- /dev/null +++ b/src/world/area_nok/nok_12/nok_12_0_header.c @@ -0,0 +1,16 @@ +#include "nok_12.h" + +EntryList N(Entrances) = { + [nok_12_ENTRY_0] { -786.0, 0.0, -49.0, 90.0 }, + [nok_12_ENTRY_1] { 886.0, 75.0, -49.0, 270.0 }, + [nok_12_ENTRY_2] { 180.0, 0.0, -50.0, 90.0 }, + [nok_12_ENTRY_3] { -500.0, 0.0, -145.0, 90.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .background = &gBackgroundImage, + .tattle = { MSG_MapTattle_nok_12 }, +}; diff --git a/src/world/area_nok/nok_12/nok_12_1_music.c b/src/world/area_nok/nok_12/nok_12_1_music.c new file mode 100644 index 0000000000..a8cbc0cebb --- /dev/null +++ b/src/world/area_nok/nok_12/nok_12_1_music.c @@ -0,0 +1,8 @@ +#include "nok_12.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_CALL(SetMusicTrack, 0, SONG_PLEASANT_PATH, 0, 8) + EVT_CALL(PlaySound, SOUND_8000005B) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_12/nok_12_2_main.c b/src/world/area_nok/nok_12/nok_12_2_main.c new file mode 100644 index 0000000000..d9b63a5062 --- /dev/null +++ b/src/world/area_nok/nok_12/nok_12_2_main.c @@ -0,0 +1,152 @@ +#include "nok_12.h" + +API_CALLABLE(N(UpdateEnounterStages)) { + PlayerStatus* playerStatus = &gPlayerStatus; + EncounterStatus* encounterStatus = &gCurrentEncounter; + Bytecode* args = script->ptrReadPos; + s32 xMin = evt_get_variable(script, *args++); + s32 xMax = evt_get_variable(script, *args++); + s32 zMin = evt_get_variable(script, *args++); + s32 zMax = evt_get_variable(script, *args++); + s32 stageWithoutBridge = evt_get_variable(script, *args++); + s32 stageWithBridge = evt_get_variable(script, *args++); + s32 stage = stageWithoutBridge; + s32 i; + + if (xMin <= playerStatus->position.x && playerStatus->position.x <= xMax && + zMin <= playerStatus->position.z && playerStatus->position.z <= zMax) + { + stage = stageWithBridge; + } + + for (i = 0; i < encounterStatus->numEncounters; i++) { + encounterStatus->encounterList[i]->stage = stage; + } + return ApiStatus_DONE2; +} + +EvtScript N(EVS_ExitWalk_nok_11_1) = EVT_EXIT_WALK_NOK(60, nok_12_ENTRY_0, "nok_11", nok_11_ENTRY_1); +EvtScript N(EVS_ExitWalk_nok_13_0) = EVT_EXIT_WALK_NOK(60, nok_12_ENTRY_1, "nok_13", nok_13_ENTRY_0); + +EvtScript N(EVS_UpdateEnounterStages) = { + EVT_LABEL(0) + EVT_IF_GE(GB_StoryProgress, STORY_CH1_MADE_FIRST_BRIDGE) + EVT_CALL(N(UpdateEnounterStages), -380, -170, -100, 999, BTL_NOK_STAGE_00, BTL_NOK_STAGE_02) + EVT_END_IF + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_TexPan_Flowers) = { + EVT_SET_GROUP(EVT_GROUP_00) + EVT_CALL(SetTexPanner, MODEL_hana1, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_hana2, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_hana3, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_hana4, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_hana5, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_hana6, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_hana7, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_hanahna, TEX_PANNER_0) + EVT_LABEL(10) + EVT_LOOP(12) + EVT_CALL(SetTexPanOffset, TEX_PANNER_0, TEX_PANNER_MAIN, 0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_LOOP(12) + EVT_CALL(SetTexPanOffset, TEX_PANNER_0, TEX_PANNER_MAIN, 0x4000, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_GOTO(10) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_TexPan_Water) = { + EVT_SET_GROUP(EVT_GROUP_00) + EVT_THREAD + EVT_CALL(SetTexPanner, MODEL_suimen1, TEX_PANNER_1) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 0) + EVT_SET(LVar2, 0) + EVT_LABEL(10) + EVT_CALL(SetTexPanOffset, TEX_PANNER_1, TEX_PANNER_MAIN, LVar0, 0) + EVT_CALL(SetTexPanOffset, TEX_PANNER_1, TEX_PANNER_AUX, LVar1, LVar2) + EVT_SUB(LVar0, 100) + EVT_SUB(LVar1, 400) + EVT_ADD(LVar1, 1000) + EVT_WAIT(1) + EVT_GOTO(10) + EVT_END_THREAD + EVT_CALL(SetTexPanner, MODEL_kabemizu1, TEX_PANNER_2) + EVT_CALL(SetTexPanner, MODEL_kabemizu2, TEX_PANNER_2) + EVT_CALL(SetTexPanner, MODEL_kabemizu3, TEX_PANNER_2) + EVT_CALL(SetTexPanner, MODEL_kabemizu4, TEX_PANNER_2) + EVT_CALL(SetTexPanner, MODEL_kabemizu5, TEX_PANNER_2) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 0) + EVT_SET(LVar2, 0) + EVT_LABEL(20) + EVT_CALL(SetTexPanOffset, TEX_PANNER_2, TEX_PANNER_MAIN, LVar0, 0) + EVT_CALL(SetTexPanOffset, TEX_PANNER_2, TEX_PANNER_AUX, LVar1, LVar2) + EVT_SUB(LVar0, 100) + EVT_ADD(LVar1, 800) + EVT_SUB(LVar1, 400) + EVT_WAIT(1) + EVT_GOTO(20) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_BindExitTriggers) = { + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_nok_11_1)), TRIGGER_FLOOR_ABOVE, COLLIDER_deili1, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_nok_13_0)), TRIGGER_FLOOR_ABOVE, COLLIDER_deili2, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_EnterMap) = { + EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers))) + EVT_EXEC(EnterWalk) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_PLEASANT_PATH) + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SET(AF_NOK_01, FALSE) + EVT_SETUP_CAMERA_DEFAULT() + EVT_CALL(GetDemoState, LVar0) + EVT_IF_EQ(LVar0, DEMO_STATE_NONE) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) + EVT_ELSE + EVT_CALL(GetEntryID, LVar0) + EVT_IF_EQ(LVar0, nok_12_ENTRY_2) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DemoNPCs))) + EVT_END_IF + EVT_END_IF + EVT_EXEC_WAIT(N(EVS_MakeEntities)) + EVT_EXEC_WAIT(N(EVS_SetupFoliage)) + EVT_EXEC(N(EVS_TexPan_Flowers)) + EVT_EXEC(N(EVS_TexPan_Water)) + EVT_EXEC(N(EVS_SetupBridge)) + EVT_CALL(GetDemoState, LVar0) + EVT_IF_NE(LVar0, DEMO_STATE_NONE) + EVT_CALL(GetEntryID, LVar0) + EVT_IF_EQ(LVar0, nok_12_ENTRY_2) + EVT_EXEC_WAIT(N(EVS_PlayDemoScene1)) + EVT_ELSE + EVT_EXEC_WAIT(N(EVS_PlayDemoScene2)) + EVT_END_IF + EVT_RETURN + EVT_END_IF + EVT_EXEC(N(EVS_UpdateEnounterStages)) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_EXEC(N(EVS_EnterMap)) + EVT_WAIT(1) + EVT_SET(GF_MAC01_RowfBadgesChosen, FALSE) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_12/nok_12_3_entity.c b/src/world/area_nok/nok_12/nok_12_3_entity.c new file mode 100644 index 0000000000..6ab82aab7d --- /dev/null +++ b/src/world/area_nok/nok_12/nok_12_3_entity.c @@ -0,0 +1,82 @@ +#include "nok_12.h" +#include "entity.h" + +API_CALLABLE(N(SetNpcVarSafe)) { + Bytecode* args = script->ptrReadPos; + Enemy* enemy = script->owner1.enemy; + s32 npcID = evt_get_variable(script, *args++); + s32 varIdx = evt_get_variable(script, *args++); + s32 val = evt_get_variable(script, *args++); + + if (npcID == NPC_SELF) { + npcID = enemy->npcID; + } + + enemy = get_enemy_safe(npcID); + if (enemy != NULL) { + enemy->varTable[varIdx] = val; + } + + return ApiStatus_DONE2; +} + +#include "world/common/todo/SetEntityPosition.inc.c" + +EvtScript N(EVS_BreakBlock_Ambush) = { + EVT_CALL(N(SetNpcVarSafe), NPC_SpikedGoomba, 0, 1) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_OnShakeTree_DropSwitch) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH1_KNOCKED_SWITCH_FROM_TREE) + EVT_SET(GB_StoryProgress, STORY_CH1_KNOCKED_SWITCH_FROM_TREE) + EVT_WAIT(15) + EVT_SET_GROUP(EVT_GROUP_00) + EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_PARTIAL) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(MakeLerp, 95, 0, 12, EASING_QUADRATIC_IN) + EVT_LABEL(0) + EVT_CALL(UpdateLerp) + EVT_CALL(N(SetEntityPosition), MV_Unk_00, -470, LVar0, -150) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(PlaySoundAt, SOUND_48, 0, -470, LVar0, -150) + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 5, EVT_FLOAT(1.0)) + EVT_THREAD + EVT_WAIT(5) + EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_NORMAL) + EVT_END_THREAD + EVT_CALL(DisablePlayerInput, FALSE) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_MakeEntities) = { + EVT_IF_LE(GB_StoryProgress, STORY_CH1_KNOCKED_SWITCH_FROM_TREE) + EVT_IF_EQ(GB_StoryProgress, STORY_CH1_KNOCKED_SWITCH_FROM_TREE) + EVT_CALL(MakeEntity, EVT_PTR(Entity_BlueSwitch), -470, 0, -150, 0, MAKE_ENTITY_END) + EVT_CALL(AssignSwitchFlag, EVT_INDEX_OF_AREA_FLAG(AF_NOK_01)) + EVT_ELSE + EVT_CALL(MakeEntity, EVT_PTR(Entity_BlueSwitch), NPC_DISPOSE_LOCATION, 0, MAKE_ENTITY_END) + EVT_CALL(AssignSwitchFlag, EVT_INDEX_OF_AREA_FLAG(AF_NOK_01)) + EVT_SET(MV_Unk_00, LVar0) + EVT_END_IF + EVT_END_IF + EVT_CALL(MakeEntity, EVT_PTR(Entity_YellowBlock), -560, 60, -120, 0, ITEM_POW_BLOCK, MAKE_ENTITY_END) + EVT_CALL(AssignBlockFlag, GF_NOK12_ItemBlock_POWBlock) + EVT_CALL(MakeEntity, EVT_PTR(Entity_BrickBlock), -165, 60, -130, 0, MAKE_ENTITY_END) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_BreakBlock_Ambush))) + EVT_CALL(MakeEntity, EVT_PTR(Entity_BrickBlock), 520, 110, -180, 0, MAKE_ENTITY_END) + EVT_CALL(MakeEntity, EVT_PTR(Entity_BrickBlock), 595, 110, -180, 0, MAKE_ENTITY_END) + EVT_CALL(MakeEntity, EVT_PTR(Entity_BrickBlock), 720, 135, -180, 0, MAKE_ENTITY_END) + EVT_CALL(MakeEntity, EVT_PTR(Entity_MulticoinBlock), 820, 135, -180, 0, MAKE_ENTITY_END) + EVT_CALL(AssignBlockFlag, GF_NOK12_MultiCoinBrick) + EVT_CALL(MakeItemEntity, ITEM_STAR_PIECE, -220, -50, 155, ITEM_SPAWN_MODE_FIXED_NEVER_VANISH, GF_NOK12_Item_StarPiece) + EVT_CALL(MakeItemEntity, ITEM_SLEEPY_SHEEP, 392, 25, -145, ITEM_SPAWN_MODE_FIXED_NEVER_VANISH, GF_NOK12_Item_SleepySheep) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_12/nok_12_4_bridge.c b/src/world/area_nok/nok_12/nok_12_4_bridge.c new file mode 100644 index 0000000000..dc4aba8cd1 --- /dev/null +++ b/src/world/area_nok/nok_12/nok_12_4_bridge.c @@ -0,0 +1,140 @@ +#include "nok_12.h" + +#include "world/common/todo/SetCamera0Flag1000.inc.c" +#include "world/common/todo/UnsetCamera0Flag1000.inc.c" + +EvtScript N(EVS_Scene_BuildBridge) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_WAIT(20) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_SET_GROUP(EVT_GROUP_00) + EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_PARTIAL) + EVT_CALL(N(SetCamera0Flag1000)) + EVT_CALL(InterpCamTargetPos, CAM_DEFAULT, 1, -272, 0, -56, 20) + EVT_WAIT(15) + EVT_CALL(PlaySoundAt, SOUND_71, 0, -275, 0, -39) + EVT_CALL(MakeLerp, -320, 0, 15, EASING_QUADRATIC_IN) + EVT_LABEL(10) + EVT_CALL(UpdateLerp) + EVT_CALL(TranslateGroup, MODEL_hashi, 0, LVar0, 0) + EVT_WAIT(1) + EVT_IF_NE(LVar1, 0) + EVT_GOTO(10) + EVT_END_IF + EVT_LOOP(6) + EVT_CALL(TranslateGroup, MODEL_hashi, 0, 3, 0) + EVT_WAIT(1) + EVT_CALL(TranslateGroup, MODEL_hashi, 0, 0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_WAIT(15) + EVT_CALL(PlaySoundAt, SOUND_72, 0, -275, 0, -39) + EVT_CALL(MakeLerp, 0, 90, 10, EASING_QUADRATIC_IN) + EVT_LABEL(20) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, MODEL_o97, LVar0, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o95, LVar0, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o94, LVar0, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o96, LVar0, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o93, LVar0, -1, 0, 0) + EVT_CALL(TranslateModel, MODEL_o91, 0, -80, 0) + EVT_CALL(TranslateModel, MODEL_o101, 0, -80, 0) + EVT_CALL(TranslateModel, MODEL_o92, 0, -80, 0) + EVT_CALL(TranslateModel, MODEL_o99, 0, -80, 0) + EVT_CALL(TranslateModel, MODEL_o100, 0, -80, 0) + EVT_CALL(RotateModel, MODEL_o91, LVar0, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o101, LVar0, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o92, LVar0, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o99, LVar0, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o100, LVar0, -1, 0, 0) + EVT_CALL(TranslateModel, MODEL_o91, 0, 80, 0) + EVT_CALL(TranslateModel, MODEL_o101, 0, 80, 0) + EVT_CALL(TranslateModel, MODEL_o92, 0, 80, 0) + EVT_CALL(TranslateModel, MODEL_o99, 0, 80, 0) + EVT_CALL(TranslateModel, MODEL_o100, 0, 80, 0) + EVT_WAIT(1) + EVT_IF_NE(LVar1, 0) + EVT_GOTO(20) + EVT_END_IF + EVT_WAIT(10) + EVT_CALL(PlaySoundAt, SOUND_73, 0, -275, 0, -39) + EVT_CALL(MakeLerp, 0, 90, 10, EASING_QUADRATIC_IN) + EVT_LABEL(30) + EVT_CALL(UpdateLerp) + EVT_CALL(TranslateModel, MODEL_o91, 0, -80, 0) + EVT_CALL(TranslateModel, MODEL_o101, 0, -80, 0) + EVT_CALL(TranslateModel, MODEL_o92, 0, -80, 0) + EVT_CALL(TranslateModel, MODEL_o99, 0, -80, 0) + EVT_CALL(TranslateModel, MODEL_o100, 0, -80, 0) + EVT_CALL(RotateModel, MODEL_o91, 90, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o101, 90, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o92, 90, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o99, 90, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o100, 90, -1, 0, 0) + EVT_CALL(TranslateModel, MODEL_o91, 0, 80, 0) + EVT_CALL(TranslateModel, MODEL_o101, 0, 80, 0) + EVT_CALL(TranslateModel, MODEL_o92, 0, 80, 0) + EVT_CALL(TranslateModel, MODEL_o99, 0, 80, 0) + EVT_CALL(TranslateModel, MODEL_o100, 0, 80, 0) + EVT_CALL(RotateModel, MODEL_o91, LVar0, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o101, LVar0, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o92, LVar0, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o99, LVar0, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o100, LVar0, -1, 0, 0) + EVT_WAIT(1) + EVT_IF_NE(LVar1, 0) + EVT_GOTO(30) + EVT_END_IF + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_CLEAR_BITS, COLLIDER_o204, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_tt1, COLLIDER_FLAGS_UPPER_MASK) + EVT_WAIT(10) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(InterpCamTargetPos, CAM_DEFAULT, 1, LVar0, LVar1, LVar2, 10) + EVT_CALL(N(UnsetCamera0Flag1000)) + EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_NORMAL) + EVT_CALL(DisablePlayerPhysics, FALSE) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_SET(GB_StoryProgress, STORY_CH1_MADE_FIRST_BRIDGE) + EVT_CALL(SetGroupEnabled, MODEL_off, 0) + EVT_UNBIND + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetupBridge) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH1_MADE_FIRST_BRIDGE) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_Scene_BuildBridge)), TRIGGER_AREA_FLAG_SET, AF_NOK_01, 1, 0) + EVT_CALL(TranslateGroup, MODEL_hashi, 0, -320, 0) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o204, COLLIDER_FLAGS_UPPER_MASK) + EVT_RETURN + EVT_END_IF + EVT_CALL(SetGroupEnabled, MODEL_off, 0) + EVT_CALL(RotateModel, MODEL_o97, 90, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o95, 90, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o94, 90, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o96, 90, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o93, 90, -1, 0, 0) + EVT_CALL(TranslateModel, MODEL_o91, 0, -80, 0) + EVT_CALL(TranslateModel, MODEL_o101, 0, -80, 0) + EVT_CALL(TranslateModel, MODEL_o92, 0, -80, 0) + EVT_CALL(TranslateModel, MODEL_o99, 0, -80, 0) + EVT_CALL(TranslateModel, MODEL_o100, 0, -80, 0) + EVT_CALL(RotateModel, MODEL_o91, 90, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o101, 90, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o92, 90, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o99, 90, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o100, 90, -1, 0, 0) + EVT_CALL(TranslateModel, MODEL_o91, 0, 80, 0) + EVT_CALL(TranslateModel, MODEL_o101, 0, 80, 0) + EVT_CALL(TranslateModel, MODEL_o92, 0, 80, 0) + EVT_CALL(TranslateModel, MODEL_o99, 0, 80, 0) + EVT_CALL(TranslateModel, MODEL_o100, 0, 80, 0) + EVT_CALL(RotateModel, MODEL_o91, 90, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o101, 90, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o92, 90, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o99, 90, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o100, 90, -1, 0, 0) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_tt1, COLLIDER_FLAGS_UPPER_MASK) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_12/nok_12_5_foliage.c b/src/world/area_nok/nok_12/nok_12_5_foliage.c new file mode 100644 index 0000000000..d1a02dd01e --- /dev/null +++ b/src/world/area_nok/nok_12/nok_12_5_foliage.c @@ -0,0 +1,25 @@ +#include "nok_12.h" + +#include "common/foliage.inc.c" + +FoliageModelList N(Tree1_LeafModels) = FOLIAGE_MODEL_LIST(MODEL_o342); +FoliageModelList N(Tree1_TrunkModels) = FOLIAGE_MODEL_LIST(MODEL_o343); + +ShakeTreeConfig N(ShakeTree_Tree1) = { + .leaves = &N(Tree1_LeafModels), + .trunk = &N(Tree1_TrunkModels), + .callback = &N(EVS_OnShakeTree_DropSwitch), +}; + +BombTrigger N(BombPos_Tree1) = { + .pos = { -422.0f, 0.0f, -120.0f }, + .radius = 0.0f +}; + +EvtScript N(EVS_SetupFoliage) = { + EVT_SET(LVar0, EVT_PTR(N(ShakeTree_Tree1))) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ShakeTree)), TRIGGER_WALL_HAMMER, COLLIDER_o397, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ShakeTree)), TRIGGER_POINT_BOMB, EVT_PTR(N(BombPos_Tree1)), 1, 0) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_12/nok_12_6_npc.c b/src/world/area_nok/nok_12/nok_12_6_npc.c new file mode 100644 index 0000000000..7da045ca35 --- /dev/null +++ b/src/world/area_nok/nok_12/nok_12_6_npc.c @@ -0,0 +1,232 @@ +#include "nok_12.h" + +#include "world/common/enemy/complete/KoopaTroopa_Wander.inc.c" +#include "world/common/enemy/complete/KoopaTroopa_Patrol.inc.c" +#include "world/common/enemy/complete/Goomba_Wander.inc.c" +#include "world/common/enemy/complete/SpikedGoomba_Wander.inc.c" +#include "world/common/enemy/complete/SpikedGoomba_Patrol.inc.c" + +// 'sleep' on top of brick block until it's broken +EvtScript N(EVS_NpcIdle_SpikedGoomba) = { + EVT_LABEL(0) + EVT_CALL(GetSelfVar, 0, LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_SpikedGoomba_Sleep) + EVT_THREAD + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_3E1, 0) + EVT_CALL(MakeLerp, -90, 0, 10, EASING_LINEAR) + EVT_LABEL(1) + EVT_CALL(UpdateLerp) + EVT_CALL(SetNpcRotation, NPC_SELF, LVar0, 0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(1) + EVT_END_IF + EVT_CALL(GetNpcPos, NPC_SELF, LVarA, LVarB, LVarC) + EVT_CALL(MakeLerp, 0, 360, 15, EASING_LINEAR) + EVT_LABEL(2) + EVT_CALL(UpdateLerp) + EVT_CALL(SetNpcRotation, NPC_SELF, 0, LVar0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(2) + EVT_END_IF + EVT_CALL(SetNpcRotation, NPC_SELF, 0, 0, 0) + EVT_END_THREAD + EVT_CALL(SetNpcJumpscale, NPC_SELF, EVT_FLOAT(0.7)) + EVT_CALL(NpcJump0, NPC_SELF, -65, 0, -120, 25) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_SpikedGoomba_Hurt) + EVT_WAIT(20) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_SpikedGoomba_Idle) + EVT_CALL(BindNpcAI, NPC_SELF, EVT_PTR(N(EVS_NpcAI_SpikedGoomba_Wander))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_SpikedGoomba) = { + EVT_CALL(SetNpcPos, NPC_SELF, -165, 86, -118) + EVT_CALL(SetNpcRotation, NPC_SELF, -85, 0, 0) + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_SpikedGoomba))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcIdle_KoopaTroopa_02) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_KoopaTroopa_Demo_MissAttack) = { + EVT_WAIT(45) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_KoopaTroopa_ShellEnter) + EVT_WAIT(8) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_KoopaTroopa_ShellSpin) + EVT_WAIT(6) + EVT_CALL(GetNpcPos, NPC_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 80) + EVT_ADD(LVar2, 100) + EVT_CALL(NpcMoveTo, NPC_SELF, LVar0, LVar2, 12) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_KoopaTroopa_ShellExit) + EVT_WAIT(8) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_KoopaTroopa_Idle) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KoopaTroopa_02) = { + EVT_CALL(GetEntryID, LVar0) + EVT_IF_GE(LVar0, nok_12_ENTRY_2) + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_KoopaTroopa_02))) + EVT_CALL(SetNpcPos, NPC_SELF, 310, 0, -165) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KoopaTroopa_02_Demo) = { + EVT_CALL(GetEntryID, LVar0) + EVT_IF_GE(LVar0, nok_12_ENTRY_2) + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_KoopaTroopa_Demo_MissAttack))) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_KoopaTroopa_01) = { + .id = NPC_KoopaTroopa_01, + .settings = &N(NpcSettings_KoopaTroopa_Patrol), + .pos = { -370.0f, 0.0f, -25.0f }, + .yaw = 270, + .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800, + .drops = KOOPA_TROOPA_NOK_DROPS, + .territory = { + .patrol = { + .isFlying = TRUE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .numPoints = 2, + .points = { + { -370, 0, -25 }, + { -455, 0, -25 }, + }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { -436, 0, -104 }, + .detectSize = { 200 }, + } + }, + .animations = KOOPA_TROOPA_ANIMS, + .aiDetectFlags = AI_DETECT_SIGHT, +}; + +StaticNpc N(NpcData_KoopaTroopa_02) = { + .id = NPC_KoopaTroopa_02, + .settings = &N(NpcSettings_KoopaTroopa_Wander), + .pos = { 563.0f, 50.0f, -43.0f }, + .yaw = 270, + .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_KoopaTroopa_02), + .drops = KOOPA_TROOPA_NOK_DROPS, + .territory = { + .wander = { + .isFlying = FALSE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_CYLINDER, + .centerPos = { 563, 50, -43 }, + .wanderSize = { 50 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { 563, 50, -43 }, + .detectSize = { 500 }, + } + }, + .animations = KOOPA_TROOPA_ANIMS, + .aiDetectFlags = AI_DETECT_SIGHT, +}; + +StaticNpc N(NpcData_KoopaTroopa_02_Demo) = { + .id = NPC_KoopaTroopa_02, + .settings = &N(NpcSettings_KoopaTroopa_Wander), + .pos = { 600.0f, 50.0f, -75.0f }, + .yaw = 270, + .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_KoopaTroopa_02_Demo), + .drops = KOOPA_TROOPA_NOK_DROPS, + .territory = { + .wander = { + .isFlying = FALSE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_CYLINDER, + .centerPos = { 563, 50, -43 }, + .wanderSize = { 50 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { 563, 50, -43 }, + .detectSize = { 500 }, + } + }, + .animations = KOOPA_TROOPA_ANIMS, + .aiDetectFlags = AI_DETECT_SIGHT, +}; + +StaticNpc N(NpcData_Goomba) = { + .id = NPC_Goomba, + .settings = &N(NpcSettings_Goomba_Wander), + .pos = { 50.0f, 0.0f, -72.0f }, + .yaw = 270, + .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800, + .drops = GOOMBA_DROPS, + .territory = { + .wander = { + .isFlying = TRUE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_CYLINDER, + .centerPos = { 50, 0, -72 }, + .wanderSize = { 50 }, + .detectShape = SHAPE_RECT, + .detectPos = { 50, 0, -72 }, + .detectSize = { 150, 80 }, + } + }, + .animations = GOOMBA_ANIMS, + .aiDetectFlags = AI_DETECT_SIGHT, +}; + +StaticNpc N(NpcData_SpikedGoomba) = { + .id = NPC_SpikedGoomba, + .settings = &N(NpcSettings_SpikedGoomba_Wander), + .pos = { -160.0f, 0.0f, -120.0f }, + .yaw = 270, + .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_SpikedGoomba), + .drops = SPIKED_GOOMBA_DROPS, + .territory = { + .wander = { + .isFlying = TRUE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_CYLINDER, + .centerPos = { -84, 0, -72 }, + .wanderSize = { 50 }, + .detectShape = SHAPE_RECT, + .detectPos = { -84, 0, -72 }, + .detectSize = { 150, 80 }, + } + }, + .animations = SPIKED_GOOMBA_ANIMS, + .aiDetectFlags = AI_DETECT_SIGHT, +}; + +NpcGroupList N(DefaultNPCs) = { + NPC_GROUP(N(NpcData_KoopaTroopa_01), BTL_NOK_FORMATION_09, BTL_NOK_STAGE_00), + NPC_GROUP(N(NpcData_KoopaTroopa_02), BTL_NOK_FORMATION_0F, BTL_NOK_STAGE_00), + NPC_GROUP(N(NpcData_Goomba), BTL_NOK_FORMATION_01, BTL_NOK_STAGE_01), + NPC_GROUP(N(NpcData_SpikedGoomba), BTL_NOK_FORMATION_04, BTL_NOK_STAGE_01), + {} +}; + +NpcGroupList N(DemoNPCs) = { + NPC_GROUP(N(NpcData_KoopaTroopa_01), BTL_NOK_FORMATION_09, BTL_NOK_STAGE_00), + NPC_GROUP(N(NpcData_KoopaTroopa_02_Demo), BTL_NOK_FORMATION_0F, BTL_NOK_STAGE_00), + NPC_GROUP(N(NpcData_Goomba), BTL_NOK_FORMATION_01, BTL_NOK_STAGE_01), + NPC_GROUP(N(NpcData_SpikedGoomba), BTL_NOK_FORMATION_04, BTL_NOK_STAGE_01), + {} +}; diff --git a/src/world/area_nok/nok_12/nok_12_7_demo.c b/src/world/area_nok/nok_12/nok_12_7_demo.c new file mode 100644 index 0000000000..8e14fe2ffe --- /dev/null +++ b/src/world/area_nok/nok_12/nok_12_7_demo.c @@ -0,0 +1,204 @@ + + +#include "nok_12.h" +#include "world/partners.h" + +EvtScript N(EVS_ProvideDemoInputs1) = { + EVT_CALL(DemoJoystickXY, 79, -7) + EVT_WAIT(28) + EVT_CALL(DemoSetButtons, BUTTON_A) + EVT_WAIT(18) + EVT_CALL(DemoSetButtons, 0) + EVT_WAIT(11) + EVT_CALL(DemoSetButtons, BUTTON_A) + EVT_WAIT(7) + EVT_CALL(DemoSetButtons, 0) + EVT_WAIT(13) + EVT_CALL(DemoSetButtons, BUTTON_A) + EVT_WAIT(16) + EVT_CALL(DemoSetButtons, 0) + EVT_WAIT(12) + EVT_CALL(DemoSetButtons, BUTTON_A) + EVT_WAIT(14) + EVT_CALL(DemoSetButtons, 0) + EVT_WAIT(10) + EVT_IF_EQ(GF_DemoSceneDone, TRUE) + EVT_RETURN + EVT_END_IF + EVT_SET(GF_DemoSceneDone, TRUE) + EVT_CALL(GotoMapSpecial, EVT_PTR("nok_12"), nok_12_ENTRY_2, TRANSITION_2) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_MonitorDemoState1) = { + EVT_WAIT(10) + EVT_LOOP(0) + EVT_CALL(GetDemoState, LVar0) + EVT_IF_EQ(LVar0, DEMO_STATE_CHANGE_MAP) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(GF_DemoSceneDone, TRUE) + EVT_RETURN + EVT_END_IF + EVT_SET(GF_DemoSceneDone, TRUE) + EVT_CALL(GotoMapSpecial, EVT_PTR("nok_12"), nok_12_ENTRY_2, TRANSITION_3) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ProvideDemoInputs2) = { + EVT_WAIT(13) + EVT_CALL(DemoSetButtons, BUTTON_B) + EVT_WAIT(3) + EVT_CALL(DemoSetButtons, 0) + EVT_WAIT(160) + EVT_CALL(DemoJoystickXY, 0, 0) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 0, -6) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 1, -11) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 3, -18) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 7, -31) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 12, -42) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 16, -49) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 25, -56) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 36, -60) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 47, -61) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 52, -59) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 55, -52) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 56, -48) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 58, -44) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 61, -41) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 62, -40) + EVT_WAIT(20) + EVT_CALL(DemoJoystickXY, 63, -41) + EVT_WAIT(5) + EVT_CALL(DemoJoystickXY, 64, -41) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 67, -39) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 68, -39) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 68, -39) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 70, 0) + EVT_WAIT(20) + EVT_IF_EQ(GF_DemoSceneDone, TRUE) + EVT_RETURN + EVT_END_IF + EVT_SET(GF_DemoSceneDone, TRUE) + EVT_CALL(GotoMapSpecial, EVT_PTR("nok_12"), nok_12_ENTRY_2, TRANSITION_2) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_MonitorDemoState2) = { + EVT_WAIT(10) + EVT_LOOP(0) + EVT_CALL(GetDemoState, LVar0) + EVT_IF_EQ(LVar0, DEMO_STATE_CHANGE_MAP) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(GF_DemoSceneDone, TRUE) + EVT_RETURN + EVT_END_IF + EVT_SET(GF_DemoSceneDone, TRUE) + EVT_CALL(GotoMapSpecial, EVT_PTR("nok_12"), nok_12_ENTRY_2, TRANSITION_3) + EVT_WAIT(216) + EVT_RETURN + EVT_END +}; + +s32 N(DemoInitState1) = 0; + +API_CALLABLE(N(SetupDemoScene1)) { + PlayerStatus* playerStatus = &gPlayerStatus; + + switch (N(DemoInitState1)) { + case 0: + N(DemoInitState1) = 1; + break; + case 1: + case 2: + N(DemoInitState1)++; + break; + case 3: + partner_clear_player_tracking(wPartnerNpc); + partner_set_goal_pos(playerStatus->position.x, playerStatus->position.z); + func_800EF3D4(0); + set_npc_yaw(wPartnerNpc, 90.0f); + playerStatus->targetYaw = 90.0f; + playerStatus->currentYaw = 90.0f; + playerStatus->spriteFacingAngle = 0.0f; + return ApiStatus_DONE2; + } + + return ApiStatus_BLOCK; +} + + +EvtScript N(EVS_PlayDemoScene1) = { + EVT_CALL(N(SetupDemoScene1)) + EVT_SET(GF_DemoSceneDone, FALSE) + EVT_EXEC(N(EVS_MonitorDemoState1)) + EVT_EXEC(N(EVS_ProvideDemoInputs1)) + EVT_RETURN + EVT_END +}; + +s32 N(DemoInitState2) = 0; + +API_CALLABLE(N(SetupDemoScene2)) { + PlayerStatus* playerStatus = &gPlayerStatus; + + switch (N(DemoInitState2)) { + case 0: + N(DemoInitState2) = 1; + break; + case 1: + case 2: + N(DemoInitState2)++; + break; + case 3: + partner_clear_player_tracking(wPartnerNpc); + partner_set_goal_pos(playerStatus->position.x, playerStatus->position.z); + func_800EF3D4(0); + set_npc_yaw(wPartnerNpc, 90.0f); + playerStatus->targetYaw = 90.0f; + playerStatus->currentYaw = 90.0f; + playerStatus->spriteFacingAngle = 0.0f; + return ApiStatus_DONE2; + } + + return ApiStatus_BLOCK; +} + +EvtScript N(EVS_PlayDemoScene2) = { + EVT_CALL(N(SetupDemoScene2)) + EVT_SET(GF_DemoSceneDone, FALSE) + EVT_EXEC(N(EVS_MonitorDemoState2)) + EVT_EXEC(N(EVS_ProvideDemoInputs2)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_13/A00600.c b/src/world/area_nok/nok_13/A00600.c deleted file mode 100644 index 2c31363ef1..0000000000 --- a/src/world/area_nok/nok_13/A00600.c +++ /dev/null @@ -1,8 +0,0 @@ -#include "nok_13.h" - -static char* N(exit_str_0) = "nok_12"; -static char* N(exit_str_1) = "nok_01"; -static char* N(exit_str_2) = "nok_14"; -static char* N(exit_str_3) = ""; - -#include "world/common/enemy/ai/HoppingAI.inc.c" diff --git a/src/world/area_nok/nok_13/A01420.c b/src/world/area_nok/nok_13/A01420.c deleted file mode 100644 index 362c67c5ab..0000000000 --- a/src/world/area_nok/nok_13/A01420.c +++ /dev/null @@ -1,35 +0,0 @@ -#include "nok_13.h" - -#include "world/common/util/MonitorPlayerOrbiting.inc.c" - -ApiStatus func_80241360_A01960(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 a0 = *args++; - - evt_set_variable(script, a0, atan2(-364.0f, -135.0f, gPlayerStatus.position.x, gPlayerStatus.position.z)); - return ApiStatus_DONE2; -} - -extern EvtScript D_80242134_A02734; - -void N(musical_hill_orbit_listener)(PlayerOrbitState* orbit, s32 event) { - Evt* script; - - switch (event) { - case PLAYER_ORBIT_BEGIN: - script = start_script(&D_80242134_A02734, EVT_PRIORITY_1, 0); - script->varTable[0] = 0x84; - break; - case PLAYER_ORBIT_COMPLETE_ROTATION: - make_item_entity_nodelay(ITEM_HEART, orbit->pos.x, orbit->pos.y, orbit->pos.z, - ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS, 0); - break; - case PLAYER_ORBIT_CHANGE_DIRECTION: - case PLAYER_ORBIT_LEFT_REGION: - script = start_script(&D_80242134_A02734, EVT_PRIORITY_1, 0); - script->varTable[0] = 0x11; - break; - } - - return; -} diff --git a/src/world/area_nok/nok_13/nok_13.h b/src/world/area_nok/nok_13/nok_13.h index 7f2b639a27..840b4b0e10 100644 --- a/src/world/area_nok/nok_13/nok_13.h +++ b/src/world/area_nok/nok_13/nok_13.h @@ -2,8 +2,22 @@ /// @brief Koopa Region - Pleasant Crossroads #include "common.h" -#include "../nok.h" #include "message_ids.h" #include "map.h" +#include "../nok.h" +#include "mapfs/nok_13_shape.h" +#include "mapfs/nok_13_hit.h" + +enum { + NPC_UnusedFuzzy = 1, +}; + #define NAMESPACE nok_13 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_SetupMusicalHill); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(DefaultNPCs); + diff --git a/src/world/area_nok/nok_13/nok_13_0_header.c b/src/world/area_nok/nok_13/nok_13_0_header.c new file mode 100644 index 0000000000..19f8c711fa --- /dev/null +++ b/src/world/area_nok/nok_13/nok_13_0_header.c @@ -0,0 +1,15 @@ +#include "nok_13.h" + +EntryList N(Entrances) = { + [nok_13_ENTRY_0] { -488.0, 150.0, 0.0, 90.0 }, + [nok_13_ENTRY_1] { 165.0, 0.0, -483.0, 180.0 }, + [nok_13_ENTRY_2] { 277.0, 150.0, 210.0, 315.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .background = &gBackgroundImage, + .tattle = { MSG_MapTattle_nok_13 }, +}; diff --git a/src/world/area_nok/nok_13/nok_13_1_music.c b/src/world/area_nok/nok_13/nok_13_1_music.c new file mode 100644 index 0000000000..5258a296ad --- /dev/null +++ b/src/world/area_nok/nok_13/nok_13_1_music.c @@ -0,0 +1,8 @@ +#include "nok_13.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_CALL(SetMusicTrack, 0, SONG_PLEASANT_PATH, 0, 8) + EVT_CALL(PlaySound, SOUND_8000005B) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_13/nok_13_2_main.c b/src/world/area_nok/nok_13/nok_13_2_main.c new file mode 100644 index 0000000000..9ff08ba84d --- /dev/null +++ b/src/world/area_nok/nok_13/nok_13_2_main.c @@ -0,0 +1,104 @@ +#include "nok_13.h" + +EvtScript N(EVS_ExitWalk_nok_12_1) = { + EVT_CALL(UseExitHeading, 60, nok_13_ENTRY_0) + EVT_EXEC(ExitWalk) + EVT_CALL(GotoMap, EVT_PTR("nok_12"), nok_12_ENTRY_1) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ExitWalk_nok_01_0) = { + EVT_CALL(UseExitHeading, 60, nok_13_ENTRY_1) + EVT_EXEC(ExitWalk) + EVT_CALL(GotoMap, EVT_PTR("nok_01"), nok_01_ENTRY_0) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ExitWalk_nok_14_0) = { + EVT_CALL(UseExitHeading, 60, nok_13_ENTRY_2) + EVT_EXEC(ExitWalk) + EVT_CALL(GotoMap, EVT_PTR("nok_14"), nok_14_ENTRY_0) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +MAP_RODATA_PAD(1, exits); + +EvtScript N(EVS_TexPan_Flowers) = { + EVT_CALL(SetTexPanner, MODEL_hana1, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_hana2, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_hanahana, TEX_PANNER_0) + EVT_LABEL(10) + EVT_LOOP(12) + EVT_CALL(SetTexPanOffset, TEX_PANNER_0, TEX_PANNER_MAIN, 0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_LOOP(12) + EVT_CALL(SetTexPanOffset, TEX_PANNER_0, TEX_PANNER_MAIN, 0x4000, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_GOTO(10) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_TexPan_Water) = { + EVT_THREAD + EVT_CALL(SetTexPanner, MODEL_suimen1, TEX_PANNER_1) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 0) + EVT_SET(LVar2, 0) + EVT_LABEL(10) + EVT_CALL(SetTexPanOffset, TEX_PANNER_1, TEX_PANNER_MAIN, LVar0, 0) + EVT_CALL(SetTexPanOffset, TEX_PANNER_1, TEX_PANNER_AUX, LVar1, LVar2) + EVT_SUB(LVar0, 100) + EVT_SUB(LVar1, 400) + EVT_ADD(LVar1, 1000) + EVT_WAIT(1) + EVT_GOTO(10) + EVT_END_THREAD + EVT_CALL(SetTexPanner, MODEL_kabemizu1, TEX_PANNER_2) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 0) + EVT_SET(LVar2, 0) + EVT_LABEL(20) + EVT_CALL(SetTexPanOffset, TEX_PANNER_2, TEX_PANNER_MAIN, LVar0, 0) + EVT_CALL(SetTexPanOffset, TEX_PANNER_2, TEX_PANNER_AUX, LVar1, LVar2) + EVT_SUB(LVar0, 100) + EVT_ADD(LVar1, 800) + EVT_SUB(LVar1, 400) + EVT_WAIT(1) + EVT_GOTO(20) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_BindExitTriggers) = { + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_nok_12_1)), TRIGGER_FLOOR_ABOVE, COLLIDER_deili2, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_nok_01_0)), TRIGGER_FLOOR_ABOVE, COLLIDER_deili1, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_nok_14_0)), TRIGGER_FLOOR_ABOVE, COLLIDER_deili3, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_PLEASANT_PATH) + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SETUP_CAMERA_ALT_NO_LEAD() + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) + EVT_EXEC_WAIT(N(EVS_MakeEntities)) + EVT_EXEC(N(EVS_TexPan_Flowers)) + EVT_EXEC(N(EVS_TexPan_Water)) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_EXEC(N(EVS_SetupMusicalHill)) + EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers))) + EVT_EXEC(EnterWalk) + EVT_WAIT(1) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_13/nok_13_3_entity.c b/src/world/area_nok/nok_13/nok_13_3_entity.c new file mode 100644 index 0000000000..540e3ba0ee --- /dev/null +++ b/src/world/area_nok/nok_13/nok_13_3_entity.c @@ -0,0 +1,68 @@ +#include "nok_13.h" +#include "entity.h" +#include "effects.h" + +EvtScript N(EVS_BreakBlock_First) = { + EVT_IF_EQ(AB_NOK_1, 0) + EVT_SET(AB_NOK_1, 1) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_BreakBlock_Second) = { + EVT_IF_EQ(AB_NOK_1, 1) + EVT_SET(AB_NOK_1, 2) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_BreakBlock_Third) = { + EVT_IF_EQ(AB_NOK_1, 2) + EVT_CALL(PlaySound, SOUND_B) + EVT_CALL(PlaySoundAt, SOUND_2108, 0, 40, 60, -285) + EVT_SET(AB_NOK_1, 3) + EVT_PLAY_EFFECT(EFFECT_SPARKLES, 0, 40, 73, -285, 10) + EVT_CALL(MakeEntity, EVT_PTR(Entity_RedBlock), 40, 60, -285, 90, ITEM_ATTACK_FX_B, MAKE_ENTITY_END) + EVT_CALL(AssignBlockFlag, GF_NOK13_BadgeBlock_AttackFXB) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ReadSign_Directions) = { + EVT_SET_GROUP(EVT_GROUP_00) + EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_PARTIAL) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_0178, 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), -430, 150, -75, 0, MAKE_ENTITY_END) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_ReadSign_Directions))) + EVT_IF_EQ(GF_NOK13_BadgeBlock_AttackFXB, FALSE) + EVT_SET(AB_NOK_1, 0) + EVT_CALL(MakeEntity, EVT_PTR(Entity_BrickBlock), 70, 0, -250, 90, MAKE_ENTITY_END) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_BreakBlock_First))) + EVT_CALL(MakeEntity, EVT_PTR(Entity_BrickBlock), 70, 0, -320, 90, MAKE_ENTITY_END) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_BreakBlock_Second))) + EVT_CALL(MakeEntity, EVT_PTR(Entity_BrickBlock), -10, 0, -285, 90, MAKE_ENTITY_END) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_BreakBlock_Third))) + EVT_ELSE + EVT_CALL(MakeEntity, EVT_PTR(Entity_BrickBlock), 70, 0, -250, 90, MAKE_ENTITY_END) + EVT_CALL(MakeEntity, EVT_PTR(Entity_BrickBlock), 70, 0, -320, 90, MAKE_ENTITY_END) + EVT_CALL(MakeEntity, EVT_PTR(Entity_BrickBlock), -10, 0, -285, 90, MAKE_ENTITY_END) + EVT_CALL(MakeEntity, EVT_PTR(Entity_RedBlock), 40, 60, -285, 90, ITEM_ATTACK_FX_B, MAKE_ENTITY_END) + EVT_CALL(AssignBlockFlag, GF_NOK13_BadgeBlock_AttackFXB) + EVT_END_IF + EVT_CALL(MakeEntity, EVT_PTR(Entity_HiddenPanel), -255, 150, -100, 90, MODEL_jimen_u, MAKE_ENTITY_END) + EVT_CALL(AssignPanelFlag, GF_NOK13_HiddenPanel) + EVT_CALL(MakeItemEntity, ITEM_HONEY_SYRUP, -155, 150, -130, ITEM_SPAWN_MODE_FIXED_NEVER_VANISH, GF_NOK13_Item_HoneySyrup) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_13/nok_13_4_npc.c b/src/world/area_nok/nok_13/nok_13_4_npc.c new file mode 100644 index 0000000000..31131d2524 --- /dev/null +++ b/src/world/area_nok/nok_13/nok_13_4_npc.c @@ -0,0 +1,28 @@ +#include "nok_13.h" + +#include "world/common/enemy/complete/Fuzzy.inc.c" + +StaticNpc N(NpcData_Fuzzy) = { + .id = NPC_UnusedFuzzy, + .settings = &N(NpcSettings_Fuzzy), + .pos = { 175.0f, 0.0f, -270.0f }, + .yaw = 180, + .drops = FUZZY_DROPS, + .territory = { + .wander = { + .isFlying = FALSE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_CYLINDER, + .centerPos = { 175, 0, -270 }, + .wanderSize = { 70 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { 175, 0, -270 }, + .detectSize = { 200 }, + } + }, + .animations = FUZZY_ANIMS, +}; + +NpcGroupList N(DefaultNPCs) = { + {} +}; diff --git a/src/world/area_nok/nok_13/nok_13_5.c b/src/world/area_nok/nok_13/nok_13_5.c new file mode 100644 index 0000000000..6728c35027 --- /dev/null +++ b/src/world/area_nok/nok_13/nok_13_5.c @@ -0,0 +1,64 @@ +#include "nok_13.h" + +#include "world/common/util/MonitorPlayerOrbiting.inc.c" + +API_CALLABLE(N(GetAngleToPlayer)) { + Bytecode* args = script->ptrReadPos; + s32 outVar = *args++; + + evt_set_variable(script, outVar, atan2(-364.0f, -135.0f, gPlayerStatus.position.x, gPlayerStatus.position.z)); + return ApiStatus_DONE2; +} + +EvtScript N(EVS_RotateHillTowardPlayer) = { + EVT_LABEL(0) + EVT_CALL(N(GetAngleToPlayer), LVar0) + EVT_ADD(LVar0, 180) + EVT_CALL(RotateModel, MODEL_o363, LVar0, 0, -1, 0) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_PlaySong) = { + EVT_CALL(SetMusicTrack, 0, LVar0, 0, 8) + EVT_RETURN + EVT_END +}; + +void N(musical_hill_orbit_listener)(PlayerOrbitState* orbit, s32 event) { + Evt* script; + + switch (event) { + case PLAYER_ORBIT_BEGIN: + script = start_script(&N(EVS_PlaySong), EVT_PRIORITY_1, 0); + script->varTable[0] = SONG_CANDY_CANES; + break; + case PLAYER_ORBIT_COMPLETE_ROTATION: + make_item_entity_nodelay(ITEM_HEART, orbit->pos.x, orbit->pos.y, orbit->pos.z, + ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS, 0); + break; + case PLAYER_ORBIT_CHANGE_DIRECTION: + case PLAYER_ORBIT_LEFT_REGION: + script = start_script(&N(EVS_PlaySong), EVT_PRIORITY_1, 0); + script->varTable[0] = SONG_PLEASANT_PATH; + break; + } + + return; +} + +PlayerOrbitTarget N(RunAroundTarget) = { + .pos = { -364, 190, -135 }, + .startRadius = 50, + .orbitRadius = 100, + .eventListener = N(musical_hill_orbit_listener), +}; + +EvtScript N(EVS_SetupMusicalHill) = { + EVT_EXEC(N(EVS_RotateHillTowardPlayer)) + EVT_CALL(N(MonitorPlayerOrbiting), EVT_PTR(N(RunAroundTarget))) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_14/nok_14_2_main.c b/src/world/area_nok/nok_14/nok_14_2_main.c index 00cc451356..b0294c00ae 100644 --- a/src/world/area_nok/nok_14/nok_14_2_main.c +++ b/src/world/area_nok/nok_14/nok_14_2_main.c @@ -3,7 +3,7 @@ API_CALLABLE(N(UpdateEnounterStages)) { PlayerStatus* playerStatus = &gPlayerStatus; EncounterStatus* encounterStatus = &gCurrentEncounter; - Bytecode *args = script->ptrReadPos; + Bytecode* args = script->ptrReadPos; s32 xMin = evt_get_variable(script, *args++); s32 xMax = evt_get_variable(script, *args++); s32 zMin = evt_get_variable(script, *args++); @@ -25,25 +25,8 @@ API_CALLABLE(N(UpdateEnounterStages)) { return ApiStatus_DONE2; } -// EVT_EXIT_WALK without EVT_SET_GROUP -EvtScript N(EVS_ExitWalk_nok_13_2) = { - EVT_CALL(UseExitHeading, 60, nok_14_ENTRY_0) - EVT_EXEC(ExitWalk) - EVT_CALL(GotoMap, EVT_PTR("nok_13"), nok_13_ENTRY_2) - EVT_WAIT(100) - EVT_RETURN - EVT_END -}; - -// EVT_EXIT_WALK without EVT_SET_GROUP -EvtScript N(EVS_ExitWalk_nok_15_0) = { - EVT_CALL(UseExitHeading, 60, nok_14_ENTRY_1) - EVT_EXEC(ExitWalk) - EVT_CALL(GotoMap, EVT_PTR("nok_15"), nok_15_ENTRY_0) - EVT_WAIT(100) - EVT_RETURN - EVT_END -}; +EvtScript N(EVS_ExitWalk_nok_13_2) = EVT_EXIT_WALK_NOK(60, nok_14_ENTRY_0, "nok_13", nok_13_ENTRY_2); +EvtScript N(EVS_ExitWalk_nok_15_0) = EVT_EXIT_WALK_NOK(60, nok_14_ENTRY_1, "nok_15", nok_15_ENTRY_0); EvtScript N(EVS_TexPan_Flowers) = { EVT_SET_GROUP(EVT_GROUP_00) @@ -74,7 +57,7 @@ EvtScript N(EVS_TexPan_Water) = { EVT_SET(LVar2, 0) EVT_LABEL(10) EVT_CALL(SetTexPanOffset, TEX_PANNER_1, TEX_PANNER_MAIN, LVar0, 0) - EVT_CALL(SetTexPanOffset, TEX_PANNER_1, TEX_PANNER_AUX, LVar1, LVar2) + EVT_CALL(SetTexPanOffset, TEX_PANNER_1, TEX_PANNER_AUX, LVar1, LVar2) EVT_SUB(LVar0, 100) EVT_SUB(LVar1, 400) EVT_ADD(LVar1, 1000) @@ -89,7 +72,7 @@ EvtScript N(EVS_TexPan_Water) = { EVT_SET(LVar2, 0) EVT_LABEL(20) EVT_CALL(SetTexPanOffset, TEX_PANNER_2, TEX_PANNER_MAIN, LVar0, 0) - EVT_CALL(SetTexPanOffset, TEX_PANNER_2, TEX_PANNER_AUX, LVar1, LVar2) + EVT_CALL(SetTexPanOffset, TEX_PANNER_2, TEX_PANNER_AUX, LVar1, LVar2) EVT_SUB(LVar0, 100) EVT_ADD(LVar1, 800) EVT_SUB(LVar2, 400) diff --git a/src/world/area_nok/nok_14/nok_14_3_entity.c b/src/world/area_nok/nok_14/nok_14_3_entity.c index d25c5980e4..8feca9e656 100644 --- a/src/world/area_nok/nok_14/nok_14_3_entity.c +++ b/src/world/area_nok/nok_14/nok_14_3_entity.c @@ -27,7 +27,7 @@ EvtScript N(EVS_BreakBlock_ThunderBolt) = { EVT_CALL(GetNpcPos, NPC_KoopaTroopa_02, LVar0, LVar1, LVar2) EVT_CALL(SetItemPos, MV_Item_ThunderBolt, LVar0, LVar1, LVar2) EVT_END_LOOP - EVT_CALL(SetNpcPos, NPC_KoopaTroopa_02, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_KoopaTroopa_02, NPC_DISPOSE_LOCATION) EVT_CALL(DisablePlayerInput, FALSE) EVT_END_THREAD EVT_CALL(SetNpcPos, NPC_KoopaTroopa_02, -345, 75, -117) diff --git a/src/world/area_nok/nok_14/nok_14_4_bridge.c b/src/world/area_nok/nok_14/nok_14_4_bridge.c index 525a1517e3..e269b4ca74 100644 --- a/src/world/area_nok/nok_14/nok_14_4_bridge.c +++ b/src/world/area_nok/nok_14/nok_14_4_bridge.c @@ -3,7 +3,7 @@ #include "world/common/todo/SetCamera0Flag1000.inc.c" #include "world/common/todo/UnsetCamera0Flag1000.inc.c" -EvtScript N(EVS_Scene_AssembleBridge) = { +EvtScript N(EVS_Scene_BuildBridge) = { EVT_SET_GROUP(EVT_GROUP_00) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_PARTIAL) EVT_CALL(DisablePlayerInput, TRUE) @@ -132,7 +132,7 @@ EvtScript N(EVS_SetupBridge) = { EVT_SET(LVar0, 0) EVT_END_IF EVT_IF_EQ(LVar0, 0) - EVT_BIND_TRIGGER(EVT_PTR(N(EVS_Scene_AssembleBridge)), TRIGGER_AREA_FLAG_SET, AF_NOK_02, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_Scene_BuildBridge)), TRIGGER_AREA_FLAG_SET, AF_NOK_02, 1, 0) EVT_CALL(TranslateGroup, MODEL_hashi, 0, -200, 0) EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o255, COLLIDER_FLAGS_UPPER_MASK) EVT_RETURN diff --git a/src/world/area_nok/nok_14/nok_14_5_npc.c b/src/world/area_nok/nok_14/nok_14_5_npc.c index c8f08d8a07..42a0d04dea 100644 --- a/src/world/area_nok/nok_14/nok_14_5_npc.c +++ b/src/world/area_nok/nok_14/nok_14_5_npc.c @@ -59,7 +59,7 @@ StaticNpc N(NpcData_KoopaTroopa_01) = { .yaw = 270, .flags = ENEMY_FLAG_400 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_KoopaTroopa_01), - .drops = KOOPA_TROOPA_DROPS_B, + .drops = KOOPA_TROOPA_NOK_DROPS, .territory = { .wander = { .isFlying = FALSE, @@ -126,7 +126,7 @@ StaticNpc N(NpcData_KoopaTroopa_02) = { .yaw = 0, .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000, .init = &N(EVS_NpcInit_KoopaTroopa_02), - .drops = KOOPA_TROOPA_DROPS_B, + .drops = KOOPA_TROOPA_NOK_DROPS, .animations = KOOPA_TROOPA_ANIMS, }; diff --git a/src/world/area_nok/nok_15/nok_15_2_main.c b/src/world/area_nok/nok_15/nok_15_2_main.c index c51367a2e7..75b56052d6 100644 --- a/src/world/area_nok/nok_15/nok_15_2_main.c +++ b/src/world/area_nok/nok_15/nok_15_2_main.c @@ -4,35 +4,9 @@ #include "world/common/entity/Pipe.inc.c" #include "world/common/entity/Pipe.data.inc.c" -// EVT_EXIT_WALK without EVT_SET_GROUP -EvtScript N(EVS_ExitWalk_nok_14_1) = { - EVT_CALL(UseExitHeading, 60, nok_15_ENTRY_0) - EVT_EXEC(ExitWalk) - EVT_CALL(GotoMap, EVT_PTR("nok_14"), nok_14_ENTRY_1) - EVT_WAIT(100) - EVT_RETURN - EVT_END -}; - -// EVT_EXIT_WALK without EVT_SET_GROUP -EvtScript N(EVS_ExitWalk_trd_00_0) = { - EVT_CALL(UseExitHeading, 60, nok_15_ENTRY_1) - EVT_EXEC(ExitWalk) - EVT_CALL(GotoMap, EVT_PTR("trd_00"), trd_00_ENTRY_0) - EVT_WAIT(100) - EVT_RETURN - EVT_END -}; - -// EVT_EXIT_WALK without EVT_SET_GROUP -EvtScript N(EVS_ExitWalk_trd_00_4) = { - EVT_CALL(UseExitHeading, 60, nok_15_ENTRY_2) - EVT_EXEC(ExitWalk) - EVT_CALL(GotoMap, EVT_PTR("trd_00"), trd_00_ENTRY_4) - EVT_WAIT(100) - EVT_RETURN - EVT_END -}; +EvtScript N(EVS_ExitWalk_nok_14_1) = EVT_EXIT_WALK_NOK(60, nok_15_ENTRY_0, "nok_14", nok_14_ENTRY_1); +EvtScript N(EVS_ExitWalk_trd_00_0) = EVT_EXIT_WALK_NOK(60, nok_15_ENTRY_1, "trd_00", trd_00_ENTRY_0); +EvtScript N(EVS_ExitWalk_trd_00_4) = EVT_EXIT_WALK_NOK(60, nok_15_ENTRY_2, "trd_00", trd_00_ENTRY_4); BombTrigger N(BombPos_Wall) = { .pos = { -26.0f, 0.0f, -531.0f }, diff --git a/src/world/area_nok/nok_15/nok_15_4_npc.c b/src/world/area_nok/nok_15/nok_15_4_npc.c index d48ed733e0..43fa1cd9f6 100644 --- a/src/world/area_nok/nok_15/nok_15_4_npc.c +++ b/src/world/area_nok/nok_15/nok_15_4_npc.c @@ -10,7 +10,7 @@ StaticNpc N(NpcData_KoopaTroopa) = { .pos = { -450.0f, 0.0f, -45.0f }, .yaw = 270, .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, - .drops = KOOPA_TROOPA_DROPS_B, + .drops = KOOPA_TROOPA_NOK_DROPS, .territory = { .wander = { .isFlying = TRUE, diff --git a/src/world/area_obk/obk_01/obk_01_6_npc.c b/src/world/area_obk/obk_01/obk_01_6_npc.c index 0963e5fab8..d7f64504b7 100644 --- a/src/world/area_obk/obk_01/obk_01_6_npc.c +++ b/src/world/area_obk/obk_01/obk_01_6_npc.c @@ -19,7 +19,7 @@ s32 N(LetterList_Franky)[] = { ITEM_NONE }; -EvtScript N(EVS_LetterCheck_Franky) = { +EvtScript N(EVS_LetterPrompt_Franky) = { EVT_CALL(N(LetterDelivery_Init), NPC_Franky, ANIM_Boo_Talk, ANIM_Boo_Idle, ITEM_LETTER_TO_FRANKY, ITEM_LETTER20, @@ -161,7 +161,7 @@ EvtScript N(EVS_NpcInteract_Franky) = { EVT_CASE_GE(STORY_CH5_STAR_SPRIT_DEPARTED) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_0066) EVT_END_SWITCH - EVT_EXEC_WAIT(N(EVS_LetterCheck_Franky)) + EVT_EXEC_WAIT(N(EVS_LetterPrompt_Franky)) EVT_IF_NE(LVarC, 0) EVT_RETURN EVT_END_IF diff --git a/src/world/area_obk/obk_03/obk_03_6_npc.c b/src/world/area_obk/obk_03/obk_03_6_npc.c index e9a57602f2..26ffd64df4 100644 --- a/src/world/area_obk/obk_03/obk_03_6_npc.c +++ b/src/world/area_obk/obk_03/obk_03_6_npc.c @@ -9,7 +9,7 @@ s32 N(LetterList_Igor)[] = { ITEM_NONE }; -EvtScript N(EVS_LetterCheck_Igor) = { +EvtScript N(EVS_LetterPrompt_Igor) = { EVT_CALL(N(LetterDelivery_Init), NPC_Igor, ANIM_Boo_Talk, ANIM_Boo_Idle, ITEM_LETTER_TO_IGOR, ITEM_NONE, @@ -21,7 +21,7 @@ EvtScript N(EVS_LetterCheck_Igor) = { }; EvtScript N(EVS_LetterReward_Igor) = { - EVT_IF_EQ(LVarC, 2) + EVT_IF_EQ(LVarC, DELIVERY_ACCEPTED) EVT_GIVE_STAR_PIECE() EVT_END_IF EVT_RETURN @@ -34,7 +34,7 @@ EvtScript N(EVS_NpcInteract_Igor) = { EVT_ELSE EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_005C) EVT_END_IF - EVT_EXEC_WAIT(N(EVS_LetterCheck_Igor)) + EVT_EXEC_WAIT(N(EVS_LetterPrompt_Igor)) EVT_EXEC_WAIT(N(EVS_LetterReward_Igor)) EVT_IF_NE(LVarC, 0) EVT_RETURN diff --git a/src/world/area_omo/common/ToyTrain.inc.c b/src/world/area_omo/common/ToyTrain.inc.c index bebe29c33a..853d4fa688 100644 --- a/src/world/area_omo/common/ToyTrain.inc.c +++ b/src/world/area_omo/common/ToyTrain.inc.c @@ -526,10 +526,10 @@ EvtScript N(EVS_TrainUnk_AltE) = { EVT_WAIT(10) EVT_ADDF(LVar2, EVT_FLOAT(50.0)) EVT_CALL(AddVectorPolar, LVar0, LVar1, EVT_FLOAT(85.0), LVar2) - EVT_CALL(SetNpcAnimation, NPC_PARTNER, 0x00000102) + EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_WALK) EVT_CALL(SetNpcSpeed, NPC_PARTNER, EVT_FLOAT(2.5)) EVT_CALL(NpcMoveTo, NPC_PARTNER, LVar0, LVar1, 0) - EVT_CALL(SetNpcAnimation, NPC_PARTNER, 0x00000106) + EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40 | NPC_FLAG_100, FALSE) EVT_RETURN EVT_END diff --git a/src/world/area_omo/omo_04/omo_04_5_npc.c b/src/world/area_omo/omo_04/omo_04_5_npc.c index 04f301554e..4e0a6c7e4e 100644 --- a/src/world/area_omo/omo_04/omo_04_5_npc.c +++ b/src/world/area_omo/omo_04/omo_04_5_npc.c @@ -65,7 +65,7 @@ EvtScript N(EVS_NpcInit_Goomba) = { EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Goomba))) EVT_CALL(BindNpcDefeat, NPC_SELF, EVT_PTR(N(EVS_NpcDefeat_Goomba))) EVT_ELSE - EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_END_IF EVT_RETURN EVT_END @@ -76,7 +76,7 @@ EvtScript N(EVS_NpcInit_Clubba) = { EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Goomba))) EVT_CALL(BindNpcDefeat, NPC_SELF, EVT_PTR(N(EVS_NpcDefeat_Goomba))) EVT_ELSE - EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_END_IF EVT_RETURN EVT_END diff --git a/src/world/area_omo/omo_08/omo_08_6_npc.c b/src/world/area_omo/omo_08/omo_08_6_npc.c index 0fb3d706b2..1e5cc1acc3 100644 --- a/src/world/area_omo/omo_08/omo_08_6_npc.c +++ b/src/world/area_omo/omo_08/omo_08_6_npc.c @@ -64,7 +64,7 @@ EvtScript N(EVS_NpcAI_BoxedShyGuy) = { EVT_CASE_EQ(2) EVT_CALL(DisablePlayerInput, TRUE) EVT_WAIT(25) - EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_2, FALSE) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, TRUE) EVT_CALL(SetSelfVar, 0, 0) diff --git a/src/world/area_omo/omo_14/omo_14.h b/src/world/area_omo/omo_14/omo_14.h index a0f4eff79e..13dd953a92 100644 --- a/src/world/area_omo/omo_14/omo_14.h +++ b/src/world/area_omo/omo_14/omo_14.h @@ -26,7 +26,7 @@ enum { }; enum { - MV_Unk_0A = MapVar(10), + MV_ActingPartner = MapVar(10), }; #define NAMESPACE omo_14 diff --git a/src/world/area_omo/omo_14/omo_14_3_npc.c b/src/world/area_omo/omo_14/omo_14_3_npc.c index 75e6e2f6d8..f11aa7f527 100644 --- a/src/world/area_omo/omo_14/omo_14_3_npc.c +++ b/src/world/area_omo/omo_14/omo_14_3_npc.c @@ -104,7 +104,7 @@ EvtScript N(EVS_NpcIdle_ShyGuy_Loner) = { EVT_CALL(GetPlayerPos, LVar2, LVar3, LVar4) EVT_IF_GT(LVar2, -210) EVT_CALL(N(GetActingPartner)) - EVT_SET(MV_Unk_0A, LVar9) + EVT_SET(MV_ActingPartner, LVar9) EVT_SWITCH(LVar9) EVT_CASE_EQ(-1) EVT_CALL(SetNpcSpeed, NPC_SELF, LVarA) @@ -171,7 +171,7 @@ EvtScript N(EVS_NpcIdle_ShyGuy_Loner) = { EVT_CALL(N(SimpleMoveNPC), -150, 0) EVT_END_IF EVT_END_SWITCH - EVT_SET(LVar9, MV_Unk_0A) + EVT_SET(LVar9, MV_ActingPartner) EVT_CALL(SetSelfVar, 1, LVar9) EVT_ELSE EVT_CALL(N(SimpleMoveNPC), 200, 0) @@ -244,7 +244,7 @@ EvtScript N(EVS_NpcIdle_ShyGuy_Crowd) = { EVT_CALL(GetPlayerPos, LVar2, LVar3, LVar4) EVT_IF_GT(LVar2, -210) EVT_CALL(N(GetActingPartner)) - EVT_SET(MV_Unk_0A, LVar9) + EVT_SET(MV_ActingPartner, LVar9) EVT_SWITCH(LVar9) EVT_CASE_EQ(-1) EVT_CALL(SetNpcSpeed, NPC_SELF, LVarA) @@ -292,7 +292,7 @@ EvtScript N(EVS_NpcIdle_ShyGuy_Crowd) = { EVT_CALL(N(SimpleMoveNPC), -150, 0) EVT_END_IF EVT_END_SWITCH - EVT_SET(LVar9, MV_Unk_0A) + EVT_SET(LVar9, MV_ActingPartner) EVT_CALL(SetSelfVar, 1, LVar9) EVT_ELSE EVT_CALL(N(SimpleMoveNPC), 200, 0) diff --git a/src/world/area_pra/common/Reflection.inc.c b/src/world/area_pra/common/Reflection.inc.c index aa4dc089b9..d380b7e2ee 100644 --- a/src/world/area_pra/common/Reflection.inc.c +++ b/src/world/area_pra/common/Reflection.inc.c @@ -97,10 +97,10 @@ void N(worker_reflect_player_wall)(void) { if (playerStatus->alpha1 != D_802D9D70) { if (playerStatus->alpha1 < 254) { renderMode = RENDER_MODE_SURFACE_XLU_LAYER1; - func_802DDEE4(PLAYER_SPRITE_AUX2, -1, 7, 0, 0, 0, playerStatus->alpha1, 0); + func_802DDEE4(PLAYER_SPRITE_AUX2, -1, FOLD_TYPE_7, 0, 0, 0, playerStatus->alpha1, 0); } else { renderMode = RENDER_MODE_ALPHATEST; - func_802DDEE4(PLAYER_SPRITE_AUX2, -1, 0, 0, 0, 0, 0, 0); + func_802DDEE4(PLAYER_SPRITE_AUX2, -1, FOLD_TYPE_NONE, 0, 0, 0, 0, 0); } } D_802D9D70 = playerStatus->alpha1; @@ -172,10 +172,10 @@ void N(worker_reflect_player_floor)(void) { if (playerStatus->alpha1 != D_802D9D71) { if (playerStatus->alpha1 < 254) { renderMode = RENDER_MODE_SURFACE_XLU_LAYER1; - func_802DDEE4(PLAYER_SPRITE_AUX1, -1, 7, 0, 0, 0, playerStatus->alpha1, 0); + func_802DDEE4(PLAYER_SPRITE_AUX1, -1, FOLD_TYPE_7, 0, 0, 0, playerStatus->alpha1, 0); } else { renderMode = RENDER_MODE_ALPHATEST; - func_802DDEE4(PLAYER_SPRITE_AUX1, -1, 0, 0, 0, 0, 0, 0); + func_802DDEE4(PLAYER_SPRITE_AUX1, -1, FOLD_TYPE_NONE, 0, 0, 0, 0, 0); } } D_802D9D71 = playerStatus->alpha1; diff --git a/src/world/area_sam/sam.h b/src/world/area_sam/sam.h index 431dfd0476..f0a350342c 100644 --- a/src/world/area_sam/sam.h +++ b/src/world/area_sam/sam.h @@ -21,9 +21,11 @@ enum { }; enum { - AF_SAM06_Snowing = AreaFlag(1), - AF_SAM06_LastSnowing = AreaFlag(2), - AF_SAM_05 = AreaFlag(5), + AF_SAM_Snowing = AreaFlag(1), + AF_SAM_LastSnowing = AreaFlag(2), + AF_SAM_03 = AreaFlag(3), + AF_SAM_04 = AreaFlag(4), + AF_SAM_05 = AreaFlag(5), }; extern MapSettings sam_01_settings; diff --git a/src/world/area_sam/sam_01/CF7B70.c b/src/world/area_sam/sam_01/CF7B70.c deleted file mode 100644 index 0dd512003c..0000000000 --- a/src/world/area_sam/sam_01/CF7B70.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "sam_01.h" - -static char* N(exit_str_0) = "sam_02"; -static char* N(exit_str_1) = ""; - -#include "world/common/atomic/TexturePan.inc.c" - diff --git a/src/world/area_sam/sam_01/CF7E80.c b/src/world/area_sam/sam_01/CF7E80.c deleted file mode 100644 index add2a50c00..0000000000 --- a/src/world/area_sam/sam_01/CF7E80.c +++ /dev/null @@ -1,88 +0,0 @@ -#include "sam_01.h" -#include "effects.h" - -#define CHUCK_QUIZMO_NPC_ID 14 - -#include "world/common/todo/GetNpcCollisionHeight.inc.c" - -#include "world/common/todo/AddPlayerHandsOffset.inc.c" - -extern s32 N(ItemChoice_HasSelectedItem); -extern s32 N(ItemChoice_SelectedItemID); -#include "world/common/todo/ItemChoice_WaitForSelection.inc.c" - -ApiStatus N(ItemChoice_SaveSelected)(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - N(ItemChoice_SelectedItemID) = evt_get_variable(script, *args++); - N(ItemChoice_HasSelectedItem) = TRUE; - return ApiStatus_DONE2; -} - -BSS s32 D_8024DBC0[114]; -BSS s32 D_8024DD88[92]; - -ApiStatus func_802405C8_CF8138(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32* ptr = (s32*) evt_get_variable(script, *args++); - s32 i; - - if (ptr != NULL) { - for (i = 0; ptr[i] != 0; i++) { - D_8024DBC0[i] = ptr[i]; - } - D_8024DBC0[i] = 0; - } else { - for (i = 0; i < 112; i++) { - D_8024DBC0[i] = i + 16; - D_8024DBC0[112] = 0; - } - } - return ApiStatus_DONE2; -} - -ApiStatus func_80240664_CF81D4(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32* ptr = (s32*) evt_get_variable(script, *args++); - s32 i; - - if (ptr != NULL) { - for (i = 0; ptr[i] != 0; i++) { - D_8024DD88[i] = ptr[i]; - } - D_8024DD88[i] = 0; - } else { - for (i = 0; i < 91; i++) { - D_8024DD88[i] = i + 128; - D_8024DD88[91] = 0; - } - } - return ApiStatus_DONE2; -} - -extern s32 N(Quizmo_Worker); -extern s32 N(Quizmo_AnswerResult); -extern EffectInstance* N(Quizmo_StageEffect); -extern EffectInstance* N(Quizmo_AudienceEffect); -extern EffectInstance* N(Quizmo_VannaTEffect); - -#include "world/common/atomic/Quizmo.inc.c" - -extern s32 N(LetterDelivery_SavedNpcAnim); -#include "world/common/todo/LetterDelivery.inc.c" - -#include "common/GetItemEntityPosition.inc.c" - -#include "world/common/todo/GetLeftRightPoints.inc.c" - -#define NAMESPACE dup_sam_01 -#include "world/common/todo/StashVars.inc.c" -#define NAMESPACE sam_01 - -#define NAMESPACE dup_sam_01 -#include "world/common/todo/GetItemName.inc.c" -#define NAMESPACE sam_01 - -#include "world/common/todo/SomeItemEntityFunc.inc.c" - -#include "world/common/todo/IsItemBadge.inc.c" diff --git a/src/world/area_sam/sam_01/sam_01.h b/src/world/area_sam/sam_01/sam_01.h index a4fc1f4b07..3b4452e2cc 100644 --- a/src/world/area_sam/sam_01/sam_01.h +++ b/src/world/area_sam/sam_01/sam_01.h @@ -2,8 +2,70 @@ /// @brief Mt Shiver - Shiver City Mayor Area #include "common.h" -#include "../sam.h" #include "message_ids.h" #include "map.h" +#include "../sam.h" +#include "mapfs/sam_01_shape.h" +#include "mapfs/sam_01_hit.h" + +#include "sprite/npc/Herringway.h" +#include "sprite/npc/Penguin.h" +#include "sprite/npc/ChuckQuizmo.h" +#include "sprite/npc/WorldParakarry.h" +#include "sprite/npc/MayorPenguin.h" +#include "sprite/npc/MayorPenguinWife.h" +#include "sprite/npc/PenguinPatrol.h" +#include "sprite/npc/WorldGoombario.h" +#include "sprite/npc/WorldKooper.h" +#include "sprite/npc/WorldBombette.h" +#include "sprite/npc/WorldBow.h" +#include "sprite/npc/WorldWatt.h" +#include "sprite/npc/WorldSushie.h" +#include "sprite/npc/WorldLakilester.h" + +enum { + NPC_MayorPenguin = 0, + NPC_MayorDummy = 1, + NPC_MayorPenguinWife = 2, + NPC_PenguinPatrol = 3, + NPC_Herringway = 4, + NPC_Penguin_01 = 5, + NPC_Penguin_02 = 6, + NPC_Penguin_03 = 7, + NPC_Penguin_04 = 8, + NPC_Penguin_05 = 9, + NPC_Penguin_06 = 10, + NPC_Penguin_07 = 11, + NPC_Penguin_08 = 12, + NPC_Penguin_09 = 13, + NPC_ChuckQuizmo = 14, +}; + +enum { + MV_DialogueState_Penguin1 = MapVar(0), + MV_DialogueState_Penguin2 = MapVar(1), + MV_DialogueState_Penguin3 = MapVar(2), + MV_DialogueState_Penguin4 = MapVar(3), + MV_PresentItemID = MapVar(4), + MV_BucketItemID = MapVar(5), + MV_PlayerLeftOfMayor = MapVar(6), +}; + +enum { + MF_ContinueScene = MapFlag(0), +}; + #define NAMESPACE sam_01 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_NpcInteract_Herringway); +extern EvtScript N(EVS_SetupMayorRooms); +extern EvtScript N(EVS_SetupRooms); +extern EvtScript N(EVS_Scene_MysteryBegins); +extern EvtScript N(EVS_Scene_MysterySolved); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(BeforeNPCs); +extern NpcGroupList N(MysteryNPCs); +extern NpcGroupList N(AfterNPCs); diff --git a/src/world/area_sam/sam_01/sam_01_0_header.c b/src/world/area_sam/sam_01/sam_01_0_header.c new file mode 100644 index 0000000000..eee7805529 --- /dev/null +++ b/src/world/area_sam/sam_01/sam_01_0_header.c @@ -0,0 +1,14 @@ +#include "sam_01.h" + +EntryList N(Entrances) = { + [sam_01_ENTRY_0] { 480.0, 0.0, 0.0, 270.0 }, + [sam_01_ENTRY_1] { -305.0, 0.0, -180.0, 0.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .background = &gBackgroundImage, + .tattle = { MSG_MapTattle_sam_01 }, +}; diff --git a/src/world/area_sam/sam_01/sam_01_1_music.c b/src/world/area_sam/sam_01/sam_01_1_music.c new file mode 100644 index 0000000000..03ecd0028c --- /dev/null +++ b/src/world/area_sam/sam_01/sam_01_1_music.c @@ -0,0 +1,14 @@ +#include "sam_01.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_MYSTERY) + EVT_CALL(SetMusicTrack, 0, SONG_SHIVER_CITY, 0, 8) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_CALL(SetMusicTrack, 0, SONG_PENGUIN_MYSTERY, 0, 8) + EVT_CASE_GE(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_CALL(SetMusicTrack, 0, SONG_SHIVER_CITY, 0, 8) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_sam/sam_01/sam_01_2_main.c b/src/world/area_sam/sam_01/sam_01_2_main.c new file mode 100644 index 0000000000..9c547073c0 --- /dev/null +++ b/src/world/area_sam/sam_01/sam_01_2_main.c @@ -0,0 +1,123 @@ +#include "sam_01.h" +#include "effects.h" + +#include "world/common/atomic/TexturePan.inc.c" +#include "world/common/atomic/TexturePan.data.inc.c" + +EvtScript N(EVS_ExitWalk_sam_02_0) = EVT_EXIT_WALK(60, sam_01_ENTRY_0, "sam_02", sam_02_ENTRY_0); + +EvtScript N(EVS_BindExitTriggers) = { + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_sam_02_0)), TRIGGER_FLOOR_ABOVE, COLLIDER_deilie, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ManageSnowfall) = { + EVT_SET(AF_SAM_Snowing, TRUE) + EVT_SET(AF_SAM_LastSnowing, FALSE) + EVT_LABEL(10) + EVT_IF_NE(AF_SAM_Snowing, AF_SAM_LastSnowing) + EVT_IF_EQ(AF_SAM_Snowing, FALSE) + EVT_CALL(RemoveEffect, LVarF) + EVT_ELSE + EVT_PLAY_EFFECT(EFFECT_SNOWFALL, 0, 10) + EVT_END_IF + EVT_SET(AF_SAM_LastSnowing, AF_SAM_Snowing) + EVT_END_IF + EVT_WAIT(1) + EVT_GOTO(10) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_OpenAndCloseMayorsDoor) = { + EVT_CALL(EnableGroup, MODEL_s_naisou, TRUE) + EVT_CALL(PlaySoundAtCollider, COLLIDER_tts, SOUND_BASIC_DOOR_OPEN, 0) + EVT_CALL(MakeLerp, 0, -80, 15, EASING_QUADRATIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateGroup, MODEL_s_doa, LVar0, 0, 1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_WAIT(20) + EVT_CALL(MakeLerp, -80, 0, 15, EASING_QUADRATIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateGroup, MODEL_s_doa, LVar0, 0, 1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(PlaySoundAtCollider, COLLIDER_tts, SOUND_BASIC_DOOR_CLOSE, 0) + EVT_CALL(EnableGroup, MODEL_s_naisou, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetupHerringway) = { + EVT_IF_EQ(GB_StoryProgress, STORY_CH7_SPOKE_WITH_HERRINGWAY) + EVT_CALL(SetNpcPos, NPC_Herringway, -202, 0, 276) + EVT_LOOP(0) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_WAIT(1) + EVT_IF_LT(LVar0, -40) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(SetNpcFlagBits, NPC_Herringway, NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcAnimation, NPC_Herringway, ANIM_Herringway_Walk) + EVT_CALL(NpcMoveTo, NPC_Herringway, -265, 275, 20) + EVT_EXEC(N(EVS_OpenAndCloseMayorsDoor)) + EVT_WAIT(20) + EVT_CALL(NpcMoveTo, NPC_Herringway, -290, 157, 20) + EVT_WAIT(20) + EVT_THREAD + EVT_CALL(NpcMoveTo, NPC_Herringway, -228, 91, 20) + EVT_CALL(SetNpcAnimation, NPC_Herringway, ANIM_Herringway_Idle) + EVT_CALL(InterpNpcYaw, NPC_Herringway, 270, 0) + EVT_CALL(SetNpcFlagBits, NPC_Herringway, NPC_FLAG_100, FALSE) + EVT_END_THREAD + EVT_SET(GB_StoryProgress, STORY_CH7_HERRINGWAY_AT_MAYORS_HOUSE) + EVT_CALL(BindNpcInteract, NPC_Herringway, EVT_PTR(N(EVS_NpcInteract_Herringway))) + EVT_EXEC_WAIT(N(EVS_SetupMayorRooms)) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_SHIVER_CITY) + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SETUP_CAMERA_NO_LEAD() + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_MYSTERY) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(BeforeNPCs))) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(MysteryNPCs))) + EVT_CASE_GE(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(AfterNPCs))) + EVT_END_SWITCH + EVT_EXEC_WAIT(N(EVS_MakeEntities)) + EVT_EXEC_WAIT(N(EVS_SetupMusic)) + EVT_EXEC(N(EVS_ManageSnowfall)) + EVT_EXEC_WAIT(N(EVS_SetupRooms)) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_SURFACE, COLLIDER_o341, SURFACE_TYPE_SNOW) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_SURFACE, COLLIDER_f_noki, SURFACE_TYPE_SNOW) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_SURFACE, COLLIDER_m_noki, SURFACE_TYPE_SNOW) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_SURFACE, COLLIDER_o398, SURFACE_TYPE_SNOW) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_SURFACE, COLLIDER_o399, SURFACE_TYPE_SNOW) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_SURFACE, COLLIDER_o402, SURFACE_TYPE_SNOW) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_SURFACE, COLLIDER_o408, SURFACE_TYPE_SNOW) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_SURFACE, COLLIDER_o409, SURFACE_TYPE_SNOW) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_SURFACE, COLLIDER_deilie, SURFACE_TYPE_SNOW) + EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers))) + EVT_EXEC(EnterWalk) + EVT_WAIT(1) + EVT_EXEC(N(EVS_SetupHerringway)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_sam/sam_01/sam_01_3_rooms.c b/src/world/area_sam/sam_01/sam_01_3_rooms.c new file mode 100644 index 0000000000..85a07ce260 --- /dev/null +++ b/src/world/area_sam/sam_01/sam_01_3_rooms.c @@ -0,0 +1,301 @@ +#include "sam_01.h" + +EvtScript N(EVS_SetDoorRot_MayorFoyer) = { + EVT_CALL(RotateModel, MODEL_o235, LVar0, 0, -1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_MoveWalls_MayorFoyer) = { + EVT_CALL(RotateGroup, MODEL_s_mae, LVar0, 1, 0, 0) + EVT_IF_GT(LVar0, 89) + EVT_CALL(SetGroupEnabled, MODEL_s_mae, 0) + EVT_END_IF + EVT_IF_LT(LVar0, 89) + EVT_CALL(SetGroupEnabled, MODEL_s_mae, 1) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_DropDoor_MayorFoyer) = { + EVT_CALL(RotateModel, MODEL_o235, LVar0, 1, 0, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ToggleVis_MayorFoyer) = { + EVT_CALL(UseAdvancedDoorSounds, DOOR_SOUNDS_BASIC) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_SET(AF_SAM_04, TRUE) + EVT_SET(AF_SAM_Snowing, FALSE) + EVT_CALL(SetGroupEnabled, MODEL_s_naisou, 1) + EVT_IF_GE(GB_StoryProgress, STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_CALL(SetNpcPos, NPC_MayorPenguin, -275, 0, -200) + EVT_CALL(InterpNpcYaw, NPC_MayorPenguin, 180, 0) + EVT_CALL(SetNpcPos, NPC_MayorPenguinWife, -300, 0, -50) + EVT_CALL(InterpNpcYaw, NPC_MayorPenguinWife, 0, 0) + EVT_END_IF + EVT_CASE_EQ(3) + EVT_SET(AF_SAM_04, FALSE) + EVT_SET(AF_SAM_Snowing, TRUE) + EVT_CALL(SetGroupEnabled, MODEL_s_naisou, 0) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetDoorRot_MayorOffice) = { + EVT_CALL(RotateModel, MODEL_o236, LVar0, 0, -1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_MoveWalls_MayorOffice) = { + EVT_CALL(RotateGroup, MODEL_s_yane, LVar0, 0, 0, 1) + EVT_CALL(RotateGroup, MODEL_s_yoko, LVar0, 0, 0, -1) + EVT_IF_GT(LVar0, 89) + EVT_CALL(EnableGroup, MODEL_s_yoko, FALSE) + EVT_END_IF + EVT_IF_LT(LVar0, 89) + EVT_CALL(EnableGroup, MODEL_s_yoko, TRUE) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ToggleVis_MayorOffice) = { + EVT_CALL(UseAdvancedDoorSounds, DOOR_SOUNDS_BASIC) + EVT_IF_EQ(GB_StoryProgress, STORY_CH7_HERRINGWAY_AT_MAYORS_HOUSE) + EVT_IF_EQ(AF_SAM_03, TRUE) + EVT_SET(LVar0, -1) + EVT_RETURN + EVT_END_IF + EVT_END_IF + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_IF_EQ(GB_StoryProgress, STORY_CH7_HERRINGWAY_AT_MAYORS_HOUSE) + EVT_THREAD + EVT_CALL(BindNpcInteract, NPC_Herringway, 0) + EVT_CALL(SetNpcFlagBits, NPC_Herringway, NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Herringway, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcAnimation, NPC_Herringway, ANIM_Penguin_Walk) + EVT_CALL(SetNpcSpeed, NPC_Herringway, EVT_FLOAT(1.5)) + EVT_CALL(NpcMoveTo, NPC_Herringway, -252, -55, 0) + EVT_CALL(SetNpcAnimation, NPC_Herringway, ANIM_Penguin_Idle) + EVT_CALL(SetNpcFlagBits, NPC_Herringway, NPC_FLAG_100, FALSE) + EVT_CALL(BindNpcInteract, NPC_Herringway, EVT_PTR(N(EVS_NpcInteract_Herringway))) + EVT_END_THREAD + EVT_END_IF + EVT_CASE_EQ(1) + EVT_IF_EQ(GB_StoryProgress, STORY_CH7_HERRINGWAY_AT_MAYORS_HOUSE) + EVT_CALL(SetMusicTrack, 0, SONG_PENGUIN_WHODUNIT, 1, 8) + EVT_END_IF + EVT_SET(AF_SAM_03, TRUE) + EVT_CASE_EQ(3) + EVT_IF_EQ(GB_StoryProgress, STORY_CH7_MAYOR_MURDER_MYSTERY) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_END_IF + EVT_SET(AF_SAM_03, FALSE) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetDoorRot_MiddleHouse) = { + EVT_CALL(RotateModel, MODEL_o253, LVar0, -1, 0, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_MoveWalls_MiddleHouse) = { + EVT_CALL(RotateGroup, MODEL_f_ue, LVar0, 0, 0, -1) + EVT_CALL(RotateGroup, MODEL_f_sita, LVar0, 0, 0, 1) + EVT_IF_GT(LVar0, 89) + EVT_CALL(SetGroupEnabled, MODEL_f_sita, 0) + EVT_END_IF + EVT_IF_LT(LVar0, 89) + EVT_CALL(SetGroupEnabled, MODEL_f_sita, 1) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ToggleVis_MiddleHouse) = { + EVT_CALL(UseAdvancedDoorSounds, DOOR_SOUNDS_DOOR) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_SET(AF_SAM_Snowing, FALSE) + EVT_CALL(SetGroupEnabled, MODEL_f_naiso, 1) + EVT_CASE_EQ(1) + EVT_CASE_EQ(2) + EVT_CASE_EQ(3) + EVT_SET(AF_SAM_Snowing, TRUE) + EVT_CALL(SetGroupEnabled, MODEL_f_naiso, 0) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetDoorRot_UpperRightHouse) = { + EVT_CALL(RotateModel, MODEL_o336, LVar0, 0, -1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetDoorRot_LowerRightHouse) = { + EVT_CALL(RotateModel, MODEL_o402, LVar0, -1, 0, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_MoveWalls_RightHouse) = { + EVT_CALL(RotateGroup, MODEL_m_ue, LVar0, 0, 0, 1) + EVT_CALL(RotateGroup, MODEL_m_mae, LVar0, 0, 0, -1) + EVT_IF_GT(LVar0, 89) + EVT_CALL(SetGroupEnabled, MODEL_m_mae, 0) + EVT_END_IF + EVT_IF_LT(LVar0, 89) + EVT_CALL(SetGroupEnabled, MODEL_m_mae, 1) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ToggleVis_UpperRightHouse) = { + EVT_CALL(UseAdvancedDoorSounds, DOOR_SOUNDS_BASIC) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_SET(AF_SAM_Snowing, FALSE) + EVT_CALL(SetGroupEnabled, MODEL_m_naiso, 1) + EVT_CASE_EQ(3) + EVT_SET(AF_SAM_Snowing, TRUE) + EVT_CALL(SetGroupEnabled, MODEL_m_naiso, 0) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ToggleVis_LowerRightHouse) = { + EVT_CALL(UseAdvancedDoorSounds, DOOR_SOUNDS_DOOR) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_SET(AF_SAM_Snowing, FALSE) + EVT_CALL(SetGroupEnabled, MODEL_m_naiso, 1) + EVT_CASE_EQ(3) + EVT_SET(AF_SAM_Snowing, TRUE) + EVT_CALL(SetGroupEnabled, MODEL_m_naiso, 0) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +s32 N(InteriorNPCs_MayorBefore)[] = { + NPC_MayorPenguin, + NPC_MayorDummy, + NPC_MayorPenguinWife, + NPC_PenguinPatrol, + NPC_Herringway, + NPC_Penguin_09, + -1 +}; + +s32 N(InteriorNPCs_MayorAfter)[] = { + NPC_MayorPenguin, + NPC_MayorPenguinWife, + NPC_PenguinPatrol, + NPC_Herringway, + -1 +}; + +s32 N(InteriorNPCs_MiddleHouse)[] = { + NPC_Herringway, + -1 +}; + +s32 N(InteriorNPCs_RightHouse)[] = { + NPC_Herringway, + NPC_Penguin_04, + -1 +}; + +EvtScript N(EVS_SetupMayorRooms) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_MYSTERY) + EVT_SET(LVar0, EVT_PTR(N(InteriorNPCs_MayorBefore))) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_SET(LVar0, EVT_PTR(N(InteriorNPCs_MayorBefore))) + EVT_CASE_GE(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_SET(LVar0, EVT_PTR(N(InteriorNPCs_MayorAfter))) + EVT_END_SWITCH + // mayor's foyer + EVT_CALL(MakeDoorAdvanced, + VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_2), + EVT_PTR(N(EVS_SetDoorRot_MayorFoyer)), + EVT_PTR(N(EVS_MoveWalls_MayorFoyer)), + EVT_PTR(N(EVS_DropDoor_MayorFoyer)), + EVT_PTR(N(EVS_ToggleVis_MayorFoyer)), + COLLIDER_tts, + COLLIDER_o352, + MODEL_son, + LVar0) + // mayor's office + EVT_CALL(MakeDoorAdvanced, + VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_2), + EVT_PTR(N(EVS_SetDoorRot_MayorOffice)), + EVT_PTR(N(EVS_MoveWalls_MayorOffice)), + NULL, + EVT_PTR(N(EVS_ToggleVis_MayorOffice)), + COLLIDER_ttsn, + COLLIDER_o353, + MODEL_o430, + NULL) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetupRooms) = { + EVT_CALL(SetGroupEnabled, MODEL_s_naisou, 0) + EVT_IF_NE(GB_StoryProgress, STORY_CH7_SPOKE_WITH_HERRINGWAY) + EVT_EXEC_WAIT(N(EVS_SetupMayorRooms)) + EVT_END_IF + // upper middle house + EVT_CALL(SetGroupEnabled, MODEL_f_naiso, 0) + EVT_CALL(MakeDoorAdvanced, + VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_0), + EVT_PTR(N(EVS_SetDoorRot_MiddleHouse)), + EVT_PTR(N(EVS_MoveWalls_MiddleHouse)), + NULL, + EVT_PTR(N(EVS_ToggleVis_MiddleHouse)), + COLLIDER_ttf2, + COLLIDER_o354, + MODEL_f2, + EVT_PTR(N(InteriorNPCs_MiddleHouse))) + // lower right house + EVT_CALL(SetGroupEnabled, MODEL_m_naiso, 0) + EVT_CALL(MakeDoorAdvanced, + VIS_GROUP_PAIR(VIS_GROUP_1, VIS_GROUP_2), + EVT_PTR(N(EVS_SetDoorRot_UpperRightHouse)), + EVT_PTR(N(EVS_MoveWalls_RightHouse)), + NULL, + EVT_PTR(N(EVS_ToggleVis_UpperRightHouse)), + COLLIDER_ttm, + COLLIDER_o355, + MODEL_min, + EVT_PTR(N(InteriorNPCs_RightHouse))) + // upper right house + EVT_CALL(SetGroupEnabled, MODEL_m_naiso, 0) + EVT_CALL(MakeDoorAdvanced, + VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_0), + EVT_PTR(N(EVS_SetDoorRot_LowerRightHouse)), + EVT_PTR(N(EVS_MoveWalls_RightHouse)), + NULL, + EVT_PTR(N(EVS_ToggleVis_LowerRightHouse)), + COLLIDER_o376, + COLLIDER_o390, + MODEL_min, + EVT_PTR(N(InteriorNPCs_RightHouse))) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_sam/sam_01/sam_01_4_npc.c b/src/world/area_sam/sam_01/sam_01_4_npc.c new file mode 100644 index 0000000000..69546b4852 --- /dev/null +++ b/src/world/area_sam/sam_01/sam_01_4_npc.c @@ -0,0 +1,858 @@ +#include "sam_01.h" + +#include "world/common/complete/KeyItemChoice.inc.c" +MAP_STATIC_PAD(1,key_item); +#include "world/common/complete/NormalItemChoice.inc.c" +#include "world/common/complete/GiveReward.inc.c" + +#include "world/common/npc/Penguin_Wander.inc.c" +#include "world/common/npc/Penguin.inc.c" + +#define CHUCK_QUIZMO_NPC_ID NPC_ChuckQuizmo +#include "world/common/complete/Quizmo.inc.c" + +#include "world/common/complete/LetterDelivery.inc.c" + +s32 N(MayorLetterList)[] = { + ITEM_LETTER_TO_MAYOR_PENGUIN, + ITEM_NONE +}; + +EvtScript N(EVS_LetterPrompt_Mayor) = { + EVT_CALL(N(LetterDelivery_Init), + NPC_MayorPenguin, ANIM_MayorPenguin_Talk, ANIM_MayorPenguin_Idle, + ITEM_LETTER_TO_MAYOR_PENGUIN, ITEM_NONE, + MSG_CH7_0041, MSG_CH7_0042, MSG_CH7_0043, MSG_CH7_0044, + EVT_PTR(N(MayorLetterList))) + EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_LetterReward_Mayor) = { + EVT_IF_EQ(LVarC, DELIVERY_ACCEPTED) + EVT_GIVE_STAR_PIECE() + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Mayor_CarryBucket) = { + EVT_LABEL(0) + EVT_CALL(GetNpcPos, NPC_MayorPenguin, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, -5) + EVT_ADD(LVar1, 15) + EVT_CALL(GetNpcYaw, NPC_MayorPenguin, LVar3) + EVT_IF_GE(LVar3, 90) + EVT_IF_LE(LVar3, 270) + EVT_ADD(LVar2, 10) + EVT_ELSE + EVT_ADD(LVar2, -10) + EVT_END_IF + EVT_ELSE + EVT_ADD(LVar2, -10) + EVT_END_IF + EVT_CALL(SetItemPos, MV_BucketItemID, LVar0, LVar1, LVar2) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Mayor_HandOverBucket) = { + EVT_CALL(GetNpcYaw, NPC_MayorPenguin, LVar3) + EVT_IF_GE(LVar3, 90) + EVT_IF_LE(LVar3, 270) + EVT_ADD(LVar2, 10) + EVT_SET(LVar4, 10) + EVT_ELSE + EVT_ADD(LVar2, -10) + EVT_SET(LVar4, -10) + EVT_END_IF + EVT_ELSE + EVT_SUB(LVar2, 10) + EVT_SET(LVar4, 10) + EVT_END_IF + EVT_THREAD + EVT_LOOP(10) + EVT_CALL(GetNpcPos, NPC_MayorPenguin, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, -5) + EVT_ADD(LVar1, 15) + EVT_ADD(LVar2, LVar4) + EVT_CALL(SetItemPos, MV_BucketItemID, LVar0, LVar1, LVar2) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetItemPos, MV_BucketItemID, NPC_DISPOSE_LOCATION) + EVT_END_THREAD + EVT_CALL(NpcMoveTo, NPC_MayorPenguin, LVar0, LVar2, 10) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_MayorPenguin) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_MYSTERY) + EVT_CALL(FadeOutMusic, 0, 500) + EVT_CALL(ShowMessageAtScreenPos, MSG_CH7_0002, 160, 40) + EVT_EXEC_WAIT(N(EVS_Scene_MysteryBegins)) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_CALL(ShowMessageAtScreenPos, MSG_CH7_0002, 160, 40) + EVT_CASE_LT(STORY_CH7_GOT_SNOWMAN_SCARF) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_MayorPenguin_Talk, ANIM_MayorPenguin_Idle, 0, MSG_CH7_0039) + EVT_CASE_LT(STORY_CH7_GOT_SNOWMAN_BUCKET) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(GetNpcPos, NPC_SELF, LVar3, LVar4, LVar5) + EVT_IF_GE(LVar2, LVar5) + EVT_SET(MV_PlayerLeftOfMayor, 0) + EVT_ELSE + EVT_SET(MV_PlayerLeftOfMayor, 1) + EVT_END_IF + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_MayorPenguin_Talk, ANIM_MayorPenguin_Idle, 0, MSG_CH7_003A) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_MayorPenguin_Walk) + EVT_CALL(NpcMoveTo, NPC_SELF, -338, -247, 20) + EVT_CALL(PlaySoundAtCollider, COLLIDER_yana, SOUND_1CF, 0) + EVT_CALL(MakeLerp, 0, 70, 30, EASING_LINEAR) + EVT_LABEL(10) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, MODEL_o411, LVar0, 0, -1, 0) + EVT_CALL(RotateModel, MODEL_o412, LVar0, 0, 1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(10) + EVT_END_IF + EVT_WAIT(20) + EVT_CALL(MakeLerp, 70, 0, 30, EASING_LINEAR) + EVT_LABEL(20) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, MODEL_o411, LVar0, 0, -1, 0) + EVT_CALL(RotateModel, MODEL_o412, LVar0, 0, 1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(20) + EVT_END_IF + EVT_CALL(PlaySoundAtCollider, COLLIDER_yana, SOUND_1D0, 0) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_MayorPenguin_Carry) + EVT_CALL(InterpNpcYaw, NPC_SELF, 180, 0) + EVT_EXEC_GET_TID(N(EVS_Mayor_CarryBucket), LVarA) + EVT_WAIT(10) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_IF_EQ(MV_PlayerLeftOfMayor, 0) + EVT_ADD(LVar2, -40) + EVT_ELSE + EVT_ADD(LVar2, 40) + EVT_END_IF + EVT_CALL(NpcMoveTo, NPC_SELF, LVar0, LVar2, 20) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_MayorPenguin_Talk, ANIM_MayorPenguin_Idle, 0, MSG_CH7_003B) + EVT_KILL_THREAD(LVarA) + EVT_EXEC_WAIT(N(EVS_Mayor_HandOverBucket)) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_MayorPenguin_Idle) + EVT_GIVE_KEY_REWARD(ITEM_SNOWMAN_BUCKET) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_MayorPenguin_Talk, ANIM_MayorPenguin_Idle, 0, MSG_CH7_003C) + EVT_CALL(GetNpcPos, NPC_MayorPenguin, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(250.0)) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(15.0), EVT_FLOAT(-8.5)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_MayorPenguin_Talk, ANIM_MayorPenguin_Idle, 0, MSG_CH7_003D) + EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(3.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_100, FALSE) + EVT_SET(GB_StoryProgress, STORY_CH7_GOT_SNOWMAN_BUCKET) + EVT_CASE_LT(STORY_CH7_UNLOCKED_SHIVER_MOUNTAIN) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_MayorPenguin_Talk, ANIM_MayorPenguin_Idle, 0, MSG_CH7_003E) + EVT_CASE_LT(STORY_CH7_STAR_SPIRIT_RESCUED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_MayorPenguin_Talk, ANIM_MayorPenguin_Idle, 0, MSG_CH7_003F) + EVT_CASE_GE(STORY_CH7_STAR_SPIRIT_RESCUED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_MayorPenguin_Talk, ANIM_MayorPenguin_Idle, 0, MSG_CH7_0040) + EVT_END_SWITCH + EVT_EXEC_WAIT(N(EVS_LetterPrompt_Mayor)) + EVT_EXEC_WAIT(N(EVS_LetterReward_Mayor)) + EVT_IF_NE(LVarC, DELIVERY_NOT_POSSIBLE) + EVT_RETURN + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_MayorPenguinWife) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_MYSTERY) + EVT_IF_EQ(GF_SAM01_Met_MayorsWife, FALSE) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_MayorPenguinWife_Talk, ANIM_MayorPenguinWife_Idle, 0, MSG_CH7_0000) + EVT_SET(GF_SAM01_Met_MayorsWife, TRUE) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_MayorPenguinWife_Talk, ANIM_MayorPenguinWife_Idle, 0, MSG_CH7_0001) + EVT_END_IF + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_MayorPenguinWife_PointTalk, ANIM_MayorPenguinWife_Idle, 0, MSG_CH7_001C) + EVT_CASE_LT(STORY_CH7_GOT_SNOWMAN_SCARF) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_MayorPenguinWife_Laugh, ANIM_MayorPenguinWife_Idle, 0, MSG_CH7_0035) + EVT_CASE_LT(STORY_CH7_GOT_SNOWMAN_BUCKET) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_MayorPenguinWife_Laugh, ANIM_MayorPenguinWife_Idle, 0, MSG_CH7_0036) + EVT_CASE_LT(STORY_CH7_STAR_SPIRIT_RESCUED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_MayorPenguinWife_Laugh, ANIM_MayorPenguinWife_Idle, 0, MSG_CH7_0037) + EVT_CASE_GE(STORY_CH7_STAR_SPIRIT_RESCUED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_MayorPenguinWife_Laugh, ANIM_MayorPenguinWife_Idle, 0, MSG_CH7_0038) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_PenguinPatrol) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH7_SPOKE_WITH_HERRINGWAY) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_PenguinPatrol_Talk, ANIM_PenguinPatrol_Idle, 0, MSG_CH7_001B) + EVT_CASE_GE(STORY_CH7_SPOKE_WITH_HERRINGWAY) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_PenguinPatrol_Talk, ANIM_PenguinPatrol_Idle, 0, MSG_CH7_001D) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcIdle_PenguinPatrol) = { + EVT_LABEL(0) + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_EQ(STORY_CH7_HERRINGWAY_AT_MAYORS_HOUSE) + EVT_IF_EQ(AF_SAM_03, TRUE) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_IF_LT(LVar2, -130) + EVT_EXEC_WAIT(N(EVS_Scene_MysterySolved)) + EVT_END_IF + EVT_END_IF + EVT_END_SWITCH + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Herringway) = { + EVT_IF_EQ(AF_SAM_04, FALSE) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Herringway_Talk, ANIM_Herringway_Idle, 0, MSG_CH7_00D3) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Herringway_Talk, ANIM_Herringway_Idle, 0, MSG_CH7_00D4) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Penguin_01) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_MYSTERY) + EVT_SWITCH(MV_DialogueState_Penguin1) + EVT_CASE_EQ(0) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_0045) + EVT_SET(MV_DialogueState_Penguin1, 1) + EVT_CASE_EQ(1) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_0046) + EVT_SET(MV_DialogueState_Penguin1, 0) + EVT_END_SWITCH + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_SWITCH(MV_DialogueState_Penguin1) + EVT_CASE_EQ(0) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_0047) + EVT_SET(MV_DialogueState_Penguin1, 1) + EVT_CASE_EQ(1) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_0048) + EVT_SET(MV_DialogueState_Penguin1, 0) + EVT_END_SWITCH + EVT_CASE_LT(STORY_CH7_STAR_SPIRIT_RESCUED) + EVT_SWITCH(MV_DialogueState_Penguin1) + EVT_CASE_EQ(0) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_0049) + EVT_SET(MV_DialogueState_Penguin1, 1) + EVT_CASE_EQ(1) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_004A) + EVT_SET(MV_DialogueState_Penguin1, 0) + EVT_END_SWITCH + EVT_CASE_GE(STORY_CH7_STAR_SPIRIT_RESCUED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_004B) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Penguin_02) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_MYSTERY) + EVT_SWITCH(MV_DialogueState_Penguin2) + EVT_CASE_EQ(0) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_004C) + EVT_SET(MV_DialogueState_Penguin2, 1) + EVT_CASE_EQ(1) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_004D) + EVT_SET(MV_DialogueState_Penguin2, 0) + EVT_END_SWITCH + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_SWITCH(MV_DialogueState_Penguin2) + EVT_CASE_EQ(0) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_004E) + EVT_SET(MV_DialogueState_Penguin2, 1) + EVT_CASE_EQ(1) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_004F) + EVT_SET(MV_DialogueState_Penguin2, 0) + EVT_END_SWITCH + EVT_CASE_LT(STORY_CH7_STAR_SPIRIT_RESCUED) + EVT_SWITCH(MV_DialogueState_Penguin2) + EVT_CASE_EQ(0) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_0050) + EVT_SET(MV_DialogueState_Penguin2, 1) + EVT_CASE_EQ(1) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_0051) + EVT_SET(MV_DialogueState_Penguin2, 0) + EVT_END_SWITCH + EVT_CASE_GE(STORY_CH7_STAR_SPIRIT_RESCUED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_0052) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Penguin_03) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_MYSTERY) + EVT_SWITCH(MV_DialogueState_Penguin3) + EVT_CASE_EQ(0) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_0053) + EVT_SET(MV_DialogueState_Penguin3, 1) + EVT_CASE_EQ(1) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_0054) + EVT_SET(MV_DialogueState_Penguin3, 0) + EVT_END_SWITCH + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_SWITCH(MV_DialogueState_Penguin3) + EVT_CASE_EQ(0) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_0055) + EVT_SET(MV_DialogueState_Penguin3, 1) + EVT_CASE_EQ(1) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_0056) + EVT_SET(MV_DialogueState_Penguin3, 0) + EVT_END_SWITCH + EVT_CASE_LT(STORY_CH7_STAR_SPIRIT_RESCUED) + EVT_SWITCH(MV_DialogueState_Penguin3) + EVT_CASE_EQ(0) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_0057) + EVT_SET(MV_DialogueState_Penguin3, 1) + EVT_CASE_EQ(1) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_0058) + EVT_SET(MV_DialogueState_Penguin3, 0) + EVT_END_SWITCH + EVT_CASE_GE(STORY_CH7_STAR_SPIRIT_RESCUED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_0059) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Penguin_04) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_MYSTERY) + EVT_SWITCH(MV_DialogueState_Penguin4) + EVT_CASE_EQ(0) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_005A) + EVT_SET(MV_DialogueState_Penguin4, 1) + EVT_CASE_EQ(1) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_005B) + EVT_SET(MV_DialogueState_Penguin4, 0) + EVT_END_SWITCH + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_SWITCH(MV_DialogueState_Penguin4) + EVT_CASE_EQ(0) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_005C) + EVT_SET(MV_DialogueState_Penguin4, 1) + EVT_CASE_EQ(1) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_005D) + EVT_SET(MV_DialogueState_Penguin4, 0) + EVT_END_SWITCH + EVT_CASE_LT(STORY_CH7_STAR_SPIRIT_RESCUED) + EVT_SWITCH(MV_DialogueState_Penguin4) + EVT_CASE_EQ(0) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_005E) + EVT_SET(MV_DialogueState_Penguin4, 1) + EVT_CASE_EQ(1) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_005F) + EVT_SET(MV_DialogueState_Penguin4, 0) + EVT_END_SWITCH + EVT_CASE_GE(STORY_CH7_STAR_SPIRIT_RESCUED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_CH7_0060) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_PenguinCrowd_Leave) = { + EVT_CALL(SetNpcFlagBits, NPC_Penguin_05, NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Penguin_06, NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Penguin_07, NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Penguin_08, NPC_FLAG_100, TRUE) + EVT_CALL(BindNpcInteract, NPC_Penguin_05, 0) + EVT_CALL(BindNpcInteract, NPC_Penguin_06, 0) + EVT_CALL(BindNpcInteract, NPC_Penguin_07, 0) + EVT_CALL(BindNpcInteract, NPC_Penguin_08, 0) + EVT_THREAD + EVT_CALL(SetNpcSpeed, NPC_Penguin_05, EVT_FLOAT(3.0)) + EVT_CALL(SetNpcAnimation, NPC_Penguin_05, ANIM_Penguin_Walk) + EVT_CALL(NpcMoveTo, NPC_Penguin_05, 600, 0, 0) + EVT_CALL(SetNpcAnimation, NPC_Penguin_05, ANIM_Penguin_Idle) + EVT_CALL(SetNpcPos, NPC_Penguin_05, NPC_DISPOSE_LOCATION) + EVT_END_THREAD + EVT_WAIT(10) + EVT_THREAD + EVT_CALL(SetNpcSpeed, NPC_Penguin_06, EVT_FLOAT(3.0)) + EVT_CALL(SetNpcAnimation, NPC_Penguin_06, ANIM_Penguin_Walk) + EVT_CALL(NpcMoveTo, NPC_Penguin_06, 600, 0, 0) + EVT_CALL(SetNpcAnimation, NPC_Penguin_06, ANIM_Penguin_Idle) + EVT_CALL(SetNpcPos, NPC_Penguin_06, NPC_DISPOSE_LOCATION) + EVT_END_THREAD + EVT_WAIT(10) + EVT_THREAD + EVT_CALL(SetNpcSpeed, NPC_Penguin_07, EVT_FLOAT(3.0)) + EVT_CALL(SetNpcAnimation, NPC_Penguin_07, ANIM_Penguin_Walk) + EVT_CALL(NpcMoveTo, NPC_Penguin_07, 600, 0, 0) + EVT_CALL(SetNpcAnimation, NPC_Penguin_07, ANIM_Penguin_Idle) + EVT_CALL(SetNpcPos, NPC_Penguin_07, NPC_DISPOSE_LOCATION) + EVT_END_THREAD + EVT_WAIT(10) + EVT_THREAD + EVT_CALL(SetNpcSpeed, NPC_Penguin_08, EVT_FLOAT(3.0)) + EVT_CALL(SetNpcAnimation, NPC_Penguin_08, ANIM_Penguin_Walk) + EVT_CALL(NpcMoveTo, NPC_Penguin_08, 600, 0, 0) + EVT_CALL(SetNpcAnimation, NPC_Penguin_08, ANIM_Penguin_Idle) + EVT_CALL(SetNpcPos, NPC_Penguin_08, NPC_DISPOSE_LOCATION) + EVT_END_THREAD + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_PenguinCrowd) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_CALL(SpeakToPlayer, NPC_Penguin_05, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 5, MSG_CH7_0061) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_Penguin_06, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 5, MSG_CH7_0062) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_Penguin_07, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 5, MSG_CH7_0063) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_Penguin_08, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 5, MSG_CH7_0064) + EVT_CASE_EQ(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_CALL(SpeakToPlayer, NPC_Penguin_05, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 5, MSG_CH7_0065) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_Penguin_06, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 5, MSG_CH7_0066) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_Penguin_07, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 5, MSG_CH7_0067) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_Penguin_08, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 5, MSG_CH7_0068) + EVT_EXEC(N(EVS_PenguinCrowd_Leave)) + EVT_WAIT(1) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Penguin_06) = { + EVT_EXEC_WAIT(N(EVS_NpcInteract_PenguinCrowd)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Penguin_07) = { + EVT_EXEC_WAIT(N(EVS_NpcInteract_PenguinCrowd)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Penguin_08) = { + EVT_EXEC_WAIT(N(EVS_NpcInteract_PenguinCrowd)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Inspect_Present) = { + EVT_CALL(ShowMessageAtScreenPos, MSG_CH7_0004, 160, 40) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_MayorPenguin) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_MayorPenguin))) + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_CALL(SetNpcPos, NPC_SELF, -270, 0, -205) + EVT_CALL(InterpNpcYaw, NPC_SELF, 180, 0) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_MayorPenguin_Dead) + EVT_CASE_GE(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_CALL(SetNpcPos, NPC_SELF, -300, 0, -160) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_MayorDummy) = { + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) + EVT_CALL(InterpNpcYaw, NPC_SELF, 183, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_MayorPenguinWife) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_MayorPenguinWife))) + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_MYSTERY) + EVT_CALL(SetNpcPos, NPC_SELF, -310, 0, 94) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_CALL(SetNpcPos, NPC_SELF, -297, 0, -69) + EVT_CASE_GE(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_CALL(SetNpcPos, NPC_SELF, -297, 0, -69) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_PenguinPatrol) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_PenguinPatrol))) + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_PenguinPatrol))) + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_MYSTERY) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_CALL(SetNpcPos, NPC_SELF, -255, 0, -178) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Herringway) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH7_SPOKE_WITH_HERRINGWAY) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_4, TRUE) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) + EVT_CASE_LT(STORY_CH7_HERRINGWAY_AT_MAYORS_HOUSE) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) + EVT_CALL(InterpNpcYaw, NPC_SELF, 270, 0) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_CALL(BindNpcInteract, NPC_Herringway, EVT_PTR(N(EVS_NpcInteract_Herringway))) + EVT_CALL(SetNpcPos, NPC_SELF, -228, 0, 91) + EVT_CALL(InterpNpcYaw, NPC_SELF, 270, 0) + EVT_CASE_GE(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_4, TRUE) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Penguin_01) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Penguin_01))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Penguin_02) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Penguin_02))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Penguin_03) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Penguin_03))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Penguin_04) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Penguin_04))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Penguin_05) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_PenguinCrowd))) + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_MYSTERY) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_CALL(SetNpcPos, NPC_SELF, -150, 0, 0) + EVT_CASE_GE(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Penguin_06) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Penguin_06))) + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_MYSTERY) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_CALL(SetNpcPos, NPC_SELF, -90, 0, 0) + EVT_CASE_GE(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Penguin_07) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Penguin_07))) + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_MYSTERY) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_CALL(SetNpcPos, NPC_SELF, -120, 0, -30) + EVT_CASE_GE(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Penguin_08) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Penguin_08))) + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_MYSTERY) + EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_CALL(SetNpcPos, NPC_SELF, -120, 0, 30) + EVT_CASE_GE(STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Penguin_09) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_CALL(SetNpcFlagBits, NPC_Penguin_09, NPC_FLAG_2 | NPC_FLAG_10000000, TRUE) + EVT_CALL(EnableNpcShadow, NPC_Penguin_09, FALSE) + EVT_CALL(SetNpcPos, NPC_Penguin_09, -325, 0, -240) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_MayorPenguin)[] = { + { + .id = NPC_MayorPenguin, + .settings = &N(NpcSettings_Penguin), + .pos = { -272.0f, 0.0f, -180.0f }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_MayorPenguin), + .drops = NPC_NO_DROPS, + .animations = MAYOR_PENGUIN_ANIMS, + .tattle = MSG_NpcTattle_MayorPenguin, + }, + { + .id = NPC_MayorDummy, + .settings = &N(NpcSettings_Penguin), + .pos = { -272.0f, 0.0f, -180.0f }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_MayorDummy), + .drops = NPC_NO_DROPS, + .animations = MAYOR_PENGUIN_ANIMS, + .tattle = MSG_NpcTattle_MayorPenguin, + }, + { + .id = NPC_MayorPenguinWife, + .settings = &N(NpcSettings_Penguin), + .pos = { -316.0f, 0.0f, 113.0f }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_MayorPenguinWife), + .drops = NPC_NO_DROPS, + .animations = MAYOR_PENGUIN_WIFE_ANIMS, + .tattle = MSG_NpcTattle_MayorPenguinWife, + }, + { + .id = NPC_PenguinPatrol, + .settings = &N(NpcSettings_Penguin), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_PenguinPatrol), + .drops = NPC_NO_DROPS, + .animations = PENGUIN_PATROL_ANIMS, + .tattle = MSG_NpcTattle_SAM_Patrol, + }, + { + .id = NPC_Herringway, + .settings = &N(NpcSettings_Penguin), + .pos = { 0.0f, 0.0f, 0.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_Herringway), + .drops = NPC_NO_DROPS, + .animations = HERRINGWAY_ANIMS, + .tattle = MSG_NpcTattle_Herringway, + }, + { + .id = NPC_Penguin_01, + .settings = &N(NpcSettings_Penguin_Wander), + .pos = { -150.0f, 0.0f, 400.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_Penguin_01), + .drops = NPC_NO_DROPS, + .territory = { + .wander = { + .isFlying = TRUE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_CYLINDER, + .centerPos = { -150, 0, 400 }, + .wanderSize = { 50 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { 0, 0, 0 }, + .detectSize = { 0 }, + } + }, + .animations = PENGUIN_ANIMS, + .tattle = MSG_NpcTattle_SAM_GossipPenguin, + }, + { + .id = NPC_Penguin_02, + .settings = &N(NpcSettings_Penguin_Wander), + .pos = { 100.0f, 0.0f, 250.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_Penguin_02), + .drops = NPC_NO_DROPS, + .territory = { + .wander = { + .isFlying = TRUE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_CYLINDER, + .centerPos = { 100, 0, 250 }, + .wanderSize = { 50 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { 0, 0, 0 }, + .detectSize = { 0 }, + } + }, + .animations = PENGUIN_ANIMS, + .tattle = MSG_NpcTattle_SAM_FriendlyPenguin, + }, + { + .id = NPC_Penguin_03, + .settings = &N(NpcSettings_Penguin_Wander), + .pos = { 400.0f, 0.0f, 50.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_Penguin_03), + .drops = NPC_NO_DROPS, + .territory = { + .wander = { + .isFlying = TRUE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_CYLINDER, + .centerPos = { 400, 0, 50 }, + .wanderSize = { 50 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { 0, 0, 0 }, + .detectSize = { 0 }, + } + }, + .animations = PENGUIN_ANIMS, + .tattle = MSG_NpcTattle_SAM_CheerfulPenguin, + }, + { + .id = NPC_Penguin_04, + .settings = &N(NpcSettings_Penguin), + .pos = { 350.0f, 0.0f, -190.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_Penguin_04), + .drops = NPC_NO_DROPS, + .animations = PENGUIN_ANIMS, + .tattle = MSG_NpcTattle_SAM_GenericPenguin, + }, +}; + +StaticNpc N(NpcData_Penguin_05)[] = { + { + .id = NPC_Penguin_05, + .settings = &N(NpcSettings_Penguin), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 90, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_Penguin_05), + .drops = NPC_NO_DROPS, + .animations = PENGUIN_ANIMS, + .tattle = MSG_NpcTattle_SAM_RumorLovingPenguins, + }, + { + .id = NPC_Penguin_06, + .settings = &N(NpcSettings_Penguin), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 270, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_Penguin_06), + .drops = NPC_NO_DROPS, + .animations = PENGUIN_ANIMS, + .tattle = MSG_NpcTattle_SAM_NotAdventurous, + }, + { + .id = NPC_Penguin_07, + .settings = &N(NpcSettings_Penguin), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 180, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_Penguin_07), + .drops = NPC_NO_DROPS, + .animations = PENGUIN_ANIMS, + .tattle = MSG_NpcTattle_SAM_GenericPenguin, + }, + { + .id = NPC_Penguin_08, + .settings = &N(NpcSettings_Penguin), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_Penguin_08), + .drops = NPC_NO_DROPS, + .animations = PENGUIN_ANIMS, + .tattle = MSG_NpcTattle_SAM_GenericPenguin, + }, +}; + +StaticNpc N(NpcData_Penguin_09) = { + .id = NPC_Penguin_09, + .settings = &N(NpcSettings_Penguin), + .pos = { 0.0f, 0.0f, 0.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_Penguin_09), + .drops = NPC_NO_DROPS, + .animations = PENGUIN_ANIMS, +}; + +StaticNpc N(NpcData_ChuckQuizmo) = { + .id = NPC_ChuckQuizmo, + .settings = &N(NpcSettings_ChuckQuizmo), + .pos = { 230.0f, 0.0f, 150.0f }, + .yaw = 90, + .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .initVarCount = 1, + .initVar = { .bytes = { 0, QUIZ_AREA_SAM, QUIZ_COUNT_SAM, QUIZ_MAP_SAM_01 }}, + .drops = NPC_NO_DROPS, + .animations = QUIZMO_ANIMS, + .tattle = MSG_NpcTattle_ChuckQuizmo, +}; + +NpcGroupList N(BeforeNPCs) = { + NPC_GROUP(N(NpcData_MayorPenguin), BTL_KMR_PART_1_FORMATION_00, BTL_KMR_PART_1_STAGE_00), + NPC_GROUP(N(NpcData_Penguin_05), BTL_KMR_PART_1_FORMATION_00, BTL_KMR_PART_1_STAGE_00), + NPC_GROUP(N(NpcData_Penguin_09), BTL_KMR_PART_1_FORMATION_00, BTL_KMR_PART_1_STAGE_00), + NPC_GROUP(N(NpcData_ChuckQuizmo)), + {} +}; + +NpcGroupList N(MysteryNPCs) = { + NPC_GROUP(N(NpcData_MayorPenguin), BTL_KMR_PART_1_FORMATION_00, BTL_KMR_PART_1_STAGE_00), + NPC_GROUP(N(NpcData_Penguin_05), BTL_KMR_PART_1_FORMATION_00, BTL_KMR_PART_1_STAGE_00), + NPC_GROUP(N(NpcData_Penguin_09), BTL_KMR_PART_1_FORMATION_00, BTL_KMR_PART_1_STAGE_00), + NPC_GROUP(N(NpcData_ChuckQuizmo)), + {} +}; + +NpcGroupList N(AfterNPCs) = { + NPC_GROUP(N(NpcData_MayorPenguin), BTL_KMR_PART_1_FORMATION_00, BTL_KMR_PART_1_STAGE_00), + NPC_GROUP(N(NpcData_ChuckQuizmo)), + {} +}; diff --git a/src/world/area_sam/sam_01/sam_01_5_scenes.c b/src/world/area_sam/sam_01/sam_01_5_scenes.c new file mode 100644 index 0000000000..52b72300c3 --- /dev/null +++ b/src/world/area_sam/sam_01/sam_01_5_scenes.c @@ -0,0 +1,732 @@ +#include "sam_01.h" + +#include "common/GetItemEntityPosition.inc.c" +#include "world/common/todo/GetLeftRightPoints.inc.c" + +EvtScript N(EVS_MayorCarryGift) = { + EVT_CALL(GetNpcPos, NPC_MayorPenguin, LVar0, LVar1, LVar2) + EVT_CALL(GetNpcPos, NPC_Penguin_09, LVar3, LVar4, LVar5) + EVT_SUB(LVar3, LVar0) + EVT_SUB(LVar4, LVar1) + EVT_SUB(LVar5, LVar2) + EVT_ADD(LVar3, 3) + EVT_ADD(LVar5, 5) + EVT_LABEL(0) + EVT_CALL(GetNpcPos, NPC_MayorPenguin, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, LVar3) + EVT_ADD(LVar1, LVar4) + EVT_ADD(LVar2, LVar5) + EVT_CALL(SetNpcPos, NPC_Penguin_09, LVar0, LVar1, LVar2) + EVT_SET(LVar6, LVar0) + EVT_SUB(LVar6, 10) + EVT_CALL(SetItemPos, MV_PresentItemID, LVar6, LVar1, LVar2) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_HerringwayCarryPresent) = { + EVT_CALL(N(GetItemEntityPosition), MV_PresentItemID, LVarA, LVarB, LVarC) + EVT_LOOP(6) + EVT_CALL(SetItemPos, MV_PresentItemID, LVarA, LVarB, LVarC) + EVT_ADD(LVarC, 10) + EVT_WAIT(1) + EVT_END_LOOP + EVT_LOOP(0) + EVT_CALL(GetNpcPos, NPC_Herringway, LVar0, LVar1, LVar2) + EVT_ADD(LVar2, 20) + EVT_CALL(SetItemPos, MV_PresentItemID, LVar0, LVarB, LVar2) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_OpenMayorsOfficeDoor) = { + EVT_CALL(PlaySoundAtCollider, COLLIDER_ttsn, SOUND_BASIC_DOOR_OPEN, 0) + EVT_CALL(MakeLerp, 0, 80, 20, EASING_COS_IN_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, MODEL_o236, LVar0, 0, -1, 0) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_CloseMayorsOfficeDoor) = { + EVT_CALL(MakeLerp, 80, 0, 20, EASING_COS_IN_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, MODEL_o236, LVar0, 0, -1, 0) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(PlaySoundAtCollider, COLLIDER_ttsn, SOUND_BASIC_DOOR_CLOSE, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Scene_MysteryBegins) = { + EVT_CALL(InterruptUsePartner) + EVT_CALL(SetNpcFlagBits, NPC_MayorPenguin, NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_MayorPenguinWife, NPC_FLAG_100, TRUE) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, EVT_FLOAT(-236.1), EVT_FLOAT(0.0), EVT_FLOAT(-45.6)) + EVT_CALL(SetCamPosA, CAM_DEFAULT, EVT_FLOAT(-300.0), EVT_FLOAT(-53.7)) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(300.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(20) + EVT_EXEC_WAIT(N(EVS_OpenMayorsOfficeDoor)) + EVT_THREAD + EVT_WAIT(20) + EVT_EXEC_WAIT(N(EVS_CloseMayorsOfficeDoor)) + EVT_END_THREAD + EVT_CALL(SetNpcFlagBits, NPC_MayorPenguinWife, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcPos, NPC_MayorPenguinWife, -255, 0, 28) + EVT_CALL(SetNpcSpeed, NPC_MayorPenguinWife, EVT_FLOAT(2.0)) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_Walk) + EVT_CALL(NpcMoveTo, NPC_MayorPenguinWife, -255, -30, 0) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_Idle) + EVT_CALL(SpeakToPlayer, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_Talk, ANIM_MayorPenguinWife_Idle, 0, MSG_CH7_0005) + EVT_CALL(SetPanTarget, CAM_DEFAULT, -255, 0, -150) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(400.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(1.4)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SetPlayerPos, -284, 0, -165) + EVT_CALL(InterpPlayerYaw, 180, 0) + EVT_CALL(SetNpcPos, NPC_PARTNER, -320, 0, -190) + EVT_CALL(InterpNpcYaw, NPC_PARTNER, 180, 0) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_Walk) + EVT_CALL(NpcMoveTo, NPC_MayorPenguinWife, -255, -40, 0) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_80007) + EVT_CALL(NpcMoveTo, NPC_MayorPenguinWife, -255, -165, 0) + EVT_CALL(InterpPlayerYaw, 0, 0) + EVT_CALL(InterpNpcYaw, NPC_PARTNER, 0, 0) + EVT_CALL(NpcMoveTo, NPC_MayorPenguinWife, -255, -185, 0) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_Idle) + EVT_CALL(PlaySoundAtNpc, NPC_MayorPenguinWife, SOUND_262, 0) + EVT_CALL(ShowEmote, NPC_MayorPenguinWife, EMOTE_EXCLAMATION, 0, 30, TRUE, 0, 0, 0, 0) + EVT_WAIT(30) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_Walk) + EVT_CALL(SetNpcSpeed, NPC_MayorPenguinWife, EVT_FLOAT(0.5)) + EVT_CALL(NpcMoveTo, NPC_MayorPenguinWife, -255, -200, 0) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_Inspect) + EVT_WAIT(35) + EVT_THREAD + EVT_CALL(SetMusicTrack, 0, SONG_PENGUIN_WHODUNIT, 0, 8) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_Horror) + EVT_SET(MF_ContinueScene, FALSE) + EVT_CALL(SpeakToPlayer, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_Horror, ANIM_MayorPenguinWife_Horror, 0, MSG_CH7_0006) + EVT_SET(MF_ContinueScene, TRUE) + EVT_END_THREAD + EVT_CALL(SetMotionBlurParams, 0, 0, 0, 320, 240, 128, 10) + EVT_LOOP(5) + EVT_CALL(GetNpcPos, NPC_MayorPenguinWife, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(210.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(10.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(GetNpcPos, NPC_MayorPenguinWife, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(400.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(10.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_END_LOOP + EVT_CALL(SetMotionBlurParams, 0, 0, 0, 320, 240, 0, 10) + EVT_LABEL(2) + EVT_IF_EQ(MF_ContinueScene, FALSE) + EVT_WAIT(1) + EVT_GOTO(2) + EVT_END_IF + EVT_WAIT(20) + EVT_CALL(SetNpcSpeed, NPC_MayorPenguinWife, EVT_FLOAT(6.0)) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_Panic) + EVT_CALL(NpcMoveTo, NPC_MayorPenguinWife, -255, 0, 0) + EVT_CALL(SetNpcPos, NPC_MayorPenguinWife, -255, 0, 60) + EVT_WAIT(30) + EVT_SET(MF_ContinueScene, FALSE) + EVT_THREAD + EVT_WAIT(20) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_1002B) + EVT_WAIT(60) + EVT_SET(MF_ContinueScene, TRUE) + EVT_END_THREAD + EVT_CALL(ShowMessageAtScreenPos, MSG_CH7_0007, 160, 40) + EVT_LABEL(100) + EVT_IF_EQ(MF_ContinueScene, FALSE) + EVT_WAIT(1) + EVT_GOTO(100) + EVT_END_IF + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(600.0)) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(15.0), EVT_FLOAT(-8.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(0.6)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(InterpPlayerYaw, 180, 5) + EVT_WAIT(20) + EVT_CALL(InterpPlayerYaw, 0, 5) + EVT_WAIT(90) + EVT_THREAD + EVT_WAIT(10) + EVT_CALL(InterpPlayerYaw, 180, 5) + EVT_END_THREAD + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, EVT_FLOAT(-236.1), EVT_FLOAT(0.0), EVT_FLOAT(-45.6)) + EVT_CALL(SetCamPosA, CAM_DEFAULT, EVT_FLOAT(-300.0), EVT_FLOAT(-53.7)) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(300.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(SetNpcPos, NPC_PARTNER, -306, 0, -116) + EVT_CALL(SetNpcYaw, NPC_PARTNER, 0) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_WAIT(30) + EVT_CALL(SpeakToPlayer, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_Horror, ANIM_MayorPenguinWife_Horror, 5, MSG_CH7_0008) + EVT_WAIT(20) + EVT_EXEC_WAIT(N(EVS_OpenMayorsOfficeDoor)) + EVT_THREAD + EVT_WAIT(30) + EVT_EXEC_WAIT(N(EVS_CloseMayorsOfficeDoor)) + EVT_END_THREAD + EVT_THREAD + EVT_SET(MF_ContinueScene, FALSE) + EVT_CALL(SetNpcPos, NPC_PenguinPatrol, -255, 0, 50) + EVT_CALL(SetNpcSpeed, NPC_PenguinPatrol, EVT_FLOAT(2.0)) + EVT_CALL(SetNpcAnimation, NPC_PenguinPatrol, ANIM_PenguinPatrol_Walk) + EVT_CALL(NpcMoveTo, NPC_PenguinPatrol, -255, -75, 0) + EVT_CALL(SetNpcAnimation, NPC_PenguinPatrol, ANIM_PenguinPatrol_Idle) + EVT_SET(MF_ContinueScene, TRUE) + EVT_END_THREAD + EVT_CALL(SetNpcPos, NPC_MayorPenguinWife, -255, 0, 80) + EVT_CALL(SetNpcSpeed, NPC_MayorPenguinWife, EVT_FLOAT(2.0)) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_Walk) + EVT_CALL(NpcMoveTo, NPC_MayorPenguinWife, -255, -20, 0) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_Idle) + EVT_LABEL(5) + EVT_IF_EQ(MF_ContinueScene, FALSE) + EVT_WAIT(1) + EVT_GOTO(5) + EVT_END_IF + EVT_CALL(SpeakToPlayer, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_PointTalk, ANIM_MayorPenguinWife_Point, 0, MSG_CH7_0009) + EVT_CALL(InterpNpcYaw, NPC_PenguinPatrol, 180, 0) + EVT_WAIT(30) + EVT_CALL(InterpNpcYaw, NPC_PenguinPatrol, 0, 0) + EVT_CALL(SetPanTarget, CAM_DEFAULT, -255, 0, -150) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(400.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(1.4)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_THREAD + EVT_WAIT(30) + EVT_CALL(PlayerMoveTo, -315, -150, 20) + EVT_CALL(InterpPlayerYaw, 0, 0) + EVT_END_THREAD + EVT_CALL(SetNpcAnimation, NPC_PenguinPatrol, ANIM_PenguinPatrol_Walk) + EVT_CALL(NpcMoveTo, NPC_PenguinPatrol, -255, -180, 0) + EVT_CALL(SetNpcAnimation, NPC_PenguinPatrol, ANIM_PenguinPatrol_Idle) + EVT_WAIT(20) + EVT_THREAD + EVT_SET(MF_ContinueScene, FALSE) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_Walk) + EVT_CALL(NpcMoveTo, NPC_MayorPenguinWife, -255, -70, 0) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_Idle) + EVT_SET(MF_ContinueScene, TRUE) + EVT_END_THREAD + EVT_CALL(SetNpcAnimation, NPC_PenguinPatrol, ANIM_PenguinPatrol_Inspect) + EVT_WAIT(30) + EVT_CALL(SetNpcAnimation, NPC_PenguinPatrol, ANIM_PenguinPatrol_Idle) + EVT_CALL(SpeakToPlayer, NPC_PenguinPatrol, ANIM_PenguinPatrol_Talk, ANIM_PenguinPatrol_Idle, 0, MSG_CH7_000A) + EVT_LABEL(6) + EVT_IF_EQ(MF_ContinueScene, FALSE) + EVT_WAIT(1) + EVT_GOTO(6) + EVT_END_IF + EVT_CALL(SpeakToPlayer, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_PointTalk, ANIM_MayorPenguinWife_Point, 0, MSG_CH7_000B) + EVT_WAIT(20) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, EVT_FLOAT(-340.5), EVT_FLOAT(0.0), EVT_FLOAT(-180.7)) + EVT_CALL(SetCamPosA, CAM_DEFAULT, EVT_FLOAT(-463.0), EVT_FLOAT(180.0)) + EVT_CALL(SetCamPosB, CAM_DEFAULT, EVT_FLOAT(-215.0), EVT_FLOAT(-175.0)) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(17.5), EVT_FLOAT(-8.0)) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(250.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(GetAngleToPlayer, NPC_PenguinPatrol, LVar0) + EVT_CALL(InterpNpcYaw, NPC_PenguinPatrol, LVar0, 0) + EVT_CALL(PlayerFaceNpc, NPC_PenguinPatrol, FALSE) + EVT_WAIT(13) + EVT_CALL(SpeakToPlayer, NPC_PenguinPatrol, ANIM_PenguinPatrol_Talk, ANIM_PenguinPatrol_Idle, 0, MSG_CH7_000C) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_90000) + EVT_WAIT(35) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_CALL(SpeakToPlayer, NPC_PenguinPatrol, ANIM_PenguinPatrol_Talk, ANIM_PenguinPatrol_Idle, 0, MSG_CH7_000D) + EVT_WAIT(30) + EVT_CALL(SpeakToPlayer, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_PointTalk, ANIM_MayorPenguinWife_Point, 0, MSG_CH7_000E) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_90000) + EVT_WAIT(20) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_CALL(SpeakToPlayer, NPC_PenguinPatrol, ANIM_PenguinPatrol_Talk, ANIM_PenguinPatrol_Idle, 0, MSG_CH7_000F) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_NodYes) + EVT_WAIT(20) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_CALL(GetCurrentPartnerID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(PARTNER_GOOMBARIO) + EVT_CALL(SpeakToNpc, NPC_PARTNER, ANIM_WorldGoombario_Talk, ANIM_WorldGoombario_Idle, 0, NPC_PenguinPatrol, MSG_CH7_0010) + EVT_CASE_EQ(PARTNER_KOOPER) + EVT_CALL(SpeakToNpc, NPC_PARTNER, ANIM_WorldKooper_Talk, ANIM_WorldKooper_Idle, 0, NPC_PenguinPatrol, MSG_CH7_0011) + EVT_CASE_EQ(PARTNER_BOMBETTE) + EVT_CALL(SpeakToNpc, NPC_PARTNER, ANIM_WorldBombette_Talk, ANIM_WorldBombette_Idle, 0, NPC_PenguinPatrol, MSG_CH7_0012) + EVT_CASE_EQ(PARTNER_PARAKARRY) + EVT_CALL(SpeakToNpc, NPC_PARTNER, ANIM_WorldParakarry_Talk, ANIM_WorldParakarry_Idle, 0, NPC_PenguinPatrol, MSG_CH7_0013) + EVT_CASE_EQ(PARTNER_BOW) + EVT_CALL(SpeakToNpc, NPC_PARTNER, ANIM_WorldBow_Talk, ANIM_WorldBow_Idle, 0, NPC_PenguinPatrol, MSG_CH7_0014) + EVT_CASE_EQ(PARTNER_WATT) + EVT_CALL(SpeakToNpc, NPC_PARTNER, ANIM_WorldWatt_Talk, ANIM_WorldWatt_Idle, 0, NPC_PenguinPatrol, MSG_CH7_0015) + EVT_CASE_EQ(PARTNER_SUSHIE) + EVT_CALL(SpeakToNpc, NPC_PARTNER, ANIM_WorldSushie_Talk, ANIM_WorldSushie_Idle, 0, NPC_PenguinPatrol, MSG_CH7_0016) + EVT_CASE_EQ(PARTNER_LAKILESTER) + EVT_CALL(SpeakToNpc, NPC_PARTNER, ANIM_WorldLakilester_Talk, ANIM_WorldLakilester_Idle, 0, NPC_PenguinPatrol, MSG_CH7_0017) + EVT_END_SWITCH + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_PenguinPatrol, ANIM_PenguinPatrol_Talk, ANIM_PenguinPatrol_Idle, 0, MSG_CH7_0018) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_NodYes) + EVT_WAIT(20) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_CALL(SpeakToPlayer, NPC_PenguinPatrol, ANIM_PenguinPatrol_TalkThink, ANIM_PenguinPatrol_StillThink, 0, MSG_CH7_0019) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_NodYes) + EVT_WAIT(20) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_CALL(SpeakToPlayer, NPC_PenguinPatrol, ANIM_PenguinPatrol_Talk, ANIM_PenguinPatrol_Idle, 0, MSG_CH7_001A) + EVT_CALL(SetNpcPos, NPC_Penguin_05, -150, 0, 0) + EVT_CALL(InterpNpcYaw, NPC_Penguin_05, 90, 0) + EVT_CALL(SetNpcPos, NPC_Penguin_06, -90, 0, 0) + EVT_CALL(InterpNpcYaw, NPC_Penguin_06, 270, 0) + EVT_CALL(SetNpcPos, NPC_Penguin_07, -120, 0, -30) + EVT_CALL(InterpNpcYaw, NPC_Penguin_07, 180, 0) + EVT_CALL(SetNpcPos, NPC_Penguin_08, -120, 0, 30) + EVT_CALL(InterpNpcYaw, NPC_Penguin_08, 0, 0) + EVT_CALL(SetNpcFlagBits, NPC_MayorPenguin, NPC_FLAG_100, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_MayorPenguinWife, NPC_FLAG_100, FALSE) + EVT_CALL(EnablePartnerAI) + EVT_SET(GB_StoryProgress, STORY_CH7_MAYOR_MURDER_MYSTERY) + EVT_SET(GB_SAM11_FrozenPondDamage, 0) + EVT_SET(MV_DialogueState_Penguin1, 0) + EVT_SET(MV_DialogueState_Penguin2, 0) + EVT_SET(MV_DialogueState_Penguin3, 0) + EVT_SET(MV_DialogueState_Penguin4, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Scene_MysterySolved) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(GetPartnerInUse, LVar0) + EVT_IF_NE(LVar0, PARTNER_NONE) + EVT_CALL(InterruptUsePartner) + EVT_WAIT(20) + EVT_END_IF + EVT_THREAD + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_WALK) + EVT_CALL(SetNpcSpeed, NPC_PARTNER, EVT_FLOAT(3.0)) + EVT_CALL(NpcMoveTo, NPC_PARTNER, -262, -103, 0) + EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) + EVT_END_THREAD + EVT_CALL(GetAngleToPlayer, NPC_PenguinPatrol, LVar0) + EVT_CALL(InterpNpcYaw, NPC_PenguinPatrol, LVar0, 0) + EVT_CALL(SpeakToPlayer, NPC_PenguinPatrol, ANIM_PenguinPatrol_Talk, ANIM_PenguinPatrol_Idle, 0, MSG_CH7_001D) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_80007) + EVT_WAIT(40) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_CALL(GetNpcPos, NPC_PenguinPatrol, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(300.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(SetPlayerPos, -255, 0, -135) + EVT_CALL(PlayerFaceNpc, NPC_PenguinPatrol, FALSE) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_PenguinPatrol, ANIM_PenguinPatrol_Talk, ANIM_PenguinPatrol_Idle, 0, MSG_CH7_001E) + EVT_CALL(GetNpcPos, NPC_PenguinPatrol, LVar0, LVar1, LVar2) + EVT_SUB(LVar2, 10) + EVT_CALL(SetNpcAnimation, NPC_PenguinPatrol, ANIM_PenguinPatrol_Walk) + EVT_CALL(SetNpcSpeed, NPC_PenguinPatrol, EVT_FLOAT(2.0)) + EVT_CALL(NpcMoveTo, NPC_PenguinPatrol, LVar0, LVar2, 0) + EVT_CALL(SetNpcAnimation, NPC_PenguinPatrol, ANIM_PenguinPatrol_Idle) + EVT_WAIT(20) + EVT_CALL(SetNpcAnimation, NPC_PenguinPatrol, ANIM_PenguinPatrol_Inspect) + EVT_WAIT(30) + EVT_CALL(SetNpcAnimation, NPC_PenguinPatrol, ANIM_PenguinPatrol_Idle) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_PenguinPatrol, ANIM_PenguinPatrol_Talk, ANIM_PenguinPatrol_Idle, 5, MSG_CH7_001F) + EVT_CALL(GetAngleToPlayer, NPC_PenguinPatrol, LVar0) + EVT_CALL(InterpNpcYaw, NPC_PenguinPatrol, LVar0, 0) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_NodYes) + EVT_WAIT(20) + EVT_THREAD + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 20) + EVT_CALL(PlayerMoveTo, LVar0, LVar2, 20) + EVT_CALL(PlayerFaceNpc, NPC_Herringway, FALSE) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_WALK) + EVT_CALL(NpcMoveTo, NPC_PARTNER, -306, -116, 10) + EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) + EVT_CALL(NpcFaceNpc, NPC_PARTNER, NPC_Herringway, 0) + EVT_END_THREAD + EVT_CALL(GetNpcPos, NPC_PenguinPatrol, LVar0, LVar1, LVar2) + EVT_ADD(LVar2, 20) + EVT_CALL(SetNpcAnimation, NPC_PenguinPatrol, ANIM_PenguinPatrol_Walk) + EVT_CALL(SetNpcSpeed, NPC_PenguinPatrol, EVT_FLOAT(2.0)) + EVT_CALL(NpcMoveTo, NPC_PenguinPatrol, LVar0, LVar2, 0) + EVT_CALL(SetNpcAnimation, NPC_PenguinPatrol, ANIM_PenguinPatrol_Idle) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_PenguinPatrol, ANIM_PenguinPatrol_Talk, ANIM_PenguinPatrol_Idle, 0, MSG_CH7_0020) + EVT_CALL(GetNpcPos, NPC_Herringway, LVar0, LVar1, LVar2) + EVT_CALL(GetNpcPos, NPC_PenguinPatrol, LVar3, LVar4, LVar5) + EVT_ADDF(LVar0, LVar3) + EVT_ADDF(LVar1, LVar4) + EVT_ADDF(LVar2, LVar5) + EVT_DIVF(LVar0, EVT_FLOAT(2.0)) + EVT_DIVF(LVar1, EVT_FLOAT(2.0)) + EVT_DIVF(LVar2, EVT_FLOAT(2.0)) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(2.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_Herringway, ANIM_Herringway_Talk, ANIM_Herringway_Idle, 0, MSG_CH7_0021) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_WAIT(1) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_CALL(GetAngleBetweenNPCs, NPC_MayorPenguinWife, NPC_PenguinPatrol, LVar0) + EVT_CALL(InterpNpcYaw, NPC_MayorPenguinWife, LVar0, 0) + EVT_CALL(GetAngleBetweenNPCs, NPC_Herringway, NPC_PenguinPatrol, LVar0) + EVT_CALL(InterpNpcYaw, NPC_Herringway, LVar0, 0) + EVT_CALL(PlayerFaceNpc, NPC_PenguinPatrol, FALSE) + EVT_WAIT(1) + EVT_CALL(NpcFaceNpc, NPC_PARTNER, NPC_PenguinPatrol, 0) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_PenguinPatrol, ANIM_PenguinPatrol_TalkThink, ANIM_PenguinPatrol_StillThink, 0, MSG_CH7_0022) + EVT_CALL(GetAngleBetweenNPCs, NPC_MayorPenguinWife, NPC_Herringway, LVar0) + EVT_CALL(InterpNpcYaw, NPC_MayorPenguinWife, LVar0, 0) + EVT_CALL(GetAngleBetweenNPCs, NPC_PenguinPatrol, NPC_Herringway, LVar0) + EVT_CALL(InterpNpcYaw, NPC_PenguinPatrol, LVar0, 0) + EVT_CALL(PlayerFaceNpc, NPC_Herringway, FALSE) + EVT_WAIT(1) + EVT_CALL(NpcFaceNpc, NPC_PARTNER, NPC_Herringway, 0) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_Herringway, ANIM_Herringway_Talk, ANIM_Herringway_Idle, 0, MSG_CH7_0023) + EVT_CALL(GetAngleBetweenNPCs, NPC_Herringway, NPC_MayorPenguinWife, LVar0) + EVT_CALL(InterpNpcYaw, NPC_Herringway, LVar0, 0) + EVT_CALL(GetAngleBetweenNPCs, NPC_PenguinPatrol, NPC_MayorPenguinWife, LVar0) + EVT_CALL(InterpNpcYaw, NPC_PenguinPatrol, LVar0, 0) + EVT_CALL(PlayerFaceNpc, NPC_MayorPenguinWife, FALSE) + EVT_WAIT(1) + EVT_CALL(NpcFaceNpc, NPC_PARTNER, NPC_MayorPenguinWife, 0) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_PointTalk, ANIM_MayorPenguinWife_Point, 0, MSG_CH7_0024) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(300.0)) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(17.5), EVT_FLOAT(-6.5)) + EVT_CALL(N(GetLeftRightPoints), LVar0, LVar2, 45) + EVT_CALL(SetCamPosA, CAM_DEFAULT, LVar0, LVar1) + EVT_CALL(SetCamPosB, CAM_DEFAULT, LVar2, LVar3) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(GetAngleBetweenNPCs, NPC_MayorPenguinWife, NPC_PenguinPatrol, LVar0) + EVT_CALL(InterpNpcYaw, NPC_MayorPenguinWife, LVar0, 0) + EVT_CALL(GetAngleBetweenNPCs, NPC_Herringway, NPC_PenguinPatrol, LVar0) + EVT_CALL(InterpNpcYaw, NPC_Herringway, LVar0, 0) + EVT_CALL(PlayerFaceNpc, NPC_PenguinPatrol, FALSE) + EVT_WAIT(1) + EVT_CALL(NpcFaceNpc, NPC_PARTNER, NPC_PenguinPatrol, 0) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_PenguinPatrol, ANIM_PenguinPatrol_TalkThink, ANIM_PenguinPatrol_StillThink, 0, MSG_CH7_0025) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguin, ANIM_MayorPenguin_Twitch) + EVT_WAIT(30) + EVT_CALL(PlaySoundAtNpc, NPC_MayorPenguin, SOUND_3E4, 0) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguin, ANIM_MayorPenguin_Dead) + EVT_WAIT(2) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguin, ANIM_MayorPenguin_Twitch) + EVT_WAIT(20) + EVT_CALL(PlaySoundAtNpc, NPC_MayorPenguin, SOUND_3E4, 0) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguin, ANIM_MayorPenguin_Dead) + EVT_WAIT(2) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguin, ANIM_MayorPenguin_Twitch) + EVT_WAIT(20) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(N(GetLeftRightPoints), LVar0, LVar2, -95) + EVT_CALL(SetCamPosA, CAM_DEFAULT, LVar0, LVar1) + EVT_CALL(SetCamPosB, CAM_DEFAULT, LVar2, LVar3) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(2.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(FadeOutMusic, 0, 500) + EVT_CALL(SpeakToPlayer, NPC_MayorPenguin, ANIM_MayorPenguin_Twitch, ANIM_MayorPenguin_Twitch, 0, MSG_CH7_0026) + EVT_CALL(GetAngleBetweenNPCs, NPC_PenguinPatrol, NPC_MayorPenguin, LVar0) + EVT_CALL(InterpNpcYaw, NPC_PenguinPatrol, LVar0, 0) + EVT_CALL(GetAngleBetweenNPCs, NPC_MayorPenguinWife, NPC_MayorPenguin, LVar0) + EVT_CALL(InterpNpcYaw, NPC_MayorPenguinWife, LVar0, 0) + EVT_CALL(GetAngleBetweenNPCs, NPC_Herringway, NPC_MayorPenguin, LVar0) + EVT_CALL(InterpNpcYaw, NPC_Herringway, LVar0, 0) + EVT_CALL(PlayerFaceNpc, NPC_MayorPenguin, FALSE) + EVT_CALL(NpcFaceNpc, NPC_PARTNER, NPC_MayorPenguin, 0) + EVT_CALL(PlaySoundAtNpc, NPC_MayorPenguin, SOUND_3E4, 0) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguin, ANIM_MayorPenguin_Dead) + EVT_WAIT(2) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguin, ANIM_MayorPenguin_Twitch) + EVT_WAIT(20) + EVT_CALL(PlaySoundAtNpc, NPC_MayorPenguin, SOUND_3E4, 0) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguin, ANIM_MayorPenguin_Dead) + EVT_WAIT(2) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguin, ANIM_MayorPenguin_Twitch) + EVT_WAIT(20) + EVT_CALL(GetNpcPos, NPC_MayorPenguin, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 11) + EVT_ADD(LVar2, 10) + EVT_CALL(SetNpcPos, NPC_MayorPenguin, LVar0, LVar1, LVar2) + EVT_CALL(EnableNpcShadow, NPC_MayorPenguin, FALSE) + EVT_CALL(SetNpcPos, NPC_MayorDummy, -270, 0, -205) + EVT_THREAD + EVT_WAIT(30) + EVT_CALL(SetNpcPos, NPC_MayorDummy, NPC_DISPOSE_LOCATION) + EVT_CALL(EnableNpcShadow, NPC_MayorPenguin, TRUE) + EVT_END_THREAD + EVT_CALL(SetNpcAnimation, NPC_MayorPenguin, ANIM_MayorPenguin_WakeUp) + EVT_WAIT(30) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguin, ANIM_MayorPenguin_Idle) + EVT_CALL(PlaySoundAtNpc, NPC_MayorPenguin, SOUND_32C, 0) + EVT_CALL(SetNpcJumpscale, NPC_MayorPenguin, EVT_FLOAT(1.0)) + EVT_CALL(GetNpcPos, NPC_MayorPenguin, LVar0, LVar1, LVar2) + EVT_CALL(NpcJump0, NPC_MayorPenguin, LVar0, 0, LVar2, 10) + EVT_CALL(SetMusicTrack, 0, SONG_PENGUIN_WAKES_UP, 0, 8) + EVT_CALL(SpeakToPlayer, NPC_MayorPenguin, ANIM_MayorPenguin_Talk, ANIM_MayorPenguin_Idle, 0, MSG_CH7_0027) + EVT_CALL(InterpNpcYaw, NPC_MayorPenguin, 0, 0) + EVT_WAIT(20) + EVT_CALL(InterpNpcYaw, NPC_MayorPenguin, 180, 0) + EVT_WAIT(20) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_Surprise) + EVT_CALL(SetNpcJumpscale, NPC_MayorPenguinWife, EVT_FLOAT(1.0)) + EVT_CALL(GetNpcPos, NPC_MayorPenguinWife, LVar0, LVar1, LVar2) + EVT_CALL(NpcJump0, NPC_MayorPenguinWife, LVar0, LVar1, LVar2, 20) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_Idle) + EVT_CALL(SpeakToPlayer, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_Talk, ANIM_MayorPenguinWife_Idle, 0, MSG_CH7_0028) + EVT_WAIT(30) + EVT_CALL(SpeakToPlayer, NPC_MayorPenguin, ANIM_MayorPenguin_Talk, ANIM_MayorPenguin_Idle, 0, MSG_CH7_0029) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_WAIT(1) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_CALL(SpeakToNpc, NPC_PenguinPatrol, ANIM_PenguinPatrol_Talk, ANIM_PenguinPatrol_Idle, 0, NPC_MayorPenguin, MSG_CH7_002A) + EVT_WAIT(10) + EVT_CALL(SpeakToNpc, NPC_MayorPenguin, ANIM_MayorPenguin_Talk, ANIM_MayorPenguin_Idle, 0, NPC_PenguinPatrol, MSG_CH7_002B) + EVT_CALL(GetNpcPos, NPC_MayorPenguin, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(280.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(SpeakToPlayer, NPC_MayorPenguin, ANIM_MayorPenguin_CarryTalk, ANIM_MayorPenguin_Idle, 0, MSG_CH7_002C) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_THREAD + EVT_LOOP(200) + EVT_CALL(GetAngleBetweenNPCs, NPC_PenguinPatrol, NPC_MayorPenguin, LVar0) + EVT_CALL(InterpNpcYaw, NPC_PenguinPatrol, LVar0, 0) + EVT_CALL(GetAngleBetweenNPCs, NPC_Herringway, NPC_MayorPenguin, LVar0) + EVT_CALL(InterpNpcYaw, NPC_Herringway, LVar0, 0) + EVT_CALL(GetAngleBetweenNPCs, NPC_MayorPenguinWife, NPC_MayorPenguin, LVar0) + EVT_CALL(InterpNpcYaw, NPC_MayorPenguinWife, LVar0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_CALL(SetNpcFlagBits, NPC_Penguin_09, NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcSpeed, NPC_MayorPenguin, EVT_FLOAT(3.0)) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguin, ANIM_MayorPenguin_Walk) + EVT_CALL(SetNpcFlagBits, NPC_MayorPenguin, NPC_FLAG_100, TRUE) + EVT_CALL(NpcMoveTo, NPC_MayorPenguin, -320, -258, 0) + EVT_CALL(InterpNpcYaw, NPC_MayorPenguin, 180, 0) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguin, ANIM_MayorPenguin_Idle) + EVT_WAIT(30) + EVT_THREAD + EVT_WAIT(25) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 30) + EVT_CALL(PlayerMoveTo, LVar0, LVar2, 20) + EVT_CALL(PlayerFaceNpc, NPC_MayorPenguin, FALSE) + EVT_CALL(NpcFaceNpc, NPC_PARTNER, NPC_MayorPenguin, 0) + EVT_WAIT(50) + EVT_CALL(PlayerFaceNpc, NPC_MayorPenguin, FALSE) + EVT_CALL(NpcFaceNpc, NPC_PARTNER, NPC_MayorPenguin, 0) + EVT_END_THREAD + EVT_THREAD + EVT_WAIT(10) + EVT_SET(LVar0, 0) + EVT_LOOP(8) + EVT_CALL(GetNpcPos, NPC_Penguin_09, LVar0, LVar1, LVar2) + EVT_ADDF(LVar1, EVT_FLOAT(1.25)) + EVT_CALL(SetNpcPos, NPC_Penguin_09, LVar0, LVar1, LVar2) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_CALL(SetNpcAnimation, NPC_MayorPenguin, ANIM_MayorPenguin_PickUp) + EVT_WAIT(30) + EVT_EXEC_GET_TID(N(EVS_MayorCarryGift), LVarA) + EVT_CALL(GetNpcPos, NPC_Herringway, LVar0, LVar1, LVar2) + EVT_ADD(LVar2, -25) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamPosA, CAM_DEFAULT, EVT_FLOAT(-300.0), EVT_FLOAT(0.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(0.3)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguin, ANIM_MayorPenguin_Carry) + EVT_CALL(GetNpcPos, NPC_Herringway, LVar0, LVar1, LVar2) + EVT_ADD(LVar2, -35) + EVT_CALL(NpcMoveTo, NPC_MayorPenguin, LVar0, LVar2, 0) + EVT_KILL_THREAD(LVarA) + EVT_WAIT(10) + EVT_THREAD + EVT_WAIT(10) + EVT_LOOP(7) + EVT_CALL(GetNpcPos, NPC_Penguin_09, LVar0, LVar1, LVar2) + EVT_ADD(LVar2, 1) + EVT_CALL(SetNpcPos, NPC_Penguin_09, LVar0, LVar1, LVar2) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_WAIT(30) + EVT_CALL(SetNpcFlagBits, NPC_MayorPenguin, NPC_FLAG_100, FALSE) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(SpeakToNpc, NPC_MayorPenguin, ANIM_MayorPenguin_Talk, ANIM_MayorPenguin_Idle, 0, NPC_Herringway, MSG_CH7_002D) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguin, ANIM_MayorPenguin_Give) + EVT_WAIT(60) + EVT_CALL(GetNpcPos, NPC_Herringway, LVar0, LVar1, LVar2) + EVT_ADD(LVar2, -5) + EVT_CALL(NpcMoveTo, NPC_Herringway, LVar0, LVar2, 0) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguin, ANIM_MayorPenguin_Idle) + EVT_CALL(SetNpcAnimation, NPC_Herringway, ANIM_Herringway_Recieve) + EVT_CALL(SpeakToNpc, NPC_Herringway, ANIM_Herringway_TalkCarry, ANIM_Herringway_IdleCarry, 0, NPC_MayorPenguin, MSG_CH7_002E) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(20) + EVT_CALL(InterpNpcYaw, NPC_MayorPenguin, 0, 0) + EVT_CALL(InterpNpcYaw, NPC_MayorPenguinWife, 0, 0) + EVT_CALL(InterpNpcYaw, NPC_Herringway, 0, 0) + EVT_CALL(PlayerFaceNpc, NPC_PenguinPatrol, FALSE) + EVT_CALL(SpeakToPlayer, NPC_PenguinPatrol, ANIM_PenguinPatrol_Talk, ANIM_PenguinPatrol_Idle, 0, MSG_CH7_002F) + EVT_CALL(GetNpcPos, NPC_Herringway, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(0.3)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_THREAD + EVT_WAIT(10) + EVT_CALL(SetNpcSpeed, NPC_MayorPenguin, EVT_FLOAT(3.0)) + EVT_CALL(SetNpcFlagBits, NPC_MayorPenguin, NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguin, ANIM_MayorPenguin_Walk) + EVT_CALL(NpcMoveTo, NPC_MayorPenguin, -249, -109, 0) + EVT_CALL(SetNpcAnimation, NPC_MayorPenguin, ANIM_MayorPenguin_Idle) + EVT_LOOP(100) + EVT_CALL(GetAngleBetweenNPCs, NPC_MayorPenguin, NPC_PenguinPatrol, LVar0) + EVT_CALL(InterpNpcYaw, NPC_MayorPenguin, LVar0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_THREAD + EVT_LOOP(100) + EVT_CALL(GetAngleBetweenNPCs, NPC_MayorPenguinWife, NPC_PenguinPatrol, LVar0) + EVT_CALL(InterpNpcYaw, NPC_MayorPenguinWife, LVar0, 0) + EVT_CALL(PlayerFaceNpc, NPC_PenguinPatrol, FALSE) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_CALL(SetNpcFlagBits, NPC_PenguinPatrol, NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcSpeed, NPC_PenguinPatrol, EVT_FLOAT(3.0)) + EVT_CALL(SetNpcAnimation, NPC_PenguinPatrol, ANIM_PenguinPatrol_Walk) + EVT_CALL(NpcMoveTo, NPC_PenguinPatrol, -210, -80, 0) + EVT_CALL(NpcMoveTo, NPC_PenguinPatrol, -250, -10, 0) + EVT_CALL(SetNpcAnimation, NPC_PenguinPatrol, ANIM_PenguinPatrol_Idle) + EVT_CALL(SetNpcFlagBits, NPC_PenguinPatrol, NPC_FLAG_100, FALSE) + EVT_EXEC_WAIT(N(EVS_OpenMayorsOfficeDoor)) + EVT_CALL(SetNpcAnimation, NPC_PenguinPatrol, ANIM_PenguinPatrol_Walk) + EVT_CALL(NpcMoveTo, NPC_PenguinPatrol, -250, 50, 0) + EVT_CALL(SetNpcAnimation, NPC_PenguinPatrol, ANIM_PenguinPatrol_Idle) + EVT_CALL(SpeakToPlayer, NPC_MayorPenguin, ANIM_MayorPenguin_Talk, ANIM_MayorPenguin_Idle, 0, MSG_CH7_0030) + EVT_CALL(SpeakToPlayer, NPC_Herringway, ANIM_Herringway_TalkCarry, ANIM_Herringway_IdleCarry, 0, MSG_CH7_0031) + EVT_EXEC_GET_TID(N(EVS_HerringwayCarryPresent), LVarA) + EVT_CALL(SetNpcSpeed, NPC_Herringway, EVT_FLOAT(3.0)) + EVT_CALL(SetNpcAnimation, NPC_Herringway, ANIM_Herringway_WalkCarry) + EVT_CALL(NpcMoveTo, NPC_Herringway, -250, 50, 0) + EVT_CALL(SetNpcAnimation, NPC_Herringway, ANIM_Herringway_IdleCarry) + EVT_KILL_THREAD(LVarA) + EVT_CALL(RemoveItemEntity, MV_PresentItemID) + EVT_EXEC_WAIT(N(EVS_CloseMayorsOfficeDoor)) + EVT_SET(GB_StoryProgress, STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_WAIT(30) + EVT_CALL(SpeakToPlayer, NPC_MayorPenguin, ANIM_MayorPenguin_Talk, ANIM_MayorPenguin_Idle, 5, MSG_CH7_0032) + EVT_CALL(GetNpcPos, NPC_MayorPenguin, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(250.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(3.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_WAIT(30) + EVT_CALL(SpeakToPlayer, NPC_MayorPenguin, ANIM_MayorPenguin_Talk, ANIM_MayorPenguin_Idle, 0, MSG_CH7_0033) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_80007) + EVT_WAIT(20) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_WAIT(1) + EVT_CALL(SpeakToPlayer, NPC_MayorPenguin, ANIM_MayorPenguin_Talk, ANIM_MayorPenguin_Idle, 0, MSG_CH7_0034) + EVT_CALL(SetNpcFlagBits, NPC_MayorPenguin, NPC_FLAG_100, FALSE) + EVT_CALL(SetNpcPos, NPC_PenguinPatrol, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcPos, NPC_Herringway, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcFlagBits, NPC_Herringway, NPC_FLAG_4, TRUE) + EVT_CALL(EnableNpcShadow, NPC_Herringway, FALSE) + EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(4.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_SET(MV_DialogueState_Penguin1, 0) + EVT_SET(MV_DialogueState_Penguin2, 0) + EVT_SET(MV_DialogueState_Penguin3, 0) + EVT_SET(MV_DialogueState_Penguin4, 0) + EVT_CALL(SetNpcFlagBits, NPC_MayorPenguin, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_MayorPenguinWife, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcPos, NPC_Penguin_09, NPC_DISPOSE_LOCATION) + EVT_CALL(EnablePartnerAI) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_sam/sam_01/sam_01_6_entity.c b/src/world/area_sam/sam_01/sam_01_6_entity.c new file mode 100644 index 0000000000..f8c15f64ab --- /dev/null +++ b/src/world/area_sam/sam_01/sam_01_6_entity.c @@ -0,0 +1,25 @@ +#include "sam_01.h" +#include "entity.h" + +#define NAME_SUFFIX _Entity +#include "world/common/atomic/Chest.inc.c" + +EvtScript N(EVS_OpenChest_AttackFXE) = EVT_OPEN_CHEST_BADGE(ITEM_ATTACK_FX_E, GF_SAM01_Chest_AttackFXE); +#define NAME_SUFFIX + +EvtScript N(EVS_MakeEntities) = { + EVT_CALL(MakeEntity, EVT_PTR(Entity_Chest), 95, 0, -180, 270, 0, MAKE_ENTITY_END) + EVT_CALL(AssignChestFlag, GF_SAM01_Chest_AttackFXE) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_OpenChest_AttackFXE_Entity))) + EVT_CALL(SetEntityCullMode, 1) + EVT_IF_LT(GB_StoryProgress, STORY_CH7_MAYOR_MURDER_SOLVED) + EVT_CALL(MakeItemEntity, ITEM_PRESENT, -325, 0, -240, ITEM_SPAWN_MODE_DECORATION, 0) + EVT_SET(MV_PresentItemID, LVar0) + EVT_END_IF + EVT_CALL(MakeItemEntity, ITEM_SNOWMAN_BUCKET, NPC_DISPOSE_LOCATION, ITEM_SPAWN_MODE_DECORATION, 0) + EVT_SET(MV_BucketItemID, LVar0) + EVT_CALL(MakeEntity, EVT_PTR(Entity_HiddenPanel), -110, 0, 0, 0, MODEL_o341, MAKE_ENTITY_END) + EVT_CALL(AssignPanelFlag, GF_SAM01_HiddenPanel) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_sam/sam_06/sam_06_2_main.c b/src/world/area_sam/sam_06/sam_06_2_main.c index bc2a8f3bb0..3070c4395c 100644 --- a/src/world/area_sam/sam_06/sam_06_2_main.c +++ b/src/world/area_sam/sam_06/sam_06_2_main.c @@ -82,16 +82,16 @@ EvtScript N(EVS_BindExitTriggers) = { }; EvtScript N(EVS_ManageSnowfall) = { - EVT_SET(AF_SAM06_Snowing, TRUE) - EVT_SET(AF_SAM06_LastSnowing, FALSE) + EVT_SET(AF_SAM_Snowing, TRUE) + EVT_SET(AF_SAM_LastSnowing, FALSE) EVT_LABEL(10) - EVT_IF_NE(AF_SAM06_Snowing, AF_SAM06_LastSnowing) - EVT_IF_EQ(AF_SAM06_Snowing, FALSE) + EVT_IF_NE(AF_SAM_Snowing, AF_SAM_LastSnowing) + EVT_IF_EQ(AF_SAM_Snowing, FALSE) EVT_CALL(RemoveEffect, LVarF) EVT_ELSE EVT_PLAY_EFFECT(EFFECT_SNOWFALL, 0, 10) EVT_END_IF - EVT_SET(AF_SAM06_LastSnowing, AF_SAM06_Snowing) + EVT_SET(AF_SAM_LastSnowing, AF_SAM_Snowing) EVT_END_IF EVT_WAIT(1) EVT_GOTO(10) diff --git a/src/world/area_sam/sam_06/sam_06_3_rooms.c b/src/world/area_sam/sam_06/sam_06_3_rooms.c index 2e19c18cd9..337ef2a3b9 100644 --- a/src/world/area_sam/sam_06/sam_06_3_rooms.c +++ b/src/world/area_sam/sam_06/sam_06_3_rooms.c @@ -22,10 +22,10 @@ EvtScript N(EVS_MoveWalls_ToadHouse) = { EvtScript N(EVS_ToggleVis_ToadHouse) = { EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_SET(AF_SAM06_Snowing, FALSE) + EVT_SET(AF_SAM_Snowing, FALSE) EVT_CALL(SetGroupEnabled, MODEL_kh_naiso, 1) EVT_CASE_EQ(3) - EVT_SET(AF_SAM06_Snowing, TRUE) + EVT_SET(AF_SAM_Snowing, TRUE) EVT_CALL(SetGroupEnabled, MODEL_kh_naiso, 0) EVT_END_SWITCH EVT_RETURN @@ -54,7 +54,7 @@ EvtScript N(EVS_MoveWalls_MerleHouse) = { EvtScript N(EVS_ToggleVis_MerleHouse) = { EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_SET(AF_SAM06_Snowing, FALSE) + EVT_SET(AF_SAM_Snowing, FALSE) EVT_CALL(SetGroupEnabled, MODEL_k_naiso, 1) EVT_CALL(EnableModel, MODEL_k_naiso, TRUE) EVT_CASE_EQ(2) @@ -62,7 +62,7 @@ EvtScript N(EVS_ToggleVis_MerleHouse) = { EVT_CALL(DisablePlayerInput, TRUE) EVT_END_IF EVT_CASE_EQ(3) - EVT_SET(AF_SAM06_Snowing, TRUE) + EVT_SET(AF_SAM_Snowing, TRUE) EVT_CALL(SetGroupEnabled, MODEL_k_naiso, 0) EVT_IF_LT(GB_StoryProgress, STORY_CH7_GOT_SNOWMAN_SCARF) EVT_EXEC_WAIT(N(EVS_Scene_Merle_OneLastThing)) @@ -104,10 +104,10 @@ EvtScript N(EVS_MoveWalls_CookHouse) = { EvtScript N(EVS_ToggleVis_CookHouse) = { EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_SET(AF_SAM06_Snowing, FALSE) + EVT_SET(AF_SAM_Snowing, FALSE) EVT_CALL(SetGroupEnabled, MODEL_h_naiso, 1) EVT_CASE_EQ(3) - EVT_SET(AF_SAM06_Snowing, TRUE) + EVT_SET(AF_SAM_Snowing, TRUE) EVT_CALL(SetGroupEnabled, MODEL_h_naiso, 0) EVT_END_SWITCH EVT_RETURN diff --git a/src/world/area_sam/sam_06/sam_06_4_npc.c b/src/world/area_sam/sam_06/sam_06_4_npc.c index 5dece52522..a990b9d01c 100644 --- a/src/world/area_sam/sam_06/sam_06_4_npc.c +++ b/src/world/area_sam/sam_06/sam_06_4_npc.c @@ -343,7 +343,7 @@ EvtScript N(EVS_Scene_Merle_EnterHouse) = { EVT_IF_EQ(LVar1, 1) EVT_GOTO(70) EVT_END_IF - EVT_SET(AF_SAM06_Snowing, FALSE) + EVT_SET(AF_SAM_Snowing, FALSE) EVT_CALL(SetGroupEnabled, MODEL_k_naiso, 1) EVT_THREAD EVT_CALL(SetNpcAnimation, NPC_Merle, ANIM_Merle_Walk) diff --git a/src/world/area_sbk/sbk_30/sbk_30_3_npc.c b/src/world/area_sbk/sbk_30/sbk_30_3_npc.c index b57008098c..c294cc7a00 100644 --- a/src/world/area_sbk/sbk_30/sbk_30_3_npc.c +++ b/src/world/area_sbk/sbk_30/sbk_30_3_npc.c @@ -45,7 +45,7 @@ EvtScript N(EVS_DeliveryPrompt) = { }; EvtScript N(EVS_DeliveryReward) = { - EVT_IF_EQ(LVarC, 2) + EVT_IF_EQ(LVarC, DELIVERY_ACCEPTED) EVT_GIVE_STAR_PIECE() EVT_END_IF EVT_RETURN diff --git a/src/world/area_sbk/sbk_34/sbk_34_2_npc.c b/src/world/area_sbk/sbk_34/sbk_34_2_npc.c index 73a4794186..6ed899f2cd 100644 --- a/src/world/area_sbk/sbk_34/sbk_34_2_npc.c +++ b/src/world/area_sbk/sbk_34/sbk_34_2_npc.c @@ -8,7 +8,7 @@ NpcSettings N(NpcSettings_Nomadimouse) = { #include "world/common/complete/LetterDelivery.inc.c" -s32 N(D_802416A8_947578)[] = { +s32 N(LetterList_Nomadimouse)[] = { ITEM_LETTER08, ITEM_NONE }; @@ -18,18 +18,15 @@ EvtScript N(EVS_Nomadimouse_LetterDelivery) = { NPC_Nomadimouse, ANIM_Nomadimouse_Talk, ANIM_Nomadimouse_Idle, ITEM_LETTER08, ITEM_NONE, MSG_CH2_005B, MSG_CH2_005C, MSG_CH2_005D, MSG_CH2_005E, - EVT_PTR(N(D_802416A8_947578))) + EVT_PTR(N(LetterList_Nomadimouse))) EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) EVT_RETURN EVT_END }; -EvtScript N(EVS_Nomadimouse_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) +EvtScript N(EVS_LetterReward_Nomadimouse) = { + EVT_IF_EQ(LVarC, DELIVERY_ACCEPTED) + EVT_GIVE_STAR_PIECE() EVT_END_IF EVT_RETURN EVT_END @@ -59,7 +56,7 @@ EvtScript N(EVS_NpcInteract_Nomadimouse) = { EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Nomadimouse_Talk, ANIM_Nomadimouse_Idle, 0, MSG_CH2_005A) EVT_END_SWITCH EVT_EXEC_WAIT(N(EVS_Nomadimouse_LetterDelivery)) - EVT_EXEC_WAIT(N(EVS_Nomadimouse_LetterReward)) + EVT_EXEC_WAIT(N(EVS_LetterReward_Nomadimouse)) EVT_IF_NE(LVarC, 0) EVT_RETURN EVT_END_IF diff --git a/src/world/area_tik/tik.h b/src/world/area_tik/tik.h index 7030798c47..19134b86cd 100644 --- a/src/world/area_tik/tik.h +++ b/src/world/area_tik/tik.h @@ -27,8 +27,6 @@ enum { AF_TIK_05 = AreaFlag(5), }; -#define AF_TIK(index) AreaFlag(index) - extern MapSettings tik_01_settings; extern MapSettings tik_02_settings; extern MapSettings tik_03_settings; diff --git a/src/world/area_tik/tik_03/tik_03_6_demo.c b/src/world/area_tik/tik_03/tik_03_6_demo.c index c65c8956ee..972a1b1e9b 100644 --- a/src/world/area_tik/tik_03/tik_03_6_demo.c +++ b/src/world/area_tik/tik_03/tik_03_6_demo.c @@ -48,20 +48,20 @@ EvtScript N(EVS_MonitorDemoState) = { EVT_END }; -s32 N(DemoSceneState) = { +s32 N(DemoInitState) = { 0 }; API_CALLABLE(N(SetupDemoScene)) { PlayerStatus* player = &gPlayerStatus; - switch (N(DemoSceneState)) { + switch (N(DemoInitState)) { case 0: - N(DemoSceneState) = 1; + N(DemoInitState) = 1; break; case 1: case 2: - N(DemoSceneState)++; + N(DemoInitState)++; break; case 3: partner_clear_player_tracking(wPartnerNpc); diff --git a/src/world/area_tik/tik_08/tik_08_4_entity.c b/src/world/area_tik/tik_08/tik_08_4_entity.c index 9abdd07d9c..24a4ae9d3a 100644 --- a/src/world/area_tik/tik_08/tik_08_4_entity.c +++ b/src/world/area_tik/tik_08/tik_08_4_entity.c @@ -39,7 +39,7 @@ EvtScript N(EVS_OnSwitchActivate) = { EvtScript N(EVS_MakeEntities) = { EVT_IF_EQ(GF_TIK08_WarpPipe, FALSE) - EVT_CALL(MakeEntity, EVT_PTR(Entity_BlueSwitch), 0, -1000, 0, 0, MAKE_ENTITY_END) + EVT_CALL(MakeEntity, EVT_PTR(Entity_BlueSwitch), NPC_DISPOSE_LOCATION, 0, MAKE_ENTITY_END) EVT_CALL(AssignSwitchFlag, EVT_INDEX_OF_AREA_FLAG(AF_TIK_04)) EVT_SET(MV_BlueSwitch, LVar0) EVT_BIND_TRIGGER(EVT_PTR(N(EVS_OnSwitchActivate)), TRIGGER_AREA_FLAG_SET, AF_TIK_04, 1, 0) diff --git a/src/world/area_trd/trd_01/trd_01_3_npc.c b/src/world/area_trd/trd_01/trd_01_3_npc.c index 86c45f7ae8..d372caa7d9 100644 --- a/src/world/area_trd/trd_01/trd_01_3_npc.c +++ b/src/world/area_trd/trd_01/trd_01_3_npc.c @@ -179,7 +179,7 @@ StaticNpc N(NpcData_KoopaTroopa_02) = { .yaw = 270, .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_KoopaTroopa_02), - .drops = KOOPA_TROOPA_DROPS, + .drops = KOOPA_TROOPA_TRD_DROPS, .territory = { .wander = { .isFlying = TRUE, @@ -203,7 +203,7 @@ StaticNpc N(NpcData_KoopaTroopa_03) = { .yaw = 90, .flags = ENEMY_FLAG_400 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_KoopaTroopa_02), - .drops = KOOPA_TROOPA_DROPS, + .drops = KOOPA_TROOPA_TRD_DROPS, .territory = { .wander = { .isFlying = TRUE, diff --git a/src/world/area_trd/trd_02/trd_02_3_npc.c b/src/world/area_trd/trd_02/trd_02_3_npc.c index 6e3da8099f..e498bd2776 100644 --- a/src/world/area_trd/trd_02/trd_02_3_npc.c +++ b/src/world/area_trd/trd_02/trd_02_3_npc.c @@ -56,7 +56,7 @@ StaticNpc N(NpcData_KoopaTroopa) = { .pos = { 50.0f, 187.0f, 183.0f }, .yaw = 0, .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800, - .drops = KOOPA_TROOPA_DROPS, + .drops = KOOPA_TROOPA_TRD_DROPS, .territory = { .patrol = { .isFlying = TRUE, diff --git a/src/world/area_trd/trd_03/trd_03_3_npc.c b/src/world/area_trd/trd_03/trd_03_3_npc.c index 09a67f66f7..b1a4b4bdf6 100644 --- a/src/world/area_trd/trd_03/trd_03_3_npc.c +++ b/src/world/area_trd/trd_03/trd_03_3_npc.c @@ -219,7 +219,7 @@ StaticNpc N(NpcData_KoopaTroopa_01) = { .yaw = 90, .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_KoopaTroopa_01), - .drops = KOOPA_TROOPA_DROPS, + .drops = KOOPA_TROOPA_TRD_DROPS, .territory = { .wander = { .isFlying = TRUE, @@ -243,7 +243,7 @@ StaticNpc N(NpcData_KoopaTroopa_02) = { .yaw = 90, .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_KoopaTroopa_02), - .drops = KOOPA_TROOPA_DROPS, + .drops = KOOPA_TROOPA_TRD_DROPS, .territory = { .wander = { .isFlying = TRUE, @@ -266,7 +266,7 @@ StaticNpc N(NpcData_KoopaTroopa_03) = { .pos = { 375.0f, 0.0f, 15.0f }, .yaw = 270, .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800, - .drops = KOOPA_TROOPA_DROPS, + .drops = KOOPA_TROOPA_TRD_DROPS, .territory = { .wander = { .isFlying = TRUE, diff --git a/src/world/area_trd/trd_04/trd_04_3_npc.c b/src/world/area_trd/trd_04/trd_04_3_npc.c index 0c4d416c9a..6c661bacf5 100644 --- a/src/world/area_trd/trd_04/trd_04_3_npc.c +++ b/src/world/area_trd/trd_04/trd_04_3_npc.c @@ -36,7 +36,7 @@ StaticNpc N(NpcData_KoopaTroopa_Wander) = { .pos = { 0.0f, 0.0f, 125.0f }, .yaw = 90, .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, - .drops = KOOPA_TROOPA_DROPS, + .drops = KOOPA_TROOPA_TRD_DROPS, .territory = { .wander = { .isFlying = TRUE, diff --git a/src/world/area_trd/trd_07/trd_07_2_npc.c b/src/world/area_trd/trd_07/trd_07_2_npc.c index 7a873e6cb9..805b4780da 100644 --- a/src/world/area_trd/trd_07/trd_07_2_npc.c +++ b/src/world/area_trd/trd_07/trd_07_2_npc.c @@ -44,7 +44,7 @@ StaticNpc N(NpcData_KoopaTroopa) = { .yaw = 90, .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_KoopaTroopa), - .drops = KOOPA_TROOPA_DROPS, + .drops = KOOPA_TROOPA_TRD_DROPS, .territory = { .wander = { .isFlying = TRUE, diff --git a/src/world/area_trd/trd_09/trd_09_4_demo.c b/src/world/area_trd/trd_09/trd_09_4_demo.c index 133679bf90..df52aaa1fc 100644 --- a/src/world/area_trd/trd_09/trd_09_4_demo.c +++ b/src/world/area_trd/trd_09/trd_09_4_demo.c @@ -75,19 +75,19 @@ EvtScript N(EVS_MonitorDemoState) = { EVT_END }; -s32 N(DemoSceneState) = 0; +s32 N(DemoInitState) = 0; // duplicate of SetupDemoScene from isk_04 API_CALLABLE(N(SetupDemoScene)) { PlayerStatus* playerStatus = &gPlayerStatus; - switch (N(DemoSceneState)) { + switch (N(DemoInitState)) { case 0: - N(DemoSceneState) = 1; + N(DemoInitState) = 1; break; case 1: case 2: - N(DemoSceneState)++; + N(DemoInitState)++; break; case 3: wPartnerNpc->pos.x = playerStatus->position.x - 30.0f; diff --git a/src/world/area_trd/trd_10/trd_10_2_npc.c b/src/world/area_trd/trd_10/trd_10_2_npc.c index 59342441ea..42a73ade26 100644 --- a/src/world/area_trd/trd_10/trd_10_2_npc.c +++ b/src/world/area_trd/trd_10/trd_10_2_npc.c @@ -80,12 +80,12 @@ EvtScript N(EVS_NpcAI_KoopaBros_01) = { EVT_CALL(InterpNpcYaw, NPC_KoopaBros_01, -10, 4) EVT_CALL(NpcMoveTo, NPC_KoopaBros_01, 0, 0, 10) EVT_WAIT(30) - EVT_CALL(SetNpcPos, NPC_KoopaBros_01, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_KoopaBros_01, NPC_DISPOSE_LOCATION) EVT_CALL(SetNpcFlagBits, NPC_KoopaBros_01, NPC_FLAG_2, TRUE) EVT_CALL(SetNpcFlagBits, NPC_KoopaBros_01, NPC_FLAG_HAS_SHADOW, FALSE) - EVT_CALL(SetNpcPos, NPC_KoopaBros_02, 0, -1000, 0) - EVT_CALL(SetNpcPos, NPC_KoopaBros_03, 0, -1000, 0) - EVT_CALL(SetNpcPos, NPC_KoopaBros_04, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_KoopaBros_02, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcPos, NPC_KoopaBros_03, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcPos, NPC_KoopaBros_04, NPC_DISPOSE_LOCATION) EVT_CALL(ShowMessageAtScreenPos, MSG_CH1_00F6, 300, 100) EVT_CALL(ShowMessageAtScreenPos, MSG_CH1_00F7, 300, 100) EVT_CALL(ShowMessageAtScreenPos, MSG_CH1_00F8, 300, 100) @@ -124,7 +124,7 @@ EvtScript N(EVS_NpcInteract_KoopaBros_01) = { EvtScript N(EVS_NpcDefeat_KoopaBros_01) = { EVT_CALL(SetEncounterStatusFlags, ENCOUNTER_STATUS_FLAG_2, TRUE) EVT_CALL(DisablePlayerInput, TRUE) - EVT_CALL(SetNpcPos, NPC_KoopaBros_01, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_KoopaBros_01, NPC_DISPOSE_LOCATION) EVT_CALL(SetNpcFlagBits, NPC_KoopaBros_01, NPC_FLAG_2, FALSE) EVT_CALL(SetNpcFlagBits, NPC_KoopaBros_01, NPC_FLAG_HAS_SHADOW, TRUE) EVT_CALL(SetMusicTrack, 0, SONG_KOOPA_BROS_INTERLUDE, 0, 8) diff --git a/src/world/common/atomic/Chest.old.inc.c b/src/world/common/atomic/Chest.old.inc.c deleted file mode 100644 index e98094dfa6..0000000000 --- a/src/world/common/atomic/Chest.old.inc.c +++ /dev/null @@ -1,75 +0,0 @@ -#include "common.h" - -// see dgb_12 - -//#define CHEST_ITEM 19 -//#define CHEST_FLAG 1048 - -// temporarily copied from StashVars to allow static varStash -ApiStatus N(StashVars)(Evt* script, s32 isInitialCall) { - static s32* varStash = NULL; - s32 i; - - if (varStash == NULL) { - varStash = heap_malloc(sizeof(script->varTable)); - - for (i = 0; i < ARRAY_COUNT(script->varTable); i++) { - varStash[i] = script->varTable[i]; - } - } else { - for (i = 0; i < ARRAY_COUNT(script->varTable); i++) { - script->varTable[i] = varStash[i]; - } - - heap_free(varStash); - varStash = NULL; - } - - return ApiStatus_DONE2; -} - -#include "world/common/todo/GetItemName.inc.c" - -#include "world/common/todo/SomeItemEntityFunc.inc.c" - -#include "world/common/todo/IsItemBadge.inc.c" - -EvtScript N(EVS_Chest_ShowGotItem) = { - EVT_SET_GROUP(EVT_GROUP_00) - EVT_CALL(SetTimeFreezeMode, 2) - EVT_WAIT(40) - EVT_CALL(ShowGotItem, LVar0, 0, 0) - EVT_CALL(SetTimeFreezeMode, 0) - EVT_RETURN - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_Chest_GetItem) = { - EVT_CALL(DisablePlayerInput, TRUE) - EVT_SET(LVar0, LVarA) - EVT_IF_NE(LVarA, 0) - EVT_EXEC_WAIT(N(EVS_Chest_ShowGotItem)) - EVT_END_IF - EVT_SWITCH(LVarB) - EVT_CASE_EQ(0) - EVT_CALL(AddItem, LVarA, LVar0) - EVT_CASE_EQ(1) - EVT_CALL(AddKeyItem, LVarA) - EVT_CASE_EQ(2) - EVT_CALL(AddBadge, LVarA, LVar0) - EVT_END_SWITCH - EVT_WAIT(15) - EVT_CALL(DisablePlayerInput, FALSE) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_Chest_Interact) = { - EVT_SET(LVarA, CHEST_ITEM) - EVT_SET(LVarB, 1) - EVT_SET(GameFlag(CHEST_FLAG), 1) - EVT_EXEC_WAIT(N(EVS_Chest_GetItem)) - EVT_RETURN - EVT_END -}; diff --git a/src/world/common/atomic/QuizmoData.inc.c b/src/world/common/atomic/QuizmoData.inc.c index c8403d262d..9cdb0a4cce 100644 --- a/src/world/common/atomic/QuizmoData.inc.c +++ b/src/world/common/atomic/QuizmoData.inc.c @@ -53,7 +53,7 @@ EvtScript N(EVS_Quizmo_Exit) = { EVT_CALL(SetNpcJumpscale, NPC_SELF, 1) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_ChuckQuizmo_Vanish) EVT_WAIT(40) - EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_END_IF EVT_RETURN EVT_END @@ -598,9 +598,9 @@ EvtScript N(EVS_Quizmo_QuizMain) = { EVT_CALL(N(Quizmo_SetVannaAnim_Idle)) EVT_CALL(SetMessageValue, GB_CompletedQuizzes, 0) EVT_IF_EQ(GB_CompletedQuizzes, 1) - EVT_CALL(SetMessageMsg, EVT_PTR(MessageSingular), 1) + EVT_CALL(SetMessageText, EVT_PTR(MessageSingular), 1) EVT_ELSE - EVT_CALL(SetMessageMsg, EVT_PTR(MessagePlural), 1) + EVT_CALL(SetMessageText, EVT_PTR(MessagePlural), 1) EVT_END_IF EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_ChuckQuizmo_Talk, ANIM_ChuckQuizmo_Idle, 0, MSG_MGM_000F) EVT_END_IF diff --git a/src/world/common/complete/GiveReward.inc.c b/src/world/common/complete/GiveReward.inc.c index 1ee093cf0a..9e25637993 100644 --- a/src/world/common/complete/GiveReward.inc.c +++ b/src/world/common/complete/GiveReward.inc.c @@ -56,6 +56,12 @@ EvtScript N(GiveCoinReward) = { EVT_EXEC_WAIT(N(GiveKeyReward)) \ EVT_CALL(AddBadge, itemID, LVar0) +#define EVT_GIVE_BADGE_REWARD_ALT(itemID, outIdx) \ + EVT_SET(LVar0, itemID) \ + EVT_SET(LVar1, ITEM_TYPE_BADGE) \ + EVT_EXEC_WAIT(N(GiveKeyReward)) \ + EVT_CALL(AddBadge, LVar0, outIdx) + #define EVT_GIVE_CONSUMABLE_REWARD(itemID) \ EVT_SET(LVar0, itemID) \ EVT_SET(LVar1, ITEM_TYPE_CONSUMABLE) \ diff --git a/src/world/common/complete/LetterDelivery.inc.c b/src/world/common/complete/LetterDelivery.inc.c index fcc44c0486..5ca8df952d 100644 --- a/src/world/common/complete/LetterDelivery.inc.c +++ b/src/world/common/complete/LetterDelivery.inc.c @@ -4,6 +4,12 @@ #include "world/common/complete/GiveReward.inc.c" #include "world/common/complete/KeyItemChoice.inc.c" +enum DeliveryResult { + DELIVERY_NOT_POSSIBLE = 0, + DELIVERY_REJECTED = 1, + DELIVERY_ACCEPTED = 2, +}; + BSS s32 N(LetterDelivery_SavedNpcAnim); API_CALLABLE(N(LetterDelivery_Init)) { @@ -129,8 +135,9 @@ EvtScript N(EVS_ShowLetterChoice) = { EVT_END }; +// returns DeliveryResult on LVarC EvtScript N(EVS_DoLetterDelivery) = { - EVT_SET(LVarC, 0) + EVT_SET(LVarC, DELIVERY_NOT_POSSIBLE) EVT_IF_LT(GB_StoryProgress, STORY_CH2_PARAKARRY_JOINED_PARTY) EVT_RETURN EVT_END_IF @@ -156,7 +163,7 @@ EvtScript N(EVS_DoLetterDelivery) = { EVT_WAIT(1) EVT_CALL(SpeakToPlayer, NPC_PARTNER, ANIM_WorldParakarry_Talk, ANIM_WorldParakarry_Idle, 5, LVar8) EVT_CALL(EnablePartnerAI) - EVT_SET(LVarC, 1) + EVT_SET(LVarC, DELIVERY_REJECTED) EVT_CASE_DEFAULT EVT_CALL(DisablePartnerAI, 0) EVT_WAIT(1) @@ -165,13 +172,10 @@ EvtScript N(EVS_DoLetterDelivery) = { EVT_CALL(SpeakToPlayer, LVar2, LVar3, LVar4, 0, LVarA) EVT_END_IF EVT_CALL(EnablePartnerAI) - EVT_IF_NE(LVar6, 0) - EVT_SET(LVar0, LVar6) - EVT_SET(LVar1, ITEM_TYPE_KEY) - EVT_EXEC_WAIT(N(GiveKeyReward)) - EVT_CALL(AddKeyItem, LVar6) + EVT_IF_NE(LVar6, ITEM_NONE) + EVT_GIVE_KEY_REWARD(LVar6) EVT_END_IF - EVT_SET(LVarC, 2) + EVT_SET(LVarC, DELIVERY_ACCEPTED) EVT_END_SWITCH EVT_END_IF EVT_END_IF @@ -181,7 +185,7 @@ EvtScript N(EVS_DoLetterDelivery) = { }; #define EVT_LETTER_PROMPT(npcName, npcID, animTalk, animIdle, msg1, msg2, ms3, msg4, itemID, itemList) \ - EvtScript N(EVS_##npcName##_LetterPrompt) = { \ + EvtScript N(EVS_LetterPrompt_##npcName) = { \ EVT_CALL(N(LetterDelivery_Init), \ npcID, animTalk, animIdle, \ itemID, ITEM_NONE, \ @@ -193,17 +197,14 @@ EvtScript N(EVS_DoLetterDelivery) = { } #define EVT_LETTER_REWARD(npcName) \ - EvtScript N(EVS_##npcName##_LetterReward) = { \ - EVT_IF_EQ(LVarC, 2) \ - EVT_SET(LVar0, ITEM_STAR_PIECE) \ - EVT_SET(LVar1, ITEM_TYPE_STAR_PIECE) \ - EVT_EXEC_WAIT(N(GiveKeyReward)) \ - EVT_CALL(AddStarPieces, 1) \ + EvtScript N(EVS_LetterReward_##npcName) = { \ + EVT_IF_EQ(LVarC, DELIVERY_ACCEPTED) \ + EVT_GIVE_STAR_PIECE() \ 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)) + EVT_EXEC_WAIT(N(EVS_LetterPrompt_##npcName)) \ + EVT_EXEC_WAIT(N(EVS_LetterReward_##npcName)) diff --git a/src/world/common/complete/Quizmo.inc.c b/src/world/common/complete/Quizmo.inc.c index eba2f9c4cd..af4298b434 100644 --- a/src/world/common/complete/Quizmo.inc.c +++ b/src/world/common/complete/Quizmo.inc.c @@ -79,6 +79,7 @@ enum { }; enum { + // area_kmr QUIZ_MAP_KMR_02 = 0, QUIZ_COUNT_KMR = 1, // area_mac @@ -87,10 +88,15 @@ enum { QUIZ_MAP_MAC_04 = 4, QUIZ_MAP_MAC_05 = 5, QUIZ_COUNT_MAC = 6, + // area_nok // area_dro QUIZ_MAP_DRO_01 = 0, QUIZ_MAP_DRO_02 = 1, QUIZ_COUNT_DRO = 2, + // area_jan + // area_sam + QUIZ_MAP_SAM_01 = 0, + QUIZ_COUNT_SAM = 3, // area_hos QUIZ_MAP_HOS_03 = 0, QUIZ_COUNT_HOS = 1, @@ -556,7 +562,7 @@ EvtScript N(EVS_Quizmo_Exit) = { EVT_CALL(SetNpcJumpscale, NPC_SELF, 1) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_ChuckQuizmo_Vanish) EVT_WAIT(40) - EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_END_IF EVT_RETURN EVT_END @@ -1101,9 +1107,9 @@ EvtScript N(EVS_Quizmo_QuizMain) = { EVT_CALL(N(Quizmo_SetVannaAnim_Idle)) EVT_CALL(SetMessageValue, GB_CompletedQuizzes, 0) EVT_IF_EQ(GB_CompletedQuizzes, 1) - EVT_CALL(SetMessageMsg, EVT_PTR(MessageSingular), 1) + EVT_CALL(SetMessageText, EVT_PTR(MessageSingular), 1) EVT_ELSE - EVT_CALL(SetMessageMsg, EVT_PTR(MessagePlural), 1) + EVT_CALL(SetMessageText, EVT_PTR(MessagePlural), 1) EVT_END_IF EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_ChuckQuizmo_Talk, ANIM_ChuckQuizmo_Idle, 0, MSG_MGM_000F) EVT_END_IF diff --git a/src/world/common/enemy/ai/PatrolNoAttackAI.inc.c b/src/world/common/enemy/ai/PatrolNoAttackAI.inc.c index 756c70c4b2..9917a72993 100644 --- a/src/world/common/enemy/ai/PatrolNoAttackAI.inc.c +++ b/src/world/common/enemy/ai/PatrolNoAttackAI.inc.c @@ -1,3 +1,6 @@ +#ifndef _PATROL_AI_NO_ATTACK_ +#define _PATROL_AI_NO_ATTACK_ + #include "common.h" #include "npc.h" @@ -111,3 +114,5 @@ ApiStatus N(PatrolNoAttackAI_Main)(Evt* script, s32 isInitialCall) { } return ApiStatus_BLOCK; } + +#endif diff --git a/src/world/common/enemy/complete/Fuzzy.h b/src/world/common/enemy/complete/Fuzzy.h new file mode 100644 index 0000000000..3fd087e16a --- /dev/null +++ b/src/world/common/enemy/complete/Fuzzy.h @@ -0,0 +1,31 @@ +#include "common.h" +#include "sprite/npc/Fuzzy.h" + +#define FUZZY_DROPS \ +{ \ + .dropFlags = NPC_DROP_FLAG_80, \ + .heartDrops = STANDARD_HEART_DROPS(2), \ + .flowerDrops = REDUCED_FLOWER_DROPS(2), \ + .minCoinBonus = 0, \ + .maxCoinBonus = 1, \ +} + +#define FUZZY_ANIMS \ +{ \ + .idle = ANIM_Fuzzy_Walk, \ + .walk = ANIM_Fuzzy_Walk, \ + .run = ANIM_Fuzzy_Run, \ + .chase = ANIM_Fuzzy_Run, \ + .anim_4 = ANIM_Fuzzy_Idle, \ + .anim_5 = ANIM_Fuzzy_Idle, \ + .death = ANIM_Fuzzy_Hurt, \ + .hit = ANIM_Fuzzy_Hurt, \ + .anim_8 = ANIM_Fuzzy_Run, \ + .anim_9 = ANIM_Fuzzy_Run, \ + .anim_A = ANIM_Fuzzy_Run, \ + .anim_B = ANIM_Fuzzy_Run, \ + .anim_C = ANIM_Fuzzy_Run, \ + .anim_D = ANIM_Fuzzy_Run, \ + .anim_E = ANIM_Fuzzy_Run, \ + .anim_F = ANIM_Fuzzy_Run, \ +} diff --git a/src/world/common/enemy/complete/Fuzzy.inc.c b/src/world/common/enemy/complete/Fuzzy.inc.c new file mode 100644 index 0000000000..2bc99d0951 --- /dev/null +++ b/src/world/common/enemy/complete/Fuzzy.inc.c @@ -0,0 +1,32 @@ +#include "Fuzzy.h" + +#include "world/common/enemy/ai/HoppingAI.inc.c" + +MobileAISettings N(AISettings_Fuzzy) = { + .moveSpeed = 2.0f, + .moveTime = 30, + .waitTime = 30, + .alertRadius = 100.0f, + .playerSearchInterval = 10, + .chaseSpeed = 4.5f, + .chaseTurnRate = 70, + .chaseUpdateInterval = 10, + .chaseRadius = 200.0f, + .unk_AI_2C = 1, +}; + +EvtScript N(EVS_NpcAI_Fuzzy) = { + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, TRUE) + EVT_CALL(N(HoppingAI_Main), EVT_PTR(N(AISettings_Fuzzy)), 0) + EVT_RETURN + EVT_END +}; + +NpcSettings N(NpcSettings_Fuzzy) = { + .height = 20, + .radius = 22, + .level = 6, + .ai = &N(EVS_NpcAI_Fuzzy), + .onHit = &EnemyNpcHit, + .onDefeat = &EnemyNpcDefeat, +}; diff --git a/src/world/common/enemy/complete/KoopaTroopa.h b/src/world/common/enemy/complete/KoopaTroopa.h index 3883dcc790..6417c5653b 100644 --- a/src/world/common/enemy/complete/KoopaTroopa.h +++ b/src/world/common/enemy/complete/KoopaTroopa.h @@ -1,13 +1,13 @@ #include "common.h" #include "sprite/npc/KoopaTroopa.h" -#define KOOPA_TROOPA_DROPS \ +#define KOOPA_TROOPA_NOK_DROPS \ { \ .dropFlags = NPC_DROP_FLAG_80, \ .itemDropChance = 5, \ .itemDrops = { \ - { ITEM_MUSHROOM, 5, 0 }, \ - { ITEM_POW_BLOCK, 5, 0 }, \ + { ITEM_MUSHROOM, 3, 0 }, \ + { ITEM_KOOPA_LEAF, 7, 0 }, \ }, \ .heartDrops = STANDARD_HEART_DROPS(2), \ .flowerDrops = STANDARD_FLOWER_DROPS(2), \ @@ -15,14 +15,13 @@ .maxCoinBonus = 1, \ } -// used on nok_14 and nok_15 -#define KOOPA_TROOPA_DROPS_B \ +#define KOOPA_TROOPA_TRD_DROPS \ { \ .dropFlags = NPC_DROP_FLAG_80, \ .itemDropChance = 5, \ .itemDrops = { \ - { ITEM_MUSHROOM, 3, 0 }, \ - { ITEM_KOOPA_LEAF, 7, 0 }, \ + { ITEM_MUSHROOM, 5, 0 }, \ + { ITEM_POW_BLOCK, 5, 0 }, \ }, \ .heartDrops = STANDARD_HEART_DROPS(2), \ .flowerDrops = STANDARD_FLOWER_DROPS(2), \ diff --git a/src/world/common/enemy/complete/KoopaTroopa_Patrol.inc.c b/src/world/common/enemy/complete/KoopaTroopa_Patrol.inc.c index 4f6a734c4a..0c960cc649 100644 --- a/src/world/common/enemy/complete/KoopaTroopa_Patrol.inc.c +++ b/src/world/common/enemy/complete/KoopaTroopa_Patrol.inc.c @@ -1,4 +1,3 @@ -#include "common.h" #include "KoopaTroopa.h" #include "world/common/enemy/ai/KoopaPatrolAI.inc.c" diff --git a/src/world/common/enemy/complete/KoopaTroopa_Wander.inc.c b/src/world/common/enemy/complete/KoopaTroopa_Wander.inc.c index 94daa6aa8f..0c530fd34f 100644 --- a/src/world/common/enemy/complete/KoopaTroopa_Wander.inc.c +++ b/src/world/common/enemy/complete/KoopaTroopa_Wander.inc.c @@ -1,4 +1,3 @@ -#include "common.h" #include "KoopaTroopa.h" #include "world/common/enemy/ai/TackleAI.inc.c" diff --git a/src/world/common/enemy/complete/SpikedGoomba_Patrol.inc.c b/src/world/common/enemy/complete/SpikedGoomba_Patrol.inc.c new file mode 100644 index 0000000000..71cca0e85d --- /dev/null +++ b/src/world/common/enemy/complete/SpikedGoomba_Patrol.inc.c @@ -0,0 +1,31 @@ +#include "SpikedGoomba.h" + +#include "world/common/enemy/ai/PatrolNoAttackAI.inc.c" + +MobileAISettings N(AISettings_SpikedGoomba_Patrol) = { + .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_Patrol) = { + EVT_CALL(N(PatrolNoAttackAI_Main), EVT_PTR(N(AISettings_SpikedGoomba_Patrol))) + EVT_RETURN + EVT_END +}; + +NpcSettings N(NpcSettings_SpikedGoomba_Patrol) = { + .height = 23, + .radius = 23, + .level = 6, + .ai = &N(EVS_NpcAI_SpikedGoomba_Patrol), + .onHit = &EnemyNpcHit, + .onDefeat = &EnemyNpcDefeat, +}; diff --git a/src/world/common/npc/Penguin.h b/src/world/common/npc/Penguin.h index 91b87d357c..af0afaee08 100644 --- a/src/world/common/npc/Penguin.h +++ b/src/world/common/npc/Penguin.h @@ -69,3 +69,43 @@ .anim_E = ANIM_MayorPenguinWife_Idle, \ .anim_F = ANIM_MayorPenguinWife_Idle, \ } + +#define PENGUIN_PATROL_ANIMS \ +{ \ + .idle = ANIM_PenguinPatrol_Idle, \ + .walk = ANIM_PenguinPatrol_Walk, \ + .run = ANIM_PenguinPatrol_Idle, \ + .chase = ANIM_PenguinPatrol_Idle, \ + .anim_4 = ANIM_PenguinPatrol_Idle, \ + .anim_5 = ANIM_PenguinPatrol_Idle, \ + .death = ANIM_PenguinPatrol_Idle, \ + .hit = ANIM_PenguinPatrol_Idle, \ + .anim_8 = ANIM_PenguinPatrol_Idle, \ + .anim_9 = ANIM_PenguinPatrol_Idle, \ + .anim_A = ANIM_PenguinPatrol_Idle, \ + .anim_B = ANIM_PenguinPatrol_Idle, \ + .anim_C = ANIM_PenguinPatrol_Idle, \ + .anim_D = ANIM_PenguinPatrol_Idle, \ + .anim_E = ANIM_PenguinPatrol_Idle, \ + .anim_F = ANIM_PenguinPatrol_Idle, \ +} + +#define HERRINGWAY_ANIMS \ +{ \ + .idle = ANIM_Herringway_Idle, \ + .walk = ANIM_Herringway_Walk, \ + .run = ANIM_Herringway_Idle, \ + .chase = ANIM_Herringway_Idle, \ + .anim_4 = ANIM_Herringway_Idle, \ + .anim_5 = ANIM_Herringway_Idle, \ + .death = ANIM_Herringway_Idle, \ + .hit = ANIM_Herringway_Idle, \ + .anim_8 = ANIM_Herringway_Idle, \ + .anim_9 = ANIM_Herringway_Idle, \ + .anim_A = ANIM_Herringway_Idle, \ + .anim_B = ANIM_Herringway_Idle, \ + .anim_C = ANIM_Herringway_Idle, \ + .anim_D = ANIM_Herringway_Idle, \ + .anim_E = ANIM_Herringway_Idle, \ + .anim_F = ANIM_Herringway_Idle, \ +} diff --git a/src/world/common/npc/Penguin_Wander.inc.c b/src/world/common/npc/Penguin_Wander.inc.c new file mode 100644 index 0000000000..b22fbc52de --- /dev/null +++ b/src/world/common/npc/Penguin_Wander.inc.c @@ -0,0 +1,23 @@ +#include "common.h" +#include "Penguin.h" + +MobileAISettings N(AISettings_Penguin_Wander) = { + .moveSpeed = 1.5f, + .moveTime = 60, + .waitTime = 30, + .playerSearchInterval = -1, + .unk_AI_2C = 1, +}; + +EvtScript N(EVS_NpcAI_Penguin_Wander) = { + EVT_CALL(BasicAI_Main, EVT_PTR(N(AISettings_Penguin_Wander))) + EVT_RETURN + EVT_END +}; + +NpcSettings N(NpcSettings_Penguin_Wander) = { + .height = 24, + .radius = 24, + .level = 99, + .ai = &N(EVS_NpcAI_Penguin_Wander), +}; diff --git a/src/world/common/todo/SetPlayerSpriteSet2_MapInit.inc.c b/src/world/common/todo/SetPlayerSpriteSet2_MapInit.inc.c index 88834d8869..67ee50e72b 100644 --- a/src/world/common/todo/SetPlayerSpriteSet2_MapInit.inc.c +++ b/src/world/common/todo/SetPlayerSpriteSet2_MapInit.inc.c @@ -1,6 +1,6 @@ #include "common.h" -ApiStatus N(SetPlayerSpriteSet2_MapInit)(Evt* script, s32 isInitialCall) { +s32 N(map_init)(void) { gGameStatusPtr->playerSpriteSet = PLAYER_SPRITES_COMBINED_EPILOGUE; - return ApiStatus_BLOCK; + return FALSE; } diff --git a/src/world/dead/area_flo/flo_09/flo_09_4_foliage.c b/src/world/dead/area_flo/flo_09/flo_09_4_foliage.c index 1abb66a217..7c8ce0c313 100644 --- a/src/world/dead/area_flo/flo_09/flo_09_4_foliage.c +++ b/src/world/dead/area_flo/flo_09/flo_09_4_foliage.c @@ -13,7 +13,7 @@ EvtScript N(EVS_SpawnBzzap) = { EVT_END }; -EvtScript N(Tree1_CallbackScript) = { +EvtScript N(EVS_OnShakeTree1) = { EVT_IF_EQ(GF_FLO09_Item_HappyFlowerB, FALSE) EVT_IF_EQ(AB_FLO_TreePuzzle_SecondCorrect, 1) EVT_CALL(MakeItemEntity, ITEM_HAPPY_FLOWER_B, -250, 100, 0, ITEM_SPAWN_MODE_FALL_NEVER_VANISH, GF_FLO09_Item_HappyFlowerB) @@ -28,7 +28,7 @@ EvtScript N(Tree1_CallbackScript) = { EVT_END }; -EvtScript N(Tree2_CallbackScript) = { +EvtScript N(EVS_OnShakeTree2) = { EVT_IF_EQ(GF_FLO09_Item_HappyFlowerB, FALSE) EVT_SET(AB_FLO_TreePuzzle_FirstCorrect, 1) EVT_SET(AB_FLO_TreePuzzle_SecondCorrect, 0) @@ -37,7 +37,7 @@ EvtScript N(Tree2_CallbackScript) = { EVT_END }; -EvtScript N(Tree3_CallbackScript) = { +EvtScript N(EVS_OnShakeTree3) = { EVT_IF_EQ(GF_FLO09_Item_HappyFlowerB, FALSE) EVT_IF_EQ(AB_FLO_TreePuzzle_FirstCorrect, 1) EVT_IF_EQ(AB_FLO_TreePuzzle_SecondCorrect, 0) @@ -60,7 +60,7 @@ FoliageModelList N(Tree1_TrunkModels) = FOLIAGE_MODEL_LIST(MODEL_o10); ShakeTreeConfig N(ShakeTree_Tree1) = { .leaves = &N(Tree1_LeafModels), .trunk = &N(Tree1_TrunkModels), - .callback = &N(Tree1_CallbackScript), + .callback = &N(EVS_OnShakeTree1), }; BombTrigger N(BombPos_Tree1) = { @@ -74,7 +74,7 @@ FoliageModelList N(Tree2_TrunkModels) = FOLIAGE_MODEL_LIST(MODEL_o3); ShakeTreeConfig N(ShakeTree_Tree2) = { .leaves = &N(Tree2_LeafModels), .trunk = &N(Tree2_TrunkModels), - .callback = &N(Tree2_CallbackScript), + .callback = &N(EVS_OnShakeTree2), }; BombTrigger N(BombPos_Tree2) = { @@ -88,7 +88,7 @@ FoliageModelList N(Tree3_TrunkModels) = FOLIAGE_MODEL_LIST(MODEL_o13); ShakeTreeConfig N(ShakeTree_Tree3) = { .leaves = &N(Tree3_LeafModels), .trunk = &N(Tree3_TrunkModels), - .callback = &N(Tree3_CallbackScript), + .callback = &N(EVS_OnShakeTree3), }; BombTrigger N(BombPos_Tree3) = { diff --git a/src/world/dead/area_kzn/kzn_17/kzn_17_3_npc.c b/src/world/dead/area_kzn/kzn_17/kzn_17_3_npc.c index ee8a44b0c1..29127511bd 100644 --- a/src/world/dead/area_kzn/kzn_17/kzn_17_3_npc.c +++ b/src/world/dead/area_kzn/kzn_17/kzn_17_3_npc.c @@ -101,12 +101,12 @@ 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_Kolorado1_LetterPrompt)) - EVT_EXEC_WAIT(N(EVS_Kolorado_LetterReward)) + EVT_EXEC_WAIT(N(EVS_LetterPrompt_Kolorado1)) + EVT_EXEC_WAIT(N(EVS_LetterReward_Kolorado)) EVT_ELSE EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Talk, ANIM_Kolorado_HurtStill, 5, MSG_CH5_00FA) - EVT_EXEC_WAIT(N(EVS_Kolorado2_LetterPrompt)) - EVT_EXEC_WAIT(N(EVS_Kolorado_LetterReward)) + EVT_EXEC_WAIT(N(EVS_LetterPrompt_Kolorado2)) + EVT_EXEC_WAIT(N(EVS_LetterReward_Kolorado)) EVT_END_IF EVT_RETURN EVT_END diff --git a/src/world/entrances.h b/src/world/entrances.h index 7edcfd2871..eea95a15f3 100644 --- a/src/world/entrances.h +++ b/src/world/entrances.h @@ -299,6 +299,9 @@ enum { hos_04_ENTRY_2 = 2, hos_04_ENTRY_3 = 3, hos_04_ENTRY_4 = 4, + hos_04_ENTRY_5 = 5, + hos_04_ENTRY_6 = 6, + hos_04_ENTRY_7 = 7, hos_05_ENTRY_0 = 0, hos_05_ENTRY_1 = 1, hos_05_ENTRY_2 = 2, diff --git a/src/world/world.c b/src/world/world.c index 6021933a34..fc736c2ba6 100644 --- a/src/world/world.c +++ b/src/world/world.c @@ -476,8 +476,8 @@ MapConfig nok_maps[] = { { MAP_UNSPLIT(nok_03, 0x80240E40), .bgName = "nok_bg" }, { MAP_UNSPLIT(nok_04, 0x80240F40), .bgName = "nok_bg" }, { MAP(nok_11), .bgName = "nok_bg" }, - { MAP_UNSPLIT(nok_12, 0x80242100), .bgName = "nok_bg" }, - { MAP_UNSPLIT(nok_13, 0x802414C0), .bgName = "nok_bg" }, + { MAP(nok_12), .bgName = "nok_bg" }, + { MAP(nok_13), .bgName = "nok_bg" }, { MAP(nok_14), .bgName = "nok_bg" }, { MAP(nok_15), .bgName = "nok_bg" }, }; @@ -485,15 +485,15 @@ MapConfig nok_maps[] = { /// Star Region #include "area_hos/hos.h" MapConfig hos_maps[] = { - { MAP_UNSPLIT(hos_00, 0x80240D50), .bgName = "nok_bg", .init = (MapInit)0x80240000 }, - { MAP_UNSPLIT(hos_01, 0x80240E40), .bgName = "hos_bg" }, + { MAP_WITH_INIT(hos_00), .bgName = "nok_bg" }, + { MAP(hos_01), .bgName = "hos_bg" }, { MAP(hos_02), .bgName = "hos_bg" }, { MAP(hos_03), .bgName = "hos_bg" }, - { MAP_UNSPLIT(hos_04, 0x80240EE0), .bgName = "hos_bg" }, + { MAP(hos_04), .bgName = "hos_bg" }, { MAP(hos_05), .bgName = "hos_bg", .songVariation = 1, .sfxReverb = 2 }, - { MAP_UNSPLIT(hos_06, 0x80242570), .bgName = "hos_bg" }, - { MAP_UNSPLIT(hos_10, 0x80240CE0), .bgName = "hos_bg", .init = (MapInit)0x80240000 }, - { MAP_UNSPLIT(hos_20, 0x80240390), .bgName = "hos_bg" }, + { MAP(hos_06), .bgName = "hos_bg" }, + { MAP_WITH_INIT(hos_10), .bgName = "hos_bg" }, + { MAP(hos_20), .bgName = "hos_bg" }, }; /// Bowser's Castle @@ -740,7 +740,7 @@ MapConfig flo_maps[] = { /// Shiver Region #include "area_sam/sam.h" MapConfig sam_maps[] = { - { MAP_UNSPLIT(sam_01, 0x80241F70), .bgName = "yki_bg" }, + { MAP(sam_01), .bgName = "yki_bg" }, { MAP_UNSPLIT(sam_02, 0x80241C00), .bgName = "yki_bg" }, { MAP_UNSPLIT(sam_03, 0x80240940), .bgName = "yki_bg" }, { MAP_UNSPLIT(sam_04, 0x80240740), .bgName = "yki_bg" }, diff --git a/tools/splat_ext/msg.yaml b/tools/splat_ext/msg.yaml index 1225f601f1..7d120344c5 100644 --- a/tools/splat_ext/msg.yaml +++ b/tools/splat_ext/msg.yaml @@ -1,6 +1,6 @@ # This file describes what to name messages when splitting. -- [0x00, 0x0000, Intro_0000] +- [0x00, 0x0000, NONE] - [0x00, 0x0001, Intro_0001] - [0x00, 0x0002, Intro_0002] - [0x00, 0x0003, Intro_0003] diff --git a/tools/splat_ext/npc.yaml b/tools/splat_ext/npc.yaml index 4e60dd5d75..772be4aa81 100644 --- a/tools/splat_ext/npc.yaml +++ b/tools/splat_ext/npc.yaml @@ -7881,7 +7881,7 @@ WorldBowser: - ClownCarTalk - ClownCarOpenMouth - ClownCarLaugh - - CLownCarCloseMouth + - ClownCarCloseMouth - ClownCarFireBreath - ClownCarBrandish - ClownCarStarRod diff --git a/ver/us/asm/data/world/area_hos/hos_00/A0CA00.data.s b/ver/us/asm/data/world/area_hos/hos_00/A0CA00.data.s deleted file mode 100644 index 067b7edfb5..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_00/A0CA00.data.s +++ /dev/null @@ -1,39 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240D10_A0CA00 -.word 0xC4188000, 0x00000000, 0xC2340000, 0x42B40000, 0x44598000, 0x42700000, 0xC3020000, 0x43870000, 0x44598000, 0xC1200000, 0x41F00000, 0x43870000, 0x44598000, 0xC1200000, 0x41F00000, 0x43870000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80241874_A0D564, D_80240D10_A0CA00, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x0019001C - -dlabel D_80240D90_A0CA80 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000021, 0x00000002, 0xFFFFFFF3, 0x00000005, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000004A, 0x00000000, 0x00000006, 0x0000001C, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240E04_A0CAF4 -.word 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000044, 0x00000001, D_80240D90_A0CA80, 0x00000020, 0x00000000, 0x0000001D, 0x00000001, 0x00000001, 0x0000001D, 0x00000001, 0x00000002, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000061, 0x00000000, 0x00000008, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000004, 0x00000001, 0x00000014, 0x00000013, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x0000000D, 0x00000002, 0xFE363C81, 0x000000D2, 0x00000043, 0x00000003, FadeOutMusic, 0x00000000, 0x00000341, 0x00000008, 0x00000001, 0x00000019, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000061, 0x00000000, 0x00000008, 0x00000008, 0x00000001, 0x0000001E, 0x00000004, 0x00000001, 0x00000014, 0x00000013, 0x00000000, 0x00000004, 0x00000001, 0x0000000A, 0x00000003, 0x00000001, 0x00000014, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xF5DE0180, 0xFFFFFF97, 0x00000004, 0x00000001, 0x00000014, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x0000000C, 0x00000002, 0xFE363C81, 0xFFFFFFC9, 0x00000043, 0x00000003, FadeOutMusic, 0x00000000, 0x00000341, 0x00000008, 0x00000001, 0x00000019, 0x00000044, 0x00000001, D_80240D90_A0CA80, 0x00000008, 0x00000001, 0x0000001E, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000004, 0x00000001, 0x00000014, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024101C_A0CD0C -.word 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000003, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000062, 0x00000000, 0x00000008, 0x00000012, 0x00000000, 0x00000044, 0x00000001, D_80240E04_A0CAF4, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000046, 0x00000000, 0x00000008, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802410B0_A0CDA0 -.word 0x0000004D, 0x00000001, 0x0000000B, 0x00000024, 0x00000002, 0xFE363C8D, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8E, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x0000000C, 0x00000002, 0xFE363C81, 0xFFFFFFCE, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C88, 0x000003E8, 0x00000028, 0x00000002, 0xFE363C88, 0xFE363C81, 0x0000002A, 0x00000002, 0xFE363C88, 0x0000000A, 0x0000000C, 0x00000002, 0xFE363C88, 0x00000014, 0x00000024, 0x00000002, 0xFE363C88, 0x00000014, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000003, RandInt, 0x00000190, 0xFE363C8A, 0x00000024, 0x00000002, 0xFE363C8B, 0x000000C8, 0x00000043, 0x00000003, RandInt, 0x00000190, 0xFE363C8C, 0x00000028, 0x00000002, 0xFE363C8C, 0x000000C8, 0x00000027, 0x00000002, 0xFE363C81, 0xFE363C8A, 0x00000027, 0x00000002, 0xFE363C82, 0xFE363C8B, 0x00000027, 0x00000002, 0xFE363C83, 0xFE363C8C, 0x00000024, 0x00000002, 0xFE363C84, 0xFE363C81, 0x00000043, 0x00000003, RandInt, 0x00000064, 0xFE363C8A, 0x00000027, 0x00000002, 0xFE363C8A, 0x00000032, 0x00000028, 0x00000002, 0xFE363C84, 0xFE363C8A, 0x00000024, 0x00000002, 0xFE363C85, 0x00000000, 0x00000024, 0x00000002, 0xFE363C86, 0xFE363C83, 0x00000043, 0x00000003, RandInt, 0x00000004, 0xFE363C87, 0x00000027, 0x00000002, 0xFE363C87, 0x0000000A, 0x00000014, 0x00000001, 0xFE363C83, 0x00000018, 0x00000001, 0xFFFFFEDE, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000018, 0x00000001, 0x00000028, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x0000001B, 0x00000001, 0x00000028, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000023, 0x00000000, 0x0000000C, 0x00000002, 0xFE363C8E, 0x00000002, 0x00000043, 0x00000006, PlaySoundAt, 0xB0000015, 0x00000000, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000027, 0x00000002, 0xFE363C8E, 0x00000001, 0x00000013, 0x00000000, 0x00000027, 0x00000002, 0xFE363C8D, 0xFE363C88, 0x0000000D, 0x00000002, 0xFE363C8D, 0x0000001E, 0x00000024, 0x00000002, 0xFE363C8D, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8E, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000009, hos_00_UnkEffect0FFunc2, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0x00000008, 0x00000001, 0xFE363C88, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000004D, 0x00000001, 0x0000000B, 0x00000056, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x00000032, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000043, 0x00000001, hos_00_UnkEffect0FFunc, 0x00000008, 0x00000001, 0xFE363C80, 0x00000004, 0x00000001, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000003, RandInt, 0x00000032, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000001, hos_00_UnkEffect0FFunc3, 0x00000008, 0x00000001, 0xFE363C80, 0x00000004, 0x00000001, 0x00000001, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000003, 0x00000001, 0x00000002, 0x00000043, 0x00000003, RandInt, 0x00000032, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000001, hos_00_UnkEffect0FFunc4, 0x00000043, 0x00000006, PlaySoundAt, 0xB0000015, 0x00000000, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000008, 0x00000001, 0xFE363C80, 0x00000004, 0x00000001, 0x00000002, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241554_A0D244 -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000021, 0x00000002, 0xFFFFFF81, 0x0000005F, 0x00000043, 0x00000003, GotoMap, 0x80244B60, 0x00000001, 0x0000001C, 0x00000000, 0x00000043, 0x00000003, GotoMap, 0x80244B58, 0x00000001, 0x00000023, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802415F0_A0D2E0 -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000001, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80244B68, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024164C_A0D33C -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000002, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80244B70, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802416A8_A0D398 -.word 0x00000047, 0x00000005, D_80241554_A0D244, 0x00080000, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_802415F0_A0D2E0, 0x00080000, 0x00000004, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_8024164C_A0D33C, 0x00080000, 0x00000008, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024170C_A0D3FC -.word 0x0000004D, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetTexPanOffset, 0x0000000D, 0x00000000, 0xFE363C80, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x00004000, 0x00000008, 0x00000001, 0x0000000F, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241784_A0D474 -.word 0x00000043, 0x00000002, GetLoadType, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000044, 0x00000001, 0x80244AF0, 0x00000044, 0x00000001, EnterSavePoint, 0x00000044, 0x00000001, D_802416A8_A0D398, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000003, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000001, 0x00000000, 0x00000044, 0x00000001, 0x80241B60, 0x00000002, 0x00000000, 0x00000012, 0x00000000, 0x00000044, 0x00000001, 0x80244AF0, 0x00000024, 0x00000002, 0xFE363C80, D_802416A8_A0D398, 0x00000044, 0x00000001, EnterWalk, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241874_A0D564 -.word 0x00000024, 0x00000002, 0xF5DE0329, 0x0000001B, 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, 0xF840632C, 0x00000001, 0x00000024, 0x00000002, 0xF8405C87, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000003, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80242810, 0x00000012, 0x00000000, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x802427EC, 0x00000013, 0x00000000, 0x00000046, 0x00000001, 0x802428C0, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000003, 0x00000044, 0x00000001, D_802410B0_A0CDA0, 0x00000013, 0x00000000, 0x00000046, 0x00000001, D_8024101C_A0CD0C, 0x0000000A, 0x00000002, 0xF5DE0180, 0xFFFFFF97, 0x0000000A, 0x00000002, 0xF9718934, 0x00000000, 0x00000008, 0x00000001, 0x00000032, 0x00000024, 0x00000002, 0xF9718934, 0x00000001, 0x00000013, 0x00000000, 0x00000044, 0x00000001, 0x80242F20, 0x00000013, 0x00000000, 0x00000044, 0x00000001, D_80241784_A0D474, 0x00000044, 0x00000001, D_8024170C_A0D3FC, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_00/A0D720.data.s b/ver/us/asm/data/world/area_hos/hos_00/A0D720.data.s deleted file mode 100644 index da47b907cb..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_00/A0D720.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80241A30_A0D720 -.word 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetTexPanOffset, 0x0000000D, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, SetTexPanOffset, 0x0000000D, 0x00000000, 0x00004000, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_00/A0D7A0.data.s b/ver/us/asm/data/world/area_hos/hos_00/A0D7A0.data.s deleted file mode 100644 index 27bd1476a0..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_00/A0D7A0.data.s +++ /dev/null @@ -1,42 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80241AB0_A0D7A0 -.word 0x00000000, 0x00140014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_80241ADC_A0D7CC -.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_80241B34_A0D824 -.word 0x00000000, 0x00220018, 0x00000000, 0x00000000, 0x00000000, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x001A0000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000131, 0xFFFFFFF6, 0xFFFFFFCE, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000131, 0xFFFFFFF6, 0xFFFFFFCE, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF250BA80, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24A9E80, 0xF24A5280, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000003, 0x00860004, 0x00860006, 0x00000000, 0x000A006C, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00860001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000002, 0x00840104, 0x00840101, 0x00000000, 0x000A006D, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000003, 0x00860004, 0x00860001, 0x00000000, 0x000A006E, 0x00000008, 0x00000001, 0x00000032, 0x00000043, 0x00000003, GotoMap, 0x80244B80, 0x00000003, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241CE8_A0D9D8 -.word 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C83, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C83, 0xFE363C81, 0xFFFFFFD3, 0x00000027, 0x00000002, 0xFE363C83, 0x00000028, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFE363C83, 0xFE363C81, 0xFFFFFFD3, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C83, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C83, 0xFFFFFFE7, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFE363C83, 0xFE363C81, 0xFFFFFFD3, 0x00000044, 0x00000001, 0x80244210, 0x00000043, 0x00000001, DoNpcDefeat, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241DFC_A0DAEC -.word 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetSelfVar, 0x00000000, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000002, StartBossBattle, 0x00000003, 0x00000023, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241E80_A0DB70 -.word 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFF98, 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80241DFC_A0DAEC, 0x00000043, 0x00000003, BindNpcDefeat, 0xFFFFFFFF, D_80241CE8_A0D9D8, 0x00000012, 0x00000000, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241EE8_A0DBD8 -.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetSelfVar, 0x00000000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000002, EnablePartner, 0x0000000B, 0x00000043, 0x00000002, func_802407C0_A0C4B0, 0x0000000B, 0x00000043, 0x00000001, StartBattle, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241F8C_A0DC7C -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241F9C_A0DC8C -.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000002, 0x00000043, 0x00000002, DisablePartner, 0x0000000B, 0x00000043, 0x00000002, func_802407C0_A0C4B0, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241FE0_A0DCD0 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80241EE8_A0DBD8, 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_80241F8C_A0DC7C, 0x00000043, 0x00000003, BindNpcDefeat, 0xFFFFFFFF, D_80241F9C_A0DC8C, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024202C_A0DD1C -.word 0x00000000, D_80241AB0_A0D7A0, 0x00000000, 0xC47A0000, 0x00000000, 0x00000F05, D_80241FE0_A0DCD0, 0x00000000, 0x00000000, 0x0000005A, 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, 0x00200001, 0x00200005, 0x00200008, 0x00200008, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024221C_A0DF0C -.word 0x00000001, D_80241B34_A0D824, 0x00000000, 0xC47A0000, 0x00000000, 0x00840701, D_80241E80_A0DB70, 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, 0x00570000, 0x00570001, 0x00570001, 0x00570001, 0x00570001, 0x00570001, 0x00570004, 0x00570004, 0x00570002, 0x00570003, 0x00570001, 0x00570001, 0x00570001, 0x00570001, 0x00570001, 0x00570001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024240C_A0E0FC -.word 0x00000002, D_80241ADC_A0D7CC, 0x438C0000, 0xC1200000, 0xC2480000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x0000005A, 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, 0x00840101, 0x00840102, 0x00840103, 0x00840103, 0x00840101, 0x00840101, 0x00840106, 0x00840106, 0x00840103, 0x00840103, 0x00840103, 0x00840103, 0x00840103, 0x00840103, 0x00840103, 0x00840103, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, D_80241ADC_A0D7CC, 0x43A50000, 0xC1200000, 0xC2200000, 0x00000001, 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, 0x00860001, 0x00860002, 0x00860003, 0x00860003, 0x00860001, 0x00860001, 0x00860000, 0x00860000, 0x00860000, 0x00860000, 0x00860000, 0x00860000, 0x00860000, 0x00860000, 0x00860000, 0x00860000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, D_8024202C_A0DD1C, 0x04000000, 0x00000001, D_8024221C_A0DF0C, 0x04030000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, D_8024240C_A0E0FC, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_00/A0E520.data.s b/ver/us/asm/data/world/area_hos/hos_00/A0E520.data.s deleted file mode 100644 index e0d7f8d4c1..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_00/A0E520.data.s +++ /dev/null @@ -1,45 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80242830_A0E520 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D016E, 0x000000A0, 0x00000028, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242878_A0E568 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D016D, 0x000000A0, 0x00000028, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000007, MakeEntity, Entity_Signpost, 0x000001C2, 0x0000000A, 0xFFFFFF47, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignScript, D_80242830_A0E520, 0x00000043, 0x00000007, MakeEntity, Entity_Signpost, 0x00000357, 0xFFFFFFF6, 0xFFFFFFD8, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignScript, D_80242878_A0E568, 0x00000043, 0x00000008, MakeEntity, Entity_HiddenPanel, 0x0000017C, 0xFFFFFFF6, 0x00000019, 0x00000000, 0x00000010, 0x80000000, 0x00000043, 0x00000002, AssignPanelFlag, 0xF8405D9A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel hos_00_varStash -.word 0x00000000, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000010, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802429D4_A0E6C4 -.word 0x00000000, 0x00000000, 0x40000000, 0x42920000, 0xC0C00000, 0x40000000, 0x42D40000, 0x42000000, 0x40000000, 0x428C0000, 0x422C0000, 0x40000000, 0x41F00000, 0x41400000, 0x40000000, 0xC1880000, 0xC1980000, 0x40000000, 0xC20C0000, 0x41E80000, 0x40000000, 0xC1A00000, 0x422C0000, 0x40000000, 0xC1300000, 0x421C0000, 0x40000000, 0x00000000, 0xBF800000, 0x00000000 - -dlabel D_80242A4C_A0E73C -.word 0x41700000, 0x432E0000, 0xC2340000, 0xC31D0000, 0x42B80000, 0xC2300000, 0xC3B98000, 0x42CE0000, 0xC2340000, 0xC3AF0000, 0x42960000, 0xC2340000, 0xC37A0000, 0x42200000, 0xC2340000 - -dlabel D_80242A88_A0E778 -.word 0x00000000, 0x00000000, 0x00000000, 0xC2700000, 0x40400000, 0xC1300000, 0xC25C0000, 0x41500000, 0x00000000, 0x40800000, 0x42200000, 0xC0A00000, 0x41B80000, 0x420C0000, 0xC1200000, 0x427C0000, 0x41C80000, 0xC1A00000, 0x42BC0000, 0x41F00000, 0xC2200000, 0x43060000, 0x437A0000, 0xC2A00000 - -dlabel D_80242AE8_A0E7D8 -.word 0xC2900000, 0x439F0000, 0xC2A00000, 0xC2FE0000, 0x43190000, 0xC2700000, 0xC32E0000, 0x42E40000, 0xC2300000, 0xC3730000, 0x42B40000, 0xC2340000, 0xC3860000, 0x42480000, 0xC2380000, 0xC32E0000, 0x41200000, 0xC22C0000 - -dlabel D_80242B30_A0E820 -.word 0x00000000, 0x00000000, 0x00000000, 0xC1F00000, 0x40400000, 0xC1300000, 0xC25C0000, 0x41500000, 0x00000000, 0xC2920000, 0x41A00000, 0xC0A00000, 0xC2CE0000, 0x42200000, 0x00000000, 0xC30F0000, 0x42700000, 0x00000000, 0xC32D0000, 0x42480000, 0x41D00000, 0xC2FC0000, 0x420C0000, 0x41800000, 0x448AE000, 0x440E8000, 0xC403C000 - -dlabel D_80242B9C_A0E88C -.word 0x00000000 - -dlabel D_80242BA0_A0E890 -.word 0x00000000 - -dlabel D_80242BA4_A0E894 -.word 0x00000043, 0x00000005, GetNpcPos, 0x00000001, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000001, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C83, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C84, 0x00000024, 0x00000002, 0xFE363C8B, 0xFE363C85, 0x00000028, 0x00000002, 0xFE363C83, 0xFE363C86, 0x00000028, 0x00000002, 0xFE363C84, 0xFE363C87, 0x00000028, 0x00000002, 0xFE363C85, 0xFE363C88, 0x00000043, 0x00000001, func_80240A54_A0C744, 0x00000024, 0x00000002, 0xFE363C86, 0xFE363C89, 0x00000024, 0x00000002, 0xFE363C87, 0xFE363C8A, 0x00000024, 0x00000002, 0xFE363C88, 0xFE363C8B, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0x00000000, 0x00000001, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000000, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0xFFFFFFFC, 0x00000001, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0xFFFFFFFC, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242D20_A0EA10 -.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000000, 0x0000010E, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000000, 0x0000005A, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242D8C_A0EA7C -.word 0x00000005, 0x00000001, 0x00000000, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000003, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000003, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242E98_A0EB88 -.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C82, 0x00000002, 0x00000043, 0x00000005, SetItemPos, 0xFD050F8A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000C, 0x00000002, 0xFE363C80, 0xFFFFFF9C, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, func_802CF56C, 0x00000002, 0x00000056, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFEC, 0x00000043, 0x00000004, PlayerMoveTo, 0xFE363C80, 0xFE363C82, 0x0000000A, 0x00000057, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0x00000032, 0x000000B4, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000000, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFF6, 0x00000043, 0x00000006, NpcJump0, 0x00000000, 0xFE363C80, 0x00000014, 0xFE363C82, 0x0000000F, 0x00000043, 0x00000003, PlaySoundAtPlayer, 0x000000E1, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010023, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x0020000E, 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00200016, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000000, 0xF24A7CE7, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFF9C, 0x00000043, 0x00000006, NpcJump0, 0x00000000, 0xFE363C80, 0x0000000A, 0xFE363C82, 0x00000014, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x00000005, 0xF24A8280, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0x00000168, 0x00000005, 0x00000001, 0x00000003, 0x00000003, 0x00000001, 0x00000016, 0x00000008, 0x00000001, 0x00000001, 0x00000028, 0x00000002, 0xFE363C83, 0x0000002D, 0x0000000D, 0x00000002, 0xFE363C83, 0x00000000, 0x00000043, 0x00000005, SetNpcRotation, 0x00000000, 0x00000000, 0xFE363C83, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C83, 0x0000010E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x0020001A, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C83, 0x0000005A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00200016, 0x00000013, 0x00000000, 0x00000004, 0x00000001, 0x00000016, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetNpcRotation, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x000A000D, 0x000000A0, 0x00000028, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000070, 0x00000000, 0x00000008, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00200001, 0x00000043, 0x00000003, NpcFacePlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x0020000C, 0x00200001, 0x00000000, 0x000A000E, 0x00000043, 0x00000001, hos_00_SetCamera0Flag1000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFEC, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x00000113, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24ABA80, 0xF24A5880, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8680, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetNpcSpeed, 0x00000000, 0xF24A8680, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000028, 0x00000043, 0x00000005, NpcMoveTo, 0x00000000, 0xFE363C80, 0xFE363C82, 0x00000000, 0x00000043, 0x0000000A, ShowEmote, 0x00000000, 0x00000001, 0x0000002D, 0x00000014, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x0020000F, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000000, 0xF24A7E80, 0x00000005, 0x00000001, 0x00000002, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, NpcJump0, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000F, 0x00000006, 0x00000000, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFC, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000019, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00200009, 0x00200001, 0x00000000, 0x000A000F, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0x00000043, 0x00000005, LoadPath, 0x00000046, D_802429D4_A0E6C4, 0x0000000A, 0x00000000, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000001, GetNextPathPos, 0x0000002C, 0x00000002, 0xFE363C81, 0xFE363C84, 0x0000002C, 0x00000002, 0xFE363C82, 0xFE363C85, 0x0000002C, 0x00000002, 0xFE363C83, 0xFE363C86, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000001, func_80240994_A0C684, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00200001, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00200009, 0x00200001, 0x00000000, 0x000A0010, 0x00000043, 0x00000003, SetNpcYaw, 0x00000000, 0x0000010E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x0020001A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000005, 0x000A0011, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000F, 0x00000043, 0x00000007, MakeItemEntity, 0x00000007, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFD050F8A, 0xFE363C80, 0x00000045, 0x00000002, D_80242D8C_A0EA7C, 0xFE363C88, 0x00000045, 0x00000002, D_80242E98_A0EB88, 0xFE363C89, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00200017, 0x00000043, 0x00000006, ContinueSpeech, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000200, 0x000A0012, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C85, 0xFE363C83, 0xFE363C84, 0x00000027, 0x00000002, 0xFE363C85, 0xFFFFFFE2, 0x00000043, 0x00000005, NpcMoveTo, 0x00000000, 0xFE363C85, 0xFE363C84, 0x0000000F, 0x00000049, 0x00000001, 0xFE363C89, 0x00000049, 0x00000001, 0xFE363C88, 0x00000056, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000F, 0x00000024, 0x00000002, 0xFE363C84, 0xFE363C81, 0x00000027, 0x00000002, 0xFE363C84, 0x0000001E, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000043, 0x00000005, MakeLerp, 0xFE363C81, 0xFE363C84, 0x00000007, 0x00000004, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetItemPos, 0xFD050F8A, 0xFE363C83, 0xFE363C80, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C83, 0x00000002, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0x00000027, 0x00000002, 0xFE363C86, 0x00000026, 0x00000043, 0x00000005, MakeLerp, 0xFE363C80, 0xFE363C86, 0x00000007, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetItemPos, 0xFD050F8A, 0xFE363C83, 0xFE363C80, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C83, 0x00000002, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000002, RemoveItemEntity, 0xFD050F8A, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00200014, 0x00000008, 0x00000001, 0x0000000B, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00200015, 0x00000024, 0x00000002, 0xFE363C80, 0x00000007, 0x00000024, 0x00000002, 0xFE363C81, 0x00000004, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000000, 0x00000043, 0x00000002, AddKeyItem, 0xFE363C80, 0x00000043, 0x00000001, hos_00_EnableActionCommands, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00200001, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00200009, 0x00200001, 0x00000000, 0x000A0013, 0x00000043, 0x00000002, ShowChoice, 0x001E0013, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000006, ContinueSpeech, 0x00000000, 0x00200009, 0x00200001, 0x00000000, 0x000A0014, 0x00000043, 0x00000002, ShowChoice, 0x001E0013, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0x00000000, 0x00200009, 0x00200001, 0x00000000, 0x000A0015, 0x00000012, 0x00000000, 0x00000004, 0x00000001, 0x0000000F, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000003, 0x00000001, 0x0000000F, 0x00000043, 0x00000006, ContinueSpeech, 0x00000000, 0x00200009, 0x00200001, 0x00000000, 0x000A0016, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00010008, 0x00010001, 0x00000000, 0x000A0017, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00200009, 0x00200001, 0x00000000, 0x000A0018, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00080007, 0x00000043, 0x00000004, SetNpcVar, 0x00000000, 0x00000000, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GetNpcVar, 0x00000000, 0x00000000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000002, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00200009, 0x00200001, 0x00000000, 0x000A002F, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00010008, 0x00010001, 0x00000000, 0x000A0030, 0x00000008, 0x00000001, 0x00000014, 0x00000044, 0x00000001, 0x80241084, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x000A0031, 0x00000140, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8680, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFF06, 0x0000002A, 0x00000002, 0xFE363C80, 0x00000002, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFFFFFF06, 0x00000035, 0x00000000, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A801A, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000057, 0x00000000, 0x00000045, 0x00000002, D_80242BA4_A0E894, 0xFE363C8A, 0x00000043, 0x00000005, LoadPath, 0x00000043, D_80242A4C_A0E73C, 0x00000005, 0x00000000, 0x00000003, 0x00000001, 0x00000002, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000004, 0x00000001, 0x00000002, 0x00000013, 0x00000000, 0x00000049, 0x00000001, 0xFE363C8A, 0x00000058, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000005, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, GetNpcPos, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000005, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, GetNpcPos, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000006, 0x00000000, 0x00000059, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x00570000, 0x00000005, 0x00000001, 0x00000003, 0x00000043, 0x00000005, SetNpcRotation, 0x00000001, 0x00000000, 0x00000000, 0x0000000A, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetNpcRotation, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000045, 0x00000002, D_80242D20_A0EA10, 0xFE363C8A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00200009, 0x00200000, 0x00000005, 0x000A0032, 0x00000049, 0x00000001, 0xFE363C8A, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, GetNpcPos, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24E8A80, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24AAE80, 0xF24A5A80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00570009, 0x00570000, 0x00000200, 0x000A0033, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFF06, 0x0000002A, 0x00000002, 0xFE363C80, 0x00000002, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8A80, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000004, SetNpcVar, 0x00000001, 0x00000000, 0x00000001, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000001, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000070, 0x00000000, 0x00000008, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000001, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C83, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFE363C83, 0x0000002A, 0x00000002, 0xFE363C80, 0x00000002, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24EC680, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24ABA80, 0xF24A5680, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000000, 0x0000005A, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00200009, 0x00200001, 0x00000000, 0x000A0034, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000002, SetPlayerJumpscale, 0xF24A7C80, 0x00000043, 0x00000005, PlayerJump, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000F, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00200009, 0x00200001, 0x00000000, 0x000A0035, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF2556A80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A7FB4, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0x00000043, 0x00000005, LoadPath, 0x00000055, D_80242A88_A0E778, 0x00000008, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, GetNextPathPos, 0x0000002C, 0x00000002, 0xFE363C81, 0xFE363C84, 0x0000002C, 0x00000002, 0xFE363C82, 0xFE363C85, 0x0000002C, 0x00000002, 0xFE363C83, 0xFE363C86, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000001, func_80240994_A0C684, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000002D, 0x00000056, 0x00000000, 0x00000043, 0x00000005, LoadPath, 0x0000003C, D_80242AE8_A0E7D8, 0x00000006, 0x00000000, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000001, func_80240994_A0C684, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C83, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFE363C83, 0x0000002A, 0x00000002, 0xFE363C80, 0x00000002, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24EC680, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24ABA80, 0xF24A5880, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00200009, 0x00200001, 0x00000000, 0x000A0036, 0x00000056, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0x00000043, 0x00000005, LoadPath, 0x00000078, D_80242B30_A0E820, 0x00000009, 0x00000001, 0x00000003, 0x00000001, 0x00000002, 0x00000043, 0x00000001, GetNextPathPos, 0x0000002C, 0x00000002, 0xFE363C81, 0xFE363C84, 0x0000002C, 0x00000002, 0xFE363C82, 0xFE363C85, 0x0000002C, 0x00000002, 0xFE363C83, 0xFE363C86, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000001, func_80240994_A0C684, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000004, 0x00000001, 0x00000002, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24F2A80, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24AAC80, 0xF24A5280, 0x00000043, 0x00000001, func_80240B3C_A0C82C, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A7C80, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000000, 0x00040000, 0x00000001, 0x00000026, 0x00000002, 0xFE363C80, 0xF24A7A80, 0x00000005, 0x00000001, 0x0000000A, 0x0000002C, 0x00000002, 0xFE363C80, 0xF24B0A80, 0x00000043, 0x00000005, SetNpcRotation, 0x00000000, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000000, 0x00040000, 0x00000000, 0x00000008, 0x00000001, 0x00000078, 0x00000043, 0x00000004, InterpNpcYaw, 0xFFFFFFFC, 0x0000010E, 0x00000000, 0x00000043, 0x00000003, PlayerFaceNpc, 0xFFFFFFFC, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24EC680, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24AAE80, 0xF24A5C80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00010008, 0x00010001, 0x00000000, 0x000A0037, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010029, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFF98, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000000, 0x00000043, 0x00000003, ResetCam, 0x00000000, 0xF24A8A80, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_00/A107E0.data.s b/ver/us/asm/data/world/area_hos/hos_00/A107E0.data.s deleted file mode 100644 index c07bcfb6c5..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_00/A107E0.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80244AF0_A107E0 -.word 0x00000043, 0x00000004, SetModelCustomGfx, 0x00000001, 0x00000001, 0xFFFFFFFF, 0x00000043, 0x00000004, SetCustomGfxBuilders, 0x00000001, func_80240C40_A0C930, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_01/A116A0.data.s b/ver/us/asm/data/world/area_hos/hos_01/A116A0.data.s deleted file mode 100644 index f831704066..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_01/A116A0.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240E20_A116A0 -.word 0xC3C80000, 0x00000000, 0x43CD0000, 0x42340000, 0x41B00000, 0x438E8000, 0xC33E0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x802419A0, D_80240E20_A116A0, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x0019001D, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000061, 0x00000000, 0x00000008, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_01/A11760.data.s b/ver/us/asm/data/world/area_hos/hos_01/A11760.data.s deleted file mode 100644 index cc0a699732..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_01/A11760.data.s +++ /dev/null @@ -1,39 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240EE0_A11760 -.word 0x0000004D, 0x00000001, 0x0000000B, 0x00000024, 0x00000002, 0xFE363C8D, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8E, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x0000000C, 0x00000002, 0xFE363C81, 0xFFFFFFCE, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C88, 0x000003E8, 0x00000028, 0x00000002, 0xFE363C88, 0xFE363C81, 0x0000002A, 0x00000002, 0xFE363C88, 0x0000000A, 0x0000000C, 0x00000002, 0xFE363C88, 0x00000014, 0x00000024, 0x00000002, 0xFE363C88, 0x00000014, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000003, RandInt, 0x00000190, 0xFE363C8A, 0x00000024, 0x00000002, 0xFE363C8B, 0x000000C8, 0x00000043, 0x00000003, RandInt, 0x00000190, 0xFE363C8C, 0x00000028, 0x00000002, 0xFE363C8C, 0x000000C8, 0x00000027, 0x00000002, 0xFE363C81, 0xFE363C8A, 0x00000027, 0x00000002, 0xFE363C82, 0xFE363C8B, 0x00000027, 0x00000002, 0xFE363C83, 0xFE363C8C, 0x00000024, 0x00000002, 0xFE363C84, 0xFE363C81, 0x00000043, 0x00000003, RandInt, 0x00000064, 0xFE363C8A, 0x00000027, 0x00000002, 0xFE363C8A, 0x00000032, 0x00000028, 0x00000002, 0xFE363C84, 0xFE363C8A, 0x00000024, 0x00000002, 0xFE363C85, 0x00000000, 0x00000024, 0x00000002, 0xFE363C86, 0xFE363C83, 0x00000043, 0x00000003, RandInt, 0x00000004, 0xFE363C87, 0x00000027, 0x00000002, 0xFE363C87, 0x0000000A, 0x00000014, 0x00000001, 0xFE363C83, 0x00000018, 0x00000001, 0xFFFFFEDE, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000018, 0x00000001, 0x00000028, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x0000001B, 0x00000001, 0x00000028, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000023, 0x00000000, 0x0000000C, 0x00000002, 0xFE363C8E, 0x00000002, 0x00000043, 0x00000006, PlaySoundAt, 0xB0000015, 0x00000000, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000027, 0x00000002, 0xFE363C8E, 0x00000001, 0x00000013, 0x00000000, 0x00000027, 0x00000002, 0xFE363C8D, 0xFE363C88, 0x0000000D, 0x00000002, 0xFE363C8D, 0x0000001E, 0x00000024, 0x00000002, 0xFE363C8D, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8E, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000009, hos_01_UnkEffect0FFunc2, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0x00000008, 0x00000001, 0xFE363C88, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024121C_A11A9C -.word 0x0000004D, 0x00000001, 0x0000000B, 0x00000056, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x00000032, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000043, 0x00000001, hos_01_UnkEffect0FFunc, 0x00000008, 0x00000001, 0xFE363C80, 0x00000004, 0x00000001, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000003, RandInt, 0x00000032, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000001, hos_01_UnkEffect0FFunc3, 0x00000008, 0x00000001, 0xFE363C80, 0x00000004, 0x00000001, 0x00000001, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000003, 0x00000001, 0x00000002, 0x00000043, 0x00000003, RandInt, 0x00000032, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000001, hos_01_UnkEffect0FFunc4, 0x00000043, 0x00000006, PlaySoundAt, 0xB0000015, 0x00000000, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000008, 0x00000001, 0xFE363C80, 0x00000004, 0x00000001, 0x00000002, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241384_A11C04 -.word 0x00000043, 0x00000003, FadeOutMusic, 0x00000000, 0x000005DC, 0x00000043, 0x00000004, GotoMapSpecial, 0x80245988, 0x00000000, 0x0000000B, 0x00000008, 0x00000001, 0x00000064 - -dlabel D_802413BC_A11C3C -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80245990, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241418_A11C98 -.word 0x0000004D, 0x00000001, 0x0000001B, 0x0000000C, 0x00000002, 0xF5DE0180, 0x0000005A, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, GetPartnerInUse, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000001, InterruptUsePartner, 0x00000008, 0x00000001, 0x00000014, 0x00000005, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, IsPlayerOnValidFloor, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000046, 0x00000001, 0x80245580, 0x00000043, 0x00000003, GotoMap, 0x80245998, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241540_A11DC0 -.word 0x00000047, 0x00000005, D_802413BC_A11C3C, 0x00080000, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000001, 0x00000047, 0x00000005, D_80241418_A11C98, 0x00000080, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802415B0_A11E30 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, SetPlayerActionState, 0x0000000A, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000100, 0x00000001, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFFFFFFE2, 0x000000FA, 0xFFFFFF60, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFFFFFFE2, 0x000000FA, 0xFFFFFF60, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000024, 0x00000002, 0xFE363C82, 0x00000168, 0x00000043, 0x00000005, MakeLerp, 0x000001F4, 0x000000FA, 0x0000003C, 0x00000004, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000004, SetPlayerPos, 0xFFFFFFE2, 0xFE363C80, 0xFFFFFF60, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFFFFFFE2, 0xFE363C80, 0xFFFFFF56, 0x00000027, 0x00000002, 0xFE363C82, 0x00000028, 0x00000043, 0x00000003, InterpPlayerYaw, 0xFE363C82, 0x00000000, 0x00000043, 0x00000005, SetNpcRotation, 0xFFFFFFFC, 0x00000000, 0xFE363C82, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000168, 0x00000028, 0x00000002, 0xFE363C82, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C80, 0x00000028, 0x00000003, 0x00000001, 0x0000000A, 0x0000000C, 0x00000002, 0xFE363C82, 0x0000021C, 0x00000043, 0x00000003, InterpPlayerYaw, 0xFE363C82, 0x00000000, 0x00000043, 0x00000005, SetNpcRotation, 0xFFFFFFFC, 0x00000000, 0xFE363C82, 0x00000000, 0x00000027, 0x00000002, 0xFE363C82, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x000000B4, 0x00000028, 0x00000002, 0xFE363C80, 0x00000005, 0x0000000D, 0x00000002, 0xFE363C80, 0x00000014, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetNpcRotation, 0xFFFFFFFC, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, func_80240AAC_A1132C, 0xFD050F8A, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000001, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000061, 0x00000000, 0x00000008, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000003, 0x00000001, 0x00000014, 0x00000043, 0x00000002, hos_01_GetFloorCollider, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000010, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000014, 0x00000013, 0x00000000, 0x00000047, 0x00000005, D_80241418_A11C98, 0x00000080, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x0000001B, 0x00000043, 0x00000002, SetSpriteShading, 0x00030000, 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, 0x00000056, 0x00000000, 0x00000003, 0x00000001, 0x00000001, 0x0000000B, 0x00000002, 0xF5DE0180, 0xFFFFFF96, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000046, 0x00000001, D_80241384_A11C04, 0x00000057, 0x00000000, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80244FC0, 0x00000046, 0x00000001, 0x80244FE0, 0x00000044, 0x00000001, D_80241D48_A125C8, 0x00000044, 0x00000001, D_8024121C_A11A9C, 0x00000044, 0x00000001, 0x80240E80, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80241540_A11DC0, 0x00000044, 0x00000001, EnterWalk, 0x00000008, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000056, 0x00000000, 0x00000046, 0x00000001, D_802415B0_A11E30, 0x00000044, 0x00000001, D_80241540_A11DC0, 0x00000057, 0x00000000, 0x00000023, 0x00000000, 0x0000000A, 0x00000002, 0xF5DE0180, 0x00000059, 0x00000044, 0x00000001, 0x80245050, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241B90_A12410 -.word 0x0000004D, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C85, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C86, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C87, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C88, 0x00000001, 0x00000043, 0x00000001, hos_01_UpdateTexturePanSmooth, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, hos_01_UpdateTexturePanStepped, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241C2C_A124AC -.byte 0x00, 0x00, 0x00, 0xFF - -dlabel D_80241C30_A124B0 -.byte 0x00, 0x00, 0x00, 0xFF - -dlabel D_80241C34_A124B4 -.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x000000B4, 0x00000050, 0x0000002D, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000002, func_80240C84_A11504, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000050, 0x000000B4, 0x00000023, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000002, func_80240C84_A11504, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241D48_A125C8 -.word 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000004, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFF56, 0x00000024, 0x00000002, 0xFE363C84, 0xFFFFFFBA, 0x00000024, 0x00000002, 0xFE363C85, 0x00000000, 0x00000024, 0x00000002, 0xFE363C86, 0x00000000, 0x00000024, 0x00000002, 0xFE363C87, 0x00000001, 0x00000024, 0x00000002, 0xFE363C88, 0x00000001, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_80241B90_A12410, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000005, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0x000000C8, 0x00000024, 0x00000002, 0xFE363C84, 0xFFFFFF9C, 0x00000024, 0x00000002, 0xFE363C85, 0x00000000, 0x00000024, 0x00000002, 0xFE363C86, 0x00000000, 0x00000024, 0x00000002, 0xFE363C87, 0x00000001, 0x00000024, 0x00000002, 0xFE363C88, 0x00000001, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_80241B90_A12410, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x00000005, 0x00000004, 0x00000043, 0x00000003, SetTexPanner, 0x00000006, 0x00000004, 0x00000043, 0x00000003, SetTexPanner, 0x0000000C, 0x00000005, 0x00000043, 0x00000003, SetTexPanner, 0x00000014, 0x00000005, 0x0000000C, 0x00000002, 0xF5DE0180, 0x00000059, 0x00000043, 0x00000003, EnableModel, 0x0000005A, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0x00000039, 0x00000043, 0x00000003, EnableModel, 0x00000059, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0x00000027, 0x00000043, 0x00000003, EnableModel, 0x00000058, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0x00000007, 0x00000043, 0x00000003, EnableModel, 0x00000057, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFF1, 0x00000043, 0x00000003, EnableModel, 0x00000056, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFCB, 0x00000043, 0x00000003, EnableModel, 0x00000055, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFB5, 0x00000043, 0x00000003, EnableModel, 0x00000054, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0x0000005A, 0x00000043, 0x00000003, EnableModel, 0x00000053, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000075, 0x00000000, 0xFFFFFFE2, 0x000000FA, 0xFFFFFF60, 0x00000001, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xFD050F8A, 0xFE363C8F, 0x00000024, 0x00000002, 0xFE363C80, 0x000000FF, 0x00000043, 0x00000003, func_80240B64_A113E4, 0xFD050F8A, 0xFE363C80, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000002, func_80240B10_A11390, 0xFD050F8A, 0x00000012, 0x00000000, 0x00000043, 0x00000002, func_80240AAC_A1132C, 0xFD050F8A, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetRenderMode, 0x00000054, 0x00000016, 0x00000043, 0x00000003, SetRenderMode, 0x00000055, 0x00000016, 0x00000043, 0x00000003, SetRenderMode, 0x00000056, 0x00000016, 0x00000043, 0x00000003, SetRenderMode, 0x00000057, 0x00000016, 0x00000043, 0x00000003, SetRenderMode, 0x00000058, 0x00000016, 0x00000043, 0x00000003, SetRenderMode, 0x00000059, 0x00000016, 0x00000043, 0x00000003, SetRenderMode, 0x0000005A, 0x00000016, 0x00000043, 0x00000004, SetModelCustomGfx, 0x00000054, 0x00000000, 0xFFFFFFFF, 0x00000043, 0x00000004, SetModelCustomGfx, 0x00000055, 0x00000000, 0xFFFFFFFF, 0x00000043, 0x00000004, SetModelCustomGfx, 0x00000056, 0x00000000, 0xFFFFFFFF, 0x00000043, 0x00000004, SetModelCustomGfx, 0x00000057, 0x00000000, 0xFFFFFFFF, 0x00000043, 0x00000004, SetModelCustomGfx, 0x00000058, 0x00000000, 0xFFFFFFFF, 0x00000043, 0x00000004, SetModelCustomGfx, 0x00000059, 0x00000000, 0xFFFFFFFF, 0x00000043, 0x00000004, SetModelCustomGfx, 0x0000005A, 0x00000000, 0xFFFFFFFF, 0x00000043, 0x00000004, SetCustomGfxBuilders, 0x00000000, func_80240BB8_A11438, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x00000053, 0x00000000, 0x00000002, 0x00000000, 0x00000043, 0x00000004, SetModelCustomGfx, 0x00000053, 0x00000001, 0xFFFFFFFF, 0x00000043, 0x00000004, SetCustomGfxBuilders, 0x00000001, func_80240C34_A114B4, 0x00000000, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x000000FF, 0x00000064, 0x0000003C, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000002, func_80240C08_A11488, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000064, 0x000000FF, 0x00000023, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000002, func_80240C08_A11488, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x0000000F, 0x00000002, 0xF5DE0180, 0x0000005A, 0x00000046, 0x00000001, D_80241C34_A124B4, 0x00000012, 0x00000000, 0x00000043, 0x00000002, func_80240C84_A11504, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x0000000B, 0x00000002, 0xFD050F8B, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x000000B4, 0x00000037, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000002, func_80240C84_A11504, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFD050F8B, 0x00000002, 0x00000046, 0x00000001, D_80241C34_A124B4, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_01/A12E00.data.s b/ver/us/asm/data/world/area_hos/hos_01/A12E00.data.s deleted file mode 100644 index 302a68b841..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_01/A12E00.data.s +++ /dev/null @@ -1,24 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80242580_A12E00 -.word 0x00000000, 0x001A0018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000, 0x00000000, 0x00140014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000, 0x00000000, 0x00160018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_80242604_A12E84 -.word 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000F, 0x00000002, 0xFE363C81, 0x000000F5, 0x00000043, 0x00000005, IsPlayerWithin, 0xFFFFFFE2, 0xFFFFFF5B, 0x000000B4, 0xFE363C83, 0x0000000A, 0x00000002, 0xFE363C83, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000001, 0x00000043, 0x00000003, FadeOutMusic, 0x00000000, 0x000007D0, 0x00000008, 0x00000001, 0x0000003C, 0x00000003, 0x00000001, 0x00000014, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000C, 0x00000002, 0xFE363C81, 0x000000F5, 0x00000043, 0x00000005, IsPlayerWithin, 0xFFFFFFE2, 0xFFFFFF5B, 0x000000B4, 0xFE363C83, 0x0000000A, 0x00000002, 0xFE363C83, 0x00000000, 0x00000004, 0x00000001, 0x0000001E, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000014, 0x00000003, 0x00000001, 0x0000001E, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000061, 0x00000000, 0x00000008, 0x00000008, 0x00000001, 0x0000001E, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802427C8_A13048 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFFFFFFDD, 0x000000FA, 0xFFFFFF6F, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFFFFFFDD, 0x000000FA, 0xFFFFFF6F, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x000001C2, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24ACA80, 0xF24A6480, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A7C80, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000002, func_802D2C14, 0x00000002, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000100, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C82, 0x0000001E, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFC, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000F, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000057, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000078, 0x00000001, 0x00000008, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00120002, 0x00120001, 0x00000000, 0x000A0000, 0x00000008, 0x00000001, 0x0000000A, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000000, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000000, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000000, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000000, 0x00000015, 0x00000104, 0xFFFFFEEB, 0x0000001E, 0x00000043, 0x00000003, EnableModel, 0x00000054, 0x00000001, 0x00000043, 0x00000002, PlaySound, 0x00000064, 0x00000043, 0x00000005, GetNpcPos, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000F, 0x00000043, 0x00000006, func_80240CDC_A1155C, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000F, 0x00000043, 0x00000006, func_80240CDC_A1155C, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000005, GetNpcPos, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000F, 0x00000043, 0x00000006, func_80240CDC_A1155C, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000005, GetNpcPos, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000F, 0x00000043, 0x00000006, func_80240CDC_A1155C, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000005, GetNpcPos, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000F, 0x00000043, 0x00000006, func_80240CDC_A1155C, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000005, GetNpcPos, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000F, 0x00000043, 0x00000006, func_80240CDC_A1155C, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000003, EnableModel, 0x00000055, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x00000056, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x00000057, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x00000058, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x00000059, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x0000005A, 0x00000001, 0x00000026, 0x00000002, 0xFD050F81, 0xF2493A80, 0x00000005, 0x00000001, 0x00000014, 0x0000002C, 0x00000002, 0xFD050F81, 0xF24A9280, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000001, 0x00000001, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000002, 0x00000001, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000003, 0x00000001, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000004, 0x00000001, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000005, 0x00000001, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000006, 0x00000001, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00120002, 0x00120001, 0x00000000, 0x000A0001, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x0000010E, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A85B4, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24ACA80, 0xF24A6080, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00120002, 0x00120001, 0x00000000, 0x000A0002, 0x00000043, 0x00000005, GetNpcPos, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24ACA80, 0xF24A5EE7, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00130002, 0x00120001, 0x00000000, 0x000A0003, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24ACA80, 0xF24A5D4D, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000002, 0x00140002, 0x00130001, 0x00000000, 0x000A0004, 0x00000043, 0x00000005, GetNpcPos, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24ACA80, 0xF24A5BB4, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000003, 0x00150002, 0x00150001, 0x00000000, 0x000A0005, 0x00000043, 0x00000005, GetNpcPos, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24ACA80, 0xF24A5BB4, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000004, 0x00160002, 0x00160001, 0x00000000, 0x000A0006, 0x00000043, 0x00000005, GetNpcPos, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24ACA80, 0xF24A5D4D, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000005, 0x00170003, 0x00170001, 0x00000000, 0x000A0007, 0x00000043, 0x00000005, GetNpcPos, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24ACA80, 0xF24A5EE7, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000006, 0x00180002, 0x00180001, 0x00000000, 0x000A0008, 0x00000024, 0x00000002, 0xF70F2E86, 0x000000C8, 0x00000008, 0x00000001, 0x0000001E, 0x00000024, 0x00000002, 0xF70F2E86, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000006, 0x00180002, 0x00180001, 0x00000000, 0x000A0009, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xFFFFFED4, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24ABA80, 0xF24A6280, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00120002, 0x00120001, 0x00000000, 0x000A000A, 0x00000024, 0x00000002, 0xF70F2E80, 0x000000C8, 0x00000024, 0x00000002, 0xF70F2E81, 0x000000C8, 0x00000024, 0x00000002, 0xF70F2E82, 0x000000C8, 0x00000024, 0x00000002, 0xF70F2E83, 0x000000C8, 0x00000024, 0x00000002, 0xF70F2E84, 0x000000C8, 0x00000024, 0x00000002, 0xF70F2E85, 0x000000C8, 0x00000024, 0x00000002, 0xF70F2E86, 0x000000C8, 0x00000008, 0x00000001, 0x0000001E, 0x00000024, 0x00000002, 0xF70F2E80, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E81, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E82, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E83, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E84, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E85, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E86, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00120002, 0x00120001, 0x00000000, 0x000A000B, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000000, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000001, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000002, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000003, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000004, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000005, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000006, 0x00000000, 0x00000043, 0x00000001, FullyRestoreHPandFP, 0x00000024, 0x00000002, 0xF70F2E80, 0x00000064, 0x00000024, 0x00000002, 0xF70F2E81, 0x00000064, 0x00000024, 0x00000002, 0xF70F2E82, 0x00000064, 0x00000024, 0x00000002, 0xF70F2E83, 0x00000064, 0x00000024, 0x00000002, 0xF70F2E84, 0x00000064, 0x00000024, 0x00000002, 0xF70F2E85, 0x00000064, 0x00000024, 0x00000002, 0xF70F2E86, 0x00000064, 0x00000026, 0x00000002, 0xFD050F80, 0xF24B1A80, 0x00000026, 0x00000002, 0xFD050F81, 0xF24B1A80, 0x00000005, 0x00000001, 0x00000014, 0x0000002C, 0x00000002, 0xFD050F80, 0xF24A6280, 0x0000002C, 0x00000002, 0xFD050F81, 0xF24A6280, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFAA2B580, 0x00000001, 0x00000024, 0x00000002, 0xF70F2E80, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E81, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E82, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E83, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E84, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E85, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E86, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000054, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000055, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000056, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000057, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000058, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000059, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000005A, 0x00000000, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x0000012C, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8280, 0x00000043, 0x00000002, hos_01_SwitchToPartner, 0x00000001, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000027, 0x00000002, 0xFE363C82, 0x0000001E, 0x00000043, 0x00000003, SetNpcSpeed, 0xFFFFFFFC, 0xF24A8280, 0x00000043, 0x00000005, NpcMoveTo, 0xFFFFFFFC, 0xFE363C80, 0xFE363C82, 0x00000000, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, PlayerFaceNpc, 0xFFFFFFFC, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00010008, 0x00010001, 0x00000000, 0x000A000C, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFF96, 0x00000043, 0x00000003, ResetCam, 0x00000000, 0xF24A8080, 0x00000057, 0x00000000, 0x00000043, 0x00000003, FadeOutMusic, 0x00000000, 0x00000BB8, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024373C_A13FBC -.word 0x00000044, 0x00000001, D_802427C8_A13048, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243758_A13FD8 -.word 0x00000024, 0x00000002, 0xF70F2E80, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E81, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E82, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E83, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E84, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E85, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E86, 0x00000000, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xF70F2E80, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x0000002D, 0xFE363C81, 0x00000027, 0x00000002, 0xFE363C81, 0x00000069, 0x00000024, 0x00000002, 0xF70F2E80, 0x000000C8, 0x00000008, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xF70F2E80, 0x00000000, 0x00000008, 0x00000001, 0xFE363C81, 0x00000012, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xF70F2E81, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x0000002D, 0xFE363C81, 0x00000027, 0x00000002, 0xFE363C81, 0x00000069, 0x00000024, 0x00000002, 0xF70F2E81, 0x000000C8, 0x00000008, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xF70F2E81, 0x00000000, 0x00000008, 0x00000001, 0xFE363C81, 0x00000012, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xF70F2E82, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x0000002D, 0xFE363C81, 0x00000027, 0x00000002, 0xFE363C81, 0x00000069, 0x00000024, 0x00000002, 0xF70F2E82, 0x000000C8, 0x00000008, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xF70F2E82, 0x00000000, 0x00000008, 0x00000001, 0xFE363C81, 0x00000012, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xF70F2E83, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x0000002D, 0xFE363C81, 0x00000027, 0x00000002, 0xFE363C81, 0x00000069, 0x00000024, 0x00000002, 0xF70F2E83, 0x000000C8, 0x00000008, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xF70F2E83, 0x00000000, 0x00000008, 0x00000001, 0xFE363C81, 0x00000012, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xF70F2E84, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x0000002D, 0xFE363C81, 0x00000027, 0x00000002, 0xFE363C81, 0x00000069, 0x00000024, 0x00000002, 0xF70F2E84, 0x000000C8, 0x00000008, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xF70F2E84, 0x00000000, 0x00000008, 0x00000001, 0xFE363C81, 0x00000012, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xF70F2E85, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x0000002D, 0xFE363C81, 0x00000027, 0x00000002, 0xFE363C81, 0x00000069, 0x00000024, 0x00000002, 0xF70F2E85, 0x000000C8, 0x00000008, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xF70F2E85, 0x00000000, 0x00000008, 0x00000001, 0xFE363C81, 0x00000012, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xF70F2E86, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x0000002D, 0xFE363C81, 0x00000027, 0x00000002, 0xFE363C81, 0x00000069, 0x00000024, 0x00000002, 0xF70F2E86, 0x000000C8, 0x00000008, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xF70F2E86, 0x00000000, 0x00000008, 0x00000001, 0xFE363C81, 0x00000012, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0x00000000, 0x00000026, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x00000014, 0x0000002C, 0x00000002, 0xFE363C80, 0xF24A8A80, 0x0000002C, 0x00000002, 0xFE363C81, 0xF24A8A80, 0x00000026, 0x00000002, 0xFE363C82, 0xFE363C80, 0x0000002C, 0x00000002, 0xFE363C82, 0xFD050F80, 0x00000026, 0x00000002, 0xFE363C83, 0xFE363C81, 0x0000002C, 0x00000002, 0xFE363C83, 0xFD050F81, 0x0000000C, 0x00000002, 0xFE363C82, 0x00000000, 0x00000026, 0x00000002, 0xFE363C82, 0xF24A7A80, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xFE363C83, 0x00000000, 0x00000026, 0x00000002, 0xFE363C83, 0xF24A7A80, 0x00000013, 0x00000000, 0x00000043, 0x00000007, func_802CFD30, 0x00000000, 0x0000000D, 0x00000000, 0xF70F2E80, 0x00000001, 0xFE363C82, 0x00000043, 0x00000007, func_802CFD30, 0x00000001, 0x0000000D, 0x00000000, 0xF70F2E81, 0x00000001, 0xFE363C83, 0x00000043, 0x00000007, func_802CFD30, 0x00000002, 0x0000000D, 0x00000000, 0xF70F2E82, 0x00000001, 0xFE363C83, 0x00000043, 0x00000007, func_802CFD30, 0x00000003, 0x0000000D, 0x00000000, 0xF70F2E83, 0x00000001, 0xFE363C83, 0x00000043, 0x00000007, func_802CFD30, 0x00000004, 0x0000000D, 0x00000000, 0xF70F2E84, 0x00000001, 0xFE363C83, 0x00000043, 0x00000007, func_802CFD30, 0x00000005, 0x0000000D, 0x00000000, 0xF70F2E85, 0x00000001, 0xFE363C83, 0x00000043, 0x00000007, func_802CFD30, 0x00000006, 0x0000000D, 0x00000000, 0xF70F2E86, 0x00000001, 0xFE363C83, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000005, 0x00000001, 0x00000014, 0x0000002C, 0x00000002, 0xFE363C80, 0xF24A6A80, 0x0000002C, 0x00000002, 0xFE363C81, 0xF24A6A80, 0x00000026, 0x00000002, 0xFE363C82, 0xFE363C80, 0x0000002C, 0x00000002, 0xFE363C82, 0xFD050F80, 0x00000026, 0x00000002, 0xFE363C83, 0xFE363C81, 0x0000002C, 0x00000002, 0xFE363C83, 0xFD050F81, 0x0000000C, 0x00000002, 0xFE363C82, 0x00000000, 0x00000026, 0x00000002, 0xFE363C82, 0xF24A7A80, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xFE363C83, 0x00000000, 0x00000026, 0x00000002, 0xFE363C83, 0xF24A7A80, 0x00000013, 0x00000000, 0x00000043, 0x00000007, func_802CFD30, 0x00000000, 0x0000000D, 0x00000000, 0xF70F2E80, 0x00000001, 0xFE363C82, 0x00000043, 0x00000007, func_802CFD30, 0x00000001, 0x0000000D, 0x00000000, 0xF70F2E81, 0x00000001, 0xFE363C83, 0x00000043, 0x00000007, func_802CFD30, 0x00000002, 0x0000000D, 0x00000000, 0xF70F2E82, 0x00000001, 0xFE363C83, 0x00000043, 0x00000007, func_802CFD30, 0x00000003, 0x0000000D, 0x00000000, 0xF70F2E83, 0x00000001, 0xFE363C83, 0x00000043, 0x00000007, func_802CFD30, 0x00000004, 0x0000000D, 0x00000000, 0xF70F2E84, 0x00000001, 0xFE363C83, 0x00000043, 0x00000007, func_802CFD30, 0x00000005, 0x0000000D, 0x00000000, 0xF70F2E85, 0x00000001, 0xFE363C83, 0x00000043, 0x00000007, func_802CFD30, 0x00000006, 0x0000000D, 0x00000000, 0xF70F2E86, 0x00000001, 0xFE363C83, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244058_A148D8 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024373C_A13FBC, 0x00000043, 0x00000003, BindNpcAux, 0xFFFFFFFF, D_80243758_A13FD8, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFF96, 0x00000044, 0x00000001, D_80242604_A12E84, 0x00000013, 0x00000000, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFF96, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000003, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000004, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000005, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000006, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000001, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000002, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000003, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000004, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000005, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFD050F80, 0x00000028, 0x00000024, 0x00000002, 0xFD050F81, 0xFFFFFFB0, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244230_A14AB0 -.word 0x00000000, D_80242580_A12E00, 0xC1F00000, 0x43820000, 0xC32A0000, 0x00000D09, D_80244058_A148D8, 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, 0x001A000A, 0x00000001, D_80242580_A12E00, 0x42C80000, 0x43820000, 0xC3570000, 0x00000F09, 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, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130000, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, D_80242580_A12E00, 0xC3110000, 0x43820000, 0xC3610000, 0x00000F09, 0x00000000, 0x00000000, 0x00000000, 0x0000005A, 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, 0x00000003, D_80242580_A12E00, 0x41A00000, 0x43820000, 0xC2340000, 0x00000F09, 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, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150000, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000004, D_80242580_A12E00, 0xC31B0000, 0x43820000, 0xC2FA0000, 0x00000F09, 0x00000000, 0x00000000, 0x00000000, 0x0000005A, 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, 0x00000005, D_80242580_A12E00, 0x42B40000, 0x43820000, 0xC2DC0000, 0x00000F09, 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, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170000, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000006, D_80242580_A12E00, 0xC2960000, 0x43820000, 0xC3910000, 0x00000F09, 0x00000000, 0x00000000, 0x00000000, 0x0000005A, 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, 0x00000007, D_80244230_A14AB0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_01/A15860.data.s b/ver/us/asm/data/world/area_hos/hos_01/A15860.data.s deleted file mode 100644 index c88cbff14c..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_01/A15860.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80244FE0_A15860 -.word 0x00000043, 0x00000008, MakeEntity, Entity_HiddenPanel, 0xFFFFFF2E, 0x0000001E, 0x0000011D, 0x00000000, 0x00000013, 0x80000000, 0x00000043, 0x00000002, AssignPanelFlag, 0xF8405D9B, 0x00000043, 0x00000007, MakeItemEntity, 0x0000015C, 0xFFFFFEA2, 0x00000000, 0xFFFFFEED, 0x00000011, 0xF8405DA0, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_01/A158D0.data.s b/ver/us/asm/data/world/area_hos/hos_01/A158D0.data.s deleted file mode 100644 index 1ddaf2f526..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_01/A158D0.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80245050_A158D0 -.word 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000002, hos_01_dup_GetFloorCollider, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000010, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000001, 0x00000043, 0x00000004, func_802D2884, 0xFFFFFFE2, 0xFFFFFF60, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x000A005C, 0x000000A0, 0x00000028, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFF9C, 0x0000002A, 0x00000002, 0xFE363C80, 0x00000002, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x0000012C, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24ABE80, 0xF24A5680, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0x00000003, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x000A005D, 0x000000A0, 0x00000028, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000002B, 0x00000000, 0x00000008, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, EnableModel, 0x00000053, 0x00000001, 0x00000024, 0x00000002, 0xFD050F8B, 0x00000001, 0x00000003, 0x00000001, 0x0000000A, 0x0000000B, 0x00000002, 0xFD050F8B, 0x00000002, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFFFFFF9C, 0x000000F5, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFFFFFF9C, 0x000000F5, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x00000258, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24ABE80, 0xF24A4E80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8080, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x0000000F, PlayEffect, 0x00000075, 0x00000000, 0xFFFFFFE2, 0x000000FA, 0xFFFFFF60, 0x00000001, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xFD050F8A, 0xFE363C8F, 0x00000043, 0x00000002, func_80240AAC_A1132C, 0xFD050F8A, 0x00000043, 0x00000005, MakeLerp, 0x00000001, 0x000000FF, 0x00000037, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000003, func_80240B64_A113E4, 0xFD050F8A, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x0000002D, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFF9C, 0x0000002A, 0x00000002, 0xFE363C80, 0x00000002, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x0000012C, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24ABE80, 0xF24A5680, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x000A005E, 0x000000A0, 0x00000028, 0x00000043, 0x00000003, ResetCam, 0x00000000, 0xF24A8E80, 0x00000024, 0x00000002, 0xF5DE0180, 0x0000005A, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000061, 0x00000000, 0x00000008, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, func_80240B10_A11390, 0xFD050F8A, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFFFFFFE2, 0x000000FA, 0xFFFFFF60, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFFFFFFE2, 0x000000FA, 0xFFFFFF60, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000002, SetPlayerSpeed, 0xF24A8680, 0x00000043, 0x00000004, PlayerMoveTo, 0xFFFFFFE2, 0xFFFFFF60, 0x00000000, 0x00000043, 0x00000003, InterpPlayerYaw, 0x0000005A, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000002B, 0x00000001, 0x00000008, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000140, 0x00000001, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFC, 0xF24A7E80, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFC, 0xFFFFFFE2, 0x000000FA, 0xFFFFFF56, 0x0000000F, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x0000005A, 0x00000043, 0x00000005, MakeLerp, 0x00000001, 0x0000005A, 0x0000003C, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000027, 0x00000002, 0xFE363C82, 0xFE363C80, 0x00000043, 0x00000003, InterpPlayerYaw, 0xFE363C82, 0x00000000, 0x00000043, 0x00000005, SetNpcRotation, 0xFFFFFFFC, 0x00000000, 0xFE363C82, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C82, 0xFE363C80, 0x00000043, 0x00000003, InterpPlayerYaw, 0xFE363C82, 0x00000000, 0x00000043, 0x00000005, SetNpcRotation, 0xFFFFFFFC, 0x00000000, 0xFE363C82, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000001, hos_01_UnsetCamera0MoveFlag1, 0x00000056, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000C, 0x00000002, 0xFE363C81, 0x000001AE, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000024, 0x00000002, 0xFE363C85, 0xFE363C84, 0x00000027, 0x00000002, 0xFE363C85, 0xFFFFFFF6, 0x00000043, 0x00000005, MakeLerp, 0xFE363C83, 0x000002BC, 0x0000005A, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C82, 0xFE363C80, 0xFE363C84, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFE363C82, 0xFE363C80, 0xFE363C85, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_04/A27D60.data.s b/ver/us/asm/data/world/area_hos/hos_04/A27D60.data.s deleted file mode 100644 index 0c0bd7e919..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_04/A27D60.data.s +++ /dev/null @@ -1,9 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240E90_A27D60 -.word 0xC40D4000, 0x00000000, 0x00000000, 0x42B40000, 0x42C80000, 0x42C80000, 0x00000000, 0x43870000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xC4C44000, 0x00000000, 0x00000000, 0x42B40000, 0xC4C44000, 0x00000000, 0x00000000, 0x42B40000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x802415F4, D_80240E90_A27D60, 0x00000005, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x00190020 - -dlabel D_80240F20_A27DF0 -.word 0x00000008, 0x00000001, 0x00000050, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000095, 0x00000002, 0x00000008, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000062, 0x00000000, 0x00000008, 0x00000016, 0x00000001, 0x00000003, 0x00000016, 0x00000001, 0x00000004, 0x00000044, 0x00000001, D_80240F20_A27DF0, 0x0000001C, 0x00000000, 0x0000000A, 0x00000002, 0xF8405D94, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000063, 0x00000001, 0x00000008, 0x00000012, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000060, 0x00000000, 0x00000008, 0x00000013, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x80000064, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_04/A27F20.data.s b/ver/us/asm/data/world/area_hos/hos_04/A27F20.data.s deleted file mode 100644 index 356097d38b..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_04/A27F20.data.s +++ /dev/null @@ -1,15 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80241050_A27F20 -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x802432F0, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802410AC_A27F7C -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000001, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x802432F8, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241108_A27FD8 -.word 0x00000047, 0x00000005, D_80241050_A27F20, 0x00080000, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_802410AC_A27F7C, 0x00080000, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241150_A28020 -.word 0x00000024, 0x00000002, 0xF9718935, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000001, 0x7FFFFE00, 0x0000000A, 0x00000002, 0xF8405D94, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFFFFFD8A, 0x00000000, 0x00000000, 0x00000043, 0x00000002, GetPartnerInUse, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFFFFFD6C, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000013, 0x00000000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFFFFFDCB, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFFFFFDCB, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x00000546, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24AB680, 0xF24A1680, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0xF24A3E80, 0xF248EA80, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0xF24BD880, 0xF24B4280, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24A8A80, 0xF24A5C80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A7B1A, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x0000001E, 0x00000024, 0x00000002, 0xFE363C80, D_80241108_A27FD8, 0x00000046, 0x00000001, EnterWalk, 0x00000008, 0x00000001, 0x00000014, 0x00000024, 0x00000002, 0xF8405D94, 0x00000001, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xF9718935, 0x00000001, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000057, 0x00000000, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80241108_A27FD8, 0x00000044, 0x00000001, EnterWalk, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000001, 0x7FFFFE00, 0x00000024, 0x00000002, 0xFE363C80, D_80241108_A27FD8, 0x00000044, 0x00000001, EnterWalk, 0x00000016, 0x00000001, 0x00000002, 0x00000044, 0x00000001, 0x802421E0, 0x00000016, 0x00000001, 0x00000003, 0x00000046, 0x00000001, 0x80241E48, 0x00000016, 0x00000001, 0x00000004, 0x00000046, 0x00000001, 0x80241B8C, 0x00000016, 0x00000001, 0x00000005, 0x00000043, 0x00000003, EnableGroup, 0x000000A6, 0x00000000, 0x00000044, 0x00000001, 0x802425C0, 0x00000016, 0x00000001, 0x00000006, 0x00000043, 0x00000003, EnableGroup, 0x000000A6, 0x00000000, 0x00000044, 0x00000001, 0x80242A64, 0x00000016, 0x00000001, 0x00000007, 0x00000043, 0x00000003, EnableGroup, 0x000000A6, 0x00000000, 0x00000044, 0x00000001, 0x80242E14, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x0000001D, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x802421C4, 0x00000057, 0x00000000, 0x00000044, 0x00000001, 0x80241790, 0x00000046, 0x00000001, 0x80240F58, 0x00000044, 0x00000001, D_80241150_A28020, 0x00000008, 0x00000001, 0x00000001, 0x00000044, 0x00000001, 0x80243294, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_04/A285C0.data.s b/ver/us/asm/data/world/area_hos/hos_04/A285C0.data.s deleted file mode 100644 index b78ef91d35..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_04/A285C0.data.s +++ /dev/null @@ -1,9 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802416F0_A285C0 -.word 0x00000000 - -dlabel D_802416F4_A285C4 -.word 0x0000004D, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C85, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C86, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C87, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C88, 0x00000001, 0x00000043, 0x00000001, hos_04_UpdateTexturePanSmooth, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, hos_04_UpdateTexturePanStepped, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0x00000064, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFFFB0, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFCE, 0x00000024, 0x00000002, 0xFE363C84, 0x00000078, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C86, 0x00000001, 0x00000024, 0x00000002, 0xFE363C87, 0x00000001, 0x00000024, 0x00000002, 0xFE363C88, 0x00000001, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_802416F4_A285C4, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFF830, 0x00000024, 0x00000002, 0xFE363C83, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C86, 0x00000001, 0x00000024, 0x00000002, 0xFE363C87, 0x00000001, 0x00000024, 0x00000002, 0xFE363C88, 0x00000001, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_802416F4_A285C4, 0x00000057, 0x00000000, 0x00000043, 0x00000003, EnableTexPanning, 0x00000009, 0x00000001, 0x00000043, 0x00000003, EnableTexPanning, 0x0000009A, 0x00000001, 0x00000043, 0x00000003, EnableTexPanning, 0x000000A2, 0x00000001, 0x00000043, 0x00000004, SetModelCustomGfx, 0x000000A2, 0x00000000, 0xFFFFFFFF, 0x00000043, 0x00000004, SetModelCustomGfx, 0x0000009A, 0x00000000, 0xFFFFFFFF, 0x00000043, 0x00000004, SetModelCustomGfx, 0x000000A0, 0x00000001, 0xFFFFFFFF, 0x00000043, 0x00000004, SetModelCustomGfx, 0x00000098, 0x00000001, 0xFFFFFFFF, 0x00000043, 0x00000004, SetCustomGfxBuilders, 0x00000000, func_80240000_A26ED0, 0x00000000, 0x00000043, 0x00000004, SetCustomGfxBuilders, 0x00000001, func_80240154_A27024, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_04/A28920.data.s b/ver/us/asm/data/world/area_hos/hos_04/A28920.data.s deleted file mode 100644 index c935064b53..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_04/A28920.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80241A50_A28920 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802405C0_A27490, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000044, 0x00000001, D_80241A50_A28920, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_04/A28990.data.s b/ver/us/asm/data/world/area_hos/hos_04/A28990.data.s deleted file mode 100644 index ff94a2992e..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_04/A28990.data.s +++ /dev/null @@ -1,42 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80241AC0_A28990 -.word 0xC4274000, 0x42C40000, 0xC2080000, 0xC4274000, 0x42880000, 0xC2080000, 0xC4210000, 0x41600000, 0xC1B80000, 0xC40D0000, 0x41000000, 0x42200000, 0xC3A20000, 0x43080000, 0x432F0000, 0xC2180000, 0x42EC0000, 0x00000000, 0x434D0000, 0x42DE0000, 0x00000000, 0x43988000, 0x42CA0000, 0x00000000, 0x00000000 - -dlabel D_80241B24_A289F4 -.word 0x00000000, 0x442F0000, 0xBF666666, 0x00000000, 0xBF800000, 0x00000000, 0x43FA0000, 0xBF800000, 0x00000000, 0xC18B3333, 0x00000000 - -dlabel D_80241B50_A28A20 -.word 0x00000000 - -dlabel D_80241B54_A28A24 -.word 0x44264000, 0xBF666666, 0x00000000, 0xBF800000, 0x00000000, 0x43FA0000, 0xBF800000, 0x00000000 - -dlabel D_80241B74_A28A44 -.word 0xC18B3333, 0x00000000 - -dlabel D_80241B7C_A28A4C -.word 0x442F0000 - -dlabel D_80241B80_A28A50 -.word 0x00000000 - -dlabel D_80241B84_A28A54 -.word 0x00000000 - -dlabel D_80241B88_A28A58 -.word 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, hos_04_SetCamXXVfov, 0x00000000, 0x0000004B, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x0000001E, 0x00000000, 0x00000043, 0x00000003, LoadSettings, 0x00000000, D_80241B50_A28A20, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000056, 0x00000000, 0x00000044, 0x00000001, D_80241C5C_A28B2C, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241C5C_A28B2C -.word 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x0020001A, 0x00000043, 0x00000003, SetNpcYaw, 0x00000000, 0x000000B4, 0x00000043, 0x00000001, func_802409B0_A27880, 0x00000008, 0x00000001, 0x0000000F, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00200000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000000, 0x000000B4, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x0020001A, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000043, 0x00000001, func_80240A84_A27954, 0x00000057, 0x00000000, 0x00000043, 0x00000005, LoadPath, 0x000000C8, D_80241AC0_A28990, 0x00000008, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000055, 0x00000043, 0x00000001, func_8024068C_A2755C, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000078, 0x00000043, 0x00000001, func_80240654_A27524, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, hos_04_SetCamXXVfov, 0x00000000, 0x0000004B, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x0000001E, 0x00000000, 0x00000043, 0x00000003, LoadSettings, 0x00000000, D_80241B24_A289F4, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000056, 0x00000000, 0x00000043, 0x00000001, func_802408F8_A277C8, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000012C, 0x00000043, 0x00000001, func_80240654_A27524, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241F40_A28E10 -.word 0x00000000, 0x001A0018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000, 0x00000000, 0x00140014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000, 0x00000000, 0x00160018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_80241FC4_A28E94 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241FD4_A28EA4 -.word 0x00000000, D_80241F40_A28E10, 0x00000000, 0xC47A0000, 0x00000000, 0x00000801, D_80241FC4_A28E94, 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, 0x00200001, 0x00200005, 0x00200008, 0x00200008, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, D_80241FD4_A28EA4, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_04/A290B0.data.s b/ver/us/asm/data/world/area_hos/hos_04/A290B0.data.s deleted file mode 100644 index dff6105531..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_04/A290B0.data.s +++ /dev/null @@ -1,9 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802421E0_A290B0 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, SetPlayerActionState, 0x0000000A, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x0000002D, 0x00000010, 0x00001000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFFFFFEE8, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFFFFFEE8, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetCamType, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF2531280, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0xF23FBA80, 0xF24B4280, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0xF241FA80, 0xF24B4280, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24A8280, 0xF24A2A80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x0000000A, 0x00000056, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x00000181, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x00000384, 0x0000002D, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateGroup, 0x000000AB, 0x00000000, 0xFE363C80, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x00000208, 0x00000043, 0x00000004, SetPlayerPos, 0x0000013B, 0xFE363C80, 0x00000005, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0x00000139, 0xFE363C80, 0x00000005, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000037, 0x00000043, 0x00000003, GotoMap, 0x80243330, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242474_A29344 -.word 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000024, 0x00000002, 0xFE363C85, 0x00000064, 0x00000003, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C84, 0x00000024, 0x00000002, 0xFE363C84, 0xFE363C85, 0x00000024, 0x00000002, 0xFE363C85, 0xFE363C83, 0x00000043, 0x00000005, MakeLerp, 0xFE363C83, 0xFE363C84, 0x0000001E, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000026, 0x00000002, 0xFE363C82, 0xFE363C80, 0x0000002E, 0x00000002, 0xFE363C82, 0xF24A7AE7, 0x0000002C, 0x00000002, 0xFE363C82, 0xFD050F8B, 0x00000043, 0x00000005, TranslateGroup, 0x000000AB, 0xFD050F8A, 0xFE363C82, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0x000000AB, 0xFD050F8C, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000004, 0x00000001, 0x0000000A, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, SetPlayerActionState, 0x0000000A, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000010, 0x7FFFFE00, 0x00000043, 0x00000003, InterpPlayerYaw, 0x0000005A, 0x00000000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFFFFFE0C, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFFFFEC78, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24FF280, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0xFFFFEC78, 0x00000032, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0x00001388, 0x00000032, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24ABE80, 0xF24A5E80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000024, 0x00000002, 0xFD050F8D, 0x00000000, 0x00000024, 0x00000002, 0xFD050F8A, 0xFFFFEC78, 0x00000024, 0x00000002, 0xFD050F8B, 0xFFFFFDF3, 0x00000024, 0x00000002, 0xFD050F8C, 0x000000B4, 0x00000044, 0x00000001, D_80242474_A29344, 0x00000008, 0x00000001, 0x00000001, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C87, 0x0000002D, 0x00000005, 0x00000001, 0x00000014, 0x00000027, 0x00000002, 0xFD050F8A, 0xFE363C87, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C87, 0x00000032, 0x00000005, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFD050F8A, 0xFE363C87, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, GetModelCenter, 0x000000A7, 0x00000027, 0x00000002, 0xFE363C80, 0x00000019, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000027, 0x00000002, 0xFE363C82, 0x00000002, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, GetCamPosition, 0x00000000, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x0000000D, 0x00000002, 0xFE363C80, 0xFE363C83, 0x0000000D, 0x00000002, 0xFE363C87, 0x0000002D, 0x00000028, 0x00000002, 0xFE363C87, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x0000000D, 0x00000002, 0xFD050F8A, 0x000007D0, 0x00000024, 0x00000002, 0xFD050F8D, 0x00000001, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xFFFFEC78, 0x00000005, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x0000002D, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0x00000000, 0x00000000, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000003, 0x00000001, 0x00000014, 0x0000000A, 0x00000002, 0xFD050F8D, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000014, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0x0000005D, 0x00000043, 0x00000003, GotoMap, 0x80243340, 0x00000003, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000005, 0x00000001, 0x0000000A, 0x00000029, 0x00000002, 0xFE363C80, 0x00000002, 0x00000027, 0x00000002, 0xFD050F8A, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, GotoMap, 0x80243338, 0x00000004, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, SetPlayerActionState, 0x0000000A, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000010, 0x7FFFFE00, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFFFFFE0C, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFFFFEC78, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24FF280, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0xFFFFEC78, 0x00000032, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0x00001388, 0x00000032, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24ABE80, 0xF24A5E80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000024, 0x00000002, 0xFD050F8D, 0x00000000, 0x00000024, 0x00000002, 0xFD050F8A, 0xFFFFEDBF, 0x00000024, 0x00000002, 0xFD050F8B, 0xFFFFFDF3, 0x00000024, 0x00000002, 0xFD050F8C, 0x000000B4, 0x00000044, 0x00000001, D_80242474_A29344, 0x00000008, 0x00000001, 0x00000001, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFD050F8A, 0x0000002D, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, GetModelCenter, 0x000000A7, 0x00000027, 0x00000002, 0xFE363C80, 0x00000019, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000027, 0x00000002, 0xFE363C82, 0x00000002, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xFFFFEC78, 0x00000005, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x0000002D, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0x00000000, 0x00000000, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x0000000D, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFD050F8D, 0x00000001, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000003, 0x00000001, 0x00000014, 0x0000000A, 0x00000002, 0xFD050F8D, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000014, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000005, 0x00000001, 0x0000000A, 0x00000029, 0x00000002, 0xFE363C80, 0x00000002, 0x00000027, 0x00000002, 0xFD050F8A, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, GotoMap, 0x80243348, 0x00000003, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, SetPlayerActionState, 0x0000000A, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000010, 0x7FFFFE00, 0x00000043, 0x00000003, SetNpcYaw, 0xFFFFFFFC, 0x0000005A, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFFFFFE0C, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00001388, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24FF280, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0xFFFFEC78, 0x00000032, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0x00001388, 0x00000032, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24ABE80, 0xF24A5E80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000024, 0x00000002, 0xFD050F8D, 0x00000000, 0x00000024, 0x00000002, 0xFD050F8A, 0x00001388, 0x00000024, 0x00000002, 0xFD050F8B, 0xFFFFFDF3, 0x00000024, 0x00000002, 0xFD050F8C, 0x00000000, 0x00000044, 0x00000001, D_80242474_A29344, 0x00000008, 0x00000001, 0x00000002, 0x00000056, 0x00000000, 0x00000043, 0x00000003, InterpPlayerYaw, 0x000000E1, 0x00000000, 0x00000024, 0x00000002, 0xFE363C87, 0xFFFFFFCE, 0x00000005, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFD050F8A, 0xFE363C87, 0x00000043, 0x00000002, GetModelCenter, 0x000000A7, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFE7, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFFB, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, GetCamPosition, 0x00000000, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x0000000C, 0x00000002, 0xFE363C80, 0xFE363C83, 0x0000000C, 0x00000002, 0xFE363C87, 0xFFFFFFD3, 0x00000027, 0x00000002, 0xFE363C87, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00001388, 0x00000005, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFD3, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0x00000000, 0x00000000, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x0000000C, 0x00000002, 0xFE363C80, 0xFFFFFC18, 0x00000024, 0x00000002, 0xFD050F8D, 0x00000001, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000003, 0x00000001, 0x00000014, 0x0000000A, 0x00000002, 0xFD050F8D, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000014, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xFFFFFFFE, 0x00000005, 0x00000001, 0x0000000A, 0x00000029, 0x00000002, 0xFE363C80, 0x00000002, 0x00000027, 0x00000002, 0xFD050F8A, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, GotoMap, 0x80243350, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_04/A2A120.data.s b/ver/us/asm/data/world/area_hos/hos_04/A2A120.data.s deleted file mode 100644 index 993df90b61..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_04/A2A120.data.s +++ /dev/null @@ -1,24 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80243250_A2A120 -.word 0x00000000 - -dlabel D_80243254_A2A124 -.float 0.0 - -dlabel D_80243258_A2A128 -.word 0x00000000 - -dlabel D_8024325C_A2A12C -.word 0xFFFFFFFF, 0x00000059, 0x0000001B, 0x0000002C, 0x0000001C, 0x0000002C, 0x0000001D, 0x0000002C, 0x00000000, 0x00000000 - -dlabel D_80243284_A2A154 -.word D_8024325C_A2A12C, D_8024325C_A2A12C, D_8024325C_A2A12C, D_8024325C_A2A12C - -dlabel D_80243294_A2A164 -.word 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000004, 0x00000043, 0x00000002, func_80240E40_A27D10, func_80240E6C_A27D3C, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802432E4_A2A1B4 -.word 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_05/A2FAA0.data.s b/ver/us/asm/data/world/area_hos/hos_05/A2FAA0.data.s deleted file mode 100644 index b09873bd15..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_05/A2FAA0.data.s +++ /dev/null @@ -1,15 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80245860_A2FAA0 -.word 0x00000000, 0x42AA0000, 0x43C30000, 0x00000000, 0x00000000, 0x442F0000, 0x00000000, 0x43610000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x42AA0000, 0x43C30000, 0x00000000, 0x00000000, 0x42AA0000, 0x43C30000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x43B10000, 0x00000000, 0x43930000, 0x42EA0000 - -dlabel hos_05_settings -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80245B34_A2FD74, D_80245860_A2FAA0, 0x0000000B, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x00190021 - -dlabel D_80245950_A2FB90 -.word 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000095, 0x00000000, 0x00000008, 0x00000008, 0x00000001, 0x000007EE, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000095, 0x00000001, 0x00000008, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802459B0_A2FBF0 -.word 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000062, 0x00000001, 0x00000008, 0x00000043, 0x00000002, PlaySound, 0x80000065, 0x00000016, 0x00000001, 0x00000003, 0x00000044, 0x00000001, D_80245950_A2FB90, 0x00000016, 0x00000001, 0x00000004, 0x0000001C, 0x00000000, 0x0000000A, 0x00000002, 0xF9718935, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000063, 0x00000000, 0x00000008, 0x00000013, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x80000065, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_05/A2FCD0.data.s b/ver/us/asm/data/world/area_hos/hos_05/A2FCD0.data.s deleted file mode 100644 index 05a2c288c2..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_05/A2FCD0.data.s +++ /dev/null @@ -1,24 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80245A90_A2FCD0 -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x8024F1C0, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245AEC_A2FD2C -.word 0x00000047, 0x00000005, D_80245A90_A2FCD0, 0x00080000, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_8024E828_A38A68, 0x00000080, 0x0000000D, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245B34_A2FD74 -.word 0x00000024, 0x00000002, 0xF5DE0329, 0x0000001D, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000003, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, D_802494C0_A33600, 0x00000012, 0x00000000, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, D_802494E4_A33624, 0x00000013, 0x00000000, 0x00000044, 0x00000001, D_80245E0C_A3004C, 0x00000046, 0x00000001, D_802459B0_A2FBF0, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000001, 0x7FFFFE00, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8480, 0x00000024, 0x00000002, 0xFE363C80, D_80245AEC_A2FD2C, 0x00000044, 0x00000001, EnterWalk, 0x00000016, 0x00000001, 0x00000001, 0x00000056, 0x00000000, 0x00000046, 0x00000001, D_8024ED24_A38F64, 0x00000044, 0x00000001, D_80245AEC_A2FD2C, 0x00000057, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000046, 0x00000001, 0x8024ACC0, 0x00000023, 0x00000000, 0x00000044, 0x00000001, D_8024DBDC_A37E1C, 0x00000043, 0x00000003, EnableGroup, 0x00000090, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000092, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000021, 0x00000002, 0x00000000, 0x00000001, 0x00000044, 0x00000001, D_8024E00C_A3824C, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245D70_A2FFB0 -.word 0x0000004D, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C85, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C86, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C87, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C88, 0x00000001, 0x00000043, 0x00000001, hos_05_UpdateTexturePanSmooth, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, hos_05_UpdateTexturePanStepped, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245E0C_A3004C -.word 0x00000044, 0x00000001, D_8024DF28_A38168, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0x00000064, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFFFB0, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFCE, 0x00000024, 0x00000002, 0xFE363C84, 0x00000078, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C86, 0x00000001, 0x00000024, 0x00000002, 0xFE363C87, 0x00000001, 0x00000024, 0x00000002, 0xFE363C88, 0x00000001, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_80245D70_A2FFB0, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x00000019, 0x00000001, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x0000000C, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFFB0, 0x00000024, 0x00000002, 0xFE363C82, 0x0000008C, 0x00000024, 0x00000002, 0xFE363C83, 0x00000050, 0x00000024, 0x00000002, 0xFE363C84, 0xFFFFFF9C, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C86, 0x00000001, 0x00000024, 0x00000002, 0xFE363C87, 0x00000001, 0x00000024, 0x00000002, 0xFE363C88, 0x00000001, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_80245D70_A2FFB0, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x0000000F, 0x0000000C, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246028_A30268 -.word 0x00000043, 0x00000001, func_80240690_A2A8D0, 0x00000003, 0x00000001, 0x00000000, 0x0000002C, 0x00000002, 0xFE363C8B, 0xFE363C8D, 0x0000002C, 0x00000002, 0xFE363C82, 0xFE363C8A, 0x0000002C, 0x00000002, 0xFE363C83, 0xFE363C8B, 0x0000002C, 0x00000002, 0xFE363C84, 0xFE363C8C, 0x00000043, 0x00000005, TranslateModel, 0xFE363C80, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x00000003, func_80240634_A2A874, 0x00000006, 0xFE363C82, 0x00000029, 0x00000002, 0xFE363C86, 0xFE363C86, 0x00000043, 0x00000003, func_80240634_A2A874, 0x00000007, 0xFE363C84, 0x00000029, 0x00000002, 0xFE363C87, 0xFE363C87, 0x00000027, 0x00000002, 0xFE363C86, 0xFE363C87, 0x0000000C, 0x00000002, 0xFE363C86, 0x00002710, 0x00000043, 0x00000003, func_80240634_A2A874, 0x00000005, 0xFE363C83, 0x0000000C, 0x00000002, 0xFE363C85, 0x00000088, 0x00000043, 0x00000003, func_80240634_A2A874, 0x00000005, 0xFE363C8B, 0x0000000C, 0x00000002, 0xFE363C85, 0x00000000, 0x0000002E, 0x00000002, 0xFE363C8B, 0xF24A7680, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, func_80240634_A2A874, 0x00000005, 0xFE363C82, 0x00000043, 0x00000003, func_80240634_A2A874, 0x00000006, 0xFE363C83, 0x00000043, 0x00000003, func_80240634_A2A874, 0x00000007, 0xFE363C84, 0x0000000C, 0x00000002, 0xFE363C86, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000D, 0x00000002, 0xFE363C86, 0x0000012C, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xFE363C85, 0xFFFFFED4, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000D, 0x00000002, 0xFE363C85, 0x0000012C, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xFE363C87, 0xFFFFFED4, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000D, 0x00000002, 0xFE363C87, 0x00000258, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246298_A304D8 -.word 0x00000024, 0x00000002, 0xFE363C8F, 0xFE363C82, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x00000003, RandInt, 0x00000028, 0xFE363C82, 0x0000002C, 0x00000002, 0xFE363C82, 0xF24A2A80, 0x0000002C, 0x00000002, 0xFE363C83, 0xF24A6680, 0x00000043, 0x00000003, RandInt, 0x00000028, 0xFE363C84, 0x0000002C, 0x00000002, 0xFE363C84, 0xF24A2A80, 0x00000043, 0x00000003, RandInt, 0x0000001E, 0xFE363C85, 0x0000002C, 0x00000002, 0xFE363C85, 0xF24AF280, 0x0000002E, 0x00000002, 0xFE363C85, 0xF24A7A8B, 0x00000003, 0x00000001, 0x00000000, 0x0000002C, 0x00000002, 0xFE363C82, 0x00000000, 0x0000002C, 0x00000002, 0xFE363C83, 0x00000000, 0x0000002C, 0x00000002, 0xFE363C84, 0x00000000, 0x0000002E, 0x00000002, 0xFE363C85, 0xF24A7E1A, 0x00000043, 0x00000005, TranslateModel, 0xFE363C80, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x00000005, ScaleModel, 0xFE363C80, 0xFE363C85, 0xFE363C85, 0xFE363C85, 0x00000026, 0x00000002, 0xFE363C86, 0xFE363C85, 0x0000002E, 0x00000002, 0xFE363C86, 0xF24AA280, 0x00000043, 0x00000003, func_80240634_A2A874, 0x00000006, 0xFE363C86, 0x0000000C, 0x00000002, 0xFE363C86, 0x00000002, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C83, 0x00000024, 0x00000002, 0xFE363C82, 0x00000005, 0x00000005, 0x00000001, 0xFE363C82, 0x00000043, 0x00000003, RandInt, 0x00000168, 0xFE363C81, 0x00000045, 0x00000002, D_80246028_A30268, 0xFE363C83, 0x0000000B, 0x00000002, 0xFE363C83, 0x00000000, 0x00000043, 0x00000002, hos_05_AwaitScriptComplete, 0xFE363C83, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x00000168, 0xFE363C81, 0x00000045, 0x00000002, D_80246298_A304D8, 0xFE363C83, 0x0000000B, 0x00000002, 0xFE363C83, 0x00000000, 0x00000043, 0x00000002, hos_05_AwaitScriptComplete, 0xFE363C83, 0x00000013, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C83, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x00000168, 0xFE363C81, 0x00000045, 0x00000002, D_80246298_A304D8, 0xFE363C83, 0x0000000B, 0x00000002, 0xFE363C83, 0x00000000, 0x00000043, 0x00000002, hos_05_AwaitScriptComplete, 0xFE363C83, 0x00000013, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_05/A30810.data.s b/ver/us/asm/data/world/area_hos/hos_05/A30810.data.s deleted file mode 100644 index 5c2760173f..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_05/A30810.data.s +++ /dev/null @@ -1,303 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802465D0_A30810 -.word 0x00000000, 0x001A0018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000, 0x00000000, 0x00140014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000, 0x00000000, 0x00160018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_80246654_A30894 -.word 0x00000000, 0x004B0048, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_80246680_A308C0 -.word 0x00000000, 0x00220018, 0x00000000, 0x00000000, 0x00000000, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x001A0000 - -dlabel D_802466AC_A308EC -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802466BC_A308FC -.word 0x00000000, 0x00180018, D_802466AC_A308EC, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_802466E8_A30928 -.word 0x00000043, 0x00000004, SetNpcVar, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x0000000F, 0x00000014, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000024, 0x00000002, 0xFE363C85, 0xFE363C83, 0x00000027, 0x00000002, 0xFE363C85, 0xFE363C80, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C82, 0xFE363C80, 0xFE363C84, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFE363C82, 0xFE363C85, 0xFE363C84, 0x00000043, 0x00000005, GetNpcPos, 0x00000001, 0xFE363C82, 0xFE363C80, 0xFE363C84, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0xFE363C82, 0xFE363C85, 0xFE363C84, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C82, 0xFE363C80, 0xFE363C84, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0xFE363C82, 0xFE363C85, 0xFE363C84, 0x00000043, 0x00000005, GetNpcPos, 0x00000003, 0xFE363C82, 0xFE363C80, 0xFE363C84, 0x00000043, 0x00000005, SetNpcPos, 0x00000003, 0xFE363C82, 0xFE363C85, 0xFE363C84, 0x00000043, 0x00000005, GetNpcPos, 0x00000004, 0xFE363C82, 0xFE363C80, 0xFE363C84, 0x00000043, 0x00000005, SetNpcPos, 0x00000004, 0xFE363C82, 0xFE363C85, 0xFE363C84, 0x00000043, 0x00000005, GetNpcPos, 0x00000005, 0xFE363C82, 0xFE363C80, 0xFE363C84, 0x00000043, 0x00000005, SetNpcPos, 0x00000005, 0xFE363C82, 0xFE363C85, 0xFE363C84, 0x00000043, 0x00000005, GetNpcPos, 0x00000006, 0xFE363C82, 0xFE363C80, 0xFE363C84, 0x00000043, 0x00000005, SetNpcPos, 0x00000006, 0xFE363C82, 0xFE363C85, 0xFE363C84, 0x00000003, 0x00000001, 0x0000000A, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000004, GetNpcVar, 0x00000000, 0x00000000, 0xFE363C86, 0x0000000B, 0x00000002, 0xFE363C86, 0x00000000, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x0000000F, 0x00000000, 0x00000014, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000024, 0x00000002, 0xFE363C85, 0xFE363C83, 0x00000027, 0x00000002, 0xFE363C85, 0xFE363C80, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C82, 0xFE363C80, 0xFE363C84, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFE363C82, 0xFE363C85, 0xFE363C84, 0x00000043, 0x00000005, GetNpcPos, 0x00000001, 0xFE363C82, 0xFE363C80, 0xFE363C84, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0xFE363C82, 0xFE363C85, 0xFE363C84, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C82, 0xFE363C80, 0xFE363C84, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0xFE363C82, 0xFE363C85, 0xFE363C84, 0x00000043, 0x00000005, GetNpcPos, 0x00000003, 0xFE363C82, 0xFE363C80, 0xFE363C84, 0x00000043, 0x00000005, SetNpcPos, 0x00000003, 0xFE363C82, 0xFE363C85, 0xFE363C84, 0x00000043, 0x00000005, GetNpcPos, 0x00000004, 0xFE363C82, 0xFE363C80, 0xFE363C84, 0x00000043, 0x00000005, SetNpcPos, 0x00000004, 0xFE363C82, 0xFE363C85, 0xFE363C84, 0x00000043, 0x00000005, GetNpcPos, 0x00000005, 0xFE363C82, 0xFE363C80, 0xFE363C84, 0x00000043, 0x00000005, SetNpcPos, 0x00000005, 0xFE363C82, 0xFE363C85, 0xFE363C84, 0x00000043, 0x00000005, GetNpcPos, 0x00000006, 0xFE363C82, 0xFE363C80, 0xFE363C84, 0x00000043, 0x00000005, SetNpcPos, 0x00000006, 0xFE363C82, 0xFE363C85, 0xFE363C84, 0x00000003, 0x00000001, 0x0000000B, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000004, GetNpcVar, 0x00000000, 0x00000000, 0xFE363C86, 0x0000000B, 0x00000002, 0xFE363C86, 0x00000000, 0x00000004, 0x00000001, 0x0000000B, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246BF0_A30E30 -.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000C, 0x00000002, 0xFE363C82, 0x00000055, 0x00000043, 0x00000002, GetPartnerInUse, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000001, InterruptUsePartner, 0x00000008, 0x00000001, 0x0000000F, 0x00000013, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, func_802D2C14, 0x00000001, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000004, PlayerMoveTo, 0x00000000, 0x00000050, 0x0000000A, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0x00000088, 0x00000050, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x00000088, 0x00000050, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF2527280, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0x00000000, 0xFFFFFFCE, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24AA280, 0xF24A7080, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8080, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x000000DC, 0xFFFFFEED, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24A6880, 0xF24A6E80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00120002, 0x00120001, 0x00000200, 0x000A0069, 0x00000043, 0x00000002, func_802D2C14, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000001, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x00000088, 0x00000050, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF253DA80, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0x00000000, 0xFFFFFFCE, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24AA280, 0xF24A7080, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8A80, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x00000168, 0x00000019, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetNpcRotation, 0x00000000, 0x00000000, 0xFE363C80, 0x00000000, 0x00000043, 0x00000005, SetNpcRotation, 0x00000001, 0x00000000, 0xFE363C80, 0x00000000, 0x00000043, 0x00000005, SetNpcRotation, 0x00000002, 0x00000000, 0xFE363C80, 0x00000000, 0x00000043, 0x00000005, SetNpcRotation, 0x00000003, 0x00000000, 0xFE363C80, 0x00000000, 0x00000043, 0x00000005, SetNpcRotation, 0x00000004, 0x00000000, 0xFE363C80, 0x00000000, 0x00000043, 0x00000005, SetNpcRotation, 0x00000005, 0x00000000, 0xFE363C80, 0x00000000, 0x00000043, 0x00000005, SetNpcRotation, 0x00000006, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000056, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000000, 0x00400000, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00120003, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000000, 0xF24A874D, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, NpcJump0, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000005, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00120001, 0x00000027, 0x00000002, 0xFE363C87, 0x00000014, 0x00000043, 0x00000006, PlaySoundAt, 0xB000001F, 0x00000000, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000000, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000001, 0x00400000, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x00130003, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000001, 0xF24A874D, 0x00000043, 0x00000005, GetNpcPos, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, NpcJump0, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000005, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x00130001, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000002, 0x00400000, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00140003, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000002, 0xF24A874D, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, NpcJump0, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000005, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00140001, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000003, 0x00400000, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00150003, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000003, 0xF24A874D, 0x00000043, 0x00000005, GetNpcPos, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, NpcJump0, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000005, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00150001, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000004, 0x00400000, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000004, 0x00160003, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000004, 0xF24A874D, 0x00000043, 0x00000005, GetNpcPos, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, NpcJump0, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000005, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000004, 0x00160001, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000005, 0x00400000, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00170004, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000005, 0xF24A874D, 0x00000043, 0x00000005, GetNpcPos, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, NpcJump0, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000005, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00170001, 0x00000057, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000006, 0x00400000, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000006, 0x00180003, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000006, 0xF24A874D, 0x00000043, 0x00000005, GetNpcPos, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, NpcJump0, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000005, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000006, 0x00180001, 0x00000056, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000033, 0x00000002, 0x00000000, 0x0000009A, 0x00000055, 0xF24A85B4, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000212D, 0x00000008, 0x00000001, 0x00000073, 0x00000043, 0x00000003, PlaySoundAtPlayer, 0x00000188, 0x00000000, 0x00000027, 0x00000002, 0xFE363C87, 0x00000014, 0x00000043, 0x0000000F, PlayEffect, 0x00000052, 0x00000004, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xF24A7BB4, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000006, PlaySoundAt, 0xB000001F, 0x00000000, 0x0000000A, 0x0000009A, 0x00000058, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000000, 0x0000000A, 0x0000009A, 0x00000058, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000006, PlaySoundAt, 0xB000001F, 0x00000000, 0x0000000A, 0x0000009A, 0x00000058, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000000, 0x0000000A, 0x0000009A, 0x00000058, 0x0000000F, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000006, PlaySoundAt, 0xB000001F, 0x00000000, 0xFFFFFFF6, 0x0000009A, 0x00000058, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000000, 0xFFFFFFF6, 0x0000009A, 0x00000058, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000006, PlaySoundAt, 0xB000001F, 0x00000000, 0x0000000A, 0x0000009A, 0x00000058, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000000, 0x0000000A, 0x0000009A, 0x00000058, 0x00000019, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0001001F, 0x00000005, 0x00000001, 0x00000003, 0x00000043, 0x00000006, PlaySoundAt, 0xB000001F, 0x00000000, 0x00000000, 0x0000009A, 0x00000058, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000000, 0x00000000, 0x0000009A, 0x00000058, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000006, PlaySoundAt, 0xB000001F, 0x00000000, 0xFFFFFFF6, 0x0000009A, 0x00000058, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000000, 0xFFFFFFF6, 0x0000009A, 0x00000058, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000006, PlaySoundAt, 0xB000001F, 0x00000000, 0x0000000A, 0x0000009A, 0x00000058, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000000, 0x0000000A, 0x0000009A, 0x00000058, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000006, 0x00000006, 0x00000000, 0x00000043, 0x00000001, func_80240830_A2AA70, 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D0198, 0x000000A0, 0x00000028, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x000000DC, 0xFFFFFEED, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24A6880, 0xF24A6E80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00120002, 0x00120001, 0x00000200, 0x000A006A, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x00000088, 0x00000050, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF2527280, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0x00000000, 0xFFFFFFCE, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24A9A80, 0xF24A5AE7, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8A80, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x0000001E, 0x00000024, 0x00000002, 0xF5DE0180, 0x0000005C, 0x00000046, 0x00000001, D_8024E148_A38348, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x000000DC, 0xFFFFFEED, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24A6880, 0xF24A6E80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00120002, 0x00120001, 0x00000200, 0x000A006B, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x00130007, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00150005, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00170007, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000009, 0x7FFFFE00, 0x00000043, 0x00000003, SetZoneEnabled, 0x00000004, 0x00000000, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8480, 0x00000043, 0x00000003, EnableModel, 0x00000071, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000079, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80247D54_A31F94 -.word 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000021, 0x00000002, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x00130007, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00150005, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00170007, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000016, 0x00000001, 0x0000005B, 0x00000044, 0x00000001, D_802466E8_A30928, 0x00000043, 0x00000002, GetSelfNpcID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80246BF0_A30E30, 0x00000013, 0x00000000, 0x0000001B, 0x00000001, 0x0000005C, 0x00000044, 0x00000001, D_802466E8_A30928, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000023, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80247E6C_A320AC -.word 0x00120001, 0x00120004, 0x00120002, 0x00120005, 0x00120006, 0x00120007, 0xFFFFFFFF - -dlabel D_80247E88_A320C8 -.word 0x00130001, 0x00130008, 0x00130009, 0x0013000A, 0x00130007, 0x0013000B, 0xFFFFFFFF - -dlabel D_80247EA4_A320E4 -.word 0x00140001, 0x00140009, 0x00140008, 0x00140007, 0x00140004, 0x00140006, 0xFFFFFFFF - -dlabel D_80247EC0_A32100 -.word 0x00150001, 0x00150007, 0x00150006, 0x00150004, 0x00150005, 0xFFFFFFFF - -dlabel D_80247ED8_A32118 -.word 0x00160000, 0x00160001, 0x00160005, 0x00160006, 0x00160004, 0x00160007, 0xFFFFFFFF - -dlabel D_80247EF4_A32134 -.word 0x00170001, 0x00170006, 0x00170008, 0x00170005, 0x00170007, 0xFFFFFFFF - -dlabel D_80247F0C_A3214C -.word 0x00180001, 0x00180008, 0x0018000A, 0x00180007, 0x00180009, 0xFFFFFFFF - -dlabel D_80247F24_A32164 -.word 0x00000001, D_802465D0_A30810, 0x435C0000, 0x435C0000, 0xC32A0000, 0x00000A01, D_80247D54_A31F94, 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, D_80247E88_A320C8, 0x00000000, 0x00000002, D_802465D0_A30810, 0xC3898000, 0x435C0000, 0x42700000, 0x00000A01, D_80247D54_A31F94, 0x00000000, 0x00000000, 0x0000005A, 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, D_80247EA4_A320E4, 0x00000000, 0x00000003, D_802465D0_A30810, 0x42FA0000, 0x435C0000, 0x437A0000, 0x00000A01, D_80247D54_A31F94, 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, D_80247EC0_A32100, 0x00000000, 0x00000004, D_802465D0_A30810, 0xC2FA0000, 0x435C0000, 0x437A0000, 0x00000A01, D_80247D54_A31F94, 0x00000000, 0x00000000, 0x0000005A, 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, D_80247ED8_A32118, 0x00000000, 0x00000005, D_802465D0_A30810, 0x43898000, 0x435C0000, 0x42700000, 0x00000A01, D_80247D54_A31F94, 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, D_80247EF4_A32134, 0x00000000, 0x00000006, D_802465D0_A30810, 0xC35C0000, 0x435C0000, 0xC32A0000, 0x00000A01, D_80247D54_A31F94, 0x00000000, 0x00000000, 0x0000005A, 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, D_80247F0C_A3214C, 0x00000000, 0x00000000, D_802465D0_A30810, 0x00000000, 0x435C0000, 0xC3898000, 0x00000A01, D_80247D54_A31F94, 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, D_80247E6C_A320AC, 0x00000000 - -dlabel D_80248CB4_A32EF4 -.word 0x00800017, 0x00800018, 0x0080001A, 0x0080001E, 0x0080001F, 0x0080001C, 0x0080001D, 0x00800019, 0x0080001B, 0x00800021, 0xFFFFFFFF - -dlabel D_80248CE0_A32F20 -.word 0x00600009, 0x0060000B, 0x0060000D, 0x0060000E, 0x00600011, 0x00600012, 0x00600017, 0xFFFFFFFF - -dlabel D_80248D00_A32F40 -.word 0x00000007, D_80246654_A30894, 0x00000000, 0xC47A0000, 0x00000000, 0x00000A01, 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, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00000000, 0x00000000, D_80248CB4_A32EF4, 0x00000000, 0x00000008, D_80246654_A30894, 0x00000000, 0xC47A0000, 0x00000000, 0x00000A01, 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, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00000000, 0x00000000, D_80248CB4_A32EF4, 0x00000000, 0x00000009, D_80246680_A308C0, 0x00000000, 0xC47A0000, 0x00000000, 0x00000A01, 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, 0x00600001, 0x00600002, 0x00600003, 0x00600003, 0x00600001, 0x00600001, 0x00600000, 0x00600000, 0x00600003, 0x00600003, 0x00600003, 0x00600003, 0x00600003, 0x00600003, 0x00600003, 0x00600003, 0x00000000, 0x00000000, D_80248CE0_A32F20, 0x00000000, 0x0000000A, D_802466BC_A308FC, 0x00000000, 0x432E0000, 0x00000000, 0x00000A01, 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, 0x00D30000, 0x00D30000, 0x00D30000, 0x00D30000, 0x00D30000, 0x00D30000, 0x00D30000, 0x00D30000, 0x00D30000, 0x00D30000, 0x00D30000, 0x00D30000, 0x00D30000, 0x00D30000, 0x00D30000, 0x00D30000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802494C0_A33600 -.word 0x00000004, D_80248D00_A32F40, 0x00000000, 0x00000007, D_80247F24_A32164, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802494E4_A33624 -.word 0x00000007, D_80247F24_A32164, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000064, 0x00000063, 0x00000062, 0x00000060, 0x0000005E, 0x0000005C, 0x00000059, 0x00000057, 0x00000054, 0x00000051, 0x0000004F, 0x0000004E, 0x0000004D, 0x0000004D, 0x0000004C, 0x0000004C, 0x0000004C, 0x0000004C, 0x0000004D, 0x0000004D, 0x0000004E, 0x0000004E, 0x0000004F, 0x0000004F, 0x00000050, 0x00000050, 0x00000051, 0x00000051, 0x00000052, 0x00000052, 0x00000053, 0x00000053, 0x00000054, 0x00000054, 0x00000055, 0x00000055, 0x00000056, 0x00000056, 0x00000057, 0x00000057, 0x00000058, 0x00000058, 0x00000059, 0x00000059, 0x0000005A, 0x0000005B, 0x0000005C, 0x0000005D, 0x0000005E, 0x0000005F, 0x00000060, 0x00000061, 0x00000062, 0x00000063, 0x00000064 - -dlabel D_802495DC_A3381C -.word 0x00000000 - -dlabel D_802495E0_A33820 -.word 0x00000000, 0x00000000, 0x43026666, 0x41466666, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0xBF800000, 0xC3FA0000, 0xC1866666, 0x00000000 - -dlabel D_80249610_A33850 -.word 0x00000000, 0x43026666, 0x41466666, 0x00000000, 0xBF800000, 0x00000000, 0xC3D881A0, 0xBF800000, 0xC37A0000, 0xC1866666, 0x00000000 - -dlabel D_8024963C_A3387C -.word 0x00000000, 0x43C80000, 0x402CCCCD, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0xBF800000, 0xC3FA0000, 0xC0ECCCCD, 0x00000000, 0x00000000, 0x43893333, 0xC114CCCD, 0x00000000, 0xBF800000, 0x00000000, 0x42E4999A, 0xBF800000, 0x43FA0000, 0x3F333333, 0x00000000, 0x00000000, 0x43893333, 0xC114CCCD, 0x00000000, 0xBF800000, 0x00000000, 0x42E4999A, 0xBF800000, 0x43FA0000, 0x3F333333, 0x00000000 - -dlabel D_802496C0_A33900 -.word 0x00000000, 0x43734CCD, 0x41800000, 0x00000000, 0xBF800000, 0x00000000, 0x42606666, 0xBF800000, 0xBF8CCCCD, 0xC0400000, 0x00000000 - -dlabel D_802496EC_A3392C -.word 0x00000000, 0x43408000, 0x41466666, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0xBF800000, 0x43FA0000, 0xC12B3333, 0x00000000 - -dlabel D_80249718_A33958 -.word 0x00000000, 0x43E98000, 0x41A80000, 0x00000000, 0xBF800000, 0x00000000, 0x428E999A, 0xBF800000, 0x431A4CCD, 0xC0400000, 0x00000000 - -dlabel D_80249744_A33984 -.word 0x00000000, 0x42F33333, 0x00000000, 0x00000000, 0xBF800000, 0x00000000, 0x41C33333, 0xBF800000, 0x431A4CCD, 0x00000000, 0x00000000 - -dlabel D_80249770_A339B0 -.word 0x00000000, 0x43ED599A, 0x00000000, 0x00000000, 0xBF800000, 0x00000000, 0x41C33333, 0xBF800000, 0x431A4CCD, 0x00000000, 0x00000000 - -dlabel D_8024979C_A339DC -.word 0x00000000, 0x4361B333, 0x411B3333, 0x00000000, 0xBF800000, 0x00000000, 0x40DCCCCD, 0xBF800000, 0x4328CCCD, 0xC0400000, 0x00000000 - -dlabel D_802497C8_A33A08 -.word 0x00000000, 0x43020000, 0x411CCCCD, 0x00000000, 0xBF800000, 0x00000000, 0x42200000, 0xBF800000, 0x4328CCCD, 0xC114CCCD, 0x00000000 - -dlabel D_802497F4_A33A34 -.word 0x00000000, 0x43870000, 0x411CCCCD, 0x00000000, 0xBF800000, 0x00000000, 0x42200000, 0xBF800000, 0x4328CCCD, 0xC114CCCD, 0x00000000 - -dlabel D_80249820_A33A60 -.word 0x00000000, 0x4376199A, 0xBFA66666, 0x00000000, 0xBF800000, 0x00000000, 0x43FA0000, 0xBF800000, 0x43FA0000, 0x3F000000, 0x00000000, 0x00000000, 0x43340000, 0xBFA66666, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0xBF800000, 0xC3FA0000, 0x3F000000, 0x00000000 - -dlabel D_80249878_A33AB8 -.word 0x00000000 - -dlabel D_8024987C_A33ABC -.float 90.0, 5.4, 0.0, -1.0, 0.0, 0.0, -1.0, 500.0, -6.9, 0.0, 0.0 - -dlabel D_802498A8_A33AE8 -.float 445.8, 5.4, 0.0, -1.0, 0.0, 0.0, -1.0, 500.0, -6.9, 0.0 - -dlabel D_802498D0_A33B10 -.word 0x43700000 - -dlabel D_802498D4_A33B14 -.word 0x00000000 - -dlabel D_802498D8_A33B18 -.word 0x43026666 - -dlabel D_802498DC_A33B1C -.word 0x41466666 - -dlabel D_802498E0_A33B20 -.word 0xC1866666 - -dlabel D_802498E4_A33B24 -.word 0x42780000 - -dlabel D_802498E8_A33B28 -.word 0x43026666 - -dlabel D_802498EC_A33B2C -.word 0x41466666 - -dlabel D_802498F0_A33B30 -.word 0xC1866666 - -dlabel D_802498F4_A33B34 -.word 0x42780000 - -dlabel D_802498F8_A33B38 -.word 0x00000000 - -dlabel D_802498FC_A33B3C -.word 0x00000000 - -dlabel D_80249900_A33B40 -.word 0x00000000 - -dlabel D_80249904_A33B44 -.word 0x3F800000 - -dlabel D_80249908_A33B48 -.word 0x00000000 - -dlabel D_8024990C_A33B4C -.word 0x41400000 - -dlabel D_80249910_A33B50 -.word 0x00000000 - -dlabel D_80249914_A33B54 -.short 0xFFFD, 0xFFFE, 0xFFFF, 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0003, 0x0002, 0x0001, 0x0000, 0xFFFF, 0xFFFE, 0xFFFD, 0xFFFC - -dlabel D_80249934_A33B74 -.short 0x0168, 0x0159, 0x014A, 0x013B, 0x012C, 0x011D, 0x010E, 0x00FF, 0x00F0, 0x00E1, 0x00D7, 0x00CB, 0x00BF, 0x00B4, 0x00AA, 0x00A1, 0x0099, 0x0092, 0x008C, 0x0087 - -dlabel D_8024995C_A33B9C -.word 0x00000000 - -dlabel D_80249960_A33BA0 -.short 0xFFFD, 0xFFFE, 0xFFFF, 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0003, 0x0002, 0x0001, 0x0000, 0xFFFF, 0xFFFE, 0xFFFD, 0xFFFC - -dlabel D_80249980_A33BC0 -.word 0x41F00000 - -dlabel D_80249984_A33BC4 -.word 0x00000000 - -dlabel D_80249988_A33BC8 -.short 0xFFFD, 0xFFFE, 0xFFFF, 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0003, 0x0002, 0x0001, 0x0000, 0xFFFF, 0xFFFE, 0xFFFD, 0xFFFC - -dlabel D_802499A8_A33BE8 -.word 0x006400F0, 0x006300E6, 0x006200DC, 0x006000D3, 0x005C00CA, 0x005700C2, 0x005200BB, 0x004D00B5, 0x004800B0, 0x004200AB, 0x003C00A7, 0x003500A3, 0x002D00A0, 0x0026009D, 0x001F009B, 0x00190099, 0x00130098, 0x000D0096, 0x00070095, 0x00010094, 0xFFFB0093, 0xFFF60092, 0xFFF20091, 0xFFEF008F, 0xFFEE008E, 0xFFEE008E, 0xFFEE008E, 0xFFEE008E, 0xFFEE008E, 0xFFEE008E, 0xFFEE008D, 0xFFEF008C, 0xFFF0008B, 0xFFF2008A, 0xFFF50089, 0xFFF80088, 0xFFFB0087, 0xFFFD0087, 0xFFFF0087, 0x00000087 - -dlabel D_80249A48_A33C88 -.word 0x00000000 - -dlabel D_80249A4C_A33C8C -.short 0xFFFD, 0xFFFE, 0xFFFF, 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0003, 0x0002, 0x0001, 0x0000, 0xFFFF, 0xFFFE, 0xFFFD, 0xFFFC - -dlabel D_80249A6C_A33CAC -.word 0x42F33333 - -dlabel D_80249A70_A33CB0 -.word 0x00000000 - -dlabel D_80249A74_A33CB4 -.word 0x42B40000 - -dlabel D_80249A78_A33CB8 -.word 0x00000000 - -dlabel D_80249A7C_A33CBC -.word 0x00000000 - -dlabel D_80249A80_A33CC0 -.word 0x00000000 - -dlabel D_80249A84_A33CC4 -.word 0x42200000 - -dlabel D_80249A88_A33CC8 -.word 0xC2200000 - -dlabel D_80249A8C_A33CCC -.word 0x42340000 - -dlabel D_80249A90_A33CD0 -.word 0x00000000 - -dlabel D_80249A94_A33CD4 -.word 0x42480000 - -dlabel D_80249A98_A33CD8 -.word 0x4376199A - -dlabel D_80249A9C_A33CDC -.word 0x43480000 - -dlabel D_80249AA0_A33CE0 -.word 0x41C80000 - -dlabel D_80249AA4_A33CE4 -.word 0x00000000 - -dlabel D_80249AA8_A33CE8 -.word 0x00000024, 0x00000002, 0xFE363C80, 0x00000078, 0x00000024, 0x00000002, 0xFE363C81, 0x0000037F, 0x00000005, 0x00000001, 0x0000000A, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFF4, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000A, 0x00000043, 0x0000000A, func_80240880_A2AAC0, 0x00000000, 0x00000000, 0x00000000, 0xFE363C80, 0x000000FF, 0x000000FF, 0x000000FF, 0xFE363C81, 0x000003E8, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80249B48_A33D88 -.word 0x00000043, 0x00000002, func_802D7B10, 0xF4ACD486, 0x00000043, 0x00000005, GetNpcPos, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000024, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000004, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000005, GetNpcPos, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000072, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000010, 0x00000010, 0x00000002, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD48D, 0xFE363C8F, 0x00000043, 0x00000004, func_802428C8_A2CB08, 0x00000006, 0x00000050, 0xF24A7C80, 0x00000043, 0x00000005, LoadPath, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000026, 0x00000002, 0xFE363C84, 0xF24A7E80, 0x00000003, 0x00000001, 0x00000006, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000005, SetNpcPos, 0x00000005, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000006, func_80240E50_A2B090, 0xF4ACD48D, 0xF4ACD498, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x0000002C, 0x00000002, 0xFE363C84, 0xF24A7A60, 0x00000043, 0x00000005, SetNpcScale, 0x00000005, 0xFE363C84, 0xFE363C84, 0xFE363C84, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000004, 0x00000001, 0x00000006, 0x00000013, 0x00000000, 0x00000043, 0x00000001, func_80240F30_A2B170, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00170006, 0x00000043, 0x00000007, func_802CFD30, 0x00000005, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000005, 0x00000002, 0x00000001, 0x00000043, 0x00000002, func_802D7B10, 0xF4ACD48D, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, func_802D7B10, 0xF4ACD483, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000024, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000004, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000072, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000010, 0x00000010, 0x00000002, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD48A, 0xFE363C8F, 0x00000043, 0x00000004, func_802428C8_A2CB08, 0x00000003, 0x0000001E, 0xF24A7C80, 0x00000043, 0x00000005, LoadPath, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000026, 0x00000002, 0xFE363C84, 0xF24A7E80, 0x00000003, 0x00000001, 0x00000003, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000006, func_80240E50_A2B090, 0xF4ACD48A, 0xF4ACD495, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x0000002C, 0x00000002, 0xFE363C84, 0xF24A7A60, 0x00000043, 0x00000005, SetNpcScale, 0x00000002, 0xFE363C84, 0xFE363C84, 0xFE363C84, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000004, 0x00000001, 0x00000003, 0x00000013, 0x00000000, 0x00000043, 0x00000001, func_80240F30_A2B170, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00140009, 0x00000043, 0x00000007, func_802CFD30, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000002, 0x00000002, 0x00000001, 0x00000043, 0x00000002, func_802D7B10, 0xF4ACD48A, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, func_802D7B10, 0xF4ACD484, 0x00000043, 0x00000005, GetNpcPos, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000024, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000004, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000005, GetNpcPos, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000072, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000010, 0x00000010, 0x00000002, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD48B, 0xFE363C8F, 0x00000043, 0x00000004, func_802428C8_A2CB08, 0x00000004, 0xFFFFFFB0, 0xF24A7BB4, 0x00000043, 0x00000005, LoadPath, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000026, 0x00000002, 0xFE363C84, 0xF24A7E80, 0x00000003, 0x00000001, 0x00000004, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000005, SetNpcPos, 0x00000003, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000006, func_80240E50_A2B090, 0xF4ACD48B, 0xF4ACD496, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x0000002C, 0x00000002, 0xFE363C84, 0xF24A7A60, 0x00000043, 0x00000005, SetNpcScale, 0x00000003, 0xFE363C84, 0xFE363C84, 0xFE363C84, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000004, 0x00000001, 0x00000004, 0x00000013, 0x00000000, 0x00000043, 0x00000001, func_80240F30_A2B170, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00150007, 0x00000043, 0x00000007, func_802CFD30, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000003, 0x00000002, 0x00000001, 0x00000043, 0x00000002, func_802D7B10, 0xF4ACD48B, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, func_802D7B10, 0xF4ACD487, 0x00000043, 0x00000005, GetNpcPos, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000024, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000004, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000005, GetNpcPos, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000072, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000010, 0x00000010, 0x00000002, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD48E, 0xFE363C8F, 0x00000043, 0x00000004, func_802428C8_A2CB08, 0x00000007, 0x00000078, 0xF24A7C80, 0x00000043, 0x00000005, LoadPath, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000026, 0x00000002, 0xFE363C84, 0xF24A7E80, 0x00000003, 0x00000001, 0x00000007, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000005, SetNpcPos, 0x00000006, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000006, func_80240E50_A2B090, 0xF4ACD48E, 0xF4ACD499, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x0000002C, 0x00000002, 0xFE363C84, 0xF24A7A60, 0x00000043, 0x00000005, SetNpcScale, 0x00000006, 0xFE363C84, 0xFE363C84, 0xFE363C84, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000004, 0x00000001, 0x00000007, 0x00000013, 0x00000000, 0x00000043, 0x00000001, func_80240F30_A2B170, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000006, 0x00180008, 0x00000043, 0x00000007, func_802CFD30, 0x00000006, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000006, 0x00000002, 0x00000001, 0x00000043, 0x00000002, func_802D7B10, 0xF4ACD48E, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, func_802D7B10, 0xF4ACD485, 0x00000043, 0x00000005, GetNpcPos, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000024, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000004, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000005, GetNpcPos, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000072, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000010, 0x00000010, 0x00000002, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD48C, 0xFE363C8F, 0x00000043, 0x00000004, func_802428C8_A2CB08, 0x00000005, 0x00000078, 0xF24A7C80, 0x00000043, 0x00000005, LoadPath, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000026, 0x00000002, 0xFE363C84, 0xF24A7E80, 0x00000003, 0x00000001, 0x00000005, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000005, SetNpcPos, 0x00000004, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000006, func_80240E50_A2B090, 0xF4ACD48C, 0xF4ACD497, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x0000002C, 0x00000002, 0xFE363C84, 0xF24A7A60, 0x00000043, 0x00000005, SetNpcScale, 0x00000004, 0xFE363C84, 0xFE363C84, 0xFE363C84, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000004, 0x00000001, 0x00000005, 0x00000013, 0x00000000, 0x00000043, 0x00000001, func_80240F30_A2B170, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000004, 0x00160005, 0x00000043, 0x00000007, func_802CFD30, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000004, 0x00000002, 0x00000001, 0x00000043, 0x00000002, func_802D7B10, 0xF4ACD48C, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, func_802D7B10, 0xF4ACD482, 0x00000043, 0x00000005, GetNpcPos, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000024, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000004, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000005, GetNpcPos, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000072, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000010, 0x00000010, 0x00000002, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD489, 0xFE363C8F, 0x00000043, 0x00000004, func_802428C8_A2CB08, 0x00000002, 0xFFFFFFC4, 0xF24A7C80, 0x00000043, 0x00000005, LoadPath, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000026, 0x00000002, 0xFE363C84, 0xF24A7E80, 0x00000003, 0x00000001, 0x00000002, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000006, func_80240E50_A2B090, 0xF4ACD489, 0xF4ACD494, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x0000002C, 0x00000002, 0xFE363C84, 0xF24A7A60, 0x00000043, 0x00000005, SetNpcScale, 0x00000001, 0xFE363C84, 0xFE363C84, 0xFE363C84, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000004, 0x00000001, 0x00000002, 0x00000013, 0x00000000, 0x00000043, 0x00000001, func_80240F30_A2B170, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x00130008, 0x00000043, 0x00000007, func_802CFD30, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000001, 0x00000002, 0x00000001, 0x00000043, 0x00000002, func_802D7B10, 0xF4ACD489, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024A9C8_A34C08 -.word 0x43020000 - -dlabel D_8024A9CC_A34C0C -.word 0x00000000 - -dlabel D_8024A9D0_A34C10 -.word 0xF24A7E39, 0xF24A7E1A, 0xF24A7E41, 0xF24A7E24, 0xF24A7E52, 0xF24A7E39, 0xF24A7E60, 0xF24A7E4D, 0xF24A7E6B, 0xF24A7E62, 0xF24A7E71, 0xF24A7E71, 0xF24A7E7B, 0xF24A7E7B, 0xF24A7E7E, 0xF24A7E7E, 0xF24A7E7F, 0xF24A7E7F, 0xF24A7E80, 0xF24A7E80 - -dlabel D_8024AA20_A34C60 -.word D_8024F510, 0x00000000 - -dlabel D_8024AA28_A34C68 -.word 0xD7000002, 0xFFFFFFFF, 0xE7000000, 0x00000000, 0xE3000A01, 0x00000000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001201, 0x00000000, 0xE3001402, 0x00000C00, 0xE3000C00, 0x00000000, 0xE3001001, 0x00008000, 0xFCFFFFFF, 0xFFFCF67B, 0xED074070, 0x0048C2F8, 0xE3001801, 0x000000C0, 0xE3001A01, 0x00000000, 0xE200001C, 0x0F0A4200, 0xD9000000, 0x00000000, 0xD9FFFFFF, 0x00200004, 0xDF000000, 0x00000000 - -dlabel D_8024AAB0_A34CF0 -.word 0x00000000 - -dlabel D_8024AAB4_A34CF4 -.word 0x00000000 - -dlabel D_8024AAB8_A34CF8 -.word 0x00000000 - -dlabel D_8024AABC_A34CFC -.word 0x00000000 - -dlabel D_8024AAC0_A34D00 -.byte 0x00, 0x00, 0x00, 0xDE, 0x00, 0x00, 0x01, 0x52, 0x00, 0x00, 0x01, 0x52, 0x00, 0x00, 0x01, 0x52, 0x00, 0x00, 0x02, 0x6E - -dlabel D_8024AAD4_A34D14 -.short 0x00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFD, 0xFFFF, 0xFFFC, 0xFFFF, 0xFFF7, 0xFFFF, 0xFFF1, 0xFFFF, 0xFFEA, 0xFFFF, 0xFFE2, 0xFFFF, 0xFFD9, 0xFFFF, 0xFFCF, 0xFFFF, 0xFFC4, 0xFFFF, 0xFFB8, 0xFFFF, 0xFFAB, 0xFFFF, 0xFF9D, 0xFFFF, 0xFF8E, 0xFFFF, 0xFF7E, 0xFFFF, 0xFF6D, 0xFFFF, 0xFF5B, 0xFFFF, 0xFF48, 0xFFFF, 0xFF34, 0xFFFF, 0xFF1F, 0xFFFF, 0xFF09, 0xFFFF, 0xFEF2 - -dlabel D_8024AB3C_A34D7C -.byte 0xF0, 0xF0, 0xF0, 0xF0, 0xD2, 0xC5, 0xB9, 0xAE, 0xA8, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xA7, 0xA5, 0xA4, 0xA3, 0xA2, 0xA2, 0xA1, 0xA1, 0xA2, 0xA2, 0xA3, 0xA4, 0xA5, 0xA7, 0xAA, 0xAD, 0xAF, 0xB0, 0xB0, 0xAF, 0xAC, 0xAB, 0xAA, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAD, 0xAF, 0xB0, 0xB0, 0xAF, 0xAD, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAD, 0xAF, 0xB0, 0xB0, 0xAF, 0xAD, 0xAA, 0xA7, 0xA5, 0xA4, 0xA5, 0xA4, 0xA5, 0xA4, 0xA5, 0xA4, 0xA5, 0xA4, 0xA5, 0xA4, 0xA5, 0xA4, 0xA5, 0xA4, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAD, 0xAF, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xAE, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAA, 0xA7, 0xA5, 0xA4, 0xA5, 0xA6, 0xA7, 0xA6, 0xA5, 0xA6, 0xA7, 0xA6, 0xA5, 0xA6, 0xA7, 0xA6, 0xA5, 0xA6, 0xA7, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAD, 0xAF, 0xB0, 0xB0, 0xAF, 0xAD, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAD, 0xAF, 0xB0, 0xB0, 0xAF, 0xAD, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAD, 0xAE, 0xAF, 0xAE, 0xAD, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAD, 0xAF, 0xB0, 0xB0, 0xAF, 0xAD, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAD, 0xAF, 0xB0, 0xB0, 0xAF, 0xAD, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xA9, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAD, 0xAF, 0xB0, 0xB0, 0xAF, 0xAD, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAD, 0xAF, 0xB0, 0xB0, 0xAF, 0xAD, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAD, 0xAF, 0xB0, 0xB0, 0xAF, 0xAD, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7 - -dlabel D_8024AC7B_A34EBB -.byte 0xAA - -dlabel D_8024AC7C_A34EBC -.short 0x0064, 0x006E, 0x0079, 0x0088, 0x009B, 0x00AF, 0x00C3, 0x00D6, 0x00E8, 0x00F9, 0x0109, 0x0118, 0x0126, 0x0133, 0x013F, 0x0000 - -dlabel D_8024AC9C_A34EDC -.short 0x0003, 0x0002, 0xFFFA, 0xFFEB, 0xFFD8, 0xFFC1, 0xFFA6, 0xFF88, 0xFF60, 0xFF38, 0xFF10, 0xFEE8, 0xFEC0, 0x0000 - -dlabel D_8024ACB8_A34EF8 -.word 0x0000001E, 0x00010019, 0x0000003C, 0x00000001, D_8024F380, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x0000000A, func_80240880_A2AAC0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003E3, 0x000003E8, 0x00000043, 0x00000001, func_80240E30_A2B070, 0x00000043, 0x00000008, func_802409C4_A2AC04, 0x000000FF, 0x000000FF, 0x000000FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, func_80240DA0_A2AFE0, 0x00000000, 0x0000003E, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x0000009D, 0x00000000, 0x00000043, 0x00000003, LoadSettings, 0x00000000, D_80249610_A33850, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000001, func_80243FC4_A2E204, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000003, EnableTexPanning, 0x00000019, 0x00000000, 0x00000043, 0x00000003, EnableTexPanning, 0x0000000F, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x000000A0, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x0000009A, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x000000A3, 0x00000000, 0x00000043, 0x00000001, func_80241274_A2B4B4, 0x00000043, 0x00000003, EnableGroup, 0x00000090, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000093, 0x00000000, 0x00000044, 0x00000001, D_8024AECC_A3510C, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024AEC4_A35104 -.word 0x00000000 - -dlabel D_8024AEC8_A35108 -.word 0x00000000 - -dlabel D_8024AECC_A3510C -.word 0x00000043, 0x00000003, SetNpcPaletteSwapMode, 0x0000000A, 0x00000002, 0x00000043, 0x00000006, SetNpcPaletteSwapLower, 0x0000000A, 0x00000000, 0x00000001, 0x00000014, 0x00000005, 0x00000043, 0x00000003, SetNpcPaletteSwapMode, 0x00000000, 0x00000002, 0x00000043, 0x00000003, SetNpcPaletteSwapMode, 0x00000001, 0x00000002, 0x00000043, 0x00000003, SetNpcPaletteSwapMode, 0x00000002, 0x00000002, 0x00000043, 0x00000003, SetNpcPaletteSwapMode, 0x00000003, 0x00000002, 0x00000043, 0x00000003, SetNpcPaletteSwapMode, 0x00000004, 0x00000002, 0x00000043, 0x00000003, SetNpcPaletteSwapMode, 0x00000005, 0x00000002, 0x00000043, 0x00000003, SetNpcPaletteSwapMode, 0x00000006, 0x00000002, 0x00000043, 0x0000000A, SetNpcPaletteSwapping, 0x00000000, 0x00000000, 0x00000001, 0x00000019, 0x0000000C, 0x00000004, 0x00000012, 0x00000000, 0x00000000, 0x00000043, 0x0000000A, SetNpcPaletteSwapping, 0x00000001, 0x00000000, 0x00000001, 0x00000019, 0x0000000C, 0x00000004, 0x00000012, 0x00000000, 0x00000000, 0x00000043, 0x0000000A, SetNpcPaletteSwapping, 0x00000002, 0x00000000, 0x00000001, 0x00000019, 0x0000000C, 0x00000004, 0x00000012, 0x00000000, 0x00000000, 0x00000043, 0x0000000A, SetNpcPaletteSwapping, 0x00000003, 0x00000000, 0x00000001, 0x00000019, 0x0000000C, 0x00000004, 0x00000012, 0x00000000, 0x00000000, 0x00000043, 0x0000000A, SetNpcPaletteSwapping, 0x00000004, 0x00000000, 0x00000001, 0x00000019, 0x0000000C, 0x00000004, 0x00000012, 0x00000000, 0x00000000, 0x00000043, 0x0000000A, SetNpcPaletteSwapping, 0x00000005, 0x00000000, 0x00000001, 0x00000019, 0x0000000C, 0x00000004, 0x00000012, 0x00000000, 0x00000000, 0x00000043, 0x0000000A, SetNpcPaletteSwapping, 0x00000006, 0x00000000, 0x00000001, 0x00000019, 0x0000000C, 0x00000004, 0x00000012, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x0000000A, 0x00040000, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x00800017, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000008, 0x00800021, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000007, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000008, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x0000000A, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000000, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000001, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000002, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000003, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000004, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000005, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000006, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000009, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000001, func_802444E8_A2E728, 0x00000057, 0x00000000, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000007, 0x0000005A, 0x00000000, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000008, 0x0000005A, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x00800019, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000008, 0x00800021, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000009, 0x00600017, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000009, 0x0000002D, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000009, 0xFFFFFF6F, 0x00000093, 0x00000054, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000004, 0x00160000, 0x00000043, 0x0000000A, func_80240880_A2AAC0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003E3, 0x000003E8, 0x00000043, 0x00000008, func_802409C4_A2AC04, 0x00000082, 0x00000082, 0x00000082, 0x00000000, 0x00000000, 0x00000000, 0x0000000F, 0x00000043, 0x00000003, func_80240DA0_A2AFE0, 0x00000000, 0x00000023, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFFFFFF6F, 0x00000093, 0x00000054, 0x00000043, 0x00000003, LoadSettings, 0x00000000, D_802496EC_A3392C, 0x00000043, 0x00000001, func_802440D0_A2E310, 0x00000008, 0x00000001, 0x00000032, 0x00000043, 0x00000007, func_802CFD30, 0x00000007, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000007, func_802CFD30, 0x00000008, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000007, 0xFFFFFFC0, 0x00000087, 0x00000055, 0x00000043, 0x00000005, SetNpcPos, 0x00000008, 0xFFFFFFC0, 0x00000087, 0x00000055, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000032, 0x00000027, 0x00000002, 0xFE363C80, 0x00000006, 0x0000000D, 0x00000002, 0xFE363C80, 0x000000FF, 0x00000024, 0x00000002, 0xFE363C80, 0x000000FF, 0x00000013, 0x00000000, 0x00000043, 0x00000007, func_802CFD30, 0x00000007, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0xFE363C80, 0x00000043, 0x00000007, func_802CFD30, 0x00000008, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000008, 0x0000005A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000028, 0x00000027, 0x00000002, 0xFE363C80, 0x00000024, 0x00000043, 0x00000005, SetNpcRotation, 0x00000007, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetNpcRotation, 0x00000007, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000007, 0x0000005A, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000008, func_802409C4_A2AC04, 0x00000075, 0x0000001C, 0x0000002A, 0x00000000, 0x00000000, 0x00000000, 0x0000000F, 0x00000057, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000036, 0x00000001, 0x00000000, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD491, 0xFE363C8F, 0x00000056, 0x00000000, 0x00000043, 0x00000001, func_80244454_A2E694, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000010, 0x00000056, 0x00000000, 0x00000043, 0x00000001, func_80244934_A2EB74, 0x00000057, 0x00000000, 0x00000005, 0x00000001, 0x00000002, 0x00000043, 0x00000008, func_802409C4_A2AC04, 0x00000075, 0x0000001C, 0x0000002A, 0x000000A5, 0x00000060, 0x00000098, 0x00000000, 0x00000043, 0x0000000A, func_80240880_A2AAC0, 0x00000000, 0x00000000, 0x00000000, 0x0000007F, 0x00000000, 0x00000000, 0x00000000, 0x000003CF, 0x000003E8, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000008, func_802409C4_A2AC04, 0x00000075, 0x0000001C, 0x0000002A, 0x00000040, 0x00000022, 0x0000003A, 0x00000000, 0x00000043, 0x0000000A, func_80240880_A2AAC0, 0x00000000, 0x00000000, 0x00000000, 0x0000007F, 0x00000000, 0x00000000, 0x00000000, 0x000003E3, 0x000003E8, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000008, func_802409C4_A2AC04, 0x00000075, 0x0000001C, 0x0000002A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000A, func_80240880_A2AAC0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003E3, 0x000003E8, 0x00000008, 0x00000001, 0x00000005, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000007, func_802CFD30, 0x00000007, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x000000FF, 0x00000043, 0x00000007, func_802CFD30, 0x00000008, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x000000FF, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000004, 0x00000027, 0x00000002, 0xFE363C80, 0x00000046, 0x0000000D, 0x00000002, 0xFE363C80, 0x000000FF, 0x00000024, 0x00000002, 0xFE363C80, 0x000000FF, 0x00000013, 0x00000000, 0x00000043, 0x00000007, func_802CFD30, 0x00000007, 0x00000008, 0xFE363C80, 0xFE363C80, 0xFE363C80, 0x000000FF, 0x00000043, 0x00000007, func_802CFD30, 0x00000008, 0x00000008, 0xFE363C80, 0xFE363C80, 0xFE363C80, 0x000000FF, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000002, func_802D7B10, 0xF4ACD491, 0x00000056, 0x00000000, 0x00000043, 0x00000003, EnableTexPanning, 0x00000019, 0x00000001, 0x00000043, 0x00000003, EnableTexPanning, 0x0000000F, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00120006, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x0013000A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00140009, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00150007, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000004, 0x00160005, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00170006, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000006, 0x00180008, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000009, 0x0060000E, 0x00000043, 0x0000000F, PlayEffect, 0x00000034, 0x00000002, 0x00000000, 0x000000B4, 0x00000000, 0xF24A84E0, 0xF4ACD48F, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000035, 0x00000001, 0x00000000, 0x000000C8, 0x00000000, 0xF24A7E80, 0xF4ACD490, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000001, func_80241B40_A2BD80, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000001, func_80241F54_A2C194, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000032, 0x00000043, 0x00000003, func_80240DA0_A2AFE0, 0x00000000, 0x00000028, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x0000009D, 0x00000000, 0x00000043, 0x00000003, LoadSettings, 0x00000000, D_80249718_A33958, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00140009, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00150007, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000004, 0x00160005, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00170006, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000006, 0x0018000A, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000014, 0x00000027, 0x00000002, 0xFE363C80, 0x00000024, 0x00000043, 0x00000005, SetNpcRotation, 0x00000000, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000014, 0x00000027, 0x00000002, 0xFE363C80, 0x00000024, 0x00000043, 0x00000005, SetNpcRotation, 0x00000000, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000014, 0x00000027, 0x00000002, 0xFE363C80, 0x00000024, 0x00000043, 0x00000005, SetNpcRotation, 0x00000003, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000022, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000014, 0x00000027, 0x00000002, 0xFE363C80, 0x00000024, 0x00000043, 0x00000005, SetNpcRotation, 0x00000004, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000010, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000014, 0x00000027, 0x00000002, 0xFE363C80, 0x00000024, 0x00000043, 0x00000005, SetNpcRotation, 0x00000005, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001C, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000014, 0x00000027, 0x00000002, 0xFE363C80, 0x00000024, 0x00000043, 0x00000005, SetNpcRotation, 0x00000006, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000036, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD491, 0xFE363C8F, 0x00000024, 0x00000002, 0xFE363C80, 0x00000078, 0x00000024, 0x00000002, 0xFE363C81, 0x0000037F, 0x00000005, 0x00000001, 0x0000000A, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFF4, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000A, 0x00000043, 0x0000000A, func_80240880_A2AAC0, 0x00000000, 0x00000000, 0x00000000, 0xFE363C80, 0x000000FF, 0x000000FF, 0x000000FF, 0xFE363C81, 0x000003E8, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000005, 0x00000001, 0x00000002, 0x00000043, 0x00000008, func_802409C4_A2AC04, 0x00000075, 0x0000001C, 0x0000002A, 0x000000A5, 0x00000060, 0x00000098, 0x00000000, 0x00000043, 0x0000000A, func_80240880_A2AAC0, 0x00000000, 0x00000000, 0x00000000, 0x0000007F, 0x00000000, 0x00000000, 0x00000000, 0x000003CF, 0x000003E8, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000008, func_802409C4_A2AC04, 0x00000075, 0x0000001C, 0x0000002A, 0x00000069, 0x0000003C, 0x00000066, 0x00000000, 0x00000043, 0x0000000A, func_80240880_A2AAC0, 0x00000000, 0x00000000, 0x00000000, 0x0000007F, 0x00000000, 0x00000000, 0x00000000, 0x000003CF, 0x000003E8, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000008, func_802409C4_A2AC04, 0x00000075, 0x0000001C, 0x0000002A, 0x00000040, 0x00000022, 0x0000003A, 0x00000000, 0x00000043, 0x0000000A, func_80240880_A2AAC0, 0x00000000, 0x00000000, 0x00000000, 0x0000007F, 0x00000000, 0x00000000, 0x00000000, 0x000003E3, 0x000003E8, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000008, func_802409C4_A2AC04, 0x00000075, 0x0000001C, 0x0000002A, 0x00000022, 0x0000000E, 0x0000001C, 0x00000000, 0x00000043, 0x0000000A, func_80240880_A2AAC0, 0x00000000, 0x00000000, 0x00000000, 0x0000007F, 0x00000000, 0x00000000, 0x00000000, 0x000003E3, 0x000003E8, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000008, func_802409C4_A2AC04, 0x00000075, 0x0000001C, 0x0000002A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000A, func_80240880_A2AAC0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003E3, 0x000003E8, 0x00000008, 0x00000001, 0x00000005, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, func_802D7B10, 0xF4ACD491, 0x00000043, 0x0000000A, func_80240880_A2AAC0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003E3, 0x000003E8, 0x00000043, 0x00000003, func_80240DA0_A2AFE0, 0x00000000, 0x00000019, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFFFFFFDA, 0x000000D2, 0x00000055, 0x00000043, 0x00000003, LoadSettings, 0x00000000, D_80249744_A33984, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x0080001C, 0x00000043, 0x00000005, SetNpcPos, 0x00000007, 0xFFFFFFE2, 0x00000096, 0x000000A2, 0x00000043, 0x00000005, SetNpcPos, 0x00000008, 0xFFFFFFE2, 0x00000096, 0x000000A2, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000009, 0x00600011, 0x00000056, 0x00000000, 0x00000043, 0x00000008, func_802409C4_A2AC04, 0x00000017, 0x0000000A, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x0000000F, 0x00000008, 0x00000001, 0x0000001C, 0x00000043, 0x00000008, func_802409C4_A2AC04, 0x00000066, 0x0000002D, 0x00000000, 0x00000072, 0x00000000, 0x00000000, 0x00000003, 0x00000043, 0x00000008, func_802409C4_A2AC04, 0x00000066, 0x0000002D, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000D, 0x00000043, 0x00000008, func_802409C4_A2AC04, 0x000000B4, 0x000000B4, 0x000000B4, 0x00000000, 0x00000000, 0x00000000, 0x00000014, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x000003E3, 0x00000005, 0x00000001, 0x0000001E, 0x00000028, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000043, 0x0000000A, func_80240880_A2AAC0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFE363C80, 0x000003E8, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C80, 0x0000036B, 0x00000005, 0x00000001, 0x0000003C, 0x00000027, 0x00000002, 0xFE363C80, 0x00000002, 0x00000043, 0x0000000A, func_80240880_A2AAC0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000FF, 0x00000000, 0x00000000, 0xFE363C80, 0x000003E8, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xFFFFFFE4, 0x00000024, 0x00000002, 0xFE363C81, 0x000000D2, 0x00000024, 0x00000002, 0xFE363C82, 0x0000009B, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFE4, 0x00000024, 0x00000002, 0xFE363C84, 0x000000D1, 0x00000024, 0x00000002, 0xFE363C85, 0x00000099, 0x00000043, 0x00000001, func_80242024_A2C264, 0x00000043, 0x0000000F, PlayEffect, 0x00000037, 0x00000000, 0xFFFFFFE2, 0x000000D2, 0x0000008E, 0x00000000, 0x000000B4, 0x00000000, 0x00000005, 0x00000002, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x0080001D, 0x00000056, 0x00000000, 0x00000043, 0x00000001, func_802421E0_A2C420, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x0000000F, PlayEffect, 0x00000038, 0x00000000, 0x00000000, 0x000000B4, 0x00000000, 0xF24A7D50, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, RemoveEffect, 0xF4ACD48F, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, func_80240DA0_A2AFE0, 0x00000000, 0x00000019, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFFFFFFDA, 0x000000D2, 0x00000055, 0x00000043, 0x00000003, LoadSettings, 0x00000000, D_80249770_A339B0, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x0080001A, 0x00000056, 0x00000000, 0x00000043, 0x00000001, func_802422A0_A2C4E0, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000019, 0x00000043, 0x00000003, func_80240DA0_A2AFE0, 0x00000000, 0x00000023, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFFFFFF10, 0x000000C8, 0x00000071, 0x00000043, 0x00000003, LoadSettings, 0x00000000, D_8024979C_A339DC, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00140009, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000004, 0x00160005, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000030, 0x00000001, D_8024A9D0_A34C10, 0x00000005, 0x00000001, 0x0000000A, 0x00000038, 0x00000002, 0xFE363C8A, 0xFE363C8B, 0x00000026, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000026, 0x00000002, 0xFE363C84, 0xFE363C81, 0x00000026, 0x00000002, 0xFE363C85, 0xFE363C82, 0x0000002E, 0x00000002, 0xFE363C83, 0xFE363C8B, 0x0000002E, 0x00000002, 0xFE363C84, 0xFE363C8A, 0x0000002E, 0x00000002, 0xFE363C85, 0xFE363C8B, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000009, 0x00000030, 0x00000001, D_8024A9D0_A34C10, 0x00000005, 0x00000001, 0x0000000A, 0x00000038, 0x00000002, 0xFE363C8A, 0xFE363C8B, 0x00000026, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000026, 0x00000002, 0xFE363C84, 0xFE363C81, 0x00000026, 0x00000002, 0xFE363C85, 0xFE363C82, 0x0000002E, 0x00000002, 0xFE363C83, 0xFE363C8B, 0x0000002E, 0x00000002, 0xFE363C84, 0xFE363C8A, 0x0000002E, 0x00000002, 0xFE363C85, 0xFE363C8B, 0x00000043, 0x00000005, SetNpcPos, 0x00000004, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000002E, 0x00000002, 0xFE363C80, 0xF24A7E1A, 0x0000002E, 0x00000002, 0xFE363C81, 0xF24A7E39, 0x0000002E, 0x00000002, 0xFE363C82, 0xF24A7E1A, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, GetNpcPos, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000002E, 0x00000002, 0xFE363C80, 0xF24A7E1A, 0x0000002E, 0x00000002, 0xFE363C81, 0xF24A7E39, 0x0000002E, 0x00000002, 0xFE363C82, 0xF24A7E1A, 0x00000043, 0x00000005, SetNpcPos, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000023, 0x00000043, 0x00000003, func_80240DA0_A2AFE0, 0x00000000, 0x00000023, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x0000001E, 0x000000E8, 0x00000000, 0x00000043, 0x00000003, LoadSettings, 0x00000000, D_802497C8_A33A08, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x0080001E, 0x00000043, 0x00000005, SetNpcPos, 0x00000007, 0x00000000, 0x000000AA, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000008, 0x00000000, 0x000000AA, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x0000000A, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000008, func_802409C4_A2AC04, 0x00000014, 0x00000014, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x0000000F, 0x00000057, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000015, 0x00000024, 0x00000002, 0xFE363C81, 0x00000104, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFFFEB, 0x00000043, 0x00000001, func_80240FE0_A2B220, 0x00000008, 0x00000001, 0x00000023, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000046, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x0000000A, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000C, 0x00000043, 0x0000000A, func_80240880_A2AAC0, 0x00000000, 0x00000000, 0x00000000, 0xFE363C80, 0x000000FF, 0x00000000, 0x00000000, 0x000003E3, 0x000003E8, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000005C, 0x00000043, 0x00000008, func_802409C4_A2AC04, 0x0000006A, 0x0000005E, 0x0000006E, 0x000000D8, 0x000000C3, 0x00000083, 0x00000008, 0x00000043, 0x00000008, func_802409C4_A2AC04, 0x00000064, 0x00000069, 0x0000006B, 0x0000009F, 0x00000076, 0x00000032, 0x00000014, 0x00000043, 0x00000008, func_802409C4_A2AC04, 0x0000007A, 0x000000B4, 0x0000006E, 0x00000000, 0x00000000, 0x00000000, 0x0000000F, 0x00000043, 0x00000008, func_802409C4_A2AC04, 0x00000080, 0x00000080, 0x00000080, 0x000000FF, 0x000000FF, 0x000000C8, 0x0000003C, 0x00000057, 0x00000000, 0x00000043, 0x00000001, func_802423D4_A2C614, 0x00000043, 0x00000003, func_80240DA0_A2AFE0, 0x00000000, 0x00000023, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x000000B1, 0x00000000, 0x00000043, 0x00000003, LoadSettings, 0x00000000, D_802497F4_A33A34, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x0080001F, 0x00000043, 0x0000000F, PlayEffect, 0x00000035, 0x00000002, 0x00000014, 0x00000109, 0xFFFFFFEB, 0xF24A7E80, 0xF4ACD492, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x0000003C, 0x00000002, 0x00000014, 0x00000109, 0xFFFFFFEB, 0xF24A7E80, 0xF4ACD493, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000078, 0x00000024, 0x00000002, 0xFE363C81, 0x0000037F, 0x00000005, 0x00000001, 0x00000014, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFFA, 0x00000027, 0x00000002, 0xFE363C81, 0x00000005, 0x00000043, 0x0000000A, func_80240880_A2AAC0, 0x00000000, 0x00000000, 0x00000000, 0xFE363C80, 0x000000FF, 0x000000FF, 0x000000FF, 0xFE363C81, 0x000003E8, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000003, func_80240DA0_A2AFE0, 0x00000000, 0x00000028, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x0000009D, 0x00000000, 0x00000043, 0x00000003, LoadSettings, 0x00000000, D_80249718_A33958, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00120004, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x00130008, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00140009, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00150007, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000004, 0x00160005, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00170006, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000006, 0x00180008, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000002, func_802D7B10, 0xF4ACD492, 0x00000043, 0x00000002, func_802D7B10, 0xF4ACD493, 0x00000057, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000039, 0x00000000, 0x00000012, 0x00000100, 0xFFFFFFEB, 0xF24A7C20, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000078, 0x00000026, 0x00000002, 0xFE363C81, 0x0000037F, 0x00000005, 0x00000001, 0x00000028, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFFD, 0x0000002C, 0x00000002, 0xFE363C81, 0xF24A8480, 0x00000043, 0x0000000A, func_80240880_A2AAC0, 0x00000000, 0x00000000, 0x00000000, 0xFE363C80, 0x000000FF, 0x000000FF, 0x000000FF, 0xFE363C81, 0x000003E8, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, func_80240DA0_A2AFE0, 0x00000000, 0x00000023, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000046, 0x000000C8, 0xFFFFFF11, 0x00000043, 0x00000003, LoadSettings, 0x00000000, D_802496C0_A33900, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00120006, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x0013000A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00140007, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00150006, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000004, 0x00160006, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00170008, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000006, 0x0018000A, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x0000003B, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0xF4ACD481, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x0000003B, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0xF4ACD482, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x0000003B, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0xF4ACD483, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x0000003B, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0xF4ACD484, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x0000003B, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0xF4ACD485, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x0000003B, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0xF4ACD486, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x0000003B, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0xF4ACD487, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000008, func_802409C4_A2AC04, 0x0000006E, 0x0000006E, 0x0000006E, 0x000000FF, 0x000000FF, 0x000000FF, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000008, func_802409C4_A2AC04, 0x000000E6, 0x000000E6, 0x000000E6, 0x00000000, 0x00000000, 0x00000000, 0x0000001E, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001C, 0x00000043, 0x00000007, func_802CFD30, 0x00000000, 0x00000005, 0x00000008, 0x00000001, 0x00000001, 0x00000000, 0x00000057, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x000000FF, 0x00000005, 0x00000001, 0x00000014, 0x00000043, 0x00000007, func_802CFD30, 0x00000001, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000007, func_802CFD30, 0x00000002, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000007, func_802CFD30, 0x00000003, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000007, func_802CFD30, 0x00000004, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000007, func_802CFD30, 0x00000005, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000007, func_802CFD30, 0x00000006, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000007, func_802CFD30, 0x00000000, 0x00000007, 0x000000FF, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x0000007D, 0x00000002, 0xFFFFFF7E, 0x000000DC, 0x00000082, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD480, 0xFE363C8F, 0x00000024, 0x00000002, 0xFE363C80, 0xFFFFFF7E, 0x00000024, 0x00000002, 0xFE363C81, 0x000000DC, 0x00000024, 0x00000002, 0xFE363C82, 0x00000082, 0x0000002C, 0x00000002, 0xFE363C81, 0xF24A0280, 0x00000043, 0x00000005, SetNpcPos, 0x00000009, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000044, 0x00000001, D_80249AA8_A33CE8, 0x00000043, 0x00000002, func_802D7B10, 0xF4ACD481, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000024, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000004, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000072, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000010, 0x00000010, 0x00000002, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD488, 0xFE363C8F, 0x00000043, 0x00000004, func_802428C8_A2CB08, 0x00000001, 0x0000001E, 0xF24A7C80, 0x00000043, 0x00000005, LoadPath, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000026, 0x00000002, 0xFE363C84, 0xF24A7E80, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000006, func_80240E50_A2B090, 0xF4ACD488, 0xF4ACD493, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x0000002C, 0x00000002, 0xFE363C84, 0xF24A7A60, 0x00000043, 0x00000005, SetNpcScale, 0x00000000, 0xFE363C84, 0xFE363C84, 0xFE363C84, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000001, func_80240F30_A2B170, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00120004, 0x00000043, 0x00000007, func_802CFD30, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000000, 0x00000002, 0x00000001, 0x00000043, 0x00000002, func_802D7B10, 0xF4ACD488, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000003, func_80240DA0_A2AFE0, 0x00000000, 0x00000032, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000028, 0x000000C8, 0xFFFFFFD8, 0x00000043, 0x00000003, LoadSettings, 0x00000000, D_80249820_A33A60, 0x00000043, 0x00000002, RemoveEffect, 0xF4ACD490, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x00800018, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000002D, 0x00000043, 0x00000004, NpcFaceNpc, 0x00000007, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000009, 0x00600012, 0x00000044, 0x00000001, D_80249B48_A33D88, 0x00000043, 0x00000001, func_802425A0_A2C7E0, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000009, 0x00600009, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000009, 0x00600012, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000009, 0x0060000D, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000009, 0x00600009, 0x00000057, 0x00000000, 0x00000043, 0x00000001, func_80242704_A2C944, 0x00000043, 0x00000003, func_80240DA0_A2AFE0, 0x00000000, 0x00000032, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x000000C8, 0x00000000, 0x00000043, 0x00000003, LoadSettings, 0x00000000, D_80249878_A33AB8, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x0080001B, 0x00000056, 0x00000000, 0x00000043, 0x00000001, func_80242F74_A2D1B4, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000056, 0x00000000, 0x00000043, 0x00000001, func_80244550_A2E790, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000009, 0x0060000B, 0x00000043, 0x00000001, func_8024301C_A2D25C, 0x00000056, 0x00000000, 0x00000043, 0x00000001, func_80240F88_A2B1C8, 0x00000043, 0x00000001, func_80240F88_A2B1C8, 0x00000043, 0x00000001, func_80240F88_A2B1C8, 0x00000043, 0x00000001, func_80240F88_A2B1C8, 0x00000043, 0x00000001, func_80240F88_A2B1C8, 0x00000043, 0x00000001, func_80240F88_A2B1C8, 0x00000043, 0x00000001, func_80240F88_A2B1C8, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000009, 0x0060000D, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000009, 0x00600011, 0x00000008, 0x00000001, 0x00000020, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000000, 0xF24A7A80, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000001, 0xF24A7A80, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000002, 0xF24A7A80, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000003, 0xF24A7A80, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000004, 0xF24A7A80, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000005, 0xF24A7A80, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000006, 0xF24A7A80, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x00800017, 0x00000056, 0x00000000, 0x00000043, 0x00000001, func_80244774_A2E9B4, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, func_8024486C_A2EAAC, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000001, func_80240DF8_A2B038, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_05/A37E70.data.s b/ver/us/asm/data/world/area_hos/hos_05/A37E70.data.s deleted file mode 100644 index bf1ba38a3e..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_05/A37E70.data.s +++ /dev/null @@ -1,39 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_8024DC30_A37E70 -.word 0x0000004D, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C85, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C86, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C87, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C88, 0x00000001, 0x00000043, 0x00000001, dup_hos_05_UpdateTexturePanSmooth, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, dup_hos_05_UpdateTexturePanStepped, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024DCCC_A37F0C -.byte 0x00, 0x00, 0x00, 0xFF - -dlabel D_8024DCD0_A37F10 -.byte 0x00, 0x00, 0x00, 0xFF - -dlabel D_8024DCD4_A37F14 -.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x0000003C, 0x0000001E, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000026, 0x00000002, 0xFE363C82, 0xFE363C80, 0x0000002E, 0x00000002, 0xFE363C82, 0xF24A7AE7, 0x0000002C, 0x00000002, 0xFE363C82, 0xFD050F8B, 0x00000043, 0x00000005, TranslateGroup, 0x00000092, 0x00000000, 0xFE363C82, 0x00000000, 0x00000043, 0x00000005, TranslateGroup, 0x00000090, 0x00000000, 0xFE363C82, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0x00000090, 0xFD050F8A, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x0000003C, 0x00000000, 0x0000001E, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000026, 0x00000002, 0xFE363C82, 0xFE363C80, 0x0000002E, 0x00000002, 0xFE363C82, 0xF24A7AE7, 0x0000002C, 0x00000002, 0xFE363C82, 0xFD050F8B, 0x00000043, 0x00000005, TranslateGroup, 0x00000092, 0x00000000, 0xFE363C82, 0x00000000, 0x00000043, 0x00000005, TranslateGroup, 0x00000090, 0x00000000, 0xFE363C82, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0x00000090, 0xFD050F8A, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024DED8_A38118 -.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000002, UpdateColliderTransform, 0x0000000D, 0x00000043, 0x00000002, UpdateColliderTransform, 0x0000000B, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024DF28_A38168 -.word 0x00000043, 0x00000003, ParentColliderToModel, 0x0000000D, 0x0000008D, 0x00000043, 0x00000003, ParentColliderToModel, 0x0000000B, 0x0000008D, 0x0000000F, 0x00000002, 0xF5DE0180, 0x0000005C, 0x00000044, 0x00000001, D_8024DED8_A38118, 0x00000024, 0x00000002, 0xFD050F8A, 0xFFFFFF92, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000003, 0x00000024, 0x00000002, 0xFD050F8B, 0x00000384, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFD050F8B, 0xFFFFFFAB, 0x00000013, 0x00000000, 0x00000044, 0x00000001, D_8024DCD4_A37F14, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024DFF0_A38230 -.word 0x00000008, 0x0000000B, 0x0000000C, 0x00000018, 0x00000072, 0x0000008B, 0x0000FFFF - -dlabel D_8024E00C_A3824C -.word 0x00000043, 0x00000003, EnableGroup, 0x0000006F, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x0000008A, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0x0000005C, 0x00000043, 0x00000003, EnableModel, 0x00000093, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000004, SetModelCustomGfx, 0x00000093, 0x00000000, 0xFFFFFFFF, 0x00000043, 0x00000004, SetCustomGfxBuilders, 0x00000000, func_8024564C_A2F88C, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000093, 0x00000001, 0x00000043, 0x00000002, func_8024569C_A2F8DC, 0x0000007F, 0x00000043, 0x00000003, EnableGroup, 0x00000090, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x00000071, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000079, 0x00000000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000009, 0x7FFFFE00, 0x00000043, 0x00000003, SetZoneEnabled, 0x00000004, 0x00000000, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8480, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024E148_A38348 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000004, dup_hos_05_UnkFunc27, 0x00000002, 0x00000000, 0x00000003, 0x00000043, 0x00000004, dup_hos_05_UnkFunc27, 0x00000001, D_8024DFF0_A38230, 0x00000003, 0x00000043, 0x00000008, func_802452C4_A2F504, 0x000000FF, 0x000000FF, 0x000000FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000008, func_802452C4_A2F504, 0x00000066, 0x00000066, 0x00000066, 0x00000000, 0x00000000, 0x00000000, 0x0000003C, 0x00000057, 0x00000000, 0x00000044, 0x00000001, D_8024DED8_A38118, 0x00000024, 0x00000002, 0xFD050F8A, 0x00000000, 0x00000024, 0x00000002, 0xFD050F8B, 0x00000000, 0x00000044, 0x00000001, D_8024DCD4_A37F14, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000009, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFFA6, 0x00000024, 0x00000002, 0xFE363C82, 0x00000046, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFC4, 0x00000024, 0x00000002, 0xFE363C84, 0x0000005A, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C86, 0x00000001, 0x00000024, 0x00000002, 0xFE363C87, 0x00000001, 0x00000024, 0x00000002, 0xFE363C88, 0x00000001, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_8024DC30_A37E70, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x00000091, 0x00000009, 0x00000043, 0x00000006, PlaySoundAt, 0x000000A3, 0x00000000, 0x00000000, 0x000000FA, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000035, 0x00000002, 0x00000000, 0x000000FA, 0x00000000, 0x0000000A, 0xFE363C89, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, SetModelCustomGfx, 0x00000091, 0x00000001, 0xFFFFFFFF, 0x00000043, 0x00000004, SetCustomGfxBuilders, 0x00000001, func_802456C8_A2F908, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000092, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x000000C8, 0x0000004B, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000002, func_80245718_A2F958, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000004, SetModelCustomGfx, 0x00000093, 0x00000000, 0xFFFFFFFF, 0x00000043, 0x00000004, SetCustomGfxBuilders, 0x00000000, func_8024564C_A2F88C, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000093, 0x00000001, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x0000007F, 0x0000003C, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000002, func_8024569C_A2F8DC, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000006, PlaySoundAt, 0x000004A3, 0x00000000, 0x00000000, 0x000000FA, 0x00000000, 0x00000043, 0x00000002, func_802D7B10, 0xFE363C89, 0x00000043, 0x00000003, EnableGroup, 0x00000090, 0x00000001, 0x00000043, 0x00000005, MakeLerp, 0x000000C8, 0x00000000, 0x0000002D, 0x00000004, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000002, func_80245718_A2F958, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000092, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0xFFFFFF92, 0x0000005A, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000024, 0x00000002, 0xFD050F8A, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0xFFFFFFAB, 0x0000003C, 0x00000004, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000024, 0x00000002, 0xFD050F8B, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000008, func_802452C4_A2F504, 0x000000FF, 0x000000FF, 0x000000FF, 0x00000000, 0x00000000, 0x00000000, 0x0000003C, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024E760_A389A0 -.word 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetModelCenter, 0x0000008D, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFFB, 0x0000000A, 0x00000002, 0xFD050F8C, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000013, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000A, 0x0000000A, 0x00000002, 0xFD050F8D, 0x00000001, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024E828_A38A68 -.word 0x00000043, 0x00000002, GetPartnerInUse, 0xFE363C89, 0x0000000B, 0x00000002, 0xFE363C89, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000040, 0x00000001, 0x00000045, 0x00000002, D_8024E760_A389A0, 0xFE363C89, 0x00000043, 0x00000002, HidePlayerShadow, 0x00000001, 0x00000043, 0x00000002, GetModelCenter, 0x0000008D, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFFB, 0x00000043, 0x00000002, SetPlayerJumpscale, 0x00000000, 0x00000043, 0x00000005, PlayerJump2, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000002, 0x00000043, 0x00000002, SetPlayerActionState, 0x0000000A, 0x00000024, 0x00000002, 0xFD050F8C, 0x00000001, 0x00000043, 0x00000003, InterpPlayerYaw, 0x00000000, 0x00000000, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFC, 0xF24A8080, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000C, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000024, 0x00000002, 0xFD050F8D, 0x00000001, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFC, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D0188, 0x000000A0, 0x00000028, 0x00000043, 0x00000002, ShowChoice, 0x001E000C, 0x00000043, 0x00000001, CloseMessage, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000049, 0x00000001, 0xFE363C89, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000024, 0x00000002, 0xFD050F8C, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFD050F8D, 0x00000000, 0x00000043, 0x00000002, PartnerIsFlying, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFC, 0x00000001, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFC, 0x0000002D, 0x000000A2, 0x00000019, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFC, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000040, 0x00000000, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000057, 0x00000000, 0x00000043, 0x00000002, SetPlayerJumpscale, 0x00000001, 0x00000043, 0x00000005, PlayerJump, 0x00000019, 0x000000A2, 0x0000002D, 0x0000000A, 0x00000043, 0x00000002, SetPlayerActionState, 0x0000000A, 0x00000043, 0x00000002, HidePlayerShadow, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x0000000C, 0x00000002, 0xF5DE0180, 0x0000005D, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000062, 0x00000000, 0x00000008, 0x00000012, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000062, 0x00000001, 0x00000008, 0x00000013, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000019, 0x00000043, 0x00000001, func_802457C0_A2FA00, 0x00000057, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtPlayer, 0x0000017D, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0xFD050F8B, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x000003E8, 0x00000064, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000027, 0x00000002, 0xFE363C80, 0xFE363C82, 0x00000024, 0x00000002, 0xFD050F8B, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0x0000005D, 0x00000043, 0x00000003, GotoMap, 0x8024F290, 0x00000002, 0x00000012, 0x00000000, 0x00000043, 0x00000003, GotoMap, 0x8024F288, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024ED24_A38F64 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, SetPlayerActionState, 0x0000000A, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000040, 0x00000001, 0x00000043, 0x00000002, HidePlayerShadow, 0x00000001, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFC, 0x00000000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0x000000B4, 0xFFFFFFFB, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x000000B4, 0xFFFFFFFB, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF2531280, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24ABE80, 0xF249EE80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000024, 0x00000002, 0xFD050F8C, 0x00000001, 0x00000024, 0x00000002, 0xFD050F8D, 0x00000001, 0x00000045, 0x00000002, D_8024E760_A389A0, 0xFE363C89, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000019, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFEA2, 0xFFFFFFBA, 0x0000003C, 0x00000004, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000026, 0x00000002, 0xFE363C82, 0xFE363C80, 0x0000002F, 0x00000002, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24ABE80, 0xFE363C82, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtPlayer, 0x0000017F, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x000002EE, 0xFFFFFFAB, 0x0000005A, 0x00000004, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000024, 0x00000002, 0xFD050F8B, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000049, 0x00000001, 0xFE363C89, 0x00000024, 0x00000002, 0xFD050F8C, 0x00000000, 0x00000043, 0x00000002, SetPlayerJumpscale, 0x00000001, 0x00000043, 0x00000005, PlayerJump, 0x00000019, 0x000000A2, 0x0000002D, 0x0000000A, 0x00000043, 0x00000002, SetPlayerActionState, 0x0000000A, 0x00000043, 0x00000002, HidePlayerShadow, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFD050F8D, 0x00000000, 0x00000043, 0x00000002, GetCurrentPartnerID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000004, 0x00000016, 0x00000001, 0x00000009, 0x00000016, 0x00000001, 0x00000006, 0x00000016, 0x00000001, 0x00000008, 0x0000001C, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFC, 0x00000001, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFC, 0x0000002D, 0x000000A2, 0x00000019, 0x0000000A, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFC, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000040, 0x00000000, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000057, 0x00000000, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000063, 0x00000000, 0x00000008, 0x00000043, 0x00000003, ResetCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8480, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_06/A3BA40.data.s b/ver/us/asm/data/world/area_hos/hos_06/A3BA40.data.s deleted file mode 100644 index 5b272cb457..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_06/A3BA40.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80242560_A3BA40 -.word 0xC3F20000, 0x00000000, 0x40A00000, 0x42B40000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80242A50, D_80242560_A3BA40, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x00190022, 0x00000043, 0x00000008, MakeEntity, Entity_HiddenPanel, 0xFFFFFFCE, 0x00000000, 0x0000015E, 0xFFFFFFA6, 0x00000004, 0x80000000, 0x00000043, 0x00000002, AssignPanelFlag, 0xF8405D9C, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_06/A3BAE0.data.s b/ver/us/asm/data/world/area_hos/hos_06/A3BAE0.data.s deleted file mode 100644 index eb5cc94fac..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_06/A3BAE0.data.s +++ /dev/null @@ -1,21 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80242600_A3BAE0 -.word 0x0000004D, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C85, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C86, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C87, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C88, 0x00000001, 0x00000043, 0x00000001, hos_06_UpdateTexturePanSmooth, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, hos_06_UpdateTexturePanStepped, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024269C_A3BB7C -.word 0x00000043, 0x00000003, EnableTexPanning, 0x0000008C, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x00004000, 0x00000043, 0x00000005, SetTexPanOffset, 0x0000000C, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024271C_A3BBFC -.word 0x00000044, 0x00000001, D_8024269C_A3BB7C, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0x0000008D, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0x0000008F, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x00000006, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802427B8_A3BC98 -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80246250, 0x00000002, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242814_A3BCF4 -.word 0x00000047, 0x00000005, D_802427B8_A3BC98, 0x00080000, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242840_A3BD20 -.word 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFF9C, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0x00000028, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C86, 0x00000000, 0x00000024, 0x00000002, 0xFE363C87, 0x00000001, 0x00000024, 0x00000002, 0xFE363C88, 0x00000000, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_80242600_A3BAE0, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x00000083, 0x00000003, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFF38, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0x00000064, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C86, 0x00000000, 0x00000024, 0x00000002, 0xFE363C87, 0x00000001, 0x00000024, 0x00000002, 0xFE363C88, 0x00000000, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_80242600_A3BAE0, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x00000084, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x0000001B, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000024, 0x00000002, 0xF9718936, 0x00000000, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80244048, 0x00000046, 0x00000001, 0x802425B0, 0x00000044, 0x00000001, 0x8024621C, 0x00000044, 0x00000001, D_8024271C_A3BBFC, 0x00000024, 0x00000002, 0xFE363C80, D_80242814_A3BCF4, 0x00000044, 0x00000001, EnterWalk, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000061, 0x00000000, 0x00000008, 0x00000044, 0x00000001, 0x802444B8, 0x00000044, 0x00000001, D_80242840_A3BD20, 0x00000047, 0x00000005, 0x80245878, 0x00000100, 0x0000001B, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_06/A3C090.data.s b/ver/us/asm/data/world/area_hos/hos_06/A3C090.data.s deleted file mode 100644 index de54c78991..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_06/A3C090.data.s +++ /dev/null @@ -1,84 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80242BB0_A3C090 -.word 0x00000000, 0x00220018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_80242BDC_A3C0BC -.word 0x00000000, 0x00180018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel hos_06_varStash -.word 0x00000000 - -dlabel D_80242C0C_A3C0EC -.word 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000010, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel hos_06_ItemChoice_HasSelectedItem -.word 0x00000000 - -dlabel hos_06_ItemChoice_SelectedItemID -.word 0x00000000 - -dlabel D_80242C74_A3C154 -.word 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C81, 0x00000043, 0x00000001, ShowKeyChoicePopup, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, RemoveKeyItemAt, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, dup_hos_06_AddPlayerHandsOffset, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000042, 0x00000002, 0xFE363C80, 0x00050000, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00060005, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000002, RemoveItemEntity, 0xFE363C80, 0x00000023, 0x00000000, 0x00000043, 0x00000002, hos_06_ItemChoice_SaveSelected, 0xFE363C8A, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, func_802406E0_A39BC0, 0xFE363C80, 0x0000004E, 0x00000006, D_80242C74_A3C154, 0x00000010, 0x00000000, hos_06_D_80246260, 0x00000000, 0x00000001, 0x00000043, 0x00000002, hos_06_ItemChoice_WaitForSelection, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242E08_A3C2E8 -.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, hos_06_LetterDelivery_CalcLetterPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000005, SetItemPos, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242E88_A3C368 -.word 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C81, 0x00000043, 0x00000001, ShowKeyChoicePopup, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, RemoveKeyItemAt, 0xFE363C81, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, hos_06_LetterDelivery_CalcLetterPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000042, 0x00000002, 0xFE363C80, 0x00050000, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000001, 0x00000000, 0x00000045, 0x00000002, D_80242E08_A3C2E8, 0xFE363C8A, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00040002, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0xFE363C89, 0xFFFFFFFC, 0xFE363C8B, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000005, GetNpcPos, 0xFE363C89, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000100, 0x00000001, 0x0000000E, 0x00000002, 0xFE363C8B, 0x000000B4, 0x00000027, 0x00000002, 0xFE363C86, 0x00000014, 0x00000012, 0x00000000, 0x00000027, 0x00000002, 0xFE363C86, 0xFFFFFFEC, 0x00000013, 0x00000000, 0x00000027, 0x00000002, 0xFE363C87, 0x0000000A, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFC, 0xF24A7A80, 0x00000043, 0x00000006, NpcJump1, 0xFFFFFFFC, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000014, 0x00000049, 0x00000001, 0xFE363C8A, 0x00000043, 0x00000002, RemoveItemEntity, 0xFE363C80, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, GetNpcYaw, 0xFFFFFFFC, 0xFE363C8A, 0x00000027, 0x00000002, 0xFE363C8A, 0x000000B4, 0x00000043, 0x00000004, InterpNpcYaw, 0xFFFFFFFC, 0xFE363C8A, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, NpcJump1, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000014, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00040001, 0x00000043, 0x00000004, NpcFaceNpc, 0xFFFFFFFC, 0xFE363C89, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000100, 0x00000000, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000008, 0x00000001, 0x00000005, 0x00000023, 0x00000000, 0x00000043, 0x00000002, hos_06_ItemChoice_SaveSelected, 0xFE363C8A, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802431AC_A3C68C -.word 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C8B, 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000002, func_802406E0_A39BC0, 0xFE363C80, 0x0000004E, 0x00000006, D_80242E88_A3C368, 0x00000010, 0x00000000, hos_06_D_80246260, 0x00000000, 0x00000001, 0x00000043, 0x00000002, hos_06_ItemChoice_WaitForSelection, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024321C_A3C6FC -.word 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFBA, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, hos_06_LetterDelivery_SaveNpcAnim, 0x00000043, 0x00000002, GetCurrentPartnerID, 0xFE363C80, 0x00000043, 0x00000003, FindKeyItem, 0xFE363C85, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000004, 0x0000000B, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000003, PlayerFaceNpc, 0xFE363C82, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, GetNpcPos, 0xFE363C82, 0xFE363C8D, 0xFE363C80, 0xFE363C8E, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C8D, 0xFE363C8E, 0xFE363C8F, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFC, 0xF24A7A80, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000043, 0x00000006, NpcJump1, 0xFFFFFFFC, 0xFE363C8D, 0xFE363C80, 0xFE363C8F, 0x0000000A, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFC, 0x00040006, 0x00040001, 0x00000000, 0xFE363C82, 0xFE363C87, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000046, 0x00000001, D_802431AC_A3C68C, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00040006, 0x00040001, 0x00000005, 0xFE363C88, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000001, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00040006, 0x00040001, 0x00000005, 0xFE363C89, 0x0000000B, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000000, 0xFE363C8A, 0x00000013, 0x00000000, 0x00000043, 0x00000001, EnablePartnerAI, 0x0000000B, 0x00000002, 0xFE363C86, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C86, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_80242C0C_A3C0EC, 0x00000043, 0x00000002, AddKeyItem, 0xFE363C86, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000002, 0x00000023, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, hos_06_LetterDelivery_RestoreNpcAnim, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243514_A3C9F4 -.word 0x0000003B, 0x00000000 - -dlabel D_8024351C_A3C9FC -.word 0x00000043, 0x0000000B, hos_06_LetterDelivery_Init, 0x00000001, 0x00B20004, 0x00B20001, 0x0000003B, 0x00000000, 0x000A0058, 0x000A0059, 0x000A005A, 0x000A005B, D_80243514_A3C9F4, 0x00000046, 0x00000001, D_8024321C_A3C6FC, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024356C_A3CA4C -.word 0x0000000A, 0x00000002, 0xFE363C8C, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000003, 0x00000046, 0x00000001, D_80242C0C_A3C0EC, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802435D0_A3CAB0 -.word 0x00000046, 0x00000001, 0x80245E38, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802435EC_A3CACC -.word 0x000000F3, 0x00000001, 0x0024008D, 0x000000FC, 0x00000001, 0x00240096, 0x000000FE, 0x00000003, 0x00240098, 0x000000F1, 0x00000005, 0x00240081, 0x000000F2, 0x00000005, 0x0024008C, 0x000000FF, 0x00000008, 0x00240079, 0x00000140, 0x00000008, 0x0024007A, 0x00000144, 0x0000000A, 0x0024009F, 0x00000100, 0x0000000A, 0x00240099, 0x0000011A, 0x0000000C, 0x0024007C, 0x0000011B, 0x0000000C, 0x0024007D, 0x000000F5, 0x0000000F, 0x00240078, 0x000000FD, 0x00000014, 0x0024009A, 0x00000105, 0x00000019, 0x0024007B, 0x000000E2, 0x00000019, 0x00240073 - -dlabel D_802436A0_A3CB80 -.word 0x00000046, 0x00000001, D_8024351C_A3C9FC, 0x00000046, 0x00000001, D_8024356C_A3CA4C, 0x0000000B, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000F, 0x00000002, 0xF5DE02E1, 0x0000000F, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00B20004, 0x00B20001, 0x00000000, 0x000A004C, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFAA2B580, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00B20004, 0x00B20001, 0x00000000, 0x000A004D, 0x00000012, 0x00000000, 0x0000000A, 0x00000002, 0xF840626A, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00B20004, 0x00B20001, 0x00000000, 0x000A004A, 0x00000024, 0x00000002, 0xF840626A, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00B20004, 0x00B20001, 0x00000000, 0x000A004B, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, ShowChoice, 0x001E0014, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000006, ContinueSpeech, 0x00000001, 0x00B20004, 0x00B20001, 0x00000000, 0x000A004E, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, Merlow_GetPlayerStarPieces, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0x00000001, 0x00B20004, 0x00B20001, 0x00000000, 0x000A004F, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0x00000001, 0x00B20004, 0x00B20001, 0x00000000, 0x000A0050, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, Merlow_ShopBadgesPopup, 0x00000008, 0x00000001, 0x0000000A, 0x0000000A, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00B20004, 0x00B20001, 0x00000000, 0x000A0051, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, Merlow_GetPlayerStarPieces, 0xFE363C83, 0x0000000C, 0x00000002, 0xFE363C83, 0xFE363C81, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00B20004, 0x00B20001, 0x00000000, 0x000A0051, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetMessageMsg, 0xFE363C84, 0x00000000, 0x00000043, 0x00000003, SetMessageValue, 0xFE363C81, 0x00000001, 0x00000043, 0x00000003, SetMessageValue, 0xFE363C85, 0x00000002, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00B20004, 0x00B20001, 0x00000000, 0x000A0053, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00B20004, 0x00B20001, 0x00000000, 0x000A0052, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000043, 0x00000002, ShowChoice, 0x001E000D, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000006, ContinueSpeech, 0x00000001, 0x00B20004, 0x00B20001, 0x00000000, 0x000A0054, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, CloseMessage, 0x00000029, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000002, AddStarPieces, 0xFE363C81, 0x00000027, 0x00000002, 0xF5DE02E1, 0x00000001, 0x00000024, 0x00000002, 0xFAA2B580, 0x00000001, 0x00000043, 0x00000002, Merlow_SetBadgePurchased, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C83, 0x00000024, 0x00000002, 0xFE363C81, 0x00000002, 0x00000046, 0x00000001, D_80242C0C_A3C0EC, 0x00000043, 0x00000003, AddBadge, 0xFE363C80, 0xFE363C81, 0x0000000F, 0x00000002, 0xF5DE02E1, 0x0000000F, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00B20004, 0x00B20001, 0x00000000, 0x000A0055, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, Merlow_GetPlayerStarPieces, 0xFE363C80, 0x0000000E, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00B20004, 0x00B20001, 0x00000000, 0x000A0055, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00B20004, 0x00B20001, 0x00000000, 0x000A0056, 0x00000043, 0x00000002, ShowChoice, 0x001E000D, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000006, ContinueSpeech, 0x00000001, 0x00B20004, 0x00B20001, 0x00000000, 0x000A0057, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, CloseMessage, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243C04_A3D0E4 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_802435D0_A3CAB0, 0x00000044, 0x00000001, 0x80245604, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243C34_A3D114 -.word 0x00000024, 0x00000002, 0xFAA2B580, 0x00000000, 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_802436A0_A3CB80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243C68_A3D148 -.word 0x00000000, D_80242BB0_A3C090, 0x42780000, 0x41A00000, 0x40E00000, 0x00000D05, D_80243C04_A3D0E4, 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, 0x00B00001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x001A0008, 0x00000001, D_80242BDC_A3C0BC, 0xC3160000, 0x43200000, 0xC1C80000, 0x00000D05, D_80243C34_A3D114, 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, 0x00B20001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x001A0009, 0x00000002, D_80243C68_A3D148, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80244060_A3D540 -.word 0x00000043, 0x00000006, RotateGroup, 0x00000078, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244090_A3D570 -.word 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000002E, 0x00000002, 0xFE363C81, 0xF24A8280, 0x00000043, 0x00000006, RotateGroup, 0x00000036, 0xFE363C81, 0x00000000, 0x00000000, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000002E, 0x00000002, 0xFE363C81, 0xF24A8280, 0x00000043, 0x00000006, RotateGroup, 0x00000062, 0xFE363C81, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000002E, 0x00000002, 0xFE363C81, 0xF24A8280, 0x00000043, 0x00000006, RotateGroup, 0x00000064, 0xFE363C81, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000002E, 0x00000002, 0xFE363C81, 0xF24A8280, 0x00000043, 0x00000006, RotateGroup, 0x00000066, 0xFE363C81, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000002E, 0x00000002, 0xFE363C81, 0xF24A8280, 0x00000043, 0x00000006, RotateGroup, 0x00000068, 0xFE363C81, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000002E, 0x00000002, 0xFE363C81, 0xF24A8280, 0x00000043, 0x00000006, RotateGroup, 0x0000006C, 0xFE363C81, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000002E, 0x00000002, 0xFE363C81, 0xF24A8280, 0x00000043, 0x00000006, RotateGroup, 0x00000074, 0xFE363C81, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244260_A3D740 -.word 0x00000043, 0x00000006, RotateGroup, 0x00000078, 0xFE363C80, 0x00000001, 0x00000000, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244290_A3D770 -.word 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000090, 0x00000001, 0x00000043, 0x00000003, SetGroupEnabled, 0x0000009B, 0x00000001, 0x00000043, 0x00000003, SetGroupEnabled, 0x000000D1, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000051, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000076, 0x00000000, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000051, 0x00000001, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000076, 0x00000001, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000090, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x0000009B, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x000000BD, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x000000D1, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802443C0_A3D8A0 -.word 0x00000043, 0x00000006, RotateGroup, 0x000000CD, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802443F0_A3D8D0 -.word 0x00000043, 0x00000006, RotateGroup, 0x000000CF, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244420_A3D900 -.word 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000C, 0x00000002, 0xFE363C81, 0x00000064, 0x00000043, 0x00000003, SetGroupEnabled, 0x000000BD, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x0000009C, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x000000BD, 0x00000001, 0x00000043, 0x00000003, SetGroupEnabled, 0x0000009C, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000090, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x0000009B, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x000000BD, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x000000D1, 0x00000000, 0x0000004E, 0x00000006, D_80244420_A3D900, 0x00000080, 0x0000001E, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000000, D_80244060_A3D540, D_80244090_A3D570, D_80244260_A3D740, D_80244290_A3D770, 0x00000004, 0x00000005, 0x000000D2, 0x00000000, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000000, D_802443C0_A3D8A0, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000007, 0x00000000, 0x00000000, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000001, D_802443F0_A3D8D0, 0x00000000, 0x00000000, 0x00000000, 0x0000000B, 0x0000000A, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_06/A3DAB0.data.s b/ver/us/asm/data/world/area_hos/hos_06/A3DAB0.data.s deleted file mode 100644 index 1d9c77cc49..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_06/A3DAB0.data.s +++ /dev/null @@ -1,66 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel dup_hos_06_ItemChoice_HasSelectedItem -.word 0x00000000 - -dlabel dup_hos_06_ItemChoice_SelectedItemID -.word 0x00000000 - -dlabel D_802445D8_A3DAB8 -.word 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C81, 0x00000043, 0x00000001, ShowKeyChoicePopup, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, RemoveKeyItemAt, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, hos_06_AddPlayerHandsOffset, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000042, 0x00000002, 0xFE363C80, 0x00050000, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00060005, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000002, RemoveItemEntity, 0xFE363C80, 0x00000023, 0x00000000, 0x00000043, 0x00000002, dup_hos_06_ItemChoice_SaveSelected, 0xFE363C8A, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024471C_A3DBFC -.word 0x00000043, 0x00000002, func_80241008_A3A4E8, 0xFE363C80, 0x0000004E, 0x00000006, D_802445D8_A3DAB8, 0x00000010, 0x00000000, hos_06_D_80246430, 0x00000000, 0x00000001, 0x00000043, 0x00000002, dup_hos_06_ItemChoice_WaitForSelection, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel dup_hos_06_varStash -.word 0x00000000 - -dlabel D_80244770_A3DC50 -.word 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000010, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802447D0_A3DCB0 -.byte 0x05, 0x14, 0x1E, 0x00 - -dlabel D_802447D4_A3DCB4 -.word 0x00220001 - -dlabel D_802447D8_A3DCB8 -.word 0x0000010A, 0xFFFFFFF3, 0x00220002, 0x0000010C, 0x0000002B, 0x00220004, 0x0000012F, 0xFFFFFFB6, 0x00220003, 0x000000E1, 0xFFFFFFB6, 0x00220005, 0x000000EB, 0xFFFFFFCB, 0x00220007, 0x0000012E, 0xFFFFFFDF, 0x00220008, 0x000000E4, 0xFFFFFFA7, 0x00220006, 0x000000EF, 0x00000019, 0x00220000, 0x00000123, 0x0000003F, 0x00220009, 0x00000124, 0xFFFFFFC5, 0x0022000B, 0x00000109, 0xFFFFFFA7, 0x0022000C, 0x0000010B, 0x00000029, 0x0022000D, 0x000000E0, 0xFFFFFFF3, 0x00220011, 0x00000107, 0xFFFFD8F0, 0x0022000E, 0x000000E8, 0xFFFFFFB9, 0x0022000F, 0x00000117, 0x0000000B, 0x00220010, 0x00000108, 0x00000029, 0x00220012, 0x000000EE, 0xFFFFFFB6, 0x0022000A, 0x00000126, 0x0000002B, 0x00220013, 0x000000E9, 0xFFFFFFCB, 0x00220016, 0x000000ED, 0xFFFFFFD8, 0x00220041, 0x00000104, 0xFFFFFFA7, 0x00220014, 0x00000106, 0x0000004D, 0x00220017, 0x00000129, 0xFFFFFFCB, 0x00220018, 0x00000132, 0xFFFFFFF6, 0x00220019, 0x00000133, 0x0000005E, 0x0022001A, 0x000000E7, 0xFFFFFFCE, 0x0022001B, 0x00000134, 0xFFFFD8F0, 0x0022001D, 0x000000F8, 0xFFFFFFCE, 0x0022001E, 0x00000135, 0xFFFFFFA7, 0x00220020, 0x000000FF, 0x00002712, 0x00220021, 0x00000136, 0x0000000B, 0x00220022, 0x00000140, 0x00002712, 0x00220023, 0x00000141, 0x0000002B, 0x00220024, 0x00000105, 0x00002712, 0x00220025, 0x00000138, 0x0000002B, 0x00220026, 0x000000E3, 0xFFFFFFCB, 0x00220027, 0x00000116, 0x0000004D, 0x00220028, 0x00000113, 0x0000004D, 0x00220029, 0x000000F4, 0x00000007, 0x0022002A, 0x000000E2, 0x00002712, 0x0022002B, 0x0000013C, 0xFFFFFFF6, 0x0022002C, 0x000000F5, 0x00002712, 0x00220038, 0x00000100, 0x00002712, 0x00220034, 0x000000FA, 0xFFFFFFF6, 0x00220035, 0x000000EC, 0x00000019, 0x00220036, 0x000000E5, 0xFFFFFFC2, 0x0022002F, 0x00000112, 0xFFFFD8F0, 0x0022002D, 0x00000111, 0xFFFFFFF3, 0x0022002E, 0x0000010D, 0xFFFFFFCB, 0x00220030, 0x000000F9, 0xFFFFFFDF, 0x00220037, 0x000000F2, 0x00002712, 0x00220031, 0x00000130, 0x00000029, 0x00220032, 0x0000013A, 0xFFFFFFB9, 0x00220039, 0x000000F1, 0x00002712, 0x00220033, 0x000000FB, 0xFFFFFFF6, 0x0022003A, 0x00000114, 0x0000003F, 0x0022003B, 0x000000F7, 0xFFFFFFC2, 0x0022003C, 0x000000F3, 0x00002712, 0x00220042, 0x000000FC, 0x00002712, 0x00220043, 0x00000103, 0xFFFFFFBA, 0x00220044, 0x0000011A, 0x00002712, 0x00220045, 0x0000011B, 0x00002712, 0x00220046, 0x000000FD, 0x00002712, 0x0022004A, 0x0000011F, 0xFFFFFFB6, 0x00220048, 0x0000011E, 0xFFFFFFF6, 0x0022004B, 0x0000011D, 0xFFFFD8F0, 0x00220049, 0x000000FE, 0x00002712, 0x0022004E, 0x000000E6, 0xFFFFFFB6, 0x0022004C, 0x0000011C, 0xFFFFFFBA, 0x0022004D, 0x00000120, 0x0000000F, 0x00220015, 0x00000143, 0xFFFFFFF3, 0x0022003D, 0x00000145, 0xFFFFFFCB, 0x0022003E, 0x00000146, 0xFFFFD8F0, 0x0022003F, 0x00000147, 0x0000003F, 0x00220040, 0x00000148, 0xFFFFFFBA, 0x00220047, 0x00000144, 0x00002712, 0x0022001C, 0x0000014A, 0x00000007, 0x0022001F, 0x0000014D, 0x00000007 - -dlabel D_80244B88_A3E068 -.word 0x0022004F, 0xF8405D31, 0xFFFFFFC5, 0x00220050, 0xF8405D32, 0xFFFFFFD8, 0x00220051, 0xF8405D33, 0x00000018, 0x00220052, 0xF8405D34, 0x0000003D, 0x00220053, 0xF8405D35, 0x0000000F, 0x00220054, 0xF8405E51, 0xFFFFFFC5, 0x00220055, 0xF8405EBD, 0xFFFFFFB5, 0x00220056, 0xF8405F07, 0xFFFFFFC2, 0x00220057, 0xF8405F96, 0xFFFFFFE1, 0x00220058, 0xF840602A, 0xFFFFFFF6, 0x00220059, 0xF840607E, 0x0000000B, 0x0022005A, 0xF84060B0, 0x00000018, 0x0022005B, 0xF84060B1, 0x00000018, 0x0022005C, 0xF84060FA, 0x0000002B, 0x0022005D, 0xF84060FB, 0x0000002B, 0x0022005E, 0xF8406131, 0x0000003F - -dlabel D_80244C48_A3E128 -.word 0x0022005F - -dlabel D_80244C4C_A3E12C -.word 0xF8405BCA, 0xFFFFD8F0, 0x00220060, 0xF8405BD2, 0xFFFFD8F0, 0x00220061, 0xF8405BD6, 0xFFFFFFD8, 0x00220062, 0xF8405BD8, 0xFFFFFFD8, 0x00220063, 0xF8405BDA, 0xFFFFFFD8, 0x00220064, 0xF8405CAD, 0x0000000F, 0x00220065, 0xF8405CA7, 0xFFFFFFD8, 0x00220066, 0xF8405CA9, 0xFFFFFFD8, 0x00220067, 0xF8405CAA, 0xFFFFFFD8, 0x00220068, 0xF8405CAC, 0xFFFFFFD8, 0x00220069, 0xF8405CAE, 0xFFFFD8F0, 0x0022006A, 0xF8405D9A, 0xFFFFFFD8, 0x0022006B, 0xF8405D9B, 0xFFFFFFD8, 0x0022006C, 0xF8405D9C, 0xFFFFFFD8, 0x0022006D, 0xF8405DA0, 0xFFFFD8F0, 0x0022006E, 0xF8405D14, 0xFFFFFFC5, 0x0022006F, 0xF8405DC4, 0xFFFFFF9D, 0x00220070, 0xF8405DDE, 0xFFFFFFD8, 0x00220071, 0xF8405DE0, 0xFFFFFFD8, 0x00220072, 0xF8405DE1, 0xFFFFFFD8, 0x00220073, 0xF8405DC3, 0xFFFFFFA4, 0x00220074, 0xF8405DD1, 0xFFFFFFA4, 0x00220075, 0xF8405E2F, 0xFFFFFFB9, 0x00220076, 0xF8405E4D, 0xFFFFFFD8, 0x00220077, 0xF8405E30, 0xFFFFFFB9, 0x00220078, 0xF8405E9C, 0xFFFFFFD8, 0x00220079, 0xF8405E74, 0xFFFFFFD8, 0x0022007A, 0xF8405EF5, 0xFFFFFFC2, 0x0022007B, 0xF8405F41, 0xFFFFFFD8, 0x0022007C, 0xF8405F44, 0xFFFFFFD8, 0x0022007D, 0xF8405F4C, 0xFFFFFFD8, 0x0022007E, 0xF8405F54, 0xFFFFFFD8, 0x0022007F, 0xF8405F50, 0xFFFFFFD8, 0x00220080, 0xF8405F25, 0xFFFFFFD8, 0x00220081, 0xF8405F7B, 0xFFFFFFDF, 0x00220082, 0xF8405F92, 0xFFFFFFDF, 0x00220083, 0xF8405F9A, 0xFFFFFFDF, 0x00220084, 0xF8405FEC, 0xFFFFFFF6, 0x00220085, 0xF8406026, 0xFFFFFFF6, 0x00220086, 0xF8406027, 0xFFFFFFF6, 0x00220087, 0xF8406028, 0xFFFFFFF6, 0x00220088, 0xF8406029, 0xFFFFFFF6, 0x00220089, 0xF8405FED, 0xFFFFFFF6, 0x0022008A, 0xF8406016, 0xFFFFFFF6, 0x0022008B, 0xF8406075, 0x0000000B, 0x0022008C, 0xF8406076, 0x0000000B, 0x0022008D, 0xF840604D, 0x0000000B, 0x0022008E, 0xF8406064, 0x0000000B, 0x0022008F, 0xF8406082, 0x0000000B, 0x00220090, 0xF84060BA, 0x00000019, 0x00220091, 0xF84060BB, 0x00000019, 0x00220092, 0xF84060EC, 0x0000002B, 0x00220093, 0xF84060FC, 0x0000002B, 0x00220094, 0xF84060FE, 0x0000002B, 0x00220095, 0xF84060EB, 0x0000002B, 0x00220096, 0xF84060FF, 0x0000002B, 0x00220097, 0xF84060E5, 0x0000002B, 0x00220098, 0xF8406138, 0x0000003F, 0x00220099, 0xF840611C, 0x0000003F, 0x0022009A, 0xF8406125, 0x0000003F, 0x0022009B, 0xF8406162, 0x0000004D, 0x0022009C, 0xF8406166, 0x0000004D, 0x0022009D, 0xF8406168, 0x0000004D - -dlabel D_80244F3C_A3E41C -.word 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000007C, 0x00000002, 0x00000008, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00B00008, 0x00000043, 0x00000002, GetModelCenter, 0x0000007E, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x00000006, PlaySoundAt, 0x00000207, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000052, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xF24A7E80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD481, 0xFE363C8F, 0x00000043, 0x00000003, EnableModel, 0x0000008C, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000008E, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000056, 0x00000000, 0x00000043, 0x00000001, func_802418E8_A3ADC8, 0x00000057, 0x00000000, 0x00000043, 0x00000002, GetModelCenter, 0x0000007E, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFEC, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0xF2490C80, 0xF24AC420, 0x00000043, 0x00000003, GetCamDistance, 0x00000000, 0xFE363C80, 0x0000000D, 0x00000002, 0xFE363C80, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0xF24EECE7, 0x00000012, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0xF246081A, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xFE363C80, 0x00000043, 0x00000004, GetCamPitch, 0x00000000, 0xFE363C80, 0xFE363C81, 0x00000026, 0x00000002, 0xFE363C81, 0xF24A4E80, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x0000000F, PlayEffect, 0x00000053, 0x00000000, 0xFFFFFED6, 0x00000015, 0xFFFFFEB6, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD482, 0xFE363C8F, 0x00000043, 0x00000002, GetModelCenter, 0x0000007E, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x0000000F, PlayEffect, 0x00000051, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD483, 0xFE363C8F, 0x00000043, 0x0000000F, PlayEffect, 0x00000051, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD484, 0xFE363C8F, 0x00000043, 0x0000000F, PlayEffect, 0x00000051, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD485, 0xFE363C8F, 0x00000056, 0x00000000, 0x00000043, 0x00000001, func_80241CCC_A3B1AC, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000032, 0x00000043, 0x00000002, GetModelCenter, 0x0000007E, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x00000006, PlaySoundAt, 0x00000208, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000052, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xF24A7C80, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, GetModelCenter, 0x0000007E, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x00000006, PlaySoundAt, 0x00000208, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000052, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xF24A7C80, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000056, 0x00000000, 0x00000043, 0x00000001, func_80241A58_A3AF38, 0x00000057, 0x00000000, 0x00000043, 0x00000002, GetModelCenter, 0x0000007E, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x00000006, PlaySoundAt, 0x00000208, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000052, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xF24A7C80, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000046, 0x00000043, 0x00000002, func_802D7B10, 0xF4ACD482, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000006, PlaySoundAt, 0x00000607, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000002, func_80241F98_A3B478, 0xF4ACD481, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000003, EnableModel, 0x0000008C, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x0000008E, 0x00000001, 0x00000043, 0x00000002, func_802D7B10, 0xF4ACD481, 0x00000056, 0x00000000, 0x00000043, 0x00000001, func_80241B74_A3B054, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000002E, 0x00000043, 0x00000003, ResetCam, 0x00000000, 0xF24A8E80, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00B00001, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000061, 0x00000000, 0x00000008, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802411F0_A3A6D0, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245620_A3EB00 -.word 0x0000000A, 0x00000002, 0xF5DE02DC, 0x00000008, 0x0000000A, 0x00000002, 0xF8405D98, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00080007, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00B00004, 0x00B00001, 0x00000000, 0x000A0046, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, ContinueSpeech, 0x00000000, 0x00B00004, 0x00B00001, 0x00000000, 0x000A0047, 0x00000024, 0x00000002, 0xF8405D98, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802456F4_A3EBD4 -.word 0x00000027, 0xFFFFFFFF - -dlabel D_802456FC_A3EBDC -.word 0x0000000A, 0x00000002, 0xF8405D98, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xF8405D99, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, FindKeyItem, 0x00000027, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00B00004, 0x00B00001, 0x00000000, 0x000A0048, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_802456F4_A3EBD4, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000046, 0x00000001, D_8024471C_A3DBFC, 0x0000000B, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00B00004, 0x00B00001, 0x00000000, 0x000A0049, 0x00000024, 0x00000002, 0xFE363C80, 0x00000071, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_80244770_A3DC50, 0x00000043, 0x00000002, AddKeyItem, 0x00000071, 0x00000024, 0x00000002, 0xF8405D99, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00B00004, 0x00B00001, 0x00000000, 0x000A0048, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, func_802CF56C, 0x00000001, 0x00000043, 0x00000004, PlayerMoveTo, 0xFFFFFFCF, 0x00000000, 0x00000006, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000000, 0x00000000, 0x0000000A, 0x00000002, 0xFD050F8A, 0x00000000, 0x0000003E, 0x00000002, 0x00000014, 0xFD050F8A, 0x00000013, 0x00000000, 0x0000003C, 0x00000001, 0xFD050F8A, 0x0000000A, 0x00000002, 0xF9718936, 0x00000000, 0x00000024, 0x00000002, 0xF9718936, 0x00000001, 0x0000000A, 0x00000002, 0xF8405D97, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00B00004, 0x00B00001, 0x00000000, 0x000A0038, 0x00000024, 0x00000002, 0xF8405D97, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00B00004, 0x00B00001, 0x00000000, 0x000A0039, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00B00004, 0x00B00001, 0x00000000, 0x000A003A, 0x00000013, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, ShowChoice, 0x001E0011, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0x00000000, 0x00B00004, 0x00B00001, 0x00000000, 0x000A003C, 0x00000043, 0x00000002, func_802CF56C, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, ShowCoinCounter, 0x00000001, 0x00000043, 0x00000002, ShowChoice, 0x001E0000, 0x00000043, 0x00000002, ShowCoinCounter, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000004, 0x00000043, 0x00000006, ContinueSpeech, 0x00000000, 0x00B00004, 0x00B00001, 0x00000000, 0x000A003C, 0x00000043, 0x00000002, func_802CF56C, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, func_802417EC_A3ACCC, 0xFE363C80, 0xFE363C81, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0x00000000, 0x00B00004, 0x00B00001, 0x00000000, 0x000A003D, 0x00000043, 0x00000002, func_802CF56C, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, func_80241860_A3AD40, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0x00000000, 0x00B00004, 0x00B00001, 0x00000000, 0x000A003E, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00B00007, 0x00B00007, 0x00000000, 0x000A0041, 0x00000046, 0x00000001, D_80244F3C_A3E41C, 0x00000043, 0x00000001, func_80241668_A3AB48, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00B00006, 0x00B00006, 0x00000000, 0x000A0042, 0x00000043, 0x00000002, func_802418A4_A3AD84, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00B00004, 0x00B00001, 0x00000000, 0xFE363C81, 0x00000013, 0x00000000, 0x00000004, 0x00000001, 0x00000063, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000006, ContinueSpeech, 0x00000000, 0x00B00004, 0x00B00001, 0x00000000, 0x000A003F, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00B00007, 0x00B00007, 0x00000000, 0x000A0041, 0x00000046, 0x00000001, D_80244F3C_A3E41C, 0x00000043, 0x00000001, func_8024126C_A3A74C, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00B00006, 0x00B00006, 0x00000000, 0x000A0043, 0x00000043, 0x00000002, func_802418A4_A3AD84, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00B00004, 0x00B00001, 0x00000000, 0xFE363C81, 0x00000013, 0x00000000, 0x00000004, 0x00000001, 0x00000063, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000006, ContinueSpeech, 0x00000000, 0x00B00004, 0x00B00001, 0x00000000, 0x000A0040, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00B00007, 0x00B00007, 0x00000000, 0x000A0041, 0x00000046, 0x00000001, D_80244F3C_A3E41C, 0x00000043, 0x00000001, func_802414E4_A3A9C4, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00B00006, 0x00B00006, 0x00000000, 0x000A0044, 0x00000043, 0x00000002, func_802418A4_A3AD84, 0x00000002, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00B00004, 0x00B00001, 0x00000000, 0xFE363C81, 0x00000013, 0x00000000, 0x00000004, 0x00000001, 0x00000063, 0x00000023, 0x00000000, 0x00000003, 0x00000001, 0x00000063, 0x00000043, 0x00000002, func_802CF56C, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00B00004, 0x00B00001, 0x00000000, 0x000A0045, 0x00000046, 0x00000001, D_802456FC_A3EBDC, 0x00000046, 0x00000001, D_80245620_A3EB00, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel dup2_hos_06_varStash -.word 0x00000000, 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_80245EEC_A3F3CC -.word 0x0000010D, 0x00000083, 0x00000129, 0x00000111, 0x000000A2 - -dlabel D_80245F00_A3F3E0 -.word 0x00000043, 0x00000004, PlaySoundAtCollider, 0x0000001A, 0x0000204A, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x00000050, 0x00000014, 0x00000004, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateGroup, 0x0000009A, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245FB0_A3F490 -.word 0x00000043, 0x00000005, MakeLerp, 0x00000050, 0x00000000, 0x00000014, 0x00000004, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateGroup, 0x0000009A, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x0000001A, 0x0000204B, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246060_A3F540 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000046, 0x00000001, D_80245F00_A3F3E0, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000001, func_8024228C_A3B76C, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D00D4, 0x000000A0, 0x00000028, 0x0000001D, 0x00000001, 0x0000010D, 0x0000001D, 0x00000001, 0x00000129, 0x0000001D, 0x00000001, 0x00000111, 0x0000004D, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000002, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000000, 0x00000000, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000000, 0x00000043, 0x00000003, AddBadge, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000001, func_802424CC_A3B9AC, 0x00000020, 0x00000000, 0x0000001C, 0x00000000, 0x00000043, 0x00000001, hos_06_GetItemEmptyCount, 0x0000000E, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D00D5, 0x000000A0, 0x00000028, 0x00000012, 0x00000000, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000000, 0x00000002, 0x00000043, 0x00000003, AddItem, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000001, func_802424CC_A3B9AC, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000046, 0x00000001, D_80245FB0_A3F490, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80246060_A3F540, 0x00000100, 0x0000001A, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_10/A403C0.data.s b/ver/us/asm/data/world/area_hos/hos_10/A403C0.data.s deleted file mode 100644 index f07bc7c05e..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_10/A403C0.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240C80_A403C0 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xC47A0000, 0x00000000, 0x42B40000, 0x00000000, 0xC47A0000, 0x00000000, 0x42B40000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80243460, D_80240C80_A403C0, 0x00000006, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000095, 0x00000003, 0x00000008, 0x00000020, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000020, 0x00000000, 0x0000001D, 0x00000001, 0x00000003, 0x0000001D, 0x00000001, 0x00000004, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000005, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000006C, 0x00000000, 0x00000008, 0x00000057, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_10/A40540.data.s b/ver/us/asm/data/world/area_hos/hos_10/A40540.data.s deleted file mode 100644 index 5e19f8b639..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_10/A40540.data.s +++ /dev/null @@ -1,129 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240E00_A40540 -.word 0x00000000, 0x00180018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_80240E2C_A4056C -.word 0x00000000, 0x001A0018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000, 0x00000000, 0x00140014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000, 0x00000000, 0x00160018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_80240EB0_A405F0 -.word 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFFFFFF9C, 0x000000C8, 0x00000514, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240EDC_A4061C -.word 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0xFFFFFF7E, 0x00000104, 0x00000514, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240F08_A40648 -.word 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0xFFFFFF87, 0x000000C8, 0x00000559, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240F34_A40674 -.word 0x00000043, 0x00000005, SetNpcPos, 0x00000003, 0xFFFFFF51, 0x000000C8, 0x0000053E, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240F60_A406A0 -.word 0x00000043, 0x00000005, SetNpcPos, 0x00000004, 0xFFFFFF44, 0x000000C8, 0x00000504, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240F8C_A406CC -.word 0x00000043, 0x00000005, SetNpcPos, 0x00000005, 0xFFFFFF6A, 0x000000C8, 0x000004D5, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240FB8_A406F8 -.word 0x00000043, 0x00000005, SetNpcPos, 0x00000006, 0xFFFFFF9C, 0x000000C8, 0x000004D5, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240FE4_A40724 -.word 0x00000043, 0x00000005, SetNpcPos, 0x00000007, 0xFFFFFFCC, 0x000000C8, 0x00000504, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241010_A40750 -.word 0x00000043, 0x00000005, SetNpcPos, 0x00000008, 0xFFFFFFBF, 0x000000C8, 0x0000053E, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024103C_A4077C -.word 0x000A0001, 0x000A0002, 0x000C0000, 0x000C0006, 0x000C001E, 0x000C0026, 0xFFFFFFFF - -dlabel D_80241058_A40798 -.word 0x00200001, 0x00200009, 0xFFFFFFFF - -dlabel D_80241064_A407A4 -.word 0x00120001, 0x00120002, 0xFFFFFFFF - -dlabel D_80241070_A407B0 -.word 0x00130001, 0x00130002, 0xFFFFFFFF - -dlabel D_8024107C_A407BC -.word 0x00140001, 0x00140002, 0xFFFFFFFF - -dlabel D_80241088_A407C8 -.word 0x00150001, 0x00150002, 0xFFFFFFFF - -dlabel D_80241094_A407D4 -.word 0x00160001, 0x00160002, 0xFFFFFFFF - -dlabel D_802410A0_A407E0 -.word 0x00170001, 0x00170003, 0xFFFFFFFF - -dlabel D_802410AC_A407EC -.word 0x00180001, 0x00180002, 0xFFFFFFFF - -dlabel D_802410B8_A407F8 -.word 0x00000000, D_80240E00_A40540, 0x00000000, 0xC47A0000, 0x00000000, 0x00020F05, D_80240EB0_A405F0, 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, 0x000A0000, 0x000A0000, 0x000A0000, 0x000A0000, 0x000A0000, 0x000A0000, 0x000A0000, 0x000A0000, 0x000A0000, 0x000A0000, 0x000A0000, 0x000A0000, 0x000A0000, 0x000A0000, 0x000A0000, 0x000A0000, 0x00000000, 0x00000000, D_8024103C_A4077C, 0x00000000, 0x00000001, D_80240E00_A40540, 0x00000000, 0xC47A0000, 0x00000000, 0x00000F05, D_80240EDC_A4061C, 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, 0x00200001, 0x00200005, 0x00200008, 0x00200008, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00000000, 0x00000000, D_80241058_A40798, 0x00000000, 0x00000002, D_80240E2C_A4056C, 0x00000000, 0xC47A0000, 0x00000000, 0x00000F05, D_80240F08_A40648, 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, D_80241064_A407A4, 0x00000000, 0x00000003, D_80240E2C_A4056C, 0x00000000, 0xC47A0000, 0x00000000, 0x00000F05, D_80240F34_A40674, 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, D_80241070_A407B0, 0x00000000, 0x00000004, D_80240E2C_A4056C, 0x00000000, 0xC47A0000, 0x00000000, 0x00000F05, D_80240F60_A406A0, 0x00000000, 0x00000000, 0x0000005A, 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, D_8024107C_A407BC, 0x00000000, 0x00000005, D_80240E2C_A4056C, 0x00000000, 0xC47A0000, 0x00000000, 0x00000F05, D_80240F8C_A406CC, 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, D_80241088_A407C8, 0x00000000, 0x00000006, D_80240E2C_A4056C, 0x00000000, 0xC47A0000, 0x00000000, 0x00000F05, D_80240FB8_A406F8, 0x00000000, 0x00000000, 0x0000005A, 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, D_80241094_A407D4, 0x00000000, 0x00000007, D_80240E2C_A4056C, 0x00000000, 0xC47A0000, 0x00000000, 0x00000F05, D_80240FE4_A40724, 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, D_802410A0_A407E0, 0x00000000, 0x00000008, D_80240E2C_A4056C, 0x00000000, 0xC47A0000, 0x00000000, 0x00000F05, D_80241010_A40750, 0x00000000, 0x00000000, 0x0000005A, 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, D_802410AC_A407EC, 0x00000000 - -dlabel D_80242228_A41968 -.word 0x00000009, D_802410B8_A407F8, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80242240_A41980 -.word 0x00000000, 0x00180018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_8024226C_A419AC -.word 0x00000000, 0x001A0018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000, 0x00000000, 0x00140014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000, 0x00000000, 0x00160018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_802422F0_A41A30 -.word 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0x00000000, 0x00000000, 0xFFFFFE70, 0x00000043, 0x00000003, SetNpcYaw, 0x00000001, 0x0000005A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242330_A41A70 -.word 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0x00000000, 0x00000000, 0xFFFFFE70, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024235C_A41A9C -.word 0x00000043, 0x00000005, SetNpcPos, 0x00000003, 0x00000000, 0x00000000, 0xFFFFFE70, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242388_A41AC8 -.word 0x00000043, 0x00000005, SetNpcPos, 0x00000004, 0x00000000, 0x00000000, 0xFFFFFE70, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802423B4_A41AF4 -.word 0x00000043, 0x00000005, SetNpcPos, 0x00000005, 0x00000000, 0x00000000, 0xFFFFFE70, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802423E0_A41B20 -.word 0x00000043, 0x00000005, SetNpcPos, 0x00000006, 0x00000000, 0x00000000, 0xFFFFFE70, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024240C_A41B4C -.word 0x00000043, 0x00000005, SetNpcPos, 0x00000007, 0x00000000, 0x00000000, 0xFFFFFE70, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242438_A41B78 -.word 0x00000043, 0x00000005, SetNpcPos, 0x00000008, 0x00000000, 0x00000000, 0xFFFFFE70, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242464_A41BA4 -.word 0x00200001, 0x00200009, 0x0020001A, 0xFFFFFFFF - -dlabel D_80242474_A41BB4 -.word 0x00120001, 0x00120002, 0xFFFFFFFF - -dlabel D_80242480_A41BC0 -.word 0x00130001, 0x00130002, 0xFFFFFFFF - -dlabel D_8024248C_A41BCC -.word 0x00140001, 0x00140002, 0xFFFFFFFF - -dlabel D_80242498_A41BD8 -.word 0x00150001, 0x00150002, 0xFFFFFFFF - -dlabel D_802424A4_A41BE4 -.word 0x00160001, 0x00160002, 0xFFFFFFFF - -dlabel D_802424B0_A41BF0 -.word 0x00170001, 0x00170003, 0xFFFFFFFF - -dlabel D_802424BC_A41BFC -.word 0x00180001, 0x00180002, 0xFFFFFFFF - -dlabel D_802424C8_A41C08 -.word 0x00000001, D_80242240_A41980, 0x00000000, 0xC47A0000, 0x00000000, 0x00000F05, D_802422F0_A41A30, 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, 0x00200001, 0x00200005, 0x00200008, 0x00200008, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00200001, 0x00000000, 0x00000000, D_80242464_A41BA4, 0x00000000, 0x00000002, D_8024226C_A419AC, 0x00000000, 0xC47A0000, 0x00000000, 0x00000F05, D_80242330_A41A70, 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, D_80242474_A41BB4, 0x00000000, 0x00000003, D_8024226C_A419AC, 0x00000000, 0xC47A0000, 0x00000000, 0x00000F05, D_8024235C_A41A9C, 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, D_80242480_A41BC0, 0x00000000, 0x00000004, D_8024226C_A419AC, 0x00000000, 0xC47A0000, 0x00000000, 0x00000F05, D_80242388_A41AC8, 0x00000000, 0x00000000, 0x0000005A, 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, D_8024248C_A41BCC, 0x00000000, 0x00000005, D_8024226C_A419AC, 0x00000000, 0xC47A0000, 0x00000000, 0x00000F05, D_802423B4_A41AF4, 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, D_80242498_A41BD8, 0x00000000, 0x00000006, D_8024226C_A419AC, 0x00000000, 0xC47A0000, 0x00000000, 0x00000F05, D_802423E0_A41B20, 0x00000000, 0x00000000, 0x0000005A, 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, D_802424A4_A41BE4, 0x00000000, 0x00000007, D_8024226C_A419AC, 0x00000000, 0xC47A0000, 0x00000000, 0x00000F05, D_8024240C_A41B4C, 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, D_802424B0_A41BF0, 0x00000000, 0x00000008, D_8024226C_A419AC, 0x00000000, 0xC47A0000, 0x00000000, 0x00000F05, D_80242438_A41B78, 0x00000000, 0x00000000, 0x0000005A, 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, D_802424BC_A41BFC, 0x00000000 - -dlabel D_80243448_A42B88 -.word 0x00000008, D_802424C8_A41C08, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000008, 0x00000001, 0x0000004B, 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, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, D_80242228_A41968, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, D_80243448_A42B88, 0x0000001C, 0x00000000, 0x00000023, 0x00000000, 0x0000000B, 0x00000002, 0xF5DE0180, 0xFFFFFF80, 0x00000043, 0x00000003, EnableModel, 0x00000029, 0x00000000, 0x00000013, 0x00000000, 0x00000044, 0x00000001, 0x80240D20, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000001, 0x00000008, 0x00000001, 0x00000032, 0x00000044, 0x00000001, 0x80244B10, 0x00000016, 0x00000001, 0x00000002, 0x00000044, 0x00000001, 0x802457E4, 0x00000016, 0x00000001, 0x00000003, 0x00000046, 0x00000001, 0x80244120, 0x00000016, 0x00000001, 0x00000004, 0x00000046, 0x00000001, 0x80244058, 0x00000016, 0x00000001, 0x00000005, 0x00000008, 0x00000001, 0x0000001E, 0x00000044, 0x00000001, 0x8024427C, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_10/A42DA0.data.s b/ver/us/asm/data/world/area_hos/hos_10/A42DA0.data.s deleted file mode 100644 index 540c4e5a3d..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_10/A42DA0.data.s +++ /dev/null @@ -1,12 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80243660_A42DA0 -.word 0x0000004D, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C85, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C86, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C87, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C88, 0x00000001, 0x00000043, 0x00000001, hos_10_UpdateTexturePanSmooth, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, hos_10_UpdateTexturePanStepped, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802436FC_A42E3C -.word 0x00000056, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000136, 0x00000043, 0x00000005, TranslateModel, 0x00000005, 0x00000000, 0xFE363C80, 0x00000000, 0x0000002C, 0x00000002, 0xFE363C80, 0xF24A7480, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000043, 0x00000001, func_8024032C_A3FA6C, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243790_A42ED0 -.word 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000024, 0x00000002, 0xFE363C81, 0x00000190, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C86, 0x00000001, 0x00000024, 0x00000002, 0xFE363C87, 0x00000001, 0x00000024, 0x00000002, 0xFE363C88, 0x00000001, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_80243660_A42DA0, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x00000024, 0x00000002, 0xFE363C81, 0x00000258, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C86, 0x00000001, 0x00000024, 0x00000002, 0xFE363C87, 0x00000001, 0x00000024, 0x00000002, 0xFE363C88, 0x00000001, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_80243660_A42DA0, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000004, 0x00000024, 0x00000002, 0xFE363C81, 0x000003E8, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C86, 0x00000001, 0x00000024, 0x00000002, 0xFE363C87, 0x00000001, 0x00000024, 0x00000002, 0xFE363C88, 0x00000001, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_80243660_A42DA0, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x0000000F, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x000003E8, 0x00000024, 0x00000002, 0xFE363C83, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C86, 0x00000001, 0x00000024, 0x00000002, 0xFE363C87, 0x00000001, 0x00000024, 0x00000002, 0xFE363C88, 0x00000001, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_80243660_A42DA0, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x0000000E, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x00000190, 0x00000024, 0x00000002, 0xFE363C83, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C86, 0x00000001, 0x00000024, 0x00000002, 0xFE363C87, 0x00000001, 0x00000024, 0x00000002, 0xFE363C88, 0x00000001, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_80243660_A42DA0, 0x00000057, 0x00000000, 0x00000043, 0x00000003, EnableTexPanning, 0x0000001A, 0x00000001, 0x00000043, 0x00000003, EnableTexPanning, 0x0000001F, 0x00000001, 0x00000043, 0x00000003, EnableTexPanning, 0x00000019, 0x00000001, 0x00000043, 0x00000003, EnableTexPanning, 0x0000001D, 0x00000001, 0x00000043, 0x00000003, EnableTexPanning, 0x00000021, 0x00000001, 0x00000043, 0x00000003, EnableTexPanning, 0x00000024, 0x00000001, 0x00000043, 0x00000003, EnableTexPanning, 0x00000010, 0x00000001, 0x00000043, 0x00000003, EnableTexPanning, 0x00000011, 0x00000001, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x000001FE, 0x00000043, 0x00000001, func_80240404_A3FB44, 0x00000057, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000027, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x00000027, 0x00000001, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000001, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000230, 0x00000043, 0x00000003, EnableModel, 0x00000027, 0x00000001, 0x00000005, 0x00000001, 0x00000020, 0x00000027, 0x00000002, 0xFE363C80, 0x00000800, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000001, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000027, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x00000027, 0xFFFFFE70, 0x00000064, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000001, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000043, 0x00000003, EnableModel, 0x00000027, 0x00000001, 0x00000005, 0x00000001, 0x00000020, 0x00000027, 0x00000002, 0xFE363C80, 0x00000800, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000001, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000027, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0xFFFFFB9B, 0x00000005, 0x00000001, 0x000005AA, 0x00000043, 0x00000005, TranslateModel, 0x00000005, 0x00000000, 0xFE363C80, 0x00000000, 0x0000002C, 0x00000002, 0xFE363C80, 0xF24A7480, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0xFFFFFE0C, 0x00000005, 0x00000001, 0x000005AA, 0x00000043, 0x00000005, TranslateGroup, 0x00000026, 0x00000000, 0xFE363C80, 0x00000000, 0x0000002C, 0x00000002, 0xFE363C80, 0xF24A7080, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000258, 0x00000026, 0x00000002, 0xFE363C80, 0x00000000, 0x00000026, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x000003E8, 0x00000043, 0x00000005, TranslateGroup, 0x00000018, 0x00000000, 0xFE363C80, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0x00000013, 0xFE363C81, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x0000002C, 0x00000002, 0xFE363C80, 0xF24A6C20, 0x0000002C, 0x00000002, 0xFE363C81, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x000002E4, 0x00000043, 0x00000001, func_8024032C_A3FA6C, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000003, EnableModel, 0x00000027, 0x00000000, 0x00000044, 0x00000001, D_802436FC_A42E3C, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000044, 0x00000001, D_80243790_A42ED0, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_10/A43920.data.s b/ver/us/asm/data/world/area_hos/hos_10/A43920.data.s deleted file mode 100644 index 026f51906c..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_10/A43920.data.s +++ /dev/null @@ -1,36 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802441E0_A43920 -.word 0x0000004D, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C85, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C86, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C87, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C88, 0x00000001, 0x00000043, 0x00000001, dup_hos_10_UpdateTexturePanSmooth, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, dup_hos_10_UpdateTexturePanStepped, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010017, 0x00000043, 0x00000004, SetPlayerPos, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000003, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000027, 0x00000000, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000024, 0x00000002, 0xFE363C81, 0x00000190, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C86, 0x00000001, 0x00000024, 0x00000002, 0xFE363C87, 0x00000001, 0x00000024, 0x00000002, 0xFE363C88, 0x00000001, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_802441E0_A43920, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x00000024, 0x00000002, 0xFE363C81, 0x00000258, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C86, 0x00000001, 0x00000024, 0x00000002, 0xFE363C87, 0x00000001, 0x00000024, 0x00000002, 0xFE363C88, 0x00000001, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_802441E0_A43920, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000004, 0x00000024, 0x00000002, 0xFE363C81, 0x000003E8, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C86, 0x00000001, 0x00000024, 0x00000002, 0xFE363C87, 0x00000001, 0x00000024, 0x00000002, 0xFE363C88, 0x00000001, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_802441E0_A43920, 0x00000057, 0x00000000, 0x00000043, 0x00000003, EnableTexPanning, 0x0000001A, 0x00000001, 0x00000043, 0x00000003, EnableTexPanning, 0x0000001F, 0x00000001, 0x00000043, 0x00000003, EnableTexPanning, 0x00000019, 0x00000001, 0x00000043, 0x00000003, EnableTexPanning, 0x0000001D, 0x00000001, 0x00000043, 0x00000003, EnableTexPanning, 0x00000021, 0x00000001, 0x00000043, 0x00000003, EnableTexPanning, 0x00000024, 0x00000001, 0x00000056, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0xFFFFF8F8, 0x00000005, 0x00000001, 0x000001C2, 0x00000043, 0x00000005, TranslateModel, 0x00000005, 0x00000000, 0xFE363C80, 0x00000000, 0x0000002C, 0x00000002, 0xFE363C80, 0xF24A8080, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0xFFFFF943, 0x00000005, 0x00000001, 0x000001C2, 0x00000043, 0x00000005, TranslateGroup, 0x00000026, 0x00000000, 0xFE363C80, 0x00000000, 0x0000002C, 0x00000002, 0xFE363C80, 0xF24A8480, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, GetModelCenter, 0x00000029, 0x0000000C, 0x00000002, 0xFE363C81, 0xFFFFFF7E, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000004, 0x00000000, 0xFFFFFF7E, 0x000001E0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x0000015E, 0xFFFFFF38, 0x00000190, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateModel, 0x00000029, 0x00000000, 0xFE363C80, 0x000001E0, 0x00000043, 0x00000005, ScaleModel, 0x00000029, 0xF24A7F80, 0xF24A7F80, 0xF24A7F80, 0x00000043, 0x00000006, RotateModel, 0x00000029, 0xFE363C82, 0x00000001, 0x00000000, 0x00000000, 0x00000027, 0x00000002, 0xFE363C82, 0xF24AD480, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000004, GotoMapSpecial, 0x802461D0, 0x00000000, 0x00000007, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244930_A44070 -.word 0xC3020000, 0x00000000, 0x44A28000, 0x41A00000, 0xC2C80000, 0x449C4000, 0x432A0000, 0x42480000, 0x447A0000, 0x42F00000, 0x42C80000, 0x43C80000, 0x00000000, 0x00000000, 0xC3E10000 - -dlabel D_8024496C_A440AC -.word 0x00000000, 0x00000000, 0xC3AF0000, 0xC3160000, 0x428C0000, 0x43FA0000, 0x00000000, 0x41F00000, 0x44960000, 0x43480000, 0x41F00000, 0x44E10000 - -dlabel D_8024499C_A440DC -.word 0x00000000, 0x00000000, 0xC3AF0000, 0xC3480000, 0xC2C80000, 0x43960000, 0xC2480000, 0xC2480000, 0x44480000, 0x41F00000, 0x42A00000, 0x44ED8000 - -dlabel D_802449CC_A4410C -.word 0x00000000, 0x00000000, 0xC3AF0000, 0xC3960000, 0xC2700000, 0x43960000, 0x00000000, 0xC1A00000, 0x447A0000, 0xC2480000, 0x42200000, 0x44E10000 - -dlabel D_802449FC_A4413C -.word 0x00000000, 0x00000000, 0xC3AF0000, 0xC32A0000, 0xC1A00000, 0x43480000, 0x432A0000, 0x42700000, 0x43FA0000, 0xC2F00000, 0xC1A00000, 0x447A0000, 0x42480000, 0x42480000, 0x44E10000 - -dlabel D_80244A38_A44178 -.word 0x00000000, 0x00000000, 0xC3AF0000, 0x43960000, 0x43480000, 0x43AF0000, 0x42C80000, 0x42F00000, 0x447A0000, 0xC1F00000, 0x41200000, 0x44E10000 - -dlabel D_80244A68_A441A8 -.word 0x00000000, 0x00000000, 0xC3AF0000, 0xC2C80000, 0x00000000, 0x43480000, 0x00000000, 0xC3160000, 0x43FA0000, 0x43480000, 0x00000000, 0x447A0000, 0x00000000, 0x42C80000, 0x44E10000 - -dlabel D_80244AA4_A441E4 -.word 0x00000000, 0x00000000, 0xC3AF0000, 0x43480000, 0xC2700000, 0x43480000, 0x43FA0000, 0xC3160000, 0x43FA0000, 0x43340000, 0xC2480000, 0x447A0000, 0xC2700000, 0x42960000, 0x44E10000 - -dlabel D_80244AE0_A44220 -.word 0x00000000, 0x00000000, 0xC3AF0000, 0xC3160000, 0x428C0000, 0x43FA0000, 0x00000000, 0x41F00000, 0x44960000, 0x42200000, 0x41F00000, 0x44C80000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x000004A4, 0x00000043, 0x00000004, SetPlayerPos, 0xFFFFFF7E, 0x000000C8, 0x00000514, 0x00000043, 0x00000003, InterpPlayerYaw, 0x0000005A, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFFFFFF6A, 0x000000C8, 0x00000514, 0x00000043, 0x00000003, SetNpcYaw, 0xFFFFFFFC, 0x0000005A, 0x00000043, 0x00000003, EnableModel, 0x00000003, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000026, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000027, 0x00000000, 0x00000043, 0x00000005, TranslateGroup, 0x0000000F, 0x00000000, 0xFFFFF63C, 0x00000000, 0x00000043, 0x00000005, ScaleGroup, 0x0000000F, 0xF24A7C1A, 0xF24A7C1A, 0xF24A7C1A, 0x00000043, 0x0000000F, PlayEffect, 0x00000034, 0x00000002, 0x00000000, 0x00000023, 0x00000046, 0xF24A9680, 0xFD050F80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, func_80240B98_A402D8, 0xFD050F80, 0x00000080, 0x00000058, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000034, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0xF24AA280, 0xFD050F81, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000C, 0x00000027, 0x00000002, 0xFE363C82, 0x0000003C, 0x00000043, 0x00000005, func_80240A84_A401C4, 0xFD050F81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000059, 0x00000000, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24A7A80, 0xF24A7A80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000056, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0xFFFFF736, 0x00000005, 0x00000001, 0x000005DC, 0x00000043, 0x00000005, TranslateModel, 0x00000005, 0x00000000, 0xFE363C80, 0x00000000, 0x0000002C, 0x00000002, 0xFE363C80, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, SetPlayerJumpscale, 0xF24A7A80, 0x00000043, 0x00000005, PlayerJump1, 0xFFFFFF7E, 0x00000000, 0x00000514, 0x000000FA, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFC, 0xF24A7A80, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFC, 0xFFFFFF6A, 0x00000000, 0x00000514, 0x000000FA, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000000, 0xF24A7A80, 0x00000043, 0x00000006, NpcJump0, 0x00000000, 0xFFFFFF9C, 0x00000000, 0x00000514, 0x000000FA, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000001, 0xF24A7A80, 0x00000043, 0x00000006, NpcJump0, 0x00000001, 0xFFFFFF7E, 0x0000003C, 0x00000514, 0x000000FA, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000004, func_80240770_A3FEB0, 0x00000002, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000004, func_80240770_A3FEB0, 0x00000003, 0x00000001, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000004, func_80240770_A3FEB0, 0x00000004, 0x00000002, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000004, func_80240770_A3FEB0, 0x00000005, 0x00000003, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000004, func_80240770_A3FEB0, 0x00000006, 0x00000004, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000004, func_80240770_A3FEB0, 0x00000007, 0x00000005, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000004, func_80240770_A3FEB0, 0x00000008, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000015E, 0x00000056, 0x00000000, 0x00000043, 0x00000005, LoadPath, 0x000000BE, D_80244930_A44070, 0x00000005, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000064, 0x00000014, 0x000000BE, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x0000002F, 0x00000002, 0xFE363C80, 0x00000064, 0x00000026, 0x00000002, 0xFE363C81, 0xFFFFFFEC, 0x0000002E, 0x00000002, 0xFE363C81, 0xFE363C80, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x0000002C, 0x00000002, 0xFE363C82, 0xFE363C81, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000064, 0x00000014, 0x000000BE, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x0000002F, 0x00000002, 0xFE363C80, 0x00000064, 0x00000026, 0x00000002, 0xFE363C81, 0x0000001E, 0x0000002E, 0x00000002, 0xFE363C81, 0xFE363C80, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x0000002C, 0x00000002, 0xFE363C82, 0xFE363C81, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000064, 0x00000014, 0x000000BE, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x0000002F, 0x00000002, 0xFE363C80, 0x00000064, 0x00000026, 0x00000002, 0xFE363C81, 0x0000003C, 0x0000002E, 0x00000002, 0xFE363C81, 0xFE363C80, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x0000002C, 0x00000002, 0xFE363C83, 0xFE363C81, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000064, 0x00000005, 0x000000BE, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x0000002F, 0x00000002, 0xFE363C80, 0x00000064, 0x00000043, 0x00000005, SetNpcScale, 0xFFFFFFFC, 0xFE363C80, 0xFE363C80, 0xFE363C80, 0x00000043, 0x00000005, SetNpcScale, 0x00000000, 0xFE363C80, 0xFE363C80, 0xFE363C80, 0x00000043, 0x00000005, SetNpcScale, 0x00000001, 0xFE363C80, 0xFE363C80, 0xFE363C80, 0x00000043, 0x00000005, SetNpcScale, 0x00000002, 0xFE363C80, 0xFE363C80, 0xFE363C80, 0x00000043, 0x00000005, SetNpcScale, 0x00000003, 0xFE363C80, 0xFE363C80, 0xFE363C80, 0x00000043, 0x00000005, SetNpcScale, 0x00000004, 0xFE363C80, 0xFE363C80, 0xFE363C80, 0x00000043, 0x00000005, SetNpcScale, 0x00000005, 0xFE363C80, 0xFE363C80, 0xFE363C80, 0x00000043, 0x00000005, SetNpcScale, 0x00000006, 0xFE363C80, 0xFE363C80, 0xFE363C80, 0x00000043, 0x00000005, SetNpcScale, 0x00000007, 0xFE363C80, 0xFE363C80, 0xFE363C80, 0x00000043, 0x00000005, SetNpcScale, 0x00000008, 0xFE363C80, 0xFE363C80, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x000003E8, 0x00000032, 0x000000BE, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x0000002F, 0x00000002, 0xFE363C80, 0x00000064, 0x00000043, 0x00000003, func_80240B44_A40284, 0xFD050F81, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000122, 0x00000043, 0x00000003, GotoMap, 0x802461D8, 0x00000002, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245648_A44D88 -.word 0x00000058, 0x00000000, 0x00000005, 0x00000001, 0x0000001E, 0x00000043, 0x00000005, GetNpcPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000003, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000006, 0x00000006, 0x00000000, 0x00000059, 0x00000000, 0x00000058, 0x00000000, 0x00000005, 0x00000001, 0x0000001E, 0x00000043, 0x00000005, GetNpcPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000004, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000028, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000008, 0x00000006, 0x00000000, 0x00000059, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x0000000F, 0x00000002, 0xFE363C83, 0x00000708, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000003, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000027, 0x00000000, 0x00000043, 0x00000005, TranslateGroup, 0x0000000F, 0x00000000, 0xFFFFF63C, 0x00000000, 0x00000043, 0x00000005, ScaleGroup, 0x0000000F, 0xF24A7C1A, 0xF24A7C1A, 0xF24A7C1A, 0x00000043, 0x0000000F, PlayEffect, 0x00000034, 0x00000002, 0x00000000, 0x00000023, 0x00000046, 0xF24A9680, 0xFE363C8A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, func_80240B98_A402D8, 0xFE363C8A, 0x00000080, 0x00000043, 0x00000003, EnableTexPanning, 0x0000001A, 0x00000001, 0x00000043, 0x00000003, EnableTexPanning, 0x0000001F, 0x00000001, 0x00000043, 0x00000003, EnableTexPanning, 0x00000019, 0x00000001, 0x00000043, 0x00000003, EnableTexPanning, 0x0000001D, 0x00000001, 0x00000043, 0x00000003, EnableTexPanning, 0x00000021, 0x00000001, 0x00000043, 0x00000003, EnableTexPanning, 0x00000024, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000044, 0x00000001, D_80245648_A44D88, 0x00000043, 0x00000005, LoadPath, 0x0000004B, D_8024496C_A440AC, 0x00000004, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000032, 0x00000024, 0x00000002, 0xFE363C80, 0x00000006, 0x00000044, 0x00000001, D_80245648_A44D88, 0x00000043, 0x00000005, LoadPath, 0x0000004B, D_8024499C_A440DC, 0x00000004, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000005, SetNpcPos, 0x00000006, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000024, 0x00000002, 0xFE363C80, 0x00000004, 0x00000044, 0x00000001, D_80245648_A44D88, 0x00000043, 0x00000005, LoadPath, 0x0000004B, D_802449CC_A4410C, 0x00000004, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000005, SetNpcPos, 0x00000004, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000096, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x00000044, 0x00000001, D_80245648_A44D88, 0x00000043, 0x00000005, LoadPath, 0x0000004B, D_802449FC_A4413C, 0x00000005, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000005, SetNpcPos, 0x00000003, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x000000C8, 0x00000024, 0x00000002, 0xFE363C80, 0x00000008, 0x00000044, 0x00000001, D_80245648_A44D88, 0x00000043, 0x00000005, LoadPath, 0x0000004B, D_80244A38_A44178, 0x00000004, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000005, SetNpcPos, 0x00000008, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x000000FA, 0x00000024, 0x00000002, 0xFE363C80, 0x00000005, 0x00000044, 0x00000001, D_80245648_A44D88, 0x00000043, 0x00000005, LoadPath, 0x0000004B, D_80244A68_A441A8, 0x00000005, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000005, SetNpcPos, 0x00000005, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000012C, 0x00000024, 0x00000002, 0xFE363C80, 0x00000007, 0x00000044, 0x00000001, D_80245648_A44D88, 0x00000043, 0x00000005, LoadPath, 0x0000004B, D_80244AA4_A441E4, 0x00000005, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000005, SetNpcPos, 0x00000007, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x000001C2, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000044, 0x00000001, D_80245648_A44D88, 0x00000043, 0x00000005, LoadPath, 0x0000004B, D_80244AE0_A44220, 0x00000004, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000001, 0x0000010E, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x0020001A, 0x00000008, 0x00000001, 0x00000032, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000001, 0x0000005A, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x00200001, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000008, NpcFlyTo, 0x00000001, 0x00000064, 0x0000003C, 0x00000708, 0x00000014, 0xFFFFFFF6, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0xFFFFF736, 0x00000005, 0x00000001, 0x000005DC, 0x00000043, 0x00000005, TranslateModel, 0x00000005, 0x00000000, 0xFE363C80, 0x00000000, 0x0000002C, 0x00000002, 0xFE363C80, 0xF24A8080, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0xFFFFF574, 0x00000005, 0x00000001, 0x000004B0, 0x00000043, 0x00000005, TranslateGroup, 0x00000026, 0x00000000, 0xFE363C80, 0x00000000, 0x0000002C, 0x00000002, 0xFE363C80, 0xF24A8480, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000348, 0x00000043, 0x00000003, FadeOutMusic, 0x00000000, 0x00000BB8, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000320, 0x00000043, 0x00000001, func_80240BFC_A4033C, 0x00000008, 0x00000001, 0x0000005A, 0x00000043, 0x00000001, func_80240BEC_A4032C, 0x00000043, 0x00000004, GotoMapSpecial, 0x802461E0, 0x00000002, 0x00000005, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_20/A45C90.data.s b/ver/us/asm/data/world/area_hos/hos_20/A45C90.data.s deleted file mode 100644 index c883e12e86..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_20/A45C90.data.s +++ /dev/null @@ -1,15 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240360_A45C90 -.word 0xC3C80000, 0x00000000, 0x00000000, 0x43070000, 0x00000000, 0x00000000, 0x00000000, 0x43070000, 0x43C80000, 0x00000000, 0x00000000, 0x43610000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80240930_A46260, D_80240360_A45C90, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802403D0_A45D00 -.word 0x0000004D, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C85, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C86, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C87, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C88, 0x00000001, 0x00000043, 0x00000001, hos_20_UpdateTexturePanSmooth, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, hos_20_UpdateTexturePanStepped, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024046C_A45D9C -.word 0x0000004D, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000002, 0x00000043, 0x00000006, RotateModel, 0x00000000, 0x000000B4, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000006, RotateModel, 0x00000001, 0x000000B4, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000006, RotateModel, 0x00000003, 0x000000B4, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000006, RotateModel, 0x00000004, 0x000000B4, 0x00000000, 0x00000000, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000003, EnableTexPanning, 0x00000000, 0x00000001, 0x00000043, 0x00000003, EnableTexPanning, 0x00000001, 0x00000001, 0x00000043, 0x00000003, EnableTexPanning, 0x00000003, 0x00000001, 0x00000043, 0x00000003, EnableTexPanning, 0x00000004, 0x00000001, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x0000000C, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFF800, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFF800, 0x00000024, 0x00000002, 0xFE363C83, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C86, 0x00000001, 0x00000024, 0x00000002, 0xFE363C87, 0x00000000, 0x00000024, 0x00000002, 0xFE363C88, 0x00000000, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_802403D0_A45D00, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x0000000B, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFE800, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C86, 0x00000000, 0x00000024, 0x00000002, 0xFE363C87, 0x00000000, 0x00000024, 0x00000002, 0xFE363C88, 0x00000000, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_802403D0_A45D00, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x0000000D, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFEC00, 0x00000024, 0x00000002, 0xFE363C83, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000024, 0x00000002, 0xFE363C85, 0x00000000, 0x00000024, 0x00000002, 0xFE363C86, 0x00000001, 0x00000024, 0x00000002, 0xFE363C87, 0x00000000, 0x00000024, 0x00000002, 0xFE363C88, 0x00000000, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_802403D0_A45D00, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C81, 0x00000400, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFF400, 0x00000024, 0x00000002, 0xFE363C83, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C86, 0x00000001, 0x00000024, 0x00000002, 0xFE363C87, 0x00000000, 0x00000024, 0x00000002, 0xFE363C88, 0x00000000, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_802403D0_A45D00, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240930_A46260 -.word 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000044, 0x00000001, D_8024046C_A45D9C, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000044, 0x00000001, 0x80240D00, 0x00000016, 0x00000001, 0x00000001, 0x00000044, 0x00000001, 0x802410DC, 0x00000016, 0x00000001, 0x00000002, 0x00000044, 0x00000001, 0x802412F4, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_hos/hos_20/A46350.data.s b/ver/us/asm/data/world/area_hos/hos_20/A46350.data.s deleted file mode 100644 index 04aacbdb88..0000000000 --- a/ver/us/asm/data/world/area_hos/hos_20/A46350.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240A20_A46350 -.word 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0x000000B9, 0x00000024, 0x00000002, 0xFE363C85, 0x00000032, 0x00000005, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C84, 0x00000024, 0x00000002, 0xFE363C84, 0xFE363C85, 0x00000024, 0x00000002, 0xFE363C85, 0xFE363C83, 0x00000043, 0x00000005, MakeLerp, 0xFE363C83, 0xFE363C84, 0x0000001E, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x0000002F, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xFE363C80, 0xF24A6E80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0xFFFFFFEC, 0x00000024, 0x00000002, 0xFE363C85, 0x00000050, 0x00000043, 0x00000002, GetEntryID, 0xFE363C88, 0x00000005, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C84, 0x00000024, 0x00000002, 0xFE363C84, 0xFE363C85, 0x00000024, 0x00000002, 0xFE363C85, 0xFE363C83, 0x00000043, 0x00000005, MakeLerp, 0xFE363C83, 0xFE363C84, 0x0000001E, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000026, 0x00000002, 0xFE363C82, 0xFE363C80, 0x0000002E, 0x00000002, 0xFE363C82, 0xF24A7AE7, 0x00000043, 0x00000005, TranslateGroup, 0x0000000A, 0xFD050F8A, 0xFE363C82, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0x0000000A, 0xFD050F8B, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetModelCenter, 0x00000008, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000B, 0x00000002, 0xFE363C88, 0x00000002, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFF6, 0x00000012, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000013, 0x00000000, 0x00000027, 0x00000002, 0xFE363C82, 0x00000005, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, SetPlayerActionState, 0x0000000A, 0x00000043, 0x00000003, InterpPlayerYaw, 0x00000087, 0x00000000, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000003, SetNpcYaw, 0xFFFFFFFC, 0x0000005A, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24AC480, 0xF24A6E80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000024, 0x00000002, 0xFD050F8A, 0xFFFFFED4, 0x00000024, 0x00000002, 0xFD050F8B, 0x00000000, 0x00000044, 0x00000001, D_80240A20_A46350, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, PlaySound, 0x0000017C, 0x0000000C, 0x00000002, 0xF5DE0180, 0x0000005D, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFED4, 0x00000000, 0x00000078, 0x00000004, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000024, 0x00000002, 0xFD050F8A, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000043, 0x00000002, PlaySound, 0x0000057C, 0x00000043, 0x00000003, GotoMap, 0x80241618, 0x00000003, 0x00000012, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFED4, 0x00000000, 0x00000078, 0x00000004, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000024, 0x00000002, 0xFD050F8A, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x0000004B, 0x00000043, 0x00000002, PlaySound, 0x0000057C, 0x00000043, 0x00000002, PlaySound, 0x000020A1, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x0000012C, 0x0000003C, 0x00000002, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000024, 0x00000002, 0xFD050F8A, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000003C, 0x00000005, 0x00000001, 0x000000D7, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000001, func_80240310_A45C40, 0x0000000A, 0x00000002, 0xFE363C88, 0x00000001, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000057C, 0x00000043, 0x00000003, GotoMap, 0x80241610, 0x00000004, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, SetPlayerActionState, 0x0000000A, 0x00000043, 0x00000003, InterpPlayerYaw, 0x00000087, 0x00000000, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000003, SetNpcYaw, 0xFFFFFFFC, 0x0000005A, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24AC480, 0xF24A6E80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000002, PlaySound, 0x0000017C, 0x00000024, 0x00000002, 0xFD050F8A, 0x00000000, 0x00000024, 0x00000002, 0xFD050F8B, 0x00000000, 0x00000044, 0x00000001, D_80240A20_A46350, 0x00000008, 0x00000001, 0x00000064, 0x00000043, 0x00000002, PlaySound, 0x0000057C, 0x00000043, 0x00000002, PlaySound, 0x000020A1, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x0000012C, 0x0000003C, 0x00000002, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000024, 0x00000002, 0xFD050F8A, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, GotoMap, 0x80241620, 0x00000003, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, SetPlayerActionState, 0x0000000A, 0x00000043, 0x00000003, InterpPlayerYaw, 0x000000E1, 0x00000000, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000003, SetNpcYaw, 0xFFFFFFFC, 0x0000010E, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24AC480, 0xF24A6E80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000024, 0x00000002, 0xFD050F8A, 0x0000012C, 0x00000024, 0x00000002, 0xFD050F8B, 0x000000B4, 0x00000044, 0x00000001, D_80240A20_A46350, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, PlaySound, 0x0000017C, 0x00000056, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x0000012C, 0x00000000, 0x00000078, 0x00000004, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000024, 0x00000002, 0xFD050F8A, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x0000004B, 0x00000043, 0x00000002, PlaySound, 0x0000057C, 0x00000043, 0x00000002, PlaySound, 0x000020A1, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0xFFFFFED4, 0x0000003C, 0x00000002, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000024, 0x00000002, 0xFD050F8A, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000003C, 0x00000005, 0x00000001, 0x000000D7, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000001, func_80240310_A45C40, 0x0000000A, 0x00000002, 0xFE363C88, 0x00000001, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000057C, 0x00000043, 0x00000003, GotoMap, 0x80241628, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_jan/jan_02/B2F410.data.s b/ver/us/asm/data/world/area_jan/jan_02/B2F410.data.s index 173eb14cbf..d325684f3a 100644 --- a/ver/us/asm/data/world/area_jan/jan_02/B2F410.data.s +++ b/ver/us/asm/data/world/area_jan/jan_02/B2F410.data.s @@ -75,7 +75,7 @@ dlabel D_80244874_B30CE4 .word 0x00000045, 0x00000002, D_802446A8_B30B18, 0xFE363C81, 0x00000008, 0x00000001, 0x0000003C, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000049, 0x00000001, 0xFE363C81, 0x00000046, 0x00000001, D_802446E8_B30B58, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_80244924_B30D94 -.word 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xF4ACD481, 0xF4ACD482, 0xF4ACD483, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFF, 0x00000010, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000A, 0x00000012, 0x00000000, 0x0000000A, 0x00000002, 0xF8406267, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080009, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080008, 0x00000024, 0x00000002, 0xF8406267, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, ShowChoice, 0x001E000D, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000C, 0x00000046, 0x00000001, D_802432D8_B2F748, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8406281, 0x00000001, 0x00000043, 0x00000001, jan_02_Quizmo_HideEntities, 0x00000043, 0x00000001, jan_02_Quizmo_HideWorld, 0x00000044, 0x00000001, D_80243388_B2F7F8, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000005, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000148, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000005, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000045, 0x00000002, D_80243AB0_B2FF20, 0xFE363C81, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000B, 0x00000043, 0x00000002, PlaySound, 0x00000089, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000001, jan_02_Quizmo_CreateStage, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x002C0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0005, 0x00AF0006, 0x00000000, 0xFE363C80, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010028, 0x00000024, 0x00000002, 0xFE363C80, 0x002D0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000002, PlaySound, 0x0000008E, 0x00000043, 0x00000002, ShowChoice, 0xFE363C80, 0x00000049, 0x00000001, 0xFE363C81, 0x00000043, 0x00000002, StopSound, 0x0000008E, 0x00000044, 0x00000001, D_80243B24_B2FF94, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, PlaySound, 0x0000008D, 0x00000043, 0x00000002, jan_02_Quizmo_UnkStageEffectMode, 0xFE363C80, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000043, 0x00000001, jan_02_Quizmo_CreateWorker, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000001, jan_02_Quizmo_UpdateRecords, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000006E, 0x00000043, 0x00000001, CloseChoice, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000057, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00AF0007, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, jan_02_Quizmo_SetStageLightsDelay, 0x00000001, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, jan_02_Quizmo_SetStageLightsDelay, 0x00000002, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000057, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000008A, 0x00000043, 0x00000001, jan_02_Quizmo_SetVannaAnim_Clap, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000032, 0x00000043, 0x00000006, jan_02_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x00000053, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFD, 0x00000043, 0x00000006, jan_02_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000003A, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0x0000001E, 0x00000043, 0x00000006, jan_02_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000005D, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000045, 0x00000002, D_802447C4_B30C34, 0xFE363C81, 0x00000027, 0x00000002, 0xF5DE02E0, 0x00000001, 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00080010, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000003, 0x00000046, 0x00000001, D_802431E8_B2F658, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, jan_02_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, jan_02_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080011, 0x00000012, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_802431E8_B2F658, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, jan_02_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, jan_02_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x00000001, 0x00000043, 0x00000003, SetMessageMsg, MessageSingular, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetMessageMsg, MessagePlural, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000F, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00AF0009, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000002, 0x00000043, 0x00000002, PlaySound, 0x0000021D, 0x00000043, 0x00000002, PlaySound, 0x0000008B, 0x00000045, 0x00000002, D_80244874_B30CE4, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x0000000F, PlayEffect, 0x0000002B, 0x00000000, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000D, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00AF000A, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, jan_02_Quizmo_UnkStageEffectMode, 0xFFFFFFFF, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, PlaySound, 0x0000008F, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000002D, 0x00000043, 0x00000002, StopSound, 0x00000089, 0x00000057, 0x00000000, 0x00000043, 0x00000001, jan_02_Quizmo_SetVannaAnim_Wave, 0x00000043, 0x00000001, jan_02_Quizmo_DestroyEffects, 0x00000046, 0x00000001, D_802432D8_B2F748, 0x00000044, 0x00000001, D_80243620_B2FA90, 0x00000043, 0x00000001, jan_02_Quizmo_FadeInWorld, 0x00000043, 0x00000001, jan_02_Quizmo_ShowEntities, 0x00000024, 0x00000002, 0xF8406281, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 +.word 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xF4ACD481, 0xF4ACD482, 0xF4ACD483, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFF, 0x00000010, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000A, 0x00000012, 0x00000000, 0x0000000A, 0x00000002, 0xF8406267, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080009, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080008, 0x00000024, 0x00000002, 0xF8406267, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, ShowChoice, 0x001E000D, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000C, 0x00000046, 0x00000001, D_802432D8_B2F748, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8406281, 0x00000001, 0x00000043, 0x00000001, jan_02_Quizmo_HideEntities, 0x00000043, 0x00000001, jan_02_Quizmo_HideWorld, 0x00000044, 0x00000001, D_80243388_B2F7F8, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000005, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000148, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000005, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000045, 0x00000002, D_80243AB0_B2FF20, 0xFE363C81, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000B, 0x00000043, 0x00000002, PlaySound, 0x00000089, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000001, jan_02_Quizmo_CreateStage, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x002C0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0005, 0x00AF0006, 0x00000000, 0xFE363C80, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010028, 0x00000024, 0x00000002, 0xFE363C80, 0x002D0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000002, PlaySound, 0x0000008E, 0x00000043, 0x00000002, ShowChoice, 0xFE363C80, 0x00000049, 0x00000001, 0xFE363C81, 0x00000043, 0x00000002, StopSound, 0x0000008E, 0x00000044, 0x00000001, D_80243B24_B2FF94, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, PlaySound, 0x0000008D, 0x00000043, 0x00000002, jan_02_Quizmo_UnkStageEffectMode, 0xFE363C80, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000043, 0x00000001, jan_02_Quizmo_CreateWorker, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000001, jan_02_Quizmo_UpdateRecords, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000006E, 0x00000043, 0x00000001, CloseChoice, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000057, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00AF0007, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, jan_02_Quizmo_SetStageLightsDelay, 0x00000001, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, jan_02_Quizmo_SetStageLightsDelay, 0x00000002, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000057, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000008A, 0x00000043, 0x00000001, jan_02_Quizmo_SetVannaAnim_Clap, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000032, 0x00000043, 0x00000006, jan_02_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x00000053, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFD, 0x00000043, 0x00000006, jan_02_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000003A, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0x0000001E, 0x00000043, 0x00000006, jan_02_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000005D, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000045, 0x00000002, D_802447C4_B30C34, 0xFE363C81, 0x00000027, 0x00000002, 0xF5DE02E0, 0x00000001, 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00080010, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000003, 0x00000046, 0x00000001, D_802431E8_B2F658, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, jan_02_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, jan_02_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080011, 0x00000012, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_802431E8_B2F658, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, jan_02_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, jan_02_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x00000001, 0x00000043, 0x00000003, SetMessageText, MessageSingular, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetMessageText, MessagePlural, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000F, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00AF0009, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000002, 0x00000043, 0x00000002, PlaySound, 0x0000021D, 0x00000043, 0x00000002, PlaySound, 0x0000008B, 0x00000045, 0x00000002, D_80244874_B30CE4, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x0000000F, PlayEffect, 0x0000002B, 0x00000000, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000D, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00AF000A, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, jan_02_Quizmo_UnkStageEffectMode, 0xFFFFFFFF, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, PlaySound, 0x0000008F, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000002D, 0x00000043, 0x00000002, StopSound, 0x00000089, 0x00000057, 0x00000000, 0x00000043, 0x00000001, jan_02_Quizmo_SetVannaAnim_Wave, 0x00000043, 0x00000001, jan_02_Quizmo_DestroyEffects, 0x00000046, 0x00000001, D_802432D8_B2F748, 0x00000044, 0x00000001, D_80243620_B2FA90, 0x00000043, 0x00000001, jan_02_Quizmo_FadeInWorld, 0x00000043, 0x00000001, jan_02_Quizmo_ShowEntities, 0x00000024, 0x00000002, 0xF8406281, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_80245654_B31AC4 .word 0x00000043, 0x00000001, jan_02_Quizmo_ShouldAppear, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x01000000, 0x00000000, 0x00000043, 0x00000003, SetNpcSprite, 0xFFFFFFFF, 0x00AF0001, 0x00000043, 0x00000001, jan_02_Quizmo_RenderInit, 0x00000002, 0x00000000, 0x00000001, 0x00000000 diff --git a/ver/us/asm/data/world/area_jan/jan_03/B39530.data.s b/ver/us/asm/data/world/area_jan/jan_03/B39530.data.s index b324aa9803..c6fc26a299 100644 --- a/ver/us/asm/data/world/area_jan/jan_03/B39530.data.s +++ b/ver/us/asm/data/world/area_jan/jan_03/B39530.data.s @@ -192,7 +192,7 @@ dlabel D_80248DF4_B3D9C4 .word 0x00000045, 0x00000002, D_80248C28_B3D7F8, 0xFE363C81, 0x00000008, 0x00000001, 0x0000003C, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000049, 0x00000001, 0xFE363C81, 0x00000046, 0x00000001, D_80248C68_B3D838, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_80248EA4_B3DA74 -.word 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xF4ACD481, 0xF4ACD482, 0xF4ACD483, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFF, 0x00000010, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000A, 0x00000012, 0x00000000, 0x0000000A, 0x00000002, 0xF8406267, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080009, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080008, 0x00000024, 0x00000002, 0xF8406267, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, ShowChoice, 0x001E000D, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000C, 0x00000046, 0x00000001, D_80247858_B3C428, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8406281, 0x00000001, 0x00000043, 0x00000001, jan_03_Quizmo_HideEntities, 0x00000043, 0x00000001, jan_03_Quizmo_HideWorld, 0x00000044, 0x00000001, D_80247908_B3C4D8, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000011, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000148, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000011, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000045, 0x00000002, D_80248030_B3CC00, 0xFE363C81, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000B, 0x00000043, 0x00000002, PlaySound, 0x00000089, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000001, jan_03_Quizmo_CreateStage, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x002C0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0005, 0x00AF0006, 0x00000000, 0xFE363C80, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010028, 0x00000024, 0x00000002, 0xFE363C80, 0x002D0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000002, PlaySound, 0x0000008E, 0x00000043, 0x00000002, ShowChoice, 0xFE363C80, 0x00000049, 0x00000001, 0xFE363C81, 0x00000043, 0x00000002, StopSound, 0x0000008E, 0x00000044, 0x00000001, D_802480A4_B3CC74, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, PlaySound, 0x0000008D, 0x00000043, 0x00000002, jan_03_Quizmo_UnkStageEffectMode, 0xFE363C80, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000043, 0x00000001, jan_03_Quizmo_CreateWorker, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000001, jan_03_Quizmo_UpdateRecords, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000006E, 0x00000043, 0x00000001, CloseChoice, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000057, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF0007, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, jan_03_Quizmo_SetStageLightsDelay, 0x00000001, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, jan_03_Quizmo_SetStageLightsDelay, 0x00000002, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000057, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000008A, 0x00000043, 0x00000001, jan_03_Quizmo_SetVannaAnim_Clap, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000032, 0x00000043, 0x00000006, jan_03_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x00000053, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFD, 0x00000043, 0x00000006, jan_03_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000003A, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0x0000001E, 0x00000043, 0x00000006, jan_03_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000005D, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000045, 0x00000002, D_80248D44_B3D914, 0xFE363C81, 0x00000027, 0x00000002, 0xF5DE02E0, 0x00000001, 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00080010, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000003, 0x00000046, 0x00000001, D_80247768_B3C338, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, jan_03_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, jan_03_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080011, 0x00000012, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_80247768_B3C338, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, jan_03_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, jan_03_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x00000001, 0x00000043, 0x00000003, SetMessageMsg, MessageSingular, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetMessageMsg, MessagePlural, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000F, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF0009, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000002, 0x00000043, 0x00000002, PlaySound, 0x0000021D, 0x00000043, 0x00000002, PlaySound, 0x0000008B, 0x00000045, 0x00000002, D_80248DF4_B3D9C4, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x0000000F, PlayEffect, 0x0000002B, 0x00000000, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000D, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF000A, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, jan_03_Quizmo_UnkStageEffectMode, 0xFFFFFFFF, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, PlaySound, 0x0000008F, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000002D, 0x00000043, 0x00000002, StopSound, 0x00000089, 0x00000057, 0x00000000, 0x00000043, 0x00000001, jan_03_Quizmo_SetVannaAnim_Wave, 0x00000043, 0x00000001, jan_03_Quizmo_DestroyEffects, 0x00000046, 0x00000001, D_80247858_B3C428, 0x00000044, 0x00000001, D_80247BA0_B3C770, 0x00000043, 0x00000001, jan_03_Quizmo_FadeInWorld, 0x00000043, 0x00000001, jan_03_Quizmo_ShowEntities, 0x00000024, 0x00000002, 0xF8406281, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 +.word 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xF4ACD481, 0xF4ACD482, 0xF4ACD483, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFF, 0x00000010, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000A, 0x00000012, 0x00000000, 0x0000000A, 0x00000002, 0xF8406267, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080009, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080008, 0x00000024, 0x00000002, 0xF8406267, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, ShowChoice, 0x001E000D, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000C, 0x00000046, 0x00000001, D_80247858_B3C428, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8406281, 0x00000001, 0x00000043, 0x00000001, jan_03_Quizmo_HideEntities, 0x00000043, 0x00000001, jan_03_Quizmo_HideWorld, 0x00000044, 0x00000001, D_80247908_B3C4D8, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000011, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000148, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000011, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000045, 0x00000002, D_80248030_B3CC00, 0xFE363C81, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000B, 0x00000043, 0x00000002, PlaySound, 0x00000089, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000001, jan_03_Quizmo_CreateStage, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x002C0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0005, 0x00AF0006, 0x00000000, 0xFE363C80, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010028, 0x00000024, 0x00000002, 0xFE363C80, 0x002D0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000002, PlaySound, 0x0000008E, 0x00000043, 0x00000002, ShowChoice, 0xFE363C80, 0x00000049, 0x00000001, 0xFE363C81, 0x00000043, 0x00000002, StopSound, 0x0000008E, 0x00000044, 0x00000001, D_802480A4_B3CC74, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, PlaySound, 0x0000008D, 0x00000043, 0x00000002, jan_03_Quizmo_UnkStageEffectMode, 0xFE363C80, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000043, 0x00000001, jan_03_Quizmo_CreateWorker, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000001, jan_03_Quizmo_UpdateRecords, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000006E, 0x00000043, 0x00000001, CloseChoice, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000057, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF0007, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, jan_03_Quizmo_SetStageLightsDelay, 0x00000001, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, jan_03_Quizmo_SetStageLightsDelay, 0x00000002, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000057, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000008A, 0x00000043, 0x00000001, jan_03_Quizmo_SetVannaAnim_Clap, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000032, 0x00000043, 0x00000006, jan_03_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x00000053, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFD, 0x00000043, 0x00000006, jan_03_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000003A, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0x0000001E, 0x00000043, 0x00000006, jan_03_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000005D, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000045, 0x00000002, D_80248D44_B3D914, 0xFE363C81, 0x00000027, 0x00000002, 0xF5DE02E0, 0x00000001, 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00080010, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000003, 0x00000046, 0x00000001, D_80247768_B3C338, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, jan_03_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, jan_03_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080011, 0x00000012, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_80247768_B3C338, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, jan_03_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, jan_03_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x00000001, 0x00000043, 0x00000003, SetMessageText, MessageSingular, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetMessageText, MessagePlural, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000F, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF0009, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000002, 0x00000043, 0x00000002, PlaySound, 0x0000021D, 0x00000043, 0x00000002, PlaySound, 0x0000008B, 0x00000045, 0x00000002, D_80248DF4_B3D9C4, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x0000000F, PlayEffect, 0x0000002B, 0x00000000, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000D, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF000A, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, jan_03_Quizmo_UnkStageEffectMode, 0xFFFFFFFF, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, PlaySound, 0x0000008F, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000002D, 0x00000043, 0x00000002, StopSound, 0x00000089, 0x00000057, 0x00000000, 0x00000043, 0x00000001, jan_03_Quizmo_SetVannaAnim_Wave, 0x00000043, 0x00000001, jan_03_Quizmo_DestroyEffects, 0x00000046, 0x00000001, D_80247858_B3C428, 0x00000044, 0x00000001, D_80247BA0_B3C770, 0x00000043, 0x00000001, jan_03_Quizmo_FadeInWorld, 0x00000043, 0x00000001, jan_03_Quizmo_ShowEntities, 0x00000024, 0x00000002, 0xF8406281, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_80249BD4_B3E7A4 .word 0x00000043, 0x00000001, jan_03_Quizmo_ShouldAppear, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x01000000, 0x00000000, 0x00000043, 0x00000003, SetNpcSprite, 0xFFFFFFFF, 0x00AF0001, 0x00000043, 0x00000001, jan_03_Quizmo_RenderInit, 0x00000002, 0x00000000, 0x00000001, 0x00000000 diff --git a/ver/us/asm/data/world/area_kkj/kkj_17/AF2520.data.s b/ver/us/asm/data/world/area_kkj/kkj_17/AF2520.data.s index 6898678b40..8f8ee7b5c1 100644 --- a/ver/us/asm/data/world/area_kkj/kkj_17/AF2520.data.s +++ b/ver/us/asm/data/world/area_kkj/kkj_17/AF2520.data.s @@ -18,7 +18,7 @@ dlabel D_80240AA0_AF2700 .word 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00200009, 0x00200001, 0x00000000, 0x0014018E, 0x00000043, 0x00000002, SetPlayerAnimation, 0x000C0000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, SetPlayerAnimation, 0x000C0026, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFE, 0x000C0001, 0x000C0026, 0x00000000, 0xFFFFFFFC, 0x0014018F, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00200009, 0x00200001, 0x00000000, 0x00140190, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFE, 0x000C0001, 0x000C0026, 0x00000000, 0xFFFFFFFC, 0x00140191, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00200009, 0x00200001, 0x00000000, 0x00140192, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFE, 0x000C0001, 0x000C0026, 0x00000000, 0xFFFFFFFC, 0x00140193, 0x00000043, 0x00000002, SetPlayerAnimation, 0x000C0002, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, SetPlayerAnimation, 0x000A0001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_80240BD4_AF2834 -.word 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000001, func_802402BC_AF1F1C, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x00000016, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00200009, 0x00200001, 0x00000000, 0x00140194, 0x00000043, 0x00000002, SetPlayerAnimation, 0x000C0000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, SetPlayerAnimation, 0x000C0026, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFE, 0x000C0001, 0x000C0026, 0x00000000, 0xFFFFFFFC, 0x00140195, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00200009, 0x00200001, 0x00000000, 0x00140196, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFE, 0x000C0001, 0x000C0026, 0x00000000, 0xFFFFFFFC, 0x00140197, 0x00000043, 0x00000002, SetPlayerAnimation, 0x000C0002, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, SetPlayerAnimation, 0x000A0001, 0x0000001C, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C80, 0x00000046, 0x00000001, D_80240940_AF25A0, 0x00000043, 0x00000002, kkj_17_GetItemName, 0xFE363C89, 0x00000043, 0x00000003, SetMessageMsg, 0xFE363C89, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x00140198, 0x000000A0, 0x00000028, 0x00000008, 0x00000001, 0x0000000A, 0x00000046, 0x00000001, D_802409F0_AF2650, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 +.word 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000001, func_802402BC_AF1F1C, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x00000016, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00200009, 0x00200001, 0x00000000, 0x00140194, 0x00000043, 0x00000002, SetPlayerAnimation, 0x000C0000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, SetPlayerAnimation, 0x000C0026, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFE, 0x000C0001, 0x000C0026, 0x00000000, 0xFFFFFFFC, 0x00140195, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00200009, 0x00200001, 0x00000000, 0x00140196, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFE, 0x000C0001, 0x000C0026, 0x00000000, 0xFFFFFFFC, 0x00140197, 0x00000043, 0x00000002, SetPlayerAnimation, 0x000C0002, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, SetPlayerAnimation, 0x000A0001, 0x0000001C, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C80, 0x00000046, 0x00000001, D_80240940_AF25A0, 0x00000043, 0x00000002, kkj_17_GetItemName, 0xFE363C89, 0x00000043, 0x00000003, SetMessageText, 0xFE363C89, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x00140198, 0x000000A0, 0x00000028, 0x00000008, 0x00000001, 0x0000000A, 0x00000046, 0x00000001, D_802409F0_AF2650, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_80240D9C_AF29FC .word 0x00000046, 0x00000001, D_80240940_AF25A0, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000001, func_802402BC_AF1F1C, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D00D4, 0x000000A0, 0x00000028, 0x0000001D, 0x00000001, 0x0000010D, 0x0000001D, 0x00000001, 0x00000129, 0x0000001D, 0x00000001, 0x00000111, 0x0000004D, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000002, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000000, 0x00000000, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000000, 0x00000043, 0x00000003, AddBadge, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000001, func_80240500_AF2160, 0x00000020, 0x00000000, 0x0000001C, 0x00000000, 0x00000043, 0x00000001, kkj_17_GetItemEmptyCount, 0x0000000E, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D00D5, 0x000000A0, 0x00000028, 0x00000012, 0x00000000, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000000, 0x00000002, 0x00000043, 0x00000003, AddItem, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000001, func_80240500_AF2160, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000046, 0x00000001, D_802409F0_AF2650, 0x00000002, 0x00000000, 0x00000001, 0x00000000 diff --git a/ver/us/asm/data/world/area_kkj/kkj_19/AF9460.data.s b/ver/us/asm/data/world/area_kkj/kkj_19/AF9460.data.s index 2fadadbc24..2b4b29dc2a 100644 --- a/ver/us/asm/data/world/area_kkj/kkj_19/AF9460.data.s +++ b/ver/us/asm/data/world/area_kkj/kkj_19/AF9460.data.s @@ -27,7 +27,7 @@ dlabel D_802422C4_AF9C14 .word 0x0000000B, 0x00000002, 0xF70F2E82, 0x00000000, 0x00000043, 0x00000003, FindKeyItem, 0xF70F2E82, 0xFE363C80, 0x00000043, 0x00000002, RemoveKeyItemAt, 0xFE363C80, 0x00000024, 0x00000002, 0xF70F2E82, 0x00000000, 0x00000043, 0x00000002, func_80240C10_AF8560, 0x00000000, 0x00000043, 0x00000002, SetPlayerActionState, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_80242340_AF9C90 -.word 0x0000000A, 0x00000002, 0xF70F2E80, 0x00000006, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, kkj_19_GetFloorCollider, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000011, 0x00000024, 0x00000002, 0xFE363C80, 0x0000005D, 0x00000016, 0x00000001, 0x00000012, 0x00000024, 0x00000002, 0xFE363C80, 0x0000005E, 0x00000016, 0x00000001, 0x00000013, 0x00000024, 0x00000002, 0xFE363C80, 0x0000005F, 0x00000016, 0x00000001, 0x00000015, 0x00000024, 0x00000002, 0xFE363C80, 0x00000061, 0x00000016, 0x00000001, 0x00000016, 0x00000024, 0x00000002, 0xFE363C80, 0x00000060, 0x00000016, 0x00000001, 0x00000017, 0x00000024, 0x00000002, 0xFE363C80, 0x00000062, 0x00000016, 0x00000001, 0x00000018, 0x00000024, 0x00000002, 0xFE363C80, 0x00000063, 0x00000016, 0x00000001, 0x00000019, 0x00000024, 0x00000002, 0xFE363C80, 0x00000064, 0x00000016, 0x00000001, 0x00000010, 0x00000024, 0x00000002, 0xFE363C80, 0x00000065, 0x00000016, 0x00000001, 0x00000014, 0x00000024, 0x00000002, 0xFE363C80, 0x00000066, 0x0000001C, 0x00000000, 0x00000002, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xF9718892, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C8B, 0xFE363C80, 0x0000000A, 0x00000002, 0xF70F2E82, 0x00000000, 0x00000043, 0x00000002, func_80240B8C_AF84DC, 0xFE363C8A, 0x00000043, 0x00000003, SetMessageMsg, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000002, kkj_19_GetFloorCollider, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000011, 0x00000024, 0x00000002, 0xFE363C80, 0x00000010, 0x00000016, 0x00000001, 0x00000012, 0x00000024, 0x00000002, 0xFE363C80, 0x0000000F, 0x00000016, 0x00000001, 0x00000013, 0x00000024, 0x00000002, 0xFE363C80, 0x00000008, 0x00000016, 0x00000001, 0x00000015, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000016, 0x00000001, 0x00000016, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000016, 0x00000001, 0x00000017, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x00000016, 0x00000001, 0x00000018, 0x00000024, 0x00000002, 0xFE363C80, 0x00000004, 0x00000016, 0x00000001, 0x00000019, 0x00000024, 0x00000002, 0xFE363C80, 0x00000005, 0x00000016, 0x00000001, 0x00000010, 0x00000024, 0x00000002, 0xFE363C80, 0x00000007, 0x00000016, 0x00000001, 0x00000014, 0x00000024, 0x00000002, 0xFE363C80, 0x00000006, 0x00000023, 0x00000000, 0x00000043, 0x00000002, func_80240C10_AF8560, 0xFE363C80, 0x00000043, 0x00000002, SetPlayerActionState, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E82, 0xFE363C8B, 0x00000043, 0x00000002, AddKeyItem, 0xFE363C8B, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001400E7, 0x000000A0, 0x00000028, 0x00000012, 0x00000000, 0x00000043, 0x00000003, FindKeyItem, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000024, 0x00000002, 0xFE363C89, 0xF70F2E82, 0x00000043, 0x00000002, func_80240B8C_AF84DC, 0xFE363C89, 0x00000043, 0x00000002, func_80240B8C_AF84DC, 0xFE363C8A, 0x00000043, 0x00000003, SetMessageMsg, 0xFE363C89, 0x00000000, 0x00000043, 0x00000003, SetMessageMsg, 0xFE363C8A, 0x00000001, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001400E9, 0x000000A0, 0x00000028, 0x00000043, 0x00000002, ShowChoice, 0x001E002B, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000046, 0x00000001, D_802422C4_AF9C14, 0x00000043, 0x00000002, kkj_19_GetFloorCollider, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000011, 0x00000024, 0x00000002, 0xFE363C80, 0x00000010, 0x00000016, 0x00000001, 0x00000012, 0x00000024, 0x00000002, 0xFE363C80, 0x0000000F, 0x00000016, 0x00000001, 0x00000013, 0x00000024, 0x00000002, 0xFE363C80, 0x00000008, 0x00000016, 0x00000001, 0x00000015, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000016, 0x00000001, 0x00000016, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000016, 0x00000001, 0x00000017, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x00000016, 0x00000001, 0x00000018, 0x00000024, 0x00000002, 0xFE363C80, 0x00000004, 0x00000016, 0x00000001, 0x00000019, 0x00000024, 0x00000002, 0xFE363C80, 0x00000005, 0x00000016, 0x00000001, 0x00000010, 0x00000024, 0x00000002, 0xFE363C80, 0x00000007, 0x00000016, 0x00000001, 0x00000014, 0x00000024, 0x00000002, 0xFE363C80, 0x00000006, 0x00000023, 0x00000000, 0x00000043, 0x00000002, func_80240C10_AF8560, 0xFE363C80, 0x00000043, 0x00000002, SetPlayerActionState, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E82, 0xFE363C8B, 0x00000043, 0x00000002, AddKeyItem, 0xFE363C8B, 0x00000043, 0x00000002, SwitchMessage, 0x001400EA, 0x00000012, 0x00000000, 0x00000043, 0x00000001, CloseMessage, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000002, func_80240B8C_AF84DC, 0xFE363C8A, 0x00000043, 0x00000003, SetMessageMsg, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001400E6, 0x000000A0, 0x00000028, 0x00000043, 0x00000002, ShowChoice, 0x001E002B, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000046, 0x00000001, D_802422C4_AF9C14, 0x00000043, 0x00000002, SwitchMessage, 0x001400E8, 0x00000012, 0x00000000, 0x00000043, 0x00000001, CloseMessage, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF9718892, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 +.word 0x0000000A, 0x00000002, 0xF70F2E80, 0x00000006, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, kkj_19_GetFloorCollider, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000011, 0x00000024, 0x00000002, 0xFE363C80, 0x0000005D, 0x00000016, 0x00000001, 0x00000012, 0x00000024, 0x00000002, 0xFE363C80, 0x0000005E, 0x00000016, 0x00000001, 0x00000013, 0x00000024, 0x00000002, 0xFE363C80, 0x0000005F, 0x00000016, 0x00000001, 0x00000015, 0x00000024, 0x00000002, 0xFE363C80, 0x00000061, 0x00000016, 0x00000001, 0x00000016, 0x00000024, 0x00000002, 0xFE363C80, 0x00000060, 0x00000016, 0x00000001, 0x00000017, 0x00000024, 0x00000002, 0xFE363C80, 0x00000062, 0x00000016, 0x00000001, 0x00000018, 0x00000024, 0x00000002, 0xFE363C80, 0x00000063, 0x00000016, 0x00000001, 0x00000019, 0x00000024, 0x00000002, 0xFE363C80, 0x00000064, 0x00000016, 0x00000001, 0x00000010, 0x00000024, 0x00000002, 0xFE363C80, 0x00000065, 0x00000016, 0x00000001, 0x00000014, 0x00000024, 0x00000002, 0xFE363C80, 0x00000066, 0x0000001C, 0x00000000, 0x00000002, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xF9718892, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C8B, 0xFE363C80, 0x0000000A, 0x00000002, 0xF70F2E82, 0x00000000, 0x00000043, 0x00000002, func_80240B8C_AF84DC, 0xFE363C8A, 0x00000043, 0x00000003, SetMessageText, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000002, kkj_19_GetFloorCollider, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000011, 0x00000024, 0x00000002, 0xFE363C80, 0x00000010, 0x00000016, 0x00000001, 0x00000012, 0x00000024, 0x00000002, 0xFE363C80, 0x0000000F, 0x00000016, 0x00000001, 0x00000013, 0x00000024, 0x00000002, 0xFE363C80, 0x00000008, 0x00000016, 0x00000001, 0x00000015, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000016, 0x00000001, 0x00000016, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000016, 0x00000001, 0x00000017, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x00000016, 0x00000001, 0x00000018, 0x00000024, 0x00000002, 0xFE363C80, 0x00000004, 0x00000016, 0x00000001, 0x00000019, 0x00000024, 0x00000002, 0xFE363C80, 0x00000005, 0x00000016, 0x00000001, 0x00000010, 0x00000024, 0x00000002, 0xFE363C80, 0x00000007, 0x00000016, 0x00000001, 0x00000014, 0x00000024, 0x00000002, 0xFE363C80, 0x00000006, 0x00000023, 0x00000000, 0x00000043, 0x00000002, func_80240C10_AF8560, 0xFE363C80, 0x00000043, 0x00000002, SetPlayerActionState, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E82, 0xFE363C8B, 0x00000043, 0x00000002, AddKeyItem, 0xFE363C8B, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001400E7, 0x000000A0, 0x00000028, 0x00000012, 0x00000000, 0x00000043, 0x00000003, FindKeyItem, 0xFE363C80, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000024, 0x00000002, 0xFE363C89, 0xF70F2E82, 0x00000043, 0x00000002, func_80240B8C_AF84DC, 0xFE363C89, 0x00000043, 0x00000002, func_80240B8C_AF84DC, 0xFE363C8A, 0x00000043, 0x00000003, SetMessageText, 0xFE363C89, 0x00000000, 0x00000043, 0x00000003, SetMessageText, 0xFE363C8A, 0x00000001, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001400E9, 0x000000A0, 0x00000028, 0x00000043, 0x00000002, ShowChoice, 0x001E002B, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000046, 0x00000001, D_802422C4_AF9C14, 0x00000043, 0x00000002, kkj_19_GetFloorCollider, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000011, 0x00000024, 0x00000002, 0xFE363C80, 0x00000010, 0x00000016, 0x00000001, 0x00000012, 0x00000024, 0x00000002, 0xFE363C80, 0x0000000F, 0x00000016, 0x00000001, 0x00000013, 0x00000024, 0x00000002, 0xFE363C80, 0x00000008, 0x00000016, 0x00000001, 0x00000015, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000016, 0x00000001, 0x00000016, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000016, 0x00000001, 0x00000017, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x00000016, 0x00000001, 0x00000018, 0x00000024, 0x00000002, 0xFE363C80, 0x00000004, 0x00000016, 0x00000001, 0x00000019, 0x00000024, 0x00000002, 0xFE363C80, 0x00000005, 0x00000016, 0x00000001, 0x00000010, 0x00000024, 0x00000002, 0xFE363C80, 0x00000007, 0x00000016, 0x00000001, 0x00000014, 0x00000024, 0x00000002, 0xFE363C80, 0x00000006, 0x00000023, 0x00000000, 0x00000043, 0x00000002, func_80240C10_AF8560, 0xFE363C80, 0x00000043, 0x00000002, SetPlayerActionState, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E82, 0xFE363C8B, 0x00000043, 0x00000002, AddKeyItem, 0xFE363C8B, 0x00000043, 0x00000002, SwitchMessage, 0x001400EA, 0x00000012, 0x00000000, 0x00000043, 0x00000001, CloseMessage, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000002, func_80240B8C_AF84DC, 0xFE363C8A, 0x00000043, 0x00000003, SetMessageText, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001400E6, 0x000000A0, 0x00000028, 0x00000043, 0x00000002, ShowChoice, 0x001E002B, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000046, 0x00000001, D_802422C4_AF9C14, 0x00000043, 0x00000002, SwitchMessage, 0x001400E8, 0x00000012, 0x00000000, 0x00000043, 0x00000001, CloseMessage, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF9718892, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_80242A18_AFA368 .word 0x0000000A, 0x00000002, 0xF70F2E80, 0x00000006, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000004D, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000001, 0x00000043, 0x00000001, ShowKeyChoicePopup, 0x00000024, 0x00000002, 0xFE363C82, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C82, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000000, 0x00000002, 0x00000000, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000000, 0x00000002, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000002, RemoveKeyItemAt, 0xFE363C81, 0x00000024, 0x00000002, 0xF70F2E82, 0x00000000, 0x00000043, 0x00000002, func_80240C10_AF8560, 0x00000000, 0x00000043, 0x00000002, SetPlayerActionState, 0x00000000, 0x00000014, 0x00000001, 0xF70F2E80, 0x00000016, 0x00000001, 0x00000001, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x0000005D, 0x00000024, 0x00000002, 0xF971888B, 0x00000001, 0x00000016, 0x00000001, 0x0000005F, 0x00000024, 0x00000002, 0xF971888A, 0x00000001, 0x0000001C, 0x00000000, 0x00000024, 0x00000002, 0xF971888E, 0x00000000, 0x00000023, 0x00000000, 0x0000000A, 0x00000002, 0xF70F2E83, 0x00000000, 0x00000043, 0x00000002, RemoveItemEntity, 0xF70F2E84, 0x00000043, 0x00000007, MakeItemEntity, 0x00000163, 0x0000011F, 0x00000010, 0xFFFFFFD8, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E84, 0xFE363C80, 0x00000013, 0x00000000, 0x0000000D, 0x00000002, 0xF70F2E83, 0x00000001, 0x00000024, 0x00000002, 0xF971888E, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000065, 0x00000024, 0x00000002, 0xF971888C, 0x00000001, 0x00000016, 0x00000001, 0x00000062, 0x00000024, 0x00000002, 0xF971888D, 0x00000001, 0x0000001C, 0x00000000, 0x00000024, 0x00000002, 0xF971888E, 0x00000000, 0x00000023, 0x00000000, 0x0000000D, 0x00000002, 0xF70F2E83, 0x00000001, 0x00000024, 0x00000002, 0xF971888E, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000005, 0x00000014, 0x00000001, 0xF70F2E83, 0x00000016, 0x00000001, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000060, 0x00000024, 0x00000002, 0xF9718889, 0x00000001, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000061, 0x00000024, 0x00000002, 0xF9718889, 0x00000001, 0x00000013, 0x00000000, 0x0000001C, 0x00000000, 0x00000024, 0x00000002, 0xF9718889, 0x00000001, 0x00000023, 0x00000000, 0x00000043, 0x00000002, RemoveItemEntity, 0xF70F2E85, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000061, 0x0000000A, 0x00000002, 0xF971888F, 0x00000000, 0x00000043, 0x00000007, MakeItemEntity, 0x00000165, 0x0000011F, 0x00000014, 0xFFFFFFE2, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E85, 0xFE363C80, 0x00000012, 0x00000000, 0x00000043, 0x00000007, MakeItemEntity, 0x0000015E, 0x0000011F, 0x00000014, 0xFFFFFFE2, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E85, 0xFE363C80, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF9718890, 0x00000001, 0x0000001C, 0x00000000, 0x00000043, 0x00000007, MakeItemEntity, 0x00000164, 0x0000011F, 0x00000014, 0xFFFFFFE2, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E85, 0xFE363C80, 0x00000024, 0x00000002, 0xF971888F, 0x00000001, 0x00000024, 0x00000002, 0xF9718890, 0x00000000, 0x00000023, 0x00000000, 0x00000023, 0x00000000, 0x00000027, 0x00000002, 0xF70F2E83, 0x00000001, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_01/9C89E0.data.s b/ver/us/asm/data/world/area_nok/nok_01/9C89E0.data.s index e94bfb36b1..9accfbebde 100644 --- a/ver/us/asm/data/world/area_nok/nok_01/9C89E0.data.s +++ b/ver/us/asm/data/world/area_nok/nok_01/9C89E0.data.s @@ -156,7 +156,7 @@ dlabel D_802475D4_9CC9B4 .word 0x00000045, 0x00000002, D_80247408_9CC7E8, 0xFE363C81, 0x00000008, 0x00000001, 0x0000003C, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000049, 0x00000001, 0xFE363C81, 0x00000046, 0x00000001, D_80247448_9CC828, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_80247684_9CCA64 -.word 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xF4ACD481, 0xF4ACD482, 0xF4ACD483, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFF, 0x00000010, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000A, 0x00000012, 0x00000000, 0x0000000A, 0x00000002, 0xF8406267, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080009, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080008, 0x00000024, 0x00000002, 0xF8406267, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, ShowChoice, 0x001E000D, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000C, 0x00000046, 0x00000001, D_80246038_9CB418, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8406281, 0x00000001, 0x00000043, 0x00000001, nok_01_Quizmo_HideEntities, 0x00000043, 0x00000001, nok_01_Quizmo_HideWorld, 0x00000044, 0x00000001, D_802460E8_9CB4C8, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x0000000F, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000148, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0x0000000F, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000045, 0x00000002, D_80246810_9CBBF0, 0xFE363C81, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000B, 0x00000043, 0x00000002, PlaySound, 0x00000089, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000001, nok_01_Quizmo_CreateStage, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x002C0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0005, 0x00AF0006, 0x00000000, 0xFE363C80, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010028, 0x00000024, 0x00000002, 0xFE363C80, 0x002D0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000002, PlaySound, 0x0000008E, 0x00000043, 0x00000002, ShowChoice, 0xFE363C80, 0x00000049, 0x00000001, 0xFE363C81, 0x00000043, 0x00000002, StopSound, 0x0000008E, 0x00000044, 0x00000001, D_80246884_9CBC64, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, PlaySound, 0x0000008D, 0x00000043, 0x00000002, nok_01_Quizmo_UnkStageEffectMode, 0xFE363C80, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000043, 0x00000001, nok_01_Quizmo_CreateWorker, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000001, nok_01_Quizmo_UpdateRecords, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000006E, 0x00000043, 0x00000001, CloseChoice, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000057, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000F, 0x00AF0007, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, nok_01_Quizmo_SetStageLightsDelay, 0x00000001, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, nok_01_Quizmo_SetStageLightsDelay, 0x00000002, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000057, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000008A, 0x00000043, 0x00000001, nok_01_Quizmo_SetVannaAnim_Clap, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000032, 0x00000043, 0x00000006, nok_01_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x00000053, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFD, 0x00000043, 0x00000006, nok_01_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000003A, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0x0000001E, 0x00000043, 0x00000006, nok_01_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000005D, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000045, 0x00000002, D_80247524_9CC904, 0xFE363C81, 0x00000027, 0x00000002, 0xF5DE02E0, 0x00000001, 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00080010, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000F, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000F, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000003, 0x00000046, 0x00000001, D_80245F48_9CB328, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, nok_01_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, nok_01_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080011, 0x00000012, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000E, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000F, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000F, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_80245F48_9CB328, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, nok_01_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, nok_01_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x00000001, 0x00000043, 0x00000003, SetMessageMsg, MessageSingular, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetMessageMsg, MessagePlural, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000F, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000F, 0x00AF0009, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000002, 0x00000043, 0x00000002, PlaySound, 0x0000021D, 0x00000043, 0x00000002, PlaySound, 0x0000008B, 0x00000045, 0x00000002, D_802475D4_9CC9B4, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x0000000F, PlayEffect, 0x0000002B, 0x00000000, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000D, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000F, 0x00AF000A, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, nok_01_Quizmo_UnkStageEffectMode, 0xFFFFFFFF, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, PlaySound, 0x0000008F, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000002D, 0x00000043, 0x00000002, StopSound, 0x00000089, 0x00000057, 0x00000000, 0x00000043, 0x00000001, nok_01_Quizmo_SetVannaAnim_Wave, 0x00000043, 0x00000001, nok_01_Quizmo_DestroyEffects, 0x00000046, 0x00000001, D_80246038_9CB418, 0x00000044, 0x00000001, D_80246380_9CB760, 0x00000043, 0x00000001, nok_01_Quizmo_FadeInWorld, 0x00000043, 0x00000001, nok_01_Quizmo_ShowEntities, 0x00000024, 0x00000002, 0xF8406281, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 +.word 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xF4ACD481, 0xF4ACD482, 0xF4ACD483, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFF, 0x00000010, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000A, 0x00000012, 0x00000000, 0x0000000A, 0x00000002, 0xF8406267, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080009, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080008, 0x00000024, 0x00000002, 0xF8406267, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, ShowChoice, 0x001E000D, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000C, 0x00000046, 0x00000001, D_80246038_9CB418, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8406281, 0x00000001, 0x00000043, 0x00000001, nok_01_Quizmo_HideEntities, 0x00000043, 0x00000001, nok_01_Quizmo_HideWorld, 0x00000044, 0x00000001, D_802460E8_9CB4C8, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x0000000F, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000148, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0x0000000F, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000045, 0x00000002, D_80246810_9CBBF0, 0xFE363C81, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000B, 0x00000043, 0x00000002, PlaySound, 0x00000089, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000001, nok_01_Quizmo_CreateStage, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x002C0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0005, 0x00AF0006, 0x00000000, 0xFE363C80, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010028, 0x00000024, 0x00000002, 0xFE363C80, 0x002D0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000002, PlaySound, 0x0000008E, 0x00000043, 0x00000002, ShowChoice, 0xFE363C80, 0x00000049, 0x00000001, 0xFE363C81, 0x00000043, 0x00000002, StopSound, 0x0000008E, 0x00000044, 0x00000001, D_80246884_9CBC64, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, PlaySound, 0x0000008D, 0x00000043, 0x00000002, nok_01_Quizmo_UnkStageEffectMode, 0xFE363C80, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000043, 0x00000001, nok_01_Quizmo_CreateWorker, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000001, nok_01_Quizmo_UpdateRecords, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000006E, 0x00000043, 0x00000001, CloseChoice, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000057, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000F, 0x00AF0007, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, nok_01_Quizmo_SetStageLightsDelay, 0x00000001, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, nok_01_Quizmo_SetStageLightsDelay, 0x00000002, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000057, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000008A, 0x00000043, 0x00000001, nok_01_Quizmo_SetVannaAnim_Clap, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000032, 0x00000043, 0x00000006, nok_01_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x00000053, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFD, 0x00000043, 0x00000006, nok_01_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000003A, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0x0000001E, 0x00000043, 0x00000006, nok_01_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000005D, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000045, 0x00000002, D_80247524_9CC904, 0xFE363C81, 0x00000027, 0x00000002, 0xF5DE02E0, 0x00000001, 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00080010, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000F, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000F, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000003, 0x00000046, 0x00000001, D_80245F48_9CB328, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, nok_01_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, nok_01_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080011, 0x00000012, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000E, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000F, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000F, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_80245F48_9CB328, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, nok_01_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, nok_01_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x00000001, 0x00000043, 0x00000003, SetMessageText, MessageSingular, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetMessageText, MessagePlural, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000F, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000F, 0x00AF0009, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000002, 0x00000043, 0x00000002, PlaySound, 0x0000021D, 0x00000043, 0x00000002, PlaySound, 0x0000008B, 0x00000045, 0x00000002, D_802475D4_9CC9B4, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x0000000F, PlayEffect, 0x0000002B, 0x00000000, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000D, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000F, 0x00AF000A, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, nok_01_Quizmo_UnkStageEffectMode, 0xFFFFFFFF, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, PlaySound, 0x0000008F, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000002D, 0x00000043, 0x00000002, StopSound, 0x00000089, 0x00000057, 0x00000000, 0x00000043, 0x00000001, nok_01_Quizmo_SetVannaAnim_Wave, 0x00000043, 0x00000001, nok_01_Quizmo_DestroyEffects, 0x00000046, 0x00000001, D_80246038_9CB418, 0x00000044, 0x00000001, D_80246380_9CB760, 0x00000043, 0x00000001, nok_01_Quizmo_FadeInWorld, 0x00000043, 0x00000001, nok_01_Quizmo_ShowEntities, 0x00000024, 0x00000002, 0xF8406281, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_802483B4_9CD794 .word 0x00000043, 0x00000001, nok_01_Quizmo_ShouldAppear, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x01000000, 0x00000000, 0x00000043, 0x00000003, SetNpcSprite, 0xFFFFFFFF, 0x00AF0001, 0x00000043, 0x00000001, nok_01_Quizmo_RenderInit, 0x00000002, 0x00000000, 0x00000001, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_02/9DDE90.data.s b/ver/us/asm/data/world/area_nok/nok_02/9DDE90.data.s index 76f11331c3..74695dc4e4 100644 --- a/ver/us/asm/data/world/area_nok/nok_02/9DDE90.data.s +++ b/ver/us/asm/data/world/area_nok/nok_02/9DDE90.data.s @@ -90,7 +90,7 @@ dlabel D_80248758_9DF778 .word 0x00000045, 0x00000002, D_8024858C_9DF5AC, 0xFE363C81, 0x00000008, 0x00000001, 0x0000003C, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000049, 0x00000001, 0xFE363C81, 0x00000046, 0x00000001, D_802485CC_9DF5EC, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_80248808_9DF828 -.word 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xF4ACD481, 0xF4ACD482, 0xF4ACD483, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFF, 0x00000010, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000A, 0x00000012, 0x00000000, 0x0000000A, 0x00000002, 0xF8406267, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080009, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080008, 0x00000024, 0x00000002, 0xF8406267, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, ShowChoice, 0x001E000D, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000C, 0x00000046, 0x00000001, D_802471BC_9DE1DC, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8406281, 0x00000001, 0x00000043, 0x00000001, nok_02_Quizmo_HideEntities, 0x00000043, 0x00000001, nok_02_Quizmo_HideWorld, 0x00000044, 0x00000001, D_8024726C_9DE28C, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000013, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000148, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000013, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000045, 0x00000002, D_80247994_9DE9B4, 0xFE363C81, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000B, 0x00000043, 0x00000002, PlaySound, 0x00000089, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000001, nok_02_Quizmo_CreateStage, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x002C0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0005, 0x00AF0006, 0x00000000, 0xFE363C80, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010028, 0x00000024, 0x00000002, 0xFE363C80, 0x002D0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000002, PlaySound, 0x0000008E, 0x00000043, 0x00000002, ShowChoice, 0xFE363C80, 0x00000049, 0x00000001, 0xFE363C81, 0x00000043, 0x00000002, StopSound, 0x0000008E, 0x00000044, 0x00000001, D_80247A08_9DEA28, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, PlaySound, 0x0000008D, 0x00000043, 0x00000002, nok_02_Quizmo_UnkStageEffectMode, 0xFE363C80, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000043, 0x00000001, nok_02_Quizmo_CreateWorker, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000001, nok_02_Quizmo_UpdateRecords, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000006E, 0x00000043, 0x00000001, CloseChoice, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000057, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000013, 0x00AF0007, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, nok_02_Quizmo_SetStageLightsDelay, 0x00000001, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, nok_02_Quizmo_SetStageLightsDelay, 0x00000002, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000057, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000008A, 0x00000043, 0x00000001, nok_02_Quizmo_SetVannaAnim_Clap, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000032, 0x00000043, 0x00000006, nok_02_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x00000053, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFD, 0x00000043, 0x00000006, nok_02_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000003A, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0x0000001E, 0x00000043, 0x00000006, nok_02_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000005D, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000045, 0x00000002, D_802486A8_9DF6C8, 0xFE363C81, 0x00000027, 0x00000002, 0xF5DE02E0, 0x00000001, 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00080010, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000013, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000013, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000003, 0x00000046, 0x00000001, D_802470CC_9DE0EC, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, nok_02_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, nok_02_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080011, 0x00000012, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000013, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000013, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_802470CC_9DE0EC, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, nok_02_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, nok_02_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x00000001, 0x00000043, 0x00000003, SetMessageMsg, MessageSingular, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetMessageMsg, MessagePlural, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000F, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000013, 0x00AF0009, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000002, 0x00000043, 0x00000002, PlaySound, 0x0000021D, 0x00000043, 0x00000002, PlaySound, 0x0000008B, 0x00000045, 0x00000002, D_80248758_9DF778, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x0000000F, PlayEffect, 0x0000002B, 0x00000000, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000D, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000013, 0x00AF000A, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, nok_02_Quizmo_UnkStageEffectMode, 0xFFFFFFFF, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, PlaySound, 0x0000008F, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000002D, 0x00000043, 0x00000002, StopSound, 0x00000089, 0x00000057, 0x00000000, 0x00000043, 0x00000001, nok_02_Quizmo_SetVannaAnim_Wave, 0x00000043, 0x00000001, nok_02_Quizmo_DestroyEffects, 0x00000046, 0x00000001, D_802471BC_9DE1DC, 0x00000044, 0x00000001, D_80247504_9DE524, 0x00000043, 0x00000001, nok_02_Quizmo_FadeInWorld, 0x00000043, 0x00000001, nok_02_Quizmo_ShowEntities, 0x00000024, 0x00000002, 0xF8406281, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 +.word 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xF4ACD481, 0xF4ACD482, 0xF4ACD483, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFF, 0x00000010, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000A, 0x00000012, 0x00000000, 0x0000000A, 0x00000002, 0xF8406267, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080009, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080008, 0x00000024, 0x00000002, 0xF8406267, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, ShowChoice, 0x001E000D, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000C, 0x00000046, 0x00000001, D_802471BC_9DE1DC, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8406281, 0x00000001, 0x00000043, 0x00000001, nok_02_Quizmo_HideEntities, 0x00000043, 0x00000001, nok_02_Quizmo_HideWorld, 0x00000044, 0x00000001, D_8024726C_9DE28C, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000013, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000148, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000013, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000045, 0x00000002, D_80247994_9DE9B4, 0xFE363C81, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000B, 0x00000043, 0x00000002, PlaySound, 0x00000089, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000001, nok_02_Quizmo_CreateStage, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x002C0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0005, 0x00AF0006, 0x00000000, 0xFE363C80, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010028, 0x00000024, 0x00000002, 0xFE363C80, 0x002D0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000002, PlaySound, 0x0000008E, 0x00000043, 0x00000002, ShowChoice, 0xFE363C80, 0x00000049, 0x00000001, 0xFE363C81, 0x00000043, 0x00000002, StopSound, 0x0000008E, 0x00000044, 0x00000001, D_80247A08_9DEA28, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, PlaySound, 0x0000008D, 0x00000043, 0x00000002, nok_02_Quizmo_UnkStageEffectMode, 0xFE363C80, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000043, 0x00000001, nok_02_Quizmo_CreateWorker, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000001, nok_02_Quizmo_UpdateRecords, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000006E, 0x00000043, 0x00000001, CloseChoice, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000057, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000013, 0x00AF0007, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, nok_02_Quizmo_SetStageLightsDelay, 0x00000001, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, nok_02_Quizmo_SetStageLightsDelay, 0x00000002, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000057, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000008A, 0x00000043, 0x00000001, nok_02_Quizmo_SetVannaAnim_Clap, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000032, 0x00000043, 0x00000006, nok_02_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x00000053, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFD, 0x00000043, 0x00000006, nok_02_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000003A, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0x0000001E, 0x00000043, 0x00000006, nok_02_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000005D, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000045, 0x00000002, D_802486A8_9DF6C8, 0xFE363C81, 0x00000027, 0x00000002, 0xF5DE02E0, 0x00000001, 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00080010, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000013, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000013, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000003, 0x00000046, 0x00000001, D_802470CC_9DE0EC, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, nok_02_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, nok_02_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080011, 0x00000012, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000013, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000013, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_802470CC_9DE0EC, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, nok_02_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, nok_02_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x00000001, 0x00000043, 0x00000003, SetMessageText, MessageSingular, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetMessageText, MessagePlural, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000F, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000013, 0x00AF0009, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000002, 0x00000043, 0x00000002, PlaySound, 0x0000021D, 0x00000043, 0x00000002, PlaySound, 0x0000008B, 0x00000045, 0x00000002, D_80248758_9DF778, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x0000000F, PlayEffect, 0x0000002B, 0x00000000, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000D, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000013, 0x00AF000A, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, nok_02_Quizmo_UnkStageEffectMode, 0xFFFFFFFF, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, PlaySound, 0x0000008F, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000002D, 0x00000043, 0x00000002, StopSound, 0x00000089, 0x00000057, 0x00000000, 0x00000043, 0x00000001, nok_02_Quizmo_SetVannaAnim_Wave, 0x00000043, 0x00000001, nok_02_Quizmo_DestroyEffects, 0x00000046, 0x00000001, D_802471BC_9DE1DC, 0x00000044, 0x00000001, D_80247504_9DE524, 0x00000043, 0x00000001, nok_02_Quizmo_FadeInWorld, 0x00000043, 0x00000001, nok_02_Quizmo_ShowEntities, 0x00000024, 0x00000002, 0xF8406281, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_80249538_9E0558 .word 0x00000043, 0x00000001, nok_02_Quizmo_ShouldAppear, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x01000000, 0x00000000, 0x00000043, 0x00000003, SetNpcSprite, 0xFFFFFFFF, 0x00AF0001, 0x00000043, 0x00000001, nok_02_Quizmo_RenderInit, 0x00000002, 0x00000000, 0x00000001, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_12/9FC8B0.data.s b/ver/us/asm/data/world/area_nok/nok_12/9FC8B0.data.s deleted file mode 100644 index f8a8b32e96..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_12/9FC8B0.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802420C0_9FC8B0 -.word 0xC4448000, 0x00000000, 0xC2440000, 0x42B40000, 0x445D8000, 0x42960000, 0xC2440000, 0x43870000, 0x43340000, 0x00000000, 0xC2480000, 0x42B40000, 0xC3FA0000, 0x00000000, 0xC3110000, 0x42B40000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8024266C, D_802420C0_9FC8B0, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x00190046, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000011, 0x00000000, 0x00000008, 0x00000043, 0x00000002, PlaySound, 0x8000005B, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_12/9FC970.data.s b/ver/us/asm/data/world/area_nok/nok_12/9FC970.data.s deleted file mode 100644 index f0b2968156..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_12/9FC970.data.s +++ /dev/null @@ -1,30 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80242180_9FC970 -.word 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80245A60, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802421D0_9FC9C0 -.word 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000001, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80245A68, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242220_9FCA10 -.word 0x00000003, 0x00000001, 0x00000000, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFF9E, 0x00000043, 0x00000007, func_80240000_9FA7F0, 0xFFFFFE84, 0xFFFFFF56, 0xFFFFFF9C, 0x000003E7, 0x00000000, 0x00000002, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242290_9FCA80 -.word 0x0000004D, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000BC, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000BD, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000BE, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000BF, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000C0, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000C1, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000C2, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000C3, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x00000005, 0x00000001, 0x0000000C, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000005, 0x00000001, 0x0000000C, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000000, 0x00000000, 0x00004000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000004, 0x00000001, 0x0000000A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802423DC_9FCBCC -.word 0x0000004D, 0x00000001, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000C5, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000001, 0x00000000, 0xFE363C80, 0x00000000, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000001, 0x00000001, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000064, 0x00000028, 0x00000002, 0xFE363C81, 0x00000190, 0x00000027, 0x00000002, 0xFE363C81, 0x000003E8, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x00000021, 0x00000002, 0x00000043, 0x00000003, SetTexPanner, 0x00000022, 0x00000002, 0x00000043, 0x00000003, SetTexPanner, 0x00000023, 0x00000002, 0x00000043, 0x00000003, SetTexPanner, 0x0000001F, 0x00000002, 0x00000043, 0x00000003, SetTexPanner, 0x00000020, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000003, 0x00000001, 0x00000014, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000002, 0x00000000, 0xFE363C80, 0x00000000, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000002, 0x00000001, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000064, 0x00000027, 0x00000002, 0xFE363C81, 0x00000320, 0x00000028, 0x00000002, 0xFE363C81, 0x00000190, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000014, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802425F8_9FCDE8 -.word 0x00000047, 0x00000005, D_80242180_9FC970, 0x00080000, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_802421D0_9FC9C0, 0x00080000, 0x0000001B, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242640_9FCE30 -.word 0x00000024, 0x00000002, 0xFE363C80, D_802425F8_9FCDE8, 0x00000044, 0x00000001, EnterWalk, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x00000020, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000024, 0x00000002, 0xF9718881, 0x00000000, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000002, GetDemoState, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80245300, 0x00000012, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000002, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x8024533C, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000046, 0x00000001, D_80242A00_9FD1F0, 0x00000046, 0x00000001, 0x802441A8, 0x00000044, 0x00000001, D_80242290_9FCA80, 0x00000044, 0x00000001, D_802423DC_9FCBCC, 0x00000044, 0x00000001, 0x80243468, 0x00000043, 0x00000002, GetDemoState, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000002, 0x00000046, 0x00000001, 0x802459D0, 0x00000012, 0x00000000, 0x00000046, 0x00000001, 0x80245A18, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000044, 0x00000001, D_80242220_9FCA10, 0x00000044, 0x00000001, 0x80242140, 0x00000044, 0x00000001, D_80242640_9FCE30, 0x00000008, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xF8405C87, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242870_9FD060 -.word 0x00000043, 0x00000004, func_80240180_9FA970, 0x00000003, 0x00000000, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFF9D, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFF9D, 0x00000008, 0x00000001, 0x0000000F, 0x0000004D, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000001, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000005, MakeLerp, 0x0000005F, 0x00000000, 0x0000000C, 0x00000001, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, nok_12_SetEntityPosition, 0xFD050F80, 0xFFFFFE2A, 0xFE363C80, 0xFFFFFF6A, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000006, PlaySoundAt, 0x00000048, 0x00000000, 0xFFFFFE2A, 0xFE363C80, 0xFFFFFF6A, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x00000005, 0xF24A7E80, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242A00_9FD1F0 -.word 0x0000000E, 0x00000002, 0xF5DE0180, 0xFFFFFF9D, 0x0000000A, 0x00000002, 0xF5DE0180, 0xFFFFFF9D, 0x00000043, 0x00000007, MakeEntity, Entity_BlueSwitch, 0xFFFFFE2A, 0x00000000, 0xFFFFFF6A, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignSwitchFlag, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000007, MakeEntity, Entity_BlueSwitch, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignSwitchFlag, 0x00000001, 0x00000024, 0x00000002, 0xFD050F80, 0xFE363C80, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_YellowBlock, 0xFFFFFDD0, 0x0000003C, 0xFFFFFF88, 0x00000000, 0x00000090, 0x80000000, 0x00000043, 0x00000002, AssignBlockFlag, 0xF8405DD5, 0x00000043, 0x00000007, MakeEntity, Entity_BrickBlock, 0xFFFFFF5B, 0x0000003C, 0xFFFFFF7E, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignScript, D_80242870_9FD060, 0x00000043, 0x00000007, MakeEntity, Entity_BrickBlock, 0x00000208, 0x0000006E, 0xFFFFFF4C, 0x00000000, 0x80000000, 0x00000043, 0x00000007, MakeEntity, Entity_BrickBlock, 0x00000253, 0x0000006E, 0xFFFFFF4C, 0x00000000, 0x80000000, 0x00000043, 0x00000007, MakeEntity, Entity_BrickBlock, 0x000002D0, 0x00000087, 0xFFFFFF4C, 0x00000000, 0x80000000, 0x00000043, 0x00000007, MakeEntity, Entity_MulticoinBlock, 0x00000334, 0x00000087, 0xFFFFFF4C, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignBlockFlag, 0xF8405DD8, 0x00000043, 0x00000007, MakeItemEntity, 0x0000015C, 0xFFFFFF24, 0xFFFFFFCE, 0x0000009B, 0x00000011, 0xF8405DC4, 0x00000043, 0x00000007, MakeItemEntity, 0x0000008F, 0x00000188, 0x00000019, 0xFFFFFF6F, 0x00000011, 0xF8405DE7, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_12/9FD410.data.s b/ver/us/asm/data/world/area_nok/nok_12/9FD410.data.s deleted file mode 100644 index d07e5f1899..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_12/9FD410.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80242C20_9FD410 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x0000004D, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000001, 0x00000043, 0x00000001, nok_12_SetCamera0Flag1000, 0x00000043, 0x00000007, InterpCamTargetPos, 0x00000000, 0x00000001, 0xFFFFFEF0, 0x00000000, 0xFFFFFFC8, 0x00000014, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000006, PlaySoundAt, 0x00000071, 0x00000000, 0xFFFFFEED, 0x00000000, 0xFFFFFFD9, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFEC0, 0x00000000, 0x0000000F, 0x00000001, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateGroup, 0x00000092, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000005, 0x00000001, 0x00000006, 0x00000043, 0x00000005, TranslateGroup, 0x00000092, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateGroup, 0x00000092, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000006, PlaySoundAt, 0x00000072, 0x00000000, 0xFFFFFEED, 0x00000000, 0xFFFFFFD9, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x0000005A, 0x0000000A, 0x00000001, 0x00000003, 0x00000001, 0x00000014, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x00000086, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000087, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000088, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000089, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008A, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000008C, 0x00000000, 0xFFFFFFB0, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000008D, 0x00000000, 0xFFFFFFB0, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000008E, 0x00000000, 0xFFFFFFB0, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000008F, 0x00000000, 0xFFFFFFB0, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x00000090, 0x00000000, 0xFFFFFFB0, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008C, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008D, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008E, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008F, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000090, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000008C, 0x00000000, 0x00000050, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000008D, 0x00000000, 0x00000050, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000008E, 0x00000000, 0x00000050, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000008F, 0x00000000, 0x00000050, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x00000090, 0x00000000, 0x00000050, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000004, 0x00000001, 0x00000014, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, PlaySoundAt, 0x00000073, 0x00000000, 0xFFFFFEED, 0x00000000, 0xFFFFFFD9, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x0000005A, 0x0000000A, 0x00000001, 0x00000003, 0x00000001, 0x0000001E, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateModel, 0x0000008C, 0x00000000, 0xFFFFFFB0, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000008D, 0x00000000, 0xFFFFFFB0, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000008E, 0x00000000, 0xFFFFFFB0, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000008F, 0x00000000, 0xFFFFFFB0, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x00000090, 0x00000000, 0xFFFFFFB0, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008C, 0x0000005A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008D, 0x0000005A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008E, 0x0000005A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008F, 0x0000005A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000090, 0x0000005A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000008C, 0x00000000, 0x00000050, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000008D, 0x00000000, 0x00000050, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000008E, 0x00000000, 0x00000050, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000008F, 0x00000000, 0x00000050, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x00000090, 0x00000000, 0x00000050, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008C, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008D, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008E, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008F, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000090, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000004, 0x00000001, 0x0000001E, 0x00000013, 0x00000000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000001, 0x00000009, 0x7FFFFE00, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000002, 0x7FFFFE00, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000007, InterpCamTargetPos, 0x00000000, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000001, nok_12_UnsetCamera0Flag1000, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000000, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFF9E, 0x00000043, 0x00000003, SetGroupEnabled, 0x000000CE, 0x00000000, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFF9E, 0x00000047, 0x00000005, D_80242C20_9FD410, 0x00020000, 0xF9718881, 0x00000001, 0x00000000, 0x00000043, 0x00000005, TranslateGroup, 0x00000092, 0x00000000, 0xFFFFFEC0, 0x00000000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000009, 0x7FFFFE00, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x000000CE, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000086, 0x0000005A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000087, 0x0000005A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000088, 0x0000005A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000089, 0x0000005A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008A, 0x0000005A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000008C, 0x00000000, 0xFFFFFFB0, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000008D, 0x00000000, 0xFFFFFFB0, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000008E, 0x00000000, 0xFFFFFFB0, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000008F, 0x00000000, 0xFFFFFFB0, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x00000090, 0x00000000, 0xFFFFFFB0, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008C, 0x0000005A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008D, 0x0000005A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008E, 0x0000005A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008F, 0x0000005A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000090, 0x0000005A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000008C, 0x00000000, 0x00000050, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000008D, 0x00000000, 0x00000050, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000008E, 0x00000000, 0x00000050, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000008F, 0x00000000, 0x00000050, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x00000090, 0x00000000, 0x00000050, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008C, 0x0000005A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008D, 0x0000005A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008E, 0x0000005A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008F, 0x0000005A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000090, 0x0000005A, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000002, 0x7FFFFE00, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_12/9FE000.data.s b/ver/us/asm/data/world/area_nok/nok_12/9FE000.data.s deleted file mode 100644 index 56e4c8c37f..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_12/9FE000.data.s +++ /dev/null @@ -1,96 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80243810_9FE000 -.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, nok_12_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, nok_12_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_80243B70_9FE360 -.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, nok_12_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, nok_12_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, nok_12_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, nok_12_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_80244174_9FE964 -.word 0x00000001, 0x0000001A - -dlabel D_8024417C_9FE96C -.word 0x00000001, 0x0000001B - -dlabel D_80244184_9FE974 -.word D_80244174_9FE964, D_8024417C_9FE96C, 0x00000000, 0x00000000, 0x80242898 - -dlabel D_80244198_9FE988 -.word 0xC3D30000, 0x00000000, 0xC2F00000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80244184_9FE974, 0x00000047, 0x00000005, D_80243B70_9FE360, 0x00001000, 0x00000003, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80243B70_9FE360, 0x00100000, D_80244198_9FE988, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244200_9FE9F0 -.word 0x3FC00000, 0x0000002D, 0x00000014, 0x428C0000, 0x42480000, 0x0000000A, 0x40F00000, 0x00000000, 0x00000000, 0x42A00000, 0x42700000, 0x00000001 - -dlabel D_80244230_9FEA20 -.word 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x00000008, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x0000000C, 0x00000043, 0x00000003, SetSelfVar, 0x00000005, 0x0000000A, 0x00000043, 0x00000003, SetSelfVar, 0x00000007, 0x00000000, 0x00000043, 0x00000002, nok_12_TackleAI_Main, D_80244200_9FE9F0, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802442A0_9FEA90 -.word 0x00000000, 0x00230018, 0x00000000, 0x00000000, D_80244230_9FEA20, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00060000 - -dlabel D_802442CC_9FEABC -.word 0x3FC00000, 0x00000019, 0x00000014, 0x428C0000, 0x42480000, 0x0000000A, 0x40E00000, 0x00000000, 0x00000000, 0x42A00000, 0x42700000, 0x00000001 - -dlabel D_802442FC_9FEAEC -.word 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x00000008, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x0000000C, 0x00000043, 0x00000003, SetSelfVar, 0x00000005, 0x0000000A, 0x00000043, 0x00000002, nok_12_KoopaPatrolAI_Main, D_802442CC_9FEABC, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244358_9FEB48 -.word 0x00000000, 0x00230018, 0x00000000, 0x00000000, D_802442FC_9FEAEC, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00060000 - -dlabel D_80244384_9FEB74 -.word 0x3FC00000, 0x0000001E, 0x0000001E, 0x43020000, 0x00000000, 0x00000001, 0x40200000, 0x000000B4, 0x00000003, 0x43160000, 0x00000000, 0x00000001 - -dlabel D_802443B4_9FEBA4 -.word 0x00000043, 0x00000002, BasicAI_Main, D_80244384_9FEB74, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802443D4_9FEBC4 -.word 0x00000000, 0x00140017, 0x00000000, 0x00000000, D_802443B4_9FEBA4, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00050000 - -dlabel D_80244400_9FEBF0 -.word 0x3FC00000, 0x0000001E, 0x0000001E, 0x43020000, 0x00000000, 0x00000001, 0x40200000, 0x000000B4, 0x00000003, 0x43160000, 0x00000000, 0x00000001 - -dlabel D_80244430_9FEC20 -.word 0x00000043, 0x00000002, BasicAI_Main, D_80244400_9FEBF0, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244450_9FEC40 -.word 0x00000000, 0x00170017, 0x00000000, 0x00000000, D_80244430_9FEC20, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00060000 - -dlabel D_8024447C_9FEC6C -.word 0x3FC00000, 0x0000001E, 0x0000001E, 0x43020000, 0x00000000, 0x00000001, 0x40200000, 0x000000B4, 0x00000003, 0x43160000, 0x00000000, 0x00000001 - -dlabel D_802444AC_9FEC9C -.word 0x00000043, 0x00000002, nok_12_PatrolNoAttackAI_Main, D_8024447C_9FEC6C, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00170017, 0x00000000, 0x00000000, D_802444AC_9FEC9C, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00060000 - -dlabel D_802444F8_9FECE8 -.word 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetSelfVar, 0x00000000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x0027000A, 0x00000056, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x000003E1, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFFA6, 0x00000000, 0x0000000A, 0x00000000, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetNpcRotation, 0xFFFFFFFF, 0xFE363C80, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x00000168, 0x0000000F, 0x00000000, 0x00000003, 0x00000001, 0x00000002, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetNpcRotation, 0xFFFFFFFF, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000002, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetNpcRotation, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFF, 0xF24A7D4D, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFF, 0xFFFFFFBF, 0x00000000, 0xFFFFFF88, 0x00000019, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00270006, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00270001, 0x00000043, 0x00000003, BindNpcAI, 0xFFFFFFFF, D_80244430_9FEC20, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244748_9FEF38 -.word 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFFFFFF5B, 0x00000056, 0xFFFFFF8A, 0x00000043, 0x00000005, SetNpcRotation, 0xFFFFFFFF, 0xFFFFFFAB, 0x00000000, 0x00000000, 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_802444F8_9FECE8, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802447A4_9FEF94 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802447B4_9FEFA4 -.word 0x00000008, 0x00000001, 0x0000002D, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00290107, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00290106, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000050, 0x00000027, 0x00000002, 0xFE363C82, 0x00000064, 0x00000043, 0x00000005, NpcMoveTo, 0xFFFFFFFF, 0xFE363C80, 0xFE363C82, 0x0000000C, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00290108, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00290101, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024489C_9FF08C -.word 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000F, 0x00000002, 0xFE363C80, 0x00000002, 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_802447A4_9FEF94, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000136, 0x00000000, 0xFFFFFF5B, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244904_9FF0F4 -.word 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000F, 0x00000002, 0xFE363C80, 0x00000002, 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_802447B4_9FEFA4, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244950_9FF140 -.word 0x00000000, D_80244358_9FEB48, 0xC3B90000, 0x00000000, 0xC1C80000, 0x00000C00, 0x00000000, 0x00000000, 0x00000000, 0x0000010E, 0x8005008A, 0x00030000, 0x00A60007, 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, 0x00000001, 0x00010000, 0x00000002, 0xFFFFFE8E, 0x00000000, 0xFFFFFFE7, 0xFFFFFE39, 0x00000000, 0xFFFFFFE7, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF8001, 0xFFFFFE4C, 0x00000000, 0xFFFFFF98, 0x000000C8, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00290101, 0x00290103, 0x00290104, 0x00290104, 0x00290101, 0x00290101, 0x0029010B, 0x0029010B, 0x00290107, 0x00290106, 0x00290108, 0x00290104, 0x00290104, 0x00290104, 0x00290104, 0x00290104, 0x00000001, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80244B40_9FF330 -.word 0x00000001, D_802442A0_9FEA90, 0x440CC000, 0x42480000, 0xC22C0000, 0x00000C00, D_8024489C_9FF08C, 0x00000000, 0x00000000, 0x0000010E, 0x8005008A, 0x00030000, 0x00A60007, 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, 0x00000001, 0x00010000, 0x00000233, 0x00000032, 0xFFFFFFD5, 0x00000032, 0x00000000, 0xFFFF8001, 0x00000000, 0x00000233, 0x00000032, 0xFFFFFFD5, 0x000001F4, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00290101, 0x00290103, 0x00290104, 0x00290104, 0x00290101, 0x00290101, 0x0029010B, 0x0029010B, 0x00290107, 0x00290106, 0x00290108, 0x00290104, 0x00290104, 0x00290104, 0x00290104, 0x00290104, 0x00000001, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80244D30_9FF520 -.word 0x00000001, D_802442A0_9FEA90, 0x44160000, 0x42480000, 0xC2960000, 0x00000C00, D_80244904_9FF0F4, 0x00000000, 0x00000000, 0x0000010E, 0x8005008A, 0x00030000, 0x00A60007, 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, 0x00000001, 0x00010000, 0x00000233, 0x00000032, 0xFFFFFFD5, 0x00000032, 0x00000000, 0xFFFF8001, 0x00000000, 0x00000233, 0x00000032, 0xFFFFFFD5, 0x000001F4, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00290101, 0x00290103, 0x00290104, 0x00290104, 0x00290101, 0x00290101, 0x0029010B, 0x0029010B, 0x00290107, 0x00290106, 0x00290108, 0x00290104, 0x00290104, 0x00290104, 0x00290104, 0x00290104, 0x00000001, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80244F20_9FF710 -.word 0x00000002, D_802443D4_9FEBC4, 0x42480000, 0x00000000, 0xC2900000, 0x00000C00, 0x00000000, 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, 0x00000032, 0x00000000, 0xFFFFFFB8, 0x00000032, 0x00000000, 0xFFFF8001, 0x00000000, 0x00000032, 0x00000000, 0xFFFFFFB8, 0x00000096, 0x00000050, 0x00000001, 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, 0x00000001, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80245110_9FF900 -.word 0x00000003, D_80244450_9FEC40, 0xC3200000, 0x00000000, 0xC2F00000, 0x00000C00, D_80244748_9FEF38, 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, 0xFFFFFFAC, 0x00000000, 0xFFFFFFB8, 0x00000032, 0x00000000, 0xFFFF8001, 0x00000000, 0xFFFFFFAC, 0x00000000, 0xFFFFFFB8, 0x00000096, 0x00000050, 0x00000001, 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, 0x00270001, 0x00270002, 0x00270003, 0x00270003, 0x00270001, 0x00270001, 0x00270005, 0x00270005, 0x00270003, 0x00270003, 0x00270003, 0x00270003, 0x00270003, 0x00270003, 0x00270003, 0x00270003, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000001, D_80244950_9FF140, 0x05090001, 0x00000001, D_80244B40_9FF330, 0x050F0001, 0x00000001, D_80244F20_9FF710, 0x05010002, 0x00000001, D_80245110_9FF900, 0x05040002, 0x00000000, 0x00000000, 0x00000000, 0x00000001, D_80244950_9FF140, 0x05090001, 0x00000001, D_80244D30_9FF520, 0x050F0001, 0x00000001, D_80244F20_9FF710, 0x05010002, 0x00000001, D_80245110_9FF900, 0x05040002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_12/9FFB70.data.s b/ver/us/asm/data/world/area_nok/nok_12/9FFB70.data.s deleted file mode 100644 index c7d658b053..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_12/9FFB70.data.s +++ /dev/null @@ -1,21 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80245380_9FFB70 -.word 0x00000043, 0x00000003, DemoJoystickXY, 0x0000004F, 0xFFFFFFF9, 0x00000008, 0x00000001, 0x0000001C, 0x00000043, 0x00000002, DemoSetButtons, 0x00008000, 0x00000008, 0x00000001, 0x00000012, 0x00000043, 0x00000002, DemoSetButtons, 0x00000000, 0x00000008, 0x00000001, 0x0000000B, 0x00000043, 0x00000002, DemoSetButtons, 0x00008000, 0x00000008, 0x00000001, 0x00000007, 0x00000043, 0x00000002, DemoSetButtons, 0x00000000, 0x00000008, 0x00000001, 0x0000000D, 0x00000043, 0x00000002, DemoSetButtons, 0x00008000, 0x00000008, 0x00000001, 0x00000010, 0x00000043, 0x00000002, DemoSetButtons, 0x00000000, 0x00000008, 0x00000001, 0x0000000C, 0x00000043, 0x00000002, DemoSetButtons, 0x00008000, 0x00000008, 0x00000001, 0x0000000E, 0x00000043, 0x00000002, DemoSetButtons, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x0000000A, 0x00000002, 0xF8405B89, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8405B89, 0x00000001, 0x00000043, 0x00000004, GotoMapSpecial, 0x80245E00, 0x00000002, 0x00000002, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802454E4_9FFCD4 -.word 0x00000008, 0x00000001, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetDemoState, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000002, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x0000000A, 0x00000002, 0xF8405B89, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8405B89, 0x00000001, 0x00000043, 0x00000004, GotoMapSpecial, 0x80245E00, 0x00000002, 0x00000003, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802455A4_9FFD94 -.word 0x00000008, 0x00000001, 0x0000000D, 0x00000043, 0x00000002, DemoSetButtons, 0x00004000, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000002, DemoSetButtons, 0x00000000, 0x00000008, 0x00000001, 0x000000A0, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000000, 0xFFFFFFFA, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000001, 0xFFFFFFF5, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000003, 0xFFFFFFEE, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000007, 0xFFFFFFE1, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000000C, 0xFFFFFFD6, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000010, 0xFFFFFFCF, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000019, 0xFFFFFFC8, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000024, 0xFFFFFFC4, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000002F, 0xFFFFFFC3, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000034, 0xFFFFFFC5, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000037, 0xFFFFFFCC, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000038, 0xFFFFFFD0, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000003A, 0xFFFFFFD4, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000003D, 0xFFFFFFD7, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000003E, 0xFFFFFFD8, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000003F, 0xFFFFFFD7, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000040, 0xFFFFFFD7, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000043, 0xFFFFFFD9, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000044, 0xFFFFFFD9, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000044, 0xFFFFFFD9, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000046, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x0000000A, 0x00000002, 0xF8405B89, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8405B89, 0x00000001, 0x00000043, 0x00000004, GotoMapSpecial, 0x80245E00, 0x00000002, 0x00000002, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024590C_A000FC -.word 0x00000008, 0x00000001, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetDemoState, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000002, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x0000000A, 0x00000002, 0xF8405B89, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8405B89, 0x00000001, 0x00000043, 0x00000004, GotoMapSpecial, 0x80245E00, 0x00000002, 0x00000003, 0x00000008, 0x00000001, 0x000000D8, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802459CC_A001BC -.word 0x00000000, 0x00000043, 0x00000001, func_80241EE0_9FC6D0, 0x00000024, 0x00000002, 0xF8405B89, 0x00000000, 0x00000044, 0x00000001, D_802454E4_9FFCD4, 0x00000044, 0x00000001, D_80245380_9FFB70, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245A14_A00204 -.word 0x00000000, 0x00000043, 0x00000001, func_80241FD0_9FC7C0, 0x00000024, 0x00000002, 0xF8405B89, 0x00000000, 0x00000044, 0x00000001, D_8024590C_A000FC, 0x00000044, 0x00000001, D_802455A4_9FFD94, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_13/A01A90.data.s b/ver/us/asm/data/world/area_nok/nok_13/A01A90.data.s deleted file mode 100644 index 3479c98b17..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_13/A01A90.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80241490_A01A90 -.word 0xC3F40000, 0x43160000, 0x00000000, 0x42B40000, 0x43250000, 0x00000000, 0xC3F18000, 0x43340000, 0x438A8000, 0x43160000, 0x43520000, 0x439D8000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80241930, D_80241490_A01A90, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x00190047, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000011, 0x00000000, 0x00000008, 0x00000043, 0x00000002, PlaySound, 0x8000005B, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_13/A01B40.data.s b/ver/us/asm/data/world/area_nok/nok_13/A01B40.data.s deleted file mode 100644 index 618a7194b1..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_13/A01B40.data.s +++ /dev/null @@ -1,21 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80241540_A01B40 -.word 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x802421B0, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241590_A01B90 -.word 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000001, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x802421B8, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802415E0_A01BE0 -.word 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000002, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x802421C0, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241630_A01C30 -.word 0x00000043, 0x00000003, SetTexPanner, 0x00000071, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x00000072, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x00000073, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x00000005, 0x00000001, 0x0000000C, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000005, 0x00000001, 0x0000000C, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000000, 0x00000000, 0x00004000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000004, 0x00000001, 0x0000000A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024170C_A01D0C -.word 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x00000092, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000001, 0x00000000, 0xFE363C80, 0x00000000, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000001, 0x00000001, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000064, 0x00000028, 0x00000002, 0xFE363C81, 0x00000190, 0x00000027, 0x00000002, 0xFE363C81, 0x000003E8, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x00000094, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000003, 0x00000001, 0x00000014, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000002, 0x00000000, 0xFE363C80, 0x00000000, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000002, 0x00000001, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000064, 0x00000027, 0x00000002, 0xFE363C81, 0x00000320, 0x00000028, 0x00000002, 0xFE363C81, 0x00000190, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000014, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802418CC_A01ECC -.word 0x00000047, 0x00000005, D_80241540_A01B40, 0x00080000, 0x0000000A, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80241590_A01B90, 0x00080000, 0x00000007, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_802415E0_A01BE0, 0x00080000, 0x00000014, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x00000020, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x802420A8, 0x00000046, 0x00000001, 0x80241C08, 0x00000044, 0x00000001, D_80241630_A01C30, 0x00000044, 0x00000001, D_8024170C_A01D0C, 0x00000044, 0x00000001, 0x80241500, 0x00000044, 0x00000001, 0x80242178, 0x00000024, 0x00000002, 0xFE363C80, D_802418CC_A01ECC, 0x00000044, 0x00000001, EnterWalk, 0x00000008, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_13/A02040.data.s b/ver/us/asm/data/world/area_nok/nok_13/A02040.data.s deleted file mode 100644 index bece2a803e..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_13/A02040.data.s +++ /dev/null @@ -1,15 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80241A40_A02040 -.word 0x0000000A, 0x00000002, 0xF70F2E81, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E81, 0x00000001, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241A78_A02078 -.word 0x0000000A, 0x00000002, 0xF70F2E81, 0x00000001, 0x00000024, 0x00000002, 0xF70F2E81, 0x00000002, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241AB0_A020B0 -.word 0x0000000A, 0x00000002, 0xF70F2E81, 0x00000002, 0x00000043, 0x00000002, PlaySound, 0x0000000B, 0x00000043, 0x00000006, PlaySoundAt, 0x00002108, 0x00000000, 0x00000028, 0x0000003C, 0xFFFFFEE3, 0x00000024, 0x00000002, 0xF70F2E81, 0x00000003, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000000, 0x00000028, 0x00000049, 0xFFFFFEE3, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_RedBlock, 0x00000028, 0x0000003C, 0xFFFFFEE3, 0x0000005A, 0x00000146, 0x80000000, 0x00000043, 0x00000002, AssignBlockFlag, 0xF8405DD6, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241B94_A02194 -.word 0x0000004D, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000001, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D0178, 0x000000A0, 0x00000028, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000007, MakeEntity, Entity_Signpost, 0xFFFFFE52, 0x00000096, 0xFFFFFFB5, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignScript, D_80241B94_A02194, 0x0000000A, 0x00000002, 0xF8405DD6, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E81, 0x00000000, 0x00000043, 0x00000007, MakeEntity, Entity_BrickBlock, 0x00000046, 0x00000000, 0xFFFFFF06, 0x0000005A, 0x80000000, 0x00000043, 0x00000002, AssignScript, D_80241A40_A02040, 0x00000043, 0x00000007, MakeEntity, Entity_BrickBlock, 0x00000046, 0x00000000, 0xFFFFFEC0, 0x0000005A, 0x80000000, 0x00000043, 0x00000002, AssignScript, D_80241A78_A02078, 0x00000043, 0x00000007, MakeEntity, Entity_BrickBlock, 0xFFFFFFF6, 0x00000000, 0xFFFFFEE3, 0x0000005A, 0x80000000, 0x00000043, 0x00000002, AssignScript, D_80241AB0_A020B0, 0x00000012, 0x00000000, 0x00000043, 0x00000007, MakeEntity, Entity_BrickBlock, 0x00000046, 0x00000000, 0xFFFFFF06, 0x0000005A, 0x80000000, 0x00000043, 0x00000007, MakeEntity, Entity_BrickBlock, 0x00000046, 0x00000000, 0xFFFFFEC0, 0x0000005A, 0x80000000, 0x00000043, 0x00000007, MakeEntity, Entity_BrickBlock, 0xFFFFFFF6, 0x00000000, 0xFFFFFEE3, 0x0000005A, 0x80000000, 0x00000043, 0x00000008, MakeEntity, Entity_RedBlock, 0x00000028, 0x0000003C, 0xFFFFFEE3, 0x0000005A, 0x00000146, 0x80000000, 0x00000043, 0x00000002, AssignBlockFlag, 0xF8405DD6, 0x00000013, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_HiddenPanel, 0xFFFFFF01, 0x00000096, 0xFFFFFF9C, 0x0000005A, 0x00000068, 0x80000000, 0x00000043, 0x00000002, AssignPanelFlag, 0xF8405DE0, 0x00000043, 0x00000007, MakeItemEntity, 0x000000A4, 0xFFFFFF65, 0x00000096, 0xFFFFFF7E, 0x00000011, 0xF8405DE8, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_13/A02420.data.s b/ver/us/asm/data/world/area_nok/nok_13/A02420.data.s deleted file mode 100644 index 3ed26e2fb5..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_13/A02420.data.s +++ /dev/null @@ -1,12 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80241E20_A02420 -.word 0x40000000, 0x0000001E, 0x0000001E, 0x42C80000, 0x00000000, 0x0000000A, 0x40900000, 0x00000046, 0x0000000A, 0x43480000, 0x00000000, 0x00000001 - -dlabel D_80241E50_A02450 -.word 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000040, 0x00000001, 0x00000043, 0x00000003, nok_03_HoppingAI_Main, D_80241E20_A02420, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241E8C_A0248C -.word 0x00000000, 0x00140016, 0x00000000, 0x00000000, D_80241E50_A02450, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00060000, 0x00000001, D_80241E8C_A0248C, 0x432F0000, 0x00000000, 0xC3870000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000B4, 0x80000000, 0x00000000, 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, 0x33320002, 0x33322666, 0x33320002, 0x33323FFF, 0x33320002, 0x33326665, 0x33320002, 0x33327FFF, 0x26660002, 0x33320000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00010000, 0x000000AF, 0x00000000, 0xFFFFFEF2, 0x00000046, 0x00000000, 0xFFFF8001, 0x00000000, 0x000000AF, 0x00000000, 0xFFFFFEF2, 0x000000C8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x002B0002, 0x002B0002, 0x002B0003, 0x002B0003, 0x002B0001, 0x002B0001, 0x002B0008, 0x002B0008, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_13/A026C0.data.s b/ver/us/asm/data/world/area_nok/nok_13/A026C0.data.s deleted file mode 100644 index 3fbae4c091..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_13/A026C0.data.s +++ /dev/null @@ -1,12 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802420C0_A026C0 -.word 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000002, func_80241360_A01960, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x000000B4, 0x00000043, 0x00000006, RotateModel, 0x0000007A, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242134_A02734 -.word 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242160_A02760 -.word 0xFFFFFE94, 0x000000BE, 0xFFFFFF79, 0x00000032, 0x00000064, nok_13_musical_hill_orbit_listener, 0x00000044, 0x00000001, D_802420C0_A026C0, 0x00000043, 0x00000002, nok_13_MonitorPlayerOrbiting, D_80242160_A02760, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_sam/sam_01/CF9AC0.data.s b/ver/us/asm/data/world/area_sam/sam_01/CF9AC0.data.s deleted file mode 100644 index 18c866129c..0000000000 --- a/ver/us/asm/data/world/area_sam/sam_01/CF9AC0.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80241F50_CF9AC0 -.word 0x43F00000, 0x00000000, 0x00000000, 0x43870000, 0xC3988000, 0x00000000, 0xC3340000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x802425AC, D_80241F50_CF9AC0, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x00190129, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0x0000003F, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000038, 0x00000000, 0x00000008, 0x00000018, 0x00000001, 0x00000043, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000039, 0x00000000, 0x00000008, 0x0000001B, 0x00000001, 0x00000043, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000038, 0x00000000, 0x00000008, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_sam/sam_01/CF9BC0.data.s b/ver/us/asm/data/world/area_sam/sam_01/CF9BC0.data.s deleted file mode 100644 index 665a08ba83..0000000000 --- a/ver/us/asm/data/world/area_sam/sam_01/CF9BC0.data.s +++ /dev/null @@ -1,312 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80242050_CF9BC0 -.word 0x0000004D, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C85, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C86, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C87, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C88, 0x00000001, 0x00000043, 0x00000001, sam_01_UpdateTexturePanSmooth, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, sam_01_UpdateTexturePanStepped, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802420EC_CF9C5C -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x8024DBB0, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242148_CF9CB8 -.word 0x00000047, 0x00000005, D_802420EC_CF9C5C, 0x00080000, 0x00000038, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242174_CF9CE4 -.word 0x00000024, 0x00000002, 0xF9718881, 0x00000001, 0x00000024, 0x00000002, 0xF9718882, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x0000000B, 0x00000002, 0xF9718881, 0xF9718882, 0x0000000A, 0x00000002, 0xF9718881, 0x00000000, 0x00000043, 0x00000002, RemoveEffect, 0xFE363C8F, 0x00000012, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000045, 0x00000000, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF9718882, 0xF9718881, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242264_CF9DD4 -.word 0x00000043, 0x00000003, EnableGroup, 0x0000003F, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x0000000E, 0x000001C1, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0xFFFFFFB0, 0x0000000F, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateGroup, 0x0000004E, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFFB0, 0x00000000, 0x0000000F, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateGroup, 0x0000004E, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x0000000E, 0x000001C2, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x0000003F, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802423E8_CF9F58 -.word 0x0000000A, 0x00000002, 0xF5DE0180, 0x00000041, 0x00000043, 0x00000005, SetNpcPos, 0x00000004, 0xFFFFFF36, 0x00000000, 0x00000114, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x0000000C, 0x00000002, 0xFE363C80, 0xFFFFFFD8, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000004, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000004, 0x00D10002, 0x00000043, 0x00000005, NpcMoveTo, 0x00000004, 0xFFFFFEF7, 0x00000113, 0x00000014, 0x00000044, 0x00000001, D_80242264_CF9DD4, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000005, NpcMoveTo, 0x00000004, 0xFFFFFEDE, 0x0000009D, 0x00000014, 0x00000008, 0x00000001, 0x00000014, 0x00000056, 0x00000000, 0x00000043, 0x00000005, NpcMoveTo, 0x00000004, 0xFFFFFF1C, 0x0000005B, 0x00000014, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000004, 0x00D10001, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000004, 0x0000010E, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000004, 0x00000100, 0x00000000, 0x00000057, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0180, 0x00000042, 0x00000043, 0x00000003, BindNpcInteract, 0x00000004, D_80247030_CFEBA0, 0x00000046, 0x00000001, D_802430E4_CFAC54, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x00000028, 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, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0x0000003F, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, D_8024A178_D01CE8, 0x00000018, 0x00000001, 0x00000043, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, D_8024A1B4_D01D24, 0x0000001B, 0x00000001, 0x00000043, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, D_8024A1F0_D01D60, 0x00000023, 0x00000000, 0x00000046, 0x00000001, 0x8024DA88, 0x00000046, 0x00000001, 0x80241FB0, 0x00000044, 0x00000001, D_80242174_CF9CE4, 0x00000046, 0x00000001, D_802431BC_CFAD2C, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000003, 0x00000000, 0x00000008, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000003, 0x00000026, 0x00000008, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000003, 0x00000033, 0x00000008, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000003, 0x00000004, 0x00000008, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000003, 0x00000005, 0x00000008, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000003, 0x00000006, 0x00000008, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000003, 0x00000001, 0x00000008, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000003, 0x00000002, 0x00000008, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000003, 0x00000038, 0x00000008, 0x00000024, 0x00000002, 0xFE363C80, D_80242148_CF9CB8, 0x00000044, 0x00000001, EnterWalk, 0x00000008, 0x00000001, 0x00000001, 0x00000044, 0x00000001, D_802423E8_CF9F58, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802427F0_CFA360 -.word 0x00000043, 0x00000006, RotateModel, 0x0000004D, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242820_CFA390 -.word 0x00000043, 0x00000006, RotateGroup, 0x00000049, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0xFE363C80, 0x00000059, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000049, 0x00000000, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xFE363C80, 0x00000059, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000049, 0x00000001, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802428A8_CFA418 -.word 0x00000043, 0x00000006, RotateModel, 0x0000004D, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802428D8_CFA448 -.word 0x00000043, 0x00000002, UseAdvancedDoorSounds, 0x00000000, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF9718884, 0x00000001, 0x00000024, 0x00000002, 0xF9718881, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x0000003F, 0x00000001, 0x0000000F, 0x00000002, 0xF5DE0180, 0x00000043, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFFFFFEED, 0x00000000, 0xFFFFFF38, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000000, 0x000000B4, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0xFFFFFED4, 0x00000000, 0xFFFFFFCE, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000002, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000024, 0x00000002, 0xF9718884, 0x00000000, 0x00000024, 0x00000002, 0xF9718881, 0x00000001, 0x00000043, 0x00000003, SetGroupEnabled, 0x0000003F, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242A0C_CFA57C -.word 0x00000043, 0x00000006, RotateModel, 0x00000029, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242A3C_CFA5AC -.word 0x00000043, 0x00000006, RotateGroup, 0x0000004C, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000006, RotateGroup, 0x00000043, 0xFE363C80, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000002, 0xFE363C80, 0x00000059, 0x00000043, 0x00000003, EnableGroup, 0x00000043, 0x00000000, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xFE363C80, 0x00000059, 0x00000043, 0x00000003, EnableGroup, 0x00000043, 0x00000001, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242AE4_CFA654 -.word 0x00000043, 0x00000002, UseAdvancedDoorSounds, 0x00000000, 0x0000000A, 0x00000002, 0xF5DE0180, 0x00000042, 0x0000000A, 0x00000002, 0xF9718883, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xF5DE0180, 0x00000042, 0x00000056, 0x00000000, 0x00000043, 0x00000003, BindNpcInteract, 0x00000004, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000004, 0x00000100, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000004, 0x00000040, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000004, 0x009A0002, 0x00000043, 0x00000003, SetNpcSpeed, 0x00000004, 0xF24A8080, 0x00000043, 0x00000005, NpcMoveTo, 0x00000004, 0xFFFFFF04, 0xFFFFFFC9, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000004, 0x009A0001, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000004, 0x00000100, 0x00000000, 0x00000043, 0x00000003, BindNpcInteract, 0x00000004, D_80247030_CFEBA0, 0x00000057, 0x00000000, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xF5DE0180, 0x00000042, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000079, 0x00000001, 0x00000008, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF9718883, 0x00000001, 0x00000016, 0x00000001, 0x00000003, 0x0000000A, 0x00000002, 0xF5DE0180, 0x0000003F, 0x00000044, 0x00000001, 0x80241FB0, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF9718883, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242CEC_CFA85C -.word 0x00000043, 0x00000006, RotateModel, 0x00000061, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242D1C_CFA88C -.word 0x00000043, 0x00000006, RotateGroup, 0x0000006C, 0xFE363C80, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000043, 0x00000006, RotateGroup, 0x00000067, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x0000000D, 0x00000002, 0xFE363C80, 0x00000059, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000067, 0x00000000, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xFE363C80, 0x00000059, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000067, 0x00000001, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242DC4_CFA934 -.word 0x00000043, 0x00000002, UseAdvancedDoorSounds, 0x00000005, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF9718881, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000060, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000016, 0x00000001, 0x00000003, 0x00000024, 0x00000002, 0xF9718881, 0x00000001, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000060, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242E70_CFA9E0 -.word 0x00000043, 0x00000006, RotateModel, 0x00000096, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242EA0_CFAA10 -.word 0x00000043, 0x00000006, RotateModel, 0x00000098, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242ED0_CFAA40 -.word 0x00000043, 0x00000006, RotateGroup, 0x00000095, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000006, RotateGroup, 0x00000092, 0xFE363C80, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000002, 0xFE363C80, 0x00000059, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000092, 0x00000000, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xFE363C80, 0x00000059, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000092, 0x00000001, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242F78_CFAAE8 -.word 0x00000043, 0x00000002, UseAdvancedDoorSounds, 0x00000000, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF9718881, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x0000008D, 0x00000001, 0x00000016, 0x00000001, 0x00000003, 0x00000024, 0x00000002, 0xF9718881, 0x00000001, 0x00000043, 0x00000003, SetGroupEnabled, 0x0000008D, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024300C_CFAB7C -.word 0x00000043, 0x00000002, UseAdvancedDoorSounds, 0x00000005, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF9718881, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x0000008D, 0x00000001, 0x00000016, 0x00000001, 0x00000003, 0x00000024, 0x00000002, 0xF9718881, 0x00000001, 0x00000043, 0x00000003, SetGroupEnabled, 0x0000008D, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802430A0_CFAC10 -.word 0x00000000, 0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x0000000D, 0xFFFFFFFF - -dlabel D_802430BC_CFAC2C -.word 0x00000000, 0x00000002, 0x00000003, 0x00000004, 0xFFFFFFFF - -dlabel D_802430D0_CFAC40 -.word 0x00000004, 0xFFFFFFFF - -dlabel D_802430D8_CFAC48 -.word 0x00000004, 0x00000008, 0xFFFFFFFF - -dlabel D_802430E4_CFAC54 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0x0000003F, 0x00000024, 0x00000002, 0xFE363C80, D_802430A0_CFAC10, 0x00000018, 0x00000001, 0x00000043, 0x00000024, 0x00000002, 0xFE363C80, D_802430A0_CFAC10, 0x0000001B, 0x00000001, 0x00000043, 0x00000024, 0x00000002, 0xFE363C80, D_802430BC_CFAC2C, 0x00000023, 0x00000000, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000002, D_802427F0_CFA360, D_80242820_CFA390, D_802428A8_CFA418, D_802428D8_CFA448, 0x0000000E, 0x0000000F, 0x0000004F, 0xFE363C80, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000002, D_80242A0C_CFA57C, D_80242A3C_CFA5AC, 0x00000000, D_80242AE4_CFA654, 0x00000013, 0x00000014, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802431BC_CFAD2C -.word 0x00000043, 0x00000003, SetGroupEnabled, 0x0000003F, 0x00000000, 0x0000000B, 0x00000002, 0xF5DE0180, 0x00000041, 0x00000046, 0x00000001, D_802430E4_CFAC54, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000060, 0x00000000, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000000, D_80242CEC_CFA85C, D_80242D1C_CFA88C, 0x00000000, D_80242DC4_CFA934, 0x00000022, 0x00000023, 0x0000006D, D_802430D0_CFAC40, 0x00000043, 0x00000003, SetGroupEnabled, 0x0000008D, 0x00000000, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00001002, D_80242E70_CFA9E0, D_80242ED0_CFAA40, 0x00000000, D_80242F78_CFAAE8, 0x0000002F, 0x00000030, 0x0000009A, D_802430D8_CFAC48, 0x00000043, 0x00000003, SetGroupEnabled, 0x0000008D, 0x00000000, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000000, D_80242EA0_CFAA10, D_80242ED0_CFAA40, 0x00000000, D_8024300C_CFAB7C, 0x00000034, 0x00000035, 0x0000009A, D_802430D8_CFAC48, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel sam_01_ItemChoice_HasSelectedItem -.word 0x00000000 - -dlabel sam_01_ItemChoice_SelectedItemID -.word 0x00000000 - -dlabel D_802432D8_CFAE48 -.word 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C81, 0x00000043, 0x00000001, ShowKeyChoicePopup, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, RemoveKeyItemAt, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, sam_01_AddPlayerHandsOffset, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000042, 0x00000002, 0xFE363C80, 0x00050000, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00060005, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000002, RemoveItemEntity, 0xFE363C80, 0x00000023, 0x00000000, 0x00000043, 0x00000002, sam_01_ItemChoice_SaveSelected, 0xFE363C8A, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, func_802405C8_CF8138, 0xFE363C80, 0x0000004E, 0x00000006, D_802432D8_CFAE48, 0x00000010, 0x00000000, D_8024DBC0, 0x00000000, 0x00000001, 0x00000043, 0x00000002, sam_01_ItemChoice_WaitForSelection, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024346C_CFAFDC -.word 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C81, 0x00000043, 0x00000001, ShowConsumableChoicePopup, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, RemoveItemAt, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, sam_01_AddPlayerHandsOffset, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00060005, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000002, RemoveItemEntity, 0xFE363C80, 0x00000023, 0x00000000, 0x00000043, 0x00000002, sam_01_ItemChoice_SaveSelected, 0xFE363C8A, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, func_80240664_CF81D4, 0xFE363C80, 0x0000004E, 0x00000006, D_8024346C_CFAFDC, 0x00000010, 0x00000000, D_8024DD88, 0x00000000, 0x00000001, 0x00000043, 0x00000002, sam_01_ItemChoice_WaitForSelection, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel sam_01_varStash -.word 0x00000000 - -dlabel D_802435F4_CFB164 -.word 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000010, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243654_CFB1C4 -.word 0x3FC00000, 0x0000003C, 0x0000001E, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001 - -dlabel D_80243684_CFB1F4 -.word 0x00000043, 0x00000002, BasicAI_Main, D_80243654_CFB1C4, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802436A4_CFB214 -.word 0x00000000, 0x00180018, 0x00000000, 0x00000000, D_80243684_CFB1F4, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_802436D0_CFB240 -.word 0x00000000, 0x00180018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel sam_01_Quizmo_Answers -.byte 0x02, 0x01, 0x01, 0x02, 0x02, 0x00, 0x02, 0x00, 0x02, 0x01, 0x00, 0x02, 0x01, 0x01, 0x00, 0x02, 0x00, 0x02, 0x01, 0x00, 0x00, 0x02, 0x01, 0x00, 0x02, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x02, 0x02, 0x02, 0x02, 0x00, 0x01, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x02, 0x01, 0x00, 0x02, 0x02, 0x01, 0x02, 0x00, 0x02, 0x02, 0x01, 0x01, 0x01 - -dlabel sam_01_Quizmo_Requirements -.word 0xFFFFFF94, 0x00000000, 0xFFFFFFB4, 0x0000000A, 0xFFFFFFCA, 0x00000014, 0xFFFFFFF2, 0x0000001E, 0x00000006, 0x00000025, 0x00000027, 0x0000002C, 0x0000003A, 0x00000034, 0x00000058, 0x0000003C, 0x00000060, 0x00000040, 0x00000000, 0x00000040 - -dlabel D_8024378C_CFB2FC -.word 0x00000043, 0x00000001, sam_01_Quizmo_ShouldQuizmoLeave, 0x0000000E, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x0000012C, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFF, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00AF000C, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024383C_CFB3AC -.word 0x00000043, 0x00000003, sam_01_Quizmo_GetCamVfov, 0x00000000, 0xF4ACD480, 0x00000043, 0x00000003, sam_01_Quizmo_SetCamVfov, 0x00000000, 0x00000019, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, GetCamType, 0x00000000, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetCamType, 0x00000000, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, GetCamDistance, 0x00000000, 0xFE363C80, 0x0000000D, 0x00000002, 0xFE363C80, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0x00000172, 0x00000012, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0xFFFFFE8E, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xFE363C80, 0x00000043, 0x00000004, GetCamPitch, 0x00000000, 0xFE363C80, 0xFE363C81, 0x00000026, 0x00000002, 0xFE363C80, 0xF24AAE80, 0x00000026, 0x00000002, 0xFE363C81, 0xF24A5280, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x0000000E, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x0000001E, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, GetCamDistance, 0x00000000, 0xFE363C80, 0x0000000D, 0x00000002, 0xFE363C80, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0x00000011, 0x00000012, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0xFFFFFFEF, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xFE363C80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243AD4_CFB644 -.word 0x00000043, 0x00000003, sam_01_Quizmo_SetCamVfov, 0x00000000, 0xF4ACD480, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243B10_CFB680 -.word 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000006, sam_01_Quizmo_AddViewRelativeOffset, 0xF4ACD481, 0xF4ACD483, 0x00000053, 0xFE363C80, 0xFE363C81, 0x00000056, 0x00000000, 0x00000026, 0x00000002, 0xFE363C82, 0x00000000, 0x00000005, 0x00000001, 0x0000003C, 0x00000026, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000026, 0x00000002, 0xFE363C84, 0xFE363C81, 0x0000002E, 0x00000002, 0xFE363C83, 0xFE363C82, 0x0000002E, 0x00000002, 0xFE363C84, 0xFE363C82, 0x0000002F, 0x00000002, 0xFE363C83, 0x0000003C, 0x0000002F, 0x00000002, 0xFE363C84, 0x0000003C, 0x0000002C, 0x00000002, 0xFE363C83, 0xF4ACD481, 0x0000002C, 0x00000002, 0xFE363C84, 0xF4ACD483, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C83, 0xF4ACD482, 0xFE363C84, 0x0000002C, 0x00000002, 0xFE363C82, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000026, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000026, 0x00000002, 0xFE363C84, 0xFE363C81, 0x0000002C, 0x00000002, 0xFE363C83, 0xF4ACD481, 0x0000002C, 0x00000002, 0xFE363C84, 0xF4ACD483, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C83, 0xF4ACD482, 0xFE363C84, 0x00000057, 0x00000000, 0x00000043, 0x00000001, sam_01_Quizmo_SpinPlayer, 0x00000043, 0x00000004, func_802D2884, 0xF4ACD481, 0xF4ACD483, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243CC0_CFB830 -.word 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000006, sam_01_Quizmo_AddViewRelativeOffset, 0xFE363C8A, 0xFE363C8C, 0x0000006C, 0xFE363C80, 0xFE363C81, 0x00000026, 0x00000002, 0xFE363C85, 0xF4ACD482, 0x0000002D, 0x00000002, 0xFE363C85, 0xFE363C8B, 0x00000056, 0x00000000, 0x00000043, 0x00000001, sam_01_Quizmo_UpdatePartnerPosition, 0x00000026, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000026, 0x00000002, 0xFE363C84, 0xFE363C81, 0x00000026, 0x00000002, 0xFE363C86, 0xFE363C85, 0x0000002C, 0x00000002, 0xFE363C83, 0xFE363C8A, 0x0000002C, 0x00000002, 0xFE363C84, 0xFE363C8C, 0x0000002C, 0x00000002, 0xFE363C86, 0xFE363C8B, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFE363C83, 0xFE363C86, 0xFE363C84, 0x00000057, 0x00000000, 0x00000043, 0x00000001, sam_01_Quizmo_SpinPartner, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFC, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243DF8_CFB968 -.word 0x00000043, 0x00000005, GetNpcPos, 0x0000000E, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000006, sam_01_Quizmo_AddViewRelativeOffset, 0xFE363C8A, 0xFE363C8C, 0xFFFFFFBA, 0xFE363C80, 0xFE363C81, 0x00000056, 0x00000000, 0x00000026, 0x00000002, 0xFE363C82, 0x00000000, 0x00000005, 0x00000001, 0x0000003C, 0x00000026, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000026, 0x00000002, 0xFE363C84, 0xFE363C81, 0x0000002E, 0x00000002, 0xFE363C83, 0xFE363C82, 0x0000002E, 0x00000002, 0xFE363C84, 0xFE363C82, 0x0000002F, 0x00000002, 0xFE363C83, 0x0000003C, 0x0000002F, 0x00000002, 0xFE363C84, 0x0000003C, 0x0000002C, 0x00000002, 0xFE363C83, 0xFE363C8A, 0x0000002C, 0x00000002, 0xFE363C84, 0xFE363C8C, 0x00000043, 0x00000005, SetNpcPos, 0x0000000E, 0xFE363C83, 0xF4ACD482, 0xFE363C84, 0x0000002C, 0x00000002, 0xFE363C82, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000003, NpcFacePlayer, 0x0000000E, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000E, 0x00AF0001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243F64_CFBAD4 -.word 0x00000044, 0x00000001, D_80243B10_CFB680, 0x00000044, 0x00000001, D_80243CC0_CFB830, 0x00000046, 0x00000001, D_80243DF8_CFB968, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010028, 0x00000008, 0x00000001, 0x00000014, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243FD8_CFBB48 -.word 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010016, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244014_CFBB84 -.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010006, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010007, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000003, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000002, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010008, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFE, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFD, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010009, 0x00000008, 0x00000001, 0x00000002, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010006, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010007, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000003, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000002, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010008, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFE, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFD, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010009, 0x00000008, 0x00000001, 0x00000002, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010006, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010007, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000003, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000002, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010008, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFE, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFD, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010009, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xF4ACD482, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244B5C_CFC6CC -.word 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010023, 0x00000005, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244B9C_CFC70C -.word 0x00000056, 0x00000000, 0x00000043, 0x00000006, sam_01_Quizmo_AddViewRelativeOffset, 0xF4ACD481, 0xF4ACD483, 0x00000019, 0xFE363C80, 0xFE363C81, 0x00000026, 0x00000002, 0xFE363C82, 0xF4ACD481, 0x0000002C, 0x00000002, 0xFE363C82, 0xFE363C80, 0x00000026, 0x00000002, 0xFE363C83, 0xF4ACD483, 0x0000002C, 0x00000002, 0xFE363C83, 0xFE363C81, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000102, 0x00000043, 0x00000005, NpcMoveTo, 0xFFFFFFFC, 0xFE363C82, 0xFE363C83, 0x00000028, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000057, 0x00000000, 0x00000043, 0x00000004, PlayerMoveTo, 0xF4ACD481, 0xF4ACD483, 0x00000028, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244C78_CFC7E8 -.word 0x00000045, 0x00000002, D_80244014_CFBB84, 0xFE363C81, 0x00000008, 0x00000001, 0x0000003C, 0x00000049, 0x00000001, 0xFE363C81, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000046, 0x00000001, D_80244B9C_CFC70C, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244D28_CFC898 -.word 0x00000045, 0x00000002, D_80244B5C_CFC6CC, 0xFE363C81, 0x00000008, 0x00000001, 0x0000003C, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000049, 0x00000001, 0xFE363C81, 0x00000046, 0x00000001, D_80244B9C_CFC70C, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244DD8_CFC948 -.word 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xF4ACD481, 0xF4ACD482, 0xF4ACD483, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFF, 0x00000010, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000A, 0x00000012, 0x00000000, 0x0000000A, 0x00000002, 0xF8406267, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080009, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080008, 0x00000024, 0x00000002, 0xF8406267, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, ShowChoice, 0x001E000D, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000C, 0x00000046, 0x00000001, D_8024378C_CFB2FC, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8406281, 0x00000001, 0x00000043, 0x00000001, sam_01_Quizmo_HideEntities, 0x00000043, 0x00000001, sam_01_Quizmo_HideWorld, 0x00000044, 0x00000001, D_8024383C_CFB3AC, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x0000000E, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000148, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0x0000000E, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000045, 0x00000002, D_80243F64_CFBAD4, 0xFE363C81, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000B, 0x00000043, 0x00000002, PlaySound, 0x00000089, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000001, sam_01_Quizmo_CreateStage, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x002C0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0005, 0x00AF0006, 0x00000000, 0xFE363C80, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010028, 0x00000024, 0x00000002, 0xFE363C80, 0x002D0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000002, PlaySound, 0x0000008E, 0x00000043, 0x00000002, ShowChoice, 0xFE363C80, 0x00000049, 0x00000001, 0xFE363C81, 0x00000043, 0x00000002, StopSound, 0x0000008E, 0x00000044, 0x00000001, D_80243FD8_CFBB48, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, PlaySound, 0x0000008D, 0x00000043, 0x00000002, sam_01_Quizmo_UnkStageEffectMode, 0xFE363C80, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000043, 0x00000001, sam_01_Quizmo_CreateWorker, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000001, sam_01_Quizmo_UpdateRecords, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000006E, 0x00000043, 0x00000001, CloseChoice, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000057, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000E, 0x00AF0007, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, sam_01_Quizmo_SetStageLightsDelay, 0x00000001, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, sam_01_Quizmo_SetStageLightsDelay, 0x00000002, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000057, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000008A, 0x00000043, 0x00000001, sam_01_Quizmo_SetVannaAnim_Clap, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000032, 0x00000043, 0x00000006, sam_01_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x00000053, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFD, 0x00000043, 0x00000006, sam_01_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000003A, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0x0000001E, 0x00000043, 0x00000006, sam_01_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000005D, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000045, 0x00000002, D_80244C78_CFC7E8, 0xFE363C81, 0x00000027, 0x00000002, 0xF5DE02E0, 0x00000001, 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00080010, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000E, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000E, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000003, 0x00000046, 0x00000001, D_802435F4_CFB164, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, sam_01_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, sam_01_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080011, 0x00000012, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000E, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000E, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000E, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_802435F4_CFB164, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, sam_01_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, sam_01_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x00000001, 0x00000043, 0x00000003, SetMessageMsg, MessageSingular, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetMessageMsg, MessagePlural, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000F, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000E, 0x00AF0009, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000002, 0x00000043, 0x00000002, PlaySound, 0x0000021D, 0x00000043, 0x00000002, PlaySound, 0x0000008B, 0x00000045, 0x00000002, D_80244D28_CFC898, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x0000000F, PlayEffect, 0x0000002B, 0x00000000, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000D, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000E, 0x00AF000A, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, sam_01_Quizmo_UnkStageEffectMode, 0xFFFFFFFF, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, PlaySound, 0x0000008F, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000002D, 0x00000043, 0x00000002, StopSound, 0x00000089, 0x00000057, 0x00000000, 0x00000043, 0x00000001, sam_01_Quizmo_SetVannaAnim_Wave, 0x00000043, 0x00000001, sam_01_Quizmo_DestroyEffects, 0x00000046, 0x00000001, D_8024378C_CFB2FC, 0x00000044, 0x00000001, D_80243AD4_CFB644, 0x00000043, 0x00000001, sam_01_Quizmo_FadeInWorld, 0x00000043, 0x00000001, sam_01_Quizmo_ShowEntities, 0x00000024, 0x00000002, 0xF8406281, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245B08_CFD678 -.word 0x00000043, 0x00000001, sam_01_Quizmo_ShouldAppear, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x01000000, 0x00000000, 0x00000043, 0x00000003, SetNpcSprite, 0xFFFFFFFF, 0x00AF0001, 0x00000043, 0x00000001, sam_01_Quizmo_RenderInit, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245B7C_CFD6EC -.word 0x0000003C, 0x00000001, 0x8024DF00, 0x00000024, 0x00000002, 0xF8406269, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000003, SetPlayerFlagBits, 0x00400000, 0x00000001, 0x00000046, 0x00000001, D_80244DD8_CFC948, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000043, 0x00000003, SetPlayerFlagBits, 0x00400000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245BFC_CFD76C -.word 0x00000043, 0x00000001, sam_01_Quizmo_NPC_Aux_Impl, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245C18_CFD788 -.word 0x3F333333, 0x0000001E, 0x00000014, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001 - -dlabel D_80245C48_CFD7B8 -.word 0x00000043, 0x00000002, BasicAI_Main, D_80245C18_CFD788, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245C68_CFD7D8 -.word 0x00AF0001, 0x0023001C, D_80245B08_CFD678, D_80245B7C_CFD6EC, 0x00000000, 0x00000000, D_80245BFC_CFD76C, 0x00000000, 0x00000D01, 0x00000000, 0x00630000, 0x00AF0001, 0x0023001C, D_80245B08_CFD678, D_80245B7C_CFD6EC, D_80245C48_CFD7B8, 0x00000000, D_80245BFC_CFD76C, 0x00000000, 0x00000C01, 0x00000000, 0x00630010 - -dlabel D_80245CC0_CFD830 -.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, sam_01_LetterDelivery_CalcLetterPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000005, SetItemPos, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245D40_CFD8B0 -.word 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C81, 0x00000043, 0x00000001, ShowKeyChoicePopup, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, RemoveKeyItemAt, 0xFE363C81, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, sam_01_LetterDelivery_CalcLetterPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000042, 0x00000002, 0xFE363C80, 0x00050000, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000001, 0x00000000, 0x00000045, 0x00000002, D_80245CC0_CFD830, 0xFE363C8A, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00040002, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0xFE363C89, 0xFFFFFFFC, 0xFE363C8B, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000005, GetNpcPos, 0xFE363C89, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000100, 0x00000001, 0x0000000E, 0x00000002, 0xFE363C8B, 0x000000B4, 0x00000027, 0x00000002, 0xFE363C86, 0x00000014, 0x00000012, 0x00000000, 0x00000027, 0x00000002, 0xFE363C86, 0xFFFFFFEC, 0x00000013, 0x00000000, 0x00000027, 0x00000002, 0xFE363C87, 0x0000000A, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFC, 0xF24A7A80, 0x00000043, 0x00000006, NpcJump1, 0xFFFFFFFC, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000014, 0x00000049, 0x00000001, 0xFE363C8A, 0x00000043, 0x00000002, RemoveItemEntity, 0xFE363C80, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, GetNpcYaw, 0xFFFFFFFC, 0xFE363C8A, 0x00000027, 0x00000002, 0xFE363C8A, 0x000000B4, 0x00000043, 0x00000004, InterpNpcYaw, 0xFFFFFFFC, 0xFE363C8A, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, NpcJump1, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000014, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00040001, 0x00000043, 0x00000004, NpcFaceNpc, 0xFFFFFFFC, 0xFE363C89, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000100, 0x00000000, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000008, 0x00000001, 0x00000005, 0x00000023, 0x00000000, 0x00000043, 0x00000002, sam_01_ItemChoice_SaveSelected, 0xFE363C8A, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246064_CFDBD4 -.word 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C8B, 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000002, func_802405C8_CF8138, 0xFE363C80, 0x0000004E, 0x00000006, D_80245D40_CFD8B0, 0x00000010, 0x00000000, D_8024DBC0, 0x00000000, 0x00000001, 0x00000043, 0x00000002, sam_01_ItemChoice_WaitForSelection, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802460D4_CFDC44 -.word 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFBA, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, sam_01_LetterDelivery_SaveNpcAnim, 0x00000043, 0x00000002, GetCurrentPartnerID, 0xFE363C80, 0x00000043, 0x00000003, FindKeyItem, 0xFE363C85, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000004, 0x0000000B, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000003, PlayerFaceNpc, 0xFE363C82, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, GetNpcPos, 0xFE363C82, 0xFE363C8D, 0xFE363C80, 0xFE363C8E, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C8D, 0xFE363C8E, 0xFE363C8F, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFC, 0xF24A7A80, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000043, 0x00000006, NpcJump1, 0xFFFFFFFC, 0xFE363C8D, 0xFE363C80, 0xFE363C8F, 0x0000000A, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFC, 0x00040006, 0x00040001, 0x00000000, 0xFE363C82, 0xFE363C87, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000046, 0x00000001, D_80246064_CFDBD4, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00040006, 0x00040001, 0x00000005, 0xFE363C88, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000001, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00040006, 0x00040001, 0x00000005, 0xFE363C89, 0x0000000B, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000000, 0xFE363C8A, 0x00000013, 0x00000000, 0x00000043, 0x00000001, EnablePartnerAI, 0x0000000B, 0x00000002, 0xFE363C86, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C86, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_802435F4_CFB164, 0x00000043, 0x00000002, AddKeyItem, 0xFE363C86, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000002, 0x00000023, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, sam_01_LetterDelivery_RestoreNpcAnim, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802463CC_CFDF3C -.word 0x0000003A, 0x00000000 - -dlabel D_802463D4_CFDF44 -.word 0x00000043, 0x0000000B, sam_01_LetterDelivery_Init, 0x00000000, 0x00CE0004, 0x00CE0001, 0x0000003A, 0x00000000, 0x00120041, 0x00120042, 0x00120043, 0x00120044, D_802463CC_CFDF3C, 0x00000046, 0x00000001, D_802460D4_CFDC44, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246424_CFDF94 -.word 0x0000000A, 0x00000002, 0xFE363C8C, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000003, 0x00000046, 0x00000001, D_802435F4_CFB164, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246488_CFDFF8 -.word 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFFB, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000F, 0x00000043, 0x00000003, GetNpcYaw, 0x00000000, 0xFE363C83, 0x0000000F, 0x00000002, 0xFE363C83, 0x0000005A, 0x0000000E, 0x00000002, 0xFE363C83, 0x0000010E, 0x00000027, 0x00000002, 0xFE363C82, 0x0000000A, 0x00000012, 0x00000000, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFF6, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFF6, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetItemPos, 0xFD050F85, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246598_CFE108 -.word 0x00000043, 0x00000003, GetNpcYaw, 0x00000000, 0xFE363C83, 0x0000000F, 0x00000002, 0xFE363C83, 0x0000005A, 0x0000000E, 0x00000002, 0xFE363C83, 0x0000010E, 0x00000027, 0x00000002, 0xFE363C82, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C84, 0x0000000A, 0x00000012, 0x00000000, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFF6, 0x00000024, 0x00000002, 0xFE363C84, 0xFFFFFFF6, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000028, 0x00000002, 0xFE363C82, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C84, 0x0000000A, 0x00000013, 0x00000000, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFFB, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C82, 0xFE363C84, 0x00000043, 0x00000005, SetItemPos, 0xFD050F85, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetItemPos, 0xFD050F85, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000005, NpcMoveTo, 0x00000000, 0xFE363C80, 0xFE363C82, 0x0000000A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024672C_CFE29C -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0x0000003F, 0x00000043, 0x00000003, FadeOutMusic, 0x00000000, 0x000001F4, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x00120002, 0x000000A0, 0x00000028, 0x00000046, 0x00000001, 0x8024A5C0, 0x00000018, 0x00000001, 0x00000043, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x00120002, 0x000000A0, 0x00000028, 0x00000018, 0x00000001, 0x00000048, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00CE0004, 0x00CE0001, 0x00000000, 0x00120039, 0x00000018, 0x00000001, 0x00000049, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x0000000F, 0x00000002, 0xFE363C82, 0xFE363C85, 0x00000024, 0x00000002, 0xFD050F86, 0x00000000, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFD050F86, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00CE0004, 0x00CE0001, 0x00000000, 0x0012003A, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00CE0002, 0x00000043, 0x00000005, NpcMoveTo, 0xFFFFFFFF, 0xFFFFFEAE, 0xFFFFFF09, 0x00000014, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x00000017, 0x000001CF, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x00000046, 0x0000001E, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x00000025, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000027, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000005, MakeLerp, 0x00000046, 0x00000000, 0x0000001E, 0x00000000, 0x00000003, 0x00000001, 0x00000014, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x00000025, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000027, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000014, 0x00000013, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x00000017, 0x000001D0, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00CE0008, 0x00000043, 0x00000004, InterpNpcYaw, 0xFFFFFFFF, 0x000000B4, 0x00000000, 0x00000045, 0x00000002, D_80246488_CFDFF8, 0xFE363C8A, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000002, 0xFD050F86, 0x00000000, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFD8, 0x00000012, 0x00000000, 0x00000027, 0x00000002, 0xFE363C82, 0x00000028, 0x00000013, 0x00000000, 0x00000043, 0x00000005, NpcMoveTo, 0xFFFFFFFF, 0xFE363C80, 0xFE363C82, 0x00000014, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00CE0004, 0x00CE0001, 0x00000000, 0x0012003B, 0x00000049, 0x00000001, 0xFE363C8A, 0x00000046, 0x00000001, D_80246598_CFE108, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00CE0001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000031, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_802435F4_CFB164, 0x00000043, 0x00000002, AddKeyItem, 0x00000031, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00CE0004, 0x00CE0001, 0x00000000, 0x0012003C, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24E6280, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24AB680, 0xF24A5880, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00CE0004, 0x00CE0001, 0x00000000, 0x0012003D, 0x00000043, 0x00000003, ResetCam, 0x00000000, 0xF24A8680, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000100, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0180, 0x00000049, 0x00000018, 0x00000001, 0x0000004A, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00CE0004, 0x00CE0001, 0x00000000, 0x0012003E, 0x00000018, 0x00000001, 0x00000057, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00CE0004, 0x00CE0001, 0x00000000, 0x0012003F, 0x0000001B, 0x00000001, 0x00000057, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00CE0004, 0x00CE0001, 0x00000000, 0x00120040, 0x00000023, 0x00000000, 0x00000046, 0x00000001, D_802463D4_CFDF44, 0x00000046, 0x00000001, D_80246424_CFDF94, 0x0000000B, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246D90_CFE900 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0x0000003F, 0x0000000A, 0x00000002, 0xF840611A, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00CF0004, 0x00CF0001, 0x00000000, 0x00120000, 0x00000024, 0x00000002, 0xF840611A, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00CF0004, 0x00CF0001, 0x00000000, 0x00120001, 0x00000013, 0x00000000, 0x00000018, 0x00000001, 0x00000043, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00CF0008, 0x00CF0001, 0x00000000, 0x0012001C, 0x00000018, 0x00000001, 0x00000048, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00CF0005, 0x00CF0001, 0x00000000, 0x00120035, 0x00000018, 0x00000001, 0x00000049, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00CF0005, 0x00CF0001, 0x00000000, 0x00120036, 0x00000018, 0x00000001, 0x00000057, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00CF0005, 0x00CF0001, 0x00000000, 0x00120037, 0x0000001B, 0x00000001, 0x00000057, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00CF0005, 0x00CF0001, 0x00000000, 0x00120038, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246F0C_CFEA7C -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0x00000041, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00D00004, 0x00D00001, 0x00000000, 0x0012001B, 0x0000001B, 0x00000001, 0x00000041, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00D00004, 0x00D00001, 0x00000000, 0x0012001D, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246F88_CFEAF8 -.word 0x00000003, 0x00000001, 0x00000000, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000016, 0x00000001, 0x00000042, 0x0000000A, 0x00000002, 0xF9718883, 0x00000001, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000C, 0x00000002, 0xFE363C82, 0xFFFFFF7E, 0x00000046, 0x00000001, 0x8024BA48, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80247030_CFEBA0 -.word 0x0000000A, 0x00000002, 0xF9718884, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00D10004, 0x00D10001, 0x00000000, 0x001200D3, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00D10004, 0x00D10001, 0x00000000, 0x001200D4, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802470A0_CFEC10 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0x0000003F, 0x00000014, 0x00000001, 0xFD050F80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x00120045, 0x00000024, 0x00000002, 0xFD050F80, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x00120046, 0x00000024, 0x00000002, 0xFD050F80, 0x00000000, 0x00000023, 0x00000000, 0x00000018, 0x00000001, 0x00000043, 0x00000014, 0x00000001, 0xFD050F80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x00120047, 0x00000024, 0x00000002, 0xFD050F80, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x00120048, 0x00000024, 0x00000002, 0xFD050F80, 0x00000000, 0x00000023, 0x00000000, 0x00000018, 0x00000001, 0x00000057, 0x00000014, 0x00000001, 0xFD050F80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x00120049, 0x00000024, 0x00000002, 0xFD050F80, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x0012004A, 0x00000024, 0x00000002, 0xFD050F80, 0x00000000, 0x00000023, 0x00000000, 0x0000001B, 0x00000001, 0x00000057, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x0012004B, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802472B8_CFEE28 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0x0000003F, 0x00000014, 0x00000001, 0xFD050F81, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x0012004C, 0x00000024, 0x00000002, 0xFD050F81, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x0012004D, 0x00000024, 0x00000002, 0xFD050F81, 0x00000000, 0x00000023, 0x00000000, 0x00000018, 0x00000001, 0x00000043, 0x00000014, 0x00000001, 0xFD050F81, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x0012004E, 0x00000024, 0x00000002, 0xFD050F81, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x0012004F, 0x00000024, 0x00000002, 0xFD050F81, 0x00000000, 0x00000023, 0x00000000, 0x00000018, 0x00000001, 0x00000057, 0x00000014, 0x00000001, 0xFD050F81, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x00120050, 0x00000024, 0x00000002, 0xFD050F81, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x00120051, 0x00000024, 0x00000002, 0xFD050F81, 0x00000000, 0x00000023, 0x00000000, 0x0000001B, 0x00000001, 0x00000057, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x00120052, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802474D0_CFF040 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0x0000003F, 0x00000014, 0x00000001, 0xFD050F82, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x00120053, 0x00000024, 0x00000002, 0xFD050F82, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x00120054, 0x00000024, 0x00000002, 0xFD050F82, 0x00000000, 0x00000023, 0x00000000, 0x00000018, 0x00000001, 0x00000043, 0x00000014, 0x00000001, 0xFD050F82, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x00120055, 0x00000024, 0x00000002, 0xFD050F82, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x00120056, 0x00000024, 0x00000002, 0xFD050F82, 0x00000000, 0x00000023, 0x00000000, 0x00000018, 0x00000001, 0x00000057, 0x00000014, 0x00000001, 0xFD050F82, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x00120057, 0x00000024, 0x00000002, 0xFD050F82, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x00120058, 0x00000024, 0x00000002, 0xFD050F82, 0x00000000, 0x00000023, 0x00000000, 0x0000001B, 0x00000001, 0x00000057, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x00120059, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802476E8_CFF258 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0x0000003F, 0x00000014, 0x00000001, 0xFD050F83, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x0012005A, 0x00000024, 0x00000002, 0xFD050F83, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x0012005B, 0x00000024, 0x00000002, 0xFD050F83, 0x00000000, 0x00000023, 0x00000000, 0x00000018, 0x00000001, 0x00000043, 0x00000014, 0x00000001, 0xFD050F83, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x0012005C, 0x00000024, 0x00000002, 0xFD050F83, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x0012005D, 0x00000024, 0x00000002, 0xFD050F83, 0x00000000, 0x00000023, 0x00000000, 0x00000018, 0x00000001, 0x00000057, 0x00000014, 0x00000001, 0xFD050F83, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x0012005E, 0x00000024, 0x00000002, 0xFD050F83, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x0012005F, 0x00000024, 0x00000002, 0xFD050F83, 0x00000000, 0x00000023, 0x00000000, 0x0000001B, 0x00000001, 0x00000057, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x009A0004, 0x009A0001, 0x00000000, 0x00120060, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80247900_CFF470 -.word 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000009, 0x00000100, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0x0000000A, 0x00000100, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0x0000000B, 0x00000100, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0x0000000C, 0x00000100, 0x00000001, 0x00000043, 0x00000003, BindNpcInteract, 0x00000009, 0x00000000, 0x00000043, 0x00000003, BindNpcInteract, 0x0000000A, 0x00000000, 0x00000043, 0x00000003, BindNpcInteract, 0x0000000B, 0x00000000, 0x00000043, 0x00000003, BindNpcInteract, 0x0000000C, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetNpcSpeed, 0x00000009, 0xF24A8680, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000009, 0x009A0002, 0x00000043, 0x00000005, NpcMoveTo, 0x00000009, 0x00000258, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000009, 0x009A0001, 0x00000043, 0x00000005, SetNpcPos, 0x00000009, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetNpcSpeed, 0x0000000A, 0xF24A8680, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000A, 0x009A0002, 0x00000043, 0x00000005, NpcMoveTo, 0x0000000A, 0x00000258, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000A, 0x009A0001, 0x00000043, 0x00000005, SetNpcPos, 0x0000000A, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetNpcSpeed, 0x0000000B, 0xF24A8680, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000B, 0x009A0002, 0x00000043, 0x00000005, NpcMoveTo, 0x0000000B, 0x00000258, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000B, 0x009A0001, 0x00000043, 0x00000005, SetNpcPos, 0x0000000B, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetNpcSpeed, 0x0000000C, 0xF24A8680, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000C, 0x009A0002, 0x00000043, 0x00000005, NpcMoveTo, 0x0000000C, 0x00000258, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000C, 0x009A0001, 0x00000043, 0x00000005, SetNpcPos, 0x0000000C, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80247BF4_CFF764 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0x00000043, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000009, 0x009A0004, 0x009A0001, 0x00000005, 0x00120061, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x0000000A, 0x009A0004, 0x009A0001, 0x00000005, 0x00120062, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x0000000B, 0x009A0004, 0x009A0001, 0x00000005, 0x00120063, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x0000000C, 0x009A0004, 0x009A0001, 0x00000005, 0x00120064, 0x00000016, 0x00000001, 0x00000043, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000009, 0x009A0004, 0x009A0001, 0x00000005, 0x00120065, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x0000000A, 0x009A0004, 0x009A0001, 0x00000005, 0x00120066, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x0000000B, 0x009A0004, 0x009A0001, 0x00000005, 0x00120067, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x0000000C, 0x009A0004, 0x009A0001, 0x00000005, 0x00120068, 0x00000044, 0x00000001, D_80247900_CFF470, 0x00000008, 0x00000001, 0x00000001, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80247D90_CFF900 -.word 0x00000046, 0x00000001, D_80247BF4_CFF764, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80247DAC_CFF91C -.word 0x00000046, 0x00000001, D_80247BF4_CFF764, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80247DC8_CFF938 -.word 0x00000046, 0x00000001, D_80247BF4_CFF764, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x00120004, 0x000000A0, 0x00000028, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80247E0C_CFF97C -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024672C_CFE29C, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0x00000043, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFFFFFEF2, 0x00000000, 0xFFFFFF33, 0x00000043, 0x00000004, InterpNpcYaw, 0xFFFFFFFF, 0x000000B4, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00CE0005, 0x0000001B, 0x00000001, 0x00000043, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFFFFFED4, 0x00000000, 0xFFFFFF60, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80247EC0_CFFA30 -.word 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000004, InterpNpcYaw, 0xFFFFFFFF, 0x000000B7, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80247F04_CFFA74 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_80246D90_CFE900, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0x0000003F, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFFFFFECA, 0x00000000, 0x0000005E, 0x00000018, 0x00000001, 0x00000043, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFFFFFED7, 0x00000000, 0xFFFFFFBB, 0x0000001B, 0x00000001, 0x00000043, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFFFFFED7, 0x00000000, 0xFFFFFFBB, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80247FB4_CFFB24 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_80246F0C_CFEA7C, 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80246F88_CFEAF8, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0x0000003F, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000018, 0x00000001, 0x00000043, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFFFFFF01, 0x00000000, 0xFFFFFF4E, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80248050_CFFBC0 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0x00000041, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000004, 0x00000001, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000018, 0x00000001, 0x00000042, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000004, InterpNpcYaw, 0xFFFFFFFF, 0x0000010E, 0x00000000, 0x00000018, 0x00000001, 0x00000043, 0x00000043, 0x00000003, BindNpcInteract, 0x00000004, D_80247030_CFEBA0, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFFFFFF1C, 0x00000000, 0x0000005B, 0x00000043, 0x00000004, InterpNpcYaw, 0xFFFFFFFF, 0x0000010E, 0x00000000, 0x0000001B, 0x00000001, 0x00000043, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000004, 0x00000001, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80248188_CFFCF8 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_802470A0_CFEC10, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802481AC_CFFD1C -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_802472B8_CFEE28, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802481D0_CFFD40 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_802474D0_CFF040, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802481F4_CFFD64 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_802476E8_CFF258, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80248218_CFFD88 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_80247BF4_CFF764, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0x0000003F, 0x00000018, 0x00000001, 0x00000043, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFFFFFF6A, 0x00000000, 0x00000000, 0x0000001B, 0x00000001, 0x00000043, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80248290_CFFE00 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_80247D90_CFF900, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0x0000003F, 0x00000018, 0x00000001, 0x00000043, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFFFFFFA6, 0x00000000, 0x00000000, 0x0000001B, 0x00000001, 0x00000043, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80248308_CFFE78 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_80247DAC_CFF91C, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0x0000003F, 0x00000018, 0x00000001, 0x00000043, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFFFFFF88, 0x00000000, 0xFFFFFFE2, 0x0000001B, 0x00000001, 0x00000043, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80248380_CFFEF0 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_80247DC8_CFF938, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0x0000003F, 0x00000018, 0x00000001, 0x00000043, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFFFFFF88, 0x00000000, 0x0000001E, 0x0000001B, 0x00000001, 0x00000043, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802483F8_CFFF68 -.word 0x0000000C, 0x00000002, 0xF5DE0180, 0x00000043, 0x00000043, 0x00000004, SetNpcFlagBits, 0x0000000D, 0x10000002, 0x00000001, 0x00000043, 0x00000003, EnableNpcShadow, 0x0000000D, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x0000000D, 0xFFFFFEBB, 0x00000000, 0xFFFFFF10, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80248468_CFFFD8 -.word 0x00000000, D_802436D0_CFB240, 0xC3880000, 0x00000000, 0xC3340000, 0x00400C09, D_80247E0C_CFF97C, 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, 0x00CE0001, 0x00CE0002, 0x00CE0001, 0x00CE0001, 0x00CE0001, 0x00CE0001, 0x00CE0001, 0x00CE0001, 0x00CE0001, 0x00CE0001, 0x00CE0001, 0x00CE0001, 0x00CE0001, 0x00CE0001, 0x00CE0001, 0x00CE0001, 0x00000000, 0x00000000, 0x00000000, 0x001A00E6, 0x00000001, D_802436D0_CFB240, 0xC3880000, 0x00000000, 0xC3340000, 0x00404E09, D_80247EC0_CFFA30, 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, 0x00CE0001, 0x00CE0002, 0x00CE0001, 0x00CE0001, 0x00CE0001, 0x00CE0001, 0x00CE0001, 0x00CE0001, 0x00CE0001, 0x00CE0001, 0x00CE0001, 0x00CE0001, 0x00CE0001, 0x00CE0001, 0x00CE0001, 0x00CE0001, 0x00000000, 0x00000000, 0x00000000, 0x001A00E6, 0x00000002, D_802436D0_CFB240, 0xC39E0000, 0x00000000, 0x42E20000, 0x00400C09, D_80247F04_CFFA74, 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, 0x00CF0001, 0x00CF0002, 0x00CF0001, 0x00CF0001, 0x00CF0001, 0x00CF0001, 0x00CF0001, 0x00CF0001, 0x00CF0001, 0x00CF0001, 0x00CF0001, 0x00CF0001, 0x00CF0001, 0x00CF0001, 0x00CF0001, 0x00CF0001, 0x00000000, 0x00000000, 0x00000000, 0x001A00E5, 0x00000003, D_802436D0_CFB240, 0x00000000, 0xC47A0000, 0x00000000, 0x00400D09, D_80247FB4_CFFB24, 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, 0x00D00001, 0x00D00002, 0x00D00001, 0x00D00001, 0x00D00001, 0x00D00001, 0x00D00001, 0x00D00001, 0x00D00001, 0x00D00001, 0x00D00001, 0x00D00001, 0x00D00001, 0x00D00001, 0x00D00001, 0x00D00001, 0x00000000, 0x00000000, 0x00000000, 0x001A00F3, 0x00000004, D_802436D0_CFB240, 0x00000000, 0x00000000, 0x00000000, 0x00400D09, D_80248050_CFFBC0, 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, 0x00D10001, 0x00D10002, 0x00D10001, 0x00D10001, 0x00D10001, 0x00D10001, 0x00D10001, 0x00D10001, 0x00D10001, 0x00D10001, 0x00D10001, 0x00D10001, 0x00D10001, 0x00D10001, 0x00D10001, 0x00D10001, 0x00000000, 0x00000000, 0x00000000, 0x001A00F5, 0x00000005, D_802436A4_CFB214, 0xC3160000, 0x00000000, 0x43C80000, 0x00400C09, D_80248188_CFFCF8, 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, 0xFFFFFF6A, 0x00000000, 0x00000190, 0x00000032, 0x00000000, 0xFFFF8001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 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, 0x009A0001, 0x009A0002, 0x009A0003, 0x009A0003, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x00000000, 0x00000000, 0x00000000, 0x001A00E7, 0x00000006, D_802436A4_CFB214, 0x42C80000, 0x00000000, 0x437A0000, 0x00400C09, D_802481AC_CFFD1C, 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, 0x00000064, 0x00000000, 0x000000FA, 0x00000032, 0x00000000, 0xFFFF8001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 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, 0x009A0001, 0x009A0002, 0x009A0003, 0x009A0003, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x00000000, 0x00000000, 0x00000000, 0x001A00E8, 0x00000007, D_802436A4_CFB214, 0x43C80000, 0x00000000, 0x42480000, 0x00400C09, D_802481D0_CFFD40, 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, 0x00000190, 0x00000000, 0x00000032, 0x00000032, 0x00000000, 0xFFFF8001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 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, 0x009A0001, 0x009A0002, 0x009A0003, 0x009A0003, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x00000000, 0x00000000, 0x00000000, 0x001A00E9, 0x00000008, D_802436D0_CFB240, 0x43AF0000, 0x00000000, 0xC33E0000, 0x00400C09, D_802481F4_CFFD64, 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, 0x009A0001, 0x009A0002, 0x009A0003, 0x009A0003, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x00000000, 0x00000000, 0x00000000, 0x001A00EA - -dlabel D_802495D8_D01148 -.word 0x00000009, D_802436D0_CFB240, 0x00000000, 0xC47A0000, 0x00000000, 0x00600D09, D_80248218_CFFD88, 0x00000000, 0x00000000, 0x0000005A, 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, 0x009A0001, 0x009A0002, 0x009A0003, 0x009A0003, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x00000000, 0x00000000, 0x00000000, 0x001A00ED, 0x0000000A, D_802436D0_CFB240, 0x00000000, 0xC47A0000, 0x00000000, 0x00600D09, D_80248290_CFFE00, 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, 0x009A0001, 0x009A0002, 0x009A0003, 0x009A0003, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x00000000, 0x00000000, 0x00000000, 0x001A00EE, 0x0000000B, D_802436D0_CFB240, 0x00000000, 0xC47A0000, 0x00000000, 0x00600D09, D_80248308_CFFE78, 0x00000000, 0x00000000, 0x000000B4, 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, 0x009A0001, 0x009A0002, 0x009A0003, 0x009A0003, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x00000000, 0x00000000, 0x00000000, 0x001A00EA, 0x0000000C, D_802436D0_CFB240, 0x00000000, 0xC47A0000, 0x00000000, 0x00600D09, D_80248380_CFFEF0, 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, 0x009A0001, 0x009A0002, 0x009A0003, 0x009A0003, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x00000000, 0x00000000, 0x00000000, 0x001A00EA - -dlabel D_80249D98_D01908 -.word 0x0000000D, D_802436D0_CFB240, 0x00000000, 0x00000000, 0x00000000, 0x00400D09, D_802483F8_CFFF68, 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, 0x009A0001, 0x009A0002, 0x009A0003, 0x009A0003, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x009A0001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80249F88_D01AF8 -.word 0x0000000E, D_80245C68_CFD7D8, 0x43660000, 0x00000000, 0x43160000, 0x00002D09, 0x00000000, 0x00000001, 0x00050300, 0x0000005A, 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, 0x00AF0001, 0x00AF0002, 0x00AF0003, 0x00AF0003, 0x00AF0001, 0x00AF0001, 0x00AF0000, 0x00AF0000, 0x00AF0003, 0x00AF0003, 0x00AF0003, 0x00AF0003, 0x00AF0003, 0x00AF0003, 0x00AF0003, 0x00AF0003, 0x00000000, 0x00000000, 0x00000000, 0x001A0002 - -dlabel D_8024A178_D01CE8 -.word 0x00000009, D_80248468_CFFFD8, 0x00000001, 0x00000004, D_802495D8_D01148, 0x00000001, 0x00000001, D_80249D98_D01908, 0x00000001, 0x00000001, D_80249F88_D01AF8, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024A1B4_D01D24 -.word 0x00000009, D_80248468_CFFFD8, 0x00000001, 0x00000004, D_802495D8_D01148, 0x00000001, 0x00000001, D_80249D98_D01908, 0x00000001, 0x00000001, D_80249F88_D01AF8, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024A1F0_D01D60 -.word 0x00000009, D_80248468_CFFFD8, 0x00000001, 0x00000001, D_80249F88_D01AF8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_sam/sam_01/D01D90.data.s b/ver/us/asm/data/world/area_sam/sam_01/D01D90.data.s deleted file mode 100644 index 2cbca6e266..0000000000 --- a/ver/us/asm/data/world/area_sam/sam_01/D01D90.data.s +++ /dev/null @@ -1,15 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_8024A220_D01D90 -.word 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, GetNpcPos, 0x0000000D, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000028, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000028, 0x00000002, 0xFE363C84, 0xFE363C81, 0x00000028, 0x00000002, 0xFE363C85, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C83, 0x00000003, 0x00000027, 0x00000002, 0xFE363C85, 0x00000005, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFE363C83, 0x00000027, 0x00000002, 0xFE363C81, 0xFE363C84, 0x00000027, 0x00000002, 0xFE363C82, 0xFE363C85, 0x00000043, 0x00000005, SetNpcPos, 0x0000000D, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C86, 0xFE363C80, 0x00000028, 0x00000002, 0xFE363C86, 0x0000000A, 0x00000043, 0x00000005, SetItemPos, 0xFD050F84, 0xFE363C86, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024A380_D01EF0 -.word 0x00000043, 0x00000005, sam_01_GetItemEntityPosition, 0xFD050F84, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000005, 0x00000001, 0x00000006, 0x00000043, 0x00000005, SetItemPos, 0xFD050F84, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000027, 0x00000002, 0xFE363C8C, 0x0000000A, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C82, 0x00000014, 0x00000043, 0x00000005, SetItemPos, 0xFD050F84, 0xFE363C80, 0xFE363C8B, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024A460_D01FD0 -.word 0x00000043, 0x00000004, PlaySoundAtCollider, 0x00000013, 0x000001C1, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x00000050, 0x00000014, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x00000029, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024A510_D02080 -.word 0x00000043, 0x00000005, MakeLerp, 0x00000050, 0x00000000, 0x00000014, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x00000029, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x00000013, 0x000001C2, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, InterruptUsePartner, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000000, 0x00000100, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000002, 0x00000100, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xF246CA1A, 0xF24A7A80, 0xF249C41A, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0xF245CA80, 0xF249A3B4, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24F2A80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000014, 0x00000046, 0x00000001, D_8024A460_D01FD0, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000046, 0x00000001, D_8024A510_D02080, 0x00000057, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000002, 0x00000040, 0x00000001, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0xFFFFFF01, 0x00000000, 0x0000001C, 0x00000043, 0x00000003, SetNpcSpeed, 0x00000002, 0xF24A8280, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00CF0002, 0x00000043, 0x00000005, NpcMoveTo, 0x00000002, 0xFFFFFF01, 0xFFFFFFE2, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00CF0001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000002, 0x00CF0004, 0x00CF0001, 0x00000000, 0x00120005, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFFFFFF01, 0x00000000, 0xFFFFFF6A, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF250BA80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A801A, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFFFFFEE4, 0x00000000, 0xFFFFFF5B, 0x00000043, 0x00000003, InterpPlayerYaw, 0x000000B4, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFFFFFEC0, 0x00000000, 0xFFFFFF42, 0x00000043, 0x00000004, InterpNpcYaw, 0xFFFFFFFC, 0x000000B4, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00CF0002, 0x00000043, 0x00000005, NpcMoveTo, 0x00000002, 0xFFFFFF01, 0xFFFFFFD8, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00080007, 0x00000043, 0x00000005, NpcMoveTo, 0x00000002, 0xFFFFFF01, 0xFFFFFF5B, 0x00000000, 0x00000043, 0x00000003, InterpPlayerYaw, 0x00000000, 0x00000000, 0x00000043, 0x00000004, InterpNpcYaw, 0xFFFFFFFC, 0x00000000, 0x00000000, 0x00000043, 0x00000005, NpcMoveTo, 0x00000002, 0xFFFFFF01, 0xFFFFFF47, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00CF0001, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000002, 0x00000262, 0x00000000, 0x00000043, 0x0000000A, ShowEmote, 0x00000002, 0x00000000, 0x00000000, 0x0000001E, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00CF0002, 0x00000043, 0x00000003, SetNpcSpeed, 0x00000002, 0xF24A7C80, 0x00000043, 0x00000005, NpcMoveTo, 0x00000002, 0xFFFFFF01, 0xFFFFFF38, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00CF0006, 0x00000008, 0x00000001, 0x00000023, 0x00000056, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000079, 0x00000000, 0x00000008, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00CF0009, 0x00000024, 0x00000002, 0xFAA2B580, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000002, 0x00CF0009, 0x00CF0009, 0x00000000, 0x00120006, 0x00000024, 0x00000002, 0xFAA2B580, 0x00000001, 0x00000057, 0x00000000, 0x00000043, 0x00000008, SetMotionBlurParams, 0x00000000, 0x00000000, 0x00000000, 0x00000140, 0x000000F0, 0x00000080, 0x0000000A, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24DC280, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24AA280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF250BA80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24AA280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000006, 0x00000000, 0x00000043, 0x00000008, SetMotionBlurParams, 0x00000000, 0x00000000, 0x00000000, 0x00000140, 0x000000F0, 0x00000000, 0x0000000A, 0x00000003, 0x00000001, 0x00000002, 0x0000000A, 0x00000002, 0xFAA2B580, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000002, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, SetNpcSpeed, 0x00000002, 0xF24A9280, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00CF0003, 0x00000043, 0x00000005, NpcMoveTo, 0x00000002, 0xFFFFFF01, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0xFFFFFF01, 0x00000000, 0x0000003C, 0x00000008, 0x00000001, 0x0000001E, 0x00000024, 0x00000002, 0xFAA2B580, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0001002B, 0x00000008, 0x00000001, 0x0000003C, 0x00000024, 0x00000002, 0xFAA2B580, 0x00000001, 0x00000057, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x00120007, 0x000000A0, 0x00000028, 0x00000003, 0x00000001, 0x00000064, 0x0000000A, 0x00000002, 0xFAA2B580, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000064, 0x00000013, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF253DA80, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24AB680, 0xF24A5A80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A7CE7, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, InterpPlayerYaw, 0x000000B4, 0x00000005, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, InterpPlayerYaw, 0x00000000, 0x00000005, 0x00000008, 0x00000001, 0x0000005A, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, InterpPlayerYaw, 0x000000B4, 0x00000005, 0x00000057, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xF246CA1A, 0xF24A7A80, 0xF249C41A, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0xF245CA80, 0xF249A3B4, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24F2A80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFFFFFECE, 0x00000000, 0xFFFFFF8C, 0x00000043, 0x00000003, SetNpcYaw, 0xFFFFFFFC, 0x00000000, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000002, 0x00CF0009, 0x00CF0009, 0x00000005, 0x00120008, 0x00000008, 0x00000001, 0x00000014, 0x00000046, 0x00000001, D_8024A460_D01FD0, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000046, 0x00000001, D_8024A510_D02080, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFAA2B580, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000003, 0xFFFFFF01, 0x00000000, 0x00000032, 0x00000043, 0x00000003, SetNpcSpeed, 0x00000003, 0xF24A8280, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00D00002, 0x00000043, 0x00000005, NpcMoveTo, 0x00000003, 0xFFFFFF01, 0xFFFFFFB5, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00D00001, 0x00000024, 0x00000002, 0xFAA2B580, 0x00000001, 0x00000057, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0xFFFFFF01, 0x00000000, 0x00000050, 0x00000043, 0x00000003, SetNpcSpeed, 0x00000002, 0xF24A8280, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00CF0002, 0x00000043, 0x00000005, NpcMoveTo, 0x00000002, 0xFFFFFF01, 0xFFFFFFEC, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00CF0001, 0x00000003, 0x00000001, 0x00000005, 0x0000000A, 0x00000002, 0xFAA2B580, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000005, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000002, 0x00CF0008, 0x00CF0007, 0x00000000, 0x00120009, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000003, 0x000000B4, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000003, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFFFFFF01, 0x00000000, 0xFFFFFF6A, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF250BA80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A801A, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000004, PlayerMoveTo, 0xFFFFFEC5, 0xFFFFFF6A, 0x00000014, 0x00000043, 0x00000003, InterpPlayerYaw, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00D00002, 0x00000043, 0x00000005, NpcMoveTo, 0x00000003, 0xFFFFFF01, 0xFFFFFF4C, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00D00001, 0x00000008, 0x00000001, 0x00000014, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFAA2B580, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00CF0002, 0x00000043, 0x00000005, NpcMoveTo, 0x00000002, 0xFFFFFF01, 0xFFFFFFBA, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00CF0001, 0x00000024, 0x00000002, 0xFAA2B580, 0x00000001, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00D00006, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00D00001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000003, 0x00D00004, 0x00D00001, 0x00000000, 0x0012000A, 0x00000003, 0x00000001, 0x00000006, 0x0000000A, 0x00000002, 0xFAA2B580, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000006, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000002, 0x00CF0008, 0x00CF0007, 0x00000000, 0x0012000B, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xF2452880, 0xF24A7A80, 0xF247A7B4, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0xF2433E80, 0xF24D4A80, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0xF2471E80, 0xF247BE80, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24AC080, 0xF24A5A80, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24E6280, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, GetAngleToPlayer, 0x00000003, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000003, 0xFE363C80, 0x00000000, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000003, 0x00000000, 0x00000008, 0x00000001, 0x0000000D, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000003, 0x00D00004, 0x00D00001, 0x00000000, 0x0012000C, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00090000, 0x00000008, 0x00000001, 0x00000023, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000003, 0x00D00004, 0x00D00001, 0x00000000, 0x0012000D, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000002, 0x00CF0008, 0x00CF0007, 0x00000000, 0x0012000E, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00090000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000003, 0x00D00004, 0x00D00001, 0x00000000, 0x0012000F, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010029, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000002, GetCurrentPartnerID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFC, 0x00010008, 0x00010001, 0x00000000, 0x00000003, 0x00120010, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFC, 0x0002000D, 0x00020003, 0x00000000, 0x00000003, 0x00120011, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFC, 0x0003000E, 0x00030003, 0x00000000, 0x00000003, 0x00120012, 0x00000016, 0x00000001, 0x00000004, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFC, 0x00040006, 0x00040001, 0x00000000, 0x00000003, 0x00120013, 0x00000016, 0x00000001, 0x00000009, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFC, 0x00050004, 0x00050001, 0x00000000, 0x00000003, 0x00120014, 0x00000016, 0x00000001, 0x00000006, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFC, 0x00060004, 0x00060001, 0x00000000, 0x00000003, 0x00120015, 0x00000016, 0x00000001, 0x00000007, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFC, 0x00070004, 0x00070001, 0x00000000, 0x00000003, 0x00120016, 0x00000016, 0x00000001, 0x00000008, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFC, 0x00080009, 0x00080001, 0x00000000, 0x00000003, 0x00120017, 0x00000023, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000003, 0x00D00004, 0x00D00001, 0x00000000, 0x00120018, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010029, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000003, 0x00D00005, 0x00D00007, 0x00000000, 0x00120019, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010029, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000003, 0x00D00004, 0x00D00001, 0x00000000, 0x0012001A, 0x00000043, 0x00000005, SetNpcPos, 0x00000009, 0xFFFFFF6A, 0x00000000, 0x00000000, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000009, 0x0000005A, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x0000000A, 0xFFFFFFA6, 0x00000000, 0x00000000, 0x00000043, 0x00000004, InterpNpcYaw, 0x0000000A, 0x0000010E, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x0000000B, 0xFFFFFF88, 0x00000000, 0xFFFFFFE2, 0x00000043, 0x00000004, InterpNpcYaw, 0x0000000B, 0x000000B4, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x0000000C, 0xFFFFFF88, 0x00000000, 0x0000001E, 0x00000043, 0x00000004, InterpNpcYaw, 0x0000000C, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000000, 0x00000100, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000002, 0x00000100, 0x00000000, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000024, 0x00000002, 0xF5DE0180, 0x0000003F, 0x00000024, 0x00000002, 0xF5DE028E, 0x00000000, 0x00000024, 0x00000002, 0xFD050F80, 0x00000000, 0x00000024, 0x00000002, 0xFD050F81, 0x00000000, 0x00000024, 0x00000002, 0xFD050F82, 0x00000000, 0x00000024, 0x00000002, 0xFD050F83, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, GetPartnerInUse, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000001, InterruptUsePartner, 0x00000008, 0x00000001, 0x00000014, 0x00000013, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000102, 0x00000043, 0x00000003, SetNpcSpeed, 0xFFFFFFFC, 0xF24A8680, 0x00000043, 0x00000005, NpcMoveTo, 0xFFFFFFFC, 0xFFFFFEFA, 0xFFFFFF99, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000057, 0x00000000, 0x00000043, 0x00000003, GetAngleToPlayer, 0x00000003, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000003, 0xFE363C80, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000003, 0x00D00004, 0x00D00001, 0x00000000, 0x0012001D, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00080007, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000005, GetNpcPos, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24F2A80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFFFFFF01, 0x00000000, 0xFFFFFF79, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000003, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000003, 0x00D00004, 0x00D00001, 0x00000000, 0x0012001E, 0x00000043, 0x00000005, GetNpcPos, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00D00002, 0x00000043, 0x00000003, SetNpcSpeed, 0x00000003, 0xF24A8280, 0x00000043, 0x00000005, NpcMoveTo, 0x00000003, 0xFE363C80, 0xFE363C82, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00D00001, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00D00006, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00D00001, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000003, 0x00D00004, 0x00D00001, 0x00000005, 0x0012001F, 0x00000043, 0x00000003, GetAngleToPlayer, 0x00000003, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000003, 0xFE363C80, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010029, 0x00000008, 0x00000001, 0x00000014, 0x00000056, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000004, PlayerMoveTo, 0xFE363C80, 0xFE363C82, 0x00000014, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000004, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000102, 0x00000043, 0x00000005, NpcMoveTo, 0xFFFFFFFC, 0xFFFFFECE, 0xFFFFFF8C, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000043, 0x00000004, NpcFaceNpc, 0xFFFFFFFC, 0x00000004, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C82, 0x00000014, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00D00002, 0x00000043, 0x00000003, SetNpcSpeed, 0x00000003, 0xF24A8280, 0x00000043, 0x00000005, NpcMoveTo, 0x00000003, 0xFE363C80, 0xFE363C82, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00D00001, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000003, 0x00D00004, 0x00D00001, 0x00000000, 0x00120020, 0x00000043, 0x00000005, GetNpcPos, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, GetNpcPos, 0x00000003, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x0000002C, 0x00000002, 0xFE363C80, 0xFE363C83, 0x0000002C, 0x00000002, 0xFE363C81, 0xFE363C84, 0x0000002C, 0x00000002, 0xFE363C82, 0xFE363C85, 0x0000002F, 0x00000002, 0xFE363C80, 0xF24A8280, 0x0000002F, 0x00000002, 0xFE363C81, 0xF24A8280, 0x0000002F, 0x00000002, 0xFE363C82, 0xF24A8280, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000004, 0x00D10004, 0x00D10001, 0x00000000, 0x00120021, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0x00000002, 0x00000003, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0x00000004, 0x00000003, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000004, 0xFE363C80, 0x00000000, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000003, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000004, NpcFaceNpc, 0xFFFFFFFC, 0x00000003, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000003, 0x00D00005, 0x00D00007, 0x00000000, 0x00120022, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0x00000002, 0x00000004, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0x00000003, 0x00000004, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000003, 0xFE363C80, 0x00000000, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000004, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000004, NpcFaceNpc, 0xFFFFFFFC, 0x00000004, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000004, 0x00D10004, 0x00D10001, 0x00000000, 0x00120023, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0x00000004, 0x00000002, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000004, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0x00000003, 0x00000002, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000003, 0xFE363C80, 0x00000000, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000002, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000004, NpcFaceNpc, 0xFFFFFFFC, 0x00000002, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000002, 0x00CF0008, 0x00CF0007, 0x00000000, 0x00120024, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24F2A80, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24AC080, 0xF24A6080, 0x00000043, 0x00000004, sam_01_GetLeftRightPoints, 0xFE363C80, 0xFE363C82, 0x0000002D, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0x00000002, 0x00000003, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0x00000004, 0x00000003, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000004, 0xFE363C80, 0x00000000, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000003, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000004, NpcFaceNpc, 0xFFFFFFFC, 0x00000003, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000003, 0x00D00005, 0x00D00007, 0x00000000, 0x00120025, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00CE0006, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000000, 0x000003E4, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00CE0005, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00CE0006, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000000, 0x000003E4, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00CE0005, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00CE0006, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, sam_01_GetLeftRightPoints, 0xFE363C80, 0xFE363C82, 0xFFFFFFA1, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000003, FadeOutMusic, 0x00000000, 0x000001F4, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00CE0006, 0x00CE0006, 0x00000000, 0x00120026, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0x00000003, 0x00000000, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000003, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0x00000002, 0x00000000, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0x00000004, 0x00000000, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000004, 0xFE363C80, 0x00000000, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000000, 0x00000000, 0x00000043, 0x00000004, NpcFaceNpc, 0xFFFFFFFC, 0x00000000, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000000, 0x000003E4, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00CE0005, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00CE0006, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000000, 0x000003E4, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00CE0005, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00CE0006, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000B, 0x00000027, 0x00000002, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0xFFFFFEF2, 0x00000000, 0xFFFFFF33, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000000, 0x00000001, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00CE0007, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00CE0001, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000000, 0x0000032C, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, NpcJump0, 0x00000000, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000007A, 0x00000000, 0x00000008, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00CE0004, 0x00CE0001, 0x00000000, 0x00120027, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000000, 0x000000B4, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00CF000A, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000002, 0xF24A7E80, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, NpcJump0, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000014, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00CF0001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000002, 0x00CF0004, 0x00CF0001, 0x00000000, 0x00120028, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00CE0004, 0x00CE0001, 0x00000000, 0x00120029, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000007, SpeakToNpc, 0x00000003, 0x00D00004, 0x00D00001, 0x00000000, 0x00000000, 0x0012002A, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000007, SpeakToNpc, 0x00000000, 0x00CE0004, 0x00CE0001, 0x00000000, 0x00000003, 0x0012002B, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24EDA80, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00CE000B, 0x00CE0001, 0x00000000, 0x0012002C, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x000000C8, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0x00000003, 0x00000000, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000003, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0x00000004, 0x00000000, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000004, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0x00000002, 0x00000000, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000002, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x0000000D, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcSpeed, 0x00000000, 0xF24A8680, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00CE0002, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000000, 0x00000100, 0x00000001, 0x00000043, 0x00000005, NpcMoveTo, 0x00000000, 0xFFFFFEC0, 0xFFFFFEFE, 0x00000000, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000000, 0x000000B4, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00CE0001, 0x00000008, 0x00000001, 0x0000001E, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000019, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000004, PlayerMoveTo, 0xFE363C80, 0xFE363C82, 0x00000014, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000000, 0x00000000, 0x00000043, 0x00000004, NpcFaceNpc, 0xFFFFFFFC, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000032, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000000, 0x00000000, 0x00000043, 0x00000004, NpcFaceNpc, 0xFFFFFFFC, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000008, 0x00000043, 0x00000005, GetNpcPos, 0x0000000D, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000002C, 0x00000002, 0xFE363C81, 0xF24A7F80, 0x00000043, 0x00000005, SetNpcPos, 0x0000000D, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00CE000A, 0x00000008, 0x00000001, 0x0000001E, 0x00000045, 0x00000002, D_8024A220_D01D90, 0xFE363C8A, 0x00000043, 0x00000005, GetNpcPos, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFE7, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0xF245CA80, 0xF24A7A80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A7BB4, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00CE0008, 0x00000043, 0x00000005, GetNpcPos, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFDD, 0x00000043, 0x00000005, NpcMoveTo, 0x00000000, 0xFE363C80, 0xFE363C82, 0x00000000, 0x00000049, 0x00000001, 0xFE363C8A, 0x00000008, 0x00000001, 0x0000000A, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000005, 0x00000001, 0x00000007, 0x00000043, 0x00000005, GetNpcPos, 0x0000000D, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C82, 0x00000001, 0x00000043, 0x00000005, SetNpcPos, 0x0000000D, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000000, 0x00000100, 0x00000000, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000007, SpeakToNpc, 0x00000000, 0x00CE0004, 0x00CE0001, 0x00000000, 0x00000004, 0x0012002D, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00CE0009, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000005, GetNpcPos, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFFB, 0x00000043, 0x00000005, NpcMoveTo, 0x00000004, 0xFE363C80, 0xFE363C82, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00CE0001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000004, 0x00D10005, 0x00000043, 0x00000007, SpeakToNpc, 0x00000004, 0x00D10007, 0x00D10006, 0x00000000, 0x00000000, 0x0012002E, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000002, 0x00000000, 0x00000000, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000004, 0x00000000, 0x00000000, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000003, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000003, 0x00D00004, 0x00D00001, 0x00000000, 0x0012002F, 0x00000043, 0x00000005, GetNpcPos, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A7BB4, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcSpeed, 0x00000000, 0xF24A8680, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000000, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00CE0002, 0x00000043, 0x00000005, NpcMoveTo, 0x00000000, 0xFFFFFF07, 0xFFFFFF93, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00CE0001, 0x00000005, 0x00000001, 0x00000064, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0x00000000, 0x00000003, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x00000064, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0x00000002, 0x00000003, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000003, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000003, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcSpeed, 0x00000003, 0xF24A8680, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00D00002, 0x00000043, 0x00000005, NpcMoveTo, 0x00000003, 0xFFFFFF2E, 0xFFFFFFB0, 0x00000000, 0x00000043, 0x00000005, NpcMoveTo, 0x00000003, 0xFFFFFF06, 0xFFFFFFF6, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00D00001, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000003, 0x00000100, 0x00000000, 0x00000046, 0x00000001, D_8024A460_D01FD0, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00D00002, 0x00000043, 0x00000005, NpcMoveTo, 0x00000003, 0xFFFFFF06, 0x00000032, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00D00001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00CE0004, 0x00CE0001, 0x00000000, 0x00120030, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000004, 0x00D10007, 0x00D10006, 0x00000000, 0x00120031, 0x00000045, 0x00000002, D_8024A380_D01EF0, 0xFE363C8A, 0x00000043, 0x00000003, SetNpcSpeed, 0x00000004, 0xF24A8680, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000004, 0x00D10008, 0x00000043, 0x00000005, NpcMoveTo, 0x00000004, 0xFFFFFF06, 0x00000032, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000004, 0x00D10006, 0x00000049, 0x00000001, 0xFE363C8A, 0x00000043, 0x00000002, RemoveItemEntity, 0xFD050F84, 0x00000046, 0x00000001, D_8024A510_D02080, 0x00000024, 0x00000002, 0xF5DE0180, 0x00000043, 0x00000044, 0x00000001, 0x80241FB0, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00CE0004, 0x00CE0001, 0x00000005, 0x00120032, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24E6280, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8680, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00CE0004, 0x00CE0001, 0x00000000, 0x00120033, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00080007, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00CE0004, 0x00CE0001, 0x00000000, 0x00120034, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000000, 0x00000100, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000003, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000004, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000004, 0x00000004, 0x00000001, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000004, 0x00000000, 0x00000043, 0x00000003, ResetCam, 0x00000000, 0xF24A8A80, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xFD050F80, 0x00000000, 0x00000024, 0x00000002, 0xFD050F81, 0x00000000, 0x00000024, 0x00000002, 0xFD050F82, 0x00000000, 0x00000024, 0x00000002, 0xFD050F83, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000000, 0x00000040, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000002, 0x00000040, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x0000000D, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_sam/sam_01/D05460.data.s b/ver/us/asm/data/world/area_sam/sam_01/D05460.data.s deleted file mode 100644 index 01268fe821..0000000000 --- a/ver/us/asm/data/world/area_sam/sam_01/D05460.data.s +++ /dev/null @@ -1,15 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel dup_sam_01_varStash -.word 0x00000000 - -dlabel D_8024D8F4_D05464 -.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_8024D95C_D054CC -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C8A, 0x0000000B, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000046, 0x00000001, D_8024D8F4_D05464, 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_8024DA3C_D055AC -.word 0x00000024, 0x00000002, 0xFE363C8A, 0x00000147, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000002, 0x00000024, 0x00000002, 0xF840611B, 0x00000001, 0x00000046, 0x00000001, D_8024D95C_D054CC, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_Chest, 0x0000005F, 0x00000000, 0xFFFFFF4C, 0x0000010E, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignChestFlag, 0xF840611B, 0x00000043, 0x00000002, AssignScript, D_8024DA3C_D055AC, 0x00000043, 0x00000002, SetEntityCullMode, 0x00000001, 0x0000000C, 0x00000002, 0xF5DE0180, 0x00000043, 0x00000043, 0x00000007, MakeItemEntity, 0x0000015D, 0xFFFFFEBB, 0x00000000, 0xFFFFFF10, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFD050F84, 0xFE363C80, 0x00000013, 0x00000000, 0x00000043, 0x00000007, MakeItemEntity, 0x00000031, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFD050F85, 0xFE363C80, 0x00000043, 0x00000008, MakeEntity, Entity_HiddenPanel, 0xFFFFFF92, 0x00000000, 0x00000000, 0x00000000, 0x00000005, 0x80000000, 0x00000043, 0x00000002, AssignPanelFlag, 0xF840611C, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_sam/sam_02/D09AD0.data.s b/ver/us/asm/data/world/area_sam/sam_02/D09AD0.data.s index ed5850e75a..e14ed615ff 100644 --- a/ver/us/asm/data/world/area_sam/sam_02/D09AD0.data.s +++ b/ver/us/asm/data/world/area_sam/sam_02/D09AD0.data.s @@ -141,7 +141,7 @@ dlabel D_802481F0_D0D920 .word 0x00000045, 0x00000002, D_80248024_D0D754, 0xFE363C81, 0x00000008, 0x00000001, 0x0000003C, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000049, 0x00000001, 0xFE363C81, 0x00000046, 0x00000001, D_80248064_D0D794, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_802482A0_D0D9D0 -.word 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xF4ACD481, 0xF4ACD482, 0xF4ACD483, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFF, 0x00000010, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000A, 0x00000012, 0x00000000, 0x0000000A, 0x00000002, 0xF8406267, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080009, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080008, 0x00000024, 0x00000002, 0xF8406267, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, ShowChoice, 0x001E000D, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000C, 0x00000046, 0x00000001, D_80246C54_D0C384, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8406281, 0x00000001, 0x00000043, 0x00000001, sam_02_Quizmo_HideEntities, 0x00000043, 0x00000001, sam_02_Quizmo_HideWorld, 0x00000044, 0x00000001, D_80246D04_D0C434, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000008, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000148, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000008, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000045, 0x00000002, D_8024742C_D0CB5C, 0xFE363C81, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000B, 0x00000043, 0x00000002, PlaySound, 0x00000089, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000001, sam_02_Quizmo_CreateStage, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x002C0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0005, 0x00AF0006, 0x00000000, 0xFE363C80, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010028, 0x00000024, 0x00000002, 0xFE363C80, 0x002D0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000002, PlaySound, 0x0000008E, 0x00000043, 0x00000002, ShowChoice, 0xFE363C80, 0x00000049, 0x00000001, 0xFE363C81, 0x00000043, 0x00000002, StopSound, 0x0000008E, 0x00000044, 0x00000001, D_802474A0_D0CBD0, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, PlaySound, 0x0000008D, 0x00000043, 0x00000002, sam_02_Quizmo_UnkStageEffectMode, 0xFE363C80, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000043, 0x00000001, sam_02_Quizmo_CreateWorker, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000001, sam_02_Quizmo_UpdateRecords, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000006E, 0x00000043, 0x00000001, CloseChoice, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000057, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000008, 0x00AF0007, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, sam_02_Quizmo_SetStageLightsDelay, 0x00000001, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, sam_02_Quizmo_SetStageLightsDelay, 0x00000002, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000057, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000008A, 0x00000043, 0x00000001, sam_02_Quizmo_SetVannaAnim_Clap, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000032, 0x00000043, 0x00000006, sam_02_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x00000053, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFD, 0x00000043, 0x00000006, sam_02_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000003A, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0x0000001E, 0x00000043, 0x00000006, sam_02_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000005D, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000045, 0x00000002, D_80248140_D0D870, 0xFE363C81, 0x00000027, 0x00000002, 0xF5DE02E0, 0x00000001, 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00080010, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000008, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000008, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000003, 0x00000046, 0x00000001, D_80246B64_D0C294, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, sam_02_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, sam_02_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080011, 0x00000012, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000008, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000008, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_80246B64_D0C294, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, sam_02_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, sam_02_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x00000001, 0x00000043, 0x00000003, SetMessageMsg, MessageSingular, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetMessageMsg, MessagePlural, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000F, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000008, 0x00AF0009, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000002, 0x00000043, 0x00000002, PlaySound, 0x0000021D, 0x00000043, 0x00000002, PlaySound, 0x0000008B, 0x00000045, 0x00000002, D_802481F0_D0D920, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x0000000F, PlayEffect, 0x0000002B, 0x00000000, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000D, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000008, 0x00AF000A, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, sam_02_Quizmo_UnkStageEffectMode, 0xFFFFFFFF, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, PlaySound, 0x0000008F, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000002D, 0x00000043, 0x00000002, StopSound, 0x00000089, 0x00000057, 0x00000000, 0x00000043, 0x00000001, sam_02_Quizmo_SetVannaAnim_Wave, 0x00000043, 0x00000001, sam_02_Quizmo_DestroyEffects, 0x00000046, 0x00000001, D_80246C54_D0C384, 0x00000044, 0x00000001, D_80246F9C_D0C6CC, 0x00000043, 0x00000001, sam_02_Quizmo_FadeInWorld, 0x00000043, 0x00000001, sam_02_Quizmo_ShowEntities, 0x00000024, 0x00000002, 0xF8406281, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 +.word 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xF4ACD481, 0xF4ACD482, 0xF4ACD483, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFF, 0x00000010, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000A, 0x00000012, 0x00000000, 0x0000000A, 0x00000002, 0xF8406267, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080009, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080008, 0x00000024, 0x00000002, 0xF8406267, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, ShowChoice, 0x001E000D, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000C, 0x00000046, 0x00000001, D_80246C54_D0C384, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8406281, 0x00000001, 0x00000043, 0x00000001, sam_02_Quizmo_HideEntities, 0x00000043, 0x00000001, sam_02_Quizmo_HideWorld, 0x00000044, 0x00000001, D_80246D04_D0C434, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000008, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000148, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000008, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000045, 0x00000002, D_8024742C_D0CB5C, 0xFE363C81, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000B, 0x00000043, 0x00000002, PlaySound, 0x00000089, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000001, sam_02_Quizmo_CreateStage, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x002C0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0005, 0x00AF0006, 0x00000000, 0xFE363C80, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010028, 0x00000024, 0x00000002, 0xFE363C80, 0x002D0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000002, PlaySound, 0x0000008E, 0x00000043, 0x00000002, ShowChoice, 0xFE363C80, 0x00000049, 0x00000001, 0xFE363C81, 0x00000043, 0x00000002, StopSound, 0x0000008E, 0x00000044, 0x00000001, D_802474A0_D0CBD0, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, PlaySound, 0x0000008D, 0x00000043, 0x00000002, sam_02_Quizmo_UnkStageEffectMode, 0xFE363C80, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000043, 0x00000001, sam_02_Quizmo_CreateWorker, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000001, sam_02_Quizmo_UpdateRecords, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000006E, 0x00000043, 0x00000001, CloseChoice, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000057, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000008, 0x00AF0007, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, sam_02_Quizmo_SetStageLightsDelay, 0x00000001, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, sam_02_Quizmo_SetStageLightsDelay, 0x00000002, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000057, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000008A, 0x00000043, 0x00000001, sam_02_Quizmo_SetVannaAnim_Clap, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000032, 0x00000043, 0x00000006, sam_02_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x00000053, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFD, 0x00000043, 0x00000006, sam_02_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000003A, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0x0000001E, 0x00000043, 0x00000006, sam_02_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000005D, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000045, 0x00000002, D_80248140_D0D870, 0xFE363C81, 0x00000027, 0x00000002, 0xF5DE02E0, 0x00000001, 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00080010, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000008, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000008, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000003, 0x00000046, 0x00000001, D_80246B64_D0C294, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, sam_02_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, sam_02_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080011, 0x00000012, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000008, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000008, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_80246B64_D0C294, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, sam_02_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, sam_02_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x00000001, 0x00000043, 0x00000003, SetMessageText, MessageSingular, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetMessageText, MessagePlural, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000F, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000008, 0x00AF0009, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000002, 0x00000043, 0x00000002, PlaySound, 0x0000021D, 0x00000043, 0x00000002, PlaySound, 0x0000008B, 0x00000045, 0x00000002, D_802481F0_D0D920, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x0000000F, PlayEffect, 0x0000002B, 0x00000000, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000D, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000008, 0x00AF000A, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, sam_02_Quizmo_UnkStageEffectMode, 0xFFFFFFFF, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, PlaySound, 0x0000008F, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000002D, 0x00000043, 0x00000002, StopSound, 0x00000089, 0x00000057, 0x00000000, 0x00000043, 0x00000001, sam_02_Quizmo_SetVannaAnim_Wave, 0x00000043, 0x00000001, sam_02_Quizmo_DestroyEffects, 0x00000046, 0x00000001, D_80246C54_D0C384, 0x00000044, 0x00000001, D_80246F9C_D0C6CC, 0x00000043, 0x00000001, sam_02_Quizmo_FadeInWorld, 0x00000043, 0x00000001, sam_02_Quizmo_ShowEntities, 0x00000024, 0x00000002, 0xF8406281, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_80248FD0_D0E700 .word 0x00000043, 0x00000001, sam_02_Quizmo_ShouldAppear, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x01000000, 0x00000000, 0x00000043, 0x00000003, SetNpcSprite, 0xFFFFFFFF, 0x00AF0001, 0x00000043, 0x00000001, sam_02_Quizmo_RenderInit, 0x00000002, 0x00000000, 0x00000001, 0x00000000 diff --git a/ver/us/asm/data/world/area_sam/sam_09/D369A0.data.s b/ver/us/asm/data/world/area_sam/sam_09/D369A0.data.s index 7ddaf0b8d6..35861945d3 100644 --- a/ver/us/asm/data/world/area_sam/sam_09/D369A0.data.s +++ b/ver/us/asm/data/world/area_sam/sam_09/D369A0.data.s @@ -15,13 +15,13 @@ dlabel D_802407DC_D36ACC .word 0x00000043, 0x00000004, PlaySoundAtCollider, 0xFE363C84, 0x000001DE, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000082, 0x00000000, 0x0000001E, 0x00000002, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateModel, 0xFE363C82, 0x00000000, 0xFE363C80, 0x00000000, 0x00000043, 0x00000002, UpdateColliderTransform, 0xFE363C84, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtCollider, 0xFE363C84, 0x000001EA, 0x00000000, 0x00000043, 0x00000002, GetModelCenter, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C84, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C83, 0x0000001E, 0x00000028, 0x00000002, 0xFE363C84, 0x0000001E, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000003, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000003, 0xFE363C80, 0x00000000, 0xFE363C83, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000003, 0xFE363C80, 0x00000000, 0xFE363C84, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x0000000A, 0xF24A7E80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_802409E4_D36CD4 -.word 0x0000000A, 0x00000002, 0xFD050F80, 0xFFFFFFFF, 0x00000043, 0x00000001, ShowConsumableChoicePopup, 0x00000043, 0x00000001, CloseChoicePopup, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D015E, 0x000000A0, 0x00000028, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFD050F80, 0xFE363C80, 0x00000043, 0x00000001, func_80240158_D36448, 0x00000043, 0x00000003, RemoveItem, 0xFE363C80, 0xFE363C82, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0xFFFFFE7F, 0x0000001E, 0xFFFFFFCE, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFD050F83, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C82, 0x00000013, 0x00000024, 0x00000002, 0xFE363C84, 0x00000011, 0x00000046, 0x00000001, D_80240724_D36A14, 0x00000002, 0x00000000, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xFD050F83, 0x00000043, 0x00000002, func_80240118_D36408, 0xFE363C80, 0x00000043, 0x00000002, sam_09_GetItemName, 0xFE363C80, 0x00000043, 0x00000003, SetMessageMsg, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D015F, 0x000000A0, 0x00000028, 0x00000043, 0x00000002, ShowChoice, 0x001E000D, 0x00000043, 0x00000001, CloseMessage, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000003, AddItem, 0xFD050F80, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D0160, 0x000000A0, 0x00000028, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, func_80240118_D36408, 0xFD050F83, 0x00000043, 0x00000002, RemoveItemEntity, 0xFD050F83, 0x00000024, 0x00000002, 0xFD050F80, 0xFFFFFFFF, 0x00000043, 0x00000001, func_80240158_D36448, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000000, 0x00000040, 0x00000024, 0x00000002, 0xFE363C82, 0x00000013, 0x00000024, 0x00000002, 0xFE363C84, 0x00000011, 0x00000046, 0x00000001, D_802407DC_D36ACC, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 +.word 0x0000000A, 0x00000002, 0xFD050F80, 0xFFFFFFFF, 0x00000043, 0x00000001, ShowConsumableChoicePopup, 0x00000043, 0x00000001, CloseChoicePopup, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D015E, 0x000000A0, 0x00000028, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFD050F80, 0xFE363C80, 0x00000043, 0x00000001, func_80240158_D36448, 0x00000043, 0x00000003, RemoveItem, 0xFE363C80, 0xFE363C82, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0xFFFFFE7F, 0x0000001E, 0xFFFFFFCE, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFD050F83, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C82, 0x00000013, 0x00000024, 0x00000002, 0xFE363C84, 0x00000011, 0x00000046, 0x00000001, D_80240724_D36A14, 0x00000002, 0x00000000, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xFD050F83, 0x00000043, 0x00000002, func_80240118_D36408, 0xFE363C80, 0x00000043, 0x00000002, sam_09_GetItemName, 0xFE363C80, 0x00000043, 0x00000003, SetMessageText, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D015F, 0x000000A0, 0x00000028, 0x00000043, 0x00000002, ShowChoice, 0x001E000D, 0x00000043, 0x00000001, CloseMessage, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000003, AddItem, 0xFD050F80, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D0160, 0x000000A0, 0x00000028, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, func_80240118_D36408, 0xFD050F83, 0x00000043, 0x00000002, RemoveItemEntity, 0xFD050F83, 0x00000024, 0x00000002, 0xFD050F80, 0xFFFFFFFF, 0x00000043, 0x00000001, func_80240158_D36448, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000000, 0x00000040, 0x00000024, 0x00000002, 0xFE363C82, 0x00000013, 0x00000024, 0x00000002, 0xFE363C84, 0x00000011, 0x00000046, 0x00000001, D_802407DC_D36ACC, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_80240C80_D36F70 -.word 0x0000000A, 0x00000002, 0xFD050F81, 0xFFFFFFFF, 0x00000043, 0x00000001, ShowConsumableChoicePopup, 0x00000043, 0x00000001, CloseChoicePopup, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D015E, 0x000000A0, 0x00000028, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFD050F81, 0xFE363C80, 0x00000043, 0x00000001, func_80240158_D36448, 0x00000043, 0x00000003, RemoveItem, 0xFE363C80, 0xFE363C82, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0xFFFFFFDD, 0x0000001E, 0xFFFFFFCE, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFD050F84, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C82, 0x00000015, 0x00000024, 0x00000002, 0xFE363C84, 0x00000013, 0x00000046, 0x00000001, D_80240724_D36A14, 0x00000002, 0x00000000, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xFD050F84, 0x00000043, 0x00000002, func_80240118_D36408, 0xFE363C80, 0x00000043, 0x00000002, sam_09_GetItemName, 0xFE363C80, 0x00000043, 0x00000003, SetMessageMsg, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D015F, 0x000000A0, 0x00000028, 0x00000043, 0x00000002, ShowChoice, 0x001E000D, 0x00000043, 0x00000001, CloseMessage, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000003, AddItem, 0xFD050F81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D0160, 0x000000A0, 0x00000028, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, func_80240118_D36408, 0xFD050F84, 0x00000043, 0x00000002, RemoveItemEntity, 0xFD050F84, 0x00000024, 0x00000002, 0xFD050F81, 0xFFFFFFFF, 0x00000043, 0x00000001, func_80240158_D36448, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000000, 0x00000040, 0x00000024, 0x00000002, 0xFE363C82, 0x00000015, 0x00000024, 0x00000002, 0xFE363C84, 0x00000013, 0x00000046, 0x00000001, D_802407DC_D36ACC, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 +.word 0x0000000A, 0x00000002, 0xFD050F81, 0xFFFFFFFF, 0x00000043, 0x00000001, ShowConsumableChoicePopup, 0x00000043, 0x00000001, CloseChoicePopup, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D015E, 0x000000A0, 0x00000028, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFD050F81, 0xFE363C80, 0x00000043, 0x00000001, func_80240158_D36448, 0x00000043, 0x00000003, RemoveItem, 0xFE363C80, 0xFE363C82, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0xFFFFFFDD, 0x0000001E, 0xFFFFFFCE, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFD050F84, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C82, 0x00000015, 0x00000024, 0x00000002, 0xFE363C84, 0x00000013, 0x00000046, 0x00000001, D_80240724_D36A14, 0x00000002, 0x00000000, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xFD050F84, 0x00000043, 0x00000002, func_80240118_D36408, 0xFE363C80, 0x00000043, 0x00000002, sam_09_GetItemName, 0xFE363C80, 0x00000043, 0x00000003, SetMessageText, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D015F, 0x000000A0, 0x00000028, 0x00000043, 0x00000002, ShowChoice, 0x001E000D, 0x00000043, 0x00000001, CloseMessage, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000003, AddItem, 0xFD050F81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D0160, 0x000000A0, 0x00000028, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, func_80240118_D36408, 0xFD050F84, 0x00000043, 0x00000002, RemoveItemEntity, 0xFD050F84, 0x00000024, 0x00000002, 0xFD050F81, 0xFFFFFFFF, 0x00000043, 0x00000001, func_80240158_D36448, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000000, 0x00000040, 0x00000024, 0x00000002, 0xFE363C82, 0x00000015, 0x00000024, 0x00000002, 0xFE363C84, 0x00000013, 0x00000046, 0x00000001, D_802407DC_D36ACC, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_80240F1C_D3720C -.word 0x0000000A, 0x00000002, 0xFD050F82, 0xFFFFFFFF, 0x00000043, 0x00000001, ShowConsumableChoicePopup, 0x00000043, 0x00000001, CloseChoicePopup, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D015E, 0x000000A0, 0x00000028, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFD050F82, 0xFE363C80, 0x00000043, 0x00000001, func_80240158_D36448, 0x00000043, 0x00000003, RemoveItem, 0xFE363C80, 0xFE363C82, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0x00000109, 0x0000001E, 0xFFFFFFCE, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFD050F85, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C82, 0x00000017, 0x00000024, 0x00000002, 0xFE363C84, 0x00000015, 0x00000046, 0x00000001, D_80240724_D36A14, 0x00000002, 0x00000000, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xFD050F85, 0x00000043, 0x00000002, func_80240118_D36408, 0xFE363C80, 0x00000043, 0x00000002, sam_09_GetItemName, 0xFE363C80, 0x00000043, 0x00000003, SetMessageMsg, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D015F, 0x000000A0, 0x00000028, 0x00000043, 0x00000002, ShowChoice, 0x001E000D, 0x00000043, 0x00000001, CloseMessage, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000003, AddItem, 0xFD050F82, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D0160, 0x000000A0, 0x00000028, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, func_80240118_D36408, 0xFD050F85, 0x00000043, 0x00000002, RemoveItemEntity, 0xFD050F85, 0x00000024, 0x00000002, 0xFD050F82, 0xFFFFFFFF, 0x00000043, 0x00000001, func_80240158_D36448, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000000, 0x00000040, 0x00000024, 0x00000002, 0xFE363C82, 0x00000017, 0x00000024, 0x00000002, 0xFE363C84, 0x00000015, 0x00000046, 0x00000001, D_802407DC_D36ACC, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 +.word 0x0000000A, 0x00000002, 0xFD050F82, 0xFFFFFFFF, 0x00000043, 0x00000001, ShowConsumableChoicePopup, 0x00000043, 0x00000001, CloseChoicePopup, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D015E, 0x000000A0, 0x00000028, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFD050F82, 0xFE363C80, 0x00000043, 0x00000001, func_80240158_D36448, 0x00000043, 0x00000003, RemoveItem, 0xFE363C80, 0xFE363C82, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0x00000109, 0x0000001E, 0xFFFFFFCE, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFD050F85, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C82, 0x00000017, 0x00000024, 0x00000002, 0xFE363C84, 0x00000015, 0x00000046, 0x00000001, D_80240724_D36A14, 0x00000002, 0x00000000, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xFD050F85, 0x00000043, 0x00000002, func_80240118_D36408, 0xFE363C80, 0x00000043, 0x00000002, sam_09_GetItemName, 0xFE363C80, 0x00000043, 0x00000003, SetMessageText, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D015F, 0x000000A0, 0x00000028, 0x00000043, 0x00000002, ShowChoice, 0x001E000D, 0x00000043, 0x00000001, CloseMessage, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000003, AddItem, 0xFD050F82, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D0160, 0x000000A0, 0x00000028, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, func_80240118_D36408, 0xFD050F85, 0x00000043, 0x00000002, RemoveItemEntity, 0xFD050F85, 0x00000024, 0x00000002, 0xFD050F82, 0xFFFFFFFF, 0x00000043, 0x00000001, func_80240158_D36448, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000000, 0x00000040, 0x00000024, 0x00000002, 0xFE363C82, 0x00000017, 0x00000024, 0x00000002, 0xFE363C84, 0x00000015, 0x00000046, 0x00000001, D_802407DC_D36ACC, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_802411B8_D374A8 .word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetPlayerActionState, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x0000000C, 0x00000002, 0xFE363C81, 0xFFFFFF6A, 0x00000046, 0x00000001, D_802409E4_D36CD4, 0x00000012, 0x00000000, 0x0000000C, 0x00000002, 0xFE363C81, 0x00000064, 0x00000046, 0x00000001, D_80240C80_D36F70, 0x00000012, 0x00000000, 0x00000046, 0x00000001, D_80240F1C_D3720C, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, ParentColliderToModel, 0x00000011, 0x00000013, 0x00000043, 0x00000003, ParentColliderToModel, 0x00000013, 0x00000015, 0x00000043, 0x00000003, ParentColliderToModel, 0x00000015, 0x00000017, 0x0000000A, 0x00000002, 0xF8406134, 0x00000000, 0x00000024, 0x00000002, 0xF8406134, 0x00000001, 0x00000024, 0x00000002, 0xFD050F80, 0x00000083, 0x00000024, 0x00000002, 0xFD050F81, 0x00000081, 0x00000024, 0x00000002, 0xFD050F82, 0x00000082, 0x00000043, 0x00000001, func_80240158_D36448, 0x00000013, 0x00000000, 0x00000043, 0x00000001, func_80240264_D36554, 0x0000000B, 0x00000002, 0xFD050F80, 0xFFFFFFFF, 0x00000043, 0x00000005, TranslateModel, 0x00000013, 0x00000000, 0x00000082, 0x00000000, 0x00000043, 0x00000002, UpdateColliderTransform, 0x00000011, 0x00000043, 0x00000007, MakeItemEntity, 0xFD050F80, 0xFFFFFE7F, 0x0000001E, 0xFFFFFFCE, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFD050F83, 0xFE363C80, 0x00000013, 0x00000000, 0x0000000B, 0x00000002, 0xFD050F81, 0xFFFFFFFF, 0x00000043, 0x00000005, TranslateModel, 0x00000015, 0x00000000, 0x00000082, 0x00000000, 0x00000043, 0x00000002, UpdateColliderTransform, 0x00000013, 0x00000043, 0x00000007, MakeItemEntity, 0xFD050F81, 0xFFFFFFDD, 0x0000001E, 0xFFFFFFCE, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFD050F84, 0xFE363C80, 0x00000013, 0x00000000, 0x0000000B, 0x00000002, 0xFD050F82, 0xFFFFFFFF, 0x00000043, 0x00000005, TranslateModel, 0x00000017, 0x00000000, 0x00000082, 0x00000000, 0x00000043, 0x00000002, UpdateColliderTransform, 0x00000015, 0x00000043, 0x00000007, MakeItemEntity, 0xFD050F82, 0x00000109, 0x0000001E, 0xFFFFFFCE, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFD050F85, 0xFE363C80, 0x00000013, 0x00000000, 0x00000043, 0x00000001, func_802403A0_D36690, 0x0000004E, 0x00000006, D_802411B8_D374A8, 0x00000100, 0x00000004, 0xFE363C80, 0x00000000, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 diff --git a/ver/us/asm/data/world/area_sam/sam_11/D3D900.data.s b/ver/us/asm/data/world/area_sam/sam_11/D3D900.data.s index 6d62636ebd..7c255ffcda 100644 --- a/ver/us/asm/data/world/area_sam/sam_11/D3D900.data.s +++ b/ver/us/asm/data/world/area_sam/sam_11/D3D900.data.s @@ -168,7 +168,7 @@ dlabel D_80246608_D40BD8 .word 0x00000045, 0x00000002, D_8024643C_D40A0C, 0xFE363C81, 0x00000008, 0x00000001, 0x0000003C, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000049, 0x00000001, 0xFE363C81, 0x00000046, 0x00000001, D_8024647C_D40A4C, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_802466B8_D40C88 -.word 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xF4ACD481, 0xF4ACD482, 0xF4ACD483, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFF, 0x00000010, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000A, 0x00000012, 0x00000000, 0x0000000A, 0x00000002, 0xF8406267, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080009, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080008, 0x00000024, 0x00000002, 0xF8406267, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, ShowChoice, 0x001E000D, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000C, 0x00000046, 0x00000001, D_8024506C_D3F63C, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8406281, 0x00000001, 0x00000043, 0x00000001, sam_11_Quizmo_HideEntities, 0x00000043, 0x00000001, sam_11_Quizmo_HideWorld, 0x00000044, 0x00000001, D_8024511C_D3F6EC, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000011, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000148, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000011, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000045, 0x00000002, D_80245844_D3FE14, 0xFE363C81, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000B, 0x00000043, 0x00000002, PlaySound, 0x00000089, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000001, sam_11_Quizmo_CreateStage, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x002C0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0005, 0x00AF0006, 0x00000000, 0xFE363C80, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010028, 0x00000024, 0x00000002, 0xFE363C80, 0x002D0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000002, PlaySound, 0x0000008E, 0x00000043, 0x00000002, ShowChoice, 0xFE363C80, 0x00000049, 0x00000001, 0xFE363C81, 0x00000043, 0x00000002, StopSound, 0x0000008E, 0x00000044, 0x00000001, D_802458B8_D3FE88, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, PlaySound, 0x0000008D, 0x00000043, 0x00000002, sam_11_Quizmo_UnkStageEffectMode, 0xFE363C80, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000043, 0x00000001, sam_11_Quizmo_CreateWorker, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000001, sam_11_Quizmo_UpdateRecords, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000006E, 0x00000043, 0x00000001, CloseChoice, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000057, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF0007, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, sam_11_Quizmo_SetStageLightsDelay, 0x00000001, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, sam_11_Quizmo_SetStageLightsDelay, 0x00000002, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000057, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000008A, 0x00000043, 0x00000001, sam_11_Quizmo_SetVannaAnim_Clap, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000032, 0x00000043, 0x00000006, sam_11_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x00000053, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFD, 0x00000043, 0x00000006, sam_11_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000003A, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0x0000001E, 0x00000043, 0x00000006, sam_11_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000005D, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000045, 0x00000002, D_80246558_D40B28, 0xFE363C81, 0x00000027, 0x00000002, 0xF5DE02E0, 0x00000001, 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00080010, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000003, 0x00000046, 0x00000001, D_80244F7C_D3F54C, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, sam_11_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, sam_11_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080011, 0x00000012, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_80244F7C_D3F54C, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, sam_11_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, sam_11_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x00000001, 0x00000043, 0x00000003, SetMessageMsg, MessageSingular, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetMessageMsg, MessagePlural, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000F, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF0009, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000002, 0x00000043, 0x00000002, PlaySound, 0x0000021D, 0x00000043, 0x00000002, PlaySound, 0x0000008B, 0x00000045, 0x00000002, D_80246608_D40BD8, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x0000000F, PlayEffect, 0x0000002B, 0x00000000, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000D, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF000A, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, sam_11_Quizmo_UnkStageEffectMode, 0xFFFFFFFF, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, PlaySound, 0x0000008F, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000002D, 0x00000043, 0x00000002, StopSound, 0x00000089, 0x00000057, 0x00000000, 0x00000043, 0x00000001, sam_11_Quizmo_SetVannaAnim_Wave, 0x00000043, 0x00000001, sam_11_Quizmo_DestroyEffects, 0x00000046, 0x00000001, D_8024506C_D3F63C, 0x00000044, 0x00000001, D_802453B4_D3F984, 0x00000043, 0x00000001, sam_11_Quizmo_FadeInWorld, 0x00000043, 0x00000001, sam_11_Quizmo_ShowEntities, 0x00000024, 0x00000002, 0xF8406281, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 +.word 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xF4ACD481, 0xF4ACD482, 0xF4ACD483, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFF, 0x00000010, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000A, 0x00000012, 0x00000000, 0x0000000A, 0x00000002, 0xF8406267, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080009, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080008, 0x00000024, 0x00000002, 0xF8406267, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, ShowChoice, 0x001E000D, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000C, 0x00000046, 0x00000001, D_8024506C_D3F63C, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8406281, 0x00000001, 0x00000043, 0x00000001, sam_11_Quizmo_HideEntities, 0x00000043, 0x00000001, sam_11_Quizmo_HideWorld, 0x00000044, 0x00000001, D_8024511C_D3F6EC, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000011, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000148, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000011, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000045, 0x00000002, D_80245844_D3FE14, 0xFE363C81, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000B, 0x00000043, 0x00000002, PlaySound, 0x00000089, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000001, sam_11_Quizmo_CreateStage, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x002C0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0005, 0x00AF0006, 0x00000000, 0xFE363C80, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010028, 0x00000024, 0x00000002, 0xFE363C80, 0x002D0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000002, PlaySound, 0x0000008E, 0x00000043, 0x00000002, ShowChoice, 0xFE363C80, 0x00000049, 0x00000001, 0xFE363C81, 0x00000043, 0x00000002, StopSound, 0x0000008E, 0x00000044, 0x00000001, D_802458B8_D3FE88, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, PlaySound, 0x0000008D, 0x00000043, 0x00000002, sam_11_Quizmo_UnkStageEffectMode, 0xFE363C80, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000043, 0x00000001, sam_11_Quizmo_CreateWorker, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000001, sam_11_Quizmo_UpdateRecords, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000006E, 0x00000043, 0x00000001, CloseChoice, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000057, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF0007, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, sam_11_Quizmo_SetStageLightsDelay, 0x00000001, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, sam_11_Quizmo_SetStageLightsDelay, 0x00000002, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000057, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000008A, 0x00000043, 0x00000001, sam_11_Quizmo_SetVannaAnim_Clap, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000032, 0x00000043, 0x00000006, sam_11_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x00000053, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFD, 0x00000043, 0x00000006, sam_11_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000003A, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0x0000001E, 0x00000043, 0x00000006, sam_11_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000005D, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000045, 0x00000002, D_80246558_D40B28, 0xFE363C81, 0x00000027, 0x00000002, 0xF5DE02E0, 0x00000001, 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00080010, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000003, 0x00000046, 0x00000001, D_80244F7C_D3F54C, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, sam_11_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, sam_11_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080011, 0x00000012, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_80244F7C_D3F54C, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, sam_11_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, sam_11_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x00000001, 0x00000043, 0x00000003, SetMessageText, MessageSingular, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetMessageText, MessagePlural, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000F, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF0009, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000002, 0x00000043, 0x00000002, PlaySound, 0x0000021D, 0x00000043, 0x00000002, PlaySound, 0x0000008B, 0x00000045, 0x00000002, D_80246608_D40BD8, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x0000000F, PlayEffect, 0x0000002B, 0x00000000, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000D, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00AF000A, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, sam_11_Quizmo_UnkStageEffectMode, 0xFFFFFFFF, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, PlaySound, 0x0000008F, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000002D, 0x00000043, 0x00000002, StopSound, 0x00000089, 0x00000057, 0x00000000, 0x00000043, 0x00000001, sam_11_Quizmo_SetVannaAnim_Wave, 0x00000043, 0x00000001, sam_11_Quizmo_DestroyEffects, 0x00000046, 0x00000001, D_8024506C_D3F63C, 0x00000044, 0x00000001, D_802453B4_D3F984, 0x00000043, 0x00000001, sam_11_Quizmo_FadeInWorld, 0x00000043, 0x00000001, sam_11_Quizmo_ShowEntities, 0x00000024, 0x00000002, 0xF8406281, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_802473E8_D419B8 .word 0x00000043, 0x00000001, sam_11_Quizmo_ShouldAppear, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x01000000, 0x00000000, 0x00000043, 0x00000003, SetNpcSprite, 0xFFFFFFFF, 0x00AF0001, 0x00000043, 0x00000001, sam_11_Quizmo_RenderInit, 0x00000002, 0x00000000, 0x00000001, 0x00000000 diff --git a/ver/us/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_802428C8_A2CB08.s b/ver/us/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_802428C8_A2CB08.s index adcaad0b2e..86946a3016 100644 --- a/ver/us/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_802428C8_A2CB08.s +++ b/ver/us/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_802428C8_A2CB08.s @@ -76,8 +76,8 @@ glabel func_802428C8_A2CB08 /* A2CBB4 80242974 00400008 */ jr $v0 /* A2CBB8 80242978 00000000 */ nop .L8024297C_A2CBBC: -/* A2CBBC 8024297C 3C108025 */ lui $s0, %hi(D_8024F3F8) -/* A2CBC0 80242980 2610F3F8 */ addiu $s0, $s0, %lo(D_8024F3F8) +/* A2CBBC 8024297C 3C108025 */ lui $s0, %hi(hos_05_D_8024F3F8) +/* A2CBC0 80242980 2610F3F8 */ addiu $s0, $s0, %lo(hos_05_D_8024F3F8) /* A2CBC4 80242984 0200902D */ daddu $s2, $s0, $zero /* A2CBC8 80242988 2415001E */ addiu $s5, $zero, 0x1e /* A2CBCC 8024298C 8E22000C */ lw $v0, 0xc($s1) @@ -106,8 +106,8 @@ glabel func_802428C8_A2CB08 /* A2CC24 802429E4 08090B41 */ j .L80242D04 /* A2CC28 802429E8 4600A521 */ cvt.d.s $f20, $f20 .L802429EC_A2CC2C: -/* A2CC2C 802429EC 3C108025 */ lui $s0, %hi(hos_05_8024F420) -/* A2CC30 802429F0 2610F420 */ addiu $s0, $s0, %lo(hos_05_8024F420) +/* A2CC2C 802429EC 3C108025 */ lui $s0, %hi(hos_05_D_8024F420) +/* A2CC30 802429F0 2610F420 */ addiu $s0, $s0, %lo(hos_05_D_8024F420) /* A2CC34 802429F4 0200902D */ daddu $s2, $s0, $zero /* A2CC38 802429F8 2415001E */ addiu $s5, $zero, 0x1e /* A2CC3C 802429FC 8E22000C */ lw $v0, 0xc($s1) @@ -136,8 +136,8 @@ glabel func_802428C8_A2CB08 /* A2CC94 80242A54 08090B41 */ j .L80242D04 /* A2CC98 80242A58 4600A521 */ cvt.d.s $f20, $f20 .L80242A5C_A2CC9C: -/* A2CC9C 80242A5C 3C108025 */ lui $s0, %hi(D_8024F448) -/* A2CCA0 80242A60 2610F448 */ addiu $s0, $s0, %lo(D_8024F448) +/* A2CC9C 80242A5C 3C108025 */ lui $s0, %hi(hos_05_D_8024F448) +/* A2CCA0 80242A60 2610F448 */ addiu $s0, $s0, %lo(hos_05_D_8024F448) /* A2CCA4 80242A64 0200902D */ daddu $s2, $s0, $zero /* A2CCA8 80242A68 2415001E */ addiu $s5, $zero, 0x1e /* A2CCAC 80242A6C 8E22000C */ lw $v0, 0xc($s1) @@ -166,8 +166,8 @@ glabel func_802428C8_A2CB08 /* A2CD04 80242AC4 08090B41 */ j .L80242D04 /* A2CD08 80242AC8 4600A521 */ cvt.d.s $f20, $f20 .L80242ACC_A2CD0C: -/* A2CD0C 80242ACC 3C108025 */ lui $s0, %hi(D_8024F470_hos_bss) -/* A2CD10 80242AD0 2610F470 */ addiu $s0, $s0, %lo(D_8024F470_hos_bss) +/* A2CD0C 80242ACC 3C108025 */ lui $s0, %hi(hos_05_D_8024F470) +/* A2CD10 80242AD0 2610F470 */ addiu $s0, $s0, %lo(hos_05_D_8024F470) /* A2CD14 80242AD4 8E22000C */ lw $v0, 0xc($s1) /* A2CD18 80242AD8 2415001E */ addiu $s5, $zero, 0x1e /* A2CD1C 80242ADC 8C420014 */ lw $v0, 0x14($v0) @@ -227,8 +227,8 @@ glabel func_802428C8_A2CB08 /* A2CDF0 80242BB0 08090B60 */ j .L80242D80 /* A2CDF4 80242BB4 24140003 */ addiu $s4, $zero, 3 .L80242BB8_A2CDF8: -/* A2CDF8 80242BB8 3C108025 */ lui $s0, %hi(D_8024F498) -/* A2CDFC 80242BBC 2610F498 */ addiu $s0, $s0, %lo(D_8024F498) +/* A2CDF8 80242BB8 3C108025 */ lui $s0, %hi(hos_05_D_8024F498) +/* A2CDFC 80242BBC 2610F498 */ addiu $s0, $s0, %lo(hos_05_D_8024F498) /* A2CE00 80242BC0 0200902D */ daddu $s2, $s0, $zero /* A2CE04 80242BC4 2415001E */ addiu $s5, $zero, 0x1e /* A2CE08 80242BC8 8E22000C */ lw $v0, 0xc($s1) @@ -287,8 +287,8 @@ glabel func_802428C8_A2CB08 /* A2CED0 80242C90 08090B41 */ j .L80242D04 /* A2CED4 80242C94 4600A521 */ cvt.d.s $f20, $f20 .L80242C98: -/* A2CED8 80242C98 3C108025 */ lui $s0, %hi(D_8024F4E8) -/* A2CEDC 80242C9C 2610F4E8 */ addiu $s0, $s0, %lo(D_8024F4E8) +/* A2CED8 80242C98 3C108025 */ lui $s0, %hi(hos_05_D_8024F4E8) +/* A2CEDC 80242C9C 2610F4E8 */ addiu $s0, $s0, %lo(hos_05_D_8024F4E8) /* A2CEE0 80242CA0 0200902D */ daddu $s2, $s0, $zero /* A2CEE4 80242CA4 2415001E */ addiu $s5, $zero, 0x1e /* A2CEE8 80242CA8 8C82000C */ lw $v0, 0xc($a0) diff --git a/ver/us/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80244550_A2E790.s b/ver/us/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80244550_A2E790.s index 72dbe72098..9a06629f22 100644 --- a/ver/us/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80244550_A2E790.s +++ b/ver/us/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80244550_A2E790.s @@ -26,21 +26,21 @@ glabel func_80244550_A2E790 /* A2E7E4 802445A4 1200002B */ beqz $s0, .L80244654 /* A2E7E8 802445A8 0040A82D */ daddu $s5, $v0, $zero /* A2E7EC 802445AC 0000802D */ daddu $s0, $zero, $zero -/* A2E7F0 802445B0 3C138025 */ lui $s3, %hi(D_8024F358) -/* A2E7F4 802445B4 2673F358 */ addiu $s3, $s3, %lo(D_8024F358) -/* A2E7F8 802445B8 3C128025 */ lui $s2, %hi(D_8024F338) -/* A2E7FC 802445BC 2652F338 */ addiu $s2, $s2, %lo(D_8024F338) +/* A2E7F0 802445B0 3C138025 */ lui $s3, %hi(hos_05_StarSpiritsPosZ) +/* A2E7F4 802445B4 2673F358 */ addiu $s3, $s3, %lo(hos_05_StarSpiritsPosZ) +/* A2E7F8 802445B8 3C128025 */ lui $s2, %hi(hos_05_StarSpiritsPosY) +/* A2E7FC 802445BC 2652F338 */ addiu $s2, $s2, %lo(hos_05_StarSpiritsPosY) /* A2E800 802445C0 C6800038 */ lwc1 $f0, 0x38($s4) /* A2E804 802445C4 C682003C */ lwc1 $f2, 0x3c($s4) /* A2E808 802445C8 C6840040 */ lwc1 $f4, 0x40($s4) -/* A2E80C 802445CC 3C118025 */ lui $s1, %hi(D_8024F318) -/* A2E810 802445D0 2631F318 */ addiu $s1, $s1, %lo(D_8024F318) -/* A2E814 802445D4 3C018025 */ lui $at, %hi(D_8024F2FC) -/* A2E818 802445D8 E420F2FC */ swc1 $f0, %lo(D_8024F2FC)($at) -/* A2E81C 802445DC 3C018025 */ lui $at, %hi(D_8024F300) -/* A2E820 802445E0 E422F300 */ swc1 $f2, %lo(D_8024F300)($at) -/* A2E824 802445E4 3C018025 */ lui $at, %hi(D_8024F304) -/* A2E828 802445E8 E424F304 */ swc1 $f4, %lo(D_8024F304)($at) +/* A2E80C 802445CC 3C118025 */ lui $s1, %hi(hos_05_StarSpiritsPosX) +/* A2E810 802445D0 2631F318 */ addiu $s1, $s1, %lo(hos_05_StarSpiritsPosX) +/* A2E814 802445D4 3C018025 */ lui $at, %hi(hos_05_D_8024F2FC) +/* A2E818 802445D8 E420F2FC */ swc1 $f0, %lo(hos_05_D_8024F2FC)($at) +/* A2E81C 802445DC 3C018025 */ lui $at, %hi(hos_05_D_8024F300) +/* A2E820 802445E0 E422F300 */ swc1 $f2, %lo(hos_05_D_8024F300)($at) +/* A2E824 802445E4 3C018025 */ lui $at, %hi(hos_05_D_8024F304) +/* A2E828 802445E8 E424F304 */ swc1 $f4, %lo(hos_05_D_8024F304)($at) .L802445EC: /* A2E82C 802445EC 02C0202D */ daddu $a0, $s6, $zero /* A2E830 802445F0 0C0B36B0 */ jal resolve_npc @@ -62,31 +62,31 @@ glabel func_80244550_A2E790 /* A2E870 80244630 C4440004 */ lwc1 $f4, 4($v0) /* A2E874 80244634 C4400008 */ lwc1 $f0, 8($v0) /* A2E878 80244638 C462000C */ lwc1 $f2, 0xc($v1) -/* A2E87C 8024463C 3C018025 */ lui $at, %hi(D_8024F308) -/* A2E880 80244640 E424F308 */ swc1 $f4, %lo(D_8024F308)($at) -/* A2E884 80244644 3C018025 */ lui $at, %hi(D_8024F30C) -/* A2E888 80244648 E420F30C */ swc1 $f0, %lo(D_8024F30C)($at) -/* A2E88C 8024464C 3C018025 */ lui $at, %hi(D_8024F310) -/* A2E890 80244650 E422F310 */ swc1 $f2, %lo(D_8024F310)($at) +/* A2E87C 8024463C 3C018025 */ lui $at, %hi(hos_05_D_8024F308) +/* A2E880 80244640 E424F308 */ swc1 $f4, %lo(hos_05_D_8024F308)($at) +/* A2E884 80244644 3C018025 */ lui $at, %hi(hos_05_D_8024F30C) +/* A2E888 80244648 E420F30C */ swc1 $f0, %lo(hos_05_D_8024F30C)($at) +/* A2E88C 8024464C 3C018025 */ lui $at, %hi(hos_05_D_8024F310) +/* A2E890 80244650 E422F310 */ swc1 $f2, %lo(hos_05_D_8024F310)($at) .L80244654: /* A2E894 80244654 0000802D */ daddu $s0, $zero, $zero /* A2E898 80244658 C6820038 */ lwc1 $f2, 0x38($s4) -/* A2E89C 8024465C 3C018025 */ lui $at, %hi(D_8024F2FC) -/* A2E8A0 80244660 C420F2FC */ lwc1 $f0, %lo(D_8024F2FC)($at) -/* A2E8A4 80244664 3C138025 */ lui $s3, %hi(D_8024F358) -/* A2E8A8 80244668 2673F358 */ addiu $s3, $s3, %lo(D_8024F358) +/* A2E89C 8024465C 3C018025 */ lui $at, %hi(hos_05_D_8024F2FC) +/* A2E8A0 80244660 C420F2FC */ lwc1 $f0, %lo(hos_05_D_8024F2FC)($at) +/* A2E8A4 80244664 3C138025 */ lui $s3, %hi(hos_05_StarSpiritsPosZ) +/* A2E8A8 80244668 2673F358 */ addiu $s3, $s3, %lo(hos_05_StarSpiritsPosZ) /* A2E8AC 8024466C 46001501 */ sub.s $f20, $f2, $f0 /* A2E8B0 80244670 C682003C */ lwc1 $f2, 0x3c($s4) -/* A2E8B4 80244674 3C018025 */ lui $at, %hi(D_8024F300) -/* A2E8B8 80244678 C420F300 */ lwc1 $f0, %lo(D_8024F300)($at) -/* A2E8BC 8024467C 3C128025 */ lui $s2, %hi(D_8024F338) -/* A2E8C0 80244680 2652F338 */ addiu $s2, $s2, %lo(D_8024F338) +/* A2E8B4 80244674 3C018025 */ lui $at, %hi(hos_05_D_8024F300) +/* A2E8B8 80244678 C420F300 */ lwc1 $f0, %lo(hos_05_D_8024F300)($at) +/* A2E8BC 8024467C 3C128025 */ lui $s2, %hi(hos_05_StarSpiritsPosY) +/* A2E8C0 80244680 2652F338 */ addiu $s2, $s2, %lo(hos_05_StarSpiritsPosY) /* A2E8C4 80244684 46001581 */ sub.s $f22, $f2, $f0 /* A2E8C8 80244688 C6820040 */ lwc1 $f2, 0x40($s4) -/* A2E8CC 8024468C 3C018025 */ lui $at, %hi(D_8024F304) -/* A2E8D0 80244690 C420F304 */ lwc1 $f0, %lo(D_8024F304)($at) -/* A2E8D4 80244694 3C118025 */ lui $s1, %hi(D_8024F318) -/* A2E8D8 80244698 2631F318 */ addiu $s1, $s1, %lo(D_8024F318) +/* A2E8CC 8024468C 3C018025 */ lui $at, %hi(hos_05_D_8024F304) +/* A2E8D0 80244690 C420F304 */ lwc1 $f0, %lo(hos_05_D_8024F304)($at) +/* A2E8D4 80244694 3C118025 */ lui $s1, %hi(hos_05_StarSpiritsPosX) +/* A2E8D8 80244698 2631F318 */ addiu $s1, $s1, %lo(hos_05_StarSpiritsPosX) /* A2E8DC 8024469C 46001601 */ sub.s $f24, $f2, $f0 .L802446A0: /* A2E8E0 802446A0 02C0202D */ daddu $a0, $s6, $zero @@ -113,16 +113,16 @@ glabel func_80244550_A2E790 /* A2E934 802446F4 2A020007 */ slti $v0, $s0, 7 /* A2E938 802446F8 1440FFE9 */ bnez $v0, .L802446A0 /* A2E93C 802446FC 26730004 */ addiu $s3, $s3, 4 -/* A2E940 80244700 3C018025 */ lui $at, %hi(D_8024F308) -/* A2E944 80244704 C420F308 */ lwc1 $f0, %lo(D_8024F308)($at) +/* A2E940 80244700 3C018025 */ lui $at, %hi(hos_05_D_8024F308) +/* A2E944 80244704 C420F308 */ lwc1 $f0, %lo(hos_05_D_8024F308)($at) /* A2E948 80244708 46140000 */ add.s $f0, $f0, $f20 -/* A2E94C 8024470C 3C018025 */ lui $at, %hi(D_8024F30C) -/* A2E950 80244710 C422F30C */ lwc1 $f2, %lo(D_8024F30C)($at) +/* A2E94C 8024470C 3C018025 */ lui $at, %hi(hos_05_D_8024F30C) +/* A2E950 80244710 C422F30C */ lwc1 $f2, %lo(hos_05_D_8024F30C)($at) /* A2E954 80244714 8EA2000C */ lw $v0, 0xc($s5) /* A2E958 80244718 46161080 */ add.s $f2, $f2, $f22 /* A2E95C 8024471C E4400004 */ swc1 $f0, 4($v0) -/* A2E960 80244720 3C018025 */ lui $at, %hi(D_8024F310) -/* A2E964 80244724 C420F310 */ lwc1 $f0, %lo(D_8024F310)($at) +/* A2E960 80244720 3C018025 */ lui $at, %hi(hos_05_D_8024F310) +/* A2E964 80244724 C420F310 */ lwc1 $f0, %lo(hos_05_D_8024F310)($at) /* A2E968 80244728 8EA2000C */ lw $v0, 0xc($s5) /* A2E96C 8024472C 46180000 */ add.s $f0, $f0, $f24 /* A2E970 80244730 E4420008 */ swc1 $f2, 8($v0) diff --git a/ver/us/splat.yaml b/ver/us/splat.yaml index d12f437102..b15dda42e4 100644 --- a/ver/us/splat.yaml +++ b/ver/us/splat.yaml @@ -10867,32 +10867,28 @@ segments: start: 0x9FA7F0 vram: 0x80240000 subsegments: - - [0x9FA7F0, c] - - [0x9FA970, c] - - [0x9FAAE0, c] - - [0x9FAB20, c] - - [0x9FAD60, c] - - [0x9FC6D0, c] - - [0x9FC8B0, data] - - [0x9FC970, data] - - [0x9FD410, data] - - [0x9FE000, data] - - [0x9FFB70, data] - - [0xA00250] + - [0x9FA7F0, c, nok_12_0_header] + - [0x9FA7F0, c, nok_12_1_music] + - [0x9FA7F0, c, nok_12_2_main] + - [0x9FA970, c, nok_12_3_entity] + - [0x9FAAE0, c, nok_12_4_bridge] + - [0x9FAB20, c, nok_12_5_foliage] + - [0x9FAD60, c, nok_12_6_npc] + - [0x9FC6D0, c, nok_12_7_demo] + - [0x9FC8B0] - name: nok_13 dir: world/area_nok/nok_13 type: code start: 0xA00600 vram: 0x80240000 subsegments: - - [0xA00600, c] - - [0xA01420, c] - - [0xA01A90, data] - - [0xA01B40, data] - - [0xA02040, data] - - [0xA02420, data] - - [0xA026C0, data] - - [0xA027B0] + - [0xA00600, c, nok_13_0_header] + - [0xA00600, c, nok_13_1_music] + - [0xA00600, c, nok_13_2_main] + - [0xA00600, c, nok_13_3_entity] + - [0xA00600, c, nok_13_4_npc] + - [0xA01420, c, nok_13_5] + - [0xA01A90] - name: nok_14 dir: world/area_nok/nok_14 type: code @@ -10925,32 +10921,29 @@ segments: start: 0xA0BCF0 vram: 0x80240000 subsegments: - - [0xA0BCF0, c] - - [0xA0BD40, c] - - [0xA0C4B0, c] - - [0xA0C4E0, c] - - [0xA0C930, c] - - [0xA0CA00, data] - - [0xA0D720, data] - - [0xA0D7A0, data] - - [0xA0E520, data] - - [0xA107E0, data] - - [0xA10820] + - [0xA0BCF0, c, hos_00_0_header] + - [0xA0BD40, c, hos_00_1_music] + - [0xA0BD40, c, hos_00_2_main] + - [0xA0C4B0, c, hos_00_3_unused] + - [0xA0C4B0, c, hos_00_4_npc] + - [0xA0C4E0, c, hos_00_5_entity] + - [0xA0C4E0, c, hos_00_6_scenes] + - [0xA0C930, c, hos_00_7_shade_gfx] + - [0xA0CA00] - name: hos_01 dir: world/area_hos/hos_01 type: code start: 0xA10880 vram: 0x80240000 subsegments: - - [0xA10880, c] - - [0xA11020, c] - - [0xA11650, c] - - [0xA116A0, data] - - [0xA11760, data] - - [0xA12E00, data] - - [0xA15860, data] - - [0xA158D0, data] - - [0xA161F0] + - [0xA10880, c, hos_01_0_header] + - [0xA10880, c, hos_01_1_music] + - [0xA10880, c, hos_01_2_main] + - [0xA11020, c, hos_01_3_model_fx] + - [0xA11530, c, hos_01_4_npc] + - [0xA11650, c, hos_01_5_entity] + - [0xA11650, c, hos_01_6_star_way] + - [0xA116A0] - name: hos_02 dir: world/area_hos/hos_02 type: code @@ -10987,78 +10980,70 @@ segments: start: 0xA26ED0 vram: 0x80240000 subsegments: - - [0xA26ED0, c] - - [0xA27490, c] - - [0xA274B0, c] - - [0xA27A30, c] - - [0xA27AA0, c] - - [0xA27D60, data] - - [0xA27F20, data] - - [0xA285C0, data] - - [0xA28920, data] - - [0xA28990, data] - - [0xA290B0, data] - - [0xA2A120, data] - - [0xA2A1C0] + - [0xA26ED0, c, hos_04_0_header] + - [0xA26ED0, c, hos_04_1_music] + - [0xA26ED0, c, hos_04_2_main] + - [0xA26ED0, c, hos_04_3_fountains] + - [0xA27490, c, hos_04_4_unused] + - [0xA274B0, c, hos_04_6_intro] + - [0xA27A30, c, hos_04_7_starship] + - [0xA27AA0, c, hos_04_8_narrator] + - [0xA27D60] - name: hos_05 dir: world/area_hos/hos_05 type: code start: 0xA2A240 vram: 0x80240000 subsegments: - - [0xA2A240, c] - - [0xA2AA70, c] - - [0xA2AAC0, c] - - [0xA2EC30, c] - - [0xA2EF00, c] - - [0xA2FAA0, data] - - [0xA2FCD0, data] - - [0xA30810, data] - - [0xA37CD0, .data, A2EC30] - - [0xA37E70, data] - - [0xA39400] + - [0xA2A240, c, hos_05_0_header] + - [0xA2A240, c, hos_05_1_music] + - [0xA2A240, c, hos_05_2_main] + - [0xA2A240, c, hos_05_3_misc] + - [0xA2AA70, c, hos_05_4_npc] + - [0xA2AAC0, c, hos_05_5_intro] + - [0xA2EC30, c, hos_05_6_narrator] + - [0xA2EF00, c, hos_05_7_model_fx] + - [0xA2FA00, c, hos_05_8_star_ship] + - [0xA2FAA0] - name: hos_06 dir: world/area_hos/hos_06 type: code start: 0xA394E0 vram: 0x80240000 subsegments: - - [0xA394E0, c] - - [0xA397F0, c] - - [0xA3A210, c] - - [0xA3A230, c] - - [0xA3B4B0, c] - - [0xA3BA40, data] - - [0xA3BAE0, data] - - [0xA3C090, data] - - [0xA3DAB0, data] - - [0xA3F730] + - [0xA394E0, c, hos_06_0_header] + - [0xA394E0, c, hos_06_1_entity] + - [0xA394E0, c, hos_06_2_main] + - [0xA397F0, c, hos_06_3_merlow] + - [0xA3A210, c, hos_06_4_rooms] + - [0xA3A230, c, hos_06_5_merluvlee] + - [0xA3B4B0, c, hos_06_6_chest] + - [0xA3BA40] - name: hos_10 dir: world/area_hos/hos_10 type: code start: 0xA3F740 vram: 0x80240000 subsegments: - - [0xA3F740, c] - - [0xA3F760, c] - - [0xA3FBA0, c] - - [0xA3FEB0, c] - - [0xA403C0, data] - - [0xA40540, data] - - [0xA42DA0, data] - - [0xA43920, data] - - [0xA45910] + - [0xA3F740, c, hos_10_0_header] + - [0xA3F760, c, hos_10_1_music] + - [0xA3F760, c, hos_10_2_npc1] + - [0xA3F760, c, hos_10_3_npc2] + - [0xA3F760, c, hos_10_4_main] + - [0xA3F760, c, hos_10_5_intro] + - [0xA3FBA0, c, hos_10_6_pre_title] + - [0xA3FEB0, c, hos_10_7_ending] + - [0xA403C0] - name: hos_20 dir: world/area_hos/hos_20 type: code start: 0xA45930 vram: 0x80240000 subsegments: - - [0xA45930, c] - - [0xA45C40, c] - - [0xA45C90, data] - - [0xA46350, data] - - [0xA46F40] + - [0xA45930, c, hos_20_0_header] + - [0xA45930, c, hos_20_1_main] + - [0xA45C40, c, hos_20_2_starship] + - [0xA45C90] - name: kpa_01 dir: world/area_kpa/kpa_01 type: code @@ -13897,13 +13882,14 @@ segments: start: 0xCF7B70 vram: 0x80240000 subsegments: - - [0xCF7B70, c] - - [0xCF7E80, c] - - [0xCF9AC0, data] - - [0xCF9BC0, data] - - [0xD01D90, data] - - [0xD05460, data] - - [0xD05720] + - [0xCF7B70, c, sam_01_0_header] + - [0xCF7B70, c, sam_01_1_music] + - [0xCF7B70, c, sam_01_2_main] + - [0xCF7E80, c, sam_01_3_rooms] + - [0xCF7E80, c, sam_01_4_npc] + - [0xCF95F0, c, sam_01_5_scenes] + - [0xCF9800, c, sam_01_6_entity] + - [0xCF9AC0] - name: sam_02 dir: world/area_sam/sam_02 type: code diff --git a/ver/us/symbol_addrs.txt b/ver/us/symbol_addrs.txt index 7eeff2ce2e..484abd22cd 100644 --- a/ver/us/symbol_addrs.txt +++ b/ver/us/symbol_addrs.txt @@ -5396,7 +5396,7 @@ CancelMessage = 0x802D0C20; // type:func rom:0xF55D0 cancel_current_message = 0x802D0C48; // type:func rom:0xF55F8 SetMessageImages = 0x802D0C70; // type:func rom:0xF5620 func_802D0C94 = 0x802D0C94; // type:func rom:0xF5644 -SetMessageMsg = 0x802D0CEC; // type:func rom:0xF569C +SetMessageText = 0x802D0CEC; // type:func rom:0xF569C SetMessageValue = 0x802D0D44; // type:func rom:0xF56F4 HidePlayerShadow = 0x802D0DA0; // type:func rom:0xF5750 DisablePlayerPhysics = 0x802D0DE4; // type:func rom:0xF5794 @@ -5596,8 +5596,7 @@ EVS_MusicEventMonitor = 0x802D9D34; // type:data rom:0xFE6E4 EVS_UpdateMotionBlurParams = 0x802D9D50; // rom:0xFE700 D_802D9D70 = 0x802D9D70; // type:data rom:0xFE720 D_802D9D71 = 0x802D9D71; // type:data rom:0xFE721 -D_802D9D72 = 0x802D9D72; // type:data rom:0xFE722 -D_802D9D73 = 0x802D9D73; // type:data rom:0xFE723 +StarShrineLightBeamAlpha = 0x802D9D72; // type:data rom:0xFE722 D_802D9D98 = 0x802D9D98; // type:data rom:0xFE748 D_802D9DA8 = 0x802D9DA8; // type:data rom:0xFE758 D_802D9DBC = 0x802D9DBC; // type:data rom:0xFE76C @@ -17315,7 +17314,7 @@ isk_04_AwaitPlayerNearNpc = 0x8024085C; // type:func rom:0x97BE8C isk_04_func_802408B4_97BEE4 = 0x802408B4; // type:func rom:0x97BEE4 isk_04_SwitchToPartner = 0x80240930; // type:func rom:0x97BF60 isk_04_SetupDemoScene = 0x8024095C; // type:func rom:0x97BF8C -isk_04_DemoSceneState = 0x80242288; // type:data rom:0x97D8B8 +isk_04_DemoInitState = 0x80242288; // type:data rom:0x97D8B8 isk_04_D_80242430_97DA60 = 0x80242430; // type:data rom:0x97DA60 isk_05_HoppingAI_HopInit = 0x80240000; // type:func rom:0x97DAD0 isk_05_HoppingAI_Hop = 0x80240230; // type:func rom:0x97DD00 @@ -17859,7 +17858,7 @@ D_80245CF0_9FA730 = 0x80245CF0; // type:data rom:0x9FA730 D_80245D50_9FA790 = 0x80245D50; // type:data rom:0x9FA790 D_80245D58_9FA798 = 0x80245D58; // type:data rom:0x9FA798 D_80245D60_9FA7A0 = 0x80245D60; // type:data rom:0x9FA7A0 -func_80240000_9FA7F0 = 0x80240000; // type:func rom:0x9FA7F0 +UpdateEnounterStages = 0x80240000; // type:func rom:0x9FA7F0 func_80240180_9FA970 = 0x80240180; // type:func rom:0x9FA970 nok_12_SetEntityPosition = 0x80240224; // type:func rom:0x9FAA14 nok_12_SetCamera0Flag1000 = 0x802402F0; // type:func rom:0x9FAAE0 @@ -17998,7 +17997,7 @@ hos_01_UpdateTexturePanSmooth = 0x802407A0; // type:func rom:0xA11020 hos_01_UpdateTexturePanStepped = 0x802408C4; // type:func rom:0xA11144 func_80240AAC_A1132C = 0x80240AAC; // type:func rom:0xA1132C func_80240B10_A11390 = 0x80240B10; // type:func rom:0xA11390 -func_80240B64_A113E4 = 0x80240B64; // type:func rom:0xA113E4 +SetStarBeamMasterAlpha = 0x80240B64; // type:func rom:0xA113E4 func_80240BB8_A11438 = 0x80240BB8; // type:func rom:0xA11438 func_80240C08_A11488 = 0x80240C08; // type:func rom:0xA11488 func_80240C34_A114B4 = 0x80240C34; // type:func rom:0xA114B4 @@ -18165,7 +18164,7 @@ hos_05_UpdateTexturePanStepped = 0x8024041C; // type:func rom:0xA2A65C hos_05_AwaitScriptComplete = 0x80240604; // type:func rom:0xA2A844 func_80240634_A2A874 = 0x80240634; // type:func rom:0xA2A874 func_80240690_A2A8D0 = 0x80240690; // type:func rom:0xA2A8D0 -func_80240830_A2AA70 = 0x80240830; // type:func rom:0xA2AA70 +UnlockStarBeam = 0x80240830; // type:func rom:0xA2AA70 func_80240880_A2AAC0 = 0x80240880; // type:func rom:0xA2AAC0 func_802409C4_A2AC04 = 0x802409C4; // type:func rom:0xA2AC04 func_80240D54_A2AF94 = 0x80240D54; // type:func rom:0xA2AF94 @@ -18197,7 +18196,7 @@ func_80242704_A2C944 = 0x80242704; // type:func rom:0xA2C944 func_802428C8_A2CB08 = 0x802428C8; // type:func rom:0xA2CB08 func_80242F74_A2D1B4 = 0x80242F74; // type:func rom:0xA2D1B4 func_8024301C_A2D25C = 0x8024301C; // type:func rom:0xA2D25C -func_80243100_A2D340 = 0x80243100; // type:func rom:0xA2D340 +draw_foreground_bowser_silhouette = 0x80243100; // type:func rom:0xA2D340 func_80243164_A2D3A4 = 0x80243164; // type:func rom:0xA2D3A4 func_8024370C_A2D94C = 0x8024370C; // type:func rom:0xA2D94C func_80243758_A2D998 = 0x80243758; // type:func rom:0xA2D998 diff --git a/ver/us/undefined_syms.txt b/ver/us/undefined_syms.txt index 101d252ff2..c362b877cd 100644 --- a/ver/us/undefined_syms.txt +++ b/ver/us/undefined_syms.txt @@ -29,12 +29,9 @@ D_803DA800 = 0x803DA800; heap_battleHead = 0x803DA800; // Letter delivery BSS -hos_06_LetterDelivery_SavedNpcAnim = 0x80246424; nok_01_LetterDelivery_SavedNpcAnim = 0x80251E34; nok_02_LetterDelivery_SavedNpcAnim = 0x80254B94; jan_03_LetterDelivery_SavedNpcAnim = 0x8024FF04; -sam_01_LetterDelivery_SavedNpcAnim = 0x8024DF24; -sam_06_LetterDelivery_SavedNpcAnim = 0x8024C1D8; // Quizmo BSS jan_02_Quizmo_Worker = 0x80248924; @@ -49,14 +46,9 @@ jan_03_Quizmo_AudienceEffect = 0x8024FEFC; jan_03_Quizmo_VannaTEffect = 0x8024FF00; sam_02_Quizmo_AnswerResult = 0x8024B9A8; sam_02_Quizmo_StageEffect = 0x8024B9B0; -sam_01_Quizmo_Worker = 0x8024DEF8; sam_02_Quizmo_Worker = 0x8024B990; sam_02_Quizmo_AudienceEffect = 0x8024B9B4; sam_02_Quizmo_VannaTEffect = 0x8024B9B8; -sam_01_Quizmo_AnswerResult = 0x8024DF10; -sam_01_Quizmo_StageEffect = 0x8024DF18; -sam_01_Quizmo_AudienceEffect = 0x8024DF1C; -sam_01_Quizmo_VannaTEffect = 0x8024DF20; sam_11_Quizmo_Worker = 0x80251450; sam_11_Quizmo_AnswerResult = 0x80251468; sam_11_Quizmo_StageEffect = 0x80251470;