From a7fa8cc241d7f6e08d3744644cf8e93599f190a0 Mon Sep 17 00:00:00 2001 From: Derek Hensley Date: Mon, 19 Feb 2024 19:04:23 -0800 Subject: [PATCH] Clean2 (#1605) * AnimationContext_Update * TransitionTile_InitGraphics * disasm files * gPlayerFormItemRestrictions -> code_8012EC80 * fix * Extract gCircleTex * Const fixes * gPlayerFormItemRestrictions suggestions * Setup_InitRegs * z_inventory --- assets/xml/code/circle_tex.xml | 6 + include/variables.h | 2 - include/z64circle_tex.h | 8 + include/z64transition.h | 4 +- spec | 7 +- src/code/title_setup.c | 4 +- src/code/z_actor.c | 3 +- src/code/z_circle_tex.c | 5 + src/code/z_fbdemo.c | 40 +- src/code/z_fbdemo_circle.c | 5 +- src/code/{code_8012EC80.c => z_inventory.c} | 592 +++++++++++++++++++- src/code/z_skelanime.c | 3 +- tools/disasm/files.txt | 19 +- tools/disasm/functions.txt | 2 +- tools/sizes/code_functions.csv | 22 +- 15 files changed, 667 insertions(+), 55 deletions(-) create mode 100644 assets/xml/code/circle_tex.xml create mode 100644 include/z64circle_tex.h create mode 100644 src/code/z_circle_tex.c rename src/code/{code_8012EC80.c => z_inventory.c} (56%) diff --git a/assets/xml/code/circle_tex.xml b/assets/xml/code/circle_tex.xml new file mode 100644 index 0000000000..86e11af1a0 --- /dev/null +++ b/assets/xml/code/circle_tex.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/include/variables.h b/include/variables.h index 7692a1b6fe..deab22f859 100644 --- a/include/variables.h +++ b/include/variables.h @@ -73,8 +73,6 @@ extern u8 gAudioHeapResetState; extern AudioSpec gAudioSpecs[21]; // rodata -extern TexturePtr gCircleTex[]; - extern const u16 gAudioEnvironmentalSfx[]; extern const s16 gAudioTatumInit[]; extern const AudioHeapInitSizes gAudioHeapInitSizes; diff --git a/include/z64circle_tex.h b/include/z64circle_tex.h new file mode 100644 index 0000000000..9e24473e28 --- /dev/null +++ b/include/z64circle_tex.h @@ -0,0 +1,8 @@ +#ifndef Z64CIRCLE_TEX_H +#define Z64CIRCLE_TEX_H + +#include "ultra64.h" + +extern const u64 gCircleTex[]; + +#endif diff --git a/include/z64transition.h b/include/z64transition.h index fa46ac40cc..24b15555c1 100644 --- a/include/z64transition.h +++ b/include/z64transition.h @@ -103,7 +103,7 @@ typedef struct TransitionCircle { /* 0x14 */ u8 direction; // Direction the circle is transitioning ( In / Out ) /* 0x15 */ u8 maskType; // Positive / Negative mask type. Value of 0 will create a black circle /* 0x16 */ u8 isDone; // Signals when Transition is done updating - /* 0x18 */ TexturePtr texture; + /* 0x18 */ void const* texture; /* 0x1C */ u8 masks; /* 0x1D */ u8 maskt; /* 0x1E */ s8 unk_1E; // Set to 4 and never used @@ -243,7 +243,7 @@ void TransitionFade_SetType(void* thisx, s32 type); // z_fbdemo_circle.c -void TransitionCircle_LoadAndSetTexture(Gfx** gfxp, TexturePtr texture, s32 fmt, s32 arg3, s32 masks, s32 maskt, f32 arg6); +void TransitionCircle_LoadAndSetTexture(Gfx** gfxp, void const* texture, s32 fmt, s32 arg3, s32 masks, s32 maskt, f32 arg6); // z_overlay.c diff --git a/spec b/spec index ed0514bf5c..bca5a7c0bb 100644 --- a/spec +++ b/spec @@ -512,9 +512,8 @@ beginseg include "build/src/code/z_rcp.o" pad_text include "build/src/code/z_room.o" - include "build/src/code/code_8012EC80.o" + include "build/src/code/z_inventory.o" pad_text - include "build/data/code/code_801C2410.data.o" include "build/src/code/z_scene.o" include "build/src/code/object_table.o" include "build/src/code/z_scene_proc.o" @@ -526,7 +525,7 @@ beginseg include "build/src/code/z_skin_matrix.o" include "build/src/code/z_snap.o" include "build/src/code/z_sub_s.o" - include "build/data/code/code_801DE890.rodata.o" + include "build/src/code/z_circle_tex.o" include "build/src/code/z_rumble.o" include "build/src/code/z_view.o" include "build/src/code/z_vimode.o" @@ -573,8 +572,8 @@ beginseg include "build/src/code/sys_initial_check.o" include "build/src/code/sys_math.o" include "build/src/code/sys_math3d.o" + include "build/data/code/sys_math3d.data.o" include "build/data/code/sys_math3d.bss.o" - include "build/data/code/code_801D15B0.data.o" include "build/src/code/sys_math_atan.o" include "build/src/code/sys_matrix.o" include "build/src/code/sys_ucode.o" diff --git a/src/code/title_setup.c b/src/code/title_setup.c index 7ebac28ce6..83b16f87e7 100644 --- a/src/code/title_setup.c +++ b/src/code/title_setup.c @@ -1,7 +1,7 @@ #include "z_title_setup.h" #include "overlays/gamestates/ovl_title/z_title.h" -void Setup_SetRegs(void) { +void Setup_InitRegs(void) { XREG(2) = 0; XREG(10) = 26; XREG(11) = 20; @@ -50,7 +50,7 @@ void Setup_SetRegs(void) { void Setup_InitImpl(SetupState* this) { SysFlashrom_InitFlash(); SaveContext_Init(); - Setup_SetRegs(); + Setup_InitRegs(); STOP_GAMESTATE(&this->state); SET_NEXT_GAMESTATE(&this->state, ConsoleLogo_Init, sizeof(ConsoleLogoState)); diff --git a/src/code/z_actor.c b/src/code/z_actor.c index 5f3593f766..2cf96f760f 100644 --- a/src/code/z_actor.c +++ b/src/code/z_actor.c @@ -30,6 +30,7 @@ struct Actor* D_801ED920; // 2 funcs. 1 out of z_actor #include "z64actor.h" +#include "z64circle_tex.h" #include "z64horse.h" #include "z64malloc.h" #include "z64quake.h" @@ -2820,7 +2821,7 @@ s32 Actor_AddToLensActors(PlayState* play, Actor* actor) { } void Actor_DrawLensOverlay(Gfx** gfxP, s32 lensMaskSize) { - TransitionCircle_LoadAndSetTexture(gfxP, gCircleTex, 4, 0, 6, 6, + TransitionCircle_LoadAndSetTexture(gfxP, gCircleTex, G_IM_FMT_I, 0, 6, 6, ((LENS_MASK_ACTIVE_SIZE - lensMaskSize) * 0.003f) + 1.0f); } diff --git a/src/code/z_circle_tex.c b/src/code/z_circle_tex.c new file mode 100644 index 0000000000..2306f54772 --- /dev/null +++ b/src/code/z_circle_tex.c @@ -0,0 +1,5 @@ +#include "ultra64.h" + +const u64 gCircleTex[] = { +#include "assets/code/circle_tex/circle.i4.inc.c" +}; diff --git a/src/code/z_fbdemo.c b/src/code/z_fbdemo.c index bd7f5393aa..2f1ecdb547 100644 --- a/src/code/z_fbdemo.c +++ b/src/code/z_fbdemo.c @@ -27,6 +27,22 @@ Gfx sTransTileSetupDL[] = { gsSPEndDisplayList(), }; +#define SET_VERTEX(vtx, x, y, z, f, s, t, nx, ny, nz, alpha) \ + { \ + Vtx_tn* vtxn = &(vtx)->n; \ + vtxn->ob[0] = (x); \ + vtxn->ob[1] = (y); \ + vtxn->ob[2] = (z); \ + vtxn->flag = 0; \ + vtxn->tc[0] = (s); \ + vtxn->tc[1] = (t); \ + vtxn->n[0] = (nx); \ + vtxn->n[1] = (ny); \ + vtxn->n[2] = (nz); \ + vtxn->a = (alpha); \ + } \ + (void)0 + void TransitionTile_InitGraphics(TransitionTile* this) { s32 frame; s32 col; @@ -44,24 +60,14 @@ void TransitionTile_InitGraphics(TransitionTile* this) { for (frame = 0; frame < 2; frame++) { this->frame = frame; vtx = (this->frame == 0) ? this->vtxFrame1 : this->vtxFrame2; - for (rowTex = 0, row = 0; row < (this->rows + 1); row++, rowTex += 0x20) { - for (colTex = 0, col = 0; col < (this->cols + 1); col++, colTex += 0x20) { - Vtx_tn* vtxn = &vtx->n; - - // clang-format off - vtx++; \ - vtxn->tc[0] = colTex << 6; \ - vtxn->ob[0] = col * 0x20; \ - vtxn->ob[1] = row * 0x20; \ - vtxn->ob[2] = -5; \ - vtxn->flag = 0; \ - vtxn->tc[1] = rowTex << 6; \ - vtxn->n[0] = 0; \ - vtxn->n[1] = 0; \ - vtxn->n[2] = 120; \ - vtxn->a = 255; - // clang-format on + rowTex = 0; + for (row = 0; row < (this->rows + 1); row++) { + colTex = 0; + for (col = 0; col < (this->cols + 1); col++) { + SET_VERTEX(vtx++, col * 0x20, row * 0x20, -5, 0, colTex << 6, rowTex << 6, 0, 0, 120, 255); + colTex += 0x20; } + rowTex += 0x20; } } diff --git a/src/code/z_fbdemo_circle.c b/src/code/z_fbdemo_circle.c index 81322284fc..55c8c7fe8b 100644 --- a/src/code/z_fbdemo_circle.c +++ b/src/code/z_fbdemo_circle.c @@ -1,8 +1,9 @@ #include "z64transition.h" +#include "main.h" #include "sys_cfb.h" +#include "z64circle_tex.h" #include "z64math.h" -#include "variables.h" typedef enum TransitionCircleDirection { /* 0 */ TRANS_CIRCLE_DIR_IN, @@ -92,7 +93,7 @@ void TransitionCircle_SetType(void* thisx, s32 type) { } } -void TransitionCircle_LoadAndSetTexture(Gfx** gfxp, TexturePtr texture, s32 fmt, s32 arg3, s32 masks, s32 maskt, +void TransitionCircle_LoadAndSetTexture(Gfx** gfxp, void const* texture, s32 fmt, s32 arg3, s32 masks, s32 maskt, f32 arg6) { Gfx* gfx = *gfxp; s32 xh = gCfbWidth; diff --git a/src/code/code_8012EC80.c b/src/code/z_inventory.c similarity index 56% rename from src/code/code_8012EC80.c rename to src/code/z_inventory.c index 768c0b8dc3..cb73b9da1c 100644 --- a/src/code/code_8012EC80.c +++ b/src/code/z_inventory.c @@ -211,8 +211,8 @@ TexturePtr gItemIcons[] = { gQuestIconGoldSkulltulaTex, // ITEM_SKULL_TOKEN gQuestIconHeartContainerTex, // ITEM_HEART_CONTAINER gQuestIconPieceOfHeartTex, // ITEM_HEART_PIECE - gItemIconSongNoteTex, // - gItemIconSongNoteTex, // + gItemIconSongNoteTex, // ITEM_71 + gItemIconSongNoteTex, // ITEM_72 gItemIconSongNoteTex, // ITEM_SONG_LULLABY_INTRO gQuestIconBossKeyTex, // ITEM_KEY_BOSS gQuestIconDungeonMapTex, // ITEM_COMPASS @@ -725,3 +725,591 @@ void Inventory_SaveLotteryCodeGuess(PlayState* play) { lotteryCodeGuess |= (play->msgCtx.unk12054[2] & 0xF); // Third Digit HS_SET_LOTTERY_CODE_GUESS(lotteryCodeGuess); } + +u8 gPlayerFormItemRestrictions[PLAYER_FORM_MAX][114] = { + // PLAYER_FORM_FIERCE_DEITY + { + false, // ITEM_OCARINA_OF_TIME + false, // ITEM_BOW + false, // ITEM_ARROW_FIRE + false, // ITEM_ARROW_ICE + false, // ITEM_ARROW_LIGHT + false, // ITEM_OCARINA_FAIRY + false, // ITEM_BOMB + false, // ITEM_BOMBCHU + false, // ITEM_DEKU_STICK + false, // ITEM_DEKU_NUT + false, // ITEM_MAGIC_BEANS + false, // ITEM_SLINGSHOT + false, // ITEM_POWDER_KEG + false, // ITEM_PICTOGRAPH_BOX + false, // ITEM_LENS_OF_TRUTH + false, // ITEM_HOOKSHOT + false, // ITEM_SWORD_GREAT_FAIRY + false, // ITEM_LONGSHOT + true, // ITEM_BOTTLE + true, // ITEM_POTION_RED + true, // ITEM_POTION_GREEN + true, // ITEM_POTION_BLUE + true, // ITEM_FAIRY + true, // ITEM_DEKU_PRINCESS + true, // ITEM_MILK_BOTTLE + true, // ITEM_MILK_HALF + true, // ITEM_FISH + true, // ITEM_BUG + true, // ITEM_BLUE_FIRE + true, // ITEM_POE + true, // ITEM_BIG_POE + true, // ITEM_SPRING_WATER + true, // ITEM_HOT_SPRING_WATER + true, // ITEM_ZORA_EGG + true, // ITEM_GOLD_DUST + true, // ITEM_MUSHROOM + true, // ITEM_SEAHORSE + true, // ITEM_CHATEAU + true, // ITEM_HYLIAN_LOACH + true, // ITEM_OBABA_DRINK + false, // ITEM_MOONS_TEAR + false, // ITEM_DEED_LAND + false, // ITEM_DEED_SWAMP + false, // ITEM_DEED_MOUNTAIN + false, // ITEM_DEED_OCEAN + false, // ITEM_ROOM_KEY + false, // ITEM_LETTER_MAMA + false, // ITEM_LETTER_TO_KAFEI + false, // ITEM_PENDANT_OF_MEMORIES + false, // ITEM_TINGLE_MAP + false, // ITEM_MASK_DEKU + false, // ITEM_MASK_GORON + false, // ITEM_MASK_ZORA + true, // ITEM_MASK_FIERCE_DEITY + false, // ITEM_MASK_TRUTH + false, // ITEM_MASK_KAFEIS_MASK + false, // ITEM_MASK_ALL_NIGHT + false, // ITEM_MASK_BUNNY + false, // ITEM_MASK_KEATON + false, // ITEM_MASK_GARO + false, // ITEM_MASK_ROMANI + false, // ITEM_MASK_CIRCUS_LEADER + false, // ITEM_MASK_POSTMAN + false, // ITEM_MASK_COUPLE + false, // ITEM_MASK_GREAT_FAIRY + false, // ITEM_MASK_GIBDO + false, // ITEM_MASK_DON_GERO + false, // ITEM_MASK_KAMARO + false, // ITEM_MASK_CAPTAIN + false, // ITEM_MASK_STONE + false, // ITEM_MASK_BREMEN + false, // ITEM_MASK_BLAST + false, // ITEM_MASK_SCENTS + false, // ITEM_MASK_GIANT + false, // ITEM_BOW_FIRE + false, // ITEM_BOW_ICE + false, // ITEM_BOW_LIGHT + false, // ITEM_SWORD_KOKIRI + false, // ITEM_SWORD_RAZOR + false, // ITEM_SWORD_GILDED + false, // ITEM_SWORD_DEITY + false, // ITEM_SHIELD_HERO + false, // ITEM_SHIELD_MIRROR + false, // ITEM_QUIVER_30 + false, // ITEM_QUIVER_40 + false, // ITEM_QUIVER_50 + false, // ITEM_BOMB_BAG_20 + false, // ITEM_BOMB_BAG_30 + false, // ITEM_BOMB_BAG_40 + false, // ITEM_WALLET_DEFAULT + false, // ITEM_WALLET_ADULT + false, // ITEM_WALLET_GIANT + false, // ITEM_FISHING_ROD + false, // ITEM_REMAINS_ODOLWA + false, // ITEM_REMAINS_GOHT + false, // ITEM_REMAINS_GYORG + false, // ITEM_REMAINS_TWINMOLD + false, // ITEM_SONG_SONATA + false, // ITEM_SONG_LULLABY + false, // ITEM_SONG_NOVA + false, // ITEM_SONG_ELEGY + false, // ITEM_SONG_OATH + false, // ITEM_SONG_SARIA + false, // ITEM_SONG_TIME + false, // ITEM_SONG_HEALING + false, // ITEM_SONG_EPONA + false, // ITEM_SONG_SOARING + false, // ITEM_SONG_STORMS + false, // ITEM_SONG_SUN + false, // ITEM_BOMBERS_NOTEBOOK + false, // ITEM_SKULL_TOKEN + false, // ITEM_HEART_CONTAINER + false, // ITEM_HEART_PIECE + false, // ITEM_71 + }, + // PLAYER_FORM_GORON + { + true, // ITEM_OCARINA_OF_TIME + false, // ITEM_BOW + false, // ITEM_ARROW_FIRE + false, // ITEM_ARROW_ICE + false, // ITEM_ARROW_LIGHT + false, // ITEM_OCARINA_FAIRY + false, // ITEM_BOMB + false, // ITEM_BOMBCHU + false, // ITEM_DEKU_STICK + false, // ITEM_DEKU_NUT + false, // ITEM_MAGIC_BEANS + false, // ITEM_SLINGSHOT + true, // ITEM_POWDER_KEG + true, // ITEM_PICTOGRAPH_BOX + true, // ITEM_LENS_OF_TRUTH + false, // ITEM_HOOKSHOT + false, // ITEM_SWORD_GREAT_FAIRY + false, // ITEM_LONGSHOT + true, // ITEM_BOTTLE + true, // ITEM_POTION_RED + true, // ITEM_POTION_GREEN + true, // ITEM_POTION_BLUE + true, // ITEM_FAIRY + true, // ITEM_DEKU_PRINCESS + true, // ITEM_MILK_BOTTLE + true, // ITEM_MILK_HALF + true, // ITEM_FISH + true, // ITEM_BUG + true, // ITEM_BLUE_FIRE + true, // ITEM_POE + true, // ITEM_BIG_POE + true, // ITEM_SPRING_WATER + true, // ITEM_HOT_SPRING_WATER + true, // ITEM_ZORA_EGG + true, // ITEM_GOLD_DUST + true, // ITEM_MUSHROOM + true, // ITEM_SEAHORSE + true, // ITEM_CHATEAU + true, // ITEM_HYLIAN_LOACH + true, // ITEM_OBABA_DRINK + true, // ITEM_MOONS_TEAR + true, // ITEM_DEED_LAND + true, // ITEM_DEED_SWAMP + true, // ITEM_DEED_MOUNTAIN + true, // ITEM_DEED_OCEAN + true, // ITEM_ROOM_KEY + true, // ITEM_LETTER_MAMA + true, // ITEM_LETTER_TO_KAFEI + true, // ITEM_PENDANT_OF_MEMORIES + true, // ITEM_TINGLE_MAP + true, // ITEM_MASK_DEKU + true, // ITEM_MASK_GORON + true, // ITEM_MASK_ZORA + true, // ITEM_MASK_FIERCE_DEITY + false, // ITEM_MASK_TRUTH + false, // ITEM_MASK_KAFEIS_MASK + false, // ITEM_MASK_ALL_NIGHT + false, // ITEM_MASK_BUNNY + false, // ITEM_MASK_KEATON + false, // ITEM_MASK_GARO + false, // ITEM_MASK_ROMANI + false, // ITEM_MASK_CIRCUS_LEADER + false, // ITEM_MASK_POSTMAN + false, // ITEM_MASK_COUPLE + false, // ITEM_MASK_GREAT_FAIRY + false, // ITEM_MASK_GIBDO + false, // ITEM_MASK_DON_GERO + false, // ITEM_MASK_KAMARO + false, // ITEM_MASK_CAPTAIN + false, // ITEM_MASK_STONE + false, // ITEM_MASK_BREMEN + false, // ITEM_MASK_BLAST + false, // ITEM_MASK_SCENTS + false, // ITEM_MASK_GIANT + false, // ITEM_BOW_FIRE + false, // ITEM_BOW_ICE + false, // ITEM_BOW_LIGHT + false, // ITEM_SWORD_KOKIRI + false, // ITEM_SWORD_RAZOR + false, // ITEM_SWORD_GILDED + false, // ITEM_SWORD_DEITY + false, // ITEM_SHIELD_HERO + false, // ITEM_SHIELD_MIRROR + false, // ITEM_QUIVER_30 + false, // ITEM_QUIVER_40 + false, // ITEM_QUIVER_50 + false, // ITEM_BOMB_BAG_20 + false, // ITEM_BOMB_BAG_30 + false, // ITEM_BOMB_BAG_40 + false, // ITEM_WALLET_DEFAULT + false, // ITEM_WALLET_ADULT + false, // ITEM_WALLET_GIANT + false, // ITEM_FISHING_ROD + false, // ITEM_REMAINS_ODOLWA + false, // ITEM_REMAINS_GOHT + false, // ITEM_REMAINS_GYORG + false, // ITEM_REMAINS_TWINMOLD + false, // ITEM_SONG_SONATA + false, // ITEM_SONG_LULLABY + false, // ITEM_SONG_NOVA + false, // ITEM_SONG_ELEGY + false, // ITEM_SONG_OATH + false, // ITEM_SONG_SARIA + false, // ITEM_SONG_TIME + false, // ITEM_SONG_HEALING + false, // ITEM_SONG_EPONA + false, // ITEM_SONG_SOARING + false, // ITEM_SONG_STORMS + false, // ITEM_SONG_SUN + false, // ITEM_BOMBERS_NOTEBOOK + false, // ITEM_SKULL_TOKEN + false, // ITEM_HEART_CONTAINER + false, // ITEM_HEART_PIECE + false, // ITEM_71 + }, + // PLAYER_FORM_ZORA + { + true, // ITEM_OCARINA_OF_TIME + false, // ITEM_BOW + false, // ITEM_ARROW_FIRE + false, // ITEM_ARROW_ICE + false, // ITEM_ARROW_LIGHT + false, // ITEM_OCARINA_FAIRY + false, // ITEM_BOMB + false, // ITEM_BOMBCHU + false, // ITEM_DEKU_STICK + false, // ITEM_DEKU_NUT + false, // ITEM_MAGIC_BEANS + false, // ITEM_SLINGSHOT + false, // ITEM_POWDER_KEG + true, // ITEM_PICTOGRAPH_BOX + true, // ITEM_LENS_OF_TRUTH + false, // ITEM_HOOKSHOT + false, // ITEM_SWORD_GREAT_FAIRY + false, // ITEM_LONGSHOT + true, // ITEM_BOTTLE + true, // ITEM_POTION_RED + true, // ITEM_POTION_GREEN + true, // ITEM_POTION_BLUE + true, // ITEM_FAIRY + true, // ITEM_DEKU_PRINCESS + true, // ITEM_MILK_BOTTLE + true, // ITEM_MILK_HALF + true, // ITEM_FISH + true, // ITEM_BUG + true, // ITEM_BLUE_FIRE + true, // ITEM_POE + true, // ITEM_BIG_POE + true, // ITEM_SPRING_WATER + true, // ITEM_HOT_SPRING_WATER + true, // ITEM_ZORA_EGG + true, // ITEM_GOLD_DUST + true, // ITEM_MUSHROOM + true, // ITEM_SEAHORSE + true, // ITEM_CHATEAU + true, // ITEM_HYLIAN_LOACH + true, // ITEM_OBABA_DRINK + true, // ITEM_MOONS_TEAR + true, // ITEM_DEED_LAND + true, // ITEM_DEED_SWAMP + true, // ITEM_DEED_MOUNTAIN + true, // ITEM_DEED_OCEAN + true, // ITEM_ROOM_KEY + true, // ITEM_LETTER_MAMA + true, // ITEM_LETTER_TO_KAFEI + true, // ITEM_PENDANT_OF_MEMORIES + true, // ITEM_TINGLE_MAP + true, // ITEM_MASK_DEKU + true, // ITEM_MASK_GORON + true, // ITEM_MASK_ZORA + true, // ITEM_MASK_FIERCE_DEITY + false, // ITEM_MASK_TRUTH + false, // ITEM_MASK_KAFEIS_MASK + false, // ITEM_MASK_ALL_NIGHT + false, // ITEM_MASK_BUNNY + false, // ITEM_MASK_KEATON + false, // ITEM_MASK_GARO + false, // ITEM_MASK_ROMANI + false, // ITEM_MASK_CIRCUS_LEADER + false, // ITEM_MASK_POSTMAN + false, // ITEM_MASK_COUPLE + false, // ITEM_MASK_GREAT_FAIRY + false, // ITEM_MASK_GIBDO + false, // ITEM_MASK_DON_GERO + false, // ITEM_MASK_KAMARO + false, // ITEM_MASK_CAPTAIN + false, // ITEM_MASK_STONE + false, // ITEM_MASK_BREMEN + false, // ITEM_MASK_BLAST + false, // ITEM_MASK_SCENTS + false, // ITEM_MASK_GIANT + false, // ITEM_BOW_FIRE + false, // ITEM_BOW_ICE + false, // ITEM_BOW_LIGHT + false, // ITEM_SWORD_KOKIRI + false, // ITEM_SWORD_RAZOR + false, // ITEM_SWORD_GILDED + false, // ITEM_SWORD_DEITY + false, // ITEM_SHIELD_HERO + false, // ITEM_SHIELD_MIRROR + false, // ITEM_QUIVER_30 + false, // ITEM_QUIVER_40 + false, // ITEM_QUIVER_50 + false, // ITEM_BOMB_BAG_20 + false, // ITEM_BOMB_BAG_30 + false, // ITEM_BOMB_BAG_40 + false, // ITEM_WALLET_DEFAULT + false, // ITEM_WALLET_ADULT + false, // ITEM_WALLET_GIANT + false, // ITEM_FISHING_ROD + false, // ITEM_REMAINS_ODOLWA + false, // ITEM_REMAINS_GOHT + false, // ITEM_REMAINS_GYORG + false, // ITEM_REMAINS_TWINMOLD + false, // ITEM_SONG_SONATA + false, // ITEM_SONG_LULLABY + false, // ITEM_SONG_NOVA + false, // ITEM_SONG_ELEGY + false, // ITEM_SONG_OATH + false, // ITEM_SONG_SARIA + false, // ITEM_SONG_TIME + false, // ITEM_SONG_HEALING + false, // ITEM_SONG_EPONA + false, // ITEM_SONG_SOARING + false, // ITEM_SONG_STORMS + false, // ITEM_SONG_SUN + false, // ITEM_BOMBERS_NOTEBOOK + false, // ITEM_SKULL_TOKEN + false, // ITEM_HEART_CONTAINER + false, // ITEM_HEART_PIECE + false, // ITEM_71 + }, + // PLAYER_FORM_DEKU + { + true, // ITEM_OCARINA_OF_TIME + false, // ITEM_BOW + false, // ITEM_ARROW_FIRE + false, // ITEM_ARROW_ICE + false, // ITEM_ARROW_LIGHT + false, // ITEM_OCARINA_FAIRY + false, // ITEM_BOMB + false, // ITEM_BOMBCHU + false, // ITEM_DEKU_STICK + true, // ITEM_DEKU_NUT + false, // ITEM_MAGIC_BEANS + false, // ITEM_SLINGSHOT + false, // ITEM_POWDER_KEG + true, // ITEM_PICTOGRAPH_BOX + true, // ITEM_LENS_OF_TRUTH + false, // ITEM_HOOKSHOT + false, // ITEM_SWORD_GREAT_FAIRY + false, // ITEM_LONGSHOT + true, // ITEM_BOTTLE + true, // ITEM_POTION_RED + true, // ITEM_POTION_GREEN + true, // ITEM_POTION_BLUE + true, // ITEM_FAIRY + true, // ITEM_DEKU_PRINCESS + true, // ITEM_MILK_BOTTLE + true, // ITEM_MILK_HALF + true, // ITEM_FISH + true, // ITEM_BUG + true, // ITEM_BLUE_FIRE + true, // ITEM_POE + true, // ITEM_BIG_POE + true, // ITEM_SPRING_WATER + true, // ITEM_HOT_SPRING_WATER + true, // ITEM_ZORA_EGG + true, // ITEM_GOLD_DUST + true, // ITEM_MUSHROOM + true, // ITEM_SEAHORSE + true, // ITEM_CHATEAU + true, // ITEM_HYLIAN_LOACH + true, // ITEM_OBABA_DRINK + true, // ITEM_MOONS_TEAR + true, // ITEM_DEED_LAND + true, // ITEM_DEED_SWAMP + true, // ITEM_DEED_MOUNTAIN + true, // ITEM_DEED_OCEAN + true, // ITEM_ROOM_KEY + true, // ITEM_LETTER_MAMA + true, // ITEM_LETTER_TO_KAFEI + true, // ITEM_PENDANT_OF_MEMORIES + true, // ITEM_TINGLE_MAP + true, // ITEM_MASK_DEKU + true, // ITEM_MASK_GORON + true, // ITEM_MASK_ZORA + true, // ITEM_MASK_FIERCE_DEITY + false, // ITEM_MASK_TRUTH + false, // ITEM_MASK_KAFEIS_MASK + false, // ITEM_MASK_ALL_NIGHT + false, // ITEM_MASK_BUNNY + false, // ITEM_MASK_KEATON + false, // ITEM_MASK_GARO + false, // ITEM_MASK_ROMANI + false, // ITEM_MASK_CIRCUS_LEADER + false, // ITEM_MASK_POSTMAN + false, // ITEM_MASK_COUPLE + false, // ITEM_MASK_GREAT_FAIRY + false, // ITEM_MASK_GIBDO + false, // ITEM_MASK_DON_GERO + false, // ITEM_MASK_KAMARO + false, // ITEM_MASK_CAPTAIN + false, // ITEM_MASK_STONE + false, // ITEM_MASK_BREMEN + false, // ITEM_MASK_BLAST + false, // ITEM_MASK_SCENTS + false, // ITEM_MASK_GIANT + false, // ITEM_BOW_FIRE + false, // ITEM_BOW_ICE + false, // ITEM_BOW_LIGHT + false, // ITEM_SWORD_KOKIRI + false, // ITEM_SWORD_RAZOR + false, // ITEM_SWORD_GILDED + false, // ITEM_SWORD_DEITY + false, // ITEM_SHIELD_HERO + false, // ITEM_SHIELD_MIRROR + false, // ITEM_QUIVER_30 + false, // ITEM_QUIVER_40 + false, // ITEM_QUIVER_50 + false, // ITEM_BOMB_BAG_20 + false, // ITEM_BOMB_BAG_30 + false, // ITEM_BOMB_BAG_40 + false, // ITEM_WALLET_DEFAULT + false, // ITEM_WALLET_ADULT + false, // ITEM_WALLET_GIANT + false, // ITEM_FISHING_ROD + false, // ITEM_REMAINS_ODOLWA + false, // ITEM_REMAINS_GOHT + false, // ITEM_REMAINS_GYORG + false, // ITEM_REMAINS_TWINMOLD + false, // ITEM_SONG_SONATA + false, // ITEM_SONG_LULLABY + false, // ITEM_SONG_NOVA + false, // ITEM_SONG_ELEGY + false, // ITEM_SONG_OATH + false, // ITEM_SONG_SARIA + false, // ITEM_SONG_TIME + false, // ITEM_SONG_HEALING + false, // ITEM_SONG_EPONA + false, // ITEM_SONG_SOARING + false, // ITEM_SONG_STORMS + false, // ITEM_SONG_SUN + false, // ITEM_BOMBERS_NOTEBOOK + false, // ITEM_SKULL_TOKEN + false, // ITEM_HEART_CONTAINER + false, // ITEM_HEART_PIECE + false, // ITEM_71 + }, + // PLAYER_FORM_HUMAN + { + true, // ITEM_OCARINA_OF_TIME + true, // ITEM_BOW + true, // ITEM_ARROW_FIRE + true, // ITEM_ARROW_ICE + true, // ITEM_ARROW_LIGHT + true, // ITEM_OCARINA_FAIRY + true, // ITEM_BOMB + true, // ITEM_BOMBCHU + true, // ITEM_DEKU_STICK + true, // ITEM_DEKU_NUT + true, // ITEM_MAGIC_BEANS + true, // ITEM_SLINGSHOT + false, // ITEM_POWDER_KEG + true, // ITEM_PICTOGRAPH_BOX + true, // ITEM_LENS_OF_TRUTH + true, // ITEM_HOOKSHOT + true, // ITEM_SWORD_GREAT_FAIRY + true, // ITEM_LONGSHOT + true, // ITEM_BOTTLE + true, // ITEM_POTION_RED + true, // ITEM_POTION_GREEN + true, // ITEM_POTION_BLUE + true, // ITEM_FAIRY + true, // ITEM_DEKU_PRINCESS + true, // ITEM_MILK_BOTTLE + true, // ITEM_MILK_HALF + true, // ITEM_FISH + true, // ITEM_BUG + true, // ITEM_BLUE_FIRE + true, // ITEM_POE + true, // ITEM_BIG_POE + true, // ITEM_SPRING_WATER + true, // ITEM_HOT_SPRING_WATER + true, // ITEM_ZORA_EGG + true, // ITEM_GOLD_DUST + true, // ITEM_MUSHROOM + true, // ITEM_SEAHORSE + true, // ITEM_CHATEAU + true, // ITEM_HYLIAN_LOACH + true, // ITEM_OBABA_DRINK + true, // ITEM_MOONS_TEAR + true, // ITEM_DEED_LAND + true, // ITEM_DEED_SWAMP + true, // ITEM_DEED_MOUNTAIN + true, // ITEM_DEED_OCEAN + true, // ITEM_ROOM_KEY + true, // ITEM_LETTER_MAMA + true, // ITEM_LETTER_TO_KAFEI + true, // ITEM_PENDANT_OF_MEMORIES + true, // ITEM_TINGLE_MAP + true, // ITEM_MASK_DEKU + true, // ITEM_MASK_GORON + true, // ITEM_MASK_ZORA + true, // ITEM_MASK_FIERCE_DEITY + true, // ITEM_MASK_TRUTH + true, // ITEM_MASK_KAFEIS_MASK + true, // ITEM_MASK_ALL_NIGHT + true, // ITEM_MASK_BUNNY + true, // ITEM_MASK_KEATON + true, // ITEM_MASK_GARO + true, // ITEM_MASK_ROMANI + true, // ITEM_MASK_CIRCUS_LEADER + true, // ITEM_MASK_POSTMAN + true, // ITEM_MASK_COUPLE + true, // ITEM_MASK_GREAT_FAIRY + true, // ITEM_MASK_GIBDO + true, // ITEM_MASK_DON_GERO + true, // ITEM_MASK_KAMARO + true, // ITEM_MASK_CAPTAIN + true, // ITEM_MASK_STONE + true, // ITEM_MASK_BREMEN + true, // ITEM_MASK_BLAST + true, // ITEM_MASK_SCENTS + true, // ITEM_MASK_GIANT + true, // ITEM_BOW_FIRE + true, // ITEM_BOW_ICE + true, // ITEM_BOW_LIGHT + false, // ITEM_SWORD_KOKIRI + false, // ITEM_SWORD_RAZOR + false, // ITEM_SWORD_GILDED + false, // ITEM_SWORD_DEITY + false, // ITEM_SHIELD_HERO + false, // ITEM_SHIELD_MIRROR + false, // ITEM_QUIVER_30 + false, // ITEM_QUIVER_40 + false, // ITEM_QUIVER_50 + false, // ITEM_BOMB_BAG_20 + false, // ITEM_BOMB_BAG_30 + false, // ITEM_BOMB_BAG_40 + false, // ITEM_WALLET_DEFAULT + false, // ITEM_WALLET_ADULT + false, // ITEM_WALLET_GIANT + false, // ITEM_FISHING_ROD + false, // ITEM_REMAINS_ODOLWA + false, // ITEM_REMAINS_GOHT + false, // ITEM_REMAINS_GYORG + false, // ITEM_REMAINS_TWINMOLD + false, // ITEM_SONG_SONATA + false, // ITEM_SONG_LULLABY + false, // ITEM_SONG_NOVA + false, // ITEM_SONG_ELEGY + false, // ITEM_SONG_OATH + false, // ITEM_SONG_SARIA + false, // ITEM_SONG_TIME + false, // ITEM_SONG_HEALING + false, // ITEM_SONG_EPONA + false, // ITEM_SONG_SOARING + false, // ITEM_SONG_STORMS + false, // ITEM_SONG_SUN + false, // ITEM_BOMBERS_NOTEBOOK + false, // ITEM_SKULL_TOKEN + false, // ITEM_HEART_CONTAINER + false, // ITEM_HEART_PIECE + false, // ITEM_71 + }, +}; diff --git a/src/code/z_skelanime.c b/src/code/z_skelanime.c index acacfcd15b..4c05290122 100644 --- a/src/code/z_skelanime.c +++ b/src/code/z_skelanime.c @@ -1187,8 +1187,9 @@ void AnimationContext_MoveActor(PlayState* play, AnimationEntryData* data) { void AnimationContext_Update(PlayState* play, AnimationContext* animationCtx) { AnimationEntry* entry = animationCtx->entries; - for (; animationCtx->animationCount != 0; entry++, animationCtx->animationCount--) { + for (; animationCtx->animationCount != 0; animationCtx->animationCount--) { sAnimationLoadDone[entry->type](play, &entry->data); + entry++; } sAnimQueueFlags = 1; diff --git a/tools/disasm/files.txt b/tools/disasm/files.txt index 665dd735fd..8af0263056 100644 --- a/tools/disasm/files.txt +++ b/tools/disasm/files.txt @@ -415,7 +415,7 @@ 0x8012BC50 : "z_rcp", 0x8012D500 : "[PADDING]", 0x8012D510 : "z_room", - 0x8012EC80 : "code_8012EC80", + 0x8012EC80 : "z_inventory", 0x8012F2D0 : "[PADDING]", 0x8012F2E0 : "z_scene", 0x801307C0 : "z_scene_proc", @@ -515,7 +515,7 @@ 0x801ADEC0 : "z_en_item00", 0x801AE240 : "z_eff_blure", 0x801AE2F0 : "z_eff_shield_particle", - 0x801AE330 : "", + 0x801AE330 : "z_effect", 0x801AE3A0 : "z_effect_soft_sprite", 0x801AE3B0 : "z_effect_soft_sprite_old_init", 0x801AE4A0 : "z_effect_soft_sprite_dlftbls", @@ -532,11 +532,11 @@ 0x801BB120 : "z_demo", 0x801BB170 : "z_draw", 0x801BC210 : "z_eff_footmark", - 0x801BC2A0 : "", + 0x801BC2A0 : "z_en_hy_code", 0x801BC420 : "z_face_reaction", - 0x801BD830 : "", + 0x801BD830 : "z_eventmgr", 0x801BD8d0 : "z_fireobj", - 0x801BD910 : "", + 0x801BD910 : "z_game_dfltbls", 0x801BDA70 : "z_horse", 0x801BDAC0 : "z_jpeg", 0x801BDB00 : "z_kaleido_setup", @@ -553,8 +553,7 @@ 0x801C0EC0 : "z_quake", 0x801C0EF0 : "z_rcp", 0x801C1D10 : "z_room", - 0x801C1D30 : "code_8012EC80", - 0x801C2410 : "code_801C2410", + 0x801C1D30 : "z_inventory", 0x801C2650 : "z_scene", 0x801C2730 : "object_table", 0x801C3B60 : "z_scene_proc", @@ -571,7 +570,7 @@ 0x801D0910 : "z_message_staff", 0x801D0B50 : "z_player_call", 0x801D0B70 : "z_kaleido_manager", - 0x801D0BB0 : "", + 0x801D0BB0 : "z_fbdemo_dfltbls", 0x801D0C80 : "z_fbdemo", 0x801D0CB0 : "z_fbdemo_fade", 0x801D0D00 : "z_fbdemo_circle", @@ -584,7 +583,7 @@ 0x801D1530 : "padmgr", 0x801D1540 : "speed_meter", 0x801D1570 : "sys_math", - 0x801D15B0 : "", + 0x801D15B0 : "sys_math3d", 0x801D15D0 : "sys_math_atan", 0x801D1DE0 : "sys_matrix", 0x801D1E60 : "sys_ucode", @@ -646,7 +645,7 @@ 0x801DE5C0 : "z_skin", 0x801DE5D0 : "z_skin_matrix", 0x801DE5E0 : "z_sub_s", - 0x801DE890 : "", + 0x801DE890 : "z_circle_tex", 0x801DF090 : "z_rumble", 0x801DF0A0 : "z_view", 0x801DF0B0 : "z_vimode", diff --git a/tools/disasm/functions.txt b/tools/disasm/functions.txt index a68c73984f..f803eb10cd 100644 --- a/tools/disasm/functions.txt +++ b/tools/disasm/functions.txt @@ -3116,7 +3116,7 @@ 0x80172ED0:("AudioMgr_ThreadEntry",), 0x80173048:("AudioMgr_Unlock",), 0x80173074:("AudioMgr_Init",), - 0x80173130:("Setup_SetRegs",), + 0x80173130:("Setup_InitRegs",), 0x801732DC:("Setup_InitImpl",), 0x8017332C:("Setup_Destroy",), 0x80173338:("Setup_Init",), diff --git a/tools/sizes/code_functions.csv b/tools/sizes/code_functions.csv index 3fc575e9c9..343e2ee4c6 100644 --- a/tools/sizes/code_functions.csv +++ b/tools/sizes/code_functions.csv @@ -1919,16 +1919,16 @@ asm/non_matchings/code/z_room/Room_StartRoomTransition.s,Room_StartRoomTransitio asm/non_matchings/code/z_room/Room_HandleLoadCallbacks.s,Room_HandleLoadCallbacks,0x8012EAA8,0x40 asm/non_matchings/code/z_room/Room_Draw.s,Room_Draw,0x8012EBA8,0x14 asm/non_matchings/code/z_room/func_8012EBF8.s,func_8012EBF8,0x8012EBF8,0x22 -asm/non_matchings/code/code_8012EC80/Inventory_GetBtnBItem.s,Inventory_GetBtnBItem,0x8012EC80,0x2D -asm/non_matchings/code/code_8012EC80/Inventory_ChangeEquipment.s,Inventory_ChangeEquipment,0x8012ED34,0x11 -asm/non_matchings/code/code_8012EC80/Inventory_DeleteEquipment.s,Inventory_DeleteEquipment,0x8012ED78,0x1C -asm/non_matchings/code/code_8012EC80/Inventory_ChangeUpgrade.s,Inventory_ChangeUpgrade,0x8012EDE8,0x13 -asm/non_matchings/code/code_8012EC80/Inventory_IsMapVisible.s,Inventory_IsMapVisible,0x8012EE34,0x36 -asm/non_matchings/code/code_8012EC80/Inventory_SetWorldMapCloudVisibility.s,Inventory_SetWorldMapCloudVisibility,0x8012EF0C,0x78 -asm/non_matchings/code/code_8012EC80/Inventory_SaveDekuPlaygroundHighScore.s,Inventory_SaveDekuPlaygroundHighScore,0x8012F0EC,0x34 -asm/non_matchings/code/code_8012EC80/Inventory_IncrementSkullTokenCount.s,Inventory_IncrementSkullTokenCount,0x8012F1BC,0x1C -asm/non_matchings/code/code_8012EC80/Inventory_GetSkullTokenCount.s,Inventory_GetSkullTokenCount,0x8012F22C,0x13 -asm/non_matchings/code/code_8012EC80/Inventory_SaveLotteryCodeGuess.s,Inventory_SaveLotteryCodeGuess,0x8012F278,0x16 +asm/non_matchings/code/z_inventory/Inventory_GetBtnBItem.s,Inventory_GetBtnBItem,0x8012EC80,0x2D +asm/non_matchings/code/z_inventory/Inventory_ChangeEquipment.s,Inventory_ChangeEquipment,0x8012ED34,0x11 +asm/non_matchings/code/z_inventory/Inventory_DeleteEquipment.s,Inventory_DeleteEquipment,0x8012ED78,0x1C +asm/non_matchings/code/z_inventory/Inventory_ChangeUpgrade.s,Inventory_ChangeUpgrade,0x8012EDE8,0x13 +asm/non_matchings/code/z_inventory/Inventory_IsMapVisible.s,Inventory_IsMapVisible,0x8012EE34,0x36 +asm/non_matchings/code/z_inventory/Inventory_SetWorldMapCloudVisibility.s,Inventory_SetWorldMapCloudVisibility,0x8012EF0C,0x78 +asm/non_matchings/code/z_inventory/Inventory_SaveDekuPlaygroundHighScore.s,Inventory_SaveDekuPlaygroundHighScore,0x8012F0EC,0x34 +asm/non_matchings/code/z_inventory/Inventory_IncrementSkullTokenCount.s,Inventory_IncrementSkullTokenCount,0x8012F1BC,0x1C +asm/non_matchings/code/z_inventory/Inventory_GetSkullTokenCount.s,Inventory_GetSkullTokenCount,0x8012F22C,0x13 +asm/non_matchings/code/z_inventory/Inventory_SaveLotteryCodeGuess.s,Inventory_SaveLotteryCodeGuess,0x8012F278,0x16 asm/non_matchings/code/z_scene/Object_SpawnPersistent.s,Object_SpawnPersistent,0x8012F2E0,0x3C asm/non_matchings/code/z_scene/Object_InitContext.s,Object_InitContext,0x8012F3D0,0x4B asm/non_matchings/code/z_scene/Object_UpdateEntries.s,Object_UpdateEntries,0x8012F4FC,0x43 @@ -2630,7 +2630,7 @@ asm/non_matchings/code/audio_thread_manager/AudioMgr_HandlePreNMI.s,AudioMgr_Han asm/non_matchings/code/audio_thread_manager/AudioMgr_ThreadEntry.s,AudioMgr_ThreadEntry,0x80172ED0,0x5E asm/non_matchings/code/audio_thread_manager/AudioMgr_Unlock.s,AudioMgr_Unlock,0x80173048,0xB asm/non_matchings/code/audio_thread_manager/AudioMgr_Init.s,AudioMgr_Init,0x80173074,0x2F -asm/non_matchings/code/title_setup/Setup_SetRegs.s,Setup_SetRegs,0x80173130,0x6B +asm/non_matchings/code/title_setup/Setup_InitRegs.s,Setup_InitRegs,0x80173130,0x6B asm/non_matchings/code/title_setup/Setup_InitImpl.s,Setup_InitImpl,0x801732DC,0x14 asm/non_matchings/code/title_setup/Setup_Destroy.s,Setup_Destroy,0x8017332C,0x3 asm/non_matchings/code/title_setup/Setup_Init.s,Setup_Init,0x80173338,0xA