Misc decomp 534 (#301)

* splat disasm update

* a little

* splat jtbl robustness

* git subrepo pull (merge) --force tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "150dcdebfd"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "150dcdebfd"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* some rodata stuff

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "21bf3a381c"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "21bf3a381c"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* progress

* All area rodata migrated

* UnkDistFunc

* SwitchToPartner

* UnkNpcAIFunc23

* UnkNpcAIFunc24

* UnkNpcAIFunc25

* cleanup & symbol_addrs

* disasm update

* work on fio.c (6240)

* data 'n' tst_04 funcz

* more tst_

* misc & PlayFX3D

* two end_01 funcs

* more shtuff

* fix

* fix2
This commit is contained in:
Ethan Roseman 2021-07-08 11:53:00 -04:00 committed by GitHub
parent 425dc5df56
commit 03eccf598f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
88 changed files with 1410 additions and 1513 deletions

View File

@ -1190,7 +1190,7 @@ typedef struct GameStatus {
/* 0x160 */ Vec3s savedPos;
/* 0x166 */ u8 saveSlot;
/* 0x167 */ u8 loadType; /* (0 = from map, 1 = from main menu) */
/* 0x168 */ s32 saveCount;
/* 0x168 */ u32 saveCount;
/* 0x16C */ char unk_16C[12];
} GameStatus; // size = 0x178
@ -1245,6 +1245,13 @@ typedef struct RenderTask {
/* 0x0C */ void (*appendGfx)(void*);
} RenderTask; // size = 0x10
typedef void(*CustomModelGfxBuilderFunc)(s32 index);
typedef struct CustomModelGfxBuilder {
/* 0x00 */ CustomModelGfxBuilderFunc pre;
/* 0x00 */ CustomModelGfxBuilderFunc post;
} CustomModelGfxBuilder; // size = 0x8
typedef struct SelectableTarget {
/* 0x00 */ s16 actorID;
/* 0x02 */ s16 partID; /* sometimes loaded as byte from 0x3 */
@ -1845,8 +1852,8 @@ typedef struct SaveData {
/* 0x0030 */ s32 crc1;
/* 0x0034 */ s32 crc2;
/* 0x0038 */ s32 saveSlot;
/* 0x003C */ s32 saveCount;
/* 0x0040 */ struct PlayerData player;
/* 0x003C */ u32 saveCount;
/* 0x0040 */ PlayerData player;
/* 0x0380 */ char unk_380[0xE0];
/* 0x0460 */ s32 starPoints;
/* 0x0464 */ char unk_464[4];
@ -1860,7 +1867,7 @@ typedef struct SaveData {
/* 0x12B0 */ s32 areaFlags[8];
/* 0x12D0 */ s8 areaBytes[16];
/* 0x12E0 */ char unk_12E0[6];
/* 0x12E6 */ s16 savePos[3];
/* 0x12E6 */ Vec3s savePos;
/* 0x12EC */ s32 unk_12EC;
/* 0x12F0 */ s8 unk_12F0[12]; /* player name starts at 4th char */
/* 0x12FC */ s32 unk_12FC;

View File

@ -11,6 +11,8 @@ f32 sqrtf(f32 f);
f64 sqrt(f64 d);
f32 cosine(s16 arg0);
s32 strcmp(const char* str1, const char* str2);
void nuBoot(void);
void boot_idle(void);
void boot_main(void);
@ -97,10 +99,6 @@ s32 entity_block_handle_collision(Entity* entity);
void entity_BlueSwitch_init(Entity* entity);
void entity_HugeBlueSwitch_init(Entity* entity);
UNK_TYPE playFX_6F(s32, f32, f32, f32, f32, s32);
UNK_TYPE playFX_72(s32, f32, f32, f32, f32, f32, f32, s32, s32);
void playFX_26(s32, f32, f32, f32);
// Text
PrintContext* msg_get_printer_for_string(s32 stringID, s32* a1);
@ -318,30 +316,73 @@ void func_802D7460(f32 x, f32 y, f32 z, s32 arg3);
void func_802D74C0(f32 x, f32 y, f32 z, s32 arg3);
void show_damage_popup(f32 x, f32 y, f32 z, s32 damageAmount, s32);
void playFX_32(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4);
void playFX_56(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
void playFX_33(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
void playFX_69(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
void playFX_2D(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4, s32 arg5);
void playFX_2E(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
void playFX_17(s32 arg0, f32 arg1, f32 arg2, f32 arg3);
void playFX_19(s32 arg0, f32 arg1, f32 arg2, f32 arg3);
void playFX_1D(s32, f32, f32, f32, f32, s32, s32, s32);
void fx_sweat(s32, f32, f32, f32, f32, f32, s32);
void playFX_2F(s32, f32, f32, f32, f32, s32, EffectInstanceData**);
void playFX_3B(s32, f32, f32, f32, f32, EffectInstanceData**);
void add_xz_vec3f(Vec3f* vector, f32 speed, f32 angleDeg);
void play_movement_dust_effects(s32 var0, f32 xPos, f32 yPos, f32 zPos, f32 angleDeg);
void fx_land(s32, f32, f32, f32, f32);
void func_80138D88(s32, s32, s32, s32, f32);
// State funcs
void state_init_startup(void);
void state_step_startup(void);
void state_drawUI_startup(void);
void state_init_logos(void);
void state_step_logos(void);
void state_drawUI_logos(void);
void state_init_title_screen(void);
void state_step_title_screen(void);
void state_drawUI_title_screen(void);
void state_init_enter_demo(void);
void state_step_enter_world(void);
void state_drawUI_enter_world(void);
void state_init_change_map(void);
void state_step_change_map(void);
void state_drawUI_change_map(void);
void func_80036430(void);
void func_8003646C(void);
void func_80036640(void);
void state_init_enter_world(void);
void state_step_enter_world(void);
void state_drawUI_enter_world(void);
void state_init_world(void);
void state_step_world(void);
void state_drawUI_world(void);
void state_init_battle(void);
void state_step_battle(void);
void state_drawUI_battle(void);
void state_init_end_battle(void);
void state_step_end_battle(void);
void state_drawUI_end_battle(void);
void state_init_pause(void);
void state_step_pause(void);
void state_drawUI_pause(void);
void state_init_unpause(void);
void state_step_unpause(void);
void state_drawUI_unpause(void);
void state_init_language_select(void);
void state_step_language_select(void);
void state_drawUI_language_select(void);
void state_init_exit_language_select(void);
void state_step_exit_language_select(void);
void state_drawUI_exit_language_select(void);
void state_init_file_select(void);
void state_step_file_select(void);
void state_drawUI_file_select(void);
void state_init_exit_file_select(void);
void state_step_exit_file_select(void);
void state_drawUI_exit_file_select(void);
void state_init_intro(void);
void state_step_intro(void);
void state_drawUI_intro(void);
void state_init_demo(void);
void state_step_demo(void);
void state_drawUI_demo(void);
// Effect funcs
void playFX_01(f32, f32, f32);
void playFX_11(s32, f32, f32, f32, f32);
void playFX_18(s32, f32, f32, f32, s32, f32, s32, s32);
void playFX_18(s32, f32, f32, f32, f32, f32, f32, s32);
void playFX_3D(s32 var1, f32 var2, f32 var3, f32 var4, f32 var5, f32 var6, f32 var7, s32 var8, s32* unk);
void playFX_40(s32, f32, f32, f32, s32);
EffectInstance* playFX_40(s32, f32, f32, f32, s32);
EffectInstance* playFX_52(s32, f32, f32, f32, f32, s32);
EffectInstance* playFX_6B(s32, f32, f32, f32, f32, s32);
//EffectInstance* playFX_82(s32, f32, f32, f32, f32, s32 time);
@ -351,9 +392,25 @@ EffectInstance* playFX_80(s32, f32, f32, f32, f32, s32);
EffectInstance* playFX_51(s32, f32, f32, f32, f32, s32);
void playFX_50(s32, f32, f32, f32);
EffectInstance* playFX_3F(s32 a0, f32 a1, f32 a2, f32 a3, s32 a4);
void playFX_36(s32, f32, f32, f32, f32, f32);
void* playFX_83(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
void* playFX_7B(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
EffectInstance* playFX_36(s32, f32, f32, f32, f32, f32);
EffectInstance* playFX_83(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
EffectInstance* playFX_7B(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
void playFX_32(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4);
EffectInstance* playFX_56(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
void playFX_33(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
EffectInstance* playFX_69(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
void playFX_2D(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4, s32 arg5);
void playFX_2E(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
void playFX_17(s32 arg0, f32 arg1, f32 arg2, f32 arg3);
void playFX_19(s32 arg0, f32 arg1, f32 arg2, f32 arg3);
void playFX_1D(s32, f32, f32, f32, f32, s32, f32, s32);
void fx_sweat(s32, f32, f32, f32, f32, f32, s32);
void playFX_2F(s32, f32, f32, f32, f32, s32, EffectInstanceData**);
void playFX_3B(s32, f32, f32, f32, f32, EffectInstanceData**);
void fx_land(s32, f32, f32, f32, f32);
EffectInstance* playFX_6F(s32, f32, f32, f32, f32, s32);
EffectInstance* playFX_72(s32, f32, f32, f32, f32, f32, f32, s32, s32);
void playFX_26(s32, f32, f32, f32);
void func_802B2078(void);
extern f32 gCurtainScale;

View File

@ -44,6 +44,7 @@
#define PI 3.141592f
#define PI_D 3.141592
#define TAU 6.28318f
#define PI_S 3.14159f // Shorter PI
#define SPRITE_WORLD_SCALE 0.71428573f

View File

@ -11,6 +11,7 @@
#define UNK_ARGS
typedef void (*UnkFunc)();
typedef void (*StateFunc)(void);
/// Linker symbol address, as in `ld_addrs.h`.
typedef u8 Addr[];

View File

@ -379,7 +379,11 @@ extern s32 D_802C05CC;
extern s16 gCurrentCamID;
extern s32 gSpriteHeapPtr;
// Heap?
extern s32 D_8038F800;
extern s32 D_803B5000;
extern s32 D_803DA800;
// Dead code

View File

@ -6,7 +6,7 @@
extern Addr _163400_BSS_START;
extern Addr _163400_BSS_END;
s32 D_80077980[] = { 0x8038F800, 0x803B5000, &D_803DA800, };
s32 D_80077980[] = { &D_8038F800, &D_803B5000, &D_803DA800, };
NUPiOverlaySegment D_8007798C = {
.romStart = _163400_ROM_START,
@ -66,7 +66,7 @@ void state_init_file_select(void) {
gOverrideFlags |= 0x10000;
}
INCLUDE_ASM(s32, "10400_len_d30", state_step_language_select);
INCLUDE_ASM(void, "10400_len_d30", state_step_language_select, void);
void state_step_file_select(void) {
s32 temp = D_800A0931; // needed to match
@ -132,9 +132,9 @@ void state_init_exit_file_select(void) {
gOverrideFlags &= ~0x40;
}
INCLUDE_ASM(s32, "10400_len_d30", state_step_exit_language_select);
INCLUDE_ASM(void, "10400_len_d30", state_step_exit_language_select, void);
INCLUDE_ASM(s32, "10400_len_d30", state_step_exit_file_select);
INCLUDE_ASM(void, "10400_len_d30", state_step_exit_file_select, void);
void state_drawUI_exit_language_select(void) {
}

View File

@ -32,7 +32,7 @@ void init_enter_world_shared(void) {
timeFreezeMode = 0;
}
INCLUDE_ASM(s32, "111f0_len_860", state_step_enter_world);
INCLUDE_ASM(void, "111f0_len_860", state_step_enter_world, void);
void state_drawUI_enter_world(void) {
if (gGameStatusPtr->loadMenuState == 2) {
@ -53,7 +53,7 @@ void state_init_change_map(void) {
}
}
INCLUDE_ASM(s32, "111f0_len_860", state_step_change_map);
INCLUDE_ASM(void, "111f0_len_860", state_step_change_map, void);
void state_drawUI_change_map(void) {
if (D_800A0944 == 4 || D_800A0944 == 0) {
@ -68,7 +68,7 @@ void func_80036430(void) {
gPlayerStatus.flags |= 0x1000;
}
INCLUDE_ASM(s32, "111f0_len_860", func_8003646C);
INCLUDE_ASM(void, "111f0_len_860", func_8003646C, void);
void func_80036640(void) {
}

View File

@ -68,7 +68,7 @@ void state_init_intro(void) {
intro_logos_update_fade();
}
INCLUDE_ASM(s32, "11a50_len_7a0", state_step_intro);
INCLUDE_ASM(void, "11a50_len_7a0", state_step_intro, void);
void state_drawUI_intro(void) {
}

View File

@ -47,9 +47,9 @@ extern s32* D_800A0978;
extern s32* D_800A097C;
extern s32 D_800A0980;
INCLUDE_ASM(s32, "121f0_len_1290", state_init_title_screen);
INCLUDE_ASM(void, "121f0_len_1290", state_init_title_screen, void);
INCLUDE_ASM(s32, "121f0_len_1290", state_step_title_screen);
INCLUDE_ASM(void, "121f0_len_1290", state_step_title_screen, void);
void state_drawUI_title_screen(void) {
switch (gGameStatusPtr->loadMenuState) {

View File

@ -17,7 +17,7 @@ void state_init_demo(void) {
clear_script_list();
}
INCLUDE_ASM(s32, "13480_len_3f0", state_step_demo);
INCLUDE_ASM(void, "13480_len_3f0", state_step_demo, void);
void state_drawUI_demo(void) {

View File

@ -52,8 +52,8 @@ INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_16);
INCLUDE_ASM(void, "4ac90_len_3910", playFX_17, s32 arg0, f32 arg1, f32 arg2, f32 arg3);
INCLUDE_ASM(void, "4ac90_len_3910", playFX_18, s32 arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4, f32 arg5,
s32 arg6, s32 arg7);
INCLUDE_ASM(void, "4ac90_len_3910", playFX_18, s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5,
f32 arg6, s32 arg7);
INCLUDE_ASM(void, "4ac90_len_3910", playFX_19, s32 arg0, f32 arg1, f32 arg2, f32 arg3);
@ -63,7 +63,7 @@ INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_1B);
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_1C);
INCLUDE_ASM(void, "4ac90_len_3910", playFX_1D, s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5, s32 arg6, s32 arg7);
INCLUDE_ASM(void, "4ac90_len_3910", playFX_1D, s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5, f32 arg6, s32 arg7);
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_1E);
@ -114,7 +114,7 @@ INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_34);
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_35);
INCLUDE_ASM(void, "4ac90_len_3910", playFX_36, s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5);
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_36, s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5);
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_37);
@ -135,7 +135,7 @@ INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_3E);
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_3F, s32 a0, f32 a1, f32 a2, f32 a3, s32 a4);
INCLUDE_ASM(void, "4ac90_len_3910", playFX_40, s32 a0, f32 a1, f32 a2, f32 a3, s32 a4);
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_40, s32 a0, f32 a1, f32 a2, f32 a3, s32 a4);
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_41);
@ -179,7 +179,7 @@ INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_54, s32 arg0, f32 arg1, f3
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_55);
INCLUDE_ASM(void, "4ac90_len_3910", playFX_56, s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_56, s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_57);
@ -217,7 +217,7 @@ INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_67);
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_68);
INCLUDE_ASM(void, "4ac90_len_3910", playFX_69, s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_69, s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_6A);
@ -229,14 +229,14 @@ INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_6D);
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_6E);
INCLUDE_ASM(UNK_TYPE, "4ac90_len_3910", playFX_6F, s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4,
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_6F, s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4,
s32 arg5);
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_70);
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_71);
INCLUDE_ASM(UNK_TYPE, "4ac90_len_3910", playFX_72, s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4,
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_72, s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4,
f32 arg5, f32 arg6, s32 arg7, s32 arg8);
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_73);
@ -255,7 +255,7 @@ INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_79);
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_7A);
INCLUDE_ASM(void*, "4ac90_len_3910", playFX_7B, s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_7B, s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_7C);
@ -271,7 +271,7 @@ INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_81);
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_82, s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 time);
INCLUDE_ASM(void*, "4ac90_len_3910", playFX_83, s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_83, s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
INCLUDE_ASM(EffectInstance*, "4ac90_len_3910", playFX_84);

View File

@ -1,84 +0,0 @@
#include "common.h"
void fio_serialize_state(void);
s32 get_spirits_rescued(void) {
s32 storyProgress = get_variable(NULL, STORY_PROGRESS);
s32 ret = 7;
if (storyProgress < get_variable(NULL, -0x4D)) {
ret = 0;
} else if (storyProgress < get_variable(NULL, -0x37)) {
ret = 1;
} else if (storyProgress < get_variable(NULL, -0xF)) {
ret = 2;
} else if (storyProgress < get_variable(NULL, 5)) {
ret = 3;
} else if (storyProgress < get_variable(NULL, 0x25)) {
ret = 4;
} else if (storyProgress < get_variable(NULL, 0x39)) {
ret = 5;
} else if (storyProgress < get_variable(NULL, 0x57)) {
ret = 6;
}
return ret;
}
extern s32 D_800D95E8[];
INCLUDE_ASM(s32, "6240_len_c00", fio_calc_header_checksum);
INCLUDE_ASM(s32, "6240_len_c00", fio_validate_header_checksums);
INCLUDE_ASM(s32, "6240_len_c00", fio_has_valid_backup);
INCLUDE_ASM(s32, "6240_len_c00", fio_flush_backups);
#ifdef NON_MATCHING
s32 fio_calc_file_checksum(s32* saveData) {
u32 sum;
u32 i;
sum = 0;
i = 0;
for (i = 0; i < 0x4E0; i++) {
sum += saveData[i];
}
return sum;
}
#else
INCLUDE_ASM(s32, "6240_len_c00", fio_calc_file_checksum);
#endif
INCLUDE_ASM(s32, "6240_len_c00", fio_validate_file_checksum);
INCLUDE_ASM(s32, "6240_len_c00", fio_fetch_saved_file_info);
INCLUDE_ASM(s32, "6240_len_c00", fio_load_game);
INCLUDE_ASM(s32, "6240_len_c00", fio_save_game);
INCLUDE_ASM(s32, "6240_len_c00", fio_erase_game);
INCLUDE_ASM(s32, "6240_len_c00", fio_deserialize_state);
void func_8002B608(void) {
gGameStatusPtr->entryID = 10;
fio_serialize_state();
}
INCLUDE_ASM(void, "6240_len_c00", fio_serialize_state);
void fio_init_flash(void) {
osFlashInit();
}
INCLUDE_ASM(s32, "6240_len_c00", fio_read_flash);
INCLUDE_ASM(s32, "6240_len_c00", fio_write_flash);
void fio_erase_flash(s32 pageNum) {
osFlashSectorErase(pageNum * 128);
}

View File

@ -1,11 +1,44 @@
#include "common.h"
extern s32 D_800760C0;
extern Mtx D_8009BAA8[];
#include "no_controller.png.h"
#include "ld_addrs.h"
extern s32 D_80076078;
extern s32 D_80077140;
extern s32 D_800771E8;
extern s32 D_800760C0;
Gfx D_80077140[] = {
gsDPPipeSync(),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPSetTexturePersp(G_TP_NONE),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPSetTextureFilter(G_TF_POINT),
gsDPSetTextureConvert(G_TC_FILT),
gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM),
gsDPSetRenderMode(G_RM_XLU_SURF, G_RM_XLU_SURF2),
gsDPSetTextureLUT(G_TT_NONE),
gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_8b, no_controller_png_width, no_controller_png),
gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 16, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, 5, G_TX_NOLOD,
G_TX_NOMIRROR | G_TX_CLAMP, 7, G_TX_NOLOD),
gsDPLoadSync(),
gsDPLoadTile(G_TX_LOADTILE, 0, 0, 0x01FC, 0x007C),
gsDPPipeSync(),
gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 16, 0x0000, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, 5, G_TX_NOLOD,
G_TX_NOMIRROR | G_TX_CLAMP, 7, G_TX_NOLOD),
gsDPSetTileSize(G_TX_RENDERTILE, 0, 0, 0x01FC, 0x007C),
gsSPClearGeometryMode(G_CULL_BOTH | G_LIGHTING),
gsSPSetGeometryMode(G_SHADE | G_SHADING_SMOOTH),
gsSPEndDisplayList(),
};
Gfx D_800771E8[] = {
gsSPTextureRectangle(0x0180, 0x0260, 0x0380, 0x02E0, G_TX_RENDERTILE, 0, 0, 0x0400, 0x0400),
gsDPPipeSync(),
gsSPEndDisplayList(),
};
// BSS
extern Mtx D_8009BAA8[];
void initialize_curtains(void) {
gCurtainDrawCallback = NULL;

View File

@ -1,5 +1,53 @@
#include "common.h"
s32 D_80077210[] = {
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFF29FFFF,
0xFF2BFFFF, 0x2526FF2A, 0xFF272CFF, 0x00010203, 0x04050607, 0x080924FF, 0xFFFFFF28, 0xFF0A0B0C, 0x0D0E0F10,
0x11121314, 0x15161718, 0x191A1B1C, 0x1D1E1F20, 0x212223FF, 0xFFFFFFFF, 0xFF0A0B0C, 0x0D0E0F10, 0x11121314,
0x15161718, 0x191A1B1C, 0x1D1E1F20, 0x212223FF, 0xFFFFFFFF,
};
s32 D_80077290[] = {
0x70871C30, 0x8988A250, 0x88808290, 0x88831C90, 0x888402F8, 0x88882210, 0x71CF9C10, 0xF9CF9C70, 0x8228A288,
0xF200A288, 0x0BC11C78, 0x0A222208, 0x8A222288, 0x71C21C70, 0x23C738F8, 0x5228A480, 0x8A282280, 0x8BC822F0,
0xFA282280, 0x8A28A480, 0x8BC738F8, 0xF9C89C08, 0x82288808, 0x82088808, 0xF2EF8808, 0x82288888, 0x82288888,
0x81C89C70, 0x8A08A270, 0x920DA288, 0xA20AB288, 0xC20AAA88, 0xA208A688, 0x9208A288, 0x8BE8A270, 0xF1CF1CF8,
0x8A28A220, 0x8A28A020, 0xF22F1C20, 0x82AA0220, 0x82492220, 0x81A89C20, 0x8A28A288, 0x8A28A288, 0x8A289488,
0x8A2A8850, 0x894A9420, 0x894AA220, 0x70852220, 0xF8011000, 0x08020800, 0x10840400, 0x20040470, 0x40840400,
0x80020800, 0xF8011000, 0x70800000, 0x88822200, 0x08820400, 0x108F8800, 0x20821000, 0x00022200, 0x20800020,
0x00000000,
};
char* D_80077390[18] = {
"Interrupt",
"TLB modification",
"TLB exception on load",
"TLB exception on store",
"Address error on load",
"Address error on store",
"Bus error on inst.",
"Bus error on data",
"System call exception",
"Breakpoint exception",
"Reserved instruction",
"Coprocessor unusable",
"Arithmetic overflow",
"Trap exception",
"Virtual coherency on inst.",
"Floating point exception",
"Watchpoint exception",
"Virtual coherency on data",
};
char* D_800773D8[6] = {
"Unimplemented operation",
"Invalid operation",
"Division by zero",
"Overflow",
"Underflow",
"Inexact operation",
};
INCLUDE_ASM(s32, "7340_len_b00", crash_delay_msec);
INCLUDE_ASM(s32, "7340_len_b00", func_8002BFB0);

View File

@ -279,7 +279,8 @@ s32 D_8014C188[] = { 0xFFFE7960, 0x000F4240, 0x000F4240, 0x000F4240, 0x00000000,
s8 D_8014C248[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
// BSS
static s32 B_801512B0[3];
static s32 B_801512B0[2];
static CustomModelGfxBuilder* gCurrentCustomModelGfxBuilders;
static s32 D_801512BC;
static s32 D_801512C0;
static s32 D_801512C4;
@ -1221,7 +1222,10 @@ INCLUDE_ASM(s32, "a5dd0_len_114e0", set_mdl_custom_gfx_set);
INCLUDE_ASM(s32, "a5dd0_len_114e0", set_custom_gfx);
INCLUDE_ASM(s32, "a5dd0_len_114e0", set_custom_gfx_builders);
void set_custom_gfx_builders(s32 customGfxIndex, CustomModelGfxBuilderFunc pre, CustomModelGfxBuilderFunc post) {
gCurrentCustomModelGfxBuilders[customGfxIndex].pre = pre;
gCurrentCustomModelGfxBuilders[customGfxIndex].post = post;
}
INCLUDE_ASM(s32, "a5dd0_len_114e0", build_custom_gfx);

View File

@ -1,7 +1,82 @@
#include "common.h"
s32 gCurrentCameraID = 0;
s32 D_80077414[] = {0, 0, 0};
s32 D_80077420[] = {
0x000000E4, 0x000000E1, 0x000000EB, 0x000000EF, 0x000000F6, 0x0000010A, 0x0000010C, 0x00000121, 0x00000122,
0x00000123, 0x00000118, 0x0000010E, 0x00000131, 0x0000012E, 0x0000012F, 0x000000E0, 0x000000EE, 0x000000F0,
0x00000109, 0x0000010B, 0x00000107, 0x000000E8, 0x00000117, 0x00000108, 0x00000124, 0x00000125, 0x00000126,
0x0000010F, 0x0000012B, 0x0000012C, 0x000000E9, 0x00000106, 0x00000143, 0x000000ED, 0x00000129, 0x0000012A,
0x000000E7, 0x000000F8, 0x000000FF, 0x00000140, 0x00000105, 0x00000110, 0x00000119, 0x000000E3, 0x00000116,
0x00000113, 0x000000F4, 0x000000E2, 0x000000F5, 0x00000115, 0x00000101, 0x00000102, 0x0000012D, 0x00000111,
0x0000010D, 0x00000112, 0x000000F9, 0x00000130, 0x000000FB, 0x000000FA, 0x000000EC, 0x000000E5, 0x00000150,
0x000000F2, 0x00000100, 0x000000F1, 0x00000114, 0x000000F7, 0x000000F3, 0x00000145, 0x00000146, 0x00000147,
0x00000148, 0x00000149, 0x00000104, 0x000000FC, 0x00000103, 0x0000011A, 0x0000011B, 0x000000FD, 0x00000144,
0x0000011E, 0x000000FE, 0x0000011F, 0x0000011D, 0x0000011C, 0x000000E6, 0x00000120, 0x00000080, 0x00000081,
0x00000082, 0x00000084, 0x00000083, 0x00000086, 0x00000085, 0x00000088, 0x0000008B, 0x0000008A, 0x0000008C,
0x0000008E, 0x00000095, 0x0000008D, 0x00000089, 0x0000009B, 0x0000009E, 0x0000009F, 0x000000A0, 0x000000A1,
0x0000009D, 0x0000009C, 0x000000A4, 0x000000A3, 0x000000A2, 0x00000093, 0x00000094, 0x000000A5, 0x000000A6,
0x000000A7, 0x000000A8, 0x000000A9, 0x000000AA, 0x000000AB, 0x000000AC, 0x000000AD, 0x000000AE, 0x000000AF,
0x0000008F, 0x00000090, 0x00000091, 0x00000092, 0x0000009A, 0x00000098, 0x00000096, 0x00000097, 0x00000087,
0x000000B0, 0x000000B1, 0x000000B2, 0x000000B3, 0x000000B4, 0x000000B5, 0x000000B6, 0x000000B9, 0x000000B8,
0x000000B7, 0x000000BA, 0x000000BD, 0x000000BB, 0x000000BE, 0x000000BF, 0x000000BC, 0x000000C0, 0x000000C1,
0x000000C2, 0x000000C3, 0x000000C4, 0x000000C5, 0x000000C6, 0x000000C7, 0x000000C8, 0x000000C9, 0x000000CA,
0x000000CB, 0x000000CC, 0x000000CD, 0x000000CE, 0x000000CF, 0x000000D0, 0x000000D1, 0x000000D2, 0x000000D3,
0x000000D4, 0x000000D5, 0x000000D6, 0x000000D7, 0x000000D8, 0x000000D9, 0x000000DA,
};
StateFunc gameModeBlueprints[] = { NULL, state_init_startup, state_step_startup, NULL, state_drawUI_startup };
StateFunc D_800776FC[] = { NULL, state_init_logos, state_step_logos, NULL, state_drawUI_logos };
StateFunc D_80077710[] = { NULL, state_init_title_screen, state_step_title_screen, NULL, state_drawUI_title_screen };
StateFunc D_80077724[] = { NULL, state_init_enter_demo, state_step_enter_world, NULL, state_drawUI_enter_world };
StateFunc D_80077738[] = { NULL, state_init_change_map, state_step_change_map, NULL, state_drawUI_change_map };
StateFunc D_8007774C[] = { NULL, func_80036430, func_8003646C, NULL, func_80036640 };
StateFunc D_80077760[] = { NULL, state_init_enter_world, state_step_enter_world, NULL, state_drawUI_enter_world };
StateFunc D_80077774[] = { NULL, state_init_world, state_step_world, NULL, state_drawUI_world };
StateFunc D_80077788[] = { NULL, state_init_battle, state_step_battle, NULL, state_drawUI_battle };
StateFunc D_8007779C[] = { NULL, state_init_end_battle, state_step_end_battle, NULL, state_drawUI_end_battle };
StateFunc D_800777B0[] = { NULL, state_init_pause, state_step_pause, NULL, state_drawUI_pause };
StateFunc D_800777C4[] = { NULL, state_init_unpause, state_step_unpause, NULL, state_drawUI_unpause };
StateFunc D_800777D8[] = {
NULL, state_init_language_select, state_step_language_select, NULL, state_drawUI_language_select
};
StateFunc D_800777EC[] = {
NULL, state_init_exit_language_select, state_step_exit_language_select, NULL, state_drawUI_exit_language_select
};
StateFunc D_80077800[] = { NULL, state_init_file_select, state_step_file_select, NULL, state_drawUI_file_select };
StateFunc D_80077814[] = {
NULL, state_init_exit_file_select, state_step_exit_file_select, NULL, state_drawUI_exit_file_select
};
StateFunc D_80077828[] = { NULL, state_init_intro, state_step_intro, NULL, state_drawUI_intro };
StateFunc D_8007783C[] = { NULL, state_init_demo, state_step_demo, NULL, state_drawUI_demo };
StateFunc gameModeMap[] = {
&gameModeBlueprints, &D_800776FC, &D_80077710, &D_80077724, &D_80077774, &D_80077738, &D_8007774C, &D_80077760,
&D_80077788, &D_8007779C, &D_800777B0, &D_800777C4, &D_800777D8, &D_800777EC, &D_80077800, &D_80077814, &D_80077828,
&D_8007783C, NULL, NULL,
};
// BSS
extern s16 D_800A08F0;
extern s32 gameModeMap[];
s32 func_800328A4(Camera* camera, f32 arg1, f32 arg2);
void create_camera_leadplayer_matrix(Camera* camera);

View File

@ -8,9 +8,25 @@ s16 intro_logos_fade_in(s16 subtractAlpha);
s16 intro_logos_fade_out(s16 addAlpha);
void intro_logos_update_fade(void);
s32 D_800778A0[] = {
&D_8038F800, &D_803B5000, &D_803DA800, 0x00000000, 0xFFFFFF00, 0xFFFFFF00, 0x00000000, 0x00000000, 0x00000000,
0x00000000,
};
Gfx D_800778C8[] = {
gsDPPipeSync(),
gsDPSetCycleType(G_CYC_COPY),
gsDPSetTexturePersp(G_TP_NONE),
gsDPSetTextureLUT(G_TT_NONE),
gsDPSetCombineMode(G_CC_DECALRGB, G_CC_DECALRGB),
gsDPSetRenderMode(G_RM_NOOP, G_RM_NOOP2),
gsDPSetTextureFilter(G_TF_POINT),
gsSPEndDisplayList(),
};
// BSS
extern s32 D_800A0904;
extern s32 D_800A0908;
extern s16** D_800778A0;
void intro_logos_set_fade_alpha(s16 alpha) {
gGameStatusPtr->bootAlpha = alpha;
@ -136,7 +152,7 @@ void state_step_battle(void) {
update_cameras();
}
#else
INCLUDE_ASM(s32, "ebd0_len_6a0", state_step_battle);
INCLUDE_ASM(void, "ebd0_len_6a0", state_step_battle, void);
#endif
void state_drawUI_battle(void) {
@ -152,7 +168,7 @@ void state_init_end_battle(void) {
D_800A0900 = 5;
}
INCLUDE_ASM(s32, "ebd0_len_6a0", state_step_end_battle);
INCLUDE_ASM(void, "ebd0_len_6a0", state_step_end_battle, void);
void state_drawUI_end_battle(void) {
}

View File

@ -126,4 +126,574 @@ INCLUDE_ASM(ApiStatus, "evt/fx_api", ShowSleepBubble, ScriptInstance* script, s3
INCLUDE_ASM(ApiStatus, "evt/fx_api", func_802D8248, ScriptInstance* script, s32 isInitialCall);
s32 fx_sleep_bubble(s32, f32, f32, f32, f32, f32, EffectInstanceData**); // extern
s32 playFX_0A(f32, f32, s32, s32, f32, f32); // extern
s32 playFX_0B(s32, f32, f32, f32); // extern
s32 playFX_0C(f32, f32, s32, s32, f32, f32, f32); // extern
s32 playFX_0D(s32, f32, f32, f32, s32); // extern
s32 playFX_0E(f32, f32, s32, s32, f32, s32); // extern
s32 playFX_0F(s32, f32, f32, f32, f32, f32, f32, f32); // extern
s32 playFX_12(s32, f32, f32, f32, f32, f32, f32, s32); // extern
s32 playFX_13(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_14(s32, f32, f32, f32, s32); // extern
s32 playFX_15(s32, f32, f32, f32, s32); // extern
s32 playFX_16(s32, f32, f32, f32, f32); // extern
s32 playFX_1A(s32, f32, f32, f32, s32); // extern
s32 playFX_1B(s32, f32, f32, f32, f32, EffectInstanceData**); // extern
s32 playFX_1C(s32, f32, f32, f32, s32); // extern
s32 playFX_1E(s32, f32, f32, f32, f32, f32, s32, s32*); // extern
s32 playFX_1F(s32, f32, f32, f32, f32, f32, f32, f32); // extern
s32 playFX_20(s32, f32, f32, f32, f32, EffectInstanceData**); // extern
s32 playFX_21(s32, f32, f32, f32, f32, f32, s32); // extern
s32 playFX_23(s32, f32, f32, f32, f32); // extern
s32 playFX_24(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_25(s32, f32, f32, f32); // extern
s32 playFX_27(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_2B(s32, f32, f32, f32); // extern
s32 playFX_2C(s32, f32, f32, f32); // extern
s32 playFX_34(s32, f32, f32, f32, f32, EffectInstanceData**); // extern
s32 playFX_35(s32, f32, f32, f32, f32, EffectInstanceData**); // extern
s32 playFX_37(s32, f32, f32, f32, f32, f32, f32, s32, s32, s32); // extern
s32 playFX_38(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_39(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_3A(s32, f32, f32, f32, f32, f32, s32, s32); // extern
s32 playFX_3C(s32, f32, f32, f32, f32, EffectInstanceData**); // extern
s32 playFX_3E(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_41(s32, f32, f32, f32, s32); // extern
s32 playFX_42(s32, s32, s32, f32, s32, s32); // extern
s32 playFX_43(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_44(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_45(s32, s32); // extern
s32 playFX_46_whirlwind(s32, s32, f32, s32); // extern
s32 playFX_47(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_48(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_49(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_4A(s32, f32, f32, f32, f32, f32); // extern
s32 playFX_4B(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_4C(s32, f32, f32, f32, f32, f32, f32, f32, s32); // extern
s32 playFX_4D(s32, f32, f32, f32, f32, s32, f32, s32, f32, s32); // extern
s32 playFX_4F(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_53(s32, f32, f32, f32); // extern
s32 playFX_55(s32, f32, f32, f32); // extern
s32 playFX_57(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_58(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_59(s32, f32, f32, f32, f32, f32, f32, f32, s32); // extern
s32 playFX_5A(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_5B(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_5C(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_5D(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_5E(s32, f32, f32, f32, f32, f32, f32, f32, s32); // extern
s32 playFX_5F(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_60(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_61(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_62(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_63(s32, f32, f32, f32, f32, f32, f32, f32, s32, s32); // extern
s32 playFX_64(s32, f32, f32, f32, f32, f32, f32, f32, s32); // extern
s32 playFX_65(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_66(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_67(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_68(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_6C(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_6D(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_6E(s32, f32, f32, f32, f32, f32, f32, s32); // extern
s32 playFX_70(s32, f32, f32, f32, f32, f32, f32, s32, s32, f32, f32); // extern
s32 playFX_71(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_73(s32, f32, f32, f32, f32, s32, s32); // extern
s32 playFX_74(s32, f32, f32, f32, f32, f32, f32, f32, f32); // extern
s32 playFX_75(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_77(s32, f32, f32, f32, f32, f32, f32, f32, s32); // extern
s32 playFX_78(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_79(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_7A(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_7C(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_7D(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_7E(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_7F(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_81(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_82(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_84(s32, f32, f32, f32, f32, f32); // extern
s32 playFX_85(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_86(s32, f32, f32, f32, f32, s32); // extern
#ifdef NON_MATCHING
s32 PlayEffect(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
Bytecode* floatArgs = args;
Bytecode* intArgs = args;
s32 effectID;
s32 fxReturn = 0;
s32 iArg1;
s32 iArg2;
s32 iArg3;
s32 iArg4;
s32 iArg5;
s32 iArg6;
s32 iArg7;
s32 iArg8;
s32 iArg9;
s32 iArg10;
s32 a7;
f32 fArg1;
f32 fArg2;
f32 fArg3;
f32 fArg4;
f32 fArg5;
f32 fArg6;
f32 fArg7;
f32 fArg8;
f32 fArg9;
f32 fArg10;
f32 fArg11;
s32 a2;
s32* a6;
s32* a8;
s32 a9;
s32 sp3C;
EffectInstanceData* sp34;
s32 sp30;
effectID = get_variable(script, *args++);
get_variable(script, *floatArgs++);
get_variable(script, *intArgs++);
iArg1 = get_variable(script, *intArgs++);
iArg2 = get_variable(script, *intArgs++);
iArg3 = get_variable(script, *intArgs++);
iArg4 = get_variable(script, *intArgs++);
iArg5 = get_variable(script, *intArgs++);
iArg6 = get_variable(script, *intArgs++);
iArg7 = get_variable(script, *intArgs++);
iArg8 = get_variable(script, *intArgs++);
iArg9 = get_variable(script, *intArgs++);
iArg10 = get_variable(script, *intArgs++);
get_variable(script, *intArgs++);
get_variable(script, *intArgs++);
get_variable(script, *intArgs++);
fArg1 = get_float_variable(script, *floatArgs++);
fArg2 = get_float_variable(script, *floatArgs++);
fArg3 = get_float_variable(script, *floatArgs++);
fArg4 = get_float_variable(script, *floatArgs++);
fArg5 = get_float_variable(script, *floatArgs++);
fArg6 = get_float_variable(script, *floatArgs++);
fArg7 = get_float_variable(script, *floatArgs++);
fArg8 = get_float_variable(script, *floatArgs++);
fArg9 = get_float_variable(script, *floatArgs++);
fArg10 = get_float_variable(script, *floatArgs++);
fArg11 = get_float_variable(script, *floatArgs++);
get_float_variable(script, *floatArgs++);
get_float_variable(script, *floatArgs++);
args++;
a2 = *args;
args++;
args++;
args++;
args++;
a6 = *args++;
a7 = *args++;
a8 = *args++;
a9 = *args++;
switch (effectID) {
case 0:
playFX_3E(0, fArg1, fArg2, fArg3, 3.0f, iArg5);
break;
case 1:
playFX_01(fArg1, fArg2, fArg3);
break;
case 6:
fx_land(iArg1, fArg2, fArg3, fArg4, fArg5);
break;
case 7:
fx_walk(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6);
break;
case 8:
playFX_08(fArg1, fArg2, fArg3, fArg4);
break;
case 9:
playFX_09(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6);
break;
case 10:
playFX_0A(fArg1, fArg2, iArg1, a2, fArg3, fArg4);
break;
case 11:
playFX_0B(iArg1, fArg2, fArg3, fArg4);
break;
case 12:
playFX_0C(fArg1, fArg2, iArg1, a2, fArg3, fArg4, fArg5);
break;
case 13:
playFX_0D(0, fArg1, fArg2, fArg3, iArg4);
break;
case 14:
playFX_0E(fArg1, fArg2, iArg1, a2, fArg3, iArg4);
break;
case 15:
playFX_0F(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6, fArg7, fArg8);
break;
case 16:
fx_emote(iArg1, a2, fArg3, fArg4, fArg5, fArg6, fArg7, iArg8, &sp30);
set_variable(script, *a8, sp30);
break;
case 17:
playFX_11(iArg1, fArg2, fArg3, fArg4, fArg5);
break;
case 18:
playFX_12(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6, fArg7, iArg8);
break;
case 19:
playFX_13(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 20:
playFX_14(iArg1, fArg2, fArg3, fArg4, iArg5);
break;
case 21:
playFX_15(iArg1, fArg2, fArg3, fArg4, iArg5);
break;
case 22:
playFX_16(iArg1, fArg2, fArg3, fArg4, fArg5);
break;
case 23:
playFX_17(iArg1, fArg2, fArg3, fArg4);
break;
case 24:
playFX_18(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6, fArg7, iArg8);
break;
case 25:
playFX_19(iArg1, fArg2, fArg3, fArg4);
break;
case 26:
playFX_1A(iArg1, fArg2, fArg3, fArg4, iArg5);
break;
case 27:
playFX_1B(iArg1, fArg2, fArg3, fArg4, fArg5, &sp34);
set_variable(script, *a6, sp34);
case 28:
playFX_1C(iArg1, fArg2, fArg3, fArg4, iArg5);
break;
case 29:
playFX_1D(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6, fArg7, iArg8);
break;
case 30:
playFX_1E(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6, iArg7, &sp30);
set_variable(script, *a8, sp30);
break;
case 31:
playFX_1F(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6, fArg7, fArg8);
break;
case 33:
playFX_21(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6, iArg7);
break;
case 34:
playFX_22(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6, iArg7, iArg8);
break;
case 35:
playFX_23(iArg1, fArg2, fArg3, fArg4, fArg5);
break;
case 36:
playFX_24(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 37:
playFX_25(iArg1, fArg2, fArg3, fArg4);
break;
case 38:
playFX_26(iArg1, fArg2, fArg3, fArg4);
break;
case 39:
playFX_27(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 40:
fx_sweat(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6, iArg7);
break;
case 41:
fx_sleep_bubble(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6, &sp34);
set_variable(script, a7, sp34);
break;
case 43:
playFX_2B(iArg1, fArg2, fArg3, fArg4);
break;
case 32:
playFX_20(iArg1, fArg2, fArg3, fArg4, fArg5, &sp34);
set_variable(script, *a6, sp34);
case 44:
playFX_2C(iArg1, fArg2, fArg3, fArg4);
break;
case 45:
playFX_2D(iArg1, fArg2, fArg3, fArg4, iArg5, iArg6);
break;
case 46:
playFX_2E(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 47:
playFX_2F(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6, &sp34);
set_variable(script, a7, sp34);
break;
case 48:
playFX_30(iArg1, fArg2, fArg3, fArg4);
break;
case 49:
playFX_31(iArg1, fArg2, fArg3, fArg4);
break;
case 50:
playFX_32(iArg1, fArg2, fArg3, fArg4, fArg5);
break;
case 51:
playFX_33(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 52:
playFX_34(iArg1, fArg2, fArg3, fArg4, fArg5, &sp34);
set_variable(script, *a6, sp34);
case 53:
playFX_35(iArg1, fArg2, fArg3, fArg4, fArg5, &sp34);
set_variable(script, *a6, sp34);
case 54:
fxReturn = playFX_36(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6);
break;
case 55:
fxReturn = playFX_37(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6, fArg7, iArg8, iArg9, iArg10);
break;
case 56:
playFX_38(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 57:
playFX_39(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 58:
playFX_3A(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6, iArg7, iArg8);
break;
case 59:
playFX_3B(iArg1, fArg2, fArg3, fArg4, fArg5, &sp34);
set_variable(script, *a6, sp34);
case 60:
playFX_3C(iArg1, fArg2, fArg3, fArg4, fArg5, &sp34);
set_variable(script, *a6, sp34);
break;
case 61:
playFX_3D(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6, fArg7, iArg8, &sp3C);
set_variable(script, a9, sp3C);
break;
case 62:
playFX_3E(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 63:
fxReturn = playFX_3F(iArg1, fArg2, fArg3, fArg4, iArg5);
break;
case 64:
fxReturn = playFX_40(iArg1, fArg2, fArg3, fArg4, iArg5);
break;
case 65:
fxReturn = playFX_41(iArg1, fArg2, fArg3, fArg4, iArg5);
break;
case 66:
fxReturn = playFX_42(iArg1, iArg2, iArg3, fArg4, iArg5, iArg6);
break;
case 67:
fxReturn = playFX_43(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 68:
fxReturn = playFX_44(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 69:
fxReturn = playFX_45(iArg1, iArg2);
break;
case 70:
fxReturn = playFX_46_whirlwind(iArg1, a2, fArg3, iArg4);
break;
case 71:
fxReturn = playFX_47(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 72:
fxReturn = playFX_48(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 73:
fxReturn = playFX_49(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 74:
fxReturn = playFX_4A(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6);
break;
case 75:
fxReturn = playFX_4B(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 76:
fxReturn = playFX_4C(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6, fArg7, fArg8, iArg9);
break;
case 77:
fxReturn = playFX_4D(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6, fArg7, fArg8, fArg9, iArg10);
break;
case 78:
fxReturn = playFX_4E(iArg1, fArg2, fArg3, fArg4);
break;
case 79:
fxReturn = playFX_4F(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 82:
fxReturn = playFX_52(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 83:
fxReturn = playFX_53(iArg1, fArg2, fArg3, fArg4);
break;
case 81:
fxReturn = playFX_51(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 86:
fxReturn = playFX_56(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 87:
fxReturn = playFX_57(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 88:
fxReturn = playFX_58(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 89:
fxReturn = playFX_59(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6, fArg7, fArg8, iArg9);
break;
case 90:
fxReturn = playFX_5A(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 91:
fxReturn = playFX_5B(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 92:
fxReturn = playFX_5C(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 93:
fxReturn = playFX_5D(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 94:
fxReturn = playFX_5E(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6, fArg7, fArg8, iArg9);
break;
case 95:
fxReturn = playFX_5F(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 96:
fxReturn = playFX_60(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 97:
fxReturn = playFX_61(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 98:
fxReturn = playFX_62(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 99:
fxReturn = playFX_63(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6, fArg7, fArg8, iArg9, iArg10);
break;
case 100:
fxReturn = playFX_64(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6, fArg7, fArg8, iArg9);
break;
case 101:
fxReturn = playFX_65(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 102:
fxReturn = playFX_66(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 103:
fxReturn = playFX_67(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 104:
fxReturn = playFX_68(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 105:
fxReturn = playFX_69(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 107:
fxReturn = playFX_6B(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 108:
fxReturn = playFX_6C(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 109:
fxReturn = playFX_6D(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 110:
fxReturn = playFX_6E(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6, fArg7, iArg8);
break;
case 111:
fxReturn = playFX_6F(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 112:
fxReturn = playFX_70(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6, fArg7, iArg8, iArg9, fArg10, fArg11);
break;
case 113:
fxReturn = playFX_71(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 114:
fxReturn = playFX_72(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6, fArg7, iArg8, iArg9);
break;
case 115:
fxReturn = playFX_73(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6, iArg7);
break;
case 116:
fxReturn = playFX_74(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6, fArg7, fArg8, fArg9);
break;
case 117:
fxReturn = playFX_75(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 119:
fxReturn = playFX_77(iArg1, fArg2, fArg3, fArg4, fArg5, fArg6, fArg7, fArg8, iArg9);
break;
case 120:
fxReturn = playFX_78(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 85:
fxReturn = playFX_55(iArg1, fArg2, fArg3, fArg4);
break;
case 121:
fxReturn = playFX_79(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 122:
fxReturn = playFX_7A(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 123:
fxReturn = playFX_7B(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 124:
fxReturn = playFX_7C(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 125:
fxReturn = playFX_7D(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 126:
fxReturn = playFX_7E(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 127:
fxReturn = playFX_7F(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 128:
fxReturn = playFX_80(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 129:
fxReturn = playFX_81(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 130:
fxReturn = playFX_82(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 131:
fxReturn = playFX_83(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 132:
fxReturn = playFX_84(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 133:
fxReturn = playFX_85(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
case 134:
fxReturn = playFX_86(iArg1, fArg2, fArg3, fArg4, fArg5, iArg6);
break;
default:
PANIC();
}
if (fxReturn != 0) {
set_variable(script, SI_VAR(15), fxReturn);
}
return ApiStatus_DONE2;
}
#else
INCLUDE_ASM(ApiStatus, "evt/fx_api", PlayEffect, ScriptInstance* script, s32 isInitialCall);
#endif

View File

@ -17,7 +17,7 @@ Gfx D_80077908[] = {
// probably a file split
static s32 padding[] = {0, 0};
s32 D_80077950[] = { 0x8038F800, 0x803B5000, &D_803DA800 };
s32 D_80077950[] = { &D_8038F800, &D_803B5000, &D_803DA800 };
// TODO the gPauseMenuIconScripts should be DATA_START
// TODO the gPauseMenuHeldButtons should be BSS_START

169
src/fio.c Normal file
View File

@ -0,0 +1,169 @@
#include "common.h"
u32 magicSaveString[] = {
ASCII_TO_U32('M','a','r','i'),
ASCII_TO_U32('o',' ','S','t'),
ASCII_TO_U32('o','r','y',' '),
ASCII_TO_U32('0','0','6',0),
}; // "Mario Story 006";
extern s32 logicalSaveInfo[4][2]; // 0x8009BA30
extern s32 physicalSaveInfo[6][2]; // 0x8009BA50
extern s32 nextAvailableSavePage; // 0x8009BA80
extern s32 D_800D95E8[];
void fio_serialize_state(void);
s32 get_spirits_rescued(void) {
s32 storyProgress = get_variable(NULL, STORY_PROGRESS);
s32 ret = 7;
if (storyProgress < get_variable(NULL, -0x4D)) {
ret = 0;
} else if (storyProgress < get_variable(NULL, -0x37)) {
ret = 1;
} else if (storyProgress < get_variable(NULL, -0xF)) {
ret = 2;
} else if (storyProgress < get_variable(NULL, 5)) {
ret = 3;
} else if (storyProgress < get_variable(NULL, 0x25)) {
ret = 4;
} else if (storyProgress < get_variable(NULL, 0x39)) {
ret = 5;
} else if (storyProgress < get_variable(NULL, 0x57)) {
ret = 6;
}
return ret;
}
s32 fio_calc_header_checksum(void) {
u32 sum = 0;
s32* it = D_800D95E8;
u32 i;
for (i = 0; i < 0x20; i++, it++) {
sum += *it;
}
return sum;
}
#ifdef NON_MATCHING
s32 fio_validate_header_checksums(void) {
SaveData* saveData = D_800D95E8;
if (!strcmp(saveData->magicString, magicSaveString) && saveData->crc1 == ~saveData->crc2) {
return fio_calc_header_checksum() == saveData->crc1;
}
return FALSE;
}
#else
INCLUDE_ASM(s32, "fio", fio_validate_header_checksums);
#endif
s32 fio_has_valid_backup(void) {
fio_read_flash(6, &D_800D95E8, 0x80);
if (fio_validate_header_checksums() == FALSE) {
fio_read_flash(7, &D_800D95E8, 0x80);
if (fio_validate_header_checksums() == FALSE) {
bzero(&D_800D95E8, 0x80);
return FALSE;
}
}
return TRUE;
}
INCLUDE_ASM(s32, "fio", fio_flush_backups);
s32 fio_calc_file_checksum(SaveData* saveData) {
u32 sum = 0;
s32* it = saveData;
u32 i;
for (i = 0; i < 0x4E0; i++, it++) {
sum += *it;
}
return sum;
}
s32 fio_validate_file_checksum(SaveData* saveData) {
if (!strcmp(saveData->magicString, magicSaveString) && saveData->crc1 == ~saveData->crc2) {
return fio_calc_file_checksum(saveData) == saveData->crc1;
}
return FALSE;
}
INCLUDE_ASM(s32, "fio", fio_fetch_saved_file_info);
s32 fio_load_game(s32 saveSlot) {
gGameStatusPtr->saveSlot = saveSlot;
fio_fetch_saved_file_info();
fio_read_flash(logicalSaveInfo[saveSlot][0], &gCurrentSaveFile, sizeof(SaveData));
if (strcmp(gCurrentSaveFile.magicString, magicSaveString) == 0) {
if (gGameStatusPtr->saveCount < gCurrentSaveFile.saveCount) {
gGameStatusPtr->saveCount = gCurrentSaveFile.saveCount;
}
fio_deserialize_state();
return TRUE;
}
return FALSE;
}
void fio_save_game(s32 saveSlot) {
fio_fetch_saved_file_info();
gGameStatusPtr->saveSlot = saveSlot;
fio_serialize_state();
strcpy(gCurrentSaveFile.magicString, magicSaveString);
gCurrentSaveFile.saveSlot = saveSlot;
gGameStatusPtr->saveCount++;
gCurrentSaveFile.saveCount = gGameStatusPtr->saveCount;
gCurrentSaveFile.crc1 = 0;
gCurrentSaveFile.crc2 = -1;
gCurrentSaveFile.crc1 = fio_calc_file_checksum(&gCurrentSaveFile);
gCurrentSaveFile.crc2 = ~gCurrentSaveFile.crc1;
fio_erase_flash(nextAvailableSavePage);
fio_write_flash(nextAvailableSavePage, &gCurrentSaveFile, sizeof(SaveData));
}
void fio_erase_game(s32 saveSlot) {
s32 i;
fio_fetch_saved_file_info();
for (i = 0; i < 6; i++) {
if (physicalSaveInfo[i][0] == saveSlot) {
fio_erase_flash(i);
}
}
}
INCLUDE_ASM(s32, "fio", fio_deserialize_state);
void func_8002B608(void) {
gGameStatusPtr->entryID = 10;
fio_serialize_state();
}
INCLUDE_ASM(void, "fio", fio_serialize_state);
void fio_init_flash(void) {
osFlashInit();
}
INCLUDE_ASM(s32, "fio", fio_read_flash, s32 pageNum, s32* readBuffer, s32 numBytes);
INCLUDE_ASM(s32, "fio", fio_write_flash);
void fio_erase_flash(s32 pageNum) {
osFlashSectorErase(pageNum * 128);
}

View File

@ -1,5 +1,10 @@
#include "common.h"
s32 D_800773F0 = 1;
s32 D_800773F4 = 0;
s32 D_800773F8 = 0;
s32 D_800773FC = 0;
INCLUDE_ASM(s32, "os/nusys/7e40_len_3f0", nuGfxTaskMgr);
INCLUDE_ASM(s32, "os/nusys/7e40_len_3f0", nuGfxTaskMgrInit);

View File

@ -1,6 +1,8 @@
#include "common.h"
#include "nu/nusys.h"
s32 D_80077400[] = {0, 0, 0, 0};
INCLUDE_ASM(u8, "os/nusys/nuSiMgr", nuSiMgrInit);
INCLUDE_ASM(s32, "os/nusys/nuSiMgr", nuSiSendMesg, NUScMsg mesg, void* dataPtr);

View File

@ -41,7 +41,6 @@ extern SpriteAnimData* spr_npcSprites[0xEA];
extern struct spr_playerCurrentAnimInfo spr_playerCurrentAnimInfo[3];
extern struct D_802DFA48 D_802DFA48[51];
extern u8 spr_npcSpriteInstanceCount[];
extern s32 gSpriteHeapPtr;
void spr_init_player_raster_cache(s32 cacheSize, s32 maxRasterSize);

View File

@ -430,33 +430,26 @@ ApiStatus N(func_80240B94_BE4344)(ScriptInstance* script, s32 isInitialCall) {
#include "world/common/UnkNpcAIFunc23.inc.c"
#ifdef NON_MATCHING
// second npc_raycast_down_sides call
//second npc_raycast_down_sides call
void N(func_80241040_BE47F0)(ScriptInstance* script, NpcAISettings* aiSettings, EnemyTerritoryThing* territory) {
Enemy* enemy = script->owner1.enemy;
Npc* npc = get_npc_unsafe(enemy->npcID);
f32 temp_f24;
f32 yPhi;
f32 posX, posY, posZ, posW;
s32 var;
f32 temp_f0;
f32 phi_f4;
s32 phi_v0;
s32 phi_s4 = 0;
s32 cond = FALSE;
f32 a = enemy->varTable[7];
f32 temp_f2 = a / 100.0;
f32 b = enemy->varTable[3];
f32 temp_f26 = b / 100.0;
f32 c = enemy->varTable[4];
f32 temp_f20 = c / 100.0;
f32 d = enemy->varTable[1];
f32 temp_f22 = d / 100.0;
f32 vt7 = (f32)enemy->varTable[7] / 100.0;
f32 vt3 = (f32)enemy->varTable[3] / 100.0;
f32 vtY = (f32)enemy->varTable[4] / 100.0;
f32 vt1 = (f32)enemy->varTable[1] / 100.0;
enemy->varTable[4] = npc->pos.y * 100.0;
temp_f24 = temp_f26 + temp_f2;
temp_f24 = vt3 + vt7;
if ((enemy->varTable[0] & 0x11) == 1) {
if (npc->flags & 8) {
if (temp_f22 < (temp_f24 - npc->pos.y)) {
if (vt1 < temp_f24 - npc->pos.y) {
enemy->varTable[0] |= 0x10;
}
} else {
@ -465,53 +458,49 @@ void N(func_80241040_BE47F0)(ScriptInstance* script, NpcAISettings* aiSettings,
posZ = npc->pos.z;
posW = 1000.0f;
npc_raycast_down_sides(npc->unk_80, &posX, &posY, &posZ, &posW);
if (temp_f22 < (temp_f26 - posW)) {
if (vt1 < (vt3 - posW)) {
enemy->varTable[0] |= 0x10;
}
}
}
if ((enemy->varTable[0] & 0x11) == 0x11) {
f64 test;
if (npc->flags & 8) {
phi_f4 = temp_f24;
test = temp_f20 + ((phi_f4 - temp_f20) * 0.09);
//npc->pos.y = temp_f20 + ((phi_f4 - temp_f20) * 0.09);
npc->pos.y = test;
yPhi = temp_f24;
npc->pos.y = ((yPhi - vtY) * 0.09) + vtY;
} else {
posX = npc->pos.x;
posY = temp_f20;
posY = vtY;
posZ = npc->pos.z;
posW = 1000.0f;
npc_raycast_down_sides(npc->unk_80, &posX, &posY, &posZ, &posW);
phi_f4 = posY;
phi_f4 += temp_f26;
d = temp_f20 + ((phi_f4 - temp_f20) * 0.09);
test = d;
npc->pos.y = test;
//npc->pos.y = temp_f20 + ((phi_f4 - temp_f20) * 0.09);
}
//npc->pos.y = temp_f20 + ((phi_f4 - temp_f20) * 0.09);
if (fabsf(phi_f4 - npc->pos.y) < 1.0) {
npc->pos.y = phi_f4;
npc_raycast_down_sides(npc->unk_80, &posX, &posY, &posZ, &posW);
yPhi = posY;
yPhi += vt3;
npc->pos.y = vtY + ((yPhi - vtY) * 0.09);
}
if (fabsf(yPhi - npc->pos.y) < 1.0) {
npc->pos.y = yPhi;
enemy->varTable[0] &= ~0x10;
}
} else if (enemy->varTable[1] > 0) {
temp_f0 = sin_deg(enemy->varTable[2]);
f32 sinTheta = sin_deg(enemy->varTable[2]);
s32 rayHit;
if (npc->flags & 8) {
phi_v0 = FALSE;
rayHit = FALSE;
} else {
posX = npc->pos.x;
posY = npc->pos.y;
posZ = npc->pos.z;
posW = 1000.0f;
phi_v0 = npc_raycast_down_sides(npc->unk_80, &posX, &posY, &posZ, &posW);
rayHit = npc_raycast_down_sides(npc->unk_80, &posX, &posY, &posZ, &posW);
}
if (phi_v0) {
npc->pos.y = posY + temp_f26 + (temp_f0 * temp_f22);
if (rayHit) {
npc->pos.y = posY + vt3 + (sinTheta * vt1);
} else {
npc->pos.y = temp_f24 + (temp_f0 * temp_f22);
npc->pos.y = temp_f24 + (sinTheta * vt1);
}
enemy->varTable[2] = clamp_angle(enemy->varTable[2] + 10);
}
@ -522,6 +511,8 @@ void N(func_80241040_BE47F0)(ScriptInstance* script, NpcAISettings* aiSettings,
script->functionTemp[1].s = aiSettings->unk_14;
if ((gPlayerStatusPtr->position.y < ((npc->pos.y + npc->collisionHeight) + 10.0)) &&
func_800490B4(territory, enemy, aiSettings->alertRadius, aiSettings->unk_10.f, 0)) {
s32 var;
fx_emote(0, npc, 0.0f, npc->collisionHeight, 1.0f, 2.0f, -20.0f, 12, &var);
npc->moveToPos.y = npc->pos.y;
ai_enemy_play_sound(npc, 0x2F4, 0x200000);
@ -546,11 +537,11 @@ void N(func_80241040_BE47F0)(ScriptInstance* script, NpcAISettings* aiSettings,
posW = dist2D(enemy->territory->wander.point.x, enemy->territory->wander.point.z, npc->pos.x, npc->pos.z);
if (npc->moveSpeed < posW) {
npc->yaw = atan2(npc->pos.x, npc->pos.z, enemy->territory->wander.point.x, enemy->territory->wander.point.z);
phi_s4 = 1;
cond = TRUE;
}
}
if (enemy->territory->wander.wanderSizeX | enemy->territory->wander.wanderSizeZ | phi_s4) {
if (enemy->territory->wander.wanderSizeX | enemy->territory->wander.wanderSizeZ | cond) {
if (npc->turnAroundYawAdjustment == 0) {
npc_move_heading(npc, npc->moveSpeed, npc->yaw);
} else {
@ -559,13 +550,11 @@ void N(func_80241040_BE47F0)(ScriptInstance* script, NpcAISettings* aiSettings,
}
enemy->varTable[4] = npc->pos.y * 100.0;
if (aiSettings->moveTime > 0) {
if ((npc->duration <= 0) || (--npc->duration <= 0)) {
script->functionTemp[0].s = 2;
script->functionTemp[1].s = (rand_int(1000) % 3) + 2;
if ((aiSettings->unk_2C <= 0) || (aiSettings->waitTime <= 0) || (script->functionTemp[1].s < 3)) {
script->functionTemp[0].s = 0;
}
if (aiSettings->moveTime > 0 && (npc->duration <= 0 || --npc->duration <= 0)) {
script->functionTemp[0].s = 2;
script->functionTemp[1].s = (rand_int(1000) % 3) + 2;
if (aiSettings->unk_2C <= 0 || aiSettings->waitTime <= 0 || script->functionTemp[1].s < 3) {
script->functionTemp[0].s = 0;
}
}
}

View File

@ -1,3 +1,6 @@
#include "end_00.h"
INCLUDE_ASM(s32, "world/area_end/end_00/DF6A00", func_80240000_DF6A00);
ApiStatus func_80240000_DF6A00(ScriptInstance* script, s32 isInitialCall) {
gGameStatusPtr->playerSpriteSet = 3;
return ApiStatus_BLOCK;
}

View File

@ -34,17 +34,37 @@ INCLUDE_ASM(s32, "world/area_end/end_00/DF6A20", func_80242358_DF8D58);
INCLUDE_ASM(s32, "world/area_end/end_00/DF6A20", func_80242500_DF8F00);
INCLUDE_ASM(s32, "world/area_end/end_00/DF6A20", func_80242558_DF8F58);
ApiStatus func_80242558_DF8F58(ScriptInstance* script, s32 isInitialCall) {
func_80242500_DF8F00();
load_font(1);
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_end/end_00/DF6A20", func_80242580_DF8F80);
INCLUDE_ASM(s32, "world/area_end/end_00/DF6A20", func_80242680_DF9080);
INCLUDE_ASM(s32, "world/area_end/end_00/DF6A20", func_80242744_DF9144);
ApiStatus func_80242744_DF9144(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 var1 = get_variable(script, *args++);
s32 a1 = *args++;
INCLUDE_ASM(s32, "world/area_end/end_00/DF6A20", func_802427A4_DF91A4);
set_variable(script, a1, _heap_malloc(&gSpriteHeapPtr, var1));
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_end/end_00/DF6A20", func_802427D8_DF91D8);
ApiStatus func_802427A4_DF91A4(ScriptInstance* script, s32 isInitialCall) {
_heap_free(&gSpriteHeapPtr, get_variable(script, *script->ptrReadPos));
return ApiStatus_DONE2;
}
ApiStatus func_802427D8_DF91D8(ScriptInstance* script, s32 isInitialCall) {
Camera* camera = &gCameras[gCurrentCameraID];
camera->unk_506 = 1;
camera->movePos.x += 0.6666667f;
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_end/end_00/DF6A20", func_80242830_DF9230);

View File

@ -1,6 +1,6 @@
#include "end_00.h"
INCLUDE_ASM(s32, "world/area_end/end_00/DF9300", func_80242900_DF9300);
#include "world/common/PlayFX3D.inc.c"
INCLUDE_ASM(s32, "world/area_end/end_00/DF9300", func_80242A30_DF9430);

View File

@ -1,3 +1,5 @@
#include "end_01.h"
INCLUDE_ASM(s32, "world/area_end/end_01/E05360", func_80240000_E05360);
ApiStatus func_80240000_E05360(ScriptInstance* script, s32 isInitialCall) {
return ApiStatus_BLOCK;
}

View File

@ -1,3 +1,6 @@
#include "end_01.h"
INCLUDE_ASM(s32, "world/area_end/end_01/E05370", func_80240010_E05370);
ApiStatus func_80240010_E05370(void) {
gCameras[0].vfov = 35.0f;
return ApiStatus_DONE2;
}

View File

@ -14,7 +14,7 @@ INCLUDE_ASM(s32, "world/area_mac/mac_05/855560", func_80243948_855AB8);
INCLUDE_ASM(s32, "world/area_mac/mac_05/855560", func_80243AB8_855C28);
INCLUDE_ASM(s32, "world/area_mac/mac_05/855560", func_80243BA4_855D14);
#include "world/common/PlayFX3D.inc.c"
INCLUDE_ASM(s32, "world/area_mac/mac_05/855560", func_80243CD4_855E44);

View File

@ -14,7 +14,7 @@ INCLUDE_ASM(s32, "world/area_mac/mac_06/865000", func_80240A18_865558);
INCLUDE_ASM(s32, "world/area_mac/mac_06/865000", func_80240B88_8656C8);
INCLUDE_ASM(s32, "world/area_mac/mac_06/865000", func_80240C74_8657B4);
#include "world/common/PlayFX3D.inc.c"
INCLUDE_ASM(s32, "world/area_mac/mac_06/865000", func_80240DA4_8658E4);

View File

@ -3,22 +3,167 @@
static char* N(exit_str_0) = "tst_03";
static char* N(exit_str_1) = "";
INCLUDE_ASM(s32, "world/area_tst/tst_04/B1B570", func_80240000_B1B570);
void func_8024029C_B1B80C(void);
void func_80240360_B1B8D0(PlayerStatus* playerStatus);
void func_80240574_B1BAE4(void);
// BSS
static s32 B_80240FD0_tst_04;
ApiStatus func_80240000_B1B570(ScriptInstance* script, s32 isInitialCall) {
Npc* npc = get_npc_safe(0);
if (npc != NULL && npc->unk_84 == 5) {
f32 sinTheta;
f32 cosTheta;
f32 xTemp;
f32 zTemp;
dist2D(npc->pos.x, npc->pos.z, 0.0f, -100.0f);
sinTheta = sin_rad(1 / 180.0f * PI_S);
cosTheta = cos_rad(1 / 180.0f * PI_S);
xTemp = npc->pos.x - 0.0f;
zTemp = npc->pos.z - -100.0f;
npc->pos.x = npc->pos.x + (((cosTheta * xTemp) + (sinTheta * zTemp)) - xTemp);
npc->pos.z = npc->pos.z + (((-sinTheta * xTemp) + (cosTheta * zTemp)) - zTemp);
return ApiStatus_DONE2;
}
return ApiStatus_DONE2;
}
// float shenanigans
#ifdef NON_MATCHING
ApiStatus func_802400FC_B1B66C(ScriptInstance* script, s32 isInitialCall) {
Npc* npc = get_npc_safe(NPC_PARTNER);
if (npc != NULL) {
f32 dist = dist2D(npc->pos.x, npc->pos.z, -250.0f, -100.0f);
f32 sinTemp;
f32 cosTemp;
f32 theta1;
f32 sin1;
f32 cos1;
f32 theta2;
f32 sin2;
f32 cos2;
theta1 = (get_variable(script, SI_VAR(0)) - 1) * TAU / 360.0f;
sinTemp = sin_rad(theta1);
cosTemp = cos_rad(theta1);
sin1 = -sinTemp * dist;
cos1 = cosTemp * dist;
theta2 = (get_variable(script, SI_VAR(0)) * TAU) / 360.0f;
sin2 = sin_rad(theta2);
cos2 = cos_rad(theta2);
npc->pos.x += (dist * cos2) - cos1;
npc->pos.z += (dist * -sin2) - sin1;
return ApiStatus_DONE2;
}
return ApiStatus_DONE2;
}
#else
INCLUDE_ASM(s32, "world/area_tst/tst_04/B1B570", func_802400FC_B1B66C);
#endif
INCLUDE_ASM(s32, "world/area_tst/tst_04/B1B570", func_80240260_B1B7D0);
ApiStatus func_80240260_B1B7D0(ScriptInstance* script, s32 isInitialCall) {
script->array[0] = (s32) create_generic_entity_frontUI(NULL, func_8024029C_B1B80C);
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_tst/tst_04/B1B570", func_8024029C_B1B80C);
void func_8024029C_B1B80C(void) {
PlayerStatus* playerStatus = &gPlayerStatus;
EntityModel* entityModel;
RenderTask renderTask;
RenderTask* renderTaskPtr = &renderTask;
s32 screenX;
s32 screenY;
s32 screenZ;
INCLUDE_ASM(s32, "world/area_tst/tst_04/B1B570", func_80240360_B1B8D0);
if (playerStatus->flags & 1) {
entityModel = get_entity_model(get_shadow_by_index(playerStatus->shadowID)->entityModelID);
entityModel->flags |= 0x200;
INCLUDE_ASM(s32, "world/area_tst/tst_04/B1B570", func_80240510_B1BA80);
get_screen_coords(gCurrentCamID, playerStatus->position.x, playerStatus->position.y, -playerStatus->position.z,
&screenX, &screenY, &screenZ);
INCLUDE_ASM(s32, "world/area_tst/tst_04/B1B570", func_80240574_B1BAE4);
renderTaskPtr->renderMode = playerStatus->renderMode;
renderTaskPtr->appendGfxArg = playerStatus;
renderTaskPtr->appendGfx = func_80240360_B1B8D0;
renderTaskPtr->distance = -screenZ;
queue_render_task(renderTaskPtr);
}
}
INCLUDE_ASM(s32, "world/area_tst/tst_04/B1B570", func_802405B0_B1BB20);
void func_80240360_B1B8D0(PlayerStatus* playerStatus) {
f32 yaw = -CAM(gCurrentCamID)->currentYaw;
Matrix4f main;
Matrix4f translation;
Matrix4f rotation;
Matrix4f scale;
INCLUDE_ASM(s32, "world/area_tst/tst_04/B1B570", func_802405D4_B1BB44);
guRotateF(rotation, yaw, 0.0f, -1.0f, 0.0f);
guRotateF(main, clamp_angle(playerStatus->unk_8C), 0.0f, 0.0f, 1.0f);
guMtxCatF(rotation, main, main);
guRotateF(rotation, yaw, 0.0f, 1.0f, 0.0f);
guMtxCatF(main, rotation, main);
guRotateF(rotation, playerStatus->spriteFacingAngle, 0.0f, 1.0f, 0.0f);
guMtxCatF(main, rotation, main);
guScaleF(scale, SPRITE_WORLD_SCALE, SPRITE_WORLD_SCALE, SPRITE_WORLD_SCALE);
guMtxCatF(main, scale, main);
guTranslateF(translation, playerStatus->position.x, playerStatus->position.y, -playerStatus->position.z);
guMtxCatF(main, translation, main);
spr_update_player_sprite(1, playerStatus->trueAnimation, 1.0f);
spr_draw_player_sprite(1, 0, 0, NULL, main);
}
INCLUDE_ASM(s32, "world/area_tst/tst_04/B1B570", func_80240628_B1BB98);
ApiStatus func_80240510_B1BA80(ScriptInstance* script, s32 isInitialCall) {
Npc* partner;
script->array[1] = create_generic_entity_world(func_80240574_B1BAE4, NULL);
partner = get_npc_safe(NPC_PARTNER);
if (partner == NULL) {
return ApiStatus_DONE2;
}
partner->flags |= 0x20000;
partner->flags |= 0x80000;
return ApiStatus_DONE2;
}
void func_80240574_B1BAE4(void) {
Npc* partner = get_npc_safe(NPC_PARTNER);
if (partner == NULL) {
return ApiStatus_DONE2;
}
partner->flags |= 0x20000;
partner->flags |= 0x80000;
return ApiStatus_DONE2;
}
void func_802405B0_B1BB20(void) {
update_model_animator(B_80240FD0_tst_04);
}
void func_802405D4_B1BB44(void) {
Matrix4f m0;
Matrix4f m1;
Matrix4f m2;
Matrix4f m3;
Matrix4f m4;
guTranslateF(m1, -484.0f, 25.0f, -40.0f);
guMtxF2L(m1, m4);
render_animated_model(B_80240FD0_tst_04, m4);
}
ApiStatus func_80240628_B1BB98(ScriptInstance* script, s32 isInitialCall) {
create_generic_entity_world(func_802405B0_B1BB20, func_802405D4_B1BB44);
return ApiStatus_DONE2;
}

View File

@ -1,3 +1,6 @@
#include "tst_04.h"
INCLUDE_ASM(s32, "world/area_tst/tst_04/B1BBD0", func_80240660_B1BBD0);
ApiStatus func_80240660_B1BBD0(ScriptInstance* script, s32 isInitialCall) {
disable_npc_shadow(get_npc_unsafe(script->owner1.enemy->npcID));
return ApiStatus_DONE2;
}

View File

@ -1,10 +1,9 @@
#include "tst_11.h"
// TODO: nonmatchings in this file are very similar to matched funcs in src/world/common/reflection.inc.c
void func_8024003C_B1CA8C(void);
void func_80240100_B1CB50(void);
void func_80240100_B1CB50(PlayerStatus*);
void func_802402F4_B1CD44(void);
void func_802403B8_B1CE08(RenderTask*);
void N(SetPartnerFlagsA0000)(void);
ApiStatus func_80240000_B1CA50(ScriptInstance* script, s32 isInitialCall) {
@ -36,16 +35,58 @@ void func_8024003C_B1CA8C(void) {
}
}
INCLUDE_ASM(void, "world/area_tst/tst_11/B1CA50", func_80240100_B1CB50, void);
void func_80240100_B1CB50(PlayerStatus* playerStatus) {
f32 yaw = -CAM(gCurrentCamID)->currentYaw;
Matrix4f main;
Matrix4f translation;
Matrix4f rotation;
Matrix4f scale;
guRotateF(rotation, yaw, 0.0f, -1.0f, 0.0f);
guRotateF(main, clamp_angle(playerStatus->unk_8C), 0.0f, 0.0f, 1.0f);
guMtxCatF(rotation, main, main);
guRotateF(rotation, yaw, 0.0f, 1.0f, 0.0f);
guMtxCatF(main, rotation, main);
guRotateF(rotation, playerStatus->spriteFacingAngle, 0.0f, 1.0f, 0.0f);
guMtxCatF(main, rotation, main);
guScaleF(scale, SPRITE_WORLD_SCALE, SPRITE_WORLD_SCALE, SPRITE_WORLD_SCALE);
guMtxCatF(main, scale, main);
guTranslateF(translation, playerStatus->position.x, playerStatus->position.y, -playerStatus->position.z);
guMtxCatF(main, translation, main);
spr_update_player_sprite(1, playerStatus->trueAnimation ^ 0x1000000, 1.0f);
spr_draw_player_sprite(1, 0, 0, NULL, main);
}
ApiStatus func_802402B8_B1CD08(ScriptInstance* script, s32 isInitialCall) {
script->array[0] = (s32) create_generic_entity_frontUI(NULL, func_802402F4_B1CD44);
return ApiStatus_DONE2;
}
INCLUDE_ASM(void, "world/area_tst/tst_11/B1CA50", func_802402F4_B1CD44, void);
void func_802402F4_B1CD44(void) {
PlayerStatus* playerStatus = &gPlayerStatus;
EntityModel* entityModel;
RenderTask renderTask;
RenderTask* renderTaskPtr = &renderTask;
s32 screenX;
s32 screenY;
s32 screenZ;
INCLUDE_ASM(s32, "world/area_tst/tst_11/B1CA50", func_802403B8_B1CE08);
if (playerStatus->flags & 1) {
entityModel = get_entity_model(get_shadow_by_index(playerStatus->shadowID)->entityModelID);
entityModel->flags |= 0x200;
get_screen_coords(gCurrentCamID, playerStatus->position.x, -playerStatus->position.y, playerStatus->position.z,
&screenX, &screenY, &screenZ);
renderTaskPtr->renderMode = playerStatus->renderMode;
renderTaskPtr->appendGfxArg = playerStatus;
renderTaskPtr->appendGfx = func_802403B8_B1CE08;
renderTaskPtr->distance = -screenZ;
queue_render_task(renderTaskPtr);
}
}
INCLUDE_ASM(void, "world/area_tst/tst_11/B1CA50", func_802403B8_B1CE08, RenderTask* arg0);
ApiStatus func_802406D4_B1D124(ScriptInstance* script, s32 isInitialCall) {
Npc* npc;

View File

@ -0,0 +1,18 @@
#include "common.h"
ApiStatus N(PlayFX3D)(ScriptInstance* script, s32 isInitialStatus) {
Bytecode* args = script->ptrReadPos;
s32 var1 = get_variable(script, *args++);
f32 var2 = get_float_variable(script, *args++);
f32 var3 = get_float_variable(script, *args++);
f32 var4 = get_float_variable(script, *args++);
f32 var5 = get_float_variable(script, *args++);
f32 var6 = get_float_variable(script, *args++);
f32 var7 = get_float_variable(script, *args++);
s32 var8 = get_variable(script, *args++);
s32 outVal;
playFX_3D(var1, var2, var3, var4, var5, var6, var7, var8, &outVal);
script->varTable[0] = outVal;
return ApiStatus_DONE2;
}

View File

@ -21,7 +21,7 @@ glabel D_80093BA0
.word 0x80096030, 0x80097660
glabel FrameBuf
.word 0x8038F800, 0x803B5000, D_803DA800, 0x00000000
.word D_8038F800, D_803B5000, D_803DA800, 0x00000000
glabel rdpstateinit_dl
.word 0xFB000000, 0x00000000, 0xFA000000, 0x00000000, 0xF9000000, 0x00000000, 0xF8000000, 0x00000000, 0xF7000000, 0x00000000, 0xEE000000, 0x00000000, 0xEC000000, 0x00000000, 0xEB000000, 0x00000000, 0xEA000000, 0x00000000, 0xFCFFFFFF, 0xFFFE793C, 0xED000000, 0x005003C0, 0xF5100000, 0x00000000, 0xF5100000, 0x01000000, 0xF5100000, 0x02000000, 0xF5100000, 0x03000000, 0xF5100000, 0x04000000, 0xF5100000, 0x05000000, 0xF5100000, 0x06000000, 0xF5100000, 0x07000000, 0xF2000000, 0x00000000, 0xF2000000, 0x01000000, 0xF2000000, 0x02000000, 0xF2000000, 0x03000000, 0xF2000000, 0x04000000, 0xF2000000, 0x05000000, 0xF2000000, 0x06000000, 0xF2000000, 0x07000000, 0xE7000000, 0x00000000, 0xDF000000, 0x00000000

File diff suppressed because one or more lines are too long

View File

@ -199,3 +199,6 @@ glabel D_8021FDBC_4E239C
glabel D_8021FE2C_4E240C
.word D_8021D6D8_4DFCB8, 0x00000000, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80218410_4DA9F0, 0x00000001, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8021D6D8_4DFCB8, 0x00000002, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80220148, 0x00000001, D_8021F940_4E1F20, D_8021F90C_4E1EEC, 0x00000000, 0x8022013C, 0x00000002, D_8021F95C_4E1F3C, D_8021F90C_4E1EEC, 0x00000000, 0x80220130, 0x00000003, D_8021F994_4E1F74, D_8021F90C_4E1EEC, 0x00000000, 0x80220120, 0x00000004, D_8021F9E8_4E1FC8, D_8021F90C_4E1EEC, 0x00000000, 0x80220110, 0x00000002, D_8021FA58_4E2038, D_8021F90C_4E1EEC, 0x00000000, 0x802200FC, 0x00000003, D_8021FA90_4E2070, D_8021F90C_4E1EEC, 0x00000000, 0x802200E8, 0x00000004, D_8021FAE4_4E20C4, D_8021F90C_4E1EEC, 0x00000000, 0x802200D0, 0x00000003, D_8021FB54_4E2134, D_8021F90C_4E1EEC, 0x00000000, 0x802200B4, 0x00000004, D_8021FBA8_4E2188, D_8021F90C_4E1EEC, 0x00000000, 0x802200A8, 0x00000001, D_8021FC18_4E21F8, D_8021F90C_4E1EEC, 0x00000000, 0x8022009C, 0x00000002, D_8021FC34_4E2214, D_8021F90C_4E1EEC, 0x00000000, 0x80220090, 0x00000003, D_8021FC6C_4E224C, D_8021F90C_4E1EEC, 0x00000000, 0x80220084, 0x00000004, D_8021FCC0_4E22A0, D_8021F90C_4E1EEC, 0x00000000, 0x80220074, 0x00000002, D_8021FD30_4E2310, D_8021F90C_4E1EEC, 0x00000000, 0x80220060, 0x00000003, D_8021FD68_4E2348, D_8021F90C_4E1EEC, 0x00000000, 0x8022004C, 0x00000004, D_8021FDBC_4E239C, D_8021F90C_4E1EEC, 0x00000000, 0x80220030, 0x00000003, D_8021FE2C_4E240C, D_8021F90C_4E1EEC, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80220150, D_8021F90C_4E1EEC, 0x00000000, 0x00000000, 0x00000000, 0x00000000
glabel D_80220000_4E25E0
.word 0x73626B5F, 0x62670000, 0x73626B5F, 0x62743032, 0x5F686974, 0x00000000, 0x73626B5F, 0x62743032, 0x5F736861, 0x70650000, 0x73626B5F, 0x74657800, 0x837B838D, 0x8368815B, 0x2C835483, 0x93837B2C, 0x837B838D, 0x8368815B, 0x00000000, 0x837B838D, 0x8368815B, 0x78322C83, 0x54839383, 0x7B783200, 0x837B838D, 0x8368815B, 0x78322C83, 0x54839383, 0x7B000000, 0x837B838D, 0x8368815B, 0x2C835483, 0x93837B00, 0x837B838D, 0x8368815B, 0x78340000, 0x837B838D, 0x8368815B, 0x78330000, 0x837B838D, 0x8368815B, 0x78320000, 0x837B838D, 0x8368815B, 0x00000000, 0x83548393, 0x837B7832, 0x2C837B83, 0x8D836881, 0x5B2C8354, 0x8393837B, 0x00000000, 0x83548393, 0x837B2C83, 0x7B838D83, 0x68815B2C, 0x83548393, 0x837B0000, 0x83548393, 0x837B7832, 0x2C837B83, 0x8D836881, 0x5B783200, 0x83548393, 0x837B7832, 0x2C837B83, 0x8D836881, 0x5B000000, 0x83548393, 0x837B2C83, 0x7B838D83, 0x68815B00, 0x82AB82A2, 0x82EB8354, 0x8393837B, 0x78340000, 0x83548393, 0x837B7833, 0x00000000, 0x83548393, 0x837B7832, 0x00000000, 0x83548393, 0x837B0000, 0x73626B5F, 0x30310000, 0x00000000, 0x00000000

View File

@ -1,6 +0,0 @@
.include "macro.inc"
.section .rodata
glabel D_80220000_4E25E0
.word 0x73626B5F, 0x62670000, 0x73626B5F, 0x62743032, 0x5F686974, 0x00000000, 0x73626B5F, 0x62743032, 0x5F736861, 0x70650000, 0x73626B5F, 0x74657800, 0x837B838D, 0x8368815B, 0x2C835483, 0x93837B2C, 0x837B838D, 0x8368815B, 0x00000000, 0x837B838D, 0x8368815B, 0x78322C83, 0x54839383, 0x7B783200, 0x837B838D, 0x8368815B, 0x78322C83, 0x54839383, 0x7B000000, 0x837B838D, 0x8368815B, 0x2C835483, 0x93837B00, 0x837B838D, 0x8368815B, 0x78340000, 0x837B838D, 0x8368815B, 0x78330000, 0x837B838D, 0x8368815B, 0x78320000, 0x837B838D, 0x8368815B, 0x00000000, 0x83548393, 0x837B7832, 0x2C837B83, 0x8D836881, 0x5B2C8354, 0x8393837B, 0x00000000, 0x83548393, 0x837B2C83, 0x7B838D83, 0x68815B2C, 0x83548393, 0x837B0000, 0x83548393, 0x837B7832, 0x2C837B83, 0x8D836881, 0x5B783200, 0x83548393, 0x837B7832, 0x2C837B83, 0x8D836881, 0x5B000000, 0x83548393, 0x837B2C83, 0x7B838D83, 0x68815B00, 0x82AB82A2, 0x82EB8354, 0x8393837B, 0x78340000, 0x83548393, 0x837B7833, 0x00000000, 0x83548393, 0x837B7832, 0x00000000, 0x83548393, 0x837B0000, 0x73626B5F, 0x30310000, 0x00000000, 0x00000000

File diff suppressed because one or more lines are too long

View File

@ -24,7 +24,7 @@ glabel D_80250FA4_863114
.word 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_80250FB4_863124
.word 0x00000043, 0x00000004, GetNpcVar, 0x00000000, 0x00000000, 0xFE363C83, 0x0000000A, 0x00000002, 0xFE363C83, 0x00000000, 0x00000043, 0x00000001, func_80243AB8_855C28, 0x00000043, 0x00000006, PlaySoundAt, 0x8000004F, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000009, func_80243BA4_855D14, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x0000001E, 0x00000043, 0x00000004, SetNpcVar, 0x00000000, 0x00000000, 0xFE363C80, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetNpcVar, 0x00000000, 0x00000000, 0xFE363C83, 0x00000043, 0x00000001, func_80243AB8_855C28, 0x00000043, 0x00000005, func_80243CD4_855E44, 0xFE363C83, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000008, func_80243948_855AB8, 0xFE363C8C, 0xFE363C80, 0x0000001E, 0x0000003C, 0x0000001E, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000056, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000054, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000004, GetNpcVar, 0x00000000, 0x00000000, 0xFE363C83, 0x0000000A, 0x00000002, 0xFE363C83, 0x00000000, 0x00000043, 0x00000001, func_80243AB8_855C28, 0x00000043, 0x00000006, PlaySoundAt, 0x8000004F, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000009, mac_05_PlayFX3D, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x0000001E, 0x00000043, 0x00000004, SetNpcVar, 0x00000000, 0x00000000, 0xFE363C80, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetNpcVar, 0x00000000, 0x00000000, 0xFE363C83, 0x00000043, 0x00000001, func_80243AB8_855C28, 0x00000043, 0x00000005, func_80243CD4_855E44, 0xFE363C83, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000008, func_80243948_855AB8, 0xFE363C8C, 0xFE363C80, 0x0000001E, 0x0000003C, 0x0000001E, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000056, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000054, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_8025110C_86327C
.word 0x00000002, 0x00000000, 0x00000001, 0x00000000

View File

@ -24,7 +24,7 @@ glabel D_8024206C_866BAC
.word 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_8024207C_866BBC
.word 0x00000043, 0x00000004, GetNpcVar, 0x00000000, 0x00000000, 0xFE363C83, 0x0000000A, 0x00000002, 0xFE363C83, 0x00000000, 0x00000043, 0x00000001, func_80240B88_8656C8, 0x00000043, 0x00000006, PlaySoundAt, 0x8000004F, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000009, func_80240C74_8657B4, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x0000001E, 0x00000043, 0x00000004, SetNpcVar, 0x00000000, 0x00000000, 0xFE363C80, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetNpcVar, 0x00000000, 0x00000000, 0xFE363C83, 0x00000043, 0x00000001, func_80240B88_8656C8, 0x00000043, 0x00000005, func_80240DA4_8658E4, 0xFE363C83, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000008, func_80240A18_865558, 0xFE363C8C, 0xFE363C80, 0x0000001E, 0x0000003C, 0x00000019, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000006, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000004, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000004, GetNpcVar, 0x00000000, 0x00000000, 0xFE363C83, 0x0000000A, 0x00000002, 0xFE363C83, 0x00000000, 0x00000043, 0x00000001, func_80240B88_8656C8, 0x00000043, 0x00000006, PlaySoundAt, 0x8000004F, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000009, mac_06_PlayFX3D, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x0000001E, 0x00000043, 0x00000004, SetNpcVar, 0x00000000, 0x00000000, 0xFE363C80, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetNpcVar, 0x00000000, 0x00000000, 0xFE363C83, 0x00000043, 0x00000001, func_80240B88_8656C8, 0x00000043, 0x00000005, func_80240DA4_8658E4, 0xFE363C83, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000008, func_80240A18_865558, 0xFE363C8C, 0xFE363C80, 0x0000001E, 0x0000003C, 0x00000019, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000006, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000004, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_802421D4_866D14
.word 0x00000002, 0x00000000, 0x00000001, 0x00000000

View File

@ -1,15 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel fio_calc_file_checksum
/* 64D0 8002B0D0 0000282D */ daddu $a1, $zero, $zero
/* 64D4 8002B0D4 00A0182D */ daddu $v1, $a1, $zero
.L8002B0D8:
/* 64D8 8002B0D8 24630001 */ addiu $v1, $v1, 1
/* 64DC 8002B0DC 8C820000 */ lw $v0, ($a0)
/* 64E0 8002B0E0 00A22821 */ addu $a1, $a1, $v0
/* 64E4 8002B0E4 2C6204E0 */ sltiu $v0, $v1, 0x4e0
/* 64E8 8002B0E8 1440FFFB */ bnez $v0, .L8002B0D8
/* 64EC 8002B0EC 24840004 */ addiu $a0, $a0, 4
/* 64F0 8002B0F0 03E00008 */ jr $ra
/* 64F4 8002B0F4 00A0102D */ daddu $v0, $a1, $zero

View File

@ -1,17 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel fio_calc_header_checksum
/* 6340 8002AF40 0000282D */ daddu $a1, $zero, $zero
/* 6344 8002AF44 3C04800E */ lui $a0, %hi(D_800D95E8)
/* 6348 8002AF48 248495E8 */ addiu $a0, $a0, %lo(D_800D95E8)
/* 634C 8002AF4C 00A0182D */ daddu $v1, $a1, $zero
.L8002AF50:
/* 6350 8002AF50 24630001 */ addiu $v1, $v1, 1
/* 6354 8002AF54 8C820000 */ lw $v0, ($a0)
/* 6358 8002AF58 00A22821 */ addu $a1, $a1, $v0
/* 635C 8002AF5C 2C620020 */ sltiu $v0, $v1, 0x20
/* 6360 8002AF60 1440FFFB */ bnez $v0, .L8002AF50
/* 6364 8002AF64 24840004 */ addiu $a0, $a0, 4
/* 6368 8002AF68 03E00008 */ jr $ra
/* 636C 8002AF6C 00A0102D */ daddu $v0, $a1, $zero

View File

@ -1,31 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel fio_erase_game
/* 682C 8002B42C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 6830 8002B430 AFB20018 */ sw $s2, 0x18($sp)
/* 6834 8002B434 0080902D */ daddu $s2, $a0, $zero
/* 6838 8002B438 AFBF001C */ sw $ra, 0x1c($sp)
/* 683C 8002B43C AFB10014 */ sw $s1, 0x14($sp)
/* 6840 8002B440 0C00AC55 */ jal fio_fetch_saved_file_info
/* 6844 8002B444 AFB00010 */ sw $s0, 0x10($sp)
/* 6848 8002B448 0000802D */ daddu $s0, $zero, $zero
/* 684C 8002B44C 3C11800A */ lui $s1, %hi(D_8009BA50)
/* 6850 8002B450 2631BA50 */ addiu $s1, $s1, %lo(D_8009BA50)
.L8002B454:
/* 6854 8002B454 8E220000 */ lw $v0, ($s1)
/* 6858 8002B458 54520004 */ bnel $v0, $s2, .L8002B46C
/* 685C 8002B45C 26100001 */ addiu $s0, $s0, 1
/* 6860 8002B460 0C00AE87 */ jal fio_erase_flash
/* 6864 8002B464 0200202D */ daddu $a0, $s0, $zero
/* 6868 8002B468 26100001 */ addiu $s0, $s0, 1
.L8002B46C:
/* 686C 8002B46C 2A020006 */ slti $v0, $s0, 6
/* 6870 8002B470 1440FFF8 */ bnez $v0, .L8002B454
/* 6874 8002B474 26310008 */ addiu $s1, $s1, 8
/* 6878 8002B478 8FBF001C */ lw $ra, 0x1c($sp)
/* 687C 8002B47C 8FB20018 */ lw $s2, 0x18($sp)
/* 6880 8002B480 8FB10014 */ lw $s1, 0x14($sp)
/* 6884 8002B484 8FB00010 */ lw $s0, 0x10($sp)
/* 6888 8002B488 03E00008 */ jr $ra
/* 688C 8002B48C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,34 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel fio_has_valid_backup
/* 63D8 8002AFD8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 63DC 8002AFDC 24040006 */ addiu $a0, $zero, 6
/* 63E0 8002AFE0 AFB00010 */ sw $s0, 0x10($sp)
/* 63E4 8002AFE4 3C10800E */ lui $s0, %hi(D_800D95E8)
/* 63E8 8002AFE8 261095E8 */ addiu $s0, $s0, %lo(D_800D95E8)
/* 63EC 8002AFEC 0200282D */ daddu $a1, $s0, $zero
/* 63F0 8002AFF0 AFBF0014 */ sw $ra, 0x14($sp)
/* 63F4 8002AFF4 0C00AE1A */ jal fio_read_flash
/* 63F8 8002AFF8 24060080 */ addiu $a2, $zero, 0x80
/* 63FC 8002AFFC 0C00ABDC */ jal fio_validate_header_checksums
/* 6400 8002B000 00000000 */ nop
/* 6404 8002B004 1440000D */ bnez $v0, .L8002B03C
/* 6408 8002B008 24020001 */ addiu $v0, $zero, 1
/* 640C 8002B00C 24040007 */ addiu $a0, $zero, 7
/* 6410 8002B010 0200282D */ daddu $a1, $s0, $zero
/* 6414 8002B014 0C00AE1A */ jal fio_read_flash
/* 6418 8002B018 24060080 */ addiu $a2, $zero, 0x80
/* 641C 8002B01C 0C00ABDC */ jal fio_validate_header_checksums
/* 6420 8002B020 00000000 */ nop
/* 6424 8002B024 14400005 */ bnez $v0, .L8002B03C
/* 6428 8002B028 24020001 */ addiu $v0, $zero, 1
/* 642C 8002B02C 0200202D */ daddu $a0, $s0, $zero
/* 6430 8002B030 0C01925C */ jal bzero
/* 6434 8002B034 24050080 */ addiu $a1, $zero, 0x80
/* 6438 8002B038 0000102D */ daddu $v0, $zero, $zero
.L8002B03C:
/* 643C 8002B03C 8FBF0014 */ lw $ra, 0x14($sp)
/* 6440 8002B040 8FB00010 */ lw $s0, 0x10($sp)
/* 6444 8002B044 03E00008 */ jr $ra
/* 6448 8002B048 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,47 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel fio_load_game
/* 66D0 8002B2D0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 66D4 8002B2D4 AFB20018 */ sw $s2, 0x18($sp)
/* 66D8 8002B2D8 3C128007 */ lui $s2, %hi(gGameStatusPtr)
/* 66DC 8002B2DC 2652419C */ addiu $s2, $s2, %lo(gGameStatusPtr)
/* 66E0 8002B2E0 AFBF001C */ sw $ra, 0x1c($sp)
/* 66E4 8002B2E4 AFB10014 */ sw $s1, 0x14($sp)
/* 66E8 8002B2E8 AFB00010 */ sw $s0, 0x10($sp)
/* 66EC 8002B2EC 8E420000 */ lw $v0, ($s2)
/* 66F0 8002B2F0 0080802D */ daddu $s0, $a0, $zero
/* 66F4 8002B2F4 0C00AC55 */ jal fio_fetch_saved_file_info
/* 66F8 8002B2F8 A0500166 */ sb $s0, 0x166($v0)
/* 66FC 8002B2FC 3C11800E */ lui $s1, %hi(gCurrentSaveFile)
/* 6700 8002B300 2631ACC0 */ addiu $s1, $s1, %lo(gCurrentSaveFile)
/* 6704 8002B304 0220282D */ daddu $a1, $s1, $zero
/* 6708 8002B308 001080C0 */ sll $s0, $s0, 3
/* 670C 8002B30C 3C04800A */ lui $a0, %hi(D_8009BA30)
/* 6710 8002B310 00902021 */ addu $a0, $a0, $s0
/* 6714 8002B314 8C84BA30 */ lw $a0, %lo(D_8009BA30)($a0)
/* 6718 8002B318 0C00AE1A */ jal fio_read_flash
/* 671C 8002B31C 24061380 */ addiu $a2, $zero, 0x1380
/* 6720 8002B320 3C058007 */ lui $a1, %hi(D_800745D0)
/* 6724 8002B324 24A545D0 */ addiu $a1, $a1, %lo(D_800745D0)
/* 6728 8002B328 0C01BB5C */ jal strcmp
/* 672C 8002B32C 0220202D */ daddu $a0, $s1, $zero
/* 6730 8002B330 1440000A */ bnez $v0, .L8002B35C
/* 6734 8002B334 0000102D */ daddu $v0, $zero, $zero
/* 6738 8002B338 8E430000 */ lw $v1, ($s2)
/* 673C 8002B33C 8E24003C */ lw $a0, 0x3c($s1)
/* 6740 8002B340 8C620168 */ lw $v0, 0x168($v1)
/* 6744 8002B344 0044102B */ sltu $v0, $v0, $a0
/* 6748 8002B348 54400001 */ bnel $v0, $zero, .L8002B350
/* 674C 8002B34C AC640168 */ sw $a0, 0x168($v1)
.L8002B350:
/* 6750 8002B350 0C00AD24 */ jal fio_deserialize_state
/* 6754 8002B354 00000000 */ nop
/* 6758 8002B358 24020001 */ addiu $v0, $zero, 1
.L8002B35C:
/* 675C 8002B35C 8FBF001C */ lw $ra, 0x1c($sp)
/* 6760 8002B360 8FB20018 */ lw $s2, 0x18($sp)
/* 6764 8002B364 8FB10014 */ lw $s1, 0x14($sp)
/* 6768 8002B368 8FB00010 */ lw $s0, 0x10($sp)
/* 676C 8002B36C 03E00008 */ jr $ra
/* 6770 8002B370 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,50 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel fio_save_game
/* 6774 8002B374 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 6778 8002B378 AFB20018 */ sw $s2, 0x18($sp)
/* 677C 8002B37C 0080902D */ daddu $s2, $a0, $zero
/* 6780 8002B380 AFBF001C */ sw $ra, 0x1c($sp)
/* 6784 8002B384 AFB10014 */ sw $s1, 0x14($sp)
/* 6788 8002B388 0C00AC55 */ jal fio_fetch_saved_file_info
/* 678C 8002B38C AFB00010 */ sw $s0, 0x10($sp)
/* 6790 8002B390 3C118007 */ lui $s1, %hi(gGameStatusPtr)
/* 6794 8002B394 2631419C */ addiu $s1, $s1, %lo(gGameStatusPtr)
/* 6798 8002B398 8E220000 */ lw $v0, ($s1)
/* 679C 8002B39C 0C00AD8C */ jal fio_serialize_state
/* 67A0 8002B3A0 A0520166 */ sb $s2, 0x166($v0)
/* 67A4 8002B3A4 3C10800E */ lui $s0, %hi(gCurrentSaveFile)
/* 67A8 8002B3A8 2610ACC0 */ addiu $s0, $s0, %lo(gCurrentSaveFile)
/* 67AC 8002B3AC 3C058007 */ lui $a1, %hi(D_800745D0)
/* 67B0 8002B3B0 24A545D0 */ addiu $a1, $a1, %lo(D_800745D0)
/* 67B4 8002B3B4 0C01BB50 */ jal strcpy
/* 67B8 8002B3B8 0200202D */ daddu $a0, $s0, $zero
/* 67BC 8002B3BC 8E230000 */ lw $v1, ($s1)
/* 67C0 8002B3C0 AE120038 */ sw $s2, 0x38($s0)
/* 67C4 8002B3C4 8C620168 */ lw $v0, 0x168($v1)
/* 67C8 8002B3C8 0200202D */ daddu $a0, $s0, $zero
/* 67CC 8002B3CC 24420001 */ addiu $v0, $v0, 1
/* 67D0 8002B3D0 AC620168 */ sw $v0, 0x168($v1)
/* 67D4 8002B3D4 AE02003C */ sw $v0, 0x3c($s0)
/* 67D8 8002B3D8 2402FFFF */ addiu $v0, $zero, -1
/* 67DC 8002B3DC AE000030 */ sw $zero, 0x30($s0)
/* 67E0 8002B3E0 0C00AC34 */ jal fio_calc_file_checksum
/* 67E4 8002B3E4 AE020034 */ sw $v0, 0x34($s0)
/* 67E8 8002B3E8 3C11800A */ lui $s1, %hi(D_8009BA80)
/* 67EC 8002B3EC 2631BA80 */ addiu $s1, $s1, %lo(D_8009BA80)
/* 67F0 8002B3F0 8E240000 */ lw $a0, ($s1)
/* 67F4 8002B3F4 AE020030 */ sw $v0, 0x30($s0)
/* 67F8 8002B3F8 00021027 */ nor $v0, $zero, $v0
/* 67FC 8002B3FC 0C00AE87 */ jal fio_erase_flash
/* 6800 8002B400 AE020034 */ sw $v0, 0x34($s0)
/* 6804 8002B404 0200282D */ daddu $a1, $s0, $zero
/* 6808 8002B408 8E240000 */ lw $a0, ($s1)
/* 680C 8002B40C 0C00AE52 */ jal fio_write_flash
/* 6810 8002B410 24061380 */ addiu $a2, $zero, 0x1380
/* 6814 8002B414 8FBF001C */ lw $ra, 0x1c($sp)
/* 6818 8002B418 8FB20018 */ lw $s2, 0x18($sp)
/* 681C 8002B41C 8FB10014 */ lw $s1, 0x14($sp)
/* 6820 8002B420 8FB00010 */ lw $s0, 0x10($sp)
/* 6824 8002B424 03E00008 */ jr $ra
/* 6828 8002B428 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,28 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel fio_validate_file_checksum
/* 64F8 8002B0F8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 64FC 8002B0FC AFB00010 */ sw $s0, 0x10($sp)
/* 6500 8002B100 3C058007 */ lui $a1, %hi(D_800745D0)
/* 6504 8002B104 24A545D0 */ addiu $a1, $a1, %lo(D_800745D0)
/* 6508 8002B108 AFBF0014 */ sw $ra, 0x14($sp)
/* 650C 8002B10C 0C01BB5C */ jal strcmp
/* 6510 8002B110 0080802D */ daddu $s0, $a0, $zero
/* 6514 8002B114 1440000B */ bnez $v0, .L8002B144
/* 6518 8002B118 0000102D */ daddu $v0, $zero, $zero
/* 651C 8002B11C 8E020034 */ lw $v0, 0x34($s0)
/* 6520 8002B120 8E030030 */ lw $v1, 0x30($s0)
/* 6524 8002B124 00021027 */ nor $v0, $zero, $v0
/* 6528 8002B128 54620006 */ bnel $v1, $v0, .L8002B144
/* 652C 8002B12C 0000102D */ daddu $v0, $zero, $zero
/* 6530 8002B130 0C00AC34 */ jal fio_calc_file_checksum
/* 6534 8002B134 0200202D */ daddu $a0, $s0, $zero
/* 6538 8002B138 8E030030 */ lw $v1, 0x30($s0)
/* 653C 8002B13C 00431026 */ xor $v0, $v0, $v1
/* 6540 8002B140 2C420001 */ sltiu $v0, $v0, 1
.L8002B144:
/* 6544 8002B144 8FBF0014 */ lw $ra, 0x14($sp)
/* 6548 8002B148 8FB00010 */ lw $s0, 0x10($sp)
/* 654C 8002B14C 03E00008 */ jr $ra
/* 6550 8002B150 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,11 +1,6 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_80097E30
.byte 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6C, 0x20, 0x63, 0x6F, 0x68, 0x65, 0x72, 0x65, 0x6E, 0x63, 0x79, 0x20, 0x6F, 0x6E, 0x20, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, 0x00, 0x57, 0x61, 0x74, 0x63, 0x68, 0x70, 0x6F, 0x69, 0x6E, 0x74, 0x20, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x46, 0x6C, 0x6F, 0x61, 0x74, 0x69, 0x6E, 0x67, 0x20, 0x70, 0x6F, 0x69, 0x6E, 0x74, 0x20, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6C, 0x20, 0x63, 0x6F, 0x68, 0x65, 0x72, 0x65, 0x6E, 0x63, 0x79, 0x20, 0x6F, 0x6E, 0x20, 0x69, 0x6E, 0x73, 0x74, 0x2E, 0x00, 0x00, 0x54, 0x72, 0x61, 0x70, 0x20, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0x41, 0x72, 0x69, 0x74, 0x68, 0x6D, 0x65, 0x74, 0x69, 0x63, 0x20, 0x6F, 0x76, 0x65, 0x72, 0x66, 0x6C, 0x6F, 0x77, 0x00, 0x43, 0x6F, 0x70, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x6F, 0x72, 0x20, 0x75, 0x6E, 0x75, 0x73, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x00, 0x00, 0x00, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x69, 0x6E, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x42, 0x72, 0x65, 0x61, 0x6B, 0x70, 0x6F, 0x69, 0x6E, 0x74, 0x20, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x20, 0x63, 0x61, 0x6C, 0x6C, 0x20, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0x00, 0x42, 0x75, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x6F, 0x6E, 0x20, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, 0x00, 0x42, 0x75, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x6F, 0x6E, 0x20, 0x69, 0x6E, 0x73, 0x74, 0x2E, 0x00, 0x00, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x6F, 0x6E, 0x20, 0x73, 0x74, 0x6F, 0x72, 0x65, 0x00, 0x00, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x6F, 0x6E, 0x20, 0x6C, 0x6F, 0x61, 0x64, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x42, 0x20, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x6F, 0x6E, 0x20, 0x73, 0x74, 0x6F, 0x72, 0x65, 0x00, 0x00, 0x54, 0x4C, 0x42, 0x20, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x6F, 0x6E, 0x20, 0x6C, 0x6F, 0x61, 0x64, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x42, 0x20, 0x6D, 0x6F, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x00, 0x00, 0x00, 0x49, 0x6E, 0x65, 0x78, 0x61, 0x63, 0x74, 0x20, 0x6F, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0x00, 0x55, 0x6E, 0x64, 0x65, 0x72, 0x66, 0x6C, 0x6F, 0x77, 0x00, 0x00, 0x00, 0x4F, 0x76, 0x65, 0x72, 0x66, 0x6C, 0x6F, 0x77, 0x00, 0x00, 0x00, 0x00, 0x44, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6F, 0x6E, 0x20, 0x62, 0x79, 0x20, 0x7A, 0x65, 0x72, 0x6F, 0x00, 0x00, 0x00, 0x00, 0x49, 0x6E, 0x76, 0x61, 0x6C, 0x69, 0x64, 0x20, 0x6F, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0x00, 0x55, 0x6E, 0x69, 0x6D, 0x70, 0x6C, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x65, 0x64, 0x20, 0x6F, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x00
.section .text
glabel crash_delay_msec

View File

@ -6,8 +6,8 @@ glabel build_custom_gfx
/* B23F0 8011BCF0 AFB10014 */ sw $s1, 0x14($sp)
/* B23F4 8011BCF4 0000882D */ daddu $s1, $zero, $zero
/* B23F8 8011BCF8 AFB50024 */ sw $s5, 0x24($sp)
/* B23FC 8011BCFC 3C158015 */ lui $s5, %hi(D_801512B8)
/* B2400 8011BD00 26B512B8 */ addiu $s5, $s5, %lo(D_801512B8)
/* B23FC 8011BCFC 3C158015 */ lui $s5, %hi(gCurrentCustomModelGfxBuilders)
/* B2400 8011BD00 26B512B8 */ addiu $s5, $s5, %lo(gCurrentCustomModelGfxBuilders)
/* B2404 8011BD04 3C02800A */ lui $v0, %hi(gMasterGfxPos)
/* B2408 8011BD08 2442A66C */ addiu $v0, $v0, %lo(gMasterGfxPos)
/* B240C 8011BD0C AFB20018 */ sw $s2, 0x18($sp)

View File

@ -21,8 +21,8 @@ glabel clear_model_data
/* AC484 80115D84 AC2212E8 */ sw $v0, %lo(gCurrentModelSpecialDlsPtr)($at)
/* AC488 80115D88 3C028015 */ lui $v0, %hi(D_80152090)
/* AC48C 80115D8C 24422090 */ addiu $v0, $v0, %lo(D_80152090)
/* AC490 80115D90 3C018015 */ lui $at, %hi(D_801512B8)
/* AC494 80115D94 AC2212B8 */ sw $v0, %lo(D_801512B8)($at)
/* AC490 80115D90 3C018015 */ lui $at, %hi(gCurrentCustomModelGfxBuilders)
/* AC494 80115D94 AC2212B8 */ sw $v0, %lo(gCurrentCustomModelGfxBuilders)($at)
/* AC498 80115D98 3C028015 */ lui $v0, %hi(D_80152214)
/* AC49C 80115D9C 24422214 */ addiu $v0, $v0, %lo(D_80152214)
/* AC4A0 80115DA0 3C018015 */ lui $at, %hi(D_801512FC)
@ -65,8 +65,8 @@ glabel clear_model_data
/* AC530 80115E30 AC2212E8 */ sw $v0, %lo(gCurrentModelSpecialDlsPtr)($at)
/* AC534 80115E34 3C028015 */ lui $v0, %hi(D_80152110)
/* AC538 80115E38 24422110 */ addiu $v0, $v0, %lo(D_80152110)
/* AC53C 80115E3C 3C018015 */ lui $at, %hi(D_801512B8)
/* AC540 80115E40 AC2212B8 */ sw $v0, %lo(D_801512B8)($at)
/* AC53C 80115E3C 3C018015 */ lui $at, %hi(gCurrentCustomModelGfxBuilders)
/* AC540 80115E40 AC2212B8 */ sw $v0, %lo(gCurrentCustomModelGfxBuilders)($at)
/* AC544 80115E44 3C028015 */ lui $v0, %hi(D_80152218)
/* AC548 80115E48 24422218 */ addiu $v0, $v0, %lo(D_80152218)
/* AC54C 80115E4C 3C018015 */ lui $at, %hi(D_801512FC)
@ -107,8 +107,8 @@ glabel clear_model_data
/* AC5CC 80115ECC 0481FFFD */ bgez $a0, .L80115EC4
/* AC5D0 80115ED0 2442FFFC */ addiu $v0, $v0, -4
/* AC5D4 80115ED4 0000202D */ daddu $a0, $zero, $zero
/* AC5D8 80115ED8 3C058015 */ lui $a1, %hi(D_801512B8)
/* AC5DC 80115EDC 8CA512B8 */ lw $a1, %lo(D_801512B8)($a1)
/* AC5D8 80115ED8 3C058015 */ lui $a1, %hi(gCurrentCustomModelGfxBuilders)
/* AC5DC 80115EDC 8CA512B8 */ lw $a1, %lo(gCurrentCustomModelGfxBuilders)($a1)
/* AC5E0 80115EE0 3C038015 */ lui $v1, %hi(gCurrentModelSpecialDlsPtr)
/* AC5E4 80115EE4 8C6312E8 */ lw $v1, %lo(gCurrentModelSpecialDlsPtr)($v1)
.L80115EE8:

View File

@ -21,8 +21,8 @@ glabel init_model_data
/* AC728 80116028 AC2212E8 */ sw $v0, %lo(gCurrentModelSpecialDlsPtr)($at)
/* AC72C 8011602C 3C028015 */ lui $v0, %hi(D_80152090)
/* AC730 80116030 24422090 */ addiu $v0, $v0, %lo(D_80152090)
/* AC734 80116034 3C018015 */ lui $at, %hi(D_801512B8)
/* AC738 80116038 AC2212B8 */ sw $v0, %lo(D_801512B8)($at)
/* AC734 80116034 3C018015 */ lui $at, %hi(gCurrentCustomModelGfxBuilders)
/* AC738 80116038 AC2212B8 */ sw $v0, %lo(gCurrentCustomModelGfxBuilders)($at)
/* AC73C 8011603C 3C028015 */ lui $v0, %hi(D_80152214)
/* AC740 80116040 24422214 */ addiu $v0, $v0, %lo(D_80152214)
/* AC744 80116044 3C018015 */ lui $at, %hi(D_801512FC)
@ -60,8 +60,8 @@ glabel init_model_data
/* AC7C0 801160C0 AC2212E8 */ sw $v0, %lo(gCurrentModelSpecialDlsPtr)($at)
/* AC7C4 801160C4 3C028015 */ lui $v0, %hi(D_80152110)
/* AC7C8 801160C8 24422110 */ addiu $v0, $v0, %lo(D_80152110)
/* AC7CC 801160CC 3C018015 */ lui $at, %hi(D_801512B8)
/* AC7D0 801160D0 AC2212B8 */ sw $v0, %lo(D_801512B8)($at)
/* AC7CC 801160CC 3C018015 */ lui $at, %hi(gCurrentCustomModelGfxBuilders)
/* AC7D0 801160D0 AC2212B8 */ sw $v0, %lo(gCurrentCustomModelGfxBuilders)($at)
/* AC7D4 801160D4 3C028015 */ lui $v0, %hi(D_80152218)
/* AC7D8 801160D8 24422218 */ addiu $v0, $v0, %lo(D_80152218)
/* AC7DC 801160DC 3C018015 */ lui $at, %hi(D_801512FC)

View File

@ -1,11 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel set_custom_gfx_builders
/* B23D0 8011BCD0 3C028015 */ lui $v0, %hi(D_801512B8)
/* B23D4 8011BCD4 8C4212B8 */ lw $v0, %lo(D_801512B8)($v0)
/* B23D8 8011BCD8 000420C0 */ sll $a0, $a0, 3
/* B23DC 8011BCDC 00822021 */ addu $a0, $a0, $v0
/* B23E0 8011BCE0 AC850000 */ sw $a1, ($a0)
/* B23E4 8011BCE4 03E00008 */ jr $ra
/* B23E8 8011BCE8 AC860004 */ sw $a2, 4($a0)

View File

@ -11,8 +11,8 @@ glabel fio_fetch_saved_file_info
/* 656C 8002B16C AFB00010 */ sw $s0, 0x10($sp)
/* 6570 8002B170 0000802D */ daddu $s0, $zero, $zero
/* 6574 8002B174 2404FFFF */ addiu $a0, $zero, -1
/* 6578 8002B178 3C03800A */ lui $v1, %hi(D_8009BA30)
/* 657C 8002B17C 2463BA30 */ addiu $v1, $v1, %lo(D_8009BA30)
/* 6578 8002B178 3C03800A */ lui $v1, %hi(logicalSaveInfo)
/* 657C 8002B17C 2463BA30 */ addiu $v1, $v1, %lo(logicalSaveInfo)
/* 6580 8002B180 AFBF0024 */ sw $ra, 0x24($sp)
/* 6584 8002B184 AFB3001C */ sw $s3, 0x1c($sp)
/* 6588 8002B188 AFB10014 */ sw $s1, 0x14($sp)
@ -24,10 +24,10 @@ glabel fio_fetch_saved_file_info
/* 659C 8002B19C 1440FFFB */ bnez $v0, .L8002B18C
/* 65A0 8002B1A0 24630008 */ addiu $v1, $v1, 8
/* 65A4 8002B1A4 0000802D */ daddu $s0, $zero, $zero
/* 65A8 8002B1A8 3C13800A */ lui $s3, %hi(D_8009BA30)
/* 65AC 8002B1AC 2673BA30 */ addiu $s3, $s3, %lo(D_8009BA30)
/* 65B0 8002B1B0 3C11800A */ lui $s1, %hi(D_8009BA50)
/* 65B4 8002B1B4 2631BA50 */ addiu $s1, $s1, %lo(D_8009BA50)
/* 65A8 8002B1A8 3C13800A */ lui $s3, %hi(logicalSaveInfo)
/* 65AC 8002B1AC 2673BA30 */ addiu $s3, $s3, %lo(logicalSaveInfo)
/* 65B0 8002B1B0 3C11800A */ lui $s1, %hi(physicalSaveInfo)
/* 65B4 8002B1B4 2631BA50 */ addiu $s1, $s1, %lo(physicalSaveInfo)
.L8002B1B8:
/* 65B8 8002B1B8 0200202D */ daddu $a0, $s0, $zero
/* 65BC 8002B1BC 0280282D */ daddu $a1, $s4, $zero
@ -63,13 +63,13 @@ glabel fio_fetch_saved_file_info
/* 6630 8002B230 3C067FFF */ lui $a2, 0x7fff
/* 6634 8002B234 34C6FFFF */ ori $a2, $a2, 0xffff
/* 6638 8002B238 0000202D */ daddu $a0, $zero, $zero
/* 663C 8002B23C 3C09800A */ lui $t1, %hi(D_8009BA30)
/* 6640 8002B240 2529BA30 */ addiu $t1, $t1, %lo(D_8009BA30)
/* 663C 8002B23C 3C09800A */ lui $t1, %hi(logicalSaveInfo)
/* 6640 8002B240 2529BA30 */ addiu $t1, $t1, %lo(logicalSaveInfo)
/* 6644 8002B244 24080004 */ addiu $t0, $zero, 4
/* 6648 8002B248 3C07800A */ lui $a3, %hi(D_8009BA80)
/* 664C 8002B24C 24E7BA80 */ addiu $a3, $a3, %lo(D_8009BA80)
/* 6650 8002B250 3C05800A */ lui $a1, %hi(D_8009BA50)
/* 6654 8002B254 24A5BA50 */ addiu $a1, $a1, %lo(D_8009BA50)
/* 6648 8002B248 3C07800A */ lui $a3, %hi(nextAvailableSavePage)
/* 664C 8002B24C 24E7BA80 */ addiu $a3, $a3, %lo(nextAvailableSavePage)
/* 6650 8002B250 3C05800A */ lui $a1, %hi(physicalSaveInfo)
/* 6654 8002B254 24A5BA50 */ addiu $a1, $a1, %lo(physicalSaveInfo)
.L8002B258:
/* 6658 8002B258 0000802D */ daddu $s0, $zero, $zero
/* 665C 8002B25C 0120182D */ daddu $v1, $t1, $zero

View File

@ -6,8 +6,8 @@ glabel fio_flush_backups
/* 6450 8002B050 AFB00010 */ sw $s0, 0x10($sp)
/* 6454 8002B054 3C10800E */ lui $s0, %hi(D_800D95E8)
/* 6458 8002B058 261095E8 */ addiu $s0, $s0, %lo(D_800D95E8)
/* 645C 8002B05C 3C058007 */ lui $a1, %hi(D_800745D0)
/* 6460 8002B060 24A545D0 */ addiu $a1, $a1, %lo(D_800745D0)
/* 645C 8002B05C 3C058007 */ lui $a1, %hi(magicSaveString)
/* 6460 8002B060 24A545D0 */ addiu $a1, $a1, %lo(magicSaveString)
/* 6464 8002B064 AFBF0014 */ sw $ra, 0x14($sp)
/* 6468 8002B068 0C01BB50 */ jal strcpy
/* 646C 8002B06C 0200202D */ daddu $a0, $s0, $zero

View File

@ -7,8 +7,8 @@ glabel fio_validate_header_checksums
/* 6378 8002AF78 244295E8 */ addiu $v0, $v0, %lo(D_800D95E8)
/* 637C 8002AF7C AFB00010 */ sw $s0, 0x10($sp)
/* 6380 8002AF80 0040802D */ daddu $s0, $v0, $zero
/* 6384 8002AF84 3C058007 */ lui $a1, %hi(D_800745D0)
/* 6388 8002AF88 24A545D0 */ addiu $a1, $a1, %lo(D_800745D0)
/* 6384 8002AF84 3C058007 */ lui $a1, %hi(magicSaveString)
/* 6388 8002AF88 24A545D0 */ addiu $a1, $a1, %lo(magicSaveString)
/* 638C 8002AF8C AFBF0014 */ sw $ra, 0x14($sp)
/* 6390 8002AF90 0C01BB5C */ jal strcmp
/* 6394 8002AF94 0200202D */ daddu $a0, $s0, $zero

View File

@ -1,12 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240000_DF6A00
/* DF6A00 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* DF6A04 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* DF6A08 80240008 24020003 */ addiu $v0, $zero, 3
/* DF6A0C 8024000C A0620084 */ sb $v0, 0x84($v1)
/* DF6A10 80240010 03E00008 */ jr $ra
/* DF6A14 80240014 0000102D */ daddu $v0, $zero, $zero
/* DF6A18 80240018 00000000 */ nop
/* DF6A1C 8024001C 00000000 */ nop

View File

@ -1,14 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242558_DF8F58
/* DF8F58 80242558 27BDFFE8 */ addiu $sp, $sp, -0x18
/* DF8F5C 8024255C AFBF0010 */ sw $ra, 0x10($sp)
/* DF8F60 80242560 0C090940 */ jal func_80242500_DF8F00
/* DF8F64 80242564 00000000 */ nop
/* DF8F68 80242568 0C048DCD */ jal load_font
/* DF8F6C 8024256C 24040001 */ addiu $a0, $zero, 1
/* DF8F70 80242570 8FBF0010 */ lw $ra, 0x10($sp)
/* DF8F74 80242574 24020002 */ addiu $v0, $zero, 2
/* DF8F78 80242578 03E00008 */ jr $ra
/* DF8F7C 8024257C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,28 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242744_DF9144
/* DF9144 80242744 27BDFFE0 */ addiu $sp, $sp, -0x20
/* DF9148 80242748 AFB10014 */ sw $s1, 0x14($sp)
/* DF914C 8024274C 0080882D */ daddu $s1, $a0, $zero
/* DF9150 80242750 AFBF0018 */ sw $ra, 0x18($sp)
/* DF9154 80242754 AFB00010 */ sw $s0, 0x10($sp)
/* DF9158 80242758 8E30000C */ lw $s0, 0xc($s1)
/* DF915C 8024275C 8E050000 */ lw $a1, ($s0)
/* DF9160 80242760 0C0B1EAF */ jal get_variable
/* DF9164 80242764 26100004 */ addiu $s0, $s0, 4
/* DF9168 80242768 3C048035 */ lui $a0, %hi(gSpriteHeapPtr)
/* DF916C 8024276C 2484F800 */ addiu $a0, $a0, %lo(gSpriteHeapPtr)
/* DF9170 80242770 8E100000 */ lw $s0, ($s0)
/* DF9174 80242774 0C00A41B */ jal _heap_malloc
/* DF9178 80242778 0040282D */ daddu $a1, $v0, $zero
/* DF917C 8024277C 0220202D */ daddu $a0, $s1, $zero
/* DF9180 80242780 0040302D */ daddu $a2, $v0, $zero
/* DF9184 80242784 0C0B2026 */ jal set_variable
/* DF9188 80242788 0200282D */ daddu $a1, $s0, $zero
/* DF918C 8024278C 8FBF0018 */ lw $ra, 0x18($sp)
/* DF9190 80242790 8FB10014 */ lw $s1, 0x14($sp)
/* DF9194 80242794 8FB00010 */ lw $s0, 0x10($sp)
/* DF9198 80242798 24020002 */ addiu $v0, $zero, 2
/* DF919C 8024279C 03E00008 */ jr $ra
/* DF91A0 802427A0 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,17 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802427A4_DF91A4
/* DF91A4 802427A4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* DF91A8 802427A8 AFBF0010 */ sw $ra, 0x10($sp)
/* DF91AC 802427AC 8C82000C */ lw $v0, 0xc($a0)
/* DF91B0 802427B0 0C0B1EAF */ jal get_variable
/* DF91B4 802427B4 8C450000 */ lw $a1, ($v0)
/* DF91B8 802427B8 3C048035 */ lui $a0, %hi(gSpriteHeapPtr)
/* DF91BC 802427BC 2484F800 */ addiu $a0, $a0, %lo(gSpriteHeapPtr)
/* DF91C0 802427C0 0C00A487 */ jal _heap_free
/* DF91C4 802427C4 0040282D */ daddu $a1, $v0, $zero
/* DF91C8 802427C8 8FBF0010 */ lw $ra, 0x10($sp)
/* DF91CC 802427CC 24020002 */ addiu $v0, $zero, 2
/* DF91D0 802427D0 03E00008 */ jr $ra
/* DF91D4 802427D4 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,26 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802427D8_DF91D8
/* DF91D8 802427D8 3C04800B */ lui $a0, %hi(gCameras)
/* DF91DC 802427DC 24841D80 */ addiu $a0, $a0, %lo(gCameras)
/* DF91E0 802427E0 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* DF91E4 802427E4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* DF91E8 802427E8 3C013F2A */ lui $at, 0x3f2a
/* DF91EC 802427EC 3421AAAB */ ori $at, $at, 0xaaab
/* DF91F0 802427F0 44810000 */ mtc1 $at, $f0
/* DF91F4 802427F4 00031080 */ sll $v0, $v1, 2
/* DF91F8 802427F8 00431021 */ addu $v0, $v0, $v1
/* DF91FC 802427FC 00021080 */ sll $v0, $v0, 2
/* DF9200 80242800 00431023 */ subu $v0, $v0, $v1
/* DF9204 80242804 000218C0 */ sll $v1, $v0, 3
/* DF9208 80242808 00431021 */ addu $v0, $v0, $v1
/* DF920C 8024280C 000210C0 */ sll $v0, $v0, 3
/* DF9210 80242810 00441021 */ addu $v0, $v0, $a0
/* DF9214 80242814 C44204B0 */ lwc1 $f2, 0x4b0($v0)
/* DF9218 80242818 46001080 */ add.s $f2, $f2, $f0
/* DF921C 8024281C 24030001 */ addiu $v1, $zero, 1
/* DF9220 80242820 A4430506 */ sh $v1, 0x506($v0)
/* DF9224 80242824 E44204B0 */ swc1 $f2, 0x4b0($v0)
/* DF9228 80242828 03E00008 */ jr $ra
/* DF922C 8024282C 24020002 */ addiu $v0, $zero, 2

View File

@ -1,80 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242900_DF9300
/* DF9300 80242900 27BDFF90 */ addiu $sp, $sp, -0x70
/* DF9304 80242904 AFB10034 */ sw $s1, 0x34($sp)
/* DF9308 80242908 0080882D */ daddu $s1, $a0, $zero
/* DF930C 8024290C AFBF003C */ sw $ra, 0x3c($sp)
/* DF9310 80242910 AFB20038 */ sw $s2, 0x38($sp)
/* DF9314 80242914 AFB00030 */ sw $s0, 0x30($sp)
/* DF9318 80242918 F7BE0068 */ sdc1 $f30, 0x68($sp)
/* DF931C 8024291C F7BC0060 */ sdc1 $f28, 0x60($sp)
/* DF9320 80242920 F7BA0058 */ sdc1 $f26, 0x58($sp)
/* DF9324 80242924 F7B80050 */ sdc1 $f24, 0x50($sp)
/* DF9328 80242928 F7B60048 */ sdc1 $f22, 0x48($sp)
/* DF932C 8024292C F7B40040 */ sdc1 $f20, 0x40($sp)
/* DF9330 80242930 8E30000C */ lw $s0, 0xc($s1)
/* DF9334 80242934 8E050000 */ lw $a1, ($s0)
/* DF9338 80242938 0C0B1EAF */ jal get_variable
/* DF933C 8024293C 26100004 */ addiu $s0, $s0, 4
/* DF9340 80242940 8E050000 */ lw $a1, ($s0)
/* DF9344 80242944 26100004 */ addiu $s0, $s0, 4
/* DF9348 80242948 0220202D */ daddu $a0, $s1, $zero
/* DF934C 8024294C 0C0B210B */ jal get_float_variable
/* DF9350 80242950 0040902D */ daddu $s2, $v0, $zero
/* DF9354 80242954 8E050000 */ lw $a1, ($s0)
/* DF9358 80242958 26100004 */ addiu $s0, $s0, 4
/* DF935C 8024295C 0220202D */ daddu $a0, $s1, $zero
/* DF9360 80242960 0C0B210B */ jal get_float_variable
/* DF9364 80242964 46000706 */ mov.s $f28, $f0
/* DF9368 80242968 8E050000 */ lw $a1, ($s0)
/* DF936C 8024296C 26100004 */ addiu $s0, $s0, 4
/* DF9370 80242970 0220202D */ daddu $a0, $s1, $zero
/* DF9374 80242974 0C0B210B */ jal get_float_variable
/* DF9378 80242978 46000786 */ mov.s $f30, $f0
/* DF937C 8024297C 8E050000 */ lw $a1, ($s0)
/* DF9380 80242980 26100004 */ addiu $s0, $s0, 4
/* DF9384 80242984 0220202D */ daddu $a0, $s1, $zero
/* DF9388 80242988 0C0B210B */ jal get_float_variable
/* DF938C 8024298C 46000686 */ mov.s $f26, $f0
/* DF9390 80242990 8E050000 */ lw $a1, ($s0)
/* DF9394 80242994 26100004 */ addiu $s0, $s0, 4
/* DF9398 80242998 0220202D */ daddu $a0, $s1, $zero
/* DF939C 8024299C 0C0B210B */ jal get_float_variable
/* DF93A0 802429A0 46000606 */ mov.s $f24, $f0
/* DF93A4 802429A4 8E050000 */ lw $a1, ($s0)
/* DF93A8 802429A8 26100004 */ addiu $s0, $s0, 4
/* DF93AC 802429AC 0220202D */ daddu $a0, $s1, $zero
/* DF93B0 802429B0 0C0B210B */ jal get_float_variable
/* DF93B4 802429B4 46000586 */ mov.s $f22, $f0
/* DF93B8 802429B8 0220202D */ daddu $a0, $s1, $zero
/* DF93BC 802429BC 8E050000 */ lw $a1, ($s0)
/* DF93C0 802429C0 0C0B1EAF */ jal get_variable
/* DF93C4 802429C4 46000506 */ mov.s $f20, $f0
/* DF93C8 802429C8 4405E000 */ mfc1 $a1, $f28
/* DF93CC 802429CC 4406F000 */ mfc1 $a2, $f30
/* DF93D0 802429D0 4407D000 */ mfc1 $a3, $f26
/* DF93D4 802429D4 0240202D */ daddu $a0, $s2, $zero
/* DF93D8 802429D8 AFA2001C */ sw $v0, 0x1c($sp)
/* DF93DC 802429DC 27A20028 */ addiu $v0, $sp, 0x28
/* DF93E0 802429E0 E7B80010 */ swc1 $f24, 0x10($sp)
/* DF93E4 802429E4 E7B60014 */ swc1 $f22, 0x14($sp)
/* DF93E8 802429E8 E7B40018 */ swc1 $f20, 0x18($sp)
/* DF93EC 802429EC 0C01C3DC */ jal playFX_3D
/* DF93F0 802429F0 AFA20020 */ sw $v0, 0x20($sp)
/* DF93F4 802429F4 8FA30028 */ lw $v1, 0x28($sp)
/* DF93F8 802429F8 AE230084 */ sw $v1, 0x84($s1)
/* DF93FC 802429FC 8FBF003C */ lw $ra, 0x3c($sp)
/* DF9400 80242A00 8FB20038 */ lw $s2, 0x38($sp)
/* DF9404 80242A04 8FB10034 */ lw $s1, 0x34($sp)
/* DF9408 80242A08 8FB00030 */ lw $s0, 0x30($sp)
/* DF940C 80242A0C D7BE0068 */ ldc1 $f30, 0x68($sp)
/* DF9410 80242A10 D7BC0060 */ ldc1 $f28, 0x60($sp)
/* DF9414 80242A14 D7BA0058 */ ldc1 $f26, 0x58($sp)
/* DF9418 80242A18 D7B80050 */ ldc1 $f24, 0x50($sp)
/* DF941C 80242A1C D7B60048 */ ldc1 $f22, 0x48($sp)
/* DF9420 80242A20 D7B40040 */ ldc1 $f20, 0x40($sp)
/* DF9424 80242A24 24020002 */ addiu $v0, $zero, 2
/* DF9428 80242A28 03E00008 */ jr $ra
/* DF942C 80242A2C 27BD0070 */ addiu $sp, $sp, 0x70

View File

@ -1,8 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240000_E05360
/* E05360 80240000 03E00008 */ jr $ra
/* E05364 80240004 0000102D */ daddu $v0, $zero, $zero
/* E05368 80240008 00000000 */ nop
/* E0536C 8024000C 00000000 */ nop

View File

@ -1,12 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240010_E05370
/* E05370 80240010 3C01420C */ lui $at, 0x420c
/* E05374 80240014 44810000 */ mtc1 $at, $f0
/* E05378 80240018 00000000 */ nop
/* E0537C 8024001C 3C01800B */ lui $at, %hi(gCameras+0x18)
/* E05380 80240020 E4201D98 */ swc1 $f0, %lo(gCameras+0x18)($at)
/* E05384 80240024 03E00008 */ jr $ra
/* E05388 80240028 24020002 */ addiu $v0, $zero, 2
/* E0538C 8024002C 00000000 */ nop

View File

@ -1,80 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80243BA4_855D14
/* 855D14 80243BA4 27BDFF90 */ addiu $sp, $sp, -0x70
/* 855D18 80243BA8 AFB10034 */ sw $s1, 0x34($sp)
/* 855D1C 80243BAC 0080882D */ daddu $s1, $a0, $zero
/* 855D20 80243BB0 AFBF003C */ sw $ra, 0x3c($sp)
/* 855D24 80243BB4 AFB20038 */ sw $s2, 0x38($sp)
/* 855D28 80243BB8 AFB00030 */ sw $s0, 0x30($sp)
/* 855D2C 80243BBC F7BE0068 */ sdc1 $f30, 0x68($sp)
/* 855D30 80243BC0 F7BC0060 */ sdc1 $f28, 0x60($sp)
/* 855D34 80243BC4 F7BA0058 */ sdc1 $f26, 0x58($sp)
/* 855D38 80243BC8 F7B80050 */ sdc1 $f24, 0x50($sp)
/* 855D3C 80243BCC F7B60048 */ sdc1 $f22, 0x48($sp)
/* 855D40 80243BD0 F7B40040 */ sdc1 $f20, 0x40($sp)
/* 855D44 80243BD4 8E30000C */ lw $s0, 0xc($s1)
/* 855D48 80243BD8 8E050000 */ lw $a1, ($s0)
/* 855D4C 80243BDC 0C0B1EAF */ jal get_variable
/* 855D50 80243BE0 26100004 */ addiu $s0, $s0, 4
/* 855D54 80243BE4 8E050000 */ lw $a1, ($s0)
/* 855D58 80243BE8 26100004 */ addiu $s0, $s0, 4
/* 855D5C 80243BEC 0220202D */ daddu $a0, $s1, $zero
/* 855D60 80243BF0 0C0B210B */ jal get_float_variable
/* 855D64 80243BF4 0040902D */ daddu $s2, $v0, $zero
/* 855D68 80243BF8 8E050000 */ lw $a1, ($s0)
/* 855D6C 80243BFC 26100004 */ addiu $s0, $s0, 4
/* 855D70 80243C00 0220202D */ daddu $a0, $s1, $zero
/* 855D74 80243C04 0C0B210B */ jal get_float_variable
/* 855D78 80243C08 46000706 */ mov.s $f28, $f0
/* 855D7C 80243C0C 8E050000 */ lw $a1, ($s0)
/* 855D80 80243C10 26100004 */ addiu $s0, $s0, 4
/* 855D84 80243C14 0220202D */ daddu $a0, $s1, $zero
/* 855D88 80243C18 0C0B210B */ jal get_float_variable
/* 855D8C 80243C1C 46000786 */ mov.s $f30, $f0
/* 855D90 80243C20 8E050000 */ lw $a1, ($s0)
/* 855D94 80243C24 26100004 */ addiu $s0, $s0, 4
/* 855D98 80243C28 0220202D */ daddu $a0, $s1, $zero
/* 855D9C 80243C2C 0C0B210B */ jal get_float_variable
/* 855DA0 80243C30 46000686 */ mov.s $f26, $f0
/* 855DA4 80243C34 8E050000 */ lw $a1, ($s0)
/* 855DA8 80243C38 26100004 */ addiu $s0, $s0, 4
/* 855DAC 80243C3C 0220202D */ daddu $a0, $s1, $zero
/* 855DB0 80243C40 0C0B210B */ jal get_float_variable
/* 855DB4 80243C44 46000606 */ mov.s $f24, $f0
/* 855DB8 80243C48 8E050000 */ lw $a1, ($s0)
/* 855DBC 80243C4C 26100004 */ addiu $s0, $s0, 4
/* 855DC0 80243C50 0220202D */ daddu $a0, $s1, $zero
/* 855DC4 80243C54 0C0B210B */ jal get_float_variable
/* 855DC8 80243C58 46000586 */ mov.s $f22, $f0
/* 855DCC 80243C5C 0220202D */ daddu $a0, $s1, $zero
/* 855DD0 80243C60 8E050000 */ lw $a1, ($s0)
/* 855DD4 80243C64 0C0B1EAF */ jal get_variable
/* 855DD8 80243C68 46000506 */ mov.s $f20, $f0
/* 855DDC 80243C6C 4405E000 */ mfc1 $a1, $f28
/* 855DE0 80243C70 4406F000 */ mfc1 $a2, $f30
/* 855DE4 80243C74 4407D000 */ mfc1 $a3, $f26
/* 855DE8 80243C78 0240202D */ daddu $a0, $s2, $zero
/* 855DEC 80243C7C AFA2001C */ sw $v0, 0x1c($sp)
/* 855DF0 80243C80 27A20028 */ addiu $v0, $sp, 0x28
/* 855DF4 80243C84 E7B80010 */ swc1 $f24, 0x10($sp)
/* 855DF8 80243C88 E7B60014 */ swc1 $f22, 0x14($sp)
/* 855DFC 80243C8C E7B40018 */ swc1 $f20, 0x18($sp)
/* 855E00 80243C90 0C01C3DC */ jal playFX_3D
/* 855E04 80243C94 AFA20020 */ sw $v0, 0x20($sp)
/* 855E08 80243C98 8FA30028 */ lw $v1, 0x28($sp)
/* 855E0C 80243C9C AE230084 */ sw $v1, 0x84($s1)
/* 855E10 80243CA0 8FBF003C */ lw $ra, 0x3c($sp)
/* 855E14 80243CA4 8FB20038 */ lw $s2, 0x38($sp)
/* 855E18 80243CA8 8FB10034 */ lw $s1, 0x34($sp)
/* 855E1C 80243CAC 8FB00030 */ lw $s0, 0x30($sp)
/* 855E20 80243CB0 D7BE0068 */ ldc1 $f30, 0x68($sp)
/* 855E24 80243CB4 D7BC0060 */ ldc1 $f28, 0x60($sp)
/* 855E28 80243CB8 D7BA0058 */ ldc1 $f26, 0x58($sp)
/* 855E2C 80243CBC D7B80050 */ ldc1 $f24, 0x50($sp)
/* 855E30 80243CC0 D7B60048 */ ldc1 $f22, 0x48($sp)
/* 855E34 80243CC4 D7B40040 */ ldc1 $f20, 0x40($sp)
/* 855E38 80243CC8 24020002 */ addiu $v0, $zero, 2
/* 855E3C 80243CCC 03E00008 */ jr $ra
/* 855E40 80243CD0 27BD0070 */ addiu $sp, $sp, 0x70

View File

@ -1,80 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240C74_8657B4
/* 8657B4 80240C74 27BDFF90 */ addiu $sp, $sp, -0x70
/* 8657B8 80240C78 AFB10034 */ sw $s1, 0x34($sp)
/* 8657BC 80240C7C 0080882D */ daddu $s1, $a0, $zero
/* 8657C0 80240C80 AFBF003C */ sw $ra, 0x3c($sp)
/* 8657C4 80240C84 AFB20038 */ sw $s2, 0x38($sp)
/* 8657C8 80240C88 AFB00030 */ sw $s0, 0x30($sp)
/* 8657CC 80240C8C F7BE0068 */ sdc1 $f30, 0x68($sp)
/* 8657D0 80240C90 F7BC0060 */ sdc1 $f28, 0x60($sp)
/* 8657D4 80240C94 F7BA0058 */ sdc1 $f26, 0x58($sp)
/* 8657D8 80240C98 F7B80050 */ sdc1 $f24, 0x50($sp)
/* 8657DC 80240C9C F7B60048 */ sdc1 $f22, 0x48($sp)
/* 8657E0 80240CA0 F7B40040 */ sdc1 $f20, 0x40($sp)
/* 8657E4 80240CA4 8E30000C */ lw $s0, 0xc($s1)
/* 8657E8 80240CA8 8E050000 */ lw $a1, ($s0)
/* 8657EC 80240CAC 0C0B1EAF */ jal get_variable
/* 8657F0 80240CB0 26100004 */ addiu $s0, $s0, 4
/* 8657F4 80240CB4 8E050000 */ lw $a1, ($s0)
/* 8657F8 80240CB8 26100004 */ addiu $s0, $s0, 4
/* 8657FC 80240CBC 0220202D */ daddu $a0, $s1, $zero
/* 865800 80240CC0 0C0B210B */ jal get_float_variable
/* 865804 80240CC4 0040902D */ daddu $s2, $v0, $zero
/* 865808 80240CC8 8E050000 */ lw $a1, ($s0)
/* 86580C 80240CCC 26100004 */ addiu $s0, $s0, 4
/* 865810 80240CD0 0220202D */ daddu $a0, $s1, $zero
/* 865814 80240CD4 0C0B210B */ jal get_float_variable
/* 865818 80240CD8 46000706 */ mov.s $f28, $f0
/* 86581C 80240CDC 8E050000 */ lw $a1, ($s0)
/* 865820 80240CE0 26100004 */ addiu $s0, $s0, 4
/* 865824 80240CE4 0220202D */ daddu $a0, $s1, $zero
/* 865828 80240CE8 0C0B210B */ jal get_float_variable
/* 86582C 80240CEC 46000786 */ mov.s $f30, $f0
/* 865830 80240CF0 8E050000 */ lw $a1, ($s0)
/* 865834 80240CF4 26100004 */ addiu $s0, $s0, 4
/* 865838 80240CF8 0220202D */ daddu $a0, $s1, $zero
/* 86583C 80240CFC 0C0B210B */ jal get_float_variable
/* 865840 80240D00 46000686 */ mov.s $f26, $f0
/* 865844 80240D04 8E050000 */ lw $a1, ($s0)
/* 865848 80240D08 26100004 */ addiu $s0, $s0, 4
/* 86584C 80240D0C 0220202D */ daddu $a0, $s1, $zero
/* 865850 80240D10 0C0B210B */ jal get_float_variable
/* 865854 80240D14 46000606 */ mov.s $f24, $f0
/* 865858 80240D18 8E050000 */ lw $a1, ($s0)
/* 86585C 80240D1C 26100004 */ addiu $s0, $s0, 4
/* 865860 80240D20 0220202D */ daddu $a0, $s1, $zero
/* 865864 80240D24 0C0B210B */ jal get_float_variable
/* 865868 80240D28 46000586 */ mov.s $f22, $f0
/* 86586C 80240D2C 0220202D */ daddu $a0, $s1, $zero
/* 865870 80240D30 8E050000 */ lw $a1, ($s0)
/* 865874 80240D34 0C0B1EAF */ jal get_variable
/* 865878 80240D38 46000506 */ mov.s $f20, $f0
/* 86587C 80240D3C 4405E000 */ mfc1 $a1, $f28
/* 865880 80240D40 4406F000 */ mfc1 $a2, $f30
/* 865884 80240D44 4407D000 */ mfc1 $a3, $f26
/* 865888 80240D48 0240202D */ daddu $a0, $s2, $zero
/* 86588C 80240D4C AFA2001C */ sw $v0, 0x1c($sp)
/* 865890 80240D50 27A20028 */ addiu $v0, $sp, 0x28
/* 865894 80240D54 E7B80010 */ swc1 $f24, 0x10($sp)
/* 865898 80240D58 E7B60014 */ swc1 $f22, 0x14($sp)
/* 86589C 80240D5C E7B40018 */ swc1 $f20, 0x18($sp)
/* 8658A0 80240D60 0C01C3DC */ jal playFX_3D
/* 8658A4 80240D64 AFA20020 */ sw $v0, 0x20($sp)
/* 8658A8 80240D68 8FA30028 */ lw $v1, 0x28($sp)
/* 8658AC 80240D6C AE230084 */ sw $v1, 0x84($s1)
/* 8658B0 80240D70 8FBF003C */ lw $ra, 0x3c($sp)
/* 8658B4 80240D74 8FB20038 */ lw $s2, 0x38($sp)
/* 8658B8 80240D78 8FB10034 */ lw $s1, 0x34($sp)
/* 8658BC 80240D7C 8FB00030 */ lw $s0, 0x30($sp)
/* 8658C0 80240D80 D7BE0068 */ ldc1 $f30, 0x68($sp)
/* 8658C4 80240D84 D7BC0060 */ ldc1 $f28, 0x60($sp)
/* 8658C8 80240D88 D7BA0058 */ ldc1 $f26, 0x58($sp)
/* 8658CC 80240D8C D7B80050 */ ldc1 $f24, 0x50($sp)
/* 8658D0 80240D90 D7B60048 */ ldc1 $f22, 0x48($sp)
/* 8658D4 80240D94 D7B40040 */ ldc1 $f20, 0x40($sp)
/* 8658D8 80240D98 24020002 */ addiu $v0, $zero, 2
/* 8658DC 80240D9C 03E00008 */ jr $ra
/* 8658E0 80240DA0 27BD0070 */ addiu $sp, $sp, 0x70

View File

@ -1,69 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240000_B1B570
/* B1B570 80240000 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B1B574 80240004 AFBF0014 */ sw $ra, 0x14($sp)
/* B1B578 80240008 AFB00010 */ sw $s0, 0x10($sp)
/* B1B57C 8024000C F7B80028 */ sdc1 $f24, 0x28($sp)
/* B1B580 80240010 F7B60020 */ sdc1 $f22, 0x20($sp)
/* B1B584 80240014 F7B40018 */ sdc1 $f20, 0x18($sp)
/* B1B588 80240018 0C00EAD2 */ jal get_npc_safe
/* B1B58C 8024001C 0000202D */ daddu $a0, $zero, $zero
/* B1B590 80240020 0040802D */ daddu $s0, $v0, $zero
/* B1B594 80240024 1200002D */ beqz $s0, .L802400DC
/* B1B598 80240028 24020005 */ addiu $v0, $zero, 5
/* B1B59C 8024002C 86030084 */ lh $v1, 0x84($s0)
/* B1B5A0 80240030 1462002B */ bne $v1, $v0, .L802400E0
/* B1B5A4 80240034 24020002 */ addiu $v0, $zero, 2
/* B1B5A8 80240038 C60C0038 */ lwc1 $f12, 0x38($s0)
/* B1B5AC 8024003C 4480B000 */ mtc1 $zero, $f22
/* B1B5B0 80240040 3C01C2C8 */ lui $at, 0xc2c8
/* B1B5B4 80240044 4481C000 */ mtc1 $at, $f24
/* B1B5B8 80240048 C60E0040 */ lwc1 $f14, 0x40($s0)
/* B1B5BC 8024004C 4406B000 */ mfc1 $a2, $f22
/* B1B5C0 80240050 4407C000 */ mfc1 $a3, $f24
/* B1B5C4 80240054 3C013C8E */ lui $at, 0x3c8e
/* B1B5C8 80240058 3421FA2E */ ori $at, $at, 0xfa2e
/* B1B5CC 8024005C 4481A000 */ mtc1 $at, $f20
/* B1B5D0 80240060 0C00A7B5 */ jal dist2D
/* B1B5D4 80240064 00000000 */ nop
/* B1B5D8 80240068 0C00A85B */ jal sin_rad
/* B1B5DC 8024006C 4600A306 */ mov.s $f12, $f20
/* B1B5E0 80240070 4600A306 */ mov.s $f12, $f20
/* B1B5E4 80240074 0C00A874 */ jal cos_rad
/* B1B5E8 80240078 46000506 */ mov.s $f20, $f0
/* B1B5EC 8024007C C6060038 */ lwc1 $f6, 0x38($s0)
/* B1B5F0 80240080 46163581 */ sub.s $f22, $f6, $f22
/* B1B5F4 80240084 46160082 */ mul.s $f2, $f0, $f22
/* B1B5F8 80240088 00000000 */ nop
/* B1B5FC 8024008C C6040040 */ lwc1 $f4, 0x40($s0)
/* B1B600 80240090 46182101 */ sub.s $f4, $f4, $f24
/* B1B604 80240094 4604A202 */ mul.s $f8, $f20, $f4
/* B1B608 80240098 00000000 */ nop
/* B1B60C 8024009C 4600A507 */ neg.s $f20, $f20
/* B1B610 802400A0 4616A502 */ mul.s $f20, $f20, $f22
/* B1B614 802400A4 00000000 */ nop
/* B1B618 802400A8 46040002 */ mul.s $f0, $f0, $f4
/* B1B61C 802400AC 00000000 */ nop
/* B1B620 802400B0 46081080 */ add.s $f2, $f2, $f8
/* B1B624 802400B4 4600A500 */ add.s $f20, $f20, $f0
/* B1B628 802400B8 46161081 */ sub.s $f2, $f2, $f22
/* B1B62C 802400BC 4604A501 */ sub.s $f20, $f20, $f4
/* B1B630 802400C0 46023180 */ add.s $f6, $f6, $f2
/* B1B634 802400C4 C6000040 */ lwc1 $f0, 0x40($s0)
/* B1B638 802400C8 46140000 */ add.s $f0, $f0, $f20
/* B1B63C 802400CC 24020002 */ addiu $v0, $zero, 2
/* B1B640 802400D0 E6060038 */ swc1 $f6, 0x38($s0)
/* B1B644 802400D4 08090038 */ j .L802400E0
/* B1B648 802400D8 E6000040 */ swc1 $f0, 0x40($s0)
.L802400DC:
/* B1B64C 802400DC 24020002 */ addiu $v0, $zero, 2
.L802400E0:
/* B1B650 802400E0 8FBF0014 */ lw $ra, 0x14($sp)
/* B1B654 802400E4 8FB00010 */ lw $s0, 0x10($sp)
/* B1B658 802400E8 D7B80028 */ ldc1 $f24, 0x28($sp)
/* B1B65C 802400EC D7B60020 */ ldc1 $f22, 0x20($sp)
/* B1B660 802400F0 D7B40018 */ ldc1 $f20, 0x18($sp)
/* B1B664 802400F4 03E00008 */ jr $ra
/* B1B668 802400F8 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,19 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240260_B1B7D0
/* B1B7D0 80240260 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B1B7D4 80240264 AFB00010 */ sw $s0, 0x10($sp)
/* B1B7D8 80240268 0080802D */ daddu $s0, $a0, $zero
/* B1B7DC 8024026C 3C058024 */ lui $a1, %hi(func_8024029C_B1B80C)
/* B1B7E0 80240270 24A5029C */ addiu $a1, $a1, %lo(func_8024029C_B1B80C)
/* B1B7E4 80240274 AFBF0014 */ sw $ra, 0x14($sp)
/* B1B7E8 80240278 0C048C8F */ jal create_generic_entity_frontUI
/* B1B7EC 8024027C 0000202D */ daddu $a0, $zero, $zero
/* B1B7F0 80240280 8E03013C */ lw $v1, 0x13c($s0)
/* B1B7F4 80240284 AC620000 */ sw $v0, ($v1)
/* B1B7F8 80240288 8FBF0014 */ lw $ra, 0x14($sp)
/* B1B7FC 8024028C 8FB00010 */ lw $s0, 0x10($sp)
/* B1B800 80240290 24020002 */ addiu $v0, $zero, 2
/* B1B804 80240294 03E00008 */ jr $ra
/* B1B808 80240298 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,54 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024029C_B1B80C
/* B1B80C 8024029C 27BDFFB0 */ addiu $sp, $sp, -0x50
/* B1B810 802402A0 AFB00040 */ sw $s0, 0x40($sp)
/* B1B814 802402A4 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* B1B818 802402A8 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* B1B81C 802402AC AFBF0048 */ sw $ra, 0x48($sp)
/* B1B820 802402B0 AFB10044 */ sw $s1, 0x44($sp)
/* B1B824 802402B4 8E020000 */ lw $v0, ($s0)
/* B1B828 802402B8 30420001 */ andi $v0, $v0, 1
/* B1B82C 802402BC 10400023 */ beqz $v0, .L8024034C
/* B1B830 802402C0 27B10020 */ addiu $s1, $sp, 0x20
/* B1B834 802402C4 8E0400CC */ lw $a0, 0xcc($s0)
/* B1B838 802402C8 0C044181 */ jal get_shadow_by_index
/* B1B83C 802402CC 00000000 */ nop
/* B1B840 802402D0 0C048B77 */ jal get_entity_model
/* B1B844 802402D4 84440008 */ lh $a0, 8($v0)
/* B1B848 802402D8 8C430000 */ lw $v1, ($v0)
/* B1B84C 802402DC 3C04800A */ lui $a0, %hi(gCurrentCamID)
/* B1B850 802402E0 8484A634 */ lh $a0, %lo(gCurrentCamID)($a0)
/* B1B854 802402E4 34630200 */ ori $v1, $v1, 0x200
/* B1B858 802402E8 AC430000 */ sw $v1, ($v0)
/* B1B85C 802402EC 27A20030 */ addiu $v0, $sp, 0x30
/* B1B860 802402F0 AFA20010 */ sw $v0, 0x10($sp)
/* B1B864 802402F4 27A20034 */ addiu $v0, $sp, 0x34
/* B1B868 802402F8 AFA20014 */ sw $v0, 0x14($sp)
/* B1B86C 802402FC 27A20038 */ addiu $v0, $sp, 0x38
/* B1B870 80240300 AFA20018 */ sw $v0, 0x18($sp)
/* B1B874 80240304 C6000030 */ lwc1 $f0, 0x30($s0)
/* B1B878 80240308 8E050028 */ lw $a1, 0x28($s0)
/* B1B87C 8024030C 8E06002C */ lw $a2, 0x2c($s0)
/* B1B880 80240310 46000007 */ neg.s $f0, $f0
/* B1B884 80240314 44070000 */ mfc1 $a3, $f0
/* B1B888 80240318 0C00B94E */ jal get_screen_coords
/* B1B88C 8024031C 00000000 */ nop
/* B1B890 80240320 0220202D */ daddu $a0, $s1, $zero
/* B1B894 80240324 AFB00028 */ sw $s0, 0x28($sp)
/* B1B898 80240328 820500BE */ lb $a1, 0xbe($s0)
/* B1B89C 8024032C 8FA30038 */ lw $v1, 0x38($sp)
/* B1B8A0 80240330 3C028024 */ lui $v0, %hi(func_80240360_B1B8D0)
/* B1B8A4 80240334 24420360 */ addiu $v0, $v0, %lo(func_80240360_B1B8D0)
/* B1B8A8 80240338 AFA2002C */ sw $v0, 0x2c($sp)
/* B1B8AC 8024033C 00031823 */ negu $v1, $v1
/* B1B8B0 80240340 AFA50020 */ sw $a1, 0x20($sp)
/* B1B8B4 80240344 0C047644 */ jal queue_render_task
/* B1B8B8 80240348 AFA30024 */ sw $v1, 0x24($sp)
.L8024034C:
/* B1B8BC 8024034C 8FBF0048 */ lw $ra, 0x48($sp)
/* B1B8C0 80240350 8FB10044 */ lw $s1, 0x44($sp)
/* B1B8C4 80240354 8FB00040 */ lw $s0, 0x40($sp)
/* B1B8C8 80240358 03E00008 */ jr $ra
/* B1B8CC 8024035C 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,112 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240360_B1B8D0
/* B1B8D0 80240360 3C03800A */ lui $v1, %hi(gCurrentCamID)
/* B1B8D4 80240364 8463A634 */ lh $v1, %lo(gCurrentCamID)($v1)
/* B1B8D8 80240368 3C07BF80 */ lui $a3, 0xbf80
/* B1B8DC 8024036C 27BDFEC0 */ addiu $sp, $sp, -0x140
/* B1B8E0 80240370 F7B40128 */ sdc1 $f20, 0x128($sp)
/* B1B8E4 80240374 4480A000 */ mtc1 $zero, $f20
/* B1B8E8 80240378 AFB1011C */ sw $s1, 0x11c($sp)
/* B1B8EC 8024037C 0080882D */ daddu $s1, $a0, $zero
/* B1B8F0 80240380 AFB00118 */ sw $s0, 0x118($sp)
/* B1B8F4 80240384 27B00098 */ addiu $s0, $sp, 0x98
/* B1B8F8 80240388 AFBF0120 */ sw $ra, 0x120($sp)
/* B1B8FC 8024038C F7B80138 */ sdc1 $f24, 0x138($sp)
/* B1B900 80240390 F7B60130 */ sdc1 $f22, 0x130($sp)
/* B1B904 80240394 00031080 */ sll $v0, $v1, 2
/* B1B908 80240398 00431021 */ addu $v0, $v0, $v1
/* B1B90C 8024039C 00021080 */ sll $v0, $v0, 2
/* B1B910 802403A0 00431023 */ subu $v0, $v0, $v1
/* B1B914 802403A4 000218C0 */ sll $v1, $v0, 3
/* B1B918 802403A8 00431021 */ addu $v0, $v0, $v1
/* B1B91C 802403AC 000210C0 */ sll $v0, $v0, 3
/* B1B920 802403B0 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* B1B924 802403B4 00220821 */ addu $at, $at, $v0
/* B1B928 802403B8 C4361DEC */ lwc1 $f22, %lo(gCameras+0x6C)($at)
/* B1B92C 802403BC 4406A000 */ mfc1 $a2, $f20
/* B1B930 802403C0 4600B587 */ neg.s $f22, $f22
/* B1B934 802403C4 4405B000 */ mfc1 $a1, $f22
/* B1B938 802403C8 0200202D */ daddu $a0, $s0, $zero
/* B1B93C 802403CC 0C019EC8 */ jal guRotateF
/* B1B940 802403D0 E7B40010 */ swc1 $f20, 0x10($sp)
/* B1B944 802403D4 C62C008C */ lwc1 $f12, 0x8c($s1)
/* B1B948 802403D8 0C00A6C9 */ jal clamp_angle
/* B1B94C 802403DC 00000000 */ nop
/* B1B950 802403E0 44050000 */ mfc1 $a1, $f0
/* B1B954 802403E4 4406A000 */ mfc1 $a2, $f20
/* B1B958 802403E8 4407A000 */ mfc1 $a3, $f20
/* B1B95C 802403EC 3C013F80 */ lui $at, 0x3f80
/* B1B960 802403F0 4481C000 */ mtc1 $at, $f24
/* B1B964 802403F4 27A40018 */ addiu $a0, $sp, 0x18
/* B1B968 802403F8 0C019EC8 */ jal guRotateF
/* B1B96C 802403FC E7B80010 */ swc1 $f24, 0x10($sp)
/* B1B970 80240400 0200202D */ daddu $a0, $s0, $zero
/* B1B974 80240404 27A50018 */ addiu $a1, $sp, 0x18
/* B1B978 80240408 0C019D80 */ jal guMtxCatF
/* B1B97C 8024040C 00A0302D */ daddu $a2, $a1, $zero
/* B1B980 80240410 4405B000 */ mfc1 $a1, $f22
/* B1B984 80240414 4406A000 */ mfc1 $a2, $f20
/* B1B988 80240418 4407C000 */ mfc1 $a3, $f24
/* B1B98C 8024041C 0200202D */ daddu $a0, $s0, $zero
/* B1B990 80240420 0C019EC8 */ jal guRotateF
/* B1B994 80240424 E7B40010 */ swc1 $f20, 0x10($sp)
/* B1B998 80240428 27A40018 */ addiu $a0, $sp, 0x18
/* B1B99C 8024042C 0200282D */ daddu $a1, $s0, $zero
/* B1B9A0 80240430 0C019D80 */ jal guMtxCatF
/* B1B9A4 80240434 0080302D */ daddu $a2, $a0, $zero
/* B1B9A8 80240438 E7B40010 */ swc1 $f20, 0x10($sp)
/* B1B9AC 8024043C 8E2500A8 */ lw $a1, 0xa8($s1)
/* B1B9B0 80240440 4406A000 */ mfc1 $a2, $f20
/* B1B9B4 80240444 4407C000 */ mfc1 $a3, $f24
/* B1B9B8 80240448 0C019EC8 */ jal guRotateF
/* B1B9BC 8024044C 0200202D */ daddu $a0, $s0, $zero
/* B1B9C0 80240450 27A40018 */ addiu $a0, $sp, 0x18
/* B1B9C4 80240454 0200282D */ daddu $a1, $s0, $zero
/* B1B9C8 80240458 0C019D80 */ jal guMtxCatF
/* B1B9CC 8024045C 0080302D */ daddu $a2, $a0, $zero
/* B1B9D0 80240460 3C013F36 */ lui $at, 0x3f36
/* B1B9D4 80240464 3421DB6E */ ori $at, $at, 0xdb6e
/* B1B9D8 80240468 44810000 */ mtc1 $at, $f0
/* B1B9DC 8024046C 27B000D8 */ addiu $s0, $sp, 0xd8
/* B1B9E0 80240470 44050000 */ mfc1 $a1, $f0
/* B1B9E4 80240474 0200202D */ daddu $a0, $s0, $zero
/* B1B9E8 80240478 00A0302D */ daddu $a2, $a1, $zero
/* B1B9EC 8024047C 0C019DF0 */ jal guScaleF
/* B1B9F0 80240480 00A0382D */ daddu $a3, $a1, $zero
/* B1B9F4 80240484 27A40018 */ addiu $a0, $sp, 0x18
/* B1B9F8 80240488 0200282D */ daddu $a1, $s0, $zero
/* B1B9FC 8024048C 0C019D80 */ jal guMtxCatF
/* B1BA00 80240490 0080302D */ daddu $a2, $a0, $zero
/* B1BA04 80240494 27B00058 */ addiu $s0, $sp, 0x58
/* B1BA08 80240498 8E250028 */ lw $a1, 0x28($s1)
/* B1BA0C 8024049C C6200030 */ lwc1 $f0, 0x30($s1)
/* B1BA10 802404A0 8E26002C */ lw $a2, 0x2c($s1)
/* B1BA14 802404A4 46000007 */ neg.s $f0, $f0
/* B1BA18 802404A8 44070000 */ mfc1 $a3, $f0
/* B1BA1C 802404AC 0C019E40 */ jal guTranslateF
/* B1BA20 802404B0 0200202D */ daddu $a0, $s0, $zero
/* B1BA24 802404B4 27A40018 */ addiu $a0, $sp, 0x18
/* B1BA28 802404B8 0200282D */ daddu $a1, $s0, $zero
/* B1BA2C 802404BC 0C019D80 */ jal guMtxCatF
/* B1BA30 802404C0 0080302D */ daddu $a2, $a0, $zero
/* B1BA34 802404C4 8E2500A4 */ lw $a1, 0xa4($s1)
/* B1BA38 802404C8 4406C000 */ mfc1 $a2, $f24
/* B1BA3C 802404CC 0C0B76A3 */ jal spr_update_player_sprite
/* B1BA40 802404D0 24040001 */ addiu $a0, $zero, 1
/* B1BA44 802404D4 24040001 */ addiu $a0, $zero, 1
/* B1BA48 802404D8 0000282D */ daddu $a1, $zero, $zero
/* B1BA4C 802404DC 00A0302D */ daddu $a2, $a1, $zero
/* B1BA50 802404E0 00A0382D */ daddu $a3, $a1, $zero
/* B1BA54 802404E4 27A20018 */ addiu $v0, $sp, 0x18
/* B1BA58 802404E8 0C0B7710 */ jal spr_draw_player_sprite
/* B1BA5C 802404EC AFA20010 */ sw $v0, 0x10($sp)
/* B1BA60 802404F0 8FBF0120 */ lw $ra, 0x120($sp)
/* B1BA64 802404F4 8FB1011C */ lw $s1, 0x11c($sp)
/* B1BA68 802404F8 8FB00118 */ lw $s0, 0x118($sp)
/* B1BA6C 802404FC D7B80138 */ ldc1 $f24, 0x138($sp)
/* B1BA70 80240500 D7B60130 */ ldc1 $f22, 0x130($sp)
/* B1BA74 80240504 D7B40128 */ ldc1 $f20, 0x128($sp)
/* B1BA78 80240508 03E00008 */ jr $ra
/* B1BA7C 8024050C 27BD0140 */ addiu $sp, $sp, 0x140

View File

@ -1,30 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240510_B1BA80
/* B1BA80 80240510 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B1BA84 80240514 AFB00010 */ sw $s0, 0x10($sp)
/* B1BA88 80240518 0080802D */ daddu $s0, $a0, $zero
/* B1BA8C 8024051C 3C048024 */ lui $a0, %hi(func_80240574_B1BAE4)
/* B1BA90 80240520 24840574 */ addiu $a0, $a0, %lo(func_80240574_B1BAE4)
/* B1BA94 80240524 AFBF0014 */ sw $ra, 0x14($sp)
/* B1BA98 80240528 0C048C56 */ jal create_generic_entity_world
/* B1BA9C 8024052C 0000282D */ daddu $a1, $zero, $zero
/* B1BAA0 80240530 8E03013C */ lw $v1, 0x13c($s0)
/* B1BAA4 80240534 2404FFFC */ addiu $a0, $zero, -4
/* B1BAA8 80240538 0C00EAD2 */ jal get_npc_safe
/* B1BAAC 8024053C AC620004 */ sw $v0, 4($v1)
/* B1BAB0 80240540 0040282D */ daddu $a1, $v0, $zero
/* B1BAB4 80240544 10A00007 */ beqz $a1, .L80240564
/* B1BAB8 80240548 24020002 */ addiu $v0, $zero, 2
/* B1BABC 8024054C 8CA30000 */ lw $v1, ($a1)
/* B1BAC0 80240550 3C040002 */ lui $a0, 2
/* B1BAC4 80240554 00641825 */ or $v1, $v1, $a0
/* B1BAC8 80240558 3C040008 */ lui $a0, 8
/* B1BACC 8024055C 00641825 */ or $v1, $v1, $a0
/* B1BAD0 80240560 ACA30000 */ sw $v1, ($a1)
.L80240564:
/* B1BAD4 80240564 8FBF0014 */ lw $ra, 0x14($sp)
/* B1BAD8 80240568 8FB00010 */ lw $s0, 0x10($sp)
/* B1BADC 8024056C 03E00008 */ jr $ra
/* B1BAE0 80240570 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,20 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240574_B1BAE4
/* B1BAE4 80240574 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B1BAE8 80240578 AFBF0010 */ sw $ra, 0x10($sp)
/* B1BAEC 8024057C 0C00EAD2 */ jal get_npc_safe
/* B1BAF0 80240580 2404FFFC */ addiu $a0, $zero, -4
/* B1BAF4 80240584 0040202D */ daddu $a0, $v0, $zero
/* B1BAF8 80240588 10800006 */ beqz $a0, .L802405A4
/* B1BAFC 8024058C 3C030002 */ lui $v1, 2
/* B1BB00 80240590 8C820000 */ lw $v0, ($a0)
/* B1BB04 80240594 00431025 */ or $v0, $v0, $v1
/* B1BB08 80240598 3C030008 */ lui $v1, 8
/* B1BB0C 8024059C 00431025 */ or $v0, $v0, $v1
/* B1BB10 802405A0 AC820000 */ sw $v0, ($a0)
.L802405A4:
/* B1BB14 802405A4 8FBF0010 */ lw $ra, 0x10($sp)
/* B1BB18 802405A8 03E00008 */ jr $ra
/* B1BB1C 802405AC 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802405B0_B1BB20
/* B1BB20 802405B0 3C048024 */ lui $a0, %hi(func_80240FD0_919B80)
/* B1BB24 802405B4 8C840FD0 */ lw $a0, %lo(func_80240FD0_919B80)($a0)
/* B1BB28 802405B8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B1BB2C 802405BC AFBF0010 */ sw $ra, 0x10($sp)
/* B1BB30 802405C0 0C047A2F */ jal update_model_animator
/* B1BB34 802405C4 00000000 */ nop
/* B1BB38 802405C8 8FBF0010 */ lw $ra, 0x10($sp)
/* B1BB3C 802405CC 03E00008 */ jr $ra
/* B1BB40 802405D0 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,25 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802405D4_B1BB44
/* B1BB44 802405D4 27BDFEA8 */ addiu $sp, $sp, -0x158
/* B1BB48 802405D8 AFB00150 */ sw $s0, 0x150($sp)
/* B1BB4C 802405DC 27B00050 */ addiu $s0, $sp, 0x50
/* B1BB50 802405E0 3C05C3F2 */ lui $a1, 0xc3f2
/* B1BB54 802405E4 3C0641C8 */ lui $a2, 0x41c8
/* B1BB58 802405E8 3C07C220 */ lui $a3, 0xc220
/* B1BB5C 802405EC AFBF0154 */ sw $ra, 0x154($sp)
/* B1BB60 802405F0 0C019E40 */ jal guTranslateF
/* B1BB64 802405F4 0200202D */ daddu $a0, $s0, $zero
/* B1BB68 802405F8 0200202D */ daddu $a0, $s0, $zero
/* B1BB6C 802405FC 27B00110 */ addiu $s0, $sp, 0x110
/* B1BB70 80240600 0C019D40 */ jal guMtxF2L
/* B1BB74 80240604 0200282D */ daddu $a1, $s0, $zero
/* B1BB78 80240608 3C048024 */ lui $a0, %hi(func_80240FD0_919B80)
/* B1BB7C 8024060C 8C840FD0 */ lw $a0, %lo(func_80240FD0_919B80)($a0)
/* B1BB80 80240610 0C047CC1 */ jal render_animated_model
/* B1BB84 80240614 0200282D */ daddu $a1, $s0, $zero
/* B1BB88 80240618 8FBF0154 */ lw $ra, 0x154($sp)
/* B1BB8C 8024061C 8FB00150 */ lw $s0, 0x150($sp)
/* B1BB90 80240620 03E00008 */ jr $ra
/* B1BB94 80240624 27BD0158 */ addiu $sp, $sp, 0x158

View File

@ -1,18 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240628_B1BB98
/* B1BB98 80240628 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B1BB9C 8024062C 3C048024 */ lui $a0, %hi(func_802405B0_B1BB20)
/* B1BBA0 80240630 248405B0 */ addiu $a0, $a0, %lo(func_802405B0_B1BB20)
/* B1BBA4 80240634 3C058024 */ lui $a1, %hi(func_802405D4_B1BB44)
/* B1BBA8 80240638 24A505D4 */ addiu $a1, $a1, %lo(func_802405D4_B1BB44)
/* B1BBAC 8024063C AFBF0010 */ sw $ra, 0x10($sp)
/* B1BBB0 80240640 0C048C56 */ jal create_generic_entity_world
/* B1BBB4 80240644 00000000 */ nop
/* B1BBB8 80240648 8FBF0010 */ lw $ra, 0x10($sp)
/* B1BBBC 8024064C 24020002 */ addiu $v0, $zero, 2
/* B1BBC0 80240650 03E00008 */ jr $ra
/* B1BBC4 80240654 27BD0018 */ addiu $sp, $sp, 0x18
/* B1BBC8 80240658 00000000 */ nop
/* B1BBCC 8024065C 00000000 */ nop

View File

@ -1,16 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240660_B1BBD0
/* B1BBD0 80240660 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B1BBD4 80240664 AFBF0010 */ sw $ra, 0x10($sp)
/* B1BBD8 80240668 8C820148 */ lw $v0, 0x148($a0)
/* B1BBDC 8024066C 0C00EABB */ jal get_npc_unsafe
/* B1BBE0 80240670 84440008 */ lh $a0, 8($v0)
/* B1BBE4 80240674 0C00EAFF */ jal disable_npc_shadow
/* B1BBE8 80240678 0040202D */ daddu $a0, $v0, $zero
/* B1BBEC 8024067C 8FBF0010 */ lw $ra, 0x10($sp)
/* B1BBF0 80240680 24020002 */ addiu $v0, $zero, 2
/* B1BBF4 80240684 03E00008 */ jr $ra
/* B1BBF8 80240688 27BD0018 */ addiu $sp, $sp, 0x18
/* B1BBFC 8024068C 00000000 */ nop

View File

@ -1,114 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240100_B1CB50
/* B1CB50 80240100 3C03800A */ lui $v1, %hi(gCurrentCamID)
/* B1CB54 80240104 8463A634 */ lh $v1, %lo(gCurrentCamID)($v1)
/* B1CB58 80240108 3C07BF80 */ lui $a3, 0xbf80
/* B1CB5C 8024010C 27BDFEC0 */ addiu $sp, $sp, -0x140
/* B1CB60 80240110 F7B40128 */ sdc1 $f20, 0x128($sp)
/* B1CB64 80240114 4480A000 */ mtc1 $zero, $f20
/* B1CB68 80240118 AFB1011C */ sw $s1, 0x11c($sp)
/* B1CB6C 8024011C 0080882D */ daddu $s1, $a0, $zero
/* B1CB70 80240120 AFB00118 */ sw $s0, 0x118($sp)
/* B1CB74 80240124 27B00098 */ addiu $s0, $sp, 0x98
/* B1CB78 80240128 AFBF0120 */ sw $ra, 0x120($sp)
/* B1CB7C 8024012C F7B80138 */ sdc1 $f24, 0x138($sp)
/* B1CB80 80240130 F7B60130 */ sdc1 $f22, 0x130($sp)
/* B1CB84 80240134 00031080 */ sll $v0, $v1, 2
/* B1CB88 80240138 00431021 */ addu $v0, $v0, $v1
/* B1CB8C 8024013C 00021080 */ sll $v0, $v0, 2
/* B1CB90 80240140 00431023 */ subu $v0, $v0, $v1
/* B1CB94 80240144 000218C0 */ sll $v1, $v0, 3
/* B1CB98 80240148 00431021 */ addu $v0, $v0, $v1
/* B1CB9C 8024014C 000210C0 */ sll $v0, $v0, 3
/* B1CBA0 80240150 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* B1CBA4 80240154 00220821 */ addu $at, $at, $v0
/* B1CBA8 80240158 C4361DEC */ lwc1 $f22, %lo(gCameras+0x6C)($at)
/* B1CBAC 8024015C 4406A000 */ mfc1 $a2, $f20
/* B1CBB0 80240160 4600B587 */ neg.s $f22, $f22
/* B1CBB4 80240164 4405B000 */ mfc1 $a1, $f22
/* B1CBB8 80240168 0200202D */ daddu $a0, $s0, $zero
/* B1CBBC 8024016C 0C019EC8 */ jal guRotateF
/* B1CBC0 80240170 E7B40010 */ swc1 $f20, 0x10($sp)
/* B1CBC4 80240174 C62C008C */ lwc1 $f12, 0x8c($s1)
/* B1CBC8 80240178 0C00A6C9 */ jal clamp_angle
/* B1CBCC 8024017C 00000000 */ nop
/* B1CBD0 80240180 44050000 */ mfc1 $a1, $f0
/* B1CBD4 80240184 4406A000 */ mfc1 $a2, $f20
/* B1CBD8 80240188 4407A000 */ mfc1 $a3, $f20
/* B1CBDC 8024018C 3C013F80 */ lui $at, 0x3f80
/* B1CBE0 80240190 4481C000 */ mtc1 $at, $f24
/* B1CBE4 80240194 27A40018 */ addiu $a0, $sp, 0x18
/* B1CBE8 80240198 0C019EC8 */ jal guRotateF
/* B1CBEC 8024019C E7B80010 */ swc1 $f24, 0x10($sp)
/* B1CBF0 802401A0 0200202D */ daddu $a0, $s0, $zero
/* B1CBF4 802401A4 27A50018 */ addiu $a1, $sp, 0x18
/* B1CBF8 802401A8 0C019D80 */ jal guMtxCatF
/* B1CBFC 802401AC 00A0302D */ daddu $a2, $a1, $zero
/* B1CC00 802401B0 4405B000 */ mfc1 $a1, $f22
/* B1CC04 802401B4 4406A000 */ mfc1 $a2, $f20
/* B1CC08 802401B8 4407C000 */ mfc1 $a3, $f24
/* B1CC0C 802401BC 0200202D */ daddu $a0, $s0, $zero
/* B1CC10 802401C0 0C019EC8 */ jal guRotateF
/* B1CC14 802401C4 E7B40010 */ swc1 $f20, 0x10($sp)
/* B1CC18 802401C8 27A40018 */ addiu $a0, $sp, 0x18
/* B1CC1C 802401CC 0200282D */ daddu $a1, $s0, $zero
/* B1CC20 802401D0 0C019D80 */ jal guMtxCatF
/* B1CC24 802401D4 0080302D */ daddu $a2, $a0, $zero
/* B1CC28 802401D8 E7B40010 */ swc1 $f20, 0x10($sp)
/* B1CC2C 802401DC 8E2500A8 */ lw $a1, 0xa8($s1)
/* B1CC30 802401E0 4406A000 */ mfc1 $a2, $f20
/* B1CC34 802401E4 4407C000 */ mfc1 $a3, $f24
/* B1CC38 802401E8 0C019EC8 */ jal guRotateF
/* B1CC3C 802401EC 0200202D */ daddu $a0, $s0, $zero
/* B1CC40 802401F0 27A40018 */ addiu $a0, $sp, 0x18
/* B1CC44 802401F4 0200282D */ daddu $a1, $s0, $zero
/* B1CC48 802401F8 0C019D80 */ jal guMtxCatF
/* B1CC4C 802401FC 0080302D */ daddu $a2, $a0, $zero
/* B1CC50 80240200 3C013F36 */ lui $at, 0x3f36
/* B1CC54 80240204 3421DB6E */ ori $at, $at, 0xdb6e
/* B1CC58 80240208 44810000 */ mtc1 $at, $f0
/* B1CC5C 8024020C 27B000D8 */ addiu $s0, $sp, 0xd8
/* B1CC60 80240210 44050000 */ mfc1 $a1, $f0
/* B1CC64 80240214 0200202D */ daddu $a0, $s0, $zero
/* B1CC68 80240218 00A0302D */ daddu $a2, $a1, $zero
/* B1CC6C 8024021C 0C019DF0 */ jal guScaleF
/* B1CC70 80240220 00A0382D */ daddu $a3, $a1, $zero
/* B1CC74 80240224 27A40018 */ addiu $a0, $sp, 0x18
/* B1CC78 80240228 0200282D */ daddu $a1, $s0, $zero
/* B1CC7C 8024022C 0C019D80 */ jal guMtxCatF
/* B1CC80 80240230 0080302D */ daddu $a2, $a0, $zero
/* B1CC84 80240234 27B00058 */ addiu $s0, $sp, 0x58
/* B1CC88 80240238 8E250028 */ lw $a1, 0x28($s1)
/* B1CC8C 8024023C C6200030 */ lwc1 $f0, 0x30($s1)
/* B1CC90 80240240 8E26002C */ lw $a2, 0x2c($s1)
/* B1CC94 80240244 46000007 */ neg.s $f0, $f0
/* B1CC98 80240248 44070000 */ mfc1 $a3, $f0
/* B1CC9C 8024024C 0C019E40 */ jal guTranslateF
/* B1CCA0 80240250 0200202D */ daddu $a0, $s0, $zero
/* B1CCA4 80240254 27A40018 */ addiu $a0, $sp, 0x18
/* B1CCA8 80240258 0200282D */ daddu $a1, $s0, $zero
/* B1CCAC 8024025C 0C019D80 */ jal guMtxCatF
/* B1CCB0 80240260 0080302D */ daddu $a2, $a0, $zero
/* B1CCB4 80240264 24040001 */ addiu $a0, $zero, 1
/* B1CCB8 80240268 3C050100 */ lui $a1, 0x100
/* B1CCBC 8024026C 8E2200A4 */ lw $v0, 0xa4($s1)
/* B1CCC0 80240270 4406C000 */ mfc1 $a2, $f24
/* B1CCC4 80240274 0C0B76A3 */ jal spr_update_player_sprite
/* B1CCC8 80240278 00452826 */ xor $a1, $v0, $a1
/* B1CCCC 8024027C 24040001 */ addiu $a0, $zero, 1
/* B1CCD0 80240280 0000282D */ daddu $a1, $zero, $zero
/* B1CCD4 80240284 00A0302D */ daddu $a2, $a1, $zero
/* B1CCD8 80240288 00A0382D */ daddu $a3, $a1, $zero
/* B1CCDC 8024028C 27A20018 */ addiu $v0, $sp, 0x18
/* B1CCE0 80240290 0C0B7710 */ jal spr_draw_player_sprite
/* B1CCE4 80240294 AFA20010 */ sw $v0, 0x10($sp)
/* B1CCE8 80240298 8FBF0120 */ lw $ra, 0x120($sp)
/* B1CCEC 8024029C 8FB1011C */ lw $s1, 0x11c($sp)
/* B1CCF0 802402A0 8FB00118 */ lw $s0, 0x118($sp)
/* B1CCF4 802402A4 D7B80138 */ ldc1 $f24, 0x138($sp)
/* B1CCF8 802402A8 D7B60130 */ ldc1 $f22, 0x130($sp)
/* B1CCFC 802402AC D7B40128 */ ldc1 $f20, 0x128($sp)
/* B1CD00 802402B0 03E00008 */ jr $ra
/* B1CD04 802402B4 27BD0140 */ addiu $sp, $sp, 0x140

View File

@ -1,54 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802402F4_B1CD44
/* B1CD44 802402F4 27BDFFB0 */ addiu $sp, $sp, -0x50
/* B1CD48 802402F8 AFB00040 */ sw $s0, 0x40($sp)
/* B1CD4C 802402FC 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* B1CD50 80240300 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* B1CD54 80240304 AFBF0048 */ sw $ra, 0x48($sp)
/* B1CD58 80240308 AFB10044 */ sw $s1, 0x44($sp)
/* B1CD5C 8024030C 8E020000 */ lw $v0, ($s0)
/* B1CD60 80240310 30420001 */ andi $v0, $v0, 1
/* B1CD64 80240314 10400023 */ beqz $v0, .L802403A4
/* B1CD68 80240318 27B10020 */ addiu $s1, $sp, 0x20
/* B1CD6C 8024031C 8E0400CC */ lw $a0, 0xcc($s0)
/* B1CD70 80240320 0C044181 */ jal get_shadow_by_index
/* B1CD74 80240324 00000000 */ nop
/* B1CD78 80240328 0C048B77 */ jal get_entity_model
/* B1CD7C 8024032C 84440008 */ lh $a0, 8($v0)
/* B1CD80 80240330 8C430000 */ lw $v1, ($v0)
/* B1CD84 80240334 3C04800A */ lui $a0, %hi(gCurrentCamID)
/* B1CD88 80240338 8484A634 */ lh $a0, %lo(gCurrentCamID)($a0)
/* B1CD8C 8024033C 34630200 */ ori $v1, $v1, 0x200
/* B1CD90 80240340 AC430000 */ sw $v1, ($v0)
/* B1CD94 80240344 27A20030 */ addiu $v0, $sp, 0x30
/* B1CD98 80240348 AFA20010 */ sw $v0, 0x10($sp)
/* B1CD9C 8024034C 27A20034 */ addiu $v0, $sp, 0x34
/* B1CDA0 80240350 AFA20014 */ sw $v0, 0x14($sp)
/* B1CDA4 80240354 27A20038 */ addiu $v0, $sp, 0x38
/* B1CDA8 80240358 AFA20018 */ sw $v0, 0x18($sp)
/* B1CDAC 8024035C C600002C */ lwc1 $f0, 0x2c($s0)
/* B1CDB0 80240360 8E050028 */ lw $a1, 0x28($s0)
/* B1CDB4 80240364 8E070030 */ lw $a3, 0x30($s0)
/* B1CDB8 80240368 46000007 */ neg.s $f0, $f0
/* B1CDBC 8024036C 44060000 */ mfc1 $a2, $f0
/* B1CDC0 80240370 0C00B94E */ jal get_screen_coords
/* B1CDC4 80240374 00000000 */ nop
/* B1CDC8 80240378 0220202D */ daddu $a0, $s1, $zero
/* B1CDCC 8024037C AFB00028 */ sw $s0, 0x28($sp)
/* B1CDD0 80240380 820500BE */ lb $a1, 0xbe($s0)
/* B1CDD4 80240384 8FA30038 */ lw $v1, 0x38($sp)
/* B1CDD8 80240388 3C028024 */ lui $v0, %hi(func_802403B8_B1CE08)
/* B1CDDC 8024038C 244203B8 */ addiu $v0, $v0, %lo(func_802403B8_B1CE08)
/* B1CDE0 80240390 AFA2002C */ sw $v0, 0x2c($sp)
/* B1CDE4 80240394 00031823 */ negu $v1, $v1
/* B1CDE8 80240398 AFA50020 */ sw $a1, 0x20($sp)
/* B1CDEC 8024039C 0C047644 */ jal queue_render_task
/* B1CDF0 802403A0 AFA30024 */ sw $v1, 0x24($sp)
.L802403A4:
/* B1CDF4 802403A4 8FBF0048 */ lw $ra, 0x48($sp)
/* B1CDF8 802403A8 8FB10044 */ lw $s1, 0x44($sp)
/* B1CDFC 802403AC 8FB00040 */ lw $s0, 0x40($sp)
/* B1CE00 802403B0 03E00008 */ jr $ra
/* B1CE04 802403B4 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -50,9 +50,9 @@ D_8009A6A2 = 0x8009A6A2;
D_8009A6A4 = 0x8009A6A4;
D_8009A6A6 = 0x8009A6A6;
D_8009A6B0 = 0x8009A6B0;
D_8009BA30 = 0x8009BA30;
D_8009BA50 = 0x8009BA50;
D_8009BA80 = 0x8009BA80;
logicalSaveInfo = 0x8009BA30;
physicalSaveInfo = 0x8009BA50;
nextAvailableSavePage = 0x8009BA80;
gCurtainScale = 0x8009BA90;
gCurtainScaleGoal = 0x8009BA94;
gCurtainFade = 0x8009BA98;

View File

@ -48,7 +48,7 @@ segments:
- [0x42e0, c, 42e0_len_1f60]
- [0x43F0, c]
- [0x6000, c, heap]
- [0x6240, c, 6240_len_c00]
- [0x6240, c, fio]
- [0x6e40, c, 6e40_len_500]
- [0x7340, c, 7340_len_b00]
- [0x7e40, c, os/nusys/7e40_len_3f0]
@ -250,7 +250,15 @@ segments:
- [0x4F420, .data, 1b40_len_20b0]
- [0x4F660, .data, 42e0_len_1f60]
- [0x4F670, .data, 43F0]
- [0x4F9D0, data, 6240_len_c00]
- [0x4F9D0, .data, fio]
- [0x4F9E0, data, 6e40_beginning_data]
- [0x51540, ia8, no_controller, 128, 32]
- [0x52540, .data, 6e40_len_500]
- [0x52610, .data, 7340_len_b00]
- [0x527F0, .data, os/nusys/7e40_len_3f0]
- [0x52800, .data, os/nusys/nuSiMgr]
- [0x52810, .data, d610_len_1330]
- [0x52CA0, .data, ebd0_len_6a0]
- [0x52D08, .data, f270_len_1190]
- [0x52D80, .data, 10400_len_d30]
- [0x52DC0, .data, 121f0_len_1290]
@ -2976,7 +2984,6 @@ segments:
- [0x4DA5E0, c]
- [0x4DA6B0, c]
- [0x4DA860, data]
- [0x4E25E0, rodata]
- dir: battle/area_isk_part_1
type: code
start: 0x4E2740

View File

@ -7932,7 +7932,7 @@ func_80243800_855970 = 0x80243800; // type:func rom:0x855970
func_802438A4_855A14 = 0x802438A4; // type:func rom:0x855A14
func_80243948_855AB8 = 0x80243948; // type:func rom:0x855AB8
func_80243AB8_855C28 = 0x80243AB8; // type:func rom:0x855C28
func_80243BA4_855D14 = 0x80243BA4; // type:func rom:0x855D14
mac_05_PlayFX3D = 0x80243BA4; // type:func rom:0x855D14
func_80243CD4_855E44 = 0x80243CD4; // type:func rom:0x855E44
func_80243D78_855EE8 = 0x80243D78; // type:func rom:0x855EE8
func_80243DB0_855F20 = 0x80243DB0; // type:func rom:0x855F20
@ -7960,7 +7960,7 @@ func_802408D0_865410 = 0x802408D0; // type:func rom:0x865410
func_80240974_8654B4 = 0x80240974; // type:func rom:0x8654B4
func_80240A18_865558 = 0x80240A18; // type:func rom:0x865558
func_80240B88_8656C8 = 0x80240B88; // type:func rom:0x8656C8
func_80240C74_8657B4 = 0x80240C74; // type:func rom:0x8657B4
mac_06_PlayFX3D = 0x80240C74; // type:func rom:0x8657B4
func_80240DA4_8658E4 = 0x80240DA4; // type:func rom:0x8658E4
func_80240E48_865988 = 0x80240E48; // type:func rom:0x865988
func_80240E80_8659C0 = 0x80240E80; // type:func rom:0x8659C0
@ -17045,7 +17045,7 @@ func_802427A4_DF91A4 = 0x802427A4; // type:func rom:0xDF91A4
func_802427D8_DF91D8 = 0x802427D8; // type:func rom:0xDF91D8
func_80242830_DF9230 = 0x80242830; // type:func rom:0xDF9230
func_80242898_DF9298 = 0x80242898; // type:func rom:0xDF9298
func_80242900_DF9300 = 0x80242900; // type:func rom:0xDF9300
end_00_PlayFX3D = 0x80242900; // type:func rom:0xDF9300
func_80242A30_DF9430 = 0x80242A30; // type:func rom:0xDF9430
func_80242AD4_DF94D4 = 0x80242AD4; // type:func rom:0xDF94D4
func_80242B10_DF9510 = 0x80242B10; // type:func rom:0xDF9510
@ -18072,9 +18072,9 @@ D_8009A6A2 = 0x8009A6A2; // type:data
D_8009A6A4 = 0x8009A6A4; // type:data
D_8009A6A6 = 0x8009A6A6; // type:data
D_8009A6B0 = 0x8009A6B0; // type:data
D_8009BA30 = 0x8009BA30; // type:data
D_8009BA50 = 0x8009BA50; // type:data
D_8009BA80 = 0x8009BA80; // type:data
logicalSaveInfo = 0x8009BA30; // type:data
physicalSaveInfo = 0x8009BA50; // type:data
nextAvailableSavePage = 0x8009BA80; // type:data
gCurtainScale = 0x8009BA90; //
gCurtainScaleGoal = 0x8009BA94; //
gCurtainFade = 0x8009BA98; //
@ -18627,7 +18627,7 @@ D_8014F120 = 0x8014F120; // type:data
D_8014F128 = 0x8014F128; // type:data
D_801512B0 = 0x801512B0; // type:data
D_801512B4 = 0x801512B4; // type:data
D_801512B8 = 0x801512B8; // type:data
gCurrentCustomModelGfxBuilders = 0x801512B8; // type:data
D_801512BC = 0x801512BC; // type:data
D_801512C0 = 0x801512C0; // type:data
D_801512C4 = 0x801512C4; // type:data

View File

@ -73,3 +73,6 @@ _163400_BSS_END = 0x8024C120;
D_80244F98_EC7198 = 0x80244F98;
D_80246568_C8C018 = 0x80246568;
D_8024B9A8_B8FB28 = 0x8024B9A8;
D_8038F800 = 0x8038F800;
D_803B5000 = 0x803B5000;
B_80240FD0_tst_04 = 0x80240FD0;

View File

@ -16,7 +16,7 @@ D_80117848 = 0x80117848;
D_80117852 = 0x80117852;
D_801512B0 = 0x801512B0;
D_801512B4 = 0x801512B4;
D_801512B8 = 0x801512B8;
gCurrentCustomModelGfxBuilders = 0x801512B8;
D_801512BC = 0x801512BC;
D_801512C0 = 0x801512C0;
D_801512C4 = 0x801512C4;