mirror of
https://github.com/pmret/papermario.git
synced 2024-11-09 12:32:38 +01:00
area osr (#903)
* 0/1 * ~2 * 2 * 4 * done * ws Co-authored-by: HailSanta <Hail2Santa@gmail.com>
This commit is contained in:
parent
1cea652202
commit
1c470c92e5
@ -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,
|
||||
|
2544
src/17D6A0.c
2544
src/17D6A0.c
File diff suppressed because it is too large
Load Diff
@ -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),
|
||||
};
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
},
|
||||
{
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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"
|
||||
|
@ -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)
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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) = {
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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"
|
@ -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;
|
||||
}
|
@ -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);
|
||||
|
16
src/world/area_osr/osr_00/osr_00_0_header.c
Normal file
16
src/world/area_osr/osr_00/osr_00_0_header.c
Normal 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,
|
||||
};
|
18
src/world/area_osr/osr_00/osr_00_1_music.c
Normal file
18
src/world/area_osr/osr_00/osr_00_1_music.c
Normal 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
|
||||
};
|
91
src/world/area_osr/osr_00/osr_00_2_main.c
Normal file
91
src/world/area_osr/osr_00/osr_00_2_main.c
Normal 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
|
||||
};
|
18
src/world/area_osr/osr_00/osr_00_3_npc_intro.c
Normal file
18
src/world/area_osr/osr_00/osr_00_3_npc_intro.c
Normal 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)),
|
||||
{}
|
||||
};
|
457
src/world/area_osr/osr_00/osr_00_4_npc_epilogue.c
Normal file
457
src/world/area_osr/osr_00/osr_00_4_npc_epilogue.c
Normal 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)),
|
||||
{}
|
||||
};
|
92
src/world/area_osr/osr_00/osr_00_5_scenes.c
Normal file
92
src/world/area_osr/osr_00/osr_00_5_scenes.c
Normal 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
|
||||
};
|
@ -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";
|
@ -1,4 +0,0 @@
|
||||
#include "osr_01.h"
|
||||
|
||||
#include "world/common/atomic/TexturePan.inc.c"
|
||||
|
@ -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"
|
@ -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);
|
||||
|
23
src/world/area_osr/osr_01/osr_01_0_header.c
Normal file
23
src/world/area_osr/osr_01/osr_01_0_header.c
Normal 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 },
|
||||
};
|
24
src/world/area_osr/osr_01/osr_01_1_music.c
Normal file
24
src/world/area_osr/osr_01/osr_01_1_music.c
Normal 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
|
||||
};
|
61
src/world/area_osr/osr_01/osr_01_2_main.c
Normal file
61
src/world/area_osr/osr_01/osr_01_2_main.c
Normal 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
|
||||
};
|
117
src/world/area_osr/osr_01/osr_01_3_npc.c
Normal file
117
src/world/area_osr/osr_01/osr_01_3_npc.c
Normal 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)),
|
||||
{}
|
||||
};
|
@ -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"
|
@ -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;
|
||||
}
|
@ -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;
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
#include "osr_02.h"
|
||||
|
||||
#include "world/common/todo/GetPeachDisguise.inc.c"
|
@ -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);
|
||||
|
19
src/world/area_osr/osr_02/osr_02_0_header.c
Normal file
19
src/world/area_osr/osr_02/osr_02_0_header.c
Normal 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 },
|
||||
};
|
131
src/world/area_osr/osr_02/osr_02_1_main.c
Normal file
131
src/world/area_osr/osr_02/osr_02_1_main.c
Normal 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
|
||||
};
|
16
src/world/area_osr/osr_02/osr_02_2_entity.c
Normal file
16
src/world/area_osr/osr_02/osr_02_2_entity.c
Normal 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
|
||||
};
|
695
src/world/area_osr/osr_02/osr_02_3_npc.c
Normal file
695
src/world/area_osr/osr_02/osr_02_3_npc.c
Normal 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)),
|
||||
{}
|
||||
};
|
91
src/world/area_osr/osr_02/osr_02_4_npc_peach.c
Normal file
91
src/world/area_osr/osr_02/osr_02_4_npc_peach.c
Normal 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)),
|
||||
{}
|
||||
};
|
@ -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"
|
@ -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;
|
||||
}
|
@ -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);
|
||||
|
23
src/world/area_osr/osr_03/osr_03_0_header.c
Normal file
23
src/world/area_osr/osr_03/osr_03_0_header.c
Normal 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,
|
||||
};
|
91
src/world/area_osr/osr_03/osr_03_1_main.c
Normal file
91
src/world/area_osr/osr_03/osr_03_1_main.c
Normal 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
|
||||
};
|
65
src/world/area_osr/osr_03/osr_03_2_npc.c
Normal file
65
src/world/area_osr/osr_03/osr_03_2_npc.c
Normal 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)),
|
||||
{}
|
||||
};
|
319
src/world/area_osr/osr_03/osr_03_3_intro.c
Normal file
319
src/world/area_osr/osr_03/osr_03_3_intro.c
Normal 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
|
||||
};
|
98
src/world/area_osr/osr_03/osr_03_4_starship.c
Normal file
98
src/world/area_osr/osr_03/osr_03_4_starship.c
Normal 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
|
||||
};
|
160
src/world/area_osr/osr_03/osr_03_5_interlude.c
Normal file
160
src/world/area_osr/osr_03/osr_03_5_interlude.c
Normal 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
|
||||
};
|
191
src/world/area_osr/osr_03/osr_03_6_ending.c
Normal file
191
src/world/area_osr/osr_03/osr_03_6_ending.c
Normal 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
|
||||
};
|
@ -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;
|
||||
}
|
@ -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);
|
||||
|
12
src/world/area_osr/osr_04/osr_04_0_header.c
Normal file
12
src/world/area_osr/osr_04/osr_04_0_header.c
Normal 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,
|
||||
};
|
40
src/world/area_osr/osr_04/osr_04_1_main.c
Normal file
40
src/world/area_osr/osr_04/osr_04_1_main.c
Normal 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
|
||||
};
|
581
src/world/area_osr/osr_04/osr_04_2_assault.c
Normal file
581
src/world/area_osr/osr_04/osr_04_2_assault.c
Normal 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
|
||||
};
|
@ -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))
|
||||
|
@ -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++);
|
||||
|
36
src/world/common/enemy/complete/Clubba.h
Normal file
36
src/world/common/enemy/complete/Clubba.h
Normal 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, \
|
||||
}
|
7
src/world/common/enemy/complete/Clubba.inc.c
Normal file
7
src/world/common/enemy/complete/Clubba.inc.c
Normal file
@ -0,0 +1,7 @@
|
||||
#include "Clubba.h"
|
||||
|
||||
NpcSettings N(NpcSettings_Clubba) = {
|
||||
.height = 36,
|
||||
.radius = 34,
|
||||
.level = 13,
|
||||
};
|
@ -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, \
|
||||
}
|
||||
|
71
src/world/common/npc/Penguin.h
Normal file
71
src/world/common/npc/Penguin.h
Normal 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, \
|
||||
}
|
8
src/world/common/npc/Penguin.inc.c
Normal file
8
src/world/common/npc/Penguin.inc.c
Normal file
@ -0,0 +1,8 @@
|
||||
#include "common.h"
|
||||
#include "Penguin.h"
|
||||
|
||||
NpcSettings N(NpcSettings_Penguin) = {
|
||||
.height = 24,
|
||||
.radius = 24,
|
||||
.level = 99,
|
||||
};
|
132
src/world/common/npc/Yoshi.h
Normal file
132
src/world/common/npc/Yoshi.h
Normal 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, \
|
||||
}
|
7
src/world/common/npc/Yoshi.inc.c
Normal file
7
src/world/common/npc/Yoshi.inc.c
Normal file
@ -0,0 +1,7 @@
|
||||
#include "Yoshi.h"
|
||||
|
||||
NpcSettings N(NpcSettings_Yoshi) = {
|
||||
.height = 48,
|
||||
.radius = 32,
|
||||
.level = 99,
|
||||
};
|
110
src/world/common/npc/YoshiKid.h
Normal file
110
src/world/common/npc/YoshiKid.h
Normal 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, \
|
||||
}
|
7
src/world/common/npc/YoshiKid.inc.c
Normal file
7
src/world/common/npc/YoshiKid.inc.c
Normal file
@ -0,0 +1,7 @@
|
||||
#include "YoshiKid.h"
|
||||
|
||||
NpcSettings N(NpcSettings_YoshiKid) = {
|
||||
.height = 28,
|
||||
.radius = 24,
|
||||
.level = 99,
|
||||
};
|
@ -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;
|
||||
}
|
@ -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)
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
|
@ -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
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
@ -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
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user