FX data/funcs, camera funcs, state funcs (#364)

* fx table work

* fx data

* blah

* render_effects_UI

* split out effects.c

* battle state menu functions

* render_frame

* clean

* clean

* 4 camera funcs

* state_step_end_battle & symbol names

* state_file_select done

* 111f0 done

* .

* PR comments
This commit is contained in:
Ethan Roseman 2021-08-17 03:14:58 +09:00 committed by GitHub
parent bd529b6edb
commit c7a7567d68
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
100 changed files with 5173 additions and 6703 deletions

View File

@ -14,7 +14,7 @@
"${workspaceFolder}/include",
"${workspaceFolder}/ver/us/build/include",
"${workspaceFolder}/src",
"${workspaceFolder}/assets/us",
"${workspaceFolder}/assets/us"
],
"defines": [
"F3DEX_GBI_2",

View File

@ -4,11 +4,14 @@
extern f32 D_8009A5EC;
enum {
CAM_FLAG_1 = 0x1,
CAM_FLAG_ENABLED = 0x2,
CAM_FLAG_LEAD_PLAYER = 0x4,
CAM_FLAG_SHAKING = 0x8,
CAM_FLAG_ORTHO = 0x10,
CAM_FLAG_80 = 0x80,
CAM_FLAG_200 = 0x200,
CAM_FLAG_400 = 0x400,
CAM_FLAG_1000 = 0x1000,
};

View File

@ -523,6 +523,16 @@ typedef struct CameraInitData {
/* 0x10 */ s16 vfov;
} CameraInitData; // size = 0x12;
typedef struct CameraUnk {
/* 0x00 */ s16 unk_00;
/* 0x02 */ s16 unk_02;
/* 0x04 */ char unk_04[0x8];
/* 0x0C */ s32 unk_0C;
/* 0x10 */ char unk_10[0x54];
/* 0x64 */ s32 unk_64;
/* 0x68 */ char unk_68[0x24];
} CameraUnk; // size = 0x8C
typedef struct Camera {
/* 0x000 */ u16 flags;
/* 0x002 */ s16 moveFlags;
@ -547,7 +557,7 @@ typedef struct Camera {
/* 0x02A */ s16 zoomPercent;
/* 0x02C */ s16 bgColor[3];
/* 0x032 */ s16 targetScreenCoords[3];
/* 0x038 */ s16 perspNorm;
/* 0x038 */ u16 perspNorm;
/* 0x03A */ char unk_3A[2];
/* 0x03C */ Vec3f lookAt_eye;
/* 0x048 */ Vec3f lookAt_obj;
@ -561,20 +571,29 @@ typedef struct Camera {
/* 0x078 */ f32 currentBoomLength;
/* 0x07C */ f32 currentYOffset;
/* 0x080 */ char unk_80[4];
/* 0x084 */ f32 trueRotation[3];
/* 0x084 */ Vec3f trueRotation;
/* 0x090 */ f32 currentBlendedYawNegated;
/* 0x094 */ f32 currentPitch;
/* 0x098 */ s32 unk_98;
/* 0x09C */ s32 unk_9C;
/* 0x0A0 */ Vp viewport;
/* 0x0B0 */ char unk_B0[0x24];
/* 0x0B0 */ Vp vpAlt;
/* 0x0C0 */ s32 unk_C0;
/* 0x0C4 */ f32 unk_C4;
/* 0x0C8 */ char unk_C8[0xC];
/* 0x0D4 */ Matrix4f perspectiveMatrix;
/* 0x114 */ Matrix4f viewMtxPlayer; /* centers on player */
/* 0x154 */ Matrix4f viewMtxLeading; /* leads player slightly */
/* 0x194 */ Matrix4f viewMtxShaking; /* used while ShakeCam is active */
/* 0x1D4 */ char unk_1D4[48];
/* 0x1D4 */ char unk_1D4[0x28];
/* 0x1FC */ void (*fpDoPreRender)(struct Camera*);
/* 0x200 */ void (*fpDoPostRender)(struct Camera*);
/* 0x204 */ struct Matrix4s* unkMatrix;
/* 0x208 */ char unk_208[572];
/* 0x208 */ s32 unk_208;
/* 0x20C */ struct Matrix4s* unkEffectMatrix;
/* 0x210 */ char unk_210[0x2];
/* 0x212 */ s16 unk_212;
/* 0x214 */ CameraUnk unk_214[4];
/* 0x444 */ struct Zone* prevZone;
/* 0x448 */ struct Zone* currentZone;
/* 0x44C */ struct CamPosSettings initialSettings; /* for start of blend between zones */
@ -599,11 +618,20 @@ typedef struct Camera {
/* 0x506 */ u16 unk_506;
/* 0x508 */ f32 panPhase;
/* 0x50C */ f32 leadAmount;
/* 0x510 */ char unk_510[16];
/* 0x510 */ f32 unk_510;
/* 0x514 */ f32 unk_514;
/* 0x518 */ f32 unk_518;
/* 0x51C */ s32 unk_51C;
/* 0x520 */ f32 unk_520;
/* 0x524 */ char unk_524[16];
/* 0x524 */ f32 unk_524;
/* 0x528 */ f32 unk_528;
/* 0x52C */ s32 unk_52C;
/* 0x530 */ s32 unk_530;
/* 0x534 */ struct ColliderBoundingBox* aabbForZoneBelow;
/* 0x538 */ char unk_538[32];
/* 0x538 */ char unk_538[0x18];
/* 0x550 */ f32 unk_550;
/* 0x554 */ s16 unk_554;
/* 0x556 */ s16 unk_556;
} Camera; // size = 0x558
typedef struct BattleStatusUnkInner {
@ -938,7 +966,7 @@ typedef struct EffectInstance {
/* 0x04 */ s32 effectIndex;
/* 0x08 */ s32 totalMatricies;
/* 0x0C */ struct EffectInstanceData* data;
/* 0x10 */ struct Effect* effect;
/* 0x10 */ struct EffectGraphics* effect;
} EffectInstance;
typedef struct EffectBlueprint {
@ -985,24 +1013,24 @@ typedef struct {
s32 unk_74;
} EffectInstanceDataThing;
typedef struct Effect {
typedef struct EffectGraphics {
/* 0x00 */ s32 flags;
/* 0x04 */ s32 effectIndex;
/* 0x08 */ s32 instanceCounter;
/* 0x0C */ EffectInstanceData* instanceData; //? Maybe EffectInstanceData too ?
/* 0x0C */ s32 freeDelay;
/* 0x10 */ void (*update)(EffectInstance* effectInst);
/* 0x14 */ void (*renderWorld)(EffectInstance* effectInst);
/* 0x18 */ void (*unk_18)(EffectInstance* effectInst);
/* 0x1C */ void* unk_1C;
} Effect; // size = 0x20
/* 0x18 */ void (*renderUI)(EffectInstance* effectInst);
/* 0x1C */ s32* data;
} EffectGraphics; // size = 0x20
typedef struct EffectTableEntry {
/* 0x00 */ void (*entryPoint)(s32 arg0, s32 arg1, s32 arg2, s32 arg3, f32 x, f32 y, f32 z);
/* 0x04 */ void* dmaStart;
/* 0x08 */ void* dmaEnd;
/* 0x0C */ void* dmaDest;
/* 0x10 */ void* unkStartRom;
/* 0x14 */ void* unkEndRom;
/* 0x10 */ void* graphicsDmaStart;
/* 0x14 */ void* graphicsDmaEnd;
} EffectTableEntry; // size = 0x18
typedef struct ItemEntity {

View File

@ -622,7 +622,6 @@ enum SoundIDs {
SOUND_UNKNOWN_2106 = 8454,
};
typedef UNK_TYPE Cam;
enum Cams {
CAM_DEFAULT,
CAM_BATTLE,
@ -1709,4 +1708,10 @@ enum TimeFreezeMode {
TIME_FREEZE_EXIT,
};
enum EffectGfxDataFlags {
FX_GRAPHICS_DISABLED = 0,
FX_GRAPHICS_ENABLED = 1,
FX_GRAPHICS_2 = 2,
};
#endif

View File

@ -120,7 +120,7 @@ extern void guOrtho(Mtx *m, float l, float r, float b, float t,
// Text
MessagePrintState* msg_get_printer_for_string(s32 stringID, s32* a1);
void get_screen_coords(Cam camID, f32 x, f32 y, f32 z, s32* screenX, s32* screenY, s32* screenZ);
void get_screen_coords(s32 camID, f32 x, f32 y, f32 z, s32* screenX, s32* screenY, s32* screenZ);
void parent_collider_to_model(s32 colliderID, s16 modelIndex);
void clone_model(u16 srcModelID, u16 newModelID);
@ -194,7 +194,8 @@ s32 osGetId();
s32 battle_heap_create(void);
void filemenu_init(s32);
s32 test_ray_zones(f32, f32, f32, f32*, f32*, f32*, f32*, f32*, f32*, f32*);
s32 test_ray_zones(f32 startX, f32 startY, f32 startZ, f32 dirX, f32 dirY, f32 dirZ, f32* hitX, f32* hitY, f32* hitZ,
f32* hitDepth, f32* nx, f32* ny, f32* nz);
s32 test_ray_colliders(s32 ignoreFlags, f32 startX, f32 startY, f32 startZ, f32 dirX, f32 dirY, f32 dirZ, f32* hitX,
f32* hitY, f32* hitZ, f32* hitDepth, f32* hitNx, f32* hitNy, f32* hitNz);
s32 test_ray_entities(f32 startX, f32 startY, f32 startZ, f32 dirX, f32 dirY, f32 dirZ, f32* hitX, f32* hitY, f32* hitZ,
@ -481,5 +482,10 @@ s32 set_screen_overlay_center_worldpos(void);
s32 mdl_get_next_texture_address(void);
void draw_string(s32 stringID, s32 posX, s32 posY, s32 opacity, s32 palette, s32 style);
void get_background_color_blend(u8* r, u8* g, u8* b, u8* a);
void set_hud_element_script(s32 arg0, s32 *arg1);
void set_hud_element_tint(s32 iconIndex, s32 tint1, s32 tint2, s32 tint3);
void set_window_update(s32 panelIndex, s32 arg1);
void set_hud_element_alpha(s32 iconIndex, s32 opacity);
void draw_hud_element_clipped(s32 arg0);
#endif

View File

@ -144,7 +144,7 @@ extern TriggerList gTriggerList2;
extern TriggerList* gCurrentTriggerListPtr;
// Map transition data. Should probably be a struct
extern u16 gMapTransitionAlpha;
extern s16 gMapTransitionAlpha;
extern s8 D_800A0930;
extern s8 D_800A0931;
extern s16 D_800A0932[1];
@ -244,9 +244,9 @@ extern s8 D_800A0920;
extern s32 D_800A0924;
extern s8 D_800A0921;
extern s16 D_800A0922;
extern s32 mapTexName;
extern char* mapHitName;
extern s32 mapShapeName;
extern s32 wMapTexName;
extern char* wMapHitName;
extern s32 wMapShapeName;
extern s32* D_80210000;
extern u8 D_802D9D70; // player alpha1 copy?
extern u8 D_802D9D71; // player alpha2 copy?

View File

@ -32,7 +32,60 @@ void init_enter_world_shared(void) {
timeFreezeMode = 0;
}
INCLUDE_ASM(void, "111f0_len_860", state_step_enter_world, void);
void state_step_enter_world(void) {
switch (D_800A0944) {
case 0:
if (D_800A0946 == 0) {
gGameStatusPtr->isBattle = FALSE;
gGameStatusPtr->disableScripts = FALSE;
if (D_800A0948 == 0) {
load_map_by_IDs(gGameStatusPtr->areaID, gGameStatusPtr->mapID, 0);
} else {
load_map_by_IDs(gGameStatusPtr->areaID, gGameStatusPtr->mapID, 1);
}
gGameStatusPtr->prevArea = gGameStatusPtr->areaID;
set_time_freeze_mode(0);
if (gGameStatusPtr->demoState == 0) {
disable_player_input();
}
update_cameras();
D_800A0946 = 2;
D_800A0944++;
} else {
D_800A0946--;
}
break;
case 1:
update_encounters();
update_npcs();
update_player();
update_cameras();
if (D_800A0946 != 0) {
D_800A0946--;
} else if (!does_script_exist(gGameStatusPtr->mainScriptID)) {
gOverrideFlags &= ~0x8;
D_800A0944++;
}
break;
case 2:
update_npcs();
update_player();
update_effects();
update_cameras();
if ((update_enter_map_screen_overlay(&gMapTransitionAlpha) << 0x10) != 0) {
if (gGameStatusPtr->demoState == 0) {
enable_player_input();
}
set_screen_overlay_params_front(255, -1.0f);
set_game_mode(4);
}
break;
}
}
void state_drawUI_enter_world(void) {
if (gGameStatusPtr->loadMenuState == 2) {
@ -53,7 +106,74 @@ void state_init_change_map(void) {
}
}
INCLUDE_ASM(void, "111f0_len_860", state_step_change_map, void);
void state_step_change_map(void) {
switch (D_800A0944) {
case 0:
update_npcs();
update_player();
update_effects();
update_cameras();
if ((update_exit_map_screen_overlay(&gMapTransitionAlpha) << 0x10) != 0) {
D_800A0944++;
}
break;
case 1:
gOverrideFlags |= 8;
nuContRmbForceStop();
D_800A0946 = 4;
D_800A0944++;
break;
case 2:
if (gGameStatusPtr->demoState != 0) {
set_game_mode(0x11);
}
if (D_800A0946 != 0) {
D_800A0946--;
} else {
gGameStatusPtr->isBattle = FALSE;
gGameStatusPtr->disableScripts = FALSE;
load_map_by_IDs(gGameStatusPtr->areaID, gGameStatusPtr->mapID, 0);
set_time_freeze_mode(0);
nuContRmbForceStopEnd();
if (gGameStatusPtr->demoState == 0) {
disable_player_input();
}
update_cameras();
D_800A0946 = 2;
D_800A0944++;
}
break;
case 3:
update_encounters();
update_npcs();
update_player();
update_cameras();
if (D_800A0946 != 0) {
D_800A0946--;
} else if (!does_script_exist(gGameStatusPtr->mainScriptID)) {
gOverrideFlags &= ~0x8;
D_800A0944++;
}
break;
case 4:
update_npcs();
update_player();
update_effects();
update_cameras();
if ((update_enter_map_screen_overlay(&gMapTransitionAlpha) << 0x10) != 0) {
if (gGameStatusPtr->demoState == 0) {
enable_player_input();
}
set_screen_overlay_params_front(255, -1.0f);
set_game_mode(4);
}
break;
}
}
void state_drawUI_change_map(void) {
if (D_800A0944 == 4 || D_800A0944 == 0) {
@ -68,7 +188,51 @@ void func_80036430(void) {
gPlayerStatus.flags |= 0x1000;
}
INCLUDE_ASM(void, "111f0_len_860", func_8003646C, void);
void func_8003646C(void) {
switch (D_800A0944) {
case 1:
gOverrideFlags |= 8;
nuContRmbForceStop();
D_800A0946 = 4;
D_800A0944++;
break;
case 2:
if (D_800A0946 != 0) {
D_800A0946--;
} else {
gGameStatusPtr->isBattle = FALSE;
gGameStatusPtr->disableScripts = FALSE;
load_map_by_IDs(gGameStatusPtr->areaID, gGameStatusPtr->mapID, 0);
nuContRmbForceStopEnd();
D_800A0944++;
}
break;
case 3:
update_encounters();
update_npcs();
if (!does_script_exist(gGameStatusPtr->mainScriptID)) {
gOverrideFlags &= ~0x8;
D_800A0944++;
break;
}
return;
case 4:
gMapTransitionAlpha -= D_800A0942;
if (gMapTransitionAlpha < 0) {
gMapTransitionAlpha = 0;
D_800A0944++;
set_screen_overlay_params_front(255, -1.0f);
set_game_mode(4);
}
update_npcs();
update_player();
update_effects();
update_cameras();
break;
}
set_screen_overlay_params_front(0, gMapTransitionAlpha);
}
void func_80036640(void) {
}

View File

@ -6,22 +6,16 @@
extern s32 D_7012BC11[];
void func_802AE000_316C00(void) {
s32(*readFunc)(OSPiHandle*, u32, u32*);
UNK_FUN_PTR(generalHeapCreate);
s32(*readFunc)(OSPiHandle*, u32, u32*) = osEPiReadIo;
s32 seed = 0x3C016C07 + 0xFEFEFEF;
HeapNode*(*generalHeapCreate)(void) = D_7012BC11; // general_heap_create - 0xFEFEFEF
u32 hash = 0;
u32 thisInsn;
u32* it;
u32 prevInsn;
s32 seed;
u32 blah;
u32 hash;
readFunc = osEPiReadIo;
seed = 0x4BF15BF6; // 0x3C016C07 + 0xFEFEFEF;
generalHeapCreate = D_7012BC11; // 0x8002AC00 - 0xFEFEFEF (the former address being that of general_heap_create)
hash = 0;
readFunc(nuPiCartHandle, 0xB0000574, &thisInsn);
seed -= thisInsn; // thisInsn = 0x3C016C07 here
seed -= thisInsn; // thisInsn = 0x3C016C07 here, so seed becomes 0xFEFEFEF
prevInsn = 0;
@ -43,11 +37,12 @@ void func_802AE000_316C00(void) {
prevInsn = thisInsn;
}
// 0x2499BF - hash == 0, so we add back 0xFEFEFEF (seed) and we end up with the address of general_heap_create!
generalHeapCreate += seed + 0x2499BF - hash;
// If the function's address is 0x8XXXXXXX
if (((u32)generalHeapCreate >> 0x1C) == 8) {
// Call the function that ends up being generalHeapCreate
// Call the function that ends up being general_heap_create
(generalHeapCreate)();
}
}

View File

@ -1,18 +1,57 @@
#include "common.h"
#include "ld_addrs.h"
typedef s32 TlbEntry[0x1000 / 4];
typedef TlbEntry TlbMappablePage[15];
s32 D_8007EFE0[] = {
0x00000003, 0x0000000B, 0x00000000, 0x00000009, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000003, 0x00000007, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x0000000A, 0x00001388, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000
};
extern TlbMappablePage D_80197000;
extern EffectTableEntry gEffectTable[135];
s32 D_8007F048[] = {
0x00000004, 0x0000000E, 0x00000000, 0x00000009, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000002, 0x00000006, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000,
0x00000009, 0x0000000C, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x0000000D, 0x00001770, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000, 0x00000004, 0x00000011,
0x00000000, 0x0000000B, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000004,
0x00000009, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x0000000B, 0x0000000F,
0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0x00001F40,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000
};
#define EFFECT_LOADED 1
s32 D_8007F158[] = {
0x00000001, 0x0000000E, 0x00000000, 0x0000000D, 0x00004E20, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000,
0x00007FFF
};
extern void* D_80059C80;
extern Effect D_800A4000[15];
extern EffectInstance* D_800B4398[96]; //effectInstanceList
extern s32 D_801A6000;
s32 D_8007F180[] = {
0x00000001, 0x00000003, 0x00000000, 0x00000001, 0x00004000, 0x00000000, 0x00007FFF, 0x00001DB0, 0x000002BC,
0x00000000
};
s32 D_8007F1A8[] = {
0x00000001, 0x00000003, 0x00000000, 0x00000001, 0x00000000, 0x00005FFF, 0x00007FFF, 0x0000017C, 0x000001F4,
0x00000000
};
s32 D_8007F1D0[] = {
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000
};
s32 D_8007F1F8[] = {
D_8007F1D0
};
s32 D_8007F1FC[] = {
D_8007F1D0
};
s32 D_8007F200[] = {
D_8007F1D0
};
s32 D_8007F204[] = {
D_8007F1D0, 0x00000000, 0x00000000
};
INCLUDE_ASM(s32, "341d0", func_80058DD0);
@ -31,213 +70,3 @@ INCLUDE_ASM(s32, "341d0", func_800598A0);
INCLUDE_ASM(s32, "341d0", func_80059AB8);
INCLUDE_ASM(s32, "341d0", func_80059BD4);
/// Used for unbound function points in effect structs.
void stub_effect_delegate(EffectInstance* effectInst) {
}
void set_effect_pos_offset(Effect* effect, f32 x, f32 y, f32 z) {
EffectInstanceData* instanceData = effect->instanceData;
instanceData->pos.x = x;
instanceData->pos.y = y;
instanceData->pos.z = z;
}
void clear_effect_data(void) {
s32 i;
for (i = 0; i < ARRAY_COUNT(D_800A4000); i++) {
D_800A4000[i].flags = 0;
}
for (i = 0; i < ARRAY_COUNT(D_800B4398); i++) {
D_800B4398[i] = 0;
}
osUnmapTLBAll();
osMapTLB(0x10, NULL, _325AD0_VRAM, (s32)&D_801A6000 & 0xFFFFFF, -1, -1);
dma_copy(_325AD0_ROM_START, _325AD0_ROM_END, _325AD0_VRAM);
}
void func_80059D48(void) {
}
INCLUDE_ASM(s32, "341d0", update_effects);
s32 render_effects_world(void) {
s32 i;
for (i = 0; i < ARRAY_COUNT(D_800B4398); i++) {
if ((D_800B4398[i] != NULL) && (D_800B4398[i]->flags & 1) && (D_800B4398[i]->flags & 8)) {
if (gGameStatusPtr->isBattle) {
if (D_800B4398[i]->flags & 4) {
D_800B4398[i]->effect->renderWorld(D_800B4398[i]);
}
} else if (!(D_800B4398[i]->flags & 4)) {
D_800B4398[i]->effect->renderWorld(D_800B4398[i]);
}
}
}
}
INCLUDE_ASM(s32, "341d0", render_effects_UI);
EffectInstance* func_8005A2BC(EffectBlueprint* effectBp) {
EffectInstance* newEffectInst;
Effect* curEffect;
s32 i;
// Search for an unused instance
for (i = 0; i < ARRAY_COUNT(D_800B4398); i++) {
if (D_800B4398[i] == NULL) {
break;
}
}
ASSERT(i < ARRAY_COUNT(D_800B4398));
// Allocate space for the new instance
D_800B4398[i] = newEffectInst = general_heap_malloc(sizeof(EffectInstance));
ASSERT(newEffectInst != NULL);
curEffect = &D_800A4000[0];
newEffectInst->effectIndex = effectBp->effectIndex;
newEffectInst->flags = 1;
// Look for a loaded effect of the proper index
for (i = 0; i < ARRAY_COUNT(D_800A4000); i++) {
if ((curEffect->flags & EFFECT_LOADED) && (curEffect->effectIndex == effectBp->effectIndex)) {
break;
}
curEffect++;
}
ASSERT(i < ARRAY_COUNT(D_800A4000));
// If this is the first new instance of the effect, initialize the function pointers
if (curEffect->instanceCounter == 0) {
curEffect->update = effectBp->update;
if (curEffect->update == NULL) {
curEffect->renderWorld = stub_effect_delegate;
}
curEffect->renderWorld = effectBp->renderWorld;
if (curEffect->unk_18 == NULL) {
curEffect->unk_18 = stub_effect_delegate;
}
curEffect->unk_18 = effectBp->unk_14;
if (curEffect->unk_18 == NULL) {
curEffect->unk_18 = stub_effect_delegate;
}
}
curEffect->instanceCounter++;
newEffectInst->effect = curEffect;
if (effectBp->init != NULL) {
effectBp->init(newEffectInst);
}
if (gGameStatusPtr->isBattle) {
newEffectInst->flags |= 4;
}
return newEffectInst;
}
void remove_effect(EffectInstance* arg0) {
s32 i;
for (i = 0; i < ARRAY_COUNT(D_800B4398); i++) {
if (D_800B4398[i] == arg0) {
break;
}
}
ASSERT(i < ARRAY_COUNT(D_800B4398));
if (arg0->data == NULL) {
general_heap_free(arg0);
D_800B4398[i] = NULL;
return;
}
general_heap_free(arg0->data);
general_heap_free(arg0);
D_800B4398[i] = NULL;
}
void remove_all_effects(void) {
s32 i;
for (i = 0; i < ARRAY_COUNT(D_800B4398); i++) {
EffectInstance* temp2 = D_800B4398[i];
if (temp2 != NULL && temp2->flags & 4) {
if (temp2->data != NULL) {
general_heap_free(temp2->data);
}
general_heap_free(temp2);
D_800B4398[i] = NULL;
}
}
}
s32 load_effect(s32 effectIndex) {
EffectTableEntry* effectTable = &gEffectTable[0];
EffectTableEntry* effectEntry;
Effect* curEffect;
TlbMappablePage* tlbMappablePages;
s32 i;
effectEntry = &effectTable[effectIndex];
// Look for a loaded effect matching the desired index
for (i = 0, curEffect = &D_800A4000[0]; i < ARRAY_COUNT(D_800A4000); i++) {
if ((curEffect->flags & EFFECT_LOADED) && (curEffect->effectIndex == effectIndex)) {
break;
}
curEffect++;
}
// If an effect was found within the table, initialize it and return
if (i < ARRAY_COUNT(D_800A4000)) {
curEffect->effectIndex = effectIndex;
curEffect->instanceCounter = 0;
curEffect->flags = EFFECT_LOADED;
return 1;
}
// If a loaded effect wasn't found, look for the first empty space
for (i = 0, curEffect = &D_800A4000[0]; i < ARRAY_COUNT(D_800A4000); i++) {
if (!(curEffect->flags & EFFECT_LOADED)) {
break;
}
curEffect++;
}
// If no empty space was found, panic
ASSERT(i < ARRAY_COUNT(D_800A4000));
// Map space for the effect
tlbMappablePages = &D_80197000;
osMapTLB(i, 0, effectEntry->dmaDest, (s32)((*tlbMappablePages)[i]) & 0xFFFFFF, -1, -1);
// Copy the effect into the newly mapped space
dma_copy(effectEntry->dmaStart, effectEntry->dmaEnd, effectEntry->dmaDest);
// If there's extra data the effect normally loads, allocate space and copy into the new space
if (effectEntry->unkStartRom != NULL) {
void* effectDataBuf = general_heap_malloc(effectEntry->unkEndRom - effectEntry->unkStartRom);
curEffect->unk_1C = effectDataBuf;
ASSERT(effectDataBuf != NULL);
dma_copy(effectEntry->unkStartRom, effectEntry->unkEndRom, curEffect->unk_1C);
}
// Initialize the newly loaded effect data
curEffect->effectIndex = effectIndex;
curEffect->instanceCounter = 0;
curEffect->flags = EFFECT_LOADED;
return 1;
}

View File

@ -26,7 +26,7 @@ void initialize_collision(void) {
void load_hit_asset(void) {
u32 assetSize;
MapConfig* map = get_current_map_header();
void* compressedData = load_asset_by_name(&mapHitName, &assetSize);
void* compressedData = load_asset_by_name(&wMapHitName, &assetSize);
HitAsset* uncompressedData = heap_malloc(assetSize);
decode_yay0(compressedData, uncompressedData);
@ -131,7 +131,8 @@ INCLUDE_ASM(s32, "362a0_len_2f70", test_up_ray_triangle, ColliderTriangle* trian
INCLUDE_ASM(s32, "362a0_len_2f70", test_ray_colliders, s32 ignoreFlags, f32 startX, f32 startY, f32 startZ, f32 dirX,
f32 dirY, f32 dirZ, f32* hitX, f32* hitY, f32* hitZ, f32* hitDepth, f32* hitNx, f32* hitNy, f32* hitNz);
INCLUDE_ASM(s32, "362a0_len_2f70", test_ray_zones, f32 arg0, f32 arg1, f32 arg2, f32* arg3, f32* arg4, f32* arg5, f32* arg6, f32* arg7, f32* arg8, f32* arg9);
INCLUDE_ASM(s32, "362a0_len_2f70", test_ray_zones, f32 startX, f32 startY, f32 startZ, f32 dirX, f32 dirY, f32 dirZ,
f32* hitX, f32* hitY, f32* hitZ, f32* hitDepth, f32* nx, f32* ny, f32* nz);
//s32 test_up_ray_collider(s32 ignoreFlags, s32 colliderID, f32 x, f32 y, f32 z, f32 length, f32 yaw);
// Close, but no cigar

View File

@ -39,31 +39,55 @@ extern s32 D_802AD054;
extern s32 D_802AD058;
extern s8 D_802AD068;
extern s32 main_menu_numOptions;
extern s8 D_802AD10A;
extern s8 D_802AD10D;
extern s8 D_802AD10E;
extern s8 D_802AD10F;
extern s16 D_802AD112;
extern s32 battle_menu_moveOptionActive;
extern s8 battle_menu_moveScrollLine;
extern s16 battle_menu_moveScrollOffset;
extern u8 battle_menu_moveState;
extern s8 battle_menu_moveCursorPos;
extern s32 battle_menu_moveOptionDescriptions[24];
extern s32 battle_menu_moveOptionIndexMap[24];
extern s16 battle_menu_moveTextColor;
extern s16 battle_menu_moveTextOpacity;
extern s32 battle_menu_moveCursorIcon;
extern s32 battle_menu_moveUpArrowIcon;
extern s32 battle_menu_moveDownArrowIcon;
extern s32* battle_menu_moveOptionIconIDs;
extern s32 battle_menu_moveOptionIconIDs[24];
extern s32 battle_menu_moveTitleIcon;
extern s32* battle_menu_moveOptionCostUnitIconIDs;
extern s32 battle_menu_moveOptionCostUnitIconIDs[24];
extern s32 D_802AD258;
extern s32 D_802AD4A8;
extern s32 battle_menu_hasSpiritsMenu;
extern s32 battle_menu_moveOptionCount;
extern s8 D_802AD604;
extern s8 D_802AD605;
extern u8 D_802AD606;
extern s8 D_802AD607;
extern s8 D_802AD608;
extern s8 D_802AD609;
extern s8 D_802AD60A;
extern s8 D_802AD60B;
extern s32 D_802AD610;
extern s16 D_802AD60C;
extern s16 D_802AD60E;
extern s16 D_802AD610;
extern s8 D_802AD614;
extern s32 D_802AD618;
extern s32 D_802AD61C;
extern s32 D_802AD620;
extern s32 D_802AD624;
extern s32 D_802AD628;
extern s32 D_802AD628[];
extern s32 D_802AD658[]; // string IDs
extern s32 D_802AD66C;
extern s8 D_802AD673;
extern s32 D_802AD678[];
extern s32 D_802AD690[];
extern s32* D_802AD6C0[];
extern s32 D_802AD6D4;
s16 D_802AB340[] = { 0x001C, 0x0028 };
@ -178,13 +202,79 @@ INCLUDE_ASM(s32, "415D90", func_802A11B0);
INCLUDE_ASM(s32, "415D90", btl_draw_menu_wheel);
INCLUDE_ASM(s32, "415D90", func_802A2684);
// Very similar to func_802A45D8 - maybe can be used to reduce fake matches there
void func_802A2684(void) {
if (D_802AD4A8 >= battle_menu_moveOptionCount) {
D_802AD4A8 = battle_menu_moveOptionCount - 1;
}
battle_menu_moveState = 0;
battle_menu_moveScrollLine = 0;
battle_menu_moveCursorPos = D_802AD4A8;
D_802AD10A = D_802AD4A8;
D_802AD10E = battle_menu_moveOptionCount;
if (D_802AD10E > 6) {
D_802AD10E = 6;
}
D_802AD10D = 6;
if (battle_menu_moveOptionCount < 6) {
D_802AD10D = battle_menu_moveOptionCount;
}
battle_menu_moveTextOpacity = 255;
D_802AD10F = 1;
if (D_802AD10A < 0) {
battle_menu_moveScrollLine = D_802AD10A;
}
if (D_802AD10A >= D_802AD10D) {
battle_menu_moveScrollLine = D_802AD10A + 1 - D_802AD10E;
}
D_802AD10D = battle_menu_moveScrollLine + 6;
if (D_802AD10D > battle_menu_moveOptionCount) {
D_802AD10D = battle_menu_moveOptionCount;
}
battle_menu_moveScrollOffset = -battle_menu_moveScrollLine * 13;
D_802AD112 = (D_802AD10A - battle_menu_moveScrollLine) * 13;
battle_menu_moveOptionActive = 0;
}
void func_802A27D0(void) {
battle_menu_moveState = 10;
}
INCLUDE_ASM(s32, "415D90", func_802A27E4);
void func_802A27E4(void) {
s32 i;
set_window_update(1, 2);
if (!battle_menu_hasSpiritsMenu) {
set_window_update(2, 2);
set_window_update(3, 2);
} else {
set_window_update(4, 2);
set_window_update(5, 2);
}
set_window_update(8, 2);
for (i = 0; i < battle_menu_moveOptionCount; i++) {
free_hud_element(battle_menu_moveOptionIconIDs[i]);
}
free_hud_element(battle_menu_moveCursorIcon);
free_hud_element(battle_menu_moveUpArrowIcon);
free_hud_element(battle_menu_moveDownArrowIcon);
free_hud_element(battle_menu_moveTitleIcon);
for (i = 0; i < battle_menu_moveOptionCount; i++) {
free_hud_element(battle_menu_moveOptionCostUnitIconIDs[i]);
}
}
void func_802A2910(void) {
s32* moveOptionIconIDs;
@ -274,66 +364,117 @@ INCLUDE_ASM(s32, "415D90", func_802A2C84);
INCLUDE_ASM(s32, "415D90", func_802A3C98);
void func_802A43DC(s32 arg0, s32 arg1, s32 arg2) {
s32 phi_a0;
s32 phi_a1;
s32 phi_a2;
s32 phi_a3;
s32 phi_v0;
void func_802A43DC(s32 arg0, s32 x, s32 y) {
s32 stringID;
s32 posX;
s32 posY;
s32 opacity;
s32 palette;
if (!battle_menu_hasSpiritsMenu) {
phi_a0 = 0x1D0045;
phi_a1 = arg1 + 0x10;
phi_a2 = arg2 + 2;
phi_a3 = battle_menu_moveTextOpacity;
phi_v0 = 0x30;
stringID = 0x1D0045;
posX = x + 16;
posY = y + 2;
opacity = battle_menu_moveTextOpacity;
palette = 0x30;
} else {
phi_a0 = 0x1D003A;
phi_a1 = arg1 + 6;
phi_a2 = arg2 + 2;
phi_a3 = battle_menu_moveTextOpacity;
phi_v0 = 0x31;
stringID = 0x1D003A;
posX = x + 6;
posY = y + 2;
opacity = battle_menu_moveTextOpacity;
palette = 0x31;
}
draw_string(phi_a0, phi_a1, phi_a2, phi_a3, phi_v0, 1);
draw_string(stringID, posX, posY, opacity, palette, 1);
}
void func_802A4448(s32 arg0, s32 arg1, s32 arg2) {
void func_802A4448(s32 arg0, s32 x, s32 y) {
s32 icon = battle_menu_moveTitleIcon;
set_hud_element_render_pos(icon, arg1 + 0x10, arg2 + 0xF);
set_hud_element_render_pos(icon, x + 16, y + 15);
set_hud_element_alpha(icon, battle_menu_moveTextOpacity);
draw_hud_element_clipped(icon);
}
INCLUDE_ASM(s32, "415D90", func_802A4494);
void func_802A4494(s32 arg0, s32 x, s32 y) {
switch ((s8)battle_menu_moveState) {
case -1:
case 1:
case 10:
case 20:
case 30:
if (D_802AD10F != 0) {
draw_string(battle_menu_moveOptionDescriptions[battle_menu_moveOptionIndexMap[battle_menu_moveCursorPos]],
x + 8, y, battle_menu_moveTextOpacity, battle_menu_moveTextColor, 0);
}
break;
}
}
void func_802A4534(s32 arg0, s32 arg1, s32 arg2) {
s32 temp2 = arg2;
s32 temp1;
s32 phi_s0;
void func_802A4534(s32 arg0, s32 x, s32 y) {
s32 posY = y;
s32 posX;
s32 stringID;
temp2 += 6;
temp1 = arg1 + 11;
posY += 6;
posX = x + 11;
if (D_802AD258 != 0) {
phi_s0 = 0x1D00C3;
} else if (battle_menu_hasSpiritsMenu == 0) {
phi_s0 = 0x1D009F;
stringID = 0x1D00C3;
} else if (battle_menu_hasSpiritsMenu == FALSE) {
stringID = 0x1D009F;
} else {
phi_s0 = 0x1D00A0;
stringID = 0x1D00A0;
}
draw_string(phi_s0, temp1, temp2 + D_802AB344[get_string_lines(phi_s0) - 1], 255, 0xF, 0);
draw_string(stringID, posX, posY + D_802AB344[get_string_lines(stringID) - 1], 255, 0xF, 0);
}
INCLUDE_ASM(s32, "415D90", func_802A45D8);
void func_802A45D8(void) {
s32 sixTemp;
s8 temp802AD673;
D_802AD604 = 0;
D_802AD605 = D_802AD673;
D_802AD606 = D_802AD673;
D_802AD608 = 0;
D_802AD60A = D_802AD66C;
if (D_802AD60A > 6) {
D_802AD60A = 6;
}
D_802AD609 = sixTemp = 6;
if (D_802AD609 > D_802AD66C) {
D_802AD609 = D_802AD66C;
}
D_802AD624 = 255;
D_802AD60B = 1;
temp802AD673 = D_802AD673;
if (D_802AD673 < 0) {
D_802AD608 = D_802AD673;
}
if (D_802AD673 >= D_802AD609) {
D_802AD608 = (temp802AD673 + 1 - D_802AD60A);
}
D_802AD609 = D_802AD608 + sixTemp;
if (D_802AD609 > D_802AD66C) {
D_802AD609 = D_802AD66C;
}
D_802AD60C = -D_802AD608 * 13;
D_802AD60E = (D_802AD673 - D_802AD608) * 13;
D_802AD607 = 0;
D_802AD6D4 = 0;
}
void func_802A4718(void) {
D_802AD604 = 10;
}
void func_802A472C(void) {
s32* temp = &D_802AD628;
s32 i;
set_window_update(6, 2);
@ -341,7 +482,7 @@ void func_802A472C(void) {
set_window_update(8, 2);
for (i = 0; i < D_802AD66C; i++) {
free_hud_element(temp[i]);
free_hud_element(D_802AD628[i]);
}
free_hud_element(D_802AD618);
@ -349,9 +490,45 @@ void func_802A472C(void) {
free_hud_element(D_802AD620);
}
INCLUDE_ASM(s32, "415D90", func_802A47E0);
void func_802A47E0(void) {
s32 i;
INCLUDE_ASM(s32, "415D90", func_802A48FC);
for (i = 0; i < D_802AD66C; i++) {
set_hud_element_tint(D_802AD628[i], 0xFF, 0xFF, 0xFF);
}
set_hud_element_tint(D_802AD618, 0xFF, 0xFF, 0xFF);
set_hud_element_tint(D_802AD61C, 0xFF, 0xFF, 0xFF);
set_hud_element_tint(D_802AD620, 0xFF, 0xFF, 0xFF);
set_hud_element_script(D_802AD618, &D_80104A28);
set_window_update(6, 5);
set_window_update(7, 5);
set_window_update(8, 1);
D_802AD614 = 10;
D_802AD60B = 1;
D_802AD624 = 255;
D_802AD604 = 1;
}
void func_802A48FC(void) {
s32 i;
set_window_update(6, 5);
set_window_update(7, 5);
set_window_update(8, 1);
for (i = 0; i < D_802AD66C; i++) {
set_hud_element_tint(D_802AD628[i], 0xFF, 0xFF, 0xFF);
}
set_hud_element_tint(D_802AD618, 0xFF, 0xFF, 0xFF);
set_hud_element_tint(D_802AD61C, 0xFF, 0xFF, 0xFF);
set_hud_element_tint(D_802AD620, 0xFF, 0xFF, 0xFF);
set_hud_element_script(D_802AD618, &D_80104A28);
D_802AD614 = 10;
D_802AD60B = 1;
D_802AD604 = 20;
}
void func_802A4A10(void) {
set_window_update(6, 5);
@ -362,15 +539,24 @@ void func_802A4A10(void) {
INCLUDE_ASM(s32, "415D90", func_802A4A54);
INCLUDE_ASM(s32, "415D90", func_802A5290);
void func_802A56F8(s32 arg0, s32 arg1, s32 arg2) {
draw_string(0x1D0043, arg1 + 0xF, arg2 + 2, D_802AD624, 0x33, 1);
}
// getting there but needs work
#ifdef NON_MATCHING
void func_802A5738(s32 arg0, s32 arg1, s32 arg2) {
s32 id;
void func_802A5290(s32 arg0, s32 x, s32 y) {
s16 temp_s1;
s16 temp_s1_3;
s32 temp_f6;
s32 temp_f6_2;
s32 phi_s1;
s32 phi_s1_2;
s32 t1;
s32 xt;
s32 lry;
s32 yOffset;
s32 uly;
s32 xTemp;
s32 iconIndex;
s32 i;
switch (D_802AD604) {
case -1:
@ -378,17 +564,113 @@ void func_802A5738(s32 arg0, s32 arg1, s32 arg2) {
case 10:
case 20:
case 30:
if (D_802AD60B != 0) {
draw_string(D_802AD6C0[D_802AD605], arg1 + 8, arg2, D_802AD624, D_802AD614, 0);
case 40:
case 41:
temp_s1 = -D_802AD608 * 13;
temp_f6 = (temp_s1 - D_802AD60C) * 0.5;
D_802AD60C += temp_f6;
if (temp_f6 == 0) {
D_802AD60C = temp_s1;
}
t1 = D_802AD60A * 13;
xTemp = x + 4;
uly = y + 18;
yOffset = 1 + t1;
lry = yOffset + uly;
gDPSetScissor(gMasterGfxPos++, G_SC_NON_INTERLACE, xTemp, uly, x + 142, lry);
xTemp = x + 33;
phi_s1 = y + (D_802AD60C + 19);
for (i = 0; i < D_802AD66C; i++, phi_s1 += 0xD) {
s32 palette = D_802AD614;
if (D_802AD678[i] == 5 && is_ability_active(ABILITY_QUICK_CHANGE)) {
palette = 0x37;
}
if (D_802AD690[i] == 0) {
palette = 0xB;
}
draw_string(D_802AD658[i], xTemp, phi_s1, D_802AD624, palette, 1);
}
xTemp = x + 24;
phi_s1_2 = D_802AD60C + y + 24;
for (i = 0; i < D_802AD66C; i++, phi_s1_2 += 0xD) {
iconIndex = D_802AD628[i];
set_hud_element_render_pos(iconIndex, xTemp, phi_s1_2);
set_hud_element_alpha(iconIndex, D_802AD624);
draw_icon_2(iconIndex);
}
temp_s1_3 = (D_802AD605 - D_802AD608) * 13;
temp_f6_2 = (f64) (temp_s1_3 - D_802AD60E);
if (temp_f6_2 != 0) {
D_802AD60E += temp_f6_2;
} else {
D_802AD60E = temp_s1_3;
}
iconIndex = D_802AD618;
set_hud_element_render_pos(iconIndex, x + 10, y + (D_802AD60E + 26));
set_hud_element_alpha(iconIndex, D_802AD624);
draw_hud_element_clipped(iconIndex);
if (D_802AD608 > 0) {
iconIndex = D_802AD61C;
set_hud_element_render_pos(iconIndex, x + 67, y + 16);
set_hud_element_alpha(iconIndex, D_802AD624);
draw_hud_element_clipped(iconIndex);
}
if (D_802AD609 < D_802AD66C) {
iconIndex = D_802AD620;
set_hud_element_render_pos(iconIndex, x + 67, y + 100);
set_hud_element_alpha(iconIndex, D_802AD624);
draw_hud_element_clipped(iconIndex);
}
break;
}
}
#else
INCLUDE_ASM(s32, "415D90", func_802A5738);
INCLUDE_ASM(s32, "415D90", func_802A5290);
#endif
void func_802A56F8(s32 arg0, s32 x, s32 y) {
draw_string(0x1D0043, x + 15, y + 2, D_802AD624, 0x33, 1);
}
void func_802A5738(s32 arg0, s32 x, s32 y) {
switch (D_802AD604) {
case -1:
case 1:
case 10:
case 20:
case 30:
if (D_802AD60B != 0) {
draw_string(D_802AD6C0[D_802AD605], x + 8, y, D_802AD624, D_802AD614, 0);
}
break;
}
}
// regalloc, arg setting order dumbness
#ifdef NON_MATCHING
void func_802A57C8(s32 arg0, s32 x, s32 y) {
x += 11;
y += 6;
if (D_802AD610 == 0) {
draw_string(0x1D00CB, x, y, 255, 15, 0);
} else {
draw_string(0x1D00CC, x, y, 255, 15, 0);
}
}
#else
INCLUDE_ASM(s32, "415D90", func_802A57C8);
#endif
s32 can_btl_state_update_switch_to_player(void) {
BattleStatus* battleStatus = &gBattleStatus;
@ -476,11 +758,126 @@ s32 func_802A58D0(void) {
INCLUDE_ASM(s32, "415D90", btl_state_update_player_menu);
//requires above to be decomped
#ifdef NON_MATCHING
void btl_state_draw_player_menu(void) {
switch (gBattleState2) {
case 1:
btl_draw_menu_wheel();
break;
case 2:
case 3:
case 4:
case 5:
case 10:
case 11:
case 12:
case 13:
case 14:
case 20:
case 21:
case 22:
case 23:
case 24:
case 30:
case 31:
case 32:
case 33:
case 34:
case 40:
case 41:
case 42:
case 43:
case 44:
case 51:
case 52:
case 53:
case 54:
case 61:
case 62:
case 63:
case 64:
case 65:
case 200:
case 201:
btl_draw_menu_wheel();
break;
case 202:
btl_draw_menu_wheel();
break;
case 203:
btl_draw_menu_wheel();
break;
case 204:
btl_draw_menu_wheel();
break;
case 205:
btl_draw_menu_wheel();
break;
}
}
#else
INCLUDE_ASM(s32, "415D90", btl_state_draw_player_menu);
#endif
INCLUDE_ASM(s32, "415D90", btl_state_update_partner_menu);
INCLUDE_ASM(s32, "415D90", btl_state_draw_partner_menu);
void btl_state_draw_partner_menu(void) {
switch (gBattleState2) {
case 2:
btl_draw_menu_wheel();
break;
case 3:
case 4:
case 5:
case 6:
case 10:
case 11:
case 12:
case 13:
case 14:
case 20:
case 21:
case 22:
case 23:
case 24:
case 30:
case 31:
case 32:
case 33:
case 34:
case 40:
case 41:
case 42:
case 43:
case 44:
case 51:
case 52:
case 53:
case 54:
case 61:
case 62:
case 63:
case 64:
case 65:
case 200:
case 201:
btl_draw_menu_wheel();
break;
case 202:
btl_draw_menu_wheel();
break;
case 203:
btl_draw_menu_wheel();
break;
case 204:
btl_draw_menu_wheel();
break;
case 205:
btl_draw_menu_wheel();
break;
}
}
s32 func_802A9B30(void) {
return (gBattleStatus.flags2 & 4) <= 0;

View File

@ -169,10 +169,10 @@ void mem_clear(s8* data, s32 numBytes) {
}
void transform_point(Matrix4f mtx, f32 inX, f32 inY, f32 inZ, f32 inS, f32* outX, f32* outY, f32* outZ, f32* outS) {
*outX = ((mtx[0][0] * inX) + (mtx[1][0] * inY) + (mtx[2][0] * inZ) + mtx[3][0]);
*outY = ((mtx[0][1] * inX) + (mtx[1][1] * inY) + (mtx[2][1] * inZ) + mtx[3][1]);
*outZ = ((mtx[0][2] * inX) + (mtx[1][2] * inY) + (mtx[2][2] * inZ) + mtx[3][2]);
*outS = ((mtx[0][3] * inX) + (mtx[1][3] * inY) + (mtx[2][3] * inZ) + mtx[3][3]);
*outX = (mtx[0][0] * inX) + (mtx[1][0] * inY) + (mtx[2][0] * inZ) + mtx[3][0];
*outY = (mtx[0][1] * inX) + (mtx[1][1] * inY) + (mtx[2][1] * inZ) + mtx[3][1];
*outZ = (mtx[0][2] * inX) + (mtx[1][2] * inY) + (mtx[2][2] * inZ) + mtx[3][2];
*outS = (mtx[0][3] * inX) + (mtx[1][3] * inY) + (mtx[2][3] * inZ) + mtx[3][3];
}
void copy_matrix(Matrix4f src, Matrix4f dest) {

View File

@ -3,7 +3,6 @@
extern s32 D_800F7FA8;
extern s32 D_800F7F80[10];
void set_hud_element_script(s32, s32);
void clear_hud_element_flags(s32, s32);
void draw_hud_element_2(s32);

View File

@ -1,9 +1,10 @@
#include "common.h"
#include "camera.h"
#include "nu/nusys.h"
// D_8009A5EC bss here
void initialize_next_camera(CameraInitData* data);
Camera* initialize_next_camera(CameraInitData* data);
void update_cameras(void) {
s32 i;
@ -78,7 +79,147 @@ void update_cameras(void) {
gCurrentCamID = 0;
}
INCLUDE_ASM(void, "8800", render_frame);
void render_frame(s32 flag) {
s32 camID;
if (!flag) {
gCurrentCamID = 0;
func_80116698();
}
if (flag) {
camID = CAM_CAM3;
} else {
camID = CAM_DEFAULT;
}
flag = 1 - flag; // toggle flag 0/1
for (; camID < ARRAY_COUNT(gCameras) - flag; camID++) {
Camera* camera = &gCameras[camID];
if (camera->flags != 0 && !(camera->flags & (CAM_FLAG_80 | CAM_FLAG_ENABLED))) {
u16 matrixListPos;
gCurrentCamID = camID;
if (camera->fpDoPreRender != NULL) {
camera->fpDoPreRender(camera);
} else {
s32 ulx;
s32 uly;
s32 lrx;
s32 lry;
gSPViewport(gMasterGfxPos++, &camera->viewport);
gSPClearGeometryMode(gMasterGfxPos++, G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH);
gSPTexture(gMasterGfxPos++, 0, 0, 0, G_TX_RENDERTILE, G_OFF);
gDPSetCycleType(gMasterGfxPos++, G_CYC_1CYCLE);
gDPPipelineMode(gMasterGfxPos++, G_PM_NPRIMITIVE);
ulx = camera->viewportStartX;
uly = camera->viewportStartY;
lrx = ulx + camera->viewportW;
lry = uly + camera->viewportH;
if (ulx < 0) {
ulx = 0;
}
if (uly < 0) {
uly = 0;
}
if (lrx < 1) {
lrx = 1;
}
if (lry < 1) {
lry = 1;
}
if (ulx > SCREEN_WIDTH - 1) {
ulx = SCREEN_WIDTH - 1;
}
if (uly > SCREEN_HEIGHT - 1) {
uly = SCREEN_HEIGHT - 1;
}
if (lrx > SCREEN_WIDTH) {
lrx = SCREEN_WIDTH;
}
if (lry > SCREEN_HEIGHT) {
lry = SCREEN_HEIGHT;
}
gDPSetScissor(gMasterGfxPos++, G_SC_NON_INTERLACE, ulx, uly, lrx, lry);
gDPSetTextureLOD(gMasterGfxPos++, G_TL_TILE);
gDPSetTextureLUT(gMasterGfxPos++, G_TT_NONE);
gDPSetTextureDetail(gMasterGfxPos++, G_TD_CLAMP);
gDPSetTexturePersp(gMasterGfxPos++, G_TP_PERSP);
gDPSetTextureFilter(gMasterGfxPos++, G_TF_BILERP);
gDPSetTextureConvert(gMasterGfxPos++, G_TC_FILT);
gDPSetCombineMode(gMasterGfxPos++, G_CC_SHADE, G_CC_SHADE);
gDPSetCombineKey(gMasterGfxPos++, G_CK_NONE);
gDPSetAlphaCompare(gMasterGfxPos++, G_AC_NONE);
gDPSetRenderMode(gMasterGfxPos++, G_RM_OPA_SURF, G_RM_OPA_SURF2);
gDPSetColorDither(gMasterGfxPos++, G_CD_DISABLE);
gSPClipRatio(gMasterGfxPos++, FRUSTRATIO_2);
gDPSetColorImage(gMasterGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH,
osVirtualToPhysical(nuGfxCfb_ptr));
gDPPipeSync(gMasterGfxPos++);
if (!(camera->flags & CAM_FLAG_ORTHO)) {
gSPPerspNormalize(gMasterGfxPos++, camera->perspNorm);
}
guMtxF2L(camera->perspectiveMatrix, &gDisplayContext->camPerspMatrix[gCurrentCamID]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->camPerspMatrix[gCurrentCamID], G_MTX_NOPUSH | G_MTX_LOAD |
G_MTX_PROJECTION);
}
camera->unkMatrix = &gDisplayContext->matrixStack[gMatrixListPos];
matrixListPos = gMatrixListPos++;
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[1] = camera->viewport.vp.vtrans[1] + gGameStatusPtr->unk_83;
if (!(camera->flags & CAM_FLAG_ORTHO)) {
if (gCurrentCamID != CAM_CAM3) {
if (!(camera->flags & CAM_FLAG_200)) {
render_entities();
}
if (!(camera->flags & CAM_FLAG_400)) {
render_models();
}
render_player();
render_npcs();
render_generic_entities_world();
render_effects_world();
execute_render_tasks();
render_hud_elements_world();
} else {
guOrthoF(camera->perspectiveMatrix, 0.0f, SCREEN_WIDTH, -SCREEN_HEIGHT, 0.0f, -1000.0f, 1000.0f,
1.0f);
guMtxF2L(camera->perspectiveMatrix, &gDisplayContext->camPerspMatrix[gCurrentCamID]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->camPerspMatrix[gCurrentCamID], G_MTX_NOPUSH |
G_MTX_LOAD | G_MTX_PROJECTION);
render_hud_elements_world();
render_item_entities();
}
} else {
render_generic_entities_world();
execute_render_tasks();
}
if (camera->fpDoPostRender != NULL) {
camera->fpDoPostRender(camera);
}
gDPPipeSync(gMasterGfxPos++);
gDPSetColorImage(gMasterGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH,
osVirtualToPhysical(nuGfxCfb_ptr));
gDPPipeSync(gMasterGfxPos++);
}
}
}
void create_cameras_a(void) {
CameraInitData camData;
@ -91,7 +232,7 @@ void create_cameras_a(void) {
gCameras[i].flags = 0;
}
camDataPtr->flags = 2;
camDataPtr->flags = CAM_FLAG_ENABLED;
camDataPtr->type = 0;
camDataPtr->viewWidth = 160;
camDataPtr->viewHeight = 120;
@ -102,7 +243,7 @@ void create_cameras_a(void) {
camDataPtr->vfov = 50;
initialize_next_camera(camDataPtr);
camDataPtr->flags = 2;
camDataPtr->flags = CAM_FLAG_ENABLED;
camDataPtr->type = 0;
camDataPtr->viewWidth = 160;
camDataPtr->viewHeight = 120;
@ -113,7 +254,7 @@ void create_cameras_a(void) {
camDataPtr->vfov = 50;
initialize_next_camera(camDataPtr);
camDataPtr->flags = 2;
camDataPtr->flags = CAM_FLAG_ENABLED;
camDataPtr->type = 0;
camDataPtr->viewWidth = 160;
camDataPtr->viewHeight = 120;
@ -124,7 +265,7 @@ void create_cameras_a(void) {
camDataPtr->vfov = 50;
initialize_next_camera(camDataPtr);
camDataPtr->flags = 2;
camDataPtr->flags = CAM_FLAG_ENABLED;
camDataPtr->type = 0;
camDataPtr->viewWidth = 160;
camDataPtr->viewHeight = 120;
@ -145,7 +286,7 @@ void create_cameras_b(void) {
gCameras[i].flags = 0;
}
camDataPtr->flags = 2;
camDataPtr->flags = CAM_FLAG_ENABLED;
camDataPtr->type = 0;
camDataPtr->viewWidth = 160;
camDataPtr->viewHeight = 120;
@ -156,7 +297,7 @@ void create_cameras_b(void) {
camDataPtr->vfov = 50;
initialize_next_camera(camDataPtr);
camDataPtr->flags = 2;
camDataPtr->flags = CAM_FLAG_ENABLED;
camDataPtr->type = 0;
camDataPtr->viewWidth = 160;
camDataPtr->viewHeight = 120;
@ -167,7 +308,7 @@ void create_cameras_b(void) {
camDataPtr->vfov = 50;
initialize_next_camera(camDataPtr);
camDataPtr->flags = 2;
camDataPtr->flags = CAM_FLAG_ENABLED;
camDataPtr->type = 0;
camDataPtr->viewWidth = 160;
camDataPtr->viewHeight = 120;
@ -178,7 +319,7 @@ void create_cameras_b(void) {
camDataPtr->vfov = 50;
initialize_next_camera(camDataPtr);
camDataPtr->flags = 2;
camDataPtr->flags = CAM_FLAG_ENABLED;
camDataPtr->type = 0;
camDataPtr->viewWidth = 160;
camDataPtr->viewHeight = 120;
@ -190,9 +331,107 @@ void create_cameras_b(void) {
initialize_next_camera(camDataPtr);
}
INCLUDE_ASM(void, "8800", initialize_next_camera, CameraInitData* data);
Camera* initialize_next_camera(CameraInitData* initData) {
Camera* camera;
s32 camID;
for (camID = 0; camID < ARRAY_COUNT(gCameras); camID++) {
camera = &gCameras[camID];
if (camera->flags == 0) {
break;
}
}
ASSERT(camID < ARRAY_COUNT(gCameras));
camera->flags = initData->flags | (CAM_FLAG_1 | CAM_FLAG_LEAD_PLAYER);
camera->moveFlags = 0;
camera->lookAt_eye.x = 0;
camera->lookAt_eye.y = 0;
camera->lookAt_eye.z = 0;
camera->lookAt_obj.x = 0;
camera->lookAt_obj.y = 0;
camera->lookAt_obj.z = -100.0f;
camera->currentYaw = 0;
camera->currentBoomLength = 0;
camera->currentYOffset = 0;
camera->trueRotation.x = 0.0f;
camera->trueRotation.y = 0.0f;
camera->trueRotation.z = 0.0f;
camera->mode = initData->type;
camera->unk_06 = 1;
camera->nearClip = initData->nearClip;
camera->farClip = initData->farClip;
camera->vfov = initData->vfov;
camera->zoomPercent = 100;
set_cam_viewport(camID, initData->viewStartX, initData->viewStartY, initData->viewWidth, initData->viewHeight);
camera->unk_212 = -1;
camera->unk_530 = 1;
camera->bgColor[0] = 0;
camera->bgColor[1] = 0;
camera->bgColor[2] = 0;
camera->unk_C0 = 0;
camera->unk_54 = 0;
camera->unk_58 = 0;
camera->unk_5C = 0;
camera->targetPos.x = 0;
camera->targetPos.y = 0;
camera->targetPos.z = 0;
camera->unk_98 = 0;
camera->unk_9C = 0;
camera->fpDoPreRender = NULL;
camera->fpDoPostRender = NULL;
camera->leadAmount = 0;
camera->unk_510 = 0.0f;
camera->unk_514 = 0.0f;
camera->unk_518 = 0.0f;
camera->unk_51C = 0;
camera->unk_524 = 0.0f;
camera->unk_528 = 0.0f;
camera->unk_52C = 0;
camera->aabbForZoneBelow = 0;
camera->unk_506 = 0;
camera->boolTargetPlayer = 0;
camera->unk_C4 = 1000.0f;
camera->unk_520 = 0.2f;
camera->moveSpeed = 1.0f;
return camera;
}
// Ordering shtuff
#ifdef NON_MATCHING
void set_cam_viewport(s16 id, s16 x, s16 y, s16 width, s16 height) {
Camera* camera = &gCameras[id];
camera->viewportW = width;
camera->viewportH = height;
camera->viewportStartX = x;
camera->viewportStartY = y;
camera->viewport.vp.vscale[0] = 2.0f * camera->viewportW;
camera->viewport.vp.vscale[1] = 2.0f * camera->viewportH;
camera->viewport.vp.vscale[2] = 0x1FF;
camera->viewport.vp.vscale[3] = 0;
camera->viewport.vp.vtrans[0] = (((camera->viewportStartX + (camera->viewportW / 2)) << 16) >> 14);
camera->viewport.vp.vtrans[1] = (((camera->viewportStartY + (camera->viewportH / 2)) << 16) >> 14);
camera->viewport.vp.vtrans[2] = 0x1FF;
camera->viewport.vp.vtrans[3] = 0;
camera->vpAlt.vp.vscale[0] = 2.0f * camera->viewportW;
camera->vpAlt.vp.vscale[1] = 2.0f * camera->viewportH;
camera->vpAlt.vp.vscale[2] = 0x1FF;
camera->vpAlt.vp.vscale[3] = 0;
camera->vpAlt.vp.vtrans[0] = gGameStatusPtr->unk_82 + ((((u16) camera->viewportStartX + (camera->viewportW / 2)) << 16) >> 14);
camera->vpAlt.vp.vtrans[1] = gGameStatusPtr->unk_83 + ((((u16) camera->viewportStartY + (camera->viewportH / 2)) << 16) >> 14);
camera->vpAlt.vp.vtrans[2] = 0x200;
camera->vpAlt.vp.vtrans[3] = 0;
}
#else
INCLUDE_ASM(void, "8800", set_cam_viewport, s16 id, s16 x, s16 y, s16 width, s16 height);
#endif
void get_cam_viewport(s32 camID, u16* x, u16* y, u16* width, u16* height) {
*width = gCameras[camID].viewportW;
@ -201,7 +440,32 @@ void get_cam_viewport(s32 camID, u16* x, u16* y, u16* width, u16* height) {
*y = gCameras[camID].viewportStartY;
}
INCLUDE_ASM(void, "8800", get_screen_coords, Cam camID, f32 x, f32 y, f32 z, s32* screenX, s32* screenY, s32* screenZ);
void get_screen_coords(s32 camID, f32 x, f32 y, f32 z, s32* screenX, s32* screenY, s32* screenZ) {
Camera* camera = &gCameras[camID];
f32 tS;
f32 tZ;
f32 tY;
f32 tX;
transform_point(camera->perspectiveMatrix, x, y, z, 1.0f, &tX, &tY, &tZ, &tS);
*screenZ = tZ + 5000.0f;
if (*screenZ < 0) {
*screenZ = 0;
} else if (*screenZ > 10000) {
*screenZ = 10000;
}
if (tS < 0.01 && tS > -0.01) {
*screenX = 0;
*screenY = 0;
*screenZ = 0;
} else {
tS = 1.0f / tS;
*screenX = (s32) ((camera->viewportW / 2) + (tX * tS * camera->viewportW * 0.5f)) + camera->viewportStartX;
*screenY = (s32) ((camera->viewportH / 2) - (tY * tS * camera->viewportH * 0.5f)) + camera->viewportStartY;
}
}
s32 func_8002E754(s32 camID, s32 x, s32 y) {
s32 startX = gCameras[camID].viewportStartX;
@ -229,4 +493,14 @@ void func_8002E7CC(s32 camID, s32* x, s32* y, s32* width, s32* height) {
*height = gCameras[camID].viewportStartY + gCameras[camID].viewportH;
}
INCLUDE_ASM(s32, "8800", func_8002E82C);
void func_8002E82C(s32 camID, s32 arg1) {
Camera* camera = &gCameras[camID];
camera->unk_212++;
ASSERT(camera->unk_212 < 4);
camera->unk_214[camera->unk_212].unk_0C = arg1;
camera->unk_214[camera->unk_212].unk_02 = 1;
camera->unk_214[camera->unk_212].unk_64 = arg1;
camera->unk_214[camera->unk_212].unk_00 = 0;
}

View File

@ -1,17 +1,196 @@
#include "common.h"
INCLUDE_ASM(s32, "B0E0", update_camera_mode_unused);
void func_80030210(Camera* camera, f32 arg1, f32 arg2, s32 arg3);
INCLUDE_ASM(s32, "B0E0", update_camera_mode_5);
void update_camera_mode_unused(Camera* camera);
// Issues with zero float temp?
#ifdef NON_MATCHING
void update_camera_mode_unused(Camera* camera) {
PlayerStatus* playerStatus = &gPlayerStatus;
f32 temp_f30;
f32 temp_f24_2;
f32 theta;
f32 sinTheta1;
f32 cosTheta1;
f32 sinTheta2;
f32 cosTheta2;
f32 lookXDelta;
f32 lookYDelta;
f32 lookZDelta;
INCLUDE_ASM(s32, "B0E0", func_80030210);
if (camera->unk_06 != 0 || camera->unk_08 != 0) {
camera->unk_06 = 0;
camera->unk_08 = 0;
camera->unk_1C = 0;
camera->unk_1E = 100;
camera->unk_20 = 100;
camera->unk_22 = 0;
camera->unk_24 = 0;
camera->lookAt_obj.x = camera->unk_54;
camera->lookAt_obj.y = camera->unk_58;
camera->lookAt_obj.z = camera->unk_5C;
}
INCLUDE_ASM(s32, "B0E0", func_8003034C);
if (!(playerStatus->flags & 6)) {
camera->unk_58 = playerStatus->position.y + 60.0f;
}
camera->unk_54 = playerStatus->position.x;
camera->unk_5C = playerStatus->position.z + 400.0f;
if (camera->unk_1C == 0) {
s32 fovTemp = 10000 / camera->unk_20;
camera->lookAt_obj.x = camera->unk_54;
camera->lookAt_obj.y = camera->unk_58;
camera->lookAt_obj.z = camera->unk_5C;
camera->trueRotation.x = (f32) camera->unk_24;
camera->currentBoomYaw = (f32) camera->unk_22;
camera->currentBoomLength = (f32) camera->unk_1E;
if (fovTemp < 0) {
fovTemp += 3;
}
camera->vfov = fovTemp >> 2;
theta = (camera->currentBoomYaw * TAU) / 360.0f;
sinTheta1 = sin_rad(theta);
cosTheta1 = cos_rad(theta);
temp_f30 = (cosTheta1 * 0.0f) + (camera->currentBoomLength * sinTheta1);
temp_f24_2 = (sinTheta1 * -0.0f) + (camera->currentBoomLength * cosTheta1);
theta = (camera->trueRotation.x * TAU) / 360.0f;
sinTheta2 = sin_rad(theta);
cosTheta2 = cos_rad(theta);
camera->lookAt_eye.x = camera->lookAt_obj.x + ((cosTheta2 * 0.0f) - (temp_f24_2 * sinTheta2));
camera->lookAt_eye.y = camera->lookAt_obj.y + temp_f30;
camera->lookAt_eye.z = camera->lookAt_obj.z + ((sinTheta2 * 0.0f) + (temp_f24_2 * cosTheta2));
}
camera->currentYaw = atan2(camera->lookAt_eye.x, camera->lookAt_eye.z, camera->lookAt_obj.x, camera->lookAt_obj.z);
lookXDelta = camera->lookAt_obj.x - camera->lookAt_eye.x;
lookYDelta = camera->lookAt_obj.y - camera->lookAt_eye.y;
lookZDelta = camera->lookAt_obj.z - camera->lookAt_eye.z;
camera->currentBlendedYawNegated = -atan2(0.0f, 0.0f, lookXDelta, lookZDelta);
camera->currentPitch = atan2(0.0f, 0.0f, lookYDelta, -sqrtf(SQ(lookXDelta) + SQ(lookZDelta)));
}
#else
INCLUDE_ASM(void, "B0E0", update_camera_mode_unused, Camera* camera);
#endif
void update_camera_mode_5(Camera* camera) {
PlayerStatus* playerStatus = &gPlayerStatus;
f32 lookXDelta, lookYDelta, lookZDelta;
camera->currentBoomYaw = 18.0f;
camera->currentBoomLength = 690.0f;
camera->currentYOffset = 47.0f;
if (camera->unk_06 != 0) {
camera->unk_550 = 0.0f;
camera->unk_70 = 0.0f;
camera->trueRotation.x = 0.0f;
camera->unk_06 = 0;
camera->unk_554 = 0;
camera->lookAt_obj.x = camera->targetPos.x;
camera->lookAt_obj.y = camera->targetPos.y + camera->currentYOffset;
camera->lookAt_obj.z = camera->targetPos.z;
func_80030210(camera, 0.0f, 0.0f, 0);
} else {
f32 temp_f22 = (playerStatus->currentSpeed * 1.5f) + 1.0f;
f32 temp_f20 = (playerStatus->currentSpeed * 0.05f) + 0.05f;
camera->unk_54 = camera->targetPos.x + camera->unk_550;
camera->unk_58 = camera->targetPos.y + camera->currentYOffset;
camera->unk_5C = camera->targetPos.z;
func_8003034C(camera);
if (!(camera->moveFlags & 1)) {
func_80030210(camera, temp_f20, temp_f22, 0);
} else {
lookXDelta = temp_f22; // needed to match
func_80030210(camera, temp_f20, lookXDelta, 1);
}
}
camera->currentYaw = atan2(camera->lookAt_eye.x, camera->lookAt_eye.z, camera->lookAt_obj.x, camera->lookAt_obj.z);
lookXDelta = camera->lookAt_obj.x - camera->lookAt_eye.x;
lookYDelta = camera->lookAt_obj.y - camera->lookAt_eye.y;
lookZDelta = camera->lookAt_obj.z - camera->lookAt_eye.z;
camera->currentBlendedYawNegated = -atan2(0.0f, 0.0f, lookXDelta, lookZDelta);
camera->currentPitch = atan2(0.0f, 0.0f, lookYDelta, -sqrtf(SQ(lookXDelta) + SQ(lookZDelta)));
}
void func_80030210(Camera* camera, f32 arg1, f32 arg2, s32 arg3) {
f32 xDelta = (camera->unk_54 - camera->lookAt_obj.x) * arg1;
f32 theta;
f32 cosTheta;
f32 sinTheta;
if (xDelta < -arg2) {
xDelta = -arg2;
}
if (xDelta > arg2) {
xDelta = arg2;
}
camera->lookAt_obj.x = camera->lookAt_eye.x = camera->lookAt_obj.x + xDelta;
theta = (camera->currentBoomYaw * TAU) / 360.0f;
cosTheta = cos_rad(theta);
camera->lookAt_obj.z += (camera->unk_5C - camera->lookAt_obj.z) * arg1;
camera->lookAt_eye.z = camera->lookAt_obj.z + (camera->currentBoomLength * cosTheta);
if (arg3 << 16 == 0) {
sinTheta = sin_rad(theta);
camera->lookAt_obj.y += (camera->unk_58 - camera->lookAt_obj.y) * 0.125f;
camera->lookAt_eye.y = camera->lookAt_obj.y + (camera->currentBoomLength * sinTheta);
}
}
void func_8003034C(Camera* camera) {
PlayerStatus* playerStatus = &gPlayerStatus;
if (fabsf(get_clamped_angle_diff(playerStatus->currentYaw, 90.0f)) < 45.0f) {
if (camera->unk_556 == 0) {
if (camera->unk_554 <= 0) {
camera->unk_550 = 35.0f;
} else {
camera->unk_554--;
}
} else {
camera->unk_554 = 15;
camera->unk_556 = 0;
}
} else if (fabsf(get_clamped_angle_diff(playerStatus->currentYaw, 270.0f)) < 45.0f) {
if (camera->unk_556 == 1) {
if (camera->unk_554 <= 0) {
camera->unk_550 = -35.0f;
} else {
camera->unk_554--;
}
} else {
camera->unk_554 = 15;
camera->unk_556 = 1;
}
}
}
void func_80030450(void) {
}
INCLUDE_ASM(s32, "B0E0", test_ray_zone_aabb);
s32 test_ray_zone_aabb(f32 x, f32 y, f32 z) {
f32 hitX, hitY, hitZ;
f32 hitDepth = 32767.0f;
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);
if (zoneID < 0) {
return 0;
}
return D_800D91D4[zoneID].unk_10;
}
INCLUDE_ASM(s32, "B0E0", update_camera_from_controller);

View File

@ -37,7 +37,7 @@ void update_camera_mode_6(Camera* camera) {
if (camera->unk_1C == 0) {
temp_lo = 10000 / camera->unk_20;
camera->trueRotation[0] = camera->unk_24;
camera->trueRotation.x = camera->unk_24;
camera->lookAt_obj.x = camera->unk_54 + camera->targetPos.x;
camera->currentBoomYaw = camera->unk_22;
camera->currentBoomLength = camera->unk_1E;
@ -55,7 +55,7 @@ void update_camera_mode_6(Camera* camera) {
temp_f30 = (cosBoom * 0.0f) + (camera->currentBoomLength * sinBoom);
temp_f24_2 = (sinBoom * -0.0f) + (camera->currentBoomLength * cosBoom);
rotation = (camera->trueRotation[0] * TAU) / 360.0f;
rotation = (camera->trueRotation.x * TAU) / 360.0f;
sinRotation = sin_rad(rotation);
cosRotation = cos_rad(rotation);

View File

@ -175,8 +175,6 @@ ApiStatus func_80238E74_6F1F54(ScriptInstance* script, s32 isInitialCall) {
script->varTable[0] = TRUE;
}
break;
default:
break;
}
return ApiStatus_DONE2;

View File

@ -182,7 +182,7 @@ void set_hud_element_alpha(s32 iconIndex, s32 opacity) {
}
}
void set_hud_element_tint(s32 iconIndex, s8 tint1, s8 tint2, s8 tint3) {
void set_hud_element_tint(s32 iconIndex, s32 tint1, s32 tint2, s32 tint3) {
HudElement* hudElement = gHudElementList[iconIndex & ~0x800];
hudElement->tint[0] = tint1;

481
src/effects.c Normal file
View File

@ -0,0 +1,481 @@
#include "common.h"
#include "ld_addrs.h"
typedef s32 TlbEntry[0x1000 / 4];
typedef TlbEntry TlbMappablePage[15];
extern TlbMappablePage D_80197000;
extern EffectTableEntry gEffectTable[135];
#define EFFECT_LOADED 1
extern void* D_80059C80;
extern EffectGraphics gEffectGraphicsData[15];
extern EffectInstance* gEffectInstances[96];
extern s32 D_801A6000;
EffectTableEntry gEffectTable[] = {
{ 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, // 0
{ 0xE0002000, 0x003278F0, 0x00328110, 0xE0002000, 0x00326410, 0x003278F0 }, // 1
{ 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, // 2
{ 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, // 3
{ 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, // 4
{ 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, // 5
{ 0xE000C160, 0x00328110, 0x00328EA0, 0xE000C000, 0x00328EA0, 0x0032C110 }, // 6
{ 0xE000E000, 0x0032C110, 0x0032C7A0, 0xE000E000, 0x00328EA0, 0x0032C110 }, // 7
{ 0xE00101E8, 0x0032C7A0, 0x0032CEC0, 0xE0010000, 0x0032CEC0, 0x0032DD10 }, // 8
{ 0xE0012204, 0x0032DD10, 0x0032E490, 0xE0012000, 0x0032CEC0, 0x0032DD10 }, // 9
{ 0xE0014000, 0x0032E490, 0x0032EC50, 0xE0014000, 0x0032EC50, 0x0032EE30 }, // 10
{ 0xE0016000, 0x0032EE30, 0x0032F580, 0xE0016000, 0x0032EC50, 0x0032EE30 }, // 11
{ 0xE0018078, 0x0032F580, 0x0032FB50, 0xE0018000, 0x0032FB50, 0x0032FE30 }, // 12
{ 0xE001A000, 0x0032FE30, 0x00330460, 0xE001A000, 0x00330460, 0x00330910 }, // 13
{ 0xE001C000, 0x00330910, 0x00330F00, 0xE001C000, 0x00330F00, 0x00331940 }, // 14
{ 0xE001E000, 0x00331940, 0x003326A0, 0xE001E000, 0x003326A0, 0x00333EC0 }, // 15
{ 0xE00202CC, 0x00333EC0, 0x00334C70, 0xE0020000, 0x00334C70, 0x00337240 }, // 16
{ 0xE0022000, 0x00337240, 0x00337FC0, 0xE0022000, 0x00337FC0, 0x00339250 }, // 17
{ 0xE0024000, 0x00339250, 0x00339F60, 0xE0024000, 0x00339F60, 0x0033B180 }, // 18
{ 0xE0026000, 0x0033B180, 0x0033BBD0, 0xE0026000, 0x0033BBD0, 0x0033CDF0 }, // 19
{ 0xE0028000, 0x0033CDF0, 0x0033D610, 0xE0028000, 0x0033D610, 0x0033E8C0 }, // 20
{ 0xE002A000, 0x0033E8C0, 0x0033F000, 0xE002A000, 0x0033F000, 0x0033FE80 }, // 21
{ 0xE002C000, 0x0033FE80, 0x00340880, 0xE002C000, 0x00340880, 0x003419E0 }, // 22
{ 0xE002E000, 0x003419E0, 0x00342140, 0xE002E000, 0x00328EA0, 0x0032C110 }, // 23
{ 0xE0030000, 0x00342140, 0x00343040, 0xE0030000, 0x00343040, 0x00343680 }, // 24
{ 0xE0032000, 0x00343680, 0x00343F70, 0xE0032000, 0x00343F70, 0x00344A10 }, // 25
{ 0xE0034000, 0x00344A10, 0x003451E0, 0xE0034000, 0x003451E0, 0x003454E0 }, // 26
{ 0xE0036000, 0x003454E0, 0x00345B40, 0xE0036000, 0x00345B40, 0x0034DD20 }, // 27
{ 0xE0038000, 0x0034DD20, 0x0034E770, 0xE0038000, 0x0034E770, 0x0034EC80 }, // 28
{ 0xE003A000, 0x0034EC80, 0x0034F4C0, 0xE003A000, 0x00328EA0, 0x0032C110 }, // 29
{ 0xE003C000, 0x0034F4C0, 0x00350220, 0xE003C000, 0x00350220, 0x00352440 }, // 30
{ 0xE003E000, 0x00352440, 0x00352CE0, 0xE003E000, 0x00352CE0, 0x00353300 }, // 31
{ 0xE0040000, 0x00353300, 0x00353BB0, 0xE0040000, 0x00353BB0, 0x003547A0 }, // 32
{ 0xE0042000, 0x003547A0, 0x00354F60, 0xE0042000, 0x00343040, 0x00343680 }, // 33
{ 0xE0044000, 0x00354F60, 0x00355EE0, 0xE0044000, 0x00337FC0, 0x00339250 }, // 34
{ 0xE0046000, 0x00355EE0, 0x00356530, 0xE0046000, 0x00356530, 0x00356980 }, // 35
{ 0xE0048000, 0x00356980, 0x003573A0, 0xE0048000, 0x003573A0, 0x003584C0 }, // 36
{ 0xE004A000, 0x003584C0, 0x003593B0, 0xE004A000, 0x003593B0, 0x00359F20 }, // 37
{ 0xE004C000, 0x00359F20, 0x0035A5E0, 0xE004C000, 0x0035A5E0, 0x0035B9D0 }, // 38
{ 0xE004E000, 0x0035B9D0, 0x0035BFD0, 0xE004E000, 0x00328EA0, 0x0032C110 }, // 39
{ 0xE0050000, 0x0035BFD0, 0x0035C550, 0xE0050000, 0x0035C550, 0x0035CA80 }, // 40
{ 0xE0052000, 0x0035CA80, 0x0035D510, 0xE0052000, 0x0035D510, 0x0035DA00 }, // 41
{ 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, // 42
{ 0xE0056000, 0x0035DA00, 0x0035E920, 0xE0056000, 0x0033D610, 0x0033E8C0 }, // 43
{ 0xE0058000, 0x0035E920, 0x0035F0E0, 0xE0058000, 0x0035F0E0, 0x003602C0 }, // 44
{ 0xE005A000, 0x003602C0, 0x00360A30, 0xE005A000, 0x00360A30, 0x00360F40 }, // 45
{ 0xE005C000, 0x00360F40, 0x00361670, 0xE005C000, 0x00361670, 0x003625C0 }, // 46
{ 0xE005E000, 0x003625C0, 0x00362C50, 0xE005E000, 0x00362C50, 0x00363160 }, // 47
{ 0xE0060000, 0x00363160, 0x003638C0, 0xE0060000, 0x003638C0, 0x00364300 }, // 48
{ 0xE0062000, 0x00364300, 0x00364C00, 0xE0062000, 0x00364C00, 0x00364F10 }, // 49
{ 0xE0064000, 0x00364F10, 0x003659B0, 0xE0064000, 0x003659B0, 0x00366030 }, // 50
{ 0xE0066000, 0x00366030, 0x00366D60, 0xE0066000, 0x00366D60, 0x0036A8D0 }, // 51
{ 0xE0068000, 0x0036A8D0, 0x0036AEE0, 0xE0068000, 0x0036AEE0, 0x0036D020 }, // 52
{ 0xE006A1E8, 0x0036D020, 0x0036DF90, 0xE006A000, 0x0036DF90, 0x0036E1D0 }, // 53
{ 0xE006C000, 0x0036E1D0, 0x0036ED60, 0xE006C000, 0x0036ED60, 0x00372790 }, // 54
{ 0xE006E000, 0x00372790, 0x003733E0, 0xE006E000, 0x003733E0, 0x003740B0 }, // 55
{ 0xE0070000, 0x003740B0, 0x00374E50, 0xE0070000, 0x00337FC0, 0x00339250 }, // 56
{ 0xE0072000, 0x00374E50, 0x00375510, 0xE0072000, 0x00375510, 0x00376460 }, // 57
{ 0xE0074000, 0x00376460, 0x00377070, 0xE0074000, 0x00337FC0, 0x00339250 }, // 58
{ 0xE0076000, 0x00377070, 0x00377F80, 0xE0076000, 0x00377F80, 0x0037A3F0 }, // 59
{ 0xE0078000, 0x0037A3F0, 0x0037ADD0, 0xE0078000, 0x0037ADD0, 0x0037C540 }, // 60
{ 0xE007A000, 0x0037C540, 0x0037D180, 0xE007A000, 0x0037D180, 0x0037D490 }, // 61
{ 0xE007C000, 0x0037D490, 0x0037D9D0, 0xE007C000, 0x0037D9D0, 0x0037F720 }, // 62
{ 0xE007E000, 0x0037F720, 0x003803A0, 0xE007E000, 0x003803A0, 0x003812C0 }, // 63
{ 0xE0080000, 0x003812C0, 0x00381E00, 0xE0080000, 0x00381E00, 0x00385640 }, // 64
{ 0xE0082000, 0x00385640, 0x003863B0, 0xE0082000, 0x003863B0, 0x003889D0 }, // 65
{ 0xE0084084, 0x003889D0, 0x00389850, 0xE0084000, 0x0037D9D0, 0x0037F720 }, // 66
{ 0xE0086000, 0x00389850, 0x0038A350, 0xE0086000, 0x0038A350, 0x0038ADF0 }, // 67
{ 0xE008817C, 0x0038ADF0, 0x0038BBA0, 0xE0088000, 0x0038BBA0, 0x0038C5F0 }, // 68
{ 0xE008A188, 0x0038C5F0, 0x0038D070, 0xE008A000, 0x0038D070, 0x0038DE00 }, // 69
{ 0xE008C000, 0x0038DE00, 0x0038E990, 0xE008C000, 0x0038E990, 0x0038EE60 }, // 70
{ 0xE008E000, 0x0038EE60, 0x0038F710, 0xE008E000, 0x0038F710, 0x0038F900 }, // 71
{ 0xE0090000, 0x0038F900, 0x003903D0, 0xE0090000, 0x003903D0, 0x00391D30 }, // 72
{ 0xE0092000, 0x00391D30, 0x00392440, 0xE0092000, 0x00392440, 0x003928D0 }, // 73
{ 0xE0094000, 0x003928D0, 0x003930A0, 0xE0094000, 0x003930A0, 0x00394280 }, // 74
{ 0xE0096000, 0x00394280, 0x00394670, 0xE0096000, 0x00394670, 0x00395BB0 }, // 75
{ 0xE0098000, 0x00395BB0, 0x003960F0, 0xE0098000, 0x003960F0, 0x003965B0 }, // 76
{ 0xE009A000, 0x003965B0, 0x00397040, 0xE009A000, 0x00397040, 0x003981F0 }, // 77
{ 0xE009C000, 0x003981F0, 0x00398BC0, 0xE009C000, 0x00398BC0, 0x0039FF20 }, // 78
{ 0xE009E000, 0x0039FF20, 0x003A0D60, 0xE009E000, 0x003A0D60, 0x003A2290 }, // 79
{ 0xE00A0000, 0x003A2290, 0x003A2440, 0xE00A0000, 0x003A2440, 0x003A2990 }, // 80
{ 0xE00A2000, 0x003A2990, 0x003A33D0, 0xE00A2000, 0x003A33D0, 0x003A37E0 }, // 81
{ 0xE00A4000, 0x003A37E0, 0x003A4320, 0xE00A4000, 0x003A4320, 0x003A5550 }, // 82
{ 0xE00A6000, 0x003A5550, 0x003A5BE0, 0xE00A6000, 0x003A5BE0, 0x003A70F0 }, // 83
{ 0xE00A8000, 0x003A70F0, 0x003A77A0, 0xE00A8000, 0x003A77A0, 0x003AA920 }, // 84
{ 0xE00AA000, 0x003AA920, 0x003AB030, 0xE00AA000, 0x003AB030, 0x003AEE20 }, // 85
{ 0xE00AC000, 0x003AEE20, 0x003AF700, 0xE00AC000, 0x003AF700, 0x003B2350 }, // 86
{ 0xE00AE000, 0x003B2350, 0x003B2D90, 0xE00AE000, 0x003B2D90, 0x003B3EB0 }, // 87
{ 0xE00B0000, 0x003B3EB0, 0x003B46A0, 0xE00B0000, 0x003B46A0, 0x003B4790 }, // 88
{ 0xE00B2000, 0x003B4790, 0x003B5340, 0xE00B2000, 0x003B5340, 0x003B5CF0 }, // 89
{ 0xE00B4000, 0x003B5CF0, 0x003B6BF0, 0xE00B4000, 0x003B6BF0, 0x003B7160 }, // 90
{ 0xE00B6000, 0x003B7160, 0x003B78D0, 0xE00B6000, 0x003B78D0, 0x003B7B80 }, // 91
{ 0xE00B8000, 0x003B7B80, 0x003B8860, 0xE00B8000, 0x003B8860, 0x003B8BD0 }, // 92
{ 0xE00BA000, 0x003B8BD0, 0x003B9A70, 0xE00BA000, 0x003B9A70, 0x003BA030 }, // 93
{ 0xE00BC000, 0x003BA030, 0x003BAEA0, 0xE00BC000, 0x003BAEA0, 0x003BBF60 }, // 94
{ 0xE00BE000, 0x003BBF60, 0x003BCA90, 0xE00BE000, 0x003BCA90, 0x003BCD60 }, // 95
{ 0xE00C0000, 0x003BCD60, 0x003BD9A0, 0xE00C0000, 0x003BD9A0, 0x003C11D0 }, // 96
{ 0xE00C2000, 0x003C11D0, 0x003C1BA0, 0xE00C2000, 0x003C1BA0, 0x003CADF0 }, // 97
{ 0xE00C4000, 0x003CADF0, 0x003CB890, 0xE00C4000, 0x003CB890, 0x003CC9E0 }, // 98
{ 0xE00C6000, 0x003CC9E0, 0x003CD6E0, 0xE00C6000, 0x003CD6E0, 0x003CF3A0 }, // 99
{ 0xE00C8000, 0x003CF3A0, 0x003CFAF0, 0xE00C8000, 0x003CFAF0, 0x003D0500 }, // 100
{ 0xE00CA000, 0x003D0500, 0x003D11E0, 0xE00CA000, 0x003D11E0, 0x003D1690 }, // 101
{ 0xE00CC000, 0x003D1690, 0x003D2580, 0xE00CC000, 0x003D2580, 0x003D2AC0 }, // 102
{ 0xE00CE000, 0x003D2AC0, 0x003D3930, 0xE00CE000, 0x003D3930, 0x003D3E20 }, // 103
{ 0xE00D0000, 0x003D3E20, 0x003D4970, 0xE00D0000, 0x003593B0, 0x00359F20 }, // 104
{ 0xE00D2000, 0x003D4970, 0x003D4E90, 0xE00D2000, 0x003D4E90, 0x003D5020 }, // 105
{ 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, // 106
{ 0xE00D6000, 0x003D5020, 0x003D5F30, 0xE00D6000, 0x003D5F30, 0x003D67C0 }, // 107
{ 0xE00D8000, 0x003D67C0, 0x003D7040, 0xE00D8000, 0x003D7040, 0x003D7240 }, // 108
{ 0xE00DA000, 0x003D7240, 0x003D7770, 0xE00DA000, 0x003D7770, 0x003D7A70 }, // 109
{ 0xE00DC000, 0x003D7A70, 0x003D80C0, 0xE00DC000, 0x003D80C0, 0x003D8720 }, // 110
{ 0xE00DE000, 0x003D8720, 0x003D9100, 0xE00DE000, 0x003D9100, 0x003DB460 }, // 111
{ 0xE00E0000, 0x003DB460, 0x003DBF40, 0xE00E0000, 0x003DBF40, 0x003DC310 }, // 112
{ 0xE00E2000, 0x003DC310, 0x003DCD50, 0xE00E2000, 0x003DCD50, 0x003DE000 }, // 113
{ 0xE00E4000, 0x003DE000, 0x003DEE60, 0xE00E4000, 0x003DEE60, 0x003E0930 }, // 114
{ 0xE00E6000, 0x003E0930, 0x003E12D0, 0xE00E6000, 0x003E12D0, 0x003E1690 }, // 115
{ 0xE00E8000, 0x003E1690, 0x003E1CD0, 0xE00E8000, 0x003E1CD0, 0x003E1EE0 }, // 116
{ 0xE00EA000, 0x003E1EE0, 0x003E2960, 0xE00EA000, 0x003E2960, 0x003E43A0 }, // 117
{ 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, // 118
{ 0xE010A000, 0x003E43A0, 0x003E5350, 0xE010A000, 0x003E5350, 0x003E54C0 }, // 119
{ 0xE010C000, 0x003E54C0, 0x003E5F30, 0xE010C000, 0x003E5F30, 0x003EB4E0 }, // 120
{ 0xE010E32C, 0x003EB4E0, 0x003EBE60, 0xE010E000, 0x003EBE60, 0x003F83F0 }, // 121
{ 0xE0110000, 0x003F83F0, 0x003F8CC0, 0xE0110000, 0x003F8CC0, 0x003F9E50 }, // 122
{ 0xE0112000, 0x003F9E50, 0x003FA4B0, 0xE0112000, 0x003FA4B0, 0x003FEAE0 }, // 123
{ 0xE0114000, 0x003FEAE0, 0x003FF250, 0xE0114000, 0x003FF250, 0x00402640 }, // 124
{ 0xE0116000, 0x00402640, 0x00403400, 0xE0116000, 0x003FA4B0, 0x003FEAE0 }, // 125
{ 0xE0118000, 0x00403400, 0x00403BF0, 0xE0118000, 0x00403BF0, 0x00404220 }, // 126
{ 0xE011A000, 0x00404220, 0x00404F40, 0xE011A000, 0x00404F40, 0x00406B40 }, // 127
{ 0xE011C000, 0x00406B40, 0x00407080, 0xE011C000, 0x00407080, 0x00409990 }, // 128
{ 0xE011E000, 0x00409990, 0x0040A1C0, 0xE011E000, 0x0040A1C0, 0x0040B3F0 }, // 129
{ 0xE0120000, 0x0040B3F0, 0x0040BBA0, 0xE0120000, 0x0040BBA0, 0x0040C5A0 }, // 130
{ 0xE0122000, 0x0040C5A0, 0x0040D290, 0xE0122000, 0x0040D290, 0x00412730 }, // 131
{ 0xE0124000, 0x00412730, 0x00413360, 0xE0124000, 0x00337FC0, 0x00339250 }, // 132
{ 0xE0126000, 0x00413360, 0x00413FA0, 0xE0126000, 0x00413FA0, 0x00414BA0 }, // 133
{ 0xE0128000, 0x00414BA0, 0x00415060, 0xE0128000, 0x00415060, 0x00415D90 }, // 134
};
s32 D_8007FEB8[] = {
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004,
0x0000000D, 0x0000003C, 0x00000000, 0x00000200, 0x00000000, 0x00000000,
0x00000003, 0x00000000,
};
/// Used for unbound function points in effect structs.
void stub_effect_delegate(EffectInstance* effectInst) {
}
void set_effect_pos_offset(EffectGraphics* effect, f32 x, f32 y, f32 z) {
EffectInstanceData* instanceData = effect->freeDelay;
instanceData->pos.x = x;
instanceData->pos.y = y;
instanceData->pos.z = z;
}
void clear_effect_data(void) {
s32 i;
for (i = 0; i < ARRAY_COUNT(gEffectGraphicsData); i++) {
gEffectGraphicsData[i].flags = 0;
}
for (i = 0; i < ARRAY_COUNT(gEffectInstances); i++) {
gEffectInstances[i] = 0;
}
osUnmapTLBAll();
osMapTLB(0x10, NULL, _325AD0_VRAM, (s32)&D_801A6000 & 0xFFFFFF, -1, -1);
dma_copy(_325AD0_ROM_START, _325AD0_ROM_END, _325AD0_VRAM);
}
void func_80059D48(void) {
}
// The third loop is doing some negative reference bs
#ifdef NON_MATCHING
void update_effects(void) {
EffectGraphics* effectGraphics;
s32 i;
if (!(gOverrideFlags & 0xC00)) {
for (i = 0; i < ARRAY_COUNT(gEffectGraphicsData); i++) {
effectGraphics = &gEffectGraphicsData[i];
if (effectGraphics->flags & FX_GRAPHICS_ENABLED) {
if (!(effectGraphics->flags & FX_GRAPHICS_2)) {
effectGraphics->flags |= FX_GRAPHICS_2;
effectGraphics->freeDelay = 3;
}
}
}
for (i = 0; i < ARRAY_COUNT(gEffectInstances); i++) {
EffectInstance* effectInstance = gEffectInstances[i];
if (effectInstance != NULL && (effectInstance->flags & 1)) {
effectInstance->effect->flags &= ~0x2;
if (gGameStatusPtr->isBattle) {
if (effectInstance->flags & 4) {
effectInstance->effect->update(effectInstance);
effectInstance->flags |= 8;
}
} else {
if (!(effectInstance->flags & 4)) {
effectInstance->effect->update(effectInstance);
effectInstance->flags |= 8;
}
}
}
}
for (i = 0; i < ARRAY_COUNT(gEffectGraphicsData); i++) {
effectGraphics = &gEffectGraphicsData[i];
if (effectGraphics->flags & FX_GRAPHICS_ENABLED) {
if (effectGraphics->flags & FX_GRAPHICS_2) {
if (effectGraphics->freeDelay != 0) {
effectGraphics->freeDelay--;
} else {
if (effectGraphics->data[0] != NULL) {
general_heap_free(effectGraphics->data);
effectGraphics->data[0] = NULL;
}
effectGraphics->flags = FX_GRAPHICS_DISABLED;
osUnmapTLB(i);
}
}
}
}
}
}
#else
INCLUDE_ASM(s32, "341d0", update_effects);
#endif
s32 render_effects_world(void) {
s32 i;
for (i = 0; i < ARRAY_COUNT(gEffectInstances); i++) {
if (gEffectInstances[i] != NULL && gEffectInstances[i]->flags & 1 && gEffectInstances[i]->flags & 8) {
if (gGameStatusPtr->isBattle) {
if (gEffectInstances[i]->flags & 4) {
gEffectInstances[i]->effect->renderWorld(gEffectInstances[i]);
}
} else {
if (!(gEffectInstances[i]->flags & 4)) {
gEffectInstances[i]->effect->renderWorld(gEffectInstances[i]);
}
}
}
}
}
void render_effects_UI(void) {
s32 cond = TRUE;
s32 i;
for (i = 0; i < ARRAY_COUNT(gEffectInstances); i++) {
EffectInstance* effectInstance = gEffectInstances[i];
if (effectInstance != NULL) {
if (effectInstance->flags & 1) {
if (effectInstance->flags & 8) {
void (*renderUI)(EffectInstance* effectInst);
if (gGameStatusPtr->isBattle && !(effectInstance->flags & 4)) {
continue;
}
if (!gGameStatusPtr->isBattle && effectInstance->flags & 4) {
continue;
}
renderUI = effectInstance->effect->renderUI;
if (renderUI != stub_effect_delegate) {
if (cond) {
Camera* camera = &gCameras[gCurrentCameraID];
gDPPipeSync(gMasterGfxPos++);
gSPViewport(gMasterGfxPos++, &camera->viewport);
gSPClearGeometryMode(gMasterGfxPos++, G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG |
G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD |
G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA);
gSPSetGeometryMode(gMasterGfxPos++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
gDPSetScissor(gMasterGfxPos++, G_SC_NON_INTERLACE,
camera->viewportStartX,
camera->viewportStartY,
camera->viewportStartX + camera->viewportW,
camera->viewportStartY + camera->viewportH);
gSPClipRatio(gMasterGfxPos++, FRUSTRATIO_2);
cond = FALSE;
if (!(camera->flags & 0x10)) {
gSPPerspNormalize(gMasterGfxPos++, camera->perspNorm);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->camPerspMatrix[gCurrentCameraID],
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
}
}
renderUI(effectInstance);
}
}
}
}
}
}
EffectInstance* func_8005A2BC(EffectBlueprint* effectBp) {
EffectInstance* newEffectInst;
EffectGraphics* curEffect;
s32 i;
// Search for an unused instance
for (i = 0; i < ARRAY_COUNT(gEffectInstances); i++) {
if (gEffectInstances[i] == NULL) {
break;
}
}
ASSERT(i < ARRAY_COUNT(gEffectInstances));
// Allocate space for the new instance
gEffectInstances[i] = newEffectInst = general_heap_malloc(sizeof(EffectInstance));
ASSERT(newEffectInst != NULL);
curEffect = &gEffectGraphicsData[0];
newEffectInst->effectIndex = effectBp->effectIndex;
newEffectInst->flags = 1;
// Look for a loaded effect of the proper index
for (i = 0; i < ARRAY_COUNT(gEffectGraphicsData); i++) {
if ((curEffect->flags & EFFECT_LOADED) && (curEffect->effectIndex == effectBp->effectIndex)) {
break;
}
curEffect++;
}
ASSERT(i < ARRAY_COUNT(gEffectGraphicsData));
// If this is the first new instance of the effect, initialize the function pointers
if (curEffect->instanceCounter == 0) {
curEffect->update = effectBp->update;
if (curEffect->update == NULL) {
curEffect->renderWorld = stub_effect_delegate;
}
curEffect->renderWorld = effectBp->renderWorld;
if (curEffect->renderUI == NULL) {
curEffect->renderUI = stub_effect_delegate;
}
curEffect->renderUI = effectBp->unk_14;
if (curEffect->renderUI == NULL) {
curEffect->renderUI = stub_effect_delegate;
}
}
curEffect->instanceCounter++;
newEffectInst->effect = curEffect;
if (effectBp->init != NULL) {
effectBp->init(newEffectInst);
}
if (gGameStatusPtr->isBattle) {
newEffectInst->flags |= 4;
}
return newEffectInst;
}
void remove_effect(EffectInstance* effectInstsance) {
s32 i;
for (i = 0; i < ARRAY_COUNT(gEffectInstances); i++) {
if (gEffectInstances[i] == effectInstsance) {
break;
}
}
ASSERT(i < ARRAY_COUNT(gEffectInstances));
if (effectInstsance->data == NULL) {
general_heap_free(effectInstsance);
gEffectInstances[i] = NULL;
} else {
general_heap_free(effectInstsance->data);
general_heap_free(effectInstsance);
gEffectInstances[i] = NULL;
}
}
void remove_all_effects(void) {
s32 i;
for (i = 0; i < ARRAY_COUNT(gEffectInstances); i++) {
EffectInstance* effect = gEffectInstances[i];
if (effect != NULL && effect->flags & 4) {
if (effect->data != NULL) {
general_heap_free(effect->data);
}
general_heap_free(effect);
gEffectInstances[i] = NULL;
}
}
}
s32 load_effect(s32 effectIndex) {
EffectTableEntry* effectEntry = &gEffectTable[effectIndex];
EffectGraphics* curEffect;
TlbMappablePage* tlbMappablePages;
s32 i;
// Look for a loaded effect matching the desired index
for (i = 0, curEffect = &gEffectGraphicsData[0]; i < ARRAY_COUNT(gEffectGraphicsData); i++) {
if ((curEffect->flags & EFFECT_LOADED) && (curEffect->effectIndex == effectIndex)) {
break;
}
curEffect++;
}
// If an effect was found within the table, initialize it and return
if (i < ARRAY_COUNT(gEffectGraphicsData)) {
curEffect->effectIndex = effectIndex;
curEffect->instanceCounter = 0;
curEffect->flags = EFFECT_LOADED;
return 1;
}
// If a loaded effect wasn't found, look for the first empty space
for (i = 0, curEffect = &gEffectGraphicsData[0]; i < ARRAY_COUNT(gEffectGraphicsData); i++) {
if (!(curEffect->flags & EFFECT_LOADED)) {
break;
}
curEffect++;
}
// If no empty space was found, panic
ASSERT(i < ARRAY_COUNT(gEffectGraphicsData));
// Map space for the effect
tlbMappablePages = &D_80197000;
osMapTLB(i, 0, effectEntry->dmaDest, (s32)((*tlbMappablePages)[i]) & 0xFFFFFF, -1, -1);
// Copy the effect into the newly mapped space
dma_copy(effectEntry->dmaStart, effectEntry->dmaEnd, effectEntry->dmaDest);
// If there's extra data the effect normally loads, allocate space and copy into the new space
if (effectEntry->graphicsDmaStart != NULL) {
void* effectDataBuf = general_heap_malloc(effectEntry->graphicsDmaEnd - effectEntry->graphicsDmaStart);
curEffect->data = effectDataBuf;
ASSERT(effectDataBuf != NULL);
dma_copy(effectEntry->graphicsDmaStart, effectEntry->graphicsDmaEnd, curEffect->data);
}
// Initialize the newly loaded effect data
curEffect->effectIndex = effectIndex;
curEffect->instanceCounter = 0;
curEffect->flags = EFFECT_LOADED;
return 1;
}

View File

@ -263,8 +263,6 @@ s32 entity_block_handle_collision(Entity* entity) {
}
switch (get_entity_type(entity->listIndex)) {
default:
break;
case 0x15:
case 0x18:
if (bVar2) {

View File

@ -680,8 +680,6 @@ ApiStatus func_802D2520(ScriptInstance* script, s32 isInitialCall) {
get_variable(script, *args++);
func_802DDFF8(a0, 13, a2, a3, 0, 0, 0);
break;
default:
break;
}
D_802DB5B0 = 0;

View File

@ -74,13 +74,13 @@ StateFunc gameModeMap[] = {
};
// BSS
extern s16 D_800A08F0;
extern s16 gameMode;
void set_game_mode(s16 idx) {
D_800A08F0 = idx;
set_game_mode_slot(0, gameModeMap[idx]);
void set_game_mode(s16 mode) {
gameMode = mode;
set_game_mode_slot(0, gameModeMap[mode]);
}
s16 get_game_mode(void) {
return D_800A08F0;
return gameMode;
}

View File

@ -1274,8 +1274,6 @@ void func_8003D3BC(Npc* npc) {
npc->renderMode = 22;
func_802DE894(npc->spriteInstanceID, 15, temp_s0, temp_s5, 0, temp_s5, temp_s3);
break;
default:
break;
}
}
#else

View File

@ -5,8 +5,6 @@ void nuScEventHandler(void);
void nuScExecuteAudio(void);
void nuScExecuteGraphics(void);
extern u8 D_8009A5B0;
extern u64 nuScStack[NU_SC_STACK_SIZE / sizeof(u64)];
extern u64 nuScAudioStack[NU_SC_STACK_SIZE / sizeof(u64)];
extern u64 nuScGraphicsStack[NU_SC_STACK_SIZE / sizeof(u64)];
@ -28,7 +26,7 @@ void nuScCreateScheduler(u8 videoMode, u8 numFields) {
nusched.frameRate = 60;
}
D_8009A5B0 = 0;
nuScPreNMIFlag = NU_SC_PRENMI_YET;
osCreateMesgQueue(&nusched.retraceMQ, nusched.retraceMsgBuf, NU_SC_MAX_MESGS);
osCreateMesgQueue(&nusched.rspMQ, nusched.rspMsgBuf, NU_SC_MAX_MESGS);
@ -74,7 +72,7 @@ void nuScAddClient(NUScClient* c, OSMesgQueue* mq, NUScMsg msgType) {
nusched.clientList = c;
if ((msgType & NU_SC_PRENMI_MSG) && D_8009A5B0) {
if ((msgType & NU_SC_PRENMI_MSG) && nuScPreNMIFlag) {
osSendMesg(mq, &nusched.prenmiMsg, OS_MESG_NOBLOCK);
}

View File

@ -1,8 +1,12 @@
#include "common.h"
#include "nu/nusys.h"
s32 D_800778A0[] = {
&D_8038F800, &D_803B5000, &D_803DA800, 0x00000000, 0xFFFFFF00, 0xFFFFFF00, 0x00000000, 0x00000000, 0x00000000,
0x00000000,
&D_8038F800, &D_803B5000, &D_803DA800,
};
s32 D_800778AC[] = {
0x00000000, 0xFFFFFF00, 0xFFFFFF00, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
};
Gfx D_800778C8[] = {
@ -134,7 +138,84 @@ void state_init_end_battle(void) {
D_800A0900 = 5;
}
INCLUDE_ASM(void, "state_battle", state_step_end_battle, void);
void state_step_end_battle(void) {
PlayerStatus* playerStatus = &gPlayerStatus;
PlayerData* playerData = &gPlayerData;
if (D_800A0900 >= 0) {
D_800A0900--;
if (D_800A0900 == 0) {
MapConfig* mapConfig;
Map* map;
D_800A0900 = -1;
nuGfxSetCfb(D_800778A0, 3);
gOverrideFlags &= ~0x8;
nuContRmbForceStopEnd();
sfx_stop_env_sounds();
mapConfig = get_current_map_header();
map = &gAreas[gGameStatusPtr->areaID].maps[gGameStatusPtr->mapID];
btl_restore_world_cameras(gGameStatusPtr);
gGameStatusPtr->isBattle = FALSE;
func_8005AF84();
func_8002ACDC();
sfx_clear_env_sounds(1);
gGameStatusPtr->peachFlags &= ~0x1;
battle_heap_create();
spr_init_sprites(gGameStatusPtr->playerSpriteSet);
init_model_data();
init_sprite_shading_data();
init_entity_models();
reset_animator_list();
init_generic_entity_list();
set_hud_element_nonworld_cache(0, 0);
init_hud_element_list();
init_item_entity_list();
init_script_list();
init_npc_list();
func_80110E58();
init_trigger_list();
if (gGameStatusPtr->demoFlags & 1) {
npc_reload_all();
playerStatus->animFlags = D_800A0904;
set_game_mode(17);
} else {
void* mapShape;
u32 sizeTemp;
partner_init_after_battle(playerData->currentPartner);
load_map_script_lib();
mapShape = load_asset_by_name(&wMapShapeName, &sizeTemp);
decode_yay0(mapShape, &D_80210000);
general_heap_free(mapShape);
initialize_collision();
load_collision();
if (map->dmaStart != NULL) {
dma_copy(map->dmaStart, map->dmaEnd, map->dmaDest);
}
load_map_bg(map->bgName);
if (mapConfig->background != NULL) {
read_background_size(mapConfig->background);
} else {
set_background_size(296, 200, 12, 20);
}
load_model_textures(mapConfig->modelTreeRoot, get_asset_offset(&wMapTexName, &sizeTemp), sizeTemp);
calculate_model_sizes();
npc_reload_all();
playerStatus->animFlags = D_800A0904;
if (D_800A0908 != 0) {
set_time_freeze_mode(D_800A0908);
}
set_game_mode(4);
}
}
}
}
void state_drawUI_end_battle(void) {
}

View File

@ -19,6 +19,8 @@ NUPiOverlaySegment D_8007798C = {
u8 D_800779B0 = 0;
extern s32 D_80200000;
void state_init_language_select(void) {
D_800A0931 = 0;
D_800A0932[0] = 0;
@ -63,7 +65,93 @@ void state_init_file_select(void) {
gOverrideFlags |= 0x10000;
}
INCLUDE_ASM(void, "state_file_select", state_step_language_select, void);
void state_step_language_select(void) {
switch (D_800A0931) {
case 0:
update_player();
update_npcs();
update_encounters();
update_effects();
if (D_800A0932[0] < 255) {
D_800A0932[0] += 20;
if (D_800A0932[0] > 255) {
D_800A0932[0] = 255;
}
set_screen_overlay_params_front(0, D_800A0932[0]);
if (D_800A0932[0] == 255) {
D_800A0931 = 1;
}
} else {
D_800A0931 = 1;
}
break;
case 1:
D_800A0930 = 5;
D_800A0931 = 2;
gOverrideFlags |= 8;
break;
case 2:
D_800A0930--;
if (D_800A0930 == 0) {
nuGfxSetCfb(D_80077980, 2);
if (nuGfxCfb[2] == nuGfxCfb_ptr) {
gOverrideFlags &= ~0x8;
} else {
gOverrideFlags |= 8;
set_windows_visible(3);
D_800A0930 = 1;
D_800A0931 = 3;
}
}
break;
case 3:
if (D_800A0930 >= 0) {
D_800A0930--;
if (D_800A0930 == 0) {
D_800A0930 = -1;
sfx_stop_env_sounds();
func_8003B1A8();
gGameStatusPtr->isBattle = 2;
allocate_hit_tables();
battle_heap_create();
sfx_clear_env_sounds(0);
spr_init_sprites(0);
clear_model_data();
clear_sprite_shading_data();
reset_background_settings();
clear_entity_models();
clear_animator_list();
clear_generic_entity_list();
set_hud_element_nonworld_cache(&D_80200000, 0x20000);
clear_hud_element_cache();
reset_status_menu();
clear_item_entity_data();
clear_script_list();
clear_npcs();
clear_entity_data(0);
clear_trigger_data();
nuPiReadRomOverlay(&D_8007798C);
filemenu_init(1);
gOverrideFlags &= ~0x8;
set_screen_overlay_params_front(255, 255.0f);
}
if (D_800A0930 >= 0) {
break;
}
}
filemenu_update();
D_800A0932[0] -= 20;
if (D_800A0932[0] < 0) {
D_800A0932[0] = 0;
}
set_screen_overlay_params_front(0, D_800A0932[0]);
break;
}
}
void state_step_file_select(void) {
s32 temp = D_800A0931; // needed to match
@ -129,9 +217,201 @@ void state_init_exit_file_select(void) {
gOverrideFlags &= ~0x40;
}
INCLUDE_ASM(void, "state_file_select", state_step_exit_language_select, void);
void state_step_exit_language_select(void) {
switch (D_800A0931) {
case 0:
if (D_800A0932[0] != 0) {
D_800A0932[0] -= 20;
if (D_800A0932[0] < 0) {
D_800A0932[0] = 0;
}
set_screen_overlay_params_front(0, D_800A0932[0]);
if (D_800A0932[0] == 0) {
D_800A0931 = 1;
}
} else {
D_800A0931 = 1;
}
break;
case 1:
if (D_800A0932[0] != 255) {
D_800A0932[0] += 20;
if (D_800A0932[0] > 255) {
D_800A0932[0] = 255;
}
set_screen_overlay_params_front(0U, D_800A0932[0]);
if (D_800A0932[0] == 255) {
D_800A0931 = 2;
}
} else {
D_800A0931 = 2;
}
break;
case 2:
if (D_800A0930 == 3) {
gOverrideFlags |= 8;
}
INCLUDE_ASM(void, "state_file_select", state_step_exit_file_select, void);
if (D_800A0930 >= 0) {
D_800A0930--;
if (D_800A0930 == 0) {
MapConfig* mapConfig;
Map* map;
u32 mapShapeSize;
void* mapShape;
BackgroundHeader* bgHeader;
D_800A0930 = -1;
nuGfxSetCfb(D_80077980, ARRAY_COUNT(D_80077980));
filemenu_cleanup();
gOverrideFlags &= ~0x8;
mapConfig = get_current_map_header();
map = &gAreas[gGameStatusPtr->areaID].maps[gGameStatusPtr->mapID];
gGameStatusPtr->isBattle = FALSE;
func_8005AF84();
func_8002ACDC();
sfx_clear_env_sounds(1);
spr_init_sprites(gGameStatusPtr->playerSpriteSet);
init_model_data();
init_sprite_shading_data();
init_entity_models();
reset_animator_list();
init_generic_entity_list();
set_hud_element_nonworld_cache(0, 0);
init_hud_element_list();
init_item_entity_list();
init_script_list();
init_npc_list();
func_80110E58();
init_trigger_list();
mapShape = load_asset_by_name(&wMapShapeName, &mapShapeSize);
decode_yay0(mapShape, &D_80210000);
general_heap_free(mapShape);
initialize_collision();
load_collision();
if (map->dmaStart != NULL) {
dma_copy(map->dmaStart, map->dmaEnd, map->dmaDest);
}
load_map_bg(map->bgName);
bgHeader = mapConfig->background;
if (bgHeader != NULL) {
read_background_size(bgHeader);
} else {
set_background_size(296, 200, 12, 20);
}
calculate_model_sizes();
npc_reload_all();
func_800E98C4();
set_time_freeze_mode(1);
}
set_windows_visible(0);
D_800A0931 = 3;
update_player();
update_npcs();
update_encounters();
update_effects();
D_800A0932[0] -= 20;
if (D_800A0932[0] < 0) {
D_800A0932[0] = 0;
}
set_screen_overlay_params_front(0, D_800A0932[0]);
}
break;
case 3:
update_player();
update_npcs();
update_encounters();
update_effects();
if (D_800A0932[0] == 0) {
D_800A0931 = 4;
} else {
D_800A0932[0] -= 20;
if (D_800A0932[0] < 0) {
D_800A0932[0] = 0;
}
set_screen_overlay_params_front(0, D_800A0932[0]);
}
break;
case 4:
set_time_freeze_mode(0);
update_player();
update_npcs();
update_encounters();
update_effects();
enable_player_input();
set_game_mode(4);
set_screen_overlay_params_front(255, -1.0f);
break;
}
}
void state_step_exit_file_select(void) {
s32 temp_s0 = func_80244BC4();
s32 flagSum;
s32 i;
switch (D_800A0931) {
case 0:
flagSum = 0;
for (i = 44; i < ARRAY_COUNT(gUIPanels); i++) {
UIPanel* panel = &gUIPanels[i];
if (panel->parent == 44 || panel->parent == -1) {
flagSum += panel->flags & 8;
}
}
if (flagSum == 0) {
D_800A0931 = 1;
}
break;
case 1:
if (temp_s0 == 0 || (update_exit_map_screen_overlay(D_800A0932) << 0x10) != 0) {
D_800A0931 = 2;
}
break;
case 2:
filemenu_cleanup();
set_windows_visible(FALSE);
D_800A0931 = 3;
case 3:
set_time_freeze_mode(0);
if (temp_s0 == 0) {
set_game_mode(2);
gOverrideFlags &= ~0x10000;
} else {
D_800A0930 = 10;
D_800A0931 = 4;
}
break;
case 4:
if (D_800A0930 > 0) {
D_800A0930--;
} else {
set_curtain_scale_goal(2.0f);
D_800A0930 = 10;
D_800A0931 = 5;
}
break;
case 5:
if (D_800A0930 > 0) {
D_800A0930--;
} else {
D_800A0931 = 6;
}
break;
case 6:
set_game_mode(7);
break;
}
}
void state_drawUI_exit_language_select(void) {
}

View File

@ -159,7 +159,7 @@ void state_step_unpause(void) {
func_801497FC(D_800A0924);
bgm_reset_max_volume();
load_map_script_lib();
assetData = load_asset_by_name(&mapShapeName, &assetSize);
assetData = load_asset_by_name(&wMapShapeName, &assetSize);
decode_yay0(assetData, &D_80210000);
general_heap_free(assetData);
initialize_collision();

View File

@ -27,7 +27,7 @@ Gfx D_80077A50[] = {
gsDPSetRenderMode(G_RM_CLD_SURF, G_RM_CLD_SURF2),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsDPSetTextureFilter(G_TF_POINT),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetTexturePersp(G_TP_NONE),
gsDPSetColorDither(G_CD_DISABLE),
gsDPSetAlphaDither(G_AD_DISABLE),

View File

@ -2,9 +2,9 @@
#include "message_ids.h"
ApiStatus N(func_80240000_BFA0A0)(ScriptInstance* script, s32 isInitialCall) {
sprintf(&mapShapeName, "arn_20_shape");
sprintf(&mapHitName, "arn_20_hit");
sprintf(&mapTexName, "arn_tex");
sprintf(&wMapShapeName, "arn_20_shape");
sprintf(&wMapHitName, "arn_20_hit");
sprintf(&wMapTexName, "arn_tex");
return ApiStatus_BLOCK;
}

View File

@ -1055,7 +1055,7 @@ INCLUDE_ASM(ApiStatus, "world/area_dgb/dgb_04/C36530", dgb_04_func_8024259C_C38A
typedef struct {
s32 unk_00;
s32 unk_04;
Effect* unk_08[3];
EffectGraphics* unk_08[3]; // TODO this is wrong
f32 unk_14[3];
f32 unk_20[3];
f32 unk_2C[3];
@ -1187,9 +1187,9 @@ ApiStatus N(func_802429D0_C38F00)(ScriptInstance* script, s32 isInitialCall) {
}
for (i = 0, userDataPtr = scriptPtr; i < 3; i++) {
((EffectInstanceData*)userDataPtr->unk_08[i]->instanceData)->rotation.x = userDataPtr->unk_14[i];
((EffectInstanceData*)userDataPtr->unk_08[i]->instanceData)->rotation.y = userDataPtr->unk_20[i];
((EffectInstanceData*)userDataPtr->unk_08[i]->instanceData)->rotation.z = userDataPtr->unk_2C[i];
((EffectInstanceData*)userDataPtr->unk_08[i]->freeDelay)->rotation.x = userDataPtr->unk_14[i];
((EffectInstanceData*)userDataPtr->unk_08[i]->freeDelay)->rotation.y = userDataPtr->unk_20[i];
((EffectInstanceData*)userDataPtr->unk_08[i]->freeDelay)->rotation.z = userDataPtr->unk_2C[i];
}
return ApiStatus_BLOCK;

View File

@ -60,9 +60,9 @@ static N(temp)* N(D_8024EF90)[4]; // possibly bigger?
static s8 N(pad_D_8024EF94)[0x18];
static s32 N(D_8024EFB8);
static s8 N(pad_D_8024EFBC)[0x4];
static Effect* N(D_8024EFC0);
static Effect* N(D_8024EFC4);
static Effect* N(D_8024EFC8);
static EffectGraphics* N(D_8024EFC0);
static EffectGraphics* N(D_8024EFC4);
static EffectGraphics* N(D_8024EFC8);
static ScriptInstance* N(D_8024EFCC);
static s32 N(D_8024EFD0)[16];
static D_8024F010_Struct N(D_8024F010)[3];
@ -3197,7 +3197,7 @@ ApiStatus N(func_80240A70_969C30)(ScriptInstance* script, s32 isInitialCall) {
N(D_8024EFC8) = playFX_80(0, get_variable(script, SI_ARRAY(1)), get_variable(script, SI_ARRAY(2)),
get_variable(script, SI_ARRAY(3)), 1.0f, 0);
effectPtr = N(D_8024EFC0)->instanceData;
effectPtr = N(D_8024EFC0)->freeDelay; // TODO this is wrong
effectPtr->unk_18 = 0;
effectPtr->unk_20 = 0;
effectPtr->unk_24.s = 0;
@ -3205,7 +3205,7 @@ ApiStatus N(func_80240A70_969C30)(ScriptInstance* script, s32 isInitialCall) {
effectPtr->unk_1C = 0;
}
effectPtr = N(D_8024EFC0)->instanceData;
effectPtr = N(D_8024EFC0)->freeDelay; // TODO this is wrong
effectPtr->unk_20 += 10;
effectPtr->unk_28 += 10;
@ -3228,7 +3228,7 @@ ApiStatus N(func_80240C88_969E48)(ScriptInstance* script, s32 isInitialCall) {
N(D_8024EFC8)->flags |= 0x10;
}
effectPtr = N(D_8024EFC0)->instanceData;
effectPtr = N(D_8024EFC0)->freeDelay;
effectPtr->unk_18 -= 10;
effectPtr->unk_20 -= 10;
effectPtr->unk_24.s -= 10;
@ -3252,7 +3252,7 @@ ApiStatus N(func_80240D3C_969EFC)(ScriptInstance* script, s32 isInitialCall) {
ApiStatus N(func_80240D70_969F30)(ScriptInstance* script, s32 isInitialCall) {
s32 var = get_variable(script, *script->ptrReadPos);
EffectInstanceDataThing* effectPtr = N(D_8024EFC0)->instanceData;
EffectInstanceDataThing* effectPtr = N(D_8024EFC0)->freeDelay;
switch (var) {
case 0:

View File

@ -127,7 +127,7 @@ INCLUDE_ASM(ApiStatus, "world/area_flo/flo_08/CAED40", flo_08_func_802401CC_CAEF
typedef struct {
s32 unk_00;
s32 unk_04;
Effect* unk_08[3];
EffectGraphics* unk_08[3]; // TODO this is wrong
f32 unk_14[3];
f32 unk_20[3];
f32 unk_2C[3];
@ -259,9 +259,9 @@ ApiStatus N(func_80240600_CAF340)(ScriptInstance* script, s32 isInitialCall) {
}
for (i = 0, userDataPtr = scriptPtr; i < 3; i++) {
((EffectInstanceData*)userDataPtr->unk_08[i]->instanceData)->rotation.x = userDataPtr->unk_14[i];
((EffectInstanceData*)userDataPtr->unk_08[i]->instanceData)->rotation.y = userDataPtr->unk_20[i];
((EffectInstanceData*)userDataPtr->unk_08[i]->instanceData)->rotation.z = userDataPtr->unk_2C[i];
((EffectInstanceData*)userDataPtr->unk_08[i]->freeDelay)->rotation.x = userDataPtr->unk_14[i]; // TODO this is wrong
((EffectInstanceData*)userDataPtr->unk_08[i]->freeDelay)->rotation.y = userDataPtr->unk_20[i]; // TODO this is wrong
((EffectInstanceData*)userDataPtr->unk_08[i]->freeDelay)->rotation.z = userDataPtr->unk_2C[i]; // TODO this is wrong
}
return ApiStatus_BLOCK;

View File

@ -534,7 +534,7 @@ INCLUDE_ASM(ApiStatus, "world/area_flo/flo_16/CD1F10", flo_16_func_802402AC_CD20
typedef struct {
s32 unk_00;
s32 unk_04;
Effect* unk_08[3];
EffectGraphics* unk_08[3]; // TODO this is wrong
f32 unk_14[3];
f32 unk_20[3];
f32 unk_2C[3];
@ -666,9 +666,9 @@ ApiStatus N(func_802406E0_CD2510)(ScriptInstance* script, s32 isInitialCall) {
}
for (i = 0, userDataPtr = scriptPtr; i < 3; i++) {
((EffectInstanceData*)userDataPtr->unk_08[i]->instanceData)->rotation.x = userDataPtr->unk_14[i];
((EffectInstanceData*)userDataPtr->unk_08[i]->instanceData)->rotation.y = userDataPtr->unk_20[i];
((EffectInstanceData*)userDataPtr->unk_08[i]->instanceData)->rotation.z = userDataPtr->unk_2C[i];
((EffectInstanceData*)userDataPtr->unk_08[i]->freeDelay)->rotation.x = userDataPtr->unk_14[i];
((EffectInstanceData*)userDataPtr->unk_08[i]->freeDelay)->rotation.y = userDataPtr->unk_20[i];
((EffectInstanceData*)userDataPtr->unk_08[i]->freeDelay)->rotation.z = userDataPtr->unk_2C[i];
}
return ApiStatus_BLOCK;

View File

@ -2,7 +2,7 @@
#include "map.h"
ApiStatus N(UnkFunc39)(ScriptInstance* script, s32 isInitialCall) {
Effect* effect = (Effect*)get_variable(script, *script->ptrReadPos);
EffectGraphics* effect = (EffectGraphics*)get_variable(script, *script->ptrReadPos);
effect->flags |= 0x10;

View File

@ -1,5 +1,7 @@
#include "common.h"
extern s32 D_802BE934;
INCLUDE_ASM(s32, "world/partner/bombette", func_802BD100_317E50);
INCLUDE_ASM(s32, "world/partner/bombette", func_802BD2D8_318028);
@ -17,7 +19,13 @@ INCLUDE_ASM(s32, "world/partner/bombette", func_802BD338_318088);
INCLUDE_ASM(s32, "world/partner/bombette", func_802BD6DC_31842C);
INCLUDE_ASM(s32, "world/partner/bombette", func_802BD720_318470);
s32 func_802BD720_318470(void) {
if (gPartnerActionStatus.actionState.b[0] != 0) {
D_802BE934 = 1;
return FALSE;
}
return TRUE;
}
s32 func_802BD748(void) {
return gPartnerActionStatus.actionState.b[0] == 0;

View File

@ -74,11 +74,11 @@ void load_map_by_IDs(s16 areaID, s16 mapID, s16 loadType) {
map = &gAreas[areaID].maps[mapID];
sprintf(&mapShapeName, "%s_shape", map->id);
sprintf(&mapHitName, "%s_hit", map->id);
sprintf(&wMapShapeName, "%s_shape", map->id);
sprintf(&wMapHitName, "%s_hit", map->id);
strcpy(texStr, map->id);
texStr[3] = '\0';
sprintf(&mapTexName, "%s_tex", texStr);
sprintf(&wMapTexName, "%s_tex", texStr);
gMap = map;
if (map->bgName != NULL) {
@ -99,7 +99,7 @@ void load_map_by_IDs(s16 areaID, s16 mapID, s16 loadType) {
if (initStatus == 0) {
s32* place = &D_80210000;
s32 yay0Asset = load_asset_by_name(&mapShapeName, &decompressedSize);
s32 yay0Asset = load_asset_by_name(&wMapShapeName, &decompressedSize);
decode_yay0(yay0Asset, place);
general_heap_free(yay0Asset);
@ -155,7 +155,7 @@ void load_map_by_IDs(s16 areaID, s16 mapID, s16 loadType) {
sfx_reset_door_sounds();
if (initStatus == 0) {
s32 thing = get_asset_offset(&mapTexName, &decompressedSize);
s32 thing = get_asset_offset(&wMapTexName, &decompressedSize);
if (mapConfig->modelTreeRoot != NULL) {
load_data_for_models(mapConfig->modelTreeRoot, thing, decompressedSize);

View File

@ -27,7 +27,7 @@ glabel D_80283DF8
.word 0xE7000000, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFCFFFFFF, 0xFFFCF279, 0xE3000C00, 0x00080000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001001, 0x00000000, 0xE3001201, 0x00003000, 0xE3001402, 0x00000C00, 0xE3001001, 0x00008000, 0xFD100000, D_8028F840, 0xE8000000, 0x00000000, 0xF5000100, 0x07000000, 0xE6000000, 0x00000000, 0xF0000000, 0x0703C000, 0xE7000000, 0x00000000, 0xFD48000F, D_8028F640, 0xF5480400, 0x07000000, 0xE6000000, 0x00000000, 0xF4000000, 0x0703E07C, 0xE7000000, 0x00000000, 0xF5400400, 0x00000000, 0xF2000000, 0x0007C07C, 0xD9FDFFFF, 0x00000000, 0xD9DFFFFF, 0x00000000, 0x01004008, D_80283DB8, 0x05000204, 0x00000000, 0x05000406, 0x00000000, 0xE7000000, 0x00000000, 0xDF000000, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0000003C, D_80283DF8, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000
glabel D_80283F10
.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x006F10E0, 0x006F5E80, battle_partner_goombario_func_80238000_6F10E0, 0x802392C8, 0x00000000, 0x006F5E80, 0x006FAD10, battle_partner_goombario_func_80238000_6F10E0, 0x80238548, 0x00000000, 0x006FAD10, 0x006FFD80, battle_partner_goombario_func_80238000_6F10E0, 0x80238758, 0x00000000, 0x006FFD80, 0x00703AF0, battle_partner_goombario_func_80238000_6F10E0, 0x80239928, 0x0000001E, 0x006F0B30, 0x006F10E0, battle_partner_goombario_func_80238000_6F10E0, 0x802380E8, 0x00000000, 0x00703AF0, 0x00707CA0, battle_partner_goombario_func_80238000_6F10E0, battle_partner_goombario_IsGlowing, 0x00000014, 0x00707CA0, 0x0070BD10, battle_partner_goombario_func_80238000_6F10E0, 0x80238FE8, 0x00000000, 0x0070BD10, 0x00710EF0, battle_partner_goombario_func_80238000_6F10E0, 0x8023A2F8, 0x0000000A, 0x00710EF0, 0x00714CF0, battle_partner_goombario_func_80238000_6F10E0, 0x80238418, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00714CF0, 0x00715850, battle_partner_goombario_func_80238000_6F10E0, 0x802381C0, 0x0000001E
.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x006F10E0, 0x006F5E80, battle_partner_goombario_func_80238000_6F10E0, battle_partner_goombario_goombario, 0x00000000, 0x006F5E80, 0x006FAD10, battle_partner_goombario_func_80238000_6F10E0, 0x80238548, 0x00000000, 0x006FAD10, 0x006FFD80, battle_partner_goombario_func_80238000_6F10E0, 0x80238758, 0x00000000, 0x006FFD80, 0x00703AF0, battle_partner_goombario_func_80238000_6F10E0, 0x80239928, 0x0000001E, 0x006F0B30, 0x006F10E0, battle_partner_goombario_func_80238000_6F10E0, 0x802380E8, 0x00000000, 0x00703AF0, 0x00707CA0, battle_partner_goombario_func_80238000_6F10E0, battle_partner_goombario_IsGlowing, 0x00000014, 0x00707CA0, 0x0070BD10, battle_partner_goombario_func_80238000_6F10E0, 0x80238FE8, 0x00000000, 0x0070BD10, 0x00710EF0, battle_partner_goombario_func_80238000_6F10E0, 0x8023A2F8, 0x0000000A, 0x00710EF0, 0x00714CF0, battle_partner_goombario_func_80238000_6F10E0, 0x80238418, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00714CF0, 0x00715850, battle_partner_goombario_func_80238000_6F10E0, 0x802381C0, 0x0000001E
glabel gBattleDmaDest
.word 0x00000000

File diff suppressed because one or more lines are too long

View File

@ -21,4 +21,4 @@ glabel D_E00147A8
.double 0.98
glabel D_E00147B0
.word 0x3FECCCCC, 0xCCCCCCCD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000011, 0x11100000, 0x00111155, 0x54110000, 0x01111555, 0x55411000, 0x11554555, 0x55411000, 0x15555555, 0x55411000, 0x15555555, 0x55554110, 0x14555555, 0x55555411, 0x11445555, 0x55555411, 0x01155555, 0x55553411, 0x01555555, 0x55334110, 0x01455555, 0x55311100, 0x01144455, 0x53410000, 0x00111144, 0x44110000, 0x00000111, 0x11100000, 0x00000011, 0x11000000, 0x39CE6293, 0x00019C1D, 0xAD27B5AD, 0x00010001, 0x41890001, 0x7AD19C5F, 0xB5AD0001, 0x00010001, 0xFFF80007, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00070007, 0x00000000, 0x02000000, 0xFFFFFFFF, 0xFFF8FFF8, 0x00000000, 0x00000200, 0xFFFFFFFF, 0x0007FFF8, 0x00000000, 0x02000200, 0xFFFFFFFF, 0xD7000002, 0xFFFFFFFF, 0xE7000000, 0x00000000, 0xE3000A01, 0x00000000, 0xFC6096C1, 0xFF2DFEFF, 0xE3000C00, 0x00080000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001001, 0x00008000, 0xE3001201, 0x00002000, 0xE3001402, 0x00000C00, 0xFD100000, 0x09000080, 0xE8000000, 0x00000000, 0xF5000100, 0x07000000, 0xE6000000, 0x00000000, 0xF0000000, 0x0703C000, 0xE7000000, 0x00000000, 0xE200001C, 0x00504A50, 0xFD500000, 0x09000000, 0xF5500000, 0x07090240, 0xE6000000, 0x00000000, 0xF3000000, 0x0703F800, 0xE7000000, 0x00000000, 0xF5400200, 0x00090240, 0xF2000000, 0x0003C03C, 0xD9DDF9FF, 0x00000000, 0xD9FFFFFF, 0x00000005, 0xDF000000, 0x00000000, 0x01004008, 0x090000A0, 0x06000602, 0x00000406, 0xE7000000, 0x00000000, 0xDF000000, 0x00000000, 0x00000000, 0x00000000
.double 0.9, 0.0

View File

@ -9,4 +9,4 @@ glabel D_E001A620
.double 0.001
glabel D_E001A628
.word 0x3F46F006, 0x8DB8BAC7, 0x11111111, 0x11003333, 0x11111100, 0x00222233, 0x11110000, 0x02222323, 0x11100002, 0x22223220, 0x11000022, 0x22232220, 0x10000222, 0x22322200, 0x10000222, 0x23222201, 0x10000222, 0x22222001, 0x10000222, 0x22222001, 0x10000022, 0x22220001, 0x10000002, 0x22200011, 0x11000000, 0x00000011, 0x11000000, 0x00000111, 0x11100000, 0x00001111, 0x11111000, 0x00011111, 0x11111111, 0x11111111, 0xF4ABF1D8, 0xF6B7EFE7, 0x5D7A016F, 0x5AFF5AFE, 0x5AFF5AFE, 0x08610860, 0x08610860, 0x08610860, 0xFFF70008, 0xFFF90000, 0x001001F0, 0xFFFFFFFF, 0xFFF70004, 0x00020000, 0x01F001F0, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x01F00010, 0xFFFFFFFF, 0x00000004, 0xFFF70000, 0x00100010, 0xFFFFFFFF, 0x00000004, 0x00090000, 0x00100010, 0xFFFFFFFF, 0xFFF70004, 0xFFFE0000, 0x01F001F0, 0xFFFFFFFF, 0xFFF70008, 0x00070000, 0x001001F0, 0xFFFFFFFF, 0x00090008, 0x00070000, 0x001001F0, 0xFFFFFFFF, 0x00090004, 0xFFFE0000, 0x00100010, 0xFFFFFFFF, 0x00000004, 0x00090000, 0x01F001F0, 0xFFFFFFFF, 0x00000004, 0xFFF70000, 0x01F001F0, 0xFFFFFFFF, 0x00090004, 0x00020000, 0x00100010, 0xFFFFFFFF, 0x00090008, 0xFFF90000, 0x001001F0, 0xFFFFFFFF, 0x00000000, 0xFFFF0000, 0x00100010, 0x64A03CFF, 0x00000000, 0x00010000, 0x00100010, 0x64A03CFF, 0xFFFFFFF9, 0x00020000, 0x00100010, 0x64A03CFF, 0xFFFFFFF9, 0x00000000, 0x00100010, 0x64A03CFF, 0xFFFFFFEF, 0x00020000, 0x00100010, 0x64A03CFF, 0xFFFFFFEF, 0x00000000, 0x00100010, 0x64A03CFF, 0x00010000, 0x00000000, 0x00100010, 0x64A03CFF, 0xFFFF0000, 0x00000000, 0x00100010, 0x64A03CFF, 0xFFFEFFF9, 0x00000000, 0x00100010, 0x64A03CFF, 0x0000FFF9, 0x00000000, 0x00100010, 0x64A03CFF, 0xFFFEFFEF, 0x00000000, 0x00100010, 0x64A03CFF, 0x0000FFEF, 0x00000000, 0x00100010, 0x64A03CFF, 0x0000FFFF, 0xFFFF0000, 0x00000000, 0x64A03CFF, 0x0000FFFF, 0x00010000, 0x00000000, 0x64A03CFF, 0xFFFFFFF8, 0x00020000, 0x00000000, 0x64A03CFF, 0xFFFFFFF8, 0x00000000, 0x00000000, 0x64A03CFF, 0xFFFFFFEE, 0x00020000, 0x00000000, 0x64A03CFF, 0xFFFFFFEE, 0x00000000, 0x00000000, 0x64A03CFF, 0x0001FFFF, 0x00000000, 0x00000000, 0x64A03CFF, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x64A03CFF, 0xFFFEFFF8, 0x00000000, 0x00000000, 0x64A03CFF, 0x0000FFF8, 0x00000000, 0x00000000, 0x64A03CFF, 0xFFFEFFEE, 0x00000000, 0x00000000, 0x64A03CFF, 0x0000FFEE, 0x00000000, 0x00000000, 0x64A03CFF, 0xD7000002, 0xFFFFFFFF, 0xE7000000, 0x00000000, 0xFC157E2A, 0xFFFFF3F9, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xFD500000, 0x09000000, 0xF5500000, 0x070D0340, 0xE6000000, 0x00000000, 0xF3000000, 0x0703F800, 0xE7000000, 0x00000000, 0xF5400200, 0x000D0340, 0xF2000000, 0x0003C03C, 0xF2000000, 0x0007C07C, 0xE3000C00, 0x00080000, 0xE3001001, 0x00008000, 0xFD100000, 0x09000080, 0xE8000000, 0x00000000, 0xF5000100, 0x07000000, 0xE6000000, 0x00000000, 0xF0000000, 0x0703C000, 0xE7000000, 0x00000000, 0xE3001201, 0x00002000, 0xE3001402, 0x00000C00, 0xE7000000, 0x00000000, 0xE3000A01, 0x00000000, 0xE200001C, 0x00553078, 0xD9DDF9FF, 0x00000000, 0x0100D01A, 0x090000A0, 0x06000204, 0x00000406, 0x0608040A, 0x00080A0C, 0x060E1004, 0x000E0412, 0x06140416, 0x00141618, 0xE7000000, 0x00000000, 0xE3000A01, 0x00000000, 0xE200001C, 0x00552078, 0xFC457E8A, 0xFFFFFDFE, 0xD7000000, 0x00800080, 0xD9DDF9FF, 0x00000000, 0x0100C018, 0x09000170, 0x06000204, 0x00000406, 0x0604080A, 0x00040A06, 0x060C0E10, 0x000C1012, 0x06101416, 0x00101612, 0xDF000000, 0x00000000, 0xE7000000, 0x00000000, 0xE200001C, 0x00552078, 0xFC457E8A, 0xFFFFFDFE, 0xD7000000, 0x00800080, 0xD9DDF9FF, 0x00000000, 0x0100C018, 0x09000230, 0x06000204, 0x00000406, 0x0604080A, 0x00040A06, 0x060C0E10, 0x000C1012, 0x06101416, 0x00101612, 0xDF000000, 0x00000000, 0x00000000, 0x00000000
.double 0.0007

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_E001C5E0
.word 0x00000000, 0x00000000, 0x00000000, 0x00000000

File diff suppressed because one or more lines are too long

2676
ver/us/asm/data/5B320.data.s Normal file

File diff suppressed because one or more lines are too long

View File

@ -7,6 +7,3 @@ glabel D_802A97C0_42CEB0
glabel D_802A97CC_42CEBC
.word D_80108B54, 0x80292348, 0x8029265C, 0x00000000, 0x00000000
glabel jtbl_802A97E0_42CED0
.word L802A9288_42C978, L802A92C0_42C9B0, L802A96E8_42CDD8, L802A96E8_42CDD8, L802A96E8_42CDD8, L802A96E8_42CDD8, L802A96E8_42CDD8, L802A96E8_42CDD8, L802A96E8_42CDD8, L802A96E8_42CDD8, L802A930C_42C9FC, L802A9354_42CA44, L802A93F4_42CAE4, L802A9678_42CD68, L802A96C8_42CDB8, 0

File diff suppressed because one or more lines are too long

View File

@ -8,8 +8,8 @@
.section .text, "ax"
glabel entry_point
/* 1000 80025C00 3C08800A */ lui $t0, %hi(D_8009A5B0)
/* 1004 80025C04 2508A5B0 */ addiu $t0, $t0, %lo(D_8009A5B0)
/* 1000 80025C00 3C08800A */ lui $t0, %hi(nuScPreNMIFlag)
/* 1004 80025C04 2508A5B0 */ addiu $t0, $t0, %lo(nuScPreNMIFlag)
/* 1008 80025C08 3C090004 */ lui $t1, 4
/* 100C 80025C0C 25291F50 */ addiu $t1, $t1, 0x1f50
.L80025C10:

View File

@ -1,131 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8003646C
/* 1186C 8003646C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 11870 80036470 AFB00010 */ sw $s0, 0x10($sp)
/* 11874 80036474 3C10800A */ lui $s0, %hi(D_800A0944)
/* 11878 80036478 26100944 */ addiu $s0, $s0, %lo(D_800A0944)
/* 1187C 8003647C 24020002 */ addiu $v0, $zero, 2
/* 11880 80036480 AFBF0014 */ sw $ra, 0x14($sp)
/* 11884 80036484 86030000 */ lh $v1, ($s0)
/* 11888 80036488 96070000 */ lhu $a3, ($s0)
/* 1188C 8003648C 1062001A */ beq $v1, $v0, .L800364F8
/* 11890 80036490 28620003 */ slti $v0, $v1, 3
/* 11894 80036494 10400005 */ beqz $v0, .L800364AC
/* 11898 80036498 24020001 */ addiu $v0, $zero, 1
/* 1189C 8003649C 1062000A */ beq $v1, $v0, .L800364C8
/* 118A0 800364A0 00000000 */ nop
/* 118A4 800364A4 0800D984 */ j .L80036610
/* 118A8 800364A8 00000000 */ nop
.L800364AC:
/* 118AC 800364AC 24020003 */ addiu $v0, $zero, 3
/* 118B0 800364B0 1062002A */ beq $v1, $v0, .L8003655C
/* 118B4 800364B4 24020004 */ addiu $v0, $zero, 4
/* 118B8 800364B8 1062003C */ beq $v1, $v0, .L800365AC
/* 118BC 800364BC 00000000 */ nop
/* 118C0 800364C0 0800D984 */ j .L80036610
/* 118C4 800364C4 00000000 */ nop
.L800364C8:
/* 118C8 800364C8 3C03800A */ lui $v1, %hi(gOverrideFlags)
/* 118CC 800364CC 2463A650 */ addiu $v1, $v1, %lo(gOverrideFlags)
/* 118D0 800364D0 8C620000 */ lw $v0, ($v1)
/* 118D4 800364D4 34420008 */ ori $v0, $v0, 8
/* 118D8 800364D8 0C018028 */ jal nuContRmbForceStop
/* 118DC 800364DC AC620000 */ sw $v0, ($v1)
/* 118E0 800364E0 96020000 */ lhu $v0, ($s0)
/* 118E4 800364E4 24030004 */ addiu $v1, $zero, 4
/* 118E8 800364E8 3C01800A */ lui $at, %hi(D_800A0946)
/* 118EC 800364EC A4230946 */ sh $v1, %lo(D_800A0946)($at)
/* 118F0 800364F0 0800D955 */ j .L80036554
/* 118F4 800364F4 24420001 */ addiu $v0, $v0, 1
.L800364F8:
/* 118F8 800364F8 3C04800A */ lui $a0, %hi(D_800A0946)
/* 118FC 800364FC 24840946 */ addiu $a0, $a0, %lo(D_800A0946)
/* 11900 80036500 84820000 */ lh $v0, ($a0)
/* 11904 80036504 94830000 */ lhu $v1, ($a0)
/* 11908 80036508 10400003 */ beqz $v0, .L80036518
/* 1190C 8003650C 2462FFFF */ addiu $v0, $v1, -1
/* 11910 80036510 0800D984 */ j .L80036610
/* 11914 80036514 A4820000 */ sh $v0, ($a0)
.L80036518:
/* 11918 80036518 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 1191C 8003651C 2463419C */ addiu $v1, $v1, %lo(gGameStatusPtr)
/* 11920 80036520 8C620000 */ lw $v0, ($v1)
/* 11924 80036524 A0400070 */ sb $zero, 0x70($v0)
/* 11928 80036528 8C620000 */ lw $v0, ($v1)
/* 1192C 8003652C A0400078 */ sb $zero, 0x78($v0)
/* 11930 80036530 8C620000 */ lw $v0, ($v1)
/* 11934 80036534 84440086 */ lh $a0, 0x86($v0)
/* 11938 80036538 8445008C */ lh $a1, 0x8c($v0)
/* 1193C 8003653C 0C0169BD */ jal load_map_by_IDs
/* 11940 80036540 0000302D */ daddu $a2, $zero, $zero
/* 11944 80036544 0C018030 */ jal nuContRmbForceStopEnd
/* 11948 80036548 00000000 */ nop
/* 1194C 8003654C 96020000 */ lhu $v0, ($s0)
/* 11950 80036550 24420001 */ addiu $v0, $v0, 1
.L80036554:
/* 11954 80036554 0800D984 */ j .L80036610
/* 11958 80036558 A6020000 */ sh $v0, ($s0)
.L8003655C:
/* 1195C 8003655C 0C00F949 */ jal update_encounters
/* 11960 80036560 00000000 */ nop
/* 11964 80036564 0C00E64C */ jal update_npcs
/* 11968 80036568 00000000 */ nop
/* 1196C 8003656C 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 11970 80036570 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 11974 80036574 0C0B1059 */ jal does_script_exist
/* 11978 80036578 8C44006C */ lw $a0, 0x6c($v0)
/* 1197C 8003657C 1440002C */ bnez $v0, .L80036630
/* 11980 80036580 00000000 */ nop
/* 11984 80036584 3C05800A */ lui $a1, %hi(gOverrideFlags)
/* 11988 80036588 24A5A650 */ addiu $a1, $a1, %lo(gOverrideFlags)
/* 1198C 8003658C 2404FFF7 */ addiu $a0, $zero, -9
/* 11990 80036590 8CA20000 */ lw $v0, ($a1)
/* 11994 80036594 96030000 */ lhu $v1, ($s0)
/* 11998 80036598 00441024 */ and $v0, $v0, $a0
/* 1199C 8003659C 24630001 */ addiu $v1, $v1, 1
/* 119A0 800365A0 ACA20000 */ sw $v0, ($a1)
/* 119A4 800365A4 0800D984 */ j .L80036610
/* 119A8 800365A8 A6030000 */ sh $v1, ($s0)
.L800365AC:
/* 119AC 800365AC 3C06800A */ lui $a2, %hi(gMapTransitionAlpha)
/* 119B0 800365B0 24C60940 */ addiu $a2, $a2, %lo(gMapTransitionAlpha)
/* 119B4 800365B4 94C20000 */ lhu $v0, ($a2)
/* 119B8 800365B8 3C03800A */ lui $v1, %hi(D_800A0942)
/* 119BC 800365BC 94630942 */ lhu $v1, %lo(D_800A0942)($v1)
/* 119C0 800365C0 00431023 */ subu $v0, $v0, $v1
/* 119C4 800365C4 A4C20000 */ sh $v0, ($a2)
/* 119C8 800365C8 00021400 */ sll $v0, $v0, 0x10
/* 119CC 800365CC 04410008 */ bgez $v0, .L800365F0
/* 119D0 800365D0 240400FF */ addiu $a0, $zero, 0xff
/* 119D4 800365D4 3C05BF80 */ lui $a1, 0xbf80
/* 119D8 800365D8 24E20001 */ addiu $v0, $a3, 1
/* 119DC 800365DC A4C00000 */ sh $zero, ($a2)
/* 119E0 800365E0 0C04DF62 */ jal set_screen_overlay_params_front
/* 119E4 800365E4 A6020000 */ sh $v0, ($s0)
/* 119E8 800365E8 0C00CD3C */ jal set_game_mode
/* 119EC 800365EC 24040004 */ addiu $a0, $zero, 4
.L800365F0:
/* 119F0 800365F0 0C00E64C */ jal update_npcs
/* 119F4 800365F4 00000000 */ nop
/* 119F8 800365F8 0C037DD0 */ jal update_player
/* 119FC 800365FC 00000000 */ nop
/* 11A00 80036600 0C016754 */ jal update_effects
/* 11A04 80036604 00000000 */ nop
/* 11A08 80036608 0C00B500 */ jal update_cameras
/* 11A0C 8003660C 00000000 */ nop
.L80036610:
/* 11A10 80036610 3C02800A */ lui $v0, %hi(gMapTransitionAlpha)
/* 11A14 80036614 84420940 */ lh $v0, %lo(gMapTransitionAlpha)($v0)
/* 11A18 80036618 44820000 */ mtc1 $v0, $f0
/* 11A1C 8003661C 00000000 */ nop
/* 11A20 80036620 46800020 */ cvt.s.w $f0, $f0
/* 11A24 80036624 44050000 */ mfc1 $a1, $f0
/* 11A28 80036628 0C04DF62 */ jal set_screen_overlay_params_front
/* 11A2C 8003662C 0000202D */ daddu $a0, $zero, $zero
.L80036630:
/* 11A30 80036630 8FBF0014 */ lw $ra, 0x14($sp)
/* 11A34 80036634 8FB00010 */ lw $s0, 0x10($sp)
/* 11A38 80036638 03E00008 */ jr $ra
/* 11A3C 8003663C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,182 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_80098320
.word L800361B4_115B4, L80036208_11608, L80036244_11644, L800362F8_116F8, L8003637C_1177C, 0
.section .text
glabel state_step_change_map
/* 1157C 8003617C 3C03800A */ lui $v1, %hi(D_800A0944)
/* 11580 80036180 84630944 */ lh $v1, %lo(D_800A0944)($v1)
/* 11584 80036184 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 11588 80036188 AFBF0018 */ sw $ra, 0x18($sp)
/* 1158C 8003618C AFB10014 */ sw $s1, 0x14($sp)
/* 11590 80036190 2C620005 */ sltiu $v0, $v1, 5
/* 11594 80036194 10400094 */ beqz $v0, .L800363E8
/* 11598 80036198 AFB00010 */ sw $s0, 0x10($sp)
/* 1159C 8003619C 00031080 */ sll $v0, $v1, 2
/* 115A0 800361A0 3C01800A */ lui $at, %hi(jtbl_80098320)
/* 115A4 800361A4 00220821 */ addu $at, $at, $v0
/* 115A8 800361A8 8C228320 */ lw $v0, %lo(jtbl_80098320)($at)
/* 115AC 800361AC 00400008 */ jr $v0
/* 115B0 800361B0 00000000 */ nop
glabel L800361B4_115B4
/* 115B4 800361B4 0C00E64C */ jal update_npcs
/* 115B8 800361B8 00000000 */ nop
/* 115BC 800361BC 0C037DD0 */ jal update_player
/* 115C0 800361C0 00000000 */ nop
/* 115C4 800361C4 0C016754 */ jal update_effects
/* 115C8 800361C8 00000000 */ nop
/* 115CC 800361CC 0C00B500 */ jal update_cameras
/* 115D0 800361D0 00000000 */ nop
/* 115D4 800361D4 3C04800A */ lui $a0, %hi(gMapTransitionAlpha)
/* 115D8 800361D8 24840940 */ addiu $a0, $a0, %lo(gMapTransitionAlpha)
/* 115DC 800361DC 0C04E0AB */ jal update_exit_map_screen_overlay
/* 115E0 800361E0 00000000 */ nop
/* 115E4 800361E4 00021400 */ sll $v0, $v0, 0x10
/* 115E8 800361E8 1040007F */ beqz $v0, .L800363E8
/* 115EC 800361EC 00000000 */ nop
/* 115F0 800361F0 3C03800A */ lui $v1, %hi(D_800A0944)
/* 115F4 800361F4 24630944 */ addiu $v1, $v1, %lo(D_800A0944)
/* 115F8 800361F8 94620000 */ lhu $v0, ($v1)
/* 115FC 800361FC 24420001 */ addiu $v0, $v0, 1
/* 11600 80036200 0800D8FA */ j .L800363E8
/* 11604 80036204 A4620000 */ sh $v0, ($v1)
glabel L80036208_11608
/* 11608 80036208 3C03800A */ lui $v1, %hi(gOverrideFlags)
/* 1160C 8003620C 2463A650 */ addiu $v1, $v1, %lo(gOverrideFlags)
/* 11610 80036210 8C620000 */ lw $v0, ($v1)
/* 11614 80036214 34420008 */ ori $v0, $v0, 8
/* 11618 80036218 0C018028 */ jal nuContRmbForceStop
/* 1161C 8003621C AC620000 */ sw $v0, ($v1)
/* 11620 80036220 3C04800A */ lui $a0, %hi(D_800A0944)
/* 11624 80036224 24840944 */ addiu $a0, $a0, %lo(D_800A0944)
/* 11628 80036228 94820000 */ lhu $v0, ($a0)
/* 1162C 8003622C 24030004 */ addiu $v1, $zero, 4
/* 11630 80036230 3C01800A */ lui $at, %hi(D_800A0946)
/* 11634 80036234 A4230946 */ sh $v1, %lo(D_800A0946)($at)
/* 11638 80036238 24420001 */ addiu $v0, $v0, 1
/* 1163C 8003623C 0800D8FA */ j .L800363E8
/* 11640 80036240 A4820000 */ sh $v0, ($a0)
glabel L80036244_11644
/* 11644 80036244 3C108007 */ lui $s0, %hi(gGameStatusPtr)
/* 11648 80036248 2610419C */ addiu $s0, $s0, %lo(gGameStatusPtr)
/* 1164C 8003624C 8E020000 */ lw $v0, ($s0)
/* 11650 80036250 80420071 */ lb $v0, 0x71($v0)
/* 11654 80036254 10400003 */ beqz $v0, .L80036264
/* 11658 80036258 00000000 */ nop
/* 1165C 8003625C 0C00CD3C */ jal set_game_mode
/* 11660 80036260 24040011 */ addiu $a0, $zero, 0x11
.L80036264:
/* 11664 80036264 3C11800A */ lui $s1, %hi(D_800A0946)
/* 11668 80036268 26310946 */ addiu $s1, $s1, %lo(D_800A0946)
/* 1166C 8003626C 86220000 */ lh $v0, ($s1)
/* 11670 80036270 96230000 */ lhu $v1, ($s1)
/* 11674 80036274 10400003 */ beqz $v0, .L80036284
/* 11678 80036278 2462FFFF */ addiu $v0, $v1, -1
/* 1167C 8003627C 0800D8FA */ j .L800363E8
/* 11680 80036280 A6220000 */ sh $v0, ($s1)
.L80036284:
/* 11684 80036284 8E020000 */ lw $v0, ($s0)
/* 11688 80036288 A0400070 */ sb $zero, 0x70($v0)
/* 1168C 8003628C 8E020000 */ lw $v0, ($s0)
/* 11690 80036290 A0400078 */ sb $zero, 0x78($v0)
/* 11694 80036294 8E020000 */ lw $v0, ($s0)
/* 11698 80036298 84440086 */ lh $a0, 0x86($v0)
/* 1169C 8003629C 8445008C */ lh $a1, 0x8c($v0)
/* 116A0 800362A0 0C0169BD */ jal load_map_by_IDs
/* 116A4 800362A4 0000302D */ daddu $a2, $zero, $zero
/* 116A8 800362A8 0C009C22 */ jal set_time_freeze_mode
/* 116AC 800362AC 0000202D */ daddu $a0, $zero, $zero
/* 116B0 800362B0 0C018030 */ jal nuContRmbForceStopEnd
/* 116B4 800362B4 00000000 */ nop
/* 116B8 800362B8 8E020000 */ lw $v0, ($s0)
/* 116BC 800362BC 80420071 */ lb $v0, 0x71($v0)
/* 116C0 800362C0 14400003 */ bnez $v0, .L800362D0
/* 116C4 800362C4 00000000 */ nop
/* 116C8 800362C8 0C03805E */ jal disable_player_input
/* 116CC 800362CC 00000000 */ nop
.L800362D0:
/* 116D0 800362D0 0C00B500 */ jal update_cameras
/* 116D4 800362D4 00000000 */ nop
/* 116D8 800362D8 3C02800A */ lui $v0, %hi(D_800A0944)
/* 116DC 800362DC 24420944 */ addiu $v0, $v0, %lo(D_800A0944)
/* 116E0 800362E0 94430000 */ lhu $v1, ($v0)
/* 116E4 800362E4 24040002 */ addiu $a0, $zero, 2
/* 116E8 800362E8 A6240000 */ sh $a0, ($s1)
/* 116EC 800362EC 24630001 */ addiu $v1, $v1, 1
/* 116F0 800362F0 0800D8FA */ j .L800363E8
/* 116F4 800362F4 A4430000 */ sh $v1, ($v0)
glabel L800362F8_116F8
/* 116F8 800362F8 0C00F949 */ jal update_encounters
/* 116FC 800362FC 00000000 */ nop
/* 11700 80036300 0C00E64C */ jal update_npcs
/* 11704 80036304 00000000 */ nop
/* 11708 80036308 0C037DD0 */ jal update_player
/* 1170C 8003630C 00000000 */ nop
/* 11710 80036310 0C00B500 */ jal update_cameras
/* 11714 80036314 00000000 */ nop
/* 11718 80036318 3C04800A */ lui $a0, %hi(D_800A0946)
/* 1171C 8003631C 24840946 */ addiu $a0, $a0, %lo(D_800A0946)
/* 11720 80036320 84820000 */ lh $v0, ($a0)
/* 11724 80036324 94830000 */ lhu $v1, ($a0)
/* 11728 80036328 10400003 */ beqz $v0, .L80036338
/* 1172C 8003632C 2462FFFF */ addiu $v0, $v1, -1
/* 11730 80036330 0800D8FA */ j .L800363E8
/* 11734 80036334 A4820000 */ sh $v0, ($a0)
.L80036338:
/* 11738 80036338 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 1173C 8003633C 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 11740 80036340 0C0B1059 */ jal does_script_exist
/* 11744 80036344 8C44006C */ lw $a0, 0x6c($v0)
/* 11748 80036348 14400027 */ bnez $v0, .L800363E8
/* 1174C 8003634C 2405FFF7 */ addiu $a1, $zero, -9
/* 11750 80036350 3C04800A */ lui $a0, %hi(gOverrideFlags)
/* 11754 80036354 2484A650 */ addiu $a0, $a0, %lo(gOverrideFlags)
/* 11758 80036358 3C06800A */ lui $a2, %hi(D_800A0944)
/* 1175C 8003635C 24C60944 */ addiu $a2, $a2, %lo(D_800A0944)
/* 11760 80036360 8C820000 */ lw $v0, ($a0)
/* 11764 80036364 94C30000 */ lhu $v1, ($a2)
/* 11768 80036368 00451024 */ and $v0, $v0, $a1
/* 1176C 8003636C 24630001 */ addiu $v1, $v1, 1
/* 11770 80036370 AC820000 */ sw $v0, ($a0)
/* 11774 80036374 0800D8FA */ j .L800363E8
/* 11778 80036378 A4C30000 */ sh $v1, ($a2)
glabel L8003637C_1177C
/* 1177C 8003637C 0C00E64C */ jal update_npcs
/* 11780 80036380 00000000 */ nop
/* 11784 80036384 0C037DD0 */ jal update_player
/* 11788 80036388 00000000 */ nop
/* 1178C 8003638C 0C016754 */ jal update_effects
/* 11790 80036390 00000000 */ nop
/* 11794 80036394 0C00B500 */ jal update_cameras
/* 11798 80036398 00000000 */ nop
/* 1179C 8003639C 3C04800A */ lui $a0, %hi(gMapTransitionAlpha)
/* 117A0 800363A0 24840940 */ addiu $a0, $a0, %lo(gMapTransitionAlpha)
/* 117A4 800363A4 0C04E175 */ jal update_enter_map_screen_overlay
/* 117A8 800363A8 00000000 */ nop
/* 117AC 800363AC 00021400 */ sll $v0, $v0, 0x10
/* 117B0 800363B0 1040000D */ beqz $v0, .L800363E8
/* 117B4 800363B4 00000000 */ nop
/* 117B8 800363B8 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 117BC 800363BC 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 117C0 800363C0 80420071 */ lb $v0, 0x71($v0)
/* 117C4 800363C4 14400003 */ bnez $v0, .L800363D4
/* 117C8 800363C8 00000000 */ nop
/* 117CC 800363CC 0C038069 */ jal enable_player_input
/* 117D0 800363D0 00000000 */ nop
.L800363D4:
/* 117D4 800363D4 3C05BF80 */ lui $a1, 0xbf80
/* 117D8 800363D8 0C04DF62 */ jal set_screen_overlay_params_front
/* 117DC 800363DC 240400FF */ addiu $a0, $zero, 0xff
/* 117E0 800363E0 0C00CD3C */ jal set_game_mode
/* 117E4 800363E4 24040004 */ addiu $a0, $zero, 4
.L800363E8:
/* 117E8 800363E8 8FBF0018 */ lw $ra, 0x18($sp)
/* 117EC 800363EC 8FB10014 */ lw $s1, 0x14($sp)
/* 117F0 800363F0 8FB00010 */ lw $s0, 0x10($sp)
/* 117F4 800363F4 03E00008 */ jr $ra
/* 117F8 800363F8 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,147 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel state_step_enter_world
/* 112EC 80035EEC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 112F0 80035EF0 AFB00010 */ sw $s0, 0x10($sp)
/* 112F4 80035EF4 3C10800A */ lui $s0, %hi(D_800A0944)
/* 112F8 80035EF8 26100944 */ addiu $s0, $s0, %lo(D_800A0944)
/* 112FC 80035EFC AFBF0014 */ sw $ra, 0x14($sp)
/* 11300 80035F00 86030000 */ lh $v1, ($s0)
/* 11304 80035F04 24020001 */ addiu $v0, $zero, 1
/* 11308 80035F08 1062003D */ beq $v1, $v0, .L80036000
/* 1130C 80035F0C 28620002 */ slti $v0, $v1, 2
/* 11310 80035F10 50400005 */ beql $v0, $zero, .L80035F28
/* 11314 80035F14 24020002 */ addiu $v0, $zero, 2
/* 11318 80035F18 10600007 */ beqz $v1, .L80035F38
/* 1131C 80035F1C 00000000 */ nop
/* 11320 80035F20 0800D83B */ j .L800360EC
/* 11324 80035F24 00000000 */ nop
.L80035F28:
/* 11328 80035F28 10620055 */ beq $v1, $v0, .L80036080
/* 1132C 80035F2C 00000000 */ nop
/* 11330 80035F30 0800D83B */ j .L800360EC
/* 11334 80035F34 00000000 */ nop
.L80035F38:
/* 11338 80035F38 3C04800A */ lui $a0, %hi(D_800A0946)
/* 1133C 80035F3C 24840946 */ addiu $a0, $a0, %lo(D_800A0946)
/* 11340 80035F40 84820000 */ lh $v0, ($a0)
/* 11344 80035F44 94830000 */ lhu $v1, ($a0)
/* 11348 80035F48 1440003B */ bnez $v0, .L80036038
/* 1134C 80035F4C 2462FFFF */ addiu $v0, $v1, -1
/* 11350 80035F50 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 11354 80035F54 2463419C */ addiu $v1, $v1, %lo(gGameStatusPtr)
/* 11358 80035F58 8C620000 */ lw $v0, ($v1)
/* 1135C 80035F5C A0400070 */ sb $zero, 0x70($v0)
/* 11360 80035F60 8C620000 */ lw $v0, ($v1)
/* 11364 80035F64 A0400078 */ sb $zero, 0x78($v0)
/* 11368 80035F68 3C02800A */ lui $v0, %hi(D_800A0948)
/* 1136C 80035F6C 84420948 */ lh $v0, %lo(D_800A0948)($v0)
/* 11370 80035F70 14400006 */ bnez $v0, .L80035F8C
/* 11374 80035F74 24060001 */ addiu $a2, $zero, 1
/* 11378 80035F78 8C620000 */ lw $v0, ($v1)
/* 1137C 80035F7C 84440086 */ lh $a0, 0x86($v0)
/* 11380 80035F80 8445008C */ lh $a1, 0x8c($v0)
/* 11384 80035F84 0800D7E6 */ j .L80035F98
/* 11388 80035F88 0000302D */ daddu $a2, $zero, $zero
.L80035F8C:
/* 1138C 80035F8C 8C620000 */ lw $v0, ($v1)
/* 11390 80035F90 84440086 */ lh $a0, 0x86($v0)
/* 11394 80035F94 8445008C */ lh $a1, 0x8c($v0)
.L80035F98:
/* 11398 80035F98 0C0169BD */ jal load_map_by_IDs
/* 1139C 80035F9C 00000000 */ nop
/* 113A0 80035FA0 3C108007 */ lui $s0, %hi(gGameStatusPtr)
/* 113A4 80035FA4 2610419C */ addiu $s0, $s0, %lo(gGameStatusPtr)
/* 113A8 80035FA8 8E020000 */ lw $v0, ($s0)
/* 113AC 80035FAC 94430086 */ lhu $v1, 0x86($v0)
/* 113B0 80035FB0 0000202D */ daddu $a0, $zero, $zero
/* 113B4 80035FB4 0C009C22 */ jal set_time_freeze_mode
/* 113B8 80035FB8 A4430088 */ sh $v1, 0x88($v0)
/* 113BC 80035FBC 8E020000 */ lw $v0, ($s0)
/* 113C0 80035FC0 80420071 */ lb $v0, 0x71($v0)
/* 113C4 80035FC4 14400003 */ bnez $v0, .L80035FD4
/* 113C8 80035FC8 00000000 */ nop
/* 113CC 80035FCC 0C03805E */ jal disable_player_input
/* 113D0 80035FD0 00000000 */ nop
.L80035FD4:
/* 113D4 80035FD4 0C00B500 */ jal update_cameras
/* 113D8 80035FD8 00000000 */ nop
/* 113DC 80035FDC 3C02800A */ lui $v0, %hi(D_800A0944)
/* 113E0 80035FE0 24420944 */ addiu $v0, $v0, %lo(D_800A0944)
/* 113E4 80035FE4 94430000 */ lhu $v1, ($v0)
/* 113E8 80035FE8 24040002 */ addiu $a0, $zero, 2
/* 113EC 80035FEC 3C01800A */ lui $at, %hi(D_800A0946)
/* 113F0 80035FF0 A4240946 */ sh $a0, %lo(D_800A0946)($at)
/* 113F4 80035FF4 24630001 */ addiu $v1, $v1, 1
/* 113F8 80035FF8 0800D83B */ j .L800360EC
/* 113FC 80035FFC A4430000 */ sh $v1, ($v0)
.L80036000:
/* 11400 80036000 0C00F949 */ jal update_encounters
/* 11404 80036004 00000000 */ nop
/* 11408 80036008 0C00E64C */ jal update_npcs
/* 1140C 8003600C 00000000 */ nop
/* 11410 80036010 0C037DD0 */ jal update_player
/* 11414 80036014 00000000 */ nop
/* 11418 80036018 0C00B500 */ jal update_cameras
/* 1141C 8003601C 00000000 */ nop
/* 11420 80036020 3C04800A */ lui $a0, %hi(D_800A0946)
/* 11424 80036024 24840946 */ addiu $a0, $a0, %lo(D_800A0946)
/* 11428 80036028 84820000 */ lh $v0, ($a0)
/* 1142C 8003602C 94830000 */ lhu $v1, ($a0)
/* 11430 80036030 10400003 */ beqz $v0, .L80036040
/* 11434 80036034 2462FFFF */ addiu $v0, $v1, -1
.L80036038:
/* 11438 80036038 0800D83B */ j .L800360EC
/* 1143C 8003603C A4820000 */ sh $v0, ($a0)
.L80036040:
/* 11440 80036040 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 11444 80036044 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 11448 80036048 0C0B1059 */ jal does_script_exist
/* 1144C 8003604C 8C44006C */ lw $a0, 0x6c($v0)
/* 11450 80036050 14400026 */ bnez $v0, .L800360EC
/* 11454 80036054 00000000 */ nop
/* 11458 80036058 3C05800A */ lui $a1, %hi(gOverrideFlags)
/* 1145C 8003605C 24A5A650 */ addiu $a1, $a1, %lo(gOverrideFlags)
/* 11460 80036060 2404FFF7 */ addiu $a0, $zero, -9
/* 11464 80036064 8CA20000 */ lw $v0, ($a1)
/* 11468 80036068 96030000 */ lhu $v1, ($s0)
/* 1146C 8003606C 00441024 */ and $v0, $v0, $a0
/* 11470 80036070 24630001 */ addiu $v1, $v1, 1
/* 11474 80036074 ACA20000 */ sw $v0, ($a1)
/* 11478 80036078 0800D83B */ j .L800360EC
/* 1147C 8003607C A6030000 */ sh $v1, ($s0)
.L80036080:
/* 11480 80036080 0C00E64C */ jal update_npcs
/* 11484 80036084 00000000 */ nop
/* 11488 80036088 0C037DD0 */ jal update_player
/* 1148C 8003608C 00000000 */ nop
/* 11490 80036090 0C016754 */ jal update_effects
/* 11494 80036094 00000000 */ nop
/* 11498 80036098 0C00B500 */ jal update_cameras
/* 1149C 8003609C 00000000 */ nop
/* 114A0 800360A0 3C04800A */ lui $a0, %hi(gMapTransitionAlpha)
/* 114A4 800360A4 24840940 */ addiu $a0, $a0, %lo(gMapTransitionAlpha)
/* 114A8 800360A8 0C04E175 */ jal update_enter_map_screen_overlay
/* 114AC 800360AC 00000000 */ nop
/* 114B0 800360B0 00021400 */ sll $v0, $v0, 0x10
/* 114B4 800360B4 1040000D */ beqz $v0, .L800360EC
/* 114B8 800360B8 00000000 */ nop
/* 114BC 800360BC 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 114C0 800360C0 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 114C4 800360C4 80420071 */ lb $v0, 0x71($v0)
/* 114C8 800360C8 14400003 */ bnez $v0, .L800360D8
/* 114CC 800360CC 00000000 */ nop
/* 114D0 800360D0 0C038069 */ jal enable_player_input
/* 114D4 800360D4 00000000 */ nop
.L800360D8:
/* 114D8 800360D8 3C05BF80 */ lui $a1, 0xbf80
/* 114DC 800360DC 0C04DF62 */ jal set_screen_overlay_params_front
/* 114E0 800360E0 240400FF */ addiu $a0, $zero, 0xff
/* 114E4 800360E4 0C00CD3C */ jal set_game_mode
/* 114E8 800360E8 24040004 */ addiu $a0, $zero, 4
.L800360EC:
/* 114EC 800360EC 8FBF0014 */ lw $ra, 0x14($sp)
/* 114F0 800360F0 8FB00010 */ lw $s0, 0x10($sp)
/* 114F4 800360F4 03E00008 */ jr $ra
/* 114F8 800360F8 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,211 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel render_effects_UI
/* 35394 80059F94 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 35398 80059F98 F7B40030 */ sdc1 $f20, 0x30($sp)
/* 3539C 80059F9C 3C014080 */ lui $at, 0x4080
/* 353A0 80059FA0 4481A000 */ mtc1 $at, $f20
/* 353A4 80059FA4 AFB10014 */ sw $s1, 0x14($sp)
/* 353A8 80059FA8 24110001 */ addiu $s1, $zero, 1
/* 353AC 80059FAC AFB20018 */ sw $s2, 0x18($sp)
/* 353B0 80059FB0 0000902D */ daddu $s2, $zero, $zero
/* 353B4 80059FB4 AFB50024 */ sw $s5, 0x24($sp)
/* 353B8 80059FB8 3C15800B */ lui $s5, %hi(gCameras)
/* 353BC 80059FBC 26B51D80 */ addiu $s5, $s5, %lo(gCameras)
/* 353C0 80059FC0 AFB00010 */ sw $s0, 0x10($sp)
/* 353C4 80059FC4 3C10800A */ lui $s0, %hi(gMasterGfxPos)
/* 353C8 80059FC8 2610A66C */ addiu $s0, $s0, %lo(gMasterGfxPos)
/* 353CC 80059FCC AFB40020 */ sw $s4, 0x20($sp)
/* 353D0 80059FD0 24140002 */ addiu $s4, $zero, 2
/* 353D4 80059FD4 AFB3001C */ sw $s3, 0x1c($sp)
/* 353D8 80059FD8 3413FFFE */ ori $s3, $zero, 0xfffe
/* 353DC 80059FDC AFBF0028 */ sw $ra, 0x28($sp)
/* 353E0 80059FE0 00121080 */ sll $v0, $s2, 2
.L80059FE4:
/* 353E4 80059FE4 3C0E800B */ lui $t6, %hi(D_800B4398)
/* 353E8 80059FE8 01C27021 */ addu $t6, $t6, $v0
/* 353EC 80059FEC 8DCE4398 */ lw $t6, %lo(D_800B4398)($t6)
/* 353F0 80059FF0 51C000A5 */ beql $t6, $zero, .L8005A288
/* 353F4 80059FF4 26520001 */ addiu $s2, $s2, 1
/* 353F8 80059FF8 8DC30000 */ lw $v1, ($t6)
/* 353FC 80059FFC 30620001 */ andi $v0, $v1, 1
/* 35400 8005A000 504000A1 */ beql $v0, $zero, .L8005A288
/* 35404 8005A004 26520001 */ addiu $s2, $s2, 1
/* 35408 8005A008 30620008 */ andi $v0, $v1, 8
/* 3540C 8005A00C 5040009E */ beql $v0, $zero, .L8005A288
/* 35410 8005A010 26520001 */ addiu $s2, $s2, 1
/* 35414 8005A014 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 35418 8005A018 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 3541C 8005A01C 80420070 */ lb $v0, 0x70($v0)
/* 35420 8005A020 10400005 */ beqz $v0, .L8005A038
/* 35424 8005A024 30620004 */ andi $v0, $v1, 4
/* 35428 8005A028 50400097 */ beql $v0, $zero, .L8005A288
/* 3542C 8005A02C 26520001 */ addiu $s2, $s2, 1
/* 35430 8005A030 08016810 */ j .L8005A040
/* 35434 8005A034 00000000 */ nop
.L8005A038:
/* 35438 8005A038 54400093 */ bnel $v0, $zero, .L8005A288
/* 3543C 8005A03C 26520001 */ addiu $s2, $s2, 1
.L8005A040:
/* 35440 8005A040 8DC20010 */ lw $v0, 0x10($t6)
/* 35444 8005A044 8C4F0018 */ lw $t7, 0x18($v0)
/* 35448 8005A048 3C028006 */ lui $v0, %hi(stub_effect_delegate)
/* 3544C 8005A04C 24429C80 */ addiu $v0, $v0, %lo(stub_effect_delegate)
/* 35450 8005A050 51E2008D */ beql $t7, $v0, .L8005A288
/* 35454 8005A054 26520001 */ addiu $s2, $s2, 1
/* 35458 8005A058 12200088 */ beqz $s1, .L8005A27C
/* 3545C 8005A05C 3C04DC08 */ lui $a0, 0xdc08
/* 35460 8005A060 34840008 */ ori $a0, $a0, 8
/* 35464 8005A064 3C06D9FF */ lui $a2, 0xd9ff
/* 35468 8005A068 34C6FFFF */ ori $a2, $a2, 0xffff
/* 3546C 8005A06C 3C050020 */ lui $a1, 0x20
/* 35470 8005A070 34A50405 */ ori $a1, $a1, 0x405
/* 35474 8005A074 3C07DB04 */ lui $a3, 0xdb04
/* 35478 8005A078 34E70004 */ ori $a3, $a3, 4
/* 3547C 8005A07C 3C08DB04 */ lui $t0, 0xdb04
/* 35480 8005A080 3508000C */ ori $t0, $t0, 0xc
/* 35484 8005A084 3C09DB04 */ lui $t1, 0xdb04
/* 35488 8005A088 35290014 */ ori $t1, $t1, 0x14
/* 3548C 8005A08C 3C0ADB04 */ lui $t2, 0xdb04
/* 35490 8005A090 8E0B0000 */ lw $t3, ($s0)
/* 35494 8005A094 354A001C */ ori $t2, $t2, 0x1c
/* 35498 8005A098 0160182D */ daddu $v1, $t3, $zero
/* 3549C 8005A09C 256B0008 */ addiu $t3, $t3, 8
/* 354A0 8005A0A0 AE0B0000 */ sw $t3, ($s0)
/* 354A4 8005A0A4 3C0D8007 */ lui $t5, %hi(gCurrentCameraID)
/* 354A8 8005A0A8 8DAD7410 */ lw $t5, %lo(gCurrentCameraID)($t5)
/* 354AC 8005A0AC 3C02E700 */ lui $v0, 0xe700
/* 354B0 8005A0B0 AC620000 */ sw $v0, ($v1)
/* 354B4 8005A0B4 25620008 */ addiu $v0, $t3, 8
/* 354B8 8005A0B8 AC600004 */ sw $zero, 4($v1)
/* 354BC 8005A0BC AE020000 */ sw $v0, ($s0)
/* 354C0 8005A0C0 AD640000 */ sw $a0, ($t3)
/* 354C4 8005A0C4 3C04ED00 */ lui $a0, 0xed00
/* 354C8 8005A0C8 000D1080 */ sll $v0, $t5, 2
/* 354CC 8005A0CC 004D1021 */ addu $v0, $v0, $t5
/* 354D0 8005A0D0 00021080 */ sll $v0, $v0, 2
/* 354D4 8005A0D4 004D1023 */ subu $v0, $v0, $t5
/* 354D8 8005A0D8 000218C0 */ sll $v1, $v0, 3
/* 354DC 8005A0DC 00431021 */ addu $v0, $v0, $v1
/* 354E0 8005A0E0 000210C0 */ sll $v0, $v0, 3
/* 354E4 8005A0E4 00556021 */ addu $t4, $v0, $s5
/* 354E8 8005A0E8 258200A0 */ addiu $v0, $t4, 0xa0
/* 354EC 8005A0EC AD620004 */ sw $v0, 4($t3)
/* 354F0 8005A0F0 25620010 */ addiu $v0, $t3, 0x10
/* 354F4 8005A0F4 AE020000 */ sw $v0, ($s0)
/* 354F8 8005A0F8 3C02D900 */ lui $v0, 0xd900
/* 354FC 8005A0FC AD620008 */ sw $v0, 8($t3)
/* 35500 8005A100 25620018 */ addiu $v0, $t3, 0x18
/* 35504 8005A104 AD60000C */ sw $zero, 0xc($t3)
/* 35508 8005A108 AE020000 */ sw $v0, ($s0)
/* 3550C 8005A10C 25620020 */ addiu $v0, $t3, 0x20
/* 35510 8005A110 AD660010 */ sw $a2, 0x10($t3)
/* 35514 8005A114 AD650014 */ sw $a1, 0x14($t3)
/* 35518 8005A118 AE020000 */ sw $v0, ($s0)
/* 3551C 8005A11C 8583000E */ lh $v1, 0xe($t4)
/* 35520 8005A120 25620028 */ addiu $v0, $t3, 0x28
/* 35524 8005A124 AE020000 */ sw $v0, ($s0)
/* 35528 8005A128 44831000 */ mtc1 $v1, $f2
/* 3552C 8005A12C 00000000 */ nop
/* 35530 8005A130 468010A0 */ cvt.s.w $f2, $f2
/* 35534 8005A134 46141082 */ mul.s $f2, $f2, $f20
/* 35538 8005A138 00000000 */ nop
/* 3553C 8005A13C 85830010 */ lh $v1, 0x10($t4)
/* 35540 8005A140 25620030 */ addiu $v0, $t3, 0x30
/* 35544 8005A144 AE020000 */ sw $v0, ($s0)
/* 35548 8005A148 25620038 */ addiu $v0, $t3, 0x38
/* 3554C 8005A14C 44830000 */ mtc1 $v1, $f0
/* 35550 8005A150 00000000 */ nop
/* 35554 8005A154 46800020 */ cvt.s.w $f0, $f0
/* 35558 8005A158 46140002 */ mul.s $f0, $f0, $f20
/* 3555C 8005A15C 00000000 */ nop
/* 35560 8005A160 AE020000 */ sw $v0, ($s0)
/* 35564 8005A164 4600110D */ trunc.w.s $f4, $f2
/* 35568 8005A168 44032000 */ mfc1 $v1, $f4
/* 3556C 8005A16C 00000000 */ nop
/* 35570 8005A170 30630FFF */ andi $v1, $v1, 0xfff
/* 35574 8005A174 00031B00 */ sll $v1, $v1, 0xc
/* 35578 8005A178 4600010D */ trunc.w.s $f4, $f0
/* 3557C 8005A17C 44022000 */ mfc1 $v0, $f4
/* 35580 8005A180 00000000 */ nop
/* 35584 8005A184 30420FFF */ andi $v0, $v0, 0xfff
/* 35588 8005A188 00441025 */ or $v0, $v0, $a0
/* 3558C 8005A18C 00621825 */ or $v1, $v1, $v0
/* 35590 8005A190 AD630018 */ sw $v1, 0x18($t3)
/* 35594 8005A194 8583000E */ lh $v1, 0xe($t4)
/* 35598 8005A198 8585000A */ lh $a1, 0xa($t4)
/* 3559C 8005A19C 85840010 */ lh $a0, 0x10($t4)
/* 355A0 8005A1A0 8586000C */ lh $a2, 0xc($t4)
/* 355A4 8005A1A4 25620040 */ addiu $v0, $t3, 0x40
/* 355A8 8005A1A8 AE020000 */ sw $v0, ($s0)
/* 355AC 8005A1AC AD670020 */ sw $a3, 0x20($t3)
/* 355B0 8005A1B0 AD740024 */ sw $s4, 0x24($t3)
/* 355B4 8005A1B4 AD680028 */ sw $t0, 0x28($t3)
/* 355B8 8005A1B8 00651821 */ addu $v1, $v1, $a1
/* 355BC 8005A1BC 44831000 */ mtc1 $v1, $f2
/* 355C0 8005A1C0 00000000 */ nop
/* 355C4 8005A1C4 468010A0 */ cvt.s.w $f2, $f2
/* 355C8 8005A1C8 46141082 */ mul.s $f2, $f2, $f20
/* 355CC 8005A1CC 00000000 */ nop
/* 355D0 8005A1D0 AD74002C */ sw $s4, 0x2c($t3)
/* 355D4 8005A1D4 AD690030 */ sw $t1, 0x30($t3)
/* 355D8 8005A1D8 00862021 */ addu $a0, $a0, $a2
/* 355DC 8005A1DC 44840000 */ mtc1 $a0, $f0
/* 355E0 8005A1E0 00000000 */ nop
/* 355E4 8005A1E4 46800020 */ cvt.s.w $f0, $f0
/* 355E8 8005A1E8 46140002 */ mul.s $f0, $f0, $f20
/* 355EC 8005A1EC 00000000 */ nop
/* 355F0 8005A1F0 AD730034 */ sw $s3, 0x34($t3)
/* 355F4 8005A1F4 4600110D */ trunc.w.s $f4, $f2
/* 355F8 8005A1F8 44032000 */ mfc1 $v1, $f4
/* 355FC 8005A1FC 00000000 */ nop
/* 35600 8005A200 30630FFF */ andi $v1, $v1, 0xfff
/* 35604 8005A204 00031B00 */ sll $v1, $v1, 0xc
/* 35608 8005A208 4600010D */ trunc.w.s $f4, $f0
/* 3560C 8005A20C 44022000 */ mfc1 $v0, $f4
/* 35610 8005A210 00000000 */ nop
/* 35614 8005A214 30420FFF */ andi $v0, $v0, 0xfff
/* 35618 8005A218 00621825 */ or $v1, $v1, $v0
/* 3561C 8005A21C AD63001C */ sw $v1, 0x1c($t3)
/* 35620 8005A220 AD6A0038 */ sw $t2, 0x38($t3)
/* 35624 8005A224 AD73003C */ sw $s3, 0x3c($t3)
/* 35628 8005A228 95820000 */ lhu $v0, ($t4)
/* 3562C 8005A22C 30420010 */ andi $v0, $v0, 0x10
/* 35630 8005A230 14400012 */ bnez $v0, .L8005A27C
/* 35634 8005A234 0000882D */ daddu $s1, $zero, $zero
/* 35638 8005A238 3C04DA38 */ lui $a0, 0xda38
/* 3563C 8005A23C 34840007 */ ori $a0, $a0, 7
/* 35640 8005A240 25620048 */ addiu $v0, $t3, 0x48
/* 35644 8005A244 AE020000 */ sw $v0, ($s0)
/* 35648 8005A248 3C02DB0E */ lui $v0, 0xdb0e
/* 3564C 8005A24C AD620040 */ sw $v0, 0x40($t3)
/* 35650 8005A250 95830038 */ lhu $v1, 0x38($t4)
/* 35654 8005A254 25620050 */ addiu $v0, $t3, 0x50
/* 35658 8005A258 AE020000 */ sw $v0, ($s0)
/* 3565C 8005A25C 000D1180 */ sll $v0, $t5, 6
/* 35660 8005A260 AD630044 */ sw $v1, 0x44($t3)
/* 35664 8005A264 3C03800A */ lui $v1, %hi(gDisplayContext)
/* 35668 8005A268 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1)
/* 3566C 8005A26C 24420030 */ addiu $v0, $v0, 0x30
/* 35670 8005A270 AD640048 */ sw $a0, 0x48($t3)
/* 35674 8005A274 00621821 */ addu $v1, $v1, $v0
/* 35678 8005A278 AD63004C */ sw $v1, 0x4c($t3)
.L8005A27C:
/* 3567C 8005A27C 01E0F809 */ jalr $t7
/* 35680 8005A280 01C0202D */ daddu $a0, $t6, $zero
/* 35684 8005A284 26520001 */ addiu $s2, $s2, 1
.L8005A288:
/* 35688 8005A288 2A420060 */ slti $v0, $s2, 0x60
/* 3568C 8005A28C 5440FF55 */ bnel $v0, $zero, .L80059FE4
/* 35690 8005A290 00121080 */ sll $v0, $s2, 2
/* 35694 8005A294 8FBF0028 */ lw $ra, 0x28($sp)
/* 35698 8005A298 8FB50024 */ lw $s5, 0x24($sp)
/* 3569C 8005A29C 8FB40020 */ lw $s4, 0x20($sp)
/* 356A0 8005A2A0 8FB3001C */ lw $s3, 0x1c($sp)
/* 356A4 8005A2A4 8FB20018 */ lw $s2, 0x18($sp)
/* 356A8 8005A2A8 8FB10014 */ lw $s1, 0x14($sp)
/* 356AC 8005A2AC 8FB00010 */ lw $s0, 0x10($sp)
/* 356B0 8005A2B0 D7B40030 */ ldc1 $f20, 0x30($sp)
/* 356B4 8005A2B4 03E00008 */ jr $ra
/* 356B8 8005A2B8 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -13,8 +13,8 @@ glabel update_effects
/* 35170 80059D70 14400059 */ bnez $v0, .L80059ED8
/* 35174 80059D74 AFB00010 */ sw $s0, 0x10($sp)
/* 35178 80059D78 0000902D */ daddu $s2, $zero, $zero
/* 3517C 80059D7C 3C10800A */ lui $s0, %hi(D_800A4000)
/* 35180 80059D80 26104000 */ addiu $s0, $s0, %lo(D_800A4000)
/* 3517C 80059D7C 3C10800A */ lui $s0, %hi(gEffectGraphicsData)
/* 35180 80059D80 26104000 */ addiu $s0, $s0, %lo(gEffectGraphicsData)
/* 35184 80059D84 24040003 */ addiu $a0, $zero, 3
.L80059D88:
/* 35188 80059D88 8E030000 */ lw $v1, ($s0)
@ -33,8 +33,8 @@ glabel update_effects
/* 351B8 80059DB8 26100020 */ addiu $s0, $s0, 0x20
/* 351BC 80059DBC 0000902D */ daddu $s2, $zero, $zero
/* 351C0 80059DC0 2413FFFD */ addiu $s3, $zero, -3
/* 351C4 80059DC4 3C11800B */ lui $s1, %hi(D_800B4398)
/* 351C8 80059DC8 26314398 */ addiu $s1, $s1, %lo(D_800B4398)
/* 351C4 80059DC4 3C11800B */ lui $s1, %hi(gEffectInstances)
/* 351C8 80059DC8 26314398 */ addiu $s1, $s1, %lo(gEffectInstances)
.L80059DCC:
/* 351CC 80059DCC 8E300000 */ lw $s0, ($s1)
/* 351D0 80059DD0 52000020 */ beql $s0, $zero, .L80059E54
@ -77,8 +77,8 @@ glabel update_effects
/* 35258 80059E58 1440FFDC */ bnez $v0, .L80059DCC
/* 3525C 80059E5C 26310004 */ addiu $s1, $s1, 4
/* 35260 80059E60 0000902D */ daddu $s2, $zero, $zero
/* 35264 80059E64 3C10800A */ lui $s0, %hi(D_800A4000)
/* 35268 80059E68 26104000 */ addiu $s0, $s0, %lo(D_800A4000)
/* 35264 80059E64 3C10800A */ lui $s0, %hi(gEffectGraphicsData)
/* 35268 80059E68 26104000 */ addiu $s0, $s0, %lo(gEffectGraphicsData)
/* 3526C 80059E6C 2611001C */ addiu $s1, $s0, 0x1c
.L80059E70:
/* 35270 80059E70 8E030000 */ lw $v1, ($s0)

View File

@ -1,30 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_802AC880
.word 0x802A9B1C, 0x802A9B1C, 0x802A9B1C, 0x802A9B1C, 0x802A9B1C, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B1C, 0x802A9B1C, 0x802A9B1C, 0x802A9B1C, 0x802A9B1C, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B1C, 0x802A9B1C, 0x802A9B1C, 0x802A9B1C, 0x802A9B1C, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B1C, 0x802A9B1C, 0x802A9B1C, 0x802A9B1C, 0x802A9B1C, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B1C, 0x802A9B1C, 0x802A9B1C, 0x802A9B1C, 0x802A9B1C, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B1C, 0x802A9B1C, 0x802A9B1C, 0x802A9B1C, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B1C, 0x802A9B1C, 0x802A9B1C, 0x802A9B1C, 0x802A9B1C, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B24, 0x802A9B1C, 0x802A9B1C, 0x802A9B1C, 0x802A9B1C, 0x802A9B1C, 0x802A9B1C
.section .text
glabel btl_state_draw_partner_menu
/* 41E878 802A9AE8 3C02800E */ lui $v0, %hi(gBattleState2)
/* 41E87C 802A9AEC 8C42C4DC */ lw $v0, %lo(gBattleState2)($v0)
/* 41E880 802A9AF0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 41E884 802A9AF4 2443FFFE */ addiu $v1, $v0, -2
/* 41E888 802A9AF8 2C6200CC */ sltiu $v0, $v1, 0xcc
/* 41E88C 802A9AFC 10400009 */ beqz $v0, .L802A9B24
/* 41E890 802A9B00 AFBF0010 */ sw $ra, 0x10($sp)
/* 41E894 802A9B04 00031080 */ sll $v0, $v1, 2
/* 41E898 802A9B08 3C01802B */ lui $at, %hi(D_802AC880)
/* 41E89C 802A9B0C 00220821 */ addu $at, $at, $v0
/* 41E8A0 802A9B10 8C22C880 */ lw $v0, %lo(D_802AC880)($at)
/* 41E8A4 802A9B14 00400008 */ jr $v0
/* 41E8A8 802A9B18 00000000 */ nop
/* 41E8AC 802A9B1C 0C0A8715 */ jal btl_draw_menu_wheel
/* 41E8B0 802A9B20 00000000 */ nop
.L802A9B24:
/* 41E8B4 802A9B24 8FBF0010 */ lw $ra, 0x10($sp)
/* 41E8B8 802A9B28 03E00008 */ jr $ra
/* 41E8BC 802A9B2C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,93 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802A2684
/* 417414 802A2684 3C03802B */ lui $v1, %hi(D_802AD4A8)
/* 417418 802A2688 2463D4A8 */ addiu $v1, $v1, %lo(D_802AD4A8)
/* 41741C 802A268C 3C05802B */ lui $a1, %hi(battle_menu_moveOptionCount)
/* 417420 802A2690 24A5D4A4 */ addiu $a1, $a1, %lo(battle_menu_moveOptionCount)
/* 417424 802A2694 8C620000 */ lw $v0, ($v1)
/* 417428 802A2698 8CA70000 */ lw $a3, ($a1)
/* 41742C 802A269C 0047102A */ slt $v0, $v0, $a3
/* 417430 802A26A0 14400002 */ bnez $v0, .L802A26AC
/* 417434 802A26A4 24E2FFFF */ addiu $v0, $a3, -1
/* 417438 802A26A8 AC620000 */ sw $v0, ($v1)
.L802A26AC:
/* 41743C 802A26AC 3C01802B */ lui $at, %hi(battle_menu_moveState)
/* 417440 802A26B0 A020D108 */ sb $zero, %lo(battle_menu_moveState)($at)
/* 417444 802A26B4 90640003 */ lbu $a0, 3($v1)
/* 417448 802A26B8 3C03802B */ lui $v1, %hi(battle_menu_moveScrollLine)
/* 41744C 802A26BC 2463D10C */ addiu $v1, $v1, %lo(battle_menu_moveScrollLine)
/* 417450 802A26C0 A0600000 */ sb $zero, ($v1)
/* 417454 802A26C4 3C01802B */ lui $at, %hi(battle_menu_moveCursorPos)
/* 417458 802A26C8 A024D109 */ sb $a0, %lo(battle_menu_moveCursorPos)($at)
/* 41745C 802A26CC 3C01802B */ lui $at, %hi(D_802AD10A)
/* 417460 802A26D0 A024D10A */ sb $a0, %lo(D_802AD10A)($at)
/* 417464 802A26D4 90A60003 */ lbu $a2, 3($a1)
/* 417468 802A26D8 3C09802B */ lui $t1, %hi(D_802AD10E)
/* 41746C 802A26DC 2529D10E */ addiu $t1, $t1, %lo(D_802AD10E)
/* 417470 802A26E0 00061600 */ sll $v0, $a2, 0x18
/* 417474 802A26E4 00021603 */ sra $v0, $v0, 0x18
/* 417478 802A26E8 28420007 */ slti $v0, $v0, 7
/* 41747C 802A26EC 14400003 */ bnez $v0, .L802A26FC
/* 417480 802A26F0 A1260000 */ sb $a2, ($t1)
/* 417484 802A26F4 24020006 */ addiu $v0, $zero, 6
/* 417488 802A26F8 A1220000 */ sb $v0, ($t1)
.L802A26FC:
/* 41748C 802A26FC 3C08802B */ lui $t0, %hi(D_802AD10D)
/* 417490 802A2700 2508D10D */ addiu $t0, $t0, %lo(D_802AD10D)
/* 417494 802A2704 24020006 */ addiu $v0, $zero, 6
/* 417498 802A2708 A1020000 */ sb $v0, ($t0)
/* 41749C 802A270C 28E20006 */ slti $v0, $a3, 6
/* 4174A0 802A2710 54400001 */ bnel $v0, $zero, .L802A2718
/* 4174A4 802A2714 A1060000 */ sb $a2, ($t0)
.L802A2718:
/* 4174A8 802A2718 240200FF */ addiu $v0, $zero, 0xff
/* 4174AC 802A271C 3C01802B */ lui $at, %hi(battle_menu_moveTextOpacity)
/* 4174B0 802A2720 A422D116 */ sh $v0, %lo(battle_menu_moveTextOpacity)($at)
/* 4174B4 802A2724 24020001 */ addiu $v0, $zero, 1
/* 4174B8 802A2728 3C01802B */ lui $at, %hi(D_802AD10F)
/* 4174BC 802A272C A022D10F */ sb $v0, %lo(D_802AD10F)($at)
/* 4174C0 802A2730 00041600 */ sll $v0, $a0, 0x18
/* 4174C4 802A2734 00022E03 */ sra $a1, $v0, 0x18
/* 4174C8 802A2738 04A20001 */ bltzl $a1, .L802A2740
/* 4174CC 802A273C A0640000 */ sb $a0, ($v1)
.L802A2740:
/* 4174D0 802A2740 81020000 */ lb $v0, ($t0)
/* 4174D4 802A2744 00A2102A */ slt $v0, $a1, $v0
/* 4174D8 802A2748 14400005 */ bnez $v0, .L802A2760
/* 4174DC 802A274C 00000000 */ nop
/* 4174E0 802A2750 91220000 */ lbu $v0, ($t1)
/* 4174E4 802A2754 2442FFFF */ addiu $v0, $v0, -1
/* 4174E8 802A2758 00821023 */ subu $v0, $a0, $v0
/* 4174EC 802A275C A0620000 */ sb $v0, ($v1)
.L802A2760:
/* 4174F0 802A2760 90630000 */ lbu $v1, ($v1)
/* 4174F4 802A2764 24620006 */ addiu $v0, $v1, 6
/* 4174F8 802A2768 A1020000 */ sb $v0, ($t0)
/* 4174FC 802A276C 00021600 */ sll $v0, $v0, 0x18
/* 417500 802A2770 00021603 */ sra $v0, $v0, 0x18
/* 417504 802A2774 00E2102A */ slt $v0, $a3, $v0
/* 417508 802A2778 54400001 */ bnel $v0, $zero, .L802A2780
/* 41750C 802A277C A1060000 */ sb $a2, ($t0)
.L802A2780:
/* 417510 802A2780 00031E00 */ sll $v1, $v1, 0x18
/* 417514 802A2784 00031E03 */ sra $v1, $v1, 0x18
/* 417518 802A2788 00032023 */ negu $a0, $v1
/* 41751C 802A278C 00041040 */ sll $v0, $a0, 1
/* 417520 802A2790 00441021 */ addu $v0, $v0, $a0
/* 417524 802A2794 00021080 */ sll $v0, $v0, 2
/* 417528 802A2798 00441021 */ addu $v0, $v0, $a0
/* 41752C 802A279C 00A31823 */ subu $v1, $a1, $v1
/* 417530 802A27A0 3C01802B */ lui $at, %hi(battle_menu_moveScrollOffset)
/* 417534 802A27A4 A422D110 */ sh $v0, %lo(battle_menu_moveScrollOffset)($at)
/* 417538 802A27A8 00031040 */ sll $v0, $v1, 1
/* 41753C 802A27AC 00431021 */ addu $v0, $v0, $v1
/* 417540 802A27B0 00021080 */ sll $v0, $v0, 2
/* 417544 802A27B4 00431021 */ addu $v0, $v0, $v1
/* 417548 802A27B8 3C01802B */ lui $at, %hi(D_802AD112)
/* 41754C 802A27BC A422D112 */ sh $v0, %lo(D_802AD112)($at)
/* 417550 802A27C0 3C01802B */ lui $at, %hi(battle_menu_moveOptionActive)
/* 417554 802A27C4 AC20D600 */ sw $zero, %lo(battle_menu_moveOptionActive)($at)
/* 417558 802A27C8 03E00008 */ jr $ra
/* 41755C 802A27CC 00000000 */ nop

View File

@ -1,85 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802A27E4
/* 417574 802A27E4 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 417578 802A27E8 24040001 */ addiu $a0, $zero, 1
/* 41757C 802A27EC 24050002 */ addiu $a1, $zero, 2
/* 417580 802A27F0 AFBF0018 */ sw $ra, 0x18($sp)
/* 417584 802A27F4 AFB10014 */ sw $s1, 0x14($sp)
/* 417588 802A27F8 0C051F9F */ jal set_window_update
/* 41758C 802A27FC AFB00010 */ sw $s0, 0x10($sp)
/* 417590 802A2800 3C02802B */ lui $v0, %hi(battle_menu_hasSpiritsMenu)
/* 417594 802A2804 8C42D4A0 */ lw $v0, %lo(battle_menu_hasSpiritsMenu)($v0)
/* 417598 802A2808 54400006 */ bnel $v0, $zero, .L802A2824
/* 41759C 802A280C 24040004 */ addiu $a0, $zero, 4
/* 4175A0 802A2810 24040002 */ addiu $a0, $zero, 2
/* 4175A4 802A2814 0C051F9F */ jal set_window_update
/* 4175A8 802A2818 0080282D */ daddu $a1, $a0, $zero
/* 4175AC 802A281C 080A8A0C */ j .L802A2830
/* 4175B0 802A2820 24040003 */ addiu $a0, $zero, 3
.L802A2824:
/* 4175B4 802A2824 0C051F9F */ jal set_window_update
/* 4175B8 802A2828 24050002 */ addiu $a1, $zero, 2
/* 4175BC 802A282C 24040005 */ addiu $a0, $zero, 5
.L802A2830:
/* 4175C0 802A2830 0C051F9F */ jal set_window_update
/* 4175C4 802A2834 24050002 */ addiu $a1, $zero, 2
/* 4175C8 802A2838 24040008 */ addiu $a0, $zero, 8
/* 4175CC 802A283C 0C051F9F */ jal set_window_update
/* 4175D0 802A2840 24050002 */ addiu $a1, $zero, 2
/* 4175D4 802A2844 3C02802B */ lui $v0, %hi(battle_menu_moveOptionCount)
/* 4175D8 802A2848 8C42D4A4 */ lw $v0, %lo(battle_menu_moveOptionCount)($v0)
/* 4175DC 802A284C 1840000C */ blez $v0, .L802A2880
/* 4175E0 802A2850 0000802D */ daddu $s0, $zero, $zero
/* 4175E4 802A2854 3C11802B */ lui $s1, %hi(battle_menu_moveOptionIconIDs)
/* 4175E8 802A2858 2631D128 */ addiu $s1, $s1, %lo(battle_menu_moveOptionIconIDs)
.L802A285C:
/* 4175EC 802A285C 8E240000 */ lw $a0, ($s1)
/* 4175F0 802A2860 0C05123D */ jal free_hud_element
/* 4175F4 802A2864 26310004 */ addiu $s1, $s1, 4
/* 4175F8 802A2868 3C02802B */ lui $v0, %hi(battle_menu_moveOptionCount)
/* 4175FC 802A286C 8C42D4A4 */ lw $v0, %lo(battle_menu_moveOptionCount)($v0)
/* 417600 802A2870 26100001 */ addiu $s0, $s0, 1
/* 417604 802A2874 0202102A */ slt $v0, $s0, $v0
/* 417608 802A2878 1440FFF8 */ bnez $v0, .L802A285C
/* 41760C 802A287C 00000000 */ nop
.L802A2880:
/* 417610 802A2880 3C04802B */ lui $a0, %hi(battle_menu_moveCursorIcon)
/* 417614 802A2884 8C84D118 */ lw $a0, %lo(battle_menu_moveCursorIcon)($a0)
/* 417618 802A2888 0C05123D */ jal free_hud_element
/* 41761C 802A288C 0000802D */ daddu $s0, $zero, $zero
/* 417620 802A2890 3C04802B */ lui $a0, %hi(battle_menu_moveUpArrowIcon)
/* 417624 802A2894 8C84D11C */ lw $a0, %lo(battle_menu_moveUpArrowIcon)($a0)
/* 417628 802A2898 0C05123D */ jal free_hud_element
/* 41762C 802A289C 00000000 */ nop
/* 417630 802A28A0 3C04802B */ lui $a0, %hi(battle_menu_moveDownArrowIcon)
/* 417634 802A28A4 8C84D120 */ lw $a0, %lo(battle_menu_moveDownArrowIcon)($a0)
/* 417638 802A28A8 0C05123D */ jal free_hud_element
/* 41763C 802A28AC 00000000 */ nop
/* 417640 802A28B0 3C04802B */ lui $a0, %hi(battle_menu_moveTitleIcon)
/* 417644 802A28B4 8C84D188 */ lw $a0, %lo(battle_menu_moveTitleIcon)($a0)
/* 417648 802A28B8 0C05123D */ jal free_hud_element
/* 41764C 802A28BC 00000000 */ nop
/* 417650 802A28C0 3C02802B */ lui $v0, %hi(battle_menu_moveOptionCount)
/* 417654 802A28C4 8C42D4A4 */ lw $v0, %lo(battle_menu_moveOptionCount)($v0)
/* 417658 802A28C8 1840000C */ blez $v0, .L802A28FC
/* 41765C 802A28CC 00000000 */ nop
/* 417660 802A28D0 3C11802B */ lui $s1, %hi(battle_menu_moveOptionCostUnitIconIDs)
/* 417664 802A28D4 2631D190 */ addiu $s1, $s1, %lo(battle_menu_moveOptionCostUnitIconIDs)
.L802A28D8:
/* 417668 802A28D8 8E240000 */ lw $a0, ($s1)
/* 41766C 802A28DC 0C05123D */ jal free_hud_element
/* 417670 802A28E0 26310004 */ addiu $s1, $s1, 4
/* 417674 802A28E4 3C02802B */ lui $v0, %hi(battle_menu_moveOptionCount)
/* 417678 802A28E8 8C42D4A4 */ lw $v0, %lo(battle_menu_moveOptionCount)($v0)
/* 41767C 802A28EC 26100001 */ addiu $s0, $s0, 1
/* 417680 802A28F0 0202102A */ slt $v0, $s0, $v0
/* 417684 802A28F4 1440FFF8 */ bnez $v0, .L802A28D8
/* 417688 802A28F8 00000000 */ nop
.L802A28FC:
/* 41768C 802A28FC 8FBF0018 */ lw $ra, 0x18($sp)
/* 417690 802A2900 8FB10014 */ lw $s1, 0x14($sp)
/* 417694 802A2904 8FB00010 */ lw $s0, 0x10($sp)
/* 417698 802A2908 03E00008 */ jr $ra
/* 41769C 802A290C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,53 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_802AB970
.word L802A44D0_419260, L802A4528_4192B8, L802A44D0_419260, L802A4528_4192B8, L802A4528_4192B8, L802A4528_4192B8, L802A4528_4192B8, L802A4528_4192B8, L802A4528_4192B8, L802A4528_4192B8, L802A4528_4192B8, L802A44D0_419260, L802A4528_4192B8, L802A4528_4192B8, L802A4528_4192B8, L802A4528_4192B8, L802A4528_4192B8, L802A4528_4192B8, L802A4528_4192B8, L802A4528_4192B8, L802A4528_4192B8, L802A44D0_419260, L802A4528_4192B8, L802A4528_4192B8, L802A4528_4192B8, L802A4528_4192B8, L802A4528_4192B8, L802A4528_4192B8, L802A4528_4192B8, L802A4528_4192B8, L802A4528_4192B8, L802A44D0_419260
.section .text
glabel func_802A4494
/* 419224 802A4494 3C02802B */ lui $v0, %hi(battle_menu_moveState)
/* 419228 802A4498 9042D108 */ lbu $v0, %lo(battle_menu_moveState)($v0)
/* 41922C 802A449C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 419230 802A44A0 24420001 */ addiu $v0, $v0, 1
/* 419234 802A44A4 00021600 */ sll $v0, $v0, 0x18
/* 419238 802A44A8 00021E03 */ sra $v1, $v0, 0x18
/* 41923C 802A44AC 2C620020 */ sltiu $v0, $v1, 0x20
/* 419240 802A44B0 1040001D */ beqz $v0, L802A4528_4192B8
/* 419244 802A44B4 AFBF0018 */ sw $ra, 0x18($sp)
/* 419248 802A44B8 00031080 */ sll $v0, $v1, 2
/* 41924C 802A44BC 3C01802B */ lui $at, %hi(jtbl_802AB970)
/* 419250 802A44C0 00220821 */ addu $at, $at, $v0
/* 419254 802A44C4 8C22B970 */ lw $v0, %lo(jtbl_802AB970)($at)
/* 419258 802A44C8 00400008 */ jr $v0
/* 41925C 802A44CC 00000000 */ nop
glabel L802A44D0_419260
/* 419260 802A44D0 3C02802B */ lui $v0, %hi(D_802AD10F)
/* 419264 802A44D4 8042D10F */ lb $v0, %lo(D_802AD10F)($v0)
/* 419268 802A44D8 10400013 */ beqz $v0, L802A4528_4192B8
/* 41926C 802A44DC 00000000 */ nop
/* 419270 802A44E0 3C02802B */ lui $v0, %hi(battle_menu_moveCursorPos)
/* 419274 802A44E4 8042D109 */ lb $v0, %lo(battle_menu_moveCursorPos)($v0)
/* 419278 802A44E8 3C03802B */ lui $v1, %hi(battle_menu_moveTextColor)
/* 41927C 802A44EC 8463D114 */ lh $v1, %lo(battle_menu_moveTextColor)($v1)
/* 419280 802A44F0 3C07802B */ lui $a3, %hi(battle_menu_moveTextOpacity)
/* 419284 802A44F4 84E7D116 */ lh $a3, %lo(battle_menu_moveTextOpacity)($a3)
/* 419288 802A44F8 00021080 */ sll $v0, $v0, 2
/* 41928C 802A44FC 3C01802B */ lui $at, %hi(battle_menu_moveOptionIndexMap)
/* 419290 802A4500 00220821 */ addu $at, $at, $v0
/* 419294 802A4504 8C22D1F8 */ lw $v0, %lo(battle_menu_moveOptionIndexMap)($at)
/* 419298 802A4508 AFA30010 */ sw $v1, 0x10($sp)
/* 41929C 802A450C AFA00014 */ sw $zero, 0x14($sp)
/* 4192A0 802A4510 00021080 */ sll $v0, $v0, 2
/* 4192A4 802A4514 3C04802B */ lui $a0, %hi(battle_menu_moveOptionDescriptions)
/* 4192A8 802A4518 00822021 */ addu $a0, $a0, $v0
/* 4192AC 802A451C 8C84D570 */ lw $a0, %lo(battle_menu_moveOptionDescriptions)($a0)
/* 4192B0 802A4520 0C04993B */ jal draw_string
/* 4192B4 802A4524 24A50008 */ addiu $a1, $a1, 8
glabel L802A4528_4192B8
/* 4192B8 802A4528 8FBF0018 */ lw $ra, 0x18($sp)
/* 4192BC 802A452C 03E00008 */ jr $ra
/* 4192C0 802A4530 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,89 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802A45D8
/* 419368 802A45D8 3C03802B */ lui $v1, %hi(D_802AD608)
/* 41936C 802A45DC 2463D608 */ addiu $v1, $v1, %lo(D_802AD608)
/* 419370 802A45E0 3C06802B */ lui $a2, %hi(D_802AD673)
/* 419374 802A45E4 90C6D673 */ lbu $a2, %lo(D_802AD673)($a2)
/* 419378 802A45E8 3C04802B */ lui $a0, %hi(D_802AD66C)
/* 41937C 802A45EC 2484D66C */ addiu $a0, $a0, %lo(D_802AD66C)
/* 419380 802A45F0 3C01802B */ lui $at, %hi(D_802AD604)
/* 419384 802A45F4 A020D604 */ sb $zero, %lo(D_802AD604)($at)
/* 419388 802A45F8 A0600000 */ sb $zero, ($v1)
/* 41938C 802A45FC 3C01802B */ lui $at, %hi(D_802AD605)
/* 419390 802A4600 A026D605 */ sb $a2, %lo(D_802AD605)($at)
/* 419394 802A4604 3C01802B */ lui $at, %hi(D_802AD606)
/* 419398 802A4608 A026D606 */ sb $a2, %lo(D_802AD606)($at)
/* 41939C 802A460C 90870003 */ lbu $a3, 3($a0)
/* 4193A0 802A4610 3C09802B */ lui $t1, %hi(D_802AD60A)
/* 4193A4 802A4614 2529D60A */ addiu $t1, $t1, %lo(D_802AD60A)
/* 4193A8 802A4618 00071600 */ sll $v0, $a3, 0x18
/* 4193AC 802A461C 00021603 */ sra $v0, $v0, 0x18
/* 4193B0 802A4620 28420007 */ slti $v0, $v0, 7
/* 4193B4 802A4624 14400003 */ bnez $v0, .L802A4634
/* 4193B8 802A4628 A1270000 */ sb $a3, ($t1)
/* 4193BC 802A462C 24020006 */ addiu $v0, $zero, 6
/* 4193C0 802A4630 A1220000 */ sb $v0, ($t1)
.L802A4634:
/* 4193C4 802A4634 3C08802B */ lui $t0, %hi(D_802AD609)
/* 4193C8 802A4638 2508D609 */ addiu $t0, $t0, %lo(D_802AD609)
/* 4193CC 802A463C 8C8A0000 */ lw $t2, ($a0)
/* 4193D0 802A4640 24020006 */ addiu $v0, $zero, 6
/* 4193D4 802A4644 A1020000 */ sb $v0, ($t0)
/* 4193D8 802A4648 0142102A */ slt $v0, $t2, $v0
/* 4193DC 802A464C 54400001 */ bnel $v0, $zero, .L802A4654
/* 4193E0 802A4650 A1070000 */ sb $a3, ($t0)
.L802A4654:
/* 4193E4 802A4654 240200FF */ addiu $v0, $zero, 0xff
/* 4193E8 802A4658 3C01802B */ lui $at, %hi(D_802AD624)
/* 4193EC 802A465C AC22D624 */ sw $v0, %lo(D_802AD624)($at)
/* 4193F0 802A4660 24020001 */ addiu $v0, $zero, 1
/* 4193F4 802A4664 00C0202D */ daddu $a0, $a2, $zero
/* 4193F8 802A4668 3C01802B */ lui $at, %hi(D_802AD60B)
/* 4193FC 802A466C A022D60B */ sb $v0, %lo(D_802AD60B)($at)
/* 419400 802A4670 00041600 */ sll $v0, $a0, 0x18
/* 419404 802A4674 00022E03 */ sra $a1, $v0, 0x18
/* 419408 802A4678 04A20001 */ bltzl $a1, .L802A4680
/* 41940C 802A467C A0640000 */ sb $a0, ($v1)
.L802A4680:
/* 419410 802A4680 81020000 */ lb $v0, ($t0)
/* 419414 802A4684 00A2102A */ slt $v0, $a1, $v0
/* 419418 802A4688 14400005 */ bnez $v0, .L802A46A0
/* 41941C 802A468C 00000000 */ nop
/* 419420 802A4690 91220000 */ lbu $v0, ($t1)
/* 419424 802A4694 2442FFFF */ addiu $v0, $v0, -1
/* 419428 802A4698 00C21023 */ subu $v0, $a2, $v0
/* 41942C 802A469C A0620000 */ sb $v0, ($v1)
.L802A46A0:
/* 419430 802A46A0 90630000 */ lbu $v1, ($v1)
/* 419434 802A46A4 24620006 */ addiu $v0, $v1, 6
/* 419438 802A46A8 A1020000 */ sb $v0, ($t0)
/* 41943C 802A46AC 00021600 */ sll $v0, $v0, 0x18
/* 419440 802A46B0 00021603 */ sra $v0, $v0, 0x18
/* 419444 802A46B4 0142102A */ slt $v0, $t2, $v0
/* 419448 802A46B8 54400001 */ bnel $v0, $zero, .L802A46C0
/* 41944C 802A46BC A1070000 */ sb $a3, ($t0)
.L802A46C0:
/* 419450 802A46C0 00031E00 */ sll $v1, $v1, 0x18
/* 419454 802A46C4 00031E03 */ sra $v1, $v1, 0x18
/* 419458 802A46C8 00032023 */ negu $a0, $v1
/* 41945C 802A46CC 00041040 */ sll $v0, $a0, 1
/* 419460 802A46D0 00441021 */ addu $v0, $v0, $a0
/* 419464 802A46D4 00021080 */ sll $v0, $v0, 2
/* 419468 802A46D8 00441021 */ addu $v0, $v0, $a0
/* 41946C 802A46DC 00A31823 */ subu $v1, $a1, $v1
/* 419470 802A46E0 3C01802B */ lui $at, %hi(D_802AD60C)
/* 419474 802A46E4 A422D60C */ sh $v0, %lo(D_802AD60C)($at)
/* 419478 802A46E8 00031040 */ sll $v0, $v1, 1
/* 41947C 802A46EC 00431021 */ addu $v0, $v0, $v1
/* 419480 802A46F0 00021080 */ sll $v0, $v0, 2
/* 419484 802A46F4 00431021 */ addu $v0, $v0, $v1
/* 419488 802A46F8 3C01802B */ lui $at, %hi(D_802AD60E)
/* 41948C 802A46FC A422D60E */ sh $v0, %lo(D_802AD60E)($at)
/* 419490 802A4700 3C01802B */ lui $at, %hi(D_802AD607)
/* 419494 802A4704 A020D607 */ sb $zero, %lo(D_802AD607)($at)
/* 419498 802A4708 3C01802B */ lui $at, %hi(D_802AD6D4)
/* 41949C 802A470C AC20D6D4 */ sw $zero, %lo(D_802AD6D4)($at)
/* 4194A0 802A4710 03E00008 */ jr $ra
/* 4194A4 802A4714 00000000 */ nop

View File

@ -1,77 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802A47E0
/* 419570 802A47E0 3C02802B */ lui $v0, %hi(D_802AD66C)
/* 419574 802A47E4 8C42D66C */ lw $v0, %lo(D_802AD66C)($v0)
/* 419578 802A47E8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 41957C 802A47EC AFB00010 */ sw $s0, 0x10($sp)
/* 419580 802A47F0 0000802D */ daddu $s0, $zero, $zero
/* 419584 802A47F4 AFBF0018 */ sw $ra, 0x18($sp)
/* 419588 802A47F8 1840000F */ blez $v0, .L802A4838
/* 41958C 802A47FC AFB10014 */ sw $s1, 0x14($sp)
/* 419590 802A4800 3C11802B */ lui $s1, %hi(D_802AD628)
/* 419594 802A4804 2631D628 */ addiu $s1, $s1, %lo(D_802AD628)
/* 419598 802A4808 240500FF */ addiu $a1, $zero, 0xff
.L802A480C:
/* 41959C 802A480C 00A0302D */ daddu $a2, $a1, $zero
/* 4195A0 802A4810 00A0382D */ daddu $a3, $a1, $zero
/* 4195A4 802A4814 8E240000 */ lw $a0, ($s1)
/* 4195A8 802A4818 0C0513BF */ jal set_hud_element_tint
/* 4195AC 802A481C 26310004 */ addiu $s1, $s1, 4
/* 4195B0 802A4820 3C02802B */ lui $v0, %hi(D_802AD66C)
/* 4195B4 802A4824 8C42D66C */ lw $v0, %lo(D_802AD66C)($v0)
/* 4195B8 802A4828 26100001 */ addiu $s0, $s0, 1
/* 4195BC 802A482C 0202102A */ slt $v0, $s0, $v0
/* 4195C0 802A4830 5440FFF6 */ bnel $v0, $zero, .L802A480C
/* 4195C4 802A4834 240500FF */ addiu $a1, $zero, 0xff
.L802A4838:
/* 4195C8 802A4838 240500FF */ addiu $a1, $zero, 0xff
/* 4195CC 802A483C 00A0302D */ daddu $a2, $a1, $zero
/* 4195D0 802A4840 3C10802B */ lui $s0, %hi(D_802AD618)
/* 4195D4 802A4844 2610D618 */ addiu $s0, $s0, %lo(D_802AD618)
/* 4195D8 802A4848 8E040000 */ lw $a0, ($s0)
/* 4195DC 802A484C 0C0513BF */ jal set_hud_element_tint
/* 4195E0 802A4850 00A0382D */ daddu $a3, $a1, $zero
/* 4195E4 802A4854 240500FF */ addiu $a1, $zero, 0xff
/* 4195E8 802A4858 00A0302D */ daddu $a2, $a1, $zero
/* 4195EC 802A485C 3C04802B */ lui $a0, %hi(D_802AD61C)
/* 4195F0 802A4860 8C84D61C */ lw $a0, %lo(D_802AD61C)($a0)
/* 4195F4 802A4864 0C0513BF */ jal set_hud_element_tint
/* 4195F8 802A4868 00A0382D */ daddu $a3, $a1, $zero
/* 4195FC 802A486C 240500FF */ addiu $a1, $zero, 0xff
/* 419600 802A4870 00A0302D */ daddu $a2, $a1, $zero
/* 419604 802A4874 3C04802B */ lui $a0, %hi(D_802AD620)
/* 419608 802A4878 8C84D620 */ lw $a0, %lo(D_802AD620)($a0)
/* 41960C 802A487C 0C0513BF */ jal set_hud_element_tint
/* 419610 802A4880 00A0382D */ daddu $a3, $a1, $zero
/* 419614 802A4884 8E040000 */ lw $a0, ($s0)
/* 419618 802A4888 3C058010 */ lui $a1, %hi(D_80104A28)
/* 41961C 802A488C 24A54A28 */ addiu $a1, $a1, %lo(D_80104A28)
/* 419620 802A4890 0C0511FF */ jal set_hud_element_script
/* 419624 802A4894 00000000 */ nop
/* 419628 802A4898 24040006 */ addiu $a0, $zero, 6
/* 41962C 802A489C 0C051F9F */ jal set_window_update
/* 419630 802A48A0 24050005 */ addiu $a1, $zero, 5
/* 419634 802A48A4 24040007 */ addiu $a0, $zero, 7
/* 419638 802A48A8 0C051F9F */ jal set_window_update
/* 41963C 802A48AC 24050005 */ addiu $a1, $zero, 5
/* 419640 802A48B0 24040008 */ addiu $a0, $zero, 8
/* 419644 802A48B4 0C051F9F */ jal set_window_update
/* 419648 802A48B8 24050001 */ addiu $a1, $zero, 1
/* 41964C 802A48BC 2402000A */ addiu $v0, $zero, 0xa
/* 419650 802A48C0 8FBF0018 */ lw $ra, 0x18($sp)
/* 419654 802A48C4 8FB10014 */ lw $s1, 0x14($sp)
/* 419658 802A48C8 8FB00010 */ lw $s0, 0x10($sp)
/* 41965C 802A48CC 24030001 */ addiu $v1, $zero, 1
/* 419660 802A48D0 3C01802B */ lui $at, %hi(D_802AD614)
/* 419664 802A48D4 A022D614 */ sb $v0, %lo(D_802AD614)($at)
/* 419668 802A48D8 240200FF */ addiu $v0, $zero, 0xff
/* 41966C 802A48DC 3C01802B */ lui $at, %hi(D_802AD60B)
/* 419670 802A48E0 A023D60B */ sb $v1, %lo(D_802AD60B)($at)
/* 419674 802A48E4 3C01802B */ lui $at, %hi(D_802AD624)
/* 419678 802A48E8 AC22D624 */ sw $v0, %lo(D_802AD624)($at)
/* 41967C 802A48EC 3C01802B */ lui $at, %hi(D_802AD604)
/* 419680 802A48F0 A023D604 */ sb $v1, %lo(D_802AD604)($at)
/* 419684 802A48F4 03E00008 */ jr $ra
/* 419688 802A48F8 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,75 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802A48FC
/* 41968C 802A48FC 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 419690 802A4900 24040006 */ addiu $a0, $zero, 6
/* 419694 802A4904 24050005 */ addiu $a1, $zero, 5
/* 419698 802A4908 AFBF0018 */ sw $ra, 0x18($sp)
/* 41969C 802A490C AFB10014 */ sw $s1, 0x14($sp)
/* 4196A0 802A4910 0C051F9F */ jal set_window_update
/* 4196A4 802A4914 AFB00010 */ sw $s0, 0x10($sp)
/* 4196A8 802A4918 24040007 */ addiu $a0, $zero, 7
/* 4196AC 802A491C 0C051F9F */ jal set_window_update
/* 4196B0 802A4920 24050005 */ addiu $a1, $zero, 5
/* 4196B4 802A4924 24040008 */ addiu $a0, $zero, 8
/* 4196B8 802A4928 0C051F9F */ jal set_window_update
/* 4196BC 802A492C 24050001 */ addiu $a1, $zero, 1
/* 4196C0 802A4930 3C02802B */ lui $v0, %hi(D_802AD66C)
/* 4196C4 802A4934 8C42D66C */ lw $v0, %lo(D_802AD66C)($v0)
/* 4196C8 802A4938 1840000F */ blez $v0, .L802A4978
/* 4196CC 802A493C 0000802D */ daddu $s0, $zero, $zero
/* 4196D0 802A4940 3C11802B */ lui $s1, %hi(D_802AD628)
/* 4196D4 802A4944 2631D628 */ addiu $s1, $s1, %lo(D_802AD628)
/* 4196D8 802A4948 240500FF */ addiu $a1, $zero, 0xff
.L802A494C:
/* 4196DC 802A494C 00A0302D */ daddu $a2, $a1, $zero
/* 4196E0 802A4950 00A0382D */ daddu $a3, $a1, $zero
/* 4196E4 802A4954 8E240000 */ lw $a0, ($s1)
/* 4196E8 802A4958 0C0513BF */ jal set_hud_element_tint
/* 4196EC 802A495C 26310004 */ addiu $s1, $s1, 4
/* 4196F0 802A4960 3C02802B */ lui $v0, %hi(D_802AD66C)
/* 4196F4 802A4964 8C42D66C */ lw $v0, %lo(D_802AD66C)($v0)
/* 4196F8 802A4968 26100001 */ addiu $s0, $s0, 1
/* 4196FC 802A496C 0202102A */ slt $v0, $s0, $v0
/* 419700 802A4970 1440FFF6 */ bnez $v0, .L802A494C
/* 419704 802A4974 240500FF */ addiu $a1, $zero, 0xff
.L802A4978:
/* 419708 802A4978 240500FF */ addiu $a1, $zero, 0xff
/* 41970C 802A497C 00A0302D */ daddu $a2, $a1, $zero
/* 419710 802A4980 3C10802B */ lui $s0, %hi(D_802AD618)
/* 419714 802A4984 2610D618 */ addiu $s0, $s0, %lo(D_802AD618)
/* 419718 802A4988 8E040000 */ lw $a0, ($s0)
/* 41971C 802A498C 0C0513BF */ jal set_hud_element_tint
/* 419720 802A4990 00A0382D */ daddu $a3, $a1, $zero
/* 419724 802A4994 240500FF */ addiu $a1, $zero, 0xff
/* 419728 802A4998 00A0302D */ daddu $a2, $a1, $zero
/* 41972C 802A499C 3C04802B */ lui $a0, %hi(D_802AD61C)
/* 419730 802A49A0 8C84D61C */ lw $a0, %lo(D_802AD61C)($a0)
/* 419734 802A49A4 0C0513BF */ jal set_hud_element_tint
/* 419738 802A49A8 00A0382D */ daddu $a3, $a1, $zero
/* 41973C 802A49AC 240500FF */ addiu $a1, $zero, 0xff
/* 419740 802A49B0 00A0302D */ daddu $a2, $a1, $zero
/* 419744 802A49B4 3C04802B */ lui $a0, %hi(D_802AD620)
/* 419748 802A49B8 8C84D620 */ lw $a0, %lo(D_802AD620)($a0)
/* 41974C 802A49BC 0C0513BF */ jal set_hud_element_tint
/* 419750 802A49C0 00A0382D */ daddu $a3, $a1, $zero
/* 419754 802A49C4 8E040000 */ lw $a0, ($s0)
/* 419758 802A49C8 3C058010 */ lui $a1, %hi(D_80104A28)
/* 41975C 802A49CC 24A54A28 */ addiu $a1, $a1, %lo(D_80104A28)
/* 419760 802A49D0 0C0511FF */ jal set_hud_element_script
/* 419764 802A49D4 00000000 */ nop
/* 419768 802A49D8 8FBF0018 */ lw $ra, 0x18($sp)
/* 41976C 802A49DC 8FB10014 */ lw $s1, 0x14($sp)
/* 419770 802A49E0 8FB00010 */ lw $s0, 0x10($sp)
/* 419774 802A49E4 2402000A */ addiu $v0, $zero, 0xa
/* 419778 802A49E8 3C01802B */ lui $at, %hi(D_802AD614)
/* 41977C 802A49EC A022D614 */ sb $v0, %lo(D_802AD614)($at)
/* 419780 802A49F0 24020001 */ addiu $v0, $zero, 1
/* 419784 802A49F4 3C01802B */ lui $at, %hi(D_802AD60B)
/* 419788 802A49F8 A022D60B */ sb $v0, %lo(D_802AD60B)($at)
/* 41978C 802A49FC 24020014 */ addiu $v0, $zero, 0x14
/* 419790 802A4A00 3C01802B */ lui $at, %hi(D_802AD604)
/* 419794 802A4A04 A022D604 */ sb $v0, %lo(D_802AD604)($at)
/* 419798 802A4A08 03E00008 */ jr $ra
/* 41979C 802A4A0C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,49 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_802ABB58
.word L802A5774_41A504, L802A57BC_41A54C, L802A5774_41A504, L802A57BC_41A54C, L802A57BC_41A54C, L802A57BC_41A54C, L802A57BC_41A54C, L802A57BC_41A54C, L802A57BC_41A54C, L802A57BC_41A54C, L802A57BC_41A54C, L802A5774_41A504, L802A57BC_41A54C, L802A57BC_41A54C, L802A57BC_41A54C, L802A57BC_41A54C, L802A57BC_41A54C, L802A57BC_41A54C, L802A57BC_41A54C, L802A57BC_41A54C, L802A57BC_41A54C, L802A5774_41A504, L802A57BC_41A54C, L802A57BC_41A54C, L802A57BC_41A54C, L802A57BC_41A54C, L802A57BC_41A54C, L802A57BC_41A54C, L802A57BC_41A54C, L802A57BC_41A54C, L802A57BC_41A54C, L802A5774_41A504
.section .text
glabel func_802A5738
/* 41A4C8 802A5738 3C02802B */ lui $v0, %hi(D_802AD604)
/* 41A4CC 802A573C 9042D604 */ lbu $v0, %lo(D_802AD604)($v0)
/* 41A4D0 802A5740 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 41A4D4 802A5744 24420001 */ addiu $v0, $v0, 1
/* 41A4D8 802A5748 00021600 */ sll $v0, $v0, 0x18
/* 41A4DC 802A574C 00021E03 */ sra $v1, $v0, 0x18
/* 41A4E0 802A5750 2C620020 */ sltiu $v0, $v1, 0x20
/* 41A4E4 802A5754 10400019 */ beqz $v0, L802A57BC_41A54C
/* 41A4E8 802A5758 AFBF0018 */ sw $ra, 0x18($sp)
/* 41A4EC 802A575C 00031080 */ sll $v0, $v1, 2
/* 41A4F0 802A5760 3C01802B */ lui $at, %hi(jtbl_802ABB58)
/* 41A4F4 802A5764 00220821 */ addu $at, $at, $v0
/* 41A4F8 802A5768 8C22BB58 */ lw $v0, %lo(jtbl_802ABB58)($at)
/* 41A4FC 802A576C 00400008 */ jr $v0
/* 41A500 802A5770 00000000 */ nop
glabel L802A5774_41A504
/* 41A504 802A5774 3C02802B */ lui $v0, %hi(D_802AD60B)
/* 41A508 802A5778 8042D60B */ lb $v0, %lo(D_802AD60B)($v0)
/* 41A50C 802A577C 1040000F */ beqz $v0, L802A57BC_41A54C
/* 41A510 802A5780 00000000 */ nop
/* 41A514 802A5784 3C02802B */ lui $v0, %hi(D_802AD605)
/* 41A518 802A5788 8042D605 */ lb $v0, %lo(D_802AD605)($v0)
/* 41A51C 802A578C 3C03802B */ lui $v1, %hi(D_802AD614)
/* 41A520 802A5790 8063D614 */ lb $v1, %lo(D_802AD614)($v1)
/* 41A524 802A5794 3C07802B */ lui $a3, %hi(D_802AD624)
/* 41A528 802A5798 8CE7D624 */ lw $a3, %lo(D_802AD624)($a3)
/* 41A52C 802A579C AFA00014 */ sw $zero, 0x14($sp)
/* 41A530 802A57A0 00021080 */ sll $v0, $v0, 2
/* 41A534 802A57A4 AFA30010 */ sw $v1, 0x10($sp)
/* 41A538 802A57A8 3C04802B */ lui $a0, %hi(D_802AD6C0)
/* 41A53C 802A57AC 00822021 */ addu $a0, $a0, $v0
/* 41A540 802A57B0 8C84D6C0 */ lw $a0, %lo(D_802AD6C0)($a0)
/* 41A544 802A57B4 0C04993B */ jal draw_string
/* 41A548 802A57B8 24A50008 */ addiu $a1, $a1, 8
glabel L802A57BC_41A54C
/* 41A54C 802A57BC 8FBF0018 */ lw $ra, 0x18($sp)
/* 41A550 802A57C0 03E00008 */ jr $ra
/* 41A554 802A57C4 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,63 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8002E82C
/* 9C2C 8002E82C 00A0302D */ daddu $a2, $a1, $zero
/* 9C30 8002E830 3C05800B */ lui $a1, %hi(gCameras)
/* 9C34 8002E834 24A51D80 */ addiu $a1, $a1, %lo(gCameras)
/* 9C38 8002E838 00041080 */ sll $v0, $a0, 2
/* 9C3C 8002E83C 00441021 */ addu $v0, $v0, $a0
/* 9C40 8002E840 00021080 */ sll $v0, $v0, 2
/* 9C44 8002E844 00441023 */ subu $v0, $v0, $a0
/* 9C48 8002E848 000218C0 */ sll $v1, $v0, 3
/* 9C4C 8002E84C 00431021 */ addu $v0, $v0, $v1
/* 9C50 8002E850 000210C0 */ sll $v0, $v0, 3
/* 9C54 8002E854 00452021 */ addu $a0, $v0, $a1
/* 9C58 8002E858 94820212 */ lhu $v0, 0x212($a0)
/* 9C5C 8002E85C 24420001 */ addiu $v0, $v0, 1
/* 9C60 8002E860 A4820212 */ sh $v0, 0x212($a0)
/* 9C64 8002E864 00021400 */ sll $v0, $v0, 0x10
/* 9C68 8002E868 00021403 */ sra $v0, $v0, 0x10
/* 9C6C 8002E86C 28420004 */ slti $v0, $v0, 4
/* 9C70 8002E870 14400003 */ bnez $v0, .L8002E880
/* 9C74 8002E874 00000000 */ nop
.L8002E878:
/* 9C78 8002E878 0800BA1E */ j .L8002E878
/* 9C7C 8002E87C 00000000 */ nop
.L8002E880:
/* 9C80 8002E880 84830212 */ lh $v1, 0x212($a0)
/* 9C84 8002E884 000310C0 */ sll $v0, $v1, 3
/* 9C88 8002E888 00431021 */ addu $v0, $v0, $v1
/* 9C8C 8002E88C 00021080 */ sll $v0, $v0, 2
/* 9C90 8002E890 00431023 */ subu $v0, $v0, $v1
/* 9C94 8002E894 00021080 */ sll $v0, $v0, 2
/* 9C98 8002E898 00821021 */ addu $v0, $a0, $v0
/* 9C9C 8002E89C AC460220 */ sw $a2, 0x220($v0)
/* 9CA0 8002E8A0 84830212 */ lh $v1, 0x212($a0)
/* 9CA4 8002E8A4 000310C0 */ sll $v0, $v1, 3
/* 9CA8 8002E8A8 00431021 */ addu $v0, $v0, $v1
/* 9CAC 8002E8AC 00021080 */ sll $v0, $v0, 2
/* 9CB0 8002E8B0 00431023 */ subu $v0, $v0, $v1
/* 9CB4 8002E8B4 00021080 */ sll $v0, $v0, 2
/* 9CB8 8002E8B8 00821021 */ addu $v0, $a0, $v0
/* 9CBC 8002E8BC 24030001 */ addiu $v1, $zero, 1
/* 9CC0 8002E8C0 A4430216 */ sh $v1, 0x216($v0)
/* 9CC4 8002E8C4 84830212 */ lh $v1, 0x212($a0)
/* 9CC8 8002E8C8 000310C0 */ sll $v0, $v1, 3
/* 9CCC 8002E8CC 00431021 */ addu $v0, $v0, $v1
/* 9CD0 8002E8D0 00021080 */ sll $v0, $v0, 2
/* 9CD4 8002E8D4 00431023 */ subu $v0, $v0, $v1
/* 9CD8 8002E8D8 00021080 */ sll $v0, $v0, 2
/* 9CDC 8002E8DC 00821021 */ addu $v0, $a0, $v0
/* 9CE0 8002E8E0 AC460278 */ sw $a2, 0x278($v0)
/* 9CE4 8002E8E4 84830212 */ lh $v1, 0x212($a0)
/* 9CE8 8002E8E8 000310C0 */ sll $v0, $v1, 3
/* 9CEC 8002E8EC 00431021 */ addu $v0, $v0, $v1
/* 9CF0 8002E8F0 00021080 */ sll $v0, $v0, 2
/* 9CF4 8002E8F4 00431023 */ subu $v0, $v0, $v1
/* 9CF8 8002E8F8 00021080 */ sll $v0, $v0, 2
/* 9CFC 8002E8FC 00821021 */ addu $v0, $a0, $v0
/* 9D00 8002E900 03E00008 */ jr $ra
/* 9D04 8002E904 A4400214 */ sh $zero, 0x214($v0)
/* 9D08 8002E908 00000000 */ nop
/* 9D0C 8002E90C 00000000 */ nop

View File

@ -1,153 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_80098200
.double 0.01
glabel D_80098208
.double -0.01
.section .text
glabel get_screen_coords
/* 9938 8002E538 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 993C 8002E53C AFB20040 */ sw $s2, 0x40($sp)
/* 9940 8002E540 8FB20060 */ lw $s2, 0x60($sp)
/* 9944 8002E544 AFB30044 */ sw $s3, 0x44($sp)
/* 9948 8002E548 8FB30064 */ lw $s3, 0x64($sp)
/* 994C 8002E54C AFB1003C */ sw $s1, 0x3c($sp)
/* 9950 8002E550 8FB10068 */ lw $s1, 0x68($sp)
/* 9954 8002E554 27A20028 */ addiu $v0, $sp, 0x28
/* 9958 8002E558 AFA20014 */ sw $v0, 0x14($sp)
/* 995C 8002E55C 27A2002C */ addiu $v0, $sp, 0x2c
/* 9960 8002E560 AFA20018 */ sw $v0, 0x18($sp)
/* 9964 8002E564 27A20030 */ addiu $v0, $sp, 0x30
/* 9968 8002E568 AFA2001C */ sw $v0, 0x1c($sp)
/* 996C 8002E56C 27A20034 */ addiu $v0, $sp, 0x34
/* 9970 8002E570 3C08800B */ lui $t0, %hi(gCameras)
/* 9974 8002E574 25081D80 */ addiu $t0, $t0, %lo(gCameras)
/* 9978 8002E578 AFA20020 */ sw $v0, 0x20($sp)
/* 997C 8002E57C 00041080 */ sll $v0, $a0, 2
/* 9980 8002E580 00441021 */ addu $v0, $v0, $a0
/* 9984 8002E584 00021080 */ sll $v0, $v0, 2
/* 9988 8002E588 00441023 */ subu $v0, $v0, $a0
/* 998C 8002E58C 000218C0 */ sll $v1, $v0, 3
/* 9990 8002E590 00431021 */ addu $v0, $v0, $v1
/* 9994 8002E594 000210C0 */ sll $v0, $v0, 3
/* 9998 8002E598 AFB00038 */ sw $s0, 0x38($sp)
/* 999C 8002E59C 00488021 */ addu $s0, $v0, $t0
/* 99A0 8002E5A0 3C013F80 */ lui $at, 0x3f80
/* 99A4 8002E5A4 44810000 */ mtc1 $at, $f0
/* 99A8 8002E5A8 260400D4 */ addiu $a0, $s0, 0xd4
/* 99AC 8002E5AC AFBF0048 */ sw $ra, 0x48($sp)
/* 99B0 8002E5B0 0C00A588 */ jal transform_point
/* 99B4 8002E5B4 E7A00010 */ swc1 $f0, 0x10($sp)
/* 99B8 8002E5B8 C7A00030 */ lwc1 $f0, 0x30($sp)
/* 99BC 8002E5BC 3C01459C */ lui $at, 0x459c
/* 99C0 8002E5C0 34214000 */ ori $at, $at, 0x4000
/* 99C4 8002E5C4 44811000 */ mtc1 $at, $f2
/* 99C8 8002E5C8 00000000 */ nop
/* 99CC 8002E5CC 46020000 */ add.s $f0, $f0, $f2
/* 99D0 8002E5D0 4600020D */ trunc.w.s $f8, $f0
/* 99D4 8002E5D4 44024000 */ mfc1 $v0, $f8
/* 99D8 8002E5D8 00000000 */ nop
/* 99DC 8002E5DC 04410003 */ bgez $v0, .L8002E5EC
/* 99E0 8002E5E0 AE220000 */ sw $v0, ($s1)
/* 99E4 8002E5E4 0800B97F */ j .L8002E5FC
/* 99E8 8002E5E8 AE200000 */ sw $zero, ($s1)
.L8002E5EC:
/* 99EC 8002E5EC 28422711 */ slti $v0, $v0, 0x2711
/* 99F0 8002E5F0 14400002 */ bnez $v0, .L8002E5FC
/* 99F4 8002E5F4 24022710 */ addiu $v0, $zero, 0x2710
/* 99F8 8002E5F8 AE220000 */ sw $v0, ($s1)
.L8002E5FC:
/* 99FC 8002E5FC C7A20034 */ lwc1 $f2, 0x34($sp)
/* 9A00 8002E600 3C01800A */ lui $at, %hi(D_80098200)
/* 9A04 8002E604 D4208200 */ ldc1 $f0, %lo(D_80098200)($at)
/* 9A08 8002E608 460010A1 */ cvt.d.s $f2, $f2
/* 9A0C 8002E60C 4620103C */ c.lt.d $f2, $f0
/* 9A10 8002E610 00000000 */ nop
/* 9A14 8002E614 4500000B */ bc1f .L8002E644
/* 9A18 8002E618 00000000 */ nop
/* 9A1C 8002E61C 3C01800A */ lui $at, %hi(D_80098208)
/* 9A20 8002E620 D4208208 */ ldc1 $f0, %lo(D_80098208)($at)
/* 9A24 8002E624 4622003C */ c.lt.d $f0, $f2
/* 9A28 8002E628 00000000 */ nop
/* 9A2C 8002E62C 45000005 */ bc1f .L8002E644
/* 9A30 8002E630 00000000 */ nop
/* 9A34 8002E634 AE400000 */ sw $zero, ($s2)
/* 9A38 8002E638 AE600000 */ sw $zero, ($s3)
/* 9A3C 8002E63C 0800B9CE */ j .L8002E738
/* 9A40 8002E640 AE200000 */ sw $zero, ($s1)
.L8002E644:
/* 9A44 8002E644 C7A00034 */ lwc1 $f0, 0x34($sp)
/* 9A48 8002E648 3C013F80 */ lui $at, 0x3f80
/* 9A4C 8002E64C 44812000 */ mtc1 $at, $f4
/* 9A50 8002E650 C7A20028 */ lwc1 $f2, 0x28($sp)
/* 9A54 8002E654 9603000A */ lhu $v1, 0xa($s0)
/* 9A58 8002E658 46002103 */ div.s $f4, $f4, $f0
/* 9A5C 8002E65C 46041082 */ mul.s $f2, $f2, $f4
/* 9A60 8002E660 00000000 */ nop
/* 9A64 8002E664 00031C00 */ sll $v1, $v1, 0x10
/* 9A68 8002E668 00031403 */ sra $v0, $v1, 0x10
/* 9A6C 8002E66C 44820000 */ mtc1 $v0, $f0
/* 9A70 8002E670 00000000 */ nop
/* 9A74 8002E674 46800020 */ cvt.s.w $f0, $f0
/* 9A78 8002E678 46001082 */ mul.s $f2, $f2, $f0
/* 9A7C 8002E67C 00000000 */ nop
/* 9A80 8002E680 3C013F00 */ lui $at, 0x3f00
/* 9A84 8002E684 44813000 */ mtc1 $at, $f6
/* 9A88 8002E688 00000000 */ nop
/* 9A8C 8002E68C 46061082 */ mul.s $f2, $f2, $f6
/* 9A90 8002E690 00000000 */ nop
/* 9A94 8002E694 00031FC2 */ srl $v1, $v1, 0x1f
/* 9A98 8002E698 00431021 */ addu $v0, $v0, $v1
/* 9A9C 8002E69C 00021043 */ sra $v0, $v0, 1
/* 9AA0 8002E6A0 44820000 */ mtc1 $v0, $f0
/* 9AA4 8002E6A4 00000000 */ nop
/* 9AA8 8002E6A8 46800020 */ cvt.s.w $f0, $f0
/* 9AAC 8002E6AC 46020000 */ add.s $f0, $f0, $f2
/* 9AB0 8002E6B0 E7A40034 */ swc1 $f4, 0x34($sp)
/* 9AB4 8002E6B4 8603000E */ lh $v1, 0xe($s0)
/* 9AB8 8002E6B8 4600020D */ trunc.w.s $f8, $f0
/* 9ABC 8002E6BC 44024000 */ mfc1 $v0, $f8
/* 9AC0 8002E6C0 00000000 */ nop
/* 9AC4 8002E6C4 00431021 */ addu $v0, $v0, $v1
/* 9AC8 8002E6C8 AE420000 */ sw $v0, ($s2)
/* 9ACC 8002E6CC C7A2002C */ lwc1 $f2, 0x2c($sp)
/* 9AD0 8002E6D0 C7A00034 */ lwc1 $f0, 0x34($sp)
/* 9AD4 8002E6D4 9603000C */ lhu $v1, 0xc($s0)
/* 9AD8 8002E6D8 46001082 */ mul.s $f2, $f2, $f0
/* 9ADC 8002E6DC 00000000 */ nop
/* 9AE0 8002E6E0 00031C00 */ sll $v1, $v1, 0x10
/* 9AE4 8002E6E4 00031403 */ sra $v0, $v1, 0x10
/* 9AE8 8002E6E8 44820000 */ mtc1 $v0, $f0
/* 9AEC 8002E6EC 00000000 */ nop
/* 9AF0 8002E6F0 46800020 */ cvt.s.w $f0, $f0
/* 9AF4 8002E6F4 46001082 */ mul.s $f2, $f2, $f0
/* 9AF8 8002E6F8 00000000 */ nop
/* 9AFC 8002E6FC 46061082 */ mul.s $f2, $f2, $f6
/* 9B00 8002E700 00000000 */ nop
/* 9B04 8002E704 00031FC2 */ srl $v1, $v1, 0x1f
/* 9B08 8002E708 00431021 */ addu $v0, $v0, $v1
/* 9B0C 8002E70C 00021043 */ sra $v0, $v0, 1
/* 9B10 8002E710 44820000 */ mtc1 $v0, $f0
/* 9B14 8002E714 00000000 */ nop
/* 9B18 8002E718 46800020 */ cvt.s.w $f0, $f0
/* 9B1C 8002E71C 46020001 */ sub.s $f0, $f0, $f2
/* 9B20 8002E720 86030010 */ lh $v1, 0x10($s0)
/* 9B24 8002E724 4600020D */ trunc.w.s $f8, $f0
/* 9B28 8002E728 44024000 */ mfc1 $v0, $f8
/* 9B2C 8002E72C 00000000 */ nop
/* 9B30 8002E730 00431021 */ addu $v0, $v0, $v1
/* 9B34 8002E734 AE620000 */ sw $v0, ($s3)
.L8002E738:
/* 9B38 8002E738 8FBF0048 */ lw $ra, 0x48($sp)
/* 9B3C 8002E73C 8FB30044 */ lw $s3, 0x44($sp)
/* 9B40 8002E740 8FB20040 */ lw $s2, 0x40($sp)
/* 9B44 8002E744 8FB1003C */ lw $s1, 0x3c($sp)
/* 9B48 8002E748 8FB00038 */ lw $s0, 0x38($sp)
/* 9B4C 8002E74C 03E00008 */ jr $ra
/* 9B50 8002E750 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,114 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel initialize_next_camera
/* 956C 8002E16C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 9570 8002E170 0080382D */ daddu $a3, $a0, $zero
/* 9574 8002E174 0000202D */ daddu $a0, $zero, $zero
/* 9578 8002E178 3C03800B */ lui $v1, %hi(gCameras)
/* 957C 8002E17C 24631D80 */ addiu $v1, $v1, %lo(gCameras)
/* 9580 8002E180 AFBF001C */ sw $ra, 0x1c($sp)
/* 9584 8002E184 AFB00018 */ sw $s0, 0x18($sp)
.L8002E188:
/* 9588 8002E188 0060802D */ daddu $s0, $v1, $zero
/* 958C 8002E18C 96020000 */ lhu $v0, ($s0)
/* 9590 8002E190 10400006 */ beqz $v0, .L8002E1AC
/* 9594 8002E194 28820004 */ slti $v0, $a0, 4
/* 9598 8002E198 24840001 */ addiu $a0, $a0, 1
/* 959C 8002E19C 28820004 */ slti $v0, $a0, 4
/* 95A0 8002E1A0 1440FFF9 */ bnez $v0, .L8002E188
/* 95A4 8002E1A4 26030558 */ addiu $v1, $s0, 0x558
/* 95A8 8002E1A8 28820004 */ slti $v0, $a0, 4
.L8002E1AC:
/* 95AC 8002E1AC 54400003 */ bnel $v0, $zero, .L8002E1BC
/* 95B0 8002E1B0 24030001 */ addiu $v1, $zero, 1
.L8002E1B4:
/* 95B4 8002E1B4 0800B86D */ j .L8002E1B4
/* 95B8 8002E1B8 00000000 */ nop
.L8002E1BC:
/* 95BC 8002E1BC 94E20000 */ lhu $v0, ($a3)
/* 95C0 8002E1C0 3C01C2C8 */ lui $at, 0xc2c8
/* 95C4 8002E1C4 44810000 */ mtc1 $at, $f0
/* 95C8 8002E1C8 A6000002 */ sh $zero, 2($s0)
/* 95CC 8002E1CC AE00003C */ sw $zero, 0x3c($s0)
/* 95D0 8002E1D0 AE000040 */ sw $zero, 0x40($s0)
/* 95D4 8002E1D4 AE000044 */ sw $zero, 0x44($s0)
/* 95D8 8002E1D8 AE000048 */ sw $zero, 0x48($s0)
/* 95DC 8002E1DC AE00004C */ sw $zero, 0x4c($s0)
/* 95E0 8002E1E0 AE00006C */ sw $zero, 0x6c($s0)
/* 95E4 8002E1E4 AE000078 */ sw $zero, 0x78($s0)
/* 95E8 8002E1E8 AE00007C */ sw $zero, 0x7c($s0)
/* 95EC 8002E1EC AE000084 */ sw $zero, 0x84($s0)
/* 95F0 8002E1F0 AE000088 */ sw $zero, 0x88($s0)
/* 95F4 8002E1F4 AE00008C */ sw $zero, 0x8c($s0)
/* 95F8 8002E1F8 34420005 */ ori $v0, $v0, 5
/* 95FC 8002E1FC A6020000 */ sh $v0, ($s0)
/* 9600 8002E200 E6000050 */ swc1 $f0, 0x50($s0)
/* 9604 8002E204 90E20002 */ lbu $v0, 2($a3)
/* 9608 8002E208 A6030006 */ sh $v1, 6($s0)
/* 960C 8002E20C 00021600 */ sll $v0, $v0, 0x18
/* 9610 8002E210 00021603 */ sra $v0, $v0, 0x18
/* 9614 8002E214 A6020004 */ sh $v0, 4($s0)
/* 9618 8002E218 94E2000C */ lhu $v0, 0xc($a3)
/* 961C 8002E21C A6020012 */ sh $v0, 0x12($s0)
/* 9620 8002E220 94E2000E */ lhu $v0, 0xe($a3)
/* 9624 8002E224 00042400 */ sll $a0, $a0, 0x10
/* 9628 8002E228 A6020014 */ sh $v0, 0x14($s0)
/* 962C 8002E22C 84E30010 */ lh $v1, 0x10($a3)
/* 9630 8002E230 24020064 */ addiu $v0, $zero, 0x64
/* 9634 8002E234 A602002A */ sh $v0, 0x2a($s0)
/* 9638 8002E238 44830000 */ mtc1 $v1, $f0
/* 963C 8002E23C 00000000 */ nop
/* 9640 8002E240 46800020 */ cvt.s.w $f0, $f0
/* 9644 8002E244 E6000018 */ swc1 $f0, 0x18($s0)
/* 9648 8002E248 84E20006 */ lh $v0, 6($a3)
/* 964C 8002E24C 84E50008 */ lh $a1, 8($a3)
/* 9650 8002E250 84E6000A */ lh $a2, 0xa($a3)
/* 9654 8002E254 84E70004 */ lh $a3, 4($a3)
/* 9658 8002E258 00042403 */ sra $a0, $a0, 0x10
/* 965C 8002E25C 0C00B8C5 */ jal set_cam_viewport
/* 9660 8002E260 AFA20010 */ sw $v0, 0x10($sp)
/* 9664 8002E264 3C01447A */ lui $at, 0x447a
/* 9668 8002E268 44810000 */ mtc1 $at, $f0
/* 966C 8002E26C 3C013E4C */ lui $at, 0x3e4c
/* 9670 8002E270 3421CCCD */ ori $at, $at, 0xcccd
/* 9674 8002E274 44811000 */ mtc1 $at, $f2
/* 9678 8002E278 3C013F80 */ lui $at, 0x3f80
/* 967C 8002E27C 44812000 */ mtc1 $at, $f4
/* 9680 8002E280 2402FFFF */ addiu $v0, $zero, -1
/* 9684 8002E284 A6020212 */ sh $v0, 0x212($s0)
/* 9688 8002E288 24020001 */ addiu $v0, $zero, 1
/* 968C 8002E28C AE020530 */ sw $v0, 0x530($s0)
/* 9690 8002E290 0200102D */ daddu $v0, $s0, $zero
/* 9694 8002E294 A600002C */ sh $zero, 0x2c($s0)
/* 9698 8002E298 A600002E */ sh $zero, 0x2e($s0)
/* 969C 8002E29C A6000030 */ sh $zero, 0x30($s0)
/* 96A0 8002E2A0 AE0000C0 */ sw $zero, 0xc0($s0)
/* 96A4 8002E2A4 AE000054 */ sw $zero, 0x54($s0)
/* 96A8 8002E2A8 AE000058 */ sw $zero, 0x58($s0)
/* 96AC 8002E2AC AE00005C */ sw $zero, 0x5c($s0)
/* 96B0 8002E2B0 AE000060 */ sw $zero, 0x60($s0)
/* 96B4 8002E2B4 AE000064 */ sw $zero, 0x64($s0)
/* 96B8 8002E2B8 AE000068 */ sw $zero, 0x68($s0)
/* 96BC 8002E2BC AE000098 */ sw $zero, 0x98($s0)
/* 96C0 8002E2C0 AE00009C */ sw $zero, 0x9c($s0)
/* 96C4 8002E2C4 AE0001FC */ sw $zero, 0x1fc($s0)
/* 96C8 8002E2C8 AE000200 */ sw $zero, 0x200($s0)
/* 96CC 8002E2CC AE00050C */ sw $zero, 0x50c($s0)
/* 96D0 8002E2D0 AE000510 */ sw $zero, 0x510($s0)
/* 96D4 8002E2D4 AE000514 */ sw $zero, 0x514($s0)
/* 96D8 8002E2D8 AE000518 */ sw $zero, 0x518($s0)
/* 96DC 8002E2DC AE00051C */ sw $zero, 0x51c($s0)
/* 96E0 8002E2E0 AE000524 */ sw $zero, 0x524($s0)
/* 96E4 8002E2E4 AE000528 */ sw $zero, 0x528($s0)
/* 96E8 8002E2E8 AE00052C */ sw $zero, 0x52c($s0)
/* 96EC 8002E2EC AE000534 */ sw $zero, 0x534($s0)
/* 96F0 8002E2F0 A6000506 */ sh $zero, 0x506($s0)
/* 96F4 8002E2F4 A6000504 */ sh $zero, 0x504($s0)
/* 96F8 8002E2F8 E60000C4 */ swc1 $f0, 0xc4($s0)
/* 96FC 8002E2FC E6020520 */ swc1 $f2, 0x520($s0)
/* 9700 8002E300 E6040490 */ swc1 $f4, 0x490($s0)
/* 9704 8002E304 8FBF001C */ lw $ra, 0x1c($sp)
/* 9708 8002E308 8FB00018 */ lw $s0, 0x18($sp)
/* 970C 8002E30C 03E00008 */ jr $ra
/* 9710 8002E310 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,520 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel render_frame
/* 8B3C 8002D73C 27BDFF90 */ addiu $sp, $sp, -0x70
/* 8B40 8002D740 AFBF0054 */ sw $ra, 0x54($sp)
/* 8B44 8002D744 AFBE0050 */ sw $fp, 0x50($sp)
/* 8B48 8002D748 AFB7004C */ sw $s7, 0x4c($sp)
/* 8B4C 8002D74C AFB60048 */ sw $s6, 0x48($sp)
/* 8B50 8002D750 AFB50044 */ sw $s5, 0x44($sp)
/* 8B54 8002D754 AFB40040 */ sw $s4, 0x40($sp)
/* 8B58 8002D758 AFB3003C */ sw $s3, 0x3c($sp)
/* 8B5C 8002D75C AFB20038 */ sw $s2, 0x38($sp)
/* 8B60 8002D760 AFB10034 */ sw $s1, 0x34($sp)
/* 8B64 8002D764 AFB00030 */ sw $s0, 0x30($sp)
/* 8B68 8002D768 F7B80068 */ sdc1 $f24, 0x68($sp)
/* 8B6C 8002D76C F7B60060 */ sdc1 $f22, 0x60($sp)
/* 8B70 8002D770 F7B40058 */ sdc1 $f20, 0x58($sp)
/* 8B74 8002D774 14800005 */ bnez $a0, .L8002D78C
/* 8B78 8002D778 AFA40070 */ sw $a0, 0x70($sp)
/* 8B7C 8002D77C 3C01800A */ lui $at, %hi(gCurrentCamID)
/* 8B80 8002D780 A420A634 */ sh $zero, %lo(gCurrentCamID)($at)
/* 8B84 8002D784 0C0459A6 */ jal func_80116698
/* 8B88 8002D788 00000000 */ nop
.L8002D78C:
/* 8B8C 8002D78C 8FAB0070 */ lw $t3, 0x70($sp)
/* 8B90 8002D790 11600003 */ beqz $t3, .L8002D7A0
/* 8B94 8002D794 AFA00020 */ sw $zero, 0x20($sp)
/* 8B98 8002D798 240B0003 */ addiu $t3, $zero, 3
/* 8B9C 8002D79C AFAB0020 */ sw $t3, 0x20($sp)
.L8002D7A0:
/* 8BA0 8002D7A0 8FAB0070 */ lw $t3, 0x70($sp)
/* 8BA4 8002D7A4 24020001 */ addiu $v0, $zero, 1
/* 8BA8 8002D7A8 004B5823 */ subu $t3, $v0, $t3
/* 8BAC 8002D7AC 24020004 */ addiu $v0, $zero, 4
/* 8BB0 8002D7B0 004B1023 */ subu $v0, $v0, $t3
/* 8BB4 8002D7B4 AFAB0070 */ sw $t3, 0x70($sp)
/* 8BB8 8002D7B8 8FAB0020 */ lw $t3, 0x20($sp)
/* 8BBC 8002D7BC 0162102A */ slt $v0, $t3, $v0
/* 8BC0 8002D7C0 104001BD */ beqz $v0, .L8002DEB8
/* 8BC4 8002D7C4 000B1880 */ sll $v1, $t3, 2
/* 8BC8 8002D7C8 3C17800A */ lui $s7, %hi(gMasterGfxPos)
/* 8BCC 8002D7CC 26F7A66C */ addiu $s7, $s7, %lo(gMasterGfxPos)
/* 8BD0 8002D7D0 3C02800B */ lui $v0, %hi(gCameras)
/* 8BD4 8002D7D4 24421D80 */ addiu $v0, $v0, %lo(gCameras)
/* 8BD8 8002D7D8 006B1821 */ addu $v1, $v1, $t3
/* 8BDC 8002D7DC 00031880 */ sll $v1, $v1, 2
/* 8BE0 8002D7E0 006B1823 */ subu $v1, $v1, $t3
/* 8BE4 8002D7E4 000320C0 */ sll $a0, $v1, 3
/* 8BE8 8002D7E8 00641821 */ addu $v1, $v1, $a0
/* 8BEC 8002D7EC 000318C0 */ sll $v1, $v1, 3
/* 8BF0 8002D7F0 0062B021 */ addu $s6, $v1, $v0
/* 8BF4 8002D7F4 3C014080 */ lui $at, 0x4080
/* 8BF8 8002D7F8 4481B000 */ mtc1 $at, $f22
/* 8BFC 8002D7FC 4480A000 */ mtc1 $zero, $f20
/* 8C00 8002D800 3C013F80 */ lui $at, 0x3f80
/* 8C04 8002D804 4481C000 */ mtc1 $at, $f24
.L8002D808:
/* 8C08 8002D808 96C20000 */ lhu $v0, ($s6)
/* 8C0C 8002D80C 104001A0 */ beqz $v0, .L8002DE90
/* 8C10 8002D810 30420082 */ andi $v0, $v0, 0x82
/* 8C14 8002D814 1440019E */ bnez $v0, .L8002DE90
/* 8C18 8002D818 00000000 */ nop
/* 8C1C 8002D81C 8EC201FC */ lw $v0, 0x1fc($s6)
/* 8C20 8002D820 97AB0022 */ lhu $t3, 0x22($sp)
/* 8C24 8002D824 3C01800A */ lui $at, %hi(gCurrentCamID)
/* 8C28 8002D828 A42BA634 */ sh $t3, %lo(gCurrentCamID)($at)
/* 8C2C 8002D82C 50400005 */ beql $v0, $zero, .L8002D844
/* 8C30 8002D830 3C02DC08 */ lui $v0, 0xdc08
/* 8C34 8002D834 0040F809 */ jalr $v0
/* 8C38 8002D838 02C0202D */ daddu $a0, $s6, $zero
/* 8C3C 8002D83C 0800B713 */ j .L8002DC4C
/* 8C40 8002D840 3C0A0001 */ lui $t2, 1
.L8002D844:
/* 8C44 8002D844 34420008 */ ori $v0, $v0, 8
/* 8C48 8002D848 3C04D9C0 */ lui $a0, 0xd9c0
/* 8C4C 8002D84C 3484F9FB */ ori $a0, $a0, 0xf9fb
/* 8C50 8002D850 3C05E300 */ lui $a1, 0xe300
/* 8C54 8002D854 34A50A01 */ ori $a1, $a1, 0xa01
/* 8C58 8002D858 3C06E300 */ lui $a2, 0xe300
/* 8C5C 8002D85C 8EF50000 */ lw $s5, ($s7)
/* 8C60 8002D860 34C60800 */ ori $a2, $a2, 0x800
/* 8C64 8002D864 02A0182D */ daddu $v1, $s5, $zero
/* 8C68 8002D868 26B50008 */ addiu $s5, $s5, 8
/* 8C6C 8002D86C AC620000 */ sw $v0, ($v1)
/* 8C70 8002D870 26C200A0 */ addiu $v0, $s6, 0xa0
/* 8C74 8002D874 AC620004 */ sw $v0, 4($v1)
/* 8C78 8002D878 3C02D700 */ lui $v0, 0xd700
/* 8C7C 8002D87C AEA40000 */ sw $a0, ($s5)
/* 8C80 8002D880 AEA00004 */ sw $zero, 4($s5)
/* 8C84 8002D884 AEA20008 */ sw $v0, 8($s5)
/* 8C88 8002D888 AEA0000C */ sw $zero, 0xc($s5)
/* 8C8C 8002D88C AEA50010 */ sw $a1, 0x10($s5)
/* 8C90 8002D890 AEA00014 */ sw $zero, 0x14($s5)
/* 8C94 8002D894 AEA60018 */ sw $a2, 0x18($s5)
/* 8C98 8002D898 AEA0001C */ sw $zero, 0x1c($s5)
/* 8C9C 8002D89C 86D8000E */ lh $t8, 0xe($s6)
/* 8CA0 8002D8A0 86D90010 */ lh $t9, 0x10($s6)
/* 8CA4 8002D8A4 26A20008 */ addiu $v0, $s5, 8
/* 8CA8 8002D8A8 AEF50000 */ sw $s5, ($s7)
/* 8CAC 8002D8AC AEE20000 */ sw $v0, ($s7)
/* 8CB0 8002D8B0 26A20010 */ addiu $v0, $s5, 0x10
/* 8CB4 8002D8B4 AEE20000 */ sw $v0, ($s7)
/* 8CB8 8002D8B8 26A20018 */ addiu $v0, $s5, 0x18
/* 8CBC 8002D8BC AEE20000 */ sw $v0, ($s7)
/* 8CC0 8002D8C0 26A20020 */ addiu $v0, $s5, 0x20
/* 8CC4 8002D8C4 AEE20000 */ sw $v0, ($s7)
/* 8CC8 8002D8C8 86C2000A */ lh $v0, 0xa($s6)
/* 8CCC 8002D8CC 86C3000C */ lh $v1, 0xc($s6)
/* 8CD0 8002D8D0 0302F021 */ addu $fp, $t8, $v0
/* 8CD4 8002D8D4 07010002 */ bgez $t8, .L8002D8E0
/* 8CD8 8002D8D8 0323A021 */ addu $s4, $t9, $v1
/* 8CDC 8002D8DC 0000C02D */ daddu $t8, $zero, $zero
.L8002D8E0:
/* 8CE0 8002D8E0 07220001 */ bltzl $t9, .L8002D8E8
/* 8CE4 8002D8E4 0000C82D */ daddu $t9, $zero, $zero
.L8002D8E8:
/* 8CE8 8002D8E8 5BC00001 */ blezl $fp, .L8002D8F0
/* 8CEC 8002D8EC 241E0001 */ addiu $fp, $zero, 1
.L8002D8F0:
/* 8CF0 8002D8F0 5A800001 */ blezl $s4, .L8002D8F8
/* 8CF4 8002D8F4 24140001 */ addiu $s4, $zero, 1
.L8002D8F8:
/* 8CF8 8002D8F8 2B020140 */ slti $v0, $t8, 0x140
/* 8CFC 8002D8FC 50400001 */ beql $v0, $zero, .L8002D904
/* 8D00 8002D900 2418013F */ addiu $t8, $zero, 0x13f
.L8002D904:
/* 8D04 8002D904 2B2200F0 */ slti $v0, $t9, 0xf0
/* 8D08 8002D908 50400001 */ beql $v0, $zero, .L8002D910
/* 8D0C 8002D90C 241900EF */ addiu $t9, $zero, 0xef
.L8002D910:
/* 8D10 8002D910 2BC20141 */ slti $v0, $fp, 0x141
/* 8D14 8002D914 50400001 */ beql $v0, $zero, .L8002D91C
/* 8D18 8002D918 241E0140 */ addiu $fp, $zero, 0x140
.L8002D91C:
/* 8D1C 8002D91C 2A8200F1 */ slti $v0, $s4, 0xf1
/* 8D20 8002D920 50400001 */ beql $v0, $zero, .L8002D928
/* 8D24 8002D924 241400F0 */ addiu $s4, $zero, 0xf0
.L8002D928:
/* 8D28 8002D928 3C03E300 */ lui $v1, 0xe300
/* 8D2C 8002D92C 34630F00 */ ori $v1, $v1, 0xf00
/* 8D30 8002D930 3C04E300 */ lui $a0, 0xe300
/* 8D34 8002D934 34841001 */ ori $a0, $a0, 0x1001
/* 8D38 8002D938 3C05E300 */ lui $a1, 0xe300
/* 8D3C 8002D93C 34A50D01 */ ori $a1, $a1, 0xd01
/* 8D40 8002D940 3C06E300 */ lui $a2, 0xe300
/* 8D44 8002D944 34C60C00 */ ori $a2, $a2, 0xc00
/* 8D48 8002D948 3C07E300 */ lui $a3, 0xe300
/* 8D4C 8002D94C 34E71201 */ ori $a3, $a3, 0x1201
/* 8D50 8002D950 3C08E300 */ lui $t0, 0xe300
/* 8D54 8002D954 35081402 */ ori $t0, $t0, 0x1402
/* 8D58 8002D958 3C0AFCFF */ lui $t2, 0xfcff
/* 8D5C 8002D95C 354AFFFF */ ori $t2, $t2, 0xffff
/* 8D60 8002D960 3C09FFFE */ lui $t1, 0xfffe
/* 8D64 8002D964 3529793C */ ori $t1, $t1, 0x793c
/* 8D68 8002D968 3C0BE300 */ lui $t3, 0xe300
/* 8D6C 8002D96C 356B1700 */ ori $t3, $t3, 0x1700
/* 8D70 8002D970 3C0CE200 */ lui $t4, 0xe200
/* 8D74 8002D974 358C1E01 */ ori $t4, $t4, 0x1e01
/* 8D78 8002D978 3C0DE200 */ lui $t5, 0xe200
/* 8D7C 8002D97C 35AD001C */ ori $t5, $t5, 0x1c
/* 8D80 8002D980 3C0E0F0A */ lui $t6, 0xf0a
/* 8D84 8002D984 35CE4000 */ ori $t6, $t6, 0x4000
/* 8D88 8002D988 3C0FE300 */ lui $t7, 0xe300
/* 8D8C 8002D98C 35EF1801 */ ori $t7, $t7, 0x1801
/* 8D90 8002D990 3C10DB04 */ lui $s0, 0xdb04
/* 8D94 8002D994 36100004 */ ori $s0, $s0, 4
/* 8D98 8002D998 3C11DB04 */ lui $s1, 0xdb04
/* 8D9C 8002D99C 3631000C */ ori $s1, $s1, 0xc
/* 8DA0 8002D9A0 3C12DB04 */ lui $s2, 0xdb04
/* 8DA4 8002D9A4 36520014 */ ori $s2, $s2, 0x14
/* 8DA8 8002D9A8 3C13DB04 */ lui $s3, 0xdb04
/* 8DAC 8002D9AC 3673001C */ ori $s3, $s3, 0x1c
/* 8DB0 8002D9B0 AFAB0028 */ sw $t3, 0x28($sp)
/* 8DB4 8002D9B4 3C0BFF10 */ lui $t3, 0xff10
/* 8DB8 8002D9B8 26A20028 */ addiu $v0, $s5, 0x28
/* 8DBC 8002D9BC AFAB0024 */ sw $t3, 0x24($sp)
/* 8DC0 8002D9C0 AEE20000 */ sw $v0, ($s7)
/* 8DC4 8002D9C4 26A20030 */ addiu $v0, $s5, 0x30
/* 8DC8 8002D9C8 AEE20000 */ sw $v0, ($s7)
/* 8DCC 8002D9CC 26A20038 */ addiu $v0, $s5, 0x38
/* 8DD0 8002D9D0 AEA30028 */ sw $v1, 0x28($s5)
/* 8DD4 8002D9D4 AEA0002C */ sw $zero, 0x2c($s5)
/* 8DD8 8002D9D8 AEE20000 */ sw $v0, ($s7)
/* 8DDC 8002D9DC 26A20040 */ addiu $v0, $s5, 0x40
/* 8DE0 8002D9E0 AEA40030 */ sw $a0, 0x30($s5)
/* 8DE4 8002D9E4 AEA00034 */ sw $zero, 0x34($s5)
/* 8DE8 8002D9E8 AEE20000 */ sw $v0, ($s7)
/* 8DEC 8002D9EC 26A20048 */ addiu $v0, $s5, 0x48
/* 8DF0 8002D9F0 AEA50038 */ sw $a1, 0x38($s5)
/* 8DF4 8002D9F4 AEA0003C */ sw $zero, 0x3c($s5)
/* 8DF8 8002D9F8 AEE20000 */ sw $v0, ($s7)
/* 8DFC 8002D9FC 3C020008 */ lui $v0, 8
/* 8E00 8002DA00 AEA20044 */ sw $v0, 0x44($s5)
/* 8E04 8002DA04 26A20050 */ addiu $v0, $s5, 0x50
/* 8E08 8002DA08 AEA60040 */ sw $a2, 0x40($s5)
/* 8E0C 8002DA0C AEE20000 */ sw $v0, ($s7)
/* 8E10 8002DA10 24022000 */ addiu $v0, $zero, 0x2000
/* 8E14 8002DA14 AEA2004C */ sw $v0, 0x4c($s5)
/* 8E18 8002DA18 26A20058 */ addiu $v0, $s5, 0x58
/* 8E1C 8002DA1C AEA70048 */ sw $a3, 0x48($s5)
/* 8E20 8002DA20 AEE20000 */ sw $v0, ($s7)
/* 8E24 8002DA24 24020C00 */ addiu $v0, $zero, 0xc00
/* 8E28 8002DA28 AEA20054 */ sw $v0, 0x54($s5)
/* 8E2C 8002DA2C 26A20060 */ addiu $v0, $s5, 0x60
/* 8E30 8002DA30 AEA80050 */ sw $t0, 0x50($s5)
/* 8E34 8002DA34 AEE20000 */ sw $v0, ($s7)
/* 8E38 8002DA38 26A20068 */ addiu $v0, $s5, 0x68
/* 8E3C 8002DA3C 44981000 */ mtc1 $t8, $f2
/* 8E40 8002DA40 00000000 */ nop
/* 8E44 8002DA44 468010A0 */ cvt.s.w $f2, $f2
/* 8E48 8002DA48 46161082 */ mul.s $f2, $f2, $f22
/* 8E4C 8002DA4C 00000000 */ nop
/* 8E50 8002DA50 AEAA0058 */ sw $t2, 0x58($s5)
/* 8E54 8002DA54 AEA9005C */ sw $t1, 0x5c($s5)
/* 8E58 8002DA58 AEE20000 */ sw $v0, ($s7)
/* 8E5C 8002DA5C 26A20070 */ addiu $v0, $s5, 0x70
/* 8E60 8002DA60 44990000 */ mtc1 $t9, $f0
/* 8E64 8002DA64 00000000 */ nop
/* 8E68 8002DA68 46800020 */ cvt.s.w $f0, $f0
/* 8E6C 8002DA6C 8FAB0028 */ lw $t3, 0x28($sp)
/* 8E70 8002DA70 46160002 */ mul.s $f0, $f0, $f22
/* 8E74 8002DA74 00000000 */ nop
/* 8E78 8002DA78 AEAB0060 */ sw $t3, 0x60($s5)
/* 8E7C 8002DA7C AEA00064 */ sw $zero, 0x64($s5)
/* 8E80 8002DA80 AEE20000 */ sw $v0, ($s7)
/* 8E84 8002DA84 26A20078 */ addiu $v0, $s5, 0x78
/* 8E88 8002DA88 AEAC0068 */ sw $t4, 0x68($s5)
/* 8E8C 8002DA8C AEA0006C */ sw $zero, 0x6c($s5)
/* 8E90 8002DA90 AEE20000 */ sw $v0, ($s7)
/* 8E94 8002DA94 3C02ED00 */ lui $v0, 0xed00
/* 8E98 8002DA98 AEAD0070 */ sw $t5, 0x70($s5)
/* 8E9C 8002DA9C AEAE0074 */ sw $t6, 0x74($s5)
/* 8EA0 8002DAA0 4600110D */ trunc.w.s $f4, $f2
/* 8EA4 8002DAA4 44042000 */ mfc1 $a0, $f4
/* 8EA8 8002DAA8 00000000 */ nop
/* 8EAC 8002DAAC 30840FFF */ andi $a0, $a0, 0xfff
/* 8EB0 8002DAB0 00042300 */ sll $a0, $a0, 0xc
/* 8EB4 8002DAB4 4600010D */ trunc.w.s $f4, $f0
/* 8EB8 8002DAB8 44032000 */ mfc1 $v1, $f4
/* 8EBC 8002DABC 449E1000 */ mtc1 $fp, $f2
/* 8EC0 8002DAC0 00000000 */ nop
/* 8EC4 8002DAC4 468010A0 */ cvt.s.w $f2, $f2
/* 8EC8 8002DAC8 46161082 */ mul.s $f2, $f2, $f22
/* 8ECC 8002DACC 00000000 */ nop
/* 8ED0 8002DAD0 30630FFF */ andi $v1, $v1, 0xfff
/* 8ED4 8002DAD4 00621825 */ or $v1, $v1, $v0
/* 8ED8 8002DAD8 00832025 */ or $a0, $a0, $v1
/* 8EDC 8002DADC 44940000 */ mtc1 $s4, $f0
/* 8EE0 8002DAE0 00000000 */ nop
/* 8EE4 8002DAE4 46800020 */ cvt.s.w $f0, $f0
/* 8EE8 8002DAE8 46160002 */ mul.s $f0, $f0, $f22
/* 8EEC 8002DAEC 00000000 */ nop
/* 8EF0 8002DAF0 AEA40020 */ sw $a0, 0x20($s5)
/* 8EF4 8002DAF4 4600110D */ trunc.w.s $f4, $f2
/* 8EF8 8002DAF8 44032000 */ mfc1 $v1, $f4
/* 8EFC 8002DAFC 00000000 */ nop
/* 8F00 8002DB00 30630FFF */ andi $v1, $v1, 0xfff
/* 8F04 8002DB04 00031B00 */ sll $v1, $v1, 0xc
/* 8F08 8002DB08 4600010D */ trunc.w.s $f4, $f0
/* 8F0C 8002DB0C 44022000 */ mfc1 $v0, $f4
/* 8F10 8002DB10 00000000 */ nop
/* 8F14 8002DB14 30420FFF */ andi $v0, $v0, 0xfff
/* 8F18 8002DB18 00621825 */ or $v1, $v1, $v0
/* 8F1C 8002DB1C 26A20080 */ addiu $v0, $s5, 0x80
/* 8F20 8002DB20 AEA30024 */ sw $v1, 0x24($s5)
/* 8F24 8002DB24 AEE20000 */ sw $v0, ($s7)
/* 8F28 8002DB28 240200C0 */ addiu $v0, $zero, 0xc0
/* 8F2C 8002DB2C 8FAB0024 */ lw $t3, 0x24($sp)
/* 8F30 8002DB30 3C04800A */ lui $a0, %hi(nuGfxCfb_ptr)
/* 8F34 8002DB34 8C84A64C */ lw $a0, %lo(nuGfxCfb_ptr)($a0)
/* 8F38 8002DB38 356B013F */ ori $t3, $t3, 0x13f
/* 8F3C 8002DB3C AFAB0024 */ sw $t3, 0x24($sp)
/* 8F40 8002DB40 AEA2007C */ sw $v0, 0x7c($s5)
/* 8F44 8002DB44 26A20088 */ addiu $v0, $s5, 0x88
/* 8F48 8002DB48 240B0002 */ addiu $t3, $zero, 2
/* 8F4C 8002DB4C AEAF0078 */ sw $t7, 0x78($s5)
/* 8F50 8002DB50 AEE20000 */ sw $v0, ($s7)
/* 8F54 8002DB54 26A20090 */ addiu $v0, $s5, 0x90
/* 8F58 8002DB58 AEB00080 */ sw $s0, 0x80($s5)
/* 8F5C 8002DB5C AEAB0084 */ sw $t3, 0x84($s5)
/* 8F60 8002DB60 AEE20000 */ sw $v0, ($s7)
/* 8F64 8002DB64 26A20098 */ addiu $v0, $s5, 0x98
/* 8F68 8002DB68 AEAB008C */ sw $t3, 0x8c($s5)
/* 8F6C 8002DB6C 340BFFFE */ ori $t3, $zero, 0xfffe
/* 8F70 8002DB70 AEB10088 */ sw $s1, 0x88($s5)
/* 8F74 8002DB74 AEE20000 */ sw $v0, ($s7)
/* 8F78 8002DB78 26A200A0 */ addiu $v0, $s5, 0xa0
/* 8F7C 8002DB7C AEB20090 */ sw $s2, 0x90($s5)
/* 8F80 8002DB80 AEAB0094 */ sw $t3, 0x94($s5)
/* 8F84 8002DB84 AEE20000 */ sw $v0, ($s7)
/* 8F88 8002DB88 26A200A8 */ addiu $v0, $s5, 0xa8
/* 8F8C 8002DB8C AEB30098 */ sw $s3, 0x98($s5)
/* 8F90 8002DB90 AEAB009C */ sw $t3, 0x9c($s5)
/* 8F94 8002DB94 AEE20000 */ sw $v0, ($s7)
/* 8F98 8002DB98 8FAB0024 */ lw $t3, 0x24($sp)
/* 8F9C 8002DB9C 0C0187A4 */ jal osVirtualToPhysical
/* 8FA0 8002DBA0 AEAB00A0 */ sw $t3, 0xa0($s5)
/* 8FA4 8002DBA4 8EE40000 */ lw $a0, ($s7)
/* 8FA8 8002DBA8 AEA200A4 */ sw $v0, 0xa4($s5)
/* 8FAC 8002DBAC 0080102D */ daddu $v0, $a0, $zero
/* 8FB0 8002DBB0 3C0BE700 */ lui $t3, 0xe700
/* 8FB4 8002DBB4 AC4B0000 */ sw $t3, ($v0)
/* 8FB8 8002DBB8 AC400004 */ sw $zero, 4($v0)
/* 8FBC 8002DBBC 96C20000 */ lhu $v0, ($s6)
/* 8FC0 8002DBC0 24840008 */ addiu $a0, $a0, 8
/* 8FC4 8002DBC4 30420010 */ andi $v0, $v0, 0x10
/* 8FC8 8002DBC8 14400007 */ bnez $v0, .L8002DBE8
/* 8FCC 8002DBCC AEE40000 */ sw $a0, ($s7)
/* 8FD0 8002DBD0 3C02DB0E */ lui $v0, 0xdb0e
/* 8FD4 8002DBD4 AC820000 */ sw $v0, ($a0)
/* 8FD8 8002DBD8 96C30038 */ lhu $v1, 0x38($s6)
/* 8FDC 8002DBDC 24820008 */ addiu $v0, $a0, 8
/* 8FE0 8002DBE0 AEE20000 */ sw $v0, ($s7)
/* 8FE4 8002DBE4 AC830004 */ sw $v1, 4($a0)
.L8002DBE8:
/* 8FE8 8002DBE8 26C400D4 */ addiu $a0, $s6, 0xd4
/* 8FEC 8002DBEC 3C05800A */ lui $a1, %hi(gCurrentCamID)
/* 8FF0 8002DBF0 84A5A634 */ lh $a1, %lo(gCurrentCamID)($a1)
/* 8FF4 8002DBF4 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 8FF8 8002DBF8 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 8FFC 8002DBFC 00052980 */ sll $a1, $a1, 6
/* 9000 8002DC00 24A50030 */ addiu $a1, $a1, 0x30
/* 9004 8002DC04 0C019D40 */ jal guMtxF2L
/* 9008 8002DC08 00452821 */ addu $a1, $v0, $a1
/* 900C 8002DC0C 3C05DA38 */ lui $a1, 0xda38
/* 9010 8002DC10 34A50007 */ ori $a1, $a1, 7
/* 9014 8002DC14 8EE20000 */ lw $v0, ($s7)
/* 9018 8002DC18 3C03800A */ lui $v1, %hi(gCurrentCamID)
/* 901C 8002DC1C 8463A634 */ lh $v1, %lo(gCurrentCamID)($v1)
/* 9020 8002DC20 0040202D */ daddu $a0, $v0, $zero
/* 9024 8002DC24 24420008 */ addiu $v0, $v0, 8
/* 9028 8002DC28 00031980 */ sll $v1, $v1, 6
/* 902C 8002DC2C AEE20000 */ sw $v0, ($s7)
/* 9030 8002DC30 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 9034 8002DC34 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 9038 8002DC38 24630030 */ addiu $v1, $v1, 0x30
/* 903C 8002DC3C AC850000 */ sw $a1, ($a0)
/* 9040 8002DC40 00431021 */ addu $v0, $v0, $v1
/* 9044 8002DC44 AC820004 */ sw $v0, 4($a0)
/* 9048 8002DC48 3C0A0001 */ lui $t2, 1
.L8002DC4C:
/* 904C 8002DC4C 354A1630 */ ori $t2, $t2, 0x1630
/* 9050 8002DC50 3C098007 */ lui $t1, %hi(gMatrixListPos)
/* 9054 8002DC54 252941F0 */ addiu $t1, $t1, %lo(gMatrixListPos)
/* 9058 8002DC58 4406A000 */ mfc1 $a2, $f20
/* 905C 8002DC5C 95280000 */ lhu $t0, ($t1)
/* 9060 8002DC60 4407C000 */ mfc1 $a3, $f24
/* 9064 8002DC64 3C03800A */ lui $v1, %hi(gDisplayContext)
/* 9068 8002DC68 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1)
/* 906C 8002DC6C C6C00084 */ lwc1 $f0, 0x84($s6)
/* 9070 8002DC70 3104FFFF */ andi $a0, $t0, 0xffff
/* 9074 8002DC74 00042180 */ sll $a0, $a0, 6
/* 9078 8002DC78 008A2021 */ addu $a0, $a0, $t2
/* 907C 8002DC7C 00642021 */ addu $a0, $v1, $a0
/* 9080 8002DC80 3102FFFF */ andi $v0, $t0, 0xffff
/* 9084 8002DC84 00021180 */ sll $v0, $v0, 6
/* 9088 8002DC88 004A1021 */ addu $v0, $v0, $t2
/* 908C 8002DC8C 00621821 */ addu $v1, $v1, $v0
/* 9090 8002DC90 46000007 */ neg.s $f0, $f0
/* 9094 8002DC94 44050000 */ mfc1 $a1, $f0
/* 9098 8002DC98 25080001 */ addiu $t0, $t0, 1
/* 909C 8002DC9C AEC30204 */ sw $v1, 0x204($s6)
/* 90A0 8002DCA0 A5280000 */ sh $t0, ($t1)
/* 90A4 8002DCA4 0C019F20 */ jal guRotate
/* 90A8 8002DCA8 E7B40010 */ swc1 $f20, 0x10($sp)
/* 90AC 8002DCAC 3C048007 */ lui $a0, %hi(gGameStatusPtr)
/* 90B0 8002DCB0 8C84419C */ lw $a0, %lo(gGameStatusPtr)($a0)
/* 90B4 8002DCB4 90820082 */ lbu $v0, 0x82($a0)
/* 90B8 8002DCB8 96C300A8 */ lhu $v1, 0xa8($s6)
/* 90BC 8002DCBC 00021600 */ sll $v0, $v0, 0x18
/* 90C0 8002DCC0 00021603 */ sra $v0, $v0, 0x18
/* 90C4 8002DCC4 00621821 */ addu $v1, $v1, $v0
/* 90C8 8002DCC8 A6C300B8 */ sh $v1, 0xb8($s6)
/* 90CC 8002DCCC 90830083 */ lbu $v1, 0x83($a0)
/* 90D0 8002DCD0 96C200AA */ lhu $v0, 0xaa($s6)
/* 90D4 8002DCD4 96C40000 */ lhu $a0, ($s6)
/* 90D8 8002DCD8 00031E00 */ sll $v1, $v1, 0x18
/* 90DC 8002DCDC 00031E03 */ sra $v1, $v1, 0x18
/* 90E0 8002DCE0 00431021 */ addu $v0, $v0, $v1
/* 90E4 8002DCE4 A6C200BA */ sh $v0, 0xba($s6)
/* 90E8 8002DCE8 30820010 */ andi $v0, $a0, 0x10
/* 90EC 8002DCEC 14400048 */ bnez $v0, .L8002DE10
/* 90F0 8002DCF0 24020003 */ addiu $v0, $zero, 3
/* 90F4 8002DCF4 3C03800A */ lui $v1, %hi(gCurrentCamID)
/* 90F8 8002DCF8 8463A634 */ lh $v1, %lo(gCurrentCamID)($v1)
/* 90FC 8002DCFC 10620019 */ beq $v1, $v0, .L8002DD64
/* 9100 8002DD00 30820200 */ andi $v0, $a0, 0x200
/* 9104 8002DD04 14400003 */ bnez $v0, .L8002DD14
/* 9108 8002DD08 00000000 */ nop
/* 910C 8002DD0C 0C043FAD */ jal render_entities
/* 9110 8002DD10 00000000 */ nop
.L8002DD14:
/* 9114 8002DD14 96C20000 */ lhu $v0, ($s6)
/* 9118 8002DD18 30420400 */ andi $v0, $v0, 0x400
/* 911C 8002DD1C 14400003 */ bnez $v0, .L8002DD2C
/* 9120 8002DD20 00000000 */ nop
/* 9124 8002DD24 0C045AE4 */ jal render_models
/* 9128 8002DD28 00000000 */ nop
.L8002DD2C:
/* 912C 8002DD2C 0C03844E */ jal render_player
/* 9130 8002DD30 00000000 */ nop
/* 9134 8002DD34 0C00E9FC */ jal render_npcs
/* 9138 8002DD38 00000000 */ nop
/* 913C 8002DD3C 0C048D1C */ jal render_generic_entities_world
/* 9140 8002DD40 00000000 */ nop
/* 9144 8002DD44 0C0167BD */ jal render_effects_world
/* 9148 8002DD48 00000000 */ nop
/* 914C 8002DD4C 0C04766E */ jal execute_render_tasks
/* 9150 8002DD50 00000000 */ nop
/* 9154 8002DD54 0C050DAD */ jal render_hud_elements_world
/* 9158 8002DD58 00000000 */ nop
/* 915C 8002DD5C 0800B788 */ j .L8002DE20
/* 9160 8002DD60 00000000 */ nop
.L8002DD64:
/* 9164 8002DD64 26D000D4 */ addiu $s0, $s6, 0xd4
/* 9168 8002DD68 4405A000 */ mfc1 $a1, $f20
/* 916C 8002DD6C 3C0643A0 */ lui $a2, 0x43a0
/* 9170 8002DD70 3C07C370 */ lui $a3, 0xc370
/* 9174 8002DD74 3C01C47A */ lui $at, 0xc47a
/* 9178 8002DD78 44810000 */ mtc1 $at, $f0
/* 917C 8002DD7C 3C01447A */ lui $at, 0x447a
/* 9180 8002DD80 44811000 */ mtc1 $at, $f2
/* 9184 8002DD84 0200202D */ daddu $a0, $s0, $zero
/* 9188 8002DD88 E7B40010 */ swc1 $f20, 0x10($sp)
/* 918C 8002DD8C E7B8001C */ swc1 $f24, 0x1c($sp)
/* 9190 8002DD90 E7A00014 */ swc1 $f0, 0x14($sp)
/* 9194 8002DD94 0C018E44 */ jal guOrthoF
/* 9198 8002DD98 E7A20018 */ swc1 $f2, 0x18($sp)
/* 919C 8002DD9C 0200202D */ daddu $a0, $s0, $zero
/* 91A0 8002DDA0 3C05800A */ lui $a1, %hi(gCurrentCamID)
/* 91A4 8002DDA4 84A5A634 */ lh $a1, %lo(gCurrentCamID)($a1)
/* 91A8 8002DDA8 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 91AC 8002DDAC 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 91B0 8002DDB0 00052980 */ sll $a1, $a1, 6
/* 91B4 8002DDB4 24A50030 */ addiu $a1, $a1, 0x30
/* 91B8 8002DDB8 0C019D40 */ jal guMtxF2L
/* 91BC 8002DDBC 00452821 */ addu $a1, $v0, $a1
/* 91C0 8002DDC0 3C05DA38 */ lui $a1, 0xda38
/* 91C4 8002DDC4 34A50007 */ ori $a1, $a1, 7
/* 91C8 8002DDC8 8EE20000 */ lw $v0, ($s7)
/* 91CC 8002DDCC 3C03800A */ lui $v1, %hi(gCurrentCamID)
/* 91D0 8002DDD0 8463A634 */ lh $v1, %lo(gCurrentCamID)($v1)
/* 91D4 8002DDD4 0040202D */ daddu $a0, $v0, $zero
/* 91D8 8002DDD8 24420008 */ addiu $v0, $v0, 8
/* 91DC 8002DDDC 00031980 */ sll $v1, $v1, 6
/* 91E0 8002DDE0 AEE20000 */ sw $v0, ($s7)
/* 91E4 8002DDE4 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 91E8 8002DDE8 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 91EC 8002DDEC 24630030 */ addiu $v1, $v1, 0x30
/* 91F0 8002DDF0 AC850000 */ sw $a1, ($a0)
/* 91F4 8002DDF4 00431021 */ addu $v0, $v0, $v1
/* 91F8 8002DDF8 0C050DAD */ jal render_hud_elements_world
/* 91FC 8002DDFC AC820004 */ sw $v0, 4($a0)
/* 9200 8002DE00 0C04CB95 */ jal render_item_entities
/* 9204 8002DE04 00000000 */ nop
/* 9208 8002DE08 0800B788 */ j .L8002DE20
/* 920C 8002DE0C 00000000 */ nop
.L8002DE10:
/* 9210 8002DE10 0C048D1C */ jal render_generic_entities_world
/* 9214 8002DE14 00000000 */ nop
/* 9218 8002DE18 0C04766E */ jal execute_render_tasks
/* 921C 8002DE1C 00000000 */ nop
.L8002DE20:
/* 9220 8002DE20 8EC20200 */ lw $v0, 0x200($s6)
/* 9224 8002DE24 10400004 */ beqz $v0, .L8002DE38
/* 9228 8002DE28 3C03FF10 */ lui $v1, 0xff10
/* 922C 8002DE2C 0040F809 */ jalr $v0
/* 9230 8002DE30 02C0202D */ daddu $a0, $s6, $zero
/* 9234 8002DE34 3C03FF10 */ lui $v1, 0xff10
.L8002DE38:
/* 9238 8002DE38 3463013F */ ori $v1, $v1, 0x13f
/* 923C 8002DE3C 8EF00000 */ lw $s0, ($s7)
/* 9240 8002DE40 3C04800A */ lui $a0, %hi(nuGfxCfb_ptr)
/* 9244 8002DE44 8C84A64C */ lw $a0, %lo(nuGfxCfb_ptr)($a0)
/* 9248 8002DE48 0200102D */ daddu $v0, $s0, $zero
/* 924C 8002DE4C 26100008 */ addiu $s0, $s0, 8
/* 9250 8002DE50 3C0BE700 */ lui $t3, 0xe700
/* 9254 8002DE54 AEF00000 */ sw $s0, ($s7)
/* 9258 8002DE58 AC4B0000 */ sw $t3, ($v0)
/* 925C 8002DE5C AC400004 */ sw $zero, 4($v0)
/* 9260 8002DE60 26020008 */ addiu $v0, $s0, 8
/* 9264 8002DE64 AEE20000 */ sw $v0, ($s7)
/* 9268 8002DE68 0C0187A4 */ jal osVirtualToPhysical
/* 926C 8002DE6C AE030000 */ sw $v1, ($s0)
/* 9270 8002DE70 8EE30000 */ lw $v1, ($s7)
/* 9274 8002DE74 AE020004 */ sw $v0, 4($s0)
/* 9278 8002DE78 0060102D */ daddu $v0, $v1, $zero
/* 927C 8002DE7C 24630008 */ addiu $v1, $v1, 8
/* 9280 8002DE80 3C0BE700 */ lui $t3, %hi(D_E7000001)
/* 9284 8002DE84 AEE30000 */ sw $v1, ($s7)
/* 9288 8002DE88 AC4B0000 */ sw $t3, ($v0)
/* 928C 8002DE8C AC400004 */ sw $zero, 4($v0)
.L8002DE90:
/* 9290 8002DE90 8FAB0020 */ lw $t3, 0x20($sp)
/* 9294 8002DE94 256B0001 */ addiu $t3, $t3, %lo(D_E7000001)
/* 9298 8002DE98 AFAB0020 */ sw $t3, 0x20($sp)
/* 929C 8002DE9C 8FAB0070 */ lw $t3, 0x70($sp)
/* 92A0 8002DEA0 24020004 */ addiu $v0, $zero, 4
/* 92A4 8002DEA4 004B1023 */ subu $v0, $v0, $t3
/* 92A8 8002DEA8 8FAB0020 */ lw $t3, 0x20($sp)
/* 92AC 8002DEAC 0162102A */ slt $v0, $t3, $v0
/* 92B0 8002DEB0 1440FE55 */ bnez $v0, .L8002D808
/* 92B4 8002DEB4 26D60558 */ addiu $s6, $s6, 0x558
.L8002DEB8:
/* 92B8 8002DEB8 8FBF0054 */ lw $ra, 0x54($sp)
/* 92BC 8002DEBC 8FBE0050 */ lw $fp, 0x50($sp)
/* 92C0 8002DEC0 8FB7004C */ lw $s7, 0x4c($sp)
/* 92C4 8002DEC4 8FB60048 */ lw $s6, 0x48($sp)
/* 92C8 8002DEC8 8FB50044 */ lw $s5, 0x44($sp)
/* 92CC 8002DECC 8FB40040 */ lw $s4, 0x40($sp)
/* 92D0 8002DED0 8FB3003C */ lw $s3, 0x3c($sp)
/* 92D4 8002DED4 8FB20038 */ lw $s2, 0x38($sp)
/* 92D8 8002DED8 8FB10034 */ lw $s1, 0x34($sp)
/* 92DC 8002DEDC 8FB00030 */ lw $s0, 0x30($sp)
/* 92E0 8002DEE0 D7B80068 */ ldc1 $f24, 0x68($sp)
/* 92E4 8002DEE4 D7B60060 */ ldc1 $f22, 0x60($sp)
/* 92E8 8002DEE8 D7B40058 */ ldc1 $f20, 0x58($sp)
/* 92EC 8002DEEC 03E00008 */ jr $ra
/* 92F0 8002DEF0 27BD0070 */ addiu $sp, $sp, 0x70

View File

@ -1,86 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80030210
/* B610 80030210 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B614 80030214 AFB00010 */ sw $s0, 0x10($sp)
/* B618 80030218 0080802D */ daddu $s0, $a0, $zero
/* B61C 8003021C AFBF0018 */ sw $ra, 0x18($sp)
/* B620 80030220 AFB10014 */ sw $s1, 0x14($sp)
/* B624 80030224 F7B60028 */ sdc1 $f22, 0x28($sp)
/* B628 80030228 F7B40020 */ sdc1 $f20, 0x20($sp)
/* B62C 8003022C C6000054 */ lwc1 $f0, 0x54($s0)
/* B630 80030230 C6040048 */ lwc1 $f4, 0x48($s0)
/* B634 80030234 46040001 */ sub.s $f0, $f0, $f4
/* B638 80030238 4485B000 */ mtc1 $a1, $f22
/* B63C 8003023C 00000000 */ nop
/* B640 80030240 46160002 */ mul.s $f0, $f0, $f22
/* B644 80030244 00000000 */ nop
/* B648 80030248 44863000 */ mtc1 $a2, $f6
/* B64C 8003024C 00000000 */ nop
/* B650 80030250 46003087 */ neg.s $f2, $f6
/* B654 80030254 4602003C */ c.lt.s $f0, $f2
/* B658 80030258 00000000 */ nop
/* B65C 8003025C 45000002 */ bc1f .L80030268
/* B660 80030260 00E0882D */ daddu $s1, $a3, $zero
/* B664 80030264 46001006 */ mov.s $f0, $f2
.L80030268:
/* B668 80030268 4600303C */ c.lt.s $f6, $f0
/* B66C 8003026C 00000000 */ nop
/* B670 80030270 45030001 */ bc1tl .L80030278
/* B674 80030274 46003006 */ mov.s $f0, $f6
.L80030278:
/* B678 80030278 C6020074 */ lwc1 $f2, 0x74($s0)
/* B67C 8003027C 46002100 */ add.s $f4, $f4, $f0
/* B680 80030280 3C0140C9 */ lui $at, 0x40c9
/* B684 80030284 34210FD0 */ ori $at, $at, 0xfd0
/* B688 80030288 44810000 */ mtc1 $at, $f0
/* B68C 8003028C 00000000 */ nop
/* B690 80030290 46001082 */ mul.s $f2, $f2, $f0
/* B694 80030294 00000000 */ nop
/* B698 80030298 3C0143B4 */ lui $at, 0x43b4
/* B69C 8003029C 44810000 */ mtc1 $at, $f0
/* B6A0 800302A0 E604003C */ swc1 $f4, 0x3c($s0)
/* B6A4 800302A4 E6040048 */ swc1 $f4, 0x48($s0)
/* B6A8 800302A8 46001503 */ div.s $f20, $f2, $f0
/* B6AC 800302AC 0C00A874 */ jal cos_rad
/* B6B0 800302B0 4600A306 */ mov.s $f12, $f20
/* B6B4 800302B4 C6020078 */ lwc1 $f2, 0x78($s0)
/* B6B8 800302B8 46001082 */ mul.s $f2, $f2, $f0
/* B6BC 800302BC 00000000 */ nop
/* B6C0 800302C0 C604005C */ lwc1 $f4, 0x5c($s0)
/* B6C4 800302C4 C6060050 */ lwc1 $f6, 0x50($s0)
/* B6C8 800302C8 46062101 */ sub.s $f4, $f4, $f6
/* B6CC 800302CC 46162102 */ mul.s $f4, $f4, $f22
/* B6D0 800302D0 00000000 */ nop
/* B6D4 800302D4 46043180 */ add.s $f6, $f6, $f4
/* B6D8 800302D8 46023080 */ add.s $f2, $f6, $f2
/* B6DC 800302DC 00111400 */ sll $v0, $s1, 0x10
/* B6E0 800302E0 E6060050 */ swc1 $f6, 0x50($s0)
/* B6E4 800302E4 14400012 */ bnez $v0, .L80030330
/* B6E8 800302E8 E6020044 */ swc1 $f2, 0x44($s0)
/* B6EC 800302EC 0C00A85B */ jal sin_rad
/* B6F0 800302F0 4600A306 */ mov.s $f12, $f20
/* B6F4 800302F4 C6040058 */ lwc1 $f4, 0x58($s0)
/* B6F8 800302F8 C606004C */ lwc1 $f6, 0x4c($s0)
/* B6FC 800302FC 46062101 */ sub.s $f4, $f4, $f6
/* B700 80030300 3C013E00 */ lui $at, 0x3e00
/* B704 80030304 44811000 */ mtc1 $at, $f2
/* B708 80030308 00000000 */ nop
/* B70C 8003030C 46022102 */ mul.s $f4, $f4, $f2
/* B710 80030310 00000000 */ nop
/* B714 80030314 C6020078 */ lwc1 $f2, 0x78($s0)
/* B718 80030318 46001082 */ mul.s $f2, $f2, $f0
/* B71C 8003031C 00000000 */ nop
/* B720 80030320 46043180 */ add.s $f6, $f6, $f4
/* B724 80030324 46023080 */ add.s $f2, $f6, $f2
/* B728 80030328 E606004C */ swc1 $f6, 0x4c($s0)
/* B72C 8003032C E6020040 */ swc1 $f2, 0x40($s0)
.L80030330:
/* B730 80030330 8FBF0018 */ lw $ra, 0x18($sp)
/* B734 80030334 8FB10014 */ lw $s1, 0x14($sp)
/* B738 80030338 8FB00010 */ lw $s0, 0x10($sp)
/* B73C 8003033C D7B60028 */ ldc1 $f22, 0x28($sp)
/* B740 80030340 D7B40020 */ ldc1 $f20, 0x20($sp)
/* B744 80030344 03E00008 */ jr $ra
/* B748 80030348 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,74 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8003034C
/* B74C 8003034C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B750 80030350 AFB00010 */ sw $s0, 0x10($sp)
/* B754 80030354 0080802D */ daddu $s0, $a0, $zero
/* B758 80030358 3C028011 */ lui $v0, %hi(gPlayerStatus)
/* B75C 8003035C 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus)
/* B760 80030360 AFBF0018 */ sw $ra, 0x18($sp)
/* B764 80030364 AFB10014 */ sw $s1, 0x14($sp)
/* B768 80030368 F7B40020 */ sdc1 $f20, 0x20($sp)
/* B76C 8003036C C44C0084 */ lwc1 $f12, 0x84($v0)
/* B770 80030370 3C0142B4 */ lui $at, 0x42b4
/* B774 80030374 44817000 */ mtc1 $at, $f14
/* B778 80030378 0C00A70A */ jal get_clamped_angle_diff
/* B77C 8003037C 0040882D */ daddu $s1, $v0, $zero
/* B780 80030380 3C014234 */ lui $at, 0x4234
/* B784 80030384 4481A000 */ mtc1 $at, $f20
/* B788 80030388 46000005 */ abs.s $f0, $f0
/* B78C 8003038C 4614003C */ c.lt.s $f0, $f20
/* B790 80030390 00000000 */ nop
/* B794 80030394 4500000F */ bc1f .L800303D4
/* B798 80030398 00000000 */ nop
/* B79C 8003039C 86020556 */ lh $v0, 0x556($s0)
/* B7A0 800303A0 14400009 */ bnez $v0, .L800303C8
/* B7A4 800303A4 2402000F */ addiu $v0, $zero, 0xf
/* B7A8 800303A8 86020554 */ lh $v0, 0x554($s0)
/* B7AC 800303AC 96030554 */ lhu $v1, 0x554($s0)
/* B7B0 800303B0 1C40001D */ bgtz $v0, .L80030428
/* B7B4 800303B4 2462FFFF */ addiu $v0, $v1, -1
/* B7B8 800303B8 3C01420C */ lui $at, 0x420c
/* B7BC 800303BC 44810000 */ mtc1 $at, $f0
/* B7C0 800303C0 0800C10E */ j .L80030438
/* B7C4 800303C4 E6000550 */ swc1 $f0, 0x550($s0)
.L800303C8:
/* B7C8 800303C8 A6020554 */ sh $v0, 0x554($s0)
/* B7CC 800303CC 0800C10E */ j .L80030438
/* B7D0 800303D0 A6000556 */ sh $zero, 0x556($s0)
.L800303D4:
/* B7D4 800303D4 C62C0084 */ lwc1 $f12, 0x84($s1)
/* B7D8 800303D8 3C014387 */ lui $at, 0x4387
/* B7DC 800303DC 44817000 */ mtc1 $at, $f14
/* B7E0 800303E0 0C00A70A */ jal get_clamped_angle_diff
/* B7E4 800303E4 00000000 */ nop
/* B7E8 800303E8 46000005 */ abs.s $f0, $f0
/* B7EC 800303EC 4614003C */ c.lt.s $f0, $f20
/* B7F0 800303F0 00000000 */ nop
/* B7F4 800303F4 45000010 */ bc1f .L80030438
/* B7F8 800303F8 24030001 */ addiu $v1, $zero, 1
/* B7FC 800303FC 86020556 */ lh $v0, 0x556($s0)
/* B800 80030400 1443000B */ bne $v0, $v1, .L80030430
/* B804 80030404 2402000F */ addiu $v0, $zero, 0xf
/* B808 80030408 86020554 */ lh $v0, 0x554($s0)
/* B80C 8003040C 96030554 */ lhu $v1, 0x554($s0)
/* B810 80030410 1C400005 */ bgtz $v0, .L80030428
/* B814 80030414 2462FFFF */ addiu $v0, $v1, -1
/* B818 80030418 3C01C20C */ lui $at, 0xc20c
/* B81C 8003041C 44810000 */ mtc1 $at, $f0
/* B820 80030420 0800C10E */ j .L80030438
/* B824 80030424 E6000550 */ swc1 $f0, 0x550($s0)
.L80030428:
/* B828 80030428 0800C10E */ j .L80030438
/* B82C 8003042C A6020554 */ sh $v0, 0x554($s0)
.L80030430:
/* B830 80030430 A6020554 */ sh $v0, 0x554($s0)
/* B834 80030434 A6030556 */ sh $v1, 0x556($s0)
.L80030438:
/* B838 80030438 8FBF0018 */ lw $ra, 0x18($sp)
/* B83C 8003043C 8FB10014 */ lw $s1, 0x14($sp)
/* B840 80030440 8FB00010 */ lw $s0, 0x10($sp)
/* B844 80030444 D7B40020 */ ldc1 $f20, 0x20($sp)
/* B848 80030448 03E00008 */ jr $ra
/* B84C 8003044C 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,47 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel test_ray_zone_aabb
/* B858 80030458 27BDFFA0 */ addiu $sp, $sp, -0x60
/* B85C 8003045C 3C0146FF */ lui $at, 0x46ff
/* B860 80030460 3421FE00 */ ori $at, $at, 0xfe00
/* B864 80030464 44811000 */ mtc1 $at, $f2
/* B868 80030468 44802000 */ mtc1 $zero, $f4
/* B86C 8003046C 3C01BF80 */ lui $at, 0xbf80
/* B870 80030470 44810000 */ mtc1 $at, $f0
/* B874 80030474 44072000 */ mfc1 $a3, $f4
/* B878 80030478 27A20038 */ addiu $v0, $sp, 0x38
/* B87C 8003047C AFBF0058 */ sw $ra, 0x58($sp)
/* B880 80030480 E7A20044 */ swc1 $f2, 0x44($sp)
/* B884 80030484 AFA20018 */ sw $v0, 0x18($sp)
/* B888 80030488 27A2003C */ addiu $v0, $sp, 0x3c
/* B88C 8003048C AFA2001C */ sw $v0, 0x1c($sp)
/* B890 80030490 27A20040 */ addiu $v0, $sp, 0x40
/* B894 80030494 AFA20020 */ sw $v0, 0x20($sp)
/* B898 80030498 27A20044 */ addiu $v0, $sp, 0x44
/* B89C 8003049C AFA20024 */ sw $v0, 0x24($sp)
/* B8A0 800304A0 27A20048 */ addiu $v0, $sp, 0x48
/* B8A4 800304A4 AFA20028 */ sw $v0, 0x28($sp)
/* B8A8 800304A8 27A2004C */ addiu $v0, $sp, 0x4c
/* B8AC 800304AC AFA2002C */ sw $v0, 0x2c($sp)
/* B8B0 800304B0 27A20050 */ addiu $v0, $sp, 0x50
/* B8B4 800304B4 E7A00010 */ swc1 $f0, 0x10($sp)
/* B8B8 800304B8 E7A40014 */ swc1 $f4, 0x14($sp)
/* B8BC 800304BC 0C017449 */ jal test_ray_zones
/* B8C0 800304C0 AFA20030 */ sw $v0, 0x30($sp)
/* B8C4 800304C4 0040182D */ daddu $v1, $v0, $zero
/* B8C8 800304C8 04600008 */ bltz $v1, .L800304EC
/* B8CC 800304CC 000310C0 */ sll $v0, $v1, 3
/* B8D0 800304D0 00431023 */ subu $v0, $v0, $v1
/* B8D4 800304D4 3C03800E */ lui $v1, %hi(D_800D91D4)
/* B8D8 800304D8 8C6391D4 */ lw $v1, %lo(D_800D91D4)($v1)
/* B8DC 800304DC 00021080 */ sll $v0, $v0, 2
/* B8E0 800304E0 00431021 */ addu $v0, $v0, $v1
/* B8E4 800304E4 0800C13C */ j .L800304F0
/* B8E8 800304E8 8C420010 */ lw $v0, 0x10($v0)
.L800304EC:
/* B8EC 800304EC 0000102D */ daddu $v0, $zero, $zero
.L800304F0:
/* B8F0 800304F0 8FBF0058 */ lw $ra, 0x58($sp)
/* B8F4 800304F4 03E00008 */ jr $ra
/* B8F8 800304F8 27BD0060 */ addiu $sp, $sp, 0x60

View File

@ -1,140 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel update_camera_mode_5
/* B400 80030000 3C014190 */ lui $at, 0x4190
/* B404 80030004 44810000 */ mtc1 $at, $f0
/* B408 80030008 3C01442C */ lui $at, 0x442c
/* B40C 8003000C 34218000 */ ori $at, $at, 0x8000
/* B410 80030010 44811000 */ mtc1 $at, $f2
/* B414 80030014 3C01423C */ lui $at, 0x423c
/* B418 80030018 44812000 */ mtc1 $at, $f4
/* B41C 8003001C 27BDFFC8 */ addiu $sp, $sp, -0x38
/* B420 80030020 AFB00010 */ sw $s0, 0x10($sp)
/* B424 80030024 0080802D */ daddu $s0, $a0, $zero
/* B428 80030028 AFBF0014 */ sw $ra, 0x14($sp)
/* B42C 8003002C F7BA0030 */ sdc1 $f26, 0x30($sp)
/* B430 80030030 F7B80028 */ sdc1 $f24, 0x28($sp)
/* B434 80030034 F7B60020 */ sdc1 $f22, 0x20($sp)
/* B438 80030038 F7B40018 */ sdc1 $f20, 0x18($sp)
/* B43C 8003003C 86020006 */ lh $v0, 6($s0)
/* B440 80030040 E6000074 */ swc1 $f0, 0x74($s0)
/* B444 80030044 E6020078 */ swc1 $f2, 0x78($s0)
/* B448 80030048 10400013 */ beqz $v0, .L80030098
/* B44C 8003004C E604007C */ swc1 $f4, 0x7c($s0)
/* B450 80030050 46002086 */ mov.s $f2, $f4
/* B454 80030054 44800000 */ mtc1 $zero, $f0
/* B458 80030058 C6060060 */ lwc1 $f6, 0x60($s0)
/* B45C 8003005C C6040068 */ lwc1 $f4, 0x68($s0)
/* B460 80030060 44050000 */ mfc1 $a1, $f0
/* B464 80030064 E6000550 */ swc1 $f0, 0x550($s0)
/* B468 80030068 E6000070 */ swc1 $f0, 0x70($s0)
/* B46C 8003006C E6000084 */ swc1 $f0, 0x84($s0)
/* B470 80030070 C6000064 */ lwc1 $f0, 0x64($s0)
/* B474 80030074 0000382D */ daddu $a3, $zero, $zero
/* B478 80030078 A6000006 */ sh $zero, 6($s0)
/* B47C 8003007C A6000554 */ sh $zero, 0x554($s0)
/* B480 80030080 E6060048 */ swc1 $f6, 0x48($s0)
/* B484 80030084 46020000 */ add.s $f0, $f0, $f2
/* B488 80030088 E6040050 */ swc1 $f4, 0x50($s0)
/* B48C 8003008C 00A0302D */ daddu $a2, $a1, $zero
/* B490 80030090 0800C04F */ j .L8003013C
/* B494 80030094 E600004C */ swc1 $f0, 0x4c($s0)
.L80030098:
/* B498 80030098 3C028011 */ lui $v0, %hi(gPlayerStatus)
/* B49C 8003009C 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus)
/* B4A0 800300A0 C4480054 */ lwc1 $f8, 0x54($v0)
/* B4A4 800300A4 3C013FC0 */ lui $at, 0x3fc0
/* B4A8 800300A8 44813000 */ mtc1 $at, $f6
/* B4AC 800300AC 00000000 */ nop
/* B4B0 800300B0 46064182 */ mul.s $f6, $f8, $f6
/* B4B4 800300B4 00000000 */ nop
/* B4B8 800300B8 3C013D4C */ lui $at, 0x3d4c
/* B4BC 800300BC 3421CCCD */ ori $at, $at, 0xcccd
/* B4C0 800300C0 44816000 */ mtc1 $at, $f12
/* B4C4 800300C4 00000000 */ nop
/* B4C8 800300C8 460C4202 */ mul.s $f8, $f8, $f12
/* B4CC 800300CC 00000000 */ nop
/* B4D0 800300D0 C6040060 */ lwc1 $f4, 0x60($s0)
/* B4D4 800300D4 C6000550 */ lwc1 $f0, 0x550($s0)
/* B4D8 800300D8 C6020064 */ lwc1 $f2, 0x64($s0)
/* B4DC 800300DC 46002100 */ add.s $f4, $f4, $f0
/* B4E0 800300E0 C600007C */ lwc1 $f0, 0x7c($s0)
/* B4E4 800300E4 3C013F80 */ lui $at, 0x3f80
/* B4E8 800300E8 44815000 */ mtc1 $at, $f10
/* B4EC 800300EC 46001080 */ add.s $f2, $f2, $f0
/* B4F0 800300F0 C6000068 */ lwc1 $f0, 0x68($s0)
/* B4F4 800300F4 0200202D */ daddu $a0, $s0, $zero
/* B4F8 800300F8 E600005C */ swc1 $f0, 0x5c($s0)
/* B4FC 800300FC 460A3580 */ add.s $f22, $f6, $f10
/* B500 80030100 E6040054 */ swc1 $f4, 0x54($s0)
/* B504 80030104 E6020058 */ swc1 $f2, 0x58($s0)
/* B508 80030108 0C00C0D3 */ jal func_8003034C
/* B50C 8003010C 460C4500 */ add.s $f20, $f8, $f12
/* B510 80030110 96020002 */ lhu $v0, 2($s0)
/* B514 80030114 30420001 */ andi $v0, $v0, 1
/* B518 80030118 14400005 */ bnez $v0, .L80030130
/* B51C 8003011C 0200202D */ daddu $a0, $s0, $zero
/* B520 80030120 4405A000 */ mfc1 $a1, $f20
/* B524 80030124 4406B000 */ mfc1 $a2, $f22
/* B528 80030128 0800C04F */ j .L8003013C
/* B52C 8003012C 0000382D */ daddu $a3, $zero, $zero
.L80030130:
/* B530 80030130 4405A000 */ mfc1 $a1, $f20
/* B534 80030134 4406B000 */ mfc1 $a2, $f22
/* B538 80030138 24070001 */ addiu $a3, $zero, 1
.L8003013C:
/* B53C 8003013C 0C00C084 */ jal func_80030210
/* B540 80030140 00000000 */ nop
/* B544 80030144 C60C003C */ lwc1 $f12, 0x3c($s0)
/* B548 80030148 C60E0044 */ lwc1 $f14, 0x44($s0)
/* B54C 8003014C 8E060048 */ lw $a2, 0x48($s0)
/* B550 80030150 8E070050 */ lw $a3, 0x50($s0)
/* B554 80030154 4480C000 */ mtc1 $zero, $f24
/* B558 80030158 0C00A720 */ jal atan2
/* B55C 8003015C 00000000 */ nop
/* B560 80030160 4600C306 */ mov.s $f12, $f24
/* B564 80030164 4600C386 */ mov.s $f14, $f24
/* B568 80030168 C6040048 */ lwc1 $f4, 0x48($s0)
/* B56C 8003016C C602003C */ lwc1 $f2, 0x3c($s0)
/* B570 80030170 C6140050 */ lwc1 $f20, 0x50($s0)
/* B574 80030174 46022581 */ sub.s $f22, $f4, $f2
/* B578 80030178 C6020044 */ lwc1 $f2, 0x44($s0)
/* B57C 8003017C C604004C */ lwc1 $f4, 0x4c($s0)
/* B580 80030180 4602A501 */ sub.s $f20, $f20, $f2
/* B584 80030184 C6020040 */ lwc1 $f2, 0x40($s0)
/* B588 80030188 4406B000 */ mfc1 $a2, $f22
/* B58C 8003018C 4407A000 */ mfc1 $a3, $f20
/* B590 80030190 46022681 */ sub.s $f26, $f4, $f2
/* B594 80030194 0C00A720 */ jal atan2
/* B598 80030198 E600006C */ swc1 $f0, 0x6c($s0)
/* B59C 8003019C 4616B082 */ mul.s $f2, $f22, $f22
/* B5A0 800301A0 00000000 */ nop
/* B5A4 800301A4 4614A502 */ mul.s $f20, $f20, $f20
/* B5A8 800301A8 00000000 */ nop
/* B5AC 800301AC 46141300 */ add.s $f12, $f2, $f20
/* B5B0 800301B0 46000007 */ neg.s $f0, $f0
/* B5B4 800301B4 E6000090 */ swc1 $f0, 0x90($s0)
/* B5B8 800301B8 46006004 */ sqrt.s $f0, $f12
/* B5BC 800301BC 46000032 */ c.eq.s $f0, $f0
/* B5C0 800301C0 00000000 */ nop
/* B5C4 800301C4 45030004 */ bc1tl .L800301D8
/* B5C8 800301C8 4600C306 */ mov.s $f12, $f24
/* B5CC 800301CC 0C0187BC */ jal sqrtf
/* B5D0 800301D0 00000000 */ nop
/* B5D4 800301D4 4600C306 */ mov.s $f12, $f24
.L800301D8:
/* B5D8 800301D8 46000007 */ neg.s $f0, $f0
/* B5DC 800301DC 4406D000 */ mfc1 $a2, $f26
/* B5E0 800301E0 44070000 */ mfc1 $a3, $f0
/* B5E4 800301E4 0C00A720 */ jal atan2
/* B5E8 800301E8 46006386 */ mov.s $f14, $f12
/* B5EC 800301EC E6000094 */ swc1 $f0, 0x94($s0)
/* B5F0 800301F0 8FBF0014 */ lw $ra, 0x14($sp)
/* B5F4 800301F4 8FB00010 */ lw $s0, 0x10($sp)
/* B5F8 800301F8 D7BA0030 */ ldc1 $f26, 0x30($sp)
/* B5FC 800301FC D7B80028 */ ldc1 $f24, 0x28($sp)
/* B600 80030200 D7B60020 */ ldc1 $f22, 0x20($sp)
/* B604 80030204 D7B40018 */ ldc1 $f20, 0x18($sp)
/* B608 80030208 03E00008 */ jr $ra
/* B60C 8003020C 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,6 +1,13 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_802A97E0_42CED0
.word L802A9288_42C978, L802A92C0_42C9B0, L802A96E8_42CDD8, L802A96E8_42CDD8, L802A96E8_42CDD8, L802A96E8_42CDD8, L802A96E8_42CDD8, L802A96E8_42CDD8, L802A96E8_42CDD8, L802A96E8_42CDD8, L802A930C_42C9FC, L802A9354_42CA44, L802A93F4_42CAE4, L802A9678_42CD68, L802A96C8_42CDB8, 0
.section .text
glabel func_802A9228_42C918
/* 42C918 802A9228 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 42C91C 802A922C AFB10014 */ sw $s1, 0x14($sp)

View File

@ -38,8 +38,8 @@ glabel nuScEventHandler
/* 3A41C 8005F01C AC223B94 */ sw $v0, %lo(D_80093B94)($at)
/* 3A420 8005F020 0C017C30 */ jal nuScEventBroadcast
/* 3A424 8005F024 2624FF8C */ addiu $a0, $s1, -0x74
/* 3A428 8005F028 3C02800A */ lui $v0, %hi(D_8009A5B0)
/* 3A42C 8005F02C 9042A5B0 */ lbu $v0, %lo(D_8009A5B0)($v0)
/* 3A428 8005F028 3C02800A */ lui $v0, %hi(nuScPreNMIFlag)
/* 3A42C 8005F02C 9042A5B0 */ lbu $v0, %lo(nuScPreNMIFlag)($v0)
/* 3A430 8005F030 1040FFEC */ beqz $v0, .L8005EFE4
/* 3A434 8005F034 0220202D */ daddu $a0, $s1, $zero
/* 3A438 8005F038 12000003 */ beqz $s0, .L8005F048
@ -47,9 +47,9 @@ glabel nuScEventHandler
/* 3A440 8005F040 08017BF9 */ j .L8005EFE4
/* 3A444 8005F044 2610FFFF */ addiu $s0, $s0, -1
.L8005F048:
/* 3A448 8005F048 3C01800A */ lui $at, %hi(D_8009A5B0)
/* 3A448 8005F048 3C01800A */ lui $at, %hi(nuScPreNMIFlag)
/* 3A44C 8005F04C 0C01A98C */ jal osAfterPreNMI
/* 3A450 8005F050 A022A5B0 */ sb $v0, %lo(D_8009A5B0)($at)
/* 3A450 8005F050 A022A5B0 */ sb $v0, %lo(nuScPreNMIFlag)($at)
/* 3A454 8005F054 3C013F80 */ lui $at, 0x3f80
/* 3A458 8005F058 44816000 */ mtc1 $at, $f12
/* 3A45C 8005F05C 0C019BF4 */ jal osViSetYScale
@ -59,8 +59,8 @@ glabel nuScEventHandler
/* 3A46C 8005F06C 08017BF9 */ j .L8005EFE4
/* 3A470 8005F070 0220202D */ daddu $a0, $s1, $zero
.L8005F074:
/* 3A474 8005F074 3C01800A */ lui $at, %hi(D_8009A5B0)
/* 3A478 8005F078 A032A5B0 */ sb $s2, %lo(D_8009A5B0)($at)
/* 3A474 8005F074 3C01800A */ lui $at, %hi(nuScPreNMIFlag)
/* 3A478 8005F078 A032A5B0 */ sb $s2, %lo(nuScPreNMIFlag)($at)
/* 3A47C 8005F07C 0C017C30 */ jal nuScEventBroadcast
/* 3A480 8005F080 2624FF8E */ addiu $a0, $s1, -0x72
/* 3A484 8005F084 3C028009 */ lui $v0, %hi(D_80093B80)

View File

@ -20,8 +20,8 @@ glabel nuScExecuteAudio
/* 3A018 8005EC18 27A50010 */ addiu $a1, $sp, 0x10
/* 3A01C 8005EC1C 0C0195BC */ jal osRecvMesg
/* 3A020 8005EC20 24060001 */ addiu $a2, $zero, 1
/* 3A024 8005EC24 3C02800A */ lui $v0, %hi(D_8009A5B0)
/* 3A028 8005EC28 9042A5B0 */ lbu $v0, %lo(D_8009A5B0)($v0)
/* 3A024 8005EC24 3C02800A */ lui $v0, %hi(nuScPreNMIFlag)
/* 3A028 8005EC28 9042A5B0 */ lbu $v0, %lo(nuScPreNMIFlag)($v0)
/* 3A02C 8005EC2C 30420002 */ andi $v0, $v0, 2
/* 3A030 8005EC30 14400031 */ bnez $v0, .L8005ECF8
/* 3A034 8005EC34 00000000 */ nop

View File

@ -14,8 +14,8 @@ glabel nuScExecuteGraphics
/* 3A134 8005ED34 27A50010 */ addiu $a1, $sp, 0x10
/* 3A138 8005ED38 0C0195BC */ jal osRecvMesg
/* 3A13C 8005ED3C 24060001 */ addiu $a2, $zero, 1
/* 3A140 8005ED40 3C02800A */ lui $v0, %hi(D_8009A5B0)
/* 3A144 8005ED44 9042A5B0 */ lbu $v0, %lo(D_8009A5B0)($v0)
/* 3A140 8005ED40 3C02800A */ lui $v0, %hi(nuScPreNMIFlag)
/* 3A144 8005ED44 9042A5B0 */ lbu $v0, %lo(nuScPreNMIFlag)($v0)
/* 3A148 8005ED48 30420002 */ andi $v0, $v0, 2
/* 3A14C 8005ED4C 14400032 */ bnez $v0, .L8005EE18
/* 3A150 8005ED50 00000000 */ nop

View File

@ -1,180 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel state_step_end_battle
/* EFC0 80033BC0 27BDFFD0 */ addiu $sp, $sp, -0x30
/* EFC4 80033BC4 AFB30024 */ sw $s3, 0x24($sp)
/* EFC8 80033BC8 3C138011 */ lui $s3, %hi(gPlayerStatus)
/* EFCC 80033BCC 2673EFC8 */ addiu $s3, $s3, %lo(gPlayerStatus)
/* EFD0 80033BD0 3C06800A */ lui $a2, %hi(D_800A0900)
/* EFD4 80033BD4 24C60900 */ addiu $a2, $a2, %lo(D_800A0900)
/* EFD8 80033BD8 AFBF0028 */ sw $ra, 0x28($sp)
/* EFDC 80033BDC AFB20020 */ sw $s2, 0x20($sp)
/* EFE0 80033BE0 AFB1001C */ sw $s1, 0x1c($sp)
/* EFE4 80033BE4 AFB00018 */ sw $s0, 0x18($sp)
/* EFE8 80033BE8 80C20000 */ lb $v0, ($a2)
/* EFEC 80033BEC 90C30000 */ lbu $v1, ($a2)
/* EFF0 80033BF0 04400095 */ bltz $v0, .L80033E48
/* EFF4 80033BF4 2462FFFF */ addiu $v0, $v1, -1
/* EFF8 80033BF8 A0C20000 */ sb $v0, ($a2)
/* EFFC 80033BFC 00021600 */ sll $v0, $v0, 0x18
/* F000 80033C00 14400091 */ bnez $v0, .L80033E48
/* F004 80033C04 24050003 */ addiu $a1, $zero, 3
/* F008 80033C08 3C048007 */ lui $a0, %hi(D_800778A0)
/* F00C 80033C0C 248478A0 */ addiu $a0, $a0, %lo(D_800778A0)
/* F010 80033C10 2402FFFF */ addiu $v0, $zero, -1
/* F014 80033C14 0C017CBC */ jal nuGfxSetCfb
/* F018 80033C18 A0C20000 */ sb $v0, ($a2)
/* F01C 80033C1C 3C04800A */ lui $a0, %hi(gOverrideFlags)
/* F020 80033C20 2484A650 */ addiu $a0, $a0, %lo(gOverrideFlags)
/* F024 80033C24 8C820000 */ lw $v0, ($a0)
/* F028 80033C28 2403FFF7 */ addiu $v1, $zero, -9
/* F02C 80033C2C 00431024 */ and $v0, $v0, $v1
/* F030 80033C30 0C018030 */ jal nuContRmbForceStopEnd
/* F034 80033C34 AC820000 */ sw $v0, ($a0)
/* F038 80033C38 0C05260E */ jal sfx_stop_env_sounds
/* F03C 80033C3C 00000000 */ nop
/* F040 80033C40 0C016AFA */ jal get_current_map_header
/* F044 80033C44 00000000 */ nop
/* F048 80033C48 3C108007 */ lui $s0, %hi(gGameStatusPtr)
/* F04C 80033C4C 2610419C */ addiu $s0, $s0, %lo(gGameStatusPtr)
/* F050 80033C50 8E040000 */ lw $a0, ($s0)
/* F054 80033C54 0040902D */ daddu $s2, $v0, $zero
/* F058 80033C58 84830086 */ lh $v1, 0x86($a0)
/* F05C 80033C5C 8482008C */ lh $v0, 0x8c($a0)
/* F060 80033C60 00031900 */ sll $v1, $v1, 4
/* F064 80033C64 3C018009 */ lui $at, %hi(gAreas+0x4)
/* F068 80033C68 00230821 */ addu $at, $at, $v1
/* F06C 80033C6C 8C2334F4 */ lw $v1, %lo(gAreas+0x4)($at)
/* F070 80033C70 00021140 */ sll $v0, $v0, 5
/* F074 80033C74 0C0902AA */ jal btl_restore_world_cameras
/* F078 80033C78 00628821 */ addu $s1, $v1, $v0
/* F07C 80033C7C 8E020000 */ lw $v0, ($s0)
/* F080 80033C80 0C016BE1 */ jal func_8005AF84
/* F084 80033C84 A0400070 */ sb $zero, 0x70($v0)
/* F088 80033C88 0C00AB37 */ jal func_8002ACDC
/* F08C 80033C8C 00000000 */ nop
/* F090 80033C90 0C05259C */ jal sfx_clear_env_sounds
/* F094 80033C94 24040001 */ addiu $a0, $zero, 1
/* F098 80033C98 8E030000 */ lw $v1, ($s0)
/* F09C 80033C9C 9062007E */ lbu $v0, 0x7e($v1)
/* F0A0 80033CA0 304200FE */ andi $v0, $v0, 0xfe
/* F0A4 80033CA4 0C00AB28 */ jal battle_heap_create
/* F0A8 80033CA8 A062007E */ sb $v0, 0x7e($v1)
/* F0AC 80033CAC 8E020000 */ lw $v0, ($s0)
/* F0B0 80033CB0 0C0B763E */ jal spr_init_sprites
/* F0B4 80033CB4 80440084 */ lb $a0, 0x84($v0)
/* F0B8 80033CB8 0C0457FA */ jal init_model_data
/* F0BC 80033CBC 00000000 */ nop
/* F0C0 80033CC0 0C05203C */ jal init_sprite_shading_data
/* F0C4 80033CC4 00000000 */ nop
/* F0C8 80033CC8 0C048316 */ jal init_entity_models
/* F0CC 80033CCC 00000000 */ nop
/* F0D0 80033CD0 0C0478C4 */ jal reset_animator_list
/* F0D4 80033CD4 00000000 */ nop
/* F0D8 80033CD8 0C048C45 */ jal init_generic_entity_list
/* F0DC 80033CDC 00000000 */ nop
/* F0E0 80033CE0 0000202D */ daddu $a0, $zero, $zero
/* F0E4 80033CE4 0C0514BA */ jal set_hud_element_nonworld_cache
/* F0E8 80033CE8 0080282D */ daddu $a1, $a0, $zero
/* F0EC 80033CEC 0C0504C0 */ jal init_hud_element_list
/* F0F0 80033CF0 00000000 */ nop
/* F0F4 80033CF4 0C04C433 */ jal init_item_entity_list
/* F0F8 80033CF8 00000000 */ nop
/* F0FC 80033CFC 0C0B0CBB */ jal init_script_list
/* F100 80033D00 00000000 */ nop
/* F104 80033D04 0C00E14B */ jal init_npc_list
/* F108 80033D08 00000000 */ nop
/* F10C 80033D0C 0C044396 */ jal func_80110E58
/* F110 80033D10 00000000 */ nop
/* F114 80033D14 0C0515CA */ jal init_trigger_list
/* F118 80033D18 00000000 */ nop
/* F11C 80033D1C 8E020000 */ lw $v0, ($s0)
/* F120 80033D20 904200AA */ lbu $v0, 0xaa($v0)
/* F124 80033D24 30420001 */ andi $v0, $v0, 1
/* F128 80033D28 10400008 */ beqz $v0, .L80033D4C
/* F12C 80033D2C 00000000 */ nop
/* F130 80033D30 0C00EC6C */ jal npc_reload_all
/* F134 80033D34 00000000 */ nop
/* F138 80033D38 3C02800A */ lui $v0, %hi(D_800A0904)
/* F13C 80033D3C 8C420904 */ lw $v0, %lo(D_800A0904)($v0)
/* F140 80033D40 24040011 */ addiu $a0, $zero, 0x11
/* F144 80033D44 0800CF90 */ j .L80033E40
/* F148 80033D48 AE620004 */ sw $v0, 4($s3)
.L80033D4C:
/* F14C 80033D4C 3C028011 */ lui $v0, %hi(gPlayerData)
/* F150 80033D50 2442F290 */ addiu $v0, $v0, %lo(gPlayerData)
/* F154 80033D54 0C03AC80 */ jal partner_init_after_battle
/* F158 80033D58 80440012 */ lb $a0, 0x12($v0)
/* F15C 80033D5C 0C0169B0 */ jal load_map_script_lib
/* F160 80033D60 00000000 */ nop
/* F164 80033D64 3C04800E */ lui $a0, %hi(mapShapeName)
/* F168 80033D68 24849230 */ addiu $a0, $a0, %lo(mapShapeName)
/* F16C 80033D6C 0C016B3A */ jal load_asset_by_name
/* F170 80033D70 27A50010 */ addiu $a1, $sp, 0x10
/* F174 80033D74 0040802D */ daddu $s0, $v0, $zero
/* F178 80033D78 3C058021 */ lui $a1, %hi(D_80210000)
/* F17C 80033D7C 24A50000 */ addiu $a1, $a1, %lo(D_80210000)
/* F180 80033D80 0C01BB7C */ jal decode_yay0
/* F184 80033D84 0200202D */ daddu $a0, $s0, $zero
/* F188 80033D88 0C00AB1E */ jal general_heap_free
/* F18C 80033D8C 0200202D */ daddu $a0, $s0, $zero
/* F190 80033D90 0C016BE5 */ jal initialize_collision
/* F194 80033D94 00000000 */ nop
/* F198 80033D98 0C016C16 */ jal load_collision
/* F19C 80033D9C 00000000 */ nop
/* F1A0 80033DA0 8E240008 */ lw $a0, 8($s1)
/* F1A4 80033DA4 10800004 */ beqz $a0, .L80033DB8
/* F1A8 80033DA8 00000000 */ nop
/* F1AC 80033DAC 8E25000C */ lw $a1, 0xc($s1)
/* F1B0 80033DB0 0C00A5CF */ jal dma_copy
/* F1B4 80033DB4 8E260010 */ lw $a2, 0x10($s1)
.L80033DB8:
/* F1B8 80033DB8 0C05175C */ jal load_map_bg
/* F1BC 80033DBC 8E240014 */ lw $a0, 0x14($s1)
/* F1C0 80033DC0 8E440038 */ lw $a0, 0x38($s2)
/* F1C4 80033DC4 50800005 */ beql $a0, $zero, .L80033DDC
/* F1C8 80033DC8 24040128 */ addiu $a0, $zero, 0x128
/* F1CC 80033DCC 0C05178A */ jal read_background_size
/* F1D0 80033DD0 00000000 */ nop
/* F1D4 80033DD4 0800CF7B */ j .L80033DEC
/* F1D8 80033DD8 00000000 */ nop
.L80033DDC:
/* F1DC 80033DDC 240500C8 */ addiu $a1, $zero, 0xc8
/* F1E0 80033DE0 2406000C */ addiu $a2, $zero, 0xc
/* F1E4 80033DE4 0C05179C */ jal set_background_size
/* F1E8 80033DE8 24070014 */ addiu $a3, $zero, 0x14
.L80033DEC:
/* F1EC 80033DEC 3C04800B */ lui $a0, %hi(mapTexName)
/* F1F0 80033DF0 24840CF0 */ addiu $a0, $a0, %lo(mapTexName)
/* F1F4 80033DF4 0C016B74 */ jal get_asset_offset
/* F1F8 80033DF8 27A50010 */ addiu $a1, $sp, 0x10
/* F1FC 80033DFC 8E440000 */ lw $a0, ($s2)
/* F200 80033E00 8FA60010 */ lw $a2, 0x10($sp)
/* F204 80033E04 0C045709 */ jal load_model_textures
/* F208 80033E08 0040282D */ daddu $a1, $v0, $zero
/* F20C 80033E0C 0C04584B */ jal calculate_model_sizes
/* F210 80033E10 00000000 */ nop
/* F214 80033E14 0C00EC6C */ jal npc_reload_all
/* F218 80033E18 00000000 */ nop
/* F21C 80033E1C 3C02800A */ lui $v0, %hi(D_800A0904)
/* F220 80033E20 8C420904 */ lw $v0, %lo(D_800A0904)($v0)
/* F224 80033E24 3C04800A */ lui $a0, %hi(D_800A0908)
/* F228 80033E28 8C840908 */ lw $a0, %lo(D_800A0908)($a0)
/* F22C 80033E2C 10800003 */ beqz $a0, .L80033E3C
/* F230 80033E30 AE620004 */ sw $v0, 4($s3)
/* F234 80033E34 0C009C22 */ jal set_time_freeze_mode
/* F238 80033E38 00000000 */ nop
.L80033E3C:
/* F23C 80033E3C 24040004 */ addiu $a0, $zero, 4
.L80033E40:
/* F240 80033E40 0C00CD3C */ jal set_game_mode
/* F244 80033E44 00000000 */ nop
.L80033E48:
/* F248 80033E48 8FBF0028 */ lw $ra, 0x28($sp)
/* F24C 80033E4C 8FB30024 */ lw $s3, 0x24($sp)
/* F250 80033E50 8FB20020 */ lw $s2, 0x20($sp)
/* F254 80033E54 8FB1001C */ lw $s1, 0x1c($sp)
/* F258 80033E58 8FB00018 */ lw $s0, 0x18($sp)
/* F25C 80033E5C 03E00008 */ jr $ra
/* F260 80033E60 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,144 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_80098300
.word L80035B7C_10F7C, L80035BDC_10FDC, L80035C10_11010, L80035C2C_1102C, L80035C80_11080, L80035CCC_110CC, L80035D00_11100, 0
.section .text
glabel state_step_exit_file_select
/* 10F40 80035B40 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 10F44 80035B44 AFBF0014 */ sw $ra, 0x14($sp)
/* 10F48 80035B48 0C0912F1 */ jal func_80244BC4
/* 10F4C 80035B4C AFB00010 */ sw $s0, 0x10($sp)
/* 10F50 80035B50 3C03800A */ lui $v1, %hi(D_800A0931)
/* 10F54 80035B54 80630931 */ lb $v1, %lo(D_800A0931)($v1)
/* 10F58 80035B58 0040802D */ daddu $s0, $v0, $zero
/* 10F5C 80035B5C 2C620007 */ sltiu $v0, $v1, 7
/* 10F60 80035B60 10400069 */ beqz $v0, .L80035D08
/* 10F64 80035B64 00031080 */ sll $v0, $v1, 2
/* 10F68 80035B68 3C01800A */ lui $at, %hi(jtbl_80098300)
/* 10F6C 80035B6C 00220821 */ addu $at, $at, $v0
/* 10F70 80035B70 8C228300 */ lw $v0, %lo(jtbl_80098300)($at)
/* 10F74 80035B74 00400008 */ jr $v0
/* 10F78 80035B78 00000000 */ nop
glabel L80035B7C_10F7C
/* 10F7C 80035B7C 0000282D */ daddu $a1, $zero, $zero
/* 10F80 80035B80 2404002C */ addiu $a0, $zero, 0x2c
/* 10F84 80035B84 0080382D */ daddu $a3, $a0, $zero
/* 10F88 80035B88 2406FFFF */ addiu $a2, $zero, -1
/* 10F8C 80035B8C 3C038016 */ lui $v1, %hi(D_8015A2D0)
/* 10F90 80035B90 2463A2D0 */ addiu $v1, $v1, %lo(D_8015A2D0)
.L80035B94:
/* 10F94 80035B94 80620003 */ lb $v0, 3($v1)
/* 10F98 80035B98 10470003 */ beq $v0, $a3, .L80035BA8
/* 10F9C 80035B9C 00000000 */ nop
/* 10FA0 80035BA0 54460005 */ bnel $v0, $a2, .L80035BB8
/* 10FA4 80035BA4 24840001 */ addiu $a0, $a0, 1
.L80035BA8:
/* 10FA8 80035BA8 90620000 */ lbu $v0, ($v1)
/* 10FAC 80035BAC 30420008 */ andi $v0, $v0, 8
/* 10FB0 80035BB0 00A22821 */ addu $a1, $a1, $v0
/* 10FB4 80035BB4 24840001 */ addiu $a0, $a0, 1
.L80035BB8:
/* 10FB8 80035BB8 28820040 */ slti $v0, $a0, 0x40
/* 10FBC 80035BBC 1440FFF5 */ bnez $v0, .L80035B94
/* 10FC0 80035BC0 24630020 */ addiu $v1, $v1, 0x20
/* 10FC4 80035BC4 14A00050 */ bnez $a1, .L80035D08
/* 10FC8 80035BC8 24020001 */ addiu $v0, $zero, 1
/* 10FCC 80035BCC 3C01800A */ lui $at, %hi(D_800A0931)
/* 10FD0 80035BD0 A0220931 */ sb $v0, %lo(D_800A0931)($at)
/* 10FD4 80035BD4 0800D742 */ j .L80035D08
/* 10FD8 80035BD8 00000000 */ nop
glabel L80035BDC_10FDC
/* 10FDC 80035BDC 12000008 */ beqz $s0, .L80035C00
/* 10FE0 80035BE0 24020002 */ addiu $v0, $zero, 2
/* 10FE4 80035BE4 3C04800A */ lui $a0, %hi(D_800A0932)
/* 10FE8 80035BE8 24840932 */ addiu $a0, $a0, %lo(D_800A0932)
/* 10FEC 80035BEC 0C04E0AB */ jal update_exit_map_screen_overlay
/* 10FF0 80035BF0 00000000 */ nop
/* 10FF4 80035BF4 00021400 */ sll $v0, $v0, 0x10
/* 10FF8 80035BF8 10400043 */ beqz $v0, .L80035D08
/* 10FFC 80035BFC 24020002 */ addiu $v0, $zero, 2
.L80035C00:
/* 11000 80035C00 3C01800A */ lui $at, %hi(D_800A0931)
/* 11004 80035C04 A0220931 */ sb $v0, %lo(D_800A0931)($at)
/* 11008 80035C08 0800D742 */ j .L80035D08
/* 1100C 80035C0C 00000000 */ nop
glabel L80035C10_11010
/* 11010 80035C10 0C0912C0 */ jal filemenu_cleanup
/* 11014 80035C14 00000000 */ nop
/* 11018 80035C18 0C051FB1 */ jal set_windows_visible
/* 1101C 80035C1C 0000202D */ daddu $a0, $zero, $zero
/* 11020 80035C20 24020003 */ addiu $v0, $zero, 3
/* 11024 80035C24 3C01800A */ lui $at, %hi(D_800A0931)
/* 11028 80035C28 A0220931 */ sb $v0, %lo(D_800A0931)($at)
glabel L80035C2C_1102C
/* 1102C 80035C2C 0C009C22 */ jal set_time_freeze_mode
/* 11030 80035C30 0000202D */ daddu $a0, $zero, $zero
/* 11034 80035C34 1600000B */ bnez $s0, .L80035C64
/* 11038 80035C38 2402000A */ addiu $v0, $zero, 0xa
/* 1103C 80035C3C 0C00CD3C */ jal set_game_mode
/* 11040 80035C40 24040002 */ addiu $a0, $zero, 2
/* 11044 80035C44 3C04FFFE */ lui $a0, 0xfffe
/* 11048 80035C48 3C03800A */ lui $v1, %hi(gOverrideFlags)
/* 1104C 80035C4C 2463A650 */ addiu $v1, $v1, %lo(gOverrideFlags)
/* 11050 80035C50 8C620000 */ lw $v0, ($v1)
/* 11054 80035C54 3484FFFF */ ori $a0, $a0, 0xffff
/* 11058 80035C58 00441024 */ and $v0, $v0, $a0
/* 1105C 80035C5C 0800D742 */ j .L80035D08
/* 11060 80035C60 AC620000 */ sw $v0, ($v1)
.L80035C64:
/* 11064 80035C64 3C01800A */ lui $at, %hi(D_800A0930)
/* 11068 80035C68 A0220930 */ sb $v0, %lo(D_800A0930)($at)
/* 1106C 80035C6C 24020004 */ addiu $v0, $zero, 4
/* 11070 80035C70 3C01800A */ lui $at, %hi(D_800A0931)
/* 11074 80035C74 A0220931 */ sb $v0, %lo(D_800A0931)($at)
/* 11078 80035C78 0800D742 */ j .L80035D08
/* 1107C 80035C7C 00000000 */ nop
glabel L80035C80_11080
/* 11080 80035C80 3C10800A */ lui $s0, %hi(D_800A0930)
/* 11084 80035C84 26100930 */ addiu $s0, $s0, %lo(D_800A0930)
/* 11088 80035C88 82020000 */ lb $v0, ($s0)
/* 1108C 80035C8C 92030000 */ lbu $v1, ($s0)
/* 11090 80035C90 18400003 */ blez $v0, .L80035CA0
/* 11094 80035C94 2462FFFF */ addiu $v0, $v1, -1
/* 11098 80035C98 0800D742 */ j .L80035D08
/* 1109C 80035C9C A2020000 */ sb $v0, ($s0)
.L80035CA0:
/* 110A0 80035CA0 3C014000 */ lui $at, 0x4000
/* 110A4 80035CA4 44816000 */ mtc1 $at, $f12
/* 110A8 80035CA8 0C00AFB7 */ jal set_curtain_scale_goal
/* 110AC 80035CAC 00000000 */ nop
/* 110B0 80035CB0 2402000A */ addiu $v0, $zero, 0xa
/* 110B4 80035CB4 A2020000 */ sb $v0, ($s0)
/* 110B8 80035CB8 24020005 */ addiu $v0, $zero, 5
/* 110BC 80035CBC 3C01800A */ lui $at, %hi(D_800A0931)
/* 110C0 80035CC0 A0220931 */ sb $v0, %lo(D_800A0931)($at)
/* 110C4 80035CC4 0800D742 */ j .L80035D08
/* 110C8 80035CC8 00000000 */ nop
glabel L80035CCC_110CC
/* 110CC 80035CCC 3C04800A */ lui $a0, %hi(D_800A0930)
/* 110D0 80035CD0 24840930 */ addiu $a0, $a0, %lo(D_800A0930)
/* 110D4 80035CD4 80820000 */ lb $v0, ($a0)
/* 110D8 80035CD8 90830000 */ lbu $v1, ($a0)
/* 110DC 80035CDC 18400003 */ blez $v0, .L80035CEC
/* 110E0 80035CE0 2462FFFF */ addiu $v0, $v1, -1
/* 110E4 80035CE4 0800D742 */ j .L80035D08
/* 110E8 80035CE8 A0820000 */ sb $v0, ($a0)
.L80035CEC:
/* 110EC 80035CEC 24020006 */ addiu $v0, $zero, 6
/* 110F0 80035CF0 3C01800A */ lui $at, %hi(D_800A0931)
/* 110F4 80035CF4 A0220931 */ sb $v0, %lo(D_800A0931)($at)
/* 110F8 80035CF8 0800D742 */ j .L80035D08
/* 110FC 80035CFC 00000000 */ nop
glabel L80035D00_11100
/* 11100 80035D00 0C00CD3C */ jal set_game_mode
/* 11104 80035D04 24040007 */ addiu $a0, $zero, 7
.L80035D08:
/* 11108 80035D08 8FBF0014 */ lw $ra, 0x14($sp)
/* 1110C 80035D0C 8FB00010 */ lw $s0, 0x10($sp)
/* 11110 80035D10 03E00008 */ jr $ra
/* 11114 80035D14 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,301 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_800982E8
.word L80035740_10B40, L800357A4_10BA4, L80035814_10C14, L80035A68_10E68, L80035AE0_10EE0, 0
.section .text
glabel state_step_exit_language_select
/* 10B04 80035704 3C03800A */ lui $v1, %hi(D_800A0931)
/* 10B08 80035708 80630931 */ lb $v1, %lo(D_800A0931)($v1)
/* 10B0C 8003570C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 10B10 80035710 AFBF0024 */ sw $ra, 0x24($sp)
/* 10B14 80035714 AFB20020 */ sw $s2, 0x20($sp)
/* 10B18 80035718 AFB1001C */ sw $s1, 0x1c($sp)
/* 10B1C 8003571C 2C620005 */ sltiu $v0, $v1, 5
/* 10B20 80035720 10400101 */ beqz $v0, .L80035B28
/* 10B24 80035724 AFB00018 */ sw $s0, 0x18($sp)
/* 10B28 80035728 00031080 */ sll $v0, $v1, 2
/* 10B2C 8003572C 3C01800A */ lui $at, %hi(jtbl_800982E8)
/* 10B30 80035730 00220821 */ addu $at, $at, $v0
/* 10B34 80035734 8C2282E8 */ lw $v0, %lo(jtbl_800982E8)($at)
/* 10B38 80035738 00400008 */ jr $v0
/* 10B3C 8003573C 00000000 */ nop
glabel L80035740_10B40
/* 10B40 80035740 3C10800A */ lui $s0, %hi(D_800A0932)
/* 10B44 80035744 26100932 */ addiu $s0, $s0, %lo(D_800A0932)
/* 10B48 80035748 86020000 */ lh $v0, ($s0)
/* 10B4C 8003574C 96030000 */ lhu $v1, ($s0)
/* 10B50 80035750 1040000F */ beqz $v0, .L80035790
/* 10B54 80035754 2462FFEC */ addiu $v0, $v1, -0x14
/* 10B58 80035758 A6020000 */ sh $v0, ($s0)
/* 10B5C 8003575C 00021400 */ sll $v0, $v0, 0x10
/* 10B60 80035760 04420001 */ bltzl $v0, .L80035768
/* 10B64 80035764 A6000000 */ sh $zero, ($s0)
.L80035768:
/* 10B68 80035768 86020000 */ lh $v0, ($s0)
/* 10B6C 8003576C 44820000 */ mtc1 $v0, $f0
/* 10B70 80035770 00000000 */ nop
/* 10B74 80035774 46800020 */ cvt.s.w $f0, $f0
/* 10B78 80035778 44050000 */ mfc1 $a1, $f0
/* 10B7C 8003577C 0C04DF62 */ jal set_screen_overlay_params_front
/* 10B80 80035780 0000202D */ daddu $a0, $zero, $zero
/* 10B84 80035784 86020000 */ lh $v0, ($s0)
/* 10B88 80035788 144000E7 */ bnez $v0, .L80035B28
/* 10B8C 8003578C 00000000 */ nop
.L80035790:
/* 10B90 80035790 24020001 */ addiu $v0, $zero, 1
/* 10B94 80035794 3C01800A */ lui $at, %hi(D_800A0931)
/* 10B98 80035798 A0220931 */ sb $v0, %lo(D_800A0931)($at)
/* 10B9C 8003579C 0800D6CA */ j .L80035B28
/* 10BA0 800357A0 00000000 */ nop
glabel L800357A4_10BA4
/* 10BA4 800357A4 3C10800A */ lui $s0, %hi(D_800A0932)
/* 10BA8 800357A8 26100932 */ addiu $s0, $s0, %lo(D_800A0932)
/* 10BAC 800357AC 241100FF */ addiu $s1, $zero, 0xff
/* 10BB0 800357B0 86020000 */ lh $v0, ($s0)
/* 10BB4 800357B4 96030000 */ lhu $v1, ($s0)
/* 10BB8 800357B8 10510011 */ beq $v0, $s1, .L80035800
/* 10BBC 800357BC 24620014 */ addiu $v0, $v1, 0x14
/* 10BC0 800357C0 A6020000 */ sh $v0, ($s0)
/* 10BC4 800357C4 00021400 */ sll $v0, $v0, 0x10
/* 10BC8 800357C8 00021403 */ sra $v0, $v0, 0x10
/* 10BCC 800357CC 28420100 */ slti $v0, $v0, 0x100
/* 10BD0 800357D0 50400001 */ beql $v0, $zero, .L800357D8
/* 10BD4 800357D4 A6110000 */ sh $s1, ($s0)
.L800357D8:
/* 10BD8 800357D8 86020000 */ lh $v0, ($s0)
/* 10BDC 800357DC 44820000 */ mtc1 $v0, $f0
/* 10BE0 800357E0 00000000 */ nop
/* 10BE4 800357E4 46800020 */ cvt.s.w $f0, $f0
/* 10BE8 800357E8 44050000 */ mfc1 $a1, $f0
/* 10BEC 800357EC 0C04DF62 */ jal set_screen_overlay_params_front
/* 10BF0 800357F0 0000202D */ daddu $a0, $zero, $zero
/* 10BF4 800357F4 86020000 */ lh $v0, ($s0)
/* 10BF8 800357F8 145100CB */ bne $v0, $s1, .L80035B28
/* 10BFC 800357FC 00000000 */ nop
.L80035800:
/* 10C00 80035800 24020002 */ addiu $v0, $zero, 2
/* 10C04 80035804 3C01800A */ lui $at, %hi(D_800A0931)
/* 10C08 80035808 A0220931 */ sb $v0, %lo(D_800A0931)($at)
/* 10C0C 8003580C 0800D6CA */ j .L80035B28
/* 10C10 80035810 00000000 */ nop
glabel L80035814_10C14
/* 10C14 80035814 3C06800A */ lui $a2, %hi(D_800A0930)
/* 10C18 80035818 24C60930 */ addiu $a2, $a2, %lo(D_800A0930)
/* 10C1C 8003581C 80C30000 */ lb $v1, ($a2)
/* 10C20 80035820 24020003 */ addiu $v0, $zero, 3
/* 10C24 80035824 14620006 */ bne $v1, $v0, .L80035840
/* 10C28 80035828 00000000 */ nop
/* 10C2C 8003582C 3C03800A */ lui $v1, %hi(gOverrideFlags)
/* 10C30 80035830 2463A650 */ addiu $v1, $v1, %lo(gOverrideFlags)
/* 10C34 80035834 8C620000 */ lw $v0, ($v1)
/* 10C38 80035838 34420008 */ ori $v0, $v0, 8
/* 10C3C 8003583C AC620000 */ sw $v0, ($v1)
.L80035840:
/* 10C40 80035840 80C20000 */ lb $v0, ($a2)
/* 10C44 80035844 90C30000 */ lbu $v1, ($a2)
/* 10C48 80035848 044000B7 */ bltz $v0, .L80035B28
/* 10C4C 8003584C 2462FFFF */ addiu $v0, $v1, -1
/* 10C50 80035850 A0C20000 */ sb $v0, ($a2)
/* 10C54 80035854 00021600 */ sll $v0, $v0, 0x18
/* 10C58 80035858 14400067 */ bnez $v0, .L800359F8
/* 10C5C 8003585C 24050003 */ addiu $a1, $zero, 3
/* 10C60 80035860 3C048007 */ lui $a0, %hi(D_80077980)
/* 10C64 80035864 24847980 */ addiu $a0, $a0, %lo(D_80077980)
/* 10C68 80035868 2402FFFF */ addiu $v0, $zero, -1
/* 10C6C 8003586C 0C017CBC */ jal nuGfxSetCfb
/* 10C70 80035870 A0C20000 */ sb $v0, ($a2)
/* 10C74 80035874 0C0912C0 */ jal filemenu_cleanup
/* 10C78 80035878 00000000 */ nop
/* 10C7C 8003587C 3C04800A */ lui $a0, %hi(gOverrideFlags)
/* 10C80 80035880 2484A650 */ addiu $a0, $a0, %lo(gOverrideFlags)
/* 10C84 80035884 8C820000 */ lw $v0, ($a0)
/* 10C88 80035888 2403FFF7 */ addiu $v1, $zero, -9
/* 10C8C 8003588C 00431024 */ and $v0, $v0, $v1
/* 10C90 80035890 0C016AFA */ jal get_current_map_header
/* 10C94 80035894 AC820000 */ sw $v0, ($a0)
/* 10C98 80035898 3C108007 */ lui $s0, %hi(gGameStatusPtr)
/* 10C9C 8003589C 2610419C */ addiu $s0, $s0, %lo(gGameStatusPtr)
/* 10CA0 800358A0 8E040000 */ lw $a0, ($s0)
/* 10CA4 800358A4 84830086 */ lh $v1, 0x86($a0)
/* 10CA8 800358A8 00031900 */ sll $v1, $v1, 4
/* 10CAC 800358AC 3C058009 */ lui $a1, %hi(gAreas+0x4)
/* 10CB0 800358B0 00A32821 */ addu $a1, $a1, $v1
/* 10CB4 800358B4 8CA534F4 */ lw $a1, %lo(gAreas+0x4)($a1)
/* 10CB8 800358B8 8483008C */ lh $v1, 0x8c($a0)
/* 10CBC 800358BC 0040902D */ daddu $s2, $v0, $zero
/* 10CC0 800358C0 A0800070 */ sb $zero, 0x70($a0)
/* 10CC4 800358C4 00031940 */ sll $v1, $v1, 5
/* 10CC8 800358C8 0C016BE1 */ jal func_8005AF84
/* 10CCC 800358CC 00A38821 */ addu $s1, $a1, $v1
/* 10CD0 800358D0 0C00AB37 */ jal func_8002ACDC
/* 10CD4 800358D4 00000000 */ nop
/* 10CD8 800358D8 0C05259C */ jal sfx_clear_env_sounds
/* 10CDC 800358DC 24040001 */ addiu $a0, $zero, 1
/* 10CE0 800358E0 8E020000 */ lw $v0, ($s0)
/* 10CE4 800358E4 0C0B763E */ jal spr_init_sprites
/* 10CE8 800358E8 80440084 */ lb $a0, 0x84($v0)
/* 10CEC 800358EC 0C0457FA */ jal init_model_data
/* 10CF0 800358F0 00000000 */ nop
/* 10CF4 800358F4 0C05203C */ jal init_sprite_shading_data
/* 10CF8 800358F8 00000000 */ nop
/* 10CFC 800358FC 0C048316 */ jal init_entity_models
/* 10D00 80035900 00000000 */ nop
/* 10D04 80035904 0C0478C4 */ jal reset_animator_list
/* 10D08 80035908 00000000 */ nop
/* 10D0C 8003590C 0C048C45 */ jal init_generic_entity_list
/* 10D10 80035910 00000000 */ nop
/* 10D14 80035914 0000202D */ daddu $a0, $zero, $zero
/* 10D18 80035918 0C0514BA */ jal set_hud_element_nonworld_cache
/* 10D1C 8003591C 0080282D */ daddu $a1, $a0, $zero
/* 10D20 80035920 0C0504C0 */ jal init_hud_element_list
/* 10D24 80035924 00000000 */ nop
/* 10D28 80035928 0C04C433 */ jal init_item_entity_list
/* 10D2C 8003592C 00000000 */ nop
/* 10D30 80035930 0C0B0CBB */ jal init_script_list
/* 10D34 80035934 00000000 */ nop
/* 10D38 80035938 0C00E14B */ jal init_npc_list
/* 10D3C 8003593C 00000000 */ nop
/* 10D40 80035940 0C044396 */ jal func_80110E58
/* 10D44 80035944 00000000 */ nop
/* 10D48 80035948 0C0515CA */ jal init_trigger_list
/* 10D4C 8003594C 00000000 */ nop
/* 10D50 80035950 3C04800E */ lui $a0, %hi(mapShapeName)
/* 10D54 80035954 24849230 */ addiu $a0, $a0, %lo(mapShapeName)
/* 10D58 80035958 0C016B3A */ jal load_asset_by_name
/* 10D5C 8003595C 27A50010 */ addiu $a1, $sp, 0x10
/* 10D60 80035960 0040802D */ daddu $s0, $v0, $zero
/* 10D64 80035964 3C058021 */ lui $a1, %hi(D_80210000)
/* 10D68 80035968 24A50000 */ addiu $a1, $a1, %lo(D_80210000)
/* 10D6C 8003596C 0C01BB7C */ jal decode_yay0
/* 10D70 80035970 0200202D */ daddu $a0, $s0, $zero
/* 10D74 80035974 0C00AB1E */ jal general_heap_free
/* 10D78 80035978 0200202D */ daddu $a0, $s0, $zero
/* 10D7C 8003597C 0C016BE5 */ jal initialize_collision
/* 10D80 80035980 00000000 */ nop
/* 10D84 80035984 0C016C16 */ jal load_collision
/* 10D88 80035988 00000000 */ nop
/* 10D8C 8003598C 8E240008 */ lw $a0, 8($s1)
/* 10D90 80035990 10800004 */ beqz $a0, .L800359A4
/* 10D94 80035994 00000000 */ nop
/* 10D98 80035998 8E25000C */ lw $a1, 0xc($s1)
/* 10D9C 8003599C 0C00A5CF */ jal dma_copy
/* 10DA0 800359A0 8E260010 */ lw $a2, 0x10($s1)
.L800359A4:
/* 10DA4 800359A4 0C05175C */ jal load_map_bg
/* 10DA8 800359A8 8E240014 */ lw $a0, 0x14($s1)
/* 10DAC 800359AC 8E440038 */ lw $a0, 0x38($s2)
/* 10DB0 800359B0 50800005 */ beql $a0, $zero, .L800359C8
/* 10DB4 800359B4 24040128 */ addiu $a0, $zero, 0x128
/* 10DB8 800359B8 0C05178A */ jal read_background_size
/* 10DBC 800359BC 00000000 */ nop
/* 10DC0 800359C0 0800D676 */ j .L800359D8
/* 10DC4 800359C4 00000000 */ nop
.L800359C8:
/* 10DC8 800359C8 240500C8 */ addiu $a1, $zero, 0xc8
/* 10DCC 800359CC 2406000C */ addiu $a2, $zero, 0xc
/* 10DD0 800359D0 0C05179C */ jal set_background_size
/* 10DD4 800359D4 24070014 */ addiu $a3, $zero, 0x14
.L800359D8:
/* 10DD8 800359D8 0C04584B */ jal calculate_model_sizes
/* 10DDC 800359DC 00000000 */ nop
/* 10DE0 800359E0 0C00EC6C */ jal npc_reload_all
/* 10DE4 800359E4 00000000 */ nop
/* 10DE8 800359E8 0C03A631 */ jal func_800E98C4
/* 10DEC 800359EC 00000000 */ nop
/* 10DF0 800359F0 0C009C22 */ jal set_time_freeze_mode
/* 10DF4 800359F4 24040001 */ addiu $a0, $zero, 1
.L800359F8:
/* 10DF8 800359F8 0C051FB1 */ jal set_windows_visible
/* 10DFC 800359FC 0000202D */ daddu $a0, $zero, $zero
/* 10E00 80035A00 24020003 */ addiu $v0, $zero, 3
/* 10E04 80035A04 3C01800A */ lui $at, %hi(D_800A0931)
/* 10E08 80035A08 A0220931 */ sb $v0, %lo(D_800A0931)($at)
/* 10E0C 80035A0C 0C037DD0 */ jal update_player
/* 10E10 80035A10 00000000 */ nop
/* 10E14 80035A14 0C00E64C */ jal update_npcs
/* 10E18 80035A18 00000000 */ nop
/* 10E1C 80035A1C 0C00F949 */ jal update_encounters
/* 10E20 80035A20 00000000 */ nop
/* 10E24 80035A24 0C016754 */ jal update_effects
/* 10E28 80035A28 00000000 */ nop
/* 10E2C 80035A2C 3C03800A */ lui $v1, %hi(D_800A0932)
/* 10E30 80035A30 24630932 */ addiu $v1, $v1, %lo(D_800A0932)
/* 10E34 80035A34 94620000 */ lhu $v0, ($v1)
/* 10E38 80035A38 2442FFEC */ addiu $v0, $v0, -0x14
/* 10E3C 80035A3C A4620000 */ sh $v0, ($v1)
/* 10E40 80035A40 00021400 */ sll $v0, $v0, 0x10
/* 10E44 80035A44 04420001 */ bltzl $v0, .L80035A4C
/* 10E48 80035A48 A4600000 */ sh $zero, ($v1)
.L80035A4C:
/* 10E4C 80035A4C 84620000 */ lh $v0, ($v1)
/* 10E50 80035A50 44820000 */ mtc1 $v0, $f0
/* 10E54 80035A54 00000000 */ nop
/* 10E58 80035A58 46800020 */ cvt.s.w $f0, $f0
/* 10E5C 80035A5C 44050000 */ mfc1 $a1, $f0
/* 10E60 80035A60 0800D6C8 */ j .L80035B20
/* 10E64 80035A64 0000202D */ daddu $a0, $zero, $zero
glabel L80035A68_10E68
/* 10E68 80035A68 0C037DD0 */ jal update_player
/* 10E6C 80035A6C 00000000 */ nop
/* 10E70 80035A70 0C00E64C */ jal update_npcs
/* 10E74 80035A74 00000000 */ nop
/* 10E78 80035A78 0C00F949 */ jal update_encounters
/* 10E7C 80035A7C 00000000 */ nop
/* 10E80 80035A80 0C016754 */ jal update_effects
/* 10E84 80035A84 00000000 */ nop
/* 10E88 80035A88 3C04800A */ lui $a0, %hi(D_800A0932)
/* 10E8C 80035A8C 24840932 */ addiu $a0, $a0, %lo(D_800A0932)
/* 10E90 80035A90 84820000 */ lh $v0, ($a0)
/* 10E94 80035A94 94830000 */ lhu $v1, ($a0)
/* 10E98 80035A98 14400006 */ bnez $v0, .L80035AB4
/* 10E9C 80035A9C 2462FFEC */ addiu $v0, $v1, -0x14
/* 10EA0 80035AA0 24020004 */ addiu $v0, $zero, 4
/* 10EA4 80035AA4 3C01800A */ lui $at, %hi(D_800A0931)
/* 10EA8 80035AA8 A0220931 */ sb $v0, %lo(D_800A0931)($at)
/* 10EAC 80035AAC 0800D6CA */ j .L80035B28
/* 10EB0 80035AB0 00000000 */ nop
.L80035AB4:
/* 10EB4 80035AB4 A4820000 */ sh $v0, ($a0)
/* 10EB8 80035AB8 00021400 */ sll $v0, $v0, 0x10
/* 10EBC 80035ABC 04420001 */ bltzl $v0, .L80035AC4
/* 10EC0 80035AC0 A4800000 */ sh $zero, ($a0)
.L80035AC4:
/* 10EC4 80035AC4 84820000 */ lh $v0, ($a0)
/* 10EC8 80035AC8 44820000 */ mtc1 $v0, $f0
/* 10ECC 80035ACC 00000000 */ nop
/* 10ED0 80035AD0 46800020 */ cvt.s.w $f0, $f0
/* 10ED4 80035AD4 44050000 */ mfc1 $a1, $f0
/* 10ED8 80035AD8 0800D6C8 */ j .L80035B20
/* 10EDC 80035ADC 0000202D */ daddu $a0, $zero, $zero
glabel L80035AE0_10EE0
/* 10EE0 80035AE0 0C009C22 */ jal set_time_freeze_mode
/* 10EE4 80035AE4 0000202D */ daddu $a0, $zero, $zero
/* 10EE8 80035AE8 0C037DD0 */ jal update_player
/* 10EEC 80035AEC 00000000 */ nop
/* 10EF0 80035AF0 0C00E64C */ jal update_npcs
/* 10EF4 80035AF4 00000000 */ nop
/* 10EF8 80035AF8 0C00F949 */ jal update_encounters
/* 10EFC 80035AFC 00000000 */ nop
/* 10F00 80035B00 0C016754 */ jal update_effects
/* 10F04 80035B04 00000000 */ nop
/* 10F08 80035B08 0C038069 */ jal enable_player_input
/* 10F0C 80035B0C 00000000 */ nop
/* 10F10 80035B10 0C00CD3C */ jal set_game_mode
/* 10F14 80035B14 24040004 */ addiu $a0, $zero, 4
/* 10F18 80035B18 3C05BF80 */ lui $a1, 0xbf80
/* 10F1C 80035B1C 240400FF */ addiu $a0, $zero, 0xff
.L80035B20:
/* 10F20 80035B20 0C04DF62 */ jal set_screen_overlay_params_front
/* 10F24 80035B24 00000000 */ nop
.L80035B28:
/* 10F28 80035B28 8FBF0024 */ lw $ra, 0x24($sp)
/* 10F2C 80035B2C 8FB20020 */ lw $s2, 0x20($sp)
/* 10F30 80035B30 8FB1001C */ lw $s1, 0x1c($sp)
/* 10F34 80035B34 8FB00018 */ lw $s0, 0x18($sp)
/* 10F38 80035B38 03E00008 */ jr $ra
/* 10F3C 80035B3C 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,217 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel state_step_language_select
/* 105C8 800351C8 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 105CC 800351CC AFB10014 */ sw $s1, 0x14($sp)
/* 105D0 800351D0 3C11800A */ lui $s1, %hi(D_800A0931)
/* 105D4 800351D4 26310931 */ addiu $s1, $s1, %lo(D_800A0931)
/* 105D8 800351D8 AFBF0020 */ sw $ra, 0x20($sp)
/* 105DC 800351DC AFB3001C */ sw $s3, 0x1c($sp)
/* 105E0 800351E0 AFB20018 */ sw $s2, 0x18($sp)
/* 105E4 800351E4 AFB00010 */ sw $s0, 0x10($sp)
/* 105E8 800351E8 82230000 */ lb $v1, ($s1)
/* 105EC 800351EC 24120001 */ addiu $s2, $zero, 1
/* 105F0 800351F0 10720030 */ beq $v1, $s2, .L800352B4
/* 105F4 800351F4 28620002 */ slti $v0, $v1, 2
/* 105F8 800351F8 10400005 */ beqz $v0, .L80035210
/* 105FC 800351FC 24130002 */ addiu $s3, $zero, 2
/* 10600 80035200 10600009 */ beqz $v1, .L80035228
/* 10604 80035204 00000000 */ nop
/* 10608 80035208 0800D534 */ j .L800354D0
/* 1060C 8003520C 00000000 */ nop
.L80035210:
/* 10610 80035210 10730033 */ beq $v1, $s3, .L800352E0
/* 10614 80035214 24020003 */ addiu $v0, $zero, 3
/* 10618 80035218 10620055 */ beq $v1, $v0, .L80035370
/* 1061C 8003521C 00000000 */ nop
/* 10620 80035220 0800D534 */ j .L800354D0
/* 10624 80035224 00000000 */ nop
.L80035228:
/* 10628 80035228 0C037DD0 */ jal update_player
/* 1062C 8003522C 00000000 */ nop
/* 10630 80035230 0C00E64C */ jal update_npcs
/* 10634 80035234 00000000 */ nop
/* 10638 80035238 0C00F949 */ jal update_encounters
/* 1063C 8003523C 00000000 */ nop
/* 10640 80035240 0C016754 */ jal update_effects
/* 10644 80035244 00000000 */ nop
/* 10648 80035248 3C10800A */ lui $s0, %hi(D_800A0932)
/* 1064C 8003524C 26100932 */ addiu $s0, $s0, %lo(D_800A0932)
/* 10650 80035250 86020000 */ lh $v0, ($s0)
/* 10654 80035254 96030000 */ lhu $v1, ($s0)
/* 10658 80035258 284200FF */ slti $v0, $v0, 0xff
/* 1065C 8003525C 10400013 */ beqz $v0, .L800352AC
/* 10660 80035260 24620014 */ addiu $v0, $v1, 0x14
/* 10664 80035264 A6020000 */ sh $v0, ($s0)
/* 10668 80035268 00021400 */ sll $v0, $v0, 0x10
/* 1066C 8003526C 00021403 */ sra $v0, $v0, 0x10
/* 10670 80035270 28420100 */ slti $v0, $v0, 0x100
/* 10674 80035274 14400002 */ bnez $v0, .L80035280
/* 10678 80035278 240200FF */ addiu $v0, $zero, 0xff
/* 1067C 8003527C A6020000 */ sh $v0, ($s0)
.L80035280:
/* 10680 80035280 86020000 */ lh $v0, ($s0)
/* 10684 80035284 44820000 */ mtc1 $v0, $f0
/* 10688 80035288 00000000 */ nop
/* 1068C 8003528C 46800020 */ cvt.s.w $f0, $f0
/* 10690 80035290 44050000 */ mfc1 $a1, $f0
/* 10694 80035294 0C04DF62 */ jal set_screen_overlay_params_front
/* 10698 80035298 0000202D */ daddu $a0, $zero, $zero
/* 1069C 8003529C 86030000 */ lh $v1, ($s0)
/* 106A0 800352A0 240200FF */ addiu $v0, $zero, 0xff
/* 106A4 800352A4 1462008A */ bne $v1, $v0, .L800354D0
/* 106A8 800352A8 00000000 */ nop
.L800352AC:
/* 106AC 800352AC 0800D534 */ j .L800354D0
/* 106B0 800352B0 A2320000 */ sb $s2, ($s1)
.L800352B4:
/* 106B4 800352B4 24020005 */ addiu $v0, $zero, 5
/* 106B8 800352B8 3C04800A */ lui $a0, %hi(gOverrideFlags)
/* 106BC 800352BC 2484A650 */ addiu $a0, $a0, %lo(gOverrideFlags)
/* 106C0 800352C0 3C01800A */ lui $at, %hi(D_800A0930)
/* 106C4 800352C4 A0220930 */ sb $v0, %lo(D_800A0930)($at)
/* 106C8 800352C8 8C820000 */ lw $v0, ($a0)
/* 106CC 800352CC 24030002 */ addiu $v1, $zero, 2
/* 106D0 800352D0 A2230000 */ sb $v1, ($s1)
/* 106D4 800352D4 34420008 */ ori $v0, $v0, 8
/* 106D8 800352D8 0800D534 */ j .L800354D0
/* 106DC 800352DC AC820000 */ sw $v0, ($a0)
.L800352E0:
/* 106E0 800352E0 3C10800A */ lui $s0, %hi(D_800A0930)
/* 106E4 800352E4 26100930 */ addiu $s0, $s0, %lo(D_800A0930)
/* 106E8 800352E8 92020000 */ lbu $v0, ($s0)
/* 106EC 800352EC 2442FFFF */ addiu $v0, $v0, -1
/* 106F0 800352F0 A2020000 */ sb $v0, ($s0)
/* 106F4 800352F4 00021600 */ sll $v0, $v0, 0x18
/* 106F8 800352F8 14400075 */ bnez $v0, .L800354D0
/* 106FC 800352FC 00000000 */ nop
/* 10700 80035300 3C048007 */ lui $a0, %hi(D_80077980)
/* 10704 80035304 24847980 */ addiu $a0, $a0, %lo(D_80077980)
/* 10708 80035308 0C017CBC */ jal nuGfxSetCfb
/* 1070C 8003530C 24050002 */ addiu $a1, $zero, 2
/* 10710 80035310 3C02800A */ lui $v0, %hi(nuGfxCfb)
/* 10714 80035314 8C42A658 */ lw $v0, %lo(nuGfxCfb)($v0)
/* 10718 80035318 8C430008 */ lw $v1, 8($v0)
/* 1071C 8003531C 3C02800A */ lui $v0, %hi(nuGfxCfb_ptr)
/* 10720 80035320 8C42A64C */ lw $v0, %lo(nuGfxCfb_ptr)($v0)
/* 10724 80035324 14620008 */ bne $v1, $v0, .L80035348
/* 10728 80035328 24040003 */ addiu $a0, $zero, 3
/* 1072C 8003532C 3C02800A */ lui $v0, %hi(gOverrideFlags)
/* 10730 80035330 2442A650 */ addiu $v0, $v0, %lo(gOverrideFlags)
/* 10734 80035334 8C430000 */ lw $v1, ($v0)
/* 10738 80035338 2404FFF7 */ addiu $a0, $zero, -9
/* 1073C 8003533C 00641824 */ and $v1, $v1, $a0
/* 10740 80035340 0800D534 */ j .L800354D0
/* 10744 80035344 AC430000 */ sw $v1, ($v0)
.L80035348:
/* 10748 80035348 3C02800A */ lui $v0, %hi(gOverrideFlags)
/* 1074C 8003534C 2442A650 */ addiu $v0, $v0, %lo(gOverrideFlags)
/* 10750 80035350 8C430000 */ lw $v1, ($v0)
/* 10754 80035354 34630008 */ ori $v1, $v1, 8
/* 10758 80035358 0C051FB1 */ jal set_windows_visible
/* 1075C 8003535C AC430000 */ sw $v1, ($v0)
/* 10760 80035360 24020003 */ addiu $v0, $zero, 3
/* 10764 80035364 A2120000 */ sb $s2, ($s0)
/* 10768 80035368 0800D534 */ j .L800354D0
/* 1076C 8003536C A2220000 */ sb $v0, ($s1)
.L80035370:
/* 10770 80035370 3C10800A */ lui $s0, %hi(D_800A0930)
/* 10774 80035374 26100930 */ addiu $s0, $s0, %lo(D_800A0930)
/* 10778 80035378 82020000 */ lb $v0, ($s0)
/* 1077C 8003537C 92030000 */ lbu $v1, ($s0)
/* 10780 80035380 04400042 */ bltz $v0, .L8003548C
/* 10784 80035384 2462FFFF */ addiu $v0, $v1, -1
/* 10788 80035388 A2020000 */ sb $v0, ($s0)
/* 1078C 8003538C 00021600 */ sll $v0, $v0, 0x18
/* 10790 80035390 1440003B */ bnez $v0, .L80035480
/* 10794 80035394 2402FFFF */ addiu $v0, $zero, -1
/* 10798 80035398 0C05260E */ jal sfx_stop_env_sounds
/* 1079C 8003539C A2020000 */ sb $v0, ($s0)
/* 107A0 800353A0 0C00EC6A */ jal func_8003B1A8
/* 107A4 800353A4 00000000 */ nop
/* 107A8 800353A8 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 107AC 800353AC 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 107B0 800353B0 0C016BA8 */ jal allocate_hit_tables
/* 107B4 800353B4 A0530070 */ sb $s3, 0x70($v0)
/* 107B8 800353B8 0C00AB28 */ jal battle_heap_create
/* 107BC 800353BC 00000000 */ nop
/* 107C0 800353C0 0C05259C */ jal sfx_clear_env_sounds
/* 107C4 800353C4 0000202D */ daddu $a0, $zero, $zero
/* 107C8 800353C8 0C0B763E */ jal spr_init_sprites
/* 107CC 800353CC 0000202D */ daddu $a0, $zero, $zero
/* 107D0 800353D0 0C045751 */ jal clear_model_data
/* 107D4 800353D4 00000000 */ nop
/* 107D8 800353D8 0C052010 */ jal clear_sprite_shading_data
/* 107DC 800353DC 00000000 */ nop
/* 107E0 800353E0 0C05177E */ jal reset_background_settings
/* 107E4 800353E4 00000000 */ nop
/* 107E8 800353E8 0C0482EC */ jal clear_entity_models
/* 107EC 800353EC 00000000 */ nop
/* 107F0 800353F0 0C047889 */ jal clear_animator_list
/* 107F4 800353F4 00000000 */ nop
/* 107F8 800353F8 0C048C2E */ jal clear_generic_entity_list
/* 107FC 800353FC 00000000 */ nop
/* 10800 80035400 3C048020 */ lui $a0, %hi(func_80200000)
/* 10804 80035404 24840000 */ addiu $a0, $a0, %lo(func_80200000)
/* 10808 80035408 0C0514BA */ jal set_hud_element_nonworld_cache
/* 1080C 8003540C 3C050002 */ lui $a1, 2
/* 10810 80035410 0C050440 */ jal clear_hud_element_cache
/* 10814 80035414 00000000 */ nop
/* 10818 80035418 0C03A6EC */ jal reset_status_menu
/* 1081C 8003541C 00000000 */ nop
/* 10820 80035420 0C04C3FC */ jal clear_item_entity_data
/* 10824 80035424 00000000 */ nop
/* 10828 80035428 0C0B0C77 */ jal clear_script_list
/* 1082C 8003542C 00000000 */ nop
/* 10830 80035430 0C00E12F */ jal clear_npcs
/* 10834 80035434 00000000 */ nop
/* 10838 80035438 0C04432E */ jal clear_entity_data
/* 1083C 8003543C 0000202D */ daddu $a0, $zero, $zero
/* 10840 80035440 0C0515A0 */ jal clear_trigger_data
/* 10844 80035444 00000000 */ nop
/* 10848 80035448 3C048007 */ lui $a0, %hi(D_8007798C)
/* 1084C 8003544C 0C018038 */ jal nuPiReadRomOverlay
/* 10850 80035450 2484798C */ addiu $a0, $a0, %lo(D_8007798C)
/* 10854 80035454 0C091238 */ jal filemenu_init
/* 10858 80035458 24040001 */ addiu $a0, $zero, 1
/* 1085C 8003545C 240400FF */ addiu $a0, $zero, 0xff
/* 10860 80035460 3C06800A */ lui $a2, %hi(gOverrideFlags)
/* 10864 80035464 24C6A650 */ addiu $a2, $a2, %lo(gOverrideFlags)
/* 10868 80035468 2403FFF7 */ addiu $v1, $zero, -9
/* 1086C 8003546C 8CC20000 */ lw $v0, ($a2)
/* 10870 80035470 3C05437F */ lui $a1, 0x437f
/* 10874 80035474 00431024 */ and $v0, $v0, $v1
/* 10878 80035478 0C04DF62 */ jal set_screen_overlay_params_front
/* 1087C 8003547C ACC20000 */ sw $v0, ($a2)
.L80035480:
/* 10880 80035480 82020000 */ lb $v0, ($s0)
/* 10884 80035484 04410012 */ bgez $v0, .L800354D0
/* 10888 80035488 00000000 */ nop
.L8003548C:
/* 1088C 8003548C 0C090C68 */ jal filemenu_update
/* 10890 80035490 00000000 */ nop
/* 10894 80035494 3C03800A */ lui $v1, %hi(D_800A0932)
/* 10898 80035498 24630932 */ addiu $v1, $v1, %lo(D_800A0932)
/* 1089C 8003549C 94620000 */ lhu $v0, ($v1)
/* 108A0 800354A0 2442FFEC */ addiu $v0, $v0, -0x14
/* 108A4 800354A4 A4620000 */ sh $v0, ($v1)
/* 108A8 800354A8 00021400 */ sll $v0, $v0, 0x10
/* 108AC 800354AC 04420001 */ bltzl $v0, .L800354B4
/* 108B0 800354B0 A4600000 */ sh $zero, ($v1)
.L800354B4:
/* 108B4 800354B4 84620000 */ lh $v0, ($v1)
/* 108B8 800354B8 44820000 */ mtc1 $v0, $f0
/* 108BC 800354BC 00000000 */ nop
/* 108C0 800354C0 46800020 */ cvt.s.w $f0, $f0
/* 108C4 800354C4 44050000 */ mfc1 $a1, $f0
/* 108C8 800354C8 0C04DF62 */ jal set_screen_overlay_params_front
/* 108CC 800354CC 0000202D */ daddu $a0, $zero, $zero
.L800354D0:
/* 108D0 800354D0 8FBF0020 */ lw $ra, 0x20($sp)
/* 108D4 800354D4 8FB3001C */ lw $s3, 0x1c($sp)
/* 108D8 800354D8 8FB20018 */ lw $s2, 0x18($sp)
/* 108DC 800354DC 8FB10014 */ lw $s1, 0x14($sp)
/* 108E0 800354E0 8FB00010 */ lw $s0, 0x10($sp)
/* 108E4 800354E4 03E00008 */ jr $ra
/* 108E8 800354E8 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -13,15 +13,15 @@ glabel D_802402C0_A93420
glabel func_80240000_A93160
/* A93160 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18
/* A93164 80240004 3C04800E */ lui $a0, %hi(mapShapeName)
/* A93168 80240008 24849230 */ addiu $a0, $a0, %lo(mapShapeName)
/* A93164 80240004 3C04800E */ lui $a0, %hi(wMapShapeName)
/* A93168 80240008 24849230 */ addiu $a0, $a0, %lo(wMapShapeName)
/* A9316C 8024000C 3C058024 */ lui $a1, %hi(D_802402B0_A93410)
/* A93170 80240010 24A502B0 */ addiu $a1, $a1, %lo(D_802402B0_A93410)
/* A93174 80240014 AFBF0010 */ sw $ra, 0x10($sp)
/* A93178 80240018 0C01953C */ jal sprintf
/* A9317C 8024001C 00000000 */ nop
/* A93180 80240020 3C04800E */ lui $a0, %hi(mapHitName)
/* A93184 80240024 248491E0 */ addiu $a0, $a0, %lo(mapHitName)
/* A93180 80240020 3C04800E */ lui $a0, %hi(wMapHitName)
/* A93184 80240024 248491E0 */ addiu $a0, $a0, %lo(wMapHitName)
/* A93188 80240028 3C058024 */ lui $a1, %hi(D_802402C0_A93420)
/* A9318C 8024002C 0C01953C */ jal sprintf
/* A93190 80240030 24A502C0 */ addiu $a1, $a1, %lo(D_802402C0_A93420)

View File

@ -13,15 +13,15 @@ glabel D_802402E0_A93720
glabel func_80240000_A93440
/* A93440 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18
/* A93444 80240004 3C04800E */ lui $a0, %hi(mapShapeName)
/* A93448 80240008 24849230 */ addiu $a0, $a0, %lo(mapShapeName)
/* A93444 80240004 3C04800E */ lui $a0, %hi(wMapShapeName)
/* A93448 80240008 24849230 */ addiu $a0, $a0, %lo(wMapShapeName)
/* A9344C 8024000C 3C058024 */ lui $a1, %hi(D_802402D0_A93710)
/* A93450 80240010 24A502D0 */ addiu $a1, $a1, %lo(D_802402D0_A93710)
/* A93454 80240014 AFBF0010 */ sw $ra, 0x10($sp)
/* A93458 80240018 0C01953C */ jal sprintf
/* A9345C 8024001C 00000000 */ nop
/* A93460 80240020 3C04800E */ lui $a0, %hi(mapHitName)
/* A93464 80240024 248491E0 */ addiu $a0, $a0, %lo(mapHitName)
/* A93460 80240020 3C04800E */ lui $a0, %hi(wMapHitName)
/* A93464 80240024 248491E0 */ addiu $a0, $a0, %lo(wMapHitName)
/* A93468 80240028 3C058024 */ lui $a1, %hi(D_802402E0_A93720)
/* A9346C 8024002C 0C01953C */ jal sprintf
/* A93470 80240030 24A502E0 */ addiu $a1, $a1, %lo(D_802402E0_A93720)

View File

@ -13,15 +13,15 @@ glabel D_802403A0_A9ED20
glabel func_80240000_A9E980
/* A9E980 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18
/* A9E984 80240004 3C04800E */ lui $a0, %hi(mapShapeName)
/* A9E988 80240008 24849230 */ addiu $a0, $a0, %lo(mapShapeName)
/* A9E984 80240004 3C04800E */ lui $a0, %hi(wMapShapeName)
/* A9E988 80240008 24849230 */ addiu $a0, $a0, %lo(wMapShapeName)
/* A9E98C 8024000C 3C058024 */ lui $a1, %hi(D_80240390_A9ED10)
/* A9E990 80240010 24A50390 */ addiu $a1, $a1, %lo(D_80240390_A9ED10)
/* A9E994 80240014 AFBF0010 */ sw $ra, 0x10($sp)
/* A9E998 80240018 0C01953C */ jal sprintf
/* A9E99C 8024001C 00000000 */ nop
/* A9E9A0 80240020 3C04800E */ lui $a0, %hi(mapHitName)
/* A9E9A4 80240024 248491E0 */ addiu $a0, $a0, %lo(mapHitName)
/* A9E9A0 80240020 3C04800E */ lui $a0, %hi(wMapHitName)
/* A9E9A4 80240024 248491E0 */ addiu $a0, $a0, %lo(wMapHitName)
/* A9E9A8 80240028 3C058024 */ lui $a1, %hi(D_802403A0_A9ED20)
/* A9E9AC 8024002C 0C01953C */ jal sprintf
/* A9E9B0 80240030 24A503A0 */ addiu $a1, $a1, %lo(D_802403A0_A9ED20)

View File

@ -13,15 +13,15 @@ glabel D_80242F30_A66FC0
glabel func_80240000_A64090
/* A64090 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18
/* A64094 80240004 3C04800E */ lui $a0, %hi(mapShapeName)
/* A64098 80240008 24849230 */ addiu $a0, $a0, %lo(mapShapeName)
/* A64094 80240004 3C04800E */ lui $a0, %hi(wMapShapeName)
/* A64098 80240008 24849230 */ addiu $a0, $a0, %lo(wMapShapeName)
/* A6409C 8024000C 3C058024 */ lui $a1, %hi(D_80242F20_A66FB0)
/* A640A0 80240010 24A52F20 */ addiu $a1, $a1, %lo(D_80242F20_A66FB0)
/* A640A4 80240014 AFBF0010 */ sw $ra, 0x10($sp)
/* A640A8 80240018 0C01953C */ jal sprintf
/* A640AC 8024001C 00000000 */ nop
/* A640B0 80240020 3C04800E */ lui $a0, %hi(mapHitName)
/* A640B4 80240024 248491E0 */ addiu $a0, $a0, %lo(mapHitName)
/* A640B0 80240020 3C04800E */ lui $a0, %hi(wMapHitName)
/* A640B4 80240024 248491E0 */ addiu $a0, $a0, %lo(wMapHitName)
/* A640B8 80240028 3C058024 */ lui $a1, %hi(D_80242F30_A66FC0)
/* A640BC 8024002C 0C01953C */ jal sprintf
/* A640C0 80240030 24A52F30 */ addiu $a1, $a1, %lo(D_80242F30_A66FC0)

View File

@ -13,8 +13,8 @@ glabel D_80241E30_A6CAD0
glabel func_80240000_A6ACA0
/* A6ACA0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18
/* A6ACA4 80240004 3C04800E */ lui $a0, %hi(mapShapeName)
/* A6ACA8 80240008 24849230 */ addiu $a0, $a0, %lo(mapShapeName)
/* A6ACA4 80240004 3C04800E */ lui $a0, %hi(wMapShapeName)
/* A6ACA8 80240008 24849230 */ addiu $a0, $a0, %lo(wMapShapeName)
/* A6ACAC 8024000C 3C058024 */ lui $a1, %hi(D_80241E20_A6CAC0)
/* A6ACB0 80240010 24A51E20 */ addiu $a1, $a1, %lo(D_80241E20_A6CAC0)
/* A6ACB4 80240014 3C038007 */ lui $v1, %hi(gGameStatusPtr)
@ -23,8 +23,8 @@ glabel func_80240000_A6ACA0
/* A6ACC0 80240020 AFBF0010 */ sw $ra, 0x10($sp)
/* A6ACC4 80240024 0C01953C */ jal sprintf
/* A6ACC8 80240028 A0620084 */ sb $v0, 0x84($v1)
/* A6ACCC 8024002C 3C04800E */ lui $a0, %hi(mapHitName)
/* A6ACD0 80240030 248491E0 */ addiu $a0, $a0, %lo(mapHitName)
/* A6ACCC 8024002C 3C04800E */ lui $a0, %hi(wMapHitName)
/* A6ACD0 80240030 248491E0 */ addiu $a0, $a0, %lo(wMapHitName)
/* A6ACD4 80240034 3C058024 */ lui $a1, %hi(D_80241E30_A6CAD0)
/* A6ACD8 80240038 0C01953C */ jal sprintf
/* A6ACDC 8024003C 24A51E30 */ addiu $a1, $a1, %lo(D_80241E30_A6CAD0)

View File

@ -13,15 +13,15 @@ glabel D_80242010_A7A4D0
glabel func_80240000_A784C0
/* A784C0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18
/* A784C4 80240004 3C04800E */ lui $a0, %hi(mapShapeName)
/* A784C8 80240008 24849230 */ addiu $a0, $a0, %lo(mapShapeName)
/* A784C4 80240004 3C04800E */ lui $a0, %hi(wMapShapeName)
/* A784C8 80240008 24849230 */ addiu $a0, $a0, %lo(wMapShapeName)
/* A784CC 8024000C 3C058024 */ lui $a1, %hi(D_80242000_A7A4C0)
/* A784D0 80240010 24A52000 */ addiu $a1, $a1, %lo(D_80242000_A7A4C0)
/* A784D4 80240014 AFBF0010 */ sw $ra, 0x10($sp)
/* A784D8 80240018 0C01953C */ jal sprintf
/* A784DC 8024001C 00000000 */ nop
/* A784E0 80240020 3C04800E */ lui $a0, %hi(mapHitName)
/* A784E4 80240024 248491E0 */ addiu $a0, $a0, %lo(mapHitName)
/* A784E0 80240020 3C04800E */ lui $a0, %hi(wMapHitName)
/* A784E4 80240024 248491E0 */ addiu $a0, $a0, %lo(wMapHitName)
/* A784E8 80240028 3C058024 */ lui $a1, %hi(D_80242010_A7A4D0)
/* A784EC 8024002C 0C01953C */ jal sprintf
/* A784F0 80240030 24A52010 */ addiu $a1, $a1, %lo(D_80242010_A7A4D0)

View File

@ -13,15 +13,15 @@ glabel D_80248F70_A83470
glabel func_80240000_A7A500
/* A7A500 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18
/* A7A504 80240004 3C04800E */ lui $a0, %hi(mapShapeName)
/* A7A508 80240008 24849230 */ addiu $a0, $a0, %lo(mapShapeName)
/* A7A504 80240004 3C04800E */ lui $a0, %hi(wMapShapeName)
/* A7A508 80240008 24849230 */ addiu $a0, $a0, %lo(wMapShapeName)
/* A7A50C 8024000C 3C058025 */ lui $a1, %hi(D_80248F60_A83460)
/* A7A510 80240010 24A58F60 */ addiu $a1, $a1, %lo(D_80248F60_A83460)
/* A7A514 80240014 AFBF0010 */ sw $ra, 0x10($sp)
/* A7A518 80240018 0C01953C */ jal sprintf
/* A7A51C 8024001C 00000000 */ nop
/* A7A520 80240020 3C04800E */ lui $a0, %hi(mapHitName)
/* A7A524 80240024 248491E0 */ addiu $a0, $a0, %lo(mapHitName)
/* A7A520 80240020 3C04800E */ lui $a0, %hi(wMapHitName)
/* A7A524 80240024 248491E0 */ addiu $a0, $a0, %lo(wMapHitName)
/* A7A528 80240028 3C058025 */ lui $a1, %hi(D_80248F70_A83470)
/* A7A52C 8024002C 0C01953C */ jal sprintf
/* A7A530 80240030 24A58F70 */ addiu $a1, $a1, %lo(D_80248F70_A83470)

View File

@ -13,15 +13,15 @@ glabel D_80243300_A86790
glabel func_80240000_A83490
/* A83490 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18
/* A83494 80240004 3C04800E */ lui $a0, %hi(mapShapeName)
/* A83498 80240008 24849230 */ addiu $a0, $a0, %lo(mapShapeName)
/* A83494 80240004 3C04800E */ lui $a0, %hi(wMapShapeName)
/* A83498 80240008 24849230 */ addiu $a0, $a0, %lo(wMapShapeName)
/* A8349C 8024000C 3C058024 */ lui $a1, %hi(D_802432F0_A86780)
/* A834A0 80240010 24A532F0 */ addiu $a1, $a1, %lo(D_802432F0_A86780)
/* A834A4 80240014 AFBF0010 */ sw $ra, 0x10($sp)
/* A834A8 80240018 0C01953C */ jal sprintf
/* A834AC 8024001C 00000000 */ nop
/* A834B0 80240020 3C04800E */ lui $a0, %hi(mapHitName)
/* A834B4 80240024 248491E0 */ addiu $a0, $a0, %lo(mapHitName)
/* A834B0 80240020 3C04800E */ lui $a0, %hi(wMapHitName)
/* A834B4 80240024 248491E0 */ addiu $a0, $a0, %lo(wMapHitName)
/* A834B8 80240028 3C058024 */ lui $a1, %hi(D_80243300_A86790)
/* A834BC 8024002C 0C01953C */ jal sprintf
/* A834C0 80240030 24A53300 */ addiu $a1, $a1, %lo(D_80243300_A86790)

View File

@ -13,8 +13,8 @@ glabel D_80241FC0_ABB270
glabel func_80240000_AB92B0
/* AB92B0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18
/* AB92B4 80240004 3C04800E */ lui $a0, %hi(mapShapeName)
/* AB92B8 80240008 24849230 */ addiu $a0, $a0, %lo(mapShapeName)
/* AB92B4 80240004 3C04800E */ lui $a0, %hi(wMapShapeName)
/* AB92B8 80240008 24849230 */ addiu $a0, $a0, %lo(wMapShapeName)
/* AB92BC 8024000C 3C058024 */ lui $a1, %hi(D_80241FB0_ABB260)
/* AB92C0 80240010 24A51FB0 */ addiu $a1, $a1, %lo(D_80241FB0_ABB260)
/* AB92C4 80240014 3C038007 */ lui $v1, %hi(gGameStatusPtr)
@ -23,8 +23,8 @@ glabel func_80240000_AB92B0
/* AB92D0 80240020 AFBF0010 */ sw $ra, 0x10($sp)
/* AB92D4 80240024 0C01953C */ jal sprintf
/* AB92D8 80240028 A0620084 */ sb $v0, 0x84($v1)
/* AB92DC 8024002C 3C04800E */ lui $a0, %hi(mapHitName)
/* AB92E0 80240030 248491E0 */ addiu $a0, $a0, %lo(mapHitName)
/* AB92DC 8024002C 3C04800E */ lui $a0, %hi(wMapHitName)
/* AB92E0 80240030 248491E0 */ addiu $a0, $a0, %lo(wMapHitName)
/* AB92E4 80240034 3C058024 */ lui $a1, %hi(D_80241FC0_ABB270)
/* AB92E8 80240038 0C01953C */ jal sprintf
/* AB92EC 8024003C 24A51FC0 */ addiu $a1, $a1, %lo(D_80241FC0_ABB270)

View File

@ -13,8 +13,8 @@ glabel D_80241440_D58870
glabel func_80240000_D57430
/* D57430 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18
/* D57434 80240004 3C04800E */ lui $a0, %hi(mapShapeName)
/* D57438 80240008 24849230 */ addiu $a0, $a0, %lo(mapShapeName)
/* D57434 80240004 3C04800E */ lui $a0, %hi(wMapShapeName)
/* D57438 80240008 24849230 */ addiu $a0, $a0, %lo(wMapShapeName)
/* D5743C 8024000C 3C058024 */ lui $a1, %hi(D_80241430_D58860)
/* D57440 80240010 24A51430 */ addiu $a1, $a1, %lo(D_80241430_D58860)
/* D57444 80240014 3C038007 */ lui $v1, %hi(gGameStatusPtr)
@ -23,8 +23,8 @@ glabel func_80240000_D57430
/* D57450 80240020 AFBF0010 */ sw $ra, 0x10($sp)
/* D57454 80240024 0C01953C */ jal sprintf
/* D57458 80240028 A0620084 */ sb $v0, 0x84($v1)
/* D5745C 8024002C 3C04800E */ lui $a0, %hi(mapHitName)
/* D57460 80240030 248491E0 */ addiu $a0, $a0, %lo(mapHitName)
/* D5745C 8024002C 3C04800E */ lui $a0, %hi(wMapHitName)
/* D57460 80240030 248491E0 */ addiu $a0, $a0, %lo(wMapHitName)
/* D57464 80240034 3C058024 */ lui $a1, %hi(D_80241440_D58870)
/* D57468 80240038 0C01953C */ jal sprintf
/* D5746C 8024003C 24A51440 */ addiu $a1, $a1, %lo(D_80241440_D58870)

View File

@ -13,8 +13,8 @@ glabel D_802418B0_D645C0
glabel func_80240000_D62D10
/* D62D10 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18
/* D62D14 80240004 3C04800E */ lui $a0, %hi(mapShapeName)
/* D62D18 80240008 24849230 */ addiu $a0, $a0, %lo(mapShapeName)
/* D62D14 80240004 3C04800E */ lui $a0, %hi(wMapShapeName)
/* D62D18 80240008 24849230 */ addiu $a0, $a0, %lo(wMapShapeName)
/* D62D1C 8024000C 3C058024 */ lui $a1, %hi(D_802418A0_D645B0)
/* D62D20 80240010 24A518A0 */ addiu $a1, $a1, %lo(D_802418A0_D645B0)
/* D62D24 80240014 3C038007 */ lui $v1, %hi(gGameStatusPtr)
@ -23,8 +23,8 @@ glabel func_80240000_D62D10
/* D62D30 80240020 AFBF0010 */ sw $ra, 0x10($sp)
/* D62D34 80240024 0C01953C */ jal sprintf
/* D62D38 80240028 A0620084 */ sb $v0, 0x84($v1)
/* D62D3C 8024002C 3C04800E */ lui $a0, %hi(mapHitName)
/* D62D40 80240030 248491E0 */ addiu $a0, $a0, %lo(mapHitName)
/* D62D3C 8024002C 3C04800E */ lui $a0, %hi(wMapHitName)
/* D62D40 80240030 248491E0 */ addiu $a0, $a0, %lo(wMapHitName)
/* D62D44 80240034 3C058024 */ lui $a1, %hi(D_802418B0_D645C0)
/* D62D48 80240038 0C01953C */ jal sprintf
/* D62D4C 8024003C 24A518B0 */ addiu $a1, $a1, %lo(D_802418B0_D645C0)

View File

@ -13,8 +13,8 @@ glabel D_80241890_D7B280
glabel func_80240000_D799F0
/* D799F0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18
/* D799F4 80240004 3C04800E */ lui $a0, %hi(mapShapeName)
/* D799F8 80240008 24849230 */ addiu $a0, $a0, %lo(mapShapeName)
/* D799F4 80240004 3C04800E */ lui $a0, %hi(wMapShapeName)
/* D799F8 80240008 24849230 */ addiu $a0, $a0, %lo(wMapShapeName)
/* D799FC 8024000C 3C058024 */ lui $a1, %hi(D_80241880_D7B270)
/* D79A00 80240010 24A51880 */ addiu $a1, $a1, %lo(D_80241880_D7B270)
/* D79A04 80240014 3C038007 */ lui $v1, %hi(gGameStatusPtr)
@ -23,8 +23,8 @@ glabel func_80240000_D799F0
/* D79A10 80240020 AFBF0010 */ sw $ra, 0x10($sp)
/* D79A14 80240024 0C01953C */ jal sprintf
/* D79A18 80240028 A0620084 */ sb $v0, 0x84($v1)
/* D79A1C 8024002C 3C04800E */ lui $a0, %hi(mapHitName)
/* D79A20 80240030 248491E0 */ addiu $a0, $a0, %lo(mapHitName)
/* D79A1C 8024002C 3C04800E */ lui $a0, %hi(wMapHitName)
/* D79A20 80240030 248491E0 */ addiu $a0, $a0, %lo(wMapHitName)
/* D79A24 80240034 3C058024 */ lui $a1, %hi(D_80241890_D7B280)
/* D79A28 80240038 0C01953C */ jal sprintf
/* D79A2C 8024003C 24A51890 */ addiu $a1, $a1, %lo(D_80241890_D7B280)

View File

@ -13,8 +13,8 @@ glabel D_80241890_D7CB30
glabel func_80240000_D7B2A0
/* D7B2A0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18
/* D7B2A4 80240004 3C04800E */ lui $a0, %hi(mapShapeName)
/* D7B2A8 80240008 24849230 */ addiu $a0, $a0, %lo(mapShapeName)
/* D7B2A4 80240004 3C04800E */ lui $a0, %hi(wMapShapeName)
/* D7B2A8 80240008 24849230 */ addiu $a0, $a0, %lo(wMapShapeName)
/* D7B2AC 8024000C 3C058024 */ lui $a1, %hi(D_80241880_D7CB20)
/* D7B2B0 80240010 24A51880 */ addiu $a1, $a1, %lo(D_80241880_D7CB20)
/* D7B2B4 80240014 3C038007 */ lui $v1, %hi(gGameStatusPtr)
@ -23,8 +23,8 @@ glabel func_80240000_D7B2A0
/* D7B2C0 80240020 AFBF0010 */ sw $ra, 0x10($sp)
/* D7B2C4 80240024 0C01953C */ jal sprintf
/* D7B2C8 80240028 A0620084 */ sb $v0, 0x84($v1)
/* D7B2CC 8024002C 3C04800E */ lui $a0, %hi(mapHitName)
/* D7B2D0 80240030 248491E0 */ addiu $a0, $a0, %lo(mapHitName)
/* D7B2CC 8024002C 3C04800E */ lui $a0, %hi(wMapHitName)
/* D7B2D0 80240030 248491E0 */ addiu $a0, $a0, %lo(wMapHitName)
/* D7B2D4 80240034 3C058024 */ lui $a1, %hi(D_80241890_D7CB30)
/* D7B2D8 80240038 0C01953C */ jal sprintf
/* D7B2DC 8024003C 24A51890 */ addiu $a1, $a1, %lo(D_80241890_D7CB30)

View File

@ -13,8 +13,8 @@ glabel D_80241820_D92F20
glabel func_80240000_D91700
/* D91700 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18
/* D91704 80240004 3C04800E */ lui $a0, %hi(mapShapeName)
/* D91708 80240008 24849230 */ addiu $a0, $a0, %lo(mapShapeName)
/* D91704 80240004 3C04800E */ lui $a0, %hi(wMapShapeName)
/* D91708 80240008 24849230 */ addiu $a0, $a0, %lo(wMapShapeName)
/* D9170C 8024000C 3C058024 */ lui $a1, %hi(D_80241810_D92F10)
/* D91710 80240010 24A51810 */ addiu $a1, $a1, %lo(D_80241810_D92F10)
/* D91714 80240014 3C038007 */ lui $v1, %hi(gGameStatusPtr)
@ -23,8 +23,8 @@ glabel func_80240000_D91700
/* D91720 80240020 AFBF0010 */ sw $ra, 0x10($sp)
/* D91724 80240024 0C01953C */ jal sprintf
/* D91728 80240028 A0620084 */ sb $v0, 0x84($v1)
/* D9172C 8024002C 3C04800E */ lui $a0, %hi(mapHitName)
/* D91730 80240030 248491E0 */ addiu $a0, $a0, %lo(mapHitName)
/* D9172C 8024002C 3C04800E */ lui $a0, %hi(wMapHitName)
/* D91730 80240030 248491E0 */ addiu $a0, $a0, %lo(wMapHitName)
/* D91734 80240034 3C058024 */ lui $a1, %hi(D_80241820_D92F20)
/* D91738 80240038 0C01953C */ jal sprintf
/* D9173C 8024003C 24A51820 */ addiu $a1, $a1, %lo(D_80241820_D92F20)

View File

@ -13,8 +13,8 @@ glabel D_802424F0_D95430
glabel func_80240000_D92F40
/* D92F40 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18
/* D92F44 80240004 3C04800E */ lui $a0, %hi(mapShapeName)
/* D92F48 80240008 24849230 */ addiu $a0, $a0, %lo(mapShapeName)
/* D92F44 80240004 3C04800E */ lui $a0, %hi(wMapShapeName)
/* D92F48 80240008 24849230 */ addiu $a0, $a0, %lo(wMapShapeName)
/* D92F4C 8024000C 3C058024 */ lui $a1, %hi(D_802424E0_D95420)
/* D92F50 80240010 24A524E0 */ addiu $a1, $a1, %lo(D_802424E0_D95420)
/* D92F54 80240014 3C038007 */ lui $v1, %hi(gGameStatusPtr)
@ -23,8 +23,8 @@ glabel func_80240000_D92F40
/* D92F60 80240020 AFBF0010 */ sw $ra, 0x10($sp)
/* D92F64 80240024 0C01953C */ jal sprintf
/* D92F68 80240028 A0620084 */ sb $v0, 0x84($v1)
/* D92F6C 8024002C 3C04800E */ lui $a0, %hi(mapHitName)
/* D92F70 80240030 248491E0 */ addiu $a0, $a0, %lo(mapHitName)
/* D92F6C 8024002C 3C04800E */ lui $a0, %hi(wMapHitName)
/* D92F70 80240030 248491E0 */ addiu $a0, $a0, %lo(wMapHitName)
/* D92F74 80240034 3C058024 */ lui $a1, %hi(D_802424F0_D95430)
/* D92F78 80240038 0C01953C */ jal sprintf
/* D92F7C 8024003C 24A524F0 */ addiu $a1, $a1, %lo(D_802424F0_D95430)

View File

@ -13,8 +13,8 @@ glabel D_80242230_D97820
glabel func_80240000_D955F0
/* D955F0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18
/* D955F4 80240004 3C04800E */ lui $a0, %hi(mapShapeName)
/* D955F8 80240008 24849230 */ addiu $a0, $a0, %lo(mapShapeName)
/* D955F4 80240004 3C04800E */ lui $a0, %hi(wMapShapeName)
/* D955F8 80240008 24849230 */ addiu $a0, $a0, %lo(wMapShapeName)
/* D955FC 8024000C 3C058024 */ lui $a1, %hi(D_80242220_D97810)
/* D95600 80240010 24A52220 */ addiu $a1, $a1, %lo(D_80242220_D97810)
/* D95604 80240014 3C038007 */ lui $v1, %hi(gGameStatusPtr)
@ -23,8 +23,8 @@ glabel func_80240000_D955F0
/* D95610 80240020 AFBF0010 */ sw $ra, 0x10($sp)
/* D95614 80240024 0C01953C */ jal sprintf
/* D95618 80240028 A0620084 */ sb $v0, 0x84($v1)
/* D9561C 8024002C 3C04800E */ lui $a0, %hi(mapHitName)
/* D95620 80240030 248491E0 */ addiu $a0, $a0, %lo(mapHitName)
/* D9561C 8024002C 3C04800E */ lui $a0, %hi(wMapHitName)
/* D95620 80240030 248491E0 */ addiu $a0, $a0, %lo(wMapHitName)
/* D95624 80240034 3C058024 */ lui $a1, %hi(D_80242230_D97820)
/* D95628 80240038 0C01953C */ jal sprintf
/* D9562C 8024003C 24A52230 */ addiu $a1, $a1, %lo(D_80242230_D97820)

View File

@ -13,8 +13,8 @@ glabel D_802420B0_D99940
glabel func_80240000_D97890
/* D97890 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18
/* D97894 80240004 3C04800E */ lui $a0, %hi(mapShapeName)
/* D97898 80240008 24849230 */ addiu $a0, $a0, %lo(mapShapeName)
/* D97894 80240004 3C04800E */ lui $a0, %hi(wMapShapeName)
/* D97898 80240008 24849230 */ addiu $a0, $a0, %lo(wMapShapeName)
/* D9789C 8024000C 3C058024 */ lui $a1, %hi(D_802420A0_D99930)
/* D978A0 80240010 24A520A0 */ addiu $a1, $a1, %lo(D_802420A0_D99930)
/* D978A4 80240014 3C038007 */ lui $v1, %hi(gGameStatusPtr)
@ -23,8 +23,8 @@ glabel func_80240000_D97890
/* D978B0 80240020 AFBF0010 */ sw $ra, 0x10($sp)
/* D978B4 80240024 0C01953C */ jal sprintf
/* D978B8 80240028 A0620084 */ sb $v0, 0x84($v1)
/* D978BC 8024002C 3C04800E */ lui $a0, %hi(mapHitName)
/* D978C0 80240030 248491E0 */ addiu $a0, $a0, %lo(mapHitName)
/* D978BC 8024002C 3C04800E */ lui $a0, %hi(wMapHitName)
/* D978C0 80240030 248491E0 */ addiu $a0, $a0, %lo(wMapHitName)
/* D978C4 80240034 3C058024 */ lui $a1, %hi(D_802420B0_D99940)
/* D978C8 80240038 0C01953C */ jal sprintf
/* D978CC 8024003C 24A520B0 */ addiu $a1, $a1, %lo(D_802420B0_D99940)

View File

@ -13,15 +13,15 @@ glabel D_80242480_8A7F00
glabel func_80240000_8A5A80
/* 8A5A80 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 8A5A84 80240004 3C04800E */ lui $a0, %hi(mapShapeName)
/* 8A5A88 80240008 24849230 */ addiu $a0, $a0, %lo(mapShapeName)
/* 8A5A84 80240004 3C04800E */ lui $a0, %hi(wMapShapeName)
/* 8A5A88 80240008 24849230 */ addiu $a0, $a0, %lo(wMapShapeName)
/* 8A5A8C 8024000C 3C058024 */ lui $a1, %hi(D_80242470_8A7EF0)
/* 8A5A90 80240010 24A52470 */ addiu $a1, $a1, %lo(D_80242470_8A7EF0)
/* 8A5A94 80240014 AFBF0010 */ sw $ra, 0x10($sp)
/* 8A5A98 80240018 0C01953C */ jal sprintf
/* 8A5A9C 8024001C 00000000 */ nop
/* 8A5AA0 80240020 3C04800E */ lui $a0, %hi(mapHitName)
/* 8A5AA4 80240024 248491E0 */ addiu $a0, $a0, %lo(mapHitName)
/* 8A5AA0 80240020 3C04800E */ lui $a0, %hi(wMapHitName)
/* 8A5AA4 80240024 248491E0 */ addiu $a0, $a0, %lo(wMapHitName)
/* 8A5AA8 80240028 3C058024 */ lui $a1, %hi(D_80242480_8A7F00)
/* 8A5AAC 8024002C 0C01953C */ jal sprintf
/* 8A5AB0 80240030 24A52480 */ addiu $a1, $a1, %lo(D_80242480_8A7F00)

View File

@ -1,15 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BD720_318470
/* 318470 802BD720 3C028011 */ lui $v0, %hi(gPartnerActionStatus)
/* 318474 802BD724 8042EBB0 */ lb $v0, %lo(gPartnerActionStatus)($v0)
/* 318478 802BD728 10400005 */ beqz $v0, .L802BD740
/* 31847C 802BD72C 24020001 */ addiu $v0, $zero, 1
/* 318480 802BD730 3C01802C */ lui $at, %hi(D_802BE934)
/* 318484 802BD734 AC22E934 */ sw $v0, %lo(D_802BE934)($at)
/* 318488 802BD738 03E00008 */ jr $ra
/* 31848C 802BD73C 0000102D */ daddu $v0, $zero, $zero
.L802BD740:
/* 318490 802BD740 03E00008 */ jr $ra
/* 318494 802BD744 00000000 */ nop

View File

@ -1,4 +1,4 @@
D_8009A5B0 = 0x8009A5B0;
nuScPreNMIFlag = 0x8009A5B0;
D_8009A5B8 = 0x8009A5B8;
D_8009A5C0 = 0x8009A5C0;
D_8009A5C8 = 0x8009A5C8;
@ -75,7 +75,7 @@ D_800A08E0 = 0x800A08E0;
D_800A08E4 = 0x800A08E4;
D_800A08E8 = 0x800A08E8;
D_800A08EC = 0x800A08EC;
D_800A08F0 = 0x800A08F0;
gameMode = 0x800A08F0;
D_800A0900 = 0x800A0900;
D_800A0904 = 0x800A0904;
D_800A0908 = 0x800A0908;
@ -155,7 +155,7 @@ D_800A3FE8 = 0x800A3FE8;
D_800A3FEC = 0x800A3FEC;
D_800A3FEE = 0x800A3FEE;
D_800A3FF0 = 0x800A3FF0;
D_800A4000 = 0x800A4000;
gEffectGraphicsData = 0x800A4000;
D_800A41C0 = 0x800A41C0;
gMap = 0x800A41E0;
gMapConfig = 0x800A41E8;
@ -231,7 +231,7 @@ D_800B0C7C = 0x800B0C7C;
D_800B0C80 = 0x800B0C80;
D_800B0CE4 = 0x800B0CE4;
D_800B0CE8 = 0x800B0CE8;
mapTexName = 0x800B0CF0;
wMapTexName = 0x800B0CF0;
D_800B0D08 = 0x800B0D08;
nuContWaitMesgQ = 0x800B0EB8;
D_800B0ED0 = 0x800B0ED0;
@ -261,7 +261,7 @@ D_800B4311 = 0x800B4311;
D_800B4314 = 0x800B4314;
D_800B4318 = 0x800B4318;
gOsPiMessageQueue = 0x800B4380;
D_800B4398 = 0x800B4398;
gEffectInstances = 0x800B4398;
D_800B4514 = 0x800B4514;
CartRomHandle = 0x800B4518;
D_800B451C = 0x800B451C;
@ -279,9 +279,9 @@ D_800B91D0 = 0x800B91D0;
D_800D91D0 = 0x800D91D0;
D_800D91D4 = 0x800D91D4;
D_800D91DC = 0x800D91DC;
mapHitName = 0x800D91E0;
wMapHitName = 0x800D91E0;
nuSiMgrMesgQ = 0x800D91F8;
mapShapeName = 0x800D9230;
wMapShapeName = 0x800D9230;
D_800D9248 = 0x800D9248;
nuGfxTask = 0x800D9278;
D_800D95E8 = 0x800D95E8;

View File

@ -87,6 +87,7 @@ segments:
- [0x31650, c, 31650]
- [0x33450, c]
- [0x341D0, c, 341d0]
- [0x35080, c, effects]
- [0x35AC0, c, world/world]
- [0x362A0, c, 362a0_len_2f70]
- [0x39210, c, 39210_len_aa0]
@ -294,6 +295,9 @@ segments:
- [0x541B0, .data, 30450]
- [0x54250, .data, 31650]
- [0x542E0, data]
- [0x5A3E0, .data, 341d0]
- [0x5A610, .data, effects]
- [0x5B320, data]
- [0x6B360, .data, world/world]
- [0x6EAC0, data] # has scripts
- [0x6F0E0, .data, os/nusys/nuContRmbMgr]
@ -2199,357 +2203,362 @@ segments:
- [0x325AD0, c]
- [0x325EE0, pm_effect_shims, effect_shims]
- [0x326160, .data, 325AD0]
- [0x326410, bin]
- type: code
- [0x326410, bin] # effect 1 gfx
- type: code # effect 1
start: 0x3278f0
vram: 0xE0002000
subsegments:
- [0x3278f0, c]
- [0x328050, data]
- type: code
- type: code # effect 6
start: 0x328110
vram: 0xE000C000
subsegments:
- [0x328110, c]
- [0x328d20, data]
- [0x328EA0, bin]
- type: code
- [0x328EA0, bin] # effect 6/7 gfx
- type: code # effect 7
start: 0x32C110
vram: 0xE000E000
subsegments:
- [0x32C110, c]
- [0x32c770, data]
- type: code
- type: code # effect 8
start: 0x32C7A0
vram: 0xE0010000
subsegments:
- [0x32C7A0, c]
- [0x32CEB0, data]
- type: code
- [0x32CEC0, bin] # effect 8/9 gfx
- type: code # effect 9
start: 0x32DD10
vram: 0xE0012000
subsegments:
- [0x32DD10, c]
- type: code
- type: code # effect 10
start: 0x32E490
vram: 0xE0014000
subsegments:
- [0x32E490, c]
- [0x32EC10, data]
- type: code
- [0x32EC50, bin] # effect 10/11 gfx
- type: code # effect 11
start: 0x32EE30
vram: 0xE0016000
subsegments:
- [0x32EE30, c]
- [0x32F550, data]
- type: code
- type: code # effect 12
start: 0x32F580
vram: 0xE0018000
subsegments:
- [0x32F580, c]
- [0x32fb50, bin] # data/rodata section for above.
- type: code
- [0x32FB50, bin] # effect 12 gfx
- type: code # effect 13
start: 0x32FE30
vram: 0xE001A000
subsegments:
- [0x32FE30, c]
- [0x330440, data]
- type: code
- [0x330460, bin] # effect 13 gfx
- type: code # effect 14
start: 0x330910
vram: 0xE001C000
subsegments:
- [0x330910, c]
- [0x330ef0, bin] # data/rodata section for above.
- type: code
- [0x330EF0, data]
- [0x330F00, bin] # effect 14 gfx
- type: code # effect 15
start: 0x331940
vram: 0xE001E000
subsegments:
- [0x331940, c]
- [0x332690, data]
- [0x3326A0, bin]
- type: code
start: 0x333ec0
- [0x3326A0, bin] # effect 15 gfx
- type: code # effect 16
start: 0x333EC0
vram: 0xE0020000
subsegments:
- [0x333ec0, c]
- [0x334b50, data]
- [0x334C70, bin]
- type: code
- [0x334C70, bin] # effect 16 gfx
- type: code # effect 17
start: 0x337240
vram: 0xE0022000
subsegments:
- [0x337240, c]
- [0x337f10, data]
- [0x337FC0, bin]
- type: code
- [0x337FC0, bin] # effect 17 gfx
- type: code # effect 18
start: 0x339250
vram: 0xE0024000
subsegments:
- [0x339250, c]
- [0x339f10, data]
- [0x339F60, bin]
- type: code
- [0x339F60, bin] # effect 18 gfx
- type: code # effect 19
start: 0x33B180
vram: 0xE0026000
subsegments:
- [0x33B180, c]
- [0x33bb70, data]
- [0x33BBD0, bin]
- type: code
- [0x33BBD0, bin] # effect 19 gfx
- type: code # effect 20
start: 0x33CDF0
vram: 0xE0028000
subsegments:
- [0x33CDF0, c]
- [0x33d5d0, data]
- [0x33D610, bin]
- type: code
- [0x33D610, bin] # effect 20 gfx
- type: code # effect 21
start: 0x33E8C0
vram: 0xE002A000
subsegments:
- [0x33E8C0, c]
- [0x33efe0, data]
- type: code
- [0x33F000, bin] # effect 21 gfx
- type: code # effect 22
start: 0x33FE80
vram: 0xE002C000
subsegments:
- [0x33FE80, c]
- [0x3407c0, data]
- [0x340880, bin]
- type: code
- [0x340880, bin] # effect 22 gfx
- type: code # effect 23
start: 0x3419E0
vram: 0xE002E000
subsegments:
- [0x3419E0, c]
- [0x342120, data]
- type: code
- type: code # effect 24
start: 0x342140
vram: 0xE0030000
subsegments:
- [0x342140, c]
- [0x342fd0, data]
- [0x343040, bin]
- type: code
- type: code # effect 25
start: 0x343680
vram: 0xE0032000
subsegments:
- [0x343680, c]
- [0x343f30, data]
- [0x343F70, bin]
- type: code
- type: code # effect 26
start: 0x344a10
vram: 0xE0034000
subsegments:
- [0x344a10, c]
- [0x345190, data]
- [0x3451E0, bin]
- type: code
- type: code # effect 27
start: 0x3454E0
vram: 0xE0036000
subsegments:
- [0x3454E0, c]
- [0x345b10, data]
- [0x345B40, bin]
- type: code
- type: code # effect 28
start: 0x34DD20
vram: 0xE0038000
subsegments:
- [0x34DD20, c]
- [0x34E710, data]
- type: code
- type: code # effect 29
start: 0x34EC80
vram: 0xE003A000
subsegments:
- [0x34EC80, c]
- [0x34f480, data]
- type: code
- type: code # effect 30
start: 0x34F4C0
vram: 0xE003C000
subsegments:
- [0x34F4C0, c]
- [0x350160, data]
- [0x350220, bin]
- type: code
- type: code # effect 31
start: 0x352440
vram: 0xE003E000
subsegments:
- [0x352440, c]
- [0x352cb0, data]
- [0x352CE0, bin]
- type: code
- type: code # effect 32
start: 0x353300
vram: 0xE0040000
subsegments:
- [0x353300, c]
- [0x353B40, data]
- type: code
- type: code # effect 33
start: 0x3547A0
vram: 0xE0042000
subsegments:
- [0x3547A0, c]
- [0x354F20, data]
- type: code
- type: code # effect 34
start: 0x354F60
vram: 0xE0044000
subsegments:
- [0x354F60, c]
- [0x355d10, data]
- type: code
- type: code # effect 35
start: 0x355EE0
vram: 0xE0046000
subsegments:
- [0x355EE0, c]
- [0x3564e0, data]
- [0x356530, bin]
- type: code
- type: code # effect 36
start: 0x356980
vram: 0xE0048000
subsegments:
- [0x356980, c]
- [0x357380, data]
- [0x3573A0, bin]
- type: code
- type: code # effect 37
start: 0x3584C0
vram: 0xE004A000
subsegments:
- [0x3584C0, c]
- [0x359320, data]
- [0x3593B0, bin]
- type: code
- type: code # effect 38
start: 0x359F20
vram: 0xE004C000
subsegments:
- [0x359F20, c]
- [0x35A580, data]
- type: code
- type: code # effect 39
start: 0x35B9D0
vram: 0xE004E000
subsegments:
- [0x35B9D0, c]
- [0x35bfb0, data]
- type: code
- type: code # effect 40
start: 0x35BFD0
vram: 0xE0050000
subsegments:
- [0x35BFD0, c]
- [0x35c530, data]
- [0x35C550, bin]
- type: code
- type: code # effect 41
start: 0x35CA80
vram: 0xE0052000
subsegments:
- [0x35CA80, c]
- [0x35D460, data]
- type: code
- type: code # effect 43
start: 0x35DA00
vram: 0xE0056000
subsegments:
- [0x35DA00, c]
- [0x35E8A0, data]
- type: code
- type: code # effect 44
start: 0x35E920
vram: 0xE0058000
subsegments:
- [0x35E920, c]
- [0x35F0A0, data]
- type: code
- type: code # effect 45
start: 0x3602C0
vram: 0xE005A000
subsegments:
- [0x3602C0, c]
- [0x360a10, data]
- [0x360A30, bin]
- type: code
- type: code # effect 46
start: 0x360F40
vram: 0xE005C000
subsegments:
- [0x360F40, c]
- [0x361640, data]
- type: code
- type: code # effect 47
start: 0x3625C0
vram: 0xE005E000
subsegments:
- [0x3625C0, c]
- [0x362C30, data]
- type: code
- type: code # effect 48
start: 0x363160
vram: 0xE0060000
subsegments:
- [0x363160, c]
- [0x363890, data]
- type: code
- type: code # effect 49
start: 0x364300
vram: 0xE0062000
subsegments:
- [0x364300, c]
- [0x364BC0, data]
- type: code
- type: code # effect 50
start: 0x364F10
vram: 0xE0064000
subsegments:
- [0x364F10, c]
- [0x365970, data]
- type: code
- type: code # effect 51
start: 0x366030
vram: 0xE0066000
subsegments:
- [0x366030, c]
- [0x366c80, data]
- [0x366D60, bin]
- type: code
- type: code # effect 52
start: 0x36A8D0
vram: 0xE0068000
subsegments:
- [0x36A8D0, c]
- [0x36ae80, data]
- [0x36AEE0, bin]
- type: code
- type: code # effect 53
start: 0x36D020
vram: 0xE006A000
subsegments:
- [0x36D020, c]
- [0x36de10, data]
- [0x36DF90, bin]
- type: code
- type: code # effect 54
start: 0x36E1D0
vram: 0xE006C000
subsegments:
- [0x36E1D0, c]
- [0x36ed30, data]
- [0x36ED60, bin]
- type: code
- type: code # effect 55
start: 0x372790
vram: 0xE006E000
subsegments:
- [0x372790, c]
- [0x373390, data]
- [0x3733E0, bin]
- type: code
- type: code # effect 56
start: 0x3740B0
vram: 0xE0070000
subsegments:
- [0x3740B0, c]
- [0x374d80, data]
- type: code
- type: code # effect 57
start: 0x374E50
vram: 0xE0072000
subsegments:
- [0x374E50, c]
- [0x375500, data]
- [0x375510, bin]
- type: code
- type: code # effect 58
start: 0x376460
vram: 0xE0074000
subsegments:
- [0x376460, c]
- [0x376fc0, data]
- type: code
- type: code # effect 59
start: 0x377070
vram: 0xE0076000
subsegments:
- [0x377070, c]
- [0x377f00, data]
- [0x377F80, bin]
- type: code
- type: code # effect 60
start: 0x37A3F0
vram: 0xE0078000
subsegments:
@ -3294,6 +3303,7 @@ segments:
subsegments:
- [0x42C6F0, c, tidal_wave]
- [0x42CEB0, data]
- [0x42CED0]
- type: code
start: 0x42CF10
vram: 0x802A9000

View File

@ -1310,6 +1310,30 @@ gRandSeed = 0x80074410; // rom:0x4F810
D_80074414 = 0x80074414; // type:data rom:0x4F814
D_80074580 = 0x80074580; // type:data rom:0x4F980
magicSaveString = 0x800745D0; // type:data rom:0x4F9D0
sprite_unk_checkers_png = 0x800745E0; // type:data rom:0x4F9E0
D_800746E0 = 0x800746E0; // type:data rom:0x4FAE0
sprite_curtains_png = 0x80074730; // type:data rom:0x4FB30
D_80075730 = 0x80075730; // type:data rom:0x50B30
sprite_checkers_png = 0x80075780; // type:data rom:0x50B80
sprite_checkers_pal = 0x80075880; // type:data rom:0x50C80
D_800758A0 = 0x800758A0; // type:data rom:0x50CA0
vtx_curtains1 = 0x80075920; // type:data rom:0x50D20
vtx_curtains2 = 0x80075980; // type:data rom:0x50D80
vtx_curtains3 = 0x800759E0; // type:data rom:0x50DE0
vtx_curtains4 = 0x80075B70; // type:data rom:0x50F70
vtx_curtains5 = 0x80075BB0; // type:data rom:0x50FB0
vtx_curtains6 = 0x80075BF0; // type:data rom:0x50FF0
vtx_curtains7 = 0x80075DE0; // type:data rom:0x511E0
D_80075E60 = 0x80075E60; // type:data rom:0x51260
D_80075EA0 = 0x80075EA0; // type:data rom:0x512A0
D_80075F20 = 0x80075F20; // type:data rom:0x51320
D_80075F68 = 0x80075F68; // type:data rom:0x51368
D_80075FF8 = 0x80075FF8; // type:data rom:0x513F8
D_80076038 = 0x80076038; // type:data rom:0x51438
D_80076078 = 0x80076078; // type:data rom:0x51478
D_800760B0 = 0x800760B0; // type:data rom:0x514B0
D_800760C0 = 0x800760C0; // type:data rom:0x514C0
ui_no_controller_png = 0x80076140; // type:data rom:0x51540
D_80077140 = 0x80077140; // type:data rom:0x52540
D_800771E8 = 0x800771E8; // type:data rom:0x525E8
D_80077210 = 0x80077210; // type:data rom:0x52610
@ -1392,6 +1416,18 @@ D_80078E58 = 0x80078E58; // type:data rom:0x54258
D_80078E5A = 0x80078E5A; // type:data rom:0x5425A
D_80078E5C = 0x80078E5C; // type:data rom:0x5425C
D_80078E60 = 0x80078E60; // type:data rom:0x54260
D_8007EFE0 = 0x8007EFE0; // type:data rom:0x5A3E0
D_8007F048 = 0x8007F048; // type:data rom:0x5A448
D_8007F158 = 0x8007F158; // type:data rom:0x5A558
D_8007F180 = 0x8007F180; // type:data rom:0x5A580
D_8007F1A8 = 0x8007F1A8; // type:data rom:0x5A5A8
D_8007F1D0 = 0x8007F1D0; // type:data rom:0x5A5D0
D_8007F1F8 = 0x8007F1F8; // type:data rom:0x5A5F8
D_8007F1FC = 0x8007F1FC; // type:data rom:0x5A5FC
D_8007F200 = 0x8007F200; // type:data rom:0x5A600
D_8007F204 = 0x8007F204; // type:data rom:0x5A604
gEffectTable = 0x8007F210; // type:data rom:0x5A610 size:0xCA8
D_8007FEB8 = 0x8007FEB8; // type:data rom:0x5B2B8
D_8008FF60 = 0x8008FF60; // type:data rom:0x6B360
D_8008FF70 = 0x8008FF70; // type:data rom:0x6B370
D_8008FFB8 = 0x8008FFB8; // type:data rom:0x6B3B8
@ -5680,18 +5716,18 @@ func_802A9000_425B50 = 0x802A9000; // type:func rom:0x425B50
func_802A916C_425CBC = 0x802A916C; // type:func rom:0x425CBC
func_802A9228_425D78 = 0x802A9228; // type:func rom:0x425D78
func_802A94D8_426028 = 0x802A94D8; // type:func rom:0x426028
func_802A959C_4260EC = 0x802A959C; // type:func rom:0x4260EC
action_command_07_FreeHudElements = 0x802A959C; // type:func rom:0x4260EC
func_802A9000_426170 = 0x802A9000; // type:func rom:0x426170
func_802A9170_4262E0 = 0x802A9170; // type:func rom:0x4262E0
func_802A928C_4263FC = 0x802A928C; // type:func rom:0x4263FC
func_802A96DC_42684C = 0x802A96DC; // type:func rom:0x42684C
func_802A97BC_42692C = 0x802A97BC; // type:func rom:0x42692C
action_command_dizzy_shell_FreeHudElements = 0x802A97BC; // type:func rom:0x42692C
D_802A9802_426972 = 0x802A9802; // type:data rom:0x426972
func_802A9000_4269D0 = 0x802A9000; // type:func rom:0x4269D0
func_802A9178_426B48 = 0x802A9178; // type:func rom:0x426B48
func_802A9294_426C64 = 0x802A9294; // type:func rom:0x426C64
func_802A9834_427204 = 0x802A9834; // type:func rom:0x427204
func_802A9914_4272E4 = 0x802A9914; // type:func rom:0x4272E4
action_command_fire_shell_FreeHudElements = 0x802A9914; // type:func rom:0x4272E4
D_802A9952_427322 = 0x802A9952; // type:data rom:0x427322
D_802A9964_427334 = 0x802A9964; // type:data rom:0x427334
D_802A9974_427344 = 0x802A9974; // type:data rom:0x427344
@ -5700,12 +5736,12 @@ func_802A9000_4273B0 = 0x802A9000; // type:func rom:0x4273B0
func_802A9170_427520 = 0x802A9170; // type:func rom:0x427520
func_802A928C_42763C = 0x802A928C; // type:func rom:0x42763C
func_802A955C_42790C = 0x802A955C; // type:func rom:0x42790C
func_802A963C_4279EC = 0x802A963C; // type:func rom:0x4279EC
action_command_0A_FreeHudElements = 0x802A963C; // type:func rom:0x4279EC
func_802A9000_427A70 = 0x802A9000; // type:func rom:0x427A70
func_802A9170_427BE0 = 0x802A9170; // type:func rom:0x427BE0
func_802A928C_427CFC = 0x802A928C; // type:func rom:0x427CFC
func_802A96EC_42815C = 0x802A96EC; // type:func rom:0x42815C
func_802A97CC_42823C = 0x802A97CC; // type:func rom:0x42823C
action_command_bomb_FreeHudElements = 0x802A97CC; // type:func rom:0x42823C
D_802A9812_428282 = 0x802A9812; // type:data rom:0x428282
func_802A9000_4282E0 = 0x802A9000; // type:func rom:0x4282E0
func_802A91B8_428498 = 0x802A91B8; // type:func rom:0x428498
@ -5716,13 +5752,13 @@ func_802A9000_428A70 = 0x802A9000; // type:func rom:0x428A70
func_802A9184_428BF4 = 0x802A9184; // type:func rom:0x428BF4
func_802A9278_428CE8 = 0x802A9278; // type:func rom:0x428CE8
func_802A96EC_42915C = 0x802A96EC; // type:func rom:0x42915C
func_802A9810_429280 = 0x802A9810; // type:func rom:0x429280
action_command_air_lift_FreeHudElements = 0x802A9810; // type:func rom:0x429280
D_802A9852_4292C2 = 0x802A9852; // type:data rom:0x4292C2
func_802A9000_429320 = 0x802A9000; // type:func rom:0x429320
func_802A9178_429498 = 0x802A9178; // type:func rom:0x429498
func_802A9294_4295B4 = 0x802A9294; // type:func rom:0x4295B4
func_802A984C_429B6C = 0x802A984C; // type:func rom:0x429B6C
func_802A992C_429C4C = 0x802A992C; // type:func rom:0x429C4C
action_command_air_raid_FreeHudElements = 0x802A992C; // type:func rom:0x429C4C
D_802A9972_429C92 = 0x802A9972; // type:data rom:0x429C92
D_802A9984_429CA4 = 0x802A9984; // type:data rom:0x429CA4
D_802A9994_429CB4 = 0x802A9994; // type:data rom:0x429CB4
@ -5767,7 +5803,7 @@ func_802A9000_42E3A0 = 0x802A9000; // type:func rom:0x42E3A0
func_802A917C_42E51C = 0x802A917C; // type:func rom:0x42E51C
func_802A9298_42E638 = 0x802A9298; // type:func rom:0x42E638
func_802A98B0_42EC50 = 0x802A98B0; // type:func rom:0x42EC50
func_802A9990_42ED30 = 0x802A9990; // type:func rom:0x42ED30
action_command_smack_FreeHudElements = 0x802A9990; // type:func rom:0x42ED30
D_802A99D2_42ED72 = 0x802A99D2; // type:data rom:0x42ED72
D_802A99E4_42ED84 = 0x802A99E4; // type:data rom:0x42ED84
D_802A99F4_42ED94 = 0x802A99F4; // type:data rom:0x42ED94
@ -5777,7 +5813,7 @@ func_802A9000_42EE20 = 0x802A9000; // type:func rom:0x42EE20
func_802A916C_42EF8C = 0x802A916C; // type:func rom:0x42EF8C
func_802A9254_42F074 = 0x802A9254; // type:func rom:0x42F074
func_802A973C_42F55C = 0x802A973C; // type:func rom:0x42F55C
func_802A981C_42F63C = 0x802A981C; // type:func rom:0x42F63C
action_command_spiny_surge_FreeHudElements = 0x802A981C; // type:func rom:0x42F63C
D_802A9862_42F682 = 0x802A9862; // type:data rom:0x42F682
func_802A9000_42F6E0 = 0x802A9000; // type:func rom:0x42F6E0
func_802A91A0_42F880 = 0x802A91A0; // type:func rom:0x42F880
@ -5789,7 +5825,7 @@ func_802A9000_430020 = 0x802A9000; // type:func rom:0x430020
func_802A917C_43019C = 0x802A917C; // type:func rom:0x43019C
func_802A9298_4302B8 = 0x802A9298; // type:func rom:0x4302B8
func_802A97FC_43081C = 0x802A97FC; // type:func rom:0x43081C
func_802A98DC_4308FC = 0x802A98DC; // type:func rom:0x4308FC
action_command_spook_FreeHudElements = 0x802A98DC; // type:func rom:0x4308FC
D_802A9922_430942 = 0x802A9922; // type:data rom:0x430942
b_area_kmr_part_1_goomba_angle_calculate = 0x80218000; // type:func rom:0x4309A0
b_area_kmr_part_1_goomba_AngleCalculate = 0x8021818C; // type:func rom:0x430B2C
@ -5990,7 +6026,7 @@ D_80232B30_47EFC0 = 0x80232B30; // type:data rom:0x47EFC0
D_80232B38_47EFC8 = 0x80232B38; // type:data rom:0x47EFC8
func_80218000_47F0B0 = 0x80218000; // type:func rom:0x47F0B0
func_80218020_47F0D0 = 0x80218020; // type:func rom:0x47F0D0
func_80218150_47F200 = 0x80218150; // type:func rom:0x47F200
b_area_hos_ShrinkActor = 0x80218150; // type:func rom:0x47F200
b_area_hos_GetSelectedMoveID = 0x802182A8; // type:func rom:0x47F358
b_area_hos_UnkBattleFunc1 = 0x802182D4; // type:func rom:0x47F384
b_area_hos_StartRumbleWithParams = 0x802183A0; // type:func rom:0x47F450
@ -6202,11 +6238,11 @@ dup3_b_area_jan_UnkBattleFunc1 = 0x802180D0; // type:func rom:0x5739F0
b_area_jan_UnkBattleFunc2 = 0x802181A0; // type:func rom:0x573AC0
b_area_jan_UnkBattleFunc2_2 = 0x80218254; // type:func rom:0x573B74
b_area_jan_UnkBattleFunc1 = 0x80218310; // type:func rom:0x573C30
MediGuySpriteRotationFunc = 0x802183DC; // type:func rom:0x573CFC
b_area_jan_MediGuySpriteRotationFunc = 0x802183DC; // type:func rom:0x573CFC
dup_b_area_jan_UnkBattleFunc1 = 0x802184F0; // type:func rom:0x573E10
dup_b_area_jan2_UnkBattleFunc1 = 0x80218000; // type:func rom:0x584940
func_802180CC_584A0C = 0x802180CC; // type:func rom:0x584A0C
func_80218250_584B90 = 0x80218250; // type:func rom:0x584B90
b_area_jan2_ShrinkActor = 0x80218250; // type:func rom:0x584B90
b_area_jan2_GetSelectedMoveID = 0x802183A8; // type:func rom:0x584CE8
b_area_jan2_UnkBattleFunc1 = 0x802183D4; // type:func rom:0x584D14
b_area_jan2_StartRumbleWithParams = 0x802184A0; // type:func rom:0x584DE0
@ -6219,12 +6255,12 @@ func_802181FC_58C4EC = 0x802181FC; // type:func rom:0x58C4EC
dup_b_area_kzn_UnkBattleFunc1 = 0x80218380; // type:func rom:0x58C670
dup2_b_area_kzn_UnkBattleFunc1 = 0x80218450; // type:func rom:0x58C740
func_8021851C_58C80C = 0x8021851C; // type:func rom:0x58C80C
func_80218630_58C920 = 0x80218630; // type:func rom:0x58C920
b_area_kzn_ShrinkActor = 0x80218630; // type:func rom:0x58C920
b_area_kzn_GetSelectedMoveID = 0x80218788; // type:func rom:0x58CA78
dup3_b_area_kzn_UnkBattleFunc1 = 0x802187B4; // type:func rom:0x58CAA4
b_area_kzn_StartRumbleWithParams = 0x80218880; // type:func rom:0x58CB70
func_802188D8_58CBC8 = 0x802188D8; // type:func rom:0x58CBC8
func_802189A0_58CC90 = 0x802189A0; // type:func rom:0x58CC90
dup_b_area_kzn_ShrinkActor = 0x802189A0; // type:func rom:0x58CC90
dup_b_area_kzn_GetSelectedMoveID = 0x80218AF8; // type:func rom:0x58CDE8
dup4_b_area_kzn_UnkBattleFunc1 = 0x80218B24; // type:func rom:0x58CE14
dup_b_area_kzn_StartRumbleWithParams = 0x80218BF0; // type:func rom:0x58CEE0
@ -6257,25 +6293,25 @@ b_area_flo_UnkBattleFunc1 = 0x80218000; // type:func rom:0x5B14B0
func_802180CC_5B157C = 0x802180CC; // type:func rom:0x5B157C
b_area_flo_UnkFloatFunc = 0x802181F0; // type:func rom:0x5B16A0
dup_b_area_flo_UnkBattleFunc1 = 0x80218380; // type:func rom:0x5B1830
MediGuySpriteRotationFunc = 0x8021844C; // type:func rom:0x5B18FC
func_80218560_5B1A10 = 0x80218560; // type:func rom:0x5B1A10
b_area_flo_MediGuySpriteRotationFunc = 0x8021844C; // type:func rom:0x5B18FC
b_area_flo_ShrinkActor = 0x80218560; // type:func rom:0x5B1A10
dup_b_area_flo_GetSelectedMoveID = 0x802186B8; // type:func rom:0x5B1B68
dup2_b_area_flo_UnkBattleFunc1 = 0x802186E4; // type:func rom:0x5B1B94
b_area_flo_StartRumbleWithParams = 0x802187B0; // type:func rom:0x5B1C60
func_80218808_5B1CB8 = 0x80218808; // type:func rom:0x5B1CB8
func_802188D0_5B1D80 = 0x802188D0; // type:func rom:0x5B1D80
dup_b_area_flo_ShrinkActor = 0x802188D0; // type:func rom:0x5B1D80
b_area_flo_GetSelectedMoveID = 0x80218A28; // type:func rom:0x5B1ED8
dup3_b_area_flo_UnkBattleFunc1 = 0x80218A54; // type:func rom:0x5B1F04
dup_b_area_flo_StartRumbleWithParams = 0x80218B20; // type:func rom:0x5B1FD0
func_80218B78_5B2028 = 0x80218B78; // type:func rom:0x5B2028
func_80218C40_5B20F0 = 0x80218C40; // type:func rom:0x5B20F0
dup2_b_area_flo_ShrinkActor = 0x80218C40; // type:func rom:0x5B20F0
dup2_b_area_flo_GetSelectedMoveID = 0x80218D98; // type:func rom:0x5B2248
dup4_b_area_flo_UnkBattleFunc1 = 0x80218DC4; // type:func rom:0x5B2274
dup2_b_area_flo_StartRumbleWithParams = 0x80218E90; // type:func rom:0x5B2340
func_80218EE8_5B2398 = 0x80218EE8; // type:func rom:0x5B2398
b_area_flo_GetBootsHammerLevel = 0x80218FAC; // type:func rom:0x5B245C
b_area_flo_UnkBattleFunc5 = 0x8021900C; // type:func rom:0x5B24BC
func_802190B0_5B2560 = 0x802190B0; // type:func rom:0x5B2560
dup3_b_area_flo_ShrinkActor = 0x802190B0; // type:func rom:0x5B2560
dup3_b_area_flo_GetSelectedMoveID = 0x80219208; // type:func rom:0x5B26B8
dup5_b_area_flo_UnkBattleFunc1 = 0x80219234; // type:func rom:0x5B26E4
dup3_b_area_flo_StartRumbleWithParams = 0x80219300; // type:func rom:0x5B27B0
@ -6414,7 +6450,7 @@ func_802194B8_625058 = 0x802194B8; // type:func rom:0x625058
func_80219524_6250C4 = 0x80219524; // type:func rom:0x6250C4
dup_b_area_sam_UnkBattleFunc1 = 0x802195F0; // type:func rom:0x625190
func_802196BC_62525C = 0x802196BC; // type:func rom:0x62525C
func_80219840_6253E0 = 0x80219840; // type:func rom:0x6253E0
b_area_sam_ShrinkActor = 0x80219840; // type:func rom:0x6253E0
b_area_sam_GetSelectedMoveID = 0x80219998; // type:func rom:0x625538
dup2_b_area_sam_UnkBattleFunc1 = 0x802199C4; // type:func rom:0x625564
b_area_sam_StartRumbleWithParams = 0x80219A90; // type:func rom:0x625630
@ -6470,7 +6506,7 @@ b_area_sam2_StartRumbleWithParams = 0x802184D4; // type:func rom:0x63D6B4
dup_b_area_sam2_StartRumbleWithParams = 0x80218530; // type:func rom:0x63D710
b_area_sam2_BattleAreaAngleStuff1 = 0x80218588; // type:func rom:0x63D768
b_area_sam2_BattleAreaAngleStuff2 = 0x80218714; // type:func rom:0x63D8F4
func_80218810_63D9F0 = 0x80218810; // type:func rom:0x63D9F0
b_area_sam2_ShrinkActor = 0x80218810; // type:func rom:0x63D9F0
b_area_sam2_GetSelectedMoveID = 0x80218968; // type:func rom:0x63DB48
b_area_sam2_UnkBattleFunc1 = 0x80218994; // type:func rom:0x63DB74
dup2_b_area_sam2_StartRumbleWithParams = 0x80218A60; // type:func rom:0x63DC40
@ -6506,27 +6542,27 @@ b_area_pra_UnkBattleFunc1 = 0x80218000; // type:func rom:0x648E10
b_area_pra_UnkBattleFunc2 = 0x802180CC; // type:func rom:0x648EDC
b_area_pra_UnkBattleFunc2_2 = 0x80218180; // type:func rom:0x648F90
func_80218240_649050 = 0x80218240; // type:func rom:0x649050
func_80218300_649110 = 0x80218300; // type:func rom:0x649110
b_area_pra_ShrinkActor = 0x80218300; // type:func rom:0x649110
dup3_b_area_pra_GetSelectedMoveID = 0x80218458; // type:func rom:0x649268
dup_b_area_pra_UnkBattleFunc1 = 0x80218484; // type:func rom:0x649294
b_area_pra_StartRumbleWithParams = 0x80218550; // type:func rom:0x649360
func_802185A8_6493B8 = 0x802185A8; // type:func rom:0x6493B8
func_80218670_649480 = 0x80218670; // type:func rom:0x649480
dup_b_area_pra_ShrinkActor = 0x80218670; // type:func rom:0x649480
dup4_b_area_pra_GetSelectedMoveID = 0x802187C8; // type:func rom:0x6495D8
dup2_b_area_pra_UnkBattleFunc1 = 0x802187F4; // type:func rom:0x649604
dup_b_area_pra_StartRumbleWithParams = 0x802188C0; // type:func rom:0x6496D0
func_80218918_649728 = 0x80218918; // type:func rom:0x649728
func_802189E0_6497F0 = 0x802189E0; // type:func rom:0x6497F0
dup2_b_area_pra_ShrinkActor = 0x802189E0; // type:func rom:0x6497F0
dup2_b_area_pra_GetSelectedMoveID = 0x80218B38; // type:func rom:0x649948
dup3_b_area_pra_UnkBattleFunc1 = 0x80218B64; // type:func rom:0x649974
dup2_b_area_pra_StartRumbleWithParams = 0x80218C30; // type:func rom:0x649A40
func_80218C88_649A98 = 0x80218C88; // type:func rom:0x649A98
func_80218D50_649B60 = 0x80218D50; // type:func rom:0x649B60
dup3_b_area_pra_ShrinkActor = 0x80218D50; // type:func rom:0x649B60
b_area_pra_GetSelectedMoveID = 0x80218EA8; // type:func rom:0x649CB8
dup4_b_area_pra_UnkBattleFunc1 = 0x80218ED4; // type:func rom:0x649CE4
dup3_b_area_pra_StartRumbleWithParams = 0x80218FA0; // type:func rom:0x649DB0
func_80218FF8_649E08 = 0x80218FF8; // type:func rom:0x649E08
func_802190C0_649ED0 = 0x802190C0; // type:func rom:0x649ED0
dup4_b_area_pra_ShrinkActor = 0x802190C0; // type:func rom:0x649ED0
dup_b_area_pra_GetSelectedMoveID = 0x80219218; // type:func rom:0x64A028
dup5_b_area_pra_UnkBattleFunc1 = 0x80219244; // type:func rom:0x64A054
dup4_b_area_pra_StartRumbleWithParams = 0x80219310; // type:func rom:0x64A120
@ -6568,12 +6604,12 @@ func_80219524_66B2A4 = 0x80219524; // type:func rom:0x66B2A4
dup3_b_area_pra3_UnkBattleFunc1 = 0x802195F0; // type:func rom:0x66B370
b_area_pra3_UnkBattleFunc2 = 0x802196BC; // type:func rom:0x66B43C
b_area_pra3_UnkBattleFunc2_2 = 0x80219770; // type:func rom:0x66B4F0
func_80219830_66B5B0 = 0x80219830; // type:func rom:0x66B5B0
b_area_pra3_ShrinkActor = 0x80219830; // type:func rom:0x66B5B0
b_area_pra3_GetSelectedMoveID = 0x80219988; // type:func rom:0x66B708
b_area_pra3_UnkBattleFunc1 = 0x802199B4; // type:func rom:0x66B734
b_area_pra3_StartRumbleWithParams = 0x80219A80; // type:func rom:0x66B800
func_80219AD8_66B858 = 0x80219AD8; // type:func rom:0x66B858
func_80219BA0_66B920 = 0x80219BA0; // type:func rom:0x66B920
dup_b_area_pra3_ShrinkActor = 0x80219BA0; // type:func rom:0x66B920
dup_b_area_pra3_GetSelectedMoveID = 0x80219CF8; // type:func rom:0x66BA78
dup_b_area_pra3_UnkBattleFunc1 = 0x80219D24; // type:func rom:0x66BAA4
dup_b_area_pra3_StartRumbleWithParams = 0x80219DF0; // type:func rom:0x66BB70
@ -6599,7 +6635,7 @@ D_80232A18_684798 = 0x80232A18; // type:data rom:0x684798
b_area_kpa_UnkBattleFunc1 = 0x80218000; // type:func rom:0x684A30
dup_b_area_kpa_UnkBattleFunc1 = 0x802180D0; // type:func rom:0x684B00
b_area_kpa_StartRumbleWithParams = 0x8021819C; // type:func rom:0x684BCC
func_80218200_684C30 = 0x80218200; // type:func rom:0x684C30
b_area_kpa_ShrinkActor = 0x80218200; // type:func rom:0x684C30
b_area_kpa_UnkFloatFunc = 0x80218358; // type:func rom:0x684D88
b_area_kpa_GetSelectedMoveID = 0x802184E8; // type:func rom:0x684F18
dup2_b_area_kpa_UnkBattleFunc1 = 0x80218514; // type:func rom:0x684F44
@ -6748,7 +6784,7 @@ D_80228448_6CBFD8 = 0x80228448; // type:data rom:0x6CBFD8
func_80218000_6CC070 = 0x80218000; // type:func rom:0x6CC070
dup_b_area_kpa4_UnkBattleFunc1 = 0x80218020; // type:func rom:0x6CC090
dup_p_area_kpa4_StartRumbleWithParams = 0x802180EC; // type:func rom:0x6CC15C
func_80218150_6CC1C0 = 0x80218150; // type:func rom:0x6CC1C0
b_area_kpa4_ShrinkActor = 0x80218150; // type:func rom:0x6CC1C0
b_area_kpa4_UnkFloatFunc = 0x802182A8; // type:func rom:0x6CC318
b_area_kpa4_GetSelectedMoveID = 0x80218438; // type:func rom:0x6CC4A8
b_area_kpa4_UnkBattleFunc1 = 0x80218464; // type:func rom:0x6CC4D4
@ -9875,7 +9911,7 @@ D_8024264C_98011C = 0x8024264C; // type:data rom:0x98011C
D_80242EB0_980980 = 0x80242EB0; // type:data rom:0x980980
D_80242F38_980A08 = 0x80242F38; // type:data rom:0x980A08
D_80242F40_980A10 = 0x80242F40; // type:data rom:0x980A10
func_80240000_982440 = 0x80240000; // type:func rom:0x982440
isk_07_SetNpcB5_3 = 0x80240000; // type:func rom:0x982440
func_80240014_982454 = 0x80240014; // type:func rom:0x982454
isk_07_SetEntityFlags100000 = 0x802400B0; // type:func rom:0x9824F0
func_802400F0_982530 = 0x802400F0; // type:func rom:0x982530
@ -10418,7 +10454,7 @@ D_80245D60_9FA7A0 = 0x80245D60; // type:data rom:0x9FA7A0
func_80240000_9FA7F0 = 0x80240000; // type:func rom:0x9FA7F0
func_80240180_9FA970 = 0x80240180; // type:func rom:0x9FA970
nok_12_SetEntityPosition = 0x80240224; // type:func rom:0x9FAA14
func_802402F0_9FAAE0 = 0x802402F0; // type:func rom:0x9FAAE0
nok_12_SetCamera0Flag1000 = 0x802402F0; // type:func rom:0x9FAAE0
nok_12_UnsetCamera0Flag1000 = 0x8024030C; // type:func rom:0x9FAAFC
nok_12_foliage_setup_shear_mtx = 0x80240330; // type:func rom:0x9FAB20
nok_12_TransformFoliage = 0x802403A0; // type:func rom:0x9FAB90
@ -10461,7 +10497,7 @@ func_802413CC_A019CC = 0x802413CC; // type:func rom:0xA019CC
D_80242134_A02734 = 0x80242134; // type:data rom:0xA02734
D_802421D0_A027D0 = 0x802421D0; // type:data rom:0xA027D0
func_80240000_A02840 = 0x80240000; // type:func rom:0xA02840
func_80240180_A029C0 = 0x80240180; // type:func rom:0xA029C0
nok_14_SetCamera0Flag1000 = 0x80240180; // type:func rom:0xA029C0
nok_14_UnsetCamera0Flag1000 = 0x8024019C; // type:func rom:0xA029DC
nok_14_set_script_owner_npc_anim = 0x802401C0; // type:func rom:0xA02A00
nok_14_UnkDistFunc = 0x8024023C; // type:func rom:0xA02A7C
@ -10535,7 +10571,7 @@ func_80240908_A0C5F8 = 0x80240908; // type:func rom:0xA0C5F8
func_8024091C_A0C60C = 0x8024091C; // type:func rom:0xA0C60C
func_80240994_A0C684 = 0x80240994; // type:func rom:0xA0C684
func_80240A54_A0C744 = 0x80240A54; // type:func rom:0xA0C744
func_80240B20_A0C810 = 0x80240B20; // type:func rom:0xA0C810
hos_00_SetCamera0Flag1000 = 0x80240B20; // type:func rom:0xA0C810
func_80240B3C_A0C82C = 0x80240B3C; // type:func rom:0xA0C82C
func_80240C40_A0C930 = 0x80240C40; // type:func rom:0xA0C930
D_80242970_A0E660 = 0x80242970; // type:data rom:0xA0E660
@ -10720,7 +10756,7 @@ hos_05_UnkFunc27 = 0x80240000; // type:func rom:0xA2A240
hos_05_UnkFunc26 = 0x80240124; // type:func rom:0xA2A364
hos_05_UnkTexturePanFunc = 0x802402F8; // type:func rom:0xA2A538
hos_05_UnkTexturePanFunc2 = 0x8024041C; // type:func rom:0xA2A65C
func_80240604_A2A844 = 0x80240604; // type:func rom:0xA2A844
hos_05_AwaitScriptComplete = 0x80240604; // type:func rom:0xA2A844
func_80240634_A2A874 = 0x80240634; // type:func rom:0xA2A874
func_80240690_A2A8D0 = 0x80240690; // type:func rom:0xA2A8D0
func_80240830_A2AA70 = 0x80240830; // type:func rom:0xA2AA70
@ -11358,7 +11394,7 @@ func_80242F74_A966B4 = 0x80242F74; // type:func rom:0xA966B4
func_802430A8_A967E8 = 0x802430A8; // type:func rom:0xA967E8
func_80243198_A968D8 = 0x80243198; // type:func rom:0xA968D8
func_80243270_A969B0 = 0x80243270; // type:func rom:0xA969B0
func_80243504_A96C44 = 0x80243504; // type:func rom:0xA96C44
dup_kpa_102_GetEncounterEnemyIsOwner = 0x80243504; // type:func rom:0xA96C44
func_8024353C_A96C7C = 0x8024353C; // type:func rom:0xA96C7C
D_80245B20_A99260 = 0x80245B20; // type:data rom:0xA99260
D_80245B28_A99268 = 0x80245B28; // type:data rom:0xA99268
@ -11818,7 +11854,7 @@ jan_01_UnkNpcAIFunc15 = 0x80240B0C; // type:func rom:0xB28B3C
func_80240BEC_B28C1C = 0x80240BEC; // type:func rom:0xB28C1C
jan_01_UnkDurationCheck = 0x80240EEC; // type:func rom:0xB28F1C
func_80240F30_B28F60 = 0x80240F30; // type:func rom:0xB28F60
func_80241154_B29184 = 0x80241154; // type:func rom:0xB29184
jan_01_SetCamera0Flag1000 = 0x80241154; // type:func rom:0xB29184
jan_01_UnsetCamera0Flag1000 = 0x80241170; // type:func rom:0xB291A0
jan_01_foliage_setup_shear_mtx = 0x80241190; // type:func rom:0xB291C0
jan_01_TransformFoliage = 0x80241200; // type:func rom:0xB29230
@ -12229,7 +12265,7 @@ jan_22_UnkFunc16 = 0x80240AD4; // type:func rom:0xB84C54
func_80240B94_B84D14 = 0x80240B94; // type:func rom:0xB84D14
func_80240E90_B85010 = 0x80240E90; // type:func rom:0xB85010
jan_22_GetItemName = 0x80240F44; // type:func rom:0xB850C4
func_80240FA8_B85128 = 0x80240FA8; // type:func rom:0xB85128
jan_22_SetCamera0Flag1000 = 0x80240FA8; // type:func rom:0xB85128
jan_22_UnsetCamera0Flag1000 = 0x80240FC4; // type:func rom:0xB85144
PostChapter5StatUpdate = 0x80240FE0; // type:func rom:0xB85160
func_80241020_B851A0 = 0x80241020; // type:func rom:0xB851A0
@ -12246,7 +12282,7 @@ D_802425BC_B8673C = 0x802425BC; // type:data rom:0xB8673C
D_8024B9A0_B8FB20 = 0x8024B9A0; // type:data rom:0xB8FB20
D_8024B9A8_B8FB28 = 0x8024B9A8; // type:data rom:0xB8FB28
D_8024BB40_B8FCC0 = 0x8024BB40; // type:data rom:0xB8FCC0
func_80240000_B93440 = 0x80240000; // type:func rom:0xB93440
mim_01_SetForeverForestFog = 0x80240000; // type:func rom:0xB93440
func_80240070_B934B0 = 0x80240070; // type:func rom:0xB934B0
func_802403F0_B93830 = 0x802403F0; // type:func rom:0xB93830
mim_01_UnkNpcAIFunc6 = 0x80240500; // type:func rom:0xB93940
@ -12259,10 +12295,10 @@ mim_01_UnkNpcAIFunc27 = 0x80240B1C; // type:func rom:0xB93F5C
func_80240DD0_B94210 = 0x80240DD0; // type:func rom:0xB94210
func_80240E3C_B9427C = 0x80240E3C; // type:func rom:0xB9427C
func_80240F38_B94378 = 0x80240F38; // type:func rom:0xB94378
func_80241978_B94DB8 = 0x80241978; // type:func rom:0xB94DB8
mim_01_UnkNpcDurationFlagFunc3 = 0x80241978; // type:func rom:0xB94DB8
func_80241A08_B94E48 = 0x80241A08; // type:func rom:0xB94E48
func_80241B08_B94F48 = 0x80241B08; // type:func rom:0xB94F48
func_80241B68_B94FA8 = 0x80241B68; // type:func rom:0xB94FA8
mim_01_UnkNpcDurationFlagFunc2 = 0x80241B08; // type:func rom:0xB94F48
mim_01_UnkNpcAIFunc30 = 0x80241B68; // type:func rom:0xB94FA8
func_80241C54_B95094 = 0x80241C54; // type:func rom:0xB95094
D_802445F0_B97A30 = 0x802445F0; // type:data rom:0xB97A30
D_80244788_B97BC8 = 0x80244788; // type:data rom:0xB97BC8
@ -12271,7 +12307,7 @@ D_80244798_B97BD8 = 0x80244798; // type:data rom:0xB97BD8
D_802447A0_B97BE0 = 0x802447A0; // type:data rom:0xB97BE0
D_802447A8_B97BE8 = 0x802447A8; // type:data rom:0xB97BE8
D_802447B0_B97BF0 = 0x802447B0; // type:data rom:0xB97BF0
func_80240000_B97C00 = 0x80240000; // type:func rom:0xB97C00
mim_02_SetForeverForestFog = 0x80240000; // type:func rom:0xB97C00
func_80240070_B97C70 = 0x80240070; // type:func rom:0xB97C70
func_802402A0_B97EA0 = 0x802402A0; // type:func rom:0xB97EA0
mim_02_UnkNpcAIFunc1 = 0x802405D8; // type:func rom:0xB981D8
@ -12288,11 +12324,11 @@ func_8024113C_B98D3C = 0x8024113C; // type:func rom:0xB98D3C
D_802416AC_B992AC = 0x802416AC; // type:data rom:0xB992AC
D_802416B0_B992B0 = 0x802416B0; // type:data rom:0xB992B0
D_80243830_B9B430 = 0x80243830; // type:data rom:0xB9B430
func_80240000_B9B480 = 0x80240000; // type:func rom:0xB9B480
mim_03_SetForeverForestFog = 0x80240000; // type:func rom:0xB9B480
func_80240068_B9B4E8 = 0x80240068; // type:func rom:0xB9B4E8
func_802400A0_B9B520 = 0x802400A0; // type:func rom:0xB9B520
func_80240420_B9B8A0 = 0x80240420; // type:func rom:0xB9B8A0
func_80240000_B9D960 = 0x80240000; // type:func rom:0xB9D960
mim_04_SetForeverForestFog = 0x80240000; // type:func rom:0xB9D960
func_80240070_B9D9D0 = 0x80240070; // type:func rom:0xB9D9D0
func_802401DC_B9DB3C = 0x802401DC; // type:func rom:0xB9DB3C
func_80240200_B9DB60 = 0x80240200; // type:func rom:0xB9DB60
@ -12311,7 +12347,7 @@ D_80241538_B9EE98 = 0x80241538; // type:data rom:0xB9EE98
D_8024153B_B9EE9B = 0x8024153B; // type:data rom:0xB9EE9B
D_80242614_B9FF74 = 0x80242614; // type:data rom:0xB9FF74
D_80242D80_BA06E0 = 0x80242D80; // type:data rom:0xBA06E0
func_80240000_BA0730 = 0x80240000; // type:func rom:0xBA0730
mim_05_SetForeverForestFog = 0x80240000; // type:func rom:0xBA0730
mim_05_UnkNpcAIFunc6 = 0x80240070; // type:func rom:0xBA07A0
mim_05_UnkNpcAIFunc7 = 0x802400DC; // type:func rom:0xBA080C
mim_05_UnkNpcAIFunc8 = 0x8024014C; // type:func rom:0xBA087C
@ -12322,10 +12358,10 @@ mim_05_UnkNpcAIFunc27 = 0x8024068C; // type:func rom:0xBA0DBC
func_80240940_BA1070 = 0x80240940; // type:func rom:0xBA1070
func_802409AC_BA10DC = 0x802409AC; // type:func rom:0xBA10DC
btl_restore_world_cameras_BA11D8 = 0x80240AA8; // type:func rom:0xBA11D8
func_802414E8_BA1C18 = 0x802414E8; // type:func rom:0xBA1C18
mim_05_UnkNpcDurationFlagFunc3 = 0x802414E8; // type:func rom:0xBA1C18
func_80241578_BA1CA8 = 0x80241578; // type:func rom:0xBA1CA8
func_80241678_BA1DA8 = 0x80241678; // type:func rom:0xBA1DA8
func_802416D8_BA1E08 = 0x802416D8; // type:func rom:0xBA1E08
mim_05_UnkNpcDurationFlagFunc2 = 0x80241678; // type:func rom:0xBA1DA8
mim_05_UnkNpcAIFunc30 = 0x802416D8; // type:func rom:0xBA1E08
func_802417C4_BA1EF4 = 0x802417C4; // type:func rom:0xBA1EF4
D_80243E80_BA45B0 = 0x80243E80; // type:data rom:0xBA45B0
D_80244018_BA4748 = 0x80244018; // type:data rom:0xBA4748
@ -12334,7 +12370,7 @@ D_80244028_BA4758 = 0x80244028; // type:data rom:0xBA4758
D_80244030_BA4760 = 0x80244030; // type:data rom:0xBA4760
D_80244038_BA4768 = 0x80244038; // type:data rom:0xBA4768
D_80244040_BA4770 = 0x80244040; // type:data rom:0xBA4770
func_80240000_BA4780 = 0x80240000; // type:func rom:0xBA4780
mim_06_SetForeverForestFog = 0x80240000; // type:func rom:0xBA4780
func_80240070_BA47F0 = 0x80240070; // type:func rom:0xBA47F0
func_802403F0_BA4B70 = 0x802403F0; // type:func rom:0xBA4B70
func_802404F8_BA4C78 = 0x802404F8; // type:func rom:0xBA4C78
@ -12348,10 +12384,10 @@ mim_06_UnkNpcAIFunc27 = 0x80240B8C; // type:func rom:0xBA530C
func_80240E40_BA55C0 = 0x80240E40; // type:func rom:0xBA55C0
func_80240EAC_BA562C = 0x80240EAC; // type:func rom:0xBA562C
func_80240FA8_BA5728 = 0x80240FA8; // type:func rom:0xBA5728
func_802419E8_BA6168 = 0x802419E8; // type:func rom:0xBA6168
mim_06_UnkNpcDurationFlagFunc3 = 0x802419E8; // type:func rom:0xBA6168
func_80241A78_BA61F8 = 0x80241A78; // type:func rom:0xBA61F8
func_80241B78_BA62F8 = 0x80241B78; // type:func rom:0xBA62F8
func_80241BD8_BA6358 = 0x80241BD8; // type:func rom:0xBA6358
mim_06_UnkNpcDurationFlagFunc2 = 0x80241B78; // type:func rom:0xBA62F8
mim_06_UnkNpcAIFunc30 = 0x80241BD8; // type:func rom:0xBA6358
func_80241CC4_BA6444 = 0x80241CC4; // type:func rom:0xBA6444
func_80241F14_BA6694 = 0x80241F14; // type:func rom:0xBA6694
func_80242144_BA68C4 = 0x80242144; // type:func rom:0xBA68C4
@ -12369,8 +12405,8 @@ D_80245960_BAA0E0 = 0x80245960; // type:data rom:0xBAA0E0
D_80245968_BAA0E8 = 0x80245968; // type:data rom:0xBAA0E8
D_80245970_BAA0F0 = 0x80245970; // type:data rom:0xBAA0F0
D_80245978_BAA0F8 = 0x80245978; // type:data rom:0xBAA0F8
func_80240000_BAA140 = 0x80240000; // type:func rom:0xBAA140
func_80240070_BAA1B0 = 0x80240070; // type:func rom:0xBAA1B0
dup_mim_07_SetForeverForestFog = 0x80240000; // type:func rom:0xBAA140
mim_07_SetForeverForestFog = 0x80240070; // type:func rom:0xBAA1B0
func_802400D8_BAA218 = 0x802400D8; // type:func rom:0xBAA218
func_80240244_BAA384 = 0x80240244; // type:func rom:0xBAA384
func_80240270_BAA3B0 = 0x80240270; // type:func rom:0xBAA3B0
@ -12386,7 +12422,7 @@ D_80241684_BAB7C4 = 0x80241684; // type:data rom:0xBAB7C4
D_80241688_BAB7C8 = 0x80241688; // type:data rom:0xBAB7C8
D_8024168B_BAB7CB = 0x8024168B; // type:data rom:0xBAB7CB
D_802437B0_BAD8F0 = 0x802437B0; // type:data rom:0xBAD8F0
func_80240000_BAD940 = 0x80240000; // type:func rom:0xBAD940
mim_08_SetForeverForestFog = 0x80240000; // type:func rom:0xBAD940
func_80240068_BAD9A8 = 0x80240068; // type:func rom:0xBAD9A8
mim_08_UnkNpcAIFunc23 = 0x802400A0; // type:func rom:0xBAD9E0
func_80240250_BADB90 = 0x80240250; // type:func rom:0xBADB90
@ -12409,10 +12445,10 @@ mim_08_UnkNpcAIFunc27 = 0x80241BB4; // type:func rom:0xBAF4F4
func_80241E68_BAF7A8 = 0x80241E68; // type:func rom:0xBAF7A8
func_80241ED4_BAF814 = 0x80241ED4; // type:func rom:0xBAF814
func_80241FD0_BAF910 = 0x80241FD0; // type:func rom:0xBAF910
func_80242A10_BB0350 = 0x80242A10; // type:func rom:0xBB0350
mim_08_UnkNpcDurationFlagFunc3 = 0x80242A10; // type:func rom:0xBB0350
func_80242AA0_BB03E0 = 0x80242AA0; // type:func rom:0xBB03E0
func_80242BA0_BB04E0 = 0x80242BA0; // type:func rom:0xBB04E0
func_80242C00_BB0540 = 0x80242C00; // type:func rom:0xBB0540
mim_08_UnkNpcDurationFlagFunc2 = 0x80242BA0; // type:func rom:0xBB04E0
mim_08_UnkNpcAIFunc30 = 0x80242C00; // type:func rom:0xBB0540
func_80242CEC_BB062C = 0x80242CEC; // type:func rom:0xBB062C
D_802443C0_BB1D00 = 0x802443C0; // type:data rom:0xBB1D00
D_802452A0_BB2BE0 = 0x802452A0; // type:data rom:0xBB2BE0
@ -12425,7 +12461,7 @@ D_802454A0_BB2DE0 = 0x802454A0; // type:data rom:0xBB2DE0
D_802454A8_BB2DE8 = 0x802454A8; // type:data rom:0xBB2DE8
D_802454B0_BB2DF0 = 0x802454B0; // type:data rom:0xBB2DF0
D_802454B8_BB2DF8 = 0x802454B8; // type:data rom:0xBB2DF8
func_80240000_BB2E00 = 0x80240000; // type:func rom:0xBB2E00
mim_09_SetForeverForestFog = 0x80240000; // type:func rom:0xBB2E00
func_80240068_BB2E68 = 0x80240068; // type:func rom:0xBB2E68
func_802400A0_BB2EA0 = 0x802400A0; // type:func rom:0xBB2EA0
func_802402D0_BB30D0 = 0x802402D0; // type:func rom:0xBB30D0
@ -14334,10 +14370,10 @@ kzn_03_UnkNpcAIFunc27 = 0x80241214; // type:func rom:0xC61F24
func_802414C8_C621D8 = 0x802414C8; // type:func rom:0xC621D8
func_80241534_C62244 = 0x80241534; // type:func rom:0xC62244
func_80241630_C62340 = 0x80241630; // type:func rom:0xC62340
func_80242070_C62D80 = 0x80242070; // type:func rom:0xC62D80
kzn_03_UnkNpcDurationFlagFunc3 = 0x80242070; // type:func rom:0xC62D80
func_80242100_C62E10 = 0x80242100; // type:func rom:0xC62E10
func_80242200_C62F10 = 0x80242200; // type:func rom:0xC62F10
func_80242260_C62F70 = 0x80242260; // type:func rom:0xC62F70
kzn_03_UnkNpcDurationFlagFunc2 = 0x80242200; // type:func rom:0xC62F10
kzn_03_UnkNpcAIFunc30 = 0x80242260; // type:func rom:0xC62F70
func_8024234C_C6305C = 0x8024234C; // type:func rom:0xC6305C
func_8024259C_C632AC = 0x8024259C; // type:func rom:0xC632AC
kzn_03_GetItemName = 0x80242650; // type:func rom:0xC63360
@ -14472,10 +14508,10 @@ kzn_08_UnkNpcAIFunc27 = 0x80242B58; // type:func rom:0xC73FD8
func_80242E0C_C7428C = 0x80242E0C; // type:func rom:0xC7428C
func_80242E78_C742F8 = 0x80242E78; // type:func rom:0xC742F8
func_80242F74_C743F4 = 0x80242F74; // type:func rom:0xC743F4
func_802439B4_C74E34 = 0x802439B4; // type:func rom:0xC74E34
kzn_08_UnkNpcDurationFlagFunc3 = 0x802439B4; // type:func rom:0xC74E34
func_80243A44_C74EC4 = 0x80243A44; // type:func rom:0xC74EC4
func_80243B44_C74FC4 = 0x80243B44; // type:func rom:0xC74FC4
func_80243BA4_C75024 = 0x80243BA4; // type:func rom:0xC75024
kzn_08_UnkNpcDurationFlagFunc2 = 0x80243B44; // type:func rom:0xC74FC4
kzn_08_UnkNpcAIFunc30 = 0x80243BA4; // type:func rom:0xC75024
func_80243C90_C75110 = 0x80243C90; // type:func rom:0xC75110
func_80243EE0_C75360 = 0x80243EE0; // type:func rom:0xC75360
D_80244170_C755F0 = 0x80244170; // type:data rom:0xC755F0
@ -14525,10 +14561,10 @@ kzn_09_UnkNpcAIFunc27 = 0x8024163C; // type:func rom:0xC7831C
func_802418F0_C785D0 = 0x802418F0; // type:func rom:0xC785D0
func_8024195C_C7863C = 0x8024195C; // type:func rom:0xC7863C
func_80241A58_C78738 = 0x80241A58; // type:func rom:0xC78738
func_80242498_C79178 = 0x80242498; // type:func rom:0xC79178
kzn_09_UnkNpcDurationFlagFunc3 = 0x80242498; // type:func rom:0xC79178
func_80242528_C79208 = 0x80242528; // type:func rom:0xC79208
func_80242628_C79308 = 0x80242628; // type:func rom:0xC79308
func_80242688_C79368 = 0x80242688; // type:func rom:0xC79368
kzn_09_UnkNpcDurationFlagFunc2 = 0x80242628; // type:func rom:0xC79308
kzn_09_UnkNpcAIFunc30 = 0x80242688; // type:func rom:0xC79368
func_80242774_C79454 = 0x80242774; // type:func rom:0xC79454
kzn_09_set_script_owner_npc_anim = 0x802429C4; // type:func rom:0xC796A4
kzn_09_UnkDistFunc = 0x80242A40; // type:func rom:0xC79720
@ -14619,10 +14655,10 @@ kzn_17_UnkNpcAIFunc27 = 0x8024092C; // type:func rom:0xC863DC
func_80240BE0_C86690 = 0x80240BE0; // type:func rom:0xC86690
func_80240C4C_C866FC = 0x80240C4C; // type:func rom:0xC866FC
func_80240D48_C867F8 = 0x80240D48; // type:func rom:0xC867F8
func_80241788_C87238 = 0x80241788; // type:func rom:0xC87238
kzn_17_UnkNpcDurationFlagFunc3 = 0x80241788; // type:func rom:0xC87238
func_80241818_C872C8 = 0x80241818; // type:func rom:0xC872C8
func_80241918_C873C8 = 0x80241918; // type:func rom:0xC873C8
func_80241978_C87428 = 0x80241978; // type:func rom:0xC87428
kzn_17_UnkNpcDurationFlagFunc2 = 0x80241918; // type:func rom:0xC873C8
kzn_17_UnkNpcAIFunc30 = 0x80241978; // type:func rom:0xC87428
func_80241A64_C87514 = 0x80241A64; // type:func rom:0xC87514
kzn_17_set_script_owner_npc_anim = 0x80241CB4; // type:func rom:0xC87764
kzn_17_UnkDistFunc = 0x80241D30; // type:func rom:0xC877E0
@ -14669,7 +14705,7 @@ D_802465E8_C8C098 = 0x802465E8; // type:data rom:0xC8C098
func_80240000_C8C0A0 = 0x80240000; // type:func rom:0xC8C0A0
kzn_18_UnkTexturePanFunc = 0x80240040; // type:func rom:0xC8C0E0
kzn_18_UnkTexturePanFunc2 = 0x80240164; // type:func rom:0xC8C204
func_80240350_C8C3F0 = 0x80240350; // type:func rom:0xC8C3F0
kzn_18_SetCamera0Flag1000 = 0x80240350; // type:func rom:0xC8C3F0
kzn_18_UnsetCamera0Flag1000 = 0x8024036C; // type:func rom:0xC8C40C
kzn_18_GetFloorCollider = 0x80240388; // type:func rom:0xC8C428
kzn_19_UnkTexturePanFunc = 0x80240000; // type:func rom:0xC8DBB0
@ -15931,7 +15967,7 @@ sam_02_GetEntryPos = 0x802400F0; // type:func rom:0xD05820
sam_02_GetCurrentCameraYawClamped180 = 0x802401D0; // type:func rom:0xD05900
sam_02_SomeXYZFunc2 = 0x8024023C; // type:func rom:0xD0596C
sam_02_UnkTexturePanFunc = 0x802402E0; // type:func rom:0xD05A10
func_80240404_D05B34 = 0x80240404; // type:func rom:0xD05B34
sam_02_UnkTexturePanFunc2 = 0x80240404; // type:func rom:0xD05B34
sam_02_foliage_setup_shear_mtx = 0x802405EC; // type:func rom:0xD05D1C
sam_02_TransformFoliage = 0x8024065C; // type:func rom:0xD05D8C
sam_02_Call800E9894 = 0x80240830; // type:func rom:0xD05F60
@ -16006,10 +16042,10 @@ sam_05_UnkNpcAIFunc27 = 0x8024061C; // type:func rom:0xD18DFC
func_802408D0_D190B0 = 0x802408D0; // type:func rom:0xD190B0
func_8024093C_D1911C = 0x8024093C; // type:func rom:0xD1911C
func_80240A38_D19218 = 0x80240A38; // type:func rom:0xD19218
func_80241478_D19C58 = 0x80241478; // type:func rom:0xD19C58
sam_05_UnkNpcDurationFlagFunc3 = 0x80241478; // type:func rom:0xD19C58
func_80241508_D19CE8 = 0x80241508; // type:func rom:0xD19CE8
func_80241608_D19DE8 = 0x80241608; // type:func rom:0xD19DE8
func_80241668_D19E48 = 0x80241668; // type:func rom:0xD19E48
sam_05_UnkNpcDurationFlagFunc2 = 0x80241608; // type:func rom:0xD19DE8
sam_05_UnkNpcAIFunc30 = 0x80241668; // type:func rom:0xD19E48
func_80241754_D19F34 = 0x80241754; // type:func rom:0xD19F34
func_802419A4_D1A184 = 0x802419A4; // type:func rom:0xD1A184
func_80241D20_D1A500 = 0x80241D20; // type:func rom:0xD1A500
@ -16083,10 +16119,10 @@ sam_07_UnkNpcAIFunc27 = 0x80240C6C; // type:func rom:0xD2C99C
func_80240F20_D2CC50 = 0x80240F20; // type:func rom:0xD2CC50
func_80240F8C_D2CCBC = 0x80240F8C; // type:func rom:0xD2CCBC
func_80241088_D2CDB8 = 0x80241088; // type:func rom:0xD2CDB8
func_80241AC8_D2D7F8 = 0x80241AC8; // type:func rom:0xD2D7F8
sam_07_UnkNpcDurationFlagFunc3 = 0x80241AC8; // type:func rom:0xD2D7F8
func_80241B58_D2D888 = 0x80241B58; // type:func rom:0xD2D888
func_80241C58_D2D988 = 0x80241C58; // type:func rom:0xD2D988
func_80241CB8_D2D9E8 = 0x80241CB8; // type:func rom:0xD2D9E8
sam_07_UnkNpcDurationFlagFunc2 = 0x80241C58; // type:func rom:0xD2D988
sam_07_UnkNpcAIFunc30 = 0x80241CB8; // type:func rom:0xD2D9E8
func_80241DA4_D2DAD4 = 0x80241DA4; // type:func rom:0xD2DAD4
D_802424C0_D2E1F0 = 0x802424C0; // type:data rom:0xD2E1F0
D_80243D80_D2FAB0 = 0x80243D80; // type:data rom:0xD2FAB0
@ -16799,7 +16835,7 @@ func_8024043C_D9D90C = 0x8024043C; // type:func rom:0xD9D90C
func_80240970_D9DE40 = 0x80240970; // type:func rom:0xD9DE40
func_802409E0_D9DEB0 = 0x802409E0; // type:func rom:0xD9DEB0
func_80240AB0_D9DF80 = 0x80240AB0; // type:func rom:0xD9DF80
func_80240B48_D9E018 = 0x80240B48; // type:func rom:0xD9E018
omo_02_UnkNpcDurationAnimationFunc = 0x80240B48; // type:func rom:0xD9E018
func_80240BA8_D9E078 = 0x80240BA8; // type:func rom:0xD9E078
func_80240EDC_D9E3AC = 0x80240EDC; // type:func rom:0xD9E3AC
func_80240F90_D9E460 = 0x80240F90; // type:func rom:0xD9E460
@ -16820,7 +16856,7 @@ omo_02_UnkDurationCheck = 0x80241E60; // type:func rom:0xD9F330
func_80241EA4_D9F374 = 0x80241EA4; // type:func rom:0xD9F374
func_802423E0_D9F8B0 = 0x802423E0; // type:func rom:0xD9F8B0
func_8024283C_D9FD0C = 0x8024283C; // type:func rom:0xD9FD0C
func_80242B5C_DA002C = 0x80242B5C; // type:func rom:0xDA002C
omo_02_SetNpcB5_3 = 0x80242B5C; // type:func rom:0xDA002C
omo_02_GetEncounterEnemyIsOwner = 0x80242B70; // type:func rom:0xDA0040
D_802434F8_DA09C8 = 0x802434F8; // type:data rom:0xDA09C8
D_80243580_DA0A50 = 0x80243580; // type:data rom:0xDA0A50
@ -16867,9 +16903,9 @@ func_802416AC_DAEAAC = 0x802416AC; // type:func rom:0xDAEAAC
func_80241898_DAEC98 = 0x80241898; // type:func rom:0xDAEC98
func_80241908_DAED08 = 0x80241908; // type:func rom:0xDAED08
func_802419D8_DAEDD8 = 0x802419D8; // type:func rom:0xDAEDD8
func_80241A70_DAEE70 = 0x80241A70; // type:func rom:0xDAEE70
omo_04_UnkNpcDurationAnimationFunc = 0x80241A70; // type:func rom:0xDAEE70
func_80241AD0_DAEED0 = 0x80241AD0; // type:func rom:0xDAEED0
func_80241E04_DAF204 = 0x80241E04; // type:func rom:0xDAF204
omo_04_SetCamera0Flag1000 = 0x80241E04; // type:func rom:0xDAF204
omo_04_UnsetCamera0Flag1000 = 0x80241E20; // type:func rom:0xDAF220
func_80241E40_DAF240 = 0x80241E40; // type:func rom:0xDAF240
D_80242630_DAFA30 = 0x80242630; // type:data rom:0xDAFA30
@ -16882,7 +16918,7 @@ D_80244D10_DB2110 = 0x80244D10; // type:data rom:0xDB2110
func_80240000_DB22C0 = 0x80240000; // type:func rom:0xDB22C0
func_80240070_DB2330 = 0x80240070; // type:func rom:0xDB2330
func_80240140_DB2400 = 0x80240140; // type:func rom:0xDB2400
func_802401D8_DB2498 = 0x802401D8; // type:func rom:0xDB2498
omo_05_UnkNpcDurationAnimationFunc = 0x802401D8; // type:func rom:0xDB2498
func_80240238_DB24F8 = 0x80240238; // type:func rom:0xDB24F8
omo_05_UnkNpcAIFunc4 = 0x8024056C; // type:func rom:0xDB282C
func_802405BC_DB287C = 0x802405BC; // type:func rom:0xDB287C
@ -16935,7 +16971,7 @@ D_802456C0_DBCFD0 = 0x802456C0; // type:data rom:0xDBCFD0
func_80240000_DBD2B0 = 0x80240000; // type:func rom:0xDBD2B0
func_80240070_DBD320 = 0x80240070; // type:func rom:0xDBD320
func_80240140_DBD3F0 = 0x80240140; // type:func rom:0xDBD3F0
func_802401D8_DBD488 = 0x802401D8; // type:func rom:0xDBD488
omo_07_UnkNpcDurationAnimationFunc = 0x802401D8; // type:func rom:0xDBD488
func_80240238_DBD4E8 = 0x80240238; // type:func rom:0xDBD4E8
omo_07_UnkNpcAIFunc24 = 0x8024056C; // type:func rom:0xDBD81C
omo_07_UnkFunc13 = 0x802406C4; // type:func rom:0xDBD974
@ -16952,7 +16988,7 @@ func_80241100_DBE3B0 = 0x80241100; // type:func rom:0xDBE3B0
func_802413FC_DBE6AC = 0x802413FC; // type:func rom:0xDBE6AC
func_8024146C_DBE71C = 0x8024146C; // type:func rom:0xDBE71C
func_8024153C_DBE7EC = 0x8024153C; // type:func rom:0xDBE7EC
func_802415D4_DBE884 = 0x802415D4; // type:func rom:0xDBE884
dup_omo_07_UnkNpcDurationAnimationFunc = 0x802415D4; // type:func rom:0xDBE884
func_80241634_DBE8E4 = 0x80241634; // type:func rom:0xDBE8E4
omo_07_UnkNpcAIFunc23 = 0x80241978; // type:func rom:0xDBEC28
func_80241B28_DBEDD8 = 0x80241B28; // type:func rom:0xDBEDD8
@ -16965,7 +17001,7 @@ omo_07_UnkNpcAIFunc3 = 0x8024276C; // type:func rom:0xDBFA1C
omo_07_UnkFunc6 = 0x802427D0; // type:func rom:0xDBFA80
omo_07_UnkFunc5 = 0x80242B60; // type:func rom:0xDBFE10
func_80242C84_DBFF34 = 0x80242C84; // type:func rom:0xDBFF34
func_80242E70_DC0120 = 0x80242E70; // type:func rom:0xDC0120
omo_07_SetCamera0Flag1000 = 0x80242E70; // type:func rom:0xDC0120
omo_07_UnsetCamera0Flag1000 = 0x80242E8C; // type:func rom:0xDC013C
func_80242EA8_DC0158 = 0x80242EA8; // type:func rom:0xDC0158
func_80242F20_DC01D0 = 0x80242F20; // type:func rom:0xDC01D0
@ -16999,7 +17035,7 @@ omo_08_UnkTexturePanFunc2 = 0x80240680; // type:func rom:0xDC4A50
func_80240870_DC4C40 = 0x80240870; // type:func rom:0xDC4C40
func_802408E0_DC4CB0 = 0x802408E0; // type:func rom:0xDC4CB0
func_802409B0_DC4D80 = 0x802409B0; // type:func rom:0xDC4D80
func_80240A48_DC4E18 = 0x80240A48; // type:func rom:0xDC4E18
omo_08_UnkNpcDurationAnimationFunc = 0x80240A48; // type:func rom:0xDC4E18
btl_restore_world_cameras_DC4E78 = 0x80240AA8; // type:func rom:0xDC4E78
D_80248760_DCCB30 = 0x80248760; // type:data rom:0xDCCB30
D_80248768_DCCB38 = 0x80248768; // type:data rom:0xDCCB38
@ -17016,7 +17052,7 @@ omo_09_CheckItemFlags40 = 0x80240988; // type:func rom:0xDCD658
func_802409E0_DCD6B0 = 0x802409E0; // type:func rom:0xDCD6B0
func_80240A50_DCD720 = 0x80240A50; // type:func rom:0xDCD720
func_80240B20_DCD7F0 = 0x80240B20; // type:func rom:0xDCD7F0
func_80240BB8_DCD888 = 0x80240BB8; // type:func rom:0xDCD888
omo_09_UnkNpcDurationAnimationFunc = 0x80240BB8; // type:func rom:0xDCD888
func_80240C18_DCD8E8 = 0x80240C18; // type:func rom:0xDCD8E8
omo_09_UnkNpcAIFunc24 = 0x80240F4C; // type:func rom:0xDCDC1C
omo_09_UnkFunc13 = 0x802410A4; // type:func rom:0xDCDD74
@ -17033,7 +17069,7 @@ func_80241AE0_DCE7B0 = 0x80241AE0; // type:func rom:0xDCE7B0
func_80241DDC_DCEAAC = 0x80241DDC; // type:func rom:0xDCEAAC
func_80241E4C_DCEB1C = 0x80241E4C; // type:func rom:0xDCEB1C
func_80241F1C_DCEBEC = 0x80241F1C; // type:func rom:0xDCEBEC
func_80241FB4_DCEC84 = 0x80241FB4; // type:func rom:0xDCEC84
dup_omo_09_UnkNpcDurationAnimationFunc = 0x80241FB4; // type:func rom:0xDCEC84
func_80242014_DCECE4 = 0x80242014; // type:func rom:0xDCECE4
func_80242358_DCF028 = 0x80242358; // type:func rom:0xDCF028
func_80242548_DCF218 = 0x80242548; // type:func rom:0xDCF218
@ -17044,10 +17080,10 @@ omo_09_UnkDurationCheck = 0x80242870; // type:func rom:0xDCF540
func_802428B4_DCF584 = 0x802428B4; // type:func rom:0xDCF584
func_80242DF0_DCFAC0 = 0x80242DF0; // type:func rom:0xDCFAC0
func_8024324C_DCFF1C = 0x8024324C; // type:func rom:0xDCFF1C
func_8024356C_DD023C = 0x8024356C; // type:func rom:0xDD023C
omo_09_SetNpcB5_3 = 0x8024356C; // type:func rom:0xDD023C
omo_09_GetEncounterEnemyIsOwner = 0x80243580; // type:func rom:0xDD0250
func_802435B8_DD0288 = 0x802435B8; // type:func rom:0xDD0288
func_802435CC_DD029C = 0x802435CC; // type:func rom:0xDD029C
dup_omo_09_SetNpcB5_3 = 0x802435B8; // type:func rom:0xDD0288
omo_09_SetCamera0Flag1000 = 0x802435CC; // type:func rom:0xDD029C
omo_09_UnsetCamera0Flag1000 = 0x802435E8; // type:func rom:0xDD02B8
func_80243610_DD02E0 = 0x80243610; // type:func rom:0xDD02E0
D_80243A80_DD0750 = 0x80243A80; // type:data rom:0xDD0750
@ -17105,7 +17141,7 @@ D_80241E58_DDE688 = 0x80241E58; // type:data rom:0xDDE688
D_80241E98_DDE6C8 = 0x80241E98; // type:data rom:0xDDE6C8
omo_12_UnkFunc41 = 0x80240000; // type:func rom:0xDDF310
func_80240184_DDF494 = 0x80240184; // type:func rom:0xDDF494
func_802402DC_DDF5EC = 0x802402DC; // type:func rom:0xDDF5EC
omo_12_SetCamera0Flag1000 = 0x802402DC; // type:func rom:0xDDF5EC
omo_12_UnsetCamera0Flag1000 = 0x802402F8; // type:func rom:0xDDF608
func_80240314_DDF624 = 0x80240314; // type:func rom:0xDDF624
func_802403D8_DDF6E8 = 0x802403D8; // type:func rom:0xDDF6E8
@ -17115,7 +17151,7 @@ func_80240000_DE2490 = 0x80240000; // type:func rom:0xDE2490
func_80240280_DE2710 = 0x80240280; // type:func rom:0xDE2710
func_802402F0_DE2780 = 0x802402F0; // type:func rom:0xDE2780
func_802403C0_DE2850 = 0x802403C0; // type:func rom:0xDE2850
func_80240458_DE28E8 = 0x80240458; // type:func rom:0xDE28E8
omo_13_UnkNpcDurationAnimationFunc = 0x80240458; // type:func rom:0xDE28E8
func_802404B8_DE2948 = 0x802404B8; // type:func rom:0xDE2948
omo_13_UnkNpcAIFunc4 = 0x802407EC; // type:func rom:0xDE2C7C
func_8024083C_DE2CCC = 0x8024083C; // type:func rom:0xDE2CCC
@ -17169,7 +17205,7 @@ func_80240518_DEF3B8 = 0x80240518; // type:func rom:0xDEF3B8
func_80240560_DEF400 = 0x80240560; // type:func rom:0xDEF400
func_802405D0_DEF470 = 0x802405D0; // type:func rom:0xDEF470
func_802406A0_DEF540 = 0x802406A0; // type:func rom:0xDEF540
func_80240738_DEF5D8 = 0x80240738; // type:func rom:0xDEF5D8
omo_17_UnkNpcDurationAnimationFunc = 0x80240738; // type:func rom:0xDEF5D8
func_80240798_DEF638 = 0x80240798; // type:func rom:0xDEF638
omo_17_UnkNpcAIFunc4 = 0x80240ACC; // type:func rom:0xDEF96C
func_80240B1C_DEF9BC = 0x80240B1C; // type:func rom:0xDEF9BC
@ -17194,7 +17230,7 @@ omo_17_UnkDurationCheck = 0x802429C4; // type:func rom:0xDF1864
func_80242A08_DF18A8 = 0x80242A08; // type:func rom:0xDF18A8
func_80242F44_DF1DE4 = 0x80242F44; // type:func rom:0xDF1DE4
func_802433A0_DF2240 = 0x802433A0; // type:func rom:0xDF2240
func_802436C0_DF2560 = 0x802436C0; // type:func rom:0xDF2560
omo_17_SetNpcB5_3 = 0x802436C0; // type:func rom:0xDF2560
omo_17_GetEncounterEnemyIsOwner = 0x802436D4; // type:func rom:0xDF2574
D_80246184_DF5024 = 0x80246184; // type:data rom:0xDF5024
D_80247610_DF64B0 = 0x80247610; // type:data rom:0xDF64B0
@ -17659,7 +17695,7 @@ func_80242568_EA2E68 = 0x80242568; // type:func rom:0xEA2E68
func_802425B0_EA2EB0 = 0x802425B0; // type:func rom:0xEA2EB0
func_80242608_EA2F08 = 0x80242608; // type:func rom:0xEA2F08
func_8024267C_EA2F7C = 0x8024267C; // type:func rom:0xEA2F7C
func_80242730_EA3030 = 0x80242730; // type:func rom:0xEA3030
EA0C10_DeadGetItemName = 0x80242730; // type:func rom:0xEA3030
func_80242794_EA3094 = 0x80242794; // type:func rom:0xEA3094
func_802427F0_EA30F0 = 0x802427F0; // type:func rom:0xEA30F0
func_802429C0_EA32C0 = 0x802429C0; // type:func rom:0xEA32C0
@ -17695,8 +17731,8 @@ D_802466B8_EA6FB8 = 0x802466B8; // type:data rom:0xEA6FB8
D_802466C0_EA6FC0 = 0x802466C0; // type:data rom:0xEA6FC0
D_802466C8_EA6FC8 = 0x802466C8; // type:data rom:0xEA6FC8
func_80240000_EA6FD0 = 0x80240000; // type:func rom:0xEA6FD0
func_80240040_EA7010 = 0x80240040; // type:func rom:0xEA7010
func_80240164_EA7134 = 0x80240164; // type:func rom:0xEA7134
EA7010_DeadUnkTexturePanFunc = 0x80240040; // type:func rom:0xEA7010
EA7010_DeadUnkTexturePanFunc2 = 0x80240164; // type:func rom:0xEA7134
func_80240350_EA7320 = 0x80240350; // type:func rom:0xEA7320
func_8024036C_EA733C = 0x8024036C; // type:func rom:0xEA733C
func_80240388_EA7358 = 0x80240388; // type:func rom:0xEA7358
@ -17717,7 +17753,7 @@ func_802413C0_EA9EA0 = 0x802413C0; // type:func rom:0xEA9EA0
func_802413FC_EA9EDC = 0x802413FC; // type:func rom:0xEA9EDC
func_8024140C_EA9EEC = 0x8024140C; // type:func rom:0xEA9EEC
func_80241468_EA9F48 = 0x80241468; // type:func rom:0xEA9F48
func_8024151C_EA9FFC = 0x8024151C; // type:func rom:0xEA9FFC
EA8AE0_DeadGetItemName = 0x8024151C; // type:func rom:0xEA9FFC
func_80241580_EAA060 = 0x80241580; // type:func rom:0xEAA060
func_802415DC_EAA0BC = 0x802415DC; // type:func rom:0xEAA0BC
func_802417AC_EAA28C = 0x802417AC; // type:func rom:0xEAA28C
@ -17737,7 +17773,7 @@ D_80248370_EB0E50 = 0x80248370; // type:data rom:0xEB0E50
EB0E60_DeadUnkTexturePanFunc = 0x80240000; // type:func rom:0xEB0E60
EB0E60_DeadUnkTexturePanFunc2 = 0x80240124; // type:func rom:0xEB0F84
func_80240310_EB1170 = 0x80240310; // type:func rom:0xEB1170
func_802403C4_EB1224 = 0x802403C4; // type:func rom:0xEB1224
EB1170_DeadGetItemName = 0x802403C4; // type:func rom:0xEB1224
func_80240428_EB1288 = 0x80240428; // type:func rom:0xEB1288
func_80240484_EB12E4 = 0x80240484; // type:func rom:0xEB12E4
func_80240654_EB14B4 = 0x80240654; // type:func rom:0xEB14B4
@ -17768,7 +17804,7 @@ D_80241C10_EB8E40 = 0x80241C10; // type:data rom:0xEB8E40
func_80240000_EB8E50 = 0x80240000; // type:func rom:0xEB8E50
func_80240040_EB8E90 = 0x80240040; // type:func rom:0xEB8E90
func_80240198_EB8FE8 = 0x80240198; // type:func rom:0xEB8FE8
func_80240440_EB9290 = 0x80240440; // type:func rom:0xEB9290
EB8E90_DeadUnkNpcAIFunc1 = 0x80240440; // type:func rom:0xEB9290
func_80240500_EB9350 = 0x80240500; // type:func rom:0xEB9350
func_802406BC_EB950C = 0x802406BC; // type:func rom:0xEB950C
func_80240770_EB95C0 = 0x80240770; // type:func rom:0xEB95C0
@ -17797,10 +17833,10 @@ D_802491F0_EC2040 = 0x802491F0; // type:data rom:0xEC2040
D_802491F8_EC2048 = 0x802491F8; // type:data rom:0xEC2048
EC2200_DeadUnk1 = 0x80240000; // type:func rom:0xEC2200
func_80240040_EC2240 = 0x80240040; // type:func rom:0xEC2240
func_802400F4_EC22F4 = 0x802400F4; // type:func rom:0xEC22F4
EC2240_DeadGetItemName = 0x802400F4; // type:func rom:0xEC22F4
func_80240158_EC2358 = 0x80240158; // type:func rom:0xEC2358
func_80240410_EC2610 = 0x80240410; // type:func rom:0xEC2610
func_80240480_EC2680 = 0x80240480; // type:func rom:0xEC2680
EC2610_dead_foliage_setup_shear_mtx = 0x80240410; // type:func rom:0xEC2610
EC2610_DeadTransformFoliage = 0x80240480; // type:func rom:0xEC2680
D_80240F28_EC3128 = 0x80240F28; // type:data rom:0xEC3128
D_80244F88_EC7188 = 0x80244F88; // type:data rom:0xEC7188
D_80244F90_EC7190 = 0x80244F90; // type:data rom:0xEC7190
@ -17809,10 +17845,10 @@ EC71B0_DeadUnkTexturePanFunc = 0x80240000; // type:func rom:0xEC71B0
EC71B0_DeadUnkTexturePanFunc2 = 0x80240124; // type:func rom:0xEC72D4
func_8024030C_EC74BC = 0x8024030C; // type:func rom:0xEC74BC
func_80240344_EC74F4 = 0x80240344; // type:func rom:0xEC74F4
func_802403E0_EC7590 = 0x802403E0; // type:func rom:0xEC7590
func_80240450_EC7600 = 0x80240450; // type:func rom:0xEC7600
EC7590_dead_foliage_setup_shear_mtx = 0x802403E0; // type:func rom:0xEC7590
EC7590_DeadTransformFoliage = 0x80240450; // type:func rom:0xEC7600
func_8024061C_EC77CC = 0x8024061C; // type:func rom:0xEC77CC
func_802406D0_EC7880 = 0x802406D0; // type:func rom:0xEC7880
EC7590_DeadGetItemName = 0x802406D0; // type:func rom:0xEC7880
D_80241BB0_EC8D60 = 0x80241BB0; // type:data rom:0xEC8D60
func_80240000_EC9D00 = 0x80240000; // type:func rom:0xEC9D00
func_8024001C_EC9D1C = 0x8024001C; // type:func rom:0xEC9D1C
@ -17845,8 +17881,8 @@ func_80241A28_ECB728 = 0x80241A28; // type:func rom:0xECB728
func_80241AC4_ECB7C4 = 0x80241AC4; // type:func rom:0xECB7C4
func_80241B88_ECB888 = 0x80241B88; // type:func rom:0xECB888
func_80241BF8_ECB8F8 = 0x80241BF8; // type:func rom:0xECB8F8
func_80241C30_ECB930 = 0x80241C30; // type:func rom:0xECB930
func_80241CA0_ECB9A0 = 0x80241CA0; // type:func rom:0xECB9A0
ECB930_dead_foliage_setup_shear_mtx = 0x80241C30; // type:func rom:0xECB930
ECB930_DeadTransformFoliage = 0x80241CA0; // type:func rom:0xECB9A0
func_80241E70_ECBB70 = 0x80241E70; // type:func rom:0xECBB70
D_80241FE0_ECBCE0 = 0x80241FE0; // type:data rom:0xECBCE0
D_80241FE8_ECBCE8 = 0x80241FE8; // type:data rom:0xECBCE8
@ -17856,11 +17892,11 @@ D_802430B8_ECCDB8 = 0x802430B8; // type:data rom:0xECCDB8
D_802430BC_ECCDBC = 0x802430BC; // type:data rom:0xECCDBC
ECFFF0_DeadUnk1 = 0x80240000; // type:func rom:0xECFFF0
func_80240040_ED0030 = 0x80240040; // type:func rom:0xED0030
func_802400E0_ED00D0 = 0x802400E0; // type:func rom:0xED00D0
func_80240150_ED0140 = 0x80240150; // type:func rom:0xED0140
ED00D0_dead_foliage_setup_shear_mtx = 0x802400E0; // type:func rom:0xED00D0
ED00D0_DeadTransformFoliage = 0x80240150; // type:func rom:0xED0140
func_80240320_ED0310 = 0x80240320; // type:func rom:0xED0310
func_802404D0_ED04C0 = 0x802404D0; // type:func rom:0xED04C0
func_80240AF8_ED0AE8 = 0x80240AF8; // type:func rom:0xED0AE8
ED0310_DeadUnkNpcAIFunc1 = 0x80240AF8; // type:func rom:0xED0AE8
func_80240BB8_ED0BA8 = 0x80240BB8; // type:func rom:0xED0BA8
func_80240EFC_ED0EEC = 0x80240EFC; // type:func rom:0xED0EEC
func_80240F74_ED0F64 = 0x80240F74; // type:func rom:0xED0F64
@ -17876,13 +17912,13 @@ D_802441E0_ED41D0 = 0x802441E0; // type:data rom:0xED41D0
func_80240000_ED4220 = 0x80240000; // type:func rom:0xED4220
ED4260_DeadUnk1 = 0x80240040; // type:func rom:0xED4260
func_80240080_ED42A0 = 0x80240080; // type:func rom:0xED42A0
func_80240134_ED4354 = 0x80240134; // type:func rom:0xED4354
func_80240198_ED43B8 = 0x80240198; // type:func rom:0xED43B8
ED42A0_DeadGetItemName = 0x80240134; // type:func rom:0xED4354
ED42A0_DeadUnkTexturePanFunc = 0x80240198; // type:func rom:0xED43B8
func_802402BC_ED44DC = 0x802402BC; // type:func rom:0xED44DC
func_802404B0_ED46D0 = 0x802404B0; // type:func rom:0xED46D0
func_80240B10_ED4D30 = 0x80240B10; // type:func rom:0xED4D30
func_80241320_ED5540 = 0x80241320; // type:func rom:0xED5540
func_80241390_ED55B0 = 0x80241390; // type:func rom:0xED55B0
ED5540_dead_foliage_setup_shear_mtx = 0x80241320; // type:func rom:0xED5540
ED5540_DeadTransformFoliage = 0x80241390; // type:func rom:0xED55B0
D_80241DA0_ED5FC0 = 0x80241DA0; // type:data rom:0xED5FC0
D_80244160_ED8380 = 0x80244160; // type:data rom:0xED8380
D_80244BB8_ED8DD8 = 0x80244BB8; // type:data rom:0xED8DD8
@ -17896,10 +17932,10 @@ func_80240274_ED9094 = 0x80240274; // type:func rom:0xED9094
func_80240318_ED9138 = 0x80240318; // type:func rom:0xED9138
D_80243170_EDBF90 = 0x80243170; // type:data rom:0xEDBF90
func_80240000_EDBFE0 = 0x80240000; // type:func rom:0xEDBFE0
func_80240040_EDC020 = 0x80240040; // type:func rom:0xEDC020
func_802400B0_EDC090 = 0x802400B0; // type:func rom:0xEDC090
EDC020_dead_foliage_setup_shear_mtx = 0x80240040; // type:func rom:0xEDC020
EDC020_DeadTransformFoliage = 0x802400B0; // type:func rom:0xEDC090
func_8024027C_EDC25C = 0x8024027C; // type:func rom:0xEDC25C
func_80240330_EDC310 = 0x80240330; // type:func rom:0xEDC310
EDC020_DeadGetItemName = 0x80240330; // type:func rom:0xEDC310
func_80240394_EDC374 = 0x80240394; // type:func rom:0xEDC374
func_802403F0_EDC3D0 = 0x802403F0; // type:func rom:0xEDC3D0
func_802405C0_EDC5A0 = 0x802405C0; // type:func rom:0xEDC5A0
@ -17912,7 +17948,7 @@ func_80240000_EDE9C0 = 0x80240000; // type:func rom:0xEDE9C0
func_80240040_EDEA00 = 0x80240040; // type:func rom:0xEDEA00
func_802401C4_EDEB84 = 0x802401C4; // type:func rom:0xEDEB84
func_80240374_EDED34 = 0x80240374; // type:func rom:0xEDED34
func_8024099C_EDF35C = 0x8024099C; // type:func rom:0xEDF35C
EDEA00_DeadUnkNpcAIFunc1 = 0x8024099C; // type:func rom:0xEDF35C
func_80240A5C_EDF41C = 0x80240A5C; // type:func rom:0xEDF41C
func_80240DA0_EDF760 = 0x80240DA0; // type:func rom:0xEDF760
func_80240E18_EDF7D8 = 0x80240E18; // type:func rom:0xEDF7D8
@ -17954,7 +17990,7 @@ func_80240504_EE6AB4 = 0x80240504; // type:func rom:0xEE6AB4
func_802407D4_EE6D84 = 0x802407D4; // type:func rom:0xEE6D84
func_80240B10_EE70C0 = 0x80240B10; // type:func rom:0xEE70C0
func_80240CC0_EE7270 = 0x80240CC0; // type:func rom:0xEE7270
func_802412E8_EE7898 = 0x802412E8; // type:func rom:0xEE7898
EE70C0_DeadUnkNpcAIFunc1 = 0x802412E8; // type:func rom:0xEE7898
func_802413A8_EE7958 = 0x802413A8; // type:func rom:0xEE7958
func_802416EC_EE7C9C = 0x802416EC; // type:func rom:0xEE7C9C
func_80241764_EE7D14 = 0x80241764; // type:func rom:0xEE7D14
@ -18008,7 +18044,7 @@ func_80240DE8_EEDEE8 = 0x80240DE8; // type:func rom:0xEEDEE8
func_80240E18_EEDF18 = 0x80240E18; // type:func rom:0xEEDF18
func_80240E50_EEDF50 = 0x80240E50; // type:func rom:0xEEDF50
func_80241000_EEE100 = 0x80241000; // type:func rom:0xEEE100
func_80241628_EEE728 = 0x80241628; // type:func rom:0xEEE728
EEDF50_DeadUnkNpcAIFunc1 = 0x80241628; // type:func rom:0xEEE728
func_802416E8_EEE7E8 = 0x802416E8; // type:func rom:0xEEE7E8
func_80241A2C_EEEB2C = 0x80241A2C; // type:func rom:0xEEEB2C
func_80241AA4_EEEBA4 = 0x80241AA4; // type:func rom:0xEEEBA4
@ -18035,7 +18071,7 @@ EF2610_DeadUnk1 = 0x80240000; // type:func rom:0xEF2610
func_80240040_EF2650 = 0x80240040; // type:func rom:0xEF2650
func_80240070_EF2680 = 0x80240070; // type:func rom:0xEF2680
func_80240220_EF2830 = 0x80240220; // type:func rom:0xEF2830
func_80240848_EF2E58 = 0x80240848; // type:func rom:0xEF2E58
EF2680_DeadUnkNpcAIFunc1 = 0x80240848; // type:func rom:0xEF2E58
func_80240908_EF2F18 = 0x80240908; // type:func rom:0xEF2F18
func_80240C4C_EF325C = 0x80240C4C; // type:func rom:0xEF325C
func_80240CC4_EF32D4 = 0x80240CC4; // type:func rom:0xEF32D4
@ -18066,8 +18102,8 @@ EF7A80_DeadUnk1 = 0x8024030C; // type:func rom:0xEF7D8C
func_80240340_EF7DC0 = 0x80240340; // type:func rom:0xEF7DC0
EF7A80_DeadUnkFloatFunc = 0x80240394; // type:func rom:0xEF7E14
func_80240530_EF7FB0 = 0x80240530; // type:func rom:0xEF7FB0
func_80240590_EF8010 = 0x80240590; // type:func rom:0xEF8010
func_80240600_EF8080 = 0x80240600; // type:func rom:0xEF8080
EF8010_dead_foliage_setup_shear_mtx = 0x80240590; // type:func rom:0xEF8010
EF8010_DeadTransformFoliage = 0x80240600; // type:func rom:0xEF8080
EFEB00_DeadUnkTexturePanFunc = 0x80240000; // type:func rom:0xEFEB00
EFEB00_DeadUnkTexturePanFunc2 = 0x80240124; // type:func rom:0xEFEC24
EFEB00_DeadUnk1 = 0x8024030C; // type:func rom:0xEFEE0C
@ -18129,6 +18165,8 @@ D_0A0031E0 = 0xA0031E0; // type:data
D_0A003508 = 0xA003508; // type:data
D_0A003F70 = 0xA003F70; // type:data
D_0A004350 = 0xA004350; // type:data
D_7012ACA1 = 0x7012ACA1; // type:data
D_7012BC11 = 0x7012BC11; // type:data
D_80000000 = 0x80000000; // type:data
osTvType = 0x80000300; //
D_80000308 = 0x80000308; // type:data
@ -18147,7 +18185,6 @@ EnemyNpcDefeat = 0x8007809C; //
D_80079430 = 0x80079430; // type:data
D_80079540 = 0x80079540; // type:data
D_8007C760 = 0x8007C760; // type:data
gEffectTable = 0x8007F210; // type:data size:0xCA8
D_8007FF20 = 0x8007FF20; // type:data
D_80080208 = 0x80080208; // type:data
D_800806A0 = 0x800806A0; // type:data
@ -18167,7 +18204,6 @@ D_80082358 = 0x80082358; // type:data
D_80082388 = 0x80082388; // type:data
gItemTable = 0x800878E0; // size:0x2D80
D_8008A680 = 0x8008A680; // type:data
dead_gItemTable = 0x8008D2C0; // dead:true
D_8008DDD4 = 0x8008DDD4; // type:data
D_8008E3D8 = 0x8008E3D8; // type:data
D_8008E94C = 0x8008E94C; // type:data
@ -18206,7 +18242,7 @@ D_80097D80 = 0x80097D80; // type:data
D_80097D88 = 0x80097D88; // type:data
pad = 0x80098474; // type:data
nuIdleFunc = 0x8009A5A8; // type:data
D_8009A5B0 = 0x8009A5B0; // type:data
nuScPreNMIFlag = 0x8009A5B0; // type:data
D_8009A5B8 = 0x8009A5B8; // type:data
D_8009A5C0 = 0x8009A5C0; // type:data
D_8009A5C8 = 0x8009A5C8; // type:data
@ -18283,7 +18319,7 @@ D_800A08E0 = 0x800A08E0; // type:data
D_800A08E4 = 0x800A08E4; // type:data
D_800A08E8 = 0x800A08E8; // type:data
D_800A08EC = 0x800A08EC; // type:data
D_800A08F0 = 0x800A08F0; // type:data
gameMode = 0x800A08F0; // type:data
D_800A0900 = 0x800A0900; // type:data
D_800A0904 = 0x800A0904; // type:data
D_800A0908 = 0x800A0908; // type:data
@ -18363,7 +18399,7 @@ D_800A3FE8 = 0x800A3FE8; // type:data
D_800A3FEC = 0x800A3FEC; // type:data
D_800A3FEE = 0x800A3FEE; // type:data
D_800A3FF0 = 0x800A3FF0; // type:data
D_800A4000 = 0x800A4000; // type:data
gEffectGraphicsData = 0x800A4000; // type:data
D_800A41C0 = 0x800A41C0; // type:data
gMap = 0x800A41E0; // type:data
gMapConfig = 0x800A41E8; // type:data
@ -18439,7 +18475,7 @@ D_800B0C7C = 0x800B0C7C; // type:data
D_800B0C80 = 0x800B0C80; // type:data
D_800B0CE4 = 0x800B0CE4; // type:data
D_800B0CE8 = 0x800B0CE8; // type:data
mapTexName = 0x800B0CF0; // type:data
wMapTexName = 0x800B0CF0; // type:data
D_800B0D08 = 0x800B0D08; // type:data
nuContWaitMesgQ = 0x800B0EB8; // type:data
D_800B0ED0 = 0x800B0ED0; // type:data
@ -18469,7 +18505,7 @@ D_800B4311 = 0x800B4311; // type:data
D_800B4314 = 0x800B4314; // type:data
D_800B4318 = 0x800B4318; // type:data
gOsPiMessageQueue = 0x800B4380; // type:data
D_800B4398 = 0x800B4398; // type:data
gEffectInstances = 0x800B4398; // type:data
D_800B4514 = 0x800B4514; // type:data
CartRomHandle = 0x800B4518; // type:data
D_800B451C = 0x800B451C; // type:data
@ -18487,9 +18523,9 @@ D_800B91D0 = 0x800B91D0; // type:data
D_800D91D0 = 0x800D91D0; // type:data
D_800D91D4 = 0x800D91D4; // type:data
D_800D91DC = 0x800D91DC; // type:data
mapHitName = 0x800D91E0; // type:data
wMapHitName = 0x800D91E0; // type:data
nuSiMgrMesgQ = 0x800D91F8; // type:data
mapShapeName = 0x800D9230; // type:data
wMapShapeName = 0x800D9230; // type:data
D_800D9248 = 0x800D9248; // type:data struct:ALHeap
nuGfxTask = 0x800D9278; // type:data
D_800D95E8 = 0x800D95E8; // type:data
@ -21330,7 +21366,6 @@ D_E0200728 = 0xE0200728; // type:data
D_E020072C = 0xE020072C; // type:data
D_E0200730 = 0xE0200730; // type:data
D_E1000010 = 0xE1000010; // type:data
D_E7000001 = 0xE7000001; // type:data
D_E7000008 = 0xE7000008; // type:data
D_E8000008 = 0xE8000008; // type:data
D_F0000008 = 0xF0000008; // type:data
@ -21342,6 +21377,7 @@ D_FD100008 = 0xFD100008; // type:data
dead_atan2 = 0x8002AF70; // type:func dead:yes
dead_cos_rad = 0x8002B4C0; // type:func dead:yes
dead_playFX_11 = 0x80075170; // type:func dead:yes
dead_gItemTable = 0x8008D2C0; // type:data dead:true
dead_gPlayerStatusPtr = 0x800FFC90; // type:data dead:yes
dead_get_variable = 0x802D4E8C; // type:func dead:yes
dead_set_variable = 0x802D5468; // type:func dead:yes

View File

@ -60,3 +60,4 @@ D_800FBB60 = 0x800FBB60;
D_800FBBE0 = 0x800FBBE0;
D_7012BC11 = 0x7012BC11;
D_7012ACA1 = 0x7012ACA1;
D_80200000 = 0x80200000;

View File

@ -1231,7 +1231,6 @@ D_E001C5E0 = 0xE001C5E0;
D_E007EC2F = 0xE007EC2F;
D_E00963E0 = 0xE00963E0;
D_E1000010 = 0xE1000010;
D_E7000001 = 0xE7000001;
D_E7000008 = 0xE7000008;
D_E8000008 = 0xE8000008;
D_F0000008 = 0xF0000008;