* 0/1

* ~2

* 2

* 4

* done

* ws

Co-authored-by: HailSanta <Hail2Santa@gmail.com>
This commit is contained in:
HailSanta 2023-01-05 02:04:03 -05:00 committed by GitHub
parent 1cea652202
commit 1c470c92e5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
93 changed files with 5370 additions and 2357 deletions

View File

@ -2912,6 +2912,12 @@ enum CookingIngredients {
PEACH_COOKING_CAKE_WITH_BERRIES = 0x12,
};
enum PeachDisguises {
PEACH_DISGUISE_1 = 1,
PEACH_DISGUISE_2 = 2,
PEACH_DISGUISE_CLUBBA = 3,
};
// Requires decimals
enum NpcIDs {
NPC_SELF = -1,

File diff suppressed because it is too large Load Diff

View File

@ -23,7 +23,7 @@ extern EvtScript N(bodySlam);
extern EvtScript N(bomb);
enum {
LF_MashEnded = LocalFlag(0),
LF_MashEnded = LocalFlag(0),
LF_MashStarted = LocalFlag(2),
};

View File

@ -18,9 +18,6 @@
#include "sprite/npc/WorldParakarry.h"
#include "sprite/npc/Archeologist.h"
#include "sprite/npc/Dryite.h"
#include "sprite/npc/Mouser.h"
#include "sprite/npc/DisguisedMoustafa.h"
#include "sprite/npc/Moustafa.h"
enum {
NPC_Archeologist = 0,

View File

@ -408,29 +408,8 @@ StaticNpc N(PassiveNPCs)[] = {
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_DisguisedMoustafa),
.yaw = 90,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
.heartDrops = NO_DROPS,
.flowerDrops = NO_DROPS,
},
.animations = {
ANIM_DisguisedMoustafa_Idle,
ANIM_DisguisedMoustafa_Idle,
ANIM_DisguisedMoustafa_Idle,
ANIM_DisguisedMoustafa_Idle,
ANIM_DisguisedMoustafa_Idle,
ANIM_DisguisedMoustafa_Idle,
ANIM_DisguisedMoustafa_Idle,
ANIM_DisguisedMoustafa_Idle,
ANIM_DisguisedMoustafa_Idle,
ANIM_DisguisedMoustafa_Idle,
ANIM_DisguisedMoustafa_Idle,
ANIM_DisguisedMoustafa_Idle,
ANIM_DisguisedMoustafa_Idle,
ANIM_DisguisedMoustafa_Idle,
ANIM_DisguisedMoustafa_Idle,
ANIM_DisguisedMoustafa_Idle,
},
.drops = MOUSER_DROPS,
.animations = DISGUISED_MOUSTAFA_ANIMS,
.tattle = MSG_NpcTattle_Sheek,
},
{
@ -483,29 +462,8 @@ StaticNpc N(PassiveNPCs)[] = {
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_Moustafa),
.yaw = 0,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
.heartDrops = NO_DROPS,
.flowerDrops = NO_DROPS,
},
.animations = {
ANIM_Moustafa_Idle,
ANIM_Moustafa_Idle,
ANIM_Moustafa_Run,
ANIM_Moustafa_Run,
ANIM_Moustafa_Idle,
ANIM_Moustafa_Idle,
ANIM_Moustafa_Idle,
ANIM_Moustafa_Idle,
ANIM_Moustafa_Idle,
ANIM_Moustafa_Idle,
ANIM_Moustafa_Idle,
ANIM_Moustafa_Idle,
ANIM_Moustafa_Idle,
ANIM_Moustafa_Idle,
ANIM_Moustafa_Idle,
ANIM_Moustafa_Idle,
},
.drops = MOUSER_DROPS,
.animations = MOUSTAFA_ANIMS,
.tattle = MSG_NpcTattle_Moustafa,
},
{
@ -552,11 +510,7 @@ StaticNpc N(PassiveNPCs)[] = {
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_Mouser_02),
.yaw = 270,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
.heartDrops = NO_DROPS,
.flowerDrops = NO_DROPS,
},
.drops = MOUSER_DROPS,
.animations = MOUSER_BLUE_ANIMS,
.tattle = MSG_NpcTattle_DRO_TellsTales,
},
@ -567,11 +521,7 @@ StaticNpc N(PassiveNPCs)[] = {
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_Mouser_03),
.yaw = 90,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
.heartDrops = NO_DROPS,
.flowerDrops = NO_DROPS,
},
.drops = MOUSER_DROPS,
.animations = MOUSER_PURPLE_ANIMS,
},
{

View File

@ -1,6 +1,6 @@
#include "dro_02.h"
EvtScript N(EVS_PartyWatchingMousatafa) = {
EvtScript N(EVS_PartyWatchingMoustafa) = {
EVT_LOOP(0)
EVT_CALL(PlayerFaceNpc, NPC_Moustafa, FALSE)
EVT_CALL(NpcFaceNpc, NPC_PARTNER, NPC_Moustafa, 0)
@ -192,7 +192,7 @@ EvtScript N(EVS_NpcInteract_Moustafa) = {
EVT_CALL(PlayerMoveTo, -391, -260, 0)
EVT_CALL(InterpPlayerYaw, 90, 3)
EVT_CALL(SetNpcFlagBits, NPC_DisguisedMoustafa, NPC_FLAG_100, FALSE)
EVT_EXEC_GET_TID(N(EVS_PartyWatchingMousatafa), LVarA)
EVT_EXEC_GET_TID(N(EVS_PartyWatchingMoustafa), LVarA)
EVT_CALL(SetNpcFlagBits, NPC_Moustafa, NPC_FLAG_100, TRUE)
EVT_CALL(FadeOutMusic, 0, 500)
EVT_IF_EQ(GF_DRO02_Sheek_AskedAboutMoustafa, TRUE)

View File

@ -86,7 +86,7 @@ Vec3f N(BubbleFlightPath)[] = {
EvtScript N(EVS_BubbleFollowPath) = {
EVT_WAIT(20)
EVT_CALL(PlaySound, SOUND_80000023)
EVT_CALL(LoadPath, 165, EVT_PTR(N(BubbleFlightPath)), 13, EASING_COS_IN_OUT)
EVT_CALL(LoadPath, 165, EVT_PTR(N(BubbleFlightPath)), ARRAY_COUNT(N(BubbleFlightPath)), EASING_COS_IN_OUT)
EVT_LABEL(0)
EVT_CALL(GetNextPathPos)
EVT_CALL(TranslateModel, MODEL_o167, LVar1, LVar2, LVar3)

View File

@ -77,7 +77,7 @@ EvtScript N(EVS_HuffNPuff_JumpOut) = {
EVT_END_THREAD
EVT_THREAD
EVT_CALL(SetPlayerAnimation, ANIM_Mario_80017)
EVT_CALL(LoadPath, 30, EVT_PTR(N(Path_JumpOut)), 3, EASING_LINEAR)
EVT_CALL(LoadPath, 30, EVT_PTR(N(Path_JumpOut)), ARRAY_COUNT(N(Path_JumpOut)), EASING_LINEAR)
EVT_LABEL(0)
EVT_CALL(GetNextPathPos)
EVT_CALL(SetPlayerPos, LVar1, LVar2, LVar3)

View File

@ -4,4 +4,4 @@ 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.inc.c"
#include "world/common/todo/SetPlayerSpriteSet2_MapInit.inc.c"

View File

@ -511,7 +511,7 @@ EvtScript N(EVS_NpcInteract_Kolorado_01) = {
EVT_END_THREAD
EVT_IF_EQ(GB_StoryProgress, STORY_CH5_TRADED_VASE_FOR_SEED)
EVT_CALL(SetNpcAnimation, NPC_Kolorado_02, ANIM_Kolorado_Walk)
EVT_CALL(LoadPath, 20, EVT_PTR(N(D_802438E4_B23E24)), 3, EASING_LINEAR)
EVT_CALL(LoadPath, 20, EVT_PTR(N(D_802438E4_B23E24)), ARRAY_COUNT(N(D_802438E4_B23E24)), EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(GetNextPathPos)
EVT_CALL(SetNpcPos, NPC_Kolorado_02, LVar1, LVar2, LVar3)

View File

@ -5,4 +5,4 @@ static char* N(exit_str_1) = "osr_04";
static char* N(exit_str_2) = "osr_03";
static char* N(exit_str_3) = "";
#include "world/common/todo/SetPlayerSpriteSet2.inc.c"
#include "world/common/todo/SetPlayerSpriteSet2_MapInit.inc.c"

View File

@ -3,4 +3,4 @@
static char* N(exit_str_0) = "kkj_12";
static char* N(exit_str_1) = "kkj_22";
#include "world/common/todo/SetPlayerSpriteSet2.inc.c"
#include "world/common/todo/SetPlayerSpriteSet2_MapInit.inc.c"

View File

@ -5,4 +5,4 @@ static char* N(exit_str_1) = "kkj_22";
static char* N(exit_str_2) = "kkj_24";
static char* N(exit_str_3) = "";
#include "world/common/todo/SetPlayerSpriteSet2.inc.c"
#include "world/common/todo/SetPlayerSpriteSet2_MapInit.inc.c"

View File

@ -5,4 +5,4 @@ static char* N(exit_str_1) = "kkj_25";
static char* N(exit_str_2) = "kkj_25\0";
static char* N(exit_str_3) = "osr_03";
#include "world/common/todo/SetPlayerSpriteSet2.inc.c"
#include "world/common/todo/SetPlayerSpriteSet2_MapInit.inc.c"

View File

@ -1,12 +1,7 @@
#include "kpa_95.h"
#include "world/common/npc/Toad_Stationary.inc.c"
NpcSettings N(NpcSettings_Penguin) = {
.height = 24,
.radius = 24,
.level = 99,
};
#include "world/common/npc/Penguin.inc.c"
#include "world/common/enemy/complete/Koopatrol_Patrol.inc.c"
@ -203,25 +198,8 @@ StaticNpc N(NpcData_Prisoners)[] = {
.yaw = 0,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Penguin),
.drops = NPC_NO_DROPS,
.animations = {
.idle = ANIM_Penguin_Idle,
.walk = ANIM_Penguin_Walk,
.run = ANIM_Penguin_Run,
.chase = ANIM_Penguin_Run,
.anim_4 = ANIM_Penguin_Idle,
.anim_5 = ANIM_Penguin_Idle,
.death = ANIM_Penguin_Idle,
.hit = ANIM_Penguin_Idle,
.anim_8 = ANIM_Penguin_Idle,
.anim_9 = ANIM_Penguin_Idle,
.anim_A = ANIM_Penguin_Idle,
.anim_B = ANIM_Penguin_Idle,
.anim_C = ANIM_Penguin_Idle,
.anim_D = ANIM_Penguin_Idle,
.anim_E = ANIM_Penguin_Idle,
.anim_F = ANIM_Penguin_Idle,
},
.drops = PENGUIN_DROPS,
.animations = PENGUIN_ANIMS,
.tattle = MSG_NpcTattle_KPA_CaptivePenguin,
},
};
@ -263,11 +241,7 @@ StaticNpc N(NpcData_Koopatrol) = {
.yaw = 270,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_800000,
.init = &N(EVS_NpcInit_Koopatrol),
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
.heartDrops = NO_DROPS,
.flowerDrops = NO_DROPS,
},
.drops = NPC_NO_DROPS,
.territory = {
.patrol = {
.isFlying = TRUE,
@ -282,24 +256,7 @@ StaticNpc N(NpcData_Koopatrol) = {
.detectSize = { 200 },
}
},
.animations = {
.idle = ANIM_WorldKoopatrol_Anim01,
.walk = ANIM_WorldKoopatrol_Anim04,
.run = ANIM_WorldKoopatrol_Anim06,
.chase = ANIM_WorldKoopatrol_Anim06,
.anim_4 = ANIM_WorldKoopatrol_Anim01,
.anim_5 = ANIM_WorldKoopatrol_Anim01,
.death = ANIM_WorldKoopatrol_Anim10,
.hit = ANIM_WorldKoopatrol_Anim10,
.anim_8 = ANIM_WorldKoopatrol_Anim0C,
.anim_9 = ANIM_WorldKoopatrol_Anim0B,
.anim_A = ANIM_WorldKoopatrol_Anim0D,
.anim_B = ANIM_WorldKoopatrol_Anim01,
.anim_C = ANIM_WorldKoopatrol_Anim01,
.anim_D = ANIM_WorldKoopatrol_Anim01,
.anim_E = ANIM_WorldKoopatrol_Anim01,
.anim_F = ANIM_WorldKoopatrol_Anim01,
},
.animations = KOOPATROL_ANIMS,
};
NpcGroupList N(DefaultNPCs) = {

View File

@ -28,7 +28,7 @@ EvtScript N(EVS_NpcIdle_TwinkStartCh4) = {
EVT_SUBF(LVar4, EVT_FLOAT(50.0))
EVT_ADDF(LVar5, EVT_FLOAT(40.0))
EVT_CALL(InterpNpcYaw, NPC_Twink, 90, 0)
EVT_CALL(LoadPath, 35, EVT_PTR(N(FlightPath_TwinkArrive)), 3, EASING_COS_IN_OUT)
EVT_CALL(LoadPath, 35, EVT_PTR(N(FlightPath_TwinkArrive)), ARRAY_COUNT(N(FlightPath_TwinkArrive)), EASING_COS_IN_OUT)
EVT_LOOP(0)
EVT_CALL(GetNextPathPos)
EVT_ADDF(LVar1, LVar4)
@ -65,7 +65,7 @@ EvtScript N(EVS_NpcIdle_TwinkStartCh4) = {
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0)
EVT_CALL(InterpNpcYaw, NPC_Twink, 270, 0)
EVT_CALL(GetNpcPos, NPC_Twink, LVar4, LVar5, LVar6)
EVT_CALL(LoadPath, 35, EVT_PTR(N(FlightPath_TwinkDepart)), 3, EASING_QUADRATIC_IN)
EVT_CALL(LoadPath, 35, EVT_PTR(N(FlightPath_TwinkDepart)), ARRAY_COUNT(N(FlightPath_TwinkDepart)), EASING_QUADRATIC_IN)
EVT_LOOP(0)
EVT_CALL(GetNextPathPos)
EVT_ADD(LVar1, LVar4)

View File

@ -2,24 +2,37 @@
#define _WORLD_AREA_OSR_OSR_H_
enum {
AB_OSR_0 = AreaByte(0),
AB_OSR_1 = AreaByte(1),
AB_OSR_2 = AreaByte(2),
AB_OSR_3 = AreaByte(3),
AB_OSR_4 = AreaByte(4),
AB_OSR_5 = AreaByte(5),
AB_OSR_6 = AreaByte(6),
AB_OSR_7 = AreaByte(7),
AB_OSR_8 = AreaByte(8),
AB_OSR_9 = AreaByte(9),
AB_OSR_A = AreaByte(10),
AB_OSR_B = AreaByte(11),
AB_OSR_C = AreaByte(12),
AB_OSR_D = AreaByte(13),
AB_OSR_E = AreaByte(14),
AB_OSR_F = AreaByte(15),
AB_OSR_Unused_0 = AreaByte(0),
AB_OSR_Unused_1 = AreaByte(1),
AB_OSR_Unused_2 = AreaByte(2),
AB_OSR_Unused_3 = AreaByte(3),
AB_OSR_Unused_4 = AreaByte(4),
AB_OSR_Unused_5 = AreaByte(5),
AB_OSR_Unused_6 = AreaByte(6),
AB_OSR_Unused_7 = AreaByte(7),
AB_OSR_Unused_8 = AreaByte(8),
AB_OSR_Unused_9 = AreaByte(9),
AB_OSR_Unused_A = AreaByte(10),
AB_OSR_Unused_B = AreaByte(11),
AB_OSR_Unused_C = AreaByte(12),
AB_OSR_Unused_D = AreaByte(13),
AB_OSR_Unused_E = AreaByte(14),
AB_OSR_Unused_F = AreaByte(15),
};
#define AF_OSR(index) AreaFlag(index)
enum {
AF_OSR_01 = AreaFlag(1),
};
extern MapSettings osr_00_settings;
extern MapSettings osr_01_settings;
extern MapSettings osr_02_settings;
extern MapSettings osr_03_settings;
extern MapSettings osr_04_settings;
s32 osr_01_map_init(void);
s32 osr_02_map_init(void);
s32 osr_03_map_init(void);
s32 osr_04_map_init(void);
#endif

View File

@ -1,16 +0,0 @@
#include "osr_00.h"
#include "effects.h"
static char* N(exit_str_0) = "mac_01";
static char* N(exit_str_1) = "kkj_00";
static char* N(exit_str_2) = "kmr_20";
static char* N(exit_str_3) = "kkj_00\0";
#include "world/common/atomic/TexturePan.inc.c"
ApiStatus func_8024030C_AACB3C(Evt* script, s32 isInitialCall) {
fx_sun(FX_SUN_FROM_RIGHT, 0.0f, 0.0f, 0.0f, 0.0f, 0);
return ApiStatus_DONE2;
}
#include "world/common/todo/SpawnSunEffect.inc.c"

View File

@ -1,40 +0,0 @@
#include "osr_00.h"
#include "ld_addrs.h"
#include "charset/peach_letter.png.h"
#include "world/common/atomic/UnkFunc27.inc.c"
ApiStatus func_80240678_AACEA8(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 primR = *args++;
s32 primG = *args++;
s32 primB = *args++;
s32 envR = *args++;
s32 envG = *args++;
s32 envB = *args++;
set_model_env_color_parameters(primR, primG, primB, envR, envG, envB);
return ApiStatus_DONE2;
}
BSS u8 osr_00_802437C0[charset_peach_letter_png_width * charset_peach_letter_png_height];
BSS u16 D_80247548[0x100];
BSS char D_80247748[0x8]; // padding?
BSS MessageImageData D_80247750;
// TODO look into + 1 here...
ApiStatus func_802406E0_AACF10(Evt* script, s32 isInitialCall) {
s8* romStart = charset_ROM_START;
u8* rasterOffset = charset_peach_letter_png;
u16* paletteOffset = (u16*) charset_peach_letter_pal + 1; // todo ???
dma_copy(romStart + (s32)rasterOffset, romStart + (s32)rasterOffset + sizeof(osr_00_802437C0), &osr_00_802437C0);
dma_copy(romStart + (s32)paletteOffset, romStart + (s32)paletteOffset + sizeof(D_80247548), &D_80247548);
D_80247750.width = charset_peach_letter_png_width;
D_80247750.height = charset_peach_letter_png_height;
D_80247750.format = G_IM_FMT_CI;
D_80247750.raster = osr_00_802437C0;
D_80247750.palette = D_80247548;
D_80247750.bitDepth = 1;
set_message_images(&D_80247750);
return ApiStatus_DONE2;
}

View File

@ -2,8 +2,36 @@
/// @brief Peach's Castle Grounds - Intro Castle Grounds
#include "common.h"
#include "../osr.h"
#include "message_ids.h"
#include "map.h"
#include "../osr.h"
#include "mapfs/osr_00_shape.h"
#include "mapfs/osr_00_hit.h"
enum {
NPC_Luigi = 0,
NPC_YoshiLeader = 0,
NPC_Yoshi = 1,
NPC_YoshiKid = 2,
NPC_MayorPenguin = 3,
NPC_MayorPenguinWife = 4,
NPC_Penguin_01 = 5,
NPC_Penguin_02 = 6,
NPC_Moustafa = 7,
NPC_Mouser = 8,
NPC_Boo_01 = 9,
NPC_Boo_02 = 10,
NPC_Toad = 12,
NPC_ToadGuard_01 = 13,
NPC_ToadGuard_02 = 14,
};
#define NAMESPACE osr_00
extern EvtScript N(EVS_Main);
extern EvtScript N(EVS_SetupMusic);
extern EvtScript N(EVS_Scene_ShowInvitation);
extern EvtScript N(EVS_Scene_ApproachParty);
extern NpcGroupList N(IntroNPCs);
extern NpcGroupList N(EpilogueNPCs);

View File

@ -0,0 +1,16 @@
#include "osr_00.h"
EntryList N(Entrances) = {
[osr_00_ENTRY_0] { 0.0, 0.0, 604.0, 0.0 },
[osr_00_ENTRY_1] { 612.0, 0.0, 111.0, 270.0 },
[osr_00_ENTRY_2] { 0.0, 0.0, -260.0, 180.0 },
[osr_00_ENTRY_3] { 500.0, 20.0, 100.0, 270.0 },
[osr_00_ENTRY_4] { 0.0, 0.0, 300.0, 0.0 },
};
MapSettings N(settings) = {
.main = &N(EVS_Main),
.entryList = &N(Entrances),
.entryCount = ENTRY_COUNT(N(Entrances)),
.background = &gBackgroundImage,
};

View File

@ -0,0 +1,18 @@
#include "osr_00.h"
EvtScript N(EVS_SetupMusic) = {
EVT_SWITCH(GB_StoryProgress)
EVT_CASE_EQ(STORY_INTRO)
EVT_CALL(SetMusicTrack, 0, SONG_PEACHS_CASTLE_PARTY, 1, 8)
EVT_CASE_EQ(STORY_EPILOGUE)
EVT_CALL(SetMusicTrack, 0, SONG_PEACHS_CASTLE_PARTY, 0, 8)
EVT_CASE_DEFAULT
EVT_CALL(SetMusicTrack, 0, SONG_TOAD_TOWN, 0, 8)
EVT_END_SWITCH
EVT_CALL(GetEntryID, LVar0)
EVT_IF_EQ(LVar0, osr_00_ENTRY_3)
EVT_CALL(ClearAmbientSounds, 250)
EVT_END_IF
EVT_RETURN
EVT_END
};

View File

@ -0,0 +1,91 @@
#include "osr_00.h"
#include "effects.h"
#include "world/common/atomic/TexturePan.inc.c"
#include "world/common/atomic/TexturePan.data.inc.c"
API_CALLABLE(N(CreateSunshine)) {
fx_sun(FX_SUN_FROM_RIGHT, 0.0f, 0.0f, 0.0f, 0.0f, 0);
return ApiStatus_DONE2;
}
#include "world/common/todo/SpawnSunEffect.inc.c"
EvtScript N(EVS_ExitWalk_mac_01_2) = EVT_EXIT_WALK(60, osr_00_ENTRY_0, "mac_01", mac_01_ENTRY_2);
EvtScript N(EVS_ExitDoors_kkj_00_6) = EVT_EXIT_DOUBLE_DOOR(osr_00_ENTRY_2, "kkj_00", kkj_00_ENTRY_6, COLLIDER_deilitn, MODEL_d2, MODEL_d1);
EvtScript N(EVS_BindExitTriggers) = {
EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_mac_01_2)), TRIGGER_FLOOR_ABOVE, COLLIDER_deilis, 1, 0)
EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitDoors_kkj_00_6)), TRIGGER_WALL_PRESS_A, COLLIDER_deilitn, 1, 0)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_EnterMap) = {
EVT_CALL(GetEntryID, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_EQ(osr_00_ENTRY_2)
EVT_SET(LVar2, MODEL_d2)
EVT_SET(LVar3, MODEL_d1)
EVT_EXEC_WAIT(EnterDoubleDoor)
EVT_EXEC(N(EVS_BindExitTriggers))
EVT_CASE_EQ(osr_00_ENTRY_3)
EVT_EXEC(N(EVS_Scene_ShowInvitation))
EVT_CASE_EQ(osr_00_ENTRY_4)
EVT_EXEC(N(EVS_Scene_ApproachParty))
EVT_CASE_DEFAULT
EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers)))
EVT_EXEC(EnterWalk)
EVT_END_SWITCH
EVT_RETURN
EVT_END
};
EvtScript N(EVS_TexPan_Fountain) = {
EVT_SET_GROUP(EVT_GROUP_00)
EVT_CALL(SetTexPanner, MODEL_fw1, TEX_PANNER_1)
EVT_CALL(SetTexPanner, MODEL_w2, TEX_PANNER_2)
EVT_THREAD
TEX_PAN_PARAMS_ID(TEX_PANNER_1)
TEX_PAN_PARAMS_STEP( 0, -200, 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_2)
TEX_PAN_PARAMS_STEP( 0, 0, 0, 300)
TEX_PAN_PARAMS_FREQ( 0, 0, 0, 1)
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_SET(GB_WorldLocation, LOCATION_PEACH_CASTLE_GROUNDS)
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_SETUP_CAMERA_NO_LEAD()
EVT_SWITCH(GB_StoryProgress)
EVT_CASE_EQ(STORY_INTRO)
EVT_CALL(N(CreateSunshine))
EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(IntroNPCs)))
EVT_CASE_GE(STORY_EPILOGUE)
EVT_CALL(N(SpawnSunEffect))
EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(EpilogueNPCs)))
EVT_END_SWITCH
EVT_CALL(GetEntryID, LVar0)
EVT_IF_NE(LVar0, osr_00_ENTRY_3)
EVT_EXEC(N(EVS_SetupMusic))
EVT_END_IF
EVT_CALL(GetEntryID, LVar0)
EVT_IF_NE(LVar0, osr_00_ENTRY_3)
EVT_EXEC(N(EVS_TexPan_Fountain))
EVT_CALL(PlaySoundAtF, SOUND_80000059, 1, 300, 0, 400)
EVT_END_IF
EVT_EXEC(N(EVS_EnterMap))
EVT_WAIT(1)
EVT_RETURN
EVT_END
};

View File

@ -0,0 +1,18 @@
#include "osr_00.h"
#include "world/common/npc/Luigi.inc.c"
StaticNpc N(NpcData_Luigi) = {
.id = NPC_Luigi,
.settings = &N(NpcSettings_Luigi),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 90,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = LUIGI_DROPS,
.animations = LUIGI_ANIMS,
};
NpcGroupList N(IntroNPCs) = {
NPC_GROUP(N(NpcData_Luigi)),
{}
};

View File

