diff --git a/ld/pd.ld b/ld/pd.ld index d2fd2d111..aad9809f0 100644 --- a/ld/pd.ld +++ b/ld/pd.ld @@ -76,9 +76,15 @@ * increased. */ +#if VERSION >= VERSION_PAL_FINAL +#define ROMALLOCATION_LIB 0x038850 +#define ROMALLOCATION_DATA 0x015000 +#define ROMALLOCATION_GAME 0x13d180 +#else #define ROMALLOCATION_LIB 0x038850 #define ROMALLOCATION_DATA 0x015000 #define ROMALLOCATION_GAME 0x151980 +#endif OUTPUT_ARCH (mips) @@ -122,12 +128,21 @@ SECTIONS _val7f11c378 = 0x11fe; #endif +#if VERSION >= VERSION_PAL_FINAL + rspbootTextStart = 0x80059fe0; + rspbootTextEnd = 0x8005a0b0; + aspMainTextStart = 0x8005b180; + aspMainTextEnd = 0x8005c180; + aspMainDataStart = 0x8008a2d0; + aspMainDataEnd = 0x8008aad0; +#else rspbootTextStart = 0x80059fe0; rspbootTextEnd = 0x8005a0b0; aspMainTextStart = 0x8005b4d0; aspMainTextEnd = 0x8005c4d0; aspMainDataStart = 0x8008a2d0; aspMainDataEnd = 0x8008aad0; +#endif osTvType = 0x80000300; osRomType = 0x80000304; @@ -189,7 +204,7 @@ SECTIONS PLACEHOLDER_SEGMENT(libzip) - __rompos = 0x04000000; + __rompos = 0x02000000; __rampos = 0x70001000; BEGIN_SEG(lib) diff --git a/src/assets/mpconfigs.c b/src/assets/mpconfigs.c index 84f477de0..3348816c7 100644 --- a/src/assets/mpconfigs.c +++ b/src/assets/mpconfigs.c @@ -259,7 +259,11 @@ struct mpconfig g_MpConfigs[] = { // MPCONFIG_SKEDARKING { { +#if VERSION >= VERSION_PAL_FINAL + "SkedarKing", +#else "Skedar King", +#endif MPOPTION_KOH_MOBILEHILL | MPOPTION_KOH_HILLONRADAR | MPOPTION_TEAMSENABLED, MPSCENARIO_KINGOFTHEHILL, STAGE_MP_SKEDAR, diff --git a/src/game/chr/chraction.c b/src/game/chr/chraction.c index ca75feb97..8066f151b 100644 --- a/src/game/chr/chraction.c +++ b/src/game/chr/chraction.c @@ -30022,7 +30022,7 @@ void func0f0482cc(u32 ailistid) struct prop *prop; #if VERSION >= VERSION_PAL_FINAL - *(f32 *)&var8009de20 = 0; + var8009e388pf = 0; #else var8009de20 = 0; #endif diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index 23bb97d1e..fdafe2aab 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -385,7 +385,7 @@ bool aiKneel(void) } #if VERSION >= VERSION_PAL_FINAL -f32 g_SomePalFloat; +extern f32 g_SomePalFloat; #endif /** diff --git a/src/game/data/data_000000.c b/src/game/data/data_000000.c index d6ed28dd6..f38cf0fd0 100644 --- a/src/game/data/data_000000.c +++ b/src/game/data/data_000000.c @@ -92,9 +92,8 @@ u32 __osGlobalIntMask = OS_IM_ALL; u32 var8005cf74 = 0x00000000; u32 var8005cf78 = 0x00000000; u32 var8005cf7c = 0x00000000; -u32 var8005cf80 = 0x00000000; #endif +u32 var8005cf80 = 0x00000000; u32 var8005cf84 = 0x00000000; u32 var8005cf88 = 0x00000000; -u32 var8005cf8c = 0x00000000; diff --git a/src/game/data/data_003dc0.c b/src/game/data/data_003dc0.c index 5987654d1..a70d49e80 100644 --- a/src/game/data/data_003dc0.c +++ b/src/game/data/data_003dc0.c @@ -81,16 +81,17 @@ u32 var8005efb8 = 0x3f800000; bool var8005efbc = false; u32 var8005efc0 = 0x00000000; void *var8005efc4 = NULL; // pointer to a function + +#if VERSION >= VERSION_PAL_FINAL +u32 var8005efd8_2 = 0; +#endif + void *var8005efc8 = NULL; // pointer to a function u32 var8005efcc = 0x00000000; u32 var8005efd0 = 0x00000000; u32 var8005efd4 = 0x00000000; u32 var8005efd8 = 0x00000000; -#if VERSION >= VERSION_PAL_FINAL -u32 var8005efd8_2 = 0; -#endif - u32 var8005efdc = 0x00000001; u32 var8005efe0 = 0x00000000; u32 var8005efe4 = 0x00000000; @@ -100,18 +101,18 @@ u32 var8005eff0 = 0x00000000; u32 var8005eff4 = 0x00000000; u32 var8005eff8 = 0xffffffff; u32 var8005effc = 0x00000000; -u32 var8005f000 = 0x00000000; -u32 var8005f004 = 0x00000000; -s16 g_NumAnimations = 0x00000000; -struct animheader *g_Anims = NULL; -u32 var8005f010 = 0x00000000; -u32 var8005f014 = 0x00000000; #if VERSION >= VERSION_PAL_FINAL u32 var8005f014_2 = 0; u32 var8005f014_3 = 0; #endif +u32 var8005f000 = 0x00000000; +u32 var8005f004 = 0x00000000; +s16 g_NumAnimations = 0x00000000; +struct animheader *g_Anims = NULL; +u32 var8005f010 = 0x00000000; +u32 var8005f014 = 0x00000000; u32 var8005f018 = 0x000000b0; u32 var8005f01c = 0x00000260; u32 var8005f020 = 0x00000000; diff --git a/src/game/game_097ba0.c b/src/game/game_097ba0.c index b818cccf6..540ae27f4 100644 --- a/src/game/game_097ba0.c +++ b/src/game/game_097ba0.c @@ -49,8 +49,37 @@ #include "data.h" #include "types.h" -u32 var8009d140; -u32 var8009d144; +u32 var8009d0d0[2]; +s32 var8009d0d8; // correct +u32 var8009d0dc; // d63c -> d650 +u32 var8009d0e0[4]; // d640 (correct) +u32 var8009d0f0; // d650 (correct) +u32 var8009d0f4; +u32 var8009d0f8; +u32 var8009d0fc; +u32 var8009d100; +u32 var8009d104; +u32 var8009d108; +u32 var8009d10c; +u32 var8009d110; +u32 var8009d114; +u32 var8009d118; +u32 var8009d11c; +u32 var8009d120; +u32 var8009d124; +u32 var8009d128; +u32 var8009d12c; +u32 var8009d130; +u32 var8009d134; +u32 var8009d138; +u32 var8009d13c; + +#if VERSION >= VERSION_PAL_FINAL +u32 fill2[2]; +#endif + +u32 var8009d140; // d6a0 -> d6a8 +u32 var8009d144; // d5a4 -> d6ac u32 var8009d148; u32 var80070090 = 0x96969600; diff --git a/src/game/game_0b69d0.c b/src/game/game_0b69d0.c index 23731b67a..d5b3978e0 100644 --- a/src/game/game_0b69d0.c +++ b/src/game/game_0b69d0.c @@ -91,14 +91,25 @@ f32 var8009de00; u32 var8009de04; u32 var8009de08; u32 var8009de0c; -s32 g_CameraAnimCurFrame; +s32 g_CameraAnimCurFrame; // e380 (good) + +#if VERSION >= VERSION_PAL_FINAL +f32 var8009de14; // e384 +f32 var8009e388pf; // e388 +#else s32 var8009de14; -s16 g_CameraAnimNum; -f32 g_CutsceneBlurFrac; +#endif + +s16 g_CameraAnimNum; // e388 -> e38c +f32 g_CutsceneBlurFrac; // e38c -> e390 + +#if VERSION < VERSION_PAL_FINAL s32 var8009de20; +#endif + s32 var8009de24; f32 var8009de28; -s32 var8009de2c; +s32 var8009de2c; // e3a0 -> e39c f32 var8009de30; u32 var8009de34; s16 g_SpawnPoints[MAX_SPAWNPOINTS]; @@ -2893,9 +2904,8 @@ void func0f0ba010(void) allPlayersClearMemCamRoom(); #if VERSION >= VERSION_PAL_FINAL - // Variables here are likely wrong - *(f32 *)&var8009de14 = *(f32 *)&var8009de20; - g_CameraAnimCurFrame = floorf(*(f32 *)&var8009de14 + 0.01f); + var8009de14 = var8009e388pf; + g_CameraAnimCurFrame = floorf(var8009de14 + 0.01f); #else var8009de14 = var8009de20; g_CameraAnimCurFrame = var8009de20 >> 2; diff --git a/src/game/game_1a78b0.c b/src/game/game_1a78b0.c index b347ed20a..7d976945c 100644 --- a/src/game/game_1a78b0.c +++ b/src/game/game_1a78b0.c @@ -5,6 +5,10 @@ #include "data.h" #include "types.h" +#if VERSION >= VERSION_PAL_FINAL +f32 g_SomePalFloat; +#endif + void func0f1a78b0(void) { // empty diff --git a/src/game/lang.c b/src/game/lang.c index c624e0a06..080f304b5 100644 --- a/src/game/lang.c +++ b/src/game/lang.c @@ -7,6 +7,13 @@ #include "data.h" #include "types.h" +#if VERSION >= VERSION_PAL_FINAL +u32 var80084660pf = 0; +u32 var80084664pf = 0; +u32 var80084668pf = 0; +u32 var8008466cpf = 0; +#endif + u32 *g_LangBanks[69]; void *var800aabb4; struct var800aabb8 *var800aabb8; diff --git a/src/game/menu/items.c b/src/game/menu/items.c index 210a65233..524b25b09 100644 --- a/src/game/menu/items.c +++ b/src/game/menu/items.c @@ -21,6 +21,10 @@ #include "data.h" #include "types.h" +#if VERSION >= VERSION_PAL_FINAL +u8 fill3[0x30]; +#endif + u8 g_MpSelectedPlayersForStats[4]; const char var7f1adfa0[] = "brcol"; diff --git a/src/game/music.c b/src/game/music.c index 2e5284f97..eb73235bf 100644 --- a/src/game/music.c +++ b/src/game/music.c @@ -45,9 +45,8 @@ char *var80084100[] = { "paused", }; -#if PAL +#if VERSION >= VERSION_PAL_FINAL u32 var8008465cpf = 0; -u32 var80084660pf = 0; #endif const char var7f1b7918[] = "MUSIC : activedeath=%d\n"; diff --git a/src/game/objectives/objectives.c b/src/game/objectives/objectives.c index 46b2505fa..1aec929dc 100644 --- a/src/game/objectives/objectives.c +++ b/src/game/objectives/objectives.c @@ -31,30 +31,6 @@ struct criteria_holograph *g_HolographCriterias; s32 g_NumTags; struct tag **g_TagPtrs; u32 var8009d0cc; -u32 var8009d0d0[2]; -s32 var8009d0d8; -u32 var8009d0dc; -u32 var8009d0e0[4]; -u32 var8009d0f0; -u32 var8009d0f4; -u32 var8009d0f8; -u32 var8009d0fc; -u32 var8009d100; -u32 var8009d104; -u32 var8009d108; -u32 var8009d10c; -u32 var8009d110; -u32 var8009d114; -u32 var8009d118; -u32 var8009d11c; -u32 var8009d120; -u32 var8009d124; -u32 var8009d128; -u32 var8009d12c; -u32 var8009d130; -u32 var8009d134; -u32 var8009d138; -u32 var8009d13c; s32 g_ObjectiveLastIndex = -1; bool g_ObjectiveChecksDisabled = false; diff --git a/src/gvars/gvars.c b/src/gvars/gvars.c index 8ca04c7b6..a0d623eb1 100644 --- a/src/gvars/gvars.c +++ b/src/gvars/gvars.c @@ -14018,5 +14018,10 @@ u32 var8009cab0 = 0; u32 var8009cab4 = 0; u32 var8009cab8 = 0; u32 var8009cabc = 0; + +#if VERSION >= VERSION_PAL_FINAL +u32 var8009d010pf[4] = {0}; +#endif + void *var8009cac0 = NULL; void *var8009cac4 = NULL; diff --git a/src/include/data.h b/src/include/data.h index e54f7a43a..4f7cd4b8d 100644 --- a/src/include/data.h +++ b/src/include/data.h @@ -477,6 +477,9 @@ extern u32 var800840f0; extern u32 var800840f4; extern u32 var800840f8; extern u32 var800840fc; +#if VERSION >= VERSION_PAL_FINAL +extern u32 var80084660pf; +#endif extern u32 g_LanguageId; extern struct something *somethings[]; extern void *var800844f0; diff --git a/src/include/gvars/gvars.h b/src/include/gvars/gvars.h index 1dcf2ffdc..ef5e41d65 100644 --- a/src/include/gvars/gvars.h +++ b/src/include/gvars/gvars.h @@ -604,7 +604,11 @@ extern u32 var8009de04; extern u32 var8009de08; extern u32 var8009de0c; extern s32 g_CameraAnimCurFrame; -extern s32 var8009de14; + +#if VERSION >= VERSION_PAL_FINAL +extern f32 var8009e388pf; +#endif + extern s16 g_CameraAnimNum; extern f32 g_CutsceneBlurFrac; extern s32 var8009de20; diff --git a/src/lib/args.c b/src/lib/args.c index 108ecae65..4c7d5d5f1 100644 --- a/src/lib/args.c +++ b/src/lib/args.c @@ -89,7 +89,11 @@ bool argsParseDebugArgs(void) } if (argFindByPrefix(1, "-j")) { +#if VERSION >= VERSION_PAL_FINAL + var80084660pf = LANGUAGE_NTSC_JP; +#else g_LanguageId = LANGUAGE_NTSC_JP; +#endif } return ret; diff --git a/src/lib/controller.c b/src/lib/controller.c index 6e2c23c6f..dc38db02a 100644 --- a/src/lib/controller.c +++ b/src/lib/controller.c @@ -263,7 +263,7 @@ void contDisableTemporarily(void) s32 i; for (i = 0; i < 4; i++) { - g_ContDisableCooldown[i] = 60; + g_ContDisableCooldown[i] = TIME60TOFRAMES(60); } } diff --git a/src/lib/dma.c b/src/lib/dma.c index cce598a81..0e7a9e48d 100644 --- a/src/lib/dma.c +++ b/src/lib/dma.c @@ -79,7 +79,7 @@ void dmaCheckPiracy(void *memaddr, u32 len) { if (g_LoadType != LOADTYPE_NONE && len > 128) { #if PIRACYCHECKS - u32 value = xorDeadbeef(0x0330c820 ^ 0xdeadbeef); + u32 value = xorDeadbeef((PAL ? 0x0109082b : 0x0330c820) ^ 0xdeadbeef); u32 *ptr = (u32 *)memaddr; u32 data; u32 devaddr; @@ -89,7 +89,7 @@ void dmaCheckPiracy(void *memaddr, u32 len) ptr[i] ^= value; } - devaddr = xorDeadbabe(0xb0000340 ^ 0xdeadbabe); + devaddr = xorDeadbabe((PAL ? 0xb0000454 : 0xb0000340) ^ 0xdeadbabe); osPiReadIo(devaddr, &data); diff --git a/src/lib/entry.c b/src/lib/entry.c index 7e9ee5a10..9bc904ebf 100644 --- a/src/lib/entry.c +++ b/src/lib/entry.c @@ -20,6 +20,32 @@ * This function is generated automatically by makerom. It clears the BSS * segment, sets the stack pointer to 0x80000f10 and then calls boot. */ +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel preamble +/* 1000: 3c088009 */ lui $t0,%hi(_gvarsSegmentStart) +/* 1004: 3c090002 */ lui $t1,0x2 +/* 1008: 2508ae20 */ addiu $t0,$t0,%lo(_gvarsSegmentStart) +/* 100c: 352923a0 */ ori $t1,$t1,0x23f0 +.L00001010: +/* 1010: 2129fff8 */ addi $t1,$t1,-8 +/* 1014: ad000000 */ sw $zero,0x0($t0) +/* 1018: ad000004 */ sw $zero,0x4($t0) +/* 101c: 1520fffc */ bnez $t1,.L00001010 +/* 1020: 21080008 */ addi $t0,$t0,0x8 +/* 1024: 3c0a8000 */ lui $t2,0x8000 +/* 1028: 3c1d8000 */ lui $sp,0x8000 +/* 102c: 254a1050 */ addiu $t2,$t2,0x1050 +/* 1030: 01400008 */ jr $t2 +/* 1034: 27bd0f10 */ addiu $sp,$sp,0xf10 +/* 1038: 00000000 */ nop +/* 103c: 00000000 */ nop +/* 1040: 00000000 */ nop +/* 1044: 00000000 */ nop +/* 1048: 00000000 */ nop +/* 104c: 00000000 */ nop +); +#else GLOBAL_ASM( glabel preamble /* 1000: 3c088009 */ lui $t0,%hi(_gvarsSegmentStart) @@ -44,6 +70,7 @@ glabel preamble /* 1048: 00000000 */ nop /* 104c: 00000000 */ nop ); +#endif /** * Sets up TLB index 0 (0x70000000), then calls init. @@ -138,7 +165,7 @@ glabel boot0000113c /* 117c: 00000000 */ nop ); -#if VERSION >= VERSION_NTSC_1_0 +#if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel boot00001180 /* 1180: 40082000 */ mfc0 $t0,$4 @@ -190,7 +217,7 @@ glabel boot00001180 .L0000122c: /* 122c: 152afff3 */ bne $t1,$t2,.L000011fc /* 1230: 25290001 */ addiu $t1,$t1,0x1 -/* 1234: 0800055c */ j 0x1570 +/* 1234: 0800055c */ j .L00001570 /* 1238: 00000000 */ nop .L0000123c: /* 123c: 010f4026 */ xor $t0,$t0,$t7 @@ -204,6 +231,7 @@ glabel boot00001180 /* 125c: 01c94021 */ addu $t0,$t6,$t1 /* 1260: 00084300 */ sll $t0,$t0,0xc /* 1264: 02288821 */ addu $s1,$s1,$t0 +.L00001268: /* 1268: 400a4000 */ mfc0 $t2,$8 /* 126c: 3c0800ff */ lui $t0,0xff /* 1270: 3508f000 */ ori $t0,$t0,0xf000 @@ -437,7 +465,7 @@ glabel boot00001180 /* 15b8: 25290008 */ addiu $t1,$t1,8 /* 15bc: 153cfffb */ bne $t1,$gp,.L000015ac /* 15c0: 00000000 */ nop -/* 15c4: 0800056b */ j 0x15ac +/* 15c4: 0800056b */ j .L000015ac /* 15c8: 02804825 */ or $t1,$s4,$zero .L000015cc: /* 15cc: 01344023 */ subu $t0,$t1,$s4 @@ -459,11 +487,343 @@ glabel boot00001180 /* 160c: 40085000 */ mfc0 $t0,$10 /* 1610: 05400003 */ bltz $t2,.L00001620 /* 1614: 00000000 */ nop -/* 1618: 0800055c */ j 0x1570 +/* 1618: 0800055c */ j .L00001570 /* 161c: 00000000 */ nop .L00001620: /* 1620: ad200000 */ sw $zero,0x0($t1) -/* 1624: 0800049a */ j 0x1268 +/* 1624: 0800049a */ j .L00001268 +/* 1628: 00000000 */ nop +.L0000162c: +/* 162c: 08000ea2 */ j 0x3a58 +/* 1630: 00000000 */ nop +); +#elif VERSION >= VERSION_NTSC_1_0 +GLOBAL_ASM( +glabel boot00001180 +/* 1180: 40082000 */ mfc0 $t0,$4 +/* 1184: 0008aa40 */ sll $s5,$t0,0x9 +/* 1188: 3c097f00 */ lui $t1,0x7f00 +/* 118c: 02a94022 */ sub $t0,$s5,$t1 +/* 1190: 00084302 */ srl $t0,$t0,0xc +/* 1194: 000840c0 */ sll $t0,$t0,0x3 +/* 1198: 3c098009 */ lui $t1,%hi(var8008ae24) +/* 119c: 8d29ae24 */ lw $t1,%lo(var8008ae24)($t1) +/* 11a0: 01098021 */ addu $s0,$t0,$t1 +/* 11a4: 3c1e7f00 */ lui $s8,0x7f00 +/* 11a8: 02be082a */ slt $at,$s5,$s8 +/* 11ac: 1420011f */ bnez $at,.L0000162c +/* 11b0: 00000000 */ nop +/* 11b4: 3c098009 */ lui $t1,%hi(var80090b04) +/* 11b8: 8d290b04 */ lw $t1,%lo(var80090b04)($t1) +/* 11bc: 02a9082a */ slt $at,$s5,$t1 +/* 11c0: 1020011a */ beqz $at,.L0000162c +/* 11c4: 00000000 */ nop +/* 11c8: 40194000 */ mfc0 $t9,$8 +/* 11cc: 0019cb02 */ srl $t9,$t9,0xc +/* 11d0: 33390001 */ andi $t9,$t9,0x1 +/* 11d4: 53200002 */ beqzl $t9,.L000011e0 +/* 11d8: 8e110000 */ lw $s1,0x0($s0) +/* 11dc: 8e110008 */ lw $s1,0x8($s0) +.L000011e0: +/* 11e0: 562000b8 */ bnezl $s1,.L000014c4 +/* 11e4: 240d0001 */ addiu $t5,$zero,0x1 +/* 11e8: 240d0000 */ addiu $t5,$zero,0x0 +/* 11ec: 3c098009 */ lui $t1,%hi(var8008d25c) +/* 11f0: 8d29d25c */ lw $t1,%lo(var8008d25c)($t1) +/* 11f4: 3c0a8009 */ lui $t2,%hi(var8008d260) +/* 11f8: 8d4ad260 */ lw $t2,%lo(var8008d260)($t2) +.L000011fc: +/* 11fc: 91280000 */ lbu $t0,0x0($t1) +/* 1200: 1100000a */ beqz $t0,.L0000122c +/* 1204: 00000000 */ nop +/* 1208: 240e0000 */ addiu $t6,$zero,0x0 +/* 120c: 240f0001 */ addiu $t7,$zero,0x1 +.L00001210: +/* 1210: 010fc024 */ and $t8,$t0,$t7 +/* 1214: 17000009 */ bnez $t8,.L0000123c +/* 1218: 00000000 */ nop +/* 121c: 25ce0001 */ addiu $t6,$t6,0x1 +/* 1220: 24010008 */ addiu $at,$zero,0x8 +/* 1224: 15c1fffa */ bne $t6,$at,.L00001210 +/* 1228: 000f7840 */ sll $t7,$t7,0x1 +.L0000122c: +/* 122c: 152afff3 */ bne $t1,$t2,.L000011fc +/* 1230: 25290001 */ addiu $t1,$t1,0x1 +/* 1234: 0800055c */ j .L00001570 +/* 1238: 00000000 */ nop +.L0000123c: +/* 123c: 010f4026 */ xor $t0,$t0,$t7 +/* 1240: a1280000 */ sb $t0,0x0($t1) +/* 1244: 3c0a8009 */ lui $t2,%hi(var8008d25c) +/* 1248: 8d4ad25c */ lw $t2,%lo(var8008d25c)($t2) +/* 124c: 3c118009 */ lui $s1,%hi(var8008d268) +/* 1250: 8e31d268 */ lw $s1,%lo(var8008d268)($s1) +/* 1254: 012a4823 */ subu $t1,$t1,$t2 +/* 1258: 000948c0 */ sll $t1,$t1,0x3 +/* 125c: 01c94021 */ addu $t0,$t6,$t1 +/* 1260: 00084300 */ sll $t0,$t0,0xc +/* 1264: 02288821 */ addu $s1,$s1,$t0 +.L00001268: +/* 1268: 400a4000 */ mfc0 $t2,$8 +/* 126c: 3c0800ff */ lui $t0,0xff +/* 1270: 3508f000 */ ori $t0,$t0,0xf000 +/* 1274: 01485024 */ and $t2,$t2,$t0 +/* 1278: 000a5282 */ srl $t2,$t2,0xa +/* 127c: 3c088009 */ lui $t0,%hi(var8008ae30) +/* 1280: 8d08ae30 */ lw $t0,%lo(var8008ae30)($t0) +/* 1284: 010a4021 */ addu $t0,$t0,$t2 +/* 1288: 8d0a0000 */ lw $t2,0x0($t0) +/* 128c: 8d080004 */ lw $t0,0x4($t0) +/* 1290: 010a4023 */ subu $t0,$t0,$t2 +/* 1294: 2409fff0 */ addiu $t1,$zero,-16 +/* 1298: 2508000f */ addiu $t0,$t0,0xf +/* 129c: 01097024 */ and $t6,$t0,$t1 +/* 12a0: 3c08a460 */ lui $t0,0xa460 +/* 12a4: 35080010 */ ori $t0,$t0,0x10 +.L000012a8: +/* 12a8: 8d090000 */ lw $t1,0x0($t0) +/* 12ac: 31290003 */ andi $t1,$t1,0x3 +/* 12b0: 1520fffd */ bnez $t1,.L000012a8 +/* 12b4: 00000000 */ nop +/* 12b8: 3c16a430 */ lui $s6,0xa430 +/* 12bc: 8ed60008 */ lw $s6,0x8($s6) +/* 12c0: 32d60010 */ andi $s6,$s6,0x10 +/* 12c4: 3c08a460 */ lui $t0,0xa460 +/* 12c8: 3c098009 */ lui $t1,%hi(var8008ae2c) +/* 12cc: 8d29ae2c */ lw $t1,%lo(var8008ae2c)($t1) +/* 12d0: 3c0f0fff */ lui $t7,0xfff +/* 12d4: 35efffff */ ori $t7,$t7,0xffff +/* 12d8: 012f4824 */ and $t1,$t1,$t7 +/* 12dc: ad090000 */ sw $t1,0x0($t0) +/* 12e0: 3c08a460 */ lui $t0,0xa460 +/* 12e4: 35080004 */ ori $t0,$t0,0x4 +/* 12e8: 3c098000 */ lui $t1,0x8000 +/* 12ec: 8d290308 */ lw $t1,0x308($t1) +/* 12f0: 012a4825 */ or $t1,$t1,$t2 +/* 12f4: 3c0a1fff */ lui $t2,0x1fff +/* 12f8: 354affff */ ori $t2,$t2,0xffff +/* 12fc: 012a4824 */ and $t1,$t1,$t2 +/* 1300: ad090000 */ sw $t1,0x0($t0) +/* 1304: 3c08a460 */ lui $t0,0xa460 +/* 1308: 3508000c */ ori $t0,$t0,0xc +/* 130c: 25ceffff */ addiu $t6,$t6,-1 +/* 1310: ad0e0000 */ sw $t6,0x0($t0) +/* 1314: 53200003 */ beqzl $t9,.L00001324 +/* 1318: 00000000 */ nop +/* 131c: 50000002 */ beqzl $zero,.L00001328 +/* 1320: ae110008 */ sw $s1,0x8($s0) +.L00001324: +/* 1324: ae110000 */ sw $s1,0x0($s0) +.L00001328: +/* 1328: 3c08a460 */ lui $t0,0xa460 +/* 132c: 35080010 */ ori $t0,$t0,0x10 +.L00001330: +/* 1330: 8d090000 */ lw $t1,0x0($t0) +/* 1334: 31290003 */ andi $t1,$t1,0x3 +/* 1338: 1520fffd */ bnez $t1,.L00001330 +/* 133c: 00000000 */ nop +/* 1340: 3c088009 */ lui $t0,%hi(var8008ae2c) +/* 1344: 8d08ae2c */ lw $t0,%lo(var8008ae2c)($t0) +/* 1348: 25091000 */ addiu $t1,$t0,0x1000 +.L0000134c: +/* 134c: bd150000 */ cache 0x15,0x0($t0) +/* 1350: 0109082b */ sltu $at,$t0,$t1 +/* 1354: 1420fffd */ bnez $at,.L0000134c +/* 1358: 25080010 */ addiu $t0,$t0,16 +/* 135c: 16c00004 */ bnez $s6,.L00001370 +/* 1360: 00000000 */ nop +/* 1364: 24080002 */ addiu $t0,$zero,0x2 +/* 1368: 3c01a460 */ lui $at,0xa460 +/* 136c: ac280010 */ sw $t0,0x10($at) +.L00001370: +/* 1370: 3c048009 */ lui $a0,%hi(var8008ae38) +/* 1374: 2484ae38 */ addiu $a0,$a0,%lo(var8008ae38) +/* 1378: 24840ff8 */ addiu $a0,$a0,0xff8 +/* 137c: ac9d0000 */ sw $sp,0x0($a0) +/* 1380: 249d0000 */ addiu $sp,$a0,0x0 +/* 1384: 3c048009 */ lui $a0,%hi(var8008ae2c) +/* 1388: 8c84ae2c */ lw $a0,%lo(var8008ae2c)($a0) +/* 138c: 24840002 */ addiu $a0,$a0,0x2 +/* 1390: 3c088000 */ lui $t0,0x8000 +/* 1394: 02282825 */ or $a1,$s1,$t0 +/* 1398: 3c068009 */ lui $a2,%hi(var8008be38) +/* 139c: 24c6be38 */ addiu $a2,$a2,%lo(var8008be38) +/* 13a0: 27bdff80 */ addiu $sp,$sp,-128 +/* 13a4: afbf0000 */ sw $ra,0x0($sp) +/* 13a8: afa10004 */ sw $at,0x4($sp) +/* 13ac: afa20008 */ sw $v0,0x8($sp) +/* 13b0: afa3000c */ sw $v1,0xc($sp) +/* 13b4: afa40010 */ sw $a0,0x10($sp) +/* 13b8: afa50014 */ sw $a1,0x14($sp) +/* 13bc: afa60018 */ sw $a2,0x18($sp) +/* 13c0: afa7001c */ sw $a3,0x1c($sp) +/* 13c4: afa80020 */ sw $t0,0x20($sp) +/* 13c8: afa90024 */ sw $t1,0x24($sp) +/* 13cc: afaa0028 */ sw $t2,0x28($sp) +/* 13d0: afab002c */ sw $t3,0x2c($sp) +/* 13d4: afac0030 */ sw $t4,0x30($sp) +/* 13d8: afad0034 */ sw $t5,0x34($sp) +/* 13dc: afae0038 */ sw $t6,0x38($sp) +/* 13e0: afaf003c */ sw $t7,0x3c($sp) +/* 13e4: afb00040 */ sw $s0,0x40($sp) +/* 13e8: afb10044 */ sw $s1,0x44($sp) +/* 13ec: afb20048 */ sw $s2,0x48($sp) +/* 13f0: afb3004c */ sw $s3,0x4c($sp) +/* 13f4: afb40050 */ sw $s4,0x50($sp) +/* 13f8: afb50054 */ sw $s5,0x54($sp) +/* 13fc: afb60058 */ sw $s6,0x58($sp) +/* 1400: afb7005c */ sw $s7,0x5c($sp) +/* 1404: afb80060 */ sw $t8,0x60($sp) +/* 1408: afb90064 */ sw $t9,0x64($sp) +/* 140c: afbc0070 */ sw $gp,0x70($sp) +/* 1410: afbd0074 */ sw $sp,0x74($sp) +/* 1414: afbe0078 */ sw $s8,0x78($sp) +/* 1418: 0c001d3c */ jal rzipInflate +/* 141c: 00000000 */ nop +/* 1420: 8fbf0000 */ lw $ra,0x0($sp) +/* 1424: 8fa10004 */ lw $at,0x4($sp) +/* 1428: 8fa20008 */ lw $v0,0x8($sp) +/* 142c: 8fa3000c */ lw $v1,0xc($sp) +/* 1430: 8fa40010 */ lw $a0,0x10($sp) +/* 1434: 8fa50014 */ lw $a1,0x14($sp) +/* 1438: 8fa60018 */ lw $a2,0x18($sp) +/* 143c: 8fa7001c */ lw $a3,0x1c($sp) +/* 1440: 8fa80020 */ lw $t0,0x20($sp) +/* 1444: 8fa90024 */ lw $t1,0x24($sp) +/* 1448: 8faa0028 */ lw $t2,0x28($sp) +/* 144c: 8fab002c */ lw $t3,0x2c($sp) +/* 1450: 8fac0030 */ lw $t4,0x30($sp) +/* 1454: 8fad0034 */ lw $t5,0x34($sp) +/* 1458: 8fae0038 */ lw $t6,0x38($sp) +/* 145c: 8faf003c */ lw $t7,0x3c($sp) +/* 1460: 8fb00040 */ lw $s0,0x40($sp) +/* 1464: 8fb10044 */ lw $s1,0x44($sp) +/* 1468: 8fb20048 */ lw $s2,0x48($sp) +/* 146c: 8fb3004c */ lw $s3,0x4c($sp) +/* 1470: 8fb40050 */ lw $s4,0x50($sp) +/* 1474: 8fb50054 */ lw $s5,0x54($sp) +/* 1478: 8fb60058 */ lw $s6,0x58($sp) +/* 147c: 8fb7005c */ lw $s7,0x5c($sp) +/* 1480: 8fb80060 */ lw $t8,0x60($sp) +/* 1484: 8fb90064 */ lw $t9,0x64($sp) +/* 1488: 8fbc0070 */ lw $gp,0x70($sp) +/* 148c: 8fbd0074 */ lw $sp,0x74($sp) +/* 1490: 8fbe0078 */ lw $s8,0x78($sp) +/* 1494: 27bd0080 */ addiu $sp,$sp,0x80 +/* 1498: 3c048009 */ lui $a0,%hi(var8008ae38) +/* 149c: 2484ae38 */ addiu $a0,$a0,%lo(var8008ae38) +/* 14a0: 24840ff8 */ addiu $a0,$a0,4088 +/* 14a4: 8c9d0000 */ lw $sp,0x0($a0) +/* 14a8: 3c088000 */ lui $t0,0x8000 +/* 14ac: 02284025 */ or $t0,$s1,$t0 +/* 14b0: 25090ff0 */ addiu $t1,$t0,0xff0 +.L000014b4: +/* 14b4: bd190000 */ cache 0x19,0x0($t0) +/* 14b8: 0109082b */ sltu $at,$t0,$t1 +/* 14bc: 1420fffd */ bnez $at,.L000014b4 +/* 14c0: 25080010 */ addiu $t0,$t0,0x10 +.L000014c4: +/* 14c4: 24080000 */ addiu $t0,$zero,0x0 +/* 14c8: 40882800 */ mtc0 $t0,$5 +/* 14cc: 40955000 */ mtc0 $s5,$10 +/* 14d0: 00000000 */ nop +/* 14d4: 00000000 */ nop +/* 14d8: 00000000 */ nop +/* 14dc: 42000008 */ tlbp +/* 14e0: 00000000 */ nop +/* 14e4: 00000000 */ nop +/* 14e8: 40090000 */ mfc0 $t1,$0 +/* 14ec: 40882800 */ mtc0 $t0,$5 +/* 14f0: 40955000 */ mtc0 $s5,$10 +/* 14f4: 8e080000 */ lw $t0,0x0($s0) +/* 14f8: 00084302 */ srl $t0,$t0,0xc +/* 14fc: 00084180 */ sll $t0,$t0,0x6 +/* 1500: 55000001 */ bnezl $t0,.L00001508 +/* 1504: 3508001e */ ori $t0,$t0,0x1e +.L00001508: +/* 1508: 40881000 */ mtc0 $t0,$2 +/* 150c: 8e080008 */ lw $t0,0x8($s0) +/* 1510: 00084302 */ srl $t0,$t0,0xc +/* 1514: 00084180 */ sll $t0,$t0,0x6 +/* 1518: 55000001 */ bnezl $t0,.L00001520 +/* 151c: 3508001e */ ori $t0,$t0,0x1e +.L00001520: +/* 1520: 40881800 */ mtc0 $t0,$3 +/* 1524: 05220003 */ bltzl $t1,.L00001534 +/* 1528: 00000000 */ nop +/* 152c: 10000002 */ b .L00001538 +/* 1530: 42000002 */ tlbwi +.L00001534: +/* 1534: 42000006 */ tlbwr +.L00001538: +/* 1538: 15a0000b */ bnez $t5,.L00001568 +/* 153c: 00000000 */ nop +/* 1540: 02a04025 */ or $t0,$s5,$zero +/* 1544: 57200001 */ bnezl $t9,.L0000154c +/* 1548: 25081000 */ addiu $t0,$t0,0x1000 +.L0000154c: +/* 154c: 25090fe0 */ addiu $t1,$t0,0xfe0 +/* 1550: 310a001f */ andi $t2,$t0,0x1f +/* 1554: 010a4023 */ subu $t0,$t0,$t2 +.L00001558: +/* 1558: bd100000 */ cache 0x10,0x0($t0) +/* 155c: 0109082b */ sltu $at,$t0,$t1 +/* 1560: 1420fffd */ bnez $at,.L00001558 +/* 1564: 25080020 */ addiu $t0,$t0,0x20 +.L00001568: +/* 1568: 03e00008 */ jr $ra +/* 156c: 00000000 */ nop +.L00001570: +/* 1570: 3c148009 */ lui $s4,%hi(var8008ae24) +/* 1574: 8e94ae24 */ lw $s4,%lo(var8008ae24)($s4) +/* 1578: 3c1c8009 */ lui $gp,%hi(var80090b08) +/* 157c: 8f9c0b08 */ lw $gp,%lo(var80090b08)($gp) +/* 1580: 40084800 */ mfc0 $t0,$9 +/* 1584: 3c098009 */ lui $t1,%hi(var8008d264+0x2) +/* 1588: 9529d266 */ lhu $t1,%lo(var8008d264+0x2)($t1) +/* 158c: 3c0a8006 */ lui $t2,%hi(var8005cf84) +/* 1590: 8d4acf84 */ lw $t2,%lo(var8005cf84)($t2) +/* 1594: 01094024 */ and $t0,$t0,$t1 +/* 1598: 010a082a */ slt $at,$t0,$t2 +/* 159c: 50200001 */ beqzl $at,.L000015a4 +/* 15a0: 010a4023 */ subu $t0,$t0,$t2 +.L000015a4: +/* 15a4: 000848c0 */ sll $t1,$t0,0x3 +/* 15a8: 01344821 */ addu $t1,$t1,$s4 +.L000015ac: +/* 15ac: 8d310000 */ lw $s1,0x0($t1) +/* 15b0: 16200006 */ bnez $s1,.L000015cc +/* 15b4: 00000000 */ nop +/* 15b8: 25290008 */ addiu $t1,$t1,8 +/* 15bc: 153cfffb */ bne $t1,$gp,.L000015ac +/* 15c0: 00000000 */ nop +/* 15c4: 0800056b */ j .L000015ac +/* 15c8: 02804825 */ or $t1,$s4,$zero +.L000015cc: +/* 15cc: 01344023 */ subu $t0,$t1,$s4 +/* 15d0: 000840c2 */ srl $t0,$t0,0x3 +/* 15d4: 00084300 */ sll $t0,$t0,0xc +/* 15d8: 011e4021 */ addu $t0,$t0,$s8 +/* 15dc: 240af000 */ addiu $t2,$zero,-4096 +/* 15e0: 010a4024 */ and $t0,$t0,$t2 +/* 15e4: 40885000 */ mtc0 $t0,$10 +/* 15e8: 24080000 */ addiu $t0,$zero,0x0 +/* 15ec: 40882800 */ mtc0 $t0,$5 +/* 15f0: 00000000 */ nop +/* 15f4: 00000000 */ nop +/* 15f8: 00000000 */ nop +/* 15fc: 42000008 */ tlbp +/* 1600: 00000000 */ nop +/* 1604: 00000000 */ nop +/* 1608: 400a0000 */ mfc0 $t2,$0 +/* 160c: 40085000 */ mfc0 $t0,$10 +/* 1610: 05400003 */ bltz $t2,.L00001620 +/* 1614: 00000000 */ nop +/* 1618: 0800055c */ j .L00001570 +/* 161c: 00000000 */ nop +.L00001620: +/* 1620: ad200000 */ sw $zero,0x0($t1) +/* 1624: 0800049a */ j .L00001268 /* 1628: 00000000 */ nop .L0000162c: /* 162c: 08000ea2 */ j 0x3a88 @@ -526,7 +886,7 @@ glabel boot00001180 .L00001240: /* 1240: 152afff3 */ bne $t1,$t2,.L00001210 /* 1244: 25290001 */ addiu $t1,$t1,0x1 -/* 1248: 08000566 */ j 0x1598 +/* 1248: 08000566 */ j .L00001598 /* 124c: 00000000 */ nop .L00001250: /* 1250: 010f4026 */ xor $t0,$t0,$t7 @@ -535,6 +895,7 @@ glabel boot00001180 /* 125c: 8d4af88c */ lw $t2,-0x774($t2) /* 1260: 3c118009 */ lui $s1,0x8009 /* 1264: 8e31f898 */ lw $s1,-0x768($s1) +.L00001268: /* 1268: 012a4823 */ subu $t1,$t1,$t2 /* 126c: 000948c0 */ sll $t1,$t1,0x3 /* 1270: 01c94021 */ addu $t0,$t6,$t1 @@ -782,7 +1143,7 @@ glabel boot00001180 /* 15f4: 25290008 */ addiu $t1,$t1,0x8 /* 15f8: 153cfffb */ bne $t1,$gp,.L000015e8 /* 15fc: 00000000 */ nop -/* 1600: 0800057a */ j 0x15e8 +/* 1600: 0800057a */ j .L000015e8 /* 1604: 02804825 */ move $t1,$s4 .L00001608: /* 1608: 01344023 */ subu $t0,$t1,$s4 @@ -804,14 +1165,14 @@ glabel boot00001180 /* 1648: 40085000 */ mfc0 $t0,$10 /* 164c: 05400003 */ bltz $t2,.L0000165c /* 1650: 00000000 */ nop -/* 1654: 0800056b */ j 0x15ac +/* 1654: 0800056b */ j .L000015ac /* 1658: 00000000 */ nop .L0000165c: /* 165c: ad200000 */ sw $zero,0x0($t1) -/* 1660: 0800049f */ j 0x127c +/* 1660: 0800049f */ j .L0000127c /* 1664: 00000000 */ nop .L00001668: -/* 1668: 08000f2a */ j 0x3ca8 +/* 1668: 08000f2a */ j .L00003ca8 /* 166c: 00000000 */ nop ); #endif diff --git a/src/lib/lib_074f0.c b/src/lib/lib_074f0.c index f7d7d587c..77b0d039e 100644 --- a/src/lib/lib_074f0.c +++ b/src/lib/lib_074f0.c @@ -155,7 +155,7 @@ glabel rzipInflate /* 7628: 8fbd0074 */ lw $sp,0x74($sp) /* 762c: 8fbe0078 */ lw $s8,0x78($sp) /* 7630: 27bd0080 */ addiu $sp,$sp,0x80 -/* 7634: 08001dfd */ j 0x77f4 +/* 7634: 08001dfd */ j .L000077f4 /* 7638: 00000000 */ nop .L0000763c: /* 763c: 90890001 */ lbu $t1,0x1($a0) @@ -228,14 +228,15 @@ glabel rzipInflate /* 7748: 8fbd0074 */ lw $sp,0x74($sp) /* 774c: 8fbe0078 */ lw $s8,0x78($sp) /* 7750: 27bd0080 */ addiu $sp,$sp,0x80 -/* 7754: 08001dfd */ j 0x77f4 +/* 7754: 08001dfd */ j .L000077f4 /* 7758: 00000000 */ nop .L0000775c: -/* 775c: 08001ddb */ j 0x776c +/* 775c: 08001ddb */ j .L0000776c /* 7760: 24840002 */ addiu $a0,$a0,0x2 .L00007764: -/* 7764: 08001ddb */ j 0x776c +/* 7764: 08001ddb */ j .L0000776c /* 7768: 24840005 */ addiu $a0,$a0,0x5 +.L0000776c: /* 776c: 24970000 */ addiu $s7,$a0,0x0 /* 7770: 44858000 */ mtc1 $a1,$f16 /* 7774: 00c0b025 */ or $s6,$a2,$zero @@ -259,6 +260,7 @@ glabel rzipInflate /* 77b4: 00000000 */ nop /* 77b8: 1440000e */ bnez $v0,.L000077f4 /* 77bc: 44028800 */ mfc1 $v0,$f17 +.L000077c0: /* 77c0: 8fb00a48 */ lw $s0,0xa48($sp) /* 77c4: 8fb10a4c */ lw $s1,0xa4c($sp) /* 77c8: 8fb20a50 */ lw $s2,0xa50($sp) @@ -340,7 +342,7 @@ glabel rzipInflate /* 78f4: 8fbd0074 */ lw $sp,0x74($sp) /* 78f8: 8fbe0078 */ lw $s8,0x78($sp) /* 78fc: 27bd0080 */ addiu $sp,$sp,0x80 -/* 7900: 08001df0 */ j 0x77c0 +/* 7900: 08001df0 */ j .L000077c0 /* 7904: 24020000 */ addiu $v0,$zero,0x0 ); @@ -404,24 +406,25 @@ glabel func0000796c /* 79bc: 00000000 */ nop /* 79c0: 0c001e84 */ jal func00007a10 /* 79c4: 00000000 */ nop -/* 79c8: 08001e81 */ j 0x7a04 +/* 79c8: 08001e81 */ j .L00007a04 /* 79cc: 00000000 */ nop .L000079d0: /* 79d0: 15600005 */ bnez $t3,.L000079e8 /* 79d4: 24010001 */ addiu $at,$zero,0x1 /* 79d8: 0c001fc8 */ jal func00007f20 /* 79dc: 00000000 */ nop -/* 79e0: 08001e81 */ j 0x7a04 +/* 79e0: 08001e81 */ j .L00007a04 /* 79e4: 00000000 */ nop .L000079e8: /* 79e8: 15610005 */ bne $t3,$at,.L00007a00 /* 79ec: 00000000 */ nop /* 79f0: 0c002009 */ jal func00008024 /* 79f4: 00000000 */ nop -/* 79f8: 08001e81 */ j 0x7a04 +/* 79f8: 08001e81 */ j .L00007a04 /* 79fc: 00000000 */ nop .L00007a00: /* 7a00: 24020002 */ addiu $v0,$zero,0x2 +.L00007a04: /* 7a04: 8fbf0a68 */ lw $ra,0xa68($sp) /* 7a08: 03e00008 */ jr $ra /* 7a0c: 00000000 */ nop @@ -556,7 +559,7 @@ glabel func00007a10 /* 7bd8: 025d9021 */ addu $s2,$s2,$sp /* 7bdc: ae510548 */ sw $s1,0x548($s2) /* 7be0: 27390001 */ addiu $t9,$t9,0x1 -/* 7be4: 08001f51 */ j 0x7d44 +/* 7be4: 08001f51 */ j .L00007d44 /* 7be8: 02209025 */ or $s2,$s1,$zero .L00007bec: /* 7bec: 24010010 */ addiu $at,$zero,0x10 @@ -590,7 +593,7 @@ glabel func00007a10 /* 7c50: 2631ffff */ addiu $s1,$s1,-1 /* 7c54: 1620fffc */ bnez $s1,.L00007c48 /* 7c58: 27180004 */ addiu $t8,$t8,0x4 -/* 7c5c: 08001f51 */ j 0x7d44 +/* 7c5c: 08001f51 */ j .L00007d44 /* 7c60: 00000000 */ nop .L00007c64: /* 7c64: 24010011 */ addiu $at,$zero,0x11 @@ -624,7 +627,7 @@ glabel func00007a10 /* 7cc8: 2631ffff */ addiu $s1,$s1,-1 /* 7ccc: 1620fffc */ bnez $s1,.L00007cc0 /* 7cd0: 27180004 */ addiu $t8,$t8,0x4 -/* 7cd4: 08001f51 */ j 0x7d44 +/* 7cd4: 08001f51 */ j .L00007d44 /* 7cd8: 24120000 */ addiu $s2,$zero,0x0 .L00007cdc: /* 7cdc: 2bc10007 */ slti $at,$s8,0x7 @@ -656,6 +659,7 @@ glabel func00007a10 /* 7d38: 1620fffc */ bnez $s1,.L00007d2c /* 7d3c: 27180004 */ addiu $t8,$t8,0x4 /* 7d40: 24120000 */ addiu $s2,$zero,0x0 +.L00007d44: /* 7d44: 0334082a */ slt $at,$t9,$s4 /* 7d48: 1420ff8a */ bnez $at,.L00007b74 /* 7d4c: 00000000 */ nop @@ -705,7 +709,7 @@ glabel func00007a10 /* 7df8: 8fa70a40 */ lw $a3,0xa40($sp) /* 7dfc: 14400044 */ bnez $v0,.L00007f10 /* 7e00: 00000000 */ nop -/* 7e04: 08001fc5 */ j 0x7f14 +/* 7e04: 08001fc5 */ j .L00007f14 /* 7e08: 24020000 */ addiu $v0,$zero,0x0 .L00007e0c: /* 7e0c: 27bdff80 */ addiu $sp,$sp,-128 @@ -775,6 +779,7 @@ glabel func00007a10 /* 7f0c: 27bd0080 */ addiu $sp,$sp,0x80 .L00007f10: /* 7f10: 24020001 */ addiu $v0,$zero,0x1 +.L00007f14: /* 7f14: 8fbf0a44 */ lw $ra,0xa44($sp) /* 7f18: 03e00008 */ jr $ra /* 7f1c: 00000000 */ nop @@ -1009,7 +1014,7 @@ glabel func00008064 /* 8228: 2402ffff */ addiu $v0,$zero,-1 /* 822c: 000a8823 */ negu $s1,$t2 /* 8230: afa00044 */ sw $zero,0x44($sp) -/* 8234: 0800211d */ j 0x8474 +/* 8234: 0800211d */ j .L00008474 /* 8238: 24100000 */ addiu $s0,$zero,0x0 /* 823c: 022a8821 */ addu $s1,$s1,$t2 .L00008240: @@ -1082,6 +1087,7 @@ glabel func00008064 /* 8338: 10200071 */ beqz $at,.L00008500 .L0000833c: /* 833c: 022ab821 */ addu $s7,$s1,$t2 +.L00008340: /* 8340: 02ec082a */ slt $at,$s7,$t4 /* 8344: 5420ffbe */ bnezl $at,.L00008240 /* 8348: 022a8821 */ addu $s1,$s1,$t2 @@ -1092,7 +1098,7 @@ glabel func00008064 /* 835c: 0117082a */ slt $at,$t0,$s7 /* 8360: 14200003 */ bnez $at,.L00008370 /* 8364: 24140063 */ addiu $s4,$zero,0x63 -/* 8368: 080020ef */ j 0x83bc +/* 8368: 080020ef */ j .L000083bc /* 836c: 24120001 */ addiu $s2,$zero,0x1 .L00008370: /* 8370: 8d170000 */ lw $s7,0x0($t0) @@ -1105,7 +1111,7 @@ glabel func00008064 /* 838c: 24140010 */ addiu $s4,$zero,0x10 /* 8390: 2414000f */ addiu $s4,$zero,0xf .L00008394: -/* 8394: 080020ee */ j 0x83b8 +/* 8394: 080020ee */ j .L000083b8 /* 8398: 25080004 */ addiu $t0,$t0,0x4 .L0000839c: /* 839c: 02e6b823 */ subu $s7,$s7,$a2 @@ -1115,7 +1121,9 @@ glabel func00008064 /* 83ac: 02e7b821 */ addu $s7,$s7,$a3 /* 83b0: 96fc0000 */ lhu $gp,0x0($s7) /* 83b4: 25080004 */ addiu $t0,$t0,0x4 +.L000083b8: /* 83b8: 24120001 */ addiu $s2,$zero,0x1 +.L000083bc: /* 83bc: 0191b823 */ subu $s7,$t4,$s1 /* 83c0: 02f29004 */ sllv $s2,$s2,$s7 /* 83c4: 02295806 */ srlv $t3,$t1,$s1 @@ -1151,11 +1159,12 @@ glabel func00008064 /* 8430: 16e0fffd */ bnez $s7,.L00008428 /* 8434: 012b4826 */ xor $t1,$t1,$t3 .L00008438: -/* 8438: 08002112 */ j 0x8448 +/* 8438: 08002112 */ j .L00008448 /* 843c: 241e0001 */ addiu $s8,$zero,0x1 /* 8440: 2442ffff */ addiu $v0,$v0,-1 .L00008444: /* 8444: 022a8823 */ subu $s1,$s1,$t2 +.L00008448: /* 8448: 023eb804 */ sllv $s7,$s8,$s1 /* 844c: 26f7ffff */ addiu $s7,$s7,-1 /* 8450: 00020880 */ sll $at,$v0,0x2 @@ -1168,6 +1177,7 @@ glabel func00008064 /* 846c: 2484ffff */ addiu $a0,$a0,-1 .L00008470: /* 8470: 258c0001 */ addiu $t4,$t4,0x1 +.L00008474: /* 8474: 01ac082a */ slt $at,$t5,$t4 /* 8478: 14200007 */ bnez $at,.L00008498 /* 847c: 000c2080 */ sll $a0,$t4,0x2 @@ -1175,7 +1185,7 @@ glabel func00008064 /* 8484: 8c840000 */ lw $a0,0x0($a0) /* 8488: 1080fff9 */ beqz $a0,.L00008470 /* 848c: 2484ffff */ addiu $a0,$a0,-1 -/* 8490: 080020d0 */ j 0x8340 +/* 8490: 080020d0 */ j .L00008340 /* 8494: 022ab821 */ addu $s7,$s1,$t2 .L00008498: /* 8498: 57200002 */ bnezl $t9,.L000084a4 @@ -1189,6 +1199,7 @@ glabel func00008064 .L000084b4: /* 84b4: 02e11024 */ and $v0,$s7,$at /* 84b8: 44939800 */ mtc1 $s3,$f19 +.L000084bc: /* 84bc: 44101000 */ mfc1 $s0,$f2 /* 84c0: 44111800 */ mfc1 $s1,$f3 /* 84c4: 44122000 */ mfc1 $s2,$f4 @@ -1206,7 +1217,7 @@ glabel func00008064 .L000084f0: /* 84f0: a7000000 */ sh $zero,0x0($t8) /* 84f4: af200000 */ sw $zero,0x0($t9) -/* 84f8: 0800212f */ j 0x84bc +/* 84f8: 0800212f */ j .L000084bc /* 84fc: 24020000 */ addiu $v0,$zero,0x0 .L00008500: /* 8500: 27bdff80 */ addiu $sp,$sp,-128 @@ -1275,7 +1286,7 @@ glabel func00008064 /* 85fc: 8fbc0070 */ lw $gp,0x70($sp) /* 8600: 8fbd0074 */ lw $sp,0x74($sp) /* 8604: 8fbe0078 */ lw $s8,0x78($sp) -/* 8608: 080020cf */ j 0x833c +/* 8608: 080020cf */ j .L0000833c /* 860c: 27bd0080 */ addiu $sp,$sp,0x80 ); @@ -1292,7 +1303,9 @@ glabel func00008610 /* 8630: 00077840 */ sll $t7,$a3,0x1 /* 8634: 01f07821 */ addu $t7,$t7,$s0 /* 8638: 95e80000 */ lhu $t0,0x0($t7) +.L0000863c: /* 863c: 03c6082a */ slt $at,$s8,$a2 +.L00008640: /* 8640: 10200009 */ beqz $at,.L00008668 /* 8644: 038aa824 */ and $s5,$gp,$t2 .L00008648: @@ -1349,7 +1362,7 @@ glabel func00008610 /* 86fc: 96af0002 */ lhu $t7,0x2($s5) /* 8700: 0174c021 */ addu $t8,$t3,$s4 /* 8704: a30f0000 */ sb $t7,0x0($t8) -/* 8708: 0800218f */ j 0x863c +/* 8708: 0800218f */ j .L0000863c /* 870c: 26940001 */ addiu $s4,$s4,0x1 .L00008710: /* 8710: 2401000f */ addiu $at,$zero,0xf @@ -1458,7 +1471,7 @@ glabel func00008610 /* 8880: a32fffff */ sb $t7,-0x1($t9) /* 8884: 1722fffc */ bne $t9,$v0,.L00008878 /* 8888: 27180001 */ addiu $t8,$t8,0x1 -/* 888c: 08002190 */ j 0x8640 +/* 888c: 08002190 */ j .L00008640 /* 8890: 03c6082a */ slt $at,$s8,$a2 .L00008894: /* 8894: 44948800 */ mtc1 $s4,$f17 diff --git a/src/lib/lib_09a80.c b/src/lib/lib_09a80.c index 629fd02e2..974d0f64d 100644 --- a/src/lib/lib_09a80.c +++ b/src/lib/lib_09a80.c @@ -18,7 +18,12 @@ const u32 var700526d0[] = {0x01400140}; const u32 var700526d4[] = {0x02800000}; const u32 var700526d8[] = {0x00dc00dc}; + +#if PAL +const u32 var700526dc[] = {0x01f80000}; +#else const u32 var700526dc[] = {0x01b80000}; +#endif struct rend_vidat var8005d530 = { NULL, @@ -287,6 +292,194 @@ glabel func00009bf8 ); #endif +#if PAL +GLOBAL_ASM( +glabel func00009c3c +/* 9c3c: 3c05800a */ lui $a1,%hi(g_Vars) +/* 9c40: 24a59fc0 */ addiu $a1,$a1,%lo(g_Vars) +/* 9c44: 27bdffe0 */ addiu $sp,$sp,-32 +/* 9c48: 2401005a */ addiu $at,$zero,0x5a +/* 9c4c: afbf0014 */ sw $ra,0x14($sp) +/* 9c50: 10810003 */ beq $a0,$at,.L00009c60 +/* 9c54: a0a004e0 */ sb $zero,0x4e0($a1) +/* 9c58: 2401004e */ addiu $at,$zero,0x4e +/* 9c5c: 14810015 */ bne $a0,$at,.L00009cb4 +.L00009c60: +/* 9c60: 3c0e8009 */ lui $t6,%hi(g_Is4Mb) +/* 9c64: 91ce0af0 */ lbu $t6,%lo(g_Is4Mb)($t6) +/* 9c68: 24010001 */ addiu $at,$zero,0x1 +/* 9c6c: 15c10006 */ bne $t6,$at,.L00009c88 +/* 9c70: 00000000 */ nop +/* 9c74: 0c002aac */ jal func0000aab0 +/* 9c78: 24040002 */ addiu $a0,$zero,0x2 +/* 9c7c: 3c060008 */ lui $a2,0x8 +/* 9c80: 10000060 */ b .L00009e04 +/* 9c84: 34c69800 */ ori $a2,$a2,0x9800 +.L00009c88: +/* 9c88: 0c002aac */ jal func0000aab0 +/* 9c8c: 24040002 */ addiu $a0,$zero,0x2 +/* 9c90: 3c0f7005 */ lui $t7,%hi(var700526dc) +/* 9c94: 3c187005 */ lui $t8,%hi(var700526d4) +/* 9c98: 871826d4 */ lh $t8,%lo(var700526d4)($t8) +/* 9c9c: 85ef26dc */ lh $t7,%lo(var700526dc)($t7) +/* 9ca0: 01f80019 */ multu $t7,$t8 +/* 9ca4: 00003012 */ mflo $a2 +/* 9ca8: 0006c840 */ sll $t9,$a2,0x1 +/* 9cac: 10000055 */ b .L00009e04 +/* 9cb0: 03203025 */ or $a2,$t9,$zero +.L00009cb4: +/* 9cb4: 0c002aac */ jal func0000aab0 +/* 9cb8: 24040001 */ addiu $a0,$zero,0x1 +/* 9cbc: 3c028009 */ lui $v0,%hi(g_Is4Mb) +/* 9cc0: 90420af0 */ lbu $v0,%lo(g_Is4Mb)($v0) +/* 9cc4: 3c05800a */ lui $a1,%hi(g_Vars) +/* 9cc8: 24010001 */ addiu $at,$zero,0x1 +/* 9ccc: 14410004 */ bne $v0,$at,.L00009ce0 +/* 9cd0: 24a59fc0 */ addiu $a1,$a1,%lo(g_Vars) +/* 9cd4: 3c060002 */ lui $a2,0x2 +/* 9cd8: 10000003 */ b .L00009ce8 +/* 9cdc: 34c62600 */ ori $a2,$a2,0x2600 +.L00009ce0: +/* 9ce0: 3c060004 */ lui $a2,0x4 +/* 9ce4: 34c64c00 */ ori $a2,$a2,0x4c00 +.L00009ce8: +/* 9ce8: 24010001 */ addiu $at,$zero,0x1 +/* 9cec: 54410023 */ bnel $v0,$at,.L00009d7c +/* 9cf0: 8cb90298 */ lw $t9,0x298($a1) +/* 9cf4: 8ca9006c */ lw $t1,0x6c($a1) +/* 9cf8: 24010002 */ addiu $at,$zero,0x2 +/* 9cfc: 00003825 */ or $a3,$zero,$zero +/* 9d00: 11200003 */ beqz $t1,.L00009d10 +/* 9d04: 00002025 */ or $a0,$zero,$zero +/* 9d08: 10000001 */ b .L00009d10 +/* 9d0c: 24070001 */ addiu $a3,$zero,0x1 +.L00009d10: +/* 9d10: 8caa0068 */ lw $t2,0x68($a1) +/* 9d14: 00001825 */ or $v1,$zero,$zero +/* 9d18: 00001025 */ or $v0,$zero,$zero +/* 9d1c: 11400003 */ beqz $t2,.L00009d2c +/* 9d20: 24180001 */ addiu $t8,$zero,0x1 +/* 9d24: 10000001 */ b .L00009d2c +/* 9d28: 24040001 */ addiu $a0,$zero,0x1 +.L00009d2c: +/* 9d2c: 8cab0064 */ lw $t3,0x64($a1) +/* 9d30: 11600003 */ beqz $t3,.L00009d40 +/* 9d34: 00000000 */ nop +/* 9d38: 10000001 */ b .L00009d40 +/* 9d3c: 24030001 */ addiu $v1,$zero,0x1 +.L00009d40: +/* 9d40: 8cac0070 */ lw $t4,0x70($a1) +/* 9d44: 11800003 */ beqz $t4,.L00009d54 +/* 9d48: 00000000 */ nop +/* 9d4c: 10000001 */ b .L00009d54 +/* 9d50: 24020001 */ addiu $v0,$zero,0x1 +.L00009d54: +/* 9d54: 00436821 */ addu $t5,$v0,$v1 +/* 9d58: 01a47021 */ addu $t6,$t5,$a0 +/* 9d5c: 01c77821 */ addu $t7,$t6,$a3 +/* 9d60: 55e10006 */ bnel $t7,$at,.L00009d7c +/* 9d64: 8cb90298 */ lw $t9,0x298($a1) +/* 9d68: 3c060001 */ lui $a2,0x1 +/* 9d6c: 34c61300 */ ori $a2,$a2,0x1300 +/* 9d70: 10000024 */ b .L00009e04 +/* 9d74: a0b804e0 */ sb $t8,0x4e0($a1) +/* 9d78: 8cb90298 */ lw $t9,0x298($a1) +.L00009d7c: +/* 9d7c: 24010002 */ addiu $at,$zero,0x2 +/* 9d80: 07230005 */ bgezl $t9,.L00009d98 +/* 9d84: 8caa006c */ lw $t2,0x6c($a1) +/* 9d88: 8ca9029c */ lw $t1,0x29c($a1) +/* 9d8c: 0522001e */ bltzl $t1,.L00009e08 +/* 9d90: 00062040 */ sll $a0,$a2,0x1 +/* 9d94: 8caa006c */ lw $t2,0x6c($a1) +.L00009d98: +/* 9d98: 8ca20068 */ lw $v0,0x68($a1) +/* 9d9c: 8ca30064 */ lw $v1,0x64($a1) +/* 9da0: 11400003 */ beqz $t2,.L00009db0 +/* 9da4: 8ca80070 */ lw $t0,0x70($a1) +/* 9da8: 10000002 */ b .L00009db4 +/* 9dac: 24070001 */ addiu $a3,$zero,0x1 +.L00009db0: +/* 9db0: 00003825 */ or $a3,$zero,$zero +.L00009db4: +/* 9db4: 10400003 */ beqz $v0,.L00009dc4 +/* 9db8: 00002025 */ or $a0,$zero,$zero +/* 9dbc: 10000001 */ b .L00009dc4 +/* 9dc0: 24040001 */ addiu $a0,$zero,0x1 +.L00009dc4: +/* 9dc4: 10600003 */ beqz $v1,.L00009dd4 +/* 9dc8: 00001025 */ or $v0,$zero,$zero +/* 9dcc: 10000002 */ b .L00009dd8 +/* 9dd0: 24030001 */ addiu $v1,$zero,0x1 +.L00009dd4: +/* 9dd4: 00001825 */ or $v1,$zero,$zero +.L00009dd8: +/* 9dd8: 11000003 */ beqz $t0,.L00009de8 +/* 9ddc: 00000000 */ nop +/* 9de0: 10000001 */ b .L00009de8 +/* 9de4: 24020001 */ addiu $v0,$zero,0x1 +.L00009de8: +/* 9de8: 00435821 */ addu $t3,$v0,$v1 +/* 9dec: 01646021 */ addu $t4,$t3,$a0 +/* 9df0: 01876821 */ addu $t5,$t4,$a3 +/* 9df4: 55a10004 */ bnel $t5,$at,.L00009e08 +/* 9df8: 00062040 */ sll $a0,$a2,0x1 +/* 9dfc: 3c060002 */ lui $a2,0x2 +/* 9e00: 34c62600 */ ori $a2,$a2,0x9900 +.L00009e04: +/* 9e04: 00062040 */ sll $a0,$a2,0x1 +.L00009e08: +/* 9e08: 24840040 */ addiu $a0,$a0,0x40 +/* 9e0c: 24050004 */ addiu $a1,$zero,0x4 +/* 9e10: 0c0048f2 */ jal malloc +/* 9e14: afa60018 */ sw $a2,0x18($sp) +/* 9e18: 8fa60018 */ lw $a2,0x18($sp) +/* 9e1c: 3c04800a */ lui $a0,%hi(var8009cac0) +/* 9e20: 2445003f */ addiu $a1,$v0,0x3f +/* 9e24: 2401ffc0 */ addiu $at,$zero,-64 +/* 9e28: 2484cac0 */ addiu $a0,$a0,%lo(var8009cac0) +/* 9e2c: 00a17024 */ and $t6,$a1,$at +/* 9e30: 00ce7821 */ addu $t7,$a2,$t6 +/* 9e34: ac8e0000 */ sw $t6,0x0($a0) +/* 9e38: ac8f0004 */ sw $t7,0x4($a0) +/* 9e3c: 3c188009 */ lui $t8,%hi(var80092874+0x2) +/* 9e40: 93182876 */ lbu $t8,%lo(var80092874+0x2)($t8) +/* 9e44: 3c0b8006 */ lui $t3,%hi(var8005d590) +/* 9e48: 8d6bd590 */ lw $t3,%lo(var8005d590)($t3) +/* 9e4c: 0018c880 */ sll $t9,$t8,0x2 +/* 9e50: 00994821 */ addu $t1,$a0,$t9 +/* 9e54: 8d2a0000 */ lw $t2,0x0($t1) +/* 9e58: 3c0c8009 */ lui $t4,%hi(var80092874+0x3) +/* 9e5c: 3c188006 */ lui $t8,%hi(g_ViData) +/* 9e60: ad6a0028 */ sw $t2,0x28($t3) +/* 9e64: 918c2877 */ lbu $t4,%lo(var80092874+0x3)($t4) +/* 9e68: 8f18d594 */ lw $t8,%lo(g_ViData)($t8) +/* 9e6c: 00001825 */ or $v1,$zero,$zero +/* 9e70: 000c6880 */ sll $t5,$t4,0x2 +/* 9e74: 008d7021 */ addu $t6,$a0,$t5 +/* 9e78: 8dcf0000 */ lw $t7,0x0($t6) +/* 9e7c: 24190001 */ addiu $t9,$zero,0x1 +/* 9e80: af0f0028 */ sw $t7,0x28($t8) +/* 9e84: 8c870000 */ lw $a3,0x0($a0) +/* 9e88: 18c00009 */ blez $a2,.L00009eb0 +/* 9e8c: 8c880004 */ lw $t0,0x4($a0) +/* 9e90: 00e01025 */ or $v0,$a3,$zero +/* 9e94: 01002025 */ or $a0,$t0,$zero +.L00009e98: +/* 9e98: 24630001 */ addiu $v1,$v1,0x1 +/* 9e9c: a0400000 */ sb $zero,0x0($v0) +/* 9ea0: 24420001 */ addiu $v0,$v0,0x1 +/* 9ea4: 24840001 */ addiu $a0,$a0,0x1 +/* 9ea8: 1466fffb */ bne $v1,$a2,.L00009e98 +/* 9eac: a080ffff */ sb $zero,-0x1($a0) +.L00009eb0: +/* 9eb0: 8fbf0014 */ lw $ra,0x14($sp) +/* 9eb4: 3c018006 */ lui $at,%hi(var8005d59c) +/* 9eb8: ac39d59c */ sw $t9,%lo(var8005d59c)($at) +/* 9ebc: 03e00008 */ jr $ra +/* 9ec0: 27bd0020 */ addiu $sp,$sp,0x20 +); +#else GLOBAL_ASM( glabel func00009c3c /* 9c3c: 3c05800a */ lui $a1,%hi(g_Vars) @@ -473,6 +666,7 @@ glabel func00009c3c /* 9ebc: 03e00008 */ jr $ra /* 9ec0: 27bd0020 */ addiu $sp,$sp,0x20 ); +#endif void func00009ec4(s32 arg0) { diff --git a/src/lib/lib_0c000.c b/src/lib/lib_0c000.c index 4b46577b7..415f8cd18 100644 --- a/src/lib/lib_0c000.c +++ b/src/lib/lib_0c000.c @@ -567,8 +567,8 @@ glabel func0000c240 /* c24c: 25ef1050 */ addiu $t7,$t7,%lo(boot) /* c250: 008f082b */ sltu $at,$a0,$t7 /* c254: 14200015 */ bnez $at,.L0000c2ac -/* c258: 3c187006 */ lui $t8,0x7006 -/* c25c: 27189fe0 */ addiu $t8,$t8,-0x6020 +/* c258: 3c187006 */ lui $t8,%hi(_libSegmentEnd) +/* c25c: 27189fe0 */ addiu $t8,$t8,%lo(_libSegmentEnd) /* c260: 0304082b */ sltu $at,$t8,$a0 /* c264: 54200012 */ bnezl $at,.L0000c2b0 /* c268: 00001025 */ or $v0,$zero,$zero diff --git a/src/lib/lib_0e9d0.c b/src/lib/lib_0e9d0.c index 08656e809..017c786ce 100644 --- a/src/lib/lib_0e9d0.c +++ b/src/lib/lib_0e9d0.c @@ -2410,6 +2410,355 @@ glabel func0000fe50 /* fe84: 00000000 */ nop ); +#if PAL +GLOBAL_ASM( +glabel func0000fe88 +/* fe88: 27bdeb98 */ addiu $sp,$sp,-5224 +/* fe8c: afbf002c */ sw $ra,0x2c($sp) +/* fe90: 0c003b45 */ jal func0000ed14 +/* fe94: afb00028 */ sw $s0,0x28($sp) +/* fe98: 0c012230 */ jal osGetThreadPri +/* fe9c: 00002025 */ or $a0,$zero,$zero +/* fea0: 3c048009 */ lui $a0,%hi(g_AudioManager+0x18) +/* fea4: 00408025 */ or $s0,$v0,$zero +/* fea8: 0c012230 */ jal osGetThreadPri +/* feac: 248415e0 */ addiu $a0,$a0,%lo(g_AudioManager+0x18) +/* feb0: 00002025 */ or $a0,$zero,$zero +/* feb4: 0c01210c */ jal osSetThreadPri +/* feb8: 24450001 */ addiu $a1,$v0,0x1 +/* febc: 0c00cfc9 */ jal func00033f24 +/* fec0: 00000000 */ nop +/* fec4: 0c00cfc2 */ jal func00033f08 +/* fec8: afa20060 */ sw $v0,0x60($sp) +/* fecc: 3c078006 */ lui $a3,%hi(var8005ddd4) +/* fed0: 24e7ddd4 */ addiu $a3,$a3,%lo(var8005ddd4) +/* fed4: 8fa80060 */ lw $t0,0x60($sp) +/* fed8: 00401825 */ or $v1,$v0,$zero +/* fedc: 1040002c */ beqz $v0,.L0000ff90 +/* fee0: ace00000 */ sw $zero,0x0($a3) +/* fee4: 27a51368 */ addiu $a1,$sp,0x1368 +/* fee8: 27a60068 */ addiu $a2,$sp,0x68 +/* feec: 24090001 */ addiu $t1,$zero,0x1 +/* fef0: aca30000 */ sw $v1,0x0($a1) +.L0000fef4: +/* fef4: 0060c025 */ or $t8,$v1,$zero +/* fef8: 00c0c825 */ or $t9,$a2,$zero +/* fefc: 246f0048 */ addiu $t7,$v1,0x48 +.L0000ff00: +/* ff00: 8f010000 */ lw $at,0x0($t8) +/* ff04: 2718000c */ addiu $t8,$t8,0xc +/* ff08: 2739000c */ addiu $t9,$t9,0xc +/* ff0c: af21fff4 */ sw $at,-0xc($t9) +/* ff10: 8f01fff8 */ lw $at,-0x8($t8) +/* ff14: af21fff8 */ sw $at,-0x8($t9) +/* ff18: 8f01fffc */ lw $at,-0x4($t8) +/* ff1c: 170ffff8 */ bne $t8,$t7,.L0000ff00 +/* ff20: af21fffc */ sw $at,-0x4($t9) +/* ff24: 8f010000 */ lw $at,0x0($t8) +/* ff28: af210000 */ sw $at,0x0($t9) +/* ff2c: 8cea0000 */ lw $t2,0x0($a3) +/* ff30: 254b0001 */ addiu $t3,$t2,0x1 +/* ff34: aceb0000 */ sw $t3,0x0($a3) +/* ff38: 906c0044 */ lbu $t4,0x44($v1) +/* ff3c: 318d0002 */ andi $t5,$t4,0x2 +/* ff40: 55a0000f */ bnezl $t5,.L0000ff80 +/* ff44: 8c630000 */ lw $v1,0x0($v1) +/* ff48: 8ca20000 */ lw $v0,0x0($a1) +/* ff4c: 904e0045 */ lbu $t6,0x45($v0) +/* ff50: 552e000b */ bnel $t1,$t6,.L0000ff80 +/* ff54: 8c630000 */ lw $v1,0x0($v1) +/* ff58: 8c440048 */ lw $a0,0x48($v0) +/* ff5c: 18800007 */ blez $a0,.L0000ff7c +/* ff60: 0088082a */ slt $at,$a0,$t0 +/* ff64: 50200006 */ beqzl $at,.L0000ff80 +/* ff68: 8c630000 */ lw $v1,0x0($v1) +/* ff6c: 0c00cf6c */ jal func00033db0 +/* ff70: ac600048 */ sw $zero,0x48($v1) +/* ff74: 10000007 */ b .L0000ff94 +/* ff78: 00002025 */ or $a0,$zero,$zero +.L0000ff7c: +/* ff7c: 8c630000 */ lw $v1,0x0($v1) +.L0000ff80: +/* ff80: 24a50004 */ addiu $a1,$a1,0x4 +/* ff84: 24c6004c */ addiu $a2,$a2,0x4c +/* ff88: 5460ffda */ bnezl $v1,.L0000fef4 +/* ff8c: aca30000 */ sw $v1,0x0($a1) +.L0000ff90: +/* ff90: 00002025 */ or $a0,$zero,$zero +.L0000ff94: +/* ff94: 0c01210c */ jal osSetThreadPri +/* ff98: 02002825 */ or $a1,$s0,$zero +/* ff9c: 3c048006 */ lui $a0,%hi(var8005ddd8) +/* ffa0: 3c078006 */ lui $a3,%hi(var8005ddd4) +/* ffa4: 24e7ddd4 */ addiu $a3,$a3,%lo(var8005ddd4) +/* ffa8: 2484ddd8 */ addiu $a0,$a0,%lo(var8005ddd8) +/* ffac: 8c820000 */ lw $v0,0x0($a0) +/* ffb0: 8ce30000 */ lw $v1,0x0($a3) +/* ffb4: 3c0f8006 */ lui $t7,%hi(var8005edec) +/* ffb8: 3c188006 */ lui $t8,%hi(g_Silent) +/* ffbc: 0043082a */ slt $at,$v0,$v1 +/* ffc0: 10200003 */ beqz $at,.L0000ffd0 +/* ffc4: 3c198006 */ lui $t9,%hi(var8005ddd0) +/* ffc8: ac830000 */ sw $v1,0x0($a0) +/* ffcc: 00601025 */ or $v0,$v1,$zero +.L0000ffd0: +/* ffd0: 8defedec */ lw $t7,%lo(var8005edec)($t7) +/* ffd4: 3c018006 */ lui $at,%hi(var8005edec) +/* ffd8: 11e20002 */ beq $t7,$v0,.L0000ffe4 +/* ffdc: 00000000 */ nop +/* ffe0: ac22edec */ sw $v0,%lo(var8005edec)($at) +.L0000ffe4: +/* ffe4: 8f18dda0 */ lw $t8,%lo(g_Silent)($t8) +/* ffe8: 570000d4 */ bnezl $t8,.L0001033c +/* ffec: 8fbf002c */ lw $ra,0x2c($sp) +/* fff0: 8f39ddd0 */ lw $t9,%lo(var8005ddd0)($t9) +/* fff4: 3c02800a */ lui $v0,%hi(g_Vars+0x4b4) +/* fff8: 532000d0 */ beqzl $t9,.L0001033c +/* fffc: 8fbf002c */ lw $ra,0x2c($sp) +/* 10000: 8c42a474 */ lw $v0,%lo(g_Vars+0x4b4)($v0) +/* 10004: 24010031 */ addiu $at,$zero,0x31 +/* 10008: 54410006 */ bnel $v0,$at,.L00010024 +/* 1000c: 24010019 */ addiu $at,$zero,0x19 +/* 10010: 0c004384 */ jal func00010e10 +/* 10014: 00000000 */ nop +/* 10018: 10000006 */ b .L00010034 +/* 1001c: 00000000 */ nop +/* 10020: 24010019 */ addiu $at,$zero,0x19 +.L00010024: +/* 10024: 14410003 */ bne $v0,$at,.L00010034 +/* 10028: 00000000 */ nop +/* 1002c: 0c004447 */ jal func0001111c +/* 10030: 00000000 */ nop +.L00010034: +/* 10034: 3c0a800a */ lui $t2,%hi(g_Vars+0x2ac) +/* 10038: 8d4aa26c */ lw $t2,%lo(g_Vars+0x2ac)($t2) +/* 1003c: 24010006 */ addiu $at,$zero,0x6 +/* 10040: 15410014 */ bne $t2,$at,.L00010094 +/* 10044: 00000000 */ nop +/* 10048: 0fc5b3e8 */ jal musicGetVolume +/* 1004c: 00000000 */ nop +/* 10050: 3c038006 */ lui $v1,%hi(g_SfxVolume) +/* 10054: 9463ddc8 */ lhu $v1,%lo(g_SfxVolume)($v1) +/* 10058: 0062082a */ slt $at,$v1,$v0 +/* 1005c: 10200005 */ beqz $at,.L00010074 +/* 10060: 00608025 */ or $s0,$v1,$zero +/* 10064: 0fc5b3e8 */ jal musicGetVolume +/* 10068: 00000000 */ nop +/* 1006c: 10000001 */ b .L00010074 +/* 10070: 00408025 */ or $s0,$v0,$zero +.L00010074: +/* 10074: 0c003a77 */ jal func0000e9dc +/* 10078: 00000000 */ nop +/* 1007c: 1202000d */ beq $s0,$v0,.L000100b4 +/* 10080: 00000000 */ nop +/* 10084: 0c003aa0 */ jal func0000ea80 +/* 10088: 3204ffff */ andi $a0,$s0,0xffff +/* 1008c: 10000009 */ b .L000100b4 +/* 10090: 00000000 */ nop +.L00010094: +/* 10094: 0c003a77 */ jal func0000e9dc +/* 10098: 00000000 */ nop +/* 1009c: 3c048006 */ lui $a0,%hi(g_SfxVolume) +/* 100a0: 9484ddc8 */ lhu $a0,%lo(g_SfxVolume)($a0) +/* 100a4: 10820003 */ beq $a0,$v0,.L000100b4 +/* 100a8: 00000000 */ nop +/* 100ac: 0c003aa0 */ jal func0000ea80 +/* 100b0: 00000000 */ nop +.L000100b4: +/* 100b4: 3c048006 */ lui $a0,%hi(var8005dde0) +/* 100b8: 8c84dde0 */ lw $a0,%lo(var8005dde0)($a0) +/* 100bc: 3c057005 */ lui $a1,%hi(var70053b20) +/* 100c0: 10800003 */ beqz $a0,.L000100d0 +/* 100c4: 00000000 */ nop +/* 100c8: 0c004c9d */ jal strcmp +/* 100cc: 24a53b20 */ addiu $a1,$a1,%lo(var70053b20) +.L000100d0: +/* 100d0: 0c00dfa9 */ jal func00037ea4 +/* 100d4: 00000000 */ nop +/* 100d8: 1440001d */ bnez $v0,.L00010150 +/* 100dc: 3c108009 */ lui $s0,%hi(var80094eb0) +/* 100e0: 26104eb0 */ addiu $s0,$s0,%lo(var80094eb0) +/* 100e4: 8e0b0004 */ lw $t3,0x4($s0) +/* 100e8: 11600019 */ beqz $t3,.L00010150 +/* 100ec: 00000000 */ nop +/* 100f0: 8e0c0008 */ lw $t4,0x8($s0) +/* 100f4: 51800007 */ beqzl $t4,.L00010114 +/* 100f8: 8e020024 */ lw $v0,0x24($s0) +/* 100fc: 8e04001c */ lw $a0,0x1c($s0) +/* 10100: 0c00df62 */ jal func00037d88 +/* 10104: 8e050020 */ lw $a1,0x20($s0) +/* 10108: 1000008c */ b .L0001033c +/* 1010c: 8fbf002c */ lw $ra,0x2c($sp) +/* 10110: 8e020024 */ lw $v0,0x24($s0) +.L00010114: +/* 10114: 24030001 */ addiu $v1,$zero,0x1 +/* 10118: 24010002 */ addiu $at,$zero,0x2 +/* 1011c: 10430007 */ beq $v0,$v1,.L0001013c +/* 10120: 240d003c */ addiu $t5,$zero,0x32 +/* 10124: 10410005 */ beq $v0,$at,.L0001013c +/* 10128: 24010003 */ addiu $at,$zero,0x3 +/* 1012c: 50410006 */ beql $v0,$at,.L00010148 +/* 10130: ae03000c */ sw $v1,0xc($s0) +/* 10134: 10000004 */ b .L00010148 +/* 10138: 00000000 */ nop +.L0001013c: +/* 1013c: 10000002 */ b .L00010148 +/* 10140: ae0d000c */ sw $t5,0xc($s0) +/* 10144: ae03000c */ sw $v1,0xc($s0) +.L00010148: +/* 10148: 1000007b */ b .L00010338 +/* 1014c: ae000004 */ sw $zero,0x4($s0) +.L00010150: +/* 10150: 3c108009 */ lui $s0,%hi(var80094eb0) +/* 10154: 26104eb0 */ addiu $s0,$s0,%lo(var80094eb0) +/* 10158: 8e02000c */ lw $v0,0xc($s0) +/* 1015c: 3c0e800a */ lui $t6,%hi(g_Vars+0x34) +/* 10160: 58400076 */ blezl $v0,.L0001033c +/* 10164: 8fbf002c */ lw $ra,0x2c($sp) +/* 10168: 8dce9ff4 */ lw $t6,%lo(g_Vars+0x34)($t6) +/* 1016c: 004e7823 */ subu $t7,$v0,$t6 +/* 10170: 1de00071 */ bgtz $t7,.L00010338 +/* 10174: ae0f000c */ sw $t7,0xc($s0) +/* 10178: 8e020024 */ lw $v0,0x24($s0) +/* 1017c: 24010002 */ addiu $at,$zero,0x2 +/* 10180: 5441001f */ bnel $v0,$at,.L00010200 +/* 10184: 24010001 */ addiu $at,$zero,0x1 +.L00010188: +/* 10188: 0c004b70 */ jal random +/* 1018c: 00000000 */ nop +/* 10190: 8e190010 */ lw $t9,0x10($s0) +/* 10194: 30430003 */ andi $v1,$v0,0x3 +/* 10198: 1323fffb */ beq $t9,$v1,.L00010188 +/* 1019c: 00000000 */ nop +/* 101a0: 3c018009 */ lui $at,%hi(var80094ec0) +/* 101a4: 1060000c */ beqz $v1,.L000101d8 +/* 101a8: ac234ec0 */ sw $v1,%lo(var80094ec0)($at) +/* 101ac: 24010001 */ addiu $at,$zero,0x1 +/* 101b0: 1061000c */ beq $v1,$at,.L000101e4 +/* 101b4: 240b7cee */ addiu $t3,$zero,0x7cee +/* 101b8: 24010002 */ addiu $at,$zero,0x2 +/* 101bc: 1061000b */ beq $v1,$at,.L000101ec +/* 101c0: 240c7cef */ addiu $t4,$zero,0x7cef +/* 101c4: 24010003 */ addiu $at,$zero,0x3 +/* 101c8: 1061000a */ beq $v1,$at,.L000101f4 +/* 101cc: 240d7cf0 */ addiu $t5,$zero,0x7cf0 +/* 101d0: 1000004a */ b .L000102fc +/* 101d4: 3c01bf80 */ lui $at,0xbf80 +.L000101d8: +/* 101d8: 240a7ced */ addiu $t2,$zero,0x7ced +/* 101dc: 10000046 */ b .L000102f8 +/* 101e0: a7aa0050 */ sh $t2,0x50($sp) +.L000101e4: +/* 101e4: 10000044 */ b .L000102f8 +/* 101e8: a7ab0050 */ sh $t3,0x50($sp) +.L000101ec: +/* 101ec: 10000042 */ b .L000102f8 +/* 101f0: a7ac0050 */ sh $t4,0x50($sp) +.L000101f4: +/* 101f4: 10000040 */ b .L000102f8 +/* 101f8: a7ad0050 */ sh $t5,0x50($sp) +/* 101fc: 24010001 */ addiu $at,$zero,0x1 +.L00010200: +/* 10200: 5441001f */ bnel $v0,$at,.L00010280 +/* 10204: 24010003 */ addiu $at,$zero,0x3 +.L00010208: +/* 10208: 0c004b70 */ jal random +/* 1020c: 00000000 */ nop +/* 10210: 8e0e0014 */ lw $t6,0x14($s0) +/* 10214: 30430003 */ andi $v1,$v0,0x3 +/* 10218: 11c3fffb */ beq $t6,$v1,.L00010208 +/* 1021c: 00000000 */ nop +/* 10220: 3c018009 */ lui $at,%hi(var80094ec4) +/* 10224: 1060000c */ beqz $v1,.L00010258 +/* 10228: ac234ec4 */ sw $v1,%lo(var80094ec4)($at) +/* 1022c: 24010001 */ addiu $at,$zero,0x1 +/* 10230: 1061000c */ beq $v1,$at,.L00010264 +/* 10234: 24187cf9 */ addiu $t8,$zero,0x7cf9 +/* 10238: 24010002 */ addiu $at,$zero,0x2 +/* 1023c: 1061000b */ beq $v1,$at,.L0001026c +/* 10240: 24197cfa */ addiu $t9,$zero,0x7cfa +/* 10244: 24010003 */ addiu $at,$zero,0x3 +/* 10248: 1061000a */ beq $v1,$at,.L00010274 +/* 1024c: 240a7cfb */ addiu $t2,$zero,0x7cfb +/* 10250: 1000002a */ b .L000102fc +/* 10254: 3c01bf80 */ lui $at,0xbf80 +.L00010258: +/* 10258: 240f7cf8 */ addiu $t7,$zero,0x7cf8 +/* 1025c: 10000026 */ b .L000102f8 +/* 10260: a7af0050 */ sh $t7,0x50($sp) +.L00010264: +/* 10264: 10000024 */ b .L000102f8 +/* 10268: a7b80050 */ sh $t8,0x50($sp) +.L0001026c: +/* 1026c: 10000022 */ b .L000102f8 +/* 10270: a7b90050 */ sh $t9,0x50($sp) +.L00010274: +/* 10274: 10000020 */ b .L000102f8 +/* 10278: a7aa0050 */ sh $t2,0x50($sp) +/* 1027c: 24010003 */ addiu $at,$zero,0x3 +.L00010280: +/* 10280: 5441001e */ bnel $v0,$at,.L000102fc +/* 10284: 3c01bf80 */ lui $at,0xbf80 +.L00010288: +/* 10288: 0c004b70 */ jal random +/* 1028c: 00000000 */ nop +/* 10290: 8e0b0018 */ lw $t3,0x18($s0) +/* 10294: 30430003 */ andi $v1,$v0,0x3 +/* 10298: 1163fffb */ beq $t3,$v1,.L00010288 +/* 1029c: 00000000 */ nop +/* 102a0: 3c018009 */ lui $at,%hi(var80094ec8) +/* 102a4: 1060000c */ beqz $v1,.L000102d8 +/* 102a8: ac234ec8 */ sw $v1,%lo(var80094ec8)($at) +/* 102ac: 24010001 */ addiu $at,$zero,0x1 +/* 102b0: 1061000c */ beq $v1,$at,.L000102e4 +/* 102b4: 240d77b7 */ addiu $t5,$zero,0x77b7 +/* 102b8: 24010002 */ addiu $at,$zero,0x2 +/* 102bc: 1061000b */ beq $v1,$at,.L000102ec +/* 102c0: 240e77b8 */ addiu $t6,$zero,0x77b8 +/* 102c4: 24010003 */ addiu $at,$zero,0x3 +/* 102c8: 1061000a */ beq $v1,$at,.L000102f4 +/* 102cc: 240f77b9 */ addiu $t7,$zero,0x77b9 +/* 102d0: 1000000a */ b .L000102fc +/* 102d4: 3c01bf80 */ lui $at,0xbf80 +.L000102d8: +/* 102d8: 240c77b6 */ addiu $t4,$zero,0x77b6 +/* 102dc: 10000006 */ b .L000102f8 +/* 102e0: a7ac0050 */ sh $t4,0x50($sp) +.L000102e4: +/* 102e4: 10000004 */ b .L000102f8 +/* 102e8: a7ad0050 */ sh $t5,0x50($sp) +.L000102ec: +/* 102ec: 10000002 */ b .L000102f8 +/* 102f0: a7ae0050 */ sh $t6,0x50($sp) +.L000102f4: +/* 102f4: a7af0050 */ sh $t7,0x50($sp) +.L000102f8: +/* 102f8: 3c01bf80 */ lui $at,0xbf80 +.L000102fc: +/* 102fc: 44812000 */ mtc1 $at,$f4 +/* 10300: 2418ffff */ addiu $t8,$zero,-1 +/* 10304: 2419ffff */ addiu $t9,$zero,-1 +/* 10308: 240affff */ addiu $t2,$zero,-1 +/* 1030c: 240bffff */ addiu $t3,$zero,-1 +/* 10310: ae18000c */ sw $t8,0xc($s0) +/* 10314: afab001c */ sw $t3,0x1c($sp) +/* 10318: afaa0018 */ sw $t2,0x18($sp) +/* 1031c: afb90010 */ sw $t9,0x10($sp) +/* 10320: 00002025 */ or $a0,$zero,$zero +/* 10324: 87a50050 */ lh $a1,0x50($sp) +/* 10328: 00003025 */ or $a2,$zero,$zero +/* 1032c: 2407ffff */ addiu $a3,$zero,-1 +/* 10330: 0c004241 */ jal audioStart +/* 10334: e7a40014 */ swc1 $f4,0x14($sp) +.L00010338: +/* 10338: 8fbf002c */ lw $ra,0x2c($sp) +.L0001033c: +/* 1033c: 8fb00028 */ lw $s0,0x28($sp) +/* 10340: 27bd1468 */ addiu $sp,$sp,0x1468 +/* 10344: 03e00008 */ jr $ra +/* 10348: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0000fe88 /* fe88: 27bdeb98 */ addiu $sp,$sp,-5224 @@ -2756,6 +3105,11 @@ glabel func0000fe88 /* 10340: 27bd1468 */ addiu $sp,$sp,0x1468 /* 10344: 03e00008 */ jr $ra /* 10348: 00000000 */ nop +); +#endif + +GLOBAL_ASM( +glabel func0001034c /* 1034c: 309907ff */ andi $t9,$a0,0x7ff /* 10350: 00194400 */ sll $t0,$t9,0x10 /* 10354: afa40000 */ sw $a0,0x0($sp) @@ -3596,6 +3950,192 @@ glabel envStopNosedive /* 10e0c: 00000000 */ nop ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func00010e10 +/* 10e10: 3c038006 */ lui $v1,%hi(var8005ddac) +/* 10e14: 2463ddac */ addiu $v1,$v1,%lo(var8005ddac) +/* 10e18: 8c620000 */ lw $v0,0x0($v1) +/* 10e1c: 27bdffc8 */ addiu $sp,$sp,-56 +/* 10e20: 2401ffff */ addiu $at,$zero,-1 +/* 10e24: 104100a1 */ beq $v0,$at,.L000110ac +/* 10e28: afbf002c */ sw $ra,0x2c($sp) +/* 10e2c: 3c08800a */ lui $t0,%hi(g_Vars) +/* 10e30: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) +/* 10e34: 8d0e0034 */ lw $t6,0x34($t0) +/* 10e38: 3c198006 */ lui $t9,%hi(var8005ddb0) +/* 10e3c: 3c013f80 */ lui $at,0x3f80 +/* 10e40: 004ec021 */ addu $t8,$v0,$t6 +/* 10e44: ac780000 */ sw $t8,0x0($v1) +/* 10e48: 8f39ddb0 */ lw $t9,%lo(var8005ddb0)($t9) +/* 10e4c: 44982000 */ mtc1 $t8,$f4 +/* 10e50: 44818000 */ mtc1 $at,$f16 +/* 10e54: 44994000 */ mtc1 $t9,$f8 +/* 10e58: 468021a0 */ cvt.s.w $f6,$f4 +/* 10e5c: 3c028006 */ lui $v0,%hi(var8005dda8) +/* 10e60: 3c017005 */ lui $at,%hi(var70053c84) +/* 10e64: 2442dda8 */ addiu $v0,$v0,%lo(var8005dda8) +/* 10e68: 468042a0 */ cvt.s.w $f10,$f8 +/* 10e6c: 460a3003 */ div.s $f0,$f6,$f10 +/* 10e70: 4610003c */ c.lt.s $f0,$f16 +/* 10e74: 00000000 */ nop +/* 10e78: 45020067 */ bc1fl .L00011018 +/* 10e7c: 8c460000 */ lw $a2,0x0($v0) +/* 10e80: c4323c84 */ lwc1 $f18,%lo(var70053c84)($at) +/* 10e84: 46120000 */ add.s $f0,$f0,$f18 +/* 10e88: 0fc5b364 */ jal coreIsPaused +/* 10e8c: e7a00034 */ swc1 $f0,0x34($sp) +/* 10e90: 3c08800a */ lui $t0,%hi(g_Vars) +/* 10e94: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) +/* 10e98: 10400028 */ beqz $v0,.L00010f3c +/* 10e9c: c7a00034 */ lwc1 $f0,0x34($sp) +/* 10ea0: 3c028006 */ lui $v0,%hi(var8005dda8) +/* 10ea4: 2442dda8 */ addiu $v0,$v0,%lo(var8005dda8) +/* 10ea8: 8c460000 */ lw $a2,0x0($v0) +/* 10eac: 00002825 */ or $a1,$zero,$zero +/* 10eb0: 24070040 */ addiu $a3,$zero,0x40 +/* 10eb4: 18c0000b */ blez $a2,.L00010ee4 +/* 10eb8: 3c048006 */ lui $a0,%hi(var8005ddc0) +/* 10ebc: 8d090040 */ lw $t1,0x40($t0) +/* 10ec0: 00095080 */ sll $t2,$t1,0x2 +/* 10ec4: 01495023 */ subu $t2,$t2,$t1 +/* 10ec8: 000a5140 */ sll $t2,$t2,0x5 +/* 10ecc: 00ca5823 */ subu $t3,$a2,$t2 +/* 10ed0: ac4b0000 */ sw $t3,0x0($v0) +/* 10ed4: 05610003 */ bgez $t3,.L00010ee4 +/* 10ed8: 01603025 */ or $a2,$t3,$zero +/* 10edc: ac400000 */ sw $zero,0x0($v0) +/* 10ee0: 00003025 */ or $a2,$zero,$zero +.L00010ee4: +/* 10ee4: 10c0000d */ beqz $a2,.L00010f1c +/* 10ee8: 240cffff */ addiu $t4,$zero,-1 +/* 10eec: 3c048006 */ lui $a0,%hi(var8005ddc0) +/* 10ef0: 240dffff */ addiu $t5,$zero,-1 +/* 10ef4: 240e0001 */ addiu $t6,$zero,0x1 +/* 10ef8: afae0020 */ sw $t6,0x20($sp) +/* 10efc: afad001c */ sw $t5,0x1c($sp) +/* 10f00: 2484ddc0 */ addiu $a0,$a0,%lo(var8005ddc0) +/* 10f04: afac0010 */ sw $t4,0x10($sp) +/* 10f08: e7a00014 */ swc1 $f0,0x14($sp) +/* 10f0c: 0c004128 */ jal audioAdjust +/* 10f10: afa00018 */ sw $zero,0x18($sp) +/* 10f14: 10000066 */ b .L000110b0 +/* 10f18: 8fbf002c */ lw $ra,0x2c($sp) +.L00010f1c: +/* 10f1c: 8c84ddc0 */ lw $a0,%lo(var8005ddc0)($a0) +/* 10f20: 50800063 */ beqzl $a0,.L000110b0 +/* 10f24: 8fbf002c */ lw $ra,0x2c($sp) +/* 10f28: 0c00cec9 */ jal audioStop +/* 10f2c: 00000000 */ nop +/* 10f30: 3c018006 */ lui $at,%hi(var8005ddc0) +/* 10f34: 1000005d */ b .L000110ac +/* 10f38: ac20ddc0 */ sw $zero,%lo(var8005ddc0)($at) +.L00010f3c: +/* 10f3c: 3c0f8006 */ lui $t7,%hi(var8005ddc0) +/* 10f40: 8defddc0 */ lw $t7,%lo(var8005ddc0)($t7) +/* 10f44: 3c048009 */ lui $a0,%hi(var80095200) +/* 10f48: 24050608 */ addiu $a1,$zero,0x608 +/* 10f4c: 15e00012 */ bnez $t7,.L00010f98 +/* 10f50: 3c068006 */ lui $a2,%hi(var8005ddc0) +/* 10f54: 3c01bf80 */ lui $at,0xbf80 +/* 10f58: 44812000 */ mtc1 $at,$f4 +/* 10f5c: 2418ffff */ addiu $t8,$zero,-1 +/* 10f60: 2419ffff */ addiu $t9,$zero,-1 +/* 10f64: 2409ffff */ addiu $t1,$zero,-1 +/* 10f68: afa9001c */ sw $t1,0x1c($sp) +/* 10f6c: afb90018 */ sw $t9,0x18($sp) +/* 10f70: afb80010 */ sw $t8,0x10($sp) +/* 10f74: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* 10f78: 24c6ddc0 */ addiu $a2,$a2,%lo(var8005ddc0) +/* 10f7c: 2407ffff */ addiu $a3,$zero,-1 +/* 10f80: e7a00034 */ swc1 $f0,0x34($sp) +/* 10f84: 0c004241 */ jal audioStart +/* 10f88: e7a40014 */ swc1 $f4,0x14($sp) +/* 10f8c: 3c08800a */ lui $t0,%hi(g_Vars) +/* 10f90: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) +/* 10f94: c7a00034 */ lwc1 $f0,0x34($sp) +.L00010f98: +/* 10f98: 3c028006 */ lui $v0,%hi(var8005dda8) +/* 10f9c: 2442dda8 */ addiu $v0,$v0,%lo(var8005dda8) +/* 10fa0: 8c460000 */ lw $a2,0x0($v0) +/* 10fa4: 3c048006 */ lui $a0,%hi(var8005ddc0) +/* 10fa8: 2484ddc0 */ addiu $a0,$a0,%lo(var8005ddc0) +/* 10fac: 28c14e20 */ slti $at,$a2,0x4e20 +/* 10fb0: 1020000c */ beqz $at,.L00010fe4 +/* 10fb4: 00002825 */ or $a1,$zero,$zero +/* 10fb8: 8d0a0040 */ lw $t2,0x40($t0) +/* 10fbc: 000a5880 */ sll $t3,$t2,0x2 +/* 10fc0: 016a5823 */ subu $t3,$t3,$t2 +/* 10fc4: 000b5900 */ sll $t3,$t3,0x4 +/* 10fc8: 00cb6021 */ addu $t4,$a2,$t3 +/* 10fcc: 29814e21 */ slti $at,$t4,0x4e21 +/* 10fd0: ac4c0000 */ sw $t4,0x0($v0) +/* 10fd4: 14200003 */ bnez $at,.L00010fe4 +/* 10fd8: 01803025 */ or $a2,$t4,$zero +/* 10fdc: 24064e20 */ addiu $a2,$zero,0x4e20 +/* 10fe0: ac460000 */ sw $a2,0x0($v0) +.L00010fe4: +/* 10fe4: 240effff */ addiu $t6,$zero,-1 +/* 10fe8: 240fffff */ addiu $t7,$zero,-1 +/* 10fec: 24180001 */ addiu $t8,$zero,0x1 +/* 10ff0: afb80020 */ sw $t8,0x20($sp) +/* 10ff4: afaf001c */ sw $t7,0x1c($sp) +/* 10ff8: afae0010 */ sw $t6,0x10($sp) +/* 10ffc: 24070040 */ addiu $a3,$zero,0x40 +/* 11000: e7a00014 */ swc1 $f0,0x14($sp) +/* 11004: 0c004128 */ jal audioAdjust +/* 11008: afa00018 */ sw $zero,0x18($sp) +/* 1100c: 10000028 */ b .L000110b0 +/* 11010: 8fbf002c */ lw $ra,0x2c($sp) +/* 11014: 8c460000 */ lw $a2,0x0($v0) +.L00011018: +/* 11018: 00002825 */ or $a1,$zero,$zero +/* 1101c: 24070040 */ addiu $a3,$zero,0x40 +/* 11020: 18c0000b */ blez $a2,.L00011050 +/* 11024: 3c048006 */ lui $a0,%hi(var8005ddc0) +/* 11028: 8d190040 */ lw $t9,0x40($t0) +/* 1102c: 00194880 */ sll $t1,$t9,0x2 +/* 11030: 01394823 */ subu $t1,$t1,$t9 +/* 11034: 00094940 */ sll $t1,$t1,0x5 +/* 11038: 00c95023 */ subu $t2,$a2,$t1 +/* 1103c: ac4a0000 */ sw $t2,0x0($v0) +/* 11040: 05410003 */ bgez $t2,.L00011050 +/* 11044: 01403025 */ or $a2,$t2,$zero +/* 11048: ac400000 */ sw $zero,0x0($v0) +/* 1104c: 00003025 */ or $a2,$zero,$zero +.L00011050: +/* 11050: 10c0000f */ beqz $a2,.L00011090 +/* 11054: 240bffff */ addiu $t3,$zero,-1 +/* 11058: 3c01bf80 */ lui $at,0xbf80 +/* 1105c: 44814000 */ mtc1 $at,$f8 +/* 11060: 3c048006 */ lui $a0,%hi(var8005ddc0) +/* 11064: 240cffff */ addiu $t4,$zero,-1 +/* 11068: 240d0001 */ addiu $t5,$zero,0x1 +/* 1106c: afad0020 */ sw $t5,0x20($sp) +/* 11070: afac001c */ sw $t4,0x1c($sp) +/* 11074: 2484ddc0 */ addiu $a0,$a0,%lo(var8005ddc0) +/* 11078: afab0010 */ sw $t3,0x10($sp) +/* 1107c: afa00018 */ sw $zero,0x18($sp) +/* 11080: 0c004128 */ jal audioAdjust +/* 11084: e7a80014 */ swc1 $f8,0x14($sp) +/* 11088: 10000009 */ b .L000110b0 +/* 1108c: 8fbf002c */ lw $ra,0x2c($sp) +.L00011090: +/* 11090: 8c84ddc0 */ lw $a0,%lo(var8005ddc0)($a0) +/* 11094: 50800006 */ beqzl $a0,.L000110b0 +/* 11098: 8fbf002c */ lw $ra,0x2c($sp) +/* 1109c: 0c00cec9 */ jal audioStop +/* 110a0: 00000000 */ nop +/* 110a4: 3c018006 */ lui $at,%hi(var8005ddc0) +/* 110a8: ac20ddc0 */ sw $zero,%lo(var8005ddc0)($at) +.L000110ac: +/* 110ac: 8fbf002c */ lw $ra,0x2c($sp) +.L000110b0: +/* 110b0: 27bd0038 */ addiu $sp,$sp,0x38 +/* 110b4: 03e00008 */ jr $ra +/* 110b8: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func00010e10 /* 10e10: 3c038006 */ lui $v1,%hi(var8005ddac) @@ -3780,6 +4320,7 @@ glabel func00010e10 /* 110b4: 03e00008 */ jr $ra /* 110b8: 00000000 */ nop ); +#endif #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( @@ -3834,6 +4375,214 @@ glabel envStopUfoHum /* 11118: 00000000 */ nop ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0001111c +/* 1111c: 3c038006 */ lui $v1,%hi(var8005ddb8) +/* 11120: 2463ddb8 */ addiu $v1,$v1,%lo(var8005ddb8) +/* 11124: 8c620000 */ lw $v0,0x0($v1) +/* 11128: 27bdffc8 */ addiu $sp,$sp,-56 +/* 1112c: 2401ffff */ addiu $at,$zero,-1 +/* 11130: 104100b5 */ beq $v0,$at,.L00011408 +/* 11134: afbf002c */ sw $ra,0x2c($sp) +/* 11138: 3c08800a */ lui $t0,%hi(g_Vars) +/* 1113c: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) +/* 11140: 8d0e0034 */ lw $t6,0x34($t0) +/* 11144: 3c198006 */ lui $t9,%hi(var8005ddbc) +/* 11148: 3c013f80 */ lui $at,0x3f80 +/* 1114c: 004ec021 */ addu $t8,$v0,$t6 +/* 11150: ac780000 */ sw $t8,0x0($v1) +/* 11154: 8f39ddbc */ lw $t9,%lo(var8005ddbc)($t9) +/* 11158: 44982000 */ mtc1 $t8,$f4 +/* 1115c: 44816000 */ mtc1 $at,$f12 +/* 11160: 44994000 */ mtc1 $t9,$f8 +/* 11164: 468021a0 */ cvt.s.w $f6,$f4 +/* 11168: 3c028006 */ lui $v0,%hi(var8005ddb4) +/* 1116c: 3c017005 */ lui $at,%hi(var70053c88) +/* 11170: 2442ddb4 */ addiu $v0,$v0,%lo(var8005ddb4) +/* 11174: 468042a0 */ cvt.s.w $f10,$f8 +/* 11178: 460a3003 */ div.s $f0,$f6,$f10 +/* 1117c: 460c003c */ c.lt.s $f0,$f12 +/* 11180: 00000000 */ nop +/* 11184: 4502007b */ bc1fl .L00011374 +/* 11188: 8c460000 */ lw $a2,0x0($v0) +/* 1118c: c4223c88 */ lwc1 $f2,%lo(var70053c88)($at) +/* 11190: 3c017005 */ lui $at,%hi(var70053c94) +/* 11194: 4602003c */ c.lt.s $f0,$f2 +/* 11198: 00000000 */ nop +/* 1119c: 4502000a */ bc1fl .L000111c8 +/* 111a0: 46020181 */ sub.s $f6,$f0,$f2 +/* 111a4: 46020403 */ div.s $f16,$f0,$f2 +/* 111a8: 3c017005 */ lui $at,%hi(var70053c8c) +/* 111ac: c4323c8c */ lwc1 $f18,%lo(var70053c8c)($at) +/* 111b0: 3c017005 */ lui $at,%hi(var70053c90) +/* 111b4: c4283c90 */ lwc1 $f8,%lo(var70053c90)($at) +/* 111b8: 46128102 */ mul.s $f4,$f16,$f18 +/* 111bc: 10000008 */ b .L000111e0 +/* 111c0: 46082000 */ add.s $f0,$f4,$f8 +/* 111c4: 46020181 */ sub.s $f6,$f0,$f2 +.L000111c8: +/* 111c8: c42a3c94 */ lwc1 $f10,%lo(var70053c94)($at) +/* 111cc: 3c017005 */ lui $at,%hi(var70053c98) +/* 111d0: c4323c98 */ lwc1 $f18,%lo(var70053c98)($at) +/* 111d4: 460a3403 */ div.s $f16,$f6,$f10 +/* 111d8: 46128102 */ mul.s $f4,$f16,$f18 +/* 111dc: 460c2000 */ add.s $f0,$f4,$f12 +.L000111e0: +/* 111e0: 0fc5b364 */ jal coreIsPaused +/* 111e4: e7a00034 */ swc1 $f0,0x34($sp) +/* 111e8: 3c08800a */ lui $t0,%hi(g_Vars) +/* 111ec: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) +/* 111f0: 10400028 */ beqz $v0,.L00011294 +/* 111f4: c7a00034 */ lwc1 $f0,0x34($sp) +/* 111f8: 3c028006 */ lui $v0,%hi(var8005ddb4) +/* 111fc: 2442ddb4 */ addiu $v0,$v0,%lo(var8005ddb4) +/* 11200: 8c460000 */ lw $a2,0x0($v0) +/* 11204: 00002825 */ or $a1,$zero,$zero +/* 11208: 24070040 */ addiu $a3,$zero,0x40 +/* 1120c: 18c0000b */ blez $a2,.L0001123c +/* 11210: 3c048006 */ lui $a0,%hi(var8005ddc4) +/* 11214: 8d090040 */ lw $t1,0x40($t0) +/* 11218: 000950c0 */ sll $t2,$t1,0x3 +/* 1121c: 01495021 */ addu $t2,$t2,$t1 +/* 11220: 000a5100 */ sll $t2,$t2,0x4 +/* 11224: 00ca5823 */ subu $t3,$a2,$t2 +/* 11228: ac4b0000 */ sw $t3,0x0($v0) +/* 1122c: 05610003 */ bgez $t3,.L0001123c +/* 11230: 01603025 */ or $a2,$t3,$zero +/* 11234: ac400000 */ sw $zero,0x0($v0) +/* 11238: 00003025 */ or $a2,$zero,$zero +.L0001123c: +/* 1123c: 10c0000d */ beqz $a2,.L00011274 +/* 11240: 240cffff */ addiu $t4,$zero,-1 +/* 11244: 3c048006 */ lui $a0,%hi(var8005ddc4) +/* 11248: 240dffff */ addiu $t5,$zero,-1 +/* 1124c: 240e0001 */ addiu $t6,$zero,0x1 +/* 11250: afae0020 */ sw $t6,0x20($sp) +/* 11254: afad001c */ sw $t5,0x1c($sp) +/* 11258: 2484ddc4 */ addiu $a0,$a0,%lo(var8005ddc4) +/* 1125c: afac0010 */ sw $t4,0x10($sp) +/* 11260: e7a00014 */ swc1 $f0,0x14($sp) +/* 11264: 0c004128 */ jal audioAdjust +/* 11268: afa00018 */ sw $zero,0x18($sp) +/* 1126c: 10000067 */ b .L0001140c +/* 11270: 8fbf002c */ lw $ra,0x2c($sp) +.L00011274: +/* 11274: 8c84ddc4 */ lw $a0,%lo(var8005ddc4)($a0) +/* 11278: 50800064 */ beqzl $a0,.L0001140c +/* 1127c: 8fbf002c */ lw $ra,0x2c($sp) +/* 11280: 0c00cec9 */ jal audioStop +/* 11284: 00000000 */ nop +/* 11288: 3c018006 */ lui $at,%hi(var8005ddc4) +/* 1128c: 1000005e */ b .L00011408 +/* 11290: ac20ddc4 */ sw $zero,%lo(var8005ddc4)($at) +.L00011294: +/* 11294: 3c0f8006 */ lui $t7,%hi(var8005ddc4) +/* 11298: 8defddc4 */ lw $t7,%lo(var8005ddc4)($t7) +/* 1129c: 3c048009 */ lui $a0,%hi(var80095200) +/* 112a0: 24050609 */ addiu $a1,$zero,0x609 +/* 112a4: 15e00012 */ bnez $t7,.L000112f0 +/* 112a8: 3c068006 */ lui $a2,%hi(var8005ddc4) +/* 112ac: 3c01bf80 */ lui $at,0xbf80 +/* 112b0: 44814000 */ mtc1 $at,$f8 +/* 112b4: 2418ffff */ addiu $t8,$zero,-1 +/* 112b8: 2419ffff */ addiu $t9,$zero,-1 +/* 112bc: 2409ffff */ addiu $t1,$zero,-1 +/* 112c0: afa9001c */ sw $t1,0x1c($sp) +/* 112c4: afb90018 */ sw $t9,0x18($sp) +/* 112c8: afb80010 */ sw $t8,0x10($sp) +/* 112cc: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* 112d0: 24c6ddc4 */ addiu $a2,$a2,%lo(var8005ddc4) +/* 112d4: 2407ffff */ addiu $a3,$zero,-1 +/* 112d8: e7a00034 */ swc1 $f0,0x34($sp) +/* 112dc: 0c004241 */ jal audioStart +/* 112e0: e7a80014 */ swc1 $f8,0x14($sp) +/* 112e4: 3c08800a */ lui $t0,%hi(g_Vars) +/* 112e8: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) +/* 112ec: c7a00034 */ lwc1 $f0,0x34($sp) +.L000112f0: +/* 112f0: 3c028006 */ lui $v0,%hi(var8005ddb4) +/* 112f4: 2442ddb4 */ addiu $v0,$v0,%lo(var8005ddb4) +/* 112f8: 8c460000 */ lw $a2,0x0($v0) +/* 112fc: 3c048006 */ lui $a0,%hi(var8005ddc4) +/* 11300: 2484ddc4 */ addiu $a0,$a0,%lo(var8005ddc4) +/* 11304: 28c17fff */ slti $at,$a2,0x7fff +/* 11308: 1020000d */ beqz $at,.L00011340 +/* 1130c: 00002825 */ or $a1,$zero,$zero +/* 11310: 8d0a0040 */ lw $t2,0x40($t0) +/* 11314: 34018000 */ dli $at,0x8000 +/* 11318: 000a5880 */ sll $t3,$t2,0x2 +/* 1131c: 016a5823 */ subu $t3,$t3,$t2 +/* 11320: 000b5900 */ sll $t3,$t3,0x4 +/* 11324: 00cb6021 */ addu $t4,$a2,$t3 +/* 11328: 0181082a */ slt $at,$t4,$at +/* 1132c: ac4c0000 */ sw $t4,0x0($v0) +/* 11330: 14200003 */ bnez $at,.L00011340 +/* 11334: 01803025 */ or $a2,$t4,$zero +/* 11338: 24067fff */ addiu $a2,$zero,0x7fff +/* 1133c: ac460000 */ sw $a2,0x0($v0) +.L00011340: +/* 11340: 240effff */ addiu $t6,$zero,-1 +/* 11344: 240fffff */ addiu $t7,$zero,-1 +/* 11348: 24180001 */ addiu $t8,$zero,0x1 +/* 1134c: afb80020 */ sw $t8,0x20($sp) +/* 11350: afaf001c */ sw $t7,0x1c($sp) +/* 11354: afae0010 */ sw $t6,0x10($sp) +/* 11358: 24070040 */ addiu $a3,$zero,0x40 +/* 1135c: e7a00014 */ swc1 $f0,0x14($sp) +/* 11360: 0c004128 */ jal audioAdjust +/* 11364: afa00018 */ sw $zero,0x18($sp) +/* 11368: 10000028 */ b .L0001140c +/* 1136c: 8fbf002c */ lw $ra,0x2c($sp) +/* 11370: 8c460000 */ lw $a2,0x0($v0) +.L00011374: +/* 11374: 00002825 */ or $a1,$zero,$zero +/* 11378: 24070040 */ addiu $a3,$zero,0x40 +/* 1137c: 18c0000b */ blez $a2,.L000113ac +/* 11380: 3c048006 */ lui $a0,%hi(var8005ddc4) +/* 11384: 8d190040 */ lw $t9,0x40($t0) +/* 11388: 001948c0 */ sll $t1,$t9,0x3 +/* 1138c: 01394821 */ addu $t1,$t1,$t9 +/* 11390: 00094900 */ sll $t1,$t1,0x4 +/* 11394: 00c95023 */ subu $t2,$a2,$t1 +/* 11398: ac4a0000 */ sw $t2,0x0($v0) +/* 1139c: 05410003 */ bgez $t2,.L000113ac +/* 113a0: 01403025 */ or $a2,$t2,$zero +/* 113a4: ac400000 */ sw $zero,0x0($v0) +/* 113a8: 00003025 */ or $a2,$zero,$zero +.L000113ac: +/* 113ac: 10c0000f */ beqz $a2,.L000113ec +/* 113b0: 240bffff */ addiu $t3,$zero,-1 +/* 113b4: 3c01bf80 */ lui $at,0xbf80 +/* 113b8: 44813000 */ mtc1 $at,$f6 +/* 113bc: 3c048006 */ lui $a0,%hi(var8005ddc4) +/* 113c0: 240cffff */ addiu $t4,$zero,-1 +/* 113c4: 240d0001 */ addiu $t5,$zero,0x1 +/* 113c8: afad0020 */ sw $t5,0x20($sp) +/* 113cc: afac001c */ sw $t4,0x1c($sp) +/* 113d0: 2484ddc4 */ addiu $a0,$a0,%lo(var8005ddc4) +/* 113d4: afab0010 */ sw $t3,0x10($sp) +/* 113d8: afa00018 */ sw $zero,0x18($sp) +/* 113dc: 0c004128 */ jal audioAdjust +/* 113e0: e7a60014 */ swc1 $f6,0x14($sp) +/* 113e4: 10000009 */ b .L0001140c +/* 113e8: 8fbf002c */ lw $ra,0x2c($sp) +.L000113ec: +/* 113ec: 8c84ddc4 */ lw $a0,%lo(var8005ddc4)($a0) +/* 113f0: 50800006 */ beqzl $a0,.L0001140c +/* 113f4: 8fbf002c */ lw $ra,0x2c($sp) +/* 113f8: 0c00cec9 */ jal audioStop +/* 113fc: 00000000 */ nop +/* 11400: 3c018006 */ lui $at,%hi(var8005ddc4) +/* 11404: ac20ddc4 */ sw $zero,%lo(var8005ddc4)($at) +.L00011408: +/* 11408: 8fbf002c */ lw $ra,0x2c($sp) +.L0001140c: +/* 1140c: 27bd0038 */ addiu $sp,$sp,0x38 +/* 11410: 03e00008 */ jr $ra +/* 11414: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0001111c /* 1111c: 3c038006 */ lui $v1,%hi(var8005ddb8) @@ -4039,6 +4788,5 @@ glabel func0001111c /* 1140c: 27bd0038 */ addiu $sp,$sp,0x38 /* 11410: 03e00008 */ jr $ra /* 11414: 00000000 */ nop -/* 11418: 00000000 */ nop -/* 1141c: 00000000 */ nop ); +#endif diff --git a/src/lib/lib_11420.c b/src/lib/lib_11420.c index 59bbe5b40..ea139dc1a 100644 --- a/src/lib/lib_11420.c +++ b/src/lib/lib_11420.c @@ -38,6 +38,19 @@ const char var70053f38[] = "MUSIC : Tick -> Channel %d (State=%d) has faded to s const char var70053f7c[] = "MUSIC : WARNING -> Force fade termination\n"; const char var70053fa8[] = "MUSIC TICK : Job Guid = %u\n"; +#if VERSION >= VERSION_PAL_FINAL +const u32 var70053fc4[] = {0x70011200}; +const u32 var70053fc8[] = {0x70011200}; +const u32 var70053fcc[] = {0x70011200}; +const u32 var70053fd0[] = {0x70011200}; +const u32 var70053fd4[] = {0x70011200}; +const u32 var70053fd8[] = {0x70011200}; +const u32 var70053fdc[] = {0x700119c0}; +const u32 var70053fe0[] = {0x700119d4}; +const u32 var70053fe4[] = {0x700119e8}; +const u32 var70053fe8[] = {0x700119fc}; +const u32 var70053fec[] = {0x70011a0c}; +#else const u32 var70053fc4[] = {0x70011470}; const u32 var70053fc8[] = {0x70011470}; const u32 var70053fcc[] = {0x70011470}; @@ -49,6 +62,7 @@ const u32 var70053fe0[] = {0x70011c44}; const u32 var70053fe4[] = {0x70011c58}; const u32 var70053fe8[] = {0x70011c6c}; const u32 var70053fec[] = {0x70011c7c}; +#endif u32 var8005edf0 = 0xffffffff; u32 var8005edf4 = 0x00000000; @@ -738,6 +752,311 @@ glabel func0001190c /* 11d80: 27bd0048 */ addiu $sp,$sp,0x48 ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func00011d84 +/* 11d84: 3c0e8006 */ lui $t6,%hi(g_Silent) +/* 11d88: 8dcedda0 */ lw $t6,%lo(g_Silent)($t6) +/* 11d8c: 27bdffd8 */ addiu $sp,$sp,-40 +/* 11d90: afbf0014 */ sw $ra,0x14($sp) +/* 11d94: 15c000e0 */ bnez $t6,.L00012118 +/* 11d98: afa00020 */ sw $zero,0x20($sp) +/* 11d9c: 3c038008 */ lui $v1,%hi(var800840f0) +/* 11da0: 246340f0 */ addiu $v1,$v1,%lo(var800840f0) +/* 11da4: 8c620000 */ lw $v0,0x0($v1) +/* 11da8: 3c0a800a */ lui $t2,%hi(g_Vars) +/* 11dac: 254a9fc0 */ addiu $t2,$t2,%lo(g_Vars) +/* 11db0: 18400044 */ blez $v0,.L00011ec4 +/* 11db4: 00000000 */ nop +/* 11db8: 8d4f0318 */ lw $t7,0x318($t2) +/* 11dbc: 3c048008 */ lui $a0,%hi(var800840fc) +/* 11dc0: 55e00014 */ bnezl $t7,.L00011e14 +/* 11dc4: 8d590034 */ lw $t9,0x34($t2) +/* 11dc8: 8d58029c */ lw $t8,0x29c($t2) +/* 11dcc: 07020006 */ bltzl $t8,.L00011de8 +/* 11dd0: 8d4c0298 */ lw $t4,0x298($t2) +/* 11dd4: 8d5902a0 */ lw $t9,0x2a0($t2) +/* 11dd8: 8f2b00d8 */ lw $t3,0xd8($t9) +/* 11ddc: 5160000d */ beqzl $t3,.L00011e14 +/* 11de0: 8d590034 */ lw $t9,0x34($t2) +/* 11de4: 8d4c0298 */ lw $t4,0x298($t2) +.L00011de8: +/* 11de8: 05800036 */ bltz $t4,.L00011ec4 +/* 11dec: 00000000 */ nop +/* 11df0: 8d4d02a0 */ lw $t5,0x2a0($t2) +/* 11df4: 8dae00d8 */ lw $t6,0xd8($t5) +/* 11df8: 51c00006 */ beqzl $t6,.L00011e14 +/* 11dfc: 8d590034 */ lw $t9,0x34($t2) +/* 11e00: 8d4f02a4 */ lw $t7,0x2a4($t2) +/* 11e04: 8df800d8 */ lw $t8,0xd8($t7) +/* 11e08: 1700002e */ bnez $t8,.L00011ec4 +/* 11e0c: 00000000 */ nop +/* 11e10: 8d590034 */ lw $t9,0x34($t2) +.L00011e14: +/* 11e14: 248440fc */ addiu $a0,$a0,%lo(var800840fc) +/* 11e18: ac800000 */ sw $zero,0x0($a0) +/* 11e1c: 00595823 */ subu $t3,$v0,$t9 +/* 11e20: 1d600023 */ bgtz $t3,.L00011eb0 +/* 11e24: ac6b0000 */ sw $t3,0x0($v1) +/* 11e28: 0fc5b76c */ jal func0f16ddb0 +/* 11e2c: 00000000 */ nop +/* 11e30: 3c0d8008 */ lui $t5,%hi(var80087264) +/* 11e34: 8dad7264 */ lw $t5,%lo(var80087264)($t5) +/* 11e38: 3c0e800a */ lui $t6,%hi(g_Vars+0x318) +/* 11e3c: 11a0001c */ beqz $t5,.L00011eb0 +/* 11e40: 00000000 */ nop +/* 11e44: 8dcea2d8 */ lw $t6,%lo(g_Vars+0x318)($t6) +/* 11e48: 3c058008 */ lui $a1,%hi(var800840f4) +/* 11e4c: 24a540f4 */ addiu $a1,$a1,%lo(var800840f4) +/* 11e50: 11c00017 */ beqz $t6,.L00011eb0 +/* 11e54: 3c0f8008 */ lui $t7,%hi(var800840f8) +/* 11e58: 8def40f8 */ lw $t7,%lo(var800840f8)($t7) +/* 11e5c: 8cb80000 */ lw $t8,0x0($a1) +/* 11e60: 24040003 */ addiu $a0,$zero,0x3 +/* 11e64: 01f8082a */ slt $at,$t7,$t8 +/* 11e68: 10200011 */ beqz $at,.L00011eb0 +/* 11e6c: 00000000 */ nop +/* 11e70: 0fc5b490 */ jal musicEnd +/* 11e74: aca00000 */ sw $zero,0x0($a1) +/* 11e78: 0fc5b490 */ jal musicEnd +/* 11e7c: 24040004 */ addiu $a0,$zero,0x4 +/* 11e80: 0fc5b490 */ jal musicEnd +/* 11e84: 24040001 */ addiu $a0,$zero,0x1 +/* 11e88: 3c04800b */ lui $a0,%hi(g_MusicStageNum) +/* 11e8c: 0fc5db10 */ jal stageGetPrimaryTrack +/* 11e90: 8c84a5d0 */ lw $a0,%lo(g_MusicStageNum)($a0) +/* 11e94: 0fc5b3e8 */ jal musicGetVolume +/* 11e98: afa20018 */ sw $v0,0x18($sp) +/* 11e9c: 24040001 */ addiu $a0,$zero,0x1 +/* 11ea0: 8fa50018 */ lw $a1,0x18($sp) +/* 11ea4: 24060000 */ addiu $a2,$zero,0x0 +/* 11ea8: 0fc5b46f */ jal musicStart +/* 11eac: 3047ffff */ andi $a3,$v0,0xffff +.L00011eb0: +/* 11eb0: 3c0a800a */ lui $t2,%hi(g_Vars) +/* 11eb4: 3c028008 */ lui $v0,%hi(var80087264) +/* 11eb8: 8c427264 */ lw $v0,%lo(var80087264)($v0) +/* 11ebc: 1000001d */ b .L00011f34 +/* 11ec0: 254a9fc0 */ addiu $t2,$t2,%lo(g_Vars) +.L00011ec4: +/* 11ec4: 3c028008 */ lui $v0,%hi(var80087264) +/* 11ec8: 8c427264 */ lw $v0,%lo(var80087264)($v0) +/* 11ecc: 3c0a800a */ lui $t2,%hi(g_Vars) +/* 11ed0: 254a9fc0 */ addiu $t2,$t2,%lo(g_Vars) +/* 11ed4: 10400017 */ beqz $v0,.L00011f34 +/* 11ed8: 00000000 */ nop +/* 11edc: 8d590318 */ lw $t9,0x318($t2) +/* 11ee0: 3c0b8008 */ lui $t3,%hi(var800840f8) +/* 11ee4: 3c0c8008 */ lui $t4,%hi(var800840f4) +/* 11ee8: 13200012 */ beqz $t9,.L00011f34 +/* 11eec: 00000000 */ nop +/* 11ef0: 8d6b40f8 */ lw $t3,%lo(var800840f8)($t3) +/* 11ef4: 8d8c40f4 */ lw $t4,%lo(var800840f4)($t4) +/* 11ef8: 24040001 */ addiu $a0,$zero,0x1 +/* 11efc: 3c054000 */ lui $a1,0x4000 +/* 11f00: 016c082a */ slt $at,$t3,$t4 +/* 11f04: 1020000b */ beqz $at,.L00011f34 +/* 11f08: 24060001 */ addiu $a2,$zero,0x1 +/* 11f0c: 3c018008 */ lui $at,%hi(var800840f4) +/* 11f10: 0fc5b4ab */ jal func0f16d2ac +/* 11f14: ac2040f4 */ sw $zero,%lo(var800840f4)($at) +/* 11f18: 240d0078 */ addiu $t5,$zero,0x64 +/* 11f1c: 3c018008 */ lui $at,%hi(var800840fc) +/* 11f20: 3c028008 */ lui $v0,%hi(var80087264) +/* 11f24: 3c0a800a */ lui $t2,%hi(g_Vars) +/* 11f28: 254a9fc0 */ addiu $t2,$t2,%lo(g_Vars) +/* 11f2c: 8c427264 */ lw $v0,%lo(var80087264)($v0) +/* 11f30: ac2d40fc */ sw $t5,%lo(var800840fc)($at) +.L00011f34: +/* 11f34: 3c048008 */ lui $a0,%hi(var800840fc) +/* 11f38: 3c058008 */ lui $a1,%hi(var800840f4) +/* 11f3c: 24a540f4 */ addiu $a1,$a1,%lo(var800840f4) +/* 11f40: 1040001f */ beqz $v0,.L00011fc0 +/* 11f44: 248440fc */ addiu $a0,$a0,%lo(var800840fc) +/* 11f48: 8d4e0318 */ lw $t6,0x318($t2) +/* 11f4c: 11c0001c */ beqz $t6,.L00011fc0 +/* 11f50: 00000000 */ nop +/* 11f54: 8d420000 */ lw $v0,0x0($t2) +/* 11f58: 8caf0000 */ lw $t7,0x0($a1) +/* 11f5c: 8c830000 */ lw $v1,0x0($a0) +/* 11f60: 01e2c021 */ addu $t8,$t7,$v0 +/* 11f64: 18600016 */ blez $v1,.L00011fc0 +/* 11f68: acb80000 */ sw $t8,0x0($a1) +/* 11f6c: 0062c823 */ subu $t9,$v1,$v0 +/* 11f70: 1f200013 */ bgtz $t9,.L00011fc0 +/* 11f74: ac990000 */ sw $t9,0x0($a0) +/* 11f78: 0fc5b490 */ jal musicEnd +/* 11f7c: 24040003 */ addiu $a0,$zero,0x3 +/* 11f80: 0fc5b490 */ jal musicEnd +/* 11f84: 24040004 */ addiu $a0,$zero,0x4 +/* 11f88: 0fc5b490 */ jal musicEnd +/* 11f8c: 24040001 */ addiu $a0,$zero,0x1 +/* 11f90: 3c04800b */ lui $a0,%hi(g_MusicStageNum) +/* 11f94: 0fc5db10 */ jal stageGetPrimaryTrack +/* 11f98: 8c84a5d0 */ lw $a0,%lo(g_MusicStageNum)($a0) +/* 11f9c: 0fc5b3e8 */ jal musicGetVolume +/* 11fa0: afa20018 */ sw $v0,0x18($sp) +/* 11fa4: 24040001 */ addiu $a0,$zero,0x1 +/* 11fa8: 8fa50018 */ lw $a1,0x18($sp) +/* 11fac: 24060000 */ addiu $a2,$zero,0x0 +/* 11fb0: 0fc5b46f */ jal musicStart +/* 11fb4: 3047ffff */ andi $a3,$v0,0xffff +/* 11fb8: 3c0a800a */ lui $t2,%hi(g_Vars) +/* 11fbc: 254a9fc0 */ addiu $t2,$t2,%lo(g_Vars) +.L00011fc0: +/* 11fc0: 3c06800b */ lui $a2,%hi(g_AudioXReasonsActive) +/* 11fc4: 3c04800b */ lui $a0,%hi(var800aaa78) +/* 11fc8: 3c09800b */ lui $t1,%hi(g_AudioXReasonDurations) +/* 11fcc: 2529aa88 */ addiu $t1,$t1,%lo(g_AudioXReasonDurations) +/* 11fd0: 2484aa78 */ addiu $a0,$a0,%lo(var800aaa78) +/* 11fd4: 24c6aa68 */ addiu $a2,$a2,%lo(g_AudioXReasonsActive) +/* 11fd8: 8d480034 */ lw $t0,0x34($t2) +/* 11fdc: 00003825 */ or $a3,$zero,$zero +.L00011fe0: +/* 11fe0: 8cc50000 */ lw $a1,0x0($a2) +/* 11fe4: 54a00005 */ bnezl $a1,.L00011ffc +/* 11fe8: 8c820000 */ lw $v0,0x0($a0) +/* 11fec: 8c8c0000 */ lw $t4,0x0($a0) +/* 11ff0: 5980001f */ blezl $t4,.L00012070 +/* 11ff4: 24840004 */ addiu $a0,$a0,0x0004 +/* 11ff8: 8c820000 */ lw $v0,0x0($a0) +.L00011ffc: +/* 11ffc: 3c0d800b */ lui $t5,%hi(g_AudioXReasonDurations) +/* 12000: 25adaa88 */ addiu $t5,$t5,%lo(g_AudioXReasonDurations) +/* 12004: 0048082a */ slt $at,$v0,$t0 +/* 12008: 14200004 */ bnez $at,.L0001201c +/* 1200c: 00ed1821 */ addu $v1,$a3,$t5 +/* 12010: 00487023 */ subu $t6,$v0,$t0 +/* 12014: 10000002 */ b .L00012020 +/* 12018: ac8e0000 */ sw $t6,0x0($a0) +.L0001201c: +/* 1201c: ac800000 */ sw $zero,0x0($a0) +.L00012020: +/* 12020: 8c620000 */ lw $v0,0x0($v1) +/* 12024: 10400011 */ beqz $v0,.L0001206c +/* 12028: 0048082a */ slt $at,$v0,$t0 +/* 1202c: 14200003 */ bnez $at,.L0001203c +/* 12030: 00487823 */ subu $t7,$v0,$t0 +/* 12034: 10000002 */ b .L00012040 +/* 12038: ac6f0000 */ sw $t7,0x0($v1) +.L0001203c: +/* 1203c: ac600000 */ sw $zero,0x0($v1) +.L00012040: +/* 12040: 8c780000 */ lw $t8,0x0($v1) +/* 12044: 53000009 */ beqzl $t8,.L0001206c +/* 12048: acc00000 */ sw $zero,0x0($a2) +/* 1204c: 14a00004 */ bnez $a1,.L00012060 +/* 12050: 240b0001 */ addiu $t3,$zero,0x1 +/* 12054: 8c990000 */ lw $t9,0x0($a0) +/* 12058: 53200005 */ beqzl $t9,.L00012070 +/* 1205c: 24840004 */ addiu $a0,$a0,0x0004 +.L00012060: +/* 12060: 10000002 */ b .L0001206c +/* 12064: afab0020 */ sw $t3,0x20($sp) +/* 12068: acc00000 */ sw $zero,0x0($a2) +.L0001206c: +/* 1206c: 24840004 */ addiu $a0,$a0,0x4 +.L00012070: +/* 12070: 24e70004 */ addiu $a3,$a3,0x4 +/* 12074: 1489ffda */ bne $a0,$t1,.L00011fe0 +/* 12078: 24c60004 */ addiu $a2,$a2,0x4 +/* 1207c: 11000016 */ beqz $t0,.L000120d8 +/* 12080: 3c0c8008 */ lui $t4,%hi(var800840d8) +/* 12084: 8d8c40d8 */ lw $t4,%lo(var800840d8)($t4) +/* 12088: 8fad0020 */ lw $t5,0x20($sp) +/* 1208c: 8fae0020 */ lw $t6,0x20($sp) +/* 12090: 11800008 */ beqz $t4,.L000120b4 +/* 12094: 00000000 */ nop +/* 12098: 15a0000f */ bnez $t5,.L000120d8 +/* 1209c: 00000000 */ nop +/* 120a0: 0fc5b6a9 */ jal func0f16daa4 +/* 120a4: 00000000 */ nop +/* 120a8: 3c08800a */ lui $t0,%hi(g_Vars+0x34) +/* 120ac: 1000000a */ b .L000120d8 +/* 120b0: 8d089ff4 */ lw $t0,%lo(g_Vars+0x34)($t0) +.L000120b4: +/* 120b4: 11c00008 */ beqz $t6,.L000120d8 +/* 120b8: 00000000 */ nop +/* 120bc: 8d4f04c8 */ lw $t7,0x4c8($t2) +/* 120c0: 15e00005 */ bnez $t7,.L000120d8 +/* 120c4: 00000000 */ nop +/* 120c8: 0fc5b68b */ jal func0f16da2c +/* 120cc: 00000000 */ nop +/* 120d0: 3c08800a */ lui $t0,%hi(g_Vars+0x34) +/* 120d4: 8d089ff4 */ lw $t0,%lo(g_Vars+0x34)($t0) +.L000120d8: +/* 120d8: 3c038006 */ lui $v1,%hi(var8005edf0) +/* 120dc: 2463edf0 */ addiu $v1,$v1,%lo(var8005edf0) +/* 120e0: 8c620000 */ lw $v0,0x0($v1) +/* 120e4: 0048082a */ slt $at,$v0,$t0 +/* 120e8: 10200008 */ beqz $at,.L0001210c +/* 120ec: 0048c823 */ subu $t9,$v0,$t0 +/* 120f0: 0fc5b84e */ jal func0f16e138 +/* 120f4: 00000000 */ nop +/* 120f8: 3c038006 */ lui $v1,%hi(var8005edf0) +/* 120fc: 2463edf0 */ addiu $v1,$v1,%lo(var8005edf0) +/* 12100: 2418003c */ addiu $t8,$zero,0x32 +/* 12104: 10000002 */ b .L00012110 +/* 12108: ac780000 */ sw $t8,0x0($v1) +.L0001210c: +/* 1210c: ac790000 */ sw $t9,0x0($v1) +.L00012110: +/* 12110: 0c004643 */ jal func0001190c +/* 12114: 00000000 */ nop +.L00012118: +/* 12118: 8fbf0014 */ lw $ra,0x14($sp) +/* 1211c: 27bd0028 */ addiu $sp,$sp,0x28 +/* 12120: 03e00008 */ jr $ra +/* 12124: 00000000 */ nop +/* 12128: 27bdffc8 */ addiu $sp,$sp,-56 +/* 1212c: afb30024 */ sw $s3,0x24($sp) +/* 12130: afb1001c */ sw $s1,0x1c($sp) +/* 12134: afb60030 */ sw $s6,0x30($sp) +/* 12138: afb5002c */ sw $s5,0x2c($sp) +/* 1213c: afb40028 */ sw $s4,0x28($sp) +/* 12140: afb20020 */ sw $s2,0x20($sp) +/* 12144: afb00018 */ sw $s0,0x18($sp) +/* 12148: 3c11800b */ lui $s1,%hi(var800aaa38) +/* 1214c: 3c138009 */ lui $s3,%hi(var80094ed8) +/* 12150: 00809025 */ or $s2,$a0,$zero +/* 12154: afbf0034 */ sw $ra,0x34($sp) +/* 12158: 26734ed8 */ addiu $s3,$s3,%lo(var80094ed8) +/* 1215c: 2631aa38 */ addiu $s1,$s1,%lo(var800aaa38) +/* 12160: 00008025 */ or $s0,$zero,$zero +/* 12164: 24140108 */ addiu $s4,$zero,0x108 +/* 12168: 24150001 */ addiu $s5,$zero,0x1 +/* 1216c: 24160003 */ addiu $s6,$zero,0x3 +.L00012170: +/* 12170: 8e2e0000 */ lw $t6,0x0($s1) +/* 12174: 564e000b */ bnel $s2,$t6,.L000121a4 +/* 12178: 26100001 */ addiu $s0,$s0,0x1 +/* 1217c: 02140019 */ multu $s0,$s4 +/* 12180: 00007812 */ mflo $t7 +/* 12184: 026fc021 */ addu $t8,$s3,$t7 +/* 12188: 0c00e344 */ jal func00038d10 +/* 1218c: 8f0400f8 */ lw $a0,0xf8($t8) +/* 12190: 54550004 */ bnel $v0,$s5,.L000121a4 +/* 12194: 26100001 */ addiu $s0,$s0,0x1 +/* 12198: 10000005 */ b .L000121b0 +/* 1219c: 24020001 */ addiu $v0,$zero,0x1 +/* 121a0: 26100001 */ addiu $s0,$s0,0x1 +.L000121a4: +/* 121a4: 1616fff2 */ bne $s0,$s6,.L00012170 +/* 121a8: 26310010 */ addiu $s1,$s1,0x10 +/* 121ac: 00001025 */ or $v0,$zero,$zero +.L000121b0: +/* 121b0: 8fbf0034 */ lw $ra,0x34($sp) +/* 121b4: 8fb00018 */ lw $s0,0x18($sp) +/* 121b8: 8fb1001c */ lw $s1,0x1c($sp) +/* 121bc: 8fb20020 */ lw $s2,0x20($sp) +/* 121c0: 8fb30024 */ lw $s3,0x24($sp) +/* 121c4: 8fb40028 */ lw $s4,0x28($sp) +/* 121c8: 8fb5002c */ lw $s5,0x2c($sp) +/* 121cc: 8fb60030 */ lw $s6,0x30($sp) +/* 121d0: 03e00008 */ jr $ra +/* 121d4: 27bd0038 */ addiu $sp,$sp,0x38 +); +#else GLOBAL_ASM( glabel func00011d84 /* 11d84: 3c0e8006 */ lui $t6,%hi(g_Silent) @@ -1040,6 +1359,5 @@ glabel func00011d84 /* 121cc: 8fb60030 */ lw $s6,0x30($sp) /* 121d0: 03e00008 */ jr $ra /* 121d4: 27bd0038 */ addiu $sp,$sp,0x38 -/* 121d8: 00000000 */ nop -/* 121dc: 00000000 */ nop ); +#endif diff --git a/src/lib/lib_16110.c b/src/lib/lib_16110.c index e298eef39..c3a829d2d 100644 --- a/src/lib/lib_16110.c +++ b/src/lib/lib_16110.c @@ -2729,6 +2729,7 @@ glabel func00018680 /* 189d8: 03a0b825 */ or $s7,$sp,$zero /* 189dc: 138002fa */ beqz $gp,.L000195c8 /* 189e0: 24420001 */ addiu $v0,$v0,0x1 +.L000189e4: /* 189e4: 3c098006 */ lui $t1,%hi(var8005ef40) /* 189e8: 2529ef40 */ addiu $t1,$t1,%lo(var8005ef40) /* 189ec: 97880000 */ lhu $t0,0x0($gp) @@ -2780,7 +2781,7 @@ glabel func00018680 .L00018aa0: /* 18aa0: 316bffff */ andi $t3,$t3,0xffff /* 18aa4: 318cffff */ andi $t4,$t4,0xffff -/* 18aa8: 080062b2 */ j 0x18ac8 +/* 18aa8: 080062b2 */ j .L00018ac8 /* 18aac: 950a0002 */ lhu $t2,0x2($t0) .L00018ab0: /* 18ab0: 000948c0 */ sll $t1,$t1,0x3 @@ -2789,6 +2790,7 @@ glabel func00018680 /* 18abc: 950a0002 */ lhu $t2,0x2($t0) /* 18ac0: 950b0004 */ lhu $t3,0x4($t0) /* 18ac4: 950c0006 */ lhu $t4,0x6($t0) +.L00018ac8: /* 18ac8: 8f900004 */ lw $s0,0x4($gp) /* 18acc: 90d10009 */ lbu $s1,0x9($a2) /* 18ad0: 12200015 */ beqz $s1,.L00018b28 @@ -2847,7 +2849,7 @@ glabel func00018680 /* 18b94: e7a307f4 */ swc1 $f3,0x7f4($sp) /* 18b98: 0c006844 */ jal func0001a110 /* 18b9c: 00000000 */ nop -/* 18ba0: 0800631b */ j 0x18c6c +/* 18ba0: 0800631b */ j .L00018c6c /* 18ba4: 00000000 */ nop .L00018ba8: /* 18ba8: 90ca0008 */ lbu $t2,0x8($a2) @@ -2894,7 +2896,7 @@ glabel func00018680 /* 18c3c: 46006bc6 */ mov.s $f15,$f13 /* 18c40: 46006c46 */ mov.s $f17,$f13 /* 18c44: 46006c86 */ mov.s $f18,$f13 -/* 18c48: 0800631b */ j 0x18c6c +/* 18c48: 0800631b */ j .L00018c6c /* 18c4c: 46006cc6 */ mov.s $f19,$f13 .L00018c50: /* 18c50: 000a8020 */ add $s0,$zero,$t2 @@ -2904,6 +2906,7 @@ glabel func00018680 /* 18c60: 00089820 */ add $s3,$zero,$t0 /* 18c64: 0c00682b */ jal func0001a0ac /* 18c68: 00134020 */ add $t0,$zero,$s3 +.L00018c6c: /* 18c6c: 33ca0002 */ andi $t2,$s8,0x2 /* 18c70: 11400024 */ beqz $t2,.L00018d04 /* 18c74: 00000000 */ nop @@ -2949,7 +2952,7 @@ glabel func00018680 /* 18d0c: 8f880004 */ lw $t0,0x4($gp) /* 18d10: c5150000 */ lwc1 $f21,0x0($t0) /* 18d14: c5160004 */ lwc1 $f22,0x4($t0) -/* 18d18: 0800634b */ j 0x18d2c +/* 18d18: 0800634b */ j .L00018d2c /* 18d1c: c5170008 */ lwc1 $f23,0x8($t0) .L00018d20: /* 18d20: 4480a800 */ mtc1 $zero,$f21 @@ -3054,7 +3057,7 @@ glabel func00018680 /* 18e9c: c7a007e8 */ lwc1 $f0,0x7e8($sp) /* 18ea0: c7a107ec */ lwc1 $f1,0x7ec($sp) /* 18ea4: c7a207f0 */ lwc1 $f2,0x7f0($sp) -/* 18ea8: 080063b3 */ j 0x18ecc +/* 18ea8: 080063b3 */ j .L00018ecc /* 18eac: c7a307f4 */ lwc1 $f3,0x7f4($sp) .L00018eb0: /* 18eb0: 00105020 */ add $t2,$zero,$s0 @@ -3064,6 +3067,7 @@ glabel func00018680 /* 18ec0: 00088020 */ add $s0,$zero,$t0 /* 18ec4: 0c0067cb */ jal func00019f2c /* 18ec8: 00104020 */ add $t0,$zero,$s0 +.L00018ecc: /* 18ecc: 3c013f00 */ lui $at,0x3f00 /* 18ed0: 44814000 */ mtc1 $at,$f8 /* 18ed4: 44802000 */ mtc1 $zero,$f4 @@ -3133,7 +3137,7 @@ glabel func00018680 /* 18fc4: 8ca9000c */ lw $t1,0xc($a1) /* 18fc8: 0c006870 */ jal func0001a1c0 /* 18fcc: 012a4820 */ add $t1,$t1,$t2 -/* 18fd0: 0800655d */ j 0x19574 +/* 18fd0: 0800655d */ j .L00019574 /* 18fd4: 00000000 */ nop .L00018fd8: /* 18fd8: 44806800 */ mtc1 $zero,$f13 @@ -3147,7 +3151,7 @@ glabel func00018680 /* 18ff8: 46006cc6 */ mov.s $f19,$f13 /* 18ffc: 000948c0 */ sll $t1,$t1,0x3 /* 19000: 02e94020 */ add $t0,$s7,$t1 -/* 19004: 0800631b */ j 0x18c6c +/* 19004: 0800631b */ j .L00018c6c /* 19008: 951e0000 */ lhu $s8,0x0($t0) .L0001900c: /* 1900c: 0000000c */ syscall @@ -3191,11 +3195,11 @@ glabel func00018680 /* 1909c: 8d290008 */ lw $t1,0x8($t1) /* 190a0: 24080001 */ addiu $t0,$zero,0x1 /* 190a4: ac480000 */ sw $t0,0x0($v0) -/* 190a8: 0800655d */ j 0x19574 +/* 190a8: 0800655d */ j .L00019574 /* 190ac: af890014 */ sw $t1,0x14($gp) .L000190b0: /* 190b0: ac400000 */ sw $zero,0x0($v0) -/* 190b4: 0800655d */ j 0x19574 +/* 190b4: 0800655d */ j .L00019574 /* 190b8: af800014 */ sw $zero,0x14($gp) /* 190bc: 10a000f8 */ beqz $a1,.L000194a0 /* 190c0: 8f880004 */ lw $t0,0x4($gp) @@ -3230,7 +3234,7 @@ glabel func00018680 .L00019130: /* 19130: 316bffff */ andi $t3,$t3,0xffff /* 19134: 318cffff */ andi $t4,$t4,0xffff -/* 19138: 08006456 */ j 0x19158 +/* 19138: 08006456 */ j .L00019158 /* 1913c: 950a0002 */ lhu $t2,0x2($t0) .L00019140: /* 19140: 000948c0 */ sll $t1,$t1,0x3 @@ -3239,6 +3243,7 @@ glabel func00018680 /* 1914c: 950a0002 */ lhu $t2,0x2($t0) /* 19150: 950b0004 */ lhu $t3,0x4($t0) /* 19154: 950c0006 */ lhu $t4,0x6($t0) +.L00019158: /* 19158: 8f900004 */ lw $s0,0x4($gp) /* 1915c: 90d10009 */ lbu $s1,0x9($a2) /* 19160: 12200015 */ beqz $s1,.L000191b8 @@ -3291,7 +3296,7 @@ glabel func00018680 /* 1920c: 8fa807e8 */ lw $t0,0x7e8($sp) /* 19210: 0c006844 */ jal func0001a110 /* 19214: 00000000 */ nop -/* 19218: 080064aa */ j 0x192a8 +/* 19218: 080064aa */ j .L000192a8 /* 1921c: 00000000 */ nop .L00019220: /* 19220: 90ca0008 */ lbu $t2,0x8($a2) @@ -3332,6 +3337,7 @@ glabel func00018680 .L000192a0: /* 192a0: 0c00682b */ jal func0001a0ac /* 192a4: 00000000 */ nop +.L000192a8: /* 192a8: 0c006747 */ jal func00019d1c /* 192ac: 44800000 */ mtc1 $zero,$f0 /* 192b0: 460066c6 */ mov.s $f27,$f12 @@ -3361,7 +3367,7 @@ glabel func00018680 /* 1930c: 4606603e */ c.le.s $f12,$f6 /* 19310: 4501000a */ bc1t .L0001933c /* 19314: 00000000 */ nop -/* 19318: 080064cf */ j 0x1933c +/* 19318: 080064cf */ j .L0001933c /* 1931c: 46066301 */ sub.s $f12,$f12,$f6 .L00019320: /* 19320: 46053141 */ sub.s $f5,$f6,$f5 @@ -3448,7 +3454,7 @@ glabel func00018680 /* 19458: 8ca9000c */ lw $t1,0xc($a1) /* 1945c: 0c006870 */ jal func0001a1c0 /* 19460: 012a4820 */ add $t1,$t1,$t2 -/* 19464: 0800655d */ j 0x19574 +/* 19464: 0800655d */ j .L00019574 /* 19468: 00000000 */ nop .L0001946c: /* 1946c: 44806800 */ mtc1 $zero,$f13 @@ -3462,7 +3468,7 @@ glabel func00018680 /* 1948c: 46006cc6 */ mov.s $f19,$f13 /* 19490: 000948c0 */ sll $t1,$t1,0x3 /* 19494: 02e94020 */ add $t0,$s7,$t1 -/* 19498: 080064aa */ j 0x192a8 +/* 19498: 080064aa */ j .L000192a8 /* 1949c: 951e0000 */ lhu $s8,0x0($t0) .L000194a0: /* 194a0: 0000000c */ syscall @@ -3480,16 +3486,17 @@ glabel func00018680 /* 194cc: 8d4a000c */ lw $t2,0xc($t2) /* 194d0: 1540fffd */ bnez $t2,.L000194c8 /* 194d4: 00000000 */ nop -/* 194d8: 0800655d */ j 0x19574 +/* 194d8: 0800655d */ j .L00019574 /* 194dc: 00000000 */ nop /* 194e0: 8f880008 */ lw $t0,0x8($gp) /* 194e4: 15000003 */ bnez $t0,.L000194f4 /* 194e8: 00000000 */ nop -/* 194ec: 0800653f */ j 0x194fc +/* 194ec: 0800653f */ j .L000194fc /* 194f0: 8c880000 */ lw $t0,0x0($a0) .L000194f4: /* 194f4: 0c006897 */ jal func0001a25c /* 194f8: 00000000 */ nop +.L000194fc: /* 194fc: 8f890004 */ lw $t1,0x4($gp) /* 19500: 44806800 */ mtc1 $zero,$f13 /* 19504: 4600fb06 */ mov.s $f12,$f31 @@ -3508,16 +3515,16 @@ glabel func00018680 /* 19538: 8ca9000c */ lw $t1,0xc($a1) /* 1953c: 0c006870 */ jal func0001a1c0 /* 19540: 012a4820 */ add $t1,$t1,$t2 -/* 19544: 0800655d */ j 0x19574 +/* 19544: 0800655d */ j .L00019574 /* 19548: 00000000 */ nop -/* 1954c: 0800655d */ j 0x19574 +/* 1954c: 0800655d */ j .L00019574 /* 19550: 00000000 */ nop /* 19554: 0c006747 */ jal func00019d1c /* 19558: 8f880004 */ lw $t0,0x4($gp) /* 1955c: 8c490000 */ lw $t1,0x0($v0) /* 19560: 11200003 */ beqz $t1,.L00019570 /* 19564: 8d090000 */ lw $t1,0x0($t0) -/* 19568: 0800655d */ j 0x19574 +/* 19568: 0800655d */ j .L00019574 /* 1956c: af890014 */ sw $t1,0x14($gp) .L00019570: /* 19570: af800014 */ sw $zero,0x14($gp) @@ -3525,13 +3532,13 @@ glabel func00018680 /* 19574: 8f880014 */ lw $t0,0x14($gp) /* 19578: 11000003 */ beqz $t0,.L00019588 /* 1957c: 00000000 */ nop -/* 19580: 08006279 */ j 0x189e4 +/* 19580: 08006279 */ j .L000189e4 /* 19584: 0008e020 */ add $gp,$zero,$t0 .L00019588: /* 19588: 8f88000c */ lw $t0,0xc($gp) /* 1958c: 11000003 */ beqz $t0,.L0001959c /* 19590: 00000000 */ nop -/* 19594: 08006279 */ j 0x189e4 +/* 19594: 08006279 */ j .L000189e4 /* 19598: 0008e020 */ add $gp,$zero,$t0 .L0001959c: /* 1959c: 8f9c0008 */ lw $gp,0x8($gp) @@ -3613,10 +3620,10 @@ glabel func00019634 /* 196b0: 241c0008 */ addiu $gp,$zero,0x8 /* 196b4: 25ce0001 */ addiu $t6,$t6,0x1 /* 196b8: 0382e022 */ sub $gp,$gp,$v0 -/* 196bc: 08006602 */ j 0x19808 +/* 196bc: 08006602 */ j .L00019808 /* 196c0: 214a000c */ addi $t2,$t2,0xc .L000196c4: -/* 196c4: 08006602 */ j 0x19808 +/* 196c4: 08006602 */ j .L00019808 /* 196c8: 214a000c */ addi $t2,$t2,0xc .L000196cc: /* 196cc: 0c0066f8 */ jal func00019be0 @@ -3706,7 +3713,7 @@ glabel func00019634 /* 1980c: 17000004 */ bnez $t8,.L00019820 /* 19810: 20100000 */ addi $s0,$zero,0x0 /* 19814: 20110000 */ addi $s1,$zero,0x0 -/* 19818: 0800662d */ j 0x198b4 +/* 19818: 0800662d */ j .L000198b4 /* 1981c: 20120000 */ addi $s2,$zero,0x0 .L00019820: /* 19820: 0c0066f8 */ jal func00019be0 @@ -3746,6 +3753,7 @@ glabel func00019634 /* 198a8: 00529004 */ sllv $s2,$s2,$v0 /* 198ac: 3252ffff */ andi $s2,$s2,0xffff /* 198b0: 214a0009 */ addi $t2,$t2,0x9 +.L000198b4: /* 198b4: a5100002 */ sh $s0,0x2($t0) /* 198b8: a5110004 */ sh $s1,0x4($t0) /* 198bc: a5120006 */ sh $s2,0x6($t0) @@ -3794,10 +3802,10 @@ glabel func000198dc /* 19954: 241c0008 */ addiu $gp,$zero,0x8 /* 19958: 25ce0001 */ addiu $t6,$t6,0x1 /* 1995c: 0382e022 */ sub $gp,$gp,$v0 -/* 19960: 0800666e */ j 0x199b8 +/* 19960: 0800666e */ j .L000199b8 /* 19964: 214a000c */ addi $t2,$t2,0xc .L00019968: -/* 19968: 0800666e */ j 0x199b8 +/* 19968: 0800666e */ j .L000199b8 /* 1996c: 214a000c */ addi $t2,$t2,0xc .L00019970: /* 19970: 91420002 */ lbu $v0,0x2($t2) @@ -3824,7 +3832,7 @@ glabel func000198dc /* 199bc: 17000004 */ bnez $t8,.L000199d0 /* 199c0: 20100000 */ addi $s0,$zero,0x0 /* 199c4: 20110000 */ addi $s1,$zero,0x0 -/* 199c8: 08006699 */ j 0x19a64 +/* 199c8: 08006699 */ j .L00019a64 /* 199cc: 20120000 */ addi $s2,$zero,0x0 .L000199d0: /* 199d0: 0c0066f8 */ jal func00019be0 @@ -3864,6 +3872,7 @@ glabel func000198dc /* 19a58: 00529004 */ sllv $s2,$s2,$v0 /* 19a5c: 3252ffff */ andi $s2,$s2,0xffff /* 19a60: 214a0009 */ addi $t2,$t2,0x9 +.L00019a64: /* 19a64: 44130000 */ mfc1 $s3,$f0 /* 19a68: 3c030001 */ lui $v1,0x1 /* 19a6c: 95140002 */ lhu $s4,0x2($t0) @@ -3885,7 +3894,7 @@ glabel func000198dc /* 19aa8: 1420000c */ bnez $at,.L00019adc /* 19aac: 00000000 */ nop /* 19ab0: 3c140001 */ lui $s4,0x1 -/* 19ab4: 080066b7 */ j 0x19adc +/* 19ab4: 080066b7 */ j .L00019adc /* 19ab8: 02148022 */ sub $s0,$s0,$s4 .L00019abc: /* 19abc: 0075a822 */ sub $s5,$v1,$s5 @@ -3915,7 +3924,7 @@ glabel func000198dc /* 19b14: 0221082a */ slt $at,$s1,$at /* 19b18: 1420000b */ bnez $at,.L00019b48 /* 19b1c: 00000000 */ nop -/* 19b20: 080066d2 */ j 0x19b48 +/* 19b20: 080066d2 */ j .L00019b48 /* 19b24: 02238822 */ sub $s1,$s1,$v1 .L00019b28: /* 19b28: 0075a822 */ sub $s5,$v1,$s5 @@ -3945,7 +3954,7 @@ glabel func000198dc /* 19b80: 0241082a */ slt $at,$s2,$at /* 19b84: 1420000c */ bnez $at,.L00019bb8 /* 19b88: 00000000 */ nop -/* 19b8c: 080066ee */ j 0x19bb8 +/* 19b8c: 080066ee */ j .L00019bb8 /* 19b90: 02439022 */ sub $s2,$s2,$v1 .L00019b94: /* 19b94: 0075a822 */ sub $s5,$v1,$s5 @@ -3974,6 +3983,7 @@ GLOBAL_ASM( glabel func00019be0 /* 19be0: 1060004c */ beqz $v1,.L00019d14 /* 19be4: 20020000 */ addi $v0,$zero,0x0 +.L00019be8: /* 19be8: 0383082a */ slt $at,$gp,$v1 /* 19bec: 10200041 */ beqz $at,.L00019cf4 /* 19bf0: 00000000 */ nop @@ -4008,13 +4018,13 @@ glabel func00019be0 /* 19c5c: 02c00008 */ jr $s6 /* 19c60: 91de0000 */ lbu $s8,0x0($t6) /* 19c64: 25ce0001 */ addiu $t6,$t6,0x1 -/* 19c68: 080066fa */ j 0x19be8 +/* 19c68: 080066fa */ j .L00019be8 /* 19c6c: 241c0008 */ addiu $gp,$zero,0x8 /* 19c70: 001ef200 */ sll $s8,$s8,0x8 /* 19c74: 91d60001 */ lbu $s6,0x1($t6) /* 19c78: 03d6f025 */ or $s8,$s8,$s6 /* 19c7c: 25ce0002 */ addiu $t6,$t6,0x2 -/* 19c80: 080066fa */ j 0x19be8 +/* 19c80: 080066fa */ j .L00019be8 /* 19c84: 241c0010 */ addiu $gp,$zero,0x10 /* 19c88: 001ef200 */ sll $s8,$s8,0x8 /* 19c8c: 91d60001 */ lbu $s6,0x1($t6) @@ -4023,7 +4033,7 @@ glabel func00019be0 /* 19c98: 91d60002 */ lbu $s6,0x2($t6) /* 19c9c: 03d6f025 */ or $s8,$s8,$s6 /* 19ca0: 25ce0003 */ addiu $t6,$t6,0x3 -/* 19ca4: 080066fa */ j 0x19be8 +/* 19ca4: 080066fa */ j .L00019be8 /* 19ca8: 241c0018 */ addiu $gp,$zero,0x18 /* 19cac: 31d60003 */ andi $s6,$t6,0x3 /* 19cb0: 12c0000c */ beqz $s6,.L00019ce4 @@ -4037,12 +4047,12 @@ glabel func00019be0 /* 19cd0: 91d60003 */ lbu $s6,0x3($t6) /* 19cd4: 03d6f025 */ or $s8,$s8,$s6 /* 19cd8: 25ce0004 */ addiu $t6,$t6,0x4 -/* 19cdc: 080066fa */ j 0x19be8 +/* 19cdc: 080066fa */ j .L00019be8 /* 19ce0: 241c0020 */ addiu $gp,$zero,0x20 .L00019ce4: /* 19ce4: 8dde0000 */ lw $s8,0x0($t6) /* 19ce8: 25ce0004 */ addiu $t6,$t6,0x4 -/* 19cec: 080066fa */ j 0x19be8 +/* 19cec: 080066fa */ j .L00019be8 /* 19cf0: 241c0020 */ addiu $gp,$zero,0x20 .L00019cf4: /* 19cf4: 10600007 */ beqz $v1,.L00019d14 @@ -4116,6 +4126,7 @@ glabel func00019d1c GLOBAL_ASM( glabel func00019ddc /* 19ddc: afbf07ac */ sw $ra,0x7ac($sp) +.L00019de0: /* 19de0: 46008142 */ mul.s $f5,$f16,$f0 /* 19de4: 44802000 */ mtc1 $zero,$f4 /* 19de8: 46018982 */ mul.s $f6,$f17,$f1 @@ -4131,7 +4142,7 @@ glabel func00019ddc /* 19e10: 46000007 */ neg.s $f0,$f0 /* 19e14: 46000847 */ neg.s $f1,$f1 /* 19e18: 46001087 */ neg.s $f2,$f2 -/* 19e1c: 08006778 */ j 0x19de0 +/* 19e1c: 08006778 */ j .L00019de0 /* 19e20: 460018c7 */ neg.s $f3,$f3 .L00019e24: /* 19e24: 3c017005 */ lui $at,%hi(var70054224) @@ -4180,6 +4191,7 @@ glabel func00019ddc /* 19ecc: 00000000 */ nop /* 19ed0: 46150783 */ div.s $f30,$f0,$f21 /* 19ed4: 4600a006 */ mov.s $f0,$f20 +.L00019ed8: /* 19ed8: 46102982 */ mul.s $f6,$f5,$f16 /* 19edc: 00000000 */ nop /* 19ee0: 4600f1c2 */ mul.s $f7,$f30,$f0 @@ -4200,7 +4212,7 @@ glabel func00019ddc /* 19f1c: 460940c0 */ add.s $f3,$f8,$f9 .L00019f20: /* 19f20: 4600f946 */ mov.s $f5,$f31 -/* 19f24: 080067b6 */ j 0x19ed8 +/* 19f24: 080067b6 */ j .L00019ed8 /* 19f28: 461e2941 */ sub.s $f5,$f5,$f30 ); diff --git a/src/lib/lib_233c0.c b/src/lib/lib_233c0.c index fdfb8ac08..07df9ae93 100644 --- a/src/lib/lib_233c0.c +++ b/src/lib/lib_233c0.c @@ -323,8 +323,8 @@ glabel func000237e8 /* 23820: 8fa20018 */ lw $v0,0x18($sp) .L00023824: /* 23824: 8fb9001c */ lw $t9,0x1c($sp) -/* 23828: 3c08001a */ lui $t0,0x1a -/* 2382c: 250815c0 */ addiu $t0,$t0,0x15c0 +/* 23828: 3c08001a */ lui $t0,%hi(_animationsSegmentRomStart) +/* 2382c: 250815c0 */ addiu $t0,$t0,%lo(_animationsSegmentRomStart) /* 23830: 00e02025 */ or $a0,$a3,$zero /* 23834: 0c003522 */ jal dmaExecWithAutoAlign /* 23838: 03282821 */ addu $a1,$t9,$t0 diff --git a/src/lib/lib_2fc60.c b/src/lib/lib_2fc60.c index 5906a0b92..873bbf909 100644 --- a/src/lib/lib_2fc60.c +++ b/src/lib/lib_2fc60.c @@ -11,7 +11,29 @@ const u32 var700546b0[] = {0x3f83f794}; const u32 var700546b4[] = {0x40c90fdb}; const u32 var700546b8[] = {0x40c90fdb}; const u32 var700546bc[] = {0x4622f985}; + +#if VERSION >= VERSION_PAL_FINAL +const u32 var70054370pf[] = {0x469c4000}; const u32 var700546c0[] = {0x49742400}; +const u32 var70054378pf[] = {0x469c4000}; +#else +const u32 var700546c0[] = {0x49742400}; +#endif + +#if VERSION >= VERSION_PAL_FINAL +const u32 var700546c4[] = {0x7002fdd0}; +const u32 var700546c8[] = {0x7002fdd0}; +const u32 var700546cc[] = {0x7002fdd0}; +const u32 var700546d0[] = {0x7002fdd0}; +const u32 var700546d4[] = {0x7002fe48}; +const u32 var700546d8[] = {0x7002fe68}; +const u32 var700546dc[] = {0x7002fe48}; +const u32 var700546e0[] = {0x7002fe68}; +const u32 var700546e4[] = {0x7002fea0}; +const u32 var700546e8[] = {0x7002fe48}; +const u32 var700546ec[] = {0x7002fe48}; +const u32 var700546f0[] = {0x7002fe68}; +#else const u32 var700546c4[] = {0x700304d0}; const u32 var700546c8[] = {0x700304d0}; const u32 var700546cc[] = {0x700304d0}; @@ -24,7 +46,24 @@ const u32 var700546e4[] = {0x700305a0}; const u32 var700546e8[] = {0x70030548}; const u32 var700546ec[] = {0x70030548}; const u32 var700546f0[] = {0x70030568}; +#endif + const u32 var700546f4[] = {0x48f42400}; + +#if VERSION >= VERSION_PAL_FINAL +const u32 var700546f8[] = {0x7003011c}; +const u32 var700546fc[] = {0x7003011c}; +const u32 var70054700[] = {0x7003011c}; +const u32 var70054704[] = {0x7003011c}; +const u32 var70054708[] = {0x7003015c}; +const u32 var7005470c[] = {0x7003015c}; +const u32 var70054710[] = {0x70030260}; +const u32 var70054714[] = {0x70030260}; +const u32 var70054718[] = {0x70030298}; +const u32 var7005471c[] = {0x70030298}; +const u32 var70054720[] = {0x700302c4}; +const u32 var70054724[] = {0x700302c4}; +#else const u32 var700546f8[] = {0x7003081c}; const u32 var700546fc[] = {0x7003081c}; const u32 var70054700[] = {0x7003081c}; @@ -37,8 +76,7 @@ const u32 var70054718[] = {0x70030998}; const u32 var7005471c[] = {0x70030998}; const u32 var70054720[] = {0x700309c4}; const u32 var70054724[] = {0x700309c4}; -const u32 var70054728[] = {0x00000000}; -const u32 var7005472c[] = {0x00000000}; +#endif GLOBAL_ASM( glabel func0002fc60 @@ -211,6 +249,183 @@ glabel func0002fcdc /* 2feb8: 00000000 */ nop ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0002febc +/* 2febc: 27bdffd0 */ addiu $sp,$sp,-48 +/* 2fec0: afbf001c */ sw $ra,0x1c($sp) +/* 2fec4: afa40030 */ sw $a0,0x30($sp) +/* 2fec8: afa50034 */ sw $a1,0x34($sp) +/* 2fecc: afb00018 */ sw $s0,0x18($sp) +/* 2fed0: 8fae0030 */ lw $t6,0x30($sp) +/* 2fed4: afae0028 */ sw $t6,0x28($sp) +/* 2fed8: 240f3e80 */ addiu $t7,$zero,0x4e20 +/* 2fedc: afaf0024 */ sw $t7,0x24($sp) +/* 2fee0: 8fb80028 */ lw $t8,0x28($sp) +/* 2fee4: 24010001 */ addiu $at,$zero,0x1 +/* 2fee8: 93190004 */ lbu $t9,0x4($t8) +/* 2feec: 13210009 */ beq $t9,$at,.L0002ff14 +/* 2fef0: 00000000 */ nop +/* 2fef4: 24010080 */ addiu $at,$zero,0x80 +/* 2fef8: 13210006 */ beq $t9,$at,.L0002ff14 +/* 2fefc: 00000000 */ nop +/* 2ff00: 8fa40030 */ lw $a0,0x30($sp) +/* 2ff04: 0c00c1a4 */ jal func00030690 +/* 2ff08: 8fa50034 */ lw $a1,0x34($sp) +/* 2ff0c: 10000084 */ b .L00030120 +/* 2ff10: 00000000 */ nop +.L0002ff14: +/* 2ff14: 8fa80028 */ lw $t0,0x28($sp) +/* 2ff18: 24010001 */ addiu $at,$zero,0x1 +/* 2ff1c: 91100004 */ lbu $s0,0x4($t0) +/* 2ff20: 12010006 */ beq $s0,$at,.L0002ff3c +/* 2ff24: 00000000 */ nop +/* 2ff28: 24010080 */ addiu $at,$zero,0x80 +/* 2ff2c: 12010044 */ beq $s0,$at,.L00030040 +/* 2ff30: 00000000 */ nop +/* 2ff34: 10000074 */ b .L00030108 +/* 2ff38: 00000000 */ nop +.L0002ff3c: +/* 2ff3c: 8fa90028 */ lw $t1,0x28($sp) +/* 2ff40: 952a0024 */ lhu $t2,0x24($t1) +/* 2ff44: 254b0001 */ addiu $t3,$t2,0x1 +/* 2ff48: a52b0024 */ sh $t3,0x24($t1) +/* 2ff4c: 8fac0028 */ lw $t4,0x28($sp) +/* 2ff50: 958d0024 */ lhu $t5,0x24($t4) +/* 2ff54: 958e0022 */ lhu $t6,0x22($t4) +/* 2ff58: 01ae082a */ slt $at,$t5,$t6 +/* 2ff5c: 14200003 */ bnez $at,.L0002ff6c +/* 2ff60: 00000000 */ nop +/* 2ff64: 8faf0028 */ lw $t7,0x28($sp) +/* 2ff68: a5e00024 */ sh $zero,0x24($t7) +.L0002ff6c: +/* 2ff6c: 8fb80028 */ lw $t8,0x28($sp) +/* 2ff70: 97190024 */ lhu $t9,0x24($t8) +/* 2ff74: 44992000 */ mtc1 $t9,$f4 +/* 2ff78: 07210005 */ bgez $t9,.L0002ff90 +/* 2ff7c: 468021a0 */ cvt.s.w $f6,$f4 +/* 2ff80: 3c014f80 */ lui $at,0x4f80 +/* 2ff84: 44814000 */ mtc1 $at,$f8 +/* 2ff88: 00000000 */ nop +/* 2ff8c: 46083180 */ add.s $f6,$f6,$f8 +.L0002ff90: +/* 2ff90: 97080022 */ lhu $t0,0x22($t8) +/* 2ff94: 44885000 */ mtc1 $t0,$f10 +/* 2ff98: 05010005 */ bgez $t0,.L0002ffb0 +/* 2ff9c: 46805420 */ cvt.s.w $f16,$f10 +/* 2ffa0: 3c014f80 */ lui $at,0x4f80 +/* 2ffa4: 44819000 */ mtc1 $at,$f18 +/* 2ffa8: 00000000 */ nop +/* 2ffac: 46128400 */ add.s $f16,$f16,$f18 +.L0002ffb0: +/* 2ffb0: 46103103 */ div.s $f4,$f6,$f16 +/* 2ffb4: e7a4002c */ swc1 $f4,0x2c($sp) +/* 2ffb8: 3c017005 */ lui $at,%hi(var700546b4) +/* 2ffbc: c42a46b4 */ lwc1 $f10,%lo(var700546b4)($at) +/* 2ffc0: c7a8002c */ lwc1 $f8,0x2c($sp) +/* 2ffc4: 460a4302 */ mul.s $f12,$f8,$f10 +/* 2ffc8: 0c0068f7 */ jal sinf +/* 2ffcc: 00000000 */ nop +/* 2ffd0: e7a0002c */ swc1 $f0,0x2c($sp) +/* 2ffd4: 8faa0028 */ lw $t2,0x28($sp) +/* 2ffd8: 914b0028 */ lbu $t3,0x28($t2) +/* 2ffdc: 448b9000 */ mtc1 $t3,$f18 +/* 2ffe0: 05610005 */ bgez $t3,.L0002fff8 +/* 2ffe4: 468091a0 */ cvt.s.w $f6,$f18 +/* 2ffe8: 3c014f80 */ lui $at,0x4f80 +/* 2ffec: 44818000 */ mtc1 $at,$f16 +/* 2fff0: 00000000 */ nop +/* 2fff4: 46103180 */ add.s $f6,$f6,$f16 +.L0002fff8: +/* 2fff8: c7a4002c */ lwc1 $f4,0x2c($sp) +/* 2fffc: 46043202 */ mul.s $f8,$f6,$f4 +/* 30000: e7a8002c */ swc1 $f8,0x2c($sp) +/* 30004: 8fa90028 */ lw $t1,0x28($sp) +/* 30008: 912c0029 */ lbu $t4,0x29($t1) +/* 3000c: 448c5000 */ mtc1 $t4,$f10 +/* 30010: 05810005 */ bgez $t4,.L00030028 +/* 30014: 468054a0 */ cvt.s.w $f18,$f10 +/* 30018: 3c014f80 */ lui $at,0x4f80 +/* 3001c: 44818000 */ mtc1 $at,$f16 +/* 30020: 00000000 */ nop +/* 30024: 46109480 */ add.s $f18,$f18,$f16 +.L00030028: +/* 30028: c7a6002c */ lwc1 $f6,0x2c($sp) +/* 3002c: 8fad0034 */ lw $t5,0x34($sp) +/* 30030: 46069100 */ add.s $f4,$f18,$f6 +/* 30034: e5a40000 */ swc1 $f4,0x0($t5) +/* 30038: 10000035 */ b .L00030110 +/* 3003c: 00000000 */ nop +.L00030040: +/* 30040: 8fae0028 */ lw $t6,0x28($sp) +/* 30044: 95cf0024 */ lhu $t7,0x24($t6) +/* 30048: 25f90001 */ addiu $t9,$t7,0x1 +/* 3004c: a5d90024 */ sh $t9,0x24($t6) +/* 30050: 8fb80028 */ lw $t8,0x28($sp) +/* 30054: 97080024 */ lhu $t0,0x24($t8) +/* 30058: 970a0022 */ lhu $t2,0x22($t8) +/* 3005c: 010a082a */ slt $at,$t0,$t2 +/* 30060: 14200003 */ bnez $at,.L00030070 +/* 30064: 00000000 */ nop +/* 30068: 8fab0028 */ lw $t3,0x28($sp) +/* 3006c: a5600024 */ sh $zero,0x24($t3) +.L00030070: +/* 30070: 8fa90028 */ lw $t1,0x28($sp) +/* 30074: 952c0024 */ lhu $t4,0x24($t1) +/* 30078: 448c4000 */ mtc1 $t4,$f8 +/* 3007c: 05810005 */ bgez $t4,.L00030094 +/* 30080: 468042a0 */ cvt.s.w $f10,$f8 +/* 30084: 3c014f80 */ lui $at,0x4f80 +/* 30088: 44818000 */ mtc1 $at,$f16 +/* 3008c: 00000000 */ nop +/* 30090: 46105280 */ add.s $f10,$f10,$f16 +.L00030094: +/* 30094: 952d0022 */ lhu $t5,0x22($t1) +/* 30098: 448d9000 */ mtc1 $t5,$f18 +/* 3009c: 05a10005 */ bgez $t5,.L000300b4 +/* 300a0: 468091a0 */ cvt.s.w $f6,$f18 +/* 300a4: 3c014f80 */ lui $at,0x4f80 +/* 300a8: 44812000 */ mtc1 $at,$f4 +/* 300ac: 00000000 */ nop +/* 300b0: 46043180 */ add.s $f6,$f6,$f4 +.L000300b4: +/* 300b4: 46065203 */ div.s $f8,$f10,$f6 +/* 300b8: e7a8002c */ swc1 $f8,0x2c($sp) +/* 300bc: 3c017005 */ lui $at,%hi(var700546b8) +/* 300c0: c43246b8 */ lwc1 $f18,%lo(var700546b8)($at) +/* 300c4: c7b0002c */ lwc1 $f16,0x2c($sp) +/* 300c8: 46128302 */ mul.s $f12,$f16,$f18 +/* 300cc: 0c0068f7 */ jal sinf +/* 300d0: 00000000 */ nop +/* 300d4: 8faf0028 */ lw $t7,0x28($sp) +/* 300d8: c5e40028 */ lwc1 $f4,0x28($t7) +/* 300dc: 46040282 */ mul.s $f10,$f0,$f4 +/* 300e0: e7aa002c */ swc1 $f10,0x2c($sp) +/* 300e4: c7a6002c */ lwc1 $f6,0x2c($sp) +/* 300e8: 4600320d */ trunc.w.s $f8,$f6 +/* 300ec: 44044000 */ mfc1 $a0,$f8 +/* 300f0: 0c00e7f8 */ jal func00039fe0 +/* 300f4: 00000000 */ nop +/* 300f8: 8fae0034 */ lw $t6,0x34($sp) +/* 300fc: e5c00000 */ swc1 $f0,0x0($t6) +/* 30100: 10000003 */ b .L00030110 +/* 30104: 00000000 */ nop +.L00030108: +/* 30108: 10000001 */ b .L00030110 +/* 3010c: 00000000 */ nop +.L00030110: +/* 30110: 10000003 */ b .L00030120 +/* 30114: 8fa20024 */ lw $v0,0x24($sp) +/* 30118: 10000001 */ b .L00030120 +/* 3011c: 00000000 */ nop +.L00030120: +/* 30120: 8fbf001c */ lw $ra,0x1c($sp) +/* 30124: 8fb00018 */ lw $s0,0x18($sp) +/* 30128: 27bd0030 */ addiu $sp,$sp,0x30 +/* 3012c: 03e00008 */ jr $ra +/* 30130: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0002febc /* 2febc: 27bdffd0 */ addiu $sp,$sp,-48 @@ -386,6 +601,7 @@ glabel func0002febc /* 3012c: 03e00008 */ jr $ra /* 30130: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func00030134 diff --git a/src/lib/lib_317f0.c b/src/lib/lib_317f0.c index 07ecd3842..007d6be56 100644 --- a/src/lib/lib_317f0.c +++ b/src/lib/lib_317f0.c @@ -20,6 +20,24 @@ #include "data.h" #include "types.h" +#if VERSION >= VERSION_PAL_FINAL +const u32 var70054740[] = {0x700315e0}; +const u32 var70054744[] = {0x70031eac}; +const u32 var70054748[] = {0x70032910}; +const u32 var7005474c[] = {0x70032030}; +const u32 var70054750[] = {0x70032910}; +const u32 var70054754[] = {0x70032910}; +const u32 var70054758[] = {0x70032910}; +const u32 var7005475c[] = {0x7003233c}; +const u32 var70054760[] = {0x70032910}; +const u32 var70054764[] = {0x70032910}; +const u32 var70054768[] = {0x70032910}; +const u32 var7005476c[] = {0x70032910}; +const u32 var70054770[] = {0x70032910}; +const u32 var70054774[] = {0x70032910}; +const u32 var70054778[] = {0x70032910}; +const u32 var7005477c[] = {0x700320d4}; +#else const u32 var70054740[] = {0x70031ce0}; const u32 var70054744[] = {0x700325ac}; const u32 var70054748[] = {0x70033010}; @@ -36,7 +54,176 @@ const u32 var70054770[] = {0x70033010}; const u32 var70054774[] = {0x70033010}; const u32 var70054778[] = {0x70033010}; const u32 var7005477c[] = {0x700327d4}; +#endif +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func000317f0 +/* 317f0: 27bdffc0 */ addiu $sp,$sp,-64 +/* 317f4: afbf001c */ sw $ra,0x1c($sp) +/* 317f8: afa40040 */ sw $a0,0x40($sp) +/* 317fc: 8fae0040 */ lw $t6,0x40($sp) +/* 31800: 3c188006 */ lui $t8,%hi(var8005f12c) +/* 31804: 8f18f12c */ lw $t8,%lo(var8005f12c)($t8) +/* 31808: 8dcf0008 */ lw $t7,0x8($t6) +/* 3180c: af0f0044 */ sw $t7,0x44($t8) +/* 31810: 3c198006 */ lui $t9,%hi(var8005f12c) +/* 31814: 8f39f12c */ lw $t9,%lo(var8005f12c)($t9) +/* 31818: af20003c */ sw $zero,0x3c($t9) +/* 3181c: 3c098006 */ lui $t1,%hi(var8005f12c) +/* 31820: 8d29f12c */ lw $t1,%lo(var8005f12c)($t1) +/* 31824: 24083e80 */ addiu $t0,$zero,0x4e20 +/* 31828: ad280048 */ sw $t0,0x48($t1) +/* 3182c: 8faa0040 */ lw $t2,0x40($sp) +/* 31830: 00002025 */ or $a0,$zero,$zero +/* 31834: 00002825 */ or $a1,$zero,$zero +/* 31838: 8d4b0000 */ lw $t3,0x0($t2) +/* 3183c: 8d46000c */ lw $a2,0xc($t2) +/* 31840: 24070001 */ addiu $a3,$zero,0x1 +/* 31844: 000b6080 */ sll $t4,$t3,0x2 +/* 31848: 018b6021 */ addu $t4,$t4,$t3 +/* 3184c: 000c6080 */ sll $t4,$t4,0x2 +/* 31850: 018b6023 */ subu $t4,$t4,$t3 +/* 31854: 000c6080 */ sll $t4,$t4,0x2 +/* 31858: 0c00bec5 */ jal func0002fb14 +/* 3185c: afac0010 */ sw $t4,0x10($sp) +/* 31860: afa20038 */ sw $v0,0x38($sp) +/* 31864: 3c0e8006 */ lui $t6,%hi(var8005f12c) +/* 31868: 8dcef12c */ lw $t6,%lo(var8005f12c)($t6) +/* 3186c: 8fad0038 */ lw $t5,0x38($sp) +/* 31870: adcd0040 */ sw $t5,0x40($t6) +/* 31874: 8faf0040 */ lw $t7,0x40($sp) +/* 31878: 00002025 */ or $a0,$zero,$zero +/* 3187c: 00002825 */ or $a1,$zero,$zero +/* 31880: 8df80004 */ lw $t8,0x4($t7) +/* 31884: 8de6000c */ lw $a2,0xc($t7) +/* 31888: 24070001 */ addiu $a3,$zero,0x1 +/* 3188c: 0018c8c0 */ sll $t9,$t8,0x3 +/* 31890: 0338c823 */ subu $t9,$t9,$t8 +/* 31894: 0019c880 */ sll $t9,$t9,0x2 +/* 31898: 0c00bec5 */ jal func0002fb14 +/* 3189c: afb90010 */ sw $t9,0x10($sp) +/* 318a0: afa20038 */ sw $v0,0x38($sp) +/* 318a4: 3c048006 */ lui $a0,%hi(var8005f12c) +/* 318a8: 8c84f12c */ lw $a0,%lo(var8005f12c)($a0) +/* 318ac: 8fa80040 */ lw $t0,0x40($sp) +/* 318b0: 8fa50038 */ lw $a1,0x38($sp) +/* 318b4: 24840014 */ addiu $a0,$a0,20 +/* 318b8: 0c00f134 */ jal func0003c4d0 +/* 318bc: 8d060004 */ lw $a2,0x4($t0) +/* 318c0: 3c098006 */ lui $t1,%hi(var8005f12c) +/* 318c4: 8d29f12c */ lw $t1,%lo(var8005f12c)($t1) +/* 318c8: 3c018006 */ lui $at,%hi(var8005f128) +/* 318cc: 8d2a0040 */ lw $t2,0x40($t1) +/* 318d0: ac2af128 */ sw $t2,%lo(var8005f128)($at) +/* 318d4: 8fac0040 */ lw $t4,0x40($sp) +/* 318d8: 240b0001 */ addiu $t3,$zero,0x1 +/* 318dc: afab003c */ sw $t3,0x3c($sp) +/* 318e0: 8d8d0000 */ lw $t5,0x0($t4) +/* 318e4: 2da10002 */ sltiu $at,$t5,0x2 +/* 318e8: 14200018 */ bnez $at,.L0003194c +/* 318ec: 00000000 */ nop +.L000318f0: +/* 318f0: 3c0e8006 */ lui $t6,%hi(var8005f12c) +/* 318f4: 8dcef12c */ lw $t6,%lo(var8005f12c)($t6) +/* 318f8: 8dcf0040 */ lw $t7,0x40($t6) +/* 318fc: afaf0024 */ sw $t7,0x24($sp) +/* 31900: 8fb8003c */ lw $t8,0x3c($sp) +/* 31904: 8fa80024 */ lw $t0,0x24($sp) +/* 31908: 0018c880 */ sll $t9,$t8,0x2 +/* 3190c: 0338c821 */ addu $t9,$t9,$t8 +/* 31910: 0019c880 */ sll $t9,$t9,0x2 +/* 31914: 0338c823 */ subu $t9,$t9,$t8 +/* 31918: 0019c880 */ sll $t9,$t9,0x2 +/* 3191c: 03284821 */ addu $t1,$t9,$t0 +/* 31920: 01202025 */ or $a0,$t1,$zero +/* 31924: 0c00c5dc */ jal alLink +/* 31928: 2525ffb4 */ addiu $a1,$t1,-76 +/* 3192c: 8faa003c */ lw $t2,0x3c($sp) +/* 31930: 8fac0040 */ lw $t4,0x40($sp) +/* 31934: 254b0001 */ addiu $t3,$t2,0x1 +/* 31938: afab003c */ sw $t3,0x3c($sp) +/* 3193c: 8d8d0000 */ lw $t5,0x0($t4) +/* 31940: 016d082b */ sltu $at,$t3,$t5 +/* 31944: 1420ffea */ bnez $at,.L000318f0 +/* 31948: 00000000 */ nop +.L0003194c: +/* 3194c: 0c00ccde */ jal func00033378 +/* 31950: 00002025 */ or $a0,$zero,$zero +/* 31954: 0c00cd8d */ jal func00033634 +/* 31958: 00002025 */ or $a0,$zero,$zero +/* 3195c: 8fae0040 */ lw $t6,0x40($sp) +/* 31960: 00002025 */ or $a0,$zero,$zero +/* 31964: 00002825 */ or $a1,$zero,$zero +/* 31968: 95cf0010 */ lhu $t7,0x10($t6) +/* 3196c: 8dc6000c */ lw $a2,0xc($t6) +/* 31970: 24070002 */ addiu $a3,$zero,0x2 +/* 31974: 0c00bec5 */ jal func0002fb14 +/* 31978: afaf0010 */ sw $t7,0x10($sp) +/* 3197c: 3c01800a */ lui $at,%hi(var8009c334) +/* 31980: ac22c334 */ sw $v0,%lo(var8009c334)($at) +/* 31984: 8fb80040 */ lw $t8,0x40($sp) +/* 31988: afa0003c */ sw $zero,0x3c($sp) +/* 3198c: 97190010 */ lhu $t9,0x10($t8) +/* 31990: 13200010 */ beqz $t9,.L000319d4 +/* 31994: 00000000 */ nop +.L00031998: +/* 31998: 8faa003c */ lw $t2,0x3c($sp) +/* 3199c: 3c09800a */ lui $t1,%hi(var8009c334) +/* 319a0: 8d29c334 */ lw $t1,%lo(var8009c334)($t1) +/* 319a4: 000a6040 */ sll $t4,$t2,0x1 +/* 319a8: 24087fff */ addiu $t0,$zero,0x7fff +/* 319ac: 012c5821 */ addu $t3,$t1,$t4 +/* 319b0: a5680000 */ sh $t0,0x0($t3) +/* 319b4: 8fad003c */ lw $t5,0x3c($sp) +/* 319b8: 8faf0040 */ lw $t7,0x40($sp) +/* 319bc: 25ae0001 */ addiu $t6,$t5,0x1 +/* 319c0: afae003c */ sw $t6,0x3c($sp) +/* 319c4: 95f80010 */ lhu $t8,0x10($t7) +/* 319c8: 01d8082b */ sltu $at,$t6,$t8 +/* 319cc: 1420fff2 */ bnez $at,.L00031998 +/* 319d0: 00000000 */ nop +.L000319d4: +/* 319d4: 3c198006 */ lui $t9,%hi(var8005f12c) +/* 319d8: 8f39f12c */ lw $t9,%lo(var8005f12c)($t9) +/* 319dc: af200000 */ sw $zero,0x0($t9) +/* 319e0: 3c098006 */ lui $t1,%hi(var8005f12c) +/* 319e4: 8d29f12c */ lw $t1,%lo(var8005f12c)($t1) +/* 319e8: 3c0a7003 */ lui $t2,%hi(func00031a68) +/* 319ec: 254a1a68 */ addiu $t2,$t2,%lo(func00031a68) +/* 319f0: ad2a0008 */ sw $t2,0x8($t1) +/* 319f4: 3c0c8006 */ lui $t4,%hi(var8005f12c) +/* 319f8: 8d8cf12c */ lw $t4,%lo(var8005f12c)($t4) +/* 319fc: ad8c0004 */ sw $t4,0x4($t4) +/* 31a00: 3c048006 */ lui $a0,%hi(var8005f12c) +/* 31a04: 0c00f240 */ jal func0003c900 +/* 31a08: 8c84f12c */ lw $a0,%lo(var8005f12c)($a0) +/* 31a0c: 24080020 */ addiu $t0,$zero,0x20 +/* 31a10: a7a80028 */ sh $t0,0x28($sp) +/* 31a14: 3c0b8006 */ lui $t3,%hi(var8005f12c) +/* 31a18: 8d6bf12c */ lw $t3,%lo(var8005f12c)($t3) +/* 31a1c: 27a50028 */ addiu $a1,$sp,0x28 +/* 31a20: 24070001 */ addiu $a3,$zero,0x1 +/* 31a24: 25640014 */ addiu $a0,$t3,0x14 +/* 31a28: 0c00f184 */ jal alEvtqPostEvent +/* 31a2c: 8d660048 */ lw $a2,0x48($t3) +/* 31a30: 3c0d8006 */ lui $t5,%hi(var8005f12c) +/* 31a34: 8dadf12c */ lw $t5,%lo(var8005f12c)($t5) +/* 31a38: 25a40014 */ addiu $a0,$t5,0x14 +/* 31a3c: 0c00f15b */ jal func0003c56c +/* 31a40: 25a50028 */ addiu $a1,$t5,0x28 +/* 31a44: 3c0f8006 */ lui $t7,%hi(var8005f12c) +/* 31a48: 8deff12c */ lw $t7,%lo(var8005f12c)($t7) +/* 31a4c: ade2004c */ sw $v0,0x4c($t7) +/* 31a50: 10000001 */ b .L00031a58 +/* 31a54: 00000000 */ nop +.L00031a58: +/* 31a58: 8fbf001c */ lw $ra,0x1c($sp) +/* 31a5c: 27bd0040 */ addiu $sp,$sp,0x40 +/* 31a60: 03e00008 */ jr $ra +/* 31a64: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func000317f0 /* 317f0: 27bdffc0 */ addiu $sp,$sp,-64 @@ -203,6 +390,7 @@ glabel func000317f0 /* 31a60: 03e00008 */ jr $ra /* 31a64: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func00031a68 diff --git a/src/lib/lib_34030.c b/src/lib/lib_34030.c index 3a3756bd6..7ab8c3da4 100644 --- a/src/lib/lib_34030.c +++ b/src/lib/lib_34030.c @@ -20,6 +20,202 @@ #include "data.h" #include "types.h" +#if VERSION >= VERSION_PAL_FINAL +const u32 var70054780[] = {0x70033e00}; +const u32 var70054784[] = {0x70034684}; +const u32 var70054788[] = {0x70034210}; +const u32 var7005478c[] = {0x70034684}; +const u32 var70054790[] = {0x70034684}; +const u32 var70054794[] = {0x70033e38}; +const u32 var70054798[] = {0x70033e90}; +const u32 var7005479c[] = {0x70034228}; +const u32 var700547a0[] = {0x7003468c}; +const u32 var700547a4[] = {0x70033e10}; +const u32 var700547a8[] = {0x70034240}; +const u32 var700547ac[] = {0x7003468c}; +const u32 var700547b0[] = {0x700345e0}; +const u32 var700547b4[] = {0x70034620}; +const u32 var700547b8[] = {0x70034660}; +const u32 var700547bc[] = {0x700343a4}; +const u32 var700547c0[] = {0x700343d4}; +const u32 var700547c4[] = {0x7003445c}; +const u32 var700547c8[] = {0x7003468c}; +const u32 var700547cc[] = {0x7003468c}; +const u32 var700547d0[] = {0x7003468c}; +const u32 var700547d4[] = {0x70034210}; +const u32 var700547d8[] = {0x70033f24}; +const u32 var700547dc[] = {0x70034064}; +const u32 var700547e0[] = {0x700342b0}; +const u32 var700547e4[] = {0x70034310}; + +const u32 var700547e8[] = {0x7003475c}; +const u32 var700547ec[] = {0x700347ec}; +const u32 var700547f0[] = {0x70034778}; +const u32 var700547f4[] = {0x70034794}; +const u32 var700547f8[] = {0x700347ec}; +const u32 var700547fc[] = {0x700347ec}; +const u32 var70054800[] = {0x700347ec}; +const u32 var70054804[] = {0x700347ec}; +const u32 var70054808[] = {0x700347ec}; +const u32 var7005480c[] = {0x700347ec}; +const u32 var70054810[] = {0x700347ec}; +const u32 var70054814[] = {0x700347ec}; +const u32 var70054818[] = {0x700347ec}; +const u32 var7005481c[] = {0x700347ec}; +const u32 var70054820[] = {0x700347ec}; +const u32 var70054824[] = {0x700347ec}; +const u32 var70054828[] = {0x700347ec}; +const u32 var7005482c[] = {0x700347dc}; +const u32 var70054830[] = {0x700347dc}; +const u32 var70054834[] = {0x700347dc}; + +const u32 var70054838[] = {0x70035344}; +const u32 var7005483c[] = {0x70036af8}; +const u32 var70054840[] = {0x70036af8}; +const u32 var70054844[] = {0x70036af8}; +const u32 var70054848[] = {0x70036af8}; +const u32 var7005484c[] = {0x70036af8}; +const u32 var70054850[] = {0x70036af8}; +const u32 var70054854[] = {0x70036af8}; +const u32 var70054858[] = {0x70036af8}; +const u32 var7005485c[] = {0x70036af8}; +const u32 var70054860[] = {0x70036af8}; +const u32 var70054864[] = {0x70036af8}; +const u32 var70054868[] = {0x70036af8}; +const u32 var7005486c[] = {0x70036af8}; +const u32 var70054870[] = {0x70036af8}; +const u32 var70054874[] = {0x70036af8}; +const u32 var70054878[] = {0x70034aa4}; +const u32 var7005487c[] = {0x70036af8}; +const u32 var70054880[] = {0x70036af8}; +const u32 var70054884[] = {0x70036af8}; +const u32 var70054888[] = {0x70036af8}; +const u32 var7005488c[] = {0x70036af8}; +const u32 var70054890[] = {0x70036af8}; +const u32 var70054894[] = {0x70036af8}; +const u32 var70054898[] = {0x70036af8}; +const u32 var7005489c[] = {0x70036af8}; +const u32 var700548a0[] = {0x70036af8}; +const u32 var700548a4[] = {0x70036af8}; +const u32 var700548a8[] = {0x70036af8}; +const u32 var700548ac[] = {0x70036af8}; +const u32 var700548b0[] = {0x70036af8}; +const u32 var700548b4[] = {0x70036af8}; +const u32 var700548b8[] = {0x70035468}; +const u32 var700548bc[] = {0x70036af8}; +const u32 var700548c0[] = {0x70036af8}; +const u32 var700548c4[] = {0x70036af8}; +const u32 var700548c8[] = {0x70036af8}; +const u32 var700548cc[] = {0x70036af8}; +const u32 var700548d0[] = {0x70036af8}; +const u32 var700548d4[] = {0x70036af8}; +const u32 var700548d8[] = {0x70036af8}; +const u32 var700548dc[] = {0x70036af8}; +const u32 var700548e0[] = {0x70036af8}; +const u32 var700548e4[] = {0x70036af8}; +const u32 var700548e8[] = {0x70036af8}; +const u32 var700548ec[] = {0x70036af8}; +const u32 var700548f0[] = {0x70036af8}; +const u32 var700548f4[] = {0x70036af8}; +const u32 var700548f8[] = {0x70035564}; +const u32 var700548fc[] = {0x70036af8}; +const u32 var70054900[] = {0x70036af8}; +const u32 var70054904[] = {0x70036af8}; +const u32 var70054908[] = {0x70036af8}; +const u32 var7005490c[] = {0x70036af8}; +const u32 var70054910[] = {0x70036af8}; +const u32 var70054914[] = {0x70036af8}; +const u32 var70054918[] = {0x70036af8}; +const u32 var7005491c[] = {0x70036af8}; +const u32 var70054920[] = {0x70036af8}; +const u32 var70054924[] = {0x70036af8}; +const u32 var70054928[] = {0x70036af8}; +const u32 var7005492c[] = {0x70036af8}; +const u32 var70054930[] = {0x70036af8}; +const u32 var70054934[] = {0x70036af8}; +const u32 var70054938[] = {0x700368b4}; +const u32 var7005493c[] = {0x70036af8}; +const u32 var70054940[] = {0x70036af8}; +const u32 var70054944[] = {0x70036af8}; +const u32 var70054948[] = {0x70036af8}; +const u32 var7005494c[] = {0x70036af8}; +const u32 var70054950[] = {0x70036af8}; +const u32 var70054954[] = {0x70036af8}; +const u32 var70054958[] = {0x70036af8}; +const u32 var7005495c[] = {0x70036af8}; +const u32 var70054960[] = {0x70036af8}; +const u32 var70054964[] = {0x70036af8}; +const u32 var70054968[] = {0x70036af8}; +const u32 var7005496c[] = {0x70036af8}; +const u32 var70054970[] = {0x70036af8}; +const u32 var70054974[] = {0x70036af8}; +const u32 var70054978[] = {0x700354e0}; +const u32 var7005497c[] = {0x70036af8}; +const u32 var70054980[] = {0x70036af8}; +const u32 var70054984[] = {0x70036af8}; +const u32 var70054988[] = {0x70036af8}; +const u32 var7005498c[] = {0x70036af8}; +const u32 var70054990[] = {0x70036af8}; +const u32 var70054994[] = {0x70036af8}; +const u32 var70054998[] = {0x70036af8}; +const u32 var7005499c[] = {0x70036af8}; +const u32 var700549a0[] = {0x70036af8}; +const u32 var700549a4[] = {0x70036af8}; +const u32 var700549a8[] = {0x70036af8}; +const u32 var700549ac[] = {0x70036af8}; +const u32 var700549b0[] = {0x70036af8}; +const u32 var700549b4[] = {0x70036af8}; +const u32 var700549b8[] = {0x70036944}; + +const u32 var700549bc[] = {0x7003674c}; +const u32 var700549c0[] = {0x70036288}; +const u32 var700549c4[] = {0x700362ec}; +const u32 var700549c8[] = {0x700363a4}; +const u32 var700549cc[] = {0x700368a4}; +const u32 var700549d0[] = {0x700368a4}; +const u32 var700549d4[] = {0x70035c28}; +const u32 var700549d8[] = {0x700368a4}; +const u32 var700549dc[] = {0x700368a4}; +const u32 var700549e0[] = {0x70035640}; +const u32 var700549e4[] = {0x70036430}; +const u32 var700549e8[] = {0x700364a8}; +const u32 var700549ec[] = {0x70036508}; +const u32 var700549f0[] = {0x7003656c}; +const u32 var700549f4[] = {0x700365cc}; +const u32 var700549f8[] = {0x70035cd8}; +const u32 var700549fc[] = {0x7003662c}; +const u32 var70054a00[] = {0x7003668c}; +const u32 var70054a04[] = {0x700366ec}; +const u32 var70054a08[] = {0x70036078}; +const u32 var70054a0c[] = {0x700360e8}; +const u32 var70054a10[] = {0x70036148}; +const u32 var70054a14[] = {0x700361b8}; +const u32 var70054a18[] = {0x70036218}; +const u32 var70054a1c[] = {0x70036870}; +const u32 var70054a20[] = {0x70036034}; +const u32 var70054a24[] = {0x700368a4}; +const u32 var70054a28[] = {0x700368a4}; +const u32 var70054a2c[] = {0x700368a4}; +const u32 var70054a30[] = {0x70035be0}; +const u32 var70054a34[] = {0x700368a4}; +const u32 var70054a38[] = {0x70036044}; +const u32 var70054a3c[] = {0x70035ae8}; +const u32 var70054a40[] = {0x70035b28}; +const u32 var70054a44[] = {0x70035b68}; + +const u32 var70054a48[] = {0x700367cc}; +const u32 var70054a4c[] = {0x700367e0}; +const u32 var70054a50[] = {0x700367e0}; +const u32 var70054a54[] = {0x700367e0}; +const u32 var70054a58[] = {0x70036840}; +const u32 var70054a5c[] = {0x700367f8}; +const u32 var70054a60[] = {0x70036840}; +const u32 var70054a64[] = {0x700367f8}; +const u32 var70054a68[] = {0x7003681c}; +const u32 var70054a6c[] = {0x70036840}; +const u32 var70054a70[] = {0x70036840}; +const u32 var70054a74[] = {0x700367f8}; +#else const u32 var70054780[] = {0x70034500}; const u32 var70054784[] = {0x70034d84}; const u32 var70054788[] = {0x70034910}; @@ -46,6 +242,7 @@ const u32 var700547d8[] = {0x70034624}; const u32 var700547dc[] = {0x70034764}; const u32 var700547e0[] = {0x700349b0}; const u32 var700547e4[] = {0x70034a10}; + const u32 var700547e8[] = {0x70034e5c}; const u32 var700547ec[] = {0x70034eec}; const u32 var700547f0[] = {0x70034e78}; @@ -66,6 +263,7 @@ const u32 var70054828[] = {0x70034eec}; const u32 var7005482c[] = {0x70034edc}; const u32 var70054830[] = {0x70034edc}; const u32 var70054834[] = {0x70034edc}; + const u32 var70054838[] = {0x70035a44}; const u32 var7005483c[] = {0x700371f8}; const u32 var70054840[] = {0x700371f8}; @@ -163,6 +361,7 @@ const u32 var700549ac[] = {0x700371f8}; const u32 var700549b0[] = {0x700371f8}; const u32 var700549b4[] = {0x700371f8}; const u32 var700549b8[] = {0x70037044}; + const u32 var700549bc[] = {0x70036e4c}; const u32 var700549c0[] = {0x70036988}; const u32 var700549c4[] = {0x700369ec}; @@ -198,6 +397,7 @@ const u32 var70054a38[] = {0x70036744}; const u32 var70054a3c[] = {0x700361e8}; const u32 var70054a40[] = {0x70036228}; const u32 var70054a44[] = {0x70036268}; + const u32 var70054a48[] = {0x70036ecc}; const u32 var70054a4c[] = {0x70036ee0}; const u32 var70054a50[] = {0x70036ee0}; @@ -210,8 +410,7 @@ const u32 var70054a68[] = {0x70036f1c}; const u32 var70054a6c[] = {0x70036f40}; const u32 var70054a70[] = {0x70036f40}; const u32 var70054a74[] = {0x70036ef8}; -const u32 var70054a78[] = {0x00000000}; -const u32 var70054a7c[] = {0x00000000}; +#endif GLOBAL_ASM( glabel func00034030 @@ -370,6 +569,170 @@ glabel func00034104 /* 3423c: 00000000 */ nop ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func00034240 +/* 34240: 27bdffc8 */ addiu $sp,$sp,-56 +/* 34244: afbf001c */ sw $ra,0x1c($sp) +/* 34248: afa40038 */ sw $a0,0x38($sp) +/* 3424c: afa5003c */ sw $a1,0x3c($sp) +/* 34250: 8fae003c */ lw $t6,0x3c($sp) +/* 34254: 8dcf000c */ lw $t7,0xc($t6) +/* 34258: afaf0024 */ sw $t7,0x24($sp) +/* 3425c: 8fb80038 */ lw $t8,0x38($sp) +/* 34260: af000020 */ sw $zero,0x20($t8) +/* 34264: 8fb90038 */ lw $t9,0x38($sp) +/* 34268: af200018 */ sw $zero,0x18($t9) +/* 3426c: 3c088006 */ lui $t0,%hi(var8005f114) +/* 34270: 8d08f114 */ lw $t0,%lo(var8005f114)($t0) +/* 34274: 8fa90038 */ lw $t1,0x38($sp) +/* 34278: ad280014 */ sw $t0,0x14($t1) +/* 3427c: 8fab0038 */ lw $t3,0x38($sp) +/* 34280: 340affff */ dli $t2,0xffff +/* 34284: a56a0030 */ sh $t2,0x30($t3) +/* 34288: 0c00e734 */ jal func00039cd0 +/* 3428c: 8fa40038 */ lw $a0,0x38($sp) +/* 34290: 8fad0038 */ lw $t5,0x38($sp) +/* 34294: 240c01e8 */ addiu $t4,$zero,0x1e8 +/* 34298: adac0024 */ sw $t4,0x24($t5) +/* 3429c: 8fae0038 */ lw $t6,0x38($sp) +/* 342a0: adc00028 */ sw $zero,0x28($t6) +/* 342a4: 8faf0038 */ lw $t7,0x38($sp) +/* 342a8: ade0002c */ sw $zero,0x2c($t7) +/* 342ac: 8fb90038 */ lw $t9,0x38($sp) +/* 342b0: 24187fff */ addiu $t8,$zero,0x7fff +/* 342b4: a7380032 */ sh $t8,0x32($t9) +/* 342b8: 8fa8003c */ lw $t0,0x3c($sp) +/* 342bc: 8faa0038 */ lw $t2,0x38($sp) +/* 342c0: 91090009 */ lbu $t1,0x9($t0) +/* 342c4: a1490035 */ sb $t1,0x35($t2) +/* 342c8: 8fac0038 */ lw $t4,0x38($sp) +/* 342cc: 240b3e80 */ addiu $t3,$zero,0x4e20 +/* 342d0: ad8b005c */ sw $t3,0x5c($t4) +/* 342d4: 8fad0038 */ lw $t5,0x38($sp) +/* 342d8: ada0001c */ sw $zero,0x1c($t5) +/* 342dc: 8fae003c */ lw $t6,0x3c($sp) +/* 342e0: 8fb80038 */ lw $t8,0x38($sp) +/* 342e4: 8dcf0010 */ lw $t7,0x10($t6) +/* 342e8: af0f0070 */ sw $t7,0x70($t8) +/* 342ec: 8fb9003c */ lw $t9,0x3c($sp) +/* 342f0: 8fa90038 */ lw $t1,0x38($sp) +/* 342f4: 8f280014 */ lw $t0,0x14($t9) +/* 342f8: ad280074 */ sw $t0,0x74($t1) +/* 342fc: 8faa003c */ lw $t2,0x3c($sp) +/* 34300: 8fac0038 */ lw $t4,0x38($sp) +/* 34304: 8d4b0018 */ lw $t3,0x18($t2) +/* 34308: ad8b0078 */ sw $t3,0x78($t4) +/* 3430c: 44802000 */ mtc1 $zero,$f4 +/* 34310: 8fad0038 */ lw $t5,0x38($sp) +/* 34314: e5a4007c */ swc1 $f4,0x7c($t5) +/* 34318: 3c013f80 */ lui $at,0x3f80 +/* 3431c: 44813000 */ mtc1 $at,$f6 +/* 34320: 8fae0038 */ lw $t6,0x38($sp) +/* 34324: e5c60080 */ swc1 $f6,0x80($t6) +/* 34328: 8faf0038 */ lw $t7,0x38($sp) +/* 3432c: ade00084 */ sw $zero,0x84($t7) +/* 34330: 8fb80038 */ lw $t8,0x38($sp) +/* 34334: a3000089 */ sb $zero,0x89($t8) +/* 34338: 8fb9003c */ lw $t9,0x3c($sp) +/* 3433c: 8fa90038 */ lw $t1,0x38($sp) +/* 34340: 8f280000 */ lw $t0,0x0($t9) +/* 34344: a1280088 */ sb $t0,0x88($t1) +/* 34348: 8fab0038 */ lw $t3,0x38($sp) +/* 3434c: 240a0009 */ addiu $t2,$zero,0x9 +/* 34350: a56a0038 */ sh $t2,0x38($t3) +/* 34354: 8fac003c */ lw $t4,0x3c($sp) +/* 34358: 8fae0038 */ lw $t6,0x38($sp) +/* 3435c: 918d0008 */ lbu $t5,0x8($t4) +/* 34360: a1cd0034 */ sb $t5,0x34($t6) +/* 34364: 8faf003c */ lw $t7,0x3c($sp) +/* 34368: 24180034 */ addiu $t8,$zero,0x34 +/* 3436c: 00002025 */ or $a0,$zero,$zero +/* 34370: 91e70008 */ lbu $a3,0x8($t7) +/* 34374: afb80010 */ sw $t8,0x10($sp) +/* 34378: 00002825 */ or $a1,$zero,$zero +/* 3437c: 0c00bec5 */ jal func0002fb14 +/* 34380: 8fa60024 */ lw $a2,0x24($sp) +/* 34384: 8fb90038 */ lw $t9,0x38($sp) +/* 34388: af220060 */ sw $v0,0x60($t9) +/* 3438c: 0c00f722 */ jal func0003dc88 +/* 34390: 8fa40038 */ lw $a0,0x38($sp) +/* 34394: 8fa8003c */ lw $t0,0x3c($sp) +/* 34398: 24090040 */ addiu $t1,$zero,0x40 +/* 3439c: 00002025 */ or $a0,$zero,$zero +/* 343a0: 8d070000 */ lw $a3,0x0($t0) +/* 343a4: afa90010 */ sw $t1,0x10($sp) +/* 343a8: 00002825 */ or $a1,$zero,$zero +/* 343ac: 0c00bec5 */ jal func0002fb14 +/* 343b0: 8fa60024 */ lw $a2,0x24($sp) +/* 343b4: afa20028 */ sw $v0,0x28($sp) +/* 343b8: 8faa0038 */ lw $t2,0x38($sp) +/* 343bc: ad40006c */ sw $zero,0x6c($t2) +/* 343c0: 8fab003c */ lw $t3,0x3c($sp) +/* 343c4: afa00034 */ sw $zero,0x34($sp) +/* 343c8: 8d6c0000 */ lw $t4,0x0($t3) +/* 343cc: 19800015 */ blez $t4,.L00034424 +/* 343d0: 00000000 */ nop +.L000343d4: +/* 343d4: 8fad0034 */ lw $t5,0x34($sp) +/* 343d8: 8faf0028 */ lw $t7,0x28($sp) +/* 343dc: 000d7180 */ sll $t6,$t5,0x6 +/* 343e0: 01cfc021 */ addu $t8,$t6,$t7 +/* 343e4: afb8002c */ sw $t8,0x2c($sp) +/* 343e8: 8fb90038 */ lw $t9,0x38($sp) +/* 343ec: 8fa9002c */ lw $t1,0x2c($sp) +/* 343f0: 8f28006c */ lw $t0,0x6c($t9) +/* 343f4: ad280000 */ sw $t0,0x0($t1) +/* 343f8: 8faa002c */ lw $t2,0x2c($sp) +/* 343fc: 8fab0038 */ lw $t3,0x38($sp) +/* 34400: ad6a006c */ sw $t2,0x6c($t3) +/* 34404: 8fac0034 */ lw $t4,0x34($sp) +/* 34408: 8fae003c */ lw $t6,0x3c($sp) +/* 3440c: 258d0001 */ addiu $t5,$t4,0x1 +/* 34410: afad0034 */ sw $t5,0x34($sp) +/* 34414: 8dcf0000 */ lw $t7,0x0($t6) +/* 34418: 01af082a */ slt $at,$t5,$t7 +/* 3441c: 1420ffed */ bnez $at,.L000343d4 +/* 34420: 00000000 */ nop +.L00034424: +/* 34424: 8fb80038 */ lw $t8,0x38($sp) +/* 34428: af000064 */ sw $zero,0x64($t8) +/* 3442c: 8fb90038 */ lw $t9,0x38($sp) +/* 34430: af200068 */ sw $zero,0x68($t9) +/* 34434: 8fa8003c */ lw $t0,0x3c($sp) +/* 34438: 2409001c */ addiu $t1,$zero,0x1c +/* 3443c: 00002025 */ or $a0,$zero,$zero +/* 34440: 8d070004 */ lw $a3,0x4($t0) +/* 34444: afa90010 */ sw $t1,0x10($sp) +/* 34448: 00002825 */ or $a1,$zero,$zero +/* 3444c: 0c00bec5 */ jal func0002fb14 +/* 34450: 8fa60024 */ lw $a2,0x24($sp) +/* 34454: afa20030 */ sw $v0,0x30($sp) +/* 34458: 8fa40038 */ lw $a0,0x38($sp) +/* 3445c: 8faa003c */ lw $t2,0x3c($sp) +/* 34460: 8fa50030 */ lw $a1,0x30($sp) +/* 34464: 24840048 */ addiu $a0,$a0,0x48 +/* 34468: 0c00f134 */ jal func0003c4d0 +/* 3446c: 8d460004 */ lw $a2,0x4($t2) +/* 34470: 8fab0038 */ lw $t3,0x38($sp) +/* 34474: ad600000 */ sw $zero,0x0($t3) +/* 34478: 8fae0038 */ lw $t6,0x38($sp) +/* 3447c: 3c0c7003 */ lui $t4,%hi(func000344b0) +/* 34480: 258c44b0 */ addiu $t4,$t4,%lo(func000344b0) +/* 34484: adcc0008 */ sw $t4,0x8($t6) +/* 34488: 8fad0038 */ lw $t5,0x38($sp) +/* 3448c: adad0004 */ sw $t5,0x4($t5) +/* 34490: 0c00f25c */ jal func0003c970 +/* 34494: 8fa40038 */ lw $a0,0x38($sp) +/* 34498: 10000001 */ b .L000344a0 +/* 3449c: 00000000 */ nop +.L000344a0: +/* 344a0: 8fbf001c */ lw $ra,0x1c($sp) +/* 344a4: 27bd0038 */ addiu $sp,$sp,0x38 +/* 344a8: 03e00008 */ jr $ra +/* 344ac: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func00034240 /* 34240: 27bdffc8 */ addiu $sp,$sp,-56 @@ -532,6 +895,7 @@ glabel func00034240 /* 344a8: 03e00008 */ jr $ra /* 344ac: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func000344b0 @@ -1383,6 +1747,2234 @@ glabel func00034fb8 /* 3510c: 00000000 */ nop ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func00035110 +/* 35110: 27bdff30 */ addiu $sp,$sp,-208 +/* 35114: afbf003c */ sw $ra,0x3c($sp) +/* 35118: afa400d0 */ sw $a0,0xd0($sp) +/* 3511c: afa500d4 */ sw $a1,0xd4($sp) +/* 35120: afb10038 */ sw $s1,0x38($sp) +/* 35124: afb00034 */ sw $s0,0x34($sp) +/* 35128: f7b40028 */ sdc1 $f20,0x28($sp) +/* 3512c: 8fae00d4 */ lw $t6,0xd4($sp) +/* 35130: 25cf0004 */ addiu $t7,$t6,0x4 +/* 35134: afaf00b8 */ sw $t7,0xb8($sp) +/* 35138: 8fb800b8 */ lw $t8,0xb8($sp) +/* 3513c: 93190004 */ lbu $t9,0x4($t8) +/* 35140: 332800f0 */ andi $t0,$t9,0xf0 +/* 35144: afa800c4 */ sw $t0,0xc4($sp) +/* 35148: 8fa900b8 */ lw $t1,0xb8($sp) +/* 3514c: 912a0004 */ lbu $t2,0x4($t1) +/* 35150: 314b000f */ andi $t3,$t2,0xf +/* 35154: a3ab00c3 */ sb $t3,0xc3($sp) +/* 35158: 8fac00b8 */ lw $t4,0xb8($sp) +/* 3515c: 918d0005 */ lbu $t5,0x5($t4) +/* 35160: a3ad00c2 */ sb $t5,0xc2($sp) +/* 35164: a3ad00c0 */ sb $t5,0xc0($sp) +/* 35168: 8fae00b8 */ lw $t6,0xb8($sp) +/* 3516c: 91cf0006 */ lbu $t7,0x6($t6) +/* 35170: a3af00c1 */ sb $t7,0xc1($sp) +/* 35174: a3af00bf */ sb $t7,0xbf($sp) +/* 35178: 8fb800c4 */ lw $t8,0xc4($sp) +/* 3517c: 2719ff80 */ addiu $t9,$t8,-128 +/* 35180: 2f210061 */ sltiu $at,$t9,0x61 +/* 35184: 1020081c */ beqz $at,.L000371f8 +/* 35188: 00000000 */ nop +/* 3518c: 0019c880 */ sll $t9,$t9,0x2 +/* 35190: 3c017005 */ lui $at,%hi(var70054838) +/* 35194: 00390821 */ addu $at,$at,$t9 +/* 35198: 8c394838 */ lw $t9,%lo(var70054838)($at) +/* 3519c: 03200008 */ jr $t9 +/* 351a0: 00000000 */ nop +/* 351a4: 93a800c1 */ lbu $t0,0xc1($sp) +/* 351a8: 11000226 */ beqz $t0,.L00035a44 +/* 351ac: 00000000 */ nop +/* 351b0: afa0006c */ sw $zero,0x6c($sp) +/* 351b4: 8fa900d0 */ lw $t1,0xd0($sp) +/* 351b8: 24010001 */ addiu $at,$zero,0x1 +/* 351bc: 8d2a002c */ lw $t2,0x2c($t1) +/* 351c0: 15410008 */ bne $t2,$at,.L000351e4 +/* 351c4: 00000000 */ nop +/* 351c8: 93ac00c3 */ lbu $t4,0xc3($sp) +/* 351cc: 952b0030 */ lhu $t3,0x30($t1) +/* 351d0: 240d0001 */ addiu $t5,$zero,0x1 +/* 351d4: 018d7004 */ sllv $t6,$t5,$t4 +/* 351d8: 016e7824 */ and $t7,$t3,$t6 +/* 351dc: 15e00023 */ bnez $t7,.L0003526c +/* 351e0: 00000000 */ nop +.L000351e4: +/* 351e4: 8fb800b8 */ lw $t8,0xb8($sp) +/* 351e8: 8f190008 */ lw $t9,0x8($t8) +/* 351ec: 1320001d */ beqz $t9,.L00035264 +/* 351f0: 00000000 */ nop +/* 351f4: 24080015 */ addiu $t0,$zero,0x15 +/* 351f8: a7a800a4 */ sh $t0,0xa4($sp) +/* 351fc: 93aa00c3 */ lbu $t2,0xc3($sp) +/* 35200: 35490080 */ ori $t1,$t2,0x80 +/* 35204: a3a900ac */ sb $t1,0xac($sp) +/* 35208: 93ad00c2 */ lbu $t5,0xc2($sp) +/* 3520c: a3ad00ad */ sb $t5,0xad($sp) +/* 35210: a3a000ae */ sb $zero,0xae($sp) +/* 35214: 8fac00d0 */ lw $t4,0xd0($sp) +/* 35218: 8fae00b8 */ lw $t6,0xb8($sp) +/* 3521c: 8d8b0024 */ lw $t3,0x24($t4) +/* 35220: 8dcf0008 */ lw $t7,0x8($t6) +/* 35224: 016f0019 */ multu $t3,$t7 +/* 35228: 0000c012 */ mflo $t8 +/* 3522c: afb800a0 */ sw $t8,0xa0($sp) +/* 35230: 00000000 */ nop +/* 35234: 93a800c3 */ lbu $t0,0xc3($sp) +/* 35238: 8fb900a0 */ lw $t9,0xa0($sp) +/* 3523c: 3c01800a */ lui $at,%hi(var8009c350) +/* 35240: 00085080 */ sll $t2,$t0,0x2 +/* 35244: 002a0821 */ addu $at,$at,$t2 +/* 35248: ac39c350 */ sw $t9,%lo(var8009c350)($at) +/* 3524c: 8fa400d0 */ lw $a0,0xd0($sp) +/* 35250: 27a500a4 */ addiu $a1,$sp,0xa4 +/* 35254: 8fa600a0 */ lw $a2,0xa0($sp) +/* 35258: 00003825 */ or $a3,$zero,$zero +/* 3525c: 0c00f184 */ jal alEvtqPostEvent +/* 35260: 24840048 */ addiu $a0,$a0,0x48 +.L00035264: +/* 35264: 100007e6 */ b .L00037200 +/* 35268: 00000000 */ nop +.L0003526c: +/* 3526c: 93ac00c3 */ lbu $t4,0xc3($sp) +/* 35270: 8fa900d0 */ lw $t1,0xd0($sp) +/* 35274: 000c7080 */ sll $t6,$t4,0x2 +/* 35278: 01cc7023 */ subu $t6,$t6,$t4 +/* 3527c: 8d2d0060 */ lw $t5,0x60($t1) +/* 35280: 000e7080 */ sll $t6,$t6,0x2 +/* 35284: 01cc7021 */ addu $t6,$t6,$t4 +/* 35288: 000e7080 */ sll $t6,$t6,0x2 +/* 3528c: 01ae5821 */ addu $t3,$t5,$t6 +/* 35290: afab0094 */ sw $t3,0x94($sp) +/* 35294: 8fa400d0 */ lw $a0,0xd0($sp) +/* 35298: 93a500c2 */ lbu $a1,0xc2($sp) +/* 3529c: 93a600c1 */ lbu $a2,0xc1($sp) +/* 352a0: 0c00f5cb */ jal func0003d72c +/* 352a4: 93a700c3 */ lbu $a3,0xc3($sp) +/* 352a8: afa20084 */ sw $v0,0x84($sp) +/* 352ac: 8faf0084 */ lw $t7,0x84($sp) +/* 352b0: 15e00003 */ bnez $t7,.L000352c0 +/* 352b4: 00000000 */ nop +/* 352b8: 100007d3 */ b .L00037208 +/* 352bc: 00000000 */ nop +.L000352c0: +/* 352c0: 8fb80094 */ lw $t8,0x94($sp) +/* 352c4: 93080008 */ lbu $t0,0x8($t8) +/* 352c8: a7a80088 */ sh $t0,0x88($sp) +/* 352cc: 8fb90094 */ lw $t9,0x94($sp) +/* 352d0: 932a000b */ lbu $t2,0xb($t9) +/* 352d4: a7aa008a */ sh $t2,0x8a($sp) +/* 352d8: a3a0008c */ sb $zero,0x8c($sp) +/* 352dc: 8fa400d0 */ lw $a0,0xd0($sp) +/* 352e0: 93a500c2 */ lbu $a1,0xc2($sp) +/* 352e4: 93a600c1 */ lbu $a2,0xc1($sp) +/* 352e8: 0c00f576 */ jal func0003d5d8 +/* 352ec: 93a700c3 */ lbu $a3,0xc3($sp) +/* 352f0: afa2009c */ sw $v0,0x9c($sp) +/* 352f4: 8fa9009c */ lw $t1,0x9c($sp) +/* 352f8: 15200003 */ bnez $t1,.L00035308 +/* 352fc: 00000000 */ nop +/* 35300: 100007c1 */ b .L00037208 +/* 35304: 00000000 */ nop +.L00035308: +/* 35308: 8fac009c */ lw $t4,0x9c($sp) +/* 3530c: 258d0004 */ addiu $t5,$t4,0x4 +/* 35310: afad00cc */ sw $t5,0xcc($sp) +/* 35314: 8fa400cc */ lw $a0,0xcc($sp) +/* 35318: 0c00f278 */ jal func0003c9e0 +/* 3531c: 27a50088 */ addiu $a1,$sp,0x88 +/* 35320: 8fae0084 */ lw $t6,0x84($sp) +/* 35324: 8fab009c */ lw $t3,0x9c($sp) +/* 35328: ad6e0020 */ sw $t6,0x20($t3) +/* 3532c: 8faf009c */ lw $t7,0x9c($sp) +/* 35330: a1e00034 */ sb $zero,0x34($t7) +/* 35334: 8fb80094 */ lw $t8,0x94($sp) +/* 35338: 9308000c */ lbu $t0,0xc($t8) +/* 3533c: 29010040 */ slti $at,$t0,0x40 +/* 35340: 14200005 */ bnez $at,.L00035358 +/* 35344: 00000000 */ nop +/* 35348: 8faa009c */ lw $t2,0x9c($sp) +/* 3534c: 24190002 */ addiu $t9,$zero,0x2 +/* 35350: 10000003 */ b .L00035360 +/* 35354: a1590035 */ sb $t9,0x35($t2) +.L00035358: +/* 35358: 8fa9009c */ lw $t1,0x9c($sp) +/* 3535c: a1200035 */ sb $zero,0x35($t1) +.L00035360: +/* 35360: 8fad0084 */ lw $t5,0x84($sp) +/* 35364: 93ac00c2 */ lbu $t4,0xc2($sp) +/* 35368: 8dae0004 */ lw $t6,0x4($t5) +/* 3536c: 91cb0004 */ lbu $t3,0x4($t6) +/* 35370: 81c80005 */ lb $t0,0x5($t6) +/* 35374: 018b7823 */ subu $t7,$t4,$t3 +/* 35378: 000fc080 */ sll $t8,$t7,0x2 +/* 3537c: 030fc023 */ subu $t8,$t8,$t7 +/* 35380: 0018c0c0 */ sll $t8,$t8,0x3 +/* 35384: 030fc021 */ addu $t8,$t8,$t7 +/* 35388: 0018c080 */ sll $t8,$t8,0x2 +/* 3538c: 0308c821 */ addu $t9,$t8,$t0 +/* 35390: a7b90082 */ sh $t9,0x82($sp) +/* 35394: 8faa0094 */ lw $t2,0x94($sp) +/* 35398: 91490024 */ lbu $t1,0x24($t2) +/* 3539c: 11200006 */ beqz $t1,.L000353b8 +/* 353a0: 00000000 */ nop +/* 353a4: 8fac0094 */ lw $t4,0x94($sp) +/* 353a8: 87ad0082 */ lh $t5,0x82($sp) +/* 353ac: 818b0027 */ lb $t3,0x27($t4) +/* 353b0: 01ab7821 */ addu $t7,$t5,$t3 +/* 353b4: a7af0082 */ sh $t7,0x82($sp) +.L000353b8: +/* 353b8: 0c00e7f8 */ jal func00039fe0 +/* 353bc: 87a40082 */ lh $a0,0x82($sp) +/* 353c0: 8fae009c */ lw $t6,0x9c($sp) +/* 353c4: e5c00028 */ swc1 $f0,0x28($t6) +/* 353c8: 8fb80094 */ lw $t8,0x94($sp) +/* 353cc: 93080024 */ lbu $t0,0x24($t8) +/* 353d0: 1100000d */ beqz $t0,.L00035408 +/* 353d4: 00000000 */ nop +/* 353d8: 8fb90094 */ lw $t9,0x94($sp) +/* 353dc: 8fa9009c */ lw $t1,0x9c($sp) +/* 353e0: 932a0025 */ lbu $t2,0x25($t9) +/* 353e4: a12a0030 */ sb $t2,0x30($t1) +/* 353e8: 8fac00d0 */ lw $t4,0xd0($sp) +/* 353ec: 8fab0094 */ lw $t3,0x94($sp) +/* 353f0: 8fb8009c */ lw $t8,0x9c($sp) +/* 353f4: 8d8d001c */ lw $t5,0x1c($t4) +/* 353f8: 8d6f0018 */ lw $t7,0x18($t3) +/* 353fc: 01af7021 */ addu $t6,$t5,$t7 +/* 35400: 1000000e */ b .L0003543c +/* 35404: af0e0024 */ sw $t6,0x24($t8) +.L00035408: +/* 35408: 8fa80084 */ lw $t0,0x84($sp) +/* 3540c: 8fa9009c */ lw $t1,0x9c($sp) +/* 35410: 8d190000 */ lw $t9,0x0($t0) +/* 35414: 932a000c */ lbu $t2,0xc($t9) +/* 35418: a12a0030 */ sb $t2,0x30($t1) +/* 3541c: 8fad0084 */ lw $t5,0x84($sp) +/* 35420: 8fac00d0 */ lw $t4,0xd0($sp) +/* 35424: 8fa8009c */ lw $t0,0x9c($sp) +/* 35428: 8daf0000 */ lw $t7,0x0($t5) +/* 3542c: 8d8b001c */ lw $t3,0x1c($t4) +/* 35430: 8dee0000 */ lw $t6,0x0($t7) +/* 35434: 016ec021 */ addu $t8,$t3,$t6 +/* 35438: ad180024 */ sw $t8,0x24($t0) +.L0003543c: +/* 3543c: 8fb9009c */ lw $t9,0x9c($sp) +/* 35440: a3200037 */ sb $zero,0x37($t9) +/* 35444: 8faa0094 */ lw $t2,0x94($sp) +/* 35448: 91490024 */ lbu $t1,0x24($t2) +/* 3544c: 11200005 */ beqz $t1,.L00035464 +/* 35450: 00000000 */ nop +/* 35454: 8fac0094 */ lw $t4,0x94($sp) +/* 35458: 918d0028 */ lbu $t5,0x28($t4) +/* 3545c: 1000000f */ b .L0003549c +/* 35460: afad0090 */ sw $t5,0x90($sp) +.L00035464: +/* 35464: 93ae00c3 */ lbu $t6,0xc3($sp) +/* 35468: 8faf00d0 */ lw $t7,0xd0($sp) +/* 3546c: 000ec080 */ sll $t8,$t6,0x2 +/* 35470: 030ec023 */ subu $t8,$t8,$t6 +/* 35474: 8deb0060 */ lw $t3,0x60($t7) +/* 35478: 0018c080 */ sll $t8,$t8,0x2 +/* 3547c: 030ec021 */ addu $t8,$t8,$t6 +/* 35480: 0018c080 */ sll $t8,$t8,0x2 +/* 35484: 01784021 */ addu $t0,$t3,$t8 +/* 35488: 8d190000 */ lw $t9,0x0($t0) +/* 3548c: afb90068 */ sw $t9,0x68($sp) +/* 35490: 8faa0068 */ lw $t2,0x68($sp) +/* 35494: 91490004 */ lbu $t1,0x4($t2) +/* 35498: afa90090 */ sw $t1,0x90($sp) +.L0003549c: +/* 3549c: 3c0142fe */ lui $at,0x42fe +/* 354a0: 44812000 */ mtc1 $at,$f4 +/* 354a4: 00000000 */ nop +/* 354a8: e7a40078 */ swc1 $f4,0x78($sp) +/* 354ac: 8fac0090 */ lw $t4,0x90($sp) +/* 354b0: 11800041 */ beqz $t4,.L000355b8 +/* 354b4: 00000000 */ nop +/* 354b8: 8fad00d0 */ lw $t5,0xd0($sp) +/* 354bc: 8daf0070 */ lw $t7,0x70($t5) +/* 354c0: 11e0003d */ beqz $t7,.L000355b8 +/* 354c4: 00000000 */ nop +/* 354c8: 8fae0094 */ lw $t6,0x94($sp) +/* 354cc: 91cb0024 */ lbu $t3,0x24($t6) +/* 354d0: 11600012 */ beqz $t3,.L0003551c +/* 354d4: 00000000 */ nop +/* 354d8: 8fb80094 */ lw $t8,0x94($sp) +/* 354dc: 8fa900d0 */ lw $t1,0xd0($sp) +/* 354e0: 27a4006c */ addiu $a0,$sp,0x6c +/* 354e4: 9308002a */ lbu $t0,0x2a($t8) +/* 354e8: 93060028 */ lbu $a2,0x28($t8) +/* 354ec: 93070029 */ lbu $a3,0x29($t8) +/* 354f0: afa80010 */ sw $t0,0x10($sp) +/* 354f4: 9319002b */ lbu $t9,0x2b($t8) +/* 354f8: 27a50078 */ addiu $a1,$sp,0x78 +/* 354fc: afb90014 */ sw $t9,0x14($sp) +/* 35500: 930a0031 */ lbu $t2,0x31($t8) +/* 35504: afaa0018 */ sw $t2,0x18($sp) +/* 35508: 8d390070 */ lw $t9,0x70($t1) +/* 3550c: 0320f809 */ jalr $t9 +/* 35510: 00000000 */ nop +/* 35514: 10000012 */ b .L00035560 +/* 35518: afa200a0 */ sw $v0,0xa0($sp) +.L0003551c: +/* 3551c: 8fac0068 */ lw $t4,0x68($sp) +/* 35520: 8fae0094 */ lw $t6,0x94($sp) +/* 35524: 8fa800d0 */ lw $t0,0xd0($sp) +/* 35528: 918d0006 */ lbu $t5,0x6($t4) +/* 3552c: 91860004 */ lbu $a2,0x4($t4) +/* 35530: 91870005 */ lbu $a3,0x5($t4) +/* 35534: afad0010 */ sw $t5,0x10($sp) +/* 35538: 918f0007 */ lbu $t7,0x7($t4) +/* 3553c: 27a4006c */ addiu $a0,$sp,0x6c +/* 35540: 27a50078 */ addiu $a1,$sp,0x78 +/* 35544: afaf0014 */ sw $t7,0x14($sp) +/* 35548: 91cb0031 */ lbu $t3,0x31($t6) +/* 3554c: afab0018 */ sw $t3,0x18($sp) +/* 35550: 8d190070 */ lw $t9,0x70($t0) +/* 35554: 0320f809 */ jalr $t9 +/* 35558: 00000000 */ nop +/* 3555c: afa200a0 */ sw $v0,0xa0($sp) +.L00035560: +/* 35560: 8fb800a0 */ lw $t8,0xa0($sp) +/* 35564: 13000014 */ beqz $t8,.L000355b8 +/* 35568: 00000000 */ nop +/* 3556c: 240a0016 */ addiu $t2,$zero,0x16 +/* 35570: a7aa00a4 */ sh $t2,0xa4($sp) +/* 35574: 8fa9009c */ lw $t1,0x9c($sp) +/* 35578: afa900a8 */ sw $t1,0xa8($sp) +/* 3557c: 8fad006c */ lw $t5,0x6c($sp) +/* 35580: afad00ac */ sw $t5,0xac($sp) +/* 35584: 8fa400d0 */ lw $a0,0xd0($sp) +/* 35588: 27a500a4 */ addiu $a1,$sp,0xa4 +/* 3558c: 8fa600a0 */ lw $a2,0xa0($sp) +/* 35590: 00003825 */ or $a3,$zero,$zero +/* 35594: 0c00f184 */ jal alEvtqPostEvent +/* 35598: 24840048 */ addiu $a0,$a0,0x48 +/* 3559c: 8fac009c */ lw $t4,0x9c($sp) +/* 355a0: 918f0037 */ lbu $t7,0x37($t4) +/* 355a4: 35ee0001 */ ori $t6,$t7,0x1 +/* 355a8: a18e0037 */ sb $t6,0x37($t4) +/* 355ac: 8fab006c */ lw $t3,0x6c($sp) +/* 355b0: 8fa8009c */ lw $t0,0x9c($sp) +/* 355b4: ad0b0038 */ sw $t3,0x38($t0) +.L000355b8: +/* 355b8: 4459f800 */ cfc1 $t9,$31 +/* 355bc: 24180001 */ addiu $t8,$zero,0x1 +/* 355c0: 44d8f800 */ ctc1 $t8,$31 +/* 355c4: c7a60078 */ lwc1 $f6,0x78($sp) +/* 355c8: 46003224 */ cvt.w.s $f8,$f6 +/* 355cc: 4458f800 */ cfc1 $t8,$31 +/* 355d0: 00000000 */ nop +/* 355d4: 33010004 */ andi $at,$t8,0x4 +/* 355d8: 33180078 */ andi $t8,$t8,0x78 +/* 355dc: 13000014 */ beqz $t8,.L00035630 +/* 355e0: 00000000 */ nop +/* 355e4: 3c014f00 */ lui $at,0x4f00 +/* 355e8: 44814000 */ mtc1 $at,$f8 +/* 355ec: 24180001 */ addiu $t8,$zero,0x1 +/* 355f0: 46083201 */ sub.s $f8,$f6,$f8 +/* 355f4: 44d8f800 */ ctc1 $t8,$31 +/* 355f8: 00000000 */ nop +/* 355fc: 46004224 */ cvt.w.s $f8,$f8 +/* 35600: 4458f800 */ cfc1 $t8,$31 +/* 35604: 00000000 */ nop +/* 35608: 33010004 */ andi $at,$t8,0x4 +/* 3560c: 33180078 */ andi $t8,$t8,0x78 +/* 35610: 17000005 */ bnez $t8,.L00035628 +/* 35614: 00000000 */ nop +/* 35618: 44184000 */ mfc1 $t8,$f8 +/* 3561c: 3c018000 */ lui $at,0x8000 +/* 35620: 10000007 */ b .L00035640 +/* 35624: 0301c025 */ or $t8,$t8,$at +.L00035628: +/* 35628: 10000005 */ b .L00035640 +/* 3562c: 2418ffff */ addiu $t8,$zero,-1 +.L00035630: +/* 35630: 44184000 */ mfc1 $t8,$f8 +/* 35634: 00000000 */ nop +/* 35638: 0700fffb */ bltz $t8,.L00035628 +/* 3563c: 00000000 */ nop +.L00035640: +/* 35640: 8faa009c */ lw $t2,0x9c($sp) +/* 35644: 44d9f800 */ ctc1 $t9,$31 +/* 35648: a1580036 */ sb $t8,0x36($t2) +/* 3564c: 00000000 */ nop +/* 35650: 3c013f80 */ lui $at,0x3f80 +/* 35654: 44815000 */ mtc1 $at,$f10 +/* 35658: 00000000 */ nop +/* 3565c: e7aa0078 */ swc1 $f10,0x78($sp) +/* 35660: 8fa90094 */ lw $t1,0x94($sp) +/* 35664: 912d0024 */ lbu $t5,0x24($t1) +/* 35668: 11a00005 */ beqz $t5,.L00035680 +/* 3566c: 00000000 */ nop +/* 35670: 8faf0094 */ lw $t7,0x94($sp) +/* 35674: 91ee002c */ lbu $t6,0x2c($t7) +/* 35678: 10000004 */ b .L0003568c +/* 3567c: afae0090 */ sw $t6,0x90($sp) +.L00035680: +/* 35680: 8fac0068 */ lw $t4,0x68($sp) +/* 35684: 918b0008 */ lbu $t3,0x8($t4) +/* 35688: afab0090 */ sw $t3,0x90($sp) +.L0003568c: +/* 3568c: 8fa80090 */ lw $t0,0x90($sp) +/* 35690: 11000043 */ beqz $t0,.L000357a0 +/* 35694: 00000000 */ nop +/* 35698: 8fb900d0 */ lw $t9,0xd0($sp) +/* 3569c: 8f380070 */ lw $t8,0x70($t9) +/* 356a0: 1300003f */ beqz $t8,.L000357a0 +/* 356a4: 00000000 */ nop +/* 356a8: 8faa0094 */ lw $t2,0x94($sp) +/* 356ac: 91490024 */ lbu $t1,0x24($t2) +/* 356b0: 11200012 */ beqz $t1,.L000356fc +/* 356b4: 00000000 */ nop +/* 356b8: 8fad0094 */ lw $t5,0x94($sp) +/* 356bc: 8fab00d0 */ lw $t3,0xd0($sp) +/* 356c0: 27a4006c */ addiu $a0,$sp,0x6c +/* 356c4: 91af002e */ lbu $t7,0x2e($t5) +/* 356c8: 91a6002c */ lbu $a2,0x2c($t5) +/* 356cc: 91a7002d */ lbu $a3,0x2d($t5) +/* 356d0: afaf0010 */ sw $t7,0x10($sp) +/* 356d4: 91ae002f */ lbu $t6,0x2f($t5) +/* 356d8: 27a50078 */ addiu $a1,$sp,0x78 +/* 356dc: afae0014 */ sw $t6,0x14($sp) +/* 356e0: 91ac0031 */ lbu $t4,0x31($t5) +/* 356e4: afac0018 */ sw $t4,0x18($sp) +/* 356e8: 8d790070 */ lw $t9,0x70($t3) +/* 356ec: 0320f809 */ jalr $t9 +/* 356f0: 00000000 */ nop +/* 356f4: 10000012 */ b .L00035740 +/* 356f8: afa200a0 */ sw $v0,0xa0($sp) +.L000356fc: +/* 356fc: 8fa80068 */ lw $t0,0x68($sp) +/* 35700: 8fa90094 */ lw $t1,0x94($sp) +/* 35704: 8fae00d0 */ lw $t6,0xd0($sp) +/* 35708: 9118000a */ lbu $t8,0xa($t0) +/* 3570c: 91060008 */ lbu $a2,0x8($t0) +/* 35710: 91070009 */ lbu $a3,0x9($t0) +/* 35714: afb80010 */ sw $t8,0x10($sp) +/* 35718: 910a000b */ lbu $t2,0xb($t0) +/* 3571c: 27a4006c */ addiu $a0,$sp,0x6c +/* 35720: 27a50078 */ addiu $a1,$sp,0x78 +/* 35724: afaa0014 */ sw $t2,0x14($sp) +/* 35728: 912f0031 */ lbu $t7,0x31($t1) +/* 3572c: afaf0018 */ sw $t7,0x18($sp) +/* 35730: 8dd90070 */ lw $t9,0x70($t6) +/* 35734: 0320f809 */ jalr $t9 +/* 35738: 00000000 */ nop +/* 3573c: afa200a0 */ sw $v0,0xa0($sp) +.L00035740: +/* 35740: 8fad00a0 */ lw $t5,0xa0($sp) +/* 35744: 11a00016 */ beqz $t5,.L000357a0 +/* 35748: 00000000 */ nop +/* 3574c: 240c0017 */ addiu $t4,$zero,0x17 +/* 35750: a7ac00a4 */ sh $t4,0xa4($sp) +/* 35754: 8fab009c */ lw $t3,0x9c($sp) +/* 35758: afab00a8 */ sw $t3,0xa8($sp) +/* 3575c: 8fb8006c */ lw $t8,0x6c($sp) +/* 35760: afb800ac */ sw $t8,0xac($sp) +/* 35764: 93a800c3 */ lbu $t0,0xc3($sp) +/* 35768: a3a800b0 */ sb $t0,0xb0($sp) +/* 3576c: 8fa400d0 */ lw $a0,0xd0($sp) +/* 35770: 27a500a4 */ addiu $a1,$sp,0xa4 +/* 35774: 8fa600a0 */ lw $a2,0xa0($sp) +/* 35778: 00003825 */ or $a3,$zero,$zero +/* 3577c: 0c00f184 */ jal alEvtqPostEvent +/* 35780: 24840048 */ addiu $a0,$a0,0x48 +/* 35784: 8faa009c */ lw $t2,0x9c($sp) +/* 35788: 91490037 */ lbu $t1,0x37($t2) +/* 3578c: 352f0002 */ ori $t7,$t1,0x2 +/* 35790: a14f0037 */ sb $t7,0x37($t2) +/* 35794: 8fae006c */ lw $t6,0x6c($sp) +/* 35798: 8fb9009c */ lw $t9,0x9c($sp) +/* 3579c: af2e003c */ sw $t6,0x3c($t9) +.L000357a0: +/* 357a0: c7b00078 */ lwc1 $f16,0x78($sp) +/* 357a4: 8fad009c */ lw $t5,0x9c($sp) +/* 357a8: e5b0002c */ swc1 $f16,0x2c($t5) +/* 357ac: 8fac009c */ lw $t4,0x9c($sp) +/* 357b0: 8fab0094 */ lw $t3,0x94($sp) +/* 357b4: c5920028 */ lwc1 $f18,0x28($t4) +/* 357b8: c5640014 */ lwc1 $f4,0x14($t3) +/* 357bc: c588002c */ lwc1 $f8,0x2c($t4) +/* 357c0: 46049182 */ mul.s $f6,$f18,$f4 +/* 357c4: 00000000 */ nop +/* 357c8: 46083282 */ mul.s $f10,$f6,$f8 +/* 357cc: e7aa007c */ swc1 $f10,0x7c($sp) +/* 357d0: 8fa4009c */ lw $a0,0x9c($sp) +/* 357d4: 0c00f673 */ jal func0003d9cc +/* 357d8: 8fa500d0 */ lw $a1,0xd0($sp) +/* 357dc: a3a20077 */ sb $v0,0x77($sp) +/* 357e0: 8fb80094 */ lw $t8,0x94($sp) +/* 357e4: 93080011 */ lbu $t0,0x11($t8) +/* 357e8: a3a80076 */ sb $t0,0x76($sp) +/* 357ec: 93a90076 */ lbu $t1,0x76($sp) +/* 357f0: 11200012 */ beqz $t1,.L0003583c +/* 357f4: 00000000 */ nop +/* 357f8: 87af0082 */ lh $t7,0x82($sp) +/* 357fc: 24010064 */ addiu $at,$zero,0x64 +/* 35800: 8fae0094 */ lw $t6,0x94($sp) +/* 35804: 01e1001a */ div $zero,$t7,$at +/* 35808: 91d90012 */ lbu $t9,0x12($t6) +/* 3580c: 00005012 */ mflo $t2 +/* 35810: 01592021 */ addu $a0,$t2,$t9 +/* 35814: 0c00ee75 */ jal func0003b9d4 +/* 35818: 2484ffc0 */ addiu $a0,$a0,-64 +/* 3581c: 3c0143dc */ lui $at,0x43dc +/* 35820: 44818000 */ mtc1 $at,$f16 +/* 35824: 8fad0094 */ lw $t5,0x94($sp) +/* 35828: 46100482 */ mul.s $f18,$f0,$f16 +/* 3582c: c5a40014 */ lwc1 $f4,0x14($t5) +/* 35830: 46049182 */ mul.s $f6,$f18,$f4 +/* 35834: 10000005 */ b .L0003584c +/* 35838: e7a60070 */ swc1 $f6,0x70($sp) +.L0003583c: +/* 3583c: 3c0142fe */ lui $at,0x42fe +/* 35840: 44814000 */ mtc1 $at,$f8 +/* 35844: 00000000 */ nop +/* 35848: e7a80070 */ swc1 $f8,0x70($sp) +.L0003584c: +/* 3584c: 8fa4009c */ lw $a0,0x9c($sp) +/* 35850: 0c00f6c5 */ jal func0003db14 +/* 35854: 8fa500d0 */ lw $a1,0xd0($sp) +/* 35858: a3a2009b */ sb $v0,0x9b($sp) +/* 3585c: 8fa4009c */ lw $a0,0x9c($sp) +/* 35860: 0c00f629 */ jal func0003d8a4 +/* 35864: 8fa500d0 */ lw $a1,0xd0($sp) +/* 35868: a7a200b6 */ sh $v0,0xb6($sp) +/* 3586c: 8fab0094 */ lw $t3,0x94($sp) +/* 35870: 916c0024 */ lbu $t4,0x24($t3) +/* 35874: 11800005 */ beqz $t4,.L0003588c +/* 35878: 00000000 */ nop +/* 3587c: 8fb80094 */ lw $t8,0x94($sp) +/* 35880: 8f080018 */ lw $t0,0x18($t8) +/* 35884: 10000005 */ b .L0003589c +/* 35888: afa800a0 */ sw $t0,0xa0($sp) +.L0003588c: +/* 3588c: 8fa90084 */ lw $t1,0x84($sp) +/* 35890: 8d2f0000 */ lw $t7,0x0($t1) +/* 35894: 8dee0000 */ lw $t6,0x0($t7) +/* 35898: afae00a0 */ sw $t6,0xa0($sp) +.L0003589c: +/* 3589c: 8faa0084 */ lw $t2,0x84($sp) +/* 358a0: 93b9009b */ lbu $t9,0x9b($sp) +/* 358a4: 93ad0077 */ lbu $t5,0x77($sp) +/* 358a8: 8d450008 */ lw $a1,0x8($t2) +/* 358ac: 93ab0076 */ lbu $t3,0x76($sp) +/* 358b0: c7aa0070 */ lwc1 $f10,0x70($sp) +/* 358b4: 8fac0094 */ lw $t4,0x94($sp) +/* 358b8: afb90010 */ sw $t9,0x10($sp) +/* 358bc: afad0014 */ sw $t5,0x14($sp) +/* 358c0: afab0018 */ sw $t3,0x18($sp) +/* 358c4: e7aa001c */ swc1 $f10,0x1c($sp) +/* 358c8: 8fa800a0 */ lw $t0,0xa0($sp) +/* 358cc: 91980013 */ lbu $t8,0x13($t4) +/* 358d0: 8fa400cc */ lw $a0,0xcc($sp) +/* 358d4: 8fa6007c */ lw $a2,0x7c($sp) +/* 358d8: 87a700b6 */ lh $a3,0xb6($sp) +/* 358dc: afa80024 */ sw $t0,0x24($sp) +/* 358e0: 0c00f370 */ jal func0003cdc0 +/* 358e4: afb80020 */ sw $t8,0x20($sp) +/* 358e8: 24090006 */ addiu $t1,$zero,0x6 +/* 358ec: a7a900a4 */ sh $t1,0xa4($sp) +/* 358f0: 8faf00cc */ lw $t7,0xcc($sp) +/* 358f4: afaf00a8 */ sw $t7,0xa8($sp) +/* 358f8: 8fae0094 */ lw $t6,0x94($sp) +/* 358fc: 91ca0024 */ lbu $t2,0x24($t6) +/* 35900: 11400008 */ beqz $t2,.L00035924 +/* 35904: 00000000 */ nop +/* 35908: 8fb90094 */ lw $t9,0x94($sp) +/* 3590c: 932d0026 */ lbu $t5,0x26($t9) +/* 35910: a3ad00b0 */ sb $t5,0xb0($sp) +/* 35914: 8fab0094 */ lw $t3,0x94($sp) +/* 35918: 8d6c001c */ lw $t4,0x1c($t3) +/* 3591c: 10000009 */ b .L00035944 +/* 35920: afac00ac */ sw $t4,0xac($sp) +.L00035924: +/* 35924: 8fb80084 */ lw $t8,0x84($sp) +/* 35928: 8f080000 */ lw $t0,0x0($t8) +/* 3592c: 9109000d */ lbu $t1,0xd($t0) +/* 35930: a3a900b0 */ sb $t1,0xb0($sp) +/* 35934: 8faf0084 */ lw $t7,0x84($sp) +/* 35938: 8dee0000 */ lw $t6,0x0($t7) +/* 3593c: 8dca0004 */ lw $t2,0x4($t6) +/* 35940: afaa00ac */ sw $t2,0xac($sp) +.L00035944: +/* 35944: 8fa400d0 */ lw $a0,0xd0($sp) +/* 35948: 27a500a4 */ addiu $a1,$sp,0xa4 +/* 3594c: 8fa600a0 */ lw $a2,0xa0($sp) +/* 35950: 00003825 */ or $a3,$zero,$zero +/* 35954: 0c00f184 */ jal alEvtqPostEvent +/* 35958: 24840048 */ addiu $a0,$a0,0x48 +/* 3595c: 8fb900b8 */ lw $t9,0xb8($sp) +/* 35960: 8f2d0008 */ lw $t5,0x8($t9) +/* 35964: 11a0001d */ beqz $t5,.L000359dc +/* 35968: 00000000 */ nop +/* 3596c: 240b0015 */ addiu $t3,$zero,0x15 +/* 35970: a7ab00a4 */ sh $t3,0xa4($sp) +/* 35974: 93ac00c3 */ lbu $t4,0xc3($sp) +/* 35978: 35980080 */ ori $t8,$t4,0x80 +/* 3597c: a3b800ac */ sb $t8,0xac($sp) +/* 35980: 93a800c2 */ lbu $t0,0xc2($sp) +/* 35984: a3a800ad */ sb $t0,0xad($sp) +/* 35988: a3a000ae */ sb $zero,0xae($sp) +/* 3598c: 8fa900d0 */ lw $t1,0xd0($sp) +/* 35990: 8fae00b8 */ lw $t6,0xb8($sp) +/* 35994: 8d2f0024 */ lw $t7,0x24($t1) +/* 35998: 8dca0008 */ lw $t2,0x8($t6) +/* 3599c: 01ea0019 */ multu $t7,$t2 +/* 359a0: 0000c812 */ mflo $t9 +/* 359a4: afb900a0 */ sw $t9,0xa0($sp) +/* 359a8: 00000000 */ nop +/* 359ac: 93ab00c3 */ lbu $t3,0xc3($sp) +/* 359b0: 8fad00a0 */ lw $t5,0xa0($sp) +/* 359b4: 3c01800a */ lui $at,%hi(var8009c350) +/* 359b8: 000b6080 */ sll $t4,$t3,0x2 +/* 359bc: 002c0821 */ addu $at,$at,$t4 +/* 359c0: ac2dc350 */ sw $t5,%lo(var8009c350)($at) +/* 359c4: 8fa400d0 */ lw $a0,0xd0($sp) +/* 359c8: 27a500a4 */ addiu $a1,$sp,0xa4 +/* 359cc: 8fa600a0 */ lw $a2,0xa0($sp) +/* 359d0: 00003825 */ or $a3,$zero,$zero +/* 359d4: 0c00f184 */ jal alEvtqPostEvent +/* 359d8: 24840048 */ addiu $a0,$a0,0x48 +.L000359dc: +/* 359dc: 8fb80094 */ lw $t8,0x94($sp) +/* 359e0: 93080010 */ lbu $t0,0x10($t8) +/* 359e4: 31090001 */ andi $t1,$t0,0x1 +/* 359e8: 11200014 */ beqz $t1,.L00035a3c +/* 359ec: 00000000 */ nop +/* 359f0: 8fae00d0 */ lw $t6,0xd0($sp) +/* 359f4: 8dcf0084 */ lw $t7,0x84($t6) +/* 359f8: 11e00010 */ beqz $t7,.L00035a3c +/* 359fc: 00000000 */ nop +/* 35a00: 93b900c3 */ lbu $t9,0xc3($sp) +/* 35a04: 8fb80094 */ lw $t8,0x94($sp) +/* 35a08: 3c0d800a */ lui $t5,%hi(var8009c350) +/* 35a0c: 00195880 */ sll $t3,$t9,0x2 +/* 35a10: 01ab6821 */ addu $t5,$t5,$t3 +/* 35a14: 8dadc350 */ lw $t5,%lo(var8009c350)($t5) +/* 35a18: 93080010 */ lbu $t0,0x10($t8) +/* 35a1c: 8faa00d0 */ lw $t2,0xd0($sp) +/* 35a20: 2401ff00 */ addiu $at,$zero,-256 +/* 35a24: 01a16024 */ and $t4,$t5,$at +/* 35a28: 00084883 */ sra $t1,$t0,0x2 +/* 35a2c: 01892825 */ or $a1,$t4,$t1 +/* 35a30: 00003025 */ or $a2,$zero,$zero +/* 35a34: 0c012238 */ jal osSendMesg +/* 35a38: 8d440084 */ lw $a0,0x84($t2) +.L00035a3c: +/* 35a3c: 100005f0 */ b .L00037200 +/* 35a40: 00000000 */ nop +.L00035a44: +/* 35a44: 8fa400d0 */ lw $a0,0xd0($sp) +/* 35a48: 93a500c2 */ lbu $a1,0xc2($sp) +/* 35a4c: 0c00f5a7 */ jal func0003d69c +/* 35a50: 93a600c3 */ lbu $a2,0xc3($sp) +/* 35a54: afa2009c */ sw $v0,0x9c($sp) +/* 35a58: 8fae009c */ lw $t6,0x9c($sp) +/* 35a5c: 15c00003 */ bnez $t6,.L00035a6c +/* 35a60: 00000000 */ nop +/* 35a64: 100005e8 */ b .L00037208 +/* 35a68: 00000000 */ nop +.L00035a6c: +/* 35a6c: 93b900c3 */ lbu $t9,0xc3($sp) +/* 35a70: 8faf00d0 */ lw $t7,0xd0($sp) +/* 35a74: 00195880 */ sll $t3,$t9,0x2 +/* 35a78: 01795823 */ subu $t3,$t3,$t9 +/* 35a7c: 8dea0060 */ lw $t2,0x60($t7) +/* 35a80: 000b5880 */ sll $t3,$t3,0x2 +/* 35a84: 01795821 */ addu $t3,$t3,$t9 +/* 35a88: 000b5880 */ sll $t3,$t3,0x2 +/* 35a8c: 014b6821 */ addu $t5,$t2,$t3 +/* 35a90: afad0094 */ sw $t5,0x94($sp) +/* 35a94: 8fb8009c */ lw $t8,0x9c($sp) +/* 35a98: 24010002 */ addiu $at,$zero,0x2 +/* 35a9c: 93080035 */ lbu $t0,0x35($t8) +/* 35aa0: 15010005 */ bne $t0,$at,.L00035ab8 +/* 35aa4: 00000000 */ nop +/* 35aa8: 8fa9009c */ lw $t1,0x9c($sp) +/* 35aac: 240c0004 */ addiu $t4,$zero,0x4 +/* 35ab0: 10000017 */ b .L00035b10 +/* 35ab4: a12c0035 */ sb $t4,0x35($t1) +.L00035ab8: +/* 35ab8: 8faf009c */ lw $t7,0x9c($sp) +/* 35abc: 240e0003 */ addiu $t6,$zero,0x3 +/* 35ac0: a1ee0035 */ sb $t6,0x35($t7) +/* 35ac4: 8fb90094 */ lw $t9,0x94($sp) +/* 35ac8: 932a0024 */ lbu $t2,0x24($t9) +/* 35acc: 11400009 */ beqz $t2,.L00035af4 +/* 35ad0: 00000000 */ nop +/* 35ad4: 8fa5009c */ lw $a1,0x9c($sp) +/* 35ad8: 8fab0094 */ lw $t3,0x94($sp) +/* 35adc: 8fa400d0 */ lw $a0,0xd0($sp) +/* 35ae0: 24a50004 */ addiu $a1,$a1,0x4 +/* 35ae4: 0c00f4d0 */ jal func0003d340 +/* 35ae8: 8d660020 */ lw $a2,0x20($t3) +/* 35aec: 10000008 */ b .L00035b10 +/* 35af0: 00000000 */ nop +.L00035af4: +/* 35af4: 8fad009c */ lw $t5,0x9c($sp) +/* 35af8: 8fa400d0 */ lw $a0,0xd0($sp) +/* 35afc: 8db80020 */ lw $t8,0x20($t5) +/* 35b00: 25a50004 */ addiu $a1,$t5,0x4 +/* 35b04: 8f080000 */ lw $t0,0x0($t8) +/* 35b08: 0c00f4d0 */ jal func0003d340 +/* 35b0c: 8d060008 */ lw $a2,0x8($t0) +.L00035b10: +/* 35b10: 8fac0094 */ lw $t4,0x94($sp) +/* 35b14: 91890010 */ lbu $t1,0x10($t4) +/* 35b18: 312e0002 */ andi $t6,$t1,0x2 +/* 35b1c: 11c00010 */ beqz $t6,.L00035b60 +/* 35b20: 00000000 */ nop +/* 35b24: 8faf00d0 */ lw $t7,0xd0($sp) +/* 35b28: 8df90084 */ lw $t9,0x84($t7) +/* 35b2c: 1320000c */ beqz $t9,.L00035b60 +/* 35b30: 00000000 */ nop +/* 35b34: 8fa80094 */ lw $t0,0x94($sp) +/* 35b38: 93ab00c2 */ lbu $t3,0xc2($sp) +/* 35b3c: 8faa00d0 */ lw $t2,0xd0($sp) +/* 35b40: 910c0010 */ lbu $t4,0x10($t0) +/* 35b44: 000b6c00 */ sll $t5,$t3,0x10 +/* 35b48: 35b80008 */ ori $t8,$t5,0x8 +/* 35b4c: 000c4883 */ sra $t1,$t4,0x2 +/* 35b50: 03092825 */ or $a1,$t8,$t1 +/* 35b54: 00003025 */ or $a2,$zero,$zero +/* 35b58: 0c012238 */ jal osSendMesg +/* 35b5c: 8d440084 */ lw $a0,0x84($t2) +.L00035b60: +/* 35b60: 100005a7 */ b .L00037200 +/* 35b64: 00000000 */ nop +/* 35b68: 8fa400d0 */ lw $a0,0xd0($sp) +/* 35b6c: 93a500c2 */ lbu $a1,0xc2($sp) +/* 35b70: 0c00f5a7 */ jal func0003d69c +/* 35b74: 93a600c3 */ lbu $a2,0xc3($sp) +/* 35b78: afa2009c */ sw $v0,0x9c($sp) +/* 35b7c: 8fae009c */ lw $t6,0x9c($sp) +/* 35b80: 15c00003 */ bnez $t6,.L00035b90 +/* 35b84: 00000000 */ nop +/* 35b88: 1000059f */ b .L00037208 +/* 35b8c: 00000000 */ nop +.L00035b90: +/* 35b90: 93af00bf */ lbu $t7,0xbf($sp) +/* 35b94: 8fb9009c */ lw $t9,0x9c($sp) +/* 35b98: a32f0033 */ sb $t7,0x33($t9) +/* 35b9c: 8fa4009c */ lw $a0,0x9c($sp) +/* 35ba0: 0c00f629 */ jal func0003d8a4 +/* 35ba4: 8fa500d0 */ lw $a1,0xd0($sp) +/* 35ba8: 8faa00d0 */ lw $t2,0xd0($sp) +/* 35bac: 00028c00 */ sll $s1,$v0,0x10 +/* 35bb0: 00118c03 */ sra $s1,$s1,0x10 +/* 35bb4: 8fa4009c */ lw $a0,0x9c($sp) +/* 35bb8: 0c00f6b4 */ jal func0003dad0 +/* 35bbc: 8d45001c */ lw $a1,0x1c($t2) +/* 35bc0: 8fa4009c */ lw $a0,0x9c($sp) +/* 35bc4: 00408025 */ or $s0,$v0,$zero +/* 35bc8: 02003025 */ or $a2,$s0,$zero +/* 35bcc: 02202825 */ or $a1,$s1,$zero +/* 35bd0: 0c00f33c */ jal func0003ccf0 +/* 35bd4: 24840004 */ addiu $a0,$a0,0x4 +/* 35bd8: 10000589 */ b .L00037200 +/* 35bdc: 00000000 */ nop +/* 35be0: 8fab00d0 */ lw $t3,0xd0($sp) +/* 35be4: 8d6d0064 */ lw $t5,0x64($t3) +/* 35be8: 11a0001c */ beqz $t5,.L00035c5c +/* 35bec: afad00c8 */ sw $t5,0xc8($sp) +.L00035bf0: +/* 35bf0: 8fa800c8 */ lw $t0,0xc8($sp) +/* 35bf4: 93b800c3 */ lbu $t8,0xc3($sp) +/* 35bf8: 910c0031 */ lbu $t4,0x31($t0) +/* 35bfc: 15980013 */ bne $t4,$t8,.L00035c4c +/* 35c00: 00000000 */ nop +/* 35c04: 93a900c0 */ lbu $t1,0xc0($sp) +/* 35c08: 8fae00c8 */ lw $t6,0xc8($sp) +/* 35c0c: a1c90033 */ sb $t1,0x33($t6) +/* 35c10: 8fa400c8 */ lw $a0,0xc8($sp) +/* 35c14: 0c00f629 */ jal func0003d8a4 +/* 35c18: 8fa500d0 */ lw $a1,0xd0($sp) +/* 35c1c: 8faf00d0 */ lw $t7,0xd0($sp) +/* 35c20: 00028c00 */ sll $s1,$v0,0x10 +/* 35c24: 00118c03 */ sra $s1,$s1,0x10 +/* 35c28: 8fa400c8 */ lw $a0,0xc8($sp) +/* 35c2c: 0c00f6b4 */ jal func0003dad0 +/* 35c30: 8de5001c */ lw $a1,0x1c($t7) +/* 35c34: 8fa400c8 */ lw $a0,0xc8($sp) +/* 35c38: 00408025 */ or $s0,$v0,$zero +/* 35c3c: 02003025 */ or $a2,$s0,$zero +/* 35c40: 02202825 */ or $a1,$s1,$zero +/* 35c44: 0c00f33c */ jal func0003ccf0 +/* 35c48: 24840004 */ addiu $a0,$a0,0x4 +.L00035c4c: +/* 35c4c: 8fb900c8 */ lw $t9,0xc8($sp) +/* 35c50: 8f2a0000 */ lw $t2,0x0($t9) +/* 35c54: 1540ffe6 */ bnez $t2,.L00035bf0 +/* 35c58: afaa00c8 */ sw $t2,0xc8($sp) +.L00035c5c: +/* 35c5c: 10000568 */ b .L00037200 +/* 35c60: 00000000 */ nop +/* 35c64: 93b000c0 */ lbu $s0,0xc0($sp) +/* 35c68: 2a01005d */ slti $at,$s0,0x5d +/* 35c6c: 1420000f */ bnez $at,.L00035cac +/* 35c70: 00000000 */ nop +/* 35c74: 240100fc */ addiu $at,$zero,0xfc +/* 35c78: 1201012d */ beq $s0,$at,.L00036130 +/* 35c7c: 00000000 */ nop +/* 35c80: 240100fd */ addiu $at,$zero,0xfd +/* 35c84: 12010050 */ beq $s0,$at,.L00035dc8 +/* 35c88: 00000000 */ nop +/* 35c8c: 240100fe */ addiu $at,$zero,0xfe +/* 35c90: 120100ab */ beq $s0,$at,.L00035f40 +/* 35c94: 00000000 */ nop +/* 35c98: 240100ff */ addiu $at,$zero,0xff +/* 35c9c: 12010057 */ beq $s0,$at,.L00035dfc +/* 35ca0: 00000000 */ nop +/* 35ca4: 100004bf */ b .L00036fa4 +/* 35ca8: 00000000 */ nop +.L00035cac: +/* 35cac: 2a010042 */ slti $at,$s0,0x42 +/* 35cb0: 14200009 */ bnez $at,.L00035cd8 +/* 35cb4: 00000000 */ nop +/* 35cb8: 2401005b */ addiu $at,$zero,0x5b +/* 35cbc: 12010244 */ beq $s0,$at,.L000365d0 +/* 35cc0: 00000000 */ nop +/* 35cc4: 2401005c */ addiu $at,$zero,0x5c +/* 35cc8: 12010286 */ beq $s0,$at,.L000366e4 +/* 35ccc: 00000000 */ nop +/* 35cd0: 100004b4 */ b .L00036fa4 +/* 35cd4: 00000000 */ nop +.L00035cd8: +/* 35cd8: 2a010041 */ slti $at,$s0,0x41 +/* 35cdc: 14200006 */ bnez $at,.L00035cf8 +/* 35ce0: 00000000 */ nop +/* 35ce4: 24010041 */ addiu $at,$zero,0x41 +/* 35ce8: 12010253 */ beq $s0,$at,.L00036638 +/* 35cec: 00000000 */ nop +/* 35cf0: 100004ac */ b .L00036fa4 +/* 35cf4: 00000000 */ nop +.L00035cf8: +/* 35cf8: 2a010024 */ slti $at,$s0,0x24 +/* 35cfc: 14200006 */ bnez $at,.L00035d18 +/* 35d00: 00000000 */ nop +/* 35d04: 24010040 */ addiu $at,$zero,0x40 +/* 35d08: 120101c0 */ beq $s0,$at,.L0003640c +/* 35d0c: 00000000 */ nop +/* 35d10: 100004a4 */ b .L00036fa4 +/* 35d14: 00000000 */ nop +.L00035d18: +/* 35d18: 260bffff */ addiu $t3,$s0,-1 +/* 35d1c: 2d610023 */ sltiu $at,$t3,0x23 +/* 35d20: 102004a0 */ beqz $at,.L00036fa4 +/* 35d24: 00000000 */ nop +/* 35d28: 000b5880 */ sll $t3,$t3,0x2 +/* 35d2c: 3c017005 */ lui $at,%hi(var700549bc) +/* 35d30: 002b0821 */ addu $at,$at,$t3 +/* 35d34: 8c2b49bc */ lw $t3,%lo(var700549bc)($at) +/* 35d38: 01600008 */ jr $t3 +/* 35d3c: 00000000 */ nop +/* 35d40: 93b800c3 */ lbu $t8,0xc3($sp) +/* 35d44: 8fa800d0 */ lw $t0,0xd0($sp) +/* 35d48: 93ad00bf */ lbu $t5,0xbf($sp) +/* 35d4c: 00184880 */ sll $t1,$t8,0x2 +/* 35d50: 01384823 */ subu $t1,$t1,$t8 +/* 35d54: 8d0c0060 */ lw $t4,0x60($t0) +/* 35d58: 00094880 */ sll $t1,$t1,0x2 +/* 35d5c: 01384821 */ addu $t1,$t1,$t8 +/* 35d60: 00094880 */ sll $t1,$t1,0x2 +/* 35d64: 01897021 */ addu $t6,$t4,$t1 +/* 35d68: a1cd0007 */ sb $t5,0x7($t6) +/* 35d6c: 8faf00d0 */ lw $t7,0xd0($sp) +/* 35d70: 8df90064 */ lw $t9,0x64($t7) +/* 35d74: 13200012 */ beqz $t9,.L00035dc0 +/* 35d78: afb900c8 */ sw $t9,0xc8($sp) +.L00035d7c: +/* 35d7c: 8faa00c8 */ lw $t2,0xc8($sp) +/* 35d80: 93a800c3 */ lbu $t0,0xc3($sp) +/* 35d84: 914b0031 */ lbu $t3,0x31($t2) +/* 35d88: 15680009 */ bne $t3,$t0,.L00035db0 +/* 35d8c: 00000000 */ nop +/* 35d90: 8fa400c8 */ lw $a0,0xc8($sp) +/* 35d94: 0c00f6c5 */ jal func0003db14 +/* 35d98: 8fa500d0 */ lw $a1,0xd0($sp) +/* 35d9c: a3a2009b */ sb $v0,0x9b($sp) +/* 35da0: 8fa400c8 */ lw $a0,0xc8($sp) +/* 35da4: 93a5009b */ lbu $a1,0x9b($sp) +/* 35da8: 0c00f3bc */ jal func0003cef0 +/* 35dac: 24840004 */ addiu $a0,$a0,0x4 +.L00035db0: +/* 35db0: 8fb800c8 */ lw $t8,0xc8($sp) +/* 35db4: 8f0c0000 */ lw $t4,0x0($t8) +/* 35db8: 1580fff0 */ bnez $t4,.L00035d7c +/* 35dbc: afac00c8 */ sw $t4,0xc8($sp) +.L00035dc0: +/* 35dc0: 1000047a */ b .L00036fac +/* 35dc4: 00000000 */ nop +.L00035dc8: +/* 35dc8: 93af00c3 */ lbu $t7,0xc3($sp) +/* 35dcc: 8fad00d0 */ lw $t5,0xd0($sp) +/* 35dd0: 93a900bf */ lbu $t1,0xbf($sp) +/* 35dd4: 000fc880 */ sll $t9,$t7,0x2 +/* 35dd8: 032fc823 */ subu $t9,$t9,$t7 +/* 35ddc: 8dae0060 */ lw $t6,0x60($t5) +/* 35de0: 0019c880 */ sll $t9,$t9,0x2 +/* 35de4: 032fc821 */ addu $t9,$t9,$t7 +/* 35de8: 0019c880 */ sll $t9,$t9,0x2 +/* 35dec: 01d95021 */ addu $t2,$t6,$t9 +/* 35df0: a149000f */ sb $t1,0xf($t2) +/* 35df4: 1000046d */ b .L00036fac +/* 35df8: 00000000 */ nop +.L00035dfc: +/* 35dfc: 93b800c3 */ lbu $t8,0xc3($sp) +/* 35e00: 8fab00d0 */ lw $t3,0xd0($sp) +/* 35e04: 00186080 */ sll $t4,$t8,0x2 +/* 35e08: 01986023 */ subu $t4,$t4,$t8 +/* 35e0c: 8d680060 */ lw $t0,0x60($t3) +/* 35e10: 000c6080 */ sll $t4,$t4,0x2 +/* 35e14: 01986021 */ addu $t4,$t4,$t8 +/* 35e18: 000c6080 */ sll $t4,$t4,0x2 +/* 35e1c: 010c6821 */ addu $t5,$t0,$t4 +/* 35e20: 91af000f */ lbu $t7,0xf($t5) +/* 35e24: 15e0000c */ bnez $t7,.L00035e58 +/* 35e28: 00000000 */ nop +/* 35e2c: 93aa00c3 */ lbu $t2,0xc3($sp) +/* 35e30: 8fb900d0 */ lw $t9,0xd0($sp) +/* 35e34: 240e0090 */ addiu $t6,$zero,0x90 +/* 35e38: 000a5880 */ sll $t3,$t2,0x2 +/* 35e3c: 016a5823 */ subu $t3,$t3,$t2 +/* 35e40: 8f290060 */ lw $t1,0x60($t9) +/* 35e44: 000b5880 */ sll $t3,$t3,0x2 +/* 35e48: 016a5821 */ addu $t3,$t3,$t2 +/* 35e4c: 000b5880 */ sll $t3,$t3,0x2 +/* 35e50: 012bc021 */ addu $t8,$t1,$t3 +/* 35e54: a30e000f */ sb $t6,0xf($t8) +.L00035e58: +/* 35e58: 93ad00c3 */ lbu $t5,0xc3($sp) +/* 35e5c: 8fa800d0 */ lw $t0,0xd0($sp) +/* 35e60: 93a900bf */ lbu $t1,0xbf($sp) +/* 35e64: 000d7880 */ sll $t7,$t5,0x2 +/* 35e68: 01ed7823 */ subu $t7,$t7,$t5 +/* 35e6c: 8d0c0060 */ lw $t4,0x60($t0) +/* 35e70: 000f7880 */ sll $t7,$t7,0x2 +/* 35e74: 01ed7821 */ addu $t7,$t7,$t5 +/* 35e78: 000f7880 */ sll $t7,$t7,0x2 +/* 35e7c: 018fc821 */ addu $t9,$t4,$t7 +/* 35e80: 932a000e */ lbu $t2,0xe($t9) +/* 35e84: 11490029 */ beq $t2,$t1,.L00035f2c +/* 35e88: 00000000 */ nop +/* 35e8c: 93b800c3 */ lbu $t8,0xc3($sp) +/* 35e90: 8fab00d0 */ lw $t3,0xd0($sp) +/* 35e94: 00184080 */ sll $t0,$t8,0x2 +/* 35e98: 01184023 */ subu $t0,$t0,$t8 +/* 35e9c: 8d6e0060 */ lw $t6,0x60($t3) +/* 35ea0: 00084080 */ sll $t0,$t0,0x2 +/* 35ea4: 01184021 */ addu $t0,$t0,$t8 +/* 35ea8: 00084080 */ sll $t0,$t0,0x2 +/* 35eac: 01c86821 */ addu $t5,$t6,$t0 +/* 35eb0: 91ac000d */ lbu $t4,0xd($t5) +/* 35eb4: 91af000e */ lbu $t7,0xe($t5) +/* 35eb8: 158f000d */ bne $t4,$t7,.L00035ef0 +/* 35ebc: 00000000 */ nop +/* 35ec0: 93ab00c3 */ lbu $t3,0xc3($sp) +/* 35ec4: 8faa00d0 */ lw $t2,0xd0($sp) +/* 35ec8: 93b900bf */ lbu $t9,0xbf($sp) +/* 35ecc: 000bc080 */ sll $t8,$t3,0x2 +/* 35ed0: 030bc023 */ subu $t8,$t8,$t3 +/* 35ed4: 8d490060 */ lw $t1,0x60($t2) +/* 35ed8: 0018c080 */ sll $t8,$t8,0x2 +/* 35edc: 030bc021 */ addu $t8,$t8,$t3 +/* 35ee0: 0018c080 */ sll $t8,$t8,0x2 +/* 35ee4: 01387021 */ addu $t6,$t1,$t8 +/* 35ee8: 1000000e */ b .L00035f24 +/* 35eec: a1d9000e */ sb $t9,0xe($t6) +.L00035ef0: +/* 35ef0: 93af00c3 */ lbu $t7,0xc3($sp) +/* 35ef4: 8fad00d0 */ lw $t5,0xd0($sp) +/* 35ef8: 93a800bf */ lbu $t0,0xbf($sp) +/* 35efc: 000f5080 */ sll $t2,$t7,0x2 +/* 35f00: 014f5023 */ subu $t2,$t2,$t7 +/* 35f04: 8dac0060 */ lw $t4,0x60($t5) +/* 35f08: 000a5080 */ sll $t2,$t2,0x2 +/* 35f0c: 014f5021 */ addu $t2,$t2,$t7 +/* 35f10: 000a5080 */ sll $t2,$t2,0x2 +/* 35f14: 018a5821 */ addu $t3,$t4,$t2 +/* 35f18: a168000e */ sb $t0,0xe($t3) +/* 35f1c: 10000423 */ b .L00036fac +/* 35f20: 00000000 */ nop +.L00035f24: +/* 35f24: 10000003 */ b .L00035f34 +/* 35f28: 00000000 */ nop +.L00035f2c: +/* 35f2c: 1000041f */ b .L00036fac +/* 35f30: 00000000 */ nop +.L00035f34: +/* 35f34: 8fb800b8 */ lw $t8,0xb8($sp) +/* 35f38: 240900fe */ addiu $t1,$zero,0xfe +/* 35f3c: a3090005 */ sb $t1,0x5($t8) +.L00035f40: +/* 35f40: 93ad00c3 */ lbu $t5,0xc3($sp) +/* 35f44: 8fb900d0 */ lw $t9,0xd0($sp) +/* 35f48: 000d7880 */ sll $t7,$t5,0x2 +/* 35f4c: 01ed7823 */ subu $t7,$t7,$t5 +/* 35f50: 8f2e0060 */ lw $t6,0x60($t9) +/* 35f54: 000f7880 */ sll $t7,$t7,0x2 +/* 35f58: 01ed7821 */ addu $t7,$t7,$t5 +/* 35f5c: 000f7880 */ sll $t7,$t7,0x2 +/* 35f60: 01cf6021 */ addu $t4,$t6,$t7 +/* 35f64: 918a000d */ lbu $t2,0xd($t4) +/* 35f68: a3aa0067 */ sb $t2,0x67($sp) +/* 35f6c: 93a900c3 */ lbu $t1,0xc3($sp) +/* 35f70: 8fa800d0 */ lw $t0,0xd0($sp) +/* 35f74: 0009c080 */ sll $t8,$t1,0x2 +/* 35f78: 0309c023 */ subu $t8,$t8,$t1 +/* 35f7c: 8d0b0060 */ lw $t3,0x60($t0) +/* 35f80: 0018c080 */ sll $t8,$t8,0x2 +/* 35f84: 0309c021 */ addu $t8,$t8,$t1 +/* 35f88: 0018c080 */ sll $t8,$t8,0x2 +/* 35f8c: 0178c821 */ addu $t9,$t3,$t8 +/* 35f90: 932d000e */ lbu $t5,0xe($t9) +/* 35f94: a3ad0066 */ sb $t5,0x66($sp) +/* 35f98: 93ac00c3 */ lbu $t4,0xc3($sp) +/* 35f9c: 8fae00d0 */ lw $t6,0xd0($sp) +/* 35fa0: 000c5080 */ sll $t2,$t4,0x2 +/* 35fa4: 014c5023 */ subu $t2,$t2,$t4 +/* 35fa8: 8dcf0060 */ lw $t7,0x60($t6) +/* 35fac: 000a5080 */ sll $t2,$t2,0x2 +/* 35fb0: 014c5021 */ addu $t2,$t2,$t4 +/* 35fb4: 000a5080 */ sll $t2,$t2,0x2 +/* 35fb8: 01ea4021 */ addu $t0,$t7,$t2 +/* 35fbc: 9109000f */ lbu $t1,0xf($t0) +/* 35fc0: a3a900c1 */ sb $t1,0xc1($sp) +/* 35fc4: 93ab0066 */ lbu $t3,0x66($sp) +/* 35fc8: 93b80067 */ lbu $t8,0x67($sp) +/* 35fcc: 0178c823 */ subu $t9,$t3,$t8 +/* 35fd0: afb90060 */ sw $t9,0x60($sp) +/* 35fd4: 8fad0060 */ lw $t5,0x60($sp) +/* 35fd8: 19a00012 */ blez $t5,.L00036024 +/* 35fdc: 00000000 */ nop +/* 35fe0: 93ae00c1 */ lbu $t6,0xc1($sp) +/* 35fe4: 31cc0080 */ andi $t4,$t6,0x80 +/* 35fe8: 11800005 */ beqz $t4,.L00036000 +/* 35fec: 00000000 */ nop +/* 35ff0: 93af00c1 */ lbu $t7,0xc1($sp) +/* 35ff4: 31ea007f */ andi $t2,$t7,0x7f +/* 35ff8: 000a4040 */ sll $t0,$t2,0x1 +/* 35ffc: a3a800c1 */ sb $t0,0xc1($sp) +.L00036000: +/* 36000: 8fa90060 */ lw $t1,0x60($sp) +/* 36004: 93ab00c1 */ lbu $t3,0xc1($sp) +/* 36008: 0169082a */ slt $at,$t3,$t1 +/* 3600c: 10200003 */ beqz $at,.L0003601c +/* 36010: 00000000 */ nop +/* 36014: 93b800c1 */ lbu $t8,0xc1($sp) +/* 36018: afb80060 */ sw $t8,0x60($sp) +.L0003601c: +/* 3601c: 1000000d */ b .L00036054 +/* 36020: 00000000 */ nop +.L00036024: +/* 36024: 93b900c1 */ lbu $t9,0xc1($sp) +/* 36028: 332d007f */ andi $t5,$t9,0x7f +/* 3602c: a3ad00c1 */ sb $t5,0xc1($sp) +/* 36030: 93ac00c1 */ lbu $t4,0xc1($sp) +/* 36034: 8fae0060 */ lw $t6,0x60($sp) +/* 36038: 000c7823 */ negu $t7,$t4 +/* 3603c: 01cf082a */ slt $at,$t6,$t7 +/* 36040: 10200004 */ beqz $at,.L00036054 +/* 36044: 00000000 */ nop +/* 36048: 93aa00c1 */ lbu $t2,0xc1($sp) +/* 3604c: 000a4023 */ negu $t0,$t2 +/* 36050: afa80060 */ sw $t0,0x60($sp) +.L00036054: +/* 36054: 93a90067 */ lbu $t1,0x67($sp) +/* 36058: 8fab0060 */ lw $t3,0x60($sp) +/* 3605c: 012bc021 */ addu $t8,$t1,$t3 +/* 36060: a3b80067 */ sb $t8,0x67($sp) +/* 36064: 93ae00c3 */ lbu $t6,0xc3($sp) +/* 36068: 8fad00d0 */ lw $t5,0xd0($sp) +/* 3606c: 93b90067 */ lbu $t9,0x67($sp) +/* 36070: 000e7880 */ sll $t7,$t6,0x2 +/* 36074: 01ee7823 */ subu $t7,$t7,$t6 +/* 36078: 8dac0060 */ lw $t4,0x60($t5) +/* 3607c: 000f7880 */ sll $t7,$t7,0x2 +/* 36080: 01ee7821 */ addu $t7,$t7,$t6 +/* 36084: 000f7880 */ sll $t7,$t7,0x2 +/* 36088: 018f5021 */ addu $t2,$t4,$t7 +/* 3608c: a159000d */ sb $t9,0xd($t2) +/* 36090: 93a80067 */ lbu $t0,0x67($sp) +/* 36094: 93a90066 */ lbu $t1,0x66($sp) +/* 36098: 1109000d */ beq $t0,$t1,.L000360d0 +/* 3609c: 00000000 */ nop +/* 360a0: 8fab00d0 */ lw $t3,0xd0($sp) +/* 360a4: 8fa500d4 */ lw $a1,0xd4($sp) +/* 360a8: 00003825 */ or $a3,$zero,$zero +/* 360ac: 8d660024 */ lw $a2,0x24($t3) +/* 360b0: 25640048 */ addiu $a0,$t3,0x48 +/* 360b4: 00c00821 */ addu $at,$a2,$zero +/* 360b8: 00013080 */ sll $a2,$at,0x2 +/* 360bc: 00c13023 */ subu $a2,$a2,$at +/* 360c0: 000630c0 */ sll $a2,$a2,0x3 +/* 360c4: 00c13021 */ addu $a2,$a2,$at +/* 360c8: 0c00f184 */ jal alEvtqPostEvent +/* 360cc: 00063080 */ sll $a2,$a2,0x2 +.L000360d0: +/* 360d0: 93b80067 */ lbu $t8,0x67($sp) +/* 360d4: 13000009 */ beqz $t8,.L000360fc +/* 360d8: 00000000 */ nop +/* 360dc: 8fad00d0 */ lw $t5,0xd0($sp) +/* 360e0: 93ac00c3 */ lbu $t4,0xc3($sp) +/* 360e4: 240f0001 */ addiu $t7,$zero,0x1 +/* 360e8: 95ae0030 */ lhu $t6,0x30($t5) +/* 360ec: 018fc804 */ sllv $t9,$t7,$t4 +/* 360f0: 01d95025 */ or $t2,$t6,$t9 +/* 360f4: 10000009 */ b .L0003611c +/* 360f8: a5aa0030 */ sh $t2,0x30($t5) +.L000360fc: +/* 360fc: 8fa800d0 */ lw $t0,0xd0($sp) +/* 36100: 93ab00c3 */ lbu $t3,0xc3($sp) +/* 36104: 24180001 */ addiu $t8,$zero,0x1 +/* 36108: 95090030 */ lhu $t1,0x30($t0) +/* 3610c: 01787804 */ sllv $t7,$t8,$t3 +/* 36110: 01e06027 */ nor $t4,$t7,$zero +/* 36114: 012c7024 */ and $t6,$t1,$t4 +/* 36118: a50e0030 */ sh $t6,0x30($t0) +.L0003611c: +/* 3611c: 8fa400d0 */ lw $a0,0xd0($sp) +/* 36120: 0c00d3c3 */ jal func00034f0c +/* 36124: 93a500c3 */ lbu $a1,0xc3($sp) +/* 36128: 100003a0 */ b .L00036fac +/* 3612c: 00000000 */ nop +.L00036130: +/* 36130: 93b800c3 */ lbu $t8,0xc3($sp) +/* 36134: 8faa00d0 */ lw $t2,0xd0($sp) +/* 36138: 93b900bf */ lbu $t9,0xbf($sp) +/* 3613c: 00185880 */ sll $t3,$t8,0x2 +/* 36140: 01785823 */ subu $t3,$t3,$t8 +/* 36144: 8d4d0060 */ lw $t5,0x60($t2) +/* 36148: 000b5880 */ sll $t3,$t3,0x2 +/* 3614c: 01785821 */ addu $t3,$t3,$t8 +/* 36150: 000b5880 */ sll $t3,$t3,0x2 +/* 36154: 01ab7821 */ addu $t7,$t5,$t3 +/* 36158: a1f9000d */ sb $t9,0xd($t7) +/* 3615c: 93a800c3 */ lbu $t0,0xc3($sp) +/* 36160: 8fac00d0 */ lw $t4,0xd0($sp) +/* 36164: 93a900bf */ lbu $t1,0xbf($sp) +/* 36168: 00085080 */ sll $t2,$t0,0x2 +/* 3616c: 01485023 */ subu $t2,$t2,$t0 +/* 36170: 8d8e0060 */ lw $t6,0x60($t4) +/* 36174: 000a5080 */ sll $t2,$t2,0x2 +/* 36178: 01485021 */ addu $t2,$t2,$t0 +/* 3617c: 000a5080 */ sll $t2,$t2,0x2 +/* 36180: 01cac021 */ addu $t8,$t6,$t2 +/* 36184: a309000e */ sb $t1,0xe($t8) +/* 36188: 93ad00bf */ lbu $t5,0xbf($sp) +/* 3618c: 15a0000a */ bnez $t5,.L000361b8 +/* 36190: 00000000 */ nop +/* 36194: 8fab00d0 */ lw $t3,0xd0($sp) +/* 36198: 93af00c3 */ lbu $t7,0xc3($sp) +/* 3619c: 240c0001 */ addiu $t4,$zero,0x1 +/* 361a0: 95790030 */ lhu $t9,0x30($t3) +/* 361a4: 01ec4004 */ sllv $t0,$t4,$t7 +/* 361a8: 390effff */ xori $t6,$t0,0xffff +/* 361ac: 032e5024 */ and $t2,$t9,$t6 +/* 361b0: 10000008 */ b .L000361d4 +/* 361b4: a56a0030 */ sh $t2,0x30($t3) +.L000361b8: +/* 361b8: 8fa900d0 */ lw $t1,0xd0($sp) +/* 361bc: 93ad00c3 */ lbu $t5,0xc3($sp) +/* 361c0: 240c0001 */ addiu $t4,$zero,0x1 +/* 361c4: 95380030 */ lhu $t8,0x30($t1) +/* 361c8: 01ac7804 */ sllv $t7,$t4,$t5 +/* 361cc: 030f4025 */ or $t0,$t8,$t7 +/* 361d0: a5280030 */ sh $t0,0x30($t1) +.L000361d4: +/* 361d4: 8fa400d0 */ lw $a0,0xd0($sp) +/* 361d8: 0c00d3c3 */ jal func00034f0c +/* 361dc: 93a500c3 */ lbu $a1,0xc3($sp) +/* 361e0: 10000372 */ b .L00036fac +/* 361e4: 00000000 */ nop +/* 361e8: 93ab00c3 */ lbu $t3,0xc3($sp) +/* 361ec: 8fae00d0 */ lw $t6,0xd0($sp) +/* 361f0: 93b900bf */ lbu $t9,0xbf($sp) +/* 361f4: 000b6080 */ sll $t4,$t3,0x2 +/* 361f8: 018b6023 */ subu $t4,$t4,$t3 +/* 361fc: 8dca0060 */ lw $t2,0x60($t6) +/* 36200: 000c6080 */ sll $t4,$t4,0x2 +/* 36204: 018b6021 */ addu $t4,$t4,$t3 +/* 36208: 000c6080 */ sll $t4,$t4,0x2 +/* 3620c: 014c6821 */ addu $t5,$t2,$t4 +/* 36210: a1b90011 */ sb $t9,0x11($t5) +/* 36214: 8fa400d0 */ lw $a0,0xd0($sp) +/* 36218: 0c00d3ee */ jal func00034fb8 +/* 3621c: 93a500c3 */ lbu $a1,0xc3($sp) +/* 36220: 10000362 */ b .L00036fac +/* 36224: 00000000 */ nop +/* 36228: 93a900c3 */ lbu $t1,0xc3($sp) +/* 3622c: 8faf00d0 */ lw $t7,0xd0($sp) +/* 36230: 93b800bf */ lbu $t8,0xbf($sp) +/* 36234: 00097080 */ sll $t6,$t1,0x2 +/* 36238: 01c97023 */ subu $t6,$t6,$t1 +/* 3623c: 8de80060 */ lw $t0,0x60($t7) +/* 36240: 000e7080 */ sll $t6,$t6,0x2 +/* 36244: 01c97021 */ addu $t6,$t6,$t1 +/* 36248: 000e7080 */ sll $t6,$t6,0x2 +/* 3624c: 010e5821 */ addu $t3,$t0,$t6 +/* 36250: a1780012 */ sb $t8,0x12($t3) +/* 36254: 8fa400d0 */ lw $a0,0xd0($sp) +/* 36258: 0c00d3ee */ jal func00034fb8 +/* 3625c: 93a500c3 */ lbu $a1,0xc3($sp) +/* 36260: 10000352 */ b .L00036fac +/* 36264: 00000000 */ nop +/* 36268: 93ad00c3 */ lbu $t5,0xc3($sp) +/* 3626c: 8fac00d0 */ lw $t4,0xd0($sp) +/* 36270: 93aa00bf */ lbu $t2,0xbf($sp) +/* 36274: 000d7880 */ sll $t7,$t5,0x2 +/* 36278: 01ed7823 */ subu $t7,$t7,$t5 +/* 3627c: 8d990060 */ lw $t9,0x60($t4) +/* 36280: 000f7880 */ sll $t7,$t7,0x2 +/* 36284: 01ed7821 */ addu $t7,$t7,$t5 +/* 36288: 000f7880 */ sll $t7,$t7,0x2 +/* 3628c: 032f4821 */ addu $t1,$t9,$t7 +/* 36290: a12a0013 */ sb $t2,0x13($t1) +/* 36294: 8fa800d0 */ lw $t0,0xd0($sp) +/* 36298: 8d0e0064 */ lw $t6,0x64($t0) +/* 3629c: 11c0000e */ beqz $t6,.L000362d8 +/* 362a0: afae00c8 */ sw $t6,0xc8($sp) +.L000362a4: +/* 362a4: 8fb800c8 */ lw $t8,0xc8($sp) +/* 362a8: 93ac00c3 */ lbu $t4,0xc3($sp) +/* 362ac: 930b0031 */ lbu $t3,0x31($t8) +/* 362b0: 156c0005 */ bne $t3,$t4,.L000362c8 +/* 362b4: 00000000 */ nop +/* 362b8: 8fa400c8 */ lw $a0,0xc8($sp) +/* 362bc: 93a500bf */ lbu $a1,0xbf($sp) +/* 362c0: 0c00f9cc */ jal func0003e730 +/* 362c4: 24840004 */ addiu $a0,$a0,0x4 +.L000362c8: +/* 362c8: 8fad00c8 */ lw $t5,0xc8($sp) +/* 362cc: 8db90000 */ lw $t9,0x0($t5) +/* 362d0: 1720fff4 */ bnez $t9,.L000362a4 +/* 362d4: afb900c8 */ sw $t9,0xc8($sp) +.L000362d8: +/* 362d8: 10000334 */ b .L00036fac +/* 362dc: 00000000 */ nop +/* 362e0: 8faf00d0 */ lw $t7,0xd0($sp) +/* 362e4: 8dea0084 */ lw $t2,0x84($t7) +/* 362e8: 1140000d */ beqz $t2,.L00036320 +/* 362ec: 00000000 */ nop +/* 362f0: 8fa900d0 */ lw $t1,0xd0($sp) +/* 362f4: 93a800bf */ lbu $t0,0xbf($sp) +/* 362f8: 2401ff00 */ addiu $at,$zero,-256 +/* 362fc: 8d2b0010 */ lw $t3,0x10($t1) +/* 36300: 310e0007 */ andi $t6,$t0,0x7 +/* 36304: 35d80010 */ ori $t8,$t6,0x10 +/* 36308: 000b6140 */ sll $t4,$t3,0x5 +/* 3630c: 01816824 */ and $t5,$t4,$at +/* 36310: 030d2825 */ or $a1,$t8,$t5 +/* 36314: 00003025 */ or $a2,$zero,$zero +/* 36318: 0c012238 */ jal osSendMesg +/* 3631c: 8d240084 */ lw $a0,0x84($t1) +.L00036320: +/* 36320: 10000322 */ b .L00036fac +/* 36324: 00000000 */ nop +/* 36328: 93a800c3 */ lbu $t0,0xc3($sp) +/* 3632c: 8faf00d0 */ lw $t7,0xd0($sp) +/* 36330: 93b900bf */ lbu $t9,0xbf($sp) +/* 36334: 00087080 */ sll $t6,$t0,0x2 +/* 36338: 01c87023 */ subu $t6,$t6,$t0 +/* 3633c: 8dea0060 */ lw $t2,0x60($t7) +/* 36340: 000e7080 */ sll $t6,$t6,0x2 +/* 36344: 01c87021 */ addu $t6,$t6,$t0 +/* 36348: 000e7080 */ sll $t6,$t6,0x2 +/* 3634c: 014e4821 */ addu $t1,$t2,$t6 +/* 36350: a1390009 */ sb $t9,0x9($t1) +/* 36354: 8fab00d0 */ lw $t3,0xd0($sp) +/* 36358: 8d6c0064 */ lw $t4,0x64($t3) +/* 3635c: 1180001c */ beqz $t4,.L000363d0 +/* 36360: afac00c8 */ sw $t4,0xc8($sp) +.L00036364: +/* 36364: 8fb800c8 */ lw $t8,0xc8($sp) +/* 36368: 93af00c3 */ lbu $t7,0xc3($sp) +/* 3636c: 930d0031 */ lbu $t5,0x31($t8) +/* 36370: 15af0013 */ bne $t5,$t7,.L000363c0 +/* 36374: 00000000 */ nop +/* 36378: 93080034 */ lbu $t0,0x34($t8) +/* 3637c: 24010003 */ addiu $at,$zero,0x3 +/* 36380: 1101000f */ beq $t0,$at,.L000363c0 +/* 36384: 00000000 */ nop +/* 36388: 8fa400c8 */ lw $a0,0xc8($sp) +/* 3638c: 0c00f629 */ jal func0003d8a4 +/* 36390: 8fa500d0 */ lw $a1,0xd0($sp) +/* 36394: a7a200b6 */ sh $v0,0xb6($sp) +/* 36398: 8faa00d0 */ lw $t2,0xd0($sp) +/* 3639c: 8fa400c8 */ lw $a0,0xc8($sp) +/* 363a0: 0c00f6b4 */ jal func0003dad0 +/* 363a4: 8d45001c */ lw $a1,0x1c($t2) +/* 363a8: 8fa400c8 */ lw $a0,0xc8($sp) +/* 363ac: 00408025 */ or $s0,$v0,$zero +/* 363b0: 02003025 */ or $a2,$s0,$zero +/* 363b4: 87a500b6 */ lh $a1,0xb6($sp) +/* 363b8: 0c00f33c */ jal func0003ccf0 +/* 363bc: 24840004 */ addiu $a0,$a0,0x4 +.L000363c0: +/* 363c0: 8fae00c8 */ lw $t6,0xc8($sp) +/* 363c4: 8dd90000 */ lw $t9,0x0($t6) +/* 363c8: 1720ffe6 */ bnez $t9,.L00036364 +/* 363cc: afb900c8 */ sw $t9,0xc8($sp) +.L000363d0: +/* 363d0: 100002f6 */ b .L00036fac +/* 363d4: 00000000 */ nop +/* 363d8: 93ad00c3 */ lbu $t5,0xc3($sp) +/* 363dc: 8fab00d0 */ lw $t3,0xd0($sp) +/* 363e0: 93a900bf */ lbu $t1,0xbf($sp) +/* 363e4: 000d7880 */ sll $t7,$t5,0x2 +/* 363e8: 01ed7823 */ subu $t7,$t7,$t5 +/* 363ec: 8d6c0060 */ lw $t4,0x60($t3) +/* 363f0: 000f7880 */ sll $t7,$t7,0x2 +/* 363f4: 01ed7821 */ addu $t7,$t7,$t5 +/* 363f8: 000f7880 */ sll $t7,$t7,0x2 +/* 363fc: 018fc021 */ addu $t8,$t4,$t7 +/* 36400: a3090008 */ sb $t1,0x8($t8) +/* 36404: 100002e9 */ b .L00036fac +/* 36408: 00000000 */ nop +.L0003640c: +/* 3640c: 93b900c3 */ lbu $t9,0xc3($sp) +/* 36410: 8faa00d0 */ lw $t2,0xd0($sp) +/* 36414: 93a800bf */ lbu $t0,0xbf($sp) +/* 36418: 00195880 */ sll $t3,$t9,0x2 +/* 3641c: 01795823 */ subu $t3,$t3,$t9 +/* 36420: 8d4e0060 */ lw $t6,0x60($t2) +/* 36424: 000b5880 */ sll $t3,$t3,0x2 +/* 36428: 01795821 */ addu $t3,$t3,$t9 +/* 3642c: 000b5880 */ sll $t3,$t3,0x2 +/* 36430: 01cb6821 */ addu $t5,$t6,$t3 +/* 36434: a1a8000c */ sb $t0,0xc($t5) +/* 36438: 8fac00d0 */ lw $t4,0xd0($sp) +/* 3643c: 8d8f0064 */ lw $t7,0x64($t4) +/* 36440: 11e00061 */ beqz $t7,.L000365c8 +/* 36444: afaf00c8 */ sw $t7,0xc8($sp) +.L00036448: +/* 36448: 8fa900c8 */ lw $t1,0xc8($sp) +/* 3644c: 93aa00c3 */ lbu $t2,0xc3($sp) +/* 36450: 91380031 */ lbu $t8,0x31($t1) +/* 36454: 170a0058 */ bne $t8,$t2,.L000365b8 +/* 36458: 00000000 */ nop +/* 3645c: 91390035 */ lbu $t9,0x35($t1) +/* 36460: 24010003 */ addiu $at,$zero,0x3 +/* 36464: 13210054 */ beq $t9,$at,.L000365b8 +/* 36468: 00000000 */ nop +/* 3646c: 93ae00bf */ lbu $t6,0xbf($sp) +/* 36470: 29c10040 */ slti $at,$t6,0x40 +/* 36474: 1420000a */ bnez $at,.L000364a0 +/* 36478: 00000000 */ nop +/* 3647c: 8fab00c8 */ lw $t3,0xc8($sp) +/* 36480: 91680035 */ lbu $t0,0x35($t3) +/* 36484: 15000004 */ bnez $t0,.L00036498 +/* 36488: 00000000 */ nop +/* 3648c: 8fac00c8 */ lw $t4,0xc8($sp) +/* 36490: 240d0002 */ addiu $t5,$zero,0x2 +/* 36494: a18d0035 */ sb $t5,0x35($t4) +.L00036498: +/* 36498: 10000047 */ b .L000365b8 +/* 3649c: 00000000 */ nop +.L000364a0: +/* 364a0: 8faf00c8 */ lw $t7,0xc8($sp) +/* 364a4: 24010002 */ addiu $at,$zero,0x2 +/* 364a8: 91f80035 */ lbu $t8,0x35($t7) +/* 364ac: 17010004 */ bne $t8,$at,.L000364c0 +/* 364b0: 00000000 */ nop +/* 364b4: 8faa00c8 */ lw $t2,0xc8($sp) +/* 364b8: 1000003f */ b .L000365b8 +/* 364bc: a1400035 */ sb $zero,0x35($t2) +.L000364c0: +/* 364c0: 8fa900c8 */ lw $t1,0xc8($sp) +/* 364c4: 24010004 */ addiu $at,$zero,0x4 +/* 364c8: 91390035 */ lbu $t9,0x35($t1) +/* 364cc: 1721003a */ bne $t9,$at,.L000365b8 +/* 364d0: 00000000 */ nop +/* 364d4: 8fab00c8 */ lw $t3,0xc8($sp) +/* 364d8: 240e0003 */ addiu $t6,$zero,0x3 +/* 364dc: a16e0035 */ sb $t6,0x35($t3) +/* 364e0: 8fa80094 */ lw $t0,0x94($sp) +/* 364e4: 910d0024 */ lbu $t5,0x24($t0) +/* 364e8: 11a00021 */ beqz $t5,.L00036570 +/* 364ec: 00000000 */ nop +/* 364f0: 93b800c3 */ lbu $t8,0xc3($sp) +/* 364f4: 8fac00d0 */ lw $t4,0xd0($sp) +/* 364f8: 00185080 */ sll $t2,$t8,0x2 +/* 364fc: 01585023 */ subu $t2,$t2,$t8 +/* 36500: 8d8f0060 */ lw $t7,0x60($t4) +/* 36504: 000a5080 */ sll $t2,$t2,0x2 +/* 36508: 01585021 */ addu $t2,$t2,$t8 +/* 3650c: 000a5080 */ sll $t2,$t2,0x2 +/* 36510: 01ea4821 */ addu $t1,$t7,$t2 +/* 36514: 8d390020 */ lw $t9,0x20($t1) +/* 36518: 2b213e80 */ slti $at,$t9,0x4e20 +/* 3651c: 10200003 */ beqz $at,.L0003652c +/* 36520: 00000000 */ nop +/* 36524: 1000000b */ b .L00036554 +/* 36528: 24103e80 */ addiu $s0,$zero,0x4e20 +.L0003652c: +/* 3652c: 93a800c3 */ lbu $t0,0xc3($sp) +/* 36530: 8fae00d0 */ lw $t6,0xd0($sp) +/* 36534: 00086880 */ sll $t5,$t0,0x2 +/* 36538: 01a86823 */ subu $t5,$t5,$t0 +/* 3653c: 8dcb0060 */ lw $t3,0x60($t6) +/* 36540: 000d6880 */ sll $t5,$t5,0x2 +/* 36544: 01a86821 */ addu $t5,$t5,$t0 +/* 36548: 000d6880 */ sll $t5,$t5,0x2 +/* 3654c: 016d6021 */ addu $t4,$t3,$t5 +/* 36550: 8d900020 */ lw $s0,0x20($t4) +.L00036554: +/* 36554: 8fa500c8 */ lw $a1,0xc8($sp) +/* 36558: 8fa400d0 */ lw $a0,0xd0($sp) +/* 3655c: 02003025 */ or $a2,$s0,$zero +/* 36560: 0c00f4d0 */ jal func0003d340 +/* 36564: 24a50004 */ addiu $a1,$a1,0x4 +/* 36568: 10000013 */ b .L000365b8 +/* 3656c: 00000000 */ nop +.L00036570: +/* 36570: 8fb8009c */ lw $t8,0x9c($sp) +/* 36574: 8f0f0020 */ lw $t7,0x20($t8) +/* 36578: 8dea0000 */ lw $t2,0x0($t7) +/* 3657c: 8d490008 */ lw $t1,0x8($t2) +/* 36580: 29213e80 */ slti $at,$t1,0x4e20 +/* 36584: 10200003 */ beqz $at,.L00036594 +/* 36588: 00000000 */ nop +/* 3658c: 10000005 */ b .L000365a4 +/* 36590: 24103e80 */ addiu $s0,$zero,0x4e20 +.L00036594: +/* 36594: 8fb9009c */ lw $t9,0x9c($sp) +/* 36598: 8f2e0020 */ lw $t6,0x20($t9) +/* 3659c: 8dc80000 */ lw $t0,0x0($t6) +/* 365a0: 8d100008 */ lw $s0,0x8($t0) +.L000365a4: +/* 365a4: 8fa500c8 */ lw $a1,0xc8($sp) +/* 365a8: 8fa400d0 */ lw $a0,0xd0($sp) +/* 365ac: 02003025 */ or $a2,$s0,$zero +/* 365b0: 0c00f4d0 */ jal func0003d340 +/* 365b4: 24a50004 */ addiu $a1,$a1,0x4 +.L000365b8: +/* 365b8: 8fab00c8 */ lw $t3,0xc8($sp) +/* 365bc: 8d6d0000 */ lw $t5,0x0($t3) +/* 365c0: 15a0ffa1 */ bnez $t5,.L00036448 +/* 365c4: afad00c8 */ sw $t5,0xc8($sp) +.L000365c8: +/* 365c8: 10000278 */ b .L00036fac +/* 365cc: 00000000 */ nop +.L000365d0: +/* 365d0: 93af00c3 */ lbu $t7,0xc3($sp) +/* 365d4: 8fac00d0 */ lw $t4,0xd0($sp) +/* 365d8: 93a800bf */ lbu $t0,0xbf($sp) +/* 365dc: 000f5080 */ sll $t2,$t7,0x2 +/* 365e0: 014f5023 */ subu $t2,$t2,$t7 +/* 365e4: 8d980060 */ lw $t8,0x60($t4) +/* 365e8: 000a5080 */ sll $t2,$t2,0x2 +/* 365ec: 014f5021 */ addu $t2,$t2,$t7 +/* 365f0: 000a5080 */ sll $t2,$t2,0x2 +/* 365f4: 030a4821 */ addu $t1,$t8,$t2 +/* 365f8: 9139000a */ lbu $t9,0xa($t1) +/* 365fc: 332e0080 */ andi $t6,$t9,0x80 +/* 36600: 01c85825 */ or $t3,$t6,$t0 +/* 36604: a12b000a */ sb $t3,0xa($t1) +/* 36608: 93af00c3 */ lbu $t7,0xc3($sp) +/* 3660c: 8fad00d0 */ lw $t5,0xd0($sp) +/* 36610: 000fc080 */ sll $t8,$t7,0x2 +/* 36614: 030fc023 */ subu $t8,$t8,$t7 +/* 36618: 8dac0060 */ lw $t4,0x60($t5) +/* 3661c: 0018c080 */ sll $t8,$t8,0x2 +/* 36620: 030fc021 */ addu $t8,$t8,$t7 +/* 36624: 0018c080 */ sll $t8,$t8,0x2 +/* 36628: 01985021 */ addu $t2,$t4,$t8 +/* 3662c: 9159000a */ lbu $t9,0xa($t2) +/* 36630: 001971c3 */ sra $t6,$t9,0x7 +/* 36634: a3ae00bf */ sb $t6,0xbf($sp) +.L00036638: +/* 36638: 93a900c3 */ lbu $t1,0xc3($sp) +/* 3663c: 8fa800d0 */ lw $t0,0xd0($sp) +/* 36640: 93aa00bf */ lbu $t2,0xbf($sp) +/* 36644: 00096880 */ sll $t5,$t1,0x2 +/* 36648: 01a96823 */ subu $t5,$t5,$t1 +/* 3664c: 8d0b0060 */ lw $t3,0x60($t0) +/* 36650: 000d6880 */ sll $t5,$t5,0x2 +/* 36654: 01a96821 */ addu $t5,$t5,$t1 +/* 36658: 000d6880 */ sll $t5,$t5,0x2 +/* 3665c: 016d7821 */ addu $t7,$t3,$t5 +/* 36660: 91ec000a */ lbu $t4,0xa($t7) +/* 36664: 000ac9c0 */ sll $t9,$t2,0x7 +/* 36668: 3198007f */ andi $t8,$t4,0x7f +/* 3666c: 03197025 */ or $t6,$t8,$t9 +/* 36670: a1ee000a */ sb $t6,0xa($t7) +/* 36674: 8fa800d0 */ lw $t0,0xd0($sp) +/* 36678: 8d090064 */ lw $t1,0x64($t0) +/* 3667c: 11200017 */ beqz $t1,.L000366dc +/* 36680: afa900c8 */ sw $t1,0xc8($sp) +.L00036684: +/* 36684: 8fab00c8 */ lw $t3,0xc8($sp) +/* 36688: 93ac00c3 */ lbu $t4,0xc3($sp) +/* 3668c: 916d0031 */ lbu $t5,0x31($t3) +/* 36690: 15ac000e */ bne $t5,$t4,.L000366cc +/* 36694: 00000000 */ nop +/* 36698: 93b900c3 */ lbu $t9,0xc3($sp) +/* 3669c: 8faa00d0 */ lw $t2,0xd0($sp) +/* 366a0: 8fa400c8 */ lw $a0,0xc8($sp) +/* 366a4: 00197080 */ sll $t6,$t9,0x2 +/* 366a8: 01d97023 */ subu $t6,$t6,$t9 +/* 366ac: 8d580060 */ lw $t8,0x60($t2) +/* 366b0: 000e7080 */ sll $t6,$t6,0x2 +/* 366b4: 01d97021 */ addu $t6,$t6,$t9 +/* 366b8: 000e7080 */ sll $t6,$t6,0x2 +/* 366bc: 030e7821 */ addu $t7,$t8,$t6 +/* 366c0: 91e5000a */ lbu $a1,0xa($t7) +/* 366c4: 0c00f414 */ jal func0003d050 +/* 366c8: 24840004 */ addiu $a0,$a0,0x4 +.L000366cc: +/* 366cc: 8fa800c8 */ lw $t0,0xc8($sp) +/* 366d0: 8d090000 */ lw $t1,0x0($t0) +/* 366d4: 1520ffeb */ bnez $t1,.L00036684 +/* 366d8: afa900c8 */ sw $t1,0xc8($sp) +.L000366dc: +/* 366dc: 10000233 */ b .L00036fac +/* 366e0: 00000000 */ nop +.L000366e4: +/* 366e4: 3c0d8006 */ lui $t5,%hi(var8005f114) +/* 366e8: 8dadf114 */ lw $t5,%lo(var8005f114)($t5) +/* 366ec: 93ab00bf */ lbu $t3,0xbf($sp) +/* 366f0: 8dac003c */ lw $t4,0x3c($t5) +/* 366f4: 016c082a */ slt $at,$t3,$t4 +/* 366f8: 1020000c */ beqz $at,.L0003672c +/* 366fc: 00000000 */ nop +/* 36700: 93ae00c3 */ lbu $t6,0xc3($sp) +/* 36704: 8fb900d0 */ lw $t9,0xd0($sp) +/* 36708: 93aa00bf */ lbu $t2,0xbf($sp) +/* 3670c: 000e7880 */ sll $t7,$t6,0x2 +/* 36710: 01ee7823 */ subu $t7,$t7,$t6 +/* 36714: 8f380060 */ lw $t8,0x60($t9) +/* 36718: 000f7880 */ sll $t7,$t7,0x2 +/* 3671c: 01ee7821 */ addu $t7,$t7,$t6 +/* 36720: 000f7880 */ sll $t7,$t7,0x2 +/* 36724: 030f4021 */ addu $t0,$t8,$t7 +/* 36728: a10a000b */ sb $t2,0xb($t0) +.L0003672c: +/* 3672c: 1000021f */ b .L00036fac +/* 36730: 00000000 */ nop +/* 36734: 0c0040db */ jal func0001036c +/* 36738: 93a400bf */ lbu $a0,0xbf($sp) +/* 3673c: 1000021b */ b .L00036fac +/* 36740: 00000000 */ nop +/* 36744: 93ac00c3 */ lbu $t4,0xc3($sp) +/* 36748: 8fad00d0 */ lw $t5,0xd0($sp) +/* 3674c: 93a900bf */ lbu $t1,0xbf($sp) +/* 36750: 000cc880 */ sll $t9,$t4,0x2 +/* 36754: 032cc823 */ subu $t9,$t9,$t4 +/* 36758: 8dab0060 */ lw $t3,0x60($t5) +/* 3675c: 0019c880 */ sll $t9,$t9,0x2 +/* 36760: 032cc821 */ addu $t9,$t9,$t4 +/* 36764: 0019c880 */ sll $t9,$t9,0x2 +/* 36768: 01797021 */ addu $t6,$t3,$t9 +/* 3676c: a1c90032 */ sb $t1,0x32($t6) +/* 36770: 1000020e */ b .L00036fac +/* 36774: 00000000 */ nop +/* 36778: 93ac00c3 */ lbu $t4,0xc3($sp) +/* 3677c: 93b800bf */ lbu $t8,0xbf($sp) +/* 36780: 8fa800d0 */ lw $t0,0xd0($sp) +/* 36784: 000c5880 */ sll $t3,$t4,0x2 +/* 36788: 3c0a8006 */ lui $t2,%hi(var8005f150) +/* 3678c: 016c5823 */ subu $t3,$t3,$t4 +/* 36790: 00187880 */ sll $t7,$t8,0x2 +/* 36794: 8d0d0060 */ lw $t5,0x60($t0) +/* 36798: 014f5021 */ addu $t2,$t2,$t7 +/* 3679c: 000b5880 */ sll $t3,$t3,0x2 +/* 367a0: 8d4af150 */ lw $t2,%lo(var8005f150)($t2) +/* 367a4: 016c5821 */ addu $t3,$t3,$t4 +/* 367a8: 000b5880 */ sll $t3,$t3,0x2 +/* 367ac: 01abc821 */ addu $t9,$t5,$t3 +/* 367b0: af2a0018 */ sw $t2,0x18($t9) +/* 367b4: 93af00c3 */ lbu $t7,0xc3($sp) +/* 367b8: 8fae00d0 */ lw $t6,0xd0($sp) +/* 367bc: 24090001 */ addiu $t1,$zero,0x1 +/* 367c0: 000f4080 */ sll $t0,$t7,0x2 +/* 367c4: 010f4023 */ subu $t0,$t0,$t7 +/* 367c8: 8dd80060 */ lw $t8,0x60($t6) +/* 367cc: 00084080 */ sll $t0,$t0,0x2 +/* 367d0: 010f4021 */ addu $t0,$t0,$t7 +/* 367d4: 00084080 */ sll $t0,$t0,0x2 +/* 367d8: 03086021 */ addu $t4,$t8,$t0 +/* 367dc: a1890024 */ sb $t1,0x24($t4) +/* 367e0: 100001f2 */ b .L00036fac +/* 367e4: 00000000 */ nop +/* 367e8: 93b900c3 */ lbu $t9,0xc3($sp) +/* 367ec: 8fab00d0 */ lw $t3,0xd0($sp) +/* 367f0: 93ad00bf */ lbu $t5,0xbf($sp) +/* 367f4: 00197080 */ sll $t6,$t9,0x2 +/* 367f8: 01d97023 */ subu $t6,$t6,$t9 +/* 367fc: 8d6a0060 */ lw $t2,0x60($t3) +/* 36800: 000e7080 */ sll $t6,$t6,0x2 +/* 36804: 01d97021 */ addu $t6,$t6,$t9 +/* 36808: 000e7080 */ sll $t6,$t6,0x2 +/* 3680c: 014e7821 */ addu $t7,$t2,$t6 +/* 36810: a1ed0025 */ sb $t5,0x25($t7) +/* 36814: 93ac00c3 */ lbu $t4,0xc3($sp) +/* 36818: 8fa800d0 */ lw $t0,0xd0($sp) +/* 3681c: 24180001 */ addiu $t8,$zero,0x1 +/* 36820: 000c5880 */ sll $t3,$t4,0x2 +/* 36824: 016c5823 */ subu $t3,$t3,$t4 +/* 36828: 8d090060 */ lw $t1,0x60($t0) +/* 3682c: 000b5880 */ sll $t3,$t3,0x2 +/* 36830: 016c5821 */ addu $t3,$t3,$t4 +/* 36834: 000b5880 */ sll $t3,$t3,0x2 +/* 36838: 012bc821 */ addu $t9,$t1,$t3 +/* 3683c: a3380024 */ sb $t8,0x24($t9) +/* 36840: 100001da */ b .L00036fac +/* 36844: 00000000 */ nop +/* 36848: 93ac00c3 */ lbu $t4,0xc3($sp) +/* 3684c: 93aa00bf */ lbu $t2,0xbf($sp) +/* 36850: 8faf00d0 */ lw $t7,0xd0($sp) +/* 36854: 000c4880 */ sll $t1,$t4,0x2 +/* 36858: 3c0d8006 */ lui $t5,%hi(var8005f150) +/* 3685c: 012c4823 */ subu $t1,$t1,$t4 +/* 36860: 000a7080 */ sll $t6,$t2,0x2 +/* 36864: 8de80060 */ lw $t0,0x60($t7) +/* 36868: 01ae6821 */ addu $t5,$t5,$t6 +/* 3686c: 00094880 */ sll $t1,$t1,0x2 +/* 36870: 8dadf150 */ lw $t5,%lo(var8005f150)($t5) +/* 36874: 012c4821 */ addu $t1,$t1,$t4 +/* 36878: 00094880 */ sll $t1,$t1,0x2 +/* 3687c: 01095821 */ addu $t3,$t0,$t1 +/* 36880: ad6d001c */ sw $t5,0x1c($t3) +/* 36884: 93ae00c3 */ lbu $t6,0xc3($sp) +/* 36888: 8fb900d0 */ lw $t9,0xd0($sp) +/* 3688c: 24180001 */ addiu $t8,$zero,0x1 +/* 36890: 000e7880 */ sll $t7,$t6,0x2 +/* 36894: 01ee7823 */ subu $t7,$t7,$t6 +/* 36898: 8f2a0060 */ lw $t2,0x60($t9) +/* 3689c: 000f7880 */ sll $t7,$t7,0x2 +/* 368a0: 01ee7821 */ addu $t7,$t7,$t6 +/* 368a4: 000f7880 */ sll $t7,$t7,0x2 +/* 368a8: 014f6021 */ addu $t4,$t2,$t7 +/* 368ac: a1980024 */ sb $t8,0x24($t4) +/* 368b0: 100001be */ b .L00036fac +/* 368b4: 00000000 */ nop +/* 368b8: 93ab00c3 */ lbu $t3,0xc3($sp) +/* 368bc: 8fa900d0 */ lw $t1,0xd0($sp) +/* 368c0: 93a800bf */ lbu $t0,0xbf($sp) +/* 368c4: 000bc880 */ sll $t9,$t3,0x2 +/* 368c8: 032bc823 */ subu $t9,$t9,$t3 +/* 368cc: 8d2d0060 */ lw $t5,0x60($t1) +/* 368d0: 0019c880 */ sll $t9,$t9,0x2 +/* 368d4: 032bc821 */ addu $t9,$t9,$t3 +/* 368d8: 0019c880 */ sll $t9,$t9,0x2 +/* 368dc: 01b97021 */ addu $t6,$t5,$t9 +/* 368e0: a1c80026 */ sb $t0,0x26($t6) +/* 368e4: 93ac00c3 */ lbu $t4,0xc3($sp) +/* 368e8: 8faf00d0 */ lw $t7,0xd0($sp) +/* 368ec: 240a0001 */ addiu $t2,$zero,0x1 +/* 368f0: 000c4880 */ sll $t1,$t4,0x2 +/* 368f4: 012c4823 */ subu $t1,$t1,$t4 +/* 368f8: 8df80060 */ lw $t8,0x60($t7) +/* 368fc: 00094880 */ sll $t1,$t1,0x2 +/* 36900: 012c4821 */ addu $t1,$t1,$t4 +/* 36904: 00094880 */ sll $t1,$t1,0x2 +/* 36908: 03095821 */ addu $t3,$t8,$t1 +/* 3690c: a16a0024 */ sb $t2,0x24($t3) +/* 36910: 100001a6 */ b .L00036fac +/* 36914: 00000000 */ nop +/* 36918: 93ac00c3 */ lbu $t4,0xc3($sp) +/* 3691c: 93ad00bf */ lbu $t5,0xbf($sp) +/* 36920: 8fae00d0 */ lw $t6,0xd0($sp) +/* 36924: 000cc080 */ sll $t8,$t4,0x2 +/* 36928: 3c088006 */ lui $t0,%hi(var8005f150) +/* 3692c: 030cc023 */ subu $t8,$t8,$t4 +/* 36930: 000dc880 */ sll $t9,$t5,0x2 +/* 36934: 8dcf0060 */ lw $t7,0x60($t6) +/* 36938: 01194021 */ addu $t0,$t0,$t9 +/* 3693c: 0018c080 */ sll $t8,$t8,0x2 +/* 36940: 8d08f150 */ lw $t0,%lo(var8005f150)($t0) +/* 36944: 030cc021 */ addu $t8,$t8,$t4 +/* 36948: 0018c080 */ sll $t8,$t8,0x2 +/* 3694c: 01f84821 */ addu $t1,$t7,$t8 +/* 36950: ad280020 */ sw $t0,0x20($t1) +/* 36954: 93b900c3 */ lbu $t9,0xc3($sp) +/* 36958: 8fab00d0 */ lw $t3,0xd0($sp) +/* 3695c: 240a0001 */ addiu $t2,$zero,0x1 +/* 36960: 00197080 */ sll $t6,$t9,0x2 +/* 36964: 01d97023 */ subu $t6,$t6,$t9 +/* 36968: 8d6d0060 */ lw $t5,0x60($t3) +/* 3696c: 000e7080 */ sll $t6,$t6,0x2 +/* 36970: 01d97021 */ addu $t6,$t6,$t9 +/* 36974: 000e7080 */ sll $t6,$t6,0x2 +/* 36978: 01ae6021 */ addu $t4,$t5,$t6 +/* 3697c: a18a0024 */ sb $t2,0x24($t4) +/* 36980: 1000018a */ b .L00036fac +/* 36984: 00000000 */ nop +/* 36988: 93ab00c3 */ lbu $t3,0xc3($sp) +/* 3698c: 8fa800d0 */ lw $t0,0xd0($sp) +/* 36990: 93af00bf */ lbu $t7,0xbf($sp) +/* 36994: 000bc880 */ sll $t9,$t3,0x2 +/* 36998: 032bc823 */ subu $t9,$t9,$t3 +/* 3699c: 8d090060 */ lw $t1,0x60($t0) +/* 369a0: 0019c880 */ sll $t9,$t9,0x2 +/* 369a4: 032bc821 */ addu $t9,$t9,$t3 +/* 369a8: 0019c880 */ sll $t9,$t9,0x2 +/* 369ac: 25f8ffc0 */ addiu $t8,$t7,-64 +/* 369b0: 01396821 */ addu $t5,$t1,$t9 +/* 369b4: a1b80027 */ sb $t8,0x27($t5) +/* 369b8: 93af00c3 */ lbu $t7,0xc3($sp) +/* 369bc: 8faa00d0 */ lw $t2,0xd0($sp) +/* 369c0: 240e0001 */ addiu $t6,$zero,0x1 +/* 369c4: 000f4080 */ sll $t0,$t7,0x2 +/* 369c8: 010f4023 */ subu $t0,$t0,$t7 +/* 369cc: 8d4c0060 */ lw $t4,0x60($t2) +/* 369d0: 00084080 */ sll $t0,$t0,0x2 +/* 369d4: 010f4021 */ addu $t0,$t0,$t7 +/* 369d8: 00084080 */ sll $t0,$t0,0x2 +/* 369dc: 01885821 */ addu $t3,$t4,$t0 +/* 369e0: a16e0024 */ sb $t6,0x24($t3) +/* 369e4: 10000171 */ b .L00036fac +/* 369e8: 00000000 */ nop +/* 369ec: 93b800c3 */ lbu $t8,0xc3($sp) +/* 369f0: 8fa900d0 */ lw $t1,0xd0($sp) +/* 369f4: 24010064 */ addiu $at,$zero,0x64 +/* 369f8: 00186880 */ sll $t5,$t8,0x2 +/* 369fc: 01b86823 */ subu $t5,$t5,$t8 +/* 36a00: 8d390060 */ lw $t9,0x60($t1) +/* 36a04: 000d6880 */ sll $t5,$t5,0x2 +/* 36a08: 01b86821 */ addu $t5,$t5,$t8 +/* 36a0c: 000d6880 */ sll $t5,$t5,0x2 +/* 36a10: 032d5021 */ addu $t2,$t9,$t5 +/* 36a14: 854f0004 */ lh $t7,0x4($t2) +/* 36a18: 01e1001a */ div $zero,$t7,$at +/* 36a1c: 00006012 */ mflo $t4 +/* 36a20: a54c0004 */ sh $t4,0x4($t2) +/* 36a24: 00000000 */ nop +/* 36a28: 93ab00c3 */ lbu $t3,0xc3($sp) +/* 36a2c: 8fa800d0 */ lw $t0,0xd0($sp) +/* 36a30: 000b4880 */ sll $t1,$t3,0x2 +/* 36a34: 012b4823 */ subu $t1,$t1,$t3 +/* 36a38: 8d0e0060 */ lw $t6,0x60($t0) +/* 36a3c: 00094880 */ sll $t1,$t1,0x2 +/* 36a40: 012b4821 */ addu $t1,$t1,$t3 +/* 36a44: 00094880 */ sll $t1,$t1,0x2 +/* 36a48: 01c9c021 */ addu $t8,$t6,$t1 +/* 36a4c: 87190004 */ lh $t9,0x4($t8) +/* 36a50: 00196880 */ sll $t5,$t9,0x2 +/* 36a54: 01b96823 */ subu $t5,$t5,$t9 +/* 36a58: 000d68c0 */ sll $t5,$t5,0x3 +/* 36a5c: 01b96821 */ addu $t5,$t5,$t9 +/* 36a60: 000d6880 */ sll $t5,$t5,0x2 +/* 36a64: a70d0004 */ sh $t5,0x4($t8) +/* 36a68: 93aa00c3 */ lbu $t2,0xc3($sp) +/* 36a6c: 8faf00d0 */ lw $t7,0xd0($sp) +/* 36a70: 93a900bf */ lbu $t1,0xbf($sp) +/* 36a74: 000a4080 */ sll $t0,$t2,0x2 +/* 36a78: 010a4023 */ subu $t0,$t0,$t2 +/* 36a7c: 8dec0060 */ lw $t4,0x60($t7) +/* 36a80: 00084080 */ sll $t0,$t0,0x2 +/* 36a84: 010a4021 */ addu $t0,$t0,$t2 +/* 36a88: 00084080 */ sll $t0,$t0,0x2 +/* 36a8c: 01885821 */ addu $t3,$t4,$t0 +/* 36a90: 856e0004 */ lh $t6,0x4($t3) +/* 36a94: 01c9c821 */ addu $t9,$t6,$t1 +/* 36a98: a5790004 */ sh $t9,0x4($t3) +/* 36a9c: 10000143 */ b .L00036fac +/* 36aa0: 00000000 */ nop +/* 36aa4: 93af00c3 */ lbu $t7,0xc3($sp) +/* 36aa8: 8fad00d0 */ lw $t5,0xd0($sp) +/* 36aac: 24010064 */ addiu $at,$zero,0x64 +/* 36ab0: 000f5080 */ sll $t2,$t7,0x2 +/* 36ab4: 014f5023 */ subu $t2,$t2,$t7 +/* 36ab8: 8db80060 */ lw $t8,0x60($t5) +/* 36abc: 000a5080 */ sll $t2,$t2,0x2 +/* 36ac0: 014f5021 */ addu $t2,$t2,$t7 +/* 36ac4: 000a5080 */ sll $t2,$t2,0x2 +/* 36ac8: 030a6021 */ addu $t4,$t8,$t2 +/* 36acc: 85880004 */ lh $t0,0x4($t4) +/* 36ad0: 0101001a */ div $zero,$t0,$at +/* 36ad4: 00007010 */ mfhi $t6 +/* 36ad8: a58e0004 */ sh $t6,0x4($t4) +/* 36adc: 00000000 */ nop +/* 36ae0: 93ab00c3 */ lbu $t3,0xc3($sp) +/* 36ae4: 8fa900d0 */ lw $t1,0xd0($sp) +/* 36ae8: 93aa00bf */ lbu $t2,0xbf($sp) +/* 36aec: 000b6880 */ sll $t5,$t3,0x2 +/* 36af0: 01ab6823 */ subu $t5,$t5,$t3 +/* 36af4: 8d390060 */ lw $t9,0x60($t1) +/* 36af8: 000d6880 */ sll $t5,$t5,0x2 +/* 36afc: 01ab6821 */ addu $t5,$t5,$t3 +/* 36b00: 000d6880 */ sll $t5,$t5,0x2 +/* 36b04: 000a4080 */ sll $t0,$t2,0x2 +/* 36b08: 010a4023 */ subu $t0,$t0,$t2 +/* 36b0c: 032d7821 */ addu $t7,$t9,$t5 +/* 36b10: 85f80004 */ lh $t8,0x4($t7) +/* 36b14: 000840c0 */ sll $t0,$t0,0x3 +/* 36b18: 010a4021 */ addu $t0,$t0,$t2 +/* 36b1c: 00084080 */ sll $t0,$t0,0x2 +/* 36b20: 03087021 */ addu $t6,$t8,$t0 +/* 36b24: a5ee0004 */ sh $t6,0x4($t7) +/* 36b28: 10000120 */ b .L00036fac +/* 36b2c: 00000000 */ nop +/* 36b30: 93ac00bf */ lbu $t4,0xbf($sp) +/* 36b34: 11800004 */ beqz $t4,.L00036b48 +/* 36b38: 00000000 */ nop +/* 36b3c: 93a900bf */ lbu $t1,0xbf($sp) +/* 36b40: 252b0080 */ addiu $t3,$t1,0x80 +/* 36b44: a3ab00bf */ sb $t3,0xbf($sp) +.L00036b48: +/* 36b48: 93b800c3 */ lbu $t8,0xc3($sp) +/* 36b4c: 8fad00d0 */ lw $t5,0xd0($sp) +/* 36b50: 93b900bf */ lbu $t9,0xbf($sp) +/* 36b54: 00184080 */ sll $t0,$t8,0x2 +/* 36b58: 01184023 */ subu $t0,$t0,$t8 +/* 36b5c: 8daa0060 */ lw $t2,0x60($t5) +/* 36b60: 00084080 */ sll $t0,$t0,0x2 +/* 36b64: 01184021 */ addu $t0,$t0,$t8 +/* 36b68: 00084080 */ sll $t0,$t0,0x2 +/* 36b6c: 01487021 */ addu $t6,$t2,$t0 +/* 36b70: a1d9002c */ sb $t9,0x2c($t6) +/* 36b74: 93ab00c3 */ lbu $t3,0xc3($sp) +/* 36b78: 8fac00d0 */ lw $t4,0xd0($sp) +/* 36b7c: 240f0001 */ addiu $t7,$zero,0x1 +/* 36b80: 000b6880 */ sll $t5,$t3,0x2 +/* 36b84: 01ab6823 */ subu $t5,$t5,$t3 +/* 36b88: 8d890060 */ lw $t1,0x60($t4) +/* 36b8c: 000d6880 */ sll $t5,$t5,0x2 +/* 36b90: 01ab6821 */ addu $t5,$t5,$t3 +/* 36b94: 000d6880 */ sll $t5,$t5,0x2 +/* 36b98: 012dc021 */ addu $t8,$t1,$t5 +/* 36b9c: a30f0024 */ sb $t7,0x24($t8) +/* 36ba0: 10000102 */ b .L00036fac +/* 36ba4: 00000000 */ nop +/* 36ba8: 93ae00c3 */ lbu $t6,0xc3($sp) +/* 36bac: 8fa800d0 */ lw $t0,0xd0($sp) +/* 36bb0: 93aa00bf */ lbu $t2,0xbf($sp) +/* 36bb4: 000e6080 */ sll $t4,$t6,0x2 +/* 36bb8: 018e6023 */ subu $t4,$t4,$t6 +/* 36bbc: 8d190060 */ lw $t9,0x60($t0) +/* 36bc0: 000c6080 */ sll $t4,$t4,0x2 +/* 36bc4: 018e6021 */ addu $t4,$t4,$t6 +/* 36bc8: 000c6080 */ sll $t4,$t4,0x2 +/* 36bcc: 032c5821 */ addu $t3,$t9,$t4 +/* 36bd0: a16a002d */ sb $t2,0x2d($t3) +/* 36bd4: 93b800c3 */ lbu $t8,0xc3($sp) +/* 36bd8: 8fad00d0 */ lw $t5,0xd0($sp) +/* 36bdc: 24090001 */ addiu $t1,$zero,0x1 +/* 36be0: 00184080 */ sll $t0,$t8,0x2 +/* 36be4: 01184023 */ subu $t0,$t0,$t8 +/* 36be8: 8daf0060 */ lw $t7,0x60($t5) +/* 36bec: 00084080 */ sll $t0,$t0,0x2 +/* 36bf0: 01184021 */ addu $t0,$t0,$t8 +/* 36bf4: 00084080 */ sll $t0,$t0,0x2 +/* 36bf8: 01e87021 */ addu $t6,$t7,$t0 +/* 36bfc: a1c90024 */ sb $t1,0x24($t6) +/* 36c00: 100000ea */ b .L00036fac +/* 36c04: 00000000 */ nop +/* 36c08: 93ad00c3 */ lbu $t5,0xc3($sp) +/* 36c0c: 8faa00d0 */ lw $t2,0xd0($sp) +/* 36c10: 93b900bf */ lbu $t9,0xbf($sp) +/* 36c14: 000dc080 */ sll $t8,$t5,0x2 +/* 36c18: 030dc023 */ subu $t8,$t8,$t5 +/* 36c1c: 8d4b0060 */ lw $t3,0x60($t2) +/* 36c20: 0018c080 */ sll $t8,$t8,0x2 +/* 36c24: 030dc021 */ addu $t8,$t8,$t5 +/* 36c28: 0018c080 */ sll $t8,$t8,0x2 +/* 36c2c: 00196040 */ sll $t4,$t9,0x1 +/* 36c30: 01787821 */ addu $t7,$t3,$t8 +/* 36c34: a1ec002e */ sb $t4,0x2e($t7) +/* 36c38: 93b900c3 */ lbu $t9,0xc3($sp) +/* 36c3c: 8fa900d0 */ lw $t1,0xd0($sp) +/* 36c40: 24080001 */ addiu $t0,$zero,0x1 +/* 36c44: 00195080 */ sll $t2,$t9,0x2 +/* 36c48: 01595023 */ subu $t2,$t2,$t9 +/* 36c4c: 8d2e0060 */ lw $t6,0x60($t1) +/* 36c50: 000a5080 */ sll $t2,$t2,0x2 +/* 36c54: 01595021 */ addu $t2,$t2,$t9 +/* 36c58: 000a5080 */ sll $t2,$t2,0x2 +/* 36c5c: 01ca6821 */ addu $t5,$t6,$t2 +/* 36c60: a1a80024 */ sb $t0,0x24($t5) +/* 36c64: 100000d1 */ b .L00036fac +/* 36c68: 00000000 */ nop +/* 36c6c: 93af00c3 */ lbu $t7,0xc3($sp) +/* 36c70: 8fb800d0 */ lw $t8,0xd0($sp) +/* 36c74: 93ab00bf */ lbu $t3,0xbf($sp) +/* 36c78: 000f4880 */ sll $t1,$t7,0x2 +/* 36c7c: 012f4823 */ subu $t1,$t1,$t7 +/* 36c80: 8f0c0060 */ lw $t4,0x60($t8) +/* 36c84: 00094880 */ sll $t1,$t1,0x2 +/* 36c88: 012f4821 */ addu $t1,$t1,$t7 +/* 36c8c: 00094880 */ sll $t1,$t1,0x2 +/* 36c90: 0189c821 */ addu $t9,$t4,$t1 +/* 36c94: a32b002f */ sb $t3,0x2f($t9) +/* 36c98: 93ad00c3 */ lbu $t5,0xc3($sp) +/* 36c9c: 8faa00d0 */ lw $t2,0xd0($sp) +/* 36ca0: 240e0001 */ addiu $t6,$zero,0x1 +/* 36ca4: 000dc080 */ sll $t8,$t5,0x2 +/* 36ca8: 030dc023 */ subu $t8,$t8,$t5 +/* 36cac: 8d480060 */ lw $t0,0x60($t2) +/* 36cb0: 0018c080 */ sll $t8,$t8,0x2 +/* 36cb4: 030dc021 */ addu $t8,$t8,$t5 +/* 36cb8: 0018c080 */ sll $t8,$t8,0x2 +/* 36cbc: 01187821 */ addu $t7,$t0,$t8 +/* 36cc0: a1ee0024 */ sb $t6,0x24($t7) +/* 36cc4: 100000b9 */ b .L00036fac +/* 36cc8: 00000000 */ nop +/* 36ccc: 93b900c3 */ lbu $t9,0xc3($sp) +/* 36cd0: 8fa900d0 */ lw $t1,0xd0($sp) +/* 36cd4: 93ac00bf */ lbu $t4,0xbf($sp) +/* 36cd8: 00195080 */ sll $t2,$t9,0x2 +/* 36cdc: 01595023 */ subu $t2,$t2,$t9 +/* 36ce0: 8d2b0060 */ lw $t3,0x60($t1) +/* 36ce4: 000a5080 */ sll $t2,$t2,0x2 +/* 36ce8: 01595021 */ addu $t2,$t2,$t9 +/* 36cec: 000a5080 */ sll $t2,$t2,0x2 +/* 36cf0: 016a6821 */ addu $t5,$t3,$t2 +/* 36cf4: a1ac0028 */ sb $t4,0x28($t5) +/* 36cf8: 93af00c3 */ lbu $t7,0xc3($sp) +/* 36cfc: 8fb800d0 */ lw $t8,0xd0($sp) +/* 36d00: 24080001 */ addiu $t0,$zero,0x1 +/* 36d04: 000f4880 */ sll $t1,$t7,0x2 +/* 36d08: 012f4823 */ subu $t1,$t1,$t7 +/* 36d0c: 8f0e0060 */ lw $t6,0x60($t8) +/* 36d10: 00094880 */ sll $t1,$t1,0x2 +/* 36d14: 012f4821 */ addu $t1,$t1,$t7 +/* 36d18: 00094880 */ sll $t1,$t1,0x2 +/* 36d1c: 01c9c821 */ addu $t9,$t6,$t1 +/* 36d20: a3280024 */ sb $t0,0x24($t9) +/* 36d24: 100000a1 */ b .L00036fac +/* 36d28: 00000000 */ nop +/* 36d2c: 93ad00c3 */ lbu $t5,0xc3($sp) +/* 36d30: 8faa00d0 */ lw $t2,0xd0($sp) +/* 36d34: 93ab00bf */ lbu $t3,0xbf($sp) +/* 36d38: 000dc080 */ sll $t8,$t5,0x2 +/* 36d3c: 030dc023 */ subu $t8,$t8,$t5 +/* 36d40: 8d4c0060 */ lw $t4,0x60($t2) +/* 36d44: 0018c080 */ sll $t8,$t8,0x2 +/* 36d48: 030dc021 */ addu $t8,$t8,$t5 +/* 36d4c: 0018c080 */ sll $t8,$t8,0x2 +/* 36d50: 01987821 */ addu $t7,$t4,$t8 +/* 36d54: a1eb0029 */ sb $t3,0x29($t7) +/* 36d58: 93b900c3 */ lbu $t9,0xc3($sp) +/* 36d5c: 8fa900d0 */ lw $t1,0xd0($sp) +/* 36d60: 240e0001 */ addiu $t6,$zero,0x1 +/* 36d64: 00195080 */ sll $t2,$t9,0x2 +/* 36d68: 01595023 */ subu $t2,$t2,$t9 +/* 36d6c: 8d280060 */ lw $t0,0x60($t1) +/* 36d70: 000a5080 */ sll $t2,$t2,0x2 +/* 36d74: 01595021 */ addu $t2,$t2,$t9 +/* 36d78: 000a5080 */ sll $t2,$t2,0x2 +/* 36d7c: 010a6821 */ addu $t5,$t0,$t2 +/* 36d80: a1ae0024 */ sb $t6,0x24($t5) +/* 36d84: 10000089 */ b .L00036fac +/* 36d88: 00000000 */ nop +/* 36d8c: 93af00c3 */ lbu $t7,0xc3($sp) +/* 36d90: 8fb800d0 */ lw $t8,0xd0($sp) +/* 36d94: 93ac00bf */ lbu $t4,0xbf($sp) +/* 36d98: 000f4880 */ sll $t1,$t7,0x2 +/* 36d9c: 012f4823 */ subu $t1,$t1,$t7 +/* 36da0: 8f0b0060 */ lw $t3,0x60($t8) +/* 36da4: 00094880 */ sll $t1,$t1,0x2 +/* 36da8: 012f4821 */ addu $t1,$t1,$t7 +/* 36dac: 00094880 */ sll $t1,$t1,0x2 +/* 36db0: 0169c821 */ addu $t9,$t3,$t1 +/* 36db4: a32c002a */ sb $t4,0x2a($t9) +/* 36db8: 93ad00c3 */ lbu $t5,0xc3($sp) +/* 36dbc: 8faa00d0 */ lw $t2,0xd0($sp) +/* 36dc0: 24080001 */ addiu $t0,$zero,0x1 +/* 36dc4: 000dc080 */ sll $t8,$t5,0x2 +/* 36dc8: 030dc023 */ subu $t8,$t8,$t5 +/* 36dcc: 8d4e0060 */ lw $t6,0x60($t2) +/* 36dd0: 0018c080 */ sll $t8,$t8,0x2 +/* 36dd4: 030dc021 */ addu $t8,$t8,$t5 +/* 36dd8: 0018c080 */ sll $t8,$t8,0x2 +/* 36ddc: 01d87821 */ addu $t7,$t6,$t8 +/* 36de0: a1e80024 */ sb $t0,0x24($t7) +/* 36de4: 10000071 */ b .L00036fac +/* 36de8: 00000000 */ nop +/* 36dec: 93b900c3 */ lbu $t9,0xc3($sp) +/* 36df0: 8fa900d0 */ lw $t1,0xd0($sp) +/* 36df4: 93ab00bf */ lbu $t3,0xbf($sp) +/* 36df8: 00195080 */ sll $t2,$t9,0x2 +/* 36dfc: 01595023 */ subu $t2,$t2,$t9 +/* 36e00: 8d2c0060 */ lw $t4,0x60($t1) +/* 36e04: 000a5080 */ sll $t2,$t2,0x2 +/* 36e08: 01595021 */ addu $t2,$t2,$t9 +/* 36e0c: 000a5080 */ sll $t2,$t2,0x2 +/* 36e10: 018a6821 */ addu $t5,$t4,$t2 +/* 36e14: a1ab002b */ sb $t3,0x2b($t5) +/* 36e18: 93af00c3 */ lbu $t7,0xc3($sp) +/* 36e1c: 8fb800d0 */ lw $t8,0xd0($sp) +/* 36e20: 240e0001 */ addiu $t6,$zero,0x1 +/* 36e24: 000f4880 */ sll $t1,$t7,0x2 +/* 36e28: 012f4823 */ subu $t1,$t1,$t7 +/* 36e2c: 8f080060 */ lw $t0,0x60($t8) +/* 36e30: 00094880 */ sll $t1,$t1,0x2 +/* 36e34: 012f4821 */ addu $t1,$t1,$t7 +/* 36e38: 00094880 */ sll $t1,$t1,0x2 +/* 36e3c: 0109c821 */ addu $t9,$t0,$t1 +/* 36e40: a32e0024 */ sb $t6,0x24($t9) +/* 36e44: 10000059 */ b .L00036fac +/* 36e48: 00000000 */ nop +/* 36e4c: 93ac00bf */ lbu $t4,0xbf($sp) +/* 36e50: 000c5040 */ sll $t2,$t4,0x1 +/* 36e54: a3aa00bf */ sb $t2,0xbf($sp) +/* 36e58: 8fab00d0 */ lw $t3,0xd0($sp) +/* 36e5c: 8d6d0064 */ lw $t5,0x64($t3) +/* 36e60: 11a00041 */ beqz $t5,.L00036f68 +/* 36e64: afad00c8 */ sw $t5,0xc8($sp) +.L00036e68: +/* 36e68: 8fb800c8 */ lw $t8,0xc8($sp) +/* 36e6c: 93a800c3 */ lbu $t0,0xc3($sp) +/* 36e70: 930f0031 */ lbu $t7,0x31($t8) +/* 36e74: 15e80038 */ bne $t7,$t0,.L00036f58 +/* 36e78: 00000000 */ nop +/* 36e7c: 8f09003c */ lw $t1,0x3c($t8) +/* 36e80: 11200035 */ beqz $t1,.L00036f58 +/* 36e84: 00000000 */ nop +/* 36e88: 8fae00c8 */ lw $t6,0xc8($sp) +/* 36e8c: 8dd9003c */ lw $t9,0x3c($t6) +/* 36e90: afb9005c */ sw $t9,0x5c($sp) +/* 36e94: 8fac005c */ lw $t4,0x5c($sp) +/* 36e98: 2401ff7f */ addiu $at,$zero,-129 +/* 36e9c: 918a0004 */ lbu $t2,0x4($t4) +/* 36ea0: 01415824 */ and $t3,$t2,$at +/* 36ea4: 256dfffe */ addiu $t5,$t3,-2 +/* 36ea8: 2da1000c */ sltiu $at,$t5,0xc +/* 36eac: 10200024 */ beqz $at,.L00036f40 +/* 36eb0: 00000000 */ nop +/* 36eb4: 000d6880 */ sll $t5,$t5,0x2 +/* 36eb8: 3c017005 */ lui $at,%hi(var70054a48) +/* 36ebc: 002d0821 */ addu $at,$at,$t5 +/* 36ec0: 8c2d4a48 */ lw $t5,%lo(var70054a48)($at) +/* 36ec4: 01a00008 */ jr $t5 +/* 36ec8: 00000000 */ nop +/* 36ecc: 0c00bf18 */ jal func0002fc60 +/* 36ed0: 93a400bf */ lbu $a0,0xbf($sp) +/* 36ed4: 8faf005c */ lw $t7,0x5c($sp) +/* 36ed8: 46000407 */ neg.s $f16,$f0 +/* 36edc: e5f00010 */ swc1 $f16,0x10($t7) +/* 36ee0: 0c00bf18 */ jal func0002fc60 +/* 36ee4: 93a400bf */ lbu $a0,0xbf($sp) +/* 36ee8: 8fa8005c */ lw $t0,0x5c($sp) +/* 36eec: e500000c */ swc1 $f0,0xc($t0) +/* 36ef0: 10000019 */ b .L00036f58 +/* 36ef4: 00000000 */ nop +/* 36ef8: 0c00bf18 */ jal func0002fc60 +/* 36efc: 93a400bf */ lbu $a0,0xbf($sp) +/* 36f00: 3c014000 */ lui $at,0x4000 +/* 36f04: 44819000 */ mtc1 $at,$f18 +/* 36f08: 8fb8005c */ lw $t8,0x5c($sp) +/* 36f0c: 46120103 */ div.s $f4,$f0,$f18 +/* 36f10: e704000c */ swc1 $f4,0xc($t8) +/* 36f14: 10000010 */ b .L00036f58 +/* 36f18: 00000000 */ nop +/* 36f1c: 0c00bf18 */ jal func0002fc60 +/* 36f20: 93a400bf */ lbu $a0,0xbf($sp) +/* 36f24: 3c014000 */ lui $at,0x4000 +/* 36f28: 44813000 */ mtc1 $at,$f6 +/* 36f2c: 8fa9005c */ lw $t1,0x5c($sp) +/* 36f30: 46060202 */ mul.s $f8,$f0,$f6 +/* 36f34: e528000c */ swc1 $f8,0xc($t1) +/* 36f38: 10000007 */ b .L00036f58 +/* 36f3c: 00000000 */ nop +.L00036f40: +/* 36f40: 0c00bf18 */ jal func0002fc60 +/* 36f44: 93a400bf */ lbu $a0,0xbf($sp) +/* 36f48: 8fae005c */ lw $t6,0x5c($sp) +/* 36f4c: e5c0000c */ swc1 $f0,0xc($t6) +/* 36f50: 10000001 */ b .L00036f58 +/* 36f54: 00000000 */ nop +.L00036f58: +/* 36f58: 8fb900c8 */ lw $t9,0xc8($sp) +/* 36f5c: 8f2c0000 */ lw $t4,0x0($t9) +/* 36f60: 1580ffc1 */ bnez $t4,.L00036e68 +/* 36f64: afac00c8 */ sw $t4,0xc8($sp) +.L00036f68: +/* 36f68: 10000010 */ b .L00036fac +/* 36f6c: 00000000 */ nop +/* 36f70: 93af00c3 */ lbu $t7,0xc3($sp) +/* 36f74: 8fab00d0 */ lw $t3,0xd0($sp) +/* 36f78: 93aa00bf */ lbu $t2,0xbf($sp) +/* 36f7c: 000f4080 */ sll $t0,$t7,0x2 +/* 36f80: 010f4023 */ subu $t0,$t0,$t7 +/* 36f84: 8d6d0060 */ lw $t5,0x60($t3) +/* 36f88: 00084080 */ sll $t0,$t0,0x2 +/* 36f8c: 010f4021 */ addu $t0,$t0,$t7 +/* 36f90: 00084080 */ sll $t0,$t0,0x2 +/* 36f94: 01a8c021 */ addu $t8,$t5,$t0 +/* 36f98: a30a0031 */ sb $t2,0x31($t8) +/* 36f9c: 10000003 */ b .L00036fac +/* 36fa0: 00000000 */ nop +.L00036fa4: +/* 36fa4: 10000001 */ b .L00036fac +/* 36fa8: 00000000 */ nop +.L00036fac: +/* 36fac: 10000094 */ b .L00037200 +/* 36fb0: 00000000 */ nop +/* 36fb4: 93b900c3 */ lbu $t9,0xc3($sp) +/* 36fb8: 8fa900d0 */ lw $t1,0xd0($sp) +/* 36fbc: 93a800c2 */ lbu $t0,0xc2($sp) +/* 36fc0: 00196080 */ sll $t4,$t9,0x2 +/* 36fc4: 01996023 */ subu $t4,$t4,$t9 +/* 36fc8: 8d2e0060 */ lw $t6,0x60($t1) +/* 36fcc: 000c6080 */ sll $t4,$t4,0x2 +/* 36fd0: 01996021 */ addu $t4,$t4,$t9 +/* 36fd4: 000c6080 */ sll $t4,$t4,0x2 +/* 36fd8: 01cc5821 */ addu $t3,$t6,$t4 +/* 36fdc: 916f0032 */ lbu $t7,0x32($t3) +/* 36fe0: 000f69c0 */ sll $t5,$t7,0x7 +/* 36fe4: 01a85021 */ addu $t2,$t5,$t0 +/* 36fe8: afaa0090 */ sw $t2,0x90($sp) +/* 36fec: 8fa900d0 */ lw $t1,0xd0($sp) +/* 36ff0: 8fb80090 */ lw $t8,0x90($sp) +/* 36ff4: 8d390020 */ lw $t9,0x20($t1) +/* 36ff8: 872e0000 */ lh $t6,0x0($t9) +/* 36ffc: 030e082a */ slt $at,$t8,$t6 +/* 37000: 1020000e */ beqz $at,.L0003703c +/* 37004: 00000000 */ nop +/* 37008: 8fac00d0 */ lw $t4,0xd0($sp) +/* 3700c: 8faf0090 */ lw $t7,0x90($sp) +/* 37010: 8d8b0020 */ lw $t3,0x20($t4) +/* 37014: 000f6880 */ sll $t5,$t7,0x2 +/* 37018: 016d4021 */ addu $t0,$t3,$t5 +/* 3701c: 8d0a000c */ lw $t2,0xc($t0) +/* 37020: afaa0058 */ sw $t2,0x58($sp) +/* 37024: 8fa400d0 */ lw $a0,0xd0($sp) +/* 37028: 8fa50058 */ lw $a1,0x58($sp) +/* 3702c: 0c00f7d9 */ jal func0003df64 +/* 37030: 93a600c3 */ lbu $a2,0xc3($sp) +/* 37034: 10000001 */ b .L0003703c +/* 37038: 00000000 */ nop +.L0003703c: +/* 3703c: 10000070 */ b .L00037200 +/* 37040: 00000000 */ nop +/* 37044: 93a900bf */ lbu $t1,0xbf($sp) +/* 37048: 93b800c0 */ lbu $t8,0xc0($sp) +/* 3704c: 0009c9c0 */ sll $t9,$t1,0x7 +/* 37050: 03387021 */ addu $t6,$t9,$t8 +/* 37054: 25cce000 */ addiu $t4,$t6,-8192 +/* 37058: afac0054 */ sw $t4,0x54($sp) +/* 3705c: 93ad00c3 */ lbu $t5,0xc3($sp) +/* 37060: 8faf00d0 */ lw $t7,0xd0($sp) +/* 37064: 8fb90054 */ lw $t9,0x54($sp) +/* 37068: 000d4080 */ sll $t0,$t5,0x2 +/* 3706c: 010d4023 */ subu $t0,$t0,$t5 +/* 37070: 8deb0060 */ lw $t3,0x60($t7) +/* 37074: 00084080 */ sll $t0,$t0,0x2 +/* 37078: 010d4021 */ addu $t0,$t0,$t5 +/* 3707c: 00084080 */ sll $t0,$t0,0x2 +/* 37080: 01685021 */ addu $t2,$t3,$t0 +/* 37084: 85490004 */ lh $t1,0x4($t2) +/* 37088: 01390019 */ multu $t1,$t9 +/* 3708c: 0000c012 */ mflo $t8 +/* 37090: 07010003 */ bgez $t8,.L000370a0 +/* 37094: 00187343 */ sra $t6,$t8,0xd +/* 37098: 27011fff */ addiu $at,$t8,0x1fff +/* 3709c: 00017343 */ sra $t6,$at,0xd +.L000370a0: +/* 370a0: afae004c */ sw $t6,0x4c($sp) +/* 370a4: 0c00e7f8 */ jal func00039fe0 +/* 370a8: 8fa4004c */ lw $a0,0x4c($sp) +/* 370ac: e7a00050 */ swc1 $f0,0x50($sp) +/* 370b0: 93ad00c3 */ lbu $t5,0xc3($sp) +/* 370b4: 8fac00d0 */ lw $t4,0xd0($sp) +/* 370b8: c7aa0050 */ lwc1 $f10,0x50($sp) +/* 370bc: 000d5880 */ sll $t3,$t5,0x2 +/* 370c0: 016d5823 */ subu $t3,$t3,$t5 +/* 370c4: 8d8f0060 */ lw $t7,0x60($t4) +/* 370c8: 000b5880 */ sll $t3,$t3,0x2 +/* 370cc: 016d5821 */ addu $t3,$t3,$t5 +/* 370d0: 000b5880 */ sll $t3,$t3,0x2 +/* 370d4: 01eb4021 */ addu $t0,$t7,$t3 +/* 370d8: e50a0014 */ swc1 $f10,0x14($t0) +/* 370dc: 8faa00d0 */ lw $t2,0xd0($sp) +/* 370e0: 8d490064 */ lw $t1,0x64($t2) +/* 370e4: 11200042 */ beqz $t1,.L000371f0 +/* 370e8: afa900c8 */ sw $t1,0xc8($sp) +.L000370ec: +/* 370ec: 8fb900c8 */ lw $t9,0xc8($sp) +/* 370f0: 93ae00c3 */ lbu $t6,0xc3($sp) +/* 370f4: 93380031 */ lbu $t8,0x31($t9) +/* 370f8: 170e0039 */ bne $t8,$t6,.L000371e0 +/* 370fc: 00000000 */ nop +/* 37100: 8fac00c8 */ lw $t4,0xc8($sp) +/* 37104: c7b20050 */ lwc1 $f18,0x50($sp) +/* 37108: c5900028 */ lwc1 $f16,0x28($t4) +/* 3710c: c586002c */ lwc1 $f6,0x2c($t4) +/* 37110: 25840004 */ addiu $a0,$t4,0x4 +/* 37114: 46128102 */ mul.s $f4,$f16,$f18 +/* 37118: 00000000 */ nop +/* 3711c: 46062202 */ mul.s $f8,$f4,$f6 +/* 37120: 44054000 */ mfc1 $a1,$f8 +/* 37124: 0c00f3e8 */ jal func0003cfa0 +/* 37128: 00000000 */ nop +/* 3712c: 93ab00c3 */ lbu $t3,0xc3($sp) +/* 37130: 8fad00d0 */ lw $t5,0xd0($sp) +/* 37134: 000b4080 */ sll $t0,$t3,0x2 +/* 37138: 010b4023 */ subu $t0,$t0,$t3 +/* 3713c: 8daf0060 */ lw $t7,0x60($t5) +/* 37140: 00084080 */ sll $t0,$t0,0x2 +/* 37144: 010b4021 */ addu $t0,$t0,$t3 +/* 37148: 00084080 */ sll $t0,$t0,0x2 +/* 3714c: 01e85021 */ addu $t2,$t7,$t0 +/* 37150: 91490011 */ lbu $t1,0x11($t2) +/* 37154: 11200022 */ beqz $t1,.L000371e0 +/* 37158: 00000000 */ nop +/* 3715c: 8faf00c8 */ lw $t7,0xc8($sp) +/* 37160: 93ae00c3 */ lbu $t6,0xc3($sp) +/* 37164: 8fb900d0 */ lw $t9,0xd0($sp) +/* 37168: 8dea0020 */ lw $t2,0x20($t7) +/* 3716c: 000e6080 */ sll $t4,$t6,0x2 +/* 37170: 018e6023 */ subu $t4,$t4,$t6 +/* 37174: 8f380060 */ lw $t8,0x60($t9) +/* 37178: 8d490004 */ lw $t1,0x4($t2) +/* 3717c: 000c6080 */ sll $t4,$t4,0x2 +/* 37180: 018e6021 */ addu $t4,$t4,$t6 +/* 37184: 000c6080 */ sll $t4,$t4,0x2 +/* 37188: 91e80032 */ lbu $t0,0x32($t7) +/* 3718c: 91390004 */ lbu $t9,0x4($t1) +/* 37190: 030c6821 */ addu $t5,$t8,$t4 +/* 37194: 91ab0012 */ lbu $t3,0x12($t5) +/* 37198: 01197023 */ subu $t6,$t0,$t9 +/* 3719c: 016e2021 */ addu $a0,$t3,$t6 +/* 371a0: 0c00ee75 */ jal func0003b9d4 +/* 371a4: 2484ffc0 */ addiu $a0,$a0,-64 +/* 371a8: 3c0143dc */ lui $at,0x43dc +/* 371ac: 44815000 */ mtc1 $at,$f10 +/* 371b0: 46000506 */ mov.s $f20,$f0 +/* 371b4: c7b20050 */ lwc1 $f18,0x50($sp) +/* 371b8: 460aa402 */ mul.s $f16,$f20,$f10 +/* 371bc: 8fb800c8 */ lw $t8,0xc8($sp) +/* 371c0: c706002c */ lwc1 $f6,0x2c($t8) +/* 371c4: 27040004 */ addiu $a0,$t8,0x4 +/* 371c8: 46128102 */ mul.s $f4,$f16,$f18 +/* 371cc: 00000000 */ nop +/* 371d0: 46062202 */ mul.s $f8,$f4,$f6 +/* 371d4: 44054000 */ mfc1 $a1,$f8 +/* 371d8: 0c00f8f8 */ jal func0003e3e0 +/* 371dc: 00000000 */ nop +.L000371e0: +/* 371e0: 8fac00c8 */ lw $t4,0xc8($sp) +/* 371e4: 8d8d0000 */ lw $t5,0x0($t4) +/* 371e8: 15a0ffc0 */ bnez $t5,.L000370ec +/* 371ec: afad00c8 */ sw $t5,0xc8($sp) +.L000371f0: +/* 371f0: 10000003 */ b .L00037200 +/* 371f4: 00000000 */ nop +.L000371f8: +/* 371f8: 10000001 */ b .L00037200 +/* 371fc: 00000000 */ nop +.L00037200: +/* 37200: 10000001 */ b .L00037208 +/* 37204: 00000000 */ nop +.L00037208: +/* 37208: 8fbf003c */ lw $ra,0x3c($sp) +/* 3720c: d7b40028 */ ldc1 $f20,0x28($sp) +/* 37210: 8fb00034 */ lw $s0,0x34($sp) +/* 37214: 8fb10038 */ lw $s1,0x38($sp) +/* 37218: 03e00008 */ jr $ra +/* 3721c: 27bd00d0 */ addiu $sp,$sp,0xd0 +); +#else GLOBAL_ASM( glabel func00035110 /* 35110: 27bdff30 */ addiu $sp,$sp,-208 @@ -3609,6 +6201,7 @@ glabel func00035110 /* 37218: 03e00008 */ jr $ra /* 3721c: 27bd00d0 */ addiu $sp,$sp,0xd0 ); +#endif GLOBAL_ASM( glabel func00037220 diff --git a/src/lib/lib_37b00.c b/src/lib/lib_37b00.c index 5f17043bf..6e4787541 100644 --- a/src/lib/lib_37b00.c +++ b/src/lib/lib_37b00.c @@ -112,7 +112,7 @@ glabel func00037b00 /* 37c84: 240f0040 */ addiu $t7,$zero,0x40 /* 37c88: 24180040 */ addiu $t8,$zero,0x40 /* 37c8c: a438c3ec */ sh $t8,%lo(var8009c3ec)($at) -/* 37c90: a42fc3ee */ sh $t7,-0x3c12($at) +/* 37c90: a42fc3ee */ sh $t7,%lo(var8009c3ec+0x2)($at) /* 37c94: 24197fff */ addiu $t9,$zero,0x7fff /* 37c98: 3c01800a */ lui $at,%hi(var8009c39c+0x2) /* 37c9c: a439c39e */ sh $t9,%lo(var8009c39c+0x2)($at) diff --git a/src/lib/lib_3a100.c b/src/lib/lib_3a100.c index f1947e6d3..7814b4223 100644 --- a/src/lib/lib_3a100.c +++ b/src/lib/lib_3a100.c @@ -9,6 +9,17 @@ #include "types.h" const u32 var70054a90[] = {0x3fb50481}; + +#if VERSION >= VERSION_PAL_FINAL +const u32 var70054a94[] = {0x7003a2c8}; +const u32 var70054a98[] = {0x7003a324}; +const u32 var70054a9c[] = {0x7003a380}; +const u32 var70054aa0[] = {0x7003a3ac}; +const u32 var70054aa4[] = {0x7003a3d8}; +const u32 var70054aa8[] = {0x7003a404}; +const u32 var70054aac[] = {0x7003a468}; +const u32 var70054ab0[] = {0x7003a484}; +#else const u32 var70054a94[] = {0x7003a9c8}; const u32 var70054a98[] = {0x7003aa24}; const u32 var70054a9c[] = {0x7003aa80}; @@ -17,6 +28,8 @@ const u32 var70054aa4[] = {0x7003aad8}; const u32 var70054aa8[] = {0x7003ab04}; const u32 var70054aac[] = {0x7003ab68}; const u32 var70054ab0[] = {0x7003ab84}; +#endif + const u32 var70054ab4[] = {0x482910da}; const u32 var70054ab8[] = {0x482910da}; const u32 var70054abc[] = {0x00000000}; @@ -27,7 +40,6 @@ const u32 var70054acc[] = {0x3f71a1bf}; const u32 var70054ad0[] = {0x46d12000}; const u32 var70054ad4[] = {0x46d12000}; const u32 var70054ad8[] = {0x482910da}; -const u32 var70054adc[] = {0x00000000}; GLOBAL_ASM( glabel func0003a100 @@ -2413,4 +2425,4 @@ glabel func0003c214 /* 3c424: 00000000 */ nop /* 3c428: 00000000 */ nop /* 3c42c: 00000000 */ nop -); \ No newline at end of file +); diff --git a/src/lib/lib_3e730.c b/src/lib/lib_3e730.c index e303689bf..6892a79f1 100644 --- a/src/lib/lib_3e730.c +++ b/src/lib/lib_3e730.c @@ -15,6 +15,25 @@ #include "data.h" #include "types.h" +#if VERSION >= VERSION_PAL_FINAL +const u32 var70054af0[] = {0x7003e8f8}; +const u32 var70054af4[] = {0x7003e9d0}; +const u32 var70054af8[] = {0x7003e9d0}; +const u32 var70054afc[] = {0x7003e9d0}; +const u32 var70054b00[] = {0x7003e9d0}; +const u32 var70054b04[] = {0x7003e990}; +const u32 var70054b08[] = {0x7003e9d0}; +const u32 var70054b0c[] = {0x7003e924}; +const u32 var70054b10[] = {0x7003e95c}; +const u32 var70054b14[] = {0x7003e9d0}; +const u32 var70054b18[] = {0x7003e9d0}; +const u32 var70054b1c[] = {0x7003e52c}; +const u32 var70054b20[] = {0x7003e52c}; +const u32 var70054b24[] = {0x7003e2b8}; +const u32 var70054b28[] = {0x7003e870}; +const u32 var70054b2c[] = {0x7003e8c0}; +const u32 var70054b30[] = {0x7003e52c}; +#else const u32 var70054af0[] = {0x7003eff8}; const u32 var70054af4[] = {0x7003f0d0}; const u32 var70054af8[] = {0x7003f0d0}; @@ -32,9 +51,12 @@ const u32 var70054b24[] = {0x7003e9b8}; const u32 var70054b28[] = {0x7003ef70}; const u32 var70054b2c[] = {0x7003efc0}; const u32 var70054b30[] = {0x7003ec2c}; +#endif + const u32 var70054b34[] = {0x477fff00}; const u32 var70054b38[] = {0x00000000}; const u32 var70054b3c[] = {0x00000000}; + const u32 var70054b40[] = {0x00000100}; const u32 var70054b44[] = {0x00000001}; const u32 var70054b48[] = {0x00010300}; @@ -5375,6 +5397,16 @@ const u32 var70059ea0[] = {0x0a950a96}; const u32 var70059ea4[] = {0x0a990a9a}; const u32 var70059ea8[] = {0x0aa50aa6}; const u32 var70059eac[] = {0x0aa90aaa}; + +#if VERSION >= VERSION_PAL_FINAL +const u32 var70059eb0[] = {0x70049a7c}; +const u32 var70059eb4[] = {0x70049994}; +const u32 var70059eb8[] = {0x700499c8}; +const u32 var70059ebc[] = {0x70049a98}; +const u32 var70059ec0[] = {0x70049a98}; +const u32 var70059ec4[] = {0x700499fc}; +const u32 var70059ec8[] = {0x70049a3c}; +#else const u32 var70059eb0[] = {0x7004a17c}; const u32 var70059eb4[] = {0x7004a094}; const u32 var70059eb8[] = {0x7004a0c8}; @@ -5382,7 +5414,10 @@ const u32 var70059ebc[] = {0x7004a198}; const u32 var70059ec0[] = {0x7004a198}; const u32 var70059ec4[] = {0x7004a0fc}; const u32 var70059ec8[] = {0x7004a13c}; +#endif + const u32 var70059ecc[] = {0x00000000}; + const u32 var70059ed0[] = {0x686c4c00}; const u32 var70059ed4[] = {0x202b2d23}; const u32 var70059ed8[] = {0x30000000}; @@ -5392,6 +5427,61 @@ const u32 var70059ee4[] = {0x00000004}; const u32 var70059ee8[] = {0x00000008}; const u32 var70059eec[] = {0x00000010}; const u32 var70059ef0[] = {0x00000000}; + +#if VERSION >= VERSION_PAL_FINAL +const u32 var70059ef4[] = {0x7004e2f8}; +const u32 var70059ef8[] = {0x7004e5d8}; +const u32 var70059efc[] = {0x7004e2f8}; +const u32 var70059f00[] = {0x7004e5d8}; +const u32 var70059f04[] = {0x7004e5d8}; +const u32 var70059f08[] = {0x7004e5d8}; +const u32 var70059f0c[] = {0x7004e5d8}; +const u32 var70059f10[] = {0x7004e5d8}; +const u32 var70059f14[] = {0x7004e5d8}; +const u32 var70059f18[] = {0x7004e5d8}; +const u32 var70059f1c[] = {0x7004e5d8}; +const u32 var70059f20[] = {0x7004e5d8}; +const u32 var70059f24[] = {0x7004e5d8}; +const u32 var70059f28[] = {0x7004e5d8}; +const u32 var70059f2c[] = {0x7004e5d8}; +const u32 var70059f30[] = {0x7004e5d8}; +const u32 var70059f34[] = {0x7004e5d8}; +const u32 var70059f38[] = {0x7004e5d8}; +const u32 var70059f3c[] = {0x7004e5d8}; +const u32 var70059f40[] = {0x7004e1a8}; +const u32 var70059f44[] = {0x7004e5d8}; +const u32 var70059f48[] = {0x7004e5d8}; +const u32 var70059f4c[] = {0x7004e5d8}; +const u32 var70059f50[] = {0x7004e5d8}; +const u32 var70059f54[] = {0x7004e5d8}; +const u32 var70059f58[] = {0x7004e5d8}; +const u32 var70059f5c[] = {0x7004e5d8}; +const u32 var70059f60[] = {0x7004e5d8}; +const u32 var70059f64[] = {0x7004e5d8}; +const u32 var70059f68[] = {0x7004e5d8}; +const u32 var70059f6c[] = {0x7004e000}; +const u32 var70059f70[] = {0x7004e038}; +const u32 var70059f74[] = {0x7004e2f8}; +const u32 var70059f78[] = {0x7004e2f8}; +const u32 var70059f7c[] = {0x7004e2f8}; +const u32 var70059f80[] = {0x7004e5d8}; +const u32 var70059f84[] = {0x7004e038}; +const u32 var70059f88[] = {0x7004e5d8}; +const u32 var70059f8c[] = {0x7004e5d8}; +const u32 var70059f90[] = {0x7004e5d8}; +const u32 var70059f94[] = {0x7004e5d8}; +const u32 var70059f98[] = {0x7004e45c}; +const u32 var70059f9c[] = {0x7004e1a8}; +const u32 var70059fa0[] = {0x7004e52c}; +const u32 var70059fa4[] = {0x7004e5d8}; +const u32 var70059fa8[] = {0x7004e5d8}; +const u32 var70059fac[] = {0x7004e574}; +const u32 var70059fb0[] = {0x7004e5d8}; +const u32 var70059fb4[] = {0x7004e1a8}; +const u32 var70059fb8[] = {0x7004e5d8}; +const u32 var70059fbc[] = {0x7004e5d8}; +const u32 var70059fc0[] = {0x7004e1a8}; +#else const u32 var70059ef4[] = {0x7004e9f8}; const u32 var70059ef8[] = {0x7004ecd8}; const u32 var70059efc[] = {0x7004e9f8}; @@ -5444,9 +5534,12 @@ const u32 var70059fb4[] = {0x7004e8a8}; const u32 var70059fb8[] = {0x7004ecd8}; const u32 var70059fbc[] = {0x7004ecd8}; const u32 var70059fc0[] = {0x7004e8a8}; +#endif + const u32 var70059fc4[] = {0x00000000}; const u32 var70059fc8[] = {0x00000000}; const u32 var70059fcc[] = {0x00000000}; + const u32 var70059fd0[] = {0x3c8efa35}; const u32 var70059fd4[] = {0x00000000}; const u32 var70059fd8[] = {0x00000000}; @@ -6677,8 +6770,8 @@ glabel func0003f8a0 /* 3f8dc: 3c013f00 */ lui $at,0x3f00 /* 3f8e0: 44814000 */ mtc1 $at,$f8 /* 3f8e4: 44892000 */ mtc1 $t1,$f4 -/* 3f8e8: 3c017006 */ lui $at,0x7006 -/* 3f8ec: c4309c54 */ lwc1 $f16,-0x63ac($at) +/* 3f8e8: 3c017006 */ lui $at,%hi(var70059c54) +/* 3f8ec: c4309c54 */ lwc1 $f16,%lo(var70059c54)($at) /* 3f8f0: 468021a0 */ cvt.s.w $f6,$f4 /* 3f8f4: 46083280 */ add.s $f10,$f6,$f8 /* 3f8f8: 46105302 */ mul.s $f12,$f10,$f16 @@ -6700,8 +6793,8 @@ glabel func0003f8a0 /* 3f934: 3c013f00 */ lui $at,0x3f00 /* 3f938: 44813000 */ mtc1 $at,$f6 /* 3f93c: 448e9000 */ mtc1 $t6,$f18 -/* 3f940: 3c017006 */ lui $at,0x7006 -/* 3f944: c42a9c58 */ lwc1 $f10,-0x63a8($at) +/* 3f940: 3c017006 */ lui $at,%hi(var70059c58) +/* 3f944: c42a9c58 */ lwc1 $f10,%lo(var70059c58)($at) /* 3f948: 46809120 */ cvt.s.w $f4,$f18 /* 3f94c: 46062200 */ add.s $f8,$f4,$f6 /* 3f950: 460a4302 */ mul.s $f12,$f8,$f10 @@ -6742,8 +6835,8 @@ glabel func0003f8a0 /* 3f9d4: 3c014190 */ lui $at,0x4190 /* 3f9d8: 44815000 */ mtc1 $at,$f10 /* 3f9dc: 46809120 */ cvt.s.w $f4,$f18 -/* 3f9e0: 3c017006 */ lui $at,0x7006 -/* 3f9e4: c4329c5c */ lwc1 $f18,-0x63a4($at) +/* 3f9e0: 3c017006 */ lui $at,%hi(var70059c5c) +/* 3f9e4: c4329c5c */ lwc1 $f18,%lo(var70059c5c)($at) /* 3f9e8: 46062200 */ add.s $f8,$f4,$f6 /* 3f9ec: 460a4401 */ sub.s $f16,$f8,$f10 /* 3f9f0: 46128302 */ mul.s $f12,$f16,$f18 @@ -6796,8 +6889,8 @@ glabel func0003f8a0 /* 3faa0: 3c0140c0 */ lui $at,0x40c0 /* 3faa4: 44812000 */ mtc1 $at,$f4 /* 3faa8: 468042a0 */ cvt.s.w $f10,$f8 -/* 3faac: 3c017006 */ lui $at,0x7006 -/* 3fab0: c4289c60 */ lwc1 $f8,-0x63a0($at) +/* 3faac: 3c017006 */ lui $at,%hi(var70059c60) +/* 3fab0: c4289c60 */ lwc1 $f8,%lo(var70059c60)($at) /* 3fab4: 46105480 */ add.s $f18,$f10,$f16 /* 3fab8: 46049181 */ sub.s $f6,$f18,$f4 /* 3fabc: 46083302 */ mul.s $f12,$f6,$f8 @@ -6835,8 +6928,8 @@ glabel func0003f8a0 /* 3fb34: 3c013f00 */ lui $at,0x3f00 /* 3fb38: 44812000 */ mtc1 $at,$f4 /* 3fb3c: 448b8000 */ mtc1 $t3,$f16 -/* 3fb40: 3c017006 */ lui $at,0x7006 -/* 3fb44: c4289c64 */ lwc1 $f8,-0x639c($at) +/* 3fb40: 3c017006 */ lui $at,%hi(var70059c64) +/* 3fb44: c4289c64 */ lwc1 $f8,%lo(var70059c64)($at) /* 3fb48: 468084a0 */ cvt.s.w $f18,$f16 /* 3fb4c: 46049180 */ add.s $f6,$f18,$f4 /* 3fb50: 46083302 */ mul.s $f12,$f6,$f8 @@ -7192,8 +7285,8 @@ glabel func0003f8a0 /* 40060: afa0026c */ sw $zero,0x26c($sp) .L00040064: /* 40064: 8fac026c */ lw $t4,0x26c($sp) -/* 40068: 3c017006 */ lui $at,0x7006 -/* 4006c: c42e9c68 */ lwc1 $f14,-0x6398($at) +/* 40068: 3c017006 */ lui $at,%hi(var70059c68) +/* 4006c: c42e9c68 */ lwc1 $f14,%lo(var70059c68)($at) /* 40070: 448c5000 */ mtc1 $t4,$f10 /* 40074: 0c0117b4 */ jal func00045ed0 /* 40078: 46805320 */ cvt.s.w $f12,$f10 diff --git a/src/lib/lib_446d0.c b/src/lib/lib_446d0.c index 4011c97bd..9305e1177 100644 --- a/src/lib/lib_446d0.c +++ b/src/lib/lib_446d0.c @@ -136,8 +136,8 @@ glabel func000446d0 .L000448bc: /* 448bc: 0c012974 */ jal sqrtf /* 448c0: 00000000 */ nop -/* 448c4: 3c017006 */ lui $at,0x7006 -/* 448c8: c4289c70 */ lwc1 $f8,-0x6390($at) +/* 448c4: 3c017006 */ lui $at,%hi(var70059c70) +/* 448c8: c4289c70 */ lwc1 $f8,%lo(var70059c70)($at) /* 448cc: 24190001 */ addiu $t9,$zero,0x1 /* 448d0: 46004283 */ div.s $f10,$f8,$f0 /* 448d4: 4449f800 */ cfc1 $t1,$31 @@ -343,4 +343,4 @@ glabel func000446d0 /* 44bb4: 00000000 */ nop /* 44bb8: 00000000 */ nop /* 44bbc: 00000000 */ nop -); \ No newline at end of file +); diff --git a/src/lib/lib_44f60.c b/src/lib/lib_44f60.c index 410925ca1..9e33e1047 100644 --- a/src/lib/lib_44f60.c +++ b/src/lib/lib_44f60.c @@ -831,8 +831,8 @@ glabel func00045ab0 /* 45b3c: 44815000 */ mtc1 $at,$f10 /* 45b40: 0c012974 */ jal sqrtf /* 45b44: 460a3300 */ add.s $f12,$f6,$f10 -/* 45b48: 3c017006 */ lui $at,0x7006 -/* 45b4c: c4309c80 */ lwc1 $f16,-0x6380($at) +/* 45b48: 3c017006 */ lui $at,%hi(var70059c80) +/* 45b4c: c4309c80 */ lwc1 $f16,%lo(var70059c80)($at) /* 45b50: 46008483 */ div.s $f18,$f16,$f0 /* 45b54: 10000011 */ b .L00045b9c /* 45b58: e7b20028 */ swc1 $f18,0x28($sp) @@ -855,15 +855,15 @@ glabel func00045ab0 /* 45b94: 46109103 */ div.s $f4,$f18,$f16 /* 45b98: e7a40028 */ swc1 $f4,0x28($sp) .L00045b9c: -/* 45b9c: 3c017006 */ lui $at,0x7006 -/* 45ba0: c4289c84 */ lwc1 $f8,-0x637c($at) +/* 45b9c: 3c017006 */ lui $at,%hi(var70059c84) +/* 45ba0: c4289c84 */ lwc1 $f8,%lo(var70059c84)($at) /* 45ba4: c7a60028 */ lwc1 $f6,0x28($sp) /* 45ba8: 4608303c */ c.lt.s $f6,$f8 /* 45bac: 00000000 */ nop /* 45bb0: 45000004 */ bc1f .L00045bc4 /* 45bb4: 00000000 */ nop -/* 45bb8: 3c017006 */ lui $at,0x7006 -/* 45bbc: c42a9c88 */ lwc1 $f10,-0x6378($at) +/* 45bb8: 3c017006 */ lui $at,%hi(var70059c88) +/* 45bbc: c42a9c88 */ lwc1 $f10,%lo(var70059c88)($at) /* 45bc0: e7aa0028 */ swc1 $f10,0x28($sp) .L00045bc4: /* 45bc4: 8fad002c */ lw $t5,0x2c($sp) @@ -1080,4 +1080,4 @@ glabel func00045da8 /* 45ec4: 03e00008 */ jr $ra /* 45ec8: 00000000 */ nop /* 45ecc: 00000000 */ nop -); \ No newline at end of file +); diff --git a/src/lib/lib_46650.c b/src/lib/lib_46650.c index 462fba962..3b0f8415f 100644 --- a/src/lib/lib_46650.c +++ b/src/lib/lib_46650.c @@ -102,18 +102,18 @@ glabel func00046650 /* 467c4: 46042080 */ add.s $f2,$f4,$f4 /* 467c8: 46061000 */ add.s $f0,$f2,$f6 /* 467cc: c4840010 */ lwc1 $f4,0x10($a0) -/* 467d0: 3c017006 */ lui $at,0x7006 -/* 467d4: c4269c90 */ lwc1 $f6,-0x6370($at) +/* 467d0: 3c017006 */ lui $at,%hi(var70059c90) +/* 467d4: c4269c90 */ lwc1 $f6,%lo(var70059c90)($at) /* 467d8: 46062102 */ mul.s $f4,$f4,$f6 /* 467dc: 00000000 */ nop /* 467e0: c4880020 */ lwc1 $f8,0x20($a0) -/* 467e4: 3c017006 */ lui $at,0x7006 -/* 467e8: c42a9c94 */ lwc1 $f10,-0x636c($at) +/* 467e4: 3c017006 */ lui $at,%hi(var70059c94) +/* 467e8: c42a9c94 */ lwc1 $f10,%lo(var70059c94)($at) /* 467ec: c4900040 */ lwc1 $f16,0x40($a0) /* 467f0: 460a4202 */ mul.s $f8,$f8,$f10 /* 467f4: 00000000 */ nop -/* 467f8: 3c017006 */ lui $at,0x7006 -/* 467fc: c4269c98 */ lwc1 $f6,-0x6368($at) +/* 467f8: 3c017006 */ lui $at,%hi(var70059c98) +/* 467fc: c4269c98 */ lwc1 $f6,%lo(var70059c98)($at) /* 46800: 46068402 */ mul.s $f16,$f16,$f6 /* 46804: 00000000 */ nop /* 46808: 46082100 */ add.s $f4,$f4,$f8 @@ -121,18 +121,18 @@ glabel func00046650 /* 46810: 46002100 */ add.s $f4,$f4,$f0 /* 46814: e5040000 */ swc1 $f4,0x0($t0) /* 46818: c4840010 */ lwc1 $f4,0x10($a0) -/* 4681c: 3c017006 */ lui $at,0x7006 -/* 46820: c4269c9c */ lwc1 $f6,-0x6364($at) +/* 4681c: 3c017006 */ lui $at,%hi(var70059c9c) +/* 46820: c4269c9c */ lwc1 $f6,%lo(var70059c9c)($at) /* 46824: 46062102 */ mul.s $f4,$f4,$f6 /* 46828: 00000000 */ nop /* 4682c: c4880020 */ lwc1 $f8,0x20($a0) -/* 46830: 3c017006 */ lui $at,0x7006 -/* 46834: c42a9ca0 */ lwc1 $f10,-0x6360($at) +/* 46830: 3c017006 */ lui $at,%hi(var70059ca0) +/* 46834: c42a9ca0 */ lwc1 $f10,%lo(var70059ca0)($at) /* 46838: c4900040 */ lwc1 $f16,0x40($a0) /* 4683c: 460a4202 */ mul.s $f8,$f8,$f10 /* 46840: 00000000 */ nop -/* 46844: 3c017006 */ lui $at,0x7006 -/* 46848: c4269ca4 */ lwc1 $f6,-0x635c($at) +/* 46844: 3c017006 */ lui $at,%hi(var70059ca4) +/* 46848: c4269ca4 */ lwc1 $f6,%lo(var70059ca4)($at) /* 4684c: 46068402 */ mul.s $f16,$f16,$f6 /* 46850: 00000000 */ nop /* 46854: 46082100 */ add.s $f4,$f4,$f8 @@ -140,18 +140,18 @@ glabel func00046650 /* 4685c: 46002100 */ add.s $f4,$f4,$f0 /* 46860: e5040008 */ swc1 $f4,0x8($t0) /* 46864: c4840010 */ lwc1 $f4,0x10($a0) -/* 46868: 3c017006 */ lui $at,0x7006 -/* 4686c: c4269ca8 */ lwc1 $f6,-0x6358($at) +/* 46868: 3c017006 */ lui $at,%hi(var70059ca8) +/* 4686c: c4269ca8 */ lwc1 $f6,%lo(var70059ca8)($at) /* 46870: 46062102 */ mul.s $f4,$f4,$f6 /* 46874: 00000000 */ nop /* 46878: c4880020 */ lwc1 $f8,0x20($a0) -/* 4687c: 3c017006 */ lui $at,0x7006 -/* 46880: c42a9cac */ lwc1 $f10,-0x6354($at) +/* 4687c: 3c017006 */ lui $at,%hi(var70059cac) +/* 46880: c42a9cac */ lwc1 $f10,%lo(var70059cac)($at) /* 46884: c4900040 */ lwc1 $f16,0x40($a0) /* 46888: 460a4202 */ mul.s $f8,$f8,$f10 /* 4688c: 00000000 */ nop -/* 46890: 3c017006 */ lui $at,0x7006 -/* 46894: c4269cb0 */ lwc1 $f6,-0x6350($at) +/* 46890: 3c017006 */ lui $at,%hi(var70059cb0) +/* 46894: c4269cb0 */ lwc1 $f6,%lo(var70059cb0)($at) /* 46898: 46068402 */ mul.s $f16,$f16,$f6 /* 4689c: 00000000 */ nop /* 468a0: 46082100 */ add.s $f4,$f4,$f8 @@ -175,23 +175,23 @@ glabel func00046650 /* 468e8: 460a1080 */ add.s $f2,$f2,$f10 /* 468ec: e5020010 */ swc1 $f2,0x10($t0) /* 468f0: c4800018 */ lwc1 $f0,0x18($a0) -/* 468f4: 3c017006 */ lui $at,0x7006 -/* 468f8: c4249cb4 */ lwc1 $f4,-0x634c($at) +/* 468f4: 3c017006 */ lui $at,%hi(var70059cb4) +/* 468f8: c4249cb4 */ lwc1 $f4,%lo(var70059cb4)($at) /* 468fc: 46040002 */ mul.s $f0,$f0,$f4 /* 46900: 00000000 */ nop /* 46904: c4840008 */ lwc1 $f4,0x8($a0) -/* 46908: 3c017006 */ lui $at,0x7006 -/* 4690c: c4269cb8 */ lwc1 $f6,-0x6348($at) +/* 46908: 3c017006 */ lui $at,%hi(var70059cb8) +/* 4690c: c4269cb8 */ lwc1 $f6,%lo(var70059cb8)($at) /* 46910: 46062102 */ mul.s $f4,$f4,$f6 /* 46914: 00000000 */ nop /* 46918: c4880028 */ lwc1 $f8,0x28($a0) -/* 4691c: 3c017006 */ lui $at,0x7006 -/* 46920: c42a9cbc */ lwc1 $f10,-0x6344($at) +/* 4691c: 3c017006 */ lui $at,%hi(var70059cbc) +/* 46920: c42a9cbc */ lwc1 $f10,%lo(var70059cbc)($at) /* 46924: c4900038 */ lwc1 $f16,0x38($a0) /* 46928: 460a4202 */ mul.s $f8,$f8,$f10 /* 4692c: 00000000 */ nop -/* 46930: 3c017006 */ lui $at,0x7006 -/* 46934: c4269cc0 */ lwc1 $f6,-0x6340($at) +/* 46930: 3c017006 */ lui $at,%hi(var70059cc0) +/* 46934: c4269cc0 */ lwc1 $f6,%lo(var70059cc0)($at) /* 46938: 46068402 */ mul.s $f16,$f16,$f6 /* 4693c: 00000000 */ nop /* 46940: 46082100 */ add.s $f4,$f4,$f8 @@ -200,18 +200,18 @@ glabel func00046650 /* 4694c: e5040014 */ swc1 $f4,0x14($t0) /* 46950: 46000007 */ neg.s $f0,$f0 /* 46954: c4840008 */ lwc1 $f4,0x8($a0) -/* 46958: 3c017006 */ lui $at,0x7006 -/* 4695c: c4269cc4 */ lwc1 $f6,-0x633c($at) +/* 46958: 3c017006 */ lui $at,%hi(var70059cc4) +/* 4695c: c4269cc4 */ lwc1 $f6,%lo(var70059cc4)($at) /* 46960: 46062102 */ mul.s $f4,$f4,$f6 /* 46964: 00000000 */ nop /* 46968: c4880028 */ lwc1 $f8,0x28($a0) -/* 4696c: 3c017006 */ lui $at,0x7006 -/* 46970: c42a9cc8 */ lwc1 $f10,-0x6338($at) +/* 4696c: 3c017006 */ lui $at,%hi(var70059cc8) +/* 46970: c42a9cc8 */ lwc1 $f10,%lo(var70059cc8)($at) /* 46974: c4900038 */ lwc1 $f16,0x38($a0) /* 46978: 460a4202 */ mul.s $f8,$f8,$f10 /* 4697c: 00000000 */ nop -/* 46980: 3c017006 */ lui $at,0x7006 -/* 46984: c4269ccc */ lwc1 $f6,-0x6334($at) +/* 46980: 3c017006 */ lui $at,%hi(var70059ccc) +/* 46984: c4269ccc */ lwc1 $f6,%lo(var70059ccc)($at) /* 46988: 46068402 */ mul.s $f16,$f16,$f6 /* 4698c: 00000000 */ nop /* 46990: 46082100 */ add.s $f4,$f4,$f8 @@ -219,18 +219,18 @@ glabel func00046650 /* 46998: 46002100 */ add.s $f4,$f4,$f0 /* 4699c: e5040018 */ swc1 $f4,0x18($t0) /* 469a0: c4840008 */ lwc1 $f4,0x8($a0) -/* 469a4: 3c017006 */ lui $at,0x7006 -/* 469a8: c4269cd0 */ lwc1 $f6,-0x6330($at) +/* 469a4: 3c017006 */ lui $at,%hi(var70059cd0) +/* 469a8: c4269cd0 */ lwc1 $f6,%lo(var70059cd0)($at) /* 469ac: 46062102 */ mul.s $f4,$f4,$f6 /* 469b0: 00000000 */ nop /* 469b4: c4880028 */ lwc1 $f8,0x28($a0) -/* 469b8: 3c017006 */ lui $at,0x7006 -/* 469bc: c42a9cd4 */ lwc1 $f10,-0x632c($at) +/* 469b8: 3c017006 */ lui $at,%hi(var70059cd4) +/* 469bc: c42a9cd4 */ lwc1 $f10,%lo(var70059cd4)($at) /* 469c0: c4900038 */ lwc1 $f16,0x38($a0) /* 469c4: 460a4202 */ mul.s $f8,$f8,$f10 /* 469c8: 00000000 */ nop -/* 469cc: 3c017006 */ lui $at,0x7006 -/* 469d0: c4269cd8 */ lwc1 $f6,-0x6328($at) +/* 469cc: 3c017006 */ lui $at,%hi(var70059cd8) +/* 469d0: c4269cd8 */ lwc1 $f6,%lo(var70059cd8)($at) /* 469d4: 46068402 */ mul.s $f16,$f16,$f6 /* 469d8: 00000000 */ nop /* 469dc: 46082100 */ add.s $f4,$f4,$f8 @@ -241,8 +241,8 @@ glabel func00046650 /* 469f0: c4860028 */ lwc1 $f6,0x28($a0) /* 469f4: 46062101 */ sub.s $f4,$f4,$f6 /* 469f8: c4880038 */ lwc1 $f8,0x38($a0) -/* 469fc: 3c017006 */ lui $at,0x7006 -/* 46a00: c42a9cdc */ lwc1 $f10,-0x6324($at) +/* 469fc: 3c017006 */ lui $at,%hi(var70059cdc) +/* 46a00: c42a9cdc */ lwc1 $f10,%lo(var70059cdc)($at) /* 46a04: 46082101 */ sub.s $f4,$f4,$f8 /* 46a08: 460a2102 */ mul.s $f4,$f4,$f10 /* 46a0c: 00000000 */ nop @@ -252,18 +252,18 @@ glabel func00046650 /* 46a1c: 46042080 */ add.s $f2,$f4,$f4 /* 46a20: 46061000 */ add.s $f0,$f2,$f6 /* 46a24: c4840014 */ lwc1 $f4,0x14($a0) -/* 46a28: 3c017006 */ lui $at,0x7006 -/* 46a2c: c4269ce0 */ lwc1 $f6,-0x6320($at) +/* 46a28: 3c017006 */ lui $at,%hi(var70059ce0) +/* 46a2c: c4269ce0 */ lwc1 $f6,%lo(var70059ce0)($at) /* 46a30: 46062102 */ mul.s $f4,$f4,$f6 /* 46a34: 00000000 */ nop /* 46a38: c4880024 */ lwc1 $f8,0x24($a0) -/* 46a3c: 3c017006 */ lui $at,0x7006 -/* 46a40: c42a9ce4 */ lwc1 $f10,-0x631c($at) +/* 46a3c: 3c017006 */ lui $at,%hi(var70059ce4) +/* 46a40: c42a9ce4 */ lwc1 $f10,%lo(var70059ce4)($at) /* 46a44: c4900044 */ lwc1 $f16,0x44($a0) /* 46a48: 460a4202 */ mul.s $f8,$f8,$f10 /* 46a4c: 00000000 */ nop -/* 46a50: 3c017006 */ lui $at,0x7006 -/* 46a54: c4269ce8 */ lwc1 $f6,-0x6318($at) +/* 46a50: 3c017006 */ lui $at,%hi(var70059ce8) +/* 46a54: c4269ce8 */ lwc1 $f6,%lo(var70059ce8)($at) /* 46a58: 46068402 */ mul.s $f16,$f16,$f6 /* 46a5c: 00000000 */ nop /* 46a60: 46082100 */ add.s $f4,$f4,$f8 @@ -271,18 +271,18 @@ glabel func00046650 /* 46a68: 46002100 */ add.s $f4,$f4,$f0 /* 46a6c: e5040024 */ swc1 $f4,0x24($t0) /* 46a70: c4840014 */ lwc1 $f4,0x14($a0) -/* 46a74: 3c017006 */ lui $at,0x7006 -/* 46a78: c4269cec */ lwc1 $f6,-0x6314($at) +/* 46a74: 3c017006 */ lui $at,%hi(var70059cec) +/* 46a78: c4269cec */ lwc1 $f6,%lo(var70059cec)($at) /* 46a7c: 46062102 */ mul.s $f4,$f4,$f6 /* 46a80: 00000000 */ nop /* 46a84: c4880024 */ lwc1 $f8,0x24($a0) -/* 46a88: 3c017006 */ lui $at,0x7006 -/* 46a8c: c42a9cf0 */ lwc1 $f10,-0x6310($at) +/* 46a88: 3c017006 */ lui $at,%hi(var70059cf0) +/* 46a8c: c42a9cf0 */ lwc1 $f10,%lo(var70059cf0)($at) /* 46a90: c4900044 */ lwc1 $f16,0x44($a0) /* 46a94: 460a4202 */ mul.s $f8,$f8,$f10 /* 46a98: 00000000 */ nop -/* 46a9c: 3c017006 */ lui $at,0x7006 -/* 46aa0: c4269cf4 */ lwc1 $f6,-0x630c($at) +/* 46a9c: 3c017006 */ lui $at,%hi(var70059cf4) +/* 46aa0: c4269cf4 */ lwc1 $f6,%lo(var70059cf4)($at) /* 46aa4: 46068402 */ mul.s $f16,$f16,$f6 /* 46aa8: 00000000 */ nop /* 46aac: 46082100 */ add.s $f4,$f4,$f8 @@ -290,18 +290,18 @@ glabel func00046650 /* 46ab4: 46002100 */ add.s $f4,$f4,$f0 /* 46ab8: e504002c */ swc1 $f4,0x2c($t0) /* 46abc: c4840014 */ lwc1 $f4,0x14($a0) -/* 46ac0: 3c017006 */ lui $at,0x7006 -/* 46ac4: c4269cf8 */ lwc1 $f6,-0x6308($at) +/* 46ac0: 3c017006 */ lui $at,%hi(var70059cf8) +/* 46ac4: c4269cf8 */ lwc1 $f6,%lo(var70059cf8)($at) /* 46ac8: 46062102 */ mul.s $f4,$f4,$f6 /* 46acc: 00000000 */ nop /* 46ad0: c4880024 */ lwc1 $f8,0x24($a0) -/* 46ad4: 3c017006 */ lui $at,0x7006 -/* 46ad8: c42a9cfc */ lwc1 $f10,-0x6304($at) +/* 46ad4: 3c017006 */ lui $at,%hi(var70059cfc) +/* 46ad8: c42a9cfc */ lwc1 $f10,%lo(var70059cfc)($at) /* 46adc: c4900044 */ lwc1 $f16,0x44($a0) /* 46ae0: 460a4202 */ mul.s $f8,$f8,$f10 /* 46ae4: 00000000 */ nop -/* 46ae8: 3c017006 */ lui $at,0x7006 -/* 46aec: c4269d00 */ lwc1 $f6,-0x6300($at) +/* 46ae8: 3c017006 */ lui $at,%hi(var70059d00) +/* 46aec: c4269d00 */ lwc1 $f6,%lo(var70059d00)($at) /* 46af0: 46068402 */ mul.s $f16,$f16,$f6 /* 46af4: 00000000 */ nop /* 46af8: 46082100 */ add.s $f4,$f4,$f8 @@ -325,23 +325,23 @@ glabel func00046650 /* 46b40: 460a1080 */ add.s $f2,$f2,$f10 /* 46b44: e5020034 */ swc1 $f2,0x34($t0) /* 46b48: c480001c */ lwc1 $f0,0x1c($a0) -/* 46b4c: 3c017006 */ lui $at,0x7006 -/* 46b50: c4249d04 */ lwc1 $f4,-0x62fc($at) +/* 46b4c: 3c017006 */ lui $at,%hi(var70059d04) +/* 46b50: c4249d04 */ lwc1 $f4,%lo(var70059d04)($at) /* 46b54: 46040002 */ mul.s $f0,$f0,$f4 /* 46b58: 00000000 */ nop /* 46b5c: c484000c */ lwc1 $f4,0xc($a0) -/* 46b60: 3c017006 */ lui $at,0x7006 -/* 46b64: c4269d08 */ lwc1 $f6,-0x62f8($at) +/* 46b60: 3c017006 */ lui $at,%hi(var70059d08) +/* 46b64: c4269d08 */ lwc1 $f6,%lo(var70059d08)($at) /* 46b68: 46062102 */ mul.s $f4,$f4,$f6 /* 46b6c: 00000000 */ nop /* 46b70: c488002c */ lwc1 $f8,0x2c($a0) -/* 46b74: 3c017006 */ lui $at,0x7006 -/* 46b78: c42a9d0c */ lwc1 $f10,-0x62f4($at) +/* 46b74: 3c017006 */ lui $at,%hi(var70059d0c) +/* 46b78: c42a9d0c */ lwc1 $f10,%lo(var70059d0c)($at) /* 46b7c: c490003c */ lwc1 $f16,0x3c($a0) /* 46b80: 460a4202 */ mul.s $f8,$f8,$f10 /* 46b84: 00000000 */ nop -/* 46b88: 3c017006 */ lui $at,0x7006 -/* 46b8c: c4269d10 */ lwc1 $f6,-0x62f0($at) +/* 46b88: 3c017006 */ lui $at,%hi(var70059d10) +/* 46b8c: c4269d10 */ lwc1 $f6,%lo(var70059d10)($at) /* 46b90: 46068402 */ mul.s $f16,$f16,$f6 /* 46b94: 00000000 */ nop /* 46b98: 46082100 */ add.s $f4,$f4,$f8 @@ -350,18 +350,18 @@ glabel func00046650 /* 46ba4: e5040038 */ swc1 $f4,0x38($t0) /* 46ba8: 46000007 */ neg.s $f0,$f0 /* 46bac: c484000c */ lwc1 $f4,0xc($a0) -/* 46bb0: 3c017006 */ lui $at,0x7006 -/* 46bb4: c4269d14 */ lwc1 $f6,-0x62ec($at) +/* 46bb0: 3c017006 */ lui $at,%hi(var70059d14) +/* 46bb4: c4269d14 */ lwc1 $f6,%lo(var70059d14)($at) /* 46bb8: 46062102 */ mul.s $f4,$f4,$f6 /* 46bbc: 00000000 */ nop /* 46bc0: c488002c */ lwc1 $f8,0x2c($a0) -/* 46bc4: 3c017006 */ lui $at,0x7006 -/* 46bc8: c42a9d18 */ lwc1 $f10,-0x62e8($at) +/* 46bc4: 3c017006 */ lui $at,%hi(var70059d18) +/* 46bc8: c42a9d18 */ lwc1 $f10,%lo(var70059d18)($at) /* 46bcc: c490003c */ lwc1 $f16,0x3c($a0) /* 46bd0: 460a4202 */ mul.s $f8,$f8,$f10 /* 46bd4: 00000000 */ nop -/* 46bd8: 3c017006 */ lui $at,0x7006 -/* 46bdc: c4269d1c */ lwc1 $f6,-0x62e4($at) +/* 46bd8: 3c017006 */ lui $at,%hi(var70059d1c) +/* 46bdc: c4269d1c */ lwc1 $f6,%lo(var70059d1c)($at) /* 46be0: 46068402 */ mul.s $f16,$f16,$f6 /* 46be4: 00000000 */ nop /* 46be8: 46082100 */ add.s $f4,$f4,$f8 @@ -369,18 +369,18 @@ glabel func00046650 /* 46bf0: 46002100 */ add.s $f4,$f4,$f0 /* 46bf4: e504003c */ swc1 $f4,0x3c($t0) /* 46bf8: c484000c */ lwc1 $f4,0xc($a0) -/* 46bfc: 3c017006 */ lui $at,0x7006 -/* 46c00: c4269d20 */ lwc1 $f6,-0x62e0($at) +/* 46bfc: 3c017006 */ lui $at,%hi(var70059d20) +/* 46c00: c4269d20 */ lwc1 $f6,%lo(var70059d20)($at) /* 46c04: 46062102 */ mul.s $f4,$f4,$f6 /* 46c08: 00000000 */ nop /* 46c0c: c488002c */ lwc1 $f8,0x2c($a0) -/* 46c10: 3c017006 */ lui $at,0x7006 -/* 46c14: c42a9d24 */ lwc1 $f10,-0x62dc($at) +/* 46c10: 3c017006 */ lui $at,%hi(var70059d24) +/* 46c14: c42a9d24 */ lwc1 $f10,%lo(var70059d24)($at) /* 46c18: c490003c */ lwc1 $f16,0x3c($a0) /* 46c1c: 460a4202 */ mul.s $f8,$f8,$f10 /* 46c20: 00000000 */ nop -/* 46c24: 3c017006 */ lui $at,0x7006 -/* 46c28: c4269d28 */ lwc1 $f6,-0x62d8($at) +/* 46c24: 3c017006 */ lui $at,%hi(var70059d28) +/* 46c28: c4269d28 */ lwc1 $f6,%lo(var70059d28)($at) /* 46c2c: 46068402 */ mul.s $f16,$f16,$f6 /* 46c30: 00000000 */ nop /* 46c34: 46082100 */ add.s $f4,$f4,$f8 @@ -391,8 +391,8 @@ glabel func00046650 /* 46c48: c486002c */ lwc1 $f6,0x2c($a0) /* 46c4c: 46062101 */ sub.s $f4,$f4,$f6 /* 46c50: c488003c */ lwc1 $f8,0x3c($a0) -/* 46c54: 3c017006 */ lui $at,0x7006 -/* 46c58: c42a9d2c */ lwc1 $f10,-0x62d4($at) +/* 46c54: 3c017006 */ lui $at,%hi(var70059d2c) +/* 46c58: c42a9d2c */ lwc1 $f10,%lo(var70059d2c)($at) /* 46c5c: 46082101 */ sub.s $f4,$f4,$f8 /* 46c60: 460a2102 */ mul.s $f4,$f4,$f10 /* 46c64: 00000000 */ nop @@ -402,18 +402,18 @@ glabel func00046650 /* 46c74: 46062100 */ add.s $f4,$f4,$f6 /* 46c78: c5080024 */ lwc1 $f8,0x24($t0) /* 46c7c: c50a0038 */ lwc1 $f10,0x38($t0) -/* 46c80: 3c017006 */ lui $at,0x7006 -/* 46c84: c4309d30 */ lwc1 $f16,-0x62d0($at) +/* 46c80: 3c017006 */ lui $at,%hi(var70059d30) +/* 46c84: c4309d30 */ lwc1 $f16,%lo(var70059d30)($at) /* 46c88: 460a4200 */ add.s $f8,$f8,$f10 /* 46c8c: 46104202 */ mul.s $f8,$f8,$f16 /* 46c90: 00000000 */ nop -/* 46c94: 3c017006 */ lui $at,0x7006 -/* 46c98: c4269d34 */ lwc1 $f6,-0x62cc($at) +/* 46c94: 3c017006 */ lui $at,%hi(var70059d34) +/* 46c98: c4269d34 */ lwc1 $f6,%lo(var70059d34)($at) /* 46c9c: 46082280 */ add.s $f10,$f4,$f8 /* 46ca0: 46065282 */ mul.s $f10,$f10,$f6 /* 46ca4: 00000000 */ nop -/* 46ca8: 3c017006 */ lui $at,0x7006 -/* 46cac: c4309d38 */ lwc1 $f16,-0x62c8($at) +/* 46ca8: 3c017006 */ lui $at,%hi(var70059d38) +/* 46cac: c4309d38 */ lwc1 $f16,%lo(var70059d38)($at) /* 46cb0: 46082101 */ sub.s $f4,$f4,$f8 /* 46cb4: 46102102 */ mul.s $f4,$f4,$f16 /* 46cb8: 00000000 */ nop @@ -424,18 +424,18 @@ glabel func00046650 /* 46ccc: 46062100 */ add.s $f4,$f4,$f6 /* 46cd0: c5080028 */ lwc1 $f8,0x28($t0) /* 46cd4: c50a0044 */ lwc1 $f10,0x44($t0) -/* 46cd8: 3c017006 */ lui $at,0x7006 -/* 46cdc: c4309d3c */ lwc1 $f16,-0x62c4($at) +/* 46cd8: 3c017006 */ lui $at,%hi(var70059d3c) +/* 46cdc: c4309d3c */ lwc1 $f16,%lo(var70059d3c)($at) /* 46ce0: 460a4200 */ add.s $f8,$f8,$f10 /* 46ce4: 46104202 */ mul.s $f8,$f8,$f16 /* 46ce8: 00000000 */ nop -/* 46cec: 3c017006 */ lui $at,0x7006 -/* 46cf0: c4269d40 */ lwc1 $f6,-0x62c0($at) +/* 46cec: 3c017006 */ lui $at,%hi(var70059d40) +/* 46cf0: c4269d40 */ lwc1 $f6,%lo(var70059d40)($at) /* 46cf4: 46082280 */ add.s $f10,$f4,$f8 /* 46cf8: 46065282 */ mul.s $f10,$f10,$f6 /* 46cfc: 00000000 */ nop -/* 46d00: 3c017006 */ lui $at,0x7006 -/* 46d04: c4309d44 */ lwc1 $f16,-0x62bc($at) +/* 46d00: 3c017006 */ lui $at,%hi(var70059d44) +/* 46d04: c4309d44 */ lwc1 $f16,%lo(var70059d44)($at) /* 46d08: 46082101 */ sub.s $f4,$f4,$f8 /* 46d0c: 46102102 */ mul.s $f4,$f4,$f16 /* 46d10: 00000000 */ nop @@ -446,18 +446,18 @@ glabel func00046650 /* 46d24: 46062100 */ add.s $f4,$f4,$f6 /* 46d28: c508002c */ lwc1 $f8,0x2c($t0) /* 46d2c: c50a003c */ lwc1 $f10,0x3c($t0) -/* 46d30: 3c017006 */ lui $at,0x7006 -/* 46d34: c4309d48 */ lwc1 $f16,-0x62b8($at) +/* 46d30: 3c017006 */ lui $at,%hi(var70059d48) +/* 46d34: c4309d48 */ lwc1 $f16,%lo(var70059d48)($at) /* 46d38: 460a4200 */ add.s $f8,$f8,$f10 /* 46d3c: 46104202 */ mul.s $f8,$f8,$f16 /* 46d40: 00000000 */ nop -/* 46d44: 3c017006 */ lui $at,0x7006 -/* 46d48: c4269d4c */ lwc1 $f6,-0x62b4($at) +/* 46d44: 3c017006 */ lui $at,%hi(var70059d4c) +/* 46d48: c4269d4c */ lwc1 $f6,%lo(var70059d4c)($at) /* 46d4c: 46082280 */ add.s $f10,$f4,$f8 /* 46d50: 46065282 */ mul.s $f10,$f10,$f6 /* 46d54: 00000000 */ nop -/* 46d58: 3c017006 */ lui $at,0x7006 -/* 46d5c: c4309d50 */ lwc1 $f16,-0x62b0($at) +/* 46d58: 3c017006 */ lui $at,%hi(var70059d50) +/* 46d5c: c4309d50 */ lwc1 $f16,%lo(var70059d50)($at) /* 46d60: 46082101 */ sub.s $f4,$f4,$f8 /* 46d64: 46102102 */ mul.s $f4,$f4,$f16 /* 46d68: 00000000 */ nop @@ -468,18 +468,18 @@ glabel func00046650 /* 46d7c: 46062100 */ add.s $f4,$f4,$f6 /* 46d80: c5080030 */ lwc1 $f8,0x30($t0) /* 46d84: c50a0040 */ lwc1 $f10,0x40($t0) -/* 46d88: 3c017006 */ lui $at,0x7006 -/* 46d8c: c4309d54 */ lwc1 $f16,-0x62ac($at) +/* 46d88: 3c017006 */ lui $at,%hi(var70059d54) +/* 46d8c: c4309d54 */ lwc1 $f16,%lo(var70059d54)($at) /* 46d90: 460a4200 */ add.s $f8,$f8,$f10 /* 46d94: 46104202 */ mul.s $f8,$f8,$f16 /* 46d98: 00000000 */ nop -/* 46d9c: 3c017006 */ lui $at,0x7006 -/* 46da0: c4269d58 */ lwc1 $f6,-0x62a8($at) +/* 46d9c: 3c017006 */ lui $at,%hi(var70059d58) +/* 46da0: c4269d58 */ lwc1 $f6,%lo(var70059d58)($at) /* 46da4: 46082280 */ add.s $f10,$f4,$f8 /* 46da8: 46065282 */ mul.s $f10,$f10,$f6 /* 46dac: 00000000 */ nop -/* 46db0: 3c017006 */ lui $at,0x7006 -/* 46db4: c4309d5c */ lwc1 $f16,-0x62a4($at) +/* 46db0: 3c017006 */ lui $at,%hi(var70059d5c) +/* 46db4: c4309d5c */ lwc1 $f16,%lo(var70059d5c)($at) /* 46db8: 46082101 */ sub.s $f4,$f4,$f8 /* 46dbc: 46102102 */ mul.s $f4,$f4,$f16 /* 46dc0: 00000000 */ nop @@ -490,18 +490,18 @@ glabel func00046650 /* 46dd4: 46062101 */ sub.s $f4,$f4,$f6 /* 46dd8: c5080030 */ lwc1 $f8,0x30($t0) /* 46ddc: c50a0040 */ lwc1 $f10,0x40($t0) -/* 46de0: 3c017006 */ lui $at,0x7006 -/* 46de4: c4309d60 */ lwc1 $f16,-0x62a0($at) +/* 46de0: 3c017006 */ lui $at,%hi(var70059d60) +/* 46de4: c4309d60 */ lwc1 $f16,%lo(var70059d60)($at) /* 46de8: 460a4201 */ sub.s $f8,$f8,$f10 /* 46dec: 46104202 */ mul.s $f8,$f8,$f16 /* 46df0: 00000000 */ nop -/* 46df4: 3c017006 */ lui $at,0x7006 -/* 46df8: c4269d64 */ lwc1 $f6,-0x629c($at) +/* 46df4: 3c017006 */ lui $at,%hi(var70059d64) +/* 46df8: c4269d64 */ lwc1 $f6,%lo(var70059d64)($at) /* 46dfc: 46082280 */ add.s $f10,$f4,$f8 /* 46e00: 46065282 */ mul.s $f10,$f10,$f6 /* 46e04: 00000000 */ nop -/* 46e08: 3c017006 */ lui $at,0x7006 -/* 46e0c: c4309d68 */ lwc1 $f16,-0x6298($at) +/* 46e08: 3c017006 */ lui $at,%hi(var70059d68) +/* 46e0c: c4309d68 */ lwc1 $f16,%lo(var70059d68)($at) /* 46e10: 46082101 */ sub.s $f4,$f4,$f8 /* 46e14: 46102102 */ mul.s $f4,$f4,$f16 /* 46e18: 00000000 */ nop @@ -512,18 +512,18 @@ glabel func00046650 /* 46e2c: 46062101 */ sub.s $f4,$f4,$f6 /* 46e30: c508002c */ lwc1 $f8,0x2c($t0) /* 46e34: c50a003c */ lwc1 $f10,0x3c($t0) -/* 46e38: 3c017006 */ lui $at,0x7006 -/* 46e3c: c4309d6c */ lwc1 $f16,-0x6294($at) +/* 46e38: 3c017006 */ lui $at,%hi(var70059d6c) +/* 46e3c: c4309d6c */ lwc1 $f16,%lo(var70059d6c)($at) /* 46e40: 460a4201 */ sub.s $f8,$f8,$f10 /* 46e44: 46104202 */ mul.s $f8,$f8,$f16 /* 46e48: 00000000 */ nop -/* 46e4c: 3c017006 */ lui $at,0x7006 -/* 46e50: c4269d70 */ lwc1 $f6,-0x6290($at) +/* 46e4c: 3c017006 */ lui $at,%hi(var70059d70) +/* 46e50: c4269d70 */ lwc1 $f6,%lo(var70059d70)($at) /* 46e54: 46082280 */ add.s $f10,$f4,$f8 /* 46e58: 46065282 */ mul.s $f10,$f10,$f6 /* 46e5c: 00000000 */ nop -/* 46e60: 3c017006 */ lui $at,0x7006 -/* 46e64: c4309d74 */ lwc1 $f16,-0x628c($at) +/* 46e60: 3c017006 */ lui $at,%hi(var70059d74) +/* 46e64: c4309d74 */ lwc1 $f16,%lo(var70059d74)($at) /* 46e68: 46082101 */ sub.s $f4,$f4,$f8 /* 46e6c: 46102102 */ mul.s $f4,$f4,$f16 /* 46e70: 00000000 */ nop @@ -534,18 +534,18 @@ glabel func00046650 /* 46e84: 46062101 */ sub.s $f4,$f4,$f6 /* 46e88: c5080028 */ lwc1 $f8,0x28($t0) /* 46e8c: c50a0044 */ lwc1 $f10,0x44($t0) -/* 46e90: 3c017006 */ lui $at,0x7006 -/* 46e94: c4309d78 */ lwc1 $f16,-0x6288($at) +/* 46e90: 3c017006 */ lui $at,%hi(var70059d78) +/* 46e94: c4309d78 */ lwc1 $f16,%lo(var70059d78)($at) /* 46e98: 460a4201 */ sub.s $f8,$f8,$f10 /* 46e9c: 46104202 */ mul.s $f8,$f8,$f16 /* 46ea0: 00000000 */ nop -/* 46ea4: 3c017006 */ lui $at,0x7006 -/* 46ea8: c4269d7c */ lwc1 $f6,-0x6284($at) +/* 46ea4: 3c017006 */ lui $at,%hi(var70059d7c) +/* 46ea8: c4269d7c */ lwc1 $f6,%lo(var70059d7c)($at) /* 46eac: 46082280 */ add.s $f10,$f4,$f8 /* 46eb0: 46065282 */ mul.s $f10,$f10,$f6 /* 46eb4: 00000000 */ nop -/* 46eb8: 3c017006 */ lui $at,0x7006 -/* 46ebc: c4309d80 */ lwc1 $f16,-0x6280($at) +/* 46eb8: 3c017006 */ lui $at,%hi(var70059d80) +/* 46ebc: c4309d80 */ lwc1 $f16,%lo(var70059d80)($at) /* 46ec0: 46082101 */ sub.s $f4,$f4,$f8 /* 46ec4: 46102102 */ mul.s $f4,$f4,$f16 /* 46ec8: 00000000 */ nop @@ -556,33 +556,33 @@ glabel func00046650 /* 46edc: 46062101 */ sub.s $f4,$f4,$f6 /* 46ee0: c5080024 */ lwc1 $f8,0x24($t0) /* 46ee4: c50a0038 */ lwc1 $f10,0x38($t0) -/* 46ee8: 3c017006 */ lui $at,0x7006 -/* 46eec: c4309d84 */ lwc1 $f16,-0x627c($at) +/* 46ee8: 3c017006 */ lui $at,%hi(var70059d84) +/* 46eec: c4309d84 */ lwc1 $f16,%lo(var70059d84)($at) /* 46ef0: 460a4201 */ sub.s $f8,$f8,$f10 /* 46ef4: 46104202 */ mul.s $f8,$f8,$f16 /* 46ef8: 00000000 */ nop -/* 46efc: 3c017006 */ lui $at,0x7006 -/* 46f00: c4269d88 */ lwc1 $f6,-0x6278($at) +/* 46efc: 3c017006 */ lui $at,%hi(var70059d88) +/* 46f00: c4269d88 */ lwc1 $f6,%lo(var70059d88)($at) /* 46f04: 46082280 */ add.s $f10,$f4,$f8 /* 46f08: 46065282 */ mul.s $f10,$f10,$f6 /* 46f0c: 00000000 */ nop -/* 46f10: 3c017006 */ lui $at,0x7006 -/* 46f14: c4309d8c */ lwc1 $f16,-0x6274($at) +/* 46f10: 3c017006 */ lui $at,%hi(var70059d8c) +/* 46f14: c4309d8c */ lwc1 $f16,%lo(var70059d8c)($at) /* 46f18: 46082101 */ sub.s $f4,$f4,$f8 /* 46f1c: 46102102 */ mul.s $f4,$f4,$f16 /* 46f20: 00000000 */ nop /* 46f24: e52a0020 */ swc1 $f10,0x20($t1) /* 46f28: e5240024 */ swc1 $f4,0x24($t1) /* 46f2c: c5040034 */ lwc1 $f4,0x34($t0) -/* 46f30: 3c017006 */ lui $at,0x7006 -/* 46f34: c4269d90 */ lwc1 $f6,-0x6270($at) +/* 46f30: 3c017006 */ lui $at,%hi(var70059d90) +/* 46f34: c4269d90 */ lwc1 $f6,%lo(var70059d90)($at) /* 46f38: 46062102 */ mul.s $f4,$f4,$f6 /* 46f3c: 00000000 */ nop /* 46f40: c5080010 */ lwc1 $f8,0x10($t0) -/* 46f44: 3c017006 */ lui $at,0x7006 -/* 46f48: c42a9d94 */ lwc1 $f10,-0x626c($at) -/* 46f4c: 3c017006 */ lui $at,0x7006 -/* 46f50: c4309d98 */ lwc1 $f16,-0x6268($at) +/* 46f44: 3c017006 */ lui $at,%hi(var70059d94) +/* 46f48: c42a9d94 */ lwc1 $f10,%lo(var70059d94)($at) +/* 46f4c: 3c017006 */ lui $at,%hi(var70059d98) +/* 46f50: c4309d98 */ lwc1 $f16,%lo(var70059d98)($at) /* 46f54: 46044180 */ add.s $f6,$f8,$f4 /* 46f58: 460a3182 */ mul.s $f6,$f6,$f10 /* 46f5c: 00000000 */ nop @@ -968,4 +968,4 @@ glabel func00046650 /* 47544: 00000000 */ nop /* 47548: 00000000 */ nop /* 4754c: 00000000 */ nop -); \ No newline at end of file +); diff --git a/src/lib/lib_47550.c b/src/lib/lib_47550.c index 245666d09..7de65ba4d 100644 --- a/src/lib/lib_47550.c +++ b/src/lib/lib_47550.c @@ -52,8 +52,8 @@ glabel func00047550 /* 475f4: 46062100 */ add.s $f4,$f4,$f6 /* 475f8: e544000c */ swc1 $f4,0xc($t2) /* 475fc: c5440008 */ lwc1 $f4,0x8($t2) -/* 47600: 3c017006 */ lui $at,0x7006 -/* 47604: c4269d9c */ lwc1 $f6,-0x6264($at) +/* 47600: 3c017006 */ lui $at,%hi(var70059d9c) +/* 47604: c4269d9c */ lwc1 $f6,%lo(var70059d9c)($at) /* 47608: 46062182 */ mul.s $f6,$f4,$f6 /* 4760c: 00000000 */ nop /* 47610: c5480010 */ lwc1 $f8,0x10($t2) @@ -71,8 +71,8 @@ glabel func00047550 /* 47640: 46069001 */ sub.s $f0,$f18,$f6 /* 47644: e5600008 */ swc1 $f0,0x8($t3) /* 47648: c544000c */ lwc1 $f4,0xc($t2) -/* 4764c: 3c017006 */ lui $at,0x7006 -/* 47650: c4269da0 */ lwc1 $f6,-0x6260($at) +/* 4764c: 3c017006 */ lui $at,%hi(var70059da0) +/* 47650: c4269da0 */ lwc1 $f6,%lo(var70059da0)($at) /* 47654: 46062182 */ mul.s $f6,$f4,$f6 /* 47658: 00000000 */ nop /* 4765c: c5480014 */ lwc1 $f8,0x14($t2) @@ -90,20 +90,20 @@ glabel func00047550 /* 4768c: 46069001 */ sub.s $f0,$f18,$f6 /* 47690: e560000c */ swc1 $f0,0xc($t3) /* 47694: c564000c */ lwc1 $f4,0xc($t3) -/* 47698: 3c017006 */ lui $at,0x7006 -/* 4769c: c4269da4 */ lwc1 $f6,-0x625c($at) +/* 47698: 3c017006 */ lui $at,%hi(var70059da4) +/* 4769c: c4269da4 */ lwc1 $f6,%lo(var70059da4)($at) /* 476a0: 46062102 */ mul.s $f4,$f4,$f6 /* 476a4: 00000000 */ nop /* 476a8: c5680010 */ lwc1 $f8,0x10($t3) -/* 476ac: 3c017006 */ lui $at,0x7006 -/* 476b0: c42a9da8 */ lwc1 $f10,-0x6258($at) +/* 476ac: 3c017006 */ lui $at,%hi(var70059da8) +/* 476b0: c42a9da8 */ lwc1 $f10,%lo(var70059da8)($at) /* 476b4: 460a4202 */ mul.s $f8,$f8,$f10 /* 476b8: 00000000 */ nop /* 476bc: e564000c */ swc1 $f4,0xc($t3) /* 476c0: e5680010 */ swc1 $f8,0x10($t3) /* 476c4: c5640014 */ lwc1 $f4,0x14($t3) -/* 476c8: 3c017006 */ lui $at,0x7006 -/* 476cc: c4269dac */ lwc1 $f6,-0x6254($at) +/* 476c8: 3c017006 */ lui $at,%hi(var70059dac) +/* 476cc: c4269dac */ lwc1 $f6,%lo(var70059dac)($at) /* 476d0: 46062102 */ mul.s $f4,$f4,$f6 /* 476d4: 00000000 */ nop /* 476d8: e5640014 */ swc1 $f4,0x14($t3) @@ -126,73 +126,73 @@ glabel func00047550 /* 4771c: 46062201 */ sub.s $f8,$f4,$f6 /* 47720: e568000c */ swc1 $f8,0xc($t3) /* 47724: c5640000 */ lwc1 $f4,0x0($t3) -/* 47728: 3c017006 */ lui $at,0x7006 -/* 4772c: c4269db0 */ lwc1 $f6,-0x6250($at) +/* 47728: 3c017006 */ lui $at,%hi(var70059db0) +/* 4772c: c4269db0 */ lwc1 $f6,%lo(var70059db0)($at) /* 47730: 46062102 */ mul.s $f4,$f4,$f6 /* 47734: 00000000 */ nop /* 47738: c5680004 */ lwc1 $f8,0x4($t3) -/* 4773c: 3c017006 */ lui $at,0x7006 -/* 47740: c42a9db4 */ lwc1 $f10,-0x624c($at) +/* 4773c: 3c017006 */ lui $at,%hi(var70059db4) +/* 47740: c42a9db4 */ lwc1 $f10,%lo(var70059db4)($at) /* 47744: 460a4202 */ mul.s $f8,$f8,$f10 /* 47748: 00000000 */ nop /* 4774c: e5640000 */ swc1 $f4,0x0($t3) /* 47750: e5680004 */ swc1 $f8,0x4($t3) /* 47754: c5640008 */ lwc1 $f4,0x8($t3) -/* 47758: 3c017006 */ lui $at,0x7006 -/* 4775c: c4269db8 */ lwc1 $f6,-0x6248($at) +/* 47758: 3c017006 */ lui $at,%hi(var70059db8) +/* 4775c: c4269db8 */ lwc1 $f6,%lo(var70059db8)($at) /* 47760: 46062102 */ mul.s $f4,$f4,$f6 /* 47764: 00000000 */ nop /* 47768: c568000c */ lwc1 $f8,0xc($t3) -/* 4776c: 3c017006 */ lui $at,0x7006 -/* 47770: c42a9dbc */ lwc1 $f10,-0x6244($at) +/* 4776c: 3c017006 */ lui $at,%hi(var70059dbc) +/* 47770: c42a9dbc */ lwc1 $f10,%lo(var70059dbc)($at) /* 47774: 460a4202 */ mul.s $f8,$f8,$f10 /* 47778: 00000000 */ nop /* 4777c: e5640008 */ swc1 $f4,0x8($t3) /* 47780: e568000c */ swc1 $f8,0xc($t3) /* 47784: c5640010 */ lwc1 $f4,0x10($t3) -/* 47788: 3c017006 */ lui $at,0x7006 -/* 4778c: c4269dc0 */ lwc1 $f6,-0x6240($at) +/* 47788: 3c017006 */ lui $at,%hi(var70059dc0) +/* 4778c: c4269dc0 */ lwc1 $f6,%lo(var70059dc0)($at) /* 47790: 46062102 */ mul.s $f4,$f4,$f6 /* 47794: 00000000 */ nop /* 47798: c5680014 */ lwc1 $f8,0x14($t3) -/* 4779c: 3c017006 */ lui $at,0x7006 -/* 477a0: c42a9dc4 */ lwc1 $f10,-0x623c($at) +/* 4779c: 3c017006 */ lui $at,%hi(var70059dc4) +/* 477a0: c42a9dc4 */ lwc1 $f10,%lo(var70059dc4)($at) /* 477a4: 460a4202 */ mul.s $f8,$f8,$f10 /* 477a8: 00000000 */ nop /* 477ac: e5640010 */ swc1 $f4,0x10($t3) /* 477b0: e5680014 */ swc1 $f8,0x14($t3) /* 477b4: c5640000 */ lwc1 $f4,0x0($t3) -/* 477b8: 3c017006 */ lui $at,0x7006 -/* 477bc: c4269dc8 */ lwc1 $f6,-0x6238($at) +/* 477b8: 3c017006 */ lui $at,%hi(var70059dc8) +/* 477bc: c4269dc8 */ lwc1 $f6,%lo(var70059dc8)($at) /* 477c0: 46062102 */ mul.s $f4,$f4,$f6 /* 477c4: 00000000 */ nop /* 477c8: c5680000 */ lwc1 $f8,0x0($t3) -/* 477cc: 3c017006 */ lui $at,0x7006 -/* 477d0: c42a9dcc */ lwc1 $f10,-0x6234($at) +/* 477cc: 3c017006 */ lui $at,%hi(var70059dcc) +/* 477d0: c42a9dcc */ lwc1 $f10,%lo(var70059dcc)($at) /* 477d4: 460a4202 */ mul.s $f8,$f8,$f10 /* 477d8: 00000000 */ nop /* 477dc: e5640020 */ swc1 $f4,0x20($t3) /* 477e0: e5680024 */ swc1 $f8,0x24($t3) /* 477e4: c5640004 */ lwc1 $f4,0x4($t3) -/* 477e8: 3c017006 */ lui $at,0x7006 -/* 477ec: c4269dd0 */ lwc1 $f6,-0x6230($at) +/* 477e8: 3c017006 */ lui $at,%hi(var70059dd0) +/* 477ec: c4269dd0 */ lwc1 $f6,%lo(var70059dd0)($at) /* 477f0: 46062102 */ mul.s $f4,$f4,$f6 /* 477f4: 00000000 */ nop /* 477f8: c5680004 */ lwc1 $f8,0x4($t3) -/* 477fc: 3c017006 */ lui $at,0x7006 -/* 47800: c42a9dd4 */ lwc1 $f10,-0x622c($at) +/* 477fc: 3c017006 */ lui $at,%hi(var70059dd4) +/* 47800: c42a9dd4 */ lwc1 $f10,%lo(var70059dd4)($at) /* 47804: 460a4202 */ mul.s $f8,$f8,$f10 /* 47808: 00000000 */ nop /* 4780c: e564001c */ swc1 $f4,0x1c($t3) /* 47810: e5680028 */ swc1 $f8,0x28($t3) /* 47814: c5640008 */ lwc1 $f4,0x8($t3) -/* 47818: 3c017006 */ lui $at,0x7006 -/* 4781c: c4269dd8 */ lwc1 $f6,-0x6228($at) +/* 47818: 3c017006 */ lui $at,%hi(var70059dd8) +/* 4781c: c4269dd8 */ lwc1 $f6,%lo(var70059dd8)($at) /* 47820: 46062102 */ mul.s $f4,$f4,$f6 /* 47824: 00000000 */ nop /* 47828: c5680008 */ lwc1 $f8,0x8($t3) -/* 4782c: 3c017006 */ lui $at,0x7006 -/* 47830: c42a9ddc */ lwc1 $f10,-0x6224($at) +/* 4782c: 3c017006 */ lui $at,%hi(var70059ddc) +/* 47830: c42a9ddc */ lwc1 $f10,%lo(var70059ddc)($at) /* 47834: 460a4202 */ mul.s $f8,$f8,$f10 /* 47838: 00000000 */ nop /* 4783c: e5640018 */ swc1 $f4,0x18($t3) @@ -204,39 +204,39 @@ glabel func00047550 /* 47854: 46062102 */ mul.s $f4,$f4,$f6 /* 47858: 00000000 */ nop /* 4785c: c5680010 */ lwc1 $f8,0x10($t3) -/* 47860: 3c017006 */ lui $at,0x7006 -/* 47864: c42a9de0 */ lwc1 $f10,-0x6220($at) +/* 47860: 3c017006 */ lui $at,%hi(var70059de0) +/* 47864: c42a9de0 */ lwc1 $f10,%lo(var70059de0)($at) /* 47868: 460a4202 */ mul.s $f8,$f8,$f10 /* 4786c: 00000000 */ nop /* 47870: e5640000 */ swc1 $f4,0x0($t3) /* 47874: e5680004 */ swc1 $f8,0x4($t3) /* 47878: c5640014 */ lwc1 $f4,0x14($t3) -/* 4787c: 3c017006 */ lui $at,0x7006 -/* 47880: c4269de4 */ lwc1 $f6,-0x621c($at) +/* 4787c: 3c017006 */ lui $at,%hi(var70059de4) +/* 47880: c4269de4 */ lwc1 $f6,%lo(var70059de4)($at) /* 47884: 46062102 */ mul.s $f4,$f4,$f6 /* 47888: 00000000 */ nop /* 4788c: c5680014 */ lwc1 $f8,0x14($t3) -/* 47890: 3c017006 */ lui $at,0x7006 -/* 47894: c42a9de8 */ lwc1 $f10,-0x6218($at) +/* 47890: 3c017006 */ lui $at,%hi(var70059de8) +/* 47894: c42a9de8 */ lwc1 $f10,%lo(var70059de8)($at) /* 47898: 460a4202 */ mul.s $f8,$f8,$f10 /* 4789c: 00000000 */ nop /* 478a0: e5640008 */ swc1 $f4,0x8($t3) /* 478a4: e568000c */ swc1 $f8,0xc($t3) /* 478a8: c5640010 */ lwc1 $f4,0x10($t3) -/* 478ac: 3c017006 */ lui $at,0x7006 -/* 478b0: c4269dec */ lwc1 $f6,-0x6214($at) +/* 478ac: 3c017006 */ lui $at,%hi(var70059dec) +/* 478b0: c4269dec */ lwc1 $f6,%lo(var70059dec)($at) /* 478b4: 46062102 */ mul.s $f4,$f4,$f6 /* 478b8: 00000000 */ nop /* 478bc: c5680000 */ lwc1 $f8,0x0($t3) -/* 478c0: 3c017006 */ lui $at,0x7006 -/* 478c4: c42a9df0 */ lwc1 $f10,-0x6210($at) +/* 478c0: 3c017006 */ lui $at,%hi(var70059df0) +/* 478c4: c42a9df0 */ lwc1 $f10,%lo(var70059df0)($at) /* 478c8: 460a4202 */ mul.s $f8,$f8,$f10 /* 478cc: 00000000 */ nop /* 478d0: e5640010 */ swc1 $f4,0x10($t3) /* 478d4: e5680014 */ swc1 $f8,0x14($t3) /* 478d8: c5640000 */ lwc1 $f4,0x0($t3) -/* 478dc: 3c017006 */ lui $at,0x7006 -/* 478e0: c4269df4 */ lwc1 $f6,-0x620c($at) +/* 478dc: 3c017006 */ lui $at,%hi(var70059df4) +/* 478e0: c4269df4 */ lwc1 $f6,%lo(var70059df4)($at) /* 478e4: 46062102 */ mul.s $f4,$f4,$f6 /* 478e8: 00000000 */ nop /* 478ec: e5640000 */ swc1 $f4,0x0($t3) @@ -349,4 +349,4 @@ glabel func00047550 /* 47a84: 00000000 */ nop /* 47a88: 00000000 */ nop /* 47a8c: 00000000 */ nop -); \ No newline at end of file +); diff --git a/src/lib/lib_47a90.c b/src/lib/lib_47a90.c index 653e2ef2e..b55c74307 100644 --- a/src/lib/lib_47a90.c +++ b/src/lib/lib_47a90.c @@ -49,16 +49,16 @@ glabel func00047a90 /* 47b2c: 00000000 */ nop .L00047b30: /* 47b30: 8faa0038 */ lw $t2,0x38($sp) -/* 47b34: 3c017006 */ lui $at,0x7006 -/* 47b38: d4289e00 */ ldc1 $f8,-0x6200($at) +/* 47b34: 3c017006 */ lui $at,%hi(var70059e00) +/* 47b38: d4289e00 */ ldc1 $f8,%lo(var70059e00)($at) /* 47b3c: c5440044 */ lwc1 $f4,0x44($t2) /* 47b40: 460021a1 */ cvt.d.s $f6,$f4 /* 47b44: 4626403c */ c.lt.d $f8,$f6 /* 47b48: 00000000 */ nop /* 47b4c: 45000005 */ bc1f .L00047b64 /* 47b50: 00000000 */ nop -/* 47b54: 3c017006 */ lui $at,0x7006 -/* 47b58: c42a9e08 */ lwc1 $f10,-0x61f8($at) +/* 47b54: 3c017006 */ lui $at,%hi(var70059e08) +/* 47b58: c42a9e08 */ lwc1 $f10,%lo(var70059e08)($at) /* 47b5c: 8fab0038 */ lw $t3,0x38($sp) /* 47b60: e56a0044 */ swc1 $f10,0x44($t3) .L00047b64: @@ -176,4 +176,4 @@ glabel func00047a90 /* 47d14: 00000000 */ nop /* 47d18: 00000000 */ nop /* 47d1c: 00000000 */ nop -); \ No newline at end of file +); diff --git a/src/lib/lib_47d20.c b/src/lib/lib_47d20.c index 976f3650b..5683af6de 100644 --- a/src/lib/lib_47d20.c +++ b/src/lib/lib_47d20.c @@ -21,8 +21,8 @@ glabel func00047d20 /* 47d50: 10000065 */ b .L00047ee8 /* 47d54: 00000000 */ nop .L00047d58: -/* 47d58: 3c017006 */ lui $at,0x7006 -/* 47d5c: c42a9e10 */ lwc1 $f10,-0x61f0($at) +/* 47d58: 3c017006 */ lui $at,%hi(var70059e10) +/* 47d5c: c42a9e10 */ lwc1 $f10,%lo(var70059e10)($at) /* 47d60: c7a8000c */ lwc1 $f8,0xc($sp) /* 47d64: 460a4403 */ div.s $f16,$f8,$f10 /* 47d68: 4600848d */ trunc.w.s $f18,$f16 @@ -39,9 +39,9 @@ glabel func00047d20 /* 47d94: 00000000 */ nop /* 47d98: 45000006 */ bc1f .L00047db4 /* 47d9c: 00000000 */ nop -/* 47da0: 3c017006 */ lui $at,0x7006 +/* 47da0: 3c017006 */ lui $at,%hi(var70059e14) /* 47da4: 10000050 */ b .L00047ee8 -/* 47da8: c4209e14 */ lwc1 $f0,-0x61ec($at) +/* 47da8: c4209e14 */ lwc1 $f0,%lo(var70059e14)($at) /* 47dac: 10000004 */ b .L00047dc0 /* 47db0: 00000000 */ nop .L00047db4: @@ -50,8 +50,8 @@ glabel func00047d20 /* 47dbc: 00000000 */ nop .L00047dc0: /* 47dc0: 8fb90004 */ lw $t9,0x4($sp) -/* 47dc4: 3c017006 */ lui $at,0x7006 -/* 47dc8: c42a9e18 */ lwc1 $f10,-0x61e8($at) +/* 47dc4: 3c017006 */ lui $at,%hi(var70059e18) +/* 47dc8: c42a9e18 */ lwc1 $f10,%lo(var70059e18)($at) /* 47dcc: 44993000 */ mtc1 $t9,$f6 /* 47dd0: c7b2000c */ lwc1 $f18,0xc($sp) /* 47dd4: 46803220 */ cvt.s.w $f8,$f6 @@ -171,8 +171,8 @@ glabel func00047ef0 /* 47f68: 44818000 */ mtc1 $at,$f16 /* 47f6c: 00000000 */ nop /* 47f70: 46106303 */ div.s $f12,$f12,$f16 -/* 47f74: 3c017006 */ lui $at,0x7006 -/* 47f78: c4249e20 */ lwc1 $f4,-0x61e0($at) +/* 47f74: 3c017006 */ lui $at,%hi(var70059e20) +/* 47f78: c4249e20 */ lwc1 $f4,%lo(var70059e20)($at) /* 47f7c: c7b20008 */ lwc1 $f18,0x8($sp) /* 47f80: 46049180 */ add.s $f6,$f18,$f4 /* 47f84: e7a60008 */ swc1 $f6,0x8($sp) @@ -197,8 +197,8 @@ glabel func00047ef0 /* 47fc8: 00000000 */ nop /* 47fcc: 46106302 */ mul.s $f12,$f12,$f16 /* 47fd0: 00000000 */ nop -/* 47fd4: 3c017006 */ lui $at,0x7006 -/* 47fd8: c4249e24 */ lwc1 $f4,-0x61dc($at) +/* 47fd4: 3c017006 */ lui $at,%hi(var70059e24) +/* 47fd8: c4249e24 */ lwc1 $f4,%lo(var70059e24)($at) /* 47fdc: c7b20008 */ lwc1 $f18,0x8($sp) /* 47fe0: 46049181 */ sub.s $f6,$f18,$f4 /* 47fe4: e7a60008 */ swc1 $f6,0x8($sp) @@ -283,4 +283,4 @@ glabel func00047ef0 /* 48114: 00000000 */ nop /* 48118: 00000000 */ nop /* 4811c: 00000000 */ nop -); \ No newline at end of file +); diff --git a/src/lib/lib_4f5e0.c b/src/lib/lib_4f5e0.c index d72e1c7e7..33c6d7899 100644 --- a/src/lib/lib_4f5e0.c +++ b/src/lib/lib_4f5e0.c @@ -287,8 +287,8 @@ glabel func0004f854 GLOBAL_ASM( glabel func0004f9b0 /* 4f9b0: 27bdffd0 */ addiu $sp,$sp,-48 -/* 4f9b4: 3c017006 */ lui $at,0x7006 -/* 4f9b8: c4249fd0 */ lwc1 $f4,-0x6030($at) +/* 4f9b4: 3c017006 */ lui $at,%hi(var70059fd0) +/* 4f9b8: c4249fd0 */ lwc1 $f4,%lo(var70059fd0)($at) /* 4f9bc: afb00018 */ sw $s0,0x18($sp) /* 4f9c0: 00808025 */ or $s0,$a0,$zero /* 4f9c4: 3c01800a */ lui $at,%hi(var8009ca70) diff --git a/src/lib/main.c b/src/lib/main.c index 78b833b0f..ee22bd8ab 100644 --- a/src/lib/main.c +++ b/src/lib/main.c @@ -1447,9 +1447,15 @@ void mainLoop(void) switch (*(s16 *)msg) { case 1: tmp = osGetCount() - g_Vars.thisframetime; +#if PAL + if (tmp >= g_Vars.mininc60 * 937500 - 937500 / 2) { + mainTick(); + } +#else if (tmp >= g_Vars.mininc60 * 781250 - 781250 / 2) { mainTick(); } +#endif break; case 2: var8005d9cc--; diff --git a/src/lib/model.c b/src/lib/model.c index 6a7be85f8..01dc56a27 100644 --- a/src/lib/model.c +++ b/src/lib/model.c @@ -3422,56 +3422,6 @@ glabel func0001c924 GLOBAL_ASM( glabel func0001c950 -.late_rodata -glabel var70054324 -.word 0x7001cb68 -glabel var70054328 -.word 0x7001cb68 -glabel var7005432c -.word 0x7001cba4 -glabel var70054330 -.word 0x7001cba4 -glabel var70054334 -.word 0x7001cba4 -glabel var70054338 -.word 0x7001cba4 -glabel var7005433c -.word 0x7001cba4 -glabel var70054340 -.word 0x7001cb70 -glabel var70054344 -.word 0x7001cb84 -glabel var70054348 -.word 0x7001cba4 -glabel var7005434c -.word 0x7001cb68 -glabel var70054350 -.word 0x7001cb68 -glabel var70054354 -.word 0x7001cb68 -glabel var70054358 -.word 0x7001cb68 -glabel var7005435c -.word 0x7001cb68 -glabel var70054360 -.word 0x7001cba4 -glabel var70054364 -.word 0x7001cba4 -glabel var70054368 -.word 0x7001cba4 -glabel var7005436c -.word 0x7001cba4 -glabel var70054370 -.word 0x7001cba4 -glabel var70054374 -.word 0x7001cb68 -glabel var70054378 -.word 0x7001cba4 -glabel var7005437c -.word 0x7001cb98 -glabel var70054380 -.word 0x7001cba4 -.text /* 1c950: 27bdffb0 */ addiu $sp,$sp,-80 /* 1c954: afbf001c */ sw $ra,0x1c($sp) /* 1c958: afb00018 */ sw $s0,0x18($sp) @@ -3595,34 +3545,82 @@ glabel var70054380 GLOBAL_ASM( glabel func0001cb0c .late_rodata +glabel var70054324 +.word func0001cb0c+0x05c +glabel var70054328 +.word func0001cb0c+0x05c +glabel var7005432c +.word func0001cb0c+0x098 +glabel var70054330 +.word func0001cb0c+0x098 +glabel var70054334 +.word func0001cb0c+0x098 +glabel var70054338 +.word func0001cb0c+0x098 +glabel var7005433c +.word func0001cb0c+0x098 +glabel var70054340 +.word func0001cb0c+0x064 +glabel var70054344 +.word func0001cb0c+0x078 +glabel var70054348 +.word func0001cb0c+0x098 +glabel var7005434c +.word func0001cb0c+0x05c +glabel var70054350 +.word func0001cb0c+0x05c +glabel var70054354 +.word func0001cb0c+0x05c +glabel var70054358 +.word func0001cb0c+0x05c +glabel var7005435c +.word func0001cb0c+0x05c +glabel var70054360 +.word func0001cb0c+0x098 +glabel var70054364 +.word func0001cb0c+0x098 +glabel var70054368 +.word func0001cb0c+0x098 +glabel var7005436c +.word func0001cb0c+0x098 +glabel var70054370 +.word func0001cb0c+0x098 +glabel var70054374 +.word func0001cb0c+0x05c +glabel var70054378 +.word func0001cb0c+0x098 +glabel var7005437c +.word func0001cb0c+0x08c +glabel var70054380 +.word func0001cb0c+0x098 glabel var70054384 -.word 0x7001ccc0 +.word func0001cb0c+0x1b4 glabel var70054388 -.word 0x7001ccc0 +.word func0001cb0c+0x1b4 glabel var7005438c -.word 0x7001ccc0 +.word func0001cb0c+0x1b4 glabel var70054390 -.word 0x7001ccc0 +.word func0001cb0c+0x1b4 glabel var70054394 -.word 0x7001ccc0 +.word func0001cb0c+0x1b4 glabel var70054398 -.word 0x7001ccc0 +.word func0001cb0c+0x1b4 glabel var7005439c -.word 0x7001ccc0 +.word func0001cb0c+0x1b4 glabel var700543a0 -.word 0x7001cc70 +.word func0001cb0c+0x164 glabel var700543a4 -.word 0x7001cc84 +.word func0001cb0c+0x178 glabel var700543a8 -.word 0x7001ccc0 +.word func0001cb0c+0x1b4 glabel var700543ac -.word 0x7001ccc0 +.word func0001cb0c+0x1b4 glabel var700543b0 -.word 0x7001ccc0 +.word func0001cb0c+0x1b4 glabel var700543b4 -.word 0x7001ccc0 +.word func0001cb0c+0x1b4 glabel var700543b8 -.word 0x7001ccc0 +.word func0001cb0c+0x1b4 .text /* 1cb0c: 27bdffd8 */ addiu $sp,$sp,-40 /* 1cb10: afbf0024 */ sw $ra,0x24($sp) @@ -3703,30 +3701,29 @@ glabel var700543b8 /* 1cc1c: 27bd0028 */ addiu $sp,$sp,0x28 ); - GLOBAL_ASM( glabel func0001cc20 .late_rodata glabel var700543bc -.word 0x7001ccc0 +.word func0001cc20+0xa0 glabel var700543c0 -.word 0x7001ccc0 +.word func0001cc20+0xa0 glabel var700543c4 -.word 0x7001ccc0 +.word func0001cc20+0xa0 glabel var700543c8 -.word 0x7001cc98 +.word func0001cc20+0x78 glabel var700543cc -.word 0x7001ccc0 +.word func0001cc20+0xa0 glabel var700543d0 -.word 0x7001ccc0 +.word func0001cc20+0xa0 glabel var700543d4 -.word 0x7001ccc0 +.word func0001cc20+0xa0 glabel var700543d8 -.word 0x7001ccc0 +.word func0001cc20+0xa0 glabel var700543dc -.word 0x7001ccac +.word func0001cc20+0x8c glabel var700543e0 -.word 0x7001ccc0 +.word func0001cc20+0xa0 .text /* 1cc20: 27bdffe0 */ addiu $sp,$sp,-32 /* 1cc24: afbf001c */ sw $ra,0x1c($sp) @@ -3804,53 +3801,53 @@ GLOBAL_ASM( glabel func0001cd18 .late_rodata glabel var700543e4 -.word 0x7001cd70 +.word func0001cd18+0x58 glabel var700543e8 -.word 0x7001cd88 +.word func0001cd18+0x70 glabel var700543ec -.word 0x7001ce08 +.word func0001cd18+0xf0 glabel var700543f0 -.word 0x7001ce08 +.word func0001cd18+0xf0 glabel var700543f4 -.word 0x7001ce08 +.word func0001cd18+0xf0 glabel var700543f8 -.word 0x7001ce08 +.word func0001cd18+0xf0 glabel var700543fc -.word 0x7001ce08 +.word func0001cd18+0xf0 glabel var70054400 -.word 0x7001cdb8 +.word func0001cd18+0xa0 glabel var70054404 -.word 0x7001cdcc +.word func0001cd18+0xb4 glabel var70054408 -.word 0x7001ce08 +.word func0001cd18+0xf0 glabel var7005440c -.word 0x7001ce08 +.word func0001cd18+0xf0 glabel var70054410 -.word 0x7001ce08 +.word func0001cd18+0xf0 glabel var70054414 -.word 0x7001ce08 +.word func0001cd18+0xf0 glabel var70054418 -.word 0x7001ce08 +.word func0001cd18+0xf0 glabel var7005441c -.word 0x7001ce08 +.word func0001cd18+0xf0 glabel var70054420 -.word 0x7001ce08 +.word func0001cd18+0xf0 glabel var70054424 -.word 0x7001ce08 +.word func0001cd18+0xf0 glabel var70054428 -.word 0x7001cde0 +.word func0001cd18+0xc8 glabel var7005442c -.word 0x7001ce08 +.word func0001cd18+0xf0 glabel var70054430 -.word 0x7001ce08 +.word func0001cd18+0xf0 glabel var70054434 -.word 0x7001cda0 +.word func0001cd18+0x88 glabel var70054438 -.word 0x7001ce08 +.word func0001cd18+0xf0 glabel var7005443c -.word 0x7001cdf4 +.word func0001cd18+0xdc glabel var70054440 -.word 0x7001ce08 +.word func0001cd18+0xf0 .text /* 1cd18: 27bdffd8 */ addiu $sp,$sp,-40 /* 1cd1c: afbf0024 */ sw $ra,0x24($sp) @@ -9301,53 +9298,53 @@ GLOBAL_ASM( glabel modelRender .late_rodata glabel var70054458 -.word 0x7002209c +.word modelRender+0x1a8 glabel var7005445c -.word 0x7002209c +.word modelRender+0x1a8 glabel var70054460 -.word 0x7002209c +.word modelRender+0x1a8 glabel var70054464 -.word 0x70022058 +.word modelRender+0x164 glabel var70054468 -.word 0x7002209c +.word modelRender+0x1a8 glabel var7005446c -.word 0x7002209c +.word modelRender+0x1a8 glabel var70054470 -.word 0x7002209c +.word modelRender+0x1a8 glabel var70054474 -.word 0x70021f78 +.word modelRender+0x084 glabel var70054478 -.word 0x7002202c +.word modelRender+0x138 glabel var7005447c -.word 0x7002209c +.word modelRender+0x1a8 glabel var70054480 -.word 0x7002209c +.word modelRender+0x1a8 glabel var70054484 -.word 0x70022040 +.word modelRender+0x14c glabel var70054488 -.word 0x7002209c +.word modelRender+0x1a8 glabel var7005448c -.word 0x7002209c +.word modelRender+0x1a8 glabel var70054490 -.word 0x7002209c +.word modelRender+0x1a8 glabel var70054494 -.word 0x7002209c +.word modelRender+0x1a8 glabel var70054498 -.word 0x7002209c +.word modelRender+0x1a8 glabel var7005449c -.word 0x70021f78 +.word modelRender+0x084 glabel var700544a0 -.word 0x7002209c +.word modelRender+0x1a8 glabel var700544a4 -.word 0x7002209c +.word modelRender+0x1a8 glabel var700544a8 -.word 0x7002209c +.word modelRender+0x1a8 glabel var700544ac -.word 0x70022088 +.word modelRender+0x194 glabel var700544b0 -.word 0x70021ff0 +.word modelRender+0x0fc glabel var700544b4 -.word 0x70022070 +.word modelRender+0x17c .text /* 21ef4: 27bdffc8 */ addiu $sp,$sp,-56 /* 21ef8: afbf0024 */ sw $ra,0x24($sp) @@ -9832,53 +9829,53 @@ GLOBAL_ASM( glabel func000225d4 .late_rodata glabel var700544b8 -.word 0x7002277c +.word func000225d4+0x1a8 glabel var700544bc -.word 0x7002277c +.word func000225d4+0x1a8 glabel var700544c0 -.word 0x7002277c +.word func000225d4+0x1a8 glabel var700544c4 -.word 0x7002277c +.word func000225d4+0x1a8 glabel var700544c8 -.word 0x7002277c +.word func000225d4+0x1a8 glabel var700544cc -.word 0x7002277c +.word func000225d4+0x1a8 glabel var700544d0 -.word 0x7002277c +.word func000225d4+0x1a8 glabel var700544d4 -.word 0x700226e8 +.word func000225d4+0x114 glabel var700544d8 -.word 0x7002277c +.word func000225d4+0x1a8 glabel var700544dc -.word 0x700226a0 +.word func000225d4+0x0cc glabel var700544e0 -.word 0x7002277c +.word func000225d4+0x1a8 glabel var700544e4 -.word 0x7002277c +.word func000225d4+0x1a8 glabel var700544e8 -.word 0x7002277c +.word func000225d4+0x1a8 glabel var700544ec -.word 0x7002277c +.word func000225d4+0x1a8 glabel var700544f0 -.word 0x7002277c +.word func000225d4+0x1a8 glabel var700544f4 -.word 0x7002277c +.word func000225d4+0x1a8 glabel var700544f8 -.word 0x7002277c +.word func000225d4+0x1a8 glabel var700544fc -.word 0x70022718 +.word func000225d4+0x144 glabel var70054500 -.word 0x7002277c +.word func000225d4+0x1a8 glabel var70054504 -.word 0x7002277c +.word func000225d4+0x1a8 glabel var70054508 -.word 0x7002277c +.word func000225d4+0x1a8 glabel var7005450c -.word 0x7002277c +.word func000225d4+0x1a8 glabel var70054510 -.word 0x70022748 +.word func000225d4+0x174 glabel var70054514 -.word 0x7002277c +.word func000225d4+0x1a8 .text /* 225d4: 27bdffd8 */ addiu $sp,$sp,-40 /* 225d8: afbf0024 */ sw $ra,0x24($sp) @@ -10016,53 +10013,53 @@ GLOBAL_ASM( glabel func000227a4 .late_rodata glabel var70054518 -.word 0x70022840 +.word func000227a4+0x09c glabel var7005451c -.word 0x70022848 +.word func000227a4+0x0a4 glabel var70054520 -.word 0x700229d8 +.word func000227a4+0x234 glabel var70054524 -.word 0x70022850 +.word func000227a4+0x0ac glabel var70054528 -.word 0x700229d8 +.word func000227a4+0x234 glabel var7005452c -.word 0x700229d8 +.word func000227a4+0x234 glabel var70054530 -.word 0x700229d8 +.word func000227a4+0x234 glabel var70054534 -.word 0x70022898 +.word func000227a4+0x0f4 glabel var70054538 -.word 0x700228e0 +.word func000227a4+0x13c glabel var7005453c -.word 0x700229d8 +.word func000227a4+0x234 glabel var70054540 -.word 0x70022934 +.word func000227a4+0x190 glabel var70054544 -.word 0x70022958 +.word func000227a4+0x1b4 glabel var70054548 -.word 0x7002297c +.word func000227a4+0x1d8 glabel var7005454c -.word 0x700229d8 +.word func000227a4+0x234 glabel var70054550 -.word 0x700229d8 +.word func000227a4+0x234 glabel var70054554 -.word 0x700229d8 +.word func000227a4+0x234 glabel var70054558 -.word 0x70022914 +.word func000227a4+0x170 glabel var7005455c -.word 0x700228c0 +.word func000227a4+0x11c glabel var70054560 -.word 0x700229d8 +.word func000227a4+0x234 glabel var70054564 -.word 0x700229d8 +.word func000227a4+0x234 glabel var70054568 -.word 0x700229d8 +.word func000227a4+0x234 glabel var7005456c -.word 0x700229b4 +.word func000227a4+0x210 glabel var70054570 -.word 0x700229d8 +.word func000227a4+0x234 glabel var70054574 -.word 0x70022874 +.word func000227a4+0x0d0 .text /* 227a4: 1080009d */ beqz $a0,.L00022a1c /* 227a8: 00000000 */ nop @@ -10351,53 +10348,53 @@ GLOBAL_ASM( glabel func00022b68 .late_rodata glabel var70054578 -.word 0x70022bb8 +.word func00022b68+0x050 glabel var7005457c -.word 0x70022cb0 +.word func00022b68+0x148 glabel var70054580 -.word 0x70022cb0 +.word func00022b68+0x148 glabel var70054584 -.word 0x70022cb0 +.word func00022b68+0x148 glabel var70054588 -.word 0x70022cb0 +.word func00022b68+0x148 glabel var7005458c -.word 0x70022cb0 +.word func00022b68+0x148 glabel var70054590 -.word 0x70022cb0 +.word func00022b68+0x148 glabel var70054594 -.word 0x70022bd4 +.word func00022b68+0x06c glabel var70054598 -.word 0x70022c34 +.word func00022b68+0x0cc glabel var7005459c -.word 0x70022cb0 +.word func00022b68+0x148 glabel var700545a0 -.word 0x70022c5c +.word func00022b68+0x0f4 glabel var700545a4 -.word 0x70022c78 +.word func00022b68+0x110 glabel var700545a8 -.word 0x70022cb0 +.word func00022b68+0x148 glabel var700545ac -.word 0x70022cb0 +.word func00022b68+0x148 glabel var700545b0 -.word 0x70022cb0 +.word func00022b68+0x148 glabel var700545b4 -.word 0x70022cb0 +.word func00022b68+0x148 glabel var700545b8 -.word 0x70022cb0 +.word func00022b68+0x148 glabel var700545bc -.word 0x70022bf4 +.word func00022b68+0x08c glabel var700545c0 -.word 0x70022cb0 +.word func00022b68+0x148 glabel var700545c4 -.word 0x70022cb0 +.word func00022b68+0x148 glabel var700545c8 -.word 0x70022cb0 +.word func00022b68+0x148 glabel var700545cc -.word 0x70022cb0 +.word func00022b68+0x148 glabel var700545d0 -.word 0x70022c14 +.word func00022b68+0x0ac glabel var700545d4 -.word 0x70022c94 +.word func00022b68+0x12c .text /* 22b68: 27bdffd8 */ addiu $sp,$sp,-40 /* 22b6c: afb20020 */ sw $s2,0x20($sp) @@ -10540,53 +10537,53 @@ GLOBAL_ASM( glabel func00022d50 .late_rodata glabel var700545d8 -.word 0x70022db0 +.word func00022d50+0x060 glabel var700545dc -.word 0x70022f2c +.word func00022d50+0x1dc glabel var700545e0 -.word 0x70022f2c +.word func00022d50+0x1dc glabel var700545e4 -.word 0x70022f2c +.word func00022d50+0x1dc glabel var700545e8 -.word 0x70022f2c +.word func00022d50+0x1dc glabel var700545ec -.word 0x70022f2c +.word func00022d50+0x1dc glabel var700545f0 -.word 0x70022f2c +.word func00022d50+0x1dc glabel var700545f4 -.word 0x70022e28 +.word func00022d50+0x0d8 glabel var700545f8 -.word 0x70022e88 +.word func00022d50+0x138 glabel var700545fc -.word 0x70022f2c +.word func00022d50+0x1dc glabel var70054600 -.word 0x70022eac +.word func00022d50+0x15c glabel var70054604 -.word 0x70022ec4 +.word func00022d50+0x174 glabel var70054608 -.word 0x70022f2c +.word func00022d50+0x1dc glabel var7005460c -.word 0x70022f2c +.word func00022d50+0x1dc glabel var70054610 -.word 0x70022f2c +.word func00022d50+0x1dc glabel var70054614 -.word 0x70022f2c +.word func00022d50+0x1dc glabel var70054618 -.word 0x70022f2c +.word func00022d50+0x1dc glabel var7005461c -.word 0x70022e48 +.word func00022d50+0x0f8 glabel var70054620 -.word 0x70022f2c +.word func00022d50+0x1dc glabel var70054624 -.word 0x70022f2c +.word func00022d50+0x1dc glabel var70054628 -.word 0x70022f2c +.word func00022d50+0x1dc glabel var7005462c -.word 0x70022f2c +.word func00022d50+0x1dc glabel var70054630 -.word 0x70022e6c +.word func00022d50+0x11c glabel var70054634 -.word 0x70022edc +.word func00022d50+0x18c .text /* 22d50: 27bdffd0 */ addiu $sp,$sp,-48 /* 22d54: afb30028 */ sw $s3,0x28($sp) @@ -10896,49 +10893,47 @@ GLOBAL_ASM( glabel func0002319c .late_rodata glabel var70054638 -.word 0x70023200 +.word func0002319c+0x064 glabel var7005463c -.word 0x700232a4 +.word func0002319c+0x108 glabel var70054640 -.word 0x700232a4 +.word func0002319c+0x108 glabel var70054644 -.word 0x700232a4 +.word func0002319c+0x108 glabel var70054648 -.word 0x70023278 +.word func0002319c+0x0dc glabel var7005464c -.word 0x70023298 +.word func0002319c+0x0fc glabel var70054650 -.word 0x700232a4 +.word func0002319c+0x108 glabel var70054654 -.word 0x700232a4 +.word func0002319c+0x108 glabel var70054658 -.word 0x700232a4 +.word func0002319c+0x108 glabel var7005465c -.word 0x700232a4 +.word func0002319c+0x108 glabel var70054660 -.word 0x700232a4 +.word func0002319c+0x108 glabel var70054664 -.word 0x700232a4 +.word func0002319c+0x108 glabel var70054668 -.word 0x700232a4 +.word func0002319c+0x108 glabel var7005466c -.word 0x700232a4 +.word func0002319c+0x108 glabel var70054670 -.word 0x70023288 +.word func0002319c+0x0ec glabel var70054674 -.word 0x700232a4 +.word func0002319c+0x108 glabel var70054678 -.word 0x700232a4 +.word func0002319c+0x108 glabel var7005467c -.word 0x700232a4 +.word func0002319c+0x108 glabel var70054680 -.word 0x70023260 +.word func0002319c+0x0c4 glabel var70054684 -.word 0x700232a4 +.word func0002319c+0x108 glabel var70054688 -.word 0x70023230 -glabel var7005468c -.word 0x00000000 +.word func0002319c+0x094 .text /* 2319c: 27bdffd8 */ addiu $sp,$sp,-40 /* 231a0: afbf0024 */ sw $ra,0x24($sp) diff --git a/src/lib/ultra/io/conteepwrite.c b/src/lib/ultra/io/conteepwrite.c index fa9ce8917..6d41bd5c2 100644 --- a/src/lib/ultra/io/conteepwrite.c +++ b/src/lib/ultra/io/conteepwrite.c @@ -154,6 +154,121 @@ glabel __osPackEepWriteData /* 4bee0: b841ffff */ swr $at,-0x1($v0) ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel __osEepStatus +/* 4bee4: 27bdffd0 */ addiu $sp,$sp,-48 +/* 4bee8: 3c02800a */ lui $v0,%hi(__osEepPifRam) +/* 4beec: 3c03800a */ lui $v1,%hi(var8009d010pf) +/* 4bef0: afbf0014 */ sw $ra,0x14($sp) +/* 4bef4: afa40030 */ sw $a0,0x30($sp) +/* 4bef8: afa50034 */ sw $a1,0x34($sp) +/* 4befc: 2463cac0 */ addiu $v1,$v1,%lo(var8009d010pf) +/* 4bf00: 2442ca80 */ addiu $v0,$v0,%lo(__osEepPifRam) +.L0004bf04: +/* 4bf04: 24420004 */ addiu $v0,$v0,0x4 +/* 4bf08: 0043082b */ sltu $at,$v0,$v1 +/* 4bf0c: 1420fffd */ bnez $at,.L0004bf04 +/* 4bf10: ac40fffc */ sw $zero,-0x4($v0) +/* 4bf14: 3c05800a */ lui $a1,%hi(__osEepPifRam) +/* 4bf18: 24a5ca80 */ addiu $a1,$a1,%lo(__osEepPifRam) +/* 4bf1c: 240e0001 */ addiu $t6,$zero,0x1 +/* 4bf20: acae003c */ sw $t6,0x3c($a1) +/* 4bf24: 00a01025 */ or $v0,$a1,$zero +/* 4bf28: 00001825 */ or $v1,$zero,$zero +.L0004bf2c: +/* 4bf2c: 24630001 */ addiu $v1,$v1,0x1 +/* 4bf30: 28610004 */ slti $at,$v1,0x4 +/* 4bf34: a0400000 */ sb $zero,0x0($v0) +/* 4bf38: 1420fffc */ bnez $at,.L0004bf2c +/* 4bf3c: 24420001 */ addiu $v0,$v0,0x1 +/* 4bf40: 240f00ff */ addiu $t7,$zero,0xff +/* 4bf44: 24180001 */ addiu $t8,$zero,0x1 +/* 4bf48: 24190003 */ addiu $t9,$zero,0x3 +/* 4bf4c: 240800ff */ addiu $t0,$zero,0xff +/* 4bf50: 240900ff */ addiu $t1,$zero,0xff +/* 4bf54: 240a00ff */ addiu $t2,$zero,0xff +/* 4bf58: 240b00ff */ addiu $t3,$zero,0xff +/* 4bf5c: a3af001c */ sb $t7,0x1c($sp) +/* 4bf60: a3b8001d */ sb $t8,0x1d($sp) +/* 4bf64: a3b9001e */ sb $t9,0x1e($sp) +/* 4bf68: a3a0001f */ sb $zero,0x1f($sp) +/* 4bf6c: a3a80020 */ sb $t0,0x20($sp) +/* 4bf70: a3a90021 */ sb $t1,0x21($sp) +/* 4bf74: a3aa0022 */ sb $t2,0x22($sp) +/* 4bf78: a3ab0023 */ sb $t3,0x23($sp) +/* 4bf7c: 27ac001c */ addiu $t4,$sp,0x1c +/* 4bf80: 8d810000 */ lw $at,0x0($t4) +/* 4bf84: 241800fe */ addiu $t8,$zero,0xfe +/* 4bf88: 24420008 */ addiu $v0,$v0,0x8 +/* 4bf8c: a841fff8 */ swl $at,-0x8($v0) +/* 4bf90: b841fffb */ swr $at,-0x5($v0) +/* 4bf94: 8d8f0004 */ lw $t7,0x4($t4) +/* 4bf98: a0580000 */ sb $t8,0x0($v0) +/* 4bf9c: 24040001 */ addiu $a0,$zero,0x1 +/* 4bfa0: a84ffffc */ swl $t7,-0x4($v0) +/* 4bfa4: 0c012a34 */ jal __osSiRawStartDma +/* 4bfa8: b84fffff */ swr $t7,-0x1($v0) +/* 4bfac: 8fa40030 */ lw $a0,0x30($sp) +/* 4bfb0: 00002825 */ or $a1,$zero,$zero +/* 4bfb4: 0c0121bc */ jal osRecvMesg +/* 4bfb8: 24060001 */ addiu $a2,$zero,0x1 +/* 4bfbc: 241900fe */ addiu $t9,$zero,0xfe +/* 4bfc0: 3c01800a */ lui $at,%hi(__osContLastCmd) +/* 4bfc4: 3c05800a */ lui $a1,%hi(__osEepPifRam) +/* 4bfc8: a039c820 */ sb $t9,%lo(__osContLastCmd)($at) +/* 4bfcc: 24a5ca80 */ addiu $a1,$a1,%lo(__osEepPifRam) +/* 4bfd0: 0c012a34 */ jal __osSiRawStartDma +/* 4bfd4: 00002025 */ or $a0,$zero,$zero +/* 4bfd8: 8fa40030 */ lw $a0,0x30($sp) +/* 4bfdc: 00002825 */ or $a1,$zero,$zero +/* 4bfe0: 24060001 */ addiu $a2,$zero,0x1 +/* 4bfe4: 0c0121bc */ jal osRecvMesg +/* 4bfe8: afa2002c */ sw $v0,0x2c($sp) +/* 4bfec: 8fa3002c */ lw $v1,0x2c($sp) +/* 4bff0: 3c02800a */ lui $v0,%hi(__osEepPifRam+0x1) +/* 4bff4: 2442ca81 */ addiu $v0,$v0,%lo(__osEepPifRam+0x1) +/* 4bff8: 10600003 */ beqz $v1,.L0004c008 +/* 4bffc: 3c01800a */ lui $at,%hi(__osEepPifRam) +/* 4c000: 1000001e */ b .L0004c07c +/* 4c004: 00601025 */ or $v0,$v1,$zero +.L0004c008: +/* 4c008: a020ca80 */ sb $zero,%lo(__osEepPifRam)($at) +/* 4c00c: 88410003 */ lwl $at,0x3($v0) +/* 4c010: 98410006 */ lwr $at,0x6($v0) +/* 4c014: a0400002 */ sb $zero,0x2($v0) +/* 4c018: a0400001 */ sb $zero,0x1($v0) +/* 4c01c: a0400000 */ sb $zero,0x0($v0) +/* 4c020: 8fa40034 */ lw $a0,0x34($sp) +/* 4c024: 27a8001c */ addiu $t0,$sp,0x1c +/* 4c028: ad010000 */ sw $at,0x0($t0) +/* 4c02c: 884a0007 */ lwl $t2,0x7($v0) +/* 4c030: 984a000a */ lwr $t2,0xa($v0) +/* 4c034: 24420003 */ addiu $v0,$v0,0x3 +/* 4c038: 00001025 */ or $v0,$zero,$zero +/* 4c03c: ad0a0004 */ sw $t2,0x4($t0) +/* 4c040: 93ab001e */ lbu $t3,0x1e($sp) +/* 4c044: 316e00c0 */ andi $t6,$t3,0xc0 +/* 4c048: 000e6903 */ sra $t5,$t6,0x4 +/* 4c04c: a08d0003 */ sb $t5,0x3($a0) +/* 4c050: 93ac0021 */ lbu $t4,0x21($sp) +/* 4c054: 93b80020 */ lbu $t8,0x20($sp) +/* 4c058: 31a300ff */ andi $v1,$t5,0xff +/* 4c05c: 000c7a00 */ sll $t7,$t4,0x8 +/* 4c060: 01f8c825 */ or $t9,$t7,$t8 +/* 4c064: a4990000 */ sh $t9,0x0($a0) +/* 4c068: 93a90022 */ lbu $t1,0x22($sp) +/* 4c06c: 10600003 */ beqz $v1,.L0004c07c +/* 4c070: a0890002 */ sb $t1,0x2($a0) +/* 4c074: 10000001 */ b .L0004c07c +/* 4c078: 00601025 */ or $v0,$v1,$zero +.L0004c07c: +/* 4c07c: 8fbf0014 */ lw $ra,0x14($sp) +/* 4c080: 27bd0030 */ addiu $sp,$sp,0x30 +/* 4c084: 03e00008 */ jr $ra +/* 4c088: 00000000 */ nop +); +#else GLOBAL_ASM( glabel __osEepStatus /* 4bee4: 27bdffd0 */ addiu $sp,$sp,-48 @@ -266,5 +381,5 @@ glabel __osEepStatus /* 4c080: 27bd0030 */ addiu $sp,$sp,0x30 /* 4c084: 03e00008 */ jr $ra /* 4c088: 00000000 */ nop -/* 4c08c: 00000000 */ nop ); +#endif diff --git a/src/lib/ultra/io/devmgr.c b/src/lib/ultra/io/devmgr.c index 291b0fb91..f766617cd 100644 --- a/src/lib/ultra/io/devmgr.c +++ b/src/lib/ultra/io/devmgr.c @@ -174,9 +174,9 @@ glabel __osDevMgrMain /* 4a074: 2d410007 */ sltiu $at,$t2,0x7 /* 4a078: 10200047 */ beqz $at,.L0004a198 /* 4a07c: 000a5080 */ sll $t2,$t2,0x2 -/* 4a080: 3c017006 */ lui $at,0x7006 +/* 4a080: 3c017006 */ lui $at,%hi(var70059eb0) /* 4a084: 002a0821 */ addu $at,$at,$t2 -/* 4a088: 8c2a9eb0 */ lw $t2,-0x6150($at) +/* 4a088: 8c2a9eb0 */ lw $t2,%lo(var70059eb0)($at) /* 4a08c: 01400008 */ jr $t2 /* 4a090: 00000000 */ nop /* 4a094: 8e840010 */ lw $a0,0x10($s4) diff --git a/src/lib/ultra/libc/xprintf.c b/src/lib/ultra/libc/xprintf.c index a93cfe7bf..85d71bdaf 100644 --- a/src/lib/ultra/libc/xprintf.c +++ b/src/lib/ultra/libc/xprintf.c @@ -20,9 +20,9 @@ glabel func0004e690 /* 4e6cc: 2de10034 */ sltiu $at,$t7,0x34 /* 4e6d0: 10200181 */ beqz $at,.L0004ecd8 /* 4e6d4: 000f7880 */ sll $t7,$t7,0x2 -/* 4e6d8: 3c017006 */ lui $at,0x7006 +/* 4e6d8: 3c017006 */ lui $at,%hi(var70059ef4) /* 4e6dc: 002f0821 */ addu $at,$at,$t7 -/* 4e6e0: 8c2f9ef4 */ lw $t7,-0x610c($at) +/* 4e6e0: 8c2f9ef4 */ lw $t7,%lo(var70059ef4)($at) /* 4e6e4: 01e00008 */ jr $t7 /* 4e6e8: 00000000 */ nop .L0004e6ec: diff --git a/src/lib/ultra/os/exceptasm.c b/src/lib/ultra/os/exceptasm.c index 6113fe238..2a09047ef 100644 --- a/src/lib/ultra/os/exceptasm.c +++ b/src/lib/ultra/os/exceptasm.c @@ -9,6 +9,18 @@ const u32 var70052460[] = {0x00040808}; const u32 var70052464[] = {0x0c0c0c0c}; const u32 var70052468[] = {0x10101010}; const u32 var7005246c[] = {0x10101010}; + +#if VERSION >= VERSION_PAL_FINAL +const u32 var70052470[] = {0x70003a0c}; +const u32 var70052474[] = {0x70003998}; +const u32 var70052478[] = {0x70003978}; +const u32 var7005247c[] = {0x700037dc}; +const u32 var70052480[] = {0x70003798}; +const u32 var70052484[] = {0x7000391c}; +const u32 var70052488[] = {0x70003760}; +const u32 var7005248c[] = {0x7000376c}; +const u32 var70052490[] = {0x70003778}; +#else const u32 var70052470[] = {0x70003a3c}; const u32 var70052474[] = {0x700039c8}; const u32 var70052478[] = {0x700039a8}; @@ -18,9 +30,7 @@ const u32 var70052484[] = {0x7000394c}; const u32 var70052488[] = {0x70003790}; const u32 var7005248c[] = {0x7000379c}; const u32 var70052490[] = {0x700037a8}; -const u32 var70052494[] = {0x00000000}; -const u32 var70052498[] = {0x00000000}; -const u32 var7005249c[] = {0x00000000}; +#endif GLOBAL_ASM( glabel __osExceptionPreamble @@ -367,7 +377,7 @@ glabel __osException /* 39f0: 10000012 */ b .L00003a3c /* 39f4: 00000000 */ nop .L000039f8: -/* 39f8: 08000ea2 */ j 0x3a88 +/* 39f8: 08000ea2 */ j .L00003a88 /* 39fc: 00000000 */ nop /* 3a00: 24090001 */ addiu $t1,$zero,0x1 .L00003a04: @@ -397,14 +407,14 @@ glabel __osException /* 3a5c: 03402825 */ or $a1,$k0,$zero /* 3a60: 0c000f2e */ jal __osEnqueueThread /* 3a64: 24840938 */ addiu $a0,$a0,%lo(__osRunQueue) -/* 3a68: 08000f44 */ j 0x3d10 +/* 3a68: 08000f44 */ j .L00003d10 /* 3a6c: 00000000 */ nop .L00003a70: /* 3a70: 3c098006 */ lui $t1,%hi(__osRunQueue) /* 3a74: 25290938 */ addiu $t1,$t1,%lo(__osRunQueue) /* 3a78: 8d2a0000 */ lw $t2,0x0($t1) /* 3a7c: af4a0000 */ sw $t2,0x0($k0) -/* 3a80: 08000f44 */ j 0x3d10 +/* 3a80: 08000f44 */ j .L00003d10 /* 3a84: ad3a0000 */ sw $k0,0x0($t1) .L00003a88: /* 3a88: 3c018006 */ lui $at,%hi(__osFaultedThread) @@ -417,7 +427,7 @@ glabel __osException /* 3aa4: af4a0124 */ sw $t2,0x124($k0) /* 3aa8: 0c000eae */ jal send_mesg /* 3aac: 24040060 */ addiu $a0,$zero,0x60 -/* 3ab0: 08000f44 */ j 0x3d10 +/* 3ab0: 08000f44 */ j .L00003d10 /* 3ab4: 00000000 */ nop ); @@ -561,7 +571,7 @@ glabel __osEnqueueAndYield /* 3ca8: 0c000f2e */ jal __osEnqueueThread /* 3cac: 00000000 */ nop .L00003cb0: -/* 3cb0: 08000f44 */ j 0x3d10 +/* 3cb0: 08000f44 */ j .L00003d10 /* 3cb4: 00000000 */ nop ); @@ -599,6 +609,7 @@ glabel __osPopThread GLOBAL_ASM( glabel __osDispatchThread +.L00003d10: /* 3d10: 3c048006 */ lui $a0,%hi(__osRunQueue) /* 3d14: 0c000f40 */ jal __osPopThread /* 3d18: 24840938 */ addiu $a0,$a0,%lo(__osRunQueue) diff --git a/src/lib/ultra/os/timerintr.c b/src/lib/ultra/os/timerintr.c index fedfa885d..3f14c07a6 100644 --- a/src/lib/ultra/os/timerintr.c +++ b/src/lib/ultra/os/timerintr.c @@ -4,11 +4,11 @@ GLOBAL_ASM( glabel __osTimerServicesInit -/* 491b0: 3c01800a */ lui $at,%hi(__osCurrentTime+0x4) +/* 491b0: 3c01800a */ lui $at,%hi(__osCurrentTime) /* 491b4: 240e0000 */ addiu $t6,$zero,0x0 /* 491b8: 240f0000 */ addiu $t7,$zero,0x0 /* 491bc: ac2fc784 */ sw $t7,%lo(__osCurrentTime+0x4)($at) -/* 491c0: ac2ec780 */ sw $t6,-0x3880($at) +/* 491c0: ac2ec780 */ sw $t6,%lo(__osCurrentTime)($at) /* 491c4: 3c01800a */ lui $at,%hi(__osBaseCounter) /* 491c8: 3c188006 */ lui $t8,%hi(__osTimerList) /* 491cc: 8f1808a0 */ lw $t8,%lo(__osTimerList)($t8)