* AnimationContext_Update

* TransitionTile_InitGraphics

* disasm files

* gPlayerFormItemRestrictions -> code_8012EC80

* fix

* Extract gCircleTex

* Const fixes

* gPlayerFormItemRestrictions suggestions

* Setup_InitRegs

* z_inventory
This commit is contained in:
Derek Hensley 2024-02-19 19:04:23 -08:00 committed by GitHub
parent 3b8db093f6
commit a7fa8cc241
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
15 changed files with 667 additions and 55 deletions

View File

@ -0,0 +1,6 @@
<Root>
<File Name="code" OutName="circle_tex" BaseAddress="0x800A5AC0" RangeStart="0x138DD0" RangeEnd="0x1395D0" >
<!-- The global version is const and found in z_circle_tex -->
<Texture Name="sCircleTex" OutName="circle" Format="i4" Width="64" Height="64" Offset="0x138DD0"/>
</File>
</Root>

View File

@ -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;

8
include/z64circle_tex.h Normal file
View File

@ -0,0 +1,8 @@
#ifndef Z64CIRCLE_TEX_H
#define Z64CIRCLE_TEX_H
#include "ultra64.h"
extern const u64 gCircleTex[];
#endif

View File

@ -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

7
spec
View File

@ -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"

View File

@ -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));

View File

@ -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);
}

5
src/code/z_circle_tex.c Normal file
View File

@ -0,0 +1,5 @@
#include "ultra64.h"
const u64 gCircleTex[] = {
#include "assets/code/circle_tex/circle.i4.inc.c"
};

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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
},
};

View File

@ -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;

View File

@ -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",

View File

@ -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",),

View File

@ -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

1 asm/non_matchings/code/z_en_a_keep/EnAObj_Init.s EnAObj_Init 0x800A5AC0 0x2B
1919 asm/non_matchings/code/z_room/Room_HandleLoadCallbacks.s Room_HandleLoadCallbacks 0x8012EAA8 0x40
1920 asm/non_matchings/code/z_room/Room_Draw.s Room_Draw 0x8012EBA8 0x14
1921 asm/non_matchings/code/z_room/func_8012EBF8.s func_8012EBF8 0x8012EBF8 0x22
1922 asm/non_matchings/code/code_8012EC80/Inventory_GetBtnBItem.s asm/non_matchings/code/z_inventory/Inventory_GetBtnBItem.s Inventory_GetBtnBItem 0x8012EC80 0x2D
1923 asm/non_matchings/code/code_8012EC80/Inventory_ChangeEquipment.s asm/non_matchings/code/z_inventory/Inventory_ChangeEquipment.s Inventory_ChangeEquipment 0x8012ED34 0x11
1924 asm/non_matchings/code/code_8012EC80/Inventory_DeleteEquipment.s asm/non_matchings/code/z_inventory/Inventory_DeleteEquipment.s Inventory_DeleteEquipment 0x8012ED78 0x1C
1925 asm/non_matchings/code/code_8012EC80/Inventory_ChangeUpgrade.s asm/non_matchings/code/z_inventory/Inventory_ChangeUpgrade.s Inventory_ChangeUpgrade 0x8012EDE8 0x13
1926 asm/non_matchings/code/code_8012EC80/Inventory_IsMapVisible.s asm/non_matchings/code/z_inventory/Inventory_IsMapVisible.s Inventory_IsMapVisible 0x8012EE34 0x36
1927 asm/non_matchings/code/code_8012EC80/Inventory_SetWorldMapCloudVisibility.s asm/non_matchings/code/z_inventory/Inventory_SetWorldMapCloudVisibility.s Inventory_SetWorldMapCloudVisibility 0x8012EF0C 0x78
1928 asm/non_matchings/code/code_8012EC80/Inventory_SaveDekuPlaygroundHighScore.s asm/non_matchings/code/z_inventory/Inventory_SaveDekuPlaygroundHighScore.s Inventory_SaveDekuPlaygroundHighScore 0x8012F0EC 0x34
1929 asm/non_matchings/code/code_8012EC80/Inventory_IncrementSkullTokenCount.s asm/non_matchings/code/z_inventory/Inventory_IncrementSkullTokenCount.s Inventory_IncrementSkullTokenCount 0x8012F1BC 0x1C
1930 asm/non_matchings/code/code_8012EC80/Inventory_GetSkullTokenCount.s asm/non_matchings/code/z_inventory/Inventory_GetSkullTokenCount.s Inventory_GetSkullTokenCount 0x8012F22C 0x13
1931 asm/non_matchings/code/code_8012EC80/Inventory_SaveLotteryCodeGuess.s asm/non_matchings/code/z_inventory/Inventory_SaveLotteryCodeGuess.s Inventory_SaveLotteryCodeGuess 0x8012F278 0x16
1932 asm/non_matchings/code/z_scene/Object_SpawnPersistent.s Object_SpawnPersistent 0x8012F2E0 0x3C
1933 asm/non_matchings/code/z_scene/Object_InitContext.s Object_InitContext 0x8012F3D0 0x4B
1934 asm/non_matchings/code/z_scene/Object_UpdateEntries.s Object_UpdateEntries 0x8012F4FC 0x43
2630 asm/non_matchings/code/audio_thread_manager/AudioMgr_ThreadEntry.s AudioMgr_ThreadEntry 0x80172ED0 0x5E
2631 asm/non_matchings/code/audio_thread_manager/AudioMgr_Unlock.s AudioMgr_Unlock 0x80173048 0xB
2632 asm/non_matchings/code/audio_thread_manager/AudioMgr_Init.s AudioMgr_Init 0x80173074 0x2F
2633 asm/non_matchings/code/title_setup/Setup_SetRegs.s asm/non_matchings/code/title_setup/Setup_InitRegs.s Setup_SetRegs Setup_InitRegs 0x80173130 0x6B
2634 asm/non_matchings/code/title_setup/Setup_InitImpl.s Setup_InitImpl 0x801732DC 0x14
2635 asm/non_matchings/code/title_setup/Setup_Destroy.s Setup_Destroy 0x8017332C 0x3
2636 asm/non_matchings/code/title_setup/Setup_Init.s Setup_Init 0x80173338 0xA