@ -0,0 +1,457 @@
#include "osr_00.h"
NpcSettings N(NpcSettings_Unused) = {
.height = 24,
.radius = 24,
.level = 99,
};
#include "world/common/npc/Yoshi.inc.c"
#include "world/common/npc/YoshiKid.inc.c"
#include "world/common/npc/Penguin.inc.c"
#include "world/common/npc/Toad_Stationary.inc.c"
#include "world/common/npc/Boo.inc.c"
#include "world/common/npc/Mouser.inc.c"
EvtScript N(EVS_NpcInteract_LeaderYoshi) = {
EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_VillageLeader_Talk, ANIM_VillageLeader_Idle, 0, MSG_Outro_0055)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_LeaderYoshi) = {
EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_LeaderYoshi)))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInteract_Yoshi) = {
EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Yoshi_Green_Talk, ANIM_Yoshi_Green_Idle, 0, MSG_Outro_0060)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_Yoshi) = {
EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Yoshi)))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInteract_YoshiKid) = {
EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_YoshiKid_Green_Talk, ANIM_YoshiKid_Green_Idle, 0, MSG_Outro_0061)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_YoshiKid) = {
EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_YoshiKid)))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInteract_MayorPenguin) = {
EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_MayorPenguin_Talk, ANIM_MayorPenguin_Idle, 0, MSG_Outro_0056)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_MayorPenguin) = {
EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_MayorPenguin)))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInteract_MayorPenguinWife) = {
EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_MayorPenguinWife_Laugh, ANIM_MayorPenguinWife_Idle, 0, MSG_Outro_0057)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_MayorPenguinWife) = {
EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_MayorPenguinWife)))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInteract_Penguin_01) = {
EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_Outro_0062)
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_NpcInteract_Penguin_02) = {
EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Penguin_Talk, ANIM_Penguin_Idle, 0, MSG_Outro_0063)
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_NpcInteract_Moustafa) = {
EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Moustafa_Shout, ANIM_Moustafa_Idle, 0, MSG_Outro_0058)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_Moustafa) = {
EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Moustafa)))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInteract_Mouser) = {
EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Mouser_Purple_Talk, ANIM_Mouser_Purple_Idle, 0, MSG_Outro_005E)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_Mouser) = {
EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Mouser)))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInteract_Boo_01) = {
EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_Outro_005D)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_Boo_01) = {
EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Boo_01)))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInteract_Boo_02) = {
EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Boo_Tan_Talk, ANIM_Boo_Tan_Idle, 0, MSG_Outro_005F)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_Boo_02) = {
EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Boo_02)))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInteract_Toad) = {
EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Toad_Blue_Talk, ANIM_Toad_Blue_Idle, 0, MSG_Outro_0059)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_Toad) = {
EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Toad)))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInteract_ToadGuard_01) = {
EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_ToadGuard_Red_Talk, ANIM_ToadGuard_Red_Idle, 0, MSG_Outro_005A)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_ToadGuard_01) = {
EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_ToadGuard_01)))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Guard_StopPlayer) = {
EVT_CALL(DisablePlayerInput, TRUE)
EVT_CALL(NpcFacePlayer, NPC_ToadGuard_02, 0)
EVT_WAIT(5)
EVT_CALL(SpeakToPlayer, NPC_ToadGuard_02, ANIM_ToadGuard_Yellow_Talk, ANIM_ToadGuard_Yellow_Idle, 0, MSG_Outro_005C)
EVT_WAIT(10)
EVT_CALL(SetPlayerSpeed, EVT_FLOAT(4.0))
EVT_CALL(PlayerMoveTo, 610, 110, 0)
EVT_CALL(DisablePlayerInput, FALSE)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInteract_ToadGuard_02) = {
EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_ToadGuard_Yellow_Talk, ANIM_ToadGuard_Yellow_Idle, 0, MSG_Outro_005B)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_ToadGuard_02) = {
EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_ToadGuard_02)))
EVT_BIND_TRIGGER(EVT_PTR(N(EVS_Guard_StopPlayer)), TRIGGER_FLOOR_TOUCH, COLLIDER_deilie, 1, 0)
EVT_RETURN
EVT_END
};
s32 N(ExtraAnims_YoshiLeader)[] = {
ANIM_VillageLeader_Still,
ANIM_VillageLeader_Idle,
ANIM_VillageLeader_Talk,
-1
};
s32 N(ExtraAnims_Yoshi)[] = {
ANIM_Yoshi_Green_Still,
ANIM_Yoshi_Green_Idle,
ANIM_Yoshi_Green_Talk,
-1
};
s32 N(ExtraAnims_YoshiKid)[] = {
ANIM_YoshiKid_Green_Still,
ANIM_YoshiKid_Green_Idle,
ANIM_YoshiKid_Green_Talk,
-1
};
StaticNpc N(NpcData_Yoshis)[] = {
{
.id = NPC_YoshiLeader,
.settings = &N(NpcSettings_Yoshi),
.pos = { 70.0f, 0.0f, -30.0f },
.yaw = 270,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_LeaderYoshi),
.drops = YOSHI_DROPS,
.animations = YOSHI_LEADER_ANIMS,
.extraAnimations = N(ExtraAnims_YoshiLeader),
.tattle = MSG_NpcTattle_VillageLeader,
},
{
.id = NPC_Yoshi,
.settings = &N(NpcSettings_Yoshi),
.pos = { 70.0f, 0.0f, 400.0f },
.yaw = 270,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_Yoshi),
.drops = YOSHI_DROPS,
.animations = YOSHI_GREEN_ANIMS,
.extraAnimations = N(ExtraAnims_Yoshi),
.tattle = MSG_NpcTattle_GenericYoshi,
},
{
.id = NPC_YoshiKid,
.settings = &N(NpcSettings_YoshiKid),
.pos = { 160.0f, 0.0f, 540.0f },
.yaw = 270,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_YoshiKid),
.drops = YOSHI_KID_DROPS,
.animations = YOSHI_KID_GREEN_ANIMS,
.extraAnimations = N(ExtraAnims_YoshiKid),
.tattle = MSG_NpcTattle_GreenYoshiKid,
},
};
s32 N(ExtraAnims_MayorPenguin)[] = {
ANIM_MayorPenguin_Still,
ANIM_MayorPenguin_Idle,
ANIM_MayorPenguin_Talk,
-1
};
s32 N(ExtraAnims_MayorPenguinWife)[] = {
ANIM_MayorPenguinWife_Still,
ANIM_MayorPenguinWife_Idle,
ANIM_MayorPenguinWife_Laugh,
-1
};
s32 N(ExtraAnims_Penguin)[] = {
ANIM_Penguin_Still,
ANIM_Penguin_Idle,
ANIM_Penguin_Talk,
-1
};
StaticNpc N(NpcData_Penguins)[] = {
{
.id = NPC_MayorPenguin,
.settings = &N(NpcSettings_Penguin),
.pos = { 150.0f, 0.0f, 105.0f },
.yaw = 270,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_MayorPenguin),
.drops = PENGUIN_DROPS,
.animations = MAYOR_PENGUIN_ANIMS,
.extraAnimations = N(ExtraAnims_MayorPenguin),
.tattle = MSG_NpcTattle_MayorPenguin,
},
{
.id = NPC_MayorPenguinWife,
.settings = &N(NpcSettings_Penguin),
.pos = { 200.0f, 0.0f, 105.0f },
.yaw = 270,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_MayorPenguinWife),
.drops = PENGUIN_DROPS,
.animations = MAYOR_PENGUIN_WIFE_ANIMS,
.extraAnimations = N(ExtraAnims_MayorPenguinWife),
.tattle = MSG_NpcTattle_MayorPenguinWife,
},
{
.id = NPC_Penguin_01,
.settings = &N(NpcSettings_Penguin),
.pos = { 115.0f, 0.0f, 540.0f },
.yaw = 90,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Penguin_01),
.drops = PENGUIN_DROPS,
.animations = PENGUIN_ANIMS,
.extraAnimations = N(ExtraAnims_Penguin),
},
{
.id = NPC_Penguin_02,
.settings = &N(NpcSettings_Penguin),
.pos = { 208.0f, 0.0f, 540.0f },
.yaw = 270,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Penguin_02),
.drops = PENGUIN_DROPS,
.animations = PENGUIN_ANIMS,
.extraAnimations = N(ExtraAnims_Penguin),
},
};
s32 N(ExtraAnims_Moustafa)[] = {
ANIM_Moustafa_Still,
ANIM_Moustafa_Idle,
ANIM_Moustafa_Shout,
-1
};
s32 N(ExtraAnims_Mouser)[] = {
ANIM_Mouser_Blue_Still,
ANIM_Mouser_Blue_Idle,
ANIM_Mouser_Blue_Talk,
-1
};
StaticNpc N(NpcData_Mousers)[] = {
{
.id = NPC_Moustafa,
.settings = &N(NpcSettings_Mouser),
.pos = { -60.0f, 0.0f, -20.0f },
.yaw = 90,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_Moustafa),
.drops = MOUSER_DROPS,
.animations = MOUSTAFA_ANIMS,
.extraAnimations = N(ExtraAnims_Moustafa),
.tattle = MSG_NpcTattle_Moustafa,
},
{
.id = NPC_Mouser,
.settings = &N(NpcSettings_Mouser),
.pos = { -100.0f, 0.0f, -50.0f },
.yaw = 90,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_Mouser),
.drops = MOUSER_DROPS,
.animations = MOUSER_PURPLE_ANIMS,
.extraAnimations = N(ExtraAnims_Mouser),
},
};
s32 N(ExtraAnims_Boos)[] = {
ANIM_Boo_Still,
ANIM_Boo_Idle,
ANIM_Boo_Talk,
-1
};
StaticNpc N(NpcData_Boos)[] = {
{
.id = NPC_Boo_01,
.settings = &N(NpcSettings_Boo),
.pos = { 270.0f, 20.0f, 175.0f },
.yaw = 270,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Boo_01),
.drops = BOO_DROPS,
.animations = NORMAL_BOO_ANIMS,
.extraAnimations = N(ExtraAnims_Boos),
},
{
.id = NPC_Boo_02,
.settings = &N(NpcSettings_Boo),
.pos = { 320.0f, 20.0f, 200.0f },
.yaw = 270,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Boo_02),
.drops = BOO_DROPS,
.animations = GUSTY_BOO_ANIMS,
.extraAnimations = N(ExtraAnims_Boos),
},
};
s32 N(ExtraAnims_Toad)[] = {
ANIM_Toad_Red_Still,
ANIM_Toad_Red_Idle,
ANIM_Toad_Red_Talk,
-1
};
s32 N(ExtraAnims_ToadGuard)[] = {
ANIM_ToadGuard_Red_Still,
ANIM_ToadGuard_Red_Idle,
ANIM_ToadGuard_Red_Talk,
-1
};
StaticNpc N(NpcData_Toads)[] = {
{
.id = NPC_Toad,
.settings = &N(NpcSettings_Toad_Stationary),
.pos = { -25.0f, 0.0f, 200.0f },
.yaw = 90,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_Toad),
.drops = TOAD_DROPS,
.animations = TOAD_BLUE_ANIMS,
.extraAnimations = N(ExtraAnims_Toad),
},
{
.id = NPC_ToadGuard_01,
.settings = &N(NpcSettings_Toad_Stationary),
.pos = { -50.0f, 0.0f, -200.0f },
.yaw = 90,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_ToadGuard_01),
.drops = TOAD_DROPS,
.animations = TOAD_GUARD_RED_ANIMS,
.extraAnimations = N(ExtraAnims_ToadGuard),
},
{
.id = NPC_ToadGuard_02,
.settings = &N(NpcSettings_Toad_Stationary),
.pos = { 560.0f, 20.0f, 100.0f },
.yaw = 270,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_ToadGuard_02),
.drops = TOAD_DROPS,
.animations = TOAD_GUARD_YELLOW_ANIMS,
.extraAnimations = N(ExtraAnims_ToadGuard),
},
};
NpcGroupList N(EpilogueNPCs) = {
NPC_GROUP(N(NpcData_Yoshis)),
NPC_GROUP(N(NpcData_Penguins)),
NPC_GROUP(N(NpcData_Mousers)),
NPC_GROUP(N(NpcData_Boos)),
NPC_GROUP(N(NpcData_Toads)),
{}
};

View File

@ -0,0 +1,92 @@
#include "osr_00.h"
#include "ld_addrs.h"
#include "charset/peach_letter.png.h"
#include "sprite/npc/Luigi.h"
#include "world/common/atomic/UnkFunc27.inc.c"
API_CALLABLE(N(func_80240678_AACEA8)) {
Bytecode* args = script->ptrReadPos;
s32 primR = *args++;
s32 primG = *args++;
s32 primB = *args++;
s32 envR = *args++;
s32 envG = *args++;
s32 envB = *args++;
set_model_env_color_parameters(primR, primG, primB, envR, envG, envB);
return ApiStatus_DONE2;
}
BSS IMG_BIN N(PeachLetterImg)[charset_peach_letter_png_width * charset_peach_letter_png_height];
BSS PAL_BIN N(PeachLetterPal)[0x100];
MAP_STATIC_PAD(2, letter);
BSS MessageImageData N(MsgImage);
// TODO look into + 1 here...
API_CALLABLE(N(func_802406E0_AACF10)) {
s8* romStart = charset_ROM_START;
u8* rasterOffset = charset_peach_letter_png;
u16* paletteOffset = (u16*) charset_peach_letter_pal + 1; // todo ???
dma_copy(romStart + (s32)rasterOffset, romStart + (s32)rasterOffset + sizeof(N(PeachLetterImg)), &N(PeachLetterImg));
dma_copy(romStart + (s32)paletteOffset, romStart + (s32)paletteOffset + sizeof(N(PeachLetterPal)), &N(PeachLetterPal));
N(MsgImage).raster = N(PeachLetterImg);
N(MsgImage).palette = N(PeachLetterPal);
N(MsgImage).width = charset_peach_letter_png_width;
N(MsgImage).height = charset_peach_letter_png_height;
N(MsgImage).format = G_IM_FMT_CI;
N(MsgImage).bitDepth = G_IM_SIZ_8b;
set_message_images(&N(MsgImage));
return ApiStatus_DONE2;
}
EvtScript N(EVS_Scene_ShowInvitation) = {
EVT_CALL(DisablePlayerInput, TRUE)
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(SetCamDistance, CAM_DEFAULT, 775)
EVT_CALL(SetCamPitch, CAM_DEFAULT, 20, -19)
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1)
EVT_CALL(N(UnkFunc27), 2, 0, 3)
EVT_CALL(N(UnkFunc27), 1, -1, 3)
EVT_CALL(N(func_80240678_AACEA8), 200, 200, 200, 40, 40, 40)
EVT_CALL(N(func_802406E0_AACF10))
EVT_WAIT(15)
EVT_CALL(ShowMessageAtScreenPos, MSG_Intro_0022, 160, 40)
EVT_WAIT(12)
EVT_CALL(ShowMessageAtScreenPos, MSG_Intro_0023, 160, 40)
EVT_WAIT(3)
EVT_CALL(GotoMapSpecial, EVT_PTR("kmr_20"), kmr_20_ENTRY_1, TRANSITION_7)
EVT_WAIT(40)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Scene_ApproachParty) = {
EVT_CALL(DisablePlayerInput, TRUE)
EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, 0, 0)
EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 0, 0)
EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(675.0))
EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(3.5), EVT_FLOAT(-6.0))
EVT_CALL(SetCamPosA, CAM_DEFAULT, EVT_FLOAT(60.0), 0)
EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0))
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1)
EVT_THREAD
EVT_CALL(PlayerMoveTo, 0, -250, 150)
EVT_END_THREAD
EVT_THREAD
EVT_CALL(SetNpcAnimation, NPC_Luigi, ANIM_Luigi_RunBack)
EVT_CALL(SetNpcPos, NPC_Luigi, 0, 0, 350)
EVT_CALL(NpcMoveTo, NPC_Luigi, 0, -200, 150)
EVT_CALL(SetNpcAnimation, NPC_Luigi, ANIM_Luigi_IdleBack)
EVT_END_THREAD
EVT_WAIT(100)
EVT_CALL(GotoMap, EVT_PTR("kkj_00"), kkj_00_ENTRY_5)
EVT_WAIT(100)
EVT_CALL(DisablePlayerInput, FALSE)
EVT_RETURN
EVT_END
};

View File

@ -1,10 +0,0 @@
#include "osr_01.h"
s32 func_80240000_AAFFF0(void) {
if (gGameStatusPtr->entryID == osr_01_ENTRY_3) {
sprintf(wMapBgName, "hos_bg");
}
return FALSE;
}
const char* N(exit_str_0) = "mac_01\0\0hos_00\0\0mac_04";

View File

@ -1,4 +0,0 @@
#include "osr_01.h"
#include "world/common/atomic/TexturePan.inc.c"

View File

@ -1,77 +0,0 @@
#include "osr_01.h"
#include "world/common/todo/StashVars.inc.c"
#include "world/common/todo/GetItemName.inc.c"
#include "world/common/todo/GetNpcCollisionHeight.inc.c"
#include "world/common/todo/AddPlayerHandsOffset.inc.c"
extern s32 N(ItemChoice_HasSelectedItem);
extern s32 N(ItemChoice_SelectedItemID);
// Needs data migrated
#ifdef NON_MATCHING
ApiStatus func_802406A4_AB0694(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
if (isInitialCall) {
osr_01_ItemChoice_HasSelectedItem = 0;
}
if (osr_01_ItemChoice_HasSelectedItem != 0) {
osr_01_ItemChoice_HasSelectedItem = 0;
evt_set_variable(script, *args++, osr_01_ItemChoice_SelectedItemID);
return ApiStatus_DONE2;
}
return ApiStatus_BLOCK;
}
#else
INCLUDE_ASM(s32, "world/area_osr/osr_01/AB0350", func_802406A4_AB0694);
#endif
// Needs data migrated
#ifdef NON_MATCHING
ApiStatus func_802406F8_AB06E8(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
osr_01_ItemChoice_SelectedItemID = evt_get_variable(script, *args++);
osr_01_ItemChoice_HasSelectedItem = 1;
return ApiStatus_DONE2;
}
#else
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;
}
#endif
BSS s32 osr_01_D_80242180[114];
ApiStatus func_80240730_AB0720(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++) {
osr_01_D_80242180[i] = ptr[i];
}
osr_01_D_80242180[i] = 0;
} else {
for (i = 0; i < 112; i++) {
osr_01_D_80242180[i] = i + 16;
osr_01_D_80242180[112] = 0;
}
}
return ApiStatus_DONE2;
}
extern s32 N(LetterDelivery_SavedNpcAnim);
#include "world/common/todo/LetterDelivery.inc.c"

View File

@ -2,8 +2,21 @@
/// @brief Peach's Castle Grounds - Ruined Castle Grounds
#include "common.h"
#include "../osr.h"
#include "message_ids.h"
#include "map.h"
#include "../osr.h"
#include "mapfs/osr_01_shape.h"
#include "mapfs/osr_01_hit.h"
enum {
NPC_Toad = 0,
};
#define NAMESPACE osr_01
extern EvtScript N(EVS_Main);
extern EvtScript N(EVS_SetupMusic);
extern EvtScript N(EVS_PlaySong_Starship);
extern EvtScript N(EVS_Scene_Wishing);
extern NpcGroupList N(DefaultNPCs);

View File

@ -0,0 +1,23 @@
#include "osr_01.h"
s32 N(map_init)(void) {
if (gGameStatusPtr->entryID == osr_01_ENTRY_3) {
sprintf(wMapBgName, "hos_bg");
}
return FALSE;
}
EntryList N(Entrances) = {
[osr_01_ENTRY_0] { 0.0, 0.0, 604.0, 0.0 },
[osr_01_ENTRY_1] { 612.0, 0.0, 111.0, 270.0 },
[osr_01_ENTRY_2] { 0.0, 0.0, -290.0, 180.0 },
[osr_01_ENTRY_3] { 0.0, -1000.0, 0.0, 0.0 },
};
MapSettings N(settings) = {
.main = &N(EVS_Main),
.entryList = &N(Entrances),
.entryCount = ENTRY_COUNT(N(Entrances)),
.background = &gBackgroundImage,
.tattle = { MSG_MapTattle_osr_01 },
};

View File

@ -0,0 +1,24 @@
#include "osr_01.h"
EvtScript N(EVS_SetupMusic) = {
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_PlaySong_Starship) = {
EVT_CALL(GetEntryID, LVar0)
EVT_IF_EQ(LVar0, osr_01_ENTRY_3)
EVT_CALL(SetMusicTrack, 0, SONG_STARSHIP_THEME, 0, 8)
EVT_ELSE
EVT_EXEC(N(EVS_SetupMusic))
EVT_END_IF
EVT_RETURN
EVT_END
};

View File

@ -0,0 +1,61 @@
#include "osr_01.h"
#include "world/common/atomic/TexturePan.inc.c"
#include "world/common/atomic/TexturePan.data.inc.c"
EvtScript N(EVS_ExitWalk_mac_01_2) = EVT_EXIT_WALK(60, osr_01_ENTRY_0, "mac_01", mac_01_ENTRY_2);
EvtScript N(EVS_ExitWalk_hos_00_0) = EVT_EXIT_WALK(60, osr_01_ENTRY_1, "hos_00", hos_00_ENTRY_0);
EvtScript N(EVS_BindExitTriggers) = {
EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_mac_01_2)), TRIGGER_FLOOR_ABOVE, COLLIDER_deilis, 1, 0)
EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_hos_00_0)), TRIGGER_FLOOR_ABOVE, COLLIDER_deilie, 1, 0)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_TexPan_Fountain) = {
EVT_SET_GROUP(EVT_GROUP_00)
EVT_CALL(SetTexPanner, MODEL_o501, TEX_PANNER_1)
EVT_CALL(SetTexPanner, MODEL_w2, TEX_PANNER_2)
EVT_THREAD
TEX_PAN_PARAMS_ID(TEX_PANNER_1)
TEX_PAN_PARAMS_STEP( 0, -200, 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_2)
TEX_PAN_PARAMS_STEP( 0, 0, 0, 300)
TEX_PAN_PARAMS_FREQ( 0, 0, 0, 1)
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_SET(GB_WorldLocation, LOCATION_PEACH_CASTLE_GROUNDS)
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_SETUP_CAMERA_NO_LEAD()
EVT_SET(AF_OSR_01, FALSE)
EVT_SET(GF_MAP_PeachCastleGrounds, TRUE)
EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs)))
EVT_EXEC_WAIT(N(EVS_PlaySong_Starship))
EVT_EXEC(N(EVS_TexPan_Fountain))
EVT_CALL(PlaySoundAtF, SOUND_8000005A, 1, 300, 2, 399)
EVT_CALL(GetEntryID, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_EQ(osr_01_ENTRY_3)
EVT_CALL(EnableModel, MODEL_o492, FALSE)
EVT_EXEC(N(EVS_Scene_Wishing))
EVT_CASE_DEFAULT
EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers)))
EVT_EXEC(EnterWalk)
EVT_END_SWITCH
EVT_WAIT(1)
EVT_RETURN
EVT_END
};

View File

@ -0,0 +1,117 @@
#include "osr_01.h"
#include "world/common/npc/Toad_Stationary.inc.c"
#include "world/common/complete/LetterDelivery.inc.c"
EvtScript N(EVS_Scene_Wishing) = {
EVT_CALL(DisablePlayerInput, TRUE)
EVT_CALL(DisablePlayerPhysics, TRUE)
EVT_CALL(SetPlayerActionState, ACTION_STATE_LAND)
EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE)
EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, 0, 400)
EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 0, 400)
EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(400.0))
EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(3.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_Toad, ANIM_Toad_Red_Talk, ANIM_Toad_Red_Idle, 0, MSG_HOS_006F)
EVT_WAIT(10)
EVT_CALL(GotoMap, EVT_PTR("mac_04"), mac_04_ENTRY_4)
EVT_WAIT(100)
EVT_RETURN
EVT_END
};
s32 N(LetterList)[] = {
ITEM_LETTER13,
ITEM_NONE
};
EvtScript N(EVS_NpcInteract_Toad) = {
EVT_SWITCH(GB_StoryProgress)
EVT_CASE_LT(STORY_CH0_MET_STAR_SPIRITS)
EVT_SET(LVar0, MSG_OSR_0000)
EVT_CASE_LT(STORY_CH1_SPOKE_WITH_MERLIN)
EVT_SET(LVar0, MSG_OSR_0001)
EVT_CASE_LT(STORY_CH1_STAR_SPRIT_DEPARTED)
EVT_SET(LVar0, MSG_OSR_0002)
EVT_CASE_LT(STORY_CH2_STAR_SPRIT_DEPARTED)
EVT_IF_EQ(GF_MAC03_BombedRock, FALSE)
EVT_SET(LVar0, MSG_OSR_0003)
EVT_ELSE
EVT_SET(LVar0, MSG_OSR_0004)
EVT_END_IF
EVT_CASE_LT(STORY_CH3_STAR_SPIRIT_RESCUED)
EVT_SET(LVar0, MSG_OSR_0005)
EVT_CASE_LT(STORY_CH4_STAR_SPRIT_DEPARTED)
EVT_IF_EQ(GF_MAC01_MailbagStolen, FALSE)
EVT_SET(LVar0, MSG_OSR_0006)
EVT_ELSE
EVT_IF_EQ(GF_MAC01_MailbagReturned, FALSE)
EVT_SET(LVar0, MSG_OSR_0007)
EVT_ELSE
EVT_SET(LVar0, MSG_OSR_0008)
EVT_END_IF
EVT_END_IF
EVT_CASE_LT(STORY_CH5_DEFEATED_FUZZIPEDE)
EVT_SET(LVar0, MSG_OSR_0009)
EVT_CASE_LT(STORY_CH5_STAR_SPRIT_DEPARTED)
EVT_SET(LVar0, MSG_OSR_000A)
EVT_CASE_LT(STORY_CH6_ARRIVED_AT_FLOWER_FIELDS)
EVT_SET(LVar0, MSG_OSR_000B)
EVT_CASE_LT(STORY_CH6_STAR_SPIRIT_RESCUED)
EVT_SET(LVar0, MSG_OSR_000C)
EVT_CASE_LT(STORY_CH7_INVITED_TO_STARBORN_VALLEY)
EVT_SET(LVar0, MSG_OSR_000D)
EVT_CASE_LT(STORY_CH7_STAR_SPRIT_DEPARTED)
EVT_SET(LVar0, MSG_OSR_000E)
EVT_CASE_LT(STORY_EPILOGUE)
EVT_SET(LVar0, MSG_OSR_000F)
EVT_END_SWITCH
EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Toad_Red_Talk, ANIM_Toad_Red_Idle, 0, LVar0)
EVT_CALL(N(LetterDelivery_Init),
NPC_Toad, ANIM_Toad_Red_Talk, ANIM_Toad_Red_Idle,
ITEM_LETTER13, ITEM_LETTER14,
MSG_OSR_0010, MSG_OSR_0011, MSG_OSR_0012, MSG_OSR_0013,
EVT_PTR(N(LetterList)))
EVT_EXEC_WAIT(N(EVS_DoLetterDelivery))
EVT_IF_EQ(LVarC, 1)
EVT_RETURN
EVT_END_IF
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_Toad) = {
EVT_CALL(GetEntryID, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_EQ(osr_01_ENTRY_3)
EVT_CALL(SetNpcPos, NPC_SELF, 0, 0, 400)
EVT_CALL(SetNpcYaw, NPC_SELF, 90)
EVT_CASE_DEFAULT
EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Toad)))
EVT_END_SWITCH
EVT_RETURN
EVT_END
};
StaticNpc N(NpcData_Toad) = {
.id = NPC_Toad,
.settings = &N(NpcSettings_Toad_Stationary),
.pos = { 25.0f, 0.0f, 130.0f },
.yaw = 270,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_10000 | ENEMY_FLAGS_100000,
.init = &N(EVS_NpcInit_Toad),
.drops = TOAD_DROPS,
.animations = TOAD_RED_ANIMS,
.tattle = MSG_NpcTattle_OSR_LovesToClean,
};
NpcGroupList N(DefaultNPCs) = {
NPC_GROUP(N(NpcData_Toad)),
{}
};

View File

@ -1,8 +0,0 @@
#include "osr_02.h"
static char* N(exit_str_0) = "kpa_121";
static char* N(exit_str_1) = "kkj_10";
static char* N(exit_str_2) = "hos_10";
static char* N(exit_str_3) = "";
#include "world/common/todo/SetPlayerSpriteSet2.inc.c"

View File

@ -1,8 +0,0 @@
#include "osr_02.h"
ApiStatus func_80240020_AB2190(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
gPlayerStatus.availableDisguiseType = evt_get_float_variable(script, *args++);
return ApiStatus_DONE2;
}

View File

@ -1,23 +0,0 @@
#include "osr_02.h"
extern s16 D_8024253C_AB46AC[];
ApiStatus func_80240060_AB21D0(Evt* script, s32 isInitialCall) {
Npc* npc;
if (isInitialCall) {
script->functionTemp[1] = 0.0f;
script->functionTempPtr[2] = get_npc_safe(script->owner2.npcID);
script->functionTemp[3] = D_8024253C_AB46AC[script->owner2.npcID - 2];
}
if (script->functionTemp[3] != 0) {
script->functionTemp[3]--;
return ApiStatus_BLOCK;
}
npc = script->functionTempPtr[2];
npc->verticalRenderOffset = sin_deg(script->functionTempF[1]) * 1.5f;
script->functionTempF[1] = clamp_angle(script->functionTempF[1] + 18.0f);
return ApiStatus_BLOCK;
}

View File

@ -1,3 +0,0 @@
#include "osr_02.h"
#include "world/common/todo/GetPeachDisguise.inc.c"

View File

@ -2,8 +2,41 @@
/// @brief Peach's Castle Grounds - Hijacked Castle Entrance
#include "common.h"
#include "../osr.h"
#include "message_ids.h"
#include "map.h"
#include "../osr.h"
#include "mapfs/osr_02_shape.h"
#include "mapfs/osr_02_hit.h"
#include "sprite/npc/Twink.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/StarRod.h"
enum {
NPC_Clubba = 0,
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,
NPC_StarRod = 9,
};
#define NAMESPACE osr_02
extern EvtScript N(EVS_Main);
extern EvtScript N(EVS_Scene_ReturnStarRod);
extern EvtScript N(EVS_MakeEntities);
extern NpcGroupList N(PeachNPCs);
extern NpcGroupList N(DefaultNPCs);

View File

@ -0,0 +1,19 @@
#include "osr_02.h"
s32 N(map_init)(void) {
gGameStatusPtr->playerSpriteSet = PLAYER_SPRITES_COMBINED_EPILOGUE;
return FALSE;
}
EntryList N(Entrances) = {
[osr_02_ENTRY_0] { -205.0, 0.0, 55.0, 135.0 },
[osr_02_ENTRY_1] { 0.0, 20.0, -290.0, 180.0 },
};
MapSettings N(settings) = {
.main = &N(EVS_Main),
.entryList = &N(Entrances),
.entryCount = ENTRY_COUNT(N(Entrances)),
.background = &gBackgroundImage,
.tattle = { MSG_MapTattle_osr_02 },
};

View File

@ -0,0 +1,131 @@
#include "osr_02.h"
#include "effects.h"
API_CALLABLE(N(SetAvailableDisguise)) {
Bytecode* args = script->ptrReadPos;
gPlayerStatus.availableDisguiseType = evt_get_float_variable(script, *args++);
return ApiStatus_DONE2;
}
EvtScript N(EVS_ExitDoor_kpa_121_1) = {
EVT_SET_GROUP(EVT_GROUP_1B)
EVT_CALL(DisablePlayerInput, TRUE)
EVT_CALL(UseDoorSounds, DOOR_SOUNDS_METAL)
EVT_SET(LVar0, osr_02_ENTRY_0)
EVT_SET(LVar1, COLLIDER_tt1)
EVT_SET(LVar2, MODEL_o570)
EVT_SET(LVar3, DOOR_SWING_IN)
EVT_EXEC(ExitSingleDoor)
EVT_WAIT(17)
EVT_CALL(GotoMap, EVT_PTR("kpa_121"), kpa_121_ENTRY_1)
EVT_WAIT(100)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_ExitDoor_kkj_10_0) = {
EVT_SET_GROUP(EVT_GROUP_1B)
EVT_CALL(DisablePlayerInput, TRUE)
EVT_CALL(UseDoorSounds, DOOR_SOUNDS_LARGE)
EVT_SET(LVar0, osr_02_ENTRY_1)
EVT_SET(LVar1, COLLIDER_tt2)
EVT_SET(LVar2, MODEL_d2)
EVT_SET(LVar3, MODEL_d1)
EVT_EXEC(ExitDoubleDoor)
EVT_WAIT(17)
EVT_CALL(GotoMap, EVT_PTR("kkj_10"), kkj_10_ENTRY_0)
EVT_WAIT(100)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_KeepPeachFromBowsersCastle) = {
EVT_CALL(DisablePlayerInput, TRUE)
EVT_CALL(DisablePartnerAI, 1)
EVT_CALL(SpeakToPlayer, NPC_PARTNER, ANIM_Twink_Talk, ANIM_Twink_Idle, 0, MSG_Peach_0180)
EVT_CALL(EnablePartnerAI)
EVT_CALL(DisablePlayerInput, FALSE)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_BindExitTriggers) = {
EVT_IF_EQ(GB_StoryProgress, STORY_CH6_BEGAN_PEACH_MISSION)
EVT_BIND_TRIGGER(EVT_PTR(N(EVS_KeepPeachFromBowsersCastle)), TRIGGER_WALL_PRESS_A, COLLIDER_tt1, 1, 0)
EVT_ELSE
EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitDoor_kpa_121_1)), TRIGGER_WALL_PRESS_A, COLLIDER_tt1, 1, 0)
EVT_END_IF
EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitDoor_kkj_10_0)), TRIGGER_WALL_PRESS_A, COLLIDER_tt2, 1, 0)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_EnterMap) = {
EVT_CALL(GetLoadType, LVar1)
EVT_IF_EQ(LVar1, LOAD_FROM_FILE_SELECT)
EVT_EXEC(EnterSavePoint)
EVT_EXEC(N(EVS_BindExitTriggers))
EVT_RETURN
EVT_END_IF
EVT_CALL(GetEntryID, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_EQ(osr_02_ENTRY_0)
EVT_CALL(UseDoorSounds, DOOR_SOUNDS_METAL)
EVT_SET(LVar2, MODEL_o570)
EVT_SET(LVar3, DOOR_SWING_IN)
EVT_EXEC_WAIT(EnterSingleDoor)
EVT_CASE_EQ(osr_02_ENTRY_1)
EVT_CALL(UseDoorSounds, DOOR_SOUNDS_LARGE)
EVT_SET(LVar2, MODEL_d2)
EVT_SET(LVar3, MODEL_d1)
EVT_EXEC_WAIT(EnterDoubleDoor)
EVT_CASE_EQ(osr_02_ENTRY_2)
EVT_EXEC(N(EVS_Scene_ReturnStarRod))
EVT_END_SWITCH
EVT_EXEC(N(EVS_BindExitTriggers))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Main) = {
EVT_SET(GB_WorldLocation, LOCATION_PEACHS_CASTLE)
EVT_IF_GT(GB_StoryProgress, STORY_CH8_REACHED_BOWSERS_CASTLE)
EVT_SET(GF_MAP_PeachsCastle, TRUE)
EVT_END_IF
EVT_CALL(SetSpriteShading, SHADING_OSR_02)
EVT_SETUP_CAMERA_NO_LEAD()
EVT_IF_EQ(GB_StoryProgress, STORY_CH6_BEGAN_PEACH_MISSION)
EVT_CALL(N(SetAvailableDisguise), PEACH_DISGUISE_CLUBBA)
EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(PeachNPCs)))
EVT_END_IF
EVT_CALL(GetEntryID, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_EQ(osr_02_ENTRY_2)
EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs)))
EVT_END_SWITCH
EVT_EXEC_WAIT(N(EVS_MakeEntities))
EVT_IF_EQ(GF_KKJ25_Defeated_Bowser, FALSE)
EVT_PLAY_EFFECT(EFFECT_FLAME, 3, EVT_FLOAT(-269.16895), EVT_FLOAT(50.0), EVT_FLOAT(100.22), 1, LVar0)
EVT_PLAY_EFFECT(EFFECT_FLAME, 3, EVT_FLOAT(-2.6025392), EVT_FLOAT(50.0), EVT_FLOAT(161.58301), 1, LVar0)
EVT_PLAY_EFFECT(EFFECT_FLAME, 3, EVT_FLOAT(182.14648), EVT_FLOAT(50.0), EVT_FLOAT(158.0332), 1, LVar0)
EVT_PLAY_EFFECT(EFFECT_FLAME, 3, EVT_FLOAT(346.93848), EVT_FLOAT(50.0), EVT_FLOAT(31.861328), 1, LVar0)
EVT_PLAY_EFFECT(EFFECT_FLAME, 3, EVT_FLOAT(291.04492), EVT_FLOAT(86.206055), EVT_FLOAT(-191.08205), 1, LVar0)
EVT_PLAY_EFFECT(EFFECT_FLAME, 3, EVT_FLOAT(-105.39165), EVT_FLOAT(70.0), EVT_FLOAT(-203.115235), 1, LVar0)
EVT_PLAY_EFFECT(EFFECT_FLAME, 3, EVT_FLOAT(-52.5), EVT_FLOAT(70.0), EVT_FLOAT(-233.73735), 1, LVar0)
EVT_PLAY_EFFECT(EFFECT_FLAME, 3, EVT_FLOAT(52.5), EVT_FLOAT(70.0), EVT_FLOAT(-233.73735), 1, LVar0)
EVT_PLAY_EFFECT(EFFECT_FLAME, 3, EVT_FLOAT(108.2295), EVT_FLOAT(70.0), EVT_FLOAT(-200.6), 1, LVar0)
EVT_ELSE
EVT_CALL(EnableGroup, MODEL_g116, FALSE)
EVT_END_IF
EVT_IF_GE(GB_StoryProgress, STORY_CH8_REACHED_BOWSERS_CASTLE)
EVT_CALL(FadeOutMusic, 0, 500)
EVT_END_IF
EVT_EXEC(N(EVS_EnterMap))
EVT_WAIT(1)
EVT_IF_EQ(GB_StoryProgress, STORY_CH8_REACHED_BOWSERS_CASTLE)
EVT_SET(GB_StoryProgress, STORY_CH8_REACHED_PEACHS_CASTLE)
EVT_END_IF
EVT_RETURN
EVT_END
};

View File

@ -0,0 +1,16 @@
#include "osr_02.h"
#include "entity.h"
EvtScript N(EVS_MakeEntities) = {
EVT_IF_EQ(GF_KKJ25_Defeated_Bowser, TRUE)
EVT_RETURN
EVT_END_IF
EVT_IF_LT(GB_StoryProgress, STORY_CH7_STAR_SPRIT_DEPARTED)
EVT_RETURN
EVT_END_IF
EVT_CALL(MakeEntity, EVT_PTR(Entity_HiddenYellowBlock), 180, 60, -15, 0, ITEM_ULTRA_SHROOM, MAKE_ENTITY_END)
EVT_CALL(AssignBlockFlag, GF_OSR02_HiddenItem_UltraShroom)
EVT_CALL(MakeEntity, EVT_PTR(Entity_SavePoint), -100, 60, -50, 0, MAKE_ENTITY_END)
EVT_RETURN
EVT_END
};

View File

@ -0,0 +1,695 @@
#include "osr_02.h"
#include "effects.h"
NpcSettings N(NpcSettings_Peach) = {
.height = 46,
.radius = 36,
.level = 99,
};
#include "world/common/npc/Twink.inc.c"
#include "world/common/npc/StarSpirit.inc.c"
EvtScript N(EVS_NpcAuxAI_StarRod) = {
EVT_RETURN
EVT_END
};
NpcSettings N(NpcSettings_StarRod) = {
.height = 24,
.radius = 24,
.level = 99,
.otherAI = &N(EVS_NpcAuxAI_StarRod),
};
Vec3f N(FlightPath_TwinkStepForward)[] = {
{ -10.0, 40.0, 10.0 },
{ 15.0, 33.0, 20.0 },
{ 50.0, 30.0, 30.0 },
};
Vec3f N(FlightPath_TwinkDepart)[] = {
{ 50.0, 30.0, 30.0 },
{ 70.0, 45.0, 10.0 },
{ 90.0, 60.0, 30.0 },
{ 70.0, 75.0, 50.0 },
{ 50.0, 90.0, 30.0 },
{ 70.0, 105.0, 10.0 },
{ 90.0, 120.0, 30.0 },
{ 70.0, 135.0, 50.0 },
{ 50.0, 150.0, 30.0 },
{ 70.0, 165.0, 10.0 },
{ 90.0, 180.0, 30.0 },
{ 70.0, 195.0, 50.0 },
{ 50.0, 210.0, 30.0 },
};
EvtScript N(EVS_StarSpirit_FlyAway) = {
EVT_CALL(SetNpcFlagBits, LVar4, NPC_FLAG_40000, TRUE)
EVT_THREAD
EVT_LOOP(30)
EVT_CALL(GetNpcPos, LVar4, LVar0, LVar1, LVar2)
EVT_PLAY_EFFECT(EFFECT_SPARKLES, 3, LVar0, LVar1, LVar2, 20)
EVT_WAIT(6)
EVT_END_LOOP
EVT_END_THREAD
EVT_THREAD
EVT_LOOP(30)
EVT_CALL(GetNpcPos, LVar4, LVar0, LVar1, LVar2)
EVT_ADD(LVar1, 20)
EVT_PLAY_EFFECT(EFFECT_SPARKLES, 4, LVar0, LVar1, LVar2, 40)
EVT_WAIT(8)
EVT_END_LOOP
EVT_END_THREAD
EVT_THREAD
EVT_CALL(MakeLerp, 0, 1800, 100, EASING_CUBIC_IN)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(SetNpcRotation, LVar4, 0, LVar0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_END_THREAD
EVT_CALL(GetNpcPos, LVar4, LVar7, LVar8, LVar9)
EVT_CALL(MakeLerp, 80, 260, 100, EASING_CUBIC_IN)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(SetNpcPos, LVar4, LVar7, LVar0, LVar9)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_CALL(SetNpcPos, LVar4, LVar7, NPC_DISPOSE_POS_Y, LVar9)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Twink_FlyAway) = {
EVT_THREAD
EVT_LOOP(30)
EVT_CALL(GetNpcPos, NPC_Twink, LVar0, LVar1, LVar2)
EVT_PLAY_EFFECT(EFFECT_SPARKLES, 3, LVar0, LVar1, LVar2, 20)
EVT_WAIT(6)
EVT_END_LOOP
EVT_END_THREAD
EVT_THREAD
EVT_LOOP(30)
EVT_CALL(GetNpcPos, NPC_Twink, LVar0, LVar1, LVar2)
EVT_ADD(LVar1, 20)
EVT_PLAY_EFFECT(EFFECT_SPARKLES, 4, LVar0, LVar1, LVar2, 40)
EVT_WAIT(8)
EVT_END_LOOP
EVT_END_THREAD
EVT_THREAD
EVT_CALL(MakeLerp, 0, 2160, 120, EASING_CUBIC_IN)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(SetNpcRotation, NPC_Twink, 0, LVar0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_END_THREAD
EVT_THREAD
EVT_CALL(PlaySoundAtNpc, NPC_Twink, SOUND_62, 0)
EVT_CALL(LoadPath, 120, EVT_PTR(N(FlightPath_TwinkDepart)), ARRAY_COUNT(N(FlightPath_TwinkDepart)), EASING_QUADRATIC_IN)
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_CALL(SetNpcPos, NPC_Twink, LVar1, NPC_DISPOSE_POS_Y, LVar3)
EVT_END_THREAD
EVT_THREAD
EVT_CALL(AdjustCam, CAM_DEFAULT, EVT_FLOAT(0.5), 0, 550, EVT_FLOAT(17.0), EVT_FLOAT(-10.0))
EVT_END_THREAD
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Scene_ReturnStarRod) = {
EVT_CALL(DisablePlayerInput, TRUE)
EVT_CALL(DisablePartnerAI, 0)
EVT_CALL(SetMusicTrack, 0, SONG_STAR_SPIRIT_THEME, 2, 8)
EVT_CALL(SetPlayerPos, 15, 0, 30)
EVT_CALL(InterpPlayerYaw, 90, 0)
EVT_CALL(GetNpcPos, NPC_PARTNER, LVar0, LVar1, LVar2)
EVT_CALL(SetNpcPos, NPC_PARTNER, -70, LVar1, 15)
EVT_CALL(SetNpcYaw, NPC_PARTNER, 90)
EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_RUN)
EVT_CALL(GetNpcPos, NPC_Eldstar, LVar0, LVar1, LVar2)
EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2)
EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2)
EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(17.0), EVT_FLOAT(-7.0))
EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(700.0))
EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0))
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1)
EVT_WAIT(1)
EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(350.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_WAIT(20)
EVT_CALL(SetPlayerAnimation, ANIM_Mario_60005)
EVT_CALL(SetNpcPos, NPC_StarRod, 30, 25, 30)
EVT_WAIT(20)
EVT_CALL(SetNpcAnimation, NPC_Eldstar, ANIM_WorldEldstar_Leap)
EVT_CALL(GetNpcPos, NPC_Eldstar, LVar0, LVar1, LVar2)
EVT_SET(LVar1, 80)
EVT_SET(LVar2, 35)
EVT_CALL(SetNpcJumpscale, NPC_StarRod, EVT_FLOAT(0.5))
EVT_CALL(NpcJump1, NPC_StarRod, LVar0, LVar1, LVar2, 20)
EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002)
EVT_CALL(PlaySound, SOUND_139)
EVT_LOOP(6)
EVT_PLAY_EFFECT(EFFECT_RADIAL_SHIMMER, 9, LVar0, LVar1, LVar2, 1, 20)
EVT_PLAY_EFFECT(EFFECT_SPARKLES, 1, LVar0, LVar1, LVar2, 30)
EVT_WAIT(10)
EVT_END_LOOP
EVT_LOOP(20)
EVT_ADD(LVar1, -1)
EVT_CALL(SetNpcPos, NPC_StarRod, LVar0, LVar1, LVar2)
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(SetNpcPos, NPC_StarRod, NPC_DISPOSE_LOCATION)
EVT_WAIT(20)
EVT_CALL(SetNpcAnimation, NPC_Eldstar, ANIM_WorldEldstar_Idle)
EVT_WAIT(10)
EVT_CALL(SpeakToPlayer, NPC_Eldstar, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle, 0, MSG_Outro_0000)
EVT_WAIT(10)
EVT_THREAD
EVT_WAIT(5)
EVT_CALL(SetNpcJumpscale, NPC_Eldstar, EVT_FLOAT(0.0))
EVT_CALL(NpcJump0, NPC_Eldstar, 120, 80, 0, 40)
EVT_CALL(InterpNpcYaw, NPC_Eldstar, 270, 0)
EVT_END_THREAD
EVT_CALL(GetNpcPos, NPC_Eldstar, LVar0, LVar1, LVar2)
EVT_SET(LVar0, 120)
EVT_SET(LVar1, 80)
EVT_SET(LVar2, 0)
EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2)
EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2)
EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(1.0))
EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(300.0))
EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(17.0), EVT_FLOAT(-5.5))
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1)
EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0))
EVT_WAIT(10)
EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(1.0))
EVT_CALL(GetNpcPos, NPC_Mamar, 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.0), EVT_FLOAT(-5.5))
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1)
EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0))
EVT_CALL(SpeakToPlayer, NPC_Mamar, ANIM_WorldMamar_TalkHappy, ANIM_WorldMamar_Idle, 0, MSG_Outro_0001)
EVT_CALL(GetNpcPos, NPC_Skolar, 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.0), EVT_FLOAT(-5.5))
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1)
EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0))
EVT_CALL(SpeakToPlayer, NPC_Skolar, ANIM_WorldSkolar_TalkAngry, ANIM_WorldSkolar_Idle, 0, MSG_Outro_0002)
EVT_CALL(GetNpcPos, NPC_Muskular, 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.0), EVT_FLOAT(-5.5))
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1)
EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0))
EVT_CALL(SpeakToPlayer, NPC_Muskular, ANIM_WorldMuskular_Talk, ANIM_WorldMuskular_Idle, 0, MSG_Outro_0003)
EVT_CALL(GetNpcPos, NPC_Misstar, 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.0), EVT_FLOAT(-5.5))
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1)
EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0))
EVT_CALL(SpeakToPlayer, NPC_Misstar, ANIM_WorldMisstar_Talk, ANIM_WorldMisstar_Idle, 0, MSG_Outro_0004)
EVT_CALL(GetNpcPos, NPC_Klevar, 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.0), EVT_FLOAT(-5.5))
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1)
EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0))
EVT_CALL(SpeakToPlayer, NPC_Klevar, ANIM_WorldKlevar_Talk, ANIM_WorldKlevar_Idle, 0, MSG_Outro_0005)
EVT_CALL(GetNpcPos, NPC_Kalmar, 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.0), EVT_FLOAT(-5.5))
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1)
EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0))
EVT_CALL(SpeakToPlayer, NPC_Kalmar, ANIM_WorldKalmar_Talk, ANIM_WorldKalmar_Idle, 0, MSG_Outro_0006)
EVT_CALL(GetNpcPos, NPC_Eldstar, 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.0), EVT_FLOAT(-5.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_Outro_0007)
EVT_CALL(GetNpcPos, NPC_Twink, 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(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(17.0), EVT_FLOAT(-2.0))
EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(300.0))
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1)
EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0))
EVT_WAIT(5)
EVT_CALL(SpeakToPlayer, NPC_Twink, ANIM_Twink_Talk, ANIM_Twink_Idle, 5, MSG_Outro_0008)
EVT_CALL(GetNpcPos, NPC_Eldstar, 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(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(17.0), EVT_FLOAT(-6.0))
EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(275.0))
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_Outro_0009)
EVT_WAIT(20)
EVT_CALL(AdjustCam, CAM_DEFAULT, EVT_FLOAT(90.0), 70, 400, EVT_FLOAT(17.0), EVT_FLOAT(-11.0))
EVT_CALL(SetPlayerAnimation, ANIM_Mario_1002A)
EVT_THREAD
EVT_SET(LVar4, NPC_Eldstar)
EVT_CALL(PlaySoundAtNpc, LVar4, SOUND_2045, 0)
EVT_EXEC_WAIT(N(EVS_StarSpirit_FlyAway))
EVT_END_THREAD
EVT_THREAD
EVT_WAIT(30)
EVT_SET(LVar4, NPC_Misstar)
EVT_CALL(PlaySoundAtNpc, LVar4, SOUND_2046, 0)
EVT_EXEC_WAIT(N(EVS_StarSpirit_FlyAway))
EVT_END_THREAD
EVT_THREAD
EVT_WAIT(60)
EVT_SET(LVar4, NPC_Skolar)
EVT_CALL(PlaySoundAtNpc, LVar4, SOUND_2045, 0)
EVT_EXEC_WAIT(N(EVS_StarSpirit_FlyAway))
EVT_END_THREAD
EVT_THREAD
EVT_WAIT(90)
EVT_SET(LVar4, NPC_Mamar)
EVT_CALL(PlaySoundAtNpc, LVar4, SOUND_2046, 0)
EVT_EXEC_WAIT(N(EVS_StarSpirit_FlyAway))
EVT_END_THREAD
EVT_THREAD
EVT_WAIT(120)
EVT_SET(LVar4, NPC_Kalmar)
EVT_CALL(PlaySoundAtNpc, LVar4, SOUND_2045, 0)
EVT_EXEC_WAIT(N(EVS_StarSpirit_FlyAway))
EVT_END_THREAD
EVT_THREAD
EVT_WAIT(150)
EVT_SET(LVar4, NPC_Muskular)
EVT_CALL(PlaySoundAtNpc, LVar4, SOUND_2046, 0)
EVT_EXEC_WAIT(N(EVS_StarSpirit_FlyAway))
EVT_END_THREAD
EVT_WAIT(180)
EVT_SET(LVar4, NPC_Klevar)
EVT_CALL(PlaySoundAtNpc, LVar4, SOUND_2045, 0)
EVT_EXEC_WAIT(N(EVS_StarSpirit_FlyAway))
EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002)
EVT_WAIT(20)
EVT_CALL(SetMusicTrack, 0, SONG_TWINK_THEME, 1, 8)
EVT_CALL(LoadPath, 30, EVT_PTR(N(FlightPath_TwinkStepForward)), ARRAY_COUNT(N(FlightPath_TwinkStepForward)), 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(5)
EVT_CALL(InterpNpcYaw, NPC_Twink, 270, 0)
EVT_WAIT(10)
EVT_CALL(GetNpcPos, NPC_Twink, LVar0, LVar1, LVar2)
EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2)
EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2)
EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(17.0), EVT_FLOAT(-4.0))
EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(300.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_CALL(SpeakToPlayer, NPC_Twink, ANIM_Twink_Talk, ANIM_Twink_Idle, 0, MSG_Outro_000A)
EVT_WAIT(10)
EVT_CALL(SetNpcAnimation, NPC_Peach, ANIM_Peach_C0000)
EVT_WAIT(10)
EVT_CALL(SetNpcAnimation, NPC_Peach, ANIM_Peach_C0026)
EVT_CALL(SpeakToPlayer, NPC_Peach, ANIM_Peach_C0001, ANIM_Peach_C0026, 5, MSG_Outro_000B)
EVT_CALL(SetNpcAnimation, NPC_Peach, ANIM_Peach_C0002)
EVT_WAIT(10)
EVT_CALL(SetNpcAnimation, NPC_Peach, ANIM_Peach_A0001)
EVT_WAIT(10)
EVT_CALL(SetNpcAnimation, NPC_Twink, ANIM_Twink_Disappointed)
EVT_CALL(SpeakToPlayer, NPC_Twink, ANIM_Twink_Disappointed, ANIM_Twink_Disappointed, 0, MSG_Outro_000C)
EVT_CALL(SetNpcAnimation, NPC_Twink, ANIM_Twink_Idle)
EVT_CALL(EndSpeech, NPC_Twink, ANIM_Twink_Talk, ANIM_Twink_Idle, 0)
EVT_WAIT(20)
EVT_EXEC(N(EVS_Twink_FlyAway))
EVT_CALL(SetPlayerAnimation, ANIM_Mario_1002A)
EVT_WAIT(250)
EVT_CALL(SetNpcAnimation, NPC_Peach, ANIM_Peach_A0002)
EVT_CALL(NpcMoveTo, NPC_Peach, -10, 30, 40)
EVT_CALL(SetNpcAnimation, NPC_Peach, ANIM_Peach_A0001)
EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002)
EVT_CALL(InterpPlayerYaw, 270, 0)
EVT_WAIT(60)
EVT_CALL(InterpPlayerYaw, 90, 0)
EVT_CALL(SetPlayerAnimation, ANIM_Mario_1002A)
EVT_WAIT(20)
EVT_CALL(GotoMap, EVT_PTR("hos_10"), hos_10_ENTRY_2)
EVT_WAIT(100)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_Peach) = {
EVT_CALL(SetNpcPos, NPC_SELF, -25, 0, 40)
EVT_CALL(InterpNpcYaw, NPC_SELF, 90, 0)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_Twink) = {
EVT_CALL(SetNpcPos, NPC_SELF, -10, 40, 10)
EVT_CALL(SetNpcYaw, NPC_SELF, 90)
EVT_RETURN
EVT_END
};
s16 N(SpiritHoverOffsets)[] = {
1, 3, 5, 7, 7, 5, 3
};
API_CALLABLE(N(AnimateSpiritHover)) {
Npc* npc;
if (isInitialCall) {
script->functionTemp[1] = 0.0f;
script->functionTempPtr[2] = get_npc_safe(script->owner2.npcID);
script->functionTemp[3] = N(SpiritHoverOffsets)[script->owner2.npcID - 2];
}
if (script->functionTemp[3] != 0) {
script->functionTemp[3]--;
return ApiStatus_BLOCK;
}
npc = script->functionTempPtr[2];
npc->verticalRenderOffset = sin_deg(script->functionTempF[1]) * 1.5f;
script->functionTempF[1] = clamp_angle(script->functionTempF[1] + 18.0f);
return ApiStatus_BLOCK;
}
EvtScript N(EVS_NpcAux_Eldstar) = {
EVT_CALL(N(AnimateSpiritHover))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_Eldstar) = {
EVT_CALL(SetNpcPos, NPC_Eldstar, 60, 20, 30)
EVT_CALL(NpcFacePlayer, NPC_SELF, 0)
EVT_CALL(BindNpcAux, NPC_SELF, EVT_PTR(N(EVS_NpcAux_Eldstar)))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_Mamar) = {
EVT_CALL(SetNpcPos, NPC_SELF, 66, 80, -27)
EVT_CALL(NpcFacePlayer, NPC_SELF, 0)
EVT_CALL(BindNpcAux, NPC_SELF, EVT_PTR(N(EVS_NpcAux_Eldstar)))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_Skolar) = {
EVT_CALL(SetNpcPos, NPC_SELF, 53, 80, -95)
EVT_CALL(NpcFacePlayer, NPC_SELF, 0)
EVT_CALL(BindNpcAux, NPC_SELF, EVT_PTR(N(EVS_NpcAux_Eldstar)))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_Muskular) = {
EVT_CALL(SetNpcPos, NPC_SELF, 91, 80, -132)
EVT_CALL(NpcFacePlayer, NPC_SELF, 0)
EVT_CALL(BindNpcAux, NPC_SELF, EVT_PTR(N(EVS_NpcAux_Eldstar)))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_Misstar) = {
EVT_CALL(SetNpcPos, NPC_SELF, 151, 80, -132)
EVT_CALL(NpcFacePlayer, NPC_SELF, 0)
EVT_CALL(BindNpcAux, NPC_SELF, EVT_PTR(N(EVS_NpcAux_Eldstar)))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_Klevar) = {
EVT_CALL(SetNpcPos, NPC_SELF, 189, 80, -95)
EVT_CALL(NpcFacePlayer, NPC_SELF, 0)
EVT_CALL(BindNpcAux, NPC_SELF, EVT_PTR(N(EVS_NpcAux_Eldstar)))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_Kalmar) = {
EVT_CALL(SetNpcPos, NPC_SELF, 176, 80, -27)
EVT_CALL(NpcFacePlayer, NPC_SELF, 0)
EVT_CALL(BindNpcAux, NPC_SELF, EVT_PTR(N(EVS_NpcAux_Eldstar)))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_StarRod) = {
EVT_RETURN
EVT_END
};
s32 N(ExtraAnims_Peach)[] = {
ANIM_Peach_A0001,
ANIM_Peach_A0002,
ANIM_Peach_C0000,
ANIM_Peach_C0001,
ANIM_Peach_C0002,
ANIM_Peach_C0006,
ANIM_Peach_C001E,
ANIM_Peach_C0026,
-1
};
s32 N(ExtraAnims_Twink)[] = {
ANIM_Twink_Idle,
ANIM_Twink_Talk,
ANIM_Twink_Disappointed,
-1
};
s32 N(ExtraAnims_Eldstar)[] = {
ANIM_WorldEldstar_Idle,
ANIM_WorldEldstar_Wave,
ANIM_WorldEldstar_Leap,
-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_Peach),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 270,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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_Twink),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 270,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_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_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_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_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_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_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_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_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_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_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_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_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_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_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Kalmar),
.drops = NPC_NO_DROPS,
.animations = KALMAR_ANIMS,
.extraAnimations = N(ExtraAnims_Kalmar),
},
{
.id = NPC_StarRod,
.settings = &N(NpcSettings_StarRod),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 270,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_StarRod),
.drops = NPC_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(DefaultNPCs) = {
NPC_GROUP(N(NpcData_Spirits)),
{}
};

