From 77cfd399d0dc4124c72b53f6385f063e601145ed Mon Sep 17 00:00:00 2001 From: Anghelo Carvajal Date: Fri, 4 Mar 2022 21:14:52 -0300 Subject: [PATCH] `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> --- Makefile | 8 +- .../scenes/Z2_LOST_WOODS/Z2_LOST_WOODS.xml | 2 +- include/command_macros_base.h | 4 +- include/functions.h | 109 +- include/macros.h | 13 +- include/regs.h | 4 +- include/unk.h | 4 +- include/variables.h | 23 +- include/z64.h | 59 +- include/z64actor.h | 2 +- include/z64cutscene.h | 128 +- include/z64cutscene_commands.h | 568 +++++- include/z64item.h | 2 +- include/z64light.h | 2 +- include/z64scene.h | 16 +- spec | 1 - src/boot_O2_g3/CIC6105.c | 1 - src/boot_O2_g3/boot_main.c | 1 - src/boot_O2_g3/idle.c | 1 - src/code/audio/code_8019AF00.c | 2 +- src/code/z_demo.c | 1677 ++++++++++++++++- src/code/z_kankyo.c | 4 +- src/code/z_message.c | 2 +- src/code/z_room.c | 2 +- src/code/z_scene_proc.c | 1 - src/libultra/flash/osFlash.c | 15 +- .../ovl_Bg_Ctower_Gear/z_bg_ctower_gear.c | 4 +- .../ovl_Bg_Haka_Curtain/z_bg_haka_curtain.c | 6 +- .../actors/ovl_Bg_Iknv_Obj/z_bg_iknv_obj.c | 4 +- src/overlays/actors/ovl_Boss_02/z_boss_02.c | 26 +- src/overlays/actors/ovl_Boss_04/z_boss_04.c | 6 +- src/overlays/actors/ovl_Boss_06/z_boss_06.c | 18 +- .../actors/ovl_Dm_Char00/z_dm_char00.c | 55 +- .../actors/ovl_Dm_Char01/z_dm_char01.c | 11 +- .../actors/ovl_Dm_Char05/z_dm_char05.c | 157 +- src/overlays/actors/ovl_Dm_Nb/z_dm_nb.c | 10 +- src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c | 57 +- .../actors/ovl_Door_Warp1/z_door_warp1.c | 43 +- .../ovl_En_Akindonuts/z_en_akindonuts.c | 16 +- .../actors/ovl_En_Aob_01/z_en_aob_01.c | 16 +- src/overlays/actors/ovl_En_Baba/z_en_baba.c | 4 +- .../actors/ovl_En_Bba_01/z_en_bba_01.c | 2 +- .../actors/ovl_En_Bigslime/z_en_bigslime.c | 18 +- .../actors/ovl_En_Bji_01/z_en_bji_01.c | 4 +- src/overlays/actors/ovl_En_Bom/z_en_bom.c | 32 +- .../ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c | 10 +- .../actors/ovl_En_Bomjimb/z_en_bomjimb.c | 6 +- .../actors/ovl_En_Clear_Tag/z_en_clear_tag.c | 6 +- .../actors/ovl_En_Cne_01/z_en_cne_01.c | 2 +- src/overlays/actors/ovl_En_Dai/z_en_dai.c | 11 +- src/overlays/actors/ovl_En_Dg/z_en_dg.c | 10 +- .../actors/ovl_En_Dinofos/z_en_dinofos.c | 10 +- src/overlays/actors/ovl_En_Dnk/z_en_dnk.c | 4 +- src/overlays/actors/ovl_En_Dno/z_en_dno.c | 40 +- src/overlays/actors/ovl_En_Dno/z_en_dno.h | 2 +- src/overlays/actors/ovl_En_Dnp/z_en_dnp.c | 12 +- src/overlays/actors/ovl_En_Dnq/z_en_dnq.c | 12 +- src/overlays/actors/ovl_En_Dns/z_en_dns.c | 18 +- src/overlays/actors/ovl_En_Elf/z_en_elf.c | 44 +- .../actors/ovl_En_Elforg/z_en_elforg.c | 4 +- src/overlays/actors/ovl_En_Fall/z_en_fall.c | 60 +- .../actors/ovl_En_Fishing/z_en_fishing.c | 62 +- src/overlays/actors/ovl_En_Fsn/z_en_fsn.c | 42 +- src/overlays/actors/ovl_En_Fu/z_en_fu.c | 134 +- src/overlays/actors/ovl_En_Gb2/z_en_gb2.c | 32 +- src/overlays/actors/ovl_En_Geg/z_en_geg.c | 16 +- src/overlays/actors/ovl_En_Gg/z_en_gg.c | 16 +- src/overlays/actors/ovl_En_Giant/z_en_giant.c | 39 +- .../actors/ovl_En_Ginko_Man/z_en_ginko_man.c | 124 +- src/overlays/actors/ovl_En_GirlA/z_en_girla.h | 2 +- src/overlays/actors/ovl_En_Gk/z_en_gk.c | 34 +- src/overlays/actors/ovl_En_Gm/z_en_gm.c | 4 +- src/overlays/actors/ovl_En_Go/z_en_go.c | 28 +- src/overlays/actors/ovl_En_Gs/z_en_gs.c | 7 +- src/overlays/actors/ovl_En_Hg/z_en_hg.c | 21 +- src/overlays/actors/ovl_En_Hgo/z_en_hgo.c | 48 +- .../actors/ovl_En_Hint_Skb/z_en_hint_skb.c | 32 +- src/overlays/actors/ovl_En_In/z_en_in.c | 2 +- .../actors/ovl_En_Invadepoh/z_en_invadepoh.c | 2 +- src/overlays/actors/ovl_En_Jg/z_en_jg.c | 24 +- .../actors/ovl_En_Kakasi/z_en_kakasi.c | 4 +- .../actors/ovl_En_Kendo_Js/z_en_kendo_js.c | 46 +- src/overlays/actors/ovl_En_Kgy/z_en_kgy.c | 2 +- src/overlays/actors/ovl_En_Ma4/z_en_ma4.c | 130 +- .../actors/ovl_En_Ma_Yto/z_en_ma_yto.c | 140 +- .../actors/ovl_En_Ma_Yts/z_en_ma_yts.c | 44 +- src/overlays/actors/ovl_En_Mag/z_en_mag.c | 2 +- .../actors/ovl_En_Minifrog/z_en_minifrog.c | 10 +- src/overlays/actors/ovl_En_Mm2/z_en_mm2.c | 2 +- src/overlays/actors/ovl_En_Nnh/z_en_nnh.c | 2 +- src/overlays/actors/ovl_En_Osn/z_en_osn.c | 18 +- src/overlays/actors/ovl_En_Ossan/z_en_ossan.c | 8 +- src/overlays/actors/ovl_En_Ot/z_en_ot.c | 6 +- .../actors/ovl_En_Pamera/z_en_pamera.c | 32 +- .../actors/ovl_En_Rail_Skb/z_en_rail_skb.c | 25 +- .../actors/ovl_En_Railgibud/z_en_railgibud.c | 30 +- src/overlays/actors/ovl_En_Rr/z_en_rr.c | 2 +- .../actors/ovl_En_Scopenuts/z_en_scopenuts.c | 10 +- .../actors/ovl_En_Sellnuts/z_en_sellnuts.c | 12 +- src/overlays/actors/ovl_En_Skb/z_en_skb.c | 13 +- src/overlays/actors/ovl_En_Sob1/z_en_sob1.c | 8 +- src/overlays/actors/ovl_En_Ssh/z_en_ssh.c | 2 +- src/overlays/actors/ovl_En_Sth/z_en_sth.c | 10 +- .../actors/ovl_En_Suttari/z_en_suttari.c | 14 +- .../ovl_En_Syateki_Man/z_en_syateki_man.c | 132 +- .../ovl_En_Talk_Gibud/z_en_talk_gibud.c | 26 +- .../actors/ovl_En_Thiefbird/z_en_thiefbird.c | 8 +- src/overlays/actors/ovl_En_Tk/z_en_tk.c | 28 +- src/overlays/actors/ovl_En_Toto/z_en_toto.c | 15 +- src/overlays/actors/ovl_En_Trt/z_en_trt.c | 24 +- src/overlays/actors/ovl_En_Trt2/z_en_trt2.c | 10 +- .../ovl_En_Weather_Tag/z_en_weather_tag.c | 20 +- .../actors/ovl_En_Wiz_Fire/z_en_wiz_fire.c | 52 +- src/overlays/actors/ovl_En_Yb/z_en_yb.c | 8 +- src/overlays/actors/ovl_En_Zob/z_en_zob.c | 41 +- src/overlays/actors/ovl_En_Zog/z_en_zog.c | 10 +- .../actors/ovl_En_Zoraegg/z_en_zoraegg.c | 55 +- .../actors/ovl_En_Zoraegg/z_en_zoraegg.h | 2 +- src/overlays/actors/ovl_En_Zos/z_en_zos.c | 35 +- src/overlays/actors/ovl_En_Zot/z_en_zot.c | 26 +- src/overlays/actors/ovl_En_Zov/z_en_zov.c | 21 +- src/overlays/actors/ovl_En_Zow/z_en_zow.c | 2 +- .../actors/ovl_Obj_Ghaka/z_obj_ghaka.c | 4 +- .../actors/ovl_Obj_Hgdoor/z_obj_hgdoor.c | 12 +- .../actors/ovl_Obj_Jg_Gakki/z_obj_jg_gakki.c | 2 +- .../ovl_Obj_Moon_Stone/z_obj_moon_stone.c | 2 +- .../actors/ovl_Obj_Mu_Pict/z_obj_mu_pict.c | 22 +- .../ovl_Obj_Tokei_Step/z_obj_tokei_step.c | 9 +- .../actors/ovl_Obj_Tokeidai/z_obj_tokeidai.c | 36 +- .../ovl_Object_Kankyo/z_object_kankyo.c | 4 +- .../gamestates/ovl_daytelop/z_daytelop.h | 4 +- tools/actorfixer.py | 28 +- tools/disasm/files.txt | 1 + tools/disasm/functions.txt | 76 +- tools/disasm/variables.txt | 12 +- tools/sizes/code_functions.csv | 76 +- tools/warnings_count/.gitignore | 1 + 137 files changed, 3837 insertions(+), 1599 deletions(-) diff --git a/Makefile b/Makefile index 98aa5b1b47..c0569cbe13 100644 --- a/Makefile +++ b/Makefile @@ -133,6 +133,8 @@ ASM_DIRS := $(shell find asm -type d -not -path "asm/non_matchings*") $(shell fi ## Assets binaries (PNGs, JPGs, etc) 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_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) \ $(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/') \ $(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\".*//') @@ -174,7 +176,7 @@ build/src/libultra/flash/%.o: MIPS_VERSION := -mips1 build/src/code/audio/%.o: OPTFLAGS := -O2 -build/assets/%.o: OPTFLAGS := +build/assets/%.o: OPTFLAGS := -O1 # file flags 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/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 ### uncompressed: $(ROM) diff --git a/assets/xml/scenes/Z2_LOST_WOODS/Z2_LOST_WOODS.xml b/assets/xml/scenes/Z2_LOST_WOODS/Z2_LOST_WOODS.xml index 066cbe10e4..0c41a1b29d 100644 --- a/assets/xml/scenes/Z2_LOST_WOODS/Z2_LOST_WOODS.xml +++ b/assets/xml/scenes/Z2_LOST_WOODS/Z2_LOST_WOODS.xml @@ -1,5 +1,5 @@ - + diff --git a/include/command_macros_base.h b/include/command_macros_base.h index bb5ce16485..4a866c29e7 100644 --- a/include/command_macros_base.h +++ b/include/command_macros_base.h @@ -17,9 +17,9 @@ #define CMD_W(a) (a) #ifdef __GNUC__ -#define CMD_F(a) {.f = (a)} +#define CMD_F(a) .f = (a) #else -#define CMD_F(a) {(a)} +#define CMD_F(a) (a) #endif #define CMD_PTR(a) (uintptr_t)(a) diff --git a/include/functions.h b/include/functions.h index 542a753bb1..40ec3c1de6 100644 --- a/include/functions.h +++ b/include/functions.h @@ -1396,55 +1396,24 @@ DebugDispObject* DebugDisplay_AddObject(f32 posX, f32 posY, f32 posZ, s16 rotX, // void func_800E9DBC(void); // void func_800E9E94(void); void func_800E9F78(GraphicsContext* gfxCtx); + void Cutscene_Init(GlobalContext* globalCtx, CutsceneContext* csCtx); -void func_800EA0D4(GlobalContext* globalCtx, CutsceneContext* csCtx); -void func_800EA0EC(GlobalContext* globalCtx, CutsceneContext* csCtx); -void Cutscene_StepCutscene1(GlobalContext* globalCtx, CutsceneContext* csCtx); -void Cutscene_StepCutscene2(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 Cutscene_Start(GlobalContext* globalCtx, CutsceneContext* csCtx); +void Cutscene_End(GlobalContext* globalCtx, CutsceneContext* csCtx); +void Cutscene_Update1(GlobalContext* globalCtx, CutsceneContext* csCtx); +void Cutscene_Update2(GlobalContext* globalCtx, CutsceneContext* csCtx); void func_800EDBE0(GlobalContext* globalCtx); -void nop_800EDDB0(GlobalContext* globalCtx); -// void func_800EDDBC(void); -void func_800EDDCC(GlobalContext* globalCtx, u32 uParm2); -void func_800EDE34(Actor* actor, GlobalContext* globalCtx, s32 param_3); -void func_800EDF24(Actor* actor, GlobalContext* globalCtx, u32 arg2); -void func_800EDF78(Actor* actor, GlobalContext* globalCtx, s32 iParm3); -void func_800EE0CC(Actor* actor, GlobalContext* globalCtx, s32 iParm3); -s32 func_800EE1D8(GlobalContext* globalCtx); -u32 func_800EE200(GlobalContext* globalCtx, u16 uParm2); -u32 func_800EE29C(GlobalContext* globalCtx, u16 uParm2); -u32 func_800EE2F4(GlobalContext* globalCtx); +void func_800EDDB0(GlobalContext* globalCtx); +void Cutscene_LoadCutsceneData(GlobalContext* globalCtx, u8 csIndex); +void Cutscene_ActorTranslate(Actor* actor, GlobalContext* globalCtx, s32 actorActionIndex); +void Cutscene_ActorTranslateAndYaw(Actor* actor, GlobalContext* globalCtx, s32 actorActionIndex); +void Cutscene_ActorTranslateAndYawSmooth(Actor* actor, GlobalContext* globalCtx, s32 actorActionIndex); +void Cutscene_ActorTranslateXZAndYawSmooth(Actor* actor, GlobalContext* globalCtx, s32 actorActionIndex); +s32 Cutscene_GetSceneSetupIndex(GlobalContext* globalCtx); +s32 Cutscene_GetActorActionIndex(GlobalContext* globalCtx, u16 actorActionCmd); +s32 Cutscene_CheckActorAction(GlobalContext* globalCtx, u16 actorActionCmd); +u8 Cutscene_IsPlaying(GlobalContext* globalCtx); + void GetItem_Draw(GlobalContext* globalCtx, s16 index); void func_800EE364(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_800F2178(s16 arg0); s16 ActorCutscene_GetCurrentCamera(s16 index); -// void func_800F21CC(void); +s16 func_800F21CC(void); s32 func_800F22C4(s16 param_1, Actor* actor); 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); @@ -1546,7 +1515,7 @@ void Font_LoadOrderedFont(Font* font); // void func_800F50D4(void); 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); -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_800F5CD0(void); void func_800F6834(GlobalContext* globalCtx, s32 waterLightsIndex); @@ -1574,7 +1543,7 @@ void func_800FAAB4(GlobalContext* globalCtx, u8 arg1); // 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_800FB010(void); -void func_800FB320(GlobalContext* globalCtx, u8 param_2); +void Environment_AddLightningBolts(GlobalContext* globalCtx, u8 num); // void func_800FB388(void); void func_800FB758(GlobalContext* globalCtx); // void func_800FB9B4(void); @@ -2630,7 +2599,7 @@ u32 Sram_CalcChecksum(u8* data, u32 length); // void Sram_GenerateRandomSaveFields(void); void func_80144890(void); void Sram_InitDebugSave(void); -// void func_80144A94(void); +void func_80144A94(SramContext* sramCtx); // void func_80144E78(void); // void func_8014546C(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 Sram_Alloc(GameState* gameState, SramContext* sramCtx); // void func_80146EBC(SramContext* param_1, UNK_TYPE4 param_2, UNK_TYPE4 param_3); -// void func_80146EE8(void); -// void func_80146F5C(void); +void func_80146EE8(GlobalContext* globalCtx); +void func_80146F5C(GlobalContext* globalCtx); // void func_80147008(void); void func_80147020(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 func_80147520(void); void func_80147564(GlobalContext* globalCtx); -u32 func_80147624(GlobalContext* globalCtx); -u32 func_80147734(GlobalContext* globalCtx); +s32 func_80147624(GlobalContext* globalCtx); +s32 func_80147734(GlobalContext* globalCtx); void func_801477B4(GlobalContext* globalCtx); // 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); @@ -2685,7 +2654,7 @@ void func_8014ADBC(GlobalContext* globalCtx, UNK_PTR puParm2); // void func_80150A84(void); void func_80150D08(GlobalContext* globalCtx, u32 uParm2); // 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_80151A68(GlobalContext* globalCtx, u16 textId); void func_80151BB4(GlobalContext* globalCtx, u32 uParm2); @@ -2739,13 +2708,13 @@ void ShrinkWindow_Destroy(void); void ShrinkWindow_Update(s32 framerateDivisor); void ShrinkWindow_Draw(GraphicsContext* gfxCtx); // void func_80161180(void); -// void func_8016119C(void); +void func_8016119C(Camera* camera, struct_801F4D48* arg1); // void func_8016122C(void); // void func_801612B8(void); -// void func_80161998(void); +s32 func_80161998(UNK_PTR arg0, struct_801F4D48* arg1); // s32 func_80161BAC(void); -// void func_80161BE0(void); -// void func_80161C0C(void); +void func_80161BE0(s16 arg0); +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_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); @@ -2808,7 +2777,7 @@ void func_80165438(UNK_PTR param_1); // void func_80165608(void); // void func_80165630(void); void func_80165658(u32 arg0); -void func_8016566C(u32 arg0); +void func_8016566C(s32 arg0); 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_80165DCC(void); @@ -3616,7 +3585,7 @@ void func_8019C300(s32 arg0); // void func_8019D488(void); // void func_8019D4F8(void); // void func_8019D600(void); -// void func_8019D758(void); +void func_8019D758(void); // void func_8019D864(void); // void func_8019D8B4(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_801A2544(void); // void func_801A257C(void); -// void func_801A25E4(void); +void func_801A25E4(u16 seqId, u8 dayMinusOne); // void func_801A2670(void); // void func_801A2778(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_801A2C20(void); // void func_801A2C44(void); -// void func_801A2C88(void); -// void func_801A2D54(void); +void func_801A2C88(u16 seqId); +void func_801A2D54(u16 seqId); s32 Audio_IsSequencePlaying(u8 seqId); void func_801A2E54(s32 param_1); 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_801A32CC(void); // void func_801A3590(void); -// void func_801A3950(void); +u8 func_801A3950(s32 playerIndex, s32 isChannelIOSet); u8 func_801A39F8(void); // void func_801A3A7C(void); // void func_801A3AC0(void); @@ -3735,7 +3704,7 @@ void func_801A3CD8(s8 param_1); // void func_801A3D98(void); // void func_801A3E38(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_801A3FB4(void); // void func_801A3FFC(UNK_TYPE1 param_1); @@ -3748,16 +3717,16 @@ void audio_setBGM(u32 bgmID); // void func_801A4324(void); // void func_801A4348(void); // void func_801A4380(void); -// void func_801A4428(void); +void func_801A4428(u8 reverbIndex); void Audio_PreNMI(void); // void func_801A44C4(void); // void func_801A44D4(void); s32 func_801A46F8(void); void func_801A4748(Vec3f* pos, u16 sfxId); 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_801A4A28(s32 arg0); +void func_801A4A28(u8 natureSeqId); // void func_801A4B80(void); void func_801A4C30(void); // void func_801A4C54(void); diff --git a/include/macros.h b/include/macros.h index c5a3a061db..d986dd78ec 100644 --- a/include/macros.h +++ b/include/macros.h @@ -1,5 +1,5 @@ -#ifndef _MACROS_H_ -#define _MACROS_H_ +#ifndef MACROS_H +#define MACROS_H #include "libc/stdint.h" #include "ultra64/convert.h" @@ -49,9 +49,16 @@ #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 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 AMMO(item) gSaveContext.inventory.ammo[SLOT(item)] #define INV_CONTENT(item) gSaveContext.inventory.items[SLOT(item)] diff --git a/include/regs.h b/include/regs.h index e39e53d69b..9942242a7d 100644 --- a/include/regs.h +++ b/include/regs.h @@ -1,8 +1,8 @@ /* Header taken as placeholder from OoT sister project */ /* Confirm as needed */ -#ifndef _REGS_H_ -#define _REGS_H_ +#ifndef REGS_H +#define REGS_H #define REG_GROUPS 29 // number of REG groups, i.e. REG, SREG, OREG, etc. #define REG_PAGES 6 diff --git a/include/unk.h b/include/unk.h index eb31a3874a..0510fcd6a8 100644 --- a/include/unk.h +++ b/include/unk.h @@ -1,5 +1,5 @@ -#ifndef _UNK_H_ -#define _UNK_H_ +#ifndef UNK_H +#define UNK_H #include "PR/ultratypes.h" diff --git a/include/variables.h b/include/variables.h index adbc8eb105..9ddad27f90 100644 --- a/include/variables.h +++ b/include/variables.h @@ -869,14 +869,9 @@ extern EffectShieldParticleInit shieldParticleInitWood; // extern UNK_TYPE1 D_801BB0DC; // extern UNK_TYPE2 D_801BB0FC; // extern UNK_TYPE1 D_801BB100; -// extern UNK_TYPE2 D_801BB124; -// extern UNK_TYPE2 D_801BB128; + 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 UNK_TYPE1 D_801BC210; extern Gfx D_801BC240[9]; @@ -3193,15 +3188,11 @@ extern GameInfo* gGameInfo; // extern UNK_TYPE1 D_801F3F80; // extern UNK_TYPE1 D_801F3F83; // extern UNK_TYPE1 D_801F48C8; -// extern UNK_TYPE1 D_801F4D40; -// extern UNK_TYPE2 D_801F4D42; -// extern UNK_TYPE1 D_801F4D48; -// 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 UNK_TYPE D_801F4DDC; +extern u8 D_801F4DE0; extern s16 D_801F4DE2; + extern ActorCutscene* actorCutscenes; extern s16 actorCutsceneCount; extern u8 actorCutsceneWaiting[16]; @@ -3220,7 +3211,7 @@ extern Vec3f D_801F4E50; extern f32 D_801F4E5C; extern f32 D_801F4E60; extern s16 D_801F4E64; -// extern UNK_TYPE1 D_801F4E68; +extern u8 D_801F4E68; extern f32 D_801F4E70; // extern UNK_TYPE1 D_801F4E74; extern u16 D_801F4E78; diff --git a/include/z64.h b/include/z64.h index 44d4f6ab4c..4c875ca7ec 100644 --- a/include/z64.h +++ b/include/z64.h @@ -1,5 +1,5 @@ -#ifndef _Z64_H_ -#define _Z64_H_ +#ifndef Z64_H +#define Z64_H #include "libc/math.h" #include "libc/stdarg.h" @@ -108,24 +108,6 @@ typedef struct { /* 0x8 */ CameraModeParams* modes; } 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 { /* 0x0 */ s16 x; /* 0x2 */ s16 y; @@ -740,7 +722,7 @@ typedef struct { /* 0x80 */ OSMesg unk_80; /* 0x84 */ f32 unk_84; /* 0x88 */ f32 unk_88; - /* 0x8C */ LightSettings2 unk_8C; + /* 0x8C */ EnvLightSettings lightSettings; /* 0xA8 */ f32 unk_A8; /* 0xAC */ Vec3s windDir; /* 0xB4 */ f32 windSpeed; @@ -749,18 +731,18 @@ typedef struct { /* 0xC0 */ u8 unk_C0; /* 0xC1 */ u8 unk_C1; /* 0xC2 */ u8 unk_C2; - /* 0xC3 */ u8 unk_C3; + /* 0xC3 */ u8 lightSettingOverride; /* 0xC4 */ LightSettings unk_C4; /* 0xDA */ u16 unk_DA; - /* 0xDC */ f32 unk_DC; + /* 0xDC */ f32 lightBlend; /* 0xE0 */ u8 unk_E0; /* 0xE1 */ u8 unk_E1; /* 0xE2 */ s8 unk_E2; /* 0xE3 */ u8 unk_E3; // modified by unused func in EnWeatherTag /* 0xE4 */ u8 unk_E4; - /* 0xE5 */ u8 unk_E5; - /* 0xE6 */ u8 unk_E6[4]; - /* 0xEA */ u8 unk_EA; + /* 0xE5 */ u8 fillScreen; + /* 0xE6 */ u8 screenFillColor[4]; + /* 0xEA */ u8 sandstormState; /* 0xEB */ u8 unk_EB; /* 0xEC */ u8 unk_EC; /* 0xED */ u8 unk_ED; @@ -995,8 +977,6 @@ typedef void (*ColChkApplyFunc)(GlobalContext*, CollisionCheckContext*, Collider typedef void (*ColChkVsFunc)(GlobalContext*, CollisionCheckContext*, Collider*, Collider*); 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(*room_draw_func)(GlobalContext* globalCtx, Room* room, u32 flags); @@ -1512,4 +1492,27 @@ enum fram_mode { 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 diff --git a/include/z64actor.h b/include/z64actor.h index 9c0aa7e7db..7a7556ed00 100644 --- a/include/z64actor.h +++ b/include/z64actor.h @@ -1160,7 +1160,7 @@ typedef enum { /* 0x03 */ CLEAR_TAG_SMALL_LIGHT_RAYS, /* 0x04 */ CLEAR_TAG_LARGE_LIGHT_RAYS, /* 0x23 */ CLEAR_TAG_SPLASH = 35, - /* 0xC8 */ CLEAR_TAG_SMOKE = 200, + /* 0xC8 */ CLEAR_TAG_SMOKE = 200 } ClearTagType; #endif diff --git a/include/z64cutscene.h b/include/z64cutscene.h index 0f2a6e6784..84150a527c 100644 --- a/include/z64cutscene.h +++ b/include/z64cutscene.h @@ -1,5 +1,5 @@ -#ifndef _Z64CUTSCENE_H_ -#define _Z64CUTSCENE_H_ +#ifndef Z64CUTSCENE_H +#define Z64CUTSCENE_H #include "ultra64.h" #include "unk.h" @@ -26,21 +26,24 @@ typedef struct { } CutsceneCameraMove; // size = 0xC typedef struct { - /* 0x00 */ u16 unk0; // action; // "dousa" + /* 0x00 */ u16 action; // "dousa" /* 0x02 */ u16 startFrame; /* 0x04 */ u16 endFrame; - /* 0x06 */ u16 unk6; - /* 0x08 */ u16 unk8; - /* 0x0C */ Vec3i unk0C; - /* 0x18 */ Vec3i unk18; - /* 0x24 */ UNK_TYPE1 unk24[0xC]; + union { + /* 0x06 */ Vec3s rot; + /* 0x06 */ Vec3us urot; + }; + /* 0x0C */ Vec3i startPos; + /* 0x18 */ Vec3i endPos; + /* 0x24 */ Vec3f normal; } CsCmdActorAction; // size = 0x30 typedef struct { /* 0x0 */ u16 base; /* 0x2 */ u16 startFrame; /* 0x4 */ u16 endFrame; -} CsCmdBase; // size = 0x6 + /* 0x6 */ u16 unk_06; +} CsCmdBase; // size = 0x8 typedef struct { /* 0x0 */ u16 unk0; @@ -48,25 +51,30 @@ typedef struct { /* 0x4 */ u16 endFrame; /* 0x6 */ u8 hour; /* 0x7 */ u8 minute; -} CsCmdDayTime; // size = 0x8 + /* 0x8 */ UNK_TYPE1 unk_08[0x04]; +} CsCmdDayTime; // size = 0xC typedef struct { /* 0x0 */ u16 setting; /* 0x2 */ u16 startFrame; /* 0x4 */ u16 endFrame; -} CsCmdEnvLighting; // size = 0x6 + /* 0x6 */ u16 unk_06; +} CsCmdEnvLighting; // size = 0x8 typedef struct { /* 0x0 */ u16 sequence; /* 0x2 */ u16 startFrame; /* 0x4 */ u16 endFrame; -} CsCmdMusicChange; // size = 0x6 + /* 0x6 */ u16 unk_06; +} CsCmdSequenceChange; // size = 0x8 typedef struct { /* 0x0 */ u16 type; /* 0x2 */ u16 startFrame; /* 0x4 */ u16 endFrame; -} CsCmdMusicFade; // size = 0x6 + /* 0x6 */ u16 unk_06; + /* 0x8 */ u32 unk_08; +} CsCmdSequenceFade; // size = 0xC typedef struct { /* 0x0 */ u16 base; @@ -77,30 +85,77 @@ typedef struct { /* 0xA */ u16 textId2; } 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 { - /* 0x0 */ u16 unk0; + /* 0x0 */ u16 type; /* 0x2 */ u16 startFrame; /* 0x4 */ u16 endFrame; /* 0x6 */ u8 unk6; /* 0x7 */ u8 unk7; /* 0x8 */ u8 unk8; /* 0x9 */ UNK_TYPE1 pad9[0x3]; -} CsCmdUnk190; // size = 0xC - -typedef struct { - /* 0x0 */ UNK_TYPE4 unk0; - /* 0x4 */ UNK_TYPE4 unk4; -} CsCmdUnk5A; // size = 0x8 +} CsCmdRumble; // size = 0xC typedef struct { /* 0x0 */ u16 unk0; /* 0x2 */ u16 startFrame; /* 0x4 */ u16 endFrame; - /* 0x6 */ u8 unk6; - /* 0x7 */ u8 unk7; - /* 0x8 */ u8 unk8; + /* 0x6 */ Color_RGB8 color; /* 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 { s32 i; @@ -109,4 +164,29 @@ typedef union CutsceneData { s8 b[4]; } 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 diff --git a/include/z64cutscene_commands.h b/include/z64cutscene_commands.h index 99000eec26..b487b49b18 100644 --- a/include/z64cutscene_commands.h +++ b/include/z64cutscene_commands.h @@ -1,5 +1,5 @@ -#ifndef _Z64CUTSCENE_COMMANDS_H_ -#define _Z64CUTSCENE_COMMANDS_H_ +#ifndef Z64CUTSCENE_COMMANDS_H +#define Z64CUTSCENE_COMMANDS_H #include "command_macros_base.h" #include "z64cutscene.h" @@ -11,11 +11,571 @@ * eeeeeeee nnnnnnnn * 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 */ -#define CS_END() 0xFFFFFFFF +#define CS_END() { CMD_W(0xFFFFFFFF) } #endif diff --git a/include/z64item.h b/include/z64item.h index 191e5c8de6..ebb2a617d2 100644 --- a/include/z64item.h +++ b/include/z64item.h @@ -43,7 +43,7 @@ typedef enum { /* 0x11 */ QUEST_SONG_SUN, /* 0x12 */ QUEST_BOMBERS_NOTEBOOK, /* 0x18 */ QUEST_SONG_LULLABY_INTRO = 0x18, - /* 0x19 */ QUEST_UNK_19, // Related to PictoBox + /* 0x19 */ QUEST_UNK_19 // Related to PictoBox } QuestItem; typedef enum { diff --git a/include/z64light.h b/include/z64light.h index 90ee01fb00..8e8508579e 100644 --- a/include/z64light.h +++ b/include/z64light.h @@ -23,7 +23,7 @@ typedef struct { /* 0x12 */ s16 fogColor[3]; /* 0x18 */ s16 fogNear; /* 0x1A */ s16 fogFar; -} LightSettings2; // size = 0x1C +} EnvLightSettings; // size = 0x1C typedef struct { /* 0x0 */ s16 x; diff --git a/include/z64scene.h b/include/z64scene.h index c2836c5485..b20313198d 100644 --- a/include/z64scene.h +++ b/include/z64scene.h @@ -1,15 +1,16 @@ -#ifndef _Z64SCENE_H_ -#define _Z64SCENE_H_ +#ifndef Z64SCENE_H +#define Z64SCENE_H #include "ultra64.h" #include "z64dma.h" +#include "z64cutscene.h" #include "unk.h" #define SPAWN_ROT_FLAGS(rotation, flags) (((rotation) << 7) | (flags)) typedef struct { - /* 0x00 */ u32 vromStart; - /* 0x04 */ u32 vromEnd; + /* 0x00 */ uintptr_t vromStart; + /* 0x04 */ uintptr_t vromEnd; } RomFile; // size = 0x8 typedef struct { @@ -310,13 +311,6 @@ typedef struct { /* 0xE */ s16 params; } ActorEntry; // size = 0x10 -typedef struct { - /* 0x0 */ u32 data; - /* 0x4 */ s16 unk4; - /* 0x6 */ u8 unk6; - /* 0x7 */ u8 unk7; -} CutsceneEntry; // size = 0x8 - typedef struct { /* 0x0 */ u8 spawn; /* 0x1 */ u8 room; diff --git a/spec b/spec index 7910aa4553..5578d5a4d7 100644 --- a/spec +++ b/spec @@ -460,7 +460,6 @@ beginseg include "build/data/code/z_debug_mode.data.o" include "build/data/code/z_debug_mode.bss.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/data/code/z_draw.data.o" include "build/src/code/z_eff_footmark.o" diff --git a/src/boot_O2_g3/CIC6105.c b/src/boot_O2_g3/CIC6105.c index 4745ad5c89..78eed1a775 100644 --- a/src/boot_O2_g3/CIC6105.c +++ b/src/boot_O2_g3/CIC6105.c @@ -1,4 +1,3 @@ -#include "prevent_bss_reordering.h" #include "global.h" UNK_TYPE4 D_8009BE30; diff --git a/src/boot_O2_g3/boot_main.c b/src/boot_O2_g3/boot_main.c index 87bee5da4f..04bb9a33ae 100644 --- a/src/boot_O2_g3/boot_main.c +++ b/src/boot_O2_g3/boot_main.c @@ -1,4 +1,3 @@ -#include "prevent_bss_reordering.h" #include "global.h" StackEntry sBootThreadInfo; diff --git a/src/boot_O2_g3/idle.c b/src/boot_O2_g3/idle.c index da93f13fdb..942435fa7b 100644 --- a/src/boot_O2_g3/idle.c +++ b/src/boot_O2_g3/idle.c @@ -1,4 +1,3 @@ -#include "prevent_bss_reordering.h" #include "global.h" u8 D_80096B20 = 1; diff --git a/src/code/audio/code_8019AF00.c b/src/code/audio/code_8019AF00.c index 3a498178c0..17404280bc 100644 --- a/src/code/audio/code_8019AF00.c +++ b/src/code/audio/code_8019AF00.c @@ -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_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") diff --git a/src/code/z_demo.c b/src/code/z_demo.c index 72eeb742ef..fb6f8687ca 100644 --- a/src/code/z_demo.c +++ b/src/code/z_demo.c @@ -1,99 +1,1684 @@ #include "global.h" +#include "overlays/gamestates/ovl_daytelop/z_daytelop.h" -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/Cutscene_Init.s") +void Cutscene_DoNothing(GlobalContext* globalCtx, CutsceneContext* csCtx); +void func_800EA258(GlobalContext* globalCtx, CutsceneContext* csCtx); +void func_800ED9C4(GlobalContext* globalCtx, CutsceneContext* csCtx); +void func_800EA2B8(GlobalContext* globalCtx, CutsceneContext* csCtx); +void func_800ED980(GlobalContext* globalCtx, CutsceneContext* csCtx); +void func_800EDA04(GlobalContext* globalCtx, CutsceneContext* csCtx); +void func_800EDA84(GlobalContext* globalCtx, CutsceneContext* csCtx); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EA0D4.s") +// Unused +UNK_TYPE4 D_801BB120 = 0; +u16 D_801BB124 = 0; +u16 D_801BB128 = 0; +u8 D_801BB12C = 0; +u8 sCutsceneStoredPlayerForm = 0; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EA0EC.s") +// bss +#ifndef NON_MATCHING +static u16 seqId; +#endif +s16 sCutsceneQuakeIndex; +struct_801F4D48 sCutsceneCameraInfo; +u16 D_801F4DC8[10]; +UNK_TYPE D_801F4DDC; +u8 D_801F4DE0; +s16 D_801F4DE2; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/Cutscene_StepCutscene1.s") +void Cutscene_Init(GlobalContext* globalCtx, CutsceneContext* csCtx) { + s32 i; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/Cutscene_StepCutscene2.s") + csCtx->state = CS_STATE_0; + csCtx->frames = 0; + csCtx->unk_0C = 0.0f; + globalCtx->csCtx.sceneCsCount = 0; + globalCtx->csCtx.currentCsIndex = 0; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/Cutscene_Nop800EA210.s") + for (i = 0; i < ARRAY_COUNT(D_801F4DC8); i++) { + D_801F4DC8[i] = 0; + } -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EA220.s") + D_801F4DE0 = 0; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EA258.s") + Audio_SetCutsceneFlag(false); +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EA2B8.s") +void Cutscene_Start(GlobalContext* globalCtx, CutsceneContext* csCtx) { + csCtx->state = CS_STATE_1; + csCtx->playerAction = NULL; +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EA324.s") +void Cutscene_End(GlobalContext* globalCtx, CutsceneContext* csCtx) { + if (csCtx->state != CS_STATE_4) { + csCtx->state = CS_STATE_3; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EABAC.s") +typedef void (*CutsceneStateHandler)(GlobalContext* globalCtx, CutsceneContext* csCtx); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EAC08.s") +CutsceneStateHandler sCsStateHandlers1[] = { + Cutscene_DoNothing, // CS_STATE_0 + func_800EA258, // CS_STATE_1 + Cutscene_DoNothing, // CS_STATE_2 + func_800ED9C4, // CS_STATE_3 + Cutscene_DoNothing, // CS_STATE_4 +}; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EAC44.s") +void Cutscene_Update1(GlobalContext* globalCtx, CutsceneContext* csCtx) { + if (gSaveContext.cutscene < 0xFFF0) { + sCsStateHandlers1[csCtx->state](globalCtx, csCtx); + } +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EAC94.s") +CutsceneStateHandler sCsStateHandlers2[] = { + Cutscene_DoNothing, // CS_STATE_0 + func_800EA2B8, // CS_STATE_1 + func_800ED980, // CS_STATE_2 + func_800EDA04, // CS_STATE_3 + func_800ED980, // CS_STATE_4 +}; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EAD14.s") +void Cutscene_Update2(GlobalContext* globalCtx, CutsceneContext* csCtx) { + if ((gSaveContext.cutsceneTrigger != 0) && (globalCtx->sceneLoadFlag == 0x14)) { + gSaveContext.cutsceneTrigger = 0; + } -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EAD48.s") + if ((gSaveContext.cutsceneTrigger != 0) && (csCtx->state == CS_STATE_0)) { + gSaveContext.cutscene = 0xFFFD; + gSaveContext.cutsceneTrigger = 1; + } -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EAD7C.s") + if (gSaveContext.cutscene >= 0xFFF0) { + func_800EDA84(globalCtx, csCtx); + sCsStateHandlers2[csCtx->state](globalCtx, csCtx); + } +} +void Cutscene_DoNothing(GlobalContext* globalCtx, CutsceneContext* csCtx) { +} + +s32 func_800EA220(GlobalContext* globalCtx, CutsceneContext* csCtx, f32 target) { + return Math_StepToF(&csCtx->unk_0C, target, 0.1f); +} + +void func_800EA258(GlobalContext* globalCtx, CutsceneContext* csCtx) { + Interface_ChangeAlpha(1); + ShrinkWindow_SetLetterboxTarget(32); + if (func_800EA220(globalCtx, csCtx, 1.0f)) { + Audio_SetCutsceneFlag(true); + csCtx->state++; + } +} + +void func_800EA2B8(GlobalContext* globalCtx, CutsceneContext* csCtx) { + func_800ED980(globalCtx, csCtx); + Interface_ChangeAlpha(1); + ShrinkWindow_SetLetterboxTarget(32); + if (func_800EA220(globalCtx, csCtx, 1.0f)) { + Audio_SetCutsceneFlag(true); + csCtx->state++; + } +} + +/* Start of command handling section */ + +// Command 0x96: Miscellaneous commands. +void Cutscene_Command_Misc(GlobalContext* globalCtx2, CutsceneContext* csCtx, CsCmdBase* cmd) { + static u16 D_801BB15C = 0xFFFF; + Player* player = GET_PLAYER(globalCtx2); + GlobalContext* globalCtx = globalCtx2; + u8 isStartFrame = false; + f32 progress; + SceneTableEntry* loadedScene; + u16 time; + + if ((csCtx->frames < cmd->startFrame) || ((csCtx->frames >= cmd->endFrame) && (cmd->endFrame != cmd->startFrame))) { + return; + } + + progress = Environment_LerpWeight(cmd->endFrame - 1, cmd->startFrame, csCtx->frames); + if (csCtx->frames == cmd->startFrame) { + isStartFrame = true; + } + + // TODO: consider creating an enum for this when we understand what each value does + switch (cmd->base) { + case 0x1: + if (isStartFrame) { + func_800FD78C(globalCtx); + globalCtx->envCtx.unk_F2[0] = 0x3C; + } + break; + case 0x2: + if (isStartFrame) { + func_801A47DC(NATURE_CHANNEL_LIGHTNING, CHANNEL_IO_PORT_0, 0); + Environment_AddLightningBolts(globalCtx, 3); + D_801F4E68 = 1; + } + break; + case 0x3: + if (globalCtx->envCtx.lightSettings.fogFar < 12800) { + globalCtx->envCtx.lightSettings.fogFar += 35; + } + break; + case 0x4: + if (isStartFrame) { + globalCtx->envCtx.unk_19 = 1; + globalCtx->envCtx.unk_17 = 1; + globalCtx->envCtx.unk_18 = 0; + globalCtx->envCtx.unk_1A = 0x3C; + globalCtx->envCtx.unk_21 = 1; + globalCtx->envCtx.unk_1F = 0; + globalCtx->envCtx.unk_20 = 1; + globalCtx->envCtx.unk_24 = 0x3C; + globalCtx->envCtx.unk_22 = globalCtx->envCtx.unk_24; + } + break; + case 0x5: + if (isStartFrame && (csCtx->state != CS_STATE_4)) { + csCtx->state = CS_STATE_3; + } + break; + case 0x7: + if (isStartFrame) { + loadedScene = globalCtx->loadedScene; + if (loadedScene->titleTextId != 0) { + func_80151A68(globalCtx, loadedScene->titleTextId); + } + } + break; + case 0x8: + func_8019F128(NA_SE_EV_EARTHQUAKE_LAST - SFX_FLAG); + if (isStartFrame) { + sCutsceneQuakeIndex = Quake_Add(GET_ACTIVE_CAM(globalCtx), 6); + Quake_SetSpeed(sCutsceneQuakeIndex, 22000); + Quake_SetQuakeValues(sCutsceneQuakeIndex, 6, 4, 0, 0); + Quake_SetCountdown(sCutsceneQuakeIndex, 800); + } + break; + case 0x9: + if (isStartFrame) { + Quake_Init(); + } + break; + case 0xA: + D_801F6D30.r = 255; + D_801F6D30.g = 255; + D_801F6D30.b = 255; + D_801F6D30.a = 255 * progress; + break; + case 0xB: + D_801F6D30.r = 255; + D_801F6D30.g = 180; + D_801F6D30.b = 100; + D_801F6D30.a = 255 * progress; + break; + case 0xC: + globalCtx->roomCtx.currRoom.segment = NULL; + break; + case 0xD: + if (globalCtx->state.frames & 8) { + if (globalCtx->envCtx.lightSettings.ambientColor[0] < 40) { + globalCtx->envCtx.lightSettings.ambientColor[0] += 2; + globalCtx->envCtx.lightSettings.diffuseColor1[1] -= 3; + globalCtx->envCtx.lightSettings.diffuseColor1[2] -= 3; + } + } else { + if (globalCtx->envCtx.lightSettings.ambientColor[0] > 2) { + globalCtx->envCtx.lightSettings.ambientColor[0] -= 2; + globalCtx->envCtx.lightSettings.diffuseColor1[1] += 3; + globalCtx->envCtx.lightSettings.diffuseColor1[2] += 3; + } + } + break; + case 0xE: + globalCtx->unk_18845 = 1; + break; + case 0xF: + globalCtx->unk_18845 = 0; + break; + case 0x10: + if (isStartFrame) { + globalCtx->envCtx.sandstormState = 1; + } + func_8019F128(NA_SE_EV_SAND_STORM - SFX_FLAG); + break; + case 0x11: + gSaveContext.sunsSongState = SUNSSONG_START; + break; + case 0x12: + if (!gSaveContext.isNight) { + time = gSaveContext.time; + gSaveContext.time = time - (u16)REG(15); + } else { + time = gSaveContext.time; + gSaveContext.time = time - (u16)(2 * REG(15)); + } + break; + case 0x13: + // AudioOcarina_PlayLongScarecrowAfterCredits + func_8019D758(); + csCtx->frames = cmd->startFrame - 1; + break; + case 0x14: + EnvFlags_Set(globalCtx, 3); + break; + case 0x15: + EnvFlags_Set(globalCtx, 4); + break; + case 0x16: + gSaveContext.playerForm = PLAYER_FORM_DEKU; + break; + case 0x17: + player->stateFlags2 |= 0x4000000; + break; + case 0x18: + player->stateFlags2 &= ~0x4000000; + break; + case 0x19: + sCutsceneStoredPlayerForm = gSaveContext.playerForm; + gSaveContext.playerForm = PLAYER_FORM_HUMAN; + gSaveContext.equippedMask = PLAYER_MASK_NONE; + break; + case 0x1A: + func_8019F128(NA_SE_EV_EARTHQUAKE_LAST2 - SFX_FLAG); + if (isStartFrame) { + sCutsceneQuakeIndex = Quake_Add(GET_ACTIVE_CAM(globalCtx), 6); + Quake_SetSpeed(sCutsceneQuakeIndex, 30000); + Quake_SetQuakeValues(sCutsceneQuakeIndex, 20, 10, 0, 0); + Quake_SetCountdown(sCutsceneQuakeIndex, 800); + } + break; + case 0x1B: + if (isStartFrame) { + globalCtx->nextEntranceIndex = 0x1C00; + gSaveContext.nextCutsceneIndex = 0xFFF8; + globalCtx->sceneLoadFlag = 0x14; + globalCtx->unk_1887F = 3; + } + break; + case 0x1C: + if (isStartFrame) { + globalCtx->envCtx.unk_17 = 0xD; + } + break; + case 0x1D: + gSaveContext.playerForm = sCutsceneStoredPlayerForm; + break; + case 0x1E: + D_801F4DE0 = true; + break; + case 0x1F: + D_801F4DE0 = false; + break; + case 0x21: + if (isStartFrame) { + func_80146EE8(globalCtx); + } + break; + case 0x22: + if (isStartFrame) { + func_80144A94(&globalCtx->sramCtx); + } + break; + case 0x23: + if (csCtx->frames != D_801BB15C) { + D_801BB15C = csCtx->frames; + + if (REG(15) != 0) { + time = gSaveContext.time; + gSaveContext.time = (u16)REG(15) + time; + time = gSaveContext.time; + gSaveContext.time = (u16)gSaveContext.unk_14 + time; + } + } + break; + case 0x24: + func_8019F128(NA_SE_EV_EARTHQUAKE_LAST - SFX_FLAG); + if (isStartFrame) { + sCutsceneQuakeIndex = Quake_Add(GET_ACTIVE_CAM(globalCtx), 6); + Quake_SetSpeed(sCutsceneQuakeIndex, 22000); + Quake_SetQuakeValues(sCutsceneQuakeIndex, 2, 1, 0, 0); + Quake_SetCountdown(sCutsceneQuakeIndex, 800); + } + break; + + case 0x26: + // Seems to be used to trigger "Dawn of A New Day" + + gSaveContext.day = 9; + + { + GameState* gameState = &globalCtx->state; + gameState->running = false; + } + SET_NEXT_GAMESTATE(&globalCtx->state, Daytelop_Init, DaytelopContext); + + func_80146F5C(globalCtx); + break; + + case 0x27: + gSaveContext.playerForm = PLAYER_FORM_ZORA; + break; + + case 0x28: + csCtx->frames = cmd->startFrame - 1; + break; + } +} + +// Command 0x97: Set Environment Lighting +void Cutscene_Command_SetLighting(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdEnvLighting* cmd) { + if (csCtx->frames == cmd->startFrame) { + if (cmd->setting != 0x20) { + globalCtx->envCtx.lightSettingOverride = cmd->setting - 1; + globalCtx->envCtx.lightBlend = 1.0f; + } else { + globalCtx->envCtx.lightSettingOverride = 0xFF; + } + } +} + +// Command 0x12C: Plays a sequence (Background music or Fanfare) +void Cutscene_Command_PlaySequence(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdSequenceChange* cmd) { + if (csCtx->frames == cmd->startFrame) { + func_801A2C88(cmd->sequence - 1); + } +} + +// Command 0x12D: Stops a sequence (Background music or Fanfare) +void Cutscene_Command_StopSequence(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdSequenceChange* cmd) { + if ((csCtx->frames >= cmd->startFrame) && (cmd->endFrame >= csCtx->frames)) { + func_801A2D54(cmd->sequence - 1); + } +} + +// Command 0x9C: Fade a sequence (Background music or Fanfare) over duration +void Cutscene_Command_FadeSequence(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdSequenceFade* cmd) { + if ((csCtx->frames == cmd->startFrame) && (csCtx->frames < cmd->endFrame)) { + u8 fadeTimer = cmd->endFrame - cmd->startFrame; + + if (cmd->type == 2) { + Audio_QueueSeqCmd((fadeTimer << 0x10) | 0x110000FF); + } else { + Audio_QueueSeqCmd((fadeTimer << 0x10) | NA_BGM_STOP); + } + } +} + +// Command 0x12E: Play Ambience sequence +void Cutscene_Command_PlayAmbienceSequence(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* cmd) { + if (csCtx->frames == cmd->startFrame) { + // Audio_PlayNatureAmbienceSequence + // nightSeqIndex is natureAmbienceId + func_801A4A28(globalCtx->soundCtx.nightSeqIndex); + } +} + +// Command 0x130: +void func_800EAD48(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* cmd) { + if (csCtx->frames == cmd->startFrame) { + // Audio_SetSfxReverbIndexExceptOcarinaBank + func_801A4428(2); + } +} + +// Command 0x131: +void func_800EAD7C(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* cmd) { + if (csCtx->frames == cmd->startFrame) { + // Audio_SetSfxReverbIndexExceptOcarinaBank + func_801A4428(1); + } +} + +#ifdef NON_MATCHING +// needs in-function static bss +// audio related +void func_800EADB0(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* cmd) { + static u16 seqId; + u8 dayMinusOne; + + if (csCtx->frames == cmd->startFrame) { + dayMinusOne = (gSaveContext.day - 1); + if (dayMinusOne >= 3) { + dayMinusOne = 0; + } + + switch (cmd->base) { + case 1: + // func_801A246C(SEQ_PLAYER_BGM_MAIN, TYPE_1); + func_801A246C(SEQ_PLAYER_BGM_MAIN, 1); + break; + + case 2: + // func_801A246C(SEQ_PLAYER_BGM_MAIN, TYPE_0); + func_801A246C(SEQ_PLAYER_BGM_MAIN, 0); + break; + + case 3: + // func_801A246C(SEQ_PLAYER_BGM_MAIN, TYPE_2); + func_801A246C(SEQ_PLAYER_BGM_MAIN, 2); + break; + + case 4: + // func_801A246C(SEQ_PLAYER_NATURE, TYPE_1); + func_801A246C(SEQ_PLAYER_NATURE, 1); + break; + + case 5: + // func_801A246C(SEQ_PLAYER_NATURE, TYPE_0); + func_801A246C(SEQ_PLAYER_NATURE, 0); + break; + + case 6: + // func_801A246C(SEQ_PLAYER_NATURE, TYPE_2); + func_801A246C(SEQ_PLAYER_NATURE, 2); + break; + + case 7: + // Audio_GetActiveSequence + seqId = func_801A8A50(0); + break; + + case 8: + if (seqId != NA_BGM_DISABLED) { + // Audio_PlayBgmForDayScene + func_801A25E4(seqId, dayMinusOne); + } + break; + } + } +} +#else #pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EADB0.s") +#endif -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EAECC.s") +// Command 0x12F: Fade Ambience sequence +void Cutscene_Command_FadeAmbienceSequence(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* cmd) { + if (csCtx->frames == cmd->startFrame && csCtx->frames < cmd->endFrame) { + u8 fadeTimer = cmd->endFrame - cmd->startFrame; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EAF20.s") + Audio_QueueSeqCmd((fadeTimer << 0x10) | 0x140000FF); + } +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EAFE0.s") +// Command 0x190: Rumble +void Cutscene_Command_Rumble(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdRumble* cmd) { + switch (cmd->type) { + case 1: + if (csCtx->frames == cmd->startFrame) { + func_8013ECE0(0.0f, cmd->unk6, cmd->unk7, cmd->unk8); + } + break; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EB1DC.s") + case 2: + if ((csCtx->frames >= cmd->startFrame) && (cmd->endFrame >= csCtx->frames)) { + if ((csCtx->frames == cmd->startFrame) || (globalCtx->state.frames % 64 == 0)) { + func_8013ECE0(0.0f, cmd->unk6, cmd->unk7, cmd->unk8); + } + } + break; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EB364.s") +// Command 0x9B: +void Cutscene_Command_FadeColorScreen(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdFadeScreen* cmd) { + if ((csCtx->frames >= cmd->startFrame) && (cmd->endFrame >= csCtx->frames)) { + f32 alpha; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EB4B4.s") + globalCtx->envCtx.fillScreen = true; + alpha = Environment_LerpWeight(cmd->endFrame, cmd->startFrame, csCtx->frames); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EB6F8.s") + if (((cmd->unk0 == 1)) || (cmd->unk0 == 2)) { + globalCtx->envCtx.screenFillColor[0] = cmd->color.r; + globalCtx->envCtx.screenFillColor[1] = cmd->color.g; + globalCtx->envCtx.screenFillColor[2] = cmd->color.b; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EBB68.s") + if (cmd->unk0 == 2) { + globalCtx->envCtx.screenFillColor[3] = (1.0f - alpha) * 255.0f; + } else { + globalCtx->envCtx.screenFillColor[3] = 255.0f * alpha; + } + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EBCD0.s") +// Command 0x9D: Set Time of Day & Environment Time +void Cutscene_Command_SetTime(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdDayTime* cmd) { + u16 nextTime; + u16 hourAsMinutes; + u16 minutes; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EBD60.s") + if (csCtx->frames == cmd->startFrame) { + hourAsMinutes = CLOCK_TIME_ALT_F(cmd->hour, 0); + minutes = CLOCK_TIME_ALT_F(0, cmd->minute + 1); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EC678.s") + nextTime = hourAsMinutes + minutes; + gSaveContext.time = nextTime; + gSaveContext.environmentTime = nextTime; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EC6D4.s") +void Cutscene_TerminatorImpl(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* cmd) { + csCtx->state = CS_STATE_4; + func_80165690(); + Audio_SetCutsceneFlag(false); + gSaveContext.unk_3F48 = 1; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EC924.s") + if ((gSaveContext.gameMode != 0) && (csCtx->frames != cmd->startFrame)) { + gSaveContext.unk_3F1E = 1; + } -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800ECD7C.s") + gSaveContext.cutscene = 0; + if (cmd->base == 1) { + globalCtx->nextEntranceIndex = globalCtx->csCtx.sceneCsList[globalCtx->csCtx.currentCsIndex].nextEntranceIndex; + gSaveContext.nextCutsceneIndex = 0; + globalCtx->sceneLoadFlag = 0x14; + if (gSaveContext.gameMode != 1) { + Scene_SetExitFade(globalCtx); + } else { + D_801BB12C++; + if (D_801BB12C >= 2) { + D_801BB12C = 0; + } + globalCtx->unk_1887F = 4; + } + if ((globalCtx->nextEntranceIndex & 0xF) > 0) { + gSaveContext.nextCutsceneIndex = (globalCtx->nextEntranceIndex & 0xF) + 0xFFEF; + } + + globalCtx->nextEntranceIndex &= ~0xF; + } +} + +// Command 0x15E +void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* cmd) { + if (cmd->base == 1) { + if (csCtx->frames == cmd->startFrame) { + Cutscene_TerminatorImpl(globalCtx, csCtx, cmd); + } + } else if (cmd->base == 2) { + if (csCtx->frames == cmd->startFrame) { + func_80165690(); + + switch (D_801F4DE2) { + case 0x1F: + if (gSaveContext.weekEventReg[0x14] & 2) { + globalCtx->nextEntranceIndex = 0x3010; + globalCtx->sceneLoadFlag = 0x14; + globalCtx->unk_1887F = 3; + } else { + globalCtx->nextEntranceIndex = 0x8600; + gSaveContext.nextCutsceneIndex = 0xFFF0; + globalCtx->sceneLoadFlag = 0x14; + globalCtx->unk_1887F = 3; + } + break; + + case 0x44: + if (gSaveContext.weekEventReg[0x21] & 0x80) { + globalCtx->nextEntranceIndex = 0xAE70; + globalCtx->sceneLoadFlag = 0x14; + globalCtx->unk_1887F = 3; + } else { + globalCtx->nextEntranceIndex = 0xAE00; + gSaveContext.nextCutsceneIndex = 0xFFF0; + globalCtx->sceneLoadFlag = 0x14; + globalCtx->unk_1887F = 3; + } + break; + + case 0x5F: + gSaveContext.weekEventReg[0x37] |= 0x80; + globalCtx->nextEntranceIndex = 0x6A80; + gSaveContext.nextCutsceneIndex = 0xFFF0; + globalCtx->sceneLoadFlag = 0x14; + globalCtx->unk_1887F = 3; + break; + + case 0x36: + gSaveContext.weekEventReg[0x34] |= 0x20; + globalCtx->nextEntranceIndex = 0x2000; + gSaveContext.nextCutsceneIndex = 0xFFF1; + globalCtx->sceneLoadFlag = 0x14; + globalCtx->unk_1887F = 3; + break; + } + } + } +} + +// Command 0x15F: Chooses between a cutscene or a rotating mask depending on whether the player has the corresponding +// mask +void Cutscene_Command_ChooseCreditsScenes(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* cmd) { + if ((csCtx->frames >= cmd->startFrame) && (func_801A3950(0, true) != 0xFF)) { + switch (cmd->base) { + case 1: + Cutscene_TerminatorImpl(globalCtx, csCtx, cmd); + break; + + case 2: + if (INV_CONTENT(ITEM_MASK_KAMARO) == ITEM_MASK_KAMARO) { + // Milk bar + globalCtx->nextEntranceIndex = 0x2400; + gSaveContext.nextCutsceneIndex = 0xFFF0; + } else { + // SPOT00 + globalCtx->nextEntranceIndex = 0x1C00; + gSaveContext.nextCutsceneIndex = 0xFFF9; + } + globalCtx->sceneLoadFlag = 0x14; + break; + + case 3: + if (INV_CONTENT(ITEM_MASK_GREAT_FAIRY) == ITEM_MASK_GREAT_FAIRY) { + // Fairy's fountain + globalCtx->nextEntranceIndex = 0x4600; + gSaveContext.nextCutsceneIndex = 0xFFF0; + } else { + // SPOT00 + globalCtx->nextEntranceIndex = 0x1C10; + gSaveContext.nextCutsceneIndex = 0xFFF9; + } + globalCtx->sceneLoadFlag = 0x14; + break; + + case 4: + if (INV_CONTENT(ITEM_MASK_ROMANI) == ITEM_MASK_ROMANI) { + // Romani ranch + globalCtx->nextEntranceIndex = 0x6400; + gSaveContext.nextCutsceneIndex = 0xFFF1; + } else { + // SPOT00 + globalCtx->nextEntranceIndex = 0x1C20; + gSaveContext.nextCutsceneIndex = 0xFFF9; + } + globalCtx->sceneLoadFlag = 0x14; + break; + + case 5: + if (INV_CONTENT(ITEM_MASK_BLAST) == ITEM_MASK_BLAST) { + // West clock town + globalCtx->nextEntranceIndex = 0xD400; + gSaveContext.nextCutsceneIndex = 0xFFF0; + } else { + // SPOT00 + globalCtx->nextEntranceIndex = 0x1C30; + gSaveContext.nextCutsceneIndex = 0xFFF9; + } + globalCtx->sceneLoadFlag = 0x14; + break; + + case 6: + if (INV_CONTENT(ITEM_MASK_CIRCUS_LEADER) == ITEM_MASK_CIRCUS_LEADER) { + // Milk bar + globalCtx->nextEntranceIndex = 0x2400; + gSaveContext.nextCutsceneIndex = 0xFFF1; + } else { + // SPOT00 + globalCtx->nextEntranceIndex = 0x1C50; + gSaveContext.nextCutsceneIndex = 0xFFF9; + } + globalCtx->sceneLoadFlag = 0x14; + break; + + case 7: + if (INV_CONTENT(ITEM_MASK_BREMEN) == ITEM_MASK_BREMEN) { + // Milk bar + globalCtx->nextEntranceIndex = 0x2400; + gSaveContext.nextCutsceneIndex = 0xFFF3; + } else { + // SPOT00 + globalCtx->nextEntranceIndex = 0x1C60; + gSaveContext.nextCutsceneIndex = 0xFFF9; + } + globalCtx->sceneLoadFlag = 0x14; + break; + + case 8: + // Ikana canyon + globalCtx->nextEntranceIndex = 0x2000; + gSaveContext.nextCutsceneIndex = 0xFFF3; + globalCtx->sceneLoadFlag = 0x14; + break; + + case 9: + if (INV_CONTENT(ITEM_MASK_COUPLE) == ITEM_MASK_COUPLE) { + // Termina field + globalCtx->nextEntranceIndex = 0x5400; + gSaveContext.nextCutsceneIndex = 0xFFF8; + } else { + // SPOT00 + globalCtx->nextEntranceIndex = 0x1C70; + gSaveContext.nextCutsceneIndex = 0xFFF9; + } + globalCtx->sceneLoadFlag = 0x14; + break; + + case 10: + if (INV_CONTENT(ITEM_MASK_BUNNY) == ITEM_MASK_BUNNY) { + // Cucco shack + globalCtx->nextEntranceIndex = 0x7E00; + gSaveContext.nextCutsceneIndex = 0xFFF0; + } else { + // SPOT00 + globalCtx->nextEntranceIndex = 0x1C40; + gSaveContext.nextCutsceneIndex = 0xFFF9; + } + globalCtx->sceneLoadFlag = 0x14; + break; + + case 11: + if (INV_CONTENT(ITEM_MASK_POSTMAN) == ITEM_MASK_POSTMAN) { + // Termina field + globalCtx->nextEntranceIndex = 0x5410; + gSaveContext.nextCutsceneIndex = 0xFFF8; + } else { + // SPOT00 + globalCtx->nextEntranceIndex = 0x1C80; + gSaveContext.nextCutsceneIndex = 0xFFF9; + } + globalCtx->sceneLoadFlag = 0x14; + break; + } + } +} + +// Command 0x99: Motion blur +void Cutscene_Command_MotionBlur(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* cmd) { + if ((csCtx->frames >= cmd->startFrame) && (cmd->endFrame >= csCtx->frames)) { + if ((csCtx->frames == cmd->startFrame) && (cmd->base == 1)) { + func_8016566C(180); + } + + if (cmd->base == 2) { + f32 progress = Environment_LerpWeight(cmd->endFrame, cmd->startFrame, csCtx->frames); + + if (progress >= 0.9f) { + func_80165690(); + } else { + func_80165658((1.0f - progress) * 180.0f); + } + } + } +} + +// Command 0x9A: Gives Tatl to the player +void Cutscene_Command_GiveTatlToPlayer(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* cmd) { + Player* player = GET_PLAYER(globalCtx); + + if (csCtx->frames == cmd->startFrame) { + if (cmd->base == 1) { + gSaveContext.hasTatl = true; + if (player->tatlActor != NULL) { + return; + } + player->tatlActor = Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_ELF, player->actor.world.pos.x, + player->actor.world.pos.y, player->actor.world.pos.z, 0, 0, 0, 0); + } + } +} + +// Command 0x98 +void Cutscene_Command_TransitionFX(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* cmd) { + if ((csCtx->frames >= cmd->startFrame) && (cmd->endFrame >= csCtx->frames)) { + f32 temp_f0; + + globalCtx->envCtx.fillScreen = true; + temp_f0 = Environment_LerpWeight(cmd->endFrame, cmd->startFrame, csCtx->frames); + + switch (cmd->base) { + case 1: + case 5: + globalCtx->envCtx.screenFillColor[0] = 160; + globalCtx->envCtx.screenFillColor[1] = 160; + globalCtx->envCtx.screenFillColor[2] = 160; + if (cmd->base == 1) { + globalCtx->envCtx.screenFillColor[3] = 255.0f * temp_f0; + if (temp_f0 == 0.0f) { + func_8019F128(NA_SE_EV_S_STONE_FLASH); + } + } else { + globalCtx->envCtx.screenFillColor[3] = (1.0f - temp_f0) * 255.0f; + } + break; + + case 2: + case 6: + globalCtx->envCtx.screenFillColor[0] = 0; + globalCtx->envCtx.screenFillColor[1] = 0; + globalCtx->envCtx.screenFillColor[2] = 255; + if (cmd->base == 2) { + globalCtx->envCtx.screenFillColor[3] = 255.0f * temp_f0; + } else { + globalCtx->envCtx.screenFillColor[3] = (1.0f - temp_f0) * 255.0f; + } + break; + + case 3: + case 7: + globalCtx->envCtx.screenFillColor[0] = 255; + globalCtx->envCtx.screenFillColor[1] = 0; + globalCtx->envCtx.screenFillColor[2] = 0; + if (cmd->base == 3) { + globalCtx->envCtx.screenFillColor[3] = (1.0f - temp_f0) * 255.0f; + } else { + globalCtx->envCtx.screenFillColor[3] = 255.0f * temp_f0; + } + break; + + case 4: + case 8: + globalCtx->envCtx.screenFillColor[0] = 0; + globalCtx->envCtx.screenFillColor[1] = 255; + globalCtx->envCtx.screenFillColor[2] = 0; + if (cmd->base == 4) { + globalCtx->envCtx.screenFillColor[3] = (1.0f - temp_f0) * 255.0f; + } else { + globalCtx->envCtx.screenFillColor[3] = 255.0f * temp_f0; + } + break; + + case 9: + gSaveContext.unk_3F48 = 1; + break; + + case 10: + case 11: + globalCtx->envCtx.screenFillColor[0] = 0; + globalCtx->envCtx.screenFillColor[1] = 0; + globalCtx->envCtx.screenFillColor[2] = 0; + if (cmd->base == 10) { + globalCtx->envCtx.screenFillColor[3] = (1.0f - temp_f0) * 255.0f; + } else { + globalCtx->envCtx.screenFillColor[3] = 255.0f * temp_f0; + } + break; + + case 12: + globalCtx->envCtx.screenFillColor[0] = (160.0f * (1.0f - temp_f0)); + globalCtx->envCtx.screenFillColor[1] = globalCtx->envCtx.screenFillColor[0]; + globalCtx->envCtx.screenFillColor[2] = globalCtx->envCtx.screenFillColor[0]; + globalCtx->envCtx.screenFillColor[3] = 255; + break; + + case 13: + globalCtx->envCtx.screenFillColor[0] = (160.0f * temp_f0); + globalCtx->envCtx.screenFillColor[1] = globalCtx->envCtx.screenFillColor[0]; + globalCtx->envCtx.screenFillColor[2] = globalCtx->envCtx.screenFillColor[0]; + globalCtx->envCtx.screenFillColor[3] = 255; + break; + } + } +} + +// Command 0x5A: Camera +s32 Cutscene_Command_Camera(GlobalContext* globalCtx, u8* cmd) { + s32 sp1C = 0; + + bcopy(cmd, &sp1C, sizeof(s32)); + cmd += sizeof(s32); + if (func_8016A168() == 0) { + func_80161998(cmd, &sCutsceneCameraInfo); + } + return sp1C + sizeof(s32); +} + +/** + * Counts how many masks the player has + * The count doesn't include transformation masks + */ +s32 Cutscene_CountNormalMasks(void) { + s32 count = 0; + + if (INV_CONTENT(ITEM_MASK_TRUTH) == ITEM_MASK_TRUTH) { + count++; + } + if (INV_CONTENT(ITEM_MASK_KAFEIS_MASK) == ITEM_MASK_KAFEIS_MASK) { + count++; + } + if (INV_CONTENT(ITEM_MASK_ALL_NIGHT) == ITEM_MASK_ALL_NIGHT) { + count++; + } + if (INV_CONTENT(ITEM_MASK_BUNNY) == ITEM_MASK_BUNNY) { + count++; + } + if (INV_CONTENT(ITEM_MASK_KEATON) == ITEM_MASK_KEATON) { + count++; + } + if (INV_CONTENT(ITEM_MASK_GARO) == ITEM_MASK_GARO) { + count++; + } + if (INV_CONTENT(ITEM_MASK_ROMANI) == ITEM_MASK_ROMANI) { + count++; + } + if (INV_CONTENT(ITEM_MASK_CIRCUS_LEADER) == ITEM_MASK_CIRCUS_LEADER) { + count++; + } + if (INV_CONTENT(ITEM_MASK_POSTMAN) == ITEM_MASK_POSTMAN) { + count++; + } + if (INV_CONTENT(ITEM_MASK_COUPLE) == ITEM_MASK_COUPLE) { + count++; + } + if (INV_CONTENT(ITEM_MASK_GREAT_FAIRY) == ITEM_MASK_GREAT_FAIRY) { + count++; + } + if (INV_CONTENT(ITEM_MASK_GIBDO) == ITEM_MASK_GIBDO) { + count++; + } + if (INV_CONTENT(ITEM_MASK_DON_GERO) == ITEM_MASK_DON_GERO) { + count++; + } + if (INV_CONTENT(ITEM_MASK_KAMARO) == ITEM_MASK_KAMARO) { + count++; + } + if (INV_CONTENT(ITEM_MASK_CAPTAIN) == ITEM_MASK_CAPTAIN) { + count++; + } + if (INV_CONTENT(ITEM_MASK_STONE) == ITEM_MASK_STONE) { + count++; + } + if (INV_CONTENT(ITEM_MASK_BREMEN) == ITEM_MASK_BREMEN) { + count++; + } + if (INV_CONTENT(ITEM_MASK_BLAST) == ITEM_MASK_BLAST) { + count++; + } + if (INV_CONTENT(ITEM_MASK_SCENTS) == ITEM_MASK_SCENTS) { + count++; + } + if (INV_CONTENT(ITEM_MASK_GIANT) == ITEM_MASK_GIANT) { + count++; + } + + return count; +} + +// Command 0xA: Textbox +void Cutscene_Command_Textbox(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdTextbox* cmd) { + static s32 D_801BB160 = CS_TEXTBOX_TYPE_DEFAULT; + u8 dialogState; + s32 pad; + u16 originalCsFrames; + s32 pad2; + + if ((cmd->startFrame >= csCtx->frames) || ((cmd->endFrame < csCtx->frames))) { + return; + } + + if (cmd->type != CS_TEXTBOX_TYPE_LEARN_SONG) { + if (D_801BB124 != cmd->base) { + if (D_801BB160 == CS_TEXTBOX_TYPE_3) { + csCtx->frames--; + } + D_801BB160 = CS_TEXTBOX_TYPE_1; + D_801BB124 = cmd->base; + if (cmd->type == CS_TEXTBOX_TYPE_BOSSES_REMAINS) { + if (CHECK_QUEST_ITEM(QUEST_REMAINS_ODOWLA) && CHECK_QUEST_ITEM(QUEST_REMAINS_GOHT) && + CHECK_QUEST_ITEM(QUEST_REMAINS_GYORG) && CHECK_QUEST_ITEM(QUEST_REMAINS_TWINMOLD)) { + if (cmd->textId1 != 0xFFFF) { + Message_StartTextbox(globalCtx, cmd->textId1, NULL); + } + } else { + Message_StartTextbox(globalCtx, cmd->base, NULL); + } + } else if (cmd->type == CS_TEXTBOX_TYPE_ALL_NORMAL_MASKS) { + if (Cutscene_CountNormalMasks() == 20) { + if (cmd->textId1 != 0xFFFF) { + Message_StartTextbox(globalCtx, cmd->textId1, NULL); + } + } else { + Message_StartTextbox(globalCtx, cmd->base, NULL); + } + } else { + Message_StartTextbox(globalCtx, cmd->base, NULL); + } + } else { + goto else_label; + } + } else if (D_801BB128 != cmd->base) { + D_801BB160 = CS_TEXTBOX_TYPE_LEARN_SONG; + D_801BB128 = cmd->base; + func_80152434(globalCtx, cmd->base); + } else { + else_label: + if (csCtx->frames >= cmd->endFrame) { + // The Textbox command can change the current cutscene frame, mainly to prevent advancing the cutscene when + // a textbox that is expected to be closed by the user is still open. + + originalCsFrames = csCtx->frames; + dialogState = Message_GetState(&globalCtx->msgCtx); + if ((dialogState != 2) && (dialogState != 0) && (dialogState != 7) && (dialogState != 8)) { + csCtx->frames--; + if ((dialogState == 4) && func_80147624(globalCtx)) { + if (globalCtx->msgCtx.choiceIndex == 0) { + if (cmd->base == 0x33BD) { + func_8019F230(); + } + + if (cmd->textId1 != 0xFFFF) { + func_80151938(globalCtx, cmd->textId1); + if (cmd->type == CS_TEXTBOX_TYPE_3) { + D_801BB160 = CS_TEXTBOX_TYPE_3; + if (cmd->textId2 != 0xFFFF) { + csCtx->frames++; + } + } + } else { + func_801477B4(globalCtx); + csCtx->frames++; + } + } else { + if (cmd->base == 0x33BD) { + func_8019F208(); + } + + if (cmd->textId2 != 0xFFFF) { + func_80151938(globalCtx, cmd->textId2); + if (cmd->type == CS_TEXTBOX_TYPE_3) { + D_801BB160 = CS_TEXTBOX_TYPE_3; + if (cmd->textId1 != 0xFFFF) { + csCtx->frames++; + } + } + } else { + func_801477B4(globalCtx); + csCtx->frames++; + } + } + } + + if (dialogState == 5 && func_80147624(globalCtx) != 0) { + func_80152434(globalCtx, cmd->base); + } + } + + if ((dialogState == 2) && (D_801BB160 == CS_TEXTBOX_TYPE_3)) { + csCtx->frames--; + D_801BB124++; + } + + if (originalCsFrames == csCtx->frames) { + Interface_ChangeAlpha(1); + D_801BB124 = 0; + D_801BB128 = 0; + func_80161C0C(); + } else { + func_80161BE0(1); + } + } + } +} + +// Related to actorActions. Maybe a generic actorAction setter? +void func_800ECD7C(CutsceneContext* csCtx, u8** cutscenePtr, s16 index) { + s32 i; + s32 count; + + bcopy(*cutscenePtr, &count, sizeof(s32)); + *cutscenePtr += sizeof(s32); + + for (i = 0; i < count; i++) { + CsCmdActorAction* actorAction = *(CsCmdActorAction**)cutscenePtr; + + if ((csCtx->frames >= actorAction->startFrame) && (csCtx->frames < actorAction->endFrame)) { + csCtx->actorActions[index] = actorAction; + } + + *cutscenePtr += sizeof(CsCmdActorAction); + } +} + +#ifdef NON_MATCHING +// Some stack issues, and a few instructions in the "wrong" places +/** + * Loops over the cutscene data itself (`cutscenePtr`), applying the effects of each command instantaneously (for most + * commands). + * + * The cutscene data is an irregularly-structured array of words, which is made up of + * - A beginning, which contains the number of command lists of this cutscene and the ending frame (see + * `CS_BEGIN_CUTSCENE`). + * - Any number of cutscene command lists (which should be the number specified in the beginning), each one of which + * contains commands of the corresponding category. + * - A end marker (see `CS_END`). + * + * This function iterates over each command list until either it has processed the number of command lists stated on + * `CS_BEGIN_CUTSCENE` or until it finds a end marker. + * + * A command list starts with a pair of words containing the command category and a count of how many commands this list + * has (N). This is followed by N commands of the said category. (The exception is Camera, which has the length of the + * list in bytes instead of the number of commands). + * + * For most command lists categories (all but the actorActions and Camera commands): + * - For each command list found, read the number of commands and loop over them, passing each one to the corresponding + * function which handles the command, applying its effects and checking the frame range stored in the command. + * + * This function is invoked once per frame that a cutscene is active. + * + * TODO: consider changing the type of `cutscenePtr` to `uintptr_t` when this function matches. + */ +void Cutscene_ProcessCommands(GlobalContext* globalCtx, CutsceneContext* csCtx, u8* cutscenePtr) { + s32 i; + s16 phi_s0; + s32 totalEntries; + s32 j; + u32 cmdType; // sp5C + s32 pad; + s32 cmdEntries; // sp58 + s32 cutsceneEndFrame; // sp50 + s16 phi_s0_23; + CsCmdBase* cmd; + + // Read the command list count and the ending frame for this cutscene + bcopy(cutscenePtr, &totalEntries, sizeof(s32)); + cutscenePtr += sizeof(s32); + bcopy(cutscenePtr, &cutsceneEndFrame, sizeof(s32)); + cutscenePtr += sizeof(s32); + + if (((u16)cutsceneEndFrame < csCtx->frames) && (globalCtx->sceneLoadFlag != 0x14) && (csCtx->state != CS_STATE_4)) { + csCtx->state = CS_STATE_3; + return; + } + + // Loop over every command list + for (i = 0; i < totalEntries; i++) { + // Read the command type of the current command list. + bcopy(cutscenePtr, &cmdType, sizeof(u32)); + cutscenePtr += sizeof(u32); + + // TODO: This should probably be added to the CutsceneCmd enum. Consider doing it when this function matches. + if (cmdType == 0xFFFFFFFF) { + break; + } + + // Check special cases of command types. This are generic ActorActions + // Ranges: [0x64, 0x96), 0xC9, [0x1C2, 0x258) + if (((cmdType >= 100) && (cmdType < 150)) || (cmdType == 201) || ((cmdType >= 450) && (cmdType < 600))) { + for (phi_s0 = 0; phi_s0 < ARRAY_COUNT(D_801F4DC8); phi_s0++) { + if ((u16)cmdType == D_801F4DC8[phi_s0]) { + func_800ECD7C(csCtx, &cutscenePtr, phi_s0); + cmdType = -2; + break; + } else if (D_801F4DC8[phi_s0] == 0) { + D_801F4DC8[phi_s0] = cmdType; + func_800ECD7C(csCtx, &cutscenePtr, phi_s0); + cmdType = -2; + break; + } + } + } + + switch (cmdType) { + case CS_CMD_MISC: + bcopy(cutscenePtr, &cmdEntries, sizeof(s32)); + cutscenePtr += sizeof(s32); + for (j = 0; j < cmdEntries; j++) { + Cutscene_Command_Misc(globalCtx, csCtx, (CsCmdBase*)cutscenePtr); + cutscenePtr += sizeof(CsCmdBase); + } + break; + + case CS_CMD_SET_LIGHTING: + bcopy(cutscenePtr, &cmdEntries, sizeof(s32)); + cutscenePtr += sizeof(s32); + for (j = 0; j < cmdEntries; j++) { + Cutscene_Command_SetLighting(globalCtx, csCtx, (CsCmdEnvLighting*)cutscenePtr); + cutscenePtr += sizeof(CsCmdEnvLighting); + } + break; + + case CS_CMD_PLAYSEQ: + bcopy(cutscenePtr, &cmdEntries, sizeof(s32)); + cutscenePtr += sizeof(s32); + for (j = 0; j < cmdEntries; j++) { + Cutscene_Command_PlaySequence(globalCtx, csCtx, (CsCmdSequenceChange*)cutscenePtr); + cutscenePtr += sizeof(CsCmdSequenceChange); + } + break; + + case CS_CMD_STOPSEQ: + bcopy(cutscenePtr, &cmdEntries, sizeof(s32)); + cutscenePtr += sizeof(s32); + for (j = 0; j < cmdEntries; j++) { + Cutscene_Command_StopSequence(globalCtx, csCtx, (CsCmdSequenceChange*)cutscenePtr); + cutscenePtr += sizeof(CsCmdSequenceChange); + } + break; + + case CS_CMD_FADESEQ: + bcopy(cutscenePtr, &cmdEntries, sizeof(s32)); + cutscenePtr += sizeof(s32); + for (j = 0; j < cmdEntries; j++) { + Cutscene_Command_FadeSequence(globalCtx, csCtx, (CsCmdSequenceFade*)cutscenePtr); + cutscenePtr += sizeof(CsCmdSequenceFade); + } + break; + + case CS_CMD_PLAYAMBIENCE: + bcopy(cutscenePtr, &cmdEntries, sizeof(s32)); + cutscenePtr += sizeof(s32); + for (j = 0; j < cmdEntries; j++) { + Cutscene_Command_PlayAmbienceSequence(globalCtx, csCtx, (CsCmdBase*)cutscenePtr); + cutscenePtr += sizeof(CsCmdBase); + } + break; + + case CS_CMD_FADEAMBIENCE: + bcopy(cutscenePtr, &cmdEntries, sizeof(s32)); + cutscenePtr += sizeof(s32); + for (j = 0; j < cmdEntries; j++) { + Cutscene_Command_FadeAmbienceSequence(globalCtx, csCtx, (CsCmdBase*)cutscenePtr); + cutscenePtr += sizeof(CsCmdBase); + } + break; + + case CS_CMD_130: + bcopy(cutscenePtr, &cmdEntries, sizeof(s32)); + cutscenePtr += sizeof(s32); + for (j = 0; j < cmdEntries; j++) { + func_800EAD48(globalCtx, csCtx, (CsCmdBase*)cutscenePtr); + cutscenePtr += sizeof(CsCmdBase); + } + break; + + case CS_CMD_131: + bcopy(cutscenePtr, &cmdEntries, sizeof(s32)); + cutscenePtr += sizeof(s32); + for (j = 0; j < cmdEntries; j++) { + func_800EAD7C(globalCtx, csCtx, (CsCmdBase*)cutscenePtr); + cutscenePtr += sizeof(CsCmdBase); + } + break; + + case CS_CMD_132: + bcopy(cutscenePtr, &cmdEntries, sizeof(s32)); + cutscenePtr += sizeof(s32); + for (j = 0; j < cmdEntries; j++) { + func_800EADB0(globalCtx, csCtx, (CsCmdBase*)cutscenePtr); + cutscenePtr += sizeof(CsCmdBase); + } + break; + + case CS_CMD_RUMBLE: + bcopy(cutscenePtr, &cmdEntries, sizeof(s32)); + cutscenePtr += sizeof(s32); + for (j = 0; j < cmdEntries; j++) { + Cutscene_Command_Rumble(globalCtx, csCtx, (CsCmdRumble*)cutscenePtr); + cutscenePtr += sizeof(CsCmdRumble); + } + break; + + case CS_CMD_FADESCREEN: + bcopy(cutscenePtr, &cmdEntries, sizeof(s32)); + cutscenePtr += sizeof(s32); + for (j = 0; j < cmdEntries; j++) { + Cutscene_Command_FadeColorScreen(globalCtx, csCtx, (CsCmdFadeScreen*)cutscenePtr); + cutscenePtr += sizeof(CsCmdFadeScreen); + } + break; + + case CS_CMD_SETTIME: + bcopy(cutscenePtr, &cmdEntries, sizeof(s32)); + cutscenePtr += sizeof(s32); + for (j = 0; j < cmdEntries; j++) { + Cutscene_Command_SetTime(globalCtx, csCtx, (CsCmdDayTime*)cutscenePtr); + cutscenePtr += sizeof(CsCmdDayTime); + } + break; + + case CS_CMD_SET_PLAYER_ACTION: + bcopy(cutscenePtr, &cmdEntries, sizeof(s32)); + cutscenePtr += sizeof(s32); + for (j = 0; j < cmdEntries; j++) { + cmd = (CsCmdBase*)cutscenePtr; + if ((csCtx->frames >= cmd->startFrame) && (csCtx->frames < cmd->endFrame)) { + csCtx->playerAction = (CsCmdActorAction*)cutscenePtr; + } + cutscenePtr += sizeof(CsCmdActorAction); + } + break; + + case CS_CMD_CAMERA: + cutscenePtr = &cutscenePtr[Cutscene_Command_Camera(globalCtx, cutscenePtr)]; + break; + + case CS_CMD_TERMINATOR: + bcopy(cutscenePtr, &cmdEntries, sizeof(s32)); + cutscenePtr += sizeof(s32); + for (j = 0; j < cmdEntries; j++) { + Cutscene_Command_Terminator(globalCtx, csCtx, (CsCmdBase*)cutscenePtr); + cutscenePtr += sizeof(CsCmdBase); + } + break; + + case CS_CMD_CHOOSE_CREDITS_SCENES: + bcopy(cutscenePtr, &cmdEntries, sizeof(s32)); + cutscenePtr += sizeof(s32); + for (j = 0; j < cmdEntries; j++) { + Cutscene_Command_ChooseCreditsScenes(globalCtx, csCtx, (CsCmdBase*)cutscenePtr); + cutscenePtr += sizeof(CsCmdBase); + } + break; + + case CS_CMD_TEXTBOX: + bcopy(cutscenePtr, &cmdEntries, sizeof(s32)); + cutscenePtr += sizeof(s32); + for (j = 0; j < cmdEntries; j++) { + cmd = (CsCmdBase*)cutscenePtr; + if (cmd->base != 0xFFFF) { + Cutscene_Command_Textbox(globalCtx, csCtx, (CsCmdTextbox*)cutscenePtr); + } + cutscenePtr += sizeof(CsCmdTextbox); + } + break; + + case CS_CMD_SCENE_TRANS_FX: + bcopy(cutscenePtr, &cmdEntries, sizeof(s32)); + cutscenePtr += sizeof(s32); + for (j = 0; j < cmdEntries; j++) { + Cutscene_Command_TransitionFX(globalCtx, csCtx, (CsCmdBase*)cutscenePtr); + cutscenePtr += sizeof(CsCmdBase); + } + break; + + case CS_CMD_MOTIONBLUR: + bcopy(cutscenePtr, &cmdEntries, sizeof(s32)); + cutscenePtr += sizeof(s32); + for (j = 0; j < cmdEntries; j++) { + Cutscene_Command_MotionBlur(globalCtx, csCtx, (CsCmdBase*)cutscenePtr); + cutscenePtr += sizeof(CsCmdBase); + } + break; + + case CS_CMD_GIVETATL: + bcopy(cutscenePtr, &cmdEntries, sizeof(s32)); + cutscenePtr += sizeof(s32); + for (j = 0; j < cmdEntries; j++) { + Cutscene_Command_GiveTatlToPlayer(globalCtx, csCtx, (CsCmdBase*)cutscenePtr); + cutscenePtr += sizeof(CsCmdBase); + } + break; + + case -2: + break; + + default: + bcopy(cutscenePtr, &cmdEntries, sizeof(s32)); + cutscenePtr += sizeof(s32); + for (j = 0; j < cmdEntries; j++) { + cutscenePtr += sizeof(CsCmdBase); + } + break; + } + } +} +#else #pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/Cutscene_ProcessCommands.s") +#endif -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800ED980.s") +/* End of command handling section */ -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800ED9C4.s") +void func_800ED980(GlobalContext* globalCtx, CutsceneContext* csCtx) { + if (gSaveContext.cutscene >= 0xFFF0) { + csCtx->frames++; + Cutscene_ProcessCommands(globalCtx, csCtx, (u8*)globalCtx->csCtx.csData); + } +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EDA04.s") +void func_800ED9C4(GlobalContext* globalCtx, CutsceneContext* csCtx) { + if (func_800EA220(globalCtx, csCtx, 0.0f)) { + Audio_SetCutsceneFlag(false); + csCtx->state = CS_STATE_0; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EDA84.s") +// unused +void func_800EDA04(GlobalContext* globalCtx, CutsceneContext* csCtx) { + if (func_800EA220(globalCtx, csCtx, 0.0f)) { + s16 i; + csCtx->playerAction = NULL; + + for (i = 0; i < ARRAY_COUNT(csCtx->actorActions); i++) { + csCtx->actorActions[i] = NULL; + } + + gSaveContext.cutscene = 0; + gSaveContext.gameMode = 0; + ActorCutscene_Stop(0x7F); + Audio_SetCutsceneFlag(false); + csCtx->state = CS_STATE_0; + } +} + +void func_800EDA84(GlobalContext* globalCtx, CutsceneContext* csCtx) { + if ((gSaveContext.cutsceneTrigger != 0) && (csCtx->state == CS_STATE_0) && !Player_InCsMode(&globalCtx->state)) { + gSaveContext.cutscene = 0xFFFD; + } + + if ((gSaveContext.cutscene >= 0xFFF0) && (csCtx->state == CS_STATE_0)) { + s16 i; + + D_801BB124 = 0; + D_801BB128 = 0; + csCtx->playerAction = NULL; + + for (i = 0; i < ARRAY_COUNT(csCtx->actorActions); i++) { + csCtx->actorActions[i] = NULL; + } + + csCtx->state++; + if (csCtx->state == CS_STATE_1) { + Audio_SetCutsceneFlag(true); + + csCtx->frames = 0xFFFF; + csCtx->csCamId = ActorCutscene_GetCurrentCamera(0x7F); + func_8016119C(Play_GetCamera(globalCtx, csCtx->csCamId), &sCutsceneCameraInfo); + csCtx->unk_18 = 0xFFFF; + + if (gSaveContext.cutsceneTrigger == 0) { + Interface_ChangeAlpha(1); + ShrinkWindow_SetLetterboxTarget(32); + ShrinkWindow_SetLetterboxMagnitude(0x20); + csCtx->state++; + } + + func_800ED980(globalCtx, csCtx); + } + + gSaveContext.cutsceneTrigger = 0; + } +} + +#ifdef NON_MATCHING +// HandleFlags? +// regalloc +void func_800EDBE0(GlobalContext* globalCtx) { + CutsceneEntry* temp_a3; + s16 sp2A; + SceneTableEntry* sp24; + s32 temp_v0_3; + + if (((gSaveContext.gameMode == 0) || (gSaveContext.gameMode == 1)) && (gSaveContext.respawnFlag <= 0)) { + sp2A = func_800F21CC(); + if (sp2A != -1) { + temp_v0_3 = func_800F2138(sp2A); + if (temp_v0_3 != -1) { + temp_a3 = ((void)0, globalCtx->csCtx.sceneCsList); + if ((temp_a3[temp_v0_3].unk7 != 0xFF) && (gSaveContext.respawnFlag == 0)) { + if (temp_a3[temp_v0_3].unk7 == 0xFE) { + ActorCutscene_Start(sp2A, NULL); + gSaveContext.showTitleCard = false; + } else if (!((1 << (temp_a3[temp_v0_3].unk7 % 8)) & + gSaveContext.weekEventReg[temp_a3[temp_v0_3].unk7 / 8])) { + gSaveContext.weekEventReg[(temp_a3[temp_v0_3].unk7 / 8)] |= 1 << (temp_a3[temp_v0_3].unk7 % 8); + ActorCutscene_Start(sp2A, NULL); + gSaveContext.showTitleCard = false; + } + } + } else { + ActorCutscene_StartAndSetUnkLinkFields(sp2A, NULL); + } + } + } + + if ((gSaveContext.respawnFlag == 0) || (gSaveContext.respawnFlag == -2)) { + sp24 = globalCtx->loadedScene; + if ((sp24->titleTextId != 0) && gSaveContext.showTitleCard) { + if ((Entrance_GetTransitionFlags(gSaveContext.sceneSetupIndex + gSaveContext.entranceIndex) & 0x4000) != + 0) { + func_80151A68(globalCtx, sp24->titleTextId); + } + } + + gSaveContext.showTitleCard = true; + } +} +#else #pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EDBE0.s") +#endif -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/nop_800EDDB0.s") +void func_800EDDB0(GlobalContext* globalCtx) { +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EDDBC.s") +void func_800EDDBC(UNK_TYPE arg0, UNK_TYPE arg1) { +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EDDCC.s") +void Cutscene_LoadCutsceneData(GlobalContext* globalCtx, u8 csIndex) { + if (dREG(95) == 0) { + globalCtx->csCtx.currentCsIndex = csIndex; + globalCtx->csCtx.csData = Lib_SegmentedToVirtual(globalCtx->csCtx.sceneCsList[csIndex].segmentedData); + } -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EDE34.s") + gSaveContext.cutsceneTrigger = 1; +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EDF24.s") +/* Start of actor utilities section */ -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EDF78.s") +/** + * Interpolates the actor's position based on the corresponding actor action's position + * and the current cutscene frame + */ +void Cutscene_ActorTranslate(Actor* actor, GlobalContext* globalCtx, s32 actorActionIndex) { + Vec3f start; + Vec3f end; + CsCmdActorAction* entry = globalCtx->csCtx.actorActions[actorActionIndex]; + f32 progress; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EE0CC.s") + start.x = entry->startPos.x; + start.y = entry->startPos.y; + start.z = entry->startPos.z; + end.x = entry->endPos.x; + end.y = entry->endPos.y; + end.z = entry->endPos.z; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EE1D8.s") + progress = Environment_LerpWeight(entry->endFrame, entry->startFrame, globalCtx->csCtx.frames); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EE200.s") + VEC3F_LERPIMPDST(&actor->world.pos, &start, &end, progress); +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EE29C.s") +/** + * Interpolates the actor's position based on the corresponding actor action's position + * and the current cutscene frame, and sets the actor's yaw using the actor action yaw + */ +void Cutscene_ActorTranslateAndYaw(Actor* actor, GlobalContext* globalCtx, s32 actorActionIndex) { + Cutscene_ActorTranslate(actor, globalCtx, actorActionIndex); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EE2F4.s") + actor->world.rot.y = globalCtx->csCtx.actorActions[actorActionIndex]->urot.y; + actor->shape.rot.y = actor->world.rot.y; +} + +/** + * Interpolates the actor's position and yaw based on the corresponding actor action's + * position and the current cutscene frame + */ +void Cutscene_ActorTranslateAndYawSmooth(Actor* actor, GlobalContext* globalCtx, s32 actorActionIndex) { + Vec3f start; + Vec3f end; + CsCmdActorAction* entry; + f32 progress; + + start.x = globalCtx->csCtx.actorActions[actorActionIndex]->startPos.x; + start.y = globalCtx->csCtx.actorActions[actorActionIndex]->startPos.y; + start.z = globalCtx->csCtx.actorActions[actorActionIndex]->startPos.z; + end.x = globalCtx->csCtx.actorActions[actorActionIndex]->endPos.x; + end.y = globalCtx->csCtx.actorActions[actorActionIndex]->endPos.y; + end.z = globalCtx->csCtx.actorActions[actorActionIndex]->endPos.z; + + entry = globalCtx->csCtx.actorActions[actorActionIndex]; + progress = Environment_LerpWeight(entry->endFrame, entry->startFrame, globalCtx->csCtx.frames); + + VEC3F_LERPIMPDST(&actor->world.pos, &start, &end, progress); + + Math_SmoothStepToS(&actor->world.rot.y, Math_Vec3f_Yaw(&start, &end), 10, 1000, 1); + actor->shape.rot.y = actor->world.rot.y; +} + +/** + * Interpolates the actor's XZ position and yaw based on the corresponding actor action's + * position and the current cutscene frame + */ +void Cutscene_ActorTranslateXZAndYawSmooth(Actor* actor, GlobalContext* globalCtx, s32 actorActionIndex) { + Vec3f start; + Vec3f end; + CsCmdActorAction* entry; + f32 progress; + + start.x = globalCtx->csCtx.actorActions[actorActionIndex]->startPos.x; + start.z = globalCtx->csCtx.actorActions[actorActionIndex]->startPos.z; + end.x = globalCtx->csCtx.actorActions[actorActionIndex]->endPos.x; + end.z = globalCtx->csCtx.actorActions[actorActionIndex]->endPos.z; + + entry = globalCtx->csCtx.actorActions[actorActionIndex]; + progress = Environment_LerpWeight(entry->endFrame, entry->startFrame, globalCtx->csCtx.frames); + + actor->world.pos.x = start.x + (end.x - start.x) * progress; + actor->world.pos.z = start.z + (end.z - start.z) * progress; + + Math_SmoothStepToS(&actor->world.rot.y, Math_Vec3f_Yaw(&start, &end), 10, 1000, 1); + actor->shape.rot.y = actor->world.rot.y; +} + +s32 Cutscene_GetSceneSetupIndex(GlobalContext* globalCtx) { + s32 sceneSetupIndex = 0; + + if (gSaveContext.sceneSetupIndex > 0) { + sceneSetupIndex = gSaveContext.sceneSetupIndex; + } + return sceneSetupIndex; +} + +s32 Cutscene_GetActorActionIndex(GlobalContext* globalCtx, u16 actorActionCmd) { + s32 i; + s32 index = -1; + + for (i = 0; i < ARRAY_COUNT(D_801F4DC8); i++) { + if (actorActionCmd == D_801F4DC8[i]) { + index = i; + } + } + + return index; +} + +s32 Cutscene_CheckActorAction(GlobalContext* globalCtx, u16 actorActionCmd) { + if (globalCtx->csCtx.state != CS_STATE_0) { + s32 index = Cutscene_GetActorActionIndex(globalCtx, actorActionCmd); + + if (index != -1) { + return globalCtx->csCtx.actorActions[index] != NULL; + } + } + + return false; +} + +u8 Cutscene_IsPlaying(GlobalContext* globalCtx) { + return (gSaveContext.cutsceneTrigger != 0) || (globalCtx->csCtx.state != CS_STATE_0); +} + +/* End of actor utilities section */ diff --git a/src/code/z_kankyo.c b/src/code/z_kankyo.c index 6221e09107..ad66fe4a18 100644 --- a/src/code/z_kankyo.c +++ b/src/code/z_kankyo.c @@ -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_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") @@ -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_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") diff --git a/src/code/z_message.c b/src/code/z_message.c index 84f2ab951c..0eceeee309 100644 --- a/src/code/z_message.c +++ b/src/code/z_message.c @@ -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_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") diff --git a/src/code/z_room.c b/src/code/z_room.c index f54882fd63..67c6c61586 100644 --- a/src/code/z_room.c +++ b/src/code/z_room.c @@ -114,7 +114,7 @@ s32 Room_HandleLoadCallbacks(GlobalContext* globalCtx, RoomContext* roomCtx) { if (((globalCtx->sceneNum != SCENE_IKANA) || (roomCtx->currRoom.num != 1)) && (globalCtx->sceneNum != SCENE_IKNINSIDE)) { - globalCtx->envCtx.unk_C3 = 0xff; + globalCtx->envCtx.lightSettingOverride = 0xff; globalCtx->envCtx.unk_E0 = 0; } func_800FEAB0(); diff --git a/src/code/z_scene_proc.c b/src/code/z_scene_proc.c index 57e2930a26..b04b79bb47 100644 --- a/src/code/z_scene_proc.c +++ b/src/code/z_scene_proc.c @@ -1,4 +1,3 @@ -#include "prevent_bss_reordering.h" #include "global.h" s32 sMatAnimStep; diff --git a/src/libultra/flash/osFlash.c b/src/libultra/flash/osFlash.c index cf90bc75bc..edba06fc22 100644 --- a/src/libultra/flash/osFlash.c +++ b/src/libultra/flash/osFlash.c @@ -1,14 +1,13 @@ -#include "prevent_bss_reordering.h" #include "ultra64.h" #include "global.h" -static s32 framDeviceInfo[4]; -static OSIoMesg framDeviceInfoQuery; -static OSMesgQueue __osFlashMessageQ; -static OSPiHandle __osFlashHandler; -static OSMesg __osFlashMsgBuf; -static s32 __osFlashVersion; -static UNK_TYPE1 D_801FD0FC[0x14]; +s32 framDeviceInfo[4]; +OSIoMesg framDeviceInfoQuery; +OSMesgQueue __osFlashMessageQ; +OSPiHandle __osFlashHandler; +OSMesg __osFlashMsgBuf; +s32 __osFlashVersion; +UNK_TYPE1 D_801FD0FC[0x14]; typedef enum { FLASH_OLD, diff --git a/src/overlays/actors/ovl_Bg_Ctower_Gear/z_bg_ctower_gear.c b/src/overlays/actors/ovl_Bg_Ctower_Gear/z_bg_ctower_gear.c index 25b01a0985..09876c3503 100644 --- a/src/overlays/actors/ovl_Bg_Ctower_Gear/z_bg_ctower_gear.c +++ b/src/overlays/actors/ovl_Bg_Ctower_Gear/z_bg_ctower_gear.c @@ -163,8 +163,8 @@ void BgCtowerGear_Update(Actor* thisx, GlobalContext* globalCtx) { void BgCtowerGear_UpdateOrgan(Actor* thisx, GlobalContext* globalCtx) { BgCtowerGear* this = THIS; - if (func_800EE29C(globalCtx, 0x68)) { - switch (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x68)]->unk0) { + if (Cutscene_CheckActorAction(globalCtx, 104)) { + switch (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 104)]->action) { case 1: this->dyna.actor.draw = NULL; func_800C62BC(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId); diff --git a/src/overlays/actors/ovl_Bg_Haka_Curtain/z_bg_haka_curtain.c b/src/overlays/actors/ovl_Bg_Haka_Curtain/z_bg_haka_curtain.c index dc97a21510..576388d5c8 100644 --- a/src/overlays/actors/ovl_Bg_Haka_Curtain/z_bg_haka_curtain.c +++ b/src/overlays/actors/ovl_Bg_Haka_Curtain/z_bg_haka_curtain.c @@ -125,9 +125,9 @@ void BgHakaCurtain_Update(Actor* thisx, GlobalContext* globalCtx) { BgHakaCurtain* this = THIS; CsCmdActorAction* actorAction; - if (func_800EE29C(globalCtx, 0x1D5)) { - actorAction = globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x1D5)]; - if (actorAction->startFrame == globalCtx->csCtx.frames && actorAction->unk0 == 2) { + if (Cutscene_CheckActorAction(globalCtx, 469)) { + actorAction = globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 469)]; + if (actorAction->startFrame == globalCtx->csCtx.frames && actorAction->action == 2) { func_80B6DD80(this); } } diff --git a/src/overlays/actors/ovl_Bg_Iknv_Obj/z_bg_iknv_obj.c b/src/overlays/actors/ovl_Bg_Iknv_Obj/z_bg_iknv_obj.c index 3707221ddb..a9bf942564 100644 --- a/src/overlays/actors/ovl_Bg_Iknv_Obj/z_bg_iknv_obj.c +++ b/src/overlays/actors/ovl_Bg_Iknv_Obj/z_bg_iknv_obj.c @@ -131,8 +131,8 @@ void BgIknvObj_UpdateWaterwheel(BgIknvObj* this, GlobalContext* globalCtx) { 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) && - (globalCtx->csCtx.frames == 1495)) { + if ((globalCtx->csCtx.state != 0) && (gSaveContext.sceneSetupIndex == 1) && + (globalCtx->csCtx.currentCsIndex == 4) && (globalCtx->csCtx.frames == 1495)) { func_8019F128(NA_SE_EV_DOOR_UNLOCK); } } diff --git a/src/overlays/actors/ovl_Boss_02/z_boss_02.c b/src/overlays/actors/ovl_Boss_02/z_boss_02.c index 9a519eb6e2..e2c8c079e6 100644 --- a/src/overlays/actors/ovl_Boss_02/z_boss_02.c +++ b/src/overlays/actors/ovl_Boss_02/z_boss_02.c @@ -1281,22 +1281,22 @@ void func_809DC78C(Actor* thisx, GlobalContext* globalCtx) { Boss02* this = THIS; this->unk_01AC = D_809DF5B0; - globalCtx->envCtx.unk_EA = 0xD; + globalCtx->envCtx.sandstormState = 0xD; if (D_809E0434 != NULL) { this->unk_1D74 = KREG(23) + -15.0f; D_801F4E30 = 0; - globalCtx->envCtx.unk_C3 = 1; + globalCtx->envCtx.lightSettingOverride = 1; globalCtx->skyboxId = 1; } else if (D_809E0422 == 0) { this->unk_1D74 = 0.0f; D_801F4E30 = this->unk_1D7C; - globalCtx->envCtx.unk_C3 = 0; + globalCtx->envCtx.lightSettingOverride = 0; globalCtx->skyboxId = 2; } else { this->unk_1D74 = KREG(23) + -15.0f; D_801F4E30 = ((KREG(24) * 0.1f) + 1.0f) * this->unk_1D7C; - globalCtx->envCtx.unk_C3 = 1; + globalCtx->envCtx.lightSettingOverride = 1; globalCtx->skyboxId = 1; } @@ -1650,7 +1650,7 @@ void func_809DD934(Boss02* this, GlobalContext* globalCtx) { switch (this->unk_1D18) { case 0: if (player->stateFlags1 & 0x100) { - func_800EA0D4(globalCtx, &globalCtx->csCtx); + Cutscene_Start(globalCtx, &globalCtx->csCtx); this->unk_1D22 = Play_CreateSubCamera(globalCtx); Play_CameraChangeStatus(globalCtx, CAM_ID_MAIN, 1); Play_CameraChangeStatus(globalCtx, this->unk_1D22, 7); @@ -1770,7 +1770,7 @@ void func_809DD934(Boss02* this, GlobalContext* globalCtx) { this->unk_1D18 = 0; func_80169AFC(globalCtx, this->unk_1D22, 0); this->unk_1D22 = 0; - func_800EA0EC(globalCtx, &globalCtx->csCtx); + Cutscene_End(globalCtx, &globalCtx->csCtx); this->actor.flags |= ACTOR_FLAG_1; player->stateFlags1 &= ~0x100; this->unk_1D70 = 0.01f; @@ -1784,7 +1784,7 @@ void func_809DD934(Boss02* this, GlobalContext* globalCtx) { Actor_SetScale(&player->actor, this->unk_1D70); } - globalCtx->envCtx.unk_8C.fogNear = this->unk_1D74; + globalCtx->envCtx.lightSettings.fogNear = this->unk_1D74; if (sp57) { 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_GetStateTranslationAndScaledY(1.0f, &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 @@ -2077,7 +2077,7 @@ void func_809DEAC4(Boss02* this, GlobalContext* globalCtx) { if ((gSaveContext.weekEventReg[52] & 0x20) || ((u32)(KREG(13) + 15) >= this->unk_1D1C)) { break; } - func_800EA0D4(globalCtx, &globalCtx->csCtx); + Cutscene_Start(globalCtx, &globalCtx->csCtx); this->unk_1D22 = Play_CreateSubCamera(globalCtx); Play_CameraChangeStatus(globalCtx, CAM_ID_MAIN, 1); 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)) { func_80169AFC(globalCtx, this->unk_1D22, 0); this->unk_1D22 = 0; - func_800EA0EC(globalCtx, &globalCtx->csCtx); + Cutscene_End(globalCtx, &globalCtx->csCtx); func_800B7298(globalCtx, &this->actor, 6); this->actor.flags |= ACTOR_FLAG_1; this->unk_1D20 = 0; @@ -2175,7 +2175,7 @@ void func_809DEAC4(Boss02* this, GlobalContext* globalCtx) { case 100: if (ActorCutscene_GetCurrentIndex() == -1) { - func_800EA0D4(globalCtx, &globalCtx->csCtx); + Cutscene_Start(globalCtx, &globalCtx->csCtx); this->unk_1D22 = Play_CreateSubCamera(globalCtx); Play_CameraChangeStatus(globalCtx, CAM_ID_MAIN, 1); Play_CameraChangeStatus(globalCtx, this->unk_1D22, 7); @@ -2224,7 +2224,7 @@ void func_809DEAC4(Boss02* this, GlobalContext* globalCtx) { if (this->unk_1D1C == 30) { func_80169AFC(globalCtx, this->unk_1D22, 0); this->unk_1D22 = 0; - func_800EA0EC(globalCtx, &globalCtx->csCtx); + Cutscene_End(globalCtx, &globalCtx->csCtx); func_800B7298(globalCtx, &this->actor, 6); this->unk_1D20 = 0; 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); this->unk_1D3C.z = this->unk_1D3C.x = 0.0f; this->unk_1D3C.y = 1.0f; - ShrinkWindow_SetLetterboxTarget(0x1B); + ShrinkWindow_SetLetterboxTarget(27); } } diff --git a/src/overlays/actors/ovl_Boss_04/z_boss_04.c b/src/overlays/actors/ovl_Boss_04/z_boss_04.c index 72a397d068..b4106527b6 100644 --- a/src/overlays/actors/ovl_Boss_04/z_boss_04.c +++ b/src/overlays/actors/ovl_Boss_04/z_boss_04.c @@ -259,7 +259,7 @@ void func_809EC568(Boss04* this, GlobalContext* globalCtx) { this->unk_708 = 10; this->unk_704 = 0; - func_800EA0D4(globalCtx, &globalCtx->csCtx); + Cutscene_Start(globalCtx, &globalCtx->csCtx); this->unk_70A = Play_CreateSubCamera(globalCtx); Play_CameraChangeStatus(globalCtx, CAM_ID_MAIN, 1); Play_CameraChangeStatus(globalCtx, this->unk_70A, 7); @@ -389,7 +389,7 @@ void func_809EC568(Boss04* this, GlobalContext* globalCtx) { sp5C->at = this->unk_718; func_80169AFC(globalCtx, 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_80165690(); gSaveContext.eventInf[6] |= 1; @@ -400,7 +400,7 @@ void func_809EC568(Boss04* this, GlobalContext* globalCtx) { if (this->unk_70A != 0) { Vec3f sp50; - ShrinkWindow_SetLetterboxTarget(0x1B); + ShrinkWindow_SetLetterboxTarget(27); if (this->unk_748 != 0) { this->unk_748--; } diff --git a/src/overlays/actors/ovl_Boss_06/z_boss_06.c b/src/overlays/actors/ovl_Boss_06/z_boss_06.c index 0040f26fa5..262bc1979d 100644 --- a/src/overlays/actors/ovl_Boss_06/z_boss_06.c +++ b/src/overlays/actors/ovl_Boss_06/z_boss_06.c @@ -197,7 +197,7 @@ void func_809F24C8(Boss06* this, GlobalContext* globalCtx) { break; } - func_800EA0D4(globalCtx, &globalCtx->csCtx); + Cutscene_Start(globalCtx, &globalCtx->csCtx); func_800B7298(globalCtx, &this->actor, 7); this->unk_A00 = Play_CreateSubCamera(globalCtx); Play_CameraChangeStatus(globalCtx, CAM_ID_MAIN, 1); @@ -219,11 +219,11 @@ void func_809F24C8(Boss06* this, GlobalContext* globalCtx) { case 1: if (this->unk_1CA >= 10) { Math_ApproachF(&this->unk_1E4, 30.0f, 0.2f, 1.0f); - globalCtx->envCtx.unk_E5 = 1; - globalCtx->envCtx.unk_E6[2] = 0; - globalCtx->envCtx.unk_E6[1] = 0; - globalCtx->envCtx.unk_E6[0] = 0; - globalCtx->envCtx.unk_E6[3] = this->unk_A2C; + globalCtx->envCtx.fillScreen = 1; + globalCtx->envCtx.screenFillColor[2] = 0; + globalCtx->envCtx.screenFillColor[1] = 0; + globalCtx->envCtx.screenFillColor[0] = 0; + globalCtx->envCtx.screenFillColor[3] = this->unk_A2C; 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) { - globalCtx->envCtx.unk_E5 = 0; + globalCtx->envCtx.fillScreen = 0; this->unk_1C8 = 0; this->unk_1DC = 0.0f; this->unk_1D8 = 0.0f; @@ -331,7 +331,7 @@ void func_809F24C8(Boss06* this, GlobalContext* globalCtx) { func_809F2ED0(this, globalCtx); func_80169AFC(globalCtx, this->unk_A00, 0); this->unk_A00 = 0; - func_800EA0EC(globalCtx, &globalCtx->csCtx); + Cutscene_End(globalCtx, &globalCtx->csCtx); func_800B7298(globalCtx, &this->actor, 6); D_809F4970->unk_151 = 0; } @@ -339,7 +339,7 @@ void func_809F24C8(Boss06* this, GlobalContext* globalCtx) { } if (this->unk_A00 != 0) { - ShrinkWindow_SetLetterboxTarget(0x1B); + ShrinkWindow_SetLetterboxTarget(27); Play_CameraSetAtEye(globalCtx, this->unk_A00, &this->unk_A10, &this->unk_A04); } } diff --git a/src/overlays/actors/ovl_Dm_Char00/z_dm_char00.c b/src/overlays/actors/ovl_Dm_Char00/z_dm_char00.c index df179cf865..c72634216a 100644 --- a/src/overlays/actors/ovl_Dm_Char00/z_dm_char00.c +++ b/src/overlays/actors/ovl_Dm_Char00/z_dm_char00.c @@ -458,11 +458,11 @@ void func_80AA5EBC(DmChar00* this, GlobalContext* globalCtx) { case SCENE_OPENINGDAN: if (gSaveContext.sceneSetupIndex == 0) { - if (globalCtx->csCtx.unk_12 == 0) { + if (globalCtx->csCtx.currentCsIndex == 0) { func_80AA5720(this, globalCtx); - } else if (globalCtx->csCtx.unk_12 == 1) { + } else if (globalCtx->csCtx.currentCsIndex == 1) { func_80AA575C(this, globalCtx); - } else if (globalCtx->csCtx.unk_12 == 2) { + } else if (globalCtx->csCtx.currentCsIndex == 2) { func_80AA5890(this, globalCtx); } } @@ -470,17 +470,17 @@ void func_80AA5EBC(DmChar00* this, GlobalContext* globalCtx) { case SCENE_OKUJOU: if (gSaveContext.sceneSetupIndex == 0) { - if (globalCtx->csCtx.unk_12 == 0) { + if (globalCtx->csCtx.currentCsIndex == 0) { func_80AA58CC(this, globalCtx); - } else if (globalCtx->csCtx.unk_12 == 1) { + } else if (globalCtx->csCtx.currentCsIndex == 1) { func_80AA5950(this, globalCtx); - } else if (globalCtx->csCtx.unk_12 == 2) { + } else if (globalCtx->csCtx.currentCsIndex == 2) { func_80AA5960(this, globalCtx); } } else if (gSaveContext.sceneSetupIndex == 2) { - if (globalCtx->csCtx.unk_12 == 0) { + if (globalCtx->csCtx.currentCsIndex == 0) { func_80AA59E4(this, globalCtx); - } else if (globalCtx->csCtx.unk_12 == 1) { + } else if (globalCtx->csCtx.currentCsIndex == 1) { func_80AA5A6C(this, globalCtx); } } @@ -488,34 +488,34 @@ void func_80AA5EBC(DmChar00* this, GlobalContext* globalCtx) { case SCENE_00KEIKOKU: if (gSaveContext.sceneSetupIndex == 3) { - if (globalCtx->csCtx.unk_12 == 0) { + if (globalCtx->csCtx.currentCsIndex == 0) { func_80AA5AF4(this, globalCtx); - } else if (globalCtx->csCtx.unk_12 == 2) { + } else if (globalCtx->csCtx.currentCsIndex == 2) { func_80AA5E2C(this, globalCtx); } } else if (gSaveContext.sceneSetupIndex == 7) { - if (globalCtx->csCtx.unk_12 == 0) { + if (globalCtx->csCtx.currentCsIndex == 0) { func_80AA5BF8(this, globalCtx); - } else if (globalCtx->csCtx.unk_12 == 1) { + } else if (globalCtx->csCtx.currentCsIndex == 1) { func_80AA5CD4(this, globalCtx); } } break; case SCENE_MITURIN: - if ((gSaveContext.sceneSetupIndex == 0) && (globalCtx->csCtx.unk_12 == 1)) { + if ((gSaveContext.sceneSetupIndex == 0) && (globalCtx->csCtx.currentCsIndex == 1)) { func_80AA5DC8(this, globalCtx); } break; case SCENE_INSIDETOWER: - if ((gSaveContext.sceneSetupIndex == 0) && (globalCtx->csCtx.unk_12 == 0)) { + if ((gSaveContext.sceneSetupIndex == 0) && (globalCtx->csCtx.currentCsIndex == 0)) { func_80AA5D10(this, globalCtx); } break; case SCENE_PIRATE: - if ((gSaveContext.sceneSetupIndex == 0) && (globalCtx->csCtx.unk_12 == 0)) { + if ((gSaveContext.sceneSetupIndex == 0) && (globalCtx->csCtx.currentCsIndex == 0)) { func_80AA5D6C(this, globalCtx); } break; @@ -527,7 +527,7 @@ void DmChar00_Init(Actor* thisx, GlobalContext* globalCtx) { s32 pad; DmChar00* this = THIS; - if ((globalCtx->sceneNum == SCENE_LOST_WOODS) && !func_800EE2F4(globalCtx)) { + if ((globalCtx->sceneNum == SCENE_LOST_WOODS) && !Cutscene_IsPlaying(globalCtx)) { Actor_MarkForDeath(thisx); } @@ -551,18 +551,18 @@ void DmChar00_Destroy(Actor* thisx, GlobalContext* globalCtx) { } void func_80AA62FC(DmChar00* this, GlobalContext* globalCtx) { - u16 sp26 = DMCHAR00_GET(&this->actor) + 0x71; - u32 temp_v0; + u16 sp26 = DMCHAR00_GET(&this->actor) + 113; + s32 temp_v0; s32 pad; - if (func_800EE29C(globalCtx, sp26)) { - temp_v0 = func_800EE200(globalCtx, sp26); + if (Cutscene_CheckActorAction(globalCtx, sp26)) { + temp_v0 = Cutscene_GetActorActionIndex(globalCtx, sp26); - if (globalCtx->csCtx.frames == globalCtx->csCtx.npcActions[temp_v0]->startFrame) { - if (this->unk_260 != globalCtx->csCtx.npcActions[temp_v0]->unk0) { - this->unk_260 = globalCtx->csCtx.npcActions[temp_v0]->unk0; + if (globalCtx->csCtx.frames == globalCtx->csCtx.actorActions[temp_v0]->startFrame) { + if (this->unk_260 != globalCtx->csCtx.actorActions[temp_v0]->action) { + 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: this->unk_261 = 0; break; @@ -786,7 +786,7 @@ void func_80AA62FC(DmChar00* this, GlobalContext* globalCtx) { func_80AA5580(&this->skelAnime, &sAnimations[this->unk_261], 0); } } - func_800EDF24(&this->actor, globalCtx, temp_v0); + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, temp_v0); } else { this->unk_260 = 99; } @@ -853,7 +853,8 @@ void func_80AA62FC(DmChar00* this, GlobalContext* globalCtx) { void func_80AA67F8(DmChar00* this, GlobalContext* 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) { this->unk_261 = 42; 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) && ((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))) { return; } diff --git a/src/overlays/actors/ovl_Dm_Char01/z_dm_char01.c b/src/overlays/actors/ovl_Dm_Char01/z_dm_char01.c index 1bc42f32b0..959207b8d5 100644 --- a/src/overlays/actors/ovl_Dm_Char01/z_dm_char01.c +++ b/src/overlays/actors/ovl_Dm_Char01/z_dm_char01.c @@ -196,8 +196,9 @@ void func_80AA884C(DmChar01* this, GlobalContext* globalCtx) { } void func_80AA88A8(DmChar01* this, GlobalContext* globalCtx) { - if (func_800EE29C(globalCtx, 0x87)) { - if (globalCtx->csCtx.frames == globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x87)]->startFrame) { + if (Cutscene_CheckActorAction(globalCtx, 135)) { + if (globalCtx->csCtx.frames == + globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 135)]->startFrame) { D_80AAAE24 = 1; 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) { - if (func_800EE29C(globalCtx, 0x87)) { - CsCmdActorAction* temp_v1 = globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x87)]; + if (Cutscene_CheckActorAction(globalCtx, 135)) { + 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; this->actionFunc = func_80AA90AC; } diff --git a/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.c b/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.c index bcf593de9f..956f7317c1 100644 --- a/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.c +++ b/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.c @@ -177,15 +177,14 @@ void func_80AAC990(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) { - temp_v0 = func_800EE200(globalCtx, 0x6D); - if (globalCtx->csCtx.npcActions[temp_v0]->unk0 == 4) { + if (globalCtx->csCtx.actorActions[actionIndex]->action == 4) { this->unk_18E = 1; - this->unk_190.x = globalCtx->csCtx.npcActions[temp_v0]->unk0C.x; - this->unk_190.y = globalCtx->csCtx.npcActions[temp_v0]->unk0C.y; - this->unk_190.z = globalCtx->csCtx.npcActions[temp_v0]->unk0C.z; + this->unk_190.x = globalCtx->csCtx.actorActions[actionIndex]->startPos.x; + this->unk_190.y = globalCtx->csCtx.actorActions[actionIndex]->startPos.y; + 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) { - u32 sp24; + if (Cutscene_CheckActorAction(globalCtx, 564)) { + s32 actionIndex = Cutscene_GetActorActionIndex(globalCtx, 564); - if (func_800EE29C(globalCtx, 0x234)) { - sp24 = func_800EE200(globalCtx, 0x234); - if (globalCtx->csCtx.npcActions[sp24]->unk0 == 2) { - if (globalCtx->csCtx.frames == globalCtx->csCtx.npcActions[sp24]->startFrame) { + if (globalCtx->csCtx.actorActions[actionIndex]->action == 2) { + if (globalCtx->csCtx.frames == globalCtx->csCtx.actorActions[actionIndex]->startFrame) { Item_Give(globalCtx, ITEM_MASK_COUPLE); } this->unk_18E = 1; - this->unk_190.x = globalCtx->csCtx.npcActions[sp24]->unk0C.x; - this->unk_190.y = globalCtx->csCtx.npcActions[sp24]->unk0C.y; - this->unk_190.z = globalCtx->csCtx.npcActions[sp24]->unk0C.z; + this->unk_190.x = globalCtx->csCtx.actorActions[actionIndex]->startPos.x; + this->unk_190.y = globalCtx->csCtx.actorActions[actionIndex]->startPos.y; + this->unk_190.z = globalCtx->csCtx.actorActions[actionIndex]->startPos.z; } else { this->unk_18E = 0; } @@ -279,14 +277,13 @@ void func_80AACD1C(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_190.x = globalCtx->csCtx.npcActions[temp_v0]->unk0C.x; - this->unk_190.y = globalCtx->csCtx.npcActions[temp_v0]->unk0C.y; - this->unk_190.z = globalCtx->csCtx.npcActions[temp_v0]->unk0C.z; + this->unk_190.x = globalCtx->csCtx.actorActions[actionIndex]->startPos.x; + this->unk_190.y = globalCtx->csCtx.actorActions[actionIndex]->startPos.y; + 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) { - 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_190.x = globalCtx->csCtx.npcActions[temp_v0]->unk0C.x; - this->unk_190.y = globalCtx->csCtx.npcActions[temp_v0]->unk0C.y; - this->unk_190.z = globalCtx->csCtx.npcActions[temp_v0]->unk0C.z; + this->unk_190.x = globalCtx->csCtx.actorActions[actionIndex]->startPos.x; + this->unk_190.y = globalCtx->csCtx.actorActions[actionIndex]->startPos.y; + this->unk_190.z = globalCtx->csCtx.actorActions[actionIndex]->startPos.z; } } void func_80AACF04(DmChar05* this, GlobalContext* globalCtx) { u8 sp2F = true; - u32 temp_v0; + s32 actionIndex; switch (DMCHAR05_GET(&this->actor)) { case DMCHAR05_0: - if (func_800EE29C(globalCtx, 0x6D)) { - temp_v0 = func_800EE200(globalCtx, 0x6D); + if (Cutscene_CheckActorAction(globalCtx, 109)) { + actionIndex = Cutscene_GetActorActionIndex(globalCtx, 109); - if (globalCtx->csCtx.frames == globalCtx->csCtx.npcActions[temp_v0]->startFrame) { - switch (globalCtx->csCtx.npcActions[temp_v0]->unk0) { + if (globalCtx->csCtx.frames == globalCtx->csCtx.actorActions[actionIndex]->startFrame) { + switch (globalCtx->csCtx.actorActions[actionIndex]->action) { case 1: sp2F = false; 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; case DMCHAR05_1: - if (func_800EE29C(globalCtx, 0x1D9)) { - temp_v0 = func_800EE200(globalCtx, 0x1D9); + if (Cutscene_CheckActorAction(globalCtx, 473)) { + actionIndex = Cutscene_GetActorActionIndex(globalCtx, 473); - if (globalCtx->csCtx.frames == globalCtx->csCtx.npcActions[temp_v0]->startFrame) { - switch (globalCtx->csCtx.npcActions[temp_v0]->unk0) { + if (globalCtx->csCtx.frames == globalCtx->csCtx.actorActions[actionIndex]->startFrame) { + switch (globalCtx->csCtx.actorActions[actionIndex]->action) { case 1: sp2F = false; 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; case DMCHAR05_2: - if (func_800EE29C(globalCtx, 0x206)) { - temp_v0 = func_800EE200(globalCtx, 0x206); + if (Cutscene_CheckActorAction(globalCtx, 518)) { + actionIndex = Cutscene_GetActorActionIndex(globalCtx, 518); - if (globalCtx->csCtx.frames == globalCtx->csCtx.npcActions[temp_v0]->startFrame) { - switch (globalCtx->csCtx.npcActions[temp_v0]->unk0) { + if (globalCtx->csCtx.frames == globalCtx->csCtx.actorActions[actionIndex]->startFrame) { + switch (globalCtx->csCtx.actorActions[actionIndex]->action) { case 1: sp2F = false; 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; case DMCHAR05_3: - if (func_800EE29C(globalCtx, 0x22F)) { - temp_v0 = func_800EE200(globalCtx, 0x22F); + if (Cutscene_CheckActorAction(globalCtx, 559)) { + actionIndex = Cutscene_GetActorActionIndex(globalCtx, 559); - if (globalCtx->csCtx.frames == globalCtx->csCtx.npcActions[temp_v0]->startFrame) { - switch (globalCtx->csCtx.npcActions[temp_v0]->unk0) { + if (globalCtx->csCtx.frames == globalCtx->csCtx.actorActions[actionIndex]->startFrame) { + switch (globalCtx->csCtx.actorActions[actionIndex]->action) { default: sp2F = false; break; @@ -478,10 +474,10 @@ void func_80AACF04(DmChar05* this, GlobalContext* globalCtx) { } } - if (globalCtx->csCtx.npcActions[temp_v0]->unk0 != 4) { - func_800EDF24(&this->actor, globalCtx, temp_v0); + if (globalCtx->csCtx.actorActions[actionIndex]->action != 4) { + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, actionIndex); } 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) { if (DMCHAR05_GET(&this->actor) == DMCHAR05_0) { - if (func_800EE29C(globalCtx, 0x6D) && - (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x6D)]->unk0 == 3)) { + if (Cutscene_CheckActorAction(globalCtx, 109) && + (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 109)]->action == 3)) { if (Animation_OnFrame(&this->skelAnime, 14.0f) || Animation_OnFrame(&this->skelAnime, 15.0f)) { Actor_PlaySfxAtPos(&this->actor, NA_SE_IT_MASK_BOUND_0); } 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) { - if (func_800EE29C(globalCtx, 0x1D9)) { - if ((globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x1D9)]->unk0 == 3) && + if (Cutscene_CheckActorAction(globalCtx, 473)) { + if ((globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 473)]->action == 3) && Animation_OnFrame(&this->skelAnime, 5.0f)) { Actor_PlaySfxAtPos(&this->actor, NA_SE_IT_MASK_BOUND_SAND); } } } else if (DMCHAR05_GET(&this->actor) == DMCHAR05_2) { - if (func_800EE29C(globalCtx, 0x206) && - (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x206)]->unk0 == 2)) { + if (Cutscene_CheckActorAction(globalCtx, 518) && + (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 518)]->action == 2)) { if (Animation_OnFrame(&this->skelAnime, 7.0f)) { 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) { if (globalCtx->sceneNum == SCENE_OKUJOU) { if (gSaveContext.sceneSetupIndex == 2) { - if (globalCtx->csCtx.unk_12 == 0) { + if (globalCtx->csCtx.currentCsIndex == 0) { func_80AAD3F8(this, globalCtx); - } else if (globalCtx->csCtx.unk_12 == 1) { + } else if (globalCtx->csCtx.currentCsIndex == 1) { func_80AAD450(this, globalCtx); } } } else if (globalCtx->sceneNum == SCENE_SPOT00) { 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); } } else if ((gSaveContext.sceneSetupIndex == 0xB) && (globalCtx->csCtx.frames == 115)) { @@ -572,25 +568,25 @@ void DmChar05_Update(Actor* thisx, GlobalContext* globalCtx) { DmChar05* this = THIS; func_80AACF04(this, globalCtx); - if (func_800EE29C(globalCtx, 0x6D)) { - if (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x6D)]->unk0 == 3) { + if (Cutscene_CheckActorAction(globalCtx, 109)) { + if (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 109)]->action == 3) { SkelAnime_Update(&this->skelAnime); } - } else if (func_800EE29C(globalCtx, 0x1D9)) { - if (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x1D9)]->unk0 == 3) { + } else if (Cutscene_CheckActorAction(globalCtx, 473)) { + if (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 473)]->action == 3) { SkelAnime_Update(&this->skelAnime); } - } else if (func_800EE29C(globalCtx, 0x206)) { - if (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x206)]->unk0 == 2) { + } else if (Cutscene_CheckActorAction(globalCtx, 518)) { + if (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 518)]->action == 2) { SkelAnime_Update(&this->skelAnime); } - } else if (func_800EE29C(globalCtx, 0x22F)) { - if ((globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x22F)]->unk0 == 2) || - (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x22F)]->unk0 == 3)) { + } else if (Cutscene_CheckActorAction(globalCtx, 559)) { + if ((globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 559)]->action == 2) || + (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 559)]->action == 3)) { 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.shape.rot.y += 0x258; } @@ -612,8 +608,8 @@ void func_80AAD998(Actor* thisx, GlobalContext* globalCtx) { s32 pad[2]; if (this->unk_18E == 0) { - if (func_800EE29C(globalCtx, 0x6D) && - (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x6D)]->unk0 != 1)) { + if (Cutscene_CheckActorAction(globalCtx, 109) && + (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 109)]->action != 1)) { OPEN_DISPS(globalCtx->state.gfxCtx); func_8012C28C(globalCtx->state.gfxCtx); @@ -633,8 +629,8 @@ void func_80AADA90(Actor* thisx, GlobalContext* globalCtx) { DmChar05* this = THIS; if (this->unk_18E == 0) { - if (func_800EE29C(globalCtx, 0x1D9) && - (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x1D9)]->unk0 != 1)) { + if (Cutscene_CheckActorAction(globalCtx, 473) && + (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 473)]->action != 1)) { func_8012C28C(globalCtx->state.gfxCtx); SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, DmChar05_OverrideLimbDraw, DmChar05_PostLimbDraw, &this->actor); @@ -648,8 +644,8 @@ void func_80AADB4C(Actor* thisx, GlobalContext* globalCtx) { DmChar05* this = THIS; if (this->unk_18E == 0) { - if (func_800EE29C(globalCtx, 0x206) && - (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x206)]->unk0 != 1)) { + if (Cutscene_CheckActorAction(globalCtx, 518) && + (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 518)]->action != 1)) { func_8012C28C(globalCtx->state.gfxCtx); SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, 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) { s32 pad; DmChar05* this = THIS; - u32 temp_v0; + s32 actionIndex; - if (func_800EE29C(globalCtx, 0x22F)) { - temp_v0 = func_800EE200(globalCtx, 0x22F); + if (Cutscene_CheckActorAction(globalCtx, 559)) { + 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); SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, 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); Gfx_DrawDListOpa(globalCtx, object_dmask_DL_001E70); } diff --git a/src/overlays/actors/ovl_Dm_Nb/z_dm_nb.c b/src/overlays/actors/ovl_Dm_Nb/z_dm_nb.c index 5603df165f..4dd75d8435 100644 --- a/src/overlays/actors/ovl_Dm_Nb/z_dm_nb.c +++ b/src/overlays/actors/ovl_Dm_Nb/z_dm_nb.c @@ -43,7 +43,7 @@ s32 func_80C1DED0(DmNb* this, s32 arg1) { void func_80C1DF18(DmNb* this, GlobalContext* globalCtx) { s32 sp2C[] = { 0, 0, 0, 0, 0 }; u16 actionUnk0; - u32 actionIndex; + s32 actionIndex; if (globalCtx->csCtx.state != 0) { if (this->unk1F8 == 0) { @@ -51,14 +51,14 @@ void func_80C1DF18(DmNb* this, GlobalContext* globalCtx) { this->unk1F8 = 1; this->unk1F4 = this->unk1F0; } - if (func_800EE29C(globalCtx, 0x232)) { - actionIndex = func_800EE200(globalCtx, 0x232); - actionUnk0 = globalCtx->csCtx.npcActions[actionIndex]->unk0; + if (Cutscene_CheckActorAction(globalCtx, 562)) { + actionIndex = Cutscene_GetActorActionIndex(globalCtx, 562); + actionUnk0 = globalCtx->csCtx.actorActions[actionIndex]->action; if (this->unk1EC != (actionUnk0 & 0xFF)) { this->unk1EC = actionUnk0; func_80C1DED0(this, sp2C[actionUnk0]); } - func_800EDF24(&this->actor, globalCtx, actionIndex); + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, actionIndex); } } else if (this->unk1F8 != 0) { this->unk1F8 = 0; diff --git a/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c b/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c index 359efcf56f..2017e960b5 100644 --- a/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c +++ b/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c @@ -721,7 +721,7 @@ void func_80AA0E90(DmStk* this, GlobalContext* globalCtx) { func_80A9FED8(this, globalCtx); } else if (gSaveContext.sceneSetupIndex == 0) { 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); } break; @@ -734,9 +734,9 @@ void func_80AA0E90(DmStk* this, GlobalContext* globalCtx) { case SCENE_OPENINGDAN: if (gSaveContext.sceneSetupIndex == 0) { - if (globalCtx->csCtx.unk_12 == 0) { + if (globalCtx->csCtx.currentCsIndex == 0) { func_80AA01C0(this, globalCtx); - } else if (globalCtx->csCtx.unk_12 == 1) { + } else if (globalCtx->csCtx.currentCsIndex == 1) { func_80AA0264(this, globalCtx); } } @@ -744,19 +744,19 @@ void func_80AA0E90(DmStk* this, GlobalContext* globalCtx) { case SCENE_OKUJOU: if (gSaveContext.sceneSetupIndex == 0) { - if (globalCtx->csCtx.unk_12 == 0) { + if (globalCtx->csCtx.currentCsIndex == 0) { func_80AA0420(this, globalCtx); - } else if (globalCtx->csCtx.unk_12 == 1) { + } else if (globalCtx->csCtx.currentCsIndex == 1) { func_80AA05F0(this, globalCtx); - } else if (globalCtx->csCtx.unk_12 == 2) { + } else if (globalCtx->csCtx.currentCsIndex == 2) { func_80AA09DC(this, globalCtx); - } else if (globalCtx->csCtx.unk_12 == 3) { + } else if (globalCtx->csCtx.currentCsIndex == 3) { func_80AA0B08(this, globalCtx); } } else if (gSaveContext.sceneSetupIndex == 2) { - if (globalCtx->csCtx.unk_12 == 0) { + if (globalCtx->csCtx.currentCsIndex == 0) { func_80AA0DA8(this, globalCtx); - } else if (globalCtx->csCtx.unk_12 == 1) { + } else if (globalCtx->csCtx.currentCsIndex == 1) { func_80AA0E1C(this, globalCtx); } } @@ -764,15 +764,15 @@ void func_80AA0E90(DmStk* this, GlobalContext* globalCtx) { case SCENE_00KEIKOKU: if (gSaveContext.sceneSetupIndex == 3) { - if (globalCtx->csCtx.unk_12 == 0) { + if (globalCtx->csCtx.currentCsIndex == 0) { func_80AA0634(this, globalCtx); - } else if (globalCtx->csCtx.unk_12 == 2) { + } else if (globalCtx->csCtx.currentCsIndex == 2) { func_80AA066C(this, globalCtx); } } else if (gSaveContext.sceneSetupIndex == 7) { - if (globalCtx->csCtx.unk_12 == 0) { + if (globalCtx->csCtx.currentCsIndex == 0) { func_80AA071C(this, globalCtx); - } else if (globalCtx->csCtx.unk_12 == 1) { + } else if (globalCtx->csCtx.currentCsIndex == 1) { func_80AA076C(this, globalCtx); } } @@ -894,7 +894,7 @@ void DmStk_Init(Actor* thisx, GlobalContext* globalCtx) { this->unk_2E0 = 5; this->actionFunc = func_80AA1714; } else { - if ((globalCtx->sceneNum == SCENE_LOST_WOODS) && !func_800EE2F4(globalCtx)) { + if ((globalCtx->sceneNum == SCENE_LOST_WOODS) && !Cutscene_IsPlaying(globalCtx)) { Actor_MarkForDeath(&this->actor); } this->unk_32C = 2; @@ -920,7 +920,7 @@ void DmStk_Init(Actor* thisx, GlobalContext* globalCtx) { Actor_SetScale(&this->actor, 0.01f); 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_18 = 15; } @@ -1051,7 +1051,7 @@ void func_80AA1B9C(DmStk* this, GlobalContext* globalCtx) { if (this->unk_339 >= 3) { this->unk_339 = 0; 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) { s32 pad; - u32 temp_v0; + s32 temp_v0; - if (func_800EE29C(globalCtx, 0x6B)) { - temp_v0 = func_800EE200(globalCtx, 0x6B); + if (Cutscene_CheckActorAction(globalCtx, 107)) { + temp_v0 = Cutscene_GetActorActionIndex(globalCtx, 107); - if (globalCtx->csCtx.frames == globalCtx->csCtx.npcActions[temp_v0]->startFrame) { - if (this->unk_334 != globalCtx->csCtx.npcActions[temp_v0]->unk0) { - this->unk_334 = globalCtx->csCtx.npcActions[temp_v0]->unk0; + if (globalCtx->csCtx.frames == globalCtx->csCtx.actorActions[temp_v0]->startFrame) { + if (this->unk_334 != globalCtx->csCtx.actorActions[temp_v0]->action) { + this->unk_334 = globalCtx->csCtx.actorActions[temp_v0]->action; if (globalCtx->sceneNum == SCENE_CLOCKTOWER) { this->unk_32D = 6; } else { this->unk_32D = 9; } - switch (globalCtx->csCtx.npcActions[temp_v0]->unk0) { + switch (globalCtx->csCtx.actorActions[temp_v0]->action) { case 0: case 1: 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 { this->unk_334 = 99; } @@ -1482,7 +1482,7 @@ void func_80AA2720(DmStk* this, GlobalContext* globalCtx) { if (this->unk_328 > 800) { this->unk_328 = 0; 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)) { @@ -1579,7 +1579,7 @@ void DmStk_Update(Actor* thisx, GlobalContext* globalCtx) { } 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_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_005870); - if (func_800EE29C(globalCtx, 0x201) && - (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x201)]->unk0 == 2) && (this->unk_337 >= 0)) { + if (Cutscene_CheckActorAction(globalCtx, 513) && + (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 513)]->action == 2) && + (this->unk_337 >= 0)) { Matrix_StatePush(); Matrix_Scale(2.0f, 2.0f, 2.0f, MTXMODE_APPLY); gSegments[6] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[this->unk_337].segment); diff --git a/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c b/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c index e284955380..a1a738fee8 100644 --- a/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c +++ b/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c @@ -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_1F0); - for (i = 0; i < ARRAY_COUNT(globalCtx->envCtx.unk_8C.diffuseColor1); i++) { - globalCtx->envCtx.unk_8C.diffuseColor1[i] = 0; - globalCtx->envCtx.unk_8C.fogColor[i] = globalCtx->envCtx.unk_8C.diffuseColor1[i]; - globalCtx->envCtx.unk_8C.ambientColor[i] = globalCtx->envCtx.unk_8C.diffuseColor1[i]; + for (i = 0; i < ARRAY_COUNT(globalCtx->envCtx.lightSettings.diffuseColor1); i++) { + globalCtx->envCtx.lightSettings.diffuseColor1[i] = 0; + globalCtx->envCtx.lightSettings.fogColor[i] = globalCtx->envCtx.lightSettings.diffuseColor1[i]; + globalCtx->envCtx.lightSettings.ambientColor[i] = globalCtx->envCtx.lightSettings.diffuseColor1[i]; } if (this->unk_1D3 != 0) { @@ -279,14 +279,15 @@ void func_808B8E78(DoorWarp1* this, GlobalContext* globalCtx) { } s32 func_808B900C(DoorWarp1* this, GlobalContext* globalCtx) { - u32 index; + s32 index; u8 ret = false; - if (func_800EE29C(globalCtx, 0x239)) { - index = func_800EE200(globalCtx, 0x239); - if (this->unk_208 != globalCtx->csCtx.npcActions[index]->unk0) { - this->unk_208 = globalCtx->csCtx.npcActions[index]->unk0; - if (globalCtx->csCtx.npcActions[index]->unk0 == 2) { + if (Cutscene_CheckActorAction(globalCtx, 569)) { + index = Cutscene_GetActorActionIndex(globalCtx, 569); + + if (this->unk_208 != globalCtx->csCtx.actorActions[index]->action) { + this->unk_208 = globalCtx->csCtx.actorActions[index]->action; + if (globalCtx->csCtx.actorActions[index]->action == 2) { ret = true; } } @@ -344,7 +345,7 @@ void func_808B921C(DoorWarp1* this, GlobalContext* globalCtx) { if (func_808B866C(this, globalCtx) && !func_801690CC(globalCtx)) { 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); } @@ -831,15 +832,15 @@ void func_808BA550(DoorWarp1* this, GlobalContext* globalCtx) { } if (this->unk_1D0 > 140) { - globalCtx->envCtx.unk_E5 = 1; + globalCtx->envCtx.fillScreen = 1; temp_f0 = (this->unk_1D0 - 140) / 20.0f; if (temp_f0 > 1.0f) { temp_f0 = 1.0f; } - globalCtx->envCtx.unk_E6[0] = 160; - globalCtx->envCtx.unk_E6[1] = 160; - globalCtx->envCtx.unk_E6[2] = 160; - globalCtx->envCtx.unk_E6[3] = 255.0f * temp_f0; + globalCtx->envCtx.screenFillColor[0] = 160; + globalCtx->envCtx.screenFillColor[1] = 160; + globalCtx->envCtx.screenFillColor[2] = 160; + 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, @@ -862,13 +863,13 @@ void func_808BA550(DoorWarp1* this, GlobalContext* globalCtx) { temp_f16 = -255.0f * temp_f0; for (i = 0; i < 3; i++) { - globalCtx->envCtx.unk_8C.diffuseColor1[i] = temp_f16; - globalCtx->envCtx.unk_8C.fogColor[i] = temp_f16; - globalCtx->envCtx.unk_8C.ambientColor[i] = temp_f16; + globalCtx->envCtx.lightSettings.diffuseColor1[i] = temp_f16; + globalCtx->envCtx.lightSettings.fogColor[i] = temp_f16; + globalCtx->envCtx.lightSettings.ambientColor[i] = temp_f16; } - globalCtx->envCtx.unk_8C.fogNear = -500.0f * temp_f0; - if (globalCtx->envCtx.unk_8C.fogNear < -300) { + globalCtx->envCtx.lightSettings.fogNear = -500.0f * temp_f0; + if (globalCtx->envCtx.lightSettings.fogNear < -300) { globalCtx->roomCtx.currRoom.segment = NULL; } } diff --git a/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.c b/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.c index e8e78d6506..7f540f3b64 100644 --- a/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.c +++ b/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.c @@ -455,7 +455,7 @@ void func_80BED3BC(EnAkindonuts* this, GlobalContext* globalCtx) { break; } - func_801518B0(globalCtx, this->unk_33C, &this->actor); + Message_StartTextbox(globalCtx, this->unk_33C, &this->actor); } void func_80BED680(EnAkindonuts* this, GlobalContext* globalCtx) { @@ -526,7 +526,7 @@ void func_80BED680(EnAkindonuts* this, GlobalContext* globalCtx) { break; } - func_801518B0(globalCtx, this->unk_33C, &this->actor); + Message_StartTextbox(globalCtx, this->unk_33C, &this->actor); } void func_80BED8A4(EnAkindonuts* this, GlobalContext* globalCtx) { @@ -632,7 +632,7 @@ void func_80BED8A4(EnAkindonuts* this, GlobalContext* globalCtx) { break; } - func_801518B0(globalCtx, this->unk_33C, &this->actor); + Message_StartTextbox(globalCtx, this->unk_33C, &this->actor); } void func_80BEDB88(EnAkindonuts* this, GlobalContext* globalCtx) { @@ -704,7 +704,7 @@ void func_80BEDB88(EnAkindonuts* this, GlobalContext* globalCtx) { break; } - func_801518B0(globalCtx, this->unk_33C, &this->actor); + Message_StartTextbox(globalCtx, this->unk_33C, &this->actor); } void func_80BEDDAC(EnAkindonuts* this, GlobalContext* globalCtx) { @@ -805,7 +805,7 @@ void func_80BEDDAC(EnAkindonuts* this, GlobalContext* globalCtx) { break; } - func_801518B0(globalCtx, this->unk_33C, &this->actor); + Message_StartTextbox(globalCtx, this->unk_33C, &this->actor); } void func_80BEE070(EnAkindonuts* this, GlobalContext* globalCtx) { @@ -872,7 +872,7 @@ void func_80BEE070(EnAkindonuts* this, GlobalContext* globalCtx) { break; } - func_801518B0(globalCtx, this->unk_33C, &this->actor); + Message_StartTextbox(globalCtx, this->unk_33C, &this->actor); } void func_80BEE274(EnAkindonuts* this, GlobalContext* globalCtx) { @@ -966,7 +966,7 @@ void func_80BEE274(EnAkindonuts* this, GlobalContext* globalCtx) { break; } - func_801518B0(globalCtx, this->unk_33C, &this->actor); + Message_StartTextbox(globalCtx, this->unk_33C, &this->actor); } void func_80BEE530(EnAkindonuts* this, GlobalContext* globalCtx) { @@ -1033,7 +1033,7 @@ void func_80BEE530(EnAkindonuts* this, GlobalContext* globalCtx) { break; } - func_801518B0(globalCtx, this->unk_33C, &this->actor); + Message_StartTextbox(globalCtx, this->unk_33C, &this->actor); } void func_80BEE73C(EnAkindonuts* this, GlobalContext* globalCtx) { diff --git a/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.c b/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.c index e3e9b35ff3..26cde7e4c8 100644 --- a/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.c +++ b/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.c @@ -411,7 +411,7 @@ void func_809C16DC(EnAob01* this, GlobalContext* globalCtx) { break; } - func_801518B0(globalCtx, this->unk_210, &this->actor); + Message_StartTextbox(globalCtx, this->unk_210, &this->actor); } void func_809C1C9C(EnAob01* this, GlobalContext* globalCtx) { @@ -439,13 +439,13 @@ void func_809C1D64(EnAob01* this, GlobalContext* globalCtx) { if (gSaveContext.rupees < 10) { play_sound(NA_SE_SY_ERROR); this->unk_210 = 0x3524; - func_801518B0(globalCtx, this->unk_210, &this->actor); + Message_StartTextbox(globalCtx, this->unk_210, &this->actor); } else { func_8019F208(); this->unk_2D2 |= 4; this->unk_2D2 |= 0x10; this->unk_210 = 0x3522; - func_801518B0(globalCtx, this->unk_210, &this->actor); + Message_StartTextbox(globalCtx, this->unk_210, &this->actor); this->actionFunc = func_809C21E0; } break; @@ -453,7 +453,7 @@ void func_809C1D64(EnAob01* this, GlobalContext* globalCtx) { case 1: func_8019F230(); this->unk_210 = 0x3535; - func_801518B0(globalCtx, this->unk_210, &this->actor); + Message_StartTextbox(globalCtx, this->unk_210, &this->actor); break; } } @@ -556,7 +556,7 @@ void func_809C21E0(EnAob01* this, GlobalContext* globalCtx) { this->unk_2D2 |= 0x40; this->unk_43C = 1; Actor_ChangeAnimationByInfo(&this->skelAnime, D_809C3790, 1); - func_801518B0(globalCtx, 0x354B, &this->actor); + Message_StartTextbox(globalCtx, 0x354B, &this->actor); } this->unk_2D2 &= ~8; } @@ -738,7 +738,7 @@ void func_809C28B8(EnAob01* this, GlobalContext* globalCtx) { break; } - func_801518B0(globalCtx, this->unk_210, &this->actor); + Message_StartTextbox(globalCtx, this->unk_210, &this->actor); this->actionFunc = func_809C2D0C; } else if (this->actor.xzDistToPlayer < 100.0f) { func_800B8614(&this->actor, globalCtx, 100.0f); @@ -824,7 +824,7 @@ void func_809C2D0C(EnAob01* this, GlobalContext* globalCtx) { this->unk_2D2 &= ~0x80; if (this->unk_434 >= 150) { this->unk_210 = 0x352E; - func_801518B0(globalCtx, this->unk_210, &this->actor); + Message_StartTextbox(globalCtx, this->unk_210, &this->actor); this->actionFunc = func_809C2A64; } else { this->unk_2D4 = this->unk_2E6; @@ -842,7 +842,7 @@ void func_809C2D0C(EnAob01* this, GlobalContext* globalCtx) { } this->unk_210 = 0x354C; - func_801518B0(globalCtx, this->unk_210, &this->actor); + Message_StartTextbox(globalCtx, this->unk_210, &this->actor); this->actionFunc = func_809C1D64; gSaveContext.eventInf[0] &= (u8)~7; } diff --git a/src/overlays/actors/ovl_En_Baba/z_en_baba.c b/src/overlays/actors/ovl_En_Baba/z_en_baba.c index 1afcf51093..25cf5e6e48 100644 --- a/src/overlays/actors/ovl_En_Baba/z_en_baba.c +++ b/src/overlays/actors/ovl_En_Baba/z_en_baba.c @@ -233,7 +233,7 @@ void func_80BA886C(EnBaba* this, GlobalContext* globalCtx) { 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 & 0x40) { this->unk_40A &= ~0x40; @@ -603,7 +603,7 @@ void func_80BA9B80(EnBaba* this, GlobalContext* globalCtx) { if (this->unk_40A & 2) { 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; } else if ((this->actor.xzDistToPlayer < 100.0f) || this->actor.isTargeted) { func_800B863C(&this->actor, globalCtx); diff --git a/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.c b/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.c index 092595bdc1..00f4be6e8e 100644 --- a/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.c +++ b/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.c @@ -187,7 +187,7 @@ void EnBba01_Talk(EnHy* this, GlobalContext* globalCtx) { case 0: yaw = ABS_ALT(this->actor.shape.rot.y - this->actor.yawTowardsPlayer); if (yaw < 0x64) { - func_801518B0(globalCtx, this->textId, NULL); + Message_StartTextbox(globalCtx, this->textId, NULL); } break; case 2: diff --git a/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c b/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c index 8c72d369c9..f305684ed2 100644 --- a/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c +++ b/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c @@ -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 */ 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); this->frozenPos.y = GBT_ROOM_5_MIN_Y; this->shockwaveAlpha = 235; @@ -931,7 +931,7 @@ void EnBigslime_SetupCutsceneStartBattle(EnBigslime* this, GlobalContext* global Player* player = GET_PLAYER(globalCtx); Camera* subCam = Play_GetCamera(globalCtx, this->subCamId); - globalCtx->envCtx.unk_C3 = 4; + globalCtx->envCtx.lightSettingOverride = 4; Animation_PlayLoop(&this->skelAnime, &gGekkoLookAroundAnim); this->bigslimeCollider[0].base.atFlags &= ~AT_ON; @@ -1008,7 +1008,7 @@ void EnBigslime_CallMinislime(EnBigslime* this, GlobalContext* globalCtx) { EnBigslime_UpdateCameraIntroCs(this, globalCtx, 25); func_801A2E54(0x38); EnBigslime_InitFallMinislime(this); - globalCtx->envCtx.unk_C3 = 0xFF; + globalCtx->envCtx.lightSettingOverride = 0xFF; this->callTimer = 35; func_800B7298(globalCtx, &this->actor, 4); } @@ -1988,7 +1988,7 @@ void EnBigslime_Melt(EnBigslime* this, GlobalContext* globalCtx) { if (this->meltCounter == 100) { EnBigslime_SetTargetVtxFromPreFrozen(this); } 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) { EnMinislime* minislime; - globalCtx->envCtx.unk_C3 = 2; + globalCtx->envCtx.lightSettingOverride = 2; EnBigslime_SetPlayerParams(this, globalCtx); this->rotation = 0; EnBigslime_SetupFreeze(this); @@ -2772,8 +2772,8 @@ void EnBigslime_UpdateBigslime(Actor* thisx, GlobalContext* globalCtx) { Vec3f vtxMax; Vec3f vtxMin; - if (globalCtx->envCtx.unk_C3 == 3) { - globalCtx->envCtx.unk_C3 = 0xFF; + if (globalCtx->envCtx.lightSettingOverride == 3) { + globalCtx->envCtx.lightSettingOverride = 0xFF; } func_8019F540(1); @@ -2817,8 +2817,8 @@ void EnBigslime_UpdateGekko(Actor* thisx, GlobalContext* globalCtx) { Player* player; s32 pad; - if (globalCtx->envCtx.unk_C3 == 3) { - globalCtx->envCtx.unk_C3 = 0xFF; + if (globalCtx->envCtx.lightSettingOverride == 3) { + globalCtx->envCtx.lightSettingOverride = 0xFF; } func_8019F540(0); diff --git a/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.c b/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.c index fd6c8aae7e..53bdc09953 100644 --- a/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.c +++ b/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.c @@ -183,7 +183,7 @@ void func_809CD028(EnBji01* this, GlobalContext* globalCtx) { tempDay = gSaveContext.day; tempTimeBeforeMoonCrash = ((-(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; } else { 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); func_809CCDE0(this, globalCtx); if (this->actor.shape.rot.y == this->actor.yawTowardsPlayer) { - func_801518B0(globalCtx, this->textId, &this->actor); + Message_StartTextbox(globalCtx, this->textId, &this->actor); } break; case 4: diff --git a/src/overlays/actors/ovl_En_Bom/z_en_bom.c b/src/overlays/actors/ovl_En_Bom/z_en_bom.c index 7d9b0a6b3e..57a88bcef5 100644 --- a/src/overlays/actors/ovl_En_Bom/z_en_bom.c +++ b/src/overlays/actors/ovl_En_Bom/z_en_bom.c @@ -350,28 +350,28 @@ void func_808715B8(EnBom* this, GlobalContext* globalCtx) { CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider2.base); } - if (globalCtx->envCtx.unk_8C.diffuseColor1[0] != 0) { - globalCtx->envCtx.unk_8C.diffuseColor1[0] -= 25; + if (globalCtx->envCtx.lightSettings.diffuseColor1[0] != 0) { + globalCtx->envCtx.lightSettings.diffuseColor1[0] -= 25; } - if (globalCtx->envCtx.unk_8C.diffuseColor1[1] != 0) { - globalCtx->envCtx.unk_8C.diffuseColor1[1] -= 25; + if (globalCtx->envCtx.lightSettings.diffuseColor1[1] != 0) { + globalCtx->envCtx.lightSettings.diffuseColor1[1] -= 25; } - if (globalCtx->envCtx.unk_8C.diffuseColor1[2] != 0) { - globalCtx->envCtx.unk_8C.diffuseColor1[2] -= 25; + if (globalCtx->envCtx.lightSettings.diffuseColor1[2] != 0) { + globalCtx->envCtx.lightSettings.diffuseColor1[2] -= 25; } - if (globalCtx->envCtx.unk_8C.ambientColor[0] != 0) { - globalCtx->envCtx.unk_8C.ambientColor[0] -= 25; + if (globalCtx->envCtx.lightSettings.ambientColor[0] != 0) { + globalCtx->envCtx.lightSettings.ambientColor[0] -= 25; } - if (globalCtx->envCtx.unk_8C.ambientColor[1] != 0) { - globalCtx->envCtx.unk_8C.ambientColor[1] -= 25; + if (globalCtx->envCtx.lightSettings.ambientColor[1] != 0) { + globalCtx->envCtx.lightSettings.ambientColor[1] -= 25; } - if (globalCtx->envCtx.unk_8C.ambientColor[2] != 0) { - globalCtx->envCtx.unk_8C.ambientColor[2] -= 25; + if (globalCtx->envCtx.lightSettings.ambientColor[2] != 0) { + globalCtx->envCtx.lightSettings.ambientColor[2] -= 25; } 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, 0, 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.unk_8C.diffuseColor1[2] = 250; - globalCtx->envCtx.unk_8C.ambientColor[0] = globalCtx->envCtx.unk_8C.ambientColor[1] = - globalCtx->envCtx.unk_8C.ambientColor[2] = 250; + globalCtx->envCtx.lightSettings.diffuseColor1[0] = globalCtx->envCtx.lightSettings.diffuseColor1[1] = + globalCtx->envCtx.lightSettings.diffuseColor1[2] = 250; + globalCtx->envCtx.lightSettings.ambientColor[0] = globalCtx->envCtx.lightSettings.ambientColor[1] = + globalCtx->envCtx.lightSettings.ambientColor[2] = 250; func_800DFD04(&globalCtx->mainCamera, 2, 11, 8); thisx->params = ENBOM_1; this->timer = 10; diff --git a/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c b/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c index 7bd4fa89f2..397f230688 100644 --- a/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c +++ b/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c @@ -232,9 +232,9 @@ void func_809C4DA4(EnBomBowlMan* this, GlobalContext* globalCtx) { this->unk_2D4 = this->actor.yawTowardsPlayer; this->unk_290 = this->actor.yawTowardsPlayer; if (player->transformation == PLAYER_FORM_HUMAN) { - func_801518B0(globalCtx, D_809C618C[0], &this->actor); + Message_StartTextbox(globalCtx, D_809C618C[0], &this->actor); } 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; } 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; } @@ -585,10 +585,10 @@ void func_809C5BF4(EnBomBowlMan* this, GlobalContext* globalCtx) { D_809C6100 = 0; if (player->transformation == PLAYER_FORM_HUMAN) { 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 { 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->actionFunc = func_809C4DA4; diff --git a/src/overlays/actors/ovl_En_Bomjimb/z_en_bomjimb.c b/src/overlays/actors/ovl_En_Bomjimb/z_en_bomjimb.c index 77f3ad96bd..26e9291d1d 100644 --- a/src/overlays/actors/ovl_En_Bomjimb/z_en_bomjimb.c +++ b/src/overlays/actors/ovl_En_Bomjimb/z_en_bomjimb.c @@ -661,7 +661,7 @@ void func_80C02740(EnBomjimb* this, GlobalContext* globalCtx) { func_80C0113C(this, 21, 1.0f); if ((player->transformation != PLAYER_FORM_DEKU) && (player->transformation != PLAYER_FORM_HUMAN)) { func_80C0113C(this, 17, 1.0f); - func_801518B0(globalCtx, 0x72E, &this->actor); + Message_StartTextbox(globalCtx, 0x72E, &this->actor); player->stateFlags1 |= 0x10000000; player->actor.freezeTimer = 3; func_80C012E0(this); @@ -673,7 +673,7 @@ void func_80C02740(EnBomjimb* this, GlobalContext* globalCtx) { if (((player->transformation == PLAYER_FORM_DEKU) && !(gSaveContext.weekEventReg[73] & 0x10)) || ((player->transformation == PLAYER_FORM_HUMAN) && !(gSaveContext.weekEventReg[85] & 2))) { func_80C0113C(this, 17, 1.0f); - func_801518B0(globalCtx, 0x72E, &this->actor); + Message_StartTextbox(globalCtx, 0x72E, &this->actor); player->stateFlags1 |= 0x10000000; player->actor.freezeTimer = 3; func_80C012E0(this); @@ -683,7 +683,7 @@ void func_80C02740(EnBomjimb* this, GlobalContext* globalCtx) { } idx = gSaveContext.unk_FE6; - func_801518B0(globalCtx, D_80C03230[idx], &this->actor); + Message_StartTextbox(globalCtx, D_80C03230[idx], &this->actor); idx = gSaveContext.unk_FE6; gSaveContext.unk_FE7[idx] = this->unk_2C8 + 1; gSaveContext.unk_FE6++; diff --git a/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.c b/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.c index 2992f356e1..cddff71cc7 100644 --- a/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.c +++ b/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.c @@ -544,7 +544,7 @@ void EnClearTag_UpdateCamera(EnClearTag* this, GlobalContext* globalCtx) { } break; case 1: - func_800EA0D4(globalCtx, &globalCtx->csCtx); + Cutscene_Start(globalCtx, &globalCtx->csCtx); this->subCamId = Play_CreateSubCamera(globalCtx); Play_CameraChangeStatus(globalCtx, CAM_ID_MAIN, 1); 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.y = mainCam->at.y; this->subCamAt.z = mainCam->at.z; - func_801518B0(globalCtx, 0xF, NULL); + Message_StartTextbox(globalCtx, 0xF, NULL); this->cameraState = 2; func_8019FDC8(&D_801DB4A4, NA_SE_VO_NA_LISTEN, 0x20); case 2: @@ -573,7 +573,7 @@ void EnClearTag_UpdateCamera(EnClearTag* this, GlobalContext* globalCtx) { mainCam->eyeNext = this->subCamEye; mainCam->at = this->subCamAt; func_80169AFC(globalCtx, this->subCamId, 0); - func_800EA0EC(globalCtx, &globalCtx->csCtx); + Cutscene_End(globalCtx, &globalCtx->csCtx); func_800B7298(globalCtx, &this->actor, 6); this->cameraState = 0; this->subCamId = CAM_ID_MAIN; diff --git a/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.c b/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.c index 1d61df5bc8..3d8623e7a0 100644 --- a/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.c +++ b/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.c @@ -177,7 +177,7 @@ void EnCne01_Talk(EnHy* this, GlobalContext* globalCtx) { case 0: yaw = ABS_ALT(this->actor.shape.rot.y - this->actor.yawTowardsPlayer); if (yaw < 0x64) { - func_801518B0(globalCtx, this->textId, NULL); + Message_StartTextbox(globalCtx, this->textId, NULL); } break; case 2: diff --git a/src/overlays/actors/ovl_En_Dai/z_en_dai.c b/src/overlays/actors/ovl_En_Dai/z_en_dai.c index 82562d45ca..3b96d1b4d6 100644 --- a/src/overlays/actors/ovl_En_Dai/z_en_dai.c +++ b/src/overlays/actors/ovl_En_Dai/z_en_dai.c @@ -179,7 +179,7 @@ s32 func_80B3E69C(EnDai* this, GlobalContext* globalCtx) { s32 ret = false; 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)) { Flags_SetSwitch(globalCtx, 20); this->unk_1CE |= (0x80 | 0x10); @@ -444,13 +444,12 @@ void func_80B3F044(EnDai* this, GlobalContext* globalCtx) { static s32 D_80B3FE38[] = { 0, 0, 6, 7, 8, }; - s32 sp2C = 0; s32 sp28; - if (func_800EE29C(globalCtx, 0x1D8)) { - sp2C = func_800EE200(globalCtx, 0x1D8); - sp28 = globalCtx->csCtx.npcActions[sp2C]->unk0; + if (Cutscene_CheckActorAction(globalCtx, 472)) { + sp2C = Cutscene_GetActorActionIndex(globalCtx, 472); + sp28 = globalCtx->csCtx.actorActions[sp2C]->action; if (this->unk_1CC != (u8)sp28) { func_80B3E5DC(this, D_80B3FE38[sp28]); switch (sp28) { @@ -508,7 +507,7 @@ void func_80B3F044(EnDai* this, GlobalContext* globalCtx) { break; } - func_800EDF24(&this->actor, globalCtx, sp2C); + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, sp2C); } void EnDai_Init(Actor* thisx, GlobalContext* globalCtx) { diff --git a/src/overlays/actors/ovl_En_Dg/z_en_dg.c b/src/overlays/actors/ovl_En_Dg/z_en_dg.c index 3c247f4476..263469dac7 100644 --- a/src/overlays/actors/ovl_En_Dg/z_en_dg.c +++ b/src/overlays/actors/ovl_En_Dg/z_en_dg.c @@ -378,16 +378,16 @@ void func_80989BF8(EnDg* this) { void func_80989D38(EnDg* this, GlobalContext* globalCtx) { if (this->unk_286 == 21) { if (CURRENT_DAY == 1) { - func_801518B0(globalCtx, 0x91C, NULL); + Message_StartTextbox(globalCtx, 0x91C, NULL); } else { - func_801518B0(globalCtx, 0x91E, NULL); + Message_StartTextbox(globalCtx, 0x91E, NULL); } } 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) { - func_801518B0(globalCtx, 0x353D, NULL); + Message_StartTextbox(globalCtx, 0x353D, NULL); } else { - func_801518B0(globalCtx, 0x627, NULL); + Message_StartTextbox(globalCtx, 0x627, NULL); } } diff --git a/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c b/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c index dcb3b98531..079abb641e 100644 --- a/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c +++ b/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c @@ -553,7 +553,7 @@ void func_8089B580(EnDinofos* this, GlobalContext* globalCtx) { if (this->skelAnime.curFrame > 35.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); @@ -564,7 +564,7 @@ void func_8089B580(EnDinofos* this, GlobalContext* globalCtx) { } 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)) { @@ -1054,7 +1054,7 @@ void func_8089CB10(EnDinofos* this, GlobalContext* globalCtx) { } if (globalCtx->sceneNum == SCENE_MITURIN) { - globalCtx->envCtx.unk_C3 = 11; + globalCtx->envCtx.lightSettingOverride = 11; } this->actionFunc = func_8089CBEC; @@ -1115,7 +1115,7 @@ void func_8089CF00(EnDinofos* this, GlobalContext* globalCtx) { Animation_PlayOnce(&this->skelAnime, &object_dinofos_Anim_0017B8); this->colliderJntSph.base.atFlags &= ~AT_ON; if (globalCtx->sceneNum == SCENE_MITURIN) { - globalCtx->envCtx.unk_C3 = 255; + globalCtx->envCtx.lightSettingOverride = 255; } this->actionFunc = func_8089CF70; } @@ -1285,7 +1285,7 @@ s32 func_8089D60C(EnDinofos* this, GlobalContext* globalCtx) { func_8089ACEC(this, globalCtx); func_8089AD70(this); if (globalCtx->sceneNum == SCENE_MITURIN) { - globalCtx->envCtx.unk_C3 = 255; + globalCtx->envCtx.lightSettingOverride = 255; } this->colliderQuad.base.atFlags &= ~(AT_ON | AT_BOUNCED); diff --git a/src/overlays/actors/ovl_En_Dnk/z_en_dnk.c b/src/overlays/actors/ovl_En_Dnk/z_en_dnk.c index 3692f4a4a0..d04ed3ee1f 100644 --- a/src/overlays/actors/ovl_En_Dnk/z_en_dnk.c +++ b/src/overlays/actors/ovl_En_Dnk/z_en_dnk.c @@ -213,8 +213,8 @@ void func_80A51648(EnDnk* this, GlobalContext* globalCtx) { } void func_80A51890(EnDnk* this, GlobalContext* globalCtx) { - if (func_800EE29C(globalCtx, 0x7E)) { - func_800EDF24(&this->actor, globalCtx, func_800EE200(globalCtx, 0x7E)); + if (Cutscene_CheckActorAction(globalCtx, 126)) { + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, Cutscene_GetActorActionIndex(globalCtx, 126)); } } diff --git a/src/overlays/actors/ovl_En_Dno/z_en_dno.c b/src/overlays/actors/ovl_En_Dno/z_en_dno.c index 03925cbe51..f05817282f 100644 --- a/src/overlays/actors/ovl_En_Dno/z_en_dno.c +++ b/src/overlays/actors/ovl_En_Dno/z_en_dno.c @@ -334,19 +334,19 @@ void func_80A71C3C(EnDno* this, GlobalContext* globalCtx) { void func_80A71E54(EnDno* this, GlobalContext* globalCtx) { if (CHECK_QUEST_ITEM(QUEST_SONG_SONATA)) { if (gSaveContext.weekEventReg[27] & 1) { - this->unk_464 = 0x811; + this->textId = 0x811; } else { - this->unk_464 = 0x80F; + this->textId = 0x80F; gSaveContext.weekEventReg[27] |= 1; } } else if (gSaveContext.weekEventReg[26] & 0x80) { - this->unk_464 = 0x80B; + this->textId = 0x80B; } else { - this->unk_464 = 0x80C; + this->textId = 0x80C; gSaveContext.weekEventReg[26] |= 0x80; } - if (this->unk_464 != 0x811) { + if (this->textId != 0x811) { this->unk_3B0 |= 0x10; } else { this->unk_3B0 &= ~0x10; @@ -361,12 +361,12 @@ void func_80A71F18(EnDno* this, GlobalContext* globalCtx) { case 0: if (!(this->unk_3B0 & 0x10) || Math_ScaledStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 0xE38)) { - switch (this->unk_464) { + switch (this->textId) { case 0x80B: SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 16, &this->unk_32C); case 0x811: - func_801518B0(globalCtx, this->unk_464, &this->actor); + Message_StartTextbox(globalCtx, this->textId, &this->actor); break; case 0x80C: @@ -375,7 +375,7 @@ void func_80A71F18(EnDno* this, GlobalContext* globalCtx) { SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 4, &this->unk_32C); } else if ((this->unk_32C == 4) && (this->skelAnime.curFrame == this->skelAnime.endFrame)) { 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; } @@ -548,11 +548,11 @@ void func_80A725F8(EnDno* this, GlobalContext* globalCtx) { } } else if ((this->unk_32C == 5) && Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) { 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) { - func_801518B0(globalCtx, 0x806, &this->actor); + Message_StartTextbox(globalCtx, 0x806, &this->actor); } else { - func_801518B0(globalCtx, 0x800, &this->actor); + Message_StartTextbox(globalCtx, 0x800, &this->actor); } SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 14, &this->unk_32C); } @@ -561,12 +561,12 @@ void func_80A725F8(EnDno* this, GlobalContext* globalCtx) { case 2: if (Math_ScaledStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 0x2D8)) { gSaveContext.weekEventReg[93] |= 2; - func_801518B0(globalCtx, 0x802, &this->actor); + Message_StartTextbox(globalCtx, 0x802, &this->actor); } break; case 3: - func_801518B0(globalCtx, 0x804, &this->actor); + Message_StartTextbox(globalCtx, 0x804, &this->actor); break; } break; @@ -590,7 +590,7 @@ void func_80A725F8(EnDno* this, GlobalContext* globalCtx) { if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) { SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 12, &this->unk_32C); - func_801518B0(globalCtx, 0x803, &this->actor); + Message_StartTextbox(globalCtx, 0x803, &this->actor); } } break; @@ -854,12 +854,12 @@ void func_80A732C8(EnDno* this, GlobalContext* globalCtx) { void func_80A73408(EnDno* this, GlobalContext* globalCtx) { s32 phi_a2; u8 sp33 = true; - u32 temp_v0; + s32 temp_v0; - if (func_800EE29C(globalCtx, 0x1DB)) { - temp_v0 = func_800EE200(globalCtx, 0x1DB); - if (this->unk_468 != globalCtx->csCtx.npcActions[temp_v0]->unk0) { - switch (globalCtx->csCtx.npcActions[temp_v0]->unk0) { + if (Cutscene_CheckActorAction(globalCtx, 475)) { + temp_v0 = Cutscene_GetActorActionIndex(globalCtx, 475); + if (this->unk_468 != globalCtx->csCtx.actorActions[temp_v0]->action) { + switch (globalCtx->csCtx.actorActions[temp_v0]->action) { case 1: phi_a2 = 13; break; @@ -878,7 +878,7 @@ void func_80A73408(EnDno* this, GlobalContext* globalCtx) { 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)) { diff --git a/src/overlays/actors/ovl_En_Dno/z_en_dno.h b/src/overlays/actors/ovl_En_Dno/z_en_dno.h index ed9ee52c64..350e0c0049 100644 --- a/src/overlays/actors/ovl_En_Dno/z_en_dno.h +++ b/src/overlays/actors/ovl_En_Dno/z_en_dno.h @@ -51,7 +51,7 @@ typedef struct EnDno { /* 0x458 */ s32 unk_458; /* 0x45C */ s16 unk_45C; /* 0x460 */ Actor* unk_460; - /* 0x464 */ u16 unk_464; + /* 0x464 */ u16 textId; /* 0x466 */ s16 unk_466; /* 0x468 */ u8 unk_468; } EnDno; // size = 0x46C diff --git a/src/overlays/actors/ovl_En_Dnp/z_en_dnp.c b/src/overlays/actors/ovl_En_Dnp/z_en_dnp.c index fa3448e04e..d7274837cb 100644 --- a/src/overlays/actors/ovl_En_Dnp/z_en_dnp.c +++ b/src/overlays/actors/ovl_En_Dnp/z_en_dnp.c @@ -244,18 +244,18 @@ void func_80B3D11C(EnDnp* this, GlobalContext* globalCtx) { static s32 D_80B3DE74[] = { 0, 16, 14, 10, 18, 12, 5, 7, 2, 19, 21, 22, 24, 8, }; - u32 temp_v0; + s32 temp_v0; s32 val; if (!(gSaveContext.weekEventReg[29] & 0x40) && (globalCtx->sceneNum == SCENE_MITURIN) && - (globalCtx->csCtx.unk_12 == 0)) { + (globalCtx->csCtx.currentCsIndex == 0)) { this->unk_322 |= 0x20; gSaveContext.weekEventReg[29] |= 0x40; } - if (func_800EE29C(globalCtx, 0x65)) { - temp_v0 = func_800EE200(globalCtx, 0x65); - val = globalCtx->csCtx.npcActions[temp_v0]->unk0; + if (Cutscene_CheckActorAction(globalCtx, 101)) { + temp_v0 = Cutscene_GetActorActionIndex(globalCtx, 101); + val = globalCtx->csCtx.actorActions[temp_v0]->action; if (this->unk_324 != (u8)val) { func_80B3CC38(this, D_80B3DE74[val]); if (this->unk_340 == 16) { @@ -281,7 +281,7 @@ void func_80B3D11C(EnDnp* this, GlobalContext* globalCtx) { Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) { func_80B3CC38(this, this->unk_340 + 1); } - func_800EDF24(&this->actor, globalCtx, temp_v0); + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, temp_v0); } } diff --git a/src/overlays/actors/ovl_En_Dnq/z_en_dnq.c b/src/overlays/actors/ovl_En_Dnq/z_en_dnq.c index 85df3499b6..f25abc6a4f 100644 --- a/src/overlays/actors/ovl_En_Dnq/z_en_dnq.c +++ b/src/overlays/actors/ovl_En_Dnq/z_en_dnq.c @@ -345,7 +345,7 @@ void func_80A52DC8(EnDnq* this, GlobalContext* globalCtx) { if (Interface_HasItemInBottle(ITEM_DEKU_PRINCESS) && !func_801690CC(globalCtx) && (Message_GetState(&globalCtx->msgCtx) == 0) && (ActorCutscene_GetCurrentIndex() == -1)) { if ((DECR(this->unk_384) == 0) && (gSaveContext.weekEventReg[29] & 0x40)) { - func_801518B0(globalCtx, 0x969, NULL); + Message_StartTextbox(globalCtx, 0x969, NULL); this->unk_384 = 200; } } @@ -388,12 +388,12 @@ void func_80A53038(EnDnq* this, GlobalContext* globalCtx) { static s32 D_80A535FC[] = { 0, 1, 2, 3, 5, 6, }; - u32 temp_v0; + s32 temp_v0; u32 temp_v1; - if (func_800EE29C(globalCtx, 0x69)) { - temp_v0 = func_800EE200(globalCtx, 0x69); - temp_v1 = globalCtx->csCtx.npcActions[temp_v0]->unk0; + if (Cutscene_CheckActorAction(globalCtx, 105)) { + temp_v0 = Cutscene_GetActorActionIndex(globalCtx, 105); + temp_v1 = globalCtx->csCtx.actorActions[temp_v0]->action; if (this->unk_1DC != (u8)temp_v1) { func_80A5257C(this, D_80A535FC[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_800EDF24(&this->actor, globalCtx, temp_v0); + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, temp_v0); } } diff --git a/src/overlays/actors/ovl_En_Dns/z_en_dns.c b/src/overlays/actors/ovl_En_Dns/z_en_dns.c index 9a4562ae29..b9f1605f9d 100644 --- a/src/overlays/actors/ovl_En_Dns/z_en_dns.c +++ b/src/overlays/actors/ovl_En_Dns/z_en_dns.c @@ -210,16 +210,16 @@ s32* func_8092C9BC(EnDns* this, GlobalContext* globalCtx) { s32 func_8092CA74(EnDns* this) { switch (ENDNS_GET_7(&this->actor)) { case ENDNS_GET_7_0: - return 0x1D1; + return 465; case ENDNS_GET_7_1: - return 0x1D2; + return 466; case ENDNS_GET_7_2: - return 0x1D3; + return 467; case ENDNS_GET_7_3: - return 0x1D4; + return 468; } return 0; @@ -480,12 +480,12 @@ void func_8092D5E8(EnDns* this, GlobalContext* globalCtx) { EN_DNS_ANIMATION_SURPRISE_START, EN_DNS_ANIMATION_RUN_START, }; - u32 temp_v0; + s32 temp_v0; u32 temp_v1; - if (func_800EE29C(globalCtx, this->unk_2C8)) { - temp_v0 = func_800EE200(globalCtx, this->unk_2C8); - temp_v1 = globalCtx->csCtx.npcActions[temp_v0]->unk0; + if (Cutscene_CheckActorAction(globalCtx, this->unk_2C8)) { + temp_v0 = Cutscene_GetActorActionIndex(globalCtx, this->unk_2C8); + temp_v1 = globalCtx->csCtx.actorActions[temp_v0]->action; if (this->unk_1D8 != (u8)temp_v1) { func_8092C63C(this, D_8092DE0C[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_800EDF24(&this->actor, globalCtx, temp_v0); + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, temp_v0); } } diff --git a/src/overlays/actors/ovl_En_Elf/z_en_elf.c b/src/overlays/actors/ovl_En_Elf/z_en_elf.c index 2c0fcc116b..134a7080ef 100644 --- a/src/overlays/actors/ovl_En_Elf/z_en_elf.c +++ b/src/overlays/actors/ovl_En_Elf/z_en_elf.c @@ -854,8 +854,8 @@ void func_8088E60C(EnElf* this, GlobalContext* globalCtx) { glowLightRadius = 0; } - if (func_800EE29C(globalCtx, 0xC9)) { - if (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0xC9)]->unk0 == 6) { + if (Cutscene_CheckActorAction(globalCtx, 201)) { + if (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 201)]->action == 6) { glowLightRadius = 0; } } @@ -888,12 +888,12 @@ void func_8088E850(EnElf* this, GlobalContext* globalCtx) { func_8088E5A8(this, globalCtx); xScale = 0.0f; - if (func_800EE29C(globalCtx, 0xC9)) { - sp38 = func_800EE200(globalCtx, 0xC9); + if (Cutscene_CheckActorAction(globalCtx, 201)) { + sp38 = Cutscene_GetActorActionIndex(globalCtx, 201); func_808908D0(&nextPos, globalCtx, sp38); - this->actor.shape.rot.y = globalCtx->csCtx.npcActions[sp38]->unk8; - this->actor.shape.rot.x = globalCtx->csCtx.npcActions[sp38]->unk6; - if (globalCtx->csCtx.npcActions[sp38]->unk0 == 5) { + this->actor.shape.rot.y = globalCtx->csCtx.actorActions[sp38]->urot.y; + this->actor.shape.rot.x = globalCtx->csCtx.actorActions[sp38]->urot.x; + if (globalCtx->csCtx.actorActions[sp38]->action == 5) { func_8088F5F4(this, globalCtx, 16); } @@ -904,14 +904,14 @@ void func_8088E850(EnElf* this, GlobalContext* globalCtx) { } 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 == 591))) { Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_WHITE_FAIRY_DASH); } 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); } } else { @@ -1016,7 +1016,7 @@ void func_8088E850(EnElf* this, GlobalContext* globalCtx) { func_8088E60C(this, globalCtx); - if (!func_800EE29C(globalCtx, 0xC9)) { + if (!Cutscene_CheckActorAction(globalCtx, 0xC9)) { this->actor.shape.rot.y = this->unk_258; } } @@ -1107,8 +1107,8 @@ void func_8088F214(EnElf* this, GlobalContext* globalCtx) { s32 pad; if (globalCtx->csCtx.state != 0) { - if (func_800EE29C(globalCtx, 0xC9)) { - switch (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0xC9)]->unk0) { + if (Cutscene_CheckActorAction(globalCtx, 201)) { + switch (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 201)]->action) { case 4: sp34 = 7; break; @@ -1577,8 +1577,8 @@ void EnElf_Draw(Actor* thisx, GlobalContext* globalCtx) { if (player->currentMask != PLAYER_MASK_GIANT) { if (!(this->fairyFlags & 8) && - (!func_800EE29C(globalCtx, 0xC9) || - (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0xC9)]->unk0 != 6)) && + (!Cutscene_CheckActorAction(globalCtx, 201) || + (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 201)]->action != 6)) && (!(player->stateFlags1 & 0x100000) || (kREG(90) < this->actor.projectedPos.z))) { Gfx* dListHead = GRAPH_ALLOC(globalCtx->state.gfxCtx, sizeof(Gfx) * 4); f32 alphaScale; @@ -1621,17 +1621,17 @@ void EnElf_Draw(Actor* thisx, GlobalContext* globalCtx) { void func_808908D0(Vec3f* vec, GlobalContext* globalCtx, u32 action) { Vec3f startPos; Vec3f endPos; - CsCmdActorAction* npcAction = globalCtx->csCtx.npcActions[action]; + CsCmdActorAction* npcAction = globalCtx->csCtx.actorActions[action]; f32 lerp; - startPos.x = npcAction->unk0C.x; - startPos.y = npcAction->unk0C.y; - startPos.z = npcAction->unk0C.z; + startPos.x = npcAction->startPos.x; + startPos.y = npcAction->startPos.y; + startPos.z = npcAction->startPos.z; - endPos.x = npcAction->unk18.x; - endPos.y = npcAction->unk18.y; - endPos.z = npcAction->unk18.z; + endPos.x = npcAction->endPos.x; + endPos.y = npcAction->endPos.y; + 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); } diff --git a/src/overlays/actors/ovl_En_Elforg/z_en_elforg.c b/src/overlays/actors/ovl_En_Elforg/z_en_elforg.c index 9f58e4d9b8..3c263c0182 100644 --- a/src/overlays/actors/ovl_En_Elforg/z_en_elforg.c +++ b/src/overlays/actors/ovl_En_Elforg/z_en_elforg.c @@ -456,7 +456,7 @@ void EnElforg_FreeFloating(EnElforg* this, GlobalContext* globalCtx) { if (STRAY_FAIRY_TYPE(&this->actor) == STRAY_FAIRY_TYPE_CLOCK_TOWN) { player->actor.freezeTimer = 100; player->stateFlags1 |= 0x20000000; - func_801518B0(globalCtx, 0x579, NULL); + Message_StartTextbox(globalCtx, 0x579, NULL); this->actionFunc = EnElforg_ClockTownFairyCollected; ActorCutscene_SetIntentToPlay(0x7C); return; @@ -464,7 +464,7 @@ void EnElforg_FreeFloating(EnElforg* this, GlobalContext* globalCtx) { if (func_8010A074(globalCtx)) { 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) { func_801A3098(NA_BGM_GET_ITEM | 0x900); } diff --git a/src/overlays/actors/ovl_En_Fall/z_en_fall.c b/src/overlays/actors/ovl_En_Fall/z_en_fall.c index ef954baaf4..8c7f291ce5 100644 --- a/src/overlays/actors/ovl_En_Fall/z_en_fall.c +++ b/src/overlays/actors/ovl_En_Fall/z_en_fall.c @@ -313,7 +313,8 @@ void EnFall_Setup(EnFall* this, GlobalContext* globalCtx) { void EnFall_CrashingMoon_HandleGiantsCutscene(EnFall* this, GlobalContext* globalCtx) { 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) { case 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) { EnFall_CrashingMoon_HandleGiantsCutscene(this, globalCtx); - if (func_800EE29C(globalCtx, 0x85)) { - if (func_800EE29C(globalCtx, 0x85) && globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x85)]->unk0 == 1) { + if (Cutscene_CheckActorAction(globalCtx, 0x85)) { + if (Cutscene_CheckActorAction(globalCtx, 133) && + globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 133)]->action == 1) { this->actor.draw = NULL; } else { this->actor.draw = EnFall_Moon_Draw; - if (func_800EE29C(globalCtx, 0x85) && - globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x85)]->unk0 == 2) { - func_800EDF24(&this->actor, globalCtx, func_800EE200(globalCtx, 0x85)); + if (Cutscene_CheckActorAction(globalCtx, 133) && + globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 133)]->action == 2) { + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, Cutscene_GetActorActionIndex(globalCtx, 133)); } } } else { @@ -373,8 +375,8 @@ void EnFall_CrashingMoon_PerformCutsceneActions(EnFall* this, GlobalContext* glo } void EnFall_StoppedOpenMouthMoon_PerformCutsceneActions(EnFall* this, GlobalContext* globalCtx) { - if (func_800EE29C(globalCtx, 0x85)) { - switch (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x85)]->unk0) { + if (Cutscene_CheckActorAction(globalCtx, 133)) { + switch (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 133)]->action) { case 3: if (this->eyeGlowIntensity == 0.0f) { 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) { - if (func_800EE29C(globalCtx, 0x85)) { - switch (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x85)]->unk0) { + if (Cutscene_CheckActorAction(globalCtx, 133)) { + switch (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 133)]->action) { case 2: - func_800EDF24(&this->actor, globalCtx, func_800EE200(globalCtx, 0x85)); + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, Cutscene_GetActorActionIndex(globalCtx, 133)); break; case 4: @@ -406,7 +408,7 @@ void EnFall_StoppedClosedMouthMoon_PerformCutsceneActions(EnFall* this, GlobalCo } if (globalCtx->sceneNum == SCENE_OKUJOU && gSaveContext.sceneSetupIndex == 2) { - switch (globalCtx->csCtx.unk_12) { + switch (globalCtx->csCtx.currentCsIndex) { case 0: switch (globalCtx->csCtx.frames) { case 1060: @@ -460,15 +462,16 @@ void EnFall_ClockTowerOrTitleScreenMoon_PerformCutsceneActions(EnFall* this, Glo void EnFall_Moon_PerformDefaultActions(EnFall* this, GlobalContext* globalCtx) { u16 currentDay; - if (func_800EE29C(globalCtx, 0x85)) { - if (func_800EE29C(globalCtx, 0x85) && globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x85)]->unk0 == 1) { + if (Cutscene_CheckActorAction(globalCtx, 133)) { + if (Cutscene_CheckActorAction(globalCtx, 133) && + globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 133)]->action == 1) { this->actor.draw = NULL; } else { Actor_SetScale(&this->actor, this->scale * 3.6f); this->actor.draw = EnFall_Moon_Draw; - if (func_800EE29C(globalCtx, 0x85) && - globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x85)]->unk0 == 2) { - func_800EDF24(&this->actor, globalCtx, func_800EE200(globalCtx, 0x85)); + if (Cutscene_CheckActorAction(globalCtx, 133) && + globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 133)]->action == 2) { + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, Cutscene_GetActorActionIndex(globalCtx, 133)); } } } else { @@ -506,7 +509,8 @@ void EnFall_MoonsTear_DoNothing(EnFall* this, GlobalContext* globalCtx) { void EnFall_MoonsTear_Fall(EnFall* this, GlobalContext* globalCtx) { 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) { EnFall_MoonsTear_Initialize(this); } @@ -569,11 +573,12 @@ void EnFall_Fireball_SetPerVertexAlpha(f32 fireballAlpha) { void EnFall_Fireball_Update(Actor* thisx, GlobalContext* globalCtx) { 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; } - if (func_800EE29C(globalCtx, 0x1C2)) { + if (Cutscene_CheckActorAction(globalCtx, 450)) { this->actor.draw = EnFall_Fireball_Draw; if (this->flags & FLAG_FIRE_BALL_INTENSIFIES) { this->fireballIntensity += 0.01f; @@ -581,9 +586,9 @@ void EnFall_Fireball_Update(Actor* thisx, GlobalContext* globalCtx) { 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: this->actor.draw = NULL; this->fireballAlpha = 0; @@ -620,7 +625,7 @@ void EnFall_Fireball_Update(Actor* thisx, GlobalContext* globalCtx) { 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); } 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) { EnFall* this = THIS; - if (func_800EE29C(globalCtx, 0x1C3)) { - if (func_800EE29C(globalCtx, 0x1C3) && - globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x1C3)]->unk0 == 2) { + if (Cutscene_CheckActorAction(globalCtx, 451)) { + if (Cutscene_CheckActorAction(globalCtx, 451) && + globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 451)]->action == 2) { EnFall_RisingDebris_UpdateParticles(this); EnFall_RisingDebris_InitializeParticles(this); } 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) { 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)) { Actor_PlaySfxAtPos(&this->actor, NA_SE_IT_DM_RING_EXPLOSION); } diff --git a/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c b/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c index 1eb5838ca5..14e364d56f 100644 --- a/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c +++ b/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c @@ -1123,11 +1123,11 @@ void EnFishing_UpdateEffects(FishingEffect* effect, GlobalContext* globalCtx) { } 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 (func_80147624(globalCtx) || !Message_GetState(&globalCtx->msgCtx)) { + if (func_80147624(globalCtx) || Message_GetState(&globalCtx->msgCtx) == 0) { func_801477B4(globalCtx); func_801159EC(-50); effect->unk_2C = -1; @@ -3079,7 +3079,7 @@ void EnFishing_UpdateFish(Actor* thisx, GlobalContext* globalCtx2) { this->unk_172[1] = 50; } - if (!Message_GetState(&globalCtx->msgCtx)) { + if (Message_GetState(&globalCtx->msgCtx) == 0) { if ((gSaveContext.time >= 0xC000) && (gSaveContext.time <= 0xC01B)) { this->unk_150 = 7; 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; func_8013EC44(0.0f, 1, 3, 1); D_809171D8++; - func_800EA0D4(globalCtx, &globalCtx->csCtx); + Cutscene_Start(globalCtx, &globalCtx->csCtx); D_8090CD4C = 100; D_80911F48 = 45.0f; D_8090CD14 = 5; @@ -3875,7 +3875,7 @@ void EnFishing_UpdateFish(Actor* thisx, GlobalContext* globalCtx2) { if (this->unk_172[0] <= 50) { switch (this->unk_1CD) { 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)) { func_801477B4(globalCtx); if (globalCtx->msgCtx.choiceIndex == 0) { @@ -3888,7 +3888,7 @@ void EnFishing_UpdateFish(Actor* thisx, GlobalContext* globalCtx2) { ((s16)this->unk_1A4 < (s16)D_8090CCF0)) { this->unk_1CD = 1; this->unk_172[0] = 0x3C; - func_801518B0(globalCtx, 0x4098, NULL); + Message_StartTextbox(globalCtx, 0x4098, NULL); } else { f32 temp1 = D_8090CCF0; s16 temp2 = D_809171D0; @@ -3906,7 +3906,7 @@ void EnFishing_UpdateFish(Actor* thisx, GlobalContext* globalCtx2) { } break; 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)) { func_801477B4(globalCtx); if (globalCtx->msgCtx.choiceIndex != 0) { @@ -4904,7 +4904,7 @@ void EnFishing_HandleOwnerDialog(EnFishing* this, GlobalContext* globalCtx) { break; 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)) { s32 getItemId; @@ -5008,7 +5008,7 @@ void EnFishing_HandleOwnerDialog(EnFishing* this, GlobalContext* globalCtx) { break; case 22: - if (!Message_GetState(&globalCtx->msgCtx)) { + if (Message_GetState(&globalCtx->msgCtx) == 0) { this->unk_154 = 0; if (D_8090CD0C != 0) { D_8090CD08 = 1; @@ -5034,7 +5034,7 @@ void EnFishing_HandleOwnerDialog(EnFishing* this, GlobalContext* globalCtx) { if (D_809171D0 == 0) { this->unk_154 = 0; } else { - func_801518B0(globalCtx, 0x409C, NULL); + Message_StartTextbox(globalCtx, 0x409C, NULL); 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)) { D_8090CD08 = 0; 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) { D_8090CCFC--; 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 case 2: - ShrinkWindow_SetLetterboxTarget(0x1B); + ShrinkWindow_SetLetterboxTarget(27); spFC.x = sLurePos.x - player->actor.world.pos.x; spFC.z = sLurePos.z - player->actor.world.pos.z; @@ -5302,17 +5302,17 @@ void EnFishing_UpdateOwner(Actor* thisx, GlobalContext* globalCtx2) { camera->at = sCameraAt; } func_80169AFC(globalCtx, sCameraId, 0); - func_800EA0EC(globalCtx, &globalCtx->csCtx); + Cutscene_End(globalCtx, &globalCtx->csCtx); D_8090CD4C = 0; sCameraId = CAM_ID_MAIN; func_800F6834(globalCtx, 0); - globalCtx->envCtx.unk_8C.fogNear = 0; + globalCtx->envCtx.lightSettings.fogNear = 0; player->unk_B28 = -5; D_80917200 = 5; break; case 10: - func_800EA0D4(globalCtx, &globalCtx->csCtx); + Cutscene_Start(globalCtx, &globalCtx->csCtx); sCameraId = Play_CreateSubCamera(globalCtx); Play_CameraChangeStatus(globalCtx, CAM_ID_MAIN, 1); Play_CameraChangeStatus(globalCtx, sCameraId, 7); @@ -5324,7 +5324,7 @@ void EnFishing_UpdateOwner(Actor* thisx, GlobalContext* globalCtx2) { sCameraAt.x = camera->at.x; sCameraAt.y = camera->at.y; sCameraAt.z = camera->at.z; - func_801518B0(globalCtx, 0x409E, NULL); + Message_StartTextbox(globalCtx, 0x409E, NULL); D_8090CD4C = 11; func_8013EC44(0.0f, 150, 10, 10); // fallthrough @@ -5333,25 +5333,25 @@ void EnFishing_UpdateOwner(Actor* thisx, GlobalContext* globalCtx2) { player->actor.world.pos.z = 1360.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->eye = sCameraEye; camera->eyeNext = sCameraEye; camera->at = sCameraAt; func_80169AFC(globalCtx, sCameraId, 0); - func_800EA0EC(globalCtx, &globalCtx->csCtx); + Cutscene_End(globalCtx, &globalCtx->csCtx); func_800B7298(globalCtx, &this->actor, 6); D_8090CD4C = 0; sCameraId = CAM_ID_MAIN; D_8090CD50 = 30; func_800F6834(globalCtx, 0); - globalCtx->envCtx.unk_8C.fogNear = 0; + globalCtx->envCtx.lightSettings.fogNear = 0; } break; case 20: - func_800EA0D4(globalCtx, &globalCtx->csCtx); + Cutscene_Start(globalCtx, &globalCtx->csCtx); sCameraId = Play_CreateSubCamera(globalCtx); Play_CameraChangeStatus(globalCtx, CAM_ID_MAIN, 1); Play_CameraChangeStatus(globalCtx, sCameraId, 7); @@ -5363,7 +5363,7 @@ void EnFishing_UpdateOwner(Actor* thisx, GlobalContext* globalCtx2) { sCameraAt.x = camera->at.x; sCameraAt.y = camera->at.y; sCameraAt.z = camera->at.z; - func_801518B0(globalCtx, 0x409A, NULL); + Message_StartTextbox(globalCtx, 0x409A, NULL); D_8090CD4C = 21; D_80911F48 = 45.0f; D_8090CD50 = 10; @@ -5426,7 +5426,7 @@ void EnFishing_UpdateOwner(Actor* thisx, GlobalContext* globalCtx2) { } 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)) { Camera* camera = Play_GetCamera(globalCtx, CAM_ID_MAIN); @@ -5440,7 +5440,7 @@ void EnFishing_UpdateOwner(Actor* thisx, GlobalContext* globalCtx2) { camera->eyeNext = sCameraEye; camera->at = sCameraAt; 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 D_8090CD4C = 0; sCameraId = CAM_ID_MAIN; @@ -5449,7 +5449,7 @@ void EnFishing_UpdateOwner(Actor* thisx, GlobalContext* globalCtx2) { D_8090CD54 = 0; D_809171F6 = 20; 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)) { func_800F6834(globalCtx, 1); if (D_809171CA != 0) { - globalCtx->envCtx.unk_8C.fogNear = -0xB2; + globalCtx->envCtx.lightSettings.fogNear = -0xB2; } else { - globalCtx->envCtx.unk_8C.fogNear = -0x2E; + globalCtx->envCtx.lightSettings.fogNear = -0x2E; } } else { 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--; } - 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; if (Rand_ZeroOne() < 0.5f) { @@ -5556,8 +5556,8 @@ void EnFishing_UpdateOwner(Actor* thisx, GlobalContext* globalCtx2) { Math_ApproachZeroF(&D_8090CCD8, 1.0f, 2.0f); } - globalCtx->envCtx.unk_8C.diffuseColor1[0] = globalCtx->envCtx.unk_8C.diffuseColor1[1] = - globalCtx->envCtx.unk_8C.diffuseColor1[2] = D_8090CCD8; + globalCtx->envCtx.lightSettings.diffuseColor1[0] = globalCtx->envCtx.lightSettings.diffuseColor1[1] = + globalCtx->envCtx.lightSettings.diffuseColor1[2] = D_8090CCD8; if ((u8)D_8090CCD0 > 0) { s32 pad; diff --git a/src/overlays/actors/ovl_En_Fsn/z_en_fsn.c b/src/overlays/actors/ovl_En_Fsn/z_en_fsn.c index 8b77518d3a..31a7046cbb 100644 --- a/src/overlays/actors/ovl_En_Fsn/z_en_fsn.c +++ b/src/overlays/actors/ovl_En_Fsn/z_en_fsn.c @@ -172,7 +172,7 @@ void EnFsn_HandleConversationBackroom(EnFsn* this, GlobalContext* globalCtx) { this->flags |= ENFSN_END_CONVERSATION; 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_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) { if (CHECK_BTN_ALL(input->press.button, BTN_B)) { 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); this->actionFunc = EnFsn_SetupEndInteraction; return true; @@ -424,12 +424,12 @@ s32 EnFsn_FacingShopkeeperDialogResult(EnFsn* this, GlobalContext* globalCtx) { } else { this->actor.textId = 0x29D8; } - func_801518B0(globalCtx, this->actor.textId, &this->actor); + Message_StartTextbox(globalCtx, this->actor.textId, &this->actor); return true; case 1: func_8019F230(); 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); this->actionFunc = EnFsn_SetupEndInteraction; return true; @@ -725,7 +725,7 @@ void EnFsn_Idle(EnFsn* this, GlobalContext* globalCtx) { this->cutsceneState = 1; } 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.z = -34.0f; this->actionFunc = EnFsn_BeginInteraction; @@ -806,16 +806,16 @@ void EnFsn_StartBuying(EnFsn* this, GlobalContext* globalCtx) { switch (this->actor.textId) { case 0x29CC: this->actor.textId = 0x29CD; - func_801518B0(globalCtx, this->actor.textId, &this->actor); + Message_StartTextbox(globalCtx, this->actor.textId, &this->actor); break; case 0x29CD: this->actor.textId = 0x29CE; EnFsn_HandleLookToShopkeeperBuyingCutscene(this); - func_801518B0(globalCtx, this->actor.textId, &this->actor); + Message_StartTextbox(globalCtx, this->actor.textId, &this->actor); break; case 0x29CE: this->actor.textId = 0xFF; - func_801518B0(globalCtx, this->actor.textId, &this->actor); + Message_StartTextbox(globalCtx, this->actor.textId, &this->actor); this->actionFunc = EnFsn_DeterminePrice; break; case 0x29CF: @@ -838,7 +838,7 @@ void EnFsn_AskBuyOrSell(EnFsn* this, GlobalContext* globalCtx) { } else { this->actor.textId = 0x29D2; } - func_801518B0(globalCtx, this->actor.textId, &this->actor); + Message_StartTextbox(globalCtx, this->actor.textId, &this->actor); break; case 0x29D2: if (gSaveContext.weekEventReg[33] & 4) { @@ -848,14 +848,14 @@ void EnFsn_AskBuyOrSell(EnFsn* this, GlobalContext* globalCtx) { } else { this->actor.textId = 0x29D4; } - func_801518B0(globalCtx, this->actor.textId, &this->actor); + Message_StartTextbox(globalCtx, this->actor.textId, &this->actor); break; case 0x29D3: case 0x29D4: case 0x29FA: case 0x2A01: this->actor.textId = 0x29D5; - func_801518B0(globalCtx, this->actor.textId, &this->actor); + Message_StartTextbox(globalCtx, this->actor.textId, &this->actor); break; } } @@ -870,7 +870,7 @@ void EnFsn_AskBuyOrSell(EnFsn* this, GlobalContext* globalCtx) { this->stickLeftPrompt.isEnabled = false; this->stickRightPrompt.isEnabled = trueTmp; this->actor.textId = 0x29D6; - func_801518B0(globalCtx, this->actor.textId, &this->actor); + Message_StartTextbox(globalCtx, this->actor.textId, &this->actor); this->actionFunc = EnFsn_FaceShopkeeperSelling; break; case 1: @@ -878,7 +878,7 @@ void EnFsn_AskBuyOrSell(EnFsn* this, GlobalContext* globalCtx) { this->isSelling = false; this->actor.textId = 0x29CE; EnFsn_HandleLookToShopkeeperBuyingCutscene(this); - func_801518B0(globalCtx, this->actor.textId, &this->actor); + Message_StartTextbox(globalCtx, this->actor.textId, &this->actor); this->actionFunc = EnFsn_StartBuying; break; } @@ -889,7 +889,7 @@ void EnFsn_AskBuyOrSell(EnFsn* this, GlobalContext* globalCtx) { void EnFsn_SetupDeterminePrice(EnFsn* this, GlobalContext* globalCtx) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { this->actor.textId = 0xFF; - func_801518B0(globalCtx, this->actor.textId, &this->actor); + Message_StartTextbox(globalCtx, this->actor.textId, &this->actor); this->actionFunc = EnFsn_DeterminePrice; } } @@ -924,7 +924,7 @@ void EnFsn_DeterminePrice(EnFsn* this, GlobalContext* globalCtx) { } else { this->actor.textId = 0x29D1; } - func_801518B0(globalCtx, this->actor.textId, &this->actor); + Message_StartTextbox(globalCtx, this->actor.textId, &this->actor); func_80151BB4(globalCtx, 3); this->actionFunc = EnFsn_SetupEndInteraction; } @@ -1011,7 +1011,7 @@ void EnFsn_ResumeInteraction(EnFsn* this, GlobalContext* globalCtx) { this->cutscene = this->lookToShopkeeperCutscene; 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) { ActorCutscene_Stop(0x7C); } @@ -1232,13 +1232,13 @@ void EnFsn_AskCanBuyMore(EnFsn* this, GlobalContext* globalCtx) { case 0: func_8019F208(); this->actor.textId = 0xFF; - func_801518B0(globalCtx, this->actor.textId, &this->actor); + Message_StartTextbox(globalCtx, this->actor.textId, &this->actor); this->actionFunc = EnFsn_DeterminePrice; break; case 1: func_8019F230(); 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); break; } @@ -1279,13 +1279,13 @@ void EnFsn_AskCanBuyAterRunningOutOfItems(EnFsn* this, GlobalContext* globalCtx) func_8019F208(); this->isSelling = false; this->actor.textId = 0x29CE; - func_801518B0(globalCtx, this->actor.textId, &this->actor); + Message_StartTextbox(globalCtx, this->actor.textId, &this->actor); this->actionFunc = EnFsn_StartBuying; break; case 1: func_8019F230(); 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); break; } @@ -1324,7 +1324,7 @@ void EnFsn_FaceShopkeeperSelling(EnFsn* this, GlobalContext* globalCtx) { } } else if (talkState == 5 && func_80147624(globalCtx)) { this->actor.textId = 0x29D6; - func_801518B0(globalCtx, this->actor.textId, &this->actor); + Message_StartTextbox(globalCtx, this->actor.textId, &this->actor); if (globalCtx) {} } } diff --git a/src/overlays/actors/ovl_En_Fu/z_en_fu.c b/src/overlays/actors/ovl_En_Fu/z_en_fu.c index 063d01608b..e2519c7c58 100644 --- a/src/overlays/actors/ovl_En_Fu/z_en_fu.c +++ b/src/overlays/actors/ovl_En_Fu/z_en_fu.c @@ -387,33 +387,33 @@ void func_80962340(EnFu* this, GlobalContext* globalCtx) { if (this->unk_54A == 2) { if (this->unk_552 == 0x287D) { if (gSaveContext.playerForm == PLAYER_FORM_DEKU) { - func_801518B0(globalCtx, 0x287E, &this->actor); + Message_StartTextbox(globalCtx, 0x287E, &this->actor); this->unk_552 = 0x287E; } else if ((CURRENT_DAY == 3) && (gSaveContext.weekEventReg[22] & 0x10) && (gSaveContext.weekEventReg[22] & 0x20)) { if ((gSaveContext.weekEventReg[22] & 0x40)) { - func_801518B0(globalCtx, 0x2883, &this->actor); + Message_StartTextbox(globalCtx, 0x2883, &this->actor); this->unk_552 = 0x2883; } else { - func_801518B0(globalCtx, 0x2880, &this->actor); + Message_StartTextbox(globalCtx, 0x2880, &this->actor); this->unk_552 = 0x2880; } } else { - func_801518B0(globalCtx, 0x287E, &this->actor); + Message_StartTextbox(globalCtx, 0x287E, &this->actor); this->unk_552 = 0x287E; } } 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; } else { - func_801518B0(globalCtx, 0x2889, &this->actor); + Message_StartTextbox(globalCtx, 0x2889, &this->actor); this->unk_552 = 0x2889; } this->actor.flags &= ~ACTOR_FLAG_10000; player->stateFlags1 &= ~0x20; this->unk_54A = 1; } else { - func_801518B0(globalCtx, 0x283C, &this->actor); + Message_StartTextbox(globalCtx, 0x283C, &this->actor); this->unk_552 = 0x283C; } func_809628BC(this); @@ -435,12 +435,12 @@ void func_80962588(EnFu* this, GlobalContext* globalCtx) { func_80963DE4(this, globalCtx); } else { play_sound(NA_SE_SY_ERROR); - func_801518B0(globalCtx, 0x2873, &this->actor); + Message_StartTextbox(globalCtx, 0x2873, &this->actor); this->unk_552 = 0x2873; } } else { func_8019F230(); - func_801518B0(globalCtx, 0x2872, &this->actor); + Message_StartTextbox(globalCtx, 0x2872, &this->actor); this->unk_552 = 0x2872; } } @@ -468,7 +468,7 @@ void func_80962660(EnFu* this, GlobalContext* globalCtx) { break; case 0x2846: - func_801518B0(globalCtx, 0x2849, &this->actor); + Message_StartTextbox(globalCtx, 0x2849, &this->actor); this->unk_552 = 0x2849; break; @@ -519,7 +519,7 @@ void func_80962660(EnFu* this, GlobalContext* globalCtx) { case 0x286A: case 0x286C: case 0x286E: - func_801518B0(globalCtx, 0x2871, &this->actor); + Message_StartTextbox(globalCtx, 0x2871, &this->actor); this->unk_552 = 0x2871; break; @@ -527,7 +527,7 @@ void func_80962660(EnFu* this, GlobalContext* globalCtx) { case 0x2878: case 0x287A: case 0x287C: - func_801518B0(globalCtx, 0x287D, &this->actor); + Message_StartTextbox(globalCtx, 0x287D, &this->actor); this->unk_552 = 0x287D; break; @@ -774,7 +774,7 @@ void func_80962F4C(EnFu* this, GlobalContext* globalCtx) { } if (func_80961D10(this)) { - func_801518B0(globalCtx, 0x288B, &this->actor); + Message_StartTextbox(globalCtx, 0x288B, &this->actor); } if ((!DynaPolyActor_IsInRidingRotatingState((DynaPolyActor*)this->actor.child) && @@ -785,10 +785,10 @@ void func_80962F4C(EnFu* this, GlobalContext* globalCtx) { player->stateFlags1 |= 0x20; if (this->unk_548 < this->unk_54C) { if (gSaveContext.unk_3DE0[4] == 0) { - func_801518B0(globalCtx, 0x2885, &this->actor); + Message_StartTextbox(globalCtx, 0x2885, &this->actor); this->unk_552 = 0x2885; } else { - func_801518B0(globalCtx, 0x2888, &this->actor); + Message_StartTextbox(globalCtx, 0x2888, &this->actor); this->unk_552 = 0x2888; } 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) && (gSaveContext.playerForm == PLAYER_FORM_HUMAN)) { if (gSaveContext.weekEventReg[22] & 0x40) { - func_801518B0(globalCtx, 0x2884, &this->actor); + Message_StartTextbox(globalCtx, 0x2884, &this->actor); this->unk_552 = 0x2884; } else if (!(gSaveContext.weekEventReg[22] & 0x80)) { gSaveContext.weekEventReg[22] |= 0x80; - func_801518B0(globalCtx, 0x2882, &this->actor); + Message_StartTextbox(globalCtx, 0x2882, &this->actor); this->unk_552 = 0x2882; } else { - func_801518B0(globalCtx, 0x2881, &this->actor); + Message_StartTextbox(globalCtx, 0x2881, &this->actor); this->unk_552 = 0x2881; } } else { - func_801518B0(globalCtx, 0x287F, &this->actor); + Message_StartTextbox(globalCtx, 0x287F, &this->actor); this->unk_552 = 0x287F; } @@ -969,46 +969,46 @@ s32 func_80963810(GlobalContext* globalCtx, Vec3f pos) { s32 func_809638F8(GlobalContext* globalCtx) { s32 ret = true; - if (globalCtx->envCtx.unk_8C.diffuseColor1[0] > 25) { - globalCtx->envCtx.unk_8C.diffuseColor1[0] -= 25; + if (globalCtx->envCtx.lightSettings.diffuseColor1[0] > 25) { + globalCtx->envCtx.lightSettings.diffuseColor1[0] -= 25; ret = false; } else { - globalCtx->envCtx.unk_8C.diffuseColor1[0] = 0; + globalCtx->envCtx.lightSettings.diffuseColor1[0] = 0; } - if (globalCtx->envCtx.unk_8C.diffuseColor1[1] > 25) { - globalCtx->envCtx.unk_8C.diffuseColor1[1] -= 25; + if (globalCtx->envCtx.lightSettings.diffuseColor1[1] > 25) { + globalCtx->envCtx.lightSettings.diffuseColor1[1] -= 25; ret = false; } else { - globalCtx->envCtx.unk_8C.diffuseColor1[1] = 0; + globalCtx->envCtx.lightSettings.diffuseColor1[1] = 0; } - if (globalCtx->envCtx.unk_8C.diffuseColor1[2] > 25) { - globalCtx->envCtx.unk_8C.diffuseColor1[2] -= 25; + if (globalCtx->envCtx.lightSettings.diffuseColor1[2] > 25) { + globalCtx->envCtx.lightSettings.diffuseColor1[2] -= 25; ret = false; } else { - globalCtx->envCtx.unk_8C.diffuseColor1[2] = 0; + globalCtx->envCtx.lightSettings.diffuseColor1[2] = 0; } - if (globalCtx->envCtx.unk_8C.ambientColor[0] > 25) { - globalCtx->envCtx.unk_8C.ambientColor[0] -= 25; + if (globalCtx->envCtx.lightSettings.ambientColor[0] > 25) { + globalCtx->envCtx.lightSettings.ambientColor[0] -= 25; ret = false; } else { - globalCtx->envCtx.unk_8C.ambientColor[0] = 0; + globalCtx->envCtx.lightSettings.ambientColor[0] = 0; } - if (globalCtx->envCtx.unk_8C.ambientColor[1] > 25) { - globalCtx->envCtx.unk_8C.ambientColor[1] -= 25; + if (globalCtx->envCtx.lightSettings.ambientColor[1] > 25) { + globalCtx->envCtx.lightSettings.ambientColor[1] -= 25; ret = false; } else { - globalCtx->envCtx.unk_8C.ambientColor[1] = 0; + globalCtx->envCtx.lightSettings.ambientColor[1] = 0; } - if (globalCtx->envCtx.unk_8C.ambientColor[2] > 25) { - globalCtx->envCtx.unk_8C.ambientColor[2] -= 25; + if (globalCtx->envCtx.lightSettings.ambientColor[2] > 25) { + globalCtx->envCtx.lightSettings.ambientColor[2] -= 25; ret = false; } else { - globalCtx->envCtx.unk_8C.ambientColor[2] = 0; + globalCtx->envCtx.lightSettings.ambientColor[2] = 0; } return ret; } @@ -1018,50 +1018,50 @@ void func_809639D0(EnFu* this, GlobalContext* globalCtx) { case 1: if (gSaveContext.playerForm == PLAYER_FORM_HUMAN) { if (CUR_UPG_VALUE(UPG_BOMB_BAG) == 0) { - func_801518B0(globalCtx, 0x2853, &this->actor); + Message_StartTextbox(globalCtx, 0x2853, &this->actor); this->unk_552 = 0x2853; } else if (gSaveContext.weekEventReg[22] & 0x10) { - func_801518B0(globalCtx, 0x284D, &this->actor); + Message_StartTextbox(globalCtx, 0x284D, &this->actor); this->unk_552 = 0x284D; } else if (this->unk_53E == 1) { - func_801518B0(globalCtx, 0x284F, &this->actor); + Message_StartTextbox(globalCtx, 0x284F, &this->actor); this->unk_552 = 0x284F; } else { this->unk_53E = 1; - func_801518B0(globalCtx, 0x2851, &this->actor); + Message_StartTextbox(globalCtx, 0x2851, &this->actor); this->unk_552 = 0x2851; } } else { - func_801518B0(globalCtx, 0x286F, &this->actor); + Message_StartTextbox(globalCtx, 0x286F, &this->actor); this->unk_552 = 0x286F; } break; case 2: if (gSaveContext.playerForm != PLAYER_FORM_HUMAN) { - func_801518B0(globalCtx, 0x286F, &this->actor); + Message_StartTextbox(globalCtx, 0x286F, &this->actor); this->unk_552 = 0x286F; } 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; } else if (!(gSaveContext.weekEventReg[22] & 0x10)) { if (this->unk_53E == 1) { - func_801518B0(globalCtx, 0x285B, &this->actor); + Message_StartTextbox(globalCtx, 0x285B, &this->actor); this->unk_552 = 0x285B; } else { this->unk_53E = 1; - func_801518B0(globalCtx, 0x285D, &this->actor); + Message_StartTextbox(globalCtx, 0x285D, &this->actor); this->unk_552 = 0x285D; } } else if (gSaveContext.weekEventReg[22] & 0x20) { - func_801518B0(globalCtx, 0x2855, &this->actor); + Message_StartTextbox(globalCtx, 0x2855, &this->actor); this->unk_552 = 0x2855; } else if (this->unk_53E == 1) { - func_801518B0(globalCtx, 0x2857, &this->actor); + Message_StartTextbox(globalCtx, 0x2857, &this->actor); this->unk_552 = 0x2857; } else { this->unk_53E = 1; - func_801518B0(globalCtx, 0x2859, &this->actor); + Message_StartTextbox(globalCtx, 0x2859, &this->actor); this->unk_552 = 0x2859; } break; @@ -1071,44 +1071,44 @@ void func_809639D0(EnFu* this, GlobalContext* globalCtx) { if (gSaveContext.playerForm == PLAYER_FORM_DEKU) { func_80963EAC(this, globalCtx); } else { - func_801518B0(globalCtx, 0x2841, &this->actor); + Message_StartTextbox(globalCtx, 0x2841, &this->actor); this->unk_552 = 0x2841; } } else if (CUR_UPG_VALUE(UPG_QUIVER) == 0) { - func_801518B0(globalCtx, 0x284B, &this->actor); + Message_StartTextbox(globalCtx, 0x284B, &this->actor); this->unk_552 = 0x284B; } else if (gSaveContext.weekEventReg[22] & 0x40) { 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; } else { - func_801518B0(globalCtx, 0x2861, &this->actor); + Message_StartTextbox(globalCtx, 0x2861, &this->actor); this->unk_552 = 0x2861; } } else if ((gSaveContext.weekEventReg[22] & 0x10) && (gSaveContext.weekEventReg[22] & 0x20)) { if (this->unk_53E == 1) { - func_801518B0(globalCtx, 0x2863, &this->actor); + Message_StartTextbox(globalCtx, 0x2863, &this->actor); this->unk_552 = 0x2863; } else { this->unk_53E = 1; - func_801518B0(globalCtx, 0x2865, &this->actor); + Message_StartTextbox(globalCtx, 0x2865, &this->actor); this->unk_552 = 0x2865; } } else if ((gSaveContext.weekEventReg[22] & 0x10) || (gSaveContext.weekEventReg[22] & 0x20)) { if (this->unk_53E == 1) { - func_801518B0(globalCtx, 0x2867, &this->actor); + Message_StartTextbox(globalCtx, 0x2867, &this->actor); this->unk_552 = 0x2867; } else { this->unk_53E = 1; - func_801518B0(globalCtx, 0x2869, &this->actor); + Message_StartTextbox(globalCtx, 0x2869, &this->actor); this->unk_552 = 0x2869; } } else if (this->unk_53E == 1) { - func_801518B0(globalCtx, 0x286B, &this->actor); + Message_StartTextbox(globalCtx, 0x286B, &this->actor); this->unk_552 = 0x286B; } else { this->unk_53E = 1; - func_801518B0(globalCtx, 0x286D, &this->actor); + Message_StartTextbox(globalCtx, 0x286D, &this->actor); this->unk_552 = 0x286D; } break; @@ -1119,21 +1119,21 @@ void func_80963DE4(EnFu* this, GlobalContext* globalCtx) { switch (this->unk_542) { case 0: if (gSaveContext.playerForm != PLAYER_FORM_HUMAN) { - func_801518B0(globalCtx, 0x2875, &this->actor); + Message_StartTextbox(globalCtx, 0x2875, &this->actor); this->unk_552 = 0x2875; } else { - func_801518B0(globalCtx, 0x2877, &this->actor); + Message_StartTextbox(globalCtx, 0x2877, &this->actor); this->unk_552 = 0x2877; } break; case 1: - func_801518B0(globalCtx, 0x2879, &this->actor); + Message_StartTextbox(globalCtx, 0x2879, &this->actor); this->unk_552 = 0x2879; break; case 2: - func_801518B0(globalCtx, 0x287B, &this->actor); + Message_StartTextbox(globalCtx, 0x287B, &this->actor); this->unk_552 = 0x287B; break; } @@ -1142,15 +1142,15 @@ void func_80963DE4(EnFu* this, GlobalContext* globalCtx) { void func_80963EAC(EnFu* this, GlobalContext* globalCtx) { if (gSaveContext.magicAcquired) { if (this->unk_540 == 1) { - func_801518B0(globalCtx, 0x2847, &this->actor); + Message_StartTextbox(globalCtx, 0x2847, &this->actor); this->unk_552 = 0x2847; } else { this->unk_540 = 1; - func_801518B0(globalCtx, 0x2845, &this->actor); + Message_StartTextbox(globalCtx, 0x2845, &this->actor); this->unk_552 = 0x2845; } } else { - func_801518B0(globalCtx, 0x2843, &this->actor); + Message_StartTextbox(globalCtx, 0x2843, &this->actor); this->unk_552 = 0x2843; } } @@ -1158,7 +1158,7 @@ void func_80963EAC(EnFu* this, GlobalContext* globalCtx) { void func_80963F44(EnFu* this, GlobalContext* globalCtx) { u16 sp1E = this->unk_552 + 1; - func_801518B0(globalCtx, sp1E, &this->actor); + Message_StartTextbox(globalCtx, sp1E, &this->actor); this->unk_552 = sp1E; } diff --git a/src/overlays/actors/ovl_En_Gb2/z_en_gb2.c b/src/overlays/actors/ovl_En_Gb2/z_en_gb2.c index 714432f274..4427bd3b19 100644 --- a/src/overlays/actors/ovl_En_Gb2/z_en_gb2.c +++ b/src/overlays/actors/ovl_En_Gb2/z_en_gb2.c @@ -378,7 +378,7 @@ void func_80B0FEBC(EnGb2* this, GlobalContext* globalCtx) { } 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; } else if ((this->actor.xzDistToPlayer < 300.0f) || this->actor.isTargeted) { func_800B863C(&this->actor, globalCtx); @@ -400,7 +400,7 @@ void func_80B0FFA8(EnGb2* this, GlobalContext* globalCtx) { this->actionFunc = func_80B0FEBC; } else { 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)) { @@ -411,11 +411,11 @@ void func_80B0FFA8(EnGb2* this, GlobalContext* globalCtx) { play_sound(NA_SE_SY_ERROR); this->unk_26E = 0x14D7; this->unk_26C |= 2; - func_801518B0(globalCtx, this->unk_26E, &this->actor); + Message_StartTextbox(globalCtx, this->unk_26E, &this->actor); } else { func_8019F208(); this->unk_26E = 0x14D8; - func_801518B0(globalCtx, this->unk_26E, &this->actor); + Message_StartTextbox(globalCtx, this->unk_26E, &this->actor); } break; @@ -423,7 +423,7 @@ void func_80B0FFA8(EnGb2* this, GlobalContext* globalCtx) { func_8019F230(); this->unk_26E = 0x14D6; this->unk_26C |= 2; - func_801518B0(globalCtx, this->unk_26E, &this->actor); + Message_StartTextbox(globalCtx, this->unk_26E, &this->actor); break; } } else if (this->unk_26E == 0x14DA) { @@ -441,7 +441,7 @@ void func_80B0FFA8(EnGb2* this, GlobalContext* globalCtx) { func_8019F230(); this->unk_26E = 0x14DB; this->unk_26C |= 2; - func_801518B0(globalCtx, this->unk_26E, &this->actor); + Message_StartTextbox(globalCtx, this->unk_26E, &this->actor); break; } } @@ -538,7 +538,7 @@ void func_80B10344(EnGb2* this, GlobalContext* globalCtx) { void func_80B10584(EnGb2* this, GlobalContext* globalCtx) { 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->actionFunc = func_80B10634; } else if (this->actor.xzDistToPlayer < 300.0f) { @@ -569,7 +569,7 @@ void func_80B10634(EnGb2* this, GlobalContext* globalCtx) { } } else { 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)) { @@ -579,7 +579,7 @@ void func_80B10634(EnGb2* this, GlobalContext* globalCtx) { play_sound(NA_SE_SY_ERROR); this->unk_26E = 0x14D7; this->unk_26C |= 2; - func_801518B0(globalCtx, this->unk_26E, &this->actor); + Message_StartTextbox(globalCtx, this->unk_26E, &this->actor); } else { func_8019F208(); func_801159EC(-this->unk_288); @@ -594,7 +594,7 @@ void func_80B10634(EnGb2* this, GlobalContext* globalCtx) { func_8019F230(); this->unk_26E = 0x14E3; this->unk_26C |= 2; - func_801518B0(globalCtx, this->unk_26E, &this->actor); + Message_StartTextbox(globalCtx, this->unk_26E, &this->actor); break; } } @@ -638,7 +638,7 @@ void func_80B10924(EnGb2* this, GlobalContext* globalCtx) { void func_80B109DC(EnGb2* this, GlobalContext* globalCtx) { 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; } else { 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)) { 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_26C &= ~0x40; this->actionFunc = func_80B10DAC; @@ -704,7 +704,7 @@ void func_80B10B5C(EnGb2* this, GlobalContext* globalCtx) { this->unk_26C &= ~0x40; if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state) && (this->unk_26C & 0x20)) { 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) { gSaveContext.weekEventReg[80] |= 0x40; } else if (this->unk_26E == 0x14EF) { @@ -766,7 +766,7 @@ void func_80B10E98(EnGb2* this, GlobalContext* globalCtx) { s32 temp; 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; if ((temp == 0x14E7) || (temp == 0x14E9) || (temp == 0x14EC) || (temp == 0x14F0)) { 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) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { 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; } else if (this->actor.xzDistToPlayer < 300.0f) { this->actor.flags |= ACTOR_FLAG_10000; @@ -798,7 +798,7 @@ void func_80B110F8(EnGb2* this, GlobalContext* globalCtx) { this->actionFunc = func_80B10A48; } else { this->unk_26E = func_80B0F97C(this); - func_801518B0(globalCtx, this->unk_26E, &this->actor); + Message_StartTextbox(globalCtx, this->unk_26E, &this->actor); } } } diff --git a/src/overlays/actors/ovl_En_Geg/z_en_geg.c b/src/overlays/actors/ovl_En_Geg/z_en_geg.c index e9a83fa06c..60c5ebdb68 100644 --- a/src/overlays/actors/ovl_En_Geg/z_en_geg.c +++ b/src/overlays/actors/ovl_En_Geg/z_en_geg.c @@ -442,7 +442,7 @@ void func_80BB221C(EnGeg* this, GlobalContext* globalCtx) { this->unk_49A = this->unk_49C[2]; 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->actor.flags &= ~ACTOR_FLAG_10000; } else if (this->actor.xzDistToPlayer < 300.0f) { @@ -455,7 +455,7 @@ void func_80BB221C(EnGeg* this, GlobalContext* globalCtx) { if (gSaveContext.weekEventReg[35] & 0x40) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state) && (this->unk_230 & 8)) { 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->actionFunc = func_80BB27D4; } 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; this->unk_496 = 0xD5E; 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->unk_230 &= ~8; this->actor.flags &= ~ACTOR_FLAG_10000; @@ -559,7 +559,7 @@ void func_80BB26EC(EnGeg* this, GlobalContext* globalCtx) { } 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: this->unk_496 = func_80BB16D0(this); - func_801518B0(globalCtx, this->unk_496, &this->actor); + Message_StartTextbox(globalCtx, this->unk_496, &this->actor); break; } } @@ -639,7 +639,7 @@ void func_80BB2A54(EnGeg* this, GlobalContext* globalCtx) { this->actionFunc = func_80BB347C; } else { 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 { 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->actor.flags &= ~ACTOR_FLAG_10000; } 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) { 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; } else { func_800B85E0(&this->actor, globalCtx, 400.0f, -1); diff --git a/src/overlays/actors/ovl_En_Gg/z_en_gg.c b/src/overlays/actors/ovl_En_Gg/z_en_gg.c index fbce4e2e7e..c9b6435f5c 100644 --- a/src/overlays/actors/ovl_En_Gg/z_en_gg.c +++ b/src/overlays/actors/ovl_En_Gg/z_en_gg.c @@ -256,7 +256,7 @@ void func_80B3556C(EnGg* this, GlobalContext* globalCtx) { func_80B35250(this); } else { 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; } } @@ -264,15 +264,15 @@ void func_80B3556C(EnGg* this, GlobalContext* globalCtx) { void func_80B35634(EnGg* this, GlobalContext* globalCtx) { s32 pad; - u32 temp_v0; + s32 actionIndex; - if (func_800EE29C(globalCtx, 0x77)) { - temp_v0 = func_800EE200(globalCtx, 0x77); + if (Cutscene_CheckActorAction(globalCtx, 119)) { + actionIndex = Cutscene_GetActorActionIndex(globalCtx, 119); - if (this->unk_2DB != globalCtx->csCtx.npcActions[temp_v0]->unk0) { - this->unk_2DB = globalCtx->csCtx.npcActions[temp_v0]->unk0; + if (this->unk_2DB != globalCtx->csCtx.actorActions[actionIndex]->action) { + this->unk_2DB = globalCtx->csCtx.actorActions[actionIndex]->action; - switch (globalCtx->csCtx.npcActions[temp_v0]->unk0) { + switch (globalCtx->csCtx.actorActions[actionIndex]->action) { case 1: this->unk_2DA = 0; this->unk_2E6 = 0; @@ -333,7 +333,7 @@ void func_80B35634(EnGg* this, GlobalContext* globalCtx) { func_80B358D8(this, globalCtx); } - func_800EDF24(&this->actor, globalCtx, temp_v0); + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, actionIndex); this->actor.shape.yOffset = 0.0f; } else { this->unk_2DB = 99; diff --git a/src/overlays/actors/ovl_En_Giant/z_en_giant.c b/src/overlays/actors/ovl_En_Giant/z_en_giant.c index 937f46460b..c509db2b8c 100644 --- a/src/overlays/actors/ovl_En_Giant/z_en_giant.c +++ b/src/overlays/actors/ovl_En_Giant/z_en_giant.c @@ -165,20 +165,20 @@ void EnGiant_Init(Actor* thisx, GlobalContext* globalCtx) { case GIANT_TYPE_CANYON_TERMINA_FIELD: case GIANT_TYPE_CANYON_CLOCK_TOWER_SUCCESS: case GIANT_TYPE_CANYON_GIANTS_CHAMBER_AND_ENDING: - this->actorActionCommand = 0x1C6; + this->actorActionCommand = 454; break; case GIANT_TYPE_SWAMP_TERMINA_FIELD: case GIANT_TYPE_SWAMP_CLOCK_TOWER_SUCCESS: case GIANT_TYPE_SWAMP_GIANTS_CHAMBER_AND_ENDING: - this->actorActionCommand = 0x1C7; + this->actorActionCommand = 455; break; case GIANT_TYPE_OCEAN_TERMINA_FIELD: case GIANT_TYPE_OCEAN_CLOCK_TOWER_SUCCESS: case GIANT_TYPE_OCEAN_GIANTS_CHAMBER_AND_ENDING: - this->actorActionCommand = 0x1C8; + this->actorActionCommand = 456; break; default: - this->actorActionCommand = 0x1C5; + this->actorActionCommand = 453; break; } @@ -388,20 +388,23 @@ void EnGiant_PlaySound(EnGiant* this) { } void EnGiant_UpdatePosition(EnGiant* this, GlobalContext* globalCtx, u32 actionIndex) { - CsCmdActorAction* actorAction = globalCtx->csCtx.npcActions[actionIndex]; - f32 startPosY = actorAction->unk0C.y; + CsCmdActorAction* actorAction = globalCtx->csCtx.actorActions[actionIndex]; + f32 startPosY = actorAction->startPos.y; s32 pad[2]; - f32 endPosY = actorAction->unk18.y; - f32 scale = func_800F5A8C(actorAction->endFrame, actorAction->startFrame, globalCtx->csCtx.frames, globalCtx); + f32 endPosY = actorAction->endPos.y; + f32 scale = Environment_LerpWeight(actorAction->endFrame, actorAction->startFrame, globalCtx->csCtx.frames); this->actor.world.pos.y = ((endPosY - startPosY) * scale) + startPosY; } void EnGiant_PerformClockTowerSuccessActions(EnGiant* this, GlobalContext* globalCtx) { - if (func_800EE29C(globalCtx, this->actorActionCommand)) { - EnGiant_UpdatePosition(this, globalCtx, func_800EE200(globalCtx, this->actorActionCommand)); - if (this->csAction != globalCtx->csCtx.npcActions[func_800EE200(globalCtx, this->actorActionCommand)]->unk0) { - this->csAction = globalCtx->csCtx.npcActions[func_800EE200(globalCtx, this->actorActionCommand)]->unk0; + if (Cutscene_CheckActorAction(globalCtx, this->actorActionCommand)) { + EnGiant_UpdatePosition(this, globalCtx, Cutscene_GetActorActionIndex(globalCtx, this->actorActionCommand)); + 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_UpdateAlpha(this); @@ -421,10 +424,14 @@ void EnGiant_PlayClockTowerFailureAnimation(EnGiant* this, GlobalContext* global void EnGiant_PerformCutsceneActions(EnGiant* this, GlobalContext* globalCtx) { this->actor.draw = EnGiant_Draw; - if (func_800EE29C(globalCtx, this->actorActionCommand)) { - func_800EDF24(&this->actor, globalCtx, func_800EE200(globalCtx, this->actorActionCommand)); - if (this->csAction != globalCtx->csCtx.npcActions[func_800EE200(globalCtx, this->actorActionCommand)]->unk0) { - this->csAction = globalCtx->csCtx.npcActions[func_800EE200(globalCtx, this->actorActionCommand)]->unk0; + if (Cutscene_CheckActorAction(globalCtx, this->actorActionCommand)) { + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, + Cutscene_GetActorActionIndex(globalCtx, this->actorActionCommand)); + 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_UpdateAlpha(this); diff --git a/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man.c b/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man.c index eb21f3586a..fe480fb14f 100644 --- a/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man.c +++ b/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man.c @@ -83,15 +83,15 @@ void EnGinkoMan_Idle(EnGinkoMan* this, GlobalContext* globalCtx) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { if ((gSaveContext.bankRupees & 0xFFFF) == 0) { 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 } else { Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING); 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? } else { - func_801518B0(globalCtx, 0x466, &this->actor); + Message_StartTextbox(globalCtx, 0x466, &this->actor); 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) Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING); 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" } else { - func_801518B0(globalCtx, 0x44D, &this->actor); + Message_StartTextbox(globalCtx, 0x44D, &this->actor); this->curTextId = 0x44D; // "For example, if you deposit 200 Rupees, you'll get an item that holds a lot of Rupees." } break; 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" break; case 0x44F: // "...So, what'll it be? Deposit Rupees Don't deposit Rupees" 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] break; @@ -138,7 +138,7 @@ void EnGinkoMan_DepositDialogue(EnGinkoMan* this, GlobalContext* globalCtx) { 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? } else { 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; - 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!" } break; case 0x456: // "Is that so? Think about it, little guy!" 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" break; case 0x45A: // "All right, little guy, now I've got a total of [rupees] from you!" if (((gSaveContext.bankRupees & 0xFFFF) >= 200) && (this->previousBankValue < 200) && !(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!?! } else if (((gSaveContext.bankRupees & 0xFFFF) >= 1000) && ((this->previousBankValue) < 1000) && !(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!?! } else if ((gSaveContext.bankRupees & 0xFFFF) >= 5000) { if ((this->previousBankValue < 5000) && !(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?! } else if (this->previousBankValue < (s16)(gSaveContext.bankRupees & 0xFFFF)) { Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING); - func_801518B0(globalCtx, 0x45E, &this->actor); + Message_StartTextbox(globalCtx, 0x45E, &this->actor); this->curTextId = 0x45E; // "...Hang on there, little guy. I can't take any more deposits. Sorry..." } else { 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!" } } else { 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!" } break; @@ -196,15 +196,15 @@ void EnGinkoMan_DepositDialogue(EnGinkoMan* this, GlobalContext* globalCtx) { EnGinkoMan_BankAward(this, globalCtx); break; 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? break; 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 break; 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 break; 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!" Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_FLOORSMACKING); 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!" break; 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? - func_801518B0(globalCtx, 0x468, &this->actor); + Message_StartTextbox(globalCtx, 0x468, &this->actor); this->curTextId = 0x468; // " Deposit Rupees Withdraw Rupees Nothing really" break; 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]." if (this->choiceDepositWithdrawl == GINKOMAN_CHOICE_DEPOSIT) { 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! } else if (gSaveContext.rupees == 0) { - func_801518B0(globalCtx, 0x458, &this->actor); + Message_StartTextbox(globalCtx, 0x458, &this->actor); this->curTextId = 0x458; // "Hmm...You play mean jokes, little guy! You haven't even got a single Rupee! } else { - func_801518B0(globalCtx, 0x479, &this->actor); + Message_StartTextbox(globalCtx, 0x479, &this->actor); this->curTextId = 0x479; // "Well, are you gonna make a deposit?" } } 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!" this->curTextId = 0x46D; } else { // GINKOMAN_CHOICE_WITHDRAWL - func_801518B0(globalCtx, 0x46B, &this->actor); + Message_StartTextbox(globalCtx, 0x46B, &this->actor); this->curTextId = 0x46B; // "So..." } this->choiceDepositWithdrawl = GINKOMAN_CHOICE_RESET; break; 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] break; case 0x46D: // "Look, little guy, if it's 'cause of the bad rumors going around, forget it! They're just // rumors!" - func_801518B0(globalCtx, 0x46B, &this->actor); + Message_StartTextbox(globalCtx, 0x46B, &this->actor); this->curTextId = 0x46B; // So... break; 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 0x47C: // "Is that so? Think it over, little guy! So what are you gonna do?" 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" break; 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 // it!" 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." this->curTextId = 0x478; } else { 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!" } break; 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->serviceFee = globalCtx->msgCtx.unk1206C; break; 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..." break; } @@ -313,22 +313,22 @@ void EnGinkoMan_WaitForDialogueInput(EnGinkoMan* this, GlobalContext* globalCtx) if (globalCtx->msgCtx.choiceIndex == GINKOMAN_CHOICE_YES) { if ((gSaveContext.bankRupees & 0xFFFF) >= 5000) { 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 } else { if (gSaveContext.rupees > 0) { func_8019F208(); - func_801518B0(globalCtx, 0x44F, &this->actor); + Message_StartTextbox(globalCtx, 0x44F, &this->actor); this->curTextId = 0x44F; // "All right! so..." } else { 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 } } } else { // GINKOMAN_CHOICE_NO func_8019F230(); - func_801518B0(globalCtx, 0x451, &this->actor); + Message_StartTextbox(globalCtx, 0x451, &this->actor); this->curTextId = 0x451; // dont say that, come on, trust me! } break; @@ -337,19 +337,19 @@ void EnGinkoMan_WaitForDialogueInput(EnGinkoMan* this, GlobalContext* globalCtx) if (gSaveContext.rupees < globalCtx->msgCtx.bankRupeesSelected) { play_sound(NA_SE_SY_ERROR); 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 } else { func_8019F208(); 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! } 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! } else { 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 } @@ -367,10 +367,10 @@ void EnGinkoMan_WaitForDialogueInput(EnGinkoMan* this, GlobalContext* globalCtx) func_8019F230(); Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING); 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 } else { - func_801518B0(globalCtx, 0x47D, &this->actor); + Message_StartTextbox(globalCtx, 0x47D, &this->actor); 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 if (globalCtx->msgCtx.choiceIndex == GINKOMAN_CHOICE_CANCEL) { 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!" } else { func_8019F208(); this->choiceDepositWithdrawl = globalCtx->msgCtx.choiceIndex; if (!this->isStampChecked) { 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..." } else { - func_801518B0(globalCtx, 0x47E, &this->actor); + Message_StartTextbox(globalCtx, 0x47E, &this->actor); this->curTextId = 0x47E; // "Your deposits total [rupees]." } } @@ -399,23 +399,23 @@ void EnGinkoMan_WaitForDialogueInput(EnGinkoMan* this, GlobalContext* globalCtx) ((s32)(globalCtx->msgCtx.bankRupeesSelected + this->serviceFee))) { play_sound(NA_SE_SY_ERROR); 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 } else if (CUR_CAPACITY(UPG_WALLET) < (globalCtx->msgCtx.bankRupeesSelected + gSaveContext.rupees)) { // check if wallet is big enough 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 } else { func_8019F208(); 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? } else if (globalCtx->msgCtx.bankRupeesSelected >= 10) { - func_801518B0(globalCtx, 0x473, &this->actor); + Message_StartTextbox(globalCtx, 0x473, &this->actor); this->curTextId = 0x473; // use it wisely } 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 } @@ -428,7 +428,7 @@ void EnGinkoMan_WaitForDialogueInput(EnGinkoMan* this, GlobalContext* globalCtx) } } else { 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?" } 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 if (globalCtx->msgCtx.bankRupeesSelected == 0) { 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! } else { - func_801518B0(globalCtx, 0x452, &this->actor); + Message_StartTextbox(globalCtx, 0x452, &this->actor); this->curTextId = 0x452; // Really? are you really depositing [x]? Y/n } break; case 0x46E: // "How much do you want?" [rupee prompt] Set the amount with [Control Stick] 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!" } 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... } 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->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 // it!" 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. } else { 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. } @@ -572,17 +572,17 @@ void EnGinkoMan_Stamp(EnGinkoMan* this, GlobalContext* globalCtx) { switch (this->curTextId) { case 0x464: // "Hey, relax! It doesn't leave any marks, and it's not gonna hurt." 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!" break; case 0x469: // "Excuse me, but let me take a look at you..." Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, GINKO_SITTING); globalCtx->msgCtx.bankRupees = (gSaveContext.bankRupees & 0xFFFF); 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? } else { - func_801518B0(globalCtx, 0x46A, &this->actor); + Message_StartTextbox(globalCtx, 0x46A, &this->actor); this->curTextId = 0x46A; // "Ah, yes...[Link]. } break; diff --git a/src/overlays/actors/ovl_En_GirlA/z_en_girla.h b/src/overlays/actors/ovl_En_GirlA/z_en_girla.h index 5e3d1b136c..fa2711501b 100644 --- a/src/overlays/actors/ovl_En_GirlA/z_en_girla.h +++ b/src/overlays/actors/ovl_En_GirlA/z_en_girla.h @@ -103,7 +103,7 @@ typedef enum { /* 39 */ SI_SWORD_RAZOR, /* 40 */ SI_SWORD_GILDED, /* 41 */ SI_SHIELD_HERO_4, - /* 42 */ SI_SHIELD_MIRROR, + /* 42 */ SI_SHIELD_MIRROR } EnGirlAShopItemId; extern const ActorInit En_GirlA_InitVars; diff --git a/src/overlays/actors/ovl_En_Gk/z_en_gk.c b/src/overlays/actors/ovl_En_Gk/z_en_gk.c index c78c96bd91..4f2d774980 100644 --- a/src/overlays/actors/ovl_En_Gk/z_en_gk.c +++ b/src/overlays/actors/ovl_En_Gk/z_en_gk.c @@ -534,16 +534,16 @@ void func_80B51410(EnGk* this, GlobalContext* globalCtx) { void func_80B51510(EnGk* this, GlobalContext* globalCtx) { s32 pad; - u32 temp_v0; + s32 actionIndex; if (this) {} - if (func_800EE29C(globalCtx, 0x1DF)) { - temp_v0 = func_800EE200(globalCtx, 0x1DF); + if (Cutscene_CheckActorAction(globalCtx, 479)) { + actionIndex = Cutscene_GetActorActionIndex(globalCtx, 479); - if (globalCtx->csCtx.npcActions[temp_v0]->unk0 != this->unk_31B) { - this->unk_31B = globalCtx->csCtx.npcActions[temp_v0]->unk0; - switch (globalCtx->csCtx.npcActions[temp_v0]->unk0) { + if (globalCtx->csCtx.actorActions[actionIndex]->action != this->unk_31B) { + this->unk_31B = globalCtx->csCtx.actorActions[actionIndex]->action; + switch (globalCtx->csCtx.actorActions[actionIndex]->action) { case 1: this->unk_31A = 0; this->unk_2E4 = 0; @@ -587,7 +587,7 @@ void func_80B51510(EnGk* this, GlobalContext* globalCtx) { func_80B51308(this, globalCtx); } - func_800EDF24(&this->actor, globalCtx, temp_v0); + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, actionIndex); this->actor.shape.yOffset = 0.0f; } else { this->unk_31B = 0x63; @@ -641,7 +641,7 @@ void func_80B51760(EnGk* this, GlobalContext* globalCtx) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { this->unk_1E4 |= 4; 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; if (this->unk_31C == 0xE81) { this->unk_2E4 = 0; @@ -682,7 +682,7 @@ void func_80B51970(EnGk* this, GlobalContext* 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) { this->unk_1E4 |= 2; } else if (this->unk_31C == 0xE89) { @@ -736,7 +736,7 @@ void func_80B51B40(EnGk* this, GlobalContext* globalCtx) { } 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) { this->unk_1E4 |= 2; } @@ -746,13 +746,13 @@ void func_80B51B40(EnGk* this, GlobalContext* globalCtx) { case 0: func_8019F208(); this->unk_31C = 0xE8E; - func_801518B0(globalCtx, this->unk_31C, &this->actor); + Message_StartTextbox(globalCtx, this->unk_31C, &this->actor); break; case 1: func_8019F230(); this->unk_31C = 0xE8A; - func_801518B0(globalCtx, this->unk_31C, &this->actor); + Message_StartTextbox(globalCtx, this->unk_31C, &this->actor); break; } } @@ -790,7 +790,7 @@ void func_80B51D9C(EnGk* this, GlobalContext* globalCtx) { } else { this->unk_31C = 0xE99; } - func_801518B0(globalCtx, this->unk_31C, &this->actor); + Message_StartTextbox(globalCtx, this->unk_31C, &this->actor); this->actionFunc = func_80B51970; } } else { @@ -918,7 +918,7 @@ void func_80B52340(EnGk* this, GlobalContext* globalCtx) { this->unk_31C = 0xE93; 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; } else { this->actor.flags |= ACTOR_FLAG_10000; @@ -933,13 +933,13 @@ void func_80B52430(EnGk* this, GlobalContext* globalCtx) { switch (this->unk_31C) { case 0xE93: this->unk_31C = 0xE89; - func_801518B0(globalCtx, this->unk_31C, &this->actor); + Message_StartTextbox(globalCtx, this->unk_31C, &this->actor); this->actionFunc = func_80B51B40; return; case 0xE90: this->unk_31C = 0xE91; - func_801518B0(globalCtx, this->unk_31C, &this->actor); + Message_StartTextbox(globalCtx, this->unk_31C, &this->actor); return; case 0xE91: @@ -980,7 +980,7 @@ void func_80B5253C(EnGk* this, GlobalContext* globalCtx) { void func_80B525E0(EnGk* this, GlobalContext* globalCtx) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { this->unk_31C = 0xE92; - func_801518B0(globalCtx, this->unk_31C, &this->actor); + Message_StartTextbox(globalCtx, this->unk_31C, &this->actor); this->actionFunc = func_80B52430; } else { func_800B85E0(&this->actor, globalCtx, 400.0f, -1); diff --git a/src/overlays/actors/ovl_En_Gm/z_en_gm.c b/src/overlays/actors/ovl_En_Gm/z_en_gm.c index cdfda5ba91..dc063bd353 100644 --- a/src/overlays/actors/ovl_En_Gm/z_en_gm.c +++ b/src/overlays/actors/ovl_En_Gm/z_en_gm.c @@ -1551,8 +1551,8 @@ void func_80950F2C(EnGm* this, GlobalContext* globalCtx) { s32 sp2C; s16 yaw; - if (func_800EE29C(globalCtx, 0x20E)) { - sp2C = globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x20E)]->unk0; + if (Cutscene_CheckActorAction(globalCtx, 526)) { + sp2C = globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 526)]->action; if (this->unk_259 != (sp2C & 0xFF)) { if (sp2C == 3) { Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_CHAIR_ROLL); diff --git a/src/overlays/actors/ovl_En_Go/z_en_go.c b/src/overlays/actors/ovl_En_Go/z_en_go.c index 6d7f976301..771f0ab83a 100644 --- a/src/overlays/actors/ovl_En_Go/z_en_go.c +++ b/src/overlays/actors/ovl_En_Go/z_en_go.c @@ -537,7 +537,7 @@ s32 func_80A1222C(EnGo* this, GlobalContext* globalCtx) { if (((player->transformation == PLAYER_FORM_GORON) && (globalCtx->msgCtx.ocarinaMode == 3) && (globalCtx->msgCtx.unk1202E == 1) && (this->unk_3EC == 0) && (this->actor.xzDistToPlayer < 400.0f)) || (!(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; } return ret; @@ -710,7 +710,7 @@ s32 func_80A12868(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) && (globalCtx->sceneNum == SCENE_10YUKIYAMANOMURA2) && (gSaveContext.sceneSetupIndex == 1) && - (globalCtx->csCtx.unk_12 == 0)) { + (globalCtx->csCtx.currentCsIndex == 0)) { if (this->unk_3F0 == 0) { this->actor.flags &= ~ACTOR_FLAG_1; this->unk_394 = 255; @@ -1410,7 +1410,7 @@ void func_80A144F4(EnGo* this, GlobalContext* globalCtx) { void func_80A145AC(EnGo* this, GlobalContext* globalCtx) { if ((ENGO_GET_70(&this->actor) == ENGO_70_1) && (((globalCtx->sceneNum == SCENE_10YUKIYAMANOMURA2) && (gSaveContext.sceneSetupIndex == 1) && - (globalCtx->csCtx.unk_12 == 0)) || + (globalCtx->csCtx.currentCsIndex == 0)) || !(gSaveContext.weekEventReg[21] & 8))) { this->actor.child = func_80A13400(this, globalCtx); this->actor.child->child = &this->actor; @@ -1633,24 +1633,24 @@ void func_80A14FC8(EnGo* this, GlobalContext* globalCtx) { s32 sp38[] = { 0, 2, 6, 20, 18, 5, 5, 15, }; - u16 sp36 = 0; + u16 actorActionCmd = 0; s32 sp30; - u32 sp2C; + s32 actionIndex; switch (ENGO_GET_70(&this->actor)) { case ENGO_70_0: - sp36 = 0x80; + actorActionCmd = 128; break; case ENGO_70_1: - sp36 = 0x81; + actorActionCmd = 129; break; } - if ((sp36 == 0x80) || (sp36 == 0x81)) { - if (func_800EE29C(globalCtx, sp36)) { - sp2C = func_800EE200(globalCtx, sp36); - sp30 = globalCtx->csCtx.npcActions[sp2C]->unk0; + if ((actorActionCmd == 128) || (actorActionCmd == 129)) { + if (Cutscene_CheckActorAction(globalCtx, actorActionCmd)) { + actionIndex = Cutscene_GetActorActionIndex(globalCtx, actorActionCmd); + sp30 = globalCtx->csCtx.actorActions[actionIndex]->action; if (this->unk_394 != (u8)sp30) { this->unk_394 = sp30; @@ -1699,7 +1699,7 @@ void func_80A14FC8(EnGo* this, GlobalContext* globalCtx) { break; } - if (sp36 == 0x80) { + if (actorActionCmd == 128) { switch (globalCtx->csCtx.frames) { case 55: case 100: @@ -1723,7 +1723,7 @@ void func_80A14FC8(EnGo* this, GlobalContext* globalCtx) { Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_GOLON_VOICE_EATFULL); break; } - } else if (sp36 == 0x81) { + } else if (actorActionCmd == 129) { switch (globalCtx->csCtx.frames) { case 360: 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)); - func_800EDF24(&this->actor, globalCtx, sp2C); + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, actionIndex); } } } diff --git a/src/overlays/actors/ovl_En_Gs/z_en_gs.c b/src/overlays/actors/ovl_En_Gs/z_en_gs.c index 7bae831cfa..9f4bdb7285 100644 --- a/src/overlays/actors/ovl_En_Gs/z_en_gs.c +++ b/src/overlays/actors/ovl_En_Gs/z_en_gs.c @@ -206,7 +206,7 @@ void func_80997DEC(EnGs* this, GlobalContext* globalCtx) { void func_80997E4C(EnGs* this, GlobalContext* globalCtx) { switch (Message_GetState(&globalCtx->msgCtx)) { case 0: - func_801518B0(globalCtx, this->unk_210, &this->actor); + Message_StartTextbox(globalCtx, this->unk_210, &this->actor); break; case 1: @@ -533,10 +533,11 @@ s32 func_80998A48(EnGs* this, GlobalContext* globalCtx) { } 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, 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; Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_FAIVE_LUPY_COUNT); - func_801518B0(globalCtx, 0x20D2, NULL); + Message_StartTextbox(globalCtx, 0x20D2, NULL); } this->unk_19A &= ~1; sp3C = 0; diff --git a/src/overlays/actors/ovl_En_Hg/z_en_hg.c b/src/overlays/actors/ovl_En_Hg/z_en_hg.c index e984eb40f2..2af301e139 100644 --- a/src/overlays/actors/ovl_En_Hg/z_en_hg.c +++ b/src/overlays/actors/ovl_En_Hg/z_en_hg.c @@ -156,10 +156,10 @@ void func_80BCF354(EnHg* this) { void func_80BCF398(EnHg* this, GlobalContext* globalCtx) { if (this->actor.colChkInfo.health == 1) { if ((this->actor.xzDistToPlayer < 200.0f && this->actor.playerHeightRel < 40.0f) && - !func_800EE29C(globalCtx, 0x1E3)) { + !Cutscene_CheckActorAction(globalCtx, 0x1E3)) { 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)) { Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_HALF_REDEAD_SURPRISE); } @@ -176,7 +176,7 @@ void func_80BCF4AC(EnHg* this, GlobalContext* globalCtx) { s32 pad; 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)) || ((this->skelAnime.curFrame > 44.0f) && (this->skelAnime.curFrame < 51.0f))) { Actor_MoveWithGravity(&this->actor); @@ -217,7 +217,7 @@ void func_80BCF6D0(EnHg* this, GlobalContext* globalCtx) { void func_80BCF710(EnHg* this, GlobalContext* globalCtx) { if (Message_GetState(&globalCtx->msgCtx) == 0) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { - func_801518B0(globalCtx, 0x24F, &this->actor); + Message_StartTextbox(globalCtx, 0x24F, &this->actor); } else { func_800B8614(&this->actor, globalCtx, 80.0f); } @@ -271,11 +271,12 @@ void func_80BCF93C(EnHg* this) { } void func_80BCF95C(EnHg* this, GlobalContext* globalCtx) { - if (func_800EE29C(globalCtx, 0x1E4)) { - u32 actionIndex = func_800EE200(globalCtx, 0x1E4); - if (this->cutscenes[3] != globalCtx->csCtx.npcActions[actionIndex]->unk0) { - this->cutscenes[3] = globalCtx->csCtx.npcActions[actionIndex]->unk0; - switch (globalCtx->csCtx.npcActions[actionIndex]->unk0) { + if (Cutscene_CheckActorAction(globalCtx, 484)) { + s32 actionIndex = Cutscene_GetActorActionIndex(globalCtx, 484); + + if (this->cutscenes[3] != globalCtx->csCtx.actorActions[actionIndex]->action) { + this->cutscenes[3] = globalCtx->csCtx.actorActions[actionIndex]->action; + switch (globalCtx->csCtx.actorActions[actionIndex]->action) { case 1: this->currentAnimation = 0; Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 0); @@ -336,7 +337,7 @@ void func_80BCF95C(EnHg* this, GlobalContext* globalCtx) { } break; } - func_800EDF24(&this->actor, globalCtx, actionIndex); + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, actionIndex); return; } else if (globalCtx->csCtx.state == 0) { func_80BCF354(this); diff --git a/src/overlays/actors/ovl_En_Hgo/z_en_hgo.c b/src/overlays/actors/ovl_En_Hgo/z_en_hgo.c index 0049205d93..d089de0da8 100644 --- a/src/overlays/actors/ovl_En_Hgo/z_en_hgo.c +++ b/src/overlays/actors/ovl_En_Hgo/z_en_hgo.c @@ -137,29 +137,29 @@ void func_80BD04E0(EnHgo* this, GlobalContext* globalCtx) { if (Player_GetMask(globalCtx) == PLAYER_MASK_GIBDO) { if (!(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 } else { - func_801518B0(globalCtx, 0x15A7, &this->actor); + Message_StartTextbox(globalCtx, 0x15A7, &this->actor); this->unk_314 = 0x15A7; // can I research that mask } } else if (gSaveContext.playerForm == PLAYER_FORM_HUMAN) { if (!(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 } else { - func_801518B0(globalCtx, 0x1593, &this->actor); + Message_StartTextbox(globalCtx, 0x1593, &this->actor); this->unk_314 = 0x1593; // Never seen a fairy this lively } } else { if (!(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 } 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 } } @@ -197,44 +197,44 @@ void func_80BD06FC(EnHgo* this, GlobalContext* globalCtx) { if (func_80147624(globalCtx)) { switch (this->unk_314) { case 0x158F: - func_801518B0(globalCtx, 0x1590, &this->actor); + Message_StartTextbox(globalCtx, 0x1590, &this->actor); this->unk_314 = 0x1590; break; case 0x1590: if (gSaveContext.weekEventReg[14] & 4) { - func_801518B0(globalCtx, 0x1591, &this->actor); + Message_StartTextbox(globalCtx, 0x1591, &this->actor); this->unk_314 = 0x1591; break; } - func_801518B0(globalCtx, 0x1592, &this->actor); + Message_StartTextbox(globalCtx, 0x1592, &this->actor); this->unk_314 = 0x1592; break; case 0x1591: - func_801518B0(globalCtx, 0x1592, &this->actor); + Message_StartTextbox(globalCtx, 0x1592, &this->actor); this->unk_314 = 0x1592; break; case 0x1593: - func_801518B0(globalCtx, 0x1594, &this->actor); + Message_StartTextbox(globalCtx, 0x1594, &this->actor); this->unk_314 = 0x1594; break; case 0x1595: - func_801518B0(globalCtx, 0x1596, &this->actor); + Message_StartTextbox(globalCtx, 0x1596, &this->actor); this->unk_314 = 0x1596; break; case 0x1596: - func_801518B0(globalCtx, 0x1597, &this->actor); + Message_StartTextbox(globalCtx, 0x1597, &this->actor); this->unk_314 = 0x1597; break; case 0x1598: - func_801518B0(globalCtx, 0x1599, &this->actor); + Message_StartTextbox(globalCtx, 0x1599, &this->actor); this->unk_314 = 0x1599; break; case 0x15A5: - func_801518B0(globalCtx, 0x15A6, &this->actor); + Message_StartTextbox(globalCtx, 0x15A6, &this->actor); this->unk_314 = 0x15A6; break; case 0x15A6: - func_801518B0(globalCtx, 0x15A7, &this->actor); + Message_StartTextbox(globalCtx, 0x15A7, &this->actor); this->unk_314 = 0x15A7; break; case 0x15A7: @@ -246,13 +246,13 @@ void func_80BD06FC(EnHgo* this, GlobalContext* globalCtx) { } s32 func_80BD0898(EnHgo* this, GlobalContext* globalCtx) { - u32 actionIndex; + s32 actionIndex; - if (func_800EE29C(globalCtx, 0x1E6)) { - actionIndex = func_800EE200(globalCtx, 0x1E6); - if (this->unk_316 != globalCtx->csCtx.npcActions[actionIndex]->unk0) { - this->unk_316 = globalCtx->csCtx.npcActions[actionIndex]->unk0; - switch (globalCtx->csCtx.npcActions[actionIndex]->unk0) { + if (Cutscene_CheckActorAction(globalCtx, 486)) { + actionIndex = Cutscene_GetActorActionIndex(globalCtx, 486); + if (this->unk_316 != globalCtx->csCtx.actorActions[actionIndex]->action) { + this->unk_316 = globalCtx->csCtx.actorActions[actionIndex]->action; + switch (globalCtx->csCtx.actorActions[actionIndex]->action) { case 1: this->unk_218 = 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)) { this->unk_312 = 1; 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); } } @@ -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; } if ((globalCtx->csCtx.state == 0) && (((gSaveContext.weekEventReg[75]) & 0x20)) && diff --git a/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.c b/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.c index de73118dad..fa5b8e1904 100644 --- a/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.c +++ b/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.c @@ -395,7 +395,7 @@ void func_80C2077C(EnHintSkb* this, GlobalContext* globalCtx) { this->unk_3E0 = 1; if (this->unk_3DC == 0) { this->unk_3DC = 1; - func_801518B0(globalCtx, 0x1147, &this->actor); + Message_StartTextbox(globalCtx, 0x1147, &this->actor); this->unk_3E6 = 0x1147; if (this->skelAnime.animation == &object_skb_Anim_00697C) { globalCtx->msgCtx.msgMode = 0x44; @@ -406,7 +406,7 @@ void func_80C2077C(EnHintSkb* this, GlobalContext* globalCtx) { } } else { Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 11); - func_801518B0(globalCtx, 0x1148, &this->actor); + Message_StartTextbox(globalCtx, 0x1148, &this->actor); this->unk_3E6 = 0x1148; } func_80C208BC(this); @@ -462,7 +462,7 @@ void func_80C208D0(EnHintSkb* this, GlobalContext* globalCtx) { if ((this->skelAnime.animation == &object_skb_Anim_003584) && Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) { - func_801518B0(globalCtx, 0x1147, &this->actor); + Message_StartTextbox(globalCtx, 0x1147, &this->actor); this->unk_3E6 = 0x1147; Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 0); } @@ -479,37 +479,37 @@ void func_80C20A74(EnHintSkb* this, GlobalContext* globalCtx) { switch (params) { case 1: - func_801518B0(globalCtx, 0x1149, &this->actor); + Message_StartTextbox(globalCtx, 0x1149, &this->actor); this->unk_3E6 = 0x1149; break; case 2: - func_801518B0(globalCtx, 0x114A, &this->actor); + Message_StartTextbox(globalCtx, 0x114A, &this->actor); this->unk_3E6 = 0x114A; break; case 3: - func_801518B0(globalCtx, 0x114B, &this->actor); + Message_StartTextbox(globalCtx, 0x114B, &this->actor); this->unk_3E6 = 0x114B; break; case 4: - func_801518B0(globalCtx, 0x114C, &this->actor); + Message_StartTextbox(globalCtx, 0x114C, &this->actor); this->unk_3E6 = 0x114C; break; case 5: - func_801518B0(globalCtx, 0x114D, &this->actor); + Message_StartTextbox(globalCtx, 0x114D, &this->actor); this->unk_3E6 = 0x114D; break; case 6: - func_801518B0(globalCtx, 0x114E, &this->actor); + Message_StartTextbox(globalCtx, 0x114E, &this->actor); this->unk_3E6 = 0x114E; break; default: - func_801518B0(globalCtx, 0x1149, &this->actor); + Message_StartTextbox(globalCtx, 0x1149, &this->actor); this->unk_3E6 = 0x1149; break; } @@ -520,11 +520,11 @@ void func_80C20B88(EnHintSkb* this, GlobalContext* globalCtx) { if (globalCtx->msgCtx.choiceIndex == 0) { func_8019F208(); this->unk_3E8 |= 0x10; - func_801518B0(globalCtx, 0x1150, &this->actor); + Message_StartTextbox(globalCtx, 0x1150, &this->actor); this->unk_3E6 = 0x1150; } else { func_8019F230(); - func_801518B0(globalCtx, 0x1152, &this->actor); + Message_StartTextbox(globalCtx, 0x1152, &this->actor); this->unk_3E6 = 0x1152; } } @@ -537,7 +537,7 @@ void func_80C20C24(EnHintSkb* this, GlobalContext* globalCtx) { switch (this->unk_3E6) { case 0x1147: - func_801518B0(globalCtx, 0x1148, &this->actor); + Message_StartTextbox(globalCtx, 0x1148, &this->actor); this->unk_3E6 = 0x1148; Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 11); break; @@ -552,17 +552,17 @@ void func_80C20C24(EnHintSkb* this, GlobalContext* globalCtx) { case 0x114C: case 0x114D: case 0x114E: - func_801518B0(globalCtx, 0x114F, &this->actor); + Message_StartTextbox(globalCtx, 0x114F, &this->actor); this->unk_3E6 = 0x114F; break; case 0x1152: - func_801518B0(globalCtx, 0x1151, &this->actor); + Message_StartTextbox(globalCtx, 0x1151, &this->actor); this->unk_3E6 = 0x1151; break; case 0x1150: - func_801518B0(globalCtx, 0x1151, &this->actor); + Message_StartTextbox(globalCtx, 0x1151, &this->actor); this->unk_3E6 = 0x1151; break; diff --git a/src/overlays/actors/ovl_En_In/z_en_in.c b/src/overlays/actors/ovl_En_In/z_en_in.c index a7dfc26ace..e84a18bef8 100644 --- a/src/overlays/actors/ovl_En_In/z_en_in.c +++ b/src/overlays/actors/ovl_En_In/z_en_in.c @@ -1215,7 +1215,7 @@ s32 func_808F5728(GlobalContext* globalCtx, EnIn* this, s32 arg2, s32* arg3) { return 0; } if (*arg3 == 2) { - func_801518B0(globalCtx, this->actor.textId, &this->actor); + Message_StartTextbox(globalCtx, this->actor.textId, &this->actor); *arg3 = 1; return 0; } diff --git a/src/overlays/actors/ovl_En_Invadepoh/z_en_invadepoh.c b/src/overlays/actors/ovl_En_Invadepoh/z_en_invadepoh.c index d36644b4a3..667f66a51f 100644 --- a/src/overlays/actors/ovl_En_Invadepoh/z_en_invadepoh.c +++ b/src/overlays/actors/ovl_En_Invadepoh/z_en_invadepoh.c @@ -1350,7 +1350,7 @@ s32 func_80B45550(EnInvadepoh* this, GlobalContext* globalCtx, f32 range, s32 ar void EnInvadepoh_SetTextID(EnInvadepoh* this, GlobalContext* globalCtx, u16 arg2) { this->textId = arg2; - func_801518B0(globalCtx, arg2, &this->actor); + Message_StartTextbox(globalCtx, arg2, &this->actor); } void func_80B45648(EnInvadepoh* this) { diff --git a/src/overlays/actors/ovl_En_Jg/z_en_jg.c b/src/overlays/actors/ovl_En_Jg/z_en_jg.c index 8f9b3fb449..7797f2ad40 100644 --- a/src/overlays/actors/ovl_En_Jg/z_en_jg.c +++ b/src/overlays/actors/ovl_En_Jg/z_en_jg.c @@ -349,7 +349,7 @@ void EnJg_Idle(EnJg* this, GlobalContext* globalCtx) { void EnJg_GoronShrineIdle(EnJg* this, GlobalContext* globalCtx) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { this->flags |= FLAG_LOOKING_AT_PLAYER; - func_801518B0(globalCtx, this->textId, &this->actor); + Message_StartTextbox(globalCtx, this->textId, &this->actor); this->actionFunc = EnJg_GoronShrineTalk; } else if ((this->actor.xzDistToPlayer < 100.0f) || (this->actor.isTargeted)) { func_800B863C(&this->actor, globalCtx); @@ -367,7 +367,7 @@ void EnJg_GoronShrineTalk(EnJg* this, GlobalContext* globalCtx) { this->actionFunc = EnJg_GoronShrineIdle; } else { 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))) { // The player already has the Lullaby or Lullaby Intro, so say "I'm counting on you" this->textId = EnJg_GetNextTextId(this); - func_801518B0(globalCtx, this->textId, &this->actor); + Message_StartTextbox(globalCtx, this->textId, &this->actor); this->actionFunc = EnJg_SetupTalk; } else { // 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 { this->textId = EnJg_GetNextTextId(this); - func_801518B0(globalCtx, this->textId, &this->actor); + Message_StartTextbox(globalCtx, this->textId, &this->actor); this->actionFunc = EnJg_SetupTalk; } } @@ -591,7 +591,7 @@ void EnJg_FrozenIdle(EnJg* this, GlobalContext* globalCtx) { } } else { 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; } else if (this->actor.isTargeted) { func_800B863C(&this->actor, globalCtx); @@ -622,13 +622,13 @@ void EnJg_TeachLullabyIntro(EnJg* this, GlobalContext* globalCtx) { void EnJg_LullabyIntroCutsceneAction(EnJg* this, GlobalContext* globalCtx) { s32 pad; - if (func_800EE29C(globalCtx, 0x1D6)) { - u32 actionIndex = func_800EE200(globalCtx, 0x1D6); + if (Cutscene_CheckActorAction(globalCtx, 470)) { + s32 actionIndex = Cutscene_GetActorActionIndex(globalCtx, 470); - if (this->csAction != globalCtx->csCtx.npcActions[actionIndex]->unk0) { - this->csAction = globalCtx->csCtx.npcActions[actionIndex]->unk0; + if (this->csAction != globalCtx->csCtx.actorActions[actionIndex]->action) { + this->csAction = globalCtx->csCtx.actorActions[actionIndex]->action; - switch (globalCtx->csCtx.npcActions[actionIndex]->unk0) { + switch (globalCtx->csCtx.actorActions[actionIndex]->action) { case 1: this->cutsceneAnimationIndex = EN_JG_ANIMATION_CUTSCENE_IDLE; if (this->drum != NULL) { @@ -913,7 +913,7 @@ void EnJg_CheckIfTalkingToPlayerAndHandleFreezeTimer(EnJg* this, GlobalContext* gSaveContext.weekEventReg[24] |= 0x10; } - func_801518B0(globalCtx, this->textId, &this->actor); + Message_StartTextbox(globalCtx, this->textId, &this->actor); this->actionFunc = EnJg_SetupTalk; } else { 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 ((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->animationIndex = EN_JG_ANIMATION_IDLE; this->action = EN_JG_ACTION_LULLABY_INTRO_CS; diff --git a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c index 3fca0129df..f1d1737e45 100644 --- a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c +++ b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c @@ -549,7 +549,7 @@ void EnKakasi_RegularDialogue(EnKakasi* this, GlobalContext* globalCtx) { void EnKakasi_SetupSongTeach(EnKakasi* this, GlobalContext* globalCtx) { 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->unk20C = 0.0f; this->unk210 = 60.0f; @@ -682,7 +682,7 @@ void EnKakasi_PostSongLearnDialogue(EnKakasi* this, GlobalContext* globalCtx) { func_801477B4(globalCtx); func_800B7298(globalCtx, &this->actor, 0x56); this->actor.textId = 0x1648; - func_801518B0(globalCtx, (this->actor.textId), &this->actor); + Message_StartTextbox(globalCtx, (this->actor.textId), &this->actor); this->unkState1A8 = 0; this->unk190 = 1; } diff --git a/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.c b/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.c index d42d75bb1e..eee97c5f7a 100644 --- a/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.c +++ b/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.c @@ -164,7 +164,7 @@ void func_80B2654C(EnKendoJs* this, GlobalContext* globalCtx) { } 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; } else if (gSaveContext.playerForm != PLAYER_FORM_HUMAN) { switch (gSaveContext.playerForm) { @@ -185,14 +185,14 @@ void func_80B2654C(EnKendoJs* this, GlobalContext* globalCtx) { 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]; } else if ((Player_GetMask(globalCtx) != PLAYER_MASK_NONE) && (Player_GetMask(globalCtx) < PLAYER_MASK_GIANT)) { u16 sp2E = Player_GetMask(globalCtx) + 0x273C; if (0) {} - func_801518B0(globalCtx, sp2E, &this->actor); + Message_StartTextbox(globalCtx, sp2E, &this->actor); this->unk_288 = sp2E; } else { if (this->unk_28A == 0) { @@ -201,7 +201,7 @@ void func_80B2654C(EnKendoJs* this, GlobalContext* globalCtx) { } else { 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]; } @@ -217,17 +217,17 @@ void func_80B26758(EnKendoJs* this, GlobalContext* globalCtx) { case 0: if (CUR_EQUIP_VALUE_VOID(EQUIP_SWORD) == EQUIP_SWORD) { play_sound(NA_SE_SY_ERROR); - func_801518B0(globalCtx, 0x272C, &this->actor); + Message_StartTextbox(globalCtx, 0x272C, &this->actor); this->unk_288 = 0x272C; Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 2); } else if (gSaveContext.rupees < globalCtx->msgCtx.unk1206C) { play_sound(NA_SE_SY_ERROR); - func_801518B0(globalCtx, 0x2718, &this->actor); + Message_StartTextbox(globalCtx, 0x2718, &this->actor); this->unk_288 = 0x2718; } else { func_8019F208(); func_801159EC(-globalCtx->msgCtx.unk1206C); - func_801518B0(globalCtx, 0x2719, &this->actor); + Message_StartTextbox(globalCtx, 0x2719, &this->actor); this->unk_288 = 0x2719; } break; @@ -235,24 +235,24 @@ void func_80B26758(EnKendoJs* this, GlobalContext* globalCtx) { case 1: if (CUR_EQUIP_VALUE_VOID(EQUIP_SWORD) == EQUIP_SWORD) { play_sound(NA_SE_SY_ERROR); - func_801518B0(globalCtx, 0x272C, &this->actor); + Message_StartTextbox(globalCtx, 0x272C, &this->actor); this->unk_288 = 0x272C; Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 2); } else if (gSaveContext.rupees < globalCtx->msgCtx.unk12070) { play_sound(NA_SE_SY_ERROR); - func_801518B0(globalCtx, 0x2718, &this->actor); + Message_StartTextbox(globalCtx, 0x2718, &this->actor); this->unk_288 = 0x2718; } else { func_8019F208(); func_801159EC(-globalCtx->msgCtx.unk12070); - func_801518B0(globalCtx, 0x273A, &this->actor); + Message_StartTextbox(globalCtx, 0x273A, &this->actor); this->unk_288 = 0x273A; } break; case 2: func_8019F230(); - func_801518B0(globalCtx, 0x2717, &this->actor); + Message_StartTextbox(globalCtx, 0x2717, &this->actor); this->unk_288 = 0x2717; } } @@ -272,7 +272,7 @@ void func_80B269A4(EnKendoJs* this, GlobalContext* globalCtx) { case 0x2713: case 0x2714: case 0x2715: - func_801518B0(globalCtx, 0x2716, &this->actor); + Message_StartTextbox(globalCtx, 0x2716, &this->actor); this->unk_288 = 0x2716; break; @@ -288,7 +288,7 @@ void func_80B269A4(EnKendoJs* this, GlobalContext* globalCtx) { break; case 0x273A: - func_801518B0(globalCtx, 0x273B, &this->actor); + Message_StartTextbox(globalCtx, 0x273B, &this->actor); this->unk_288 = 0x273B; break; @@ -433,13 +433,13 @@ s32 func_80B26BF8(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_284++; } 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]; } @@ -449,7 +449,7 @@ s32 func_80B26F6C(EnKendoJs* this, GlobalContext* globalCtx) { switch (this->unk_288) { case 0x271D: if (func_80124190(player)) { - func_801518B0(globalCtx, 0x272A, &this->actor); + Message_StartTextbox(globalCtx, 0x272A, &this->actor); this->unk_288 = 0x272A; return true; } @@ -457,7 +457,7 @@ s32 func_80B26F6C(EnKendoJs* this, GlobalContext* globalCtx) { case 0x2721: if (this->unk_292 != 0) { - func_801518B0(globalCtx, 0x272B, &this->actor); + Message_StartTextbox(globalCtx, 0x272B, &this->actor); this->unk_288 = 0x272B; return true; } @@ -482,7 +482,7 @@ void func_80B27030(EnKendoJs* this, GlobalContext* globalCtx) { this->actor.flags &= ~ACTOR_FLAG_10000; player->stateFlags1 &= ~0x20; func_80B279F0(this, globalCtx, 0); - func_801518B0(globalCtx, 0x271A, &this->actor); + Message_StartTextbox(globalCtx, 0x271A, &this->actor); this->unk_288 = 0x271A; func_80B26AE8(this); } else { @@ -531,7 +531,7 @@ void func_80B27188(EnKendoJs* this, GlobalContext* globalCtx) { Actor_PlaySfxAtPos(&this->actor, NA_SE_SY_ERROR); this->unk_286 = 0; player->stateFlags1 |= 0x20; - func_801518B0(globalCtx, 0x2729, &this->actor); + Message_StartTextbox(globalCtx, 0x2729, &this->actor); this->unk_288 = 0x2729; Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 2); break; @@ -586,10 +586,10 @@ void func_80B274BC(EnKendoJs* this, GlobalContext* globalCtx) { if (this->unk_290 >= 140) { if (this->unk_284 == 5) { if (gSaveContext.minigameScore == 30) { - func_801518B0(globalCtx, 0x272D, &this->actor); + Message_StartTextbox(globalCtx, 0x272D, &this->actor); this->unk_288 = 0x272D; } else { - func_801518B0(globalCtx, 0x272E, &this->actor); + Message_StartTextbox(globalCtx, 0x272E, &this->actor); this->unk_288 = 0x272E; } player->stateFlags1 |= 0x20; @@ -652,10 +652,10 @@ void func_80B27774(EnKendoJs* this, GlobalContext* globalCtx) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { if (!(gSaveContext.weekEventReg[63] & 0x20)) { gSaveContext.weekEventReg[63] |= 0x20; - func_801518B0(globalCtx, 0x272F, &this->actor); + Message_StartTextbox(globalCtx, 0x272F, &this->actor); this->unk_288 = 0x272F; } else { - func_801518B0(globalCtx, 0x2730, &this->actor); + Message_StartTextbox(globalCtx, 0x2730, &this->actor); this->unk_288 = 0x2730; } func_80B26AE8(this); diff --git a/src/overlays/actors/ovl_En_Kgy/z_en_kgy.c b/src/overlays/actors/ovl_En_Kgy/z_en_kgy.c index 50c83422fb..0099ff9671 100644 --- a/src/overlays/actors/ovl_En_Kgy/z_en_kgy.c +++ b/src/overlays/actors/ovl_En_Kgy/z_en_kgy.c @@ -62,7 +62,7 @@ void EnKgy_Init(Actor* thisx, GlobalContext* globalCtx) { Flags_UnsetSwitch(globalCtx, ENKGY_GET_FE00(&this->actor) + 1); if (Flags_GetSwitch(globalCtx, ENKGY_GET_FE00(&this->actor)) || (gSaveContext.weekEventReg[33] & 0x80)) { Flags_SetSwitch(globalCtx, ENKGY_GET_FE00(&this->actor) + 1); - globalCtx->envCtx.unk_C3 = 1; + globalCtx->envCtx.lightSettingOverride = 1; gSaveContext.weekEventReg[21] |= 1; if (!func_80B40D64(globalCtx)) { EnKgy_ChangeAnim(this, 4, 0, 0); diff --git a/src/overlays/actors/ovl_En_Ma4/z_en_ma4.c b/src/overlays/actors/ovl_En_Ma4/z_en_ma4.c index 4477495669..b5080ec794 100644 --- a/src/overlays/actors/ovl_En_Ma4/z_en_ma4.c +++ b/src/overlays/actors/ovl_En_Ma4/z_en_ma4.c @@ -209,7 +209,7 @@ void EnMa4_Init(Actor* thisx, GlobalContext* globalCtx) { this->hasBow = false; } - if (func_800EE1D8(globalCtx) != 0) { // if (sceneSetupIndex != 0) + if (Cutscene_GetSceneSetupIndex(globalCtx) != 0) { // if (sceneSetupIndex != 0) EnMa4_ChangeAnim(this, 0); this->state = MA4_STATE_HORSEBACKGAME; EnMa4_InitHorsebackGame(this, globalCtx); @@ -362,11 +362,11 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, GlobalContext* globalCtx) { case 0x3339: if (globalCtx->msgCtx.choiceIndex == 0) { func_8019F208(); - func_801518B0(globalCtx, 0x333A, &this->actor); + Message_StartTextbox(globalCtx, 0x333A, &this->actor); this->textId = 0x333A; } else { func_8019F208(); - func_801518B0(globalCtx, 0x333B, &this->actor); + Message_StartTextbox(globalCtx, 0x333B, &this->actor); this->textId = 0x333B; } break; @@ -375,12 +375,12 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, GlobalContext* globalCtx) { if (globalCtx->msgCtx.choiceIndex == 0) { func_8019F208(); gSaveContext.weekEventReg[21] |= 0x20; - func_801518B0(globalCtx, 0x3343, &this->actor); + Message_StartTextbox(globalCtx, 0x3343, &this->actor); this->textId = 0x3343; } else { func_8019F230(); EnMa4_SetFaceExpression(this, 0, 1); - func_801518B0(globalCtx, 0x3342, &this->actor); + Message_StartTextbox(globalCtx, 0x3342, &this->actor); this->textId = 0x3342; this->state = MA4_STATE_DEFAULT; func_80151BB4(globalCtx, 5); @@ -391,12 +391,12 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, GlobalContext* globalCtx) { if (globalCtx->msgCtx.choiceIndex == 0) { func_8019F208(); gSaveContext.weekEventReg[21] |= 0x20; - func_801518B0(globalCtx, 0x3343, &this->actor); + Message_StartTextbox(globalCtx, 0x3343, &this->actor); this->textId = 0x3343; } else { func_8019F230(); EnMa4_SetFaceExpression(this, 0, 1); - func_801518B0(globalCtx, 0x3342, &this->actor); + Message_StartTextbox(globalCtx, 0x3342, &this->actor); this->textId = 0x3342; } break; @@ -404,11 +404,11 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, GlobalContext* globalCtx) { case 0x3347: if (globalCtx->msgCtx.choiceIndex == 0) { func_8019F208(); - func_801518B0(globalCtx, 0x3349, &this->actor); + Message_StartTextbox(globalCtx, 0x3349, &this->actor); this->textId = 0x3349; } else { func_8019F230(); - func_801518B0(globalCtx, 0x3348, &this->actor); + Message_StartTextbox(globalCtx, 0x3348, &this->actor); this->textId = 0x3348; func_80151BB4(globalCtx, 5); } @@ -419,7 +419,7 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, GlobalContext* globalCtx) { s32 aux; func_8019F208(); - func_801518B0(globalCtx, 0x334E, &this->actor); + Message_StartTextbox(globalCtx, 0x334E, &this->actor); this->textId = 0x334E; if (CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) { func_80151BB4(globalCtx, 0x1C); @@ -428,7 +428,7 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, GlobalContext* globalCtx) { } else { // No. func_8019F230(); EnMa4_SetFaceExpression(this, 0, 0); - func_801518B0(globalCtx, 0x334C, &this->actor); + Message_StartTextbox(globalCtx, 0x334C, &this->actor); this->textId = 0x334C; } break; @@ -436,12 +436,12 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, GlobalContext* globalCtx) { case 0x3354: if (globalCtx->msgCtx.choiceIndex == 0) { func_8019F208(); - func_801518B0(globalCtx, 0x3349, &this->actor); + Message_StartTextbox(globalCtx, 0x3349, &this->actor); this->textId = 0x3349; } else { func_8019F230(); EnMa4_SetFaceExpression(this, 1, 0); - func_801518B0(globalCtx, 0x3355, &this->actor); + Message_StartTextbox(globalCtx, 0x3355, &this->actor); this->textId = 0x3355; func_80151BB4(globalCtx, 5); } @@ -457,13 +457,13 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, GlobalContext* globalCtx) { if (this->type == MA4_TYPE_ALIENS_DEFEATED) { func_8019F230(); EnMa4_SetFaceExpression(this, 3, 3); - func_801518B0(globalCtx, 0x3357, &this->actor); + Message_StartTextbox(globalCtx, 0x3357, &this->actor); this->textId = 0x3357; func_80151BB4(globalCtx, 5); } else { func_8019F230(); EnMa4_SetFaceExpression(this, 4, 2); - func_801518B0(globalCtx, 0x335B, &this->actor); + Message_StartTextbox(globalCtx, 0x335B, &this->actor); this->textId = 0x335B; func_80151BB4(globalCtx, 5); } @@ -473,12 +473,12 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, GlobalContext* globalCtx) { case 0x3359: if (globalCtx->msgCtx.choiceIndex == 0) { func_8019F208(); - func_801518B0(globalCtx, 0x3349, &this->actor); + Message_StartTextbox(globalCtx, 0x3349, &this->actor); this->textId = 0x3349; } else { func_8019F230(); EnMa4_SetFaceExpression(this, 4, 2); - func_801518B0(globalCtx, 0x335A, &this->actor); + Message_StartTextbox(globalCtx, 0x335A, &this->actor); this->textId = 0x335A; func_80151BB4(globalCtx, 5); } @@ -500,31 +500,31 @@ void EnMa4_ChooseNextDialogue(EnMa4* this, GlobalContext* globalCtx) { case 0x3335: EnMa4_SetFaceExpression(this, 0, 3); - func_801518B0(globalCtx, 0x3336, &this->actor); + Message_StartTextbox(globalCtx, 0x3336, &this->actor); this->textId = 0x3336; func_80151BB4(globalCtx, 5); break; case 0x3338: - func_801518B0(globalCtx, 0x3339, &this->actor); + Message_StartTextbox(globalCtx, 0x3339, &this->actor); this->textId = 0x3339; break; case 0x333A: case 0x333B: EnMa4_SetFaceExpression(this, 0, 3); - func_801518B0(globalCtx, 0x333C, &this->actor); + Message_StartTextbox(globalCtx, 0x333C, &this->actor); this->textId = 0x333C; break; case 0x333C: EnMa4_SetFaceExpression(this, 0, 2); - func_801518B0(globalCtx, 0x333D, &this->actor); + Message_StartTextbox(globalCtx, 0x333D, &this->actor); this->textId = 0x333D; break; case 0x333D: - func_801518B0(globalCtx, 0x333E, &this->actor); + Message_StartTextbox(globalCtx, 0x333E, &this->actor); this->textId = 0x333E; break; @@ -534,34 +534,34 @@ void EnMa4_ChooseNextDialogue(EnMa4* this, GlobalContext* globalCtx) { break; case 0x333F: - func_801518B0(globalCtx, 0x3340, &this->actor); + Message_StartTextbox(globalCtx, 0x3340, &this->actor); this->textId = 0x3340; break; case 0x3340: EnMa4_SetFaceExpression(this, 0, 3); - func_801518B0(globalCtx, 0x3341, &this->actor); + Message_StartTextbox(globalCtx, 0x3341, &this->actor); this->textId = 0x3341; break; case 0x3343: EnMa4_SetFaceExpression(this, 0, 0); - func_801518B0(globalCtx, 0x3344, &this->actor); + Message_StartTextbox(globalCtx, 0x3344, &this->actor); this->textId = 0x3344; break; case 0x3344: - func_801518B0(globalCtx, 0x3345, &this->actor); + Message_StartTextbox(globalCtx, 0x3345, &this->actor); this->textId = 0x3345; break; case 0x3345: - func_801518B0(globalCtx, 0x3349, &this->actor); + Message_StartTextbox(globalCtx, 0x3349, &this->actor); this->textId = 0x3349; break; case 0x3349: - func_801518B0(globalCtx, 0x334A, &this->actor); + Message_StartTextbox(globalCtx, 0x334A, &this->actor); this->textId = 0x334A; break; @@ -571,7 +571,7 @@ void EnMa4_ChooseNextDialogue(EnMa4* this, GlobalContext* globalCtx) { break; case 0x334C: - func_801518B0(globalCtx, 0x334D, &this->actor); + Message_StartTextbox(globalCtx, 0x334D, &this->actor); this->textId = 0x334D; break; @@ -580,10 +580,10 @@ void EnMa4_ChooseNextDialogue(EnMa4* this, GlobalContext* globalCtx) { case 0x335D: case 0x335E: if (this->type == MA4_TYPE_DAY1) { - func_801518B0(globalCtx, 0x3352, &this->actor); + Message_StartTextbox(globalCtx, 0x3352, &this->actor); this->textId = 0x3352; } else { - func_801518B0(globalCtx, 0x3356, &this->actor); + Message_StartTextbox(globalCtx, 0x3356, &this->actor); this->textId = 0x3356; } break; @@ -594,7 +594,7 @@ void EnMa4_ChooseNextDialogue(EnMa4* this, GlobalContext* globalCtx) { // Check if player has Epona's song if (CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) { - func_801518B0(globalCtx, 0x334C, &this->actor); + Message_StartTextbox(globalCtx, 0x334C, &this->actor); this->textId = 0x334C; } else { func_801477B4(globalCtx); @@ -606,11 +606,11 @@ void EnMa4_ChooseNextDialogue(EnMa4* this, GlobalContext* globalCtx) { case 0x3358: 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; func_80151BB4(globalCtx, 5); } else { - func_801518B0(globalCtx, 0x3359, &this->actor); + Message_StartTextbox(globalCtx, 0x3359, &this->actor); this->textId = 0x3359; } break; @@ -676,7 +676,7 @@ void EnMa4_BeginHorsebackGame(EnMa4* this, GlobalContext* globalCtx) { void EnMa4_HorsebackGameCheckPlayerInteractions(EnMa4* this, GlobalContext* globalCtx) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { // "You're feeling confident" - func_801518B0(globalCtx, 0x336E, &this->actor); + Message_StartTextbox(globalCtx, 0x336E, &this->actor); this->actionFunc = EnMa4_HorsebackGameTalking; } else if ((gSaveContext.unk_3DE0[4] < 115 * 100)) { // timer < 115 seconds func_800B8614(&this->actor, globalCtx, 100.0f); @@ -749,10 +749,10 @@ void EnMa4_HorsebackGameEnd(EnMa4* this, GlobalContext* globalCtx) { if (sFrameCounter == 25) { if (this->poppedBalloonCounter == 10) { - func_801518B0(globalCtx, 0x334F, &this->actor); + Message_StartTextbox(globalCtx, 0x334F, &this->actor); this->textId = 0x334F; } else { - func_801518B0(globalCtx, 0x334B, &this->actor); + Message_StartTextbox(globalCtx, 0x334B, &this->actor); this->textId = 0x334B; } } else if (sFrameCounter == 50) { @@ -802,15 +802,15 @@ void EnMa4_SetupEponasSongCs(EnMa4* this) { static u16 D_80AC0260 = 99; void EnMa4_EponasSongCs(EnMa4* this, GlobalContext* globalCtx) { - if (func_800EE29C(globalCtx, 0x78) != 0) { - u32 actionIndex = func_800EE200(globalCtx, 0x78); + if (Cutscene_CheckActorAction(globalCtx, 120)) { + s32 actionIndex = Cutscene_GetActorActionIndex(globalCtx, 120); - if (globalCtx->csCtx.frames == globalCtx->csCtx.npcActions[actionIndex]->startFrame) { - if (globalCtx->csCtx.npcActions[actionIndex]->unk0 != D_80AC0260) { - D_80AC0260 = globalCtx->csCtx.npcActions[actionIndex]->unk0; + if (globalCtx->csCtx.frames == globalCtx->csCtx.actorActions[actionIndex]->startFrame) { + if (globalCtx->csCtx.actorActions[actionIndex]->action != D_80AC0260) { + D_80AC0260 = globalCtx->csCtx.actorActions[actionIndex]->action; this->animTimer = 0; - switch (globalCtx->csCtx.npcActions[actionIndex]->unk0) { + switch (globalCtx->csCtx.actorActions[actionIndex]->action) { case 1: this->hasBow = true; 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)) { EnMa4_ChangeAnim(this, 7); } @@ -849,7 +849,7 @@ void EnMa4_EndEponasSongCs(EnMa4* this, GlobalContext* globalCtx) { this->actor.flags |= ACTOR_FLAG_10000; if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state) != 0) { player->stateFlags1 &= ~0x20; - func_801518B0(globalCtx, 0x334C, &this->actor); + Message_StartTextbox(globalCtx, 0x334C, &this->actor); this->textId = 0x334C; this->actor.flags &= ~ACTOR_FLAG_10000; EnMa4_SetupDialogueHandler(this); @@ -879,25 +879,25 @@ void EnMa4_StartDialogue(EnMa4* this, GlobalContext* globalCtx) { if (gSaveContext.playerForm != PLAYER_FORM_HUMAN) { if ((gSaveContext.weekEventReg[21] & 0x80)) { EnMa4_SetFaceExpression(this, 3, 3); - func_801518B0(globalCtx, 0x3337, &this->actor); + Message_StartTextbox(globalCtx, 0x3337, &this->actor); this->textId = 0x3337; func_80151BB4(globalCtx, 5); } else { - func_801518B0(globalCtx, 0x3335, &this->actor); + Message_StartTextbox(globalCtx, 0x3335, &this->actor); this->textId = 0x3335; gSaveContext.weekEventReg[21] |= 0x80; } } else if (this->state == MA4_STATE_DEFAULT) { if ((gSaveContext.weekEventReg[21] & 0x40)) { if (!(gSaveContext.weekEventReg[21] & 0x20)) { - func_801518B0(globalCtx, 0x3346, &this->actor); + Message_StartTextbox(globalCtx, 0x3346, &this->actor); this->textId = 0x3346; } else { - func_801518B0(globalCtx, 0x3347, &this->actor); + Message_StartTextbox(globalCtx, 0x3347, &this->actor); this->textId = 0x3347; } } else { - func_801518B0(globalCtx, 0x3338, &this->actor); + Message_StartTextbox(globalCtx, 0x3338, &this->actor); this->textId = 0x3338; gSaveContext.weekEventReg[21] |= 0x40; } @@ -905,7 +905,7 @@ void EnMa4_StartDialogue(EnMa4* this, GlobalContext* globalCtx) { if (gSaveContext.unk_3DE0[4] >= 2 * 60 * 100) { // "Too bad Grasshopper" EnMa4_SetFaceExpression(this, 0, 0); - func_801518B0(globalCtx, 0x336D, &this->actor); + Message_StartTextbox(globalCtx, 0x336D, &this->actor); this->textId = 0x336D; } else { time = gSaveContext.unk_3DE0[4]; @@ -913,11 +913,11 @@ void EnMa4_StartDialogue(EnMa4* this, GlobalContext* globalCtx) { // [Score] New record! gSaveContext.horseBackBalloonHighScore = time; EnMa4_SetFaceExpression(this, 0, 3); - func_801518B0(globalCtx, 0x3350, &this->actor); + Message_StartTextbox(globalCtx, 0x3350, &this->actor); this->textId = 0x3350; } else { // [Score] Great. - func_801518B0(globalCtx, 0x3351, &this->actor); + Message_StartTextbox(globalCtx, 0x3351, &this->actor); this->textId = 0x3351; } } @@ -925,7 +925,7 @@ void EnMa4_StartDialogue(EnMa4* this, GlobalContext* globalCtx) { this->actor.flags &= ~ACTOR_FLAG_10000; } else if (this->state == MA4_STATE_AFTERDESCRIBETHEMCS) { // "Cremia doesn't believe me..." - func_801518B0(globalCtx, 0x3340, &this->actor); + Message_StartTextbox(globalCtx, 0x3340, &this->actor); this->textId = 0x3340; 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.weekEventReg[21] & 0x80)) { EnMa4_SetFaceExpression(this, 3, 3); - func_801518B0(globalCtx, 0x3337, &this->actor); + Message_StartTextbox(globalCtx, 0x3337, &this->actor); this->textId = 0x3337; func_80151BB4(globalCtx, 5); } else { - func_801518B0(globalCtx, 0x3335, &this->actor); + Message_StartTextbox(globalCtx, 0x3335, &this->actor); this->textId = 0x3335; gSaveContext.weekEventReg[21] |= 0x80; } } else if (this->state == MA4_STATE_DEFAULT) { - func_801518B0(globalCtx, 0x3354, &this->actor); + Message_StartTextbox(globalCtx, 0x3354, &this->actor); this->textId = 0x3354; } else if (this->state == MA4_STATE_AFTERHORSEBACKGAME) { if (gSaveContext.unk_3DE0[4] >= 2 * 60 * 100) { // "Try again?" - func_801518B0(globalCtx, 0x3356, &this->actor); + Message_StartTextbox(globalCtx, 0x3356, &this->actor); this->textId = 0x3356; } else { time = gSaveContext.unk_3DE0[4]; if ((s32)time < (s32)gSaveContext.horseBackBalloonHighScore) { gSaveContext.horseBackBalloonHighScore = time; EnMa4_SetFaceExpression(this, 0, 3); - func_801518B0(globalCtx, 0x3350, &this->actor); + Message_StartTextbox(globalCtx, 0x3350, &this->actor); this->textId = 0x3350; } else { - func_801518B0(globalCtx, 0x3351, &this->actor); + Message_StartTextbox(globalCtx, 0x3351, &this->actor); this->textId = 0x3351; } } @@ -971,23 +971,23 @@ void EnMa4_StartDialogue(EnMa4* this, GlobalContext* globalCtx) { case MA4_TYPE_ALIENS_WON: if (this->state == MA4_STATE_DEFAULT) { // "Huh... You?" - func_801518B0(globalCtx, 0x3358, &this->actor); + Message_StartTextbox(globalCtx, 0x3358, &this->actor); this->textId = 0x3358; } else if (this->state == MA4_STATE_AFTERHORSEBACKGAME) { if (gSaveContext.unk_3DE0[4] >= 2 * 60 * 100) { // "Try again?" - func_801518B0(globalCtx, 0x3356, &this->actor); + Message_StartTextbox(globalCtx, 0x3356, &this->actor); this->textId = 0x3356; } else { time = gSaveContext.unk_3DE0[4]; if ((s32)time < (s32)gSaveContext.horseBackBalloonHighScore) { // New record gSaveContext.horseBackBalloonHighScore = time; - func_801518B0(globalCtx, 0x335D, &this->actor); + Message_StartTextbox(globalCtx, 0x335D, &this->actor); this->textId = 0x335D; } else { // "Old record was: [record]" - func_801518B0(globalCtx, 0x335E, &this->actor); + Message_StartTextbox(globalCtx, 0x335E, &this->actor); this->textId = 0x335E; } } @@ -998,7 +998,7 @@ void EnMa4_StartDialogue(EnMa4* this, GlobalContext* globalCtx) { default: // Dead code - func_801518B0(globalCtx, 0x3335, &this->actor); + Message_StartTextbox(globalCtx, 0x3335, &this->actor); this->textId = 0x3335; break; } diff --git a/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.c b/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.c index 7ec514801c..9294a6a71b 100644 --- a/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.c +++ b/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.c @@ -448,12 +448,12 @@ void EnMaYto_DefaultHandlePlayerChoice(EnMaYto* this, GlobalContext* globalCtx) func_8019F208(); EnMaYto_SetFaceExpression(this, 0, 3); // "Milk Road is fixed!" - func_801518B0(globalCtx, 0x3392, &this->actor); + Message_StartTextbox(globalCtx, 0x3392, &this->actor); this->textId = 0x3392; } else { // No func_8019F230(); // "Don't lie!" - func_801518B0(globalCtx, 0x3391, &this->actor); + Message_StartTextbox(globalCtx, 0x3391, &this->actor); this->textId = 0x3391; } } @@ -464,26 +464,26 @@ void EnMaYto_DefaultChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) switch (this->textId) { case 0x3391: EnMaYto_SetFaceExpression(this, 0, 3); - func_801518B0(globalCtx, 0x3392, &this->actor); + Message_StartTextbox(globalCtx, 0x3392, &this->actor); this->textId = 0x3392; break; case 0x3392: EnMaYto_SetFaceExpression(this, 3, 1); - func_801518B0(globalCtx, 0x3393, &this->actor); + Message_StartTextbox(globalCtx, 0x3393, &this->actor); this->textId = 0x3393; func_80151BB4(globalCtx, 6); break; case 0x3394: EnMaYto_ChangeAnim(this, 2); - func_801518B0(globalCtx, 0x3395, &this->actor); + Message_StartTextbox(globalCtx, 0x3395, &this->actor); this->textId = 0x3395; break; case 0x3395: EnMaYto_ChangeAnim(this, 1); - func_801518B0(globalCtx, 0x3396, &this->actor); + Message_StartTextbox(globalCtx, 0x3396, &this->actor); this->textId = 0x3396; func_80151BB4(globalCtx, 6); break; @@ -573,12 +573,12 @@ void EnMaYto_DinnerHandlePlayerChoice(EnMaYto* this, GlobalContext* globalCtx) { func_8019F208(); EnMaYto_SetFaceExpression(this, 0, 3); // "Milk Road is fixed!" - func_801518B0(globalCtx, 0x3399, &this->actor); + Message_StartTextbox(globalCtx, 0x3399, &this->actor); this->textId = 0x3399; } else { // No func_8019F230(); // "Don't lie!" - func_801518B0(globalCtx, 0x3398, &this->actor); + Message_StartTextbox(globalCtx, 0x3398, &this->actor); this->textId = 0x3398; } } @@ -589,20 +589,20 @@ void EnMaYto_DinnerChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) { switch (this->textId) { case 0x3398: EnMaYto_SetFaceExpression(this, 0, 3); - func_801518B0(globalCtx, 0x3399, &this->actor); + Message_StartTextbox(globalCtx, 0x3399, &this->actor); this->textId = 0x3399; break; case 0x3399: EnMaYto_SetFaceExpression(this, 3, 1); - func_801518B0(globalCtx, 0x339A, &this->actor); + Message_StartTextbox(globalCtx, 0x339A, &this->actor); this->textId = 0x339A; break; case 0x339A: this->unk31E = 1; EnMaYto_SetFaceExpression(this, 0, 1); - func_801518B0(globalCtx, 0x339B, &this->actor); + Message_StartTextbox(globalCtx, 0x339B, &this->actor); this->textId = 0x339B; break; @@ -610,7 +610,7 @@ void EnMaYto_DinnerChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) { Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child); func_80B90E50(this, 0); EnMaYto_SetRomaniFaceExpression(this, 3, 3); - func_801518B0(globalCtx, 0x339C, &this->actor); + Message_StartTextbox(globalCtx, 0x339C, &this->actor); this->textId = 0x339C; break; @@ -618,7 +618,7 @@ void EnMaYto_DinnerChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) { this->unk31E = 1; Actor_ChangeFocus(&this->actor, globalCtx, &this->actor); EnMaYto_SetFaceExpression(this, 0, 2); - func_801518B0(globalCtx, 0x339D, &this->actor); + Message_StartTextbox(globalCtx, 0x339D, &this->actor); this->textId = 0x339D; break; @@ -626,7 +626,7 @@ void EnMaYto_DinnerChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) { func_80B90E50(this, 1); Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child); EnMaYto_SetRomaniFaceExpression(this, 0, 1); - func_801518B0(globalCtx, 0x339E, &this->actor); + Message_StartTextbox(globalCtx, 0x339E, &this->actor); this->textId = 0x339E; func_80151BB4(globalCtx, 6); func_80151BB4(globalCtx, 5); @@ -634,12 +634,12 @@ void EnMaYto_DinnerChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) { case 0x339F: this->unk31E = 0; - func_801518B0(globalCtx, 0x33A0, &this->actor); + Message_StartTextbox(globalCtx, 0x33A0, &this->actor); this->textId = 0x33A0; break; case 0x33A0: - func_801518B0(globalCtx, 0x33A1, &this->actor); + Message_StartTextbox(globalCtx, 0x33A1, &this->actor); this->textId = 0x33A1; break; @@ -647,7 +647,7 @@ void EnMaYto_DinnerChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) { func_80B90E50(this, 1); Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child); EnMaYto_SetRomaniFaceExpression(this, 0, 2); - func_801518B0(globalCtx, 0x33A2, &this->actor); + Message_StartTextbox(globalCtx, 0x33A2, &this->actor); this->textId = 0x33A2; break; @@ -655,27 +655,27 @@ void EnMaYto_DinnerChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) { this->unk31E = 1; Actor_ChangeFocus(&this->actor, globalCtx, &this->actor); EnMaYto_SetFaceExpression(this, 4, 3); - func_801518B0(globalCtx, 0x33A3, &this->actor); + Message_StartTextbox(globalCtx, 0x33A3, &this->actor); this->textId = 0x33A3; break; case 0x33A3: this->unk31E = 0; EnMaYto_SetFaceExpression(this, 3, 3); - func_801518B0(globalCtx, 0x33A4, &this->actor); + Message_StartTextbox(globalCtx, 0x33A4, &this->actor); this->textId = 0x33A4; func_80151BB4(globalCtx, 6); func_80151BB4(globalCtx, 5); break; case 0x33A5: - func_801518B0(globalCtx, 0x33A6, &this->actor); + Message_StartTextbox(globalCtx, 0x33A6, &this->actor); this->textId = 0x33A6; func_80151BB4(globalCtx, 6); break; case 0x33A7: - func_801518B0(globalCtx, 0x33A8, &this->actor); + Message_StartTextbox(globalCtx, 0x33A8, &this->actor); this->textId = 0x33A8; func_80151BB4(globalCtx, 6); break; @@ -762,14 +762,14 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) { func_80B90E50(this, 0); Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child); EnMaYto_SetRomaniFaceExpression(this, 0, 3); - func_801518B0(globalCtx, 0x33AA, &this->actor); + Message_StartTextbox(globalCtx, 0x33AA, &this->actor); this->textId = 0x33AA; break; case 0x33AA: Actor_ChangeFocus(&this->actor, globalCtx, &this->actor); this->unk31E = 1; - func_801518B0(globalCtx, 0x33AB, &this->actor); + Message_StartTextbox(globalCtx, 0x33AB, &this->actor); this->textId = 0x33AB; break; @@ -777,14 +777,14 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) { func_80B90E50(this, 1); Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child); EnMaYto_SetRomaniFaceExpression(this, 0, 1); - func_801518B0(globalCtx, 0x33AC, &this->actor); + Message_StartTextbox(globalCtx, 0x33AC, &this->actor); this->textId = 0x33AC; break; case 0x33AC: this->unk31E = 0; Actor_ChangeFocus(&this->actor, globalCtx, &this->actor); - func_801518B0(globalCtx, 0x33AD, &this->actor); + Message_StartTextbox(globalCtx, 0x33AD, &this->actor); this->textId = 0x33AD; func_80151BB4(globalCtx, 6); func_80151BB4(globalCtx, 5); @@ -794,7 +794,7 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) { func_80B90E50(this, 1); Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child); EnMaYto_SetRomaniFaceExpression(this, 4, 2); - func_801518B0(globalCtx, 0x33AF, &this->actor); + Message_StartTextbox(globalCtx, 0x33AF, &this->actor); this->textId = 0x33AF; break; @@ -802,7 +802,7 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) { this->unk31E = 1; Actor_ChangeFocus(&this->actor, globalCtx, &this->actor); EnMaYto_SetFaceExpression(this, 4, 2); - func_801518B0(globalCtx, 0x33B0, &this->actor); + Message_StartTextbox(globalCtx, 0x33B0, &this->actor); this->textId = 0x33B0; func_80151BB4(globalCtx, 6); func_80151BB4(globalCtx, 5); @@ -812,7 +812,7 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) { this->unk31E = 2; EnMaYto_SetFaceExpression(this, 5, 3); // "I should had believed what Romani said" - func_801518B0(globalCtx, 0x33B2, &this->actor); + Message_StartTextbox(globalCtx, 0x33B2, &this->actor); this->textId = 0x33B2; func_80151BB4(globalCtx, 6); break; @@ -821,7 +821,7 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) { Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child); this->unk31E = 0; EnMaYto_SetFaceExpression(this, 0, 1); - func_801518B0(globalCtx, 0x33C7, &this->actor); + Message_StartTextbox(globalCtx, 0x33C7, &this->actor); this->textId = 0x33C7; break; @@ -829,7 +829,7 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) { Actor_ChangeFocus(&this->actor, globalCtx, &this->actor); this->unk31E = 1; EnMaYto_SetFaceExpression(this, 0, 1); - func_801518B0(globalCtx, 0x33C8, &this->actor); + Message_StartTextbox(globalCtx, 0x33C8, &this->actor); this->textId = 0x33C8; break; @@ -837,7 +837,7 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) { Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child); func_80B90E50(this, 1); EnMaYto_SetRomaniFaceExpression(this, 0, 2); - func_801518B0(globalCtx, 0x33C9, &this->actor); + Message_StartTextbox(globalCtx, 0x33C9, &this->actor); this->textId = 0x33C9; break; @@ -845,13 +845,13 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) { Actor_ChangeFocus(&this->actor, globalCtx, &this->actor); this->unk31E = 1; EnMaYto_SetFaceExpression(this, 3, 1); - func_801518B0(globalCtx, 0x33CA, &this->actor); + Message_StartTextbox(globalCtx, 0x33CA, &this->actor); this->textId = 0x33CA; break; case 0x33CA: this->unk31E = 1; - func_801518B0(globalCtx, 0x33CB, &this->actor); + Message_StartTextbox(globalCtx, 0x33CB, &this->actor); this->textId = 0x33CB; break; @@ -859,7 +859,7 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, GlobalContext* globalCtx) { Actor_ChangeFocus(&this->actor, globalCtx, this->actor.child); func_80B90E50(this, 1); EnMaYto_SetRomaniFaceExpression(this, 3, 3); - func_801518B0(globalCtx, 0x33CC, &this->actor); + Message_StartTextbox(globalCtx, 0x33CC, &this->actor); this->textId = 0x33CC; func_80151BB4(globalCtx, 6); func_80151BB4(globalCtx, 5); @@ -888,12 +888,12 @@ void EnMaYto_AfterMilkRunInit(EnMaYto* this, GlobalContext* globalCtx) { this->actor.flags &= ~ACTOR_FLAG_10000; if (gSaveContext.weekEventReg[52] & 1) { // if (ProtectedCremia) - func_801518B0(globalCtx, 0x33C1, &this->actor); + Message_StartTextbox(globalCtx, 0x33C1, &this->actor); this->textId = 0x33C1; } else { // Fails milk minigame EnMaYto_SetFaceExpression(this, 5, 2); - func_801518B0(globalCtx, 0x33C0, &this->actor); + Message_StartTextbox(globalCtx, 0x33C0, &this->actor); this->textId = 0x33C0; // Attempted Cremia Cart Ride gSaveContext.weekEventReg[14] |= 1; @@ -937,7 +937,7 @@ void EnMaYto_AfterMilkRunChooseNextDialogue(EnMaYto* this, GlobalContext* global case 0x33C1: EnMaYto_SetFaceExpression(this, 3, 1); // "Thank you. You were cool back there." - func_801518B0(globalCtx, 0x33C2, &this->actor); + Message_StartTextbox(globalCtx, 0x33C2, &this->actor); this->textId = 0x33C2; break; @@ -975,7 +975,7 @@ void EnMaYto_PostMilkRunExplainReward(EnMaYto* this, GlobalContext* globalCtx) { if (this->unk310 == 1) { // Romani's mask explanation EnMaYto_SetFaceExpression(this, 0, 1); - func_801518B0(globalCtx, 0x33C3, &this->actor); + Message_StartTextbox(globalCtx, 0x33C3, &this->actor); this->textId = 0x33C3; // Attempted Cremia Cart Ride gSaveContext.weekEventReg[14] |= 1; @@ -987,7 +987,7 @@ void EnMaYto_PostMilkRunExplainReward(EnMaYto* this, GlobalContext* globalCtx) { } else { // You already have the mask EnMaYto_SetFaceExpression(this, 0, 1); - func_801518B0(globalCtx, 0x33D0, &this->actor); + Message_StartTextbox(globalCtx, 0x33D0, &this->actor); this->textId = 0x33D0; // Attempted Cremia Cart Ride gSaveContext.weekEventReg[14] |= 1; @@ -1024,11 +1024,11 @@ void EnMaYto_SetupWarmFuzzyFeelingCs(EnMaYto* this) { static u16 D_80B915F0 = 99; void EnMaYto_WarmFuzzyFeelingCs(EnMaYto* this, GlobalContext* globalCtx) { - if (func_800EE29C(globalCtx, 0x22C) != 0) { - u32 csActionIndex = func_800EE200(globalCtx, 0x22C); + if (Cutscene_CheckActorAction(globalCtx, 556)) { + s32 csActionIndex = Cutscene_GetActorActionIndex(globalCtx, 556); - if (globalCtx->csCtx.frames == globalCtx->csCtx.npcActions[csActionIndex]->startFrame) { - u16 action = globalCtx->csCtx.npcActions[csActionIndex]->unk0; + if (globalCtx->csCtx.frames == globalCtx->csCtx.actorActions[csActionIndex]->startFrame) { + u16 action = globalCtx->csCtx.actorActions[csActionIndex]->action; 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 && Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) { 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) { switch (Player_GetMask(globalCtx)) { case PLAYER_MASK_ROMANI: - func_801518B0(globalCtx, 0x235D, &this->actor); + Message_StartTextbox(globalCtx, 0x235D, &this->actor); this->textId = 0x235D; break; case PLAYER_MASK_CIRCUS_LEADER: EnMaYto_SetFaceExpression(this, 1, 3); - func_801518B0(globalCtx, 0x235E, &this->actor); + Message_StartTextbox(globalCtx, 0x235E, &this->actor); this->textId = 0x235E; break; case PLAYER_MASK_KAFEIS_MASK: EnMaYto_SetFaceExpression(this, 1, 2); - func_801518B0(globalCtx, 0x235F, &this->actor); + Message_StartTextbox(globalCtx, 0x235F, &this->actor); this->textId = 0x235F; break; case PLAYER_MASK_COUPLE: - func_801518B0(globalCtx, 0x2360, &this->actor); + Message_StartTextbox(globalCtx, 0x2360, &this->actor); this->textId = 0x2360; break; default: - func_801518B0(globalCtx, 0x2361, &this->actor); + Message_StartTextbox(globalCtx, 0x2361, &this->actor); this->textId = 0x2361; break; } } else { if (EnMaYto_HasSpokeToPlayer()) { - func_801518B0(globalCtx, 0x3394, &this->actor); + Message_StartTextbox(globalCtx, 0x3394, &this->actor); this->textId = 0x3394; } else { EnMaYto_SetTalkedFlag(); // Asks the player if he came from town. - func_801518B0(globalCtx, 0x3390, &this->actor); + Message_StartTextbox(globalCtx, 0x3390, &this->actor); this->textId = 0x3390; } } } else if (CURRENT_DAY == 3) { if (EnMaYto_HasSpokeToPlayerToday()) { EnMaYto_SetFaceExpression(this, 0, 3); - func_801518B0(globalCtx, 0x33C5, &this->actor); + Message_StartTextbox(globalCtx, 0x33C5, &this->actor); this->textId = 0x33C5; func_80151BB4(globalCtx, 6); } else { EnMaYto_SetTalkedFlag(); EnMaYto_SetFaceExpression(this, 0, 3); - func_801518B0(globalCtx, 0x33C4, &this->actor); + Message_StartTextbox(globalCtx, 0x33C4, &this->actor); this->textId = 0x33C4; 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) { switch (Player_GetMask(globalCtx)) { case PLAYER_MASK_ROMANI: - func_801518B0(globalCtx, 0x235D, &this->actor); + Message_StartTextbox(globalCtx, 0x235D, &this->actor); this->textId = 0x235D; break; case PLAYER_MASK_CIRCUS_LEADER: - func_801518B0(globalCtx, 0x235E, &this->actor); + Message_StartTextbox(globalCtx, 0x235E, &this->actor); this->textId = 0x235E; break; case PLAYER_MASK_KAFEIS_MASK: - func_801518B0(globalCtx, 0x235F, &this->actor); + Message_StartTextbox(globalCtx, 0x235F, &this->actor); this->textId = 0x235F; break; case PLAYER_MASK_COUPLE: - func_801518B0(globalCtx, 0x2360, &this->actor); + Message_StartTextbox(globalCtx, 0x2360, &this->actor); this->textId = 0x2360; break; default: - func_801518B0(globalCtx, 0x2361, &this->actor); + Message_StartTextbox(globalCtx, 0x2361, &this->actor); this->textId = 0x2361; break; } } else { if (EnMaYto_HasSpokeToPlayer()) { - func_801518B0(globalCtx, 0x339F, &this->actor); + Message_StartTextbox(globalCtx, 0x339F, &this->actor); this->textId = 0x339F; } else { EnMaYto_SetTalkedFlag(); - func_801518B0(globalCtx, 0x3397, &this->actor); + Message_StartTextbox(globalCtx, 0x3397, &this->actor); this->textId = 0x3397; } } @@ -1199,24 +1199,24 @@ void EnMaYto_DinnerStartDialogue(EnMaYto* this, GlobalContext* globalCtx) { case 2: if (EnMaYto_HasSpokeToPlayer()) { - func_801518B0(globalCtx, 0x33A6, &this->actor); + Message_StartTextbox(globalCtx, 0x33A6, &this->actor); this->textId = 0x33A6; func_80151BB4(globalCtx, 6); } else { EnMaYto_SetTalkedFlag(); - func_801518B0(globalCtx, 0x33A5, &this->actor); + Message_StartTextbox(globalCtx, 0x33A5, &this->actor); this->textId = 0x33A5; } break; case 3: if (EnMaYto_HasSpokeToPlayer()) { - func_801518B0(globalCtx, 0x33A8, &this->actor); + Message_StartTextbox(globalCtx, 0x33A8, &this->actor); this->textId = 0x33A8; func_80151BB4(globalCtx, 6); } else { EnMaYto_SetTalkedFlag(); - func_801518B0(globalCtx, 0x33A7, &this->actor); + Message_StartTextbox(globalCtx, 0x33A7, &this->actor); this->textId = 0x33A7; } break; @@ -1228,23 +1228,23 @@ void EnMaYto_BarnStartDialogue(EnMaYto* this, GlobalContext* globalCtx) { if (gSaveContext.weekEventReg[22] & 1) { if (CURRENT_DAY == 2) { if (this->unk310 == 1) { - func_801518B0(globalCtx, 0x33AE, &this->actor); + Message_StartTextbox(globalCtx, 0x33AE, &this->actor); this->textId = 0x33AE; } else { this->unk310 = 1; EnMaYto_SetTalkedFlag(); - func_801518B0(globalCtx, 0x33A9, &this->actor); + Message_StartTextbox(globalCtx, 0x33A9, &this->actor); this->textId = 0x33A9; } } else if (CURRENT_DAY == 3) { if (this->unk310 == 1) { - func_801518B0(globalCtx, 0x33CB, &this->actor); + Message_StartTextbox(globalCtx, 0x33CB, &this->actor); this->textId = 0x33CB; } else { this->unk310 = 1; EnMaYto_SetTalkedFlag(); EnMaYto_SetFaceExpression(this, 0, 1); - func_801518B0(globalCtx, 0x33C6, &this->actor); + Message_StartTextbox(globalCtx, 0x33C6, &this->actor); this->textId = 0x33C6; } } @@ -1252,13 +1252,13 @@ void EnMaYto_BarnStartDialogue(EnMaYto* this, GlobalContext* globalCtx) { if (EnMaYto_HasSpokeToPlayer()) { this->unk31E = 2; EnMaYto_SetFaceExpression(this, 5, 3); - func_801518B0(globalCtx, 0x33B3, &this->actor); + Message_StartTextbox(globalCtx, 0x33B3, &this->actor); this->textId = 0x33B3; func_80151BB4(globalCtx, 6); } else { EnMaYto_SetTalkedFlag(); EnMaYto_SetFaceExpression(this, 5, 3); - func_801518B0(globalCtx, 0x33B1, &this->actor); + Message_StartTextbox(globalCtx, 0x33B1, &this->actor); this->textId = 0x33B1; } } diff --git a/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.c b/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.c index 1dd02ecc92..bb88e44355 100644 --- a/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.c +++ b/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.c @@ -302,12 +302,12 @@ void EnMaYts_StartDialogue(EnMaYts* this, GlobalContext* globalCtx) { // Saying to non-human Link: "Cremia went to town." gSaveContext.weekEventReg[65] |= 0x80; EnMaYts_SetFaceExpression(this, 0, 0); - func_801518B0(globalCtx, 0x335F, &this->actor); + Message_StartTextbox(globalCtx, 0x335F, &this->actor); this->textId = 0x335F; } else { // Saying to non-human Link: "Pretend you did not hear that." EnMaYts_SetFaceExpression(this, 4, 3); - func_801518B0(globalCtx, 0x3362, &this->actor); + Message_StartTextbox(globalCtx, 0x3362, &this->actor); this->textId = 0x3362; func_80151BB4(globalCtx, 5); } @@ -315,29 +315,29 @@ void EnMaYts_StartDialogue(EnMaYts* this, GlobalContext* globalCtx) { if (!(gSaveContext.weekEventReg[65] & 0x40)) { gSaveContext.weekEventReg[65] |= 0x40; EnMaYts_SetFaceExpression(this, 0, 0); - func_801518B0(globalCtx, 0x3363, &this->actor); + Message_StartTextbox(globalCtx, 0x3363, &this->actor); this->textId = 0x3363; } else { EnMaYts_SetFaceExpression(this, 4, 2); - func_801518B0(globalCtx, 0x3366, &this->actor); + Message_StartTextbox(globalCtx, 0x3366, &this->actor); this->textId = 0x3366; func_80151BB4(globalCtx, 5); } } else if (!(gSaveContext.weekEventReg[21] & 0x20)) { EnMaYts_SetFaceExpression(this, 0, 0); - func_801518B0(globalCtx, 0x3367, &this->actor); + Message_StartTextbox(globalCtx, 0x3367, &this->actor); this->textId = 0x3367; } else { if (!(gSaveContext.weekEventReg[65] & 0x20)) { // Saying to Grasshopper: "Cremia went to town." gSaveContext.weekEventReg[65] |= 0x20; EnMaYts_SetFaceExpression(this, 4, 2); - func_801518B0(globalCtx, 0x3369, &this->actor); + Message_StartTextbox(globalCtx, 0x3369, &this->actor); this->textId = 0x3369; } else { // Saying to Grasshopper: "You're our bodyguard." EnMaYts_SetFaceExpression(this, 0, 0); - func_801518B0(globalCtx, 0x336C, &this->actor); + Message_StartTextbox(globalCtx, 0x336C, &this->actor); this->textId = 0x336C; func_80151BB4(globalCtx, 5); } @@ -381,14 +381,14 @@ void EnMaYts_SetupEndCreditsHandler(EnMaYts* this) { static u16 D_80B8E32C = 99; void EnMaYts_EndCreditsHandler(EnMaYts* this, GlobalContext* globalCtx) { - if (func_800EE29C(globalCtx, 0x78) != 0) { - u32 actionIndex = func_800EE200(globalCtx, 0x78); + if (Cutscene_CheckActorAction(globalCtx, 120)) { + s32 actionIndex = Cutscene_GetActorActionIndex(globalCtx, 120); - if (globalCtx->csCtx.frames == globalCtx->csCtx.npcActions[actionIndex]->startFrame) { - if (globalCtx->csCtx.npcActions[actionIndex]->unk0 != D_80B8E32C) { - D_80B8E32C = globalCtx->csCtx.npcActions[actionIndex]->unk0; + if (globalCtx->csCtx.frames == globalCtx->csCtx.actorActions[actionIndex]->startFrame) { + if (globalCtx->csCtx.actorActions[actionIndex]->action != D_80B8E32C) { + D_80B8E32C = globalCtx->csCtx.actorActions[actionIndex]->action; this->endCreditsFlag = 0; - switch (globalCtx->csCtx.npcActions[actionIndex]->unk0) { + switch (globalCtx->csCtx.actorActions[actionIndex]->action) { case 1: this->hasBow = true; 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) && - (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame) != 0)) { + Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) { this->endCreditsFlag++; EnMaYts_ChangeAnim(this, 5); } @@ -430,46 +430,46 @@ void EnMaYts_ChooseNextDialogue(EnMaYts* this, GlobalContext* globalCtx) { switch (this->textId) { case 0x335F: EnMaYts_SetFaceExpression(this, 0, 2); - func_801518B0(globalCtx, 0x3360, &this->actor); + Message_StartTextbox(globalCtx, 0x3360, &this->actor); this->textId = 0x3360; break; case 0x3360: EnMaYts_SetFaceExpression(this, 4, 3); - func_801518B0(globalCtx, 0x3361, &this->actor); + Message_StartTextbox(globalCtx, 0x3361, &this->actor); this->textId = 0x3361; func_80151BB4(globalCtx, 5); break; case 0x3363: EnMaYts_SetFaceExpression(this, 1, 1); - func_801518B0(globalCtx, 0x3364, &this->actor); + Message_StartTextbox(globalCtx, 0x3364, &this->actor); this->textId = 0x3364; break; case 0x3364: EnMaYts_SetFaceExpression(this, 4, 2); - func_801518B0(globalCtx, 0x3365, &this->actor); + Message_StartTextbox(globalCtx, 0x3365, &this->actor); this->textId = 0x3365; func_80151BB4(globalCtx, 5); break; case 0x3367: EnMaYts_SetFaceExpression(this, 4, 3); - func_801518B0(globalCtx, 0x3368, &this->actor); + Message_StartTextbox(globalCtx, 0x3368, &this->actor); this->textId = 0x3368; func_80151BB4(globalCtx, 5); break; case 0x3369: EnMaYts_SetFaceExpression(this, 0, 0); - func_801518B0(globalCtx, 0x336A, &this->actor); + Message_StartTextbox(globalCtx, 0x336A, &this->actor); this->textId = 0x336A; break; case 0x336A: EnMaYts_SetFaceExpression(this, 3, 3); - func_801518B0(globalCtx, 0x336B, &this->actor); + Message_StartTextbox(globalCtx, 0x336B, &this->actor); this->textId = 0x336B; func_80151BB4(globalCtx, 5); break; diff --git a/src/overlays/actors/ovl_En_Mag/z_en_mag.c b/src/overlays/actors/ovl_En_Mag/z_en_mag.c index 81687965c3..9e6b3e9e9e 100644 --- a/src/overlays/actors/ovl_En_Mag/z_en_mag.c +++ b/src/overlays/actors/ovl_En_Mag/z_en_mag.c @@ -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_B)) { if (globalCtx->sceneLoadFlag != 0x14) { - func_801A3F54(false); + Audio_SetCutsceneFlag(false); D_801BB12C++; if (D_801BB12C >= 2) { D_801BB12C = 0; diff --git a/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog.c b/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog.c index 227c4316d4..806ffe71a5 100644 --- a/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog.c +++ b/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog.c @@ -471,7 +471,7 @@ void EnMinifrog_EndChoir(EnMinifrog* this, GlobalContext* globalCtx) { EnMinifrog_TurnToPlayer(this); EnMinifrog_Jump(this); 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; } else { 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)) { this->actionFunc = EnMinifrog_YellowFrogDialog; if (!(gSaveContext.weekEventReg[34] & 1)) { // Not spoken with MINIFROG_YELLOW - func_801518B0(globalCtx, 0xD76, - &this->actor); // "I have been waiting for you, Don Gero. Forgive me if I'm mistaken, but it - // looks like you've lost a little weight..." + Message_StartTextbox(globalCtx, 0xD76, + &this->actor); // "I have been waiting for you, Don Gero. Forgive me if I'm mistaken, + // but it looks like you've lost a little weight..." } 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) && (Player_IsFacingActor(&this->actor, 0x3000, globalCtx) || diff --git a/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c b/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c index 078edb8407..718f384f32 100644 --- a/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c +++ b/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c @@ -64,7 +64,7 @@ void EnMm2_Reading(EnMm2* this, GlobalContext* globalCtx) { */ void EnMm2_WaitForRead(EnMm2* this, GlobalContext* globalCtx) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { - func_801518B0(globalCtx, 0x277B, &this->actor); + Message_StartTextbox(globalCtx, 0x277B, &this->actor); this->actionFunc = EnMm2_Reading; } else if ((this->actor.xzDistToPlayer < 60.0f) && (Player_IsFacingActor(&this->actor, 0x3000, globalCtx))) { func_800B8614(&this->actor, globalCtx, 110.0f); diff --git a/src/overlays/actors/ovl_En_Nnh/z_en_nnh.c b/src/overlays/actors/ovl_En_Nnh/z_en_nnh.c index af0722d91b..1400e3c067 100644 --- a/src/overlays/actors/ovl_En_Nnh/z_en_nnh.c +++ b/src/overlays/actors/ovl_En_Nnh/z_en_nnh.c @@ -77,7 +77,7 @@ void func_80C08828(EnNnh* this) { void func_80C0883C(EnNnh* this, GlobalContext* globalCtx) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { - func_801518B0(globalCtx, 0x228U, &this->actor); + Message_StartTextbox(globalCtx, 0x228U, &this->actor); func_80C088A4(this); return; } diff --git a/src/overlays/actors/ovl_En_Osn/z_en_osn.c b/src/overlays/actors/ovl_En_Osn/z_en_osn.c index fd0e8b6bc2..620d4450a3 100644 --- a/src/overlays/actors/ovl_En_Osn/z_en_osn.c +++ b/src/overlays/actors/ovl_En_Osn/z_en_osn.c @@ -574,7 +574,7 @@ void func_80AD10FC(EnOsn* this, GlobalContext* globalCtx) { 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) { @@ -615,7 +615,7 @@ void func_80AD14C8(EnOsn* this, GlobalContext* globalCtx) { } else { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { 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; } else if ((((this->actor.xzDistToPlayer < 100.0f) || this->actor.isTargeted) && (temp_v1 < 0x4000)) && (temp_v1 > -0x4000)) { @@ -638,14 +638,14 @@ void func_80AD1634(EnOsn* this, GlobalContext* globalCtx) { void func_80AD16A8(EnOsn* this, GlobalContext* globalCtx) { u8 pad; - u32 temp_v0; + s32 actionIndex; - if (func_800EE29C(globalCtx, 0x82)) { - temp_v0 = func_800EE200(globalCtx, 0x82); + if (Cutscene_CheckActorAction(globalCtx, 130)) { + actionIndex = Cutscene_GetActorActionIndex(globalCtx, 130); this->unk_1F0 = 0; - if (this->unk_1ED != globalCtx->csCtx.npcActions[temp_v0]->unk0) { - this->unk_1ED = globalCtx->csCtx.npcActions[temp_v0]->unk0; - switch (globalCtx->csCtx.npcActions[temp_v0]->unk0) { + if (this->unk_1ED != globalCtx->csCtx.actorActions[actionIndex]->action) { + this->unk_1ED = globalCtx->csCtx.actorActions[actionIndex]->action; + switch (globalCtx->csCtx.actorActions[actionIndex]->action) { case 1: this->unk_1EC = 2; break; @@ -735,7 +735,7 @@ void func_80AD16A8(EnOsn* this, GlobalContext* globalCtx) { (Animation_OnFrame(&this->skelAnime, 57.0f)) || (Animation_OnFrame(&this->skelAnime, 67.0f)))) { Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_OMENYA_WALK); } - func_800EDF24(&this->actor, globalCtx, temp_v0); + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, actionIndex); } else { this->unk_1F0 = 1; this->unk_1ED = 0x63; diff --git a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c index e3942aaf36..7e32762637 100644 --- a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c +++ b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c @@ -383,7 +383,7 @@ void EnOssan_BeginInteraction(EnOssan* this, GlobalContext* globalCtx) { case 10: 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); break; case 5: @@ -408,7 +408,7 @@ void EnOssan_BeginInteraction(EnOssan* this, GlobalContext* globalCtx) { } else { EnOssan_SetHaveMet(this); 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); } } @@ -1091,7 +1091,7 @@ void EnOssan_ContinueShopping(EnOssan* this, GlobalContext* globalCtx) { func_8019F208(); player->actor.shape.rot.y = BINANG_ROT180(player->actor.shape.rot.y); player->stateFlags2 |= 0x20000000; - func_801518B0(globalCtx, this->textId, &this->actor); + Message_StartTextbox(globalCtx, this->textId, &this->actor); EnOssan_SetupStartShopping(globalCtx, this, true); func_800B85E0(&this->actor, globalCtx, 100.0f, EXCH_ITEM_MINUS1); break; @@ -1109,7 +1109,7 @@ void EnOssan_ContinueShopping(EnOssan* this, GlobalContext* globalCtx) { item->restockFunc(globalCtx, item); player->actor.shape.rot.y = BINANG_ROT180(player->actor.shape.rot.y); player->stateFlags2 |= 0x20000000; - func_801518B0(globalCtx, this->textId, &this->actor); + Message_StartTextbox(globalCtx, this->textId, &this->actor); EnOssan_SetupStartShopping(globalCtx, this, true); func_800B85E0(&this->actor, globalCtx, 100.0f, EXCH_ITEM_MINUS1); } diff --git a/src/overlays/actors/ovl_En_Ot/z_en_ot.c b/src/overlays/actors/ovl_En_Ot/z_en_ot.c index b210e76cdc..f7f41a2c13 100644 --- a/src/overlays/actors/ovl_En_Ot/z_en_ot.c +++ b/src/overlays/actors/ovl_En_Ot/z_en_ot.c @@ -651,7 +651,7 @@ void func_80B5CD40(EnOt* this, GlobalContext* globalCtx) { if (1) {} if (!temp) { gSaveContext.weekEventReg[23] |= 0x10; - func_801518B0(globalCtx, 0x1069, NULL); + Message_StartTextbox(globalCtx, 0x1069, NULL); } break; @@ -765,12 +765,12 @@ void func_80B5D160(EnOt* this, GlobalContext* globalCtx) { } else { phi_a1 = 0x10A5; } - func_801518B0(globalCtx, phi_a1, &this->actor); + Message_StartTextbox(globalCtx, phi_a1, &this->actor); func_80B5D114(this, globalCtx); break; case 1: - func_801518B0(globalCtx, 0x106D, &this->actor); + Message_StartTextbox(globalCtx, 0x106D, &this->actor); func_80B5D114(this, globalCtx); break; } diff --git a/src/overlays/actors/ovl_En_Pamera/z_en_pamera.c b/src/overlays/actors/ovl_En_Pamera/z_en_pamera.c index 4b15bde77e..467ef3901f 100644 --- a/src/overlays/actors/ovl_En_Pamera/z_en_pamera.c +++ b/src/overlays/actors/ovl_En_Pamera/z_en_pamera.c @@ -599,21 +599,21 @@ void func_80BD994C(EnPamera* this, GlobalContext* globalCtx) { if (Player_GetMask(globalCtx) == PLAYER_MASK_GIBDO) { if (1) {} func_80BD93CC(this, 0, 1); - func_801518B0(globalCtx, 0x15A8, &this->actor); + Message_StartTextbox(globalCtx, 0x15A8, &this->actor); this->unk_324 = 0x15A8; } else if ((gSaveContext.playerForm != PLAYER_FORM_HUMAN) || ((gSaveContext.weekEventReg[52] & 0x20) && (!(gSaveContext.weekEventReg[75] & 0x20)))) { func_80BD93CC(this, 1, 0); - func_801518B0(globalCtx, 0x158E, &this->actor); + Message_StartTextbox(globalCtx, 0x158E, &this->actor); this->unk_324 = 0x158E; } else { if (!(this->unk_322 & 1)) { this->unk_322 |= 1; - func_801518B0(globalCtx, 0x1587, &this->actor); + Message_StartTextbox(globalCtx, 0x1587, &this->actor); this->unk_324 = 0x1587; } else { - func_801518B0(globalCtx, 0x158C, &this->actor); + Message_StartTextbox(globalCtx, 0x158C, &this->actor); this->unk_324 = 0x158C; } } @@ -654,23 +654,23 @@ void func_80BD9B4C(EnPamera* this, GlobalContext* globalCtx) { if (func_80147624(globalCtx)) { switch (this->unk_324) { case 0x1587: - func_801518B0(globalCtx, 0x1588, &this->actor); + Message_StartTextbox(globalCtx, 0x1588, &this->actor); this->unk_324 = 0x1588; break; case 0x1588: - func_801518B0(globalCtx, 0x1589, &this->actor); + Message_StartTextbox(globalCtx, 0x1589, &this->actor); this->unk_324 = 0x1589; break; case 0x1589: - func_801518B0(globalCtx, 0x158A, &this->actor); + Message_StartTextbox(globalCtx, 0x158A, &this->actor); this->unk_324 = 0x158A; break; case 0x158A: - func_801518B0(globalCtx, 0x158B, &this->actor); + Message_StartTextbox(globalCtx, 0x158B, &this->actor); this->unk_324 = 0x158B; break; case 0x158C: - func_801518B0(globalCtx, 0x158D, &this->actor); + Message_StartTextbox(globalCtx, 0x158D, &this->actor); this->unk_324 = 0x158D; break; case 0x158E: @@ -690,14 +690,14 @@ void func_80BD9C70(EnPamera* this, GlobalContext* globalCtx) { } s32 func_80BD9CB8(EnPamera* this, GlobalContext* globalCtx) { - u32 actionIndex; + s32 actionIndex; - if (func_800EE29C(globalCtx, 0x1E5)) { - actionIndex = func_800EE200(globalCtx, 0x1E5); - if (this->unk_326 != globalCtx->csCtx.npcActions[actionIndex]->unk0) { - this->unk_326 = globalCtx->csCtx.npcActions[actionIndex]->unk0; + if (Cutscene_CheckActorAction(globalCtx, 0x1E5)) { + actionIndex = Cutscene_GetActorActionIndex(globalCtx, 0x1E5); + if (this->unk_326 != globalCtx->csCtx.actorActions[actionIndex]->action) { + this->unk_326 = globalCtx->csCtx.actorActions[actionIndex]->action; - switch (globalCtx->csCtx.npcActions[actionIndex]->unk0) { + switch (globalCtx->csCtx.actorActions[actionIndex]->action) { case 1: func_80BD9E88(this); break; @@ -722,7 +722,7 @@ s32 func_80BD9CB8(EnPamera* this, GlobalContext* globalCtx) { break; } } - func_800EDF24(&this->actor, globalCtx, actionIndex); + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, actionIndex); this->setupFunc(this, globalCtx); return 1; } diff --git a/src/overlays/actors/ovl_En_Rail_Skb/z_en_rail_skb.c b/src/overlays/actors/ovl_En_Rail_Skb/z_en_rail_skb.c index ce4d008383..b2850d7d1f 100644 --- a/src/overlays/actors/ovl_En_Rail_Skb/z_en_rail_skb.c +++ b/src/overlays/actors/ovl_En_Rail_Skb/z_en_rail_skb.c @@ -296,7 +296,8 @@ void EnRailSkb_Init(Actor* thisx, GlobalContext* globalCtx) { 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; } @@ -489,11 +490,11 @@ void func_80B716A8(EnRailSkb* this, GlobalContext* globalCtx) { this->unk_3FE = 1; func_80B71D8C(this, globalCtx, func_80B723F8); if (!func_80B7285C(this)) { - func_801518B0(globalCtx, 0x13EC, &this->actor); + Message_StartTextbox(globalCtx, 0x13EC, &this->actor); this->unk_400 = 0x13EC; func_80B72830(this, 1); } else { - func_801518B0(globalCtx, 0x13F5, &this->actor); + Message_StartTextbox(globalCtx, 0x13F5, &this->actor); this->unk_400 = 0x13F5; } Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 12); @@ -702,34 +703,34 @@ void func_80B71F3C(EnRailSkb* this, GlobalContext* globalCtx) { if (func_80147624(globalCtx)) { switch (this->unk_400) { case 0x13EC: - func_801518B0(globalCtx, 0x13ED, &this->actor); + Message_StartTextbox(globalCtx, 0x13ED, &this->actor); this->unk_400 = 0x13ED; break; case 0x13ED: - func_801518B0(globalCtx, 0x13EE, &this->actor); + Message_StartTextbox(globalCtx, 0x13EE, &this->actor); this->unk_400 = 0x13EE; break; case 0x13EE: - func_801518B0(globalCtx, 0x13EF, &this->actor); + Message_StartTextbox(globalCtx, 0x13EF, &this->actor); this->unk_400 = 0x13EF; break; case 0x13EF: case 0x13F5: - func_801518B0(globalCtx, 0x13F0, &this->actor); + Message_StartTextbox(globalCtx, 0x13F0, &this->actor); this->unk_400 = 0x13F0; break; case 0x13F1: - func_801518B0(globalCtx, 0x13F2, &this->actor); + Message_StartTextbox(globalCtx, 0x13F2, &this->actor); this->unk_400 = 0x13F2; break; case 0x13F2: if (this->unk_3FC == 1) { - func_801518B0(globalCtx, 0x13F4, &this->actor); + Message_StartTextbox(globalCtx, 0x13F4, &this->actor); this->unk_400 = 0x13F4; } else { func_801477B4(globalCtx); @@ -738,7 +739,7 @@ void func_80B71F3C(EnRailSkb* this, GlobalContext* globalCtx) { break; case 0x13F3: - func_801518B0(globalCtx, 0x13F2, &this->actor); + Message_StartTextbox(globalCtx, 0x13F2, &this->actor); this->unk_400 = 0x13F2; this->unk_3FC = 1; break; @@ -755,11 +756,11 @@ void func_80B72100(EnRailSkb* this, GlobalContext* globalCtx) { if (func_80147624(globalCtx)) { if (globalCtx->msgCtx.choiceIndex == 0) { func_8019F208(); - func_801518B0(globalCtx, 0x13F1, &this->actor); + Message_StartTextbox(globalCtx, 0x13F1, &this->actor); this->unk_400 = 0x13F1; } else { func_8019F208(); - func_801518B0(globalCtx, 0x13F3, &this->actor); + Message_StartTextbox(globalCtx, 0x13F3, &this->actor); this->unk_400 = 0x13F3; } } diff --git a/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c b/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c index b266506902..39232befa9 100644 --- a/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c +++ b/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c @@ -956,7 +956,7 @@ void EnRailgibud_CheckIfTalkingToPlayer(EnRailgibud* this, GlobalContext* global if ((this->textId == 0) && (this->type == EN_RAILGIBUD_TYPE_GIBDO)) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { this->isInvincible = true; - func_801518B0(globalCtx, 0x13B2, &this->actor); + Message_StartTextbox(globalCtx, 0x13B2, &this->actor); this->textId = 0x13B2; Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_REDEAD_AIM); this->actor.speedXZ = 0.0f; @@ -968,7 +968,7 @@ void EnRailgibud_CheckIfTalkingToPlayer(EnRailgibud* this, GlobalContext* global switch (Message_GetState(&globalCtx->msgCtx)) { case 5: if (func_80147624(globalCtx)) { - func_801518B0(globalCtx, 0x13B3, &this->actor); + Message_StartTextbox(globalCtx, 0x13B3, &this->actor); this->textId = 0x13B3; } break; @@ -1123,27 +1123,27 @@ void EnRailgibud_InitCutsceneGibdo(EnRailgibud* this, GlobalContext* globalCtx) void EnRailgibud_InitActorActionCommand(EnRailgibud* this) { switch (ENRAILGIBUD_GET_CUTSCENE_TYPE(&this->actor)) { case 1: - this->actorActionCommand = 0x207; + this->actorActionCommand = 519; break; case 2: - this->actorActionCommand = 0x208; + this->actorActionCommand = 520; break; case 3: - this->actorActionCommand = 0x209; + this->actorActionCommand = 521; break; case 4: - this->actorActionCommand = 0x20A; + this->actorActionCommand = 522; break; case 5: - this->actorActionCommand = 0x20B; + this->actorActionCommand = 523; break; default: - this->actorActionCommand = 0x207; + this->actorActionCommand = 519; break; } } @@ -1171,13 +1171,13 @@ void EnRailgibud_SinkIntoGround(EnRailgibud* this, GlobalContext* globalCtx) { } s32 EnRailgibud_PerformCutsceneActions(EnRailgibud* this, GlobalContext* globalCtx) { - u32 actionIndex; + s32 actionIndex; - if (func_800EE29C(globalCtx, this->actorActionCommand)) { - actionIndex = func_800EE200(globalCtx, this->actorActionCommand); - if (this->csAction != globalCtx->csCtx.npcActions[actionIndex]->unk0) { - this->csAction = globalCtx->csCtx.npcActions[actionIndex]->unk0; - switch (globalCtx->csCtx.npcActions[actionIndex]->unk0) { + if (Cutscene_CheckActorAction(globalCtx, this->actorActionCommand)) { + actionIndex = Cutscene_GetActorActionIndex(globalCtx, this->actorActionCommand); + if (this->csAction != globalCtx->csCtx.actorActions[actionIndex]->action) { + this->csAction = globalCtx->csCtx.actorActions[actionIndex]->action; + switch (globalCtx->csCtx.actorActions[actionIndex]->action) { case 1: this->cutsceneAnimationIndex = 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; } - func_800EDF24(&this->actor, globalCtx, actionIndex); + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, actionIndex); return true; } diff --git a/src/overlays/actors/ovl_En_Rr/z_en_rr.c b/src/overlays/actors/ovl_En_Rr/z_en_rr.c index 75e958458f..71d08787e2 100644 --- a/src/overlays/actors/ovl_En_Rr/z_en_rr.c +++ b/src/overlays/actors/ovl_En_Rr/z_en_rr.c @@ -313,7 +313,7 @@ void func_808FA4F4(EnRr* this, GlobalContext* globalCtx) { } if (sp34 && (Message_GetState(&globalCtx->msgCtx) == 0)) { - func_801518B0(globalCtx, 0xF6, NULL); + Message_StartTextbox(globalCtx, 0xF6, NULL); } if (this->actor.params == ENRR_0) { diff --git a/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.c b/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.c index eecf3c8ff1..0eabcd80f7 100644 --- a/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.c +++ b/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.c @@ -297,7 +297,7 @@ void func_80BCB52C(EnScopenuts* this, GlobalContext* globalCtx) { this->actor.world.rot.y = this->actor.shape.rot.y; if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { 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; } else if (((this->actor.xzDistToPlayer < 100.0f) && (((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; } else { 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) { @@ -338,7 +338,7 @@ void func_80BCB6D0(EnScopenuts* this, GlobalContext* globalCtx) { play_sound(NA_SE_SY_ERROR); this->unk_33C = 0x1636; this->unk_328 |= 1; - func_801518B0(globalCtx, this->unk_33C, &this->actor); + Message_StartTextbox(globalCtx, this->unk_33C, &this->actor); } else { func_8019F208(); globalCtx->msgCtx.msgMode = 0x43; @@ -355,7 +355,7 @@ void func_80BCB6D0(EnScopenuts* this, GlobalContext* globalCtx) { this->unk_33C = 0x1635; this->unk_328 |= 1; } - func_801518B0(globalCtx, this->unk_33C, &this->actor); + Message_StartTextbox(globalCtx, this->unk_33C, &this->actor); break; } } @@ -379,7 +379,7 @@ void func_80BCB980(EnScopenuts* this, GlobalContext* globalCtx) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { this->unk_33C = 0x1637; this->unk_328 |= 1; - func_801518B0(globalCtx, this->unk_33C, &this->actor); + Message_StartTextbox(globalCtx, this->unk_33C, &this->actor); this->actionFunc = func_80BCB6D0; } else { func_800B85E0(&this->actor, globalCtx, 400.0f, -1); diff --git a/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.c b/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.c index 1aaedc0753..6b299ae9af 100644 --- a/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.c +++ b/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.c @@ -350,27 +350,27 @@ void func_80ADB544(EnSellnuts* this, GlobalContext* globalCtx) { case 0x60E: gSaveContext.weekEventReg[17] |= 0x20; gSaveContext.weekEventReg[86] |= 4; - func_801518B0(globalCtx, this->unk_340, &this->actor); + Message_StartTextbox(globalCtx, this->unk_340, &this->actor); this->actionFunc = func_80ADB0D8; break; case 0x628: gSaveContext.weekEventReg[77] |= 0x40; gSaveContext.weekEventReg[86] |= 4; - func_801518B0(globalCtx, this->unk_340, &this->actor); + Message_StartTextbox(globalCtx, this->unk_340, &this->actor); this->actionFunc = func_80ADB0D8; break; case 0x614: gSaveContext.weekEventReg[17] |= 0x40; - func_801518B0(globalCtx, this->unk_340, &this->actor); + Message_StartTextbox(globalCtx, this->unk_340, &this->actor); this->actionFunc = func_80ADB0D8; break; case 0x610: case 0x616: case 0x629: - func_801518B0(globalCtx, this->unk_340, &this->actor); + Message_StartTextbox(globalCtx, this->unk_340, &this->actor); this->actionFunc = func_80ADB0D8; break; @@ -488,7 +488,7 @@ void func_80ADBBEC(EnSellnuts* this, GlobalContext* globalCtx) { void func_80ADBC60(EnSellnuts* this, GlobalContext* globalCtx) { 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; } else { 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)) { player->linearVelocity = 0.0f; 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) { this->unk_338 |= 1; this->actor.draw = EnSellnuts_Draw; diff --git a/src/overlays/actors/ovl_En_Skb/z_en_skb.c b/src/overlays/actors/ovl_En_Skb/z_en_skb.c index 126bf8e3fc..166f0377e6 100644 --- a/src/overlays/actors/ovl_En_Skb/z_en_skb.c +++ b/src/overlays/actors/ovl_En_Skb/z_en_skb.c @@ -230,7 +230,8 @@ void EnSkb_Init(Actor* thisx, GlobalContext* globalCtx) { this->unk_3D6 = ENSKB_GET_F0(&this->actor); 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; } @@ -319,9 +320,9 @@ void func_80994F7C(EnSkb* this, GlobalContext* globalCtx) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { this->unk_3E2 = 1; if (this->unk_3E0 == 1) { - func_801518B0(globalCtx, 0x13F8, &this->actor); + Message_StartTextbox(globalCtx, 0x13F8, &this->actor); } else { - func_801518B0(globalCtx, 0x13F6, &this->actor); + Message_StartTextbox(globalCtx, 0x13F6, &this->actor); this->unk_3E0 = 1; } this->actionFunc = func_80995190; @@ -340,12 +341,12 @@ void func_80995068(EnSkb* this, GlobalContext* globalCtx) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { this->unk_3E2 = 1; if (this->unk_3E0 == 1) { - func_801518B0(globalCtx, 0x13F8, &this->actor); + Message_StartTextbox(globalCtx, 0x13F8, &this->actor); if (this->unk_3DE == 2) { Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 11); } } else { - func_801518B0(globalCtx, 0x13F6, &this->actor); + Message_StartTextbox(globalCtx, 0x13F6, &this->actor); this->unk_3E0 = 1; } this->actionFunc = func_80995190; @@ -372,7 +373,7 @@ void func_80995190(EnSkb* this, GlobalContext* globalCtx) { case 5: if (func_80147624(globalCtx)) { - func_801518B0(globalCtx, 0x13F7, &this->actor); + Message_StartTextbox(globalCtx, 0x13F7, &this->actor); if (this->unk_3DE == 2) { Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 11); } diff --git a/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c b/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c index 3e237b51c5..c05c589be3 100644 --- a/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c +++ b/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c @@ -334,7 +334,7 @@ void EnSob1_EndInteractionBombShop(EnSob1* this, GlobalContext* globalCtx) { this->stickLeftPrompt.isEnabled = false; this->stickRightPrompt.isEnabled = false; this->goodbyeTextId = EnSob1_GetGoodbye(this); - func_801518B0(globalCtx, this->goodbyeTextId, &this->actor); + Message_StartTextbox(globalCtx, this->goodbyeTextId, &this->actor); EnSob1_SetupAction(this, EnSob1_EndingInteraction); } @@ -531,7 +531,7 @@ void EnSob1_Idle(EnSob1* this, GlobalContext* globalCtx) { } player->stateFlags2 |= 0x20000000; this->welcomeTextId = EnSob1_GetWelcome(this, globalCtx); - func_801518B0(globalCtx, this->welcomeTextId, &this->actor); + Message_StartTextbox(globalCtx, this->welcomeTextId, &this->actor); if (ENSOB1_GET_SHOPTYPE(&this->actor) == BOMB_SHOP) { this->headRotTarget = -0x2000; } @@ -789,7 +789,7 @@ void EnSob1_Walking(EnSob1* this, GlobalContext* globalCtx) { } player->stateFlags2 |= 0x20000000; this->welcomeTextId = EnSob1_GetWelcome(this, globalCtx); - func_801518B0(globalCtx, this->welcomeTextId, &this->actor); + Message_StartTextbox(globalCtx, this->welcomeTextId, &this->actor); this->wasTalkedToWhileWalking = true; } else { if ((player->actor.world.pos.x >= this->posXZRange.xMin && @@ -1091,7 +1091,7 @@ void EnSob1_ContinueShopping(EnSob1* this, GlobalContext* globalCtx) { item->restockFunc(globalCtx, item); player->actor.shape.rot.y += 0x8000; player->stateFlags2 |= 0x20000000; - func_801518B0(globalCtx, this->welcomeTextId, &this->actor); + Message_StartTextbox(globalCtx, this->welcomeTextId, &this->actor); EnSob1_SetupStartShopping(globalCtx, this, true); func_800B85E0(&this->actor, globalCtx, 200.0f, EXCH_ITEM_MINUS1); } diff --git a/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c b/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c index 5508fa646d..fbd391f32a 100644 --- a/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c +++ b/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c @@ -713,7 +713,7 @@ void func_809756D0(EnSsh* this, GlobalContext* globalCtx) { phi_a1 = 0x910; gSaveContext.weekEventReg[34] |= 8; } - func_801518B0(globalCtx, phi_a1, &this->actor); + Message_StartTextbox(globalCtx, phi_a1, &this->actor); } void EnSsh_Idle(EnSsh* this, GlobalContext* globalCtx) { diff --git a/src/overlays/actors/ovl_En_Sth/z_en_sth.c b/src/overlays/actors/ovl_En_Sth/z_en_sth.c index b65b1ef40f..746c0e92d1 100644 --- a/src/overlays/actors/ovl_En_Sth/z_en_sth.c +++ b/src/overlays/actors/ovl_En_Sth/z_en_sth.c @@ -194,7 +194,7 @@ void func_80B67148(EnSth* this, GlobalContext* globalCtx) { } val = D_80B6D1E8[day]; - func_801518B0(globalCtx, val, &this->actor); + Message_StartTextbox(globalCtx, val, &this->actor); } void func_80B671A0(EnSth* this, GlobalContext* globalCtx) { @@ -235,7 +235,7 @@ void func_80B672A4(EnSth* this, GlobalContext* globalCtx) { } else { sp1E = D_80B6D1F8[day]; } - func_801518B0(globalCtx, sp1E, &this->actor); + Message_StartTextbox(globalCtx, sp1E, &this->actor); } void func_80B67348(EnSth* this, GlobalContext* globalCtx) { @@ -273,7 +273,7 @@ void func_80B67348(EnSth* this, GlobalContext* globalCtx) { } break; } - func_801518B0(globalCtx, phi_a1, &this->actor); + Message_StartTextbox(globalCtx, phi_a1, &this->actor); } else { func_800B8500(&this->actor, globalCtx, 1000.0f, 1000.0f, -1); } @@ -459,7 +459,7 @@ void func_80B67984(EnSth* this, GlobalContext* globalCtx) { sp1E = 0x8FC; gSaveContext.weekEventReg[34] |= 2; } - func_801518B0(globalCtx, sp1E, &this->actor); + Message_StartTextbox(globalCtx, sp1E, &this->actor); } void func_80B67AB4(EnSth* this, GlobalContext* globalCtx) { @@ -468,7 +468,7 @@ void func_80B67AB4(EnSth* this, GlobalContext* globalCtx) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { this->actionFunc = func_80B67C1C; gSaveContext.weekEventReg[34] |= 0x40; - func_801518B0(globalCtx, 0x918, &this->actor); + Message_StartTextbox(globalCtx, 0x918, &this->actor); } else { func_800B8500(&this->actor, globalCtx, 1000.0f, 1000.0f, -1); } diff --git a/src/overlays/actors/ovl_En_Suttari/z_en_suttari.c b/src/overlays/actors/ovl_En_Suttari/z_en_suttari.c index 8dfd6dd355..07b1df03fb 100644 --- a/src/overlays/actors/ovl_En_Suttari/z_en_suttari.c +++ b/src/overlays/actors/ovl_En_Suttari/z_en_suttari.c @@ -372,7 +372,7 @@ void func_80BAAB78(EnSuttari* this, GlobalContext* globalCtx) { break; } } - func_801518B0(globalCtx, this->textId, &this->actor); + Message_StartTextbox(globalCtx, this->textId, &this->actor); } void func_80BAAF1C(EnSuttari* this) { @@ -892,7 +892,7 @@ void func_80BAC2FC(EnSuttari* this, GlobalContext* globalCtx) { player->stateFlags1 |= 0x10000000; } this->textId = 0x2A30; - func_801518B0(globalCtx, this->textId, &this->actor); + Message_StartTextbox(globalCtx, this->textId, &this->actor); this->actionFunc = func_80BAD2B4; } break; @@ -1100,7 +1100,7 @@ void func_80BAD004(EnSuttari* this, GlobalContext* globalCtx) { this->unk428 = unkStruct.unk0; func_80BAC2FC(this, globalCtx); if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { - func_801518B0(globalCtx, 0x2A3A, &this->actor); + Message_StartTextbox(globalCtx, 0x2A3A, &this->actor); this->actionFunc = func_80BAD130; } else if ((this->actor.xzDistToPlayer < 200.0f) || this->actor.isTargeted) { func_800B863C(&this->actor, globalCtx); @@ -1132,7 +1132,7 @@ void func_80BAD230(EnSuttari* this, GlobalContext* globalCtx) { if (ActorCutscene_GetCanPlayNext(this->cutscenes[1])) { ActorCutscene_Start(this->cutscenes[1], &this->actor); this->textId = 0x2A31; - func_801518B0(globalCtx, this->textId, &this->actor); + Message_StartTextbox(globalCtx, this->textId, &this->actor); this->flags1 |= 0x4000; Audio_QueueSeqCmd(NA_BGM_CHASE | 0x8000); this->actionFunc = func_80BAD380; @@ -1234,7 +1234,7 @@ void func_80BAD5F8(EnSuttari* this, GlobalContext* globalCtx) { func_80BAB434(this); if ((this->flags1 & 0x20) && (this->unk430 == 0) && (unkStruct.unk0 != 7)) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { - func_801518B0(globalCtx, 0x2A02, &this->actor); + Message_StartTextbox(globalCtx, 0x2A02, &this->actor); this->actionFunc = func_80BAD130; } else if ((this->actor.xzDistToPlayer < 100.0f) || this->actor.isTargeted) { func_800B863C(&this->actor, globalCtx); @@ -1272,7 +1272,7 @@ void func_80BAD7F8(EnSuttari* this, GlobalContext* globalCtx) { } if ((this->flags1 & 0x20) && (unkStruct.unk0 != 9)) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { - func_801518B0(globalCtx, 0x2A02, &this->actor); + Message_StartTextbox(globalCtx, 0x2A02, &this->actor); this->actionFunc = func_80BAD130; } else if ((this->actor.xzDistToPlayer < 100.0f) || this->actor.isTargeted) { func_800B863C(&this->actor, globalCtx); @@ -1386,7 +1386,7 @@ void func_80BADE8C(EnSuttari* this, GlobalContext* globalCtx) { Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 1, 0xBB8, 0); if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { this->actor.flags &= ~ACTOR_FLAG_10000; - func_801518B0(globalCtx, 0x2A3A, &this->actor); + Message_StartTextbox(globalCtx, 0x2A3A, &this->actor); this->actionFunc = func_80BAD130; } else { this->actor.flags |= ACTOR_FLAG_10000; diff --git a/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c b/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c index 8c359eda1b..d461712e2f 100644 --- a/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c +++ b/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c @@ -210,31 +210,31 @@ void func_809C6848(EnSyatekiMan* this, GlobalContext* globalCtx) { Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 2); sp22 = Text_GetFaceReaction(globalCtx, 0x31); if (sp22 != 0) { - func_801518B0(globalCtx, sp22, &this->actor); + Message_StartTextbox(globalCtx, sp22, &this->actor); this->unk_284 = sp22; } else if (player->transformation == PLAYER_FORM_HUMAN) { if (this->unk_282 == 0) { this->unk_282 = 1; - func_801518B0(globalCtx, 0xA28, &this->actor); + Message_StartTextbox(globalCtx, 0xA28, &this->actor); this->unk_284 = 0xA28; } else { - func_801518B0(globalCtx, 0xA29, &this->actor); + Message_StartTextbox(globalCtx, 0xA29, &this->actor); this->unk_284 = 0xA29; } } else { switch (CURRENT_DAY) { case 1: - func_801518B0(globalCtx, 0xA38, &this->actor); + Message_StartTextbox(globalCtx, 0xA38, &this->actor); this->unk_284 = 0xA38; break; case 2: - func_801518B0(globalCtx, 0xA39, &this->actor); + Message_StartTextbox(globalCtx, 0xA39, &this->actor); this->unk_284 = 0xA39; break; case 3: - func_801518B0(globalCtx, 0xA3A, &this->actor); + Message_StartTextbox(globalCtx, 0xA3A, &this->actor); this->unk_284 = 0xA3A; break; } @@ -256,11 +256,11 @@ void func_809C6A04(EnSyatekiMan* this, GlobalContext* globalCtx) { if (globalCtx->msgCtx.choiceIndex == 0) { if (!CUR_UPG_VALUE(UPG_QUIVER)) { play_sound(NA_SE_SY_ERROR); - func_801518B0(globalCtx, 0xA30, &this->actor); + Message_StartTextbox(globalCtx, 0xA30, &this->actor); this->unk_284 = 0xA30; } else if (gSaveContext.rupees < 20) { play_sound(NA_SE_SY_ERROR); - func_801518B0(globalCtx, 0xA31, &this->actor); + Message_StartTextbox(globalCtx, 0xA31, &this->actor); this->unk_284 = 0xA31; if (this->unk_26A == 4) { gSaveContext.minigameState = 3; @@ -282,17 +282,17 @@ void func_809C6A04(EnSyatekiMan* this, GlobalContext* globalCtx) { switch (CURRENT_DAY) { case 1: - func_801518B0(globalCtx, 0xA2D, &this->actor); + Message_StartTextbox(globalCtx, 0xA2D, &this->actor); this->unk_284 = 0xA2D; break; case 2: - func_801518B0(globalCtx, 0xA2E, &this->actor); + Message_StartTextbox(globalCtx, 0xA2E, &this->actor); this->unk_284 = 0xA2E; break; case 3: - func_801518B0(globalCtx, 0xA2F, &this->actor); + Message_StartTextbox(globalCtx, 0xA2F, &this->actor); this->unk_284 = 0xA2F; break; } @@ -313,7 +313,7 @@ void func_809C6C2C(EnSyatekiMan* this, GlobalContext* globalCtx) { switch (this->unk_284) { case 0xA28: case 0xA29: - func_801518B0(globalCtx, 0xA2A, &this->actor); + Message_StartTextbox(globalCtx, 0xA2A, &this->actor); this->unk_284 = 0xA2A; break; @@ -341,13 +341,13 @@ void func_809C6C2C(EnSyatekiMan* this, GlobalContext* globalCtx) { gSaveContext.minigameState = 3; this->unk_26A = 0; } else { - func_801518B0(globalCtx, 0xA33, &this->actor); + Message_StartTextbox(globalCtx, 0xA33, &this->actor); this->unk_284 = 0xA33; } break; case 0xA33: - func_801518B0(globalCtx, 0xA2A, &this->actor); + Message_StartTextbox(globalCtx, 0xA2A, &this->actor); this->unk_284 = 0xA2A; this->unk_26A = 4; break; @@ -422,18 +422,18 @@ void func_809C6F98(EnSyatekiMan* this, GlobalContext* globalCtx) { if (CURRENT_DAY != 3) { if (!(this->unk_282 & 1)) { this->unk_282 |= 1; - func_801518B0(globalCtx, 0x3E8, &this->actor); + Message_StartTextbox(globalCtx, 0x3E8, &this->actor); this->unk_284 = 0x3E8; } else { - func_801518B0(globalCtx, 0x3E9, &this->actor); + Message_StartTextbox(globalCtx, 0x3E9, &this->actor); this->unk_284 = 0x3E9; } } else if (!(this->unk_282 & 1)) { this->unk_282 |= 1; - func_801518B0(globalCtx, 0x3EA, &this->actor); + Message_StartTextbox(globalCtx, 0x3EA, &this->actor); this->unk_284 = 0x3EA; } else { - func_801518B0(globalCtx, 0x3EB, &this->actor); + Message_StartTextbox(globalCtx, 0x3EB, &this->actor); this->unk_284 = 0x3EB; } break; @@ -442,18 +442,18 @@ void func_809C6F98(EnSyatekiMan* this, GlobalContext* globalCtx) { if (CURRENT_DAY != 3) { if (!(this->unk_282 & 2)) { this->unk_282 |= 2; - func_801518B0(globalCtx, 0x3EC, &this->actor); + Message_StartTextbox(globalCtx, 0x3EC, &this->actor); this->unk_284 = 0x3EC; } else { - func_801518B0(globalCtx, 0x3ED, &this->actor); + Message_StartTextbox(globalCtx, 0x3ED, &this->actor); this->unk_284 = 0x3ED; } } else if (!(this->unk_282 & 2)) { this->unk_282 |= 2; - func_801518B0(globalCtx, 0x3EE, &this->actor); + Message_StartTextbox(globalCtx, 0x3EE, &this->actor); this->unk_284 = 0x3EE; } else { - func_801518B0(globalCtx, 0x3EF, &this->actor); + Message_StartTextbox(globalCtx, 0x3EF, &this->actor); this->unk_284 = 0x3EF; } break; @@ -462,18 +462,18 @@ void func_809C6F98(EnSyatekiMan* this, GlobalContext* globalCtx) { if (CURRENT_DAY != 3) { if (!(this->unk_282 & 8)) { this->unk_282 |= 8; - func_801518B0(globalCtx, 0x3F0, &this->actor); + Message_StartTextbox(globalCtx, 0x3F0, &this->actor); this->unk_284 = 0x3F0; } else { - func_801518B0(globalCtx, 0x3F1, &this->actor); + Message_StartTextbox(globalCtx, 0x3F1, &this->actor); this->unk_284 = 0x3F1; } } else if (!(this->unk_282 & 8)) { this->unk_282 |= 8; - func_801518B0(globalCtx, 0x3F4, &this->actor); + Message_StartTextbox(globalCtx, 0x3F4, &this->actor); this->unk_284 = 0x3F4; } else { - func_801518B0(globalCtx, 0x3F5, &this->actor); + Message_StartTextbox(globalCtx, 0x3F5, &this->actor); this->unk_284 = 0x3F5; } break; @@ -482,18 +482,18 @@ void func_809C6F98(EnSyatekiMan* this, GlobalContext* globalCtx) { if (CURRENT_DAY != 3) { if (!(this->unk_282 & 4)) { this->unk_282 |= 4; - func_801518B0(globalCtx, 0x3F2, &this->actor); + Message_StartTextbox(globalCtx, 0x3F2, &this->actor); this->unk_284 = 0x3F2; } else { - func_801518B0(globalCtx, 0x3F3, &this->actor); + Message_StartTextbox(globalCtx, 0x3F3, &this->actor); this->unk_284 = 0x3F3; } } else if (!(this->unk_282 & 4)) { this->unk_282 |= 4; - func_801518B0(globalCtx, 0x3F4, &this->actor); + Message_StartTextbox(globalCtx, 0x3F4, &this->actor); this->unk_284 = 0x3F4; } else { - func_801518B0(globalCtx, 0x3F5, &this->actor); + Message_StartTextbox(globalCtx, 0x3F5, &this->actor); this->unk_284 = 0x3F5; } break; @@ -505,7 +505,7 @@ void func_809C72D8(EnSyatekiMan* this, GlobalContext* globalCtx) { u16 sp26 = Text_GetFaceReaction(globalCtx, 0x30); if (sp26 != 0) { - func_801518B0(globalCtx, sp26, &this->actor); + Message_StartTextbox(globalCtx, sp26, &this->actor); this->unk_284 = sp26; } else { func_809C6F98(this, globalCtx); @@ -524,19 +524,19 @@ void func_809C7380(EnSyatekiMan* this, GlobalContext* globalCtx) { if (!CUR_UPG_VALUE(UPG_QUIVER)) { play_sound(NA_SE_SY_ERROR); if (CURRENT_DAY != 3) { - func_801518B0(globalCtx, 0x3F9, &this->actor); + Message_StartTextbox(globalCtx, 0x3F9, &this->actor); this->unk_284 = 0x3F9; } else { - func_801518B0(globalCtx, 0x3FA, &this->actor); + Message_StartTextbox(globalCtx, 0x3FA, &this->actor); this->unk_284 = 0x3FA; } } else if (gSaveContext.rupees < 20) { play_sound(NA_SE_SY_ERROR); if (CURRENT_DAY != 3) { - func_801518B0(globalCtx, 0x3FB, &this->actor); + Message_StartTextbox(globalCtx, 0x3FB, &this->actor); this->unk_284 = 0x3FB; } else { - func_801518B0(globalCtx, 0x3FC, &this->actor); + Message_StartTextbox(globalCtx, 0x3FC, &this->actor); this->unk_284 = 0x3FC; } @@ -551,10 +551,10 @@ void func_809C7380(EnSyatekiMan* this, GlobalContext* globalCtx) { this->unk_26A = 2; if (!(this->unk_282 & 0x10)) { this->unk_282 |= 0x10; - func_801518B0(globalCtx, 0x3FD, &this->actor); + Message_StartTextbox(globalCtx, 0x3FD, &this->actor); this->unk_284 = 0x3FD; } else { - func_801518B0(globalCtx, 0x3FF, &this->actor); + Message_StartTextbox(globalCtx, 0x3FF, &this->actor); this->unk_284 = 0x3FF; } gSaveContext.weekEventReg[63] |= 1; @@ -563,10 +563,10 @@ void func_809C7380(EnSyatekiMan* this, GlobalContext* globalCtx) { } else { func_8019F230(); if (CURRENT_DAY != 3) { - func_801518B0(globalCtx, 0x3F7, &this->actor); + Message_StartTextbox(globalCtx, 0x3F7, &this->actor); this->unk_284 = 0x3F7; } else { - func_801518B0(globalCtx, 0x3F8, &this->actor); + Message_StartTextbox(globalCtx, 0x3F8, &this->actor); this->unk_284 = 0x3F8; } @@ -588,32 +588,32 @@ void func_809C7620(EnSyatekiMan* this, GlobalContext* globalCtx) { case 0x3E9: case 0x3EA: case 0x3EB: - func_801518B0(globalCtx, 0x3F6, &this->actor); + Message_StartTextbox(globalCtx, 0x3F6, &this->actor); this->unk_284 = 0x3F6; break; case 0x3EC: - func_801518B0(globalCtx, 0x3ED, &this->actor); + Message_StartTextbox(globalCtx, 0x3ED, &this->actor); this->unk_284 = 0x3ED; break; case 0x3EE: - func_801518B0(globalCtx, 0x3EF, &this->actor); + Message_StartTextbox(globalCtx, 0x3EF, &this->actor); this->unk_284 = 0x3EF; break; case 0x3F0: - func_801518B0(globalCtx, 0x3F1, &this->actor); + Message_StartTextbox(globalCtx, 0x3F1, &this->actor); this->unk_284 = 0x3F1; break; case 0x3F2: - func_801518B0(globalCtx, 0x3F3, &this->actor); + Message_StartTextbox(globalCtx, 0x3F3, &this->actor); this->unk_284 = 0x3F3; break; case 0x3F4: - func_801518B0(globalCtx, 0x3F5, &this->actor); + Message_StartTextbox(globalCtx, 0x3F5, &this->actor); this->unk_284 = 0x3F5; break; @@ -621,10 +621,10 @@ void func_809C7620(EnSyatekiMan* this, GlobalContext* globalCtx) { case 0x3FF: if (this->unk_26A == 4) { if (this->unk_284 == 0x3FD) { - func_801518B0(globalCtx, 0x3FE, &this->actor); + Message_StartTextbox(globalCtx, 0x3FE, &this->actor); this->unk_284 = 0x3FE; } else { - func_801518B0(globalCtx, 0x400, &this->actor); + Message_StartTextbox(globalCtx, 0x400, &this->actor); this->unk_284 = 0x400; } } else { @@ -660,7 +660,7 @@ void func_809C7620(EnSyatekiMan* this, GlobalContext* globalCtx) { this->unk_26A = 0; this->actionFunc = func_809C72D8; } else { - func_801518B0(globalCtx, 0x402, &this->actor); + Message_StartTextbox(globalCtx, 0x402, &this->actor); this->unk_284 = 0x402; } break; @@ -673,14 +673,14 @@ void func_809C7620(EnSyatekiMan* this, GlobalContext* globalCtx) { this->unk_26A = 0; this->actionFunc = func_809C72D8; } else { - func_801518B0(globalCtx, 0x404, &this->actor); + Message_StartTextbox(globalCtx, 0x404, &this->actor); this->unk_284 = 0x404; } break; case 0x402: case 0x404: - func_801518B0(globalCtx, 0x3F6, &this->actor); + Message_StartTextbox(globalCtx, 0x3F6, &this->actor); this->unk_284 = 0x3F6; this->unk_26A = 4; break; @@ -775,10 +775,10 @@ void func_809C7C14(EnSyatekiMan* this, GlobalContext* globalCtx) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { if ((CURRENT_DAY == 3) && (gSaveContext.time > CLOCK_TIME(12, 00))) { - func_801518B0(globalCtx, 0xA36, &this->actor); + Message_StartTextbox(globalCtx, 0xA36, &this->actor); this->unk_284 = 0xA36; } else { - func_801518B0(globalCtx, 0xA37, &this->actor); + Message_StartTextbox(globalCtx, 0xA37, &this->actor); this->unk_284 = 0xA37; } player->stateFlags1 &= ~0x20; @@ -841,7 +841,7 @@ void func_809C7EB4(EnSyatekiMan* this, GlobalContext* globalCtx) { this->actionFunc = func_809C6810; } } else if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { - func_801518B0(globalCtx, 0x408, &this->actor); + Message_StartTextbox(globalCtx, 0x408, &this->actor); this->unk_284 = 0x408; player->stateFlags1 &= ~0x20; this->actor.flags &= ~ACTOR_FLAG_10000; @@ -861,10 +861,10 @@ void func_809C7FFC(EnSyatekiMan* this, GlobalContext* globalCtx) { this->unk_26A = 2; if (this->unk_282 != 2) { this->unk_282 = 2; - func_801518B0(globalCtx, 0xA2B, &this->actor); + Message_StartTextbox(globalCtx, 0xA2B, &this->actor); this->unk_284 = 0xA2B; } else { - func_801518B0(globalCtx, 0xA2C, &this->actor); + Message_StartTextbox(globalCtx, 0xA2C, &this->actor); this->unk_284 = 0xA2C; } this->actionFunc = func_809C6E30; @@ -979,7 +979,7 @@ void func_809C8488(EnSyatekiMan* this, GlobalContext* globalCtx) { } this->unk_270 = 15; if (this->unk_280 >= 0x848) { - func_801518B0(globalCtx, 0xA34, &this->actor); + Message_StartTextbox(globalCtx, 0xA34, &this->actor); this->unk_284 = 0xA34; this->unk_26A = 6; } else if (this->unk_280 >= 0x7D0) { @@ -991,12 +991,12 @@ void func_809C8488(EnSyatekiMan* this, GlobalContext* globalCtx) { this->actionFunc = func_809C6848; return; } - func_801518B0(globalCtx, 0xA35, &this->actor); + Message_StartTextbox(globalCtx, 0xA35, &this->actor); this->unk_284 = 0xA35; this->unk_26A = 4; this->unk_280 = 0; } else { - func_801518B0(globalCtx, 0xA32, &this->actor); + Message_StartTextbox(globalCtx, 0xA32, &this->actor); this->unk_284 = 0xA32; this->unk_26A = 6; } @@ -1047,10 +1047,10 @@ void func_809C8710(EnSyatekiMan* this, GlobalContext* globalCtx) { if (func_809C6720(globalCtx, sp24)) { if (this->unk_284 == 0x3FD) { - func_801518B0(globalCtx, 0x3FE, &this->actor); + Message_StartTextbox(globalCtx, 0x3FE, &this->actor); this->unk_284 = 0x3FE; } else { - func_801518B0(globalCtx, 0x400, &this->actor); + Message_StartTextbox(globalCtx, 0x400, &this->actor); this->unk_284 = 0x400; } this->unk_26A = 2; @@ -1167,27 +1167,27 @@ void func_809C8BF0(EnSyatekiMan* this, GlobalContext* globalCtx) { if (((s32)(gSaveContext.unk_EF4 & 0xFFFF) < this->unk_280) || (this->unk_280 == 50)) { if ((s32)(gSaveContext.unk_EF4 & 0xFFFF) < this->unk_280) { if (!(gSaveContext.weekEventReg[59] & 0x20)) { - func_801518B0(globalCtx, 0x407, &this->actor); + Message_StartTextbox(globalCtx, 0x407, &this->actor); this->unk_284 = 0x407; } else if (this->unk_280 == 50) { - func_801518B0(globalCtx, 0x405, &this->actor); + Message_StartTextbox(globalCtx, 0x405, &this->actor); this->unk_284 = 0x405; } else { - func_801518B0(globalCtx, 0x407, &this->actor); + Message_StartTextbox(globalCtx, 0x407, &this->actor); this->unk_284 = 0x407; } } else if (this->unk_280 == 50) { - func_801518B0(globalCtx, 0x406, &this->actor); + Message_StartTextbox(globalCtx, 0x406, &this->actor); this->unk_284 = 0x406; } gSaveContext.unk_EF4 = (gSaveContext.unk_EF4 & 0xFFFF0000) | (this->unk_280 & 0xFFFF); this->unk_26A = 6; } else { if (CURRENT_DAY != 3) { - func_801518B0(globalCtx, 0x401, &this->actor); + Message_StartTextbox(globalCtx, 0x401, &this->actor); this->unk_284 = 0x401; } else { - func_801518B0(globalCtx, 0x403, &this->actor); + Message_StartTextbox(globalCtx, 0x403, &this->actor); this->unk_284 = 0x403; } this->unk_26A = 4; diff --git a/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c b/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c index eca7a621e2..a4822cad3d 100644 --- a/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c +++ b/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c @@ -625,52 +625,52 @@ void EnTalkGibud_Revive(EnTalkGibud* this, GlobalContext* globalCtx) { void EnTalkGibud_GetTextIdForRequestedItem(EnTalkGibud* this, GlobalContext* globalCtx) { switch (this->requestedItemIndex) { case EN_TALK_GIBUD_REQUESTED_ITEM_INDEX_BLUE_POTION: - func_801518B0(globalCtx, 0x138C, &this->actor); + Message_StartTextbox(globalCtx, 0x138C, &this->actor); this->textId = 0x138C; break; case EN_TALK_GIBUD_REQUESTED_ITEM_INDEX_BEANS: - func_801518B0(globalCtx, 0x138D, &this->actor); + Message_StartTextbox(globalCtx, 0x138D, &this->actor); this->textId = 0x138D; break; case EN_TALK_GIBUD_REQUESTED_ITEM_INDEX_SPRING_WATER: - func_801518B0(globalCtx, 0x138E, &this->actor); + Message_StartTextbox(globalCtx, 0x138E, &this->actor); this->textId = 0x138E; break; case EN_TALK_GIBUD_REQUESTED_ITEM_INDEX_FISH: - func_801518B0(globalCtx, 0x138F, &this->actor); + Message_StartTextbox(globalCtx, 0x138F, &this->actor); this->textId = 0x138F; break; case EN_TALK_GIBUD_REQUESTED_ITEM_INDEX_BUGS: - func_801518B0(globalCtx, 0x1390, &this->actor); + Message_StartTextbox(globalCtx, 0x1390, &this->actor); this->textId = 0x1390; break; case EN_TALK_GIBUD_REQUESTED_ITEM_INDEX_DEKU_NUTS: - func_801518B0(globalCtx, 0x1391, &this->actor); + Message_StartTextbox(globalCtx, 0x1391, &this->actor); this->textId = 0x1391; break; case EN_TALK_GIBUD_REQUESTED_ITEM_INDEX_BOMBS: - func_801518B0(globalCtx, 0x1392, &this->actor); + Message_StartTextbox(globalCtx, 0x1392, &this->actor); this->textId = 0x1392; break; case EN_TALK_GIBUD_REQUESTED_ITEM_INDEX_HOT_SPRING_WATER: - func_801518B0(globalCtx, 0x1393, &this->actor); + Message_StartTextbox(globalCtx, 0x1393, &this->actor); this->textId = 0x1393; break; case EN_TALK_GIBUD_REQUESTED_ITEM_INDEX_BIG_POE: - func_801518B0(globalCtx, 0x1394, &this->actor); + Message_StartTextbox(globalCtx, 0x1394, &this->actor); this->textId = 0x1394; break; case EN_TALK_GIBUD_REQUESTED_ITEM_INDEX_MILK: - func_801518B0(globalCtx, 0x1395, &this->actor); + Message_StartTextbox(globalCtx, 0x1395, &this->actor); this->textId = 0x1395; break; } @@ -694,7 +694,7 @@ void EnTalkGibud_GetNextTextBoxId(EnTalkGibud* this, GlobalContext* globalCtx) { case 0x1394: case 0x1395: // Prompts the player to choose an item - func_801518B0(globalCtx, 0xFF, &this->actor); + Message_StartTextbox(globalCtx, 0xFF, &this->actor); this->textId = 0xFF; break; } @@ -750,7 +750,7 @@ void EnTalkGibud_CheckPresentedItem(EnTalkGibud* this, GlobalContext* globalCtx) } func_801477B4(globalCtx); } else if (this->itemActionParam < PLAYER_AP_NONE) { - func_801518B0(globalCtx, 0x1389, &this->actor); + Message_StartTextbox(globalCtx, 0x1389, &this->actor); this->textId = 0x1389; } } @@ -771,7 +771,7 @@ void EnTalkGibud_SetupPassiveIdle(EnTalkGibud* this) { void EnTalkGibud_PassiveIdle(EnTalkGibud* this, GlobalContext* globalCtx) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { this->isTalking = true; - func_801518B0(globalCtx, 0x1388, &this->actor); + Message_StartTextbox(globalCtx, 0x1388, &this->actor); this->textId = 0x1388; Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_REDEAD_AIM); EnTalkGibud_SetupTalk(this); diff --git a/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.c b/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.c index dcc134dbdc..5aaf7adb60 100644 --- a/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.c +++ b/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.c @@ -240,8 +240,8 @@ s32 func_80C10B0C(EnThiefbird* this, GlobalContext* globalCtx) { if (isItemFound) { func_801149A0(itemId2, slotId); this->unk_3E8 = object_thiefbird_DL_0033B0; - if (!Message_GetState(&globalCtx->msgCtx)) { - func_801518B0(globalCtx, 0xF4, NULL); + if (Message_GetState(&globalCtx->msgCtx) == 0) { + Message_StartTextbox(globalCtx, 0xF4, NULL); } itemId1 = ITEM_BOTTLE; } else if (phi_a3 != 0) { @@ -264,8 +264,8 @@ s32 func_80C10B0C(EnThiefbird* this, GlobalContext* globalCtx) { this->unk_3E8 = D_80C13680[phi_a3 - 1]; } - if (!Message_GetState(&globalCtx->msgCtx)) { - func_801518B0(globalCtx, 0xF5, NULL); + if (Message_GetState(&globalCtx->msgCtx) == 0) { + Message_StartTextbox(globalCtx, 0xF5, NULL); } } else { return false; diff --git a/src/overlays/actors/ovl_En_Tk/z_en_tk.c b/src/overlays/actors/ovl_En_Tk/z_en_tk.c index f7b5a339ec..32e4c9c814 100644 --- a/src/overlays/actors/ovl_En_Tk/z_en_tk.c +++ b/src/overlays/actors/ovl_En_Tk/z_en_tk.c @@ -535,16 +535,16 @@ void func_80AED4F8(EnTk* this, GlobalContext* globalCtx) { void func_80AED544(EnTk* this, GlobalContext* globalCtx) { if (!(gSaveContext.weekEventReg[31] & 0x10)) { - func_801518B0(globalCtx, 0x13FE, &this->actor); + Message_StartTextbox(globalCtx, 0x13FE, &this->actor); gSaveContext.weekEventReg[31] |= 0x10; } else if (gSaveContext.time < CLOCK_TIME(9, 0)) { - func_801518B0(globalCtx, 0x13FF, &this->actor); + Message_StartTextbox(globalCtx, 0x13FF, &this->actor); } else if (gSaveContext.time < CLOCK_TIME(12, 0)) { - func_801518B0(globalCtx, 0x1400, &this->actor); + Message_StartTextbox(globalCtx, 0x1400, &this->actor); } else if (gSaveContext.time < CLOCK_TIME(15, 0)) { - func_801518B0(globalCtx, 0x1401, &this->actor); + Message_StartTextbox(globalCtx, 0x1401, &this->actor); } else { - func_801518B0(globalCtx, 0x1402, &this->actor); + Message_StartTextbox(globalCtx, 0x1402, &this->actor); } } @@ -558,15 +558,15 @@ void func_80AED610(EnTk* this, GlobalContext* globalCtx) { if (Math_ScaledStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer - 0x1555, 0x71C)) { if (Player_GetMask(globalCtx) == PLAYER_MASK_CAPTAIN) { SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, D_80AEF868, 4, &this->unk_2D4); - func_801518B0(globalCtx, 0x13FD, &this->actor); + Message_StartTextbox(globalCtx, 0x13FD, &this->actor); } else if (CURRENT_DAY != 2) { func_80AED544(this, globalCtx); } else if (!Flags_GetSwitch(globalCtx, ENTK_GET_7F0(&this->actor))) { - func_801518B0(globalCtx, 0x1403, &this->actor); + Message_StartTextbox(globalCtx, 0x1403, &this->actor); } else if (gSaveContext.weekEventReg[60] & 2) { func_80AED544(this, globalCtx); } else { - func_801518B0(globalCtx, 0x1413, &this->actor); + Message_StartTextbox(globalCtx, 0x1413, &this->actor); } break; } @@ -769,12 +769,12 @@ void func_80AEDE10(EnTk* this, GlobalContext* globalCtx) { break; case 4: - func_801518B0(globalCtx, 0x140F, &this->actor); + Message_StartTextbox(globalCtx, 0x140F, &this->actor); SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, D_80AEF868, 2, &this->unk_2D4); break; case 3: - func_801518B0(globalCtx, 0x1410, &this->actor); + Message_StartTextbox(globalCtx, 0x1410, &this->actor); SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, D_80AEF868, 2, &this->unk_2D4); break; } @@ -810,12 +810,12 @@ void func_80AEDF5C(EnTk* this, GlobalContext* globalCtx) { } else { SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, D_80AEF868, 2, &this->unk_2D4); } - func_801518B0(globalCtx, this->unk_2E6, &this->actor); + Message_StartTextbox(globalCtx, this->unk_2E6, &this->actor); } break; case 0x1414: - func_801518B0(globalCtx, this->unk_2E6, &this->actor); + Message_StartTextbox(globalCtx, this->unk_2E6, &this->actor); break; } break; @@ -1189,8 +1189,8 @@ void func_80AEED38(EnTk* this, GlobalContext* globalCtx) { this->actor.shape.rot.y = this->actor.world.rot.y; } - if (!Message_GetState(&globalCtx->msgCtx) && !func_801690CC(globalCtx) && (this->unk_2C6-- <= 0)) { - func_801518B0(globalCtx, 0x140C, NULL); + if (Message_GetState(&globalCtx->msgCtx) == 0 && !func_801690CC(globalCtx) && (this->unk_2C6-- <= 0)) { + Message_StartTextbox(globalCtx, 0x140C, NULL); this->unk_2CA |= 0x4000; this->unk_2C6 = 200; } diff --git a/src/overlays/actors/ovl_En_Toto/z_en_toto.c b/src/overlays/actors/ovl_En_Toto/z_en_toto.c index 64ff521c6a..746aec8830 100644 --- a/src/overlays/actors/ovl_En_Toto/z_en_toto.c +++ b/src/overlays/actors/ovl_En_Toto/z_en_toto.c @@ -379,7 +379,7 @@ s32 func_80BA3FB0(EnToto* this, GlobalContext* globalCtx) { s32 func_80BA3FCC(EnToto* this, GlobalContext* globalCtx) { if (DECR(this->unk2B1) == 0) { - func_801518B0(globalCtx, this->text->textId, NULL); + Message_StartTextbox(globalCtx, this->text->textId, NULL); return 1; } return 0; @@ -436,7 +436,7 @@ s32 func_80BA4204(EnToto* this, GlobalContext* globalCtx) { if (DECR(this->unk2B1) == 0) { if (!ENTOTO_WEEK_EVENT_FLAGS) { temp_v1_2 = &D_80BA50DC[gSaveContext.playerForm - 1]; - func_801518B0(globalCtx, (this->text->unk0 == 6) ? temp_v1_2->unk0 : temp_v1_2->unk4, NULL); + Message_StartTextbox(globalCtx, (this->text->unk0 == 6) ? temp_v1_2->unk0 : temp_v1_2->unk4, NULL); } return 1; } @@ -528,7 +528,7 @@ s32 func_80BA4530(EnToto* this, GlobalContext* globalCtx) { this->unk2B1++; if (this->unk2B1 >= 10) { tmp = gSaveContext.playerForm; // Needed for regalloc possible FAKE MATCH - func_801518B0(globalCtx, D_80BA50DC[tmp - 1].unk2, NULL); + Message_StartTextbox(globalCtx, D_80BA50DC[tmp - 1].unk2, NULL); } } return 0; @@ -674,11 +674,10 @@ s32 func_80BA4C44(EnToto* this, GlobalContext* globalCtx) { } void func_80BA4CB4(EnToto* this, GlobalContext* globalCtx) { - CsCmdActorAction* action; + CsCmdActorAction* action = globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 525)]; - action = globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x20D)]; - if (this->unk2B5 != action->unk0) { - this->unk2B5 = action->unk0; + if (this->unk2B5 != action->action) { + this->unk2B5 = action->action; if (this->unk2B5 != 4) { if (this->unk2B5 == 3) { Animation_MorphToPlayOnce(&this->skelAnime, &object_zm_Anim_001DF0, -4.0f); @@ -707,7 +706,7 @@ void EnToto_Update(Actor* thisx, GlobalContext* globalCtx) { EnToto* this = THIS; s32 pad; - if (func_800EE29C(globalCtx, 0x20D)) { + if (Cutscene_CheckActorAction(globalCtx, 0x20D)) { func_80BA4CB4(this, globalCtx); } else { D_80BA51B8[this->actionFuncIndex](this, globalCtx); diff --git a/src/overlays/actors/ovl_En_Trt/z_en_trt.c b/src/overlays/actors/ovl_En_Trt/z_en_trt.c index c3898cdce3..075d42337d 100644 --- a/src/overlays/actors/ovl_En_Trt/z_en_trt.c +++ b/src/overlays/actors/ovl_En_Trt/z_en_trt.c @@ -334,13 +334,13 @@ void EnTrt_GetMushroom(EnTrt* this, GlobalContext* globalCtx) { switch (this->textId) { case 0x883: this->textId = 0x884; - func_801518B0(globalCtx, this->textId, &this->actor); + Message_StartTextbox(globalCtx, this->textId, &this->actor); gSaveContext.weekEventReg[53] |= 8; func_80123D50(globalCtx, GET_PLAYER(globalCtx), ITEM_BOTTLE, PLAYER_AP_BOTTLE); break; case 0x888: this->textId = 0x889; - func_801518B0(globalCtx, this->textId, &this->actor); + Message_StartTextbox(globalCtx, this->textId, &this->actor); break; case 0x889: if (this->cutsceneState == ENTRT_CUTSCENESTATE_PLAYING_SPECIAL) { @@ -399,7 +399,7 @@ void EnTrt_SetupTryToGiveRedPotion(EnTrt* this, GlobalContext* globalCtx) { this->tmpTextId = this->textId; this->textId = 0x88E; gSaveContext.weekEventReg[85] |= 8; - func_801518B0(globalCtx, this->textId, &this->actor); + Message_StartTextbox(globalCtx, this->textId, &this->actor); this->actionFunc = EnTrt_EndConversation; } } else { @@ -423,7 +423,7 @@ void EnTrt_SetupTryToGiveRedPotion(EnTrt* this, GlobalContext* globalCtx) { this->textId = 0x835; EnTrt_SetupStartShopping(globalCtx, this, false); } - func_801518B0(globalCtx, this->textId, &this->actor); + Message_StartTextbox(globalCtx, this->textId, &this->actor); } } } @@ -869,7 +869,7 @@ void EnTrt_BeginInteraction(EnTrt* this, GlobalContext* globalCtx) { } else if (DECR(this->timer) == 0) { this->timer = Rand_S16Offset(40, 20); EnTrt_ChangeAnim(&this->skelAnime, sAnimations, 5); - func_801518B0(globalCtx, this->textId, &this->actor); + Message_StartTextbox(globalCtx, this->textId, &this->actor); this->animationIdx = 5; switch (this->textId) { case 0x834: @@ -920,7 +920,7 @@ void EnTrt_Surprised(EnTrt* this, GlobalContext* globalCtx) { } else if (DECR(this->timer) == 0) { this->timer = Rand_S16Offset(40, 20); EnTrt_ChangeAnim(&this->skelAnime, sAnimations, 5); - func_801518B0(globalCtx, this->textId, &this->actor); + Message_StartTextbox(globalCtx, this->textId, &this->actor); this->animationIdx = 5; this->actionFunc = EnTrt_TryToGiveRedPotionAfterSurprised; } @@ -941,7 +941,7 @@ void EnTrt_TryToGiveRedPotionAfterSurprised(EnTrt* this, GlobalContext* globalCt this->tmpTextId = this->textId; this->textId = 0x88E; gSaveContext.weekEventReg[85] |= 8; - func_801518B0(globalCtx, this->textId, &this->actor); + Message_StartTextbox(globalCtx, this->textId, &this->actor); this->actionFunc = EnTrt_EndConversation; } } @@ -962,12 +962,12 @@ void EnTrt_TryToGiveRedPotion(EnTrt* this, GlobalContext* globalCtx) { this->tmpTextId = this->textId; this->textId = 0x88E; gSaveContext.weekEventReg[85] |= 8; - func_801518B0(globalCtx, this->textId, &this->actor); + Message_StartTextbox(globalCtx, this->textId, &this->actor); this->actionFunc = EnTrt_EndConversation; } } else { this->textId = 0x83C; - func_801518B0(globalCtx, this->textId, &this->actor); + Message_StartTextbox(globalCtx, this->textId, &this->actor); } } } @@ -1025,7 +1025,7 @@ void EnTrt_ShopkeeperGone(EnTrt* this, GlobalContext* globalCtx) { Player* player = GET_PLAYER(globalCtx); if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { - func_801518B0(globalCtx, this->textId, &this->actor); + Message_StartTextbox(globalCtx, this->textId, &this->actor); } else { if ((player->actor.world.pos.x >= -50.0f && player->actor.world.pos.x <= 50.0f) && (player->actor.world.pos.z >= -19.0f && player->actor.world.pos.z <= 30.0f)) { @@ -1104,7 +1104,7 @@ void EnTrt_ContinueShopping(EnTrt* this, GlobalContext* globalCtx) { func_8019F208(); player->actor.shape.rot.y = BINANG_ROT180(player->actor.shape.rot.y); player->stateFlags2 |= 0x20000000; - func_801518B0(globalCtx, this->textId, &this->actor); + Message_StartTextbox(globalCtx, this->textId, &this->actor); EnTrt_SetupStartShopping(globalCtx, this, true); func_800B85E0(&this->actor, globalCtx, 400.0f, EXCH_ITEM_MINUS1); break; @@ -1398,7 +1398,7 @@ void EnTrt_TalkToShopkeeper(EnTrt* this, GlobalContext* globalCtx) { } else { this->textId = 0x886; } - func_801518B0(globalCtx, this->textId, &this->actor); + Message_StartTextbox(globalCtx, this->textId, &this->actor); this->actionFunc = EnTrt_Goodbye; } } diff --git a/src/overlays/actors/ovl_En_Trt2/z_en_trt2.c b/src/overlays/actors/ovl_En_Trt2/z_en_trt2.c index cef309815c..f17a6a80f4 100644 --- a/src/overlays/actors/ovl_En_Trt2/z_en_trt2.c +++ b/src/overlays/actors/ovl_En_Trt2/z_en_trt2.c @@ -330,7 +330,7 @@ void func_80AD3CEC(EnTrt2* this, GlobalContext* globalCtx) { func_80AD46F8(this); if (this->unk_3D8) { - func_801518B0(globalCtx, this->unk_3A8, &this->actor); + Message_StartTextbox(globalCtx, this->unk_3A8, &this->actor); this->unk_3D8 = false; } else if ((sp27 == 5) && func_80147624(globalCtx)) { globalCtx->msgCtx.msgMode = 0x43; @@ -342,7 +342,7 @@ void func_80AD3CEC(EnTrt2* this, GlobalContext* globalCtx) { void func_80AD3DA4(EnTrt2* this, GlobalContext* globalCtx) { this->actor.velocity.y = 0.0f; - func_801518B0(globalCtx, this->unk_3A8, &this->actor); + Message_StartTextbox(globalCtx, this->unk_3A8, &this->actor); if (this->unk_3A8 == 0x838) { this->unk_3B2 = 11; @@ -367,7 +367,7 @@ void func_80AD3E34(EnTrt2* this, GlobalContext* globalCtx) { } else { gSaveContext.weekEventReg[85] |= 0x10; this->unk_3A8 = 0x88E; - func_801518B0(globalCtx, this->unk_3A8, &this->actor); + Message_StartTextbox(globalCtx, this->unk_3A8, &this->actor); this->unk_3B2 = 10; } } @@ -384,7 +384,7 @@ void func_80AD3EF0(EnTrt2* this, GlobalContext* globalCtx) { } else { gSaveContext.weekEventReg[85] |= 0x10; this->unk_3A8 = 0x88E; - func_801518B0(globalCtx, this->unk_3A8, &this->actor); + Message_StartTextbox(globalCtx, this->unk_3A8, &this->actor); this->unk_3B2 = 10; } } @@ -441,7 +441,7 @@ void func_80AD417C(EnTrt2* this, GlobalContext* globalCtx) { this->unk_3B2 = 18; } else if (this->unk_3A8 == 0x88F) { this->unk_3A8 = 0x88E; - func_801518B0(globalCtx, this->unk_3A8, &this->actor); + Message_StartTextbox(globalCtx, this->unk_3A8, &this->actor); } else { this->actor.textId = 0; this->unk_3B2 = 15; diff --git a/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c b/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c index 46ef1d90a7..b15cb51194 100644 --- a/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c +++ b/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c @@ -191,11 +191,11 @@ void func_8096689C(EnWeatherTag* this, GlobalContext* globalCtx) { globalCtx->envCtx.windSpeed = (this->actor.world.rot.z * partialResult) + 30.0f; if (partialResult > 0.01f) { - globalCtx->envCtx.unk_EA = 8; + globalCtx->envCtx.sandstormState = 8; D_801F4E30 = 0x9B; - } else if (globalCtx->envCtx.unk_EA == 8) { + } else if (globalCtx->envCtx.sandstormState == 8) { D_801F4E30 = 0; - globalCtx->envCtx.unk_EA = 9; + globalCtx->envCtx.sandstormState = 9; } } @@ -249,9 +249,9 @@ void func_80966BF4(EnWeatherTag* this, GlobalContext* globalCtx) { u8 newUnk20; CsCmdActorAction* tmpAction; - if (func_800EE29C(globalCtx, 0x237) != 0) { - tmpAction = globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x237)]; - if ((globalCtx->csCtx.frames >= tmpAction->startFrame) && (tmpAction->unk0 >= 2)) { + if (Cutscene_CheckActorAction(globalCtx, 567)) { + tmpAction = globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 567)]; + if ((globalCtx->csCtx.frames >= tmpAction->startFrame) && (tmpAction->action >= 2)) { switch (gSaveContext.day) { case 0: case 1: @@ -429,20 +429,20 @@ void func_809672DC(EnWeatherTag* this, GlobalContext* globalCtx) { range = WEATHER_TAG_RANGE100(this); if (distance < range) { - globalCtx->envCtx.unk_EA = 6; + globalCtx->envCtx.sandstormState = 6; strength = 1.0f - (distance / range); if (0.8f < strength) { strength = 1.0f; } D_801F4E30 = (200.0f * strength); } else { - if (globalCtx->envCtx.unk_EA == 6) { + if (globalCtx->envCtx.sandstormState == 6) { D_801F4E30 = 0; - globalCtx->envCtx.unk_EA = 7; + globalCtx->envCtx.sandstormState = 7; } } - Math_SmoothStepToS(&globalCtx->envCtx.unk_8C.fogNear, (s16)(-40.0f * strength), 1, 1, 1); + Math_SmoothStepToS(&globalCtx->envCtx.lightSettings.fogNear, (s16)(-40.0f * strength), 1, 1, 1); } // WEATHERTAG_TYPE_LOCALDAY2RAIN: rain proximity as approaching rainy scene diff --git a/src/overlays/actors/ovl_En_Wiz_Fire/z_en_wiz_fire.c b/src/overlays/actors/ovl_En_Wiz_Fire/z_en_wiz_fire.c index ba6c1364b4..80dd47feb5 100644 --- a/src/overlays/actors/ovl_En_Wiz_Fire/z_en_wiz_fire.c +++ b/src/overlays/actors/ovl_En_Wiz_Fire/z_en_wiz_fire.c @@ -108,19 +108,19 @@ void EnWizFire_Destroy(Actor* thisx, GlobalContext* globalCtx) { EnWizFire* this = THIS; if (this->unk_162 == 0) { - globalCtx->envCtx.unk_8C.fogColor[2] = 0; - globalCtx->envCtx.unk_8C.fogColor[1] = globalCtx->envCtx.unk_8C.fogColor[2]; - globalCtx->envCtx.unk_8C.fogColor[0] = globalCtx->envCtx.unk_8C.fogColor[2]; - globalCtx->envCtx.unk_8C.diffuseColor2[2] = globalCtx->envCtx.unk_8C.fogColor[2]; - globalCtx->envCtx.unk_8C.diffuseColor2[1] = globalCtx->envCtx.unk_8C.fogColor[2]; - globalCtx->envCtx.unk_8C.diffuseColor2[0] = globalCtx->envCtx.unk_8C.fogColor[2]; - globalCtx->envCtx.unk_8C.diffuseColor1[2] = globalCtx->envCtx.unk_8C.fogColor[2]; - globalCtx->envCtx.unk_8C.diffuseColor1[1] = globalCtx->envCtx.unk_8C.fogColor[2]; - globalCtx->envCtx.unk_8C.diffuseColor1[0] = globalCtx->envCtx.unk_8C.fogColor[2]; - globalCtx->envCtx.unk_8C.ambientColor[2] = globalCtx->envCtx.unk_8C.fogColor[2]; - globalCtx->envCtx.unk_8C.ambientColor[1] = globalCtx->envCtx.unk_8C.fogColor[2]; - globalCtx->envCtx.unk_8C.ambientColor[0] = globalCtx->envCtx.unk_8C.fogColor[2]; - globalCtx->envCtx.unk_8C.fogNear = globalCtx->envCtx.unk_8C.fogColor[2]; + globalCtx->envCtx.lightSettings.fogColor[2] = 0; + globalCtx->envCtx.lightSettings.fogColor[1] = globalCtx->envCtx.lightSettings.fogColor[2]; + globalCtx->envCtx.lightSettings.fogColor[0] = globalCtx->envCtx.lightSettings.fogColor[2]; + globalCtx->envCtx.lightSettings.diffuseColor2[2] = globalCtx->envCtx.lightSettings.fogColor[2]; + globalCtx->envCtx.lightSettings.diffuseColor2[1] = globalCtx->envCtx.lightSettings.fogColor[2]; + globalCtx->envCtx.lightSettings.diffuseColor2[0] = globalCtx->envCtx.lightSettings.fogColor[2]; + globalCtx->envCtx.lightSettings.diffuseColor1[2] = globalCtx->envCtx.lightSettings.fogColor[2]; + globalCtx->envCtx.lightSettings.diffuseColor1[1] = globalCtx->envCtx.lightSettings.fogColor[2]; + globalCtx->envCtx.lightSettings.diffuseColor1[0] = globalCtx->envCtx.lightSettings.fogColor[2]; + globalCtx->envCtx.lightSettings.ambientColor[2] = globalCtx->envCtx.lightSettings.fogColor[2]; + globalCtx->envCtx.lightSettings.ambientColor[1] = globalCtx->envCtx.lightSettings.fogColor[2]; + globalCtx->envCtx.lightSettings.ambientColor[0] = globalCtx->envCtx.lightSettings.fogColor[2]; + globalCtx->envCtx.lightSettings.fogNear = globalCtx->envCtx.lightSettings.fogColor[2]; } Collider_DestroyCylinder(globalCtx, &this->collider); } @@ -483,37 +483,37 @@ void EnWizFire_Update(Actor* thisx, GlobalContext* globalCtx2) { phi_f0 = 968.0f; } - globalCtx->envCtx.unk_8C.fogNear = (phi_f0 - (s16)globalCtx->envCtx.unk_C4.fogNear) * this->unk_204; + globalCtx->envCtx.lightSettings.fogNear = (phi_f0 - (s16)globalCtx->envCtx.unk_C4.fogNear) * this->unk_204; - globalCtx->envCtx.unk_8C.ambientColor[0] = + globalCtx->envCtx.lightSettings.ambientColor[0] = ((f32)D_80A4C234[idx].r - globalCtx->envCtx.unk_C4.ambientColor[0]) * this->unk_204; - globalCtx->envCtx.unk_8C.ambientColor[1] = + globalCtx->envCtx.lightSettings.ambientColor[1] = ((f32)D_80A4C234[idx].g - globalCtx->envCtx.unk_C4.ambientColor[1]) * this->unk_204; - globalCtx->envCtx.unk_8C.ambientColor[2] = + globalCtx->envCtx.lightSettings.ambientColor[2] = ((f32)D_80A4C234[idx].b - globalCtx->envCtx.unk_C4.ambientColor[2]) * this->unk_204; idx++; - globalCtx->envCtx.unk_8C.diffuseColor1[0] = + globalCtx->envCtx.lightSettings.diffuseColor1[0] = ((f32)D_80A4C234[idx].r - globalCtx->envCtx.unk_C4.diffuseColor1[0]) * this->unk_204; - globalCtx->envCtx.unk_8C.diffuseColor1[1] = + globalCtx->envCtx.lightSettings.diffuseColor1[1] = ((f32)D_80A4C234[idx].g - globalCtx->envCtx.unk_C4.diffuseColor1[1]) * this->unk_204; - globalCtx->envCtx.unk_8C.diffuseColor1[2] = + globalCtx->envCtx.lightSettings.diffuseColor1[2] = ((f32)D_80A4C234[idx].b - globalCtx->envCtx.unk_C4.diffuseColor1[2]) * this->unk_204; idx++; - globalCtx->envCtx.unk_8C.diffuseColor2[0] = + globalCtx->envCtx.lightSettings.diffuseColor2[0] = ((f32)D_80A4C234[idx].r - globalCtx->envCtx.unk_C4.diffuseColor[0]) * this->unk_204; - globalCtx->envCtx.unk_8C.diffuseColor2[1] = + globalCtx->envCtx.lightSettings.diffuseColor2[1] = ((f32)D_80A4C234[idx].g - globalCtx->envCtx.unk_C4.diffuseColor[1]) * this->unk_204; - globalCtx->envCtx.unk_8C.diffuseColor2[2] = + globalCtx->envCtx.lightSettings.diffuseColor2[2] = ((f32)D_80A4C234[idx].b - globalCtx->envCtx.unk_C4.diffuseColor[2]) * this->unk_204; idx++; - globalCtx->envCtx.unk_8C.fogColor[0] = + globalCtx->envCtx.lightSettings.fogColor[0] = ((f32)D_80A4C234[idx].r - globalCtx->envCtx.unk_C4.fogColor[0]) * this->unk_204; - globalCtx->envCtx.unk_8C.fogColor[1] = + globalCtx->envCtx.lightSettings.fogColor[1] = ((f32)D_80A4C234[idx].g - globalCtx->envCtx.unk_C4.fogColor[1]) * this->unk_204; - globalCtx->envCtx.unk_8C.fogColor[2] = + globalCtx->envCtx.lightSettings.fogColor[2] = ((f32)D_80A4C234[idx].b - globalCtx->envCtx.unk_C4.fogColor[2]) * this->unk_204; } } diff --git a/src/overlays/actors/ovl_En_Yb/z_en_yb.c b/src/overlays/actors/ovl_En_Yb/z_en_yb.c index 73ae77f67f..fec9af08fa 100644 --- a/src/overlays/actors/ovl_En_Yb/z_en_yb.c +++ b/src/overlays/actors/ovl_En_Yb/z_en_yb.c @@ -260,7 +260,7 @@ void EnYb_SetupLeaving(EnYb* this, GlobalContext* globalCtx) { this->actor.flags &= ~ACTOR_FLAG_10000; this->actionFunc = EnYb_Talk; // I am counting on you - func_801518B0(globalCtx, 0x147D, &this->actor); + Message_StartTextbox(globalCtx, 0x147D, &this->actor); func_80BFA2FC(globalCtx); } else { func_800B8500(&this->actor, globalCtx, 1000.0f, 1000.0f, -1); @@ -323,7 +323,7 @@ void EnYb_TeachingDanceFinish(EnYb* this, GlobalContext* globalCtx) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { this->actionFunc = EnYb_Talk; // Spread my dance across the world - func_801518B0(globalCtx, 0x147C, &this->actor); + Message_StartTextbox(globalCtx, 0x147C, &this->actor); this->actor.flags &= ~ACTOR_FLAG_10000; } else { func_800B8500(&this->actor, globalCtx, 1000.0f, 1000.0f, -1); @@ -362,10 +362,10 @@ void EnYb_Idle(EnYb* this, GlobalContext* globalCtx) { this->actionFunc = EnYb_Talk; if (Player_GetMask(globalCtx) == PLAYER_MASK_KAMARO) { // I have taught you, go use it - func_801518B0(globalCtx, 0x147C, &this->actor); + Message_StartTextbox(globalCtx, 0x147C, &this->actor); } else { // regular talk to him first dialogue - func_801518B0(globalCtx, 0x147B, &this->actor); + Message_StartTextbox(globalCtx, 0x147B, &this->actor); } } else if (EnYb_CanTalk(this, globalCtx)) { func_800B8614(&this->actor, globalCtx, 120.0f); diff --git a/src/overlays/actors/ovl_En_Zob/z_en_zob.c b/src/overlays/actors/ovl_En_Zob/z_en_zob.c index 4c03fd9cf2..a3f5038743 100644 --- a/src/overlays/actors/ovl_En_Zob/z_en_zob.c +++ b/src/overlays/actors/ovl_En_Zob/z_en_zob.c @@ -249,7 +249,7 @@ void func_80B9FA3C(EnZob* this, GlobalContext* globalCtx) { func_80B9F7E4(this, 4, 2); } - func_801518B0(globalCtx, textId, &this->actor); + Message_StartTextbox(globalCtx, textId, &this->actor); } void func_80B9FC0C(EnZob* this) { @@ -278,19 +278,19 @@ void func_80B9FCA0(EnZob* this, GlobalContext* globalCtx) { } void func_80B9FD24(EnZob* this, GlobalContext* globalCtx) { - u32 temp_v0; - s16 temp; + s32 actionIndex; + s16 action; func_80B9F86C(this); - if (func_800EE29C(globalCtx, 500)) { + if (Cutscene_CheckActorAction(globalCtx, 500)) { this->unk_30E = -1; - temp_v0 = func_800EE200(globalCtx, 500); - temp = globalCtx->csCtx.npcActions[temp_v0]->unk0; + actionIndex = Cutscene_GetActorActionIndex(globalCtx, 500); + action = globalCtx->csCtx.actorActions[actionIndex]->action; - if (temp != this->unk_310) { - this->unk_310 = temp; - switch (temp) { + if (action != this->unk_310) { + this->unk_310 = action; + switch (action) { case 1: func_80B9F7E4(this, 8, 0); break; @@ -304,12 +304,12 @@ void func_80B9FD24(EnZob* this, GlobalContext* globalCtx) { } void func_80B9FDDC(EnZob* this, GlobalContext* globalCtx) { - func_801518B0(globalCtx, 0x120C, &this->actor); + Message_StartTextbox(globalCtx, 0x120C, &this->actor); this->actionFunc = func_80BA00BC; } void func_80B9FE1C(EnZob* this, GlobalContext* globalCtx) { - func_801518B0(globalCtx, 0x1211, &this->actor); + Message_StartTextbox(globalCtx, 0x1211, &this->actor); this->actionFunc = func_80BA00BC; } @@ -537,7 +537,7 @@ void func_80BA0610(EnZob* this, GlobalContext* globalCtx) { func_80B9F86C(this); if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { this->actor.flags &= ~ACTOR_FLAG_10000; - func_801518B0(globalCtx, 0x120D, &this->actor); + Message_StartTextbox(globalCtx, 0x120D, &this->actor); this->unk_304 = 3; func_80B9F7E4(this, 5, 2); func_80B9FC70(this, 0); @@ -549,7 +549,7 @@ void func_80BA0610(EnZob* this, GlobalContext* globalCtx) { void func_80BA06BC(EnZob* this, GlobalContext* globalCtx) { func_80B9FD24(this, globalCtx); - if (!func_800EE29C(globalCtx, 500)) { + if (!Cutscene_CheckActorAction(globalCtx, 500)) { this->actionFunc = func_80BA0610; this->actor.flags |= ACTOR_FLAG_10000; func_80BA0610(this, globalCtx); @@ -564,10 +564,10 @@ void func_80BA0728(EnZob* this, GlobalContext* globalCtx) { if (func_800B8718(&this->actor, &globalCtx->state)) { if (gSaveContext.playerForm == PLAYER_FORM_ZORA) { - func_801518B0(globalCtx, 0x1208, NULL); + Message_StartTextbox(globalCtx, 0x1208, NULL); gSaveContext.weekEventReg[30] |= 8; } else { - func_801518B0(globalCtx, 0x1216, NULL); + Message_StartTextbox(globalCtx, 0x1216, NULL); } this->actionFunc = func_80BA00BC; this->unk_304 = 1; @@ -577,7 +577,7 @@ void func_80BA0728(EnZob* this, GlobalContext* globalCtx) { } else if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { this->actionFunc = func_80BA0374; func_80B9FA3C(this, globalCtx); - } else if (func_800EE29C(globalCtx, 500)) { + } else if (Cutscene_CheckActorAction(globalCtx, 500)) { this->actionFunc = func_80BA06BC; } else if ((this->actor.xzDistToPlayer < 180.0f) && (this->actor.xzDistToPlayer > 60.0f) && Player_IsFacingActor(&this->actor, 0x3000, globalCtx) && Actor_IsFacingPlayer(&this->actor, 0x3000)) { @@ -615,7 +615,7 @@ void func_80BA08E8(EnZob* this, GlobalContext* globalCtx) { func_80B9F7E4(this, 5, 2); } - func_801518B0(globalCtx, textId, &this->actor); + Message_StartTextbox(globalCtx, textId, &this->actor); } void func_80BA09E0(EnZob* this, GlobalContext* globalCtx) { @@ -683,8 +683,8 @@ void func_80BA0C14(EnZob* this, GlobalContext* globalCtx) { this->unk_312 = 999; } - if (func_800EE29C(globalCtx, 0x203)) { - if (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x203)]->unk0 == 1) { + if (Cutscene_CheckActorAction(globalCtx, 515)) { + if (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 515)]->action == 1) { this->actionFunc = func_80BA0CF4; this->unk_312 = -1; } @@ -696,7 +696,8 @@ void func_80BA0C14(EnZob* this, GlobalContext* globalCtx) { void func_80BA0CF4(EnZob* this, GlobalContext* globalCtx) { func_80B9F86C(this); - if (func_800EE29C(globalCtx, 0x203) && (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x203)]->unk0 == 2)) { + if (Cutscene_CheckActorAction(globalCtx, 515) && + (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 515)]->action == 2)) { this->actionFunc = func_80BA0C14; } } diff --git a/src/overlays/actors/ovl_En_Zog/z_en_zog.c b/src/overlays/actors/ovl_En_Zog/z_en_zog.c index b46878a19c..5e12cba0d2 100644 --- a/src/overlays/actors/ovl_En_Zog/z_en_zog.c +++ b/src/overlays/actors/ovl_En_Zog/z_en_zog.c @@ -206,7 +206,7 @@ void EnZog_Init(Actor* thisx, GlobalContext* globalCtx) { this->actor.colChkInfo.mass = MASS_IMMOVABLE; if ((ENZOG_GET_F(&this->actor) != ENZOG_F_2) && (INV_CONTENT(ITEM_MASK_ZORA) == ITEM_MASK_ZORA) && - ((globalCtx->csCtx.unk_12 != 2) || (gSaveContext.sceneSetupIndex != 0) || + ((globalCtx->csCtx.currentCsIndex != 2) || (gSaveContext.sceneSetupIndex != 0) || (globalCtx->sceneNum != SCENE_30GYOSON))) { Actor_MarkForDeath(&this->actor); return; @@ -459,9 +459,9 @@ s32 func_80B93EA0(EnZog* this, GlobalContext* globalCtx) { SkelAnime_Update(&this->skelAnime); } - if (func_800EE29C(globalCtx, 0x1D7)) { - sp3E = globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x1D7)]->unk0; - func_800EDF24(&this->actor, globalCtx, func_800EE200(globalCtx, 0x1D7)); + if (Cutscene_CheckActorAction(globalCtx, 471)) { + sp3E = globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 471)]->action; + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, Cutscene_GetActorActionIndex(globalCtx, 471)); switch (this->unk_306) { case 2: @@ -956,7 +956,7 @@ void EnZog_Update(Actor* thisx, GlobalContext* globalCtx) { Actor_MoveWithGravity(&this->actor); Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 10.0f, 10.0f, 10.0f, 5); - if (func_800EE29C(globalCtx, 0x1D7) && (ENZOG_GET_F(&this->actor) != ENZOG_F_2)) { + if (Cutscene_CheckActorAction(globalCtx, 0x1D7) && (ENZOG_GET_F(&this->actor) != ENZOG_F_2)) { this->actionFunc = func_80B9461C; this->actor.shape.yOffset = 0.0f; } diff --git a/src/overlays/actors/ovl_En_Zoraegg/z_en_zoraegg.c b/src/overlays/actors/ovl_En_Zoraegg/z_en_zoraegg.c index 7d962dcdca..7250daaa84 100644 --- a/src/overlays/actors/ovl_En_Zoraegg/z_en_zoraegg.c +++ b/src/overlays/actors/ovl_En_Zoraegg/z_en_zoraegg.c @@ -75,7 +75,7 @@ void func_80B31590(EnZoraegg* this) { void EnZoraegg_Init(Actor* thisx, GlobalContext* globalCtx) { s32 pad; EnZoraegg* this = THIS; - u16 sp40[] = { 0x01C9, 0x01CA, 0x01CB, 0x01CC, 0x01CD, 0x01CE, 0x01D0 }; + u16 sp40[] = { 457, 458, 459, 460, 461, 462, 464 }; Actor_SetScale(&this->actor, 0.006f); SkelAnime_InitFlex(globalCtx, &this->skelAnime, &object_zoraegg_Skel_004C90, &object_zoraegg_Anim_005098, @@ -162,7 +162,7 @@ void EnZoraegg_Init(Actor* thisx, GlobalContext* globalCtx) { case ENZORAEGG_1F_7: case ENZORAEGG_1F_8: case ENZORAEGG_1F_9: - this->unk_1F0 = sp40[(ENZORAEGG_GET_1F(&this->actor)) - ENZORAEGG_1F_3]; + this->actorActionCmd = sp40[(ENZORAEGG_GET_1F(&this->actor)) - ENZORAEGG_1F_3]; Animation_PlayOnce(&this->skelAnime, &object_zoraegg_Anim_001E08); this->unk_1EC = 1; this->unk_1EE = 0; @@ -181,7 +181,7 @@ void EnZoraegg_Init(Actor* thisx, GlobalContext* globalCtx) { case ENZORAEGG_1F_14: case ENZORAEGG_1F_15: case ENZORAEGG_1F_16: - this->unk_1F0 = sp40[(ENZORAEGG_GET_1F(&this->actor)) - ENZORAEGG_1F_10]; + this->actorActionCmd = sp40[(ENZORAEGG_GET_1F(&this->actor)) - ENZORAEGG_1F_10]; this->unk_1EC = 2; this->actionFunc = func_80B324B0; Animation_PlayLoop(&this->skelAnime, &object_zoraegg_Anim_004FE4); @@ -338,7 +338,7 @@ void func_80B320E0(EnZoraegg* this, GlobalContext* globalCtx) { Actor_MarkForDeath(&this->actor); } else if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { this->actionFunc = func_80B32094; - func_801518B0(globalCtx, 0x24B, &this->actor); + Message_StartTextbox(globalCtx, 0x24B, &this->actor); } else { Actor_PickUp(&this->actor, globalCtx, GI_MAX, 80.0f, 60.0f); if (this->actor.isTargeted) { @@ -419,20 +419,25 @@ void func_80B32390(EnZoraegg* this, GlobalContext* globalCtx) { void func_80B324B0(EnZoraegg* this, GlobalContext* globalCtx) { SkelAnime_Update(&this->skelAnime); - if (func_800EE29C(globalCtx, this->unk_1F0)) { + if (Cutscene_CheckActorAction(globalCtx, this->actorActionCmd)) { if (this->unk_1EA & 4) { - if (func_800EE29C(globalCtx, this->unk_1F0) && - (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, this->unk_1F0)]->unk0 == 3)) { + if (Cutscene_CheckActorAction(globalCtx, this->actorActionCmd) && + (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, this->actorActionCmd)]->action == + 3)) { Animation_PlayLoop(&this->skelAnime, &object_zoraegg_Anim_004FE4); this->unk_1EA &= ~4; } - } else if (func_800EE29C(globalCtx, this->unk_1F0) && - (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, this->unk_1F0)]->unk0 == 4)) { - Animation_PlayLoop(&this->skelAnime, &object_zoraegg_Anim_004E04); - this->unk_1EA |= 4; + } else { + if (Cutscene_CheckActorAction(globalCtx, this->actorActionCmd) && + (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, this->actorActionCmd)]->action == + 4)) { + Animation_PlayLoop(&this->skelAnime, &object_zoraegg_Anim_004E04); + this->unk_1EA |= 4; + } } - func_800EDF24(&this->actor, globalCtx, func_800EE200(globalCtx, this->unk_1F0)); + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, + Cutscene_GetActorActionIndex(globalCtx, this->actorActionCmd)); if ((this->unk_1EA & 4) && Animation_OnFrame(&this->skelAnime, this->unk_1E4)) { Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_ZORA_KIDS_SWIM_1); @@ -451,10 +456,11 @@ void func_80B32644(EnZoraegg* this, GlobalContext* globalCtx) { this->unk_1EA |= 2; } - if (!func_800EE29C(globalCtx, this->unk_1F0)) { + if (!Cutscene_CheckActorAction(globalCtx, this->actorActionCmd)) { this->actionFunc = func_80B324B0; } else { - func_800EDF24(&this->actor, globalCtx, func_800EE200(globalCtx, this->unk_1F0)); + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, + Cutscene_GetActorActionIndex(globalCtx, this->actorActionCmd)); if (this->unk_1EE > 25) { this->unk_1EE -= 25; @@ -467,8 +473,8 @@ void func_80B32644(EnZoraegg* this, GlobalContext* globalCtx) { void func_80B326F4(EnZoraegg* this, GlobalContext* globalCtx) { SkelAnime_Update(&this->skelAnime); - if (func_800EE29C(globalCtx, this->unk_1F0) && - (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, this->unk_1F0)]->unk0 == 3)) { + if (Cutscene_CheckActorAction(globalCtx, this->actorActionCmd) && + (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, this->actorActionCmd)]->action == 3)) { Animation_Change(&this->skelAnime, &object_zoraegg_Anim_004D20, 1.0f, 0.0f, Animation_GetLastFrame(&object_zoraegg_Anim_004D20), 2, 5.0f); this->unk_1E8 = 0; @@ -479,7 +485,8 @@ void func_80B326F4(EnZoraegg* this, GlobalContext* globalCtx) { Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_ZORA_KIDS_SWIM_2); } - func_800EDF24(&this->actor, globalCtx, func_800EE200(globalCtx, this->unk_1F0)); + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, + Cutscene_GetActorActionIndex(globalCtx, this->actorActionCmd)); if (Animation_OnFrame(&this->skelAnime, 4.0f)) { Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_ZORA_KIDS_SWIM_1); @@ -502,7 +509,8 @@ void func_80B32820(EnZoraegg* this, GlobalContext* globalCtx) { SkelAnime_Update(&this->skelAnime); } - func_800EDF24(&this->actor, globalCtx, func_800EE200(globalCtx, this->unk_1F0)); + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, + Cutscene_GetActorActionIndex(globalCtx, this->actorActionCmd)); if (Animation_OnFrame(&this->skelAnime, 16.0f)) { Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_ZORA_KIDS_SWIM_0); @@ -536,7 +544,8 @@ void func_80B32928(EnZoraegg* this, GlobalContext* globalCtx) { } } - func_800EDF24(&this->actor, globalCtx, func_800EE200(globalCtx, this->unk_1F0)); + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, + Cutscene_GetActorActionIndex(globalCtx, this->actorActionCmd)); if (Animation_OnFrame(&this->skelAnime, 97.0f) || Animation_OnFrame(&this->skelAnime, 101.0f) || Animation_OnFrame(&this->skelAnime, 105.0f)) { @@ -545,8 +554,8 @@ void func_80B32928(EnZoraegg* this, GlobalContext* globalCtx) { } void func_80B32A88(EnZoraegg* this, GlobalContext* globalCtx) { - if (func_800EE29C(globalCtx, this->unk_1F0) && - (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, this->unk_1F0)]->unk0 == 2)) { + if (Cutscene_CheckActorAction(globalCtx, this->actorActionCmd) && + (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, this->actorActionCmd)]->action == 2)) { this->unk_1E8 = 0; this->actionFunc = func_80B32928; } @@ -568,7 +577,7 @@ void func_80B32B3C(EnZoraegg* this, GlobalContext* globalCtx) { void func_80B32B70(EnZoraegg* this, GlobalContext* globalCtx) { func_80B31C40(this, globalCtx); - if (func_800EE29C(globalCtx, 0x1C9)) { + if (Cutscene_CheckActorAction(globalCtx, 0x1C9)) { Actor_MarkForDeath(&this->actor); } } @@ -581,7 +590,7 @@ void func_80B32BB8(EnZoraegg* this, GlobalContext* globalCtx) { this->actionFunc = func_80B32B70; } - if (func_800EE29C(globalCtx, 0x1C9)) { + if (Cutscene_CheckActorAction(globalCtx, 0x1C9)) { Actor_MarkForDeath(&this->actor); } } diff --git a/src/overlays/actors/ovl_En_Zoraegg/z_en_zoraegg.h b/src/overlays/actors/ovl_En_Zoraegg/z_en_zoraegg.h index 152d656ef7..fb65579fa6 100644 --- a/src/overlays/actors/ovl_En_Zoraegg/z_en_zoraegg.h +++ b/src/overlays/actors/ovl_En_Zoraegg/z_en_zoraegg.h @@ -53,7 +53,7 @@ typedef struct EnZoraegg { /* 0x01ED */ u8 unk_1ED; /* 0x01EE */ u8 unk_1EE; /* 0x01EF */ u8 unk_1EF; - /* 0x01F0 */ u16 unk_1F0; + /* 0x01F0 */ u16 actorActionCmd; /* 0x01F2 */ s16 unk_1F2; /* 0x01F4 */ s16 unk_1F4; /* 0x01F8 */ EnZoraeggActionFunc actionFunc; diff --git a/src/overlays/actors/ovl_En_Zos/z_en_zos.c b/src/overlays/actors/ovl_En_Zos/z_en_zos.c index 9ab145b9f9..a69223d09c 100644 --- a/src/overlays/actors/ovl_En_Zos/z_en_zos.c +++ b/src/overlays/actors/ovl_En_Zos/z_en_zos.c @@ -218,12 +218,12 @@ void func_80BBB15C(EnZos* this, GlobalContext* globalCtx) { this->unk_2B6 |= 0x10; } } - func_801518B0(globalCtx, textId, &this->actor); + Message_StartTextbox(globalCtx, textId, &this->actor); } void func_80BBB2C4(EnZos* this, GlobalContext* globalCtx) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { - func_801518B0(globalCtx, 0x124F, &this->actor); + Message_StartTextbox(globalCtx, 0x124F, &this->actor); this->actionFunc = func_80BBB8AC; this->actor.flags &= ~ACTOR_FLAG_10000; } else { @@ -253,13 +253,13 @@ void func_80BBB354(EnZos* this, GlobalContext* globalCtx) { void func_80BBB414(EnZos* this, GlobalContext* globalCtx) { SkelAnime_Update(&this->skelAnime); - if (func_800EE29C(globalCtx, 0x1F5)) { - s16 temp = globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x1F5)]->unk0; + if (Cutscene_CheckActorAction(globalCtx, 501)) { + s16 action = globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 501)]->action; - if (temp != this->unk_2BA) { - this->unk_2BA = temp; + if (action != this->unk_2BA) { + this->unk_2BA = action; - switch (temp) { + switch (action) { case 1: func_80BBAE84(this, 1, 0); break; @@ -471,17 +471,17 @@ void func_80BBBB84(EnZos* this, GlobalContext* globalCtx) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { this->actor.flags &= ~ACTOR_FLAG_10000; if (gSaveContext.playerForm == PLAYER_FORM_ZORA) { - func_801518B0(globalCtx, 0x1248, &this->actor); + Message_StartTextbox(globalCtx, 0x1248, &this->actor); this->actionFunc = func_80BBB8AC; func_80BBAE84(this, 6, 0); this->unk_2B6 |= 2; } else if (gSaveContext.weekEventReg[41] & 0x10) { - func_801518B0(globalCtx, 0x124A, &this->actor); + Message_StartTextbox(globalCtx, 0x124A, &this->actor); this->actionFunc = func_80BBB8AC; func_80BBAE84(this, 6, 0); } else { gSaveContext.weekEventReg[41] |= 0x10; - func_801518B0(globalCtx, 0x124B, &this->actor); + Message_StartTextbox(globalCtx, 0x124B, &this->actor); this->actionFunc = func_80BBB574; func_80BBAE84(this, 9, 2); this->unk_2B6 |= 0x10; @@ -495,7 +495,7 @@ void func_80BBBCBC(EnZos* this, GlobalContext* globalCtx) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { this->actor.flags &= ~ACTOR_FLAG_10000; func_80BBAE84(this, 5, 0); - func_801518B0(globalCtx, 0x124D, &this->actor); + Message_StartTextbox(globalCtx, 0x124D, &this->actor); this->actionFunc = func_80BBB574; } else { func_800B8500(&this->actor, globalCtx, 1000.0f, 1000.0f, -1); @@ -504,7 +504,7 @@ void func_80BBBCBC(EnZos* this, GlobalContext* globalCtx) { void func_80BBBD5C(EnZos* this, GlobalContext* globalCtx) { func_80BBB414(this, globalCtx); - if (!func_800EE29C(globalCtx, 0x1F5)) { + if (!Cutscene_CheckActorAction(globalCtx, 0x1F5)) { this->actionFunc = func_80BBBCBC; this->actor.flags |= ACTOR_FLAG_10000; func_800B8500(&this->actor, globalCtx, 1000.0f, 1000.0f, -1); @@ -537,7 +537,7 @@ void func_80BBBDE0(EnZos* this, GlobalContext* globalCtx) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { this->actionFunc = func_80BBB8AC; func_80BBB15C(this, globalCtx); - } else if (func_800EE29C(globalCtx, 0x1F5)) { + } else if (Cutscene_CheckActorAction(globalCtx, 0x1F5)) { this->actionFunc = func_80BBBD5C; } else if (func_80BBAF5C(this, globalCtx)) { func_800B8614(&this->actor, globalCtx, 120.0f); @@ -572,7 +572,7 @@ void func_80BBBFBC(EnZos* this, GlobalContext* globalCtx) { textId = 0x1258; func_80BBAE84(this, 6, 0); } - func_801518B0(globalCtx, textId, &this->actor); + Message_StartTextbox(globalCtx, textId, &this->actor); } void func_80BBC070(EnZos* this, GlobalContext* globalCtx) { @@ -645,8 +645,8 @@ void func_80BBC298(EnZos* this, GlobalContext* globalCtx) { this->unk_2BC = 999; } - if (func_800EE29C(globalCtx, 0x203)) { - if (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x203)]->unk0 == 1) { + if (Cutscene_CheckActorAction(globalCtx, 515)) { + if (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 515)]->action == 1) { this->actionFunc = func_80BBC37C; this->unk_2BC = -1; } @@ -658,7 +658,8 @@ void func_80BBC298(EnZos* this, GlobalContext* globalCtx) { void func_80BBC37C(EnZos* this, GlobalContext* globalCtx) { func_80BBAFFC(this, globalCtx); - if (func_800EE29C(globalCtx, 0x203) && (globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x203)]->unk0 == 3)) { + if (Cutscene_CheckActorAction(globalCtx, 515) && + (globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 515)]->action == 3)) { this->actionFunc = func_80BBC298; } } diff --git a/src/overlays/actors/ovl_En_Zot/z_en_zot.c b/src/overlays/actors/ovl_En_Zot/z_en_zot.c index 88314d496f..18f5f13e3a 100644 --- a/src/overlays/actors/ovl_En_Zot/z_en_zot.c +++ b/src/overlays/actors/ovl_En_Zot/z_en_zot.c @@ -374,7 +374,7 @@ void func_80B97110(EnZot* this, GlobalContext* globalCtx) { gSaveContext.weekEventReg[28] |= 0x40; } } - func_801518B0(globalCtx, textId, &this->actor); + Message_StartTextbox(globalCtx, textId, &this->actor); } void func_80B97194(EnZot* this, GlobalContext* globalCtx) { @@ -440,7 +440,7 @@ void func_80B972E8(EnZot* this, GlobalContext* globalCtx) { gSaveContext.weekEventReg[29] |= 8; } } - func_801518B0(globalCtx, textId, &this->actor); + Message_StartTextbox(globalCtx, textId, &this->actor); } void func_80B973BC(EnZot* this, GlobalContext* globalCtx) { @@ -642,7 +642,7 @@ void func_80B9787C(EnZot* this, GlobalContext* globalCtx) { break; } } - func_801518B0(globalCtx, textId, &this->actor); + Message_StartTextbox(globalCtx, textId, &this->actor); } } @@ -711,7 +711,7 @@ void func_80B97BF8(EnZot* this, GlobalContext* globalCtx) { } else { textId = 0x128B; } - func_801518B0(globalCtx, textId, &this->actor); + Message_StartTextbox(globalCtx, textId, &this->actor); } void func_80B97C40(EnZot* this, GlobalContext* globalCtx) { @@ -726,7 +726,7 @@ void func_80B97C40(EnZot* this, GlobalContext* globalCtx) { void func_80B97CC8(EnZot* this, GlobalContext* globalCtx) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { this->actionFunc = func_80B97C40; - func_801518B0(globalCtx, 0x128B, &this->actor); + Message_StartTextbox(globalCtx, 0x128B, &this->actor); } else if (Player_IsFacingActor(&this->actor, 0x3000, globalCtx) && (this->actor.xzDistToPlayer < 100.0f)) { func_800B8614(&this->actor, globalCtx, 120.0f); } @@ -894,7 +894,7 @@ void func_80B98178(EnZot* this, GlobalContext* globalCtx) { } break; } - func_801518B0(globalCtx, textId, &this->actor); + Message_StartTextbox(globalCtx, textId, &this->actor); } void func_80B98348(EnZot* this, GlobalContext* globalCtx) { @@ -924,9 +924,9 @@ void func_80B9849C(EnZot* this, GlobalContext* globalCtx) { func_80B98348(this, globalCtx); if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { if (this->unk_2D4 == 2) { - func_801518B0(globalCtx, 0x12AD, &this->actor); + Message_StartTextbox(globalCtx, 0x12AD, &this->actor); } else { - func_801518B0(globalCtx, 0x12B0, &this->actor); + Message_StartTextbox(globalCtx, 0x12B0, &this->actor); } this->actionFunc = func_80B98728; } else { @@ -1086,7 +1086,7 @@ void func_80B98A4C(EnZot* this, GlobalContext* globalCtx) { textId = 0x12B1; gSaveContext.weekEventReg[39] |= 0x40; } - func_801518B0(globalCtx, textId, &this->actor); + Message_StartTextbox(globalCtx, textId, &this->actor); } void func_80B98AD0(EnZot* this, GlobalContext* globalCtx) { @@ -1125,10 +1125,10 @@ void func_80B98BF4(EnZot* this, GlobalContext* globalCtx) { if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { this->actor.flags &= ~ACTOR_FLAG_10000; if (gSaveContext.weekEventReg[41] & 0x20) { - func_801518B0(globalCtx, 0x12B7, &this->actor); + Message_StartTextbox(globalCtx, 0x12B7, &this->actor); this->actionFunc = func_80B98AD0; } else { - func_801518B0(globalCtx, 0x12B9, &this->actor); + Message_StartTextbox(globalCtx, 0x12B9, &this->actor); this->actionFunc = func_80B98AD0; } } else { @@ -1194,7 +1194,7 @@ void func_80B98E10(EnZot* this, GlobalContext* globalCtx) { textId = 0x12BB; } } - func_801518B0(globalCtx, textId, &this->actor); + Message_StartTextbox(globalCtx, textId, &this->actor); } void func_80B98F30(EnZot* this, GlobalContext* globalCtx) { @@ -1264,7 +1264,7 @@ void func_80B99160(EnZot* this, GlobalContext* globalCtx) { textId = 0x12C6; gSaveContext.weekEventReg[40] |= 8; } - func_801518B0(globalCtx, textId, &this->actor); + Message_StartTextbox(globalCtx, textId, &this->actor); } void func_80B991E4(EnZot* this, GlobalContext* globalCtx) { diff --git a/src/overlays/actors/ovl_En_Zov/z_en_zov.c b/src/overlays/actors/ovl_En_Zov/z_en_zov.c index b1b93217f7..724f074daf 100644 --- a/src/overlays/actors/ovl_En_Zov/z_en_zov.c +++ b/src/overlays/actors/ovl_En_Zov/z_en_zov.c @@ -213,7 +213,7 @@ void func_80BD160C(EnZov* this, GlobalContext* globalCtx) { this->unk_320 |= 1; if (textId != 0) { - func_801518B0(globalCtx, textId, &this->actor); + Message_StartTextbox(globalCtx, textId, &this->actor); } } @@ -314,7 +314,7 @@ void func_80BD19FC(EnZov* this, GlobalContext* globalCtx) { this->unk_324--; } else { func_80BD13DC(this); - func_801518B0(globalCtx, 0x1021, &this->actor); + Message_StartTextbox(globalCtx, 0x1021, &this->actor); ((EnElf*)(GET_PLAYER(globalCtx)->tatlActor))->unk_264 |= 4; Actor_ChangeFocus(&this->actor, globalCtx, GET_PLAYER(globalCtx)->tatlActor); this->actionFunc = func_80BD187C; @@ -328,11 +328,11 @@ void func_80BD19FC(EnZov* this, GlobalContext* globalCtx) { s32 func_80BD1AE0(EnZov* this, GlobalContext* globalCtx) { func_80BD1764(this); - if (func_800EE29C(globalCtx, 0x1F8)) { - s16 temp_v1 = globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x1F8)]->unk0; + if (Cutscene_CheckActorAction(globalCtx, 504)) { + s16 action = globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 504)]->action; - if (temp_v1 != this->unk_326) { - this->unk_326 = temp_v1; + if (action != this->unk_326) { + this->unk_326 = action; switch (this->unk_326) { case 1: func_80BD1570(this, 0, 0); @@ -354,6 +354,7 @@ s32 func_80BD1AE0(EnZov* this, GlobalContext* globalCtx) { } return true; } + return false; } @@ -366,7 +367,7 @@ void func_80BD1BF0(EnZov* this, GlobalContext* globalCtx) { void func_80BD1C38(EnZov* this, GlobalContext* globalCtx) { if (func_80BD1AE0(this, globalCtx)) { - func_800EDF24(&this->actor, globalCtx, func_800EE200(globalCtx, 0x1F8)); + Cutscene_ActorTranslateAndYaw(&this->actor, globalCtx, Cutscene_GetActorActionIndex(globalCtx, 504)); } } @@ -380,7 +381,7 @@ void func_80BD1C84(EnZov* this, GlobalContext* globalCtx) { func_800B8614(&this->actor, globalCtx, 120.0f); } - if (func_800EE29C(globalCtx, 0x1F8)) { + if (Cutscene_CheckActorAction(globalCtx, 0x1F8)) { this->actionFunc = func_80BD1BF0; func_80BD1BF0(this, globalCtx); } @@ -398,7 +399,7 @@ void func_80BD1D30(EnZov* this, GlobalContext* globalCtx) { } else { textId = 0x1031; } - func_801518B0(globalCtx, textId, &this->actor); + Message_StartTextbox(globalCtx, textId, &this->actor); } void func_80BD1D94(EnZov* this, GlobalContext* globalCtx) { @@ -476,7 +477,7 @@ void EnZov_Update(Actor* thisx, GlobalContext* globalCtx) { this->actionFunc(this, globalCtx); - if (!func_800EE29C(globalCtx, 0x1F8)) { + if (!Cutscene_CheckActorAction(globalCtx, 0x1F8)) { this->unk_320 &= ~0x10; } diff --git a/src/overlays/actors/ovl_En_Zow/z_en_zow.c b/src/overlays/actors/ovl_En_Zow/z_en_zow.c index 3ada9fc104..5fd785ad18 100644 --- a/src/overlays/actors/ovl_En_Zow/z_en_zow.c +++ b/src/overlays/actors/ovl_En_Zow/z_en_zow.c @@ -403,7 +403,7 @@ void func_80BDD1E0(EnZow* this, GlobalContext* globalCtx) { } else { phi_a1 = 0x12EF; } - func_801518B0(globalCtx, phi_a1, &this->actor); + Message_StartTextbox(globalCtx, phi_a1, &this->actor); } void func_80BDD350(EnZow* this, GlobalContext* globalCtx) { diff --git a/src/overlays/actors/ovl_Obj_Ghaka/z_obj_ghaka.c b/src/overlays/actors/ovl_Obj_Ghaka/z_obj_ghaka.c index 3a83c47f70..cf5269fc83 100644 --- a/src/overlays/actors/ovl_Obj_Ghaka/z_obj_ghaka.c +++ b/src/overlays/actors/ovl_Obj_Ghaka/z_obj_ghaka.c @@ -108,12 +108,12 @@ void func_80B3C4E0(ObjGhaka* this, GlobalContext* globalCtx) { case 0: func_8019F208(); this->dyna.actor.textId = 0xCF5; - func_801518B0(globalCtx, this->dyna.actor.textId, &this->dyna.actor); + Message_StartTextbox(globalCtx, this->dyna.actor.textId, &this->dyna.actor); break; case 1: func_8019F208(); this->dyna.actor.textId = 0xCF7; - func_801518B0(globalCtx, this->dyna.actor.textId, &this->dyna.actor); + Message_StartTextbox(globalCtx, this->dyna.actor.textId, &this->dyna.actor); break; case 2: func_8019F230(); diff --git a/src/overlays/actors/ovl_Obj_Hgdoor/z_obj_hgdoor.c b/src/overlays/actors/ovl_Obj_Hgdoor/z_obj_hgdoor.c index 3f47e321f3..6c37e68b55 100644 --- a/src/overlays/actors/ovl_Obj_Hgdoor/z_obj_hgdoor.c +++ b/src/overlays/actors/ovl_Obj_Hgdoor/z_obj_hgdoor.c @@ -128,13 +128,13 @@ void func_80BD433C(ObjHgdoor* this) { } void func_80BD4358(ObjHgdoor* this, GlobalContext* globalCtx) { - u32 actionIndex; + s32 actionIndex; - if (func_800EE29C(globalCtx, 0x1E3)) { - actionIndex = func_800EE200(globalCtx, 0x1E3); - if (this->unk166 != globalCtx->csCtx.npcActions[actionIndex]->unk0) { - this->unk166 = globalCtx->csCtx.npcActions[actionIndex]->unk0; - switch (globalCtx->csCtx.npcActions[actionIndex]->unk0) { + if (Cutscene_CheckActorAction(globalCtx, 483)) { + actionIndex = Cutscene_GetActorActionIndex(globalCtx, 483); + if (this->unk166 != globalCtx->csCtx.actorActions[actionIndex]->action) { + this->unk166 = globalCtx->csCtx.actorActions[actionIndex]->action; + switch (globalCtx->csCtx.actorActions[actionIndex]->action) { case 1: Actor_PlaySfxAtPos(&this->dyna.actor, NA_SE_EV_WOOD_DOOR_OPEN_SPEEDY); if ((this->dyna.actor.parent != NULL) && (this->dyna.actor.parent->id == ACTOR_EN_HG)) { diff --git a/src/overlays/actors/ovl_Obj_Jg_Gakki/z_obj_jg_gakki.c b/src/overlays/actors/ovl_Obj_Jg_Gakki/z_obj_jg_gakki.c index 06c59bd7d2..53d1d76698 100644 --- a/src/overlays/actors/ovl_Obj_Jg_Gakki/z_obj_jg_gakki.c +++ b/src/overlays/actors/ovl_Obj_Jg_Gakki/z_obj_jg_gakki.c @@ -37,7 +37,7 @@ void ObjJgGakki_Init(Actor* thisx, GlobalContext* globalCtx2) { SkelAnime_Init(globalCtx, &this->skelAnime, &gGoronElderDrumSkel, NULL, NULL, NULL, 0); if (((globalCtx->sceneNum == SCENE_SPOT00) && (gSaveContext.sceneSetupIndex == 7)) && - (globalCtx->csCtx.unk_12 == 0)) { + (globalCtx->csCtx.currentCsIndex == 0)) { Animation_Change(&this->skelAnime, &gGoronElderDrumTakeOutAnim, 1.0f, frameCount, frameCount, 2, 0.0f); } else if ((globalCtx->sceneNum == SCENE_17SETUGEN) || (globalCtx->sceneNum == SCENE_10YUKIYAMANOMURA)) { Animation_Change(&this->skelAnime, &gGoronElderDrumTakeOutAnim, 1.0f, 0.0f, frameCount, 2, 0.0f); diff --git a/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.c b/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.c index bb7eb2343f..a0fc2eff7f 100644 --- a/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.c +++ b/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.c @@ -77,7 +77,7 @@ void func_80C06640(ObjMoonStone* this, GlobalContext* globalCtx) { sp1A -= player->actor.shape.rot.y; if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) { this->actor.colChkInfo.health = 1; - func_801518B0(globalCtx, 0x5E3U, &this->actor); + Message_StartTextbox(globalCtx, 0x5E3U, &this->actor); func_80C066F8(this); } else { s32 phi_v0 = ABS_ALT(sp1A); diff --git a/src/overlays/actors/ovl_Obj_Mu_Pict/z_obj_mu_pict.c b/src/overlays/actors/ovl_Obj_Mu_Pict/z_obj_mu_pict.c index 6b69238383..16ca763174 100644 --- a/src/overlays/actors/ovl_Obj_Mu_Pict/z_obj_mu_pict.c +++ b/src/overlays/actors/ovl_Obj_Mu_Pict/z_obj_mu_pict.c @@ -137,18 +137,18 @@ void func_80C06DC8(ObjMuPict* this, GlobalContext* globalCtx) { if (this->unk14A == 0) { if (this->unk148 == 0) { this->unk148 = 1; - func_801518B0(globalCtx, 0x159A, &this->actor); + Message_StartTextbox(globalCtx, 0x159A, &this->actor); this->textId = 0x159A; } else { - func_801518B0(globalCtx, 0x159D, &this->actor); + Message_StartTextbox(globalCtx, 0x159D, &this->actor); this->textId = 0x159D; } } else if (this->unk148 == 0) { this->unk148 = 1; - func_801518B0(globalCtx, 0x15A0, &this->actor); + Message_StartTextbox(globalCtx, 0x15A0, &this->actor); this->textId = 0x15A0; } else { - func_801518B0(globalCtx, 0x15A3, &this->actor); + Message_StartTextbox(globalCtx, 0x15A3, &this->actor); this->textId = 0x15A3; } } @@ -157,31 +157,31 @@ void func_80C06E88(ObjMuPict* this, GlobalContext* globalCtx) { if (func_80147624(globalCtx)) { switch (this->textId) { case 0x159A: - func_801518B0(globalCtx, 0x159B, &this->actor); + Message_StartTextbox(globalCtx, 0x159B, &this->actor); this->textId = 0x159B; break; case 0x159B: - func_801518B0(globalCtx, 0x159C, &this->actor); + Message_StartTextbox(globalCtx, 0x159C, &this->actor); this->textId = 0x159C; break; case 0x159D: - func_801518B0(globalCtx, 0x159E, &this->actor); + Message_StartTextbox(globalCtx, 0x159E, &this->actor); this->textId = 0x159E; break; case 0x159E: - func_801518B0(globalCtx, 0x159F, &this->actor); + Message_StartTextbox(globalCtx, 0x159F, &this->actor); this->textId = 0x159F; break; case 0x15A0: - func_801518B0(globalCtx, 0x15A1, &this->actor); + Message_StartTextbox(globalCtx, 0x15A1, &this->actor); this->textId = 0x15A1; break; case 0x15A1: - func_801518B0(globalCtx, 0x15A2, &this->actor); + Message_StartTextbox(globalCtx, 0x15A2, &this->actor); this->textId = 0x15A2; break; case 0x15A3: - func_801518B0(globalCtx, 0x15A4, &this->actor); + Message_StartTextbox(globalCtx, 0x15A4, &this->actor); this->textId = 0x15A4; break; } diff --git a/src/overlays/actors/ovl_Obj_Tokei_Step/z_obj_tokei_step.c b/src/overlays/actors/ovl_Obj_Tokei_Step/z_obj_tokei_step.c index 65ba62f3c5..9ff5b45999 100644 --- a/src/overlays/actors/ovl_Obj_Tokei_Step/z_obj_tokei_step.c +++ b/src/overlays/actors/ovl_Obj_Tokei_Step/z_obj_tokei_step.c @@ -193,7 +193,7 @@ void ObjTokeiStep_Init(Actor* thisx, GlobalContext* globalCtx) { Actor_ProcessInitChain(&this->dyna.actor, sInitChain); DynaPolyActor_Init(&this->dyna, 0); if ((globalCtx->sceneNum == SCENE_CLOCKTOWER) && (gSaveContext.sceneSetupIndex == 2) && - (globalCtx->csCtx.unk_12 == 0)) { + (globalCtx->csCtx.currentCsIndex == 0)) { DynaPolyActor_LoadMesh(globalCtx, &this->dyna, &gClocktowerPanelCol); ObjTokeiStep_InitSteps(this); ObjTokeiStep_SetupBeginOpen(this); @@ -221,9 +221,10 @@ void ObjTokeiStep_SetupBeginOpen(ObjTokeiStep* this) { void ObjTokeiStep_BeginOpen(ObjTokeiStep* this, GlobalContext* globalCtx) { CsCmdActorAction* action; - if (func_800EE29C(globalCtx, 0x86)) { - action = globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x86)]; - if ((action->startFrame == globalCtx->csCtx.frames) && (action->unk0 != 0)) { + if (Cutscene_CheckActorAction(globalCtx, 134)) { + action = globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 134)]; + + if ((action->startFrame == globalCtx->csCtx.frames) && (action->action != 0)) { this->dyna.actor.draw = ObjTokeiStep_DrawOpen; ObjTokeiStep_SetupOpen(this); } diff --git a/src/overlays/actors/ovl_Obj_Tokeidai/z_obj_tokeidai.c b/src/overlays/actors/ovl_Obj_Tokeidai/z_obj_tokeidai.c index 1e9029067d..3ecac575f6 100644 --- a/src/overlays/actors/ovl_Obj_Tokeidai/z_obj_tokeidai.c +++ b/src/overlays/actors/ovl_Obj_Tokeidai/z_obj_tokeidai.c @@ -122,9 +122,9 @@ void ObjTokeidai_ExteriorGear_Init(ObjTokeidai* this, GlobalContext* globalCtx) ObjTokeidai_SetupClockOrExteriorGear(this); if (((globalCtx->sceneNum == SCENE_CLOCKTOWER) && (gSaveContext.sceneSetupIndex == 2) && - (globalCtx->csCtx.unk_12 == 0)) || + (globalCtx->csCtx.currentCsIndex == 0)) || ((globalCtx->sceneNum == SCENE_00KEIKOKU) && (gSaveContext.sceneSetupIndex == 2) && - (globalCtx->csCtx.unk_12 == 0))) { + (globalCtx->csCtx.currentCsIndex == 0))) { ObjTokeidai_SetupTowerOpening(this); } else if ((CURRENT_DAY == 3 && gSaveContext.time < CLOCK_TIME(6, 0)) || CURRENT_DAY >= 4) { this->actionFunc = ObjTokeidai_ExteriorGear_OpenedIdle; @@ -141,9 +141,9 @@ void ObjTokeidai_TowerClock_Init(ObjTokeidai* this, GlobalContext* globalCtx) { ObjTokeidai_Clock_Init(this); if (((globalCtx->sceneNum == SCENE_CLOCKTOWER) && (gSaveContext.sceneSetupIndex == 2) && - (globalCtx->csCtx.unk_12 == 0)) || + (globalCtx->csCtx.currentCsIndex == 0)) || ((globalCtx->sceneNum == SCENE_00KEIKOKU) && (gSaveContext.sceneSetupIndex == 2) && - (globalCtx->csCtx.unk_12 == 0))) { + (globalCtx->csCtx.currentCsIndex == 0))) { ObjTokeidai_SetupTowerOpening(this); } else if ((CURRENT_DAY == 3 && gSaveContext.time < CLOCK_TIME(6, 0)) || CURRENT_DAY >= 4) { this->actor.world.pos.y += (this->actor.scale.y * 5191.0f) - 50.0f; @@ -176,9 +176,9 @@ void ObjTokeidai_Counterweight_Init(ObjTokeidai* this, GlobalContext* globalCtx) } if (((globalCtx->sceneNum == SCENE_CLOCKTOWER) && (gSaveContext.sceneSetupIndex == 2) && - (globalCtx->csCtx.unk_12 == 0)) || + (globalCtx->csCtx.currentCsIndex == 0)) || ((globalCtx->sceneNum == SCENE_00KEIKOKU) && (gSaveContext.sceneSetupIndex == 2) && - (globalCtx->csCtx.unk_12 == 0))) { + (globalCtx->csCtx.currentCsIndex == 0))) { this->spotlightIntensity = 0; ObjTokeidai_SetupTowerOpening(this); @@ -336,7 +336,8 @@ void ObjTokeidai_ExteriorGear_Collapse(ObjTokeidai* this, GlobalContext* globalC } void ObjTokeidai_ExteriorGear_OpenedIdle(ObjTokeidai* this, GlobalContext* globalCtx) { - if (func_800EE29C(globalCtx, 0x84) && globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x84)]->unk0 == 2) { + if (Cutscene_CheckActorAction(globalCtx, 132) && + globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 132)]->action == 2) { this->actionFunc = ObjTokeidai_ExteriorGear_Collapse; this->actor.speedXZ = this->actor.scale.y * 5.0f; this->actor.velocity.y = 0.0f; @@ -403,7 +404,8 @@ void ObjTokeidai_TowerClock_SlideOff(ObjTokeidai* this, GlobalContext* globalCtx } void ObjTokeidai_TowerClock_OpenedIdle(ObjTokeidai* this, GlobalContext* globalCtx) { - if (func_800EE29C(globalCtx, 0x84) && globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x84)]->unk0 == 1) { + if (Cutscene_CheckActorAction(globalCtx, 132) && + globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 132)]->action == 1) { this->actionFunc = ObjTokeidai_TowerClock_SlideOff; this->slidingClockFaceAngle = 0; this->aerialClockFaceSpeed = -0xD; @@ -420,7 +422,8 @@ void ObjTokeidai_Counterweight_Collapse(ObjTokeidai* this, GlobalContext* global } void ObjTokeidai_Counterweight_OpenedIdle(ObjTokeidai* this, GlobalContext* globalCtx) { - if (func_800EE29C(globalCtx, 0x84) && globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x84)]->unk0 == 3) { + if (Cutscene_CheckActorAction(globalCtx, 132) && + globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 132)]->action == 3) { this->actionFunc = ObjTokeidai_Counterweight_Collapse; this->xRotation = 0; this->actor.velocity.y = 0.0f; @@ -436,19 +439,21 @@ void ObjTokeidai_TerminaFieldWalls_Collapse(ObjTokeidai* this, GlobalContext* gl } void ObjTokeidai_TerminaFieldWalls_Idle(ObjTokeidai* this, GlobalContext* globalCtx) { - if (func_800EE29C(globalCtx, 0x84) != 0 && globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x84)]->unk0 == 1) { + if (Cutscene_CheckActorAction(globalCtx, 132) != 0 && + globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 132)]->action == 1) { this->actionFunc = ObjTokeidai_TerminaFieldWalls_Collapse; } } void ObjTokeidai_TowerOpening_EndCutscene(ObjTokeidai* this, GlobalContext* globalCtx) { - if (func_800EE29C(globalCtx, 0x84) != 0 && globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x84)]->unk0 == 5) { + if (Cutscene_CheckActorAction(globalCtx, 132) != 0 && + globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 132)]->action == 5) { gSaveContext.weekEventReg[8] |= 0x40; if (((globalCtx->sceneNum == SCENE_CLOCKTOWER) && (gSaveContext.sceneSetupIndex == 2) && - (globalCtx->csCtx.unk_12 == 0)) || + (globalCtx->csCtx.currentCsIndex == 0)) || ((globalCtx->sceneNum == SCENE_00KEIKOKU) && (gSaveContext.sceneSetupIndex == 2) && - (globalCtx->csCtx.unk_12 == 0))) { - func_801A3F54(false); + (globalCtx->csCtx.currentCsIndex == 0))) { + Audio_SetCutsceneFlag(false); gSaveContext.cutscene = 0; gSaveContext.nextCutsceneIndex = 0; gSaveContext.respawnFlag = 2; @@ -588,7 +593,8 @@ void ObjTokeidai_TowerOpening_RaiseTower(ObjTokeidai* this, GlobalContext* globa } void ObjTokeidai_TowerOpening_Start(ObjTokeidai* this, GlobalContext* globalCtx) { - if ((func_800EE29C(globalCtx, 0x84) && globalCtx->csCtx.npcActions[func_800EE200(globalCtx, 0x84)]->unk0 == 4) || + if ((Cutscene_CheckActorAction(globalCtx, 132) && + globalCtx->csCtx.actorActions[Cutscene_GetActorActionIndex(globalCtx, 132)]->action == 4) || (gSaveContext.weekEventReg[8] & 0x40)) { this->actionFunc = ObjTokeidai_TowerOpening_RaiseTower; } diff --git a/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c b/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c index 5b0a5d4335..324e53fee5 100644 --- a/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c +++ b/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c @@ -349,10 +349,10 @@ void func_808DCBF8(ObjectKankyo* this, GlobalContext* globalCtx) { if (temp_f0 > 0.01f) { D_801F4E30 = 155.0f * temp_f0; - globalCtx->envCtx.unk_EA = 10; + globalCtx->envCtx.sandstormState = 10; } else { D_801F4E30 = 0; - globalCtx->envCtx.unk_EA = 10; + globalCtx->envCtx.sandstormState = 10; } func_808DC454(this, globalCtx); } diff --git a/src/overlays/gamestates/ovl_daytelop/z_daytelop.h b/src/overlays/gamestates/ovl_daytelop/z_daytelop.h index eca743850b..d77a5f334f 100644 --- a/src/overlays/gamestates/ovl_daytelop/z_daytelop.h +++ b/src/overlays/gamestates/ovl_daytelop/z_daytelop.h @@ -1,5 +1,5 @@ -#ifndef _Z64_DAYTELOP_H_ -#define _Z64_DAYTELOP_H_ +#ifndef Z64_DAYTELOP_H +#define Z64_DAYTELOP_H #include "global.h" diff --git a/tools/actorfixer.py b/tools/actorfixer.py index 5eae310c4b..2c18ac2d04 100755 --- a/tools/actorfixer.py +++ b/tools/actorfixer.py @@ -381,7 +381,6 @@ animdict = { "func_8017F9C0": "Math3D_XZInSphere", "func_8017FA34": "Math3D_XYInSphere", "func_8017FAA8": "Math3D_YZInSphere", - "func_800DFB14": "Camera_ChangeDataIdx", "func_800DFC68": "Camera_GetInputDirYaw", "func_800DFCB4": "Camera_GetCamDirPitch", @@ -389,7 +388,6 @@ animdict = { "func_800E0308": "Camera_SetTargetActor", "func_800E031C": "Camera_GetWaterYPos", "func_800E02AC": "Camera_SetToTrackActor", - "func_801694DC": "Play_CreateSubCamera", "Play_GetActiveCameraIndex": "Play_GetActiveCamId", "func_80169590": "Play_CameraChangeStatus", @@ -403,9 +401,7 @@ animdict = { "func_80169BC4": "Play_CameraGetUID", "func_80169C64": "Play_GetCsCamDataSetting", "func_80169C84": "Play_GetCsCamDataVec3s", - "func_8017D2FC": "Math3D_LineSegVsPlane", - "func_8013A7C0": "SubS_FindDoor", "func_8013E640": "SubS_FindActorCustom", "func_ActorCategoryIterateById": "SubS_FindActor", @@ -413,7 +409,19 @@ animdict = { "func_800A81F0": "EffectBlure_AddVertex", "func_800A8514": "EffectBlure_AddSpace", "Effect_GetParams": "Effect_GetByIndex", - + "func_800F5A8C": "Environment_LerpWeight", + "func_801A3F54": "Audio_SetCutsceneFlag", + "func_801518B0": "Message_StartTextbox", + "func_800EA0D4": "Cutscene_Start", + "func_800EA0EC": "Cutscene_End", + "func_800EDE34": "Cutscene_ActorTranslate", + "func_800EDF24": "Cutscene_ActorTranslateAndYaw", + "func_800EDF78": "Cutscene_ActorTranslateAndYawSmooth", + "func_800EE0CC": "Cutscene_ActorTranslateXZAndYawSmooth", + "func_800EE1D8": "Cutscene_GetSceneSetupIndex", + "func_800EE200": "Cutscene_GetActorActionIndex", + "func_800EE29C": "Cutscene_CheckActorAction", + "func_800EE2F4": "Cutscene_IsPlaying", "func_801343C0": "SkelAnime_DrawTransformFlexOpa", "func_80134148": "SkelAnime_DrawTransformFlexLimbOpa", "func_8013AB00": "SubS_DrawTransformFlex", @@ -455,6 +463,14 @@ animdict = { "actor.yDistToPlayer": "actor.playerHeightRel", "globalCtx->mf_187FC": "globalCtx->billboardMtxF", "globalCtx->projectionMatrix": "globalCtx->viewProjectionMtxF", + "csCtx.npcActions": "csCtx.actorActions", + "csCtx->npcActions": "csCtx->actorActions", + "csCtx.unk_12": "csCtx.currentCsIndex", + "globalCtx->envCtx.unk_8C": "globalCtx->envCtx.lightSettings", + "globalCtx->envCtx.unk_E5": "globalCtx->envCtx.fillScreen", + "globalCtx->envCtx.unk_E6": "globalCtx->envCtx.screenFillColor", + "globalCtx->envCtx.unk_C3": "globalCtx->envCtx.lightSettingOverride", + "globalCtx->envCtx.unk_DC": "globalCtx->envCtx.lightBlend", "player->unk_A87": "player->exchangeItemId", "player->leftHandActor": "player->heldActor", "player->unk_384": "player->getItemId", @@ -462,8 +478,8 @@ animdict = { "player->unk_388": "player->interactRangeActor", "player->unk_38C": "player->mountSide", "player->unk_394": "player->csMode", - "player->unk_A87": "player->exchangeItemId", "globalCtx->actorCtx.actorList[": "globalCtx->actorCtx.actorLists[", + "gSaveContext.unk_3F58": "gSaveContext.sunsSongState", "globalCtx->msgCtx.unk1202A": "globalCtx->msgCtx.ocarinaMode", "globalCtx->msgCtx.unk1202C": "globalCtx->msgCtx.ocarinaAction", "globalCtx->msgCtx.unk11F22": "globalCtx->msgCtx.msgMode", diff --git a/tools/disasm/files.txt b/tools/disasm/files.txt index 66e4e88f38..fc9f9fc534 100644 --- a/tools/disasm/files.txt +++ b/tools/disasm/files.txt @@ -524,6 +524,7 @@ 0x801BA200 : "z_collision_check", 0x801BA550 : "z_debug_display", 0x801BB090 : "z_debug_mode", + 0x801BB120 : "z_demo", 0x801BB170 : "z_draw", 0x801BC240 : "z_eff_footmark", 0x801BC2A0 : "", diff --git a/tools/disasm/functions.txt b/tools/disasm/functions.txt index e378be1145..b0efebcdf8 100644 --- a/tools/disasm/functions.txt +++ b/tools/disasm/functions.txt @@ -1534,36 +1534,36 @@ 0x800E9E94:("func_800E9E94",), 0x800E9F78:("func_800E9F78",), 0x800EA060:("Cutscene_Init",), - 0x800EA0D4:("func_800EA0D4",), - 0x800EA0EC:("func_800EA0EC",), - 0x800EA110:("Cutscene_StepCutscene1",), - 0x800EA15C:("Cutscene_StepCutscene2",), - 0x800EA210:("Cutscene_Nop800EA210",), + 0x800EA0D4:("Cutscene_Start",), + 0x800EA0EC:("Cutscene_End",), + 0x800EA110:("Cutscene_Update1",), + 0x800EA15C:("Cutscene_Update2",), + 0x800EA210:("Cutscene_DoNothing",), 0x800EA220:("func_800EA220",), 0x800EA258:("func_800EA258",), 0x800EA2B8:("func_800EA2B8",), - 0x800EA324:("func_800EA324",), - 0x800EABAC:("func_800EABAC",), - 0x800EAC08:("func_800EAC08",), - 0x800EAC44:("func_800EAC44",), - 0x800EAC94:("func_800EAC94",), - 0x800EAD14:("func_800EAD14",), + 0x800EA324:("Cutscene_Command_Misc",), + 0x800EABAC:("Cutscene_Command_SetLighting",), + 0x800EAC08:("Cutscene_Command_PlaySequence",), + 0x800EAC44:("Cutscene_Command_StopSequence",), + 0x800EAC94:("Cutscene_Command_FadeSequence",), + 0x800EAD14:("Cutscene_Command_PlayAmbienceSequence",), 0x800EAD48:("func_800EAD48",), 0x800EAD7C:("func_800EAD7C",), 0x800EADB0:("func_800EADB0",), - 0x800EAECC:("func_800EAECC",), - 0x800EAF20:("func_800EAF20",), - 0x800EAFE0:("func_800EAFE0",), - 0x800EB1DC:("func_800EB1DC",), - 0x800EB364:("func_800EB364",), - 0x800EB4B4:("func_800EB4B4",), - 0x800EB6F8:("func_800EB6F8",), - 0x800EBB68:("func_800EBB68",), - 0x800EBCD0:("func_800EBCD0",), - 0x800EBD60:("func_800EBD60",), - 0x800EC678:("func_800EC678",), - 0x800EC6D4:("func_800EC6D4",), - 0x800EC924:("func_800EC924",), + 0x800EAECC:("Cutscene_Command_FadeAmbienceSequence",), + 0x800EAF20:("Cutscene_Command_Rumble",), + 0x800EAFE0:("Cutscene_Command_FadeColorScreen",), + 0x800EB1DC:("Cutscene_Command_SetTime",), + 0x800EB364:("Cutscene_TerminatorImpl",), + 0x800EB4B4:("Cutscene_Command_Terminator",), + 0x800EB6F8:("Cutscene_Command_ChooseCreditsScenes",), + 0x800EBB68:("Cutscene_Command_MotionBlur",), + 0x800EBCD0:("Cutscene_Command_GiveTatlToPlayer",), + 0x800EBD60:("Cutscene_Command_TransitionFX",), + 0x800EC678:("Cutscene_Command_Camera",), + 0x800EC6D4:("Cutscene_CountNormalMasks",), + 0x800EC924:("Cutscene_Command_Textbox",), 0x800ECD7C:("func_800ECD7C",), 0x800ECE40:("Cutscene_ProcessCommands",), 0x800ED980:("func_800ED980",), @@ -1571,17 +1571,17 @@ 0x800EDA04:("func_800EDA04",), 0x800EDA84:("func_800EDA84",), 0x800EDBE0:("func_800EDBE0",), - 0x800EDDB0:("nop_800EDDB0",), + 0x800EDDB0:("func_800EDDB0",), 0x800EDDBC:("func_800EDDBC",), - 0x800EDDCC:("func_800EDDCC",), - 0x800EDE34:("func_800EDE34",), - 0x800EDF24:("func_800EDF24",), - 0x800EDF78:("func_800EDF78",), - 0x800EE0CC:("func_800EE0CC",), - 0x800EE1D8:("func_800EE1D8",), - 0x800EE200:("func_800EE200",), - 0x800EE29C:("func_800EE29C",), - 0x800EE2F4:("func_800EE2F4",), + 0x800EDDCC:("Cutscene_LoadCutsceneData",), + 0x800EDE34:("Cutscene_ActorTranslate",), + 0x800EDF24:("Cutscene_ActorTranslateAndYaw",), + 0x800EDF78:("Cutscene_ActorTranslateAndYawSmooth",), + 0x800EE0CC:("Cutscene_ActorTranslateXZAndYawSmooth",), + 0x800EE1D8:("Cutscene_GetSceneSetupIndex",), + 0x800EE200:("Cutscene_GetActorActionIndex",), + 0x800EE29C:("Cutscene_CheckActorAction",), + 0x800EE2F4:("Cutscene_IsPlaying",), 0x800EE320:("GetItem_Draw",), 0x800EE364:("func_800EE364",), 0x800EE400:("func_800EE400",), @@ -1710,7 +1710,7 @@ 0x800F50D4:("func_800F50D4",), 0x800F510C:("Kankyo_Init",), 0x800F5954:("func_800F5954",), - 0x800F5A8C:("func_800F5A8C",), + 0x800F5A8C:("Environment_LerpWeight",), 0x800F5B10:("func_800F5B10",), 0x800F5CD0:("func_800F5CD0",), 0x800F6834:("func_800F6834",), @@ -1738,7 +1738,7 @@ 0x800FAC20:("func_800FAC20",), 0x800FAF74:("func_800FAF74",), 0x800FB010:("func_800FB010",), - 0x800FB320:("func_800FB320",), + 0x800FB320:("Environment_AddLightningBolts",), 0x800FB388:("func_800FB388",), 0x800FB758:("func_800FB758",), 0x800FB9B4:("func_800FB9B4",), @@ -2852,7 +2852,7 @@ 0x80150A84:("func_80150A84",), 0x80150D08:("func_80150D08",), 0x801514B0:("func_801514B0",), - 0x801518B0:("func_801518B0",), + 0x801518B0:("Message_StartTextbox",), 0x80151938:("func_80151938",), 0x80151A68:("func_80151A68",), 0x80151BB4:("func_80151BB4",), @@ -3978,7 +3978,7 @@ 0x801A3D98:("func_801A3D98",), 0x801A3E38:("func_801A3E38",), 0x801A3EC0:("func_801A3EC0",), - 0x801A3F54:("func_801A3F54",), + 0x801A3F54:("Audio_SetCutsceneFlag",), 0x801A3F6C:("func_801A3F6C",), 0x801A3FB4:("func_801A3FB4",), 0x801A3FFC:("func_801A3FFC",), diff --git a/tools/disasm/variables.txt b/tools/disasm/variables.txt index 3af06baa57..de2b2a42b8 100644 --- a/tools/disasm/variables.txt +++ b/tools/disasm/variables.txt @@ -907,7 +907,7 @@ 0x801BB124:("D_801BB124","UNK_TYPE2","",0x2), 0x801BB128:("D_801BB128","UNK_TYPE2","",0x2), 0x801BB12C:("D_801BB12C","UNK_TYPE1","",0x1), - 0x801BB130:("D_801BB130","UNK_TYPE1","",0x1), + 0x801BB130:("sCutsceneStoredPlayerForm","UNK_TYPE1","",0x1), 0x801BB134:("sCsStateHandlers1","cutscene_update_func","[5]",0x14), 0x801BB148:("sCsStateHandlers2","cutscene_update_func","[5]",0x14), 0x801BB15C:("D_801BB15C","UNK_TYPE2","",0x2), @@ -3978,12 +3978,10 @@ 0x801F3F80:("D_801F3F80","UNK_TYPE1","",0x1), 0x801F3F83:("D_801F3F83","UNK_TYPE1","",0x1), 0x801F48C8:("D_801F48C8","UNK_TYPE1","",0x1), - 0x801F4D40:("D_801F4D40","UNK_TYPE1","",0x1), - 0x801F4D42:("D_801F4D42","UNK_TYPE2","",0x2), - 0x801F4D48:("D_801F4D48","UNK_TYPE1","",0x1), - 0x801F4DC8:("D_801F4DC8","UNK_TYPE1","",0x1), - 0x801F4DCA:("D_801F4DCA","UNK_TYPE1","",0x1), - 0x801F4DCC:("D_801F4DCC","UNK_TYPE2","[8]",0x10), + 0x801F4D40:("seqId","u16","",0x2), + 0x801F4D42:("sCutsceneQuakeIndex","UNK_TYPE2","",0x2), + 0x801F4D48:("sCutsceneCameraInfo","UNK_TYPE","",0x80), + 0x801F4DC8:("D_801F4DC8","u16","[10]",0x14), 0x801F4DDC:("D_801F4DDC","UNK_TYPE1","",0x1), 0x801F4DE0:("D_801F4DE0","UNK_TYPE1","",0x1), 0x801F4DE2:("D_801F4DE2","UNK_TYPE2","",0x2), diff --git a/tools/sizes/code_functions.csv b/tools/sizes/code_functions.csv index f14ca73074..8ec9f8ca33 100644 --- a/tools/sizes/code_functions.csv +++ b/tools/sizes/code_functions.csv @@ -1048,36 +1048,36 @@ asm/non_matchings/code/z_debug_mode/func_800E9DBC.s,func_800E9DBC,0x800E9DBC,0x3 asm/non_matchings/code/z_debug_mode/func_800E9E94.s,func_800E9E94,0x800E9E94,0x39 asm/non_matchings/code/z_debug_mode/func_800E9F78.s,func_800E9F78,0x800E9F78,0x3A asm/non_matchings/code/z_demo/Cutscene_Init.s,Cutscene_Init,0x800EA060,0x1D -asm/non_matchings/code/z_demo/func_800EA0D4.s,func_800EA0D4,0x800EA0D4,0x6 -asm/non_matchings/code/z_demo/func_800EA0EC.s,func_800EA0EC,0x800EA0EC,0x9 -asm/non_matchings/code/z_demo/Cutscene_StepCutscene1.s,Cutscene_StepCutscene1,0x800EA110,0x13 -asm/non_matchings/code/z_demo/Cutscene_StepCutscene2.s,Cutscene_StepCutscene2,0x800EA15C,0x2D -asm/non_matchings/code/z_demo/Cutscene_Nop800EA210.s,Cutscene_Nop800EA210,0x800EA210,0x4 +asm/non_matchings/code/z_demo/Cutscene_Start.s,Cutscene_Start,0x800EA0D4,0x6 +asm/non_matchings/code/z_demo/Cutscene_End.s,Cutscene_End,0x800EA0EC,0x9 +asm/non_matchings/code/z_demo/Cutscene_Update1.s,Cutscene_Update1,0x800EA110,0x13 +asm/non_matchings/code/z_demo/Cutscene_Update2.s,Cutscene_Update2,0x800EA15C,0x2D +asm/non_matchings/code/z_demo/Cutscene_DoNothing.s,Cutscene_DoNothing,0x800EA210,0x4 asm/non_matchings/code/z_demo/func_800EA220.s,func_800EA220,0x800EA220,0xE asm/non_matchings/code/z_demo/func_800EA258.s,func_800EA258,0x800EA258,0x18 asm/non_matchings/code/z_demo/func_800EA2B8.s,func_800EA2B8,0x800EA2B8,0x1B -asm/non_matchings/code/z_demo/func_800EA324.s,func_800EA324,0x800EA324,0x222 -asm/non_matchings/code/z_demo/func_800EABAC.s,func_800EABAC,0x800EABAC,0x17 -asm/non_matchings/code/z_demo/func_800EAC08.s,func_800EAC08,0x800EAC08,0xF -asm/non_matchings/code/z_demo/func_800EAC44.s,func_800EAC44,0x800EAC44,0x14 -asm/non_matchings/code/z_demo/func_800EAC94.s,func_800EAC94,0x800EAC94,0x20 -asm/non_matchings/code/z_demo/func_800EAD14.s,func_800EAD14,0x800EAD14,0xD +asm/non_matchings/code/z_demo/Cutscene_Command_Misc.s,Cutscene_Command_Misc,0x800EA324,0x222 +asm/non_matchings/code/z_demo/Cutscene_Command_SetLighting.s,Cutscene_Command_SetLighting,0x800EABAC,0x17 +asm/non_matchings/code/z_demo/Cutscene_Command_PlaySequence.s,Cutscene_Command_PlaySequence,0x800EAC08,0xF +asm/non_matchings/code/z_demo/Cutscene_Command_StopSequence.s,Cutscene_Command_StopSequence,0x800EAC44,0x14 +asm/non_matchings/code/z_demo/Cutscene_Command_FadeSequence.s,Cutscene_Command_FadeSequence,0x800EAC94,0x20 +asm/non_matchings/code/z_demo/Cutscene_Command_PlayAmbienceSequence.s,Cutscene_Command_PlayAmbienceSequence,0x800EAD14,0xD asm/non_matchings/code/z_demo/func_800EAD48.s,func_800EAD48,0x800EAD48,0xD asm/non_matchings/code/z_demo/func_800EAD7C.s,func_800EAD7C,0x800EAD7C,0xD asm/non_matchings/code/z_demo/func_800EADB0.s,func_800EADB0,0x800EADB0,0x47 -asm/non_matchings/code/z_demo/func_800EAECC.s,func_800EAECC,0x800EAECC,0x15 -asm/non_matchings/code/z_demo/func_800EAF20.s,func_800EAF20,0x800EAF20,0x30 -asm/non_matchings/code/z_demo/func_800EAFE0.s,func_800EAFE0,0x800EAFE0,0x7F -asm/non_matchings/code/z_demo/func_800EB1DC.s,func_800EB1DC,0x800EB1DC,0x62 -asm/non_matchings/code/z_demo/func_800EB364.s,func_800EB364,0x800EB364,0x54 -asm/non_matchings/code/z_demo/func_800EB4B4.s,func_800EB4B4,0x800EB4B4,0x91 -asm/non_matchings/code/z_demo/func_800EB6F8.s,func_800EB6F8,0x800EB6F8,0x11C -asm/non_matchings/code/z_demo/func_800EBB68.s,func_800EBB68,0x800EBB68,0x5A -asm/non_matchings/code/z_demo/func_800EBCD0.s,func_800EBCD0,0x800EBCD0,0x24 -asm/non_matchings/code/z_demo/func_800EBD60.s,func_800EBD60,0x800EBD60,0x246 -asm/non_matchings/code/z_demo/func_800EC678.s,func_800EC678,0x800EC678,0x17 -asm/non_matchings/code/z_demo/func_800EC6D4.s,func_800EC6D4,0x800EC6D4,0x94 -asm/non_matchings/code/z_demo/func_800EC924.s,func_800EC924,0x800EC924,0x116 +asm/non_matchings/code/z_demo/Cutscene_Command_FadeAmbienceSequence.s,Cutscene_Command_FadeAmbienceSequence,0x800EAECC,0x15 +asm/non_matchings/code/z_demo/Cutscene_Command_Rumble.s,Cutscene_Command_Rumble,0x800EAF20,0x30 +asm/non_matchings/code/z_demo/Cutscene_Command_FadeColorScreen.s,Cutscene_Command_FadeColorScreen,0x800EAFE0,0x7F +asm/non_matchings/code/z_demo/Cutscene_Command_SetTime.s,Cutscene_Command_SetTime,0x800EB1DC,0x62 +asm/non_matchings/code/z_demo/Cutscene_TerminatorImpl.s,Cutscene_TerminatorImpl,0x800EB364,0x54 +asm/non_matchings/code/z_demo/Cutscene_Command_Terminator.s,Cutscene_Command_Terminator,0x800EB4B4,0x91 +asm/non_matchings/code/z_demo/Cutscene_Command_ChooseCreditsScenes.s,Cutscene_Command_ChooseCreditsScenes,0x800EB6F8,0x11C +asm/non_matchings/code/z_demo/Cutscene_Command_MotionBlur.s,Cutscene_Command_MotionBlur,0x800EBB68,0x5A +asm/non_matchings/code/z_demo/Cutscene_Command_GiveTatlToPlayer.s,Cutscene_Command_GiveTatlToPlayer,0x800EBCD0,0x24 +asm/non_matchings/code/z_demo/Cutscene_Command_TransitionFX.s,Cutscene_Command_TransitionFX,0x800EBD60,0x246 +asm/non_matchings/code/z_demo/Cutscene_Command_Camera.s,Cutscene_Command_Camera,0x800EC678,0x17 +asm/non_matchings/code/z_demo/Cutscene_CountNormalMasks.s,Cutscene_CountNormalMasks,0x800EC6D4,0x94 +asm/non_matchings/code/z_demo/Cutscene_Command_Textbox.s,Cutscene_Command_Textbox,0x800EC924,0x116 asm/non_matchings/code/z_demo/func_800ECD7C.s,func_800ECD7C,0x800ECD7C,0x31 asm/non_matchings/code/z_demo/Cutscene_ProcessCommands.s,Cutscene_ProcessCommands,0x800ECE40,0x2D0 asm/non_matchings/code/z_demo/func_800ED980.s,func_800ED980,0x800ED980,0x11 @@ -1085,17 +1085,17 @@ asm/non_matchings/code/z_demo/func_800ED9C4.s,func_800ED9C4,0x800ED9C4,0x10 asm/non_matchings/code/z_demo/func_800EDA04.s,func_800EDA04,0x800EDA04,0x20 asm/non_matchings/code/z_demo/func_800EDA84.s,func_800EDA84,0x800EDA84,0x57 asm/non_matchings/code/z_demo/func_800EDBE0.s,func_800EDBE0,0x800EDBE0,0x74 -asm/non_matchings/code/z_demo/nop_800EDDB0.s,nop_800EDDB0,0x800EDDB0,0x3 +asm/non_matchings/code/z_demo/func_800EDDB0.s,func_800EDDB0,0x800EDDB0,0x3 asm/non_matchings/code/z_demo/func_800EDDBC.s,func_800EDDBC,0x800EDDBC,0x4 -asm/non_matchings/code/z_demo/func_800EDDCC.s,func_800EDDCC,0x800EDDCC,0x1A -asm/non_matchings/code/z_demo/func_800EDE34.s,func_800EDE34,0x800EDE34,0x3C -asm/non_matchings/code/z_demo/func_800EDF24.s,func_800EDF24,0x800EDF24,0x15 -asm/non_matchings/code/z_demo/func_800EDF78.s,func_800EDF78,0x800EDF78,0x55 -asm/non_matchings/code/z_demo/func_800EE0CC.s,func_800EE0CC,0x800EE0CC,0x43 -asm/non_matchings/code/z_demo/func_800EE1D8.s,func_800EE1D8,0x800EE1D8,0xA -asm/non_matchings/code/z_demo/func_800EE200.s,func_800EE200,0x800EE200,0x27 -asm/non_matchings/code/z_demo/func_800EE29C.s,func_800EE29C,0x800EE29C,0x16 -asm/non_matchings/code/z_demo/func_800EE2F4.s,func_800EE2F4,0x800EE2F4,0xB +asm/non_matchings/code/z_demo/Cutscene_LoadCutsceneData.s,Cutscene_LoadCutsceneData,0x800EDDCC,0x1A +asm/non_matchings/code/z_demo/Cutscene_ActorTranslate.s,Cutscene_ActorTranslate,0x800EDE34,0x3C +asm/non_matchings/code/z_demo/Cutscene_ActorTranslateAndYaw.s,Cutscene_ActorTranslateAndYaw,0x800EDF24,0x15 +asm/non_matchings/code/z_demo/Cutscene_ActorTranslateAndYawSmooth.s,Cutscene_ActorTranslateAndYawSmooth,0x800EDF78,0x55 +asm/non_matchings/code/z_demo/Cutscene_ActorTranslateXZAndYawSmooth.s,Cutscene_ActorTranslateXZAndYawSmooth,0x800EE0CC,0x43 +asm/non_matchings/code/z_demo/Cutscene_GetSceneSetupIndex.s,Cutscene_GetSceneSetupIndex,0x800EE1D8,0xA +asm/non_matchings/code/z_demo/Cutscene_GetActorActionIndex.s,Cutscene_GetActorActionIndex,0x800EE200,0x27 +asm/non_matchings/code/z_demo/Cutscene_CheckActorAction.s,Cutscene_CheckActorAction,0x800EE29C,0x16 +asm/non_matchings/code/z_demo/Cutscene_IsPlaying.s,Cutscene_IsPlaying,0x800EE2F4,0xB asm/non_matchings/code/z_draw/GetItem_Draw.s,GetItem_Draw,0x800EE320,0x11 asm/non_matchings/code/z_draw/func_800EE364.s,func_800EE364,0x800EE364,0x27 asm/non_matchings/code/z_draw/func_800EE400.s,func_800EE400,0x800EE400,0x7F @@ -1224,7 +1224,7 @@ asm/non_matchings/code/z_kankyo/func_800F5090.s,func_800F5090,0x800F5090,0x11 asm/non_matchings/code/z_kankyo/func_800F50D4.s,func_800F50D4,0x800F50D4,0xE asm/non_matchings/code/z_kankyo/Kankyo_Init.s,Kankyo_Init,0x800F510C,0x212 asm/non_matchings/code/z_kankyo/func_800F5954.s,func_800F5954,0x800F5954,0x4E -asm/non_matchings/code/z_kankyo/func_800F5A8C.s,func_800F5A8C,0x800F5A8C,0x21 +asm/non_matchings/code/z_kankyo/Environment_LerpWeight.s,Environment_LerpWeight,0x800F5A8C,0x21 asm/non_matchings/code/z_kankyo/func_800F5B10.s,func_800F5B10,0x800F5B10,0x70 asm/non_matchings/code/z_kankyo/func_800F5CD0.s,func_800F5CD0,0x800F5CD0,0x2D9 asm/non_matchings/code/z_kankyo/func_800F6834.s,func_800F6834,0x800F6834,0x46 @@ -1252,7 +1252,7 @@ asm/non_matchings/code/z_kankyo/func_800FAAB4.s,func_800FAAB4,0x800FAAB4,0x5B asm/non_matchings/code/z_kankyo/func_800FAC20.s,func_800FAC20,0x800FAC20,0xD5 asm/non_matchings/code/z_kankyo/func_800FAF74.s,func_800FAF74,0x800FAF74,0x27 asm/non_matchings/code/z_kankyo/func_800FB010.s,func_800FB010,0x800FB010,0xC4 -asm/non_matchings/code/z_kankyo/func_800FB320.s,func_800FB320,0x800FB320,0x1A +asm/non_matchings/code/z_kankyo/Environment_AddLightningBolts.s,Environment_AddLightningBolts,0x800FB320,0x1A asm/non_matchings/code/z_kankyo/func_800FB388.s,func_800FB388,0x800FB388,0xF4 asm/non_matchings/code/z_kankyo/func_800FB758.s,func_800FB758,0x800FB758,0x97 asm/non_matchings/code/z_kankyo/func_800FB9B4.s,func_800FB9B4,0x800FB9B4,0xC2 @@ -2366,7 +2366,7 @@ asm/non_matchings/code/z_message/func_8014D7B4.s,func_8014D7B4,0x8014D7B4,0xCB4 asm/non_matchings/code/z_message/func_80150A84.s,func_80150A84,0x80150A84,0xA1 asm/non_matchings/code/z_message/func_80150D08.s,func_80150D08,0x80150D08,0x1EA asm/non_matchings/code/z_message/func_801514B0.s,func_801514B0,0x801514B0,0x100 -asm/non_matchings/code/z_message/func_801518B0.s,func_801518B0,0x801518B0,0x22 +asm/non_matchings/code/z_message/Message_StartTextbox.s,Message_StartTextbox,0x801518B0,0x22 asm/non_matchings/code/z_message/func_80151938.s,func_80151938,0x80151938,0x4C asm/non_matchings/code/z_message/func_80151A68.s,func_80151A68,0x80151A68,0x53 asm/non_matchings/code/z_message/func_80151BB4.s,func_80151BB4,0x80151BB4,0x3A @@ -3496,7 +3496,7 @@ asm/non_matchings/code/code_8019AF00/func_801A3D54.s,func_801A3D54,0x801A3D54,0x asm/non_matchings/code/code_8019AF00/func_801A3D98.s,func_801A3D98,0x801A3D98,0x28 asm/non_matchings/code/code_8019AF00/func_801A3E38.s,func_801A3E38,0x801A3E38,0x22 asm/non_matchings/code/code_8019AF00/func_801A3EC0.s,func_801A3EC0,0x801A3EC0,0x25 -asm/non_matchings/code/code_8019AF00/func_801A3F54.s,func_801A3F54,0x801A3F54,0x6 +asm/non_matchings/code/code_8019AF00/Audio_SetCutsceneFlag.s,Audio_SetCutsceneFlag,0x801A3F54,0x6 asm/non_matchings/code/code_8019AF00/func_801A3F6C.s,func_801A3F6C,0x801A3F6C,0x12 asm/non_matchings/code/code_8019AF00/func_801A3FB4.s,func_801A3FB4,0x801A3FB4,0x12 asm/non_matchings/code/code_8019AF00/func_801A3FFC.s,func_801A3FFC,0x801A3FFC,0x4 diff --git a/tools/warnings_count/.gitignore b/tools/warnings_count/.gitignore index 5606ab0ef8..eaf2f58b5c 100644 --- a/tools/warnings_count/.gitignore +++ b/tools/warnings_count/.gitignore @@ -2,3 +2,4 @@ warnings_setup_new.txt warnings_disasm_new.txt warnings_build_new.txt +warnings_temp.txt