BSS round 2, hud_element.c funcs (#613)

* an end func

* 2nd segment bss file added

* hud_element work

* some renaming, set_hud_element_scale

* 2 hud_element funcz

* remove more unneeded undefined_syms

* bss 3, PR comments
This commit is contained in:
Ethan Roseman 2022-01-10 13:25:06 -05:00 committed by GitHub
parent 486dbfda39
commit e60e5fccd1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
29 changed files with 959 additions and 1717 deletions

View File

@ -2120,7 +2120,7 @@ typedef struct struct802E4B10 {
typedef struct { typedef struct {
/* 0x00000 */ LookAt lookAt; /* 0x00000 */ LookAt lookAt;
/* 0x00020 */ char unk_20[0x10]; /* 0x00020 */ char unk_20[0x10];
/* 0x00030 */ Matrix4s camPerspMatrix[8]; // could only be length 4, unsure /* 0x00030 */ Mtx camPerspMatrix[8]; // could only be length 4, unsure
/* 0x00230 */ Gfx mainGfx[0x2080]; /* 0x00230 */ Gfx mainGfx[0x2080];
/* 0x10630 */ Gfx backgroundGfx[0x200]; // used by gfx_task_background /* 0x10630 */ Gfx backgroundGfx[0x200]; // used by gfx_task_background
/* 0x11630 */ Mtx matrixStack[0x200]; /* 0x11630 */ Mtx matrixStack[0x200];

View File

@ -1,8 +1,6 @@
#include "common.h" #include "common.h"
#include "sprite.h" #include "sprite.h"
extern s32 spr_allocateBtlComponentsOnWorldHeap;
typedef struct UnkSpr10 { typedef struct UnkSpr10 {
/* 0x00 */ s32 unk_00; /* 0x00 */ s32 unk_00;
/* 0x04 */ char unk_04[0xC]; /* 0x04 */ char unk_04[0xC];

View File

@ -315,7 +315,7 @@ void func_80254C50(Actor* actor) {
guMtxCatF(sp258, sp1D8, sp218); guMtxCatF(sp258, sp1D8, sp218);
temp_s0_2 = partTable->opacity; temp_s0_2 = partTable->opacity;
partTable->opacity = phi_s6 - (sp29C * phi_s4); partTable->opacity = phi_s6 - (sp29C * phi_s4);
func_802591EC(0, partTable, clamp_angle(scale + 0xB4), &sp218, 1); func_802591EC(0, partTable, clamp_angle(scale + 180), &sp218, 1);
partTable->opacity = temp_s0_2; partTable->opacity = temp_s0_2;
} }
} }
@ -752,19 +752,19 @@ INCLUDE_ASM(s32, "182B30", func_802597B0);
INCLUDE_ASM(s32, "182B30", func_8025995C); INCLUDE_ASM(s32, "182B30", func_8025995C);
void func_80259A48(s32 arg0, ActorPart* arg1, s32 arg2, s32 arg3) { void func_80259A48(s32 arg0, ActorPart* part, s32 arg2, s32 arg3) {
DecorationTable* decorationTable = arg1->decorationTable; DecorationTable* decorationTable = part->decorationTable;
if (decorationTable->unk_6C1 != 0) { if (decorationTable->unk_6C1 != 0) {
arg1->verticalStretch = 1; part->verticalStretch = 1;
arg1->unkOffset[0] = 0; part->unkOffset[0] = 0;
arg1->unkOffset[1] = 0; part->unkOffset[1] = 0;
decorationTable->unk_6C1 = 0; decorationTable->unk_6C1 = 0;
} }
if (arg0 == 0) { if (arg0 == 0) {
func_802597B0(arg1, arg2, arg3); func_802597B0(part, arg2, arg3);
} else { } else {
func_8025950C(arg1, arg2, arg3); func_8025950C(part, arg2, arg3);
} }
} }

View File

@ -1,6 +1,30 @@
#include "common.h" #include "common.h"
#include "audio.h" #include "audio.h"
void snd_SEFCmd_00_SetVolume(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_01_SetPan(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_02_SetInstrument(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_03_SetReverb(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_04(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_05(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_06(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_07(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_08(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_09_StartLoop(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_0A_EndLoop(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_0B(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_0C(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_0D(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_0E(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_0F(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_10_Jump(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_13(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_14(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_15(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_16(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_17(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_18(SoundManager* manager, SoundPlayer* player);
void func_8004B440(SoundManager* manager, u8 arg1, u8 arg2, UnkAl19E0* arg3, u8 arg4) { void func_8004B440(SoundManager* manager, u8 arg1, u8 arg2, UnkAl19E0* arg3, u8 arg4) {
u32 i; u32 i;
s32 c = 0x6A25E; s32 c = 0x6A25E;
@ -185,30 +209,6 @@ INCLUDE_ASM(s32, "26840_len_20d0", snd_set_voice_volume);
INCLUDE_ASM(s32, "26840_len_20d0", func_8004CDF8); INCLUDE_ASM(s32, "26840_len_20d0", func_8004CDF8);
void snd_SEFCmd_00_SetVolume(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_01_SetPan(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_02_SetInstrument(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_03_SetReverb(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_04(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_05(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_06(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_07(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_08(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_09_StartLoop(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_0A_EndLoop(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_0B(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_0C(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_0D(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_0E(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_0F(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_10_Jump(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_13(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_14(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_15(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_16(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_17(SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_18(SoundManager* manager, SoundPlayer* player);
INCLUDE_ASM(void, "26840_len_20d0", snd_SEFCmd_00_SetVolume, SoundManager* manager, SoundPlayer* player); INCLUDE_ASM(void, "26840_len_20d0", snd_SEFCmd_00_SetVolume, SoundManager* manager, SoundPlayer* player);
void snd_SEFCmd_01_SetPan(SoundManager* manager, SoundPlayer* player) { void snd_SEFCmd_01_SetPan(SoundManager* manager, SoundPlayer* player) {

View File

@ -458,6 +458,7 @@ void snd_get_sequence_player_and_track(u32 playerIndex, s32** outCurrentTrackDat
default: default:
*outCurrentTrackData = NULL; *outCurrentTrackData = NULL;
*outPlayer = NULL; *outPlayer = NULL;
break;
} }
} }
@ -474,6 +475,7 @@ void snd_get_sequence_player(u32 playerIndex, BGMPlayer** outPlayer) {
break; break;
default: default:
*outPlayer = NULL; *outPlayer = NULL;
break;
} }
} }
@ -625,7 +627,7 @@ void snd_copy_words(s32* src, s32* dst, s32 num) {
num /= 4; num /= 4;
if (num > 0) { if (num > 0) {
if ((((s32) src | (s32) dst) & 3) == 0) { if (!(((s32) src | (s32) dst) & 3)) {
s32* srcIt = src; s32* srcIt = src;
s32* dstIt = dst; s32* dstIt = dst;

View File

@ -944,23 +944,21 @@ s32 D_8014C188[] = { 0xFFFE7960, 0x000F4240, 0x000F4240, 0x000F4240, 0x00000000,
s8 D_8014C248[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; s8 D_8014C248[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
// BSS // BSS
static s32 B_801512B0[2]; extern s32 B_801512B0[2];
static ModelCustomGfxBuilderList* gCurrentCustomModelGfxBuildersPtr; extern ModelCustomGfxBuilderList* gCurrentCustomModelGfxBuildersPtr;
static s32 D_801512BC; extern s32 D_801512BC;
static s32 D_801512C0; extern s32 D_801512C0;
static s32 gEntityHeapBase; extern s32 gEntityHeapBase;
static s32 D_801512C8; extern s32 D_801512C8;
BSS ModelList* gCurrentModels; extern ModelList* gCurrentModels;
static s32 D_801512D0[4]; extern s32 D_801512D0[4];
extern ModelNode** gCurrentModelTreeRoot; extern ModelNode** gCurrentModelTreeRoot;
static ModelTransformGroupList* gCurrentTransformGroups; extern ModelTransformGroupList* gCurrentTransformGroups;
static s8 gMsgGlobalWaveCounter[0x4]; extern s8 gMsgGlobalWaveCounter[0x4];
static ModelCustomGfxList* gCurrentCustomModelGfxPtr; extern ModelCustomGfxList* gCurrentCustomModelGfxPtr;
static s32 gLastCreatedEntityIndex; extern s32 gLastCreatedEntityIndex;
static s8 B_801512F0[0x410]; extern s8 B_801512F0[0x410];
static GameMode gMainGameState[2]; // TODO rename extern GameMode gMainGameState[2]; // TODO rename
extern s32 D_80151300; extern s32 D_80151300;
extern s32 D_80151324; extern s32 D_80151324;

148
src/bss2.c Normal file
View File

@ -0,0 +1,148 @@
#include "types.h"
// This file exists to enforce the order of BSS symbols, since they were reordered in the original rom.
#ifndef M2CTX
#define BSS __attribute__ ((section (".bss")))
#else
#define BSS static
#endif
BSS s32 D_8010C920;
BSS s32 D_8010C924;
BSS s32 D_8010C928;
BSS s32 D_8010C92C;
BSS s32 wPartnerNpc;
BSS s32 D_8010C934;
BSS s32 D_8010C938;
BSS s32 D_8010C93C;
BSS s32 D_8010C940;
BSS s32 gSpinHistoryBufferPos;
BSS char D_8010C948[0x4];
BSS s32 D_8010C94C;
BSS s32 D_8010C950;
BSS s32 D_8010C954;
BSS s32 D_8010C958;
BSS s32 D_8010C95C;
BSS s32 D_8010C960;
BSS s32 D_8010C964;
BSS s8 D_8010C968;
BSS char D_8010C969;
BSS char D_8010C96A;
BSS s8 D_8010C96B;
BSS s32 D_8010C96C;
BSS s32 D_8010C970;
BSS s32 D_8010C974;
BSS s16 D_8010C978;
BSS s16 D_8010C97A;
BSS s32 D_8010C97C;
BSS s32 D_8010C980;
BSS s32 D_8010C984;
BSS char D_8010C988[0x4];
BSS s32 D_8010C98C;
BSS s32 D_8010C990;
BSS char D_8010C994[0xC];
BSS s32 D_8010C9A0;
BSS char D_8010C9A4[0xC];
BSS s32 D_8010C9B0;
BSS char D_8010C9B4[0xC];
BSS s32 D_8010C9C0;
BSS char D_8010C9C4[0x4];
BSS s32 D_8010C9C8;
BSS char D_8010C9CC[0x32C];
BSS s16 D_8010CCF8;
BSS s16 D_8010CCFA;
BSS s16 D_8010CCFC;
BSS s16 D_8010CCFE;
BSS s32 D_8010CD00;
BSS char D_8010CD04[0xC];
BSS s16 D_8010CD10;
BSS s16 D_8010CD12;
BSS char D_8010CD14[0xC];
BSS s32 D_8010CD20;
BSS char D_8010CD24[0xC];
BSS s32 D_8010CD30;
BSS s32 D_8010CD34;
BSS s32 D_8010CD38;
BSS char D_8010CD3C[0x27C];
BSS s32 D_8010CFB8;
BSS s32 D_8010CFBC;
BSS s32 wPartnerTetherDistance;
BSS s32 D_8010CFC4;
BSS s16 D_8010CFC8;
BSS s16 D_8010CFCA;
BSS s16 D_8010CFCC;
BSS s16 D_8010CFCE;
BSS s32 D_8010CFD0;
BSS s32 D_8010CFD4;
BSS s32 D_8010CFD8;
BSS s32 D_8010CFDC;
BSS s32 D_8010CFE0;
BSS s32 D_8010CFE4;
BSS s32 D_8010CFE8;
BSS s32 wPartner;
BSS s32 D_8010CFF0;
BSS s32 D_8010CFF4;
BSS char D_8010CFF8[0x8];
BSS s32 D_8010D000;
BSS char D_8010D004[0x63C];
BSS s32 D_8010D640;
BSS s32 D_8010D644;
BSS s32 D_8010D648;
BSS s32 D_8010D64C;
BSS s32 D_8010D650;
BSS s8 D_8010D654;
BSS s8 D_8010D655;
BSS s16 D_8010D656;
BSS s16 D_8010D658;
BSS s16 D_8010D65A;
BSS s32 D_8010D65C;
BSS s32 D_8010D660;
BSS s32 D_8010D664;
BSS s32 D_8010D668;
BSS s32 D_8010D66C;
BSS s32 D_8010D670;
BSS s32 D_8010D674;
BSS s32 D_8010D678;
BSS s16 D_8010D67C;
BSS s16 D_8010D67E;
BSS s16 D_8010D680;
BSS s16 D_8010D682;
BSS s16 D_8010D684;
BSS s16 D_8010D686;
BSS s16 D_8010D688;
BSS s16 D_8010D68A;
BSS s16 D_8010D68C;
BSS s8 D_8010D68E;
BSS s8 D_8010D68F;
BSS s8 D_8010D690;
BSS s8 D_8010D691;
BSS s8 D_8010D692;
BSS s8 D_8010D693;
BSS s32 D_8010D694;
BSS s8 D_8010D698;
BSS s8 D_8010D699;
BSS s16 D_8010D69A;
BSS s32 gPopupMenu;
BSS s32 D_8010D6A0;
BSS s32 D_8010D6A4;
BSS char D_8010D6A8[0x8];
BSS char D_8010D6B0[0x1500];
BSS char gPartnerActionStatus[0x360];
BSS char gSpinHistoryPosY[0x18];
BSS char gSpinHistoryPosX[0x18];
BSS char gSpinHistoryPosZ[0x18];
BSS char gUIStatus[0x3A];
BSS s16 D_8010EF92;
BSS char D_8010EF94[0x8];
BSS s8 D_8010EF9C;
BSS s8 D_8010EF9D;
BSS s8 D_8010EF9E;
BSS char D_8010EF9F;
BSS char D_8010EFA0[0x28];
BSS s8 gPlayerStatus[0xB4];
BSS s32 gPlayerActionState;
BSS s8 gPlayerAnimation[0x1D0];
BSS s8 gPlayerSpinState[0x40];
BSS s8 gPlayerData[0x428];
BSS s8 gSpinHistoryPosAngle[0x18];

286
src/bss3.c Normal file
View File

@ -0,0 +1,286 @@
#include "types.h"
// This file exists to enforce the order of BSS symbols, since they were reordered in the original rom.
#ifndef M2CTX
#define BSS __attribute__ ((section (".bss")))
#else
#define BSS static
#endif
BSS s32 D_801512B0;
BSS s32 D_801512B4;
BSS s32 gCurrentCustomModelGfxBuildersPtr;
BSS s32 D_801512BC;
BSS s32 D_801512C0;
BSS s32 gEntityHeapBase;
BSS s32 D_801512C8;
BSS s32 gCurrentModels;
BSS s32 D_801512D0;
BSS s32 gAnimCount;
BSS s16 gMsgBGScrollAmtX;
BSS s16 D_801512DA;
BSS s32 D_801512DC;
BSS s32 gCurrentTransformGroups;
BSS s32 gMsgGlobalWaveCounter;
BSS s32 gCurrentCustomModelGfxPtr;
BSS s32 gLastCreatedEntityIndex;
BSS s32 D_801512F0;
BSS s32 gMsgVarImages;
BSS s32 D_801512F8;
BSS s32 gCurrentModelTreeRoot;
BSS s32 D_80151300;
BSS s32 D_80151304;
BSS s32 D_80151308;
BSS s16 gMsgBGScrollAmtY;
BSS s16 D_8015130E;
BSS s32 D_80151310;
BSS s32 D_80151314;
BSS s32 gEntityModelCount;
BSS s32 D_8015131C;
BSS char D_80151320[0x4];
BSS s32 D_80151324;
BSS s32 D_80151328;
BSS s32 D_8015132C;
BSS s32 D_80151330;
BSS s32 gTriggerCount;
BSS s32 D_80151338;
BSS s32 D_8015133C;
BSS s32 gCurrentDoorSoundsSet;
BSS s32 D_80151344;
BSS char D_80151348[0x38];
BSS s8 gWorldEntityList[0x78];
BSS s8 gBattleEntityList[0x78];
BSS s32 gCurrentEntityListPtr;
BSS char D_80151474[0x4];
BSS s8 gWorldShadowList[0xF0];
BSS s8 gBattleShadowList[0xF0];
BSS s32 gCurrentShadowListPtr;
BSS s32 wStaticEntityDataSize;
BSS s32 bStaticEntityDataSize;
BSS char D_80151664[0x4];
BSS s8 wStaticEntityData[0x74];
BSS s32 D_801516DC;
BSS char D_8015DCE0[0x8];
BSS s8 bStaticEntityData[0x14];
BSS s32 D_801516FC;
BSS s8 gMainGameState[0x40];
BSS s8 gCurrentTileDescriptor[0x30];
BSS s8 wModelList[0x400];
BSS s8 bModelList[0x400];
BSS s8 wTransformGroups[0x10];
BSS s8 bTransformGroups[0x10];
BSS s8 wModelSpecialDls[0x80];
BSS s8 bModelSpecialDls[0x80];
BSS s8 wCustomModelGfxBuilders[0x80];
BSS s8 bCustomModelGfxBuilders[0x80];
BSS s8 D_80152190[0x40];
BSS s8 D_801521D0[0x40];
BSS s32 gCurrentModelLocalVtxBuffers;
BSS s32 D_80152214;
BSS s32 D_80152218;
BSS char D_8015221C[0x4];
BSS s8 D_80152220[0x800];
BSS s8 D_80152A20[0x800];
BSS s8 wBgRenderType;
BSS s8 bBgRenderType;
BSS s8 D_80153222;
BSS s8 D_80153223;
BSS s16 mdl_treeIterPos;
BSS s16 D_80153226;
BSS s8 wFogSettings[0x20];
BSS s8 bFogSettings[0x1C];
BSS s32 gCurrentFogSettings;
BSS s8 texPannerMainU[0x40];
BSS s8 texPannerMainV[0x40];
BSS s8 texPannerAuxU[0x40];
BSS s8 texPannerAuxV[0x40];
BSS s32 mdl_nextTextureAddress;
BSS s16 mdl_currentTransformGroupChildIndex;
BSS s16 D_8015336E;
BSS s32 D_80153370;
BSS s16 D_80153374;
BSS s16 D_80153376;
BSS s8 D_80153378[0x8];
BSS s8 D_80153380[0x20];
BSS s8 mdl_renderTaskLists[0xC];
BSS s32 mdl_renderTaskMode;
BSS s8 mdl_renderTaskCount[0x10];
BSS s8 D_801533C0[0x300];
BSS s8 D_801536C0[0x300];
BSS s8 D_801539C0[0x40];
BSS s8 D_80153A00[0x40];
BSS s32 gCurrentAnimMeshListPtr;
BSS s32 gAnimModelFogEnabled;
BSS s8 gAnimModelFogR;
BSS char D_80153A49;
BSS char D_80153A4A;
BSS s8 D_80153A4B;
BSS s8 gAnimModelFogG;
BSS char D_80153A4D;
BSS char D_80153A4E;
BSS s8 D_80153A4F;
BSS s8 gAnimModelFogB;
BSS char D_80153A51;
BSS char D_80153A52;
BSS s8 D_80153A53;
BSS s8 gAnimModelFogA;
BSS char D_80153A55;
BSS char D_80153A56;
BSS s8 D_80153A57;
BSS s32 gAnimModelFogStart;
BSS s32 gAnimModelFogEnd;
BSS s8 D_80153A60[0x8];
BSS s8 gAnimRotMtx[0x40];
BSS s8 gAnimScaleMtx[0x40];
BSS s8 gAnimTranslateMtx[0x40];
BSS s8 gAnimRotScaleMtx[0x40];
BSS s8 gAnimTreeRoot[0x8];
BSS s8 gWorldEntityModelList[0x400];
BSS s8 gBattleEntityModelList[0x400];
BSS s32 gCurrentEntityModelList;
BSS s32 D_80154374;
BSS s32 entity_fog_enabled;
BSS s8 entity_fog_red;
BSS char D_8015437D;
BSS char D_8015437E;
BSS s8 D_8015437F;
BSS s8 entity_fog_green;
BSS char D_80154381;
BSS char D_80154382;
BSS s8 D_80154383;
BSS s8 entity_fog_blue;
BSS char D_80154385;
BSS char D_80154386;
BSS s8 D_80154387;
BSS s8 entity_fog_alpha;
BSS char D_80154389;
BSS char D_8015438A;
BSS s8 D_8015438B;
BSS s32 entity_fog_dist_min;
BSS s32 entity_fog_dist_max;
BSS char D_80154394[0xC];
BSS s8 gWorldDynamicEntityList[0x40];
BSS s8 gBattleDynamicEntityList[0x40];
BSS s32 gCurrentDynamicEntityListPtr;
BSS char D_80154424[0xC];
BSS s8 gMessageBuffers[0x800];
BSS s8 gMessagePrinters[0x1008];
BSS s8 gMessageMsgVars[0x60];
BSS s8 D_80155C98[0x8];
BSS s8 gMessageWindowProjMatrix[0x80];
BSS s32 D_80155D20;
BSS char D_8015DD24[0x50];
BSS s32 msg_drawState;
BSS char D_8015DD78[0x8];
BSS s32 D_80155D80;
BSS s32 D_80155D84;
BSS s32 D_80155D88;
BSS s16 D_80155D8C;
BSS s16 D_80155D8E;
BSS s8 D_80155D90[0x10];
BSS s8 D_80155DA0[0x400];
BSS s8 D_801561A0[0x400];
BSS s32 D_801565A0;
BSS s16 D_801565A4;
BSS s16 D_801565A6;
BSS s32 D_801565A8;
BSS char D_801565AC[0x4];
BSS s8 D_801565B0[0x330];
BSS s32 D_801568E0;
BSS s32 D_801568E4;
BSS s32 D_801568E8;
BSS s32 D_801568EC;
BSS s32 D_801568F0;
BSS s32 D_801568F4;
BSS s32 D_801568F8;
BSS char D_801568FC[0x4];
BSS s32 screen_overlay_frontType;
BSS s32 screen_overlay_frontZoom;
BSS s32 screen_overlay_backType;
BSS s32 screen_overlay_backZoom;
BSS s8 D_80156910[0x10];
BSS s8 D_80156920[0x28];
BSS s8 D_80156948[0x8];
BSS s32 fold_vtxBuf;
BSS s32 D_80156954;
BSS s8 D_80156958[0x8];
BSS s8 D_80156960[0x8];
BSS s8 D_80156968[0x8];
BSS s8 D_80156970[0x10];
BSS s8 fold_groupDescriptors[0x5A0];
BSS s8 fold_gfxDataCache[0x40];
BSS s8 D_80156F60[0x500];
BSS s8 D_80157460[0x500];
BSS s32 gHudElements;
BSS s32 D_80157964;
BSS s32 D_80157968;
BSS char D_8015796C[0x4];
BSS s8 D_80157970[0x600];
BSS s8 D_80157F70[0x600];
BSS s32 D_80158570;
BSS s32 D_80158574;
BSS char D_80158578[0x8];
BSS s8 D_80158580[0x600];
BSS s8 D_80158B80[0x600];
BSS s8 D_80159180[0x10];
BSS s8 wTriggerList[0x100];
BSS s8 bTriggerList[0x100];
BSS s32 gCurrentTriggerListPtr;
BSS char D_80159394[0xC];
BSS s8 D_801593A0[0x1FE];
BSS s16 D_8015959E;
BSS s8 D_801595A0[0x20];
BSS s8 D_801595C0[0xB0];
BSS s8 D_80159670[0xB0];
BSS s8 D_80159720[0xB0];
BSS s8 D_801597D0[0xB0];
BSS s8 D_80159880[0x20];
BSS s8 D_801598A0[0x118];
BSS s8 D_801599B8[0x118];
BSS s32 D_80159AD0;
BSS s32 D_80159AD4;
BSS char D_80159AD8[0x8];
BSS s16 gMusicUnkVolume;
BSS s16 gMusicTargetVolume;
BSS s16 gMusicUnkVolume2;
BSS s16 gMusicCurrentVolume;
BSS char D_80159AE8[0x8];
BSS s8 gMusicSettings[0x18];
BSS s8 D_80159B08[0x48];
BSS s8 D_80159B50[0x200];
BSS s32 gWindows;
BSS s8 D_80159D54[0xC];
BSS s8 D_80159D60[0x110];
BSS s8 D_80159E70[0xC];
BSS char D_80159E7C;
BSS char D_80159E7D;
BSS char D_80159E7E;
BSS char D_80159E7F;
BSS s8 D_80159E80[0x190];
BSS s8 D_8015A010[0x60];
BSS s8 D_8015A070[0xC];
BSS s8 D_8015A07C[0x164];
BSS char D_8015A1E0;
BSS char D_8015A1E1;
BSS char D_8015A1E2;
BSS char D_8015A1E3;
BSS s8 D_8015A1E4[0xD8];
BSS s16 D_8015A2BC;
BSS s16 D_8015A2BE;
BSS char D_8015A2C0[0x10];
BSS s8 D_8015A2D0[0xA0];
BSS s8 D_8015A370[0x1E0];
BSS s8 gCollisionStatus[0x28];
BSS s16 D_8015A578;
BSS s16 D_8015A57A;
BSS char D_8015A57C[0x14];
BSS s8 mdl_textureHandles[0x2200];
BSS s8 D_8015C790[0x30];
BSS s8 D_8015C7C0[0x10];
BSS s16 D_8015C7D0;
BSS s16 D_8015C7D2;
BSS char D_8015C7D4[0x4];
BSS s32 D_8015C7D8;
BSS char D_8015C7DC[0x4];
BSS s32 D_8015C7E0;

View File

@ -1,8 +1,8 @@
#include "common.h" #include "common.h"
#include "hud_element.h" #include "hud_element.h"
#include "nu/nusys.h"
// TODO: probably BSS extern HudElementList* gHudElements;
extern HudElement** hudElements;
s32 D_8014EFC0[] = { 0x00000000, }; s32 D_8014EFC0[] = { 0x00000000, };
s32 D_8014EFC4[] = { 0x00011000, }; s32 D_8014EFC4[] = { 0x00011000, };
@ -11,25 +11,68 @@ HudElementAnim hud_element_defaultAnim = {
he_End, he_End,
}; };
s32 D_8014EFCC[] = { 0x00080008, 0x00200010, 0x00100080, 0x00180018, 0x01200020, 0x00200200, 0x00300030, 0x04800040, Vec3s gHudElementSizes[26] = {
0x00400800, 0x00080010, 0x00400010, 0x00080040, 0x00100018, 0x00C00010, 0x00200100, 0x00400020, { 8, 8, 32 },
0x04000020, 0x00100100, 0x000C000C, 0x00480030, 0x00180240, 0x00200008, 0x00800018, 0x00080060, { 16, 16, 128 },
0x00400010, 0x02000010, 0x00400200, 0x00C00020, 0x0C000028, 0x00280320, 0x00180010, 0x00C00020, { 24, 24, 288 },
0x00280280, 0x00280010, 0x01400028, 0x001801E0, 0x00200018, 0x01800014, 0x00200000, 0x00220020, { 32, 32, 512 },
0x00000028, 0x002803C8, 0x00000000, 0xED000000, 0x005003C0, 0xE7000000, 0x00000000, 0xE3000A11, { 48, 48, 1152 },
0x00002CF0, 0xE2001E01, 0x00000000, 0xDF000000, 0x00000000, 0xED000000, 0x005003C0, 0xE7000000, { 64, 64, 2048 },
0x00000000, 0xE3000A11, 0x00002CF0, 0xE2001E01, 0x00000000, 0xDF000000, 0x00000000, { 8, 16, 64 },
}; { 16, 8, 64 },
s32 D_8014F0C8[] = { 0xFFF40000, 0x00000000, 0x08000800, 0x000000FF, 0x00330000, 0x00000000, 0x00000800, 0x000000FF, { 16, 24, 192 },
{ 16, 32, 256 },
{ 64, 32, 1024 },
{ 32, 16, 256 },
{ 12, 12, 72 },
{ 48, 24, 576 },
{ 32, 8, 128 },
{ 24, 8, 96 },
{ 64, 16, 512 },
{ 16, 64, 512 },
{ 192, 32, 3072 },
{ 40, 40, 800 },
{ 24, 16, 192 },
{ 32, 40, 640 },
{ 40, 16, 320 },
{ 40, 24, 480 },
{ 32, 24, 384 },
{ 20, 32, 0 }
};
s32 D_8014F062[] = {
0x00220020, 0x00000028, 0x002803C8, 0x00000000, 0xED000000, 0x005003C0, 0xE7000000,
0x00000000, 0xE3000A11, 0x00002CF0, 0xE2001E01, 0x00000000, 0xDF000000, 0x00000000, 0xED000000, 0x005003C0,
0xE7000000, 0x00000000, 0xE3000A11, 0x00002CF0, 0xE2001E01, 0x00000000, 0xDF000000, 0x00000000,
};
s32 D_8014F0C8[] = {
0xFFF40000, 0x00000000, 0x08000800, 0x000000FF, 0x00330000, 0x00000000, 0x00000800, 0x000000FF,
0x0033003F, 0x00000000, 0x00000000, 0x000000FF, 0xFFF4003F, 0x00000000, 0x08000000, 0x000000FF, 0x0033003F, 0x00000000, 0x00000000, 0x000000FF, 0xFFF4003F, 0x00000000, 0x08000000, 0x000000FF,
0xFFFFFF00, 0xFFFFFF00, };
};
s32 D_8014F110[] = { 0x00000000, 0x00000000, 0x00000000, 0x00000000 }; Lights1 D_8014F108 = {
.a = {
.l = {
.col = { 255, 255, 255 },
.colc = { 255, 255, 255 },
}
},
.l = {
{
.l = {
.col = { 0, 0, 0 },
.colc = { 0, 0, 0 },
.dir = { 0, 0, 0},
}
}
}
};
extern s32 D_801512B4; // no of hud elements? extern s32 D_801512B4; // no of hud elements?
extern s32 D_80159180; extern s32 D_80159180;
extern HudElement* D_80156F60; extern HudElementList D_80156F60;
extern HudElement* D_80157460; extern HudElementList D_80157460;
extern void* D_8015133C; extern void* D_8015133C;
extern void* D_80157968; extern void* D_80157968;
extern void* D_801512C8; extern void* D_801512C8;
@ -39,9 +82,9 @@ extern void* D_80157F70;
extern void* D_80158574; extern void* D_80158574;
extern void* D_80158580; extern void* D_80158580;
extern void* D_80158B80; extern void* D_80158B80;
extern s32 D_80157964; extern s32* D_80157964;
extern s32 D_80158570; extern s32* D_80158570;
extern s32 D_80151314; extern s32* D_80151314;
INCLUDE_ASM(void, "hud_element", load_hud_element, HudElement* hudElement, const HudElementAnim* anim); INCLUDE_ASM(void, "hud_element", load_hud_element, HudElement* hudElement, const HudElementAnim* anim);
@ -66,13 +109,13 @@ void init_hud_element_list(void) {
D_80158570 = NULL; D_80158570 = NULL;
} }
hudElements = &D_80156F60; gHudElements = &D_80156F60;
D_8015133C = &D_80157968; D_8015133C = &D_80157968;
D_801512C8 = &D_80157970; D_801512C8 = &D_80157970;
D_801512D0 = &D_80157F70; D_801512D0 = &D_80157F70;
D_80151314 = D_80157964; D_80151314 = D_80157964;
} else { } else {
hudElements = &D_80157460; gHudElements = &D_80157460;
D_8015133C = &D_80158574; D_8015133C = &D_80158574;
D_801512C8 = &D_80158580; D_801512C8 = &D_80158580;
D_801512D0 = &D_80158B80; D_801512D0 = &D_80158B80;
@ -103,41 +146,31 @@ void func_801413F8(void) {
gCameras[3].flags &= ~0x6; gCameras[3].flags &= ~0x6;
} }
#ifdef NON_EQUIVALENT
s32 create_hud_element(const HudElementAnim* anim) { s32 create_hud_element(const HudElementAnim* anim) {
HudElement *hudElement; HudElement* hudElement;
s32 id; s32 id;
for (id = 0; id < 320; id++) { for (id = 0; id < ARRAY_COUNT(*gHudElements); id++) {
if (hudElements[id] == NULL) { if ((*gHudElements)[id] == NULL) {
break; break;
} }
} }
ASSERT(id < 320); ASSERT(id < ARRAY_COUNT(*gHudElements));
hudElements[id] = hudElement = heap_malloc(sizeof(HudElement)); (*gHudElements)[id] = hudElement = heap_malloc(sizeof(HudElement));
D_801512B4 += 1; D_801512B4 += 1;
ASSERT(hudElement != NULL); ASSERT(hudElement != NULL);
hudElement->flags = 1; hudElement->flags.as_word = 1;
hudElement->readPos = anim; hudElement->readPos = anim;
if (anim == NULL) { if (anim == NULL) {
hudElement->readPos = hud_element_defaultAnim; hudElement->readPos = &hud_element_defaultAnim;
} }
hudElement->updateTimer = 1; hudElement->updateTimer = 1;
hudElement->drawSizePreset = -1; hudElement->drawSizePreset = -1;
hudElement->tileSizePreset = -1; hudElement->tileSizePreset = -1;
hudElement->screenPosOffset.x = 0;
hudElement->screenPosOffset.y = 0;
hudElement->worldPosOffset.x = 0;
hudElement->worldPosOffset.y = 0;
hudElement->worldPosOffset.z = 0;
hudElement->opacity = 255;
hudElement->tint.r = 255;
hudElement->tint.b = 255;
hudElement->tint.g = 255;
hudElement->renderPosX = 0; hudElement->renderPosX = 0;
hudElement->renderPosY = 0; hudElement->renderPosY = 0;
hudElement->ptrPropertyList = (s32*) anim; // TODO: what hudElement->ptrPropertyList = (s32*) anim; // TODO: what
@ -145,22 +178,56 @@ s32 create_hud_element(const HudElementAnim* anim) {
hudElement->heightScale = X10(1.0f); hudElement->heightScale = X10(1.0f);
hudElement->anim = hudElement->readPos; hudElement->anim = hudElement->readPos;
hudElement->uniformScale = 1.0f; hudElement->uniformScale = 1.0f;
hudElement->screenPosOffset.x = 0;
hudElement->screenPosOffset.y = 0;
hudElement->worldPosOffset.x = 0;
hudElement->worldPosOffset.y = 0;
hudElement->worldPosOffset.z = 0;
hudElement->opacity = 255;
hudElement->tint.r = 255;
hudElement->tint.g = 255;
hudElement->tint.b = 255;
if (gGameStatusPtr->isBattle) { if (gGameStatusPtr->isBattle) {
hudElement->flags |= 0x400; hudElement->flags.as_word |= 0x400;
id |= 0x800; id |= 0x800;
} }
load_hud_element(hudElement, hudElement->readPos); load_hud_element(hudElement, hudElement->readPos);
while (hud_element_update(hudElement) != 0) {} while (hud_element_update(hudElement) != 0);
return id; return id;
} }
#else
INCLUDE_ASM(s32, "hud_element", create_hud_element, const HudElementAnim* anim);
#endif
INCLUDE_ASM(void, "hud_element", update_hud_elements, void); // TODO not ideal match - should be able to put loop iterator in the loop def, but can't
void update_hud_elements(void) {
s32 i;
for (i = 0; i < ARRAY_COUNT(*gHudElements);) {
HudElement* elem = (*gHudElements)[i];
if (elem != NULL && (elem->flags.as_word != 0) && !(elem->flags.as_word & 2)) {
if (elem->flags.as_word & 0x40000) {
free_hud_element(i);
i++;
} else if (elem->readPos != 0) {
elem->updateTimer--;
if (elem->updateTimer == 0) {
while (hud_element_update(elem) != 0);
}
if (elem->flags.as_word & 0x100) {
elem->unkImgScale[0] += elem->unk_20;
elem->unkImgScale[1] += elem->unk_24;
}
i++;
} else {
break;
}
} else {
i++;
}
}
}
INCLUDE_ASM(s32, "hud_element", hud_element_update, HudElement* hudElement); INCLUDE_ASM(s32, "hud_element", hud_element_update, HudElement* hudElement);
@ -172,25 +239,196 @@ INCLUDE_ASM(void, "hud_element", render_hud_element, HudElement* hudElement);
INCLUDE_ASM(void, "hud_element", render_hud_elements_world, void); INCLUDE_ASM(void, "hud_element", render_hud_elements_world, void);
INCLUDE_ASM(void, "hud_element", func_80143C48, s32 arg0, s32 arg1, s32 arg2); void func_80143C48(s32 elemID, s32 arg1, s32 camID) {
Camera* camera = &gCameras[camID];
if (arg1 > 0) {
if (camera->flags == 0 || (camera->flags & 2)) {
return;
}
gCurrentCamID = camID;
gSPViewport(gMasterGfxPos++, &camera->vp);
gSPClearGeometryMode(gMasterGfxPos++, G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH);
gSPTexture(gMasterGfxPos++, 0, 0, 0, G_TX_RENDERTILE, G_OFF);
gDPPipelineMode(gMasterGfxPos++, G_PM_NPRIMITIVE);
gDPSetTextureLUT(gMasterGfxPos++, G_TT_NONE);
gDPSetTextureFilter(gMasterGfxPos++, G_TF_BILERP);
gDPSetCombineMode(gMasterGfxPos++, G_CC_SHADE, G_CC_SHADE);
gDPSetRenderMode(gMasterGfxPos++, G_RM_OPA_SURF, G_RM_OPA_SURF2);
gSPClipRatio(gMasterGfxPos++, FRUSTRATIO_2);
gDPPipeSync(gMasterGfxPos++);
gDPSetCycleType(gMasterGfxPos++, G_CYC_FILL);
gDPSetColorImage(gMasterGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, osVirtualToPhysical(nuGfxZBuffer));
gDPSetFillColor(gMasterGfxPos++, 0xFFFCFFFC);
gDPFillRectangle(gMasterGfxPos++, camera->viewportStartX, camera->viewportStartY,
camera->viewportStartX + camera->viewportW - 1,
camera->viewportStartY + camera->viewportH - 1);
gDPPipeSync(gMasterGfxPos++);
gDPSetColorImage(gMasterGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, osVirtualToPhysical(nuGfxCfb_ptr));
gDPPipeSync(gMasterGfxPos++);
guOrthoF(camera->perspectiveMatrix, 0.0f, 320.0f, -240.0f, 0.0f, -1000.0f, 1000.0f, 1.0f);
guMtxF2L(camera->perspectiveMatrix, &gDisplayContext->camPerspMatrix[gCurrentCamID]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->camPerspMatrix[gCurrentCamID], G_MTX_NOPUSH | G_MTX_LOAD |
G_MTX_PROJECTION);
gDPSetScissor(gMasterGfxPos++, G_SC_NON_INTERLACE, 12, 20, 308, 220);
gDPPipeSync(gMasterGfxPos++);
gDPSetCycleType(gMasterGfxPos++, G_CYC_1CYCLE);
gSPClearGeometryMode(gMasterGfxPos++, G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING |
G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH);
gSPSetGeometryMode(gMasterGfxPos++, G_ZBUFFER | G_SHADE | G_LIGHTING | G_SHADING_SMOOTH);
gSPSetLights1(gMasterGfxPos++, D_8014F108);
gSPTexture(gMasterGfxPos++, -1, -1, 0, G_TX_RENDERTILE, G_ON);
gDPSetTextureLOD(gMasterGfxPos++, G_TL_TILE);
gDPSetTexturePersp(gMasterGfxPos++, G_TP_PERSP);
gDPSetColorDither(gMasterGfxPos++, G_CD_DISABLE);
gDPSetTextureDetail(gMasterGfxPos++, G_TD_CLAMP);
gDPSetTextureConvert(gMasterGfxPos++, G_TC_FILT);
gDPSetCombineKey(gMasterGfxPos++, G_CK_NONE);
gDPSetAlphaCompare(gMasterGfxPos++, G_AC_NONE);
}
if (elemID >= 0) {
HudElement* elem;
elemID &= ~0x800;
elem = (*gHudElements)[elemID];
if (elem != NULL) {
if (elem->flags.as_word != 0 && !(elem->flags.as_word & 2)) {
if (!(elem->flags.as_word & 0x10200000)) {
if (elem->flags.as_word & 0x10000) {
if (!(elem->flags.as_word & 0x40) && (elem->drawSizePreset >= 0) && (elem->flags.as_word & 0x80)) {
render_hud_element(elem);
}
}
}
}
}
}
}
void func_80144218(s32 arg0) { void func_80144218(s32 arg0) {
func_80143C48(arg0, 1, 3); func_80143C48(arg0, 1, CAM_CAM3);
} }
void func_80144238(s32 arg0) { void func_80144238(s32 arg0) {
func_80143C48(arg0, 0, 3); func_80143C48(arg0, 0, CAM_CAM3);
} }
void func_80144258(s32 arg0) { void func_80144258(s32 arg0) {
func_80143C48(arg0, 1, 1); func_80143C48(arg0, 1, CAM_BATTLE);
} }
void func_80144278(s32 arg0) { void func_80144278(s32 arg0) {
func_80143C48(arg0, 0, 1); func_80143C48(arg0, 0, CAM_BATTLE);
} }
INCLUDE_ASM(void, "hud_element", draw_hud_element, s32 id, s32 clipMode); void draw_hud_element(s32 id, s32 clipMode) {
HudElement* elem = (*gHudElements)[id & ~0x800];
s32 texSizeX, texSizeY;
s32 drawSizeX, drawSizeY;
s32 offsetX, offsetY;
s32 preset;
if ((elem->flags.as_word != 0) && !(elem->flags.as_word & 2)) {
if (!(elem->flags.as_word & 0x10200000) && (elem->drawSizePreset >= 0)) {
if (clipMode != 1) {
if (clipMode == 0) {
gDPSetScissor(gMasterGfxPos++, G_SC_NON_INTERLACE, 12, 20, 308, 220);
}
gDPPipeSync(gMasterGfxPos++);
gDPSetCycleType(gMasterGfxPos++, G_CYC_1CYCLE);
gDPSetTexturePersp(gMasterGfxPos++, G_TP_NONE);
gDPSetTextureLOD(gMasterGfxPos++, G_TL_TILE);
gDPSetTextureDetail(gMasterGfxPos++, G_TD_CLAMP);
gDPSetTextureConvert(gMasterGfxPos++, G_TC_FILT);
gDPSetCombineKey(gMasterGfxPos++, G_CK_NONE);
gDPSetAlphaCompare(gMasterGfxPos++, G_AC_NONE);
gDPNoOp(gMasterGfxPos++);
gDPSetColorDither(gMasterGfxPos++, G_CD_DISABLE);
gDPSetAlphaDither(gMasterGfxPos++, G_AD_DISABLE);
gSPTexture(gMasterGfxPos++, -1, -1, 0, G_TX_RENDERTILE, G_ON);
}
if (!(elem->flags.as_word & 0x100)) {
if (!(elem->flags.as_word & 0x100000)) {
preset = elem->tileSizePreset;
texSizeX = gHudElementSizes[preset].x;
texSizeY = gHudElementSizes[preset].y;
} else {
texSizeX = elem->customImageSize.x;
texSizeY = elem->customImageSize.y;
}
if (!(elem->flags.as_word & 0x10)) {
if (!(elem->flags.as_word & 0x100000)) {
drawSizeX = gHudElementSizes[elem->drawSizePreset].x;
drawSizeY = gHudElementSizes[elem->drawSizePreset].y;
} else {
drawSizeX = elem->customDrawSize.x;
drawSizeY = elem->customDrawSize.y;
}
} else {
drawSizeX = elem->sizeX;
drawSizeY = elem->sizeY;
}
do {
offsetX = -drawSizeX / 2;
offsetY = -drawSizeY / 2;
} while (0); // TODO required to match
if (!(elem->flags.as_word & 0x800)) {
if (elem->flags.as_word & 0x20000000) {
draw_rect_hud_element(elem, texSizeX, texSizeY, drawSizeX, drawSizeY, offsetX, offsetY, TRUE, TRUE);
}
draw_rect_hud_element(elem, texSizeX, texSizeY, drawSizeX, drawSizeY, offsetX, offsetY, TRUE, FALSE);
} else {
if (elem->flags.as_word & 0x20000000) {
draw_rect_hud_element(elem, texSizeX, texSizeY, drawSizeX, drawSizeY, offsetX, offsetY, FALSE, TRUE);
}
draw_rect_hud_element(elem, texSizeX, texSizeY, drawSizeX, drawSizeY, offsetX, offsetY, FALSE, FALSE);
}
} else {
f32 xScaled, yScaled;
if (!(elem->flags.as_word & 0x100000)) {
preset = elem->tileSizePreset;
texSizeX = gHudElementSizes[preset].x;
texSizeY = gHudElementSizes[preset].y;
} else {
texSizeX = elem->customImageSize.x;
texSizeY = elem->customImageSize.y;
}
drawSizeX = elem->unkImgScale[0];
drawSizeY = elem->unkImgScale[1];
offsetX = -elem->unkImgScale[0] / 2;
offsetY = -elem->unkImgScale[1] / 2;
xScaled = (f32) drawSizeX / (f32) texSizeX;
yScaled = (f32) drawSizeY / (f32) texSizeY;
xScaled = 1.0f / xScaled;
yScaled = 1.0f / yScaled;
elem->widthScale = X10(xScaled);
elem->heightScale = X10(yScaled);
if (elem->flags.as_word & 0x20000000) {
draw_rect_hud_element(elem, texSizeX, texSizeY, drawSizeX, drawSizeY, offsetX, offsetY, FALSE, TRUE);
}
draw_rect_hud_element(elem, texSizeX, texSizeY, drawSizeX, drawSizeY, offsetX, offsetY, FALSE, FALSE);
}
}
}
}
void draw_hud_element_clipped(s32 id) { void draw_hud_element_clipped(s32 id) {
draw_hud_element(id, 0); draw_hud_element(id, 0);
@ -205,7 +443,7 @@ void draw_hud_element_3(s32 id) {
} }
void set_hud_element_anim(s32 id, const HudElementAnim* anim) { void set_hud_element_anim(s32 id, const HudElementAnim* anim) {
HudElement* hudElement = hudElements[id & ~0x800]; HudElement* hudElement = (*gHudElements)[id & ~0x800];
if (anim == NULL) { if (anim == NULL) {
anim = &hud_element_defaultAnim; anim = &hud_element_defaultAnim;
@ -230,58 +468,91 @@ void set_hud_element_anim(s32 id, const HudElementAnim* anim) {
} }
HudElementAnim* get_hud_element_anim(s32 id) { HudElementAnim* get_hud_element_anim(s32 id) {
return hudElements[id & ~0x800]->anim; return (*gHudElements)[id & ~0x800]->anim;
} }
HudElement* get_hud_element(s32 id) { HudElement* get_hud_element(s32 id) {
return hudElements[id & ~0x800]; return (*gHudElements)[id & ~0x800];
} }
void free_hud_element(s32 id) { void free_hud_element(s32 id) {
if (hudElements[id & ~0x800]->flags.as_word & 0x10000) { if ((*gHudElements)[id & ~0x800]->flags.as_word & 0x10000) {
free_hud_element_transform(id & ~0x800); free_hud_element_transform(id & ~0x800);
} }
heap_free(hudElements[id & ~0x800]); heap_free((*gHudElements)[id & ~0x800]);
hudElements[id & ~0x800] = NULL; (*gHudElements)[id & ~0x800] = NULL;
D_801512B4--; D_801512B4--;
} }
void set_hud_element_render_pos(s32 id, s32 x, s32 y) { void set_hud_element_render_pos(s32 id, s32 x, s32 y) {
HudElement* hudElement = hudElements[id & ~0x800]; HudElement* hudElement = (*gHudElements)[id & ~0x800];
hudElement->renderPosX = x; hudElement->renderPosX = x;
hudElement->renderPosY = y; hudElement->renderPosY = y;
} }
void get_hud_element_render_pos(s32 id, s32* x, s32* y) { void get_hud_element_render_pos(s32 id, s32* x, s32* y) {
HudElement* hudElement = hudElements[id & ~0x800]; HudElement* hudElement = (*gHudElements)[id & ~0x800];
*x = hudElement->renderPosX; *x = hudElement->renderPosX;
*y = hudElement->renderPosY; *y = hudElement->renderPosY;
} }
void set_hud_element_render_depth(s32 id, s32 z) { void set_hud_element_render_depth(s32 id, s32 z) {
hudElements[id & ~0x800]->worldPosOffset.z = z; (*gHudElements)[id & ~0x800]->worldPosOffset.z = z;
} }
void set_hud_element_flags(s32 id, s32 flags) { void set_hud_element_flags(s32 id, s32 flags) {
hudElements[id & ~0x800]->flags.as_word |= flags; (*gHudElements)[id & ~0x800]->flags.as_word |= flags;
} }
void clear_hud_element_flags(s32 id, s32 flags) { void clear_hud_element_flags(s32 id, s32 flags) {
hudElements[id & ~0x800]->flags.as_word &= ~flags; (*gHudElements)[id & ~0x800]->flags.as_word &= ~flags;
} }
INCLUDE_ASM(void, "hud_element", ALT_clear_hud_element_cache, void); INCLUDE_ASM(void, "hud_element", ALT_clear_hud_element_cache, void);
INCLUDE_ASM(void, "hud_element", set_hud_element_scale, s32 index, f32 scale); void set_hud_element_scale(s32 index, f32 scale) {
HudElement* elem = (*gHudElements)[index & ~0x800];
s32 drawSizeX;
s32 drawSizeY;
s32 imgSizeX;
s32 imgSizeY;
f32 xScaled, yScaled;
elem->uniformScale = scale;
if (!(elem->flags.as_word & 0x100000)) {
imgSizeX = gHudElementSizes[elem->tileSizePreset].x;
imgSizeY = gHudElementSizes[elem->tileSizePreset].y;
drawSizeX = gHudElementSizes[elem->drawSizePreset].x;
drawSizeY = gHudElementSizes[elem->drawSizePreset].y;
} else {
imgSizeX = elem->customImageSize.x;
imgSizeY = elem->customImageSize.y;
drawSizeX = elem->customDrawSize.x;
drawSizeY = elem->customDrawSize.y;
}
elem->sizeX = drawSizeX * scale;
elem->sizeY = drawSizeY * scale;
elem->flags.as_word &= ~0x100;
elem->flags.as_word |= 0x800 | 0x10;
xScaled = ((f32) drawSizeX / (f32) imgSizeX) * scale;
yScaled = ((f32) drawSizeY / (f32) imgSizeY) * scale;
xScaled = 1.0f / xScaled;
yScaled = 1.0f / yScaled;
elem->widthScale = X10(xScaled);
elem->heightScale = X10(yScaled);
}
void set_hud_element_size(s32 id, s8 size) { void set_hud_element_size(s32 id, s8 size) {
HudElement* hudElement = hudElements[id & ~0x800]; HudElement* hudElement = (*gHudElements)[id & ~0x800];
hudElement->widthScale = 0x400; hudElement->widthScale = 1024;
hudElement->heightScale = 0x400; hudElement->heightScale = 1024;
hudElement->tileSizePreset = size; hudElement->tileSizePreset = size;
hudElement->drawSizePreset = size; hudElement->drawSizePreset = size;
hudElement->uniformScale = 1.0f; hudElement->uniformScale = 1.0f;
@ -290,18 +561,18 @@ void set_hud_element_size(s32 id, s8 size) {
} }
s32 func_80144E4C(s32 id) { s32 func_80144E4C(s32 id) {
return hudElements[id & ~0x800]->flags.as_bitfields.f4; return (*gHudElements)[id & ~0x800]->flags.as_bitfields.f4;
} }
void func_80144E74(s32 id, s32 arg1) { void func_80144E74(s32 id, s32 arg1) {
HudElement* hudElement = hudElements[id & ~0x800]; HudElement* hudElement = (*gHudElements)[id & ~0x800];
hudElement->flags.as_word &= ~0xF000000; hudElement->flags.as_word &= ~0xF000000;
hudElement->flags.as_word |= arg1 << 24; hudElement->flags.as_word |= arg1 << 24;
} }
void set_hud_element_alpha(s32 id, s32 opacity) { void set_hud_element_alpha(s32 id, s32 opacity) {
HudElement* hudElement = hudElements[id & ~0x800]; HudElement* hudElement = (*gHudElements)[id & ~0x800];
hudElement->flags.as_word |= 0x20; hudElement->flags.as_word |= 0x20;
hudElement->opacity = opacity; hudElement->opacity = opacity;
@ -312,7 +583,7 @@ void set_hud_element_alpha(s32 id, s32 opacity) {
} }
void set_hud_element_tint(s32 id, s32 r, s32 g, s32 b) { void set_hud_element_tint(s32 id, s32 r, s32 g, s32 b) {
HudElement* hudElement = hudElements[id & ~0x800]; HudElement* hudElement = (*gHudElements)[id & ~0x800];
hudElement->tint.r = r; hudElement->tint.r = r;
hudElement->tint.g = g; hudElement->tint.g = g;
@ -320,7 +591,7 @@ void set_hud_element_tint(s32 id, s32 r, s32 g, s32 b) {
} }
void create_hud_element_transform_A(s32 id) { void create_hud_element_transform_A(s32 id) {
HudElement* element = hudElements[id & ~0x800]; HudElement* element = (*gHudElements)[id & ~0x800];
HudTransform* transform = general_heap_malloc(sizeof(*transform)); HudTransform* transform = general_heap_malloc(sizeof(*transform));
element->hudTransform = transform; element->hudTransform = transform;
@ -342,7 +613,7 @@ void create_hud_element_transform_A(s32 id) {
} }
void create_hud_element_transform_B(s32 id) { void create_hud_element_transform_B(s32 id) {
HudElement* element = hudElements[id & ~0x800]; HudElement* element = (*gHudElements)[id & ~0x800];
HudTransform* transform = general_heap_malloc(sizeof(*transform)); HudTransform* transform = general_heap_malloc(sizeof(*transform));
element->hudTransform = transform; element->hudTransform = transform;
@ -362,7 +633,7 @@ void create_hud_element_transform_B(s32 id) {
} }
void create_hud_element_transform_C(s32 id) { void create_hud_element_transform_C(s32 id) {
HudElement* element = hudElements[id & ~0x800]; HudElement* element = (*gHudElements)[id & ~0x800];
HudTransform* transform = general_heap_malloc(sizeof(*transform)); HudTransform* transform = general_heap_malloc(sizeof(*transform));
element->hudTransform = transform; element->hudTransform = transform;
@ -382,20 +653,20 @@ void create_hud_element_transform_C(s32 id) {
} }
void free_hud_element_transform(s32 id) { void free_hud_element_transform(s32 id) {
HudElement* hudElement = hudElements[id & ~0x800]; HudElement* hudElement = (*gHudElements)[id & ~0x800];
s32* hudTransform = hudElement->hudTransform; HudTransform* hudTransform = hudElement->hudTransform;
if (!(hudElement->flags.as_word & 0x20000)) { if (!(hudElement->flags.as_word & 0x20000)) {
func_8013A854(*hudTransform); func_8013A854(hudTransform->unk_00);
} }
heap_free(hudElement->hudTransform); heap_free(hudElement->hudTransform);
hudElement->hudTransform = NULL; hudElement->hudTransform = NULL;
hudElement->flags.as_word &= ~0x40030000; hudElement->flags.as_word &= ~(0x40000000 | 0x20000 | 0x10000);
} }
void set_hud_element_transform_pos(s32 id, f32 x, f32 y, f32 z) { void set_hud_element_transform_pos(s32 id, f32 x, f32 y, f32 z) {
HudElement* element = hudElements[id & ~0x800]; HudElement* element = (*gHudElements)[id & ~0x800];
HudTransform* transform = element->hudTransform; HudTransform* transform = element->hudTransform;
if (element->flags.as_word & 0x10000) { if (element->flags.as_word & 0x10000) {
@ -406,7 +677,7 @@ void set_hud_element_transform_pos(s32 id, f32 x, f32 y, f32 z) {
} }
void set_hud_element_transform_scale(s32 id, f32 x, f32 y, f32 z) { void set_hud_element_transform_scale(s32 id, f32 x, f32 y, f32 z) {
HudElement* element = hudElements[id & ~0x800]; HudElement* element = (*gHudElements)[id & ~0x800];
HudTransform* transform = element->hudTransform; HudTransform* transform = element->hudTransform;
if (element->flags.as_word & 0x10000) { if (element->flags.as_word & 0x10000) {
@ -417,7 +688,7 @@ void set_hud_element_transform_scale(s32 id, f32 x, f32 y, f32 z) {
} }
void set_hud_element_transform_rotation(s32 id, f32 x, f32 y, f32 z) { void set_hud_element_transform_rotation(s32 id, f32 x, f32 y, f32 z) {
HudElement* element = hudElements[id & ~0x800]; HudElement* element = (*gHudElements)[id & ~0x800];
HudTransform* transform = element->hudTransform; HudTransform* transform = element->hudTransform;
if (element->flags.as_word & 0x10000) { if (element->flags.as_word & 0x10000) {
@ -428,7 +699,7 @@ void set_hud_element_transform_rotation(s32 id, f32 x, f32 y, f32 z) {
} }
void set_hud_element_transform_rotation_pivot(s32 id, s32 dx, s32 dy) { void set_hud_element_transform_rotation_pivot(s32 id, s32 dx, s32 dy) {
HudElement* element = hudElements[id & ~0x800]; HudElement* element = (*gHudElements)[id & ~0x800];
HudTransform* transform = element->hudTransform; HudTransform* transform = element->hudTransform;
if (element->flags.as_word & 0x10000) { if (element->flags.as_word & 0x10000) {
@ -437,13 +708,9 @@ void set_hud_element_transform_rotation_pivot(s32 id, s32 dx, s32 dy) {
} }
} }
#ifdef NON_EQUIVALENT
void copy_world_hud_element_ref_to_battle(s32 worldID, s32 battleID) { void copy_world_hud_element_ref_to_battle(s32 worldID, s32 battleID) {
D_80157460[battleID & ~0x800].flags.as_word = D_80156F60[worldID & ~0x800].flags.as_word; D_80157460[battleID & ~0x800] = D_80156F60[worldID & ~0x800];
} }
#else
INCLUDE_ASM(void, "hud_element", copy_world_hud_element_ref_to_battle, s32 worldID, s32 battleID);
#endif
void set_hud_element_nonworld_cache(void* base, s32 size) { void set_hud_element_nonworld_cache(void* base, s32 size) {
D_8014EFC0[0] = (s32)base; D_8014EFC0[0] = (s32)base;

View File

@ -101,15 +101,17 @@ typedef struct HudElement {
/* 0x42 */ Vec3b worldPosOffset; /* 0x42 */ Vec3b worldPosOffset;
/* 0x45 */ s8 drawSizePreset; /* 0x45 */ s8 drawSizePreset;
/* 0x46 */ s8 tileSizePreset; /* 0x46 */ s8 tileSizePreset;
/* 0x47 */ u8 updateTimer; /* 0x47 */ s8 updateTimer;
/* 0x48 */ u8 sizeX; /* screen size? */ /* 0x48 */ u8 sizeX; /* screen size? */
/* 0x49 */ u8 sizeY; /* screen size? */ /* 0x49 */ u8 sizeY; /* screen size? */
/* 0x4A */ u8 opacity; /* 0x4A */ u8 opacity;
/* 0x4B */ struct { s8 r; s8 g; s8 b; } tint; /* 0x4B */ Color_RGB8 tint;
/* 0x4E */ Vec2b customImageSize; /* 0x4E */ Vec2bu customImageSize;
/* 0x40 */ Vec2b customDrawSize; /* 0x40 */ Vec2bu customDrawSize;
} HudElement; // size = 0x54 } HudElement; // size = 0x54
typedef HudElement* HudElementList[320];
extern HudElementAnim D_80104A28[]; extern HudElementAnim D_80104A28[];
extern HudElementAnim D_80108558[]; extern HudElementAnim D_80108558[];
extern HudElementAnim D_80108A64[]; extern HudElementAnim D_80108A64[];
@ -157,10 +159,10 @@ void draw_rect_hud_element(
HudElement* hudElement, HudElement* hudElement,
s32 texSizeX, s32 texSizeX,
s32 texSizeY, s32 texSizeY,
s32 drawSizeX, s16 drawSizeX,
s32 drawSizeY, s16 drawSizeY,
s32 offsetX, s16 offsetX,
s32 offsetY, s16 offsetY,
s32 clamp, s32 clamp,
s32 dropShadow s32 dropShadow
); );

View File

@ -1,5 +1,15 @@
#include "end_00.h" #include "end_00.h"
typedef struct End18 {
/* 0x00 */ s32 initialAnim;
/* 0x04 */ s32** animList;
/* 0x08 */ Vec3f pos;
/* 0x14 */ f32 yaw;
} End18; // size = 0x18
extern s32 spr_allocateBtlComponentsOnWorldHeap;
extern End18 D_80244D74_DFB774[];
INCLUDE_ASM(s32, "world/area_end/end_00/DF6A20", func_80240020_DF6A20); INCLUDE_ASM(s32, "world/area_end/end_00/DF6A20", func_80240020_DF6A20);
INCLUDE_ASM(s32, "world/area_end/end_00/DF6A20", func_80240270_DF6C70); INCLUDE_ASM(s32, "world/area_end/end_00/DF6A20", func_80240270_DF6C70);
@ -42,7 +52,29 @@ ApiStatus func_80242558_DF8F58(Evt* script, s32 isInitialCall) {
INCLUDE_ASM(s32, "world/area_end/end_00/DF6A20", func_80242580_DF8F80); INCLUDE_ASM(s32, "world/area_end/end_00/DF6A20", func_80242580_DF8F80);
INCLUDE_ASM(s32, "world/area_end/end_00/DF6A20", func_80242680_DF9080); ApiStatus func_80242680_DF9080(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 npcID = evt_get_variable(script, *args++);
End18* end18 = &D_80244D74_DFB774[npcID];
NpcBlueprint bp;
Npc* npc;
bp.flags = 0x100;
bp.initialAnim = end18->initialAnim;
bp.onUpdate = NULL;
bp.onRender = NULL;
spr_allocateBtlComponentsOnWorldHeap = TRUE;
npc = get_npc_by_index(_create_npc_standard(&bp, end18->animList));
npc->npcID = npcID;
npc->flags &= ~NPC_FLAG_PARTICLE;
npc->pos.x = end18->pos.x;
npc->pos.y = end18->pos.y;
npc->pos.z = end18->pos.z;
set_npc_yaw(npc, end18->yaw);
return ApiStatus_DONE2;
}
ApiStatus func_80242744_DF9144(Evt* script, s32 isInitialCall) { ApiStatus func_80242744_DF9144(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos; Bytecode* args = script->ptrReadPos;
@ -54,7 +86,9 @@ ApiStatus func_80242744_DF9144(Evt* script, s32 isInitialCall) {
} }
ApiStatus func_802427A4_DF91A4(Evt* script, s32 isInitialCall) { ApiStatus func_802427A4_DF91A4(Evt* script, s32 isInitialCall) {
_heap_free(&gSpriteHeapPtr, evt_get_variable(script, *script->ptrReadPos)); Bytecode* args = script->ptrReadPos;
_heap_free(&gSpriteHeapPtr, evt_get_variable(script, *args++));
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }

0
tools/sortsymz.py Normal file → Executable file
View File

View File

@ -11,8 +11,8 @@ glabel clear_hud_element_cache
/* D7818 80141118 00000000 */ nop /* D7818 80141118 00000000 */ nop
/* D781C 8014111C 3C028015 */ lui $v0, %hi(D_80156F60) /* D781C 8014111C 3C028015 */ lui $v0, %hi(D_80156F60)
/* D7820 80141120 24426F60 */ addiu $v0, $v0, %lo(D_80156F60) /* D7820 80141120 24426F60 */ addiu $v0, $v0, %lo(D_80156F60)
/* D7824 80141124 3C018015 */ lui $at, %hi(hudElements) /* D7824 80141124 3C018015 */ lui $at, %hi(gHudElements)
/* D7828 80141128 AC227960 */ sw $v0, %lo(hudElements)($at) /* D7828 80141128 AC227960 */ sw $v0, %lo(gHudElements)($at)
/* D782C 8014112C 3C028015 */ lui $v0, %hi(D_80157968) /* D782C 8014112C 3C028015 */ lui $v0, %hi(D_80157968)
/* D7830 80141130 24427968 */ addiu $v0, $v0, %lo(D_80157968) /* D7830 80141130 24427968 */ addiu $v0, $v0, %lo(D_80157968)
/* D7834 80141134 3C018015 */ lui $at, %hi(D_8015133C) /* D7834 80141134 3C018015 */ lui $at, %hi(D_8015133C)
@ -28,8 +28,8 @@ glabel clear_hud_element_cache
.L8014115C: .L8014115C:
/* D785C 8014115C 3C028015 */ lui $v0, %hi(D_80157460) /* D785C 8014115C 3C028015 */ lui $v0, %hi(D_80157460)
/* D7860 80141160 24427460 */ addiu $v0, $v0, %lo(D_80157460) /* D7860 80141160 24427460 */ addiu $v0, $v0, %lo(D_80157460)
/* D7864 80141164 3C018015 */ lui $at, %hi(hudElements) /* D7864 80141164 3C018015 */ lui $at, %hi(gHudElements)
/* D7868 80141168 AC227960 */ sw $v0, %lo(hudElements)($at) /* D7868 80141168 AC227960 */ sw $v0, %lo(gHudElements)($at)
/* D786C 8014116C 3C028016 */ lui $v0, %hi(D_80158574) /* D786C 8014116C 3C028016 */ lui $v0, %hi(D_80158574)
/* D7870 80141170 24428574 */ addiu $v0, $v0, %lo(D_80158574) /* D7870 80141170 24428574 */ addiu $v0, $v0, %lo(D_80158574)
/* D7874 80141174 3C018015 */ lui $at, %hi(D_8015133C) /* D7874 80141174 3C018015 */ lui $at, %hi(D_8015133C)
@ -124,8 +124,8 @@ glabel clear_hud_element_cache
/* D79B4 801412B4 1440FFFA */ bnez $v0, .L801412A0 /* D79B4 801412B4 1440FFFA */ bnez $v0, .L801412A0
/* D79B8 801412B8 24630008 */ addiu $v1, $v1, 8 /* D79B8 801412B8 24630008 */ addiu $v1, $v1, 8
.L801412BC: .L801412BC:
/* D79BC 801412BC 3C028015 */ lui $v0, %hi(hudElements) /* D79BC 801412BC 3C028015 */ lui $v0, %hi(gHudElements)
/* D79C0 801412C0 8C427960 */ lw $v0, %lo(hudElements)($v0) /* D79C0 801412C0 8C427960 */ lw $v0, %lo(gHudElements)($v0)
/* D79C4 801412C4 2404013F */ addiu $a0, $zero, 0x13f /* D79C4 801412C4 2404013F */ addiu $a0, $zero, 0x13f
/* D79C8 801412C8 244204FC */ addiu $v0, $v0, 0x4fc /* D79C8 801412C8 244204FC */ addiu $v0, $v0, 0x4fc
.L801412CC: .L801412CC:

View File

@ -1,17 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel copy_world_hud_element_ref_to_battle
/* DB9B4 801452B4 2402F7FF */ addiu $v0, $zero, -0x801
/* DB9B8 801452B8 00A22824 */ and $a1, $a1, $v0
/* DB9BC 801452BC 00822024 */ and $a0, $a0, $v0
/* DB9C0 801452C0 00042080 */ sll $a0, $a0, 2
/* DB9C4 801452C4 3C028015 */ lui $v0, %hi(D_80156F60)
/* DB9C8 801452C8 00441021 */ addu $v0, $v0, $a0
/* DB9CC 801452CC 8C426F60 */ lw $v0, %lo(D_80156F60)($v0)
/* DB9D0 801452D0 00052880 */ sll $a1, $a1, 2
/* DB9D4 801452D4 3C018015 */ lui $at, %hi(D_80157460)
/* DB9D8 801452D8 00250821 */ addu $at, $at, $a1
/* DB9DC 801452DC AC227460 */ sw $v0, %lo(D_80157460)($at)
/* DB9E0 801452E0 03E00008 */ jr $ra
/* DB9E4 801452E4 00000000 */ nop

View File

@ -1,104 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel create_hud_element
/* D7BA4 801414A4 3C038015 */ lui $v1, %hi(hudElements)
/* D7BA8 801414A8 8C637960 */ lw $v1, %lo(hudElements)($v1)
/* D7BAC 801414AC 27BDFFE0 */ addiu $sp, $sp, -0x20
/* D7BB0 801414B0 AFB20018 */ sw $s2, 0x18($sp)
/* D7BB4 801414B4 0080902D */ daddu $s2, $a0, $zero
/* D7BB8 801414B8 AFB10014 */ sw $s1, 0x14($sp)
/* D7BBC 801414BC 0000882D */ daddu $s1, $zero, $zero
/* D7BC0 801414C0 AFBF001C */ sw $ra, 0x1c($sp)
/* D7BC4 801414C4 AFB00010 */ sw $s0, 0x10($sp)
.L801414C8:
/* D7BC8 801414C8 8C620000 */ lw $v0, ($v1)
/* D7BCC 801414CC 10400006 */ beqz $v0, .L801414E8
/* D7BD0 801414D0 2A220140 */ slti $v0, $s1, 0x140
/* D7BD4 801414D4 26310001 */ addiu $s1, $s1, 1
/* D7BD8 801414D8 2A220140 */ slti $v0, $s1, 0x140
/* D7BDC 801414DC 1440FFFA */ bnez $v0, .L801414C8
/* D7BE0 801414E0 24630004 */ addiu $v1, $v1, 4
/* D7BE4 801414E4 2A220140 */ slti $v0, $s1, 0x140
.L801414E8:
/* D7BE8 801414E8 14400003 */ bnez $v0, .L801414F8
/* D7BEC 801414EC 00000000 */ nop
.L801414F0:
/* D7BF0 801414F0 0805053C */ j .L801414F0
/* D7BF4 801414F4 00000000 */ nop
.L801414F8:
/* D7BF8 801414F8 0C00AB39 */ jal heap_malloc
/* D7BFC 801414FC 24040054 */ addiu $a0, $zero, 0x54
/* D7C00 80141500 00112080 */ sll $a0, $s1, 2
/* D7C04 80141504 3C038015 */ lui $v1, %hi(hudElements)
/* D7C08 80141508 8C637960 */ lw $v1, %lo(hudElements)($v1)
/* D7C0C 8014150C 3C058015 */ lui $a1, %hi(D_801512B4)
/* D7C10 80141510 24A512B4 */ addiu $a1, $a1, %lo(D_801512B4)
/* D7C14 80141514 00832021 */ addu $a0, $a0, $v1
/* D7C18 80141518 8CA30000 */ lw $v1, ($a1)
/* D7C1C 8014151C 0040802D */ daddu $s0, $v0, $zero
/* D7C20 80141520 AC900000 */ sw $s0, ($a0)
/* D7C24 80141524 24630001 */ addiu $v1, $v1, 1
/* D7C28 80141528 16000003 */ bnez $s0, .L80141538
/* D7C2C 8014152C ACA30000 */ sw $v1, ($a1)
.L80141530:
/* D7C30 80141530 0805054C */ j .L80141530
/* D7C34 80141534 00000000 */ nop
.L80141538:
/* D7C38 80141538 24030001 */ addiu $v1, $zero, 1
/* D7C3C 8014153C AE030000 */ sw $v1, ($s0)
/* D7C40 80141540 16400004 */ bnez $s2, .L80141554
/* D7C44 80141544 AE120004 */ sw $s2, 4($s0)
/* D7C48 80141548 3C028015 */ lui $v0, %hi(hud_element_defaultAnim)
/* D7C4C 8014154C 2442EFC8 */ addiu $v0, $v0, %lo(hud_element_defaultAnim)
/* D7C50 80141550 AE020004 */ sw $v0, 4($s0)
.L80141554:
/* D7C54 80141554 A2030047 */ sb $v1, 0x47($s0)
/* D7C58 80141558 8E030004 */ lw $v1, 4($s0)
/* D7C5C 8014155C 3C013F80 */ lui $at, 0x3f80
/* D7C60 80141560 44810000 */ mtc1 $at, $f0
/* D7C64 80141564 2402FFFF */ addiu $v0, $zero, -1
/* D7C68 80141568 A2020045 */ sb $v0, 0x45($s0)
/* D7C6C 8014156C A2020046 */ sb $v0, 0x46($s0)
/* D7C70 80141570 240200FF */ addiu $v0, $zero, 0xff
/* D7C74 80141574 A2000040 */ sb $zero, 0x40($s0)
/* D7C78 80141578 A2000041 */ sb $zero, 0x41($s0)
/* D7C7C 8014157C A2000042 */ sb $zero, 0x42($s0)
/* D7C80 80141580 A2000043 */ sb $zero, 0x43($s0)
/* D7C84 80141584 A2000044 */ sb $zero, 0x44($s0)
/* D7C88 80141588 A202004A */ sb $v0, 0x4a($s0)
/* D7C8C 8014158C A202004B */ sb $v0, 0x4b($s0)
/* D7C90 80141590 A202004C */ sb $v0, 0x4c($s0)
/* D7C94 80141594 A202004D */ sb $v0, 0x4d($s0)
/* D7C98 80141598 3C048007 */ lui $a0, %hi(gGameStatusPtr)
/* D7C9C 8014159C 8C84419C */ lw $a0, %lo(gGameStatusPtr)($a0)
/* D7CA0 801415A0 24020400 */ addiu $v0, $zero, 0x400
/* D7CA4 801415A4 A600003C */ sh $zero, 0x3c($s0)
/* D7CA8 801415A8 A600003E */ sh $zero, 0x3e($s0)
/* D7CAC 801415AC AE12000C */ sw $s2, 0xc($s0)
/* D7CB0 801415B0 AE020034 */ sw $v0, 0x34($s0)
/* D7CB4 801415B4 AE020038 */ sw $v0, 0x38($s0)
/* D7CB8 801415B8 AE030008 */ sw $v1, 8($s0)
/* D7CBC 801415BC E6000030 */ swc1 $f0, 0x30($s0)
/* D7CC0 801415C0 80820070 */ lb $v0, 0x70($a0)
/* D7CC4 801415C4 10400005 */ beqz $v0, .L801415DC
/* D7CC8 801415C8 00000000 */ nop
/* D7CCC 801415CC 8E020000 */ lw $v0, ($s0)
/* D7CD0 801415D0 36310800 */ ori $s1, $s1, 0x800
/* D7CD4 801415D4 34420400 */ ori $v0, $v0, 0x400
/* D7CD8 801415D8 AE020000 */ sw $v0, ($s0)
.L801415DC:
/* D7CDC 801415DC 8E050004 */ lw $a1, 4($s0)
/* D7CE0 801415E0 0C04FCD4 */ jal load_hud_element
/* D7CE4 801415E4 0200202D */ daddu $a0, $s0, $zero
.L801415E8:
/* D7CE8 801415E8 0C0505C1 */ jal hud_element_update
/* D7CEC 801415EC 0200202D */ daddu $a0, $s0, $zero
/* D7CF0 801415F0 1440FFFD */ bnez $v0, .L801415E8
/* D7CF4 801415F4 0220102D */ daddu $v0, $s1, $zero
/* D7CF8 801415F8 8FBF001C */ lw $ra, 0x1c($sp)
/* D7CFC 801415FC 8FB20018 */ lw $s2, 0x18($sp)
/* D7D00 80141600 8FB10014 */ lw $s1, 0x14($sp)
/* D7D04 80141604 8FB00010 */ lw $s0, 0x10($sp)
/* D7D08 80141608 03E00008 */ jr $ra
/* D7D0C 8014160C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,344 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel draw_hud_element
/* DA998 80144298 27BDFFB8 */ addiu $sp, $sp, -0x48
/* DA99C 8014429C 2402F7FF */ addiu $v0, $zero, -0x801
/* DA9A0 801442A0 00822024 */ and $a0, $a0, $v0
/* DA9A4 801442A4 3C028015 */ lui $v0, %hi(hudElements)
/* DA9A8 801442A8 8C427960 */ lw $v0, %lo(hudElements)($v0)
/* DA9AC 801442AC 00042080 */ sll $a0, $a0, 2
/* DA9B0 801442B0 AFBF0044 */ sw $ra, 0x44($sp)
/* DA9B4 801442B4 AFB60040 */ sw $s6, 0x40($sp)
/* DA9B8 801442B8 AFB5003C */ sw $s5, 0x3c($sp)
/* DA9BC 801442BC AFB40038 */ sw $s4, 0x38($sp)
/* DA9C0 801442C0 AFB30034 */ sw $s3, 0x34($sp)
/* DA9C4 801442C4 AFB20030 */ sw $s2, 0x30($sp)
/* DA9C8 801442C8 AFB1002C */ sw $s1, 0x2c($sp)
/* DA9CC 801442CC AFB00028 */ sw $s0, 0x28($sp)
/* DA9D0 801442D0 00822021 */ addu $a0, $a0, $v0
/* DA9D4 801442D4 8C900000 */ lw $s0, ($a0)
/* DA9D8 801442D8 8E030000 */ lw $v1, ($s0)
/* DA9DC 801442DC 10600128 */ beqz $v1, .L80144780
/* DA9E0 801442E0 30620002 */ andi $v0, $v1, 2
/* DA9E4 801442E4 14400126 */ bnez $v0, .L80144780
/* DA9E8 801442E8 3C021020 */ lui $v0, 0x1020
/* DA9EC 801442EC 00621024 */ and $v0, $v1, $v0
/* DA9F0 801442F0 14400123 */ bnez $v0, .L80144780
/* DA9F4 801442F4 00000000 */ nop
/* DA9F8 801442F8 82020045 */ lb $v0, 0x45($s0)
/* DA9FC 801442FC 04400120 */ bltz $v0, .L80144780
/* DAA00 80144300 24020001 */ addiu $v0, $zero, 1
/* DAA04 80144304 10A2005E */ beq $a1, $v0, .L80144480
/* DAA08 80144308 30620100 */ andi $v0, $v1, 0x100
/* DAA0C 8014430C 14A0000E */ bnez $a1, .L80144348
/* DAA10 80144310 3C06E300 */ lui $a2, 0xe300
/* DAA14 80144314 3C06ED03 */ lui $a2, 0xed03
/* DAA18 80144318 34C60050 */ ori $a2, $a2, 0x50
/* DAA1C 8014431C 3C05004D */ lui $a1, 0x4d
/* DAA20 80144320 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* DAA24 80144324 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* DAA28 80144328 8C820000 */ lw $v0, ($a0)
/* DAA2C 8014432C 34A50370 */ ori $a1, $a1, 0x370
/* DAA30 80144330 0040182D */ daddu $v1, $v0, $zero
/* DAA34 80144334 24420008 */ addiu $v0, $v0, 8
/* DAA38 80144338 AC820000 */ sw $v0, ($a0)
/* DAA3C 8014433C AC660000 */ sw $a2, ($v1)
/* DAA40 80144340 AC650004 */ sw $a1, 4($v1)
/* DAA44 80144344 3C06E300 */ lui $a2, 0xe300
.L80144348:
/* DAA48 80144348 34C60A01 */ ori $a2, $a2, 0xa01
/* DAA4C 8014434C 3C07E300 */ lui $a3, 0xe300
/* DAA50 80144350 34E70C00 */ ori $a3, $a3, 0xc00
/* DAA54 80144354 3C08E300 */ lui $t0, 0xe300
/* DAA58 80144358 35080F00 */ ori $t0, $t0, 0xf00
/* DAA5C 8014435C 3C09E300 */ lui $t1, 0xe300
/* DAA60 80144360 35290D01 */ ori $t1, $t1, 0xd01
/* DAA64 80144364 3C0AE300 */ lui $t2, 0xe300
/* DAA68 80144368 354A1402 */ ori $t2, $t2, 0x1402
/* DAA6C 8014436C 3C0BE300 */ lui $t3, 0xe300
/* DAA70 80144370 356B1700 */ ori $t3, $t3, 0x1700
/* DAA74 80144374 3C0CE200 */ lui $t4, 0xe200
/* DAA78 80144378 358C1E01 */ ori $t4, $t4, 0x1e01
/* DAA7C 8014437C 3C0DE300 */ lui $t5, 0xe300
/* DAA80 80144380 35AD1801 */ ori $t5, $t5, 0x1801
/* DAA84 80144384 3C0EE300 */ lui $t6, 0xe300
/* DAA88 80144388 35CE1A01 */ ori $t6, $t6, 0x1a01
/* DAA8C 8014438C 3C0FD700 */ lui $t7, 0xd700
/* DAA90 80144390 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* DAA94 80144394 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* DAA98 80144398 35EF0002 */ ori $t7, $t7, 2
/* DAA9C 8014439C 8C820000 */ lw $v0, ($a0)
/* DAAA0 801443A0 3C03E700 */ lui $v1, 0xe700
/* DAAA4 801443A4 0040282D */ daddu $a1, $v0, $zero
/* DAAA8 801443A8 24420008 */ addiu $v0, $v0, 8
/* DAAAC 801443AC AC820000 */ sw $v0, ($a0)
/* DAAB0 801443B0 ACA30000 */ sw $v1, ($a1)
/* DAAB4 801443B4 24430008 */ addiu $v1, $v0, 8
/* DAAB8 801443B8 ACA00004 */ sw $zero, 4($a1)
/* DAABC 801443BC AC830000 */ sw $v1, ($a0)
/* DAAC0 801443C0 24430010 */ addiu $v1, $v0, 0x10
/* DAAC4 801443C4 AC460000 */ sw $a2, ($v0)
/* DAAC8 801443C8 AC400004 */ sw $zero, 4($v0)
/* DAACC 801443CC AC830000 */ sw $v1, ($a0)
/* DAAD0 801443D0 24430018 */ addiu $v1, $v0, 0x18
/* DAAD4 801443D4 AC470008 */ sw $a3, 8($v0)
/* DAAD8 801443D8 AC40000C */ sw $zero, 0xc($v0)
/* DAADC 801443DC AC830000 */ sw $v1, ($a0)
/* DAAE0 801443E0 24430020 */ addiu $v1, $v0, 0x20
/* DAAE4 801443E4 AC480010 */ sw $t0, 0x10($v0)
/* DAAE8 801443E8 AC400014 */ sw $zero, 0x14($v0)
/* DAAEC 801443EC AC830000 */ sw $v1, ($a0)
/* DAAF0 801443F0 24430028 */ addiu $v1, $v0, 0x28
/* DAAF4 801443F4 AC490018 */ sw $t1, 0x18($v0)
/* DAAF8 801443F8 AC40001C */ sw $zero, 0x1c($v0)
/* DAAFC 801443FC AC830000 */ sw $v1, ($a0)
/* DAB00 80144400 24030C00 */ addiu $v1, $zero, 0xc00
/* DAB04 80144404 AC430024 */ sw $v1, 0x24($v0)
/* DAB08 80144408 24430030 */ addiu $v1, $v0, 0x30
/* DAB0C 8014440C AC4A0020 */ sw $t2, 0x20($v0)
/* DAB10 80144410 AC830000 */ sw $v1, ($a0)
/* DAB14 80144414 24430038 */ addiu $v1, $v0, 0x38
/* DAB18 80144418 AC4B0028 */ sw $t3, 0x28($v0)
/* DAB1C 8014441C AC40002C */ sw $zero, 0x2c($v0)
/* DAB20 80144420 AC830000 */ sw $v1, ($a0)
/* DAB24 80144424 24430040 */ addiu $v1, $v0, 0x40
/* DAB28 80144428 AC4C0030 */ sw $t4, 0x30($v0)
/* DAB2C 8014442C AC400034 */ sw $zero, 0x34($v0)
/* DAB30 80144430 AC830000 */ sw $v1, ($a0)
/* DAB34 80144434 24430048 */ addiu $v1, $v0, 0x48
/* DAB38 80144438 AC400038 */ sw $zero, 0x38($v0)
/* DAB3C 8014443C AC40003C */ sw $zero, 0x3c($v0)
/* DAB40 80144440 AC830000 */ sw $v1, ($a0)
/* DAB44 80144444 240300C0 */ addiu $v1, $zero, 0xc0
/* DAB48 80144448 AC430044 */ sw $v1, 0x44($v0)
/* DAB4C 8014444C 24430050 */ addiu $v1, $v0, 0x50
/* DAB50 80144450 AC4D0040 */ sw $t5, 0x40($v0)
/* DAB54 80144454 AC830000 */ sw $v1, ($a0)
/* DAB58 80144458 24030030 */ addiu $v1, $zero, 0x30
/* DAB5C 8014445C AC4E0048 */ sw $t6, 0x48($v0)
/* DAB60 80144460 AC43004C */ sw $v1, 0x4c($v0)
/* DAB64 80144464 24430058 */ addiu $v1, $v0, 0x58
/* DAB68 80144468 AC830000 */ sw $v1, ($a0)
/* DAB6C 8014446C 2403FFFF */ addiu $v1, $zero, -1
/* DAB70 80144470 AC4F0050 */ sw $t7, 0x50($v0)
/* DAB74 80144474 AC430054 */ sw $v1, 0x54($v0)
/* DAB78 80144478 8E030000 */ lw $v1, ($s0)
/* DAB7C 8014447C 30620100 */ andi $v0, $v1, 0x100
.L80144480:
/* DAB80 80144480 1440005B */ bnez $v0, .L801445F0
/* DAB84 80144484 3C020010 */ lui $v0, 0x10
/* DAB88 80144488 00621024 */ and $v0, $v1, $v0
/* DAB8C 8014448C 1440000B */ bnez $v0, .L801444BC
/* DAB90 80144490 00000000 */ nop
/* DAB94 80144494 82040046 */ lb $a0, 0x46($s0)
/* DAB98 80144498 3C038015 */ lui $v1, %hi(D_8014EFCC)
/* DAB9C 8014449C 2463EFCC */ addiu $v1, $v1, %lo(D_8014EFCC)
/* DABA0 801444A0 00041040 */ sll $v0, $a0, 1
/* DABA4 801444A4 00441021 */ addu $v0, $v0, $a0
/* DABA8 801444A8 00021040 */ sll $v0, $v0, 1
/* DABAC 801444AC 00431021 */ addu $v0, $v0, $v1
/* DABB0 801444B0 84560000 */ lh $s6, ($v0)
/* DABB4 801444B4 08051131 */ j .L801444C4
/* DABB8 801444B8 84550002 */ lh $s5, 2($v0)
.L801444BC:
/* DABBC 801444BC 9216004E */ lbu $s6, 0x4e($s0)
/* DABC0 801444C0 9215004F */ lbu $s5, 0x4f($s0)
.L801444C4:
/* DABC4 801444C4 8E030000 */ lw $v1, ($s0)
/* DABC8 801444C8 30620010 */ andi $v0, $v1, 0x10
/* DABCC 801444CC 14400013 */ bnez $v0, .L8014451C
/* DABD0 801444D0 3C020010 */ lui $v0, 0x10
/* DABD4 801444D4 00621024 */ and $v0, $v1, $v0
/* DABD8 801444D8 1440000C */ bnez $v0, .L8014450C
/* DABDC 801444DC 00000000 */ nop
/* DABE0 801444E0 82020045 */ lb $v0, 0x45($s0)
/* DABE4 801444E4 3C048015 */ lui $a0, %hi(D_8014EFCC)
/* DABE8 801444E8 2484EFCC */ addiu $a0, $a0, %lo(D_8014EFCC)
/* DABEC 801444EC 00021840 */ sll $v1, $v0, 1
/* DABF0 801444F0 00621821 */ addu $v1, $v1, $v0
/* DABF4 801444F4 00031840 */ sll $v1, $v1, 1
/* DABF8 801444F8 00641821 */ addu $v1, $v1, $a0
/* DABFC 801444FC 84710000 */ lh $s1, ($v1)
/* DAC00 80144500 84720002 */ lh $s2, 2($v1)
/* DAC04 80144504 0805114A */ j .L80144528
/* DAC08 80144508 00111023 */ negu $v0, $s1
.L8014450C:
/* DAC0C 8014450C 92110050 */ lbu $s1, 0x50($s0)
/* DAC10 80144510 92120051 */ lbu $s2, 0x51($s0)
/* DAC14 80144514 0805114A */ j .L80144528
/* DAC18 80144518 00111023 */ negu $v0, $s1
.L8014451C:
/* DAC1C 8014451C 92110048 */ lbu $s1, 0x48($s0)
/* DAC20 80144520 92120049 */ lbu $s2, 0x49($s0)
/* DAC24 80144524 00111023 */ negu $v0, $s1
.L80144528:
/* DAC28 80144528 00021FC2 */ srl $v1, $v0, 0x1f
/* DAC2C 8014452C 00431021 */ addu $v0, $v0, $v1
/* DAC30 80144530 00029843 */ sra $s3, $v0, 1
/* DAC34 80144534 00121023 */ negu $v0, $s2
/* DAC38 80144538 00021FC2 */ srl $v1, $v0, 0x1f
/* DAC3C 8014453C 00431021 */ addu $v0, $v0, $v1
/* DAC40 80144540 0002A043 */ sra $s4, $v0, 1
/* DAC44 80144544 8E030000 */ lw $v1, ($s0)
/* DAC48 80144548 30620800 */ andi $v0, $v1, 0x800
/* DAC4C 8014454C 14400026 */ bnez $v0, .L801445E8
/* DAC50 80144550 3C022000 */ lui $v0, 0x2000
/* DAC54 80144554 00621024 */ and $v0, $v1, $v0
/* DAC58 80144558 10400012 */ beqz $v0, .L801445A4
/* DAC5C 8014455C 0200202D */ daddu $a0, $s0, $zero
/* DAC60 80144560 02C0282D */ daddu $a1, $s6, $zero
/* DAC64 80144564 02A0302D */ daddu $a2, $s5, $zero
/* DAC68 80144568 00113C00 */ sll $a3, $s1, 0x10
/* DAC6C 8014456C 00073C03 */ sra $a3, $a3, 0x10
/* DAC70 80144570 00121400 */ sll $v0, $s2, 0x10
/* DAC74 80144574 00021403 */ sra $v0, $v0, 0x10
/* DAC78 80144578 AFA20010 */ sw $v0, 0x10($sp)
/* DAC7C 8014457C 00131400 */ sll $v0, $s3, 0x10
/* DAC80 80144580 00021403 */ sra $v0, $v0, 0x10
/* DAC84 80144584 AFA20014 */ sw $v0, 0x14($sp)
/* DAC88 80144588 00141400 */ sll $v0, $s4, 0x10
/* DAC8C 8014458C 00021403 */ sra $v0, $v0, 0x10
/* DAC90 80144590 AFA20018 */ sw $v0, 0x18($sp)
/* DAC94 80144594 24020001 */ addiu $v0, $zero, 1
/* DAC98 80144598 AFA2001C */ sw $v0, 0x1c($sp)
/* DAC9C 8014459C 0C04FDC1 */ jal draw_rect_hud_element
/* DACA0 801445A0 AFA20020 */ sw $v0, 0x20($sp)
.L801445A4:
/* DACA4 801445A4 0200202D */ daddu $a0, $s0, $zero
/* DACA8 801445A8 02C0282D */ daddu $a1, $s6, $zero
/* DACAC 801445AC 02A0302D */ daddu $a2, $s5, $zero
/* DACB0 801445B0 00113C00 */ sll $a3, $s1, 0x10
/* DACB4 801445B4 00073C03 */ sra $a3, $a3, 0x10
/* DACB8 801445B8 00121400 */ sll $v0, $s2, 0x10
/* DACBC 801445BC 00021403 */ sra $v0, $v0, 0x10
/* DACC0 801445C0 AFA20010 */ sw $v0, 0x10($sp)
/* DACC4 801445C4 00131400 */ sll $v0, $s3, 0x10
/* DACC8 801445C8 00021403 */ sra $v0, $v0, 0x10
/* DACCC 801445CC AFA20014 */ sw $v0, 0x14($sp)
/* DACD0 801445D0 00141400 */ sll $v0, $s4, 0x10
/* DACD4 801445D4 00021403 */ sra $v0, $v0, 0x10
/* DACD8 801445D8 AFA20018 */ sw $v0, 0x18($sp)
/* DACDC 801445DC 24020001 */ addiu $v0, $zero, 1
/* DACE0 801445E0 080511DE */ j .L80144778
/* DACE4 801445E4 AFA2001C */ sw $v0, 0x1c($sp)
.L801445E8:
/* DACE8 801445E8 080511BC */ j .L801446F0
/* DACEC 801445EC 00621024 */ and $v0, $v1, $v0
.L801445F0:
/* DACF0 801445F0 00621024 */ and $v0, $v1, $v0
/* DACF4 801445F4 1440000C */ bnez $v0, .L80144628
/* DACF8 801445F8 3C032000 */ lui $v1, 0x2000
/* DACFC 801445FC 82040046 */ lb $a0, 0x46($s0)
/* DAD00 80144600 3C038015 */ lui $v1, %hi(D_8014EFCC)
/* DAD04 80144604 2463EFCC */ addiu $v1, $v1, %lo(D_8014EFCC)
/* DAD08 80144608 00041040 */ sll $v0, $a0, 1
/* DAD0C 8014460C 00441021 */ addu $v0, $v0, $a0
/* DAD10 80144610 00021040 */ sll $v0, $v0, 1
/* DAD14 80144614 00431021 */ addu $v0, $v0, $v1
/* DAD18 80144618 84560000 */ lh $s6, ($v0)
/* DAD1C 8014461C 84550002 */ lh $s5, 2($v0)
/* DAD20 80144620 0805118C */ j .L80144630
/* DAD24 80144624 3C032000 */ lui $v1, 0x2000
.L80144628:
/* DAD28 80144628 9216004E */ lbu $s6, 0x4e($s0)
/* DAD2C 8014462C 9215004F */ lbu $s5, 0x4f($s0)
.L80144630:
/* DAD30 80144630 C6000028 */ lwc1 $f0, 0x28($s0)
/* DAD34 80144634 C606002C */ lwc1 $f6, 0x2c($s0)
/* DAD38 80144638 3C013F00 */ lui $at, 0x3f00
/* DAD3C 8014463C 44811000 */ mtc1 $at, $f2
/* DAD40 80144640 3C013F80 */ lui $at, 0x3f80
/* DAD44 80144644 44815000 */ mtc1 $at, $f10
/* DAD48 80144648 46000207 */ neg.s $f8, $f0
/* DAD4C 8014464C 46024202 */ mul.s $f8, $f8, $f2
/* DAD50 80144650 00000000 */ nop
/* DAD54 80144654 3C014480 */ lui $at, 0x4480
/* DAD58 80144658 44816000 */ mtc1 $at, $f12
/* DAD5C 8014465C 8E020000 */ lw $v0, ($s0)
/* DAD60 80144660 4600038D */ trunc.w.s $f14, $f0
/* DAD64 80144664 44117000 */ mfc1 $s1, $f14
/* DAD68 80144668 4600338D */ trunc.w.s $f14, $f6
/* DAD6C 8014466C 44127000 */ mfc1 $s2, $f14
/* DAD70 80144670 46003187 */ neg.s $f6, $f6
/* DAD74 80144674 46023182 */ mul.s $f6, $f6, $f2
/* DAD78 80144678 00000000 */ nop
/* DAD7C 8014467C 44912000 */ mtc1 $s1, $f4
/* DAD80 80144680 00000000 */ nop
/* DAD84 80144684 46802120 */ cvt.s.w $f4, $f4
/* DAD88 80144688 44960000 */ mtc1 $s6, $f0
/* DAD8C 8014468C 00000000 */ nop
/* DAD90 80144690 46800020 */ cvt.s.w $f0, $f0
/* DAD94 80144694 46002103 */ div.s $f4, $f4, $f0
/* DAD98 80144698 46045103 */ div.s $f4, $f10, $f4
/* DAD9C 8014469C 460C2102 */ mul.s $f4, $f4, $f12
/* DADA0 801446A0 00000000 */ nop
/* DADA4 801446A4 44920000 */ mtc1 $s2, $f0
/* DADA8 801446A8 00000000 */ nop
/* DADAC 801446AC 46800020 */ cvt.s.w $f0, $f0
/* DADB0 801446B0 44951000 */ mtc1 $s5, $f2
/* DADB4 801446B4 00000000 */ nop
/* DADB8 801446B8 468010A0 */ cvt.s.w $f2, $f2
/* DADBC 801446BC 46020003 */ div.s $f0, $f0, $f2
/* DADC0 801446C0 46005003 */ div.s $f0, $f10, $f0
/* DADC4 801446C4 460C0002 */ mul.s $f0, $f0, $f12
/* DADC8 801446C8 00000000 */ nop
/* DADCC 801446CC 00431024 */ and $v0, $v0, $v1
/* DADD0 801446D0 4600438D */ trunc.w.s $f14, $f8
/* DADD4 801446D4 44137000 */ mfc1 $s3, $f14
/* DADD8 801446D8 4600338D */ trunc.w.s $f14, $f6
/* DADDC 801446DC 44147000 */ mfc1 $s4, $f14
/* DADE0 801446E0 4600238D */ trunc.w.s $f14, $f4
/* DADE4 801446E4 E60E0034 */ swc1 $f14, 0x34($s0)
/* DADE8 801446E8 4600038D */ trunc.w.s $f14, $f0
/* DADEC 801446EC E60E0038 */ swc1 $f14, 0x38($s0)
.L801446F0:
/* DADF0 801446F0 10400012 */ beqz $v0, .L8014473C
/* DADF4 801446F4 0200202D */ daddu $a0, $s0, $zero
/* DADF8 801446F8 02C0282D */ daddu $a1, $s6, $zero
/* DADFC 801446FC 02A0302D */ daddu $a2, $s5, $zero
/* DAE00 80144700 00113C00 */ sll $a3, $s1, 0x10
/* DAE04 80144704 00073C03 */ sra $a3, $a3, 0x10
/* DAE08 80144708 00121400 */ sll $v0, $s2, 0x10
/* DAE0C 8014470C 00021403 */ sra $v0, $v0, 0x10
/* DAE10 80144710 AFA20010 */ sw $v0, 0x10($sp)
/* DAE14 80144714 00131400 */ sll $v0, $s3, 0x10
/* DAE18 80144718 00021403 */ sra $v0, $v0, 0x10
/* DAE1C 8014471C AFA20014 */ sw $v0, 0x14($sp)
/* DAE20 80144720 00141400 */ sll $v0, $s4, 0x10
/* DAE24 80144724 00021403 */ sra $v0, $v0, 0x10
/* DAE28 80144728 AFA20018 */ sw $v0, 0x18($sp)
/* DAE2C 8014472C 24020001 */ addiu $v0, $zero, 1
/* DAE30 80144730 AFA0001C */ sw $zero, 0x1c($sp)
/* DAE34 80144734 0C04FDC1 */ jal draw_rect_hud_element
/* DAE38 80144738 AFA20020 */ sw $v0, 0x20($sp)
.L8014473C:
/* DAE3C 8014473C 0200202D */ daddu $a0, $s0, $zero
/* DAE40 80144740 02C0282D */ daddu $a1, $s6, $zero
/* DAE44 80144744 02A0302D */ daddu $a2, $s5, $zero
/* DAE48 80144748 00113C00 */ sll $a3, $s1, 0x10
/* DAE4C 8014474C 00073C03 */ sra $a3, $a3, 0x10
/* DAE50 80144750 00121400 */ sll $v0, $s2, 0x10
/* DAE54 80144754 00021403 */ sra $v0, $v0, 0x10
/* DAE58 80144758 AFA20010 */ sw $v0, 0x10($sp)
/* DAE5C 8014475C 00131400 */ sll $v0, $s3, 0x10
/* DAE60 80144760 00021403 */ sra $v0, $v0, 0x10
/* DAE64 80144764 AFA20014 */ sw $v0, 0x14($sp)
/* DAE68 80144768 00141400 */ sll $v0, $s4, 0x10
/* DAE6C 8014476C 00021403 */ sra $v0, $v0, 0x10
/* DAE70 80144770 AFA20018 */ sw $v0, 0x18($sp)
/* DAE74 80144774 AFA0001C */ sw $zero, 0x1c($sp)
.L80144778:
/* DAE78 80144778 0C04FDC1 */ jal draw_rect_hud_element
/* DAE7C 8014477C AFA00020 */ sw $zero, 0x20($sp)
.L80144780:
/* DAE80 80144780 8FBF0044 */ lw $ra, 0x44($sp)
/* DAE84 80144784 8FB60040 */ lw $s6, 0x40($sp)
/* DAE88 80144788 8FB5003C */ lw $s5, 0x3c($sp)
/* DAE8C 8014478C 8FB40038 */ lw $s4, 0x38($sp)
/* DAE90 80144790 8FB30034 */ lw $s3, 0x34($sp)
/* DAE94 80144794 8FB20030 */ lw $s2, 0x30($sp)
/* DAE98 80144798 8FB1002C */ lw $s1, 0x2c($sp)
/* DAE9C 8014479C 8FB00028 */ lw $s0, 0x28($sp)
/* DAEA0 801447A0 03E00008 */ jr $ra
/* DAEA4 801447A4 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -1,378 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80143C48
/* DA348 80143C48 27BDFFB8 */ addiu $sp, $sp, -0x48
/* DA34C 80143C4C AFBE0040 */ sw $fp, 0x40($sp)
/* DA350 80143C50 0080F02D */ daddu $fp, $a0, $zero
/* DA354 80143C54 AFB10024 */ sw $s1, 0x24($sp)
/* DA358 80143C58 00C0882D */ daddu $s1, $a2, $zero
/* DA35C 80143C5C 3C02800B */ lui $v0, %hi(gCameras)
/* DA360 80143C60 24421D80 */ addiu $v0, $v0, %lo(gCameras)
/* DA364 80143C64 00111880 */ sll $v1, $s1, 2
/* DA368 80143C68 00711821 */ addu $v1, $v1, $s1
/* DA36C 80143C6C 00031880 */ sll $v1, $v1, 2
/* DA370 80143C70 00711823 */ subu $v1, $v1, $s1
/* DA374 80143C74 000320C0 */ sll $a0, $v1, 3
/* DA378 80143C78 00641821 */ addu $v1, $v1, $a0
/* DA37C 80143C7C 000318C0 */ sll $v1, $v1, 3
/* DA380 80143C80 AFB60038 */ sw $s6, 0x38($sp)
/* DA384 80143C84 0062B021 */ addu $s6, $v1, $v0
/* DA388 80143C88 AFBF0044 */ sw $ra, 0x44($sp)
/* DA38C 80143C8C AFB7003C */ sw $s7, 0x3c($sp)
/* DA390 80143C90 AFB50034 */ sw $s5, 0x34($sp)
/* DA394 80143C94 AFB40030 */ sw $s4, 0x30($sp)
/* DA398 80143C98 AFB3002C */ sw $s3, 0x2c($sp)
/* DA39C 80143C9C AFB20028 */ sw $s2, 0x28($sp)
/* DA3A0 80143CA0 18A00133 */ blez $a1, .L80144170
/* DA3A4 80143CA4 AFB00020 */ sw $s0, 0x20($sp)
/* DA3A8 80143CA8 96C20000 */ lhu $v0, ($s6)
/* DA3AC 80143CAC 1040014E */ beqz $v0, .L801441E8
/* DA3B0 80143CB0 30420002 */ andi $v0, $v0, 2
/* DA3B4 80143CB4 1440014C */ bnez $v0, .L801441E8
/* DA3B8 80143CB8 3C02DC08 */ lui $v0, 0xdc08
/* DA3BC 80143CBC 34420008 */ ori $v0, $v0, 8
/* DA3C0 80143CC0 3C04D9C0 */ lui $a0, 0xd9c0
/* DA3C4 80143CC4 3484F9FB */ ori $a0, $a0, 0xf9fb
/* DA3C8 80143CC8 3C05E300 */ lui $a1, 0xe300
/* DA3CC 80143CCC 34A50800 */ ori $a1, $a1, 0x800
/* DA3D0 80143CD0 3C06E300 */ lui $a2, 0xe300
/* DA3D4 80143CD4 34C61001 */ ori $a2, $a2, 0x1001
/* DA3D8 80143CD8 3C07E300 */ lui $a3, 0xe300
/* DA3DC 80143CDC 34E71201 */ ori $a3, $a3, 0x1201
/* DA3E0 80143CE0 3C0AFCFF */ lui $t2, 0xfcff
/* DA3E4 80143CE4 354AFFFF */ ori $t2, $t2, 0xffff
/* DA3E8 80143CE8 3C08FFFE */ lui $t0, 0xfffe
/* DA3EC 80143CEC 3508793C */ ori $t0, $t0, 0x793c
/* DA3F0 80143CF0 3C0BE200 */ lui $t3, 0xe200
/* DA3F4 80143CF4 356B001C */ ori $t3, $t3, 0x1c
/* DA3F8 80143CF8 3C090F0A */ lui $t1, 0xf0a
/* DA3FC 80143CFC 35294000 */ ori $t1, $t1, 0x4000
/* DA400 80143D00 3C0CDB04 */ lui $t4, 0xdb04
/* DA404 80143D04 358C0004 */ ori $t4, $t4, 4
/* DA408 80143D08 3C0DDB04 */ lui $t5, 0xdb04
/* DA40C 80143D0C 35AD000C */ ori $t5, $t5, 0xc
/* DA410 80143D10 3C0EDB04 */ lui $t6, 0xdb04
/* DA414 80143D14 35CE0014 */ ori $t6, $t6, 0x14
/* DA418 80143D18 3C0FDB04 */ lui $t7, 0xdb04
/* DA41C 80143D1C 35EF001C */ ori $t7, $t7, 0x1c
/* DA420 80143D20 3C14E300 */ lui $s4, 0xe300
/* DA424 80143D24 36940A01 */ ori $s4, $s4, 0xa01
/* DA428 80143D28 3C15FF10 */ lui $s5, 0xff10
/* DA42C 80143D2C 36B5013F */ ori $s5, $s5, 0x13f
/* DA430 80143D30 3C12800A */ lui $s2, %hi(gMasterGfxPos)
/* DA434 80143D34 2652A66C */ addiu $s2, $s2, %lo(gMasterGfxPos)
/* DA438 80143D38 8E500000 */ lw $s0, ($s2)
/* DA43C 80143D3C 3C13E700 */ lui $s3, 0xe700
/* DA440 80143D40 3C01800A */ lui $at, %hi(gCurrentCamID)
/* DA444 80143D44 A431A634 */ sh $s1, %lo(gCurrentCamID)($at)
/* DA448 80143D48 0200182D */ daddu $v1, $s0, $zero
/* DA44C 80143D4C 26100008 */ addiu $s0, $s0, 8
/* DA450 80143D50 AE500000 */ sw $s0, ($s2)
/* DA454 80143D54 AC620000 */ sw $v0, ($v1)
/* DA458 80143D58 26C200A0 */ addiu $v0, $s6, 0xa0
/* DA45C 80143D5C AC620004 */ sw $v0, 4($v1)
/* DA460 80143D60 26020008 */ addiu $v0, $s0, 8
/* DA464 80143D64 AE420000 */ sw $v0, ($s2)
/* DA468 80143D68 26020010 */ addiu $v0, $s0, 0x10
/* DA46C 80143D6C AE040000 */ sw $a0, ($s0)
/* DA470 80143D70 AE000004 */ sw $zero, 4($s0)
/* DA474 80143D74 AE420000 */ sw $v0, ($s2)
/* DA478 80143D78 3C02D700 */ lui $v0, 0xd700
/* DA47C 80143D7C AE020008 */ sw $v0, 8($s0)
/* DA480 80143D80 26020018 */ addiu $v0, $s0, 0x18
/* DA484 80143D84 AE00000C */ sw $zero, 0xc($s0)
/* DA488 80143D88 AE420000 */ sw $v0, ($s2)
/* DA48C 80143D8C 26020020 */ addiu $v0, $s0, 0x20
/* DA490 80143D90 AE050010 */ sw $a1, 0x10($s0)
/* DA494 80143D94 AE000014 */ sw $zero, 0x14($s0)
/* DA498 80143D98 AE420000 */ sw $v0, ($s2)
/* DA49C 80143D9C 26020028 */ addiu $v0, $s0, 0x28
/* DA4A0 80143DA0 AE060018 */ sw $a2, 0x18($s0)
/* DA4A4 80143DA4 AE00001C */ sw $zero, 0x1c($s0)
/* DA4A8 80143DA8 AE420000 */ sw $v0, ($s2)
/* DA4AC 80143DAC 24022000 */ addiu $v0, $zero, 0x2000
/* DA4B0 80143DB0 AE020024 */ sw $v0, 0x24($s0)
/* DA4B4 80143DB4 26020030 */ addiu $v0, $s0, 0x30
/* DA4B8 80143DB8 AE070020 */ sw $a3, 0x20($s0)
/* DA4BC 80143DBC AE420000 */ sw $v0, ($s2)
/* DA4C0 80143DC0 26020038 */ addiu $v0, $s0, 0x38
/* DA4C4 80143DC4 AE0A0028 */ sw $t2, 0x28($s0)
/* DA4C8 80143DC8 AE08002C */ sw $t0, 0x2c($s0)
/* DA4CC 80143DCC AE420000 */ sw $v0, ($s2)
/* DA4D0 80143DD0 26020040 */ addiu $v0, $s0, 0x40
/* DA4D4 80143DD4 24030002 */ addiu $v1, $zero, 2
/* DA4D8 80143DD8 AE0B0030 */ sw $t3, 0x30($s0)
/* DA4DC 80143DDC AE090034 */ sw $t1, 0x34($s0)
/* DA4E0 80143DE0 AE420000 */ sw $v0, ($s2)
/* DA4E4 80143DE4 26020048 */ addiu $v0, $s0, 0x48
/* DA4E8 80143DE8 AE0C0038 */ sw $t4, 0x38($s0)
/* DA4EC 80143DEC AE03003C */ sw $v1, 0x3c($s0)
/* DA4F0 80143DF0 AE420000 */ sw $v0, ($s2)
/* DA4F4 80143DF4 26020050 */ addiu $v0, $s0, 0x50
/* DA4F8 80143DF8 AE030044 */ sw $v1, 0x44($s0)
/* DA4FC 80143DFC 3403FFFE */ ori $v1, $zero, 0xfffe
/* DA500 80143E00 AE0D0040 */ sw $t5, 0x40($s0)
/* DA504 80143E04 AE420000 */ sw $v0, ($s2)
/* DA508 80143E08 AE0E0048 */ sw $t6, 0x48($s0)
/* DA50C 80143E0C 3C04800A */ lui $a0, %hi(nuGfxZBuffer)
/* DA510 80143E10 8C84A5DC */ lw $a0, %lo(nuGfxZBuffer)($a0)
/* DA514 80143E14 26020058 */ addiu $v0, $s0, 0x58
/* DA518 80143E18 AE03004C */ sw $v1, 0x4c($s0)
/* DA51C 80143E1C AE420000 */ sw $v0, ($s2)
/* DA520 80143E20 26020060 */ addiu $v0, $s0, 0x60
/* DA524 80143E24 AE0F0050 */ sw $t7, 0x50($s0)
/* DA528 80143E28 AE030054 */ sw $v1, 0x54($s0)
/* DA52C 80143E2C AE420000 */ sw $v0, ($s2)
/* DA530 80143E30 26020068 */ addiu $v0, $s0, 0x68
/* DA534 80143E34 AE130058 */ sw $s3, 0x58($s0)
/* DA538 80143E38 AE00005C */ sw $zero, 0x5c($s0)
/* DA53C 80143E3C AE420000 */ sw $v0, ($s2)
/* DA540 80143E40 3C020030 */ lui $v0, 0x30
/* DA544 80143E44 AE020064 */ sw $v0, 0x64($s0)
/* DA548 80143E48 26020070 */ addiu $v0, $s0, 0x70
/* DA54C 80143E4C AE140060 */ sw $s4, 0x60($s0)
/* DA550 80143E50 AE420000 */ sw $v0, ($s2)
/* DA554 80143E54 0C0187A4 */ jal osVirtualToPhysical
/* DA558 80143E58 AE150068 */ sw $s5, 0x68($s0)
/* DA55C 80143E5C 3C05FFFC */ lui $a1, 0xfffc
/* DA560 80143E60 8E510000 */ lw $s1, ($s2)
/* DA564 80143E64 34A5FFFC */ ori $a1, $a1, 0xfffc
/* DA568 80143E68 AE02006C */ sw $v0, 0x6c($s0)
/* DA56C 80143E6C 3C02F700 */ lui $v0, 0xf700
/* DA570 80143E70 3C04800A */ lui $a0, %hi(nuGfxCfb_ptr)
/* DA574 80143E74 8C84A64C */ lw $a0, %lo(nuGfxCfb_ptr)($a0)
/* DA578 80143E78 0220182D */ daddu $v1, $s1, $zero
/* DA57C 80143E7C 26310008 */ addiu $s1, $s1, 8
/* DA580 80143E80 AE510000 */ sw $s1, ($s2)
/* DA584 80143E84 AC620000 */ sw $v0, ($v1)
/* DA588 80143E88 26220008 */ addiu $v0, $s1, 8
/* DA58C 80143E8C AC650004 */ sw $a1, 4($v1)
/* DA590 80143E90 AE420000 */ sw $v0, ($s2)
/* DA594 80143E94 86C3000E */ lh $v1, 0xe($s6)
/* DA598 80143E98 86C5000A */ lh $a1, 0xa($s6)
/* DA59C 80143E9C 26220010 */ addiu $v0, $s1, 0x10
/* DA5A0 80143EA0 AE420000 */ sw $v0, ($s2)
/* DA5A4 80143EA4 86C20010 */ lh $v0, 0x10($s6)
/* DA5A8 80143EA8 00651821 */ addu $v1, $v1, $a1
/* DA5AC 80143EAC 2463FFFF */ addiu $v1, $v1, -1
/* DA5B0 80143EB0 306303FF */ andi $v1, $v1, 0x3ff
/* DA5B4 80143EB4 86C5000C */ lh $a1, 0xc($s6)
/* DA5B8 80143EB8 00031B80 */ sll $v1, $v1, 0xe
/* DA5BC 80143EBC 00451021 */ addu $v0, $v0, $a1
/* DA5C0 80143EC0 2442FFFF */ addiu $v0, $v0, -1
/* DA5C4 80143EC4 304203FF */ andi $v0, $v0, 0x3ff
/* DA5C8 80143EC8 00021080 */ sll $v0, $v0, 2
/* DA5CC 80143ECC 3C05F600 */ lui $a1, 0xf600
/* DA5D0 80143ED0 00451025 */ or $v0, $v0, $a1
/* DA5D4 80143ED4 00621825 */ or $v1, $v1, $v0
/* DA5D8 80143ED8 AE230000 */ sw $v1, ($s1)
/* DA5DC 80143EDC 96C2000E */ lhu $v0, 0xe($s6)
/* DA5E0 80143EE0 96C50010 */ lhu $a1, 0x10($s6)
/* DA5E4 80143EE4 26230018 */ addiu $v1, $s1, 0x18
/* DA5E8 80143EE8 AE430000 */ sw $v1, ($s2)
/* DA5EC 80143EEC AE330008 */ sw $s3, 8($s1)
/* DA5F0 80143EF0 AE20000C */ sw $zero, 0xc($s1)
/* DA5F4 80143EF4 AE350010 */ sw $s5, 0x10($s1)
/* DA5F8 80143EF8 304203FF */ andi $v0, $v0, 0x3ff
/* DA5FC 80143EFC 00021380 */ sll $v0, $v0, 0xe
/* DA600 80143F00 30A503FF */ andi $a1, $a1, 0x3ff
/* DA604 80143F04 00052880 */ sll $a1, $a1, 2
/* DA608 80143F08 00451025 */ or $v0, $v0, $a1
/* DA60C 80143F0C 0C0187A4 */ jal osVirtualToPhysical
/* DA610 80143F10 AE220004 */ sw $v0, 4($s1)
/* DA614 80143F14 26D000D4 */ addiu $s0, $s6, 0xd4
/* DA618 80143F18 8E430000 */ lw $v1, ($s2)
/* DA61C 80143F1C 44800000 */ mtc1 $zero, $f0
/* DA620 80143F20 3C01447A */ lui $at, 0x447a
/* DA624 80143F24 44811000 */ mtc1 $at, $f2
/* DA628 80143F28 3C013F80 */ lui $at, 0x3f80
/* DA62C 80143F2C 44812000 */ mtc1 $at, $f4
/* DA630 80143F30 3C0643A0 */ lui $a2, 0x43a0
/* DA634 80143F34 3C07C370 */ lui $a3, 0xc370
/* DA638 80143F38 0200202D */ daddu $a0, $s0, $zero
/* DA63C 80143F3C AE220014 */ sw $v0, 0x14($s1)
/* DA640 80143F40 0060102D */ daddu $v0, $v1, $zero
/* DA644 80143F44 44050000 */ mfc1 $a1, $f0
/* DA648 80143F48 3C01C47A */ lui $at, 0xc47a
/* DA64C 80143F4C 44810000 */ mtc1 $at, $f0
/* DA650 80143F50 24630008 */ addiu $v1, $v1, 8
/* DA654 80143F54 AE430000 */ sw $v1, ($s2)
/* DA658 80143F58 AC530000 */ sw $s3, ($v0)
/* DA65C 80143F5C AC400004 */ sw $zero, 4($v0)
/* DA660 80143F60 E7A20018 */ swc1 $f2, 0x18($sp)
/* DA664 80143F64 E7A4001C */ swc1 $f4, 0x1c($sp)
/* DA668 80143F68 AFA50010 */ sw $a1, 0x10($sp)
/* DA66C 80143F6C 0C018E44 */ jal guOrthoF
/* DA670 80143F70 E7A00014 */ swc1 $f0, 0x14($sp)
/* DA674 80143F74 0200202D */ daddu $a0, $s0, $zero
/* DA678 80143F78 3C10800A */ lui $s0, %hi(gDisplayContext)
/* DA67C 80143F7C 2610A674 */ addiu $s0, $s0, %lo(gDisplayContext)
/* DA680 80143F80 3C05800A */ lui $a1, %hi(gCurrentCamID)
/* DA684 80143F84 84A5A634 */ lh $a1, %lo(gCurrentCamID)($a1)
/* DA688 80143F88 8E020000 */ lw $v0, ($s0)
/* DA68C 80143F8C 00052980 */ sll $a1, $a1, 6
/* DA690 80143F90 24A50030 */ addiu $a1, $a1, 0x30
/* DA694 80143F94 0C019D40 */ jal guMtxF2L
/* DA698 80143F98 00452821 */ addu $a1, $v0, $a1
/* DA69C 80143F9C 3C03DA38 */ lui $v1, 0xda38
/* DA6A0 80143FA0 34630007 */ ori $v1, $v1, 7
/* DA6A4 80143FA4 3C07ED03 */ lui $a3, 0xed03
/* DA6A8 80143FA8 34E70050 */ ori $a3, $a3, 0x50
/* DA6AC 80143FAC 3C06004D */ lui $a2, 0x4d
/* DA6B0 80143FB0 34C60370 */ ori $a2, $a2, 0x370
/* DA6B4 80143FB4 3C08D9C0 */ lui $t0, 0xd9c0
/* DA6B8 80143FB8 3508F9FA */ ori $t0, $t0, 0xf9fa
/* DA6BC 80143FBC 3C0AD9FF */ lui $t2, 0xd9ff
/* DA6C0 80143FC0 354AFFFF */ ori $t2, $t2, 0xffff
/* DA6C4 80143FC4 3C090022 */ lui $t1, 0x22
/* DA6C8 80143FC8 35290005 */ ori $t1, $t1, 5
/* DA6CC 80143FCC 3C0BDC08 */ lui $t3, 0xdc08
/* DA6D0 80143FD0 356B060A */ ori $t3, $t3, 0x60a
/* DA6D4 80143FD4 3C0CDC08 */ lui $t4, 0xdc08
/* DA6D8 80143FD8 358C090A */ ori $t4, $t4, 0x90a
/* DA6DC 80143FDC 3C0DD700 */ lui $t5, 0xd700
/* DA6E0 80143FE0 35AD0002 */ ori $t5, $t5, 2
/* DA6E4 80143FE4 3C0EE300 */ lui $t6, 0xe300
/* DA6E8 80143FE8 35CE0F00 */ ori $t6, $t6, 0xf00
/* DA6EC 80143FEC 3C0FE300 */ lui $t7, 0xe300
/* DA6F0 80143FF0 35EF0C00 */ ori $t7, $t7, 0xc00
/* DA6F4 80143FF4 3C11E300 */ lui $s1, 0xe300
/* DA6F8 80143FF8 36311801 */ ori $s1, $s1, 0x1801
/* DA6FC 80143FFC 3C15E300 */ lui $s5, 0xe300
/* DA700 80144000 36B50D01 */ ori $s5, $s5, 0xd01
/* DA704 80144004 3C16E300 */ lui $s6, 0xe300
/* DA708 80144008 36D61402 */ ori $s6, $s6, 0x1402
/* DA70C 8014400C 3C17E300 */ lui $s7, 0xe300
/* DA710 80144010 36F71700 */ ori $s7, $s7, 0x1700
/* DA714 80144014 3C18E200 */ lui $t8, 0xe200
/* DA718 80144018 37181E01 */ ori $t8, $t8, 0x1e01
/* DA71C 8014401C 8E420000 */ lw $v0, ($s2)
/* DA720 80144020 3C04800A */ lui $a0, %hi(gCurrentCamID)
/* DA724 80144024 8484A634 */ lh $a0, %lo(gCurrentCamID)($a0)
/* DA728 80144028 0040282D */ daddu $a1, $v0, $zero
/* DA72C 8014402C 24420008 */ addiu $v0, $v0, 8
/* DA730 80144030 00042180 */ sll $a0, $a0, 6
/* DA734 80144034 AE420000 */ sw $v0, ($s2)
/* DA738 80144038 ACA30000 */ sw $v1, ($a1)
/* DA73C 8014403C 8E030000 */ lw $v1, ($s0)
/* DA740 80144040 24840030 */ addiu $a0, $a0, 0x30
/* DA744 80144044 00641821 */ addu $v1, $v1, $a0
/* DA748 80144048 ACA30004 */ sw $v1, 4($a1)
/* DA74C 8014404C 24430008 */ addiu $v1, $v0, 8
/* DA750 80144050 AE430000 */ sw $v1, ($s2)
/* DA754 80144054 24430010 */ addiu $v1, $v0, 0x10
/* DA758 80144058 AC470000 */ sw $a3, ($v0)
/* DA75C 8014405C AC460004 */ sw $a2, 4($v0)
/* DA760 80144060 AE430000 */ sw $v1, ($s2)
/* DA764 80144064 24430018 */ addiu $v1, $v0, 0x18
/* DA768 80144068 AC530008 */ sw $s3, 8($v0)
/* DA76C 8014406C AC40000C */ sw $zero, 0xc($v0)
/* DA770 80144070 AE430000 */ sw $v1, ($s2)
/* DA774 80144074 24430020 */ addiu $v1, $v0, 0x20
/* DA778 80144078 AC540010 */ sw $s4, 0x10($v0)
/* DA77C 8014407C AC400014 */ sw $zero, 0x14($v0)
/* DA780 80144080 AE430000 */ sw $v1, ($s2)
/* DA784 80144084 24430028 */ addiu $v1, $v0, 0x28
/* DA788 80144088 AC480018 */ sw $t0, 0x18($v0)
/* DA78C 8014408C AC40001C */ sw $zero, 0x1c($v0)
/* DA790 80144090 AE430000 */ sw $v1, ($s2)
/* DA794 80144094 24430030 */ addiu $v1, $v0, 0x30
/* DA798 80144098 AC4A0020 */ sw $t2, 0x20($v0)
/* DA79C 8014409C AC490024 */ sw $t1, 0x24($v0)
/* DA7A0 801440A0 AE430000 */ sw $v1, ($s2)
/* DA7A4 801440A4 3C03DB02 */ lui $v1, 0xdb02
/* DA7A8 801440A8 AC430028 */ sw $v1, 0x28($v0)
/* DA7AC 801440AC 24030018 */ addiu $v1, $zero, 0x18
/* DA7B0 801440B0 AC43002C */ sw $v1, 0x2c($v0)
/* DA7B4 801440B4 24430038 */ addiu $v1, $v0, 0x38
/* DA7B8 801440B8 3C048015 */ lui $a0, %hi(D_8014F110)
/* DA7BC 801440BC 2484F110 */ addiu $a0, $a0, %lo(D_8014F110)
/* DA7C0 801440C0 AE430000 */ sw $v1, ($s2)
/* DA7C4 801440C4 24430040 */ addiu $v1, $v0, 0x40
/* DA7C8 801440C8 AC440034 */ sw $a0, 0x34($v0)
/* DA7CC 801440CC 2484FFF8 */ addiu $a0, $a0, -8
/* DA7D0 801440D0 AC4B0030 */ sw $t3, 0x30($v0)
/* DA7D4 801440D4 AE430000 */ sw $v1, ($s2)
/* DA7D8 801440D8 24430048 */ addiu $v1, $v0, 0x48
/* DA7DC 801440DC AC4C0038 */ sw $t4, 0x38($v0)
/* DA7E0 801440E0 AC44003C */ sw $a0, 0x3c($v0)
/* DA7E4 801440E4 AE430000 */ sw $v1, ($s2)
/* DA7E8 801440E8 2403FFFF */ addiu $v1, $zero, -1
/* DA7EC 801440EC AC430044 */ sw $v1, 0x44($v0)
/* DA7F0 801440F0 24430050 */ addiu $v1, $v0, 0x50
/* DA7F4 801440F4 AC4D0040 */ sw $t5, 0x40($v0)
/* DA7F8 801440F8 AE430000 */ sw $v1, ($s2)
/* DA7FC 801440FC 24430058 */ addiu $v1, $v0, 0x58
/* DA800 80144100 AC4E0048 */ sw $t6, 0x48($v0)
/* DA804 80144104 AC40004C */ sw $zero, 0x4c($v0)
/* DA808 80144108 AE430000 */ sw $v1, ($s2)
/* DA80C 8014410C 3C030008 */ lui $v1, 8
/* DA810 80144110 AC430054 */ sw $v1, 0x54($v0)
/* DA814 80144114 24430060 */ addiu $v1, $v0, 0x60
/* DA818 80144118 AC4F0050 */ sw $t7, 0x50($v0)
/* DA81C 8014411C AE430000 */ sw $v1, ($s2)
/* DA820 80144120 240300C0 */ addiu $v1, $zero, 0xc0
/* DA824 80144124 AC43005C */ sw $v1, 0x5c($v0)
/* DA828 80144128 24430068 */ addiu $v1, $v0, 0x68
/* DA82C 8014412C AC510058 */ sw $s1, 0x58($v0)
/* DA830 80144130 AE430000 */ sw $v1, ($s2)
/* DA834 80144134 24430070 */ addiu $v1, $v0, 0x70
/* DA838 80144138 AC550060 */ sw $s5, 0x60($v0)
/* DA83C 8014413C AC400064 */ sw $zero, 0x64($v0)
/* DA840 80144140 AE430000 */ sw $v1, ($s2)
/* DA844 80144144 24030C00 */ addiu $v1, $zero, 0xc00
/* DA848 80144148 AC43006C */ sw $v1, 0x6c($v0)
/* DA84C 8014414C 24430078 */ addiu $v1, $v0, 0x78
/* DA850 80144150 AC560068 */ sw $s6, 0x68($v0)
/* DA854 80144154 AE430000 */ sw $v1, ($s2)
/* DA858 80144158 24430080 */ addiu $v1, $v0, 0x80
/* DA85C 8014415C AC570070 */ sw $s7, 0x70($v0)
/* DA860 80144160 AC400074 */ sw $zero, 0x74($v0)
/* DA864 80144164 AE430000 */ sw $v1, ($s2)
/* DA868 80144168 AC580078 */ sw $t8, 0x78($v0)
/* DA86C 8014416C AC40007C */ sw $zero, 0x7c($v0)
.L80144170:
/* DA870 80144170 07C0001D */ bltz $fp, .L801441E8
/* DA874 80144174 2402F7FF */ addiu $v0, $zero, -0x801
/* DA878 80144178 03C2F024 */ and $fp, $fp, $v0
/* DA87C 8014417C 3C038015 */ lui $v1, %hi(hudElements)
/* DA880 80144180 8C637960 */ lw $v1, %lo(hudElements)($v1)
/* DA884 80144184 001E1080 */ sll $v0, $fp, 2
/* DA888 80144188 00431021 */ addu $v0, $v0, $v1
/* DA88C 8014418C 8C440000 */ lw $a0, ($v0)
/* DA890 80144190 10800015 */ beqz $a0, .L801441E8
/* DA894 80144194 00000000 */ nop
/* DA898 80144198 8C830000 */ lw $v1, ($a0)
/* DA89C 8014419C 10600012 */ beqz $v1, .L801441E8
/* DA8A0 801441A0 30620002 */ andi $v0, $v1, 2
/* DA8A4 801441A4 14400010 */ bnez $v0, .L801441E8
/* DA8A8 801441A8 3C021020 */ lui $v0, 0x1020
/* DA8AC 801441AC 00621024 */ and $v0, $v1, $v0
/* DA8B0 801441B0 1440000D */ bnez $v0, .L801441E8
/* DA8B4 801441B4 3C020001 */ lui $v0, 1
/* DA8B8 801441B8 00621024 */ and $v0, $v1, $v0
/* DA8BC 801441BC 1040000A */ beqz $v0, .L801441E8
/* DA8C0 801441C0 30620040 */ andi $v0, $v1, 0x40
/* DA8C4 801441C4 14400008 */ bnez $v0, .L801441E8
/* DA8C8 801441C8 00000000 */ nop
/* DA8CC 801441CC 80820045 */ lb $v0, 0x45($a0)
/* DA8D0 801441D0 04400005 */ bltz $v0, .L801441E8
/* DA8D4 801441D4 30620080 */ andi $v0, $v1, 0x80
/* DA8D8 801441D8 10400003 */ beqz $v0, .L801441E8
/* DA8DC 801441DC 00000000 */ nop
/* DA8E0 801441E0 0C050AFF */ jal render_hud_element
/* DA8E4 801441E4 00000000 */ nop
.L801441E8:
/* DA8E8 801441E8 8FBF0044 */ lw $ra, 0x44($sp)
/* DA8EC 801441EC 8FBE0040 */ lw $fp, 0x40($sp)
/* DA8F0 801441F0 8FB7003C */ lw $s7, 0x3c($sp)
/* DA8F4 801441F4 8FB60038 */ lw $s6, 0x38($sp)
/* DA8F8 801441F8 8FB50034 */ lw $s5, 0x34($sp)
/* DA8FC 801441FC 8FB40030 */ lw $s4, 0x30($sp)
/* DA900 80144200 8FB3002C */ lw $s3, 0x2c($sp)
/* DA904 80144204 8FB20028 */ lw $s2, 0x28($sp)
/* DA908 80144208 8FB10024 */ lw $s1, 0x24($sp)
/* DA90C 8014420C 8FB00020 */ lw $s0, 0x20($sp)
/* DA910 80144210 03E00008 */ jr $ra
/* DA914 80144214 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -105,8 +105,8 @@ glabel hud_element_update
/* D7F54 80141854 00621024 */ and $v0, $v1, $v0 /* D7F54 80141854 00621024 */ and $v0, $v1, $v0
/* D7F58 80141858 14400012 */ bnez $v0, .L801418A4 /* D7F58 80141858 14400012 */ bnez $v0, .L801418A4
/* D7F5C 8014185C 00000000 */ nop /* D7F5C 8014185C 00000000 */ nop
/* D7F60 80141860 3C028015 */ lui $v0, %hi(D_8014EFCC) /* D7F60 80141860 3C028015 */ lui $v0, %hi(gHudElementSizes)
/* D7F64 80141864 2442EFCC */ addiu $v0, $v0, %lo(D_8014EFCC) /* D7F64 80141864 2442EFCC */ addiu $v0, $v0, %lo(gHudElementSizes)
/* D7F68 80141868 82650046 */ lb $a1, 0x46($s3) /* D7F68 80141868 82650046 */ lb $a1, 0x46($s3)
/* D7F6C 8014186C 82660045 */ lb $a2, 0x45($s3) /* D7F6C 8014186C 82660045 */ lb $a2, 0x45($s3)
/* D7F70 80141870 00051840 */ sll $v1, $a1, 1 /* D7F70 80141870 00051840 */ sll $v1, $a1, 1
@ -186,8 +186,8 @@ glabel hud_element_update
/* D8088 80141988 00621024 */ and $v0, $v1, $v0 /* D8088 80141988 00621024 */ and $v0, $v1, $v0
/* D808C 8014198C 14400012 */ bnez $v0, .L801419D8 /* D808C 8014198C 14400012 */ bnez $v0, .L801419D8
/* D8090 80141990 00000000 */ nop /* D8090 80141990 00000000 */ nop
/* D8094 80141994 3C028015 */ lui $v0, %hi(D_8014EFCC) /* D8094 80141994 3C028015 */ lui $v0, %hi(gHudElementSizes)
/* D8098 80141998 2442EFCC */ addiu $v0, $v0, %lo(D_8014EFCC) /* D8098 80141998 2442EFCC */ addiu $v0, $v0, %lo(gHudElementSizes)
/* D809C 8014199C 82650046 */ lb $a1, 0x46($s3) /* D809C 8014199C 82650046 */ lb $a1, 0x46($s3)
/* D80A0 801419A0 82660045 */ lb $a2, 0x45($s3) /* D80A0 801419A0 82660045 */ lb $a2, 0x45($s3)
/* D80A4 801419A4 00051840 */ sll $v1, $a1, 1 /* D80A4 801419A4 00051840 */ sll $v1, $a1, 1
@ -301,8 +301,8 @@ glabel hud_element_update
/* D8228 80141B28 00621024 */ and $v0, $v1, $v0 /* D8228 80141B28 00621024 */ and $v0, $v1, $v0
/* D822C 80141B2C 14400012 */ bnez $v0, .L80141B78 /* D822C 80141B2C 14400012 */ bnez $v0, .L80141B78
/* D8230 80141B30 00000000 */ nop /* D8230 80141B30 00000000 */ nop
/* D8234 80141B34 3C028015 */ lui $v0, %hi(D_8014EFCC) /* D8234 80141B34 3C028015 */ lui $v0, %hi(gHudElementSizes)
/* D8238 80141B38 2442EFCC */ addiu $v0, $v0, %lo(D_8014EFCC) /* D8238 80141B38 2442EFCC */ addiu $v0, $v0, %lo(gHudElementSizes)
/* D823C 80141B3C 82650046 */ lb $a1, 0x46($s3) /* D823C 80141B3C 82650046 */ lb $a1, 0x46($s3)
/* D8240 80141B40 82660045 */ lb $a2, 0x45($s3) /* D8240 80141B40 82660045 */ lb $a2, 0x45($s3)
/* D8244 80141B44 00051840 */ sll $v1, $a1, 1 /* D8244 80141B44 00051840 */ sll $v1, $a1, 1
@ -432,8 +432,8 @@ glabel hud_element_update
/* D840C 80141D0C 24020001 */ addiu $v0, $zero, 1 /* D840C 80141D0C 24020001 */ addiu $v0, $zero, 1
/* D8410 80141D10 3C013F80 */ lui $at, 0x3f80 /* D8410 80141D10 3C013F80 */ lui $at, 0x3f80
/* D8414 80141D14 44813000 */ mtc1 $at, $f6 /* D8414 80141D14 44813000 */ mtc1 $at, $f6
/* D8418 80141D18 3C048015 */ lui $a0, %hi(D_8014EFCC) /* D8418 80141D18 3C048015 */ lui $a0, %hi(gHudElementSizes)
/* D841C 80141D1C 2484EFCC */ addiu $a0, $a0, %lo(D_8014EFCC) /* D841C 80141D1C 2484EFCC */ addiu $a0, $a0, %lo(gHudElementSizes)
/* D8420 80141D20 AE700004 */ sw $s0, 4($s3) /* D8420 80141D20 AE700004 */ sw $s0, 4($s3)
/* D8424 80141D24 00451804 */ sllv $v1, $a1, $v0 /* D8424 80141D24 00451804 */ sllv $v1, $a1, $v0
/* D8428 80141D28 00651821 */ addu $v1, $v1, $a1 /* D8428 80141D28 00651821 */ addu $v1, $v1, $a1
@ -553,8 +553,8 @@ glabel hud_element_update
/* D85D0 80141ED0 14400012 */ bnez $v0, .L80141F1C /* D85D0 80141ED0 14400012 */ bnez $v0, .L80141F1C
/* D85D4 80141ED4 E6640030 */ swc1 $f4, 0x30($s3) /* D85D4 80141ED4 E6640030 */ swc1 $f4, 0x30($s3)
/* D85D8 80141ED8 82630046 */ lb $v1, 0x46($s3) /* D85D8 80141ED8 82630046 */ lb $v1, 0x46($s3)
/* D85DC 80141EDC 3C048015 */ lui $a0, %hi(D_8014EFCC) /* D85DC 80141EDC 3C048015 */ lui $a0, %hi(gHudElementSizes)
/* D85E0 80141EE0 2484EFCC */ addiu $a0, $a0, %lo(D_8014EFCC) /* D85E0 80141EE0 2484EFCC */ addiu $a0, $a0, %lo(gHudElementSizes)
/* D85E4 80141EE4 00031040 */ sll $v0, $v1, 1 /* D85E4 80141EE4 00031040 */ sll $v0, $v1, 1
/* D85E8 80141EE8 00431021 */ addu $v0, $v0, $v1 /* D85E8 80141EE8 00431021 */ addu $v0, $v0, $v1
/* D85EC 80141EEC 00021040 */ sll $v0, $v0, 1 /* D85EC 80141EEC 00021040 */ sll $v0, $v0, 1

View File

@ -22,8 +22,8 @@ glabel load_hud_element
/* D5A78 8013F378 120000D8 */ beqz $s0, .L8013F6DC_D5DDC /* D5A78 8013F378 120000D8 */ beqz $s0, .L8013F6DC_D5DDC
/* D5A7C 8013F37C AFB10014 */ sw $s1, 0x14($sp) /* D5A7C 8013F37C AFB10014 */ sw $s1, 0x14($sp)
/* D5A80 8013F380 0000982D */ daddu $s3, $zero, $zero /* D5A80 8013F380 0000982D */ daddu $s3, $zero, $zero
/* D5A84 8013F384 3C168015 */ lui $s6, %hi(D_8014EFCC) /* D5A84 8013F384 3C168015 */ lui $s6, %hi(gHudElementSizes)
/* D5A88 8013F388 26D6EFCC */ addiu $s6, $s6, %lo(D_8014EFCC) /* D5A88 8013F388 26D6EFCC */ addiu $s6, $s6, %lo(gHudElementSizes)
.L8013F38C_D5A8C: .L8013F38C_D5A8C:
/* D5A8C 8013F38C 8E030000 */ lw $v1, ($s0) /* D5A8C 8013F38C 8E030000 */ lw $v1, ($s0)
/* D5A90 8013F390 2C62001C */ sltiu $v0, $v1, 0x1c /* D5A90 8013F390 2C62001C */ sltiu $v0, $v1, 0x1c

View File

@ -56,8 +56,8 @@ glabel render_hud_element
/* D93BC 80142CBC 14400011 */ bnez $v0, .L80142D04 /* D93BC 80142CBC 14400011 */ bnez $v0, .L80142D04
/* D93C0 80142CC0 00000000 */ nop /* D93C0 80142CC0 00000000 */ nop
/* D93C4 80142CC4 82E30046 */ lb $v1, 0x46($s7) /* D93C4 80142CC4 82E30046 */ lb $v1, 0x46($s7)
/* D93C8 80142CC8 3C048015 */ lui $a0, %hi(D_8014EFCC) /* D93C8 80142CC8 3C048015 */ lui $a0, %hi(gHudElementSizes)
/* D93CC 80142CCC 2484EFCC */ addiu $a0, $a0, %lo(D_8014EFCC) /* D93CC 80142CCC 2484EFCC */ addiu $a0, $a0, %lo(gHudElementSizes)
/* D93D0 80142CD0 00031040 */ sll $v0, $v1, 1 /* D93D0 80142CD0 00031040 */ sll $v0, $v1, 1
/* D93D4 80142CD4 00431021 */ addu $v0, $v0, $v1 /* D93D4 80142CD4 00431021 */ addu $v0, $v0, $v1
/* D93D8 80142CD8 00021040 */ sll $v0, $v0, 1 /* D93D8 80142CD8 00021040 */ sll $v0, $v0, 1
@ -96,8 +96,8 @@ glabel render_hud_element
/* D9450 80142D50 1440000C */ bnez $v0, .L80142D84 /* D9450 80142D50 1440000C */ bnez $v0, .L80142D84
/* D9454 80142D54 00000000 */ nop /* D9454 80142D54 00000000 */ nop
/* D9458 80142D58 82E20046 */ lb $v0, 0x46($s7) /* D9458 80142D58 82E20046 */ lb $v0, 0x46($s7)
/* D945C 80142D5C 3C048015 */ lui $a0, %hi(D_8014EFCC) /* D945C 80142D5C 3C048015 */ lui $a0, %hi(gHudElementSizes)
/* D9460 80142D60 2484EFCC */ addiu $a0, $a0, %lo(D_8014EFCC) /* D9460 80142D60 2484EFCC */ addiu $a0, $a0, %lo(gHudElementSizes)
/* D9464 80142D64 00021840 */ sll $v1, $v0, 1 /* D9464 80142D64 00021840 */ sll $v1, $v0, 1
/* D9468 80142D68 00621821 */ addu $v1, $v1, $v0 /* D9468 80142D68 00621821 */ addu $v1, $v1, $v0
/* D946C 80142D6C 00031840 */ sll $v1, $v1, 1 /* D946C 80142D6C 00031840 */ sll $v1, $v1, 1

View File

@ -30,8 +30,8 @@ glabel render_hud_elements_backUI
/* D8970 80142270 3C03800A */ lui $v1, %hi(gMasterGfxPos) /* D8970 80142270 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* D8974 80142274 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos) /* D8974 80142274 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* D8978 80142278 8C620000 */ lw $v0, ($v1) /* D8978 80142278 8C620000 */ lw $v0, ($v1)
/* D897C 8014227C 3C058015 */ lui $a1, %hi(hudElements) /* D897C 8014227C 3C058015 */ lui $a1, %hi(gHudElements)
/* D8980 80142280 8CA57960 */ lw $a1, %lo(hudElements)($a1) /* D8980 80142280 8CA57960 */ lw $a1, %lo(gHudElements)($a1)
/* D8984 80142284 0040202D */ daddu $a0, $v0, $zero /* D8984 80142284 0040202D */ daddu $a0, $v0, $zero
/* D8988 80142288 24420008 */ addiu $v0, $v0, 8 /* D8988 80142288 24420008 */ addiu $v0, $v0, 8
/* D898C 8014228C AC620000 */ sw $v0, ($v1) /* D898C 8014228C AC620000 */ sw $v0, ($v1)
@ -70,8 +70,8 @@ glabel render_hud_elements_backUI
/* D8A08 80142308 27C2FFFF */ addiu $v0, $fp, -1 /* D8A08 80142308 27C2FFFF */ addiu $v0, $fp, -1
/* D8A0C 8014230C 18400024 */ blez $v0, .L801423A0 /* D8A0C 8014230C 18400024 */ blez $v0, .L801423A0
/* D8A10 80142310 0000B82D */ daddu $s7, $zero, $zero /* D8A10 80142310 0000B82D */ daddu $s7, $zero, $zero
/* D8A14 80142314 3C0D8015 */ lui $t5, %hi(hudElements) /* D8A14 80142314 3C0D8015 */ lui $t5, %hi(gHudElements)
/* D8A18 80142318 25AD7960 */ addiu $t5, $t5, %lo(hudElements) /* D8A18 80142318 25AD7960 */ addiu $t5, $t5, %lo(gHudElements)
/* D8A1C 8014231C 27AC0028 */ addiu $t4, $sp, 0x28 /* D8A1C 8014231C 27AC0028 */ addiu $t4, $sp, 0x28
/* D8A20 80142320 0180582D */ daddu $t3, $t4, $zero /* D8A20 80142320 0180582D */ daddu $t3, $t4, $zero
.L80142324: .L80142324:
@ -116,8 +116,8 @@ glabel render_hud_elements_backUI
.L801423AC: .L801423AC:
/* D8AAC 801423AC 03A21021 */ addu $v0, $sp, $v0 /* D8AAC 801423AC 03A21021 */ addu $v0, $sp, $v0
/* D8AB0 801423B0 8C420028 */ lw $v0, 0x28($v0) /* D8AB0 801423B0 8C420028 */ lw $v0, 0x28($v0)
/* D8AB4 801423B4 3C038015 */ lui $v1, %hi(hudElements) /* D8AB4 801423B4 3C038015 */ lui $v1, %hi(gHudElements)
/* D8AB8 801423B8 8C637960 */ lw $v1, %lo(hudElements)($v1) /* D8AB8 801423B8 8C637960 */ lw $v1, %lo(gHudElements)($v1)
/* D8ABC 801423BC 00021080 */ sll $v0, $v0, 2 /* D8ABC 801423BC 00021080 */ sll $v0, $v0, 2
/* D8AC0 801423C0 00431021 */ addu $v0, $v0, $v1 /* D8AC0 801423C0 00431021 */ addu $v0, $v0, $v1
/* D8AC4 801423C4 8C500000 */ lw $s0, ($v0) /* D8AC4 801423C4 8C500000 */ lw $s0, ($v0)
@ -132,8 +132,8 @@ glabel render_hud_elements_backUI
/* D8AE8 801423E8 1440000B */ bnez $v0, .L80142418 /* D8AE8 801423E8 1440000B */ bnez $v0, .L80142418
/* D8AEC 801423EC 00000000 */ nop /* D8AEC 801423EC 00000000 */ nop
/* D8AF0 801423F0 82030046 */ lb $v1, 0x46($s0) /* D8AF0 801423F0 82030046 */ lb $v1, 0x46($s0)
/* D8AF4 801423F4 3C0E8015 */ lui $t6, %hi(D_8014EFCC) /* D8AF4 801423F4 3C0E8015 */ lui $t6, %hi(gHudElementSizes)
/* D8AF8 801423F8 25CEEFCC */ addiu $t6, $t6, %lo(D_8014EFCC) /* D8AF8 801423F8 25CEEFCC */ addiu $t6, $t6, %lo(gHudElementSizes)
/* D8AFC 801423FC 00031040 */ sll $v0, $v1, 1 /* D8AFC 801423FC 00031040 */ sll $v0, $v1, 1
/* D8B00 80142400 00431021 */ addu $v0, $v0, $v1 /* D8B00 80142400 00431021 */ addu $v0, $v0, $v1
/* D8B04 80142404 00021040 */ sll $v0, $v0, 1 /* D8B04 80142404 00021040 */ sll $v0, $v0, 1
@ -153,8 +153,8 @@ glabel render_hud_elements_backUI
/* D8B34 80142434 1440000C */ bnez $v0, .L80142468 /* D8B34 80142434 1440000C */ bnez $v0, .L80142468
/* D8B38 80142438 00000000 */ nop /* D8B38 80142438 00000000 */ nop
/* D8B3C 8014243C 82030045 */ lb $v1, 0x45($s0) /* D8B3C 8014243C 82030045 */ lb $v1, 0x45($s0)
/* D8B40 80142440 3C0E8015 */ lui $t6, %hi(D_8014EFCC) /* D8B40 80142440 3C0E8015 */ lui $t6, %hi(gHudElementSizes)
/* D8B44 80142444 25CEEFCC */ addiu $t6, $t6, %lo(D_8014EFCC) /* D8B44 80142444 25CEEFCC */ addiu $t6, $t6, %lo(gHudElementSizes)
/* D8B48 80142448 00031040 */ sll $v0, $v1, 1 /* D8B48 80142448 00031040 */ sll $v0, $v1, 1
/* D8B4C 8014244C 00431021 */ addu $v0, $v0, $v1 /* D8B4C 8014244C 00431021 */ addu $v0, $v0, $v1
/* D8B50 80142450 00021040 */ sll $v0, $v0, 1 /* D8B50 80142450 00021040 */ sll $v0, $v0, 1
@ -230,8 +230,8 @@ glabel render_hud_elements_backUI
/* D8C50 80142550 1440000B */ bnez $v0, .L80142580 /* D8C50 80142550 1440000B */ bnez $v0, .L80142580
/* D8C54 80142554 00000000 */ nop /* D8C54 80142554 00000000 */ nop
/* D8C58 80142558 82030046 */ lb $v1, 0x46($s0) /* D8C58 80142558 82030046 */ lb $v1, 0x46($s0)
/* D8C5C 8014255C 3C0E8015 */ lui $t6, %hi(D_8014EFCC) /* D8C5C 8014255C 3C0E8015 */ lui $t6, %hi(gHudElementSizes)
/* D8C60 80142560 25CEEFCC */ addiu $t6, $t6, %lo(D_8014EFCC) /* D8C60 80142560 25CEEFCC */ addiu $t6, $t6, %lo(gHudElementSizes)
/* D8C64 80142564 00031040 */ sll $v0, $v1, 1 /* D8C64 80142564 00031040 */ sll $v0, $v1, 1
/* D8C68 80142568 00431021 */ addu $v0, $v0, $v1 /* D8C68 80142568 00431021 */ addu $v0, $v0, $v1
/* D8C6C 8014256C 00021040 */ sll $v0, $v0, 1 /* D8C6C 8014256C 00021040 */ sll $v0, $v0, 1

View File

@ -21,8 +21,8 @@ glabel render_hud_elements_frontUI
/* D8E5C 8014275C AFB1052C */ sw $s1, 0x52c($sp) /* D8E5C 8014275C AFB1052C */ sw $s1, 0x52c($sp)
/* D8E60 80142760 AFB00528 */ sw $s0, 0x528($sp) /* D8E60 80142760 AFB00528 */ sw $s0, 0x528($sp)
/* D8E64 80142764 8C620000 */ lw $v0, ($v1) /* D8E64 80142764 8C620000 */ lw $v0, ($v1)
/* D8E68 80142768 3C058015 */ lui $a1, %hi(hudElements) /* D8E68 80142768 3C058015 */ lui $a1, %hi(gHudElements)
/* D8E6C 8014276C 8CA57960 */ lw $a1, %lo(hudElements)($a1) /* D8E6C 8014276C 8CA57960 */ lw $a1, %lo(gHudElements)($a1)
/* D8E70 80142770 0040202D */ daddu $a0, $v0, $zero /* D8E70 80142770 0040202D */ daddu $a0, $v0, $zero
/* D8E74 80142774 24420008 */ addiu $v0, $v0, 8 /* D8E74 80142774 24420008 */ addiu $v0, $v0, 8
/* D8E78 80142778 AC620000 */ sw $v0, ($v1) /* D8E78 80142778 AC620000 */ sw $v0, ($v1)
@ -61,8 +61,8 @@ glabel render_hud_elements_frontUI
/* D8EF4 801427F4 27C2FFFF */ addiu $v0, $fp, -1 /* D8EF4 801427F4 27C2FFFF */ addiu $v0, $fp, -1
/* D8EF8 801427F8 18400024 */ blez $v0, .L8014288C /* D8EF8 801427F8 18400024 */ blez $v0, .L8014288C
/* D8EFC 801427FC 0000B82D */ daddu $s7, $zero, $zero /* D8EFC 801427FC 0000B82D */ daddu $s7, $zero, $zero
/* D8F00 80142800 3C0D8015 */ lui $t5, %hi(hudElements) /* D8F00 80142800 3C0D8015 */ lui $t5, %hi(gHudElements)
/* D8F04 80142804 25AD7960 */ addiu $t5, $t5, %lo(hudElements) /* D8F04 80142804 25AD7960 */ addiu $t5, $t5, %lo(gHudElements)
/* D8F08 80142808 27AC0028 */ addiu $t4, $sp, 0x28 /* D8F08 80142808 27AC0028 */ addiu $t4, $sp, 0x28
/* D8F0C 8014280C 0180582D */ daddu $t3, $t4, $zero /* D8F0C 8014280C 0180582D */ daddu $t3, $t4, $zero
.L80142810: .L80142810:
@ -107,8 +107,8 @@ glabel render_hud_elements_frontUI
.L80142898: .L80142898:
/* D8F98 80142898 03A21021 */ addu $v0, $sp, $v0 /* D8F98 80142898 03A21021 */ addu $v0, $sp, $v0
/* D8F9C 8014289C 8C420028 */ lw $v0, 0x28($v0) /* D8F9C 8014289C 8C420028 */ lw $v0, 0x28($v0)
/* D8FA0 801428A0 3C038015 */ lui $v1, %hi(hudElements) /* D8FA0 801428A0 3C038015 */ lui $v1, %hi(gHudElements)
/* D8FA4 801428A4 8C637960 */ lw $v1, %lo(hudElements)($v1) /* D8FA4 801428A4 8C637960 */ lw $v1, %lo(gHudElements)($v1)
/* D8FA8 801428A8 00021080 */ sll $v0, $v0, 2 /* D8FA8 801428A8 00021080 */ sll $v0, $v0, 2
/* D8FAC 801428AC 00431021 */ addu $v0, $v0, $v1 /* D8FAC 801428AC 00431021 */ addu $v0, $v0, $v1
/* D8FB0 801428B0 8C500000 */ lw $s0, ($v0) /* D8FB0 801428B0 8C500000 */ lw $s0, ($v0)
@ -120,8 +120,8 @@ glabel render_hud_elements_frontUI
/* D8FC8 801428C8 1440000B */ bnez $v0, .L801428F8 /* D8FC8 801428C8 1440000B */ bnez $v0, .L801428F8
/* D8FCC 801428CC 00000000 */ nop /* D8FCC 801428CC 00000000 */ nop
/* D8FD0 801428D0 82030046 */ lb $v1, 0x46($s0) /* D8FD0 801428D0 82030046 */ lb $v1, 0x46($s0)
/* D8FD4 801428D4 3C0E8015 */ lui $t6, %hi(D_8014EFCC) /* D8FD4 801428D4 3C0E8015 */ lui $t6, %hi(gHudElementSizes)
/* D8FD8 801428D8 25CEEFCC */ addiu $t6, $t6, %lo(D_8014EFCC) /* D8FD8 801428D8 25CEEFCC */ addiu $t6, $t6, %lo(gHudElementSizes)
/* D8FDC 801428DC 00031040 */ sll $v0, $v1, 1 /* D8FDC 801428DC 00031040 */ sll $v0, $v1, 1
/* D8FE0 801428E0 00431021 */ addu $v0, $v0, $v1 /* D8FE0 801428E0 00431021 */ addu $v0, $v0, $v1
/* D8FE4 801428E4 00021040 */ sll $v0, $v0, 1 /* D8FE4 801428E4 00021040 */ sll $v0, $v0, 1
@ -141,8 +141,8 @@ glabel render_hud_elements_frontUI
/* D9014 80142914 1440000C */ bnez $v0, .L80142948 /* D9014 80142914 1440000C */ bnez $v0, .L80142948
/* D9018 80142918 00000000 */ nop /* D9018 80142918 00000000 */ nop
/* D901C 8014291C 82030045 */ lb $v1, 0x45($s0) /* D901C 8014291C 82030045 */ lb $v1, 0x45($s0)
/* D9020 80142920 3C0E8015 */ lui $t6, %hi(D_8014EFCC) /* D9020 80142920 3C0E8015 */ lui $t6, %hi(gHudElementSizes)
/* D9024 80142924 25CEEFCC */ addiu $t6, $t6, %lo(D_8014EFCC) /* D9024 80142924 25CEEFCC */ addiu $t6, $t6, %lo(gHudElementSizes)
/* D9028 80142928 00031040 */ sll $v0, $v1, 1 /* D9028 80142928 00031040 */ sll $v0, $v1, 1
/* D902C 8014292C 00431021 */ addu $v0, $v0, $v1 /* D902C 8014292C 00431021 */ addu $v0, $v0, $v1
/* D9030 80142930 00021040 */ sll $v0, $v0, 1 /* D9030 80142930 00021040 */ sll $v0, $v0, 1
@ -218,8 +218,8 @@ glabel render_hud_elements_frontUI
/* D9130 80142A30 1440000B */ bnez $v0, .L80142A60 /* D9130 80142A30 1440000B */ bnez $v0, .L80142A60
/* D9134 80142A34 00000000 */ nop /* D9134 80142A34 00000000 */ nop
/* D9138 80142A38 82030045 */ lb $v1, 0x45($s0) /* D9138 80142A38 82030045 */ lb $v1, 0x45($s0)
/* D913C 80142A3C 3C0E8015 */ lui $t6, %hi(D_8014EFCC) /* D913C 80142A3C 3C0E8015 */ lui $t6, %hi(gHudElementSizes)
/* D9140 80142A40 25CEEFCC */ addiu $t6, $t6, %lo(D_8014EFCC) /* D9140 80142A40 25CEEFCC */ addiu $t6, $t6, %lo(gHudElementSizes)
/* D9144 80142A44 00031040 */ sll $v0, $v1, 1 /* D9144 80142A44 00031040 */ sll $v0, $v1, 1
/* D9148 80142A48 00431021 */ addu $v0, $v0, $v1 /* D9148 80142A48 00431021 */ addu $v0, $v0, $v1
/* D914C 80142A4C 00021040 */ sll $v0, $v0, 1 /* D914C 80142A4C 00021040 */ sll $v0, $v0, 1

View File

@ -16,8 +16,8 @@ glabel render_hud_elements_world
/* D9DE0 801436E0 3C091020 */ lui $t1, 0x1020 /* D9DE0 801436E0 3C091020 */ lui $t1, 0x1020
/* D9DE4 801436E4 3C080001 */ lui $t0, 1 /* D9DE4 801436E4 3C080001 */ lui $t0, 1
/* D9DE8 801436E8 3C074000 */ lui $a3, 0x4000 /* D9DE8 801436E8 3C074000 */ lui $a3, 0x4000
/* D9DEC 801436EC 3C068015 */ lui $a2, %hi(hudElements) /* D9DEC 801436EC 3C068015 */ lui $a2, %hi(gHudElements)
/* D9DF0 801436F0 8CC67960 */ lw $a2, %lo(hudElements)($a2) /* D9DF0 801436F0 8CC67960 */ lw $a2, %lo(gHudElements)($a2)
/* D9DF4 801436F4 27A50010 */ addiu $a1, $sp, 0x10 /* D9DF4 801436F4 27A50010 */ addiu $a1, $sp, 0x10
.L801436F8: .L801436F8:
/* D9DF8 801436F8 8CC40000 */ lw $a0, ($a2) /* D9DF8 801436F8 8CC40000 */ lw $a0, ($a2)
@ -59,8 +59,8 @@ glabel render_hud_elements_world
/* D9E84 80143784 2642FFFF */ addiu $v0, $s2, -1 /* D9E84 80143784 2642FFFF */ addiu $v0, $s2, -1
/* D9E88 80143788 18400024 */ blez $v0, .L8014381C /* D9E88 80143788 18400024 */ blez $v0, .L8014381C
/* D9E8C 8014378C 0000882D */ daddu $s1, $zero, $zero /* D9E8C 8014378C 0000882D */ daddu $s1, $zero, $zero
/* D9E90 80143790 3C0C8015 */ lui $t4, %hi(hudElements) /* D9E90 80143790 3C0C8015 */ lui $t4, %hi(gHudElements)
/* D9E94 80143794 258C7960 */ addiu $t4, $t4, %lo(hudElements) /* D9E94 80143794 258C7960 */ addiu $t4, $t4, %lo(gHudElements)
/* D9E98 80143798 27AB0010 */ addiu $t3, $sp, 0x10 /* D9E98 80143798 27AB0010 */ addiu $t3, $sp, 0x10
/* D9E9C 8014379C 0160502D */ daddu $t2, $t3, $zero /* D9E9C 8014379C 0160502D */ daddu $t2, $t3, $zero
.L801437A0: .L801437A0:
@ -150,8 +150,8 @@ glabel render_hud_elements_world
/* D9FDC 801438DC 24030018 */ addiu $v1, $zero, 0x18 /* D9FDC 801438DC 24030018 */ addiu $v1, $zero, 0x18
/* D9FE0 801438E0 AC43001C */ sw $v1, 0x1c($v0) /* D9FE0 801438E0 AC43001C */ sw $v1, 0x1c($v0)
/* D9FE4 801438E4 24430028 */ addiu $v1, $v0, 0x28 /* D9FE4 801438E4 24430028 */ addiu $v1, $v0, 0x28
/* D9FE8 801438E8 3C048015 */ lui $a0, %hi(D_8014F110) /* D9FE8 801438E8 3C048015 */ lui $a0, %hi(D_8014F108 + 8)
/* D9FEC 801438EC 2484F110 */ addiu $a0, $a0, %lo(D_8014F110) /* D9FEC 801438EC 2484F110 */ addiu $a0, $a0, %lo(D_8014F108 + 8)
/* D9FF0 801438F0 ACA30000 */ sw $v1, ($a1) /* D9FF0 801438F0 ACA30000 */ sw $v1, ($a1)
/* D9FF4 801438F4 24430030 */ addiu $v1, $v0, 0x30 /* D9FF4 801438F4 24430030 */ addiu $v1, $v0, 0x30
/* D9FF8 801438F8 AC440024 */ sw $a0, 0x24($v0) /* D9FF8 801438F8 AC440024 */ sw $a0, 0x24($v0)
@ -178,8 +178,8 @@ glabel render_hud_elements_world
.L8014394C: .L8014394C:
/* DA04C 8014394C 8E020000 */ lw $v0, ($s0) /* DA04C 8014394C 8E020000 */ lw $v0, ($s0)
/* DA050 80143950 26100004 */ addiu $s0, $s0, 4 /* DA050 80143950 26100004 */ addiu $s0, $s0, 4
/* DA054 80143954 3C038015 */ lui $v1, %hi(hudElements) /* DA054 80143954 3C038015 */ lui $v1, %hi(gHudElements)
/* DA058 80143958 8C637960 */ lw $v1, %lo(hudElements)($v1) /* DA058 80143958 8C637960 */ lw $v1, %lo(gHudElements)($v1)
/* DA05C 8014395C 00021080 */ sll $v0, $v0, 2 /* DA05C 8014395C 00021080 */ sll $v0, $v0, 2
/* DA060 80143960 00431021 */ addu $v0, $v0, $v1 /* DA060 80143960 00431021 */ addu $v0, $v0, $v1
/* DA064 80143964 8C440000 */ lw $a0, ($v0) /* DA064 80143964 8C440000 */ lw $a0, ($v0)
@ -199,8 +199,8 @@ glabel render_hud_elements_world
/* DA094 80143994 3C091020 */ lui $t1, 0x1020 /* DA094 80143994 3C091020 */ lui $t1, 0x1020
/* DA098 80143998 3C080001 */ lui $t0, 1 /* DA098 80143998 3C080001 */ lui $t0, 1
/* DA09C 8014399C 3C074000 */ lui $a3, 0x4000 /* DA09C 8014399C 3C074000 */ lui $a3, 0x4000
/* DA0A0 801439A0 3C068015 */ lui $a2, %hi(hudElements) /* DA0A0 801439A0 3C068015 */ lui $a2, %hi(gHudElements)
/* DA0A4 801439A4 8CC67960 */ lw $a2, %lo(hudElements)($a2) /* DA0A4 801439A4 8CC67960 */ lw $a2, %lo(gHudElements)($a2)
/* DA0A8 801439A8 27A50010 */ addiu $a1, $sp, 0x10 /* DA0A8 801439A8 27A50010 */ addiu $a1, $sp, 0x10
.L801439AC: .L801439AC:
/* DA0AC 801439AC 8CC40000 */ lw $a0, ($a2) /* DA0AC 801439AC 8CC40000 */ lw $a0, ($a2)
@ -242,8 +242,8 @@ glabel render_hud_elements_world
/* DA138 80143A38 2642FFFF */ addiu $v0, $s2, -1 /* DA138 80143A38 2642FFFF */ addiu $v0, $s2, -1
/* DA13C 80143A3C 18400024 */ blez $v0, .L80143AD0 /* DA13C 80143A3C 18400024 */ blez $v0, .L80143AD0
/* DA140 80143A40 0000882D */ daddu $s1, $zero, $zero /* DA140 80143A40 0000882D */ daddu $s1, $zero, $zero
/* DA144 80143A44 3C0C8015 */ lui $t4, %hi(hudElements) /* DA144 80143A44 3C0C8015 */ lui $t4, %hi(gHudElements)
/* DA148 80143A48 258C7960 */ addiu $t4, $t4, %lo(hudElements) /* DA148 80143A48 258C7960 */ addiu $t4, $t4, %lo(gHudElements)
/* DA14C 80143A4C 27AB0010 */ addiu $t3, $sp, 0x10 /* DA14C 80143A4C 27AB0010 */ addiu $t3, $sp, 0x10
/* DA150 80143A50 0160502D */ daddu $t2, $t3, $zero /* DA150 80143A50 0160502D */ daddu $t2, $t3, $zero
.L80143A54: .L80143A54:
@ -333,8 +333,8 @@ glabel render_hud_elements_world
/* DA290 80143B90 24030018 */ addiu $v1, $zero, 0x18 /* DA290 80143B90 24030018 */ addiu $v1, $zero, 0x18
/* DA294 80143B94 AC43001C */ sw $v1, 0x1c($v0) /* DA294 80143B94 AC43001C */ sw $v1, 0x1c($v0)
/* DA298 80143B98 24430028 */ addiu $v1, $v0, 0x28 /* DA298 80143B98 24430028 */ addiu $v1, $v0, 0x28
/* DA29C 80143B9C 3C048015 */ lui $a0, %hi(D_8014F110) /* DA29C 80143B9C 3C048015 */ lui $a0, %hi(D_8014F108 + 8)
/* DA2A0 80143BA0 2484F110 */ addiu $a0, $a0, %lo(D_8014F110) /* DA2A0 80143BA0 2484F110 */ addiu $a0, $a0, %lo(D_8014F108 + 8)
/* DA2A4 80143BA4 ACA30000 */ sw $v1, ($a1) /* DA2A4 80143BA4 ACA30000 */ sw $v1, ($a1)
/* DA2A8 80143BA8 24430030 */ addiu $v1, $v0, 0x30 /* DA2A8 80143BA8 24430030 */ addiu $v1, $v0, 0x30
/* DA2AC 80143BAC AC440024 */ sw $a0, 0x24($v0) /* DA2AC 80143BAC AC440024 */ sw $a0, 0x24($v0)
@ -361,8 +361,8 @@ glabel render_hud_elements_world
.L80143C00: .L80143C00:
/* DA300 80143C00 8E020000 */ lw $v0, ($s0) /* DA300 80143C00 8E020000 */ lw $v0, ($s0)
/* DA304 80143C04 26100004 */ addiu $s0, $s0, 4 /* DA304 80143C04 26100004 */ addiu $s0, $s0, 4
/* DA308 80143C08 3C038015 */ lui $v1, %hi(hudElements) /* DA308 80143C08 3C038015 */ lui $v1, %hi(gHudElements)
/* DA30C 80143C0C 8C637960 */ lw $v1, %lo(hudElements)($v1) /* DA30C 80143C0C 8C637960 */ lw $v1, %lo(gHudElements)($v1)
/* DA310 80143C10 00021080 */ sll $v0, $v0, 2 /* DA310 80143C10 00021080 */ sll $v0, $v0, 2
/* DA314 80143C14 00431021 */ addu $v0, $v0, $v1 /* DA314 80143C14 00431021 */ addu $v0, $v0, $v1
/* DA318 80143C18 8C440000 */ lw $a0, ($v0) /* DA318 80143C18 8C440000 */ lw $a0, ($v0)

View File

@ -1,127 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel set_hud_element_scale
/* DB320 80144C20 2402F7FF */ addiu $v0, $zero, -0x801
/* DB324 80144C24 00822024 */ and $a0, $a0, $v0
/* DB328 80144C28 00042080 */ sll $a0, $a0, 2
/* DB32C 80144C2C 3C028015 */ lui $v0, %hi(hudElements)
/* DB330 80144C30 8C427960 */ lw $v0, %lo(hudElements)($v0)
/* DB334 80144C34 44853000 */ mtc1 $a1, $f6
/* DB338 80144C38 00822021 */ addu $a0, $a0, $v0
/* DB33C 80144C3C 8C850000 */ lw $a1, ($a0)
/* DB340 80144C40 8CA20000 */ lw $v0, ($a1)
/* DB344 80144C44 3C030010 */ lui $v1, 0x10
/* DB348 80144C48 00431024 */ and $v0, $v0, $v1
/* DB34C 80144C4C 14400012 */ bnez $v0, .L80144C98
/* DB350 80144C50 E4A60030 */ swc1 $f6, 0x30($a1)
/* DB354 80144C54 80A30046 */ lb $v1, 0x46($a1)
/* DB358 80144C58 3C048015 */ lui $a0, %hi(D_8014EFCC)
/* DB35C 80144C5C 2484EFCC */ addiu $a0, $a0, %lo(D_8014EFCC)
/* DB360 80144C60 00031040 */ sll $v0, $v1, 1
/* DB364 80144C64 00431021 */ addu $v0, $v0, $v1
/* DB368 80144C68 00021040 */ sll $v0, $v0, 1
/* DB36C 80144C6C 00441021 */ addu $v0, $v0, $a0
/* DB370 80144C70 84480000 */ lh $t0, ($v0)
/* DB374 80144C74 80A30045 */ lb $v1, 0x45($a1)
/* DB378 80144C78 84490002 */ lh $t1, 2($v0)
/* DB37C 80144C7C 00031040 */ sll $v0, $v1, 1
/* DB380 80144C80 00431021 */ addu $v0, $v0, $v1
/* DB384 80144C84 00021040 */ sll $v0, $v0, 1
/* DB388 80144C88 00441021 */ addu $v0, $v0, $a0
/* DB38C 80144C8C 84440000 */ lh $a0, ($v0)
/* DB390 80144C90 0805132A */ j .L80144CA8
/* DB394 80144C94 84460002 */ lh $a2, 2($v0)
.L80144C98:
/* DB398 80144C98 90A8004E */ lbu $t0, 0x4e($a1)
/* DB39C 80144C9C 90A9004F */ lbu $t1, 0x4f($a1)
/* DB3A0 80144CA0 90A40050 */ lbu $a0, 0x50($a1)
/* DB3A4 80144CA4 90A60051 */ lbu $a2, 0x51($a1)
.L80144CA8:
/* DB3A8 80144CA8 44840000 */ mtc1 $a0, $f0
/* DB3AC 80144CAC 00000000 */ nop
/* DB3B0 80144CB0 46800020 */ cvt.s.w $f0, $f0
/* DB3B4 80144CB4 46060002 */ mul.s $f0, $f0, $f6
/* DB3B8 80144CB8 00000000 */ nop
/* DB3BC 80144CBC 3C014F00 */ lui $at, 0x4f00
/* DB3C0 80144CC0 44811000 */ mtc1 $at, $f2
/* DB3C4 80144CC4 00000000 */ nop
/* DB3C8 80144CC8 4600103E */ c.le.s $f2, $f0
/* DB3CC 80144CCC 00000000 */ nop
/* DB3D0 80144CD0 45010005 */ bc1t .L80144CE8
/* DB3D4 80144CD4 24A70048 */ addiu $a3, $a1, 0x48
/* DB3D8 80144CD8 4600020D */ trunc.w.s $f8, $f0
/* DB3DC 80144CDC 44034000 */ mfc1 $v1, $f8
/* DB3E0 80144CE0 08051340 */ j .L80144D00
/* DB3E4 80144CE4 00000000 */ nop
.L80144CE8:
/* DB3E8 80144CE8 46020001 */ sub.s $f0, $f0, $f2
/* DB3EC 80144CEC 3C028000 */ lui $v0, 0x8000
/* DB3F0 80144CF0 4600020D */ trunc.w.s $f8, $f0
/* DB3F4 80144CF4 44034000 */ mfc1 $v1, $f8
/* DB3F8 80144CF8 00000000 */ nop
/* DB3FC 80144CFC 00621825 */ or $v1, $v1, $v0
.L80144D00:
/* DB400 80144D00 44860000 */ mtc1 $a2, $f0
/* DB404 80144D04 00000000 */ nop
/* DB408 80144D08 46800020 */ cvt.s.w $f0, $f0
/* DB40C 80144D0C 46060002 */ mul.s $f0, $f0, $f6
/* DB410 80144D10 00000000 */ nop
/* DB414 80144D14 3C014F00 */ lui $at, 0x4f00
/* DB418 80144D18 44811000 */ mtc1 $at, $f2
/* DB41C 80144D1C A0E30000 */ sb $v1, ($a3)
/* DB420 80144D20 4600103E */ c.le.s $f2, $f0
/* DB424 80144D24 00000000 */ nop
/* DB428 80144D28 45010005 */ bc1t .L80144D40
/* DB42C 80144D2C 24A70049 */ addiu $a3, $a1, 0x49
/* DB430 80144D30 4600020D */ trunc.w.s $f8, $f0
/* DB434 80144D34 44034000 */ mfc1 $v1, $f8
/* DB438 80144D38 08051356 */ j .L80144D58
/* DB43C 80144D3C 00000000 */ nop
.L80144D40:
/* DB440 80144D40 46020001 */ sub.s $f0, $f0, $f2
/* DB444 80144D44 3C028000 */ lui $v0, 0x8000
/* DB448 80144D48 4600020D */ trunc.w.s $f8, $f0
/* DB44C 80144D4C 44034000 */ mfc1 $v1, $f8
/* DB450 80144D50 00000000 */ nop
/* DB454 80144D54 00621825 */ or $v1, $v1, $v0
.L80144D58:
/* DB458 80144D58 44842000 */ mtc1 $a0, $f4
/* DB45C 80144D5C 00000000 */ nop
/* DB460 80144D60 46802120 */ cvt.s.w $f4, $f4
/* DB464 80144D64 44880000 */ mtc1 $t0, $f0
/* DB468 80144D68 00000000 */ nop
/* DB46C 80144D6C 46800020 */ cvt.s.w $f0, $f0
/* DB470 80144D70 46002103 */ div.s $f4, $f4, $f0
/* DB474 80144D74 46062102 */ mul.s $f4, $f4, $f6
/* DB478 80144D78 00000000 */ nop
/* DB47C 80144D7C 44861000 */ mtc1 $a2, $f2
/* DB480 80144D80 00000000 */ nop
/* DB484 80144D84 468010A0 */ cvt.s.w $f2, $f2
/* DB488 80144D88 44890000 */ mtc1 $t1, $f0
/* DB48C 80144D8C 00000000 */ nop
/* DB490 80144D90 46800020 */ cvt.s.w $f0, $f0
/* DB494 80144D94 46001083 */ div.s $f2, $f2, $f0
/* DB498 80144D98 46061082 */ mul.s $f2, $f2, $f6
/* DB49C 80144D9C 00000000 */ nop
/* DB4A0 80144DA0 3C013F80 */ lui $at, 0x3f80
/* DB4A4 80144DA4 44810000 */ mtc1 $at, $f0
/* DB4A8 80144DA8 3C014480 */ lui $at, 0x4480
/* DB4AC 80144DAC 44813000 */ mtc1 $at, $f6
/* DB4B0 80144DB0 46040103 */ div.s $f4, $f0, $f4
/* DB4B4 80144DB4 46062102 */ mul.s $f4, $f4, $f6
/* DB4B8 80144DB8 00000000 */ nop
/* DB4BC 80144DBC A0E30000 */ sb $v1, ($a3)
/* DB4C0 80144DC0 2403FEFF */ addiu $v1, $zero, -0x101
/* DB4C4 80144DC4 8CA20000 */ lw $v0, ($a1)
/* DB4C8 80144DC8 46020083 */ div.s $f2, $f0, $f2
/* DB4CC 80144DCC 46061082 */ mul.s $f2, $f2, $f6
/* DB4D0 80144DD0 00000000 */ nop
/* DB4D4 80144DD4 00431024 */ and $v0, $v0, $v1
/* DB4D8 80144DD8 34420810 */ ori $v0, $v0, 0x810
/* DB4DC 80144DDC ACA20000 */ sw $v0, ($a1)
/* DB4E0 80144DE0 4600220D */ trunc.w.s $f8, $f4
/* DB4E4 80144DE4 E4A80034 */ swc1 $f8, 0x34($a1)
/* DB4E8 80144DE8 4600120D */ trunc.w.s $f8, $f2
/* DB4EC 80144DEC 03E00008 */ jr $ra
/* DB4F0 80144DF0 E4A80038 */ swc1 $f8, 0x38($a1)

View File

@ -1,72 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel update_hud_elements
/* D7D10 80141610 27BDFFE0 */ addiu $sp, $sp, -0x20
/* D7D14 80141614 AFB10014 */ sw $s1, 0x14($sp)
/* D7D18 80141618 0000882D */ daddu $s1, $zero, $zero
/* D7D1C 8014161C AFB20018 */ sw $s2, 0x18($sp)
/* D7D20 80141620 3C120004 */ lui $s2, 4
/* D7D24 80141624 AFBF001C */ sw $ra, 0x1c($sp)
/* D7D28 80141628 AFB00010 */ sw $s0, 0x10($sp)
.L8014162C:
/* D7D2C 8014162C 3C038015 */ lui $v1, %hi(hudElements)
/* D7D30 80141630 8C637960 */ lw $v1, %lo(hudElements)($v1)
/* D7D34 80141634 00111080 */ sll $v0, $s1, 2
/* D7D38 80141638 00431021 */ addu $v0, $v0, $v1
/* D7D3C 8014163C 8C500000 */ lw $s0, ($v0)
/* D7D40 80141640 52000027 */ beql $s0, $zero, .L801416E0
/* D7D44 80141644 26310001 */ addiu $s1, $s1, 1
/* D7D48 80141648 8E030000 */ lw $v1, ($s0)
/* D7D4C 8014164C 10600023 */ beqz $v1, .L801416DC
/* D7D50 80141650 30620002 */ andi $v0, $v1, 2
/* D7D54 80141654 54400022 */ bnel $v0, $zero, .L801416E0
/* D7D58 80141658 26310001 */ addiu $s1, $s1, 1
/* D7D5C 8014165C 00721024 */ and $v0, $v1, $s2
/* D7D60 80141660 10400005 */ beqz $v0, .L80141678
/* D7D64 80141664 00000000 */ nop
/* D7D68 80141668 0C05123D */ jal free_hud_element
/* D7D6C 8014166C 0220202D */ daddu $a0, $s1, $zero
/* D7D70 80141670 080505B8 */ j .L801416E0
/* D7D74 80141674 26310001 */ addiu $s1, $s1, 1
.L80141678:
/* D7D78 80141678 8E020004 */ lw $v0, 4($s0)
/* D7D7C 8014167C 1040001B */ beqz $v0, .L801416EC
/* D7D80 80141680 00000000 */ nop
/* D7D84 80141684 92020047 */ lbu $v0, 0x47($s0)
/* D7D88 80141688 2442FFFF */ addiu $v0, $v0, -1
/* D7D8C 8014168C A2020047 */ sb $v0, 0x47($s0)
/* D7D90 80141690 00021600 */ sll $v0, $v0, 0x18
/* D7D94 80141694 14400005 */ bnez $v0, .L801416AC
/* D7D98 80141698 00000000 */ nop
.L8014169C:
/* D7D9C 8014169C 0C0505C1 */ jal hud_element_update
/* D7DA0 801416A0 0200202D */ daddu $a0, $s0, $zero
/* D7DA4 801416A4 1440FFFD */ bnez $v0, .L8014169C
/* D7DA8 801416A8 00000000 */ nop
.L801416AC:
/* D7DAC 801416AC 8E020000 */ lw $v0, ($s0)
/* D7DB0 801416B0 30420100 */ andi $v0, $v0, 0x100
/* D7DB4 801416B4 5040000A */ beql $v0, $zero, .L801416E0
/* D7DB8 801416B8 26310001 */ addiu $s1, $s1, 1
/* D7DBC 801416BC C6040028 */ lwc1 $f4, 0x28($s0)
/* D7DC0 801416C0 C6000020 */ lwc1 $f0, 0x20($s0)
/* D7DC4 801416C4 C602002C */ lwc1 $f2, 0x2c($s0)
/* D7DC8 801416C8 46002100 */ add.s $f4, $f4, $f0
/* D7DCC 801416CC C6000024 */ lwc1 $f0, 0x24($s0)
/* D7DD0 801416D0 46001080 */ add.s $f2, $f2, $f0
/* D7DD4 801416D4 E6040028 */ swc1 $f4, 0x28($s0)
/* D7DD8 801416D8 E602002C */ swc1 $f2, 0x2c($s0)
.L801416DC:
/* D7DDC 801416DC 26310001 */ addiu $s1, $s1, 1
.L801416E0:
/* D7DE0 801416E0 2A220140 */ slti $v0, $s1, 0x140
/* D7DE4 801416E4 1440FFD1 */ bnez $v0, .L8014162C
/* D7DE8 801416E8 00000000 */ nop
.L801416EC:
/* D7DEC 801416EC 8FBF001C */ lw $ra, 0x1c($sp)
/* D7DF0 801416F0 8FB20018 */ lw $s2, 0x18($sp)
/* D7DF4 801416F4 8FB10014 */ lw $s1, 0x14($sp)
/* D7DF8 801416F8 8FB00010 */ lw $s0, 0x10($sp)
/* D7DFC 801416FC 03E00008 */ jr $ra
/* D7E00 80141700 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,53 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242680_DF9080
/* DF9080 80242680 27BDFFD0 */ addiu $sp, $sp, -0x30
/* DF9084 80242684 AFBF0028 */ sw $ra, 0x28($sp)
/* DF9088 80242688 AFB10024 */ sw $s1, 0x24($sp)
/* DF908C 8024268C AFB00020 */ sw $s0, 0x20($sp)
/* DF9090 80242690 8C82000C */ lw $v0, 0xc($a0)
/* DF9094 80242694 0C0B1EAF */ jal evt_get_variable
/* DF9098 80242698 8C450000 */ lw $a1, ($v0)
/* DF909C 8024269C 24030100 */ addiu $v1, $zero, 0x100
/* DF90A0 802426A0 0040882D */ daddu $s1, $v0, $zero
/* DF90A4 802426A4 3C028024 */ lui $v0, %hi(D_80244D74_DFB774)
/* DF90A8 802426A8 24424D74 */ addiu $v0, $v0, %lo(D_80244D74_DFB774)
/* DF90AC 802426AC 00118040 */ sll $s0, $s1, 1
/* DF90B0 802426B0 02118021 */ addu $s0, $s0, $s1
/* DF90B4 802426B4 001080C0 */ sll $s0, $s0, 3
/* DF90B8 802426B8 02028021 */ addu $s0, $s0, $v0
/* DF90BC 802426BC AFA30010 */ sw $v1, 0x10($sp)
/* DF90C0 802426C0 8E020000 */ lw $v0, ($s0)
/* DF90C4 802426C4 AFA00018 */ sw $zero, 0x18($sp)
/* DF90C8 802426C8 AFA0001C */ sw $zero, 0x1c($sp)
/* DF90CC 802426CC AFA20014 */ sw $v0, 0x14($sp)
/* DF90D0 802426D0 8E050004 */ lw $a1, 4($s0)
/* DF90D4 802426D4 24020001 */ addiu $v0, $zero, 1
/* DF90D8 802426D8 3C01802E */ lui $at, %hi(spr_allocateBtlComponentsOnWorldHeap)
/* DF90DC 802426DC AC22F524 */ sw $v0, %lo(spr_allocateBtlComponentsOnWorldHeap)($at)
/* DF90E0 802426E0 0C00E219 */ jal _create_npc_standard
/* DF90E4 802426E4 27A40010 */ addiu $a0, $sp, 0x10
/* DF90E8 802426E8 0C00E2B7 */ jal get_npc_by_index
/* DF90EC 802426EC 0040202D */ daddu $a0, $v0, $zero
/* DF90F0 802426F0 3C04FBFF */ lui $a0, 0xfbff
/* DF90F4 802426F4 8C430000 */ lw $v1, ($v0)
/* DF90F8 802426F8 3484FFFF */ ori $a0, $a0, 0xffff
/* DF90FC 802426FC A05100A4 */ sb $s1, 0xa4($v0)
/* DF9100 80242700 00641824 */ and $v1, $v1, $a0
/* DF9104 80242704 AC430000 */ sw $v1, ($v0)
/* DF9108 80242708 C6000008 */ lwc1 $f0, 8($s0)
/* DF910C 8024270C E4400038 */ swc1 $f0, 0x38($v0)
/* DF9110 80242710 C600000C */ lwc1 $f0, 0xc($s0)
/* DF9114 80242714 E440003C */ swc1 $f0, 0x3c($v0)
/* DF9118 80242718 C6000010 */ lwc1 $f0, 0x10($s0)
/* DF911C 8024271C E4400040 */ swc1 $f0, 0x40($v0)
/* DF9120 80242720 8E050014 */ lw $a1, 0x14($s0)
/* DF9124 80242724 0C00ECD0 */ jal set_npc_yaw
/* DF9128 80242728 0040202D */ daddu $a0, $v0, $zero
/* DF912C 8024272C 8FBF0028 */ lw $ra, 0x28($sp)
/* DF9130 80242730 8FB10024 */ lw $s1, 0x24($sp)
/* DF9134 80242734 8FB00020 */ lw $s0, 0x20($sp)
/* DF9138 80242738 24020002 */ addiu $v0, $zero, 2
/* DF913C 8024273C 03E00008 */ jr $ra
/* DF9140 80242740 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -328,53 +328,12 @@ segments:
- [0x71430, bin, gspF3DEX2kawase_fifo_text] - [0x71430, bin, gspF3DEX2kawase_fifo_text]
- [0x72A60, bin, gspF3DEX2kawase_fifo_data] - [0x72A60, bin, gspF3DEX2kawase_fifo_data]
- [0x72E80, bin, n_aspMain_data] - [0x72E80, bin, n_aspMain_data]
- [0x73130, .rodata, is_debug] - [0x73130]
- [0x73148, .rodata, main_loop]
- [0x73160, .rodata, 43F0]
- [0x73200, .rodata, curtains]
- [0x73230, .rodata, crash_screen]
- [0x735E0, .rodata, 8800]
- [0x73610, .rodata, B0E0]
- [0x73680, .rodata, camera]
- [0x73690, .rodata, state_logos]
- [0x736E8, .rodata, state_file_select]
- [0x73720, .rodata, 111f0_len_860]
- [0x73738, .rodata, state_intro]
- [0x73790, .rodata, state_title_screen]
- [0x73860, .rodata, state_demo]
- [0x73880, .rodata, npc]
- [0x739F0, .rodata, 1a1f0_len_5390]
- [0x73AB0, .rodata, status_icons]
- [0x73B10, .rodata, 23680]
- [0x73CC0, .rodata, 28910_len_5090]
- [0x73CF0, .rodata, 2e230_len_2190]
- [0x73D08, .rodata, 30450]
- [0x73D30, .rodata, 33450]
- [0x73D40, .rodata, 341d0]
- [0x73DA0, .rodata, world/world]
- [0x74EA0, .rodata, os/osSetIntMask]
- [0x74F20, .rodata, os/3c490_len_3c0]
- [0x74F40, .rodata, os/3c940_len_140]
- [0x74F50, .rodata, os/guLookAt]
- [0x74F70, .rodata, os/lookathil]
- [0x74FA0, .rodata, os/lookatref]
- [0x74FB0, .rodata, os/perspective]
- [0x74FF0, .rodata, os/3FEA0]
- [0x75170, .rodata, os/42470_len_310]
- [0x75180, .rodata, os/exceptasm]
- [0x751D0, .rodata, os/46c70_len_e00]
- [0x75240, .rodata, os/48c00_len_5c0]
- [0x75340, .rodata, os/491c0_len_f80]
- [0x75540, .rodata, os/49C70]
- [0x75640, .rodata, battle/battle]
# bss starts at 0x8009A5B0
# 0x800 of bss until...
# - [0x75240, .bss, main_loop]
# - [0x75240, .bss, os/39cb0_len_100, 0x0] # size unknown
- type: code - type: code
start: 0x759B0 start: 0x759B0
vram: 0x800DC500 vram: 0x800DC500
subsegments: subsegments:
- [0x759B0, c, bss2]
- [0x759B0, c, 759b0_len_61b0] - [0x759B0, c, 759b0_len_61b0]
- [0x77480, c, 77480] - [0x77480, c, 77480]
- [0x7B440, c, 7B440] - [0x7B440, c, 7B440]
@ -701,11 +660,12 @@ segments:
- [0x9DE60, data] - [0x9DE60, data]
- [0xA2D40, .data, 8a860_len_3f30] - [0xA2D40, .data, 8a860_len_3f30]
- [0xA2D90, data] - [0xA2D90, data]
- [0xA5100] # bss at 8010C920 - [0xA5100]
- type: code - type: code
start: 0xA5DD0 start: 0xA5DD0
vram: 0x8010F6D0 vram: 0x8010F6D0
subsegments: subsegments:
- [0xA5DD0, c, bss3]
- [0xA5DD0, c, a5dd0_len_114e0] - [0xA5DD0, c, a5dd0_len_114e0]
- [0xB4580, c, B4580] - [0xB4580, c, B4580]
- [0xB72B0, c, entity] - [0xB72B0, c, entity]
@ -728,7 +688,6 @@ segments:
- [0xE2960, .data, entity] - [0xE2960, .data, entity]
- [0xE2980, .data, msg] - [0xE2980, .data, msg]
- [0xE2CA0, data] - [0xE2CA0, data]
#- [0xE2DF0, .data, cd180_len_38f0]
- start: 0xE2DF0 - start: 0xE2DF0
type: .data type: .data
name: cd180_len_38f0 name: cd180_len_38f0

View File

@ -3002,7 +3002,7 @@ fold_groupOffsets = 0x8014EF64; // type:data rom:0xE5664
D_8014EFC0 = 0x8014EFC0; // type:data rom:0xE56C0 D_8014EFC0 = 0x8014EFC0; // type:data rom:0xE56C0
D_8014EFC4 = 0x8014EFC4; // type:data rom:0xE56C4 D_8014EFC4 = 0x8014EFC4; // type:data rom:0xE56C4
hud_element_defaultAnim = 0x8014EFC8; // type:data rom:0xE56C8 hud_element_defaultAnim = 0x8014EFC8; // type:data rom:0xE56C8
D_8014EFCC = 0x8014EFCC; // type:data rom:0xE56CC gHudElementSizes = 0x8014EFCC; // type:data rom:0xE56CC
D_8014F0C8 = 0x8014F0C8; // type:data rom:0xE57C8 D_8014F0C8 = 0x8014F0C8; // type:data rom:0xE57C8
D_8014F110 = 0x8014F110; // type:data rom:0xE5810 D_8014F110 = 0x8014F110; // type:data rom:0xE5810
gCloudyFlowerFieldsBg = 0x8014F120; // type:data rom:0xE5820 gCloudyFlowerFieldsBg = 0x8014F120; // type:data rom:0xE5820
@ -20630,7 +20630,7 @@ fold_groupDescriptors = 0x80156980; // type:data
fold_gfxDataCache = 0x80156F20; // type:data fold_gfxDataCache = 0x80156F20; // type:data
D_80156F60 = 0x80156F60; // type:data D_80156F60 = 0x80156F60; // type:data
D_80157460 = 0x80157460; // type:data D_80157460 = 0x80157460; // type:data
hudElements = 0x80157960; // type:data gHudElements = 0x80157960; // type:data
D_80157964 = 0x80157964; // type:data D_80157964 = 0x80157964; // type:data
D_80157968 = 0x80157968; // type:data D_80157968 = 0x80157968; // type:data
D_80157970 = 0x80157970; // type:data D_80157970 = 0x80157970; // type:data

View File

@ -95,235 +95,8 @@ D_80000308 = 0x80000308;
D_8000030C = 0x8000030C; D_8000030C = 0x8000030C;
osMemSize = 0x80000318; osMemSize = 0x80000318;
D_8000031C = 0x8000031C; D_8000031C = 0x8000031C;
D_801512B0 = 0x801512B0;
D_801512B4 = 0x801512B4;
D_800A08C0 = 0x800A08C0; D_800A08C0 = 0x800A08C0;
gCurrentCustomModelGfxBuildersPtr = 0x801512B8;
D_801512BC = 0x801512BC;
D_801512C0 = 0x801512C0;
gEntityHeapBase = 0x801512C4;
D_801512C8 = 0x801512C8;
gCurrentModels = 0x801512CC;
D_801512D0 = 0x801512D0;
gAnimCount = 0x801512D4;
gMsgBGScrollAmtX = 0x801512D8;
D_801512DA = 0x801512DA;
gCurrentTransformGroups = 0x801512E0;
gMsgGlobalWaveCounter = 0x801512E4;
gCurrentCustomModelGfxPtr = 0x801512E8;
gLastCreatedEntityIndex = 0x801512EC;
D_801512F0 = 0x801512F0;
gMsgVarImages = 0x801512F4;
D_801512F8 = 0x801512F8;
gCurrentModelTreeRoot = 0x801512FC;
D_80151300 = 0x80151300;
D_80151304 = 0x80151304;
D_80151308 = 0x80151308;
gMsgBGScrollAmtY = 0x8015130C;
D_8015130E = 0x8015130E;
D_80151310 = 0x80151310;
D_80151314 = 0x80151314;
gEntityModelCount = 0x80151318;
D_8015131C = 0x8015131C;
D_80151324 = 0x80151324;
D_80151328 = 0x80151328;
D_8015132C = 0x8015132C;
D_80151330 = 0x80151330;
gTriggerCount = 0x80151334;
D_80151338 = 0x80151338;
D_8015133C = 0x8015133C;
gCurrentDoorSoundsSet = 0x80151340;
D_80151344 = 0x80151344;
gWorldEntityList = 0x80151380;
gBattleEntityList = 0x801513F8;
gCurrentEntityListPtr = 0x80151470;
gWorldShadowList = 0x80151478;
gBattleShadowList = 0x80151568;
gCurrentShadowListPtr = 0x80151658;
wStaticEntityDataSize = 0x8015165C;
bStaticEntityDataSize = 0x80151660;
wStaticEntityData = 0x80151668;
D_801516DC = 0x801516DC;
bStaticEntityData = 0x801516E8;
D_801516FC = 0x801516FC;
gMainGameState = 0x80151700;
gCurrentTileDescriptor = 0x80151740;
wModelList = 0x80151770;
bModelList = 0x80151B70;
wTransformGroups = 0x80151F70;
bTransformGroups = 0x80151F80;
wModelSpecialDls = 0x80151F90;
bModelSpecialDls = 0x80152010;
wCustomModelGfxBuilders = 0x80152090;
bCustomModelGfxBuilders = 0x80152110;
D_80152190 = 0x80152190;
D_801521D0 = 0x801521D0;
gCurrentModelLocalVtxBuffers = 0x80152210;
D_80152214 = 0x80152214;
D_80152218 = 0x80152218;
D_80152220 = 0x80152220;
D_80152A20 = 0x80152A20;
wBgRenderType = 0x80153220;
bBgRenderType = 0x80153221;
mdl_treeIterPos = 0x80153224;
D_80153226 = 0x80153226;
wFogSettings = 0x80153228;
bFogSettings = 0x80153248;
gCurrentFogSettings = 0x80153264;
texPannerMainU = 0x80153268;
texPannerMainV = 0x801532A8;
texPannerAuxU = 0x801532E8;
texPannerAuxV = 0x80153328;
mdl_nextTextureAddress = 0x80153368;
mdl_currentTransformGroupChildIndex = 0x8015336C;
D_8015336E = 0x8015336E;
D_80153370 = 0x80153370;
D_80153374 = 0x80153374;
D_80153376 = 0x80153376;
D_80153380 = 0x80153380;
mdl_renderTaskLists = 0x801533A0;
mdl_renderTaskMode = 0x801533AC;
mdl_renderTaskCount = 0x801533B0;
D_801533C0 = 0x801533C0;
D_801536C0 = 0x801536C0;
D_801539C0 = 0x801539C0;
D_80153A00 = 0x80153A00;
gCurrentAnimMeshListPtr = 0x80153A40;
gAnimModelFogEnabled = 0x80153A44;
gAnimModelFogR = 0x80153A48;
D_80153A4B = 0x80153A4B;
gAnimModelFogG = 0x80153A4C;
D_80153A4F = 0x80153A4F;
gAnimModelFogB = 0x80153A50;
D_80153A53 = 0x80153A53;
gAnimModelFogA = 0x80153A54;
D_80153A57 = 0x80153A57;
gAnimModelFogStart = 0x80153A58;
gAnimModelFogEnd = 0x80153A5C;
D_80153A60 = 0x80153A60;
gAnimRotMtx = 0x80153A68;
gAnimScaleMtx = 0x80153AA8;
gAnimTranslateMtx = 0x80153AE8;
gAnimRotScaleMtx = 0x80153B28;
gAnimTreeRoot = 0x80153B68;
gWorldEntityModelList = 0x80153B70;
gBattleEntityModelList = 0x80153F70;
gCurrentEntityModelList = 0x80154370;
D_80154374 = 0x80154374;
entity_fog_enabled = 0x80154378;
entity_fog_red = 0x8015437C;
D_8015437F = 0x8015437F;
entity_fog_green = 0x80154380;
D_80154383 = 0x80154383;
entity_fog_blue = 0x80154384;
D_80154387 = 0x80154387;
entity_fog_alpha = 0x80154388;
D_8015438B = 0x8015438B;
entity_fog_dist_min = 0x8015438C;
entity_fog_dist_max = 0x80154390;
gWorldDynamicEntityList = 0x801543A0;
gBattleDynamicEntityList = 0x801543E0;
gCurrentDynamicEntityListPtr = 0x80154420;
gMessageBuffers = 0x80154430;
gMessagePrinters = 0x80154C30;
gMessageMsgVars = 0x80155C38;
D_80155C98 = 0x80155C98;
gMessageWindowProjMatrix = 0x80155CA0;
D_80155D20 = 0x80155D20;
msg_drawState = 0x80155D74;
D_80155D80 = 0x80155D80;
D_80155D84 = 0x80155D84;
D_80155D88 = 0x80155D88;
D_80155D8C = 0x80155D8C;
D_80155D8E = 0x80155D8E;
D_80155D90 = 0x80155D90;
D_80155DA0 = 0x80155DA0;
D_801561A0 = 0x801561A0;
D_801565A0 = 0x801565A0;
D_801565A4 = 0x801565A4;
D_801565A6 = 0x801565A6;
D_801565A8 = 0x801565A8;
D_801565B0 = 0x801565B0;
D_801568E0 = 0x801568E0;
D_801568E4 = 0x801568E4;
D_801568E8 = 0x801568E8;
D_801568EC = 0x801568EC;
D_801568F0 = 0x801568F0;
D_801568F4 = 0x801568F4;
D_801568F8 = 0x801568F8;
screen_overlay_frontType = 0x80156900;
D_80156903 = 0x80156903;
screen_overlay_frontZoom = 0x80156904;
screen_overlay_backType = 0x80156908;
screen_overlay_backZoom = 0x8015690C;
D_80156910 = 0x80156910;
D_8015690B = 0x8015690B;
D_80156920 = 0x80156920;
D_80156948 = 0x80156948;
fold_vtxBuf = 0x80156950;
D_80156954 = 0x80156954;
D_80156958 = 0x80156958;
D_80156960 = 0x80156960;
D_80156968 = 0x80156968;
D_80156970 = 0x80156970;
fold_groupDescriptors = 0x80156980;
fold_gfxDataCache = 0x80156F20;
D_80156F60 = 0x80156F60;
D_80157460 = 0x80157460;
hudElements = 0x80157960;
D_80157964 = 0x80157964;
D_80157968 = 0x80157968;
D_80157970 = 0x80157970;
D_80157F70 = 0x80157F70;
D_80158570 = 0x80158570;
D_80158574 = 0x80158574;
D_80158580 = 0x80158580;
D_80158B80 = 0x80158B80;
D_80159180 = 0x80159180;
wTriggerList = 0x80159190;
bTriggerList = 0x80159290;
gCurrentTriggerListPtr = 0x80159390;
D_801593A0 = 0x801593A0;
D_8015959E = 0x8015959E;
D_801595A0 = 0x801595A0;
D_801595C0 = 0x801595C0;
D_80159670 = 0x80159670;
D_80159720 = 0x80159720;
D_801597D0 = 0x801597D0;
D_80159880 = 0x80159880;
D_801598A0 = 0x801598A0;
D_801599B8 = 0x801599B8;
D_80159AD0 = 0x80159AD0;
D_80159AD4 = 0x80159AD4;
gMusicUnkVolume = 0x80159AE0;
gMusicTargetVolume = 0x80159AE2;
gMusicUnkVolume2 = 0x80159AE4;
gMusicCurrentVolume = 0x80159AE6;
gMusicSettings = 0x80159AF0;
D_80159B08 = 0x80159B08;
D_80159B50 = 0x80159B50;
gWindows = 0x80159D50;
D_80159D54 = 0x80159D54;
D_80159E7E = 0x80159E7E;
D_8015A010 = 0x8015A010;
D_8015A070 = 0x8015A070;
D_8015A07C = 0x8015A07C;
D_8015A1E2 = 0x8015A1E2;
D_8015A2BC = 0x8015A2BC;
D_8015A2BE = 0x8015A2BE;
D_8015A2D0 = 0x8015A2D0;
D_8015A370 = 0x8015A370;
gCollisionStatus = 0x8015A550;
D_8015A578 = 0x8015A578;
D_8015A57A = 0x8015A57A;
mdl_textureHandles = 0x8015A590;
D_8015C790 = 0x8015C790;
D_8015C7A8 = 0x8015C7A8;
D_8015C7C0 = 0x8015C7C0;
D_8015C7D0 = 0x8015C7D0;
D_8015C7D2 = 0x8015C7D2;
D_8015C7D8 = 0x8015C7D8;
D_8015C7E0 = 0x8015C7E0;
D_80164000 = 0x80164000; D_80164000 = 0x80164000;
D_80169B16 = 0x80169B16; D_80169B16 = 0x80169B16;
D_80197000 = 0x80197000; D_80197000 = 0x80197000;
@ -447,17 +220,11 @@ D_80245603 = 0x80245603;
D_80245604 = 0x80245604; D_80245604 = 0x80245604;
D_80245605 = 0x80245605; D_80245605 = 0x80245605;
D_80245608 = 0x80245608; D_80245608 = 0x80245608;
D_8024560B = 0x8024560B;
D_8024560C = 0x8024560C; D_8024560C = 0x8024560C;
D_8024560F = 0x8024560F;
D_80245610 = 0x80245610; D_80245610 = 0x80245610;
D_80245613 = 0x80245613;
D_80245614 = 0x80245614; D_80245614 = 0x80245614;
D_80245617 = 0x80245617;
D_80245618 = 0x80245618; D_80245618 = 0x80245618;
D_8024561B = 0x8024561B;
D_8024561C = 0x8024561C; D_8024561C = 0x8024561C;
D_8024561F = 0x8024561F;
D_80245620 = 0x80245620; D_80245620 = 0x80245620;
D_80245650 = 0x80245650; D_80245650 = 0x80245650;
D_80245928 = 0x80245928; D_80245928 = 0x80245928;
@ -498,7 +265,6 @@ D_80247BF0 = 0x80247BF0;
D_80247CA0 = 0x80247CA0; D_80247CA0 = 0x80247CA0;
D_80247CB4 = 0x80247CB4; D_80247CB4 = 0x80247CB4;
D_80247D00 = 0x80247D00; D_80247D00 = 0x80247D00;
D_80247DF0 = 0x80247DF0;
D_80247E68 = 0x80247E68; D_80247E68 = 0x80247E68;
D_80248380 = 0x80248380; D_80248380 = 0x80248380;
D_80248388 = 0x80248388; D_80248388 = 0x80248388;
@ -527,7 +293,6 @@ D_8024B990 = 0x8024B990;
D_8024B9B4 = 0x8024B9B4; D_8024B9B4 = 0x8024B9B4;
D_8024B9B8 = 0x8024B9B8; D_8024B9B8 = 0x8024B9B8;
D_8024BA90 = 0x8024BA90; D_8024BA90 = 0x8024BA90;
D_8024BB80 = 0x8024BB80;
D_8024BDD0 = 0x8024BDD0; D_8024BDD0 = 0x8024BDD0;
D_8024BDE8 = 0x8024BDE8; D_8024BDE8 = 0x8024BDE8;
D_8024BDF0 = 0x8024BDF0; D_8024BDF0 = 0x8024BDF0;
@ -749,8 +514,6 @@ gStatsMenuIconIDs = 0x80270150;
gBadgeMenuItemIDs = 0x80270180; gBadgeMenuItemIDs = 0x80270180;
gBadgeMenuCurrentPage = 0x80270280; gBadgeMenuCurrentPage = 0x80270280;
gBadgeMenuPages = 0x80270288; gBadgeMenuPages = 0x80270288;
D_80270289 = 0x80270289;
D_8027028A = 0x8027028A;
gBadgeMenuSelectedIndex = 0x80270378; gBadgeMenuSelectedIndex = 0x80270378;
D_8027037C = 0x8027037C; D_8027037C = 0x8027037C;
gBadgeMenuSelectedItemID = 0x80270380; gBadgeMenuSelectedItemID = 0x80270380;
@ -912,7 +675,6 @@ D_8029FBD0 = 0x8029FBD0;
D_8029FBD4 = 0x8029FBD4; D_8029FBD4 = 0x8029FBD4;
gActionCommandStatus = 0x8029FBE0; gActionCommandStatus = 0x8029FBE0;
D_8029FC2A = 0x8029FC2A; D_8029FC2A = 0x8029FC2A;
D_8029FC3E = 0x8029FC3E;
D_8029FC4C = 0x8029FC4C; D_8029FC4C = 0x8029FC4C;
D_802A19B0 = 0x802A19B0; D_802A19B0 = 0x802A19B0;
D_802A19C0 = 0x802A19C0; D_802A19C0 = 0x802A19C0;
@ -921,7 +683,6 @@ D_802A1AC0 = 0x802A1AC0;
D_802A1B40 = 0x802A1B40; D_802A1B40 = 0x802A1B40;
D_802A1CD0 = 0x802A1CD0; D_802A1CD0 = 0x802A1CD0;
D_802A1CD4 = 0x802A1CD4; D_802A1CD4 = 0x802A1CD4;
D_802A1D60 = 0x802A1D60;
D_802A21F0 = 0x802A21F0; D_802A21F0 = 0x802A21F0;
D_802A25C8 = 0x802A25C8; D_802A25C8 = 0x802A25C8;
D_802A25E4 = 0x802A25E4; D_802A25E4 = 0x802A25E4;
@ -1217,6 +978,11 @@ heap_battleHead = 0x803DA800;
D_802510B0 = 0x802510B0; D_802510B0 = 0x802510B0;
D_8026A2B0 = 0x8026A2B0; D_8026A2B0 = 0x8026A2B0;
// BSS syms
#ifndef NON_MATCHING
// todo add more here as we find them
#endif
// effect_1 // effect_1
D_09000FA0 = 0x09000FA0; D_09000FA0 = 0x09000FA0;
D_09001060 = 0x09001060; D_09001060 = 0x09001060;
@ -1290,129 +1056,6 @@ D_09001358 = 0x09001358;
D_09001430 = 0x09001430; D_09001430 = 0x09001430;
D_09001508 = 0x09001508; D_09001508 = 0x09001508;
// BSS syms
#ifndef NON_MATCHING
D_8010C920 = 0x8010C920;
D_8010C924 = 0x8010C924;
D_8010C928 = 0x8010C928;
D_8010C92C = 0x8010C92C;
wPartnerNpc = 0x8010C930;
D_8010C934 = 0x8010C934;
D_8010C938 = 0x8010C938;
D_8010C93C = 0x8010C93C;
D_8010C940 = 0x8010C940;
gSpinHistoryBufferPos = 0x8010C944;
D_8010C94C = 0x8010C94C;
D_8010C950 = 0x8010C950;
D_8010C954 = 0x8010C954;
D_8010C958 = 0x8010C958;
D_8010C95C = 0x8010C95C;
D_8010C960 = 0x8010C960;
D_8010C964 = 0x8010C964;
D_8010C968 = 0x8010C968;
D_8010C96B = 0x8010C96B;
D_8010C96C = 0x8010C96C;
D_8010C970 = 0x8010C970;
D_8010C974 = 0x8010C974;
D_8010C978 = 0x8010C978;
D_8010C97A = 0x8010C97A;
D_8010C97C = 0x8010C97C;
D_8010C980 = 0x8010C980;
D_8010C984 = 0x8010C984;
D_8010C98C = 0x8010C98C;
D_8010C990 = 0x8010C990;
D_8010C9A0 = 0x8010C9A0;
D_8010C9B0 = 0x8010C9B0;
D_8010C9C0 = 0x8010C9C0;
D_8010C9C8 = 0x8010C9C8;
D_8010CCF8 = 0x8010CCF8;
D_8010CCFA = 0x8010CCFA;
D_8010CCFC = 0x8010CCFC;
D_8010CCFE = 0x8010CCFE;
D_8010CD00 = 0x8010CD00;
D_8010CD10 = 0x8010CD10;
D_8010CD12 = 0x8010CD12;
D_8010CD20 = 0x8010CD20;
D_8010CD30 = 0x8010CD30;
D_8010CD34 = 0x8010CD34;
D_8010CD38 = 0x8010CD38;
D_8010CFB8 = 0x8010CFB8;
D_8010CFBC = 0x8010CFBC;
wPartnerTetherDistance = 0x8010CFC0;
D_8010CFC4 = 0x8010CFC4;
D_8010CFC8 = 0x8010CFC8;
D_8010CFCA = 0x8010CFCA;
D_8010CFCC = 0x8010CFCC;
D_8010CFCE = 0x8010CFCE;
D_8010CFD0 = 0x8010CFD0;
D_8010CFD4 = 0x8010CFD4;
D_8010CFD8 = 0x8010CFD8;
D_8010CFDC = 0x8010CFDC;
D_8010CFE0 = 0x8010CFE0;
D_8010CFE4 = 0x8010CFE4;
D_8010CFE8 = 0x8010CFE8;
wPartner = 0x8010CFEC;
D_8010CFF0 = 0x8010CFF0;
D_8010CFF4 = 0x8010CFF4;
D_8010D000 = 0x8010D000;
D_8010D640 = 0x8010D640;
D_8010D644 = 0x8010D644;
D_8010D648 = 0x8010D648;
D_8010D64C = 0x8010D64C;
D_8010D650 = 0x8010D650;
D_8010D654 = 0x8010D654;
D_8010D655 = 0x8010D655;
D_8010D656 = 0x8010D656;
D_8010D658 = 0x8010D658;
D_8010D65A = 0x8010D65A;
D_8010D65C = 0x8010D65C;
D_8010D660 = 0x8010D660;
D_8010D664 = 0x8010D664;
D_8010D668 = 0x8010D668;
D_8010D66C = 0x8010D66C;
D_8010D670 = 0x8010D670;
D_8010D674 = 0x8010D674;
D_8010D678 = 0x8010D678;
D_8010D67C = 0x8010D67C;
D_8010D67E = 0x8010D67E;
D_8010D680 = 0x8010D680;
D_8010D682 = 0x8010D682;
D_8010D684 = 0x8010D684;
D_8010D686 = 0x8010D686;
D_8010D688 = 0x8010D688;
D_8010D68A = 0x8010D68A;
D_8010D68C = 0x8010D68C;
D_8010D68E = 0x8010D68E;
D_8010D68F = 0x8010D68F;
D_8010D690 = 0x8010D690;
D_8010D691 = 0x8010D691;
D_8010D692 = 0x8010D692;
D_8010D693 = 0x8010D693;
D_8010D694 = 0x8010D694;
D_8010D698 = 0x8010D698;
D_8010D699 = 0x8010D699;
D_8010D69A = 0x8010D69A;
gPopupMenu = 0x8010D69C;
D_8010D6A0 = 0x8010D6A0;
D_8010D6A4 = 0x8010D6A4;
D_8010D6B0 = 0x8010D6B0;
gPartnerActionStatus = 0x8010EBB0;
gSpinHistoryPosY = 0x8010EF10;
gSpinHistoryPosX = 0x8010EF28;
gSpinHistoryPosZ = 0x8010EF40;
gUIStatus = 0x8010EF58;
D_8010EF92 = 0x8010EF92;
D_8010EF9C = 0x8010EF9C;
D_8010EF9D = 0x8010EF9D;
D_8010EF9E = 0x8010EF9E;
gPlayerStatus = 0x8010EFC8;
gPlayerActionState = 0x8010F07C;
gPlayerAnimation = 0x8010F080;
gPlayerSpinState = 0x8010F250;
gPlayerData = 0x8010F290;
gSpinHistoryPosAngle = 0x8010F6B8;
#endif
// Invalid pointers from dead code // Invalid pointers from dead code
dead_atan2 = 0x8002AF70; dead_atan2 = 0x8002AF70;
dead_gCurrentCamID = 0x800A158C; dead_gCurrentCamID = 0x800A158C;