View File

@ -0,0 +1,91 @@
#include "osr_02.h"
#include "world/common/todo/GetPeachDisguise.inc.c"
#include "world/common/enemy/complete/Clubba.inc.c"
s32 N(ExtraAnims_Clubba)[] = {
ANIM_WorldClubba_Anim00,
ANIM_WorldClubba_Anim02,
ANIM_WorldClubba_Anim03,
ANIM_WorldClubba_Anim04,
ANIM_WorldClubba_Anim05,
ANIM_WorldClubba_Anim08,
ANIM_WorldClubba_Anim07,
ANIM_WorldClubba_Anim13,
ANIM_WorldClubba_Anim14,
-1
};
EvtScript N(EVS_NpcInteract_Clubba) = {
EVT_CALL(DisablePlayerInput, TRUE)
EVT_CALL(CancelMessage)
EVT_WAIT(10)
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldClubba_Anim08)
EVT_WAIT(10)
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldClubba_Anim02)
EVT_CALL(N(GetPeachDisguise), LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_EQ(0)
EVT_SET(LVar1, MSG_Peach_014A)
EVT_CASE_EQ(3)
EVT_SET(LVar1, MSG_Peach_014B)
EVT_CASE_DEFAULT
EVT_SET(LVar1, MSG_Peach_014C)
EVT_END_SWITCH
EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldClubba_Anim05, ANIM_WorldClubba_Anim02, 16, LVar1)
EVT_WAIT(10)
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldClubba_Anim07)
EVT_CALL(DisablePlayerInput, FALSE)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcIdle_Clubba) = {
EVT_CALL(SetSelfVar, 0, 0)
EVT_CALL(GetNpcPos, NPC_SELF, LVar1, LVar2, LVar3)
EVT_LOOP(0)
EVT_CALL(GetSelfVar, 0, LVar0)
EVT_IF_EQ(LVar0, 0)
EVT_CALL(AwaitPlayerApproach, LVar1, LVar3, 85)
EVT_THREAD
EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldClubba_Anim07, ANIM_WorldClubba_Anim07, 5, MSG_Peach_0149)
EVT_END_THREAD
EVT_CALL(SetSelfVar, 0, 1)
EVT_ELSE
EVT_CALL(AwaitPlayerLeave, LVar1, LVar3, 90)
EVT_CALL(CancelMessage)
EVT_CALL(SetSelfVar, 0, 0)
EVT_END_IF
EVT_WAIT(1)
EVT_END_LOOP
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_Clubba) = {
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldClubba_Anim07)
EVT_CALL(SetNpcPos, NPC_SELF, -40, 20, -170)
EVT_CALL(SetNpcYaw, NPC_SELF, 200)
EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Clubba)))
EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Clubba)))
EVT_RETURN
EVT_END
};
StaticNpc N(NpcData_Clubba) = {
.id = NPC_Clubba,
.settings = &N(NpcSettings_Clubba),
.pos = { -70.0f, 0.0f, -100.0f },
.yaw = 270,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_400000,
.init = &N(EVS_NpcInit_Clubba),
.drops = NPC_NO_DROPS,
.animations = CLUBBA_ANIMS,
.extraAnimations = N(ExtraAnims_Clubba),
};
NpcGroupList N(PeachNPCs) = {
NPC_GROUP(N(NpcData_Clubba)),
{}
};

View File

@ -1,12 +0,0 @@
#include "osr_03.h"
static char* N(exit_str_0) = "kkj_13";
static char* N(exit_str_1) = "hos_10";
static char* N(exit_str_2) = "kpa_60";
static char* N(exit_str_3) = "kkj_26";
static char* N(exit_str_4) = "kkj_14";
static char* N(exit_str_5) = "kkj_15";
static char* N(exit_str_6) = "hos_10\0";
static char* N(exit_str_7) = "";
#include "world/common/todo/SetPlayerSpriteSet2.inc.c"

View File

@ -1,85 +0,0 @@
#include "osr_03.h"
ApiStatus func_80240020_AB62B0(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
evt_set_variable(script, *args++, sin_deg(evt_get_variable(script, *args)) * 20.0f);
return ApiStatus_DONE2;
}
ApiStatus func_80240090_AB6320(Evt* script, s32 isInitialCall) {
gGameStatusPtr->peachFlags |= PEACH_STATUS_FLAG_IS_PEACH;
script->varTable[0] = gPlayerData.currentPartner;
gPlayerData.currentPartner = PARTNER_TWINK;
return ApiStatus_DONE2;
}
ApiStatus func_802400C4_AB6354(Evt* script, s32 isInitialCall) {
Npc* npc = get_npc_unsafe(0);
script->varTable[0] = npc->pos.x + (sin_deg(npc->yaw + gCameras[CAM_DEFAULT].currentYaw + 180.0f) * 20.0f);
script->varTable[1] = npc->pos.y + 18.0f;
script->varTable[2] = npc->pos.z - (cos_deg(npc->yaw + gCameras[CAM_DEFAULT].currentYaw + 180.0f) * 20.0f);
return ApiStatus_DONE2;
}
ApiStatus func_802401A0_AB6430(Evt* script, s32 isInitialCall) {
if (isInitialCall) {
script->functionTemp[1] = 0;
script->functionTemp[2] = 0;
}
switch (script->functionTemp[2]) {
case 0:
set_screen_overlay_color(0, 208, 208, 208);
set_screen_overlay_params_front(1, script->functionTemp[1]);
if (script->functionTemp[1] == 255) {
script->functionTemp[2] = 1;
break;
}
script->functionTemp[1] += 64;
if (script->functionTemp[1] < 256) {
break;
}
script->functionTemp[1] = 255;
break;
case 1:
set_screen_overlay_color(0, 208, 208, 208);
set_screen_overlay_params_front(1, script->functionTemp[1]);
if (script->functionTemp[1] == 0) {
return ApiStatus_DONE2;
}
script->functionTemp[1] -= 64;
if (script->functionTemp[1] <= 0) {
script->functionTemp[1] = 0;
}
break;
}
return ApiStatus_BLOCK;
}
ApiStatus func_80240290_AB6520(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
f32 frequency;
s32 duration;
if (isInitialCall) {
duration = evt_get_variable(script, *args++);
frequency = 2.0f * evt_get_float_variable(script, *args++);
script->functionTemp[0] = duration;
if (frequency > 10.0f) {
frequency = 10.0f;
}
start_rumble((u8) ((frequency / 10.0f) * 256.0f), (duration & 0xFFFF) * 2);
}
script->functionTemp[0] -= 1;
if (script->functionTemp[0] == 0)
{
return ApiStatus_DONE1;
}
return ApiStatus_BLOCK;
}

View File

@ -2,8 +2,36 @@
/// @brief Peach's Castle Grounds - Outside Hijacked Castle
#include "common.h"
#include "../osr.h"
#include "message_ids.h"
#include "map.h"
#include "../osr.h"
#include "mapfs/osr_03_shape.h"
#include "mapfs/osr_03_hit.h"
#include "sprite/npc/WorldKammy.h"
enum {
NPC_Kammy = 0,
};
enum {
MV_Starship_PosX = MapVar(10),
MV_Starship_PosY = MapVar(11),
MV_Starship_PosZ = MapVar(12),
MV_Starship_Yaw = MapVar(13),
MV_CastleLiftDist = MapVar(14),
};
#define NAMESPACE osr_03
extern EvtScript N(EVS_Main);
extern EvtScript N(EVS_AnimateSwingingChains);
extern EvtScript N(EVS_AnimateSpinningRing);
extern EvtScript N(MV_Scene_CastleAscending);
extern EvtScript N(MV_Scene_PlayerTossedOut);
extern EvtScript N(EVS_Scene_UnusedTossOut);
extern EvtScript N(EVS_Scene_BeginInterlude);
extern EvtScript N(EVS_Scene_Starship);
extern EvtScript N(EVS_Scene_CastleDestruction);
extern NpcGroupList N(DefaultNPCs);

View File

@ -0,0 +1,23 @@
#include "osr_03.h"
s32 N(map_init)(void) {
gGameStatusPtr->playerSpriteSet = PLAYER_SPRITES_COMBINED_EPILOGUE;
return FALSE;
}
EntryList N(Entrances) = {
[osr_03_ENTRY_0] { 0.0, 0.0, 604.0, 0.0 },
[osr_03_ENTRY_1] { 0.0, 0.0, 0.0, 270.0 },
[osr_03_ENTRY_2] { 0.0, 0.0, 290.0, 180.0 },
[osr_03_ENTRY_3] { 0.0, -50.0, 0.0, 180.0 },
[osr_03_ENTRY_4] { 0.0, 0.0, 0.0, 180.0 },
[osr_03_ENTRY_5] { 0.0, -50.0, 0.0, 180.0 },
[osr_03_ENTRY_6] { 0.0, 0.0, -290.0, 180.0 },
};
MapSettings N(settings) = {
.main = &N(EVS_Main),
.entryList = &N(Entrances),
.entryCount = ENTRY_COUNT(N(Entrances)),
.background = &gBackgroundImage,
};

View File

@ -0,0 +1,91 @@
#include "osr_03.h"
EvtScript N(EVS_HideGroundModels) = {
EVT_CALL(EnableGroup, MODEL_hiru, FALSE)
EVT_CALL(EnableGroup, MODEL_niwa, FALSE)
EVT_CALL(EnableGroup, MODEL_jimidori, FALSE)
EVT_CALL(EnableGroup, MODEL_kumo, FALSE)
EVT_CALL(EnableGroup, MODEL_ki1, FALSE)
EVT_CALL(EnableGroup, MODEL_jimen, FALSE)
EVT_CALL(EnableGroup, MODEL_kemuri, FALSE)
EVT_CALL(EnableGroup, MODEL_obj, FALSE)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_BindExitTriggers) = {
EVT_RETURN
EVT_END
};
EvtScript N(EVS_EnterMap) = {
EVT_CALL(GetEntryID, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_EQ(osr_03_ENTRY_1)
EVT_EXEC(N(MV_Scene_CastleAscending))
EVT_CASE_EQ(osr_03_ENTRY_2)
EVT_EXEC(N(MV_Scene_PlayerTossedOut))
EVT_CASE_EQ(osr_03_ENTRY_3)
EVT_EXEC(N(EVS_HideGroundModels))
EVT_EXEC(N(EVS_Scene_Starship))
EVT_CASE_EQ(osr_03_ENTRY_4)
EVT_WAIT(15)
EVT_EXEC(N(EVS_Scene_BeginInterlude))
EVT_CASE_EQ(osr_03_ENTRY_5)
EVT_EXEC(N(EVS_HideGroundModels))
EVT_EXEC(N(EVS_Scene_CastleDestruction))
EVT_CASE_EQ(osr_03_ENTRY_6)
EVT_EXEC(N(EVS_Scene_UnusedTossOut))
EVT_CASE_DEFAULT
EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers)))
EVT_EXEC(EnterWalk)
EVT_END_SWITCH
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Main) = {
EVT_SET(GB_WorldLocation, LOCATION_NONE)
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_SETUP_CAMERA_NO_LEAD()
EVT_CALL(GetEntryID, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_EQ(osr_03_ENTRY_4)
EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs)))
EVT_CASE_DEFAULT
EVT_END_SWITCH
EVT_SWITCH(GB_StoryProgress)
EVT_CASE_OR_EQ(STORY_CH0_MET_STAR_SPIRITS)
EVT_CASE_OR_EQ(STORY_CH1_STAR_SPIRIT_RESCUED)
EVT_CASE_OR_EQ(STORY_CH3_STAR_SPIRIT_RESCUED)
EVT_CALL(ClearAmbientSounds, 250)
EVT_CALL(SetMusicTrack, 0, SONG_PRISONER_PEACH_THEME, 0, 8)
EVT_END_CASE_GROUP
EVT_CASE_EQ(STORY_CH2_STAR_SPIRIT_RESCUED)
EVT_CALL(ClearAmbientSounds, 250)
EVT_CALL(SetMusicTrack, 0, SONG_BOWSER_THEME, 0, 8)
EVT_CASE_OR_EQ(STORY_CH4_STAR_SPIRIT_RESCUED)
EVT_CASE_OR_EQ(STORY_CH5_OPENED_ESCAPE_ROUTE)
EVT_CASE_OR_EQ(STORY_CH6_STAR_SPIRIT_RESCUED)
EVT_CALL(ClearAmbientSounds, 250)
EVT_CALL(SetMusicTrack, 0, SONG_PEACH_MISSION, 0, 8)
EVT_END_CASE_GROUP
EVT_CASE_EQ(STORY_CH7_STAR_SPIRIT_RESCUED)
EVT_CALL(ClearAmbientSounds, 250)
EVT_CALL(FadeOutMusic, 0, 500)
EVT_CASE_DEFAULT
EVT_IF_EQ(GF_KKJ25_Defeated_Bowser, FALSE)
EVT_ELSE
EVT_CALL(SetMusicTrack, 0, SONG_BOWSERS_CASTLE_FALLS, 0, 8)
EVT_END_IF
EVT_END_SWITCH
EVT_EXEC(N(EVS_EnterMap))
EVT_CALL(GetEntryID, LVar0)
EVT_IF_EQ(LVar0, osr_03_ENTRY_4)
EVT_WAIT(15)
EVT_ELSE
EVT_WAIT(1)
EVT_END_IF
EVT_RETURN
EVT_END
};

View File

@ -0,0 +1,65 @@
#include "osr_03.h"
NpcSettings N(NpcSettings_Kammy) = {
.height = 40,
.radius = 30,
.level = 26,
.onHit = &EnemyNpcHit,
.onDefeat = &EnemyNpcDefeat,
};
s32 N(ExtraAnims_Kammy)[] = {
ANIM_WorldKammy_Anim09,
ANIM_WorldKammy_Anim0A,
ANIM_WorldKammy_Anim0B,
ANIM_WorldKammy_Anim0C,
ANIM_WorldKammy_Anim0D,
ANIM_WorldKammy_Anim0E,
ANIM_WorldKammy_Anim0F,
ANIM_WorldKammy_Anim10,
ANIM_WorldKammy_Anim11,
ANIM_WorldKammy_Anim12,
ANIM_WorldKammy_Anim13,
ANIM_WorldKammy_Anim14,
ANIM_WorldKammy_Anim15,
ANIM_WorldKammy_Anim16,
ANIM_WorldKammy_Anim1A,
-1
};
StaticNpc N(NpcData_Kammy) = {
.id = NPC_Kammy,
.settings = &N(NpcSettings_Kammy),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 90,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = {
.dropFlags = NPC_DROP_FLAGS_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),
};
NpcGroupList N(DefaultNPCs) = {
NPC_GROUP(N(NpcData_Kammy)),
{}
};

View File

@ -0,0 +1,319 @@
#include "osr_03.h"
API_CALLABLE(N(MakeCastleChainAngle)) {
Bytecode* args = script->ptrReadPos;
evt_set_variable(script, *args++, sin_deg(evt_get_variable(script, *args)) * 20.0f);
return ApiStatus_DONE2;
}
Vec3f N(UnusedFallingPath1)[] = {
{ -100.0, 70.0, 873.0 },
{ -328.0, -10.0, 900.0 },
{ -406.0, -90.0, 958.0 },
{ -485.0, -170.0, 1010.0 },
{ -618.0, -230.0, 1075.0 },
};
EvtScript N(EVS_UnusedFalling1) = {
EVT_CALL(LoadPath, 90, EVT_PTR(N(UnusedFallingPath1)), ARRAY_COUNT(N(UnusedFallingPath1)), EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(GetNextPathPos)
EVT_CALL(SetPlayerPos, LVar1, LVar2, LVar3)
EVT_WAIT(1)
EVT_IF_NE(LVar0, 1)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_RETURN
EVT_END
};
Vec3f N(UnusedFallingPath2)[] = {
{ -1380.0, -2950.0, 2300.0 },
{ -1325.0, -3030.0, 2327.0 },
{ -1257.0, -3050.0, 2306.0 },
{ -1225.0, -3000.0, 2318.0 },
{ -1268.0, -3000.0, 2306.0 },
{ -1325.0, -3057.0, 2297.0 },
{ -1387.0, -3134.0, 2324.0 },
{ -1433.0, -3181.0, 2352.0 },
};
EvtScript N(EVS_UnusedFalling2) = {
EVT_CALL(LoadPath, 135, EVT_PTR(N(UnusedFallingPath2)), ARRAY_COUNT(N(UnusedFallingPath2)), EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(GetNextPathPos)
EVT_CALL(SetPlayerPos, LVar1, LVar2, LVar3)
EVT_WAIT(1)
EVT_IF_NE(LVar0, 1)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_RETURN
EVT_END
};
EvtScript N(EVS_AnimateSwingingChains) = {
EVT_LOOP(0)
EVT_CALL(MakeLerp, 90, -90, 30, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateGroup, MODEL_ku_ta, 0, MV_CastleLiftDist, 0)
EVT_CALL(N(MakeCastleChainAngle), LVar0)
EVT_CALL(RotateGroup, MODEL_ku_ta, LVar0, 0, 0, 1)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_LOOP(2)
EVT_CALL(TranslateGroup, MODEL_ku_ta, 0, MV_CastleLiftDist, 0)
EVT_CALL(RotateGroup, MODEL_ku_ta, -20, 0, 0, 1)
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(MakeLerp, -90, 90, 30, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateGroup, MODEL_ku_ta, 0, MV_CastleLiftDist, 0)
EVT_CALL(N(MakeCastleChainAngle), LVar0)
EVT_CALL(RotateGroup, MODEL_ku_ta, LVar0, 0, 0, 1)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_LOOP(2)
EVT_CALL(TranslateGroup, MODEL_ku_ta, 0, MV_CastleLiftDist, 0)
EVT_CALL(RotateGroup, MODEL_ku_ta, 20, 0, 0, 1)
EVT_WAIT(1)
EVT_END_LOOP
EVT_END_LOOP
EVT_RETURN
EVT_END
};
EvtScript N(EVS_AnimateSpinningRing) = {
EVT_LOOP(0)
EVT_CALL(MakeLerp, 45, -45, 60, EASING_QUADRATIC_OUT)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateGroup, MODEL_wa, 0, MV_CastleLiftDist, 0)
EVT_CALL(RotateGroup, MODEL_wa, LVar0, 0, 1, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_CALL(MakeLerp, -45, 45, 60, EASING_QUADRATIC_OUT)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateGroup, MODEL_wa, 0, MV_CastleLiftDist, 0)
EVT_CALL(RotateGroup, MODEL_wa, LVar0, 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_AnimateCastle) = {
EVT_SET(MV_CastleLiftDist, 0)
EVT_EXEC(N(EVS_AnimateSwingingChains))
EVT_EXEC(N(EVS_AnimateSpinningRing))
EVT_CALL(MakeLerp, -800, 4500, 400, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_SET(MV_CastleLiftDist, LVar0)
EVT_CALL(TranslateGroup, MODEL_g439, 0, LVar0, 0)
EVT_CALL(TranslateGroup, MODEL_kao, 0, LVar0, 0)
EVT_CALL(TranslateGroup, MODEL_yoru, 0, LVar0, 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_80241190) = {
EVT_CALL(MakeLerp, 0, -5000, 300, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateModel, MODEL_o1464, 0, LVar0, 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_80241224) = {
EVT_CALL(MakeLerp, 0, -5000, 300, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateModel, MODEL_o1502, 0, LVar0, 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_802412B8) = {
EVT_CALL(MakeLerp, 0, -5000, 300, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateModel, MODEL_o1465, 0, LVar0, 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_8024134C) = {
EVT_CALL(MakeLerp, 0, -5000, 300, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateModel, MODEL_o1503, 0, LVar0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_RETURN
EVT_END
};
EvtScript N(MV_Scene_CastleAscending) = {
EVT_CALL(SetMusicTrack, 0, SONG_BOWSER_ATTACKS, 0, 8)
EVT_CALL(DisablePlayerInput, TRUE)
EVT_CALL(DisablePlayerPhysics, TRUE)
EVT_CALL(SetPlayerPos, 0, 0, 2000)
EVT_CALL(EnableGroup, MODEL_hiru, FALSE)
EVT_CALL(EnableGroup, MODEL_niwa, FALSE)
EVT_CALL(EnableGroup, MODEL_jimidori, FALSE)
EVT_CALL(EnableGroup, MODEL_ki1, FALSE)
EVT_CALL(EnableGroup, MODEL_jimen, FALSE)
EVT_CALL(EnableGroup, MODEL_kemuri, FALSE)
EVT_CALL(EnableGroup, MODEL_obj, FALSE)
EVT_CALL(EnableGroup, MODEL_g277, FALSE)
EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, 80, 16, 4096)
EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, -1, 0)
EVT_CALL(SetCamType, CAM_DEFAULT, 1, TRUE)
EVT_CALL(SetPanTarget, CAM_DEFAULT, -150, 0, 0)
EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(-13.0), EVT_FLOAT(18.0))
EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0))
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1)
EVT_EXEC(N(EVS_AnimateCastle))
EVT_WAIT(1)
EVT_CALL(SetPanTarget, CAM_DEFAULT, -50, 200, 0)
EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(1000.0))
EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(0.75))
EVT_WAIT(180)
EVT_CALL(GotoMap, EVT_PTR("kkj_13"), kkj_13_ENTRY_2)
EVT_WAIT(100)
EVT_CALL(DisablePlayerInput, FALSE)
EVT_RETURN
EVT_END
};
Vec3f N(FlightPath_TossedOut)[] = {
{ -300.0, 0.0, 300.0 },
{ -500.0, 25.0, 900.0 },
{ -720.0, -650.0, 1500.0 },
};
EvtScript N(MV_Scene_PlayerTossedOut) = {
EVT_CALL(FadeOutMusic, 0, 500)
EVT_CALL(DisablePlayerInput, TRUE)
EVT_CALL(DisablePlayerPhysics, TRUE)
EVT_CALL(SetPlayerAnimation, ANIM_Mario_GotItem)
EVT_CALL(EnableGroup, MODEL_hiru, FALSE)
EVT_CALL(EnableGroup, MODEL_niwa, FALSE)
EVT_CALL(EnableGroup, MODEL_jimidori, FALSE)
EVT_CALL(EnableGroup, MODEL_kumo, FALSE)
EVT_CALL(EnableGroup, MODEL_ki1, FALSE)
EVT_CALL(EnableGroup, MODEL_jimen, FALSE)
EVT_CALL(EnableGroup, MODEL_kemuri, FALSE)
EVT_CALL(EnableGroup, MODEL_obj, FALSE)
EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, 80, 16, 4096)
EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, -1, 0)
EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, -1, 0)
EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(-13.0), EVT_FLOAT(18.0))
EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0))
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1)
EVT_WAIT(1)
EVT_SET(MV_CastleLiftDist, 0)
EVT_EXEC(N(EVS_AnimateSwingingChains))
EVT_EXEC(N(EVS_AnimateSpinningRing))
EVT_CHILD_THREAD
EVT_SET(LVar0, 0)
EVT_LOOP(0)
EVT_ADD(LVar0, 45)
EVT_CALL(InterpPlayerYaw, LVar0, 0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_END_CHILD_THREAD
EVT_CALL(LoadPath, 90, EVT_PTR(N(FlightPath_TossedOut)), ARRAY_COUNT(N(FlightPath_TossedOut)), EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(GetNextPathPos)
EVT_CALL(SetPlayerPos, LVar1, LVar2, LVar3)
EVT_WAIT(1)
EVT_IF_EQ(LVar0, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_CALL(GotoMap, EVT_PTR("kkj_13"), kkj_13_ENTRY_3)
EVT_WAIT(100)
EVT_RETURN
EVT_END
};
// alternate scene for the player being tossed out the window, where they flutter down like a piece of paper
EvtScript N(EVS_Scene_UnusedTossOut) = {
EVT_CALL(FadeOutMusic, 0, 500)
EVT_CALL(DisablePlayerInput, TRUE)
EVT_CALL(SetPlayerFlagBits, PS_FLAGS_NO_FLIPPING, TRUE)
EVT_CALL(InterpPlayerYaw, 90, 0)
EVT_CALL(SetPlayerAnimation, ANIM_Mario_FallBack)
EVT_CALL(SetPlayerFlagBits, PS_FLAGS_NO_FLIPPING, FALSE)
EVT_CALL(EnableGroup, MODEL_hiru, FALSE)
EVT_CALL(EnableGroup, MODEL_niwa, FALSE)
EVT_CALL(EnableGroup, MODEL_jimidori, FALSE)
EVT_CALL(EnableGroup, MODEL_kumo, FALSE)
EVT_CALL(EnableGroup, MODEL_ki1, FALSE)
EVT_CALL(EnableGroup, MODEL_jimen, FALSE)
EVT_CALL(EnableGroup, MODEL_kemuri, FALSE)
EVT_CALL(EnableGroup, MODEL_obj, FALSE)
EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, 25, 16, 6000)
EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, 0, 0)
EVT_CALL(SetPanTarget, CAM_DEFAULT, -400, -1500, 0)
EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(3500.0))
EVT_CALL(SetCamPosA, CAM_DEFAULT, -300, -160)
EVT_CALL(SetCamPosB, CAM_DEFAULT, 300, 80)
EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(-30.0), EVT_FLOAT(0.0))
EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0))
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1)
EVT_WAIT(1)
EVT_CALL(DisablePlayerPhysics, TRUE)
EVT_WAIT(15)
EVT_EXEC_WAIT(N(EVS_UnusedFalling2))
EVT_WAIT(60)
EVT_CALL(GotoMap, EVT_PTR("hos_10"), hos_10_ENTRY_5)
EVT_WAIT(100)
EVT_CALL(DisablePlayerInput, FALSE)
EVT_RETURN
EVT_END
};

View File

@ -0,0 +1,98 @@
#include "osr_03.h"
EvtScript N(EVS_SetStarshipPosRot) = {
EVT_LOOP(0)
EVT_CALL(TranslateGroup, MODEL_g277, MV_Starship_PosX, MV_Starship_PosY, MV_Starship_PosZ)
EVT_CALL(RotateGroup, MODEL_g277, MV_Starship_Yaw, 0, 1, 0)
EVT_SET(LVar0, MV_Starship_PosX)
EVT_SET(LVar1, MV_Starship_PosY)
EVT_SET(LVar2, MV_Starship_PosZ)
EVT_ADD(LVar1, 20)
EVT_ADD(LVar2, -10)
EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2)
EVT_ADD(LVar2, 20)
EVT_CALL(SetNpcPos, NPC_PARTNER, LVar0, LVar1, LVar2)
EVT_WAIT(1)
EVT_END_LOOP
EVT_RETURN
EVT_END
};
Vec3f N(FlightPath)[] = {
{ -700.0, -350.0, 1600.0 },
{ -700.0, -470.0, 1600.0 },
{ -660.0, -505.0, 1590.0 },
{ -565.0, -520.0, 1615.0 },
{ -235.0, -660.0, 1445.0 },
{ -110.0, -715.0, 1300.0 },
{ 15.0, -770.0, 1155.0 },
{ 0.0, -770.0, 920.0 },
{ 20.0, -600.0, 600.0 },
};
EvtScript N(EVS_Scene_Starship) = {
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(TranslateGroup, MODEL_g277, -700, -350, 1600)
EVT_SET(MV_Starship_Yaw, 50)
EVT_SET(MV_Starship_PosX, -700)
EVT_SET(MV_Starship_PosY, -350)
EVT_SET(MV_Starship_PosZ, 1600)
EVT_EXEC(N(EVS_SetStarshipPosRot))
EVT_SET(MV_CastleLiftDist, 0)
EVT_EXEC(N(EVS_AnimateSwingingChains))
EVT_EXEC(N(EVS_AnimateSpinningRing))
EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, 80, 16, 4096)
EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, -1, 0)
EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, -1, 0)
EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(-13.0), EVT_FLOAT(18.0))
EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0))
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1)
EVT_THREAD
EVT_CALL(PlaySound, SOUND_180)
EVT_CALL(MakeLerp, 50, 10, 10, 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_CALL(MakeLerp, 10, 115, 80, EASING_COS_IN_OUT)
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_CHILD_THREAD
EVT_LOOP(0)
EVT_CALL(func_802D2884, 0, 0, 0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_END_CHILD_THREAD
EVT_THREAD
EVT_CALL(LoadPath, 120, EVT_PTR(N(FlightPath)), ARRAY_COUNT(N(FlightPath)), EASING_LINEAR)
EVT_LABEL(90)
EVT_CALL(GetNextPathPos)
EVT_SET(MV_Starship_PosX, LVar1)
EVT_SET(MV_Starship_PosY, LVar2)
EVT_SET(MV_Starship_PosZ, LVar3)
EVT_WAIT(1)
EVT_IF_EQ(LVar0, 1)
EVT_GOTO(90)
EVT_END_IF
EVT_END_THREAD
EVT_WAIT(100)
EVT_CALL(GotoMap, EVT_PTR("kpa_60"), kpa_60_ENTRY_4)
EVT_WAIT(100)
EVT_RETURN
EVT_END
};

View File

@ -0,0 +1,160 @@
#include "osr_03.h"
#include "effects.h"
API_CALLABLE(N(SetPlayerAsPeach)) {
gGameStatusPtr->peachFlags |= PEACH_STATUS_FLAG_IS_PEACH;
script->varTable[0] = gPlayerData.currentPartner;
gPlayerData.currentPartner = PARTNER_TWINK;
return ApiStatus_DONE2;
}
API_CALLABLE(N(GetKammyFlightEmitterPos)) {
Npc* npc = get_npc_unsafe(NPC_Kammy);
script->varTable[0] = npc->pos.x + (sin_deg(npc->yaw + gCameras[CAM_DEFAULT].currentYaw + 180.0f) * 20.0f);
script->varTable[1] = npc->pos.y + 18.0f;
script->varTable[2] = npc->pos.z - (cos_deg(npc->yaw + gCameras[CAM_DEFAULT].currentYaw + 180.0f) * 20.0f);
return ApiStatus_DONE2;
}
Vec3f N(KammyFlightPath1)[] = {
{ -700.0, -370.0, 1600.0 },
{ -750.0, -450.0, 1550.0 },
{ -700.0, -530.0, 1550.0 },
{ -630.0, -550.0, 1550.0 },
};
Vec3f N(KammyFlightPath2)[] = {
{ -630.0, -550.0, 1550.0 },
{ -430.0, -520.0, 1525.0 },
{ -350.0, -430.0, 1500.0 },
{ -100.0, -100.0, 1000.0 },
{ 0.0, 0.0, 500.0 },
{ 0.0, 0.0, 0.0 },
};
EvtScript N(EVS_PlayKammyFlightFX) = {
EVT_CHILD_THREAD
EVT_SET(LVar0, 110)
EVT_LOOP(0)
EVT_CALL(PlaySoundWithVolume, SOUND_295, LVar0)
EVT_ADD(LVar0, -2)
EVT_IF_LT(LVar0, 10)
EVT_SET(LVar0, 10)
EVT_END_IF
EVT_WAIT(4)
EVT_END_LOOP
EVT_END_CHILD_THREAD
EVT_CALL(GetNpcPos, NPC_Kammy, LVar6, LVar7, LVar8)
EVT_LOOP(0)
EVT_CALL(N(GetKammyFlightEmitterPos))
EVT_CALL(GetNpcPos, NPC_Kammy, LVar9, LVarA, LVarB)
EVT_SET(LVar3, LVar9)
EVT_SET(LVar4, LVarA)
EVT_SET(LVar5, LVarB)
EVT_SUB(LVar3, LVar6)
EVT_SUB(LVar4, LVar7)
EVT_SUB(LVar5, LVar8)
EVT_SET(LVar6, LVar9)
EVT_SET(LVar7, LVarA)
EVT_SET(LVar8, LVarB)
EVT_IF_EQ(LVar3, 0)
EVT_IF_EQ(LVar5, 0)
EVT_ELSE
EVT_PLAY_EFFECT(EFFECT_PURPLE_RING, 0, LVar0, LVar1, LVar2, LVar3, LVar4, LVar5, EVT_FLOAT(1.0))
EVT_END_IF
EVT_ELSE
EVT_PLAY_EFFECT(EFFECT_PURPLE_RING, 0, LVar0, LVar1, LVar2, LVar3, LVar4, LVar5, EVT_FLOAT(1.0))
EVT_END_IF
EVT_WAIT(3)
EVT_END_LOOP
EVT_RETURN
EVT_END
};
EvtScript N(EVS_KammyReturnsToCastle) = {
EVT_WAIT(30)
EVT_THREAD
EVT_LOOP(0)
EVT_CALL(NpcFacePlayer, NPC_Kammy, 0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_END_THREAD
EVT_EXEC_GET_TID(N(EVS_PlayKammyFlightFX), LVar9)
EVT_CALL(SetNpcAnimation, NPC_Kammy, ANIM_WorldKammy_Anim1A)
EVT_CALL(LoadPath, 30, EVT_PTR(N(KammyFlightPath1)), ARRAY_COUNT(N(KammyFlightPath1)), EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(GetNextPathPos)
EVT_CALL(SetNpcPos, NPC_Kammy, LVar1, LVar2, LVar3)
EVT_IF_EQ(LVar0, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(LoadPath, 150, EVT_PTR(N(KammyFlightPath2)), ARRAY_COUNT(N(KammyFlightPath2)), EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(GetNextPathPos)
EVT_CALL(SetNpcPos, NPC_Kammy, LVar1, LVar2, LVar3)
EVT_IF_EQ(LVar0, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_WAIT(1)
EVT_END_LOOP
EVT_KILL_THREAD(LVar9)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Scene_BeginInterlude) = {
EVT_CALL(DisablePlayerInput, TRUE)
EVT_CALL(DisablePlayerPhysics, TRUE)
EVT_CALL(DisablePartnerAI, 0)
EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE)
EVT_CALL(EnableGroup, MODEL_hiru, FALSE)
EVT_CALL(EnableGroup, MODEL_niwa, FALSE)
EVT_CALL(EnableGroup, MODEL_jimidori, FALSE)
EVT_CALL(EnableGroup, MODEL_kumo, FALSE)
EVT_CALL(EnableGroup, MODEL_ki1, FALSE)
EVT_CALL(EnableGroup, MODEL_jimen, FALSE)
EVT_CALL(EnableGroup, MODEL_kemuri, FALSE)
EVT_CALL(EnableGroup, MODEL_obj, FALSE)
EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, 80, 16, 4096)
EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, -1, 0)
EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, -1, 0)
EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(-13.0), EVT_FLOAT(18.0))
EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0))
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1)
EVT_SET(MV_CastleLiftDist, 0)
EVT_EXEC(N(EVS_AnimateSwingingChains))
EVT_EXEC(N(EVS_AnimateSpinningRing))
EVT_WAIT(30)
EVT_IF_LT(GB_StoryProgress, STORY_CH0_KAMMY_RETURNED_TO_BOWSER)
EVT_EXEC_WAIT(N(EVS_KammyReturnsToCastle))
EVT_END_IF
EVT_WAIT(80)
EVT_CALL(N(SetPlayerAsPeach))
EVT_SET(GB_KKJ_LastPartner, LVar0)
EVT_SWITCH(GB_StoryProgress)
EVT_CASE_LT(STORY_CH0_KAMMY_RETURNED_TO_BOWSER)
EVT_CALL(GotoMap, EVT_PTR("kkj_15"), kkj_15_ENTRY_2)
EVT_CASE_LT(STORY_CH0_BEGAN_PEACH_MISSION)
EVT_CALL(GotoMap, EVT_PTR("kkj_14"), kkj_14_ENTRY_3)
EVT_CASE_LT(STORY_CH1_BEGAN_PEACH_MISSION)
EVT_CALL(GotoMap, EVT_PTR("kkj_14"), kkj_14_ENTRY_4)
EVT_CASE_LT(STORY_CH2_BEGAN_PEACH_MISSION)
EVT_CALL(GotoMap, EVT_PTR("kkj_14"), kkj_14_ENTRY_5)
EVT_CASE_LT(STORY_CH3_BEGAN_PEACH_MISSION)
EVT_CALL(GotoMap, EVT_PTR("kkj_14"), kkj_14_ENTRY_6)
EVT_CASE_LT(STORY_CH4_BEGAN_PEACH_MISSION)
EVT_CALL(GotoMap, EVT_PTR("kkj_14"), kkj_14_ENTRY_7)
EVT_CASE_LT(STORY_CH5_BEGAN_PEACH_MISSION)
EVT_CALL(GotoMap, EVT_PTR("kkj_14"), kkj_14_ENTRY_8)
EVT_CASE_LT(STORY_CH6_BEGAN_PEACH_MISSION)
EVT_CALL(GotoMap, EVT_PTR("kkj_14"), kkj_14_ENTRY_9)
EVT_CASE_LT(STORY_CH7_BEGAN_PEACH_MISSION)
EVT_CALL(GotoMap, EVT_PTR("kkj_26"), kkj_26_ENTRY_1)
EVT_END_SWITCH
EVT_WAIT(100)
EVT_RETURN
EVT_END
};

View File

@ -0,0 +1,191 @@
#include "osr_03.h"
#include "effects.h"
API_CALLABLE(N(FlashScreenWhite)) {
if (isInitialCall) {
script->functionTemp[1] = 0;
script->functionTemp[2] = 0;
}
switch (script->functionTemp[2]) {
case 0: // fading in
set_screen_overlay_color(0, 208, 208, 208);
set_screen_overlay_params_front(1, script->functionTemp[1]);
if (script->functionTemp[1] == 255) {
script->functionTemp[2] = 1;
break;
}
script->functionTemp[1] += 64;
if (script->functionTemp[1] < 256) {
break;
}
script->functionTemp[1] = 255;
break;
case 1: // fading out
set_screen_overlay_color(0, 208, 208, 208);
set_screen_overlay_params_front(1, script->functionTemp[1]);
if (script->functionTemp[1] == 0) {
return ApiStatus_DONE2;
}
script->functionTemp[1] -= 64;
if (script->functionTemp[1] <= 0) {
script->functionTemp[1] = 0;
}
break;
}
return ApiStatus_BLOCK;
}
API_CALLABLE(N(BigExplosionRumble)) {
Bytecode* args = script->ptrReadPos;
f32 frequency;
s32 duration;
if (isInitialCall) {
duration = evt_get_variable(script, *args++);
frequency = 2.0f * evt_get_float_variable(script, *args++);
script->functionTemp[0] = duration;
if (frequency > 10.0f) {
frequency = 10.0f;
}
start_rumble((u8) ((frequency / 10.0f) * 256.0f), (duration & 0xFFFF) * 2);
}
script->functionTemp[0]--;
if (script->functionTemp[0] == 0)
{
return ApiStatus_DONE1;
}
return ApiStatus_BLOCK;
}
EvtScript N(EVS_UpdateCamShaking) = {
EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 210, EVT_FLOAT(2.0))
EVT_CALL(MakeLerp, 200, 50, 65, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_DIVF(LVar0, 100)
EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 4, LVar0)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_RETURN
EVT_END
};
s32 N(ExplosionPositions)[] = {
-520, -280, 270,
230, -150, 300,
-500, -200, 190,
-420, -230, -170,
-400, -400, 450,
0, -720, 620,
-270, -700, 470,
320, -460, 530,
};
EvtScript N(EVS_PlayExplosionFX) = {
EVT_SET(LVar4, 20)
EVT_SET(LVar5, 110)
EVT_LOOP(0)
EVT_USE_BUF(EVT_PTR(N(ExplosionPositions)))
EVT_LOOP(8)
EVT_CALL(PlaySoundWithVolume, SOUND_B000001C, LVar5)
EVT_BUF_READ3(LVar0, LVar1, LVar2)
EVT_PLAY_EFFECT(EFFECT_RING_BLAST, 0, LVar0, LVar1, LVar2, EVT_FLOAT(6.0), 30)
EVT_WAIT(LVar4)
EVT_END_LOOP
EVT_ADD(LVar5, -10)
EVT_IF_LT(LVar5, 10)
EVT_SET(LVar5, 10)
EVT_END_IF
EVT_ADD(LVar4, -4)
EVT_IF_LT(LVar4, 5)
EVT_SET(LVar4, 5)
EVT_END_IF
EVT_END_LOOP
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Scene_CastleDestruction) = {
EVT_CALL(DisablePlayerInput, TRUE)
EVT_CALL(DisablePartnerAI, 0)
EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE)
EVT_CALL(SetPlayerActionState, ACTION_STATE_LAND)
EVT_CALL(SetPlayerPos, 0, 0, 0)
EVT_CALL(DisablePlayerPhysics, TRUE)
EVT_SET(MV_CastleLiftDist, 0)
EVT_EXEC(N(EVS_AnimateSwingingChains))
EVT_EXEC(N(EVS_AnimateSpinningRing))
EVT_EXEC(N(EVS_UpdateCamShaking))
EVT_EXEC_GET_TID(N(EVS_PlayExplosionFX), LVar9)
EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, 22, 16, 4096)
EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, 0, 0)
EVT_CALL(SetCamType, CAM_DEFAULT, 1, TRUE)
EVT_CALL(SetPanTarget, CAM_DEFAULT, -60, 0, 0)
EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(-20.0), EVT_FLOAT(-4.0))
EVT_CALL(SetCamPosA, CAM_DEFAULT, 0, -40)
EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0))
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1)
EVT_WAIT(20)
EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 0, 0)
EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(-13.0), EVT_FLOAT(15.0))
EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(0.3))
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1)
EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0))
EVT_THREAD
EVT_LOOP(6)
EVT_CALL(RandInt, 20, LVar0)
EVT_ADD(LVar0, 30)
EVT_WAIT(LVar0)
EVT_CALL(N(FlashScreenWhite))
EVT_END_LOOP
EVT_END_THREAD
EVT_CALL(MakeLerp, 220, 600, 90, EASING_QUADRATIC_IN)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_SETF(LVar2, LVar0)
EVT_DIVF(LVar2, 10)
EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, LVar2, 16, 4096)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_CALL(MakeLerp, 600, 1200, 250, EASING_CUBIC_OUT)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_SETF(LVar2, LVar0)
EVT_DIVF(LVar2, 10)
EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, LVar2, 1, 4096)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_KILL_THREAD(LVar9)
EVT_WAIT(50)
EVT_CALL(PlaySound, SOUND_A4)
EVT_PLAY_EFFECT(EFFECT_LIGHT_RAYS, 2, 0, -430, 1920, 15, LVar9)
EVT_WAIT(30)
EVT_THREAD
EVT_CALL(N(BigExplosionRumble), 30, EVT_FLOAT(2.0))
EVT_CALL(MakeLerp, 200, 100, 15, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_DIVF(LVar0, 100)
EVT_CALL(N(BigExplosionRumble), 4, LVar0)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_END_THREAD
EVT_CALL(GotoMapSpecial, EVT_PTR("hos_10"), hos_10_ENTRY_1, TRANSITION_7)
EVT_WAIT(100)
EVT_RETURN
EVT_END
};

View File

@ -1,17 +0,0 @@
#include "osr_04.h"
ApiStatus func_80240000_AB92B0(Evt *script, s32 isInitialCall) {
gGameStatusPtr->playerSpriteSet = PLAYER_SPRITES_COMBINED_EPILOGUE;
sprintf(wMapShapeName, "osr_03_shape");
sprintf(wMapHitName, "osr_03_hit");
return ApiStatus_BLOCK;
}
const char* N(exit_str_0) = "kkj_03";
ApiStatus func_80240050_AB9300(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
evt_set_variable(script, *args++, (sin_deg(evt_get_variable(script, *args)) * 20.0f));
return ApiStatus_DONE2;
}

View File

@ -2,8 +2,19 @@
/// @brief Peach's Castle Grounds - Castle Hijacking Scene
#include "common.h"
#include "../osr.h"
#include "message_ids.h"
#include "map.h"
#include "../osr.h"
#include "mapfs/osr_03_shape.h"
#include "mapfs/osr_03_hit.h"
enum {
MV_SmokeVelY = MapVar(1),
MV_CastleLiftDist = MapVar(14),
};
#define NAMESPACE osr_04
extern EvtScript N(EVS_Main);
extern EvtScript N(EVS_Scene_BowsersAssault);

View File

@ -0,0 +1,12 @@
#include "osr_04.h"
EntryList N(Entrances) = {
[osr_04_ENTRY_0] { 0.0, 0.0, 604.0, 0.0 },
};
MapSettings N(settings) = {
.main = &N(EVS_Main),
.entryList = &N(Entrances),
.entryCount = ENTRY_COUNT(N(Entrances)),
.background = &gBackgroundImage,
};

View File

@ -0,0 +1,40 @@
#include "osr_04.h"
EvtScript N(EVS_TexPan_Smoke) = {
EVT_SET_GROUP(EVT_GROUP_00)
EVT_CALL(SetTexPanner, MODEL_ke1, TEX_PANNER_0)
EVT_CALL(SetTexPanner, MODEL_ke2, TEX_PANNER_1)
EVT_CALL(SetTexPanner, MODEL_ke3, TEX_PANNER_2)
EVT_SET(LVar0, 0)
EVT_SET(LVar1, 0)
EVT_LABEL(10)
EVT_LOOP(5)
EVT_CALL(SetTexPanOffset, TEX_PANNER_0, 0, LVar0, LVar1)
EVT_CALL(SetTexPanOffset, TEX_PANNER_1, 0, LVar0, LVar1)
EVT_CALL(SetTexPanOffset, TEX_PANNER_2, 0, LVar0, LVar1)
EVT_ADD(LVar1, 100)
EVT_WAIT(1)
EVT_END_LOOP
EVT_ADD(LVar0, 0x2000)
EVT_GOTO(10)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_EnterMap) = {
EVT_EXEC(N(EVS_Scene_BowsersAssault))
EVT_EXEC(N(EVS_TexPan_Smoke))
EVT_RETURN
EVT_END
};
EvtScript N(EVS_Main) = {
EVT_SET(GB_WorldLocation, LOCATION_NONE)
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_SETUP_CAMERA_NO_LEAD()
EVT_CALL(FadeOutMusic, 0, 500)
EVT_EXEC(N(EVS_EnterMap))
EVT_WAIT(1)
EVT_RETURN
EVT_END
};

View File

