a5dd0 (model file) + filemenu decomp (#420)

* remove some warnings, improve build speed on master

* update Camera

* update_camera_zone_interp not matching but close :/

* cleanup

* configure fix

* cleanup, better gbi macros

* decomp and syms

* a couple more

* 2 more and stuff

* more naming

* 3

* syms

* mdl_get_child_count

* more stuff

* get_model_list_index_from_tree_index

* 5 more

* header org

* update_entity_shadow_position

* fog color funcs

* more color stuff

* display lists

* create_shadow_from_data

* 4 evt shtuffsh

* func_80117D00

* func_80111790

* some BSS

* entity_raycast_down

* MakeEntity and almost step_entity_commandList

* step_current_game_mode

* filemenu stuff

* lots more filemenu stuff

* cleanup

* formatting

* fixes

* 1 more

* more fixes
This commit is contained in:
Ethan Roseman 2021-09-22 20:17:46 +09:00 committed by GitHub
parent ac5b75763c
commit db578d9788
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
157 changed files with 4962 additions and 4770 deletions

View File

@ -24,7 +24,8 @@
"ver/current": true, "ver/current": true,
"ver/us/build": true, "ver/us/build": true,
"ver/jp/build": true, "ver/jp/build": true,
"expected": true "expected": true,
"**/*.i": true,
}, },
"python.autoComplete.extraPaths": [ "python.autoComplete.extraPaths": [
"./tools" "./tools"

2
Jenkinsfile vendored
View File

@ -64,7 +64,7 @@ pipeline {
sh 'python3 progress.py jp --csv >> reports/progress_jp.csv' sh 'python3 progress.py jp --csv >> reports/progress_jp.csv'
sh 'python3 progress.py jp --shield-json > reports/progress_jp_shield.json' sh 'python3 progress.py jp --shield-json > reports/progress_jp_shield.json'
sh './tools/warnings_count/update_current_warnings.sh' sh 'cat build_log.txt | grep warning | sort > tools/warnings_count/warnings.txt'
sh 'cp tools/warnings_count/warnings.txt reports/warnings.txt' sh 'cp tools/warnings_count/warnings.txt reports/warnings.txt'
stash includes: 'reports/*', name: 'reports' stash includes: 'reports/*', name: 'reports'

View File

@ -17,6 +17,10 @@ typedef struct {
u8 r, g, b, a; u8 r, g, b, a;
} Color_RGBA8; } Color_RGBA8;
typedef struct {
u8 r, g, b;
} Color_RGB8;
typedef struct Vec2b { typedef struct Vec2b {
/* 0x00 */ s8 x; /* 0x00 */ s8 x;
/* 0x01 */ s8 y; /* 0x01 */ s8 y;
@ -510,12 +514,22 @@ typedef struct CameraUnk {
/* 0x68 */ char unk_68[0x24]; /* 0x68 */ char unk_68[0x24];
} CameraUnk; // size = 0x8C } CameraUnk; // size = 0x8C
typedef struct CameraControlSettings {
/* 0x00 */ s32 type;
/* 0x04 */ f32 boomLength;
/* 0x08 */ f32 boomPitch;
/* 0x0C */ Vec3f posA;
/* 0x18 */ Vec3f posB;
/* 0x24 */ f32 viewPitch;
/* 0x28 */ s32 flag;
} CameraControlSettings; // size = 0x2C
typedef struct Camera { typedef struct Camera {
/* 0x000 */ u16 flags; /* 0x000 */ u16 flags;
/* 0x002 */ s16 moveFlags; /* 0x002 */ s16 moveFlags;
/* 0x004 */ s16 mode; /* 0x004 */ s16 updateMode;
/* 0x006 */ s16 unk_06; /* 0x006 */ s16 unk_06;
/* 0x008 */ s16 unk_08; /* 0x008 */ s16 changingMap;
/* 0x00A */ s16 viewportW; /* 0x00A */ s16 viewportW;
/* 0x00C */ s16 viewportH; /* 0x00C */ s16 viewportH;
/* 0x00E */ s16 viewportStartX; /* 0x00E */ s16 viewportStartX;
@ -533,7 +547,7 @@ typedef struct Camera {
/* 0x028 */ s16 unk_28; /* 0x028 */ s16 unk_28;
/* 0x02A */ s16 zoomPercent; /* 0x02A */ s16 zoomPercent;
/* 0x02C */ s16 bgColor[3]; /* 0x02C */ s16 bgColor[3];
/* 0x032 */ s16 targetScreenCoords[3]; /* 0x032 */ Vec3s targetScreenCoords;
/* 0x038 */ u16 perspNorm; /* 0x038 */ u16 perspNorm;
/* 0x03A */ char unk_3A[2]; /* 0x03A */ char unk_3A[2];
/* 0x03C */ Vec3f lookAt_eye; /* 0x03C */ Vec3f lookAt_eye;
@ -553,7 +567,7 @@ typedef struct Camera {
/* 0x094 */ f32 currentPitch; /* 0x094 */ f32 currentPitch;
/* 0x098 */ s32 unk_98; /* 0x098 */ s32 unk_98;
/* 0x09C */ s32 unk_9C; /* 0x09C */ s32 unk_9C;
/* 0x0A0 */ Vp viewport; /* 0x0A0 */ Vp vp;
/* 0x0B0 */ Vp vpAlt; /* 0x0B0 */ Vp vpAlt;
/* 0x0C0 */ s32 unk_C0; /* 0x0C0 */ s32 unk_C0;
/* 0x0C4 */ f32 unk_C4; /* 0x0C4 */ f32 unk_C4;
@ -565,33 +579,34 @@ typedef struct Camera {
/* 0x1D4 */ char unk_1D4[0x28]; /* 0x1D4 */ char unk_1D4[0x28];
/* 0x1FC */ void (*fpDoPreRender)(struct Camera*); /* 0x1FC */ void (*fpDoPreRender)(struct Camera*);
/* 0x200 */ void (*fpDoPostRender)(struct Camera*); /* 0x200 */ void (*fpDoPostRender)(struct Camera*);
/* 0x204 */ struct Matrix4s* unkMatrix; /* 0x204 */ Matrix4s* unkMatrix;
/* 0x208 */ s32 unk_208; /* 0x208 */ s32 unk_208;
/* 0x20C */ struct Matrix4s* unkEffectMatrix; /* 0x20C */ Matrix4s* unkEffectMatrix;
/* 0x210 */ char unk_210[0x2]; /* 0x210 */ char unk_210[0x2];
/* 0x212 */ s16 unk_212; /* 0x212 */ s16 unk_212;
/* 0x214 */ CameraUnk unk_214[4]; /* 0x214 */ CameraUnk unk_214[4];
/* 0x444 */ struct Zone* prevZone; /* 0x444 */ CameraControlSettings* prevController;
/* 0x448 */ struct Zone* currentZone; /* 0x448 */ CameraControlSettings* currentController;
/* 0x44C */ struct CamPosSettings initialSettings; /* for start of blend between zones */ /* 0x44C */ CamPosSettings oldCameraSettings;
/* 0x468 */ struct CamPosSettings targetSettings; /* goal for blend between zones */ /* 0x468 */ CamPosSettings newCameraSettings;
/* 0x484 */ f32 sinInterpAlpha; /* 0x484 */ f32 interpAlpha;
/* 0x488 */ f32 linearInterp; /* 0x488 */ f32 linearInterp;
/* 0x48C */ f32 linearInterpScale; /* 3.0? */ /* 0x48C */ f32 linearInterpScale; /* 3.0? */
/* 0x490 */ f32 moveSpeed; /* 0x490 */ f32 moveSpeed;
/* 0x494 */ char unk_494[0x8]; /* 0x494 */ f32 unk_494;
/* 0x498 */ f32 unk_498;
/* 0x49C */ f32 unk_49C; /* 0x49C */ f32 unk_49C;
/* 0x4A0 */ char unk_4A0[0x10]; /* 0x4A0 */ f32 savedTargetY;
/* 0x4A4 */ f32 unk_4A4;
/* 0x4A8 */ f32 unk_4A8;
/* 0x4AC */ f32 unk_4AC;
/* 0x4B0 */ Vec3f movePos; /* 0x4B0 */ Vec3f movePos;
/* 0x4BC */ char unk_4BC[28]; /* 0x4BC */ Vec3f prevPrevMovePos;
/* 0x4D8 */ s32 controllerType; /* 0x4C8 */ Vec3f prevMovePos;
/* 0x4DC */ f32 controllerBoomLen; /* 0x4D4 */ u16 prevPrevFollowFlags;
/* 0x4E0 */ f32 controllerBoomPitch; /* 0x4D6 */ u16 prevFollowFlags;
/* 0x4E4 */ Vec3f posA; /* 0x4D8 */ CameraControlSettings controlSettings;
/* 0x4F0 */ Vec3f posB; /* 0x504 */ u16 followPlayer;
/* 0x4FC */ f32 controllerViewPitch;
/* 0x500 */ s32 unk_500;
/* 0x504 */ s16 boolTargetPlayer;
/* 0x506 */ u16 unk_506; /* 0x506 */ u16 unk_506;
/* 0x508 */ f32 panPhase; /* 0x508 */ f32 panPhase;
/* 0x50C */ f32 leadAmount; /* 0x50C */ f32 leadAmount;
@ -816,58 +831,6 @@ typedef struct ModelDisplayData {
/* 0x4 */ char unk_00[0x4]; /* 0x4 */ char unk_00[0x4];
} ModelDisplayData; // size = 0x8 } ModelDisplayData; // size = 0x8
typedef struct ModelNodeProperty {
/* 0x0 */ s32 key;
/* 0x4 */ s32 dataType;
/* 0x8 */ s32 data;
} ModelNodeProperty; // size = 0x8;
typedef struct ModelNode {
/* 0x00 */ s32 type; /* 2 = model */
/* 0x04 */ ModelDisplayData* displayData;
/* 0x08 */ s32 numProperties;
/* 0x0C */ ModelNodeProperty* propertyList;
/* 0x10 */ struct ModelGroupData* groupData;
} ModelNode; // size = 0x14
typedef struct Model {
/* 0x00 */ u16 flags;
/* 0x02 */ s16 modelID;
/* 0x04 */ Matrix4s* currentMatrix;
/* 0x08 */ ModelNode* modelNode;
/* 0x0C */ ModelGroupData* groupData;
/* 0x10 */ s32* currentSpecialMatrix;
/* 0x14 */ char unk_14[4];
/* 0x18 */ Matrix4s specialMatrix;
/* 0x58 */ Matrix4f transformMatrix;
/* 0x98 */ Vec3f center;
/* 0xA4 */ u8 texPannerID;
/* 0xA5 */ u8 specialDisplayListID;
/* 0xA6 */ s8 renderMode;
/* 0xA7 */ char unk_A7;
/* 0xA8 */ u8 textureID;
/* 0xA9 */ u8 unk_A9;
/* 0xAA */ char unk_AA[6];
} Model; // size = 0xB0
typedef struct ModelTransformGroup {
/* 0x00 */ u16 flags;
/* 0x02 */ s16 groupModelID;
/* 0x04 */ Matrix4s* matrixRDP_N;
/* 0x08 */ ModelNode* modelNode;
/* 0x0C */ Matrix4s* transformMtx;
/* 0x10 */ Matrix4f matrixA;
/* 0x50 */ Matrix4f matrixB;
/* 0x90 */ Vec3f center;
/* 0x9C */ u8 minChildModelIndex;
/* 0x9D */ u8 maxChildModelIndex;
/* 0x9E */ u8 renderMode;
/* 0x9F */ s8 matrixMode;
} ModelTransformGroup; // size = 0xA0
typedef Model* ModelList[MAX_MODELS];
typedef ModelTransformGroup* ModelTransformGroupList[MAX_MODEL_TRANSFORM_GROUPS];
typedef struct AnimatedMesh { typedef struct AnimatedMesh {
/* 0x000 */ s32 flags; /* 0x000 */ s32 flags;
/* 0x004 */ u8 renderMode; /* 0x004 */ u8 renderMode;
@ -1041,10 +1004,19 @@ typedef struct ItemEntity {
/* 0x58 */ s32 unk_58; /* 0x58 */ s32 unk_58;
} ItemEntity; // size = 0x5C } ItemEntity; // size = 0x5C
typedef struct StaticShadowData { typedef struct StaticAnimatorNode {
/* 0x00 */ s16 flags; /* 0x00 */ u32* displayList; // can sometime point to a node???
/* 0x02 */ char unk_02[34]; /* 0x04 */ Vec3s rot; /* range = -180,180 */
} StaticShadowData; // size = 0x24 /* 0x0A */ char unk_0A[0x2];
/* 0x0C */ Vec3f pos;
/* 0x18 */ struct StaticAnimatorNode* sibling;
/* 0x1C */ struct StaticAnimatorNode* child;
/* 0x20 */ s16 vertexStartOffset;
/* 0x22 */ char unk_22[0x2];
/* 0x24 */ Vtx* vtxList;
/* 0x28 */ s16 modelID;
/* 0x2A */ char unk_2A[0x2];
} StaticAnimatorNode; // size = 0x2C
typedef struct SpriteComponent { typedef struct SpriteComponent {
/* 0x00 */ char unk_00[8]; /* 0x00 */ char unk_00[8];
@ -1286,7 +1258,7 @@ typedef struct GameStatus {
/* 0x0A8 */ s8 creditsViewportMode; /* 0x0A8 */ s8 creditsViewportMode;
/* 0x0A9 */ s8 unk_A9; /* 0x0A9 */ s8 unk_A9;
/* 0x0AA */ s8 demoFlags; /* 0x0AA */ s8 demoFlags;
/* 0x0AB */ s8 unk_AB; /* 0x0AB */ u8 unk_AB;
/* 0x0AC */ s8 loadMenuState; /* 0x0AC */ s8 loadMenuState;
/* 0x0AD */ s8 menuCounter; /* 0x0AD */ s8 menuCounter;
/* 0x0AE */ s8 bSkipIntro; /* 0x0AE */ s8 bSkipIntro;
@ -1345,6 +1317,15 @@ typedef struct Shadow {
typedef Shadow* ShadowList[MAX_SHADOWS]; typedef Shadow* ShadowList[MAX_SHADOWS];
typedef struct StaticShadowData {
/* 0x00 */ u16 flags;
/* 0x02 */ char unk_02[0x2];
/* 0x04 */ s32 unk_04;
/* 0x08 */ StaticAnimatorNode** animModelNode;
/* 0x0C */ void (*onCreateCallback)(Shadow* shadow);
/* 0x10 */ char unk_10[0x14];
} StaticShadowData; // size = 0x24
typedef struct PushBlockGrid { typedef struct PushBlockGrid {
/* 0x00 */ s8* cells; /* 0x00 */ s8* cells;
/* 0x04 */ u8 numCellsX; /* 0x04 */ u8 numCellsX;
@ -1373,18 +1354,6 @@ typedef struct RenderTask {
/* 0x0C */ void (*appendGfx)(void*); /* 0x0C */ void (*appendGfx)(void*);
} RenderTask; // size = 0x10 } RenderTask; // size = 0x10
typedef void(*CustomModelGfxBuilderFunc)(s32 index);
typedef struct CustomModelGfxBuilder {
/* 0x00 */ CustomModelGfxBuilderFunc pre;
/* 0x00 */ CustomModelGfxBuilderFunc post;
} CustomModelGfxBuilder; // size = 0x8
typedef struct CustomModelGfx {
/* 0x00 */ Gfx* pre;
/* 0x00 */ Gfx* post;
} CustomModelGfx; // size = 0x8
typedef struct SelectableTarget { typedef struct SelectableTarget {
/* 0x00 */ s16 actorID; /* 0x00 */ s16 actorID;
/* 0x02 */ s16 partID; /* sometimes loaded as byte from 0x3 */ /* 0x02 */ s16 partID; /* sometimes loaded as byte from 0x3 */
@ -1664,15 +1633,6 @@ typedef struct CollisionHeader {
/* 0x18 */ char unk_18[8]; /* 0x18 */ char unk_18[8];
} CollisionHeader; // size = 0x20 } CollisionHeader; // size = 0x20
typedef struct Zone {
/* 0x00 */ s32 type;
/* 0x04 */ f32 boomLength;
/* 0x08 */ f32 boomPitch;
/* 0x0C */ f32 pos[6];
/* 0x24 */ f32 viewPitch;
/* 0x28 */ s32 flag;
} Zone; // size = 0x2C
typedef struct ActorMovement { typedef struct ActorMovement {
/* 0x00 */ Vec3f currentPos; /* 0x00 */ Vec3f currentPos;
/* 0x0C */ Vec3f goalPos; /* 0x0C */ Vec3f goalPos;
@ -1939,12 +1899,6 @@ typedef struct PlayerStatus {
/* 0x281 */ char unk_281[7]; /* 0x281 */ char unk_281[7];
} PlayerStatus; // size = 0x288 } PlayerStatus; // size = 0x288
typedef struct AnimatedModelNode {
/* 0x00 */ u32* displayList;
/* 0x04 */ s16 rot[3]; /* range = -180,180 */
/* 0x0A */ char unk_0A[34];
} AnimatedModelNode; // size = 0x2C
typedef struct EncounterStatus { typedef struct EncounterStatus {
/* 0x000 */ s32 flags; /* 0x000 */ s32 flags;
/* 0x004 */ s8 eFirstStrike; /* 0 = none, 1 = player, 2 = enemy */ /* 0x004 */ s8 eFirstStrike; /* 0 = none, 1 = player, 2 = enemy */
@ -2044,10 +1998,10 @@ typedef struct PauseMapSpace {
} PauseMapSpace; // size = 0x14 } PauseMapSpace; // size = 0x14
typedef struct MenuPanel { typedef struct MenuPanel {
/* 0x00 */ s8 initialized; //? /* 0x00 */ u8 initialized; //?
/* 0x01 */ s8 col; // might be backwards /* 0x01 */ s8 col; // might be backwards
/* 0x02 */ s8 row; // might be backwards /* 0x02 */ s8 row; // might be backwards
/* 0x03 */ s8 selected; /* 0x03 */ u8 selected;
/* 0x04 */ s8 page; // filemenu: 0 = select, 1 = delete, 3 = copy from, 4 = copy to, all else = save /* 0x04 */ s8 page; // filemenu: 0 = select, 1 = delete, 3 = copy from, 4 = copy to, all else = save
/* 0x05 */ s8 numCols; /* 0x05 */ s8 numCols;
/* 0x06 */ s8 numRows; /* 0x06 */ s8 numRows;
@ -2057,7 +2011,7 @@ typedef struct MenuPanel {
/* 0x10 */ UNK_FUN_PTR(fpHandleInput); /* 0x10 */ UNK_FUN_PTR(fpHandleInput);
/* 0x14 */ UNK_FUN_PTR(fpUpdate); /* 0x14 */ UNK_FUN_PTR(fpUpdate);
/* 0x18 */ UNK_FUN_PTR(fpCleanup); /* 0x18 */ UNK_FUN_PTR(fpCleanup);
} MenuPanel; } MenuPanel; // size = 0x1C
typedef struct WindowBackground { typedef struct WindowBackground {
/* 0x00 */ s32* imgData; /* 0x00 */ s32* imgData;
@ -2298,17 +2252,10 @@ typedef struct TempSetZoneEnabled {
/* 0x04 */ s16 id1; /* 0x04 */ s16 id1;
/* 0x06 */ s16 id2; /* 0x06 */ s16 id2;
/* 0x08 */ char unk_08[0x8]; /* 0x08 */ char unk_08[0x8];
/* 0x10 */ s32 unk_10; /* 0x10 */ CameraControlSettings* unk_10;
/* 0x14 */ char unk_14[0x8]; /* 0x14 */ char unk_14[0x8];
} TempSetZoneEnabled; // size = 0x1C } TempSetZoneEnabled; // size = 0x1C
typedef struct RenderTaskEntry {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ void* appendGfxArg;
/* 0x0C */ void (*appendGfx)(void*);
} RenderTaskEntry; // size = 0x10
typedef struct ActionCommandStatus { typedef struct ActionCommandStatus {
/* 0x00 */ s32 unk_00; /* 0x00 */ s32 unk_00;
/* 0x04 */ s32 hudElements[15]; /* 0x04 */ s32 hudElements[15];

22
include/filemenu.h Normal file
View File

@ -0,0 +1,22 @@
#ifndef _FILEMENU_H_
#define _FILEMENU_H_
#include "common.h"
extern MenuPanel* filemenu_menus[4];
void pause_partners_draw_movelist_flower(MenuPanel* menu, s32 posX, s32 posY);
extern BSS s32 filemenu_iterFileIdx;
extern BSS s32 filemenu_pressedButtons;
extern BSS s32 filemenu_8024C088;
extern BSS s32 filemenu_heldButtons;
extern BSS s32 filemenu_8024C090;
extern BSS s32 filemenu_loadedFileIdx;
extern BSS s32 filemenu_8024C098[2];
extern BSS s32 filemenu_cursorHudElemID;
extern BSS s32 filemenu_8024C0A4[3];
extern BSS s32 filemenu_hudElemIDs[20];
extern BSS s32 filemenu_8024C100[8];
#endif

View File

@ -61,7 +61,7 @@ void set_entity_model_flags(s32 idx, s32 newFlags);
void clear_entity_model_flags(s32 idx, s32 newFlags); void clear_entity_model_flags(s32 idx, s32 newFlags);
void exec_entity_model_commandlist(s32 idx); void exec_entity_model_commandlist(s32 idx);
s32 load_entity_model(s32* cmdList); s32 load_entity_model(s32* cmdList);
RenderTaskEntry* queue_render_task(RenderTask* task); RenderTask* queue_render_task(RenderTask* task);
void setup_pause_menu_tab(MenuWindowBP* bpArray, s32 arraySize); void setup_pause_menu_tab(MenuWindowBP* bpArray, s32 arraySize);

View File

@ -62,23 +62,6 @@
#define PACK_FILL_COLOR(r, g, b, a) (GPACK_RGBA5551(r, g, b, a) << 0x10) | GPACK_RGBA5551(r, g, b, a) #define PACK_FILL_COLOR(r, g, b, a) (GPACK_RGBA5551(r, g, b, a) << 0x10) | GPACK_RGBA5551(r, g, b, a)
//NOTE: SCRIPT_ALLOC is probably not quite correct, but this is the closest thing to matching for the functions its used in. Needs more work.
#define SCRIPT_ALLOC(new, index) \
{ \
(*gCurrentScriptListPtr)[index] = new = heap_malloc(sizeof(Evt)); \
gNumScripts++; \
ASSERT(new != NULL); \
}
#define SCRIPT_FREE(index) \
{ \
ScriptList** temp = &gCurrentScriptListPtr; \
s32 *numScripts = &gNumScripts; \
heap_free((**temp)[index]); \
(**temp)[index] = NULL; \
(*numScripts)--; \
}
#define SQ(x) (x*x) #define SQ(x) (x*x)
#define CUBE(x) (x*x*x) #define CUBE(x) (x*x*x)
#define QUART(x) (x*x*x*x) #define QUART(x) (x*x*x*x)

View File

@ -4,6 +4,7 @@
#include "common_structs.h" #include "common_structs.h"
#include "enums.h" #include "enums.h"
#include "script_api/map.h" #include "script_api/map.h"
#include "model.h"
// TODO: consider moving Npc here // TODO: consider moving Npc here

151
include/model.h Normal file
View File

@ -0,0 +1,151 @@
#ifndef _MODEL_H_
#define _MODEL_H_
#include "common.h"
typedef union ModelNodePropertyData {
s32 s;
f32 f;
s32* p;
} ModelNodePropertyData;
typedef struct ModelNodeProperty {
/* 0x0 */ s32 key;
/* 0x4 */ s32 dataType;
/* 0x8 */ ModelNodePropertyData data;
} ModelNodeProperty; // size = 0xC;
typedef struct ModelNode {
/* 0x00 */ s32 type; /* 2 = model */
/* 0x04 */ ModelDisplayData* displayData;
/* 0x08 */ s32 numProperties;
/* 0x0C */ ModelNodeProperty* propertyList;
/* 0x10 */ struct ModelGroupData* groupData;
} ModelNode; // size = 0x14
typedef struct Model {
/* 0x00 */ u16 flags;
/* 0x02 */ u16 modelID;
/* 0x04 */ Matrix4s* currentMatrix;
/* 0x08 */ ModelNode* modelNode;
/* 0x0C */ ModelGroupData* groupData;
/* 0x10 */ s32* currentSpecialMatrix;
/* 0x14 */ char unk_14[4];
/* 0x18 */ Matrix4s specialMatrix;
/* 0x58 */ Matrix4f transformMatrix;
/* 0x98 */ Vec3f center;
/* 0xA4 */ u8 texPannerID;
/* 0xA5 */ u8 specialDisplayListID;
/* 0xA6 */ s8 renderMode;
/* 0xA7 */ char unk_A7;
/* 0xA8 */ u8 textureID;
/* 0xA9 */ u8 unk_A9;
/* 0xAA */ char unk_AA[6];
} Model; // size = 0xB0
typedef struct ModelTransformGroup {
/* 0x00 */ u16 flags;
/* 0x02 */ u16 groupModelID;
/* 0x04 */ Mtx* matrixRDP_N;
/* 0x08 */ ModelNode* modelNode;
/* 0x0C */ Matrix4s* transformMtx;
/* 0x10 */ Mtx matrixA;
/* 0x50 */ Matrix4f matrixB;
/* 0x90 */ Vec3f center;
/* 0x9C */ u8 minChildModelIndex;
/* 0x9D */ u8 maxChildModelIndex;
/* 0x9E */ u8 renderMode;
/* 0x9F */ s8 matrixMode;
} ModelTransformGroup; // size = 0xA0
typedef Model* ModelList[MAX_MODELS];
typedef ModelTransformGroup* ModelTransformGroupList[MAX_MODEL_TRANSFORM_GROUPS];
typedef struct ModelLocalVertexCopy {
/* 0x00 */ s32 numVertices;
/* 0x04 */ Vtx* minVertexAddr;
/* 0x08 */ Gfx* gfxCopy[2];
/* 0x10 */ Vtx* vtxCopy[2];
/* 0x18 */ s32 selector;
} ModelLocalVertexCopy; // size = 0x1C
typedef struct ModelTreeInfo {
/* 0x00 */ u8 modelIndex;
/* 0x01 */ s8 treeDepth;
/* 0x02 */ s8 textureID;
/* 0x03 */ char unk_03;
} ModelTreeInfo; // size = 0x04
typedef struct TextureHandle {
/* 0x00 */ Gfx* gfx;
/* 0x04 */ TileDescriptor desc;
/* 0x34 */ s32* raster;
/* 0x38 */ s32* palette;
/* 0x3C */ s32* auxRaster;
/* 0x40 */ s32* auxPalette;
} TextureHandle; // size = 0x44
typedef void(*ModelCustomGfxBuilderFunc)(s32 index);
typedef struct ModelCustomGfxBuilder {
/* 0x00 */ ModelCustomGfxBuilderFunc pre;
/* 0x00 */ ModelCustomGfxBuilderFunc post;
} ModelCustomGfxBuilder; // size = 0x8
typedef struct ModelCustomGfx {
/* 0x00 */ Gfx* pre;
/* 0x00 */ Gfx* post;
} ModelCustomGfx; // size = 0x8
typedef struct ModelBlueprint {
/* 0x0 */ s16 flags;
/* 0x2 */ char unk_02[0x2];
/* 0x4 */ ModelNode* mdlNode;
/* 0x8 */ ModelGroupData* groupData;
/* 0xC */ Matrix4s* mtx;
} ModelBlueprint; // size = 0x10
typedef ModelCustomGfx ModelCustomGfxList[32];
typedef ModelCustomGfxBuilder ModelCustomGfxBuilderList[32];
// In memory this is a list of ModelNodeProperty, but due to the way it uses
// the fields (storing into the "type" field) we decided to make a struct for this
typedef struct ModelBoundingBox {
/* 0x00 */ s32 key; // MODEL_PROP_KEY_BOUNDING_BOX
/* 0x04 */ s32 halfSizeX;
/* 0x08 */ f32 minX;
/* 0x0C */ char unk_0C[0x04];
/* 0x10 */ s32 halfSizeY;
/* 0x14 */ f32 minY;
/* 0x18 */ char unk_18[0x04];
/* 0x1C */ s32 halfSizeZ;
/* 0x20 */ f32 minZ;
/* 0x24 */ char unk_24[0x8];
/* 0x2C */ f32 maxX;
/* 0x30 */ char unk_30[0x8];
/* 0x38 */ f32 maxY;
/* 0x3C */ char unk_3C[0x8];
/* 0x44 */ f32 maxZ;
} ModelBoundingBox; // size = 0x48?
typedef enum ModelPropertyKeys {
MODEL_PROP_KEY_RENDER_MODE = 0x5C,
MODEL_PROP_KEY_CAMERA_DATA = 0x5D,
MODEL_PROP_KEY_TEXTURE_NAME = 0x5E,
MODEL_PROP_KEY_SPECIAL = 0x5F,
MODEL_PROP_KEY_GROUP_TYPE = 0x60,
MODEL_PROP_KEY_BOUNDING_BOX = 0x61,
MODEL_PROP_KEY_62 = 0x62,
} ModelPropertyKeys;
typedef enum ShapeTypes {
SHAPE_TYPE_MODEL = 2,
SHAPE_TYPE_GROUP = 5,
SHAPE_TYPE_ROOT = 7,
SHAPE_TYPE_SPECIAL_GROUP = 10,
} ShapeTypes;
typedef ModelTreeInfo ModelTreeInfoList[0x200];
extern ModelTreeInfoList* mdl_currentModelTreeNodeInfo;
#endif

View File

@ -53,19 +53,9 @@ extern s32 gScriptIndexList[MAX_SCRIPTS];
extern s32 gMoveScriptTable[][4]; extern s32 gMoveScriptTable[][4];
extern ModelList gWorldModelList;
extern ModelList gBattleModelList;
extern ModelList* gCurrentModelListPtr;
// TODO: potentially a display list, figure this out
extern u32* gWorldModelSpecialDls[32];
extern u32* gBattleModelSpecialDls[32];
extern CustomModelGfx* gCurrentModelSpecialDlsPtr;
extern EntityList gWorldEntityList; extern EntityList gWorldEntityList;
extern EntityList gBattleEntityList; extern EntityList gBattleEntityList;
extern EntityList* gCurrentEntityListPtr; extern EntityList* gCurrentEntityListPtr;
extern s32 gLastCreatedEntityIndex;
extern DynamicEntityList gWorldDynamicEntityList; extern DynamicEntityList gWorldDynamicEntityList;
extern DynamicEntityList gBattleDynamicEntityList; extern DynamicEntityList gBattleDynamicEntityList;

View File

@ -1,13 +1,84 @@
#include "common.h" #include "common.h"
#include "filemenu.h"
// TODO this is the bss for the whole segment - break it up extern s32 D_80241ECC;
static char bss[0xA0]; extern MenuPanel D_8024A098;
extern MenuPanel D_8024A114;
extern MenuPanel D_8024A158;
extern MenuPanel D_8024A1D8;
extern s32 D_8024BA60;
extern s32 D_8024BA98;
void filemenu_draw_cursor(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void filemenu_draw_contents_copy_arrow(
MenuPanel* menu,
s32 baseX, s32 baseY,
s32 width, s32 height,
s32 opacity, s32 darkening
);
s32* D_80249B80[] = { &D_80241ECC };
MenuPanel* filemenu_menus[4] = { &D_8024A098, &D_8024A114, &D_8024A158, &D_8024A1D8 };
s32 D_80249B94 = 160;
s32 D_80249B98 = -120;
s32 D_80249B9C[] = {0};
s32 D_80249BA0 = 160;
s32 D_80249BA4[] = { -120 };
s32 filemenu_cursorGoalAlpha = 0;
s32 filemenu_cursorGoalAlpha2 = 0;
s32 D_80249BB0[] = { 0x00000001, 0x00000000 };
s32 D_80249BB8[] = { 0x00000000 };
s16 D_80249BBC[16] = { 315, 303, 283, 260, 235, 210, 185, 160, 135, 110, 85, 60, 37, 17, 5, 0 };
s16 D_80249BDC[16] = { 315, 303, 283, 260, 235, 210, 185, 160, 135, 110, 85, 60, 37, 17, 5, 0 };
s16 D_80249BFC[16] = { 157, 151, 141, 130, 117, 105, 92, 80, 67, 55, 42, 30, 18, 8, 2, 0 };
s16 D_80249C1C[16] = { 157, 151, 141, 130, 117, 105, 92, 80, 67, 55, 42, 30, 18, 8, 2, 0 };
s16 D_80249C3C[16] = { 63, 60, 56, 52, 47, 42, 37, 32, 27, 22, 17, 12, 7, 3, 1, 0 };
s16 D_80249C5C[16] = { 63, 60, 56, 52, 47, 42, 37, 32, 27, 22, 17, 12, 7, 3, 1, 0 };
s16 D_80249C7C[10] = { -5, -17, -37, -60, -85, -110, -135, -160, -185, -210 };
s16 D_80249C90[10] = { -5, -17, -37, -60, -85, -110, -135, -160, -185, -210 };
s16 D_80249CA4[10] = { -2, -8, -18, -30, -42, -55, -70, -85, -100, -115 };
s16 D_80249CB8[10] = { -2, -8, -18, -30, -42, -55, -70, -85, -100, -115 };
s16 D_80249CCC[10] = { -1, -3, -7, -12, -17, -22, -27, -32, -37, -42 };
s16 D_80249CE0[10] = { -1, -3, -7, -12, -17, -22, -27, -32, -37, -42 };
s16 D_80249CF4[16] = { 180, 173, 161, 148, 134, 120, 105, 91, 77, 62, 48, 34, 21, 9, 2, 0 };
s16 D_80249D14[] = { 0, 2, 9, 21, 34, 48, 62, 77, 91, 105, 120, 134, 148, 161, 173, 180 };
s16 D_80249D34[] = { 185, 160, 135, 110, 85, 60, 37, 17, 5, 0 };
s16 D_80249D48[10] = { 0, 5, 17, 37, 60, 85, 110, 135, 160, 185};
s32 D_80249D4C = 0; // padding?
s32 D_80249D60[] = { 0x028001E0, 0x01FF0000, 0x028001E0, 0x01FF0000, };
s32 D_80249D70[] = { 0x40E00000, 0x41480000, 0x41500000, 0x41680000, 0x41600000, 0x41500000, 0x41380000, 0x41180000,
0x40F00000, 0x40B00000, 0x40600000, 0x40000000, 0x3F800000, 0x3F000000, 0x00000000, };
s32 D_80249DAC[] = { 0x2C000010, 0x00180120, 0x00C00000, 0x00000000, 0x00000000, 0xFF000000, 0x00000001, 0x40000000, };
s32 D_80249DCC[] = { &D_8024BA60, 0x18000000, 0x00000120, 0x00C00000, filemenu_draw_contents_copy_arrow, 0x00000000,
0x2C000000, 0x00000001, 0x00000000, &D_8024BA98, 0x17000000, 0x00000140, 0x00F00000,
filemenu_draw_cursor, 0x00000000, 0xFF000000, 0x00000001, 0x00000000, &D_8024BA98, 0x00000000,
0x00000000, };
BSS s32 filemenu_iterFileIdx;
BSS s32 filemenu_pressedButtons;
BSS s32 filemenu_8024C088;
BSS s32 filemenu_heldButtons;
BSS s32 filemenu_8024C090;
BSS s32 filemenu_loadedFileIdx;
BSS s32 filemenu_8024C098[2];
BSS s32 filemenu_cursorHudElemID;
BSS s32 filemenu_8024C0A4[3];
BSS s32 filemenu_hudElemIDs[20];
BSS s32 filemenu_8024C100[8];
INCLUDE_ASM(s32, "163400", mainmenu_draw_rect); INCLUDE_ASM(s32, "163400", mainmenu_draw_rect);
INCLUDE_ASM(s32, "163400", filemenu_set_selected); void filemenu_set_selected(MenuPanel* menu, s32 col, s32 row) {
menu->col = col;
menu->row = row;
menu->selected = menu->gridData[(menu->page * menu->numCols * menu->numRows) +
(menu->numCols * (s8) row) + menu->col];
}
INCLUDE_ASM(s32, "163400", filemenu_set_cursor_alpha); void filemenu_set_cursor_alpha(s32 arg0) {
filemenu_cursorGoalAlpha = arg0;
filemenu_cursorGoalAlpha2 = arg0;
}
INCLUDE_ASM(s32, "163400", filemenu_set_cursor_goal_pos); INCLUDE_ASM(s32, "163400", filemenu_set_cursor_goal_pos);
@ -15,33 +86,322 @@ INCLUDE_ASM(s32, "163400", filemenu_update_cursor);
INCLUDE_ASM(s32, "163400", filemenu_update); INCLUDE_ASM(s32, "163400", filemenu_update);
INCLUDE_ASM(s32, "163400", func_8024330C); void func_8024330C(
s32 windowIdx,
s32* flags,
s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY,
s32* rotX, f32* rotY, s32* rotZ,
s32* darkening,
s32* opacity
) {
Window* window = &gWindows[windowIdx];
s32 updateCounter = window->updateCounter;
INCLUDE_ASM(s32, "163400", filemenu_update_show_name_input); if (updateCounter == 0) {
window->flags &= ~0x4;
}
INCLUDE_ASM(s32, "163400", filemenu_update_show_options_left); if (updateCounter < ARRAY_COUNT(D_80249BBC)) {
*posX -= D_80249BBC[updateCounter];
} else {
*posX -= D_80249BBC[ARRAY_COUNT(D_80249BBC) - 1];
window->flags &= ~0x8;
}
}
INCLUDE_ASM(s32, "163400", filemenu_update_show_options_right); void filemenu_update_show_name_input(
s32 windowIdx,
s32* flags,
s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY,
s32* rotX, f32* rotY, s32* rotZ,
s32* darkening,
s32* opacity
) {
Window* window = &gWindows[windowIdx];
s32 updateCounter = window->updateCounter;
INCLUDE_ASM(s32, "163400", filemenu_update_show_options_bottom); if (updateCounter == 0) {
window->flags &= ~0x4;
}
INCLUDE_ASM(s32, "163400", filemenu_update_show_title); if (updateCounter < ARRAY_COUNT(D_80249BDC)) {
*posX += D_80249BDC[updateCounter];
} else {
*posX += D_80249BDC[ARRAY_COUNT(D_80249BDC) - 1];
window->flags &= ~0x8;
}
}
INCLUDE_ASM(s32, "163400", func_802435C4); void filemenu_update_show_options_left(
s32 windowIdx,
s32* flags,
s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY,
s32* rotX, f32* rotY, s32* rotZ,
s32* darkening,
s32* opacity
) {
Window* window = &gWindows[windowIdx];
s32 updateCounter = window->updateCounter;
INCLUDE_ASM(s32, "163400", filemenu_update_hidden_name_input); if (updateCounter == 0) {
window->flags &= ~0x4;
}
INCLUDE_ASM(s32, "163400", filemenu_update_hidden_options_left); if (updateCounter < ARRAY_COUNT(D_80249BFC)) {
*posX -= D_80249BFC[updateCounter];
} else {
*posX -= D_80249BFC[ARRAY_COUNT(D_80249BFC) - 1];
window->flags &= ~0x8;
}
}
INCLUDE_ASM(s32, "163400", filemenu_update_hidden_options_right); void filemenu_update_show_options_right(
s32 windowIdx,
s32* flags,
s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY,
s32* rotX, f32* rotY, s32* rotZ,
s32* darkening,
s32* opacity
) {
Window* window = &gWindows[windowIdx];
s32 updateCounter = window->updateCounter;
INCLUDE_ASM(s32, "163400", filemenu_update_hidden_title); if (updateCounter == 0) {
window->flags &= ~0x4;
}
INCLUDE_ASM(s32, "163400", filemenu_update_hidden_options_bottom); if (updateCounter < ARRAY_COUNT(D_80249C1C)) {
*posX += D_80249C1C[updateCounter];
} else {
*posX += D_80249C1C[ARRAY_COUNT(D_80249C1C) - 1];
window->flags &= ~0x8;
}
}
INCLUDE_ASM(s32, "163400", filemenu_update_show_with_rotation); void filemenu_update_show_options_bottom(
s32 windowIdx,
s32* flags,
s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY,
s32* rotX, f32* rotY, s32* rotZ,
s32* darkening,
s32* opacity
) {
Window* window = &gWindows[windowIdx];
s32 updateCounter = window->updateCounter;
INCLUDE_ASM(s32, "163400", filemenu_update_hidden_with_rotation); if (updateCounter == 0) {
window->flags &= ~0x4;
}
if (updateCounter < ARRAY_COUNT(D_80249C3C)) {
*posY += D_80249C3C[updateCounter];
} else {
*posY += D_80249C3C[ARRAY_COUNT(D_80249C3C) - 1];
window->flags &= ~0x8;
}
}
void filemenu_update_show_title(
s32 windowIdx,
s32* flags,
s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY,
s32* rotX, f32* rotY, s32* rotZ,
s32* darkening,
s32* opacity
) {
Window* window = &gWindows[windowIdx];
s32 updateCounter = window->updateCounter;
if (updateCounter == 0) {
window->flags &= ~0x4;
}
if (updateCounter < ARRAY_COUNT(D_80249C5C)) {
*posY -= D_80249C5C[updateCounter];
} else {
*posY -= D_80249C5C[ARRAY_COUNT(D_80249C5C) - 1];
window->flags &= ~0x8;
}
}
void func_802435C4(
s32 windowIdx,
s32* flags,
s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY,
s32* rotX, f32* rotY, s32* rotZ,
s32* darkening,
s32* opacity
) {
Window* window = &gWindows[windowIdx];
s32 updateCounter = window->updateCounter;
if (updateCounter < ARRAY_COUNT(D_80249C7C)) {
*posX += D_80249C7C[updateCounter];
} else {
*posX += D_80249C7C[ARRAY_COUNT(D_80249C7C) - 1];
window->flags &= ~0x8;
window->flags |= 0x4;
}
}
void filemenu_update_hidden_name_input(
s32 windowIdx,
s32* flags,
s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY,
s32* rotX, f32* rotY, s32* rotZ,
s32* darkening,
s32* opacity
) {
Window* window = &gWindows[windowIdx];
s32 updateCounter = window->updateCounter;
if (updateCounter < ARRAY_COUNT(D_80249C90)) {
*posX -= D_80249C90[updateCounter];
} else {
*posX -= D_80249C90[ARRAY_COUNT(D_80249C90) - 1];
window->flags &= ~0x8;
window->flags |= 0x4;
}
}
void filemenu_update_hidden_options_left(
s32 windowIdx,
s32* flags,
s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY,
s32* rotX, f32* rotY, s32* rotZ,
s32* darkening,
s32* opacity
) {
Window* window = &gWindows[windowIdx];
s32 updateCounter = window->updateCounter;
if (updateCounter < ARRAY_COUNT(D_80249CA4)) {
*posX += D_80249CA4[updateCounter];
} else {
*posX += D_80249CA4[ARRAY_COUNT(D_80249CA4) - 1];
window->flags &= ~0x8;
window->flags |= 0x4;
}
}
void filemenu_update_hidden_options_right(
s32 windowIdx,
s32* flags,
s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY,
s32* rotX, f32* rotY, s32* rotZ,
s32* darkening,
s32* opacity
) {
Window* window = &gWindows[windowIdx];
s32 updateCounter = window->updateCounter;
if (updateCounter < ARRAY_COUNT(D_80249CB8)) {
*posX -= D_80249CB8[updateCounter];
} else {
*posX -= D_80249CB8[ARRAY_COUNT(D_80249CB8) - 1];
window->flags &= ~0x8;
window->flags |= 0x4;
}
}
void filemenu_update_hidden_title(
s32 windowIdx,
s32* flags,
s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY,
s32* rotX, f32* rotY, s32* rotZ,
s32* darkening,
s32* opacity
) {
Window* window = &gWindows[windowIdx];
s32 updateCounter = window->updateCounter;
if (updateCounter < ARRAY_COUNT(D_80249CCC)) {
*posY += D_80249CCC[updateCounter];
} else {
*posY += D_80249CCC[ARRAY_COUNT(D_80249CCC) - 1];
window->flags &= ~0x8;
window->flags |= 0x4;
}
}
void filemenu_update_hidden_options_bottom(
s32 windowIdx,
s32* flags,
s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY,
s32* rotX, f32* rotY, s32* rotZ,
s32* darkening,
s32* opacity
) {
Window* window = &gWindows[windowIdx];
s32 updateCounter = window->updateCounter;
if (updateCounter < ARRAY_COUNT(D_80249CE0)) {
*posY -= D_80249CE0[updateCounter];
} else {
*posY -= D_80249CE0[ARRAY_COUNT(D_80249CE0) - 1];
window->flags &= ~0x8;
window->flags |= 0x4;
}
}
void filemenu_update_show_with_rotation(
s32 windowIdx,
s32* flags,
s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY,
s32* rotX, f32* rotY, s32* rotZ,
s32* darkening,
s32* opacity
) {
Window* window = &gWindows[windowIdx];
s32 updateCounter = window->updateCounter;
if (updateCounter == 0) {
window->flags &= ~0x4;
}
if (updateCounter < ARRAY_COUNT(D_80249CF4)) {
*rotY += D_80249CF4[updateCounter];
*flags = 8 | 1;
} else {
*flags = 0;
window->flags &= ~0x8;
}
}
void filemenu_update_hidden_with_rotation(
s32 windowIdx,
s32* flags,
s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY,
s32* rotX, f32* rotY, s32* rotZ,
s32* darkening,
s32* opacity
) {
Window* window = &gWindows[windowIdx];
s32 updateCounter = window->updateCounter;
if (updateCounter < 10) { // TODO: array count?
*rotY += -D_80249D14[updateCounter];
*flags = 8 | 1;
} else {
*flags = 0;
window->flags &= ~0x8;
window->flags |= 0x4;
}
}
INCLUDE_ASM(s32, "163400", filemenu_update_select_file); INCLUDE_ASM(s32, "163400", filemenu_update_select_file);
@ -49,13 +409,50 @@ INCLUDE_ASM(s32, "163400", filemenu_update_deselect_file);
INCLUDE_ASM(s32, "163400", filemenu_update_show_name_confirm); INCLUDE_ASM(s32, "163400", filemenu_update_show_name_confirm);
INCLUDE_ASM(s32, "163400", filemenu_update_hidden_name_confirm); void filemenu_update_hidden_name_confirm(
s32 windowIdx,
s32* flags,
s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY,
s32* rotX, f32* rotY, s32* rotZ,
s32* darkening,
s32* opacity
) {
Window* window = &gWindows[windowIdx];
s32 updateCounter = window->updateCounter;
INCLUDE_ASM(s32, "163400", filemenu_draw_cursor); if (updateCounter < ARRAY_COUNT(D_80249D48)) {
gDPPipeSync(gMasterGfxPos++);
gDPSetCycleType(gMasterGfxPos++, G_CYC_1CYCLE);
gDPSetCombineMode(gMasterGfxPos++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
gDPSetRenderMode(gMasterGfxPos++, G_RM_CLD_SURF, G_RM_CLD_SURF2);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, 140 - (updateCounter * 14));
mainmenu_draw_rect(0, 0, 1280, 960, 0, 0, 0, 0, 0);
*posY -= D_80249D48[updateCounter];
} else {
window->flags &= ~0x8;
window->flags |= 0x4;
}
}
void filemenu_draw_cursor(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
s32 temp_a1;
filemenu_update_cursor();
temp_a1 = *D_80249B9C;
if (temp_a1 > 0) {
if (temp_a1 > 255) {
temp_a1 = 255;
}
set_hud_element_alpha(filemenu_cursorHudElemID, temp_a1);
set_hud_element_render_pos(filemenu_cursorHudElemID, baseX + D_80249B94, baseY + D_80249B98);
draw_hud_element_3(filemenu_cursorHudElemID);
}
}
INCLUDE_ASM(s32, "163400", filemenu_draw_contents_copy_arrow); INCLUDE_ASM(s32, "163400", filemenu_draw_contents_copy_arrow);
INCLUDE_ASM(void, "163400", filemenu_init, s32 arg0); INCLUDE_ASM(void, "163400", filemenu_init);
INCLUDE_ASM(s32, "163400", filemenu_cleanup); INCLUDE_ASM(s32, "163400", filemenu_cleanup);

View File

@ -1,10 +1,37 @@
#include "common.h" #include "common.h"
#include "filemenu.h"
INCLUDE_ASM(s32, "165490", filemenu_draw_contents_title); INCLUDE_ASM(s32, "165490", filemenu_draw_contents_title);
INCLUDE_ASM(s32, "165490", filemenu_draw_contents_stereo); void filemenu_draw_contents_stereo(
MenuPanel* menu,
s32 baseX, s32 baseY,
s32 width, s32 height,
s32 opacity, s32 darkening
) {
if (gGameStatusPtr->unk_AB == 1) {
set_hud_element_render_pos(filemenu_hudElemIDs[18], baseX + 34, baseY + 10);
draw_hud_element_3(filemenu_hudElemIDs[18]);
} else {
set_hud_element_render_pos(filemenu_hudElemIDs[19], baseX + 34, baseY + 10);
draw_hud_element_3(filemenu_hudElemIDs[19]);
}
}
INCLUDE_ASM(s32, "165490", filemenu_draw_contents_mono); void filemenu_draw_contents_mono(
MenuPanel* menu,
s32 baseX, s32 baseY,
s32 width, s32 height,
s32 opacity, s32 darkening
) {
if (gGameStatusPtr->unk_AB == 0) {
set_hud_element_render_pos(filemenu_hudElemIDs[16], baseX + 34, baseY + 10);
draw_hud_element_3(filemenu_hudElemIDs[16]);
} else {
set_hud_element_render_pos(filemenu_hudElemIDs[17], baseX + 34, baseY + 10);
draw_hud_element_3(filemenu_hudElemIDs[17]);
}
}
INCLUDE_ASM(s32, "165490", filemenu_draw_contents_option_left); INCLUDE_ASM(s32, "165490", filemenu_draw_contents_option_left);
@ -16,21 +43,77 @@ INCLUDE_ASM(s32, "165490", filemenu_draw_contents_file_info);
INCLUDE_ASM(s32, "165490", filemenu_draw_contents_file_title); INCLUDE_ASM(s32, "165490", filemenu_draw_contents_file_title);
INCLUDE_ASM(s32, "165490", filemenu_draw_contents_file_0_info); void filemenu_draw_contents_file_0_info(
MenuPanel* menu,
s32 baseX, s32 baseY,
s32 width, s32 height,
s32 opacity, s32 darkening
) {
filemenu_draw_contents_file_info(0, menu, baseX, baseY, width, height, opacity, darkening);
}
INCLUDE_ASM(s32, "165490", filemenu_draw_contents_file_1_info); void filemenu_draw_contents_file_1_info(
MenuPanel* menu,
s32 baseX, s32 baseY,
s32 width, s32 height,
s32 opacity, s32 darkening
) {
filemenu_draw_contents_file_info(1, menu, baseX, baseY, width, height, opacity, darkening);
}
INCLUDE_ASM(s32, "165490", filemenu_draw_contents_file_2_info); void filemenu_draw_contents_file_2_info(
MenuPanel* menu,
s32 baseX, s32 baseY,
s32 width, s32 height,
s32 opacity, s32 darkening
) {
filemenu_draw_contents_file_info(2, menu, baseX, baseY, width, height, opacity, darkening);
}
INCLUDE_ASM(s32, "165490", filemenu_draw_contents_file_3_info); void filemenu_draw_contents_file_3_info(
MenuPanel* menu,
s32 baseX, s32 baseY,
s32 width, s32 height,
s32 opacity, s32 darkening
) {
filemenu_draw_contents_file_info(3, menu, baseX, baseY, width, height, opacity, darkening);
}
INCLUDE_ASM(s32, "165490", filemenu_draw_contents_file_0_title); void filemenu_draw_contents_file_0_title(
MenuPanel* menu,
s32 baseX, s32 baseY,
s32 width, s32 height,
s32 opacity, s32 darkening
) {
filemenu_draw_contents_file_title(0, menu, baseX, baseY, width, height, opacity, darkening);
}
INCLUDE_ASM(s32, "165490", filemenu_draw_contents_file_1_title); void filemenu_draw_contents_file_1_title(
MenuPanel* menu,
s32 baseX, s32 baseY,
s32 width, s32 height,
s32 opacity, s32 darkening
) {
filemenu_draw_contents_file_title(1, menu, baseX, baseY, width, height, opacity, darkening);
}
INCLUDE_ASM(s32, "165490", filemenu_draw_contents_file_2_title); void filemenu_draw_contents_file_2_title(
MenuPanel* menu,
s32 baseX, s32 baseY,
s32 width, s32 height,
s32 opacity, s32 darkening
) {
filemenu_draw_contents_file_title(2, menu, baseX, baseY, width, height, opacity, darkening);
}
INCLUDE_ASM(s32, "165490", filemenu_draw_contents_file_3_title); void filemenu_draw_contents_file_3_title(
MenuPanel* menu,
s32 baseX, s32 baseY,
s32 width, s32 height,
s32 opacity, s32 darkening
) {
filemenu_draw_contents_file_title(3, menu, baseX, baseY, width, height, opacity, darkening);
}
INCLUDE_ASM(s32, "165490", filemenu_main_init); INCLUDE_ASM(s32, "165490", filemenu_main_init);
@ -38,4 +121,10 @@ INCLUDE_ASM(s32, "165490", filemenu_main_handle_input);
INCLUDE_ASM(s32, "165490", filemenu_main_update); INCLUDE_ASM(s32, "165490", filemenu_main_update);
INCLUDE_ASM(s32, "165490", filemenu_main_cleanup); void filemenu_main_cleanup(void) {
s32 i;
for (i = 0; i < ARRAY_COUNT(filemenu_hudElemIDs); i++) {
free_hud_element(filemenu_hudElemIDs[i]);
}
}

View File

@ -1,4 +1,5 @@
#include "common.h" #include "common.h"
#include "filemenu.h"
INCLUDE_ASM(s32, "167570", filemenu_yesno_draw_options_contents); INCLUDE_ASM(s32, "167570", filemenu_yesno_draw_options_contents);

View File

@ -1,10 +1,98 @@
#include "common.h" #include "common.h"
#include "filemenu.h"
INCLUDE_ASM(s32, "168590", filemenu_info_draw_message_contents); extern MenuWindowBP D_8024A134[1];
INCLUDE_ASM(s32, "168590", filemenu_info_init); extern s32 filemenu_iterFileIdx;
extern s32 filemenu_pressedButtons;
extern s8 D_8024C090;
extern s32 filemenu_loadedFileIdx;
extern s8 D_8024C098_C09918;
extern s32 D_8024C100_C09980[3];
extern s32 D_8024C110;
INCLUDE_ASM(s32, "168590", filemenu_info_handle_input); s32 filemenu_get_menu_message(s32 index);
void filemenu_update_show_options_left(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX,
s32* scaleY, s32* rotX, s32* rotY, s32* rotZ, s32* darkening, s32* opacity);
void filemenu_update_show_options_right(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX,
s32* scaleY, s32* rotX, s32* rotY, s32* rotZ, s32* darkening, s32* opacity);
void filemenu_update_show_options_bottom(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX,
s32* scaleY, s32* rotX, s32* rotY, s32* rotZ, s32* darkening, s32* opacity);
void filemenu_info_draw_message_contents(MenuPanel* menu, s32 baseX, s32 baseY) {
s8 page = menu->page;
switch (page) {
case 0:
filemenu_draw_message(filemenu_get_menu_message(0x1A), baseX + 10, baseY + 4, 255, 0, 0);
draw_number(filemenu_menus[0]->selected + 1, baseX + 48, baseY + 6, 0, 0, 255, 3);
filemenu_draw_message(filemenu_get_menu_message(0x1B), baseX + 49, baseY + 4, 255, 0, 0);
break;
case 2:
filemenu_draw_message(filemenu_get_menu_message(0x1D), baseX + 10, baseY + 4, 255, 0, 0);
filemenu_draw_message(filemenu_get_menu_message(0x1A), baseX + 84, baseY + 4, 255, 0, 0);
draw_number(filemenu_loadedFileIdx + 1, baseX + 122, baseY + 6, 0, 0, 255, 3);
filemenu_draw_message(filemenu_get_menu_message(0x1E), baseX + 10, baseY + 18, 255, 0, 0);
filemenu_draw_message(filemenu_get_menu_message(0x1A), baseX + 30, baseY + 18, 255, 0, 0);
draw_number(filemenu_iterFileIdx + 1, baseX + 68, baseY + 20, 0, 0, 255, 3);
filemenu_draw_message(filemenu_get_menu_message(0x22), baseX + 65, baseY + 18, 255, 0, 0);
break;
case 1:
filemenu_draw_message(filemenu_get_menu_message(0x1C), baseX + 10, baseY + 4, 255, 0, 0);
break;
case 3:
filemenu_draw_message(filemenu_get_menu_message(0x1A), baseX + 10, baseY + 4, 255, 0, 0);
draw_number(filemenu_menus[0]->selected + 1, baseX + 48, baseY + 6, 0, 0, 255, page);
filemenu_draw_message(filemenu_get_menu_message(0x1F), baseX + 49, baseY + 4, 255, 0, 0);
break;
}
filemenu_set_cursor_alpha(0);
}
void filemenu_info_init(s8* tab) {
s32 i;
for (i = 0; i < ARRAY_COUNT(D_8024A134); i++) {
D_8024A134[i].tab = tab;
}
setup_pause_menu_tab(D_8024A134, 1);
*tab = 1;
}
void filemenu_info_handle_input(void) {
if (filemenu_pressedButtons & (BUTTON_A | BUTTON_B)) {
MenuPanel* menu = filemenu_menus[0];
s32 page;
D_8024C098_C09918 = 0;
page = menu->page;
switch(page) {
case 1:
menu->page = 0;
set_window_update(0x33, filemenu_update_show_options_left);
set_window_update(0x34, filemenu_update_show_options_right);
set_window_update(0x35, filemenu_update_show_options_bottom);
set_window_update(0x37, filemenu_update_show_options_bottom);
filemenu_set_selected(menu, 0, 2);
break;
case 4:
menu->page = 0;
set_window_update(0x33, filemenu_update_show_options_left);
set_window_update(0x34, filemenu_update_show_options_right);
set_window_update(0x35, filemenu_update_show_options_bottom);
set_window_update(0x37, filemenu_update_show_options_bottom);
filemenu_set_selected(menu, 1, 2);
break;
case 2:
menu->page = page;
filemenu_set_selected(menu, 1, 2);
break;
}
set_window_update(0x2F, 2);
}
}
void filemenu_info_update(void) { void filemenu_info_update(void) {
} }
@ -21,7 +109,36 @@ void func_80248170(s32 idx) {
} }
} }
INCLUDE_ASM(s32, "168590", filemenu_draw_contents_file_create_header); void filemenu_draw_contents_file_create_header(MenuPanel* menu, s32 baseX, s32 baseY) {
s32 xOffset;
s32 yOffset;
s32 i;
s32 tempAmt;
filemenu_draw_message(filemenu_get_menu_message(0x20), baseX + 10, baseY + 6, 255, 0, 0);
filemenu_draw_file_name(&D_8024C110, 8, baseX + 36, baseY + 22, 255, 0, 0, 0xB);
xOffset = 41;
for (i = 0; i < 8; i++) {
set_hud_element_render_pos(D_8024C100_C09980[1], baseX + 42 + (i * 11), baseY + xOffset);
if (i == 0) {
draw_hud_element_3(D_8024C100_C09980[1]);
} else {
draw_hud_element_2(D_8024C100_C09980[1]);
}
}
tempAmt = 8;
if (D_8024C098_C09918 == 3) {
s32 phi_v0 = 122;
if (D_8024C090 != tempAmt) {
phi_v0 = (D_8024C090 * 0xB) + 45;
}
set_hud_element_render_pos(D_8024C100_C09980[0], baseX + phi_v0, baseY + 45);
draw_hud_element_2(D_8024C100_C09980[0]);
}
}
INCLUDE_ASM(s32, "168590", filemenu_draw_contents_choose_name); INCLUDE_ASM(s32, "168590", filemenu_draw_contents_choose_name);
@ -32,4 +149,10 @@ INCLUDE_ASM(s32, "168590", filemenu_choose_name_handle_input);
void filemenu_choose_name_update(void) { void filemenu_choose_name_update(void) {
} }
INCLUDE_ASM(s32, "168590", filemenu_choose_name_cleanup); void filemenu_choose_name_cleanup(void) {
s32 i;
for (i = 0; i < ARRAY_COUNT(D_8024C100_C09980); i++) {
free_hud_element(D_8024C100_C09980[i]);
}
}

View File

@ -179,6 +179,7 @@ void copy_matrix(Matrix4f src, Matrix4f dest) {
bcopy(src, dest, sizeof(Matrix4f)); bcopy(src, dest, sizeof(Matrix4f));
} }
// maybe u32
s32 dma_copy(Addr romStart, Addr romEnd, void* vramDest) { s32 dma_copy(Addr romStart, Addr romEnd, void* vramDest) {
u32 length = romEnd - romStart; u32 length = romEnd - romStart;
s32 i; s32 i;

View File

@ -19,7 +19,7 @@ void update_cameras(void) {
gCurrentCamID = i; gCurrentCamID = i;
switch (cam->mode) { switch (cam->updateMode) {
case 3: case 3:
update_camera_zone_interp(cam); update_camera_zone_interp(cam);
break; break;
@ -70,9 +70,9 @@ void update_cameras(void) {
} }
get_screen_coords(0, cam->targetPos.x, cam->targetPos.y, cam->targetPos.z, &sx, &sy, &sz); get_screen_coords(0, cam->targetPos.x, cam->targetPos.y, cam->targetPos.z, &sx, &sy, &sz);
cam->targetScreenCoords[0] = sx; cam->targetScreenCoords.x = sx;
cam->targetScreenCoords[1] = sy; cam->targetScreenCoords.y = sy;
cam->targetScreenCoords[2] = sz; cam->targetScreenCoords.z = sz;
} }
} }
@ -111,7 +111,7 @@ void render_frame(s32 flag) {
s32 lrx; s32 lrx;
s32 lry; s32 lry;
gSPViewport(gMasterGfxPos++, &camera->viewport); gSPViewport(gMasterGfxPos++, &camera->vp);
gSPClearGeometryMode(gMasterGfxPos++, G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | gSPClearGeometryMode(gMasterGfxPos++, G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH); G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH);
gSPTexture(gMasterGfxPos++, 0, 0, 0, G_TX_RENDERTILE, G_OFF); gSPTexture(gMasterGfxPos++, 0, 0, 0, G_TX_RENDERTILE, G_OFF);
@ -178,8 +178,8 @@ void render_frame(s32 flag) {
camera->unkMatrix = &gDisplayContext->matrixStack[gMatrixListPos]; camera->unkMatrix = &gDisplayContext->matrixStack[gMatrixListPos];
matrixListPos = gMatrixListPos++; matrixListPos = gMatrixListPos++;
guRotate(&gDisplayContext->matrixStack[matrixListPos], -camera->trueRotation.x, 0.0f, 1.0f, 0.0f); guRotate(&gDisplayContext->matrixStack[matrixListPos], -camera->trueRotation.x, 0.0f, 1.0f, 0.0f);
camera->vpAlt.vp.vtrans[0] = camera->viewport.vp.vtrans[0] + gGameStatusPtr->unk_82; camera->vpAlt.vp.vtrans[0] = camera->vp.vp.vtrans[0] + gGameStatusPtr->unk_82;
camera->vpAlt.vp.vtrans[1] = camera->viewport.vp.vtrans[1] + gGameStatusPtr->unk_83; camera->vpAlt.vp.vtrans[1] = camera->vp.vp.vtrans[1] + gGameStatusPtr->unk_83;
if (!(camera->flags & CAM_FLAG_ORTHO)) { if (!(camera->flags & CAM_FLAG_ORTHO)) {
if (gCurrentCamID != CAM_CAM3) { if (gCurrentCamID != CAM_CAM3) {
@ -359,7 +359,7 @@ Camera* initialize_next_camera(CameraInitData* initData) {
camera->trueRotation.x = 0.0f; camera->trueRotation.x = 0.0f;
camera->trueRotation.y = 0.0f; camera->trueRotation.y = 0.0f;
camera->trueRotation.z = 0.0f; camera->trueRotation.z = 0.0f;
camera->mode = initData->type; camera->updateMode = initData->type;
camera->unk_06 = 1; camera->unk_06 = 1;
camera->nearClip = initData->nearClip; camera->nearClip = initData->nearClip;
camera->farClip = initData->farClip; camera->farClip = initData->farClip;
@ -392,7 +392,7 @@ Camera* initialize_next_camera(CameraInitData* initData) {
camera->unk_52C = 0; camera->unk_52C = 0;
camera->aabbForZoneBelow = 0; camera->aabbForZoneBelow = 0;
camera->unk_506 = 0; camera->unk_506 = 0;
camera->boolTargetPlayer = 0; camera->followPlayer = 0;
camera->unk_C4 = 1000.0f; camera->unk_C4 = 1000.0f;
camera->unk_520 = 0.2f; camera->unk_520 = 0.2f;
camera->moveSpeed = 1.0f; camera->moveSpeed = 1.0f;
@ -409,15 +409,15 @@ void set_cam_viewport(s16 id, s16 x, s16 y, s16 width, s16 height) {
camera->viewportStartX = x; camera->viewportStartX = x;
camera->viewportStartY = y; camera->viewportStartY = y;
camera->viewport.vp.vscale[0] = 2.0f * camera->viewportW; camera->vp.vp.vscale[0] = 2.0f * camera->viewportW;
camera->viewport.vp.vscale[1] = 2.0f * camera->viewportH; camera->vp.vp.vscale[1] = 2.0f * camera->viewportH;
camera->viewport.vp.vscale[2] = 0x1FF; camera->vp.vp.vscale[2] = 0x1FF;
camera->viewport.vp.vscale[3] = 0; camera->vp.vp.vscale[3] = 0;
camera->viewport.vp.vtrans[0] = (((camera->viewportStartX + (camera->viewportW / 2)) << 16) >> 14); camera->vp.vp.vtrans[0] = (((camera->viewportStartX + (camera->viewportW / 2)) << 16) >> 14);
camera->viewport.vp.vtrans[1] = (((camera->viewportStartY + (camera->viewportH / 2)) << 16) >> 14); camera->vp.vp.vtrans[1] = (((camera->viewportStartY + (camera->viewportH / 2)) << 16) >> 14);
camera->viewport.vp.vtrans[2] = 0x1FF; camera->vp.vp.vtrans[2] = 0x1FF;
camera->viewport.vp.vtrans[3] = 0; camera->vp.vp.vtrans[3] = 0;
camera->vpAlt.vp.vscale[0] = 2.0f * camera->viewportW; camera->vpAlt.vp.vscale[0] = 2.0f * camera->viewportW;
camera->vpAlt.vp.vscale[1] = 2.0f * camera->viewportH; camera->vpAlt.vp.vscale[1] = 2.0f * camera->viewportH;

View File

@ -1,7 +1,12 @@
#include "common.h" #include "common.h"
extern CamPosSettings blendedCamSettings;
extern f32 D_800A08DC;
extern f32 D_800A08E0;
void func_80030210(Camera* camera, f32 arg1, f32 arg2, s32 arg3); void func_80030210(Camera* camera, f32 arg1, f32 arg2, s32 arg3);
void update_camera_mode_unused(Camera* camera); void update_camera_mode_unused(Camera* camera);
// Issues with zero float temp? // Issues with zero float temp?
#ifdef NON_MATCHING #ifdef NON_MATCHING
@ -176,22 +181,370 @@ void func_8003034C(Camera* camera) {
} }
} }
void func_80030450(void) { void func_80030450(Camera* camera) {
} }
s32 test_ray_zone_aabb(f32 x, f32 y, f32 z) { CameraControlSettings* test_ray_zone_aabb(f32 x, f32 y, f32 z) {
f32 hitX, hitY, hitZ; f32 hitX, hitY, hitZ;
f32 hitDepth = 32767.0f; f32 hitDepth = 32767.0f;
f32 nx, ny, nz; f32 nx, ny, nz;
s32 zoneID = test_ray_zones(x, y, z, 0.0f, -1.0f, 0.0f, &hitX, &hitY, &hitZ, &hitDepth, &nx, &ny, &nz); s32 zoneID = test_ray_zones(x, y, z, 0.0f, -1.0f, 0.0f, &hitX, &hitY, &hitZ, &hitDepth, &nx, &ny, &nz);
if (zoneID < 0) { if (zoneID < 0) {
return 0; return NULL;
} }
return D_800D91D4[zoneID].unk_10; return D_800D91D4[zoneID].unk_10;
} }
void update_camera_from_controller(Camera*, CamPosSettings*, CameraControlSettings**, CamPosSettings*, CameraControlSettings**, f32, f32, f32, f32, f32, f32, s32, f32*, s32); // extern
INCLUDE_ASM(s32, "B0E0", update_camera_from_controller); INCLUDE_ASM(s32, "B0E0", update_camera_from_controller);
void update_camera_zone_interp(Camera* camera);
// Mostly issues with the switch
#ifdef NON_MATCHING
void update_camera_zone_interp(Camera* camera) {
CameraControlSettings* cs;
f32 targetX;
f32 targetY;
f32 targetZ;
f32 deltaX;
f32 deltaY;
f32 deltaZ;
f32 boomYawDiff;
f32 settingDiff;
f32 deltaSqSum;
f32 panPhase;
f32 temp_f20_2;
f32 temp_f22;
f32 temp_f22_3;
f32 temp_f22_4;
f32 cosNegViewPitch;
f32 sinNegViewPitch;
f32 temp_f24;
f32 temp_f24_2;
f32 temp_f26;
f32 temp_f4_4;
f32 interpAlpha;
f32 interpAlphaInv;
f32 temp_f8_2;
f64 temp_f22_2;
s32 cond2;
f32 posX;
f32 posY;
f32 posZ;
f32 tX;
f32 tY;
f32 tZ;
s32 changingZone;
f32 dist;
targetX = camera->targetPos.x;
targetY = camera->targetPos.y;
targetZ = camera->targetPos.z;
changingZone = FALSE;
if (camera->changingMap) {
camera->currentController = NULL;
camera->prevController = NULL;
camera->linearInterp = 0.0f;
camera->unk_494 = 0.0f;
camera->savedTargetY = targetY;
camera->unk_98 = 0;
camera->unk_9C = 0;
camera->unk_4A4 = 0.0f;
camera->unk_4A8 = 0.0f;
camera->unk_4AC = 0.0f;
camera->prevPrevFollowFlags = 0;
camera->prevFollowFlags = 0;
camera->panPhase = 0.0f;
D_800A08DC = 0.0f;
D_800A08E0 = 0.0f;
camera->interpAlpha = 1.0f;
camera->unk_498 = 1.0f;
camera->linearInterpScale = 1.0f;
}
if (camera->moveFlags & 1) {
camera->unk_498 = 0.0f;
} else if (camera->unk_494 != targetY) {
camera->unk_494 = targetY;
camera->unk_498 = 0.0f;
}
if (targetY < camera->unk_494 && targetY <= camera->savedTargetY) {
camera->unk_494 = targetY;
camera->unk_498 = 1.0f;
}
camera->unk_498 += (1.01 - camera->unk_498) / camera->unk_49C;
if (camera->unk_498 > 1.0) {
camera->unk_498 = 1.0f;
}
if (camera->moveFlags & 4) {
camera->unk_498 += 0.3;
if (camera->unk_498 >= 1.0) {
camera->unk_498 = 1.0f;
}
}
if (!(camera->moveFlags & 2)) {
camera->savedTargetY += (camera->unk_494 - camera->savedTargetY) * camera->unk_498;
}
if (camera->unk_506 != 0 || camera->unk_4A4 != targetX || camera->unk_4A8 != targetY ||
camera->unk_4AC != targetZ || camera->changingMap) {
if (camera->followPlayer) {
cs = &camera->controlSettings;
} else {
cs = test_ray_zone_aabb(targetX, targetY + 10.0f, targetZ);
}
cond2 = FALSE;
if (cs != NULL && camera->currentController != NULL && cs->type == camera->currentController->type &&
cs->flag == camera->currentController->flag && cs->boomLength == camera->currentController->boomLength &&
cs->boomPitch == camera->currentController->boomPitch &&
cs->viewPitch == camera->currentController->viewPitch) {
switch (cs->type) {
case 0:
if (cs->posA.x == camera->currentController->posA.x &&
cs->posA.z == camera->currentController->posA.z &&
cs->posB.x == camera->currentController->posB.x &&
cs->posB.z == camera->currentController->posB.z) {
cond2 = TRUE;
}
break;
case 1:
if (!cs->flag) {
if (cs->posA.x == camera->currentController->posA.x &&
cs->posA.z == camera->currentController->posA.z) {
cond2 = TRUE;
}
} else {
if (cs->posA.x == camera->currentController->posA.x &&
cs->posA.z == camera->currentController->posA.z &&
cs->posB.x == camera->currentController->posB.x &&
cs->posB.z == camera->currentController->posB.z) {
cond2 = TRUE;
}
}
break;
default:
if (cs->posA.x == camera->currentController->posA.x &&
cs->posA.z == camera->currentController->posA.z &&
cs->posA.y == camera->currentController->posA.y &&
cs->posB.y == camera->currentController->posB.y &&
cs->posB.x == camera->currentController->posB.x &&
cs->posB.z == camera->currentController->posB.z) {
cond2 = TRUE;
}
break;
}
}
if (camera->unk_506 != 0 || (!cond2 && cs != camera->currentController)) {
if (camera->interpAlpha == 1.0f) {
camera->prevController = camera->currentController;
} else {
camera->prevController = (CameraControlSettings*)-1;
}
camera->oldCameraSettings = blendedCamSettings;
changingZone = TRUE;
camera->currentController = cs;
camera->interpAlpha = 0.0f;
camera->linearInterp = 0.0f;
camera->unk_506 = 0;
camera->linearInterpScale = camera->moveSpeed;
camera->prevPrevFollowFlags = camera->prevFollowFlags;
camera->prevFollowFlags = camera->followPlayer;
camera->prevPrevMovePos.x = camera->prevMovePos.x;
camera->prevPrevMovePos.y = camera->prevMovePos.y;
camera->prevPrevMovePos.z = camera->prevMovePos.z;
camera->prevMovePos.x = camera->movePos.x;
camera->prevMovePos.y = camera->movePos.y;
camera->prevMovePos.z = camera->movePos.z;
}
}
posX = targetX;
if (camera->prevPrevFollowFlags) {
posX = camera->prevPrevMovePos.x;
posY = camera->prevPrevMovePos.y;
posZ = camera->prevPrevMovePos.z;
} else {
posY = camera->savedTargetY;
posZ = targetZ;
}
tX = targetX;
if (camera->prevFollowFlags) {
camera->savedTargetY = camera->prevMovePos.y;
tX = camera->prevMovePos.x;
tY = camera->savedTargetY;
tZ = camera->prevMovePos.z;
} else {
tY = camera->savedTargetY;
tZ = targetZ;
}
update_camera_from_controller(camera, &camera->oldCameraSettings, &camera->prevController,
&camera->newCameraSettings, &camera->currentController, posX, posY, posZ, tX, tY, tZ,
camera->changingMap, &camera->interpAlpha, changingZone);
if (camera->changingMap) {
camera->oldCameraSettings = camera->newCameraSettings;
camera->changingMap = FALSE;
camera->interpAlpha = 1.0f;
}
if (camera->oldCameraSettings.boomYaw - camera->newCameraSettings.boomYaw > 180.0f) {
camera->oldCameraSettings.boomYaw -= 360.0f;
}
if (camera->oldCameraSettings.boomYaw - camera->newCameraSettings.boomYaw < -180.0f) {
camera->oldCameraSettings.boomYaw += 360.0f;
}
boomYawDiff = camera->oldCameraSettings.boomYaw - camera->newCameraSettings.boomYaw;
if (boomYawDiff < 0.0f) {
boomYawDiff = -boomYawDiff;
}
if (boomYawDiff > 180.0f) {
boomYawDiff = 360.0f - boomYawDiff;
}
settingDiff = camera->oldCameraSettings.boomPitch - camera->newCameraSettings.boomPitch;
if (settingDiff < 0.0f) {
settingDiff = -settingDiff;
}
if (settingDiff > 180.0f) {
settingDiff = 360.0f - settingDiff;
}
if (boomYawDiff < settingDiff) {
boomYawDiff = settingDiff;
}
settingDiff = camera->oldCameraSettings.viewPitch - camera->newCameraSettings.viewPitch;
if (settingDiff < 0.0f) {
settingDiff = -settingDiff;
}
if (settingDiff > 180.0f) {
settingDiff = 360.0f - settingDiff;
}
if (boomYawDiff < settingDiff) {
boomYawDiff = settingDiff;
}
settingDiff = camera->oldCameraSettings.boomLength - camera->newCameraSettings.boomLength;
if (settingDiff < 0.0f) {
settingDiff = -settingDiff;
}
if (boomYawDiff < settingDiff) {
boomYawDiff = settingDiff;
}
deltaX = camera->oldCameraSettings.position.x - camera->newCameraSettings.position.x;
deltaY = camera->oldCameraSettings.position.y - camera->newCameraSettings.position.y;
deltaZ = camera->oldCameraSettings.position.z - camera->newCameraSettings.position.z;
deltaSqSum = SQ(deltaX) + SQ(deltaY) + SQ(deltaZ);
if (deltaSqSum != 0.0f) {
deltaSqSum = sqrtf(deltaSqSum) * 0.2;
}
if (boomYawDiff < deltaSqSum) {
boomYawDiff = deltaSqSum;
}
if (boomYawDiff > 90.0f) {
boomYawDiff = 90.0f;
}
if (boomYawDiff < 20.0f) {
boomYawDiff = 20.0f;
}
if (boomYawDiff != 0.0f) {
camera->linearInterp += (1.0f / boomYawDiff) * camera->linearInterpScale;
if (camera->linearInterp > 1.0f) {
camera->linearInterp = 1.0f;
}
}
if (camera->interpAlpha < 1.0) {
panPhase = camera->panPhase;
temp_f22 = panPhase * PI_D;
temp_f24 = 2.0f / (cos_rad(temp_f22) + 1.0f);
temp_f22_2 = cos_rad((camera->linearInterp * PI_D * (1.0f - panPhase)) + temp_f22);
camera->interpAlpha = (2.0f - ((f32) ((temp_f22_2 + ((1.0 - cos_rad(temp_f22)) * 0.5)) * temp_f24) + 1.0f)) * 0.5001;
}
if (camera->interpAlpha >= 1.0f) {
camera->interpAlpha = 1.0f;
camera->linearInterp = 0.0f;
}
interpAlpha = camera->interpAlpha;
interpAlphaInv = 1.0f - interpAlpha;
camera->unk_4A4 = targetX;
camera->unk_4A8 = targetY;
camera->unk_4AC = targetZ;
blendedCamSettings.boomYaw = (camera->oldCameraSettings.boomYaw * interpAlphaInv) + (camera->newCameraSettings.boomYaw * interpAlpha);
blendedCamSettings.boomLength = (camera->oldCameraSettings.boomLength * interpAlphaInv) + (camera->newCameraSettings.boomLength * interpAlpha);
blendedCamSettings.boomPitch = (camera->oldCameraSettings.boomPitch * interpAlphaInv) + (camera->newCameraSettings.boomPitch * interpAlpha);
blendedCamSettings.viewPitch = (camera->oldCameraSettings.viewPitch * interpAlphaInv) + (camera->newCameraSettings.viewPitch * interpAlpha);
blendedCamSettings.position.x = (camera->oldCameraSettings.position.x * interpAlphaInv) + (camera->newCameraSettings.position.x * interpAlpha);
blendedCamSettings.position.y = (camera->oldCameraSettings.position.y * interpAlphaInv) + (camera->newCameraSettings.position.y * interpAlpha);
blendedCamSettings.position.z = (camera->oldCameraSettings.position.z * interpAlphaInv) + (camera->newCameraSettings.position.z * interpAlpha);
blendedCamSettings.boomLength *= camera->zoomPercent;
blendedCamSettings.boomLength *= 0.01;
func_80030450(camera);
temp_f20_2 = blendedCamSettings.boomYaw + D_800A08E0;
temp_f26 = sin_deg(temp_f20_2);
temp_f24_2 = -cos_deg(temp_f20_2);
temp_f22_3 = cos_deg(blendedCamSettings.boomPitch + D_800A08DC);
temp_f22_4 = sin_deg(blendedCamSettings.boomPitch + D_800A08DC);
if (!(camera->moveFlags & 2)) {
camera->lookAt_eye.y = blendedCamSettings.position.y + (blendedCamSettings.boomLength * temp_f22_4);
}
camera->lookAt_eye.x = blendedCamSettings.position.x - (temp_f26 * blendedCamSettings.boomLength * temp_f22_3);
camera->lookAt_eye.z = blendedCamSettings.position.z - (temp_f24_2 * blendedCamSettings.boomLength * temp_f22_3);
cosNegViewPitch = cos_deg(-blendedCamSettings.viewPitch);
sinNegViewPitch = sin_deg(-blendedCamSettings.viewPitch);
if (camera->lookAt_eye.x == blendedCamSettings.position.x && camera->lookAt_eye.z == blendedCamSettings.position.z) {
dist = 0.0f;
} else {
dist = dist2D(camera->lookAt_eye.x, camera->lookAt_eye.z, blendedCamSettings.position.x, blendedCamSettings.position.z);
}
temp_f8_2 = blendedCamSettings.position.y - camera->lookAt_eye.y;
if (!(camera->moveFlags & 2)) {
camera->lookAt_obj.y = camera->lookAt_eye.y + ((dist * sinNegViewPitch) + (temp_f8_2 * cosNegViewPitch));
}
temp_f4_4 = (dist * cosNegViewPitch) - (temp_f8_2 * sinNegViewPitch);
camera->lookAt_obj.x = camera->lookAt_eye.x + (temp_f26 * temp_f4_4);
camera->lookAt_obj.z = camera->lookAt_eye.z + (temp_f24_2 * temp_f4_4);
camera->currentYaw = blendedCamSettings.boomYaw + D_800A08E0;
camera->trueRotation.x = camera->currentYaw;
camera->currentBoomLength = blendedCamSettings.boomLength;
camera->currentBlendedYawNegated = -blendedCamSettings.boomYaw;
camera->currentPitch = -blendedCamSettings.boomPitch - blendedCamSettings.viewPitch;
camera->unk_54 = camera->lookAt_obj.x;
camera->unk_58 = camera->lookAt_obj.y;
camera->unk_5C = camera->lookAt_obj.z;
camera->currentYOffset = 0.0f;
}
#else
INCLUDE_ASM(s32, "B0E0", update_camera_zone_interp); INCLUDE_ASM(s32, "B0E0", update_camera_zone_interp);
#endif

File diff suppressed because it is too large Load Diff

View File

@ -185,15 +185,10 @@ Gfx D_80077140[] = {
gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM),
gsDPSetRenderMode(G_RM_XLU_SURF, G_RM_XLU_SURF2), gsDPSetRenderMode(G_RM_XLU_SURF, G_RM_XLU_SURF2),
gsDPSetTextureLUT(G_TT_NONE), gsDPSetTextureLUT(G_TT_NONE),
gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_8b, ui_no_controller_png_width, ui_no_controller_png), gsDPLoadTextureTile(ui_no_controller_png, G_IM_FMT_IA, G_IM_SIZ_8b, ui_no_controller_png_width,
gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 16, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, 5, G_TX_NOLOD, ui_no_controller_png_height, 0, 0, ui_no_controller_png_width - 1,
G_TX_NOMIRROR | G_TX_CLAMP, 7, G_TX_NOLOD), ui_no_controller_png_height - 1, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, 7,
gsDPLoadSync(), 5, G_TX_NOLOD, G_TX_NOLOD),
gsDPLoadTile(G_TX_LOADTILE, 0, 0, 0x01FC, 0x007C),
gsDPPipeSync(),
gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 16, 0x0000, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, 5, G_TX_NOLOD,
G_TX_NOMIRROR | G_TX_CLAMP, 7, G_TX_NOLOD),
gsDPSetTileSize(G_TX_RENDERTILE, 0, 0, 0x01FC, 0x007C),
gsSPClearGeometryMode(G_CULL_BOTH | G_LIGHTING), gsSPClearGeometryMode(G_CULL_BOTH | G_LIGHTING),
gsSPSetGeometryMode(G_SHADE | G_SHADING_SMOOTH), gsSPSetGeometryMode(G_SHADE | G_SHADING_SMOOTH),
gsSPEndDisplayList(), gsSPEndDisplayList(),

View File

@ -427,7 +427,7 @@ void render_effects_UI(void) {
Camera* camera = &gCameras[gCurrentCameraID]; Camera* camera = &gCameras[gCurrentCameraID];
gDPPipeSync(gMasterGfxPos++); gDPPipeSync(gMasterGfxPos++);
gSPViewport(gMasterGfxPos++, &camera->viewport); gSPViewport(gMasterGfxPos++, &camera->vp);
gSPClearGeometryMode(gMasterGfxPos++, G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | gSPClearGeometryMode(gMasterGfxPos++, G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG |
G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD |
G_SHADING_SMOOTH | G_CLIPPING | 0x40F9FA); G_SHADING_SMOOTH | G_CLIPPING | 0x40F9FA);

View File

@ -48,9 +48,9 @@ ApiStatus SetCamPerspective(Evt* script, s32 isInitialCall) {
Camera* camera = &cameras[id]; Camera* camera = &cameras[id];
camera->farClip = farClip; camera->farClip = farClip;
camera->mode = mode; camera->updateMode = mode;
camera->unk_06 = 1; camera->unk_06 = 1;
camera->unk_08 = 1; camera->changingMap = TRUE;
camera->vfov = vfov; camera->vfov = vfov;
camera->nearClip = nearClip; camera->nearClip = nearClip;
return ApiStatus_DONE2; return ApiStatus_DONE2;
@ -63,7 +63,7 @@ ApiStatus func_802CA90C(Evt* script, s32 isInitialCall) {
Camera* cameras = gCameras; Camera* cameras = gCameras;
Camera* camera = &cameras[id]; Camera* camera = &cameras[id];
camera->mode = mode; camera->updateMode = mode;
camera->unk_06 = 0; camera->unk_06 = 0;
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }
@ -77,7 +77,7 @@ ApiStatus func_802CA988(Evt* script, s32 isInitialCall) {
Bytecode outVar4 = *args++; Bytecode outVar4 = *args++;
f32 temp1, temp2, temp3; f32 temp1, temp2, temp3;
gCameras[id].mode = 2; gCameras[id].updateMode = 2;
gCameras[id].unk_06 = 0; gCameras[id].unk_06 = 0;
gCameras[id].unk_1C = -round(gCameras[id].currentPitch); gCameras[id].unk_1C = -round(gCameras[id].currentPitch);
gCameras[id].unk_1E = -gCameras[id].currentBlendedYawNegated; gCameras[id].unk_1E = -gCameras[id].currentBlendedYawNegated;
@ -249,10 +249,10 @@ ApiStatus PanToTarget(Evt* script, s32 isInitialCall) {
camera->unk_506 = 1; camera->unk_506 = 1;
if (targetType != 0) { if (targetType != 0) {
camera->boolTargetPlayer = 1; camera->followPlayer = 1;
camera->panPhase = panPhase; camera->panPhase = panPhase;
} else { } else {
camera->boolTargetPlayer = 0; camera->followPlayer = 0;
camera->panPhase = 0.0f; camera->panPhase = 0.0f;
camera->moveSpeed = 1.0f; camera->moveSpeed = 1.0f;
} }
@ -271,8 +271,8 @@ ApiStatus SetCamType(Evt* script, s32 isInitialCall) {
s32 controllerType = evt_get_variable(script, *args++); s32 controllerType = evt_get_variable(script, *args++);
s32 enabled = evt_get_variable(script, *args++); s32 enabled = evt_get_variable(script, *args++);
camera->unk_500 = enabled; camera->controlSettings.flag = enabled;
camera->controllerType = controllerType; camera->controlSettings.type = controllerType;
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }
@ -284,8 +284,8 @@ ApiStatus SetCamPitch(Evt* script, s32 isInitialCall) {
f32 boomPitch = evt_get_float_variable(script, *args++); f32 boomPitch = evt_get_float_variable(script, *args++);
f32 viewPitch = evt_get_float_variable(script, *args++); f32 viewPitch = evt_get_float_variable(script, *args++);
camera->controllerBoomPitch = boomPitch; camera->controlSettings.boomPitch = boomPitch;
camera->controllerViewPitch = viewPitch; camera->controlSettings.viewPitch = viewPitch;
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }
@ -296,7 +296,7 @@ ApiStatus SetCamDistance(Evt* script, s32 isInitialCall) {
Camera* camera = &cameras[id]; Camera* camera = &cameras[id];
f32 boomLength = evt_get_float_variable(script, *args++); f32 boomLength = evt_get_float_variable(script, *args++);
camera->controllerBoomLen = boomLength; camera->controlSettings.boomLength = boomLength;
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }
@ -308,8 +308,8 @@ ApiStatus SetCamPosA(Evt* script, s32 isInitialCall) {
f32 x = evt_get_float_variable(script, *args++); f32 x = evt_get_float_variable(script, *args++);
f32 z = evt_get_float_variable(script, *args++); f32 z = evt_get_float_variable(script, *args++);
camera->posA.x = x; camera->controlSettings.posA.x = x;
camera->posA.z = z; camera->controlSettings.posA.z = z;
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }
@ -321,8 +321,8 @@ ApiStatus SetCamPosB(Evt* script, s32 isInitialCall) {
f32 x = evt_get_float_variable(script, *args++); f32 x = evt_get_float_variable(script, *args++);
f32 z = evt_get_float_variable(script, *args++); f32 z = evt_get_float_variable(script, *args++);
camera->posB.x = x; camera->controlSettings.posB.x = x;
camera->posB.z = z; camera->controlSettings.posB.z = z;
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }
@ -334,8 +334,8 @@ ApiStatus SetCamPosC(Evt* script, s32 isInitialCall) {
f32 y1 = evt_get_float_variable(script, *args++); f32 y1 = evt_get_float_variable(script, *args++);
f32 y2 = evt_get_float_variable(script, *args++); f32 y2 = evt_get_float_variable(script, *args++);
camera->posA.y = y1; camera->controlSettings.posA.y = y1;
camera->posB.y = y2; camera->controlSettings.posB.y = y2;
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }
@ -374,8 +374,8 @@ ApiStatus GetCamType(Evt* script, s32 isInitialCall) {
Camera* cameras = gCameras; Camera* cameras = gCameras;
Camera* camera = &cameras[id]; Camera* camera = &cameras[id];
evt_set_variable(script, outVar1, camera->controllerType); evt_set_variable(script, outVar1, camera->controlSettings.type);
evt_set_variable(script, outVar2, camera->unk_500); evt_set_variable(script, outVar2, camera->controlSettings.flag);
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }
@ -387,8 +387,8 @@ ApiStatus GetCamPitch(Evt* script, s32 isInitialCall) {
Camera* cameras = gCameras; Camera* cameras = gCameras;
Camera* camera = &cameras[id]; Camera* camera = &cameras[id];
evt_set_float_variable(script, outVar1, camera->controllerBoomPitch); evt_set_float_variable(script, outVar1, camera->controlSettings.boomPitch);
evt_set_float_variable(script, outVar2, camera->controllerViewPitch); evt_set_float_variable(script, outVar2, camera->controlSettings.viewPitch);
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }
@ -399,7 +399,7 @@ ApiStatus GetCamDistance(Evt* script, s32 isInitialCall) {
Camera* cameras = gCameras; Camera* cameras = gCameras;
Camera* camera = &cameras[id]; Camera* camera = &cameras[id];
evt_set_float_variable(script, outVar1, camera->controllerBoomLen); evt_set_float_variable(script, outVar1, camera->controlSettings.boomLength);
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }
@ -411,8 +411,8 @@ ApiStatus GetCamPosA(Evt* script, s32 isInitialCall) {
Camera* cameras = gCameras; Camera* cameras = gCameras;
Camera* camera = &cameras[id]; Camera* camera = &cameras[id];
evt_set_float_variable(script, outVar1, camera->posA.x); evt_set_float_variable(script, outVar1, camera->controlSettings.posA.x);
evt_set_float_variable(script, outVar2, camera->posA.z); evt_set_float_variable(script, outVar2, camera->controlSettings.posA.z);
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }
@ -424,8 +424,8 @@ ApiStatus GetCamPosB(Evt* script, s32 isInitialCall) {
Camera* cameras = gCameras; Camera* cameras = gCameras;
Camera* camera = &cameras[id]; Camera* camera = &cameras[id];
evt_set_float_variable(script, outVar1, camera->posB.x); evt_set_float_variable(script, outVar1, camera->controlSettings.posB.x);
evt_set_float_variable(script, outVar2, camera->posB.z); evt_set_float_variable(script, outVar2, camera->controlSettings.posB.z);
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }
@ -437,8 +437,8 @@ ApiStatus GetCamPosC(Evt* script, s32 isInitialCall) {
Camera* cameras = gCameras; Camera* cameras = gCameras;
Camera* camera = &cameras[id]; Camera* camera = &cameras[id];
evt_set_float_variable(script, outVar1, camera->posA.y); evt_set_float_variable(script, outVar1, camera->controlSettings.posA.y);
evt_set_float_variable(script, outVar2, camera->posB.y); evt_set_float_variable(script, outVar2, camera->controlSettings.posB.y);
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }
@ -464,7 +464,7 @@ ApiStatus WaitForCam(Evt* script, s32 isInitialCall) {
Camera* cameras = gCameras; Camera* cameras = gCameras;
Camera* camera = &cameras[id]; Camera* camera = &cameras[id];
if (isInitialCall || !(endInterpValue <= camera->sinInterpAlpha)) { if (isInitialCall || !(endInterpValue <= camera->interpAlpha)) {
return ApiStatus_BLOCK; return ApiStatus_BLOCK;
} }
return ApiStatus_DONE2; return ApiStatus_DONE2;

View File

@ -511,7 +511,7 @@ ApiStatus ResetFromLava(Evt* script, s32 isInitialCall) {
LavaReset* lavaReset; LavaReset* lavaReset;
if (isInitialCall) { if (isInitialCall) {
lavaReset = gLavaResetList = evt_get_variable(script, *args++); lavaReset = gLavaResetList = (LavaReset*)evt_get_variable(script, *args++);
while (TRUE) { while (TRUE) {
if (lavaReset->colliderID == -1) { if (lavaReset->colliderID == -1) {
@ -647,7 +647,7 @@ void goto_map(Evt* script, s32 mode) {
areaID = evt_get_variable(script, *args++); areaID = evt_get_variable(script, *args++);
mapID = evt_get_variable(script, *args++); mapID = evt_get_variable(script, *args++);
} else { } else {
get_map_IDs_by_name(evt_get_variable(script, *args++), &areaID, &mapID); get_map_IDs_by_name((char*)evt_get_variable(script, *args++), &areaID, &mapID);
} }
gGameStatusPtr->areaID = areaID; gGameStatusPtr->areaID = areaID;

View File

@ -167,7 +167,9 @@ Evt* start_script(EvtSource* source, s32 priority, s32 initialState) {
ASSERT(i < MAX_SCRIPTS); ASSERT(i < MAX_SCRIPTS);
curScriptIndex = i; curScriptIndex = i;
SCRIPT_ALLOC(newScript, curScriptIndex); (*gCurrentScriptListPtr)[curScriptIndex] = newScript = heap_malloc(sizeof(*newScript));
gNumScripts++;
ASSERT(newScript != NULL);
newScript->state = initialState | 1; newScript->state = initialState | 1;
newScript->currentOpcode = 0; newScript->currentOpcode = 0;
@ -290,11 +292,10 @@ Evt* start_script_in_group(EvtSource* source, u8 priority, u8 initialState, u8 g
} }
Evt* start_child_script(Evt* parentScript, EvtSource* source, s32 initialState) { Evt* start_child_script(Evt* parentScript, EvtSource* source, s32 initialState) {
s32 i;
s32 curScriptIndex; s32 curScriptIndex;
s32 scriptListCount; s32 scriptListCount;
s32* tempCounter;
Evt* child; Evt* child;
s32 i;
for (i = 0; i < MAX_SCRIPTS; i++) { for (i = 0; i < MAX_SCRIPTS; i++) {
if ((*gCurrentScriptListPtr)[i] == NULL) { if ((*gCurrentScriptListPtr)[i] == NULL) {
@ -303,9 +304,10 @@ Evt* start_child_script(Evt* parentScript, EvtSource* source, s32 initialState)
} }
ASSERT(i < MAX_SCRIPTS); ASSERT(i < MAX_SCRIPTS);
curScriptIndex = i; curScriptIndex = i;
SCRIPT_ALLOC(child, curScriptIndex);
(*gCurrentScriptListPtr)[curScriptIndex] = child = heap_malloc(sizeof(*child));
gNumScripts++;
ASSERT(child != NULL); ASSERT(child != NULL);
parentScript->childScript = child; parentScript->childScript = child;
@ -352,9 +354,8 @@ Evt* start_child_script(Evt* parentScript, EvtSource* source, s32 initialState)
suspend_frozen_scripts(child); suspend_frozen_scripts(child);
tempCounter = &gStaticScriptCounter; if (gStaticScriptCounter == 0) {
if (*tempCounter == 0) { gStaticScriptCounter = 1;
*tempCounter = 1;
} }
return child; return child;
@ -374,7 +375,10 @@ Evt* func_802C39F8(Evt* parentScript, Bytecode* nextLine, s32 newState) {
ASSERT(i < MAX_SCRIPTS); ASSERT(i < MAX_SCRIPTS);
curScriptIndex = i; curScriptIndex = i;
SCRIPT_ALLOC(child, curScriptIndex);
(*gCurrentScriptListPtr)[curScriptIndex] = child = heap_malloc(sizeof(*child));
gNumScripts++;
ASSERT(child != NULL);
child->state = newState | 1; child->state = newState | 1;
child->ptrNextLine = nextLine; child->ptrNextLine = nextLine;
@ -579,7 +583,9 @@ void kill_script(Evt* instanceToKill) {
instanceToKill->userData = NULL; instanceToKill->userData = NULL;
} }
SCRIPT_FREE(i); heap_free((*gCurrentScriptListPtr)[i]);
(*gCurrentScriptListPtr)[i] = NULL;
gNumScripts--;
} }
void kill_script_by_ID(s32 id) { void kill_script_by_ID(s32 id) {
@ -676,16 +682,16 @@ Trigger* bind_trigger_1(EvtSource* script, s32 flags, s32 triggerFlagIndex, s32
} }
void suspend_group_script(Evt* script, s32 groupFlags) { void suspend_group_script(Evt* script, s32 groupFlags) {
int i;
Evt* scriptContextPtr;
Evt* childScript = script->childScript; Evt* childScript = script->childScript;
s32 i;
if (childScript != NULL) { if (childScript != NULL) {
suspend_group_script(childScript, groupFlags); suspend_group_script(childScript, groupFlags);
} }
for (i = 0; i < MAX_SCRIPTS; i++) { for (i = 0; i < MAX_SCRIPTS; i++) {
scriptContextPtr = (*gCurrentScriptListPtr)[i]; Evt* scriptContextPtr = (*gCurrentScriptListPtr)[i];
if (scriptContextPtr != NULL && scriptContextPtr->parentScript == script) { if (scriptContextPtr != NULL && scriptContextPtr->parentScript == script) {
suspend_group_script(scriptContextPtr, groupFlags); suspend_group_script(scriptContextPtr, groupFlags);
} }
@ -697,16 +703,16 @@ void suspend_group_script(Evt* script, s32 groupFlags) {
} }
void resume_group_script(Evt* script, s32 groupFlags) { void resume_group_script(Evt* script, s32 groupFlags) {
int i;
Evt* scriptContextPtr;
Evt* childScript = script->childScript; Evt* childScript = script->childScript;
s32 i;
if (childScript != NULL) { if (childScript != NULL) {
resume_group_script(childScript, groupFlags); resume_group_script(childScript, groupFlags);
} }
for (i = 0; i < MAX_SCRIPTS; i++) { for (i = 0; i < MAX_SCRIPTS; i++) {
scriptContextPtr = (*gCurrentScriptListPtr)[i]; Evt* scriptContextPtr = (*gCurrentScriptListPtr)[i];
if (scriptContextPtr != NULL && scriptContextPtr->parentScript == script) { if (scriptContextPtr != NULL && scriptContextPtr->parentScript == script) {
suspend_group_script(scriptContextPtr, groupFlags); suspend_group_script(scriptContextPtr, groupFlags);
} }
@ -719,10 +725,10 @@ void resume_group_script(Evt* script, s32 groupFlags) {
s32 suspend_all_script(s32 id) { s32 suspend_all_script(s32 id) {
s32 i; s32 i;
Evt* scriptContextPtr;
for (i = 0; i < MAX_SCRIPTS; i++) { for (i = 0; i < MAX_SCRIPTS; i++) {
scriptContextPtr = (*gCurrentScriptListPtr)[i]; Evt* scriptContextPtr = (*gCurrentScriptListPtr)[i];
if (scriptContextPtr != NULL && scriptContextPtr->id == id) { if (scriptContextPtr != NULL && scriptContextPtr->id == id) {
suspend_group_script(scriptContextPtr, 0xEF); suspend_group_script(scriptContextPtr, 0xEF);
} }
@ -833,9 +839,8 @@ Evt* get_script_by_id(s32 id) {
} }
void set_script_flags(Evt* script, s32 flags) { void set_script_flags(Evt* script, s32 flags) {
int i;
Evt* scriptContextPtr;
Evt* childScript = script->childScript; Evt* childScript = script->childScript;
s32 i;
script->state |= flags; script->state |= flags;
if (childScript != NULL) { if (childScript != NULL) {
@ -843,7 +848,8 @@ void set_script_flags(Evt* script, s32 flags) {
} }
for (i = 0; i < MAX_SCRIPTS; i++) { for (i = 0; i < MAX_SCRIPTS; i++) {
scriptContextPtr = (*gCurrentScriptListPtr)[i]; Evt* scriptContextPtr = (*gCurrentScriptListPtr)[i];
if (scriptContextPtr != NULL && scriptContextPtr->parentScript == script) { if (scriptContextPtr != NULL && scriptContextPtr->parentScript == script) {
set_script_flags(script->parentScript, flags); set_script_flags(script->parentScript, flags);
} }
@ -851,9 +857,8 @@ void set_script_flags(Evt* script, s32 flags) {
} }
void clear_script_flags(Evt* script, s32 flags) { void clear_script_flags(Evt* script, s32 flags) {
int i;
Evt* scriptContextPtr;
Evt* childScript = script->childScript; Evt* childScript = script->childScript;
s32 i;
script->state &= ~flags; script->state &= ~flags;
if (childScript != NULL) { if (childScript != NULL) {
@ -861,7 +866,8 @@ void clear_script_flags(Evt* script, s32 flags) {
} }
for (i = 0; i < MAX_SCRIPTS; i++) { for (i = 0; i < MAX_SCRIPTS; i++) {
scriptContextPtr = (*gCurrentScriptListPtr)[i]; Evt* scriptContextPtr = (*gCurrentScriptListPtr)[i];
if (scriptContextPtr != NULL && scriptContextPtr->parentScript == script) { if (scriptContextPtr != NULL && scriptContextPtr->parentScript == script) {
clear_script_flags(scriptContextPtr, flags); clear_script_flags(scriptContextPtr, flags);
} }

View File

@ -67,10 +67,10 @@ StateFunc D_80077828[] = { NULL, state_init_intro, state_step_intro, NULL, state
StateFunc D_8007783C[] = { NULL, state_init_demo, state_step_demo, NULL, state_drawUI_demo }; StateFunc D_8007783C[] = { NULL, state_init_demo, state_step_demo, NULL, state_drawUI_demo };
StateFunc gameModeMap[] = { StateFunc* gameModeMap[] = {
&gameModeBlueprints, &D_800776FC, &D_80077710, &D_80077724, &D_80077774, &D_80077738, &D_8007774C, &D_80077760, gameModeBlueprints, D_800776FC, D_80077710, D_80077724, D_80077774, D_80077738, D_8007774C, D_80077760, D_80077788,
&D_80077788, &D_8007779C, &D_800777B0, &D_800777C4, &D_800777D8, &D_800777EC, &D_80077800, &D_80077814, &D_80077828, D_8007779C, D_800777B0, D_800777C4, D_800777D8, D_800777EC, D_80077800, D_80077814, D_80077828, D_8007783C, NULL,
&D_8007783C, NULL, NULL, NULL,
}; };
// BSS // BSS

View File

@ -407,17 +407,9 @@ void func_80027BAC(s32 arg0, s32 arg1) {
gDPSetTextureFilter(gMasterGfxPos++, G_TF_POINT); gDPSetTextureFilter(gMasterGfxPos++, G_TF_POINT);
for (i = 0; i < 40; i++) { for (i = 0; i < 40; i++) {
gDPSetTextureImage(gMasterGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, arg0 + (0xF00 * i)); gDPLoadTextureTile(gMasterGfxPos++, arg0 + (0xF00 * i), G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH,
gDPSetTile(gMasterGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 0x0000, G_TX_LOADTILE, 0, SCREEN_HEIGHT, 0, 0, SCREEN_WIDTH - 1, 5, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
G_TX_NOLOD);
gDPLoadSync(gMasterGfxPos++);
gDPLoadTile(gMasterGfxPos++, G_TX_LOADTILE, 0, 0, 0x04FC, 0x0014);
gDPPipeSync(gMasterGfxPos++);
gDPSetTile(gMasterGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 0x0000, G_TX_RENDERTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOLOD);
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, 0, 0, 0x04FC, 0x0014);
gSPTextureRectangle(gMasterGfxPos++, 0, i * temp, 0x04FC, (i * 24) + 20, G_TX_RENDERTILE, 0, 0, 0x1000, 0x0400); gSPTextureRectangle(gMasterGfxPos++, 0, i * temp, 0x04FC, (i * 24) + 20, G_TX_RENDERTILE, 0, 0, 0x1000, 0x0400);
gDPPipeSync(gMasterGfxPos++); gDPPipeSync(gMasterGfxPos++);
} }
@ -482,17 +474,9 @@ void gfx_draw_background(void) {
gDPSetTextureFilter(gMasterGfxPos++, G_TF_POINT); gDPSetTextureFilter(gMasterGfxPos++, G_TF_POINT);
for (i = 0; i < 40; i++) { for (i = 0; i < 40; i++) {
gDPSetTextureImage(gMasterGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, nuGfxZBuffer + (i * 0x780)); gDPLoadTextureTile(gMasterGfxPos++, nuGfxZBuffer + (i * 0x780), G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH,
gDPSetTile(gMasterGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 0x0000, G_TX_LOADTILE, 0, SCREEN_HEIGHT, 0, 0, SCREEN_WIDTH - 1, 5, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
G_TX_NOLOD);
gDPLoadSync(gMasterGfxPos++);
gDPLoadTile(gMasterGfxPos++, G_TX_LOADTILE, 0, 0, 0x04FC, 0x0014);
gDPPipeSync(gMasterGfxPos++);
gDPSetTile(gMasterGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 0x0000, G_TX_RENDERTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOLOD);
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, 0, 0, 0x04FC, 0x0014);
gSPTextureRectangle(gMasterGfxPos++, 0, i * a, 0x0500, a + (i * 0x18), G_TX_RENDERTILE, gSPTextureRectangle(gMasterGfxPos++, 0, i * a, 0x0500, a + (i * 0x18), G_TX_RENDERTILE,
-0x0020, 0, 0x0400, 0x0400); -0x0020, 0, 0x0400, 0x0400);
gDPPipeSync(gMasterGfxPos++); gDPPipeSync(gMasterGfxPos++);

View File

@ -94,13 +94,13 @@ void npc_draw_with_palswap(Npc* npc, s32 arg1, s32 arg2);
void npc_draw_palswap_mode_0(Npc* npc, s32 arg1, s32 arg2); void npc_draw_palswap_mode_0(Npc* npc, s32 arg1, s32 arg2);
s32 npc_draw_palswap_mode_1(); s32 npc_draw_palswap_mode_1(Npc*, s32, s32);
s32 npc_blend_palette_colors(); s32 npc_blend_palette_colors(void);
s32 npc_draw_palswap_mode_2(); s32 npc_draw_palswap_mode_2(Npc*, s32, s32, s32);
s32 npc_draw_palswap_mode_4(); s32 npc_draw_palswap_mode_4(Npc*, s32, s32);
void npc_set_decoration(Npc* npc, s32 idx, s32 decorationType); void npc_set_decoration(Npc* npc, s32 idx, s32 decorationType);

View File

@ -38,7 +38,7 @@ void state_init_file_select(void) {
set_hud_element_nonworld_cache(0, 0); set_hud_element_nonworld_cache(0, 0);
clear_hud_element_cache(); clear_hud_element_cache();
load_model_textures(0, 0, 0); load_model_textures(0, 0, 0);
gCameras[0].mode = 6; gCameras[0].updateMode = 6;
gCameras[0].unk_06 = 1; gCameras[0].unk_06 = 1;
gCameras[0].nearClip = 16; gCameras[0].nearClip = 16;
gCameras[0].farClip = 4096; gCameras[0].farClip = 4096;

View File

@ -36,7 +36,7 @@ void state_init_logos(void) {
nuContRmbForceStop(); nuContRmbForceStop();
create_cameras_a(); create_cameras_a();
gCameras[0].mode = 6; gCameras[0].updateMode = 6;
gCameras[0].unk_06 = 1; gCameras[0].unk_06 = 1;
gCameras[0].nearClip = 0x10; gCameras[0].nearClip = 0x10;
gCameras[0].farClip = 0x1000; gCameras[0].farClip = 0x1000;

View File

@ -117,15 +117,8 @@ void title_screen_draw_press_start(void) {
gDPSetCombineMode(gMasterGfxPos++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); gDPSetCombineMode(gMasterGfxPos++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0xF8, 0xF0, 0x98, D_80077A28); gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0xF8, 0xF0, 0x98, D_80077A28);
gDPPipeSync(gMasterGfxPos++); gDPPipeSync(gMasterGfxPos++);
gDPSetTextureImage(gMasterGfxPos++, G_IM_FMT_IA, G_IM_SIZ_16b, 1, D_800A0980); gDPLoadTextureBlock(gMasterGfxPos++, D_800A0980, G_IM_FMT_IA, G_IM_SIZ_8b, 128, 32, 0, G_TX_NOMIRROR | G_TX_WRAP,
gDPSetTile(gMasterGfxPos++, G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
gDPLoadSync(gMasterGfxPos++);
gDPLoadBlock(gMasterGfxPos++, G_TX_LOADTILE, 0, 0, 2047, 128);
gDPPipeSync(gMasterGfxPos++);
gDPSetTile(gMasterGfxPos++, G_IM_FMT_IA, G_IM_SIZ_8b, 16, 0x0000, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, 0, 0, 0x01FC, 0x007C);
gSPTextureRectangle(gMasterGfxPos++, 0x0180, 0x0224, 0x0380, 0x02A4, G_TX_RENDERTILE, 0, 0, 0x0400, 0x0400); gSPTextureRectangle(gMasterGfxPos++, 0x0180, 0x0224, 0x0380, 0x02A4, G_TX_RENDERTILE, 0, 0, 0x0400, 0x0400);
gDPPipeSync(gMasterGfxPos++); gDPPipeSync(gMasterGfxPos++);
} }
@ -149,15 +142,9 @@ void title_screen_draw_copyright(f32 arg0) {
for (i = 0; i < 2; i++) { for (i = 0; i < 2; i++) {
alpha = 0; // TODO figure out why this is needed alpha = 0; // TODO figure out why this is needed
gDPSetTextureImage(gMasterGfxPos++, G_IM_FMT_IA, G_IM_SIZ_8b, 144, &D_800A097C[0x240 * i]); gDPLoadTextureTile(gMasterGfxPos++, &D_800A097C[0x240 * i], G_IM_FMT_IA, G_IM_SIZ_8b, 144, 32, 0, 0, 143, 15, 0,
gDPSetTile(gMasterGfxPos++, G_IM_FMT_IA, G_IM_SIZ_8b, 18, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD,
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD); G_TX_NOLOD);
gDPLoadSync(gMasterGfxPos++);
gDPLoadTile(gMasterGfxPos++, G_TX_LOADTILE, 0, 0, 0x023C, 0x003C);
gDPPipeSync(gMasterGfxPos++);
gDPSetTile(gMasterGfxPos++, G_IM_FMT_IA, G_IM_SIZ_8b, 18, 0x0000, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, 0, 0, 0x023C, 0x003C);
gSPTextureRectangle(gMasterGfxPos++, 0x0164, 0x2FC + (0x40 * i), 0x03A4, 0x33C + (0x40 * i), G_TX_RENDERTILE, gSPTextureRectangle(gMasterGfxPos++, 0x0164, 0x2FC + (0x40 * i), 0x03A4, 0x33C + (0x40 * i), G_TX_RENDERTILE,
0, 0, 0x0400, 0x0400); 0, 0, 0x0400, 0x0400);
} }

View File

@ -13,5 +13,3 @@ extern EvtSource N(main);
extern EvtSource N(802433D0); extern EvtSource N(802433D0);
extern NpcGroupList N(npcGroupList_80244000); extern NpcGroupList N(npcGroupList_80244000);
extern EvtSource N(makeEntities); extern EvtSource N(makeEntities);
extern s16 gCurrentCamID;

View File

@ -59,7 +59,7 @@ ApiStatus SetPlayerPositionFromSaveData(Evt* script, s32 isInitialCall) {
enable_partner_ai(); enable_partner_ai();
} }
camera->unk_08 = 1; camera->changingMap = TRUE;
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }

View File

@ -54,8 +54,8 @@ def write_ninja_rules(ninja: ninja_syntax.Writer, cpp: str, cppflags: str, extra
cxx = f"{BUILD_TOOLS}/cc/gcc/g++" cxx = f"{BUILD_TOOLS}/cc/gcc/g++"
compile_script = f"$python {BUILD_TOOLS}/cc_dsl/compile_script.py" compile_script = f"$python {BUILD_TOOLS}/cc_dsl/compile_script.py"
CPPFLAGS = "-w -Iver/$version/build/include -Iinclude -Isrc -Iassets/$version -D_LANGUAGE_C -D_FINALROM -DVERSION=$version " \ CPPFLAGS = "-w -Iver/$version/build/include -Iinclude -Isrc -Iassets/$version -D_LANGUAGE_C -D_FINALROM " \
"-ffreestanding -DF3DEX_GBI_2 -D_MIPS_SZLONG=32" "-DVERSION=$version -DF3DEX_GBI_2 -D_MIPS_SZLONG=32 -nostdinc"
cflags = f"-c -G0 -O2 -fno-common -B {BUILD_TOOLS}/cc/gcc/ {extra_cflags}" cflags = f"-c -G0 -O2 -fno-common -B {BUILD_TOOLS}/cc/gcc/ {extra_cflags}"
@ -185,6 +185,9 @@ OS_K0_TO_PHYSICAL = "int"
"G_.*" = "int" "G_.*" = "int"
"TEXEL.*" = "int" "TEXEL.*" = "int"
PRIMITIVE = "int" PRIMITIVE = "int"
[decompme.compilers]
"tools/build/cc/gcc/gcc" = "gcc2.8.1"
""") """)
def write_ninja_for_tools(ninja: ninja_syntax.Writer): def write_ninja_for_tools(ninja: ninja_syntax.Writer):

56
tools/sortsymz.py Normal file
View File

@ -0,0 +1,56 @@
import os
syms = []
groups = {}
with open("tools/symz.txt") as f:
for line in f.readlines():
name, addr = line.strip().strip(";").split(" = ")
syms.append((name, int(addr, 0), set()))
# Search src for syms
for root, dirs, files in os.walk("src"):
for file in files:
if file.endswith(".c"):
with open(os.path.join(root, file)) as f:
text = f.read()
for sym in syms:
if sym[0] in text:
sym[2].add(os.path.join(root, file).replace("src/", "")[:-2])
# Search asm for syms
for root, dirs, files in os.walk("ver/us/asm"):
for file in files:
if file.endswith(".s"):
with open(os.path.join(root, file)) as f:
text = f.read()
for sym in syms:
if sym[0] in text:
sym[2].add(root.replace("ver/us/asm/nonmatchings/", ""))
for sym in syms:
if len(sym[2]) == 0:
group = ""
elif len(sym[2]) > 1:
group = "multig"
else:
group = next(iter(sym[2]))
if group not in groups:
groups[group] = []
groups[group].append(sym)
for group in groups:
if group == "":
print("The following symbols can be simply removed from undefined_syms:")
elif group == "multig":
print("The following symbols are found in multiple locations:")
else:
print(group + ":")
sorted_syms = sorted(groups[group], key=lambda tup: tup[1])
for sym in sorted_syms:
print(f"{sym[0]} = 0x{sym[1]:X}")
print()

1276
tools/symz.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +0,0 @@
#!/bin/bash
set -e
# This script should only be used when we need to modify the accepted amount of warnings.
rm -rf ver/*/build/src
ninja | grep warning | sort > tools/warnings_count/warnings.txt

View File

@ -2,144 +2,6 @@
.section .data .section .data
glabel D_80249B80
.word D_80241ECC
glabel D_80249B84
.word D_8024A098
glabel D_80249B88
.word D_8024A114
glabel D_80249B8C
.word D_8024A158
glabel D_80249B90
.word D_8024A1D8
glabel D_80249B94
.word 0x000000A0
glabel D_80249B98
.word 0xFFFFFF88
glabel D_80249B9C
.word 0x00000000
glabel D_80249BA0
.word 0x000000A0
glabel D_80249BA4
.word 0xFFFFFF88
glabel D_80249BA8
.word 0x00000000
glabel D_80249BAC
.word 0x00000000
glabel D_80249BB0
.word 0x00000001, 0x00000000
glabel D_80249BB8
.word 0x00000000
glabel D_80249BBC
.short 0x013B, 0x012F, 0x011B, 0x0104, 0x00EB, 0x00D2, 0x00B9, 0x00A0, 0x0087, 0x006E, 0x0055, 0x003C, 0x0025, 0x0011, 0x0005
glabel D_80249BDA
.short 0x0000
glabel D_80249BDC
.short 0x013B, 0x012F, 0x011B, 0x0104, 0x00EB, 0x00D2, 0x00B9, 0x00A0, 0x0087, 0x006E, 0x0055, 0x003C, 0x0025, 0x0011, 0x0005
glabel D_80249BFA
.short 0x0000
glabel D_80249BFC
.short 0x009D, 0x0097, 0x008D, 0x0082, 0x0075, 0x0069, 0x005C, 0x0050, 0x0043, 0x0037, 0x002A, 0x001E, 0x0012, 0x0008, 0x0002
glabel D_80249C1A
.short 0x0000
glabel D_80249C1C
.short 0x009D, 0x0097, 0x008D, 0x0082, 0x0075, 0x0069, 0x005C, 0x0050, 0x0043, 0x0037, 0x002A, 0x001E, 0x0012, 0x0008, 0x0002
glabel D_80249C3A
.short 0x0000
glabel D_80249C3C
.short 0x003F, 0x003C, 0x0038, 0x0034, 0x002F, 0x002A, 0x0025, 0x0020, 0x001B, 0x0016, 0x0011, 0x000C, 0x0007, 0x0003, 0x0001
glabel D_80249C5A
.short 0x0000
glabel D_80249C5C
.short 0x003F, 0x003C, 0x0038, 0x0034, 0x002F, 0x002A, 0x0025, 0x0020, 0x001B, 0x0016, 0x0011, 0x000C, 0x0007, 0x0003, 0x0001
glabel D_80249C7A
.short 0x0000
glabel D_80249C7C
.short 0xFFFB, 0xFFEF, 0xFFDB, 0xFFC4, 0xFFAB, 0xFF92, 0xFF79, 0xFF60, 0xFF47
glabel D_80249C8E
.short 0xFF2E
glabel D_80249C90
.short 0xFFFB, 0xFFEF, 0xFFDB, 0xFFC4, 0xFFAB, 0xFF92, 0xFF79, 0xFF60, 0xFF47
glabel D_80249CA2
.short 0xFF2E
glabel D_80249CA4
.short 0xFFFE, 0xFFF8, 0xFFEE, 0xFFE2, 0xFFD6, 0xFFC9, 0xFFBA, 0xFFAB, 0xFF9C
glabel D_80249CB6
.short 0xFF8D
glabel D_80249CB8
.short 0xFFFE, 0xFFF8, 0xFFEE, 0xFFE2, 0xFFD6, 0xFFC9, 0xFFBA, 0xFFAB, 0xFF9C
glabel D_80249CCA
.short 0xFF8D
glabel D_80249CCC
.short 0xFFFF, 0xFFFD, 0xFFF9, 0xFFF4, 0xFFEF, 0xFFEA, 0xFFE5, 0xFFE0, 0xFFDB
glabel D_80249CDE
.short 0xFFD6
glabel D_80249CE0
.short 0xFFFF, 0xFFFD, 0xFFF9, 0xFFF4, 0xFFEF, 0xFFEA, 0xFFE5, 0xFFE0, 0xFFDB
glabel D_80249CF2
.short 0xFFD6
glabel D_80249CF4
.short 0x00B4, 0x00AD, 0x00A1, 0x0094, 0x0086, 0x0078, 0x0069, 0x005B, 0x004D, 0x003E, 0x0030, 0x0022, 0x0015, 0x0009, 0x0002, 0x0000
glabel D_80249D14
.short 0x0000, 0x0002, 0x0009, 0x0015, 0x0022, 0x0030, 0x003E, 0x004D, 0x005B, 0x0069, 0x0078, 0x0086, 0x0094, 0x00A1, 0x00AD, 0x00B4
glabel D_80249D34
.short 0x00B9, 0x00A0, 0x0087, 0x006E, 0x0055, 0x003C, 0x0025, 0x0011, 0x0005, 0x0000
glabel D_80249D48
.short 0x0000, 0x0005, 0x0011, 0x0025, 0x003C, 0x0055, 0x006E, 0x0087, 0x00A0, 0x00B9, 0x0000, 0x0000
glabel D_80249D60
.word 0x028001E0, 0x01FF0000, 0x028001E0, 0x01FF0000
glabel D_80249D70
.word 0x40E00000, 0x41480000, 0x41500000, 0x41680000, 0x41600000, 0x41500000, 0x41380000, 0x41180000, 0x40F00000, 0x40B00000, 0x40600000, 0x40000000, 0x3F800000, 0x3F000000, 0x00000000
glabel D_80249DAC
.word 0x2C000010, 0x00180120, 0x00C00000, 0x00000000, 0x00000000, 0xFF000000, 0x00000001, 0x40000000
glabel D_80249DCC
.word D_8024BA60, 0x18000000, 0x00000120, 0x00C00000, filemenu_draw_contents_copy_arrow, 0x00000000, 0x2C000000, 0x00000001, 0x00000000, D_8024BA98, 0x17000000, 0x00000140, 0x00F00000, filemenu_draw_cursor, 0x00000000, 0xFF000000, 0x00000001, 0x00000000, D_8024BA98, 0x00000000, 0x00000000
glabel D_80249E20 glabel D_80249E20
.word 0x802423DC, func_80242434_9D9454, 0x8024248C, 0x802424E4, D_8024253C_AB46AC, 0x80242594, dgb_16_npcGroup_802425EC, 0x80242408, flo_14_updateTexturePan_80242460, 0x802424B8, 0x80242510, D_80242568_A4EF88, 0x802425C0, D_80242618_9800E8, 0x802422D4, 0x80242300, mac_02_SetCamVfov, func_80242358_DCF028, func_80242384_833B84, D_802423B0_9EDBA0 .word 0x802423DC, func_80242434_9D9454, 0x8024248C, 0x802424E4, D_8024253C_AB46AC, 0x80242594, dgb_16_npcGroup_802425EC, 0x80242408, flo_14_updateTexturePan_80242460, 0x802424B8, 0x80242510, D_80242568_A4EF88, 0x802425C0, D_80242618_9800E8, 0x802422D4, 0x80242300, mac_02_SetCamVfov, func_80242358_DCF028, func_80242384_833B84, D_802423B0_9EDBA0

View File

@ -6,8 +6,8 @@ glabel filemenu_cleanup
/* 165364 80244B04 AFB00010 */ sw $s0, 0x10($sp) /* 165364 80244B04 AFB00010 */ sw $s0, 0x10($sp)
/* 165368 80244B08 0000802D */ daddu $s0, $zero, $zero /* 165368 80244B08 0000802D */ daddu $s0, $zero, $zero
/* 16536C 80244B0C AFB10014 */ sw $s1, 0x14($sp) /* 16536C 80244B0C AFB10014 */ sw $s1, 0x14($sp)
/* 165370 80244B10 3C118025 */ lui $s1, %hi(pause_partners_draw_movelist_flower) /* 165370 80244B10 3C118025 */ lui $s1, %hi(filemenu_cursorHudElemID)
/* 165374 80244B14 2631C0A0 */ addiu $s1, $s1, %lo(pause_partners_draw_movelist_flower) /* 165374 80244B14 2631C0A0 */ addiu $s1, $s1, %lo(filemenu_cursorHudElemID)
/* 165378 80244B18 AFBF0018 */ sw $ra, 0x18($sp) /* 165378 80244B18 AFBF0018 */ sw $ra, 0x18($sp)
.L80244B1C: .L80244B1C:
/* 16537C 80244B1C 8E240000 */ lw $a0, ($s1) /* 16537C 80244B1C 8E240000 */ lw $a0, ($s1)
@ -16,8 +16,8 @@ glabel filemenu_cleanup
/* 165388 80244B28 26100001 */ addiu $s0, $s0, 1 /* 165388 80244B28 26100001 */ addiu $s0, $s0, 1
/* 16538C 80244B2C 1A00FFFB */ blez $s0, .L80244B1C /* 16538C 80244B2C 1A00FFFB */ blez $s0, .L80244B1C
/* 165390 80244B30 00000000 */ nop /* 165390 80244B30 00000000 */ nop
/* 165394 80244B34 3C118025 */ lui $s1, %hi(D_80249B84) /* 165394 80244B34 3C118025 */ lui $s1, %hi(filemenu_menus)
/* 165398 80244B38 26319B84 */ addiu $s1, $s1, %lo(D_80249B84) /* 165398 80244B38 26319B84 */ addiu $s1, $s1, %lo(filemenu_menus)
/* 16539C 80244B3C 0000802D */ daddu $s0, $zero, $zero /* 16539C 80244B3C 0000802D */ daddu $s0, $zero, $zero
.L80244B40: .L80244B40:
/* 1653A0 80244B40 8E240000 */ lw $a0, ($s1) /* 1653A0 80244B40 8E240000 */ lw $a0, ($s1)

View File

@ -2,8 +2,8 @@
.set noreorder # don't insert nops after branches .set noreorder # don't insert nops after branches
glabel filemenu_draw_contents_copy_arrow glabel filemenu_draw_contents_copy_arrow
/* 16491C 802440BC 3C048025 */ lui $a0, %hi(D_80249B84) /* 16491C 802440BC 3C048025 */ lui $a0, %hi(filemenu_menus)
/* 164920 802440C0 8C849B84 */ lw $a0, %lo(D_80249B84)($a0) /* 164920 802440C0 8C849B84 */ lw $a0, %lo(filemenu_menus)($a0)
/* 164924 802440C4 27BDFF08 */ addiu $sp, $sp, -0xf8 /* 164924 802440C4 27BDFF08 */ addiu $sp, $sp, -0xf8
/* 164928 802440C8 AFBF00C4 */ sw $ra, 0xc4($sp) /* 164928 802440C8 AFBF00C4 */ sw $ra, 0xc4($sp)
/* 16492C 802440CC AFBE00C0 */ sw $fp, 0xc0($sp) /* 16492C 802440CC AFBE00C0 */ sw $fp, 0xc0($sp)
@ -30,8 +30,8 @@ glabel filemenu_draw_contents_copy_arrow
/* 164980 80244120 104001DD */ beqz $v0, .L80244898 /* 164980 80244120 104001DD */ beqz $v0, .L80244898
/* 164984 80244124 00000000 */ nop /* 164984 80244124 00000000 */ nop
/* 164988 80244128 90820003 */ lbu $v0, 3($a0) /* 164988 80244128 90820003 */ lbu $v0, 3($a0)
/* 16498C 8024412C 3C038025 */ lui $v1, %hi(D_8024C094) /* 16498C 8024412C 3C038025 */ lui $v1, %hi(filemenu_loadedFileIdx)
/* 164990 80244130 8C63C094 */ lw $v1, %lo(D_8024C094)($v1) /* 164990 80244130 8C63C094 */ lw $v1, %lo(filemenu_loadedFileIdx)($v1)
/* 164994 80244134 104301D8 */ beq $v0, $v1, .L80244898 /* 164994 80244134 104301D8 */ beq $v0, $v1, .L80244898
/* 164998 80244138 24040002 */ addiu $a0, $zero, 2 /* 164998 80244138 24040002 */ addiu $a0, $zero, 2
/* 16499C 8024413C 3C028025 */ lui $v0, %hi(D_8024C098_C09918) /* 16499C 8024413C 3C028025 */ lui $v0, %hi(D_8024C098_C09918)
@ -77,8 +77,8 @@ glabel filemenu_draw_contents_copy_arrow
/* 164A24 802441C4 3C014316 */ lui $at, 0x4316 /* 164A24 802441C4 3C014316 */ lui $at, 0x4316
/* 164A28 802441C8 4481B000 */ mtc1 $at, $f22 /* 164A28 802441C8 4481B000 */ mtc1 $at, $f22
.L802441CC: .L802441CC:
/* 164A2C 802441CC 3C028025 */ lui $v0, %hi(D_80249B84) /* 164A2C 802441CC 3C028025 */ lui $v0, %hi(filemenu_menus)
/* 164A30 802441D0 8C429B84 */ lw $v0, %lo(D_80249B84)($v0) /* 164A30 802441D0 8C429B84 */ lw $v0, %lo(filemenu_menus)($v0)
/* 164A34 802441D4 90430003 */ lbu $v1, 3($v0) /* 164A34 802441D4 90430003 */ lbu $v1, 3($v0)
/* 164A38 802441D8 24020001 */ addiu $v0, $zero, 1 /* 164A38 802441D8 24020001 */ addiu $v0, $zero, 1
/* 164A3C 802441DC 10620012 */ beq $v1, $v0, .L80244228 /* 164A3C 802441DC 10620012 */ beq $v1, $v0, .L80244228

View File

@ -1,41 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_draw_cursor
/* 164890 80244030 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 164894 80244034 AFB10014 */ sw $s1, 0x14($sp)
/* 164898 80244038 00A0882D */ daddu $s1, $a1, $zero
/* 16489C 8024403C AFB20018 */ sw $s2, 0x18($sp)
/* 1648A0 80244040 00C0902D */ daddu $s2, $a2, $zero
/* 1648A4 80244044 AFBF001C */ sw $ra, 0x1c($sp)
/* 1648A8 80244048 0C090BDA */ jal filemenu_update_cursor
/* 1648AC 8024404C AFB00010 */ sw $s0, 0x10($sp)
/* 1648B0 80244050 3C058025 */ lui $a1, %hi(D_80249B9C)
/* 1648B4 80244054 8CA59B9C */ lw $a1, %lo(D_80249B9C)($a1)
/* 1648B8 80244058 18A00012 */ blez $a1, .L802440A4
/* 1648BC 8024405C 28A20100 */ slti $v0, $a1, 0x100
/* 1648C0 80244060 50400001 */ beql $v0, $zero, .L80244068
/* 1648C4 80244064 240500FF */ addiu $a1, $zero, 0xff
.L80244068:
/* 1648C8 80244068 3C108025 */ lui $s0, %hi(pause_partners_draw_movelist_flower)
/* 1648CC 8024406C 2610C0A0 */ addiu $s0, $s0, %lo(pause_partners_draw_movelist_flower)
/* 1648D0 80244070 0C0513AC */ jal set_hud_element_alpha
/* 1648D4 80244074 8E040000 */ lw $a0, ($s0)
/* 1648D8 80244078 8E040000 */ lw $a0, ($s0)
/* 1648DC 8024407C 3C058025 */ lui $a1, %hi(D_80249B94)
/* 1648E0 80244080 8CA59B94 */ lw $a1, %lo(D_80249B94)($a1)
/* 1648E4 80244084 3C068025 */ lui $a2, %hi(D_80249B98)
/* 1648E8 80244088 8CC69B98 */ lw $a2, %lo(D_80249B98)($a2)
/* 1648EC 8024408C 02252821 */ addu $a1, $s1, $a1
/* 1648F0 80244090 0C051261 */ jal set_hud_element_render_pos
/* 1648F4 80244094 02463021 */ addu $a2, $s2, $a2
/* 1648F8 80244098 8E040000 */ lw $a0, ($s0)
/* 1648FC 8024409C 0C0511F8 */ jal draw_hud_element_3
/* 164900 802440A0 00000000 */ nop
.L802440A4:
/* 164904 802440A4 8FBF001C */ lw $ra, 0x1c($sp)
/* 164908 802440A8 8FB20018 */ lw $s2, 0x18($sp)
/* 16490C 802440AC 8FB10014 */ lw $s1, 0x14($sp)
/* 164910 802440B0 8FB00010 */ lw $s0, 0x10($sp)
/* 164914 802440B4 03E00008 */ jr $ra
/* 164918 802440B8 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -19,8 +19,8 @@ glabel filemenu_init
/* 165178 80244918 0C00A5CF */ jal dma_copy /* 165178 80244918 0C00A5CF */ jal dma_copy
/* 16517C 8024491C AFB00010 */ sw $s0, 0x10($sp) /* 16517C 8024491C AFB00010 */ sw $s0, 0x10($sp)
/* 165180 80244920 0000802D */ daddu $s0, $zero, $zero /* 165180 80244920 0000802D */ daddu $s0, $zero, $zero
/* 165184 80244924 3C128025 */ lui $s2, %hi(pause_partners_draw_movelist_flower) /* 165184 80244924 3C128025 */ lui $s2, %hi(filemenu_cursorHudElemID)
/* 165188 80244928 2652C0A0 */ addiu $s2, $s2, %lo(pause_partners_draw_movelist_flower) /* 165188 80244928 2652C0A0 */ addiu $s2, $s2, %lo(filemenu_cursorHudElemID)
/* 16518C 8024492C 3C118025 */ lui $s1, %hi(D_80249B80) /* 16518C 8024492C 3C118025 */ lui $s1, %hi(D_80249B80)
/* 165190 80244930 26319B80 */ addiu $s1, $s1, %lo(D_80249B80) /* 165190 80244930 26319B80 */ addiu $s1, $s1, %lo(D_80249B80)
.L80244934: .L80244934:
@ -35,8 +35,8 @@ glabel filemenu_init
/* 1651B4 80244954 AE440000 */ sw $a0, ($s2) /* 1651B4 80244954 AE440000 */ sw $a0, ($s2)
/* 1651B8 80244958 1A00FFF6 */ blez $s0, .L80244934 /* 1651B8 80244958 1A00FFF6 */ blez $s0, .L80244934
/* 1651BC 8024495C 26520004 */ addiu $s2, $s2, 4 /* 1651BC 8024495C 26520004 */ addiu $s2, $s2, 4
/* 1651C0 80244960 3C028025 */ lui $v0, %hi(pause_partners_draw_movelist_flower) /* 1651C0 80244960 3C028025 */ lui $v0, %hi(filemenu_cursorHudElemID)
/* 1651C4 80244964 8C42C0A0 */ lw $v0, %lo(pause_partners_draw_movelist_flower)($v0) /* 1651C4 80244964 8C42C0A0 */ lw $v0, %lo(filemenu_cursorHudElemID)($v0)
/* 1651C8 80244968 3C018025 */ lui $at, %hi(D_8024C088) /* 1651C8 80244968 3C018025 */ lui $at, %hi(D_8024C088)
/* 1651CC 8024496C AC22C088 */ sw $v0, %lo(D_8024C088)($at) /* 1651CC 8024496C AC22C088 */ sw $v0, %lo(D_8024C088)($at)
/* 1651D0 80244970 16800004 */ bnez $s4, .L80244984 /* 1651D0 80244970 16800004 */ bnez $s4, .L80244984
@ -49,8 +49,8 @@ glabel filemenu_init
/* 1651E8 80244988 24849DAC */ addiu $a0, $a0, %lo(D_80249DAC) /* 1651E8 80244988 24849DAC */ addiu $a0, $a0, %lo(D_80249DAC)
/* 1651EC 8024498C 0C051FCC */ jal setup_pause_menu_tab /* 1651EC 8024498C 0C051FCC */ jal setup_pause_menu_tab
/* 1651F0 80244990 24050003 */ addiu $a1, $zero, 3 /* 1651F0 80244990 24050003 */ addiu $a1, $zero, 3
/* 1651F4 80244994 3C138025 */ lui $s3, %hi(D_80249B84) /* 1651F4 80244994 3C138025 */ lui $s3, %hi(filemenu_menus)
/* 1651F8 80244998 8E739B84 */ lw $s3, %lo(D_80249B84)($s3) /* 1651F8 80244998 8E739B84 */ lw $s3, %lo(filemenu_menus)($s3)
/* 1651FC 8024499C 3C018025 */ lui $at, %hi(D_8024C098_C09918) /* 1651FC 8024499C 3C018025 */ lui $at, %hi(D_8024C098_C09918)
/* 165200 802449A0 A020C098 */ sb $zero, %lo(D_8024C098_C09918)($at) /* 165200 802449A0 A020C098 */ sb $zero, %lo(D_8024C098_C09918)($at)
/* 165204 802449A4 16800003 */ bnez $s4, .L802449B4 /* 165204 802449A4 16800003 */ bnez $s4, .L802449B4
@ -118,8 +118,8 @@ glabel filemenu_init
.L80244A84: .L80244A84:
/* 1652E4 80244A84 3C028007 */ lui $v0, %hi(gGameStatusPtr) /* 1652E4 80244A84 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 1652E8 80244A88 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) /* 1652E8 80244A88 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 1652EC 80244A8C 3C118025 */ lui $s1, %hi(D_80249B84) /* 1652EC 80244A8C 3C118025 */ lui $s1, %hi(filemenu_menus)
/* 1652F0 80244A90 26319B84 */ addiu $s1, $s1, %lo(D_80249B84) /* 1652F0 80244A90 26319B84 */ addiu $s1, $s1, %lo(filemenu_menus)
/* 1652F4 80244A94 90460166 */ lbu $a2, 0x166($v0) /* 1652F4 80244A94 90460166 */ lbu $a2, 0x166($v0)
/* 1652F8 80244A98 0000802D */ daddu $s0, $zero, $zero /* 1652F8 80244A98 0000802D */ daddu $s0, $zero, $zero
/* 1652FC 80244A9C 30C50001 */ andi $a1, $a2, 1 /* 1652FC 80244A9C 30C50001 */ andi $a1, $a2, 1

View File

@ -1,9 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_set_cursor_alpha
/* 16364C 80242DEC 3C018025 */ lui $at, %hi(D_80249BA8)
/* 163650 80242DF0 AC249BA8 */ sw $a0, %lo(D_80249BA8)($at)
/* 163654 80242DF4 3C018025 */ lui $at, %hi(D_80249BAC)
/* 163658 80242DF8 03E00008 */ jr $ra
/* 16365C 80242DFC AC249BAC */ sw $a0, %lo(D_80249BAC)($at)

View File

@ -1,26 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_set_selected
/* 1635F4 80242D94 80820004 */ lb $v0, 4($a0)
/* 1635F8 80242D98 80830005 */ lb $v1, 5($a0)
/* 1635FC 80242D9C 00430018 */ mult $v0, $v1
/* 163600 80242DA0 00003812 */ mflo $a3
/* 163604 80242DA4 80820006 */ lb $v0, 6($a0)
/* 163608 80242DA8 00000000 */ nop
/* 16360C 80242DAC 00E20018 */ mult $a3, $v0
/* 163610 80242DB0 00003812 */ mflo $a3
/* 163614 80242DB4 00061600 */ sll $v0, $a2, 0x18
/* 163618 80242DB8 00021603 */ sra $v0, $v0, 0x18
/* 16361C 80242DBC 00620018 */ mult $v1, $v0
/* 163620 80242DC0 A0850001 */ sb $a1, 1($a0)
/* 163624 80242DC4 80850001 */ lb $a1, 1($a0)
/* 163628 80242DC8 A0860002 */ sb $a2, 2($a0)
/* 16362C 80242DCC 00001012 */ mflo $v0
/* 163630 80242DD0 00E21821 */ addu $v1, $a3, $v0
/* 163634 80242DD4 8C820008 */ lw $v0, 8($a0)
/* 163638 80242DD8 00651821 */ addu $v1, $v1, $a1
/* 16363C 80242DDC 00431021 */ addu $v0, $v0, $v1
/* 163640 80242DE0 90420000 */ lbu $v0, ($v0)
/* 163644 80242DE4 03E00008 */ jr $ra
/* 163648 80242DE8 A0820003 */ sb $v0, 3($a0)

View File

@ -14,9 +14,9 @@ glabel filemenu_update
/* 163A24 802431C4 AFBF0018 */ sw $ra, 0x18($sp) /* 163A24 802431C4 AFBF0018 */ sw $ra, 0x18($sp)
/* 163A28 802431C8 AFB10014 */ sw $s1, 0x14($sp) /* 163A28 802431C8 AFB10014 */ sw $s1, 0x14($sp)
/* 163A2C 802431CC 00021080 */ sll $v0, $v0, 2 /* 163A2C 802431CC 00021080 */ sll $v0, $v0, 2
/* 163A30 802431D0 3C048025 */ lui $a0, %hi(D_80249B84) /* 163A30 802431D0 3C048025 */ lui $a0, %hi(filemenu_menus)
/* 163A34 802431D4 00822021 */ addu $a0, $a0, $v0 /* 163A34 802431D4 00822021 */ addu $a0, $a0, $v0
/* 163A38 802431D8 8C849B84 */ lw $a0, %lo(D_80249B84)($a0) /* 163A38 802431D8 8C849B84 */ lw $a0, %lo(filemenu_menus)($a0)
.L802431DC: .L802431DC:
/* 163A3C 802431DC 80620003 */ lb $v0, 3($v1) /* 163A3C 802431DC 80620003 */ lb $v0, 3($v1)
/* 163A40 802431E0 10460003 */ beq $v0, $a2, .L802431F0 /* 163A40 802431E0 10460003 */ beq $v0, $a2, .L802431F0
@ -41,20 +41,20 @@ glabel filemenu_update
/* 163A80 80243220 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) /* 163A80 80243220 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 163A84 80243224 8C430020 */ lw $v1, 0x20($v0) /* 163A84 80243224 8C430020 */ lw $v1, 0x20($v0)
/* 163A88 80243228 8C420010 */ lw $v0, 0x10($v0) /* 163A88 80243228 8C420010 */ lw $v0, 0x10($v0)
/* 163A8C 8024322C 3C018025 */ lui $at, %hi(D_8024C08C) /* 163A8C 8024322C 3C018025 */ lui $at, %hi(filemenu_heldButtons)
/* 163A90 80243230 AC23C08C */ sw $v1, %lo(D_8024C08C)($at) /* 163A90 80243230 AC23C08C */ sw $v1, %lo(filemenu_heldButtons)($at)
/* 163A94 80243234 3C018025 */ lui $at, %hi(D_8024C084) /* 163A94 80243234 3C018025 */ lui $at, %hi(filemenu_pressedButtons)
/* 163A98 80243238 AC22C084 */ sw $v0, %lo(D_8024C084)($at) /* 163A98 80243238 AC22C084 */ sw $v0, %lo(filemenu_pressedButtons)($at)
/* 163A9C 8024323C 08090C95 */ j .L80243254 /* 163A9C 8024323C 08090C95 */ j .L80243254
/* 163AA0 80243240 00000000 */ nop /* 163AA0 80243240 00000000 */ nop
.L80243244: .L80243244:
/* 163AA4 80243244 3C018025 */ lui $at, %hi(D_8024C08C) /* 163AA4 80243244 3C018025 */ lui $at, %hi(filemenu_heldButtons)
/* 163AA8 80243248 AC20C08C */ sw $zero, %lo(D_8024C08C)($at) /* 163AA8 80243248 AC20C08C */ sw $zero, %lo(filemenu_heldButtons)($at)
/* 163AAC 8024324C 3C018025 */ lui $at, %hi(D_8024C084) /* 163AAC 8024324C 3C018025 */ lui $at, %hi(filemenu_pressedButtons)
/* 163AB0 80243250 AC20C084 */ sw $zero, %lo(D_8024C084)($at) /* 163AB0 80243250 AC20C084 */ sw $zero, %lo(filemenu_pressedButtons)($at)
.L80243254: .L80243254:
/* 163AB4 80243254 3C058025 */ lui $a1, %hi(D_8024C084) /* 163AB4 80243254 3C058025 */ lui $a1, %hi(filemenu_pressedButtons)
/* 163AB8 80243258 24A5C084 */ addiu $a1, $a1, %lo(D_8024C084) /* 163AB8 80243258 24A5C084 */ addiu $a1, $a1, %lo(filemenu_pressedButtons)
/* 163ABC 8024325C 8CA30000 */ lw $v1, ($a1) /* 163ABC 8024325C 8CA30000 */ lw $v1, ($a1)
/* 163AC0 80243260 30624000 */ andi $v0, $v1, 0x4000 /* 163AC0 80243260 30624000 */ andi $v0, $v1, 0x4000
/* 163AC4 80243264 10400004 */ beqz $v0, .L80243278 /* 163AC4 80243264 10400004 */ beqz $v0, .L80243278
@ -63,8 +63,8 @@ glabel filemenu_update
/* 163AD0 80243270 00621024 */ and $v0, $v1, $v0 /* 163AD0 80243270 00621024 */ and $v0, $v1, $v0
/* 163AD4 80243274 ACA20000 */ sw $v0, ($a1) /* 163AD4 80243274 ACA20000 */ sw $v0, ($a1)
.L80243278: .L80243278:
/* 163AD8 80243278 3C058025 */ lui $a1, %hi(D_8024C08C) /* 163AD8 80243278 3C058025 */ lui $a1, %hi(filemenu_heldButtons)
/* 163ADC 8024327C 24A5C08C */ addiu $a1, $a1, %lo(D_8024C08C) /* 163ADC 8024327C 24A5C08C */ addiu $a1, $a1, %lo(filemenu_heldButtons)
/* 163AE0 80243280 8CA30000 */ lw $v1, ($a1) /* 163AE0 80243280 8CA30000 */ lw $v1, ($a1)
/* 163AE4 80243284 30624000 */ andi $v0, $v1, 0x4000 /* 163AE4 80243284 30624000 */ andi $v0, $v1, 0x4000
/* 163AE8 80243288 10400004 */ beqz $v0, .L8024329C /* 163AE8 80243288 10400004 */ beqz $v0, .L8024329C
@ -82,8 +82,8 @@ glabel filemenu_update
/* 163B14 802432B4 0040F809 */ jalr $v0 /* 163B14 802432B4 0040F809 */ jalr $v0
/* 163B18 802432B8 00000000 */ nop /* 163B18 802432B8 00000000 */ nop
.L802432BC: .L802432BC:
/* 163B1C 802432BC 3C118025 */ lui $s1, %hi(D_80249B84) /* 163B1C 802432BC 3C118025 */ lui $s1, %hi(filemenu_menus)
/* 163B20 802432C0 26319B84 */ addiu $s1, $s1, %lo(D_80249B84) /* 163B20 802432C0 26319B84 */ addiu $s1, $s1, %lo(filemenu_menus)
/* 163B24 802432C4 0000802D */ daddu $s0, $zero, $zero /* 163B24 802432C4 0000802D */ daddu $s0, $zero, $zero
.L802432C8: .L802432C8:
/* 163B28 802432C8 8E240000 */ lw $a0, ($s1) /* 163B28 802432C8 8E240000 */ lw $a0, ($s1)

View File

@ -51,8 +51,8 @@ glabel filemenu_update_cursor
/* 163878 80243018 3C038025 */ lui $v1, %hi(D_80249B98) /* 163878 80243018 3C038025 */ lui $v1, %hi(D_80249B98)
/* 16387C 8024301C 24639B98 */ addiu $v1, $v1, %lo(D_80249B98) /* 16387C 8024301C 24639B98 */ addiu $v1, $v1, %lo(D_80249B98)
/* 163880 80243020 8C620000 */ lw $v0, ($v1) /* 163880 80243020 8C620000 */ lw $v0, ($v1)
/* 163884 80243024 3C048025 */ lui $a0, %hi(D_80249BA8) /* 163884 80243024 3C048025 */ lui $a0, %hi(filemenu_cursorGoalAlpha)
/* 163888 80243028 8C849BA8 */ lw $a0, %lo(D_80249BA8)($a0) /* 163888 80243028 8C849BA8 */ lw $a0, %lo(filemenu_cursorGoalAlpha)($a0)
/* 16388C 8024302C 00481021 */ addu $v0, $v0, $t0 /* 16388C 8024302C 00481021 */ addu $v0, $v0, $t0
/* 163890 80243030 14800009 */ bnez $a0, .L80243058 /* 163890 80243030 14800009 */ bnez $a0, .L80243058
/* 163894 80243034 AC620000 */ sw $v0, ($v1) /* 163894 80243034 AC620000 */ sw $v0, ($v1)
@ -104,8 +104,8 @@ glabel filemenu_update_cursor
/* 163930 802430D0 8C620000 */ lw $v0, ($v1) /* 163930 802430D0 8C620000 */ lw $v0, ($v1)
/* 163934 802430D4 14400008 */ bnez $v0, .L802430F8 /* 163934 802430D4 14400008 */ bnez $v0, .L802430F8
/* 163938 802430D8 28820040 */ slti $v0, $a0, 0x40 /* 163938 802430D8 28820040 */ slti $v0, $a0, 0x40
/* 16393C 802430DC 3C028025 */ lui $v0, %hi(D_80249BA8) /* 16393C 802430DC 3C028025 */ lui $v0, %hi(filemenu_cursorGoalAlpha)
/* 163940 802430E0 8C429BA8 */ lw $v0, %lo(D_80249BA8)($v0) /* 163940 802430E0 8C429BA8 */ lw $v0, %lo(filemenu_cursorGoalAlpha)($v0)
/* 163944 802430E4 14400004 */ bnez $v0, .L802430F8 /* 163944 802430E4 14400004 */ bnez $v0, .L802430F8
/* 163948 802430E8 28820040 */ slti $v0, $a0, 0x40 /* 163948 802430E8 28820040 */ slti $v0, $a0, 0x40
/* 16394C 802430EC 24020001 */ addiu $v0, $zero, 1 /* 16394C 802430EC 24020001 */ addiu $v0, $zero, 1
@ -114,8 +114,8 @@ glabel filemenu_update_cursor
.L802430F8: .L802430F8:
/* 163958 802430F8 1440001E */ bnez $v0, .L80243174 /* 163958 802430F8 1440001E */ bnez $v0, .L80243174
/* 16395C 802430FC 240200FF */ addiu $v0, $zero, 0xff /* 16395C 802430FC 240200FF */ addiu $v0, $zero, 0xff
/* 163960 80243100 3C038025 */ lui $v1, %hi(D_80249BAC) /* 163960 80243100 3C038025 */ lui $v1, %hi(filemenu_cursorGoalAlpha2)
/* 163964 80243104 8C639BAC */ lw $v1, %lo(D_80249BAC)($v1) /* 163964 80243104 8C639BAC */ lw $v1, %lo(filemenu_cursorGoalAlpha2)($v1)
/* 163968 80243108 14620010 */ bne $v1, $v0, .L8024314C /* 163968 80243108 14620010 */ bne $v1, $v0, .L8024314C
/* 16396C 8024310C 00000000 */ nop /* 16396C 8024310C 00000000 */ nop
/* 163970 80243110 3C038025 */ lui $v1, %hi(D_80249BB8) /* 163970 80243110 3C038025 */ lui $v1, %hi(D_80249BB8)
@ -139,15 +139,15 @@ glabel filemenu_update_cursor
/* 1639B4 80243154 1440000F */ bnez $v0, .L80243194 /* 1639B4 80243154 1440000F */ bnez $v0, .L80243194
/* 1639B8 80243158 240200FF */ addiu $v0, $zero, 0xff /* 1639B8 80243158 240200FF */ addiu $v0, $zero, 0xff
.L8024315C: .L8024315C:
/* 1639BC 8024315C 3C028025 */ lui $v0, %hi(D_80249BAC) /* 1639BC 8024315C 3C028025 */ lui $v0, %hi(filemenu_cursorGoalAlpha2)
/* 1639C0 80243160 8C429BAC */ lw $v0, %lo(D_80249BAC)($v0) /* 1639C0 80243160 8C429BAC */ lw $v0, %lo(filemenu_cursorGoalAlpha2)($v0)
/* 1639C4 80243164 3C018025 */ lui $at, %hi(D_80249BA8) /* 1639C4 80243164 3C018025 */ lui $at, %hi(filemenu_cursorGoalAlpha)
/* 1639C8 80243168 AC229BA8 */ sw $v0, %lo(D_80249BA8)($at) /* 1639C8 80243168 AC229BA8 */ sw $v0, %lo(filemenu_cursorGoalAlpha)($at)
/* 1639CC 8024316C 08090C65 */ j .L80243194 /* 1639CC 8024316C 08090C65 */ j .L80243194
/* 1639D0 80243170 240200FF */ addiu $v0, $zero, 0xff /* 1639D0 80243170 240200FF */ addiu $v0, $zero, 0xff
.L80243174: .L80243174:
/* 1639D4 80243174 3C028025 */ lui $v0, %hi(D_80249BA8) /* 1639D4 80243174 3C028025 */ lui $v0, %hi(filemenu_cursorGoalAlpha)
/* 1639D8 80243178 8C429BA8 */ lw $v0, %lo(D_80249BA8)($v0) /* 1639D8 80243178 8C429BA8 */ lw $v0, %lo(filemenu_cursorGoalAlpha)($v0)
/* 1639DC 8024317C 14400005 */ bnez $v0, .L80243194 /* 1639DC 8024317C 14400005 */ bnez $v0, .L80243194
/* 1639E0 80243180 240200FF */ addiu $v0, $zero, 0xff /* 1639E0 80243180 240200FF */ addiu $v0, $zero, 0xff
/* 1639E4 80243184 24020001 */ addiu $v0, $zero, 1 /* 1639E4 80243184 24020001 */ addiu $v0, $zero, 1
@ -156,6 +156,6 @@ glabel filemenu_update_cursor
.L80243190: .L80243190:
/* 1639F0 80243190 240200FF */ addiu $v0, $zero, 0xff /* 1639F0 80243190 240200FF */ addiu $v0, $zero, 0xff
.L80243194: .L80243194:
/* 1639F4 80243194 3C018025 */ lui $at, %hi(D_80249BAC) /* 1639F4 80243194 3C018025 */ lui $at, %hi(filemenu_cursorGoalAlpha2)
/* 1639F8 80243198 03E00008 */ jr $ra /* 1639F8 80243198 03E00008 */ jr $ra
/* 1639FC 8024319C AC229BAC */ sw $v0, %lo(D_80249BAC)($at) /* 1639FC 8024319C AC229BAC */ sw $v0, %lo(filemenu_cursorGoalAlpha2)($at)

View File

@ -1,87 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_update_hidden_name_confirm
/* 16474C 80243EEC 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 164750 80243EF0 3C028016 */ lui $v0, %hi(gWindows)
/* 164754 80243EF4 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* 164758 80243EF8 00042140 */ sll $a0, $a0, 5
/* 16475C 80243EFC 00822021 */ addu $a0, $a0, $v0
/* 164760 80243F00 AFBF0030 */ sw $ra, 0x30($sp)
/* 164764 80243F04 AFB1002C */ sw $s1, 0x2c($sp)
/* 164768 80243F08 AFB00028 */ sw $s0, 0x28($sp)
/* 16476C 80243F0C 9090001C */ lbu $s0, 0x1c($a0)
/* 164770 80243F10 2A02000A */ slti $v0, $s0, 0xa
/* 164774 80243F14 1040003D */ beqz $v0, .L8024400C
/* 164778 80243F18 00E0882D */ daddu $s1, $a3, $zero
/* 16477C 80243F1C 3C06E300 */ lui $a2, 0xe300
/* 164780 80243F20 34C60A01 */ ori $a2, $a2, 0xa01
/* 164784 80243F24 3C09FCFF */ lui $t1, 0xfcff
/* 164788 80243F28 3529FFFF */ ori $t1, $t1, 0xffff
/* 16478C 80243F2C 3C07FFFD */ lui $a3, 0xfffd
/* 164790 80243F30 34E7F6FB */ ori $a3, $a3, 0xf6fb
/* 164794 80243F34 3C0AE200 */ lui $t2, 0xe200
/* 164798 80243F38 354A001C */ ori $t2, $t2, 0x1c
/* 16479C 80243F3C 3C080050 */ lui $t0, 0x50
/* 1647A0 80243F40 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 1647A4 80243F44 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 1647A8 80243F48 35084340 */ ori $t0, $t0, 0x4340
/* 1647AC 80243F4C 8C640000 */ lw $a0, ($v1)
/* 1647B0 80243F50 3C02E700 */ lui $v0, 0xe700
/* 1647B4 80243F54 0080282D */ daddu $a1, $a0, $zero
/* 1647B8 80243F58 24840008 */ addiu $a0, $a0, 8
/* 1647BC 80243F5C AC640000 */ sw $a0, ($v1)
/* 1647C0 80243F60 ACA20000 */ sw $v0, ($a1)
/* 1647C4 80243F64 24820008 */ addiu $v0, $a0, 8
/* 1647C8 80243F68 ACA00004 */ sw $zero, 4($a1)
/* 1647CC 80243F6C AC620000 */ sw $v0, ($v1)
/* 1647D0 80243F70 24820010 */ addiu $v0, $a0, 0x10
/* 1647D4 80243F74 AC860000 */ sw $a2, ($a0)
/* 1647D8 80243F78 AC800004 */ sw $zero, 4($a0)
/* 1647DC 80243F7C AC620000 */ sw $v0, ($v1)
/* 1647E0 80243F80 24820018 */ addiu $v0, $a0, 0x18
/* 1647E4 80243F84 AC890008 */ sw $t1, 8($a0)
/* 1647E8 80243F88 AC87000C */ sw $a3, 0xc($a0)
/* 1647EC 80243F8C AC620000 */ sw $v0, ($v1)
/* 1647F0 80243F90 24820020 */ addiu $v0, $a0, 0x20
/* 1647F4 80243F94 AC8A0010 */ sw $t2, 0x10($a0)
/* 1647F8 80243F98 AC880014 */ sw $t0, 0x14($a0)
/* 1647FC 80243F9C AC620000 */ sw $v0, ($v1)
/* 164800 80243FA0 3C02FA00 */ lui $v0, 0xfa00
/* 164804 80243FA4 001018C0 */ sll $v1, $s0, 3
/* 164808 80243FA8 00701823 */ subu $v1, $v1, $s0
/* 16480C 80243FAC 00031840 */ sll $v1, $v1, 1
/* 164810 80243FB0 AC820018 */ sw $v0, 0x18($a0)
/* 164814 80243FB4 2402008C */ addiu $v0, $zero, 0x8c
/* 164818 80243FB8 00431023 */ subu $v0, $v0, $v1
/* 16481C 80243FBC 304200FF */ andi $v0, $v0, 0xff
/* 164820 80243FC0 AC82001C */ sw $v0, 0x1c($a0)
/* 164824 80243FC4 0000202D */ daddu $a0, $zero, $zero
/* 164828 80243FC8 0080282D */ daddu $a1, $a0, $zero
/* 16482C 80243FCC 24060500 */ addiu $a2, $zero, 0x500
/* 164830 80243FD0 240703C0 */ addiu $a3, $zero, 0x3c0
/* 164834 80243FD4 AFA00010 */ sw $zero, 0x10($sp)
/* 164838 80243FD8 AFA00014 */ sw $zero, 0x14($sp)
/* 16483C 80243FDC AFA00018 */ sw $zero, 0x18($sp)
/* 164840 80243FE0 AFA0001C */ sw $zero, 0x1c($sp)
/* 164844 80243FE4 0C090AE8 */ jal mainmenu_draw_rect
/* 164848 80243FE8 AFA00020 */ sw $zero, 0x20($sp)
/* 16484C 80243FEC 00101040 */ sll $v0, $s0, 1
/* 164850 80243FF0 3C038025 */ lui $v1, %hi(D_80249D48)
/* 164854 80243FF4 00621821 */ addu $v1, $v1, $v0
/* 164858 80243FF8 84639D48 */ lh $v1, %lo(D_80249D48)($v1)
/* 16485C 80243FFC 8E220000 */ lw $v0, ($s1)
/* 164860 80244000 00431023 */ subu $v0, $v0, $v1
/* 164864 80244004 08091007 */ j .L8024401C
/* 164868 80244008 AE220000 */ sw $v0, ($s1)
.L8024400C:
/* 16486C 8024400C 90820000 */ lbu $v0, ($a0)
/* 164870 80244010 304200F7 */ andi $v0, $v0, 0xf7
/* 164874 80244014 34420004 */ ori $v0, $v0, 4
/* 164878 80244018 A0820000 */ sb $v0, ($a0)
.L8024401C:
/* 16487C 8024401C 8FBF0030 */ lw $ra, 0x30($sp)
/* 164880 80244020 8FB1002C */ lw $s1, 0x2c($sp)
/* 164884 80244024 8FB00028 */ lw $s0, 0x28($sp)
/* 164888 80244028 03E00008 */ jr $ra
/* 16488C 8024402C 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,30 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_update_hidden_name_input
/* 163E88 80243628 3C028016 */ lui $v0, %hi(gWindows)
/* 163E8C 8024362C 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* 163E90 80243630 00042140 */ sll $a0, $a0, 5
/* 163E94 80243634 00822021 */ addu $a0, $a0, $v0
/* 163E98 80243638 9083001C */ lbu $v1, 0x1c($a0)
/* 163E9C 8024363C 2862000A */ slti $v0, $v1, 0xa
/* 163EA0 80243640 10400008 */ beqz $v0, .L80243664
/* 163EA4 80243644 00031040 */ sll $v0, $v1, 1
/* 163EA8 80243648 3C038025 */ lui $v1, %hi(D_80249C90)
/* 163EAC 8024364C 00621821 */ addu $v1, $v1, $v0
/* 163EB0 80243650 84639C90 */ lh $v1, %lo(D_80249C90)($v1)
/* 163EB4 80243654 8CC20000 */ lw $v0, ($a2)
/* 163EB8 80243658 00431023 */ subu $v0, $v0, $v1
/* 163EBC 8024365C 03E00008 */ jr $ra
/* 163EC0 80243660 ACC20000 */ sw $v0, ($a2)
.L80243664:
/* 163EC4 80243664 3C028025 */ lui $v0, %hi(D_80249CA2)
/* 163EC8 80243668 84429CA2 */ lh $v0, %lo(D_80249CA2)($v0)
/* 163ECC 8024366C 8CC30000 */ lw $v1, ($a2)
/* 163ED0 80243670 00621823 */ subu $v1, $v1, $v0
/* 163ED4 80243674 ACC30000 */ sw $v1, ($a2)
/* 163ED8 80243678 90820000 */ lbu $v0, ($a0)
/* 163EDC 8024367C 304200F7 */ andi $v0, $v0, 0xf7
/* 163EE0 80243680 34420004 */ ori $v0, $v0, 4
/* 163EE4 80243684 03E00008 */ jr $ra
/* 163EE8 80243688 A0820000 */ sb $v0, ($a0)

View File

@ -1,30 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_update_hidden_options_bottom
/* 164018 802437B8 3C028016 */ lui $v0, %hi(gWindows)
/* 16401C 802437BC 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* 164020 802437C0 00042140 */ sll $a0, $a0, 5
/* 164024 802437C4 00822021 */ addu $a0, $a0, $v0
/* 164028 802437C8 9083001C */ lbu $v1, 0x1c($a0)
/* 16402C 802437CC 2862000A */ slti $v0, $v1, 0xa
/* 164030 802437D0 10400008 */ beqz $v0, .L802437F4
/* 164034 802437D4 00031040 */ sll $v0, $v1, 1
/* 164038 802437D8 3C038025 */ lui $v1, %hi(D_80249CE0)
/* 16403C 802437DC 00621821 */ addu $v1, $v1, $v0
/* 164040 802437E0 84639CE0 */ lh $v1, %lo(D_80249CE0)($v1)
/* 164044 802437E4 8CE20000 */ lw $v0, ($a3)
/* 164048 802437E8 00431023 */ subu $v0, $v0, $v1
/* 16404C 802437EC 03E00008 */ jr $ra
/* 164050 802437F0 ACE20000 */ sw $v0, ($a3)
.L802437F4:
/* 164054 802437F4 3C028025 */ lui $v0, %hi(D_80249CF2)
/* 164058 802437F8 84429CF2 */ lh $v0, %lo(D_80249CF2)($v0)
/* 16405C 802437FC 8CE30000 */ lw $v1, ($a3)
/* 164060 80243800 00621823 */ subu $v1, $v1, $v0
/* 164064 80243804 ACE30000 */ sw $v1, ($a3)
/* 164068 80243808 90820000 */ lbu $v0, ($a0)
/* 16406C 8024380C 304200F7 */ andi $v0, $v0, 0xf7
/* 164070 80243810 34420004 */ ori $v0, $v0, 4
/* 164074 80243814 03E00008 */ jr $ra
/* 164078 80243818 A0820000 */ sb $v0, ($a0)

View File

@ -1,30 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_update_hidden_options_left
/* 163EEC 8024368C 3C028016 */ lui $v0, %hi(gWindows)
/* 163EF0 80243690 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* 163EF4 80243694 00042140 */ sll $a0, $a0, 5
/* 163EF8 80243698 00822021 */ addu $a0, $a0, $v0
/* 163EFC 8024369C 9083001C */ lbu $v1, 0x1c($a0)
/* 163F00 802436A0 2862000A */ slti $v0, $v1, 0xa
/* 163F04 802436A4 10400008 */ beqz $v0, .L802436C8
/* 163F08 802436A8 00031040 */ sll $v0, $v1, 1
/* 163F0C 802436AC 3C038025 */ lui $v1, %hi(D_80249CA4)
/* 163F10 802436B0 00621821 */ addu $v1, $v1, $v0
/* 163F14 802436B4 84639CA4 */ lh $v1, %lo(D_80249CA4)($v1)
/* 163F18 802436B8 8CC20000 */ lw $v0, ($a2)
/* 163F1C 802436BC 00431021 */ addu $v0, $v0, $v1
/* 163F20 802436C0 03E00008 */ jr $ra
/* 163F24 802436C4 ACC20000 */ sw $v0, ($a2)
.L802436C8:
/* 163F28 802436C8 3C028025 */ lui $v0, %hi(D_80249CB6)
/* 163F2C 802436CC 84429CB6 */ lh $v0, %lo(D_80249CB6)($v0)
/* 163F30 802436D0 8CC30000 */ lw $v1, ($a2)
/* 163F34 802436D4 00621821 */ addu $v1, $v1, $v0
/* 163F38 802436D8 ACC30000 */ sw $v1, ($a2)
/* 163F3C 802436DC 90820000 */ lbu $v0, ($a0)
/* 163F40 802436E0 304200F7 */ andi $v0, $v0, 0xf7
/* 163F44 802436E4 34420004 */ ori $v0, $v0, 4
/* 163F48 802436E8 03E00008 */ jr $ra
/* 163F4C 802436EC A0820000 */ sb $v0, ($a0)

View File

@ -1,30 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_update_hidden_options_right
/* 163F50 802436F0 3C028016 */ lui $v0, %hi(gWindows)
/* 163F54 802436F4 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* 163F58 802436F8 00042140 */ sll $a0, $a0, 5
/* 163F5C 802436FC 00822021 */ addu $a0, $a0, $v0
/* 163F60 80243700 9083001C */ lbu $v1, 0x1c($a0)
/* 163F64 80243704 2862000A */ slti $v0, $v1, 0xa
/* 163F68 80243708 10400008 */ beqz $v0, .L8024372C
/* 163F6C 8024370C 00031040 */ sll $v0, $v1, 1
/* 163F70 80243710 3C038025 */ lui $v1, %hi(D_80249CB8)
/* 163F74 80243714 00621821 */ addu $v1, $v1, $v0
/* 163F78 80243718 84639CB8 */ lh $v1, %lo(D_80249CB8)($v1)
/* 163F7C 8024371C 8CC20000 */ lw $v0, ($a2)
/* 163F80 80243720 00431023 */ subu $v0, $v0, $v1
/* 163F84 80243724 03E00008 */ jr $ra
/* 163F88 80243728 ACC20000 */ sw $v0, ($a2)
.L8024372C:
/* 163F8C 8024372C 3C028025 */ lui $v0, %hi(D_80249CCA)
/* 163F90 80243730 84429CCA */ lh $v0, %lo(D_80249CCA)($v0)
/* 163F94 80243734 8CC30000 */ lw $v1, ($a2)
/* 163F98 80243738 00621823 */ subu $v1, $v1, $v0
/* 163F9C 8024373C ACC30000 */ sw $v1, ($a2)
/* 163FA0 80243740 90820000 */ lbu $v0, ($a0)
/* 163FA4 80243744 304200F7 */ andi $v0, $v0, 0xf7
/* 163FA8 80243748 34420004 */ ori $v0, $v0, 4
/* 163FAC 8024374C 03E00008 */ jr $ra
/* 163FB0 80243750 A0820000 */ sb $v0, ($a0)

View File

@ -1,30 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_update_hidden_title
/* 163FB4 80243754 3C028016 */ lui $v0, %hi(gWindows)
/* 163FB8 80243758 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* 163FBC 8024375C 00042140 */ sll $a0, $a0, 5
/* 163FC0 80243760 00822021 */ addu $a0, $a0, $v0
/* 163FC4 80243764 9083001C */ lbu $v1, 0x1c($a0)
/* 163FC8 80243768 2862000A */ slti $v0, $v1, 0xa
/* 163FCC 8024376C 10400008 */ beqz $v0, .L80243790
/* 163FD0 80243770 00031040 */ sll $v0, $v1, 1
/* 163FD4 80243774 3C038025 */ lui $v1, %hi(D_80249CCC)
/* 163FD8 80243778 00621821 */ addu $v1, $v1, $v0
/* 163FDC 8024377C 84639CCC */ lh $v1, %lo(D_80249CCC)($v1)
/* 163FE0 80243780 8CE20000 */ lw $v0, ($a3)
/* 163FE4 80243784 00431021 */ addu $v0, $v0, $v1
/* 163FE8 80243788 03E00008 */ jr $ra
/* 163FEC 8024378C ACE20000 */ sw $v0, ($a3)
.L80243790:
/* 163FF0 80243790 3C028025 */ lui $v0, %hi(D_80249CDE)
/* 163FF4 80243794 84429CDE */ lh $v0, %lo(D_80249CDE)($v0)
/* 163FF8 80243798 8CE30000 */ lw $v1, ($a3)
/* 163FFC 8024379C 00621821 */ addu $v1, $v1, $v0
/* 164000 802437A0 ACE30000 */ sw $v1, ($a3)
/* 164004 802437A4 90820000 */ lbu $v0, ($a0)
/* 164008 802437A8 304200F7 */ andi $v0, $v0, 0xf7
/* 16400C 802437AC 34420004 */ ori $v0, $v0, 4
/* 164010 802437B0 03E00008 */ jr $ra
/* 164014 802437B4 A0820000 */ sb $v0, ($a0)

View File

@ -1,33 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_update_hidden_with_rotation
/* 1640F8 80243898 3C028016 */ lui $v0, %hi(gWindows)
/* 1640FC 8024389C 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* 164100 802438A0 00042140 */ sll $a0, $a0, 5
/* 164104 802438A4 00822021 */ addu $a0, $a0, $v0
/* 164108 802438A8 9083001C */ lbu $v1, 0x1c($a0)
/* 16410C 802438AC 8FA60020 */ lw $a2, 0x20($sp)
/* 164110 802438B0 2862000A */ slti $v0, $v1, 0xa
/* 164114 802438B4 5040000F */ beql $v0, $zero, .L802438F4
/* 164118 802438B8 ACA00000 */ sw $zero, ($a1)
/* 16411C 802438BC 00031040 */ sll $v0, $v1, 1
/* 164120 802438C0 3C018025 */ lui $at, %hi(D_80249D14)
/* 164124 802438C4 00220821 */ addu $at, $at, $v0
/* 164128 802438C8 84229D14 */ lh $v0, %lo(D_80249D14)($at)
/* 16412C 802438CC C4C00000 */ lwc1 $f0, ($a2)
/* 164130 802438D0 00021023 */ negu $v0, $v0
/* 164134 802438D4 44821000 */ mtc1 $v0, $f2
/* 164138 802438D8 00000000 */ nop
/* 16413C 802438DC 468010A0 */ cvt.s.w $f2, $f2
/* 164140 802438E0 46020000 */ add.s $f0, $f0, $f2
/* 164144 802438E4 24020009 */ addiu $v0, $zero, 9
/* 164148 802438E8 E4C00000 */ swc1 $f0, ($a2)
/* 16414C 802438EC 03E00008 */ jr $ra
/* 164150 802438F0 ACA20000 */ sw $v0, ($a1)
.L802438F4:
/* 164154 802438F4 90820000 */ lbu $v0, ($a0)
/* 164158 802438F8 304200F7 */ andi $v0, $v0, 0xf7
/* 16415C 802438FC 34420004 */ ori $v0, $v0, 4
/* 164160 80243900 03E00008 */ jr $ra
/* 164164 80243904 A0820000 */ sb $v0, ($a0)

View File

@ -1,35 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_update_show_name_input
/* 163BE0 80243380 3C028016 */ lui $v0, %hi(gWindows)
/* 163BE4 80243384 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* 163BE8 80243388 00042140 */ sll $a0, $a0, 5
/* 163BEC 8024338C 00822021 */ addu $a0, $a0, $v0
/* 163BF0 80243390 9083001C */ lbu $v1, 0x1c($a0)
/* 163BF4 80243394 14600005 */ bnez $v1, .L802433AC
/* 163BF8 80243398 28620010 */ slti $v0, $v1, 0x10
/* 163BFC 8024339C 90820000 */ lbu $v0, ($a0)
/* 163C00 802433A0 304200FB */ andi $v0, $v0, 0xfb
/* 163C04 802433A4 A0820000 */ sb $v0, ($a0)
/* 163C08 802433A8 28620010 */ slti $v0, $v1, 0x10
.L802433AC:
/* 163C0C 802433AC 10400008 */ beqz $v0, .L802433D0
/* 163C10 802433B0 00031040 */ sll $v0, $v1, 1
/* 163C14 802433B4 3C038025 */ lui $v1, %hi(D_80249BDC)
/* 163C18 802433B8 00621821 */ addu $v1, $v1, $v0
/* 163C1C 802433BC 84639BDC */ lh $v1, %lo(D_80249BDC)($v1)
/* 163C20 802433C0 8CC20000 */ lw $v0, ($a2)
/* 163C24 802433C4 00431021 */ addu $v0, $v0, $v1
/* 163C28 802433C8 03E00008 */ jr $ra
/* 163C2C 802433CC ACC20000 */ sw $v0, ($a2)
.L802433D0:
/* 163C30 802433D0 3C028025 */ lui $v0, %hi(D_80249BFA)
/* 163C34 802433D4 84429BFA */ lh $v0, %lo(D_80249BFA)($v0)
/* 163C38 802433D8 8CC30000 */ lw $v1, ($a2)
/* 163C3C 802433DC 00621821 */ addu $v1, $v1, $v0
/* 163C40 802433E0 ACC30000 */ sw $v1, ($a2)
/* 163C44 802433E4 90820000 */ lbu $v0, ($a0)
/* 163C48 802433E8 304200F7 */ andi $v0, $v0, 0xf7
/* 163C4C 802433EC 03E00008 */ jr $ra
/* 163C50 802433F0 A0820000 */ sb $v0, ($a0)

View File

@ -1,35 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_update_show_options_bottom
/* 163D3C 802434DC 3C028016 */ lui $v0, %hi(gWindows)
/* 163D40 802434E0 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* 163D44 802434E4 00042140 */ sll $a0, $a0, 5
/* 163D48 802434E8 00822021 */ addu $a0, $a0, $v0
/* 163D4C 802434EC 9083001C */ lbu $v1, 0x1c($a0)
/* 163D50 802434F0 14600005 */ bnez $v1, .L80243508
/* 163D54 802434F4 28620010 */ slti $v0, $v1, 0x10
/* 163D58 802434F8 90820000 */ lbu $v0, ($a0)
/* 163D5C 802434FC 304200FB */ andi $v0, $v0, 0xfb
/* 163D60 80243500 A0820000 */ sb $v0, ($a0)
/* 163D64 80243504 28620010 */ slti $v0, $v1, 0x10
.L80243508:
/* 163D68 80243508 10400008 */ beqz $v0, .L8024352C
/* 163D6C 8024350C 00031040 */ sll $v0, $v1, 1
/* 163D70 80243510 3C038025 */ lui $v1, %hi(D_80249C3C)
/* 163D74 80243514 00621821 */ addu $v1, $v1, $v0
/* 163D78 80243518 84639C3C */ lh $v1, %lo(D_80249C3C)($v1)
/* 163D7C 8024351C 8CE20000 */ lw $v0, ($a3)
/* 163D80 80243520 00431021 */ addu $v0, $v0, $v1
/* 163D84 80243524 03E00008 */ jr $ra
/* 163D88 80243528 ACE20000 */ sw $v0, ($a3)
.L8024352C:
/* 163D8C 8024352C 3C028025 */ lui $v0, %hi(D_80249C5A)
/* 163D90 80243530 84429C5A */ lh $v0, %lo(D_80249C5A)($v0)
/* 163D94 80243534 8CE30000 */ lw $v1, ($a3)
/* 163D98 80243538 00621821 */ addu $v1, $v1, $v0
/* 163D9C 8024353C ACE30000 */ sw $v1, ($a3)
/* 163DA0 80243540 90820000 */ lbu $v0, ($a0)
/* 163DA4 80243544 304200F7 */ andi $v0, $v0, 0xf7
/* 163DA8 80243548 03E00008 */ jr $ra
/* 163DAC 8024354C A0820000 */ sb $v0, ($a0)

View File

@ -1,35 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_update_show_options_left
/* 163C54 802433F4 3C028016 */ lui $v0, %hi(gWindows)
/* 163C58 802433F8 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* 163C5C 802433FC 00042140 */ sll $a0, $a0, 5
/* 163C60 80243400 00822021 */ addu $a0, $a0, $v0
/* 163C64 80243404 9083001C */ lbu $v1, 0x1c($a0)
/* 163C68 80243408 14600005 */ bnez $v1, .L80243420
/* 163C6C 8024340C 28620010 */ slti $v0, $v1, 0x10
/* 163C70 80243410 90820000 */ lbu $v0, ($a0)
/* 163C74 80243414 304200FB */ andi $v0, $v0, 0xfb
/* 163C78 80243418 A0820000 */ sb $v0, ($a0)
/* 163C7C 8024341C 28620010 */ slti $v0, $v1, 0x10
.L80243420:
/* 163C80 80243420 10400008 */ beqz $v0, .L80243444
/* 163C84 80243424 00031040 */ sll $v0, $v1, 1
/* 163C88 80243428 3C038025 */ lui $v1, %hi(D_80249BFC)
/* 163C8C 8024342C 00621821 */ addu $v1, $v1, $v0
/* 163C90 80243430 84639BFC */ lh $v1, %lo(D_80249BFC)($v1)
/* 163C94 80243434 8CC20000 */ lw $v0, ($a2)
/* 163C98 80243438 00431023 */ subu $v0, $v0, $v1
/* 163C9C 8024343C 03E00008 */ jr $ra
/* 163CA0 80243440 ACC20000 */ sw $v0, ($a2)
.L80243444:
/* 163CA4 80243444 3C028025 */ lui $v0, %hi(D_80249C1A)
/* 163CA8 80243448 84429C1A */ lh $v0, %lo(D_80249C1A)($v0)
/* 163CAC 8024344C 8CC30000 */ lw $v1, ($a2)
/* 163CB0 80243450 00621823 */ subu $v1, $v1, $v0
/* 163CB4 80243454 ACC30000 */ sw $v1, ($a2)
/* 163CB8 80243458 90820000 */ lbu $v0, ($a0)
/* 163CBC 8024345C 304200F7 */ andi $v0, $v0, 0xf7
/* 163CC0 80243460 03E00008 */ jr $ra
/* 163CC4 80243464 A0820000 */ sb $v0, ($a0)

View File

@ -1,35 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_update_show_options_right
/* 163CC8 80243468 3C028016 */ lui $v0, %hi(gWindows)
/* 163CCC 8024346C 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* 163CD0 80243470 00042140 */ sll $a0, $a0, 5
/* 163CD4 80243474 00822021 */ addu $a0, $a0, $v0
/* 163CD8 80243478 9083001C */ lbu $v1, 0x1c($a0)
/* 163CDC 8024347C 14600005 */ bnez $v1, .L80243494
/* 163CE0 80243480 28620010 */ slti $v0, $v1, 0x10
/* 163CE4 80243484 90820000 */ lbu $v0, ($a0)
/* 163CE8 80243488 304200FB */ andi $v0, $v0, 0xfb
/* 163CEC 8024348C A0820000 */ sb $v0, ($a0)
/* 163CF0 80243490 28620010 */ slti $v0, $v1, 0x10
.L80243494:
/* 163CF4 80243494 10400008 */ beqz $v0, .L802434B8
/* 163CF8 80243498 00031040 */ sll $v0, $v1, 1
/* 163CFC 8024349C 3C038025 */ lui $v1, %hi(D_80249C1C)
/* 163D00 802434A0 00621821 */ addu $v1, $v1, $v0
/* 163D04 802434A4 84639C1C */ lh $v1, %lo(D_80249C1C)($v1)
/* 163D08 802434A8 8CC20000 */ lw $v0, ($a2)
/* 163D0C 802434AC 00431021 */ addu $v0, $v0, $v1
/* 163D10 802434B0 03E00008 */ jr $ra
/* 163D14 802434B4 ACC20000 */ sw $v0, ($a2)
.L802434B8:
/* 163D18 802434B8 3C028025 */ lui $v0, %hi(D_80249C3A)
/* 163D1C 802434BC 84429C3A */ lh $v0, %lo(D_80249C3A)($v0)
/* 163D20 802434C0 8CC30000 */ lw $v1, ($a2)
/* 163D24 802434C4 00621821 */ addu $v1, $v1, $v0
/* 163D28 802434C8 ACC30000 */ sw $v1, ($a2)
/* 163D2C 802434CC 90820000 */ lbu $v0, ($a0)
/* 163D30 802434D0 304200F7 */ andi $v0, $v0, 0xf7
/* 163D34 802434D4 03E00008 */ jr $ra
/* 163D38 802434D8 A0820000 */ sb $v0, ($a0)

View File

@ -1,35 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_update_show_title
/* 163DB0 80243550 3C028016 */ lui $v0, %hi(gWindows)
/* 163DB4 80243554 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* 163DB8 80243558 00042140 */ sll $a0, $a0, 5
/* 163DBC 8024355C 00822021 */ addu $a0, $a0, $v0
/* 163DC0 80243560 9083001C */ lbu $v1, 0x1c($a0)
/* 163DC4 80243564 14600005 */ bnez $v1, .L8024357C
/* 163DC8 80243568 28620010 */ slti $v0, $v1, 0x10
/* 163DCC 8024356C 90820000 */ lbu $v0, ($a0)
/* 163DD0 80243570 304200FB */ andi $v0, $v0, 0xfb
/* 163DD4 80243574 A0820000 */ sb $v0, ($a0)
/* 163DD8 80243578 28620010 */ slti $v0, $v1, 0x10
.L8024357C:
/* 163DDC 8024357C 10400008 */ beqz $v0, .L802435A0
/* 163DE0 80243580 00031040 */ sll $v0, $v1, 1
/* 163DE4 80243584 3C038025 */ lui $v1, %hi(D_80249C5C)
/* 163DE8 80243588 00621821 */ addu $v1, $v1, $v0
/* 163DEC 8024358C 84639C5C */ lh $v1, %lo(D_80249C5C)($v1)
/* 163DF0 80243590 8CE20000 */ lw $v0, ($a3)
/* 163DF4 80243594 00431023 */ subu $v0, $v0, $v1
/* 163DF8 80243598 03E00008 */ jr $ra
/* 163DFC 8024359C ACE20000 */ sw $v0, ($a3)
.L802435A0:
/* 163E00 802435A0 3C028025 */ lui $v0, %hi(D_80249C7A)
/* 163E04 802435A4 84429C7A */ lh $v0, %lo(D_80249C7A)($v0)
/* 163E08 802435A8 8CE30000 */ lw $v1, ($a3)
/* 163E0C 802435AC 00621823 */ subu $v1, $v1, $v0
/* 163E10 802435B0 ACE30000 */ sw $v1, ($a3)
/* 163E14 802435B4 90820000 */ lbu $v0, ($a0)
/* 163E18 802435B8 304200F7 */ andi $v0, $v0, 0xf7
/* 163E1C 802435BC 03E00008 */ jr $ra
/* 163E20 802435C0 A0820000 */ sb $v0, ($a0)

View File

@ -1,37 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_update_show_with_rotation
/* 16407C 8024381C 3C028016 */ lui $v0, %hi(gWindows)
/* 164080 80243820 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* 164084 80243824 00042140 */ sll $a0, $a0, 5
/* 164088 80243828 00822021 */ addu $a0, $a0, $v0
/* 16408C 8024382C 9083001C */ lbu $v1, 0x1c($a0)
/* 164090 80243830 8FA60020 */ lw $a2, 0x20($sp)
/* 164094 80243834 14600005 */ bnez $v1, .L8024384C
/* 164098 80243838 28620010 */ slti $v0, $v1, 0x10
/* 16409C 8024383C 90820000 */ lbu $v0, ($a0)
/* 1640A0 80243840 304200FB */ andi $v0, $v0, 0xfb
/* 1640A4 80243844 A0820000 */ sb $v0, ($a0)
/* 1640A8 80243848 28620010 */ slti $v0, $v1, 0x10
.L8024384C:
/* 1640AC 8024384C 5040000E */ beql $v0, $zero, .L80243888
/* 1640B0 80243850 ACA00000 */ sw $zero, ($a1)
/* 1640B4 80243854 00031040 */ sll $v0, $v1, 1
/* 1640B8 80243858 3C018025 */ lui $at, %hi(D_80249CF4)
/* 1640BC 8024385C 00220821 */ addu $at, $at, $v0
/* 1640C0 80243860 84229CF4 */ lh $v0, %lo(D_80249CF4)($at)
/* 1640C4 80243864 C4C00000 */ lwc1 $f0, ($a2)
/* 1640C8 80243868 44821000 */ mtc1 $v0, $f2
/* 1640CC 8024386C 00000000 */ nop
/* 1640D0 80243870 468010A0 */ cvt.s.w $f2, $f2
/* 1640D4 80243874 46020000 */ add.s $f0, $f0, $f2
/* 1640D8 80243878 24020009 */ addiu $v0, $zero, 9
/* 1640DC 8024387C E4C00000 */ swc1 $f0, ($a2)
/* 1640E0 80243880 03E00008 */ jr $ra
/* 1640E4 80243884 ACA20000 */ sw $v0, ($a1)
.L80243888:
/* 1640E8 80243888 90820000 */ lbu $v0, ($a0)
/* 1640EC 8024388C 304200F7 */ andi $v0, $v0, 0xf7
/* 1640F0 80243890 03E00008 */ jr $ra
/* 1640F4 80243894 A0820000 */ sb $v0, ($a0)

View File

@ -1,35 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024330C
/* 163B6C 8024330C 3C028016 */ lui $v0, %hi(gWindows)
/* 163B70 80243310 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* 163B74 80243314 00042140 */ sll $a0, $a0, 5
/* 163B78 80243318 00822021 */ addu $a0, $a0, $v0
/* 163B7C 8024331C 9083001C */ lbu $v1, 0x1c($a0)
/* 163B80 80243320 14600005 */ bnez $v1, .L80243338
/* 163B84 80243324 28620010 */ slti $v0, $v1, 0x10
/* 163B88 80243328 90820000 */ lbu $v0, ($a0)
/* 163B8C 8024332C 304200FB */ andi $v0, $v0, 0xfb
/* 163B90 80243330 A0820000 */ sb $v0, ($a0)
/* 163B94 80243334 28620010 */ slti $v0, $v1, 0x10
.L80243338:
/* 163B98 80243338 10400008 */ beqz $v0, .L8024335C
/* 163B9C 8024333C 00031040 */ sll $v0, $v1, 1
/* 163BA0 80243340 3C038025 */ lui $v1, %hi(D_80249BBC)
/* 163BA4 80243344 00621821 */ addu $v1, $v1, $v0
/* 163BA8 80243348 84639BBC */ lh $v1, %lo(D_80249BBC)($v1)
/* 163BAC 8024334C 8CC20000 */ lw $v0, ($a2)
/* 163BB0 80243350 00431023 */ subu $v0, $v0, $v1
/* 163BB4 80243354 03E00008 */ jr $ra
/* 163BB8 80243358 ACC20000 */ sw $v0, ($a2)
.L8024335C:
/* 163BBC 8024335C 3C028025 */ lui $v0, %hi(D_80249BDA)
/* 163BC0 80243360 84429BDA */ lh $v0, %lo(D_80249BDA)($v0)
/* 163BC4 80243364 8CC30000 */ lw $v1, ($a2)
/* 163BC8 80243368 00621823 */ subu $v1, $v1, $v0
/* 163BCC 8024336C ACC30000 */ sw $v1, ($a2)
/* 163BD0 80243370 90820000 */ lbu $v0, ($a0)
/* 163BD4 80243374 304200F7 */ andi $v0, $v0, 0xf7
/* 163BD8 80243378 03E00008 */ jr $ra
/* 163BDC 8024337C A0820000 */ sb $v0, ($a0)

View File

@ -1,30 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802435C4
/* 163E24 802435C4 3C028016 */ lui $v0, %hi(gWindows)
/* 163E28 802435C8 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* 163E2C 802435CC 00042140 */ sll $a0, $a0, 5
/* 163E30 802435D0 00822021 */ addu $a0, $a0, $v0
/* 163E34 802435D4 9083001C */ lbu $v1, 0x1c($a0)
/* 163E38 802435D8 2862000A */ slti $v0, $v1, 0xa
/* 163E3C 802435DC 10400008 */ beqz $v0, .L80243600
/* 163E40 802435E0 00031040 */ sll $v0, $v1, 1
/* 163E44 802435E4 3C038025 */ lui $v1, %hi(D_80249C7C)
/* 163E48 802435E8 00621821 */ addu $v1, $v1, $v0
/* 163E4C 802435EC 84639C7C */ lh $v1, %lo(D_80249C7C)($v1)
/* 163E50 802435F0 8CC20000 */ lw $v0, ($a2)
/* 163E54 802435F4 00431021 */ addu $v0, $v0, $v1
/* 163E58 802435F8 03E00008 */ jr $ra
/* 163E5C 802435FC ACC20000 */ sw $v0, ($a2)
.L80243600:
/* 163E60 80243600 3C028025 */ lui $v0, %hi(D_80249C8E)
/* 163E64 80243604 84429C8E */ lh $v0, %lo(D_80249C8E)($v0)
/* 163E68 80243608 8CC30000 */ lw $v1, ($a2)
/* 163E6C 8024360C 00621821 */ addu $v1, $v1, $v0
/* 163E70 80243610 ACC30000 */ sw $v1, ($a2)
/* 163E74 80243614 90820000 */ lbu $v0, ($a0)
/* 163E78 80243618 304200F7 */ andi $v0, $v0, 0xf7
/* 163E7C 8024361C 34420004 */ ori $v0, $v0, 4
/* 163E80 80243620 03E00008 */ jr $ra
/* 163E84 80243624 A0820000 */ sb $v0, ($a0)

View File

@ -2,8 +2,8 @@
.set noreorder # don't insert nops after branches .set noreorder # don't insert nops after branches
glabel func_80244BC4 glabel func_80244BC4
/* 165424 80244BC4 3C048025 */ lui $a0, %hi(D_80249B84) /* 165424 80244BC4 3C048025 */ lui $a0, %hi(filemenu_menus)
/* 165428 80244BC8 24849B84 */ addiu $a0, $a0, %lo(D_80249B84) /* 165428 80244BC8 24849B84 */ addiu $a0, $a0, %lo(filemenu_menus)
/* 16542C 80244BCC 8C820000 */ lw $v0, ($a0) /* 16542C 80244BCC 8C820000 */ lw $v0, ($a0)
/* 165430 80244BD0 80420004 */ lb $v0, 4($v0) /* 165430 80244BD0 80420004 */ lb $v0, 4($v0)
/* 165434 80244BD4 14400009 */ bnez $v0, .L80244BFC /* 165434 80244BD4 14400009 */ bnez $v0, .L80244BFC
@ -17,8 +17,8 @@ glabel func_80244BC4
/* 165454 80244BF4 1040000B */ beqz $v0, .L80244C24 /* 165454 80244BF4 1040000B */ beqz $v0, .L80244C24
/* 165458 80244BF8 24020002 */ addiu $v0, $zero, 2 /* 165458 80244BF8 24020002 */ addiu $v0, $zero, 2
.L80244BFC: .L80244BFC:
/* 16545C 80244BFC 3C038025 */ lui $v1, %hi(D_80249B84) /* 16545C 80244BFC 3C038025 */ lui $v1, %hi(filemenu_menus)
/* 165460 80244C00 8C639B84 */ lw $v1, %lo(D_80249B84)($v1) /* 165460 80244C00 8C639B84 */ lw $v1, %lo(filemenu_menus)($v1)
/* 165464 80244C04 80620004 */ lb $v0, 4($v1) /* 165464 80244C04 80620004 */ lb $v0, 4($v1)
/* 165468 80244C08 14400006 */ bnez $v0, .L80244C24 /* 165468 80244C08 14400006 */ bnez $v0, .L80244C24
/* 16546C 80244C0C 0000102D */ daddu $v0, $zero, $zero /* 16546C 80244C0C 0000102D */ daddu $v0, $zero, $zero

View File

@ -1,24 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_draw_contents_file_0_info
/* 165DE8 80245588 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 165DEC 8024558C 0080402D */ daddu $t0, $a0, $zero
/* 165DF0 80245590 00A0482D */ daddu $t1, $a1, $zero
/* 165DF4 80245594 00C0502D */ daddu $t2, $a2, $zero
/* 165DF8 80245598 0100282D */ daddu $a1, $t0, $zero
/* 165DFC 8024559C 8FA20038 */ lw $v0, 0x38($sp)
/* 165E00 802455A0 8FA3003C */ lw $v1, 0x3c($sp)
/* 165E04 802455A4 8FA40040 */ lw $a0, 0x40($sp)
/* 165E08 802455A8 0120302D */ daddu $a2, $t1, $zero
/* 165E0C 802455AC AFA70010 */ sw $a3, 0x10($sp)
/* 165E10 802455B0 0140382D */ daddu $a3, $t2, $zero
/* 165E14 802455B4 AFBF0020 */ sw $ra, 0x20($sp)
/* 165E18 802455B8 AFA4001C */ sw $a0, 0x1c($sp)
/* 165E1C 802455BC 0000202D */ daddu $a0, $zero, $zero
/* 165E20 802455C0 AFA20014 */ sw $v0, 0x14($sp)
/* 165E24 802455C4 0C0913F5 */ jal filemenu_draw_contents_file_info
/* 165E28 802455C8 AFA30018 */ sw $v1, 0x18($sp)
/* 165E2C 802455CC 8FBF0020 */ lw $ra, 0x20($sp)
/* 165E30 802455D0 03E00008 */ jr $ra
/* 165E34 802455D4 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,24 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_draw_contents_file_0_title
/* 165F28 802456C8 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 165F2C 802456CC 0080402D */ daddu $t0, $a0, $zero
/* 165F30 802456D0 00A0482D */ daddu $t1, $a1, $zero
/* 165F34 802456D4 00C0502D */ daddu $t2, $a2, $zero
/* 165F38 802456D8 0100282D */ daddu $a1, $t0, $zero
/* 165F3C 802456DC 8FA20038 */ lw $v0, 0x38($sp)
/* 165F40 802456E0 8FA3003C */ lw $v1, 0x3c($sp)
/* 165F44 802456E4 8FA40040 */ lw $a0, 0x40($sp)
/* 165F48 802456E8 0120302D */ daddu $a2, $t1, $zero
/* 165F4C 802456EC AFA70010 */ sw $a3, 0x10($sp)
/* 165F50 802456F0 0140382D */ daddu $a3, $t2, $zero
/* 165F54 802456F4 AFBF0020 */ sw $ra, 0x20($sp)
/* 165F58 802456F8 AFA4001C */ sw $a0, 0x1c($sp)
/* 165F5C 802456FC 0000202D */ daddu $a0, $zero, $zero
/* 165F60 80245700 AFA20014 */ sw $v0, 0x14($sp)
/* 165F64 80245704 0C091513 */ jal filemenu_draw_contents_file_title
/* 165F68 80245708 AFA30018 */ sw $v1, 0x18($sp)
/* 165F6C 8024570C 8FBF0020 */ lw $ra, 0x20($sp)
/* 165F70 80245710 03E00008 */ jr $ra
/* 165F74 80245714 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,24 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_draw_contents_file_1_info
/* 165E38 802455D8 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 165E3C 802455DC 0080402D */ daddu $t0, $a0, $zero
/* 165E40 802455E0 00A0482D */ daddu $t1, $a1, $zero
/* 165E44 802455E4 00C0502D */ daddu $t2, $a2, $zero
/* 165E48 802455E8 0100282D */ daddu $a1, $t0, $zero
/* 165E4C 802455EC 8FA20038 */ lw $v0, 0x38($sp)
/* 165E50 802455F0 8FA3003C */ lw $v1, 0x3c($sp)
/* 165E54 802455F4 8FA40040 */ lw $a0, 0x40($sp)
/* 165E58 802455F8 0120302D */ daddu $a2, $t1, $zero
/* 165E5C 802455FC AFA70010 */ sw $a3, 0x10($sp)
/* 165E60 80245600 0140382D */ daddu $a3, $t2, $zero
/* 165E64 80245604 AFBF0020 */ sw $ra, 0x20($sp)
/* 165E68 80245608 AFA4001C */ sw $a0, 0x1c($sp)
/* 165E6C 8024560C 24040001 */ addiu $a0, $zero, 1
/* 165E70 80245610 AFA20014 */ sw $v0, 0x14($sp)
/* 165E74 80245614 0C0913F5 */ jal filemenu_draw_contents_file_info
/* 165E78 80245618 AFA30018 */ sw $v1, 0x18($sp)
/* 165E7C 8024561C 8FBF0020 */ lw $ra, 0x20($sp)
/* 165E80 80245620 03E00008 */ jr $ra
/* 165E84 80245624 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,24 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_draw_contents_file_1_title
/* 165F78 80245718 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 165F7C 8024571C 0080402D */ daddu $t0, $a0, $zero
/* 165F80 80245720 00A0482D */ daddu $t1, $a1, $zero
/* 165F84 80245724 00C0502D */ daddu $t2, $a2, $zero
/* 165F88 80245728 0100282D */ daddu $a1, $t0, $zero
/* 165F8C 8024572C 8FA20038 */ lw $v0, 0x38($sp)
/* 165F90 80245730 8FA3003C */ lw $v1, 0x3c($sp)
/* 165F94 80245734 8FA40040 */ lw $a0, 0x40($sp)
/* 165F98 80245738 0120302D */ daddu $a2, $t1, $zero
/* 165F9C 8024573C AFA70010 */ sw $a3, 0x10($sp)
/* 165FA0 80245740 0140382D */ daddu $a3, $t2, $zero
/* 165FA4 80245744 AFBF0020 */ sw $ra, 0x20($sp)
/* 165FA8 80245748 AFA4001C */ sw $a0, 0x1c($sp)
/* 165FAC 8024574C 24040001 */ addiu $a0, $zero, 1
/* 165FB0 80245750 AFA20014 */ sw $v0, 0x14($sp)
/* 165FB4 80245754 0C091513 */ jal filemenu_draw_contents_file_title
/* 165FB8 80245758 AFA30018 */ sw $v1, 0x18($sp)
/* 165FBC 8024575C 8FBF0020 */ lw $ra, 0x20($sp)
/* 165FC0 80245760 03E00008 */ jr $ra
/* 165FC4 80245764 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,24 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_draw_contents_file_2_info
/* 165E88 80245628 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 165E8C 8024562C 0080402D */ daddu $t0, $a0, $zero
/* 165E90 80245630 00A0482D */ daddu $t1, $a1, $zero
/* 165E94 80245634 00C0502D */ daddu $t2, $a2, $zero
/* 165E98 80245638 0100282D */ daddu $a1, $t0, $zero
/* 165E9C 8024563C 8FA20038 */ lw $v0, 0x38($sp)
/* 165EA0 80245640 8FA3003C */ lw $v1, 0x3c($sp)
/* 165EA4 80245644 8FA40040 */ lw $a0, 0x40($sp)
/* 165EA8 80245648 0120302D */ daddu $a2, $t1, $zero
/* 165EAC 8024564C AFA70010 */ sw $a3, 0x10($sp)
/* 165EB0 80245650 0140382D */ daddu $a3, $t2, $zero
/* 165EB4 80245654 AFBF0020 */ sw $ra, 0x20($sp)
/* 165EB8 80245658 AFA4001C */ sw $a0, 0x1c($sp)
/* 165EBC 8024565C 24040002 */ addiu $a0, $zero, 2
/* 165EC0 80245660 AFA20014 */ sw $v0, 0x14($sp)
/* 165EC4 80245664 0C0913F5 */ jal filemenu_draw_contents_file_info
/* 165EC8 80245668 AFA30018 */ sw $v1, 0x18($sp)
/* 165ECC 8024566C 8FBF0020 */ lw $ra, 0x20($sp)
/* 165ED0 80245670 03E00008 */ jr $ra
/* 165ED4 80245674 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,24 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_draw_contents_file_2_title
/* 165FC8 80245768 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 165FCC 8024576C 0080402D */ daddu $t0, $a0, $zero
/* 165FD0 80245770 00A0482D */ daddu $t1, $a1, $zero
/* 165FD4 80245774 00C0502D */ daddu $t2, $a2, $zero
/* 165FD8 80245778 0100282D */ daddu $a1, $t0, $zero
/* 165FDC 8024577C 8FA20038 */ lw $v0, 0x38($sp)
/* 165FE0 80245780 8FA3003C */ lw $v1, 0x3c($sp)
/* 165FE4 80245784 8FA40040 */ lw $a0, 0x40($sp)
/* 165FE8 80245788 0120302D */ daddu $a2, $t1, $zero
/* 165FEC 8024578C AFA70010 */ sw $a3, 0x10($sp)
/* 165FF0 80245790 0140382D */ daddu $a3, $t2, $zero
/* 165FF4 80245794 AFBF0020 */ sw $ra, 0x20($sp)
/* 165FF8 80245798 AFA4001C */ sw $a0, 0x1c($sp)
/* 165FFC 8024579C 24040002 */ addiu $a0, $zero, 2
/* 166000 802457A0 AFA20014 */ sw $v0, 0x14($sp)
/* 166004 802457A4 0C091513 */ jal filemenu_draw_contents_file_title
/* 166008 802457A8 AFA30018 */ sw $v1, 0x18($sp)
/* 16600C 802457AC 8FBF0020 */ lw $ra, 0x20($sp)
/* 166010 802457B0 03E00008 */ jr $ra
/* 166014 802457B4 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,24 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_draw_contents_file_3_info
/* 165ED8 80245678 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 165EDC 8024567C 0080402D */ daddu $t0, $a0, $zero
/* 165EE0 80245680 00A0482D */ daddu $t1, $a1, $zero
/* 165EE4 80245684 00C0502D */ daddu $t2, $a2, $zero
/* 165EE8 80245688 0100282D */ daddu $a1, $t0, $zero
/* 165EEC 8024568C 8FA20038 */ lw $v0, 0x38($sp)
/* 165EF0 80245690 8FA3003C */ lw $v1, 0x3c($sp)
/* 165EF4 80245694 8FA40040 */ lw $a0, 0x40($sp)
/* 165EF8 80245698 0120302D */ daddu $a2, $t1, $zero
/* 165EFC 8024569C AFA70010 */ sw $a3, 0x10($sp)
/* 165F00 802456A0 0140382D */ daddu $a3, $t2, $zero
/* 165F04 802456A4 AFBF0020 */ sw $ra, 0x20($sp)
/* 165F08 802456A8 AFA4001C */ sw $a0, 0x1c($sp)
/* 165F0C 802456AC 24040003 */ addiu $a0, $zero, 3
/* 165F10 802456B0 AFA20014 */ sw $v0, 0x14($sp)
/* 165F14 802456B4 0C0913F5 */ jal filemenu_draw_contents_file_info
/* 165F18 802456B8 AFA30018 */ sw $v1, 0x18($sp)
/* 165F1C 802456BC 8FBF0020 */ lw $ra, 0x20($sp)
/* 165F20 802456C0 03E00008 */ jr $ra
/* 165F24 802456C4 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,24 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_draw_contents_file_3_title
/* 166018 802457B8 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 16601C 802457BC 0080402D */ daddu $t0, $a0, $zero
/* 166020 802457C0 00A0482D */ daddu $t1, $a1, $zero
/* 166024 802457C4 00C0502D */ daddu $t2, $a2, $zero
/* 166028 802457C8 0100282D */ daddu $a1, $t0, $zero
/* 16602C 802457CC 8FA20038 */ lw $v0, 0x38($sp)
/* 166030 802457D0 8FA3003C */ lw $v1, 0x3c($sp)
/* 166034 802457D4 8FA40040 */ lw $a0, 0x40($sp)
/* 166038 802457D8 0120302D */ daddu $a2, $t1, $zero
/* 16603C 802457DC AFA70010 */ sw $a3, 0x10($sp)
/* 166040 802457E0 0140382D */ daddu $a3, $t2, $zero
/* 166044 802457E4 AFBF0020 */ sw $ra, 0x20($sp)
/* 166048 802457E8 AFA4001C */ sw $a0, 0x1c($sp)
/* 16604C 802457EC 24040003 */ addiu $a0, $zero, 3
/* 166050 802457F0 AFA20014 */ sw $v0, 0x14($sp)
/* 166054 802457F4 0C091513 */ jal filemenu_draw_contents_file_title
/* 166058 802457F8 AFA30018 */ sw $v1, 0x18($sp)
/* 16605C 802457FC 8FBF0020 */ lw $ra, 0x20($sp)
/* 166060 80245800 03E00008 */ jr $ra
/* 166064 80245804 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -141,8 +141,8 @@ glabel filemenu_draw_contents_file_info
/* 165A44 802451E4 00088483 */ sra $s0, $t0, 0x12 /* 165A44 802451E4 00088483 */ sra $s0, $t0, 0x12
/* 165A48 802451E8 02128023 */ subu $s0, $s0, $s2 /* 165A48 802451E8 02128023 */ subu $s0, $s0, $s2
/* 165A4C 802451EC 02150018 */ mult $s0, $s5 /* 165A4C 802451EC 02150018 */ mult $s0, $s5
/* 165A50 802451F0 3C158025 */ lui $s5, %hi(D_8024C0B0) /* 165A50 802451F0 3C158025 */ lui $s5, %hi(filemenu_hudElemIDs)
/* 165A54 802451F4 26B5C0B0 */ addiu $s5, $s5, %lo(D_8024C0B0) /* 165A54 802451F4 26B5C0B0 */ addiu $s5, $s5, %lo(filemenu_hudElemIDs)
/* 165A58 802451F8 2408000A */ addiu $t0, $zero, 0xa /* 165A58 802451F8 2408000A */ addiu $t0, $zero, 0xa
/* 165A5C 802451FC AFA80010 */ sw $t0, 0x10($sp) /* 165A5C 802451FC AFA80010 */ sw $t0, 0x10($sp)
/* 165A60 80245200 240800FF */ addiu $t0, $zero, 0xff /* 165A60 80245200 240800FF */ addiu $t0, $zero, 0xff
@ -258,8 +258,8 @@ glabel filemenu_draw_contents_file_info
/* 165C14 802453B4 080914F3 */ j .L802453CC /* 165C14 802453B4 080914F3 */ j .L802453CC
/* 165C18 802453B8 8EB00000 */ lw $s0, ($s5) /* 165C18 802453B8 8EB00000 */ lw $s0, ($s5)
.L802453BC: .L802453BC:
/* 165C1C 802453BC 3C088025 */ lui $t0, %hi(D_8024C0B0) /* 165C1C 802453BC 3C088025 */ lui $t0, %hi(filemenu_hudElemIDs)
/* 165C20 802453C0 2508C0B0 */ addiu $t0, $t0, %lo(D_8024C0B0) /* 165C20 802453C0 2508C0B0 */ addiu $t0, $t0, %lo(filemenu_hudElemIDs)
/* 165C24 802453C4 02C81021 */ addu $v0, $s6, $t0 /* 165C24 802453C4 02C81021 */ addu $v0, $s6, $t0
/* 165C28 802453C8 8C500000 */ lw $s0, ($v0) /* 165C28 802453C8 8C500000 */ lw $s0, ($v0)
.L802453CC: .L802453CC:

View File

@ -1,34 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_draw_contents_mono
/* 1655C0 80244D60 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 1655C4 80244D64 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 1655C8 80244D68 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 1655CC 80244D6C AFBF0014 */ sw $ra, 0x14($sp)
/* 1655D0 80244D70 AFB00010 */ sw $s0, 0x10($sp)
/* 1655D4 80244D74 904200AB */ lbu $v0, 0xab($v0)
/* 1655D8 80244D78 14400009 */ bnez $v0, .L80244DA0
/* 1655DC 80244D7C 24A50022 */ addiu $a1, $a1, 0x22
/* 1655E0 80244D80 3C108025 */ lui $s0, %hi(D_8024C0B0)
/* 1655E4 80244D84 2610C0B0 */ addiu $s0, $s0, %lo(D_8024C0B0)
/* 1655E8 80244D88 8E040040 */ lw $a0, 0x40($s0)
/* 1655EC 80244D8C 0C051261 */ jal set_hud_element_render_pos
/* 1655F0 80244D90 24C6000A */ addiu $a2, $a2, 0xa
/* 1655F4 80244D94 8E040040 */ lw $a0, 0x40($s0)
/* 1655F8 80244D98 0809136E */ j .L80244DB8
/* 1655FC 80244D9C 00000000 */ nop
.L80244DA0:
/* 165600 80244DA0 3C108025 */ lui $s0, %hi(D_8024C0B0)
/* 165604 80244DA4 2610C0B0 */ addiu $s0, $s0, %lo(D_8024C0B0)
/* 165608 80244DA8 8E040044 */ lw $a0, 0x44($s0)
/* 16560C 80244DAC 0C051261 */ jal set_hud_element_render_pos
/* 165610 80244DB0 24C6000A */ addiu $a2, $a2, 0xa
/* 165614 80244DB4 8E040044 */ lw $a0, 0x44($s0)
.L80244DB8:
/* 165618 80244DB8 0C0511F8 */ jal draw_hud_element_3
/* 16561C 80244DBC 00000000 */ nop
/* 165620 80244DC0 8FBF0014 */ lw $ra, 0x14($sp)
/* 165624 80244DC4 8FB00010 */ lw $s0, 0x10($sp)
/* 165628 80244DC8 03E00008 */ jr $ra
/* 16562C 80244DCC 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,35 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_draw_contents_stereo
/* 16554C 80244CEC 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 165550 80244CF0 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 165554 80244CF4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 165558 80244CF8 AFBF0014 */ sw $ra, 0x14($sp)
/* 16555C 80244CFC AFB00010 */ sw $s0, 0x10($sp)
/* 165560 80244D00 904300AB */ lbu $v1, 0xab($v0)
/* 165564 80244D04 24020001 */ addiu $v0, $zero, 1
/* 165568 80244D08 14620009 */ bne $v1, $v0, .L80244D30
/* 16556C 80244D0C 24A50022 */ addiu $a1, $a1, 0x22
/* 165570 80244D10 3C108025 */ lui $s0, %hi(D_8024C0B0)
/* 165574 80244D14 2610C0B0 */ addiu $s0, $s0, %lo(D_8024C0B0)
/* 165578 80244D18 8E040048 */ lw $a0, 0x48($s0)
/* 16557C 80244D1C 0C051261 */ jal set_hud_element_render_pos
/* 165580 80244D20 24C6000A */ addiu $a2, $a2, 0xa
/* 165584 80244D24 8E040048 */ lw $a0, 0x48($s0)
/* 165588 80244D28 08091352 */ j .L80244D48
/* 16558C 80244D2C 00000000 */ nop
.L80244D30:
/* 165590 80244D30 3C108025 */ lui $s0, %hi(D_8024C0B0)
/* 165594 80244D34 2610C0B0 */ addiu $s0, $s0, %lo(D_8024C0B0)
/* 165598 80244D38 8E04004C */ lw $a0, 0x4c($s0)
/* 16559C 80244D3C 0C051261 */ jal set_hud_element_render_pos
/* 1655A0 80244D40 24C6000A */ addiu $a2, $a2, 0xa
/* 1655A4 80244D44 8E04004C */ lw $a0, 0x4c($s0)
.L80244D48:
/* 1655A8 80244D48 0C0511F8 */ jal draw_hud_element_3
/* 1655AC 80244D4C 00000000 */ nop
/* 1655B0 80244D50 8FBF0014 */ lw $ra, 0x14($sp)
/* 1655B4 80244D54 8FB00010 */ lw $s0, 0x10($sp)
/* 1655B8 80244D58 03E00008 */ jr $ra
/* 1655BC 80244D5C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,26 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_main_cleanup
/* 16751C 80246CBC 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 167520 80246CC0 AFB10014 */ sw $s1, 0x14($sp)
/* 167524 80246CC4 0000882D */ daddu $s1, $zero, $zero
/* 167528 80246CC8 AFB00010 */ sw $s0, 0x10($sp)
/* 16752C 80246CCC 3C108025 */ lui $s0, %hi(D_8024C0B0)
/* 167530 80246CD0 2610C0B0 */ addiu $s0, $s0, %lo(D_8024C0B0)
/* 167534 80246CD4 AFBF0018 */ sw $ra, 0x18($sp)
.L80246CD8:
/* 167538 80246CD8 8E040000 */ lw $a0, ($s0)
/* 16753C 80246CDC 26100004 */ addiu $s0, $s0, 4
/* 167540 80246CE0 0C05123D */ jal free_hud_element
/* 167544 80246CE4 26310001 */ addiu $s1, $s1, 1
/* 167548 80246CE8 2A220014 */ slti $v0, $s1, 0x14
/* 16754C 80246CEC 1440FFFA */ bnez $v0, .L80246CD8
/* 167550 80246CF0 00000000 */ nop
/* 167554 80246CF4 8FBF0018 */ lw $ra, 0x18($sp)
/* 167558 80246CF8 8FB10014 */ lw $s1, 0x14($sp)
/* 16755C 80246CFC 8FB00010 */ lw $s0, 0x10($sp)
/* 167560 80246D00 03E00008 */ jr $ra
/* 167564 80246D04 27BD0020 */ addiu $sp, $sp, 0x20
/* 167568 80246D08 00000000 */ nop
/* 16756C 80246D0C 00000000 */ nop

View File

@ -21,8 +21,8 @@ glabel filemenu_main_handle_input
/* 1662A0 80245A40 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 1662A0 80245A40 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 1662A4 80245A44 AFB3001C */ sw $s3, 0x1c($sp) /* 1662A4 80245A44 AFB3001C */ sw $s3, 0x1c($sp)
/* 1662A8 80245A48 0080982D */ daddu $s3, $a0, $zero /* 1662A8 80245A48 0080982D */ daddu $s3, $a0, $zero
/* 1662AC 80245A4C 3C028025 */ lui $v0, %hi(D_8024C08C) /* 1662AC 80245A4C 3C028025 */ lui $v0, %hi(filemenu_heldButtons)
/* 1662B0 80245A50 8C42C08C */ lw $v0, %lo(D_8024C08C)($v0) /* 1662B0 80245A50 8C42C08C */ lw $v0, %lo(filemenu_heldButtons)($v0)
/* 1662B4 80245A54 3C030004 */ lui $v1, 4 /* 1662B4 80245A54 3C030004 */ lui $v1, 4
/* 1662B8 80245A58 AFBF0020 */ sw $ra, 0x20($sp) /* 1662B8 80245A58 AFBF0020 */ sw $ra, 0x20($sp)
/* 1662BC 80245A5C AFB20018 */ sw $s2, 0x18($sp) /* 1662BC 80245A5C AFB20018 */ sw $s2, 0x18($sp)
@ -61,8 +61,8 @@ glabel filemenu_main_handle_input
/* 16633C 80245ADC 1082FFE6 */ beq $a0, $v0, .L80245A78 /* 16633C 80245ADC 1082FFE6 */ beq $a0, $v0, .L80245A78
/* 166340 80245AE0 00000000 */ nop /* 166340 80245AE0 00000000 */ nop
.L80245AE4: .L80245AE4:
/* 166344 80245AE4 3C028025 */ lui $v0, %hi(D_8024C08C) /* 166344 80245AE4 3C028025 */ lui $v0, %hi(filemenu_heldButtons)
/* 166348 80245AE8 8C42C08C */ lw $v0, %lo(D_8024C08C)($v0) /* 166348 80245AE8 8C42C08C */ lw $v0, %lo(filemenu_heldButtons)($v0)
/* 16634C 80245AEC 3C030008 */ lui $v1, 8 /* 16634C 80245AEC 3C030008 */ lui $v1, 8
/* 166350 80245AF0 00431024 */ and $v0, $v0, $v1 /* 166350 80245AF0 00431024 */ and $v0, $v0, $v1
/* 166354 80245AF4 1040001E */ beqz $v0, .L80245B70 /* 166354 80245AF4 1040001E */ beqz $v0, .L80245B70
@ -98,8 +98,8 @@ glabel filemenu_main_handle_input
/* 1663C8 80245B68 1082FFE6 */ beq $a0, $v0, .L80245B04 /* 1663C8 80245B68 1082FFE6 */ beq $a0, $v0, .L80245B04
/* 1663CC 80245B6C 00000000 */ nop /* 1663CC 80245B6C 00000000 */ nop
.L80245B70: .L80245B70:
/* 1663D0 80245B70 3C028025 */ lui $v0, %hi(D_8024C08C) /* 1663D0 80245B70 3C028025 */ lui $v0, %hi(filemenu_heldButtons)
/* 1663D4 80245B74 8C42C08C */ lw $v0, %lo(D_8024C08C)($v0) /* 1663D4 80245B74 8C42C08C */ lw $v0, %lo(filemenu_heldButtons)($v0)
/* 1663D8 80245B78 3C030001 */ lui $v1, 1 /* 1663D8 80245B78 3C030001 */ lui $v1, 1
/* 1663DC 80245B7C 00431024 */ and $v0, $v0, $v1 /* 1663DC 80245B7C 00431024 */ and $v0, $v0, $v1
/* 1663E0 80245B80 10400007 */ beqz $v0, .L80245BA0 /* 1663E0 80245B80 10400007 */ beqz $v0, .L80245BA0
@ -111,8 +111,8 @@ glabel filemenu_main_handle_input
/* 1663F8 80245B98 04420001 */ bltzl $v0, .L80245BA0 /* 1663F8 80245B98 04420001 */ bltzl $v0, .L80245BA0
/* 1663FC 80245B9C A2600002 */ sb $zero, 2($s3) /* 1663FC 80245B9C A2600002 */ sb $zero, 2($s3)
.L80245BA0: .L80245BA0:
/* 166400 80245BA0 3C028025 */ lui $v0, %hi(D_8024C08C) /* 166400 80245BA0 3C028025 */ lui $v0, %hi(filemenu_heldButtons)
/* 166404 80245BA4 8C42C08C */ lw $v0, %lo(D_8024C08C)($v0) /* 166404 80245BA4 8C42C08C */ lw $v0, %lo(filemenu_heldButtons)($v0)
/* 166408 80245BA8 3C030002 */ lui $v1, 2 /* 166408 80245BA8 3C030002 */ lui $v1, 2
/* 16640C 80245BAC 00431024 */ and $v0, $v0, $v1 /* 16640C 80245BAC 00431024 */ and $v0, $v0, $v1
/* 166410 80245BB0 1040000C */ beqz $v0, .L80245BE4 /* 166410 80245BB0 1040000C */ beqz $v0, .L80245BE4
@ -198,8 +198,8 @@ glabel L80245C38_166498
/* 166534 80245CD4 00000000 */ nop /* 166534 80245CD4 00000000 */ nop
/* 166538 80245CD8 3C108007 */ lui $s0, %hi(gGameStatusPtr) /* 166538 80245CD8 3C108007 */ lui $s0, %hi(gGameStatusPtr)
/* 16653C 80245CDC 2610419C */ addiu $s0, $s0, %lo(gGameStatusPtr) /* 16653C 80245CDC 2610419C */ addiu $s0, $s0, %lo(gGameStatusPtr)
/* 166540 80245CE0 3C058025 */ lui $a1, %hi(D_8024C084) /* 166540 80245CE0 3C058025 */ lui $a1, %hi(filemenu_pressedButtons)
/* 166544 80245CE4 24A5C084 */ addiu $a1, $a1, %lo(D_8024C084) /* 166544 80245CE4 24A5C084 */ addiu $a1, $a1, %lo(filemenu_pressedButtons)
/* 166548 80245CE8 8CA20000 */ lw $v0, ($a1) /* 166548 80245CE8 8CA20000 */ lw $v0, ($a1)
/* 16654C 80245CEC 8E030000 */ lw $v1, ($s0) /* 16654C 80245CEC 8E030000 */ lw $v1, ($s0)
/* 166550 80245CF0 30422000 */ andi $v0, $v0, 0x2000 /* 166550 80245CF0 30422000 */ andi $v0, $v0, 0x2000
@ -233,8 +233,8 @@ glabel L80245C38_166498
/* 1665B4 80245D54 0C015860 */ jal func_80056180 /* 1665B4 80245D54 0C015860 */ jal func_80056180
/* 1665B8 80245D58 00000000 */ nop /* 1665B8 80245D58 00000000 */ nop
.L80245D5C: .L80245D5C:
/* 1665BC 80245D5C 3C038025 */ lui $v1, %hi(D_8024C084) /* 1665BC 80245D5C 3C038025 */ lui $v1, %hi(filemenu_pressedButtons)
/* 1665C0 80245D60 2463C084 */ addiu $v1, $v1, %lo(D_8024C084) /* 1665C0 80245D60 2463C084 */ addiu $v1, $v1, %lo(filemenu_pressedButtons)
/* 1665C4 80245D64 8C620000 */ lw $v0, ($v1) /* 1665C4 80245D64 8C620000 */ lw $v0, ($v1)
/* 1665C8 80245D68 30421000 */ andi $v0, $v0, 0x1000 /* 1665C8 80245D68 30421000 */ andi $v0, $v0, 0x1000
/* 1665CC 80245D6C 10400009 */ beqz $v0, .L80245D94 /* 1665CC 80245D6C 10400009 */ beqz $v0, .L80245D94
@ -248,8 +248,8 @@ glabel L80245C38_166498
/* 1665EC 80245D8C 34028000 */ ori $v0, $zero, 0x8000 /* 1665EC 80245D8C 34028000 */ ori $v0, $zero, 0x8000
/* 1665F0 80245D90 AC620000 */ sw $v0, ($v1) /* 1665F0 80245D90 AC620000 */ sw $v0, ($v1)
.L80245D94: .L80245D94:
/* 1665F4 80245D94 3C028025 */ lui $v0, %hi(D_8024C084) /* 1665F4 80245D94 3C028025 */ lui $v0, %hi(filemenu_pressedButtons)
/* 1665F8 80245D98 8C42C084 */ lw $v0, %lo(D_8024C084)($v0) /* 1665F8 80245D98 8C42C084 */ lw $v0, %lo(filemenu_pressedButtons)($v0)
/* 1665FC 80245D9C 30428000 */ andi $v0, $v0, 0x8000 /* 1665FC 80245D9C 30428000 */ andi $v0, $v0, 0x8000
/* 166600 80245DA0 104002D1 */ beqz $v0, .L802468E8 /* 166600 80245DA0 104002D1 */ beqz $v0, .L802468E8
/* 166604 80245DA4 00000000 */ nop /* 166604 80245DA4 00000000 */ nop
@ -334,8 +334,8 @@ glabel L80245DD0_166630
/* 166734 80245ED4 240400C9 */ addiu $a0, $zero, 0xc9 /* 166734 80245ED4 240400C9 */ addiu $a0, $zero, 0xc9
/* 166738 80245ED8 0000282D */ daddu $a1, $zero, $zero /* 166738 80245ED8 0000282D */ daddu $a1, $zero, $zero
/* 16673C 80245EDC 00A0302D */ daddu $a2, $a1, $zero /* 16673C 80245EDC 00A0302D */ daddu $a2, $a1, $zero
/* 166740 80245EE0 3C048025 */ lui $a0, %hi(D_80249B90) /* 166740 80245EE0 3C048025 */ lui $a0, %hi(filemenu_menus + 0xC)
/* 166744 80245EE4 8C849B90 */ lw $a0, %lo(D_80249B90)($a0) /* 166744 80245EE4 8C849B90 */ lw $a0, %lo(filemenu_menus + 0xC)($a0)
/* 166748 80245EE8 24020003 */ addiu $v0, $zero, 3 /* 166748 80245EE8 24020003 */ addiu $v0, $zero, 3
/* 16674C 80245EEC 3C018025 */ lui $at, %hi(D_8024C098_C09918) /* 16674C 80245EEC 3C018025 */ lui $at, %hi(D_8024C098_C09918)
/* 166750 80245EF0 A022C098 */ sb $v0, %lo(D_8024C098_C09918)($at) /* 166750 80245EF0 A022C098 */ sb $v0, %lo(D_8024C098_C09918)($at)
@ -530,8 +530,8 @@ glabel L80245DD0_166630
/* 166A20 802461C0 0000282D */ daddu $a1, $zero, $zero /* 166A20 802461C0 0000282D */ daddu $a1, $zero, $zero
/* 166A24 802461C4 00A0302D */ daddu $a2, $a1, $zero /* 166A24 802461C4 00A0302D */ daddu $a2, $a1, $zero
/* 166A28 802461C8 A4E30000 */ sh $v1, ($a3) /* 166A28 802461C8 A4E30000 */ sh $v1, ($a3)
/* 166A2C 802461CC 3C048025 */ lui $a0, %hi(D_80249B88) /* 166A2C 802461CC 3C048025 */ lui $a0, %hi(filemenu_menus + 0x4)
/* 166A30 802461D0 8C849B88 */ lw $a0, %lo(D_80249B88)($a0) /* 166A30 802461D0 8C849B88 */ lw $a0, %lo(filemenu_menus + 0x4)($a0)
/* 166A34 802461D4 24020001 */ addiu $v0, $zero, 1 /* 166A34 802461D4 24020001 */ addiu $v0, $zero, 1
/* 166A38 802461D8 3C018025 */ lui $at, %hi(D_8024C098_C09918) /* 166A38 802461D8 3C018025 */ lui $at, %hi(D_8024C098_C09918)
/* 166A3C 802461DC A022C098 */ sb $v0, %lo(D_8024C098_C09918)($at) /* 166A3C 802461DC A022C098 */ sb $v0, %lo(D_8024C098_C09918)($at)
@ -634,8 +634,8 @@ glabel L802461E8_166A48
/* 166BA8 80246348 0000282D */ daddu $a1, $zero, $zero /* 166BA8 80246348 0000282D */ daddu $a1, $zero, $zero
/* 166BAC 8024634C 24060001 */ addiu $a2, $zero, 1 /* 166BAC 8024634C 24060001 */ addiu $a2, $zero, 1
/* 166BB0 80246350 A4E30000 */ sh $v1, ($a3) /* 166BB0 80246350 A4E30000 */ sh $v1, ($a3)
/* 166BB4 80246354 3C048025 */ lui $a0, %hi(D_80249B88) /* 166BB4 80246354 3C048025 */ lui $a0, %hi(filemenu_menus + 0x4)
/* 166BB8 80246358 8C849B88 */ lw $a0, %lo(D_80249B88)($a0) /* 166BB8 80246358 8C849B88 */ lw $a0, %lo(filemenu_menus + 0x4)($a0)
/* 166BBC 8024635C 00C0102D */ daddu $v0, $a2, $zero /* 166BBC 8024635C 00C0102D */ daddu $v0, $a2, $zero
/* 166BC0 80246360 3C018025 */ lui $at, %hi(D_8024C098_C09918) /* 166BC0 80246360 3C018025 */ lui $at, %hi(D_8024C098_C09918)
/* 166BC4 80246364 A022C098 */ sb $v0, %lo(D_8024C098_C09918)($at) /* 166BC4 80246364 A022C098 */ sb $v0, %lo(D_8024C098_C09918)($at)
@ -683,8 +683,8 @@ glabel L80246370_166BD0
/* 166C64 80246404 92630003 */ lbu $v1, 3($s3) /* 166C64 80246404 92630003 */ lbu $v1, 3($s3)
/* 166C68 80246408 24020004 */ addiu $v0, $zero, 4 /* 166C68 80246408 24020004 */ addiu $v0, $zero, 4
/* 166C6C 8024640C A2620004 */ sb $v0, 4($s3) /* 166C6C 8024640C A2620004 */ sb $v0, 4($s3)
/* 166C70 80246410 3C018025 */ lui $at, %hi(D_8024C094) /* 166C70 80246410 3C018025 */ lui $at, %hi(filemenu_loadedFileIdx)
/* 166C74 80246414 AC23C094 */ sw $v1, %lo(D_8024C094)($at) /* 166C74 80246414 AC23C094 */ sw $v1, %lo(filemenu_loadedFileIdx)($at)
/* 166C78 80246418 08091A3A */ j .L802468E8 /* 166C78 80246418 08091A3A */ j .L802468E8
/* 166C7C 8024641C 00000000 */ nop /* 166C7C 8024641C 00000000 */ nop
glabel L80246420_166C80 glabel L80246420_166C80
@ -704,8 +704,8 @@ glabel L80246420_166C80
/* 166CB0 80246450 10400125 */ beqz $v0, .L802468E8 /* 166CB0 80246450 10400125 */ beqz $v0, .L802468E8
/* 166CB4 80246454 00000000 */ nop /* 166CB4 80246454 00000000 */ nop
/* 166CB8 80246458 92630003 */ lbu $v1, 3($s3) /* 166CB8 80246458 92630003 */ lbu $v1, 3($s3)
/* 166CBC 8024645C 3C028025 */ lui $v0, %hi(D_8024C094) /* 166CBC 8024645C 3C028025 */ lui $v0, %hi(filemenu_loadedFileIdx)
/* 166CC0 80246460 8C42C094 */ lw $v0, %lo(D_8024C094)($v0) /* 166CC0 80246460 8C42C094 */ lw $v0, %lo(filemenu_loadedFileIdx)($v0)
/* 166CC4 80246464 14430005 */ bne $v0, $v1, .L8024647C /* 166CC4 80246464 14430005 */ bne $v0, $v1, .L8024647C
/* 166CC8 80246468 00000000 */ nop /* 166CC8 80246468 00000000 */ nop
.L8024646C: .L8024646C:
@ -714,8 +714,8 @@ glabel L80246420_166C80
/* 166CD4 80246474 08091A3A */ j .L802468E8 /* 166CD4 80246474 08091A3A */ j .L802468E8
/* 166CD8 80246478 00000000 */ nop /* 166CD8 80246478 00000000 */ nop
.L8024647C: .L8024647C:
/* 166CDC 8024647C 3C018025 */ lui $at, %hi(D_8024C080) /* 166CDC 8024647C 3C018025 */ lui $at, %hi(filemenu_iterFileIdx)
/* 166CE0 80246480 AC23C080 */ sw $v1, %lo(D_8024C080)($at) /* 166CE0 80246480 AC23C080 */ sw $v1, %lo(filemenu_iterFileIdx)($at)
/* 166CE4 80246484 92620003 */ lbu $v0, 3($s3) /* 166CE4 80246484 92620003 */ lbu $v0, 3($s3)
/* 166CE8 80246488 3C018007 */ lui $at, %hi(D_80077A24) /* 166CE8 80246488 3C018007 */ lui $at, %hi(D_80077A24)
/* 166CEC 8024648C 00220821 */ addu $at, $at, $v0 /* 166CEC 8024648C 00220821 */ addu $at, $at, $v0
@ -730,8 +730,8 @@ glabel L80246420_166C80
/* 166D10 802464B0 24020002 */ addiu $v0, $zero, 2 /* 166D10 802464B0 24020002 */ addiu $v0, $zero, 2
/* 166D14 802464B4 3C048016 */ lui $a0, %hi(gWindows) /* 166D14 802464B4 3C048016 */ lui $a0, %hi(gWindows)
/* 166D18 802464B8 24849D50 */ addiu $a0, $a0, %lo(gWindows) /* 166D18 802464B8 24849D50 */ addiu $a0, $a0, %lo(gWindows)
/* 166D1C 802464BC 3C038025 */ lui $v1, %hi(D_80249B8C) /* 166D1C 802464BC 3C038025 */ lui $v1, %hi(filemenu_menus + 0x8)
/* 166D20 802464C0 8C639B8C */ lw $v1, %lo(D_80249B8C)($v1) /* 166D20 802464C0 8C639B8C */ lw $v1, %lo(filemenu_menus + 0x8)($v1)
/* 166D24 802464C4 A0620004 */ sb $v0, 4($v1) /* 166D24 802464C4 A0620004 */ sb $v0, 4($v1)
/* 166D28 802464C8 808305E3 */ lb $v1, 0x5e3($a0) /* 166D28 802464C8 808305E3 */ lb $v1, 0x5e3($a0)
/* 166D2C 802464CC 2402009A */ addiu $v0, $zero, 0x9a /* 166D2C 802464CC 2402009A */ addiu $v0, $zero, 0x9a
@ -788,12 +788,12 @@ glabel L80246420_166C80
/* 166DE8 80246588 24040032 */ addiu $a0, $zero, 0x32 /* 166DE8 80246588 24040032 */ addiu $a0, $zero, 0x32
/* 166DEC 8024658C 0C051F9F */ jal set_window_update /* 166DEC 8024658C 0C051F9F */ jal set_window_update
/* 166DF0 80246590 24050002 */ addiu $a1, $zero, 2 /* 166DF0 80246590 24050002 */ addiu $a1, $zero, 2
/* 166DF4 80246594 3C118025 */ lui $s1, %hi(D_8024C094) /* 166DF4 80246594 3C118025 */ lui $s1, %hi(filemenu_loadedFileIdx)
/* 166DF8 80246598 2631C094 */ addiu $s1, $s1, %lo(D_8024C094) /* 166DF8 80246598 2631C094 */ addiu $s1, $s1, %lo(filemenu_loadedFileIdx)
/* 166DFC 8024659C 0C00ACB4 */ jal fio_load_game /* 166DFC 8024659C 0C00ACB4 */ jal fio_load_game
/* 166E00 802465A0 8E240000 */ lw $a0, ($s1) /* 166E00 802465A0 8E240000 */ lw $a0, ($s1)
/* 166E04 802465A4 3C108025 */ lui $s0, %hi(D_8024C080) /* 166E04 802465A4 3C108025 */ lui $s0, %hi(filemenu_iterFileIdx)
/* 166E08 802465A8 2610C080 */ addiu $s0, $s0, %lo(D_8024C080) /* 166E08 802465A8 2610C080 */ addiu $s0, $s0, %lo(filemenu_iterFileIdx)
/* 166E0C 802465AC 3C068007 */ lui $a2, %hi(D_800779C4) /* 166E0C 802465AC 3C068007 */ lui $a2, %hi(D_800779C4)
/* 166E10 802465B0 24C679C4 */ addiu $a2, $a2, %lo(D_800779C4) /* 166E10 802465B0 24C679C4 */ addiu $a2, $a2, %lo(D_800779C4)
/* 166E14 802465B4 8E040000 */ lw $a0, ($s0) /* 166E14 802465B4 8E040000 */ lw $a0, ($s0)
@ -888,8 +888,8 @@ glabel L80246420_166C80
/* 166F64 80246704 0000282D */ daddu $a1, $zero, $zero /* 166F64 80246704 0000282D */ daddu $a1, $zero, $zero
/* 166F68 80246708 24060001 */ addiu $a2, $zero, 1 /* 166F68 80246708 24060001 */ addiu $a2, $zero, 1
/* 166F6C 8024670C A4E30000 */ sh $v1, ($a3) /* 166F6C 8024670C A4E30000 */ sh $v1, ($a3)
/* 166F70 80246710 3C048025 */ lui $a0, %hi(D_80249B88) /* 166F70 80246710 3C048025 */ lui $a0, %hi(filemenu_menus + 0x4)
/* 166F74 80246714 8C849B88 */ lw $a0, %lo(D_80249B88)($a0) /* 166F74 80246714 8C849B88 */ lw $a0, %lo(filemenu_menus + 0x4)($a0)
/* 166F78 80246718 00C0102D */ daddu $v0, $a2, $zero /* 166F78 80246718 00C0102D */ daddu $v0, $a2, $zero
/* 166F7C 8024671C 3C018025 */ lui $at, %hi(D_8024C098_C09918) /* 166F7C 8024671C 3C018025 */ lui $at, %hi(D_8024C098_C09918)
/* 166F80 80246720 A022C098 */ sb $v0, %lo(D_8024C098_C09918)($at) /* 166F80 80246720 A022C098 */ sb $v0, %lo(D_8024C098_C09918)($at)
@ -925,8 +925,8 @@ glabel L8024672C_166F8C
/* 166FF0 80246790 24020002 */ addiu $v0, $zero, 2 /* 166FF0 80246790 24020002 */ addiu $v0, $zero, 2
/* 166FF4 80246794 3C018025 */ lui $at, %hi(D_8024C098_C09918) /* 166FF4 80246794 3C018025 */ lui $at, %hi(D_8024C098_C09918)
/* 166FF8 80246798 A022C098 */ sb $v0, %lo(D_8024C098_C09918)($at) /* 166FF8 80246798 A022C098 */ sb $v0, %lo(D_8024C098_C09918)($at)
/* 166FFC 8024679C 3C028025 */ lui $v0, %hi(D_80249B8C) /* 166FFC 8024679C 3C028025 */ lui $v0, %hi(filemenu_menus + 0x8)
/* 167000 802467A0 8C429B8C */ lw $v0, %lo(D_80249B8C)($v0) /* 167000 802467A0 8C429B8C */ lw $v0, %lo(filemenu_menus + 0x8)($v0)
/* 167004 802467A4 24100001 */ addiu $s0, $zero, 1 /* 167004 802467A4 24100001 */ addiu $s0, $zero, 1
/* 167008 802467A8 0C051F9F */ jal set_window_update /* 167008 802467A8 0C051F9F */ jal set_window_update
/* 16700C 802467AC A0500004 */ sb $s0, 4($v0) /* 16700C 802467AC A0500004 */ sb $s0, 4($v0)
@ -1004,8 +1004,8 @@ glabel L8024672C_166F8C
/* 167118 802468B8 0000282D */ daddu $a1, $zero, $zero /* 167118 802468B8 0000282D */ daddu $a1, $zero, $zero
/* 16711C 802468BC 24060001 */ addiu $a2, $zero, 1 /* 16711C 802468BC 24060001 */ addiu $a2, $zero, 1
/* 167120 802468C0 A4E30000 */ sh $v1, ($a3) /* 167120 802468C0 A4E30000 */ sh $v1, ($a3)
/* 167124 802468C4 3C048025 */ lui $a0, %hi(D_80249B88) /* 167124 802468C4 3C048025 */ lui $a0, %hi(filemenu_menus + 0x4)
/* 167128 802468C8 8C849B88 */ lw $a0, %lo(D_80249B88)($a0) /* 167128 802468C8 8C849B88 */ lw $a0, %lo(filemenu_menus + 0x4)($a0)
/* 16712C 802468CC 00C0102D */ daddu $v0, $a2, $zero /* 16712C 802468CC 00C0102D */ daddu $v0, $a2, $zero
/* 167130 802468D0 3C018025 */ lui $at, %hi(D_8024C098_C09918) /* 167130 802468D0 3C018025 */ lui $at, %hi(D_8024C098_C09918)
/* 167134 802468D4 A022C098 */ sb $v0, %lo(D_8024C098_C09918)($at) /* 167134 802468D4 A022C098 */ sb $v0, %lo(D_8024C098_C09918)($at)
@ -1016,8 +1016,8 @@ glabel L8024672C_166F8C
/* 167140 802468E0 0C090B65 */ jal filemenu_set_selected /* 167140 802468E0 0C090B65 */ jal filemenu_set_selected
/* 167144 802468E4 00000000 */ nop /* 167144 802468E4 00000000 */ nop
.L802468E8: .L802468E8:
/* 167148 802468E8 3C028025 */ lui $v0, %hi(D_8024C084) /* 167148 802468E8 3C028025 */ lui $v0, %hi(filemenu_pressedButtons)
/* 16714C 802468EC 8C42C084 */ lw $v0, %lo(D_8024C084)($v0) /* 16714C 802468EC 8C42C084 */ lw $v0, %lo(filemenu_pressedButtons)($v0)
/* 167150 802468F0 30424000 */ andi $v0, $v0, 0x4000 /* 167150 802468F0 30424000 */ andi $v0, $v0, 0x4000
/* 167154 802468F4 10400086 */ beqz $v0, .L80246B10 /* 167154 802468F4 10400086 */ beqz $v0, .L80246B10
/* 167158 802468F8 00000000 */ nop /* 167158 802468F8 00000000 */ nop
@ -1143,8 +1143,8 @@ glabel L80246A60_1672C0
glabel L80246ABC_16731C glabel L80246ABC_16731C
/* 16731C 80246ABC 24020003 */ addiu $v0, $zero, 3 /* 16731C 80246ABC 24020003 */ addiu $v0, $zero, 3
/* 167320 80246AC0 A2620004 */ sb $v0, 4($s3) /* 167320 80246AC0 A2620004 */ sb $v0, 4($s3)
/* 167324 80246AC4 3C058025 */ lui $a1, %hi(D_8024C094) /* 167324 80246AC4 3C058025 */ lui $a1, %hi(filemenu_loadedFileIdx)
/* 167328 80246AC8 8CA5C094 */ lw $a1, %lo(D_8024C094)($a1) /* 167328 80246AC8 8CA5C094 */ lw $a1, %lo(filemenu_loadedFileIdx)($a1)
/* 16732C 80246ACC 0260202D */ daddu $a0, $s3, $zero /* 16732C 80246ACC 0260202D */ daddu $a0, $s3, $zero
/* 167330 80246AD0 000537C2 */ srl $a2, $a1, 0x1f /* 167330 80246AD0 000537C2 */ srl $a2, $a1, 0x1f
/* 167334 80246AD4 00A63021 */ addu $a2, $a1, $a2 /* 167334 80246AD4 00A63021 */ addu $a2, $a1, $a2

View File

@ -8,8 +8,8 @@ glabel filemenu_main_init
/* 166074 80245814 AFB00010 */ sw $s0, 0x10($sp) /* 166074 80245814 AFB00010 */ sw $s0, 0x10($sp)
/* 166078 80245818 0000802D */ daddu $s0, $zero, $zero /* 166078 80245818 0000802D */ daddu $s0, $zero, $zero
/* 16607C 8024581C AFB20018 */ sw $s2, 0x18($sp) /* 16607C 8024581C AFB20018 */ sw $s2, 0x18($sp)
/* 166080 80245820 3C128025 */ lui $s2, %hi(D_8024C0B0) /* 166080 80245820 3C128025 */ lui $s2, %hi(filemenu_hudElemIDs)
/* 166084 80245824 2652C0B0 */ addiu $s2, $s2, %lo(D_8024C0B0) /* 166084 80245824 2652C0B0 */ addiu $s2, $s2, %lo(filemenu_hudElemIDs)
/* 166088 80245828 AFB10014 */ sw $s1, 0x14($sp) /* 166088 80245828 AFB10014 */ sw $s1, 0x14($sp)
/* 16608C 8024582C 3C118025 */ lui $s1, %hi(D_80249E20) /* 16608C 8024582C 3C118025 */ lui $s1, %hi(D_80249E20)
/* 166090 80245830 26319E20 */ addiu $s1, $s1, %lo(D_80249E20) /* 166090 80245830 26319E20 */ addiu $s1, $s1, %lo(D_80249E20)

View File

@ -54,14 +54,14 @@ glabel filemenu_main_update
/* 16743C 80246BDC 24C200A8 */ addiu $v0, $a2, 0xa8 /* 16743C 80246BDC 24C200A8 */ addiu $v0, $a2, 0xa8
/* 167440 80246BE0 ACA200FC */ sw $v0, 0xfc($a1) /* 167440 80246BE0 ACA200FC */ sw $v0, 0xfc($a1)
.L80246BE4: .L80246BE4:
/* 167444 80246BE4 3C028025 */ lui $v0, %hi(D_80249B84) /* 167444 80246BE4 3C028025 */ lui $v0, %hi(filemenu_menus)
/* 167448 80246BE8 8C429B84 */ lw $v0, %lo(D_80249B84)($v0) /* 167448 80246BE8 8C429B84 */ lw $v0, %lo(filemenu_menus)($v0)
/* 16744C 80246BEC 80430004 */ lb $v1, 4($v0) /* 16744C 80246BEC 80430004 */ lb $v1, 4($v0)
/* 167450 80246BF0 24020004 */ addiu $v0, $zero, 4 /* 167450 80246BF0 24020004 */ addiu $v0, $zero, 4
/* 167454 80246BF4 14620009 */ bne $v1, $v0, .L80246C1C /* 167454 80246BF4 14620009 */ bne $v1, $v0, .L80246C1C
/* 167458 80246BF8 24020001 */ addiu $v0, $zero, 1 /* 167458 80246BF8 24020001 */ addiu $v0, $zero, 1
/* 16745C 80246BFC 3C038025 */ lui $v1, %hi(D_8024C094) /* 16745C 80246BFC 3C038025 */ lui $v1, %hi(filemenu_loadedFileIdx)
/* 167460 80246C00 8C63C094 */ lw $v1, %lo(D_8024C094)($v1) /* 167460 80246C00 8C63C094 */ lw $v1, %lo(filemenu_loadedFileIdx)($v1)
/* 167464 80246C04 10620015 */ beq $v1, $v0, .L80246C5C /* 167464 80246C04 10620015 */ beq $v1, $v0, .L80246C5C
/* 167468 80246C08 28620002 */ slti $v0, $v1, 2 /* 167468 80246C08 28620002 */ slti $v0, $v1, 2
/* 16746C 80246C0C 50400005 */ beql $v0, $zero, .L80246C24 /* 16746C 80246C0C 50400005 */ beql $v0, $zero, .L80246C24

View File

@ -49,8 +49,8 @@ glabel L80246E6C_1676CC
/* 167714 80246EB4 AFA00014 */ sw $zero, 0x14($sp) /* 167714 80246EB4 AFA00014 */ sw $zero, 0x14($sp)
/* 167718 80246EB8 26650062 */ addiu $a1, $s3, 0x62 /* 167718 80246EB8 26650062 */ addiu $a1, $s3, 0x62
/* 16771C 80246EBC 26860006 */ addiu $a2, $s4, 6 /* 16771C 80246EBC 26860006 */ addiu $a2, $s4, 6
/* 167720 80246EC0 3C028025 */ lui $v0, %hi(D_80249B84) /* 167720 80246EC0 3C028025 */ lui $v0, %hi(filemenu_menus)
/* 167724 80246EC4 8C429B84 */ lw $v0, %lo(D_80249B84)($v0) /* 167724 80246EC4 8C429B84 */ lw $v0, %lo(filemenu_menus)($v0)
/* 167728 80246EC8 0000382D */ daddu $a3, $zero, $zero /* 167728 80246EC8 0000382D */ daddu $a3, $zero, $zero
/* 16772C 80246ECC 90440003 */ lbu $a0, 3($v0) /* 16772C 80246ECC 90440003 */ lbu $a0, 3($v0)
/* 167730 80246ED0 240200FF */ addiu $v0, $zero, 0xff /* 167730 80246ED0 240200FF */ addiu $v0, $zero, 0xff
@ -79,8 +79,8 @@ glabel L80246F00_167760
/* 167788 80246F28 AFA00014 */ sw $zero, 0x14($sp) /* 167788 80246F28 AFA00014 */ sw $zero, 0x14($sp)
/* 16778C 80246F2C 26650030 */ addiu $a1, $s3, 0x30 /* 16778C 80246F2C 26650030 */ addiu $a1, $s3, 0x30
/* 167790 80246F30 26860006 */ addiu $a2, $s4, 6 /* 167790 80246F30 26860006 */ addiu $a2, $s4, 6
/* 167794 80246F34 3C028025 */ lui $v0, %hi(D_80249B84) /* 167794 80246F34 3C028025 */ lui $v0, %hi(filemenu_menus)
/* 167798 80246F38 8C429B84 */ lw $v0, %lo(D_80249B84)($v0) /* 167798 80246F38 8C429B84 */ lw $v0, %lo(filemenu_menus)($v0)
/* 16779C 80246F3C 0000382D */ daddu $a3, $zero, $zero /* 16779C 80246F3C 0000382D */ daddu $a3, $zero, $zero
/* 1677A0 80246F40 90440003 */ lbu $a0, 3($v0) /* 1677A0 80246F40 90440003 */ lbu $a0, 3($v0)
/* 1677A4 80246F44 240200FF */ addiu $v0, $zero, 0xff /* 1677A4 80246F44 240200FF */ addiu $v0, $zero, 0xff
@ -209,8 +209,8 @@ glabel L802470D4_167934
/* 16797C 8024711C AFA00014 */ sw $zero, 0x14($sp) /* 16797C 8024711C AFA00014 */ sw $zero, 0x14($sp)
/* 167980 80247120 266500A5 */ addiu $a1, $s3, 0xa5 /* 167980 80247120 266500A5 */ addiu $a1, $s3, 0xa5
/* 167984 80247124 26860006 */ addiu $a2, $s4, 6 /* 167984 80247124 26860006 */ addiu $a2, $s4, 6
/* 167988 80247128 3C028025 */ lui $v0, %hi(D_80249B84) /* 167988 80247128 3C028025 */ lui $v0, %hi(filemenu_menus)
/* 16798C 8024712C 8C429B84 */ lw $v0, %lo(D_80249B84)($v0) /* 16798C 8024712C 8C429B84 */ lw $v0, %lo(filemenu_menus)($v0)
/* 167990 80247130 0000382D */ daddu $a3, $zero, $zero /* 167990 80247130 0000382D */ daddu $a3, $zero, $zero
/* 167994 80247134 90440003 */ lbu $a0, 3($v0) /* 167994 80247134 90440003 */ lbu $a0, 3($v0)
/* 167998 80247138 240200FF */ addiu $v0, $zero, 0xff /* 167998 80247138 240200FF */ addiu $v0, $zero, 0xff

View File

@ -18,8 +18,8 @@ glabel filemenu_yesno_handle_input
/* 167A4C 802471EC 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 167A4C 802471EC 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 167A50 802471F0 AFB20018 */ sw $s2, 0x18($sp) /* 167A50 802471F0 AFB20018 */ sw $s2, 0x18($sp)
/* 167A54 802471F4 0080902D */ daddu $s2, $a0, $zero /* 167A54 802471F4 0080902D */ daddu $s2, $a0, $zero
/* 167A58 802471F8 3C028025 */ lui $v0, %hi(D_8024C08C) /* 167A58 802471F8 3C028025 */ lui $v0, %hi(filemenu_heldButtons)
/* 167A5C 802471FC 8C42C08C */ lw $v0, %lo(D_8024C08C)($v0) /* 167A5C 802471FC 8C42C08C */ lw $v0, %lo(filemenu_heldButtons)($v0)
/* 167A60 80247200 3C030001 */ lui $v1, 1 /* 167A60 80247200 3C030001 */ lui $v1, 1
/* 167A64 80247204 AFBF001C */ sw $ra, 0x1c($sp) /* 167A64 80247204 AFBF001C */ sw $ra, 0x1c($sp)
/* 167A68 80247208 AFB10014 */ sw $s1, 0x14($sp) /* 167A68 80247208 AFB10014 */ sw $s1, 0x14($sp)
@ -35,8 +35,8 @@ glabel filemenu_yesno_handle_input
/* 167A90 80247230 04420001 */ bltzl $v0, .L80247238 /* 167A90 80247230 04420001 */ bltzl $v0, .L80247238
/* 167A94 80247234 A2400002 */ sb $zero, 2($s2) /* 167A94 80247234 A2400002 */ sb $zero, 2($s2)
.L80247238: .L80247238:
/* 167A98 80247238 3C028025 */ lui $v0, %hi(D_8024C08C) /* 167A98 80247238 3C028025 */ lui $v0, %hi(filemenu_heldButtons)
/* 167A9C 8024723C 8C42C08C */ lw $v0, %lo(D_8024C08C)($v0) /* 167A9C 8024723C 8C42C08C */ lw $v0, %lo(filemenu_heldButtons)($v0)
/* 167AA0 80247240 3C030002 */ lui $v1, 2 /* 167AA0 80247240 3C030002 */ lui $v1, 2
/* 167AA4 80247244 00431024 */ and $v0, $v0, $v1 /* 167AA4 80247244 00431024 */ and $v0, $v0, $v1
/* 167AA8 80247248 1040000C */ beqz $v0, .L8024727C /* 167AA8 80247248 1040000C */ beqz $v0, .L8024727C
@ -78,8 +78,8 @@ glabel filemenu_yesno_handle_input
/* 167B34 802472D4 0C05272D */ jal sfx_play_sound /* 167B34 802472D4 0C05272D */ jal sfx_play_sound
/* 167B38 802472D8 240400C7 */ addiu $a0, $zero, 0xc7 /* 167B38 802472D8 240400C7 */ addiu $a0, $zero, 0xc7
.L802472DC: .L802472DC:
/* 167B3C 802472DC 3C108025 */ lui $s0, %hi(D_8024C084) /* 167B3C 802472DC 3C108025 */ lui $s0, %hi(filemenu_pressedButtons)
/* 167B40 802472E0 2610C084 */ addiu $s0, $s0, %lo(D_8024C084) /* 167B40 802472E0 2610C084 */ addiu $s0, $s0, %lo(filemenu_pressedButtons)
/* 167B44 802472E4 8E020000 */ lw $v0, ($s0) /* 167B44 802472E4 8E020000 */ lw $v0, ($s0)
/* 167B48 802472E8 30421000 */ andi $v0, $v0, 0x1000 /* 167B48 802472E8 30421000 */ andi $v0, $v0, 0x1000
/* 167B4C 802472EC 10400009 */ beqz $v0, .L80247314 /* 167B4C 802472EC 10400009 */ beqz $v0, .L80247314
@ -93,8 +93,8 @@ glabel filemenu_yesno_handle_input
/* 167B6C 8024730C 34028000 */ ori $v0, $zero, 0x8000 /* 167B6C 8024730C 34028000 */ ori $v0, $zero, 0x8000
/* 167B70 80247310 AE020000 */ sw $v0, ($s0) /* 167B70 80247310 AE020000 */ sw $v0, ($s0)
.L80247314: .L80247314:
/* 167B74 80247314 3C028025 */ lui $v0, %hi(D_8024C084) /* 167B74 80247314 3C028025 */ lui $v0, %hi(filemenu_pressedButtons)
/* 167B78 80247318 8C42C084 */ lw $v0, %lo(D_8024C084)($v0) /* 167B78 80247318 8C42C084 */ lw $v0, %lo(filemenu_pressedButtons)($v0)
/* 167B7C 8024731C 30428000 */ andi $v0, $v0, 0x8000 /* 167B7C 8024731C 30428000 */ andi $v0, $v0, 0x8000
/* 167B80 80247320 10400225 */ beqz $v0, .L80247BB8 /* 167B80 80247320 10400225 */ beqz $v0, .L80247BB8
/* 167B84 80247324 00000000 */ nop /* 167B84 80247324 00000000 */ nop
@ -119,8 +119,8 @@ glabel filemenu_yesno_handle_input
/* 167BCC 8024736C 00000000 */ nop /* 167BCC 8024736C 00000000 */ nop
glabel L80247370_167BD0 glabel L80247370_167BD0
/* 167BD0 80247370 24020002 */ addiu $v0, $zero, 2 /* 167BD0 80247370 24020002 */ addiu $v0, $zero, 2
/* 167BD4 80247374 3C038025 */ lui $v1, %hi(D_80249B8C) /* 167BD4 80247374 3C038025 */ lui $v1, %hi(filemenu_menus + 0x8)
/* 167BD8 80247378 8C639B8C */ lw $v1, %lo(D_80249B8C)($v1) /* 167BD8 80247378 8C639B8C */ lw $v1, %lo(filemenu_menus + 0x8)($v1)
/* 167BDC 8024737C 3C048016 */ lui $a0, %hi(gWindows) /* 167BDC 8024737C 3C048016 */ lui $a0, %hi(gWindows)
/* 167BE0 80247380 24849D50 */ addiu $a0, $a0, %lo(gWindows) /* 167BE0 80247380 24849D50 */ addiu $a0, $a0, %lo(gWindows)
/* 167BE4 80247384 3C018025 */ lui $at, %hi(D_8024C098_C09918) /* 167BE4 80247384 3C018025 */ lui $at, %hi(D_8024C098_C09918)
@ -183,8 +183,8 @@ glabel L80247370_167BD0
/* 167CB8 80247458 0C051F9F */ jal set_window_update /* 167CB8 80247458 0C051F9F */ jal set_window_update
/* 167CBC 8024745C 24040032 */ addiu $a0, $zero, 0x32 /* 167CBC 8024745C 24040032 */ addiu $a0, $zero, 0x32
/* 167CC0 80247460 0000202D */ daddu $a0, $zero, $zero /* 167CC0 80247460 0000202D */ daddu $a0, $zero, $zero
/* 167CC4 80247464 3C028025 */ lui $v0, %hi(D_80249B84) /* 167CC4 80247464 3C028025 */ lui $v0, %hi(filemenu_menus)
/* 167CC8 80247468 8C429B84 */ lw $v0, %lo(D_80249B84)($v0) /* 167CC8 80247468 8C429B84 */ lw $v0, %lo(filemenu_menus)($v0)
/* 167CCC 8024746C 3C068007 */ lui $a2, %hi(D_800779C4) /* 167CCC 8024746C 3C068007 */ lui $a2, %hi(D_800779C4)
/* 167CD0 80247470 24C679C4 */ addiu $a2, $a2, %lo(D_800779C4) /* 167CD0 80247470 24C679C4 */ addiu $a2, $a2, %lo(D_800779C4)
/* 167CD4 80247474 90500003 */ lbu $s0, 3($v0) /* 167CD4 80247474 90500003 */ lbu $s0, 3($v0)
@ -223,8 +223,8 @@ glabel L802474E4_167D44
/* 167D50 802474F0 24020002 */ addiu $v0, $zero, 2 /* 167D50 802474F0 24020002 */ addiu $v0, $zero, 2
/* 167D54 802474F4 3C048016 */ lui $a0, %hi(gWindows) /* 167D54 802474F4 3C048016 */ lui $a0, %hi(gWindows)
/* 167D58 802474F8 24849D50 */ addiu $a0, $a0, %lo(gWindows) /* 167D58 802474F8 24849D50 */ addiu $a0, $a0, %lo(gWindows)
/* 167D5C 802474FC 3C038025 */ lui $v1, %hi(D_80249B8C) /* 167D5C 802474FC 3C038025 */ lui $v1, %hi(filemenu_menus + 0x8)
/* 167D60 80247500 8C639B8C */ lw $v1, %lo(D_80249B8C)($v1) /* 167D60 80247500 8C639B8C */ lw $v1, %lo(filemenu_menus + 0x8)($v1)
/* 167D64 80247504 A0620004 */ sb $v0, 4($v1) /* 167D64 80247504 A0620004 */ sb $v0, 4($v1)
/* 167D68 80247508 808305E3 */ lb $v1, 0x5e3($a0) /* 167D68 80247508 808305E3 */ lb $v1, 0x5e3($a0)
/* 167D6C 8024750C 2402009A */ addiu $v0, $zero, 0x9a /* 167D6C 8024750C 2402009A */ addiu $v0, $zero, 0x9a
@ -282,12 +282,12 @@ glabel L802474E4_167D44
/* 167E2C 802475CC 24A53EEC */ addiu $a1, $a1, %lo(filemenu_update_hidden_name_confirm) /* 167E2C 802475CC 24A53EEC */ addiu $a1, $a1, %lo(filemenu_update_hidden_name_confirm)
/* 167E30 802475D0 0C051F9F */ jal set_window_update /* 167E30 802475D0 0C051F9F */ jal set_window_update
/* 167E34 802475D4 24040032 */ addiu $a0, $zero, 0x32 /* 167E34 802475D4 24040032 */ addiu $a0, $zero, 0x32
/* 167E38 802475D8 3C118025 */ lui $s1, %hi(D_8024C094) /* 167E38 802475D8 3C118025 */ lui $s1, %hi(filemenu_loadedFileIdx)
/* 167E3C 802475DC 2631C094 */ addiu $s1, $s1, %lo(D_8024C094) /* 167E3C 802475DC 2631C094 */ addiu $s1, $s1, %lo(filemenu_loadedFileIdx)
/* 167E40 802475E0 0C00ACB4 */ jal fio_load_game /* 167E40 802475E0 0C00ACB4 */ jal fio_load_game
/* 167E44 802475E4 8E240000 */ lw $a0, ($s1) /* 167E44 802475E4 8E240000 */ lw $a0, ($s1)
/* 167E48 802475E8 3C108025 */ lui $s0, %hi(D_8024C080) /* 167E48 802475E8 3C108025 */ lui $s0, %hi(filemenu_iterFileIdx)
/* 167E4C 802475EC 2610C080 */ addiu $s0, $s0, %lo(D_8024C080) /* 167E4C 802475EC 2610C080 */ addiu $s0, $s0, %lo(filemenu_iterFileIdx)
/* 167E50 802475F0 3C068007 */ lui $a2, %hi(D_800779C4) /* 167E50 802475F0 3C068007 */ lui $a2, %hi(D_800779C4)
/* 167E54 802475F4 24C679C4 */ addiu $a2, $a2, %lo(D_800779C4) /* 167E54 802475F4 24C679C4 */ addiu $a2, $a2, %lo(D_800779C4)
/* 167E58 802475F8 8E040000 */ lw $a0, ($s0) /* 167E58 802475F8 8E040000 */ lw $a0, ($s0)
@ -324,8 +324,8 @@ glabel L80247664_167EC4
/* 167ED0 80247670 24020001 */ addiu $v0, $zero, 1 /* 167ED0 80247670 24020001 */ addiu $v0, $zero, 1
/* 167ED4 80247674 3C048016 */ lui $a0, %hi(gWindows) /* 167ED4 80247674 3C048016 */ lui $a0, %hi(gWindows)
/* 167ED8 80247678 24849D50 */ addiu $a0, $a0, %lo(gWindows) /* 167ED8 80247678 24849D50 */ addiu $a0, $a0, %lo(gWindows)
/* 167EDC 8024767C 3C038025 */ lui $v1, %hi(D_80249B8C) /* 167EDC 8024767C 3C038025 */ lui $v1, %hi(filemenu_menus + 0x8)
/* 167EE0 80247680 8C639B8C */ lw $v1, %lo(D_80249B8C)($v1) /* 167EE0 80247680 8C639B8C */ lw $v1, %lo(filemenu_menus + 0x8)($v1)
/* 167EE4 80247684 A0620004 */ sb $v0, 4($v1) /* 167EE4 80247684 A0620004 */ sb $v0, 4($v1)
/* 167EE8 80247688 808305E3 */ lb $v1, 0x5e3($a0) /* 167EE8 80247688 808305E3 */ lb $v1, 0x5e3($a0)
/* 167EEC 8024768C 24020099 */ addiu $v0, $zero, 0x99 /* 167EEC 8024768C 24020099 */ addiu $v0, $zero, 0x99
@ -383,8 +383,8 @@ glabel L80247664_167EC4
/* 167FAC 8024774C 24A53EEC */ addiu $a1, $a1, %lo(filemenu_update_hidden_name_confirm) /* 167FAC 8024774C 24A53EEC */ addiu $a1, $a1, %lo(filemenu_update_hidden_name_confirm)
/* 167FB0 80247750 0C051F9F */ jal set_window_update /* 167FB0 80247750 0C051F9F */ jal set_window_update
/* 167FB4 80247754 24040032 */ addiu $a0, $zero, 0x32 /* 167FB4 80247754 24040032 */ addiu $a0, $zero, 0x32
/* 167FB8 80247758 3C108025 */ lui $s0, %hi(D_80249B84) /* 167FB8 80247758 3C108025 */ lui $s0, %hi(filemenu_menus)
/* 167FBC 8024775C 26109B84 */ addiu $s0, $s0, %lo(D_80249B84) /* 167FBC 8024775C 26109B84 */ addiu $s0, $s0, %lo(filemenu_menus)
/* 167FC0 80247760 8E020000 */ lw $v0, ($s0) /* 167FC0 80247760 8E020000 */ lw $v0, ($s0)
/* 167FC4 80247764 90420003 */ lbu $v0, 3($v0) /* 167FC4 80247764 90420003 */ lbu $v0, 3($v0)
/* 167FC8 80247768 3C058007 */ lui $a1, %hi(D_800779C4) /* 167FC8 80247768 3C058007 */ lui $a1, %hi(D_800779C4)
@ -441,8 +441,8 @@ glabel L802477F8_168058
/* 16808C 8024782C 0C0B2026 */ jal evt_set_variable /* 16808C 8024782C 0C0B2026 */ jal evt_set_variable
/* 168090 80247830 A460008E */ sh $zero, 0x8e($v1) /* 168090 80247830 A460008E */ sh $zero, 0x8e($v1)
/* 168094 80247834 0000202D */ daddu $a0, $zero, $zero /* 168094 80247834 0000202D */ daddu $a0, $zero, $zero
/* 168098 80247838 3C028025 */ lui $v0, %hi(D_80249B84) /* 168098 80247838 3C028025 */ lui $v0, %hi(filemenu_menus)
/* 16809C 8024783C 8C429B84 */ lw $v0, %lo(D_80249B84)($v0) /* 16809C 8024783C 8C429B84 */ lw $v0, %lo(filemenu_menus)($v0)
/* 1680A0 80247840 3C078007 */ lui $a3, %hi(D_800779C4) /* 1680A0 80247840 3C078007 */ lui $a3, %hi(D_800779C4)
/* 1680A4 80247844 24E779C4 */ addiu $a3, $a3, %lo(D_800779C4) /* 1680A4 80247844 24E779C4 */ addiu $a3, $a3, %lo(D_800779C4)
/* 1680A8 80247848 90510003 */ lbu $s1, 3($v0) /* 1680A8 80247848 90510003 */ lbu $s1, 3($v0)
@ -520,8 +520,8 @@ glabel L802477F8_168058
/* 1681C4 80247964 24020003 */ addiu $v0, $zero, 3 /* 1681C4 80247964 24020003 */ addiu $v0, $zero, 3
/* 1681C8 80247968 3C048016 */ lui $a0, %hi(gWindows) /* 1681C8 80247968 3C048016 */ lui $a0, %hi(gWindows)
/* 1681CC 8024796C 24849D50 */ addiu $a0, $a0, %lo(gWindows) /* 1681CC 8024796C 24849D50 */ addiu $a0, $a0, %lo(gWindows)
/* 1681D0 80247970 3C038025 */ lui $v1, %hi(D_80249B8C) /* 1681D0 80247970 3C038025 */ lui $v1, %hi(filemenu_menus + 0x8)
/* 1681D4 80247974 8C639B8C */ lw $v1, %lo(D_80249B8C)($v1) /* 1681D4 80247974 8C639B8C */ lw $v1, %lo(filemenu_menus + 0x8)($v1)
/* 1681D8 80247978 A0620004 */ sb $v0, 4($v1) /* 1681D8 80247978 A0620004 */ sb $v0, 4($v1)
/* 1681DC 8024797C 808305E3 */ lb $v1, 0x5e3($a0) /* 1681DC 8024797C 808305E3 */ lb $v1, 0x5e3($a0)
/* 1681E0 80247980 240200B8 */ addiu $v0, $zero, 0xb8 /* 1681E0 80247980 240200B8 */ addiu $v0, $zero, 0xb8
@ -582,8 +582,8 @@ glabel L80247A3C_16829C
/* 1682A8 80247A48 8CA20038 */ lw $v0, 0x38($a1) /* 1682A8 80247A48 8CA20038 */ lw $v0, 0x38($a1)
/* 1682AC 80247A4C 3C038007 */ lui $v1, %hi(gGameStatusPtr) /* 1682AC 80247A4C 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 1682B0 80247A50 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) /* 1682B0 80247A50 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* 1682B4 80247A54 3C048025 */ lui $a0, %hi(D_80249B84) /* 1682B4 80247A54 3C048025 */ lui $a0, %hi(filemenu_menus)
/* 1682B8 80247A58 8C849B84 */ lw $a0, %lo(D_80249B84)($a0) /* 1682B8 80247A58 8C849B84 */ lw $a0, %lo(filemenu_menus)($a0)
/* 1682BC 80247A5C 00C21023 */ subu $v0, $a2, $v0 /* 1682BC 80247A5C 00C21023 */ subu $v0, $a2, $v0
/* 1682C0 80247A60 906300AB */ lbu $v1, 0xab($v1) /* 1682C0 80247A60 906300AB */ lbu $v1, 0xab($v1)
/* 1682C4 80247A64 90900003 */ lbu $s0, 3($a0) /* 1682C4 80247A64 90900003 */ lbu $s0, 3($a0)
@ -632,8 +632,8 @@ glabel L80247AF8_168358
/* 168358 80247AF8 2404002D */ addiu $a0, $zero, 0x2d /* 168358 80247AF8 2404002D */ addiu $a0, $zero, 0x2d
/* 16835C 80247AFC 3C108024 */ lui $s0, %hi(filemenu_update_show_with_rotation) /* 16835C 80247AFC 3C108024 */ lui $s0, %hi(filemenu_update_show_with_rotation)
/* 168360 80247B00 2610381C */ addiu $s0, $s0, %lo(filemenu_update_show_with_rotation) /* 168360 80247B00 2610381C */ addiu $s0, $s0, %lo(filemenu_update_show_with_rotation)
/* 168364 80247B04 3C028025 */ lui $v0, %hi(D_80249B84) /* 168364 80247B04 3C028025 */ lui $v0, %hi(filemenu_menus)
/* 168368 80247B08 8C429B84 */ lw $v0, %lo(D_80249B84)($v0) /* 168368 80247B08 8C429B84 */ lw $v0, %lo(filemenu_menus)($v0)
/* 16836C 80247B0C 3C018025 */ lui $at, %hi(D_8024C098_C09918) /* 16836C 80247B0C 3C018025 */ lui $at, %hi(D_8024C098_C09918)
/* 168370 80247B10 A020C098 */ sb $zero, %lo(D_8024C098_C09918)($at) /* 168370 80247B10 A020C098 */ sb $zero, %lo(D_8024C098_C09918)($at)
/* 168374 80247B14 90510003 */ lbu $s1, 3($v0) /* 168374 80247B14 90510003 */ lbu $s1, 3($v0)
@ -679,8 +679,8 @@ glabel L80247AF8_168358
/* 168410 80247BB0 0C051F9F */ jal set_window_update /* 168410 80247BB0 0C051F9F */ jal set_window_update
/* 168414 80247BB4 00000000 */ nop /* 168414 80247BB4 00000000 */ nop
.L80247BB8: .L80247BB8:
/* 168418 80247BB8 3C028025 */ lui $v0, %hi(D_8024C084) /* 168418 80247BB8 3C028025 */ lui $v0, %hi(filemenu_pressedButtons)
/* 16841C 80247BBC 8C42C084 */ lw $v0, %lo(D_8024C084)($v0) /* 16841C 80247BBC 8C42C084 */ lw $v0, %lo(filemenu_pressedButtons)($v0)
/* 168420 80247BC0 30424000 */ andi $v0, $v0, 0x4000 /* 168420 80247BC0 30424000 */ andi $v0, $v0, 0x4000
/* 168424 80247BC4 1040004D */ beqz $v0, .L80247CFC /* 168424 80247BC4 1040004D */ beqz $v0, .L80247CFC
/* 168428 80247BC8 00000000 */ nop /* 168428 80247BC8 00000000 */ nop
@ -718,8 +718,8 @@ glabel L80247C3C_16849C
/* 16849C 80247C3C 2404002D */ addiu $a0, $zero, 0x2d /* 16849C 80247C3C 2404002D */ addiu $a0, $zero, 0x2d
/* 1684A0 80247C40 3C108024 */ lui $s0, %hi(filemenu_update_show_with_rotation) /* 1684A0 80247C40 3C108024 */ lui $s0, %hi(filemenu_update_show_with_rotation)
/* 1684A4 80247C44 2610381C */ addiu $s0, $s0, %lo(filemenu_update_show_with_rotation) /* 1684A4 80247C44 2610381C */ addiu $s0, $s0, %lo(filemenu_update_show_with_rotation)
/* 1684A8 80247C48 3C028025 */ lui $v0, %hi(D_80249B84) /* 1684A8 80247C48 3C028025 */ lui $v0, %hi(filemenu_menus)
/* 1684AC 80247C4C 8C429B84 */ lw $v0, %lo(D_80249B84)($v0) /* 1684AC 80247C4C 8C429B84 */ lw $v0, %lo(filemenu_menus)($v0)
/* 1684B0 80247C50 3C018025 */ lui $at, %hi(D_8024C098_C09918) /* 1684B0 80247C50 3C018025 */ lui $at, %hi(D_8024C098_C09918)
/* 1684B4 80247C54 A020C098 */ sb $zero, %lo(D_8024C098_C09918)($at) /* 1684B4 80247C54 A020C098 */ sb $zero, %lo(D_8024C098_C09918)($at)
/* 1684B8 80247C58 90510003 */ lbu $s1, 3($v0) /* 1684B8 80247C58 90510003 */ lbu $s1, 3($v0)

View File

@ -1,26 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_choose_name_cleanup
/* 169B8C 8024932C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 169B90 80249330 AFB10014 */ sw $s1, 0x14($sp)
/* 169B94 80249334 0000882D */ daddu $s1, $zero, $zero
/* 169B98 80249338 AFB00010 */ sw $s0, 0x10($sp)
/* 169B9C 8024933C 3C108025 */ lui $s0, %hi(D_8024C100_C09980)
/* 169BA0 80249340 2610C100 */ addiu $s0, $s0, %lo(D_8024C100_C09980)
/* 169BA4 80249344 AFBF0018 */ sw $ra, 0x18($sp)
.L80249348:
/* 169BA8 80249348 8E040000 */ lw $a0, ($s0)
/* 169BAC 8024934C 26100004 */ addiu $s0, $s0, 4
/* 169BB0 80249350 0C05123D */ jal free_hud_element
/* 169BB4 80249354 26310001 */ addiu $s1, $s1, 1
/* 169BB8 80249358 2A220003 */ slti $v0, $s1, 3
/* 169BBC 8024935C 1440FFFA */ bnez $v0, .L80249348
/* 169BC0 80249360 00000000 */ nop
/* 169BC4 80249364 8FBF0018 */ lw $ra, 0x18($sp)
/* 169BC8 80249368 8FB10014 */ lw $s1, 0x14($sp)
/* 169BCC 8024936C 8FB00010 */ lw $s0, 0x10($sp)
/* 169BD0 80249370 03E00008 */ jr $ra
/* 169BD4 80249374 27BD0020 */ addiu $sp, $sp, 0x20
/* 169BD8 80249378 00000000 */ nop
/* 169BDC 8024937C 00000000 */ nop

View File

@ -12,8 +12,8 @@ glabel filemenu_choose_name_handle_input
/* 169454 80248BF4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 169454 80248BF4 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 169458 80248BF8 AFB00010 */ sw $s0, 0x10($sp) /* 169458 80248BF8 AFB00010 */ sw $s0, 0x10($sp)
/* 16945C 80248BFC 0080802D */ daddu $s0, $a0, $zero /* 16945C 80248BFC 0080802D */ daddu $s0, $a0, $zero
/* 169460 80248C00 3C038025 */ lui $v1, %hi(D_8024C08C) /* 169460 80248C00 3C038025 */ lui $v1, %hi(filemenu_heldButtons)
/* 169464 80248C04 8C63C08C */ lw $v1, %lo(D_8024C08C)($v1) /* 169464 80248C04 8C63C08C */ lw $v1, %lo(filemenu_heldButtons)($v1)
/* 169468 80248C08 3C020004 */ lui $v0, 4 /* 169468 80248C08 3C020004 */ lui $v0, 4
/* 16946C 80248C0C AFBF0018 */ sw $ra, 0x18($sp) /* 16946C 80248C0C AFBF0018 */ sw $ra, 0x18($sp)
/* 169470 80248C10 AFB10014 */ sw $s1, 0x14($sp) /* 169470 80248C10 AFB10014 */ sw $s1, 0x14($sp)
@ -69,8 +69,8 @@ glabel filemenu_choose_name_handle_input
.L80248CCC: .L80248CCC:
/* 16952C 80248CCC A2020001 */ sb $v0, 1($s0) /* 16952C 80248CCC A2020001 */ sb $v0, 1($s0)
.L80248CD0: .L80248CD0:
/* 169530 80248CD0 3C038025 */ lui $v1, %hi(D_8024C08C) /* 169530 80248CD0 3C038025 */ lui $v1, %hi(filemenu_heldButtons)
/* 169534 80248CD4 8C63C08C */ lw $v1, %lo(D_8024C08C)($v1) /* 169534 80248CD4 8C63C08C */ lw $v1, %lo(filemenu_heldButtons)($v1)
/* 169538 80248CD8 3C020001 */ lui $v0, 1 /* 169538 80248CD8 3C020001 */ lui $v0, 1
/* 16953C 80248CDC 00621024 */ and $v0, $v1, $v0 /* 16953C 80248CDC 00621024 */ and $v0, $v1, $v0
/* 169540 80248CE0 1040000B */ beqz $v0, .L80248D10 /* 169540 80248CE0 1040000B */ beqz $v0, .L80248D10
@ -149,8 +149,8 @@ glabel filemenu_choose_name_handle_input
/* 169650 80248DF0 0C05272D */ jal sfx_play_sound /* 169650 80248DF0 0C05272D */ jal sfx_play_sound
/* 169654 80248DF4 24042102 */ addiu $a0, $zero, 0x2102 /* 169654 80248DF4 24042102 */ addiu $a0, $zero, 0x2102
.L80248DF8: .L80248DF8:
/* 169658 80248DF8 3C028025 */ lui $v0, %hi(D_8024C084) /* 169658 80248DF8 3C028025 */ lui $v0, %hi(filemenu_pressedButtons)
/* 16965C 80248DFC 8C42C084 */ lw $v0, %lo(D_8024C084)($v0) /* 16965C 80248DFC 8C42C084 */ lw $v0, %lo(filemenu_pressedButtons)($v0)
/* 169660 80248E00 30428000 */ andi $v0, $v0, 0x8000 /* 169660 80248E00 30428000 */ andi $v0, $v0, 0x8000
/* 169664 80248E04 1040009A */ beqz $v0, .L80249070 /* 169664 80248E04 1040009A */ beqz $v0, .L80249070
/* 169668 80248E08 00000000 */ nop /* 169668 80248E08 00000000 */ nop
@ -323,8 +323,8 @@ glabel L80249034_169894
/* 1698C8 80249068 0C090B65 */ jal filemenu_set_selected /* 1698C8 80249068 0C090B65 */ jal filemenu_set_selected
/* 1698CC 8024906C 24C6FFFF */ addiu $a2, $a2, -1 /* 1698CC 8024906C 24C6FFFF */ addiu $a2, $a2, -1
.L80249070: .L80249070:
/* 1698D0 80249070 3C038025 */ lui $v1, %hi(D_8024C084) /* 1698D0 80249070 3C038025 */ lui $v1, %hi(filemenu_pressedButtons)
/* 1698D4 80249074 8C63C084 */ lw $v1, %lo(D_8024C084)($v1) /* 1698D4 80249074 8C63C084 */ lw $v1, %lo(filemenu_pressedButtons)($v1)
/* 1698D8 80249078 30624000 */ andi $v0, $v1, 0x4000 /* 1698D8 80249078 30624000 */ andi $v0, $v1, 0x4000
/* 1698DC 8024907C 14400006 */ bnez $v0, .L80249098 /* 1698DC 8024907C 14400006 */ bnez $v0, .L80249098
/* 1698E0 80249080 30628000 */ andi $v0, $v1, 0x8000 /* 1698E0 80249080 30628000 */ andi $v0, $v1, 0x8000
@ -408,8 +408,8 @@ glabel L80249034_169894
/* 169A0C 802491AC 1440FFFC */ bnez $v0, .L802491A0 /* 169A0C 802491AC 1440FFFC */ bnez $v0, .L802491A0
/* 169A10 802491B0 00651021 */ addu $v0, $v1, $a1 /* 169A10 802491B0 00651021 */ addu $v0, $v1, $a1
.L802491B4: .L802491B4:
/* 169A14 802491B4 3C028025 */ lui $v0, %hi(D_8024C084) /* 169A14 802491B4 3C028025 */ lui $v0, %hi(filemenu_pressedButtons)
/* 169A18 802491B8 8C42C084 */ lw $v0, %lo(D_8024C084)($v0) /* 169A18 802491B8 8C42C084 */ lw $v0, %lo(filemenu_pressedButtons)($v0)
/* 169A1C 802491BC 30421000 */ andi $v0, $v0, 0x1000 /* 169A1C 802491BC 30421000 */ andi $v0, $v0, 0x1000
/* 169A20 802491C0 10400053 */ beqz $v0, .L80249310 /* 169A20 802491C0 10400053 */ beqz $v0, .L80249310
/* 169A24 802491C4 0000182D */ daddu $v1, $zero, $zero /* 169A24 802491C4 0000182D */ daddu $v1, $zero, $zero
@ -495,8 +495,8 @@ glabel L80249034_169894
/* 169B44 802492E4 0000282D */ daddu $a1, $zero, $zero /* 169B44 802492E4 0000282D */ daddu $a1, $zero, $zero
/* 169B48 802492E8 00A0302D */ daddu $a2, $a1, $zero /* 169B48 802492E8 00A0302D */ daddu $a2, $a1, $zero
/* 169B4C 802492EC A4E30000 */ sh $v1, ($a3) /* 169B4C 802492EC A4E30000 */ sh $v1, ($a3)
/* 169B50 802492F0 3C048025 */ lui $a0, %hi(D_80249B88) /* 169B50 802492F0 3C048025 */ lui $a0, %hi(filemenu_menus + 0x4)
/* 169B54 802492F4 8C849B88 */ lw $a0, %lo(D_80249B88)($a0) /* 169B54 802492F4 8C849B88 */ lw $a0, %lo(filemenu_menus + 0x4)($a0)
/* 169B58 802492F8 24020001 */ addiu $v0, $zero, 1 /* 169B58 802492F8 24020001 */ addiu $v0, $zero, 1
/* 169B5C 802492FC 3C018025 */ lui $at, %hi(D_8024C098_C09918) /* 169B5C 802492FC 3C018025 */ lui $at, %hi(D_8024C098_C09918)
/* 169B60 80249300 A022C098 */ sb $v0, %lo(D_8024C098_C09918)($at) /* 169B60 80249300 A022C098 */ sb $v0, %lo(D_8024C098_C09918)($at)

View File

@ -471,8 +471,8 @@ glabel filemenu_draw_contents_choose_name
/* 169230 802489D0 24020003 */ addiu $v0, $zero, 3 /* 169230 802489D0 24020003 */ addiu $v0, $zero, 3
/* 169234 802489D4 1462001D */ bne $v1, $v0, .L80248A4C /* 169234 802489D4 1462001D */ bne $v1, $v0, .L80248A4C
/* 169238 802489D8 00000000 */ nop /* 169238 802489D8 00000000 */ nop
/* 16923C 802489DC 3C028025 */ lui $v0, %hi(D_8024C08C) /* 16923C 802489DC 3C028025 */ lui $v0, %hi(filemenu_heldButtons)
/* 169240 802489E0 8C42C08C */ lw $v0, %lo(D_8024C08C)($v0) /* 169240 802489E0 8C42C08C */ lw $v0, %lo(filemenu_heldButtons)($v0)
/* 169244 802489E4 3C03000F */ lui $v1, 0xf /* 169244 802489E4 3C03000F */ lui $v1, 0xf
/* 169248 802489E8 00431024 */ and $v0, $v0, $v1 /* 169248 802489E8 00431024 */ and $v0, $v0, $v1
/* 16924C 802489EC 10400003 */ beqz $v0, .L802489FC /* 16924C 802489EC 10400003 */ beqz $v0, .L802489FC

View File

@ -1,94 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_draw_contents_file_create_header
/* 168A18 802481B8 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 168A1C 802481BC AFB3002C */ sw $s3, 0x2c($sp)
/* 168A20 802481C0 00A0982D */ daddu $s3, $a1, $zero
/* 168A24 802481C4 AFB40030 */ sw $s4, 0x30($sp)
/* 168A28 802481C8 00C0A02D */ daddu $s4, $a2, $zero
/* 168A2C 802481CC 24040020 */ addiu $a0, $zero, 0x20
/* 168A30 802481D0 AFBF0038 */ sw $ra, 0x38($sp)
/* 168A34 802481D4 AFB50034 */ sw $s5, 0x34($sp)
/* 168A38 802481D8 AFB20028 */ sw $s2, 0x28($sp)
/* 168A3C 802481DC AFB10024 */ sw $s1, 0x24($sp)
/* 168A40 802481E0 0C0926A9 */ jal filemenu_get_menu_message
/* 168A44 802481E4 AFB00020 */ sw $s0, 0x20($sp)
/* 168A48 802481E8 0040202D */ daddu $a0, $v0, $zero
/* 168A4C 802481EC 2665000A */ addiu $a1, $s3, 0xa
/* 168A50 802481F0 26860006 */ addiu $a2, $s4, 6
/* 168A54 802481F4 240700FF */ addiu $a3, $zero, 0xff
/* 168A58 802481F8 AFA00010 */ sw $zero, 0x10($sp)
/* 168A5C 802481FC 0C09265F */ jal filemenu_draw_message
/* 168A60 80248200 AFA00014 */ sw $zero, 0x14($sp)
/* 168A64 80248204 3C048025 */ lui $a0, %hi(D_8024C110)
/* 168A68 80248208 2484C110 */ addiu $a0, $a0, %lo(D_8024C110)
/* 168A6C 8024820C 24050008 */ addiu $a1, $zero, 8
/* 168A70 80248210 26660024 */ addiu $a2, $s3, 0x24
/* 168A74 80248214 26870016 */ addiu $a3, $s4, 0x16
/* 168A78 80248218 240200FF */ addiu $v0, $zero, 0xff
/* 168A7C 8024821C AFA20010 */ sw $v0, 0x10($sp)
/* 168A80 80248220 2402000B */ addiu $v0, $zero, 0xb
/* 168A84 80248224 AFA00014 */ sw $zero, 0x14($sp)
/* 168A88 80248228 AFA00018 */ sw $zero, 0x18($sp)
/* 168A8C 8024822C 0C0926AE */ jal filemenu_draw_file_name
/* 168A90 80248230 AFA2001C */ sw $v0, 0x1c($sp)
/* 168A94 80248234 24150029 */ addiu $s5, $zero, 0x29
/* 168A98 80248238 0000802D */ daddu $s0, $zero, $zero
/* 168A9C 8024823C 3C128025 */ lui $s2, %hi(D_8024C100_C09980)
/* 168AA0 80248240 2652C100 */ addiu $s2, $s2, %lo(D_8024C100_C09980)
/* 168AA4 80248244 2411002A */ addiu $s1, $zero, 0x2a
.L80248248:
/* 168AA8 80248248 8E440004 */ lw $a0, 4($s2)
/* 168AAC 8024824C 02712821 */ addu $a1, $s3, $s1
/* 168AB0 80248250 0C051261 */ jal set_hud_element_render_pos
/* 168AB4 80248254 02953021 */ addu $a2, $s4, $s5
/* 168AB8 80248258 16000006 */ bnez $s0, .L80248274
/* 168ABC 8024825C 00000000 */ nop
/* 168AC0 80248260 8E440004 */ lw $a0, 4($s2)
/* 168AC4 80248264 0C0511F8 */ jal draw_hud_element_3
/* 168AC8 80248268 2631000B */ addiu $s1, $s1, 0xb
/* 168ACC 8024826C 080920A1 */ j .L80248284
/* 168AD0 80248270 26100001 */ addiu $s0, $s0, 1
.L80248274:
/* 168AD4 80248274 8E440004 */ lw $a0, 4($s2)
/* 168AD8 80248278 0C0511F1 */ jal draw_hud_element_2
/* 168ADC 8024827C 2631000B */ addiu $s1, $s1, 0xb
/* 168AE0 80248280 26100001 */ addiu $s0, $s0, 1
.L80248284:
/* 168AE4 80248284 2A020008 */ slti $v0, $s0, 8
/* 168AE8 80248288 1440FFEF */ bnez $v0, .L80248248
/* 168AEC 8024828C 24020003 */ addiu $v0, $zero, 3
/* 168AF0 80248290 3C038025 */ lui $v1, %hi(D_8024C098_C09918)
/* 168AF4 80248294 8063C098 */ lb $v1, %lo(D_8024C098_C09918)($v1)
/* 168AF8 80248298 14620013 */ bne $v1, $v0, .L802482E8
/* 168AFC 8024829C 24040008 */ addiu $a0, $zero, 8
/* 168B00 802482A0 3C038025 */ lui $v1, %hi(D_8024C090)
/* 168B04 802482A4 8063C090 */ lb $v1, %lo(D_8024C090)($v1)
/* 168B08 802482A8 10640006 */ beq $v1, $a0, .L802482C4
/* 168B0C 802482AC 2402007A */ addiu $v0, $zero, 0x7a
/* 168B10 802482B0 00031040 */ sll $v0, $v1, 1
/* 168B14 802482B4 00431021 */ addu $v0, $v0, $v1
/* 168B18 802482B8 00021080 */ sll $v0, $v0, 2
/* 168B1C 802482BC 00431023 */ subu $v0, $v0, $v1
/* 168B20 802482C0 2442002D */ addiu $v0, $v0, 0x2d
.L802482C4:
/* 168B24 802482C4 02622821 */ addu $a1, $s3, $v0
/* 168B28 802482C8 3C108025 */ lui $s0, %hi(D_8024C100_C09980)
/* 168B2C 802482CC 2610C100 */ addiu $s0, $s0, %lo(D_8024C100_C09980)
/* 168B30 802482D0 8E040000 */ lw $a0, ($s0)
/* 168B34 802482D4 0C051261 */ jal set_hud_element_render_pos
/* 168B38 802482D8 2686002D */ addiu $a2, $s4, 0x2d
/* 168B3C 802482DC 8E040000 */ lw $a0, ($s0)
/* 168B40 802482E0 0C0511F1 */ jal draw_hud_element_2
/* 168B44 802482E4 00000000 */ nop
.L802482E8:
/* 168B48 802482E8 8FBF0038 */ lw $ra, 0x38($sp)
/* 168B4C 802482EC 8FB50034 */ lw $s5, 0x34($sp)
/* 168B50 802482F0 8FB40030 */ lw $s4, 0x30($sp)
/* 168B54 802482F4 8FB3002C */ lw $s3, 0x2c($sp)
/* 168B58 802482F8 8FB20028 */ lw $s2, 0x28($sp)
/* 168B5C 802482FC 8FB10024 */ lw $s1, 0x24($sp)
/* 168B60 80248300 8FB00020 */ lw $s0, 0x20($sp)
/* 168B64 80248304 03E00008 */ jr $ra
/* 168B68 80248308 27BD0040 */ addiu $sp, $sp, 0x40

View File

@ -1,181 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_info_draw_message_contents
/* 168590 80247D30 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 168594 80247D34 AFB40030 */ sw $s4, 0x30($sp)
/* 168598 80247D38 00A0A02D */ daddu $s4, $a1, $zero
/* 16859C 80247D3C AFB50034 */ sw $s5, 0x34($sp)
/* 1685A0 80247D40 AFBF0038 */ sw $ra, 0x38($sp)
/* 1685A4 80247D44 AFB3002C */ sw $s3, 0x2c($sp)
/* 1685A8 80247D48 AFB20028 */ sw $s2, 0x28($sp)
/* 1685AC 80247D4C AFB10024 */ sw $s1, 0x24($sp)
/* 1685B0 80247D50 AFB00020 */ sw $s0, 0x20($sp)
/* 1685B4 80247D54 80910004 */ lb $s1, 4($a0)
/* 1685B8 80247D58 24020001 */ addiu $v0, $zero, 1
/* 1685BC 80247D5C 1222006B */ beq $s1, $v0, .L80247F0C
/* 1685C0 80247D60 00C0A82D */ daddu $s5, $a2, $zero
/* 1685C4 80247D64 2A220002 */ slti $v0, $s1, 2
/* 1685C8 80247D68 10400005 */ beqz $v0, .L80247D80
/* 1685CC 80247D6C 24020002 */ addiu $v0, $zero, 2
/* 1685D0 80247D70 12200009 */ beqz $s1, .L80247D98
/* 1685D4 80247D74 00000000 */ nop
/* 1685D8 80247D78 08091FE9 */ j .L80247FA4
/* 1685DC 80247D7C 00000000 */ nop
.L80247D80:
/* 1685E0 80247D80 1222001E */ beq $s1, $v0, .L80247DFC
/* 1685E4 80247D84 24020003 */ addiu $v0, $zero, 3
/* 1685E8 80247D88 12220066 */ beq $s1, $v0, .L80247F24
/* 1685EC 80247D8C 00000000 */ nop
/* 1685F0 80247D90 08091FE9 */ j .L80247FA4
/* 1685F4 80247D94 00000000 */ nop
.L80247D98:
/* 1685F8 80247D98 0C0926A9 */ jal filemenu_get_menu_message
/* 1685FC 80247D9C 2404001A */ addiu $a0, $zero, 0x1a
/* 168600 80247DA0 0040202D */ daddu $a0, $v0, $zero
/* 168604 80247DA4 2685000A */ addiu $a1, $s4, 0xa
/* 168608 80247DA8 26B00004 */ addiu $s0, $s5, 4
/* 16860C 80247DAC 0200302D */ daddu $a2, $s0, $zero
/* 168610 80247DB0 240700FF */ addiu $a3, $zero, 0xff
/* 168614 80247DB4 AFA00010 */ sw $zero, 0x10($sp)
/* 168618 80247DB8 0C09265F */ jal filemenu_draw_message
/* 16861C 80247DBC AFA00014 */ sw $zero, 0x14($sp)
/* 168620 80247DC0 26850030 */ addiu $a1, $s4, 0x30
/* 168624 80247DC4 26A60006 */ addiu $a2, $s5, 6
/* 168628 80247DC8 3C028025 */ lui $v0, %hi(D_80249B84)
/* 16862C 80247DCC 8C429B84 */ lw $v0, %lo(D_80249B84)($v0)
/* 168630 80247DD0 0000382D */ daddu $a3, $zero, $zero
/* 168634 80247DD4 90440003 */ lbu $a0, 3($v0)
/* 168638 80247DD8 240200FF */ addiu $v0, $zero, 0xff
/* 16863C 80247DDC AFA20014 */ sw $v0, 0x14($sp)
/* 168640 80247DE0 24020003 */ addiu $v0, $zero, 3
/* 168644 80247DE4 AFA00010 */ sw $zero, 0x10($sp)
/* 168648 80247DE8 AFA20018 */ sw $v0, 0x18($sp)
/* 16864C 80247DEC 0C049DA7 */ jal draw_number
/* 168650 80247DF0 24840001 */ addiu $a0, $a0, 1
/* 168654 80247DF4 08091FE0 */ j .L80247F80
/* 168658 80247DF8 2404001B */ addiu $a0, $zero, 0x1b
.L80247DFC:
/* 16865C 80247DFC 0C0926A9 */ jal filemenu_get_menu_message
/* 168660 80247E00 2404001D */ addiu $a0, $zero, 0x1d
/* 168664 80247E04 0040202D */ daddu $a0, $v0, $zero
/* 168668 80247E08 2692000A */ addiu $s2, $s4, 0xa
/* 16866C 80247E0C 0240282D */ daddu $a1, $s2, $zero
/* 168670 80247E10 26B00004 */ addiu $s0, $s5, 4
/* 168674 80247E14 0200302D */ daddu $a2, $s0, $zero
/* 168678 80247E18 240700FF */ addiu $a3, $zero, 0xff
/* 16867C 80247E1C AFA00010 */ sw $zero, 0x10($sp)
/* 168680 80247E20 0C09265F */ jal filemenu_draw_message
/* 168684 80247E24 AFA00014 */ sw $zero, 0x14($sp)
/* 168688 80247E28 0C0926A9 */ jal filemenu_get_menu_message
/* 16868C 80247E2C 2404001A */ addiu $a0, $zero, 0x1a
/* 168690 80247E30 0040202D */ daddu $a0, $v0, $zero
/* 168694 80247E34 26850054 */ addiu $a1, $s4, 0x54
/* 168698 80247E38 0200302D */ daddu $a2, $s0, $zero
/* 16869C 80247E3C 240700FF */ addiu $a3, $zero, 0xff
/* 1686A0 80247E40 AFA00010 */ sw $zero, 0x10($sp)
/* 1686A4 80247E44 0C09265F */ jal filemenu_draw_message
/* 1686A8 80247E48 AFA00014 */ sw $zero, 0x14($sp)
/* 1686AC 80247E4C 2685007A */ addiu $a1, $s4, 0x7a
/* 1686B0 80247E50 26A60006 */ addiu $a2, $s5, 6
/* 1686B4 80247E54 0000382D */ daddu $a3, $zero, $zero
/* 1686B8 80247E58 241300FF */ addiu $s3, $zero, 0xff
/* 1686BC 80247E5C 3C048025 */ lui $a0, %hi(D_8024C094)
/* 1686C0 80247E60 8C84C094 */ lw $a0, %lo(D_8024C094)($a0)
/* 1686C4 80247E64 24110003 */ addiu $s1, $zero, 3
/* 1686C8 80247E68 AFA00010 */ sw $zero, 0x10($sp)
/* 1686CC 80247E6C AFB30014 */ sw $s3, 0x14($sp)
/* 1686D0 80247E70 AFB10018 */ sw $s1, 0x18($sp)
/* 1686D4 80247E74 0C049DA7 */ jal draw_number
/* 1686D8 80247E78 24840001 */ addiu $a0, $a0, 1
/* 1686DC 80247E7C 0C0926A9 */ jal filemenu_get_menu_message
/* 1686E0 80247E80 2404001E */ addiu $a0, $zero, 0x1e
/* 1686E4 80247E84 0040202D */ daddu $a0, $v0, $zero
/* 1686E8 80247E88 0240282D */ daddu $a1, $s2, $zero
/* 1686EC 80247E8C 26B00012 */ addiu $s0, $s5, 0x12
/* 1686F0 80247E90 0200302D */ daddu $a2, $s0, $zero
/* 1686F4 80247E94 0260382D */ daddu $a3, $s3, $zero
/* 1686F8 80247E98 AFA00010 */ sw $zero, 0x10($sp)
/* 1686FC 80247E9C 0C09265F */ jal filemenu_draw_message
/* 168700 80247EA0 AFA00014 */ sw $zero, 0x14($sp)
/* 168704 80247EA4 0C0926A9 */ jal filemenu_get_menu_message
/* 168708 80247EA8 2404001A */ addiu $a0, $zero, 0x1a
/* 16870C 80247EAC 0040202D */ daddu $a0, $v0, $zero
/* 168710 80247EB0 2685001E */ addiu $a1, $s4, 0x1e
/* 168714 80247EB4 0200302D */ daddu $a2, $s0, $zero
/* 168718 80247EB8 0260382D */ daddu $a3, $s3, $zero
/* 16871C 80247EBC AFA00010 */ sw $zero, 0x10($sp)
/* 168720 80247EC0 0C09265F */ jal filemenu_draw_message
/* 168724 80247EC4 AFA00014 */ sw $zero, 0x14($sp)
/* 168728 80247EC8 26850044 */ addiu $a1, $s4, 0x44
/* 16872C 80247ECC 26A60014 */ addiu $a2, $s5, 0x14
/* 168730 80247ED0 3C048025 */ lui $a0, %hi(D_8024C080)
/* 168734 80247ED4 8C84C080 */ lw $a0, %lo(D_8024C080)($a0)
/* 168738 80247ED8 0000382D */ daddu $a3, $zero, $zero
/* 16873C 80247EDC AFA00010 */ sw $zero, 0x10($sp)
/* 168740 80247EE0 AFB30014 */ sw $s3, 0x14($sp)
/* 168744 80247EE4 AFB10018 */ sw $s1, 0x18($sp)
/* 168748 80247EE8 0C049DA7 */ jal draw_number
/* 16874C 80247EEC 24840001 */ addiu $a0, $a0, 1
/* 168750 80247EF0 0C0926A9 */ jal filemenu_get_menu_message
/* 168754 80247EF4 24040022 */ addiu $a0, $zero, 0x22
/* 168758 80247EF8 0040202D */ daddu $a0, $v0, $zero
/* 16875C 80247EFC 26850041 */ addiu $a1, $s4, 0x41
/* 168760 80247F00 0200302D */ daddu $a2, $s0, $zero
/* 168764 80247F04 08091FE6 */ j .L80247F98
/* 168768 80247F08 0260382D */ daddu $a3, $s3, $zero
.L80247F0C:
/* 16876C 80247F0C 0C0926A9 */ jal filemenu_get_menu_message
/* 168770 80247F10 2404001C */ addiu $a0, $zero, 0x1c
/* 168774 80247F14 0040202D */ daddu $a0, $v0, $zero
/* 168778 80247F18 2685000A */ addiu $a1, $s4, 0xa
/* 16877C 80247F1C 08091FE5 */ j .L80247F94
/* 168780 80247F20 26A60004 */ addiu $a2, $s5, 4
.L80247F24:
/* 168784 80247F24 0C0926A9 */ jal filemenu_get_menu_message
/* 168788 80247F28 2404001A */ addiu $a0, $zero, 0x1a
/* 16878C 80247F2C 0040202D */ daddu $a0, $v0, $zero
/* 168790 80247F30 2685000A */ addiu $a1, $s4, 0xa
/* 168794 80247F34 26B00004 */ addiu $s0, $s5, 4
/* 168798 80247F38 0200302D */ daddu $a2, $s0, $zero
/* 16879C 80247F3C 240700FF */ addiu $a3, $zero, 0xff
/* 1687A0 80247F40 AFA00010 */ sw $zero, 0x10($sp)
/* 1687A4 80247F44 0C09265F */ jal filemenu_draw_message
/* 1687A8 80247F48 AFA00014 */ sw $zero, 0x14($sp)
/* 1687AC 80247F4C 26850030 */ addiu $a1, $s4, 0x30
/* 1687B0 80247F50 26A60006 */ addiu $a2, $s5, 6
/* 1687B4 80247F54 3C028025 */ lui $v0, %hi(D_80249B84)
/* 1687B8 80247F58 8C429B84 */ lw $v0, %lo(D_80249B84)($v0)
/* 1687BC 80247F5C 0000382D */ daddu $a3, $zero, $zero
/* 1687C0 80247F60 90440003 */ lbu $a0, 3($v0)
/* 1687C4 80247F64 240200FF */ addiu $v0, $zero, 0xff
/* 1687C8 80247F68 AFA00010 */ sw $zero, 0x10($sp)
/* 1687CC 80247F6C AFA20014 */ sw $v0, 0x14($sp)
/* 1687D0 80247F70 AFB10018 */ sw $s1, 0x18($sp)
/* 1687D4 80247F74 0C049DA7 */ jal draw_number
/* 1687D8 80247F78 24840001 */ addiu $a0, $a0, 1
/* 1687DC 80247F7C 2404001F */ addiu $a0, $zero, 0x1f
.L80247F80:
/* 1687E0 80247F80 0C0926A9 */ jal filemenu_get_menu_message
/* 1687E4 80247F84 00000000 */ nop
/* 1687E8 80247F88 0040202D */ daddu $a0, $v0, $zero
/* 1687EC 80247F8C 26850031 */ addiu $a1, $s4, 0x31
/* 1687F0 80247F90 0200302D */ daddu $a2, $s0, $zero
.L80247F94:
/* 1687F4 80247F94 240700FF */ addiu $a3, $zero, 0xff
.L80247F98:
/* 1687F8 80247F98 AFA00010 */ sw $zero, 0x10($sp)
/* 1687FC 80247F9C 0C09265F */ jal filemenu_draw_message
/* 168800 80247FA0 AFA00014 */ sw $zero, 0x14($sp)
.L80247FA4:
/* 168804 80247FA4 0C090B7B */ jal filemenu_set_cursor_alpha
/* 168808 80247FA8 0000202D */ daddu $a0, $zero, $zero
/* 16880C 80247FAC 8FBF0038 */ lw $ra, 0x38($sp)
/* 168810 80247FB0 8FB50034 */ lw $s5, 0x34($sp)
/* 168814 80247FB4 8FB40030 */ lw $s4, 0x30($sp)
/* 168818 80247FB8 8FB3002C */ lw $s3, 0x2c($sp)
/* 16881C 80247FBC 8FB20028 */ lw $s2, 0x28($sp)
/* 168820 80247FC0 8FB10024 */ lw $s1, 0x24($sp)
/* 168824 80247FC4 8FB00020 */ lw $s0, 0x20($sp)
/* 168828 80247FC8 03E00008 */ jr $ra
/* 16882C 80247FCC 27BD0040 */ addiu $sp, $sp, 0x40

View File

@ -1,91 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_info_handle_input
/* 168884 80248024 3C028025 */ lui $v0, %hi(D_8024C084)
/* 168888 80248028 8C42C084 */ lw $v0, %lo(D_8024C084)($v0)
/* 16888C 8024802C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 168890 80248030 AFBF0018 */ sw $ra, 0x18($sp)
/* 168894 80248034 AFB10014 */ sw $s1, 0x14($sp)
/* 168898 80248038 3042C000 */ andi $v0, $v0, 0xc000
/* 16889C 8024803C 10400043 */ beqz $v0, .L8024814C
/* 1688A0 80248040 AFB00010 */ sw $s0, 0x10($sp)
/* 1688A4 80248044 3C118025 */ lui $s1, %hi(D_80249B84)
/* 1688A8 80248048 8E319B84 */ lw $s1, %lo(D_80249B84)($s1)
/* 1688AC 8024804C 3C018025 */ lui $at, %hi(D_8024C098_C09918)
/* 1688B0 80248050 A020C098 */ sb $zero, %lo(D_8024C098_C09918)($at)
/* 1688B4 80248054 82230004 */ lb $v1, 4($s1)
/* 1688B8 80248058 24020002 */ addiu $v0, $zero, 2
/* 1688BC 8024805C 10620033 */ beq $v1, $v0, .L8024812C
/* 1688C0 80248060 28620003 */ slti $v0, $v1, 3
/* 1688C4 80248064 10400005 */ beqz $v0, .L8024807C
/* 1688C8 80248068 24020001 */ addiu $v0, $zero, 1
/* 1688CC 8024806C 10620008 */ beq $v1, $v0, .L80248090
/* 1688D0 80248070 2404002F */ addiu $a0, $zero, 0x2f
/* 1688D4 80248074 08092051 */ j .L80248144
/* 1688D8 80248078 00000000 */ nop
.L8024807C:
/* 1688DC 8024807C 24020004 */ addiu $v0, $zero, 4
/* 1688E0 80248080 10620017 */ beq $v1, $v0, .L802480E0
/* 1688E4 80248084 2404002F */ addiu $a0, $zero, 0x2f
/* 1688E8 80248088 08092051 */ j .L80248144
/* 1688EC 8024808C 00000000 */ nop
.L80248090:
/* 1688F0 80248090 A2200004 */ sb $zero, 4($s1)
/* 1688F4 80248094 3C058024 */ lui $a1, %hi(filemenu_update_show_options_left)
/* 1688F8 80248098 24A533F4 */ addiu $a1, $a1, %lo(filemenu_update_show_options_left)
/* 1688FC 8024809C 0C051F9F */ jal set_window_update
/* 168900 802480A0 24040033 */ addiu $a0, $zero, 0x33
/* 168904 802480A4 3C058024 */ lui $a1, %hi(filemenu_update_show_options_right)
/* 168908 802480A8 24A53468 */ addiu $a1, $a1, %lo(filemenu_update_show_options_right)
/* 16890C 802480AC 0C051F9F */ jal set_window_update
/* 168910 802480B0 24040034 */ addiu $a0, $zero, 0x34
/* 168914 802480B4 24040035 */ addiu $a0, $zero, 0x35
/* 168918 802480B8 3C108024 */ lui $s0, %hi(filemenu_update_show_options_bottom)
/* 16891C 802480BC 261034DC */ addiu $s0, $s0, %lo(filemenu_update_show_options_bottom)
/* 168920 802480C0 0C051F9F */ jal set_window_update
/* 168924 802480C4 0200282D */ daddu $a1, $s0, $zero
/* 168928 802480C8 24040037 */ addiu $a0, $zero, 0x37
/* 16892C 802480CC 0C051F9F */ jal set_window_update
/* 168930 802480D0 0200282D */ daddu $a1, $s0, $zero
/* 168934 802480D4 0220202D */ daddu $a0, $s1, $zero
/* 168938 802480D8 0809204E */ j .L80248138
/* 16893C 802480DC 0000282D */ daddu $a1, $zero, $zero
.L802480E0:
/* 168940 802480E0 A2200004 */ sb $zero, 4($s1)
/* 168944 802480E4 3C058024 */ lui $a1, %hi(filemenu_update_show_options_left)
/* 168948 802480E8 24A533F4 */ addiu $a1, $a1, %lo(filemenu_update_show_options_left)
/* 16894C 802480EC 0C051F9F */ jal set_window_update
/* 168950 802480F0 24040033 */ addiu $a0, $zero, 0x33
/* 168954 802480F4 3C058024 */ lui $a1, %hi(filemenu_update_show_options_right)
/* 168958 802480F8 24A53468 */ addiu $a1, $a1, %lo(filemenu_update_show_options_right)
/* 16895C 802480FC 0C051F9F */ jal set_window_update
/* 168960 80248100 24040034 */ addiu $a0, $zero, 0x34
/* 168964 80248104 24040035 */ addiu $a0, $zero, 0x35
/* 168968 80248108 3C108024 */ lui $s0, %hi(filemenu_update_show_options_bottom)
/* 16896C 8024810C 261034DC */ addiu $s0, $s0, %lo(filemenu_update_show_options_bottom)
/* 168970 80248110 0C051F9F */ jal set_window_update
/* 168974 80248114 0200282D */ daddu $a1, $s0, $zero
/* 168978 80248118 24040037 */ addiu $a0, $zero, 0x37
/* 16897C 8024811C 0C051F9F */ jal set_window_update
/* 168980 80248120 0200282D */ daddu $a1, $s0, $zero
/* 168984 80248124 0809204D */ j .L80248134
/* 168988 80248128 0220202D */ daddu $a0, $s1, $zero
.L8024812C:
/* 16898C 8024812C A2230004 */ sb $v1, 4($s1)
/* 168990 80248130 0220202D */ daddu $a0, $s1, $zero
.L80248134:
/* 168994 80248134 24050001 */ addiu $a1, $zero, 1
.L80248138:
/* 168998 80248138 0C090B65 */ jal filemenu_set_selected
/* 16899C 8024813C 24060002 */ addiu $a2, $zero, 2
/* 1689A0 80248140 2404002F */ addiu $a0, $zero, 0x2f
.L80248144:
/* 1689A4 80248144 0C051F9F */ jal set_window_update
/* 1689A8 80248148 24050002 */ addiu $a1, $zero, 2
.L8024814C:
/* 1689AC 8024814C 8FBF0018 */ lw $ra, 0x18($sp)
/* 1689B0 80248150 8FB10014 */ lw $s1, 0x14($sp)
/* 1689B4 80248154 8FB00010 */ lw $s0, 0x10($sp)
/* 1689B8 80248158 03E00008 */ jr $ra
/* 1689BC 8024815C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,26 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_info_init
/* 168830 80247FD0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 168834 80247FD4 AFB00010 */ sw $s0, 0x10($sp)
/* 168838 80247FD8 0080802D */ daddu $s0, $a0, $zero
/* 16883C 80247FDC 0000182D */ daddu $v1, $zero, $zero
/* 168840 80247FE0 3C028025 */ lui $v0, %hi(D_8024A134)
/* 168844 80247FE4 2442A134 */ addiu $v0, $v0, %lo(D_8024A134)
/* 168848 80247FE8 AFBF0014 */ sw $ra, 0x14($sp)
.L80247FEC:
/* 16884C 80247FEC AC500010 */ sw $s0, 0x10($v0)
/* 168850 80247FF0 24630001 */ addiu $v1, $v1, 1
/* 168854 80247FF4 1860FFFD */ blez $v1, .L80247FEC
/* 168858 80247FF8 24420024 */ addiu $v0, $v0, 0x24
/* 16885C 80247FFC 3C048025 */ lui $a0, %hi(D_8024A134)
/* 168860 80248000 2484A134 */ addiu $a0, $a0, %lo(D_8024A134)
/* 168864 80248004 0C051FCC */ jal setup_pause_menu_tab
/* 168868 80248008 24050001 */ addiu $a1, $zero, 1
/* 16886C 8024800C 24020001 */ addiu $v0, $zero, 1
/* 168870 80248010 A2020000 */ sb $v0, ($s0)
/* 168874 80248014 8FBF0014 */ lw $ra, 0x14($sp)
/* 168878 80248018 8FB00010 */ lw $s0, 0x10($sp)
/* 16887C 8024801C 03E00008 */ jr $ra
/* 168880 80248020 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -345,8 +345,8 @@ glabel update_camera_zone_interp
.L80031944: .L80031944:
/* CD44 80031944 AE220444 */ sw $v0, 0x444($s1) /* CD44 80031944 AE220444 */ sw $v0, 0x444($s1)
.L80031948: .L80031948:
/* CD48 80031948 3C0C800A */ lui $t4, %hi(D_800A08C0) /* CD48 80031948 3C0C800A */ lui $t4, %hi(blendedCamSettings)
/* CD4C 8003194C 258C08C0 */ addiu $t4, $t4, %lo(D_800A08C0) /* CD4C 8003194C 258C08C0 */ addiu $t4, $t4, %lo(blendedCamSettings)
/* CD50 80031950 8D890000 */ lw $t1, ($t4) /* CD50 80031950 8D890000 */ lw $t1, ($t4)
/* CD54 80031954 8D8A0004 */ lw $t2, 4($t4) /* CD54 80031954 8D8A0004 */ lw $t2, 4($t4)
/* CD58 80031958 8D8B0008 */ lw $t3, 8($t4) /* CD58 80031958 8D8B0008 */ lw $t3, 8($t4)
@ -721,8 +721,8 @@ glabel update_camera_zone_interp
/* D2B4 80031EB4 E63E04A8 */ swc1 $f30, 0x4a8($s1) /* D2B4 80031EB4 E63E04A8 */ swc1 $f30, 0x4a8($s1)
/* D2B8 80031EB8 C7B0003C */ lwc1 $f16, 0x3c($sp) /* D2B8 80031EB8 C7B0003C */ lwc1 $f16, 0x3c($sp)
/* D2BC 80031EBC 46001080 */ add.s $f2, $f2, $f0 /* D2BC 80031EBC 46001080 */ add.s $f2, $f2, $f0
/* D2C0 80031EC0 3C12800A */ lui $s2, %hi(D_800A08C0) /* D2C0 80031EC0 3C12800A */ lui $s2, %hi(blendedCamSettings)
/* D2C4 80031EC4 265208C0 */ addiu $s2, $s2, %lo(D_800A08C0) /* D2C4 80031EC4 265208C0 */ addiu $s2, $s2, %lo(blendedCamSettings)
/* D2C8 80031EC8 E63004AC */ swc1 $f16, 0x4ac($s1) /* D2C8 80031EC8 E63004AC */ swc1 $f16, 0x4ac($s1)
/* D2CC 80031ECC E6420000 */ swc1 $f2, ($s2) /* D2CC 80031ECC E6420000 */ swc1 $f2, ($s2)
/* D2D0 80031ED0 C6240450 */ lwc1 $f4, 0x450($s1) /* D2D0 80031ED0 C6240450 */ lwc1 $f4, 0x450($s1)
@ -859,8 +859,8 @@ glabel update_camera_zone_interp
/* D4D8 800320D8 0800C840 */ j .L80032100 /* D4D8 800320D8 0800C840 */ j .L80032100
/* D4DC 800320DC 00000000 */ nop /* D4DC 800320DC 00000000 */ nop
.L800320E0: .L800320E0:
/* D4E0 800320E0 3C02800A */ lui $v0, %hi(D_800A08C0) /* D4E0 800320E0 3C02800A */ lui $v0, %hi(blendedCamSettings)
/* D4E4 800320E4 244208C0 */ addiu $v0, $v0, %lo(D_800A08C0) /* D4E4 800320E4 244208C0 */ addiu $v0, $v0, %lo(blendedCamSettings)
/* D4E8 800320E8 C62C003C */ lwc1 $f12, 0x3c($s1) /* D4E8 800320E8 C62C003C */ lwc1 $f12, 0x3c($s1)
/* D4EC 800320EC C62E0044 */ lwc1 $f14, 0x44($s1) /* D4EC 800320EC C62E0044 */ lwc1 $f14, 0x44($s1)
/* D4F0 800320F0 8C460010 */ lw $a2, 0x10($v0) /* D4F0 800320F0 8C460010 */ lw $a2, 0x10($v0)
@ -868,8 +868,8 @@ glabel update_camera_zone_interp
/* D4F8 800320F8 8C470018 */ lw $a3, 0x18($v0) /* D4F8 800320F8 8C470018 */ lw $a3, 0x18($v0)
/* D4FC 800320FC 46000106 */ mov.s $f4, $f0 /* D4FC 800320FC 46000106 */ mov.s $f4, $f0
.L80032100: .L80032100:
/* D500 80032100 3C03800A */ lui $v1, %hi(D_800A08C0) /* D500 80032100 3C03800A */ lui $v1, %hi(blendedCamSettings)
/* D504 80032104 246308C0 */ addiu $v1, $v1, %lo(D_800A08C0) /* D504 80032104 246308C0 */ addiu $v1, $v1, %lo(blendedCamSettings)
/* D508 80032108 C4600014 */ lwc1 $f0, 0x14($v1) /* D508 80032108 C4600014 */ lwc1 $f0, 0x14($v1)
/* D50C 8003210C 96220002 */ lhu $v0, 2($s1) /* D50C 8003210C 96220002 */ lhu $v0, 2($s1)
/* D510 80032110 C6260040 */ lwc1 $f6, 0x40($s1) /* D510 80032110 C6260040 */ lwc1 $f6, 0x40($s1)

View File

@ -1,35 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel AssignAreaFlag
/* A86F8 80111FF8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* A86FC 80111FFC 24020001 */ addiu $v0, $zero, 1
/* A8700 80112000 AFBF0018 */ sw $ra, 0x18($sp)
/* A8704 80112004 AFB10014 */ sw $s1, 0x14($sp)
/* A8708 80112008 AFB00010 */ sw $s0, 0x10($sp)
/* A870C 8011200C 14A20012 */ bne $a1, $v0, .L80112058
/* A8710 80112010 8C83000C */ lw $v1, 0xc($a0)
/* A8714 80112014 0C0B1EAF */ jal evt_get_variable
/* A8718 80112018 8C650000 */ lw $a1, ($v1)
/* A871C 8011201C 3C048015 */ lui $a0, %hi(gLastCreatedEntityIndex)
/* A8720 80112020 8C8412EC */ lw $a0, %lo(gLastCreatedEntityIndex)($a0)
/* A8724 80112024 0C04417A */ jal get_entity_by_index
/* A8728 80112028 0040802D */ daddu $s0, $v0, $zero
/* A872C 8011202C 0040882D */ daddu $s1, $v0, $zero
/* A8730 80112030 8E220040 */ lw $v0, 0x40($s1)
/* A8734 80112034 0200202D */ daddu $a0, $s0, $zero
/* A8738 80112038 0C05157C */ jal get_area_flag
/* A873C 8011203C A4440020 */ sh $a0, 0x20($v0)
/* A8740 80112040 10400004 */ beqz $v0, .L80112054
/* A8744 80112044 3C032000 */ lui $v1, 0x2000
/* A8748 80112048 8E220000 */ lw $v0, ($s1)
/* A874C 8011204C 00431025 */ or $v0, $v0, $v1
/* A8750 80112050 AE220000 */ sw $v0, ($s1)
.L80112054:
/* A8754 80112054 24020002 */ addiu $v0, $zero, 2
.L80112058:
/* A8758 80112058 8FBF0018 */ lw $ra, 0x18($sp)
/* A875C 8011205C 8FB10014 */ lw $s1, 0x14($sp)
/* A8760 80112060 8FB00010 */ lw $s0, 0x10($sp)
/* A8764 80112064 03E00008 */ jr $ra
/* A8768 80112068 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,24 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel AssignBlockFlag
/* A876C 8011206C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* A8770 80112070 24020001 */ addiu $v0, $zero, 1
/* A8774 80112074 AFBF0014 */ sw $ra, 0x14($sp)
/* A8778 80112078 AFB00010 */ sw $s0, 0x10($sp)
/* A877C 8011207C 14A2000A */ bne $a1, $v0, .L801120A8
/* A8780 80112080 8C83000C */ lw $v1, 0xc($a0)
/* A8784 80112084 0C0B1F6A */ jal evt_get_variable_index
/* A8788 80112088 8C650000 */ lw $a1, ($v1)
/* A878C 8011208C 3C048015 */ lui $a0, %hi(gLastCreatedEntityIndex)
/* A8790 80112090 8C8412EC */ lw $a0, %lo(gLastCreatedEntityIndex)($a0)
/* A8794 80112094 0C04417A */ jal get_entity_by_index
/* A8798 80112098 0040802D */ daddu $s0, $v0, $zero
/* A879C 8011209C 8C430040 */ lw $v1, 0x40($v0)
/* A87A0 801120A0 24020002 */ addiu $v0, $zero, 2
/* A87A4 801120A4 A470000A */ sh $s0, 0xa($v1)
.L801120A8:
/* A87A8 801120A8 8FBF0014 */ lw $ra, 0x14($sp)
/* A87AC 801120AC 8FB00010 */ lw $s0, 0x10($sp)
/* A87B0 801120B0 03E00008 */ jr $ra
/* A87B4 801120B4 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,28 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel AssignCrateFlag
/* A8870 80112170 27BDFFE0 */ addiu $sp, $sp, -0x20
/* A8874 80112174 AFB10014 */ sw $s1, 0x14($sp)
/* A8878 80112178 0080882D */ daddu $s1, $a0, $zero
/* A887C 8011217C 24020001 */ addiu $v0, $zero, 1
/* A8880 80112180 AFBF0018 */ sw $ra, 0x18($sp)
/* A8884 80112184 AFB00010 */ sw $s0, 0x10($sp)
/* A8888 80112188 14A2000B */ bne $a1, $v0, .L801121B8
/* A888C 8011218C 8E30000C */ lw $s0, 0xc($s1)
/* A8890 80112190 3C048015 */ lui $a0, %hi(gLastCreatedEntityIndex)
/* A8894 80112194 8C8412EC */ lw $a0, %lo(gLastCreatedEntityIndex)($a0)
/* A8898 80112198 0C04417A */ jal get_entity_by_index
/* A889C 8011219C 00000000 */ nop
/* A88A0 801121A0 8E050000 */ lw $a1, ($s0)
/* A88A4 801121A4 8C500040 */ lw $s0, 0x40($v0)
/* A88A8 801121A8 0C0B1F6A */ jal evt_get_variable_index
/* A88AC 801121AC 0220202D */ daddu $a0, $s1, $zero
/* A88B0 801121B0 A6020004 */ sh $v0, 4($s0)
/* A88B4 801121B4 24020002 */ addiu $v0, $zero, 2
.L801121B8:
/* A88B8 801121B8 8FBF0018 */ lw $ra, 0x18($sp)
/* A88BC 801121BC 8FB10014 */ lw $s1, 0x14($sp)
/* A88C0 801121C0 8FB00010 */ lw $s0, 0x10($sp)
/* A88C4 801121C4 03E00008 */ jr $ra
/* A88C8 801121C8 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,28 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel AssignPanelFlag
/* A8814 80112114 27BDFFE0 */ addiu $sp, $sp, -0x20
/* A8818 80112118 AFB10014 */ sw $s1, 0x14($sp)
/* A881C 8011211C 0080882D */ daddu $s1, $a0, $zero
/* A8820 80112120 24020001 */ addiu $v0, $zero, 1
/* A8824 80112124 AFBF0018 */ sw $ra, 0x18($sp)
/* A8828 80112128 AFB00010 */ sw $s0, 0x10($sp)
/* A882C 8011212C 14A2000B */ bne $a1, $v0, .L8011215C
/* A8830 80112130 8E30000C */ lw $s0, 0xc($s1)
/* A8834 80112134 3C048015 */ lui $a0, %hi(gLastCreatedEntityIndex)
/* A8838 80112138 8C8412EC */ lw $a0, %lo(gLastCreatedEntityIndex)($a0)
/* A883C 8011213C 0C04417A */ jal get_entity_by_index
/* A8840 80112140 00000000 */ nop
/* A8844 80112144 8E050000 */ lw $a1, ($s0)
/* A8848 80112148 8C500040 */ lw $s0, 0x40($v0)
/* A884C 8011214C 0C0B1F6A */ jal evt_get_variable_index
/* A8850 80112150 0220202D */ daddu $a0, $s1, $zero
/* A8854 80112154 A6020006 */ sh $v0, 6($s0)
/* A8858 80112158 24020002 */ addiu $v0, $zero, 2
.L8011215C:
/* A885C 8011215C 8FBF0018 */ lw $ra, 0x18($sp)
/* A8860 80112160 8FB10014 */ lw $s1, 0x14($sp)
/* A8864 80112164 8FB00010 */ lw $s0, 0x10($sp)
/* A8868 80112168 03E00008 */ jr $ra
/* A886C 8011216C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,96 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel MakeEntity
/* A8438 80111D38 27BDFFB0 */ addiu $sp, $sp, -0x50
/* A843C 80111D3C AFB20030 */ sw $s2, 0x30($sp)
/* A8440 80111D40 0080902D */ daddu $s2, $a0, $zero
/* A8444 80111D44 24020001 */ addiu $v0, $zero, 1
/* A8448 80111D48 AFBF004C */ sw $ra, 0x4c($sp)
/* A844C 80111D4C AFBE0048 */ sw $fp, 0x48($sp)
/* A8450 80111D50 AFB70044 */ sw $s7, 0x44($sp)
/* A8454 80111D54 AFB60040 */ sw $s6, 0x40($sp)
/* A8458 80111D58 AFB5003C */ sw $s5, 0x3c($sp)
/* A845C 80111D5C AFB40038 */ sw $s4, 0x38($sp)
/* A8460 80111D60 AFB30034 */ sw $s3, 0x34($sp)
/* A8464 80111D64 AFB1002C */ sw $s1, 0x2c($sp)
/* A8468 80111D68 AFB00028 */ sw $s0, 0x28($sp)
/* A846C 80111D6C 8E50000C */ lw $s0, 0xc($s2)
/* A8470 80111D70 14A2003E */ bne $a1, $v0, .L80111E6C
/* A8474 80111D74 24020002 */ addiu $v0, $zero, 2
/* A8478 80111D78 8E050000 */ lw $a1, ($s0)
/* A847C 80111D7C 26100004 */ addiu $s0, $s0, 4
/* A8480 80111D80 0240202D */ daddu $a0, $s2, $zero
/* A8484 80111D84 3C118016 */ lui $s1, %hi(D_8015C7D8)
/* A8488 80111D88 2631C7D8 */ addiu $s1, $s1, %lo(D_8015C7D8)
/* A848C 80111D8C 0C0B1EAF */ jal evt_get_variable
/* A8490 80111D90 3C148000 */ lui $s4, 0x8000
/* A8494 80111D94 8E050000 */ lw $a1, ($s0)
/* A8498 80111D98 26100004 */ addiu $s0, $s0, 4
/* A849C 80111D9C 0240202D */ daddu $a0, $s2, $zero
/* A84A0 80111DA0 0C0B1EAF */ jal evt_get_variable
/* A84A4 80111DA4 0040F02D */ daddu $fp, $v0, $zero
/* A84A8 80111DA8 8E050000 */ lw $a1, ($s0)
/* A84AC 80111DAC 26100004 */ addiu $s0, $s0, 4
/* A84B0 80111DB0 0240202D */ daddu $a0, $s2, $zero
/* A84B4 80111DB4 0C0B1EAF */ jal evt_get_variable
/* A84B8 80111DB8 0040B02D */ daddu $s6, $v0, $zero
/* A84BC 80111DBC 8E050000 */ lw $a1, ($s0)
/* A84C0 80111DC0 26100004 */ addiu $s0, $s0, 4
/* A84C4 80111DC4 0240202D */ daddu $a0, $s2, $zero
/* A84C8 80111DC8 0C0B1EAF */ jal evt_get_variable
/* A84CC 80111DCC 0040B82D */ daddu $s7, $v0, $zero
/* A84D0 80111DD0 8E050000 */ lw $a1, ($s0)
/* A84D4 80111DD4 26100004 */ addiu $s0, $s0, 4
/* A84D8 80111DD8 0240202D */ daddu $a0, $s2, $zero
/* A84DC 80111DDC 0C0B1EAF */ jal evt_get_variable
/* A84E0 80111DE0 0040A82D */ daddu $s5, $v0, $zero
/* A84E4 80111DE4 0040982D */ daddu $s3, $v0, $zero
/* A84E8 80111DE8 AE200000 */ sw $zero, ($s1)
/* A84EC 80111DEC 2631FFFC */ addiu $s1, $s1, -4
/* A84F0 80111DF0 AE200000 */ sw $zero, ($s1)
/* A84F4 80111DF4 2631FFFC */ addiu $s1, $s1, -4
/* A84F8 80111DF8 AE200000 */ sw $zero, ($s1)
.L80111DFC:
/* A84FC 80111DFC 8E050000 */ lw $a1, ($s0)
/* A8500 80111E00 26100004 */ addiu $s0, $s0, 4
/* A8504 80111E04 0C0B1EAF */ jal evt_get_variable
/* A8508 80111E08 0240202D */ daddu $a0, $s2, $zero
/* A850C 80111E0C 10540004 */ beq $v0, $s4, .L80111E20
/* A8510 80111E10 03C0202D */ daddu $a0, $fp, $zero
/* A8514 80111E14 AE220000 */ sw $v0, ($s1)
/* A8518 80111E18 0804477F */ j .L80111DFC
/* A851C 80111E1C 26310004 */ addiu $s1, $s1, 4
.L80111E20:
/* A8520 80111E20 3C028016 */ lui $v0, %hi(D_8015C7D0)
/* A8524 80111E24 2442C7D0 */ addiu $v0, $v0, %lo(D_8015C7D0)
/* A8528 80111E28 02C0282D */ daddu $a1, $s6, $zero
/* A852C 80111E2C 8C430000 */ lw $v1, ($v0)
/* A8530 80111E30 8C460004 */ lw $a2, 4($v0)
/* A8534 80111E34 8C420008 */ lw $v0, 8($v0)
/* A8538 80111E38 02A0382D */ daddu $a3, $s5, $zero
/* A853C 80111E3C AFB30010 */ sw $s3, 0x10($sp)
/* A8540 80111E40 AFB40020 */ sw $s4, 0x20($sp)
/* A8544 80111E44 AFA60018 */ sw $a2, 0x18($sp)
/* A8548 80111E48 02E0302D */ daddu $a2, $s7, $zero
/* A854C 80111E4C AFA30014 */ sw $v1, 0x14($sp)
/* A8550 80111E50 0C044631 */ jal create_entity
/* A8554 80111E54 AFA2001C */ sw $v0, 0x1c($sp)
/* A8558 80111E58 0040182D */ daddu $v1, $v0, $zero
/* A855C 80111E5C 24020002 */ addiu $v0, $zero, 2
/* A8560 80111E60 3C018015 */ lui $at, %hi(gLastCreatedEntityIndex)
/* A8564 80111E64 AC2312EC */ sw $v1, %lo(gLastCreatedEntityIndex)($at)
/* A8568 80111E68 AE430084 */ sw $v1, 0x84($s2)
.L80111E6C:
/* A856C 80111E6C 8FBF004C */ lw $ra, 0x4c($sp)
/* A8570 80111E70 8FBE0048 */ lw $fp, 0x48($sp)
/* A8574 80111E74 8FB70044 */ lw $s7, 0x44($sp)
/* A8578 80111E78 8FB60040 */ lw $s6, 0x40($sp)
/* A857C 80111E7C 8FB5003C */ lw $s5, 0x3c($sp)
/* A8580 80111E80 8FB40038 */ lw $s4, 0x38($sp)
/* A8584 80111E84 8FB30034 */ lw $s3, 0x34($sp)
/* A8588 80111E88 8FB20030 */ lw $s2, 0x30($sp)
/* A858C 80111E8C 8FB1002C */ lw $s1, 0x2c($sp)
/* A8590 80111E90 8FB00028 */ lw $s0, 0x28($sp)
/* A8594 80111E94 03E00008 */ jr $ra
/* A8598 80111E98 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -48,8 +48,8 @@ glabel _load_model_textures
/* AC2E8 80115BE8 0C04535B */ jal load_tile_header /* AC2E8 80115BE8 0C04535B */ jal load_tile_header
/* AC2EC 80115BEC 0280302D */ daddu $a2, $s4, $zero /* AC2EC 80115BEC 0280302D */ daddu $a2, $s4, $zero
.L80115BF0: .L80115BF0:
/* AC2F0 80115BF0 3C038015 */ lui $v1, %hi(D_80153224) /* AC2F0 80115BF0 3C038015 */ lui $v1, %hi(mdl_treeIterPos)
/* AC2F4 80115BF4 24633224 */ addiu $v1, $v1, %lo(D_80153224) /* AC2F4 80115BF4 24633224 */ addiu $v1, $v1, %lo(mdl_treeIterPos)
/* AC2F8 80115BF8 8C620000 */ lw $v0, ($v1) /* AC2F8 80115BF8 8C620000 */ lw $v0, ($v1)
/* AC2FC 80115BFC 24420001 */ addiu $v0, $v0, 1 /* AC2FC 80115BFC 24420001 */ addiu $v0, $v0, 1
/* AC300 80115C00 AC620000 */ sw $v0, ($v1) /* AC300 80115C00 AC620000 */ sw $v0, ($v1)

View File

@ -54,8 +54,8 @@ glabel appendGfx_model
/* A97E4 801130E4 AFAF0028 */ sw $t7, 0x28($sp) /* A97E4 801130E4 AFAF0028 */ sw $t7, 0x28($sp)
/* A97E8 801130E8 92C300A8 */ lbu $v1, 0xa8($s6) /* A97E8 801130E8 92C300A8 */ lbu $v1, 0xa8($s6)
/* A97EC 801130EC 82C200A9 */ lb $v0, 0xa9($s6) /* A97EC 801130EC 82C200A9 */ lb $v0, 0xa9($s6)
/* A97F0 801130F0 3C048016 */ lui $a0, %hi(D_8015A590) /* A97F0 801130F0 3C048016 */ lui $a0, %hi(mdl_textureHandles)
/* A97F4 801130F4 2484A590 */ addiu $a0, $a0, %lo(D_8015A590) /* A97F4 801130F4 2484A590 */ addiu $a0, $a0, %lo(mdl_textureHandles)
/* A97F8 801130F8 00621821 */ addu $v1, $v1, $v0 /* A97F8 801130F8 00621821 */ addu $v1, $v1, $v0
/* A97FC 801130FC 00031100 */ sll $v0, $v1, 4 /* A97FC 801130FC 00031100 */ sll $v0, $v1, 4
/* A9800 80113100 00431021 */ addu $v0, $v0, $v1 /* A9800 80113100 00431021 */ addu $v0, $v0, $v1
@ -89,8 +89,8 @@ glabel appendGfx_model
/* A9860 80113160 1040000B */ beqz $v0, .L80113190 /* A9860 80113160 1040000B */ beqz $v0, .L80113190
/* A9864 80113164 00000000 */ nop /* A9864 80113164 00000000 */ nop
.L80113168: .L80113168:
/* A9868 80113168 3C028015 */ lui $v0, %hi(wFog) /* A9868 80113168 3C028015 */ lui $v0, %hi(gCurrentFogSettings)
/* A986C 8011316C 8C423264 */ lw $v0, %lo(wFog)($v0) /* A986C 8011316C 8C423264 */ lw $v0, %lo(gCurrentFogSettings)($v0)
/* A9870 80113170 8C420000 */ lw $v0, ($v0) /* A9870 80113170 8C420000 */ lw $v0, ($v0)
/* A9874 80113174 10400006 */ beqz $v0, .L80113190 /* A9874 80113174 10400006 */ beqz $v0, .L80113190
/* A9878 80113178 33020040 */ andi $v0, $t8, 0x40 /* A9878 80113178 33020040 */ andi $v0, $t8, 0x40
@ -127,10 +127,10 @@ glabel appendGfx_model
/* A98E4 801131E4 28420011 */ slti $v0, $v0, 0x11 /* A98E4 801131E4 28420011 */ slti $v0, $v0, 0x11
/* A98E8 801131E8 1040007A */ beqz $v0, .L801133D4 /* A98E8 801131E8 1040007A */ beqz $v0, .L801133D4
/* A98EC 801131EC 3C070001 */ lui $a3, 1 /* A98EC 801131EC 3C070001 */ lui $a3, 1
/* A98F0 801131F0 3C038015 */ lui $v1, %hi(D_8014B75C) /* A98F0 801131F0 3C038015 */ lui $v1, %hi(mdl_renderModelFogEnd)
/* A98F4 801131F4 8C63B75C */ lw $v1, %lo(D_8014B75C)($v1) /* A98F4 801131F4 8C63B75C */ lw $v1, %lo(mdl_renderModelFogEnd)($v1)
/* A98F8 801131F8 3C048015 */ lui $a0, %hi(D_8014B758) /* A98F8 801131F8 3C048015 */ lui $a0, %hi(mdl_renderModelFogStart)
/* A98FC 801131FC 8C84B758 */ lw $a0, %lo(D_8014B758)($a0) /* A98FC 801131FC 8C84B758 */ lw $a0, %lo(mdl_renderModelFogStart)($a0)
/* A9900 80113200 34E7F400 */ ori $a3, $a3, 0xf400 /* A9900 80113200 34E7F400 */ ori $a3, $a3, 0xf400
/* A9904 80113204 00641823 */ subu $v1, $v1, $a0 /* A9904 80113204 00641823 */ subu $v1, $v1, $a0
/* A9908 80113208 14600002 */ bnez $v1, .L80113214 /* A9908 80113208 14600002 */ bnez $v1, .L80113214
@ -170,18 +170,18 @@ glabel appendGfx_model
/* A9980 80113280 0040302D */ daddu $a2, $v0, $zero /* A9980 80113280 0040302D */ daddu $a2, $v0, $zero
/* A9984 80113284 3C02FA00 */ lui $v0, 0xfa00 /* A9984 80113284 3C02FA00 */ lui $v0, 0xfa00
/* A9988 80113288 AD020000 */ sw $v0, ($t0) /* A9988 80113288 AD020000 */ sw $v0, ($t0)
/* A998C 8011328C 3C028015 */ lui $v0, %hi(D_8014B750) /* A998C 8011328C 3C028015 */ lui $v0, %hi(mdl_renderModelFogPrimColorR)
/* A9990 80113290 9042B750 */ lbu $v0, %lo(D_8014B750)($v0) /* A9990 80113290 9042B750 */ lbu $v0, %lo(mdl_renderModelFogPrimColorR)($v0)
/* A9994 80113294 3C038015 */ lui $v1, %hi(D_8014B751) /* A9994 80113294 3C038015 */ lui $v1, %hi(mdl_renderModelFogPrimColorG)
/* A9998 80113298 9063B751 */ lbu $v1, %lo(D_8014B751)($v1) /* A9998 80113298 9063B751 */ lbu $v1, %lo(mdl_renderModelFogPrimColorG)($v1)
/* A999C 8011329C 3C048015 */ lui $a0, %hi(D_8014B752) /* A999C 8011329C 3C048015 */ lui $a0, %hi(mdl_renderModelFogPrimColorB)
/* A99A0 801132A0 9084B752 */ lbu $a0, %lo(D_8014B752)($a0) /* A99A0 801132A0 9084B752 */ lbu $a0, %lo(mdl_renderModelFogPrimColorB)($a0)
/* A99A4 801132A4 00021600 */ sll $v0, $v0, 0x18 /* A99A4 801132A4 00021600 */ sll $v0, $v0, 0x18
/* A99A8 801132A8 00031C00 */ sll $v1, $v1, 0x10 /* A99A8 801132A8 00031C00 */ sll $v1, $v1, 0x10
/* A99AC 801132AC 00431025 */ or $v0, $v0, $v1 /* A99AC 801132AC 00431025 */ or $v0, $v0, $v1
/* A99B0 801132B0 00042200 */ sll $a0, $a0, 8 /* A99B0 801132B0 00042200 */ sll $a0, $a0, 8
/* A99B4 801132B4 3C038015 */ lui $v1, %hi(D_8014B753) /* A99B4 801132B4 3C038015 */ lui $v1, %hi(mdl_renderModelFogPrimColorA)
/* A99B8 801132B8 9063B753 */ lbu $v1, %lo(D_8014B753)($v1) /* A99B8 801132B8 9063B753 */ lbu $v1, %lo(mdl_renderModelFogPrimColorA)($v1)
/* A99BC 801132BC 00441025 */ or $v0, $v0, $a0 /* A99BC 801132BC 00441025 */ or $v0, $v0, $a0
/* A99C0 801132C0 00431025 */ or $v0, $v0, $v1 /* A99C0 801132C0 00431025 */ or $v0, $v0, $v1
/* A99C4 801132C4 AD020004 */ sw $v0, 4($t0) /* A99C4 801132C4 AD020004 */ sw $v0, 4($t0)
@ -190,12 +190,12 @@ glabel appendGfx_model
/* A99D0 801132D0 3C02F800 */ lui $v0, 0xf800 /* A99D0 801132D0 3C02F800 */ lui $v0, 0xf800
/* A99D4 801132D4 AE060000 */ sw $a2, ($s0) /* A99D4 801132D4 AE060000 */ sw $a2, ($s0)
/* A99D8 801132D8 AD020000 */ sw $v0, ($t0) /* A99D8 801132D8 AD020000 */ sw $v0, ($t0)
/* A99DC 801132DC 3C028015 */ lui $v0, %hi(D_8014B754) /* A99DC 801132DC 3C028015 */ lui $v0, %hi(mdl_renderModelFogColorR)
/* A99E0 801132E0 9042B754 */ lbu $v0, %lo(D_8014B754)($v0) /* A99E0 801132E0 9042B754 */ lbu $v0, %lo(mdl_renderModelFogColorR)($v0)
/* A99E4 801132E4 3C048015 */ lui $a0, %hi(D_8014B755) /* A99E4 801132E4 3C048015 */ lui $a0, %hi(mdl_renderModelFogColorG)
/* A99E8 801132E8 9084B755 */ lbu $a0, %lo(D_8014B755)($a0) /* A99E8 801132E8 9084B755 */ lbu $a0, %lo(mdl_renderModelFogColorG)($a0)
/* A99EC 801132EC 3C038015 */ lui $v1, %hi(D_8014B756) /* A99EC 801132EC 3C038015 */ lui $v1, %hi(mdl_renderModelFogColorB)
/* A99F0 801132F0 9063B756 */ lbu $v1, %lo(D_8014B756)($v1) /* A99F0 801132F0 9063B756 */ lbu $v1, %lo(mdl_renderModelFogColorB)($v1)
/* A99F4 801132F4 00021600 */ sll $v0, $v0, 0x18 /* A99F4 801132F4 00021600 */ sll $v0, $v0, 0x18
/* A99F8 801132F8 00042400 */ sll $a0, $a0, 0x10 /* A99F8 801132F8 00042400 */ sll $a0, $a0, 0x10
/* A99FC 801132FC 00441025 */ or $v0, $v0, $a0 /* A99FC 801132FC 00441025 */ or $v0, $v0, $a0
@ -222,12 +222,12 @@ glabel appendGfx_model
/* A9A4C 8011334C 0040282D */ daddu $a1, $v0, $zero /* A9A4C 8011334C 0040282D */ daddu $a1, $v0, $zero
/* A9A50 80113350 3C02FA00 */ lui $v0, 0xfa00 /* A9A50 80113350 3C02FA00 */ lui $v0, 0xfa00
/* A9A54 80113354 ACC20000 */ sw $v0, ($a2) /* A9A54 80113354 ACC20000 */ sw $v0, ($a2)
/* A9A58 80113358 3C028015 */ lui $v0, %hi(D_8014B760) /* A9A58 80113358 3C028015 */ lui $v0, %hi(gRenderModelPrimR)
/* A9A5C 8011335C 9042B760 */ lbu $v0, %lo(D_8014B760)($v0) /* A9A5C 8011335C 9042B760 */ lbu $v0, %lo(gRenderModelPrimR)($v0)
/* A9A60 80113360 3C048015 */ lui $a0, %hi(D_8014B761) /* A9A60 80113360 3C048015 */ lui $a0, %hi(gRenderModelPrimG)
/* A9A64 80113364 9084B761 */ lbu $a0, %lo(D_8014B761)($a0) /* A9A64 80113364 9084B761 */ lbu $a0, %lo(gRenderModelPrimG)($a0)
/* A9A68 80113368 3C038015 */ lui $v1, %hi(D_8014B762) /* A9A68 80113368 3C038015 */ lui $v1, %hi(gRenderModelPrimB)
/* A9A6C 8011336C 9063B762 */ lbu $v1, %lo(D_8014B762)($v1) /* A9A6C 8011336C 9063B762 */ lbu $v1, %lo(gRenderModelPrimB)($v1)
/* A9A70 80113370 00021600 */ sll $v0, $v0, 0x18 /* A9A70 80113370 00021600 */ sll $v0, $v0, 0x18
/* A9A74 80113374 00042400 */ sll $a0, $a0, 0x10 /* A9A74 80113374 00042400 */ sll $a0, $a0, 0x10
/* A9A78 80113378 00441025 */ or $v0, $v0, $a0 /* A9A78 80113378 00441025 */ or $v0, $v0, $a0
@ -240,12 +240,12 @@ glabel appendGfx_model
/* A9A94 80113394 3C02FB00 */ lui $v0, 0xfb00 /* A9A94 80113394 3C02FB00 */ lui $v0, 0xfb00
/* A9A98 80113398 AE050000 */ sw $a1, ($s0) /* A9A98 80113398 AE050000 */ sw $a1, ($s0)
/* A9A9C 8011339C ACC20000 */ sw $v0, ($a2) /* A9A9C 8011339C ACC20000 */ sw $v0, ($a2)
/* A9AA0 801133A0 3C028015 */ lui $v0, %hi(D_8014B763) /* A9AA0 801133A0 3C028015 */ lui $v0, %hi(gRenderModelEnvR)
/* A9AA4 801133A4 9042B763 */ lbu $v0, %lo(D_8014B763)($v0) /* A9AA4 801133A4 9042B763 */ lbu $v0, %lo(gRenderModelEnvR)($v0)
/* A9AA8 801133A8 3C048015 */ lui $a0, %hi(D_8014B764) /* A9AA8 801133A8 3C048015 */ lui $a0, %hi(gRenderModelEnvG)
/* A9AAC 801133AC 9084B764 */ lbu $a0, %lo(D_8014B764)($a0) /* A9AAC 801133AC 9084B764 */ lbu $a0, %lo(gRenderModelEnvG)($a0)
/* A9AB0 801133B0 3C038015 */ lui $v1, %hi(D_8014B765) /* A9AB0 801133B0 3C038015 */ lui $v1, %hi(gRenderModelEnvB)
/* A9AB4 801133B4 9063B765 */ lbu $v1, %lo(D_8014B765)($v1) /* A9AB4 801133B4 9063B765 */ lbu $v1, %lo(gRenderModelEnvB)($v1)
/* A9AB8 801133B8 00021600 */ sll $v0, $v0, 0x18 /* A9AB8 801133B8 00021600 */ sll $v0, $v0, 0x18
/* A9ABC 801133BC 00042400 */ sll $a0, $a0, 0x10 /* A9ABC 801133BC 00042400 */ sll $a0, $a0, 0x10
/* A9AC0 801133C0 00441025 */ or $v0, $v0, $a0 /* A9AC0 801133C0 00441025 */ or $v0, $v0, $a0
@ -1017,8 +1017,8 @@ glabel L80113E48_AA548
/* AA57C 80113E7C 3C018015 */ lui $at, %hi(D_8014AFC0) /* AA57C 80113E7C 3C018015 */ lui $at, %hi(D_8014AFC0)
/* AA580 80113E80 00220821 */ addu $at, $at, $v0 /* AA580 80113E80 00220821 */ addu $at, $at, $v0
/* AA584 80113E84 8C22AFC0 */ lw $v0, %lo(D_8014AFC0)($at) /* AA584 80113E84 8C22AFC0 */ lw $v0, %lo(D_8014AFC0)($at)
/* AA588 80113E88 3C088015 */ lui $t0, %hi(wFog) /* AA588 80113E88 3C088015 */ lui $t0, %hi(gCurrentFogSettings)
/* AA58C 80113E8C 25083264 */ addiu $t0, $t0, %lo(wFog) /* AA58C 80113E8C 25083264 */ addiu $t0, $t0, %lo(gCurrentFogSettings)
/* AA590 80113E90 AC820004 */ sw $v0, 4($a0) /* AA590 80113E90 AC820004 */ sw $v0, 4($a0)
/* AA594 80113E94 8D050000 */ lw $a1, ($t0) /* AA594 80113E94 8D050000 */ lw $a1, ($t0)
/* AA598 80113E98 3C02F800 */ lui $v0, 0xf800 /* AA598 80113E98 3C02F800 */ lui $v0, 0xf800
@ -1077,8 +1077,8 @@ glabel L80113E48_AA548
/* AA65C 80113F5C 080451A4 */ j L80114690_AAD90 /* AA65C 80113F5C 080451A4 */ j L80114690_AAD90
/* AA660 80113F60 ACA60004 */ sw $a2, 4($a1) /* AA660 80113F60 ACA60004 */ sw $a2, 4($a1)
glabel L80113F64_AA664 glabel L80113F64_AA664
/* AA664 80113F64 3C038015 */ lui $v1, %hi(D_8014B74C) /* AA664 80113F64 3C038015 */ lui $v1, %hi(mdl_bgMultiplyColorA)
/* AA668 80113F68 9063B74C */ lbu $v1, %lo(D_8014B74C)($v1) /* AA668 80113F68 9063B74C */ lbu $v1, %lo(mdl_bgMultiplyColorA)($v1)
/* AA66C 80113F6C 240200FF */ addiu $v0, $zero, 0xff /* AA66C 80113F6C 240200FF */ addiu $v0, $zero, 0xff
/* AA670 80113F70 106202ED */ beq $v1, $v0, .L80114B28 /* AA670 80113F70 106202ED */ beq $v1, $v0, .L80114B28
/* AA674 80113F74 3C02DE00 */ lui $v0, 0xde00 /* AA674 80113F74 3C02DE00 */ lui $v0, 0xde00
@ -1286,8 +1286,8 @@ glabel L80114234_AA934
/* AA948 80114248 AE020000 */ sw $v0, ($s0) /* AA948 80114248 AE020000 */ sw $v0, ($s0)
/* AA94C 8011424C 0040282D */ daddu $a1, $v0, $zero /* AA94C 8011424C 0040282D */ daddu $a1, $v0, $zero
/* AA950 80114250 3C02F800 */ lui $v0, 0xf800 /* AA950 80114250 3C02F800 */ lui $v0, 0xf800
/* AA954 80114254 3C038015 */ lui $v1, %hi(wFog) /* AA954 80114254 3C038015 */ lui $v1, %hi(gCurrentFogSettings)
/* AA958 80114258 8C633264 */ lw $v1, %lo(wFog)($v1) /* AA958 80114258 8C633264 */ lw $v1, %lo(gCurrentFogSettings)($v1)
/* AA95C 8011425C 00A0402D */ daddu $t0, $a1, $zero /* AA95C 8011425C 00A0402D */ daddu $t0, $a1, $zero
/* AA960 80114260 ACE20000 */ sw $v0, ($a3) /* AA960 80114260 ACE20000 */ sw $v0, ($a3)
/* AA964 80114264 90620007 */ lbu $v0, 7($v1) /* AA964 80114264 90620007 */ lbu $v0, 7($v1)
@ -1295,8 +1295,8 @@ glabel L80114234_AA934
/* AA96C 8011426C 9066000F */ lbu $a2, 0xf($v1) /* AA96C 8011426C 9066000F */ lbu $a2, 0xf($v1)
/* AA970 80114270 24A50008 */ addiu $a1, $a1, 8 /* AA970 80114270 24A50008 */ addiu $a1, $a1, 8
/* AA974 80114274 AE050000 */ sw $a1, ($s0) /* AA974 80114274 AE050000 */ sw $a1, ($s0)
/* AA978 80114278 3C038015 */ lui $v1, %hi(D_8014B74C) /* AA978 80114278 3C038015 */ lui $v1, %hi(mdl_bgMultiplyColorA)
/* AA97C 8011427C 9063B74C */ lbu $v1, %lo(D_8014B74C)($v1) /* AA97C 8011427C 9063B74C */ lbu $v1, %lo(mdl_bgMultiplyColorA)($v1)
/* AA980 80114280 00021600 */ sll $v0, $v0, 0x18 /* AA980 80114280 00021600 */ sll $v0, $v0, 0x18
/* AA984 80114284 00042400 */ sll $a0, $a0, 0x10 /* AA984 80114284 00042400 */ sll $a0, $a0, 0x10
/* AA988 80114288 00441025 */ or $v0, $v0, $a0 /* AA988 80114288 00441025 */ or $v0, $v0, $a0
@ -1306,12 +1306,12 @@ glabel L80114234_AA934
/* AA998 80114298 ACE20004 */ sw $v0, 4($a3) /* AA998 80114298 ACE20004 */ sw $v0, 4($a3)
/* AA99C 8011429C 3C02F900 */ lui $v0, 0xf900 /* AA99C 8011429C 3C02F900 */ lui $v0, 0xf900
/* AA9A0 801142A0 AD020000 */ sw $v0, ($t0) /* AA9A0 801142A0 AD020000 */ sw $v0, ($t0)
/* AA9A4 801142A4 3C028015 */ lui $v0, %hi(D_8014B74D) /* AA9A4 801142A4 3C028015 */ lui $v0, %hi(mdl_bgMultiplyColorR)
/* AA9A8 801142A8 9042B74D */ lbu $v0, %lo(D_8014B74D)($v0) /* AA9A8 801142A8 9042B74D */ lbu $v0, %lo(mdl_bgMultiplyColorR)($v0)
/* AA9AC 801142AC 3C048015 */ lui $a0, %hi(D_8014B74E) /* AA9AC 801142AC 3C048015 */ lui $a0, %hi(mdl_bgMultiplyColorG)
/* AA9B0 801142B0 9084B74E */ lbu $a0, %lo(D_8014B74E)($a0) /* AA9B0 801142B0 9084B74E */ lbu $a0, %lo(mdl_bgMultiplyColorG)($a0)
/* AA9B4 801142B4 3C038015 */ lui $v1, %hi(D_8014B74F) /* AA9B4 801142B4 3C038015 */ lui $v1, %hi(mdl_bgMultiplyColorB)
/* AA9B8 801142B8 9063B74F */ lbu $v1, %lo(D_8014B74F)($v1) /* AA9B8 801142B8 9063B74F */ lbu $v1, %lo(mdl_bgMultiplyColorB)($v1)
/* AA9BC 801142BC 00021600 */ sll $v0, $v0, 0x18 /* AA9BC 801142BC 00021600 */ sll $v0, $v0, 0x18
/* AA9C0 801142C0 00042400 */ sll $a0, $a0, 0x10 /* AA9C0 801142C0 00042400 */ sll $a0, $a0, 0x10
/* AA9C4 801142C4 00441025 */ or $v0, $v0, $a0 /* AA9C4 801142C4 00441025 */ or $v0, $v0, $a0
@ -1394,16 +1394,16 @@ glabel L801143A8_AAAA8
.L801143AC: .L801143AC:
/* AAAAC 801143AC 3C02DE00 */ lui $v0, 0xde00 /* AAAAC 801143AC 3C02DE00 */ lui $v0, 0xde00
/* AAAB0 801143B0 8E0B0000 */ lw $t3, ($s0) /* AAAB0 801143B0 8E0B0000 */ lw $t3, ($s0)
/* AAAB4 801143B4 3C0A8015 */ lui $t2, %hi(wFog) /* AAAB4 801143B4 3C0A8015 */ lui $t2, %hi(gCurrentFogSettings)
/* AAAB8 801143B8 8D4A3264 */ lw $t2, %lo(wFog)($t2) /* AAAB8 801143B8 8D4A3264 */ lw $t2, %lo(gCurrentFogSettings)($t2)
/* AAABC 801143BC 0160182D */ daddu $v1, $t3, $zero /* AAABC 801143BC 0160182D */ daddu $v1, $t3, $zero
/* AAAC0 801143C0 AC620000 */ sw $v0, ($v1) /* AAAC0 801143C0 AC620000 */ sw $v0, ($v1)
/* AAAC4 801143C4 00051080 */ sll $v0, $a1, 2 /* AAAC4 801143C4 00051080 */ sll $v0, $a1, 2
/* AAAC8 801143C8 3C018015 */ lui $at, %hi(D_8014AFC0) /* AAAC8 801143C8 3C018015 */ lui $at, %hi(D_8014AFC0)
/* AAACC 801143CC 00220821 */ addu $at, $at, $v0 /* AAACC 801143CC 00220821 */ addu $at, $at, $v0
/* AAAD0 801143D0 8C22AFC0 */ lw $v0, %lo(D_8014AFC0)($at) /* AAAD0 801143D0 8C22AFC0 */ lw $v0, %lo(D_8014AFC0)($at)
/* AAAD4 801143D4 3C058015 */ lui $a1, %hi(D_8014B74C) /* AAAD4 801143D4 3C058015 */ lui $a1, %hi(mdl_bgMultiplyColorA)
/* AAAD8 801143D8 90A5B74C */ lbu $a1, %lo(D_8014B74C)($a1) /* AAAD8 801143D8 90A5B74C */ lbu $a1, %lo(mdl_bgMultiplyColorA)($a1)
/* AAADC 801143DC 240700FF */ addiu $a3, $zero, 0xff /* AAADC 801143DC 240700FF */ addiu $a3, $zero, 0xff
/* AAAE0 801143E0 AC620004 */ sw $v0, 4($v1) /* AAAE0 801143E0 AC620004 */ sw $v0, 4($v1)
/* AAAE4 801143E4 8D420014 */ lw $v0, 0x14($t2) /* AAAE4 801143E4 8D420014 */ lw $v0, 0x14($t2)
@ -1473,8 +1473,8 @@ glabel L801143A8_AAAA8
/* AABD4 801144D4 00000000 */ nop /* AABD4 801144D4 00000000 */ nop
/* AABD8 801144D8 00470018 */ mult $v0, $a3 /* AABD8 801144D8 00470018 */ mult $v0, $a3
/* AABDC 801144DC 00001812 */ mflo $v1 /* AABDC 801144DC 00001812 */ mflo $v1
/* AABE0 801144E0 3C028015 */ lui $v0, %hi(D_8014B74D) /* AABE0 801144E0 3C028015 */ lui $v0, %hi(mdl_bgMultiplyColorR)
/* AABE4 801144E4 9042B74D */ lbu $v0, %lo(D_8014B74D)($v0) /* AABE4 801144E4 9042B74D */ lbu $v0, %lo(mdl_bgMultiplyColorR)($v0)
/* AABE8 801144E8 00450018 */ mult $v0, $a1 /* AABE8 801144E8 00450018 */ mult $v0, $a1
/* AABEC 801144EC 00004012 */ mflo $t0 /* AABEC 801144EC 00004012 */ mflo $t0
/* AABF0 801144F0 00684021 */ addu $t0, $v1, $t0 /* AABF0 801144F0 00684021 */ addu $t0, $v1, $t0
@ -1489,8 +1489,8 @@ glabel L801143A8_AAAA8
/* AAC14 80114514 3C04800A */ lui $a0, %hi(gMasterGfxPos) /* AAC14 80114514 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* AAC18 80114518 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos) /* AAC18 80114518 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* AAC1C 8011451C 00008812 */ mflo $s1 /* AAC1C 8011451C 00008812 */ mflo $s1
/* AAC20 80114520 3C038015 */ lui $v1, %hi(D_8014B74E) /* AAC20 80114520 3C038015 */ lui $v1, %hi(mdl_bgMultiplyColorG)
/* AAC24 80114524 9063B74E */ lbu $v1, %lo(D_8014B74E)($v1) /* AAC24 80114524 9063B74E */ lbu $v1, %lo(mdl_bgMultiplyColorG)($v1)
/* AAC28 80114528 8C820000 */ lw $v0, ($a0) /* AAC28 80114528 8C820000 */ lw $v0, ($a0)
/* AAC2C 8011452C 00650018 */ mult $v1, $a1 /* AAC2C 8011452C 00650018 */ mult $v1, $a1
/* AAC30 80114530 0040582D */ daddu $t3, $v0, $zero /* AAC30 80114530 0040582D */ daddu $t3, $v0, $zero
@ -1505,8 +1505,8 @@ glabel L801143A8_AAAA8
/* AAC54 80114554 AD640000 */ sw $a0, ($t3) /* AAC54 80114554 AD640000 */ sw $a0, ($t3)
/* AAC58 80114558 02882021 */ addu $a0, $s4, $t0 /* AAC58 80114558 02882021 */ addu $a0, $s4, $t0
/* AAC5C 8011455C 00007012 */ mflo $t6 /* AAC5C 8011455C 00007012 */ mflo $t6
/* AAC60 80114560 3C038015 */ lui $v1, %hi(D_8014B74F) /* AAC60 80114560 3C038015 */ lui $v1, %hi(mdl_bgMultiplyColorB)
/* AAC64 80114564 9063B74F */ lbu $v1, %lo(D_8014B74F)($v1) /* AAC64 80114564 9063B74F */ lbu $v1, %lo(mdl_bgMultiplyColorB)($v1)
/* AAC68 80114568 000421C3 */ sra $a0, $a0, 7 /* AAC68 80114568 000421C3 */ sra $a0, $a0, 7
/* AAC6C 8011456C 00650018 */ mult $v1, $a1 /* AAC6C 8011456C 00650018 */ mult $v1, $a1
/* AAC70 80114570 000847C3 */ sra $t0, $t0, 0x1f /* AAC70 80114570 000847C3 */ sra $t0, $t0, 0x1f
@ -1636,8 +1636,8 @@ glabel L80114690_AAD90
/* AAE2C 8011472C 10400018 */ beqz $v0, .L80114790 /* AAE2C 8011472C 10400018 */ beqz $v0, .L80114790
/* AAE30 80114730 00000000 */ nop /* AAE30 80114730 00000000 */ nop
/* AAE34 80114734 92C200A5 */ lbu $v0, 0xa5($s6) /* AAE34 80114734 92C200A5 */ lbu $v0, 0xa5($s6)
/* AAE38 80114738 3C038015 */ lui $v1, %hi(gCurrentModelSpecialDlsPtr) /* AAE38 80114738 3C038015 */ lui $v1, %hi(gCurrentCustomModelGfxPtr)
/* AAE3C 8011473C 246312E8 */ addiu $v1, $v1, %lo(gCurrentModelSpecialDlsPtr) /* AAE3C 8011473C 246312E8 */ addiu $v1, $v1, %lo(gCurrentCustomModelGfxPtr)
/* AAE40 80114740 3042000F */ andi $v0, $v0, 0xf /* AAE40 80114740 3042000F */ andi $v0, $v0, 0xf
/* AAE44 80114744 00021040 */ sll $v0, $v0, 1 /* AAE44 80114744 00021040 */ sll $v0, $v0, 1
/* AAE48 80114748 A7A20036 */ sh $v0, 0x36($sp) /* AAE48 80114748 A7A20036 */ sh $v0, 0x36($sp)
@ -1861,8 +1861,8 @@ glabel L80114690_AAD90
/* AB188 80114A88 10400016 */ beqz $v0, .L80114AE4 /* AB188 80114A88 10400016 */ beqz $v0, .L80114AE4
/* AB18C 80114A8C 00000000 */ nop /* AB18C 80114A8C 00000000 */ nop
/* AB190 80114A90 97B50036 */ lhu $s5, 0x36($sp) /* AB190 80114A90 97B50036 */ lhu $s5, 0x36($sp)
/* AB194 80114A94 3C078015 */ lui $a3, %hi(gCurrentModelSpecialDlsPtr) /* AB194 80114A94 3C078015 */ lui $a3, %hi(gCurrentCustomModelGfxPtr)
/* AB198 80114A98 24E712E8 */ addiu $a3, $a3, %lo(gCurrentModelSpecialDlsPtr) /* AB198 80114A98 24E712E8 */ addiu $a3, $a3, %lo(gCurrentCustomModelGfxPtr)
/* AB19C 80114A9C 26B50001 */ addiu $s5, $s5, 1 /* AB19C 80114A9C 26B50001 */ addiu $s5, $s5, 1
/* AB1A0 80114AA0 A7B50036 */ sh $s5, 0x36($sp) /* AB1A0 80114AA0 A7B50036 */ sh $s5, 0x36($sp)
/* AB1A4 80114AA4 32A2FFFF */ andi $v0, $s5, 0xffff /* AB1A4 80114AA4 32A2FFFF */ andi $v0, $s5, 0xffff

View File

@ -5,8 +5,8 @@ glabel appendGfx_model_group
/* AE394 80117C94 27BDFFE8 */ addiu $sp, $sp, -0x18 /* AE394 80117C94 27BDFFE8 */ addiu $sp, $sp, -0x18
/* AE398 80117C98 AFBF0010 */ sw $ra, 0x10($sp) /* AE398 80117C98 AFBF0010 */ sw $ra, 0x10($sp)
/* AE39C 80117C9C 94820002 */ lhu $v0, 2($a0) /* AE39C 80117C9C 94820002 */ lhu $v0, 2($a0)
/* AE3A0 80117CA0 3C05800A */ lui $a1, %hi(D_8009A5F4) /* AE3A0 80117CA0 3C05800A */ lui $a1, %hi(mdl_currentModelTreeNodeInfo)
/* AE3A4 80117CA4 8CA5A5F4 */ lw $a1, %lo(D_8009A5F4)($a1) /* AE3A4 80117CA4 8CA5A5F4 */ lw $a1, %lo(mdl_currentModelTreeNodeInfo)($a1)
/* AE3A8 80117CA8 2443FFFF */ addiu $v1, $v0, -1 /* AE3A8 80117CA8 2443FFFF */ addiu $v1, $v0, -1
/* AE3AC 80117CAC 00021080 */ sll $v0, $v0, 2 /* AE3AC 80117CAC 00021080 */ sll $v0, $v0, 2
/* AE3B0 80117CB0 00451021 */ addu $v0, $v0, $a1 /* AE3B0 80117CB0 00451021 */ addu $v0, $v0, $a1
@ -25,8 +25,8 @@ glabel appendGfx_model_group
.L80117CE0: .L80117CE0:
/* AE3E0 80117CE0 24620001 */ addiu $v0, $v1, 1 /* AE3E0 80117CE0 24620001 */ addiu $v0, $v1, 1
.L80117CE4: .L80117CE4:
/* AE3E4 80117CE4 3C018015 */ lui $at, %hi(D_80153224) /* AE3E4 80117CE4 3C018015 */ lui $at, %hi(mdl_treeIterPos)
/* AE3E8 80117CE8 AC223224 */ sw $v0, %lo(D_80153224)($at) /* AE3E8 80117CE8 AC223224 */ sw $v0, %lo(mdl_treeIterPos)($at)
/* AE3EC 80117CEC 0C045F40 */ jal func_80117D00 /* AE3EC 80117CEC 0C045F40 */ jal func_80117D00
/* AE3F0 80117CF0 00000000 */ nop /* AE3F0 80117CF0 00000000 */ nop
/* AE3F4 80117CF4 8FBF0010 */ lw $ra, 0x10($sp) /* AE3F4 80117CF4 8FBF0010 */ lw $ra, 0x10($sp)

View File

@ -1,81 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel build_custom_gfx
/* B23EC 8011BCEC 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B23F0 8011BCF0 AFB10014 */ sw $s1, 0x14($sp)
/* B23F4 8011BCF4 0000882D */ daddu $s1, $zero, $zero
/* B23F8 8011BCF8 AFB50024 */ sw $s5, 0x24($sp)
/* B23FC 8011BCFC 3C158015 */ lui $s5, %hi(gCurrentCustomModelGfxBuilders)
/* B2400 8011BD00 26B512B8 */ addiu $s5, $s5, %lo(gCurrentCustomModelGfxBuilders)
/* B2404 8011BD04 3C02800A */ lui $v0, %hi(gMasterGfxPos)
/* B2408 8011BD08 2442A66C */ addiu $v0, $v0, %lo(gMasterGfxPos)
/* B240C 8011BD0C AFB20018 */ sw $s2, 0x18($sp)
/* B2410 8011BD10 0040902D */ daddu $s2, $v0, $zero
/* B2414 8011BD14 AFBF0028 */ sw $ra, 0x28($sp)
/* B2418 8011BD18 AFB40020 */ sw $s4, 0x20($sp)
/* B241C 8011BD1C AFB3001C */ sw $s3, 0x1c($sp)
/* B2420 8011BD20 AFB00010 */ sw $s0, 0x10($sp)
/* B2424 8011BD24 8E530000 */ lw $s3, ($s2)
/* B2428 8011BD28 3C14DF00 */ lui $s4, 0xdf00
/* B242C 8011BD2C 26620008 */ addiu $v0, $s3, 8
/* B2430 8011BD30 AE420000 */ sw $v0, ($s2)
/* B2434 8011BD34 3C02DE01 */ lui $v0, 0xde01
/* B2438 8011BD38 AE620000 */ sw $v0, ($s3)
/* B243C 8011BD3C AE600004 */ sw $zero, 4($s3)
.L8011BD40:
/* B2440 8011BD40 8EA20000 */ lw $v0, ($s5)
/* B2444 8011BD44 001180C0 */ sll $s0, $s1, 3
/* B2448 8011BD48 02021021 */ addu $v0, $s0, $v0
/* B244C 8011BD4C 8C450000 */ lw $a1, ($v0)
/* B2450 8011BD50 10A0000D */ beqz $a1, .L8011BD88
/* B2454 8011BD54 0220202D */ daddu $a0, $s1, $zero
/* B2458 8011BD58 3C028015 */ lui $v0, %hi(gCurrentModelSpecialDlsPtr)
/* B245C 8011BD5C 8C4212E8 */ lw $v0, %lo(gCurrentModelSpecialDlsPtr)($v0)
/* B2460 8011BD60 8E430000 */ lw $v1, ($s2)
/* B2464 8011BD64 02021021 */ addu $v0, $s0, $v0
/* B2468 8011BD68 00A0F809 */ jalr $a1
/* B246C 8011BD6C AC430000 */ sw $v1, ($v0)
/* B2470 8011BD70 8E420000 */ lw $v0, ($s2)
/* B2474 8011BD74 0040182D */ daddu $v1, $v0, $zero
/* B2478 8011BD78 24420008 */ addiu $v0, $v0, 8
/* B247C 8011BD7C AE420000 */ sw $v0, ($s2)
/* B2480 8011BD80 AC740000 */ sw $s4, ($v1)
/* B2484 8011BD84 AC600004 */ sw $zero, 4($v1)
.L8011BD88:
/* B2488 8011BD88 8EA20000 */ lw $v0, ($s5)
/* B248C 8011BD8C 02021021 */ addu $v0, $s0, $v0
/* B2490 8011BD90 8C450004 */ lw $a1, 4($v0)
/* B2494 8011BD94 50A0000F */ beql $a1, $zero, .L8011BDD4
/* B2498 8011BD98 26310001 */ addiu $s1, $s1, 1
/* B249C 8011BD9C 0220202D */ daddu $a0, $s1, $zero
/* B24A0 8011BDA0 3C028015 */ lui $v0, %hi(gCurrentModelSpecialDlsPtr)
/* B24A4 8011BDA4 8C4212E8 */ lw $v0, %lo(gCurrentModelSpecialDlsPtr)($v0)
/* B24A8 8011BDA8 8E430000 */ lw $v1, ($s2)
/* B24AC 8011BDAC 02021021 */ addu $v0, $s0, $v0
/* B24B0 8011BDB0 00A0F809 */ jalr $a1
/* B24B4 8011BDB4 AC430004 */ sw $v1, 4($v0)
/* B24B8 8011BDB8 8E420000 */ lw $v0, ($s2)
/* B24BC 8011BDBC 0040182D */ daddu $v1, $v0, $zero
/* B24C0 8011BDC0 24420008 */ addiu $v0, $v0, 8
/* B24C4 8011BDC4 AE420000 */ sw $v0, ($s2)
/* B24C8 8011BDC8 AC740000 */ sw $s4, ($v1)
/* B24CC 8011BDCC AC600004 */ sw $zero, 4($v1)
/* B24D0 8011BDD0 26310001 */ addiu $s1, $s1, 1
.L8011BDD4:
/* B24D4 8011BDD4 2A220010 */ slti $v0, $s1, 0x10
/* B24D8 8011BDD8 1440FFD9 */ bnez $v0, .L8011BD40
/* B24DC 8011BDDC 3C02DE01 */ lui $v0, 0xde01
/* B24E0 8011BDE0 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* B24E4 8011BDE4 8C63A66C */ lw $v1, %lo(gMasterGfxPos)($v1)
/* B24E8 8011BDE8 AE620000 */ sw $v0, ($s3)
/* B24EC 8011BDEC AE630004 */ sw $v1, 4($s3)
/* B24F0 8011BDF0 8FBF0028 */ lw $ra, 0x28($sp)
/* B24F4 8011BDF4 8FB50024 */ lw $s5, 0x24($sp)
/* B24F8 8011BDF8 8FB40020 */ lw $s4, 0x20($sp)
/* B24FC 8011BDFC 8FB3001C */ lw $s3, 0x1c($sp)
/* B2500 8011BE00 8FB20018 */ lw $s2, 0x18($sp)
/* B2504 8011BE04 8FB10014 */ lw $s1, 0x14($sp)
/* B2508 8011BE08 8FB00010 */ lw $s0, 0x10($sp)
/* B250C 8011BE0C 03E00008 */ jr $ra
/* B2510 8011BE10 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,62 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel calculate_model_sizes
/* AC82C 8011612C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* AC830 80116130 F7B40020 */ sdc1 $f20, 0x20($sp)
/* AC834 80116134 3C013FE0 */ lui $at, 0x3fe0
/* AC838 80116138 4481A800 */ mtc1 $at, $f21
/* AC83C 8011613C 4480A000 */ mtc1 $zero, $f20
/* AC840 80116140 AFB10014 */ sw $s1, 0x14($sp)
/* AC844 80116144 0000882D */ daddu $s1, $zero, $zero
/* AC848 80116148 AFBF0018 */ sw $ra, 0x18($sp)
/* AC84C 8011614C AFB00010 */ sw $s0, 0x10($sp)
.L80116150:
/* AC850 80116150 3C038015 */ lui $v1, %hi(gCurrentModelListPtr)
/* AC854 80116154 8C6312CC */ lw $v1, %lo(gCurrentModelListPtr)($v1)
/* AC858 80116158 00111080 */ sll $v0, $s1, 2
/* AC85C 8011615C 00431021 */ addu $v0, $v0, $v1
/* AC860 80116160 8C500000 */ lw $s0, ($v0)
/* AC864 80116164 52000020 */ beql $s0, $zero, .L801161E8
/* AC868 80116168 26310001 */ addiu $s1, $s1, 1
/* AC86C 8011616C 8E040008 */ lw $a0, 8($s0)
/* AC870 80116170 0C0456C3 */ jal get_model_property
/* AC874 80116174 24050061 */ addiu $a1, $zero, 0x61
/* AC878 80116178 C444002C */ lwc1 $f4, 0x2c($v0)
/* AC87C 8011617C C4400008 */ lwc1 $f0, 8($v0)
/* AC880 80116180 46002101 */ sub.s $f4, $f4, $f0
/* AC884 80116184 46002121 */ cvt.d.s $f4, $f4
/* AC888 80116188 46342102 */ mul.d $f4, $f4, $f20
/* AC88C 8011618C 00000000 */ nop
/* AC890 80116190 C4420038 */ lwc1 $f2, 0x38($v0)
/* AC894 80116194 C4400014 */ lwc1 $f0, 0x14($v0)
/* AC898 80116198 46001081 */ sub.s $f2, $f2, $f0
/* AC89C 8011619C 460010A1 */ cvt.d.s $f2, $f2
/* AC8A0 801161A0 46341082 */ mul.d $f2, $f2, $f20
/* AC8A4 801161A4 00000000 */ nop
/* AC8A8 801161A8 C4460020 */ lwc1 $f6, 0x20($v0)
/* AC8AC 801161AC C4400044 */ lwc1 $f0, 0x44($v0)
/* AC8B0 801161B0 46060001 */ sub.s $f0, $f0, $f6
/* AC8B4 801161B4 46000021 */ cvt.d.s $f0, $f0
/* AC8B8 801161B8 46340002 */ mul.d $f0, $f0, $f20
/* AC8BC 801161BC 00000000 */ nop
/* AC8C0 801161C0 4620220D */ trunc.w.d $f8, $f4
/* AC8C4 801161C4 E4480004 */ swc1 $f8, 4($v0)
/* AC8C8 801161C8 4620120D */ trunc.w.d $f8, $f2
/* AC8CC 801161CC E4480010 */ swc1 $f8, 0x10($v0)
/* AC8D0 801161D0 4620020D */ trunc.w.d $f8, $f0
/* AC8D4 801161D4 E448001C */ swc1 $f8, 0x1c($v0)
/* AC8D8 801161D8 96020000 */ lhu $v0, ($s0)
/* AC8DC 801161DC 34421000 */ ori $v0, $v0, 0x1000
/* AC8E0 801161E0 A6020000 */ sh $v0, ($s0)
/* AC8E4 801161E4 26310001 */ addiu $s1, $s1, 1
.L801161E8:
/* AC8E8 801161E8 2A220100 */ slti $v0, $s1, 0x100
/* AC8EC 801161EC 1440FFD8 */ bnez $v0, .L80116150
/* AC8F0 801161F0 00000000 */ nop
/* AC8F4 801161F4 8FBF0018 */ lw $ra, 0x18($sp)
/* AC8F8 801161F8 8FB10014 */ lw $s1, 0x14($sp)
/* AC8FC 801161FC 8FB00010 */ lw $s0, 0x10($sp)
/* AC900 80116200 D7B40020 */ ldc1 $f20, 0x20($sp)
/* AC904 80116204 03E00008 */ jr $ra
/* AC908 80116208 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -42,8 +42,8 @@ glabel clear_entity_data
/* A7444 80110D44 80420070 */ lb $v0, 0x70($v0) /* A7444 80110D44 80420070 */ lb $v0, 0x70($v0)
/* A7448 80110D48 1440000C */ bnez $v0, .L80110D7C /* A7448 80110D48 1440000C */ bnez $v0, .L80110D7C
/* A744C 80110D4C 24040003 */ addiu $a0, $zero, 3 /* A744C 80110D4C 24040003 */ addiu $a0, $zero, 3
/* A7450 80110D50 3C018015 */ lui $at, %hi(D_8015165C) /* A7450 80110D50 3C018015 */ lui $at, %hi(wStaticEntityDataSize)
/* A7454 80110D54 AC20165C */ sw $zero, %lo(D_8015165C)($at) /* A7454 80110D54 AC20165C */ sw $zero, %lo(wStaticEntityDataSize)($at)
/* A7458 80110D58 2404001D */ addiu $a0, $zero, 0x1d /* A7458 80110D58 2404001D */ addiu $a0, $zero, 0x1d
/* A745C 80110D5C 3C028015 */ lui $v0, %hi(D_801516DC) /* A745C 80110D5C 3C028015 */ lui $v0, %hi(D_801516DC)
/* A7460 80110D60 244216DC */ addiu $v0, $v0, %lo(D_801516DC) /* A7460 80110D60 244216DC */ addiu $v0, $v0, %lo(D_801516DC)
@ -55,8 +55,8 @@ glabel clear_entity_data
/* A7474 80110D74 08044367 */ j .L80110D9C /* A7474 80110D74 08044367 */ j .L80110D9C
/* A7478 80110D78 00000000 */ nop /* A7478 80110D78 00000000 */ nop
.L80110D7C: .L80110D7C:
/* A747C 80110D7C 3C018015 */ lui $at, %hi(D_80151660) /* A747C 80110D7C 3C018015 */ lui $at, %hi(bStaticEntityDataSize)
/* A7480 80110D80 AC201660 */ sw $zero, %lo(D_80151660)($at) /* A7480 80110D80 AC201660 */ sw $zero, %lo(bStaticEntityDataSize)($at)
/* A7484 80110D84 3C028015 */ lui $v0, %hi(D_801516F4) /* A7484 80110D84 3C028015 */ lui $v0, %hi(D_801516F4)
/* A7488 80110D88 244216F4 */ addiu $v0, $v0, %lo(D_801516F4) /* A7488 80110D88 244216F4 */ addiu $v0, $v0, %lo(D_801516F4)
.L80110D8C: .L80110D8C:
@ -74,8 +74,8 @@ glabel clear_entity_data
/* A74B4 80110DB4 34637FF0 */ ori $v1, $v1, 0x7ff0 /* A74B4 80110DB4 34637FF0 */ ori $v1, $v1, 0x7ff0
/* A74B8 80110DB8 3C018015 */ lui $at, %hi(D_80151300) /* A74B8 80110DB8 3C018015 */ lui $at, %hi(D_80151300)
/* A74BC 80110DBC AC221300 */ sw $v0, %lo(D_80151300)($at) /* A74BC 80110DBC AC221300 */ sw $v0, %lo(D_80151300)($at)
/* A74C0 80110DC0 3C018015 */ lui $at, %hi(D_801512C4) /* A74C0 80110DC0 3C018015 */ lui $at, %hi(gEntityHeapBase)
/* A74C4 80110DC4 AC2312C4 */ sw $v1, %lo(D_801512C4)($at) /* A74C4 80110DC4 AC2312C4 */ sw $v1, %lo(gEntityHeapBase)($at)
/* A74C8 80110DC8 0804437B */ j .L80110DEC /* A74C8 80110DC8 0804437B */ j .L80110DEC
/* A74CC 80110DCC 00000000 */ nop /* A74CC 80110DCC 00000000 */ nop
.L80110DD0: .L80110DD0:
@ -84,8 +84,8 @@ glabel clear_entity_data
/* A74D8 80110DD8 3C018015 */ lui $at, %hi(D_80151300) /* A74D8 80110DD8 3C018015 */ lui $at, %hi(D_80151300)
/* A74DC 80110DDC AC221300 */ sw $v0, %lo(D_80151300)($at) /* A74DC 80110DDC AC221300 */ sw $v0, %lo(D_80151300)($at)
/* A74E0 80110DE0 24423000 */ addiu $v0, $v0, 0x3000 /* A74E0 80110DE0 24423000 */ addiu $v0, $v0, 0x3000
/* A74E4 80110DE4 3C018015 */ lui $at, %hi(D_801512C4) /* A74E4 80110DE4 3C018015 */ lui $at, %hi(gEntityHeapBase)
/* A74E8 80110DE8 AC2212C4 */ sw $v0, %lo(D_801512C4)($at) /* A74E8 80110DE8 AC2212C4 */ sw $v0, %lo(gEntityHeapBase)($at)
.L80110DEC: .L80110DEC:
/* A74EC 80110DEC 0C044188 */ jal get_entity_list /* A74EC 80110DEC 0C044188 */ jal get_entity_list
/* A74F0 80110DF0 00000000 */ nop /* A74F0 80110DF0 00000000 */ nop

View File

@ -1,14 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel clear_game_modes
/* A9298 80112B98 3C038015 */ lui $v1, %hi(gMainGameState)
/* A929C 80112B9C 24631700 */ addiu $v1, $v1, %lo(gMainGameState)
/* A92A0 80112BA0 24020001 */ addiu $v0, $zero, 1
.L80112BA4:
/* A92A4 80112BA4 A4600000 */ sh $zero, ($v1)
/* A92A8 80112BA8 2442FFFF */ addiu $v0, $v0, -1
/* A92AC 80112BAC 0441FFFD */ bgez $v0, .L80112BA4
/* A92B0 80112BB0 24630018 */ addiu $v1, $v1, 0x18
/* A92B4 80112BB4 03E00008 */ jr $ra
/* A92B8 80112BB8 00000000 */ nop

View File

@ -7,89 +7,89 @@ glabel clear_model_data
/* AC44C 80115D4C 80420070 */ lb $v0, 0x70($v0) /* AC44C 80115D4C 80420070 */ lb $v0, 0x70($v0)
/* AC450 80115D50 1440002C */ bnez $v0, .L80115E04 /* AC450 80115D50 1440002C */ bnez $v0, .L80115E04
/* AC454 80115D54 00000000 */ nop /* AC454 80115D54 00000000 */ nop
/* AC458 80115D58 3C028015 */ lui $v0, %hi(gWorldModelList) /* AC458 80115D58 3C028015 */ lui $v0, %hi(wModelList)
/* AC45C 80115D5C 24421770 */ addiu $v0, $v0, %lo(gWorldModelList) /* AC45C 80115D5C 24421770 */ addiu $v0, $v0, %lo(wModelList)
/* AC460 80115D60 3C018015 */ lui $at, %hi(gCurrentModelListPtr) /* AC460 80115D60 3C018015 */ lui $at, %hi(gCurrentModels)
/* AC464 80115D64 AC2212CC */ sw $v0, %lo(gCurrentModelListPtr)($at) /* AC464 80115D64 AC2212CC */ sw $v0, %lo(gCurrentModels)($at)
/* AC468 80115D68 3C028015 */ lui $v0, %hi(D_80151F70) /* AC468 80115D68 3C028015 */ lui $v0, %hi(wTransformGroups)
/* AC46C 80115D6C 24421F70 */ addiu $v0, $v0, %lo(D_80151F70) /* AC46C 80115D6C 24421F70 */ addiu $v0, $v0, %lo(wTransformGroups)
/* AC470 80115D70 3C018015 */ lui $at, %hi(gCurrentTransformGroups) /* AC470 80115D70 3C018015 */ lui $at, %hi(gCurrentTransformGroups)
/* AC474 80115D74 AC2212E0 */ sw $v0, %lo(gCurrentTransformGroups)($at) /* AC474 80115D74 AC2212E0 */ sw $v0, %lo(gCurrentTransformGroups)($at)
/* AC478 80115D78 3C028015 */ lui $v0, %hi(gWorldModelSpecialDls) /* AC478 80115D78 3C028015 */ lui $v0, %hi(wModelSpecialDls)
/* AC47C 80115D7C 24421F90 */ addiu $v0, $v0, %lo(gWorldModelSpecialDls) /* AC47C 80115D7C 24421F90 */ addiu $v0, $v0, %lo(wModelSpecialDls)
/* AC480 80115D80 3C018015 */ lui $at, %hi(gCurrentModelSpecialDlsPtr) /* AC480 80115D80 3C018015 */ lui $at, %hi(gCurrentCustomModelGfxPtr)
/* AC484 80115D84 AC2212E8 */ sw $v0, %lo(gCurrentModelSpecialDlsPtr)($at) /* AC484 80115D84 AC2212E8 */ sw $v0, %lo(gCurrentCustomModelGfxPtr)($at)
/* AC488 80115D88 3C028015 */ lui $v0, %hi(D_80152090) /* AC488 80115D88 3C028015 */ lui $v0, %hi(wCustomModelGfxBuilders)
/* AC48C 80115D8C 24422090 */ addiu $v0, $v0, %lo(D_80152090) /* AC48C 80115D8C 24422090 */ addiu $v0, $v0, %lo(wCustomModelGfxBuilders)
/* AC490 80115D90 3C018015 */ lui $at, %hi(gCurrentCustomModelGfxBuilders) /* AC490 80115D90 3C018015 */ lui $at, %hi(gCurrentCustomModelGfxBuildersPtr)
/* AC494 80115D94 AC2212B8 */ sw $v0, %lo(gCurrentCustomModelGfxBuilders)($at) /* AC494 80115D94 AC2212B8 */ sw $v0, %lo(gCurrentCustomModelGfxBuildersPtr)($at)
/* AC498 80115D98 3C028015 */ lui $v0, %hi(D_80152214) /* AC498 80115D98 3C028015 */ lui $v0, %hi(D_80152214)
/* AC49C 80115D9C 24422214 */ addiu $v0, $v0, %lo(D_80152214) /* AC49C 80115D9C 24422214 */ addiu $v0, $v0, %lo(D_80152214)
/* AC4A0 80115DA0 3C018015 */ lui $at, %hi(D_801512FC) /* AC4A0 80115DA0 3C018015 */ lui $at, %hi(gCurrentModelTreeRoot)
/* AC4A4 80115DA4 AC2212FC */ sw $v0, %lo(D_801512FC)($at) /* AC4A4 80115DA4 AC2212FC */ sw $v0, %lo(gCurrentModelTreeRoot)($at)
/* AC4A8 80115DA8 3C028015 */ lui $v0, %hi(D_80152190) /* AC4A8 80115DA8 3C028015 */ lui $v0, %hi(D_80152190)
/* AC4AC 80115DAC 24422190 */ addiu $v0, $v0, %lo(D_80152190) /* AC4AC 80115DAC 24422190 */ addiu $v0, $v0, %lo(D_80152190)
/* AC4B0 80115DB0 3C018015 */ lui $at, %hi(D_80152210) /* AC4B0 80115DB0 3C018015 */ lui $at, %hi(gCurrentModelLocalVtxBuffers)
/* AC4B4 80115DB4 AC222210 */ sw $v0, %lo(D_80152210)($at) /* AC4B4 80115DB4 AC222210 */ sw $v0, %lo(gCurrentModelLocalVtxBuffers)($at)
/* AC4B8 80115DB8 3C028015 */ lui $v0, %hi(D_80152220) /* AC4B8 80115DB8 3C028015 */ lui $v0, %hi(D_80152220)
/* AC4BC 80115DBC 24422220 */ addiu $v0, $v0, %lo(D_80152220) /* AC4BC 80115DBC 24422220 */ addiu $v0, $v0, %lo(D_80152220)
/* AC4C0 80115DC0 3C01800A */ lui $at, %hi(D_8009A5F4) /* AC4C0 80115DC0 3C01800A */ lui $at, %hi(mdl_currentModelTreeNodeInfo)
/* AC4C4 80115DC4 AC22A5F4 */ sw $v0, %lo(D_8009A5F4)($at) /* AC4C4 80115DC4 AC22A5F4 */ sw $v0, %lo(mdl_currentModelTreeNodeInfo)($at)
/* AC4C8 80115DC8 3C028015 */ lui $v0, %hi(D_80153220) /* AC4C8 80115DC8 3C028015 */ lui $v0, %hi(wBgRenderType)
/* AC4CC 80115DCC 24423220 */ addiu $v0, $v0, %lo(D_80153220) /* AC4CC 80115DCC 24423220 */ addiu $v0, $v0, %lo(wBgRenderType)
/* AC4D0 80115DD0 3C018015 */ lui $at, %hi(D_801512F0) /* AC4D0 80115DD0 3C018015 */ lui $at, %hi(D_801512F0)
/* AC4D4 80115DD4 AC2212F0 */ sw $v0, %lo(D_801512F0)($at) /* AC4D4 80115DD4 AC2212F0 */ sw $v0, %lo(D_801512F0)($at)
/* AC4D8 80115DD8 3C028015 */ lui $v0, %hi(D_80153228) /* AC4D8 80115DD8 3C028015 */ lui $v0, %hi(wFogSettings)
/* AC4DC 80115DDC 24423228 */ addiu $v0, $v0, %lo(D_80153228) /* AC4DC 80115DDC 24423228 */ addiu $v0, $v0, %lo(wFogSettings)
/* AC4E0 80115DE0 3C018015 */ lui $at, %hi(D_8014B74C) /* AC4E0 80115DE0 3C018015 */ lui $at, %hi(mdl_bgMultiplyColorA)
/* AC4E4 80115DE4 A020B74C */ sb $zero, %lo(D_8014B74C)($at) /* AC4E4 80115DE4 A020B74C */ sb $zero, %lo(mdl_bgMultiplyColorA)($at)
/* AC4E8 80115DE8 3C018015 */ lui $at, %hi(D_8014B74D) /* AC4E8 80115DE8 3C018015 */ lui $at, %hi(mdl_bgMultiplyColorR)
/* AC4EC 80115DEC A020B74D */ sb $zero, %lo(D_8014B74D)($at) /* AC4EC 80115DEC A020B74D */ sb $zero, %lo(mdl_bgMultiplyColorR)($at)
/* AC4F0 80115DF0 3C018015 */ lui $at, %hi(D_8014B74E) /* AC4F0 80115DF0 3C018015 */ lui $at, %hi(mdl_bgMultiplyColorG)
/* AC4F4 80115DF4 A020B74E */ sb $zero, %lo(D_8014B74E)($at) /* AC4F4 80115DF4 A020B74E */ sb $zero, %lo(mdl_bgMultiplyColorG)($at)
/* AC4F8 80115DF8 3C018015 */ lui $at, %hi(D_8014B74F) /* AC4F8 80115DF8 3C018015 */ lui $at, %hi(mdl_bgMultiplyColorB)
/* AC4FC 80115DFC 080457A3 */ j .L80115E8C /* AC4FC 80115DFC 080457A3 */ j .L80115E8C
/* AC500 80115E00 A020B74F */ sb $zero, %lo(D_8014B74F)($at) /* AC500 80115E00 A020B74F */ sb $zero, %lo(mdl_bgMultiplyColorB)($at)
.L80115E04: .L80115E04:
/* AC504 80115E04 3C028015 */ lui $v0, %hi(gBattleModelList) /* AC504 80115E04 3C028015 */ lui $v0, %hi(bModelList)
/* AC508 80115E08 24421B70 */ addiu $v0, $v0, %lo(gBattleModelList) /* AC508 80115E08 24421B70 */ addiu $v0, $v0, %lo(bModelList)
/* AC50C 80115E0C 3C018015 */ lui $at, %hi(gCurrentModelListPtr) /* AC50C 80115E0C 3C018015 */ lui $at, %hi(gCurrentModels)
/* AC510 80115E10 AC2212CC */ sw $v0, %lo(gCurrentModelListPtr)($at) /* AC510 80115E10 AC2212CC */ sw $v0, %lo(gCurrentModels)($at)
/* AC514 80115E14 3C028015 */ lui $v0, %hi(D_80151F80) /* AC514 80115E14 3C028015 */ lui $v0, %hi(bTransformGroups)
/* AC518 80115E18 24421F80 */ addiu $v0, $v0, %lo(D_80151F80) /* AC518 80115E18 24421F80 */ addiu $v0, $v0, %lo(bTransformGroups)
/* AC51C 80115E1C 3C018015 */ lui $at, %hi(gCurrentTransformGroups) /* AC51C 80115E1C 3C018015 */ lui $at, %hi(gCurrentTransformGroups)
/* AC520 80115E20 AC2212E0 */ sw $v0, %lo(gCurrentTransformGroups)($at) /* AC520 80115E20 AC2212E0 */ sw $v0, %lo(gCurrentTransformGroups)($at)
/* AC524 80115E24 3C028015 */ lui $v0, %hi(gBattleModelSpecialDls) /* AC524 80115E24 3C028015 */ lui $v0, %hi(bModelSpecialDls)
/* AC528 80115E28 24422010 */ addiu $v0, $v0, %lo(gBattleModelSpecialDls) /* AC528 80115E28 24422010 */ addiu $v0, $v0, %lo(bModelSpecialDls)
/* AC52C 80115E2C 3C018015 */ lui $at, %hi(gCurrentModelSpecialDlsPtr) /* AC52C 80115E2C 3C018015 */ lui $at, %hi(gCurrentCustomModelGfxPtr)
/* AC530 80115E30 AC2212E8 */ sw $v0, %lo(gCurrentModelSpecialDlsPtr)($at) /* AC530 80115E30 AC2212E8 */ sw $v0, %lo(gCurrentCustomModelGfxPtr)($at)
/* AC534 80115E34 3C028015 */ lui $v0, %hi(D_80152110) /* AC534 80115E34 3C028015 */ lui $v0, %hi(bCustomModelGfxBuilders)
/* AC538 80115E38 24422110 */ addiu $v0, $v0, %lo(D_80152110) /* AC538 80115E38 24422110 */ addiu $v0, $v0, %lo(bCustomModelGfxBuilders)
/* AC53C 80115E3C 3C018015 */ lui $at, %hi(gCurrentCustomModelGfxBuilders) /* AC53C 80115E3C 3C018015 */ lui $at, %hi(gCurrentCustomModelGfxBuildersPtr)
/* AC540 80115E40 AC2212B8 */ sw $v0, %lo(gCurrentCustomModelGfxBuilders)($at) /* AC540 80115E40 AC2212B8 */ sw $v0, %lo(gCurrentCustomModelGfxBuildersPtr)($at)
/* AC544 80115E44 3C028015 */ lui $v0, %hi(D_80152218) /* AC544 80115E44 3C028015 */ lui $v0, %hi(D_80152218)
/* AC548 80115E48 24422218 */ addiu $v0, $v0, %lo(D_80152218) /* AC548 80115E48 24422218 */ addiu $v0, $v0, %lo(D_80152218)
/* AC54C 80115E4C 3C018015 */ lui $at, %hi(D_801512FC) /* AC54C 80115E4C 3C018015 */ lui $at, %hi(gCurrentModelTreeRoot)
/* AC550 80115E50 AC2212FC */ sw $v0, %lo(D_801512FC)($at) /* AC550 80115E50 AC2212FC */ sw $v0, %lo(gCurrentModelTreeRoot)($at)
/* AC554 80115E54 3C028015 */ lui $v0, %hi(D_801521D0) /* AC554 80115E54 3C028015 */ lui $v0, %hi(D_801521D0)
/* AC558 80115E58 244221D0 */ addiu $v0, $v0, %lo(D_801521D0) /* AC558 80115E58 244221D0 */ addiu $v0, $v0, %lo(D_801521D0)
/* AC55C 80115E5C 3C018015 */ lui $at, %hi(D_80152210) /* AC55C 80115E5C 3C018015 */ lui $at, %hi(gCurrentModelLocalVtxBuffers)
/* AC560 80115E60 AC222210 */ sw $v0, %lo(D_80152210)($at) /* AC560 80115E60 AC222210 */ sw $v0, %lo(gCurrentModelLocalVtxBuffers)($at)
/* AC564 80115E64 3C028015 */ lui $v0, %hi(D_80152A20) /* AC564 80115E64 3C028015 */ lui $v0, %hi(D_80152A20)
/* AC568 80115E68 24422A20 */ addiu $v0, $v0, %lo(D_80152A20) /* AC568 80115E68 24422A20 */ addiu $v0, $v0, %lo(D_80152A20)
/* AC56C 80115E6C 3C01800A */ lui $at, %hi(D_8009A5F4) /* AC56C 80115E6C 3C01800A */ lui $at, %hi(mdl_currentModelTreeNodeInfo)
/* AC570 80115E70 AC22A5F4 */ sw $v0, %lo(D_8009A5F4)($at) /* AC570 80115E70 AC22A5F4 */ sw $v0, %lo(mdl_currentModelTreeNodeInfo)($at)
/* AC574 80115E74 3C028015 */ lui $v0, %hi(D_80153221) /* AC574 80115E74 3C028015 */ lui $v0, %hi(bBgRenderType)
/* AC578 80115E78 24423221 */ addiu $v0, $v0, %lo(D_80153221) /* AC578 80115E78 24423221 */ addiu $v0, $v0, %lo(bBgRenderType)
/* AC57C 80115E7C 3C018015 */ lui $at, %hi(D_801512F0) /* AC57C 80115E7C 3C018015 */ lui $at, %hi(D_801512F0)
/* AC580 80115E80 AC2212F0 */ sw $v0, %lo(D_801512F0)($at) /* AC580 80115E80 AC2212F0 */ sw $v0, %lo(D_801512F0)($at)
/* AC584 80115E84 3C028015 */ lui $v0, %hi(D_80153248) /* AC584 80115E84 3C028015 */ lui $v0, %hi(bFogSettings)
/* AC588 80115E88 24423248 */ addiu $v0, $v0, %lo(D_80153248) /* AC588 80115E88 24423248 */ addiu $v0, $v0, %lo(bFogSettings)
.L80115E8C: .L80115E8C:
/* AC58C 80115E8C 3C018015 */ lui $at, %hi(wFog) /* AC58C 80115E8C 3C018015 */ lui $at, %hi(gCurrentFogSettings)
/* AC590 80115E90 AC223264 */ sw $v0, %lo(wFog)($at) /* AC590 80115E90 AC223264 */ sw $v0, %lo(gCurrentFogSettings)($at)
/* AC594 80115E94 3C028015 */ lui $v0, %hi(gCurrentModelListPtr) /* AC594 80115E94 3C028015 */ lui $v0, %hi(gCurrentModels)
/* AC598 80115E98 8C4212CC */ lw $v0, %lo(gCurrentModelListPtr)($v0) /* AC598 80115E98 8C4212CC */ lw $v0, %lo(gCurrentModels)($v0)
/* AC59C 80115E9C 240400FF */ addiu $a0, $zero, 0xff /* AC59C 80115E9C 240400FF */ addiu $a0, $zero, 0xff
/* AC5A0 80115EA0 244203FC */ addiu $v0, $v0, 0x3fc /* AC5A0 80115EA0 244203FC */ addiu $v0, $v0, 0x3fc
.L80115EA4: .L80115EA4:
@ -107,10 +107,10 @@ glabel clear_model_data
/* AC5CC 80115ECC 0481FFFD */ bgez $a0, .L80115EC4 /* AC5CC 80115ECC 0481FFFD */ bgez $a0, .L80115EC4
/* AC5D0 80115ED0 2442FFFC */ addiu $v0, $v0, -4 /* AC5D0 80115ED0 2442FFFC */ addiu $v0, $v0, -4
/* AC5D4 80115ED4 0000202D */ daddu $a0, $zero, $zero /* AC5D4 80115ED4 0000202D */ daddu $a0, $zero, $zero
/* AC5D8 80115ED8 3C058015 */ lui $a1, %hi(gCurrentCustomModelGfxBuilders) /* AC5D8 80115ED8 3C058015 */ lui $a1, %hi(gCurrentCustomModelGfxBuildersPtr)
/* AC5DC 80115EDC 8CA512B8 */ lw $a1, %lo(gCurrentCustomModelGfxBuilders)($a1) /* AC5DC 80115EDC 8CA512B8 */ lw $a1, %lo(gCurrentCustomModelGfxBuildersPtr)($a1)
/* AC5E0 80115EE0 3C038015 */ lui $v1, %hi(gCurrentModelSpecialDlsPtr) /* AC5E0 80115EE0 3C038015 */ lui $v1, %hi(gCurrentCustomModelGfxPtr)
/* AC5E4 80115EE4 8C6312E8 */ lw $v1, %lo(gCurrentModelSpecialDlsPtr)($v1) /* AC5E4 80115EE4 8C6312E8 */ lw $v1, %lo(gCurrentCustomModelGfxPtr)($v1)
.L80115EE8: .L80115EE8:
/* AC5E8 80115EE8 AC600000 */ sw $zero, ($v1) /* AC5E8 80115EE8 AC600000 */ sw $zero, ($v1)
/* AC5EC 80115EEC ACA00000 */ sw $zero, ($a1) /* AC5EC 80115EEC ACA00000 */ sw $zero, ($a1)
@ -120,10 +120,10 @@ glabel clear_model_data
/* AC5FC 80115EFC 1440FFFA */ bnez $v0, .L80115EE8 /* AC5FC 80115EFC 1440FFFA */ bnez $v0, .L80115EE8
/* AC600 80115F00 24630004 */ addiu $v1, $v1, 4 /* AC600 80115F00 24630004 */ addiu $v1, $v1, 4
/* AC604 80115F04 0000202D */ daddu $a0, $zero, $zero /* AC604 80115F04 0000202D */ daddu $a0, $zero, $zero
/* AC608 80115F08 3C05800A */ lui $a1, %hi(D_8009A5F4) /* AC608 80115F08 3C05800A */ lui $a1, %hi(mdl_currentModelTreeNodeInfo)
/* AC60C 80115F0C 24A5A5F4 */ addiu $a1, $a1, %lo(D_8009A5F4) /* AC60C 80115F0C 24A5A5F4 */ addiu $a1, $a1, %lo(mdl_currentModelTreeNodeInfo)
/* AC610 80115F10 3C028015 */ lui $v0, %hi(D_801512FC) /* AC610 80115F10 3C028015 */ lui $v0, %hi(gCurrentModelTreeRoot)
/* AC614 80115F14 8C4212FC */ lw $v0, %lo(D_801512FC)($v0) /* AC614 80115F14 8C4212FC */ lw $v0, %lo(gCurrentModelTreeRoot)($v0)
/* AC618 80115F18 240600FF */ addiu $a2, $zero, 0xff /* AC618 80115F18 240600FF */ addiu $a2, $zero, 0xff
/* AC61C 80115F1C AC400000 */ sw $zero, ($v0) /* AC61C 80115F1C AC400000 */ sw $zero, ($v0)
.L80115F20: .L80115F20:
@ -152,8 +152,8 @@ glabel clear_model_data
/* AC678 80115F78 3C058015 */ lui $a1, %hi(texPannerAuxV) /* AC678 80115F78 3C058015 */ lui $a1, %hi(texPannerAuxV)
/* AC67C 80115F7C 24A53328 */ addiu $a1, $a1, %lo(texPannerAuxV) /* AC67C 80115F7C 24A53328 */ addiu $a1, $a1, %lo(texPannerAuxV)
/* AC680 80115F80 A0400000 */ sb $zero, ($v0) /* AC680 80115F80 A0400000 */ sb $zero, ($v0)
/* AC684 80115F84 3C038015 */ lui $v1, %hi(wFog) /* AC684 80115F84 3C038015 */ lui $v1, %hi(gCurrentFogSettings)
/* AC688 80115F88 8C633264 */ lw $v1, %lo(wFog)($v1) /* AC688 80115F88 8C633264 */ lw $v1, %lo(gCurrentFogSettings)($v1)
/* AC68C 80115F8C 2402000A */ addiu $v0, $zero, 0xa /* AC68C 80115F8C 2402000A */ addiu $v0, $zero, 0xa
/* AC690 80115F90 AC620004 */ sw $v0, 4($v1) /* AC690 80115F90 AC620004 */ sw $v0, 4($v1)
/* AC694 80115F94 AC620008 */ sw $v0, 8($v1) /* AC694 80115F94 AC620008 */ sw $v0, 8($v1)

View File

@ -1,21 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel clear_render_tasks
/* B3F90 8011D890 24040002 */ addiu $a0, $zero, 2
/* B3F94 8011D894 3C038015 */ lui $v1, %hi(D_801533A8)
/* B3F98 8011D898 246333A8 */ addiu $v1, $v1, %lo(D_801533A8)
/* B3F9C 8011D89C 3C02802C */ lui $v0, %hi(D_802B9E00)
/* B3FA0 8011D8A0 24429E00 */ addiu $v0, $v0, %lo(D_802B9E00)
.L8011D8A4:
/* B3FA4 8011D8A4 AC620000 */ sw $v0, ($v1)
/* B3FA8 8011D8A8 2463FFFC */ addiu $v1, $v1, -4
/* B3FAC 8011D8AC 2484FFFF */ addiu $a0, $a0, -1
/* B3FB0 8011D8B0 0481FFFC */ bgez $a0, .L8011D8A4
/* B3FB4 8011D8B4 2442F000 */ addiu $v0, $v0, -0x1000
/* B3FB8 8011D8B8 3C018015 */ lui $at, %hi(D_801533AC)
/* B3FBC 8011D8BC AC2033AC */ sw $zero, %lo(D_801533AC)($at)
/* B3FC0 8011D8C0 3C018015 */ lui $at, %hi(D_801533B0)
/* B3FC4 8011D8C4 AC2033B0 */ sw $zero, %lo(D_801533B0)($at)
/* B3FC8 8011D8C8 03E00008 */ jr $ra
/* B3FCC 8011D8CC 00000000 */ nop

View File

@ -1,21 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel clear_render_tasks_alt
/* B3FD0 8011D8D0 24040002 */ addiu $a0, $zero, 2
/* B3FD4 8011D8D4 3C038015 */ lui $v1, %hi(D_801533A8)
/* B3FD8 8011D8D8 246333A8 */ addiu $v1, $v1, %lo(D_801533A8)
/* B3FDC 8011D8DC 3C02802C */ lui $v0, %hi(D_802B9E00)
/* B3FE0 8011D8E0 24429E00 */ addiu $v0, $v0, %lo(D_802B9E00)
.L8011D8E4:
/* B3FE4 8011D8E4 AC620000 */ sw $v0, ($v1)
/* B3FE8 8011D8E8 2463FFFC */ addiu $v1, $v1, -4
/* B3FEC 8011D8EC 2484FFFF */ addiu $a0, $a0, -1
/* B3FF0 8011D8F0 0481FFFC */ bgez $a0, .L8011D8E4
/* B3FF4 8011D8F4 2442F000 */ addiu $v0, $v0, -0x1000
/* B3FF8 8011D8F8 3C018015 */ lui $at, %hi(D_801533AC)
/* B3FFC 8011D8FC AC2033AC */ sw $zero, %lo(D_801533AC)($at)
/* B4000 8011D900 3C018015 */ lui $at, %hi(D_801533B0)
/* B4004 8011D904 AC2033B0 */ sw $zero, %lo(D_801533B0)($at)
/* B4008 8011D908 03E00008 */ jr $ra
/* B400C 8011D90C 00000000 */ nop

View File

@ -1,99 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel create_shadow_from_data
/* A82D8 80111BD8 27BDFFC8 */ addiu $sp, $sp, -0x38
/* A82DC 80111BDC F7B40020 */ sdc1 $f20, 0x20($sp)
/* A82E0 80111BE0 4485A000 */ mtc1 $a1, $f20
/* A82E4 80111BE4 F7B60028 */ sdc1 $f22, 0x28($sp)
/* A82E8 80111BE8 4486B000 */ mtc1 $a2, $f22
/* A82EC 80111BEC F7B80030 */ sdc1 $f24, 0x30($sp)
/* A82F0 80111BF0 4487C000 */ mtc1 $a3, $f24
/* A82F4 80111BF4 3C038015 */ lui $v1, %hi(gCurrentShadowListPtr)
/* A82F8 80111BF8 8C631658 */ lw $v1, %lo(gCurrentShadowListPtr)($v1)
/* A82FC 80111BFC AFB20018 */ sw $s2, 0x18($sp)
/* A8300 80111C00 0080902D */ daddu $s2, $a0, $zero
/* A8304 80111C04 AFB10014 */ sw $s1, 0x14($sp)
/* A8308 80111C08 0000882D */ daddu $s1, $zero, $zero
/* A830C 80111C0C AFBF001C */ sw $ra, 0x1c($sp)
/* A8310 80111C10 AFB00010 */ sw $s0, 0x10($sp)
.L80111C14:
/* A8314 80111C14 8C620000 */ lw $v0, ($v1)
/* A8318 80111C18 10400006 */ beqz $v0, .L80111C34
/* A831C 80111C1C 2A22003C */ slti $v0, $s1, 0x3c
/* A8320 80111C20 26310001 */ addiu $s1, $s1, 1
/* A8324 80111C24 2A22003C */ slti $v0, $s1, 0x3c
/* A8328 80111C28 1440FFFA */ bnez $v0, .L80111C14
/* A832C 80111C2C 24630004 */ addiu $v1, $v1, 4
/* A8330 80111C30 2A22003C */ slti $v0, $s1, 0x3c
.L80111C34:
/* A8334 80111C34 14400003 */ bnez $v0, .L80111C44
/* A8338 80111C38 00000000 */ nop
.L80111C3C:
/* A833C 80111C3C 0804470F */ j .L80111C3C
/* A8340 80111C40 00000000 */ nop
.L80111C44:
/* A8344 80111C44 0C00AB39 */ jal heap_malloc
/* A8348 80111C48 24040078 */ addiu $a0, $zero, 0x78
/* A834C 80111C4C 0040802D */ daddu $s0, $v0, $zero
/* A8350 80111C50 0200202D */ daddu $a0, $s0, $zero
/* A8354 80111C54 24050078 */ addiu $a1, $zero, 0x78
/* A8358 80111C58 3C038015 */ lui $v1, %hi(gCurrentShadowListPtr)
/* A835C 80111C5C 8C631658 */ lw $v1, %lo(gCurrentShadowListPtr)($v1)
/* A8360 80111C60 00111080 */ sll $v0, $s1, 2
/* A8364 80111C64 00431021 */ addu $v0, $v0, $v1
/* A8368 80111C68 0C00A580 */ jal mem_clear
/* A836C 80111C6C AC500000 */ sw $s0, ($v0)
/* A8370 80111C70 A2110004 */ sb $s1, 4($s0)
/* A8374 80111C74 96430000 */ lhu $v1, ($s2)
/* A8378 80111C78 3C013F80 */ lui $at, 0x3f80
/* A837C 80111C7C 44810000 */ mtc1 $at, $f0
/* A8380 80111C80 24020080 */ addiu $v0, $zero, 0x80
/* A8384 80111C84 A2020005 */ sb $v0, 5($s0)
/* A8388 80111C88 A2020006 */ sb $v0, 6($s0)
/* A838C 80111C8C 3C028000 */ lui $v0, 0x8000
/* A8390 80111C90 E6140010 */ swc1 $f20, 0x10($s0)
/* A8394 80111C94 E6160014 */ swc1 $f22, 0x14($s0)
/* A8398 80111C98 E6180018 */ swc1 $f24, 0x18($s0)
/* A839C 80111C9C 00621825 */ or $v1, $v1, $v0
/* A83A0 80111CA0 AE030000 */ sw $v1, ($s0)
/* A83A4 80111CA4 E600001C */ swc1 $f0, 0x1c($s0)
/* A83A8 80111CA8 E6000020 */ swc1 $f0, 0x20($s0)
/* A83AC 80111CAC E6000024 */ swc1 $f0, 0x24($s0)
/* A83B0 80111CB0 8E420008 */ lw $v0, 8($s2)
/* A83B4 80111CB4 1040000C */ beqz $v0, .L80111CE8
/* A83B8 80111CB8 0060102D */ daddu $v0, $v1, $zero
/* A83BC 80111CBC 34420008 */ ori $v0, $v0, 8
/* A83C0 80111CC0 AE020000 */ sw $v0, ($s0)
/* A83C4 80111CC4 0C04792E */ jal create_model_animator
/* A83C8 80111CC8 8E440004 */ lw $a0, 4($s2)
/* A83CC 80111CCC A6020008 */ sh $v0, 8($s0)
/* A83D0 80111CD0 00021400 */ sll $v0, $v0, 0x10
/* A83D4 80111CD4 8E450008 */ lw $a1, 8($s2)
/* A83D8 80111CD8 0C0480EB */ jal load_model_animator_tree
/* A83DC 80111CDC 00022403 */ sra $a0, $v0, 0x10
/* A83E0 80111CE0 0804473D */ j .L80111CF4
/* A83E4 80111CE4 00000000 */ nop
.L80111CE8:
/* A83E8 80111CE8 0C048338 */ jal load_entity_model
/* A83EC 80111CEC 8E440004 */ lw $a0, 4($s2)
/* A83F0 80111CF0 A6020008 */ sh $v0, 8($s0)
.L80111CF4:
/* A83F4 80111CF4 8E42000C */ lw $v0, 0xc($s2)
/* A83F8 80111CF8 10400003 */ beqz $v0, .L80111D08
/* A83FC 80111CFC 00000000 */ nop
/* A8400 80111D00 0040F809 */ jalr $v0
/* A8404 80111D04 0200202D */ daddu $a0, $s0, $zero
.L80111D08:
/* A8408 80111D08 0C0440DD */ jal update_shadow_transform_matrix
/* A840C 80111D0C 0200202D */ daddu $a0, $s0, $zero
/* A8410 80111D10 92020004 */ lbu $v0, 4($s0)
/* A8414 80111D14 8FBF001C */ lw $ra, 0x1c($sp)
/* A8418 80111D18 8FB20018 */ lw $s2, 0x18($sp)
/* A841C 80111D1C 8FB10014 */ lw $s1, 0x14($sp)
/* A8420 80111D20 8FB00010 */ lw $s0, 0x10($sp)
/* A8424 80111D24 D7B80030 */ ldc1 $f24, 0x30($sp)
/* A8428 80111D28 D7B60028 */ ldc1 $f22, 0x28($sp)
/* A842C 80111D2C D7B40020 */ ldc1 $f20, 0x20($sp)
/* A8430 80111D30 03E00008 */ jr $ra
/* A8434 80111D34 27BD0038 */ addiu $sp, $sp, 0x38

Some files were not shown because too many files have changed in this diff Show More