From 00bf71460f56c5a8aba5e235b729c8a5e594bae8 Mon Sep 17 00:00:00 2001 From: engineer124 <47598039+engineer124@users.noreply.github.com> Date: Sat, 24 Sep 2022 15:45:53 -0400 Subject: [PATCH] Item cleanup: Item drops, rupees, signs (#1048) * item cleanup * pr suggestions Co-authored-by: Anghelo Carvajal --- assets/xml/objects/gameplay_keep.xml | 79 ++++--- include/variables.h | 2 - src/code/z_en_item00.c | 204 +++++++++++------- .../actors/ovl_En_Col_Man/z_en_col_man.c | 10 +- src/overlays/actors/ovl_En_Fu/z_en_fu.c | 2 +- .../actors/ovl_En_Gamelupy/z_en_gamelupy.c | 9 +- .../actors/ovl_En_Kanban/z_en_kanban.c | 2 +- src/overlays/actors/ovl_En_Ot/z_en_ot.c | 2 +- .../actors/ovl_En_Sc_Ruppe/z_en_sc_ruppe.c | 14 +- .../actors/ovl_En_Scopecoin/z_en_scopecoin.c | 54 +++-- .../actors/ovl_En_Scopecoin/z_en_scopecoin.h | 6 +- .../actors/ovl_En_Tanron5/z_en_tanron5.c | 6 +- src/overlays/actors/ovl_En_Test6/z_en_test6.c | 12 +- tools/disasm/functions.txt | 4 +- tools/disasm/variables.txt | 14 +- 15 files changed, 240 insertions(+), 180 deletions(-) diff --git a/assets/xml/objects/gameplay_keep.xml b/assets/xml/objects/gameplay_keep.xml index 1923fe8df6..03ed9eef50 100644 --- a/assets/xml/objects/gameplay_keep.xml +++ b/assets/xml/objects/gameplay_keep.xml @@ -1218,37 +1218,44 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1257,10 +1264,12 @@ - - - - + + + + + + diff --git a/include/variables.h b/include/variables.h index 54248860f1..05602af8fe 100644 --- a/include/variables.h +++ b/include/variables.h @@ -362,8 +362,6 @@ extern ActorInit En_A_Obj_InitVars; extern ColliderCylinderInit enAObjCylinderInit; extern InitChainEntry enAObjInitVar; extern Gfx* enAObjDisplayLists[2]; -extern UNK_PTR D_801ADF30[5]; -extern UNK_PTR D_801ADF44[12]; extern u8 sDropTable[DROP_TABLE_SIZE * DROP_TABLE_NUMBER]; extern u8 sDropTableAmounts[DROP_TABLE_SIZE * DROP_TABLE_NUMBER]; extern s32 D_801AE194[32]; diff --git a/src/code/z_en_item00.c b/src/code/z_en_item00.c index 953648f494..437728f0ea 100644 --- a/src/code/z_en_item00.c +++ b/src/code/z_en_item00.c @@ -18,6 +18,11 @@ void func_800A6650(EnItem00* this, PlayState* play); void func_800A6780(EnItem00* this, PlayState* play); void func_800A6A40(EnItem00* this, PlayState* play); +void EnItem00_DrawRupee(EnItem00* this, PlayState* play); +void EnItem00_DrawSprite(EnItem00* this, PlayState* play); +void EnItem00_DrawHeartContainer(EnItem00* this, PlayState* play); +void EnItem00_DrawHeartPiece(EnItem00* this, PlayState* play); + const ActorInit En_Item00_InitVars = { ACTOR_EN_ITEM00, ACTORCAT_MISC, @@ -102,12 +107,14 @@ void EnItem00_Init(Actor* thisx, PlayState* play) { this->unk154 = 0.015f; shadowOffset = 750.0f; break; + case ITEM00_SMALL_KEY: this->unk150 = 0; Actor_SetScale(&this->actor, 0.03f); this->unk154 = 0.03f; shadowOffset = 350.0f; break; + case ITEM00_HEART_PIECE: case ITEM00_HEART_CONTAINER: this->unk150 = 0; @@ -118,12 +125,14 @@ void EnItem00_Init(Actor* thisx, PlayState* play) { sp30 = -1; } break; + case ITEM00_RECOVERY_HEART: - this->actor.home.rot.z = randPlusMinusPoint5Scaled(65535.0f); + this->actor.home.rot.z = randPlusMinusPoint5Scaled(0xFFFF); shadowOffset = 430.0f; Actor_SetScale(&this->actor, 0.02f); this->unk154 = 0.02f; break; + case ITEM00_ARROWS_10: case ITEM00_ARROWS_30: case ITEM00_ARROWS_40: @@ -132,6 +141,7 @@ void EnItem00_Init(Actor* thisx, PlayState* play) { this->unk154 = 0.035f; shadowOffset = 250.0f; break; + case ITEM00_BOMBS_A: case ITEM00_BOMBS_B: case ITEM00_NUTS_1: @@ -143,39 +153,47 @@ void EnItem00_Init(Actor* thisx, PlayState* play) { this->unk154 = 0.03f; shadowOffset = 320.0f; break; + case ITEM00_MAGIC_LARGE: - Actor_SetScale(&this->actor, 0.044999998f); - this->unk154 = 0.044999998f; + Actor_SetScale(&this->actor, 4.5f * 0.01f); + this->unk154 = 4.5f * 0.01f; shadowOffset = 320.0f; break; + case ITEM00_RUPEE_HUGE: - Actor_SetScale(&this->actor, 0.044999998f); - this->unk154 = 0.044999998f; + Actor_SetScale(&this->actor, 4.5f * 0.01f); + this->unk154 = 4.5f * 0.01f; shadowOffset = 750.0f; break; + case ITEM00_RUPEE_PURPLE: Actor_SetScale(&this->actor, 0.03f); this->unk154 = 0.03f; shadowOffset = 750.0f; break; + case ITEM00_FLEXIBLE: case ITEM00_BIG_FAIRY: shadowOffset = 500.0f; Actor_SetScale(&this->actor, 0.01f); this->unk154 = 0.01f; break; + case ITEM00_SHIELD_HERO: this->actor.objBankIndex = Object_GetIndex(&play->objectCtx, OBJECT_GI_SHIELD_2); EnItem00_SetObject(this, play, &shadowOffset, &shadowScale); break; + case ITEM00_MAP: this->actor.objBankIndex = Object_GetIndex(&play->objectCtx, OBJECT_GI_MAP); EnItem00_SetObject(this, play, &shadowOffset, &shadowScale); break; + case ITEM00_COMPASS: this->actor.objBankIndex = Object_GetIndex(&play->objectCtx, OBJECT_GI_COMPASS); EnItem00_SetObject(this, play, &shadowOffset, &shadowScale); break; + default: break; } @@ -191,6 +209,7 @@ void EnItem00_Init(Actor* thisx, PlayState* play) { this->unk152 = -1; return; } + if (sp30 == 0) { this->actionFunc = func_800A640C; this->unk152 = -1; @@ -208,61 +227,78 @@ void EnItem00_Init(Actor* thisx, PlayState* play) { case ITEM00_RUPEE_GREEN: Item_Give(play, ITEM_RUPEE_GREEN); break; + case ITEM00_RUPEE_BLUE: Item_Give(play, ITEM_RUPEE_BLUE); break; + case ITEM00_RUPEE_RED: Item_Give(play, ITEM_RUPEE_RED); break; + case ITEM00_RUPEE_PURPLE: Item_Give(play, ITEM_RUPEE_PURPLE); break; + case ITEM00_RUPEE_HUGE: Item_Give(play, ITEM_RUPEE_HUGE); break; + case ITEM00_RECOVERY_HEART: Item_Give(play, ITEM_RECOVERY_HEART); break; + case ITEM00_FLEXIBLE: case ITEM00_BIG_FAIRY: Health_ChangeBy(play, 0x70); break; + case ITEM00_BOMBS_A: case ITEM00_BOMBS_B: Item_Give(play, ITEM_BOMBS_5); break; + case ITEM00_ARROWS_10: Item_Give(play, ITEM_ARROWS_10); break; + case ITEM00_ARROWS_30: Item_Give(play, ITEM_ARROWS_30); break; + case ITEM00_ARROWS_40: Item_Give(play, ITEM_ARROWS_40); break; + case ITEM00_ARROWS_50: Item_Give(play, ITEM_ARROWS_50); break; + case ITEM00_MAGIC_LARGE: Item_Give(play, ITEM_MAGIC_LARGE); break; + case ITEM00_MAGIC_SMALL: Item_Give(play, ITEM_MAGIC_SMALL); break; + case ITEM00_SMALL_KEY: Item_Give(play, ITEM_KEY_SMALL); break; + case ITEM00_NUTS_1: getItemId = GI_NUTS_1; break; + case ITEM00_NUTS_10: getItemId = GI_NUTS_10; break; + default: break; } - if ((getItemId != GI_NONE) && (Actor_HasParent(&this->actor, play) == 0)) { + if ((getItemId != GI_NONE) && !Actor_HasParent(&this->actor, play)) { Actor_PickUp(&this->actor, play, getItemId, 50.0f, 20.0f); } @@ -277,11 +313,10 @@ void EnItem00_Destroy(Actor* thisx, PlayState* play) { } void EnItem00_WaitForHeartObject(EnItem00* this, PlayState* play) { - s32 sp1C; + s32 objBankIndex = Object_GetIndex(&play->objectCtx, OBJECT_GI_HEARTS); - sp1C = Object_GetIndex(&play->objectCtx, OBJECT_GI_HEARTS); - if (Object_IsLoaded(&play->objectCtx, sp1C)) { - this->actor.objBankIndex = sp1C; + if (Object_IsLoaded(&play->objectCtx, objBankIndex)) { + this->actor.objBankIndex = objBankIndex; this->actionFunc = func_800A640C; } } @@ -327,15 +362,15 @@ void func_800A640C(EnItem00* this, PlayState* play) { } } - if ((this->actor.gravity != 0.0f) && ((this->actor.bgCheckFlags & 1) == 0)) { + if ((this->actor.gravity != 0.0f) && !(this->actor.bgCheckFlags & 1)) { this->actionFunc = func_800A6650; } } -static Color_RGBA8 D_801ADF10 = { 255, 255, 127, 0 }; -static Color_RGBA8 D_801ADF14 = { 255, 255, 255, 0 }; -static Vec3f D_801ADF18 = { 0.0f, 0.1f, 0.0f }; -static Vec3f D_801ADF24 = { 0.0f, 0.01f, 0.0f }; +static Color_RGBA8 sEffectPrimColor = { 255, 255, 127, 0 }; +static Color_RGBA8 sEffectEnvColor = { 255, 255, 255, 0 }; +static Vec3f sEffectVelocity = { 0.0f, 0.1f, 0.0f }; +static Vec3f sEffectAccel = { 0.0f, 0.01f, 0.0f }; void func_800A6650(EnItem00* this, PlayState* play) { u32 pad; @@ -344,20 +379,21 @@ void func_800A6650(EnItem00* this, PlayState* play) { if (this->actor.params <= ITEM00_RUPEE_RED) { this->actor.shape.rot.y = this->actor.shape.rot.y + 960; } + if ((play->gameplayFrames & 1) != 0) { pos.x = this->actor.world.pos.x + randPlusMinusPoint5Scaled(10.0f); pos.y = this->actor.world.pos.y + randPlusMinusPoint5Scaled(10.0f); pos.z = this->actor.world.pos.z + randPlusMinusPoint5Scaled(10.0f); - EffectSsKirakira_SpawnSmall(play, &pos, &D_801ADF18, &D_801ADF24, &D_801ADF10, &D_801ADF14); + EffectSsKirakira_SpawnSmall(play, &pos, &sEffectVelocity, &sEffectAccel, &sEffectPrimColor, &sEffectEnvColor); } - if ((this->actor.bgCheckFlags & 3) != 0) { + + if (this->actor.bgCheckFlags & 3) { if (this->actor.velocity.y > -2.0f) { this->actionFunc = func_800A640C; - return; + } else { + this->actor.velocity.y = this->actor.velocity.y * -0.8f; + this->actor.bgCheckFlags &= ~1; } - - this->actor.velocity.y = this->actor.velocity.y * -0.8f; - this->actor.bgCheckFlags = this->actor.bgCheckFlags & 0xFFFE; } } @@ -384,18 +420,18 @@ void func_800A6780(EnItem00* this, PlayState* play) { } if (this->actor.params <= ITEM00_RUPEE_RED) { - this->actor.shape.rot.y += 960; + this->actor.shape.rot.y += 0x3C0; } else if ((this->actor.params >= ITEM00_SHIELD_HERO) && (this->actor.params != ITEM00_NUTS_10) && (this->actor.params != ITEM00_BOMBS_0)) { - this->actor.world.rot.x -= 700; - this->actor.shape.rot.y += 400; + this->actor.world.rot.x -= 0x2BC; + this->actor.shape.rot.y += 0x190; this->actor.shape.rot.x = this->actor.world.rot.x - 0x4000; } if (this->actor.velocity.y <= 2.0f) { - var1 = (u16)this->actor.shape.rot.z + 10000; - if (var1 < 65535) { - this->actor.shape.rot.z += 10000; + var1 = (u16)this->actor.shape.rot.z + 0x2710; + if (var1 < 0xFFFF) { + this->actor.shape.rot.z += 0x2710; } else { this->actor.shape.rot.z = -1; } @@ -405,10 +441,10 @@ void func_800A6780(EnItem00* this, PlayState* play) { pos.x = this->actor.world.pos.x + ((Rand_ZeroOne() - 0.5f) * 10.0f); pos.y = this->actor.world.pos.y + ((Rand_ZeroOne() - 0.5f) * 10.0f); pos.z = this->actor.world.pos.z + ((Rand_ZeroOne() - 0.5f) * 10.0f); - EffectSsKirakira_SpawnSmall(play, &pos, &D_801ADF18, &D_801ADF24, &D_801ADF10, &D_801ADF14); + EffectSsKirakira_SpawnSmall(play, &pos, &sEffectVelocity, &sEffectAccel, &sEffectPrimColor, &sEffectEnvColor); } - if (this->actor.bgCheckFlags & 0x0003) { + if (this->actor.bgCheckFlags & 3) { this->actionFunc = func_800A640C; this->actor.shape.rot.z = 0; this->actor.speedXZ = 0.0f; @@ -419,7 +455,7 @@ void func_800A6A40(EnItem00* this, PlayState* play) { Player* player = GET_PLAYER(play); if (this->getItemId != GI_NONE) { - if (Actor_HasParent(&this->actor, play) == 0) { + if (!Actor_HasParent(&this->actor, play)) { Actor_PickUp(&this->actor, play, this->getItemId, 50.0f, 80.0f); this->unk152++; } else { @@ -435,7 +471,7 @@ void func_800A6A40(EnItem00* this, PlayState* play) { this->actor.world.pos = player->actor.world.pos; if (this->actor.params <= ITEM00_RUPEE_RED) { - this->actor.shape.rot.y = this->actor.shape.rot.y + 960; + this->actor.shape.rot.y += 0x3C0; } else if (this->actor.params == ITEM00_RECOVERY_HEART) { this->actor.shape.rot.y = 0; } @@ -443,7 +479,7 @@ void func_800A6A40(EnItem00* this, PlayState* play) { this->actor.world.pos.y += (40.0f + (Math_SinS(this->unk152 * 15000) * (this->unk152 * 0.3f))); if (LINK_IS_ADULT) { - this->actor.world.pos.y = this->actor.world.pos.y + 20.0f; + this->actor.world.pos.y += 20.0f; } } @@ -509,78 +545,101 @@ void EnItem00_Update(Actor* thisx, PlayState* play) { this->unk1A4 = 1; Item_Give(play, ITEM_RUPEE_GREEN); break; + case ITEM00_RUPEE_BLUE: this->unk1A4 = 1; Item_Give(play, ITEM_RUPEE_BLUE); break; + case ITEM00_RUPEE_RED: this->unk1A4 = 1; Item_Give(play, ITEM_RUPEE_RED); break; + case ITEM00_RUPEE_PURPLE: this->unk1A4 = 1; Item_Give(play, ITEM_RUPEE_PURPLE); break; + case ITEM00_RUPEE_HUGE: this->unk1A4 = 1; Item_Give(play, ITEM_RUPEE_HUGE); break; + case ITEM00_STICK: getItemId = GI_STICKS_1; break; + case ITEM00_NUTS_1: getItemId = GI_NUTS_1; break; + case ITEM00_NUTS_10: getItemId = GI_NUTS_10; break; + case ITEM00_RECOVERY_HEART: Item_Give(play, ITEM_RECOVERY_HEART); break; + case ITEM00_FLEXIBLE: case ITEM00_BIG_FAIRY: Health_ChangeBy(play, 0x70); break; + case ITEM00_BOMBS_A: case ITEM00_BOMBS_B: Item_Give(play, ITEM_BOMBS_5); break; + case ITEM00_ARROWS_10: Item_Give(play, ITEM_ARROWS_10); break; + case ITEM00_ARROWS_30: Item_Give(play, ITEM_ARROWS_30); break; + case ITEM00_ARROWS_40: Item_Give(play, ITEM_ARROWS_40); break; + case ITEM00_ARROWS_50: Item_Give(play, ITEM_ARROWS_50); break; + case ITEM00_SMALL_KEY: getItemId = GI_KEY_SMALL; break; + case ITEM00_HEART_PIECE: getItemId = GI_HEART_PIECE; break; + case ITEM00_HEART_CONTAINER: getItemId = GI_HEART_CONTAINER; break; + case ITEM00_MAGIC_LARGE: Item_Give(play, ITEM_MAGIC_LARGE); break; + case ITEM00_MAGIC_SMALL: Item_Give(play, ITEM_MAGIC_SMALL); break; + case ITEM00_SHIELD_HERO: getItemId = GI_SHIELD_HERO; break; + case ITEM00_MAP: getItemId = GI_MAP; break; + case ITEM00_COMPASS: getItemId = GI_COMPASS; break; + default: break; } @@ -603,6 +662,7 @@ void EnItem00_Update(Actor* thisx, PlayState* play) { Actor_MarkForDeath(&this->actor); } return; + default: break; } @@ -634,11 +694,6 @@ void EnItem00_Update(Actor* thisx, PlayState* play) { this->actionFunc = func_800A6A40; } -void EnItem00_DrawRupee(EnItem00* this, PlayState* play); -void EnItem00_DrawSprite(EnItem00* this, PlayState* play); -void EnItem00_DrawHeartContainer(EnItem00* this, PlayState* play); -void EnItem00_DrawHeartPiece(EnItem00* this, PlayState* play); - void EnItem00_Draw(Actor* thisx, PlayState* play) { s32 pad; EnItem00* this = THIS; @@ -652,16 +707,20 @@ void EnItem00_Draw(Actor* thisx, PlayState* play) { case ITEM00_RUPEE_PURPLE: EnItem00_DrawRupee(this, play); break; + case ITEM00_HEART_PIECE: EnItem00_DrawHeartPiece(this, play); break; + case ITEM00_HEART_CONTAINER: EnItem00_DrawHeartContainer(this, play); break; + case ITEM00_RECOVERY_HEART: if (this->unk152 < 0) { if (this->unk152 == -1) { s8 bankIndex = Object_GetIndex(&play->objectCtx, OBJECT_GI_HEART); + if (Object_IsLoaded(&play->objectCtx, bankIndex)) { this->actor.objBankIndex = bankIndex; Actor_SetObjectDependency(play, &this->actor); @@ -673,6 +732,7 @@ void EnItem00_Draw(Actor* thisx, PlayState* play) { } break; } + // fallthrough case ITEM00_BOMBS_A: case ITEM00_ARROWS_10: case ITEM00_ARROWS_30: @@ -688,14 +748,19 @@ void EnItem00_Draw(Actor* thisx, PlayState* play) { case ITEM00_BOMBS_0: EnItem00_DrawSprite(this, play); break; + case ITEM00_SHIELD_HERO: GetItem_Draw(play, GID_SHIELD_HERO); break; + case ITEM00_MAP: GetItem_Draw(play, GID_DUNGEON_MAP); break; + case ITEM00_COMPASS: GetItem_Draw(play, GID_COMPASS); + break; + case ITEM00_MASK: case ITEM00_FLEXIBLE: case ITEM00_3_HEARTS: @@ -706,17 +771,13 @@ void EnItem00_Draw(Actor* thisx, PlayState* play) { } } -TexturePtr D_801ADF30[] = { - gameplay_keep_Tex_061FC0, // Green rupee - gameplay_keep_Tex_061FE0, // Blue rupee - gameplay_keep_Tex_062000, // Red rupee - gameplay_keep_Tex_062040, // Orange rupee - gameplay_keep_Tex_062020 // Purple rupee +static TexturePtr sRupeeTextures[] = { + gRupeeGreenTex, gRupeeBlueTex, gRupeeRedTex, gRupeeOrangeTex, gRupeePurpleTex, }; void EnItem00_DrawRupee(EnItem00* this, PlayState* play) { s32 pad; - s32 iconNb; + s32 texIndex; OPEN_DISPS(play->state.gfxCtx); @@ -724,67 +785,66 @@ void EnItem00_DrawRupee(EnItem00* this, PlayState* play) { func_800B8050(&this->actor, play, 0); if (this->actor.params <= ITEM00_RUPEE_RED) { - iconNb = this->actor.params; + texIndex = this->actor.params; } else { - iconNb = this->actor.params - 0x10; + texIndex = this->actor.params - 0x10; } gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_MODELVIEW | G_MTX_LOAD); - gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(D_801ADF30[iconNb])); + gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(sRupeeTextures[texIndex])); - gSPDisplayList(POLY_OPA_DISP++, gameplay_keep_DL_0622C0); // TODO symbol + gSPDisplayList(POLY_OPA_DISP++, gRupeeDL); CLOSE_DISPS(play->state.gfxCtx); } -TexturePtr D_801ADF44[12] = { - gameplay_keep_Tex_05E6F0, // Heart (Not used) - gameplay_keep_Tex_05CEF0, // Bombs (A), Bombs (0) - gameplay_keep_Tex_05BEF0, // Arrows (10) - gameplay_keep_Tex_05B6F0, // Arrows (30) - gameplay_keep_Tex_05C6F0, // Arrows (40), Arrows (50) - gameplay_keep_Tex_05CEF0, // Bombs (B) - gameplay_keep_Tex_0607C0, // Nuts (1), Nuts (10) - gameplay_keep_Tex_060FC0, // Sticks (1) - gameplay_keep_Tex_0617C0, // Magic (Large) - gameplay_keep_Tex_05FFC0, // Magic (Small) +TexturePtr sItemDropTextures[] = { + gDropRecoveryHeartTex, // Heart (Not used) + gDropBombTex, // Bombs (A), Bombs (0) + gDropArrows1Tex, // Arrows (10) + gDropArrows2Tex, // Arrows (30) + gDropArrows3Tex, // Arrows (40), Arrows (50) + gDropBombTex, // Bombs (B) + gDropDekuNutTex, // Nuts (1), Nuts (10) + gDropDekuStickTex, // Sticks (1) + gDropMagicLargeTex, // Magic (Large) + gDropMagicSmallTex, // Magic (Small) NULL, - gameplay_keep_Tex_05F7C0 // Small Key + gDropKeySmallTex // Small Key }; void EnItem00_DrawSprite(EnItem00* this, PlayState* play) { - s32 iconNb = this->actor.params - 3; + s32 texIndex = this->actor.params - 3; OPEN_DISPS(play->state.gfxCtx); POLY_OPA_DISP = func_801660B8(play, POLY_OPA_DISP); if (this->actor.params == ITEM00_NUTS_10) { - iconNb = 6; + texIndex = 6; } else if (this->actor.params == ITEM00_BOMBS_0) { - iconNb = 1; + texIndex = 1; } else if (this->actor.params >= ITEM00_ARROWS_30) { - iconNb -= 3; + texIndex -= 3; if (this->actor.params < ITEM00_ARROWS_50) { - iconNb++; + texIndex++; } } POLY_OPA_DISP = func_8012C724(POLY_OPA_DISP); - gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(D_801ADF44[iconNb])); + gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(sItemDropTextures[texIndex])); gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_MODELVIEW | G_MTX_LOAD); - gSPDisplayList(POLY_OPA_DISP++, gameplay_keep_DL_05F6F0); + gSPDisplayList(POLY_OPA_DISP++, gItemDropDL); CLOSE_DISPS(play->state.gfxCtx); } void EnItem00_DrawHeartContainer(EnItem00* actor, PlayState* play) { - s32 pad; - s32 pad2; + s32 pad[2]; if (Object_GetIndex(&play->objectCtx, OBJECT_GI_HEARTS) == actor->actor.objBankIndex) { OPEN_DISPS(play->state.gfxCtx); @@ -811,7 +871,7 @@ void EnItem00_DrawHeartPiece(EnItem00* this, PlayState* play) { gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_MODELVIEW | G_MTX_LOAD); - gSPDisplayList(POLY_XLU_DISP++, gameplay_keep_DL_05AAB0); + gSPDisplayList(POLY_XLU_DISP++, gHeartPieceInteriorDL); CLOSE_DISPS(play->state.gfxCtx); } @@ -893,7 +953,7 @@ Actor* Item_DropCollectible(PlayState* play, Vec3f* spawnPos, u32 params) { } spawnedActor->speedXZ = 2.0f; spawnedActor->gravity = -0.9f; - spawnedActor->world.rot.y = randPlusMinusPoint5Scaled(65536.0f); + spawnedActor->world.rot.y = randPlusMinusPoint5Scaled(0x10000); Actor_SetScale(spawnedActor, 0.0f); ((EnItem00*)spawnedActor)->actionFunc = func_800A6780; ((EnItem00*)spawnedActor)->unk152 = 0xDC; @@ -948,7 +1008,7 @@ Actor* Item_DropCollectible2(PlayState* play, Vec3f* spawnPos, s32 params) { } else { spawnedActor->gravity = -0.9f; } - spawnedActor->world.rot.y = randPlusMinusPoint5Scaled(65536.0f); + spawnedActor->world.rot.y = randPlusMinusPoint5Scaled(0x10000); spawnedActor->flags |= 0x10; } } diff --git a/src/overlays/actors/ovl_En_Col_Man/z_en_col_man.c b/src/overlays/actors/ovl_En_Col_Man/z_en_col_man.c index 54a78442cc..0b909d61f3 100644 --- a/src/overlays/actors/ovl_En_Col_Man/z_en_col_man.c +++ b/src/overlays/actors/ovl_En_Col_Man/z_en_col_man.c @@ -234,7 +234,7 @@ void func_80AFE414(Actor* thisx, PlayState* play) { func_8012C2DC(play->state.gfxCtx); func_800B8118(&this->actor, play, 0); gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(POLY_XLU_DISP++, gameplay_keep_DL_05AAB0); + gSPDisplayList(POLY_XLU_DISP++, gHeartPieceInteriorDL); CLOSE_DISPS(play->state.gfxCtx); } @@ -246,9 +246,9 @@ void func_80AFE4AC(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx); POLY_OPA_DISP = func_801660B8(play, POLY_OPA_DISP); POLY_OPA_DISP = func_8012C724(POLY_OPA_DISP); - gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(gameplay_keep_Tex_05E6F0)); + gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(gDropRecoveryHeartTex)); gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(POLY_OPA_DISP++, gameplay_keep_DL_05F6F0); + gSPDisplayList(POLY_OPA_DISP++, gItemDropDL); CLOSE_DISPS(play->state.gfxCtx); } @@ -268,8 +268,8 @@ void func_80AFE650(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx); POLY_OPA_DISP = func_801660B8(play, POLY_OPA_DISP); POLY_OPA_DISP = func_8012C724(POLY_OPA_DISP); - gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(gameplay_keep_Tex_05CEF0)); + gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(gDropBombTex)); gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(POLY_OPA_DISP++, gameplay_keep_DL_05F6F0); + gSPDisplayList(POLY_OPA_DISP++, gItemDropDL); CLOSE_DISPS(play->state.gfxCtx); } 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 4172773f04..6b0a7e3b96 100644 --- a/src/overlays/actors/ovl_En_Fu/z_en_fu.c +++ b/src/overlays/actors/ovl_En_Fu/z_en_fu.c @@ -1460,7 +1460,7 @@ void func_80964950(PlayState* play, EnFuUnkStruct* ptr, s32 len) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(ptr->unk_00, ptr->unk_00, ptr->unk_00, MTXMODE_APPLY); - gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(gameplay_keep_Tex_05E6F0)); + gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(gDropRecoveryHeartTex)); gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, object_mu_DL_00B0E0); } diff --git a/src/overlays/actors/ovl_En_Gamelupy/z_en_gamelupy.c b/src/overlays/actors/ovl_En_Gamelupy/z_en_gamelupy.c index c2c42fa592..e011933787 100644 --- a/src/overlays/actors/ovl_En_Gamelupy/z_en_gamelupy.c +++ b/src/overlays/actors/ovl_En_Gamelupy/z_en_gamelupy.c @@ -55,9 +55,8 @@ static ColliderCylinderInit sCylinderInit = { { 10, 30, 0, { 0, 0, 0 } }, }; -static TexturePtr sRupeeTex[] = { - gameplay_keep_Tex_061FC0, gameplay_keep_Tex_061FE0, gameplay_keep_Tex_062000, - gameplay_keep_Tex_062040, gameplay_keep_Tex_062020, +static TexturePtr sRupeeTextures[] = { + gRupeeGreenTex, gRupeeBlueTex, gRupeeRedTex, gRupeeOrangeTex, gRupeePurpleTex, }; static Color_RGBA8 sPrimColor = { 255, 255, 255, 255 }; @@ -185,8 +184,8 @@ void EnGamelupy_Draw(Actor* thisx, PlayState* play) { func_8012C28C(play->state.gfxCtx); func_800B8050(&this->actor, play, 0); gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(sRupeeTex[this->rupeeIndex])); - gSPDisplayList(POLY_OPA_DISP++, gameplay_keep_DL_0622C0); + gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(sRupeeTextures[this->rupeeIndex])); + gSPDisplayList(POLY_OPA_DISP++, gRupeeDL); CLOSE_DISPS(play->state.gfxCtx); } diff --git a/src/overlays/actors/ovl_En_Kanban/z_en_kanban.c b/src/overlays/actors/ovl_En_Kanban/z_en_kanban.c index 4499ed44a0..5113c12917 100644 --- a/src/overlays/actors/ovl_En_Kanban/z_en_kanban.c +++ b/src/overlays/actors/ovl_En_Kanban/z_en_kanban.c @@ -963,7 +963,7 @@ void EnKanban_Draw(Actor* thisx, PlayState* play) { gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (this->partFlags == 0xFFFF) { - gSPDisplayList(POLY_OPA_DISP++, gameplay_keep_DL_05AED0); + gSPDisplayList(POLY_OPA_DISP++, gSignRectangularDL); } else { for (i = 0; i < ARRAY_COUNT(sPartFlags); i++) { if (sPartFlags[i] & this->partFlags) { 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 6ea2c61536..bf93b729fb 100644 --- a/src/overlays/actors/ovl_En_Ot/z_en_ot.c +++ b/src/overlays/actors/ovl_En_Ot/z_en_ot.c @@ -1152,7 +1152,7 @@ void func_80B5E1D8(PlayState* play, EnOtUnkStruct* arg1, s32 arg2) { Matrix_RotateYS(BINANG_ROT180(Camera_GetCamDirYaw(GET_ACTIVE_CAM(play))), MTXMODE_APPLY); Matrix_Scale(arg1->unk_04, arg1->unk_04, arg1->unk_04, MTXMODE_APPLY); - gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(gameplay_keep_Tex_05E6F0)); + gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(gDropRecoveryHeartTex)); gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, object_ot_DL_000078); } diff --git a/src/overlays/actors/ovl_En_Sc_Ruppe/z_en_sc_ruppe.c b/src/overlays/actors/ovl_En_Sc_Ruppe/z_en_sc_ruppe.c index 5aa54307ad..3eb978314d 100644 --- a/src/overlays/actors/ovl_En_Sc_Ruppe/z_en_sc_ruppe.c +++ b/src/overlays/actors/ovl_En_Sc_Ruppe/z_en_sc_ruppe.c @@ -36,12 +36,12 @@ const ActorInit En_Sc_Ruppe_InitVars = { }; RuppeInfo sRupeeInfo[] = { - { gameplay_keep_Tex_061FC0, 1 }, // Green rupee - { gameplay_keep_Tex_061FE0, 5 }, // Blue rupee - { gameplay_keep_Tex_062000, 20 }, // Red rupee - { gameplay_keep_Tex_062040, 200 }, // Orange rupee - { gameplay_keep_Tex_062020, 50 }, // Purple rupee - { gameplay_keep_Tex_062060, 10 }, // (unused) + { gRupeeGreenTex, 1 }, // Green rupee + { gRupeeBlueTex, 5 }, // Blue rupee + { gRupeeRedTex, 20 }, // Red rupee + { gRupeeOrangeTex, 200 }, // Orange rupee + { gRupeePurpleTex, 50 }, // Purple rupee + { gRupeeSilverTex, 10 }, // (unused) }; static ColliderCylinderInit sCylinderInit = { @@ -185,7 +185,7 @@ void EnScRuppe_Draw(Actor* thisx, PlayState* play) { func_800B8050(&this->actor, play, 0); gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(sRupeeInfo[this->ruppeIndex].tex)); - gSPDisplayList(POLY_OPA_DISP++, gameplay_keep_DL_0622C0); + gSPDisplayList(POLY_OPA_DISP++, gRupeeDL); CLOSE_DISPS(play->state.gfxCtx); } diff --git a/src/overlays/actors/ovl_En_Scopecoin/z_en_scopecoin.c b/src/overlays/actors/ovl_En_Scopecoin/z_en_scopecoin.c index 9a854ccf2c..4bccdb846c 100644 --- a/src/overlays/actors/ovl_En_Scopecoin/z_en_scopecoin.c +++ b/src/overlays/actors/ovl_En_Scopecoin/z_en_scopecoin.c @@ -16,9 +16,6 @@ void EnScopecoin_Destroy(Actor* thisx, PlayState* play); void EnScopecoin_Update(Actor* thisx, PlayState* play); void EnScopecoin_Draw(Actor* thisx, PlayState* play); -void func_80BFCFA0(EnScopecoin* this, PlayState* play); -void func_80BFCFB8(EnScopecoin* this, PlayState* play); - const ActorInit En_Scopecoin_InitVars = { ACTOR_EN_SCOPECOIN, ACTORCAT_NPC, @@ -31,12 +28,12 @@ const ActorInit En_Scopecoin_InitVars = { (ActorFunc)EnScopecoin_Draw, }; -void func_80BFCFA0(EnScopecoin* this, PlayState* play) { - this->actor.shape.rot.y += 500; +void EnScopecoin_Spin(EnScopecoin* this, PlayState* play) { + this->actor.shape.rot.y += 0x1F4; } -void func_80BFCFB8(EnScopecoin* this, PlayState* play) { - if (Flags_GetCollectible(play, (this->actor.params & 0x7F0) >> 4)) { +void EnScopecoin_CheckCollectible(EnScopecoin* this, PlayState* play) { + if (Flags_GetCollectible(play, OBJMUPICT_GET_RUPEE_FLAG(&this->actor))) { Item_DropCollectible(play, &this->actor.world.pos, ITEM00_RUPEE_RED); Actor_MarkForDeath(&this->actor); } @@ -47,31 +44,32 @@ void EnScopecoin_Init(Actor* thisx, PlayState* play) { Actor_SetScale(&this->actor, 0.01f); ActorShape_Init(&this->actor.shape, 0, ActorShadow_DrawCircle, 10.0f); - this->unk148 = (this->actor.params & 0xF); - if (this->unk148 < 0 || this->unk148 >= 8) { - this->unk148 = 0; + + this->rupeeIndex = OBJMUPICT_GET_RUPEE_INDEX(&this->actor); + if ((this->rupeeIndex < 0) || (this->rupeeIndex > 7)) { + this->rupeeIndex = 0; } if (play->actorCtx.flags & ACTORCTX_FLAG_1) { - if (this->unk148 == 2 || this->unk148 == 6) { - if (Flags_GetCollectible(play, (this->actor.params & 0x7F0) >> 4)) { + if ((this->rupeeIndex == 2) || (this->rupeeIndex == 6)) { + if (Flags_GetCollectible(play, OBJMUPICT_GET_RUPEE_FLAG(&this->actor))) { Actor_MarkForDeath(&this->actor); return; } } this->actor.shape.yOffset = 700.0f; - this->actionFunc = func_80BFCFA0; - return; - } - if (this->unk148 == 2 || this->unk148 == 6) { - if (Flags_GetCollectible(play, (this->actor.params & 0x7F0) >> 4)) { - Actor_MarkForDeath(&this->actor); - } else { - this->actor.draw = NULL; - this->actionFunc = func_80BFCFB8; - } + this->actionFunc = EnScopecoin_Spin; } else { - Actor_MarkForDeath(&this->actor); + if ((this->rupeeIndex == 2) || (this->rupeeIndex == 6)) { + if (Flags_GetCollectible(play, OBJMUPICT_GET_RUPEE_FLAG(&this->actor))) { + Actor_MarkForDeath(&this->actor); + return; + } + this->actor.draw = NULL; + this->actionFunc = EnScopecoin_CheckCollectible; + } else { + Actor_MarkForDeath(&this->actor); + } } } @@ -84,9 +82,8 @@ void EnScopecoin_Update(Actor* thisx, PlayState* play) { this->actionFunc(this, play); } -static TexturePtr D_80BFD280[] = { - gameplay_keep_Tex_061FC0, gameplay_keep_Tex_061FE0, gameplay_keep_Tex_062000, gameplay_keep_Tex_062040, - gameplay_keep_Tex_062020, gameplay_keep_Tex_062060, gameplay_keep_Tex_062000, +static TexturePtr sRupeeTextures[] = { + gRupeeGreenTex, gRupeeBlueTex, gRupeeRedTex, gRupeeOrangeTex, gRupeePurpleTex, gRupeeSilverTex, gRupeeRedTex, }; void EnScopecoin_Draw(Actor* thisx, PlayState* play) { @@ -95,11 +92,12 @@ void EnScopecoin_Draw(Actor* thisx, PlayState* play) { func_8012C28C(play->state.gfxCtx); func_800B8050(&this->actor, play, 0); + OPEN_DISPS(gfxCtx); gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(D_80BFD280[this->unk148])); - gSPDisplayList(POLY_OPA_DISP++, gameplay_keep_DL_0622C0); + gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(sRupeeTextures[this->rupeeIndex])); + gSPDisplayList(POLY_OPA_DISP++, gRupeeDL); CLOSE_DISPS(gfxCtx); } diff --git a/src/overlays/actors/ovl_En_Scopecoin/z_en_scopecoin.h b/src/overlays/actors/ovl_En_Scopecoin/z_en_scopecoin.h index 37a6bbf8eb..8fd9b142c5 100644 --- a/src/overlays/actors/ovl_En_Scopecoin/z_en_scopecoin.h +++ b/src/overlays/actors/ovl_En_Scopecoin/z_en_scopecoin.h @@ -5,13 +5,15 @@ struct EnScopecoin; +#define OBJMUPICT_GET_RUPEE_INDEX(thisx) ((thisx)->params & 0xF) +#define OBJMUPICT_GET_RUPEE_FLAG(thisx) (((thisx)->params & 0x7F0) >> 4) + typedef void (*EnScopecoinActionFunc)(struct EnScopecoin*, PlayState*); typedef struct EnScopecoin { /* 0x000 */ Actor actor; /* 0x144 */ EnScopecoinActionFunc actionFunc; - /* 0x148 */ s16 unk148; - /* 0x14A */ s16 unk14A; + /* 0x148 */ s16 rupeeIndex; } EnScopecoin; // size = 0x14C extern const ActorInit En_Scopecoin_InitVars; diff --git a/src/overlays/actors/ovl_En_Tanron5/z_en_tanron5.c b/src/overlays/actors/ovl_En_Tanron5/z_en_tanron5.c index dc74fa4618..45f88ffb72 100644 --- a/src/overlays/actors/ovl_En_Tanron5/z_en_tanron5.c +++ b/src/overlays/actors/ovl_En_Tanron5/z_en_tanron5.c @@ -508,9 +508,9 @@ void func_80BE5C10(Actor* thisx, PlayState* play) { func_8012C28C(play->state.gfxCtx); if (this->unk_1A0 == 0) { - texture = gameplay_keep_Tex_05BEF0; + texture = gDropArrows1Tex; } else { - texture = gameplay_keep_Tex_0617C0; + texture = gDropMagicLargeTex; } POLY_OPA_DISP = func_8012C724(POLY_OPA_DISP); @@ -521,7 +521,7 @@ void func_80BE5C10(Actor* thisx, PlayState* play) { Matrix_RotateZS(this->unk_198, MTXMODE_APPLY); gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(POLY_OPA_DISP++, gameplay_keep_DL_05F6F0); + gSPDisplayList(POLY_OPA_DISP++, gItemDropDL); CLOSE_DISPS(play->state.gfxCtx); } diff --git a/src/overlays/actors/ovl_En_Test6/z_en_test6.c b/src/overlays/actors/ovl_En_Test6/z_en_test6.c index 3211d31672..ba375f583d 100644 --- a/src/overlays/actors/ovl_En_Test6/z_en_test6.c +++ b/src/overlays/actors/ovl_En_Test6/z_en_test6.c @@ -80,13 +80,7 @@ u8 D_80A93E80[] = { }; TexturePtr D_80A9402C[] = { - NULL, - gameplay_keep_Tex_05B6F0, - gameplay_keep_Tex_05CEF0, - gameplay_keep_Tex_0607C0, - gameplay_keep_Tex_060FC0, - gameplay_keep_Tex_061FC0, - gameplay_keep_Tex_061FE0, + NULL, gDropArrows2Tex, gDropBombTex, gDropDekuNutTex, gDropDekuStickTex, gRupeeGreenTex, gRupeeBlueTex, }; Color_RGB8 D_80A94048 = { 230, 230, 220 }; @@ -221,7 +215,7 @@ void func_80A90D34(EnTest6* this, PlayState* play, EnTest6Struct* ptr) { gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(D_80A9402C[ptr->unk_00])); gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(POLY_OPA_DISP++, gameplay_keep_DL_05F6F0); + gSPDisplayList(POLY_OPA_DISP++, gItemDropDL); } Matrix_Translate(ptr->unk_08 * ptr->unk_04, ptr->unk_0C, ptr->unk_10 * ptr->unk_04, MTXMODE_NEW); @@ -273,7 +267,7 @@ void func_80A90FC0(EnTest6* this, PlayState* play, EnTest6Struct* ptr) { gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(D_80A9402C[ptr->unk_00])); - gSPDisplayList(POLY_OPA_DISP++, gameplay_keep_DL_0622C0); + gSPDisplayList(POLY_OPA_DISP++, gRupeeDL); } Matrix_Translate(ptr->unk_08 * ptr->unk_04, ptr->unk_0C, ptr->unk_10 * ptr->unk_04, MTXMODE_NEW); diff --git a/tools/disasm/functions.txt b/tools/disasm/functions.txt index 2afc5d5537..f2af2a653a 100644 --- a/tools/disasm/functions.txt +++ b/tools/disasm/functions.txt @@ -16430,8 +16430,8 @@ 0x80BFC9E4:("EnRz_Update",), 0x80BFCAD0:("func_80BFCAD0",), 0x80BFCB3C:("EnRz_Draw",), - 0x80BFCFA0:("func_80BFCFA0",), - 0x80BFCFB8:("func_80BFCFB8",), + 0x80BFCFA0:("EnScopecoin_Spin",), + 0x80BFCFB8:("EnScopecoin_CheckCollectible",), 0x80BFD010:("EnScopecoin_Init",), 0x80BFD148:("EnScopecoin_Destroy",), 0x80BFD158:("EnScopecoin_Update",), diff --git a/tools/disasm/variables.txt b/tools/disasm/variables.txt index 86ab55c724..f21fc7d98f 100644 --- a/tools/disasm/variables.txt +++ b/tools/disasm/variables.txt @@ -377,12 +377,12 @@ 0x801ADEC0:("En_Item00_InitVars","ActorInit","",0x20), 0x801ADEE0:("enItem00CylinderInit","ColliderCylinderInit","",0x2c), 0x801ADF0C:("enItem00InitVars","ActorInitVar","[1]",0x4), - 0x801ADF10:("D_801ADF10","ColorRGBA8","",0x4), - 0x801ADF14:("D_801ADF14","ColorRGBA8","",0x4), - 0x801ADF18:("D_801ADF18","Vec3f","",0xc), - 0x801ADF24:("D_801ADF24","Vec3f","",0xc), - 0x801ADF30:("D_801ADF30","UNK_PTR","[5]",0x14), - 0x801ADF44:("D_801ADF44","UNK_PTR","[12]",0x30), + 0x801ADF10:("sEffectPrimColor","ColorRGBA8","",0x4), + 0x801ADF14:("sEffectEnvColor","ColorRGBA8","",0x4), + 0x801ADF18:("sEffectVelocity","Vec3f","",0xc), + 0x801ADF24:("sEffectAccel","Vec3f","",0xc), + 0x801ADF30:("sRupeeTextures","UNK_PTR","[5]",0x14), + 0x801ADF44:("sItemDropTextures","UNK_PTR","[12]",0x30), 0x801ADF74:("sDropTable","u8","[272]",0x110), 0x801AE084:("sDropTableAmounts","u8","[272]",0x110), 0x801AE194:("D_801AE194","s32","[32]",0x80), @@ -16250,7 +16250,7 @@ 0x80BFCD78:("D_80BFCD78","f32","",0x4), 0x80BFCD7C:("D_80BFCD7C","f32","",0x4), 0x80BFD260:("En_Scopecoin_InitVars","UNK_TYPE1","",0x1), - 0x80BFD280:("D_80BFD280","UNK_TYPE1","",0x1), + 0x80BFD280:("sRupeeTextures","UNK_TYPE1","",0x1), 0x80BFDEA0:("D_80BFDEA0","UNK_TYPE1","",0x1), 0x80BFDEB4:("D_80BFDEB4","UNK_TYPE1","",0x1), 0x80BFDF28:("En_Bjt_InitVars","UNK_TYPE1","",0x1),