@ -0,0 +1,581 @@
#include "osr_04.h"
s32 N(map_init)(void) {
gGameStatusPtr->playerSpriteSet = PLAYER_SPRITES_COMBINED_EPILOGUE;
sprintf(wMapShapeName, "osr_03_shape");
sprintf(wMapHitName, "osr_03_hit");
return ApiStatus_BLOCK;
}
API_CALLABLE(N(MakeCastleChainAngle)) {
Bytecode* args = script->ptrReadPos;
s32 angle = evt_get_variable(script, *args);
evt_set_variable(script, *args++, (sin_deg(angle) * 20.0f));
return ApiStatus_DONE2;
}
s32 N(ThinTileSpawnPositions)[] = {
-440, 1100, 30,
-190, 1030, 40,
-105, 1100, 30,
-350, 600, 55,
-230, 1200, 35,
-500, 1050, 30,
-410, 900, 35,
79, 770, 55,
-1,
};
EvtScript N(EVS_DropDebris_ThinTiles) = {
EVT_USE_BUF(EVT_PTR(N(ThinTileSpawnPositions)))
EVT_LOOP(0)
EVT_BUF_READ3(LVar2, LVar3, LVar4)
EVT_IF_EQ(LVar2, -1)
EVT_RETURN
EVT_END_IF
EVT_CALL(MakeLerp, 500, 0, LVar4, EASING_QUADRATIC_IN)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateGroup, MODEL_o1, LVar2, LVar0, LVar3)
EVT_CALL(RotateGroup, MODEL_o1, LVar4, 1, 1, 1)
EVT_SUB(LVar4, 15)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_WAIT(1)
EVT_END_LOOP
EVT_RETURN
EVT_END
};
s32 N(ThickTileSpawnPositions)[] = {
-340, 960, 50,
-410, 900, 55,
-230, 1200, 45,
-500, 940, 40,
-230, 1010, 50,
-500, 940, 40,
-350, 600, 55,
-1,
};
EvtScript N(EVS_DropDebris_ThickTiles) = {
EVT_USE_BUF(EVT_PTR(N(ThickTileSpawnPositions)))
EVT_LOOP(0)
EVT_BUF_READ3(LVar2, LVar3, LVar4)
EVT_IF_EQ(LVar2, -1)
EVT_RETURN
EVT_END_IF
EVT_CALL(MakeLerp, 500, 0, LVar4, EASING_QUADRATIC_IN)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateGroup, MODEL_o2, LVar2, LVar0, LVar3)
EVT_CALL(RotateGroup, MODEL_o2, LVar4, 1, 1, 1)
EVT_ADD(LVar4, 15)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_WAIT(1)
EVT_END_LOOP
EVT_RETURN
EVT_END
};
EvtScript N(EVS_DropDebris_Flag) = {
EVT_CALL(MakeLerp, 500, 0, 80, EASING_QUADRATIC_IN)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateGroup, MODEL_o3, -340, LVar0, 830)
EVT_CALL(RotateGroup, MODEL_o3, LVar4, 1, 1, 1)
EVT_SUB(LVar4, 30)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_RETURN
EVT_END
};
s32 N(LeafClumpSpawnPositions)[] = {
-350, 600, 60,
-230, 1200, 40,
-340, 960, 40,
-1,
};
EvtScript N(EVS_DropDebris_Leaves) = {
EVT_USE_BUF(EVT_PTR(N(LeafClumpSpawnPositions)))
EVT_LOOP(0)
EVT_BUF_READ3(LVar2, LVar3, LVar4)
EVT_IF_EQ(LVar2, -1)
EVT_RETURN
EVT_END_IF
EVT_CALL(MakeLerp, 500, 0, LVar4, EASING_QUADRATIC_IN)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateGroup, MODEL_o4, LVar2, LVar0, LVar3)
EVT_CALL(RotateGroup, MODEL_o4, LVar4, 1, 1, 1)
EVT_ADD(LVar4, 15)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_WAIT(1)
EVT_END_LOOP
EVT_RETURN
EVT_END
};
EvtScript N(EVS_DropDebris_TreeTrunk) = {
EVT_CALL(MakeLerp, 500, 0, 80, EASING_QUADRATIC_IN)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateGroup, MODEL_o5, -190, LVar0, 1030)
EVT_CALL(RotateGroup, MODEL_o5, LVar4, 1, 1, 1)
EVT_SUB(LVar4, 15)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_RETURN
EVT_END
};
s32 N(StoneBlockSpawnPositions)[] = {
-500, 940, 20,
80, 770, 60,
-340, 960, 15,
-340, 960, 45,
-500, 1050, 15,
-230, 1200, 35,
-350, 600, 40,
-1,
};
EvtScript N(EVS_DropDebris_StoneBlocks) = {
EVT_USE_BUF(EVT_PTR(N(StoneBlockSpawnPositions)))
EVT_LOOP(0)
EVT_BUF_READ3(LVar2, LVar3, LVar4)
EVT_IF_EQ(LVar2, -1)
EVT_RETURN
EVT_END_IF
EVT_CALL(MakeLerp, 500, 0, LVar4, EASING_QUADRATIC_IN)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateGroup, MODEL_o6, LVar2, LVar0, LVar3)
EVT_CALL(RotateGroup, MODEL_o6, LVar4, 1, 1, 1)
EVT_ADD(LVar4, 15)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_WAIT(1)
EVT_END_LOOP
EVT_RETURN
EVT_END
};
EvtScript N(EVS_AnimateSwingingChains) = {
EVT_LOOP(0)
EVT_CALL(MakeLerp, 90, -90, 30, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateGroup, MODEL_ku_ta, 0, MV_CastleLiftDist, 0)
EVT_CALL(N(MakeCastleChainAngle), LVar0)
EVT_CALL(RotateGroup, MODEL_ku_ta, LVar0, 0, 0, 1)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_LOOP(2)
EVT_CALL(TranslateGroup, MODEL_ku_ta, 0, MV_CastleLiftDist, 0)
EVT_CALL(RotateGroup, MODEL_ku_ta, -20, 0, 0, 1)
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(MakeLerp, -90, 90, 30, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateGroup, MODEL_ku_ta, 0, MV_CastleLiftDist, 0)
EVT_CALL(N(MakeCastleChainAngle), LVar0)
EVT_CALL(RotateGroup, MODEL_ku_ta, LVar0, 0, 0, 1)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_LOOP(2)
EVT_CALL(TranslateGroup, MODEL_ku_ta, 0, MV_CastleLiftDist, 0)
EVT_CALL(RotateGroup, MODEL_ku_ta, 20, 0, 0, 1)
EVT_WAIT(1)
EVT_END_LOOP
EVT_END_LOOP
EVT_RETURN
EVT_END
};
EvtScript N(EVS_AnimateSpinningRing) = {
EVT_LOOP(0)
EVT_CALL(MakeLerp, 45, -45, 60, EASING_QUADRATIC_OUT)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(RotateGroup, MODEL_wa, LVar0, 0, 1, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_CALL(MakeLerp, -45, 45, 60, EASING_QUADRATIC_OUT)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(RotateGroup, MODEL_wa, LVar0, 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_LiftCastleUp) = {
EVT_THREAD
EVT_WAIT(120)
EVT_CALL(SetMusicTrack, 0, SONG_BOWSER_ATTACKS, 0, 8)
EVT_END_THREAD
EVT_SET(MV_CastleLiftDist, 0)
EVT_THREAD
EVT_WAIT(20)
EVT_CALL(MakeLerp, 0, 2500, 450, EASING_QUADRATIC_IN)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_SET(MV_CastleLiftDist, LVar0)
EVT_CALL(TranslateGroup, MODEL_g439, 0, LVar0, 0)
EVT_CALL(TranslateGroup, MODEL_kao, 0, LVar0, 0)
EVT_CALL(TranslateGroup, MODEL_hiru, 0, LVar0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_END_THREAD
EVT_EXEC(N(EVS_AnimateSwingingChains))
EVT_EXEC(N(EVS_AnimateSpinningRing))
EVT_THREAD
EVT_LOOP(0)
EVT_CALL(MakeLerp, 10, -10, 40, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_ADD(MV_CastleLiftDist, LVar0)
EVT_CALL(TranslateGroup, MODEL_wa, 0, MV_CastleLiftDist, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_CALL(MakeLerp, -10, 10, 40, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_ADD(MV_CastleLiftDist, LVar0)
EVT_CALL(TranslateGroup, MODEL_wa, 0, MV_CastleLiftDist, 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_LABEL(22)
EVT_IF_LT(MV_CastleLiftDist, 1000)
EVT_WAIT(1)
EVT_GOTO(22)
EVT_END_IF
EVT_THREAD
EVT_LOOP(300)
EVT_SUB(MV_SmokeVelY, 3)
EVT_WAIT(1)
EVT_END_LOOP
EVT_END_THREAD
EVT_LABEL(23)
EVT_IF_LT(MV_CastleLiftDist, 1150)
EVT_WAIT(1)
EVT_GOTO(23)
EVT_END_IF
EVT_SET(LVar3, 0)
EVT_EXEC(N(EVS_DropDebris_ThinTiles))
EVT_EXEC(N(EVS_DropDebris_ThickTiles))
EVT_EXEC(N(EVS_DropDebris_StoneBlocks))
EVT_WAIT(10)
EVT_EXEC(N(EVS_DropDebris_Flag))
EVT_EXEC(N(EVS_DropDebris_Leaves))
EVT_EXEC(N(EVS_DropDebris_TreeTrunk))
EVT_WAIT(150)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_RaiseSmokeClouds) = {
EVT_SET(MV_SmokeVelY, 0)
EVT_THREAD
EVT_CALL(PlaySound, SOUND_36)
EVT_CALL(MakeLerp, 0, 650, 40, EASING_CUBIC_OUT)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_ADD(LVar0, MV_SmokeVelY)
EVT_CALL(TranslateGroup, MODEL_kem1, 0, LVar0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_LOOP(0)
EVT_CALL(MakeLerp, 600, 650, 25, EASING_CUBIC_OUT)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_ADD(LVar0, MV_SmokeVelY)
EVT_CALL(TranslateGroup, MODEL_kem1, 0, LVar0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_CALL(MakeLerp, 650, 600, 35, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_ADD(LVar0, MV_SmokeVelY)
EVT_CALL(TranslateGroup, MODEL_kem1, 0, LVar0, 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_THREAD
EVT_WAIT(20)
EVT_CALL(PlaySound, SOUND_37)
EVT_CALL(MakeLerp, 0, 400, 30, EASING_CUBIC_OUT)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateGroup, MODEL_kem2, 0, LVar0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_LOOP(0)
EVT_CALL(MakeLerp, 350, 400, 12, EASING_CUBIC_OUT)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_ADD(LVar0, MV_SmokeVelY)
EVT_CALL(TranslateGroup, MODEL_kem2, 0, LVar0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_CALL(MakeLerp, 400, 350, 17, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_ADD(LVar0, MV_SmokeVelY)
EVT_CALL(TranslateGroup, MODEL_kem2, 0, LVar0, 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_THREAD
EVT_WAIT(40)
EVT_CALL(PlaySound, SOUND_38)
EVT_CALL(MakeLerp, 0, 200, 20, EASING_CUBIC_OUT)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateGroup, MODEL_kem3, 0, LVar0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_LOOP(0)
EVT_CALL(MakeLerp, 150, 200, 25, EASING_CUBIC_OUT)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_ADD(LVar0, MV_SmokeVelY)
EVT_CALL(TranslateGroup, MODEL_kem3, 0, LVar0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_CALL(MakeLerp, 200, 150, 35, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_ADD(LVar0, MV_SmokeVelY)
EVT_CALL(TranslateGroup, MODEL_kem3, 0, LVar0, 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_RETURN
EVT_END
};
EvtScript N(EVS_Scene_BowsersAssault) = {
EVT_CALL(DisablePlayerInput, TRUE)
EVT_CALL(DisablePlayerPhysics, TRUE)
EVT_CALL(EnableGroup, MODEL_yoru, FALSE)
EVT_CALL(SetPlayerPos, 0, 0, 2000)
EVT_THREAD
EVT_CALL(PlaySound, SOUND_80000057)
EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 450, EVT_FLOAT(2.0))
EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 100, EVT_FLOAT(1.0))
EVT_END_THREAD
EVT_WAIT(50)
EVT_THREAD
EVT_WAIT(30)
EVT_CALL(MakeLerp, 0, 45, 30, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(RotateGroup, MODEL_ki1, LVar0, 0, 0, 1)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_CALL(MakeLerp, 0, 100, 30, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(RotateGroup, MODEL_ki1, 45, 0, 0, 1)
EVT_CALL(RotateGroup, MODEL_ki1, LVar0, 1, 0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_CALL(EnableGroup, MODEL_ki1, FALSE)
EVT_END_THREAD
EVT_THREAD
EVT_WAIT(45)
EVT_CALL(MakeLerp, 0, 30, 30, EASING_QUADRATIC_IN)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(RotateGroup, MODEL_ki2, LVar0, 0, 0, 1)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_CALL(MakeLerp, 0, 100, 100, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(RotateGroup, MODEL_ki2, 30, 0, 0, 1)
EVT_CALL(RotateGroup, MODEL_ki2, LVar0, -1, 0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_CALL(EnableGroup, MODEL_ki2, FALSE)
EVT_END_THREAD
EVT_THREAD
EVT_WAIT(75)
EVT_CALL(MakeLerp, 0, 100, 100, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateGroup, MODEL_jime, 0, LVar0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_END_THREAD
EVT_THREAD
EVT_CALL(PlaySound, SOUND_35)
EVT_CALL(MakeLerp, 0, 30, 50, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateGroup, MODEL_1, 0, LVar0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_END_THREAD
EVT_THREAD
EVT_WAIT(10)
EVT_CALL(MakeLerp, 0, 40, 40, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateGroup, MODEL_2, 0, LVar0, 0)
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, 0, 20, 50, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateGroup, MODEL_3, 0, LVar0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_END_THREAD
EVT_THREAD
EVT_WAIT(15)
EVT_CALL(MakeLerp, 0, 10, 35, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateGroup, MODEL_4, 0, LVar0, 0)
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, 0, -20, 50, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateGroup, MODEL_5, 0, LVar0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_END_THREAD
EVT_CALL(MakeLerp, 0, -10, 50, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(TranslateGroup, MODEL_6, 0, LVar0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
EVT_END_IF
EVT_END_LOOP
EVT_EXEC(N(EVS_RaiseSmokeClouds))
EVT_EXEC_WAIT(N(EVS_LiftCastleUp))
EVT_CALL(GotoMap, EVT_PTR("kkj_03"), kkj_03_ENTRY_1)
EVT_WAIT(100)
EVT_CALL(DisablePlayerPhysics, FALSE)
EVT_CALL(DisablePlayerInput, FALSE)
EVT_RETURN
EVT_END
};

View File

@ -220,7 +220,7 @@ EvtScript N(EVS_PartnerFalling) = {
EVT_END_THREAD
EVT_WAIT(1)
EVT_CALL(GetNpcPos, NPC_PARTNER, LVar4, LVar5, LVar6)
EVT_CALL(LoadPath, 45, EVT_PTR(N(FallPath)), 4, EASING_COS_IN_OUT)
EVT_CALL(LoadPath, 45, EVT_PTR(N(FallPath)), ARRAY_COUNT(N(FallPath)), EASING_COS_IN_OUT)
EVT_LABEL(0)
EVT_CALL(GetNextPathPos)
EVT_MULF(LVar1, EVT_FLOAT(-1.0))

View File

@ -2,7 +2,7 @@
#include "npc.h"
#include "model.h"
ApiStatus N(UnkFunc27)(Evt* script, s32 isInitialCall) {
API_CALLABLE(N(UnkFunc27)) {
Bytecode* args = script->ptrReadPos;
s32 mode = evt_get_variable(script, *args++);
s32 testS0 = evt_get_variable(script, *args++);
@ -47,7 +47,7 @@ ApiStatus N(UnkFunc27)(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
ApiStatus N(UnkFunc26)(Evt* script, s32 isInitialCall) {
API_CALLABLE(N(UnkFunc26)) {
Bytecode* args = script->ptrReadPos;
s32 var1 = evt_get_variable(script, *args++);
s32 var2 = evt_get_variable(script, *args++);

View File

@ -0,0 +1,36 @@
#include "common.h"
#include "sprite/npc/WorldClubba.h"
#define CLUBBA_DROPS \
{ \
.dropFlags = NPC_DROP_FLAGS_80, \
.itemDropChance = 15, \
.itemDrops = { \
{ ITEM_MAPLE_SYRUP, 6, 0 }, \
{ ITEM_HONEY_SYRUP, 4, 0 }, \
}, \
.heartDrops = STANDARD_HEART_DROPS(2), \
.flowerDrops = STANDARD_FLOWER_DROPS(4), \
.minCoinBonus = 0, \
.maxCoinBonus = 3, \
}
#define CLUBBA_ANIMS \
{ \
.idle = ANIM_WorldClubba_Anim02, \
.walk = ANIM_WorldClubba_Anim03, \
.run = ANIM_WorldClubba_Anim04, \
.chase = ANIM_WorldClubba_Anim04, \
.anim_4 = ANIM_WorldClubba_Anim02, \
.anim_5 = ANIM_WorldClubba_Anim02, \
.death = ANIM_WorldClubba_Anim0C, \
.hit = ANIM_WorldClubba_Anim0C, \
.anim_8 = ANIM_WorldClubba_Anim11, \
.anim_9 = ANIM_WorldClubba_Anim12, \
.anim_A = ANIM_WorldClubba_Anim07, \
.anim_B = ANIM_WorldClubba_Anim08, \
.anim_C = ANIM_WorldClubba_Anim01, \
.anim_D = ANIM_WorldClubba_Anim02, \
.anim_E = ANIM_WorldClubba_Anim02, \
.anim_F = ANIM_WorldClubba_Anim02, \
}

View File

@ -0,0 +1,7 @@
#include "Clubba.h"
NpcSettings N(NpcSettings_Clubba) = {
.height = 36,
.radius = 34,
.level = 13,
};

View File

@ -1,5 +1,8 @@
#include "common.h"
#include "sprite/npc/Toadette.h"
#include "sprite/npc/Mouser.h"
#include "sprite/npc/DisguisedMoustafa.h"
#include "sprite/npc/Moustafa.h"
#define MOUSER_DROPS \
{ \
@ -47,3 +50,43 @@
ANIM_Mouser_Purple_Idle, \
ANIM_Mouser_Purple_Idle, \
}
#define MOUSTAFA_ANIMS \
{ \
ANIM_Moustafa_Idle, \
ANIM_Moustafa_Idle, \
ANIM_Moustafa_Run, \
ANIM_Moustafa_Run, \
ANIM_Moustafa_Idle, \
ANIM_Moustafa_Idle, \
ANIM_Moustafa_Idle, \
ANIM_Moustafa_Idle, \
ANIM_Moustafa_Idle, \
ANIM_Moustafa_Idle, \
ANIM_Moustafa_Idle, \
ANIM_Moustafa_Idle, \
ANIM_Moustafa_Idle, \
ANIM_Moustafa_Idle, \
ANIM_Moustafa_Idle, \
ANIM_Moustafa_Idle, \
}
#define DISGUISED_MOUSTAFA_ANIMS \
{ \
ANIM_DisguisedMoustafa_Idle, \
ANIM_DisguisedMoustafa_Idle, \
ANIM_DisguisedMoustafa_Idle, \
ANIM_DisguisedMoustafa_Idle, \
ANIM_DisguisedMoustafa_Idle, \
ANIM_DisguisedMoustafa_Idle, \
ANIM_DisguisedMoustafa_Idle, \
ANIM_DisguisedMoustafa_Idle, \
ANIM_DisguisedMoustafa_Idle, \
ANIM_DisguisedMoustafa_Idle, \
ANIM_DisguisedMoustafa_Idle, \
ANIM_DisguisedMoustafa_Idle, \
ANIM_DisguisedMoustafa_Idle, \
ANIM_DisguisedMoustafa_Idle, \
ANIM_DisguisedMoustafa_Idle, \
ANIM_DisguisedMoustafa_Idle, \
}

View File

@ -0,0 +1,71 @@
#include "common.h"
#include "sprite/npc/MayorPenguin.h"
#include "sprite/npc/MayorPenguinWife.h"
#include "sprite/npc/Penguin.h"
#define PENGUIN_DROPS \
{ \
.dropFlags = NPC_DROP_FLAGS_80, \
.heartDrops = NO_DROPS, \
.flowerDrops = NO_DROPS, \
}
#define PENGUIN_ANIMS \
{ \
.idle = ANIM_Penguin_Idle, \
.walk = ANIM_Penguin_Walk, \
.run = ANIM_Penguin_Run, \
.chase = ANIM_Penguin_Run, \
.anim_4 = ANIM_Penguin_Idle, \
.anim_5 = ANIM_Penguin_Idle, \
.death = ANIM_Penguin_Idle, \
.hit = ANIM_Penguin_Idle, \
.anim_8 = ANIM_Penguin_Idle, \
.anim_9 = ANIM_Penguin_Idle, \
.anim_A = ANIM_Penguin_Idle, \
.anim_B = ANIM_Penguin_Idle, \
.anim_C = ANIM_Penguin_Idle, \
.anim_D = ANIM_Penguin_Idle, \
.anim_E = ANIM_Penguin_Idle, \
.anim_F = ANIM_Penguin_Idle, \
}
#define MAYOR_PENGUIN_ANIMS \
{ \
.idle = ANIM_MayorPenguin_Idle, \
.walk = ANIM_MayorPenguin_Walk, \
.run = ANIM_MayorPenguin_Idle, \
.chase = ANIM_MayorPenguin_Idle, \
.anim_4 = ANIM_MayorPenguin_Idle, \
.anim_5 = ANIM_MayorPenguin_Idle, \
.death = ANIM_MayorPenguin_Idle, \
.hit = ANIM_MayorPenguin_Idle, \
.anim_8 = ANIM_MayorPenguin_Idle, \
.anim_9 = ANIM_MayorPenguin_Idle, \
.anim_A = ANIM_MayorPenguin_Idle, \
.anim_B = ANIM_MayorPenguin_Idle, \
.anim_C = ANIM_MayorPenguin_Idle, \
.anim_D = ANIM_MayorPenguin_Idle, \
.anim_E = ANIM_MayorPenguin_Idle, \
.anim_F = ANIM_MayorPenguin_Idle, \
}
#define MAYOR_PENGUIN_WIFE_ANIMS \
{ \
.idle = ANIM_MayorPenguinWife_Idle, \
.walk = ANIM_MayorPenguinWife_Walk, \
.run = ANIM_MayorPenguinWife_Idle, \
.chase = ANIM_MayorPenguinWife_Idle, \
.anim_4 = ANIM_MayorPenguinWife_Idle, \
.anim_5 = ANIM_MayorPenguinWife_Idle, \
.death = ANIM_MayorPenguinWife_Idle, \
.hit = ANIM_MayorPenguinWife_Idle, \
.anim_8 = ANIM_MayorPenguinWife_Idle, \
.anim_9 = ANIM_MayorPenguinWife_Idle, \
.anim_A = ANIM_MayorPenguinWife_Idle, \
.anim_B = ANIM_MayorPenguinWife_Idle, \
.anim_C = ANIM_MayorPenguinWife_Idle, \
.anim_D = ANIM_MayorPenguinWife_Idle, \
.anim_E = ANIM_MayorPenguinWife_Idle, \
.anim_F = ANIM_MayorPenguinWife_Idle, \
}

View File

@ -0,0 +1,8 @@
#include "common.h"
#include "Penguin.h"
NpcSettings N(NpcSettings_Penguin) = {
.height = 24,
.radius = 24,
.level = 99,
};

View File

@ -0,0 +1,132 @@
#include "common.h"
#include "sprite/npc/Yoshi.h"
#include "sprite/npc/VillageLeader.h"
#include "sprite/npc/LeadersFriend.h"
#define YOSHI_DROPS \
{ \
.dropFlags = NPC_DROP_FLAGS_80, \
.heartDrops = NO_DROPS, \
.flowerDrops = NO_DROPS, \
}
#define YOSHI_GREEN_ANIMS \
{ \
.idle = ANIM_Yoshi_Green_Idle, \
.walk = ANIM_Yoshi_Green_Walk, \
.run = ANIM_Yoshi_Green_Idle, \
.chase = ANIM_Yoshi_Green_Idle, \
.anim_4 = ANIM_Yoshi_Green_Idle, \
.anim_5 = ANIM_Yoshi_Green_Idle, \
.death = ANIM_Yoshi_Green_Idle, \
.hit = ANIM_Yoshi_Green_Idle, \
.anim_8 = ANIM_Yoshi_Green_Idle, \
.anim_9 = ANIM_Yoshi_Green_Idle, \
.anim_A = ANIM_Yoshi_Green_Idle, \
.anim_B = ANIM_Yoshi_Green_Idle, \
.anim_C = ANIM_Yoshi_Green_Idle, \
.anim_D = ANIM_Yoshi_Green_Idle, \
.anim_E = ANIM_Yoshi_Green_Idle, \
.anim_F = ANIM_Yoshi_Green_Idle, \
}
#define YOSHI_BLUE_ANIMS \
{ \
.idle = ANIM_Yoshi_Blue_Idle, \
.walk = ANIM_Yoshi_Blue_Walk, \
.run = ANIM_Yoshi_Blue_Idle, \
.chase = ANIM_Yoshi_Blue_Idle, \
.anim_4 = ANIM_Yoshi_Blue_Idle, \
.anim_5 = ANIM_Yoshi_Blue_Idle, \
.death = ANIM_Yoshi_Blue_Idle, \
.hit = ANIM_Yoshi_Blue_Idle, \
.anim_8 = ANIM_Yoshi_Blue_Idle, \
.anim_9 = ANIM_Yoshi_Blue_Idle, \
.anim_A = ANIM_Yoshi_Blue_Idle, \
.anim_B = ANIM_Yoshi_Blue_Idle, \
.anim_C = ANIM_Yoshi_Blue_Idle, \
.anim_D = ANIM_Yoshi_Blue_Idle, \
.anim_E = ANIM_Yoshi_Blue_Idle, \
.anim_F = ANIM_Yoshi_Blue_Idle, \
}
#define YOSHI_PURPLE_ANIMS \
{ \
.idle = ANIM_Yoshi_Purple_Idle, \
.walk = ANIM_Yoshi_Purple_Walk, \
.run = ANIM_Yoshi_Purple_Idle, \
.chase = ANIM_Yoshi_Purple_Idle, \
.anim_4 = ANIM_Yoshi_Purple_Idle, \
.anim_5 = ANIM_Yoshi_Purple_Idle, \
.death = ANIM_Yoshi_Purple_Idle, \
.hit = ANIM_Yoshi_Purple_Idle, \
.anim_8 = ANIM_Yoshi_Purple_Idle, \
.anim_9 = ANIM_Yoshi_Purple_Idle, \
.anim_A = ANIM_Yoshi_Purple_Idle, \
.anim_B = ANIM_Yoshi_Purple_Idle, \
.anim_C = ANIM_Yoshi_Purple_Idle, \
.anim_D = ANIM_Yoshi_Purple_Idle, \
.anim_E = ANIM_Yoshi_Purple_Idle, \
.anim_F = ANIM_Yoshi_Purple_Idle, \
}
#define YOSHI_YELLOW_ANIMS \
{ \
.idle = ANIM_Yoshi_Yellow_Idle, \
.walk = ANIM_Yoshi_Yellow_Walk, \
.run = ANIM_Yoshi_Yellow_Idle, \
.chase = ANIM_Yoshi_Yellow_Idle, \
.anim_4 = ANIM_Yoshi_Yellow_Idle, \
.anim_5 = ANIM_Yoshi_Yellow_Idle, \
.death = ANIM_Yoshi_Yellow_Idle, \
.hit = ANIM_Yoshi_Yellow_Idle, \
.anim_8 = ANIM_Yoshi_Yellow_Idle, \
.anim_9 = ANIM_Yoshi_Yellow_Idle, \
.anim_A = ANIM_Yoshi_Yellow_Idle, \
.anim_B = ANIM_Yoshi_Yellow_Idle, \
.anim_C = ANIM_Yoshi_Yellow_Idle, \
.anim_D = ANIM_Yoshi_Yellow_Idle, \
.anim_E = ANIM_Yoshi_Yellow_Idle, \
.anim_F = ANIM_Yoshi_Yellow_Idle, \
}
#define YOSHI_RED_ANIMS \
{ \
.idle = ANIM_Yoshi_Red_Idle, \
.walk = ANIM_Yoshi_Red_Walk, \
.run = ANIM_Yoshi_Red_Idle, \
.chase = ANIM_Yoshi_Red_Idle, \
.anim_4 = ANIM_Yoshi_Red_Idle, \
.anim_5 = ANIM_Yoshi_Red_Idle, \
.death = ANIM_Yoshi_Red_Idle, \
.hit = ANIM_Yoshi_Red_Idle, \
.anim_8 = ANIM_Yoshi_Red_Idle, \
.anim_9 = ANIM_Yoshi_Red_Idle, \
.anim_A = ANIM_Yoshi_Red_Idle, \
.anim_B = ANIM_Yoshi_Red_Idle, \
.anim_C = ANIM_Yoshi_Red_Idle, \
.anim_D = ANIM_Yoshi_Red_Idle, \
.anim_E = ANIM_Yoshi_Red_Idle, \
.anim_F = ANIM_Yoshi_Red_Idle, \
}
#define YOSHI_LEADER_ANIMS \
{ \
.idle = ANIM_VillageLeader_Idle, \
.walk = ANIM_VillageLeader_Idle, \
.run = ANIM_VillageLeader_Idle, \
.chase = ANIM_VillageLeader_Idle, \
.anim_4 = ANIM_VillageLeader_Idle, \
.anim_5 = ANIM_VillageLeader_Idle, \
.death = ANIM_VillageLeader_Idle, \
.hit = ANIM_VillageLeader_Idle, \
.anim_8 = ANIM_VillageLeader_Idle, \
.anim_9 = ANIM_VillageLeader_Idle, \
.anim_A = ANIM_VillageLeader_Idle, \
.anim_B = ANIM_VillageLeader_Idle, \
.anim_C = ANIM_VillageLeader_Idle, \
.anim_D = ANIM_VillageLeader_Idle, \
.anim_E = ANIM_VillageLeader_Idle, \
.anim_F = ANIM_VillageLeader_Idle, \
}

View File

@ -0,0 +1,7 @@
#include "Yoshi.h"
NpcSettings N(NpcSettings_Yoshi) = {
.height = 48,
.radius = 32,
.level = 99,
};

View File

@ -0,0 +1,110 @@
#include "common.h"
#include "sprite/npc/YoshiKid.h"
#define YOSHI_KID_DROPS \
{ \
.dropFlags = NPC_DROP_FLAGS_80, \
.heartDrops = NO_DROPS, \
.flowerDrops = NO_DROPS, \
}
#define YOSHI_KID_GREEN_ANIMS \
{ \
.idle = ANIM_YoshiKid_Green_Idle, \
.walk = ANIM_YoshiKid_Green_Walk, \
.run = ANIM_YoshiKid_Green_Run, \
.chase = ANIM_YoshiKid_Green_Run, \
.anim_4 = ANIM_YoshiKid_Green_Idle, \
.anim_5 = ANIM_YoshiKid_Green_Idle, \
.death = ANIM_YoshiKid_Green_Idle, \
.hit = ANIM_YoshiKid_Green_Idle, \
.anim_8 = ANIM_YoshiKid_Green_Idle, \
.anim_9 = ANIM_YoshiKid_Green_Idle, \
.anim_A = ANIM_YoshiKid_Green_Idle, \
.anim_B = ANIM_YoshiKid_Green_Idle, \
.anim_C = ANIM_YoshiKid_Green_Idle, \
.anim_D = ANIM_YoshiKid_Green_Idle, \
.anim_E = ANIM_YoshiKid_Green_Idle, \
.anim_F = ANIM_YoshiKid_Green_Idle, \
}
#define YOSHI_KID_BLUE_ANIMS \
{ \
.idle = ANIM_YoshiKid_Blue_Idle, \
.walk = ANIM_YoshiKid_Blue_Walk, \
.run = ANIM_YoshiKid_Blue_Run, \
.chase = ANIM_YoshiKid_Blue_Run, \
.anim_4 = ANIM_YoshiKid_Blue_Idle, \
.anim_5 = ANIM_YoshiKid_Blue_Idle, \
.death = ANIM_YoshiKid_Blue_Idle, \
.hit = ANIM_YoshiKid_Blue_Idle, \
.anim_8 = ANIM_YoshiKid_Blue_Idle, \
.anim_9 = ANIM_YoshiKid_Blue_Idle, \
.anim_A = ANIM_YoshiKid_Blue_Idle, \
.anim_B = ANIM_YoshiKid_Blue_Idle, \
.anim_C = ANIM_YoshiKid_Blue_Idle, \
.anim_D = ANIM_YoshiKid_Blue_Idle, \
.anim_E = ANIM_YoshiKid_Blue_Idle, \
.anim_F = ANIM_YoshiKid_Blue_Idle, \
}
#define YOSHI_KID_PURPLE_ANIMS \
{ \
.idle = ANIM_YoshiKid_Purple_Idle, \
.walk = ANIM_YoshiKid_Purple_Walk, \
.run = ANIM_YoshiKid_Purple_Run, \
.chase = ANIM_YoshiKid_Purple_Run, \
.anim_4 = ANIM_YoshiKid_Purple_Idle, \
.anim_5 = ANIM_YoshiKid_Purple_Idle, \
.death = ANIM_YoshiKid_Purple_Idle, \
.hit = ANIM_YoshiKid_Purple_Idle, \
.anim_8 = ANIM_YoshiKid_Purple_Idle, \
.anim_9 = ANIM_YoshiKid_Purple_Idle, \
.anim_A = ANIM_YoshiKid_Purple_Idle, \
.anim_B = ANIM_YoshiKid_Purple_Idle, \
.anim_C = ANIM_YoshiKid_Purple_Idle, \
.anim_D = ANIM_YoshiKid_Purple_Idle, \
.anim_E = ANIM_YoshiKid_Purple_Idle, \
.anim_F = ANIM_YoshiKid_Purple_Idle, \
}
#define YOSHI_KID_YELLOW_ANIMS \
{ \
.idle = ANIM_YoshiKid_Yellow_Idle, \
.walk = ANIM_YoshiKid_Yellow_Walk, \
.run = ANIM_YoshiKid_Yellow_Run, \
.chase = ANIM_YoshiKid_Yellow_Run, \
.anim_4 = ANIM_YoshiKid_Yellow_Idle, \
.anim_5 = ANIM_YoshiKid_Yellow_Idle, \
.death = ANIM_YoshiKid_Yellow_Idle, \
.hit = ANIM_YoshiKid_Yellow_Idle, \
.anim_8 = ANIM_YoshiKid_Yellow_Idle, \
.anim_9 = ANIM_YoshiKid_Yellow_Idle, \
.anim_A = ANIM_YoshiKid_Yellow_Idle, \
.anim_B = ANIM_YoshiKid_Yellow_Idle, \
.anim_C = ANIM_YoshiKid_Yellow_Idle, \
.anim_D = ANIM_YoshiKid_Yellow_Idle, \
.anim_E = ANIM_YoshiKid_Yellow_Idle, \
.anim_F = ANIM_YoshiKid_Yellow_Idle, \
}
#define YOSHI_KID_RED_ANIMS \
{ \
.idle = ANIM_YoshiKid_Red_Idle, \
.walk = ANIM_YoshiKid_Red_Walk, \
.run = ANIM_YoshiKid_Red_Run, \
.chase = ANIM_YoshiKid_Red_Run, \
.anim_4 = ANIM_YoshiKid_Red_Idle, \
.anim_5 = ANIM_YoshiKid_Red_Idle, \
.death = ANIM_YoshiKid_Red_Idle, \
.hit = ANIM_YoshiKid_Red_Idle, \
.anim_8 = ANIM_YoshiKid_Red_Idle, \
.anim_9 = ANIM_YoshiKid_Red_Idle, \
.anim_A = ANIM_YoshiKid_Red_Idle, \
.anim_B = ANIM_YoshiKid_Red_Idle, \
.anim_C = ANIM_YoshiKid_Red_Idle, \
.anim_D = ANIM_YoshiKid_Red_Idle, \
.anim_E = ANIM_YoshiKid_Red_Idle, \
.anim_F = ANIM_YoshiKid_Red_Idle, \
}

View File

@ -0,0 +1,7 @@
#include "YoshiKid.h"
NpcSettings N(NpcSettings_YoshiKid) = {
.height = 28,
.radius = 24,
.level = 99,
};

View File

@ -1,6 +1,6 @@
#include "common.h"
ApiStatus N(SetPlayerSpriteSet2)(Evt* script, s32 isInitialCall) {
ApiStatus N(SetPlayerSpriteSet2_MapInit)(Evt* script, s32 isInitialCall) {
gGameStatusPtr->playerSpriteSet = PLAYER_SPRITES_COMBINED_EPILOGUE;
return ApiStatus_BLOCK;
}

View File

@ -86,7 +86,7 @@ Vec3f N(BubbleFlightPath)[] = {
EvtScript N(EVS_BubbleFollowPath) = {
EVT_WAIT(20)
EVT_CALL(PlaySound, SOUND_80000023)
EVT_CALL(LoadPath, 165, EVT_PTR(N(BubbleFlightPath)), 13, EASING_COS_IN_OUT)
EVT_CALL(LoadPath, 165, EVT_PTR(N(BubbleFlightPath)), ARRAY_COUNT(N(BubbleFlightPath)), EASING_COS_IN_OUT)
EVT_LABEL(0)
EVT_CALL(GetNextPathPos)
EVT_CALL(TranslateModel, MODEL_o167, LVar1, LVar2, LVar3)

View File

@ -1258,6 +1258,7 @@ enum {
osr_01_ENTRY_3 = 3,
osr_02_ENTRY_0 = 0,
osr_02_ENTRY_1 = 1,
osr_02_ENTRY_2 = 2,
osr_03_ENTRY_0 = 0,
osr_03_ENTRY_1 = 1,
osr_03_ENTRY_2 = 2,

View File

@ -542,12 +542,13 @@ MapConfig kpa_maps[] = {
};
/// Peach's Castle Grounds
#include "area_osr/osr.h"
MapConfig osr_maps[] = {
{ MAP_UNSPLIT(osr_00, 0x802407E0), .bgName = "nok_bg" },
{ MAP_UNSPLIT(osr_01, 0x80240B00), .bgName = "nok_bg", .init = (MapInit)0x80240000 },
{ MAP_UNSPLIT(osr_02, 0x80240170), .bgName = "kpa_bg", .init = (MapInit)0x80240000 },
{ MAP_UNSPLIT(osr_03, 0x802403F0), .bgName = "kpa_bg", .init = (MapInit)0x80240000 },
{ MAP_UNSPLIT(osr_04, 0x802400D0), .bgName = "nok_bg", .init = (MapInit)0x80240000 },
{ MAP(osr_00), .bgName = "nok_bg" },
{ MAP_WITH_INIT(osr_01), .bgName = "nok_bg" },
{ MAP_WITH_INIT(osr_02), .bgName = "kpa_bg" },
{ MAP_WITH_INIT(osr_03), .bgName = "kpa_bg" },
{ MAP_WITH_INIT(osr_04), .bgName = "nok_bg" },
};
/// Peach's Castle

View File

@ -1,30 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_80240790_AACFC0
.word 0x00000000, 0x00000000, 0x44170000, 0x00000000, 0x44190000, 0x00000000, 0x42DE0000, 0x43870000, 0x00000000, 0x00000000, 0xC3820000, 0x43340000, 0x43FA0000, 0x41A00000, 0x42C80000, 0x43870000, 0x00000000, 0x00000000, 0x43960000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80240DBC_AAD5EC, D_80240790_AACFC0, 0x00000005, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x00000000
dlabel D_80240820_AAD050
.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000016, 0x00000001, 0xFFFFFF80, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000003F, 0x00000001, 0x00000008, 0x00000016, 0x00000001, 0x00000060, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000003F, 0x00000000, 0x00000008, 0x0000001C, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000023, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000003, 0x00000043, 0x00000002, ClearAmbientSounds, 0x000000FA, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_802408F0_AAD120
.word 0x0000004D, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C85, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C86, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C87, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C88, 0x00000001, 0x00000043, 0x00000001, osr_00_UpdateTexturePanSmooth, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, osr_00_UpdateTexturePanStepped, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_8024098C_AAD1BC
.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x802437A0, 0x00000002, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_802409E8_AAD218
.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000024, 0x00000002, 0xFE363C81, 0x00000006, 0x00000024, 0x00000002, 0xFE363C82, 0x00000052, 0x00000024, 0x00000002, 0xFE363C83, 0x00000050, 0x00000044, 0x00000001, ExitDoubleDoor, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x802437A8, 0x00000006, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80240A8C_AAD2BC
.word 0x00000047, 0x00000005, D_8024098C_AAD1BC, 0x00080000, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_802409E8_AAD218, 0x00000100, 0x00000006, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80240AD4_AAD304
.word 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C82, 0x00000052, 0x00000024, 0x00000002, 0xFE363C83, 0x00000050, 0x00000046, 0x00000001, EnterDoubleDoor, 0x00000044, 0x00000001, D_80240A8C_AAD2BC, 0x00000016, 0x00000001, 0x00000003, 0x00000044, 0x00000001, 0x80243470, 0x00000016, 0x00000001, 0x00000004, 0x00000044, 0x00000001, 0x802435F8, 0x0000001C, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80240A8C_AAD2BC, 0x00000044, 0x00000001, EnterWalk, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80240BA0_AAD3D0
.word 0x0000004D, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x00000015, 0x00000001, 0x00000043, 0x00000003, SetTexPanner, 0x00000016, 0x00000002, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFFF38, 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_802408F0_AAD120, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0x0000012C, 0x00000024, 0x00000002, 0xFE363C85, 0x00000000, 0x00000024, 0x00000002, 0xFE363C86, 0x00000000, 0x00000024, 0x00000002, 0xFE363C87, 0x00000000, 0x00000024, 0x00000002, 0xFE363C88, 0x00000001, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_802408F0_AAD120, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80240DBC_AAD5EC
.word 0x00000024, 0x00000002, 0xF5DE0329, 0x00000019, 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, 0x00000016, 0x00000001, 0xFFFFFF80, 0x00000043, 0x00000001, func_8024030C_AACB3C, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x8024117C, 0x0000001B, 0x00000001, 0x00000060, 0x00000043, 0x00000001, osr_00_SpawnSunEffect, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80243428, 0x00000023, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000003, 0x00000044, 0x00000001, D_80240820_AAD050, 0x00000013, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000003, 0x00000044, 0x00000001, D_80240BA0_AAD3D0, 0x00000043, 0x00000006, PlaySoundAtF, 0x80000059, 0x00000001, 0x0000012C, 0x00000000, 0x00000190, 0x00000013, 0x00000000, 0x00000044, 0x00000001, D_80240AD4_AAD304, 0x00000008, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000

File diff suppressed because one or more lines are too long

View File

@ -1,9 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_80240AC0_AB0AB0
.word 0x00000000, 0x00000000, 0x44170000, 0x00000000, 0x44190000, 0x00000000, 0x42DE0000, 0x43870000, 0x00000000, 0x00000000, 0xC3910000, 0x43340000, 0x00000000, 0xC47A0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80240FD8, D_80240AC0_AB0AB0, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x00190009
dlabel D_80240B40_AB0B30
.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, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000003, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000062, 0x00000000, 0x00000008, 0x00000012, 0x00000000, 0x00000044, 0x00000001, D_80240B40_AB0B30, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000

View File

@ -1,18 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_80240C20_AB0C10
.word 0x0000004D, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C85, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C86, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C87, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C88, 0x00000001, 0x00000043, 0x00000001, osr_01_UpdateTexturePanSmooth, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, osr_01_UpdateTexturePanStepped, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80240CBC_AB0CAC
.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80242168, 0x00000002, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80240D18_AB0D08
.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000001, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80242170, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80240D74_AB0D64
.word 0x00000047, 0x00000005, D_80240CBC_AB0CAC, 0x00080000, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80240D18_AB0D08, 0x00080000, 0x00000002, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80240DBC_AB0DAC
.word 0x0000004D, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x0000000E, 0x00000001, 0x00000043, 0x00000003, SetTexPanner, 0x0000000F, 0x00000002, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFFF38, 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_80240C20_AB0C10, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0x0000012C, 0x00000024, 0x00000002, 0xFE363C85, 0x00000000, 0x00000024, 0x00000002, 0xFE363C86, 0x00000000, 0x00000024, 0x00000002, 0xFE363C87, 0x00000000, 0x00000024, 0x00000002, 0xFE363C88, 0x00000001, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_80240C20_AB0C10, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x00000019, 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, 0x00000024, 0x00000002, 0xF9718881, 0x00000000, 0x00000024, 0x00000002, 0xF840632B, 0x00000001, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x8024213C, 0x00000046, 0x00000001, 0x80240BB4, 0x00000044, 0x00000001, D_80240DBC_AB0DAC, 0x00000043, 0x00000006, PlaySoundAtF, 0x8000005A, 0x00000001, 0x0000012C, 0x00000002, 0x0000018F, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, EnableModel, 0x00000028, 0x00000000, 0x00000044, 0x00000001, 0x80241AC4, 0x0000001C, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80240D74_AB0D64, 0x00000044, 0x00000001, EnterWalk, 0x00000023, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000

View File

@ -1,45 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_80241160_AB1150
.word 0x00000000, 0x001E0018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000, 0x00000000, 0x00170013, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000
dlabel osr_01_varStash
.word 0x00000000
dlabel D_802411BC_AB11AC
.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 osr_01_ItemChoice_HasSelectedItem
.word 0x00000000
dlabel osr_01_ItemChoice_SelectedItemID
.word 0x00000000
dlabel D_80241224_AB1214
.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, osr_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, osr_01_ItemChoice_SaveSelected, 0xFE363C8A, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, func_80240730_AB0720, 0xFE363C80, 0x0000004E, 0x00000006, D_80241224_AB1214, 0x00000010, 0x00000000, jan_02_Quizmo_SetCamVfov, 0x00000000, 0x00000001, 0x00000043, 0x00000002, func_802406A4_AB0694, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_802413B8_AB13A8
.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, osr_01_LetterDelivery_CalcLetterPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000005, SetItemPos, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80241438_AB1428
.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, osr_01_LetterDelivery_CalcLetterPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000042, 0x00000002, 0xFE363C80, 0x00050000, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000001, 0x00000000, 0x00000045, 0x00000002, D_802413B8_AB13A8, 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, osr_01_ItemChoice_SaveSelected, 0xFE363C8A, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_8024175C_AB174C
.word 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C8B, 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000002, func_80240730_AB0720, 0xFE363C80, 0x0000004E, 0x00000006, D_80241438_AB1428, 0x00000010, 0x00000000, jan_02_Quizmo_SetCamVfov, 0x00000000, 0x00000001, 0x00000043, 0x00000002, func_802406A4_AB0694, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_802417CC_AB17BC
.word 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFBA, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, osr_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_8024175C_AB174C, 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_802411BC_AB11AC, 0x00000043, 0x00000002, AddKeyItem, 0xFE363C86, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000002, 0x00000023, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, osr_01_LetterDelivery_RestoreNpcAnim, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, SetPlayerActionState, 0x0000000A, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0x00000000, 0x00000190, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000190, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF250BA80, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24A8680, 0xF24A5280, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00830004, 0x00830001, 0x00000000, 0x000A006F, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, GotoMap, 0x80242178, 0x00000004, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80241C18_AB1C08
.word 0x00000046, 0x00000000
dlabel D_80241C20_AB1C10
.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFF96, 0x00000024, 0x00000002, 0xFE363C80, 0x00090000, 0x00000018, 0x00000001, 0xFFFFFF9A, 0x00000024, 0x00000002, 0xFE363C80, 0x00090001, 0x00000018, 0x00000001, 0xFFFFFFB5, 0x00000024, 0x00000002, 0xFE363C80, 0x00090002, 0x00000018, 0x00000001, 0xFFFFFFCB, 0x0000000A, 0x00000002, 0xF8405C9C, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00090003, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00090004, 0x00000013, 0x00000000, 0x00000018, 0x00000001, 0xFFFFFFF1, 0x00000024, 0x00000002, 0xFE363C80, 0x00090005, 0x00000018, 0x00000001, 0x00000007, 0x0000000A, 0x00000002, 0xF8405C8D, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00090006, 0x00000012, 0x00000000, 0x0000000A, 0x00000002, 0xF8405C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00090007, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00090008, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000018, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C80, 0x00090009, 0x00000018, 0x00000001, 0x00000027, 0x00000024, 0x00000002, 0xFE363C80, 0x0009000A, 0x00000018, 0x00000001, 0x0000002B, 0x00000024, 0x00000002, 0xFE363C80, 0x0009000B, 0x00000018, 0x00000001, 0x00000039, 0x00000024, 0x00000002, 0xFE363C80, 0x0009000C, 0x00000018, 0x00000001, 0x0000003D, 0x00000024, 0x00000002, 0xFE363C80, 0x0009000D, 0x00000018, 0x00000001, 0x00000059, 0x00000024, 0x00000002, 0xFE363C80, 0x0009000E, 0x00000018, 0x00000001, 0x00000060, 0x00000024, 0x00000002, 0xFE363C80, 0x0009000F, 0x00000023, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00830004, 0x00830001, 0x00000000, 0xFE363C80, 0x00000043, 0x0000000B, osr_01_LetterDelivery_Init, 0x00000000, 0x00830004, 0x00830001, 0x00000046, 0x00000047, 0x00090010, 0x00090011, 0x00090012, 0x00090013, D_80241C18_AB1C08, 0x00000046, 0x00000001, D_802417CC_AB17BC, 0x0000000A, 0x00000002, 0xFE363C8C, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80241EC0_AB1EB0
.word 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000190, 0x00000043, 0x00000003, SetNpcYaw, 0xFFFFFFFF, 0x0000005A, 0x0000001C, 0x00000000, 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_80241C20_AB1C10, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80241F4C_AB1F3C
.word 0x00000000, D_80241160_AB1150, 0x41C80000, 0x00000000, 0x43020000, 0x00112D09, D_80241EC0_AB1EB0, 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, 0x00830001, 0x00830002, 0x00830003, 0x00830003, 0x00830001, 0x00830001, 0x00830006, 0x00830006, 0x00830003, 0x00830003, 0x00830003, 0x00830003, 0x00830003, 0x00830003, 0x00830003, 0x00830003, 0x00000000, 0x00000000, 0x00000000, 0x001A000C, 0x00000001, D_80241F4C_AB1F3C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000

View File

@ -1,24 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_80240150_AB22C0
.word 0xC34D0000, 0x00000000, 0x425C0000, 0x43070000, 0x00000000, 0x41A00000, 0xC3910000, 0x43340000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80240538_AB26A8, D_80240150_AB22C0, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x0019000A
dlabel D_802401B0_AB2320
.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, UseDoorSounds, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x00000031, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFFF, 0x00000044, 0x00000001, ExitSingleDoor, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x80244100, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80240264_AB23D4
.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, UseDoorSounds, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000024, 0x00000002, 0xFE363C82, 0x0000002E, 0x00000024, 0x00000002, 0xFE363C83, 0x0000002C, 0x00000044, 0x00000001, ExitDoubleDoor, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x80244108, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80240318_AB2488
.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00200009, 0x00200001, 0x00000000, 0x00140180, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80240384_AB24F4
.word 0x0000000A, 0x00000002, 0xF5DE0180, 0x0000003A, 0x00000047, 0x00000005, D_80240318_AB2488, 0x00000100, 0x00000000, 0x00000001, 0x00000000, 0x00000012, 0x00000000, 0x00000047, 0x00000005, D_802401B0_AB2320, 0x00000100, 0x00000000, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000047, 0x00000005, D_80240264_AB23D4, 0x00000100, 0x00000001, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80240408_AB2578
.word 0x00000043, 0x00000002, GetLoadType, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000044, 0x00000001, EnterSavePoint, 0x00000044, 0x00000001, D_80240384_AB24F4, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000002, UseDoorSounds, 0x00000001, 0x00000024, 0x00000002, 0xFE363C82, 0x00000031, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFFF, 0x00000046, 0x00000001, EnterSingleDoor, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000002, UseDoorSounds, 0x00000002, 0x00000024, 0x00000002, 0xFE363C82, 0x0000002E, 0x00000024, 0x00000002, 0xFE363C83, 0x0000002C, 0x00000046, 0x00000001, EnterDoubleDoor, 0x00000016, 0x00000001, 0x00000002, 0x00000044, 0x00000001, 0x80241190, 0x00000023, 0x00000000, 0x00000044, 0x00000001, D_80240384_AB24F4, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80240538_AB26A8
.word 0x00000024, 0x00000002, 0xF5DE0329, 0x0000001A, 0x0000000D, 0x00000002, 0xF5DE0180, 0x0000005E, 0x00000024, 0x00000002, 0xF840634A, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000002, SetSpriteShading, 0x00040000, 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, 0x0000000A, 0x00000002, 0xF5DE0180, 0x0000003A, 0x00000043, 0x00000002, func_80240020_AB2190, 0x00000003, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x802440E8, 0x00000013, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80243BB0, 0x00000023, 0x00000000, 0x00000046, 0x00000001, 0x80240990, 0x0000000A, 0x00000002, 0xF8405D7D, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000020, 0x00000003, 0xF24645D3, 0xF24B4280, 0xF24C0B62, 0x00000001, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000020, 0x00000003, 0xF24A7017, 0xF24B4280, 0xF24D00D5, 0x00000001, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000020, 0x00000003, 0xF24D5316, 0xF24B4280, 0xF24CF2A2, 0x00000001, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000020, 0x00000003, 0xF24FE641, 0xF24B4280, 0xF24AF9F2, 0x00000001, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000020, 0x00000003, 0xF24F06AE, 0xF24BD353, 0xF2477E2C, 0x00000001, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000020, 0x00000003, 0xF248D4EF, 0xF24B9280, 0xF2474E0A, 0x00000001, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000020, 0x00000003, 0xF249A880, 0xF24B9280, 0xF246D38D, 0x00000001, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000020, 0x00000003, 0xF24B4C80, 0xF24B9280, 0xF246D38D, 0x00000001, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000020, 0x00000003, 0xF24C2B6B, 0xF24B9280, 0xF247581A, 0x00000001, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x0000002A, 0x00000000, 0x00000013, 0x00000000, 0x0000000F, 0x00000002, 0xF5DE0180, 0x0000005E, 0x00000043, 0x00000003, FadeOutMusic, 0x00000000, 0x000001F4, 0x00000013, 0x00000000, 0x00000044, 0x00000001, D_80240408_AB2578, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xF5DE0180, 0x0000005E, 0x00000024, 0x00000002, 0xF5DE0180, 0x0000005F, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000

View File

@ -1,6 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_80240990_AB2B00
.word 0x0000000A, 0x00000002, 0xF8405D7D, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0x00000059, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_HiddenYellowBlock, 0x000000B4, 0x0000003C, 0xFFFFFFF1, 0x00000000, 0x0000008E, 0x80000000, 0x00000043, 0x00000002, AssignBlockFlag, 0xF84061EB, 0x00000043, 0x00000007, MakeEntity, Entity_SavePoint, 0xFFFFFF9C, 0x0000003C, 0xFFFFFFCE, 0x00000000, 0x80000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000

File diff suppressed because one or more lines are too long

View File

@ -1,21 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_80243BD0_AB5D40
.word 0x00000000, 0x00240022, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000D0000
dlabel D_80243BFC_AB5D6C
.word 0x00390000, 0x00390002, 0x00390003, 0x00390004, 0x00390005, 0x00390008, 0x00390007, 0x00390013, 0x00390014, 0xFFFFFFFF
dlabel D_80243C24_AB5D94
.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000001, CancelMessage, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00390008, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00390002, 0x00000043, 0x00000002, osr_02_GetPeachDisguise, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x0014014A, 0x00000016, 0x00000001, 0x00000003, 0x00000024, 0x00000002, 0xFE363C81, 0x0014014B, 0x0000001C, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x0014014C, 0x00000023, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00390005, 0x00390002, 0x00000010, 0xFE363C81, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00390007, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80243D54_AB5EC4
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetSelfVar, 0x00000000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, AwaitPlayerApproach, 0xFE363C81, 0xFE363C83, 0x00000055, 0x00000056, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00390007, 0x00390007, 0x00000005, 0x00140149, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000004, AwaitPlayerLeave, 0xFE363C81, 0xFE363C83, 0x0000005A, 0x00000043, 0x00000001, CancelMessage, 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80243E7C_AB5FEC
.word 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00390007, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFFFFFFD8, 0x00000014, 0xFFFFFF56, 0x00000043, 0x00000003, SetNpcYaw, 0xFFFFFFFF, 0x000000C8, 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80243D54_AB5EC4, 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_80243C24_AB5D94, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80243EF8_AB6068
.word 0x00000000, D_80243BD0_AB5D40, 0xC28C0000, 0x00000000, 0xC2C80000, 0x00400D0D, D_80243E7C_AB5FEC, 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, 0x00390002, 0x00390003, 0x00390004, 0x00390004, 0x00390002, 0x00390002, 0x0039000C, 0x0039000C, 0x00390011, 0x00390012, 0x00390007, 0x00390008, 0x00390001, 0x00390002, 0x00390002, 0x00390002, 0x00000000, 0x00000000, D_80243BFC_AB5D6C, 0x00000000, 0x00000001, D_80243EF8_AB6068, 0x00000000, 0x00000000, 0x00000000, 0x00000000

View File

@ -1,30 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_80240380_AB6610
.word 0x00000000, 0x00000000, 0x44170000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x43870000, 0x00000000, 0x00000000, 0x43910000, 0x43340000, 0x00000000, 0xC2480000, 0x00000000, 0x43340000, 0x00000000, 0x00000000, 0x00000000, 0x43340000, 0x00000000, 0xC2480000, 0x00000000, 0x43340000, 0x00000000, 0x00000000, 0xC3910000, 0x43340000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_802405FC_AB688C, D_80240380_AB6610, 0x00000007, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x00000000
dlabel D_80240430_AB66C0
.word 0x00000043, 0x00000003, EnableGroup, 0x00000045, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x0000004D, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x0000005E, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000063, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000066, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x0000006C, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000073, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000081, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_802404E0_AB6770
.word 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_802404F0_AB6780
.word 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000001, 0x00000044, 0x00000001, 0x802413E0, 0x00000016, 0x00000001, 0x00000002, 0x00000044, 0x00000001, 0x80241654, 0x00000016, 0x00000001, 0x00000003, 0x00000044, 0x00000001, D_80240430_AB66C0, 0x00000044, 0x00000001, 0x80241CFC, 0x00000016, 0x00000001, 0x00000004, 0x00000008, 0x00000001, 0x0000000F, 0x00000044, 0x00000001, 0x80242528, 0x00000016, 0x00000001, 0x00000005, 0x00000044, 0x00000001, D_80240430_AB66C0, 0x00000044, 0x00000001, 0x80242AE0, 0x00000016, 0x00000001, 0x00000006, 0x00000044, 0x00000001, 0x8024191C, 0x0000001C, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_802404E0_AB6770, 0x00000044, 0x00000001, EnterWalk, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_802405FC_AB688C
.word 0x00000024, 0x00000002, 0xF5DE0329, 0x00000018, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000004, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, D_80240AFC_AB6D8C, 0x0000001C, 0x00000000, 0x00000023, 0x00000000, 0x00000014, 0x00000001, 0xF5DE0180, 0x0000001D, 0x00000001, 0xFFFFFF96, 0x0000001D, 0x00000001, 0xFFFFFFB3, 0x0000001D, 0x00000001, 0xFFFFFFF1, 0x00000043, 0x00000002, ClearAmbientSounds, 0x000000FA, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000073, 0x00000000, 0x00000008, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0xFFFFFFC9, 0x00000043, 0x00000002, ClearAmbientSounds, 0x000000FA, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000066, 0x00000000, 0x00000008, 0x0000001D, 0x00000001, 0x00000005, 0x0000001D, 0x00000001, 0x00000025, 0x0000001D, 0x00000001, 0x00000039, 0x00000043, 0x00000002, ClearAmbientSounds, 0x000000FA, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000074, 0x00000000, 0x00000008, 0x00000020, 0x00000000, 0x00000016, 0x00000001, 0x00000057, 0x00000043, 0x00000002, ClearAmbientSounds, 0x000000FA, 0x00000043, 0x00000003, FadeOutMusic, 0x00000000, 0x000001F4, 0x0000001C, 0x00000000, 0x0000000A, 0x00000002, 0xF8405D7D, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000005F, 0x00000000, 0x00000008, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000044, 0x00000001, D_802404F0_AB6780, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000004, 0x00000008, 0x00000001, 0x0000000F, 0x00000012, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_802408A0_AB6B30
.word 0x00000000, 0x0028001E, 0x00000000, 0x00000000, 0x00000000, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x001A0000
dlabel D_802408CC_AB6B5C
.word 0x00600009, 0x0060000A, 0x0060000B, 0x0060000C, 0x0060000D, 0x0060000E, 0x0060000F, 0x00600010, 0x00600011, 0x00600012, 0x00600013, 0x00600014, 0x00600015, 0x00600016, 0x0060001A, 0xFFFFFFFF
dlabel D_8024090C_AB6B9C
.word 0x00000000, D_802408A0_AB6B30, 0x00000000, 0xC47A0000, 0x00000000, 0x00000D0D, 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, 0x00600001, 0x00600002, 0x00600003, 0x00600003, 0x00600001, 0x00600001, 0x00600000, 0x00600000, 0x00600003, 0x00600003, 0x00600003, 0x00600003, 0x00600003, 0x00600003, 0x00600003, 0x00600003, 0x00000000, 0x00000000, D_802408CC_AB6B5C, 0x00000000
dlabel D_80240AFC_AB6D8C
.word 0x00000001, D_8024090C_AB6B9C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000

View File

@ -1,24 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_80240B20_AB6DB0
.word 0xC2C80000, 0x428C0000, 0x445A4000, 0xC3A40000, 0xC1200000, 0x44610000, 0xC3CB0000, 0xC2B40000, 0x446F8000, 0xC3F28000, 0xC32A0000, 0x447C8000, 0xC41A8000, 0xC3660000, 0x44866000, 0x00000043, 0x00000005, LoadPath, 0x0000005A, D_80240B20_AB6DB0, 0x00000005, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000008, 0x00000001, 0x00000001, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000001, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80240BEC_AB6E7C
.word 0xC4AC8000, 0xC5386000, 0x450FC000, 0xC4A5A000, 0xC53D6000, 0x45117000, 0xC49D2000, 0xC53EA000, 0x45102000, 0xC4992000, 0xC53B8000, 0x4510E000, 0xC49E8000, 0xC53B8000, 0x45102000, 0xC4A5A000, 0xC53F1000, 0x450F9000, 0xC4AD6000, 0xC543E000, 0x45114000, 0xC4B32000, 0xC546D000, 0x45130000
dlabel D_80240C4C_AB6EDC
.word 0x00000043, 0x00000005, LoadPath, 0x00000087, D_80240BEC_AB6E7C, 0x00000008, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000008, 0x00000001, 0x00000001, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000001, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80240CDC_AB6F6C
.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x0000005A, 0xFFFFFFA6, 0x0000001E, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateGroup, 0x00000019, 0x00000000, 0xFD050F8E, 0x00000000, 0x00000043, 0x00000002, func_80240020_AB62B0, 0xFE363C80, 0x00000043, 0x00000006, RotateGroup, 0x00000019, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000005, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateGroup, 0x00000019, 0x00000000, 0xFD050F8E, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0x00000019, 0xFFFFFFEC, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFFA6, 0x0000005A, 0x0000001E, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateGroup, 0x00000019, 0x00000000, 0xFD050F8E, 0x00000000, 0x00000043, 0x00000002, func_80240020_AB62B0, 0xFE363C80, 0x00000043, 0x00000006, RotateGroup, 0x00000019, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000005, 0x00000001, 0x00000002, 0x00000043, 0x00000005, TranslateGroup, 0x00000019, 0x00000000, 0xFD050F8E, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0x00000019, 0x00000014, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80240F20_AB71B0
.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x0000002D, 0xFFFFFFD3, 0x0000003C, 0x00000004, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateGroup, 0x0000000C, 0x00000000, 0xFD050F8E, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0x0000000C, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFFD3, 0x0000002D, 0x0000003C, 0x00000004, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateGroup, 0x0000000C, 0x00000000, 0xFD050F8E, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0x0000000C, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_8024108C_AB731C
.word 0x00000024, 0x00000002, 0xFD050F8E, 0x00000000, 0x00000044, 0x00000001, D_80240CDC_AB6F6C, 0x00000044, 0x00000001, D_80240F20_AB71B0, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFCE0, 0x00001194, 0x00000190, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000024, 0x00000002, 0xFD050F8E, 0xFE363C80, 0x00000043, 0x00000005, TranslateGroup, 0x00000008, 0x00000000, 0xFE363C80, 0x00000000, 0x00000043, 0x00000005, TranslateGroup, 0x0000001D, 0x00000000, 0xFE363C80, 0x00000000, 0x00000043, 0x00000005, TranslateGroup, 0x0000002F, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0xFFFFEC78, 0x0000012C, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateModel, 0x0000005F, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0xFFFFEC78, 0x0000012C, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateModel, 0x00000060, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0xFFFFEC78, 0x0000012C, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateModel, 0x00000061, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0xFFFFEC78, 0x0000012C, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateModel, 0x00000062, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000006B, 0x00000000, 0x00000008, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0x00000000, 0x00000000, 0x000007D0, 0x00000043, 0x00000003, EnableGroup, 0x00000045, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x0000004D, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x0000005E, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000066, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x0000006C, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000073, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000081, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000086, 0x00000000, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000050, 0x00000010, 0x00001000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000004, SetCamType, 0x00000000, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFFFFFF6A, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24A4680, 0xF24AC280, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000044, 0x00000001, D_8024108C_AB731C, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFFFFFFCE, 0x000000C8, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF25A1A80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A7D80, 0x00000008, 0x00000001, 0x000000B4, 0x00000043, 0x00000003, GotoMap, 0x80242FE0, 0x00000002, 0x00000008, 0x00000001, 0x00000064, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80241630_AB78C0
.word 0xC3960000, 0x00000000, 0x43960000, 0xC3FA0000, 0x41C80000, 0x44610000, 0xC4340000, 0xC4228000, 0x44BB8000, 0x00000043, 0x00000003, FadeOutMusic, 0x00000000, 0x000001F4, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0001001F, 0x00000043, 0x00000003, EnableGroup, 0x00000045, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x0000004D, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x0000005E, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000063, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000066, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x0000006C, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000073, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000081, 0x00000000, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000050, 0x00000010, 0x00001000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24A4680, 0xF24AC280, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFD050F8E, 0x00000000, 0x00000044, 0x00000001, D_80240CDC_AB6F6C, 0x00000044, 0x00000001, D_80240F20_AB71B0, 0x00000058, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x0000002D, 0x00000043, 0x00000003, InterpPlayerYaw, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000059, 0x00000000, 0x00000043, 0x00000005, LoadPath, 0x0000005A, D_80241630_AB78C0, 0x00000003, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000003, GotoMap, 0x80242FE0, 0x00000003, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, FadeOutMusic, 0x00000000, 0x000001F4, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000003, SetPlayerFlagBits, 0x00200000, 0x00000001, 0x00000043, 0x00000003, InterpPlayerYaw, 0x0000005A, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010017, 0x00000043, 0x00000003, SetPlayerFlagBits, 0x00200000, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000045, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x0000004D, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x0000005E, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000063, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000066, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x0000006C, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000073, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000081, 0x00000000, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001770, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFFFFFE70, 0xFFFFFA24, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF2812A80, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0xFFFFFED4, 0xFFFFFF60, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0x0000012C, 0x00000050, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24A0280, 0xF24A7A80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000008, 0x00000001, 0x0000000F, 0x00000046, 0x00000001, D_80240C4C_AB6EDC, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000003, GotoMap, 0x80242FE8, 0x00000005, 0x00000008, 0x00000001, 0x00000064, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000

View File

@ -1,9 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_80241B90_AB7E20
.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, TranslateGroup, 0x00000086, 0xFD050F8A, 0xFD050F8B, 0xFD050F8C, 0x00000043, 0x00000006, RotateGroup, 0x00000086, 0xFD050F8D, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xFD050F8A, 0x00000024, 0x00000002, 0xFE363C81, 0xFD050F8B, 0x00000024, 0x00000002, 0xFE363C82, 0xFD050F8C, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFF6, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C82, 0x00000014, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80241C90_AB7F20
.word 0xC42F0000, 0xC3AF0000, 0x44C80000, 0xC42F0000, 0xC3EB0000, 0x44C80000, 0xC4250000, 0xC3FC8000, 0x44C6C000, 0xC40D4000, 0xC4020000, 0x44C9E000, 0xC36B0000, 0xC4250000, 0x44B4A000, 0xC2DC0000, 0xC432C000, 0x44A28000, 0x41700000, 0xC4408000, 0x44906000, 0x00000000, 0xC4408000, 0x44660000, 0x41A00000, 0xC4160000, 0x44160000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, SetPlayerActionState, 0x0000000A, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000005, TranslateGroup, 0x00000086, 0xFFFFFD44, 0xFFFFFEA2, 0x00000640, 0x00000024, 0x00000002, 0xFD050F8D, 0x00000032, 0x00000024, 0x00000002, 0xFD050F8A, 0xFFFFFD44, 0x00000024, 0x00000002, 0xFD050F8B, 0xFFFFFEA2, 0x00000024, 0x00000002, 0xFD050F8C, 0x00000640, 0x00000044, 0x00000001, D_80241B90_AB7E20, 0x00000024, 0x00000002, 0xFD050F8E, 0x00000000, 0x00000044, 0x00000001, D_80240CDC_AB6F6C, 0x00000044, 0x00000001, D_80240F20_AB71B0, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000050, 0x00000010, 0x00001000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24A4680, 0xF24AC280, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x00000180, 0x00000043, 0x00000005, MakeLerp, 0x00000032, 0x0000000A, 0x0000000A, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000024, 0x00000002, 0xFD050F8D, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x0000000A, 0x00000073, 0x00000050, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000024, 0x00000002, 0xFD050F8D, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000058, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000004, func_802D2884, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000059, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000005, LoadPath, 0x00000078, D_80241C90_AB7F20, 0x00000009, 0x00000000, 0x00000003, 0x00000001, 0x0000005A, 0x00000043, 0x00000001, GetNextPathPos, 0x00000024, 0x00000002, 0xFD050F8A, 0xFE363C81, 0x00000024, 0x00000002, 0xFD050F8B, 0xFE363C82, 0x00000024, 0x00000002, 0xFD050F8C, 0xFE363C83, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000004, 0x00000001, 0x0000005A, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000043, 0x00000003, GotoMap, 0x80242FF0, 0x00000004, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000

View File

@ -1,15 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_802420C0_AB8350
.word 0xC42F0000, 0xC3B90000, 0x44C80000, 0xC43B8000, 0xC3E10000, 0x44C1C000, 0xC42F0000, 0xC4048000, 0x44C1C000, 0xC41D8000, 0xC4098000, 0x44C1C000
dlabel D_802420F0_AB8380
.word 0xC41D8000, 0xC4098000, 0x44C1C000, 0xC3D70000, 0xC4020000, 0x44BEA000, 0xC3AF0000, 0xC3D70000, 0x44BB8000, 0xC2C80000, 0xC2C80000, 0x447A0000, 0x00000000, 0x00000000, 0x43FA0000, 0x00000000, 0x00000000, 0x00000000
dlabel D_80242138_AB83C8
.word 0x00000058, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x0000006E, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundWithVolume, 0x00000295, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFFE, 0x0000000C, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000004, 0x00000006, 0x00000000, 0x00000059, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802400C4_AB6354, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C89, 0xFE363C8A, 0xFE363C8B, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C89, 0x00000024, 0x00000002, 0xFE363C84, 0xFE363C8A, 0x00000024, 0x00000002, 0xFE363C85, 0xFE363C8B, 0x00000028, 0x00000002, 0xFE363C83, 0xFE363C86, 0x00000028, 0x00000002, 0xFE363C84, 0xFE363C87, 0x00000028, 0x00000002, 0xFE363C85, 0xFE363C88, 0x00000024, 0x00000002, 0xFE363C86, 0xFE363C89, 0x00000024, 0x00000002, 0xFE363C87, 0xFE363C8A, 0x00000024, 0x00000002, 0xFE363C88, 0xFE363C8B, 0x0000000A, 0x00000002, 0xFE363C83, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C85, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x0000001F, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0xF24A7E80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x0000001F, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0xF24A7E80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80242390_AB8620
.word 0x00000008, 0x00000001, 0x0000001E, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000003, NpcFacePlayer, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000045, 0x00000002, D_80242138_AB83C8, 0xFE363C89, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x0060001A, 0x00000043, 0x00000005, LoadPath, 0x0000001E, D_802420C0_AB8350, 0x00000004, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, LoadPath, 0x00000096, D_802420F0_AB8380, 0x00000006, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, GetNextPathPos, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000049, 0x00000001, 0xFE363C89, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000045, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x0000004D, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x0000005E, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000063, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000066, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x0000006C, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000073, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000081, 0x00000000, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000050, 0x00000010, 0x00001000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24A4680, 0xF24AC280, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000024, 0x00000002, 0xFD050F8E, 0x00000000, 0x00000044, 0x00000001, D_80240CDC_AB6F6C, 0x00000044, 0x00000001, D_80240F20_AB71B0, 0x00000008, 0x00000001, 0x0000001E, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFF94, 0x00000046, 0x00000001, D_80242390_AB8620, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000050, 0x00000043, 0x00000001, func_80240090_AB6320, 0x00000024, 0x00000002, 0xF5DE01CE, 0xFE363C80, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFF94, 0x00000043, 0x00000003, GotoMap, 0x80243008, 0x00000002, 0x00000018, 0x00000001, 0xFFFFFF97, 0x00000043, 0x00000003, GotoMap, 0x80243000, 0x00000003, 0x00000018, 0x00000001, 0xFFFFFFB4, 0x00000043, 0x00000003, GotoMap, 0x80243000, 0x00000004, 0x00000018, 0x00000001, 0xFFFFFFCA, 0x00000043, 0x00000003, GotoMap, 0x80243000, 0x00000005, 0x00000018, 0x00000001, 0xFFFFFFF2, 0x00000043, 0x00000003, GotoMap, 0x80243000, 0x00000006, 0x00000018, 0x00000001, 0x00000006, 0x00000043, 0x00000003, GotoMap, 0x80243000, 0x00000007, 0x00000018, 0x00000001, 0x00000026, 0x00000043, 0x00000003, GotoMap, 0x80243000, 0x00000008, 0x00000018, 0x00000001, 0x0000003A, 0x00000043, 0x00000003, GotoMap, 0x80243000, 0x00000009, 0x00000018, 0x00000001, 0x00000058, 0x00000043, 0x00000003, GotoMap, 0x80242FF8, 0x00000001, 0x00000023, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000

View File

@ -1,12 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_80242880_AB8B10
.word 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x000000D2, 0xF24A8280, 0x00000043, 0x00000005, MakeLerp, 0x000000C8, 0x00000032, 0x00000041, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x0000002F, 0x00000002, 0xFE363C80, 0x00000064, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x00000004, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80242934_AB8BC4
.word 0xFFFFFDF8, 0xFFFFFEE8, 0x0000010E, 0x000000E6, 0xFFFFFF6A, 0x0000012C, 0xFFFFFE0C, 0xFFFFFF38, 0x000000BE, 0xFFFFFE5C, 0xFFFFFF1A, 0xFFFFFF56, 0xFFFFFE70, 0xFFFFFE70, 0x000001C2, 0x00000000, 0xFFFFFD30, 0x0000026C, 0xFFFFFEF2, 0xFFFFFD44, 0x000001D6, 0x00000140, 0xFFFFFE34, 0x00000212
dlabel D_80242994_AB8C24
.word 0x00000024, 0x00000002, 0xFE363C84, 0x00000014, 0x00000024, 0x00000002, 0xFE363C85, 0x0000006E, 0x00000005, 0x00000001, 0x00000000, 0x00000030, 0x00000001, D_80242934_AB8BC4, 0x00000005, 0x00000001, 0x00000008, 0x00000043, 0x00000003, PlaySoundWithVolume, 0xB000001C, 0xFE363C85, 0x00000033, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000024, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xF24A9280, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0xFE363C84, 0x00000006, 0x00000000, 0x00000027, 0x00000002, 0xFE363C85, 0xFFFFFFF6, 0x0000000C, 0x00000002, 0xFE363C85, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C85, 0x0000000A, 0x00000013, 0x00000000, 0x00000027, 0x00000002, 0xFE363C84, 0xFFFFFFFC, 0x0000000C, 0x00000002, 0xFE363C84, 0x00000005, 0x00000024, 0x00000002, 0xFE363C84, 0x00000005, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000002, SetPlayerActionState, 0x0000000A, 0x00000043, 0x00000004, SetPlayerPos, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000024, 0x00000002, 0xFD050F8E, 0x00000000, 0x00000044, 0x00000001, D_80240CDC_AB6F6C, 0x00000044, 0x00000001, D_80240F20_AB71B0, 0x00000044, 0x00000001, D_80242880_AB8B10, 0x00000045, 0x00000002, D_80242994_AB8C24, 0xFE363C89, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000016, 0x00000010, 0x00001000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetCamType, 0x00000000, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFFFFFFC4, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24A2A80, 0xF24A6A80, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0x00000000, 0xFFFFFFD8, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24A4680, 0xF24AB680, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A7BB4, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x00000006, 0x00000043, 0x00000003, RandInt, 0x00000014, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000008, 0x00000001, 0xFE363C80, 0x00000043, 0x00000001, func_802401A0_AB6430, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x000000DC, 0x00000258, 0x0000005A, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000026, 0x00000002, 0xFE363C82, 0xFE363C80, 0x0000002F, 0x00000002, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0xFE363C82, 0x00000010, 0x00001000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000258, 0x000004B0, 0x000000FA, 0x00000005, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000026, 0x00000002, 0xFE363C82, 0xFE363C80, 0x0000002F, 0x00000002, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0xFE363C82, 0x00000001, 0x00001000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000049, 0x00000001, 0xFE363C89, 0x00000008, 0x00000001, 0x00000032, 0x00000043, 0x00000002, PlaySound, 0x000000A4, 0x00000043, 0x0000000F, PlayEffect, 0x00000035, 0x00000002, 0x00000000, 0xFFFFFE52, 0x00000780, 0x0000000F, 0xFE363C89, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000056, 0x00000000, 0x00000043, 0x00000003, func_80240290_AB6520, 0x0000001E, 0xF24A8280, 0x00000043, 0x00000005, MakeLerp, 0x000000C8, 0x00000064, 0x0000000F, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x0000002F, 0x00000002, 0xFE363C80, 0x00000064, 0x00000043, 0x00000003, func_80240290_AB6520, 0x00000004, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000004, GotoMapSpecial, 0x80243010, 0x00000001, 0x00000007, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000

View File

@ -1,15 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_802400C0_AB9370
.word 0x00000000, 0x00000000, 0x44170000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8024025C_AB950C, D_802400C0_AB9370, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x00000000
dlabel D_80240110_AB93C0
.word 0x0000004D, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x0000006D, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x0000006F, 0x00000001, 0x00000043, 0x00000003, SetTexPanner, 0x00000071, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000000, 0x00000000, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000001, 0x00000000, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000002, 0x00000000, 0xFE363C80, 0xFE363C81, 0x00000027, 0x00000002, 0xFE363C81, 0x00000064, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x00002000, 0x00000004, 0x00000001, 0x0000000A, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80240234_AB94E4
.word 0x00000044, 0x00000001, 0x802417A0, 0x00000044, 0x00000001, D_80240110_AB93C0, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_8024025C_AB950C
.word 0x00000024, 0x00000002, 0xF5DE0329, 0x00000018, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, FadeOutMusic, 0x00000000, 0x000001F4, 0x00000044, 0x00000001, D_80240234_AB94E4, 0x00000008, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000

File diff suppressed because one or more lines are too long

View File

@ -1,28 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802406A4_AB0694
/* AB0694 802406A4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* AB0698 802406A8 AFBF0010 */ sw $ra, 0x10($sp)
/* AB069C 802406AC 10A00003 */ beqz $a1, .L802406BC
/* AB06A0 802406B0 8C86000C */ lw $a2, 0xc($a0)
/* AB06A4 802406B4 3C018024 */ lui $at, %hi(osr_01_ItemChoice_HasSelectedItem)
/* AB06A8 802406B8 AC20121C */ sw $zero, %lo(osr_01_ItemChoice_HasSelectedItem)($at)
.L802406BC:
/* AB06AC 802406BC 3C038024 */ lui $v1, %hi(osr_01_ItemChoice_HasSelectedItem)
/* AB06B0 802406C0 2463121C */ addiu $v1, $v1, %lo(osr_01_ItemChoice_HasSelectedItem)
/* AB06B4 802406C4 8C620000 */ lw $v0, ($v1)
/* AB06B8 802406C8 54400003 */ bnel $v0, $zero, .L802406D8
/* AB06BC 802406CC AC600000 */ sw $zero, ($v1)
/* AB06C0 802406D0 080901BB */ j .L802406EC
/* AB06C4 802406D4 0000102D */ daddu $v0, $zero, $zero
.L802406D8:
/* AB06C8 802406D8 8CC50000 */ lw $a1, ($a2)
/* AB06CC 802406DC 3C068024 */ lui $a2, %hi(osr_01_ItemChoice_SelectedItemID)
/* AB06D0 802406E0 0C0B2026 */ jal evt_set_variable
/* AB06D4 802406E4 8CC61220 */ lw $a2, %lo(osr_01_ItemChoice_SelectedItemID)($a2)
/* AB06D8 802406E8 24020002 */ addiu $v0, $zero, 2
.L802406EC:
/* AB06DC 802406EC 8FBF0010 */ lw $ra, 0x10($sp)
/* AB06E0 802406F0 03E00008 */ jr $ra
/* AB06E4 802406F4 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -11623,63 +11623,60 @@ segments:
start: 0xAAC830
vram: 0x80240000
subsegments:
- [0xAAC830, c]
- [0xAACBB0, c]
- [0xAACFC0, data]
- [0xAAD790, data]
- [0xAAFFD0]
- [0xAAC830, c, osr_00_0_header]
- [0xAAC830, c, osr_00_1_music]
- [0xAAC830, c, osr_00_2_main]
- [0xAACBB0, c, osr_00_3_npc_intro]
- [0xAACBB0, c, osr_00_4_npc_epilogue]
- [0xAACBB0, c, osr_00_5_scenes]
- [0xAACFC0]
- name: osr_01
dir: world/area_osr/osr_01
type: code
start: 0xAAFFF0
vram: 0x80240000
subsegments:
- [0xAAFFF0, c]
- [0xAB0040, c]
- [0xAB0350, c]
- [0xAB0AB0, data]
- [0xAB0C10, data]
- [0xAB1150, data]
- [0xAB2150]
- [0xAAFFF0, c, osr_01_0_header]
- [0xAB0040, c, osr_01_1_music]
- [0xAB0040, c, osr_01_2_main]
- [0xAB0350, c, osr_01_3_npc]
- [0xAB0AB0]
- name: osr_02
dir: world/area_osr/osr_02
type: code
start: 0xAB2170
vram: 0x80240000
subsegments:
- [0xAB2170, c]
- [0xAB2190, c]
- [0xAB21D0, c]
- [0xAB2290, c]
- [0xAB22C0, data]
- [0xAB2B00, data]
- [0xAB2BB0, data]
- [0xAB5D40, data]
- [0xAB6270]
- [0xAB2170, c, osr_02_0_header]
- [0xAB2190, c, osr_02_1_main]
- [0xAB21D0, c, osr_02_2_entity]
- [0xAB21D0, c, osr_02_3_npc]
- [0xAB2290, c, osr_02_4_npc_peach]
- [0xAB22C0]
- name: osr_03
dir: world/area_osr/osr_03
type: code
start: 0xAB6290
vram: 0x80240000
subsegments:
- [0xAB6290, c]
- [0xAB62B0, c]
- [0xAB6610, data]
- [0xAB6DB0, data]
- [0xAB7E20, data]
- [0xAB8350, data]
- [0xAB8B10, data]
- [0xAB9270]
- [0xAB6290, c, osr_03_0_header]
- [0xAB62B0, c, osr_03_1_main]
- [0xAB62B0, c, osr_03_2_npc]
- [0xAB62B0, c, osr_03_3_intro]
- [0xAB6320, c, osr_03_4_starship]
- [0xAB6320, c, osr_03_5_interlude]
- [0xAB6430, c, osr_03_6_ending]
- [0xAB6610]
- name: osr_04
dir: world/area_osr/osr_04
type: code
start: 0xAB92B0
vram: 0x80240000
subsegments:
- [0xAB92B0, c]
- [0xAB9370, data]
- [0xAB95D0, data]
- [0xABB260]
- [0xAB92B0, c, osr_04_0_header]
- [0xAB9300, c, osr_04_1_main]
- [0xAB9300, c, osr_04_2_assault]
- [0xAB9370]
- name: kkj_00
dir: world/area_kkj/kkj_00
type: code

View File

@ -18379,7 +18379,7 @@ D_80244C48_A3E128 = 0x80244C48; // type:data rom:0xA3E128
D_80244C4C_A3E12C = 0x80244C4C; // type:data rom:0xA3E12C
hos_06_varStash = 0x80245E80; // type:data rom:0xA3F360
D_80245EEC_A3F3CC = 0x80245EEC; // type:data rom:0xA3F3CC
hos_10_SetPlayerSpriteSet2 = 0x80240000; // type:func rom:0xA3F740
hos_10_SetPlayerSpriteSet2_MapInit = 0x80240000; // type:func rom:0xA3F740
hos_10_UpdateTexturePanSmooth = 0x80240020; // type:func rom:0xA3F760
hos_10_UpdateTexturePanStepped = 0x80240144; // type:func rom:0xA3F884
func_8024032C_A3FA6C = 0x8024032C; // type:func rom:0xA3FA6C
@ -18920,12 +18920,12 @@ osr_01_varStash = 0x802411B8; // type:data rom:0xAB11A8
osr_01_ItemChoice_HasSelectedItem = 0x8024121C; // type:data rom:0xAB120C
osr_01_ItemChoice_SelectedItemID = 0x80241220; // type:data rom:0xAB1210
D_80242160_AB2150 = 0x80242160; // type:data rom:0xAB2150
osr_02_SetPlayerSpriteSet2 = 0x80240000; // type:func rom:0xAB2170
osr_02_SetPlayerSpriteSet2_MapInit = 0x80240000; // type:func rom:0xAB2170
func_80240020_AB2190 = 0x80240020; // type:func rom:0xAB2190
func_80240060_AB21D0 = 0x80240060; // type:func rom:0xAB21D0
osr_02_GetPeachDisguise = 0x80240120; // type:func rom:0xAB2290
D_8024253C_AB46AC = 0x8024253C; // type:data rom:0xAB46AC
osr_03_SetPlayerSpriteSet2 = 0x80240000; // type:func rom:0xAB6290
osr_03_SetPlayerSpriteSet2_MapInit = 0x80240000; // type:func rom:0xAB6290
func_80240020_AB62B0 = 0x80240020; // type:func rom:0xAB62B0
func_80240090_AB6320 = 0x80240090; // type:func rom:0xAB6320
func_802400C4_AB6354 = 0x802400C4; // type:func rom:0xAB6354
@ -18968,7 +18968,7 @@ kkj_01_PatrolNoAttackAI_15 = 0x80240AD4; // type:func rom:0xAC5C44
kkj_01_PatrolNoAttackAI_Main = 0x80240B94; // type:func rom:0xAC5D04
D_80243A10_AC8B80 = 0x80243A10; // type:data rom:0xAC8B80
D_80243A18_AC8B88 = 0x80243A18; // type:data rom:0xAC8B88
kkj_03_SetPlayerSpriteSet2 = 0x80240000; // type:func rom:0xAC9710
kkj_03_SetPlayerSpriteSet2_MapInit = 0x80240000; // type:func rom:0xAC9710
kkj_03_UpdateTexturePanSmooth = 0x80240020; // type:func rom:0xAC9730
kkj_03_UpdateTexturePanStepped = 0x80240144; // type:func rom:0xAC9854
func_80240000_ACAB20 = 0x80240000; // type:func rom:0xACAB20
@ -19026,7 +19026,7 @@ func_8024089C_AD492C = 0x8024089C; // type:func rom:0xAD492C
D_80241E20_AD5EB0 = 0x80241E20; // type:data rom:0xAD5EB0
D_80241E28_AD5EB8 = 0x80241E28; // type:data rom:0xAD5EB8
D_80241E30_AD5EC0 = 0x80241E30; // type:data rom:0xAD5EC0
kkj_13_SetPlayerSpriteSet2 = 0x80240000; // type:func rom:0xAD5ED0
kkj_13_SetPlayerSpriteSet2_MapInit = 0x80240000; // type:func rom:0xAD5ED0
kkj_13_UpdateTexturePanSmooth = 0x80240020; // type:func rom:0xAD5EF0
kkj_13_UpdateTexturePanStepped = 0x80240144; // type:func rom:0xAD6014
func_80240330_AD6200 = 0x80240330; // type:func rom:0xAD6200
@ -19147,7 +19147,7 @@ kkj_20_ToadHouse_GetPartnerBackOut = 0x80240584; // type:func rom:0xAFE0C4
kkj_20_ToadHouse_Stub = 0x802405B4; // type:func rom:0xAFE0F4
kkj_20_GetPeachDisguise = 0x802405BC; // type:func rom:0xAFE0FC
kkj_20_varStash = 0x80240880; // type:data rom:0xAFE3C0
kkj_23_SetPlayerSpriteSet2 = 0x80240000; // type:func rom:0xB02880
kkj_23_SetPlayerSpriteSet2_MapInit = 0x80240000; // type:func rom:0xB02880
func_80240020_B028A0 = 0x80240020; // type:func rom:0xB028A0
func_80240048_B028C8 = 0x80240048; // type:func rom:0xB028C8
func_80240080_B02900 = 0x80240080; // type:func rom:0xB02900
@ -19164,7 +19164,7 @@ D_80243CD0_B06550 = 0x80243CD0; // type:data rom:0xB06550
D_80243CD8_B06558 = 0x80243CD8; // type:data rom:0xB06558
D_80243CE0_B06560 = 0x80243CE0; // type:data rom:0xB06560
func_80240000_B06570 = 0x80240000; // type:func rom:0xB06570
kkj_25_SetPlayerSpriteSet2 = 0x80240000; // type:func rom:0xB06A00
kkj_25_SetPlayerSpriteSet2_MapInit = 0x80240000; // type:func rom:0xB06A00
func_80240020_B06A20 = 0x80240020; // type:func rom:0xB06A20
kkj_25_UnkFunc1 = 0x80240050; // type:func rom:0xB06A50
kkj_25_GetFloorCollider = 0x80240080; // type:func rom:0xB06A80