mirror of https://github.com/zeldaret/mm
`z_demo` with 4 NON_MATCHINGs (#514)
* starting * a bunch * and another bunch * a bunch * Match func_800EB1DC * func_800EB4B4 * func_800EB6F8 * 2 more * fix prototype of a random kankyo function * func_800EBD60 non matching * func_800EC678 matched? * func_800EC6D4 * break * func_800ECD7C * A bunch of functions * func_800EE200 * func_800EDF78 and func_800EE0CC * func_800EDBE0 NON_MATCHING * Cutscene_Init NON_MATCHING * func_800EA324 NON_EQUIVALENT * Fix warnings * func_800EC924 NON_EQUIVALENT * Cutscene_ProcessCommands NON_EQUIVALENT * Format * Split z_demo data and import it * Import bss * Match func_800EB364 * Rename Cutscene_Command_SetTime * Improve Cutscene_ProcessCommands a bit (still not equivalent, probably) * Improve Cutscene_ProcessCommands thanks to engineer and anon * Cutscene_ProcessCommands NON_MATCHING * Name some commands * Fix * Renames based on Engineer knowledge of Audio stuff * More command names * Cutscene_Command_GiveTatlToPlayer * Some cutscene commands macros * more command macros * Macros for unknown commands * Improve Cutscene_Command_Textbox a bit * Rename stuff * Name Terminator and Camera * MOTIONBLUR * Macros for textbox commands * CS_PLAYER_ACTION_LIST * A few macro renames * Small cleaning * A bit more of cleanup * Rumble * Entrance comments in func_800EB6F8 * Some var renames * CS_CMD_FADESCREEN * More clean up * Clean functions protos * Move CutsceneStateHandler out of z64.h * Cutscene_DoNothing * Cutscene_IsPlayingCs & Cutscene_GetSceneSetupIndex * And more renames * name some stuff in the cutscenecontext struct * npcActionIndex->actorActionIndex * Undo names of CS_STATE_ enum * Name Cutscene_ActorTranslate family of functions * small docs pass * sfxconvert and format * Hopefully last cleanup * Add some missing functions to actorfixer * Fix merge issues and remove trailing commas * Cutscene commands fix * Cutscene_Command_Misc improved by engineer * Update src/code/z_demo.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Address review * bss * Match Cutscene_Command_Textbox by anon58 * Fix merge issues * Match Cutscene_Command_Misc by @hensldm * review * float time macros * fix merge issues * format * Fix building assets * fix merge issues * format * Fix * format * fix merge issues * fix * fix * format * fix issues and run format * bss * Fix conflicts, bss and formatter * Update include/functions.h Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update include/functions.h Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update include/z64.h Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update include/z64cutscene.h Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update include/z64cutscene.h Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update include/z64cutscene.h Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/code/z_demo.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/code/z_demo.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/code/z_demo.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/code/z_demo.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/code/z_demo.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * address review and fix some stuff * fix merge problems * more fixes and format * Fixes * Update include/functions.h Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update include/functions.h Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/code/z_demo.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/code/z_demo.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/code/z_demo.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/code/z_demo.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Engineer suggestions * format * Elliptic review * Use dec for ShrinkWindow_SetLetterboxTarget * add a few comments * Cutscene_Command_ChooseCreditsScenes * Update src/code/z_demo.c Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * format * some cleanups and some comments * change actorActionCmd from hex to dec in the codebase * minor comment on textboxcmd * ahhhh * Update src/code/z_demo.c Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * brackets * minor comments * rewording * im dumb * brackets * another bracket * Dawn of the New Day * Update src/code/z_demo.c Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * fixes * Cutscene_Command_TransitionFX by Anon Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>
This commit is contained in:
parent
8b7cbb1273
commit
77cfd399d0
8
Makefile
8
Makefile
|
|
@ -133,6 +133,8 @@ ASM_DIRS := $(shell find asm -type d -not -path "asm/non_matchings*") $(shell fi
|
||||||
|
|
||||||
## Assets binaries (PNGs, JPGs, etc)
|
## Assets binaries (PNGs, JPGs, etc)
|
||||||
ASSET_BIN_DIRS := $(shell find assets/* -type d -not -path "assets/xml*")
|
ASSET_BIN_DIRS := $(shell find assets/* -type d -not -path "assets/xml*")
|
||||||
|
# Prevents building C files that will be #include'd
|
||||||
|
ASSET_BIN_DIRS_C_FILES := $(shell find assets/* -type d -not -path "assets/xml*" -not -path "assets/code*" -not -path "assets/overlays*")
|
||||||
|
|
||||||
ASSET_FILES_XML := $(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.xml))
|
ASSET_FILES_XML := $(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.xml))
|
||||||
ASSET_FILES_BIN := $(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.bin))
|
ASSET_FILES_BIN := $(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.bin))
|
||||||
|
|
@ -144,7 +146,7 @@ TEXTURE_FILES_JPG := $(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.jpg))
|
||||||
TEXTURE_FILES_OUT := $(foreach f,$(TEXTURE_FILES_PNG:.png=.inc.c),build/$f) \
|
TEXTURE_FILES_OUT := $(foreach f,$(TEXTURE_FILES_PNG:.png=.inc.c),build/$f) \
|
||||||
$(foreach f,$(TEXTURE_FILES_JPG:.jpg=.jpg.inc.c),build/$f) \
|
$(foreach f,$(TEXTURE_FILES_JPG:.jpg=.jpg.inc.c),build/$f) \
|
||||||
|
|
||||||
C_FILES := $(foreach dir,$(SRC_DIRS) $(ASSET_BIN_DIRS),$(wildcard $(dir)/*.c))
|
C_FILES := $(foreach dir,$(SRC_DIRS) $(ASSET_BIN_DIRS_C_FILES),$(wildcard $(dir)/*.c))
|
||||||
S_FILES := $(shell grep -F "build/asm" spec | sed 's/.*build\/// ; s/\.o\".*/.s/') \
|
S_FILES := $(shell grep -F "build/asm" spec | sed 's/.*build\/// ; s/\.o\".*/.s/') \
|
||||||
$(shell grep -F "build/data" spec | sed 's/.*build\/// ; s/\.o\".*/.s/')
|
$(shell grep -F "build/data" spec | sed 's/.*build\/// ; s/\.o\".*/.s/')
|
||||||
BASEROM_FILES := $(shell grep -F "build/baserom" spec | sed 's/.*build\/// ; s/\.o\".*//')
|
BASEROM_FILES := $(shell grep -F "build/baserom" spec | sed 's/.*build\/// ; s/\.o\".*//')
|
||||||
|
|
@ -174,7 +176,7 @@ build/src/libultra/flash/%.o: MIPS_VERSION := -mips1
|
||||||
|
|
||||||
build/src/code/audio/%.o: OPTFLAGS := -O2
|
build/src/code/audio/%.o: OPTFLAGS := -O2
|
||||||
|
|
||||||
build/assets/%.o: OPTFLAGS :=
|
build/assets/%.o: OPTFLAGS := -O1
|
||||||
|
|
||||||
# file flags
|
# file flags
|
||||||
build/src/boot_O2_g3/fault.o: CFLAGS += -trapuv
|
build/src/boot_O2_g3/fault.o: CFLAGS += -trapuv
|
||||||
|
|
@ -205,6 +207,8 @@ build/src/overlays/fbdemos/%.o: CC := python3 tools/asm-processor/build.py $(CC)
|
||||||
build/src/overlays/gamestates/%.o: CC := python3 tools/asm-processor/build.py $(CC) -- $(AS) $(ASFLAGS) --
|
build/src/overlays/gamestates/%.o: CC := python3 tools/asm-processor/build.py $(CC) -- $(AS) $(ASFLAGS) --
|
||||||
build/src/overlays/kaleido_scope/%.o: CC := python3 tools/asm-processor/build.py $(CC) -- $(AS) $(ASFLAGS) --
|
build/src/overlays/kaleido_scope/%.o: CC := python3 tools/asm-processor/build.py $(CC) -- $(AS) $(ASFLAGS) --
|
||||||
|
|
||||||
|
build/assets/%.o: CC := python3 tools/asm-processor/build.py $(CC) -- $(AS) $(ASFLAGS) --
|
||||||
|
|
||||||
#### Main Targets ###
|
#### Main Targets ###
|
||||||
|
|
||||||
uncompressed: $(ROM)
|
uncompressed: $(ROM)
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<Root>
|
<Root>
|
||||||
<File Name="Z2_LOST_WOODS" Segment="3" Game="MM">
|
<File Name="Z2_LOST_WOODS" Segment="2" Game="MM">
|
||||||
<Texture Name="Z2_LOST_WOODSTex_00B9D0" Format="ia16" Width="64" Height="64" Offset="0xB9D0"/>
|
<Texture Name="Z2_LOST_WOODSTex_00B9D0" Format="ia16" Width="64" Height="64" Offset="0xB9D0"/>
|
||||||
|
|
||||||
<Scene Name="Z2_LOST_WOODS" Offset="0x0"/>
|
<Scene Name="Z2_LOST_WOODS" Offset="0x0"/>
|
||||||
|
|
|
||||||
|
|
@ -17,9 +17,9 @@
|
||||||
#define CMD_W(a) (a)
|
#define CMD_W(a) (a)
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
#define CMD_F(a) {.f = (a)}
|
#define CMD_F(a) .f = (a)
|
||||||
#else
|
#else
|
||||||
#define CMD_F(a) {(a)}
|
#define CMD_F(a) (a)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CMD_PTR(a) (uintptr_t)(a)
|
#define CMD_PTR(a) (uintptr_t)(a)
|
||||||
|
|
|
||||||
|
|
@ -1396,55 +1396,24 @@ DebugDispObject* DebugDisplay_AddObject(f32 posX, f32 posY, f32 posZ, s16 rotX,
|
||||||
// void func_800E9DBC(void);
|
// void func_800E9DBC(void);
|
||||||
// void func_800E9E94(void);
|
// void func_800E9E94(void);
|
||||||
void func_800E9F78(GraphicsContext* gfxCtx);
|
void func_800E9F78(GraphicsContext* gfxCtx);
|
||||||
|
|
||||||
void Cutscene_Init(GlobalContext* globalCtx, CutsceneContext* csCtx);
|
void Cutscene_Init(GlobalContext* globalCtx, CutsceneContext* csCtx);
|
||||||
void func_800EA0D4(GlobalContext* globalCtx, CutsceneContext* csCtx);
|
void Cutscene_Start(GlobalContext* globalCtx, CutsceneContext* csCtx);
|
||||||
void func_800EA0EC(GlobalContext* globalCtx, CutsceneContext* csCtx);
|
void Cutscene_End(GlobalContext* globalCtx, CutsceneContext* csCtx);
|
||||||
void Cutscene_StepCutscene1(GlobalContext* globalCtx, CutsceneContext* csCtx);
|
void Cutscene_Update1(GlobalContext* globalCtx, CutsceneContext* csCtx);
|
||||||
void Cutscene_StepCutscene2(GlobalContext* globalCtx, CutsceneContext* csCtx);
|
void Cutscene_Update2(GlobalContext* globalCtx, CutsceneContext* csCtx);
|
||||||
void Cutscene_Nop800EA210(GlobalContext* globalCtx, CutsceneContext* csCtx);
|
|
||||||
s32 func_800EA220(GlobalContext* globalCtx, CutsceneContext* csCtx, f32 target);
|
|
||||||
void func_800EA258(GlobalContext* globalCtx, CutsceneContext* csCtx);
|
|
||||||
void func_800EA2B8(GlobalContext* globalCtx, CutsceneContext* csCtx);
|
|
||||||
void func_800EA324(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* cmd);
|
|
||||||
void func_800EABAC(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdEnvLighting* cmd);
|
|
||||||
void func_800EAC08(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdMusicChange* cmd);
|
|
||||||
void func_800EAC44(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdMusicChange* cmd);
|
|
||||||
void func_800EAC94(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdMusicFade* cmd);
|
|
||||||
void func_800EAD14(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* cmd);
|
|
||||||
void func_800EAD48(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* cmd);
|
|
||||||
void func_800EAD7C(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* cmd);
|
|
||||||
void func_800EADB0(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* cmd);
|
|
||||||
void func_800EAECC(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* cmd);
|
|
||||||
void func_800EAF20(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdUnk190* cmd);
|
|
||||||
void func_800EAFE0(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdUnk9B* cmd);
|
|
||||||
void func_800EB1DC(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdDayTime* cmd);
|
|
||||||
void func_800EB364(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* cmd);
|
|
||||||
void func_800EB4B4(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* cmd);
|
|
||||||
void func_800EB6F8(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* cmd);
|
|
||||||
void func_800EBB68(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* cmd);
|
|
||||||
void func_800EBCD0(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* cmd);
|
|
||||||
void func_800EBD60(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* cmd);
|
|
||||||
s32 func_800EC678(GlobalContext* globalCtx, CsCmdUnk5A* cmd);
|
|
||||||
// u32 func_800EC6D4(void);
|
|
||||||
void func_800EC924(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdTextbox* cmd);
|
|
||||||
void func_800ECD7C(CutsceneContext* csCtx, u8** cutscenePtr, s16 index);
|
|
||||||
void Cutscene_ProcessCommands(GlobalContext* globalCtx, CutsceneContext* csCtx, u8* cutscenePtr, u16* commandReadHead);
|
|
||||||
void func_800ED980(GlobalContext* globalCtx, CutsceneContext* csCtx);
|
|
||||||
void func_800ED9C4(GlobalContext* globalCtx, CutsceneContext* csCtx);
|
|
||||||
void func_800EDA04(GlobalContext* globalCtx, CutsceneContext* csCtx);
|
|
||||||
void func_800EDA84(GlobalContext* globalCtx, CutsceneContext* csCtx);
|
|
||||||
void func_800EDBE0(GlobalContext* globalCtx);
|
void func_800EDBE0(GlobalContext* globalCtx);
|
||||||
void nop_800EDDB0(GlobalContext* globalCtx);
|
void func_800EDDB0(GlobalContext* globalCtx);
|
||||||
// void func_800EDDBC(void);
|
void Cutscene_LoadCutsceneData(GlobalContext* globalCtx, u8 csIndex);
|
||||||
void func_800EDDCC(GlobalContext* globalCtx, u32 uParm2);
|
void Cutscene_ActorTranslate(Actor* actor, GlobalContext* globalCtx, s32 actorActionIndex);
|
||||||
void func_800EDE34(Actor* actor, GlobalContext* globalCtx, s32 param_3);
|
void Cutscene_ActorTranslateAndYaw(Actor* actor, GlobalContext* globalCtx, s32 actorActionIndex);
|
||||||
void func_800EDF24(Actor* actor, GlobalContext* globalCtx, u32 arg2);
|
void Cutscene_ActorTranslateAndYawSmooth(Actor* actor, GlobalContext* globalCtx, s32 actorActionIndex);
|
||||||
void func_800EDF78(Actor* actor, GlobalContext* globalCtx, s32 iParm3);
|
void Cutscene_ActorTranslateXZAndYawSmooth(Actor* actor, GlobalContext* globalCtx, s32 actorActionIndex);
|
||||||
void func_800EE0CC(Actor* actor, GlobalContext* globalCtx, s32 iParm3);
|
s32 Cutscene_GetSceneSetupIndex(GlobalContext* globalCtx);
|
||||||
s32 func_800EE1D8(GlobalContext* globalCtx);
|
s32 Cutscene_GetActorActionIndex(GlobalContext* globalCtx, u16 actorActionCmd);
|
||||||
u32 func_800EE200(GlobalContext* globalCtx, u16 uParm2);
|
s32 Cutscene_CheckActorAction(GlobalContext* globalCtx, u16 actorActionCmd);
|
||||||
u32 func_800EE29C(GlobalContext* globalCtx, u16 uParm2);
|
u8 Cutscene_IsPlaying(GlobalContext* globalCtx);
|
||||||
u32 func_800EE2F4(GlobalContext* globalCtx);
|
|
||||||
void GetItem_Draw(GlobalContext* globalCtx, s16 index);
|
void GetItem_Draw(GlobalContext* globalCtx, s16 index);
|
||||||
void func_800EE364(GlobalContext* globalCtx, s16 index);
|
void func_800EE364(GlobalContext* globalCtx, s16 index);
|
||||||
void func_800EE400(GlobalContext* globalCtx, s16 index);
|
void func_800EE400(GlobalContext* globalCtx, s16 index);
|
||||||
|
|
@ -1506,7 +1475,7 @@ s16 ActorCutscene_GetLength(s16 index);
|
||||||
s32 func_800F2138(s8 arg0);
|
s32 func_800F2138(s8 arg0);
|
||||||
s32 func_800F2178(s16 arg0);
|
s32 func_800F2178(s16 arg0);
|
||||||
s16 ActorCutscene_GetCurrentCamera(s16 index);
|
s16 ActorCutscene_GetCurrentCamera(s16 index);
|
||||||
// void func_800F21CC(void);
|
s16 func_800F21CC(void);
|
||||||
s32 func_800F22C4(s16 param_1, Actor* actor);
|
s32 func_800F22C4(s16 param_1, Actor* actor);
|
||||||
void ActorCutscene_SetReturnCamera(s16 index);
|
void ActorCutscene_SetReturnCamera(s16 index);
|
||||||
// void func_800F23E0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
|
// void func_800F23E0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
|
||||||
|
|
@ -1546,7 +1515,7 @@ void Font_LoadOrderedFont(Font* font);
|
||||||
// void func_800F50D4(void);
|
// void func_800F50D4(void);
|
||||||
void Kankyo_Init(GlobalContext* globalCtx, EnvironmentContext* envCtx);
|
void Kankyo_Init(GlobalContext* globalCtx, EnvironmentContext* envCtx);
|
||||||
u32 func_800F5954(u8* param_1, u32 param_2, u32 param_3, u8 param_4, u8 param_5);
|
u32 func_800F5954(u8* param_1, u32 param_2, u32 param_3, u8 param_4, u8 param_5);
|
||||||
f32 func_800F5A8C(u16 arg0, u16 arg1, u16 arg2, GlobalContext* globalContext);
|
f32 Environment_LerpWeight(u16 max, u16 min, u16 val);
|
||||||
// void func_800F5B10(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5);
|
// void func_800F5B10(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5);
|
||||||
// void func_800F5CD0(void);
|
// void func_800F5CD0(void);
|
||||||
void func_800F6834(GlobalContext* globalCtx, s32 waterLightsIndex);
|
void func_800F6834(GlobalContext* globalCtx, s32 waterLightsIndex);
|
||||||
|
|
@ -1574,7 +1543,7 @@ void func_800FAAB4(GlobalContext* globalCtx, u8 arg1);
|
||||||
// void func_800FAC20(void);
|
// void func_800FAC20(void);
|
||||||
// void func_800FAF74(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE1 param_5);
|
// void func_800FAF74(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE1 param_5);
|
||||||
// void func_800FB010(void);
|
// void func_800FB010(void);
|
||||||
void func_800FB320(GlobalContext* globalCtx, u8 param_2);
|
void Environment_AddLightningBolts(GlobalContext* globalCtx, u8 num);
|
||||||
// void func_800FB388(void);
|
// void func_800FB388(void);
|
||||||
void func_800FB758(GlobalContext* globalCtx);
|
void func_800FB758(GlobalContext* globalCtx);
|
||||||
// void func_800FB9B4(void);
|
// void func_800FB9B4(void);
|
||||||
|
|
@ -2630,7 +2599,7 @@ u32 Sram_CalcChecksum(u8* data, u32 length);
|
||||||
// void Sram_GenerateRandomSaveFields(void);
|
// void Sram_GenerateRandomSaveFields(void);
|
||||||
void func_80144890(void);
|
void func_80144890(void);
|
||||||
void Sram_InitDebugSave(void);
|
void Sram_InitDebugSave(void);
|
||||||
// void func_80144A94(void);
|
void func_80144A94(SramContext* sramCtx);
|
||||||
// void func_80144E78(void);
|
// void func_80144E78(void);
|
||||||
// void func_8014546C(void);
|
// void func_8014546C(void);
|
||||||
// void func_80145698(void);
|
// void func_80145698(void);
|
||||||
|
|
@ -2642,8 +2611,8 @@ void func_80146580(s32 param_1, SramContext* param_2, s32 param_3);
|
||||||
void func_80146E40(GameState* gameState, SramContext* sramCtx);
|
void func_80146E40(GameState* gameState, SramContext* sramCtx);
|
||||||
void Sram_Alloc(GameState* gameState, SramContext* sramCtx);
|
void Sram_Alloc(GameState* gameState, SramContext* sramCtx);
|
||||||
// void func_80146EBC(SramContext* param_1, UNK_TYPE4 param_2, UNK_TYPE4 param_3);
|
// void func_80146EBC(SramContext* param_1, UNK_TYPE4 param_2, UNK_TYPE4 param_3);
|
||||||
// void func_80146EE8(void);
|
void func_80146EE8(GlobalContext* globalCtx);
|
||||||
// void func_80146F5C(void);
|
void func_80146F5C(GlobalContext* globalCtx);
|
||||||
// void func_80147008(void);
|
// void func_80147008(void);
|
||||||
void func_80147020(SramContext* param_1);
|
void func_80147020(SramContext* param_1);
|
||||||
void func_80147068(SramContext* param_1);
|
void func_80147068(SramContext* param_1);
|
||||||
|
|
@ -2655,8 +2624,8 @@ void func_80147198(SramContext* param_1);
|
||||||
// void Sram_nop8014750C(UNK_TYPE4 param_1);
|
// void Sram_nop8014750C(UNK_TYPE4 param_1);
|
||||||
// void func_80147520(void);
|
// void func_80147520(void);
|
||||||
void func_80147564(GlobalContext* globalCtx);
|
void func_80147564(GlobalContext* globalCtx);
|
||||||
u32 func_80147624(GlobalContext* globalCtx);
|
s32 func_80147624(GlobalContext* globalCtx);
|
||||||
u32 func_80147734(GlobalContext* globalCtx);
|
s32 func_80147734(GlobalContext* globalCtx);
|
||||||
void func_801477B4(GlobalContext* globalCtx);
|
void func_801477B4(GlobalContext* globalCtx);
|
||||||
// void func_80147818(GlobalContext* globalCtx, UNK_PTR puParm2, UNK_TYPE4 uParm3, UNK_TYPE4 uParm4);
|
// void func_80147818(GlobalContext* globalCtx, UNK_PTR puParm2, UNK_TYPE4 uParm3, UNK_TYPE4 uParm4);
|
||||||
// void func_80147F18(GlobalContext* globalCtx, UNK_PTR puParm2, UNK_TYPE4 uParm3, UNK_TYPE4 uParm4);
|
// void func_80147F18(GlobalContext* globalCtx, UNK_PTR puParm2, UNK_TYPE4 uParm3, UNK_TYPE4 uParm4);
|
||||||
|
|
@ -2685,7 +2654,7 @@ void func_8014ADBC(GlobalContext* globalCtx, UNK_PTR puParm2);
|
||||||
// void func_80150A84(void);
|
// void func_80150A84(void);
|
||||||
void func_80150D08(GlobalContext* globalCtx, u32 uParm2);
|
void func_80150D08(GlobalContext* globalCtx, u32 uParm2);
|
||||||
// void func_801514B0(void);
|
// void func_801514B0(void);
|
||||||
void func_801518B0(GlobalContext* globalCtx, u16 textId, Actor* Actor);
|
void Message_StartTextbox(GlobalContext* globalCtx, u16 textId, Actor* Actor);
|
||||||
void func_80151938(GlobalContext* globalCtx, u16 textId);
|
void func_80151938(GlobalContext* globalCtx, u16 textId);
|
||||||
void func_80151A68(GlobalContext* globalCtx, u16 textId);
|
void func_80151A68(GlobalContext* globalCtx, u16 textId);
|
||||||
void func_80151BB4(GlobalContext* globalCtx, u32 uParm2);
|
void func_80151BB4(GlobalContext* globalCtx, u32 uParm2);
|
||||||
|
|
@ -2739,13 +2708,13 @@ void ShrinkWindow_Destroy(void);
|
||||||
void ShrinkWindow_Update(s32 framerateDivisor);
|
void ShrinkWindow_Update(s32 framerateDivisor);
|
||||||
void ShrinkWindow_Draw(GraphicsContext* gfxCtx);
|
void ShrinkWindow_Draw(GraphicsContext* gfxCtx);
|
||||||
// void func_80161180(void);
|
// void func_80161180(void);
|
||||||
// void func_8016119C(void);
|
void func_8016119C(Camera* camera, struct_801F4D48* arg1);
|
||||||
// void func_8016122C(void);
|
// void func_8016122C(void);
|
||||||
// void func_801612B8(void);
|
// void func_801612B8(void);
|
||||||
// void func_80161998(void);
|
s32 func_80161998(UNK_PTR arg0, struct_801F4D48* arg1);
|
||||||
// s32 func_80161BAC(void);
|
// s32 func_80161BAC(void);
|
||||||
// void func_80161BE0(void);
|
void func_80161BE0(s16 arg0);
|
||||||
// void func_80161C0C(void);
|
void func_80161C0C(void);
|
||||||
// void func_80161C20(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
|
// void func_80161C20(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
|
||||||
// void func_80161E4C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
|
// void func_80161E4C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
|
||||||
// void func_801620CC(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
|
// void func_801620CC(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
|
||||||
|
|
@ -2808,7 +2777,7 @@ void func_80165438(UNK_PTR param_1);
|
||||||
// void func_80165608(void);
|
// void func_80165608(void);
|
||||||
// void func_80165630(void);
|
// void func_80165630(void);
|
||||||
void func_80165658(u32 arg0);
|
void func_80165658(u32 arg0);
|
||||||
void func_8016566C(u32 arg0);
|
void func_8016566C(s32 arg0);
|
||||||
void func_80165690(void);
|
void func_80165690(void);
|
||||||
// void func_801656A4(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8);
|
// void func_801656A4(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8);
|
||||||
// void func_80165DCC(void);
|
// void func_80165DCC(void);
|
||||||
|
|
@ -3616,7 +3585,7 @@ void func_8019C300(s32 arg0);
|
||||||
// void func_8019D488(void);
|
// void func_8019D488(void);
|
||||||
// void func_8019D4F8(void);
|
// void func_8019D4F8(void);
|
||||||
// void func_8019D600(void);
|
// void func_8019D600(void);
|
||||||
// void func_8019D758(void);
|
void func_8019D758(void);
|
||||||
// void func_8019D864(void);
|
// void func_8019D864(void);
|
||||||
// void func_8019D8B4(void);
|
// void func_8019D8B4(void);
|
||||||
// void func_8019D8E4(void);
|
// void func_8019D8E4(void);
|
||||||
|
|
@ -3700,7 +3669,7 @@ void func_801A1FB4(u8 playerIdx, Vec3f* pos, u16 seqId, f32 maxDist);
|
||||||
void func_801A246C(u8 param_1, u8 param_2);
|
void func_801A246C(u8 param_1, u8 param_2);
|
||||||
// void func_801A2544(void);
|
// void func_801A2544(void);
|
||||||
// void func_801A257C(void);
|
// void func_801A257C(void);
|
||||||
// void func_801A25E4(void);
|
void func_801A25E4(u16 seqId, u8 dayMinusOne);
|
||||||
// void func_801A2670(void);
|
// void func_801A2670(void);
|
||||||
// void func_801A2778(void);
|
// void func_801A2778(void);
|
||||||
// void func_801A27E8(void);
|
// void func_801A27E8(void);
|
||||||
|
|
@ -3709,8 +3678,8 @@ void func_801A29D4(UNK_TYPE arg0, f32 arg1, UNK_TYPE arg2);
|
||||||
void func_801A2BB8(s32 seqId);
|
void func_801A2BB8(s32 seqId);
|
||||||
void func_801A2C20(void);
|
void func_801A2C20(void);
|
||||||
// void func_801A2C44(void);
|
// void func_801A2C44(void);
|
||||||
// void func_801A2C88(void);
|
void func_801A2C88(u16 seqId);
|
||||||
// void func_801A2D54(void);
|
void func_801A2D54(u16 seqId);
|
||||||
s32 Audio_IsSequencePlaying(u8 seqId);
|
s32 Audio_IsSequencePlaying(u8 seqId);
|
||||||
void func_801A2E54(s32 param_1);
|
void func_801A2E54(s32 param_1);
|
||||||
void func_801A2ED8(void);
|
void func_801A2ED8(void);
|
||||||
|
|
@ -3723,7 +3692,7 @@ void func_801A31EC(u16 seqId, s8 arg1, u8 arg2);
|
||||||
// void func_801A3238(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE1 param_5);
|
// void func_801A3238(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE1 param_5);
|
||||||
// void func_801A32CC(void);
|
// void func_801A32CC(void);
|
||||||
// void func_801A3590(void);
|
// void func_801A3590(void);
|
||||||
// void func_801A3950(void);
|
u8 func_801A3950(s32 playerIndex, s32 isChannelIOSet);
|
||||||
u8 func_801A39F8(void);
|
u8 func_801A39F8(void);
|
||||||
// void func_801A3A7C(void);
|
// void func_801A3A7C(void);
|
||||||
// void func_801A3AC0(void);
|
// void func_801A3AC0(void);
|
||||||
|
|
@ -3735,7 +3704,7 @@ void func_801A3CD8(s8 param_1);
|
||||||
// void func_801A3D98(void);
|
// void func_801A3D98(void);
|
||||||
// void func_801A3E38(void);
|
// void func_801A3E38(void);
|
||||||
// void func_801A3EC0(void);
|
// void func_801A3EC0(void);
|
||||||
void func_801A3F54(u8 flag);
|
void Audio_SetCutsceneFlag(u8 flag);
|
||||||
// void func_801A3F6C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
|
// void func_801A3F6C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
|
||||||
// void func_801A3FB4(void);
|
// void func_801A3FB4(void);
|
||||||
// void func_801A3FFC(UNK_TYPE1 param_1);
|
// void func_801A3FFC(UNK_TYPE1 param_1);
|
||||||
|
|
@ -3748,16 +3717,16 @@ void audio_setBGM(u32 bgmID);
|
||||||
// void func_801A4324(void);
|
// void func_801A4324(void);
|
||||||
// void func_801A4348(void);
|
// void func_801A4348(void);
|
||||||
// void func_801A4380(void);
|
// void func_801A4380(void);
|
||||||
// void func_801A4428(void);
|
void func_801A4428(u8 reverbIndex);
|
||||||
void Audio_PreNMI(void);
|
void Audio_PreNMI(void);
|
||||||
// void func_801A44C4(void);
|
// void func_801A44C4(void);
|
||||||
// void func_801A44D4(void);
|
// void func_801A44D4(void);
|
||||||
s32 func_801A46F8(void);
|
s32 func_801A46F8(void);
|
||||||
void func_801A4748(Vec3f* pos, u16 sfxId);
|
void func_801A4748(Vec3f* pos, u16 sfxId);
|
||||||
void func_801A479C(Vec3f* arg0, u16 sfxId, s32 arg2);
|
void func_801A479C(Vec3f* arg0, u16 sfxId, s32 arg2);
|
||||||
// void func_801A47DC(void);
|
void func_801A47DC(u8 channelIndexRange, u8 port, u8 val);
|
||||||
// void func_801A48E0(void);
|
// void func_801A48E0(void);
|
||||||
void func_801A4A28(s32 arg0);
|
void func_801A4A28(u8 natureSeqId);
|
||||||
// void func_801A4B80(void);
|
// void func_801A4B80(void);
|
||||||
void func_801A4C30(void);
|
void func_801A4C30(void);
|
||||||
// void func_801A4C54(void);
|
// void func_801A4C54(void);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#ifndef _MACROS_H_
|
#ifndef MACROS_H
|
||||||
#define _MACROS_H_
|
#define MACROS_H
|
||||||
|
|
||||||
#include "libc/stdint.h"
|
#include "libc/stdint.h"
|
||||||
#include "ultra64/convert.h"
|
#include "ultra64/convert.h"
|
||||||
|
|
@ -49,9 +49,16 @@
|
||||||
|
|
||||||
#define CURRENT_DAY (((void)0, gSaveContext.day) % 5)
|
#define CURRENT_DAY (((void)0, gSaveContext.day) % 5)
|
||||||
|
|
||||||
#define CLOCK_TIME(hr, min) ((s32)(((hr) * 60 + (min)) * 0x10000 / (24 * 60)))
|
#define TIME_TO_MINUTES(time) (s32)((time) * ((24 * 60) / 0x10000))
|
||||||
|
#define CLOCK_TIME(hr, min) (s32)(((hr) * 60 + (min)) * 0x10000 / (24 * 60))
|
||||||
#define CLOCK_TIME_MINUTE (CLOCK_TIME(0, 1))
|
#define CLOCK_TIME_MINUTE (CLOCK_TIME(0, 1))
|
||||||
|
|
||||||
|
#define TIME_TO_MINUTES_F(time) ((time) * ((24.0f * 60.0f) / 0x10000))
|
||||||
|
#define CLOCK_TIME_F(hr, min) (((hr) * 60.0f + (min)) * (0x10000 / (24.0f * 60.0f)))
|
||||||
|
|
||||||
|
#define TIME_TO_MINUTES_ALT_F(time) ((time) / (24.0f * 60.0f / 0x10000))
|
||||||
|
#define CLOCK_TIME_ALT_F(hr, min) (((hr) * 60.0f + (min)) / (24.0f * 60.0f / 0x10000))
|
||||||
|
|
||||||
#define SLOT(item) gItemSlots[item]
|
#define SLOT(item) gItemSlots[item]
|
||||||
#define AMMO(item) gSaveContext.inventory.ammo[SLOT(item)]
|
#define AMMO(item) gSaveContext.inventory.ammo[SLOT(item)]
|
||||||
#define INV_CONTENT(item) gSaveContext.inventory.items[SLOT(item)]
|
#define INV_CONTENT(item) gSaveContext.inventory.items[SLOT(item)]
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
/* Header taken as placeholder from OoT sister project */
|
/* Header taken as placeholder from OoT sister project */
|
||||||
/* Confirm as needed */
|
/* Confirm as needed */
|
||||||
|
|
||||||
#ifndef _REGS_H_
|
#ifndef REGS_H
|
||||||
#define _REGS_H_
|
#define REGS_H
|
||||||
|
|
||||||
#define REG_GROUPS 29 // number of REG groups, i.e. REG, SREG, OREG, etc.
|
#define REG_GROUPS 29 // number of REG groups, i.e. REG, SREG, OREG, etc.
|
||||||
#define REG_PAGES 6
|
#define REG_PAGES 6
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#ifndef _UNK_H_
|
#ifndef UNK_H
|
||||||
#define _UNK_H_
|
#define UNK_H
|
||||||
|
|
||||||
#include "PR/ultratypes.h"
|
#include "PR/ultratypes.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -869,14 +869,9 @@ extern EffectShieldParticleInit shieldParticleInitWood;
|
||||||
// extern UNK_TYPE1 D_801BB0DC;
|
// extern UNK_TYPE1 D_801BB0DC;
|
||||||
// extern UNK_TYPE2 D_801BB0FC;
|
// extern UNK_TYPE2 D_801BB0FC;
|
||||||
// extern UNK_TYPE1 D_801BB100;
|
// extern UNK_TYPE1 D_801BB100;
|
||||||
// extern UNK_TYPE2 D_801BB124;
|
|
||||||
// extern UNK_TYPE2 D_801BB128;
|
|
||||||
extern u8 D_801BB12C;
|
extern u8 D_801BB12C;
|
||||||
// extern UNK_TYPE1 D_801BB130;
|
|
||||||
extern cutscene_update_func sCsStateHandlers1[5];
|
|
||||||
extern cutscene_update_func sCsStateHandlers2[5];
|
|
||||||
// extern UNK_TYPE2 D_801BB15C;
|
|
||||||
// extern UNK_TYPE4 D_801BB160;
|
|
||||||
extern s801BB170 D_801BB170[118];
|
extern s801BB170 D_801BB170[118];
|
||||||
// extern UNK_TYPE1 D_801BC210;
|
// extern UNK_TYPE1 D_801BC210;
|
||||||
extern Gfx D_801BC240[9];
|
extern Gfx D_801BC240[9];
|
||||||
|
|
@ -3193,15 +3188,11 @@ extern GameInfo* gGameInfo;
|
||||||
// extern UNK_TYPE1 D_801F3F80;
|
// extern UNK_TYPE1 D_801F3F80;
|
||||||
// extern UNK_TYPE1 D_801F3F83;
|
// extern UNK_TYPE1 D_801F3F83;
|
||||||
// extern UNK_TYPE1 D_801F48C8;
|
// extern UNK_TYPE1 D_801F48C8;
|
||||||
// extern UNK_TYPE1 D_801F4D40;
|
|
||||||
// extern UNK_TYPE2 D_801F4D42;
|
extern UNK_TYPE D_801F4DDC;
|
||||||
// extern UNK_TYPE1 D_801F4D48;
|
extern u8 D_801F4DE0;
|
||||||
// extern UNK_TYPE1 D_801F4DC8;
|
|
||||||
// extern UNK_TYPE1 D_801F4DCA;
|
|
||||||
// extern UNK_TYPE2 D_801F4DCC[8];
|
|
||||||
// extern UNK_TYPE1 D_801F4DDC;
|
|
||||||
// extern UNK_TYPE1 D_801F4DE0;
|
|
||||||
extern s16 D_801F4DE2;
|
extern s16 D_801F4DE2;
|
||||||
|
|
||||||
extern ActorCutscene* actorCutscenes;
|
extern ActorCutscene* actorCutscenes;
|
||||||
extern s16 actorCutsceneCount;
|
extern s16 actorCutsceneCount;
|
||||||
extern u8 actorCutsceneWaiting[16];
|
extern u8 actorCutsceneWaiting[16];
|
||||||
|
|
@ -3220,7 +3211,7 @@ extern Vec3f D_801F4E50;
|
||||||
extern f32 D_801F4E5C;
|
extern f32 D_801F4E5C;
|
||||||
extern f32 D_801F4E60;
|
extern f32 D_801F4E60;
|
||||||
extern s16 D_801F4E64;
|
extern s16 D_801F4E64;
|
||||||
// extern UNK_TYPE1 D_801F4E68;
|
extern u8 D_801F4E68;
|
||||||
extern f32 D_801F4E70;
|
extern f32 D_801F4E70;
|
||||||
// extern UNK_TYPE1 D_801F4E74;
|
// extern UNK_TYPE1 D_801F4E74;
|
||||||
extern u16 D_801F4E78;
|
extern u16 D_801F4E78;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#ifndef _Z64_H_
|
#ifndef Z64_H
|
||||||
#define _Z64_H_
|
#define Z64_H
|
||||||
|
|
||||||
#include "libc/math.h"
|
#include "libc/math.h"
|
||||||
#include "libc/stdarg.h"
|
#include "libc/stdarg.h"
|
||||||
|
|
@ -108,24 +108,6 @@ typedef struct {
|
||||||
/* 0x8 */ CameraModeParams* modes;
|
/* 0x8 */ CameraModeParams* modes;
|
||||||
} CameraStateParams; // size = 0xC
|
} CameraStateParams; // size = 0xC
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
/* 0x00 */ u8 sceneCsCount;
|
|
||||||
/* 0x04 */ void* segment;
|
|
||||||
/* 0x08 */ u8 state;
|
|
||||||
/* 0x0C */ f32 unk_0C;
|
|
||||||
/* 0x10 */ u16 frames;
|
|
||||||
/* 0x12 */ u16 unk_12;
|
|
||||||
/* 0x14 */ s32 unk_14;
|
|
||||||
/* 0x18 */ u16 unk_18;
|
|
||||||
/* 0x1A */ u8 unk_1A;
|
|
||||||
/* 0x1B */ u8 unk_1B;
|
|
||||||
/* 0x1C */ CutsceneCameraPoint* atPoints;
|
|
||||||
/* 0x20 */ CutsceneCameraPoint* eyePoints;
|
|
||||||
/* 0x24 */ CsCmdActorAction* linkAction;
|
|
||||||
/* 0x28 */ CsCmdActorAction* npcActions[10]; // "npcdemopnt"
|
|
||||||
/* 0x50 */ CutsceneEntry* sceneCsList;
|
|
||||||
} CutsceneContext; // size = 0x54
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x0 */ s16 x;
|
/* 0x0 */ s16 x;
|
||||||
/* 0x2 */ s16 y;
|
/* 0x2 */ s16 y;
|
||||||
|
|
@ -740,7 +722,7 @@ typedef struct {
|
||||||
/* 0x80 */ OSMesg unk_80;
|
/* 0x80 */ OSMesg unk_80;
|
||||||
/* 0x84 */ f32 unk_84;
|
/* 0x84 */ f32 unk_84;
|
||||||
/* 0x88 */ f32 unk_88;
|
/* 0x88 */ f32 unk_88;
|
||||||
/* 0x8C */ LightSettings2 unk_8C;
|
/* 0x8C */ EnvLightSettings lightSettings;
|
||||||
/* 0xA8 */ f32 unk_A8;
|
/* 0xA8 */ f32 unk_A8;
|
||||||
/* 0xAC */ Vec3s windDir;
|
/* 0xAC */ Vec3s windDir;
|
||||||
/* 0xB4 */ f32 windSpeed;
|
/* 0xB4 */ f32 windSpeed;
|
||||||
|
|
@ -749,18 +731,18 @@ typedef struct {
|
||||||
/* 0xC0 */ u8 unk_C0;
|
/* 0xC0 */ u8 unk_C0;
|
||||||
/* 0xC1 */ u8 unk_C1;
|
/* 0xC1 */ u8 unk_C1;
|
||||||
/* 0xC2 */ u8 unk_C2;
|
/* 0xC2 */ u8 unk_C2;
|
||||||
/* 0xC3 */ u8 unk_C3;
|
/* 0xC3 */ u8 lightSettingOverride;
|
||||||
/* 0xC4 */ LightSettings unk_C4;
|
/* 0xC4 */ LightSettings unk_C4;
|
||||||
/* 0xDA */ u16 unk_DA;
|
/* 0xDA */ u16 unk_DA;
|
||||||
/* 0xDC */ f32 unk_DC;
|
/* 0xDC */ f32 lightBlend;
|
||||||
/* 0xE0 */ u8 unk_E0;
|
/* 0xE0 */ u8 unk_E0;
|
||||||
/* 0xE1 */ u8 unk_E1;
|
/* 0xE1 */ u8 unk_E1;
|
||||||
/* 0xE2 */ s8 unk_E2;
|
/* 0xE2 */ s8 unk_E2;
|
||||||
/* 0xE3 */ u8 unk_E3; // modified by unused func in EnWeatherTag
|
/* 0xE3 */ u8 unk_E3; // modified by unused func in EnWeatherTag
|
||||||
/* 0xE4 */ u8 unk_E4;
|
/* 0xE4 */ u8 unk_E4;
|
||||||
/* 0xE5 */ u8 unk_E5;
|
/* 0xE5 */ u8 fillScreen;
|
||||||
/* 0xE6 */ u8 unk_E6[4];
|
/* 0xE6 */ u8 screenFillColor[4];
|
||||||
/* 0xEA */ u8 unk_EA;
|
/* 0xEA */ u8 sandstormState;
|
||||||
/* 0xEB */ u8 unk_EB;
|
/* 0xEB */ u8 unk_EB;
|
||||||
/* 0xEC */ u8 unk_EC;
|
/* 0xEC */ u8 unk_EC;
|
||||||
/* 0xED */ u8 unk_ED;
|
/* 0xED */ u8 unk_ED;
|
||||||
|
|
@ -995,8 +977,6 @@ typedef void (*ColChkApplyFunc)(GlobalContext*, CollisionCheckContext*, Collider
|
||||||
typedef void (*ColChkVsFunc)(GlobalContext*, CollisionCheckContext*, Collider*, Collider*);
|
typedef void (*ColChkVsFunc)(GlobalContext*, CollisionCheckContext*, Collider*, Collider*);
|
||||||
typedef s32 (*ColChkLineFunc)(GlobalContext*, CollisionCheckContext*, Collider*, Vec3f*, Vec3f*);
|
typedef s32 (*ColChkLineFunc)(GlobalContext*, CollisionCheckContext*, Collider*, Vec3f*, Vec3f*);
|
||||||
|
|
||||||
typedef void(*cutscene_update_func)(GlobalContext* globalCtx, CutsceneContext* cCtxt);
|
|
||||||
|
|
||||||
typedef void(*draw_func)(GlobalContext* globalCtx, s16 index);
|
typedef void(*draw_func)(GlobalContext* globalCtx, s16 index);
|
||||||
|
|
||||||
typedef void(*room_draw_func)(GlobalContext* globalCtx, Room* room, u32 flags);
|
typedef void(*room_draw_func)(GlobalContext* globalCtx, Room* room, u32 flags);
|
||||||
|
|
@ -1512,4 +1492,27 @@ enum fram_mode {
|
||||||
FRAM_MODE_STATUS
|
FRAM_MODE_STATUS
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
/* 0x00 */ s16 unk_00;
|
||||||
|
/* 0x02 */ s16 unk_02;
|
||||||
|
/* 0x04 */ s16 unk_04;
|
||||||
|
/* 0x06 */ s16 unk_06;
|
||||||
|
/* 0x08 */ s16 unk_08;
|
||||||
|
/* 0x0A */ s16 unk_0A;
|
||||||
|
/* 0x0C */ s16 unk_0C;
|
||||||
|
/* 0x0E */ UNK_TYPE1 unk_0E[0x02];
|
||||||
|
/* 0x10 */ UNK_TYPE1 unk_10[0x2C];
|
||||||
|
/* 0x3C */ UNK_TYPE1 unk_3C[0x01];
|
||||||
|
/* 0x3D */ u8 unk_3D;
|
||||||
|
/* 0x3E */ UNK_TYPE1 unk_3E[0x02];
|
||||||
|
/* 0x40 */ UNK_TYPE1 unk_40[0x2C];
|
||||||
|
/* 0x6C */ UNK_TYPE1 unk_6C[0x01];
|
||||||
|
/* 0x6D */ u8 unk_6D;
|
||||||
|
/* 0x6E */ UNK_TYPE1 unk_6E[0x02];
|
||||||
|
/* 0x70 */ UNK_PTR unk_70;
|
||||||
|
/* 0x74 */ UNK_PTR unk_74;
|
||||||
|
/* 0x78 */ UNK_PTR unk_78;
|
||||||
|
/* 0x7C */ Camera* camera;
|
||||||
|
} struct_801F4D48; // size = 0x80
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -1160,7 +1160,7 @@ typedef enum {
|
||||||
/* 0x03 */ CLEAR_TAG_SMALL_LIGHT_RAYS,
|
/* 0x03 */ CLEAR_TAG_SMALL_LIGHT_RAYS,
|
||||||
/* 0x04 */ CLEAR_TAG_LARGE_LIGHT_RAYS,
|
/* 0x04 */ CLEAR_TAG_LARGE_LIGHT_RAYS,
|
||||||
/* 0x23 */ CLEAR_TAG_SPLASH = 35,
|
/* 0x23 */ CLEAR_TAG_SPLASH = 35,
|
||||||
/* 0xC8 */ CLEAR_TAG_SMOKE = 200,
|
/* 0xC8 */ CLEAR_TAG_SMOKE = 200
|
||||||
} ClearTagType;
|
} ClearTagType;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#ifndef _Z64CUTSCENE_H_
|
#ifndef Z64CUTSCENE_H
|
||||||
#define _Z64CUTSCENE_H_
|
#define Z64CUTSCENE_H
|
||||||
|
|
||||||
#include "ultra64.h"
|
#include "ultra64.h"
|
||||||
#include "unk.h"
|
#include "unk.h"
|
||||||
|
|
@ -26,21 +26,24 @@ typedef struct {
|
||||||
} CutsceneCameraMove; // size = 0xC
|
} CutsceneCameraMove; // size = 0xC
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x00 */ u16 unk0; // action; // "dousa"
|
/* 0x00 */ u16 action; // "dousa"
|
||||||
/* 0x02 */ u16 startFrame;
|
/* 0x02 */ u16 startFrame;
|
||||||
/* 0x04 */ u16 endFrame;
|
/* 0x04 */ u16 endFrame;
|
||||||
/* 0x06 */ u16 unk6;
|
union {
|
||||||
/* 0x08 */ u16 unk8;
|
/* 0x06 */ Vec3s rot;
|
||||||
/* 0x0C */ Vec3i unk0C;
|
/* 0x06 */ Vec3us urot;
|
||||||
/* 0x18 */ Vec3i unk18;
|
};
|
||||||
/* 0x24 */ UNK_TYPE1 unk24[0xC];
|
/* 0x0C */ Vec3i startPos;
|
||||||
|
/* 0x18 */ Vec3i endPos;
|
||||||
|
/* 0x24 */ Vec3f normal;
|
||||||
} CsCmdActorAction; // size = 0x30
|
} CsCmdActorAction; // size = 0x30
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x0 */ u16 base;
|
/* 0x0 */ u16 base;
|
||||||
/* 0x2 */ u16 startFrame;
|
/* 0x2 */ u16 startFrame;
|
||||||
/* 0x4 */ u16 endFrame;
|
/* 0x4 */ u16 endFrame;
|
||||||
} CsCmdBase; // size = 0x6
|
/* 0x6 */ u16 unk_06;
|
||||||
|
} CsCmdBase; // size = 0x8
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x0 */ u16 unk0;
|
/* 0x0 */ u16 unk0;
|
||||||
|
|
@ -48,25 +51,30 @@ typedef struct {
|
||||||
/* 0x4 */ u16 endFrame;
|
/* 0x4 */ u16 endFrame;
|
||||||
/* 0x6 */ u8 hour;
|
/* 0x6 */ u8 hour;
|
||||||
/* 0x7 */ u8 minute;
|
/* 0x7 */ u8 minute;
|
||||||
} CsCmdDayTime; // size = 0x8
|
/* 0x8 */ UNK_TYPE1 unk_08[0x04];
|
||||||
|
} CsCmdDayTime; // size = 0xC
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x0 */ u16 setting;
|
/* 0x0 */ u16 setting;
|
||||||
/* 0x2 */ u16 startFrame;
|
/* 0x2 */ u16 startFrame;
|
||||||
/* 0x4 */ u16 endFrame;
|
/* 0x4 */ u16 endFrame;
|
||||||
} CsCmdEnvLighting; // size = 0x6
|
/* 0x6 */ u16 unk_06;
|
||||||
|
} CsCmdEnvLighting; // size = 0x8
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x0 */ u16 sequence;
|
/* 0x0 */ u16 sequence;
|
||||||
/* 0x2 */ u16 startFrame;
|
/* 0x2 */ u16 startFrame;
|
||||||
/* 0x4 */ u16 endFrame;
|
/* 0x4 */ u16 endFrame;
|
||||||
} CsCmdMusicChange; // size = 0x6
|
/* 0x6 */ u16 unk_06;
|
||||||
|
} CsCmdSequenceChange; // size = 0x8
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x0 */ u16 type;
|
/* 0x0 */ u16 type;
|
||||||
/* 0x2 */ u16 startFrame;
|
/* 0x2 */ u16 startFrame;
|
||||||
/* 0x4 */ u16 endFrame;
|
/* 0x4 */ u16 endFrame;
|
||||||
} CsCmdMusicFade; // size = 0x6
|
/* 0x6 */ u16 unk_06;
|
||||||
|
/* 0x8 */ u32 unk_08;
|
||||||
|
} CsCmdSequenceFade; // size = 0xC
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x0 */ u16 base;
|
/* 0x0 */ u16 base;
|
||||||
|
|
@ -77,30 +85,77 @@ typedef struct {
|
||||||
/* 0xA */ u16 textId2;
|
/* 0xA */ u16 textId2;
|
||||||
} CsCmdTextbox; // size = 0xC
|
} CsCmdTextbox; // size = 0xC
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
/* 0 */ CS_TEXTBOX_TYPE_DEFAULT,
|
||||||
|
/* 1 */ CS_TEXTBOX_TYPE_1,
|
||||||
|
/* 2 */ CS_TEXTBOX_TYPE_LEARN_SONG,
|
||||||
|
/* 3 */ CS_TEXTBOX_TYPE_3,
|
||||||
|
/* 4 */ CS_TEXTBOX_TYPE_BOSSES_REMAINS,
|
||||||
|
/* 5 */ CS_TEXTBOX_TYPE_ALL_NORMAL_MASKS,
|
||||||
|
/* 0xFFFF */ CS_TEXTBOX_TYPE_NONE = 0xFFFF
|
||||||
|
} CutsceneTextboxType;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x0 */ u16 unk0;
|
/* 0x0 */ u16 type;
|
||||||
/* 0x2 */ u16 startFrame;
|
/* 0x2 */ u16 startFrame;
|
||||||
/* 0x4 */ u16 endFrame;
|
/* 0x4 */ u16 endFrame;
|
||||||
/* 0x6 */ u8 unk6;
|
/* 0x6 */ u8 unk6;
|
||||||
/* 0x7 */ u8 unk7;
|
/* 0x7 */ u8 unk7;
|
||||||
/* 0x8 */ u8 unk8;
|
/* 0x8 */ u8 unk8;
|
||||||
/* 0x9 */ UNK_TYPE1 pad9[0x3];
|
/* 0x9 */ UNK_TYPE1 pad9[0x3];
|
||||||
} CsCmdUnk190; // size = 0xC
|
} CsCmdRumble; // size = 0xC
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
/* 0x0 */ UNK_TYPE4 unk0;
|
|
||||||
/* 0x4 */ UNK_TYPE4 unk4;
|
|
||||||
} CsCmdUnk5A; // size = 0x8
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x0 */ u16 unk0;
|
/* 0x0 */ u16 unk0;
|
||||||
/* 0x2 */ u16 startFrame;
|
/* 0x2 */ u16 startFrame;
|
||||||
/* 0x4 */ u16 endFrame;
|
/* 0x4 */ u16 endFrame;
|
||||||
/* 0x6 */ u8 unk6;
|
/* 0x6 */ Color_RGB8 color;
|
||||||
/* 0x7 */ u8 unk7;
|
|
||||||
/* 0x8 */ u8 unk8;
|
|
||||||
/* 0x9 */ UNK_TYPE1 pad9[0x3];
|
/* 0x9 */ UNK_TYPE1 pad9[0x3];
|
||||||
} CsCmdUnk9B; // size = 0xC
|
} CsCmdFadeScreen; // size = 0xC
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
/* 0 */ CS_STATE_0,
|
||||||
|
/* 1 */ CS_STATE_1,
|
||||||
|
/* 2 */ CS_STATE_2,
|
||||||
|
/* 3 */ CS_STATE_3,
|
||||||
|
/* 4 */ CS_STATE_4
|
||||||
|
} CutsceneState;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
/* 0x00A */ CS_CMD_TEXTBOX = 0xA,
|
||||||
|
/* 0x05A */ CS_CMD_CAMERA = 0x5A,
|
||||||
|
/* 0x096 */ CS_CMD_MISC = 0x96,
|
||||||
|
/* 0x097 */ CS_CMD_SET_LIGHTING,
|
||||||
|
/* 0x098 */ CS_CMD_SCENE_TRANS_FX,
|
||||||
|
/* 0x099 */ CS_CMD_MOTIONBLUR,
|
||||||
|
/* 0x09A */ CS_CMD_GIVETATL,
|
||||||
|
/* 0x09B */ CS_CMD_FADESCREEN,
|
||||||
|
/* 0x09C */ CS_CMD_FADESEQ,
|
||||||
|
/* 0x09D */ CS_CMD_SETTIME,
|
||||||
|
/* 0x0C8 */ CS_CMD_SET_PLAYER_ACTION = 0xC8,
|
||||||
|
/* 0x0FA */ CS_CMD_UNK_FA = 0xFA,
|
||||||
|
/* 0x0FE */ CS_CMD_UNK_FE = 0xFE,
|
||||||
|
/* 0x0FF */ CS_CMD_UNK_FF,
|
||||||
|
/* 0x100 */ CS_CMD_UNK_100,
|
||||||
|
/* 0x101 */ CS_CMD_UNK_101,
|
||||||
|
/* 0x102 */ CS_CMD_UNK_102,
|
||||||
|
/* 0x103 */ CS_CMD_UNK_103,
|
||||||
|
/* 0x104 */ CS_CMD_UNK_104,
|
||||||
|
/* 0x105 */ CS_CMD_UNK_105,
|
||||||
|
/* 0x108 */ CS_CMD_UNK_108 = 0x108,
|
||||||
|
/* 0x109 */ CS_CMD_UNK_109,
|
||||||
|
/* 0x12C */ CS_CMD_PLAYSEQ = 0x12C,
|
||||||
|
/* 0x12D */ CS_CMD_UNK_12D,
|
||||||
|
/* 0x130 */ CS_CMD_130 = 0x130,
|
||||||
|
/* 0x131 */ CS_CMD_131,
|
||||||
|
/* 0x132 */ CS_CMD_132,
|
||||||
|
/* 0x133 */ CS_CMD_STOPSEQ,
|
||||||
|
/* 0x134 */ CS_CMD_PLAYAMBIENCE,
|
||||||
|
/* 0x135 */ CS_CMD_FADEAMBIENCE,
|
||||||
|
/* 0x15E */ CS_CMD_TERMINATOR = 0x15E,
|
||||||
|
/* 0x15F */ CS_CMD_CHOOSE_CREDITS_SCENES,
|
||||||
|
/* 0x190 */ CS_CMD_RUMBLE = 0x190
|
||||||
|
} CutsceneCmd;
|
||||||
|
|
||||||
typedef union CutsceneData {
|
typedef union CutsceneData {
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
@ -109,4 +164,29 @@ typedef union CutsceneData {
|
||||||
s8 b[4];
|
s8 b[4];
|
||||||
} CutsceneData;
|
} CutsceneData;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
/* 0x0 */ CutsceneData* segmentedData;
|
||||||
|
/* 0x4 */ s16 nextEntranceIndex;
|
||||||
|
/* 0x6 */ u8 unk6;
|
||||||
|
/* 0x7 */ u8 unk7; // a weekEventReg bitpack?
|
||||||
|
} CutsceneEntry; // size = 0x8
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
/* 0x00 */ u8 sceneCsCount;
|
||||||
|
/* 0x04 */ CutsceneData* csData;
|
||||||
|
/* 0x08 */ u8 state;
|
||||||
|
/* 0x0C */ f32 unk_0C;
|
||||||
|
/* 0x10 */ u16 frames;
|
||||||
|
/* 0x12 */ u16 currentCsIndex;
|
||||||
|
/* 0x14 */ s32 csCamId;
|
||||||
|
/* 0x18 */ u16 unk_18;
|
||||||
|
/* 0x1A */ u8 unk_1A;
|
||||||
|
/* 0x1B */ u8 unk_1B;
|
||||||
|
/* 0x1C */ CutsceneCameraPoint* atPoints;
|
||||||
|
/* 0x20 */ CutsceneCameraPoint* eyePoints;
|
||||||
|
/* 0x24 */ CsCmdActorAction* playerAction;
|
||||||
|
/* 0x28 */ CsCmdActorAction* actorActions[10]; // "npcdemopnt"
|
||||||
|
/* 0x50 */ CutsceneEntry* sceneCsList;
|
||||||
|
} CutsceneContext; // size = 0x54
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#ifndef _Z64CUTSCENE_COMMANDS_H_
|
#ifndef Z64CUTSCENE_COMMANDS_H
|
||||||
#define _Z64CUTSCENE_COMMANDS_H_
|
#define Z64CUTSCENE_COMMANDS_H
|
||||||
|
|
||||||
#include "command_macros_base.h"
|
#include "command_macros_base.h"
|
||||||
#include "z64cutscene.h"
|
#include "z64cutscene.h"
|
||||||
|
|
@ -11,11 +11,571 @@
|
||||||
* eeeeeeee nnnnnnnn
|
* eeeeeeee nnnnnnnn
|
||||||
* size = 0x8
|
* size = 0x8
|
||||||
*/
|
*/
|
||||||
#define CS_BEGIN_CUTSCENE(totalEntries, endFrame) CMD_W(totalEntries), CMD_W(endFrame)
|
#define CS_BEGIN_CUTSCENE(totalEntries, endFrame) { CMD_W(totalEntries) }, { CMD_W(endFrame) }
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s32 entries (e)
|
||||||
|
* FORMAT
|
||||||
|
* 0000000A eeeeeeee
|
||||||
|
* size = 0x8
|
||||||
|
*/
|
||||||
|
#define CS_TEXT_LIST(entries) { CS_CMD_TEXTBOX }, { CMD_W(entries) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 messageId (i), s16 startFrame (s), s16 endFrame (e), s16 type (o),
|
||||||
|
* s16 topOptionBranch (y), s16 bottomOptionBranch (n)
|
||||||
|
* FORMAT
|
||||||
|
* iiiissss eeeeoooo yyyynnnn
|
||||||
|
* size = 0xC
|
||||||
|
*/
|
||||||
|
#define CS_TEXT_DISPLAY_TEXTBOX(messageId, startFrame, endFrame, type, topOptionBranch, bottomOptionBranch) \
|
||||||
|
{ CMD_HH(messageId, startFrame) }, { CMD_HH(endFrame, type) }, { CMD_HH(topOptionBranch, bottomOptionBranch) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 messageId (i), s16 startFrame (s), s16 endFrame (e),
|
||||||
|
* s16 topOptionBranch (y), s16 bottomOptionBranch (n)
|
||||||
|
* FORMAT
|
||||||
|
* iiiissss eeee0000 yyyynnnn
|
||||||
|
* size = 0xC
|
||||||
|
*/
|
||||||
|
#define CS_TEXT_DEFAULT(messageId, startFrame, endFrame, topOptionBranch, bottomOptionBranch) \
|
||||||
|
CS_TEXT_DISPLAY_TEXTBOX(messageId, startFrame, endFrame, CS_TEXTBOX_TYPE_DEFAULT, topOptionBranch, bottomOptionBranch)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 messageId (i), s16 startFrame (s), s16 endFrame (e),
|
||||||
|
* s16 topOptionBranch (y), s16 bottomOptionBranch (n)
|
||||||
|
* FORMAT
|
||||||
|
* iiiissss eeee0001 yyyynnnn
|
||||||
|
* size = 0xC
|
||||||
|
*/
|
||||||
|
#define CS_TEXT_TYPE_1(messageId, startFrame, endFrame, topOptionBranch, bottomOptionBranch) \
|
||||||
|
CS_TEXT_DISPLAY_TEXTBOX(messageId, startFrame, endFrame, CS_TEXTBOX_TYPE_1, topOptionBranch, bottomOptionBranch)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 ocarinaSongAction (o), s16 startFrame (s), s16 endFrame (e), s16 messageId (i)
|
||||||
|
* FORMAT
|
||||||
|
* oooossss eeee0002 iiiiFFFF
|
||||||
|
* size = 0xC
|
||||||
|
*/
|
||||||
|
#define CS_TEXT_LEARN_SONG(ocarinaSongAction, startFrame, endFrame, messageId) \
|
||||||
|
CS_TEXT_DISPLAY_TEXTBOX(ocarinaSongAction, startFrame, endFrame, CS_TEXTBOX_TYPE_LEARN_SONG, messageId, 0xFFFF)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 messageId (i), s16 startFrame (s), s16 endFrame (e),
|
||||||
|
* s16 topOptionBranch (y), s16 bottomOptionBranch (n)
|
||||||
|
* FORMAT
|
||||||
|
* iiiissss eeee0003 yyyynnnn
|
||||||
|
* size = 0xC
|
||||||
|
*/
|
||||||
|
#define CS_TEXT_TYPE_3(messageId, startFrame, endFrame, topOptionBranch, bottomOptionBranch) \
|
||||||
|
CS_TEXT_DISPLAY_TEXTBOX(messageId, startFrame, endFrame, CS_TEXTBOX_TYPE_3, topOptionBranch, bottomOptionBranch)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If Player has all 4 bosses' remains then alternativeMessageId is used, otherwise defaultMessageId is used
|
||||||
|
* ARGS
|
||||||
|
* s16 defaultMessageId (d), s16 startFrame (s), s16 endFrame (e), s16 alternativeMessageId (a)
|
||||||
|
* FORMAT
|
||||||
|
* ddddssss eeee0004 aaaaFFFF
|
||||||
|
* size = 0xC
|
||||||
|
*/
|
||||||
|
#define CS_TEXT_BOSSES_REMAINS(defaultMessageId, startFrame, endFrame, alternativeMessageId) \
|
||||||
|
CS_TEXT_DISPLAY_TEXTBOX(defaultMessageId, startFrame, endFrame, CS_TEXTBOX_TYPE_BOSSES_REMAINS, alternativeMessageId, 0xFFFF)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If Player has every non-transformation mask then alternativeMessageId is used, otherwise defaultMessageId is used
|
||||||
|
* ARGS
|
||||||
|
* s16 defaultMessageId (d), s16 startFrame (s), s16 endFrame (e), s16 alternativeMessageId (a)
|
||||||
|
* FORMAT
|
||||||
|
* ddddssss eeee0005 aaaaFFFF
|
||||||
|
* size = 0xC
|
||||||
|
*/
|
||||||
|
#define CS_TEXT_ALL_NORMAL_MASKS(defaultMessageId, startFrame, endFrame, alternativeMessageId) \
|
||||||
|
CS_TEXT_DISPLAY_TEXTBOX(defaultMessageId, startFrame, endFrame, CS_TEXTBOX_TYPE_ALL_NORMAL_MASKS, alternativeMessageId, 0xFFFF)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 startFrame (s), s16 endFrame (e)
|
||||||
|
* FORMAT
|
||||||
|
* FFFFssss eeeeFFFF FFFFFFFF
|
||||||
|
* size = 0xC
|
||||||
|
*/
|
||||||
|
#define CS_TEXT_NONE(startFrame, endFrame) \
|
||||||
|
CS_TEXT_DISPLAY_TEXTBOX(0xFFFF, startFrame, endFrame, CS_TEXTBOX_TYPE_NONE, 0xFFFF, 0xFFFF)
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s32 entries (e)
|
||||||
|
* FORMAT
|
||||||
|
* 0000005A eeeeeeee
|
||||||
|
* size = 0x8
|
||||||
|
*/
|
||||||
|
#define CS_CAMERA_LIST(entries) { CS_CMD_CAMERA }, { CMD_W(entries) }
|
||||||
|
|
||||||
|
// TODO: Camera command macros. Requieres func_80161998 being decomped
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s32 entries (e)
|
||||||
|
* FORMAT
|
||||||
|
* 00000096 eeeeeeee
|
||||||
|
* size = 0x8
|
||||||
|
*/
|
||||||
|
#define CS_MISC_LIST(entries) { CS_CMD_MISC }, { CMD_W(entries) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 unk (u), s16 startFrame (s), s16 endFrame (e)
|
||||||
|
* FORMAT
|
||||||
|
* Capital U is Unused
|
||||||
|
* uuuussss eeeeUUUU
|
||||||
|
* size = 0x08
|
||||||
|
*/
|
||||||
|
#define CS_MISC(unk, startFrame, endFrame, unk_06) \
|
||||||
|
{ CMD_HH(unk, startFrame) }, { CMD_HH(endFrame, unk_06) }
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s32 entries (e)
|
||||||
|
* FORMAT
|
||||||
|
* 00000097 eeeeeeee
|
||||||
|
* size = 0x8
|
||||||
|
*/
|
||||||
|
#define CS_LIGHTING_LIST(entries) { CS_CMD_SET_LIGHTING }, { CMD_W(entries) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 setting (m), s16 startFrame (s), s16 endFrame (e)
|
||||||
|
* FORMAT
|
||||||
|
* Capital U is Unused
|
||||||
|
* mmmmssss eeeeUUUU
|
||||||
|
* size = 0x08
|
||||||
|
*/
|
||||||
|
#define CS_LIGHTING(setting, startFrame, endFrame) \
|
||||||
|
{ CMD_HH(setting, startFrame) }, { CMD_HH(endFrame, endFrame) }
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s32 entries (e)
|
||||||
|
* FORMAT
|
||||||
|
* 00000098 eeeeeeee
|
||||||
|
* size = 0x8
|
||||||
|
*/
|
||||||
|
#define CS_SCENE_TRANS_FX_LIST(entries) { CS_CMD_SCENE_TRANS_FX }, { CMD_W(entries) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 transitionType (m), s16 startFrame (s), s16 endFrame (e)
|
||||||
|
* FORMAT
|
||||||
|
* Capital U is Unused
|
||||||
|
* mmmmssss eeeeUUUU
|
||||||
|
* size = 0x08
|
||||||
|
*/
|
||||||
|
#define CS_SCENE_TRANS_FX(transitionType, startFrame, endFrame) \
|
||||||
|
{ CMD_HH(transitionType, startFrame) }, { CMD_HH(endFrame, endFrame) }
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s32 entries (e)
|
||||||
|
* FORMAT
|
||||||
|
* 00000099 eeeeeeee
|
||||||
|
* size = 0x08
|
||||||
|
*/
|
||||||
|
#define CS_MOTIONBLUR_LIST(entries) { CS_CMD_MOTIONBLUR }, { CMD_W(entries) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 base (m), s16 startFrame (s), s16 endFrame (e)
|
||||||
|
* FORMAT
|
||||||
|
* Capital U is Unused
|
||||||
|
* mmmmssss eeeeUUUU
|
||||||
|
* size = 0x08
|
||||||
|
*/
|
||||||
|
#define CS_MOTIONBLUR(base, startFrame, endFrame) \
|
||||||
|
{ CMD_HH(base, startFrame) }, { CMD_HH(endFrame, endFrame) }
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s32 entries (e)
|
||||||
|
* FORMAT
|
||||||
|
* 0000009A eeeeeeee
|
||||||
|
* size = 0x8
|
||||||
|
*/
|
||||||
|
#define CS_GIVETATL_LIST(entries) { CS_CMD_GIVETATL }, { CMD_W(entries) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 base (m), s16 startFrame (s), s16 endFrame (e)
|
||||||
|
* FORMAT
|
||||||
|
* Capital U is Unused
|
||||||
|
* mmmmssss eeeeUUUU
|
||||||
|
* size = 0x08
|
||||||
|
*/
|
||||||
|
#define CS_GIVETATL(base, startFrame, endFrame) \
|
||||||
|
{ CMD_HH(base, startFrame) }, { CMD_HH(endFrame, endFrame) }
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s32 entries (e)
|
||||||
|
* FORMAT
|
||||||
|
* 0000009B eeeeeeee
|
||||||
|
* size = 0x8
|
||||||
|
*/
|
||||||
|
#define CS_FADESCREEN_LIST(entries) { CS_CMD_FADESCREEN }, { CMD_W(entries) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 base (m), s16 startFrame (s), s16 endFrame (e),
|
||||||
|
* u8 red (r), u8 green (g), blue (b)
|
||||||
|
* FORMAT
|
||||||
|
* Capital U is Unused
|
||||||
|
* mmmmssss eeeerrgg bbUUUUUU
|
||||||
|
* size = 0x0C
|
||||||
|
*/
|
||||||
|
#define CS_FADESCREEN(base, startFrame, endFrame, red, green, blue) \
|
||||||
|
{ CMD_HH(base, startFrame) }, { CMD_HBB(endFrame, red, green) }, { CMD_BBBB(blue, 0, 0, 0) }
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s32 entries (e)
|
||||||
|
* FORMAT
|
||||||
|
* 0000009C eeeeeeee
|
||||||
|
* size = 0x8
|
||||||
|
*/
|
||||||
|
#define CS_FADESEQ_LIST(entries) { CS_CMD_FADESEQ }, { CMD_W(entries) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 base (m), s16 startFrame (s), s16 endFrame (e)
|
||||||
|
* FORMAT
|
||||||
|
* Capital U is Unused
|
||||||
|
* mmmmssss eeeeUUUU UUUUUUUU
|
||||||
|
* size = 0x0C
|
||||||
|
*/
|
||||||
|
#define CS_FADESEQ(base, startFrame, endFrame) \
|
||||||
|
{ CMD_HH(base, startFrame) }, { CMD_HH(endFrame, 0) }, { CMD_W(0) }
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s32 entries (e)
|
||||||
|
* FORMAT
|
||||||
|
* 0000009D eeeeeeee
|
||||||
|
* size = 0x8
|
||||||
|
*/
|
||||||
|
#define CS_TIME_LIST(entries) { CS_CMD_SETTIME }, { CMD_W(entries) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 unk (u), s16 startFrame (s), s16 endFrame (e), s8 hour (h), s8 min (m)
|
||||||
|
* FORMAT
|
||||||
|
* Capital U is Unused
|
||||||
|
* uuuussss eeeehhmm UUUUUUUU
|
||||||
|
* size = 0xC
|
||||||
|
*/
|
||||||
|
#define CS_TIME(unk, startFrame, endFrame, hour, min, unused) \
|
||||||
|
{ CMD_HH(unk, startFrame) }, { CMD_HBB(endFrame, hour, min) }, { CMD_W(unused) }
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s32 cmdType (c), s32 entries (e)
|
||||||
|
* FORMAT
|
||||||
|
* cccccccc eeeeeeee
|
||||||
|
* size = 0x8
|
||||||
|
*/
|
||||||
|
#define CS_ACTOR_ACTION_LIST(cmdType, entries) { CMD_W(cmdType) }, { CMD_W(entries) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 npcAction (a), s16 startFrame (s), s16 endFrame (e),
|
||||||
|
* s16 rotX (u), s16 rotY (v), s16 rotZ (w),
|
||||||
|
* s32 startX (i), s32 startY (j), s32 startZ (k),
|
||||||
|
* s32 endX (l), s32 endY (m), s32 endZ (n),
|
||||||
|
* f32 normX (x), f32 normY (y), f32 normZ (z),
|
||||||
|
* FORMAT
|
||||||
|
* aaaassss eeeeuuuu vvvvwwww iiiiiiii jjjjjjjj kkkkkkkk llllllll mmmmmmmm nnnnnnnn xxxxxxxx yyyyyyyy zzzzzzzz
|
||||||
|
* size = 0x30
|
||||||
|
*/
|
||||||
|
#define CS_ACTOR_ACTION(npcAction, startFrame, endFrame, rotX, rotY, rotZ, startX, startY, startZ, endX, endY, endZ, normX, normY, normZ) \
|
||||||
|
{ CMD_HH(npcAction, startFrame) }, { CMD_HH(endFrame, rotX) }, { CMD_HH(rotY, rotZ) }, \
|
||||||
|
{ CMD_W(startX) }, { CMD_W(startY) }, { CMD_W(startZ) }, \
|
||||||
|
{ CMD_W(endX) }, { CMD_W(endY) }, { CMD_W(endZ) }, \
|
||||||
|
{ CMD_F(normX) }, { CMD_F(normY) }, { CMD_F(normZ) }
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s32 cmdType (c), s32 entries (e)
|
||||||
|
* FORMAT
|
||||||
|
* 000000C8 eeeeeeee
|
||||||
|
* size = 0x8
|
||||||
|
*/
|
||||||
|
#define CS_PLAYER_ACTION_LIST(entries) { CS_CMD_SET_PLAYER_ACTION }, { CMD_W(entries) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 playerAction (a), s16 startFrame (s), s16 endFrame (e),
|
||||||
|
* s16 rotX (u), s16 rotY (v), s16 rotZ (w),
|
||||||
|
* s32 startX (i), s32 startY (j), s32 startZ (k),
|
||||||
|
* s32 endX (l), s32 endY (m), s32 endZ (n),
|
||||||
|
* f32 normX (x), f32 normY (y), f32 normZ (z),
|
||||||
|
* FORMAT
|
||||||
|
* aaaassss eeeeuuuu vvvvwwww iiiiiiii jjjjjjjj kkkkkkkk llllllll mmmmmmmm nnnnnnnn xxxxxxxx yyyyyyyy zzzzzzzz
|
||||||
|
* size = 0x30
|
||||||
|
*/
|
||||||
|
#define CS_PLAYER_ACTION(playerAction, startFrame, endFrame, rotX, rotY, rotZ, startX, startY, startZ, endX, endY, endZ, normX, normY, normZ) \
|
||||||
|
CS_ACTOR_ACTION(playerAction, startFrame, endFrame, rotX, rotY, rotZ, startX, startY, startZ, endX, endY, endZ, normX, normY, normZ)
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s32 entries (e)
|
||||||
|
* FORMAT
|
||||||
|
* 0000012C eeeeeeee
|
||||||
|
* size = 0x8
|
||||||
|
*/
|
||||||
|
#define CS_PLAYSEQ_LIST(entries) { CS_CMD_PLAYSEQ }, { CMD_W(entries) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 base (m), s16 startFrame (s), s16 endFrame (e)
|
||||||
|
* FORMAT
|
||||||
|
* Capital U is Unused
|
||||||
|
* mmmmssss eeeeUUUU
|
||||||
|
* size = 0x08
|
||||||
|
*/
|
||||||
|
#define CS_PLAYSEQ(sequence, startFrame, endFrame) \
|
||||||
|
{ CMD_HH(sequence, startFrame) }, { CMD_HH(endFrame, endFrame) }
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s32 entries (e)
|
||||||
|
* FORMAT
|
||||||
|
* 00000130 eeeeeeee
|
||||||
|
* size = 0x8
|
||||||
|
*/
|
||||||
|
#define CS_SCENE_UNK_130_LIST(entries) { CS_CMD_130 }, { CMD_W(entries) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 base (m), s16 startFrame (s), s16 endFrame (e)
|
||||||
|
* FORMAT
|
||||||
|
* Capital U is Unused
|
||||||
|
* mmmmssss eeeeUUUU
|
||||||
|
* size = 0x30
|
||||||
|
*/
|
||||||
|
#define CS_SCENE_UNK_130(base, startFrame, endFrame, unk_06) \
|
||||||
|
{ CMD_HH(base, startFrame) }, { CMD_HH(endFrame, unk_06) }
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s32 entries (e)
|
||||||
|
* FORMAT
|
||||||
|
* 00000131 eeeeeeee
|
||||||
|
* size = 0x8
|
||||||
|
*/
|
||||||
|
#define CS_SCENE_UNK_131_LIST(entries) { CS_CMD_131 }, { CMD_W(entries) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 base (m), s16 startFrame (s), s16 endFrame (e)
|
||||||
|
* FORMAT
|
||||||
|
* Capital U is Unused
|
||||||
|
* mmmmssss eeeeUUUU
|
||||||
|
* size = 0x08
|
||||||
|
*/
|
||||||
|
#define CS_SCENE_UNK_131(base, startFrame, endFrame, unk_06) \
|
||||||
|
{ CMD_HH(base, startFrame) }, { CMD_HH(endFrame, unk_06) }
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s32 entries (e)
|
||||||
|
* FORMAT
|
||||||
|
* 00000132 eeeeeeee
|
||||||
|
* size = 0x8
|
||||||
|
*/
|
||||||
|
#define CS_SCENE_UNK_132_LIST(entries) { CS_CMD_132 }, { CMD_W(entries) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 base (m), s16 startFrame (s), s16 endFrame (e)
|
||||||
|
* FORMAT
|
||||||
|
* Capital U is Unused
|
||||||
|
* mmmmssss eeeeUUUU
|
||||||
|
* size = 0x08
|
||||||
|
*/
|
||||||
|
#define CS_SCENE_UNK_132(base, startFrame, endFrame) \
|
||||||
|
{ CMD_HH(base, startFrame) }, { CMD_HH(endFrame, endFrame) }
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s32 entries (e)
|
||||||
|
* FORMAT
|
||||||
|
* 00000133 eeeeeeee
|
||||||
|
* size = 0x8
|
||||||
|
*/
|
||||||
|
#define CS_STOPSEQ_LIST(entries) { CS_CMD_STOPSEQ }, { CMD_W(entries) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 base (m), s16 startFrame (s), s16 endFrame (e)
|
||||||
|
* FORMAT
|
||||||
|
* Capital U is Unused
|
||||||
|
* mmmmssss eeeeUUUU
|
||||||
|
* size = 0x08
|
||||||
|
*/
|
||||||
|
#define CS_STOPSEQ(base, startFrame, endFrame, unk_06) \
|
||||||
|
{ CMD_HH(base, startFrame) }, { CMD_HH(endFrame, unk_06) }
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s32 entries (e)
|
||||||
|
* FORMAT
|
||||||
|
* 00000134 eeeeeeee
|
||||||
|
* size = 0x8
|
||||||
|
*/
|
||||||
|
#define CS_PLAYAMBIENCE_LIST(entries) { CS_CMD_PLAYAMBIENCE }, { CMD_W(entries) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 base (m), s16 startFrame (s), s16 endFrame (e)
|
||||||
|
* FORMAT
|
||||||
|
* Capital U is Unused
|
||||||
|
* mmmmssss eeeeUUUU
|
||||||
|
* size = 0x08
|
||||||
|
*/
|
||||||
|
#define CS_PLAYAMBIENCE(base, startFrame, endFrame, unk_06) \
|
||||||
|
{ CMD_HH(base, startFrame) }, { CMD_HH(endFrame, unk_06) }
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s32 entries (e)
|
||||||
|
* FORMAT
|
||||||
|
* 00000135 eeeeeeee
|
||||||
|
* size = 0x8
|
||||||
|
*/
|
||||||
|
#define CS_FADEAMBIENCE_LIST(entries) { CS_CMD_FADEAMBIENCE }, { CMD_W(entries) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 base (m), s16 startFrame (s), s16 endFrame (e)
|
||||||
|
* FORMAT
|
||||||
|
* Capital U is Unused
|
||||||
|
* mmmmssss eeeeUUUU
|
||||||
|
* size = 0x08
|
||||||
|
*/
|
||||||
|
#define CS_FADEAMBIENCE(base, startFrame, endFrame, unk_06) \
|
||||||
|
{ CMD_HH(base, startFrame) }, { CMD_HH(endFrame, unk_06) }
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s32 entries (e)
|
||||||
|
* FORMAT
|
||||||
|
* 0000015E eeeeeeee
|
||||||
|
* size = 0x8
|
||||||
|
*/
|
||||||
|
#define CS_TERMINATOR_LIST(entries) { CS_CMD_TERMINATOR }, { CMD_W(entries) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 base (m), s16 startFrame (s), s16 endFrame (e)
|
||||||
|
* FORMAT
|
||||||
|
* Capital U is Unused
|
||||||
|
* mmmmssss eeeeUUUU
|
||||||
|
* size = 0x08
|
||||||
|
*/
|
||||||
|
#define CS_TERMINATOR(base, startFrame, endFrame) \
|
||||||
|
{ CMD_HH(base, startFrame) }, { CMD_HH(endFrame, endFrame) }
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s32 entries (e)
|
||||||
|
* FORMAT
|
||||||
|
* 0000015F eeeeeeee
|
||||||
|
* size = 0x8
|
||||||
|
*/
|
||||||
|
#define CS_CHOOSE_CREDITS_SCENES_LIST(entries) { CS_CMD_CHOOSE_CREDITS_SCENES }, { CMD_W(entries) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 base (m), s16 startFrame (s), s16 endFrame (e)
|
||||||
|
* FORMAT
|
||||||
|
* Capital U is Unused
|
||||||
|
* mmmmssss eeeeUUUU
|
||||||
|
* size = 0x08
|
||||||
|
*/
|
||||||
|
#define CS_CHOOSE_CREDITS_SCENES(base, startFrame, endFrame) \
|
||||||
|
{ CMD_HH(base, startFrame) }, { CMD_HH(endFrame, endFrame) }
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s32 entries (e)
|
||||||
|
* FORMAT
|
||||||
|
* 00000004 eeeeeeee
|
||||||
|
* size = 0x8
|
||||||
|
*/
|
||||||
|
#define CS_RUMBLE_LIST(entries) { CS_CMD_RUMBLE }, { CMD_W(entries) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 base (m), s16 startFrame (s), s16 endFrame (e)
|
||||||
|
* FORMAT
|
||||||
|
* Capital U is Unused
|
||||||
|
* mmmmssss eeeeUUUU
|
||||||
|
* size = 0x08
|
||||||
|
*/
|
||||||
|
#define CS_RUMBLE(base, startFrame, endFrame, unk6, unk7, unk8) \
|
||||||
|
{ CMD_HH(base, startFrame) }, { CMD_HBB(endFrame, unk6, unk7) }, { CMD_BBBB(unk8, 0, 0, 0) }
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s32 cmd (c), s32 entries (e)
|
||||||
|
* FORMAT
|
||||||
|
* cccccccc eeeeeeee
|
||||||
|
* size = 0x8
|
||||||
|
*/
|
||||||
|
#define CS_UNK_DATA_LIST(cmd, entries) { CMD_W(cmd) }, { CMD_W(entries) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ARGS
|
||||||
|
* s16 base (m), s16 startFrame (s), s16 endFrame (e)
|
||||||
|
* FORMAT
|
||||||
|
* Capital U is Unused
|
||||||
|
* mmmmssss eeeeUUUU
|
||||||
|
* size = 0x08
|
||||||
|
*/
|
||||||
|
#define CS_UNK_DATA(base, startFrame, endFrame, unk_06) \
|
||||||
|
{ CMD_HH(base, startFrame) }, { CMD_HH(endFrame, unk_06) }
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Marks the end of a cutscene
|
* Marks the end of a cutscene
|
||||||
*/
|
*/
|
||||||
#define CS_END() 0xFFFFFFFF
|
#define CS_END() { CMD_W(0xFFFFFFFF) }
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ typedef enum {
|
||||||
/* 0x11 */ QUEST_SONG_SUN,
|
/* 0x11 */ QUEST_SONG_SUN,
|
||||||
/* 0x12 */ QUEST_BOMBERS_NOTEBOOK,
|
/* 0x12 */ QUEST_BOMBERS_NOTEBOOK,
|
||||||
/* 0x18 */ QUEST_SONG_LULLABY_INTRO = 0x18,
|
/* 0x18 */ QUEST_SONG_LULLABY_INTRO = 0x18,
|
||||||
/* 0x19 */ QUEST_UNK_19, // Related to PictoBox
|
/* 0x19 */ QUEST_UNK_19 // Related to PictoBox
|
||||||
} QuestItem;
|
} QuestItem;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ typedef struct {
|
||||||
/* 0x12 */ s16 fogColor[3];
|
/* 0x12 */ s16 fogColor[3];
|
||||||
/* 0x18 */ s16 fogNear;
|
/* 0x18 */ s16 fogNear;
|
||||||
/* 0x1A */ s16 fogFar;
|
/* 0x1A */ s16 fogFar;
|
||||||
} LightSettings2; // size = 0x1C
|
} EnvLightSettings; // size = 0x1C
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x0 */ s16 x;
|
/* 0x0 */ s16 x;
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,16 @@
|
||||||
#ifndef _Z64SCENE_H_
|
#ifndef Z64SCENE_H
|
||||||
#define _Z64SCENE_H_
|
#define Z64SCENE_H
|
||||||
|
|
||||||
#include "ultra64.h"
|
#include "ultra64.h"
|
||||||
#include "z64dma.h"
|
#include "z64dma.h"
|
||||||
|
#include "z64cutscene.h"
|
||||||
#include "unk.h"
|
#include "unk.h"
|
||||||
|
|
||||||
#define SPAWN_ROT_FLAGS(rotation, flags) (((rotation) << 7) | (flags))
|
#define SPAWN_ROT_FLAGS(rotation, flags) (((rotation) << 7) | (flags))
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x00 */ u32 vromStart;
|
/* 0x00 */ uintptr_t vromStart;
|
||||||
/* 0x04 */ u32 vromEnd;
|
/* 0x04 */ uintptr_t vromEnd;
|
||||||
} RomFile; // size = 0x8
|
} RomFile; // size = 0x8
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
@ -310,13 +311,6 @@ typedef struct {
|
||||||
/* 0xE */ s16 params;
|
/* 0xE */ s16 params;
|
||||||
} ActorEntry; // size = 0x10
|
} ActorEntry; // size = 0x10
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
/* 0x0 */ u32 data;
|
|
||||||
/* 0x4 */ s16 unk4;
|
|
||||||
/* 0x6 */ u8 unk6;
|
|
||||||
/* 0x7 */ u8 unk7;
|
|
||||||
} CutsceneEntry; // size = 0x8
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x0 */ u8 spawn;
|
/* 0x0 */ u8 spawn;
|
||||||
/* 0x1 */ u8 room;
|
/* 0x1 */ u8 room;
|
||||||
|
|
|
||||||
1
spec
1
spec
|
|
@ -460,7 +460,6 @@ beginseg
|
||||||
include "build/data/code/z_debug_mode.data.o"
|
include "build/data/code/z_debug_mode.data.o"
|
||||||
include "build/data/code/z_debug_mode.bss.o"
|
include "build/data/code/z_debug_mode.bss.o"
|
||||||
include "build/src/code/z_demo.o"
|
include "build/src/code/z_demo.o"
|
||||||
include "build/data/code/z_demo.bss.o"
|
|
||||||
include "build/src/code/z_draw.o"
|
include "build/src/code/z_draw.o"
|
||||||
include "build/data/code/z_draw.data.o"
|
include "build/data/code/z_draw.data.o"
|
||||||
include "build/src/code/z_eff_footmark.o"
|
include "build/src/code/z_eff_footmark.o"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
#include "prevent_bss_reordering.h"
|
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
UNK_TYPE4 D_8009BE30;
|
UNK_TYPE4 D_8009BE30;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
#include "prevent_bss_reordering.h"
|
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
StackEntry sBootThreadInfo;
|
StackEntry sBootThreadInfo;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
#include "prevent_bss_reordering.h"
|
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
u8 D_80096B20 = 1;
|
u8 D_80096B20 = 1;
|
||||||
|
|
|
||||||
|
|
@ -2233,7 +2233,7 @@ const char sAudioOcarinaUnusedText7[] = "check is over!!! %d %d %d\n";
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3EC0.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3EC0.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3F54.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/Audio_SetCutsceneFlag.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3F6C.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3F6C.s")
|
||||||
|
|
||||||
|
|
|
||||||
1677
src/code/z_demo.c
1677
src/code/z_demo.c
File diff suppressed because it is too large
Load Diff
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F5954.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F5954.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F5A8C.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/Environment_LerpWeight.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F5B10.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F5B10.s")
|
||||||
|
|
||||||
|
|
@ -64,7 +64,7 @@
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FB010.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FB010.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FB320.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/Environment_AddLightningBolts.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FB388.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FB388.s")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_801514B0.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_801514B0.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_801518B0.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/Message_StartTextbox.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80151938.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80151938.s")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -114,7 +114,7 @@ s32 Room_HandleLoadCallbacks(GlobalContext* globalCtx, RoomContext* roomCtx) {
|
||||||
|
|
||||||
if (((globalCtx->sceneNum != SCENE_IKANA) || (roomCtx->currRoom.num != 1)) &&
|
if (((globalCtx->sceneNum != SCENE_IKANA) || (roomCtx->currRoom.num != 1)) &&
|
||||||
(globalCtx->sceneNum != SCENE_IKNINSIDE)) {
|
(globalCtx->sceneNum != SCENE_IKNINSIDE)) {
|
||||||
globalCtx->envCtx.unk_C3 = 0xff;
|
globalCtx->envCtx.lightSettingOverride = 0xff;
|
||||||
globalCtx->envCtx.unk_E0 = 0;
|
globalCtx->envCtx.unk_E0 = 0;
|
||||||
}
|
}
|
||||||
func_800FEAB0();
|
func_800FEAB0();
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
#include "prevent_bss_reordering.h"
|
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
s32 sMatAnimStep;
|
s32 sMatAnimStep;
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,13 @@
|
||||||
#include "prevent_bss_reordering.h"
|
|
||||||
#include "ultra64.h"
|
#include "ultra64.h"
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
static s32 framDeviceInfo[4];
|
s32 framDeviceInfo[4];
|
||||||
static OSIoMesg framDeviceInfoQuery;
|
OSIoMesg framDeviceInfoQuery;
|
||||||
static OSMesgQueue __osFlashMessageQ;
|
OSMesgQueue __osFlashMessageQ;
|
||||||
static OSPiHandle __osFlashHandler;
|
OSPiHandle __osFlashHandler;
|
||||||
static OSMesg __osFlashMsgBuf;
|
OSMesg __osFlashMsgBuf;
|
||||||
static s32 __osFlashVersion;
|
s32 __osFlashVersion;
|
||||||
static UNK_TYPE1 D_801FD0FC[0x14];
|
UNK_TYPE1 D_801FD0FC[0x14];
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
FLASH_OLD,
|
FLASH_OLD,
|
||||||
|
|
|
||||||
|
|
@ -163,8 +163,8 @@ void BgCtowerGear_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
void BgCtowerGear_UpdateOrgan(Actor* thisx, GlobalContext* globalCtx) {
|
void BgCtowerGear_UpdateOrgan(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
BgCtowerGear* this = THIS;
|
BgCtowerGear* this = THIS;
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x68)) {
|
if (Cutscene_CheckActorAction(globalCtx, 104)) {
|
||||||
switch (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x68)]->unk0) {
|
switch (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 104)]->action) {
|
||||||
case 1:
|
case 1:
|
||||||
this->dyna.actor.draw = NULL;
|
this->dyna.actor.draw = NULL;
|
||||||
func_800C62BC(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId);
|
func_800C62BC(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId);
|
||||||
|
|
|
||||||
|
|
@ -125,9 +125,9 @@ void BgHakaCurtain_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
BgHakaCurtain* this = THIS;
|
BgHakaCurtain* this = THIS;
|
||||||
CsCmdActorAction* actorAction;
|
CsCmdActorAction* actorAction;
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x1D5)) {
|
if (Cutscene_CheckActorAction(globalCtx, 469)) {
|
||||||
actorAction = globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x1D5)];
|
actorAction = globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 469)];
|
||||||
if (actorAction->startFrame == globalCtx->csCtx.frames && actorAction->unk0 == 2) {
|
if (actorAction->startFrame == globalCtx->csCtx.frames && actorAction->action == 2) {
|
||||||
func_80B6DD80(this);
|
func_80B6DD80(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -131,8 +131,8 @@ void BgIknvObj_UpdateWaterwheel(BgIknvObj* this, GlobalContext* globalCtx) {
|
||||||
func_800B9010(&this->dyna.actor, NA_SE_EV_WOOD_WATER_WHEEL - SFX_FLAG);
|
func_800B9010(&this->dyna.actor, NA_SE_EV_WOOD_WATER_WHEEL - SFX_FLAG);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((globalCtx->csCtx.state != 0) && (gSaveContext.sceneSetupIndex == 1) && (globalCtx->csCtx.unk_12 == 4) &&
|
if ((globalCtx->csCtx.state != 0) && (gSaveContext.sceneSetupIndex == 1) &&
|
||||||
(globalCtx->csCtx.frames == 1495)) {
|
(globalCtx->csCtx.currentCsIndex == 4) && (globalCtx->csCtx.frames == 1495)) {
|
||||||
func_8019F128(NA_SE_EV_DOOR_UNLOCK);
|
func_8019F128(NA_SE_EV_DOOR_UNLOCK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1281,22 +1281,22 @@ void func_809DC78C(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
Boss02* this = THIS;
|
Boss02* this = THIS;
|
||||||
|
|
||||||
this->unk_01AC = D_809DF5B0;
|
this->unk_01AC = D_809DF5B0;
|
||||||
globalCtx->envCtx.unk_EA = 0xD;
|
globalCtx->envCtx.sandstormState = 0xD;
|
||||||
|
|
||||||
if (D_809E0434 != NULL) {
|
if (D_809E0434 != NULL) {
|
||||||
this->unk_1D74 = KREG(23) + -15.0f;
|
this->unk_1D74 = KREG(23) + -15.0f;
|
||||||
D_801F4E30 = 0;
|
D_801F4E30 = 0;
|
||||||
globalCtx->envCtx.unk_C3 = 1;
|
globalCtx->envCtx.lightSettingOverride = 1;
|
||||||
globalCtx->skyboxId = 1;
|
globalCtx->skyboxId = 1;
|
||||||
} else if (D_809E0422 == 0) {
|
} else if (D_809E0422 == 0) {
|
||||||
this->unk_1D74 = 0.0f;
|
this->unk_1D74 = 0.0f;
|
||||||
D_801F4E30 = this->unk_1D7C;
|
D_801F4E30 = this->unk_1D7C;
|
||||||
globalCtx->envCtx.unk_C3 = 0;
|
globalCtx->envCtx.lightSettingOverride = 0;
|
||||||
globalCtx->skyboxId = 2;
|
globalCtx->skyboxId = 2;
|
||||||
} else {
|
} else {
|
||||||
this->unk_1D74 = KREG(23) + -15.0f;
|
this->unk_1D74 = KREG(23) + -15.0f;
|
||||||
D_801F4E30 = ((KREG(24) * 0.1f) + 1.0f) * this->unk_1D7C;
|
D_801F4E30 = ((KREG(24) * 0.1f) + 1.0f) * this->unk_1D7C;
|
||||||
globalCtx->envCtx.unk_C3 = 1;
|
globalCtx->envCtx.lightSettingOverride = 1;
|
||||||
globalCtx->skyboxId = 1;
|
globalCtx->skyboxId = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1650,7 +1650,7 @@ void func_809DD934(Boss02* this, GlobalContext* globalCtx) {
|
||||||
switch (this->unk_1D18) {
|
switch (this->unk_1D18) {
|
||||||
case 0:
|
case 0:
|
||||||
if (player->stateFlags1 & 0x100) {
|
if (player->stateFlags1 & 0x100) {
|
||||||
func_800EA0D4(globalCtx, &globalCtx->csCtx);
|
Cutscene_Start(globalCtx, &globalCtx->csCtx);
|
||||||
this->unk_1D22 = Play_CreateSubCamera(globalCtx);
|
this->unk_1D22 = Play_CreateSubCamera(globalCtx);
|
||||||
Play_CameraChangeStatus(globalCtx, CAM_ID_MAIN, 1);
|
Play_CameraChangeStatus(globalCtx, CAM_ID_MAIN, 1);
|
||||||
Play_CameraChangeStatus(globalCtx, this->unk_1D22, 7);
|
Play_CameraChangeStatus(globalCtx, this->unk_1D22, 7);
|
||||||
|
|
@ -1770,7 +1770,7 @@ void func_809DD934(Boss02* this, GlobalContext* globalCtx) {
|
||||||
this->unk_1D18 = 0;
|
this->unk_1D18 = 0;
|
||||||
func_80169AFC(globalCtx, this->unk_1D22, 0);
|
func_80169AFC(globalCtx, this->unk_1D22, 0);
|
||||||
this->unk_1D22 = 0;
|
this->unk_1D22 = 0;
|
||||||
func_800EA0EC(globalCtx, &globalCtx->csCtx);
|
Cutscene_End(globalCtx, &globalCtx->csCtx);
|
||||||
this->actor.flags |= ACTOR_FLAG_1;
|
this->actor.flags |= ACTOR_FLAG_1;
|
||||||
player->stateFlags1 &= ~0x100;
|
player->stateFlags1 &= ~0x100;
|
||||||
this->unk_1D70 = 0.01f;
|
this->unk_1D70 = 0.01f;
|
||||||
|
|
@ -1784,7 +1784,7 @@ void func_809DD934(Boss02* this, GlobalContext* globalCtx) {
|
||||||
Actor_SetScale(&player->actor, this->unk_1D70);
|
Actor_SetScale(&player->actor, this->unk_1D70);
|
||||||
}
|
}
|
||||||
|
|
||||||
globalCtx->envCtx.unk_8C.fogNear = this->unk_1D74;
|
globalCtx->envCtx.lightSettings.fogNear = this->unk_1D74;
|
||||||
|
|
||||||
if (sp57) {
|
if (sp57) {
|
||||||
D_809E0422 = 1 - D_809E0422;
|
D_809E0422 = 1 - D_809E0422;
|
||||||
|
|
@ -2049,7 +2049,7 @@ void func_809DD934(Boss02* this, GlobalContext* globalCtx) {
|
||||||
Matrix_InsertZRotation_f(this->unk_1D54, MTXMODE_APPLY);
|
Matrix_InsertZRotation_f(this->unk_1D54, MTXMODE_APPLY);
|
||||||
Matrix_GetStateTranslationAndScaledY(1.0f, &this->unk_1D3C);
|
Matrix_GetStateTranslationAndScaledY(1.0f, &this->unk_1D3C);
|
||||||
Play_CameraSetAtEyeUp(globalCtx, this->unk_1D22, &this->unk_1D30, &this->unk_1D24, &this->unk_1D3C);
|
Play_CameraSetAtEyeUp(globalCtx, this->unk_1D22, &this->unk_1D30, &this->unk_1D24, &this->unk_1D3C);
|
||||||
ShrinkWindow_SetLetterboxTarget(0x1B);
|
ShrinkWindow_SetLetterboxTarget(27);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
|
@ -2077,7 +2077,7 @@ void func_809DEAC4(Boss02* this, GlobalContext* globalCtx) {
|
||||||
if ((gSaveContext.weekEventReg[52] & 0x20) || ((u32)(KREG(13) + 15) >= this->unk_1D1C)) {
|
if ((gSaveContext.weekEventReg[52] & 0x20) || ((u32)(KREG(13) + 15) >= this->unk_1D1C)) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
func_800EA0D4(globalCtx, &globalCtx->csCtx);
|
Cutscene_Start(globalCtx, &globalCtx->csCtx);
|
||||||
this->unk_1D22 = Play_CreateSubCamera(globalCtx);
|
this->unk_1D22 = Play_CreateSubCamera(globalCtx);
|
||||||
Play_CameraChangeStatus(globalCtx, CAM_ID_MAIN, 1);
|
Play_CameraChangeStatus(globalCtx, CAM_ID_MAIN, 1);
|
||||||
Play_CameraChangeStatus(globalCtx, this->unk_1D22, 7);
|
Play_CameraChangeStatus(globalCtx, this->unk_1D22, 7);
|
||||||
|
|
@ -2163,7 +2163,7 @@ void func_809DEAC4(Boss02* this, GlobalContext* globalCtx) {
|
||||||
if (this->unk_1D1C == (u32)(BREG(27) + 335)) {
|
if (this->unk_1D1C == (u32)(BREG(27) + 335)) {
|
||||||
func_80169AFC(globalCtx, this->unk_1D22, 0);
|
func_80169AFC(globalCtx, this->unk_1D22, 0);
|
||||||
this->unk_1D22 = 0;
|
this->unk_1D22 = 0;
|
||||||
func_800EA0EC(globalCtx, &globalCtx->csCtx);
|
Cutscene_End(globalCtx, &globalCtx->csCtx);
|
||||||
func_800B7298(globalCtx, &this->actor, 6);
|
func_800B7298(globalCtx, &this->actor, 6);
|
||||||
this->actor.flags |= ACTOR_FLAG_1;
|
this->actor.flags |= ACTOR_FLAG_1;
|
||||||
this->unk_1D20 = 0;
|
this->unk_1D20 = 0;
|
||||||
|
|
@ -2175,7 +2175,7 @@ void func_809DEAC4(Boss02* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
case 100:
|
case 100:
|
||||||
if (ActorCutscene_GetCurrentIndex() == -1) {
|
if (ActorCutscene_GetCurrentIndex() == -1) {
|
||||||
func_800EA0D4(globalCtx, &globalCtx->csCtx);
|
Cutscene_Start(globalCtx, &globalCtx->csCtx);
|
||||||
this->unk_1D22 = Play_CreateSubCamera(globalCtx);
|
this->unk_1D22 = Play_CreateSubCamera(globalCtx);
|
||||||
Play_CameraChangeStatus(globalCtx, CAM_ID_MAIN, 1);
|
Play_CameraChangeStatus(globalCtx, CAM_ID_MAIN, 1);
|
||||||
Play_CameraChangeStatus(globalCtx, this->unk_1D22, 7);
|
Play_CameraChangeStatus(globalCtx, this->unk_1D22, 7);
|
||||||
|
|
@ -2224,7 +2224,7 @@ void func_809DEAC4(Boss02* this, GlobalContext* globalCtx) {
|
||||||
if (this->unk_1D1C == 30) {
|
if (this->unk_1D1C == 30) {
|
||||||
func_80169AFC(globalCtx, this->unk_1D22, 0);
|
func_80169AFC(globalCtx, this->unk_1D22, 0);
|
||||||
this->unk_1D22 = 0;
|
this->unk_1D22 = 0;
|
||||||
func_800EA0EC(globalCtx, &globalCtx->csCtx);
|
Cutscene_End(globalCtx, &globalCtx->csCtx);
|
||||||
func_800B7298(globalCtx, &this->actor, 6);
|
func_800B7298(globalCtx, &this->actor, 6);
|
||||||
this->unk_1D20 = 0;
|
this->unk_1D20 = 0;
|
||||||
this->actor.flags |= ACTOR_FLAG_1;
|
this->actor.flags |= ACTOR_FLAG_1;
|
||||||
|
|
@ -2263,6 +2263,6 @@ void func_809DEAC4(Boss02* this, GlobalContext* globalCtx) {
|
||||||
Play_CameraSetAtEyeUp(globalCtx, this->unk_1D22, &this->unk_1D30, &sp5C, &this->unk_1D3C);
|
Play_CameraSetAtEyeUp(globalCtx, this->unk_1D22, &this->unk_1D30, &sp5C, &this->unk_1D3C);
|
||||||
this->unk_1D3C.z = this->unk_1D3C.x = 0.0f;
|
this->unk_1D3C.z = this->unk_1D3C.x = 0.0f;
|
||||||
this->unk_1D3C.y = 1.0f;
|
this->unk_1D3C.y = 1.0f;
|
||||||
ShrinkWindow_SetLetterboxTarget(0x1B);
|
ShrinkWindow_SetLetterboxTarget(27);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -259,7 +259,7 @@ void func_809EC568(Boss04* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
this->unk_708 = 10;
|
this->unk_708 = 10;
|
||||||
this->unk_704 = 0;
|
this->unk_704 = 0;
|
||||||
func_800EA0D4(globalCtx, &globalCtx->csCtx);
|
Cutscene_Start(globalCtx, &globalCtx->csCtx);
|
||||||
this->unk_70A = Play_CreateSubCamera(globalCtx);
|
this->unk_70A = Play_CreateSubCamera(globalCtx);
|
||||||
Play_CameraChangeStatus(globalCtx, CAM_ID_MAIN, 1);
|
Play_CameraChangeStatus(globalCtx, CAM_ID_MAIN, 1);
|
||||||
Play_CameraChangeStatus(globalCtx, this->unk_70A, 7);
|
Play_CameraChangeStatus(globalCtx, this->unk_70A, 7);
|
||||||
|
|
@ -389,7 +389,7 @@ void func_809EC568(Boss04* this, GlobalContext* globalCtx) {
|
||||||
sp5C->at = this->unk_718;
|
sp5C->at = this->unk_718;
|
||||||
func_80169AFC(globalCtx, this->unk_70A, 0);
|
func_80169AFC(globalCtx, this->unk_70A, 0);
|
||||||
this->unk_70A = 0;
|
this->unk_70A = 0;
|
||||||
func_800EA0EC(globalCtx, &globalCtx->csCtx);
|
Cutscene_End(globalCtx, &globalCtx->csCtx);
|
||||||
func_800B7298(globalCtx, &this->actor, 6);
|
func_800B7298(globalCtx, &this->actor, 6);
|
||||||
func_80165690();
|
func_80165690();
|
||||||
gSaveContext.eventInf[6] |= 1;
|
gSaveContext.eventInf[6] |= 1;
|
||||||
|
|
@ -400,7 +400,7 @@ void func_809EC568(Boss04* this, GlobalContext* globalCtx) {
|
||||||
if (this->unk_70A != 0) {
|
if (this->unk_70A != 0) {
|
||||||
Vec3f sp50;
|
Vec3f sp50;
|
||||||
|
|
||||||
ShrinkWindow_SetLetterboxTarget(0x1B);
|
ShrinkWindow_SetLetterboxTarget(27);
|
||||||
if (this->unk_748 != 0) {
|
if (this->unk_748 != 0) {
|
||||||
this->unk_748--;
|
this->unk_748--;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -197,7 +197,7 @@ void func_809F24C8(Boss06* this, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
func_800EA0D4(globalCtx, &globalCtx->csCtx);
|
Cutscene_Start(globalCtx, &globalCtx->csCtx);
|
||||||
func_800B7298(globalCtx, &this->actor, 7);
|
func_800B7298(globalCtx, &this->actor, 7);
|
||||||
this->unk_A00 = Play_CreateSubCamera(globalCtx);
|
this->unk_A00 = Play_CreateSubCamera(globalCtx);
|
||||||
Play_CameraChangeStatus(globalCtx, CAM_ID_MAIN, 1);
|
Play_CameraChangeStatus(globalCtx, CAM_ID_MAIN, 1);
|
||||||
|
|
@ -219,11 +219,11 @@ void func_809F24C8(Boss06* this, GlobalContext* globalCtx) {
|
||||||
case 1:
|
case 1:
|
||||||
if (this->unk_1CA >= 10) {
|
if (this->unk_1CA >= 10) {
|
||||||
Math_ApproachF(&this->unk_1E4, 30.0f, 0.2f, 1.0f);
|
Math_ApproachF(&this->unk_1E4, 30.0f, 0.2f, 1.0f);
|
||||||
globalCtx->envCtx.unk_E5 = 1;
|
globalCtx->envCtx.fillScreen = 1;
|
||||||
globalCtx->envCtx.unk_E6[2] = 0;
|
globalCtx->envCtx.screenFillColor[2] = 0;
|
||||||
globalCtx->envCtx.unk_E6[1] = 0;
|
globalCtx->envCtx.screenFillColor[1] = 0;
|
||||||
globalCtx->envCtx.unk_E6[0] = 0;
|
globalCtx->envCtx.screenFillColor[0] = 0;
|
||||||
globalCtx->envCtx.unk_E6[3] = this->unk_A2C;
|
globalCtx->envCtx.screenFillColor[3] = this->unk_A2C;
|
||||||
Math_ApproachF(&this->unk_A2C, 75.0f, 1.0f, 3.0f);
|
Math_ApproachF(&this->unk_A2C, 75.0f, 1.0f, 3.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -232,7 +232,7 @@ void func_809F24C8(Boss06* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this->unk_1CA >= 60) {
|
if (this->unk_1CA >= 60) {
|
||||||
globalCtx->envCtx.unk_E5 = 0;
|
globalCtx->envCtx.fillScreen = 0;
|
||||||
this->unk_1C8 = 0;
|
this->unk_1C8 = 0;
|
||||||
this->unk_1DC = 0.0f;
|
this->unk_1DC = 0.0f;
|
||||||
this->unk_1D8 = 0.0f;
|
this->unk_1D8 = 0.0f;
|
||||||
|
|
@ -331,7 +331,7 @@ void func_809F24C8(Boss06* this, GlobalContext* globalCtx) {
|
||||||
func_809F2ED0(this, globalCtx);
|
func_809F2ED0(this, globalCtx);
|
||||||
func_80169AFC(globalCtx, this->unk_A00, 0);
|
func_80169AFC(globalCtx, this->unk_A00, 0);
|
||||||
this->unk_A00 = 0;
|
this->unk_A00 = 0;
|
||||||
func_800EA0EC(globalCtx, &globalCtx->csCtx);
|
Cutscene_End(globalCtx, &globalCtx->csCtx);
|
||||||
func_800B7298(globalCtx, &this->actor, 6);
|
func_800B7298(globalCtx, &this->actor, 6);
|
||||||
D_809F4970->unk_151 = 0;
|
D_809F4970->unk_151 = 0;
|
||||||
}
|
}
|
||||||
|
|
@ -339,7 +339,7 @@ void func_809F24C8(Boss06* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this->unk_A00 != 0) {
|
if (this->unk_A00 != 0) {
|
||||||
ShrinkWindow_SetLetterboxTarget(0x1B);
|
ShrinkWindow_SetLetterboxTarget(27);
|
||||||
Play_CameraSetAtEye(globalCtx, this->unk_A00, &this->unk_A10, &this->unk_A04);
|
Play_CameraSetAtEye(globalCtx, this->unk_A00, &this->unk_A10, &this->unk_A04);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -458,11 +458,11 @@ void func_80AA5EBC(DmChar00* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
case SCENE_OPENINGDAN:
|
case SCENE_OPENINGDAN:
|
||||||
if (gSaveContext.sceneSetupIndex == 0) {
|
if (gSaveContext.sceneSetupIndex == 0) {
|
||||||
if (globalCtx->csCtx.unk_12 == 0) {
|
if (globalCtx->csCtx.currentCsIndex == 0) {
|
||||||
func_80AA5720(this, globalCtx);
|
func_80AA5720(this, globalCtx);
|
||||||
} else if (globalCtx->csCtx.unk_12 == 1) {
|
} else if (globalCtx->csCtx.currentCsIndex == 1) {
|
||||||
func_80AA575C(this, globalCtx);
|
func_80AA575C(this, globalCtx);
|
||||||
} else if (globalCtx->csCtx.unk_12 == 2) {
|
} else if (globalCtx->csCtx.currentCsIndex == 2) {
|
||||||
func_80AA5890(this, globalCtx);
|
func_80AA5890(this, globalCtx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -470,17 +470,17 @@ void func_80AA5EBC(DmChar00* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
case SCENE_OKUJOU:
|
case SCENE_OKUJOU:
|
||||||
if (gSaveContext.sceneSetupIndex == 0) {
|
if (gSaveContext.sceneSetupIndex == 0) {
|
||||||
if (globalCtx->csCtx.unk_12 == 0) {
|
if (globalCtx->csCtx.currentCsIndex == 0) {
|
||||||
func_80AA58CC(this, globalCtx);
|
func_80AA58CC(this, globalCtx);
|
||||||
} else if (globalCtx->csCtx.unk_12 == 1) {
|
} else if (globalCtx->csCtx.currentCsIndex == 1) {
|
||||||
func_80AA5950(this, globalCtx);
|
func_80AA5950(this, globalCtx);
|
||||||
} else if (globalCtx->csCtx.unk_12 == 2) {
|
} else if (globalCtx->csCtx.currentCsIndex == 2) {
|
||||||
func_80AA5960(this, globalCtx);
|
func_80AA5960(this, globalCtx);
|
||||||
}
|
}
|
||||||
} else if (gSaveContext.sceneSetupIndex == 2) {
|
} else if (gSaveContext.sceneSetupIndex == 2) {
|
||||||
if (globalCtx->csCtx.unk_12 == 0) {
|
if (globalCtx->csCtx.currentCsIndex == 0) {
|
||||||
func_80AA59E4(this, globalCtx);
|
func_80AA59E4(this, globalCtx);
|
||||||
} else if (globalCtx->csCtx.unk_12 == 1) {
|
} else if (globalCtx->csCtx.currentCsIndex == 1) {
|
||||||
func_80AA5A6C(this, globalCtx);
|
func_80AA5A6C(this, globalCtx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -488,34 +488,34 @@ void func_80AA5EBC(DmChar00* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
case SCENE_00KEIKOKU:
|
case SCENE_00KEIKOKU:
|
||||||
if (gSaveContext.sceneSetupIndex == 3) {
|
if (gSaveContext.sceneSetupIndex == 3) {
|
||||||
if (globalCtx->csCtx.unk_12 == 0) {
|
if (globalCtx->csCtx.currentCsIndex == 0) {
|
||||||
func_80AA5AF4(this, globalCtx);
|
func_80AA5AF4(this, globalCtx);
|
||||||
} else if (globalCtx->csCtx.unk_12 == 2) {
|
} else if (globalCtx->csCtx.currentCsIndex == 2) {
|
||||||
func_80AA5E2C(this, globalCtx);
|
func_80AA5E2C(this, globalCtx);
|
||||||
}
|
}
|
||||||
} else if (gSaveContext.sceneSetupIndex == 7) {
|
} else if (gSaveContext.sceneSetupIndex == 7) {
|
||||||
if (globalCtx->csCtx.unk_12 == 0) {
|
if (globalCtx->csCtx.currentCsIndex == 0) {
|
||||||
func_80AA5BF8(this, globalCtx);
|
func_80AA5BF8(this, globalCtx);
|
||||||
} else if (globalCtx->csCtx.unk_12 == 1) {
|
} else if (globalCtx->csCtx.currentCsIndex == 1) {
|
||||||
func_80AA5CD4(this, globalCtx);
|
func_80AA5CD4(this, globalCtx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SCENE_MITURIN:
|
case SCENE_MITURIN:
|
||||||
if ((gSaveContext.sceneSetupIndex == 0) && (globalCtx->csCtx.unk_12 == 1)) {
|
if ((gSaveContext.sceneSetupIndex == 0) && (globalCtx->csCtx.currentCsIndex == 1)) {
|
||||||
func_80AA5DC8(this, globalCtx);
|
func_80AA5DC8(this, globalCtx);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SCENE_INSIDETOWER:
|
case SCENE_INSIDETOWER:
|
||||||
if ((gSaveContext.sceneSetupIndex == 0) && (globalCtx->csCtx.unk_12 == 0)) {
|
if ((gSaveContext.sceneSetupIndex == 0) && (globalCtx->csCtx.currentCsIndex == 0)) {
|
||||||
func_80AA5D10(this, globalCtx);
|
func_80AA5D10(this, globalCtx);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SCENE_PIRATE:
|
case SCENE_PIRATE:
|
||||||
if ((gSaveContext.sceneSetupIndex == 0) && (globalCtx->csCtx.unk_12 == 0)) {
|
if ((gSaveContext.sceneSetupIndex == 0) && (globalCtx->csCtx.currentCsIndex == 0)) {
|
||||||
func_80AA5D6C(this, globalCtx);
|
func_80AA5D6C(this, globalCtx);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -527,7 +527,7 @@ void DmChar00_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
DmChar00* this = THIS;
|
DmChar00* this = THIS;
|
||||||
|
|
||||||
if ((globalCtx->sceneNum == SCENE_LOST_WOODS) && !func_800EE2F4(globalCtx)) {
|
if ((globalCtx->sceneNum == SCENE_LOST_WOODS) && !Cutscene_IsPlaying(globalCtx)) {
|
||||||
Actor_MarkForDeath(thisx);
|
Actor_MarkForDeath(thisx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -551,18 +551,18 @@ void DmChar00_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AA62FC(DmChar00* this, GlobalContext* globalCtx) {
|
void func_80AA62FC(DmChar00* this, GlobalContext* globalCtx) {
|
||||||
u16 sp26 = DMCHAR00_GET(&this->actor) + 0x71;
|
u16 sp26 = DMCHAR00_GET(&this->actor) + 113;
|
||||||
u32 temp_v0;
|
s32 temp_v0;
|
||||||
s32 pad;
|
s32 pad;
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, sp26)) {
|
if (Cutscene_CheckActorAction(globalCtx, sp26)) {
|
||||||
temp_v0 = func_800EE200(globalCtx, sp26);
|
temp_v0 = Cutscene_GetActorActionIndex(globalCtx, sp26);
|
||||||
|
|
||||||
if (globalCtx->csCtx.frames == globalCtx->csCtx.npcActions[temp_v0]->startFrame) {
|
if (globalCtx->csCtx.frames == globalCtx->csCtx.actorActions[temp_v0]->startFrame) {
|
||||||
if (this->unk_260 != globalCtx->csCtx.npcActions[temp_v0]->unk0) {
|
if (this->unk_260 != globalCtx->csCtx.actorActions[temp_v0]->action) {
|
||||||
this->unk_260 = globalCtx->csCtx.npcActions[temp_v0]->unk0;
|
this->unk_260 = globalCtx->csCtx.actorActions[temp_v0]->action;
|
||||||
|
|
||||||
switch (globalCtx->csCtx.npcActions[temp_v0]->unk0) {
|
switch (globalCtx->csCtx.actorActions[temp_v0]->action) {
|
||||||
case 0x1:
|
case 0x1:
|
||||||
this->unk_261 = 0;
|
this->unk_261 = 0;
|
||||||
break;
|
break;
|
||||||
|
|
@ -786,7 +786,7 @@ void func_80AA62FC(DmChar00* this, GlobalContext* globalCtx) {
|
||||||
func_80AA5580(&this->skelAnime, &sAnimations[this->unk_261], 0);
|
func_80AA5580(&this->skelAnime, &sAnimations[this->unk_261], 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func_800EDF24(&this->actor, globalCtx, temp_v0);
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, temp_v0);
|
||||||
} else {
|
} else {
|
||||||
this->unk_260 = 99;
|
this->unk_260 = 99;
|
||||||
}
|
}
|
||||||
|
|
@ -853,7 +853,8 @@ void func_80AA62FC(DmChar00* this, GlobalContext* globalCtx) {
|
||||||
void func_80AA67F8(DmChar00* this, GlobalContext* globalCtx) {
|
void func_80AA67F8(DmChar00* this, GlobalContext* globalCtx) {
|
||||||
Player* player = GET_PLAYER(globalCtx);
|
Player* player = GET_PLAYER(globalCtx);
|
||||||
|
|
||||||
if ((globalCtx->csCtx.state == 0) && (gSaveContext.sceneSetupIndex == 0) && (globalCtx->csCtx.unk_12 == 1)) {
|
if ((globalCtx->csCtx.state == 0) && (gSaveContext.sceneSetupIndex == 0) &&
|
||||||
|
(globalCtx->csCtx.currentCsIndex == 1)) {
|
||||||
if (this->unk_261 != 42) {
|
if (this->unk_261 != 42) {
|
||||||
this->unk_261 = 42;
|
this->unk_261 = 42;
|
||||||
func_80AA5580(&this->skelAnime, &sAnimations[this->unk_261], 0);
|
func_80AA5580(&this->skelAnime, &sAnimations[this->unk_261], 0);
|
||||||
|
|
@ -916,7 +917,7 @@ void DmChar00_Draw(Actor* thisx, GlobalContext* globalCtx2) {
|
||||||
|
|
||||||
if ((globalCtx->csCtx.state == 0) &&
|
if ((globalCtx->csCtx.state == 0) &&
|
||||||
((globalCtx->sceneNum != SCENE_OPENINGDAN) || (gSaveContext.sceneSetupIndex != 0) ||
|
((globalCtx->sceneNum != SCENE_OPENINGDAN) || (gSaveContext.sceneSetupIndex != 0) ||
|
||||||
(globalCtx->roomCtx.currRoom.num != 0) || (globalCtx->csCtx.unk_12 != 1) ||
|
(globalCtx->roomCtx.currRoom.num != 0) || (globalCtx->csCtx.currentCsIndex != 1) ||
|
||||||
(DMCHAR00_GET(&this->actor) != DMCHAR00_0))) {
|
(DMCHAR00_GET(&this->actor) != DMCHAR00_0))) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -196,8 +196,9 @@ void func_80AA884C(DmChar01* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AA88A8(DmChar01* this, GlobalContext* globalCtx) {
|
void func_80AA88A8(DmChar01* this, GlobalContext* globalCtx) {
|
||||||
if (func_800EE29C(globalCtx, 0x87)) {
|
if (Cutscene_CheckActorAction(globalCtx, 135)) {
|
||||||
if (globalCtx->csCtx.frames == globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x87)]->startFrame) {
|
if (globalCtx->csCtx.frames ==
|
||||||
|
globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 135)]->startFrame) {
|
||||||
D_80AAAE24 = 1;
|
D_80AAAE24 = 1;
|
||||||
Actor_PlaySfxAtPos(&this->dyna.actor, NA_SE_EV_FORT_RISING);
|
Actor_PlaySfxAtPos(&this->dyna.actor, NA_SE_EV_FORT_RISING);
|
||||||
}
|
}
|
||||||
|
|
@ -339,10 +340,10 @@ void func_80AA8F2C(DmChar01* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AA9020(DmChar01* this, GlobalContext* globalCtx) {
|
void func_80AA9020(DmChar01* this, GlobalContext* globalCtx) {
|
||||||
if (func_800EE29C(globalCtx, 0x87)) {
|
if (Cutscene_CheckActorAction(globalCtx, 135)) {
|
||||||
CsCmdActorAction* temp_v1 = globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x87)];
|
CsCmdActorAction* temp_v1 = globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 135)];
|
||||||
|
|
||||||
if ((temp_v1->startFrame == globalCtx->csCtx.frames) && (temp_v1->unk0 == 2)) {
|
if ((temp_v1->startFrame == globalCtx->csCtx.frames) && (temp_v1->action == 2)) {
|
||||||
gSaveContext.weekEventReg[20] |= 2;
|
gSaveContext.weekEventReg[20] |= 2;
|
||||||
this->actionFunc = func_80AA90AC;
|
this->actionFunc = func_80AA90AC;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -177,15 +177,14 @@ void func_80AAC990(DmChar05* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AAC9DC(DmChar05* this, GlobalContext* globalCtx) {
|
void func_80AAC9DC(DmChar05* this, GlobalContext* globalCtx) {
|
||||||
u32 temp_v0;
|
if (Cutscene_CheckActorAction(globalCtx, 109) != 0) {
|
||||||
|
s32 actionIndex = Cutscene_GetActorActionIndex(globalCtx, 109);
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x6D) != 0) {
|
if (globalCtx->csCtx.actorActions[actionIndex]->action == 4) {
|
||||||
temp_v0 = func_800EE200(globalCtx, 0x6D);
|
|
||||||
if (globalCtx->csCtx.npcActions[temp_v0]->unk0 == 4) {
|
|
||||||
this->unk_18E = 1;
|
this->unk_18E = 1;
|
||||||
this->unk_190.x = globalCtx->csCtx.npcActions[temp_v0]->unk0C.x;
|
this->unk_190.x = globalCtx->csCtx.actorActions[actionIndex]->startPos.x;
|
||||||
this->unk_190.y = globalCtx->csCtx.npcActions[temp_v0]->unk0C.y;
|
this->unk_190.y = globalCtx->csCtx.actorActions[actionIndex]->startPos.y;
|
||||||
this->unk_190.z = globalCtx->csCtx.npcActions[temp_v0]->unk0C.z;
|
this->unk_190.z = globalCtx->csCtx.actorActions[actionIndex]->startPos.z;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -200,18 +199,17 @@ void func_80AACA98(DmChar05* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AACAE4(DmChar05* this, GlobalContext* globalCtx) {
|
void func_80AACAE4(DmChar05* this, GlobalContext* globalCtx) {
|
||||||
u32 sp24;
|
if (Cutscene_CheckActorAction(globalCtx, 564)) {
|
||||||
|
s32 actionIndex = Cutscene_GetActorActionIndex(globalCtx, 564);
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x234)) {
|
if (globalCtx->csCtx.actorActions[actionIndex]->action == 2) {
|
||||||
sp24 = func_800EE200(globalCtx, 0x234);
|
if (globalCtx->csCtx.frames == globalCtx->csCtx.actorActions[actionIndex]->startFrame) {
|
||||||
if (globalCtx->csCtx.npcActions[sp24]->unk0 == 2) {
|
|
||||||
if (globalCtx->csCtx.frames == globalCtx->csCtx.npcActions[sp24]->startFrame) {
|
|
||||||
Item_Give(globalCtx, ITEM_MASK_COUPLE);
|
Item_Give(globalCtx, ITEM_MASK_COUPLE);
|
||||||
}
|
}
|
||||||
this->unk_18E = 1;
|
this->unk_18E = 1;
|
||||||
this->unk_190.x = globalCtx->csCtx.npcActions[sp24]->unk0C.x;
|
this->unk_190.x = globalCtx->csCtx.actorActions[actionIndex]->startPos.x;
|
||||||
this->unk_190.y = globalCtx->csCtx.npcActions[sp24]->unk0C.y;
|
this->unk_190.y = globalCtx->csCtx.actorActions[actionIndex]->startPos.y;
|
||||||
this->unk_190.z = globalCtx->csCtx.npcActions[sp24]->unk0C.z;
|
this->unk_190.z = globalCtx->csCtx.actorActions[actionIndex]->startPos.z;
|
||||||
} else {
|
} else {
|
||||||
this->unk_18E = 0;
|
this->unk_18E = 0;
|
||||||
}
|
}
|
||||||
|
|
@ -279,14 +277,13 @@ void func_80AACD1C(DmChar05* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AACD68(DmChar05* this, GlobalContext* globalCtx) {
|
void func_80AACD68(DmChar05* this, GlobalContext* globalCtx) {
|
||||||
u32 temp_v0;
|
if (Cutscene_CheckActorAction(globalCtx, 473)) {
|
||||||
|
s32 actionIndex = Cutscene_GetActorActionIndex(globalCtx, 473);
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x1D9)) {
|
|
||||||
temp_v0 = func_800EE200(globalCtx, 0x1D9);
|
|
||||||
this->unk_18E = 1;
|
this->unk_18E = 1;
|
||||||
this->unk_190.x = globalCtx->csCtx.npcActions[temp_v0]->unk0C.x;
|
this->unk_190.x = globalCtx->csCtx.actorActions[actionIndex]->startPos.x;
|
||||||
this->unk_190.y = globalCtx->csCtx.npcActions[temp_v0]->unk0C.y;
|
this->unk_190.y = globalCtx->csCtx.actorActions[actionIndex]->startPos.y;
|
||||||
this->unk_190.z = globalCtx->csCtx.npcActions[temp_v0]->unk0C.z;
|
this->unk_190.z = globalCtx->csCtx.actorActions[actionIndex]->startPos.z;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -300,28 +297,27 @@ void func_80AACE10(DmChar05* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AACE5C(DmChar05* this, GlobalContext* globalCtx) {
|
void func_80AACE5C(DmChar05* this, GlobalContext* globalCtx) {
|
||||||
u32 temp_v0;
|
if (Cutscene_CheckActorAction(globalCtx, 518)) {
|
||||||
|
s32 actionIndex = Cutscene_GetActorActionIndex(globalCtx, 518);
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x206)) {
|
|
||||||
temp_v0 = func_800EE200(globalCtx, 0x206);
|
|
||||||
this->unk_18E = 1;
|
this->unk_18E = 1;
|
||||||
this->unk_190.x = globalCtx->csCtx.npcActions[temp_v0]->unk0C.x;
|
this->unk_190.x = globalCtx->csCtx.actorActions[actionIndex]->startPos.x;
|
||||||
this->unk_190.y = globalCtx->csCtx.npcActions[temp_v0]->unk0C.y;
|
this->unk_190.y = globalCtx->csCtx.actorActions[actionIndex]->startPos.y;
|
||||||
this->unk_190.z = globalCtx->csCtx.npcActions[temp_v0]->unk0C.z;
|
this->unk_190.z = globalCtx->csCtx.actorActions[actionIndex]->startPos.z;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AACF04(DmChar05* this, GlobalContext* globalCtx) {
|
void func_80AACF04(DmChar05* this, GlobalContext* globalCtx) {
|
||||||
u8 sp2F = true;
|
u8 sp2F = true;
|
||||||
u32 temp_v0;
|
s32 actionIndex;
|
||||||
|
|
||||||
switch (DMCHAR05_GET(&this->actor)) {
|
switch (DMCHAR05_GET(&this->actor)) {
|
||||||
case DMCHAR05_0:
|
case DMCHAR05_0:
|
||||||
if (func_800EE29C(globalCtx, 0x6D)) {
|
if (Cutscene_CheckActorAction(globalCtx, 109)) {
|
||||||
temp_v0 = func_800EE200(globalCtx, 0x6D);
|
actionIndex = Cutscene_GetActorActionIndex(globalCtx, 109);
|
||||||
|
|
||||||
if (globalCtx->csCtx.frames == globalCtx->csCtx.npcActions[temp_v0]->startFrame) {
|
if (globalCtx->csCtx.frames == globalCtx->csCtx.actorActions[actionIndex]->startFrame) {
|
||||||
switch (globalCtx->csCtx.npcActions[temp_v0]->unk0) {
|
switch (globalCtx->csCtx.actorActions[actionIndex]->action) {
|
||||||
case 1:
|
case 1:
|
||||||
sp2F = false;
|
sp2F = false;
|
||||||
break;
|
break;
|
||||||
|
|
@ -355,16 +351,16 @@ void func_80AACF04(DmChar05* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func_800EDF24(&this->actor, globalCtx, temp_v0);
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, actionIndex);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DMCHAR05_1:
|
case DMCHAR05_1:
|
||||||
if (func_800EE29C(globalCtx, 0x1D9)) {
|
if (Cutscene_CheckActorAction(globalCtx, 473)) {
|
||||||
temp_v0 = func_800EE200(globalCtx, 0x1D9);
|
actionIndex = Cutscene_GetActorActionIndex(globalCtx, 473);
|
||||||
|
|
||||||
if (globalCtx->csCtx.frames == globalCtx->csCtx.npcActions[temp_v0]->startFrame) {
|
if (globalCtx->csCtx.frames == globalCtx->csCtx.actorActions[actionIndex]->startFrame) {
|
||||||
switch (globalCtx->csCtx.npcActions[temp_v0]->unk0) {
|
switch (globalCtx->csCtx.actorActions[actionIndex]->action) {
|
||||||
case 1:
|
case 1:
|
||||||
sp2F = false;
|
sp2F = false;
|
||||||
break;
|
break;
|
||||||
|
|
@ -399,16 +395,16 @@ void func_80AACF04(DmChar05* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func_800EDF24(&this->actor, globalCtx, temp_v0);
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, actionIndex);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DMCHAR05_2:
|
case DMCHAR05_2:
|
||||||
if (func_800EE29C(globalCtx, 0x206)) {
|
if (Cutscene_CheckActorAction(globalCtx, 518)) {
|
||||||
temp_v0 = func_800EE200(globalCtx, 0x206);
|
actionIndex = Cutscene_GetActorActionIndex(globalCtx, 518);
|
||||||
|
|
||||||
if (globalCtx->csCtx.frames == globalCtx->csCtx.npcActions[temp_v0]->startFrame) {
|
if (globalCtx->csCtx.frames == globalCtx->csCtx.actorActions[actionIndex]->startFrame) {
|
||||||
switch (globalCtx->csCtx.npcActions[temp_v0]->unk0) {
|
switch (globalCtx->csCtx.actorActions[actionIndex]->action) {
|
||||||
case 1:
|
case 1:
|
||||||
sp2F = false;
|
sp2F = false;
|
||||||
break;
|
break;
|
||||||
|
|
@ -442,16 +438,16 @@ void func_80AACF04(DmChar05* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func_800EDF24(&this->actor, globalCtx, temp_v0);
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, actionIndex);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DMCHAR05_3:
|
case DMCHAR05_3:
|
||||||
if (func_800EE29C(globalCtx, 0x22F)) {
|
if (Cutscene_CheckActorAction(globalCtx, 559)) {
|
||||||
temp_v0 = func_800EE200(globalCtx, 0x22F);
|
actionIndex = Cutscene_GetActorActionIndex(globalCtx, 559);
|
||||||
|
|
||||||
if (globalCtx->csCtx.frames == globalCtx->csCtx.npcActions[temp_v0]->startFrame) {
|
if (globalCtx->csCtx.frames == globalCtx->csCtx.actorActions[actionIndex]->startFrame) {
|
||||||
switch (globalCtx->csCtx.npcActions[temp_v0]->unk0) {
|
switch (globalCtx->csCtx.actorActions[actionIndex]->action) {
|
||||||
default:
|
default:
|
||||||
sp2F = false;
|
sp2F = false;
|
||||||
break;
|
break;
|
||||||
|
|
@ -478,10 +474,10 @@ void func_80AACF04(DmChar05* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (globalCtx->csCtx.npcActions[temp_v0]->unk0 != 4) {
|
if (globalCtx->csCtx.actorActions[actionIndex]->action != 4) {
|
||||||
func_800EDF24(&this->actor, globalCtx, temp_v0);
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, actionIndex);
|
||||||
} else {
|
} else {
|
||||||
func_800EDE34(&this->actor, globalCtx, temp_v0);
|
Cutscene_ActorTranslate(&this->actor, globalCtx, actionIndex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -517,8 +513,8 @@ void func_80AAD450(DmChar05* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
void func_80AAD4A8(DmChar05* this, GlobalContext* globalCtx) {
|
void func_80AAD4A8(DmChar05* this, GlobalContext* globalCtx) {
|
||||||
if (DMCHAR05_GET(&this->actor) == DMCHAR05_0) {
|
if (DMCHAR05_GET(&this->actor) == DMCHAR05_0) {
|
||||||
if (func_800EE29C(globalCtx, 0x6D) &&
|
if (Cutscene_CheckActorAction(globalCtx, 109) &&
|
||||||
(globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x6D)]->unk0 == 3)) {
|
(globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 109)]->action == 3)) {
|
||||||
if (Animation_OnFrame(&this->skelAnime, 14.0f) || Animation_OnFrame(&this->skelAnime, 15.0f)) {
|
if (Animation_OnFrame(&this->skelAnime, 14.0f) || Animation_OnFrame(&this->skelAnime, 15.0f)) {
|
||||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_IT_MASK_BOUND_0);
|
Actor_PlaySfxAtPos(&this->actor, NA_SE_IT_MASK_BOUND_0);
|
||||||
} else if (Animation_OnFrame(&this->skelAnime, 19.0f)) {
|
} else if (Animation_OnFrame(&this->skelAnime, 19.0f)) {
|
||||||
|
|
@ -526,15 +522,15 @@ void func_80AAD4A8(DmChar05* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (DMCHAR05_GET(&this->actor) == DMCHAR05_1) {
|
} else if (DMCHAR05_GET(&this->actor) == DMCHAR05_1) {
|
||||||
if (func_800EE29C(globalCtx, 0x1D9)) {
|
if (Cutscene_CheckActorAction(globalCtx, 473)) {
|
||||||
if ((globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x1D9)]->unk0 == 3) &&
|
if ((globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 473)]->action == 3) &&
|
||||||
Animation_OnFrame(&this->skelAnime, 5.0f)) {
|
Animation_OnFrame(&this->skelAnime, 5.0f)) {
|
||||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_IT_MASK_BOUND_SAND);
|
Actor_PlaySfxAtPos(&this->actor, NA_SE_IT_MASK_BOUND_SAND);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (DMCHAR05_GET(&this->actor) == DMCHAR05_2) {
|
} else if (DMCHAR05_GET(&this->actor) == DMCHAR05_2) {
|
||||||
if (func_800EE29C(globalCtx, 0x206) &&
|
if (Cutscene_CheckActorAction(globalCtx, 518) &&
|
||||||
(globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x206)]->unk0 == 2)) {
|
(globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 518)]->action == 2)) {
|
||||||
if (Animation_OnFrame(&this->skelAnime, 7.0f)) {
|
if (Animation_OnFrame(&this->skelAnime, 7.0f)) {
|
||||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_IT_MASK_BOUND_0);
|
Actor_PlaySfxAtPos(&this->actor, NA_SE_IT_MASK_BOUND_0);
|
||||||
}
|
}
|
||||||
|
|
@ -550,15 +546,15 @@ void func_80AAD4A8(DmChar05* this, GlobalContext* globalCtx) {
|
||||||
} else if (DMCHAR05_GET(&this->actor) == DMCHAR05_3) {
|
} else if (DMCHAR05_GET(&this->actor) == DMCHAR05_3) {
|
||||||
if (globalCtx->sceneNum == SCENE_OKUJOU) {
|
if (globalCtx->sceneNum == SCENE_OKUJOU) {
|
||||||
if (gSaveContext.sceneSetupIndex == 2) {
|
if (gSaveContext.sceneSetupIndex == 2) {
|
||||||
if (globalCtx->csCtx.unk_12 == 0) {
|
if (globalCtx->csCtx.currentCsIndex == 0) {
|
||||||
func_80AAD3F8(this, globalCtx);
|
func_80AAD3F8(this, globalCtx);
|
||||||
} else if (globalCtx->csCtx.unk_12 == 1) {
|
} else if (globalCtx->csCtx.currentCsIndex == 1) {
|
||||||
func_80AAD450(this, globalCtx);
|
func_80AAD450(this, globalCtx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (globalCtx->sceneNum == SCENE_SPOT00) {
|
} else if (globalCtx->sceneNum == SCENE_SPOT00) {
|
||||||
if (gSaveContext.sceneSetupIndex == 9) {
|
if (gSaveContext.sceneSetupIndex == 9) {
|
||||||
if ((globalCtx->csCtx.unk_12 == 0) && (globalCtx->csCtx.frames == 255)) {
|
if ((globalCtx->csCtx.currentCsIndex == 0) && (globalCtx->csCtx.frames == 255)) {
|
||||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_EVIL_POWER);
|
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_EVIL_POWER);
|
||||||
}
|
}
|
||||||
} else if ((gSaveContext.sceneSetupIndex == 0xB) && (globalCtx->csCtx.frames == 115)) {
|
} else if ((gSaveContext.sceneSetupIndex == 0xB) && (globalCtx->csCtx.frames == 115)) {
|
||||||
|
|
@ -572,25 +568,25 @@ void DmChar05_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
DmChar05* this = THIS;
|
DmChar05* this = THIS;
|
||||||
|
|
||||||
func_80AACF04(this, globalCtx);
|
func_80AACF04(this, globalCtx);
|
||||||
if (func_800EE29C(globalCtx, 0x6D)) {
|
if (Cutscene_CheckActorAction(globalCtx, 109)) {
|
||||||
if (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x6D)]->unk0 == 3) {
|
if (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 109)]->action == 3) {
|
||||||
SkelAnime_Update(&this->skelAnime);
|
SkelAnime_Update(&this->skelAnime);
|
||||||
}
|
}
|
||||||
} else if (func_800EE29C(globalCtx, 0x1D9)) {
|
} else if (Cutscene_CheckActorAction(globalCtx, 473)) {
|
||||||
if (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x1D9)]->unk0 == 3) {
|
if (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 473)]->action == 3) {
|
||||||
SkelAnime_Update(&this->skelAnime);
|
SkelAnime_Update(&this->skelAnime);
|
||||||
}
|
}
|
||||||
} else if (func_800EE29C(globalCtx, 0x206)) {
|
} else if (Cutscene_CheckActorAction(globalCtx, 518)) {
|
||||||
if (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x206)]->unk0 == 2) {
|
if (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 518)]->action == 2) {
|
||||||
SkelAnime_Update(&this->skelAnime);
|
SkelAnime_Update(&this->skelAnime);
|
||||||
}
|
}
|
||||||
} else if (func_800EE29C(globalCtx, 0x22F)) {
|
} else if (Cutscene_CheckActorAction(globalCtx, 559)) {
|
||||||
if ((globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x22F)]->unk0 == 2) ||
|
if ((globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 559)]->action == 2) ||
|
||||||
(globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x22F)]->unk0 == 3)) {
|
(globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 559)]->action == 3)) {
|
||||||
SkelAnime_Update(&this->skelAnime);
|
SkelAnime_Update(&this->skelAnime);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x22F)]->unk0 == 4) {
|
if (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 559)]->action == 4) {
|
||||||
this->actor.world.rot.y += 0x258;
|
this->actor.world.rot.y += 0x258;
|
||||||
this->actor.shape.rot.y += 0x258;
|
this->actor.shape.rot.y += 0x258;
|
||||||
}
|
}
|
||||||
|
|
@ -612,8 +608,8 @@ void func_80AAD998(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
s32 pad[2];
|
s32 pad[2];
|
||||||
|
|
||||||
if (this->unk_18E == 0) {
|
if (this->unk_18E == 0) {
|
||||||
if (func_800EE29C(globalCtx, 0x6D) &&
|
if (Cutscene_CheckActorAction(globalCtx, 109) &&
|
||||||
(globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x6D)]->unk0 != 1)) {
|
(globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 109)]->action != 1)) {
|
||||||
OPEN_DISPS(globalCtx->state.gfxCtx);
|
OPEN_DISPS(globalCtx->state.gfxCtx);
|
||||||
|
|
||||||
func_8012C28C(globalCtx->state.gfxCtx);
|
func_8012C28C(globalCtx->state.gfxCtx);
|
||||||
|
|
@ -633,8 +629,8 @@ void func_80AADA90(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
DmChar05* this = THIS;
|
DmChar05* this = THIS;
|
||||||
|
|
||||||
if (this->unk_18E == 0) {
|
if (this->unk_18E == 0) {
|
||||||
if (func_800EE29C(globalCtx, 0x1D9) &&
|
if (Cutscene_CheckActorAction(globalCtx, 473) &&
|
||||||
(globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x1D9)]->unk0 != 1)) {
|
(globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 473)]->action != 1)) {
|
||||||
func_8012C28C(globalCtx->state.gfxCtx);
|
func_8012C28C(globalCtx->state.gfxCtx);
|
||||||
SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
|
SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
|
||||||
DmChar05_OverrideLimbDraw, DmChar05_PostLimbDraw, &this->actor);
|
DmChar05_OverrideLimbDraw, DmChar05_PostLimbDraw, &this->actor);
|
||||||
|
|
@ -648,8 +644,8 @@ void func_80AADB4C(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
DmChar05* this = THIS;
|
DmChar05* this = THIS;
|
||||||
|
|
||||||
if (this->unk_18E == 0) {
|
if (this->unk_18E == 0) {
|
||||||
if (func_800EE29C(globalCtx, 0x206) &&
|
if (Cutscene_CheckActorAction(globalCtx, 518) &&
|
||||||
(globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x206)]->unk0 != 1)) {
|
(globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 518)]->action != 1)) {
|
||||||
func_8012C28C(globalCtx->state.gfxCtx);
|
func_8012C28C(globalCtx->state.gfxCtx);
|
||||||
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
|
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
|
||||||
this->skelAnime.dListCount, NULL, NULL, &this->actor);
|
this->skelAnime.dListCount, NULL, NULL, &this->actor);
|
||||||
|
|
@ -662,18 +658,19 @@ void func_80AADB4C(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
void func_80AADC00(Actor* thisx, GlobalContext* globalCtx) {
|
void func_80AADC00(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
DmChar05* this = THIS;
|
DmChar05* this = THIS;
|
||||||
u32 temp_v0;
|
s32 actionIndex;
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x22F)) {
|
if (Cutscene_CheckActorAction(globalCtx, 559)) {
|
||||||
temp_v0 = func_800EE200(globalCtx, 0x22F);
|
actionIndex = Cutscene_GetActorActionIndex(globalCtx, 559);
|
||||||
|
|
||||||
if ((globalCtx->csCtx.npcActions[temp_v0]->unk0 != 1) && (globalCtx->csCtx.npcActions[temp_v0]->unk0 != 4)) {
|
if ((globalCtx->csCtx.actorActions[actionIndex]->action != 1) &&
|
||||||
|
(globalCtx->csCtx.actorActions[actionIndex]->action != 4)) {
|
||||||
func_8012C28C(globalCtx->state.gfxCtx);
|
func_8012C28C(globalCtx->state.gfxCtx);
|
||||||
SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
|
SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
|
||||||
DmChar05_OverrideLimbDraw, DmChar05_PostLimbDraw, &this->actor);
|
DmChar05_OverrideLimbDraw, DmChar05_PostLimbDraw, &this->actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (globalCtx->csCtx.npcActions[temp_v0]->unk0 == 4) {
|
if (globalCtx->csCtx.actorActions[actionIndex]->action == 4) {
|
||||||
Matrix_InsertTranslation(-600.0f, 0.0f, 0.0f, MTXMODE_APPLY);
|
Matrix_InsertTranslation(-600.0f, 0.0f, 0.0f, MTXMODE_APPLY);
|
||||||
Gfx_DrawDListOpa(globalCtx, object_dmask_DL_001E70);
|
Gfx_DrawDListOpa(globalCtx, object_dmask_DL_001E70);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ s32 func_80C1DED0(DmNb* this, s32 arg1) {
|
||||||
void func_80C1DF18(DmNb* this, GlobalContext* globalCtx) {
|
void func_80C1DF18(DmNb* this, GlobalContext* globalCtx) {
|
||||||
s32 sp2C[] = { 0, 0, 0, 0, 0 };
|
s32 sp2C[] = { 0, 0, 0, 0, 0 };
|
||||||
u16 actionUnk0;
|
u16 actionUnk0;
|
||||||
u32 actionIndex;
|
s32 actionIndex;
|
||||||
|
|
||||||
if (globalCtx->csCtx.state != 0) {
|
if (globalCtx->csCtx.state != 0) {
|
||||||
if (this->unk1F8 == 0) {
|
if (this->unk1F8 == 0) {
|
||||||
|
|
@ -51,14 +51,14 @@ void func_80C1DF18(DmNb* this, GlobalContext* globalCtx) {
|
||||||
this->unk1F8 = 1;
|
this->unk1F8 = 1;
|
||||||
this->unk1F4 = this->unk1F0;
|
this->unk1F4 = this->unk1F0;
|
||||||
}
|
}
|
||||||
if (func_800EE29C(globalCtx, 0x232)) {
|
if (Cutscene_CheckActorAction(globalCtx, 562)) {
|
||||||
actionIndex = func_800EE200(globalCtx, 0x232);
|
actionIndex = Cutscene_GetActorActionIndex(globalCtx, 562);
|
||||||
actionUnk0 = globalCtx->csCtx.npcActions[actionIndex]->unk0;
|
actionUnk0 = globalCtx->csCtx.actorActions[actionIndex]->action;
|
||||||
if (this->unk1EC != (actionUnk0 & 0xFF)) {
|
if (this->unk1EC != (actionUnk0 & 0xFF)) {
|
||||||
this->unk1EC = actionUnk0;
|
this->unk1EC = actionUnk0;
|
||||||
func_80C1DED0(this, sp2C[actionUnk0]);
|
func_80C1DED0(this, sp2C[actionUnk0]);
|
||||||
}
|
}
|
||||||
func_800EDF24(&this->actor, globalCtx, actionIndex);
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, actionIndex);
|
||||||
}
|
}
|
||||||
} else if (this->unk1F8 != 0) {
|
} else if (this->unk1F8 != 0) {
|
||||||
this->unk1F8 = 0;
|
this->unk1F8 = 0;
|
||||||
|
|
|
||||||
|
|
@ -721,7 +721,7 @@ void func_80AA0E90(DmStk* this, GlobalContext* globalCtx) {
|
||||||
func_80A9FED8(this, globalCtx);
|
func_80A9FED8(this, globalCtx);
|
||||||
} else if (gSaveContext.sceneSetupIndex == 0) {
|
} else if (gSaveContext.sceneSetupIndex == 0) {
|
||||||
func_80AA0100(this, globalCtx);
|
func_80AA0100(this, globalCtx);
|
||||||
} else if ((gSaveContext.sceneSetupIndex == 2) && (globalCtx->csCtx.unk_12 == 0)) {
|
} else if ((gSaveContext.sceneSetupIndex == 2) && (globalCtx->csCtx.currentCsIndex == 0)) {
|
||||||
func_80AA0158(this, globalCtx);
|
func_80AA0158(this, globalCtx);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -734,9 +734,9 @@ void func_80AA0E90(DmStk* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
case SCENE_OPENINGDAN:
|
case SCENE_OPENINGDAN:
|
||||||
if (gSaveContext.sceneSetupIndex == 0) {
|
if (gSaveContext.sceneSetupIndex == 0) {
|
||||||
if (globalCtx->csCtx.unk_12 == 0) {
|
if (globalCtx->csCtx.currentCsIndex == 0) {
|
||||||
func_80AA01C0(this, globalCtx);
|
func_80AA01C0(this, globalCtx);
|
||||||
} else if (globalCtx->csCtx.unk_12 == 1) {
|
} else if (globalCtx->csCtx.currentCsIndex == 1) {
|
||||||
func_80AA0264(this, globalCtx);
|
func_80AA0264(this, globalCtx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -744,19 +744,19 @@ void func_80AA0E90(DmStk* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
case SCENE_OKUJOU:
|
case SCENE_OKUJOU:
|
||||||
if (gSaveContext.sceneSetupIndex == 0) {
|
if (gSaveContext.sceneSetupIndex == 0) {
|
||||||
if (globalCtx->csCtx.unk_12 == 0) {
|
if (globalCtx->csCtx.currentCsIndex == 0) {
|
||||||
func_80AA0420(this, globalCtx);
|
func_80AA0420(this, globalCtx);
|
||||||
} else if (globalCtx->csCtx.unk_12 == 1) {
|
} else if (globalCtx->csCtx.currentCsIndex == 1) {
|
||||||
func_80AA05F0(this, globalCtx);
|
func_80AA05F0(this, globalCtx);
|
||||||
} else if (globalCtx->csCtx.unk_12 == 2) {
|
} else if (globalCtx->csCtx.currentCsIndex == 2) {
|
||||||
func_80AA09DC(this, globalCtx);
|
func_80AA09DC(this, globalCtx);
|
||||||
} else if (globalCtx->csCtx.unk_12 == 3) {
|
} else if (globalCtx->csCtx.currentCsIndex == 3) {
|
||||||
func_80AA0B08(this, globalCtx);
|
func_80AA0B08(this, globalCtx);
|
||||||
}
|
}
|
||||||
} else if (gSaveContext.sceneSetupIndex == 2) {
|
} else if (gSaveContext.sceneSetupIndex == 2) {
|
||||||
if (globalCtx->csCtx.unk_12 == 0) {
|
if (globalCtx->csCtx.currentCsIndex == 0) {
|
||||||
func_80AA0DA8(this, globalCtx);
|
func_80AA0DA8(this, globalCtx);
|
||||||
} else if (globalCtx->csCtx.unk_12 == 1) {
|
} else if (globalCtx->csCtx.currentCsIndex == 1) {
|
||||||
func_80AA0E1C(this, globalCtx);
|
func_80AA0E1C(this, globalCtx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -764,15 +764,15 @@ void func_80AA0E90(DmStk* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
case SCENE_00KEIKOKU:
|
case SCENE_00KEIKOKU:
|
||||||
if (gSaveContext.sceneSetupIndex == 3) {
|
if (gSaveContext.sceneSetupIndex == 3) {
|
||||||
if (globalCtx->csCtx.unk_12 == 0) {
|
if (globalCtx->csCtx.currentCsIndex == 0) {
|
||||||
func_80AA0634(this, globalCtx);
|
func_80AA0634(this, globalCtx);
|
||||||
} else if (globalCtx->csCtx.unk_12 == 2) {
|
} else if (globalCtx->csCtx.currentCsIndex == 2) {
|
||||||
func_80AA066C(this, globalCtx);
|
func_80AA066C(this, globalCtx);
|
||||||
}
|
}
|
||||||
} else if (gSaveContext.sceneSetupIndex == 7) {
|
} else if (gSaveContext.sceneSetupIndex == 7) {
|
||||||
if (globalCtx->csCtx.unk_12 == 0) {
|
if (globalCtx->csCtx.currentCsIndex == 0) {
|
||||||
func_80AA071C(this, globalCtx);
|
func_80AA071C(this, globalCtx);
|
||||||
} else if (globalCtx->csCtx.unk_12 == 1) {
|
} else if (globalCtx->csCtx.currentCsIndex == 1) {
|
||||||
func_80AA076C(this, globalCtx);
|
func_80AA076C(this, globalCtx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -894,7 +894,7 @@ void DmStk_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
this->unk_2E0 = 5;
|
this->unk_2E0 = 5;
|
||||||
this->actionFunc = func_80AA1714;
|
this->actionFunc = func_80AA1714;
|
||||||
} else {
|
} else {
|
||||||
if ((globalCtx->sceneNum == SCENE_LOST_WOODS) && !func_800EE2F4(globalCtx)) {
|
if ((globalCtx->sceneNum == SCENE_LOST_WOODS) && !Cutscene_IsPlaying(globalCtx)) {
|
||||||
Actor_MarkForDeath(&this->actor);
|
Actor_MarkForDeath(&this->actor);
|
||||||
}
|
}
|
||||||
this->unk_32C = 2;
|
this->unk_32C = 2;
|
||||||
|
|
@ -920,7 +920,7 @@ void DmStk_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
Actor_SetScale(&this->actor, 0.01f);
|
Actor_SetScale(&this->actor, 0.01f);
|
||||||
|
|
||||||
if ((globalCtx->sceneNum == SCENE_00KEIKOKU) && (gSaveContext.sceneSetupIndex == 3) &&
|
if ((globalCtx->sceneNum == SCENE_00KEIKOKU) && (gSaveContext.sceneSetupIndex == 3) &&
|
||||||
(globalCtx->csCtx.unk_12 > 0)) {
|
(globalCtx->csCtx.currentCsIndex > 0)) {
|
||||||
globalCtx->envCtx.unk_17 = 15;
|
globalCtx->envCtx.unk_17 = 15;
|
||||||
globalCtx->envCtx.unk_18 = 15;
|
globalCtx->envCtx.unk_18 = 15;
|
||||||
}
|
}
|
||||||
|
|
@ -1051,7 +1051,7 @@ void func_80AA1B9C(DmStk* this, GlobalContext* globalCtx) {
|
||||||
if (this->unk_339 >= 3) {
|
if (this->unk_339 >= 3) {
|
||||||
this->unk_339 = 0;
|
this->unk_339 = 0;
|
||||||
if (!(player->stateFlags2 & 0x8000000)) {
|
if (!(player->stateFlags2 & 0x8000000)) {
|
||||||
func_801518B0(globalCtx, 0x2013, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2013, &this->actor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1076,21 +1076,21 @@ void func_80AA1C64(DmStk* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
void func_80AA1D1C(DmStk* this, GlobalContext* globalCtx) {
|
void func_80AA1D1C(DmStk* this, GlobalContext* globalCtx) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
u32 temp_v0;
|
s32 temp_v0;
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x6B)) {
|
if (Cutscene_CheckActorAction(globalCtx, 107)) {
|
||||||
temp_v0 = func_800EE200(globalCtx, 0x6B);
|
temp_v0 = Cutscene_GetActorActionIndex(globalCtx, 107);
|
||||||
|
|
||||||
if (globalCtx->csCtx.frames == globalCtx->csCtx.npcActions[temp_v0]->startFrame) {
|
if (globalCtx->csCtx.frames == globalCtx->csCtx.actorActions[temp_v0]->startFrame) {
|
||||||
if (this->unk_334 != globalCtx->csCtx.npcActions[temp_v0]->unk0) {
|
if (this->unk_334 != globalCtx->csCtx.actorActions[temp_v0]->action) {
|
||||||
this->unk_334 = globalCtx->csCtx.npcActions[temp_v0]->unk0;
|
this->unk_334 = globalCtx->csCtx.actorActions[temp_v0]->action;
|
||||||
if (globalCtx->sceneNum == SCENE_CLOCKTOWER) {
|
if (globalCtx->sceneNum == SCENE_CLOCKTOWER) {
|
||||||
this->unk_32D = 6;
|
this->unk_32D = 6;
|
||||||
} else {
|
} else {
|
||||||
this->unk_32D = 9;
|
this->unk_32D = 9;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (globalCtx->csCtx.npcActions[temp_v0]->unk0) {
|
switch (globalCtx->csCtx.actorActions[temp_v0]->action) {
|
||||||
case 0:
|
case 0:
|
||||||
case 1:
|
case 1:
|
||||||
this->unk_2E0 = 3;
|
this->unk_2E0 = 3;
|
||||||
|
|
@ -1350,7 +1350,7 @@ void func_80AA1D1C(DmStk* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func_800EDF24(&this->actor, globalCtx, temp_v0);
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, temp_v0);
|
||||||
} else {
|
} else {
|
||||||
this->unk_334 = 99;
|
this->unk_334 = 99;
|
||||||
}
|
}
|
||||||
|
|
@ -1482,7 +1482,7 @@ void func_80AA2720(DmStk* this, GlobalContext* globalCtx) {
|
||||||
if (this->unk_328 > 800) {
|
if (this->unk_328 > 800) {
|
||||||
this->unk_328 = 0;
|
this->unk_328 = 0;
|
||||||
if (!(player->stateFlags2 & 0x8000000)) {
|
if (!(player->stateFlags2 & 0x8000000)) {
|
||||||
func_801518B0(globalCtx, 0x2014, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2014, &this->actor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ((this->collider.base.acFlags & AC_HIT) && (this->actor.colChkInfo.damageEffect == 0xF)) {
|
if ((this->collider.base.acFlags & AC_HIT) && (this->actor.colChkInfo.damageEffect == 0xF)) {
|
||||||
|
|
@ -1579,7 +1579,7 @@ void DmStk_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((globalCtx->sceneNum == SCENE_00KEIKOKU) && (gSaveContext.sceneSetupIndex == 3) &&
|
if ((globalCtx->sceneNum == SCENE_00KEIKOKU) && (gSaveContext.sceneSetupIndex == 3) &&
|
||||||
(globalCtx->csCtx.unk_12 > 0)) {
|
(globalCtx->csCtx.currentCsIndex > 0)) {
|
||||||
globalCtx->envCtx.unk_17 = 15;
|
globalCtx->envCtx.unk_17 = 15;
|
||||||
globalCtx->envCtx.unk_18 = 15;
|
globalCtx->envCtx.unk_18 = 15;
|
||||||
}
|
}
|
||||||
|
|
@ -1658,8 +1658,9 @@ void DmStk_PostLimbDraw2(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, V
|
||||||
gSPDisplayList(POLY_OPA_DISP++, object_stk_DL_006BB0);
|
gSPDisplayList(POLY_OPA_DISP++, object_stk_DL_006BB0);
|
||||||
gSPDisplayList(POLY_OPA_DISP++, object_stk_DL_005870);
|
gSPDisplayList(POLY_OPA_DISP++, object_stk_DL_005870);
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x201) &&
|
if (Cutscene_CheckActorAction(globalCtx, 513) &&
|
||||||
(globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x201)]->unk0 == 2) && (this->unk_337 >= 0)) {
|
(globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 513)]->action == 2) &&
|
||||||
|
(this->unk_337 >= 0)) {
|
||||||
Matrix_StatePush();
|
Matrix_StatePush();
|
||||||
Matrix_Scale(2.0f, 2.0f, 2.0f, MTXMODE_APPLY);
|
Matrix_Scale(2.0f, 2.0f, 2.0f, MTXMODE_APPLY);
|
||||||
gSegments[6] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[this->unk_337].segment);
|
gSegments[6] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[this->unk_337].segment);
|
||||||
|
|
|
||||||
|
|
@ -177,10 +177,10 @@ void DoorWarp1_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
LightContext_RemoveLight(globalCtx, &globalCtx->lightCtx, this->unk_1DC);
|
LightContext_RemoveLight(globalCtx, &globalCtx->lightCtx, this->unk_1DC);
|
||||||
LightContext_RemoveLight(globalCtx, &globalCtx->lightCtx, this->unk_1F0);
|
LightContext_RemoveLight(globalCtx, &globalCtx->lightCtx, this->unk_1F0);
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_COUNT(globalCtx->envCtx.unk_8C.diffuseColor1); i++) {
|
for (i = 0; i < ARRAY_COUNT(globalCtx->envCtx.lightSettings.diffuseColor1); i++) {
|
||||||
globalCtx->envCtx.unk_8C.diffuseColor1[i] = 0;
|
globalCtx->envCtx.lightSettings.diffuseColor1[i] = 0;
|
||||||
globalCtx->envCtx.unk_8C.fogColor[i] = globalCtx->envCtx.unk_8C.diffuseColor1[i];
|
globalCtx->envCtx.lightSettings.fogColor[i] = globalCtx->envCtx.lightSettings.diffuseColor1[i];
|
||||||
globalCtx->envCtx.unk_8C.ambientColor[i] = globalCtx->envCtx.unk_8C.diffuseColor1[i];
|
globalCtx->envCtx.lightSettings.ambientColor[i] = globalCtx->envCtx.lightSettings.diffuseColor1[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this->unk_1D3 != 0) {
|
if (this->unk_1D3 != 0) {
|
||||||
|
|
@ -279,14 +279,15 @@ void func_808B8E78(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_808B900C(DoorWarp1* this, GlobalContext* globalCtx) {
|
s32 func_808B900C(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||||
u32 index;
|
s32 index;
|
||||||
u8 ret = false;
|
u8 ret = false;
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x239)) {
|
if (Cutscene_CheckActorAction(globalCtx, 569)) {
|
||||||
index = func_800EE200(globalCtx, 0x239);
|
index = Cutscene_GetActorActionIndex(globalCtx, 569);
|
||||||
if (this->unk_208 != globalCtx->csCtx.npcActions[index]->unk0) {
|
|
||||||
this->unk_208 = globalCtx->csCtx.npcActions[index]->unk0;
|
if (this->unk_208 != globalCtx->csCtx.actorActions[index]->action) {
|
||||||
if (globalCtx->csCtx.npcActions[index]->unk0 == 2) {
|
this->unk_208 = globalCtx->csCtx.actorActions[index]->action;
|
||||||
|
if (globalCtx->csCtx.actorActions[index]->action == 2) {
|
||||||
ret = true;
|
ret = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -344,7 +345,7 @@ void func_808B921C(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
if (func_808B866C(this, globalCtx) && !func_801690CC(globalCtx)) {
|
if (func_808B866C(this, globalCtx) && !func_801690CC(globalCtx)) {
|
||||||
func_800B7298(globalCtx, &this->dyna.actor, 7);
|
func_800B7298(globalCtx, &this->dyna.actor, 7);
|
||||||
func_801518B0(globalCtx, 0xF2, &this->dyna.actor);
|
Message_StartTextbox(globalCtx, 0xF2, &this->dyna.actor);
|
||||||
DoorWarp1_SetupAction(this, func_808B93A0);
|
DoorWarp1_SetupAction(this, func_808B93A0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -831,15 +832,15 @@ void func_808BA550(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this->unk_1D0 > 140) {
|
if (this->unk_1D0 > 140) {
|
||||||
globalCtx->envCtx.unk_E5 = 1;
|
globalCtx->envCtx.fillScreen = 1;
|
||||||
temp_f0 = (this->unk_1D0 - 140) / 20.0f;
|
temp_f0 = (this->unk_1D0 - 140) / 20.0f;
|
||||||
if (temp_f0 > 1.0f) {
|
if (temp_f0 > 1.0f) {
|
||||||
temp_f0 = 1.0f;
|
temp_f0 = 1.0f;
|
||||||
}
|
}
|
||||||
globalCtx->envCtx.unk_E6[0] = 160;
|
globalCtx->envCtx.screenFillColor[0] = 160;
|
||||||
globalCtx->envCtx.unk_E6[1] = 160;
|
globalCtx->envCtx.screenFillColor[1] = 160;
|
||||||
globalCtx->envCtx.unk_E6[2] = 160;
|
globalCtx->envCtx.screenFillColor[2] = 160;
|
||||||
globalCtx->envCtx.unk_E6[3] = 255.0f * temp_f0;
|
globalCtx->envCtx.screenFillColor[3] = 255.0f * temp_f0;
|
||||||
}
|
}
|
||||||
|
|
||||||
Lights_PointNoGlowSetInfo(&this->unk_1E0, player->actor.world.pos.x + 10.0f, player->actor.world.pos.y + 10.0f,
|
Lights_PointNoGlowSetInfo(&this->unk_1E0, player->actor.world.pos.x + 10.0f, player->actor.world.pos.y + 10.0f,
|
||||||
|
|
@ -862,13 +863,13 @@ void func_808BA550(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||||
temp_f16 = -255.0f * temp_f0;
|
temp_f16 = -255.0f * temp_f0;
|
||||||
|
|
||||||
for (i = 0; i < 3; i++) {
|
for (i = 0; i < 3; i++) {
|
||||||
globalCtx->envCtx.unk_8C.diffuseColor1[i] = temp_f16;
|
globalCtx->envCtx.lightSettings.diffuseColor1[i] = temp_f16;
|
||||||
globalCtx->envCtx.unk_8C.fogColor[i] = temp_f16;
|
globalCtx->envCtx.lightSettings.fogColor[i] = temp_f16;
|
||||||
globalCtx->envCtx.unk_8C.ambientColor[i] = temp_f16;
|
globalCtx->envCtx.lightSettings.ambientColor[i] = temp_f16;
|
||||||
}
|
}
|
||||||
|
|
||||||
globalCtx->envCtx.unk_8C.fogNear = -500.0f * temp_f0;
|
globalCtx->envCtx.lightSettings.fogNear = -500.0f * temp_f0;
|
||||||
if (globalCtx->envCtx.unk_8C.fogNear < -300) {
|
if (globalCtx->envCtx.lightSettings.fogNear < -300) {
|
||||||
globalCtx->roomCtx.currRoom.segment = NULL;
|
globalCtx->roomCtx.currRoom.segment = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -455,7 +455,7 @@ void func_80BED3BC(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
func_801518B0(globalCtx, this->unk_33C, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_33C, &this->actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80BED680(EnAkindonuts* this, GlobalContext* globalCtx) {
|
void func_80BED680(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||||
|
|
@ -526,7 +526,7 @@ void func_80BED680(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
func_801518B0(globalCtx, this->unk_33C, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_33C, &this->actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80BED8A4(EnAkindonuts* this, GlobalContext* globalCtx) {
|
void func_80BED8A4(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||||
|
|
@ -632,7 +632,7 @@ void func_80BED8A4(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
func_801518B0(globalCtx, this->unk_33C, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_33C, &this->actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80BEDB88(EnAkindonuts* this, GlobalContext* globalCtx) {
|
void func_80BEDB88(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||||
|
|
@ -704,7 +704,7 @@ void func_80BEDB88(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
func_801518B0(globalCtx, this->unk_33C, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_33C, &this->actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80BEDDAC(EnAkindonuts* this, GlobalContext* globalCtx) {
|
void func_80BEDDAC(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||||
|
|
@ -805,7 +805,7 @@ void func_80BEDDAC(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
func_801518B0(globalCtx, this->unk_33C, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_33C, &this->actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80BEE070(EnAkindonuts* this, GlobalContext* globalCtx) {
|
void func_80BEE070(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||||
|
|
@ -872,7 +872,7 @@ void func_80BEE070(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
func_801518B0(globalCtx, this->unk_33C, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_33C, &this->actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80BEE274(EnAkindonuts* this, GlobalContext* globalCtx) {
|
void func_80BEE274(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||||
|
|
@ -966,7 +966,7 @@ void func_80BEE274(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
func_801518B0(globalCtx, this->unk_33C, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_33C, &this->actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80BEE530(EnAkindonuts* this, GlobalContext* globalCtx) {
|
void func_80BEE530(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||||
|
|
@ -1033,7 +1033,7 @@ void func_80BEE530(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
func_801518B0(globalCtx, this->unk_33C, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_33C, &this->actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80BEE73C(EnAkindonuts* this, GlobalContext* globalCtx) {
|
void func_80BEE73C(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||||
|
|
|
||||||
|
|
@ -411,7 +411,7 @@ void func_809C16DC(EnAob01* this, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
func_801518B0(globalCtx, this->unk_210, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_210, &this->actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_809C1C9C(EnAob01* this, GlobalContext* globalCtx) {
|
void func_809C1C9C(EnAob01* this, GlobalContext* globalCtx) {
|
||||||
|
|
@ -439,13 +439,13 @@ void func_809C1D64(EnAob01* this, GlobalContext* globalCtx) {
|
||||||
if (gSaveContext.rupees < 10) {
|
if (gSaveContext.rupees < 10) {
|
||||||
play_sound(NA_SE_SY_ERROR);
|
play_sound(NA_SE_SY_ERROR);
|
||||||
this->unk_210 = 0x3524;
|
this->unk_210 = 0x3524;
|
||||||
func_801518B0(globalCtx, this->unk_210, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_210, &this->actor);
|
||||||
} else {
|
} else {
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
this->unk_2D2 |= 4;
|
this->unk_2D2 |= 4;
|
||||||
this->unk_2D2 |= 0x10;
|
this->unk_2D2 |= 0x10;
|
||||||
this->unk_210 = 0x3522;
|
this->unk_210 = 0x3522;
|
||||||
func_801518B0(globalCtx, this->unk_210, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_210, &this->actor);
|
||||||
this->actionFunc = func_809C21E0;
|
this->actionFunc = func_809C21E0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -453,7 +453,7 @@ void func_809C1D64(EnAob01* this, GlobalContext* globalCtx) {
|
||||||
case 1:
|
case 1:
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
this->unk_210 = 0x3535;
|
this->unk_210 = 0x3535;
|
||||||
func_801518B0(globalCtx, this->unk_210, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_210, &this->actor);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -556,7 +556,7 @@ void func_809C21E0(EnAob01* this, GlobalContext* globalCtx) {
|
||||||
this->unk_2D2 |= 0x40;
|
this->unk_2D2 |= 0x40;
|
||||||
this->unk_43C = 1;
|
this->unk_43C = 1;
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, D_809C3790, 1);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, D_809C3790, 1);
|
||||||
func_801518B0(globalCtx, 0x354B, &this->actor);
|
Message_StartTextbox(globalCtx, 0x354B, &this->actor);
|
||||||
}
|
}
|
||||||
this->unk_2D2 &= ~8;
|
this->unk_2D2 &= ~8;
|
||||||
}
|
}
|
||||||
|
|
@ -738,7 +738,7 @@ void func_809C28B8(EnAob01* this, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
func_801518B0(globalCtx, this->unk_210, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_210, &this->actor);
|
||||||
this->actionFunc = func_809C2D0C;
|
this->actionFunc = func_809C2D0C;
|
||||||
} else if (this->actor.xzDistToPlayer < 100.0f) {
|
} else if (this->actor.xzDistToPlayer < 100.0f) {
|
||||||
func_800B8614(&this->actor, globalCtx, 100.0f);
|
func_800B8614(&this->actor, globalCtx, 100.0f);
|
||||||
|
|
@ -824,7 +824,7 @@ void func_809C2D0C(EnAob01* this, GlobalContext* globalCtx) {
|
||||||
this->unk_2D2 &= ~0x80;
|
this->unk_2D2 &= ~0x80;
|
||||||
if (this->unk_434 >= 150) {
|
if (this->unk_434 >= 150) {
|
||||||
this->unk_210 = 0x352E;
|
this->unk_210 = 0x352E;
|
||||||
func_801518B0(globalCtx, this->unk_210, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_210, &this->actor);
|
||||||
this->actionFunc = func_809C2A64;
|
this->actionFunc = func_809C2A64;
|
||||||
} else {
|
} else {
|
||||||
this->unk_2D4 = this->unk_2E6;
|
this->unk_2D4 = this->unk_2E6;
|
||||||
|
|
@ -842,7 +842,7 @@ void func_809C2D0C(EnAob01* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
this->unk_210 = 0x354C;
|
this->unk_210 = 0x354C;
|
||||||
func_801518B0(globalCtx, this->unk_210, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_210, &this->actor);
|
||||||
this->actionFunc = func_809C1D64;
|
this->actionFunc = func_809C1D64;
|
||||||
gSaveContext.eventInf[0] &= (u8)~7;
|
gSaveContext.eventInf[0] &= (u8)~7;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -233,7 +233,7 @@ void func_80BA886C(EnBaba* this, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
func_801518B0(globalCtx, this->unk_1E0, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_1E0, &this->actor);
|
||||||
if (this->unk_40A & 1) {
|
if (this->unk_40A & 1) {
|
||||||
if (this->unk_40A & 0x40) {
|
if (this->unk_40A & 0x40) {
|
||||||
this->unk_40A &= ~0x40;
|
this->unk_40A &= ~0x40;
|
||||||
|
|
@ -603,7 +603,7 @@ void func_80BA9B80(EnBaba* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
if (this->unk_40A & 2) {
|
if (this->unk_40A & 2) {
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
func_801518B0(globalCtx, 0x2A39, &this->actor); // "I'm sorry"
|
Message_StartTextbox(globalCtx, 0x2A39, &this->actor); // "I'm sorry"
|
||||||
this->actionFunc = func_80BA9848;
|
this->actionFunc = func_80BA9848;
|
||||||
} else if ((this->actor.xzDistToPlayer < 100.0f) || this->actor.isTargeted) {
|
} else if ((this->actor.xzDistToPlayer < 100.0f) || this->actor.isTargeted) {
|
||||||
func_800B863C(&this->actor, globalCtx);
|
func_800B863C(&this->actor, globalCtx);
|
||||||
|
|
|
||||||
|
|
@ -187,7 +187,7 @@ void EnBba01_Talk(EnHy* this, GlobalContext* globalCtx) {
|
||||||
case 0:
|
case 0:
|
||||||
yaw = ABS_ALT(this->actor.shape.rot.y - this->actor.yawTowardsPlayer);
|
yaw = ABS_ALT(this->actor.shape.rot.y - this->actor.yawTowardsPlayer);
|
||||||
if (yaw < 0x64) {
|
if (yaw < 0x64) {
|
||||||
func_801518B0(globalCtx, this->textId, NULL);
|
Message_StartTextbox(globalCtx, this->textId, NULL);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
|
|
|
||||||
|
|
@ -863,7 +863,7 @@ void EnBigslime_Scale(EnBigslime* this, s16 pitch, f32 xzScale, f32 yScale) {
|
||||||
* Set the params used by the floor shockwave when bigslime shatters into minislime
|
* Set the params used by the floor shockwave when bigslime shatters into minislime
|
||||||
*/
|
*/
|
||||||
void EnBigslime_InitShockwave(EnBigslime* this, GlobalContext* globalCtx) {
|
void EnBigslime_InitShockwave(EnBigslime* this, GlobalContext* globalCtx) {
|
||||||
globalCtx->envCtx.unk_C3 = 3;
|
globalCtx->envCtx.lightSettingOverride = 3;
|
||||||
Math_Vec3f_Copy(&this->frozenPos, &this->actor.world.pos);
|
Math_Vec3f_Copy(&this->frozenPos, &this->actor.world.pos);
|
||||||
this->frozenPos.y = GBT_ROOM_5_MIN_Y;
|
this->frozenPos.y = GBT_ROOM_5_MIN_Y;
|
||||||
this->shockwaveAlpha = 235;
|
this->shockwaveAlpha = 235;
|
||||||
|
|
@ -931,7 +931,7 @@ void EnBigslime_SetupCutsceneStartBattle(EnBigslime* this, GlobalContext* global
|
||||||
Player* player = GET_PLAYER(globalCtx);
|
Player* player = GET_PLAYER(globalCtx);
|
||||||
Camera* subCam = Play_GetCamera(globalCtx, this->subCamId);
|
Camera* subCam = Play_GetCamera(globalCtx, this->subCamId);
|
||||||
|
|
||||||
globalCtx->envCtx.unk_C3 = 4;
|
globalCtx->envCtx.lightSettingOverride = 4;
|
||||||
Animation_PlayLoop(&this->skelAnime, &gGekkoLookAroundAnim);
|
Animation_PlayLoop(&this->skelAnime, &gGekkoLookAroundAnim);
|
||||||
|
|
||||||
this->bigslimeCollider[0].base.atFlags &= ~AT_ON;
|
this->bigslimeCollider[0].base.atFlags &= ~AT_ON;
|
||||||
|
|
@ -1008,7 +1008,7 @@ void EnBigslime_CallMinislime(EnBigslime* this, GlobalContext* globalCtx) {
|
||||||
EnBigslime_UpdateCameraIntroCs(this, globalCtx, 25);
|
EnBigslime_UpdateCameraIntroCs(this, globalCtx, 25);
|
||||||
func_801A2E54(0x38);
|
func_801A2E54(0x38);
|
||||||
EnBigslime_InitFallMinislime(this);
|
EnBigslime_InitFallMinislime(this);
|
||||||
globalCtx->envCtx.unk_C3 = 0xFF;
|
globalCtx->envCtx.lightSettingOverride = 0xFF;
|
||||||
this->callTimer = 35;
|
this->callTimer = 35;
|
||||||
func_800B7298(globalCtx, &this->actor, 4);
|
func_800B7298(globalCtx, &this->actor, 4);
|
||||||
}
|
}
|
||||||
|
|
@ -1988,7 +1988,7 @@ void EnBigslime_Melt(EnBigslime* this, GlobalContext* globalCtx) {
|
||||||
if (this->meltCounter == 100) {
|
if (this->meltCounter == 100) {
|
||||||
EnBigslime_SetTargetVtxFromPreFrozen(this);
|
EnBigslime_SetTargetVtxFromPreFrozen(this);
|
||||||
} else if (this->meltCounter == 50) {
|
} else if (this->meltCounter == 50) {
|
||||||
globalCtx->envCtx.unk_C3 = 0xFF;
|
globalCtx->envCtx.lightSettingOverride = 0xFF;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2582,7 +2582,7 @@ void EnBigslime_ApplyDamageEffectBigslime(EnBigslime* this, GlobalContext* globa
|
||||||
if (this->actor.colChkInfo.damageEffect == BIGSLIME_DMGEFF_ICE) {
|
if (this->actor.colChkInfo.damageEffect == BIGSLIME_DMGEFF_ICE) {
|
||||||
EnMinislime* minislime;
|
EnMinislime* minislime;
|
||||||
|
|
||||||
globalCtx->envCtx.unk_C3 = 2;
|
globalCtx->envCtx.lightSettingOverride = 2;
|
||||||
EnBigslime_SetPlayerParams(this, globalCtx);
|
EnBigslime_SetPlayerParams(this, globalCtx);
|
||||||
this->rotation = 0;
|
this->rotation = 0;
|
||||||
EnBigslime_SetupFreeze(this);
|
EnBigslime_SetupFreeze(this);
|
||||||
|
|
@ -2772,8 +2772,8 @@ void EnBigslime_UpdateBigslime(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
Vec3f vtxMax;
|
Vec3f vtxMax;
|
||||||
Vec3f vtxMin;
|
Vec3f vtxMin;
|
||||||
|
|
||||||
if (globalCtx->envCtx.unk_C3 == 3) {
|
if (globalCtx->envCtx.lightSettingOverride == 3) {
|
||||||
globalCtx->envCtx.unk_C3 = 0xFF;
|
globalCtx->envCtx.lightSettingOverride = 0xFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
func_8019F540(1);
|
func_8019F540(1);
|
||||||
|
|
@ -2817,8 +2817,8 @@ void EnBigslime_UpdateGekko(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
Player* player;
|
Player* player;
|
||||||
s32 pad;
|
s32 pad;
|
||||||
|
|
||||||
if (globalCtx->envCtx.unk_C3 == 3) {
|
if (globalCtx->envCtx.lightSettingOverride == 3) {
|
||||||
globalCtx->envCtx.unk_C3 = 0xFF;
|
globalCtx->envCtx.lightSettingOverride = 0xFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
func_8019F540(0);
|
func_8019F540(0);
|
||||||
|
|
|
||||||
|
|
@ -183,7 +183,7 @@ void func_809CD028(EnBji01* this, GlobalContext* globalCtx) {
|
||||||
tempDay = gSaveContext.day;
|
tempDay = gSaveContext.day;
|
||||||
tempTimeBeforeMoonCrash =
|
tempTimeBeforeMoonCrash =
|
||||||
((-(tempDay % 5 << 0x10) - ((u16)(gSaveContext.time - 0x4000))) + 0x40000);
|
((-(tempDay % 5 << 0x10) - ((u16)(gSaveContext.time - 0x4000))) + 0x40000);
|
||||||
if (tempTimeBeforeMoonCrash < 2730.6667f) { /* 1 hr */
|
if (tempTimeBeforeMoonCrash < CLOCK_TIME_F(1, 0)) { /* 1 hr */
|
||||||
this->textId = 0x5E8;
|
this->textId = 0x5E8;
|
||||||
} else {
|
} else {
|
||||||
this->textId = 0x5EB;
|
this->textId = 0x5EB;
|
||||||
|
|
@ -203,7 +203,7 @@ void EnBji01_DialogueHandler(EnBji01* this, GlobalContext* globalCtx) {
|
||||||
Math_ScaledStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 0x444);
|
Math_ScaledStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 0x444);
|
||||||
func_809CCDE0(this, globalCtx);
|
func_809CCDE0(this, globalCtx);
|
||||||
if (this->actor.shape.rot.y == this->actor.yawTowardsPlayer) {
|
if (this->actor.shape.rot.y == this->actor.yawTowardsPlayer) {
|
||||||
func_801518B0(globalCtx, this->textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->textId, &this->actor);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
|
|
|
||||||
|
|
@ -350,28 +350,28 @@ void func_808715B8(EnBom* this, GlobalContext* globalCtx) {
|
||||||
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider2.base);
|
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider2.base);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (globalCtx->envCtx.unk_8C.diffuseColor1[0] != 0) {
|
if (globalCtx->envCtx.lightSettings.diffuseColor1[0] != 0) {
|
||||||
globalCtx->envCtx.unk_8C.diffuseColor1[0] -= 25;
|
globalCtx->envCtx.lightSettings.diffuseColor1[0] -= 25;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (globalCtx->envCtx.unk_8C.diffuseColor1[1] != 0) {
|
if (globalCtx->envCtx.lightSettings.diffuseColor1[1] != 0) {
|
||||||
globalCtx->envCtx.unk_8C.diffuseColor1[1] -= 25;
|
globalCtx->envCtx.lightSettings.diffuseColor1[1] -= 25;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (globalCtx->envCtx.unk_8C.diffuseColor1[2] != 0) {
|
if (globalCtx->envCtx.lightSettings.diffuseColor1[2] != 0) {
|
||||||
globalCtx->envCtx.unk_8C.diffuseColor1[2] -= 25;
|
globalCtx->envCtx.lightSettings.diffuseColor1[2] -= 25;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (globalCtx->envCtx.unk_8C.ambientColor[0] != 0) {
|
if (globalCtx->envCtx.lightSettings.ambientColor[0] != 0) {
|
||||||
globalCtx->envCtx.unk_8C.ambientColor[0] -= 25;
|
globalCtx->envCtx.lightSettings.ambientColor[0] -= 25;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (globalCtx->envCtx.unk_8C.ambientColor[1] != 0) {
|
if (globalCtx->envCtx.lightSettings.ambientColor[1] != 0) {
|
||||||
globalCtx->envCtx.unk_8C.ambientColor[1] -= 25;
|
globalCtx->envCtx.lightSettings.ambientColor[1] -= 25;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (globalCtx->envCtx.unk_8C.ambientColor[2] != 0) {
|
if (globalCtx->envCtx.lightSettings.ambientColor[2] != 0) {
|
||||||
globalCtx->envCtx.unk_8C.ambientColor[2] -= 25;
|
globalCtx->envCtx.lightSettings.ambientColor[2] -= 25;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this->timer == 0) {
|
if (this->timer == 0) {
|
||||||
|
|
@ -533,10 +533,10 @@ void EnBom_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_CLEAR_TAG, sp80.x, sp80.y - 10.0f, sp80.z, 0, 0,
|
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_CLEAR_TAG, sp80.x, sp80.y - 10.0f, sp80.z, 0, 0,
|
||||||
0, this->isPowderKeg);
|
0, this->isPowderKeg);
|
||||||
func_800BC848(thisx, globalCtx, D_80872E98[this->isPowderKeg], D_80872E9C[this->isPowderKeg]);
|
func_800BC848(thisx, globalCtx, D_80872E98[this->isPowderKeg], D_80872E9C[this->isPowderKeg]);
|
||||||
globalCtx->envCtx.unk_8C.diffuseColor1[0] = globalCtx->envCtx.unk_8C.diffuseColor1[1] =
|
globalCtx->envCtx.lightSettings.diffuseColor1[0] = globalCtx->envCtx.lightSettings.diffuseColor1[1] =
|
||||||
globalCtx->envCtx.unk_8C.diffuseColor1[2] = 250;
|
globalCtx->envCtx.lightSettings.diffuseColor1[2] = 250;
|
||||||
globalCtx->envCtx.unk_8C.ambientColor[0] = globalCtx->envCtx.unk_8C.ambientColor[1] =
|
globalCtx->envCtx.lightSettings.ambientColor[0] = globalCtx->envCtx.lightSettings.ambientColor[1] =
|
||||||
globalCtx->envCtx.unk_8C.ambientColor[2] = 250;
|
globalCtx->envCtx.lightSettings.ambientColor[2] = 250;
|
||||||
func_800DFD04(&globalCtx->mainCamera, 2, 11, 8);
|
func_800DFD04(&globalCtx->mainCamera, 2, 11, 8);
|
||||||
thisx->params = ENBOM_1;
|
thisx->params = ENBOM_1;
|
||||||
this->timer = 10;
|
this->timer = 10;
|
||||||
|
|
|
||||||
|
|
@ -232,9 +232,9 @@ void func_809C4DA4(EnBomBowlMan* this, GlobalContext* globalCtx) {
|
||||||
this->unk_2D4 = this->actor.yawTowardsPlayer;
|
this->unk_2D4 = this->actor.yawTowardsPlayer;
|
||||||
this->unk_290 = this->actor.yawTowardsPlayer;
|
this->unk_290 = this->actor.yawTowardsPlayer;
|
||||||
if (player->transformation == PLAYER_FORM_HUMAN) {
|
if (player->transformation == PLAYER_FORM_HUMAN) {
|
||||||
func_801518B0(globalCtx, D_809C618C[0], &this->actor);
|
Message_StartTextbox(globalCtx, D_809C618C[0], &this->actor);
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, D_809C6198[0], &this->actor);
|
Message_StartTextbox(globalCtx, D_809C6198[0], &this->actor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -406,7 +406,7 @@ void func_809C5524(EnBomBowlMan* this, GlobalContext* globalCtx) {
|
||||||
this->actor.textId = 0x72F;
|
this->actor.textId = 0x72F;
|
||||||
}
|
}
|
||||||
func_809C493C(this, 3, 1.0f);
|
func_809C493C(this, 3, 1.0f);
|
||||||
func_801518B0(globalCtx, this->actor.textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->actor.textId, &this->actor);
|
||||||
this->actionFunc = func_809C5598;
|
this->actionFunc = func_809C5598;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -585,10 +585,10 @@ void func_809C5BF4(EnBomBowlMan* this, GlobalContext* globalCtx) {
|
||||||
D_809C6100 = 0;
|
D_809C6100 = 0;
|
||||||
if (player->transformation == PLAYER_FORM_HUMAN) {
|
if (player->transformation == PLAYER_FORM_HUMAN) {
|
||||||
this->unk_2C0 = 5;
|
this->unk_2C0 = 5;
|
||||||
func_801518B0(globalCtx, D_809C618C[this->unk_2C0], &this->actor);
|
Message_StartTextbox(globalCtx, D_809C618C[this->unk_2C0], &this->actor);
|
||||||
} else {
|
} else {
|
||||||
this->unk_2C0 = 3;
|
this->unk_2C0 = 3;
|
||||||
func_801518B0(globalCtx, D_809C6198[this->unk_2C0], &this->actor);
|
Message_StartTextbox(globalCtx, D_809C6198[this->unk_2C0], &this->actor);
|
||||||
}
|
}
|
||||||
this->unk_29C = 0;
|
this->unk_29C = 0;
|
||||||
this->actionFunc = func_809C4DA4;
|
this->actionFunc = func_809C4DA4;
|
||||||
|
|
|
||||||
|
|
@ -661,7 +661,7 @@ void func_80C02740(EnBomjimb* this, GlobalContext* globalCtx) {
|
||||||
func_80C0113C(this, 21, 1.0f);
|
func_80C0113C(this, 21, 1.0f);
|
||||||
if ((player->transformation != PLAYER_FORM_DEKU) && (player->transformation != PLAYER_FORM_HUMAN)) {
|
if ((player->transformation != PLAYER_FORM_DEKU) && (player->transformation != PLAYER_FORM_HUMAN)) {
|
||||||
func_80C0113C(this, 17, 1.0f);
|
func_80C0113C(this, 17, 1.0f);
|
||||||
func_801518B0(globalCtx, 0x72E, &this->actor);
|
Message_StartTextbox(globalCtx, 0x72E, &this->actor);
|
||||||
player->stateFlags1 |= 0x10000000;
|
player->stateFlags1 |= 0x10000000;
|
||||||
player->actor.freezeTimer = 3;
|
player->actor.freezeTimer = 3;
|
||||||
func_80C012E0(this);
|
func_80C012E0(this);
|
||||||
|
|
@ -673,7 +673,7 @@ void func_80C02740(EnBomjimb* this, GlobalContext* globalCtx) {
|
||||||
if (((player->transformation == PLAYER_FORM_DEKU) && !(gSaveContext.weekEventReg[73] & 0x10)) ||
|
if (((player->transformation == PLAYER_FORM_DEKU) && !(gSaveContext.weekEventReg[73] & 0x10)) ||
|
||||||
((player->transformation == PLAYER_FORM_HUMAN) && !(gSaveContext.weekEventReg[85] & 2))) {
|
((player->transformation == PLAYER_FORM_HUMAN) && !(gSaveContext.weekEventReg[85] & 2))) {
|
||||||
func_80C0113C(this, 17, 1.0f);
|
func_80C0113C(this, 17, 1.0f);
|
||||||
func_801518B0(globalCtx, 0x72E, &this->actor);
|
Message_StartTextbox(globalCtx, 0x72E, &this->actor);
|
||||||
player->stateFlags1 |= 0x10000000;
|
player->stateFlags1 |= 0x10000000;
|
||||||
player->actor.freezeTimer = 3;
|
player->actor.freezeTimer = 3;
|
||||||
func_80C012E0(this);
|
func_80C012E0(this);
|
||||||
|
|
@ -683,7 +683,7 @@ void func_80C02740(EnBomjimb* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
idx = gSaveContext.unk_FE6;
|
idx = gSaveContext.unk_FE6;
|
||||||
func_801518B0(globalCtx, D_80C03230[idx], &this->actor);
|
Message_StartTextbox(globalCtx, D_80C03230[idx], &this->actor);
|
||||||
idx = gSaveContext.unk_FE6;
|
idx = gSaveContext.unk_FE6;
|
||||||
gSaveContext.unk_FE7[idx] = this->unk_2C8 + 1;
|
gSaveContext.unk_FE7[idx] = this->unk_2C8 + 1;
|
||||||
gSaveContext.unk_FE6++;
|
gSaveContext.unk_FE6++;
|
||||||
|
|
|
||||||
|
|
@ -544,7 +544,7 @@ void EnClearTag_UpdateCamera(EnClearTag* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
func_800EA0D4(globalCtx, &globalCtx->csCtx);
|
Cutscene_Start(globalCtx, &globalCtx->csCtx);
|
||||||
this->subCamId = Play_CreateSubCamera(globalCtx);
|
this->subCamId = Play_CreateSubCamera(globalCtx);
|
||||||
Play_CameraChangeStatus(globalCtx, CAM_ID_MAIN, 1);
|
Play_CameraChangeStatus(globalCtx, CAM_ID_MAIN, 1);
|
||||||
Play_CameraChangeStatus(globalCtx, this->subCamId, 7);
|
Play_CameraChangeStatus(globalCtx, this->subCamId, 7);
|
||||||
|
|
@ -556,7 +556,7 @@ void EnClearTag_UpdateCamera(EnClearTag* this, GlobalContext* globalCtx) {
|
||||||
this->subCamAt.x = mainCam->at.x;
|
this->subCamAt.x = mainCam->at.x;
|
||||||
this->subCamAt.y = mainCam->at.y;
|
this->subCamAt.y = mainCam->at.y;
|
||||||
this->subCamAt.z = mainCam->at.z;
|
this->subCamAt.z = mainCam->at.z;
|
||||||
func_801518B0(globalCtx, 0xF, NULL);
|
Message_StartTextbox(globalCtx, 0xF, NULL);
|
||||||
this->cameraState = 2;
|
this->cameraState = 2;
|
||||||
func_8019FDC8(&D_801DB4A4, NA_SE_VO_NA_LISTEN, 0x20);
|
func_8019FDC8(&D_801DB4A4, NA_SE_VO_NA_LISTEN, 0x20);
|
||||||
case 2:
|
case 2:
|
||||||
|
|
@ -573,7 +573,7 @@ void EnClearTag_UpdateCamera(EnClearTag* this, GlobalContext* globalCtx) {
|
||||||
mainCam->eyeNext = this->subCamEye;
|
mainCam->eyeNext = this->subCamEye;
|
||||||
mainCam->at = this->subCamAt;
|
mainCam->at = this->subCamAt;
|
||||||
func_80169AFC(globalCtx, this->subCamId, 0);
|
func_80169AFC(globalCtx, this->subCamId, 0);
|
||||||
func_800EA0EC(globalCtx, &globalCtx->csCtx);
|
Cutscene_End(globalCtx, &globalCtx->csCtx);
|
||||||
func_800B7298(globalCtx, &this->actor, 6);
|
func_800B7298(globalCtx, &this->actor, 6);
|
||||||
this->cameraState = 0;
|
this->cameraState = 0;
|
||||||
this->subCamId = CAM_ID_MAIN;
|
this->subCamId = CAM_ID_MAIN;
|
||||||
|
|
|
||||||
|
|
@ -177,7 +177,7 @@ void EnCne01_Talk(EnHy* this, GlobalContext* globalCtx) {
|
||||||
case 0:
|
case 0:
|
||||||
yaw = ABS_ALT(this->actor.shape.rot.y - this->actor.yawTowardsPlayer);
|
yaw = ABS_ALT(this->actor.shape.rot.y - this->actor.yawTowardsPlayer);
|
||||||
if (yaw < 0x64) {
|
if (yaw < 0x64) {
|
||||||
func_801518B0(globalCtx, this->textId, NULL);
|
Message_StartTextbox(globalCtx, this->textId, NULL);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
|
|
|
||||||
|
|
@ -179,7 +179,7 @@ s32 func_80B3E69C(EnDai* this, GlobalContext* globalCtx) {
|
||||||
s32 ret = false;
|
s32 ret = false;
|
||||||
|
|
||||||
if ((globalCtx->csCtx.state != 0) && (globalCtx->sceneNum == SCENE_12HAKUGINMAE) &&
|
if ((globalCtx->csCtx.state != 0) && (globalCtx->sceneNum == SCENE_12HAKUGINMAE) &&
|
||||||
(globalCtx->csCtx.unk_12 == 0) && !(gSaveContext.weekEventReg[30] & 1)) {
|
(globalCtx->csCtx.currentCsIndex == 0) && !(gSaveContext.weekEventReg[30] & 1)) {
|
||||||
if (!(this->unk_1CE & 0x10)) {
|
if (!(this->unk_1CE & 0x10)) {
|
||||||
Flags_SetSwitch(globalCtx, 20);
|
Flags_SetSwitch(globalCtx, 20);
|
||||||
this->unk_1CE |= (0x80 | 0x10);
|
this->unk_1CE |= (0x80 | 0x10);
|
||||||
|
|
@ -444,13 +444,12 @@ void func_80B3F044(EnDai* this, GlobalContext* globalCtx) {
|
||||||
static s32 D_80B3FE38[] = {
|
static s32 D_80B3FE38[] = {
|
||||||
0, 0, 6, 7, 8,
|
0, 0, 6, 7, 8,
|
||||||
};
|
};
|
||||||
|
|
||||||
s32 sp2C = 0;
|
s32 sp2C = 0;
|
||||||
s32 sp28;
|
s32 sp28;
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x1D8)) {
|
if (Cutscene_CheckActorAction(globalCtx, 472)) {
|
||||||
sp2C = func_800EE200(globalCtx, 0x1D8);
|
sp2C = Cutscene_GetActorActionIndex(globalCtx, 472);
|
||||||
sp28 = globalCtx->csCtx.npcActions[sp2C]->unk0;
|
sp28 = globalCtx->csCtx.actorActions[sp2C]->action;
|
||||||
if (this->unk_1CC != (u8)sp28) {
|
if (this->unk_1CC != (u8)sp28) {
|
||||||
func_80B3E5DC(this, D_80B3FE38[sp28]);
|
func_80B3E5DC(this, D_80B3FE38[sp28]);
|
||||||
switch (sp28) {
|
switch (sp28) {
|
||||||
|
|
@ -508,7 +507,7 @@ void func_80B3F044(EnDai* this, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
func_800EDF24(&this->actor, globalCtx, sp2C);
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, sp2C);
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnDai_Init(Actor* thisx, GlobalContext* globalCtx) {
|
void EnDai_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
|
|
|
||||||
|
|
@ -378,16 +378,16 @@ void func_80989BF8(EnDg* this) {
|
||||||
void func_80989D38(EnDg* this, GlobalContext* globalCtx) {
|
void func_80989D38(EnDg* this, GlobalContext* globalCtx) {
|
||||||
if (this->unk_286 == 21) {
|
if (this->unk_286 == 21) {
|
||||||
if (CURRENT_DAY == 1) {
|
if (CURRENT_DAY == 1) {
|
||||||
func_801518B0(globalCtx, 0x91C, NULL);
|
Message_StartTextbox(globalCtx, 0x91C, NULL);
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x91E, NULL);
|
Message_StartTextbox(globalCtx, 0x91E, NULL);
|
||||||
}
|
}
|
||||||
} else if ((this->unk_286 >= 0) && (this->unk_286 < 14)) {
|
} else if ((this->unk_286 >= 0) && (this->unk_286 < 14)) {
|
||||||
func_801518B0(globalCtx, D_8098C2A8[this->unk_286].unk_04, NULL);
|
Message_StartTextbox(globalCtx, D_8098C2A8[this->unk_286].unk_04, NULL);
|
||||||
} else if (this->unk_286 == 20) {
|
} else if (this->unk_286 == 20) {
|
||||||
func_801518B0(globalCtx, 0x353D, NULL);
|
Message_StartTextbox(globalCtx, 0x353D, NULL);
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x627, NULL);
|
Message_StartTextbox(globalCtx, 0x627, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -553,7 +553,7 @@ void func_8089B580(EnDinofos* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
if (this->skelAnime.curFrame > 35.0f) {
|
if (this->skelAnime.curFrame > 35.0f) {
|
||||||
if ((globalCtx->sceneNum == SCENE_MITURIN) && Animation_OnFrame(&this->skelAnime, 38.0f)) {
|
if ((globalCtx->sceneNum == SCENE_MITURIN) && Animation_OnFrame(&this->skelAnime, 38.0f)) {
|
||||||
globalCtx->envCtx.unk_C3 = 11;
|
globalCtx->envCtx.lightSettingOverride = 11;
|
||||||
}
|
}
|
||||||
|
|
||||||
Math_Vec3f_StepTo(&subCam->eye, &this->unk_2BC, 10.0f);
|
Math_Vec3f_StepTo(&subCam->eye, &this->unk_2BC, 10.0f);
|
||||||
|
|
@ -564,7 +564,7 @@ void func_8089B580(EnDinofos* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((globalCtx->sceneNum == SCENE_MITURIN) && Animation_OnFrame(&this->skelAnime, 55.0f)) {
|
if ((globalCtx->sceneNum == SCENE_MITURIN) && Animation_OnFrame(&this->skelAnime, 55.0f)) {
|
||||||
globalCtx->envCtx.unk_C3 = 0xFF;
|
globalCtx->envCtx.lightSettingOverride = 0xFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SkelAnime_Update(&this->skelAnime)) {
|
if (SkelAnime_Update(&this->skelAnime)) {
|
||||||
|
|
@ -1054,7 +1054,7 @@ void func_8089CB10(EnDinofos* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (globalCtx->sceneNum == SCENE_MITURIN) {
|
if (globalCtx->sceneNum == SCENE_MITURIN) {
|
||||||
globalCtx->envCtx.unk_C3 = 11;
|
globalCtx->envCtx.lightSettingOverride = 11;
|
||||||
}
|
}
|
||||||
|
|
||||||
this->actionFunc = func_8089CBEC;
|
this->actionFunc = func_8089CBEC;
|
||||||
|
|
@ -1115,7 +1115,7 @@ void func_8089CF00(EnDinofos* this, GlobalContext* globalCtx) {
|
||||||
Animation_PlayOnce(&this->skelAnime, &object_dinofos_Anim_0017B8);
|
Animation_PlayOnce(&this->skelAnime, &object_dinofos_Anim_0017B8);
|
||||||
this->colliderJntSph.base.atFlags &= ~AT_ON;
|
this->colliderJntSph.base.atFlags &= ~AT_ON;
|
||||||
if (globalCtx->sceneNum == SCENE_MITURIN) {
|
if (globalCtx->sceneNum == SCENE_MITURIN) {
|
||||||
globalCtx->envCtx.unk_C3 = 255;
|
globalCtx->envCtx.lightSettingOverride = 255;
|
||||||
}
|
}
|
||||||
this->actionFunc = func_8089CF70;
|
this->actionFunc = func_8089CF70;
|
||||||
}
|
}
|
||||||
|
|
@ -1285,7 +1285,7 @@ s32 func_8089D60C(EnDinofos* this, GlobalContext* globalCtx) {
|
||||||
func_8089ACEC(this, globalCtx);
|
func_8089ACEC(this, globalCtx);
|
||||||
func_8089AD70(this);
|
func_8089AD70(this);
|
||||||
if (globalCtx->sceneNum == SCENE_MITURIN) {
|
if (globalCtx->sceneNum == SCENE_MITURIN) {
|
||||||
globalCtx->envCtx.unk_C3 = 255;
|
globalCtx->envCtx.lightSettingOverride = 255;
|
||||||
}
|
}
|
||||||
|
|
||||||
this->colliderQuad.base.atFlags &= ~(AT_ON | AT_BOUNCED);
|
this->colliderQuad.base.atFlags &= ~(AT_ON | AT_BOUNCED);
|
||||||
|
|
|
||||||
|
|
@ -213,8 +213,8 @@ void func_80A51648(EnDnk* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80A51890(EnDnk* this, GlobalContext* globalCtx) {
|
void func_80A51890(EnDnk* this, GlobalContext* globalCtx) {
|
||||||
if (func_800EE29C(globalCtx, 0x7E)) {
|
if (Cutscene_CheckActorAction(globalCtx, 126)) {
|
||||||
func_800EDF24(&this->actor, globalCtx, func_800EE200(globalCtx, 0x7E));
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, Cutscene_GetActorActionIndex(globalCtx, 126));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -334,19 +334,19 @@ void func_80A71C3C(EnDno* this, GlobalContext* globalCtx) {
|
||||||
void func_80A71E54(EnDno* this, GlobalContext* globalCtx) {
|
void func_80A71E54(EnDno* this, GlobalContext* globalCtx) {
|
||||||
if (CHECK_QUEST_ITEM(QUEST_SONG_SONATA)) {
|
if (CHECK_QUEST_ITEM(QUEST_SONG_SONATA)) {
|
||||||
if (gSaveContext.weekEventReg[27] & 1) {
|
if (gSaveContext.weekEventReg[27] & 1) {
|
||||||
this->unk_464 = 0x811;
|
this->textId = 0x811;
|
||||||
} else {
|
} else {
|
||||||
this->unk_464 = 0x80F;
|
this->textId = 0x80F;
|
||||||
gSaveContext.weekEventReg[27] |= 1;
|
gSaveContext.weekEventReg[27] |= 1;
|
||||||
}
|
}
|
||||||
} else if (gSaveContext.weekEventReg[26] & 0x80) {
|
} else if (gSaveContext.weekEventReg[26] & 0x80) {
|
||||||
this->unk_464 = 0x80B;
|
this->textId = 0x80B;
|
||||||
} else {
|
} else {
|
||||||
this->unk_464 = 0x80C;
|
this->textId = 0x80C;
|
||||||
gSaveContext.weekEventReg[26] |= 0x80;
|
gSaveContext.weekEventReg[26] |= 0x80;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this->unk_464 != 0x811) {
|
if (this->textId != 0x811) {
|
||||||
this->unk_3B0 |= 0x10;
|
this->unk_3B0 |= 0x10;
|
||||||
} else {
|
} else {
|
||||||
this->unk_3B0 &= ~0x10;
|
this->unk_3B0 &= ~0x10;
|
||||||
|
|
@ -361,12 +361,12 @@ void func_80A71F18(EnDno* this, GlobalContext* globalCtx) {
|
||||||
case 0:
|
case 0:
|
||||||
if (!(this->unk_3B0 & 0x10) ||
|
if (!(this->unk_3B0 & 0x10) ||
|
||||||
Math_ScaledStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 0xE38)) {
|
Math_ScaledStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 0xE38)) {
|
||||||
switch (this->unk_464) {
|
switch (this->textId) {
|
||||||
case 0x80B:
|
case 0x80B:
|
||||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 16, &this->unk_32C);
|
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 16, &this->unk_32C);
|
||||||
|
|
||||||
case 0x811:
|
case 0x811:
|
||||||
func_801518B0(globalCtx, this->unk_464, &this->actor);
|
Message_StartTextbox(globalCtx, this->textId, &this->actor);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x80C:
|
case 0x80C:
|
||||||
|
|
@ -375,7 +375,7 @@ void func_80A71F18(EnDno* this, GlobalContext* globalCtx) {
|
||||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 4, &this->unk_32C);
|
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 4, &this->unk_32C);
|
||||||
} else if ((this->unk_32C == 4) && (this->skelAnime.curFrame == this->skelAnime.endFrame)) {
|
} else if ((this->unk_32C == 4) && (this->skelAnime.curFrame == this->skelAnime.endFrame)) {
|
||||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 11, &this->unk_32C);
|
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 11, &this->unk_32C);
|
||||||
func_801518B0(globalCtx, this->unk_464, &this->actor);
|
Message_StartTextbox(globalCtx, this->textId, &this->actor);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -548,11 +548,11 @@ void func_80A725F8(EnDno* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
} else if ((this->unk_32C == 5) && Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
|
} else if ((this->unk_32C == 5) && Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
|
||||||
if (Flags_GetSwitch(globalCtx, ENDNO_GET_3F80(&this->actor))) {
|
if (Flags_GetSwitch(globalCtx, ENDNO_GET_3F80(&this->actor))) {
|
||||||
func_801518B0(globalCtx, 0x801, &this->actor);
|
Message_StartTextbox(globalCtx, 0x801, &this->actor);
|
||||||
} else if (Player_GetMask(globalCtx) == PLAYER_MASK_SCENTS) {
|
} else if (Player_GetMask(globalCtx) == PLAYER_MASK_SCENTS) {
|
||||||
func_801518B0(globalCtx, 0x806, &this->actor);
|
Message_StartTextbox(globalCtx, 0x806, &this->actor);
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x800, &this->actor);
|
Message_StartTextbox(globalCtx, 0x800, &this->actor);
|
||||||
}
|
}
|
||||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 14, &this->unk_32C);
|
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 14, &this->unk_32C);
|
||||||
}
|
}
|
||||||
|
|
@ -561,12 +561,12 @@ void func_80A725F8(EnDno* this, GlobalContext* globalCtx) {
|
||||||
case 2:
|
case 2:
|
||||||
if (Math_ScaledStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 0x2D8)) {
|
if (Math_ScaledStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 0x2D8)) {
|
||||||
gSaveContext.weekEventReg[93] |= 2;
|
gSaveContext.weekEventReg[93] |= 2;
|
||||||
func_801518B0(globalCtx, 0x802, &this->actor);
|
Message_StartTextbox(globalCtx, 0x802, &this->actor);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
func_801518B0(globalCtx, 0x804, &this->actor);
|
Message_StartTextbox(globalCtx, 0x804, &this->actor);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -590,7 +590,7 @@ void func_80A725F8(EnDno* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
|
if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
|
||||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 12, &this->unk_32C);
|
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 12, &this->unk_32C);
|
||||||
func_801518B0(globalCtx, 0x803, &this->actor);
|
Message_StartTextbox(globalCtx, 0x803, &this->actor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -854,12 +854,12 @@ void func_80A732C8(EnDno* this, GlobalContext* globalCtx) {
|
||||||
void func_80A73408(EnDno* this, GlobalContext* globalCtx) {
|
void func_80A73408(EnDno* this, GlobalContext* globalCtx) {
|
||||||
s32 phi_a2;
|
s32 phi_a2;
|
||||||
u8 sp33 = true;
|
u8 sp33 = true;
|
||||||
u32 temp_v0;
|
s32 temp_v0;
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x1DB)) {
|
if (Cutscene_CheckActorAction(globalCtx, 475)) {
|
||||||
temp_v0 = func_800EE200(globalCtx, 0x1DB);
|
temp_v0 = Cutscene_GetActorActionIndex(globalCtx, 475);
|
||||||
if (this->unk_468 != globalCtx->csCtx.npcActions[temp_v0]->unk0) {
|
if (this->unk_468 != globalCtx->csCtx.actorActions[temp_v0]->action) {
|
||||||
switch (globalCtx->csCtx.npcActions[temp_v0]->unk0) {
|
switch (globalCtx->csCtx.actorActions[temp_v0]->action) {
|
||||||
case 1:
|
case 1:
|
||||||
phi_a2 = 13;
|
phi_a2 = 13;
|
||||||
break;
|
break;
|
||||||
|
|
@ -878,7 +878,7 @@ void func_80A73408(EnDno* this, GlobalContext* globalCtx) {
|
||||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, phi_a2, &this->unk_32C);
|
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, phi_a2, &this->unk_32C);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func_800EDF24(&this->actor, globalCtx, temp_v0);
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, temp_v0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) && (this->unk_32C == 17)) {
|
if ((Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) && (this->unk_32C == 17)) {
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@ typedef struct EnDno {
|
||||||
/* 0x458 */ s32 unk_458;
|
/* 0x458 */ s32 unk_458;
|
||||||
/* 0x45C */ s16 unk_45C;
|
/* 0x45C */ s16 unk_45C;
|
||||||
/* 0x460 */ Actor* unk_460;
|
/* 0x460 */ Actor* unk_460;
|
||||||
/* 0x464 */ u16 unk_464;
|
/* 0x464 */ u16 textId;
|
||||||
/* 0x466 */ s16 unk_466;
|
/* 0x466 */ s16 unk_466;
|
||||||
/* 0x468 */ u8 unk_468;
|
/* 0x468 */ u8 unk_468;
|
||||||
} EnDno; // size = 0x46C
|
} EnDno; // size = 0x46C
|
||||||
|
|
|
||||||
|
|
@ -244,18 +244,18 @@ void func_80B3D11C(EnDnp* this, GlobalContext* globalCtx) {
|
||||||
static s32 D_80B3DE74[] = {
|
static s32 D_80B3DE74[] = {
|
||||||
0, 16, 14, 10, 18, 12, 5, 7, 2, 19, 21, 22, 24, 8,
|
0, 16, 14, 10, 18, 12, 5, 7, 2, 19, 21, 22, 24, 8,
|
||||||
};
|
};
|
||||||
u32 temp_v0;
|
s32 temp_v0;
|
||||||
s32 val;
|
s32 val;
|
||||||
|
|
||||||
if (!(gSaveContext.weekEventReg[29] & 0x40) && (globalCtx->sceneNum == SCENE_MITURIN) &&
|
if (!(gSaveContext.weekEventReg[29] & 0x40) && (globalCtx->sceneNum == SCENE_MITURIN) &&
|
||||||
(globalCtx->csCtx.unk_12 == 0)) {
|
(globalCtx->csCtx.currentCsIndex == 0)) {
|
||||||
this->unk_322 |= 0x20;
|
this->unk_322 |= 0x20;
|
||||||
gSaveContext.weekEventReg[29] |= 0x40;
|
gSaveContext.weekEventReg[29] |= 0x40;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x65)) {
|
if (Cutscene_CheckActorAction(globalCtx, 101)) {
|
||||||
temp_v0 = func_800EE200(globalCtx, 0x65);
|
temp_v0 = Cutscene_GetActorActionIndex(globalCtx, 101);
|
||||||
val = globalCtx->csCtx.npcActions[temp_v0]->unk0;
|
val = globalCtx->csCtx.actorActions[temp_v0]->action;
|
||||||
if (this->unk_324 != (u8)val) {
|
if (this->unk_324 != (u8)val) {
|
||||||
func_80B3CC38(this, D_80B3DE74[val]);
|
func_80B3CC38(this, D_80B3DE74[val]);
|
||||||
if (this->unk_340 == 16) {
|
if (this->unk_340 == 16) {
|
||||||
|
|
@ -281,7 +281,7 @@ void func_80B3D11C(EnDnp* this, GlobalContext* globalCtx) {
|
||||||
Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
|
Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
|
||||||
func_80B3CC38(this, this->unk_340 + 1);
|
func_80B3CC38(this, this->unk_340 + 1);
|
||||||
}
|
}
|
||||||
func_800EDF24(&this->actor, globalCtx, temp_v0);
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, temp_v0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -345,7 +345,7 @@ void func_80A52DC8(EnDnq* this, GlobalContext* globalCtx) {
|
||||||
if (Interface_HasItemInBottle(ITEM_DEKU_PRINCESS) && !func_801690CC(globalCtx) &&
|
if (Interface_HasItemInBottle(ITEM_DEKU_PRINCESS) && !func_801690CC(globalCtx) &&
|
||||||
(Message_GetState(&globalCtx->msgCtx) == 0) && (ActorCutscene_GetCurrentIndex() == -1)) {
|
(Message_GetState(&globalCtx->msgCtx) == 0) && (ActorCutscene_GetCurrentIndex() == -1)) {
|
||||||
if ((DECR(this->unk_384) == 0) && (gSaveContext.weekEventReg[29] & 0x40)) {
|
if ((DECR(this->unk_384) == 0) && (gSaveContext.weekEventReg[29] & 0x40)) {
|
||||||
func_801518B0(globalCtx, 0x969, NULL);
|
Message_StartTextbox(globalCtx, 0x969, NULL);
|
||||||
this->unk_384 = 200;
|
this->unk_384 = 200;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -388,12 +388,12 @@ void func_80A53038(EnDnq* this, GlobalContext* globalCtx) {
|
||||||
static s32 D_80A535FC[] = {
|
static s32 D_80A535FC[] = {
|
||||||
0, 1, 2, 3, 5, 6,
|
0, 1, 2, 3, 5, 6,
|
||||||
};
|
};
|
||||||
u32 temp_v0;
|
s32 temp_v0;
|
||||||
u32 temp_v1;
|
u32 temp_v1;
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x69)) {
|
if (Cutscene_CheckActorAction(globalCtx, 105)) {
|
||||||
temp_v0 = func_800EE200(globalCtx, 0x69);
|
temp_v0 = Cutscene_GetActorActionIndex(globalCtx, 105);
|
||||||
temp_v1 = globalCtx->csCtx.npcActions[temp_v0]->unk0;
|
temp_v1 = globalCtx->csCtx.actorActions[temp_v0]->action;
|
||||||
if (this->unk_1DC != (u8)temp_v1) {
|
if (this->unk_1DC != (u8)temp_v1) {
|
||||||
func_80A5257C(this, D_80A535FC[temp_v1]);
|
func_80A5257C(this, D_80A535FC[temp_v1]);
|
||||||
this->unk_1DC = temp_v1;
|
this->unk_1DC = temp_v1;
|
||||||
|
|
@ -408,7 +408,7 @@ void func_80A53038(EnDnq* this, GlobalContext* globalCtx) {
|
||||||
func_80A5257C(this, this->unk_398 + 1);
|
func_80A5257C(this, this->unk_398 + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
func_800EDF24(&this->actor, globalCtx, temp_v0);
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, temp_v0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -210,16 +210,16 @@ s32* func_8092C9BC(EnDns* this, GlobalContext* globalCtx) {
|
||||||
s32 func_8092CA74(EnDns* this) {
|
s32 func_8092CA74(EnDns* this) {
|
||||||
switch (ENDNS_GET_7(&this->actor)) {
|
switch (ENDNS_GET_7(&this->actor)) {
|
||||||
case ENDNS_GET_7_0:
|
case ENDNS_GET_7_0:
|
||||||
return 0x1D1;
|
return 465;
|
||||||
|
|
||||||
case ENDNS_GET_7_1:
|
case ENDNS_GET_7_1:
|
||||||
return 0x1D2;
|
return 466;
|
||||||
|
|
||||||
case ENDNS_GET_7_2:
|
case ENDNS_GET_7_2:
|
||||||
return 0x1D3;
|
return 467;
|
||||||
|
|
||||||
case ENDNS_GET_7_3:
|
case ENDNS_GET_7_3:
|
||||||
return 0x1D4;
|
return 468;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
@ -480,12 +480,12 @@ void func_8092D5E8(EnDns* this, GlobalContext* globalCtx) {
|
||||||
EN_DNS_ANIMATION_SURPRISE_START,
|
EN_DNS_ANIMATION_SURPRISE_START,
|
||||||
EN_DNS_ANIMATION_RUN_START,
|
EN_DNS_ANIMATION_RUN_START,
|
||||||
};
|
};
|
||||||
u32 temp_v0;
|
s32 temp_v0;
|
||||||
u32 temp_v1;
|
u32 temp_v1;
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, this->unk_2C8)) {
|
if (Cutscene_CheckActorAction(globalCtx, this->unk_2C8)) {
|
||||||
temp_v0 = func_800EE200(globalCtx, this->unk_2C8);
|
temp_v0 = Cutscene_GetActorActionIndex(globalCtx, this->unk_2C8);
|
||||||
temp_v1 = globalCtx->csCtx.npcActions[temp_v0]->unk0;
|
temp_v1 = globalCtx->csCtx.actorActions[temp_v0]->action;
|
||||||
if (this->unk_1D8 != (u8)temp_v1) {
|
if (this->unk_1D8 != (u8)temp_v1) {
|
||||||
func_8092C63C(this, D_8092DE0C[temp_v1]);
|
func_8092C63C(this, D_8092DE0C[temp_v1]);
|
||||||
this->unk_1D8 = temp_v1;
|
this->unk_1D8 = temp_v1;
|
||||||
|
|
@ -497,7 +497,7 @@ void func_8092D5E8(EnDns* this, GlobalContext* globalCtx) {
|
||||||
func_8092C63C(this, this->animationIndex + 1);
|
func_8092C63C(this, this->animationIndex + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
func_800EDF24(&this->actor, globalCtx, temp_v0);
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, temp_v0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -854,8 +854,8 @@ void func_8088E60C(EnElf* this, GlobalContext* globalCtx) {
|
||||||
glowLightRadius = 0;
|
glowLightRadius = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0xC9)) {
|
if (Cutscene_CheckActorAction(globalCtx, 201)) {
|
||||||
if (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0xC9)]->unk0 == 6) {
|
if (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 201)]->action == 6) {
|
||||||
glowLightRadius = 0;
|
glowLightRadius = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -888,12 +888,12 @@ void func_8088E850(EnElf* this, GlobalContext* globalCtx) {
|
||||||
func_8088E5A8(this, globalCtx);
|
func_8088E5A8(this, globalCtx);
|
||||||
xScale = 0.0f;
|
xScale = 0.0f;
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0xC9)) {
|
if (Cutscene_CheckActorAction(globalCtx, 201)) {
|
||||||
sp38 = func_800EE200(globalCtx, 0xC9);
|
sp38 = Cutscene_GetActorActionIndex(globalCtx, 201);
|
||||||
func_808908D0(&nextPos, globalCtx, sp38);
|
func_808908D0(&nextPos, globalCtx, sp38);
|
||||||
this->actor.shape.rot.y = globalCtx->csCtx.npcActions[sp38]->unk8;
|
this->actor.shape.rot.y = globalCtx->csCtx.actorActions[sp38]->urot.y;
|
||||||
this->actor.shape.rot.x = globalCtx->csCtx.npcActions[sp38]->unk6;
|
this->actor.shape.rot.x = globalCtx->csCtx.actorActions[sp38]->urot.x;
|
||||||
if (globalCtx->csCtx.npcActions[sp38]->unk0 == 5) {
|
if (globalCtx->csCtx.actorActions[sp38]->action == 5) {
|
||||||
func_8088F5F4(this, globalCtx, 16);
|
func_8088F5F4(this, globalCtx, 16);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -904,14 +904,14 @@ void func_8088E850(EnElf* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((globalCtx->sceneNum == SCENE_CLOCKTOWER) && (gSaveContext.sceneSetupIndex == 0) &&
|
if ((globalCtx->sceneNum == SCENE_CLOCKTOWER) && (gSaveContext.sceneSetupIndex == 0) &&
|
||||||
(globalCtx->csCtx.unk_12 == 0) &&
|
(globalCtx->csCtx.currentCsIndex == 0) &&
|
||||||
((globalCtx->csCtx.frames == 149) || (globalCtx->csCtx.frames == 381) ||
|
((globalCtx->csCtx.frames == 149) || (globalCtx->csCtx.frames == 381) ||
|
||||||
(globalCtx->csCtx.frames == 591))) {
|
(globalCtx->csCtx.frames == 591))) {
|
||||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_WHITE_FAIRY_DASH);
|
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_WHITE_FAIRY_DASH);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((globalCtx->sceneNum == SCENE_SECOM) && (gSaveContext.sceneSetupIndex == 0) &&
|
if ((globalCtx->sceneNum == SCENE_SECOM) && (gSaveContext.sceneSetupIndex == 0) &&
|
||||||
(globalCtx->csCtx.unk_12 == 4) && (globalCtx->csCtx.frames == 95)) {
|
(globalCtx->csCtx.currentCsIndex == 4) && (globalCtx->csCtx.frames == 95)) {
|
||||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_WHITE_FAIRY_DASH);
|
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_WHITE_FAIRY_DASH);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -1016,7 +1016,7 @@ void func_8088E850(EnElf* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
func_8088E60C(this, globalCtx);
|
func_8088E60C(this, globalCtx);
|
||||||
|
|
||||||
if (!func_800EE29C(globalCtx, 0xC9)) {
|
if (!Cutscene_CheckActorAction(globalCtx, 0xC9)) {
|
||||||
this->actor.shape.rot.y = this->unk_258;
|
this->actor.shape.rot.y = this->unk_258;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1107,8 +1107,8 @@ void func_8088F214(EnElf* this, GlobalContext* globalCtx) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
|
|
||||||
if (globalCtx->csCtx.state != 0) {
|
if (globalCtx->csCtx.state != 0) {
|
||||||
if (func_800EE29C(globalCtx, 0xC9)) {
|
if (Cutscene_CheckActorAction(globalCtx, 201)) {
|
||||||
switch (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0xC9)]->unk0) {
|
switch (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 201)]->action) {
|
||||||
case 4:
|
case 4:
|
||||||
sp34 = 7;
|
sp34 = 7;
|
||||||
break;
|
break;
|
||||||
|
|
@ -1577,8 +1577,8 @@ void EnElf_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
if (player->currentMask != PLAYER_MASK_GIANT) {
|
if (player->currentMask != PLAYER_MASK_GIANT) {
|
||||||
if (!(this->fairyFlags & 8) &&
|
if (!(this->fairyFlags & 8) &&
|
||||||
(!func_800EE29C(globalCtx, 0xC9) ||
|
(!Cutscene_CheckActorAction(globalCtx, 201) ||
|
||||||
(globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0xC9)]->unk0 != 6)) &&
|
(globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 201)]->action != 6)) &&
|
||||||
(!(player->stateFlags1 & 0x100000) || (kREG(90) < this->actor.projectedPos.z))) {
|
(!(player->stateFlags1 & 0x100000) || (kREG(90) < this->actor.projectedPos.z))) {
|
||||||
Gfx* dListHead = GRAPH_ALLOC(globalCtx->state.gfxCtx, sizeof(Gfx) * 4);
|
Gfx* dListHead = GRAPH_ALLOC(globalCtx->state.gfxCtx, sizeof(Gfx) * 4);
|
||||||
f32 alphaScale;
|
f32 alphaScale;
|
||||||
|
|
@ -1621,17 +1621,17 @@ void EnElf_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
void func_808908D0(Vec3f* vec, GlobalContext* globalCtx, u32 action) {
|
void func_808908D0(Vec3f* vec, GlobalContext* globalCtx, u32 action) {
|
||||||
Vec3f startPos;
|
Vec3f startPos;
|
||||||
Vec3f endPos;
|
Vec3f endPos;
|
||||||
CsCmdActorAction* npcAction = globalCtx->csCtx.npcActions[action];
|
CsCmdActorAction* npcAction = globalCtx->csCtx.actorActions[action];
|
||||||
f32 lerp;
|
f32 lerp;
|
||||||
|
|
||||||
startPos.x = npcAction->unk0C.x;
|
startPos.x = npcAction->startPos.x;
|
||||||
startPos.y = npcAction->unk0C.y;
|
startPos.y = npcAction->startPos.y;
|
||||||
startPos.z = npcAction->unk0C.z;
|
startPos.z = npcAction->startPos.z;
|
||||||
|
|
||||||
endPos.x = npcAction->unk18.x;
|
endPos.x = npcAction->endPos.x;
|
||||||
endPos.y = npcAction->unk18.y;
|
endPos.y = npcAction->endPos.y;
|
||||||
endPos.z = npcAction->unk18.z;
|
endPos.z = npcAction->endPos.z;
|
||||||
|
|
||||||
lerp = func_800F5A8C(npcAction->endFrame, npcAction->startFrame, globalCtx->csCtx.frames, globalCtx);
|
lerp = Environment_LerpWeight(npcAction->endFrame, npcAction->startFrame, globalCtx->csCtx.frames);
|
||||||
VEC3F_LERPIMPDST(vec, &startPos, &endPos, lerp);
|
VEC3F_LERPIMPDST(vec, &startPos, &endPos, lerp);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -456,7 +456,7 @@ void EnElforg_FreeFloating(EnElforg* this, GlobalContext* globalCtx) {
|
||||||
if (STRAY_FAIRY_TYPE(&this->actor) == STRAY_FAIRY_TYPE_CLOCK_TOWN) {
|
if (STRAY_FAIRY_TYPE(&this->actor) == STRAY_FAIRY_TYPE_CLOCK_TOWN) {
|
||||||
player->actor.freezeTimer = 100;
|
player->actor.freezeTimer = 100;
|
||||||
player->stateFlags1 |= 0x20000000;
|
player->stateFlags1 |= 0x20000000;
|
||||||
func_801518B0(globalCtx, 0x579, NULL);
|
Message_StartTextbox(globalCtx, 0x579, NULL);
|
||||||
this->actionFunc = EnElforg_ClockTownFairyCollected;
|
this->actionFunc = EnElforg_ClockTownFairyCollected;
|
||||||
ActorCutscene_SetIntentToPlay(0x7C);
|
ActorCutscene_SetIntentToPlay(0x7C);
|
||||||
return;
|
return;
|
||||||
|
|
@ -464,7 +464,7 @@ void EnElforg_FreeFloating(EnElforg* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
if (func_8010A074(globalCtx)) {
|
if (func_8010A074(globalCtx)) {
|
||||||
gSaveContext.inventory.strayFairies[gSaveContext.unk_48C8]++;
|
gSaveContext.inventory.strayFairies[gSaveContext.unk_48C8]++;
|
||||||
func_801518B0(globalCtx, 0x11, NULL);
|
Message_StartTextbox(globalCtx, 0x11, NULL);
|
||||||
if (gSaveContext.inventory.strayFairies[(void)0, gSaveContext.unk_48C8] >= 15) {
|
if (gSaveContext.inventory.strayFairies[(void)0, gSaveContext.unk_48C8] >= 15) {
|
||||||
func_801A3098(NA_BGM_GET_ITEM | 0x900);
|
func_801A3098(NA_BGM_GET_ITEM | 0x900);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -313,7 +313,8 @@ void EnFall_Setup(EnFall* this, GlobalContext* globalCtx) {
|
||||||
void EnFall_CrashingMoon_HandleGiantsCutscene(EnFall* this, GlobalContext* globalCtx) {
|
void EnFall_CrashingMoon_HandleGiantsCutscene(EnFall* this, GlobalContext* globalCtx) {
|
||||||
static s32 sGiantsCutsceneState = 0;
|
static s32 sGiantsCutsceneState = 0;
|
||||||
|
|
||||||
if (globalCtx->sceneNum == SCENE_00KEIKOKU && gSaveContext.sceneSetupIndex == 1 && globalCtx->csCtx.unk_12 == 0) {
|
if (globalCtx->sceneNum == SCENE_00KEIKOKU && gSaveContext.sceneSetupIndex == 1 &&
|
||||||
|
globalCtx->csCtx.currentCsIndex == 0) {
|
||||||
switch (sGiantsCutsceneState) {
|
switch (sGiantsCutsceneState) {
|
||||||
case 0:
|
case 0:
|
||||||
if (globalCtx->csCtx.state != 0) {
|
if (globalCtx->csCtx.state != 0) {
|
||||||
|
|
@ -357,14 +358,15 @@ void EnFall_CrashingMoon_HandleGiantsCutscene(EnFall* this, GlobalContext* globa
|
||||||
|
|
||||||
void EnFall_CrashingMoon_PerformCutsceneActions(EnFall* this, GlobalContext* globalCtx) {
|
void EnFall_CrashingMoon_PerformCutsceneActions(EnFall* this, GlobalContext* globalCtx) {
|
||||||
EnFall_CrashingMoon_HandleGiantsCutscene(this, globalCtx);
|
EnFall_CrashingMoon_HandleGiantsCutscene(this, globalCtx);
|
||||||
if (func_800EE29C(globalCtx, 0x85)) {
|
if (Cutscene_CheckActorAction(globalCtx, 0x85)) {
|
||||||
if (func_800EE29C(globalCtx, 0x85) && globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x85)]->unk0 == 1) {
|
if (Cutscene_CheckActorAction(globalCtx, 133) &&
|
||||||
|
globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 133)]->action == 1) {
|
||||||
this->actor.draw = NULL;
|
this->actor.draw = NULL;
|
||||||
} else {
|
} else {
|
||||||
this->actor.draw = EnFall_Moon_Draw;
|
this->actor.draw = EnFall_Moon_Draw;
|
||||||
if (func_800EE29C(globalCtx, 0x85) &&
|
if (Cutscene_CheckActorAction(globalCtx, 133) &&
|
||||||
globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x85)]->unk0 == 2) {
|
globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 133)]->action == 2) {
|
||||||
func_800EDF24(&this->actor, globalCtx, func_800EE200(globalCtx, 0x85));
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, Cutscene_GetActorActionIndex(globalCtx, 133));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -373,8 +375,8 @@ void EnFall_CrashingMoon_PerformCutsceneActions(EnFall* this, GlobalContext* glo
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnFall_StoppedOpenMouthMoon_PerformCutsceneActions(EnFall* this, GlobalContext* globalCtx) {
|
void EnFall_StoppedOpenMouthMoon_PerformCutsceneActions(EnFall* this, GlobalContext* globalCtx) {
|
||||||
if (func_800EE29C(globalCtx, 0x85)) {
|
if (Cutscene_CheckActorAction(globalCtx, 133)) {
|
||||||
switch (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x85)]->unk0) {
|
switch (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 133)]->action) {
|
||||||
case 3:
|
case 3:
|
||||||
if (this->eyeGlowIntensity == 0.0f) {
|
if (this->eyeGlowIntensity == 0.0f) {
|
||||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_MOON_EYE_FLASH);
|
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_MOON_EYE_FLASH);
|
||||||
|
|
@ -393,10 +395,10 @@ void EnFall_StoppedOpenMouthMoon_PerformCutsceneActions(EnFall* this, GlobalCont
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnFall_StoppedClosedMouthMoon_PerformCutsceneActions(EnFall* this, GlobalContext* globalCtx) {
|
void EnFall_StoppedClosedMouthMoon_PerformCutsceneActions(EnFall* this, GlobalContext* globalCtx) {
|
||||||
if (func_800EE29C(globalCtx, 0x85)) {
|
if (Cutscene_CheckActorAction(globalCtx, 133)) {
|
||||||
switch (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x85)]->unk0) {
|
switch (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 133)]->action) {
|
||||||
case 2:
|
case 2:
|
||||||
func_800EDF24(&this->actor, globalCtx, func_800EE200(globalCtx, 0x85));
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, Cutscene_GetActorActionIndex(globalCtx, 133));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 4:
|
case 4:
|
||||||
|
|
@ -406,7 +408,7 @@ void EnFall_StoppedClosedMouthMoon_PerformCutsceneActions(EnFall* this, GlobalCo
|
||||||
}
|
}
|
||||||
|
|
||||||
if (globalCtx->sceneNum == SCENE_OKUJOU && gSaveContext.sceneSetupIndex == 2) {
|
if (globalCtx->sceneNum == SCENE_OKUJOU && gSaveContext.sceneSetupIndex == 2) {
|
||||||
switch (globalCtx->csCtx.unk_12) {
|
switch (globalCtx->csCtx.currentCsIndex) {
|
||||||
case 0:
|
case 0:
|
||||||
switch (globalCtx->csCtx.frames) {
|
switch (globalCtx->csCtx.frames) {
|
||||||
case 1060:
|
case 1060:
|
||||||
|
|
@ -460,15 +462,16 @@ void EnFall_ClockTowerOrTitleScreenMoon_PerformCutsceneActions(EnFall* this, Glo
|
||||||
void EnFall_Moon_PerformDefaultActions(EnFall* this, GlobalContext* globalCtx) {
|
void EnFall_Moon_PerformDefaultActions(EnFall* this, GlobalContext* globalCtx) {
|
||||||
u16 currentDay;
|
u16 currentDay;
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x85)) {
|
if (Cutscene_CheckActorAction(globalCtx, 133)) {
|
||||||
if (func_800EE29C(globalCtx, 0x85) && globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x85)]->unk0 == 1) {
|
if (Cutscene_CheckActorAction(globalCtx, 133) &&
|
||||||
|
globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 133)]->action == 1) {
|
||||||
this->actor.draw = NULL;
|
this->actor.draw = NULL;
|
||||||
} else {
|
} else {
|
||||||
Actor_SetScale(&this->actor, this->scale * 3.6f);
|
Actor_SetScale(&this->actor, this->scale * 3.6f);
|
||||||
this->actor.draw = EnFall_Moon_Draw;
|
this->actor.draw = EnFall_Moon_Draw;
|
||||||
if (func_800EE29C(globalCtx, 0x85) &&
|
if (Cutscene_CheckActorAction(globalCtx, 133) &&
|
||||||
globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x85)]->unk0 == 2) {
|
globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 133)]->action == 2) {
|
||||||
func_800EDF24(&this->actor, globalCtx, func_800EE200(globalCtx, 0x85));
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, Cutscene_GetActorActionIndex(globalCtx, 133));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -506,7 +509,8 @@ void EnFall_MoonsTear_DoNothing(EnFall* this, GlobalContext* globalCtx) {
|
||||||
void EnFall_MoonsTear_Fall(EnFall* this, GlobalContext* globalCtx) {
|
void EnFall_MoonsTear_Fall(EnFall* this, GlobalContext* globalCtx) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x205) && globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x205)]->unk0 == 2 &&
|
if (Cutscene_CheckActorAction(globalCtx, 517) &&
|
||||||
|
globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 517)]->action == 2 &&
|
||||||
this->actor.draw == NULL) {
|
this->actor.draw == NULL) {
|
||||||
EnFall_MoonsTear_Initialize(this);
|
EnFall_MoonsTear_Initialize(this);
|
||||||
}
|
}
|
||||||
|
|
@ -569,11 +573,12 @@ void EnFall_Fireball_SetPerVertexAlpha(f32 fireballAlpha) {
|
||||||
void EnFall_Fireball_Update(Actor* thisx, GlobalContext* globalCtx) {
|
void EnFall_Fireball_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
EnFall* this = THIS;
|
EnFall* this = THIS;
|
||||||
|
|
||||||
if (globalCtx->sceneNum == SCENE_00KEIKOKU && gSaveContext.sceneSetupIndex == 0 && globalCtx->csCtx.unk_12 == 2) {
|
if (globalCtx->sceneNum == SCENE_00KEIKOKU && gSaveContext.sceneSetupIndex == 0 &&
|
||||||
|
globalCtx->csCtx.currentCsIndex == 2) {
|
||||||
globalCtx->skyboxCtx.rotY -= 0.05f;
|
globalCtx->skyboxCtx.rotY -= 0.05f;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x1C2)) {
|
if (Cutscene_CheckActorAction(globalCtx, 450)) {
|
||||||
this->actor.draw = EnFall_Fireball_Draw;
|
this->actor.draw = EnFall_Fireball_Draw;
|
||||||
if (this->flags & FLAG_FIRE_BALL_INTENSIFIES) {
|
if (this->flags & FLAG_FIRE_BALL_INTENSIFIES) {
|
||||||
this->fireballIntensity += 0.01f;
|
this->fireballIntensity += 0.01f;
|
||||||
|
|
@ -581,9 +586,9 @@ void EnFall_Fireball_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
this->fireballIntensity = 1.0f;
|
this->fireballIntensity = 1.0f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func_800EDF24(&this->actor, globalCtx, func_800EE200(globalCtx, 0x1C2));
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, Cutscene_GetActorActionIndex(globalCtx, 450));
|
||||||
|
|
||||||
switch (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x1C2)]->unk0) {
|
switch (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 450)]->action) {
|
||||||
default:
|
default:
|
||||||
this->actor.draw = NULL;
|
this->actor.draw = NULL;
|
||||||
this->fireballAlpha = 0;
|
this->fireballAlpha = 0;
|
||||||
|
|
@ -620,7 +625,7 @@ void EnFall_Fireball_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
this->actor.draw = NULL;
|
this->actor.draw = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x1C2) && this->fireballAlpha > 0) {
|
if (Cutscene_CheckActorAction(globalCtx, 0x1C2) && this->fireballAlpha > 0) {
|
||||||
func_8019F128(NA_SE_EV_MOON_FALL_LAST - SFX_FLAG);
|
func_8019F128(NA_SE_EV_MOON_FALL_LAST - SFX_FLAG);
|
||||||
}
|
}
|
||||||
Actor_SetScale(&this->actor, this->scale * 1.74f);
|
Actor_SetScale(&this->actor, this->scale * 1.74f);
|
||||||
|
|
@ -677,9 +682,9 @@ s32 EnFall_RisingDebris_InitializeParticles(EnFall* this) {
|
||||||
void EnFall_RisingDebris_Update(Actor* thisx, GlobalContext* globalCtx) {
|
void EnFall_RisingDebris_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
EnFall* this = THIS;
|
EnFall* this = THIS;
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x1C3)) {
|
if (Cutscene_CheckActorAction(globalCtx, 451)) {
|
||||||
if (func_800EE29C(globalCtx, 0x1C3) &&
|
if (Cutscene_CheckActorAction(globalCtx, 451) &&
|
||||||
globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x1C3)]->unk0 == 2) {
|
globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 451)]->action == 2) {
|
||||||
EnFall_RisingDebris_UpdateParticles(this);
|
EnFall_RisingDebris_UpdateParticles(this);
|
||||||
EnFall_RisingDebris_InitializeParticles(this);
|
EnFall_RisingDebris_InitializeParticles(this);
|
||||||
} else if (this->activeDebrisParticleCount != 0) {
|
} else if (this->activeDebrisParticleCount != 0) {
|
||||||
|
|
@ -694,7 +699,8 @@ void EnFall_RisingDebris_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
void EnFall_FireRing_Update(Actor* thisx, GlobalContext* globalCtx) {
|
void EnFall_FireRing_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
EnFall* this = THIS;
|
EnFall* this = THIS;
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x1C2) && globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x1C2)]->unk0 == 5) {
|
if (Cutscene_CheckActorAction(globalCtx, 450) &&
|
||||||
|
globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 450)]->action == 5) {
|
||||||
if (!(this->flags & FLAG_FIRE_RING_APPEARS)) {
|
if (!(this->flags & FLAG_FIRE_RING_APPEARS)) {
|
||||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_IT_DM_RING_EXPLOSION);
|
Actor_PlaySfxAtPos(&this->actor, NA_SE_IT_DM_RING_EXPLOSION);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1123,11 +1123,11 @@ void EnFishing_UpdateEffects(FishingEffect* effect, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (effect->unk_2C == 30) {
|
if (effect->unk_2C == 30) {
|
||||||
func_801518B0(globalCtx, 0x40B3, NULL);
|
Message_StartTextbox(globalCtx, 0x40B3, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((effect->unk_2C >= 100) && (Message_GetState(&globalCtx->msgCtx) == 5)) {
|
if ((effect->unk_2C >= 100) && (Message_GetState(&globalCtx->msgCtx) == 5)) {
|
||||||
if (func_80147624(globalCtx) || !Message_GetState(&globalCtx->msgCtx)) {
|
if (func_80147624(globalCtx) || Message_GetState(&globalCtx->msgCtx) == 0) {
|
||||||
func_801477B4(globalCtx);
|
func_801477B4(globalCtx);
|
||||||
func_801159EC(-50);
|
func_801159EC(-50);
|
||||||
effect->unk_2C = -1;
|
effect->unk_2C = -1;
|
||||||
|
|
@ -3079,7 +3079,7 @@ void EnFishing_UpdateFish(Actor* thisx, GlobalContext* globalCtx2) {
|
||||||
this->unk_172[1] = 50;
|
this->unk_172[1] = 50;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Message_GetState(&globalCtx->msgCtx)) {
|
if (Message_GetState(&globalCtx->msgCtx) == 0) {
|
||||||
if ((gSaveContext.time >= 0xC000) && (gSaveContext.time <= 0xC01B)) {
|
if ((gSaveContext.time >= 0xC000) && (gSaveContext.time <= 0xC01B)) {
|
||||||
this->unk_150 = 7;
|
this->unk_150 = 7;
|
||||||
this->unk_172[3] = Rand_ZeroFloat(150.0f) + 200.0f;
|
this->unk_172[3] = Rand_ZeroFloat(150.0f) + 200.0f;
|
||||||
|
|
@ -3793,7 +3793,7 @@ void EnFishing_UpdateFish(Actor* thisx, GlobalContext* globalCtx2) {
|
||||||
player->unk_B28 = 3;
|
player->unk_B28 = 3;
|
||||||
func_8013EC44(0.0f, 1, 3, 1);
|
func_8013EC44(0.0f, 1, 3, 1);
|
||||||
D_809171D8++;
|
D_809171D8++;
|
||||||
func_800EA0D4(globalCtx, &globalCtx->csCtx);
|
Cutscene_Start(globalCtx, &globalCtx->csCtx);
|
||||||
D_8090CD4C = 100;
|
D_8090CD4C = 100;
|
||||||
D_80911F48 = 45.0f;
|
D_80911F48 = 45.0f;
|
||||||
D_8090CD14 = 5;
|
D_8090CD14 = 5;
|
||||||
|
|
@ -3875,7 +3875,7 @@ void EnFishing_UpdateFish(Actor* thisx, GlobalContext* globalCtx2) {
|
||||||
if (this->unk_172[0] <= 50) {
|
if (this->unk_172[0] <= 50) {
|
||||||
switch (this->unk_1CD) {
|
switch (this->unk_1CD) {
|
||||||
case 0:
|
case 0:
|
||||||
if ((Message_GetState(&globalCtx->msgCtx) == 4) || !Message_GetState(&globalCtx->msgCtx)) {
|
if ((Message_GetState(&globalCtx->msgCtx) == 4) || Message_GetState(&globalCtx->msgCtx) == 0) {
|
||||||
if (func_80147624(globalCtx)) {
|
if (func_80147624(globalCtx)) {
|
||||||
func_801477B4(globalCtx);
|
func_801477B4(globalCtx);
|
||||||
if (globalCtx->msgCtx.choiceIndex == 0) {
|
if (globalCtx->msgCtx.choiceIndex == 0) {
|
||||||
|
|
@ -3888,7 +3888,7 @@ void EnFishing_UpdateFish(Actor* thisx, GlobalContext* globalCtx2) {
|
||||||
((s16)this->unk_1A4 < (s16)D_8090CCF0)) {
|
((s16)this->unk_1A4 < (s16)D_8090CCF0)) {
|
||||||
this->unk_1CD = 1;
|
this->unk_1CD = 1;
|
||||||
this->unk_172[0] = 0x3C;
|
this->unk_172[0] = 0x3C;
|
||||||
func_801518B0(globalCtx, 0x4098, NULL);
|
Message_StartTextbox(globalCtx, 0x4098, NULL);
|
||||||
} else {
|
} else {
|
||||||
f32 temp1 = D_8090CCF0;
|
f32 temp1 = D_8090CCF0;
|
||||||
s16 temp2 = D_809171D0;
|
s16 temp2 = D_809171D0;
|
||||||
|
|
@ -3906,7 +3906,7 @@ void EnFishing_UpdateFish(Actor* thisx, GlobalContext* globalCtx2) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
if ((Message_GetState(&globalCtx->msgCtx) == 4) || !Message_GetState(&globalCtx->msgCtx)) {
|
if ((Message_GetState(&globalCtx->msgCtx) == 4) || Message_GetState(&globalCtx->msgCtx) == 0) {
|
||||||
if (func_80147624(globalCtx)) {
|
if (func_80147624(globalCtx)) {
|
||||||
func_801477B4(globalCtx);
|
func_801477B4(globalCtx);
|
||||||
if (globalCtx->msgCtx.choiceIndex != 0) {
|
if (globalCtx->msgCtx.choiceIndex != 0) {
|
||||||
|
|
@ -4904,7 +4904,7 @@ void EnFishing_HandleOwnerDialog(EnFishing* this, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 11:
|
case 11:
|
||||||
if (((Message_GetState(&globalCtx->msgCtx) == 5) || !Message_GetState(&globalCtx->msgCtx)) &&
|
if (((Message_GetState(&globalCtx->msgCtx) == 5) || Message_GetState(&globalCtx->msgCtx) == 0) &&
|
||||||
func_80147624(globalCtx)) {
|
func_80147624(globalCtx)) {
|
||||||
s32 getItemId;
|
s32 getItemId;
|
||||||
|
|
||||||
|
|
@ -5008,7 +5008,7 @@ void EnFishing_HandleOwnerDialog(EnFishing* this, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 22:
|
case 22:
|
||||||
if (!Message_GetState(&globalCtx->msgCtx)) {
|
if (Message_GetState(&globalCtx->msgCtx) == 0) {
|
||||||
this->unk_154 = 0;
|
this->unk_154 = 0;
|
||||||
if (D_8090CD0C != 0) {
|
if (D_8090CD0C != 0) {
|
||||||
D_8090CD08 = 1;
|
D_8090CD08 = 1;
|
||||||
|
|
@ -5034,7 +5034,7 @@ void EnFishing_HandleOwnerDialog(EnFishing* this, GlobalContext* globalCtx) {
|
||||||
if (D_809171D0 == 0) {
|
if (D_809171D0 == 0) {
|
||||||
this->unk_154 = 0;
|
this->unk_154 = 0;
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x409C, NULL);
|
Message_StartTextbox(globalCtx, 0x409C, NULL);
|
||||||
this->unk_154 = 20;
|
this->unk_154 = 20;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -5125,7 +5125,7 @@ void EnFishing_UpdateOwner(Actor* thisx, GlobalContext* globalCtx2) {
|
||||||
if ((sqrtf(SQ(dx) + SQ(dy) + SQ(dz)) < 25.0f)) {
|
if ((sqrtf(SQ(dx) + SQ(dy) + SQ(dz)) < 25.0f)) {
|
||||||
D_8090CD08 = 0;
|
D_8090CD08 = 0;
|
||||||
D_8090CD0C = 1;
|
D_8090CD0C = 1;
|
||||||
func_801518B0(globalCtx, 0x4087, NULL);
|
Message_StartTextbox(globalCtx, 0x4087, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -5138,7 +5138,7 @@ void EnFishing_UpdateOwner(Actor* thisx, GlobalContext* globalCtx2) {
|
||||||
if (D_8090CCFC != 0) {
|
if (D_8090CCFC != 0) {
|
||||||
D_8090CCFC--;
|
D_8090CCFC--;
|
||||||
if (D_8090CCFC == 0) {
|
if (D_8090CCFC == 0) {
|
||||||
func_801518B0(globalCtx, D_809171DA, NULL);
|
Message_StartTextbox(globalCtx, D_809171DA, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -5201,7 +5201,7 @@ void EnFishing_UpdateOwner(Actor* thisx, GlobalContext* globalCtx2) {
|
||||||
// fallthrough
|
// fallthrough
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
ShrinkWindow_SetLetterboxTarget(0x1B);
|
ShrinkWindow_SetLetterboxTarget(27);
|
||||||
|
|
||||||
spFC.x = sLurePos.x - player->actor.world.pos.x;
|
spFC.x = sLurePos.x - player->actor.world.pos.x;
|
||||||
spFC.z = sLurePos.z - player->actor.world.pos.z;
|
spFC.z = sLurePos.z - player->actor.world.pos.z;
|
||||||
|
|
@ -5302,17 +5302,17 @@ void EnFishing_UpdateOwner(Actor* thisx, GlobalContext* globalCtx2) {
|
||||||
camera->at = sCameraAt;
|
camera->at = sCameraAt;
|
||||||
}
|
}
|
||||||
func_80169AFC(globalCtx, sCameraId, 0);
|
func_80169AFC(globalCtx, sCameraId, 0);
|
||||||
func_800EA0EC(globalCtx, &globalCtx->csCtx);
|
Cutscene_End(globalCtx, &globalCtx->csCtx);
|
||||||
D_8090CD4C = 0;
|
D_8090CD4C = 0;
|
||||||
sCameraId = CAM_ID_MAIN;
|
sCameraId = CAM_ID_MAIN;
|
||||||
func_800F6834(globalCtx, 0);
|
func_800F6834(globalCtx, 0);
|
||||||
globalCtx->envCtx.unk_8C.fogNear = 0;
|
globalCtx->envCtx.lightSettings.fogNear = 0;
|
||||||
player->unk_B28 = -5;
|
player->unk_B28 = -5;
|
||||||
D_80917200 = 5;
|
D_80917200 = 5;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 10:
|
case 10:
|
||||||
func_800EA0D4(globalCtx, &globalCtx->csCtx);
|
Cutscene_Start(globalCtx, &globalCtx->csCtx);
|
||||||
sCameraId = Play_CreateSubCamera(globalCtx);
|
sCameraId = Play_CreateSubCamera(globalCtx);
|
||||||
Play_CameraChangeStatus(globalCtx, CAM_ID_MAIN, 1);
|
Play_CameraChangeStatus(globalCtx, CAM_ID_MAIN, 1);
|
||||||
Play_CameraChangeStatus(globalCtx, sCameraId, 7);
|
Play_CameraChangeStatus(globalCtx, sCameraId, 7);
|
||||||
|
|
@ -5324,7 +5324,7 @@ void EnFishing_UpdateOwner(Actor* thisx, GlobalContext* globalCtx2) {
|
||||||
sCameraAt.x = camera->at.x;
|
sCameraAt.x = camera->at.x;
|
||||||
sCameraAt.y = camera->at.y;
|
sCameraAt.y = camera->at.y;
|
||||||
sCameraAt.z = camera->at.z;
|
sCameraAt.z = camera->at.z;
|
||||||
func_801518B0(globalCtx, 0x409E, NULL);
|
Message_StartTextbox(globalCtx, 0x409E, NULL);
|
||||||
D_8090CD4C = 11;
|
D_8090CD4C = 11;
|
||||||
func_8013EC44(0.0f, 150, 10, 10);
|
func_8013EC44(0.0f, 150, 10, 10);
|
||||||
// fallthrough
|
// fallthrough
|
||||||
|
|
@ -5333,25 +5333,25 @@ void EnFishing_UpdateOwner(Actor* thisx, GlobalContext* globalCtx2) {
|
||||||
player->actor.world.pos.z = 1360.0f;
|
player->actor.world.pos.z = 1360.0f;
|
||||||
player->actor.speedXZ = 0.0f;
|
player->actor.speedXZ = 0.0f;
|
||||||
|
|
||||||
if (!Message_GetState(&globalCtx->msgCtx)) {
|
if (Message_GetState(&globalCtx->msgCtx) == 0) {
|
||||||
camera = Play_GetCamera(globalCtx, CAM_ID_MAIN);
|
camera = Play_GetCamera(globalCtx, CAM_ID_MAIN);
|
||||||
|
|
||||||
camera->eye = sCameraEye;
|
camera->eye = sCameraEye;
|
||||||
camera->eyeNext = sCameraEye;
|
camera->eyeNext = sCameraEye;
|
||||||
camera->at = sCameraAt;
|
camera->at = sCameraAt;
|
||||||
func_80169AFC(globalCtx, sCameraId, 0);
|
func_80169AFC(globalCtx, sCameraId, 0);
|
||||||
func_800EA0EC(globalCtx, &globalCtx->csCtx);
|
Cutscene_End(globalCtx, &globalCtx->csCtx);
|
||||||
func_800B7298(globalCtx, &this->actor, 6);
|
func_800B7298(globalCtx, &this->actor, 6);
|
||||||
D_8090CD4C = 0;
|
D_8090CD4C = 0;
|
||||||
sCameraId = CAM_ID_MAIN;
|
sCameraId = CAM_ID_MAIN;
|
||||||
D_8090CD50 = 30;
|
D_8090CD50 = 30;
|
||||||
func_800F6834(globalCtx, 0);
|
func_800F6834(globalCtx, 0);
|
||||||
globalCtx->envCtx.unk_8C.fogNear = 0;
|
globalCtx->envCtx.lightSettings.fogNear = 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 20:
|
case 20:
|
||||||
func_800EA0D4(globalCtx, &globalCtx->csCtx);
|
Cutscene_Start(globalCtx, &globalCtx->csCtx);
|
||||||
sCameraId = Play_CreateSubCamera(globalCtx);
|
sCameraId = Play_CreateSubCamera(globalCtx);
|
||||||
Play_CameraChangeStatus(globalCtx, CAM_ID_MAIN, 1);
|
Play_CameraChangeStatus(globalCtx, CAM_ID_MAIN, 1);
|
||||||
Play_CameraChangeStatus(globalCtx, sCameraId, 7);
|
Play_CameraChangeStatus(globalCtx, sCameraId, 7);
|
||||||
|
|
@ -5363,7 +5363,7 @@ void EnFishing_UpdateOwner(Actor* thisx, GlobalContext* globalCtx2) {
|
||||||
sCameraAt.x = camera->at.x;
|
sCameraAt.x = camera->at.x;
|
||||||
sCameraAt.y = camera->at.y;
|
sCameraAt.y = camera->at.y;
|
||||||
sCameraAt.z = camera->at.z;
|
sCameraAt.z = camera->at.z;
|
||||||
func_801518B0(globalCtx, 0x409A, NULL);
|
Message_StartTextbox(globalCtx, 0x409A, NULL);
|
||||||
D_8090CD4C = 21;
|
D_8090CD4C = 21;
|
||||||
D_80911F48 = 45.0f;
|
D_80911F48 = 45.0f;
|
||||||
D_8090CD50 = 10;
|
D_8090CD50 = 10;
|
||||||
|
|
@ -5426,7 +5426,7 @@ void EnFishing_UpdateOwner(Actor* thisx, GlobalContext* globalCtx2) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (D_8090CD50 == 0) {
|
if (D_8090CD50 == 0) {
|
||||||
if ((Message_GetState(&globalCtx->msgCtx) == 4) || !Message_GetState(&globalCtx->msgCtx)) {
|
if ((Message_GetState(&globalCtx->msgCtx) == 4) || Message_GetState(&globalCtx->msgCtx) == 0) {
|
||||||
if (func_80147624(globalCtx)) {
|
if (func_80147624(globalCtx)) {
|
||||||
Camera* camera = Play_GetCamera(globalCtx, CAM_ID_MAIN);
|
Camera* camera = Play_GetCamera(globalCtx, CAM_ID_MAIN);
|
||||||
|
|
||||||
|
|
@ -5440,7 +5440,7 @@ void EnFishing_UpdateOwner(Actor* thisx, GlobalContext* globalCtx2) {
|
||||||
camera->eyeNext = sCameraEye;
|
camera->eyeNext = sCameraEye;
|
||||||
camera->at = sCameraAt;
|
camera->at = sCameraAt;
|
||||||
func_80169AFC(globalCtx, sCameraId, 0);
|
func_80169AFC(globalCtx, sCameraId, 0);
|
||||||
func_800EA0EC(globalCtx, &globalCtx->csCtx);
|
Cutscene_End(globalCtx, &globalCtx->csCtx);
|
||||||
func_800B7298(globalCtx, &this->actor, 6); // arg2 changed from 7 to 6 in MM
|
func_800B7298(globalCtx, &this->actor, 6); // arg2 changed from 7 to 6 in MM
|
||||||
D_8090CD4C = 0;
|
D_8090CD4C = 0;
|
||||||
sCameraId = CAM_ID_MAIN;
|
sCameraId = CAM_ID_MAIN;
|
||||||
|
|
@ -5449,7 +5449,7 @@ void EnFishing_UpdateOwner(Actor* thisx, GlobalContext* globalCtx2) {
|
||||||
D_8090CD54 = 0;
|
D_8090CD54 = 0;
|
||||||
D_809171F6 = 20;
|
D_809171F6 = 20;
|
||||||
func_800F6834(globalCtx, 0);
|
func_800F6834(globalCtx, 0);
|
||||||
globalCtx->envCtx.unk_8C.fogNear = 0;
|
globalCtx->envCtx.lightSettings.fogNear = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -5466,13 +5466,13 @@ void EnFishing_UpdateOwner(Actor* thisx, GlobalContext* globalCtx2) {
|
||||||
if (sCameraEye.y <= (WATER_SURFACE_Y(globalCtx) + 1.0f)) {
|
if (sCameraEye.y <= (WATER_SURFACE_Y(globalCtx) + 1.0f)) {
|
||||||
func_800F6834(globalCtx, 1);
|
func_800F6834(globalCtx, 1);
|
||||||
if (D_809171CA != 0) {
|
if (D_809171CA != 0) {
|
||||||
globalCtx->envCtx.unk_8C.fogNear = -0xB2;
|
globalCtx->envCtx.lightSettings.fogNear = -0xB2;
|
||||||
} else {
|
} else {
|
||||||
globalCtx->envCtx.unk_8C.fogNear = -0x2E;
|
globalCtx->envCtx.lightSettings.fogNear = -0x2E;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
func_800F6834(globalCtx, 0);
|
func_800F6834(globalCtx, 0);
|
||||||
globalCtx->envCtx.unk_8C.fogNear = 0;
|
globalCtx->envCtx.lightSettings.fogNear = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -5518,7 +5518,7 @@ void EnFishing_UpdateOwner(Actor* thisx, GlobalContext* globalCtx2) {
|
||||||
D_809171CB--;
|
D_809171CB--;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((D_809171CB == 1) && !Message_GetState(&globalCtx->msgCtx) && ((D_8090CD00 & 0xFFF) == 0xFFF)) {
|
if ((D_809171CB == 1) && Message_GetState(&globalCtx->msgCtx) == 0 && ((D_8090CD00 & 0xFFF) == 0xFFF)) {
|
||||||
D_809171CB = 200;
|
D_809171CB = 200;
|
||||||
|
|
||||||
if (Rand_ZeroOne() < 0.5f) {
|
if (Rand_ZeroOne() < 0.5f) {
|
||||||
|
|
@ -5556,8 +5556,8 @@ void EnFishing_UpdateOwner(Actor* thisx, GlobalContext* globalCtx2) {
|
||||||
Math_ApproachZeroF(&D_8090CCD8, 1.0f, 2.0f);
|
Math_ApproachZeroF(&D_8090CCD8, 1.0f, 2.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
globalCtx->envCtx.unk_8C.diffuseColor1[0] = globalCtx->envCtx.unk_8C.diffuseColor1[1] =
|
globalCtx->envCtx.lightSettings.diffuseColor1[0] = globalCtx->envCtx.lightSettings.diffuseColor1[1] =
|
||||||
globalCtx->envCtx.unk_8C.diffuseColor1[2] = D_8090CCD8;
|
globalCtx->envCtx.lightSettings.diffuseColor1[2] = D_8090CCD8;
|
||||||
|
|
||||||
if ((u8)D_8090CCD0 > 0) {
|
if ((u8)D_8090CCD0 > 0) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
|
|
|
||||||
|
|
@ -172,7 +172,7 @@ void EnFsn_HandleConversationBackroom(EnFsn* this, GlobalContext* globalCtx) {
|
||||||
this->flags |= ENFSN_END_CONVERSATION;
|
this->flags |= ENFSN_END_CONVERSATION;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
func_801518B0(globalCtx, this->textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->textId, &this->actor);
|
||||||
if (this->flags & ENFSN_END_CONVERSATION) {
|
if (this->flags & ENFSN_END_CONVERSATION) {
|
||||||
if (this->flags & ENFSN_GAVE_LETTER_TO_MAMA) {
|
if (this->flags & ENFSN_GAVE_LETTER_TO_MAMA) {
|
||||||
this->flags &= ~ENFSN_GAVE_LETTER_TO_MAMA;
|
this->flags &= ~ENFSN_GAVE_LETTER_TO_MAMA;
|
||||||
|
|
@ -382,7 +382,7 @@ void EnFsn_EndInteraction(EnFsn* this, GlobalContext* globalCtx) {
|
||||||
s32 EnFsn_TestEndInteraction(EnFsn* this, GlobalContext* globalCtx, Input* input) {
|
s32 EnFsn_TestEndInteraction(EnFsn* this, GlobalContext* globalCtx, Input* input) {
|
||||||
if (CHECK_BTN_ALL(input->press.button, BTN_B)) {
|
if (CHECK_BTN_ALL(input->press.button, BTN_B)) {
|
||||||
this->actor.textId = (CURRENT_DAY == 3) ? 0x29DF : 0x29D1;
|
this->actor.textId = (CURRENT_DAY == 3) ? 0x29DF : 0x29D1;
|
||||||
func_801518B0(globalCtx, this->actor.textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->actor.textId, &this->actor);
|
||||||
func_80151BB4(globalCtx, 3);
|
func_80151BB4(globalCtx, 3);
|
||||||
this->actionFunc = EnFsn_SetupEndInteraction;
|
this->actionFunc = EnFsn_SetupEndInteraction;
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -424,12 +424,12 @@ s32 EnFsn_FacingShopkeeperDialogResult(EnFsn* this, GlobalContext* globalCtx) {
|
||||||
} else {
|
} else {
|
||||||
this->actor.textId = 0x29D8;
|
this->actor.textId = 0x29D8;
|
||||||
}
|
}
|
||||||
func_801518B0(globalCtx, this->actor.textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->actor.textId, &this->actor);
|
||||||
return true;
|
return true;
|
||||||
case 1:
|
case 1:
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
this->actor.textId = (CURRENT_DAY == 3) ? 0x29DF : 0x29D1;
|
this->actor.textId = (CURRENT_DAY == 3) ? 0x29DF : 0x29D1;
|
||||||
func_801518B0(globalCtx, this->actor.textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->actor.textId, &this->actor);
|
||||||
func_80151BB4(globalCtx, 3);
|
func_80151BB4(globalCtx, 3);
|
||||||
this->actionFunc = EnFsn_SetupEndInteraction;
|
this->actionFunc = EnFsn_SetupEndInteraction;
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -725,7 +725,7 @@ void EnFsn_Idle(EnFsn* this, GlobalContext* globalCtx) {
|
||||||
this->cutsceneState = 1;
|
this->cutsceneState = 1;
|
||||||
}
|
}
|
||||||
this->actor.textId = EnFsn_GetWelcome(globalCtx);
|
this->actor.textId = EnFsn_GetWelcome(globalCtx);
|
||||||
func_801518B0(globalCtx, this->actor.textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->actor.textId, &this->actor);
|
||||||
player->actor.world.pos.x = 1.0f;
|
player->actor.world.pos.x = 1.0f;
|
||||||
player->actor.world.pos.z = -34.0f;
|
player->actor.world.pos.z = -34.0f;
|
||||||
this->actionFunc = EnFsn_BeginInteraction;
|
this->actionFunc = EnFsn_BeginInteraction;
|
||||||
|
|
@ -806,16 +806,16 @@ void EnFsn_StartBuying(EnFsn* this, GlobalContext* globalCtx) {
|
||||||
switch (this->actor.textId) {
|
switch (this->actor.textId) {
|
||||||
case 0x29CC:
|
case 0x29CC:
|
||||||
this->actor.textId = 0x29CD;
|
this->actor.textId = 0x29CD;
|
||||||
func_801518B0(globalCtx, this->actor.textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->actor.textId, &this->actor);
|
||||||
break;
|
break;
|
||||||
case 0x29CD:
|
case 0x29CD:
|
||||||
this->actor.textId = 0x29CE;
|
this->actor.textId = 0x29CE;
|
||||||
EnFsn_HandleLookToShopkeeperBuyingCutscene(this);
|
EnFsn_HandleLookToShopkeeperBuyingCutscene(this);
|
||||||
func_801518B0(globalCtx, this->actor.textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->actor.textId, &this->actor);
|
||||||
break;
|
break;
|
||||||
case 0x29CE:
|
case 0x29CE:
|
||||||
this->actor.textId = 0xFF;
|
this->actor.textId = 0xFF;
|
||||||
func_801518B0(globalCtx, this->actor.textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->actor.textId, &this->actor);
|
||||||
this->actionFunc = EnFsn_DeterminePrice;
|
this->actionFunc = EnFsn_DeterminePrice;
|
||||||
break;
|
break;
|
||||||
case 0x29CF:
|
case 0x29CF:
|
||||||
|
|
@ -838,7 +838,7 @@ void EnFsn_AskBuyOrSell(EnFsn* this, GlobalContext* globalCtx) {
|
||||||
} else {
|
} else {
|
||||||
this->actor.textId = 0x29D2;
|
this->actor.textId = 0x29D2;
|
||||||
}
|
}
|
||||||
func_801518B0(globalCtx, this->actor.textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->actor.textId, &this->actor);
|
||||||
break;
|
break;
|
||||||
case 0x29D2:
|
case 0x29D2:
|
||||||
if (gSaveContext.weekEventReg[33] & 4) {
|
if (gSaveContext.weekEventReg[33] & 4) {
|
||||||
|
|
@ -848,14 +848,14 @@ void EnFsn_AskBuyOrSell(EnFsn* this, GlobalContext* globalCtx) {
|
||||||
} else {
|
} else {
|
||||||
this->actor.textId = 0x29D4;
|
this->actor.textId = 0x29D4;
|
||||||
}
|
}
|
||||||
func_801518B0(globalCtx, this->actor.textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->actor.textId, &this->actor);
|
||||||
break;
|
break;
|
||||||
case 0x29D3:
|
case 0x29D3:
|
||||||
case 0x29D4:
|
case 0x29D4:
|
||||||
case 0x29FA:
|
case 0x29FA:
|
||||||
case 0x2A01:
|
case 0x2A01:
|
||||||
this->actor.textId = 0x29D5;
|
this->actor.textId = 0x29D5;
|
||||||
func_801518B0(globalCtx, this->actor.textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->actor.textId, &this->actor);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -870,7 +870,7 @@ void EnFsn_AskBuyOrSell(EnFsn* this, GlobalContext* globalCtx) {
|
||||||
this->stickLeftPrompt.isEnabled = false;
|
this->stickLeftPrompt.isEnabled = false;
|
||||||
this->stickRightPrompt.isEnabled = trueTmp;
|
this->stickRightPrompt.isEnabled = trueTmp;
|
||||||
this->actor.textId = 0x29D6;
|
this->actor.textId = 0x29D6;
|
||||||
func_801518B0(globalCtx, this->actor.textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->actor.textId, &this->actor);
|
||||||
this->actionFunc = EnFsn_FaceShopkeeperSelling;
|
this->actionFunc = EnFsn_FaceShopkeeperSelling;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
|
|
@ -878,7 +878,7 @@ void EnFsn_AskBuyOrSell(EnFsn* this, GlobalContext* globalCtx) {
|
||||||
this->isSelling = false;
|
this->isSelling = false;
|
||||||
this->actor.textId = 0x29CE;
|
this->actor.textId = 0x29CE;
|
||||||
EnFsn_HandleLookToShopkeeperBuyingCutscene(this);
|
EnFsn_HandleLookToShopkeeperBuyingCutscene(this);
|
||||||
func_801518B0(globalCtx, this->actor.textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->actor.textId, &this->actor);
|
||||||
this->actionFunc = EnFsn_StartBuying;
|
this->actionFunc = EnFsn_StartBuying;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -889,7 +889,7 @@ void EnFsn_AskBuyOrSell(EnFsn* this, GlobalContext* globalCtx) {
|
||||||
void EnFsn_SetupDeterminePrice(EnFsn* this, GlobalContext* globalCtx) {
|
void EnFsn_SetupDeterminePrice(EnFsn* this, GlobalContext* globalCtx) {
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
this->actor.textId = 0xFF;
|
this->actor.textId = 0xFF;
|
||||||
func_801518B0(globalCtx, this->actor.textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->actor.textId, &this->actor);
|
||||||
this->actionFunc = EnFsn_DeterminePrice;
|
this->actionFunc = EnFsn_DeterminePrice;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -924,7 +924,7 @@ void EnFsn_DeterminePrice(EnFsn* this, GlobalContext* globalCtx) {
|
||||||
} else {
|
} else {
|
||||||
this->actor.textId = 0x29D1;
|
this->actor.textId = 0x29D1;
|
||||||
}
|
}
|
||||||
func_801518B0(globalCtx, this->actor.textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->actor.textId, &this->actor);
|
||||||
func_80151BB4(globalCtx, 3);
|
func_80151BB4(globalCtx, 3);
|
||||||
this->actionFunc = EnFsn_SetupEndInteraction;
|
this->actionFunc = EnFsn_SetupEndInteraction;
|
||||||
}
|
}
|
||||||
|
|
@ -1011,7 +1011,7 @@ void EnFsn_ResumeInteraction(EnFsn* this, GlobalContext* globalCtx) {
|
||||||
this->cutscene = this->lookToShopkeeperCutscene;
|
this->cutscene = this->lookToShopkeeperCutscene;
|
||||||
this->actor.textId = (this->numSellingItems <= 0) ? 0x29DE : 0x29D6;
|
this->actor.textId = (this->numSellingItems <= 0) ? 0x29DE : 0x29D6;
|
||||||
}
|
}
|
||||||
func_801518B0(globalCtx, this->actor.textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->actor.textId, &this->actor);
|
||||||
if (ActorCutscene_GetCurrentIndex() == 0x7C) {
|
if (ActorCutscene_GetCurrentIndex() == 0x7C) {
|
||||||
ActorCutscene_Stop(0x7C);
|
ActorCutscene_Stop(0x7C);
|
||||||
}
|
}
|
||||||
|
|
@ -1232,13 +1232,13 @@ void EnFsn_AskCanBuyMore(EnFsn* this, GlobalContext* globalCtx) {
|
||||||
case 0:
|
case 0:
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
this->actor.textId = 0xFF;
|
this->actor.textId = 0xFF;
|
||||||
func_801518B0(globalCtx, this->actor.textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->actor.textId, &this->actor);
|
||||||
this->actionFunc = EnFsn_DeterminePrice;
|
this->actionFunc = EnFsn_DeterminePrice;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
this->actor.textId = (CURRENT_DAY == 3) ? 0x29DF : 0x29D1;
|
this->actor.textId = (CURRENT_DAY == 3) ? 0x29DF : 0x29D1;
|
||||||
func_801518B0(globalCtx, this->actor.textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->actor.textId, &this->actor);
|
||||||
func_80151BB4(globalCtx, 3);
|
func_80151BB4(globalCtx, 3);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -1279,13 +1279,13 @@ void EnFsn_AskCanBuyAterRunningOutOfItems(EnFsn* this, GlobalContext* globalCtx)
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
this->isSelling = false;
|
this->isSelling = false;
|
||||||
this->actor.textId = 0x29CE;
|
this->actor.textId = 0x29CE;
|
||||||
func_801518B0(globalCtx, this->actor.textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->actor.textId, &this->actor);
|
||||||
this->actionFunc = EnFsn_StartBuying;
|
this->actionFunc = EnFsn_StartBuying;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
this->actor.textId = (CURRENT_DAY == 3) ? 0x29DF : 0x29D1;
|
this->actor.textId = (CURRENT_DAY == 3) ? 0x29DF : 0x29D1;
|
||||||
func_801518B0(globalCtx, this->actor.textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->actor.textId, &this->actor);
|
||||||
func_80151BB4(globalCtx, 3);
|
func_80151BB4(globalCtx, 3);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -1324,7 +1324,7 @@ void EnFsn_FaceShopkeeperSelling(EnFsn* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
} else if (talkState == 5 && func_80147624(globalCtx)) {
|
} else if (talkState == 5 && func_80147624(globalCtx)) {
|
||||||
this->actor.textId = 0x29D6;
|
this->actor.textId = 0x29D6;
|
||||||
func_801518B0(globalCtx, this->actor.textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->actor.textId, &this->actor);
|
||||||
if (globalCtx) {}
|
if (globalCtx) {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -387,33 +387,33 @@ void func_80962340(EnFu* this, GlobalContext* globalCtx) {
|
||||||
if (this->unk_54A == 2) {
|
if (this->unk_54A == 2) {
|
||||||
if (this->unk_552 == 0x287D) {
|
if (this->unk_552 == 0x287D) {
|
||||||
if (gSaveContext.playerForm == PLAYER_FORM_DEKU) {
|
if (gSaveContext.playerForm == PLAYER_FORM_DEKU) {
|
||||||
func_801518B0(globalCtx, 0x287E, &this->actor);
|
Message_StartTextbox(globalCtx, 0x287E, &this->actor);
|
||||||
this->unk_552 = 0x287E;
|
this->unk_552 = 0x287E;
|
||||||
} else if ((CURRENT_DAY == 3) && (gSaveContext.weekEventReg[22] & 0x10) &&
|
} else if ((CURRENT_DAY == 3) && (gSaveContext.weekEventReg[22] & 0x10) &&
|
||||||
(gSaveContext.weekEventReg[22] & 0x20)) {
|
(gSaveContext.weekEventReg[22] & 0x20)) {
|
||||||
if ((gSaveContext.weekEventReg[22] & 0x40)) {
|
if ((gSaveContext.weekEventReg[22] & 0x40)) {
|
||||||
func_801518B0(globalCtx, 0x2883, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2883, &this->actor);
|
||||||
this->unk_552 = 0x2883;
|
this->unk_552 = 0x2883;
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x2880, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2880, &this->actor);
|
||||||
this->unk_552 = 0x2880;
|
this->unk_552 = 0x2880;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x287E, &this->actor);
|
Message_StartTextbox(globalCtx, 0x287E, &this->actor);
|
||||||
this->unk_552 = 0x287E;
|
this->unk_552 = 0x287E;
|
||||||
}
|
}
|
||||||
} else if ((gSaveContext.unk_3DE0[4] == 0) && (this->unk_552 != 0x2888)) {
|
} else if ((gSaveContext.unk_3DE0[4] == 0) && (this->unk_552 != 0x2888)) {
|
||||||
func_801518B0(globalCtx, 0x2886, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2886, &this->actor);
|
||||||
this->unk_552 = 0x2886;
|
this->unk_552 = 0x2886;
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x2889, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2889, &this->actor);
|
||||||
this->unk_552 = 0x2889;
|
this->unk_552 = 0x2889;
|
||||||
}
|
}
|
||||||
this->actor.flags &= ~ACTOR_FLAG_10000;
|
this->actor.flags &= ~ACTOR_FLAG_10000;
|
||||||
player->stateFlags1 &= ~0x20;
|
player->stateFlags1 &= ~0x20;
|
||||||
this->unk_54A = 1;
|
this->unk_54A = 1;
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x283C, &this->actor);
|
Message_StartTextbox(globalCtx, 0x283C, &this->actor);
|
||||||
this->unk_552 = 0x283C;
|
this->unk_552 = 0x283C;
|
||||||
}
|
}
|
||||||
func_809628BC(this);
|
func_809628BC(this);
|
||||||
|
|
@ -435,12 +435,12 @@ void func_80962588(EnFu* this, GlobalContext* globalCtx) {
|
||||||
func_80963DE4(this, globalCtx);
|
func_80963DE4(this, globalCtx);
|
||||||
} else {
|
} else {
|
||||||
play_sound(NA_SE_SY_ERROR);
|
play_sound(NA_SE_SY_ERROR);
|
||||||
func_801518B0(globalCtx, 0x2873, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2873, &this->actor);
|
||||||
this->unk_552 = 0x2873;
|
this->unk_552 = 0x2873;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
func_801518B0(globalCtx, 0x2872, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2872, &this->actor);
|
||||||
this->unk_552 = 0x2872;
|
this->unk_552 = 0x2872;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -468,7 +468,7 @@ void func_80962660(EnFu* this, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x2846:
|
case 0x2846:
|
||||||
func_801518B0(globalCtx, 0x2849, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2849, &this->actor);
|
||||||
this->unk_552 = 0x2849;
|
this->unk_552 = 0x2849;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -519,7 +519,7 @@ void func_80962660(EnFu* this, GlobalContext* globalCtx) {
|
||||||
case 0x286A:
|
case 0x286A:
|
||||||
case 0x286C:
|
case 0x286C:
|
||||||
case 0x286E:
|
case 0x286E:
|
||||||
func_801518B0(globalCtx, 0x2871, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2871, &this->actor);
|
||||||
this->unk_552 = 0x2871;
|
this->unk_552 = 0x2871;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -527,7 +527,7 @@ void func_80962660(EnFu* this, GlobalContext* globalCtx) {
|
||||||
case 0x2878:
|
case 0x2878:
|
||||||
case 0x287A:
|
case 0x287A:
|
||||||
case 0x287C:
|
case 0x287C:
|
||||||
func_801518B0(globalCtx, 0x287D, &this->actor);
|
Message_StartTextbox(globalCtx, 0x287D, &this->actor);
|
||||||
this->unk_552 = 0x287D;
|
this->unk_552 = 0x287D;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -774,7 +774,7 @@ void func_80962F4C(EnFu* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (func_80961D10(this)) {
|
if (func_80961D10(this)) {
|
||||||
func_801518B0(globalCtx, 0x288B, &this->actor);
|
Message_StartTextbox(globalCtx, 0x288B, &this->actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((!DynaPolyActor_IsInRidingRotatingState((DynaPolyActor*)this->actor.child) &&
|
if ((!DynaPolyActor_IsInRidingRotatingState((DynaPolyActor*)this->actor.child) &&
|
||||||
|
|
@ -785,10 +785,10 @@ void func_80962F4C(EnFu* this, GlobalContext* globalCtx) {
|
||||||
player->stateFlags1 |= 0x20;
|
player->stateFlags1 |= 0x20;
|
||||||
if (this->unk_548 < this->unk_54C) {
|
if (this->unk_548 < this->unk_54C) {
|
||||||
if (gSaveContext.unk_3DE0[4] == 0) {
|
if (gSaveContext.unk_3DE0[4] == 0) {
|
||||||
func_801518B0(globalCtx, 0x2885, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2885, &this->actor);
|
||||||
this->unk_552 = 0x2885;
|
this->unk_552 = 0x2885;
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x2888, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2888, &this->actor);
|
||||||
this->unk_552 = 0x2888;
|
this->unk_552 = 0x2888;
|
||||||
}
|
}
|
||||||
func_801A2C20();
|
func_801A2C20();
|
||||||
|
|
@ -899,18 +899,18 @@ void func_80963630(EnFu* this, GlobalContext* globalCtx) {
|
||||||
if ((gSaveContext.weekEventReg[22] & 0x10) && (gSaveContext.weekEventReg[22] & 0x20) && (CURRENT_DAY == 3) &&
|
if ((gSaveContext.weekEventReg[22] & 0x10) && (gSaveContext.weekEventReg[22] & 0x20) && (CURRENT_DAY == 3) &&
|
||||||
(gSaveContext.playerForm == PLAYER_FORM_HUMAN)) {
|
(gSaveContext.playerForm == PLAYER_FORM_HUMAN)) {
|
||||||
if (gSaveContext.weekEventReg[22] & 0x40) {
|
if (gSaveContext.weekEventReg[22] & 0x40) {
|
||||||
func_801518B0(globalCtx, 0x2884, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2884, &this->actor);
|
||||||
this->unk_552 = 0x2884;
|
this->unk_552 = 0x2884;
|
||||||
} else if (!(gSaveContext.weekEventReg[22] & 0x80)) {
|
} else if (!(gSaveContext.weekEventReg[22] & 0x80)) {
|
||||||
gSaveContext.weekEventReg[22] |= 0x80;
|
gSaveContext.weekEventReg[22] |= 0x80;
|
||||||
func_801518B0(globalCtx, 0x2882, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2882, &this->actor);
|
||||||
this->unk_552 = 0x2882;
|
this->unk_552 = 0x2882;
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x2881, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2881, &this->actor);
|
||||||
this->unk_552 = 0x2881;
|
this->unk_552 = 0x2881;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x287F, &this->actor);
|
Message_StartTextbox(globalCtx, 0x287F, &this->actor);
|
||||||
this->unk_552 = 0x287F;
|
this->unk_552 = 0x287F;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -969,46 +969,46 @@ s32 func_80963810(GlobalContext* globalCtx, Vec3f pos) {
|
||||||
s32 func_809638F8(GlobalContext* globalCtx) {
|
s32 func_809638F8(GlobalContext* globalCtx) {
|
||||||
s32 ret = true;
|
s32 ret = true;
|
||||||
|
|
||||||
if (globalCtx->envCtx.unk_8C.diffuseColor1[0] > 25) {
|
if (globalCtx->envCtx.lightSettings.diffuseColor1[0] > 25) {
|
||||||
globalCtx->envCtx.unk_8C.diffuseColor1[0] -= 25;
|
globalCtx->envCtx.lightSettings.diffuseColor1[0] -= 25;
|
||||||
ret = false;
|
ret = false;
|
||||||
} else {
|
} else {
|
||||||
globalCtx->envCtx.unk_8C.diffuseColor1[0] = 0;
|
globalCtx->envCtx.lightSettings.diffuseColor1[0] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (globalCtx->envCtx.unk_8C.diffuseColor1[1] > 25) {
|
if (globalCtx->envCtx.lightSettings.diffuseColor1[1] > 25) {
|
||||||
globalCtx->envCtx.unk_8C.diffuseColor1[1] -= 25;
|
globalCtx->envCtx.lightSettings.diffuseColor1[1] -= 25;
|
||||||
ret = false;
|
ret = false;
|
||||||
} else {
|
} else {
|
||||||
globalCtx->envCtx.unk_8C.diffuseColor1[1] = 0;
|
globalCtx->envCtx.lightSettings.diffuseColor1[1] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (globalCtx->envCtx.unk_8C.diffuseColor1[2] > 25) {
|
if (globalCtx->envCtx.lightSettings.diffuseColor1[2] > 25) {
|
||||||
globalCtx->envCtx.unk_8C.diffuseColor1[2] -= 25;
|
globalCtx->envCtx.lightSettings.diffuseColor1[2] -= 25;
|
||||||
ret = false;
|
ret = false;
|
||||||
} else {
|
} else {
|
||||||
globalCtx->envCtx.unk_8C.diffuseColor1[2] = 0;
|
globalCtx->envCtx.lightSettings.diffuseColor1[2] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (globalCtx->envCtx.unk_8C.ambientColor[0] > 25) {
|
if (globalCtx->envCtx.lightSettings.ambientColor[0] > 25) {
|
||||||
globalCtx->envCtx.unk_8C.ambientColor[0] -= 25;
|
globalCtx->envCtx.lightSettings.ambientColor[0] -= 25;
|
||||||
ret = false;
|
ret = false;
|
||||||
} else {
|
} else {
|
||||||
globalCtx->envCtx.unk_8C.ambientColor[0] = 0;
|
globalCtx->envCtx.lightSettings.ambientColor[0] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (globalCtx->envCtx.unk_8C.ambientColor[1] > 25) {
|
if (globalCtx->envCtx.lightSettings.ambientColor[1] > 25) {
|
||||||
globalCtx->envCtx.unk_8C.ambientColor[1] -= 25;
|
globalCtx->envCtx.lightSettings.ambientColor[1] -= 25;
|
||||||
ret = false;
|
ret = false;
|
||||||
} else {
|
} else {
|
||||||
globalCtx->envCtx.unk_8C.ambientColor[1] = 0;
|
globalCtx->envCtx.lightSettings.ambientColor[1] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (globalCtx->envCtx.unk_8C.ambientColor[2] > 25) {
|
if (globalCtx->envCtx.lightSettings.ambientColor[2] > 25) {
|
||||||
globalCtx->envCtx.unk_8C.ambientColor[2] -= 25;
|
globalCtx->envCtx.lightSettings.ambientColor[2] -= 25;
|
||||||
ret = false;
|
ret = false;
|
||||||
} else {
|
} else {
|
||||||
globalCtx->envCtx.unk_8C.ambientColor[2] = 0;
|
globalCtx->envCtx.lightSettings.ambientColor[2] = 0;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
@ -1018,50 +1018,50 @@ void func_809639D0(EnFu* this, GlobalContext* globalCtx) {
|
||||||
case 1:
|
case 1:
|
||||||
if (gSaveContext.playerForm == PLAYER_FORM_HUMAN) {
|
if (gSaveContext.playerForm == PLAYER_FORM_HUMAN) {
|
||||||
if (CUR_UPG_VALUE(UPG_BOMB_BAG) == 0) {
|
if (CUR_UPG_VALUE(UPG_BOMB_BAG) == 0) {
|
||||||
func_801518B0(globalCtx, 0x2853, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2853, &this->actor);
|
||||||
this->unk_552 = 0x2853;
|
this->unk_552 = 0x2853;
|
||||||
} else if (gSaveContext.weekEventReg[22] & 0x10) {
|
} else if (gSaveContext.weekEventReg[22] & 0x10) {
|
||||||
func_801518B0(globalCtx, 0x284D, &this->actor);
|
Message_StartTextbox(globalCtx, 0x284D, &this->actor);
|
||||||
this->unk_552 = 0x284D;
|
this->unk_552 = 0x284D;
|
||||||
} else if (this->unk_53E == 1) {
|
} else if (this->unk_53E == 1) {
|
||||||
func_801518B0(globalCtx, 0x284F, &this->actor);
|
Message_StartTextbox(globalCtx, 0x284F, &this->actor);
|
||||||
this->unk_552 = 0x284F;
|
this->unk_552 = 0x284F;
|
||||||
} else {
|
} else {
|
||||||
this->unk_53E = 1;
|
this->unk_53E = 1;
|
||||||
func_801518B0(globalCtx, 0x2851, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2851, &this->actor);
|
||||||
this->unk_552 = 0x2851;
|
this->unk_552 = 0x2851;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x286F, &this->actor);
|
Message_StartTextbox(globalCtx, 0x286F, &this->actor);
|
||||||
this->unk_552 = 0x286F;
|
this->unk_552 = 0x286F;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
if (gSaveContext.playerForm != PLAYER_FORM_HUMAN) {
|
if (gSaveContext.playerForm != PLAYER_FORM_HUMAN) {
|
||||||
func_801518B0(globalCtx, 0x286F, &this->actor);
|
Message_StartTextbox(globalCtx, 0x286F, &this->actor);
|
||||||
this->unk_552 = 0x286F;
|
this->unk_552 = 0x286F;
|
||||||
} else if (CUR_UPG_VALUE(UPG_BOMB_BAG) == 0) {
|
} else if (CUR_UPG_VALUE(UPG_BOMB_BAG) == 0) {
|
||||||
func_801518B0(globalCtx, 0x2853, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2853, &this->actor);
|
||||||
this->unk_552 = 0x2853;
|
this->unk_552 = 0x2853;
|
||||||
} else if (!(gSaveContext.weekEventReg[22] & 0x10)) {
|
} else if (!(gSaveContext.weekEventReg[22] & 0x10)) {
|
||||||
if (this->unk_53E == 1) {
|
if (this->unk_53E == 1) {
|
||||||
func_801518B0(globalCtx, 0x285B, &this->actor);
|
Message_StartTextbox(globalCtx, 0x285B, &this->actor);
|
||||||
this->unk_552 = 0x285B;
|
this->unk_552 = 0x285B;
|
||||||
} else {
|
} else {
|
||||||
this->unk_53E = 1;
|
this->unk_53E = 1;
|
||||||
func_801518B0(globalCtx, 0x285D, &this->actor);
|
Message_StartTextbox(globalCtx, 0x285D, &this->actor);
|
||||||
this->unk_552 = 0x285D;
|
this->unk_552 = 0x285D;
|
||||||
}
|
}
|
||||||
} else if (gSaveContext.weekEventReg[22] & 0x20) {
|
} else if (gSaveContext.weekEventReg[22] & 0x20) {
|
||||||
func_801518B0(globalCtx, 0x2855, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2855, &this->actor);
|
||||||
this->unk_552 = 0x2855;
|
this->unk_552 = 0x2855;
|
||||||
} else if (this->unk_53E == 1) {
|
} else if (this->unk_53E == 1) {
|
||||||
func_801518B0(globalCtx, 0x2857, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2857, &this->actor);
|
||||||
this->unk_552 = 0x2857;
|
this->unk_552 = 0x2857;
|
||||||
} else {
|
} else {
|
||||||
this->unk_53E = 1;
|
this->unk_53E = 1;
|
||||||
func_801518B0(globalCtx, 0x2859, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2859, &this->actor);
|
||||||
this->unk_552 = 0x2859;
|
this->unk_552 = 0x2859;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -1071,44 +1071,44 @@ void func_809639D0(EnFu* this, GlobalContext* globalCtx) {
|
||||||
if (gSaveContext.playerForm == PLAYER_FORM_DEKU) {
|
if (gSaveContext.playerForm == PLAYER_FORM_DEKU) {
|
||||||
func_80963EAC(this, globalCtx);
|
func_80963EAC(this, globalCtx);
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x2841, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2841, &this->actor);
|
||||||
this->unk_552 = 0x2841;
|
this->unk_552 = 0x2841;
|
||||||
}
|
}
|
||||||
} else if (CUR_UPG_VALUE(UPG_QUIVER) == 0) {
|
} else if (CUR_UPG_VALUE(UPG_QUIVER) == 0) {
|
||||||
func_801518B0(globalCtx, 0x284B, &this->actor);
|
Message_StartTextbox(globalCtx, 0x284B, &this->actor);
|
||||||
this->unk_552 = 0x284B;
|
this->unk_552 = 0x284B;
|
||||||
} else if (gSaveContext.weekEventReg[22] & 0x40) {
|
} else if (gSaveContext.weekEventReg[22] & 0x40) {
|
||||||
if ((gSaveContext.weekEventReg[22] & 0x10) && (gSaveContext.weekEventReg[22] & 0x20)) {
|
if ((gSaveContext.weekEventReg[22] & 0x10) && (gSaveContext.weekEventReg[22] & 0x20)) {
|
||||||
func_801518B0(globalCtx, 0x285F, &this->actor);
|
Message_StartTextbox(globalCtx, 0x285F, &this->actor);
|
||||||
this->unk_552 = 0x285F;
|
this->unk_552 = 0x285F;
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x2861, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2861, &this->actor);
|
||||||
this->unk_552 = 0x2861;
|
this->unk_552 = 0x2861;
|
||||||
}
|
}
|
||||||
} else if ((gSaveContext.weekEventReg[22] & 0x10) && (gSaveContext.weekEventReg[22] & 0x20)) {
|
} else if ((gSaveContext.weekEventReg[22] & 0x10) && (gSaveContext.weekEventReg[22] & 0x20)) {
|
||||||
if (this->unk_53E == 1) {
|
if (this->unk_53E == 1) {
|
||||||
func_801518B0(globalCtx, 0x2863, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2863, &this->actor);
|
||||||
this->unk_552 = 0x2863;
|
this->unk_552 = 0x2863;
|
||||||
} else {
|
} else {
|
||||||
this->unk_53E = 1;
|
this->unk_53E = 1;
|
||||||
func_801518B0(globalCtx, 0x2865, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2865, &this->actor);
|
||||||
this->unk_552 = 0x2865;
|
this->unk_552 = 0x2865;
|
||||||
}
|
}
|
||||||
} else if ((gSaveContext.weekEventReg[22] & 0x10) || (gSaveContext.weekEventReg[22] & 0x20)) {
|
} else if ((gSaveContext.weekEventReg[22] & 0x10) || (gSaveContext.weekEventReg[22] & 0x20)) {
|
||||||
if (this->unk_53E == 1) {
|
if (this->unk_53E == 1) {
|
||||||
func_801518B0(globalCtx, 0x2867, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2867, &this->actor);
|
||||||
this->unk_552 = 0x2867;
|
this->unk_552 = 0x2867;
|
||||||
} else {
|
} else {
|
||||||
this->unk_53E = 1;
|
this->unk_53E = 1;
|
||||||
func_801518B0(globalCtx, 0x2869, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2869, &this->actor);
|
||||||
this->unk_552 = 0x2869;
|
this->unk_552 = 0x2869;
|
||||||
}
|
}
|
||||||
} else if (this->unk_53E == 1) {
|
} else if (this->unk_53E == 1) {
|
||||||
func_801518B0(globalCtx, 0x286B, &this->actor);
|
Message_StartTextbox(globalCtx, 0x286B, &this->actor);
|
||||||
this->unk_552 = 0x286B;
|
this->unk_552 = 0x286B;
|
||||||
} else {
|
} else {
|
||||||
this->unk_53E = 1;
|
this->unk_53E = 1;
|
||||||
func_801518B0(globalCtx, 0x286D, &this->actor);
|
Message_StartTextbox(globalCtx, 0x286D, &this->actor);
|
||||||
this->unk_552 = 0x286D;
|
this->unk_552 = 0x286D;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -1119,21 +1119,21 @@ void func_80963DE4(EnFu* this, GlobalContext* globalCtx) {
|
||||||
switch (this->unk_542) {
|
switch (this->unk_542) {
|
||||||
case 0:
|
case 0:
|
||||||
if (gSaveContext.playerForm != PLAYER_FORM_HUMAN) {
|
if (gSaveContext.playerForm != PLAYER_FORM_HUMAN) {
|
||||||
func_801518B0(globalCtx, 0x2875, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2875, &this->actor);
|
||||||
this->unk_552 = 0x2875;
|
this->unk_552 = 0x2875;
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x2877, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2877, &this->actor);
|
||||||
this->unk_552 = 0x2877;
|
this->unk_552 = 0x2877;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
func_801518B0(globalCtx, 0x2879, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2879, &this->actor);
|
||||||
this->unk_552 = 0x2879;
|
this->unk_552 = 0x2879;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
func_801518B0(globalCtx, 0x287B, &this->actor);
|
Message_StartTextbox(globalCtx, 0x287B, &this->actor);
|
||||||
this->unk_552 = 0x287B;
|
this->unk_552 = 0x287B;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -1142,15 +1142,15 @@ void func_80963DE4(EnFu* this, GlobalContext* globalCtx) {
|
||||||
void func_80963EAC(EnFu* this, GlobalContext* globalCtx) {
|
void func_80963EAC(EnFu* this, GlobalContext* globalCtx) {
|
||||||
if (gSaveContext.magicAcquired) {
|
if (gSaveContext.magicAcquired) {
|
||||||
if (this->unk_540 == 1) {
|
if (this->unk_540 == 1) {
|
||||||
func_801518B0(globalCtx, 0x2847, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2847, &this->actor);
|
||||||
this->unk_552 = 0x2847;
|
this->unk_552 = 0x2847;
|
||||||
} else {
|
} else {
|
||||||
this->unk_540 = 1;
|
this->unk_540 = 1;
|
||||||
func_801518B0(globalCtx, 0x2845, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2845, &this->actor);
|
||||||
this->unk_552 = 0x2845;
|
this->unk_552 = 0x2845;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x2843, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2843, &this->actor);
|
||||||
this->unk_552 = 0x2843;
|
this->unk_552 = 0x2843;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1158,7 +1158,7 @@ void func_80963EAC(EnFu* this, GlobalContext* globalCtx) {
|
||||||
void func_80963F44(EnFu* this, GlobalContext* globalCtx) {
|
void func_80963F44(EnFu* this, GlobalContext* globalCtx) {
|
||||||
u16 sp1E = this->unk_552 + 1;
|
u16 sp1E = this->unk_552 + 1;
|
||||||
|
|
||||||
func_801518B0(globalCtx, sp1E, &this->actor);
|
Message_StartTextbox(globalCtx, sp1E, &this->actor);
|
||||||
this->unk_552 = sp1E;
|
this->unk_552 = sp1E;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -378,7 +378,7 @@ void func_80B0FEBC(EnGb2* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
func_801518B0(globalCtx, this->unk_26E, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_26E, &this->actor);
|
||||||
this->actionFunc = func_80B0FFA8;
|
this->actionFunc = func_80B0FFA8;
|
||||||
} else if ((this->actor.xzDistToPlayer < 300.0f) || this->actor.isTargeted) {
|
} else if ((this->actor.xzDistToPlayer < 300.0f) || this->actor.isTargeted) {
|
||||||
func_800B863C(&this->actor, globalCtx);
|
func_800B863C(&this->actor, globalCtx);
|
||||||
|
|
@ -400,7 +400,7 @@ void func_80B0FFA8(EnGb2* this, GlobalContext* globalCtx) {
|
||||||
this->actionFunc = func_80B0FEBC;
|
this->actionFunc = func_80B0FEBC;
|
||||||
} else {
|
} else {
|
||||||
this->unk_26E = func_80B0F7FC(this);
|
this->unk_26E = func_80B0F7FC(this);
|
||||||
func_801518B0(globalCtx, this->unk_26E, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_26E, &this->actor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if ((temp_v0 == 4) && func_80147624(globalCtx)) {
|
} else if ((temp_v0 == 4) && func_80147624(globalCtx)) {
|
||||||
|
|
@ -411,11 +411,11 @@ void func_80B0FFA8(EnGb2* this, GlobalContext* globalCtx) {
|
||||||
play_sound(NA_SE_SY_ERROR);
|
play_sound(NA_SE_SY_ERROR);
|
||||||
this->unk_26E = 0x14D7;
|
this->unk_26E = 0x14D7;
|
||||||
this->unk_26C |= 2;
|
this->unk_26C |= 2;
|
||||||
func_801518B0(globalCtx, this->unk_26E, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_26E, &this->actor);
|
||||||
} else {
|
} else {
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
this->unk_26E = 0x14D8;
|
this->unk_26E = 0x14D8;
|
||||||
func_801518B0(globalCtx, this->unk_26E, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_26E, &this->actor);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -423,7 +423,7 @@ void func_80B0FFA8(EnGb2* this, GlobalContext* globalCtx) {
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
this->unk_26E = 0x14D6;
|
this->unk_26E = 0x14D6;
|
||||||
this->unk_26C |= 2;
|
this->unk_26C |= 2;
|
||||||
func_801518B0(globalCtx, this->unk_26E, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_26E, &this->actor);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else if (this->unk_26E == 0x14DA) {
|
} else if (this->unk_26E == 0x14DA) {
|
||||||
|
|
@ -441,7 +441,7 @@ void func_80B0FFA8(EnGb2* this, GlobalContext* globalCtx) {
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
this->unk_26E = 0x14DB;
|
this->unk_26E = 0x14DB;
|
||||||
this->unk_26C |= 2;
|
this->unk_26C |= 2;
|
||||||
func_801518B0(globalCtx, this->unk_26E, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_26E, &this->actor);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -538,7 +538,7 @@ void func_80B10344(EnGb2* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
void func_80B10584(EnGb2* this, GlobalContext* globalCtx) {
|
void func_80B10584(EnGb2* this, GlobalContext* globalCtx) {
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
func_801518B0(globalCtx, this->unk_26E, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_26E, &this->actor);
|
||||||
this->actor.flags &= ~ACTOR_FLAG_10000;
|
this->actor.flags &= ~ACTOR_FLAG_10000;
|
||||||
this->actionFunc = func_80B10634;
|
this->actionFunc = func_80B10634;
|
||||||
} else if (this->actor.xzDistToPlayer < 300.0f) {
|
} else if (this->actor.xzDistToPlayer < 300.0f) {
|
||||||
|
|
@ -569,7 +569,7 @@ void func_80B10634(EnGb2* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this->unk_26E = func_80B0F8F8(this);
|
this->unk_26E = func_80B0F8F8(this);
|
||||||
func_801518B0(globalCtx, this->unk_26E, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_26E, &this->actor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if ((temp_v0 == 4) && func_80147624(globalCtx)) {
|
} else if ((temp_v0 == 4) && func_80147624(globalCtx)) {
|
||||||
|
|
@ -579,7 +579,7 @@ void func_80B10634(EnGb2* this, GlobalContext* globalCtx) {
|
||||||
play_sound(NA_SE_SY_ERROR);
|
play_sound(NA_SE_SY_ERROR);
|
||||||
this->unk_26E = 0x14D7;
|
this->unk_26E = 0x14D7;
|
||||||
this->unk_26C |= 2;
|
this->unk_26C |= 2;
|
||||||
func_801518B0(globalCtx, this->unk_26E, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_26E, &this->actor);
|
||||||
} else {
|
} else {
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
func_801159EC(-this->unk_288);
|
func_801159EC(-this->unk_288);
|
||||||
|
|
@ -594,7 +594,7 @@ void func_80B10634(EnGb2* this, GlobalContext* globalCtx) {
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
this->unk_26E = 0x14E3;
|
this->unk_26E = 0x14E3;
|
||||||
this->unk_26C |= 2;
|
this->unk_26C |= 2;
|
||||||
func_801518B0(globalCtx, this->unk_26E, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_26E, &this->actor);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -638,7 +638,7 @@ void func_80B10924(EnGb2* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
void func_80B109DC(EnGb2* this, GlobalContext* globalCtx) {
|
void func_80B109DC(EnGb2* this, GlobalContext* globalCtx) {
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
func_801518B0(globalCtx, this->unk_26E, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_26E, &this->actor);
|
||||||
this->actionFunc = func_80B10634;
|
this->actionFunc = func_80B10634;
|
||||||
} else {
|
} else {
|
||||||
func_800B85E0(&this->actor, globalCtx, 300.0f, -1);
|
func_800B85E0(&this->actor, globalCtx, 300.0f, -1);
|
||||||
|
|
@ -692,7 +692,7 @@ void func_80B10B5C(EnGb2* this, GlobalContext* globalCtx) {
|
||||||
if ((this->unk_26E == 0x14EE) || (this->unk_26E == 0x14F4)) {
|
if ((this->unk_26E == 0x14EE) || (this->unk_26E == 0x14F4)) {
|
||||||
this->unk_26C |= 2;
|
this->unk_26C |= 2;
|
||||||
}
|
}
|
||||||
func_801518B0(globalCtx, this->unk_26E, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_26E, &this->actor);
|
||||||
this->unk_290 = 1;
|
this->unk_290 = 1;
|
||||||
this->unk_26C &= ~0x40;
|
this->unk_26C &= ~0x40;
|
||||||
this->actionFunc = func_80B10DAC;
|
this->actionFunc = func_80B10DAC;
|
||||||
|
|
@ -704,7 +704,7 @@ void func_80B10B5C(EnGb2* this, GlobalContext* globalCtx) {
|
||||||
this->unk_26C &= ~0x40;
|
this->unk_26C &= ~0x40;
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state) && (this->unk_26C & 0x20)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state) && (this->unk_26C & 0x20)) {
|
||||||
this->actor.flags &= ~ACTOR_FLAG_10000;
|
this->actor.flags &= ~ACTOR_FLAG_10000;
|
||||||
func_801518B0(globalCtx, this->unk_26E, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_26E, &this->actor);
|
||||||
if (this->unk_26E == 0x14EB) {
|
if (this->unk_26E == 0x14EB) {
|
||||||
gSaveContext.weekEventReg[80] |= 0x40;
|
gSaveContext.weekEventReg[80] |= 0x40;
|
||||||
} else if (this->unk_26E == 0x14EF) {
|
} else if (this->unk_26E == 0x14EF) {
|
||||||
|
|
@ -766,7 +766,7 @@ void func_80B10E98(EnGb2* this, GlobalContext* globalCtx) {
|
||||||
s32 temp;
|
s32 temp;
|
||||||
|
|
||||||
this->unk_26E = func_80B0FB24(this);
|
this->unk_26E = func_80B0FB24(this);
|
||||||
func_801518B0(globalCtx, this->unk_26E, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_26E, &this->actor);
|
||||||
temp = this->unk_26E;
|
temp = this->unk_26E;
|
||||||
if ((temp == 0x14E7) || (temp == 0x14E9) || (temp == 0x14EC) || (temp == 0x14F0)) {
|
if ((temp == 0x14E7) || (temp == 0x14E9) || (temp == 0x14EC) || (temp == 0x14F0)) {
|
||||||
ActorCutscene_Stop(this->unk_282[this->unk_290]);
|
ActorCutscene_Stop(this->unk_282[this->unk_290]);
|
||||||
|
|
@ -781,7 +781,7 @@ void func_80B10E98(EnGb2* this, GlobalContext* globalCtx) {
|
||||||
void func_80B11048(EnGb2* this, GlobalContext* globalCtx) {
|
void func_80B11048(EnGb2* this, GlobalContext* globalCtx) {
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
this->actor.flags &= ~ACTOR_FLAG_10000;
|
this->actor.flags &= ~ACTOR_FLAG_10000;
|
||||||
func_801518B0(globalCtx, this->unk_26E, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_26E, &this->actor);
|
||||||
this->actionFunc = func_80B10DAC;
|
this->actionFunc = func_80B10DAC;
|
||||||
} else if (this->actor.xzDistToPlayer < 300.0f) {
|
} else if (this->actor.xzDistToPlayer < 300.0f) {
|
||||||
this->actor.flags |= ACTOR_FLAG_10000;
|
this->actor.flags |= ACTOR_FLAG_10000;
|
||||||
|
|
@ -798,7 +798,7 @@ void func_80B110F8(EnGb2* this, GlobalContext* globalCtx) {
|
||||||
this->actionFunc = func_80B10A48;
|
this->actionFunc = func_80B10A48;
|
||||||
} else {
|
} else {
|
||||||
this->unk_26E = func_80B0F97C(this);
|
this->unk_26E = func_80B0F97C(this);
|
||||||
func_801518B0(globalCtx, this->unk_26E, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_26E, &this->actor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -442,7 +442,7 @@ void func_80BB221C(EnGeg* this, GlobalContext* globalCtx) {
|
||||||
this->unk_49A = this->unk_49C[2];
|
this->unk_49A = this->unk_49C[2];
|
||||||
this->unk_230 &= ~4;
|
this->unk_230 &= ~4;
|
||||||
}
|
}
|
||||||
func_801518B0(globalCtx, this->unk_496, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_496, &this->actor);
|
||||||
this->actionFunc = func_80BB2520;
|
this->actionFunc = func_80BB2520;
|
||||||
this->actor.flags &= ~ACTOR_FLAG_10000;
|
this->actor.flags &= ~ACTOR_FLAG_10000;
|
||||||
} else if (this->actor.xzDistToPlayer < 300.0f) {
|
} else if (this->actor.xzDistToPlayer < 300.0f) {
|
||||||
|
|
@ -455,7 +455,7 @@ void func_80BB221C(EnGeg* this, GlobalContext* globalCtx) {
|
||||||
if (gSaveContext.weekEventReg[35] & 0x40) {
|
if (gSaveContext.weekEventReg[35] & 0x40) {
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state) && (this->unk_230 & 8)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state) && (this->unk_230 & 8)) {
|
||||||
this->unk_496 = 0xD62;
|
this->unk_496 = 0xD62;
|
||||||
func_801518B0(globalCtx, this->unk_496, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_496, &this->actor);
|
||||||
this->unk_230 &= ~8;
|
this->unk_230 &= ~8;
|
||||||
this->actionFunc = func_80BB27D4;
|
this->actionFunc = func_80BB27D4;
|
||||||
} else if ((this->actor.xzDistToPlayer < 300.0f) && this->actor.isTargeted) {
|
} else if ((this->actor.xzDistToPlayer < 300.0f) && this->actor.isTargeted) {
|
||||||
|
|
@ -466,7 +466,7 @@ void func_80BB221C(EnGeg* this, GlobalContext* globalCtx) {
|
||||||
gSaveContext.weekEventReg[35] |= 0x40;
|
gSaveContext.weekEventReg[35] |= 0x40;
|
||||||
this->unk_496 = 0xD5E;
|
this->unk_496 = 0xD5E;
|
||||||
this->unk_49A = this->unk_49C[0];
|
this->unk_49A = this->unk_49C[0];
|
||||||
func_801518B0(globalCtx, this->unk_496, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_496, &this->actor);
|
||||||
this->actionFunc = func_80BB2520;
|
this->actionFunc = func_80BB2520;
|
||||||
this->unk_230 &= ~8;
|
this->unk_230 &= ~8;
|
||||||
this->actor.flags &= ~ACTOR_FLAG_10000;
|
this->actor.flags &= ~ACTOR_FLAG_10000;
|
||||||
|
|
@ -559,7 +559,7 @@ void func_80BB26EC(EnGeg* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
this->unk_496 = func_80BB16D0(this);
|
this->unk_496 = func_80BB16D0(this);
|
||||||
func_801518B0(globalCtx, this->unk_496, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_496, &this->actor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -599,7 +599,7 @@ void func_80BB27D4(EnGeg* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
default:
|
default:
|
||||||
this->unk_496 = func_80BB16D0(this);
|
this->unk_496 = func_80BB16D0(this);
|
||||||
func_801518B0(globalCtx, this->unk_496, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_496, &this->actor);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -639,7 +639,7 @@ void func_80BB2A54(EnGeg* this, GlobalContext* globalCtx) {
|
||||||
this->actionFunc = func_80BB347C;
|
this->actionFunc = func_80BB347C;
|
||||||
} else {
|
} else {
|
||||||
this->unk_496 = func_80BB16D0(this);
|
this->unk_496 = func_80BB16D0(this);
|
||||||
func_801518B0(globalCtx, this->unk_496, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_496, &this->actor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -771,7 +771,7 @@ void func_80BB30B4(EnGeg* this, GlobalContext* globalCtx) {
|
||||||
} else {
|
} else {
|
||||||
this->unk_496 = 0xD6E;
|
this->unk_496 = 0xD6E;
|
||||||
}
|
}
|
||||||
func_801518B0(globalCtx, this->unk_496, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_496, &this->actor);
|
||||||
this->actionFunc = func_80BB27D4;
|
this->actionFunc = func_80BB27D4;
|
||||||
this->actor.flags &= ~ACTOR_FLAG_10000;
|
this->actor.flags &= ~ACTOR_FLAG_10000;
|
||||||
} else if (this->actor.xzDistToPlayer < 150.0f) {
|
} else if (this->actor.xzDistToPlayer < 150.0f) {
|
||||||
|
|
@ -809,7 +809,7 @@ void func_80BB31B8(EnGeg* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
void func_80BB32AC(EnGeg* this, GlobalContext* globalCtx) {
|
void func_80BB32AC(EnGeg* this, GlobalContext* globalCtx) {
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
func_801518B0(globalCtx, this->unk_496, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_496, &this->actor);
|
||||||
this->actionFunc = func_80BB27D4;
|
this->actionFunc = func_80BB27D4;
|
||||||
} else {
|
} else {
|
||||||
func_800B85E0(&this->actor, globalCtx, 400.0f, -1);
|
func_800B85E0(&this->actor, globalCtx, 400.0f, -1);
|
||||||
|
|
|
||||||
|
|
@ -256,7 +256,7 @@ void func_80B3556C(EnGg* this, GlobalContext* globalCtx) {
|
||||||
func_80B35250(this);
|
func_80B35250(this);
|
||||||
} else {
|
} else {
|
||||||
this->actor.textId = func_80B357F0(this);
|
this->actor.textId = func_80B357F0(this);
|
||||||
func_801518B0(globalCtx, this->actor.textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->actor.textId, &this->actor);
|
||||||
this->actionFunc = func_80B352A4;
|
this->actionFunc = func_80B352A4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -264,15 +264,15 @@ void func_80B3556C(EnGg* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
void func_80B35634(EnGg* this, GlobalContext* globalCtx) {
|
void func_80B35634(EnGg* this, GlobalContext* globalCtx) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
u32 temp_v0;
|
s32 actionIndex;
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x77)) {
|
if (Cutscene_CheckActorAction(globalCtx, 119)) {
|
||||||
temp_v0 = func_800EE200(globalCtx, 0x77);
|
actionIndex = Cutscene_GetActorActionIndex(globalCtx, 119);
|
||||||
|
|
||||||
if (this->unk_2DB != globalCtx->csCtx.npcActions[temp_v0]->unk0) {
|
if (this->unk_2DB != globalCtx->csCtx.actorActions[actionIndex]->action) {
|
||||||
this->unk_2DB = globalCtx->csCtx.npcActions[temp_v0]->unk0;
|
this->unk_2DB = globalCtx->csCtx.actorActions[actionIndex]->action;
|
||||||
|
|
||||||
switch (globalCtx->csCtx.npcActions[temp_v0]->unk0) {
|
switch (globalCtx->csCtx.actorActions[actionIndex]->action) {
|
||||||
case 1:
|
case 1:
|
||||||
this->unk_2DA = 0;
|
this->unk_2DA = 0;
|
||||||
this->unk_2E6 = 0;
|
this->unk_2E6 = 0;
|
||||||
|
|
@ -333,7 +333,7 @@ void func_80B35634(EnGg* this, GlobalContext* globalCtx) {
|
||||||
func_80B358D8(this, globalCtx);
|
func_80B358D8(this, globalCtx);
|
||||||
}
|
}
|
||||||
|
|
||||||
func_800EDF24(&this->actor, globalCtx, temp_v0);
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, actionIndex);
|
||||||
this->actor.shape.yOffset = 0.0f;
|
this->actor.shape.yOffset = 0.0f;
|
||||||
} else {
|
} else {
|
||||||
this->unk_2DB = 99;
|
this->unk_2DB = 99;
|
||||||
|
|
|
||||||
|
|
@ -165,20 +165,20 @@ void EnGiant_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
case GIANT_TYPE_CANYON_TERMINA_FIELD:
|
case GIANT_TYPE_CANYON_TERMINA_FIELD:
|
||||||
case GIANT_TYPE_CANYON_CLOCK_TOWER_SUCCESS:
|
case GIANT_TYPE_CANYON_CLOCK_TOWER_SUCCESS:
|
||||||
case GIANT_TYPE_CANYON_GIANTS_CHAMBER_AND_ENDING:
|
case GIANT_TYPE_CANYON_GIANTS_CHAMBER_AND_ENDING:
|
||||||
this->actorActionCommand = 0x1C6;
|
this->actorActionCommand = 454;
|
||||||
break;
|
break;
|
||||||
case GIANT_TYPE_SWAMP_TERMINA_FIELD:
|
case GIANT_TYPE_SWAMP_TERMINA_FIELD:
|
||||||
case GIANT_TYPE_SWAMP_CLOCK_TOWER_SUCCESS:
|
case GIANT_TYPE_SWAMP_CLOCK_TOWER_SUCCESS:
|
||||||
case GIANT_TYPE_SWAMP_GIANTS_CHAMBER_AND_ENDING:
|
case GIANT_TYPE_SWAMP_GIANTS_CHAMBER_AND_ENDING:
|
||||||
this->actorActionCommand = 0x1C7;
|
this->actorActionCommand = 455;
|
||||||
break;
|
break;
|
||||||
case GIANT_TYPE_OCEAN_TERMINA_FIELD:
|
case GIANT_TYPE_OCEAN_TERMINA_FIELD:
|
||||||
case GIANT_TYPE_OCEAN_CLOCK_TOWER_SUCCESS:
|
case GIANT_TYPE_OCEAN_CLOCK_TOWER_SUCCESS:
|
||||||
case GIANT_TYPE_OCEAN_GIANTS_CHAMBER_AND_ENDING:
|
case GIANT_TYPE_OCEAN_GIANTS_CHAMBER_AND_ENDING:
|
||||||
this->actorActionCommand = 0x1C8;
|
this->actorActionCommand = 456;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
this->actorActionCommand = 0x1C5;
|
this->actorActionCommand = 453;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -388,20 +388,23 @@ void EnGiant_PlaySound(EnGiant* this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnGiant_UpdatePosition(EnGiant* this, GlobalContext* globalCtx, u32 actionIndex) {
|
void EnGiant_UpdatePosition(EnGiant* this, GlobalContext* globalCtx, u32 actionIndex) {
|
||||||
CsCmdActorAction* actorAction = globalCtx->csCtx.npcActions[actionIndex];
|
CsCmdActorAction* actorAction = globalCtx->csCtx.actorActions[actionIndex];
|
||||||
f32 startPosY = actorAction->unk0C.y;
|
f32 startPosY = actorAction->startPos.y;
|
||||||
s32 pad[2];
|
s32 pad[2];
|
||||||
f32 endPosY = actorAction->unk18.y;
|
f32 endPosY = actorAction->endPos.y;
|
||||||
f32 scale = func_800F5A8C(actorAction->endFrame, actorAction->startFrame, globalCtx->csCtx.frames, globalCtx);
|
f32 scale = Environment_LerpWeight(actorAction->endFrame, actorAction->startFrame, globalCtx->csCtx.frames);
|
||||||
|
|
||||||
this->actor.world.pos.y = ((endPosY - startPosY) * scale) + startPosY;
|
this->actor.world.pos.y = ((endPosY - startPosY) * scale) + startPosY;
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnGiant_PerformClockTowerSuccessActions(EnGiant* this, GlobalContext* globalCtx) {
|
void EnGiant_PerformClockTowerSuccessActions(EnGiant* this, GlobalContext* globalCtx) {
|
||||||
if (func_800EE29C(globalCtx, this->actorActionCommand)) {
|
if (Cutscene_CheckActorAction(globalCtx, this->actorActionCommand)) {
|
||||||
EnGiant_UpdatePosition(this, globalCtx, func_800EE200(globalCtx, this->actorActionCommand));
|
EnGiant_UpdatePosition(this, globalCtx, Cutscene_GetActorActionIndex(globalCtx, this->actorActionCommand));
|
||||||
if (this->csAction != globalCtx->csCtx.npcActions[func_800EE200(globalCtx, this->actorActionCommand)]->unk0) {
|
if (this->csAction !=
|
||||||
this->csAction = globalCtx->csCtx.npcActions[func_800EE200(globalCtx, this->actorActionCommand)]->unk0;
|
globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, this->actorActionCommand)]->action) {
|
||||||
|
this->csAction =
|
||||||
|
globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, this->actorActionCommand)]
|
||||||
|
->action;
|
||||||
EnGiant_ChangeAnimationBasedOnCsAction(this);
|
EnGiant_ChangeAnimationBasedOnCsAction(this);
|
||||||
}
|
}
|
||||||
EnGiant_UpdateAlpha(this);
|
EnGiant_UpdateAlpha(this);
|
||||||
|
|
@ -421,10 +424,14 @@ void EnGiant_PlayClockTowerFailureAnimation(EnGiant* this, GlobalContext* global
|
||||||
void EnGiant_PerformCutsceneActions(EnGiant* this, GlobalContext* globalCtx) {
|
void EnGiant_PerformCutsceneActions(EnGiant* this, GlobalContext* globalCtx) {
|
||||||
this->actor.draw = EnGiant_Draw;
|
this->actor.draw = EnGiant_Draw;
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, this->actorActionCommand)) {
|
if (Cutscene_CheckActorAction(globalCtx, this->actorActionCommand)) {
|
||||||
func_800EDF24(&this->actor, globalCtx, func_800EE200(globalCtx, this->actorActionCommand));
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx,
|
||||||
if (this->csAction != globalCtx->csCtx.npcActions[func_800EE200(globalCtx, this->actorActionCommand)]->unk0) {
|
Cutscene_GetActorActionIndex(globalCtx, this->actorActionCommand));
|
||||||
this->csAction = globalCtx->csCtx.npcActions[func_800EE200(globalCtx, this->actorActionCommand)]->unk0;
|
if (this->csAction !=
|
||||||
|
globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, this->actorActionCommand)]->action) {
|
||||||
|
this->csAction =
|
||||||
|
globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, this->actorActionCommand)]
|
||||||
|
->action;
|
||||||
EnGiant_ChangeAnimationBasedOnCsAction(this);
|
EnGiant_ChangeAnimationBasedOnCsAction(this);
|
||||||
}
|
}
|
||||||
EnGiant_UpdateAlpha(this);
|
EnGiant_UpdateAlpha(this);
|
||||||
|
|
|
||||||
|
|
@ -83,15 +83,15 @@ void EnGinkoMan_Idle(EnGinkoMan* this, GlobalContext* globalCtx) {
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
if ((gSaveContext.bankRupees & 0xFFFF) == 0) {
|
if ((gSaveContext.bankRupees & 0xFFFF) == 0) {
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_FLOORSMACKING);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_FLOORSMACKING);
|
||||||
func_801518B0(globalCtx, 0x44C, &this->actor);
|
Message_StartTextbox(globalCtx, 0x44C, &this->actor);
|
||||||
this->curTextId = 0x44C; // would you like to make an account
|
this->curTextId = 0x44C; // would you like to make an account
|
||||||
} else {
|
} else {
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING);
|
||||||
if ((CURRENT_DAY == 3) && (gSaveContext.isNight == 1)) {
|
if ((CURRENT_DAY == 3) && (gSaveContext.isNight == 1)) {
|
||||||
func_801518B0(globalCtx, 0x467, &this->actor);
|
Message_StartTextbox(globalCtx, 0x467, &this->actor);
|
||||||
this->curTextId = 0x467; // "What's this? You need somethin' on a day like this?
|
this->curTextId = 0x467; // "What's this? You need somethin' on a day like this?
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x466, &this->actor);
|
Message_StartTextbox(globalCtx, 0x466, &this->actor);
|
||||||
this->curTextId = 0x466; // What's this? You need somethin'?
|
this->curTextId = 0x466; // What's this? You need somethin'?
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -111,21 +111,21 @@ void EnGinkoMan_DepositDialogue(EnGinkoMan* this, GlobalContext* globalCtx) {
|
||||||
case 0x44C: // "Hey there, little guy! Won't you deposit some Rupees? (first dialogue)
|
case 0x44C: // "Hey there, little guy! Won't you deposit some Rupees? (first dialogue)
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING);
|
||||||
if (gSaveContext.weekEventReg[10] & 8) {
|
if (gSaveContext.weekEventReg[10] & 8) {
|
||||||
func_801518B0(globalCtx, 0x44E, &this->actor);
|
Message_StartTextbox(globalCtx, 0x44E, &this->actor);
|
||||||
this->curTextId = 0x44E; //" ...So, what'll it be? Deposit Rupees Don't deposit Rupees"
|
this->curTextId = 0x44E; //" ...So, what'll it be? Deposit Rupees Don't deposit Rupees"
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x44D, &this->actor);
|
Message_StartTextbox(globalCtx, 0x44D, &this->actor);
|
||||||
this->curTextId =
|
this->curTextId =
|
||||||
0x44D; // "For example, if you deposit 200 Rupees, you'll get an item that holds a lot of Rupees."
|
0x44D; // "For example, if you deposit 200 Rupees, you'll get an item that holds a lot of Rupees."
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x44D: // "For example, if you deposit 200 Rupees, you'll get an item that holds a lot of Rupees."
|
case 0x44D: // "For example, if you deposit 200 Rupees, you'll get an item that holds a lot of Rupees."
|
||||||
func_801518B0(globalCtx, 0x44E, &this->actor);
|
Message_StartTextbox(globalCtx, 0x44E, &this->actor);
|
||||||
this->curTextId = 0x44E; //" ...So, what'll it be? Deposit Rupees Don't deposit Rupees"
|
this->curTextId = 0x44E; //" ...So, what'll it be? Deposit Rupees Don't deposit Rupees"
|
||||||
break;
|
break;
|
||||||
case 0x44F: // "...So, what'll it be? Deposit Rupees Don't deposit Rupees"
|
case 0x44F: // "...So, what'll it be? Deposit Rupees Don't deposit Rupees"
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_FLOORSMACKING);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_FLOORSMACKING);
|
||||||
func_801518B0(globalCtx, 0x450, &this->actor);
|
Message_StartTextbox(globalCtx, 0x450, &this->actor);
|
||||||
this->curTextId = 0x450; // "How much? How much? [rupee prompt]
|
this->curTextId = 0x450; // "How much? How much? [rupee prompt]
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -138,7 +138,7 @@ void EnGinkoMan_DepositDialogue(EnGinkoMan* this, GlobalContext* globalCtx) {
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING);
|
||||||
}
|
}
|
||||||
|
|
||||||
func_801518B0(globalCtx, 0x461, &this->actor);
|
Message_StartTextbox(globalCtx, 0x461, &this->actor);
|
||||||
this->curTextId = 0x461; // So, little guy, what's your name?
|
this->curTextId = 0x461; // So, little guy, what's your name?
|
||||||
} else {
|
} else {
|
||||||
if (this->curTextId == 0x453) { // "That's it? That ain't nothing at all, big spender!
|
if (this->curTextId == 0x453) { // "That's it? That ain't nothing at all, big spender!
|
||||||
|
|
@ -146,44 +146,44 @@ void EnGinkoMan_DepositDialogue(EnGinkoMan* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
globalCtx->msgCtx.bankRupees = gSaveContext.bankRupees & 0xFFFF;
|
globalCtx->msgCtx.bankRupees = gSaveContext.bankRupees & 0xFFFF;
|
||||||
func_801518B0(globalCtx, 0x45A, &this->actor);
|
Message_StartTextbox(globalCtx, 0x45A, &this->actor);
|
||||||
this->curTextId = 0x45A; // "All right, little guy, now I've got a total of [rupees] from you!"
|
this->curTextId = 0x45A; // "All right, little guy, now I've got a total of [rupees] from you!"
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x456: // "Is that so? Think about it, little guy!"
|
case 0x456: // "Is that so? Think about it, little guy!"
|
||||||
case 0x459: // "Heyyy! You don't have that much!
|
case 0x459: // "Heyyy! You don't have that much!
|
||||||
func_801518B0(globalCtx, 0x44E, &this->actor);
|
Message_StartTextbox(globalCtx, 0x44E, &this->actor);
|
||||||
this->curTextId = 0x44E; //" ...So, what'll it be? Deposit Rupees Don't deposit Rupees"
|
this->curTextId = 0x44E; //" ...So, what'll it be? Deposit Rupees Don't deposit Rupees"
|
||||||
break;
|
break;
|
||||||
case 0x45A: // "All right, little guy, now I've got a total of [rupees] from you!"
|
case 0x45A: // "All right, little guy, now I've got a total of [rupees] from you!"
|
||||||
if (((gSaveContext.bankRupees & 0xFFFF) >= 200) && (this->previousBankValue < 200) &&
|
if (((gSaveContext.bankRupees & 0xFFFF) >= 200) && (this->previousBankValue < 200) &&
|
||||||
!(gSaveContext.weekEventReg[59] & 0x40)) {
|
!(gSaveContext.weekEventReg[59] & 0x40)) {
|
||||||
gSaveContext.weekEventReg[59] |= 0x40;
|
gSaveContext.weekEventReg[59] |= 0x40;
|
||||||
func_801518B0(globalCtx, 0x45B, &this->actor);
|
Message_StartTextbox(globalCtx, 0x45B, &this->actor);
|
||||||
this->curTextId = 0x45B; // "What's this? You've already saved up 200 Rupees!?!
|
this->curTextId = 0x45B; // "What's this? You've already saved up 200 Rupees!?!
|
||||||
} else if (((gSaveContext.bankRupees & 0xFFFF) >= 1000) && ((this->previousBankValue) < 1000) &&
|
} else if (((gSaveContext.bankRupees & 0xFFFF) >= 1000) && ((this->previousBankValue) < 1000) &&
|
||||||
!(gSaveContext.weekEventReg[59] & 0x80)) {
|
!(gSaveContext.weekEventReg[59] & 0x80)) {
|
||||||
gSaveContext.weekEventReg[59] |= 0x80;
|
gSaveContext.weekEventReg[59] |= 0x80;
|
||||||
func_801518B0(globalCtx, 0x45C, &this->actor);
|
Message_StartTextbox(globalCtx, 0x45C, &this->actor);
|
||||||
this->curTextId = 0x45C; // "What's this? You've already saved up 1000 Rupees!?!
|
this->curTextId = 0x45C; // "What's this? You've already saved up 1000 Rupees!?!
|
||||||
} else if ((gSaveContext.bankRupees & 0xFFFF) >= 5000) {
|
} else if ((gSaveContext.bankRupees & 0xFFFF) >= 5000) {
|
||||||
if ((this->previousBankValue < 5000) && !(gSaveContext.weekEventReg[60] & 1)) {
|
if ((this->previousBankValue < 5000) && !(gSaveContext.weekEventReg[60] & 1)) {
|
||||||
gSaveContext.weekEventReg[60] |= 1;
|
gSaveContext.weekEventReg[60] |= 1;
|
||||||
func_801518B0(globalCtx, 0x45D, &this->actor);
|
Message_StartTextbox(globalCtx, 0x45D, &this->actor);
|
||||||
this->curTextId = 0x45D; // "What's this? You've already saved up 5000 Rupees?!
|
this->curTextId = 0x45D; // "What's this? You've already saved up 5000 Rupees?!
|
||||||
} else if (this->previousBankValue < (s16)(gSaveContext.bankRupees & 0xFFFF)) {
|
} else if (this->previousBankValue < (s16)(gSaveContext.bankRupees & 0xFFFF)) {
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING);
|
||||||
func_801518B0(globalCtx, 0x45E, &this->actor);
|
Message_StartTextbox(globalCtx, 0x45E, &this->actor);
|
||||||
this->curTextId =
|
this->curTextId =
|
||||||
0x45E; // "...Hang on there, little guy. I can't take any more deposits. Sorry..."
|
0x45E; // "...Hang on there, little guy. I can't take any more deposits. Sorry..."
|
||||||
} else {
|
} else {
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_FLOORSMACKING);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_FLOORSMACKING);
|
||||||
func_801518B0(globalCtx, 0x460, &this->actor);
|
Message_StartTextbox(globalCtx, 0x460, &this->actor);
|
||||||
this->curTextId = 0x460; // "Come back and deposit some after you save up a bunch!"
|
this->curTextId = 0x460; // "Come back and deposit some after you save up a bunch!"
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_FLOORSMACKING);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_FLOORSMACKING);
|
||||||
func_801518B0(globalCtx, 0x460, &this->actor);
|
Message_StartTextbox(globalCtx, 0x460, &this->actor);
|
||||||
this->curTextId = 0x460; // "Come back and deposit some after you save up a bunch!"
|
this->curTextId = 0x460; // "Come back and deposit some after you save up a bunch!"
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -196,15 +196,15 @@ void EnGinkoMan_DepositDialogue(EnGinkoMan* this, GlobalContext* globalCtx) {
|
||||||
EnGinkoMan_BankAward(this, globalCtx);
|
EnGinkoMan_BankAward(this, globalCtx);
|
||||||
break;
|
break;
|
||||||
case 0x461: // So, little guy, what's your name?
|
case 0x461: // So, little guy, what's your name?
|
||||||
func_801518B0(globalCtx, 0x462, &this->actor);
|
Message_StartTextbox(globalCtx, 0x462, &this->actor);
|
||||||
this->curTextId = 0x462; // Hmm... Link is it?
|
this->curTextId = 0x462; // Hmm... Link is it?
|
||||||
break;
|
break;
|
||||||
case 0x462: // Hmm.. Link is it?
|
case 0x462: // Hmm.. Link is it?
|
||||||
func_801518B0(globalCtx, 0x463, &this->actor);
|
Message_StartTextbox(globalCtx, 0x463, &this->actor);
|
||||||
this->curTextId = 0x463; // Got it... I won't forget your deposits. Let me stamp you
|
this->curTextId = 0x463; // Got it... I won't forget your deposits. Let me stamp you
|
||||||
break;
|
break;
|
||||||
case 0x463: // Got it... I won't forget your deposits. Let me stamp you
|
case 0x463: // Got it... I won't forget your deposits. Let me stamp you
|
||||||
func_801518B0(globalCtx, 0x464, &this->actor);
|
Message_StartTextbox(globalCtx, 0x464, &this->actor);
|
||||||
this->curTextId = 0x464; // Hey, relax! It doesn't leave any marks
|
this->curTextId = 0x464; // Hey, relax! It doesn't leave any marks
|
||||||
break;
|
break;
|
||||||
case 0x464: // Hey, relax! It doesn't leave any marks
|
case 0x464: // Hey, relax! It doesn't leave any marks
|
||||||
|
|
@ -214,12 +214,12 @@ void EnGinkoMan_DepositDialogue(EnGinkoMan* this, GlobalContext* globalCtx) {
|
||||||
case 0x465: // "There! Now I'll know you when I see you!"
|
case 0x465: // "There! Now I'll know you when I see you!"
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_FLOORSMACKING);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_FLOORSMACKING);
|
||||||
globalCtx->msgCtx.bankRupees = gSaveContext.bankRupees & 0xFFFF;
|
globalCtx->msgCtx.bankRupees = gSaveContext.bankRupees & 0xFFFF;
|
||||||
func_801518B0(globalCtx, 0x45A, &this->actor);
|
Message_StartTextbox(globalCtx, 0x45A, &this->actor);
|
||||||
this->curTextId = 0x45A; // "All right, little guy, now I've got a total of [rupees] from you!"
|
this->curTextId = 0x45A; // "All right, little guy, now I've got a total of [rupees] from you!"
|
||||||
break;
|
break;
|
||||||
case 0x466: // What's this? You need somethin'?
|
case 0x466: // What's this? You need somethin'?
|
||||||
case 0x467: // "What's this? You need somethin' on a day like this? You haven't evacuated yet?
|
case 0x467: // "What's this? You need somethin' on a day like this? You haven't evacuated yet?
|
||||||
func_801518B0(globalCtx, 0x468, &this->actor);
|
Message_StartTextbox(globalCtx, 0x468, &this->actor);
|
||||||
this->curTextId = 0x468; // " Deposit Rupees Withdraw Rupees Nothing really"
|
this->curTextId = 0x468; // " Deposit Rupees Withdraw Rupees Nothing really"
|
||||||
break;
|
break;
|
||||||
case 0x469: // "Excuse me, but let me take a look at you..."
|
case 0x469: // "Excuse me, but let me take a look at you..."
|
||||||
|
|
@ -230,34 +230,34 @@ void EnGinkoMan_DepositDialogue(EnGinkoMan* this, GlobalContext* globalCtx) {
|
||||||
case 0x47E: // "Your deposits total [rupees]."
|
case 0x47E: // "Your deposits total [rupees]."
|
||||||
if (this->choiceDepositWithdrawl == GINKOMAN_CHOICE_DEPOSIT) {
|
if (this->choiceDepositWithdrawl == GINKOMAN_CHOICE_DEPOSIT) {
|
||||||
if ((u32)(gSaveContext.bankRupees & 0xFFFF) >= 5000) {
|
if ((u32)(gSaveContext.bankRupees & 0xFFFF) >= 5000) {
|
||||||
func_801518B0(globalCtx, 0x45F, &this->actor);
|
Message_StartTextbox(globalCtx, 0x45F, &this->actor);
|
||||||
this->curTextId = 0x45F; // "Excuuuse me! But I can't take anymore deposits!
|
this->curTextId = 0x45F; // "Excuuuse me! But I can't take anymore deposits!
|
||||||
} else if (gSaveContext.rupees == 0) {
|
} else if (gSaveContext.rupees == 0) {
|
||||||
func_801518B0(globalCtx, 0x458, &this->actor);
|
Message_StartTextbox(globalCtx, 0x458, &this->actor);
|
||||||
this->curTextId =
|
this->curTextId =
|
||||||
0x458; // "Hmm...You play mean jokes, little guy! You haven't even got a single Rupee!
|
0x458; // "Hmm...You play mean jokes, little guy! You haven't even got a single Rupee!
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x479, &this->actor);
|
Message_StartTextbox(globalCtx, 0x479, &this->actor);
|
||||||
this->curTextId = 0x479; // "Well, are you gonna make a deposit?"
|
this->curTextId = 0x479; // "Well, are you gonna make a deposit?"
|
||||||
}
|
}
|
||||||
} else if ((CURRENT_DAY == 3) && (gSaveContext.isNight == 1)) {
|
} else if ((CURRENT_DAY == 3) && (gSaveContext.isNight == 1)) {
|
||||||
func_801518B0(globalCtx, 0x46D, &this->actor);
|
Message_StartTextbox(globalCtx, 0x46D, &this->actor);
|
||||||
// "Look, little guy, if it's 'cause of the bad rumors going around, forget it! They're just rumors!"
|
// "Look, little guy, if it's 'cause of the bad rumors going around, forget it! They're just rumors!"
|
||||||
this->curTextId = 0x46D;
|
this->curTextId = 0x46D;
|
||||||
} else { // GINKOMAN_CHOICE_WITHDRAWL
|
} else { // GINKOMAN_CHOICE_WITHDRAWL
|
||||||
func_801518B0(globalCtx, 0x46B, &this->actor);
|
Message_StartTextbox(globalCtx, 0x46B, &this->actor);
|
||||||
this->curTextId = 0x46B; // "So..."
|
this->curTextId = 0x46B; // "So..."
|
||||||
}
|
}
|
||||||
|
|
||||||
this->choiceDepositWithdrawl = GINKOMAN_CHOICE_RESET;
|
this->choiceDepositWithdrawl = GINKOMAN_CHOICE_RESET;
|
||||||
break;
|
break;
|
||||||
case 0x46B: // So...
|
case 0x46B: // So...
|
||||||
func_801518B0(globalCtx, 0x46E, &this->actor);
|
Message_StartTextbox(globalCtx, 0x46E, &this->actor);
|
||||||
this->curTextId = 0x46E; // "How much do you want? [rupee prompt]
|
this->curTextId = 0x46E; // "How much do you want? [rupee prompt]
|
||||||
break;
|
break;
|
||||||
case 0x46D: // "Look, little guy, if it's 'cause of the bad rumors going around, forget it! They're just
|
case 0x46D: // "Look, little guy, if it's 'cause of the bad rumors going around, forget it! They're just
|
||||||
// rumors!"
|
// rumors!"
|
||||||
func_801518B0(globalCtx, 0x46B, &this->actor);
|
Message_StartTextbox(globalCtx, 0x46B, &this->actor);
|
||||||
this->curTextId = 0x46B; // So...
|
this->curTextId = 0x46B; // So...
|
||||||
break;
|
break;
|
||||||
case 0x470: // "Is that so? Come back and deposit some after saving up a bunch!"
|
case 0x470: // "Is that so? Come back and deposit some after saving up a bunch!"
|
||||||
|
|
@ -273,7 +273,7 @@ void EnGinkoMan_DepositDialogue(EnGinkoMan* this, GlobalContext* globalCtx) {
|
||||||
case 0x475: // "What's this? Look, little guy, you can't hold this many rupees! You got that?"
|
case 0x475: // "What's this? Look, little guy, you can't hold this many rupees! You got that?"
|
||||||
case 0x47C: // "Is that so? Think it over, little guy! So what are you gonna do?"
|
case 0x47C: // "Is that so? Think it over, little guy! So what are you gonna do?"
|
||||||
case 0x47D: // duplicate of 48
|
case 0x47D: // duplicate of 48
|
||||||
func_801518B0(globalCtx, 0x468, &this->actor);
|
Message_StartTextbox(globalCtx, 0x468, &this->actor);
|
||||||
this->curTextId = 0x468; // " Deposit Rupees Withdraw Rupees Nothing really"
|
this->curTextId = 0x468; // " Deposit Rupees Withdraw Rupees Nothing really"
|
||||||
break;
|
break;
|
||||||
case 0x472: // "What's this? It's a waste to take out such a tiny bit! ...But if you say so!"
|
case 0x472: // "What's this? It's a waste to take out such a tiny bit! ...But if you say so!"
|
||||||
|
|
@ -281,22 +281,22 @@ void EnGinkoMan_DepositDialogue(EnGinkoMan* this, GlobalContext* globalCtx) {
|
||||||
case 0x474: // "Aw, you're taking out all that? If you spend it like that, it'll all be gone before you know
|
case 0x474: // "Aw, you're taking out all that? If you spend it like that, it'll all be gone before you know
|
||||||
// it!"
|
// it!"
|
||||||
if ((gSaveContext.bankRupees & 0xFFFF) == 0) {
|
if ((gSaveContext.bankRupees & 0xFFFF) == 0) {
|
||||||
func_801518B0(globalCtx, 0x478, &this->actor);
|
Message_StartTextbox(globalCtx, 0x478, &this->actor);
|
||||||
// "Look, little guy, all the Rupees you deposited are gone, so you can't use that stamp anymore."
|
// "Look, little guy, all the Rupees you deposited are gone, so you can't use that stamp anymore."
|
||||||
this->curTextId = 0x478;
|
this->curTextId = 0x478;
|
||||||
} else {
|
} else {
|
||||||
globalCtx->msgCtx.bankRupees = gSaveContext.bankRupees & 0xFFFF;
|
globalCtx->msgCtx.bankRupees = gSaveContext.bankRupees & 0xFFFF;
|
||||||
func_801518B0(globalCtx, 0x45A, &this->actor);
|
Message_StartTextbox(globalCtx, 0x45A, &this->actor);
|
||||||
this->curTextId = 0x45A; // "All right, little guy, now I've got a total of [rupees] from you!"
|
this->curTextId = 0x45A; // "All right, little guy, now I've got a total of [rupees] from you!"
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x477: // "...You know, at this time of day there's a 4 Rupee service charge on withdrawals!"
|
case 0x477: // "...You know, at this time of day there's a 4 Rupee service charge on withdrawals!"
|
||||||
func_801518B0(globalCtx, 0x471, &this->actor);
|
Message_StartTextbox(globalCtx, 0x471, &this->actor);
|
||||||
this->curTextId = 0x471; // "Are you really withdrawing [rupees selected]? Y/n"
|
this->curTextId = 0x471; // "Are you really withdrawing [rupees selected]? Y/n"
|
||||||
this->serviceFee = globalCtx->msgCtx.unk1206C;
|
this->serviceFee = globalCtx->msgCtx.unk1206C;
|
||||||
break;
|
break;
|
||||||
case 0x479: // Well, are you gonna make a deposit?
|
case 0x479: // Well, are you gonna make a deposit?
|
||||||
func_801518B0(globalCtx, 0x44F, &this->actor);
|
Message_StartTextbox(globalCtx, 0x44F, &this->actor);
|
||||||
this->curTextId = 0x44F; // "All right! So..."
|
this->curTextId = 0x44F; // "All right! So..."
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -313,22 +313,22 @@ void EnGinkoMan_WaitForDialogueInput(EnGinkoMan* this, GlobalContext* globalCtx)
|
||||||
if (globalCtx->msgCtx.choiceIndex == GINKOMAN_CHOICE_YES) {
|
if (globalCtx->msgCtx.choiceIndex == GINKOMAN_CHOICE_YES) {
|
||||||
if ((gSaveContext.bankRupees & 0xFFFF) >= 5000) {
|
if ((gSaveContext.bankRupees & 0xFFFF) >= 5000) {
|
||||||
play_sound(NA_SE_SY_ERROR);
|
play_sound(NA_SE_SY_ERROR);
|
||||||
func_801518B0(globalCtx, 0x45F, &this->actor);
|
Message_StartTextbox(globalCtx, 0x45F, &this->actor);
|
||||||
this->curTextId = 0x45F; // bank full, cannot accept more
|
this->curTextId = 0x45F; // bank full, cannot accept more
|
||||||
} else {
|
} else {
|
||||||
if (gSaveContext.rupees > 0) {
|
if (gSaveContext.rupees > 0) {
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
func_801518B0(globalCtx, 0x44F, &this->actor);
|
Message_StartTextbox(globalCtx, 0x44F, &this->actor);
|
||||||
this->curTextId = 0x44F; // "All right! so..."
|
this->curTextId = 0x44F; // "All right! so..."
|
||||||
} else {
|
} else {
|
||||||
play_sound(NA_SE_SY_ERROR);
|
play_sound(NA_SE_SY_ERROR);
|
||||||
func_801518B0(globalCtx, 0x458, &this->actor);
|
Message_StartTextbox(globalCtx, 0x458, &this->actor);
|
||||||
this->curTextId = 0x458; // you haven't even gotten a single rup
|
this->curTextId = 0x458; // you haven't even gotten a single rup
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else { // GINKOMAN_CHOICE_NO
|
} else { // GINKOMAN_CHOICE_NO
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
func_801518B0(globalCtx, 0x451, &this->actor);
|
Message_StartTextbox(globalCtx, 0x451, &this->actor);
|
||||||
this->curTextId = 0x451; // dont say that, come on, trust me!
|
this->curTextId = 0x451; // dont say that, come on, trust me!
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -337,19 +337,19 @@ void EnGinkoMan_WaitForDialogueInput(EnGinkoMan* this, GlobalContext* globalCtx)
|
||||||
if (gSaveContext.rupees < globalCtx->msgCtx.bankRupeesSelected) {
|
if (gSaveContext.rupees < globalCtx->msgCtx.bankRupeesSelected) {
|
||||||
play_sound(NA_SE_SY_ERROR);
|
play_sound(NA_SE_SY_ERROR);
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING);
|
||||||
func_801518B0(globalCtx, 0x459, &this->actor);
|
Message_StartTextbox(globalCtx, 0x459, &this->actor);
|
||||||
this->curTextId = 0x459; // HEY you dont have that much
|
this->curTextId = 0x459; // HEY you dont have that much
|
||||||
} else {
|
} else {
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
if (globalCtx->msgCtx.bankRupeesSelected >= 100) {
|
if (globalCtx->msgCtx.bankRupeesSelected >= 100) {
|
||||||
func_801518B0(globalCtx, 0x455, &this->actor);
|
Message_StartTextbox(globalCtx, 0x455, &this->actor);
|
||||||
this->curTextId = 0x455; // You're really going to be give me that much? Rich little guy!
|
this->curTextId = 0x455; // You're really going to be give me that much? Rich little guy!
|
||||||
} else if (globalCtx->msgCtx.bankRupeesSelected >= 10) {
|
} else if (globalCtx->msgCtx.bankRupeesSelected >= 10) {
|
||||||
func_801518B0(globalCtx, 0x454, &this->actor);
|
Message_StartTextbox(globalCtx, 0x454, &this->actor);
|
||||||
this->curTextId = 0x454; // Seriously? that's a lot. A lot!
|
this->curTextId = 0x454; // Seriously? that's a lot. A lot!
|
||||||
} else {
|
} else {
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING);
|
||||||
func_801518B0(globalCtx, 0x453, &this->actor);
|
Message_StartTextbox(globalCtx, 0x453, &this->actor);
|
||||||
this->curTextId = 0x453; // That's it? That aint nothing at all
|
this->curTextId = 0x453; // That's it? That aint nothing at all
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -367,10 +367,10 @@ void EnGinkoMan_WaitForDialogueInput(EnGinkoMan* this, GlobalContext* globalCtx)
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING);
|
||||||
if ((gSaveContext.bankRupees & 0xFFFF) == 0) {
|
if ((gSaveContext.bankRupees & 0xFFFF) == 0) {
|
||||||
func_801518B0(globalCtx, 0x456, &this->actor);
|
Message_StartTextbox(globalCtx, 0x456, &this->actor);
|
||||||
this->curTextId = 0x456; // Is that so? think about it
|
this->curTextId = 0x456; // Is that so? think about it
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x47D, &this->actor);
|
Message_StartTextbox(globalCtx, 0x47D, &this->actor);
|
||||||
this->curTextId = 0x47D; // is that so? think it over
|
this->curTextId = 0x47D; // is that so? think it over
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -378,17 +378,17 @@ void EnGinkoMan_WaitForDialogueInput(EnGinkoMan* this, GlobalContext* globalCtx)
|
||||||
case 0x468: // Deposit OR withdrawl OR cancel screen
|
case 0x468: // Deposit OR withdrawl OR cancel screen
|
||||||
if (globalCtx->msgCtx.choiceIndex == GINKOMAN_CHOICE_CANCEL) {
|
if (globalCtx->msgCtx.choiceIndex == GINKOMAN_CHOICE_CANCEL) {
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
func_801518B0(globalCtx, 0x470, &this->actor);
|
Message_StartTextbox(globalCtx, 0x470, &this->actor);
|
||||||
this->curTextId = 0x470; // "Is that so? Come back and deposit some after saving up a bunch!"
|
this->curTextId = 0x470; // "Is that so? Come back and deposit some after saving up a bunch!"
|
||||||
} else {
|
} else {
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
this->choiceDepositWithdrawl = globalCtx->msgCtx.choiceIndex;
|
this->choiceDepositWithdrawl = globalCtx->msgCtx.choiceIndex;
|
||||||
if (!this->isStampChecked) {
|
if (!this->isStampChecked) {
|
||||||
this->isStampChecked = true;
|
this->isStampChecked = true;
|
||||||
func_801518B0(globalCtx, 0x469, &this->actor);
|
Message_StartTextbox(globalCtx, 0x469, &this->actor);
|
||||||
this->curTextId = 0x469; // "Excuse me, but let me take a look at you..."
|
this->curTextId = 0x469; // "Excuse me, but let me take a look at you..."
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x47E, &this->actor);
|
Message_StartTextbox(globalCtx, 0x47E, &this->actor);
|
||||||
this->curTextId = 0x47E; // "Your deposits total [rupees]."
|
this->curTextId = 0x47E; // "Your deposits total [rupees]."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -399,23 +399,23 @@ void EnGinkoMan_WaitForDialogueInput(EnGinkoMan* this, GlobalContext* globalCtx)
|
||||||
((s32)(globalCtx->msgCtx.bankRupeesSelected + this->serviceFee))) {
|
((s32)(globalCtx->msgCtx.bankRupeesSelected + this->serviceFee))) {
|
||||||
play_sound(NA_SE_SY_ERROR);
|
play_sound(NA_SE_SY_ERROR);
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_FLOORSMACKING);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_FLOORSMACKING);
|
||||||
func_801518B0(globalCtx, 0x476, &this->actor);
|
Message_StartTextbox(globalCtx, 0x476, &this->actor);
|
||||||
this->curTextId = 0x476; // you dont have enough deposited to withdrawl
|
this->curTextId = 0x476; // you dont have enough deposited to withdrawl
|
||||||
} else if (CUR_CAPACITY(UPG_WALLET) < (globalCtx->msgCtx.bankRupeesSelected + gSaveContext.rupees)) {
|
} else if (CUR_CAPACITY(UPG_WALLET) < (globalCtx->msgCtx.bankRupeesSelected + gSaveContext.rupees)) {
|
||||||
// check if wallet is big enough
|
// check if wallet is big enough
|
||||||
play_sound(NA_SE_SY_ERROR);
|
play_sound(NA_SE_SY_ERROR);
|
||||||
func_801518B0(globalCtx, 0x475, &this->actor);
|
Message_StartTextbox(globalCtx, 0x475, &this->actor);
|
||||||
this->curTextId = 0x475; // You can't hold that many in your wallet
|
this->curTextId = 0x475; // You can't hold that many in your wallet
|
||||||
} else {
|
} else {
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
if (globalCtx->msgCtx.bankRupeesSelected >= 100) {
|
if (globalCtx->msgCtx.bankRupeesSelected >= 100) {
|
||||||
func_801518B0(globalCtx, 0x474, &this->actor);
|
Message_StartTextbox(globalCtx, 0x474, &this->actor);
|
||||||
this->curTextId = 0x474; // Aw, you're taking out all that?
|
this->curTextId = 0x474; // Aw, you're taking out all that?
|
||||||
} else if (globalCtx->msgCtx.bankRupeesSelected >= 10) {
|
} else if (globalCtx->msgCtx.bankRupeesSelected >= 10) {
|
||||||
func_801518B0(globalCtx, 0x473, &this->actor);
|
Message_StartTextbox(globalCtx, 0x473, &this->actor);
|
||||||
this->curTextId = 0x473; // use it wisely
|
this->curTextId = 0x473; // use it wisely
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x472, &this->actor);
|
Message_StartTextbox(globalCtx, 0x472, &this->actor);
|
||||||
this->curTextId = 0x472; // It's a waste to take out such a tiny bit
|
this->curTextId = 0x472; // It's a waste to take out such a tiny bit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -428,7 +428,7 @@ void EnGinkoMan_WaitForDialogueInput(EnGinkoMan* this, GlobalContext* globalCtx)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
func_801518B0(globalCtx, 0x47C, &this->actor);
|
Message_StartTextbox(globalCtx, 0x47C, &this->actor);
|
||||||
this->curTextId = 0x47C; // "Is that so? Think it over, little guy! So what are you gonna do?"
|
this->curTextId = 0x47C; // "Is that so? Think it over, little guy! So what are you gonna do?"
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -441,22 +441,22 @@ void EnGinkoMan_WaitForRupeeCount(EnGinkoMan* this, GlobalContext* globalCtx) {
|
||||||
case 0x450: // "How much? How much?" [rupee prompt] Set the amount with [Control Stick] and
|
case 0x450: // "How much? How much?" [rupee prompt] Set the amount with [Control Stick] and
|
||||||
if (globalCtx->msgCtx.bankRupeesSelected == 0) {
|
if (globalCtx->msgCtx.bankRupeesSelected == 0) {
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING);
|
||||||
func_801518B0(globalCtx, 0x457, &this->actor);
|
Message_StartTextbox(globalCtx, 0x457, &this->actor);
|
||||||
this->curTextId = 0x457; // Zero Rupees? Cruel joke!
|
this->curTextId = 0x457; // Zero Rupees? Cruel joke!
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x452, &this->actor);
|
Message_StartTextbox(globalCtx, 0x452, &this->actor);
|
||||||
this->curTextId = 0x452; // Really? are you really depositing [x]? Y/n
|
this->curTextId = 0x452; // Really? are you really depositing [x]? Y/n
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x46E: // "How much do you want?" [rupee prompt] Set the amount with [Control Stick]
|
case 0x46E: // "How much do you want?" [rupee prompt] Set the amount with [Control Stick]
|
||||||
if (globalCtx->msgCtx.bankRupeesSelected == 0) {
|
if (globalCtx->msgCtx.bankRupeesSelected == 0) {
|
||||||
func_801518B0(globalCtx, 0x46F, &this->actor);
|
Message_StartTextbox(globalCtx, 0x46F, &this->actor);
|
||||||
this->curTextId = 0x46F; // "Zero Rupees?!? That's a cruel joke!"
|
this->curTextId = 0x46F; // "Zero Rupees?!? That's a cruel joke!"
|
||||||
} else if (gSaveContext.isNight == 1) {
|
} else if (gSaveContext.isNight == 1) {
|
||||||
func_801518B0(globalCtx, 0x477, &this->actor);
|
Message_StartTextbox(globalCtx, 0x477, &this->actor);
|
||||||
this->curTextId = 0x477; // "...You know, at this time of day there's a 4 Rupee service charge...
|
this->curTextId = 0x477; // "...You know, at this time of day there's a 4 Rupee service charge...
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x471, &this->actor);
|
Message_StartTextbox(globalCtx, 0x471, &this->actor);
|
||||||
this->curTextId = 0x471; // "Are you really withdrawing [rupees selected]? Y/n
|
this->curTextId = 0x471; // "Are you really withdrawing [rupees selected]? Y/n
|
||||||
this->serviceFee = 0;
|
this->serviceFee = 0;
|
||||||
}
|
}
|
||||||
|
|
@ -536,11 +536,11 @@ void EnGinkoMan_BankAward2(EnGinkoMan* this, GlobalContext* globalCtx) {
|
||||||
// "What's this? You've already saved up 200 Rupees!?! Well, little guy, here's your special gift. Take
|
// "What's this? You've already saved up 200 Rupees!?! Well, little guy, here's your special gift. Take
|
||||||
// it!"
|
// it!"
|
||||||
gSaveContext.weekEventReg[10] |= 8;
|
gSaveContext.weekEventReg[10] |= 8;
|
||||||
func_801518B0(globalCtx, 0x47A, &this->actor);
|
Message_StartTextbox(globalCtx, 0x47A, &this->actor);
|
||||||
this->curTextId = 0x47A; // Message after receiving reward for depositing 200 rupees.
|
this->curTextId = 0x47A; // Message after receiving reward for depositing 200 rupees.
|
||||||
} else {
|
} else {
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING);
|
||||||
func_801518B0(globalCtx, 0x47B, &this->actor);
|
Message_StartTextbox(globalCtx, 0x47B, &this->actor);
|
||||||
this->curTextId = 0x47B; // Message after receiving reward for depositing 1000 rupees.
|
this->curTextId = 0x47B; // Message after receiving reward for depositing 1000 rupees.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -572,17 +572,17 @@ void EnGinkoMan_Stamp(EnGinkoMan* this, GlobalContext* globalCtx) {
|
||||||
switch (this->curTextId) {
|
switch (this->curTextId) {
|
||||||
case 0x464: // "Hey, relax! It doesn't leave any marks, and it's not gonna hurt."
|
case 0x464: // "Hey, relax! It doesn't leave any marks, and it's not gonna hurt."
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING);
|
||||||
func_801518B0(globalCtx, 0x465, &this->actor);
|
Message_StartTextbox(globalCtx, 0x465, &this->actor);
|
||||||
this->curTextId = 0x465; // "There! Now I'll know you when I see you!"
|
this->curTextId = 0x465; // "There! Now I'll know you when I see you!"
|
||||||
break;
|
break;
|
||||||
case 0x469: // "Excuse me, but let me take a look at you..."
|
case 0x469: // "Excuse me, but let me take a look at you..."
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING);
|
||||||
globalCtx->msgCtx.bankRupees = (gSaveContext.bankRupees & 0xFFFF);
|
globalCtx->msgCtx.bankRupees = (gSaveContext.bankRupees & 0xFFFF);
|
||||||
if ((CURRENT_DAY == 3) && (gSaveContext.isNight == 1)) {
|
if ((CURRENT_DAY == 3) && (gSaveContext.isNight == 1)) {
|
||||||
func_801518B0(globalCtx, 0x46C, &this->actor);
|
Message_StartTextbox(globalCtx, 0x46C, &this->actor);
|
||||||
this->curTextId = 0x46C; // "Ah, yes...[Link], right?
|
this->curTextId = 0x46C; // "Ah, yes...[Link], right?
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x46A, &this->actor);
|
Message_StartTextbox(globalCtx, 0x46A, &this->actor);
|
||||||
this->curTextId = 0x46A; // "Ah, yes...[Link].
|
this->curTextId = 0x46A; // "Ah, yes...[Link].
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@ typedef enum {
|
||||||
/* 39 */ SI_SWORD_RAZOR,
|
/* 39 */ SI_SWORD_RAZOR,
|
||||||
/* 40 */ SI_SWORD_GILDED,
|
/* 40 */ SI_SWORD_GILDED,
|
||||||
/* 41 */ SI_SHIELD_HERO_4,
|
/* 41 */ SI_SHIELD_HERO_4,
|
||||||
/* 42 */ SI_SHIELD_MIRROR,
|
/* 42 */ SI_SHIELD_MIRROR
|
||||||
} EnGirlAShopItemId;
|
} EnGirlAShopItemId;
|
||||||
|
|
||||||
extern const ActorInit En_GirlA_InitVars;
|
extern const ActorInit En_GirlA_InitVars;
|
||||||
|
|
|
||||||
|
|
@ -534,16 +534,16 @@ void func_80B51410(EnGk* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
void func_80B51510(EnGk* this, GlobalContext* globalCtx) {
|
void func_80B51510(EnGk* this, GlobalContext* globalCtx) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
u32 temp_v0;
|
s32 actionIndex;
|
||||||
|
|
||||||
if (this) {}
|
if (this) {}
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x1DF)) {
|
if (Cutscene_CheckActorAction(globalCtx, 479)) {
|
||||||
temp_v0 = func_800EE200(globalCtx, 0x1DF);
|
actionIndex = Cutscene_GetActorActionIndex(globalCtx, 479);
|
||||||
|
|
||||||
if (globalCtx->csCtx.npcActions[temp_v0]->unk0 != this->unk_31B) {
|
if (globalCtx->csCtx.actorActions[actionIndex]->action != this->unk_31B) {
|
||||||
this->unk_31B = globalCtx->csCtx.npcActions[temp_v0]->unk0;
|
this->unk_31B = globalCtx->csCtx.actorActions[actionIndex]->action;
|
||||||
switch (globalCtx->csCtx.npcActions[temp_v0]->unk0) {
|
switch (globalCtx->csCtx.actorActions[actionIndex]->action) {
|
||||||
case 1:
|
case 1:
|
||||||
this->unk_31A = 0;
|
this->unk_31A = 0;
|
||||||
this->unk_2E4 = 0;
|
this->unk_2E4 = 0;
|
||||||
|
|
@ -587,7 +587,7 @@ void func_80B51510(EnGk* this, GlobalContext* globalCtx) {
|
||||||
func_80B51308(this, globalCtx);
|
func_80B51308(this, globalCtx);
|
||||||
}
|
}
|
||||||
|
|
||||||
func_800EDF24(&this->actor, globalCtx, temp_v0);
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, actionIndex);
|
||||||
this->actor.shape.yOffset = 0.0f;
|
this->actor.shape.yOffset = 0.0f;
|
||||||
} else {
|
} else {
|
||||||
this->unk_31B = 0x63;
|
this->unk_31B = 0x63;
|
||||||
|
|
@ -641,7 +641,7 @@ void func_80B51760(EnGk* this, GlobalContext* globalCtx) {
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
this->unk_1E4 |= 4;
|
this->unk_1E4 |= 4;
|
||||||
this->unk_31C = func_80B50410(this, globalCtx);
|
this->unk_31C = func_80B50410(this, globalCtx);
|
||||||
func_801518B0(globalCtx, this->unk_31C, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_31C, &this->actor);
|
||||||
this->actionFunc = func_80B51970;
|
this->actionFunc = func_80B51970;
|
||||||
if (this->unk_31C == 0xE81) {
|
if (this->unk_31C == 0xE81) {
|
||||||
this->unk_2E4 = 0;
|
this->unk_2E4 = 0;
|
||||||
|
|
@ -682,7 +682,7 @@ void func_80B51970(EnGk* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
this->unk_31C = func_80B50410(this, globalCtx);
|
this->unk_31C = func_80B50410(this, globalCtx);
|
||||||
func_801518B0(globalCtx, this->unk_31C, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_31C, &this->actor);
|
||||||
if (this->unk_31C == 0xE80) {
|
if (this->unk_31C == 0xE80) {
|
||||||
this->unk_1E4 |= 2;
|
this->unk_1E4 |= 2;
|
||||||
} else if (this->unk_31C == 0xE89) {
|
} else if (this->unk_31C == 0xE89) {
|
||||||
|
|
@ -736,7 +736,7 @@ void func_80B51B40(EnGk* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
this->unk_31C = func_80B50710(this);
|
this->unk_31C = func_80B50710(this);
|
||||||
func_801518B0(globalCtx, this->unk_31C, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_31C, &this->actor);
|
||||||
if (this->unk_31C == 0xE8C) {
|
if (this->unk_31C == 0xE8C) {
|
||||||
this->unk_1E4 |= 2;
|
this->unk_1E4 |= 2;
|
||||||
}
|
}
|
||||||
|
|
@ -746,13 +746,13 @@ void func_80B51B40(EnGk* this, GlobalContext* globalCtx) {
|
||||||
case 0:
|
case 0:
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
this->unk_31C = 0xE8E;
|
this->unk_31C = 0xE8E;
|
||||||
func_801518B0(globalCtx, this->unk_31C, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_31C, &this->actor);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
this->unk_31C = 0xE8A;
|
this->unk_31C = 0xE8A;
|
||||||
func_801518B0(globalCtx, this->unk_31C, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_31C, &this->actor);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -790,7 +790,7 @@ void func_80B51D9C(EnGk* this, GlobalContext* globalCtx) {
|
||||||
} else {
|
} else {
|
||||||
this->unk_31C = 0xE99;
|
this->unk_31C = 0xE99;
|
||||||
}
|
}
|
||||||
func_801518B0(globalCtx, this->unk_31C, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_31C, &this->actor);
|
||||||
this->actionFunc = func_80B51970;
|
this->actionFunc = func_80B51970;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -918,7 +918,7 @@ void func_80B52340(EnGk* this, GlobalContext* globalCtx) {
|
||||||
this->unk_31C = 0xE93;
|
this->unk_31C = 0xE93;
|
||||||
this->actionFunc = func_80B52430;
|
this->actionFunc = func_80B52430;
|
||||||
}
|
}
|
||||||
func_801518B0(globalCtx, this->unk_31C, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_31C, &this->actor);
|
||||||
this->actor.flags &= ~ACTOR_FLAG_10000;
|
this->actor.flags &= ~ACTOR_FLAG_10000;
|
||||||
} else {
|
} else {
|
||||||
this->actor.flags |= ACTOR_FLAG_10000;
|
this->actor.flags |= ACTOR_FLAG_10000;
|
||||||
|
|
@ -933,13 +933,13 @@ void func_80B52430(EnGk* this, GlobalContext* globalCtx) {
|
||||||
switch (this->unk_31C) {
|
switch (this->unk_31C) {
|
||||||
case 0xE93:
|
case 0xE93:
|
||||||
this->unk_31C = 0xE89;
|
this->unk_31C = 0xE89;
|
||||||
func_801518B0(globalCtx, this->unk_31C, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_31C, &this->actor);
|
||||||
this->actionFunc = func_80B51B40;
|
this->actionFunc = func_80B51B40;
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case 0xE90:
|
case 0xE90:
|
||||||
this->unk_31C = 0xE91;
|
this->unk_31C = 0xE91;
|
||||||
func_801518B0(globalCtx, this->unk_31C, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_31C, &this->actor);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case 0xE91:
|
case 0xE91:
|
||||||
|
|
@ -980,7 +980,7 @@ void func_80B5253C(EnGk* this, GlobalContext* globalCtx) {
|
||||||
void func_80B525E0(EnGk* this, GlobalContext* globalCtx) {
|
void func_80B525E0(EnGk* this, GlobalContext* globalCtx) {
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
this->unk_31C = 0xE92;
|
this->unk_31C = 0xE92;
|
||||||
func_801518B0(globalCtx, this->unk_31C, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_31C, &this->actor);
|
||||||
this->actionFunc = func_80B52430;
|
this->actionFunc = func_80B52430;
|
||||||
} else {
|
} else {
|
||||||
func_800B85E0(&this->actor, globalCtx, 400.0f, -1);
|
func_800B85E0(&this->actor, globalCtx, 400.0f, -1);
|
||||||
|
|
|
||||||
|
|
@ -1551,8 +1551,8 @@ void func_80950F2C(EnGm* this, GlobalContext* globalCtx) {
|
||||||
s32 sp2C;
|
s32 sp2C;
|
||||||
s16 yaw;
|
s16 yaw;
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x20E)) {
|
if (Cutscene_CheckActorAction(globalCtx, 526)) {
|
||||||
sp2C = globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x20E)]->unk0;
|
sp2C = globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 526)]->action;
|
||||||
if (this->unk_259 != (sp2C & 0xFF)) {
|
if (this->unk_259 != (sp2C & 0xFF)) {
|
||||||
if (sp2C == 3) {
|
if (sp2C == 3) {
|
||||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_CHAIR_ROLL);
|
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_CHAIR_ROLL);
|
||||||
|
|
|
||||||
|
|
@ -537,7 +537,7 @@ s32 func_80A1222C(EnGo* this, GlobalContext* globalCtx) {
|
||||||
if (((player->transformation == PLAYER_FORM_GORON) && (globalCtx->msgCtx.ocarinaMode == 3) &&
|
if (((player->transformation == PLAYER_FORM_GORON) && (globalCtx->msgCtx.ocarinaMode == 3) &&
|
||||||
(globalCtx->msgCtx.unk1202E == 1) && (this->unk_3EC == 0) && (this->actor.xzDistToPlayer < 400.0f)) ||
|
(globalCtx->msgCtx.unk1202E == 1) && (this->unk_3EC == 0) && (this->actor.xzDistToPlayer < 400.0f)) ||
|
||||||
(!(gSaveContext.weekEventReg[22] & 4) && (globalCtx->sceneNum == SCENE_16GORON_HOUSE) &&
|
(!(gSaveContext.weekEventReg[22] & 4) && (globalCtx->sceneNum == SCENE_16GORON_HOUSE) &&
|
||||||
(gSaveContext.sceneSetupIndex == 0) && (this->unk_3EC == 0) && (globalCtx->csCtx.unk_12 == 1))) {
|
(gSaveContext.sceneSetupIndex == 0) && (this->unk_3EC == 0) && (globalCtx->csCtx.currentCsIndex == 1))) {
|
||||||
ret = true;
|
ret = true;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
|
|
@ -710,7 +710,7 @@ s32 func_80A12868(EnGo* this, GlobalContext* globalCtx) {
|
||||||
s32 func_80A12954(EnGo* this, GlobalContext* globalCtx) {
|
s32 func_80A12954(EnGo* this, GlobalContext* globalCtx) {
|
||||||
if ((ENGO_GET_F(&this->actor) == ENGO_F_4) && (globalCtx->csCtx.state != 0) && (this->actor.draw != NULL) &&
|
if ((ENGO_GET_F(&this->actor) == ENGO_F_4) && (globalCtx->csCtx.state != 0) && (this->actor.draw != NULL) &&
|
||||||
(globalCtx->sceneNum == SCENE_10YUKIYAMANOMURA2) && (gSaveContext.sceneSetupIndex == 1) &&
|
(globalCtx->sceneNum == SCENE_10YUKIYAMANOMURA2) && (gSaveContext.sceneSetupIndex == 1) &&
|
||||||
(globalCtx->csCtx.unk_12 == 0)) {
|
(globalCtx->csCtx.currentCsIndex == 0)) {
|
||||||
if (this->unk_3F0 == 0) {
|
if (this->unk_3F0 == 0) {
|
||||||
this->actor.flags &= ~ACTOR_FLAG_1;
|
this->actor.flags &= ~ACTOR_FLAG_1;
|
||||||
this->unk_394 = 255;
|
this->unk_394 = 255;
|
||||||
|
|
@ -1410,7 +1410,7 @@ void func_80A144F4(EnGo* this, GlobalContext* globalCtx) {
|
||||||
void func_80A145AC(EnGo* this, GlobalContext* globalCtx) {
|
void func_80A145AC(EnGo* this, GlobalContext* globalCtx) {
|
||||||
if ((ENGO_GET_70(&this->actor) == ENGO_70_1) &&
|
if ((ENGO_GET_70(&this->actor) == ENGO_70_1) &&
|
||||||
(((globalCtx->sceneNum == SCENE_10YUKIYAMANOMURA2) && (gSaveContext.sceneSetupIndex == 1) &&
|
(((globalCtx->sceneNum == SCENE_10YUKIYAMANOMURA2) && (gSaveContext.sceneSetupIndex == 1) &&
|
||||||
(globalCtx->csCtx.unk_12 == 0)) ||
|
(globalCtx->csCtx.currentCsIndex == 0)) ||
|
||||||
!(gSaveContext.weekEventReg[21] & 8))) {
|
!(gSaveContext.weekEventReg[21] & 8))) {
|
||||||
this->actor.child = func_80A13400(this, globalCtx);
|
this->actor.child = func_80A13400(this, globalCtx);
|
||||||
this->actor.child->child = &this->actor;
|
this->actor.child->child = &this->actor;
|
||||||
|
|
@ -1633,24 +1633,24 @@ void func_80A14FC8(EnGo* this, GlobalContext* globalCtx) {
|
||||||
s32 sp38[] = {
|
s32 sp38[] = {
|
||||||
0, 2, 6, 20, 18, 5, 5, 15,
|
0, 2, 6, 20, 18, 5, 5, 15,
|
||||||
};
|
};
|
||||||
u16 sp36 = 0;
|
u16 actorActionCmd = 0;
|
||||||
s32 sp30;
|
s32 sp30;
|
||||||
u32 sp2C;
|
s32 actionIndex;
|
||||||
|
|
||||||
switch (ENGO_GET_70(&this->actor)) {
|
switch (ENGO_GET_70(&this->actor)) {
|
||||||
case ENGO_70_0:
|
case ENGO_70_0:
|
||||||
sp36 = 0x80;
|
actorActionCmd = 128;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ENGO_70_1:
|
case ENGO_70_1:
|
||||||
sp36 = 0x81;
|
actorActionCmd = 129;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((sp36 == 0x80) || (sp36 == 0x81)) {
|
if ((actorActionCmd == 128) || (actorActionCmd == 129)) {
|
||||||
if (func_800EE29C(globalCtx, sp36)) {
|
if (Cutscene_CheckActorAction(globalCtx, actorActionCmd)) {
|
||||||
sp2C = func_800EE200(globalCtx, sp36);
|
actionIndex = Cutscene_GetActorActionIndex(globalCtx, actorActionCmd);
|
||||||
sp30 = globalCtx->csCtx.npcActions[sp2C]->unk0;
|
sp30 = globalCtx->csCtx.actorActions[actionIndex]->action;
|
||||||
|
|
||||||
if (this->unk_394 != (u8)sp30) {
|
if (this->unk_394 != (u8)sp30) {
|
||||||
this->unk_394 = sp30;
|
this->unk_394 = sp30;
|
||||||
|
|
@ -1699,7 +1699,7 @@ void func_80A14FC8(EnGo* this, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sp36 == 0x80) {
|
if (actorActionCmd == 128) {
|
||||||
switch (globalCtx->csCtx.frames) {
|
switch (globalCtx->csCtx.frames) {
|
||||||
case 55:
|
case 55:
|
||||||
case 100:
|
case 100:
|
||||||
|
|
@ -1723,7 +1723,7 @@ void func_80A14FC8(EnGo* this, GlobalContext* globalCtx) {
|
||||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_GOLON_VOICE_EATFULL);
|
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_GOLON_VOICE_EATFULL);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else if (sp36 == 0x81) {
|
} else if (actorActionCmd == 129) {
|
||||||
switch (globalCtx->csCtx.frames) {
|
switch (globalCtx->csCtx.frames) {
|
||||||
case 360:
|
case 360:
|
||||||
case 390:
|
case 390:
|
||||||
|
|
@ -1745,7 +1745,7 @@ void func_80A14FC8(EnGo* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
SubS_FillLimbRotTables(globalCtx, this->unk_3CE, this->unk_3C8, ARRAY_COUNT(this->unk_3CE));
|
SubS_FillLimbRotTables(globalCtx, this->unk_3CE, this->unk_3C8, ARRAY_COUNT(this->unk_3CE));
|
||||||
func_800EDF24(&this->actor, globalCtx, sp2C);
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, actionIndex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -206,7 +206,7 @@ void func_80997DEC(EnGs* this, GlobalContext* globalCtx) {
|
||||||
void func_80997E4C(EnGs* this, GlobalContext* globalCtx) {
|
void func_80997E4C(EnGs* this, GlobalContext* globalCtx) {
|
||||||
switch (Message_GetState(&globalCtx->msgCtx)) {
|
switch (Message_GetState(&globalCtx->msgCtx)) {
|
||||||
case 0:
|
case 0:
|
||||||
func_801518B0(globalCtx, this->unk_210, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_210, &this->actor);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
|
|
@ -533,10 +533,11 @@ s32 func_80998A48(EnGs* this, GlobalContext* globalCtx) {
|
||||||
} else if (this->unk_19D == 1) {
|
} else if (this->unk_19D == 1) {
|
||||||
if (func_80998334(this, globalCtx, &this->unk_1DC, &this->unk_1E0, &this->unk_1D4, 0.8f, 0.007f, 0.001f, 7,
|
if (func_80998334(this, globalCtx, &this->unk_1DC, &this->unk_1E0, &this->unk_1D4, 0.8f, 0.007f, 0.001f, 7,
|
||||||
0) == 0.0f) {
|
0) == 0.0f) {
|
||||||
if ((this->actor.params != ENGS_0) && !func_801690CC(globalCtx) && !Message_GetState(&globalCtx->msgCtx)) {
|
if ((this->actor.params != ENGS_0) && !func_801690CC(globalCtx) &&
|
||||||
|
Message_GetState(&globalCtx->msgCtx) == 0) {
|
||||||
this->unk_216 = 0;
|
this->unk_216 = 0;
|
||||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_FAIVE_LUPY_COUNT);
|
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_FAIVE_LUPY_COUNT);
|
||||||
func_801518B0(globalCtx, 0x20D2, NULL);
|
Message_StartTextbox(globalCtx, 0x20D2, NULL);
|
||||||
}
|
}
|
||||||
this->unk_19A &= ~1;
|
this->unk_19A &= ~1;
|
||||||
sp3C = 0;
|
sp3C = 0;
|
||||||
|
|
|
||||||
|
|
@ -156,10 +156,10 @@ void func_80BCF354(EnHg* this) {
|
||||||
void func_80BCF398(EnHg* this, GlobalContext* globalCtx) {
|
void func_80BCF398(EnHg* this, GlobalContext* globalCtx) {
|
||||||
if (this->actor.colChkInfo.health == 1) {
|
if (this->actor.colChkInfo.health == 1) {
|
||||||
if ((this->actor.xzDistToPlayer < 200.0f && this->actor.playerHeightRel < 40.0f) &&
|
if ((this->actor.xzDistToPlayer < 200.0f && this->actor.playerHeightRel < 40.0f) &&
|
||||||
!func_800EE29C(globalCtx, 0x1E3)) {
|
!Cutscene_CheckActorAction(globalCtx, 0x1E3)) {
|
||||||
func_80BCF468(this);
|
func_80BCF468(this);
|
||||||
}
|
}
|
||||||
if ((gSaveContext.sceneSetupIndex == 0 && globalCtx->csCtx.unk_12 == 0) &&
|
if ((gSaveContext.sceneSetupIndex == 0 && globalCtx->csCtx.currentCsIndex == 0) &&
|
||||||
(globalCtx->csCtx.frames == 20 || globalCtx->csCtx.frames == 60)) {
|
(globalCtx->csCtx.frames == 20 || globalCtx->csCtx.frames == 60)) {
|
||||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_HALF_REDEAD_SURPRISE);
|
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_HALF_REDEAD_SURPRISE);
|
||||||
}
|
}
|
||||||
|
|
@ -176,7 +176,7 @@ void func_80BCF4AC(EnHg* this, GlobalContext* globalCtx) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
|
|
||||||
this->actor.speedXZ = 1.6f;
|
this->actor.speedXZ = 1.6f;
|
||||||
if (!(player->stateFlags2 & 0x08000000) && !Message_GetState(&globalCtx->msgCtx)) {
|
if (!(player->stateFlags2 & 0x08000000) && Message_GetState(&globalCtx->msgCtx) == 0) {
|
||||||
if (((this->skelAnime.curFrame > 9.0f) && (this->skelAnime.curFrame < 16.0f)) ||
|
if (((this->skelAnime.curFrame > 9.0f) && (this->skelAnime.curFrame < 16.0f)) ||
|
||||||
((this->skelAnime.curFrame > 44.0f) && (this->skelAnime.curFrame < 51.0f))) {
|
((this->skelAnime.curFrame > 44.0f) && (this->skelAnime.curFrame < 51.0f))) {
|
||||||
Actor_MoveWithGravity(&this->actor);
|
Actor_MoveWithGravity(&this->actor);
|
||||||
|
|
@ -217,7 +217,7 @@ void func_80BCF6D0(EnHg* this, GlobalContext* globalCtx) {
|
||||||
void func_80BCF710(EnHg* this, GlobalContext* globalCtx) {
|
void func_80BCF710(EnHg* this, GlobalContext* globalCtx) {
|
||||||
if (Message_GetState(&globalCtx->msgCtx) == 0) {
|
if (Message_GetState(&globalCtx->msgCtx) == 0) {
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
func_801518B0(globalCtx, 0x24F, &this->actor);
|
Message_StartTextbox(globalCtx, 0x24F, &this->actor);
|
||||||
} else {
|
} else {
|
||||||
func_800B8614(&this->actor, globalCtx, 80.0f);
|
func_800B8614(&this->actor, globalCtx, 80.0f);
|
||||||
}
|
}
|
||||||
|
|
@ -271,11 +271,12 @@ void func_80BCF93C(EnHg* this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80BCF95C(EnHg* this, GlobalContext* globalCtx) {
|
void func_80BCF95C(EnHg* this, GlobalContext* globalCtx) {
|
||||||
if (func_800EE29C(globalCtx, 0x1E4)) {
|
if (Cutscene_CheckActorAction(globalCtx, 484)) {
|
||||||
u32 actionIndex = func_800EE200(globalCtx, 0x1E4);
|
s32 actionIndex = Cutscene_GetActorActionIndex(globalCtx, 484);
|
||||||
if (this->cutscenes[3] != globalCtx->csCtx.npcActions[actionIndex]->unk0) {
|
|
||||||
this->cutscenes[3] = globalCtx->csCtx.npcActions[actionIndex]->unk0;
|
if (this->cutscenes[3] != globalCtx->csCtx.actorActions[actionIndex]->action) {
|
||||||
switch (globalCtx->csCtx.npcActions[actionIndex]->unk0) {
|
this->cutscenes[3] = globalCtx->csCtx.actorActions[actionIndex]->action;
|
||||||
|
switch (globalCtx->csCtx.actorActions[actionIndex]->action) {
|
||||||
case 1:
|
case 1:
|
||||||
this->currentAnimation = 0;
|
this->currentAnimation = 0;
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 0);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 0);
|
||||||
|
|
@ -336,7 +337,7 @@ void func_80BCF95C(EnHg* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
func_800EDF24(&this->actor, globalCtx, actionIndex);
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, actionIndex);
|
||||||
return;
|
return;
|
||||||
} else if (globalCtx->csCtx.state == 0) {
|
} else if (globalCtx->csCtx.state == 0) {
|
||||||
func_80BCF354(this);
|
func_80BCF354(this);
|
||||||
|
|
|
||||||
|
|
@ -137,29 +137,29 @@ void func_80BD04E0(EnHgo* this, GlobalContext* globalCtx) {
|
||||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_GIBDO) {
|
if (Player_GetMask(globalCtx) == PLAYER_MASK_GIBDO) {
|
||||||
if (!(this->unk_310 & 4)) {
|
if (!(this->unk_310 & 4)) {
|
||||||
this->unk_310 |= 4;
|
this->unk_310 |= 4;
|
||||||
func_801518B0(globalCtx, 0x15A5, &this->actor);
|
Message_StartTextbox(globalCtx, 0x15A5, &this->actor);
|
||||||
this->unk_314 = 0x15A5; // That mask is a gibdo
|
this->unk_314 = 0x15A5; // That mask is a gibdo
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x15A7, &this->actor);
|
Message_StartTextbox(globalCtx, 0x15A7, &this->actor);
|
||||||
this->unk_314 = 0x15A7; // can I research that mask
|
this->unk_314 = 0x15A7; // can I research that mask
|
||||||
}
|
}
|
||||||
} else if (gSaveContext.playerForm == PLAYER_FORM_HUMAN) {
|
} else if (gSaveContext.playerForm == PLAYER_FORM_HUMAN) {
|
||||||
if (!(this->unk_310 & 1)) {
|
if (!(this->unk_310 & 1)) {
|
||||||
this->unk_310 |= 1;
|
this->unk_310 |= 1;
|
||||||
func_801518B0(globalCtx, 0x158F, &this->actor);
|
Message_StartTextbox(globalCtx, 0x158F, &this->actor);
|
||||||
this->unk_314 = 0x158F; // Isn't this a fairy
|
this->unk_314 = 0x158F; // Isn't this a fairy
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x1593, &this->actor);
|
Message_StartTextbox(globalCtx, 0x1593, &this->actor);
|
||||||
this->unk_314 = 0x1593; // Never seen a fairy this lively
|
this->unk_314 = 0x1593; // Never seen a fairy this lively
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (!(this->unk_310 & 2)) {
|
if (!(this->unk_310 & 2)) {
|
||||||
this->unk_310 |= 2;
|
this->unk_310 |= 2;
|
||||||
func_801518B0(globalCtx, 0x1595, &this->actor);
|
Message_StartTextbox(globalCtx, 0x1595, &this->actor);
|
||||||
this->unk_314 = 0x1595; // ghost radar is reacting
|
this->unk_314 = 0x1595; // ghost radar is reacting
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x1598, &this->actor);
|
Message_StartTextbox(globalCtx, 0x1598, &this->actor);
|
||||||
this->unk_314 = 0x1598; // you seem to be similar to a ghost
|
this->unk_314 = 0x1598; // you seem to be similar to a ghost
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -197,44 +197,44 @@ void func_80BD06FC(EnHgo* this, GlobalContext* globalCtx) {
|
||||||
if (func_80147624(globalCtx)) {
|
if (func_80147624(globalCtx)) {
|
||||||
switch (this->unk_314) {
|
switch (this->unk_314) {
|
||||||
case 0x158F:
|
case 0x158F:
|
||||||
func_801518B0(globalCtx, 0x1590, &this->actor);
|
Message_StartTextbox(globalCtx, 0x1590, &this->actor);
|
||||||
this->unk_314 = 0x1590;
|
this->unk_314 = 0x1590;
|
||||||
break;
|
break;
|
||||||
case 0x1590:
|
case 0x1590:
|
||||||
if (gSaveContext.weekEventReg[14] & 4) {
|
if (gSaveContext.weekEventReg[14] & 4) {
|
||||||
func_801518B0(globalCtx, 0x1591, &this->actor);
|
Message_StartTextbox(globalCtx, 0x1591, &this->actor);
|
||||||
this->unk_314 = 0x1591;
|
this->unk_314 = 0x1591;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
func_801518B0(globalCtx, 0x1592, &this->actor);
|
Message_StartTextbox(globalCtx, 0x1592, &this->actor);
|
||||||
this->unk_314 = 0x1592;
|
this->unk_314 = 0x1592;
|
||||||
break;
|
break;
|
||||||
case 0x1591:
|
case 0x1591:
|
||||||
func_801518B0(globalCtx, 0x1592, &this->actor);
|
Message_StartTextbox(globalCtx, 0x1592, &this->actor);
|
||||||
this->unk_314 = 0x1592;
|
this->unk_314 = 0x1592;
|
||||||
break;
|
break;
|
||||||
case 0x1593:
|
case 0x1593:
|
||||||
func_801518B0(globalCtx, 0x1594, &this->actor);
|
Message_StartTextbox(globalCtx, 0x1594, &this->actor);
|
||||||
this->unk_314 = 0x1594;
|
this->unk_314 = 0x1594;
|
||||||
break;
|
break;
|
||||||
case 0x1595:
|
case 0x1595:
|
||||||
func_801518B0(globalCtx, 0x1596, &this->actor);
|
Message_StartTextbox(globalCtx, 0x1596, &this->actor);
|
||||||
this->unk_314 = 0x1596;
|
this->unk_314 = 0x1596;
|
||||||
break;
|
break;
|
||||||
case 0x1596:
|
case 0x1596:
|
||||||
func_801518B0(globalCtx, 0x1597, &this->actor);
|
Message_StartTextbox(globalCtx, 0x1597, &this->actor);
|
||||||
this->unk_314 = 0x1597;
|
this->unk_314 = 0x1597;
|
||||||
break;
|
break;
|
||||||
case 0x1598:
|
case 0x1598:
|
||||||
func_801518B0(globalCtx, 0x1599, &this->actor);
|
Message_StartTextbox(globalCtx, 0x1599, &this->actor);
|
||||||
this->unk_314 = 0x1599;
|
this->unk_314 = 0x1599;
|
||||||
break;
|
break;
|
||||||
case 0x15A5:
|
case 0x15A5:
|
||||||
func_801518B0(globalCtx, 0x15A6, &this->actor);
|
Message_StartTextbox(globalCtx, 0x15A6, &this->actor);
|
||||||
this->unk_314 = 0x15A6;
|
this->unk_314 = 0x15A6;
|
||||||
break;
|
break;
|
||||||
case 0x15A6:
|
case 0x15A6:
|
||||||
func_801518B0(globalCtx, 0x15A7, &this->actor);
|
Message_StartTextbox(globalCtx, 0x15A7, &this->actor);
|
||||||
this->unk_314 = 0x15A7;
|
this->unk_314 = 0x15A7;
|
||||||
break;
|
break;
|
||||||
case 0x15A7:
|
case 0x15A7:
|
||||||
|
|
@ -246,13 +246,13 @@ void func_80BD06FC(EnHgo* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_80BD0898(EnHgo* this, GlobalContext* globalCtx) {
|
s32 func_80BD0898(EnHgo* this, GlobalContext* globalCtx) {
|
||||||
u32 actionIndex;
|
s32 actionIndex;
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x1E6)) {
|
if (Cutscene_CheckActorAction(globalCtx, 486)) {
|
||||||
actionIndex = func_800EE200(globalCtx, 0x1E6);
|
actionIndex = Cutscene_GetActorActionIndex(globalCtx, 486);
|
||||||
if (this->unk_316 != globalCtx->csCtx.npcActions[actionIndex]->unk0) {
|
if (this->unk_316 != globalCtx->csCtx.actorActions[actionIndex]->action) {
|
||||||
this->unk_316 = globalCtx->csCtx.npcActions[actionIndex]->unk0;
|
this->unk_316 = globalCtx->csCtx.actorActions[actionIndex]->action;
|
||||||
switch (globalCtx->csCtx.npcActions[actionIndex]->unk0) {
|
switch (globalCtx->csCtx.actorActions[actionIndex]->action) {
|
||||||
case 1:
|
case 1:
|
||||||
this->unk_218 = 0;
|
this->unk_218 = 0;
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 0);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 0);
|
||||||
|
|
@ -285,7 +285,7 @@ s32 func_80BD0898(EnHgo* this, GlobalContext* globalCtx) {
|
||||||
if ((Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) && (this->unk_312 == 0)) {
|
if ((Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) && (this->unk_312 == 0)) {
|
||||||
this->unk_312 = 1;
|
this->unk_312 = 1;
|
||||||
if ((gSaveContext.sceneSetupIndex == 0) &&
|
if ((gSaveContext.sceneSetupIndex == 0) &&
|
||||||
((globalCtx->csCtx.unk_12 == 2) || (globalCtx->csCtx.unk_12 == 4))) {
|
((globalCtx->csCtx.currentCsIndex == 2) || (globalCtx->csCtx.currentCsIndex == 4))) {
|
||||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_VO_GBVO02);
|
Actor_PlaySfxAtPos(&this->actor, NA_SE_VO_GBVO02);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -300,7 +300,7 @@ s32 func_80BD0898(EnHgo* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func_800EDF24(&this->actor, globalCtx, actionIndex);
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, actionIndex);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if ((globalCtx->csCtx.state == 0) && (((gSaveContext.weekEventReg[75]) & 0x20)) &&
|
if ((globalCtx->csCtx.state == 0) && (((gSaveContext.weekEventReg[75]) & 0x20)) &&
|
||||||
|
|
|
||||||
|
|
@ -395,7 +395,7 @@ void func_80C2077C(EnHintSkb* this, GlobalContext* globalCtx) {
|
||||||
this->unk_3E0 = 1;
|
this->unk_3E0 = 1;
|
||||||
if (this->unk_3DC == 0) {
|
if (this->unk_3DC == 0) {
|
||||||
this->unk_3DC = 1;
|
this->unk_3DC = 1;
|
||||||
func_801518B0(globalCtx, 0x1147, &this->actor);
|
Message_StartTextbox(globalCtx, 0x1147, &this->actor);
|
||||||
this->unk_3E6 = 0x1147;
|
this->unk_3E6 = 0x1147;
|
||||||
if (this->skelAnime.animation == &object_skb_Anim_00697C) {
|
if (this->skelAnime.animation == &object_skb_Anim_00697C) {
|
||||||
globalCtx->msgCtx.msgMode = 0x44;
|
globalCtx->msgCtx.msgMode = 0x44;
|
||||||
|
|
@ -406,7 +406,7 @@ void func_80C2077C(EnHintSkb* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 11);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 11);
|
||||||
func_801518B0(globalCtx, 0x1148, &this->actor);
|
Message_StartTextbox(globalCtx, 0x1148, &this->actor);
|
||||||
this->unk_3E6 = 0x1148;
|
this->unk_3E6 = 0x1148;
|
||||||
}
|
}
|
||||||
func_80C208BC(this);
|
func_80C208BC(this);
|
||||||
|
|
@ -462,7 +462,7 @@ void func_80C208D0(EnHintSkb* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
if ((this->skelAnime.animation == &object_skb_Anim_003584) &&
|
if ((this->skelAnime.animation == &object_skb_Anim_003584) &&
|
||||||
Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
|
Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
|
||||||
func_801518B0(globalCtx, 0x1147, &this->actor);
|
Message_StartTextbox(globalCtx, 0x1147, &this->actor);
|
||||||
this->unk_3E6 = 0x1147;
|
this->unk_3E6 = 0x1147;
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 0);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 0);
|
||||||
}
|
}
|
||||||
|
|
@ -479,37 +479,37 @@ void func_80C20A74(EnHintSkb* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
switch (params) {
|
switch (params) {
|
||||||
case 1:
|
case 1:
|
||||||
func_801518B0(globalCtx, 0x1149, &this->actor);
|
Message_StartTextbox(globalCtx, 0x1149, &this->actor);
|
||||||
this->unk_3E6 = 0x1149;
|
this->unk_3E6 = 0x1149;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
func_801518B0(globalCtx, 0x114A, &this->actor);
|
Message_StartTextbox(globalCtx, 0x114A, &this->actor);
|
||||||
this->unk_3E6 = 0x114A;
|
this->unk_3E6 = 0x114A;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
func_801518B0(globalCtx, 0x114B, &this->actor);
|
Message_StartTextbox(globalCtx, 0x114B, &this->actor);
|
||||||
this->unk_3E6 = 0x114B;
|
this->unk_3E6 = 0x114B;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 4:
|
case 4:
|
||||||
func_801518B0(globalCtx, 0x114C, &this->actor);
|
Message_StartTextbox(globalCtx, 0x114C, &this->actor);
|
||||||
this->unk_3E6 = 0x114C;
|
this->unk_3E6 = 0x114C;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 5:
|
case 5:
|
||||||
func_801518B0(globalCtx, 0x114D, &this->actor);
|
Message_StartTextbox(globalCtx, 0x114D, &this->actor);
|
||||||
this->unk_3E6 = 0x114D;
|
this->unk_3E6 = 0x114D;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 6:
|
case 6:
|
||||||
func_801518B0(globalCtx, 0x114E, &this->actor);
|
Message_StartTextbox(globalCtx, 0x114E, &this->actor);
|
||||||
this->unk_3E6 = 0x114E;
|
this->unk_3E6 = 0x114E;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
func_801518B0(globalCtx, 0x1149, &this->actor);
|
Message_StartTextbox(globalCtx, 0x1149, &this->actor);
|
||||||
this->unk_3E6 = 0x1149;
|
this->unk_3E6 = 0x1149;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -520,11 +520,11 @@ void func_80C20B88(EnHintSkb* this, GlobalContext* globalCtx) {
|
||||||
if (globalCtx->msgCtx.choiceIndex == 0) {
|
if (globalCtx->msgCtx.choiceIndex == 0) {
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
this->unk_3E8 |= 0x10;
|
this->unk_3E8 |= 0x10;
|
||||||
func_801518B0(globalCtx, 0x1150, &this->actor);
|
Message_StartTextbox(globalCtx, 0x1150, &this->actor);
|
||||||
this->unk_3E6 = 0x1150;
|
this->unk_3E6 = 0x1150;
|
||||||
} else {
|
} else {
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
func_801518B0(globalCtx, 0x1152, &this->actor);
|
Message_StartTextbox(globalCtx, 0x1152, &this->actor);
|
||||||
this->unk_3E6 = 0x1152;
|
this->unk_3E6 = 0x1152;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -537,7 +537,7 @@ void func_80C20C24(EnHintSkb* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
switch (this->unk_3E6) {
|
switch (this->unk_3E6) {
|
||||||
case 0x1147:
|
case 0x1147:
|
||||||
func_801518B0(globalCtx, 0x1148, &this->actor);
|
Message_StartTextbox(globalCtx, 0x1148, &this->actor);
|
||||||
this->unk_3E6 = 0x1148;
|
this->unk_3E6 = 0x1148;
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 11);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 11);
|
||||||
break;
|
break;
|
||||||
|
|
@ -552,17 +552,17 @@ void func_80C20C24(EnHintSkb* this, GlobalContext* globalCtx) {
|
||||||
case 0x114C:
|
case 0x114C:
|
||||||
case 0x114D:
|
case 0x114D:
|
||||||
case 0x114E:
|
case 0x114E:
|
||||||
func_801518B0(globalCtx, 0x114F, &this->actor);
|
Message_StartTextbox(globalCtx, 0x114F, &this->actor);
|
||||||
this->unk_3E6 = 0x114F;
|
this->unk_3E6 = 0x114F;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x1152:
|
case 0x1152:
|
||||||
func_801518B0(globalCtx, 0x1151, &this->actor);
|
Message_StartTextbox(globalCtx, 0x1151, &this->actor);
|
||||||
this->unk_3E6 = 0x1151;
|
this->unk_3E6 = 0x1151;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x1150:
|
case 0x1150:
|
||||||
func_801518B0(globalCtx, 0x1151, &this->actor);
|
Message_StartTextbox(globalCtx, 0x1151, &this->actor);
|
||||||
this->unk_3E6 = 0x1151;
|
this->unk_3E6 = 0x1151;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1215,7 +1215,7 @@ s32 func_808F5728(GlobalContext* globalCtx, EnIn* this, s32 arg2, s32* arg3) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (*arg3 == 2) {
|
if (*arg3 == 2) {
|
||||||
func_801518B0(globalCtx, this->actor.textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->actor.textId, &this->actor);
|
||||||
*arg3 = 1;
|
*arg3 = 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1350,7 +1350,7 @@ s32 func_80B45550(EnInvadepoh* this, GlobalContext* globalCtx, f32 range, s32 ar
|
||||||
|
|
||||||
void EnInvadepoh_SetTextID(EnInvadepoh* this, GlobalContext* globalCtx, u16 arg2) {
|
void EnInvadepoh_SetTextID(EnInvadepoh* this, GlobalContext* globalCtx, u16 arg2) {
|
||||||
this->textId = arg2;
|
this->textId = arg2;
|
||||||
func_801518B0(globalCtx, arg2, &this->actor);
|
Message_StartTextbox(globalCtx, arg2, &this->actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80B45648(EnInvadepoh* this) {
|
void func_80B45648(EnInvadepoh* this) {
|
||||||
|
|
|
||||||
|
|
@ -349,7 +349,7 @@ void EnJg_Idle(EnJg* this, GlobalContext* globalCtx) {
|
||||||
void EnJg_GoronShrineIdle(EnJg* this, GlobalContext* globalCtx) {
|
void EnJg_GoronShrineIdle(EnJg* this, GlobalContext* globalCtx) {
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
this->flags |= FLAG_LOOKING_AT_PLAYER;
|
this->flags |= FLAG_LOOKING_AT_PLAYER;
|
||||||
func_801518B0(globalCtx, this->textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->textId, &this->actor);
|
||||||
this->actionFunc = EnJg_GoronShrineTalk;
|
this->actionFunc = EnJg_GoronShrineTalk;
|
||||||
} else if ((this->actor.xzDistToPlayer < 100.0f) || (this->actor.isTargeted)) {
|
} else if ((this->actor.xzDistToPlayer < 100.0f) || (this->actor.isTargeted)) {
|
||||||
func_800B863C(&this->actor, globalCtx);
|
func_800B863C(&this->actor, globalCtx);
|
||||||
|
|
@ -367,7 +367,7 @@ void EnJg_GoronShrineTalk(EnJg* this, GlobalContext* globalCtx) {
|
||||||
this->actionFunc = EnJg_GoronShrineIdle;
|
this->actionFunc = EnJg_GoronShrineIdle;
|
||||||
} else {
|
} else {
|
||||||
this->textId = EnJg_GetNextTextId(this);
|
this->textId = EnJg_GetNextTextId(this);
|
||||||
func_801518B0(globalCtx, this->textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->textId, &this->actor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -504,7 +504,7 @@ void EnJg_Talk(EnJg* this, GlobalContext* globalCtx) {
|
||||||
(CHECK_QUEST_ITEM(QUEST_SONG_LULLABY) || CHECK_QUEST_ITEM(QUEST_SONG_LULLABY_INTRO))) {
|
(CHECK_QUEST_ITEM(QUEST_SONG_LULLABY) || CHECK_QUEST_ITEM(QUEST_SONG_LULLABY_INTRO))) {
|
||||||
// The player already has the Lullaby or Lullaby Intro, so say "I'm counting on you"
|
// The player already has the Lullaby or Lullaby Intro, so say "I'm counting on you"
|
||||||
this->textId = EnJg_GetNextTextId(this);
|
this->textId = EnJg_GetNextTextId(this);
|
||||||
func_801518B0(globalCtx, this->textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->textId, &this->actor);
|
||||||
this->actionFunc = EnJg_SetupTalk;
|
this->actionFunc = EnJg_SetupTalk;
|
||||||
} else {
|
} else {
|
||||||
// To get to this point, the player *has* talked to the Goron Child, but doesn't
|
// To get to this point, the player *has* talked to the Goron Child, but doesn't
|
||||||
|
|
@ -522,7 +522,7 @@ void EnJg_Talk(EnJg* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this->textId = EnJg_GetNextTextId(this);
|
this->textId = EnJg_GetNextTextId(this);
|
||||||
func_801518B0(globalCtx, this->textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->textId, &this->actor);
|
||||||
this->actionFunc = EnJg_SetupTalk;
|
this->actionFunc = EnJg_SetupTalk;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -591,7 +591,7 @@ void EnJg_FrozenIdle(EnJg* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
func_801518B0(globalCtx, 0x236, &this->actor); // The old Goron is frozen solid!
|
Message_StartTextbox(globalCtx, 0x236, &this->actor); // The old Goron is frozen solid!
|
||||||
this->actionFunc = EnJg_EndFrozenInteraction;
|
this->actionFunc = EnJg_EndFrozenInteraction;
|
||||||
} else if (this->actor.isTargeted) {
|
} else if (this->actor.isTargeted) {
|
||||||
func_800B863C(&this->actor, globalCtx);
|
func_800B863C(&this->actor, globalCtx);
|
||||||
|
|
@ -622,13 +622,13 @@ void EnJg_TeachLullabyIntro(EnJg* this, GlobalContext* globalCtx) {
|
||||||
void EnJg_LullabyIntroCutsceneAction(EnJg* this, GlobalContext* globalCtx) {
|
void EnJg_LullabyIntroCutsceneAction(EnJg* this, GlobalContext* globalCtx) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x1D6)) {
|
if (Cutscene_CheckActorAction(globalCtx, 470)) {
|
||||||
u32 actionIndex = func_800EE200(globalCtx, 0x1D6);
|
s32 actionIndex = Cutscene_GetActorActionIndex(globalCtx, 470);
|
||||||
|
|
||||||
if (this->csAction != globalCtx->csCtx.npcActions[actionIndex]->unk0) {
|
if (this->csAction != globalCtx->csCtx.actorActions[actionIndex]->action) {
|
||||||
this->csAction = globalCtx->csCtx.npcActions[actionIndex]->unk0;
|
this->csAction = globalCtx->csCtx.actorActions[actionIndex]->action;
|
||||||
|
|
||||||
switch (globalCtx->csCtx.npcActions[actionIndex]->unk0) {
|
switch (globalCtx->csCtx.actorActions[actionIndex]->action) {
|
||||||
case 1:
|
case 1:
|
||||||
this->cutsceneAnimationIndex = EN_JG_ANIMATION_CUTSCENE_IDLE;
|
this->cutsceneAnimationIndex = EN_JG_ANIMATION_CUTSCENE_IDLE;
|
||||||
if (this->drum != NULL) {
|
if (this->drum != NULL) {
|
||||||
|
|
@ -913,7 +913,7 @@ void EnJg_CheckIfTalkingToPlayerAndHandleFreezeTimer(EnJg* this, GlobalContext*
|
||||||
gSaveContext.weekEventReg[24] |= 0x10;
|
gSaveContext.weekEventReg[24] |= 0x10;
|
||||||
}
|
}
|
||||||
|
|
||||||
func_801518B0(globalCtx, this->textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->textId, &this->actor);
|
||||||
this->actionFunc = EnJg_SetupTalk;
|
this->actionFunc = EnJg_SetupTalk;
|
||||||
} else {
|
} else {
|
||||||
if ((this->actor.xzDistToPlayer < 100.0f) || (this->actor.isTargeted)) {
|
if ((this->actor.xzDistToPlayer < 100.0f) || (this->actor.isTargeted)) {
|
||||||
|
|
@ -949,7 +949,7 @@ void EnJg_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
if (!EN_JG_IS_IN_GORON_SHRINE(thisx)) {
|
if (!EN_JG_IS_IN_GORON_SHRINE(thisx)) {
|
||||||
if ((globalCtx->sceneNum == SCENE_SPOT00) && (gSaveContext.sceneSetupIndex == 7) &&
|
if ((globalCtx->sceneNum == SCENE_SPOT00) && (gSaveContext.sceneSetupIndex == 7) &&
|
||||||
(globalCtx->csCtx.unk_12 == 0)) {
|
(globalCtx->csCtx.currentCsIndex == 0)) {
|
||||||
// This is the elder that appears in the cutscene for learning the full Goron Lullaby.
|
// This is the elder that appears in the cutscene for learning the full Goron Lullaby.
|
||||||
this->animationIndex = EN_JG_ANIMATION_IDLE;
|
this->animationIndex = EN_JG_ANIMATION_IDLE;
|
||||||
this->action = EN_JG_ACTION_LULLABY_INTRO_CS;
|
this->action = EN_JG_ACTION_LULLABY_INTRO_CS;
|
||||||
|
|
|
||||||
|
|
@ -549,7 +549,7 @@ void EnKakasi_RegularDialogue(EnKakasi* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
void EnKakasi_SetupSongTeach(EnKakasi* this, GlobalContext* globalCtx) {
|
void EnKakasi_SetupSongTeach(EnKakasi* this, GlobalContext* globalCtx) {
|
||||||
this->actor.textId = 0x1646;
|
this->actor.textId = 0x1646;
|
||||||
func_801518B0(globalCtx, this->actor.textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->actor.textId, &this->actor);
|
||||||
this->cutsceneCamId = CAM_ID_MAIN;
|
this->cutsceneCamId = CAM_ID_MAIN;
|
||||||
this->unk20C = 0.0f;
|
this->unk20C = 0.0f;
|
||||||
this->unk210 = 60.0f;
|
this->unk210 = 60.0f;
|
||||||
|
|
@ -682,7 +682,7 @@ void EnKakasi_PostSongLearnDialogue(EnKakasi* this, GlobalContext* globalCtx) {
|
||||||
func_801477B4(globalCtx);
|
func_801477B4(globalCtx);
|
||||||
func_800B7298(globalCtx, &this->actor, 0x56);
|
func_800B7298(globalCtx, &this->actor, 0x56);
|
||||||
this->actor.textId = 0x1648;
|
this->actor.textId = 0x1648;
|
||||||
func_801518B0(globalCtx, (this->actor.textId), &this->actor);
|
Message_StartTextbox(globalCtx, (this->actor.textId), &this->actor);
|
||||||
this->unkState1A8 = 0;
|
this->unkState1A8 = 0;
|
||||||
this->unk190 = 1;
|
this->unk190 = 1;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -164,7 +164,7 @@ void func_80B2654C(EnKendoJs* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ENKENDOJS_GET_FF(&this->actor) == ENKENDOJS_FF_1) {
|
if (ENKENDOJS_GET_FF(&this->actor) == ENKENDOJS_FF_1) {
|
||||||
func_801518B0(globalCtx, 0x273C, &this->actor);
|
Message_StartTextbox(globalCtx, 0x273C, &this->actor);
|
||||||
this->unk_288 = 0x273C;
|
this->unk_288 = 0x273C;
|
||||||
} else if (gSaveContext.playerForm != PLAYER_FORM_HUMAN) {
|
} else if (gSaveContext.playerForm != PLAYER_FORM_HUMAN) {
|
||||||
switch (gSaveContext.playerForm) {
|
switch (gSaveContext.playerForm) {
|
||||||
|
|
@ -185,14 +185,14 @@ void func_80B2654C(EnKendoJs* this, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
func_801518B0(globalCtx, D_80B27CE0[phi_v0][sp30], &this->actor);
|
Message_StartTextbox(globalCtx, D_80B27CE0[phi_v0][sp30], &this->actor);
|
||||||
this->unk_288 = D_80B27CE0[phi_v0][sp30];
|
this->unk_288 = D_80B27CE0[phi_v0][sp30];
|
||||||
} else if ((Player_GetMask(globalCtx) != PLAYER_MASK_NONE) && (Player_GetMask(globalCtx) < PLAYER_MASK_GIANT)) {
|
} else if ((Player_GetMask(globalCtx) != PLAYER_MASK_NONE) && (Player_GetMask(globalCtx) < PLAYER_MASK_GIANT)) {
|
||||||
u16 sp2E = Player_GetMask(globalCtx) + 0x273C;
|
u16 sp2E = Player_GetMask(globalCtx) + 0x273C;
|
||||||
|
|
||||||
if (0) {}
|
if (0) {}
|
||||||
|
|
||||||
func_801518B0(globalCtx, sp2E, &this->actor);
|
Message_StartTextbox(globalCtx, sp2E, &this->actor);
|
||||||
this->unk_288 = sp2E;
|
this->unk_288 = sp2E;
|
||||||
} else {
|
} else {
|
||||||
if (this->unk_28A == 0) {
|
if (this->unk_28A == 0) {
|
||||||
|
|
@ -201,7 +201,7 @@ void func_80B2654C(EnKendoJs* this, GlobalContext* globalCtx) {
|
||||||
} else {
|
} else {
|
||||||
phi_v0 = 1;
|
phi_v0 = 1;
|
||||||
}
|
}
|
||||||
func_801518B0(globalCtx, D_80B27CF4[phi_v0][sp30], &this->actor);
|
Message_StartTextbox(globalCtx, D_80B27CF4[phi_v0][sp30], &this->actor);
|
||||||
this->unk_288 = D_80B27CF4[phi_v0][sp30];
|
this->unk_288 = D_80B27CF4[phi_v0][sp30];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -217,17 +217,17 @@ void func_80B26758(EnKendoJs* this, GlobalContext* globalCtx) {
|
||||||
case 0:
|
case 0:
|
||||||
if (CUR_EQUIP_VALUE_VOID(EQUIP_SWORD) == EQUIP_SWORD) {
|
if (CUR_EQUIP_VALUE_VOID(EQUIP_SWORD) == EQUIP_SWORD) {
|
||||||
play_sound(NA_SE_SY_ERROR);
|
play_sound(NA_SE_SY_ERROR);
|
||||||
func_801518B0(globalCtx, 0x272C, &this->actor);
|
Message_StartTextbox(globalCtx, 0x272C, &this->actor);
|
||||||
this->unk_288 = 0x272C;
|
this->unk_288 = 0x272C;
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 2);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 2);
|
||||||
} else if (gSaveContext.rupees < globalCtx->msgCtx.unk1206C) {
|
} else if (gSaveContext.rupees < globalCtx->msgCtx.unk1206C) {
|
||||||
play_sound(NA_SE_SY_ERROR);
|
play_sound(NA_SE_SY_ERROR);
|
||||||
func_801518B0(globalCtx, 0x2718, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2718, &this->actor);
|
||||||
this->unk_288 = 0x2718;
|
this->unk_288 = 0x2718;
|
||||||
} else {
|
} else {
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
func_801159EC(-globalCtx->msgCtx.unk1206C);
|
func_801159EC(-globalCtx->msgCtx.unk1206C);
|
||||||
func_801518B0(globalCtx, 0x2719, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2719, &this->actor);
|
||||||
this->unk_288 = 0x2719;
|
this->unk_288 = 0x2719;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -235,24 +235,24 @@ void func_80B26758(EnKendoJs* this, GlobalContext* globalCtx) {
|
||||||
case 1:
|
case 1:
|
||||||
if (CUR_EQUIP_VALUE_VOID(EQUIP_SWORD) == EQUIP_SWORD) {
|
if (CUR_EQUIP_VALUE_VOID(EQUIP_SWORD) == EQUIP_SWORD) {
|
||||||
play_sound(NA_SE_SY_ERROR);
|
play_sound(NA_SE_SY_ERROR);
|
||||||
func_801518B0(globalCtx, 0x272C, &this->actor);
|
Message_StartTextbox(globalCtx, 0x272C, &this->actor);
|
||||||
this->unk_288 = 0x272C;
|
this->unk_288 = 0x272C;
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 2);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 2);
|
||||||
} else if (gSaveContext.rupees < globalCtx->msgCtx.unk12070) {
|
} else if (gSaveContext.rupees < globalCtx->msgCtx.unk12070) {
|
||||||
play_sound(NA_SE_SY_ERROR);
|
play_sound(NA_SE_SY_ERROR);
|
||||||
func_801518B0(globalCtx, 0x2718, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2718, &this->actor);
|
||||||
this->unk_288 = 0x2718;
|
this->unk_288 = 0x2718;
|
||||||
} else {
|
} else {
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
func_801159EC(-globalCtx->msgCtx.unk12070);
|
func_801159EC(-globalCtx->msgCtx.unk12070);
|
||||||
func_801518B0(globalCtx, 0x273A, &this->actor);
|
Message_StartTextbox(globalCtx, 0x273A, &this->actor);
|
||||||
this->unk_288 = 0x273A;
|
this->unk_288 = 0x273A;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
func_801518B0(globalCtx, 0x2717, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2717, &this->actor);
|
||||||
this->unk_288 = 0x2717;
|
this->unk_288 = 0x2717;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -272,7 +272,7 @@ void func_80B269A4(EnKendoJs* this, GlobalContext* globalCtx) {
|
||||||
case 0x2713:
|
case 0x2713:
|
||||||
case 0x2714:
|
case 0x2714:
|
||||||
case 0x2715:
|
case 0x2715:
|
||||||
func_801518B0(globalCtx, 0x2716, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2716, &this->actor);
|
||||||
this->unk_288 = 0x2716;
|
this->unk_288 = 0x2716;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -288,7 +288,7 @@ void func_80B269A4(EnKendoJs* this, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x273A:
|
case 0x273A:
|
||||||
func_801518B0(globalCtx, 0x273B, &this->actor);
|
Message_StartTextbox(globalCtx, 0x273B, &this->actor);
|
||||||
this->unk_288 = 0x273B;
|
this->unk_288 = 0x273B;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -433,13 +433,13 @@ s32 func_80B26BF8(EnKendoJs* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80B26EB4(EnKendoJs* this, GlobalContext* globalCtx) {
|
void func_80B26EB4(EnKendoJs* this, GlobalContext* globalCtx) {
|
||||||
func_801518B0(globalCtx, D_80B27D00[this->unk_284], &this->actor);
|
Message_StartTextbox(globalCtx, D_80B27D00[this->unk_284], &this->actor);
|
||||||
this->unk_288 = D_80B27D00[this->unk_284];
|
this->unk_288 = D_80B27D00[this->unk_284];
|
||||||
this->unk_284++;
|
this->unk_284++;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80B26F14(EnKendoJs* this, GlobalContext* globalCtx) {
|
void func_80B26F14(EnKendoJs* this, GlobalContext* globalCtx) {
|
||||||
func_801518B0(globalCtx, D_80B27D10[this->unk_284], &this->actor);
|
Message_StartTextbox(globalCtx, D_80B27D10[this->unk_284], &this->actor);
|
||||||
this->unk_288 = D_80B27D10[this->unk_284];
|
this->unk_288 = D_80B27D10[this->unk_284];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -449,7 +449,7 @@ s32 func_80B26F6C(EnKendoJs* this, GlobalContext* globalCtx) {
|
||||||
switch (this->unk_288) {
|
switch (this->unk_288) {
|
||||||
case 0x271D:
|
case 0x271D:
|
||||||
if (func_80124190(player)) {
|
if (func_80124190(player)) {
|
||||||
func_801518B0(globalCtx, 0x272A, &this->actor);
|
Message_StartTextbox(globalCtx, 0x272A, &this->actor);
|
||||||
this->unk_288 = 0x272A;
|
this->unk_288 = 0x272A;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -457,7 +457,7 @@ s32 func_80B26F6C(EnKendoJs* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
case 0x2721:
|
case 0x2721:
|
||||||
if (this->unk_292 != 0) {
|
if (this->unk_292 != 0) {
|
||||||
func_801518B0(globalCtx, 0x272B, &this->actor);
|
Message_StartTextbox(globalCtx, 0x272B, &this->actor);
|
||||||
this->unk_288 = 0x272B;
|
this->unk_288 = 0x272B;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -482,7 +482,7 @@ void func_80B27030(EnKendoJs* this, GlobalContext* globalCtx) {
|
||||||
this->actor.flags &= ~ACTOR_FLAG_10000;
|
this->actor.flags &= ~ACTOR_FLAG_10000;
|
||||||
player->stateFlags1 &= ~0x20;
|
player->stateFlags1 &= ~0x20;
|
||||||
func_80B279F0(this, globalCtx, 0);
|
func_80B279F0(this, globalCtx, 0);
|
||||||
func_801518B0(globalCtx, 0x271A, &this->actor);
|
Message_StartTextbox(globalCtx, 0x271A, &this->actor);
|
||||||
this->unk_288 = 0x271A;
|
this->unk_288 = 0x271A;
|
||||||
func_80B26AE8(this);
|
func_80B26AE8(this);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -531,7 +531,7 @@ void func_80B27188(EnKendoJs* this, GlobalContext* globalCtx) {
|
||||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_SY_ERROR);
|
Actor_PlaySfxAtPos(&this->actor, NA_SE_SY_ERROR);
|
||||||
this->unk_286 = 0;
|
this->unk_286 = 0;
|
||||||
player->stateFlags1 |= 0x20;
|
player->stateFlags1 |= 0x20;
|
||||||
func_801518B0(globalCtx, 0x2729, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2729, &this->actor);
|
||||||
this->unk_288 = 0x2729;
|
this->unk_288 = 0x2729;
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 2);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 2);
|
||||||
break;
|
break;
|
||||||
|
|
@ -586,10 +586,10 @@ void func_80B274BC(EnKendoJs* this, GlobalContext* globalCtx) {
|
||||||
if (this->unk_290 >= 140) {
|
if (this->unk_290 >= 140) {
|
||||||
if (this->unk_284 == 5) {
|
if (this->unk_284 == 5) {
|
||||||
if (gSaveContext.minigameScore == 30) {
|
if (gSaveContext.minigameScore == 30) {
|
||||||
func_801518B0(globalCtx, 0x272D, &this->actor);
|
Message_StartTextbox(globalCtx, 0x272D, &this->actor);
|
||||||
this->unk_288 = 0x272D;
|
this->unk_288 = 0x272D;
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x272E, &this->actor);
|
Message_StartTextbox(globalCtx, 0x272E, &this->actor);
|
||||||
this->unk_288 = 0x272E;
|
this->unk_288 = 0x272E;
|
||||||
}
|
}
|
||||||
player->stateFlags1 |= 0x20;
|
player->stateFlags1 |= 0x20;
|
||||||
|
|
@ -652,10 +652,10 @@ void func_80B27774(EnKendoJs* this, GlobalContext* globalCtx) {
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
if (!(gSaveContext.weekEventReg[63] & 0x20)) {
|
if (!(gSaveContext.weekEventReg[63] & 0x20)) {
|
||||||
gSaveContext.weekEventReg[63] |= 0x20;
|
gSaveContext.weekEventReg[63] |= 0x20;
|
||||||
func_801518B0(globalCtx, 0x272F, &this->actor);
|
Message_StartTextbox(globalCtx, 0x272F, &this->actor);
|
||||||
this->unk_288 = 0x272F;
|
this->unk_288 = 0x272F;
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x2730, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2730, &this->actor);
|
||||||
this->unk_288 = 0x2730;
|
this->unk_288 = 0x2730;
|
||||||
}
|
}
|
||||||
func_80B26AE8(this);
|
func_80B26AE8(this);
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,7 @@ void EnKgy_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
Flags_UnsetSwitch(globalCtx, ENKGY_GET_FE00(&this->actor) + 1);
|
Flags_UnsetSwitch(globalCtx, ENKGY_GET_FE00(&this->actor) + 1);
|
||||||
if (Flags_GetSwitch(globalCtx, ENKGY_GET_FE00(&this->actor)) || (gSaveContext.weekEventReg[33] & 0x80)) {
|
if (Flags_GetSwitch(globalCtx, ENKGY_GET_FE00(&this->actor)) || (gSaveContext.weekEventReg[33] & 0x80)) {
|
||||||
Flags_SetSwitch(globalCtx, ENKGY_GET_FE00(&this->actor) + 1);
|
Flags_SetSwitch(globalCtx, ENKGY_GET_FE00(&this->actor) + 1);
|
||||||
globalCtx->envCtx.unk_C3 = 1;
|
globalCtx->envCtx.lightSettingOverride = 1;
|
||||||
gSaveContext.weekEventReg[21] |= 1;
|
gSaveContext.weekEventReg[21] |= 1;
|
||||||
if (!func_80B40D64(globalCtx)) {
|
if (!func_80B40D64(globalCtx)) {
|
||||||
EnKgy_ChangeAnim(this, 4, 0, 0);
|
EnKgy_ChangeAnim(this, 4, 0, 0);
|
||||||
|
|
|
||||||
|
|
@ -209,7 +209,7 @@ void EnMa4_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
this->hasBow = false;
|
this->hasBow = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (func_800EE1D8(globalCtx) != 0) { // if (sceneSetupIndex != 0)
|
if (Cutscene_GetSceneSetupIndex(globalCtx) != 0) { // if (sceneSetupIndex != 0)
|
||||||
EnMa4_ChangeAnim(this, 0);
|
EnMa4_ChangeAnim(this, 0);
|
||||||
this->state = MA4_STATE_HORSEBACKGAME;
|
this->state = MA4_STATE_HORSEBACKGAME;
|
||||||
EnMa4_InitHorsebackGame(this, globalCtx);
|
EnMa4_InitHorsebackGame(this, globalCtx);
|
||||||
|
|
@ -362,11 +362,11 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
case 0x3339:
|
case 0x3339:
|
||||||
if (globalCtx->msgCtx.choiceIndex == 0) {
|
if (globalCtx->msgCtx.choiceIndex == 0) {
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
func_801518B0(globalCtx, 0x333A, &this->actor);
|
Message_StartTextbox(globalCtx, 0x333A, &this->actor);
|
||||||
this->textId = 0x333A;
|
this->textId = 0x333A;
|
||||||
} else {
|
} else {
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
func_801518B0(globalCtx, 0x333B, &this->actor);
|
Message_StartTextbox(globalCtx, 0x333B, &this->actor);
|
||||||
this->textId = 0x333B;
|
this->textId = 0x333B;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -375,12 +375,12 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
if (globalCtx->msgCtx.choiceIndex == 0) {
|
if (globalCtx->msgCtx.choiceIndex == 0) {
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
gSaveContext.weekEventReg[21] |= 0x20;
|
gSaveContext.weekEventReg[21] |= 0x20;
|
||||||
func_801518B0(globalCtx, 0x3343, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3343, &this->actor);
|
||||||
this->textId = 0x3343;
|
this->textId = 0x3343;
|
||||||
} else {
|
} else {
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
EnMa4_SetFaceExpression(this, 0, 1);
|
EnMa4_SetFaceExpression(this, 0, 1);
|
||||||
func_801518B0(globalCtx, 0x3342, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3342, &this->actor);
|
||||||
this->textId = 0x3342;
|
this->textId = 0x3342;
|
||||||
this->state = MA4_STATE_DEFAULT;
|
this->state = MA4_STATE_DEFAULT;
|
||||||
func_80151BB4(globalCtx, 5);
|
func_80151BB4(globalCtx, 5);
|
||||||
|
|
@ -391,12 +391,12 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
if (globalCtx->msgCtx.choiceIndex == 0) {
|
if (globalCtx->msgCtx.choiceIndex == 0) {
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
gSaveContext.weekEventReg[21] |= 0x20;
|
gSaveContext.weekEventReg[21] |= 0x20;
|
||||||
func_801518B0(globalCtx, 0x3343, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3343, &this->actor);
|
||||||
this->textId = 0x3343;
|
this->textId = 0x3343;
|
||||||
} else {
|
} else {
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
EnMa4_SetFaceExpression(this, 0, 1);
|
EnMa4_SetFaceExpression(this, 0, 1);
|
||||||
func_801518B0(globalCtx, 0x3342, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3342, &this->actor);
|
||||||
this->textId = 0x3342;
|
this->textId = 0x3342;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -404,11 +404,11 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
case 0x3347:
|
case 0x3347:
|
||||||
if (globalCtx->msgCtx.choiceIndex == 0) {
|
if (globalCtx->msgCtx.choiceIndex == 0) {
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
func_801518B0(globalCtx, 0x3349, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3349, &this->actor);
|
||||||
this->textId = 0x3349;
|
this->textId = 0x3349;
|
||||||
} else {
|
} else {
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
func_801518B0(globalCtx, 0x3348, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3348, &this->actor);
|
||||||
this->textId = 0x3348;
|
this->textId = 0x3348;
|
||||||
func_80151BB4(globalCtx, 5);
|
func_80151BB4(globalCtx, 5);
|
||||||
}
|
}
|
||||||
|
|
@ -419,7 +419,7 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
s32 aux;
|
s32 aux;
|
||||||
|
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
func_801518B0(globalCtx, 0x334E, &this->actor);
|
Message_StartTextbox(globalCtx, 0x334E, &this->actor);
|
||||||
this->textId = 0x334E;
|
this->textId = 0x334E;
|
||||||
if (CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) {
|
if (CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) {
|
||||||
func_80151BB4(globalCtx, 0x1C);
|
func_80151BB4(globalCtx, 0x1C);
|
||||||
|
|
@ -428,7 +428,7 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
} else { // No.
|
} else { // No.
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
EnMa4_SetFaceExpression(this, 0, 0);
|
EnMa4_SetFaceExpression(this, 0, 0);
|
||||||
func_801518B0(globalCtx, 0x334C, &this->actor);
|
Message_StartTextbox(globalCtx, 0x334C, &this->actor);
|
||||||
this->textId = 0x334C;
|
this->textId = 0x334C;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -436,12 +436,12 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
case 0x3354:
|
case 0x3354:
|
||||||
if (globalCtx->msgCtx.choiceIndex == 0) {
|
if (globalCtx->msgCtx.choiceIndex == 0) {
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
func_801518B0(globalCtx, 0x3349, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3349, &this->actor);
|
||||||
this->textId = 0x3349;
|
this->textId = 0x3349;
|
||||||
} else {
|
} else {
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
EnMa4_SetFaceExpression(this, 1, 0);
|
EnMa4_SetFaceExpression(this, 1, 0);
|
||||||
func_801518B0(globalCtx, 0x3355, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3355, &this->actor);
|
||||||
this->textId = 0x3355;
|
this->textId = 0x3355;
|
||||||
func_80151BB4(globalCtx, 5);
|
func_80151BB4(globalCtx, 5);
|
||||||
}
|
}
|
||||||
|
|
@ -457,13 +457,13 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
if (this->type == MA4_TYPE_ALIENS_DEFEATED) {
|
if (this->type == MA4_TYPE_ALIENS_DEFEATED) {
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
EnMa4_SetFaceExpression(this, 3, 3);
|
EnMa4_SetFaceExpression(this, 3, 3);
|
||||||
func_801518B0(globalCtx, 0x3357, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3357, &this->actor);
|
||||||
this->textId = 0x3357;
|
this->textId = 0x3357;
|
||||||
func_80151BB4(globalCtx, 5);
|
func_80151BB4(globalCtx, 5);
|
||||||
} else {
|
} else {
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
EnMa4_SetFaceExpression(this, 4, 2);
|
EnMa4_SetFaceExpression(this, 4, 2);
|
||||||
func_801518B0(globalCtx, 0x335B, &this->actor);
|
Message_StartTextbox(globalCtx, 0x335B, &this->actor);
|
||||||
this->textId = 0x335B;
|
this->textId = 0x335B;
|
||||||
func_80151BB4(globalCtx, 5);
|
func_80151BB4(globalCtx, 5);
|
||||||
}
|
}
|
||||||
|
|
@ -473,12 +473,12 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
case 0x3359:
|
case 0x3359:
|
||||||
if (globalCtx->msgCtx.choiceIndex == 0) {
|
if (globalCtx->msgCtx.choiceIndex == 0) {
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
func_801518B0(globalCtx, 0x3349, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3349, &this->actor);
|
||||||
this->textId = 0x3349;
|
this->textId = 0x3349;
|
||||||
} else {
|
} else {
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
EnMa4_SetFaceExpression(this, 4, 2);
|
EnMa4_SetFaceExpression(this, 4, 2);
|
||||||
func_801518B0(globalCtx, 0x335A, &this->actor);
|
Message_StartTextbox(globalCtx, 0x335A, &this->actor);
|
||||||
this->textId = 0x335A;
|
this->textId = 0x335A;
|
||||||
func_80151BB4(globalCtx, 5);
|
func_80151BB4(globalCtx, 5);
|
||||||
}
|
}
|
||||||
|
|
@ -500,31 +500,31 @@ void EnMa4_ChooseNextDialogue(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
case 0x3335:
|
case 0x3335:
|
||||||
EnMa4_SetFaceExpression(this, 0, 3);
|
EnMa4_SetFaceExpression(this, 0, 3);
|
||||||
func_801518B0(globalCtx, 0x3336, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3336, &this->actor);
|
||||||
this->textId = 0x3336;
|
this->textId = 0x3336;
|
||||||
func_80151BB4(globalCtx, 5);
|
func_80151BB4(globalCtx, 5);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x3338:
|
case 0x3338:
|
||||||
func_801518B0(globalCtx, 0x3339, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3339, &this->actor);
|
||||||
this->textId = 0x3339;
|
this->textId = 0x3339;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x333A:
|
case 0x333A:
|
||||||
case 0x333B:
|
case 0x333B:
|
||||||
EnMa4_SetFaceExpression(this, 0, 3);
|
EnMa4_SetFaceExpression(this, 0, 3);
|
||||||
func_801518B0(globalCtx, 0x333C, &this->actor);
|
Message_StartTextbox(globalCtx, 0x333C, &this->actor);
|
||||||
this->textId = 0x333C;
|
this->textId = 0x333C;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x333C:
|
case 0x333C:
|
||||||
EnMa4_SetFaceExpression(this, 0, 2);
|
EnMa4_SetFaceExpression(this, 0, 2);
|
||||||
func_801518B0(globalCtx, 0x333D, &this->actor);
|
Message_StartTextbox(globalCtx, 0x333D, &this->actor);
|
||||||
this->textId = 0x333D;
|
this->textId = 0x333D;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x333D:
|
case 0x333D:
|
||||||
func_801518B0(globalCtx, 0x333E, &this->actor);
|
Message_StartTextbox(globalCtx, 0x333E, &this->actor);
|
||||||
this->textId = 0x333E;
|
this->textId = 0x333E;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -534,34 +534,34 @@ void EnMa4_ChooseNextDialogue(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x333F:
|
case 0x333F:
|
||||||
func_801518B0(globalCtx, 0x3340, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3340, &this->actor);
|
||||||
this->textId = 0x3340;
|
this->textId = 0x3340;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x3340:
|
case 0x3340:
|
||||||
EnMa4_SetFaceExpression(this, 0, 3);
|
EnMa4_SetFaceExpression(this, 0, 3);
|
||||||
func_801518B0(globalCtx, 0x3341, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3341, &this->actor);
|
||||||
this->textId = 0x3341;
|
this->textId = 0x3341;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x3343:
|
case 0x3343:
|
||||||
EnMa4_SetFaceExpression(this, 0, 0);
|
EnMa4_SetFaceExpression(this, 0, 0);
|
||||||
func_801518B0(globalCtx, 0x3344, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3344, &this->actor);
|
||||||
this->textId = 0x3344;
|
this->textId = 0x3344;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x3344:
|
case 0x3344:
|
||||||
func_801518B0(globalCtx, 0x3345, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3345, &this->actor);
|
||||||
this->textId = 0x3345;
|
this->textId = 0x3345;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x3345:
|
case 0x3345:
|
||||||
func_801518B0(globalCtx, 0x3349, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3349, &this->actor);
|
||||||
this->textId = 0x3349;
|
this->textId = 0x3349;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x3349:
|
case 0x3349:
|
||||||
func_801518B0(globalCtx, 0x334A, &this->actor);
|
Message_StartTextbox(globalCtx, 0x334A, &this->actor);
|
||||||
this->textId = 0x334A;
|
this->textId = 0x334A;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -571,7 +571,7 @@ void EnMa4_ChooseNextDialogue(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x334C:
|
case 0x334C:
|
||||||
func_801518B0(globalCtx, 0x334D, &this->actor);
|
Message_StartTextbox(globalCtx, 0x334D, &this->actor);
|
||||||
this->textId = 0x334D;
|
this->textId = 0x334D;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -580,10 +580,10 @@ void EnMa4_ChooseNextDialogue(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
case 0x335D:
|
case 0x335D:
|
||||||
case 0x335E:
|
case 0x335E:
|
||||||
if (this->type == MA4_TYPE_DAY1) {
|
if (this->type == MA4_TYPE_DAY1) {
|
||||||
func_801518B0(globalCtx, 0x3352, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3352, &this->actor);
|
||||||
this->textId = 0x3352;
|
this->textId = 0x3352;
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x3356, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3356, &this->actor);
|
||||||
this->textId = 0x3356;
|
this->textId = 0x3356;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -594,7 +594,7 @@ void EnMa4_ChooseNextDialogue(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
// Check if player has Epona's song
|
// Check if player has Epona's song
|
||||||
if (CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) {
|
if (CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) {
|
||||||
func_801518B0(globalCtx, 0x334C, &this->actor);
|
Message_StartTextbox(globalCtx, 0x334C, &this->actor);
|
||||||
this->textId = 0x334C;
|
this->textId = 0x334C;
|
||||||
} else {
|
} else {
|
||||||
func_801477B4(globalCtx);
|
func_801477B4(globalCtx);
|
||||||
|
|
@ -606,11 +606,11 @@ void EnMa4_ChooseNextDialogue(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
case 0x3358:
|
case 0x3358:
|
||||||
if ((gSaveContext.playerForm != PLAYER_FORM_HUMAN) || !(CHECK_QUEST_ITEM(QUEST_SONG_EPONA))) {
|
if ((gSaveContext.playerForm != PLAYER_FORM_HUMAN) || !(CHECK_QUEST_ITEM(QUEST_SONG_EPONA))) {
|
||||||
func_801518B0(globalCtx, 0x335C, &this->actor);
|
Message_StartTextbox(globalCtx, 0x335C, &this->actor);
|
||||||
this->textId = 0x335C;
|
this->textId = 0x335C;
|
||||||
func_80151BB4(globalCtx, 5);
|
func_80151BB4(globalCtx, 5);
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x3359, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3359, &this->actor);
|
||||||
this->textId = 0x3359;
|
this->textId = 0x3359;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -676,7 +676,7 @@ void EnMa4_BeginHorsebackGame(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
void EnMa4_HorsebackGameCheckPlayerInteractions(EnMa4* this, GlobalContext* globalCtx) {
|
void EnMa4_HorsebackGameCheckPlayerInteractions(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
// "You're feeling confident"
|
// "You're feeling confident"
|
||||||
func_801518B0(globalCtx, 0x336E, &this->actor);
|
Message_StartTextbox(globalCtx, 0x336E, &this->actor);
|
||||||
this->actionFunc = EnMa4_HorsebackGameTalking;
|
this->actionFunc = EnMa4_HorsebackGameTalking;
|
||||||
} else if ((gSaveContext.unk_3DE0[4] < 115 * 100)) { // timer < 115 seconds
|
} else if ((gSaveContext.unk_3DE0[4] < 115 * 100)) { // timer < 115 seconds
|
||||||
func_800B8614(&this->actor, globalCtx, 100.0f);
|
func_800B8614(&this->actor, globalCtx, 100.0f);
|
||||||
|
|
@ -749,10 +749,10 @@ void EnMa4_HorsebackGameEnd(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
if (sFrameCounter == 25) {
|
if (sFrameCounter == 25) {
|
||||||
if (this->poppedBalloonCounter == 10) {
|
if (this->poppedBalloonCounter == 10) {
|
||||||
func_801518B0(globalCtx, 0x334F, &this->actor);
|
Message_StartTextbox(globalCtx, 0x334F, &this->actor);
|
||||||
this->textId = 0x334F;
|
this->textId = 0x334F;
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x334B, &this->actor);
|
Message_StartTextbox(globalCtx, 0x334B, &this->actor);
|
||||||
this->textId = 0x334B;
|
this->textId = 0x334B;
|
||||||
}
|
}
|
||||||
} else if (sFrameCounter == 50) {
|
} else if (sFrameCounter == 50) {
|
||||||
|
|
@ -802,15 +802,15 @@ void EnMa4_SetupEponasSongCs(EnMa4* this) {
|
||||||
|
|
||||||
static u16 D_80AC0260 = 99;
|
static u16 D_80AC0260 = 99;
|
||||||
void EnMa4_EponasSongCs(EnMa4* this, GlobalContext* globalCtx) {
|
void EnMa4_EponasSongCs(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
if (func_800EE29C(globalCtx, 0x78) != 0) {
|
if (Cutscene_CheckActorAction(globalCtx, 120)) {
|
||||||
u32 actionIndex = func_800EE200(globalCtx, 0x78);
|
s32 actionIndex = Cutscene_GetActorActionIndex(globalCtx, 120);
|
||||||
|
|
||||||
if (globalCtx->csCtx.frames == globalCtx->csCtx.npcActions[actionIndex]->startFrame) {
|
if (globalCtx->csCtx.frames == globalCtx->csCtx.actorActions[actionIndex]->startFrame) {
|
||||||
if (globalCtx->csCtx.npcActions[actionIndex]->unk0 != D_80AC0260) {
|
if (globalCtx->csCtx.actorActions[actionIndex]->action != D_80AC0260) {
|
||||||
D_80AC0260 = globalCtx->csCtx.npcActions[actionIndex]->unk0;
|
D_80AC0260 = globalCtx->csCtx.actorActions[actionIndex]->action;
|
||||||
this->animTimer = 0;
|
this->animTimer = 0;
|
||||||
|
|
||||||
switch (globalCtx->csCtx.npcActions[actionIndex]->unk0) {
|
switch (globalCtx->csCtx.actorActions[actionIndex]->action) {
|
||||||
case 1:
|
case 1:
|
||||||
this->hasBow = true;
|
this->hasBow = true;
|
||||||
EnMa4_ChangeAnim(this, 1);
|
EnMa4_ChangeAnim(this, 1);
|
||||||
|
|
@ -824,7 +824,7 @@ void EnMa4_EponasSongCs(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func_800EDF24(&this->actor, globalCtx, actionIndex);
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, actionIndex);
|
||||||
if (D_80AC0260 == 2 && this->animTimer == 0 && Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
|
if (D_80AC0260 == 2 && this->animTimer == 0 && Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
|
||||||
EnMa4_ChangeAnim(this, 7);
|
EnMa4_ChangeAnim(this, 7);
|
||||||
}
|
}
|
||||||
|
|
@ -849,7 +849,7 @@ void EnMa4_EndEponasSongCs(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
this->actor.flags |= ACTOR_FLAG_10000;
|
this->actor.flags |= ACTOR_FLAG_10000;
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state) != 0) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state) != 0) {
|
||||||
player->stateFlags1 &= ~0x20;
|
player->stateFlags1 &= ~0x20;
|
||||||
func_801518B0(globalCtx, 0x334C, &this->actor);
|
Message_StartTextbox(globalCtx, 0x334C, &this->actor);
|
||||||
this->textId = 0x334C;
|
this->textId = 0x334C;
|
||||||
this->actor.flags &= ~ACTOR_FLAG_10000;
|
this->actor.flags &= ~ACTOR_FLAG_10000;
|
||||||
EnMa4_SetupDialogueHandler(this);
|
EnMa4_SetupDialogueHandler(this);
|
||||||
|
|
@ -879,25 +879,25 @@ void EnMa4_StartDialogue(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
if (gSaveContext.playerForm != PLAYER_FORM_HUMAN) {
|
if (gSaveContext.playerForm != PLAYER_FORM_HUMAN) {
|
||||||
if ((gSaveContext.weekEventReg[21] & 0x80)) {
|
if ((gSaveContext.weekEventReg[21] & 0x80)) {
|
||||||
EnMa4_SetFaceExpression(this, 3, 3);
|
EnMa4_SetFaceExpression(this, 3, 3);
|
||||||
func_801518B0(globalCtx, 0x3337, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3337, &this->actor);
|
||||||
this->textId = 0x3337;
|
this->textId = 0x3337;
|
||||||
func_80151BB4(globalCtx, 5);
|
func_80151BB4(globalCtx, 5);
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x3335, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3335, &this->actor);
|
||||||
this->textId = 0x3335;
|
this->textId = 0x3335;
|
||||||
gSaveContext.weekEventReg[21] |= 0x80;
|
gSaveContext.weekEventReg[21] |= 0x80;
|
||||||
}
|
}
|
||||||
} else if (this->state == MA4_STATE_DEFAULT) {
|
} else if (this->state == MA4_STATE_DEFAULT) {
|
||||||
if ((gSaveContext.weekEventReg[21] & 0x40)) {
|
if ((gSaveContext.weekEventReg[21] & 0x40)) {
|
||||||
if (!(gSaveContext.weekEventReg[21] & 0x20)) {
|
if (!(gSaveContext.weekEventReg[21] & 0x20)) {
|
||||||
func_801518B0(globalCtx, 0x3346, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3346, &this->actor);
|
||||||
this->textId = 0x3346;
|
this->textId = 0x3346;
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x3347, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3347, &this->actor);
|
||||||
this->textId = 0x3347;
|
this->textId = 0x3347;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x3338, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3338, &this->actor);
|
||||||
this->textId = 0x3338;
|
this->textId = 0x3338;
|
||||||
gSaveContext.weekEventReg[21] |= 0x40;
|
gSaveContext.weekEventReg[21] |= 0x40;
|
||||||
}
|
}
|
||||||
|
|
@ -905,7 +905,7 @@ void EnMa4_StartDialogue(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
if (gSaveContext.unk_3DE0[4] >= 2 * 60 * 100) {
|
if (gSaveContext.unk_3DE0[4] >= 2 * 60 * 100) {
|
||||||
// "Too bad Grasshopper"
|
// "Too bad Grasshopper"
|
||||||
EnMa4_SetFaceExpression(this, 0, 0);
|
EnMa4_SetFaceExpression(this, 0, 0);
|
||||||
func_801518B0(globalCtx, 0x336D, &this->actor);
|
Message_StartTextbox(globalCtx, 0x336D, &this->actor);
|
||||||
this->textId = 0x336D;
|
this->textId = 0x336D;
|
||||||
} else {
|
} else {
|
||||||
time = gSaveContext.unk_3DE0[4];
|
time = gSaveContext.unk_3DE0[4];
|
||||||
|
|
@ -913,11 +913,11 @@ void EnMa4_StartDialogue(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
// [Score] New record!
|
// [Score] New record!
|
||||||
gSaveContext.horseBackBalloonHighScore = time;
|
gSaveContext.horseBackBalloonHighScore = time;
|
||||||
EnMa4_SetFaceExpression(this, 0, 3);
|
EnMa4_SetFaceExpression(this, 0, 3);
|
||||||
func_801518B0(globalCtx, 0x3350, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3350, &this->actor);
|
||||||
this->textId = 0x3350;
|
this->textId = 0x3350;
|
||||||
} else {
|
} else {
|
||||||
// [Score] Great.
|
// [Score] Great.
|
||||||
func_801518B0(globalCtx, 0x3351, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3351, &this->actor);
|
||||||
this->textId = 0x3351;
|
this->textId = 0x3351;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -925,7 +925,7 @@ void EnMa4_StartDialogue(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
this->actor.flags &= ~ACTOR_FLAG_10000;
|
this->actor.flags &= ~ACTOR_FLAG_10000;
|
||||||
} else if (this->state == MA4_STATE_AFTERDESCRIBETHEMCS) {
|
} else if (this->state == MA4_STATE_AFTERDESCRIBETHEMCS) {
|
||||||
// "Cremia doesn't believe me..."
|
// "Cremia doesn't believe me..."
|
||||||
func_801518B0(globalCtx, 0x3340, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3340, &this->actor);
|
||||||
this->textId = 0x3340;
|
this->textId = 0x3340;
|
||||||
this->actor.flags &= ~ACTOR_FLAG_10000;
|
this->actor.flags &= ~ACTOR_FLAG_10000;
|
||||||
}
|
}
|
||||||
|
|
@ -935,31 +935,31 @@ void EnMa4_StartDialogue(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
if (gSaveContext.playerForm != PLAYER_FORM_HUMAN) {
|
if (gSaveContext.playerForm != PLAYER_FORM_HUMAN) {
|
||||||
if ((gSaveContext.weekEventReg[21] & 0x80)) {
|
if ((gSaveContext.weekEventReg[21] & 0x80)) {
|
||||||
EnMa4_SetFaceExpression(this, 3, 3);
|
EnMa4_SetFaceExpression(this, 3, 3);
|
||||||
func_801518B0(globalCtx, 0x3337, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3337, &this->actor);
|
||||||
this->textId = 0x3337;
|
this->textId = 0x3337;
|
||||||
func_80151BB4(globalCtx, 5);
|
func_80151BB4(globalCtx, 5);
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x3335, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3335, &this->actor);
|
||||||
this->textId = 0x3335;
|
this->textId = 0x3335;
|
||||||
gSaveContext.weekEventReg[21] |= 0x80;
|
gSaveContext.weekEventReg[21] |= 0x80;
|
||||||
}
|
}
|
||||||
} else if (this->state == MA4_STATE_DEFAULT) {
|
} else if (this->state == MA4_STATE_DEFAULT) {
|
||||||
func_801518B0(globalCtx, 0x3354, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3354, &this->actor);
|
||||||
this->textId = 0x3354;
|
this->textId = 0x3354;
|
||||||
} else if (this->state == MA4_STATE_AFTERHORSEBACKGAME) {
|
} else if (this->state == MA4_STATE_AFTERHORSEBACKGAME) {
|
||||||
if (gSaveContext.unk_3DE0[4] >= 2 * 60 * 100) {
|
if (gSaveContext.unk_3DE0[4] >= 2 * 60 * 100) {
|
||||||
// "Try again?"
|
// "Try again?"
|
||||||
func_801518B0(globalCtx, 0x3356, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3356, &this->actor);
|
||||||
this->textId = 0x3356;
|
this->textId = 0x3356;
|
||||||
} else {
|
} else {
|
||||||
time = gSaveContext.unk_3DE0[4];
|
time = gSaveContext.unk_3DE0[4];
|
||||||
if ((s32)time < (s32)gSaveContext.horseBackBalloonHighScore) {
|
if ((s32)time < (s32)gSaveContext.horseBackBalloonHighScore) {
|
||||||
gSaveContext.horseBackBalloonHighScore = time;
|
gSaveContext.horseBackBalloonHighScore = time;
|
||||||
EnMa4_SetFaceExpression(this, 0, 3);
|
EnMa4_SetFaceExpression(this, 0, 3);
|
||||||
func_801518B0(globalCtx, 0x3350, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3350, &this->actor);
|
||||||
this->textId = 0x3350;
|
this->textId = 0x3350;
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x3351, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3351, &this->actor);
|
||||||
this->textId = 0x3351;
|
this->textId = 0x3351;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -971,23 +971,23 @@ void EnMa4_StartDialogue(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
case MA4_TYPE_ALIENS_WON:
|
case MA4_TYPE_ALIENS_WON:
|
||||||
if (this->state == MA4_STATE_DEFAULT) {
|
if (this->state == MA4_STATE_DEFAULT) {
|
||||||
// "Huh... You?"
|
// "Huh... You?"
|
||||||
func_801518B0(globalCtx, 0x3358, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3358, &this->actor);
|
||||||
this->textId = 0x3358;
|
this->textId = 0x3358;
|
||||||
} else if (this->state == MA4_STATE_AFTERHORSEBACKGAME) {
|
} else if (this->state == MA4_STATE_AFTERHORSEBACKGAME) {
|
||||||
if (gSaveContext.unk_3DE0[4] >= 2 * 60 * 100) {
|
if (gSaveContext.unk_3DE0[4] >= 2 * 60 * 100) {
|
||||||
// "Try again?"
|
// "Try again?"
|
||||||
func_801518B0(globalCtx, 0x3356, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3356, &this->actor);
|
||||||
this->textId = 0x3356;
|
this->textId = 0x3356;
|
||||||
} else {
|
} else {
|
||||||
time = gSaveContext.unk_3DE0[4];
|
time = gSaveContext.unk_3DE0[4];
|
||||||
if ((s32)time < (s32)gSaveContext.horseBackBalloonHighScore) {
|
if ((s32)time < (s32)gSaveContext.horseBackBalloonHighScore) {
|
||||||
// New record
|
// New record
|
||||||
gSaveContext.horseBackBalloonHighScore = time;
|
gSaveContext.horseBackBalloonHighScore = time;
|
||||||
func_801518B0(globalCtx, 0x335D, &this->actor);
|
Message_StartTextbox(globalCtx, 0x335D, &this->actor);
|
||||||
this->textId = 0x335D;
|
this->textId = 0x335D;
|
||||||
} else {
|
} else {
|
||||||
// "Old record was: [record]"
|
// "Old record was: [record]"
|
||||||
func_801518B0(globalCtx, 0x335E, &this->actor);
|
Message_StartTextbox(globalCtx, 0x335E, &this->actor);
|
||||||
this->textId = 0x335E;
|
this->textId = 0x335E;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -998,7 +998,7 @@ void EnMa4_StartDialogue(EnMa4* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
default:
|
default:
|
||||||
// Dead code
|
// Dead code
|
||||||
func_801518B0(globalCtx, 0x3335, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3335, &this->actor);
|
||||||
this->textId = 0x3335;
|
this->textId = 0x3335;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -448,12 +448,12 @@ void EnMaYto_DefaultHandlePlayerChoice(EnMaYto* this, GlobalContext* globalCtx)
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
EnMaYto_SetFaceExpression(this, 0, 3);
|
EnMaYto_SetFaceExpression(this, 0, 3);
|
||||||
// "Milk Road is fixed!"
|
// "Milk Road is fixed!"
|
||||||
func_801518B0(globalCtx, 0x3392, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3392, &this->actor);
|
||||||
this->textId = 0x3392;
|
this->textId = 0x3392;
|
||||||
} else { // No
|
} else { // No
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
// "Don't lie!"
|
// "Don't lie!"
|
||||||
func_801518B0(globalCtx, 0x3391, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3391, &this->actor);
|
||||||
this->textId = 0x3391;
|
this->textId = 0x3391;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -464,26 +464,26 @@ void EnMaYto_DefaultChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx)
|
||||||
switch (this->textId) {
|
switch (this->textId) {
|
||||||
case 0x3391:
|
case 0x3391:
|
||||||
EnMaYto_SetFaceExpression(this, 0, 3);
|
EnMaYto_SetFaceExpression(this, 0, 3);
|
||||||
func_801518B0(globalCtx, 0x3392, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3392, &this->actor);
|
||||||
this->textId = 0x3392;
|
this->textId = 0x3392;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x3392:
|
case 0x3392:
|
||||||
EnMaYto_SetFaceExpression(this, 3, 1);
|
EnMaYto_SetFaceExpression(this, 3, 1);
|
||||||
func_801518B0(globalCtx, 0x3393, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3393, &this->actor);
|
||||||
this->textId = 0x3393;
|
this->textId = 0x3393;
|
||||||
func_80151BB4(globalCtx, 6);
|
func_80151BB4(globalCtx, 6);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x3394:
|
case 0x3394:
|
||||||
EnMaYto_ChangeAnim(this, 2);
|
EnMaYto_ChangeAnim(this, 2);
|
||||||
func_801518B0(globalCtx, 0x3395, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3395, &this->actor);
|
||||||
this->textId = 0x3395;
|
this->textId = 0x3395;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x3395:
|
case 0x3395:
|
||||||
EnMaYto_ChangeAnim(this, 1);
|
EnMaYto_ChangeAnim(this, 1);
|
||||||
func_801518B0(globalCtx, 0x3396, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3396, &this->actor);
|
||||||
this->textId = 0x3396;
|
this->textId = 0x3396;
|
||||||
func_80151BB4(globalCtx, 6);
|
func_80151BB4(globalCtx, 6);
|
||||||
break;
|
break;
|
||||||
|
|
@ -573,12 +573,12 @@ void EnMaYto_DinnerHandlePlayerChoice(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
EnMaYto_SetFaceExpression(this, 0, 3);
|
EnMaYto_SetFaceExpression(this, 0, 3);
|
||||||
// "Milk Road is fixed!"
|
// "Milk Road is fixed!"
|
||||||
func_801518B0(globalCtx, 0x3399, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3399, &this->actor);
|
||||||
this->textId = 0x3399;
|
this->textId = 0x3399;
|
||||||
} else { // No
|
} else { // No
|
||||||
func_8019F230();
|
func_8019F230();
|
||||||
// "Don't lie!"
|
// "Don't lie!"
|
||||||
func_801518B0(globalCtx, 0x3398, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3398, &this->actor);
|
||||||
this->textId = 0x3398;
|
this->textId = 0x3398;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -589,20 +589,20 @@ void EnMaYto_DinnerChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
switch (this->textId) {
|
switch (this->textId) {
|
||||||
case 0x3398:
|
case 0x3398:
|
||||||
EnMaYto_SetFaceExpression(this, 0, 3);
|
EnMaYto_SetFaceExpression(this, 0, 3);
|
||||||
func_801518B0(globalCtx, 0x3399, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3399, &this->actor);
|
||||||
this->textId = 0x3399;
|
this->textId = 0x3399;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x3399:
|
case 0x3399:
|
||||||
EnMaYto_SetFaceExpression(this, 3, 1);
|
EnMaYto_SetFaceExpression(this, 3, 1);
|
||||||
func_801518B0(globalCtx, 0x339A, &this->actor);
|
Message_StartTextbox(globalCtx, 0x339A, &this->actor);
|
||||||
this->textId = 0x339A;
|
this->textId = 0x339A;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x339A:
|
case 0x339A:
|
||||||
this->unk31E = 1;
|
this->unk31E = 1;
|
||||||
EnMaYto_SetFaceExpression(this, 0, 1);
|
EnMaYto_SetFaceExpression(this, 0, 1);
|
||||||
func_801518B0(globalCtx, 0x339B, &this->actor);
|
Message_StartTextbox(globalCtx, 0x339B, &this->actor);
|
||||||
this->textId = 0x339B;
|
this->textId = 0x339B;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -610,7 +610,7 @@ void EnMaYto_DinnerChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child);
|
Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child);
|
||||||
func_80B90E50(this, 0);
|
func_80B90E50(this, 0);
|
||||||
EnMaYto_SetRomaniFaceExpression(this, 3, 3);
|
EnMaYto_SetRomaniFaceExpression(this, 3, 3);
|
||||||
func_801518B0(globalCtx, 0x339C, &this->actor);
|
Message_StartTextbox(globalCtx, 0x339C, &this->actor);
|
||||||
this->textId = 0x339C;
|
this->textId = 0x339C;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -618,7 +618,7 @@ void EnMaYto_DinnerChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
this->unk31E = 1;
|
this->unk31E = 1;
|
||||||
Actor_ChangeFocus(&this->actor, globalCtx, &this->actor);
|
Actor_ChangeFocus(&this->actor, globalCtx, &this->actor);
|
||||||
EnMaYto_SetFaceExpression(this, 0, 2);
|
EnMaYto_SetFaceExpression(this, 0, 2);
|
||||||
func_801518B0(globalCtx, 0x339D, &this->actor);
|
Message_StartTextbox(globalCtx, 0x339D, &this->actor);
|
||||||
this->textId = 0x339D;
|
this->textId = 0x339D;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -626,7 +626,7 @@ void EnMaYto_DinnerChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
func_80B90E50(this, 1);
|
func_80B90E50(this, 1);
|
||||||
Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child);
|
Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child);
|
||||||
EnMaYto_SetRomaniFaceExpression(this, 0, 1);
|
EnMaYto_SetRomaniFaceExpression(this, 0, 1);
|
||||||
func_801518B0(globalCtx, 0x339E, &this->actor);
|
Message_StartTextbox(globalCtx, 0x339E, &this->actor);
|
||||||
this->textId = 0x339E;
|
this->textId = 0x339E;
|
||||||
func_80151BB4(globalCtx, 6);
|
func_80151BB4(globalCtx, 6);
|
||||||
func_80151BB4(globalCtx, 5);
|
func_80151BB4(globalCtx, 5);
|
||||||
|
|
@ -634,12 +634,12 @@ void EnMaYto_DinnerChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
case 0x339F:
|
case 0x339F:
|
||||||
this->unk31E = 0;
|
this->unk31E = 0;
|
||||||
func_801518B0(globalCtx, 0x33A0, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33A0, &this->actor);
|
||||||
this->textId = 0x33A0;
|
this->textId = 0x33A0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x33A0:
|
case 0x33A0:
|
||||||
func_801518B0(globalCtx, 0x33A1, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33A1, &this->actor);
|
||||||
this->textId = 0x33A1;
|
this->textId = 0x33A1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -647,7 +647,7 @@ void EnMaYto_DinnerChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
func_80B90E50(this, 1);
|
func_80B90E50(this, 1);
|
||||||
Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child);
|
Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child);
|
||||||
EnMaYto_SetRomaniFaceExpression(this, 0, 2);
|
EnMaYto_SetRomaniFaceExpression(this, 0, 2);
|
||||||
func_801518B0(globalCtx, 0x33A2, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33A2, &this->actor);
|
||||||
this->textId = 0x33A2;
|
this->textId = 0x33A2;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -655,27 +655,27 @@ void EnMaYto_DinnerChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
this->unk31E = 1;
|
this->unk31E = 1;
|
||||||
Actor_ChangeFocus(&this->actor, globalCtx, &this->actor);
|
Actor_ChangeFocus(&this->actor, globalCtx, &this->actor);
|
||||||
EnMaYto_SetFaceExpression(this, 4, 3);
|
EnMaYto_SetFaceExpression(this, 4, 3);
|
||||||
func_801518B0(globalCtx, 0x33A3, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33A3, &this->actor);
|
||||||
this->textId = 0x33A3;
|
this->textId = 0x33A3;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x33A3:
|
case 0x33A3:
|
||||||
this->unk31E = 0;
|
this->unk31E = 0;
|
||||||
EnMaYto_SetFaceExpression(this, 3, 3);
|
EnMaYto_SetFaceExpression(this, 3, 3);
|
||||||
func_801518B0(globalCtx, 0x33A4, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33A4, &this->actor);
|
||||||
this->textId = 0x33A4;
|
this->textId = 0x33A4;
|
||||||
func_80151BB4(globalCtx, 6);
|
func_80151BB4(globalCtx, 6);
|
||||||
func_80151BB4(globalCtx, 5);
|
func_80151BB4(globalCtx, 5);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x33A5:
|
case 0x33A5:
|
||||||
func_801518B0(globalCtx, 0x33A6, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33A6, &this->actor);
|
||||||
this->textId = 0x33A6;
|
this->textId = 0x33A6;
|
||||||
func_80151BB4(globalCtx, 6);
|
func_80151BB4(globalCtx, 6);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x33A7:
|
case 0x33A7:
|
||||||
func_801518B0(globalCtx, 0x33A8, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33A8, &this->actor);
|
||||||
this->textId = 0x33A8;
|
this->textId = 0x33A8;
|
||||||
func_80151BB4(globalCtx, 6);
|
func_80151BB4(globalCtx, 6);
|
||||||
break;
|
break;
|
||||||
|
|
@ -762,14 +762,14 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
func_80B90E50(this, 0);
|
func_80B90E50(this, 0);
|
||||||
Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child);
|
Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child);
|
||||||
EnMaYto_SetRomaniFaceExpression(this, 0, 3);
|
EnMaYto_SetRomaniFaceExpression(this, 0, 3);
|
||||||
func_801518B0(globalCtx, 0x33AA, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33AA, &this->actor);
|
||||||
this->textId = 0x33AA;
|
this->textId = 0x33AA;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x33AA:
|
case 0x33AA:
|
||||||
Actor_ChangeFocus(&this->actor, globalCtx, &this->actor);
|
Actor_ChangeFocus(&this->actor, globalCtx, &this->actor);
|
||||||
this->unk31E = 1;
|
this->unk31E = 1;
|
||||||
func_801518B0(globalCtx, 0x33AB, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33AB, &this->actor);
|
||||||
this->textId = 0x33AB;
|
this->textId = 0x33AB;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -777,14 +777,14 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
func_80B90E50(this, 1);
|
func_80B90E50(this, 1);
|
||||||
Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child);
|
Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child);
|
||||||
EnMaYto_SetRomaniFaceExpression(this, 0, 1);
|
EnMaYto_SetRomaniFaceExpression(this, 0, 1);
|
||||||
func_801518B0(globalCtx, 0x33AC, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33AC, &this->actor);
|
||||||
this->textId = 0x33AC;
|
this->textId = 0x33AC;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x33AC:
|
case 0x33AC:
|
||||||
this->unk31E = 0;
|
this->unk31E = 0;
|
||||||
Actor_ChangeFocus(&this->actor, globalCtx, &this->actor);
|
Actor_ChangeFocus(&this->actor, globalCtx, &this->actor);
|
||||||
func_801518B0(globalCtx, 0x33AD, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33AD, &this->actor);
|
||||||
this->textId = 0x33AD;
|
this->textId = 0x33AD;
|
||||||
func_80151BB4(globalCtx, 6);
|
func_80151BB4(globalCtx, 6);
|
||||||
func_80151BB4(globalCtx, 5);
|
func_80151BB4(globalCtx, 5);
|
||||||
|
|
@ -794,7 +794,7 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
func_80B90E50(this, 1);
|
func_80B90E50(this, 1);
|
||||||
Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child);
|
Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child);
|
||||||
EnMaYto_SetRomaniFaceExpression(this, 4, 2);
|
EnMaYto_SetRomaniFaceExpression(this, 4, 2);
|
||||||
func_801518B0(globalCtx, 0x33AF, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33AF, &this->actor);
|
||||||
this->textId = 0x33AF;
|
this->textId = 0x33AF;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -802,7 +802,7 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
this->unk31E = 1;
|
this->unk31E = 1;
|
||||||
Actor_ChangeFocus(&this->actor, globalCtx, &this->actor);
|
Actor_ChangeFocus(&this->actor, globalCtx, &this->actor);
|
||||||
EnMaYto_SetFaceExpression(this, 4, 2);
|
EnMaYto_SetFaceExpression(this, 4, 2);
|
||||||
func_801518B0(globalCtx, 0x33B0, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33B0, &this->actor);
|
||||||
this->textId = 0x33B0;
|
this->textId = 0x33B0;
|
||||||
func_80151BB4(globalCtx, 6);
|
func_80151BB4(globalCtx, 6);
|
||||||
func_80151BB4(globalCtx, 5);
|
func_80151BB4(globalCtx, 5);
|
||||||
|
|
@ -812,7 +812,7 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
this->unk31E = 2;
|
this->unk31E = 2;
|
||||||
EnMaYto_SetFaceExpression(this, 5, 3);
|
EnMaYto_SetFaceExpression(this, 5, 3);
|
||||||
// "I should had believed what Romani said"
|
// "I should had believed what Romani said"
|
||||||
func_801518B0(globalCtx, 0x33B2, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33B2, &this->actor);
|
||||||
this->textId = 0x33B2;
|
this->textId = 0x33B2;
|
||||||
func_80151BB4(globalCtx, 6);
|
func_80151BB4(globalCtx, 6);
|
||||||
break;
|
break;
|
||||||
|
|
@ -821,7 +821,7 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child);
|
Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child);
|
||||||
this->unk31E = 0;
|
this->unk31E = 0;
|
||||||
EnMaYto_SetFaceExpression(this, 0, 1);
|
EnMaYto_SetFaceExpression(this, 0, 1);
|
||||||
func_801518B0(globalCtx, 0x33C7, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33C7, &this->actor);
|
||||||
this->textId = 0x33C7;
|
this->textId = 0x33C7;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -829,7 +829,7 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
Actor_ChangeFocus(&this->actor, globalCtx, &this->actor);
|
Actor_ChangeFocus(&this->actor, globalCtx, &this->actor);
|
||||||
this->unk31E = 1;
|
this->unk31E = 1;
|
||||||
EnMaYto_SetFaceExpression(this, 0, 1);
|
EnMaYto_SetFaceExpression(this, 0, 1);
|
||||||
func_801518B0(globalCtx, 0x33C8, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33C8, &this->actor);
|
||||||
this->textId = 0x33C8;
|
this->textId = 0x33C8;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -837,7 +837,7 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child);
|
Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child);
|
||||||
func_80B90E50(this, 1);
|
func_80B90E50(this, 1);
|
||||||
EnMaYto_SetRomaniFaceExpression(this, 0, 2);
|
EnMaYto_SetRomaniFaceExpression(this, 0, 2);
|
||||||
func_801518B0(globalCtx, 0x33C9, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33C9, &this->actor);
|
||||||
this->textId = 0x33C9;
|
this->textId = 0x33C9;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -845,13 +845,13 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
Actor_ChangeFocus(&this->actor, globalCtx, &this->actor);
|
Actor_ChangeFocus(&this->actor, globalCtx, &this->actor);
|
||||||
this->unk31E = 1;
|
this->unk31E = 1;
|
||||||
EnMaYto_SetFaceExpression(this, 3, 1);
|
EnMaYto_SetFaceExpression(this, 3, 1);
|
||||||
func_801518B0(globalCtx, 0x33CA, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33CA, &this->actor);
|
||||||
this->textId = 0x33CA;
|
this->textId = 0x33CA;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x33CA:
|
case 0x33CA:
|
||||||
this->unk31E = 1;
|
this->unk31E = 1;
|
||||||
func_801518B0(globalCtx, 0x33CB, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33CB, &this->actor);
|
||||||
this->textId = 0x33CB;
|
this->textId = 0x33CB;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -859,7 +859,7 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child);
|
Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child);
|
||||||
func_80B90E50(this, 1);
|
func_80B90E50(this, 1);
|
||||||
EnMaYto_SetRomaniFaceExpression(this, 3, 3);
|
EnMaYto_SetRomaniFaceExpression(this, 3, 3);
|
||||||
func_801518B0(globalCtx, 0x33CC, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33CC, &this->actor);
|
||||||
this->textId = 0x33CC;
|
this->textId = 0x33CC;
|
||||||
func_80151BB4(globalCtx, 6);
|
func_80151BB4(globalCtx, 6);
|
||||||
func_80151BB4(globalCtx, 5);
|
func_80151BB4(globalCtx, 5);
|
||||||
|
|
@ -888,12 +888,12 @@ void EnMaYto_AfterMilkRunInit(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
this->actor.flags &= ~ACTOR_FLAG_10000;
|
this->actor.flags &= ~ACTOR_FLAG_10000;
|
||||||
|
|
||||||
if (gSaveContext.weekEventReg[52] & 1) { // if (ProtectedCremia)
|
if (gSaveContext.weekEventReg[52] & 1) { // if (ProtectedCremia)
|
||||||
func_801518B0(globalCtx, 0x33C1, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33C1, &this->actor);
|
||||||
this->textId = 0x33C1;
|
this->textId = 0x33C1;
|
||||||
} else {
|
} else {
|
||||||
// Fails milk minigame
|
// Fails milk minigame
|
||||||
EnMaYto_SetFaceExpression(this, 5, 2);
|
EnMaYto_SetFaceExpression(this, 5, 2);
|
||||||
func_801518B0(globalCtx, 0x33C0, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33C0, &this->actor);
|
||||||
this->textId = 0x33C0;
|
this->textId = 0x33C0;
|
||||||
// Attempted Cremia Cart Ride
|
// Attempted Cremia Cart Ride
|
||||||
gSaveContext.weekEventReg[14] |= 1;
|
gSaveContext.weekEventReg[14] |= 1;
|
||||||
|
|
@ -937,7 +937,7 @@ void EnMaYto_AfterMilkRunChooseNextDialogue(EnMaYto* this, GlobalContext* global
|
||||||
case 0x33C1:
|
case 0x33C1:
|
||||||
EnMaYto_SetFaceExpression(this, 3, 1);
|
EnMaYto_SetFaceExpression(this, 3, 1);
|
||||||
// "Thank you. You were cool back there."
|
// "Thank you. You were cool back there."
|
||||||
func_801518B0(globalCtx, 0x33C2, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33C2, &this->actor);
|
||||||
this->textId = 0x33C2;
|
this->textId = 0x33C2;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -975,7 +975,7 @@ void EnMaYto_PostMilkRunExplainReward(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
if (this->unk310 == 1) {
|
if (this->unk310 == 1) {
|
||||||
// Romani's mask explanation
|
// Romani's mask explanation
|
||||||
EnMaYto_SetFaceExpression(this, 0, 1);
|
EnMaYto_SetFaceExpression(this, 0, 1);
|
||||||
func_801518B0(globalCtx, 0x33C3, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33C3, &this->actor);
|
||||||
this->textId = 0x33C3;
|
this->textId = 0x33C3;
|
||||||
// Attempted Cremia Cart Ride
|
// Attempted Cremia Cart Ride
|
||||||
gSaveContext.weekEventReg[14] |= 1;
|
gSaveContext.weekEventReg[14] |= 1;
|
||||||
|
|
@ -987,7 +987,7 @@ void EnMaYto_PostMilkRunExplainReward(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
} else {
|
} else {
|
||||||
// You already have the mask
|
// You already have the mask
|
||||||
EnMaYto_SetFaceExpression(this, 0, 1);
|
EnMaYto_SetFaceExpression(this, 0, 1);
|
||||||
func_801518B0(globalCtx, 0x33D0, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33D0, &this->actor);
|
||||||
this->textId = 0x33D0;
|
this->textId = 0x33D0;
|
||||||
// Attempted Cremia Cart Ride
|
// Attempted Cremia Cart Ride
|
||||||
gSaveContext.weekEventReg[14] |= 1;
|
gSaveContext.weekEventReg[14] |= 1;
|
||||||
|
|
@ -1024,11 +1024,11 @@ void EnMaYto_SetupWarmFuzzyFeelingCs(EnMaYto* this) {
|
||||||
static u16 D_80B915F0 = 99;
|
static u16 D_80B915F0 = 99;
|
||||||
|
|
||||||
void EnMaYto_WarmFuzzyFeelingCs(EnMaYto* this, GlobalContext* globalCtx) {
|
void EnMaYto_WarmFuzzyFeelingCs(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
if (func_800EE29C(globalCtx, 0x22C) != 0) {
|
if (Cutscene_CheckActorAction(globalCtx, 556)) {
|
||||||
u32 csActionIndex = func_800EE200(globalCtx, 0x22C);
|
s32 csActionIndex = Cutscene_GetActorActionIndex(globalCtx, 556);
|
||||||
|
|
||||||
if (globalCtx->csCtx.frames == globalCtx->csCtx.npcActions[csActionIndex]->startFrame) {
|
if (globalCtx->csCtx.frames == globalCtx->csCtx.actorActions[csActionIndex]->startFrame) {
|
||||||
u16 action = globalCtx->csCtx.npcActions[csActionIndex]->unk0;
|
u16 action = globalCtx->csCtx.actorActions[csActionIndex]->action;
|
||||||
|
|
||||||
if (1) {}
|
if (1) {}
|
||||||
|
|
||||||
|
|
@ -1052,7 +1052,7 @@ void EnMaYto_WarmFuzzyFeelingCs(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func_800EDF24(&this->actor, globalCtx, csActionIndex);
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, csActionIndex);
|
||||||
if (D_80B915F0 == 2 && this->skelAnime.animation == &object_ma2_Anim_001FD0 &&
|
if (D_80B915F0 == 2 && this->skelAnime.animation == &object_ma2_Anim_001FD0 &&
|
||||||
Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
|
Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
|
||||||
EnMaYto_ChangeAnim(this, 20);
|
EnMaYto_ChangeAnim(this, 20);
|
||||||
|
|
@ -1102,53 +1102,53 @@ void EnMaYto_DefaultStartDialogue(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
if (Player_GetMask(globalCtx) != PLAYER_MASK_NONE && gSaveContext.playerForm == PLAYER_FORM_HUMAN) {
|
if (Player_GetMask(globalCtx) != PLAYER_MASK_NONE && gSaveContext.playerForm == PLAYER_FORM_HUMAN) {
|
||||||
switch (Player_GetMask(globalCtx)) {
|
switch (Player_GetMask(globalCtx)) {
|
||||||
case PLAYER_MASK_ROMANI:
|
case PLAYER_MASK_ROMANI:
|
||||||
func_801518B0(globalCtx, 0x235D, &this->actor);
|
Message_StartTextbox(globalCtx, 0x235D, &this->actor);
|
||||||
this->textId = 0x235D;
|
this->textId = 0x235D;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PLAYER_MASK_CIRCUS_LEADER:
|
case PLAYER_MASK_CIRCUS_LEADER:
|
||||||
EnMaYto_SetFaceExpression(this, 1, 3);
|
EnMaYto_SetFaceExpression(this, 1, 3);
|
||||||
func_801518B0(globalCtx, 0x235E, &this->actor);
|
Message_StartTextbox(globalCtx, 0x235E, &this->actor);
|
||||||
this->textId = 0x235E;
|
this->textId = 0x235E;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PLAYER_MASK_KAFEIS_MASK:
|
case PLAYER_MASK_KAFEIS_MASK:
|
||||||
EnMaYto_SetFaceExpression(this, 1, 2);
|
EnMaYto_SetFaceExpression(this, 1, 2);
|
||||||
func_801518B0(globalCtx, 0x235F, &this->actor);
|
Message_StartTextbox(globalCtx, 0x235F, &this->actor);
|
||||||
this->textId = 0x235F;
|
this->textId = 0x235F;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PLAYER_MASK_COUPLE:
|
case PLAYER_MASK_COUPLE:
|
||||||
func_801518B0(globalCtx, 0x2360, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2360, &this->actor);
|
||||||
this->textId = 0x2360;
|
this->textId = 0x2360;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
func_801518B0(globalCtx, 0x2361, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2361, &this->actor);
|
||||||
this->textId = 0x2361;
|
this->textId = 0x2361;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (EnMaYto_HasSpokeToPlayer()) {
|
if (EnMaYto_HasSpokeToPlayer()) {
|
||||||
func_801518B0(globalCtx, 0x3394, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3394, &this->actor);
|
||||||
this->textId = 0x3394;
|
this->textId = 0x3394;
|
||||||
} else {
|
} else {
|
||||||
EnMaYto_SetTalkedFlag();
|
EnMaYto_SetTalkedFlag();
|
||||||
// Asks the player if he came from town.
|
// Asks the player if he came from town.
|
||||||
func_801518B0(globalCtx, 0x3390, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3390, &this->actor);
|
||||||
this->textId = 0x3390;
|
this->textId = 0x3390;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (CURRENT_DAY == 3) {
|
} else if (CURRENT_DAY == 3) {
|
||||||
if (EnMaYto_HasSpokeToPlayerToday()) {
|
if (EnMaYto_HasSpokeToPlayerToday()) {
|
||||||
EnMaYto_SetFaceExpression(this, 0, 3);
|
EnMaYto_SetFaceExpression(this, 0, 3);
|
||||||
func_801518B0(globalCtx, 0x33C5, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33C5, &this->actor);
|
||||||
this->textId = 0x33C5;
|
this->textId = 0x33C5;
|
||||||
func_80151BB4(globalCtx, 6);
|
func_80151BB4(globalCtx, 6);
|
||||||
} else {
|
} else {
|
||||||
EnMaYto_SetTalkedFlag();
|
EnMaYto_SetTalkedFlag();
|
||||||
EnMaYto_SetFaceExpression(this, 0, 3);
|
EnMaYto_SetFaceExpression(this, 0, 3);
|
||||||
func_801518B0(globalCtx, 0x33C4, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33C4, &this->actor);
|
||||||
this->textId = 0x33C4;
|
this->textId = 0x33C4;
|
||||||
func_80151BB4(globalCtx, 6);
|
func_80151BB4(globalCtx, 6);
|
||||||
}
|
}
|
||||||
|
|
@ -1161,37 +1161,37 @@ void EnMaYto_DinnerStartDialogue(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
if (Player_GetMask(globalCtx) != PLAYER_MASK_NONE && gSaveContext.playerForm == PLAYER_FORM_HUMAN) {
|
if (Player_GetMask(globalCtx) != PLAYER_MASK_NONE && gSaveContext.playerForm == PLAYER_FORM_HUMAN) {
|
||||||
switch (Player_GetMask(globalCtx)) {
|
switch (Player_GetMask(globalCtx)) {
|
||||||
case PLAYER_MASK_ROMANI:
|
case PLAYER_MASK_ROMANI:
|
||||||
func_801518B0(globalCtx, 0x235D, &this->actor);
|
Message_StartTextbox(globalCtx, 0x235D, &this->actor);
|
||||||
this->textId = 0x235D;
|
this->textId = 0x235D;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PLAYER_MASK_CIRCUS_LEADER:
|
case PLAYER_MASK_CIRCUS_LEADER:
|
||||||
func_801518B0(globalCtx, 0x235E, &this->actor);
|
Message_StartTextbox(globalCtx, 0x235E, &this->actor);
|
||||||
this->textId = 0x235E;
|
this->textId = 0x235E;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PLAYER_MASK_KAFEIS_MASK:
|
case PLAYER_MASK_KAFEIS_MASK:
|
||||||
func_801518B0(globalCtx, 0x235F, &this->actor);
|
Message_StartTextbox(globalCtx, 0x235F, &this->actor);
|
||||||
this->textId = 0x235F;
|
this->textId = 0x235F;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PLAYER_MASK_COUPLE:
|
case PLAYER_MASK_COUPLE:
|
||||||
func_801518B0(globalCtx, 0x2360, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2360, &this->actor);
|
||||||
this->textId = 0x2360;
|
this->textId = 0x2360;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
func_801518B0(globalCtx, 0x2361, &this->actor);
|
Message_StartTextbox(globalCtx, 0x2361, &this->actor);
|
||||||
this->textId = 0x2361;
|
this->textId = 0x2361;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (EnMaYto_HasSpokeToPlayer()) {
|
if (EnMaYto_HasSpokeToPlayer()) {
|
||||||
func_801518B0(globalCtx, 0x339F, &this->actor);
|
Message_StartTextbox(globalCtx, 0x339F, &this->actor);
|
||||||
this->textId = 0x339F;
|
this->textId = 0x339F;
|
||||||
} else {
|
} else {
|
||||||
EnMaYto_SetTalkedFlag();
|
EnMaYto_SetTalkedFlag();
|
||||||
func_801518B0(globalCtx, 0x3397, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3397, &this->actor);
|
||||||
this->textId = 0x3397;
|
this->textId = 0x3397;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1199,24 +1199,24 @@ void EnMaYto_DinnerStartDialogue(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
if (EnMaYto_HasSpokeToPlayer()) {
|
if (EnMaYto_HasSpokeToPlayer()) {
|
||||||
func_801518B0(globalCtx, 0x33A6, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33A6, &this->actor);
|
||||||
this->textId = 0x33A6;
|
this->textId = 0x33A6;
|
||||||
func_80151BB4(globalCtx, 6);
|
func_80151BB4(globalCtx, 6);
|
||||||
} else {
|
} else {
|
||||||
EnMaYto_SetTalkedFlag();
|
EnMaYto_SetTalkedFlag();
|
||||||
func_801518B0(globalCtx, 0x33A5, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33A5, &this->actor);
|
||||||
this->textId = 0x33A5;
|
this->textId = 0x33A5;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
if (EnMaYto_HasSpokeToPlayer()) {
|
if (EnMaYto_HasSpokeToPlayer()) {
|
||||||
func_801518B0(globalCtx, 0x33A8, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33A8, &this->actor);
|
||||||
this->textId = 0x33A8;
|
this->textId = 0x33A8;
|
||||||
func_80151BB4(globalCtx, 6);
|
func_80151BB4(globalCtx, 6);
|
||||||
} else {
|
} else {
|
||||||
EnMaYto_SetTalkedFlag();
|
EnMaYto_SetTalkedFlag();
|
||||||
func_801518B0(globalCtx, 0x33A7, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33A7, &this->actor);
|
||||||
this->textId = 0x33A7;
|
this->textId = 0x33A7;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -1228,23 +1228,23 @@ void EnMaYto_BarnStartDialogue(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
if (gSaveContext.weekEventReg[22] & 1) {
|
if (gSaveContext.weekEventReg[22] & 1) {
|
||||||
if (CURRENT_DAY == 2) {
|
if (CURRENT_DAY == 2) {
|
||||||
if (this->unk310 == 1) {
|
if (this->unk310 == 1) {
|
||||||
func_801518B0(globalCtx, 0x33AE, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33AE, &this->actor);
|
||||||
this->textId = 0x33AE;
|
this->textId = 0x33AE;
|
||||||
} else {
|
} else {
|
||||||
this->unk310 = 1;
|
this->unk310 = 1;
|
||||||
EnMaYto_SetTalkedFlag();
|
EnMaYto_SetTalkedFlag();
|
||||||
func_801518B0(globalCtx, 0x33A9, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33A9, &this->actor);
|
||||||
this->textId = 0x33A9;
|
this->textId = 0x33A9;
|
||||||
}
|
}
|
||||||
} else if (CURRENT_DAY == 3) {
|
} else if (CURRENT_DAY == 3) {
|
||||||
if (this->unk310 == 1) {
|
if (this->unk310 == 1) {
|
||||||
func_801518B0(globalCtx, 0x33CB, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33CB, &this->actor);
|
||||||
this->textId = 0x33CB;
|
this->textId = 0x33CB;
|
||||||
} else {
|
} else {
|
||||||
this->unk310 = 1;
|
this->unk310 = 1;
|
||||||
EnMaYto_SetTalkedFlag();
|
EnMaYto_SetTalkedFlag();
|
||||||
EnMaYto_SetFaceExpression(this, 0, 1);
|
EnMaYto_SetFaceExpression(this, 0, 1);
|
||||||
func_801518B0(globalCtx, 0x33C6, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33C6, &this->actor);
|
||||||
this->textId = 0x33C6;
|
this->textId = 0x33C6;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1252,13 +1252,13 @@ void EnMaYto_BarnStartDialogue(EnMaYto* this, GlobalContext* globalCtx) {
|
||||||
if (EnMaYto_HasSpokeToPlayer()) {
|
if (EnMaYto_HasSpokeToPlayer()) {
|
||||||
this->unk31E = 2;
|
this->unk31E = 2;
|
||||||
EnMaYto_SetFaceExpression(this, 5, 3);
|
EnMaYto_SetFaceExpression(this, 5, 3);
|
||||||
func_801518B0(globalCtx, 0x33B3, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33B3, &this->actor);
|
||||||
this->textId = 0x33B3;
|
this->textId = 0x33B3;
|
||||||
func_80151BB4(globalCtx, 6);
|
func_80151BB4(globalCtx, 6);
|
||||||
} else {
|
} else {
|
||||||
EnMaYto_SetTalkedFlag();
|
EnMaYto_SetTalkedFlag();
|
||||||
EnMaYto_SetFaceExpression(this, 5, 3);
|
EnMaYto_SetFaceExpression(this, 5, 3);
|
||||||
func_801518B0(globalCtx, 0x33B1, &this->actor);
|
Message_StartTextbox(globalCtx, 0x33B1, &this->actor);
|
||||||
this->textId = 0x33B1;
|
this->textId = 0x33B1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -302,12 +302,12 @@ void EnMaYts_StartDialogue(EnMaYts* this, GlobalContext* globalCtx) {
|
||||||
// Saying to non-human Link: "Cremia went to town."
|
// Saying to non-human Link: "Cremia went to town."
|
||||||
gSaveContext.weekEventReg[65] |= 0x80;
|
gSaveContext.weekEventReg[65] |= 0x80;
|
||||||
EnMaYts_SetFaceExpression(this, 0, 0);
|
EnMaYts_SetFaceExpression(this, 0, 0);
|
||||||
func_801518B0(globalCtx, 0x335F, &this->actor);
|
Message_StartTextbox(globalCtx, 0x335F, &this->actor);
|
||||||
this->textId = 0x335F;
|
this->textId = 0x335F;
|
||||||
} else {
|
} else {
|
||||||
// Saying to non-human Link: "Pretend you did not hear that."
|
// Saying to non-human Link: "Pretend you did not hear that."
|
||||||
EnMaYts_SetFaceExpression(this, 4, 3);
|
EnMaYts_SetFaceExpression(this, 4, 3);
|
||||||
func_801518B0(globalCtx, 0x3362, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3362, &this->actor);
|
||||||
this->textId = 0x3362;
|
this->textId = 0x3362;
|
||||||
func_80151BB4(globalCtx, 5);
|
func_80151BB4(globalCtx, 5);
|
||||||
}
|
}
|
||||||
|
|
@ -315,29 +315,29 @@ void EnMaYts_StartDialogue(EnMaYts* this, GlobalContext* globalCtx) {
|
||||||
if (!(gSaveContext.weekEventReg[65] & 0x40)) {
|
if (!(gSaveContext.weekEventReg[65] & 0x40)) {
|
||||||
gSaveContext.weekEventReg[65] |= 0x40;
|
gSaveContext.weekEventReg[65] |= 0x40;
|
||||||
EnMaYts_SetFaceExpression(this, 0, 0);
|
EnMaYts_SetFaceExpression(this, 0, 0);
|
||||||
func_801518B0(globalCtx, 0x3363, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3363, &this->actor);
|
||||||
this->textId = 0x3363;
|
this->textId = 0x3363;
|
||||||
} else {
|
} else {
|
||||||
EnMaYts_SetFaceExpression(this, 4, 2);
|
EnMaYts_SetFaceExpression(this, 4, 2);
|
||||||
func_801518B0(globalCtx, 0x3366, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3366, &this->actor);
|
||||||
this->textId = 0x3366;
|
this->textId = 0x3366;
|
||||||
func_80151BB4(globalCtx, 5);
|
func_80151BB4(globalCtx, 5);
|
||||||
}
|
}
|
||||||
} else if (!(gSaveContext.weekEventReg[21] & 0x20)) {
|
} else if (!(gSaveContext.weekEventReg[21] & 0x20)) {
|
||||||
EnMaYts_SetFaceExpression(this, 0, 0);
|
EnMaYts_SetFaceExpression(this, 0, 0);
|
||||||
func_801518B0(globalCtx, 0x3367, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3367, &this->actor);
|
||||||
this->textId = 0x3367;
|
this->textId = 0x3367;
|
||||||
} else {
|
} else {
|
||||||
if (!(gSaveContext.weekEventReg[65] & 0x20)) {
|
if (!(gSaveContext.weekEventReg[65] & 0x20)) {
|
||||||
// Saying to Grasshopper: "Cremia went to town."
|
// Saying to Grasshopper: "Cremia went to town."
|
||||||
gSaveContext.weekEventReg[65] |= 0x20;
|
gSaveContext.weekEventReg[65] |= 0x20;
|
||||||
EnMaYts_SetFaceExpression(this, 4, 2);
|
EnMaYts_SetFaceExpression(this, 4, 2);
|
||||||
func_801518B0(globalCtx, 0x3369, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3369, &this->actor);
|
||||||
this->textId = 0x3369;
|
this->textId = 0x3369;
|
||||||
} else {
|
} else {
|
||||||
// Saying to Grasshopper: "You're our bodyguard."
|
// Saying to Grasshopper: "You're our bodyguard."
|
||||||
EnMaYts_SetFaceExpression(this, 0, 0);
|
EnMaYts_SetFaceExpression(this, 0, 0);
|
||||||
func_801518B0(globalCtx, 0x336C, &this->actor);
|
Message_StartTextbox(globalCtx, 0x336C, &this->actor);
|
||||||
this->textId = 0x336C;
|
this->textId = 0x336C;
|
||||||
func_80151BB4(globalCtx, 5);
|
func_80151BB4(globalCtx, 5);
|
||||||
}
|
}
|
||||||
|
|
@ -381,14 +381,14 @@ void EnMaYts_SetupEndCreditsHandler(EnMaYts* this) {
|
||||||
|
|
||||||
static u16 D_80B8E32C = 99;
|
static u16 D_80B8E32C = 99;
|
||||||
void EnMaYts_EndCreditsHandler(EnMaYts* this, GlobalContext* globalCtx) {
|
void EnMaYts_EndCreditsHandler(EnMaYts* this, GlobalContext* globalCtx) {
|
||||||
if (func_800EE29C(globalCtx, 0x78) != 0) {
|
if (Cutscene_CheckActorAction(globalCtx, 120)) {
|
||||||
u32 actionIndex = func_800EE200(globalCtx, 0x78);
|
s32 actionIndex = Cutscene_GetActorActionIndex(globalCtx, 120);
|
||||||
|
|
||||||
if (globalCtx->csCtx.frames == globalCtx->csCtx.npcActions[actionIndex]->startFrame) {
|
if (globalCtx->csCtx.frames == globalCtx->csCtx.actorActions[actionIndex]->startFrame) {
|
||||||
if (globalCtx->csCtx.npcActions[actionIndex]->unk0 != D_80B8E32C) {
|
if (globalCtx->csCtx.actorActions[actionIndex]->action != D_80B8E32C) {
|
||||||
D_80B8E32C = globalCtx->csCtx.npcActions[actionIndex]->unk0;
|
D_80B8E32C = globalCtx->csCtx.actorActions[actionIndex]->action;
|
||||||
this->endCreditsFlag = 0;
|
this->endCreditsFlag = 0;
|
||||||
switch (globalCtx->csCtx.npcActions[actionIndex]->unk0) {
|
switch (globalCtx->csCtx.actorActions[actionIndex]->action) {
|
||||||
case 1:
|
case 1:
|
||||||
this->hasBow = true;
|
this->hasBow = true;
|
||||||
EnMaYts_ChangeAnim(this, 0);
|
EnMaYts_ChangeAnim(this, 0);
|
||||||
|
|
@ -412,9 +412,9 @@ void EnMaYts_EndCreditsHandler(EnMaYts* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func_800EDF24(&this->actor, globalCtx, actionIndex);
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, actionIndex);
|
||||||
if ((D_80B8E32C == 2) && (this->endCreditsFlag == 0) &&
|
if ((D_80B8E32C == 2) && (this->endCreditsFlag == 0) &&
|
||||||
(Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame) != 0)) {
|
Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
|
||||||
this->endCreditsFlag++;
|
this->endCreditsFlag++;
|
||||||
EnMaYts_ChangeAnim(this, 5);
|
EnMaYts_ChangeAnim(this, 5);
|
||||||
}
|
}
|
||||||
|
|
@ -430,46 +430,46 @@ void EnMaYts_ChooseNextDialogue(EnMaYts* this, GlobalContext* globalCtx) {
|
||||||
switch (this->textId) {
|
switch (this->textId) {
|
||||||
case 0x335F:
|
case 0x335F:
|
||||||
EnMaYts_SetFaceExpression(this, 0, 2);
|
EnMaYts_SetFaceExpression(this, 0, 2);
|
||||||
func_801518B0(globalCtx, 0x3360, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3360, &this->actor);
|
||||||
this->textId = 0x3360;
|
this->textId = 0x3360;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x3360:
|
case 0x3360:
|
||||||
EnMaYts_SetFaceExpression(this, 4, 3);
|
EnMaYts_SetFaceExpression(this, 4, 3);
|
||||||
func_801518B0(globalCtx, 0x3361, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3361, &this->actor);
|
||||||
this->textId = 0x3361;
|
this->textId = 0x3361;
|
||||||
func_80151BB4(globalCtx, 5);
|
func_80151BB4(globalCtx, 5);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x3363:
|
case 0x3363:
|
||||||
EnMaYts_SetFaceExpression(this, 1, 1);
|
EnMaYts_SetFaceExpression(this, 1, 1);
|
||||||
func_801518B0(globalCtx, 0x3364, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3364, &this->actor);
|
||||||
this->textId = 0x3364;
|
this->textId = 0x3364;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x3364:
|
case 0x3364:
|
||||||
EnMaYts_SetFaceExpression(this, 4, 2);
|
EnMaYts_SetFaceExpression(this, 4, 2);
|
||||||
func_801518B0(globalCtx, 0x3365, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3365, &this->actor);
|
||||||
this->textId = 0x3365;
|
this->textId = 0x3365;
|
||||||
func_80151BB4(globalCtx, 5);
|
func_80151BB4(globalCtx, 5);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x3367:
|
case 0x3367:
|
||||||
EnMaYts_SetFaceExpression(this, 4, 3);
|
EnMaYts_SetFaceExpression(this, 4, 3);
|
||||||
func_801518B0(globalCtx, 0x3368, &this->actor);
|
Message_StartTextbox(globalCtx, 0x3368, &this->actor);
|
||||||
this->textId = 0x3368;
|
this->textId = 0x3368;
|
||||||
func_80151BB4(globalCtx, 5);
|
func_80151BB4(globalCtx, 5);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x3369:
|
case 0x3369:
|
||||||
EnMaYts_SetFaceExpression(this, 0, 0);
|
EnMaYts_SetFaceExpression(this, 0, 0);
|
||||||
func_801518B0(globalCtx, 0x336A, &this->actor);
|
Message_StartTextbox(globalCtx, 0x336A, &this->actor);
|
||||||
this->textId = 0x336A;
|
this->textId = 0x336A;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x336A:
|
case 0x336A:
|
||||||
EnMaYts_SetFaceExpression(this, 3, 3);
|
EnMaYts_SetFaceExpression(this, 3, 3);
|
||||||
func_801518B0(globalCtx, 0x336B, &this->actor);
|
Message_StartTextbox(globalCtx, 0x336B, &this->actor);
|
||||||
this->textId = 0x336B;
|
this->textId = 0x336B;
|
||||||
func_80151BB4(globalCtx, 5);
|
func_80151BB4(globalCtx, 5);
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -382,7 +382,7 @@ void EnMag_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
CHECK_BTN_ALL(CONTROLLER1(globalCtx)->press.button, BTN_A) ||
|
CHECK_BTN_ALL(CONTROLLER1(globalCtx)->press.button, BTN_A) ||
|
||||||
CHECK_BTN_ALL(CONTROLLER1(globalCtx)->press.button, BTN_B)) {
|
CHECK_BTN_ALL(CONTROLLER1(globalCtx)->press.button, BTN_B)) {
|
||||||
if (globalCtx->sceneLoadFlag != 0x14) {
|
if (globalCtx->sceneLoadFlag != 0x14) {
|
||||||
func_801A3F54(false);
|
Audio_SetCutsceneFlag(false);
|
||||||
D_801BB12C++;
|
D_801BB12C++;
|
||||||
if (D_801BB12C >= 2) {
|
if (D_801BB12C >= 2) {
|
||||||
D_801BB12C = 0;
|
D_801BB12C = 0;
|
||||||
|
|
|
||||||
|
|
@ -471,7 +471,7 @@ void EnMinifrog_EndChoir(EnMinifrog* this, GlobalContext* globalCtx) {
|
||||||
EnMinifrog_TurnToPlayer(this);
|
EnMinifrog_TurnToPlayer(this);
|
||||||
EnMinifrog_Jump(this);
|
EnMinifrog_Jump(this);
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
func_801518B0(globalCtx, 0xD7E, &this->actor); // "Let us do it again sometime."
|
Message_StartTextbox(globalCtx, 0xD7E, &this->actor); // "Let us do it again sometime."
|
||||||
this->actionFunc = EnMinifrog_YellowFrogDialog;
|
this->actionFunc = EnMinifrog_YellowFrogDialog;
|
||||||
} else {
|
} else {
|
||||||
func_800B8500(&this->actor, globalCtx, 1000.0f, 1000.0f, EXCH_ITEM_MINUS1);
|
func_800B8500(&this->actor, globalCtx, 1000.0f, 1000.0f, EXCH_ITEM_MINUS1);
|
||||||
|
|
@ -565,11 +565,11 @@ void EnMinifrog_SetupYellowFrogDialog(EnMinifrog* this, GlobalContext* globalCtx
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
this->actionFunc = EnMinifrog_YellowFrogDialog;
|
this->actionFunc = EnMinifrog_YellowFrogDialog;
|
||||||
if (!(gSaveContext.weekEventReg[34] & 1)) { // Not spoken with MINIFROG_YELLOW
|
if (!(gSaveContext.weekEventReg[34] & 1)) { // Not spoken with MINIFROG_YELLOW
|
||||||
func_801518B0(globalCtx, 0xD76,
|
Message_StartTextbox(globalCtx, 0xD76,
|
||||||
&this->actor); // "I have been waiting for you, Don Gero. Forgive me if I'm mistaken, but it
|
&this->actor); // "I have been waiting for you, Don Gero. Forgive me if I'm mistaken,
|
||||||
// looks like you've lost a little weight..."
|
// but it looks like you've lost a little weight..."
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0xD7F, &this->actor); // "Well, if it isn't the great Don Gero."
|
Message_StartTextbox(globalCtx, 0xD7F, &this->actor); // "Well, if it isn't the great Don Gero."
|
||||||
}
|
}
|
||||||
} else if ((this->actor.xzDistToPlayer < 150.0f) &&
|
} else if ((this->actor.xzDistToPlayer < 150.0f) &&
|
||||||
(Player_IsFacingActor(&this->actor, 0x3000, globalCtx) ||
|
(Player_IsFacingActor(&this->actor, 0x3000, globalCtx) ||
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ void EnMm2_Reading(EnMm2* this, GlobalContext* globalCtx) {
|
||||||
*/
|
*/
|
||||||
void EnMm2_WaitForRead(EnMm2* this, GlobalContext* globalCtx) {
|
void EnMm2_WaitForRead(EnMm2* this, GlobalContext* globalCtx) {
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
func_801518B0(globalCtx, 0x277B, &this->actor);
|
Message_StartTextbox(globalCtx, 0x277B, &this->actor);
|
||||||
this->actionFunc = EnMm2_Reading;
|
this->actionFunc = EnMm2_Reading;
|
||||||
} else if ((this->actor.xzDistToPlayer < 60.0f) && (Player_IsFacingActor(&this->actor, 0x3000, globalCtx))) {
|
} else if ((this->actor.xzDistToPlayer < 60.0f) && (Player_IsFacingActor(&this->actor, 0x3000, globalCtx))) {
|
||||||
func_800B8614(&this->actor, globalCtx, 110.0f);
|
func_800B8614(&this->actor, globalCtx, 110.0f);
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ void func_80C08828(EnNnh* this) {
|
||||||
|
|
||||||
void func_80C0883C(EnNnh* this, GlobalContext* globalCtx) {
|
void func_80C0883C(EnNnh* this, GlobalContext* globalCtx) {
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
func_801518B0(globalCtx, 0x228U, &this->actor);
|
Message_StartTextbox(globalCtx, 0x228U, &this->actor);
|
||||||
func_80C088A4(this);
|
func_80C088A4(this);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -574,7 +574,7 @@ void func_80AD10FC(EnOsn* this, GlobalContext* globalCtx) {
|
||||||
this->unk_1EA |= 0x20;
|
this->unk_1EA |= 0x20;
|
||||||
}
|
}
|
||||||
|
|
||||||
func_801518B0(globalCtx, this->unk_1F4, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_1F4, &this->actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AD1398(EnOsn* this) {
|
void func_80AD1398(EnOsn* this) {
|
||||||
|
|
@ -615,7 +615,7 @@ void func_80AD14C8(EnOsn* this, GlobalContext* globalCtx) {
|
||||||
} else {
|
} else {
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
this->unk_1F4 = func_80AD0E10(this, globalCtx);
|
this->unk_1F4 = func_80AD0E10(this, globalCtx);
|
||||||
func_801518B0(globalCtx, this->unk_1F4, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_1F4, &this->actor);
|
||||||
this->actionFunc = func_80AD19A0;
|
this->actionFunc = func_80AD19A0;
|
||||||
} else if ((((this->actor.xzDistToPlayer < 100.0f) || this->actor.isTargeted) && (temp_v1 < 0x4000)) &&
|
} else if ((((this->actor.xzDistToPlayer < 100.0f) || this->actor.isTargeted) && (temp_v1 < 0x4000)) &&
|
||||||
(temp_v1 > -0x4000)) {
|
(temp_v1 > -0x4000)) {
|
||||||
|
|
@ -638,14 +638,14 @@ void func_80AD1634(EnOsn* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
void func_80AD16A8(EnOsn* this, GlobalContext* globalCtx) {
|
void func_80AD16A8(EnOsn* this, GlobalContext* globalCtx) {
|
||||||
u8 pad;
|
u8 pad;
|
||||||
u32 temp_v0;
|
s32 actionIndex;
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x82)) {
|
if (Cutscene_CheckActorAction(globalCtx, 130)) {
|
||||||
temp_v0 = func_800EE200(globalCtx, 0x82);
|
actionIndex = Cutscene_GetActorActionIndex(globalCtx, 130);
|
||||||
this->unk_1F0 = 0;
|
this->unk_1F0 = 0;
|
||||||
if (this->unk_1ED != globalCtx->csCtx.npcActions[temp_v0]->unk0) {
|
if (this->unk_1ED != globalCtx->csCtx.actorActions[actionIndex]->action) {
|
||||||
this->unk_1ED = globalCtx->csCtx.npcActions[temp_v0]->unk0;
|
this->unk_1ED = globalCtx->csCtx.actorActions[actionIndex]->action;
|
||||||
switch (globalCtx->csCtx.npcActions[temp_v0]->unk0) {
|
switch (globalCtx->csCtx.actorActions[actionIndex]->action) {
|
||||||
case 1:
|
case 1:
|
||||||
this->unk_1EC = 2;
|
this->unk_1EC = 2;
|
||||||
break;
|
break;
|
||||||
|
|
@ -735,7 +735,7 @@ void func_80AD16A8(EnOsn* this, GlobalContext* globalCtx) {
|
||||||
(Animation_OnFrame(&this->skelAnime, 57.0f)) || (Animation_OnFrame(&this->skelAnime, 67.0f)))) {
|
(Animation_OnFrame(&this->skelAnime, 57.0f)) || (Animation_OnFrame(&this->skelAnime, 67.0f)))) {
|
||||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_OMENYA_WALK);
|
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_OMENYA_WALK);
|
||||||
}
|
}
|
||||||
func_800EDF24(&this->actor, globalCtx, temp_v0);
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, actionIndex);
|
||||||
} else {
|
} else {
|
||||||
this->unk_1F0 = 1;
|
this->unk_1F0 = 1;
|
||||||
this->unk_1ED = 0x63;
|
this->unk_1ED = 0x63;
|
||||||
|
|
|
||||||
|
|
@ -383,7 +383,7 @@ void EnOssan_BeginInteraction(EnOssan* this, GlobalContext* globalCtx) {
|
||||||
case 10:
|
case 10:
|
||||||
this->animationIdx++;
|
this->animationIdx++;
|
||||||
SubS_ChangeAnimationByInfoS(&this->skelAnime, animations, this->animationIdx);
|
SubS_ChangeAnimationByInfoS(&this->skelAnime, animations, this->animationIdx);
|
||||||
func_801518B0(globalCtx, this->textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->textId, &this->actor);
|
||||||
EnOssan_SetupStartShopping(globalCtx, this, false);
|
EnOssan_SetupStartShopping(globalCtx, this, false);
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
|
|
@ -408,7 +408,7 @@ void EnOssan_BeginInteraction(EnOssan* this, GlobalContext* globalCtx) {
|
||||||
} else {
|
} else {
|
||||||
EnOssan_SetHaveMet(this);
|
EnOssan_SetHaveMet(this);
|
||||||
this->textId = EnOssan_GetWelcomePartTimeWorker(this, globalCtx);
|
this->textId = EnOssan_GetWelcomePartTimeWorker(this, globalCtx);
|
||||||
func_801518B0(globalCtx, this->textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->textId, &this->actor);
|
||||||
EnOssan_SetupStartShopping(globalCtx, this, false);
|
EnOssan_SetupStartShopping(globalCtx, this, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1091,7 +1091,7 @@ void EnOssan_ContinueShopping(EnOssan* this, GlobalContext* globalCtx) {
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
player->actor.shape.rot.y = BINANG_ROT180(player->actor.shape.rot.y);
|
player->actor.shape.rot.y = BINANG_ROT180(player->actor.shape.rot.y);
|
||||||
player->stateFlags2 |= 0x20000000;
|
player->stateFlags2 |= 0x20000000;
|
||||||
func_801518B0(globalCtx, this->textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->textId, &this->actor);
|
||||||
EnOssan_SetupStartShopping(globalCtx, this, true);
|
EnOssan_SetupStartShopping(globalCtx, this, true);
|
||||||
func_800B85E0(&this->actor, globalCtx, 100.0f, EXCH_ITEM_MINUS1);
|
func_800B85E0(&this->actor, globalCtx, 100.0f, EXCH_ITEM_MINUS1);
|
||||||
break;
|
break;
|
||||||
|
|
@ -1109,7 +1109,7 @@ void EnOssan_ContinueShopping(EnOssan* this, GlobalContext* globalCtx) {
|
||||||
item->restockFunc(globalCtx, item);
|
item->restockFunc(globalCtx, item);
|
||||||
player->actor.shape.rot.y = BINANG_ROT180(player->actor.shape.rot.y);
|
player->actor.shape.rot.y = BINANG_ROT180(player->actor.shape.rot.y);
|
||||||
player->stateFlags2 |= 0x20000000;
|
player->stateFlags2 |= 0x20000000;
|
||||||
func_801518B0(globalCtx, this->textId, &this->actor);
|
Message_StartTextbox(globalCtx, this->textId, &this->actor);
|
||||||
EnOssan_SetupStartShopping(globalCtx, this, true);
|
EnOssan_SetupStartShopping(globalCtx, this, true);
|
||||||
func_800B85E0(&this->actor, globalCtx, 100.0f, EXCH_ITEM_MINUS1);
|
func_800B85E0(&this->actor, globalCtx, 100.0f, EXCH_ITEM_MINUS1);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -651,7 +651,7 @@ void func_80B5CD40(EnOt* this, GlobalContext* globalCtx) {
|
||||||
if (1) {}
|
if (1) {}
|
||||||
if (!temp) {
|
if (!temp) {
|
||||||
gSaveContext.weekEventReg[23] |= 0x10;
|
gSaveContext.weekEventReg[23] |= 0x10;
|
||||||
func_801518B0(globalCtx, 0x1069, NULL);
|
Message_StartTextbox(globalCtx, 0x1069, NULL);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -765,12 +765,12 @@ void func_80B5D160(EnOt* this, GlobalContext* globalCtx) {
|
||||||
} else {
|
} else {
|
||||||
phi_a1 = 0x10A5;
|
phi_a1 = 0x10A5;
|
||||||
}
|
}
|
||||||
func_801518B0(globalCtx, phi_a1, &this->actor);
|
Message_StartTextbox(globalCtx, phi_a1, &this->actor);
|
||||||
func_80B5D114(this, globalCtx);
|
func_80B5D114(this, globalCtx);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
func_801518B0(globalCtx, 0x106D, &this->actor);
|
Message_StartTextbox(globalCtx, 0x106D, &this->actor);
|
||||||
func_80B5D114(this, globalCtx);
|
func_80B5D114(this, globalCtx);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -599,21 +599,21 @@ void func_80BD994C(EnPamera* this, GlobalContext* globalCtx) {
|
||||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_GIBDO) {
|
if (Player_GetMask(globalCtx) == PLAYER_MASK_GIBDO) {
|
||||||
if (1) {}
|
if (1) {}
|
||||||
func_80BD93CC(this, 0, 1);
|
func_80BD93CC(this, 0, 1);
|
||||||
func_801518B0(globalCtx, 0x15A8, &this->actor);
|
Message_StartTextbox(globalCtx, 0x15A8, &this->actor);
|
||||||
|
|
||||||
this->unk_324 = 0x15A8;
|
this->unk_324 = 0x15A8;
|
||||||
} else if ((gSaveContext.playerForm != PLAYER_FORM_HUMAN) ||
|
} else if ((gSaveContext.playerForm != PLAYER_FORM_HUMAN) ||
|
||||||
((gSaveContext.weekEventReg[52] & 0x20) && (!(gSaveContext.weekEventReg[75] & 0x20)))) {
|
((gSaveContext.weekEventReg[52] & 0x20) && (!(gSaveContext.weekEventReg[75] & 0x20)))) {
|
||||||
func_80BD93CC(this, 1, 0);
|
func_80BD93CC(this, 1, 0);
|
||||||
func_801518B0(globalCtx, 0x158E, &this->actor);
|
Message_StartTextbox(globalCtx, 0x158E, &this->actor);
|
||||||
this->unk_324 = 0x158E;
|
this->unk_324 = 0x158E;
|
||||||
} else {
|
} else {
|
||||||
if (!(this->unk_322 & 1)) {
|
if (!(this->unk_322 & 1)) {
|
||||||
this->unk_322 |= 1;
|
this->unk_322 |= 1;
|
||||||
func_801518B0(globalCtx, 0x1587, &this->actor);
|
Message_StartTextbox(globalCtx, 0x1587, &this->actor);
|
||||||
this->unk_324 = 0x1587;
|
this->unk_324 = 0x1587;
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x158C, &this->actor);
|
Message_StartTextbox(globalCtx, 0x158C, &this->actor);
|
||||||
this->unk_324 = 0x158C;
|
this->unk_324 = 0x158C;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -654,23 +654,23 @@ void func_80BD9B4C(EnPamera* this, GlobalContext* globalCtx) {
|
||||||
if (func_80147624(globalCtx)) {
|
if (func_80147624(globalCtx)) {
|
||||||
switch (this->unk_324) {
|
switch (this->unk_324) {
|
||||||
case 0x1587:
|
case 0x1587:
|
||||||
func_801518B0(globalCtx, 0x1588, &this->actor);
|
Message_StartTextbox(globalCtx, 0x1588, &this->actor);
|
||||||
this->unk_324 = 0x1588;
|
this->unk_324 = 0x1588;
|
||||||
break;
|
break;
|
||||||
case 0x1588:
|
case 0x1588:
|
||||||
func_801518B0(globalCtx, 0x1589, &this->actor);
|
Message_StartTextbox(globalCtx, 0x1589, &this->actor);
|
||||||
this->unk_324 = 0x1589;
|
this->unk_324 = 0x1589;
|
||||||
break;
|
break;
|
||||||
case 0x1589:
|
case 0x1589:
|
||||||
func_801518B0(globalCtx, 0x158A, &this->actor);
|
Message_StartTextbox(globalCtx, 0x158A, &this->actor);
|
||||||
this->unk_324 = 0x158A;
|
this->unk_324 = 0x158A;
|
||||||
break;
|
break;
|
||||||
case 0x158A:
|
case 0x158A:
|
||||||
func_801518B0(globalCtx, 0x158B, &this->actor);
|
Message_StartTextbox(globalCtx, 0x158B, &this->actor);
|
||||||
this->unk_324 = 0x158B;
|
this->unk_324 = 0x158B;
|
||||||
break;
|
break;
|
||||||
case 0x158C:
|
case 0x158C:
|
||||||
func_801518B0(globalCtx, 0x158D, &this->actor);
|
Message_StartTextbox(globalCtx, 0x158D, &this->actor);
|
||||||
this->unk_324 = 0x158D;
|
this->unk_324 = 0x158D;
|
||||||
break;
|
break;
|
||||||
case 0x158E:
|
case 0x158E:
|
||||||
|
|
@ -690,14 +690,14 @@ void func_80BD9C70(EnPamera* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_80BD9CB8(EnPamera* this, GlobalContext* globalCtx) {
|
s32 func_80BD9CB8(EnPamera* this, GlobalContext* globalCtx) {
|
||||||
u32 actionIndex;
|
s32 actionIndex;
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, 0x1E5)) {
|
if (Cutscene_CheckActorAction(globalCtx, 0x1E5)) {
|
||||||
actionIndex = func_800EE200(globalCtx, 0x1E5);
|
actionIndex = Cutscene_GetActorActionIndex(globalCtx, 0x1E5);
|
||||||
if (this->unk_326 != globalCtx->csCtx.npcActions[actionIndex]->unk0) {
|
if (this->unk_326 != globalCtx->csCtx.actorActions[actionIndex]->action) {
|
||||||
this->unk_326 = globalCtx->csCtx.npcActions[actionIndex]->unk0;
|
this->unk_326 = globalCtx->csCtx.actorActions[actionIndex]->action;
|
||||||
|
|
||||||
switch (globalCtx->csCtx.npcActions[actionIndex]->unk0) {
|
switch (globalCtx->csCtx.actorActions[actionIndex]->action) {
|
||||||
case 1:
|
case 1:
|
||||||
func_80BD9E88(this);
|
func_80BD9E88(this);
|
||||||
break;
|
break;
|
||||||
|
|
@ -722,7 +722,7 @@ s32 func_80BD9CB8(EnPamera* this, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func_800EDF24(&this->actor, globalCtx, actionIndex);
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, actionIndex);
|
||||||
this->setupFunc(this, globalCtx);
|
this->setupFunc(this, globalCtx);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -296,7 +296,8 @@ void EnRailSkb_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
this->unk_3F8 = 0;
|
this->unk_3F8 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((globalCtx->sceneNum == SCENE_BOTI) && (gSaveContext.sceneSetupIndex == 1) && (globalCtx->csCtx.unk_12 == 0)) {
|
if ((globalCtx->sceneNum == SCENE_BOTI) && (gSaveContext.sceneSetupIndex == 1) &&
|
||||||
|
(globalCtx->csCtx.currentCsIndex == 0)) {
|
||||||
this->actor.flags |= ACTOR_FLAG_100000;
|
this->actor.flags |= ACTOR_FLAG_100000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -489,11 +490,11 @@ void func_80B716A8(EnRailSkb* this, GlobalContext* globalCtx) {
|
||||||
this->unk_3FE = 1;
|
this->unk_3FE = 1;
|
||||||
func_80B71D8C(this, globalCtx, func_80B723F8);
|
func_80B71D8C(this, globalCtx, func_80B723F8);
|
||||||
if (!func_80B7285C(this)) {
|
if (!func_80B7285C(this)) {
|
||||||
func_801518B0(globalCtx, 0x13EC, &this->actor);
|
Message_StartTextbox(globalCtx, 0x13EC, &this->actor);
|
||||||
this->unk_400 = 0x13EC;
|
this->unk_400 = 0x13EC;
|
||||||
func_80B72830(this, 1);
|
func_80B72830(this, 1);
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x13F5, &this->actor);
|
Message_StartTextbox(globalCtx, 0x13F5, &this->actor);
|
||||||
this->unk_400 = 0x13F5;
|
this->unk_400 = 0x13F5;
|
||||||
}
|
}
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 12);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 12);
|
||||||
|
|
@ -702,34 +703,34 @@ void func_80B71F3C(EnRailSkb* this, GlobalContext* globalCtx) {
|
||||||
if (func_80147624(globalCtx)) {
|
if (func_80147624(globalCtx)) {
|
||||||
switch (this->unk_400) {
|
switch (this->unk_400) {
|
||||||
case 0x13EC:
|
case 0x13EC:
|
||||||
func_801518B0(globalCtx, 0x13ED, &this->actor);
|
Message_StartTextbox(globalCtx, 0x13ED, &this->actor);
|
||||||
this->unk_400 = 0x13ED;
|
this->unk_400 = 0x13ED;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x13ED:
|
case 0x13ED:
|
||||||
func_801518B0(globalCtx, 0x13EE, &this->actor);
|
Message_StartTextbox(globalCtx, 0x13EE, &this->actor);
|
||||||
this->unk_400 = 0x13EE;
|
this->unk_400 = 0x13EE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x13EE:
|
case 0x13EE:
|
||||||
func_801518B0(globalCtx, 0x13EF, &this->actor);
|
Message_StartTextbox(globalCtx, 0x13EF, &this->actor);
|
||||||
this->unk_400 = 0x13EF;
|
this->unk_400 = 0x13EF;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x13EF:
|
case 0x13EF:
|
||||||
case 0x13F5:
|
case 0x13F5:
|
||||||
func_801518B0(globalCtx, 0x13F0, &this->actor);
|
Message_StartTextbox(globalCtx, 0x13F0, &this->actor);
|
||||||
this->unk_400 = 0x13F0;
|
this->unk_400 = 0x13F0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x13F1:
|
case 0x13F1:
|
||||||
func_801518B0(globalCtx, 0x13F2, &this->actor);
|
Message_StartTextbox(globalCtx, 0x13F2, &this->actor);
|
||||||
this->unk_400 = 0x13F2;
|
this->unk_400 = 0x13F2;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x13F2:
|
case 0x13F2:
|
||||||
if (this->unk_3FC == 1) {
|
if (this->unk_3FC == 1) {
|
||||||
func_801518B0(globalCtx, 0x13F4, &this->actor);
|
Message_StartTextbox(globalCtx, 0x13F4, &this->actor);
|
||||||
this->unk_400 = 0x13F4;
|
this->unk_400 = 0x13F4;
|
||||||
} else {
|
} else {
|
||||||
func_801477B4(globalCtx);
|
func_801477B4(globalCtx);
|
||||||
|
|
@ -738,7 +739,7 @@ void func_80B71F3C(EnRailSkb* this, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x13F3:
|
case 0x13F3:
|
||||||
func_801518B0(globalCtx, 0x13F2, &this->actor);
|
Message_StartTextbox(globalCtx, 0x13F2, &this->actor);
|
||||||
this->unk_400 = 0x13F2;
|
this->unk_400 = 0x13F2;
|
||||||
this->unk_3FC = 1;
|
this->unk_3FC = 1;
|
||||||
break;
|
break;
|
||||||
|
|
@ -755,11 +756,11 @@ void func_80B72100(EnRailSkb* this, GlobalContext* globalCtx) {
|
||||||
if (func_80147624(globalCtx)) {
|
if (func_80147624(globalCtx)) {
|
||||||
if (globalCtx->msgCtx.choiceIndex == 0) {
|
if (globalCtx->msgCtx.choiceIndex == 0) {
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
func_801518B0(globalCtx, 0x13F1, &this->actor);
|
Message_StartTextbox(globalCtx, 0x13F1, &this->actor);
|
||||||
this->unk_400 = 0x13F1;
|
this->unk_400 = 0x13F1;
|
||||||
} else {
|
} else {
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
func_801518B0(globalCtx, 0x13F3, &this->actor);
|
Message_StartTextbox(globalCtx, 0x13F3, &this->actor);
|
||||||
this->unk_400 = 0x13F3;
|
this->unk_400 = 0x13F3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -956,7 +956,7 @@ void EnRailgibud_CheckIfTalkingToPlayer(EnRailgibud* this, GlobalContext* global
|
||||||
if ((this->textId == 0) && (this->type == EN_RAILGIBUD_TYPE_GIBDO)) {
|
if ((this->textId == 0) && (this->type == EN_RAILGIBUD_TYPE_GIBDO)) {
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
this->isInvincible = true;
|
this->isInvincible = true;
|
||||||
func_801518B0(globalCtx, 0x13B2, &this->actor);
|
Message_StartTextbox(globalCtx, 0x13B2, &this->actor);
|
||||||
this->textId = 0x13B2;
|
this->textId = 0x13B2;
|
||||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_REDEAD_AIM);
|
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_REDEAD_AIM);
|
||||||
this->actor.speedXZ = 0.0f;
|
this->actor.speedXZ = 0.0f;
|
||||||
|
|
@ -968,7 +968,7 @@ void EnRailgibud_CheckIfTalkingToPlayer(EnRailgibud* this, GlobalContext* global
|
||||||
switch (Message_GetState(&globalCtx->msgCtx)) {
|
switch (Message_GetState(&globalCtx->msgCtx)) {
|
||||||
case 5:
|
case 5:
|
||||||
if (func_80147624(globalCtx)) {
|
if (func_80147624(globalCtx)) {
|
||||||
func_801518B0(globalCtx, 0x13B3, &this->actor);
|
Message_StartTextbox(globalCtx, 0x13B3, &this->actor);
|
||||||
this->textId = 0x13B3;
|
this->textId = 0x13B3;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -1123,27 +1123,27 @@ void EnRailgibud_InitCutsceneGibdo(EnRailgibud* this, GlobalContext* globalCtx)
|
||||||
void EnRailgibud_InitActorActionCommand(EnRailgibud* this) {
|
void EnRailgibud_InitActorActionCommand(EnRailgibud* this) {
|
||||||
switch (ENRAILGIBUD_GET_CUTSCENE_TYPE(&this->actor)) {
|
switch (ENRAILGIBUD_GET_CUTSCENE_TYPE(&this->actor)) {
|
||||||
case 1:
|
case 1:
|
||||||
this->actorActionCommand = 0x207;
|
this->actorActionCommand = 519;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
this->actorActionCommand = 0x208;
|
this->actorActionCommand = 520;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
this->actorActionCommand = 0x209;
|
this->actorActionCommand = 521;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 4:
|
case 4:
|
||||||
this->actorActionCommand = 0x20A;
|
this->actorActionCommand = 522;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 5:
|
case 5:
|
||||||
this->actorActionCommand = 0x20B;
|
this->actorActionCommand = 523;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
this->actorActionCommand = 0x207;
|
this->actorActionCommand = 519;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1171,13 +1171,13 @@ void EnRailgibud_SinkIntoGround(EnRailgibud* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 EnRailgibud_PerformCutsceneActions(EnRailgibud* this, GlobalContext* globalCtx) {
|
s32 EnRailgibud_PerformCutsceneActions(EnRailgibud* this, GlobalContext* globalCtx) {
|
||||||
u32 actionIndex;
|
s32 actionIndex;
|
||||||
|
|
||||||
if (func_800EE29C(globalCtx, this->actorActionCommand)) {
|
if (Cutscene_CheckActorAction(globalCtx, this->actorActionCommand)) {
|
||||||
actionIndex = func_800EE200(globalCtx, this->actorActionCommand);
|
actionIndex = Cutscene_GetActorActionIndex(globalCtx, this->actorActionCommand);
|
||||||
if (this->csAction != globalCtx->csCtx.npcActions[actionIndex]->unk0) {
|
if (this->csAction != globalCtx->csCtx.actorActions[actionIndex]->action) {
|
||||||
this->csAction = globalCtx->csCtx.npcActions[actionIndex]->unk0;
|
this->csAction = globalCtx->csCtx.actorActions[actionIndex]->action;
|
||||||
switch (globalCtx->csCtx.npcActions[actionIndex]->unk0) {
|
switch (globalCtx->csCtx.actorActions[actionIndex]->action) {
|
||||||
case 1:
|
case 1:
|
||||||
this->cutsceneAnimationIndex = EN_RAILGIBUD_ANIMATION_IDLE;
|
this->cutsceneAnimationIndex = EN_RAILGIBUD_ANIMATION_IDLE;
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, EN_RAILGIBUD_ANIMATION_IDLE);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, EN_RAILGIBUD_ANIMATION_IDLE);
|
||||||
|
|
@ -1236,7 +1236,7 @@ s32 EnRailgibud_PerformCutsceneActions(EnRailgibud* this, GlobalContext* globalC
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
func_800EDF24(&this->actor, globalCtx, actionIndex);
|
Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, actionIndex);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -313,7 +313,7 @@ void func_808FA4F4(EnRr* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sp34 && (Message_GetState(&globalCtx->msgCtx) == 0)) {
|
if (sp34 && (Message_GetState(&globalCtx->msgCtx) == 0)) {
|
||||||
func_801518B0(globalCtx, 0xF6, NULL);
|
Message_StartTextbox(globalCtx, 0xF6, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this->actor.params == ENRR_0) {
|
if (this->actor.params == ENRR_0) {
|
||||||
|
|
|
||||||
|
|
@ -297,7 +297,7 @@ void func_80BCB52C(EnScopenuts* this, GlobalContext* globalCtx) {
|
||||||
this->actor.world.rot.y = this->actor.shape.rot.y;
|
this->actor.world.rot.y = this->actor.shape.rot.y;
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
this->unk_33C = func_80BCAF0C(this);
|
this->unk_33C = func_80BCAF0C(this);
|
||||||
func_801518B0(globalCtx, this->unk_33C, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_33C, &this->actor);
|
||||||
this->actionFunc = func_80BCB6D0;
|
this->actionFunc = func_80BCB6D0;
|
||||||
} else if (((this->actor.xzDistToPlayer < 100.0f) &&
|
} else if (((this->actor.xzDistToPlayer < 100.0f) &&
|
||||||
(((this->actor.playerHeightRel < 50.0f) && (this->actor.playerHeightRel > -50.0f)) ? true : false)) ||
|
(((this->actor.playerHeightRel < 50.0f) && (this->actor.playerHeightRel > -50.0f)) ? true : false)) ||
|
||||||
|
|
@ -327,7 +327,7 @@ void func_80BCB6D0(EnScopenuts* this, GlobalContext* globalCtx) {
|
||||||
this->actionFunc = func_80BCBA00;
|
this->actionFunc = func_80BCBA00;
|
||||||
} else {
|
} else {
|
||||||
this->unk_33C = func_80BCAF0C(this);
|
this->unk_33C = func_80BCAF0C(this);
|
||||||
func_801518B0(globalCtx, this->unk_33C, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_33C, &this->actor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (temp_v0 == 4) {
|
} else if (temp_v0 == 4) {
|
||||||
|
|
@ -338,7 +338,7 @@ void func_80BCB6D0(EnScopenuts* this, GlobalContext* globalCtx) {
|
||||||
play_sound(NA_SE_SY_ERROR);
|
play_sound(NA_SE_SY_ERROR);
|
||||||
this->unk_33C = 0x1636;
|
this->unk_33C = 0x1636;
|
||||||
this->unk_328 |= 1;
|
this->unk_328 |= 1;
|
||||||
func_801518B0(globalCtx, this->unk_33C, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_33C, &this->actor);
|
||||||
} else {
|
} else {
|
||||||
func_8019F208();
|
func_8019F208();
|
||||||
globalCtx->msgCtx.msgMode = 0x43;
|
globalCtx->msgCtx.msgMode = 0x43;
|
||||||
|
|
@ -355,7 +355,7 @@ void func_80BCB6D0(EnScopenuts* this, GlobalContext* globalCtx) {
|
||||||
this->unk_33C = 0x1635;
|
this->unk_33C = 0x1635;
|
||||||
this->unk_328 |= 1;
|
this->unk_328 |= 1;
|
||||||
}
|
}
|
||||||
func_801518B0(globalCtx, this->unk_33C, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_33C, &this->actor);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -379,7 +379,7 @@ void func_80BCB980(EnScopenuts* this, GlobalContext* globalCtx) {
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
this->unk_33C = 0x1637;
|
this->unk_33C = 0x1637;
|
||||||
this->unk_328 |= 1;
|
this->unk_328 |= 1;
|
||||||
func_801518B0(globalCtx, this->unk_33C, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_33C, &this->actor);
|
||||||
this->actionFunc = func_80BCB6D0;
|
this->actionFunc = func_80BCB6D0;
|
||||||
} else {
|
} else {
|
||||||
func_800B85E0(&this->actor, globalCtx, 400.0f, -1);
|
func_800B85E0(&this->actor, globalCtx, 400.0f, -1);
|
||||||
|
|
|
||||||
|
|
@ -350,27 +350,27 @@ void func_80ADB544(EnSellnuts* this, GlobalContext* globalCtx) {
|
||||||
case 0x60E:
|
case 0x60E:
|
||||||
gSaveContext.weekEventReg[17] |= 0x20;
|
gSaveContext.weekEventReg[17] |= 0x20;
|
||||||
gSaveContext.weekEventReg[86] |= 4;
|
gSaveContext.weekEventReg[86] |= 4;
|
||||||
func_801518B0(globalCtx, this->unk_340, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_340, &this->actor);
|
||||||
this->actionFunc = func_80ADB0D8;
|
this->actionFunc = func_80ADB0D8;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x628:
|
case 0x628:
|
||||||
gSaveContext.weekEventReg[77] |= 0x40;
|
gSaveContext.weekEventReg[77] |= 0x40;
|
||||||
gSaveContext.weekEventReg[86] |= 4;
|
gSaveContext.weekEventReg[86] |= 4;
|
||||||
func_801518B0(globalCtx, this->unk_340, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_340, &this->actor);
|
||||||
this->actionFunc = func_80ADB0D8;
|
this->actionFunc = func_80ADB0D8;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x614:
|
case 0x614:
|
||||||
gSaveContext.weekEventReg[17] |= 0x40;
|
gSaveContext.weekEventReg[17] |= 0x40;
|
||||||
func_801518B0(globalCtx, this->unk_340, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_340, &this->actor);
|
||||||
this->actionFunc = func_80ADB0D8;
|
this->actionFunc = func_80ADB0D8;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x610:
|
case 0x610:
|
||||||
case 0x616:
|
case 0x616:
|
||||||
case 0x629:
|
case 0x629:
|
||||||
func_801518B0(globalCtx, this->unk_340, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_340, &this->actor);
|
||||||
this->actionFunc = func_80ADB0D8;
|
this->actionFunc = func_80ADB0D8;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -488,7 +488,7 @@ void func_80ADBBEC(EnSellnuts* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
void func_80ADBC60(EnSellnuts* this, GlobalContext* globalCtx) {
|
void func_80ADBC60(EnSellnuts* this, GlobalContext* globalCtx) {
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
func_801518B0(globalCtx, this->unk_340, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_340, &this->actor);
|
||||||
this->actionFunc = func_80ADB0D8;
|
this->actionFunc = func_80ADB0D8;
|
||||||
} else {
|
} else {
|
||||||
func_800B85E0(&this->actor, globalCtx, 400.0f, EXCH_ITEM_MINUS1);
|
func_800B85E0(&this->actor, globalCtx, 400.0f, EXCH_ITEM_MINUS1);
|
||||||
|
|
@ -699,7 +699,7 @@ void func_80ADC5A4(EnSellnuts* this, GlobalContext* globalCtx) {
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
player->linearVelocity = 0.0f;
|
player->linearVelocity = 0.0f;
|
||||||
this->actor.flags &= ~ACTOR_FLAG_10000;
|
this->actor.flags &= ~ACTOR_FLAG_10000;
|
||||||
func_801518B0(globalCtx, this->unk_340, &this->actor);
|
Message_StartTextbox(globalCtx, this->unk_340, &this->actor);
|
||||||
if (this->unk_340 == 0x625) {
|
if (this->unk_340 == 0x625) {
|
||||||
this->unk_338 |= 1;
|
this->unk_338 |= 1;
|
||||||
this->actor.draw = EnSellnuts_Draw;
|
this->actor.draw = EnSellnuts_Draw;
|
||||||
|
|
|
||||||
|
|
@ -230,7 +230,8 @@ void EnSkb_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
this->unk_3D6 = ENSKB_GET_F0(&this->actor);
|
this->unk_3D6 = ENSKB_GET_F0(&this->actor);
|
||||||
this->actor.floorHeight = this->actor.world.pos.y;
|
this->actor.floorHeight = this->actor.world.pos.y;
|
||||||
|
|
||||||
if ((globalCtx->sceneNum == SCENE_BOTI) && (gSaveContext.sceneSetupIndex == 1) && (globalCtx->csCtx.unk_12 == 0)) {
|
if ((globalCtx->sceneNum == SCENE_BOTI) && (gSaveContext.sceneSetupIndex == 1) &&
|
||||||
|
(globalCtx->csCtx.currentCsIndex == 0)) {
|
||||||
this->actor.flags |= ACTOR_FLAG_100000;
|
this->actor.flags |= ACTOR_FLAG_100000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -319,9 +320,9 @@ void func_80994F7C(EnSkb* this, GlobalContext* globalCtx) {
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
this->unk_3E2 = 1;
|
this->unk_3E2 = 1;
|
||||||
if (this->unk_3E0 == 1) {
|
if (this->unk_3E0 == 1) {
|
||||||
func_801518B0(globalCtx, 0x13F8, &this->actor);
|
Message_StartTextbox(globalCtx, 0x13F8, &this->actor);
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x13F6, &this->actor);
|
Message_StartTextbox(globalCtx, 0x13F6, &this->actor);
|
||||||
this->unk_3E0 = 1;
|
this->unk_3E0 = 1;
|
||||||
}
|
}
|
||||||
this->actionFunc = func_80995190;
|
this->actionFunc = func_80995190;
|
||||||
|
|
@ -340,12 +341,12 @@ void func_80995068(EnSkb* this, GlobalContext* globalCtx) {
|
||||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||||
this->unk_3E2 = 1;
|
this->unk_3E2 = 1;
|
||||||
if (this->unk_3E0 == 1) {
|
if (this->unk_3E0 == 1) {
|
||||||
func_801518B0(globalCtx, 0x13F8, &this->actor);
|
Message_StartTextbox(globalCtx, 0x13F8, &this->actor);
|
||||||
if (this->unk_3DE == 2) {
|
if (this->unk_3DE == 2) {
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 11);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 11);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
func_801518B0(globalCtx, 0x13F6, &this->actor);
|
Message_StartTextbox(globalCtx, 0x13F6, &this->actor);
|
||||||
this->unk_3E0 = 1;
|
this->unk_3E0 = 1;
|
||||||
}
|
}
|
||||||
this->actionFunc = func_80995190;
|
this->actionFunc = func_80995190;
|
||||||
|
|
@ -372,7 +373,7 @@ void func_80995190(EnSkb* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
case 5:
|
case 5:
|
||||||
if (func_80147624(globalCtx)) {
|
if (func_80147624(globalCtx)) {
|
||||||
func_801518B0(globalCtx, 0x13F7, &this->actor);
|
Message_StartTextbox(globalCtx, 0x13F7, &this->actor);
|
||||||
if (this->unk_3DE == 2) {
|
if (this->unk_3DE == 2) {
|
||||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 11);
|
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 11);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue