diff --git a/asm/graph.s b/asm/graph.s index 2c0e13348d..95e67955a5 100644 --- a/asm/graph.s +++ b/asm/graph.s @@ -286,12 +286,12 @@ glabel func_800C5C2C /* B3CDF8 800C5C58 3C0F8080 */ lui $t7, %hi(func_80801E44) # $t7, 0x8080 /* B3CDFC 800C5C5C 25EF1E44 */ addiu $t7, %lo(func_80801E44) # addiu $t7, $t7, 0x1e44 /* B3CE00 800C5C60 144F0004 */ bne $v0, $t7, .L800C5C74 -/* B3CE04 800C5C64 3C188080 */ lui $t8, %hi(func_80800878) # $t8, 0x8080 +/* B3CE04 800C5C64 3C188080 */ lui $t8, %hi(Title_Init) # $t8, 0x8080 /* B3CE08 800C5C68 3C028012 */ lui $v0, %hi(D_8011F860) # $v0, 0x8012 /* B3CE0C 800C5C6C 10000022 */ b .L800C5CF8 /* B3CE10 800C5C70 2442F860 */ addiu $v0, %lo(D_8011F860) # addiu $v0, $v0, -0x7a0 .L800C5C74: -/* B3CE14 800C5C74 27180878 */ addiu $t8, %lo(func_80800878) # addiu $t8, $t8, 0x878 +/* B3CE14 800C5C74 27180878 */ addiu $t8, %lo(Title_Init) # addiu $t8, $t8, 0x878 /* B3CE18 800C5C78 14580004 */ bne $v0, $t8, .L800C5C8C /* B3CE1C 800C5C7C 3C19800C */ lui $t9, %hi(func_800BCA64) # $t9, 0x800c /* B3CE20 800C5C80 3C028012 */ lui $v0, %hi(D_8011F890) # $v0, 0x8012 diff --git a/asm/non_matchings/code/__osMalloc/ArenaImpl_FaultClient.s b/asm/non_matchings/code/__osMalloc/ArenaImpl_FaultClient.s deleted file mode 100644 index f84268fe96..0000000000 --- a/asm/non_matchings/code/__osMalloc/ArenaImpl_FaultClient.s +++ /dev/null @@ -1,175 +0,0 @@ -.rdata -glabel D_8014B0A0 - .asciz "ARENA INFO (0x%08x)\n" - .balign 4 - -glabel D_8014B0B8 - .asciz "Arena is uninitalized\n" - .balign 4 - -glabel D_8014B0D0 - .asciz "Memory Block Region status size\n" - .balign 4 - -glabel D_8014B0F4 - .asciz "%08x-%08x%c %s %08x" - .balign 4 - -glabel D_8014B108 - .asciz "F" - .balign 4 - -glabel D_8014B10C - .asciz "A" - .balign 4 - -glabel D_8014B110 - .asciz "\n" - .balign 4 - -glabel D_8014B114 - .asciz "%08x Block Invalid\n" - .balign 4 - -glabel D_8014B128 - .asciz "Total Alloc Block Size %08x\n" - .balign 4 - -glabel D_8014B148 - .asciz "Total Free Block Size %08x\n" - .balign 4 - -glabel D_8014B168 - .asciz "Largest Free Block Size %08x\n" - .balign 4 - -.text -glabel ArenaImpl_FaultClient -/* B7624C 800FF0AC 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* B76250 800FF0B0 AFB10020 */ sw $s1, 0x20($sp) -/* B76254 800FF0B4 00808825 */ move $s1, $a0 -/* B76258 800FF0B8 AFBF003C */ sw $ra, 0x3c($sp) -/* B7625C 800FF0BC 3C048015 */ lui $a0, %hi(D_8014B0A0) # $a0, 0x8015 -/* B76260 800FF0C0 AFB70038 */ sw $s7, 0x38($sp) -/* B76264 800FF0C4 AFB60034 */ sw $s6, 0x34($sp) -/* B76268 800FF0C8 AFB50030 */ sw $s5, 0x30($sp) -/* B7626C 800FF0CC AFB4002C */ sw $s4, 0x2c($sp) -/* B76270 800FF0D0 AFB30028 */ sw $s3, 0x28($sp) -/* B76274 800FF0D4 AFB20024 */ sw $s2, 0x24($sp) -/* B76278 800FF0D8 AFB0001C */ sw $s0, 0x1c($sp) -/* B7627C 800FF0DC 2484B0A0 */ addiu $a0, %lo(D_8014B0A0) # addiu $a0, $a0, -0x4f60 -/* B76280 800FF0E0 0C035C12 */ jal FaultDrawer_Printf -/* B76284 800FF0E4 02202825 */ move $a1, $s1 -/* B76288 800FF0E8 0C03F7D3 */ jal __osMallocIsInitalized -/* B7628C 800FF0EC 02202025 */ move $a0, $s1 -/* B76290 800FF0F0 14400007 */ bnez $v0, .L800FF110 -/* B76294 800FF0F4 00009825 */ move $s3, $zero -/* B76298 800FF0F8 3C048015 */ lui $a0, %hi(D_8014B0B8) # $a0, 0x8015 -/* B7629C 800FF0FC 2484B0B8 */ addiu $a0, %lo(D_8014B0B8) # addiu $a0, $a0, -0x4f48 -/* B762A0 800FF100 0C035C12 */ jal FaultDrawer_Printf -/* B762A4 800FF104 02202825 */ move $a1, $s1 -/* B762A8 800FF108 10000053 */ b .L800FF258 -/* B762AC 800FF10C 8FBF003C */ lw $ra, 0x3c($sp) -.L800FF110: -/* B762B0 800FF110 3C048015 */ lui $a0, %hi(D_8014B0D0) # $a0, 0x8015 -/* B762B4 800FF114 0000A025 */ move $s4, $zero -/* B762B8 800FF118 00009025 */ move $s2, $zero -/* B762BC 800FF11C 0C035C12 */ jal FaultDrawer_Printf -/* B762C0 800FF120 2484B0D0 */ addiu $a0, %lo(D_8014B0D0) # addiu $a0, $a0, -0x4f30 -/* B762C4 800FF124 8E300000 */ lw $s0, ($s1) -/* B762C8 800FF128 3C178015 */ lui $s7, %hi(D_8014B10C) # $s7, 0x8015 -/* B762CC 800FF12C 26F7B10C */ addiu $s7, %lo(D_8014B10C) # addiu $s7, $s7, -0x4ef4 -/* B762D0 800FF130 1200003A */ beqz $s0, .L800FF21C -/* B762D4 800FF134 3C168015 */ lui $s6, %hi(D_8014B108) # $s6, 0x8015 -/* B762D8 800FF138 26D6B108 */ addiu $s6, %lo(D_8014B108) # addiu $s6, $s6, -0x4ef8 -/* B762DC 800FF13C 24157373 */ li $s5, 29555 -.L800FF140: -/* B762E0 800FF140 1200002E */ beqz $s0, .L800FF1FC -/* B762E4 800FF144 3404F801 */ li $a0, 63489 -/* B762E8 800FF148 860E0000 */ lh $t6, ($s0) -/* B762EC 800FF14C 02002825 */ move $a1, $s0 -/* B762F0 800FF150 16AE002A */ bne $s5, $t6, .L800FF1FC -/* B762F4 800FF154 00000000 */ nop -/* B762F8 800FF158 8E110008 */ lw $s1, 8($s0) -/* B762FC 800FF15C 3C048015 */ lui $a0, %hi(D_8014B0F4) # $a0, 0x8015 -/* B76300 800FF160 02E01825 */ move $v1, $s7 -/* B76304 800FF164 56200004 */ bnezl $s1, .L800FF178 -/* B76308 800FF168 8E2F000C */ lw $t7, 0xc($s1) -/* B7630C 800FF16C 10000008 */ b .L800FF190 -/* B76310 800FF170 24070024 */ li $a3, 36 -/* B76314 800FF174 8E2F000C */ lw $t7, 0xc($s1) -.L800FF178: -/* B76318 800FF178 24020020 */ li $v0, 32 -/* B7631C 800FF17C 120F0003 */ beq $s0, $t7, .L800FF18C -/* B76320 800FF180 00000000 */ nop -/* B76324 800FF184 10000001 */ b .L800FF18C -/* B76328 800FF188 24020021 */ li $v0, 33 -.L800FF18C: -/* B7632C 800FF18C 00403825 */ move $a3, $v0 -.L800FF190: -/* B76330 800FF190 86180002 */ lh $t8, 2($s0) -/* B76334 800FF194 13000003 */ beqz $t8, .L800FF1A4 -/* B76338 800FF198 00000000 */ nop -/* B7633C 800FF19C 10000001 */ b .L800FF1A4 -/* B76340 800FF1A0 02C01825 */ move $v1, $s6 -.L800FF1A4: -/* B76344 800FF1A4 8E020004 */ lw $v0, 4($s0) -/* B76348 800FF1A8 AFA30010 */ sw $v1, 0x10($sp) -/* B7634C 800FF1AC 2484B0F4 */ addiu $a0, %lo(D_8014B0F4) # addiu $a0, $a0, -0x4f0c -/* B76350 800FF1B0 02023021 */ addu $a2, $s0, $v0 -/* B76354 800FF1B4 24C60030 */ addiu $a2, $a2, 0x30 -/* B76358 800FF1B8 0C035C12 */ jal FaultDrawer_Printf -/* B7635C 800FF1BC AFA20014 */ sw $v0, 0x14($sp) -/* B76360 800FF1C0 3C048015 */ lui $a0, %hi(D_8014B110) # $a0, 0x8015 -/* B76364 800FF1C4 0C035C12 */ jal FaultDrawer_Printf -/* B76368 800FF1C8 2484B110 */ addiu $a0, %lo(D_8014B110) # addiu $a0, $a0, -0x4ef0 -/* B7636C 800FF1CC 86190002 */ lh $t9, 2($s0) -/* B76370 800FF1D0 53200008 */ beql $t9, $zero, .L800FF1F4 -/* B76374 800FF1D4 8E080004 */ lw $t0, 4($s0) -/* B76378 800FF1D8 8E020004 */ lw $v0, 4($s0) -/* B7637C 800FF1DC 0262082B */ sltu $at, $s3, $v0 -/* B76380 800FF1E0 1020000C */ beqz $at, .L800FF214 -/* B76384 800FF1E4 0282A021 */ addu $s4, $s4, $v0 -/* B76388 800FF1E8 1000000A */ b .L800FF214 -/* B7638C 800FF1EC 00409825 */ move $s3, $v0 -/* B76390 800FF1F0 8E080004 */ lw $t0, 4($s0) -.L800FF1F4: -/* B76394 800FF1F4 10000007 */ b .L800FF214 -/* B76398 800FF1F8 02489021 */ addu $s2, $s2, $t0 -.L800FF1FC: -/* B7639C 800FF1FC 0C035AFB */ jal FaultDrawer_SetFontColor -/* B763A0 800FF200 00008825 */ move $s1, $zero -/* B763A4 800FF204 3C048015 */ lui $a0, %hi(D_8014B114) # $a0, 0x8015 -/* B763A8 800FF208 2484B114 */ addiu $a0, %lo(D_8014B114) # addiu $a0, $a0, -0x4eec -/* B763AC 800FF20C 0C035C12 */ jal FaultDrawer_Printf -/* B763B0 800FF210 02002825 */ move $a1, $s0 -.L800FF214: -/* B763B4 800FF214 1620FFCA */ bnez $s1, .L800FF140 -/* B763B8 800FF218 02208025 */ move $s0, $s1 -.L800FF21C: -/* B763BC 800FF21C 0C035AFB */ jal FaultDrawer_SetFontColor -/* B763C0 800FF220 240407F1 */ li $a0, 2033 -/* B763C4 800FF224 3C048015 */ lui $a0, %hi(D_8014B128) # $a0, 0x8015 -/* B763C8 800FF228 2484B128 */ addiu $a0, %lo(D_8014B128) # addiu $a0, $a0, -0x4ed8 -/* B763CC 800FF22C 0C035C12 */ jal FaultDrawer_Printf -/* B763D0 800FF230 02402825 */ move $a1, $s2 -/* B763D4 800FF234 3C048015 */ lui $a0, %hi(D_8014B148) # $a0, 0x8015 -/* B763D8 800FF238 2484B148 */ addiu $a0, %lo(D_8014B148) # addiu $a0, $a0, -0x4eb8 -/* B763DC 800FF23C 0C035C12 */ jal FaultDrawer_Printf -/* B763E0 800FF240 02802825 */ move $a1, $s4 -/* B763E4 800FF244 3C048015 */ lui $a0, %hi(D_8014B168) # $a0, 0x8015 -/* B763E8 800FF248 2484B168 */ addiu $a0, %lo(D_8014B168) # addiu $a0, $a0, -0x4e98 -/* B763EC 800FF24C 0C035C12 */ jal FaultDrawer_Printf -/* B763F0 800FF250 02602825 */ move $a1, $s3 -/* B763F4 800FF254 8FBF003C */ lw $ra, 0x3c($sp) -.L800FF258: -/* B763F8 800FF258 8FB0001C */ lw $s0, 0x1c($sp) -/* B763FC 800FF25C 8FB10020 */ lw $s1, 0x20($sp) -/* B76400 800FF260 8FB20024 */ lw $s2, 0x24($sp) -/* B76404 800FF264 8FB30028 */ lw $s3, 0x28($sp) -/* B76408 800FF268 8FB4002C */ lw $s4, 0x2c($sp) -/* B7640C 800FF26C 8FB50030 */ lw $s5, 0x30($sp) -/* B76410 800FF270 8FB60034 */ lw $s6, 0x34($sp) -/* B76414 800FF274 8FB70038 */ lw $s7, 0x38($sp) -/* B76418 800FF278 03E00008 */ jr $ra -/* B7641C 800FF27C 27BD0040 */ addiu $sp, $sp, 0x40 \ No newline at end of file diff --git a/asm/non_matchings/code/__osMalloc/__osDisplayArena.s b/asm/non_matchings/code/__osMalloc/__osDisplayArena.s deleted file mode 100644 index 6ca7ee11df..0000000000 --- a/asm/non_matchings/code/__osMalloc/__osDisplayArena.s +++ /dev/null @@ -1,208 +0,0 @@ -.rdata -glabel D_8014AF48 - .asciz "アリーナは初期化されていません\n" #Arena is not initalized - .balign 4 - -glabel D_8014AF68 - .asciz "アリーナの内容 (0x%08x)\n" #Arena contents - .balign 4 - -glabel D_8014AF84 - .asciz "メモリブロック範囲 status サイズ [時刻 s ms us ns: TID:src:行]\n" #Memory block range status size [time s ms us ns: TID: src: line] - .balign 4 - -glabel D_8014AFC8 - .asciz "%08x-%08x%c %s %08x" - .balign 4 - -glabel D_8014AFDC - .asciz "空き" #Free - .balign 4 - -glabel D_8014AFE4 - .asciz "確保" #Secure - .balign 4 - -glabel D_8014AFEC - .asciz " [%016llu:%2d:%s:%d]" - .balign 4 - -glabel D_8014B004 - .asciz "**NULL**" - .balign 4 - -glabel D_8014B010 - .asciz "\n" - .balign 4 - -glabel D_8014B014 - .asciz "%08x Block Invalid\n" - .balign 4 - -glabel D_8014B028 - .asciz "確保ブロックサイズの合計 0x%08x バイト\n" #Total reserved block size 0x% 08x bytes - .balign 4 - -glabel D_8014B050 - .asciz "空きブロックサイズの合計 0x%08x バイト\n" #Total free block size 0x% 08x bytes - .balign 4 - -glabel D_8014B078 - .asciz "最大空きブロックサイズ 0x%08x バイト\n" #Maximum free block size 0x% 08x bytes - .balign 4 - -.text -glabel __osDisplayArena -/* B76020 800FEE80 27BDFF98 */ addiu $sp, $sp, -0x68 -/* B76024 800FEE84 AFBF003C */ sw $ra, 0x3c($sp) -/* B76028 800FEE88 AFB40038 */ sw $s4, 0x38($sp) -/* B7602C 800FEE8C AFB30034 */ sw $s3, 0x34($sp) -/* B76030 800FEE90 AFB20030 */ sw $s2, 0x30($sp) -/* B76034 800FEE94 AFB1002C */ sw $s1, 0x2c($sp) -/* B76038 800FEE98 AFB00028 */ sw $s0, 0x28($sp) -/* B7603C 800FEE9C 0C03F7D3 */ jal __osMallocIsInitalized -/* B76040 800FEEA0 AFA40068 */ sw $a0, 0x68($sp) -/* B76044 800FEEA4 14400005 */ bnez $v0, .L800FEEBC -/* B76048 800FEEA8 3C048015 */ lui $a0, %hi(D_8014AF48) # $a0, 0x8015 -/* B7604C 800FEEAC 0C00084C */ jal osSyncPrintf -/* B76050 800FEEB0 2484AF48 */ addiu $a0, %lo(D_8014AF48) # addiu $a0, $a0, -0x50b8 -/* B76054 800FEEB4 10000076 */ b .L800FF090 -/* B76058 800FEEB8 8FBF003C */ lw $ra, 0x3c($sp) -.L800FEEBC: -/* B7605C 800FEEBC 0C03F70F */ jal ArenaImpl_Lock -/* B76060 800FEEC0 8FA40068 */ lw $a0, 0x68($sp) -/* B76064 800FEEC4 3C048015 */ lui $a0, %hi(D_8014AF68) # $a0, 0x8015 -/* B76068 800FEEC8 0000A025 */ move $s4, $zero -/* B7606C 800FEECC 00009025 */ move $s2, $zero -/* B76070 800FEED0 00009825 */ move $s3, $zero -/* B76074 800FEED4 2484AF68 */ addiu $a0, %lo(D_8014AF68) # addiu $a0, $a0, -0x5098 -/* B76078 800FEED8 0C00084C */ jal osSyncPrintf -/* B7607C 800FEEDC 8FA50068 */ lw $a1, 0x68($sp) -/* B76080 800FEEE0 3C048015 */ lui $a0, %hi(D_8014AF84) # $a0, 0x8015 -/* B76084 800FEEE4 0C00084C */ jal osSyncPrintf -/* B76088 800FEEE8 2484AF84 */ addiu $a0, %lo(D_8014AF84) # addiu $a0, $a0, -0x507c -/* B7608C 800FEEEC 8FAE0068 */ lw $t6, 0x68($sp) -/* B76090 800FEEF0 8DD00000 */ lw $s0, ($t6) -/* B76094 800FEEF4 12000057 */ beqz $s0, .L800FF054 -/* B76098 800FEEF8 00000000 */ nop -.L800FEEFC: -/* B7609C 800FEEFC 1200004F */ beqz $s0, .L800FF03C -/* B760A0 800FEF00 3C048015 */ lui $a0, %hi(D_8014B014) -/* B760A4 800FEF04 860F0000 */ lh $t7, ($s0) -/* B760A8 800FEF08 24017373 */ li $at, 29555 -/* B760AC 800FEF0C 02002825 */ move $a1, $s0 -/* B760B0 800FEF10 15E1004A */ bne $t7, $at, .L800FF03C -/* B760B4 800FEF14 00000000 */ nop -/* B760B8 800FEF18 8E110008 */ lw $s1, 8($s0) -/* B760BC 800FEF1C 3C038015 */ lui $v1, %hi(D_8014AFE4) # $v1, 0x8015 -/* B760C0 800FEF20 2463AFE4 */ addiu $v1, %lo(D_8014AFE4) # addiu $v1, $v1, -0x501c -/* B760C4 800FEF24 16200003 */ bnez $s1, .L800FEF34 -/* B760C8 800FEF28 3C048015 */ lui $a0, %hi(D_8014AFC8) # $a0, 0x8015 -/* B760CC 800FEF2C 10000008 */ b .L800FEF50 -/* B760D0 800FEF30 24070024 */ li $a3, 36 -.L800FEF34: -/* B760D4 800FEF34 8E38000C */ lw $t8, 0xc($s1) -/* B760D8 800FEF38 24020020 */ li $v0, 32 -/* B760DC 800FEF3C 12180003 */ beq $s0, $t8, .L800FEF4C -/* B760E0 800FEF40 00000000 */ nop -/* B760E4 800FEF44 10000001 */ b .L800FEF4C -/* B760E8 800FEF48 24020021 */ li $v0, 33 -.L800FEF4C: -/* B760EC 800FEF4C 00403825 */ move $a3, $v0 -.L800FEF50: -/* B760F0 800FEF50 86190002 */ lh $t9, 2($s0) -/* B760F4 800FEF54 13200004 */ beqz $t9, .L800FEF68 -/* B760F8 800FEF58 00000000 */ nop -/* B760FC 800FEF5C 3C038015 */ lui $v1, %hi(D_8014AFDC) # $v1, 0x8015 -/* B76100 800FEF60 10000001 */ b .L800FEF68 -/* B76104 800FEF64 2463AFDC */ addiu $v1, %lo(D_8014AFDC) # addiu $v1, $v1, -0x5024 -.L800FEF68: -/* B76108 800FEF68 8E020004 */ lw $v0, 4($s0) -/* B7610C 800FEF6C AFA30010 */ sw $v1, 0x10($sp) -/* B76110 800FEF70 2484AFC8 */ addiu $a0, %lo(D_8014AFC8) # addiu $a0, $a0, -0x5038 -/* B76114 800FEF74 02023021 */ addu $a2, $s0, $v0 -/* B76118 800FEF78 24C60030 */ addiu $a2, $a2, 0x30 -/* B7611C 800FEF7C 0C00084C */ jal osSyncPrintf -/* B76120 800FEF80 AFA20014 */ sw $v0, 0x14($sp) -/* B76124 800FEF84 86080002 */ lh $t0, 2($s0) -/* B76128 800FEF88 24060000 */ li $a2, 0 -/* B7612C 800FEF8C 24070040 */ li $a3, 64 -/* B76130 800FEF90 1500001B */ bnez $t0, .L800FF000 -/* B76134 800FEF94 00000000 */ nop -/* B76138 800FEF98 8E040020 */ lw $a0, 0x20($s0) -/* B7613C 800FEF9C 0C000E1E */ jal __ll_mul -/* B76140 800FEFA0 8E050024 */ lw $a1, 0x24($s0) -/* B76144 800FEFA4 00402025 */ move $a0, $v0 -/* B76148 800FEFA8 00602825 */ move $a1, $v1 -/* B7614C 800FEFAC 24060000 */ li $a2, 0 -/* B76150 800FEFB0 0C000DDE */ jal __ull_div -/* B76154 800FEFB4 24070003 */ li $a3, 3 -/* B76158 800FEFB8 AFA20040 */ sw $v0, 0x40($sp) -/* B7615C 800FEFBC AFA30044 */ sw $v1, 0x44($sp) -/* B76160 800FEFC0 8E040010 */ lw $a0, 0x10($s0) -/* B76164 800FEFC4 8FA70044 */ lw $a3, 0x44($sp) -/* B76168 800FEFC8 3C038015 */ lui $v1, %hi(D_8014B004) # $v1, 0x8015 -/* B7616C 800FEFCC 10800003 */ beqz $a0, .L800FEFDC -/* B76170 800FEFD0 8FA60040 */ lw $a2, 0x40($sp) -/* B76174 800FEFD4 10000002 */ b .L800FEFE0 -/* B76178 800FEFD8 00801825 */ move $v1, $a0 -.L800FEFDC: -/* B7617C 800FEFDC 2463B004 */ addiu $v1, %lo(D_8014B004) # addiu $v1, $v1, -0x4ffc -.L800FEFE0: -/* B76180 800FEFE0 8E090018 */ lw $t1, 0x18($s0) -/* B76184 800FEFE4 AFA30014 */ sw $v1, 0x14($sp) -/* B76188 800FEFE8 3C048015 */ lui $a0, %hi(D_8014AFEC) # $a0, 0x8015 -/* B7618C 800FEFEC AFA90010 */ sw $t1, 0x10($sp) -/* B76190 800FEFF0 8E0A0014 */ lw $t2, 0x14($s0) -/* B76194 800FEFF4 2484AFEC */ addiu $a0, %lo(D_8014AFEC) # addiu $a0, $a0, -0x5014 -/* B76198 800FEFF8 0C00084C */ jal osSyncPrintf -/* B7619C 800FEFFC AFAA0018 */ sw $t2, 0x18($sp) -.L800FF000: -/* B761A0 800FF000 3C048015 */ lui $a0, %hi(D_8014B010) # $a0, 0x8015 -/* B761A4 800FF004 0C00084C */ jal osSyncPrintf -/* B761A8 800FF008 2484B010 */ addiu $a0, %lo(D_8014B010) # addiu $a0, $a0, -0x4ff0 -/* B761AC 800FF00C 860B0002 */ lh $t3, 2($s0) -/* B761B0 800FF010 51600008 */ beql $t3, $zero, .L800FF034 -/* B761B4 800FF014 8E0C0004 */ lw $t4, 4($s0) -/* B761B8 800FF018 8E020004 */ lw $v0, 4($s0) -/* B761BC 800FF01C 0282082B */ sltu $at, $s4, $v0 -/* B761C0 800FF020 1020000A */ beqz $at, .L800FF04C -/* B761C4 800FF024 02429021 */ addu $s2, $s2, $v0 -/* B761C8 800FF028 10000008 */ b .L800FF04C -/* B761CC 800FF02C 0040A025 */ move $s4, $v0 -/* B761D0 800FF030 8E0C0004 */ lw $t4, 4($s0) -.L800FF034: -/* B761D4 800FF034 10000005 */ b .L800FF04C -/* B761D8 800FF038 026C9821 */ addu $s3, $s3, $t4 -.L800FF03C: -/* B761DC 800FF03C 2484B014 */ addiu $a0, %lo(D_8014B014) -/* B761E0 800FF040 02002825 */ move $a1, $s0 -/* B761E4 800FF044 0C00084C */ jal osSyncPrintf -/* B761E8 800FF048 00008825 */ move $s1, $zero -.L800FF04C: -/* B761EC 800FF04C 1620FFAB */ bnez $s1, .L800FEEFC -/* B761F0 800FF050 02208025 */ move $s0, $s1 -.L800FF054: -/* B761F4 800FF054 3C048015 */ lui $a0, %hi(D_8014B028) # $a0, 0x8015 -/* B761F8 800FF058 2484B028 */ addiu $a0, %lo(D_8014B028) # addiu $a0, $a0, -0x4fd8 -/* B761FC 800FF05C 0C00084C */ jal osSyncPrintf -/* B76200 800FF060 02602825 */ move $a1, $s3 -/* B76204 800FF064 3C048015 */ lui $a0, %hi(D_8014B050) # $a0, 0x8015 -/* B76208 800FF068 2484B050 */ addiu $a0, %lo(D_8014B050) # addiu $a0, $a0, -0x4fb0 -/* B7620C 800FF06C 0C00084C */ jal osSyncPrintf -/* B76210 800FF070 02402825 */ move $a1, $s2 -/* B76214 800FF074 3C048015 */ lui $a0, %hi(D_8014B078) # $a0, 0x8015 -/* B76218 800FF078 2484B078 */ addiu $a0, %lo(D_8014B078) # addiu $a0, $a0, -0x4f88 -/* B7621C 800FF07C 0C00084C */ jal osSyncPrintf -/* B76220 800FF080 02802825 */ move $a1, $s4 -/* B76224 800FF084 0C03F719 */ jal ArenaImpl_Unlock -/* B76228 800FF088 8FA40068 */ lw $a0, 0x68($sp) -/* B7622C 800FF08C 8FBF003C */ lw $ra, 0x3c($sp) -.L800FF090: -/* B76230 800FF090 8FB00028 */ lw $s0, 0x28($sp) -/* B76234 800FF094 8FB1002C */ lw $s1, 0x2c($sp) -/* B76238 800FF098 8FB20030 */ lw $s2, 0x30($sp) -/* B7623C 800FF09C 8FB30034 */ lw $s3, 0x34($sp) -/* B76240 800FF0A0 8FB40038 */ lw $s4, 0x38($sp) -/* B76244 800FF0A4 03E00008 */ jr $ra -/* B76248 800FF0A8 27BD0068 */ addiu $sp, $sp, 0x68 \ No newline at end of file diff --git a/asm/non_matchings/code/__osMalloc/__osFree_NoLock.s b/asm/non_matchings/code/__osMalloc/__osFree_NoLock.s deleted file mode 100644 index df7dbaa5f8..0000000000 --- a/asm/non_matchings/code/__osMalloc/__osFree_NoLock.s +++ /dev/null @@ -1,155 +0,0 @@ -.rdata -glabel D_8014ACBC - .asciz "\x1b[41;37m__osFree:不正解放(%08x)\n\x1b[m" #Unauthorized release - .balign 4 - -glabel D_8014ACE0 - .asciz "\x1b[41;37m__osFree:二重解放(%08x)\n\x1b[m" #Double release - .balign 4 - -glabel D_8014AD04 - .asciz "\x1b[41;37m__osFree:確保時と違う方法で解放しようとした (%08x:%08x)\n\x1b[m" #Tried to release in a different way than when it was secured - .balign 4 - - -.text -glabel __osFree_NoLock -/* B75784 800FE5E4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* B75788 800FE5E8 AFBF001C */ sw $ra, 0x1c($sp) -/* B7578C 800FE5EC AFB10018 */ sw $s1, 0x18($sp) -/* B75790 800FE5F0 AFB00014 */ sw $s0, 0x14($sp) -/* B75794 800FE5F4 10A00076 */ beqz $a1, .L800FE7D0 -/* B75798 800FE5F8 00803825 */ move $a3, $a0 -/* B7579C 800FE5FC 24B0FFD0 */ addiu $s0, $a1, -0x30 -/* B757A0 800FE600 12000005 */ beqz $s0, .L800FE618 -/* B757A4 800FE604 3C048015 */ lui $a0, %hi(D_8014ACBC) # $a0, 0x8015 -/* B757A8 800FE608 860E0000 */ lh $t6, ($s0) -/* B757AC 800FE60C 24017373 */ li $at, 29555 -/* B757B0 800FE610 51C10006 */ beql $t6, $at, .L800FE62C -/* B757B4 800FE614 860F0002 */ lh $t7, 2($s0) -.L800FE618: -/* B757B8 800FE618 0C00084C */ jal osSyncPrintf -/* B757BC 800FE61C 2484ACBC */ addiu $a0, %lo(D_8014ACBC) # addiu $a0, $a0, -0x5344 -/* B757C0 800FE620 1000006C */ b .L800FE7D4 -/* B757C4 800FE624 8FBF001C */ lw $ra, 0x1c($sp) -/* B757C8 800FE628 860F0002 */ lh $t7, 2($s0) -.L800FE62C: -/* B757CC 800FE62C 3C048015 */ lui $a0, %hi(D_8014ACE0) # $a0, 0x8015 -/* B757D0 800FE630 51E00006 */ beql $t7, $zero, .L800FE64C -/* B757D4 800FE634 8E06001C */ lw $a2, 0x1c($s0) -/* B757D8 800FE638 0C00084C */ jal osSyncPrintf -/* B757DC 800FE63C 2484ACE0 */ addiu $a0, %lo(D_8014ACE0) # addiu $a0, $a0, -0x5320 -/* B757E0 800FE640 10000064 */ b .L800FE7D4 -/* B757E4 800FE644 8FBF001C */ lw $ra, 0x1c($sp) -/* B757E8 800FE648 8E06001C */ lw $a2, 0x1c($s0) -.L800FE64C: -/* B757EC 800FE64C 02002025 */ move $a0, $s0 -/* B757F0 800FE650 10E60008 */ beq $a3, $a2, .L800FE674 -/* B757F4 800FE654 00000000 */ nop -/* B757F8 800FE658 10E00006 */ beqz $a3, .L800FE674 -/* B757FC 800FE65C 00E02825 */ move $a1, $a3 -/* B75800 800FE660 3C048015 */ lui $a0, %hi(D_8014AD04) # $a0, 0x8015 -/* B75804 800FE664 0C00084C */ jal osSyncPrintf -/* B75808 800FE668 2484AD04 */ addiu $a0, %lo(D_8014AD04) # addiu $a0, $a0, -0x52fc -/* B7580C 800FE66C 10000059 */ b .L800FE7D4 -/* B75810 800FE670 8FBF001C */ lw $ra, 0x1c($sp) -.L800FE674: -/* B75814 800FE674 0C03F723 */ jal ArenaImpl_GetNextBlock -/* B75818 800FE678 AFA70030 */ sw $a3, 0x30($sp) -/* B7581C 800FE67C 00408825 */ move $s1, $v0 -/* B75820 800FE680 0C03F739 */ jal ArenaImpl_GetPrevBlock -/* B75824 800FE684 02002025 */ move $a0, $s0 -/* B75828 800FE688 24180001 */ li $t8, 1 -/* B7582C 800FE68C A6180002 */ sh $t8, 2($s0) -/* B75830 800FE690 AFA20024 */ sw $v0, 0x24($sp) -/* B75834 800FE694 8FA70030 */ lw $a3, 0x30($sp) -/* B75838 800FE698 02002025 */ move $a0, $s0 -/* B7583C 800FE69C 00002825 */ move $a1, $zero -/* B75840 800FE6A0 0C03F6F0 */ jal ArenaImpl_SetDebugInfo -/* B75844 800FE6A4 00003025 */ move $a2, $zero -/* B75848 800FE6A8 8FB90030 */ lw $t9, 0x30($sp) -/* B7584C 800FE6AC 8FA30024 */ lw $v1, 0x24($sp) -/* B75850 800FE6B0 26040030 */ addiu $a0, $s0, 0x30 -/* B75854 800FE6B4 93280022 */ lbu $t0, 0x22($t9) -/* B75858 800FE6B8 240500EF */ li $a1, 239 -/* B7585C 800FE6BC 31090002 */ andi $t1, $t0, 2 -/* B75860 800FE6C0 51200006 */ beql $t1, $zero, .L800FE6DC -/* B75864 800FE6C4 8E0A0004 */ lw $t2, 4($s0) -/* B75868 800FE6C8 8E060004 */ lw $a2, 4($s0) -/* B7586C 800FE6CC 0C041A18 */ jal func_80106860 -/* B75870 800FE6D0 AFA30024 */ sw $v1, 0x24($sp) -/* B75874 800FE6D4 8FA30024 */ lw $v1, 0x24($sp) -/* B75878 800FE6D8 8E0A0004 */ lw $t2, 4($s0) -.L800FE6DC: -/* B7587C 800FE6DC 020A5821 */ addu $t3, $s0, $t2 -/* B75880 800FE6E0 256C0030 */ addiu $t4, $t3, 0x30 -/* B75884 800FE6E4 162C001F */ bne $s1, $t4, .L800FE764 -/* B75888 800FE6E8 00000000 */ nop -/* B7588C 800FE6EC 862D0002 */ lh $t5, 2($s1) -/* B75890 800FE6F0 02202025 */ move $a0, $s1 -/* B75894 800FE6F4 11A0001B */ beqz $t5, .L800FE764 -/* B75898 800FE6F8 00000000 */ nop -/* B7589C 800FE6FC 0C03F723 */ jal ArenaImpl_GetNextBlock -/* B758A0 800FE700 AFA30024 */ sw $v1, 0x24($sp) -/* B758A4 800FE704 8FA30024 */ lw $v1, 0x24($sp) -/* B758A8 800FE708 10400002 */ beqz $v0, .L800FE714 -/* B758AC 800FE70C 00403825 */ move $a3, $v0 -/* B758B0 800FE710 AC50000C */ sw $s0, 0xc($v0) -.L800FE714: -/* B758B4 800FE714 8E0E0004 */ lw $t6, 4($s0) -/* B758B8 800FE718 8E2F0004 */ lw $t7, 4($s1) -/* B758BC 800FE71C 02202025 */ move $a0, $s1 -/* B758C0 800FE720 240500EF */ li $a1, 239 -/* B758C4 800FE724 01CFC021 */ addu $t8, $t6, $t7 -/* B758C8 800FE728 27190030 */ addiu $t9, $t8, 0x30 -/* B758CC 800FE72C AE190004 */ sw $t9, 4($s0) -/* B758D0 800FE730 8FA80030 */ lw $t0, 0x30($sp) -/* B758D4 800FE734 24060030 */ li $a2, 48 -/* B758D8 800FE738 91090022 */ lbu $t1, 0x22($t0) -/* B758DC 800FE73C 312A0002 */ andi $t2, $t1, 2 -/* B758E0 800FE740 51400007 */ beql $t2, $zero, .L800FE760 -/* B758E4 800FE744 AE070008 */ sw $a3, 8($s0) -/* B758E8 800FE748 AFA30024 */ sw $v1, 0x24($sp) -/* B758EC 800FE74C 0C041A18 */ jal func_80106860 -/* B758F0 800FE750 AFA70020 */ sw $a3, 0x20($sp) -/* B758F4 800FE754 8FA30024 */ lw $v1, 0x24($sp) -/* B758F8 800FE758 8FA70020 */ lw $a3, 0x20($sp) -/* B758FC 800FE75C AE070008 */ sw $a3, 8($s0) -.L800FE760: -/* B75900 800FE760 00E08825 */ move $s1, $a3 -.L800FE764: -/* B75904 800FE764 5060001B */ beql $v1, $zero, .L800FE7D4 -/* B75908 800FE768 8FBF001C */ lw $ra, 0x1c($sp) -/* B7590C 800FE76C 846B0002 */ lh $t3, 2($v1) -/* B75910 800FE770 51600018 */ beql $t3, $zero, .L800FE7D4 -/* B75914 800FE774 8FBF001C */ lw $ra, 0x1c($sp) -/* B75918 800FE778 8C620004 */ lw $v0, 4($v1) -/* B7591C 800FE77C 00626021 */ addu $t4, $v1, $v0 -/* B75920 800FE780 258D0030 */ addiu $t5, $t4, 0x30 -/* B75924 800FE784 560D0013 */ bnel $s0, $t5, .L800FE7D4 -/* B75928 800FE788 8FBF001C */ lw $ra, 0x1c($sp) -/* B7592C 800FE78C 12200003 */ beqz $s1, .L800FE79C -/* B75930 800FE790 02002025 */ move $a0, $s0 -/* B75934 800FE794 AE23000C */ sw $v1, 0xc($s1) -/* B75938 800FE798 8C620004 */ lw $v0, 4($v1) -.L800FE79C: -/* B7593C 800FE79C AC710008 */ sw $s1, 8($v1) -/* B75940 800FE7A0 8E0E0004 */ lw $t6, 4($s0) -/* B75944 800FE7A4 240500EF */ li $a1, 239 -/* B75948 800FE7A8 004E7821 */ addu $t7, $v0, $t6 -/* B7594C 800FE7AC 25F80030 */ addiu $t8, $t7, 0x30 -/* B75950 800FE7B0 AC780004 */ sw $t8, 4($v1) -/* B75954 800FE7B4 8FB90030 */ lw $t9, 0x30($sp) -/* B75958 800FE7B8 93280022 */ lbu $t0, 0x22($t9) -/* B7595C 800FE7BC 31090002 */ andi $t1, $t0, 2 -/* B75960 800FE7C0 51200004 */ beql $t1, $zero, .L800FE7D4 -/* B75964 800FE7C4 8FBF001C */ lw $ra, 0x1c($sp) -/* B75968 800FE7C8 0C041A18 */ jal func_80106860 -/* B7596C 800FE7CC 24060030 */ li $a2, 48 -.L800FE7D0: -/* B75970 800FE7D0 8FBF001C */ lw $ra, 0x1c($sp) -.L800FE7D4: -/* B75974 800FE7D4 8FB00014 */ lw $s0, 0x14($sp) -/* B75978 800FE7D8 8FB10018 */ lw $s1, 0x18($sp) -/* B7597C 800FE7DC 03E00008 */ jr $ra -/* B75980 800FE7E0 27BD0030 */ addiu $sp, $sp, 0x30 \ No newline at end of file diff --git a/asm/non_matchings/code/__osMalloc/__osFree_NoLockDebug.s b/asm/non_matchings/code/__osMalloc/__osFree_NoLockDebug.s deleted file mode 100644 index 8e10de1af9..0000000000 --- a/asm/non_matchings/code/__osMalloc/__osFree_NoLockDebug.s +++ /dev/null @@ -1,159 +0,0 @@ -.rdata -glabel D_8014AD48 - .asciz "\x1b[41;37m__osFree:不正解放(%08x) [%s:%d ]\n\x1b[m" #Unauthorized release - .balign 4 - -glabel D_8014AD78 - .asciz "\x1b[41;37m__osFree:二重解放(%08x) [%s:%d ]\n\x1b[m" #Double release - .balign 4 - -glabel D_8014ADA8 - .asciz "\x1b[41;37m__osFree:確保時と違う方法で解放しようとした (%08x:%08x)\n\x1b[m" #Tried to release in a different way than when it was secured - .balign 4 - - -.text -glabel __osFree_NoLockDebug -/* B759BC 800FE81C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* B759C0 800FE820 AFB10018 */ sw $s1, 0x18($sp) -/* B759C4 800FE824 00808825 */ move $s1, $a0 -/* B759C8 800FE828 AFBF001C */ sw $ra, 0x1c($sp) -/* B759CC 800FE82C AFB00014 */ sw $s0, 0x14($sp) -/* B759D0 800FE830 10A00078 */ beqz $a1, .L800FEA14 -/* B759D4 800FE834 AFA60038 */ sw $a2, 0x38($sp) -/* B759D8 800FE838 24B0FFD0 */ addiu $s0, $a1, -0x30 -/* B759DC 800FE83C 12000004 */ beqz $s0, .L800FE850 -/* B759E0 800FE840 3C048015 */ lui $a0, %hi(D_8014AD48) # $a0, 0x8015 -/* B759E4 800FE844 860E0000 */ lh $t6, ($s0) -/* B759E8 800FE848 24017373 */ li $at, 29555 -/* B759EC 800FE84C 11C10005 */ beq $t6, $at, .L800FE864 -.L800FE850: -/* B759F0 800FE850 2484AD48 */ addiu $a0, %lo(D_8014AD48) # addiu $a0, $a0, -0x52b8 -/* B759F4 800FE854 0C00084C */ jal osSyncPrintf -/* B759F8 800FE858 8FA60038 */ lw $a2, 0x38($sp) -/* B759FC 800FE85C 1000006E */ b .L800FEA18 -/* B75A00 800FE860 8FBF001C */ lw $ra, 0x1c($sp) -.L800FE864: -/* B75A04 800FE864 860F0002 */ lh $t7, 2($s0) -/* B75A08 800FE868 3C048015 */ lui $a0, %hi(D_8014AD78) # $a0, 0x8015 -/* B75A0C 800FE86C 2484AD78 */ addiu $a0, %lo(D_8014AD78) # addiu $a0, $a0, -0x5288 -/* B75A10 800FE870 51E00006 */ beql $t7, $zero, .L800FE88C -/* B75A14 800FE874 8E06001C */ lw $a2, 0x1c($s0) -/* B75A18 800FE878 0C00084C */ jal osSyncPrintf -/* B75A1C 800FE87C 8FA60038 */ lw $a2, 0x38($sp) -/* B75A20 800FE880 10000065 */ b .L800FEA18 -/* B75A24 800FE884 8FBF001C */ lw $ra, 0x1c($sp) -/* B75A28 800FE888 8E06001C */ lw $a2, 0x1c($s0) -.L800FE88C: -/* B75A2C 800FE88C 02002025 */ move $a0, $s0 -/* B75A30 800FE890 52260009 */ beql $s1, $a2, .L800FE8B8 -/* B75A34 800FE894 AFA7003C */ sw $a3, 0x3c($sp) -/* B75A38 800FE898 12200006 */ beqz $s1, .L800FE8B4 -/* B75A3C 800FE89C 02202825 */ move $a1, $s1 -/* B75A40 800FE8A0 3C048015 */ lui $a0, %hi(D_8014ADA8) # $a0, 0x8015 -/* B75A44 800FE8A4 0C00084C */ jal osSyncPrintf -/* B75A48 800FE8A8 2484ADA8 */ addiu $a0, %lo(D_8014ADA8) # addiu $a0, $a0, -0x5258 -/* B75A4C 800FE8AC 1000005A */ b .L800FEA18 -/* B75A50 800FE8B0 8FBF001C */ lw $ra, 0x1c($sp) -.L800FE8B4: -/* B75A54 800FE8B4 AFA7003C */ sw $a3, 0x3c($sp) -.L800FE8B8: -/* B75A58 800FE8B8 0C03F723 */ jal ArenaImpl_GetNextBlock -/* B75A5C 800FE8BC AFB10030 */ sw $s1, 0x30($sp) -/* B75A60 800FE8C0 00408825 */ move $s1, $v0 -/* B75A64 800FE8C4 0C03F739 */ jal ArenaImpl_GetPrevBlock -/* B75A68 800FE8C8 02002025 */ move $a0, $s0 -/* B75A6C 800FE8CC 24180001 */ li $t8, 1 -/* B75A70 800FE8D0 A6180002 */ sh $t8, 2($s0) -/* B75A74 800FE8D4 AFA20024 */ sw $v0, 0x24($sp) -/* B75A78 800FE8D8 8FA70030 */ lw $a3, 0x30($sp) -/* B75A7C 800FE8DC 8FA6003C */ lw $a2, 0x3c($sp) -/* B75A80 800FE8E0 8FA50038 */ lw $a1, 0x38($sp) -/* B75A84 800FE8E4 0C03F6F0 */ jal ArenaImpl_SetDebugInfo -/* B75A88 800FE8E8 02002025 */ move $a0, $s0 -/* B75A8C 800FE8EC 8FB90030 */ lw $t9, 0x30($sp) -/* B75A90 800FE8F0 8FA30024 */ lw $v1, 0x24($sp) -/* B75A94 800FE8F4 26040030 */ addiu $a0, $s0, 0x30 -/* B75A98 800FE8F8 93280022 */ lbu $t0, 0x22($t9) -/* B75A9C 800FE8FC 240500EF */ li $a1, 239 -/* B75AA0 800FE900 31090002 */ andi $t1, $t0, 2 -/* B75AA4 800FE904 51200006 */ beql $t1, $zero, .L800FE920 -/* B75AA8 800FE908 8E0A0004 */ lw $t2, 4($s0) -/* B75AAC 800FE90C 8E060004 */ lw $a2, 4($s0) -/* B75AB0 800FE910 0C041A18 */ jal func_80106860 -/* B75AB4 800FE914 AFA30024 */ sw $v1, 0x24($sp) -/* B75AB8 800FE918 8FA30024 */ lw $v1, 0x24($sp) -/* B75ABC 800FE91C 8E0A0004 */ lw $t2, 4($s0) -.L800FE920: -/* B75AC0 800FE920 020A5821 */ addu $t3, $s0, $t2 -/* B75AC4 800FE924 256C0030 */ addiu $t4, $t3, 0x30 -/* B75AC8 800FE928 162C001F */ bne $s1, $t4, .L800FE9A8 -/* B75ACC 800FE92C 00000000 */ nop -/* B75AD0 800FE930 862D0002 */ lh $t5, 2($s1) -/* B75AD4 800FE934 02202025 */ move $a0, $s1 -/* B75AD8 800FE938 11A0001B */ beqz $t5, .L800FE9A8 -/* B75ADC 800FE93C 00000000 */ nop -/* B75AE0 800FE940 0C03F723 */ jal ArenaImpl_GetNextBlock -/* B75AE4 800FE944 AFA30024 */ sw $v1, 0x24($sp) -/* B75AE8 800FE948 8FA30024 */ lw $v1, 0x24($sp) -/* B75AEC 800FE94C 10400002 */ beqz $v0, .L800FE958 -/* B75AF0 800FE950 00403825 */ move $a3, $v0 -/* B75AF4 800FE954 AC50000C */ sw $s0, 0xc($v0) -.L800FE958: -/* B75AF8 800FE958 8E0E0004 */ lw $t6, 4($s0) -/* B75AFC 800FE95C 8E2F0004 */ lw $t7, 4($s1) -/* B75B00 800FE960 02202025 */ move $a0, $s1 -/* B75B04 800FE964 240500EF */ li $a1, 239 -/* B75B08 800FE968 01CFC021 */ addu $t8, $t6, $t7 -/* B75B0C 800FE96C 27190030 */ addiu $t9, $t8, 0x30 -/* B75B10 800FE970 AE190004 */ sw $t9, 4($s0) -/* B75B14 800FE974 8FA80030 */ lw $t0, 0x30($sp) -/* B75B18 800FE978 24060030 */ li $a2, 48 -/* B75B1C 800FE97C 91090022 */ lbu $t1, 0x22($t0) -/* B75B20 800FE980 312A0002 */ andi $t2, $t1, 2 -/* B75B24 800FE984 51400007 */ beql $t2, $zero, .L800FE9A4 -/* B75B28 800FE988 AE070008 */ sw $a3, 8($s0) -/* B75B2C 800FE98C AFA30024 */ sw $v1, 0x24($sp) -/* B75B30 800FE990 0C041A18 */ jal func_80106860 -/* B75B34 800FE994 AFA70020 */ sw $a3, 0x20($sp) -/* B75B38 800FE998 8FA30024 */ lw $v1, 0x24($sp) -/* B75B3C 800FE99C 8FA70020 */ lw $a3, 0x20($sp) -/* B75B40 800FE9A0 AE070008 */ sw $a3, 8($s0) -.L800FE9A4: -/* B75B44 800FE9A4 00E08825 */ move $s1, $a3 -.L800FE9A8: -/* B75B48 800FE9A8 5060001B */ beql $v1, $zero, .L800FEA18 -/* B75B4C 800FE9AC 8FBF001C */ lw $ra, 0x1c($sp) -/* B75B50 800FE9B0 846B0002 */ lh $t3, 2($v1) -/* B75B54 800FE9B4 51600018 */ beql $t3, $zero, .L800FEA18 -/* B75B58 800FE9B8 8FBF001C */ lw $ra, 0x1c($sp) -/* B75B5C 800FE9BC 8C620004 */ lw $v0, 4($v1) -/* B75B60 800FE9C0 00626021 */ addu $t4, $v1, $v0 -/* B75B64 800FE9C4 258D0030 */ addiu $t5, $t4, 0x30 -/* B75B68 800FE9C8 560D0013 */ bnel $s0, $t5, .L800FEA18 -/* B75B6C 800FE9CC 8FBF001C */ lw $ra, 0x1c($sp) -/* B75B70 800FE9D0 12200003 */ beqz $s1, .L800FE9E0 -/* B75B74 800FE9D4 02002025 */ move $a0, $s0 -/* B75B78 800FE9D8 AE23000C */ sw $v1, 0xc($s1) -/* B75B7C 800FE9DC 8C620004 */ lw $v0, 4($v1) -.L800FE9E0: -/* B75B80 800FE9E0 AC710008 */ sw $s1, 8($v1) -/* B75B84 800FE9E4 8E0E0004 */ lw $t6, 4($s0) -/* B75B88 800FE9E8 240500EF */ li $a1, 239 -/* B75B8C 800FE9EC 004E7821 */ addu $t7, $v0, $t6 -/* B75B90 800FE9F0 25F80030 */ addiu $t8, $t7, 0x30 -/* B75B94 800FE9F4 AC780004 */ sw $t8, 4($v1) -/* B75B98 800FE9F8 8FB90030 */ lw $t9, 0x30($sp) -/* B75B9C 800FE9FC 93280022 */ lbu $t0, 0x22($t9) -/* B75BA0 800FEA00 31090002 */ andi $t1, $t0, 2 -/* B75BA4 800FEA04 51200004 */ beql $t1, $zero, .L800FEA18 -/* B75BA8 800FEA08 8FBF001C */ lw $ra, 0x1c($sp) -/* B75BAC 800FEA0C 0C041A18 */ jal func_80106860 -/* B75BB0 800FEA10 24060030 */ li $a2, 48 -.L800FEA14: -/* B75BB4 800FEA14 8FBF001C */ lw $ra, 0x1c($sp) -.L800FEA18: -/* B75BB8 800FEA18 8FB00014 */ lw $s0, 0x14($sp) -/* B75BBC 800FEA1C 8FB10018 */ lw $s1, 0x18($sp) -/* B75BC0 800FEA20 03E00008 */ jr $ra -/* B75BC4 800FEA24 27BD0030 */ addiu $sp, $sp, 0x30 \ No newline at end of file diff --git a/asm/non_matchings/code/__osMalloc/__osMallocR.s b/asm/non_matchings/code/__osMalloc/__osMallocR.s deleted file mode 100644 index 9ddc2aa251..0000000000 --- a/asm/non_matchings/code/__osMalloc/__osMallocR.s +++ /dev/null @@ -1,95 +0,0 @@ -glabel __osMallocR -/* B75624 800FE484 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* B75628 800FE488 AFB1001C */ sw $s1, 0x1c($sp) -/* B7562C 800FE48C AFBF0024 */ sw $ra, 0x24($sp) -/* B75630 800FE490 AFB20020 */ sw $s2, 0x20($sp) -/* B75634 800FE494 24B1000F */ addiu $s1, $a1, 0xf -/* B75638 800FE498 2401FFF0 */ li $at, -16 -/* B7563C 800FE49C 00809025 */ move $s2, $a0 -/* B75640 800FE4A0 AFB00018 */ sw $s0, 0x18($sp) -/* B75644 800FE4A4 AFA00034 */ sw $zero, 0x34($sp) -/* B75648 800FE4A8 0C03F70F */ jal ArenaImpl_Lock -/* B7564C 800FE4AC 02218824 */ and $s1, $s1, $at -/* B75650 800FE4B0 0C03F74F */ jal ArenaImpl_GetLastBlock -/* B75654 800FE4B4 02402025 */ move $a0, $s2 -/* B75658 800FE4B8 10400041 */ beqz $v0, .L800FE5C0 -/* B7565C 800FE4BC 00408025 */ move $s0, $v0 -.L800FE4C0: -/* B75660 800FE4C0 844E0002 */ lh $t6, 2($v0) -/* B75664 800FE4C4 11C0003A */ beqz $t6, .L800FE5B0 -/* B75668 800FE4C8 00000000 */ nop -/* B7566C 800FE4CC 8C4F0004 */ lw $t7, 4($v0) -/* B75670 800FE4D0 01F1082B */ sltu $at, $t7, $s1 -/* B75674 800FE4D4 14200036 */ bnez $at, .L800FE5B0 -/* B75678 800FE4D8 00000000 */ nop -/* B7567C 800FE4DC 92580022 */ lbu $t8, 0x22($s2) -/* B75680 800FE4E0 02402025 */ move $a0, $s2 -/* B75684 800FE4E4 33190004 */ andi $t9, $t8, 4 -/* B75688 800FE4E8 53200004 */ beql $t9, $zero, .L800FE4FC -/* B7568C 800FE4EC 8E020004 */ lw $v0, 4($s0) -/* B75690 800FE4F0 0C03F7D5 */ jal __osMalloc_FreeBlockTest -/* B75694 800FE4F4 02002825 */ move $a1, $s0 -/* B75698 800FE4F8 8E020004 */ lw $v0, 4($s0) -.L800FE4FC: -/* B7569C 800FE4FC 2623000F */ addiu $v1, $s1, 0xf -/* B756A0 800FE500 2401FFF0 */ li $at, -16 -/* B756A4 800FE504 00611824 */ and $v1, $v1, $at -/* B756A8 800FE508 24630030 */ addiu $v1, $v1, 0x30 -/* B756AC 800FE50C 0062082B */ sltu $at, $v1, $v0 -/* B756B0 800FE510 10200016 */ beqz $at, .L800FE56C -/* B756B4 800FE514 02024021 */ addu $t0, $s0, $v0 -/* B756B8 800FE518 01112823 */ subu $a1, $t0, $s1 -/* B756BC 800FE51C AFA50040 */ sw $a1, 0x40($sp) -/* B756C0 800FE520 02002025 */ move $a0, $s0 -/* B756C4 800FE524 0C03F723 */ jal ArenaImpl_GetNextBlock -/* B756C8 800FE528 AFA3002C */ sw $v1, 0x2c($sp) -/* B756CC 800FE52C 8FA40040 */ lw $a0, 0x40($sp) -/* B756D0 800FE530 8FA3002C */ lw $v1, 0x2c($sp) -/* B756D4 800FE534 24097373 */ li $t1, 29555 -/* B756D8 800FE538 AC820008 */ sw $v0, 8($a0) -/* B756DC 800FE53C AC90000C */ sw $s0, 0xc($a0) -/* B756E0 800FE540 AC910004 */ sw $s1, 4($a0) -/* B756E4 800FE544 A4890000 */ sh $t1, ($a0) -/* B756E8 800FE548 8E0A0004 */ lw $t2, 4($s0) -/* B756EC 800FE54C AE040008 */ sw $a0, 8($s0) -/* B756F0 800FE550 01435823 */ subu $t3, $t2, $v1 -/* B756F4 800FE554 0C03F723 */ jal ArenaImpl_GetNextBlock -/* B756F8 800FE558 AE0B0004 */ sw $t3, 4($s0) -/* B756FC 800FE55C 10400002 */ beqz $v0, .L800FE568 -/* B75700 800FE560 8FA50040 */ lw $a1, 0x40($sp) -/* B75704 800FE564 AC45000C */ sw $a1, 0xc($v0) -.L800FE568: -/* B75708 800FE568 00A08025 */ move $s0, $a1 -.L800FE56C: -/* B7570C 800FE56C A6000002 */ sh $zero, 2($s0) -/* B75710 800FE570 02002025 */ move $a0, $s0 -/* B75714 800FE574 00002825 */ move $a1, $zero -/* B75718 800FE578 00003025 */ move $a2, $zero -/* B7571C 800FE57C 0C03F6F0 */ jal ArenaImpl_SetDebugInfo -/* B75720 800FE580 02403825 */ move $a3, $s2 -/* B75724 800FE584 26040030 */ addiu $a0, $s0, 0x30 -/* B75728 800FE588 AFA40034 */ sw $a0, 0x34($sp) -/* B7572C 800FE58C 924C0022 */ lbu $t4, 0x22($s2) -/* B75730 800FE590 240500CD */ li $a1, 205 -/* B75734 800FE594 318D0001 */ andi $t5, $t4, 1 -/* B75738 800FE598 11A00009 */ beqz $t5, .L800FE5C0 -/* B7573C 800FE59C 00000000 */ nop -/* B75740 800FE5A0 0C041A18 */ jal func_80106860 -/* B75744 800FE5A4 02203025 */ move $a2, $s1 -/* B75748 800FE5A8 10000005 */ b .L800FE5C0 -/* B7574C 800FE5AC 00000000 */ nop -.L800FE5B0: -/* B75750 800FE5B0 0C03F739 */ jal ArenaImpl_GetPrevBlock -/* B75754 800FE5B4 02002025 */ move $a0, $s0 -/* B75758 800FE5B8 1440FFC1 */ bnez $v0, .L800FE4C0 -/* B7575C 800FE5BC 00408025 */ move $s0, $v0 -.L800FE5C0: -/* B75760 800FE5C0 0C03F719 */ jal ArenaImpl_Unlock -/* B75764 800FE5C4 02402025 */ move $a0, $s2 -/* B75768 800FE5C8 8FBF0024 */ lw $ra, 0x24($sp) -/* B7576C 800FE5CC 8FA20034 */ lw $v0, 0x34($sp) -/* B75770 800FE5D0 8FB00018 */ lw $s0, 0x18($sp) -/* B75774 800FE5D4 8FB1001C */ lw $s1, 0x1c($sp) -/* B75778 800FE5D8 8FB20020 */ lw $s2, 0x20($sp) -/* B7577C 800FE5DC 03E00008 */ jr $ra -/* B75780 800FE5E0 27BD0048 */ addiu $sp, $sp, 0x48 \ No newline at end of file diff --git a/asm/non_matchings/code/__osMalloc/__osMallocRDebug.s b/asm/non_matchings/code/__osMalloc/__osMallocRDebug.s deleted file mode 100644 index 46e750650d..0000000000 --- a/asm/non_matchings/code/__osMalloc/__osMallocRDebug.s +++ /dev/null @@ -1,97 +0,0 @@ -glabel __osMallocRDebug -/* B75334 800FE194 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* B75338 800FE198 AFB1001C */ sw $s1, 0x1c($sp) -/* B7533C 800FE19C AFBF0024 */ sw $ra, 0x24($sp) -/* B75340 800FE1A0 AFB20020 */ sw $s2, 0x20($sp) -/* B75344 800FE1A4 24B1000F */ addiu $s1, $a1, 0xf -/* B75348 800FE1A8 2401FFF0 */ li $at, -16 -/* B7534C 800FE1AC 00809025 */ move $s2, $a0 -/* B75350 800FE1B0 AFB00018 */ sw $s0, 0x18($sp) -/* B75354 800FE1B4 AFA60050 */ sw $a2, 0x50($sp) -/* B75358 800FE1B8 AFA70054 */ sw $a3, 0x54($sp) -/* B7535C 800FE1BC AFA00034 */ sw $zero, 0x34($sp) -/* B75360 800FE1C0 0C03F70F */ jal ArenaImpl_Lock -/* B75364 800FE1C4 02218824 */ and $s1, $s1, $at -/* B75368 800FE1C8 0C03F74F */ jal ArenaImpl_GetLastBlock -/* B7536C 800FE1CC 02402025 */ move $a0, $s2 -/* B75370 800FE1D0 10400041 */ beqz $v0, .L800FE2D8 -/* B75374 800FE1D4 00408025 */ move $s0, $v0 -.L800FE1D8: -/* B75378 800FE1D8 844E0002 */ lh $t6, 2($v0) -/* B7537C 800FE1DC 11C0003A */ beqz $t6, .L800FE2C8 -/* B75380 800FE1E0 00000000 */ nop -/* B75384 800FE1E4 8C4F0004 */ lw $t7, 4($v0) -/* B75388 800FE1E8 01F1082B */ sltu $at, $t7, $s1 -/* B7538C 800FE1EC 14200036 */ bnez $at, .L800FE2C8 -/* B75390 800FE1F0 00000000 */ nop -/* B75394 800FE1F4 92580022 */ lbu $t8, 0x22($s2) -/* B75398 800FE1F8 02402025 */ move $a0, $s2 -/* B7539C 800FE1FC 33190004 */ andi $t9, $t8, 4 -/* B753A0 800FE200 53200004 */ beql $t9, $zero, .L800FE214 -/* B753A4 800FE204 8E020004 */ lw $v0, 4($s0) -/* B753A8 800FE208 0C03F7D5 */ jal __osMalloc_FreeBlockTest -/* B753AC 800FE20C 02002825 */ move $a1, $s0 -/* B753B0 800FE210 8E020004 */ lw $v0, 4($s0) -.L800FE214: -/* B753B4 800FE214 2623000F */ addiu $v1, $s1, 0xf -/* B753B8 800FE218 2401FFF0 */ li $at, -16 -/* B753BC 800FE21C 00611824 */ and $v1, $v1, $at -/* B753C0 800FE220 24630030 */ addiu $v1, $v1, 0x30 -/* B753C4 800FE224 0062082B */ sltu $at, $v1, $v0 -/* B753C8 800FE228 10200016 */ beqz $at, .L800FE284 -/* B753CC 800FE22C 02024021 */ addu $t0, $s0, $v0 -/* B753D0 800FE230 01112823 */ subu $a1, $t0, $s1 -/* B753D4 800FE234 AFA50040 */ sw $a1, 0x40($sp) -/* B753D8 800FE238 02002025 */ move $a0, $s0 -/* B753DC 800FE23C 0C03F723 */ jal ArenaImpl_GetNextBlock -/* B753E0 800FE240 AFA3002C */ sw $v1, 0x2c($sp) -/* B753E4 800FE244 8FA40040 */ lw $a0, 0x40($sp) -/* B753E8 800FE248 8FA3002C */ lw $v1, 0x2c($sp) -/* B753EC 800FE24C 24097373 */ li $t1, 29555 -/* B753F0 800FE250 AC820008 */ sw $v0, 8($a0) -/* B753F4 800FE254 AC90000C */ sw $s0, 0xc($a0) -/* B753F8 800FE258 AC910004 */ sw $s1, 4($a0) -/* B753FC 800FE25C A4890000 */ sh $t1, ($a0) -/* B75400 800FE260 8E0A0004 */ lw $t2, 4($s0) -/* B75404 800FE264 AE040008 */ sw $a0, 8($s0) -/* B75408 800FE268 01435823 */ subu $t3, $t2, $v1 -/* B7540C 800FE26C 0C03F723 */ jal ArenaImpl_GetNextBlock -/* B75410 800FE270 AE0B0004 */ sw $t3, 4($s0) -/* B75414 800FE274 10400002 */ beqz $v0, .L800FE280 -/* B75418 800FE278 8FA50040 */ lw $a1, 0x40($sp) -/* B7541C 800FE27C AC45000C */ sw $a1, 0xc($v0) -.L800FE280: -/* B75420 800FE280 00A08025 */ move $s0, $a1 -.L800FE284: -/* B75424 800FE284 A6000002 */ sh $zero, 2($s0) -/* B75428 800FE288 8FA60054 */ lw $a2, 0x54($sp) -/* B7542C 800FE28C 8FA50050 */ lw $a1, 0x50($sp) -/* B75430 800FE290 02002025 */ move $a0, $s0 -/* B75434 800FE294 0C03F6F0 */ jal ArenaImpl_SetDebugInfo -/* B75438 800FE298 02403825 */ move $a3, $s2 -/* B7543C 800FE29C 26040030 */ addiu $a0, $s0, 0x30 -/* B75440 800FE2A0 AFA40034 */ sw $a0, 0x34($sp) -/* B75444 800FE2A4 924C0022 */ lbu $t4, 0x22($s2) -/* B75448 800FE2A8 240500CD */ li $a1, 205 -/* B7544C 800FE2AC 318D0001 */ andi $t5, $t4, 1 -/* B75450 800FE2B0 11A00009 */ beqz $t5, .L800FE2D8 -/* B75454 800FE2B4 00000000 */ nop -/* B75458 800FE2B8 0C041A18 */ jal func_80106860 -/* B7545C 800FE2BC 02203025 */ move $a2, $s1 -/* B75460 800FE2C0 10000005 */ b .L800FE2D8 -/* B75464 800FE2C4 00000000 */ nop -.L800FE2C8: -/* B75468 800FE2C8 0C03F739 */ jal ArenaImpl_GetPrevBlock -/* B7546C 800FE2CC 02002025 */ move $a0, $s0 -/* B75470 800FE2D0 1440FFC1 */ bnez $v0, .L800FE1D8 -/* B75474 800FE2D4 00408025 */ move $s0, $v0 -.L800FE2D8: -/* B75478 800FE2D8 0C03F719 */ jal ArenaImpl_Unlock -/* B7547C 800FE2DC 02402025 */ move $a0, $s2 -/* B75480 800FE2E0 8FBF0024 */ lw $ra, 0x24($sp) -/* B75484 800FE2E4 8FA20034 */ lw $v0, 0x34($sp) -/* B75488 800FE2E8 8FB00018 */ lw $s0, 0x18($sp) -/* B7548C 800FE2EC 8FB1001C */ lw $s1, 0x1c($sp) -/* B75490 800FE2F0 8FB20020 */ lw $s2, 0x20($sp) -/* B75494 800FE2F4 03E00008 */ jr $ra -/* B75498 800FE2F8 27BD0048 */ addiu $sp, $sp, 0x48 \ No newline at end of file diff --git a/asm/non_matchings/code/__osMalloc/__osMalloc_NoLock.s b/asm/non_matchings/code/__osMalloc/__osMalloc_NoLock.s deleted file mode 100644 index ae560752c2..0000000000 --- a/asm/non_matchings/code/__osMalloc/__osMalloc_NoLock.s +++ /dev/null @@ -1,89 +0,0 @@ -glabel __osMalloc_NoLock -/* B7549C 800FE2FC 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* B754A0 800FE300 AFBF001C */ sw $ra, 0x1c($sp) -/* B754A4 800FE304 AFB10018 */ sw $s1, 0x18($sp) -/* B754A8 800FE308 AFB00014 */ sw $s0, 0x14($sp) -/* B754AC 800FE30C AFA40040 */ sw $a0, 0x40($sp) -/* B754B0 800FE310 AFA00030 */ sw $zero, 0x30($sp) -/* B754B4 800FE314 8C900000 */ lw $s0, ($a0) -/* B754B8 800FE318 24B1000F */ addiu $s1, $a1, 0xf -/* B754BC 800FE31C 2401FFF0 */ li $at, -16 -/* B754C0 800FE320 12000042 */ beqz $s0, .L800FE42C -/* B754C4 800FE324 02218824 */ and $s1, $s1, $at -.L800FE328: -/* B754C8 800FE328 860F0002 */ lh $t7, 2($s0) -/* B754CC 800FE32C 11E0003B */ beqz $t7, .L800FE41C -/* B754D0 800FE330 00000000 */ nop -/* B754D4 800FE334 8E020004 */ lw $v0, 4($s0) -/* B754D8 800FE338 0051082B */ sltu $at, $v0, $s1 -/* B754DC 800FE33C 14200037 */ bnez $at, .L800FE41C -/* B754E0 800FE340 00000000 */ nop -/* B754E4 800FE344 8FB80040 */ lw $t8, 0x40($sp) -/* B754E8 800FE348 93190022 */ lbu $t9, 0x22($t8) -/* B754EC 800FE34C 03002025 */ move $a0, $t8 -/* B754F0 800FE350 33280004 */ andi $t0, $t9, 4 -/* B754F4 800FE354 51000005 */ beql $t0, $zero, .L800FE36C -/* B754F8 800FE358 2623000F */ addiu $v1, $s1, 0xf -/* B754FC 800FE35C 0C03F7D5 */ jal __osMalloc_FreeBlockTest -/* B75500 800FE360 02002825 */ move $a1, $s0 -/* B75504 800FE364 8E020004 */ lw $v0, 4($s0) -/* B75508 800FE368 2623000F */ addiu $v1, $s1, 0xf -.L800FE36C: -/* B7550C 800FE36C 2401FFF0 */ li $at, -16 -/* B75510 800FE370 00611824 */ and $v1, $v1, $at -/* B75514 800FE374 24630030 */ addiu $v1, $v1, 0x30 -/* B75518 800FE378 0062082B */ sltu $at, $v1, $v0 -/* B7551C 800FE37C 10200015 */ beqz $at, .L800FE3D4 -/* B75520 800FE380 02002025 */ move $a0, $s0 -/* B75524 800FE384 0C03F723 */ jal ArenaImpl_GetNextBlock -/* B75528 800FE388 AFA30028 */ sw $v1, 0x28($sp) -/* B7552C 800FE38C 8FA30028 */ lw $v1, 0x28($sp) -/* B75530 800FE390 240B0001 */ li $t3, 1 -/* B75534 800FE394 240C7373 */ li $t4, 29555 -/* B75538 800FE398 02032021 */ addu $a0, $s0, $v1 -/* B7553C 800FE39C AC820008 */ sw $v0, 8($a0) -/* B75540 800FE3A0 AC90000C */ sw $s0, 0xc($a0) -/* B75544 800FE3A4 8E090004 */ lw $t1, 4($s0) -/* B75548 800FE3A8 A48B0002 */ sh $t3, 2($a0) -/* B7554C 800FE3AC A48C0000 */ sh $t4, ($a0) -/* B75550 800FE3B0 01235023 */ subu $t2, $t1, $v1 -/* B75554 800FE3B4 AC8A0004 */ sw $t2, 4($a0) -/* B75558 800FE3B8 AE040008 */ sw $a0, 8($s0) -/* B7555C 800FE3BC AE110004 */ sw $s1, 4($s0) -/* B75560 800FE3C0 0C03F723 */ jal ArenaImpl_GetNextBlock -/* B75564 800FE3C4 AFA40024 */ sw $a0, 0x24($sp) -/* B75568 800FE3C8 10400002 */ beqz $v0, .L800FE3D4 -/* B7556C 800FE3CC 8FA40024 */ lw $a0, 0x24($sp) -/* B75570 800FE3D0 AC44000C */ sw $a0, 0xc($v0) -.L800FE3D4: -/* B75574 800FE3D4 A6000002 */ sh $zero, 2($s0) -/* B75578 800FE3D8 8FA70040 */ lw $a3, 0x40($sp) -/* B7557C 800FE3DC 02002025 */ move $a0, $s0 -/* B75580 800FE3E0 00002825 */ move $a1, $zero -/* B75584 800FE3E4 0C03F6F0 */ jal ArenaImpl_SetDebugInfo -/* B75588 800FE3E8 00003025 */ move $a2, $zero -/* B7558C 800FE3EC 8FAD0040 */ lw $t5, 0x40($sp) -/* B75590 800FE3F0 26040030 */ addiu $a0, $s0, 0x30 -/* B75594 800FE3F4 AFA40030 */ sw $a0, 0x30($sp) -/* B75598 800FE3F8 91AE0022 */ lbu $t6, 0x22($t5) -/* B7559C 800FE3FC 240500CD */ li $a1, 205 -/* B755A0 800FE400 31CF0001 */ andi $t7, $t6, 1 -/* B755A4 800FE404 51E0000A */ beql $t7, $zero, .L800FE430 -/* B755A8 800FE408 8FBF001C */ lw $ra, 0x1c($sp) -/* B755AC 800FE40C 0C041A18 */ jal func_80106860 -/* B755B0 800FE410 02203025 */ move $a2, $s1 -/* B755B4 800FE414 10000006 */ b .L800FE430 -/* B755B8 800FE418 8FBF001C */ lw $ra, 0x1c($sp) -.L800FE41C: -/* B755BC 800FE41C 0C03F723 */ jal ArenaImpl_GetNextBlock -/* B755C0 800FE420 02002025 */ move $a0, $s0 -/* B755C4 800FE424 1440FFC0 */ bnez $v0, .L800FE328 -/* B755C8 800FE428 00408025 */ move $s0, $v0 -.L800FE42C: -/* B755CC 800FE42C 8FBF001C */ lw $ra, 0x1c($sp) -.L800FE430: -/* B755D0 800FE430 8FA20030 */ lw $v0, 0x30($sp) -/* B755D4 800FE434 8FB00014 */ lw $s0, 0x14($sp) -/* B755D8 800FE438 8FB10018 */ lw $s1, 0x18($sp) -/* B755DC 800FE43C 03E00008 */ jr $ra -/* B755E0 800FE440 27BD0040 */ addiu $sp, $sp, 0x40 \ No newline at end of file diff --git a/asm/non_matchings/code/__osMalloc/__osMalloc_NoLockDebug.s b/asm/non_matchings/code/__osMalloc/__osMalloc_NoLockDebug.s deleted file mode 100644 index 6b38370f41..0000000000 --- a/asm/non_matchings/code/__osMalloc/__osMalloc_NoLockDebug.s +++ /dev/null @@ -1,91 +0,0 @@ -glabel __osMalloc_NoLockDebug -/* B75194 800FDFF4 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* B75198 800FDFF8 AFBF001C */ sw $ra, 0x1c($sp) -/* B7519C 800FDFFC AFB10018 */ sw $s1, 0x18($sp) -/* B751A0 800FE000 AFB00014 */ sw $s0, 0x14($sp) -/* B751A4 800FE004 AFA40040 */ sw $a0, 0x40($sp) -/* B751A8 800FE008 AFA60048 */ sw $a2, 0x48($sp) -/* B751AC 800FE00C AFA7004C */ sw $a3, 0x4c($sp) -/* B751B0 800FE010 AFA00030 */ sw $zero, 0x30($sp) -/* B751B4 800FE014 8C900000 */ lw $s0, ($a0) -/* B751B8 800FE018 24B1000F */ addiu $s1, $a1, 0xf -/* B751BC 800FE01C 2401FFF0 */ li $at, -16 -/* B751C0 800FE020 12000042 */ beqz $s0, .L800FE12C -/* B751C4 800FE024 02218824 */ and $s1, $s1, $at -.L800FE028: -/* B751C8 800FE028 860F0002 */ lh $t7, 2($s0) -/* B751CC 800FE02C 11E0003B */ beqz $t7, .L800FE11C -/* B751D0 800FE030 00000000 */ nop -/* B751D4 800FE034 8E020004 */ lw $v0, 4($s0) -/* B751D8 800FE038 0051082B */ sltu $at, $v0, $s1 -/* B751DC 800FE03C 14200037 */ bnez $at, .L800FE11C -/* B751E0 800FE040 00000000 */ nop -/* B751E4 800FE044 8FB80040 */ lw $t8, 0x40($sp) -/* B751E8 800FE048 93190022 */ lbu $t9, 0x22($t8) -/* B751EC 800FE04C 03002025 */ move $a0, $t8 -/* B751F0 800FE050 33280004 */ andi $t0, $t9, 4 -/* B751F4 800FE054 51000005 */ beql $t0, $zero, .L800FE06C -/* B751F8 800FE058 2623000F */ addiu $v1, $s1, 0xf -/* B751FC 800FE05C 0C03F7D5 */ jal __osMalloc_FreeBlockTest -/* B75200 800FE060 02002825 */ move $a1, $s0 -/* B75204 800FE064 8E020004 */ lw $v0, 4($s0) -/* B75208 800FE068 2623000F */ addiu $v1, $s1, 0xf -.L800FE06C: -/* B7520C 800FE06C 2401FFF0 */ li $at, -16 -/* B75210 800FE070 00611824 */ and $v1, $v1, $at -/* B75214 800FE074 24630030 */ addiu $v1, $v1, 0x30 -/* B75218 800FE078 0062082B */ sltu $at, $v1, $v0 -/* B7521C 800FE07C 10200015 */ beqz $at, .L800FE0D4 -/* B75220 800FE080 02002025 */ move $a0, $s0 -/* B75224 800FE084 0C03F723 */ jal ArenaImpl_GetNextBlock -/* B75228 800FE088 AFA30028 */ sw $v1, 0x28($sp) -/* B7522C 800FE08C 8FA30028 */ lw $v1, 0x28($sp) -/* B75230 800FE090 240B0001 */ li $t3, 1 -/* B75234 800FE094 240C7373 */ li $t4, 29555 -/* B75238 800FE098 02032021 */ addu $a0, $s0, $v1 -/* B7523C 800FE09C AC820008 */ sw $v0, 8($a0) -/* B75240 800FE0A0 AC90000C */ sw $s0, 0xc($a0) -/* B75244 800FE0A4 8E090004 */ lw $t1, 4($s0) -/* B75248 800FE0A8 A48B0002 */ sh $t3, 2($a0) -/* B7524C 800FE0AC A48C0000 */ sh $t4, ($a0) -/* B75250 800FE0B0 01235023 */ subu $t2, $t1, $v1 -/* B75254 800FE0B4 AC8A0004 */ sw $t2, 4($a0) -/* B75258 800FE0B8 AE040008 */ sw $a0, 8($s0) -/* B7525C 800FE0BC AE110004 */ sw $s1, 4($s0) -/* B75260 800FE0C0 0C03F723 */ jal ArenaImpl_GetNextBlock -/* B75264 800FE0C4 AFA40024 */ sw $a0, 0x24($sp) -/* B75268 800FE0C8 10400002 */ beqz $v0, .L800FE0D4 -/* B7526C 800FE0CC 8FA40024 */ lw $a0, 0x24($sp) -/* B75270 800FE0D0 AC44000C */ sw $a0, 0xc($v0) -.L800FE0D4: -/* B75274 800FE0D4 A6000002 */ sh $zero, 2($s0) -/* B75278 800FE0D8 8FA70040 */ lw $a3, 0x40($sp) -/* B7527C 800FE0DC 8FA6004C */ lw $a2, 0x4c($sp) -/* B75280 800FE0E0 8FA50048 */ lw $a1, 0x48($sp) -/* B75284 800FE0E4 0C03F6F0 */ jal ArenaImpl_SetDebugInfo -/* B75288 800FE0E8 02002025 */ move $a0, $s0 -/* B7528C 800FE0EC 8FAD0040 */ lw $t5, 0x40($sp) -/* B75290 800FE0F0 26040030 */ addiu $a0, $s0, 0x30 -/* B75294 800FE0F4 AFA40030 */ sw $a0, 0x30($sp) -/* B75298 800FE0F8 91AE0022 */ lbu $t6, 0x22($t5) -/* B7529C 800FE0FC 240500CD */ li $a1, 205 -/* B752A0 800FE100 31CF0001 */ andi $t7, $t6, 1 -/* B752A4 800FE104 51E0000A */ beql $t7, $zero, .L800FE130 -/* B752A8 800FE108 8FBF001C */ lw $ra, 0x1c($sp) -/* B752AC 800FE10C 0C041A18 */ jal func_80106860 -/* B752B0 800FE110 02203025 */ move $a2, $s1 -/* B752B4 800FE114 10000006 */ b .L800FE130 -/* B752B8 800FE118 8FBF001C */ lw $ra, 0x1c($sp) -.L800FE11C: -/* B752BC 800FE11C 0C03F723 */ jal ArenaImpl_GetNextBlock -/* B752C0 800FE120 02002025 */ move $a0, $s0 -/* B752C4 800FE124 1440FFC0 */ bnez $v0, .L800FE028 -/* B752C8 800FE128 00408025 */ move $s0, $v0 -.L800FE12C: -/* B752CC 800FE12C 8FBF001C */ lw $ra, 0x1c($sp) -.L800FE130: -/* B752D0 800FE130 8FA20030 */ lw $v0, 0x30($sp) -/* B752D4 800FE134 8FB00014 */ lw $s0, 0x14($sp) -/* B752D8 800FE138 8FB10018 */ lw $s1, 0x18($sp) -/* B752DC 800FE13C 03E00008 */ jr $ra -/* B752E0 800FE140 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/non_matchings/code/__osMalloc/__osRealloc.s b/asm/non_matchings/code/__osMalloc/__osRealloc.s deleted file mode 100644 index 5ed23c5ba2..0000000000 --- a/asm/non_matchings/code/__osMalloc/__osRealloc.s +++ /dev/null @@ -1,247 +0,0 @@ -.rdata -glabel D_8014ADEC - .asciz "__osRealloc(%08x, %d)\n" - .balign 4 - -glabel D_8014AE04 - .asciz "メモリブロックサイズが変わらないためなにもしません\n" #Does nothing because the memory block size does not change - .balign 4 - -glabel D_8014AE38 - .asciz "現メモリブロックの後ろにフリーブロックがあるので結合します\n" #Merge because there is a free block after the current memory block - .balign 4 - -glabel D_8014AE74 - .asciz "新たにメモリブロックを確保して内容を移動します\n" #Allocate a new memory block and move the contents - .balign 4 - -glabel D_8014AEA4 - .asciz "現メモリブロックの後ろのフリーブロックを大きくしました\n" #Increased free block behind current memory block - .balign 4 - -glabel D_8014AEDC - .asciz "現メモリブロックの後ろにフリーブロックがないので生成します\n" #Generated because there is no free block after the current memory block - .balign 4 - -glabel D_8014AF18 - .asciz "フリーブロック生成するだけの空きがありません\n" #There is no room to generate free blocks - .balign 4 - -.text -glabel __osRealloc -/* B75C10 800FEA70 27BDFF78 */ addiu $sp, $sp, -0x88 -/* B75C14 800FEA74 AFB00018 */ sw $s0, 0x18($sp) -/* B75C18 800FEA78 AFA40088 */ sw $a0, 0x88($sp) -/* B75C1C 800FEA7C 24D0000F */ addiu $s0, $a2, 0xf -/* B75C20 800FEA80 2401FFF0 */ li $at, -16 -/* B75C24 800FEA84 AFBF001C */ sw $ra, 0x1c($sp) -/* B75C28 800FEA88 02018024 */ and $s0, $s0, $at -/* B75C2C 800FEA8C 3C048015 */ lui $a0, %hi(D_8014ADEC) # $a0, 0x8015 -/* B75C30 800FEA90 AFA5008C */ sw $a1, 0x8c($sp) -/* B75C34 800FEA94 2484ADEC */ addiu $a0, %lo(D_8014ADEC) # addiu $a0, $a0, -0x5214 -/* B75C38 800FEA98 0C00084C */ jal osSyncPrintf -/* B75C3C 800FEA9C 02003025 */ move $a2, $s0 -/* B75C40 800FEAA0 0C03F70F */ jal ArenaImpl_Lock -/* B75C44 800FEAA4 8FA40088 */ lw $a0, 0x88($sp) -/* B75C48 800FEAA8 8FAE008C */ lw $t6, 0x8c($sp) -/* B75C4C 800FEAAC 8FA40088 */ lw $a0, 0x88($sp) -/* B75C50 800FEAB0 15C00005 */ bnez $t6, .L800FEAC8 -/* B75C54 800FEAB4 00000000 */ nop -/* B75C58 800FEAB8 0C03F8BF */ jal __osMalloc_NoLock -/* B75C5C 800FEABC 02002825 */ move $a1, $s0 -/* B75C60 800FEAC0 100000AF */ b .L800FED80 -/* B75C64 800FEAC4 AFA2008C */ sw $v0, 0x8c($sp) -.L800FEAC8: -/* B75C68 800FEAC8 16000006 */ bnez $s0, .L800FEAE4 -/* B75C6C 800FEACC 8FA7008C */ lw $a3, 0x8c($sp) -/* B75C70 800FEAD0 8FA40088 */ lw $a0, 0x88($sp) -/* B75C74 800FEAD4 0C03F979 */ jal __osFree_NoLock -/* B75C78 800FEAD8 8FA5008C */ lw $a1, 0x8c($sp) -/* B75C7C 800FEADC 100000A8 */ b .L800FED80 -/* B75C80 800FEAE0 AFA0008C */ sw $zero, 0x8c($sp) -.L800FEAE4: -/* B75C84 800FEAE4 8CE3FFD4 */ lw $v1, -0x2c($a3) -/* B75C88 800FEAE8 24E7FFD0 */ addiu $a3, $a3, -0x30 -/* B75C8C 800FEAEC 3C048015 */ lui $a0, %hi(D_8014AE04) # $a0, 0x8015 -/* B75C90 800FEAF0 16030005 */ bne $s0, $v1, .L800FEB08 -/* B75C94 800FEAF4 0070082B */ sltu $at, $v1, $s0 -/* B75C98 800FEAF8 0C00084C */ jal osSyncPrintf -/* B75C9C 800FEAFC 2484AE04 */ addiu $a0, %lo(D_8014AE04) # addiu $a0, $a0, -0x51fc -/* B75CA0 800FEB00 1000009F */ b .L800FED80 -/* B75CA4 800FEB04 00000000 */ nop -.L800FEB08: -/* B75CA8 800FEB08 1020003C */ beqz $at, .L800FEBFC -/* B75CAC 800FEB0C 00E02025 */ move $a0, $a3 -/* B75CB0 800FEB10 0C03F723 */ jal ArenaImpl_GetNextBlock -/* B75CB4 800FEB14 AFA70024 */ sw $a3, 0x24($sp) -/* B75CB8 800FEB18 8FA70024 */ lw $a3, 0x24($sp) -/* B75CBC 800FEB1C 3C048015 */ lui $a0, %hi(D_8014AE74) # $a0, 0x8015 -/* B75CC0 800FEB20 2484AE74 */ addiu $a0, %lo(D_8014AE74) # addiu $a0, $a0, -0x518c -/* B75CC4 800FEB24 8CE30004 */ lw $v1, 4($a3) -/* B75CC8 800FEB28 00E37821 */ addu $t7, $a3, $v1 -/* B75CCC 800FEB2C 25F80030 */ addiu $t8, $t7, 0x30 -/* B75CD0 800FEB30 14580021 */ bne $v0, $t8, .L800FEBB8 -/* B75CD4 800FEB34 02034023 */ subu $t0, $s0, $v1 -/* B75CD8 800FEB38 84590002 */ lh $t9, 2($v0) -/* B75CDC 800FEB3C 1320001E */ beqz $t9, .L800FEBB8 -/* B75CE0 800FEB40 00000000 */ nop -/* B75CE4 800FEB44 8C490004 */ lw $t1, 4($v0) -/* B75CE8 800FEB48 0128082B */ sltu $at, $t1, $t0 -/* B75CEC 800FEB4C 1420001A */ bnez $at, .L800FEBB8 -/* B75CF0 800FEB50 00000000 */ nop -/* B75CF4 800FEB54 3C048015 */ lui $a0, %hi(D_8014AE38) # $a0, 0x8015 -/* B75CF8 800FEB58 2484AE38 */ addiu $a0, %lo(D_8014AE38) # addiu $a0, $a0, -0x51c8 -/* B75CFC 800FEB5C AFA2007C */ sw $v0, 0x7c($sp) -/* B75D00 800FEB60 AFA70024 */ sw $a3, 0x24($sp) -/* B75D04 800FEB64 0C00084C */ jal osSyncPrintf -/* B75D08 800FEB68 AFA80068 */ sw $t0, 0x68($sp) -/* B75D0C 800FEB6C 8FA4007C */ lw $a0, 0x7c($sp) -/* B75D10 800FEB70 8FA80068 */ lw $t0, 0x68($sp) -/* B75D14 800FEB74 8C8A0004 */ lw $t2, 4($a0) -/* B75D18 800FEB78 01485823 */ subu $t3, $t2, $t0 -/* B75D1C 800FEB7C 0C03F723 */ jal ArenaImpl_GetNextBlock -/* B75D20 800FEB80 AC8B0004 */ sw $t3, 4($a0) -/* B75D24 800FEB84 8FA5007C */ lw $a1, 0x7c($sp) -/* B75D28 800FEB88 8FA70024 */ lw $a3, 0x24($sp) -/* B75D2C 800FEB8C 10400003 */ beqz $v0, .L800FEB9C -/* B75D30 800FEB90 8FA80068 */ lw $t0, 0x68($sp) -/* B75D34 800FEB94 00A86021 */ addu $t4, $a1, $t0 -/* B75D38 800FEB98 AC4C000C */ sw $t4, 0xc($v0) -.L800FEB9C: -/* B75D3C 800FEB9C 00A82021 */ addu $a0, $a1, $t0 -/* B75D40 800FEBA0 ACE40008 */ sw $a0, 8($a3) -/* B75D44 800FEBA4 ACF00004 */ sw $s0, 4($a3) -/* B75D48 800FEBA8 0C041A2C */ jal func_801068B0 -/* B75D4C 800FEBAC 24060030 */ li $a2, 48 -/* B75D50 800FEBB0 10000073 */ b .L800FED80 -/* B75D54 800FEBB4 00000000 */ nop -.L800FEBB8: -/* B75D58 800FEBB8 0C00084C */ jal osSyncPrintf -/* B75D5C 800FEBBC AFA70024 */ sw $a3, 0x24($sp) -/* B75D60 800FEBC0 8FA40088 */ lw $a0, 0x88($sp) -/* B75D64 800FEBC4 0C03F8BF */ jal __osMalloc_NoLock -/* B75D68 800FEBC8 02002825 */ move $a1, $s0 -/* B75D6C 800FEBCC 8FA70024 */ lw $a3, 0x24($sp) -/* B75D70 800FEBD0 10400008 */ beqz $v0, .L800FEBF4 -/* B75D74 800FEBD4 00408025 */ move $s0, $v0 -/* B75D78 800FEBD8 8FA4008C */ lw $a0, 0x8c($sp) -/* B75D7C 800FEBDC 00402825 */ move $a1, $v0 -/* B75D80 800FEBE0 0C001BC4 */ jal bcopy -/* B75D84 800FEBE4 8CE60004 */ lw $a2, 4($a3) -/* B75D88 800FEBE8 8FA40088 */ lw $a0, 0x88($sp) -/* B75D8C 800FEBEC 0C03F979 */ jal __osFree_NoLock -/* B75D90 800FEBF0 8FA5008C */ lw $a1, 0x8c($sp) -.L800FEBF4: -/* B75D94 800FEBF4 10000062 */ b .L800FED80 -/* B75D98 800FEBF8 AFB0008C */ sw $s0, 0x8c($sp) -.L800FEBFC: -/* B75D9C 800FEBFC 0203082B */ sltu $at, $s0, $v1 -/* B75DA0 800FEC00 1020005F */ beqz $at, .L800FED80 -/* B75DA4 800FEC04 00E02025 */ move $a0, $a3 -/* B75DA8 800FEC08 0C03F723 */ jal ArenaImpl_GetNextBlock -/* B75DAC 800FEC0C AFA70024 */ sw $a3, 0x24($sp) -/* B75DB0 800FEC10 10400035 */ beqz $v0, .L800FECE8 -/* B75DB4 800FEC14 8FA70024 */ lw $a3, 0x24($sp) -/* B75DB8 800FEC18 844D0002 */ lh $t5, 2($v0) -/* B75DBC 800FEC1C 3C048015 */ lui $a0, %hi(D_8014AEA4) # $a0, 0x8015 -/* B75DC0 800FEC20 2484AEA4 */ addiu $a0, %lo(D_8014AEA4) # addiu $a0, $a0, -0x515c -/* B75DC4 800FEC24 51A00031 */ beql $t5, $zero, .L800FECEC -/* B75DC8 800FEC28 8CF90004 */ lw $t9, 4($a3) -/* B75DCC 800FEC2C AFA2006C */ sw $v0, 0x6c($sp) -/* B75DD0 800FEC30 0C00084C */ jal osSyncPrintf -/* B75DD4 800FEC34 AFA70024 */ sw $a3, 0x24($sp) -/* B75DD8 800FEC38 8FB8006C */ lw $t8, 0x6c($sp) -/* B75DDC 800FEC3C 27A20030 */ addiu $v0, $sp, 0x30 -/* B75DE0 800FEC40 8FA70024 */ lw $a3, 0x24($sp) -/* B75DE4 800FEC44 0040C825 */ move $t9, $v0 -/* B75DE8 800FEC48 27090030 */ addiu $t1, $t8, 0x30 -.L800FEC4C: -/* B75DEC 800FEC4C 8F0F0000 */ lw $t7, ($t8) -/* B75DF0 800FEC50 2718000C */ addiu $t8, $t8, 0xc -/* B75DF4 800FEC54 2739000C */ addiu $t9, $t9, 0xc -/* B75DF8 800FEC58 AF2FFFF4 */ sw $t7, -0xc($t9) -/* B75DFC 800FEC5C 8F0EFFF8 */ lw $t6, -8($t8) -/* B75E00 800FEC60 AF2EFFF8 */ sw $t6, -8($t9) -/* B75E04 800FEC64 8F0FFFFC */ lw $t7, -4($t8) -/* B75E08 800FEC68 1709FFF8 */ bne $t8, $t1, .L800FEC4C -/* B75E0C 800FEC6C AF2FFFFC */ sw $t7, -4($t9) -/* B75E10 800FEC70 260A000F */ addiu $t2, $s0, 0xf -/* B75E14 800FEC74 2401FFF0 */ li $at, -16 -/* B75E18 800FEC78 01415824 */ and $t3, $t2, $at -/* B75E1C 800FEC7C 00EB2021 */ addu $a0, $a3, $t3 -/* B75E20 800FEC80 24840030 */ addiu $a0, $a0, 0x30 -/* B75E24 800FEC84 0080C025 */ move $t8, $a0 -/* B75E28 800FEC88 00404825 */ move $t1, $v0 -/* B75E2C 800FEC8C 24590030 */ addiu $t9, $v0, 0x30 -.L800FEC90: -/* B75E30 800FEC90 8D2D0000 */ lw $t5, ($t1) -/* B75E34 800FEC94 2529000C */ addiu $t1, $t1, 0xc -/* B75E38 800FEC98 2718000C */ addiu $t8, $t8, 0xc -/* B75E3C 800FEC9C AF0DFFF4 */ sw $t5, -0xc($t8) -/* B75E40 800FECA0 8D2CFFF8 */ lw $t4, -8($t1) -/* B75E44 800FECA4 AF0CFFF8 */ sw $t4, -8($t8) -/* B75E48 800FECA8 8D2DFFFC */ lw $t5, -4($t1) -/* B75E4C 800FECAC 1539FFF8 */ bne $t1, $t9, .L800FEC90 -/* B75E50 800FECB0 AF0DFFFC */ sw $t5, -4($t8) -/* B75E54 800FECB4 8C8E0004 */ lw $t6, 4($a0) -/* B75E58 800FECB8 8CEF0004 */ lw $t7, 4($a3) -/* B75E5C 800FECBC 01CF5021 */ addu $t2, $t6, $t7 -/* B75E60 800FECC0 01505823 */ subu $t3, $t2, $s0 -/* B75E64 800FECC4 AC8B0004 */ sw $t3, 4($a0) -/* B75E68 800FECC8 ACE40008 */ sw $a0, 8($a3) -/* B75E6C 800FECCC ACF00004 */ sw $s0, 4($a3) -/* B75E70 800FECD0 0C03F723 */ jal ArenaImpl_GetNextBlock -/* B75E74 800FECD4 AFA40020 */ sw $a0, 0x20($sp) -/* B75E78 800FECD8 10400029 */ beqz $v0, .L800FED80 -/* B75E7C 800FECDC 8FA40020 */ lw $a0, 0x20($sp) -/* B75E80 800FECE0 10000027 */ b .L800FED80 -/* B75E84 800FECE4 AC44000C */ sw $a0, 0xc($v0) -.L800FECE8: -/* B75E88 800FECE8 8CF90004 */ lw $t9, 4($a3) -.L800FECEC: -/* B75E8C 800FECEC 26090030 */ addiu $t1, $s0, 0x30 -/* B75E90 800FECF0 3C048015 */ lui $a0, %hi(D_8014AF18) -/* B75E94 800FECF4 0139082B */ sltu $at, $t1, $t9 -/* B75E98 800FECF8 1020001E */ beqz $at, .L800FED74 -/* B75E9C 800FECFC 00000000 */ nop -/* B75EA0 800FED00 3C048015 */ lui $a0, %hi(D_8014AEDC) # $a0, 0x8015 -/* B75EA4 800FED04 2484AEDC */ addiu $a0, %lo(D_8014AEDC) # addiu $a0, $a0, -0x5124 -/* B75EA8 800FED08 0C00084C */ jal osSyncPrintf -/* B75EAC 800FED0C AFA70024 */ sw $a3, 0x24($sp) -/* B75EB0 800FED10 0C03F723 */ jal ArenaImpl_GetNextBlock -/* B75EB4 800FED14 8FA40024 */ lw $a0, 0x24($sp) -/* B75EB8 800FED18 8FA70024 */ lw $a3, 0x24($sp) -/* B75EBC 800FED1C 2603000F */ addiu $v1, $s0, 0xf -/* B75EC0 800FED20 2401FFF0 */ li $at, -16 -/* B75EC4 800FED24 00611824 */ and $v1, $v1, $at -/* B75EC8 800FED28 24630030 */ addiu $v1, $v1, 0x30 -/* B75ECC 800FED2C 00E32021 */ addu $a0, $a3, $v1 -/* B75ED0 800FED30 AC820008 */ sw $v0, 8($a0) -/* B75ED4 800FED34 AC87000C */ sw $a3, 0xc($a0) -/* B75ED8 800FED38 8CF80004 */ lw $t8, 4($a3) -/* B75EDC 800FED3C 240D0001 */ li $t5, 1 -/* B75EE0 800FED40 240E7373 */ li $t6, 29555 -/* B75EE4 800FED44 03036023 */ subu $t4, $t8, $v1 -/* B75EE8 800FED48 AC8C0004 */ sw $t4, 4($a0) -/* B75EEC 800FED4C A48D0002 */ sh $t5, 2($a0) -/* B75EF0 800FED50 A48E0000 */ sh $t6, ($a0) -/* B75EF4 800FED54 ACE40008 */ sw $a0, 8($a3) -/* B75EF8 800FED58 ACF00004 */ sw $s0, 4($a3) -/* B75EFC 800FED5C 0C03F723 */ jal ArenaImpl_GetNextBlock -/* B75F00 800FED60 AFA40020 */ sw $a0, 0x20($sp) -/* B75F04 800FED64 10400006 */ beqz $v0, .L800FED80 -/* B75F08 800FED68 8FA40020 */ lw $a0, 0x20($sp) -/* B75F0C 800FED6C 10000004 */ b .L800FED80 -/* B75F10 800FED70 AC44000C */ sw $a0, 0xc($v0) -.L800FED74: -/* B75F14 800FED74 0C00084C */ jal osSyncPrintf -/* B75F18 800FED78 2484AF18 */ addiu $a0, %lo(D_8014AF18) -/* B75F1C 800FED7C AFA0008C */ sw $zero, 0x8c($sp) -.L800FED80: -/* B75F20 800FED80 0C03F719 */ jal ArenaImpl_Unlock -/* B75F24 800FED84 8FA40088 */ lw $a0, 0x88($sp) -/* B75F28 800FED88 8FBF001C */ lw $ra, 0x1c($sp) -/* B75F2C 800FED8C 8FA2008C */ lw $v0, 0x8c($sp) -/* B75F30 800FED90 8FB00018 */ lw $s0, 0x18($sp) -/* B75F34 800FED94 03E00008 */ jr $ra -/* B75F38 800FED98 27BD0088 */ addiu $sp, $sp, 0x88 \ No newline at end of file diff --git a/asm/non_matchings/code/code_8007BF90/func_8007C0F8.s b/asm/non_matchings/code/code_8007BF90/func_8007C0F8.s deleted file mode 100644 index cf1b78c994..0000000000 --- a/asm/non_matchings/code/code_8007BF90/func_8007C0F8.s +++ /dev/null @@ -1,52 +0,0 @@ -.late_rodata -glabel D_8013CB80 - .float 0.01 - -.text -glabel func_8007C0F8 -/* AF3298 8007C0F8 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* AF329C 8007C0FC AFBF0014 */ sw $ra, 0x14($sp) -/* AF32A0 8007C100 AFA40038 */ sw $a0, 0x38($sp) -/* AF32A4 8007C104 C4A60000 */ lwc1 $f6, ($a1) -/* AF32A8 8007C108 C4C40000 */ lwc1 $f4, ($a2) -/* AF32AC 8007C10C C4AA0004 */ lwc1 $f10, 4($a1) -/* AF32B0 8007C110 C4C80004 */ lwc1 $f8, 4($a2) -/* AF32B4 8007C114 46062081 */ sub.s $f2, $f4, $f6 -/* AF32B8 8007C118 C4A60008 */ lwc1 $f6, 8($a1) -/* AF32BC 8007C11C C4C40008 */ lwc1 $f4, 8($a2) -/* AF32C0 8007C120 460A4401 */ sub.s $f16, $f8, $f10 -/* AF32C4 8007C124 46021202 */ mul.s $f8, $f2, $f2 -/* AF32C8 8007C128 3C018014 */ lui $at, %hi(D_8013CB80) -/* AF32CC 8007C12C 46062481 */ sub.s $f18, $f4, $f6 -/* AF32D0 8007C130 46108282 */ mul.s $f10, $f16, $f16 -/* AF32D4 8007C134 C42ECB80 */ lwc1 $f14, %lo(D_8013CB80)($at) -/* AF32D8 8007C138 E7B00030 */ swc1 $f16, 0x30($sp) -/* AF32DC 8007C13C 46129182 */ mul.s $f6, $f18, $f18 -/* AF32E0 8007C140 E7B20034 */ swc1 $f18, 0x34($sp) -/* AF32E4 8007C144 E7A2002C */ swc1 $f2, 0x2c($sp) -/* AF32E8 8007C148 460A4100 */ add.s $f4, $f8, $f10 -/* AF32EC 8007C14C 46062000 */ add.s $f0, $f4, $f6 -/* AF32F0 8007C150 0C01F016 */ jal func_8007C058 -/* AF32F4 8007C154 46000304 */ sqrt.s $f12, $f0 -/* AF32F8 8007C158 C7A2002C */ lwc1 $f2, 0x2c($sp) -/* AF32FC 8007C15C C7B00030 */ lwc1 $f16, 0x30($sp) -/* AF3300 8007C160 C7B20034 */ lwc1 $f18, 0x34($sp) -/* AF3304 8007C164 46001203 */ div.s $f8, $f2, $f0 -/* AF3308 8007C168 27AE0020 */ addiu $t6, $sp, 0x20 -/* AF330C 8007C16C 8FA20038 */ lw $v0, 0x38($sp) -/* AF3310 8007C170 46008283 */ div.s $f10, $f16, $f0 -/* AF3314 8007C174 E7A80020 */ swc1 $f8, 0x20($sp) -/* AF3318 8007C178 46009103 */ div.s $f4, $f18, $f0 -/* AF331C 8007C17C E7AA0024 */ swc1 $f10, 0x24($sp) -/* AF3320 8007C180 E7A40028 */ swc1 $f4, 0x28($sp) -/* AF3324 8007C184 8DD80000 */ lw $t8, ($t6) -/* AF3328 8007C188 AC580000 */ sw $t8, ($v0) -/* AF332C 8007C18C 8DCF0004 */ lw $t7, 4($t6) -/* AF3330 8007C190 AC4F0004 */ sw $t7, 4($v0) -/* AF3334 8007C194 8DD80008 */ lw $t8, 8($t6) -/* AF3338 8007C198 AC580008 */ sw $t8, 8($v0) -/* AF333C 8007C19C 8FBF0014 */ lw $ra, 0x14($sp) -/* AF3340 8007C1A0 27BD0038 */ addiu $sp, $sp, 0x38 -/* AF3344 8007C1A4 03E00008 */ jr $ra -/* AF3348 8007C1A8 00000000 */ nop - diff --git a/asm/non_matchings/code/code_8007BF90/func_8007C1AC.s b/asm/non_matchings/code/code_8007BF90/func_8007C1AC.s deleted file mode 100644 index 7d9dbc6616..0000000000 --- a/asm/non_matchings/code/code_8007BF90/func_8007C1AC.s +++ /dev/null @@ -1,46 +0,0 @@ -glabel func_8007C1AC -/* AF334C 8007C1AC 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* AF3350 8007C1B0 AFBF001C */ sw $ra, 0x1c($sp) -/* AF3354 8007C1B4 AFB00018 */ sw $s0, 0x18($sp) -/* AF3358 8007C1B8 AFA40040 */ sw $a0, 0x40($sp) -/* AF335C 8007C1BC 00A08025 */ move $s0, $a1 -/* AF3360 8007C1C0 0C01DE0D */ jal Math_Coss -/* AF3364 8007C1C4 84A40004 */ lh $a0, 4($a1) -/* AF3368 8007C1C8 E7A0002C */ swc1 $f0, 0x2c($sp) -/* AF336C 8007C1CC 0C01DE0D */ jal Math_Coss -/* AF3370 8007C1D0 86040006 */ lh $a0, 6($s0) -/* AF3374 8007C1D4 E7A00024 */ swc1 $f0, 0x24($sp) -/* AF3378 8007C1D8 0C01DE1C */ jal Math_Sins -/* AF337C 8007C1DC 86040004 */ lh $a0, 4($s0) -/* AF3380 8007C1E0 86040006 */ lh $a0, 6($s0) -/* AF3384 8007C1E4 0C01DE1C */ jal Math_Sins -/* AF3388 8007C1E8 E7A00030 */ swc1 $f0, 0x30($sp) -/* AF338C 8007C1EC C7A20030 */ lwc1 $f2, 0x30($sp) -/* AF3390 8007C1F0 C6040000 */ lwc1 $f4, ($s0) -/* AF3394 8007C1F4 C7B0002C */ lwc1 $f16, 0x2c($sp) -/* AF3398 8007C1F8 27AE0034 */ addiu $t6, $sp, 0x34 -/* AF339C 8007C1FC 46022182 */ mul.s $f6, $f4, $f2 -/* AF33A0 8007C200 8FA20040 */ lw $v0, 0x40($sp) -/* AF33A4 8007C204 46003202 */ mul.s $f8, $f6, $f0 -/* AF33A8 8007C208 E7A80034 */ swc1 $f8, 0x34($sp) -/* AF33AC 8007C20C C60A0000 */ lwc1 $f10, ($s0) -/* AF33B0 8007C210 C7A80024 */ lwc1 $f8, 0x24($sp) -/* AF33B4 8007C214 46105482 */ mul.s $f18, $f10, $f16 -/* AF33B8 8007C218 E7B20038 */ swc1 $f18, 0x38($sp) -/* AF33BC 8007C21C C6040000 */ lwc1 $f4, ($s0) -/* AF33C0 8007C220 46022182 */ mul.s $f6, $f4, $f2 -/* AF33C4 8007C224 00000000 */ nop -/* AF33C8 8007C228 46083282 */ mul.s $f10, $f6, $f8 -/* AF33CC 8007C22C E7AA003C */ swc1 $f10, 0x3c($sp) -/* AF33D0 8007C230 8DD80000 */ lw $t8, ($t6) -/* AF33D4 8007C234 AC580000 */ sw $t8, ($v0) -/* AF33D8 8007C238 8DCF0004 */ lw $t7, 4($t6) -/* AF33DC 8007C23C AC4F0004 */ sw $t7, 4($v0) -/* AF33E0 8007C240 8DD80008 */ lw $t8, 8($t6) -/* AF33E4 8007C244 AC580008 */ sw $t8, 8($v0) -/* AF33E8 8007C248 8FBF001C */ lw $ra, 0x1c($sp) -/* AF33EC 8007C24C 8FB00018 */ lw $s0, 0x18($sp) -/* AF33F0 8007C250 27BD0040 */ addiu $sp, $sp, 0x40 -/* AF33F4 8007C254 03E00008 */ jr $ra -/* AF33F8 8007C258 00000000 */ nop - diff --git a/asm/non_matchings/code/code_800A9F30/func_800AA0F0.s b/asm/non_matchings/code/code_800A9F30/func_800AA0F0.s deleted file mode 100644 index 8f65b1511d..0000000000 --- a/asm/non_matchings/code/code_800A9F30/func_800AA0F0.s +++ /dev/null @@ -1,24 +0,0 @@ -glabel func_800AA0F0 -/* B21290 800AA0F0 3C0F8016 */ lui $t7, %hi(gPadMgr+0x460) # $t7, 0x8016 -/* B21294 800AA0F4 8DEF6D20 */ lw $t7, %lo(gPadMgr+0x460)($t7) -/* B21298 800AA0F8 3C0E800B */ lui $t6, %hi(func_800A9F30) # $t6, 0x800b -/* B2129C 800AA0FC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* B212A0 800AA100 25CE9F30 */ addiu $t6, %lo(func_800A9F30) # addiu $t6, $t6, -0x60d0 -/* B212A4 800AA104 15CF0009 */ bne $t6, $t7, .L800AA12C -/* B212A8 800AA108 AFBF0014 */ sw $ra, 0x14($sp) -/* B212AC 800AA10C 3C188016 */ lui $t8, %hi(gPadMgr+0x464) # $t8, 0x8016 -/* B212B0 800AA110 8F186D24 */ lw $t8, %lo(gPadMgr+0x464)($t8) -/* B212B4 800AA114 3C018016 */ lui $at, %hi(gPadMgr+0x460) # $at, 0x8016 -/* B212B8 800AA118 17000004 */ bnez $t8, .L800AA12C -/* B212BC 800AA11C 00000000 */ nop -/* B212C0 800AA120 AC206D20 */ sw $zero, %lo(gPadMgr+0x460)($at) -/* B212C4 800AA124 3C018016 */ lui $at, %hi(gPadMgr+0x464) # $at, 0x8016 -/* B212C8 800AA128 AC206D24 */ sw $zero, %lo(gPadMgr+0x464)($at) -.L800AA12C: -/* B212CC 800AA12C 3C048016 */ lui $a0, %hi(D_80160FD0) # $a0, 0x8016 -/* B212D0 800AA130 0C034C5E */ jal func_800D3178 -/* B212D4 800AA134 24840FD0 */ addiu $a0, %lo(D_80160FD0) # addiu $a0, $a0, 0xfd0 -/* B212D8 800AA138 8FBF0014 */ lw $ra, 0x14($sp) -/* B212DC 800AA13C 27BD0018 */ addiu $sp, $sp, 0x18 -/* B212E0 800AA140 03E00008 */ jr $ra -/* B212E4 800AA144 00000000 */ nop \ No newline at end of file diff --git a/asm/non_matchings/code/fault/Fault_LogFReg.s b/asm/non_matchings/code/fault/Fault_LogFReg.s deleted file mode 100644 index eab46082ae..0000000000 --- a/asm/non_matchings/code/fault/Fault_LogFReg.s +++ /dev/null @@ -1,61 +0,0 @@ -.rdata - -glabel D_80146E8C - .asciz "F%02d:%14.7e " - .balign 4 -glabel D_80146E9C - .asciz "F%02d: %08x(16) " - .balign 4 - -.text -glabel Fault_LogFReg -/* B4BC40 800D4AA0 3C18FFFA */ lui $t8, (0xFFFA5A5A >> 16) # lui $t8, 0xfffa -/* B4BC44 800D4AA4 03A0C825 */ move $t9, $sp -/* B4BC48 800D4AA8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* B4BC4C 800D4AAC 37185A5A */ ori $t8, (0xFFFA5A5A & 0xFFFF) # ori $t8, $t8, 0x5a5a -.L800D4AB0: -/* B4BC50 800D4AB0 2739FFF8 */ addiu $t9, $t9, -8 -/* B4BC54 800D4AB4 AF380000 */ sw $t8, ($t9) -/* B4BC58 800D4AB8 173DFFFD */ bne $t9, $sp, .L800D4AB0 -/* B4BC5C 800D4ABC AF380004 */ sw $t8, 4($t9) -/* B4BC60 800D4AC0 AFBF0014 */ sw $ra, 0x14($sp) -/* B4BC64 800D4AC4 AFA40018 */ sw $a0, 0x18($sp) -/* B4BC68 800D4AC8 AFA5001C */ sw $a1, 0x1c($sp) -/* B4BC6C 800D4ACC 8FAE001C */ lw $t6, 0x1c($sp) -/* B4BC70 800D4AD0 3C017F80 */ lui $at, 0x7f80 -/* B4BC74 800D4AD4 8DC60000 */ lw $a2, ($t6) -/* B4BC78 800D4AD8 00C11824 */ and $v1, $a2, $at -/* B4BC7C 800D4ADC 00031DC2 */ srl $v1, $v1, 0x17 -/* B4BC80 800D4AE0 2463FF81 */ addiu $v1, $v1, -0x7f -/* B4BC84 800D4AE4 2861FF82 */ slti $at, $v1, -0x7e -/* B4BC88 800D4AE8 14200004 */ bnez $at, .L800D4AFC -/* B4BC8C 800D4AEC 00C01025 */ move $v0, $a2 -/* B4BC90 800D4AF0 28610080 */ slti $at, $v1, 0x80 -/* B4BC94 800D4AF4 54200004 */ bnezl $at, .L800D4B08 -/* B4BC98 800D4AF8 8FAF001C */ lw $t7, 0x1c($sp) -.L800D4AFC: -/* B4BC9C 800D4AFC 1440000D */ bnez $v0, .L800D4B34 -/* B4BCA0 800D4B00 3C048014 */ lui $a0, %hi(D_80146E9C) -/* B4BCA4 800D4B04 8FAF001C */ lw $t7, 0x1c($sp) -.L800D4B08: -/* B4BCA8 800D4B08 3C048014 */ lui $a0, %hi(D_80146E8C) # $a0, 0x8014 -/* B4BCAC 800D4B0C 24846E8C */ addiu $a0, %lo(D_80146E8C) # addiu $a0, $a0, 0x6e8c -/* B4BCB0 800D4B10 C5E40000 */ lwc1 $f4, ($t7) -/* B4BCB4 800D4B14 8FA50018 */ lw $a1, 0x18($sp) -/* B4BCB8 800D4B18 460021A1 */ cvt.d.s $f6, $f4 -/* B4BCBC 800D4B1C 44073000 */ mfc1 $a3, $f6 -/* B4BCC0 800D4B20 44063800 */ mfc1 $a2, $f7 -/* B4BCC4 800D4B24 0C00084C */ jal osSyncPrintf -/* B4BCC8 800D4B28 00000000 */ nop -/* B4BCCC 800D4B2C 10000005 */ b .L800D4B44 -/* B4BCD0 800D4B30 8FBF0014 */ lw $ra, 0x14($sp) -.L800D4B34: -/* B4BCD4 800D4B34 24846E9C */ addiu $a0, %lo(D_80146E9C) -/* B4BCD8 800D4B38 0C00084C */ jal osSyncPrintf -/* B4BCDC 800D4B3C 8FA50018 */ lw $a1, 0x18($sp) -/* B4BCE0 800D4B40 8FBF0014 */ lw $ra, 0x14($sp) -.L800D4B44: -/* B4BCE4 800D4B44 27BD0018 */ addiu $sp, $sp, 0x18 -/* B4BCE8 800D4B48 03E00008 */ jr $ra -/* B4BCEC 800D4B4C 00000000 */ nop - diff --git a/asm/non_matchings/code/fault/Fault_ProcessClientContext.s b/asm/non_matchings/code/fault/Fault_ProcessClientContext.s deleted file mode 100644 index c0d0df462d..0000000000 --- a/asm/non_matchings/code/fault/Fault_ProcessClientContext.s +++ /dev/null @@ -1,105 +0,0 @@ -glabel Fault_ProcessClientContext -/* B4B1A4 800D4004 3C0DFFFA */ lui $t5, (0xFFFA5A5A >> 16) # lui $t5, 0xfffa -/* B4B1A8 800D4008 03A07025 */ move $t6, $sp -/* B4B1AC 800D400C 27BDFF58 */ addiu $sp, $sp, -0xa8 -/* B4B1B0 800D4010 35AD5A5A */ ori $t5, (0xFFFA5A5A & 0xFFFF) # ori $t5, $t5, 0x5a5a -.L800D4014: -/* B4B1B4 800D4014 25CEFFF8 */ addiu $t6, $t6, -8 -/* B4B1B8 800D4018 ADCD0000 */ sw $t5, ($t6) -/* B4B1BC 800D401C 15DDFFFD */ bne $t6, $sp, .L800D4014 -/* B4B1C0 800D4020 ADCD0004 */ sw $t5, 4($t6) -/* B4B1C4 800D4024 AFBE0050 */ sw $fp, 0x50($sp) -/* B4B1C8 800D4028 AFB00038 */ sw $s0, 0x38($sp) -/* B4B1CC 800D402C 27B00090 */ addiu $s0, $sp, 0x90 -/* B4B1D0 800D4030 03A0F025 */ move $fp, $sp -/* B4B1D4 800D4034 AFBF0054 */ sw $ra, 0x54($sp) -/* B4B1D8 800D4038 AFB5004C */ sw $s5, 0x4c($sp) -/* B4B1DC 800D403C AFB40048 */ sw $s4, 0x48($sp) -/* B4B1E0 800D4040 AFB30044 */ sw $s3, 0x44($sp) -/* B4B1E4 800D4044 AFB20040 */ sw $s2, 0x40($sp) -/* B4B1E8 800D4048 AFB1003C */ sw $s1, 0x3c($sp) -/* B4B1EC 800D404C AFA400A8 */ sw $a0, 0xa8($sp) -/* B4B1F0 800D4050 0000A825 */ move $s5, $zero -/* B4B1F4 800D4054 02002025 */ move $a0, $s0 -/* B4B1F8 800D4058 27C5008C */ addiu $a1, $fp, 0x8c -/* B4B1FC 800D405C 0C001874 */ jal osCreateMesgQueue -/* B4B200 800D4060 24060001 */ li $a2, 1 -/* B4B204 800D4064 8FC700A8 */ lw $a3, 0xa8($fp) -/* B4B208 800D4068 3C0E8017 */ lui $t6, %hi(sFaultStructPtr) # $t6, 0x8017 -/* B4B20C 800D406C 3C06800D */ lui $a2, %hi(Fault_ClientProcessThread) # $a2, 0x800d -/* B4B210 800D4070 ACF00010 */ sw $s0, 0x10($a3) -/* B4B214 800D4074 ACE00014 */ sw $zero, 0x14($a3) -/* B4B218 800D4078 8DCEA800 */ lw $t6, %lo(sFaultStructPtr)($t6) -/* B4B21C 800D407C 24C63F90 */ addiu $a2, %lo(Fault_ClientProcessThread) # addiu $a2, $a2, 0x3f90 -/* B4B220 800D4080 24050002 */ li $a1, 2 -/* B4B224 800D4084 8DC20848 */ lw $v0, 0x848($t6) -/* B4B228 800D4088 240F007E */ li $t7, 126 -/* B4B22C 800D408C 1040000B */ beqz $v0, .L800D40BC -/* B4B230 800D4090 00000000 */ nop -/* B4B234 800D4094 27BDFE50 */ addiu $sp, $sp, -0x1b0 -/* B4B238 800D4098 27B50020 */ addiu $s5, $sp, 0x20 -/* B4B23C 800D409C 02A02025 */ move $a0, $s5 -/* B4B240 800D40A0 AFA20010 */ sw $v0, 0x10($sp) -/* B4B244 800D40A4 0C001154 */ jal osCreateThread -/* B4B248 800D40A8 AFAF0014 */ sw $t7, 0x14($sp) -/* B4B24C 800D40AC 0C0023F0 */ jal osStartThread -/* B4B250 800D40B0 02A02025 */ move $a0, $s5 -/* B4B254 800D40B4 10000003 */ b .L800D40C4 -/* B4B258 800D40B8 00000000 */ nop -.L800D40BC: -/* B4B25C 800D40BC 0C034FE4 */ jal Fault_ClientProcessThread -/* B4B260 800D40C0 00E02025 */ move $a0, $a3 -.L800D40C4: -/* B4B264 800D40C4 3C138017 */ lui $s3, %hi(sFaultIsWaitingForInput) # $s3, 0x8017 -/* B4B268 800D40C8 2673A804 */ addiu $s3, %lo(sFaultIsWaitingForInput) # addiu $s3, $s3, -0x57fc -/* B4B26C 800D40CC 27D40060 */ addiu $s4, $fp, 0x60 -/* B4B270 800D40D0 2412029A */ li $s2, 666 -/* B4B274 800D40D4 27D10088 */ addiu $s1, $fp, 0x88 -/* B4B278 800D40D8 3C0702CB */ lui $a3, (0x02CB4178 >> 16) # lui $a3, 0x2cb -.L800D40DC: -/* B4B27C 800D40DC 24180000 */ li $t8, 0 -/* B4B280 800D40E0 24190000 */ li $t9, 0 -/* B4B284 800D40E4 2408029A */ li $t0, 666 -/* B4B288 800D40E8 AFA8001C */ sw $t0, 0x1c($sp) -/* B4B28C 800D40EC AFB90014 */ sw $t9, 0x14($sp) -/* B4B290 800D40F0 AFB80010 */ sw $t8, 0x10($sp) -/* B4B294 800D40F4 34E74178 */ ori $a3, (0x02CB4178 & 0xFFFF) # ori $a3, $a3, 0x4178 -/* B4B298 800D40F8 02802025 */ move $a0, $s4 -/* B4B29C 800D40FC 24060000 */ li $a2, 0 -/* B4B2A0 800D4100 0C0418B8 */ jal osSetTimer -/* B4B2A4 800D4104 AFB00018 */ sw $s0, 0x18($sp) -/* B4B2A8 800D4108 02002025 */ move $a0, $s0 -/* B4B2AC 800D410C 02202825 */ move $a1, $s1 -/* B4B2B0 800D4110 0C000CA0 */ jal osRecvMesg -/* B4B2B4 800D4114 24060001 */ li $a2, 1 -/* B4B2B8 800D4118 8FC90088 */ lw $t1, 0x88($fp) -/* B4B2BC 800D411C 15320007 */ bne $t1, $s2, .L800D413C -/* B4B2C0 800D4120 00000000 */ nop -/* B4B2C4 800D4124 926A0000 */ lbu $t2, ($s3) -/* B4B2C8 800D4128 5540FFEC */ bnezl $t2, .L800D40DC -/* B4B2CC 800D412C 3C0702CB */ lui $a3, 0x2cb -/* B4B2D0 800D4130 8FCC00A8 */ lw $t4, 0xa8($fp) -/* B4B2D4 800D4134 240BFFFF */ li $t3, -1 -/* B4B2D8 800D4138 AD8B000C */ sw $t3, 0xc($t4) -.L800D413C: -/* B4B2DC 800D413C 0C0408CC */ jal osStopTimer -/* B4B2E0 800D4140 02802025 */ move $a0, $s4 -/* B4B2E4 800D4144 52A00006 */ beql $s5, $zero, .L800D4160 -/* B4B2E8 800D4148 8FDF0054 */ lw $ra, 0x54($fp) -/* B4B2EC 800D414C 0C000C6C */ jal osStopThread -/* B4B2F0 800D4150 02A02025 */ move $a0, $s5 -/* B4B2F4 800D4154 0C0010D0 */ jal osDestroyThread -/* B4B2F8 800D4158 02A02025 */ move $a0, $s5 -/* B4B2FC 800D415C 8FDF0054 */ lw $ra, 0x54($fp) -.L800D4160: -/* B4B300 800D4160 03C0E825 */ move $sp, $fp -/* B4B304 800D4164 8FD00038 */ lw $s0, 0x38($fp) -/* B4B308 800D4168 8FD1003C */ lw $s1, 0x3c($fp) -/* B4B30C 800D416C 8FD20040 */ lw $s2, 0x40($fp) -/* B4B310 800D4170 8FD30044 */ lw $s3, 0x44($fp) -/* B4B314 800D4174 8FD40048 */ lw $s4, 0x48($fp) -/* B4B318 800D4178 8FD5004C */ lw $s5, 0x4c($fp) -/* B4B31C 800D417C 8FDE0050 */ lw $fp, 0x50($fp) -/* B4B320 800D4180 03E00008 */ jr $ra -/* B4B324 800D4184 27BD00A8 */ addiu $sp, $sp, 0xa8 - diff --git a/asm/non_matchings/code/fault_drawer/FaultDrawer_FormatStringFunc.s b/asm/non_matchings/code/fault_drawer/FaultDrawer_FormatStringFunc.s deleted file mode 100644 index 35f0091e78..0000000000 --- a/asm/non_matchings/code/fault_drawer/FaultDrawer_FormatStringFunc.s +++ /dev/null @@ -1,157 +0,0 @@ -.rdata - - -glabel D_80147998 - .asciz "\n" - .balign 4 -glabel D_8014799C - .asciz "%c" - .balign 4 - -.text -glabel FaultDrawer_FormatStringFunc -/* B4DF8C 800D6DEC 3C09FFFA */ lui $t1, (0xFFFA5A5A >> 16) # lui $t1, 0xfffa -/* B4DF90 800D6DF0 03A05025 */ move $t2, $sp -/* B4DF94 800D6DF4 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* B4DF98 800D6DF8 35295A5A */ ori $t1, (0xFFFA5A5A & 0xFFFF) # ori $t1, $t1, 0x5a5a -.L800D6DFC: -/* B4DF9C 800D6DFC 254AFFF8 */ addiu $t2, $t2, -8 -/* B4DFA0 800D6E00 AD490000 */ sw $t1, ($t2) -/* B4DFA4 800D6E04 155DFFFD */ bne $t2, $sp, .L800D6DFC -/* B4DFA8 800D6E08 AD490004 */ sw $t1, 4($t2) -/* B4DFAC 800D6E0C AFB2001C */ sw $s2, 0x1c($sp) -/* B4DFB0 800D6E10 AFB10018 */ sw $s1, 0x18($sp) -/* B4DFB4 800D6E14 00A08825 */ move $s1, $a1 -/* B4DFB8 800D6E18 00C09025 */ move $s2, $a2 -/* B4DFBC 800D6E1C AFBF0034 */ sw $ra, 0x34($sp) -/* B4DFC0 800D6E20 AFB70030 */ sw $s7, 0x30($sp) -/* B4DFC4 800D6E24 AFB6002C */ sw $s6, 0x2c($sp) -/* B4DFC8 800D6E28 AFB50028 */ sw $s5, 0x28($sp) -/* B4DFCC 800D6E2C AFB40024 */ sw $s4, 0x24($sp) -/* B4DFD0 800D6E30 AFB30020 */ sw $s3, 0x20($sp) -/* B4DFD4 800D6E34 AFB00014 */ sw $s0, 0x14($sp) -/* B4DFD8 800D6E38 AFA40038 */ sw $a0, 0x38($sp) -/* B4DFDC 800D6E3C 12400060 */ beqz $s2, .L800D6FC0 -/* B4DFE0 800D6E40 3C178014 */ lui $s7, %hi(D_80147998) # $s7, 0x8014 -/* B4DFE4 800D6E44 3C158014 */ lui $s5, %hi(D_8014799C) # $s5, 0x8014 -/* B4DFE8 800D6E48 3C108017 */ lui $s0, %hi(sFaultDrawerStruct) # $s0, 0x8017 -/* B4DFEC 800D6E4C 2610B680 */ addiu $s0, %lo(sFaultDrawerStruct) # addiu $s0, $s0, -0x4980 -/* B4DFF0 800D6E50 26B5799C */ addiu $s5, %lo(D_8014799C) # addiu $s5, $s5, 0x799c -/* B4DFF4 800D6E54 26F77998 */ addiu $s7, %lo(D_80147998) # addiu $s7, $s7, 0x7998 -/* B4DFF8 800D6E58 24160001 */ li $s6, 1 -/* B4DFFC 800D6E5C 2414001A */ li $s4, 26 -/* B4E000 800D6E60 2413000A */ li $s3, 10 -.L800D6E64: -/* B4E004 800D6E64 920E0034 */ lbu $t6, 0x34($s0) -/* B4E008 800D6E68 51C00011 */ beql $t6, $zero, .L800D6EB0 -/* B4E00C 800D6E6C 92240000 */ lbu $a0, ($s1) -/* B4E010 800D6E70 A2000034 */ sb $zero, 0x34($s0) -/* B4E014 800D6E74 92250000 */ lbu $a1, ($s1) -/* B4E018 800D6E78 28A10031 */ slti $at, $a1, 0x31 -/* B4E01C 800D6E7C 14200006 */ bnez $at, .L800D6E98 -/* B4E020 800D6E80 28A1003A */ slti $at, $a1, 0x3a -/* B4E024 800D6E84 10200004 */ beqz $at, .L800D6E98 -/* B4E028 800D6E88 00057840 */ sll $t7, $a1, 1 -/* B4E02C 800D6E8C 020FC021 */ addu $t8, $s0, $t7 -/* B4E030 800D6E90 0C035AD7 */ jal FaultDrawer_SetForeColor -/* B4E034 800D6E94 9704FFC0 */ lhu $a0, -0x40($t8) -.L800D6E98: -/* B4E038 800D6E98 9619000E */ lhu $t9, 0xe($s0) -/* B4E03C 800D6E9C 9208001C */ lbu $t0, 0x1c($s0) -/* B4E040 800D6EA0 96030014 */ lhu $v1, 0x14($s0) -/* B4E044 800D6EA4 1000002A */ b .L800D6F50 -/* B4E048 800D6EA8 03282023 */ subu $a0, $t9, $t0 -/* B4E04C 800D6EAC 92240000 */ lbu $a0, ($s1) -.L800D6EB0: -/* B4E050 800D6EB0 10930005 */ beq $a0, $s3, .L800D6EC8 -/* B4E054 800D6EB4 00802825 */ move $a1, $a0 -/* B4E058 800D6EB8 50940010 */ beql $a0, $s4, .L800D6EFC -/* B4E05C 800D6EBC 960D000E */ lhu $t5, 0xe($s0) -/* B4E060 800D6EC0 10000013 */ b .L800D6F10 -/* B4E064 800D6EC4 92020035 */ lbu $v0, 0x35($s0) -.L800D6EC8: -/* B4E068 800D6EC8 92090035 */ lbu $t1, 0x35($s0) -/* B4E06C 800D6ECC 51200004 */ beql $t1, $zero, .L800D6EE0 -/* B4E070 800D6ED0 960A0004 */ lhu $t2, 4($s0) -/* B4E074 800D6ED4 0C00084C */ jal osSyncPrintf -/* B4E078 800D6ED8 02E02025 */ move $a0, $s7 -/* B4E07C 800D6EDC 960A0004 */ lhu $t2, 4($s0) -.L800D6EE0: -/* B4E080 800D6EE0 960B000E */ lhu $t3, 0xe($s0) -/* B4E084 800D6EE4 920C001C */ lbu $t4, 0x1c($s0) -/* B4E088 800D6EE8 A60A0014 */ sh $t2, 0x14($s0) -/* B4E08C 800D6EEC 3143FFFF */ andi $v1, $t2, 0xffff -/* B4E090 800D6EF0 10000017 */ b .L800D6F50 -/* B4E094 800D6EF4 016C2023 */ subu $a0, $t3, $t4 -/* B4E098 800D6EF8 960D000E */ lhu $t5, 0xe($s0) -.L800D6EFC: -/* B4E09C 800D6EFC 920E001C */ lbu $t6, 0x1c($s0) -/* B4E0A0 800D6F00 A2160034 */ sb $s6, 0x34($s0) -/* B4E0A4 800D6F04 96030014 */ lhu $v1, 0x14($s0) -/* B4E0A8 800D6F08 10000011 */ b .L800D6F50 -/* B4E0AC 800D6F0C 01AE2023 */ subu $a0, $t5, $t6 -.L800D6F10: -/* B4E0B0 800D6F10 10400004 */ beqz $v0, .L800D6F24 -/* B4E0B4 800D6F14 00000000 */ nop -/* B4E0B8 800D6F18 0C00084C */ jal osSyncPrintf -/* B4E0BC 800D6F1C 02A02025 */ move $a0, $s5 -/* B4E0C0 800D6F20 92240000 */ lbu $a0, ($s1) -.L800D6F24: -/* B4E0C4 800D6F24 0C035A27 */ jal FaultDrawer_DrawChar -/* B4E0C8 800D6F28 00000000 */ nop -/* B4E0CC 800D6F2C 9202001C */ lbu $v0, 0x1c($s0) -/* B4E0D0 800D6F30 960F0014 */ lhu $t7, 0x14($s0) -/* B4E0D4 800D6F34 8219001E */ lb $t9, 0x1e($s0) -/* B4E0D8 800D6F38 9609000E */ lhu $t1, 0xe($s0) -/* B4E0DC 800D6F3C 01E2C021 */ addu $t8, $t7, $v0 -/* B4E0E0 800D6F40 03194021 */ addu $t0, $t8, $t9 -/* B4E0E4 800D6F44 A6080014 */ sh $t0, 0x14($s0) -/* B4E0E8 800D6F48 3103FFFF */ andi $v1, $t0, 0xffff -/* B4E0EC 800D6F4C 01222023 */ subu $a0, $t1, $v0 -.L800D6F50: -/* B4E0F0 800D6F50 0064082A */ slt $at, $v1, $a0 -/* B4E0F4 800D6F54 54200018 */ bnezl $at, .L800D6FB8 -/* B4E0F8 800D6F58 2652FFFF */ addiu $s2, $s2, -1 -/* B4E0FC 800D6F5C 9202001D */ lbu $v0, 0x1d($s0) -/* B4E100 800D6F60 960B0016 */ lhu $t3, 0x16($s0) -/* B4E104 800D6F64 820D001F */ lb $t5, 0x1f($s0) -/* B4E108 800D6F68 9618000A */ lhu $t8, 0xa($s0) -/* B4E10C 800D6F6C 01626021 */ addu $t4, $t3, $v0 -/* B4E110 800D6F70 018D7021 */ addu $t6, $t4, $t5 -/* B4E114 800D6F74 960A000C */ lhu $t2, 0xc($s0) -/* B4E118 800D6F78 31CFFFFF */ andi $t7, $t6, 0xffff -/* B4E11C 800D6F7C 0302C823 */ subu $t9, $t8, $v0 -/* B4E120 800D6F80 01F9082A */ slt $at, $t7, $t9 -/* B4E124 800D6F84 A60E0016 */ sh $t6, 0x16($s0) -/* B4E128 800D6F88 1420000A */ bnez $at, .L800D6FB4 -/* B4E12C 800D6F8C A60A0014 */ sh $t2, 0x14($s0) -/* B4E130 800D6F90 8E020038 */ lw $v0, 0x38($s0) -/* B4E134 800D6F94 50400006 */ beql $v0, $zero, .L800D6FB0 -/* B4E138 800D6F98 96080008 */ lhu $t0, 8($s0) -/* B4E13C 800D6F9C 0040F809 */ jalr $v0 -/* B4E140 800D6FA0 00000000 */ nop -/* B4E144 800D6FA4 0C035B57 */ jal FaultDrawer_FillScreen -/* B4E148 800D6FA8 00000000 */ nop -/* B4E14C 800D6FAC 96080008 */ lhu $t0, 8($s0) -.L800D6FB0: -/* B4E150 800D6FB0 A6080016 */ sh $t0, 0x16($s0) -.L800D6FB4: -/* B4E154 800D6FB4 2652FFFF */ addiu $s2, $s2, -1 -.L800D6FB8: -/* B4E158 800D6FB8 1640FFAA */ bnez $s2, .L800D6E64 -/* B4E15C 800D6FBC 26310001 */ addiu $s1, $s1, 1 -.L800D6FC0: -/* B4E160 800D6FC0 0C041924 */ jal osWritebackDCacheAll -/* B4E164 800D6FC4 00000000 */ nop -/* B4E168 800D6FC8 8FA20038 */ lw $v0, 0x38($sp) -/* B4E16C 800D6FCC 8FBF0034 */ lw $ra, 0x34($sp) -/* B4E170 800D6FD0 8FB00014 */ lw $s0, 0x14($sp) -/* B4E174 800D6FD4 8FB10018 */ lw $s1, 0x18($sp) -/* B4E178 800D6FD8 8FB2001C */ lw $s2, 0x1c($sp) -/* B4E17C 800D6FDC 8FB30020 */ lw $s3, 0x20($sp) -/* B4E180 800D6FE0 8FB40024 */ lw $s4, 0x24($sp) -/* B4E184 800D6FE4 8FB50028 */ lw $s5, 0x28($sp) -/* B4E188 800D6FE8 8FB6002C */ lw $s6, 0x2c($sp) -/* B4E18C 800D6FEC 8FB70030 */ lw $s7, 0x30($sp) -/* B4E190 800D6FF0 03E00008 */ jr $ra -/* B4E194 800D6FF4 27BD0038 */ addiu $sp, $sp, 0x38 \ No newline at end of file diff --git a/asm/non_matchings/code/gfxprint/GfxPrint_PrintChar.s b/asm/non_matchings/code/gfxprint/GfxPrint_PrintChar.s deleted file mode 100644 index a82d3e066b..0000000000 --- a/asm/non_matchings/code/gfxprint/GfxPrint_PrintChar.s +++ /dev/null @@ -1,142 +0,0 @@ -.late_rodata -glabel jtbl_8014A6F0 - .word L800FBA84 - .word L800FBA6C - .word L800FBA5C - .word L800FBA4C - .word L800FBA98 - -.text - -glabel GfxPrint_PrintChar -/* B72A8C 800FB8EC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* B72A90 800FB8F0 AFA50024 */ sw $a1, 0x24($sp) -/* B72A94 800FB8F4 30A500FF */ andi $a1, $a1, 0xff -/* B72A98 800FB8F8 AFB00018 */ sw $s0, 0x18($sp) -/* B72A9C 800FB8FC 24010020 */ li $at, 32 -/* B72AA0 800FB900 00808025 */ move $s0, $a0 -/* B72AA4 800FB904 AFBF001C */ sw $ra, 0x1c($sp) -/* B72AA8 800FB908 30A600FF */ andi $a2, $a1, 0xff -/* B72AAC 800FB90C 14A10005 */ bne $a1, $at, .L800FB924 -/* B72AB0 800FB910 00A01025 */ move $v0, $a1 -/* B72AB4 800FB914 948E0008 */ lhu $t6, 8($a0) -/* B72AB8 800FB918 25CF0020 */ addiu $t7, $t6, 0x20 -/* B72ABC 800FB91C 1000005E */ b .L800FBA98 -/* B72AC0 800FB920 A48F0008 */ sh $t7, 8($a0) -.L800FB924: -/* B72AC4 800FB924 28410021 */ slti $at, $v0, 0x21 -/* B72AC8 800FB928 14200007 */ bnez $at, .L800FB948 -/* B72ACC 800FB92C 2841007F */ slti $at, $v0, 0x7f -/* B72AD0 800FB930 50200006 */ beql $at, $zero, .L800FB94C -/* B72AD4 800FB934 284100A0 */ slti $at, $v0, 0xa0 -/* B72AD8 800FB938 0C03ED16 */ jal GfxPrint_PrintCharImpl -/* B72ADC 800FB93C 02002025 */ move $a0, $s0 -/* B72AE0 800FB940 10000056 */ b .L800FBA9C -/* B72AE4 800FB944 8FBF001C */ lw $ra, 0x1c($sp) -.L800FB948: -/* B72AE8 800FB948 284100A0 */ slti $at, $v0, 0xa0 -.L800FB94C: -/* B72AEC 800FB94C 14200012 */ bnez $at, .L800FB998 -/* B72AF0 800FB950 284100E0 */ slti $at, $v0, 0xe0 -/* B72AF4 800FB954 10200010 */ beqz $at, .L800FB998 -/* B72AF8 800FB958 02002025 */ move $a0, $s0 -/* B72AFC 800FB95C 9218000F */ lbu $t8, 0xf($s0) -/* B72B00 800FB960 284100C0 */ slti $at, $v0, 0xc0 -/* B72B04 800FB964 33190001 */ andi $t9, $t8, 1 -/* B72B08 800FB968 13200007 */ beqz $t9, .L800FB988 -/* B72B0C 800FB96C 00000000 */ nop -/* B72B10 800FB970 10200004 */ beqz $at, .L800FB984 -/* B72B14 800FB974 24460020 */ addiu $a2, $v0, 0x20 -/* B72B18 800FB978 2446FFE0 */ addiu $a2, $v0, -0x20 -/* B72B1C 800FB97C 10000002 */ b .L800FB988 -/* B72B20 800FB980 30C600FF */ andi $a2, $a2, 0xff -.L800FB984: -/* B72B24 800FB984 30C600FF */ andi $a2, $a2, 0xff -.L800FB988: -/* B72B28 800FB988 0C03ED16 */ jal GfxPrint_PrintCharImpl -/* B72B2C 800FB98C 30C500FF */ andi $a1, $a2, 0xff -/* B72B30 800FB990 10000042 */ b .L800FBA9C -/* B72B34 800FB994 8FBF001C */ lw $ra, 0x1c($sp) -.L800FB998: -/* B72B38 800FB998 2841000B */ slti $at, $v0, 0xb -/* B72B3C 800FB99C 14200010 */ bnez $at, .L800FB9E0 -/* B72B40 800FB9A0 2841000E */ slti $at, $v0, 0xe -/* B72B44 800FB9A4 14200009 */ bnez $at, .L800FB9CC -/* B72B48 800FB9A8 2448FF76 */ addiu $t0, $v0, -0x8a -/* B72B4C 800FB9AC 2D010005 */ sltiu $at, $t0, 5 -/* B72B50 800FB9B0 10200039 */ beqz $at, .L800FBA98 -/* B72B54 800FB9B4 00084080 */ sll $t0, $t0, 2 -/* B72B58 800FB9B8 3C018015 */ lui $at, %hi(jtbl_8014A6F0) -/* B72B5C 800FB9BC 00280821 */ addu $at, $at, $t0 -/* B72B60 800FB9C0 8C28A6F0 */ lw $t0, %lo(jtbl_8014A6F0)($at) -/* B72B64 800FB9C4 01000008 */ jr $t0 -/* B72B68 800FB9C8 00000000 */ nop -.L800FB9CC: -/* B72B6C 800FB9CC 2401000D */ li $at, 13 -/* B72B70 800FB9D0 5041000D */ beql $v0, $at, .L800FBA08 -/* B72B74 800FB9D4 960B000C */ lhu $t3, 0xc($s0) -/* B72B78 800FB9D8 10000030 */ b .L800FBA9C -/* B72B7C 800FB9DC 8FBF001C */ lw $ra, 0x1c($sp) -.L800FB9E0: -/* B72B80 800FB9E0 1040002D */ beqz $v0, .L800FBA98 -/* B72B84 800FB9E4 24010009 */ li $at, 9 -/* B72B88 800FB9E8 10410009 */ beq $v0, $at, .L800FBA10 -/* B72B8C 800FB9EC 2401000A */ li $at, 10 -/* B72B90 800FB9F0 5441002A */ bnel $v0, $at, .L800FBA9C -/* B72B94 800FB9F4 8FBF001C */ lw $ra, 0x1c($sp) -/* B72B98 800FB9F8 9609000A */ lhu $t1, 0xa($s0) -/* B72B9C 800FB9FC 252A0020 */ addiu $t2, $t1, 0x20 -/* B72BA0 800FBA00 A60A000A */ sh $t2, 0xa($s0) -/* B72BA4 800FBA04 960B000C */ lhu $t3, 0xc($s0) -.L800FBA08: -/* B72BA8 800FBA08 10000023 */ b .L800FBA98 -/* B72BAC 800FBA0C A60B0008 */ sh $t3, 8($s0) -.L800FBA10: -/* B72BB0 800FBA10 02002025 */ move $a0, $s0 -.L800FBA14: -/* B72BB4 800FBA14 0C03ED16 */ jal GfxPrint_PrintCharImpl -/* B72BB8 800FBA18 24050020 */ li $a1, 32 -/* B72BBC 800FBA1C 960C0008 */ lhu $t4, 8($s0) -/* B72BC0 800FBA20 960D000C */ lhu $t5, 0xc($s0) -/* B72BC4 800FBA24 018D7023 */ subu $t6, $t4, $t5 -/* B72BC8 800FBA28 05C10004 */ bgez $t6, .L800FBA3C -/* B72BCC 800FBA2C 31CF00FF */ andi $t7, $t6, 0xff -/* B72BD0 800FBA30 11E00002 */ beqz $t7, .L800FBA3C -/* B72BD4 800FBA34 00000000 */ nop -/* B72BD8 800FBA38 25EFFF00 */ addiu $t7, $t7, -0x100 -.L800FBA3C: -/* B72BDC 800FBA3C 55E0FFF5 */ bnezl $t7, .L800FBA14 -/* B72BE0 800FBA40 02002025 */ move $a0, $s0 -/* B72BE4 800FBA44 10000015 */ b .L800FBA9C -/* B72BE8 800FBA48 8FBF001C */ lw $ra, 0x1c($sp) -glabel L800FBA4C -/* B72BEC 800FBA4C 9218000F */ lbu $t8, 0xf($s0) -/* B72BF0 800FBA50 37190001 */ ori $t9, $t8, 1 -/* B72BF4 800FBA54 10000010 */ b .L800FBA98 -/* B72BF8 800FBA58 A219000F */ sb $t9, 0xf($s0) -glabel L800FBA5C -/* B72BFC 800FBA5C 9208000F */ lbu $t0, 0xf($s0) -/* B72C00 800FBA60 3109FFFE */ andi $t1, $t0, 0xfffe -/* B72C04 800FBA64 1000000C */ b .L800FBA98 -/* B72C08 800FBA68 A209000F */ sb $t1, 0xf($s0) -glabel L800FBA6C -/* B72C0C 800FBA6C 920A000F */ lbu $t2, 0xf($s0) -/* B72C10 800FBA70 354C0002 */ ori $t4, $t2, 2 -/* B72C14 800FBA74 A20C000F */ sb $t4, 0xf($s0) -/* B72C18 800FBA78 358D0008 */ ori $t5, $t4, 8 -/* B72C1C 800FBA7C 10000006 */ b .L800FBA98 -/* B72C20 800FBA80 A20D000F */ sb $t5, 0xf($s0) -glabel L800FBA84 -/* B72C24 800FBA84 920E000F */ lbu $t6, 0xf($s0) -/* B72C28 800FBA88 31D8FFFD */ andi $t8, $t6, 0xfffd -/* B72C2C 800FBA8C A218000F */ sb $t8, 0xf($s0) -/* B72C30 800FBA90 37190008 */ ori $t9, $t8, 8 -/* B72C34 800FBA94 A219000F */ sb $t9, 0xf($s0) -.L800FBA98: -glabel L800FBA98 -/* B72C38 800FBA98 8FBF001C */ lw $ra, 0x1c($sp) -.L800FBA9C: -/* B72C3C 800FBA9C 8FB00018 */ lw $s0, 0x18($sp) -/* B72C40 800FBAA0 27BD0020 */ addiu $sp, $sp, 0x20 -/* B72C44 800FBAA4 03E00008 */ jr $ra -/* B72C48 800FBAA8 00000000 */ nop \ No newline at end of file diff --git a/asm/non_matchings/code/z_camera/func_800457A8.s b/asm/non_matchings/code/z_camera/func_800457A8.s deleted file mode 100644 index a33dd631c6..0000000000 --- a/asm/non_matchings/code/z_camera/func_800457A8.s +++ /dev/null @@ -1,86 +0,0 @@ -.late_rodata -glabel D_80139DDC - .float 0.1 - -glabel D_80139DE0 - .float 0.2 - -.text -glabel func_800457A8 -/* ABC948 800457A8 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* ABC94C 800457AC AFB00020 */ sw $s0, 0x20($sp) -/* ABC950 800457B0 00808025 */ move $s0, $a0 -/* ABC954 800457B4 AFBF0024 */ sw $ra, 0x24($sp) -/* ABC958 800457B8 AFA50064 */ sw $a1, 0x64($sp) -/* ABC95C 800457BC AFA60068 */ sw $a2, 0x68($sp) -/* ABC960 800457C0 AFA7006C */ sw $a3, 0x6c($sp) -/* ABC964 800457C4 0C00B721 */ jal func_8002DC84 -/* ABC968 800457C8 8C840090 */ lw $a0, 0x90($a0) -/* ABC96C 800457CC C7A40068 */ lwc1 $f4, 0x68($sp) -/* ABC970 800457D0 44801000 */ mtc1 $zero, $f2 -/* ABC974 800457D4 87AE006E */ lh $t6, 0x6e($sp) -/* ABC978 800457D8 46040180 */ add.s $f6, $f0, $f4 -/* ABC97C 800457DC 46000386 */ mov.s $f14, $f0 -/* ABC980 800457E0 E7A20050 */ swc1 $f2, 0x50($sp) -/* ABC984 800457E4 E7A20058 */ swc1 $f2, 0x58($sp) -/* ABC988 800457E8 11C00014 */ beqz $t6, .L8004583C -/* ABC98C 800457EC E7A60054 */ swc1 $f6, 0x54($sp) -/* ABC990 800457F0 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016 -/* ABC994 800457F4 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8) -/* ABC998 800457F8 8FAF0064 */ lw $t7, 0x64($sp) -/* ABC99C 800457FC 860500A2 */ lh $a1, 0xa2($s0) -/* ABC9A0 80045800 871901A6 */ lh $t9, 0x1a6($t8) -/* ABC9A4 80045804 85E60006 */ lh $a2, 6($t7) -/* ABC9A8 80045808 E7AE0038 */ swc1 $f14, 0x38($sp) -/* ABC9AC 8004580C 44994000 */ mtc1 $t9, $f8 -/* ABC9B0 80045810 26040108 */ addiu $a0, $s0, 0x108 -/* ABC9B4 80045814 46804220 */ cvt.s.w $f8, $f8 -/* ABC9B8 80045818 44074000 */ mfc1 $a3, $f8 -/* ABC9BC 8004581C 0C0115C5 */ jal func_80045714 -/* ABC9C0 80045820 00000000 */ nop -/* ABC9C4 80045824 C7AE0038 */ lwc1 $f14, 0x38($sp) -/* ABC9C8 80045828 0C01F02A */ jal func_8007C0A8 -/* ABC9CC 8004582C 46000306 */ mov.s $f12, $f0 -/* ABC9D0 80045830 C7AA0054 */ lwc1 $f10, 0x54($sp) -/* ABC9D4 80045834 46005401 */ sub.s $f16, $f10, $f0 -/* ABC9D8 80045838 E7B00054 */ swc1 $f16, 0x54($sp) -.L8004583C: -/* ABC9DC 8004583C 3C018014 */ lui $at, %hi(D_80139DDC) -/* ABC9E0 80045840 C4329DDC */ lwc1 $f18, %lo(D_80139DDC)($at) -/* ABC9E4 80045844 8E0600D0 */ lw $a2, 0xd0($s0) -/* ABC9E8 80045848 8E0700CC */ lw $a3, 0xcc($s0) -/* ABC9EC 8004584C 26020094 */ addiu $v0, $s0, 0x94 -/* ABC9F0 80045850 AFA2002C */ sw $v0, 0x2c($sp) -/* ABC9F4 80045854 27A40050 */ addiu $a0, $sp, 0x50 -/* ABC9F8 80045858 260500E4 */ addiu $a1, $s0, 0xe4 -/* ABC9FC 8004585C 0C010E8F */ jal func_80043A3C -/* ABCA00 80045860 E7B20010 */ swc1 $f18, 0x10($sp) -/* ABCA04 80045864 8FA2002C */ lw $v0, 0x2c($sp) -/* ABCA08 80045868 C60600E4 */ lwc1 $f6, 0xe4($s0) -/* ABCA0C 8004586C 3C018014 */ lui $at, %hi(D_80139DE0) -/* ABCA10 80045870 C4440000 */ lwc1 $f4, ($v0) -/* ABCA14 80045874 27A40044 */ addiu $a0, $sp, 0x44 -/* ABCA18 80045878 26050050 */ addiu $a1, $s0, 0x50 -/* ABCA1C 8004587C 46062200 */ add.s $f8, $f4, $f6 -/* ABCA20 80045880 E7A80044 */ swc1 $f8, 0x44($sp) -/* ABCA24 80045884 C61000E8 */ lwc1 $f16, 0xe8($s0) -/* ABCA28 80045888 C44A0004 */ lwc1 $f10, 4($v0) -/* ABCA2C 8004588C 46105480 */ add.s $f18, $f10, $f16 -/* ABCA30 80045890 C42A9DE0 */ lwc1 $f10, %lo(D_80139DE0)($at) -/* ABCA34 80045894 E7B20048 */ swc1 $f18, 0x48($sp) -/* ABCA38 80045898 C60600EC */ lwc1 $f6, 0xec($s0) -/* ABCA3C 8004589C C4440008 */ lwc1 $f4, 8($v0) -/* ABCA40 800458A0 46062200 */ add.s $f8, $f4, $f6 -/* ABCA44 800458A4 E7A8004C */ swc1 $f8, 0x4c($sp) -/* ABCA48 800458A8 C6000100 */ lwc1 $f0, 0x100($s0) -/* ABCA4C 800458AC E7AA0010 */ swc1 $f10, 0x10($sp) -/* ABCA50 800458B0 44060000 */ mfc1 $a2, $f0 -/* ABCA54 800458B4 44070000 */ mfc1 $a3, $f0 -/* ABCA58 800458B8 0C010E8F */ jal func_80043A3C -/* ABCA5C 800458BC 00000000 */ nop -/* ABCA60 800458C0 8FBF0024 */ lw $ra, 0x24($sp) -/* ABCA64 800458C4 8FB00020 */ lw $s0, 0x20($sp) -/* ABCA68 800458C8 27BD0060 */ addiu $sp, $sp, 0x60 -/* ABCA6C 800458CC 03E00008 */ jr $ra -/* ABCA70 800458D0 24020001 */ li $v0, 1 - diff --git a/asm/non_matchings/code/z_camera/func_80057FC4.s b/asm/non_matchings/code/z_camera/func_80057FC4.s deleted file mode 100644 index f52414a759..0000000000 --- a/asm/non_matchings/code/z_camera/func_80057FC4.s +++ /dev/null @@ -1,116 +0,0 @@ -.rdata -glabel D_8013984C - .asciz "camera: room type: default set field\n" - .balign 4 - -glabel D_80139874 - .asciz "camera: room type: default set etc (%d)\n" - .balign 4 - -glabel D_801398A0 - .asciz "camera: room type: prerender\n" - .balign 4 - -.text -glabel func_80057FC4 -/* ACF164 80057FC4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* ACF168 80057FC8 AFBF002C */ sw $ra, 0x2c($sp) -/* ACF16C 80057FCC AFB00028 */ sw $s0, 0x28($sp) -/* ACF170 80057FD0 8C82008C */ lw $v0, 0x8c($a0) -/* ACF174 80057FD4 3C010001 */ lui $at, 1 -/* ACF178 80057FD8 00808025 */ move $s0, $a0 -/* ACF17C 80057FDC 244E01E0 */ addiu $t6, $v0, 0x1e0 -/* ACF180 80057FE0 108E0009 */ beq $a0, $t6, .L80058008 -/* ACF184 80057FE4 00411821 */ addu $v1, $v0, $at -/* ACF188 80057FE8 8499014C */ lh $t9, 0x14c($a0) -/* ACF18C 80057FEC 240F0021 */ li $t7, 33 -/* ACF190 80057FF0 A48F0142 */ sh $t7, 0x142($a0) -/* ACF194 80057FF4 84980142 */ lh $t8, 0x142($a0) -/* ACF198 80057FF8 3328FFFB */ andi $t0, $t9, 0xfffb -/* ACF19C 80057FFC A488014C */ sh $t0, 0x14c($a0) -/* ACF1A0 80058000 1000004A */ b .L8005812C -/* ACF1A4 80058004 A4980154 */ sh $t8, 0x154($a0) -.L80058008: -/* ACF1A8 80058008 8C691CC4 */ lw $t1, 0x1cc4($v1) -/* ACF1AC 8005800C 24060001 */ li $a2, 1 -/* ACF1B0 80058010 3C048014 */ lui $a0, %hi(D_801398A0) -/* ACF1B4 80058014 912A0000 */ lbu $t2, ($t1) -/* ACF1B8 80058018 10CA003B */ beq $a2, $t2, .L80058108 -/* ACF1BC 8005801C 00000000 */ nop -/* ACF1C0 80058020 90651CBF */ lbu $a1, 0x1cbf($v1) -/* ACF1C4 80058024 3C048014 */ lui $a0, %hi(D_8013984C) -/* ACF1C8 80058028 10A00012 */ beqz $a1, .L80058074 -/* ACF1CC 8005802C 00000000 */ nop -/* ACF1D0 80058030 14A60021 */ bne $a1, $a2, .L800580B8 -/* ACF1D4 80058034 3C048014 */ lui $a0, %hi(D_80139874) # $a0, 0x8014 -/* ACF1D8 80058038 240B0012 */ li $t3, 18 -/* ACF1DC 8005803C 240C000A */ li $t4, 10 -/* ACF1E0 80058040 AFAC0018 */ sw $t4, 0x18($sp) -/* ACF1E4 80058044 AFAB0014 */ sw $t3, 0x14($sp) -/* ACF1E8 80058048 02002025 */ move $a0, $s0 -/* ACF1EC 8005804C 00002825 */ move $a1, $zero -/* ACF1F0 80058050 2406FF9D */ li $a2, -99 -/* ACF1F4 80058054 24070000 */ li $a3, 0 -/* ACF1F8 80058058 0C016B50 */ jal func_8005AD40 -/* ACF1FC 8005805C AFA00010 */ sw $zero, 0x10($sp) -/* ACF200 80058060 240D0003 */ li $t5, 3 -/* ACF204 80058064 A60D0142 */ sh $t5, 0x142($s0) -/* ACF208 80058068 860E0142 */ lh $t6, 0x142($s0) -/* ACF20C 8005806C 1000002F */ b .L8005812C -/* ACF210 80058070 A60E0154 */ sh $t6, 0x154($s0) -.L80058074: -/* ACF214 80058074 0C00084C */ jal osSyncPrintf -/* ACF218 80058078 2484984C */ addiu $a0, %lo(D_8013984C) # addiu $a0, $a0, -0x67b4 -/* ACF21C 8005807C 240F0012 */ li $t7, 18 -/* ACF220 80058080 2418000A */ li $t8, 10 -/* ACF224 80058084 AFB80018 */ sw $t8, 0x18($sp) -/* ACF228 80058088 AFAF0014 */ sw $t7, 0x14($sp) -/* ACF22C 8005808C 02002025 */ move $a0, $s0 -/* ACF230 80058090 00002825 */ move $a1, $zero -/* ACF234 80058094 2406FF9D */ li $a2, -99 -/* ACF238 80058098 24070000 */ li $a3, 0 -/* ACF23C 8005809C 0C016B50 */ jal func_8005AD40 -/* ACF240 800580A0 AFA00010 */ sw $zero, 0x10($sp) -/* ACF244 800580A4 24190001 */ li $t9, 1 -/* ACF248 800580A8 A6190142 */ sh $t9, 0x142($s0) -/* ACF24C 800580AC 86080142 */ lh $t0, 0x142($s0) -/* ACF250 800580B0 1000001E */ b .L8005812C -/* ACF254 800580B4 A6080154 */ sh $t0, 0x154($s0) -.L800580B8: -/* ACF258 800580B8 0C00084C */ jal osSyncPrintf -/* ACF25C 800580BC 24849874 */ addiu $a0, %lo(D_80139874) -/* ACF260 800580C0 24090012 */ li $t1, 18 -/* ACF264 800580C4 240A000A */ li $t2, 10 -/* ACF268 800580C8 AFAA0018 */ sw $t2, 0x18($sp) -/* ACF26C 800580CC AFA90014 */ sw $t1, 0x14($sp) -/* ACF270 800580D0 02002025 */ move $a0, $s0 -/* ACF274 800580D4 00002825 */ move $a1, $zero -/* ACF278 800580D8 2406FF9D */ li $a2, -99 -/* ACF27C 800580DC 24070000 */ li $a3, 0 -/* ACF280 800580E0 0C016B50 */ jal func_8005AD40 -/* ACF284 800580E4 AFA00010 */ sw $zero, 0x10($sp) -/* ACF288 800580E8 860D014C */ lh $t5, 0x14c($s0) -/* ACF28C 800580EC 240B0001 */ li $t3, 1 -/* ACF290 800580F0 A60B0142 */ sh $t3, 0x142($s0) -/* ACF294 800580F4 860C0142 */ lh $t4, 0x142($s0) -/* ACF298 800580F8 35AE0004 */ ori $t6, $t5, 4 -/* ACF29C 800580FC A60E014C */ sh $t6, 0x14c($s0) -/* ACF2A0 80058100 1000000A */ b .L8005812C -/* ACF2A4 80058104 A60C0154 */ sh $t4, 0x154($s0) -.L80058108: -/* ACF2A8 80058108 0C00084C */ jal osSyncPrintf -/* ACF2AC 8005810C 248498A0 */ addiu $a0, %lo(D_801398A0) -/* ACF2B0 80058110 240F0021 */ li $t7, 33 -/* ACF2B4 80058114 8619014C */ lh $t9, 0x14c($s0) -/* ACF2B8 80058118 A60F0142 */ sh $t7, 0x142($s0) -/* ACF2BC 8005811C 86180142 */ lh $t8, 0x142($s0) -/* ACF2C0 80058120 3328FFFB */ andi $t0, $t9, 0xfffb -/* ACF2C4 80058124 A608014C */ sh $t0, 0x14c($s0) -/* ACF2C8 80058128 A6180154 */ sh $t8, 0x154($s0) -.L8005812C: -/* ACF2CC 8005812C 8FBF002C */ lw $ra, 0x2c($sp) -/* ACF2D0 80058130 8FB00028 */ lw $s0, 0x28($sp) -/* ACF2D4 80058134 27BD0030 */ addiu $sp, $sp, 0x30 -/* ACF2D8 80058138 03E00008 */ jr $ra -/* ACF2DC 8005813C 00000000 */ nop - diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Go/func_8097CB0C.s b/asm/non_matchings/overlays/actors/ovl_Demo_Go/func_8097CB0C.s deleted file mode 100644 index d3cd52a91b..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Go/func_8097CB0C.s +++ /dev/null @@ -1,67 +0,0 @@ -glabel func_8097CB0C -/* 0029C 8097CB0C 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 002A0 8097CB10 AFBF0014 */ sw $ra, 0x0014($sp) -/* 002A4 8097CB14 AFA40040 */ sw $a0, 0x0040($sp) -/* 002A8 8097CB18 90AE1D6C */ lbu $t6, 0x1D6C($a1) ## 00001D6C -/* 002AC 8097CB1C 51C00037 */ beql $t6, $zero, .L8097CBFC -/* 002B0 8097CB20 8FBF0014 */ lw $ra, 0x0014($sp) -/* 002B4 8097CB24 0C25F21C */ jal func_8097C870 -/* 002B8 8097CB28 AFA50044 */ sw $a1, 0x0044($sp) -/* 002BC 8097CB2C 8FA50044 */ lw $a1, 0x0044($sp) -/* 002C0 8097CB30 00027880 */ sll $t7, $v0, 2 -/* 002C4 8097CB34 24A71D64 */ addiu $a3, $a1, 0x1D64 ## $a3 = 00001D64 -/* 002C8 8097CB38 00EFC021 */ addu $t8, $a3, $t7 -/* 002CC 8097CB3C 8F030028 */ lw $v1, 0x0028($t8) ## 00000028 -/* 002D0 8097CB40 5060002E */ beql $v1, $zero, .L8097CBFC -/* 002D4 8097CB44 8FBF0014 */ lw $ra, 0x0014($sp) -/* 002D8 8097CB48 94640004 */ lhu $a0, 0x0004($v1) ## 00000004 -/* 002DC 8097CB4C 94650002 */ lhu $a1, 0x0002($v1) ## 00000002 -/* 002E0 8097CB50 94E60010 */ lhu $a2, 0x0010($a3) ## 00001D74 -/* 002E4 8097CB54 0C01BE4F */ jal func_8006F93C -/* 002E8 8097CB58 AFA30030 */ sw $v1, 0x0030($sp) -/* 002EC 8097CB5C 8FA30030 */ lw $v1, 0x0030($sp) -/* 002F0 8097CB60 8FA50040 */ lw $a1, 0x0040($sp) -/* 002F4 8097CB64 8C680010 */ lw $t0, 0x0010($v1) ## 00000010 -/* 002F8 8097CB68 8C79000C */ lw $t9, 0x000C($v1) ## 0000000C -/* 002FC 8097CB6C 8C6A0018 */ lw $t2, 0x0018($v1) ## 00000018 -/* 00300 8097CB70 8C690014 */ lw $t1, 0x0014($v1) ## 00000014 -/* 00304 8097CB74 44883000 */ mtc1 $t0, $f6 ## $f6 = 0.00 -/* 00308 8097CB78 8C6C0020 */ lw $t4, 0x0020($v1) ## 00000020 -/* 0030C 8097CB7C 44992000 */ mtc1 $t9, $f4 ## $f4 = 0.00 -/* 00310 8097CB80 8C6B001C */ lw $t3, 0x001C($v1) ## 0000001C -/* 00314 8097CB84 448A5000 */ mtc1 $t2, $f10 ## $f10 = 0.00 -/* 00318 8097CB88 46803320 */ cvt.s.w $f12, $f6 -/* 0031C 8097CB8C 44894000 */ mtc1 $t1, $f8 ## $f8 = 0.00 -/* 00320 8097CB90 448C3000 */ mtc1 $t4, $f6 ## $f6 = 0.00 -/* 00324 8097CB94 24A20024 */ addiu $v0, $a1, 0x0024 ## $v0 = 00000024 -/* 00328 8097CB98 468020A0 */ cvt.s.w $f2, $f4 -/* 0032C 8097CB9C 448B2000 */ mtc1 $t3, $f4 ## $f4 = 0.00 -/* 00330 8097CBA0 46805420 */ cvt.s.w $f16, $f10 -/* 00334 8097CBA4 468043A0 */ cvt.s.w $f14, $f8 -/* 00338 8097CBA8 46803220 */ cvt.s.w $f8, $f6 -/* 0033C 8097CBAC 468024A0 */ cvt.s.w $f18, $f4 -/* 00340 8097CBB0 E7A80018 */ swc1 $f8, 0x0018($sp) -/* 00344 8097CBB4 46028281 */ sub.s $f10, $f16, $f2 -/* 00348 8097CBB8 460C9201 */ sub.s $f8, $f18, $f12 -/* 0034C 8097CBBC 46005102 */ mul.s $f4, $f10, $f0 -/* 00350 8097CBC0 00000000 */ nop -/* 00354 8097CBC4 46004282 */ mul.s $f10, $f8, $f0 -/* 00358 8097CBC8 46022180 */ add.s $f6, $f4, $f2 -/* 0035C 8097CBCC 460C5100 */ add.s $f4, $f10, $f12 -/* 00360 8097CBD0 E4460000 */ swc1 $f6, 0x0000($v0) ## 00000024 -/* 00364 8097CBD4 E4440004 */ swc1 $f4, 0x0004($v0) ## 00000028 -/* 00368 8097CBD8 C7A60018 */ lwc1 $f6, 0x0018($sp) -/* 0036C 8097CBDC 460E3201 */ sub.s $f8, $f6, $f14 -/* 00370 8097CBE0 46004282 */ mul.s $f10, $f8, $f0 -/* 00374 8097CBE4 460E5100 */ add.s $f4, $f10, $f14 -/* 00378 8097CBE8 E4440008 */ swc1 $f4, 0x0008($v0) ## 0000002C -/* 0037C 8097CBEC 84640008 */ lh $a0, 0x0008($v1) ## 00000008 -/* 00380 8097CBF0 A4A400B6 */ sh $a0, 0x00B6($a1) ## 000000B6 -/* 00384 8097CBF4 A444000E */ sh $a0, 0x000E($v0) ## 00000032 -/* 00388 8097CBF8 8FBF0014 */ lw $ra, 0x0014($sp) -.L8097CBFC: -/* 0038C 8097CBFC 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 -/* 00390 8097CC00 03E00008 */ jr $ra -/* 00394 8097CC04 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Go/func_8097D29C.s b/asm/non_matchings/overlays/actors/ovl_Demo_Go/func_8097D29C.s deleted file mode 100644 index c0cb0a0e49..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Go/func_8097D29C.s +++ /dev/null @@ -1,95 +0,0 @@ -.rdata - -glabel D_8097D4CC - .asciz "../z_demo_go.c" - .balign 4 - -glabel D_8097D4DC - .asciz "../z_demo_go.c" - .balign 4 - -.text - -glabel func_8097D29C -/* 00A2C 8097D29C 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0 -/* 00A30 8097D2A0 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00A34 8097D2A4 AFA40060 */ sw $a0, 0x0060($sp) -/* 00A38 8097D2A8 AFA50064 */ sw $a1, 0x0064($sp) -/* 00A3C 8097D2AC 84820190 */ lh $v0, 0x0190($a0) ## 00000190 -/* 00A40 8097D2B0 3C188098 */ lui $t8, %hi(D_8097D440) ## $t8 = 80980000 -/* 00A44 8097D2B4 3C068098 */ lui $a2, %hi(D_8097D4CC) ## $a2 = 80980000 -/* 00A48 8097D2B8 00027880 */ sll $t7, $v0, 2 -/* 00A4C 8097D2BC 030FC021 */ addu $t8, $t8, $t7 -/* 00A50 8097D2C0 8F18D440 */ lw $t8, %lo(D_8097D440)($t8) -/* 00A54 8097D2C4 24C6D4CC */ addiu $a2, $a2, %lo(D_8097D4CC) ## $a2 = 8097D4CC -/* 00A58 8097D2C8 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFD8 -/* 00A5C 8097D2CC AFB80050 */ sw $t8, 0x0050($sp) -/* 00A60 8097D2D0 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 00A64 8097D2D4 240702DC */ addiu $a3, $zero, 0x02DC ## $a3 = 000002DC -/* 00A68 8097D2D8 0C031AB1 */ jal func_800C6AC4 -/* 00A6C 8097D2DC AFA50048 */ sw $a1, 0x0048($sp) -/* 00A70 8097D2E0 8FA90064 */ lw $t1, 0x0064($sp) -/* 00A74 8097D2E4 0C024F46 */ jal func_80093D18 -/* 00A78 8097D2E8 8D240000 */ lw $a0, 0x0000($t1) ## 00000000 -/* 00A7C 8097D2EC 8FA80048 */ lw $t0, 0x0048($sp) -/* 00A80 8097D2F0 8FA40050 */ lw $a0, 0x0050($sp) -/* 00A84 8097D2F4 3C058016 */ lui $a1, 0x8016 ## $a1 = 80160000 -/* 00A88 8097D2F8 8D0302C0 */ lw $v1, 0x02C0($t0) ## 000002C0 -/* 00A8C 8097D2FC 00046100 */ sll $t4, $a0, 4 -/* 00A90 8097D300 000C6F02 */ srl $t5, $t4, 28 -/* 00A94 8097D304 3C0BDB06 */ lui $t3, 0xDB06 ## $t3 = DB060000 -/* 00A98 8097D308 246A0008 */ addiu $t2, $v1, 0x0008 ## $t2 = 00000008 -/* 00A9C 8097D30C 356B0020 */ ori $t3, $t3, 0x0020 ## $t3 = DB060020 -/* 00AA0 8097D310 000D7080 */ sll $t6, $t5, 2 -/* 00AA4 8097D314 24A56FA8 */ addiu $a1, $a1, 0x6FA8 ## $a1 = 80166FA8 -/* 00AA8 8097D318 AD0A02C0 */ sw $t2, 0x02C0($t0) ## 000002C0 -/* 00AAC 8097D31C 00AE7821 */ addu $t7, $a1, $t6 -/* 00AB0 8097D320 AC6B0000 */ sw $t3, 0x0000($v1) ## 00000000 -/* 00AB4 8097D324 8DF80000 */ lw $t8, 0x0000($t7) ## 00000000 -/* 00AB8 8097D328 3C0600FF */ lui $a2, 0x00FF ## $a2 = 00FF0000 -/* 00ABC 8097D32C 34C6FFFF */ ori $a2, $a2, 0xFFFF ## $a2 = 00FFFFFF -/* 00AC0 8097D330 0086C824 */ and $t9, $a0, $a2 -/* 00AC4 8097D334 3C078000 */ lui $a3, 0x8000 ## $a3 = 80000000 -/* 00AC8 8097D338 03194821 */ addu $t1, $t8, $t9 -/* 00ACC 8097D33C 01275021 */ addu $t2, $t1, $a3 -/* 00AD0 8097D340 AC6A0004 */ sw $t2, 0x0004($v1) ## 00000004 -/* 00AD4 8097D344 8D0302C0 */ lw $v1, 0x02C0($t0) ## 000002C0 -/* 00AD8 8097D348 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000 -/* 00ADC 8097D34C 2484E680 */ addiu $a0, $a0, 0xE680 ## $a0 = 0600E680 -/* 00AE0 8097D350 00046900 */ sll $t5, $a0, 4 -/* 00AE4 8097D354 000D7702 */ srl $t6, $t5, 28 -/* 00AE8 8097D358 3C0CDB06 */ lui $t4, 0xDB06 ## $t4 = DB060000 -/* 00AEC 8097D35C 246B0008 */ addiu $t3, $v1, 0x0008 ## $t3 = 00000008 -/* 00AF0 8097D360 358C0024 */ ori $t4, $t4, 0x0024 ## $t4 = DB060024 -/* 00AF4 8097D364 000E7880 */ sll $t7, $t6, 2 -/* 00AF8 8097D368 AD0B02C0 */ sw $t3, 0x02C0($t0) ## 000002C0 -/* 00AFC 8097D36C 00AFC021 */ addu $t8, $a1, $t7 -/* 00B00 8097D370 AC6C0000 */ sw $t4, 0x0000($v1) ## 00000000 -/* 00B04 8097D374 8F190000 */ lw $t9, 0x0000($t8) ## 00000000 -/* 00B08 8097D378 00864824 */ and $t1, $a0, $a2 -/* 00B0C 8097D37C 03295021 */ addu $t2, $t9, $t1 -/* 00B10 8097D380 01475821 */ addu $t3, $t2, $a3 -/* 00B14 8097D384 AC6B0004 */ sw $t3, 0x0004($v1) ## 00000004 -/* 00B18 8097D388 8FA30060 */ lw $v1, 0x0060($sp) -/* 00B1C 8097D38C 8FA40064 */ lw $a0, 0x0064($sp) -/* 00B20 8097D390 2462014C */ addiu $v0, $v1, 0x014C ## $v0 = 0000014C -/* 00B24 8097D394 8C450004 */ lw $a1, 0x0004($v0) ## 00000150 -/* 00B28 8097D398 8C460020 */ lw $a2, 0x0020($v0) ## 0000016C -/* 00B2C 8097D39C 90470002 */ lbu $a3, 0x0002($v0) ## 0000014E -/* 00B30 8097D3A0 AFA00014 */ sw $zero, 0x0014($sp) -/* 00B34 8097D3A4 AFA00010 */ sw $zero, 0x0010($sp) -/* 00B38 8097D3A8 0C0286B2 */ jal func_800A1AC8 -/* 00B3C 8097D3AC AFA30018 */ sw $v1, 0x0018($sp) -/* 00B40 8097D3B0 8FAC0064 */ lw $t4, 0x0064($sp) -/* 00B44 8097D3B4 3C068098 */ lui $a2, %hi(D_8097D4DC) ## $a2 = 80980000 -/* 00B48 8097D3B8 24C6D4DC */ addiu $a2, $a2, %lo(D_8097D4DC) ## $a2 = 8097D4DC -/* 00B4C 8097D3BC 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFD8 -/* 00B50 8097D3C0 240702EA */ addiu $a3, $zero, 0x02EA ## $a3 = 000002EA -/* 00B54 8097D3C4 0C031AD5 */ jal func_800C6B54 -/* 00B58 8097D3C8 8D850000 */ lw $a1, 0x0000($t4) ## 00000000 -/* 00B5C 8097D3CC 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00B60 8097D3D0 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000 -/* 00B64 8097D3D4 03E00008 */ jr $ra -/* 00B68 8097D3D8 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Door_Ana/DoorAna_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Door_Ana/DoorAna_Destroy.s deleted file mode 100644 index 0d91f670cf..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Door_Ana/DoorAna_Destroy.s +++ /dev/null @@ -1,19 +0,0 @@ -glabel DoorAna_Destroy -/* 000C4 80993FB4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 000C8 80993FB8 AFBF0014 */ sw $ra, 0x0014($sp) -/* 000CC 80993FBC 848E001C */ lh $t6, 0x001C($a0) ## 0000001C -/* 000D0 80993FC0 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 000D4 80993FC4 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 000D8 80993FC8 31CF0200 */ andi $t7, $t6, 0x0200 ## $t7 = 00000000 -/* 000DC 80993FCC 51E00004 */ beql $t7, $zero, .L80993FE0 -/* 000E0 80993FD0 8FBF0014 */ lw $ra, 0x0014($sp) -/* 000E4 80993FD4 0C0170EB */ jal ActorCollider_FreeCylinder - -/* 000E8 80993FD8 24C5014C */ addiu $a1, $a2, 0x014C ## $a1 = 0000014C -/* 000EC 80993FDC 8FBF0014 */ lw $ra, 0x0014($sp) -.L80993FE0: -/* 000F0 80993FE0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 000F4 80993FE4 03E00008 */ jr $ra -/* 000F8 80993FE8 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Door_Ana/DoorAna_Draw.s b/asm/non_matchings/overlays/actors/ovl_Door_Ana/DoorAna_Draw.s deleted file mode 100644 index 50ebb191cf..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Door_Ana/DoorAna_Draw.s +++ /dev/null @@ -1,52 +0,0 @@ -glabel DoorAna_Draw -/* 004E8 809943D8 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 004EC 809943DC AFBF001C */ sw $ra, 0x001C($sp) -/* 004F0 809943E0 AFB00018 */ sw $s0, 0x0018($sp) -/* 004F4 809943E4 AFA40040 */ sw $a0, 0x0040($sp) -/* 004F8 809943E8 AFA50044 */ sw $a1, 0x0044($sp) -/* 004FC 809943EC 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 00500 809943F0 3C068099 */ lui $a2, %hi(D_80994510) ## $a2 = 80990000 -/* 00504 809943F4 24C64510 */ addiu $a2, $a2, %lo(D_80994510) ## $a2 = 80994510 -/* 00508 809943F8 27A4002C */ addiu $a0, $sp, 0x002C ## $a0 = FFFFFFEC -/* 0050C 809943FC 240701B8 */ addiu $a3, $zero, 0x01B8 ## $a3 = 000001B8 -/* 00510 80994400 0C031AB1 */ jal func_800C6AC4 -/* 00514 80994404 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 00518 80994408 8FAF0044 */ lw $t7, 0x0044($sp) -/* 0051C 8099440C 0C024F61 */ jal func_80093D84 -/* 00520 80994410 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000 -/* 00524 80994414 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00528 80994418 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000 -/* 0052C 8099441C 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003 -/* 00530 80994420 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 00534 80994424 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0 -/* 00538 80994428 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 0053C 8099442C 8FA80044 */ lw $t0, 0x0044($sp) -/* 00540 80994430 3C058099 */ lui $a1, %hi(D_80994520) ## $a1 = 80990000 -/* 00544 80994434 24A54520 */ addiu $a1, $a1, %lo(D_80994520) ## $a1 = 80994520 -/* 00548 80994438 8D040000 */ lw $a0, 0x0000($t0) ## 00000000 -/* 0054C 8099443C 240601BE */ addiu $a2, $zero, 0x01BE ## $a2 = 000001BE -/* 00550 80994440 0C0346A2 */ jal Matrix_NewMtx -/* 00554 80994444 AFA20028 */ sw $v0, 0x0028($sp) -/* 00558 80994448 8FA30028 */ lw $v1, 0x0028($sp) -/* 0055C 8099444C 3C0B0500 */ lui $t3, 0x0500 ## $t3 = 05000000 -/* 00560 80994450 256B1390 */ addiu $t3, $t3, 0x1390 ## $t3 = 05001390 -/* 00564 80994454 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00568 80994458 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 0056C 8099445C 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000 -/* 00570 80994460 3C068099 */ lui $a2, %hi(D_80994530) ## $a2 = 80990000 -/* 00574 80994464 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008 -/* 00578 80994468 AE0902D0 */ sw $t1, 0x02D0($s0) ## 000002D0 -/* 0057C 8099446C AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004 -/* 00580 80994470 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -/* 00584 80994474 8FAC0044 */ lw $t4, 0x0044($sp) -/* 00588 80994478 24C64530 */ addiu $a2, $a2, %lo(D_80994530) ## $a2 = 80994530 -/* 0058C 8099447C 27A4002C */ addiu $a0, $sp, 0x002C ## $a0 = FFFFFFEC -/* 00590 80994480 240701C1 */ addiu $a3, $zero, 0x01C1 ## $a3 = 000001C1 -/* 00594 80994484 0C031AD5 */ jal func_800C6B54 -/* 00598 80994488 8D850000 */ lw $a1, 0x0000($t4) ## 00000000 -/* 0059C 8099448C 8FBF001C */ lw $ra, 0x001C($sp) -/* 005A0 80994490 8FB00018 */ lw $s0, 0x0018($sp) -/* 005A4 80994494 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 -/* 005A8 80994498 03E00008 */ jr $ra -/* 005AC 8099449C 00000000 */ nop - diff --git a/asm/non_matchings/overlays/actors/ovl_Door_Ana/DoorAna_Init.s b/asm/non_matchings/overlays/actors/ovl_Door_Ana/DoorAna_Init.s deleted file mode 100644 index e84ebf365f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Door_Ana/DoorAna_Init.s +++ /dev/null @@ -1,57 +0,0 @@ -glabel DoorAna_Init -/* 00008 80993EF8 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 0000C 80993EFC AFBF001C */ sw $ra, 0x001C($sp) -/* 00010 80993F00 AFB00018 */ sw $s0, 0x0018($sp) -/* 00014 80993F04 AFA5002C */ sw $a1, 0x002C($sp) -/* 00018 80993F08 8482001C */ lh $v0, 0x001C($a0) ## 0000001C -/* 0001C 80993F0C A48000B8 */ sh $zero, 0x00B8($a0) ## 000000B8 -/* 00020 80993F10 848E00B8 */ lh $t6, 0x00B8($a0) ## 000000B8 -/* 00024 80993F14 304F0300 */ andi $t7, $v0, 0x0300 ## $t7 = 00000000 -/* 00028 80993F18 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0002C 80993F1C 11E0001B */ beq $t7, $zero, .L80993F8C -/* 00030 80993F20 A48E00B6 */ sh $t6, 0x00B6($a0) ## 000000B6 -/* 00034 80993F24 30580200 */ andi $t8, $v0, 0x0200 ## $t8 = 00000000 -/* 00038 80993F28 1300000C */ beq $t8, $zero, .L80993F5C -/* 0003C 80993F2C 8FA4002C */ lw $a0, 0x002C($sp) -/* 00040 80993F30 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C -/* 00044 80993F34 0C0170D9 */ jal ActorCollider_AllocCylinder - -/* 00048 80993F38 AFA50020 */ sw $a1, 0x0020($sp) -/* 0004C 80993F3C 3C078099 */ lui $a3, %hi(D_809944C0) ## $a3 = 80990000 -/* 00050 80993F40 8FA50020 */ lw $a1, 0x0020($sp) -/* 00054 80993F44 24E744C0 */ addiu $a3, $a3, %lo(D_809944C0) ## $a3 = 809944C0 -/* 00058 80993F48 8FA4002C */ lw $a0, 0x002C($sp) -/* 0005C 80993F4C 0C01712B */ jal ActorCollider_InitCylinder - -/* 00060 80993F50 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00064 80993F54 10000005 */ beq $zero, $zero, .L80993F6C -/* 00068 80993F58 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L80993F5C: -/* 0006C 80993F5C 8E190004 */ lw $t9, 0x0004($s0) ## 00000004 -/* 00070 80993F60 37280010 */ ori $t0, $t9, 0x0010 ## $t0 = 00000010 -/* 00074 80993F64 AE080004 */ sw $t0, 0x0004($s0) ## 00000004 -/* 00078 80993F68 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L80993F6C: -/* 0007C 80993F6C 0C00B58B */ jal Actor_SetScale - -/* 00080 80993F70 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000 -/* 00084 80993F74 3C058099 */ lui $a1, %hi(func_80993FEC) ## $a1 = 80990000 -/* 00088 80993F78 24A53FEC */ addiu $a1, $a1, %lo(func_80993FEC) ## $a1 = 80993FEC -/* 0008C 80993F7C 0C264FBC */ jal func_80993EF0 -/* 00090 80993F80 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00094 80993F84 10000006 */ beq $zero, $zero, .L80993FA0 -/* 00098 80993F88 A200001F */ sb $zero, 0x001F($s0) ## 0000001F -.L80993F8C: -/* 0009C 80993F8C 3C058099 */ lui $a1, %hi(func_80994124) ## $a1 = 80990000 -/* 000A0 80993F90 24A54124 */ addiu $a1, $a1, %lo(func_80994124) ## $a1 = 80994124 -/* 000A4 80993F94 0C264FBC */ jal func_80993EF0 -/* 000A8 80993F98 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 000AC 80993F9C A200001F */ sb $zero, 0x001F($s0) ## 0000001F -.L80993FA0: -/* 000B0 80993FA0 8FBF001C */ lw $ra, 0x001C($sp) -/* 000B4 80993FA4 8FB00018 */ lw $s0, 0x0018($sp) -/* 000B8 80993FA8 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 000BC 80993FAC 03E00008 */ jr $ra -/* 000C0 80993FB0 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Door_Ana/DoorAna_Update.s b/asm/non_matchings/overlays/actors/ovl_Door_Ana/DoorAna_Update.s deleted file mode 100644 index 8f3efc4499..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Door_Ana/DoorAna_Update.s +++ /dev/null @@ -1,24 +0,0 @@ -glabel DoorAna_Update -/* 00494 80994384 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00498 80994388 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0049C 8099438C AFA40018 */ sw $a0, 0x0018($sp) -/* 004A0 80994390 AFA5001C */ sw $a1, 0x001C($sp) -/* 004A4 80994394 8C990198 */ lw $t9, 0x0198($a0) ## 00000198 -/* 004A8 80994398 0320F809 */ jalr $ra, $t9 -/* 004AC 8099439C 00000000 */ nop -/* 004B0 809943A0 8FA5001C */ lw $a1, 0x001C($sp) -/* 004B4 809943A4 84AE07A0 */ lh $t6, 0x07A0($a1) ## 000007A0 -/* 004B8 809943A8 000E7880 */ sll $t7, $t6, 2 -/* 004BC 809943AC 00AFC021 */ addu $t8, $a1, $t7 -/* 004C0 809943B0 0C016A7D */ jal func_8005A9F4 -/* 004C4 809943B4 8F040790 */ lw $a0, 0x0790($t8) ## 00000790 -/* 004C8 809943B8 8FA90018 */ lw $t1, 0x0018($sp) -/* 004CC 809943BC 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000 -/* 004D0 809943C0 00414021 */ addu $t0, $v0, $at -/* 004D4 809943C4 A52800B6 */ sh $t0, 0x00B6($t1) ## 000000B6 -/* 004D8 809943C8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 004DC 809943CC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 004E0 809943D0 03E00008 */ jr $ra -/* 004E4 809943D4 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Door_Ana/func_80993EF0.s b/asm/non_matchings/overlays/actors/ovl_Door_Ana/func_80993EF0.s deleted file mode 100644 index bf19e85496..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Door_Ana/func_80993EF0.s +++ /dev/null @@ -1,5 +0,0 @@ -glabel func_80993EF0 -/* 00000 80993EF0 03E00008 */ jr $ra -/* 00004 80993EF4 AC850198 */ sw $a1, 0x0198($a0) ## 00000198 - - diff --git a/asm/non_matchings/overlays/actors/ovl_Door_Ana/func_80993FEC.s b/asm/non_matchings/overlays/actors/ovl_Door_Ana/func_80993FEC.s deleted file mode 100644 index e3b9bd45bd..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Door_Ana/func_80993FEC.s +++ /dev/null @@ -1,90 +0,0 @@ -glabel func_80993FEC -/* 000FC 80993FEC 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 00100 80993FF0 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00104 80993FF4 AFB00020 */ sw $s0, 0x0020($sp) -/* 00108 80993FF8 AFA50034 */ sw $a1, 0x0034($sp) -/* 0010C 80993FFC AFA0002C */ sw $zero, 0x002C($sp) -/* 00110 80994000 848E001C */ lh $t6, 0x001C($a0) ## 0000001C -/* 00114 80994004 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00118 80994008 3C018099 */ lui $at, %hi(D_80994540) ## $at = 80990000 -/* 0011C 8099400C 31CF0200 */ andi $t7, $t6, 0x0200 ## $t7 = 00000000 -/* 00120 80994010 55E00013 */ bnel $t7, $zero, .L80994060 -/* 00124 80994014 9209015D */ lbu $t1, 0x015D($s0) ## 0000015D -/* 00128 80994018 C484008C */ lwc1 $f4, 0x008C($a0) ## 0000008C -/* 0012C 8099401C C4264540 */ lwc1 $f6, %lo(D_80994540)($at) -/* 00130 80994020 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00134 80994024 4606203C */ c.lt.s $f4, $f6 -/* 00138 80994028 00000000 */ nop -/* 0013C 8099402C 45020021 */ bc1fl .L809940B4 -/* 00140 80994030 8FAD002C */ lw $t5, 0x002C($sp) -/* 00144 80994034 0C01B129 */ jal func_8006C4A4 -/* 00148 80994038 24050005 */ addiu $a1, $zero, 0x0005 ## $a1 = 00000005 -/* 0014C 8099403C 1040001C */ beq $v0, $zero, .L809940B0 -/* 00150 80994040 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 00154 80994044 AFB8002C */ sw $t8, 0x002C($sp) -/* 00158 80994048 8E190004 */ lw $t9, 0x0004($s0) ## 00000004 -/* 0015C 8099404C 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF -/* 00160 80994050 03214024 */ and $t0, $t9, $at -/* 00164 80994054 10000016 */ beq $zero, $zero, .L809940B0 -/* 00168 80994058 AE080004 */ sw $t0, 0x0004($s0) ## 00000004 -/* 0016C 8099405C 9209015D */ lbu $t1, 0x015D($s0) ## 0000015D -.L80994060: -/* 00170 80994060 2606014C */ addiu $a2, $s0, 0x014C ## $a2 = 0000014C -/* 00174 80994064 00C02825 */ or $a1, $a2, $zero ## $a1 = 0000014C -/* 00178 80994068 312A0002 */ andi $t2, $t1, 0x0002 ## $t2 = 00000000 -/* 0017C 8099406C 11400008 */ beq $t2, $zero, .L80994090 -/* 00180 80994070 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00184 80994074 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001 -/* 00188 80994078 AFAB002C */ sw $t3, 0x002C($sp) -/* 0018C 8099407C 8FA40034 */ lw $a0, 0x0034($sp) -/* 00190 80994080 0C0170EB */ jal ActorCollider_FreeCylinder - -/* 00194 80994084 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C -/* 00198 80994088 1000000A */ beq $zero, $zero, .L809940B4 -/* 0019C 8099408C 8FAD002C */ lw $t5, 0x002C($sp) -.L80994090: -/* 001A0 80994090 0C0189B7 */ jal ActorCollider_Cylinder_Update - -/* 001A4 80994094 AFA60028 */ sw $a2, 0x0028($sp) -/* 001A8 80994098 8FA40034 */ lw $a0, 0x0034($sp) -/* 001AC 8099409C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 001B0 809940A0 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 001B4 809940A4 8FA60028 */ lw $a2, 0x0028($sp) -/* 001B8 809940A8 0C01767D */ jal Actor_CollisionCheck_SetAC - ## CollisionCheck_setAC -/* 001BC 809940AC 00812821 */ addu $a1, $a0, $at -.L809940B0: -/* 001C0 809940B0 8FAD002C */ lw $t5, 0x002C($sp) -.L809940B4: -/* 001C4 809940B4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 001C8 809940B8 51A00013 */ beql $t5, $zero, .L80994108 -/* 001CC 809940BC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 001D0 809940C0 860E001C */ lh $t6, 0x001C($s0) ## 0000001C -/* 001D4 809940C4 3C058099 */ lui $a1, %hi(func_80994124) ## $a1 = 80990000 -/* 001D8 809940C8 24A54124 */ addiu $a1, $a1, %lo(func_80994124) ## $a1 = 80994124 -/* 001DC 809940CC 31CFFCFF */ andi $t7, $t6, 0xFCFF ## $t7 = 00000000 -/* 001E0 809940D0 0C264FBC */ jal func_80993EF0 -/* 001E4 809940D4 A60F001C */ sh $t7, 0x001C($s0) ## 0000001C -/* 001E8 809940D8 3C078013 */ lui $a3, 0x8013 ## $a3 = 80130000 -/* 001EC 809940DC 3C188013 */ lui $t8, 0x8013 ## $t8 = 80130000 -/* 001F0 809940E0 24E733E0 */ addiu $a3, $a3, 0x33E0 ## $a3 = 801333E0 -/* 001F4 809940E4 271833E8 */ addiu $t8, $t8, 0x33E8 ## $t8 = 801333E8 -/* 001F8 809940E8 3C058013 */ lui $a1, 0x8013 ## $a1 = 80130000 -/* 001FC 809940EC 24A533D4 */ addiu $a1, $a1, 0x33D4 ## $a1 = 801333D4 -/* 00200 809940F0 AFB80014 */ sw $t8, 0x0014($sp) -/* 00204 809940F4 AFA70010 */ sw $a3, 0x0010($sp) -/* 00208 809940F8 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802 -/* 0020C 809940FC 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 00210 80994100 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 00214 80994104 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L80994108: -/* 00218 80994108 0C00BD7C */ jal func_8002F5F0 -/* 0021C 8099410C 8FA50034 */ lw $a1, 0x0034($sp) -/* 00220 80994110 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00224 80994114 8FB00020 */ lw $s0, 0x0020($sp) -/* 00228 80994118 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 0022C 8099411C 03E00008 */ jr $ra -/* 00230 80994120 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Door_Ana/func_80994124.s b/asm/non_matchings/overlays/actors/ovl_Door_Ana/func_80994124.s deleted file mode 100644 index 79f7836cb6..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Door_Ana/func_80994124.s +++ /dev/null @@ -1,119 +0,0 @@ -glabel func_80994124 -/* 00234 80994124 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00238 80994128 AFBF001C */ sw $ra, 0x001C($sp) -/* 0023C 8099412C AFB00018 */ sw $s0, 0x0018($sp) -/* 00240 80994130 8CA31C44 */ lw $v1, 0x1C44($a1) ## 00001C44 -/* 00244 80994134 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000 -/* 00248 80994138 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0024C 8099413C 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000 -/* 00250 80994140 3C063A83 */ lui $a2, 0x3A83 ## $a2 = 3A830000 -/* 00254 80994144 34C6126F */ ori $a2, $a2, 0x126F ## $a2 = 3A83126F -/* 00258 80994148 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A -/* 0025C 8099414C 24840050 */ addiu $a0, $a0, 0x0050 ## $a0 = 00000050 -/* 00260 80994150 AFA7002C */ sw $a3, 0x002C($sp) -/* 00264 80994154 0C01DE80 */ jal Math_ApproxF - -/* 00268 80994158 AFA30024 */ sw $v1, 0x0024($sp) -/* 0026C 8099415C 8FA30024 */ lw $v1, 0x0024($sp) -/* 00270 80994160 10400055 */ beq $v0, $zero, .L809942B8 -/* 00274 80994164 8FA7002C */ lw $a3, 0x002C($sp) -/* 00278 80994168 820E001F */ lb $t6, 0x001F($s0) ## 0000001F -/* 0027C 8099416C 3C0F0001 */ lui $t7, 0x0001 ## $t7 = 00010000 -/* 00280 80994170 01E77821 */ addu $t7, $t7, $a3 -/* 00284 80994174 11C0002F */ beq $t6, $zero, .L80994234 -/* 00288 80994178 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -/* 0028C 8099417C 81EF1E15 */ lb $t7, 0x1E15($t7) ## 00011E15 -/* 00290 80994180 15E0002C */ bne $t7, $zero, .L80994234 -/* 00294 80994184 00000000 */ nop -/* 00298 80994188 8C78067C */ lw $t8, 0x067C($v1) ## 0000067C -/* 0029C 8099418C 0018C800 */ sll $t9, $t8, 0 -/* 002A0 80994190 07210028 */ bgez $t9, .L80994234 -/* 002A4 80994194 00000000 */ nop -/* 002A8 80994198 8068084F */ lb $t0, 0x084F($v1) ## 0000084F -/* 002AC 8099419C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 002B0 809941A0 240604FF */ addiu $a2, $zero, 0x04FF ## $a2 = 000004FF -/* 002B4 809941A4 15000023 */ bne $t0, $zero, .L80994234 -/* 002B8 809941A8 00000000 */ nop -/* 002BC 809941AC 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -/* 002C0 809941B0 AFA7002C */ sw $a3, 0x002C($sp) -/* 002C4 809941B4 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -/* 002C8 809941B8 00021303 */ sra $v0, $v0, 12 -/* 002CC 809941BC 30420007 */ andi $v0, $v0, 0x0007 ## $v0 = 00000000 -/* 002D0 809941C0 2442FFFF */ addiu $v0, $v0, 0xFFFF ## $v0 = FFFFFFFF -/* 002D4 809941C4 0C0302BD */ jal func_800C0AF4 -/* 002D8 809941C8 AFA20020 */ sw $v0, 0x0020($sp) -/* 002DC 809941CC C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028 -/* 002E0 809941D0 3C038016 */ lui $v1, 0x8016 ## $v1 = 80160000 -/* 002E4 809941D4 2463E660 */ addiu $v1, $v1, 0xE660 ## $v1 = 8015E660 -/* 002E8 809941D8 E4641388 */ swc1 $f4, 0x1388($v1) ## 8015F9E8 -/* 002EC 809941DC 86090016 */ lh $t1, 0x0016($s0) ## 00000016 -/* 002F0 809941E0 8FA20020 */ lw $v0, 0x0020($sp) -/* 002F4 809941E4 8FA7002C */ lw $a3, 0x002C($sp) -/* 002F8 809941E8 A4691390 */ sh $t1, 0x1390($v1) ## 8015F9F0 -/* 002FC 809941EC 860B001C */ lh $t3, 0x001C($s0) ## 0000001C -/* 00300 809941F0 3C0D8099 */ lui $t5, %hi(D_809944EC) ## $t5 = 80990000 -/* 00304 809941F4 04410003 */ bgez $v0, .L80994204 -/* 00308 809941F8 A06B1397 */ sb $t3, 0x1397($v1) ## 8015F9F7 -/* 0030C 809941FC 86020018 */ lh $v0, 0x0018($s0) ## 00000018 -/* 00310 80994200 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 -.L80994204: -/* 00314 80994204 00026040 */ sll $t4, $v0, 1 -/* 00318 80994208 01AC6821 */ addu $t5, $t5, $t4 -/* 0031C 8099420C 85AD44EC */ lh $t5, %lo(D_809944EC)($t5) -/* 00320 80994210 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00324 80994214 00270821 */ addu $at, $at, $a3 -/* 00328 80994218 3C058099 */ lui $a1, %hi(func_809942D8) ## $a1 = 80990000 -/* 0032C 8099421C 24A542D8 */ addiu $a1, $a1, %lo(func_809942D8) ## $a1 = 809942D8 -/* 00330 80994220 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00334 80994224 0C264FBC */ jal func_80993EF0 -/* 00338 80994228 A42D1E1A */ sh $t5, 0x1E1A($at) ## 00011E1A -/* 0033C 8099422C 10000023 */ beq $zero, $zero, .L809942BC -/* 00340 80994230 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L80994234: -/* 00344 80994234 0C023A62 */ jal func_8008E988 -/* 00348 80994238 AFA30024 */ sw $v1, 0x0024($sp) -/* 0034C 8099423C 1440001D */ bne $v0, $zero, .L809942B4 -/* 00350 80994240 8FA30024 */ lw $v1, 0x0024($sp) -/* 00354 80994244 8C62067C */ lw $v0, 0x067C($v1) ## 0000067C -/* 00358 80994248 3C010880 */ lui $at, 0x0880 ## $at = 08800000 -/* 0035C 8099424C 00417024 */ and $t6, $v0, $at -/* 00360 80994250 15C00018 */ bne $t6, $zero, .L809942B4 -/* 00364 80994254 3C014170 */ lui $at, 0x4170 ## $at = 41700000 -/* 00368 80994258 44811000 */ mtc1 $at, $f2 ## $f2 = 15.00 -/* 0036C 8099425C C6060090 */ lwc1 $f6, 0x0090($s0) ## 00000090 -/* 00370 80994260 3C01C248 */ lui $at, 0xC248 ## $at = C2480000 -/* 00374 80994264 4602303E */ c.le.s $f6, $f2 -/* 00378 80994268 00000000 */ nop -/* 0037C 8099426C 45020012 */ bc1fl .L809942B8 -/* 00380 80994270 A200001F */ sb $zero, 0x001F($s0) ## 0000001F -/* 00384 80994274 C6000094 */ lwc1 $f0, 0x0094($s0) ## 00000094 -/* 00388 80994278 44814000 */ mtc1 $at, $f8 ## $f8 = -50.00 -/* 0038C 8099427C 00000000 */ nop -/* 00390 80994280 4600403E */ c.le.s $f8, $f0 -/* 00394 80994284 00000000 */ nop -/* 00398 80994288 4502000B */ bc1fl .L809942B8 -/* 0039C 8099428C A200001F */ sb $zero, 0x001F($s0) ## 0000001F -/* 003A0 80994290 4602003E */ c.le.s $f0, $f2 -/* 003A4 80994294 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 003A8 80994298 00417825 */ or $t7, $v0, $at ## $t7 = 80000000 -/* 003AC 8099429C 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 003B0 809942A0 45020005 */ bc1fl .L809942B8 -/* 003B4 809942A4 A200001F */ sb $zero, 0x001F($s0) ## 0000001F -/* 003B8 809942A8 AC6F067C */ sw $t7, 0x067C($v1) ## 0000067C -/* 003BC 809942AC 10000002 */ beq $zero, $zero, .L809942B8 -/* 003C0 809942B0 A218001F */ sb $t8, 0x001F($s0) ## 0000001F -.L809942B4: -/* 003C4 809942B4 A200001F */ sb $zero, 0x001F($s0) ## 0000001F -.L809942B8: -/* 003C8 809942B8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L809942BC: -/* 003CC 809942BC 0C00B58B */ jal Actor_SetScale - -/* 003D0 809942C0 8E050050 */ lw $a1, 0x0050($s0) ## 00000050 -/* 003D4 809942C4 8FBF001C */ lw $ra, 0x001C($sp) -/* 003D8 809942C8 8FB00018 */ lw $s0, 0x0018($sp) -/* 003DC 809942CC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 003E0 809942D0 03E00008 */ jr $ra -/* 003E4 809942D4 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Door_Ana/func_809942D8.s b/asm/non_matchings/overlays/actors/ovl_Door_Ana/func_809942D8.s deleted file mode 100644 index e10cdfadb5..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Door_Ana/func_809942D8.s +++ /dev/null @@ -1,49 +0,0 @@ -glabel func_809942D8 -/* 003E8 809942D8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 003EC 809942DC AFBF0014 */ sw $ra, 0x0014($sp) -/* 003F0 809942E0 C4860094 */ lwc1 $f6, 0x0094($a0) ## 00000094 -/* 003F4 809942E4 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 003F8 809942E8 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 003FC 809942EC 3C014170 */ lui $at, 0x4170 ## $at = 41700000 -/* 00400 809942F0 4604303E */ c.le.s $f6, $f4 -/* 00404 809942F4 00000000 */ nop -/* 00408 809942F8 4502001F */ bc1fl .L80994378 -/* 0040C 809942FC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00410 80994300 44814000 */ mtc1 $at, $f8 ## $f8 = 15.00 -/* 00414 80994304 C48A0090 */ lwc1 $f10, 0x0090($a0) ## 00000090 -/* 00418 80994308 460A403C */ c.lt.s $f8, $f10 -/* 0041C 8099430C 00000000 */ nop -/* 00420 80994310 45020019 */ bc1fl .L80994378 -/* 00424 80994314 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00428 80994318 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44 -/* 0042C 8099431C AFAE001C */ sw $t6, 0x001C($sp) -/* 00430 80994320 8484008A */ lh $a0, 0x008A($a0) ## 0000008A -/* 00434 80994324 0C01DE1C */ jal Math_Sins - ## sins? -/* 00438 80994328 AFA60020 */ sw $a2, 0x0020($sp) -/* 0043C 8099432C 3C014170 */ lui $at, 0x4170 ## $at = 41700000 -/* 00440 80994330 44818000 */ mtc1 $at, $f16 ## $f16 = 15.00 -/* 00444 80994334 8FA60020 */ lw $a2, 0x0020($sp) -/* 00448 80994338 8FAF001C */ lw $t7, 0x001C($sp) -/* 0044C 8099433C 46100482 */ mul.s $f18, $f0, $f16 -/* 00450 80994340 C4C40024 */ lwc1 $f4, 0x0024($a2) ## 00000024 -/* 00454 80994344 46049180 */ add.s $f6, $f18, $f4 -/* 00458 80994348 E5E60024 */ swc1 $f6, 0x0024($t7) ## 00000024 -/* 0045C 8099434C 0C01DE0D */ jal Math_Coss - ## coss? -/* 00460 80994350 84C4008A */ lh $a0, 0x008A($a2) ## 0000008A -/* 00464 80994354 3C014170 */ lui $at, 0x4170 ## $at = 41700000 -/* 00468 80994358 44814000 */ mtc1 $at, $f8 ## $f8 = 15.00 -/* 0046C 8099435C 8FA60020 */ lw $a2, 0x0020($sp) -/* 00470 80994360 8FB8001C */ lw $t8, 0x001C($sp) -/* 00474 80994364 46080282 */ mul.s $f10, $f0, $f8 -/* 00478 80994368 C4D0002C */ lwc1 $f16, 0x002C($a2) ## 0000002C -/* 0047C 8099436C 46105480 */ add.s $f18, $f10, $f16 -/* 00480 80994370 E712002C */ swc1 $f18, 0x002C($t8) ## 0000002C -/* 00484 80994374 8FBF0014 */ lw $ra, 0x0014($sp) -.L80994378: -/* 00488 80994378 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 0048C 8099437C 03E00008 */ jr $ra -/* 00490 80994380 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Destroy.s deleted file mode 100644 index c2dede8e43..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Destroy.s +++ /dev/null @@ -1,16 +0,0 @@ -glabel EnLightbox_Destroy -/* 0012C 80A9EAFC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00130 80A9EB00 AFA40018 */ sw $a0, 0x0018($sp) -/* 00134 80A9EB04 8FAE0018 */ lw $t6, 0x0018($sp) -/* 00138 80A9EB08 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0013C 80A9EB0C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00140 80A9EB10 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810 -/* 00144 80A9EB14 0C00FB56 */ jal DynaPolyInfo_Free - ## DynaPolyInfo_delReserve -/* 00148 80A9EB18 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C -/* 0014C 80A9EB1C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00150 80A9EB20 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00154 80A9EB24 03E00008 */ jr $ra -/* 00158 80A9EB28 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Draw.s deleted file mode 100644 index 612026b121..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Draw.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel EnLightbox_Draw -/* 003E4 80A9EDB4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 003E8 80A9EDB8 AFA40018 */ sw $a0, 0x0018($sp) -/* 003EC 80A9EDBC 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 003F0 80A9EDC0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 003F4 80A9EDC4 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000 -/* 003F8 80A9EDC8 0C00D498 */ jal Draw_DListOpa - -/* 003FC 80A9EDCC 24A50B70 */ addiu $a1, $a1, 0x0B70 ## $a1 = 06000B70 -/* 00400 80A9EDD0 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00404 80A9EDD4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00408 80A9EDD8 03E00008 */ jr $ra -/* 0040C 80A9EDDC 00000000 */ nop - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Init.s deleted file mode 100644 index 29b877f5d7..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Init.s +++ /dev/null @@ -1,90 +0,0 @@ -glabel EnLightbox_Init -/* 00000 80A9E9D0 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 00004 80A9E9D4 AFBF001C */ sw $ra, 0x001C($sp) -/* 00008 80A9E9D8 AFB00018 */ sw $s0, 0x0018($sp) -/* 0000C 80A9E9DC AFA50044 */ sw $a1, 0x0044($sp) -/* 00010 80A9E9E0 AFA0003C */ sw $zero, 0x003C($sp) -/* 00014 80A9E9E4 8482001C */ lh $v0, 0x001C($a0) ## 0000001C -/* 00018 80A9E9E8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0001C 80A9E9EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00020 80A9E9F0 1040000C */ beq $v0, $zero, .L80A9EA24 -/* 00024 80A9E9F4 3C053CCC */ lui $a1, 0x3CCC ## $a1 = 3CCC0000 -/* 00028 80A9E9F8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 0002C 80A9E9FC 1041000D */ beq $v0, $at, .L80A9EA34 -/* 00030 80A9EA00 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00034 80A9EA04 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00038 80A9EA08 1041000F */ beq $v0, $at, .L80A9EA48 -/* 0003C 80A9EA0C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00040 80A9EA10 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 00044 80A9EA14 10410011 */ beq $v0, $at, .L80A9EA5C -/* 00048 80A9EA18 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0004C 80A9EA1C 10000013 */ beq $zero, $zero, .L80A9EA6C -/* 00050 80A9EA20 8E0F0024 */ lw $t7, 0x0024($s0) ## 00000024 -.L80A9EA24: -/* 00054 80A9EA24 0C00B58B */ jal Actor_SetScale - -/* 00058 80A9EA28 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3CCCCCCD -/* 0005C 80A9EA2C 1000000F */ beq $zero, $zero, .L80A9EA6C -/* 00060 80A9EA30 8E0F0024 */ lw $t7, 0x0024($s0) ## 00000024 -.L80A9EA34: -/* 00064 80A9EA34 3C053D4C */ lui $a1, 0x3D4C ## $a1 = 3D4C0000 -/* 00068 80A9EA38 0C00B58B */ jal Actor_SetScale - -/* 0006C 80A9EA3C 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3D4CCCCD -/* 00070 80A9EA40 1000000A */ beq $zero, $zero, .L80A9EA6C -/* 00074 80A9EA44 8E0F0024 */ lw $t7, 0x0024($s0) ## 00000024 -.L80A9EA48: -/* 00078 80A9EA48 3C053D99 */ lui $a1, 0x3D99 ## $a1 = 3D990000 -/* 0007C 80A9EA4C 0C00B58B */ jal Actor_SetScale - -/* 00080 80A9EA50 34A5999A */ ori $a1, $a1, 0x999A ## $a1 = 3D99999A -/* 00084 80A9EA54 10000005 */ beq $zero, $zero, .L80A9EA6C -/* 00088 80A9EA58 8E0F0024 */ lw $t7, 0x0024($s0) ## 00000024 -.L80A9EA5C: -/* 0008C 80A9EA5C 3C053DCC */ lui $a1, 0x3DCC ## $a1 = 3DCC0000 -/* 00090 80A9EA60 0C00B58B */ jal Actor_SetScale - -/* 00094 80A9EA64 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3DCCCCCD -/* 00098 80A9EA68 8E0F0024 */ lw $t7, 0x0024($s0) ## 00000024 -.L80A9EA6C: -/* 0009C 80A9EA6C 8E0E0028 */ lw $t6, 0x0028($s0) ## 00000028 -/* 000A0 80A9EA70 2418001E */ addiu $t8, $zero, 0x001E ## $t8 = 0000001E -/* 000A4 80A9EA74 AE0F0038 */ sw $t7, 0x0038($s0) ## 00000038 -/* 000A8 80A9EA78 8E0F002C */ lw $t7, 0x002C($s0) ## 0000002C -/* 000AC 80A9EA7C 24190032 */ addiu $t9, $zero, 0x0032 ## $t9 = 00000032 -/* 000B0 80A9EA80 3C068003 */ lui $a2, 0x8003 ## $a2 = 80030000 -/* 000B4 80A9EA84 A61800A8 */ sh $t8, 0x00A8($s0) ## 000000A8 -/* 000B8 80A9EA88 A61900AA */ sh $t9, 0x00AA($s0) ## 000000AA -/* 000BC 80A9EA8C 24C6B5EC */ addiu $a2, $a2, 0xB5EC ## $a2 = 8002B5EC -/* 000C0 80A9EA90 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4 -/* 000C4 80A9EA94 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000 -/* 000C8 80A9EA98 3C0740C0 */ lui $a3, 0x40C0 ## $a3 = 40C00000 -/* 000CC 80A9EA9C AE0E003C */ sw $t6, 0x003C($s0) ## 0000003C -/* 000D0 80A9EAA0 0C00AC78 */ jal ActorShape_Init - -/* 000D4 80A9EAA4 AE0F0040 */ sw $t7, 0x0040($s0) ## 00000040 -/* 000D8 80A9EAA8 3C01C000 */ lui $at, 0xC000 ## $at = C0000000 -/* 000DC 80A9EAAC 44812000 */ mtc1 $at, $f4 ## $f4 = -2.00 -/* 000E0 80A9EAB0 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000 -/* 000E4 80A9EAB4 A2000160 */ sb $zero, 0x0160($s0) ## 00000160 -/* 000E8 80A9EAB8 AE00015C */ sw $zero, 0x015C($s0) ## 0000015C -/* 000EC 80A9EABC A200001F */ sb $zero, 0x001F($s0) ## 0000001F -/* 000F0 80A9EAC0 24841F10 */ addiu $a0, $a0, 0x1F10 ## $a0 = 06001F10 -/* 000F4 80A9EAC4 27A5003C */ addiu $a1, $sp, 0x003C ## $a1 = FFFFFFFC -/* 000F8 80A9EAC8 0C010620 */ jal DynaPolyInfo_Alloc - -/* 000FC 80A9EACC E604006C */ swc1 $f4, 0x006C($s0) ## 0000006C -/* 00100 80A9EAD0 8FA40044 */ lw $a0, 0x0044($sp) -/* 00104 80A9EAD4 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00108 80A9EAD8 8FA7003C */ lw $a3, 0x003C($sp) -/* 0010C 80A9EADC 0C00FA9D */ jal DynaPolyInfo_RegisterActor - ## DynaPolyInfo_setActor -/* 00110 80A9EAE0 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810 -/* 00114 80A9EAE4 AE02014C */ sw $v0, 0x014C($s0) ## 0000014C -/* 00118 80A9EAE8 8FBF001C */ lw $ra, 0x001C($sp) -/* 0011C 80A9EAEC 8FB00018 */ lw $s0, 0x0018($sp) -/* 00120 80A9EAF0 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 -/* 00124 80A9EAF4 03E00008 */ jr $ra -/* 00128 80A9EAF8 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Update.s deleted file mode 100644 index 75b8bc795c..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Update.s +++ /dev/null @@ -1,177 +0,0 @@ -glabel EnLightbox_Update -/* 0015C 80A9EB2C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00160 80A9EB30 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00164 80A9EB34 AFB00020 */ sw $s0, 0x0020($sp) -/* 00168 80A9EB38 AFA5002C */ sw $a1, 0x002C($sp) -/* 0016C 80A9EB3C 848E0162 */ lh $t6, 0x0162($a0) ## 00000162 -/* 00170 80A9EB40 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00174 80A9EB44 51C00008 */ beql $t6, $zero, .L80A9EB68 -/* 00178 80A9EB48 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0017C 80A9EB4C 0C00BD68 */ jal func_8002F5A0 -/* 00180 80A9EB50 00000000 */ nop -/* 00184 80A9EB54 1040007C */ beq $v0, $zero, .L80A9ED48 -/* 00188 80A9EB58 00000000 */ nop -/* 0018C 80A9EB5C 1000007A */ beq $zero, $zero, .L80A9ED48 -/* 00190 80A9EB60 A6000162 */ sh $zero, 0x0162($s0) ## 00000162 -/* 00194 80A9EB64 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L80A9EB68: -/* 00198 80A9EB68 0C00BD04 */ jal func_8002F410 -/* 0019C 80A9EB6C 8FA5002C */ lw $a1, 0x002C($sp) -/* 001A0 80A9EB70 50400006 */ beql $v0, $zero, .L80A9EB8C -/* 001A4 80A9EB74 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 001A8 80A9EB78 860F0162 */ lh $t7, 0x0162($s0) ## 00000162 -/* 001AC 80A9EB7C 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001 -/* 001B0 80A9EB80 10000071 */ beq $zero, $zero, .L80A9ED48 -/* 001B4 80A9EB84 A6180162 */ sh $t8, 0x0162($s0) ## 00000162 -/* 001B8 80A9EB88 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -.L80A9EB8C: -/* 001BC 80A9EB8C C6040068 */ lwc1 $f4, 0x0068($s0) ## 00000068 -/* 001C0 80A9EB90 46040032 */ c.eq.s $f0, $f4 -/* 001C4 80A9EB94 00000000 */ nop -/* 001C8 80A9EB98 4503001D */ bc1tl .L80A9EC10 -/* 001CC 80A9EB9C 960F0088 */ lhu $t7, 0x0088($s0) ## 00000088 -/* 001D0 80A9EBA0 96190088 */ lhu $t9, 0x0088($s0) ## 00000088 -/* 001D4 80A9EBA4 3C078013 */ lui $a3, 0x8013 ## $a3 = 80130000 -/* 001D8 80A9EBA8 24E733E0 */ addiu $a3, $a3, 0x33E0 ## $a3 = 801333E0 -/* 001DC 80A9EBAC 33280008 */ andi $t0, $t9, 0x0008 ## $t0 = 00000000 -/* 001E0 80A9EBB0 11000016 */ beq $t0, $zero, .L80A9EC0C -/* 001E4 80A9EBB4 2404282F */ addiu $a0, $zero, 0x282F ## $a0 = 0000282F -/* 001E8 80A9EBB8 86020032 */ lh $v0, 0x0032($s0) ## 00000032 -/* 001EC 80A9EBBC 8609007E */ lh $t1, 0x007E($s0) ## 0000007E -/* 001F0 80A9EBC0 3C0C8013 */ lui $t4, 0x8013 ## $t4 = 80130000 -/* 001F4 80A9EBC4 258C33E8 */ addiu $t4, $t4, 0x33E8 ## $t4 = 801333E8 -/* 001F8 80A9EBC8 00495021 */ addu $t2, $v0, $t1 -/* 001FC 80A9EBCC 01425823 */ subu $t3, $t2, $v0 -/* 00200 80A9EBD0 A60B0032 */ sh $t3, 0x0032($s0) ## 00000032 -/* 00204 80A9EBD4 AFAC0014 */ sw $t4, 0x0014($sp) -/* 00208 80A9EBD8 AFA70010 */ sw $a3, 0x0010($sp) -/* 0020C 80A9EBDC 260500E4 */ addiu $a1, $s0, 0x00E4 ## $a1 = 000000E4 -/* 00210 80A9EBE0 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 00214 80A9EBE4 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 00218 80A9EBE8 3C0180AA */ lui $at, %hi(D_80A9EE00) ## $at = 80AA0000 -/* 0021C 80A9EBEC C428EE00 */ lwc1 $f8, %lo(D_80A9EE00)($at) -/* 00220 80A9EBF0 C6060068 */ lwc1 $f6, 0x0068($s0) ## 00000068 -/* 00224 80A9EBF4 960D0088 */ lhu $t5, 0x0088($s0) ## 00000088 -/* 00228 80A9EBF8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 0022C 80A9EBFC 46083282 */ mul.s $f10, $f6, $f8 -/* 00230 80A9EC00 31AEFFF7 */ andi $t6, $t5, 0xFFF7 ## $t6 = 00000000 -/* 00234 80A9EC04 A60E0088 */ sh $t6, 0x0088($s0) ## 00000088 -/* 00238 80A9EC08 E60A0068 */ swc1 $f10, 0x0068($s0) ## 00000068 -.L80A9EC0C: -/* 0023C 80A9EC0C 960F0088 */ lhu $t7, 0x0088($s0) ## 00000088 -.L80A9EC10: -/* 00240 80A9EC10 3C198016 */ lui $t9, 0x8016 ## $t9 = 80160000 -/* 00244 80A9EC14 3C098016 */ lui $t1, 0x8016 ## $t1 = 80160000 -/* 00248 80A9EC18 31F80001 */ andi $t8, $t7, 0x0001 ## $t8 = 00000000 -/* 0024C 80A9EC1C 17000010 */ bne $t8, $zero, .L80A9EC60 -/* 00250 80A9EC20 00000000 */ nop -/* 00254 80A9EC24 8F39FA90 */ lw $t9, -0x0570($t9) ## 8015FA90 -/* 00258 80A9EC28 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 0025C 80A9EC2C 44812000 */ mtc1 $at, $f4 ## $f4 = 100.00 -/* 00260 80A9EC30 87280746 */ lh $t0, 0x0746($t9) ## 80160746 -/* 00264 80A9EC34 44050000 */ mfc1 $a1, $f0 -/* 00268 80A9EC38 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068 -/* 0026C 80A9EC3C 44888000 */ mtc1 $t0, $f16 ## $f16 = 0.00 -/* 00270 80A9EC40 00000000 */ nop -/* 00274 80A9EC44 468084A0 */ cvt.s.w $f18, $f16 -/* 00278 80A9EC48 46049183 */ div.s $f6, $f18, $f4 -/* 0027C 80A9EC4C 44063000 */ mfc1 $a2, $f6 -/* 00280 80A9EC50 0C01DE80 */ jal Math_ApproxF - -/* 00284 80A9EC54 00000000 */ nop -/* 00288 80A9EC58 1000003B */ beq $zero, $zero, .L80A9ED48 -/* 0028C 80A9EC5C 00000000 */ nop -.L80A9EC60: -/* 00290 80A9EC60 8D29FA90 */ lw $t1, -0x0570($t1) ## FFFFFA90 -/* 00294 80A9EC64 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00298 80A9EC68 44818000 */ mtc1 $at, $f16 ## $f16 = 100.00 -/* 0029C 80A9EC6C 852A0748 */ lh $t2, 0x0748($t1) ## 00000748 -/* 002A0 80A9EC70 44050000 */ mfc1 $a1, $f0 -/* 002A4 80A9EC74 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068 -/* 002A8 80A9EC78 448A4000 */ mtc1 $t2, $f8 ## $f8 = 0.00 -/* 002AC 80A9EC7C 00000000 */ nop -/* 002B0 80A9EC80 468042A0 */ cvt.s.w $f10, $f8 -/* 002B4 80A9EC84 46105483 */ div.s $f18, $f10, $f16 -/* 002B8 80A9EC88 44069000 */ mfc1 $a2, $f18 -/* 002BC 80A9EC8C 0C01DE80 */ jal Math_ApproxF - -/* 002C0 80A9EC90 00000000 */ nop -/* 002C4 80A9EC94 960B0088 */ lhu $t3, 0x0088($s0) ## 00000088 -/* 002C8 80A9EC98 3C0D8016 */ lui $t5, 0x8016 ## $t5 = 80160000 -/* 002CC 80A9EC9C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 002D0 80A9ECA0 316C0002 */ andi $t4, $t3, 0x0002 ## $t4 = 00000000 -/* 002D4 80A9ECA4 11800026 */ beq $t4, $zero, .L80A9ED40 -/* 002D8 80A9ECA8 00000000 */ nop -/* 002DC 80A9ECAC 8DADFA90 */ lw $t5, -0x0570($t5) ## 8015FA90 -/* 002E0 80A9ECB0 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 002E4 80A9ECB4 44815000 */ mtc1 $at, $f10 ## $f10 = 100.00 -/* 002E8 80A9ECB8 85AE074A */ lh $t6, 0x074A($t5) ## 8016074A -/* 002EC 80A9ECBC C6040060 */ lwc1 $f4, 0x0060($s0) ## 00000060 -/* 002F0 80A9ECC0 3C0F8013 */ lui $t7, 0x8013 ## $t7 = 80130000 -/* 002F4 80A9ECC4 448E3000 */ mtc1 $t6, $f6 ## $f6 = 0.00 -/* 002F8 80A9ECC8 3C188013 */ lui $t8, 0x8013 ## $t8 = 80130000 -/* 002FC 80A9ECCC 271833E8 */ addiu $t8, $t8, 0x33E8 ## $t8 = 801333E8 -/* 00300 80A9ECD0 46803220 */ cvt.s.w $f8, $f6 -/* 00304 80A9ECD4 25E733E0 */ addiu $a3, $t7, 0x33E0 ## $a3 = 801333E0 -/* 00308 80A9ECD8 260500E4 */ addiu $a1, $s0, 0x00E4 ## $a1 = 000000E4 -/* 0030C 80A9ECDC 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 00310 80A9ECE0 460A4403 */ div.s $f16, $f8, $f10 -/* 00314 80A9ECE4 4610203C */ c.lt.s $f4, $f16 -/* 00318 80A9ECE8 00000000 */ nop -/* 0031C 80A9ECEC 45000014 */ bc1f .L80A9ED40 -/* 00320 80A9ECF0 00000000 */ nop -/* 00324 80A9ECF4 2404282F */ addiu $a0, $zero, 0x282F ## $a0 = 0000282F -/* 00328 80A9ECF8 AFA70010 */ sw $a3, 0x0010($sp) -/* 0032C 80A9ECFC 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 00330 80A9ED00 AFB80014 */ sw $t8, 0x0014($sp) -/* 00334 80A9ED04 3C198016 */ lui $t9, 0x8016 ## $t9 = 80160000 -/* 00338 80A9ED08 8F39FA90 */ lw $t9, -0x0570($t9) ## 8015FA90 -/* 0033C 80A9ED0C 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00340 80A9ED10 44814000 */ mtc1 $at, $f8 ## $f8 = 100.00 -/* 00344 80A9ED14 8728074C */ lh $t0, 0x074C($t9) ## 8016074C -/* 00348 80A9ED18 C6040060 */ lwc1 $f4, 0x0060($s0) ## 00000060 -/* 0034C 80A9ED1C 96090088 */ lhu $t1, 0x0088($s0) ## 00000088 -/* 00350 80A9ED20 44889000 */ mtc1 $t0, $f18 ## $f18 = 0.00 -/* 00354 80A9ED24 312AFFFE */ andi $t2, $t1, 0xFFFE ## $t2 = 00000000 -/* 00358 80A9ED28 468091A0 */ cvt.s.w $f6, $f18 -/* 0035C 80A9ED2C A60A0088 */ sh $t2, 0x0088($s0) ## 00000088 -/* 00360 80A9ED30 46083283 */ div.s $f10, $f6, $f8 -/* 00364 80A9ED34 460A2402 */ mul.s $f16, $f4, $f10 -/* 00368 80A9ED38 10000003 */ beq $zero, $zero, .L80A9ED48 -/* 0036C 80A9ED3C E6100060 */ swc1 $f16, 0x0060($s0) ## 00000060 -.L80A9ED40: -/* 00370 80A9ED40 0C00BD60 */ jal func_8002F580 -/* 00374 80A9ED44 8FA5002C */ lw $a1, 0x002C($sp) -.L80A9ED48: -/* 00378 80A9ED48 0C00B638 */ jal Actor_MoveForward - -/* 0037C 80A9ED4C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00380 80A9ED50 860B00AA */ lh $t3, 0x00AA($s0) ## 000000AA -/* 00384 80A9ED54 860C00A8 */ lh $t4, 0x00A8($s0) ## 000000A8 -/* 00388 80A9ED58 240D001D */ addiu $t5, $zero, 0x001D ## $t5 = 0000001D -/* 0038C 80A9ED5C 448B9000 */ mtc1 $t3, $f18 ## $f18 = 0.00 -/* 00390 80A9ED60 448C3000 */ mtc1 $t4, $f6 ## $f6 = 0.00 -/* 00394 80A9ED64 AFAD0014 */ sw $t5, 0x0014($sp) -/* 00398 80A9ED68 468094A0 */ cvt.s.w $f18, $f18 -/* 0039C 80A9ED6C 8FA4002C */ lw $a0, 0x002C($sp) -/* 003A0 80A9ED70 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 003A4 80A9ED74 46803020 */ cvt.s.w $f0, $f6 -/* 003A8 80A9ED78 44069000 */ mfc1 $a2, $f18 -/* 003AC 80A9ED7C 44070000 */ mfc1 $a3, $f0 -/* 003B0 80A9ED80 0C00B92D */ jal func_8002E4B4 -/* 003B4 80A9ED84 E7A00010 */ swc1 $f0, 0x0010($sp) -/* 003B8 80A9ED88 8E0F0024 */ lw $t7, 0x0024($s0) ## 00000024 -/* 003BC 80A9ED8C 8E0E0028 */ lw $t6, 0x0028($s0) ## 00000028 -/* 003C0 80A9ED90 AE0F0038 */ sw $t7, 0x0038($s0) ## 00000038 -/* 003C4 80A9ED94 8E0F002C */ lw $t7, 0x002C($s0) ## 0000002C -/* 003C8 80A9ED98 AE0E003C */ sw $t6, 0x003C($s0) ## 0000003C -/* 003CC 80A9ED9C AE0F0040 */ sw $t7, 0x0040($s0) ## 00000040 -/* 003D0 80A9EDA0 8FBF0024 */ lw $ra, 0x0024($sp) -/* 003D4 80A9EDA4 8FB00020 */ lw $s0, 0x0020($sp) -/* 003D8 80A9EDA8 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 003DC 80A9EDAC 03E00008 */ jr $ra -/* 003E0 80A9EDB0 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_Fly.s b/asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_Fly.s deleted file mode 100644 index ed18906778..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_Fly.s +++ /dev/null @@ -1,57 +0,0 @@ -glabel EnTuboTrap_Fly -/* 00A38 80B26328 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 00A3C 80B2632C AFBF001C */ sw $ra, 0x001C($sp) -/* 00A40 80B26330 AFB00018 */ sw $s0, 0x0018($sp) -/* 00A44 80B26334 AFA50034 */ sw $a1, 0x0034($sp) -/* 00A48 80B26338 C4920154 */ lwc1 $f18, 0x0154($a0) ## 00000154 -/* 00A4C 80B2633C C4900024 */ lwc1 $f16, 0x0024($a0) ## 00000024 -/* 00A50 80B26340 C48E0158 */ lwc1 $f14, 0x0158($a0) ## 00000158 -/* 00A54 80B26344 C48C0028 */ lwc1 $f12, 0x0028($a0) ## 00000028 -/* 00A58 80B26348 46109401 */ sub.s $f16, $f18, $f16 -/* 00A5C 80B2634C C492015C */ lwc1 $f18, 0x015C($a0) ## 0000015C -/* 00A60 80B26350 C48A002C */ lwc1 $f10, 0x002C($a0) ## 0000002C -/* 00A64 80B26354 460C7301 */ sub.s $f12, $f14, $f12 -/* 00A68 80B26358 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00A6C 80B2635C E7B0002C */ swc1 $f16, 0x002C($sp) -/* 00A70 80B26360 460A9281 */ sub.s $f10, $f18, $f10 -/* 00A74 80B26364 E7AC0028 */ swc1 $f12, 0x0028($sp) -/* 00A78 80B26368 24053037 */ addiu $a1, $zero, 0x3037 ## $a1 = 00003037 -/* 00A7C 80B2636C 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 00A80 80B26370 E7AA0024 */ swc1 $f10, 0x0024($sp) -/* 00A84 80B26374 C7A2002C */ lwc1 $f2, 0x002C($sp) -/* 00A88 80B26378 C7AC0028 */ lwc1 $f12, 0x0028($sp) -/* 00A8C 80B2637C C7AE0024 */ lwc1 $f14, 0x0024($sp) -/* 00A90 80B26380 46021102 */ mul.s $f4, $f2, $f2 -/* 00A94 80B26384 3C014370 */ lui $at, 0x4370 ## $at = 43700000 -/* 00A98 80B26388 44818000 */ mtc1 $at, $f16 ## $f16 = 240.00 -/* 00A9C 80B2638C 460C6182 */ mul.s $f6, $f12, $f12 -/* 00AA0 80B26390 3C063E4C */ lui $a2, 0x3E4C ## $a2 = 3E4C0000 -/* 00AA4 80B26394 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3E4CCCCD -/* 00AA8 80B26398 460E7282 */ mul.s $f10, $f14, $f14 -/* 00AAC 80B2639C 2604006C */ addiu $a0, $s0, 0x006C ## $a0 = 0000006C -/* 00AB0 80B263A0 3C05C040 */ lui $a1, 0xC040 ## $a1 = C0400000 -/* 00AB4 80B263A4 46062200 */ add.s $f8, $f4, $f6 -/* 00AB8 80B263A8 460A4000 */ add.s $f0, $f8, $f10 -/* 00ABC 80B263AC 46000004 */ sqrt.s $f0, $f0 -/* 00AC0 80B263B0 4600803C */ c.lt.s $f16, $f0 -/* 00AC4 80B263B4 00000000 */ nop -/* 00AC8 80B263B8 45020004 */ bc1fl .L80B263CC -/* 00ACC 80B263BC 860E00B6 */ lh $t6, 0x00B6($s0) ## 000000B6 -/* 00AD0 80B263C0 0C01E107 */ jal Math_SmoothScaleMaxF - -/* 00AD4 80B263C4 3C073F00 */ lui $a3, 0x3F00 ## $a3 = 3F000000 -/* 00AD8 80B263C8 860E00B6 */ lh $t6, 0x00B6($s0) ## 000000B6 -.L80B263CC: -/* 00ADC 80B263CC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00AE0 80B263D0 25CF1388 */ addiu $t7, $t6, 0x1388 ## $t7 = 00001388 -/* 00AE4 80B263D4 A60F00B6 */ sh $t7, 0x00B6($s0) ## 000000B6 -/* 00AE8 80B263D8 0C2C97C2 */ jal EnTuboTrap_TestCollider -/* 00AEC 80B263DC 8FA50034 */ lw $a1, 0x0034($sp) -/* 00AF0 80B263E0 8FBF001C */ lw $ra, 0x001C($sp) -/* 00AF4 80B263E4 8FB00018 */ lw $s0, 0x0018($sp) -/* 00AF8 80B263E8 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 00AFC 80B263EC 03E00008 */ jr $ra -/* 00B00 80B263F0 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_TestCollider.s b/asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_HandleImpact.s similarity index 96% rename from asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_TestCollider.s rename to asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_HandleImpact.s index 1c28df5022..fe7f9d108c 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_TestCollider.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_HandleImpact.s @@ -1,4 +1,4 @@ -glabel EnTuboTrap_TestCollider +glabel EnTuboTrap_HandleImpact /* 00618 80B25F08 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 /* 0061C 80B25F0C AFBF001C */ sw $ra, 0x001C($sp) /* 00620 80B25F10 AFB10018 */ sw $s1, 0x0018($sp) @@ -18,7 +18,7 @@ glabel EnTuboTrap_TestCollider /* 00658 80B25F48 00000000 */ nop /* 0065C 80B25F4C 45020010 */ bc1fl .L80B25F90 /* 00660 80B25F50 92020170 */ lbu $v0, 0x0170($s0) ## 00000170 -/* 00664 80B25F54 0C2C9723 */ jal EnTuboTrap_FragmentsWater +/* 00664 80B25F54 0C2C9723 */ jal EnTuboTrap_SpawnWaterFragments /* 00668 80B25F58 00000000 */ nop /* 0066C 80B25F5C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 00670 80B25F60 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024 @@ -41,7 +41,7 @@ glabel EnTuboTrap_TestCollider /* 006A8 80B25F98 30580004 */ andi $t8, $v0, 0x0004 ## $t8 = 00000000 /* 006AC 80B25F9C 13000015 */ beq $t8, $zero, .L80B25FF4 /* 006B0 80B25FA0 3059FFFB */ andi $t9, $v0, 0xFFFB ## $t9 = 00000000 -/* 006B4 80B25FA4 0C2C9686 */ jal EnTuboTrap_Fragments +/* 006B4 80B25FA4 0C2C9686 */ jal EnTuboTrap_SpawnFragments /* 006B8 80B25FA8 A2190170 */ sb $t9, 0x0170($s0) ## 00000170 /* 006BC 80B25FAC 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024 /* 006C0 80B25FB0 AFA50024 */ sw $a1, 0x0024($sp) @@ -72,7 +72,7 @@ glabel EnTuboTrap_TestCollider /* 00714 80B26004 11000016 */ beq $t0, $zero, .L80B26060 /* 00718 80B26008 3069FFFD */ andi $t1, $v1, 0xFFFD ## $t1 = 00000000 /* 0071C 80B2600C A2090171 */ sb $t1, 0x0171($s0) ## 00000171 -/* 00720 80B26010 0C2C9686 */ jal EnTuboTrap_Fragments +/* 00720 80B26010 0C2C9686 */ jal EnTuboTrap_SpawnFragments /* 00724 80B26014 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 /* 00728 80B26018 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024 /* 0072C 80B2601C AFA50024 */ sw $a1, 0x0024($sp) @@ -103,7 +103,7 @@ glabel EnTuboTrap_TestCollider /* 00780 80B26070 A20B0170 */ sb $t3, 0x0170($s0) ## 00000170 /* 00784 80B26074 14CC0015 */ bne $a2, $t4, .L80B260CC /* 00788 80B26078 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0078C 80B2607C 0C2C9686 */ jal EnTuboTrap_Fragments +/* 0078C 80B2607C 0C2C9686 */ jal EnTuboTrap_SpawnFragments /* 00790 80B26080 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 /* 00794 80B26084 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 00798 80B26088 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024 @@ -136,7 +136,7 @@ glabel EnTuboTrap_TestCollider /* 007F0 80B260E0 51C0000E */ beql $t6, $zero, .L80B2611C /* 007F4 80B260E4 8FBF001C */ lw $ra, 0x001C($sp) .L80B260E8: -/* 007F8 80B260E8 0C2C9686 */ jal EnTuboTrap_Fragments +/* 007F8 80B260E8 0C2C9686 */ jal EnTuboTrap_SpawnFragments /* 007FC 80B260EC 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 /* 00800 80B260F0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 00804 80B260F4 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_InitializeAttack.s b/asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_InitializeAttack.s deleted file mode 100644 index d71bf919a1..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_InitializeAttack.s +++ /dev/null @@ -1,40 +0,0 @@ -glabel EnTuboTrap_InitializeAttack -/* 009AC 80B2629C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 009B0 80B262A0 AFBF001C */ sw $ra, 0x001C($sp) -/* 009B4 80B262A4 AFB00018 */ sw $s0, 0x0018($sp) -/* 009B8 80B262A8 AFA50024 */ sw $a1, 0x0024($sp) -/* 009BC 80B262AC 848E00B6 */ lh $t6, 0x00B6($a0) ## 000000B6 -/* 009C0 80B262B0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 009C4 80B262B4 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000 -/* 009C8 80B262B8 25CF1388 */ addiu $t7, $t6, 0x1388 ## $t7 = 00001388 -/* 009CC 80B262BC A48F00B6 */ sh $t7, 0x00B6($a0) ## 000000B6 -/* 009D0 80B262C0 8E050150 */ lw $a1, 0x0150($s0) ## 00000150 -/* 009D4 80B262C4 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD -/* 009D8 80B262C8 24840028 */ addiu $a0, $a0, 0x0028 ## $a0 = 00000028 -/* 009DC 80B262CC 0C01E107 */ jal Math_SmoothScaleMaxF - -/* 009E0 80B262D0 3C074040 */ lui $a3, 0x4040 ## $a3 = 40400000 -/* 009E4 80B262D4 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028 -/* 009E8 80B262D8 C6060150 */ lwc1 $f6, 0x0150($s0) ## 00000150 -/* 009EC 80B262DC 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 009F0 80B262E0 44811000 */ mtc1 $at, $f2 ## $f2 = 10.00 -/* 009F4 80B262E4 46062001 */ sub.s $f0, $f4, $f6 -/* 009F8 80B262E8 3C1980B2 */ lui $t9, %hi(EnTuboTrap_Fly) ## $t9 = 80B20000 -/* 009FC 80B262EC 27396328 */ addiu $t9, $t9, %lo(EnTuboTrap_Fly) ## $t9 = 80B26328 -/* 00A00 80B262F0 46000005 */ abs.s $f0, $f0 -/* 00A04 80B262F4 4602003C */ c.lt.s $f0, $f2 -/* 00A08 80B262F8 00000000 */ nop -/* 00A0C 80B262FC 45020006 */ bc1fl .L80B26318 -/* 00A10 80B26300 8FBF001C */ lw $ra, 0x001C($sp) -/* 00A14 80B26304 8618008A */ lh $t8, 0x008A($s0) ## 0000008A -/* 00A18 80B26308 E6020068 */ swc1 $f2, 0x0068($s0) ## 00000068 -/* 00A1C 80B2630C AE19014C */ sw $t9, 0x014C($s0) ## 0000014C -/* 00A20 80B26310 A6180032 */ sh $t8, 0x0032($s0) ## 00000032 -/* 00A24 80B26314 8FBF001C */ lw $ra, 0x001C($sp) -.L80B26318: -/* 00A28 80B26318 8FB00018 */ lw $s0, 0x0018($sp) -/* 00A2C 80B2631C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00A30 80B26320 03E00008 */ jr $ra -/* 00A34 80B26324 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_Fragments.s b/asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_SpawnFragments.s similarity index 98% rename from asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_Fragments.s rename to asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_SpawnFragments.s index 26bfc1143e..3366b21942 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_Fragments.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_SpawnFragments.s @@ -1,12 +1,15 @@ .late_rodata +glabel D_80B265C0 + .float 0.23 -D_80B265C0: .float 0.23 -D_80B265C4: .float 0.2 -D_80B265C8: .float 0.6 +glabel D_80B265C4 + .float 0.2 + +glabel D_80B265C8 + .float 0.6 .text - -glabel EnTuboTrap_Fragments +glabel EnTuboTrap_SpawnFragments /* 00128 80B25A18 27BDFF20 */ addiu $sp, $sp, 0xFF20 ## $sp = FFFFFF20 /* 0012C 80B25A1C F7BE0070 */ sdc1 $f30, 0x0070($sp) /* 00130 80B25A20 3C0180B2 */ lui $at, %hi(D_80B265C0) ## $at = 80B20000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_FragmentsWater.s b/asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_SpawnWaterFragments.s similarity index 99% rename from asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_FragmentsWater.s rename to asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_SpawnWaterFragments.s index c5d727def5..f50a18afcf 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_FragmentsWater.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_SpawnWaterFragments.s @@ -1,11 +1,12 @@ .late_rodata +glabel D_80B265CC + .float 0.2 -D_80B265CC: .float 0.2 -D_80B265D0: .float 0.2 +glabel D_80B265D0 + .float 0.2 .text - -glabel EnTuboTrap_FragmentsWater +glabel EnTuboTrap_SpawnWaterFragments /* 0039C 80B25C8C 27BDFF20 */ addiu $sp, $sp, 0xFF20 ## $sp = FFFFFF20 /* 003A0 80B25C90 AFB1007C */ sw $s1, 0x007C($sp) /* 003A4 80B25C94 AFBF009C */ sw $ra, 0x009C($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_TestLevitate.s b/asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_TestLevitate.s deleted file mode 100644 index 3868ef1ad2..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_TestLevitate.s +++ /dev/null @@ -1,119 +0,0 @@ -.rdata - -D_80B26564: - .asciz "\x1b[32m☆☆☆☆☆ わて ☆☆☆☆☆ %f\n\x1b[m" - .balign 4 - -D_80B26590: - .asciz "\x1b[32m☆☆☆☆☆ おいどん ☆☆☆☆☆ %f\n\x1b[m" - .balign 4 - -D_80B265BC: - .asciz "\n\n" - .balign 4 - -.text - -glabel EnTuboTrap_TestLevitate -/* 0083C 80B2612C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00840 80B26130 AFBF001C */ sw $ra, 0x001C($sp) -/* 00844 80B26134 AFB00018 */ sw $s0, 0x0018($sp) -/* 00848 80B26138 AFA5002C */ sw $a1, 0x002C($sp) -/* 0084C 80B2613C 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44 -/* 00850 80B26140 3C188016 */ lui $t8, 0x8016 ## $t8 = 80160000 -/* 00854 80B26144 8F18FA90 */ lw $t8, -0x0570($t8) ## 8015FA90 -/* 00858 80B26148 AFAF0024 */ sw $t7, 0x0024($sp) -/* 0085C 80B2614C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00860 80B26150 871912D8 */ lh $t9, 0x12D8($t8) ## 801612D8 -/* 00864 80B26154 53200016 */ beql $t9, $zero, .L80B261B0 -/* 00868 80B26158 3C014348 */ lui $at, 0x4348 ## $at = 43480000 -/* 0086C 80B2615C C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028 -/* 00870 80B26160 3C0480B2 */ lui $a0, %hi(D_80B26564) ## $a0 = 80B20000 -/* 00874 80B26164 24846564 */ addiu $a0, $a0, %lo(D_80B26564) ## $a0 = 80B26564 -/* 00878 80B26168 460021A1 */ cvt.d.s $f6, $f4 -/* 0087C 80B2616C 44073000 */ mfc1 $a3, $f6 -/* 00880 80B26170 44063800 */ mfc1 $a2, $f7 -/* 00884 80B26174 0C00084C */ jal osSyncPrintf - -/* 00888 80B26178 00000000 */ nop -/* 0088C 80B2617C 8FA80024 */ lw $t0, 0x0024($sp) -/* 00890 80B26180 3C0480B2 */ lui $a0, %hi(D_80B26590) ## $a0 = 80B20000 -/* 00894 80B26184 24846590 */ addiu $a0, $a0, %lo(D_80B26590) ## $a0 = 80B26590 -/* 00898 80B26188 C5080028 */ lwc1 $f8, 0x0028($t0) ## 00000028 -/* 0089C 80B2618C 460042A1 */ cvt.d.s $f10, $f8 -/* 008A0 80B26190 44075000 */ mfc1 $a3, $f10 -/* 008A4 80B26194 44065800 */ mfc1 $a2, $f11 -/* 008A8 80B26198 0C00084C */ jal osSyncPrintf - -/* 008AC 80B2619C 00000000 */ nop -/* 008B0 80B261A0 3C0480B2 */ lui $a0, %hi(D_80B265BC) ## $a0 = 80B20000 -/* 008B4 80B261A4 0C00084C */ jal osSyncPrintf - -/* 008B8 80B261A8 248465BC */ addiu $a0, $a0, %lo(D_80B265BC) ## $a0 = 80B265BC -/* 008BC 80B261AC 3C014348 */ lui $at, 0x4348 ## $at = 43480000 -.L80B261B0: -/* 008C0 80B261B0 44819000 */ mtc1 $at, $f18 ## $f18 = 200.00 -/* 008C4 80B261B4 C6100090 */ lwc1 $f16, 0x0090($s0) ## 00000090 -/* 008C8 80B261B8 8FA90024 */ lw $t1, 0x0024($sp) -/* 008CC 80B261BC 4612803C */ c.lt.s $f16, $f18 -/* 008D0 80B261C0 00000000 */ nop -/* 008D4 80B261C4 45020031 */ bc1fl .L80B2628C -/* 008D8 80B261C8 8FBF001C */ lw $ra, 0x001C($sp) -/* 008DC 80B261CC C5240028 */ lwc1 $f4, 0x0028($t1) ## 00000028 -/* 008E0 80B261D0 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028 -/* 008E4 80B261D4 8FA4002C */ lw $a0, 0x002C($sp) -/* 008E8 80B261D8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 008EC 80B261DC 4604303E */ c.le.s $f6, $f4 -/* 008F0 80B261E0 24851C24 */ addiu $a1, $a0, 0x1C24 ## $a1 = 00001C24 -/* 008F4 80B261E4 45020029 */ bc1fl .L80B2628C -/* 008F8 80B261E8 8FBF001C */ lw $ra, 0x001C($sp) -/* 008FC 80B261EC 0C00CDD2 */ jal Actor_ChangeType - -/* 00900 80B261F0 24070005 */ addiu $a3, $zero, 0x0005 ## $a3 = 00000005 -/* 00904 80B261F4 8E0B0004 */ lw $t3, 0x0004($s0) ## 00000004 -/* 00908 80B261F8 3C0D8016 */ lui $t5, 0x8016 ## $t5 = 80160000 -/* 0090C 80B261FC 3C01C120 */ lui $at, 0xC120 ## $at = C1200000 -/* 00910 80B26200 356C0001 */ ori $t4, $t3, 0x0001 ## $t4 = 00000001 -/* 00914 80B26204 AE0C0004 */ sw $t4, 0x0004($s0) ## 00000004 -/* 00918 80B26208 8DADE664 */ lw $t5, -0x199C($t5) ## 8015E664 -/* 0091C 80B2620C 44818000 */ mtc1 $at, $f16 ## $f16 = -10.00 -/* 00920 80B26210 3C014220 */ lui $at, 0x4220 ## $at = 42200000 -/* 00924 80B26214 448D4000 */ mtc1 $t5, $f8 ## $f8 = -0.00 -/* 00928 80B26218 44812000 */ mtc1 $at, $f4 ## $f4 = 40.00 -/* 0092C 80B2621C 8FAE0024 */ lw $t6, 0x0024($sp) -/* 00930 80B26220 468042A0 */ cvt.s.w $f10, $f8 -/* 00934 80B26224 C6000028 */ lwc1 $f0, 0x0028($s0) ## 00000028 -/* 00938 80B26228 C5C60028 */ lwc1 $f6, 0x0028($t6) ## 00000028 -/* 0093C 80B2622C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00940 80B26230 46105482 */ mul.s $f18, $f10, $f16 -/* 00944 80B26234 46049080 */ add.s $f2, $f18, $f4 -/* 00948 80B26238 46023200 */ add.s $f8, $f6, $f2 -/* 0094C 80B2623C E6080150 */ swc1 $f8, 0x0150($s0) ## 00000150 -/* 00950 80B26240 C60A0150 */ lwc1 $f10, 0x0150($s0) ## 00000150 -/* 00954 80B26244 4600503C */ c.lt.s $f10, $f0 -/* 00958 80B26248 00000000 */ nop -/* 0095C 80B2624C 45020004 */ bc1fl .L80B26260 -/* 00960 80B26250 8E180024 */ lw $t8, 0x0024($s0) ## 00000024 -/* 00964 80B26254 46020400 */ add.s $f16, $f0, $f2 -/* 00968 80B26258 E6100150 */ swc1 $f16, 0x0150($s0) ## 00000150 -/* 0096C 80B2625C 8E180024 */ lw $t8, 0x0024($s0) ## 00000024 -.L80B26260: -/* 00970 80B26260 8E0F0028 */ lw $t7, 0x0028($s0) ## 00000028 -/* 00974 80B26264 240528C4 */ addiu $a1, $zero, 0x28C4 ## $a1 = 000028C4 -/* 00978 80B26268 AE180154 */ sw $t8, 0x0154($s0) ## 00000154 -/* 0097C 80B2626C 8E18002C */ lw $t8, 0x002C($s0) ## 0000002C -/* 00980 80B26270 AE0F0158 */ sw $t7, 0x0158($s0) ## 00000158 -/* 00984 80B26274 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 00988 80B26278 AE18015C */ sw $t8, 0x015C($s0) ## 0000015C -/* 0098C 80B2627C 3C1980B2 */ lui $t9, %hi(EnTuboTrap_InitializeAttack) ## $t9 = 80B20000 -/* 00990 80B26280 2739629C */ addiu $t9, $t9, %lo(EnTuboTrap_InitializeAttack) ## $t9 = 80B2629C -/* 00994 80B26284 AE19014C */ sw $t9, 0x014C($s0) ## 0000014C -/* 00998 80B26288 8FBF001C */ lw $ra, 0x001C($sp) -.L80B2628C: -/* 0099C 80B2628C 8FB00018 */ lw $s0, 0x0018($sp) -/* 009A0 80B26290 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 009A4 80B26294 03E00008 */ jr $ra -/* 009A8 80B26298 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_Update.s deleted file mode 100644 index f4076e815c..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_Update.s +++ /dev/null @@ -1,47 +0,0 @@ -glabel EnTuboTrap_Update -/* 00B04 80B263F4 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 00B08 80B263F8 AFB0001C */ sw $s0, 0x001C($sp) -/* 00B0C 80B263FC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00B10 80B26400 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00B14 80B26404 AFB10020 */ sw $s1, 0x0020($sp) -/* 00B18 80B26408 8E19014C */ lw $t9, 0x014C($s0) ## 0000014C -/* 00B1C 80B2640C 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 00B20 80B26410 0320F809 */ jalr $ra, $t9 -/* 00B24 80B26414 00000000 */ nop -/* 00B28 80B26418 0C00B638 */ jal Actor_MoveForward -/* 00B2C 80B2641C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00B30 80B26420 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00B34 80B26424 44810000 */ mtc1 $at, $f0 ## $f0 = 10.00 -/* 00B38 80B26428 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 00B3C 80B2642C 44812000 */ mtc1 $at, $f4 ## $f4 = 20.00 -/* 00B40 80B26430 240E001D */ addiu $t6, $zero, 0x001D ## $t6 = 0000001D -/* 00B44 80B26434 44060000 */ mfc1 $a2, $f0 -/* 00B48 80B26438 44070000 */ mfc1 $a3, $f0 -/* 00B4C 80B2643C AFAE0014 */ sw $t6, 0x0014($sp) -/* 00B50 80B26440 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00B54 80B26444 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00B58 80B26448 0C00B92D */ jal func_8002E4B4 -/* 00B5C 80B2644C E7A40010 */ swc1 $f4, 0x0010($sp) -/* 00B60 80B26450 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00B64 80B26454 0C00B56E */ jal Actor_SetHeight -/* 00B68 80B26458 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000 -/* 00B6C 80B2645C 26050160 */ addiu $a1, $s0, 0x0160 ## $a1 = 00000160 -/* 00B70 80B26460 AFA50028 */ sw $a1, 0x0028($sp) -/* 00B74 80B26464 0C0189B7 */ jal ActorCollider_Cylinder_Update -/* 00B78 80B26468 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00B7C 80B2646C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00B80 80B26470 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 00B84 80B26474 02212821 */ addu $a1, $s1, $at -/* 00B88 80B26478 AFA5002C */ sw $a1, 0x002C($sp) -/* 00B8C 80B2647C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00B90 80B26480 0C01767D */ jal Actor_CollisionCheck_SetAC ## CollisionCheck_setAC -/* 00B94 80B26484 8FA60028 */ lw $a2, 0x0028($sp) -/* 00B98 80B26488 8FA5002C */ lw $a1, 0x002C($sp) -/* 00B9C 80B2648C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00BA0 80B26490 0C0175E7 */ jal Actor_CollisionCheck_SetAT ## CollisionCheck_setAT -/* 00BA4 80B26494 8FA60028 */ lw $a2, 0x0028($sp) -/* 00BA8 80B26498 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00BAC 80B2649C 8FB0001C */ lw $s0, 0x001C($sp) -/* 00BB0 80B264A0 8FB10020 */ lw $s1, 0x0020($sp) -/* 00BB4 80B264A4 03E00008 */ jr $ra -/* 00BB8 80B264A8 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/gamestates/ovl_title/func_80800000.s b/asm/non_matchings/overlays/gamestates/ovl_title/func_80800000.s deleted file mode 100644 index 73ff91e289..0000000000 --- a/asm/non_matchings/overlays/gamestates/ovl_title/func_80800000.s +++ /dev/null @@ -1,91 +0,0 @@ -.rdata - -glabel D_808009C0 - .asciz "NOT MARIO CLUB VERSION" - .balign 4 - -glabel D_808009D8 - .asciz "[Creator:%s]" - .balign 4 - -glabel D_808009E8 - .asciz "[Date:%s]" - .balign 4 - - .text - -glabel func_80800000 -/* 00000 80800000 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 00004 80800004 AFBF003C */ sw $ra, 0x003C($sp) -/* 00008 80800008 AFBE0038 */ sw $s8, 0x0038($sp) -/* 0000C 8080000C AFB10034 */ sw $s1, 0x0034($sp) -/* 00010 80800010 AFB00030 */ sw $s0, 0x0030($sp) -/* 00014 80800014 AFA40040 */ sw $a0, 0x0040($sp) -/* 00018 80800018 8C910000 */ lw $s1, 0x0000($a0) ## 00000000 -/* 0001C 8080001C 03A0F025 */ or $s8, $sp, $zero ## $s8 = FFFFFFC0 -/* 00020 80800020 0C025047 */ jal func_8009411C -/* 00024 80800024 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00028 80800028 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFF90 -/* 0002C 8080002C 27B00018 */ addiu $s0, $sp, 0x0018 ## $s0 = FFFFFFA8 -/* 00030 80800030 00408825 */ or $s1, $v0, $zero ## $s1 = 00000000 -/* 00034 80800034 0C03EEE3 */ jal GfxPrint_Ctor -/* 00038 80800038 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8 -/* 0003C 8080003C 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8 -/* 00040 80800040 0C03EF07 */ jal GfxPrint_Open -/* 00044 80800044 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00048 80800048 240F00FF */ addiu $t7, $zero, 0x00FF ## $t7 = 000000FF -/* 0004C 8080004C AFAF0010 */ sw $t7, 0x0010($sp) -/* 00050 80800050 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8 -/* 00054 80800054 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF -/* 00058 80800058 2406009B */ addiu $a2, $zero, 0x009B ## $a2 = 0000009B -/* 0005C 8080005C 0C03ECEB */ jal GfxPrint_SetColor -/* 00060 80800060 240700FF */ addiu $a3, $zero, 0x00FF ## $a3 = 000000FF -/* 00064 80800064 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8 -/* 00068 80800068 24050009 */ addiu $a1, $zero, 0x0009 ## $a1 = 00000009 -/* 0006C 8080006C 0C03ED07 */ jal GfxPrint_SetPos -/* 00070 80800070 24060015 */ addiu $a2, $zero, 0x0015 ## $a2 = 00000015 -/* 00074 80800074 3C058080 */ lui $a1, %hi(D_808009C0) ## $a1 = 80800000 -/* 00078 80800078 24A509C0 */ addiu $a1, $a1, %lo(D_808009C0) ## $a1 = 808009C0 -/* 0007C 8080007C 0C03EF2D */ jal GfxPrint_Printf -/* 00080 80800080 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8 -/* 00084 80800084 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF -/* 00088 80800088 AFB80010 */ sw $t8, 0x0010($sp) -/* 0008C 8080008C 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8 -/* 00090 80800090 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF -/* 00094 80800094 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF -/* 00098 80800098 0C03ECEB */ jal GfxPrint_SetColor -/* 0009C 8080009C 240700FF */ addiu $a3, $zero, 0x00FF ## $a3 = 000000FF -/* 000A0 808000A0 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8 -/* 000A4 808000A4 24050007 */ addiu $a1, $zero, 0x0007 ## $a1 = 00000007 -/* 000A8 808000A8 0C03ED07 */ jal GfxPrint_SetPos -/* 000AC 808000AC 24060017 */ addiu $a2, $zero, 0x0017 ## $a2 = 00000017 -/* 000B0 808000B0 3C058080 */ lui $a1, %hi(D_808009D8) ## $a1 = 80800000 -/* 000B4 808000B4 3C068001 */ lui $a2, 0x8001 ## $a2 = 80010000 -/* 000B8 808000B8 24C62340 */ addiu $a2, $a2, 0x2340 ## $a2 = 80012340 -/* 000BC 808000BC 24A509D8 */ addiu $a1, $a1, %lo(D_808009D8) ## $a1 = 808009D8 -/* 000C0 808000C0 0C03EF2D */ jal GfxPrint_Printf -/* 000C4 808000C4 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8 -/* 000C8 808000C8 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8 -/* 000CC 808000CC 24050007 */ addiu $a1, $zero, 0x0007 ## $a1 = 00000007 -/* 000D0 808000D0 0C03ED07 */ jal GfxPrint_SetPos -/* 000D4 808000D4 24060018 */ addiu $a2, $zero, 0x0018 ## $a2 = 00000018 -/* 000D8 808000D8 3C058080 */ lui $a1, %hi(D_808009E8) ## $a1 = 80800000 -/* 000DC 808000DC 3C068001 */ lui $a2, 0x8001 ## $a2 = 80010000 -/* 000E0 808000E0 24C62350 */ addiu $a2, $a2, 0x2350 ## $a2 = 80012350 -/* 000E4 808000E4 24A509E8 */ addiu $a1, $a1, %lo(D_808009E8) ## $a1 = 808009E8 -/* 000E8 808000E8 0C03EF2D */ jal GfxPrint_Printf -/* 000EC 808000EC 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8 -/* 000F0 808000F0 0C03EF19 */ jal GfxPrint_Close -/* 000F4 808000F4 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8 -/* 000F8 808000F8 00408825 */ or $s1, $v0, $zero ## $s1 = 00000000 -/* 000FC 808000FC 0C03EF05 */ jal GfxPrint_Dtor -/* 00100 80800100 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8 -/* 00104 80800104 8FD90040 */ lw $t9, 0x0040($s8) ## 00000000 -/* 00108 80800108 03C0E825 */ or $sp, $s8, $zero ## $sp = FFFFFFC0 -/* 0010C 8080010C AF310000 */ sw $s1, 0x0000($t9) ## 00000000 -/* 00110 80800110 8FDF003C */ lw $ra, 0x003C($s8) ## FFFFFFFC -/* 00114 80800114 8FD10034 */ lw $s1, 0x0034($s8) ## FFFFFFF4 -/* 00118 80800118 8FD00030 */ lw $s0, 0x0030($s8) ## FFFFFFF0 -/* 0011C 8080011C 8FDE0038 */ lw $s8, 0x0038($s8) ## FFFFFFF8 -/* 00120 80800120 03E00008 */ jr $ra -/* 00124 80800124 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 \ No newline at end of file diff --git a/asm/non_matchings/overlays/gamestates/ovl_title/func_80800134.s b/asm/non_matchings/overlays/gamestates/ovl_title/func_80800134.s deleted file mode 100644 index c6b57724c0..0000000000 --- a/asm/non_matchings/overlays/gamestates/ovl_title/func_80800134.s +++ /dev/null @@ -1,38 +0,0 @@ -glabel func_80800134 -/* 00134 80800134 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8 -/* 00138 80800138 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 0013C 8080013C AFA70054 */ sw $a3, 0x0054($sp) -/* 00140 80800140 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00144 80800144 44856000 */ mtc1 $a1, $f12 ## $f12 = 0.00 -/* 00148 80800148 44867000 */ mtc1 $a2, $f14 ## $f14 = 0.00 -/* 0014C 8080014C C7A40054 */ lwc1 $f4, 0x0054($sp) -/* 00150 80800150 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00 -/* 00154 80800154 AFA40048 */ sw $a0, 0x0048($sp) -/* 00158 80800158 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0015C 8080015C 248400A8 */ addiu $a0, $a0, 0x00A8 ## $a0 = 000000A8 -/* 00160 80800160 AFA4001C */ sw $a0, 0x001C($sp) -/* 00164 80800164 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000 -/* 00168 80800168 3C0541F0 */ lui $a1, 0x41F0 ## $a1 = 41F00000 -/* 0016C 8080016C 3C074648 */ lui $a3, 0x4648 ## $a3 = 46480000 -/* 00170 80800170 E7A00028 */ swc1 $f0, 0x0028($sp) -/* 00174 80800174 E7A00020 */ swc1 $f0, 0x0020($sp) -/* 00178 80800178 E7A00034 */ swc1 $f0, 0x0034($sp) -/* 0017C 8080017C E7A00030 */ swc1 $f0, 0x0030($sp) -/* 00180 80800180 E7A0002C */ swc1 $f0, 0x002C($sp) -/* 00184 80800184 E7AC0038 */ swc1 $f12, 0x0038($sp) -/* 00188 80800188 E7AE003C */ swc1 $f14, 0x003C($sp) -/* 0018C 8080018C E7A40040 */ swc1 $f4, 0x0040($sp) -/* 00190 80800190 0C02A918 */ jal func_800AA460 -/* 00194 80800194 E7A60024 */ swc1 $f6, 0x0024($sp) -/* 00198 80800198 8FA4001C */ lw $a0, 0x001C($sp) -/* 0019C 8080019C 27A50038 */ addiu $a1, $sp, 0x0038 ## $a1 = FFFFFFF0 -/* 001A0 808001A0 27A6002C */ addiu $a2, $sp, 0x002C ## $a2 = FFFFFFE4 -/* 001A4 808001A4 0C02A8D6 */ jal func_800AA358 -/* 001A8 808001A8 27A70020 */ addiu $a3, $sp, 0x0020 ## $a3 = FFFFFFD8 -/* 001AC 808001AC 8FA4001C */ lw $a0, 0x001C($sp) -/* 001B0 808001B0 0C02AA94 */ jal func_800AAA50 -/* 001B4 808001B4 2405000F */ addiu $a1, $zero, 0x000F ## $a1 = 0000000F -/* 001B8 808001B8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 001BC 808001BC 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000 -/* 001C0 808001C0 03E00008 */ jr $ra -/* 001C4 808001C4 00000000 */ nop diff --git a/asm/non_matchings/overlays/gamestates/ovl_title/func_808001C8.s b/asm/non_matchings/overlays/gamestates/ovl_title/func_808001C8.s deleted file mode 100644 index 46e2b766f0..0000000000 --- a/asm/non_matchings/overlays/gamestates/ovl_title/func_808001C8.s +++ /dev/null @@ -1,376 +0,0 @@ -.rdata - -glabel D_808009F4 - .asciz "../z_title.c" - .balign 4 - -glabel D_80800A04 - .asciz "../z_title.c" - .balign 4 - -glabel D_80800A14 - .asciz "../z_title.c" - .balign 4 - -.late_rodata - -glabel D_80800A9C - .word 0xC59AA92F -glabel D_80800AA0 - .word 0x457A28AB -glabel D_80800AA4 - .word 0x448BE2AE, 0x00000000, 0x00000000 - - .text - -glabel func_808001C8 -/* 001C8 808001C8 27BDFF10 */ addiu $sp, $sp, 0xFF10 ## $sp = FFFFFF10 -/* 001CC 808001CC AFBF0024 */ sw $ra, 0x0024($sp) -/* 001D0 808001D0 AFB00020 */ sw $s0, 0x0020($sp) -/* 001D4 808001D4 8C850000 */ lw $a1, 0x0000($a0) ## 00000000 -/* 001D8 808001D8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 001DC 808001DC 3C068080 */ lui $a2, %hi(D_808009F4) ## $a2 = 80800000 -/* 001E0 808001E0 24C609F4 */ addiu $a2, $a2, %lo(D_808009F4) ## $a2 = 808009F4 -/* 001E4 808001E4 27A400A8 */ addiu $a0, $sp, 0x00A8 ## $a0 = FFFFFFB8 -/* 001E8 808001E8 2407018B */ addiu $a3, $zero, 0x018B ## $a3 = 0000018B -/* 001EC 808001EC 0C031AB1 */ jal func_800C6AC4 -/* 001F0 808001F0 AFA500B8 */ sw $a1, 0x00B8($sp) -/* 001F4 808001F4 3C01428A */ lui $at, 0x428A ## $at = 428A0000 -/* 001F8 808001F8 44810000 */ mtc1 $at, $f0 ## $f0 = 69.00 -/* 001FC 808001FC 3C018080 */ lui $at, %hi(D_80800A9C) ## $at = 80800000 -/* 00200 80800200 C4240A9C */ lwc1 $f4, %lo(D_80800A9C)($at) -/* 00204 80800204 3C018080 */ lui $at, %hi(D_80800AA0) ## $at = 80800000 -/* 00208 80800208 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00 -/* 0020C 8080020C C4260AA0 */ lwc1 $f6, %lo(D_80800AA0)($at) -/* 00210 80800210 3C018080 */ lui $at, %hi(D_80800AA4) ## $at = 80800000 -/* 00214 80800214 C4280AA4 */ lwc1 $f8, %lo(D_80800AA4)($at) -/* 00218 80800218 E7A000DC */ swc1 $f0, 0x00DC($sp) -/* 0021C 8080021C E7A000E0 */ swc1 $f0, 0x00E0($sp) -/* 00220 80800220 E7A000E4 */ swc1 $f0, 0x00E4($sp) -/* 00224 80800224 E7A400C4 */ swc1 $f4, 0x00C4($sp) -/* 00228 80800228 E7A600C8 */ swc1 $f6, 0x00C8($sp) -/* 0022C 8080022C E7A200D0 */ swc1 $f2, 0x00D0($sp) -/* 00230 80800230 E7A200D4 */ swc1 $f2, 0x00D4($sp) -/* 00234 80800234 E7A200D8 */ swc1 $f2, 0x00D8($sp) -/* 00238 80800238 E7A800CC */ swc1 $f8, 0x00CC($sp) -/* 0023C 8080023C 8E070000 */ lw $a3, 0x0000($s0) ## 00000000 -/* 00240 80800240 27A400D0 */ addiu $a0, $sp, 0x00D0 ## $a0 = FFFFFFE0 -/* 00244 80800244 27A500C4 */ addiu $a1, $sp, 0x00C4 ## $a1 = FFFFFFD4 -/* 00248 80800248 0C00BAAF */ jal func_8002EABC -/* 0024C 8080024C 27A600DC */ addiu $a2, $sp, 0x00DC ## $a2 = FFFFFFEC -/* 00250 80800250 8FA800B8 */ lw $t0, 0x00B8($sp) -/* 00254 80800254 3C0FDB02 */ lui $t7, 0xDB02 ## $t7 = DB020000 -/* 00258 80800258 24180018 */ addiu $t8, $zero, 0x0018 ## $t8 = 00000018 -/* 0025C 8080025C 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00260 80800260 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00264 80800264 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000 -/* 00268 80800268 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 0026C 8080026C AD0E02C0 */ sw $t6, 0x02C0($t0) ## 000002C0 -/* 00270 80800270 AC580004 */ sw $t8, 0x0004($v0) ## 00000004 -/* 00274 80800274 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 00278 80800278 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 0027C 8080027C 3C0F8080 */ lui $t7, %hi(D_808009B0) ## $t7 = 80800000 -/* 00280 80800280 3C0EDC08 */ lui $t6, 0xDC08 ## $t6 = DC080000 -/* 00284 80800284 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 00288 80800288 AD1902C0 */ sw $t9, 0x02C0($t0) ## 000002C0 -/* 0028C 8080028C 35CE060A */ ori $t6, $t6, 0x060A ## $t6 = DC08060A -/* 00290 80800290 25EF09B0 */ addiu $t7, $t7, %lo(D_808009B0) ## $t7 = 808009B0 -/* 00294 80800294 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 00298 80800298 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 0029C 8080029C 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 002A0 808002A0 3C0E8080 */ lui $t6, %hi(D_808009A8) ## $t6 = 80800000 -/* 002A4 808002A4 3C19DC08 */ lui $t9, 0xDC08 ## $t9 = DC080000 -/* 002A8 808002A8 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 002AC 808002AC AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0 -/* 002B0 808002B0 3739090A */ ori $t9, $t9, 0x090A ## $t9 = DC08090A -/* 002B4 808002B4 25CE09A8 */ addiu $t6, $t6, %lo(D_808009A8) ## $t6 = 808009A8 -/* 002B8 808002B8 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004 -/* 002BC 808002BC AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 002C0 808002C0 3C064316 */ lui $a2, 0x4316 ## $a2 = 43160000 -/* 002C4 808002C4 3C074396 */ lui $a3, 0x4396 ## $a3 = 43960000 -/* 002C8 808002C8 0C20004D */ jal func_80800134 -/* 002CC 808002CC AFA800B8 */ sw $t0, 0x00B8($sp) -/* 002D0 808002D0 0C024F46 */ jal func_80093D18 -/* 002D4 808002D4 8E040000 */ lw $a0, 0x0000($s0) ## 00000000 -/* 002D8 808002D8 3C01C254 */ lui $at, 0xC254 ## $at = C2540000 -/* 002DC 808002DC 44816000 */ mtc1 $at, $f12 ## $f12 = -53.00 -/* 002E0 808002E0 3C01C0A0 */ lui $at, 0xC0A0 ## $at = C0A00000 -/* 002E4 808002E4 44817000 */ mtc1 $at, $f14 ## $f14 = -5.00 -/* 002E8 808002E8 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000 -/* 002EC 808002EC 0C034261 */ jal Matrix_Translate -/* 002F0 808002F0 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 002F4 808002F4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 002F8 808002F8 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00 -/* 002FC 808002FC 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00300 80800300 44066000 */ mfc1 $a2, $f12 -/* 00304 80800304 0C0342A3 */ jal Matrix_Scale -/* 00308 80800308 46006386 */ mov.s $f14, $f12 -/* 0030C 8080030C 3C058080 */ lui $a1, %hi(D_808009A0) ## $a1 = 80800000 -/* 00310 80800310 84A509A0 */ lh $a1, %lo(D_808009A0)($a1) -/* 00314 80800314 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000 -/* 00318 80800318 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 0031C 8080031C 0C034421 */ jal Matrix_RotateXYZ -/* 00320 80800320 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00324 80800324 8FA800B8 */ lw $t0, 0x00B8($sp) -/* 00328 80800328 3C18DA38 */ lui $t8, 0xDA38 ## $t8 = DA380000 -/* 0032C 8080032C 37180003 */ ori $t8, $t8, 0x0003 ## $t8 = DA380003 -/* 00330 80800330 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00334 80800334 3C058080 */ lui $a1, %hi(D_80800A04) ## $a1 = 80800000 -/* 00338 80800338 24A50A04 */ addiu $a1, $a1, %lo(D_80800A04) ## $a1 = 80800A04 -/* 0033C 8080033C 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 00340 80800340 AD0F02C0 */ sw $t7, 0x02C0($t0) ## 000002C0 -/* 00344 80800344 AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 00348 80800348 8E040000 */ lw $a0, 0x0000($s0) ## 00000000 -/* 0034C 8080034C 240601A8 */ addiu $a2, $zero, 0x01A8 ## $a2 = 000001A8 -/* 00350 80800350 AFA800B8 */ sw $t0, 0x00B8($sp) -/* 00354 80800354 0C0346A2 */ jal Matrix_NewMtx -/* 00358 80800358 AFA20098 */ sw $v0, 0x0098($sp) -/* 0035C 8080035C 8FA30098 */ lw $v1, 0x0098($sp) -/* 00360 80800360 8FA800B8 */ lw $t0, 0x00B8($sp) -/* 00364 80800364 3C0F0100 */ lui $t7, 0x0100 ## $t7 = 01000000 -/* 00368 80800368 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 0036C 8080036C 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00370 80800370 25EF2720 */ addiu $t7, $t7, 0x2720 ## $t7 = 01002720 -/* 00374 80800374 3C0EDE00 */ lui $t6, 0xDE00 ## $t6 = DE000000 -/* 00378 80800378 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 0037C 8080037C AD1902C0 */ sw $t9, 0x02C0($t0) ## 000002C0 -/* 00380 80800380 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 00384 80800384 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 00388 80800388 8E040000 */ lw $a0, 0x0000($s0) ## 00000000 -/* 0038C 8080038C 0C025131 */ jal func_800944C4 -/* 00390 80800390 AFA800B8 */ sw $t0, 0x00B8($sp) -/* 00394 80800394 8FA800B8 */ lw $t0, 0x00B8($sp) -/* 00398 80800398 3C05E700 */ lui $a1, 0xE700 ## $a1 = E7000000 -/* 0039C 8080039C 3C0EE300 */ lui $t6, 0xE300 ## $t6 = E3000000 -/* 003A0 808003A0 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 003A4 808003A4 35CE0A01 */ ori $t6, $t6, 0x0A01 ## $t6 = E3000A01 -/* 003A8 808003A8 3C0F0010 */ lui $t7, 0x0010 ## $t7 = 00100000 -/* 003AC 808003AC 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 003B0 808003B0 AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0 -/* 003B4 808003B4 AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 003B8 808003B8 AC450000 */ sw $a1, 0x0000($v0) ## 00000000 -/* 003BC 808003BC 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 003C0 808003C0 3C09F200 */ lui $t1, 0xF200 ## $t1 = F2000000 -/* 003C4 808003C4 3C1F070B */ lui $ra, 0x070B ## $ra = 070B0000 -/* 003C8 808003C8 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 003CC 808003CC AD1902C0 */ sw $t9, 0x02C0($t0) ## 000002C0 -/* 003D0 808003D0 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 003D4 808003D4 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 003D8 808003D8 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 003DC 808003DC 3C0E0C18 */ lui $t6, 0x0C18 ## $t6 = 0C180000 -/* 003E0 808003E0 3C19E200 */ lui $t9, 0xE200 ## $t9 = E2000000 -/* 003E4 808003E4 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 003E8 808003E8 AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0 -/* 003EC 808003EC 3739001C */ ori $t9, $t9, 0x001C ## $t9 = E200001C -/* 003F0 808003F0 35CE4340 */ ori $t6, $t6, 0x4340 ## $t6 = 0C184340 -/* 003F4 808003F4 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004 -/* 003F8 808003F8 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 003FC 808003FC 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00400 80800400 3C19350C */ lui $t9, 0x350C ## $t9 = 350C0000 -/* 00404 80800404 3C18FC26 */ lui $t8, 0xFC26 ## $t8 = FC260000 -/* 00408 80800408 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 0040C 8080040C AD0F02C0 */ sw $t7, 0x02C0($t0) ## 000002C0 -/* 00410 80800410 37187E60 */ ori $t8, $t8, 0x7E60 ## $t8 = FC267E60 -/* 00414 80800414 3739F37F */ ori $t9, $t9, 0xF37F ## $t9 = 350CF37F -/* 00418 80800418 AC590004 */ sw $t9, 0x0004($v0) ## 00000004 -/* 0041C 8080041C AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 00420 80800420 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00424 80800424 3C18AAFF */ lui $t8, 0xAAFF ## $t8 = AAFF0000 -/* 00428 80800428 3718FFFF */ ori $t8, $t8, 0xFFFF ## $t8 = AAFFFFFF -/* 0042C 8080042C 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 00430 80800430 AD0E02C0 */ sw $t6, 0x02C0($t0) ## 000002C0 -/* 00434 80800434 3C0FFA00 */ lui $t7, 0xFA00 ## $t7 = FA000000 -/* 00438 80800438 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 0043C 8080043C AC580004 */ sw $t8, 0x0004($v0) ## 00000004 -/* 00440 80800440 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00444 80800444 340FFF80 */ ori $t7, $zero, 0xFF80 ## $t7 = 0000FF80 -/* 00448 80800448 3C0EFB00 */ lui $t6, 0xFB00 ## $t6 = FB000000 -/* 0044C 8080044C 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 00450 80800450 AD1902C0 */ sw $t9, 0x02C0($t0) ## 000002C0 -/* 00454 80800454 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 00458 80800458 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 0045C 8080045C 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00460 80800460 3C0E0100 */ lui $t6, 0x0100 ## $t6 = 01000000 -/* 00464 80800464 25CE1800 */ addiu $t6, $t6, 0x1800 ## $t6 = 01001800 -/* 00468 80800468 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 0046C 8080046C AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0 -/* 00470 80800470 3C19FD90 */ lui $t9, 0xFD90 ## $t9 = FD900000 -/* 00474 80800474 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 00478 80800478 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004 -/* 0047C 8080047C 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00480 80800480 3C190701 */ lui $t9, 0x0701 ## $t9 = 07010000 -/* 00484 80800484 3C18F590 */ lui $t8, 0xF590 ## $t8 = F5900000 -/* 00488 80800488 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 0048C 8080048C AD0F02C0 */ sw $t7, 0x02C0($t0) ## 000002C0 -/* 00490 80800490 37180100 */ ori $t8, $t8, 0x0100 ## $t8 = F5900100 -/* 00494 80800494 37396C52 */ ori $t9, $t9, 0x6C52 ## $t9 = 07016C52 -/* 00498 80800498 AC590004 */ sw $t9, 0x0004($v0) ## 00000004 -/* 0049C 8080049C AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 004A0 808004A0 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 004A4 808004A4 3C0FE600 */ lui $t7, 0xE600 ## $t7 = E6000000 -/* 004A8 808004A8 3C19F300 */ lui $t9, 0xF300 ## $t9 = F3000000 -/* 004AC 808004AC 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 004B0 808004B0 AD0E02C0 */ sw $t6, 0x02C0($t0) ## 000002C0 -/* 004B4 808004B4 AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 004B8 808004B8 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 004BC 808004BC 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 004C0 808004C0 3C0E071F */ lui $t6, 0x071F ## $t6 = 071F0000 -/* 004C4 808004C4 35CEF200 */ ori $t6, $t6, 0xF200 ## $t6 = 071FF200 -/* 004C8 808004C8 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 004CC 808004CC AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0 -/* 004D0 808004D0 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004 -/* 004D4 808004D4 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 004D8 808004D8 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 004DC 808004DC 3C19F588 */ lui $t9, 0xF588 ## $t9 = F5880000 -/* 004E0 808004E0 3C0E0101 */ lui $t6, 0x0101 ## $t6 = 01010000 -/* 004E4 808004E4 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 004E8 808004E8 AD0F02C0 */ sw $t7, 0x02C0($t0) ## 000002C0 -/* 004EC 808004EC AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 004F0 808004F0 AC450000 */ sw $a1, 0x0000($v0) ## 00000000 -/* 004F4 808004F4 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 004F8 808004F8 35CE6C52 */ ori $t6, $t6, 0x6C52 ## $t6 = 01016C52 -/* 004FC 808004FC 37390900 */ ori $t9, $t9, 0x0900 ## $t9 = F5880900 -/* 00500 80800500 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 00504 80800504 AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0 -/* 00508 80800508 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004 -/* 0050C 8080050C AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 00510 80800510 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00514 80800514 3C180107 */ lui $t8, 0x0107 ## $t8 = 01070000 -/* 00518 80800518 3718C07C */ ori $t8, $t8, 0xC07C ## $t8 = 0107C07C -/* 0051C 8080051C 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 00520 80800520 AD0F02C0 */ sw $t7, 0x02C0($t0) ## 000002C0 -/* 00524 80800524 3C0A0100 */ lui $t2, 0x0100 ## $t2 = 01000000 -/* 00528 80800528 254A0000 */ addiu $t2, $t2, 0x0000 ## $t2 = 01000000 -/* 0052C 8080052C 37FFF056 */ ori $ra, $ra, 0xF056 ## $ra = 070BF056 -/* 00530 80800530 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00534 80800534 2407005E */ addiu $a3, $zero, 0x005E ## $a3 = 0000005E -/* 00538 80800538 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000 -/* 0053C 8080053C 3C0D0700 */ lui $t5, 0x0700 ## $t5 = 07000000 -/* 00540 80800540 3C0CF590 */ lui $t4, 0xF590 ## $t4 = F5900000 -/* 00544 80800544 240B0180 */ addiu $t3, $zero, 0x0180 ## $t3 = 00000180 -/* 00548 80800548 AC580004 */ sw $t8, 0x0004($v0) ## 00000004 -/* 0054C 8080054C AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -.L80800550: -/* 00550 80800550 008B0019 */ multu $a0, $t3 -/* 00554 80800554 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00558 80800558 3C0EFD90 */ lui $t6, 0xFD90 ## $t6 = FD900000 -/* 0055C 8080055C 24E50002 */ addiu $a1, $a3, 0x0002 ## $a1 = 00000060 -/* 00560 80800560 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 00564 80800564 AD1902C0 */ sw $t9, 0x02C0($t0) ## 000002C0 -/* 00568 80800568 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 0056C 8080056C 3C01E448 */ lui $at, 0xE448 ## $at = E4480000 -/* 00570 80800570 34214000 */ ori $at, $at, 0x4000 ## $at = E4484000 -/* 00574 80800574 24C60001 */ addiu $a2, $a2, 0x0001 ## $a2 = 00000001 -/* 00578 80800578 00007812 */ mflo $t7 -/* 0057C 8080057C 014FC021 */ addu $t8, $t2, $t7 -/* 00580 80800580 AC580004 */ sw $t8, 0x0004($v0) ## 00000004 -/* 00584 80800584 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00588 80800588 3C0FE600 */ lui $t7, 0xE600 ## $t7 = E6000000 -/* 0058C 8080058C 30C6FFFF */ andi $a2, $a2, 0xFFFF ## $a2 = 00000001 -/* 00590 80800590 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 00594 80800594 AD1902C0 */ sw $t9, 0x02C0($t0) ## 000002C0 -/* 00598 80800598 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004 -/* 0059C 8080059C AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 005A0 808005A0 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 005A4 808005A4 3C19F300 */ lui $t9, 0xF300 ## $t9 = F3000000 -/* 005A8 808005A8 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 005AC 808005AC AD0E02C0 */ sw $t6, 0x02C0($t0) ## 000002C0 -/* 005B0 808005B0 AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 005B4 808005B4 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 005B8 808005B8 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 005BC 808005BC 3C0FE700 */ lui $t7, 0xE700 ## $t7 = E7000000 -/* 005C0 808005C0 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 005C4 808005C4 AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0 -/* 005C8 808005C8 AC5F0004 */ sw $ra, 0x0004($v0) ## 00000004 -/* 005CC 808005CC AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 005D0 808005D0 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 005D4 808005D4 3C19F588 */ lui $t9, 0xF588 ## $t9 = F5880000 -/* 005D8 808005D8 37393000 */ ori $t9, $t9, 0x3000 ## $t9 = F5883000 -/* 005DC 808005DC 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 005E0 808005E0 AD0E02C0 */ sw $t6, 0x02C0($t0) ## 000002C0 -/* 005E4 808005E4 AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 005E8 808005E8 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 005EC 808005EC 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 005F0 808005F0 3C0F002F */ lui $t7, 0x002F ## $t7 = 002F0000 -/* 005F4 808005F4 35EFC004 */ ori $t7, $t7, 0xC004 ## $t7 = 002FC004 -/* 005F8 808005F8 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 005FC 808005FC AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0 -/* 00600 80800600 AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 00604 80800604 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 00608 80800608 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 0060C 8080060C 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 00610 80800610 AD0E02C0 */ sw $t6, 0x02C0($t0) ## 000002C0 -/* 00614 80800614 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 00618 80800618 AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 0061C 8080061C 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00620 80800620 00047880 */ sll $t7, $a0, 2 -/* 00624 80800624 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000001 -/* 00628 80800628 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 0062C 8080062C AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0 -/* 00630 80800630 861901DC */ lh $t9, 0x01DC($s0) ## 000001DC -/* 00634 80800634 332E007F */ andi $t6, $t9, 0x007F ## $t6 = 00000000 -/* 00638 80800638 01CFC023 */ subu $t8, $t6, $t7 -/* 0063C 8080063C 860E01DE */ lh $t6, 0x01DE($s0) ## 000001DE -/* 00640 80800640 33190FFF */ andi $t9, $t8, 0x0FFF ## $t9 = 00000008 -/* 00644 80800644 31CF0FFF */ andi $t7, $t6, 0x0FFF ## $t7 = 00000000 -/* 00648 80800648 000FC300 */ sll $t8, $t7, 12 -/* 0064C 8080064C 03097025 */ or $t6, $t8, $t1 ## $t6 = F2000008 -/* 00650 80800650 01D97825 */ or $t7, $t6, $t9 ## $t7 = F2000008 -/* 00654 80800654 3C180100 */ lui $t8, 0x0100 ## $t8 = 01000000 -/* 00658 80800658 AC580004 */ sw $t8, 0x0004($v0) ## 00000004 -/* 0065C 8080065C AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 00660 80800660 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00664 80800664 0005C880 */ sll $t9, $a1, 2 -/* 00668 80800668 332F0FFF */ andi $t7, $t9, 0x0FFF ## $t7 = 00000008 -/* 0066C 8080066C 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 00670 80800670 AD0E02C0 */ sw $t6, 0x02C0($t0) ## 000002C0 -/* 00674 80800674 01E1C025 */ or $t8, $t7, $at ## $t8 = E4484008 -/* 00678 80800678 3C010018 */ lui $at, 0x0018 ## $at = 00180000 -/* 0067C 8080067C 00077080 */ sll $t6, $a3, 2 -/* 00680 80800680 31D90FFF */ andi $t9, $t6, 0x0FFF ## $t9 = 00000008 -/* 00684 80800684 34214000 */ ori $at, $at, 0x4000 ## $at = 00184000 -/* 00688 80800688 03217825 */ or $t7, $t9, $at ## $t7 = 00184008 -/* 0068C 8080068C AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 00690 80800690 AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 00694 80800694 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00698 80800698 3C0EE100 */ lui $t6, 0xE100 ## $t6 = E1000000 -/* 0069C 8080069C 28C10010 */ slti $at, $a2, 0x0010 -/* 006A0 808006A0 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 006A4 808006A4 AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0 -/* 006A8 808006A8 AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 006AC 808006AC AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 006B0 808006B0 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 006B4 808006B4 3C180400 */ lui $t8, 0x0400 ## $t8 = 04000000 -/* 006B8 808006B8 37180400 */ ori $t8, $t8, 0x0400 ## $t8 = 04000400 -/* 006BC 808006BC 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 006C0 808006C0 AD1902C0 */ sw $t9, 0x02C0($t0) ## 000002C0 -/* 006C4 808006C4 3C0FF100 */ lui $t7, 0xF100 ## $t7 = F1000000 -/* 006C8 808006C8 30A7FFFF */ andi $a3, $a1, 0xFFFF ## $a3 = 00000060 -/* 006CC 808006CC AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 006D0 808006D0 1420FF9F */ bne $at, $zero, .L80800550 -/* 006D4 808006D4 AC580004 */ sw $t8, 0x0004($v0) ## 00000004 -/* 006D8 808006D8 860E01D6 */ lh $t6, 0x01D6($s0) ## 000001D6 -/* 006DC 808006DC 8E040000 */ lw $a0, 0x0000($s0) ## 00000000 -/* 006E0 808006E0 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002 -/* 006E4 808006E4 AFB90014 */ sw $t9, 0x0014($sp) -/* 006E8 808006E8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 006EC 808006EC 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 006F0 808006F0 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 006F4 808006F4 0C01D9CB */ jal func_8007672C -/* 006F8 808006F8 AFAE0010 */ sw $t6, 0x0010($sp) -/* 006FC 808006FC 3C0F8080 */ lui $t7, %hi(D_808009A0) ## $t7 = 80800000 -/* 00700 80800700 85EF09A0 */ lh $t7, %lo(D_808009A0)($t7) -/* 00704 80800704 3C018080 */ lui $at, %hi(D_808009A0) ## $at = 80800000 -/* 00708 80800708 3C068080 */ lui $a2, %hi(D_80800A14) ## $a2 = 80800000 -/* 0070C 8080070C 25F8012C */ addiu $t8, $t7, 0x012C ## $t8 = 8080012C -/* 00710 80800710 A43809A0 */ sh $t8, %lo(D_808009A0)($at) -/* 00714 80800714 8E050000 */ lw $a1, 0x0000($s0) ## 00000000 -/* 00718 80800718 24C60A14 */ addiu $a2, $a2, %lo(D_80800A14) ## $a2 = 80800A14 -/* 0071C 8080071C 27A400A8 */ addiu $a0, $sp, 0x00A8 ## $a0 = FFFFFFB8 -/* 00720 80800720 0C031AD5 */ jal func_800C6B54 -/* 00724 80800724 240701E3 */ addiu $a3, $zero, 0x01E3 ## $a3 = 000001E3 -/* 00728 80800728 8FBF0024 */ lw $ra, 0x0024($sp) -/* 0072C 8080072C 8FB00020 */ lw $s0, 0x0020($sp) -/* 00730 80800730 27BD00F0 */ addiu $sp, $sp, 0x00F0 ## $sp = 00000000 -/* 00734 80800734 03E00008 */ jr $ra -/* 00738 80800738 00000000 */ nop diff --git a/asm/non_matchings/overlays/gamestates/ovl_title/func_8080073C.s b/asm/non_matchings/overlays/gamestates/ovl_title/func_8080073C.s deleted file mode 100644 index fcb96cbd5e..0000000000 --- a/asm/non_matchings/overlays/gamestates/ovl_title/func_8080073C.s +++ /dev/null @@ -1,86 +0,0 @@ -.rdata - -glabel D_80800A24 - .asciz "../z_title.c" - .balign 4 - -glabel D_80800A34 - .asciz "../z_title.c" - .balign 4 - - .text - -glabel func_8080073C -/* 0073C 8080073C 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0 -/* 00740 80800740 AFBF001C */ sw $ra, 0x001C($sp) -/* 00744 80800744 AFB10018 */ sw $s1, 0x0018($sp) -/* 00748 80800748 AFB00014 */ sw $s0, 0x0014($sp) -/* 0074C 8080074C 8C850000 */ lw $a1, 0x0000($a0) ## 00000000 -/* 00750 80800750 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00754 80800754 3C068080 */ lui $a2, %hi(D_80800A24) ## $a2 = 80800000 -/* 00758 80800758 24C60A24 */ addiu $a2, $a2, %lo(D_80800A24) ## $a2 = 80800A24 -/* 0075C 8080075C 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE8 -/* 00760 80800760 240701EE */ addiu $a3, $zero, 0x01EE ## $a3 = 000001EE -/* 00764 80800764 0C031AB1 */ jal func_800C6AC4 -/* 00768 80800768 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 0076C 8080076C 8E2302C0 */ lw $v1, 0x02C0($s1) ## 000002C0 -/* 00770 80800770 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000 -/* 00774 80800774 3C19DB06 */ lui $t9, 0xDB06 ## $t9 = DB060000 -/* 00778 80800778 246E0008 */ addiu $t6, $v1, 0x0008 ## $t6 = 00000008 -/* 0077C 8080077C AE2E02C0 */ sw $t6, 0x02C0($s1) ## 000002C0 -/* 00780 80800780 AC600004 */ sw $zero, 0x0004($v1) ## 00000004 -/* 00784 80800784 AC6F0000 */ sw $t7, 0x0000($v1) ## 00000000 -/* 00788 80800788 8E2302C0 */ lw $v1, 0x02C0($s1) ## 000002C0 -/* 0078C 8080078C 37390004 */ ori $t9, $t9, 0x0004 ## $t9 = DB060004 -/* 00790 80800790 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00794 80800794 24780008 */ addiu $t8, $v1, 0x0008 ## $t8 = 00000008 -/* 00798 80800798 AE3802C0 */ sw $t8, 0x02C0($s1) ## 000002C0 -/* 0079C 8080079C AC790000 */ sw $t9, 0x0000($v1) ## 00000000 -/* 007A0 808007A0 8E0800A4 */ lw $t0, 0x00A4($s0) ## 000000A4 -/* 007A4 808007A4 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 007A8 808007A8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 007AC 808007AC AC680004 */ sw $t0, 0x0004($v1) ## 00000004 -/* 007B0 808007B0 0C025492 */ jal func_80095248 -/* 007B4 808007B4 8E040000 */ lw $a0, 0x0000($s0) ## 00000000 -/* 007B8 808007B8 0C20004A */ jal func_80800128 -/* 007BC 808007BC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 007C0 808007C0 0C200072 */ jal func_808001C8 -/* 007C4 808007C4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 007C8 808007C8 3C098013 */ lui $t1, 0x8013 ## $t1 = 80130000 -/* 007CC 808007CC 8D29DBC0 */ lw $t1, -0x2440($t1) ## 8012DBC0 -/* 007D0 808007D0 51200008 */ beql $t1, $zero, .L808007F4 -/* 007D4 808007D4 920C01E1 */ lbu $t4, 0x01E1($s0) ## 000001E1 -/* 007D8 808007D8 8E2A02C0 */ lw $t2, 0x02C0($s1) ## 000002C0 -/* 007DC 808007DC 27A4002C */ addiu $a0, $sp, 0x002C ## $a0 = FFFFFFDC -/* 007E0 808007E0 0C200000 */ jal func_80800000 -/* 007E4 808007E4 AFAA002C */ sw $t2, 0x002C($sp) -/* 007E8 808007E8 8FAB002C */ lw $t3, 0x002C($sp) -/* 007EC 808007EC AE2B02C0 */ sw $t3, 0x02C0($s1) ## 000002C0 -/* 007F0 808007F0 920C01E1 */ lbu $t4, 0x01E1($s0) ## 000001E1 -.L808007F4: -/* 007F4 808007F4 3C068080 */ lui $a2, %hi(D_80800A34) ## $a2 = 80800000 -/* 007F8 808007F8 24C60A34 */ addiu $a2, $a2, %lo(D_80800A34) ## $a2 = 80800A34 -/* 007FC 808007FC 1180000E */ beq $t4, $zero, .L80800838 -/* 00800 80800800 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE8 -/* 00804 80800804 3C028016 */ lui $v0, 0x8016 ## $v0 = 80160000 -/* 00808 80800808 2442E660 */ addiu $v0, $v0, 0xE660 ## $v0 = 8015E660 -/* 0080C 8080080C 240300FF */ addiu $v1, $zero, 0x00FF ## $v1 = 000000FF -/* 00810 80800810 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001 -/* 00814 80800814 A04313E0 */ sb $v1, 0x13E0($v0) ## 8015FA40 -/* 00818 80800818 A04313E1 */ sb $v1, 0x13E1($v0) ## 8015FA41 -/* 0081C 8080081C AC4D135C */ sw $t5, 0x135C($v0) ## 8015F9BC -/* 00820 80800820 3C0E8080 */ lui $t6, 0x8080 ## $t6 = 80800000 -/* 00824 80800824 25CE3CAC */ addiu $t6, $t6, 0x3CAC ## $t6 = 80803CAC -/* 00828 80800828 240F01D0 */ addiu $t7, $zero, 0x01D0 ## $t7 = 000001D0 -/* 0082C 8080082C AE000098 */ sw $zero, 0x0098($s0) ## 00000098 -/* 00830 80800830 AE0F0010 */ sw $t7, 0x0010($s0) ## 00000010 -/* 00834 80800834 AE0E000C */ sw $t6, 0x000C($s0) ## 0000000C -.L80800838: -/* 00838 80800838 8E050000 */ lw $a1, 0x0000($s0) ## 00000000 -/* 0083C 8080083C 0C031AD5 */ jal func_800C6B54 -/* 00840 80800840 2407021D */ addiu $a3, $zero, 0x021D ## $a3 = 0000021D -/* 00844 80800844 8FBF001C */ lw $ra, 0x001C($sp) -/* 00848 80800848 8FB00014 */ lw $s0, 0x0014($sp) -/* 0084C 8080084C 8FB10018 */ lw $s1, 0x0018($sp) -/* 00850 80800850 03E00008 */ jr $ra -/* 00854 80800854 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/gamestates/ovl_title/func_80800878.s b/asm/non_matchings/overlays/gamestates/ovl_title/func_80800878.s deleted file mode 100644 index 1badaae37a..0000000000 --- a/asm/non_matchings/overlays/gamestates/ovl_title/func_80800878.s +++ /dev/null @@ -1,100 +0,0 @@ -.rdata - -glabel D_80800A44 - .asciz "../z_title.c" - .balign 4 - -glabel D_80800A54 - .asciz "z_title.c\n" - .balign 4 - -glabel D_80800A60 - .asciz "this->staticSegment != NULL" - .balign 4 - -glabel D_80800A7C - .asciz "../z_title.c" - .balign 4 - -glabel D_80800A8C - .asciz "../z_title.c" - .balign 4 - - .text - -glabel func_80800878 -/* 00878 80800878 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 0087C 8080087C 3C0201AA */ lui $v0, 0x01AA ## $v0 = 01AA0000 -/* 00880 80800880 3C0E01AA */ lui $t6, 0x01AA ## $t6 = 01AA0000 -/* 00884 80800884 25CE3DC0 */ addiu $t6, $t6, 0x3DC0 ## $t6 = 01AA3DC0 -/* 00888 80800888 24421000 */ addiu $v0, $v0, 0x1000 ## $v0 = 01AA1000 -/* 0088C 8080088C AFBF0024 */ sw $ra, 0x0024($sp) -/* 00890 80800890 AFB00020 */ sw $s0, 0x0020($sp) -/* 00894 80800894 01C22823 */ subu $a1, $t6, $v0 -/* 00898 80800898 3C068080 */ lui $a2, %hi(D_80800A44) ## $a2 = 80800000 -/* 0089C 8080089C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 008A0 808008A0 24C60A44 */ addiu $a2, $a2, %lo(D_80800A44) ## $a2 = 80800A44 -/* 008A4 808008A4 AFA50028 */ sw $a1, 0x0028($sp) -/* 008A8 808008A8 AFA2002C */ sw $v0, 0x002C($sp) -/* 008AC 808008AC 0C031521 */ jal Game_Alloc -/* 008B0 808008B0 24070263 */ addiu $a3, $zero, 0x0263 ## $a3 = 00000263 -/* 008B4 808008B4 3C048080 */ lui $a0, %hi(D_80800A54) ## $a0 = 80800000 -/* 008B8 808008B8 AE0200A4 */ sw $v0, 0x00A4($s0) ## 000000A4 -/* 008BC 808008BC 0C00084C */ jal osSyncPrintf -/* 008C0 808008C0 24840A54 */ addiu $a0, $a0, %lo(D_80800A54) ## $a0 = 80800A54 -/* 008C4 808008C4 8E0400A4 */ lw $a0, 0x00A4($s0) ## 000000A4 -/* 008C8 808008C8 3C058080 */ lui $a1, %hi(D_80800A7C) ## $a1 = 80800000 -/* 008CC 808008CC 24A50A7C */ addiu $a1, $a1, %lo(D_80800A7C) ## $a1 = 80800A7C -/* 008D0 808008D0 14800005 */ bne $a0, $zero, .L808008E8 -/* 008D4 808008D4 24060266 */ addiu $a2, $zero, 0x0266 ## $a2 = 00000266 -/* 008D8 808008D8 3C048080 */ lui $a0, %hi(D_80800A60) ## $a0 = 80800000 -/* 008DC 808008DC 0C0007FC */ jal __assert -/* 008E0 808008E0 24840A60 */ addiu $a0, $a0, %lo(D_80800A60) ## $a0 = 80800A60 -/* 008E4 808008E4 8E0400A4 */ lw $a0, 0x00A4($s0) ## 000000A4 -.L808008E8: -/* 008E8 808008E8 3C078080 */ lui $a3, %hi(D_80800A8C) ## $a3 = 80800000 -/* 008EC 808008EC 240F0267 */ addiu $t7, $zero, 0x0267 ## $t7 = 00000267 -/* 008F0 808008F0 AFAF0010 */ sw $t7, 0x0010($sp) -/* 008F4 808008F4 24E70A8C */ addiu $a3, $a3, %lo(D_80800A8C) ## $a3 = 80800A8C -/* 008F8 808008F8 8FA5002C */ lw $a1, 0x002C($sp) -/* 008FC 808008FC 0C0006A8 */ jal DmaMgr_SendRequest1 -/* 00900 80800900 8FA60028 */ lw $a2, 0x0028($sp) -/* 00904 80800904 3C198016 */ lui $t9, 0x8016 ## $t9 = 80160000 -/* 00908 80800908 8F39FA90 */ lw $t9, -0x0570($t9) ## 8015FA90 -/* 0090C 8080090C 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 00910 80800910 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00914 80800914 0C034204 */ jal Matrix_Init -/* 00918 80800918 A7380110 */ sh $t8, 0x0110($t9) ## 80160110 -/* 0091C 8080091C 260400A8 */ addiu $a0, $s0, 0x00A8 ## $a0 = 000000A8 -/* 00920 80800920 0C02A89E */ jal func_800AA278 -/* 00924 80800924 8E050000 */ lw $a1, 0x0000($s0) ## 00000000 -/* 00928 80800928 3C088080 */ lui $t0, %hi(func_8080073C) ## $t0 = 80800000 -/* 0092C 8080092C 3C098080 */ lui $t1, %hi(func_80800858) ## $t1 = 80800000 -/* 00930 80800930 2508073C */ addiu $t0, $t0, %lo(func_8080073C) ## $t0 = 8080073C -/* 00934 80800934 25290858 */ addiu $t1, $t1, %lo(func_80800858) ## $t1 = 80800858 -/* 00938 80800938 AE080004 */ sw $t0, 0x0004($s0) ## 00000004 -/* 0093C 8080093C AE090008 */ sw $t1, 0x0008($s0) ## 00000008 -/* 00940 80800940 A20001E1 */ sb $zero, 0x01E1($s0) ## 000001E1 -/* 00944 80800944 240A00FF */ addiu $t2, $zero, 0x00FF ## $t2 = 000000FF -/* 00948 80800948 3C018016 */ lui $at, 0x8016 ## $at = 80160000 -/* 0094C 8080094C AC2AF9B4 */ sw $t2, -0x064C($at) ## 8015F9B4 -/* 00950 80800950 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00954 80800954 0C02A735 */ jal func_800A9CD4 -/* 00958 80800958 260501D0 */ addiu $a1, $s0, 0x01D0 ## $a1 = 000001D0 -/* 0095C 8080095C 240B0014 */ addiu $t3, $zero, 0x0014 ## $t3 = 00000014 -/* 00960 80800960 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF -/* 00964 80800964 240DFFFD */ addiu $t5, $zero, 0xFFFD ## $t5 = FFFFFFFD -/* 00968 80800968 240E003C */ addiu $t6, $zero, 0x003C ## $t6 = 0000003C -/* 0096C 8080096C A60001DC */ sh $zero, 0x01DC($s0) ## 000001DC -/* 00970 80800970 A60B01D4 */ sh $t3, 0x01D4($s0) ## 000001D4 -/* 00974 80800974 A60C01D6 */ sh $t4, 0x01D6($s0) ## 000001D6 -/* 00978 80800978 A60D01D8 */ sh $t5, 0x01D8($s0) ## 000001D8 -/* 0097C 8080097C A60E01DA */ sh $t6, 0x01DA($s0) ## 000001DA -/* 00980 80800980 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00984 80800984 8FB00020 */ lw $s0, 0x0020($sp) -/* 00988 80800988 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 0098C 8080098C 03E00008 */ jr $ra -/* 00990 80800990 00000000 */ nop -/* 00994 80800994 00000000 */ nop -/* 00998 80800998 00000000 */ nop -/* 0099C 8080099C 00000000 */ nop diff --git a/data/overlays/actors/z_door_ana.data.s b/data/overlays/actors/z_door_ana.data.s deleted file mode 100644 index e61713ef3e..0000000000 --- a/data/overlays/actors/z_door_ana.data.s +++ /dev/null @@ -1,20 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purposee registers - -.section .data - -glabel Door_Ana_InitVars - .word 0x009B0700, 0x02000000, 0x00020000, 0x0000019C -.word DoorAna_Init -.word DoorAna_Destroy -.word DoorAna_Update -.word DoorAna_Draw -glabel D_809944C0 - .word 0x0A000900, 0x00010000, 0x02000000, 0x00000000, 0x00000000, 0x00000048, 0x00000000, 0x00010000, 0x0032000A, 0x00000000, 0x00000000 -glabel D_809944EC - .word 0x036D003F, 0x0598059C, 0x05A005A4, 0x05A805AC, 0x05B005B4, 0x05B805BC, 0x05C005C4, 0x05FC0000, 0x00000000 - diff --git a/data/overlays/actors/z_door_ana.reloc.s b/data/overlays/actors/z_door_ana.reloc.s deleted file mode 100644 index db0febcfa3..0000000000 --- a/data/overlays/actors/z_door_ana.reloc.s +++ /dev/null @@ -1,11 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purposee registers - -.section .rodata -glabel D_80994550 - -.incbin "baserom/ovl_Door_Ana", 0x660, 0x00000090 diff --git a/data/overlays/actors/z_door_ana.rodata.s b/data/overlays/actors/z_door_ana.rodata.s deleted file mode 100644 index e435196162..0000000000 --- a/data/overlays/actors/z_door_ana.rodata.s +++ /dev/null @@ -1,28 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purposee registers - -.section .rodata - -glabel D_80994510 - - .asciz "../z_door_ana.c" - .balign 4 - -glabel D_80994520 - - .asciz "../z_door_ana.c" - .balign 4 - -glabel D_80994530 - - .asciz "../z_door_ana.c" - .balign 4 - -glabel D_80994540 - .word 0x471C4000, 0x00000000, 0x00000000, 0x00000000 - - diff --git a/data/overlays/actors/z_en_lightbox.data.s b/data/overlays/actors/z_en_lightbox.data.s deleted file mode 100644 index 678fa31f26..0000000000 --- a/data/overlays/actors/z_en_lightbox.data.s +++ /dev/null @@ -1,16 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purposee registers - -.section .data - -glabel En_Lightbox_InitVars - .word 0x007C0600, 0x00000010, 0x00810000, 0x00000164 -.word EnLightbox_Init -.word EnLightbox_Destroy -.word EnLightbox_Update -.word EnLightbox_Draw - diff --git a/data/overlays/actors/z_en_lightbox.reloc.s b/data/overlays/actors/z_en_lightbox.reloc.s deleted file mode 100644 index 60affc2f04..0000000000 --- a/data/overlays/actors/z_en_lightbox.reloc.s +++ /dev/null @@ -1,11 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purposee registers - -.section .rodata -glabel D_80A9EE10 - -.incbin "baserom/ovl_En_Lightbox", 0x440, 0x00000030 diff --git a/data/overlays/actors/z_en_lightbox.rodata.s b/data/overlays/actors/z_en_lightbox.rodata.s deleted file mode 100644 index fc3c134c7b..0000000000 --- a/data/overlays/actors/z_en_lightbox.rodata.s +++ /dev/null @@ -1,13 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purposee registers - -.section .rodata - -glabel D_80A9EE00 - .word 0x3F333333, 0x00000000, 0x00000000, 0x00000000 - - diff --git a/data/overlays/actors/z_en_wallmas.data.s b/data/overlays/actors/z_en_wallmas.data.s deleted file mode 100644 index fca4a005de..0000000000 --- a/data/overlays/actors/z_en_wallmas.data.s +++ /dev/null @@ -1,26 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purposee registers - -.section .data - -glabel En_Wallmas_InitVars - .word 0x00110500, 0x00000015, 0x000B0000, 0x00000314 -.word EnWallmas_Init -.word EnWallmas_Destroy -.word EnWallmas_Update -.word EnWallmas_Draw -glabel D_80B30D10 - .word 0x00000939, 0x10010000, 0x00000000, 0x00000000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00010100, 0x001E0028, 0x00000000, 0x00000000 -glabel D_80B30D3C - .word 0x0400001E, 0x00289600 -glabel D_80B30D44 - .word 0x10020102, 0x10020210, 0x01020424, 0x02440402, 0x02240044, 0x00000104, 0x02020804, 0x00000400 -glabel D_80B30D64 - .word 0x89170030, 0xB04C157C, 0x386CFA24 -glabel D_80B30D70 - .word 0x00000000, 0x00000000, 0x00000000, 0x00000000 - diff --git a/data/overlays/actors/z_en_wallmas.reloc.s b/data/overlays/actors/z_en_wallmas.reloc.s deleted file mode 100644 index 05b0026c12..0000000000 --- a/data/overlays/actors/z_en_wallmas.reloc.s +++ /dev/null @@ -1,11 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purposee registers - -.section .rodata -glabel D_80B30E10 - -.incbin "baserom/ovl_En_Wallmas", 0x18F0, 0x00000210 diff --git a/data/overlays/actors/z_en_wallmas.rodata.s b/data/overlays/actors/z_en_wallmas.rodata.s deleted file mode 100644 index 937adf2ad8..0000000000 --- a/data/overlays/actors/z_en_wallmas.rodata.s +++ /dev/null @@ -1,41 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purposee registers - -.section .rodata - -glabel D_80B30D80 - .asciz "../z_en_wallmas.c" - .balign 4 - -glabel D_80B30D94 - .asciz "../z_en_wallmas.c" - .balign 4 - -glabel D_80B30DA8 - .asciz "../z_en_wallmas.c" - .balign 4 - -glabel D_80B30DBC - .asciz "../z_en_wallmas.c" - .balign 4 - -glabel D_80B30DD0 - .asciz "../z_en_wallmas.c" - .balign 4 - -glabel D_80B30DE4 - .asciz "../z_en_wallmas.c" - .balign 4 - -glabel D_80B30DF8 - .word 0x3BCCCCCD -glabel D_80B30DFC - .word 0x3F860A92 -glabel D_80B30E00 - .word 0x3E860A92, 0x00000000, 0x00000000, 0x00000000 - - diff --git a/data/overlays/gamestates/z_title.data.s b/data/overlays/gamestates/z_title.data.s deleted file mode 100644 index 3fd6874248..0000000000 --- a/data/overlays/gamestates/z_title.data.s +++ /dev/null @@ -1,15 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purposee registers - -.section .data - -glabel D_808009A0 - .word 0x00000000, 0x00000000 -glabel D_808009A8 - .word 0x64646400, 0x64646400 -glabel D_808009B0 - .word 0xFFFFFF00, 0xFFFFFF00, 0x45454500, 0x00000000 diff --git a/data/overlays/gamestates/z_title.reloc.s b/data/overlays/gamestates/z_title.reloc.s deleted file mode 100644 index 7dbe27a56e..0000000000 --- a/data/overlays/gamestates/z_title.reloc.s +++ /dev/null @@ -1,11 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purposee registers - -.section .rodata -glabel D_80800AB0 - -.incbin "baserom/ovl_title", 0xAB0, 0x000000E0 diff --git a/data/padmgr.bss.s b/data/padmgr.bss.s deleted file mode 100644 index ad5c89b723..0000000000 --- a/data/padmgr.bss.s +++ /dev/null @@ -1,11 +0,0 @@ -.include "macro.inc" - -# assembler directives -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 # allow use of 64-bit general purposee registers - -.section .bss - -glabel D_8016A4F0 - .space 0x10 diff --git a/data/padmgr.data.s b/data/padmgr.data.s deleted file mode 100644 index f57e857025..0000000000 --- a/data/padmgr.data.s +++ /dev/null @@ -1,15 +0,0 @@ -.include "macro.inc" - -# assembler directives -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 # allow use of 64-bit general purposee registers - -.section .data - -glabel D_8012D280 - .incbin "baserom.z64", 0xBA4420, 0x4 - -#errcnt -glabel D_8012D284 - .incbin "baserom.z64", 0xBA4424, 0xC diff --git a/include/alloca.h b/include/alloca.h new file mode 100644 index 0000000000..bb44ef0d2b --- /dev/null +++ b/include/alloca.h @@ -0,0 +1,7 @@ +#ifndef _ALLOCA_H_ +#define _ALLOCA_H_ + +void* alloca(unsigned int); +#define alloca __builtin_alloca + +#endif diff --git a/include/functions.h b/include/functions.h index a30733cd35..db34b65c90 100644 --- a/include/functions.h +++ b/include/functions.h @@ -637,6 +637,7 @@ f32 func_800437F0(f32, f32); // ? func_8005A7A8(?); // ? func_8005A8C4(?); s16 func_8005A970(u32 gl790); +s16 func_8005A9F4(Camera* camera); // ? func_8005AA90(?); // ? func_8005AC48(?); // ? func_8005AC60(?); @@ -788,6 +789,7 @@ void Audio_PlaySoundAtPosition(GlobalContext* globalCtx, Vec3f* pos2, s32 radius // ? func_8006C3A0(?); // ? func_8006C3D0(?); void func_8006C438(GlobalContext* globalCtx, s16 arg1); +s32 func_8006C4A4(GlobalContext*, s32); // ? func_8006C510(?); // ? func_8006C5A8(?); // ? func_8006CBAC(?); @@ -1375,7 +1377,7 @@ void func_800C0704(GlobalContext*, s16, f32); void func_800C0C88(GlobalContext *globalCtx); // ? func_800C0A44(?); // ? func_800C0A88(?); -// ? func_800C0AF4(?); +void func_800C0AF4(GlobalContext*, s8, s16); void func_800C0B60(GlobalContext* globalCtx); void func_800C0BB4(GlobalContext* globalCtx); // ? func_800C0CB8(?); @@ -1678,7 +1680,7 @@ u32 Fault_ConvertAddress(FaultAddrConvClient*); void Fault_Sleep(u32); void Fault_PadCallback(Input*); void Fault_UpdatePadImpl(); -bool Fault_WaitForInputImpl(); +u32 Fault_WaitForInputImpl(); void Fault_WaitForInput(); void Fault_DrawRec(s32, s32, s32, s32, u16); void Fault_FillScreenBlack(); @@ -2132,7 +2134,7 @@ void GfxPrint_SetPosPx(GfxPrint*, s32, s32); void GfxPrint_SetPos(GfxPrint*, s32, s32); void GfxPrint_SetBasePosPx(GfxPrint*, s32, s32); void GfxPrint_PrintCharImpl(GfxPrint*, u8); -void GfxPrint_PrintChar(GfxPrint*, char); +void GfxPrint_PrintChar(GfxPrint*, u8); void GfxPrint_PrintStringWithSize(GfxPrint*, const void*, size_t, size_t); GfxPrint* GfxPrint_Callback(GfxPrint*, const char*, size_t); void GfxPrint_Ctor(GfxPrint*); @@ -2382,5 +2384,7 @@ void func_801109B0(GlobalContext* globalCtx); void func_80110F68(GlobalContext* globalCtx); void func_80112098(GlobalContext* globalCtx); -void func_80800878(TitleContext*); +void Title_Init(TitleContext*); +void Opening_Init(OpeningContext* this); + #endif diff --git a/include/segment_symbols.h b/include/segment_symbols.h index 0be701c23b..020d4c4837 100644 --- a/include/segment_symbols.h +++ b/include/segment_symbols.h @@ -921,6 +921,7 @@ DECLARE_ROM_SEGMENT(g_pn_55) DECLARE_ROM_SEGMENT(g_pn_56) DECLARE_ROM_SEGMENT(g_pn_57) +DECLARE_ROM_SEGMENT(nintendo_rogo_static) DECLARE_ROM_SEGMENT(title_static) DECLARE_ROM_SEGMENT(parameter_static) DECLARE_ROM_SEGMENT(vr_cloud2_static) diff --git a/include/variables.h b/include/variables.h index a6d67c8693..07a677dc9e 100644 --- a/include/variables.h +++ b/include/variables.h @@ -692,14 +692,12 @@ extern void* D_8012D1F0; extern u32 gScreenWidth; extern u32 gScreenHeight; extern u32 gSystemHeapSize; -extern s32 D_8012D280; -extern u32 D_8012D284; extern volatile u32 D_8012D290; //extern ? D_8012D2A0; extern Mtx gMtxClear; extern MtxF gMtxFClear; //extern ? D_8012DBB0; -//extern ? D_8012DBC0; +extern u32 D_8012DBC0; extern volatile u32 gIrqMgrResetStatus; extern u32 D_8012DBA0; extern u32 D_8012DBA4; @@ -2661,77 +2659,6 @@ extern char D_80141030[]; //extern ? D_8014575C; //extern ? D_80145780; //extern ? D_80145794; -extern char D_801457B0[]; -extern char D_801457F0[]; -extern char D_8014582C[]; -extern char D_80145860[]; -extern char D_80145894[]; -extern char D_8014589C[]; -extern char D_801458B0[]; -extern char D_801458CC[]; -extern char D_801458D0[]; -extern char D_801458D8[]; -extern char D_801458EC[]; -extern char D_80145914[]; -extern char D_80145918[]; -extern char D_80145920[]; -extern char D_80145934[]; -extern char D_80145944[]; -extern char D_80145948[]; -extern char D_80145950[]; -extern char D_80145964[]; -extern char D_8014598C[]; -extern char D_80145990[]; -extern char D_80145998[]; -extern char D_801459AC[]; -extern char D_801459CC[]; -extern char D_801459D0[]; -extern char D_801459D8[]; -extern char D_801459EC[]; -extern char D_80145A24[]; -extern char D_80145A28[]; -extern char D_80145A30[]; -extern char D_80145A44[]; -extern char D_80145A60[]; -extern char D_80145A64[]; -extern char D_80145A70[]; -extern char D_80145A80[]; -extern char D_80145A88[]; -extern char D_80145A9C[]; -extern char D_80145ABC[]; -extern char D_80145AC0[]; -extern char D_80145AC8[]; -extern char D_80145ADC[]; -extern char D_80145AEC[]; -//extern ? D_80145AF0; -//extern ? D_80145AF8; -//extern ? D_80145B0C; -//extern ? D_80145B1C; -//extern ? D_80145B20; -//extern ? D_80145B2C; -//extern ? D_80145B48; -//extern ? D_80145B50; -//extern ? D_80145B64; -//extern ? D_80145B80; -//extern ? D_80145B84; -//extern ? D_80145B8C; -//extern ? D_80145BA0; -//extern ? D_80145BB0; -//extern ? D_80145BB4; -//extern ? D_80145BC0; -//extern ? D_80145BD8; -//extern ? D_80145BE4; -//extern ? D_80145BF0; -//extern ? D_80145C10; -extern char D_80145C40[]; -extern char D_80145C58[]; -extern char D_80145C78[]; -extern char D_80145CA0[]; -extern char D_80145CA4[]; -extern char D_80145CB0[]; -extern char D_80145CD4[]; -extern char D_80145CF8[]; -extern char D_80145D18[]; //extern ? D_80145D40; //extern ? D_80145D54; //extern ? D_80145D60; @@ -3657,7 +3584,6 @@ extern u8* gAppNmiBufferPtr; extern u8 D_80166B68; //extern ? D_80166D28; extern u32 gSegments[]; -extern u32 D_8016A4F0; //extern ? D_8016A500; //extern ? D_8016A504; //extern ? D_8016A508; diff --git a/include/z64.h b/include/z64.h index 46215b89ed..1c3f97cec4 100644 --- a/include/z64.h +++ b/include/z64.h @@ -808,6 +808,11 @@ typedef struct /* 0x04 */ u32 vromEnd; } RomFile; // size = 0x8 +typedef struct +{ + /* 0x00 */ void* read_buff; +} Sram; // size = 0x4 + typedef struct GameAllocEntry { /* 0x00 */ struct GameAllocEntry* next; @@ -840,10 +845,17 @@ typedef struct GameState typedef struct { /* 0x0000 */ GameState state; - /* 0x00A4 */ char unk_A4[0x12C]; - /* 0x01D0 */ UNK_TYPE unk_1D0; - /* 0x01D4 */ char unk_1D4[0xD]; - /* 0x01E1 */ u8 unk_1E1; + /* 0x00A4 */ void* staticSegment; + /* 0x00A8 */ View view; + /* 0x01D0 */ Sram sram; + /* 0x01D4 */ u16 unk_1D4; // not used in mq dbg (some sort of timer that doesn't seem to affect anything) + /* 0x01D6 */ s16 coverAlpha; + /* 0x01D8 */ s16 addAlpha; // not used in mq dbg + /* 0x01DA */ u16 visibleDuration; // not used in mq dbg + /* 0x01DC */ s16 ult; + /* 0x01DE */ s16 uls; + /* 0x01E0 */ char unk_1E0; + /* 0x01E1 */ u8 exit; /* 0x01E2 */ char unk_1E2[6]; } TitleContext; // size = 0x1E8 @@ -1024,8 +1036,10 @@ typedef struct /* 0x34 */ s32 unk_34; /* 0x38 */ s32 unk_38; /* 0x3C */ u16 unk_3C; - /* 0x3E */ u16 unk_3E; /* Probably Padding */ -} SkelAnime; // size = 0x40 + /* 0x3E */ u16 unk_3E; + /* 0x40 */ u16 unk_40; + /* 0x42 */ u16 unk_42; +} SkelAnime; // size = 0x44 typedef struct { @@ -1349,21 +1363,7 @@ typedef struct OverlayRelocationSection { /* 0x0C */ u32 bssSize; /* 0x10 */ u32 nRelocations; /* 0x14 */ u32 relocations[1]; -} OverlayRelocationSection; /* size >= 0x18 */ - -#define VEC3_ADD( V3A0, V3A1 ) \ -{ \ - V3A0.x += V3A1.x; \ - V3A0.y += V3A1.y; \ - V3A0.z += V3A1.z; \ -} - -#define VEC3_SUB( V3DST, V3A0, V3A1 ) \ -{ \ - V3DST.x = V3A0.x - V3A1.x; \ - V3DST.y = V3A0.y - V3A1.y; \ - V3DST.z = V3A0.z - V3A1.z; \ -} +} OverlayRelocationSection; // size >= 0x18 typedef struct { diff --git a/include/z64actor.h b/include/z64actor.h index 3a288d436e..001a25923e 100644 --- a/include/z64actor.h +++ b/include/z64actor.h @@ -13,6 +13,11 @@ struct GlobalContext; // From z64light.h struct LightMapper; +typedef struct +{ + f32 x, y; +} Vec2f; + typedef struct { f32 x, y, z; @@ -25,13 +30,8 @@ typedef struct typedef struct { - f32 x, y; -} Vec2f; - -typedef struct -{ - u32 x, y; -} Vec2i; + s32 x, y, z; +} Vec3i; typedef struct { @@ -329,6 +329,7 @@ typedef struct /* 0x15A */ u16 unk_15A; /* 0x15C */ u32 unk_15C; /* 0x160 */ u8 unk_160; + /* 0x162 */ s16 unk_162; } DynaPolyActor; // size = 0x164 typedef struct @@ -394,7 +395,9 @@ typedef struct /* 0x0846 */ u8 unk_846; /* 0x0847 */ char unk_847[0x004]; /* 0x084B */ s8 unk_84B[UNK_SIZE]; - /* 0x084C */ char unk_84C[0x054]; + /* 0x084C */ char unk_84C[0x003]; + /* 0x084F */ s8 unk_84F; + /* 0x0850 */ char unk_850[0x050]; /* 0x08A0 */ u8 unk_8A0; /* 0x08A1 */ u8 unk_8A1; /* 0x08A2 */ u16 unk_8A2; diff --git a/include/z64cutscene.h b/include/z64cutscene.h index 97abc805ef..d7d27481ad 100644 --- a/include/z64cutscene.h +++ b/include/z64cutscene.h @@ -83,9 +83,9 @@ typedef struct /* 0x02 */ u16 startFrame; /* 0x04 */ u16 endFrame; /* 0x06 */ Vec3s rot; - /* 0x0C */ Vec3f startPos; - /* 0x18 */ Vec3f endPos; - /* 0x24 */ Vec3f normal; + /* 0x0C */ Vec3i startPos; + /* 0x18 */ Vec3i endPos; + /* 0x24 */ Vec3i normal; } CsCmdActorAction; // size = 0x30 typedef enum diff --git a/spec b/spec index 3ac5948834..c0f525fdfe 100644 --- a/spec +++ b/spec @@ -444,8 +444,6 @@ beginseg include "build/src/code/listalloc.o" include "build/src/code/main.o" include "build/src/code/padmgr.o" - include "build/data/padmgr.data.o" - include "build/data/padmgr.bss.o" include "build/src/code/sched.o" include "build/data/sched.data.o" include "build/data/sched.bss.o" @@ -617,8 +615,7 @@ endseg beginseg name "ovl_title" include "build/src/overlays/gamestates/ovl_title/z_title.o" - include "build/data/overlays/gamestates/z_title.data.o" - include "build/data/overlays/gamestates/z_title.reloc.o" + include "build/src/overlays/gamestates/ovl_title/z_title_reloc.o" address 0x80800000 endseg @@ -1880,9 +1877,7 @@ endseg beginseg name "ovl_Door_Ana" include "build/src/overlays/actors/ovl_Door_Ana/z_door_ana.o" - include "build/data/overlays/actors/z_door_ana.data.o" - include "build/data/overlays/actors/z_door_ana.rodata.o" - include "build/data/overlays/actors/z_door_ana.reloc.o" + include "build/src/overlays/actors/ovl_Door_Ana/z_door_ana_reloc.o" endseg beginseg @@ -3186,9 +3181,7 @@ endseg beginseg name "ovl_En_Lightbox" include "build/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.o" - include "build/data/overlays/actors/z_en_lightbox.data.o" - include "build/data/overlays/actors/z_en_lightbox.rodata.o" - include "build/data/overlays/actors/z_en_lightbox.reloc.o" + include "build/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox_reloc.o" endseg beginseg @@ -3803,7 +3796,7 @@ endseg beginseg name "ovl_En_Wallmas" include "build/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.o" - include "build/data/overlays/actors/z_en_wallmas.reloc.o" + include "build/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas_reloc.o" endseg beginseg diff --git a/src/code/__osMalloc.c b/src/code/__osMalloc.c index 0d8fec1799..34d602f0ad 100644 --- a/src/code/__osMalloc.c +++ b/src/code/__osMalloc.c @@ -228,8 +228,6 @@ void __osMalloc_FreeBlockTest(Arena *arena, ArenaNode *node) } } -//single instruction not matching, stack problem -#ifdef NON_MATCHING void* __osMalloc_NoLockDebug(Arena *arena, u32 size, const char *file, s32 line) { ArenaNode *iter; @@ -237,19 +235,19 @@ void* __osMalloc_NoLockDebug(Arena *arena, u32 size, const char *file, s32 line) ArenaNode *newNode; void *ret; ArenaNode *next; - u32 pad; ret = NULL; iter = arena->head; size = ALIGN16(size); + blockSize = ALIGN16(size) + sizeof(ArenaNode); + while (iter) { if (iter->isFree && iter->size >= size) { - if ((arena->flag & CHECK_FREE_BLOCK) != 0) + if (arena->flag & CHECK_FREE_BLOCK) __osMalloc_FreeBlockTest(arena, iter); - blockSize = ALIGN16(size) + sizeof(ArenaNode); if (blockSize < iter->size) { newNode = (ArenaNode *)((u32)iter + blockSize); @@ -269,7 +267,7 @@ void* __osMalloc_NoLockDebug(Arena *arena, u32 size, const char *file, s32 line) iter->isFree = false; ArenaImpl_SetDebugInfo(iter, file, line, arena); ret = (void *)((u32)iter + sizeof(ArenaNode)); - if ((arena->flag & FILL_ALLOCBLOCK) != 0) + if (arena->flag & FILL_ALLOCBLOCK) func_80106860(ret, BLOCK_ALLOC_MAGIC, size); break; @@ -280,9 +278,6 @@ void* __osMalloc_NoLockDebug(Arena *arena, u32 size, const char *file, s32 line) return ret; } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/__osMalloc/__osMalloc_NoLockDebug.s") -#endif void* __osMallocDebug(Arena* arena, u32 size, const char* file, s32 line) { @@ -293,13 +288,11 @@ void* __osMallocDebug(Arena* arena, u32 size, const char* file, s32 line) return ret; } -//stack + missing a move -#ifdef NON_MATCHING void* __osMallocRDebug(Arena *arena, u32 size, const char *file, s32 line) { ArenaNode *iter; - u32 blockSize; ArenaNode *newNode; + u32 blockSize; ArenaNode *next; void *ret; @@ -311,7 +304,7 @@ void* __osMallocRDebug(Arena *arena, u32 size, const char *file, s32 line) { if (iter->isFree && iter->size >= size) { - if ((arena->flag & CHECK_FREE_BLOCK) != 0) + if (arena->flag & CHECK_FREE_BLOCK) __osMalloc_FreeBlockTest(arena, iter); blockSize = ALIGN16(size) + sizeof(ArenaNode); @@ -328,12 +321,14 @@ void* __osMallocRDebug(Arena *arena, u32 size, const char *file, s32 line) next = ArenaImpl_GetNextBlock(newNode); if (next) next->prev = newNode; + + iter = newNode; } iter->isFree = false; ArenaImpl_SetDebugInfo(iter, file, line, arena); ret = (void *)((u32)iter + sizeof(ArenaNode)); - if ((arena->flag & FILL_ALLOCBLOCK) != 0) + if (arena->flag & FILL_ALLOCBLOCK) func_80106860(ret, BLOCK_ALLOC_MAGIC, size); break; @@ -345,13 +340,7 @@ void* __osMallocRDebug(Arena *arena, u32 size, const char *file, s32 line) ArenaImpl_Unlock(arena); return ret; } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/__osMalloc/__osMallocRDebug.s") -#endif - -//same diff as __osMalloc_NoLockDebug -#ifdef NON_MATCHING void* __osMalloc_NoLock(Arena *arena, u32 size) { ArenaNode *iter; @@ -359,19 +348,20 @@ void* __osMalloc_NoLock(Arena *arena, u32 size) ArenaNode *newNode; void *ret; ArenaNode *next; - u32 pad; ret = NULL; iter = arena->head; size = ALIGN16(size); + blockSize = ALIGN16(size) + sizeof(ArenaNode); + while (iter) { + if (iter->isFree && iter->size >= size) { - if ((arena->flag & CHECK_FREE_BLOCK) != 0) + if (arena->flag & CHECK_FREE_BLOCK) __osMalloc_FreeBlockTest(arena, iter); - blockSize = ALIGN16(size) + sizeof(ArenaNode); if (blockSize < iter->size) { newNode = (ArenaNode *)((u32)iter + blockSize); @@ -391,7 +381,7 @@ void* __osMalloc_NoLock(Arena *arena, u32 size) iter->isFree = false; ArenaImpl_SetDebugInfo(iter, NULL, 0, arena); ret = (void *)((u32)iter + sizeof(ArenaNode)); - if ((arena->flag & FILL_ALLOCBLOCK) != 0) + if (arena->flag & FILL_ALLOCBLOCK) func_80106860(ret, BLOCK_ALLOC_MAGIC, size); break; @@ -402,9 +392,6 @@ void* __osMalloc_NoLock(Arena *arena, u32 size) return ret; } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/__osMalloc/__osMalloc_NoLock.s") -#endif void* __osMalloc(Arena* arena, u32 size) { @@ -415,13 +402,11 @@ void* __osMalloc(Arena* arena, u32 size) return ret; } -//same diff as __osMallocRDebug -#ifdef NON_MATCHING void* __osMallocR(Arena *arena, u32 size) { ArenaNode *iter; - u32 blockSize; ArenaNode *newNode; + u32 blockSize; ArenaNode *next; void *ret; @@ -433,7 +418,7 @@ void* __osMallocR(Arena *arena, u32 size) { if (iter->isFree && iter->size >= size) { - if ((arena->flag & CHECK_FREE_BLOCK) != 0) + if (arena->flag & CHECK_FREE_BLOCK) __osMalloc_FreeBlockTest(arena, iter); blockSize = ALIGN16(size) + sizeof(ArenaNode); @@ -450,12 +435,14 @@ void* __osMallocR(Arena *arena, u32 size) next = ArenaImpl_GetNextBlock(newNode); if (next) next->prev = newNode; + + iter = newNode; } iter->isFree = false; ArenaImpl_SetDebugInfo(iter, NULL, 0, arena); ret = (void *)((u32)iter + sizeof(ArenaNode)); - if ((arena->flag & FILL_ALLOCBLOCK) != 0) + if (arena->flag & FILL_ALLOCBLOCK) func_80106860(ret, BLOCK_ALLOC_MAGIC, size); break; @@ -467,13 +454,7 @@ void* __osMallocR(Arena *arena, u32 size) ArenaImpl_Unlock(arena); return ret; } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/__osMalloc/__osMallocR.s") -#endif - -//small reordering -#ifdef NON_MATCHING void __osFree_NoLock(Arena* arena, void* ptr) { ArenaNode* node; @@ -486,12 +467,12 @@ void __osFree_NoLock(Arena* arena, void* ptr) node = (ArenaNode*)((u32)ptr - sizeof(ArenaNode)); if (node == NULL || node->magic != NODE_MAGIC) { - osSyncPrintf(VT_COL(RED, WHITE) "__osFree:不正解放(%08x)\n" VT_RST, arena); //__osFree: Unauthorized release (%08x) + osSyncPrintf(VT_COL(RED, WHITE) "__osFree:不正解放(%08x)\n" VT_RST, ptr); //__osFree: Unauthorized release (%08x) return; } if (node->isFree) { - osSyncPrintf(VT_COL(RED, WHITE) "__osFree:二重解放(%08x)\n" VT_RST, arena); //__osFree: Double release (%08x) + osSyncPrintf(VT_COL(RED, WHITE) "__osFree:二重解放(%08x)\n" VT_RST, ptr); //__osFree: Double release (%08x) return; } if (arena != node->arena && arena != NULL) @@ -505,12 +486,12 @@ void __osFree_NoLock(Arena* arena, void* ptr) prev = ArenaImpl_GetPrevBlock(node); node->isFree = true; ArenaImpl_SetDebugInfo(node, NULL, 0, arena); - if ((arena->flag & FILL_FREEBLOCK) != 0) + if (arena->flag & FILL_FREEBLOCK) { func_80106860((u32)node + sizeof(ArenaNode), BLOCK_FREE_MAGIC, node->size); } - newNext = node->next; + newNext = next; if ((u32)next == (u32)node + sizeof(ArenaNode) + node->size && next->isFree) { newNext = ArenaImpl_GetNextBlock(next); @@ -518,26 +499,23 @@ void __osFree_NoLock(Arena* arena, void* ptr) newNext->prev = node; node->size += next->size + sizeof(ArenaNode); - if ((arena->flag & FILL_FREEBLOCK) != 0) + if (arena->flag & FILL_FREEBLOCK) func_80106860(next, BLOCK_FREE_MAGIC, sizeof(ArenaNode)); node->next = newNext; + next = newNext; } + if (prev && prev->isFree && (u32)node == (u32)prev + sizeof(ArenaNode) + prev->size) { - if (newNext) - newNext->prev = prev; - prev->next = newNext; + if (next) + next->prev = prev; + prev->next = next; prev->size += node->size + sizeof(ArenaNode); - if ((arena->flag & FILL_FREEBLOCK) != 0) + if (arena->flag & FILL_FREEBLOCK) func_80106860(node, BLOCK_FREE_MAGIC, sizeof(ArenaNode)); } - } - } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/__osMalloc/__osFree_NoLock.s") -#endif void __osFree(Arena* arena, void* ptr) { @@ -546,8 +524,6 @@ void __osFree(Arena* arena, void* ptr) ArenaImpl_Unlock(arena); } -//small reordering -#ifdef NON_MATCHING void __osFree_NoLockDebug(Arena* arena, void* ptr, const char* file, s32 line) { ArenaNode* node; @@ -560,12 +536,12 @@ void __osFree_NoLockDebug(Arena* arena, void* ptr, const char* file, s32 line) node = (ArenaNode*)((u32)ptr - sizeof(ArenaNode)); if (node == NULL || node->magic != NODE_MAGIC) { - osSyncPrintf(VT_COL(RED, WHITE) "__osFree:不正解放(%08x) [%s:%d ]\n" VT_RST, arena, file, line); //__osFree: Unauthorized release (%08x) + osSyncPrintf(VT_COL(RED, WHITE) "__osFree:不正解放(%08x) [%s:%d ]\n" VT_RST, ptr, file, line); //__osFree: Unauthorized release (%08x) return; } if (node->isFree) { - osSyncPrintf(VT_COL(RED, WHITE) "__osFree:二重解放(%08x)\n" VT_RST, arena); //__osFree: Double release (%08x) + osSyncPrintf(VT_COL(RED, WHITE) "__osFree:二重解放(%08x) [%s:%d ]\n" VT_RST, ptr, file, line); //__osFree: Double release (%08x) return; } if (arena != node->arena && arena != NULL) @@ -579,7 +555,7 @@ void __osFree_NoLockDebug(Arena* arena, void* ptr, const char* file, s32 line) prev = ArenaImpl_GetPrevBlock(node); node->isFree = true; ArenaImpl_SetDebugInfo(node, file, line, arena); - if ((arena->flag & FILL_FREEBLOCK) != 0) + if (arena->flag & FILL_FREEBLOCK) { func_80106860((u32)node + sizeof(ArenaNode), BLOCK_FREE_MAGIC, node->size); } @@ -592,26 +568,23 @@ void __osFree_NoLockDebug(Arena* arena, void* ptr, const char* file, s32 line) newNext->prev = node; node->size += next->size + sizeof(ArenaNode); - if ((arena->flag & FILL_FREEBLOCK) != 0) + if (arena->flag & FILL_FREEBLOCK) func_80106860(next, BLOCK_FREE_MAGIC, sizeof(ArenaNode)); node->next = newNext; + next = newNext; } + if (prev && prev->isFree && (u32)node == (u32)prev + sizeof(ArenaNode) + prev->size) { - if (newNext) - newNext->prev = prev; - prev->next = newNext; + if (next) + next->prev = prev; + prev->next = next; prev->size += node->size + sizeof(ArenaNode); - if ((arena->flag & FILL_FREEBLOCK) != 0) + if (arena->flag & FILL_FREEBLOCK) func_80106860(node, BLOCK_FREE_MAGIC, sizeof(ArenaNode)); } - } - } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/__osMalloc/__osFree_NoLockDebug.s") -#endif void __osFreeDebug(Arena* arena, void* ptr, const char* file, s32 line) { @@ -620,33 +593,27 @@ void __osFreeDebug(Arena* arena, void* ptr, const char* file, s32 line) ArenaImpl_Unlock(arena); } -//small reordering, stack usage -#ifdef NON_MATCHING void* __osRealloc(Arena* arena, void* ptr, u32 newSize) { + void* newAlloc; ArenaNode* node; ArenaNode* next; - u32 sizeDiff; - ArenaNode* overNext; ArenaNode* newNext; - void* newAlloc; - //----------- - ArenaNode* next2; - ArenaNode unk; + ArenaNode* overNext; ArenaNode* newNext2; + ArenaNode* next2; + u32 sizeDiff; ArenaNode* overNext2; - //---------- - u32 newSize2; - ArenaNode* newNext3; - ArenaNode* overNext3; - + ArenaNode localCopy; + u32 blockSize; + s32 pad; newSize = ALIGN16(newSize); osSyncPrintf("__osRealloc(%08x, %d)\n", ptr, newSize); ArenaImpl_Lock(arena); if (!ptr) { - ptr = __osMalloc(arena, newSize); + ptr = __osMalloc_NoLock(arena, newSize); } else if (!newSize) { @@ -694,13 +661,14 @@ void* __osRealloc(Arena* arena, void* ptr, u32 newSize) else if (newSize < node->size) { next2 = ArenaImpl_GetNextBlock(node); - if (next && next->isFree) + if (next2 && next2->isFree) { + blockSize = ALIGN16(newSize) + sizeof(ArenaNode); //Increased free block behind current memory block osSyncPrintf("現メモリブロックの後ろのフリーブロックを大きくしました\n"); - unk = *next2; - newNext2 = (u32)node + ALIGN16(newSize) + sizeof(ArenaNode); - *newNext2 = unk; + newNext2 = (ArenaNode*)((u32)node + blockSize); + localCopy = *next2; + *newNext2 = localCopy; newNext2->size += node->size - newSize; node->next = newNext2; node->size = newSize; @@ -710,20 +678,20 @@ void* __osRealloc(Arena* arena, void* ptr, u32 newSize) } else if (newSize + sizeof(ArenaNode) < node->size) { + blockSize = ALIGN16(newSize) + sizeof(ArenaNode); //Generated because there is no free block after the current memory block osSyncPrintf("現メモリブロックの後ろにフリーブロックがないので生成します\n"); - newSize2 = ALIGN16(newSize) + sizeof(ArenaNode); - newNext3 = (ArenaNode*)((u32)node + newSize2); - newNext3->next = ArenaImpl_GetNextBlock(node); - newNext3->prev = node; - newNext3->size = node->size - newSize2; - newNext3->isFree = true; - newNext3->magic = NODE_MAGIC; - node->next = newNext3; + newNext2 = (ArenaNode*)((u32)node + blockSize); + newNext2->next = ArenaImpl_GetNextBlock(node); + newNext2->prev = node; + newNext2->size = node->size - blockSize; + newNext2->isFree = true; + newNext2->magic = NODE_MAGIC; + node->next = newNext2; node->size = newSize; - overNext3 = ArenaImpl_GetNextBlock(newNext3); - if (overNext3) - overNext3->prev = newNext3; + overNext2 = ArenaImpl_GetNextBlock(newNext2); + if (overNext2) + overNext2->prev = newNext2; } else { @@ -732,14 +700,11 @@ void* __osRealloc(Arena* arena, void* ptr, u32 newSize) ptr = NULL; } } - } + ArenaImpl_Unlock(arena); return ptr; } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/__osMalloc/__osRealloc.s") -#endif void* __osReallocDebug(Arena* arena, void* ptr, u32 newSize, const char* file, s32 line) { @@ -757,7 +722,7 @@ void ArenaImpl_GetSizes(Arena* arena, u32* outMaxFree, u32* outFree, u32* outAll *outAlloc = 0; iter = arena->head; - while(iter) + while (iter) { if (iter->isFree) { @@ -774,8 +739,6 @@ void ArenaImpl_GetSizes(Arena* arena, u32* outMaxFree, u32* outFree, u32* outAll ArenaImpl_Unlock(arena); } -//small reordering at the end -#ifdef NON_MATCHING void __osDisplayArena(Arena* arena) { u32 freeSize; @@ -803,7 +766,7 @@ void __osDisplayArena(Arena* arena) osSyncPrintf("メモリブロック範囲 status サイズ [時刻 s ms us ns: TID:src:行]\n"); iter = arena->head; - while(iter) + while (iter) { if (iter && iter->magic == NODE_MAGIC) { @@ -828,14 +791,14 @@ void __osDisplayArena(Arena* arena) { allocatedSize += iter->size; } - - iter = next; } else { osSyncPrintf("%08x Block Invalid\n", iter); - iter = NULL; + next = NULL; } + + iter = next; } osSyncPrintf("確保ブロックサイズの合計 0x%08x バイト\n", allocatedSize); //Total reserved node size 0x%08x bytes @@ -844,12 +807,7 @@ void __osDisplayArena(Arena* arena) ArenaImpl_Unlock(arena); } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/__osMalloc/__osDisplayArena.s") -#endif -//small reordering -#ifdef NON_MATCHING void ArenaImpl_FaultClient(Arena* arena) { u32 freeSize; @@ -872,7 +830,7 @@ void ArenaImpl_FaultClient(Arena* arena) FaultDrawer_Printf("Memory Block Region status size\n"); iter = arena->head; - while(iter) + while (iter) { if (iter && iter->magic == NODE_MAGIC) { @@ -894,15 +852,15 @@ void ArenaImpl_FaultClient(Arena* arena) { allocatedSize += iter->size; } - - iter = next; } else { FaultDrawer_SetFontColor(0xF801); FaultDrawer_Printf("%08x Block Invalid\n", iter); - iter = NULL; + next = NULL; } + + iter = next; } FaultDrawer_SetFontColor(0x7F1); @@ -910,9 +868,6 @@ void ArenaImpl_FaultClient(Arena* arena) FaultDrawer_Printf("Total Free Block Size %08x\n", freeSize); FaultDrawer_Printf("Largest Free Block Size %08x\n", maxFree); } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/__osMalloc/ArenaImpl_FaultClient.s") -#endif u32 __osCheckArena(Arena* arena) { @@ -924,7 +879,7 @@ u32 __osCheckArena(Arena* arena) //Checking the contents of the arena. . . (%08x) osSyncPrintf("アリーナの内容をチェックしています... (%08x)\n", arena); iter = arena->head; - while(iter) + while (iter) { if (iter && iter->magic == NODE_MAGIC) { diff --git a/src/code/code_8007BF90.c b/src/code/code_8007BF90.c index 8c53479710..a7e1cca5be 100644 --- a/src/code/code_8007BF90.c +++ b/src/code/code_8007BF90.c @@ -1,7 +1,7 @@ #include #include -void func_8007C1AC(Vec3f* dest, struct_80045714* arg1); +Vec3f* func_8007C1AC(Vec3f* dest, struct_80045714* arg1); f32 func_8007BF90(Vec3f* a, Vec3f* b) { @@ -33,49 +33,48 @@ f32 func_8007C058(f32 arg0, f32 arg1) #pragma GLOBAL_ASM("asm/non_matchings/code/code_8007BF90/func_8007C0A8.s") -#ifdef NON_MATCHING -void func_8007C0F8(Vec3f* dest, Vec3f* a, Vec3f* b) +Vec3f* func_8007C0F8(Vec3f* dest, Vec3f* a, Vec3f* b) +{ + Vec3f v1; + Vec3f v2; + f32 temp; + + v1.x = b->x - a->x; + v1.y = b->y - a->y; + v1.z = b->z - a->z; + + temp = func_8007C058(sqrtf(SQ(v1.x) + SQ(v1.y) + SQ(v1.z)), 0.01f); + + v2.x = v1.x / temp; + v2.y = v1.y / temp; + v2.z = v1.z / temp; + + *dest = v2; + + return dest; +} + +Vec3f* func_8007C1AC(Vec3f* dest, struct_80045714* arg1) { - f32 fVar1; Vec3f v; + f32 sin4; + f32 cos4; + f32 sin6; + f32 cos6; - v.x = b->x - a->x; - v.y = b->y - a->y; - v.z = b->z - a->z; + cos4 = Math_Coss(arg1->unk_04); + cos6 = Math_Coss(arg1->unk_06); + sin4 = Math_Sins(arg1->unk_04); + sin6 = Math_Sins(arg1->unk_06); - fVar1 = func_8007C058(sqrtf(v.x * v.x + v.y * v.y + v.z * v.z), D_8013CB80); + v.x = arg1->unk_00 * sin4 * sin6; + v.y = arg1->unk_00 * cos4; + v.z = arg1->unk_00 * sin4 * cos6; - dest->x = v.x / fVar1; - dest->y = v.y / fVar1; - dest->z = v.z / fVar1; + *dest = v; + + return dest; } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/code_8007BF90/func_8007C0F8.s") -#endif - -#ifdef NON_MATCHING -void func_8007C1AC(Vec3f* dest, struct_80045714* arg1) -{ - f32 fVar1; - f32 fVar2; - f32 fVar3; - f32 fVar4; - f32 fVar5; - f32 fVar6; - - fVar1 = Math_Coss(arg1->unk_04); - fVar2 = Math_Coss(arg1->unk_06); - fVar3 = Math_Coss(arg1->unk_04); - fVar4 = Math_Coss(arg1->unk_06); - fVar6 = arg1->unk_00; - fVar5 = arg1->unk_00; - dest->x = arg1->unk_00 * fVar3 * fVar4; - dest->y = fVar6 * fVar1; - dest->z = fVar5 * fVar3 * fVar2; -} -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/code_8007BF90/func_8007C1AC.s") -#endif void func_8007C3F4(struct_80045714* arg0, Vec3f* arg1); diff --git a/src/code/code_800A9F30.c b/src/code/code_800A9F30.c index c5248faca8..ad603fabeb 100644 --- a/src/code/code_800A9F30.c +++ b/src/code/code_800A9F30.c @@ -45,22 +45,18 @@ void func_800AA0B4(void) if (0) ; // Necessary to match } -#ifdef NON_MATCHING void func_800AA0F0(void) { - if ((gPadMgr.unk_460 == func_800A9F30) && (gPadMgr.unk_464 == 0)) + PadMgr* padmgr = &gPadMgr; + + if ((padmgr->unk_460 == func_800A9F30) && (padmgr->unk_464 == 0)) { - // asm loads/writes directly to 0x80166D20 and 0x80166D24 - // but the compiler wants to reuse offsets from 0x801668C0 - gPadMgr.unk_460 = NULL; - gPadMgr.unk_464 = 0; + padmgr->unk_460 = NULL; + padmgr->unk_464 = 0; } func_800D3178(&D_80160FD0); } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/code_800A9F30/func_800AA0F0.s") -#endif u32 func_800AA148(void) { diff --git a/src/code/fault.c b/src/code/fault.c index 528d8beafd..4af2d6c606 100644 --- a/src/code/fault.c +++ b/src/code/fault.c @@ -1,5 +1,6 @@ #include #include +#include #include //data @@ -55,40 +56,42 @@ void Fault_ClientProcessThread(FaultClientContext* ctx) osSendMesg(ctx->queue, ctx->msg, 1); } -#ifdef NON_MATCHING void Fault_ProcessClientContext(FaultClientContext* ctx) { OSMesgQueue queue; OSMesg msg; - OSThread* t; - OSTimer timer; OSMesg recMsg; + OSThread* thread; + OSTimer timer; + u32 timerMsgVal; + + timerMsgVal = 666; + thread = NULL; osCreateMesgQueue(&queue, &msg, 1); ctx->queue = &queue; ctx->msg = NULL; - if (sFaultStructPtr->currClientThreadSp) + + if (sFaultStructPtr->currClientThreadSp != 0) { - Fault_ClientProcessThread(ctx); - t = NULL; + thread = alloca(sizeof(OSThread)); + osCreateThread(thread, 2, Fault_ClientProcessThread, ctx, sFaultStructPtr->currClientThreadSp, 0x7E); + osStartThread(thread); } else { - OSThread thread; - osCreateThread(&thread, 2, &Fault_ClientProcessThread, ctx, sFaultStructPtr->currClientThreadSp, 0x7E); - osStartThread(&thread); - t = &thread; + Fault_ClientProcessThread(ctx); } - while(true) + while (true) { - osSetTimer(&timer, OS_USEC_TO_CYCLES(1000000), 0, &queue, (OSMesg)0x29A); + osSetTimer(&timer, OS_USEC_TO_CYCLES(1000000), 0, &queue, (OSMesg)timerMsgVal); osRecvMesg(&queue, &recMsg, 1); - if (recMsg == (OSMesg)0x29A) + if (recMsg != (OSMesg)666) break; - if (sFaultIsWaitingForInput) + if (!sFaultIsWaitingForInput) { ctx->ret = -1; break; @@ -96,17 +99,13 @@ void Fault_ProcessClientContext(FaultClientContext* ctx) } osStopTimer(&timer); - if (t) + + if (thread != NULL) { - osStopThread(t); - //osDestroyThread(t); - osDestroyThread(t); + osStopThread(thread); + osDestroyThread(thread); } } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/fault/Fault_ProcessClientContext.s") -#endif - u32 Fault_ProcessClient(u32 callback, u32 param0, u32 param1) { @@ -120,16 +119,22 @@ u32 Fault_ProcessClient(u32 callback, u32 param0, u32 param1) } #ifdef NON_MATCHING -void Fault_AddClient(FaultClient *client, void* callback, void* param0, void* param1) +// minor ordering differences +void Fault_AddClient(FaultClient* client, void* callback, void* param0, void* param1) { - bool alreadyExist = false; - OSIntMask mask = osSetIntMask(1); - FaultClient* iter = sFaultStructPtr->clients; + OSIntMask mask; + u32 alreadyExists; + FaultClient* iter; + + alreadyExists = false; + mask = osSetIntMask(1); + + iter = sFaultStructPtr->clients; while (iter) { if (iter == client) { - alreadyExist = true; + alreadyExists = true; goto end; } iter = iter->next; @@ -143,7 +148,7 @@ void Fault_AddClient(FaultClient *client, void* callback, void* param0, void* pa end: osSetIntMask(mask); - if (alreadyExist) + if (alreadyExists) osSyncPrintf(VT_COL(RED, WHITE) "fault_AddClient: %08x は既にリスト中にある\n" VT_RST, client); } #else @@ -187,7 +192,6 @@ void Fault_RemoveClient(FaultClient* client) { osSyncPrintf(VT_COL(RED, WHITE) "fault_RemoveClient: %08x リスト不整合です\n" VT_RST, client); } - #pragma GLOBAL_ASM("asm/non_matchings/code/fault/Fault_AddAddrConvClient.s") void Fault_RemoveAddrConvClient(FaultAddrConvClient* client) { @@ -266,20 +270,23 @@ void Fault_UpdatePadImpl() } #ifdef NON_MATCHING -bool Fault_WaitForInputImpl() +// ordering differences and possibly regalloc +u32 Fault_WaitForInputImpl() { u16 kDown; - bool exitDebugger; - + u32 exitDebugger; s32 count = 600; Input* curInput = &sFaultStructPtr->padInput; + while (true) { while (true) { Fault_Sleep(0x10); Fault_UpdatePadImpl(); + kDown = curInput->padPressed; + if (kDown == 0x20) sFaultStructPtr->faultActive = !sFaultStructPtr->faultActive; @@ -291,14 +298,18 @@ bool Fault_WaitForInputImpl() } if (kDown == 0x8000 || kDown == 0x100) - break; + return false; + if (kDown == 0x200) return true; + if (kDown == 0x800) FaultDrawer_SetOsSyncPrintfEnabled(true); + if (kDown == 0x400) FaultDrawer_SetOsSyncPrintfEnabled(false); } + return false; } #else @@ -338,10 +349,10 @@ void Fault_DrawCornerRec(u16 color) Fault_DrawRec(0x16, 0x10, 8, 1, color); } -void Fault_PrintFReg(s32 idx, f32 *value) +void Fault_PrintFReg(s32 idx, f32* value) { u32 raw = *(u32*)value; - int v0 = ((raw & 0x7f800000) >> 0x17) - 0x7f; + s32 v0 = ((raw & 0x7f800000) >> 0x17) - 0x7f; if ((v0 >= -0x7e && v0 < 0x80) || raw == 0) FaultDrawer_Printf("F%02d:%14.7e ", idx, *value); @@ -349,8 +360,7 @@ void Fault_PrintFReg(s32 idx, f32 *value) FaultDrawer_Printf("F%02d: %08x(16) ", idx, raw); } -#ifdef NON_MATCHING -void Fault_LogFReg(s32 idx, f32 *value) +void Fault_LogFReg(s32 idx, f32* value) { u32 raw = *(u32*)value; s32 v0 = ((raw & 0x7f800000) >> 0x17) - 0x7f; @@ -358,11 +368,8 @@ void Fault_LogFReg(s32 idx, f32 *value) if ((v0 >= -0x7e && v0 < 0x80) || raw == 0) osSyncPrintf("F%02d:%14.7e ", idx, *value); else - osSyncPrintf("F%02d: %08x(16) ", idx, raw); + osSyncPrintf("F%02d: %08x(16) ", idx, *(u32*)value); } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/fault/Fault_LogFReg.s") -#endif void Fault_PrintFPCR(u32 value) { @@ -567,14 +574,16 @@ void Fault_DrawMemDumpPage(const char* title, u32* addr, u32 param_3) { FaultDrawer_SetCharPad(0, 0); } - #ifdef NON_MATCHING +// saved register and stack usage differences +// possibly some minor ordering and regalloc differences void Fault_DrawMemDump(u32 pc, u32 sp, u32 unk0, u32 unk1) { - s32 count; - u16 held; - s32 off; + Input* curInput = &sFaultStructPtr->padInput; u32 addr = pc; + s32 count; + s32 off; + while (true) { if (addr < 0x80000000) @@ -583,49 +592,54 @@ void Fault_DrawMemDump(u32 pc, u32 sp, u32 unk0, u32 unk1) addr = 0x807fff00; addr &= ~0xF; - Fault_DrawMemDumpPage("Dump", (u32*)addr); + Fault_DrawMemDumpPage("Dump", (u32*)addr, 0); count = 600; + while (sFaultStructPtr->faultActive) { - if (count-- == 0) + if (count == 0) return; + + count--; Fault_Sleep(0x10); Fault_UpdatePadImpl(); - if ((sFaultStructPtr->padInput.padPressed | ~0x20) == ~0x20) + if (!~(curInput->padPressed | ~0x20)) sFaultStructPtr->faultActive = false; } + do { Fault_Sleep(0x10); Fault_UpdatePadImpl(); - } while (sFaultStructPtr->padInput.padPressed == 0); + } while (curInput->padPressed == 0); - if ((sFaultStructPtr->padInput.padPressed | ~0x1000) == ~0) + if (!~(curInput->padPressed | ~0x1000)) return; - held = sFaultStructPtr->padInput.status; - if ((held | ~0x8000) == ~0) + + if (!~(curInput->raw.pad | ~0x8000)) return; off = 0x10; - if ((held | ~0x2000) == ~0) + if (!~(curInput->raw.pad | ~0x2000)) off = 0x100; - if ((held | ~0x4000) == ~0) + if (!~(curInput->raw.pad | ~0x4000)) off <<= 8; - if ((held | ~0x800) == ~0) + if (!~(curInput->raw.pad | ~0x800)) addr -= off; - if ((held | ~0x400) == ~0) - addr -= off; - if ((held | ~0x8) == ~0) + if (!~(curInput->raw.pad | ~0x400)) + addr += off; + if (!~(curInput->raw.pad | ~0x8)) addr = pc; - if ((held | ~0x4) == ~0) + if (!~(curInput->raw.pad | ~0x4)) addr = sp; - if ((held | ~0x2) == ~0) + if (!~(curInput->raw.pad | ~0x2)) addr = unk0; - if ((held | ~0x1) == ~0) + if (!~(curInput->raw.pad | ~0x1)) addr = unk1; - if ((held | ~0x20) == ~0) + if (!~(curInput->raw.pad | ~0x20)) break; } + sFaultStructPtr->faultActive = true; } #else @@ -674,6 +688,7 @@ void Fault_ProcessClients(void) { FaultClient* iter = sFaultStructPtr->clients; s32 idx = 0; + while(iter) { if (iter->callback) @@ -696,58 +711,59 @@ void Fault_UpdatePad() } #ifdef NON_MATCHING - -void Fault_ThreadEntry(u32 unused) +// saved register and stack usage differences +void Fault_ThreadEntry(void* arg) { - OSThread *faultedThread; + OSThread* faultedThread; OSMesg msg; - //osSetEventMesg osSetEventMesg(OS_EVENT_CPU_BREAK, &sFaultStructPtr->queue, 1); osSetEventMesg(OS_EVENT_FAULT, &sFaultStructPtr->queue, 2); + while (true) { - osRecvMesg(&sFaultStructPtr->queue, &msg, 1); + do + { + osRecvMesg(&sFaultStructPtr->queue, &msg, 1); - if (msg == (OSMesg)1) - { - sFaultStructPtr->msgId = 1; - osSyncPrintf("フォルトマネージャ:OS_EVENT_CPU_BREAKを受信しました\n"); - } - else if (msg == (OSMesg)2) - { - sFaultStructPtr->msgId = 2; - osSyncPrintf("フォルトマネージャ:OS_EVENT_FAULTを受信しました\n"); - } - else if (msg != (OSMesg)3) - { - sFaultStructPtr->msgId = (u8)3; - osSyncPrintf("フォルトマネージャ:不明なメッセージを受信しました\n"); - } + if (msg == (OSMesg)1) + { + sFaultStructPtr->msgId = 1; + osSyncPrintf("フォルトマネージャ:OS_EVENT_CPU_BREAKを受信しました\n"); + } + else if (1 && msg == (OSMesg)2) + { + sFaultStructPtr->msgId = 2; + osSyncPrintf("フォルトマネージャ:OS_EVENT_FAULTを受信しました\n"); + } + else if (msg == (OSMesg)3) + { + Fault_UpdatePad(); + faultedThread = NULL; + continue; + } + else + { + sFaultStructPtr->msgId = 3; + osSyncPrintf("フォルトマネージャ:不明なメッセージを受信しました\n"); + } - if (msg == (OSMesg)3) - { - Fault_UpdatePad(); - faultedThread = NULL; - } - else - { faultedThread = __osGetCurrFaultedThread(); osSyncPrintf("__osGetCurrFaultedThread()=%08x\n", faultedThread); - if (!faultedThread) + + if (faultedThread == NULL) { faultedThread = Fault_FindFaultedThread(); osSyncPrintf("FindFaultedThread()=%08x\n", faultedThread); } - } - - if (!faultedThread) - continue; + } while (faultedThread == NULL); __osSetFpcCsr(__osGetFpcCsr() & -0xf81); sFaultStructPtr->faultedThread = faultedThread; + while (!sFaultStructPtr->faultHandlerEnabled) Fault_Sleep(1000); + Fault_Sleep(500); Fault_CommitFB(); @@ -781,10 +797,12 @@ void Fault_ThreadEntry(u32 unused) FaultDrawer_DrawText(0x40, 0x64, " THANK YOU! "); FaultDrawer_DrawText(0x40, 0x6E, " You are great debugger!"); Fault_WaitForInput(); - } while (!sFaultStructPtr->exitDebugger); - while(!sFaultStructPtr->exitDebugger){} + while (!sFaultStructPtr->exitDebugger) + { + + } Fault_ResumeThread(faultedThread); } diff --git a/src/code/fault_drawer.c b/src/code/fault_drawer.c index 522f0b2ff4..392290d8ab 100644 --- a/src/code/fault_drawer.c +++ b/src/code/fault_drawer.c @@ -47,7 +47,7 @@ FaultDrawer sFaultDrawerDefault = 22, 297,//xStart, xEnd 0xFFFF, 0x0000, //foreColor, backColor 22, 16, //cursorX, cursorY - &sFaultDrawerFont, //font + sFaultDrawerFont, //font 8, 8, 0, 0, { //printColors 0x0001, 0xF801, 0x07C1, 0xFFC1, @@ -63,7 +63,6 @@ FaultDrawer sFaultDrawerDefault = FaultDrawer sFaultDrawerStruct; char D_8016B6C0[0x20]; //? unused - void FaultDrawer_SetOsSyncPrintfEnabled(u32 enabled) { sFaultDrawerStruct.osSyncPrintfEnabled = enabled; @@ -75,9 +74,10 @@ void FaultDrawer_DrawRecImpl(s32 xstart, s32 ystart, s32 xend, s32 yend, u16 col if (sFaultDrawerStruct.w - xstart > 0 && sFaultDrawerStruct.h - ystart > 0) { s32 x, y; - for (y = 0; y < yend-ystart+1; y++) - for (x = 0; x < xend-xstart+1; x++) - sFaultDrawerStruct.fb[sFaultDrawerStruct.w*y+x] = color; + + for (y = 0; y <= yend - ystart; y++) + for (x = 0; x <= xend - xstart; x++) + sFaultDrawerStruct.fb[sFaultDrawerStruct.w * y + x] = color; osWritebackDCacheAll(); } @@ -86,35 +86,38 @@ void FaultDrawer_DrawRecImpl(s32 xstart, s32 ystart, s32 xend, s32 yend, u16 col #pragma GLOBAL_ASM("asm/non_matchings/code/fault_drawer/FaultDrawer_DrawRecImpl.s") #endif - #ifdef NON_MATCHING +// regalloc and minor ordering differences void FaultDrawer_DrawChar(char c) { s32 x, y; - u32* dataStart = &sFaultDrawerStruct.fontData[(c >> 3) * 0x10 + (c & 4) >> 2]; - u16* fb = &sFaultDrawerStruct.fb[sFaultDrawerStruct.w * sFaultDrawerStruct.cursorY + sFaultDrawerStruct.cursorX]; + u32* dataPtr; + u16* fb; - if (sFaultDrawerStruct.xStart <= sFaultDrawerStruct.cursorX && - sFaultDrawerStruct.charW + sFaultDrawerStruct.cursorX -1 <= sFaultDrawerStruct.xEnd && - sFaultDrawerStruct.yStart <= sFaultDrawerStruct.cursorY && - sFaultDrawerStruct.charH + sFaultDrawerStruct.cursorY -1 <= sFaultDrawerStruct.yEnd && - sFaultDrawerStruct.charH != 0 - ) + dataPtr = &sFaultDrawerStruct.fontData[((c & 4) >> 2) + ((c / 8) * 16)]; + + fb = &sFaultDrawerStruct.fb[sFaultDrawerStruct.cursorY * sFaultDrawerStruct.w]; + fb = &fb[sFaultDrawerStruct.cursorX]; + + if ((sFaultDrawerStruct.xStart <= sFaultDrawerStruct.cursorX) && + ((sFaultDrawerStruct.charW + sFaultDrawerStruct.cursorX - 1) <= sFaultDrawerStruct.xEnd) && + (sFaultDrawerStruct.yStart <= sFaultDrawerStruct.cursorY) && + ((sFaultDrawerStruct.charH + sFaultDrawerStruct.cursorY - 1) <= sFaultDrawerStruct.yEnd)) { for (y = 0; y < sFaultDrawerStruct.charH; y++) { - u32 mask = 0x10000000 << (c & 3); + u32 mask = 0x10000000 << (c % 4); + u32 data = *dataPtr; for (x = 0; x < sFaultDrawerStruct.charW; x++) { - if ((mask & *dataStart)) + if (mask & data) fb[x] = sFaultDrawerStruct.foreColor; - else - if (sFaultDrawerStruct.backColor & 1) - fb[x] = sFaultDrawerStruct.backColor; + else if (sFaultDrawerStruct.backColor & 1) + fb[x] = sFaultDrawerStruct.backColor; mask >>= 4; } fb += sFaultDrawerStruct.w; - dataStart += 2; + dataPtr += 2; } } } @@ -186,58 +189,56 @@ void FaultDrawer_FillScreen() FaultDrawer_SetCursor(sFaultDrawerStruct.xStart, sFaultDrawerStruct.yStart); } -#ifdef NON_MATCHING u32 FaultDrawer_FormatStringFunc(u32 arg0, const char* str, s32 count) { - while (count) + for (count; count != 0; count--, str++) { - s32 curXStart; //s32? + s32 curXStart; s32 curXEnd; if (sFaultDrawerStruct.escCode) { sFaultDrawerStruct.escCode = false; if (*str > 0x30 && *str < 0x3A) - FaultDrawer_SetForeColor(gFaultStruct.colors[*str + 12]); + FaultDrawer_SetForeColor(sFaultDrawerStruct.printColors[*str - 0x30]); curXStart = sFaultDrawerStruct.cursorX; curXEnd = sFaultDrawerStruct.xEnd - sFaultDrawerStruct.charW; } else { - if (*str == '\n') + switch (*str) { - if (sFaultDrawerStruct.osSyncPrintfEnabled) - osSyncPrintf("\n"); + case '\n': + if (sFaultDrawerStruct.osSyncPrintfEnabled) + osSyncPrintf("\n"); - sFaultDrawerStruct.cursorX = sFaultDrawerStruct.w; - curXStart = sFaultDrawerStruct.w; - curXEnd = sFaultDrawerStruct.xEnd - sFaultDrawerStruct.charW; - } - else if (*str == '\x1a') - { - sFaultDrawerStruct.escCode = true; - curXStart = sFaultDrawerStruct.cursorX; - curXEnd = sFaultDrawerStruct.xEnd - sFaultDrawerStruct.charW; - } - else - { - if (sFaultDrawerStruct.osSyncPrintfEnabled) - osSyncPrintf("%c", *str); + sFaultDrawerStruct.cursorX = sFaultDrawerStruct.w; + curXStart = sFaultDrawerStruct.cursorX; + curXEnd = sFaultDrawerStruct.xEnd - sFaultDrawerStruct.charW; + break; + case '\x1A': + sFaultDrawerStruct.escCode = true; + curXStart = sFaultDrawerStruct.cursorX; + curXEnd = sFaultDrawerStruct.xEnd - sFaultDrawerStruct.charW; + break; + default: + if (sFaultDrawerStruct.osSyncPrintfEnabled) + osSyncPrintf("%c", *str); - FaultDrawer_DrawChar(*str); - sFaultDrawerStruct.cursorX += sFaultDrawerStruct.charW + sFaultDrawerStruct.charWPad; + FaultDrawer_DrawChar(*str); + sFaultDrawerStruct.cursorX += sFaultDrawerStruct.charW + sFaultDrawerStruct.charWPad; - curXStart = sFaultDrawerStruct.cursorX; - curXEnd = sFaultDrawerStruct.xEnd - sFaultDrawerStruct.charW; + curXStart = sFaultDrawerStruct.cursorX; + curXEnd = sFaultDrawerStruct.xEnd - sFaultDrawerStruct.charW; } } if (curXEnd <= curXStart) { - sFaultDrawerStruct.cursorY += sFaultDrawerStruct.charH + sFaultDrawerStruct.charHPad; sFaultDrawerStruct.cursorX = sFaultDrawerStruct.xStart; - if (sFaultDrawerStruct.yEnd - sFaultDrawerStruct.charH <= (u16)sFaultDrawerStruct.cursorY) //cast? + sFaultDrawerStruct.cursorY += sFaultDrawerStruct.charH + sFaultDrawerStruct.charHPad; + if (sFaultDrawerStruct.yEnd - sFaultDrawerStruct.charH <= sFaultDrawerStruct.cursorY) { if (sFaultDrawerStruct.inputCallback) { @@ -247,16 +248,12 @@ u32 FaultDrawer_FormatStringFunc(u32 arg0, const char* str, s32 count) sFaultDrawerStruct.cursorY = sFaultDrawerStruct.yStart; } } - - count--; - str++; } + osWritebackDCacheAll(); + return arg0; } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/fault_drawer/FaultDrawer_FormatStringFunc.s") -#endif void FaultDrawer_VPrintf(const char* str, char* args) //va_list { diff --git a/src/code/gfxprint.c b/src/code/gfxprint.c index a1aaaced81..340d4702a7 100644 --- a/src/code/gfxprint.c +++ b/src/code/gfxprint.c @@ -104,54 +104,92 @@ u8 sGfxPrintFontData[(16*256)/2] = }; -#define gDPSetPrimColorMod(pkt, m, l, rgba) \ -_DW({ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = (_SHIFTL(G_SETPRIMCOLOR, 24, 8) | \ - _SHIFTL(m, 8, 8) | _SHIFTL(l, 0, 8)); \ - _g->words.w1 = (rgba); \ +#define gDPSetPrimColorMod(pkt, m, l, rgba) \ +_DW({ \ + Gfx *_g = (Gfx *)(pkt); \ + \ + _g->words.w0 = (_SHIFTL(G_SETPRIMCOLOR, 24, 8) | \ + _SHIFTL(m, 8, 8) | _SHIFTL(l, 0, 8)); \ + _g->words.w1 = (rgba); \ }) #ifdef NON_MATCHING +// regalloc and minor ordering differences void GfxPrint_InitDlist(GfxPrint* this) { - u32 palette; - u32 tile; + s32 width = 16; + s32 height = 256; + s32 i; gDPPipeSync(this->dlist++); - gDPSetOtherMode(this->dlist++, 0xECF0, 0x504244); - gDPSetCombineLERP(this->dlist++, K5, K5, 0, TEXEL0, 0, 0, 0, TEXEL0, K5, K5, 0, TEXEL0, 0, 0, 0, TEXEL0); - gDPLoadTextureBlock(this->dlist++, sGfxPrintFontData, G_IM_FMT_CI, G_IM_SIZ_4b, 16, 256, 0, 0, 0, 0, 0, 0, 0); //? missmatch here - gDPLoadTLUT(this->dlist++, 64, 0x100, sGfxPrintFontTLUT); + gDPSetOtherMode(this->dlist++, + G_AD_DISABLE | G_CD_DISABLE | G_CK_NONE | G_TC_FILT | G_TF_BILERP | + G_TT_IA16 | G_TL_TILE | G_TD_CLAMP | G_TP_NONE | G_CYC_1CYCLE | G_PM_NPRIMITIVE, + G_AC_NONE | G_ZS_PRIM | G_RM_XLU_SURF | G_RM_XLU_SURF2); + gDPSetCombineLERP(this->dlist++, + 0, 0, 0, TEXEL0, 0, 0, 0, TEXEL0, + 0, 0, 0, TEXEL0, 0, 0, 0, TEXEL0); - tile = 2; - palette = 1; - do + gDPSetTextureImage(this->dlist++, G_IM_FMT_CI, G_IM_SIZ_4b_LOAD_BLOCK, 1, sGfxPrintFontData); + gDPSetTile(this->dlist++, G_IM_FMT_CI, G_IM_SIZ_4b_LOAD_BLOCK, + 0, 0, G_TX_LOADTILE, 0, + G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, + G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD); + gDPLoadSync(this->dlist++); + gDPLoadBlock(this->dlist++, G_TX_LOADTILE, 0, 0, + (((width)*(height) + G_IM_SIZ_4b_INCR) >> G_IM_SIZ_4b_SHIFT) - 1, + CALC_DXT(width, G_IM_SIZ_4b_BYTES)); + gDPPipeSync(this->dlist++); + gDPSetTile(this->dlist++, G_IM_FMT_CI, G_IM_SIZ_4b, + 1, 0, G_TX_RENDERTILE, 0, + G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, + G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD); + gDPSetTileSize(this->dlist++, G_TX_RENDERTILE, 0, 0, + ((width)-1) << G_TEXTURE_IMAGE_FRAC, + ((height)-1) << G_TEXTURE_IMAGE_FRAC); + + gDPLoadTLUT(this->dlist++, 64, 256, sGfxPrintFontTLUT); + + for (i = 1; i < 4; i++) { - gDPSetTile(this->dlist++, G_IM_FMT_CI, G_IM_SIZ_4b, 1, 0x0, tile, palette++, G_TX_NOMIRROR | G_TX_CLAMP, 0, 0, G_TX_NOMIRROR | G_TX_CLAMP, 0, 0); - gDPSetTileSize(this->dlist++, tile, 0, 0, 15, 255); - tile+=2; - - } while (palette < 4); + gDPSetTile(this->dlist++, G_IM_FMT_CI, G_IM_SIZ_4b, + 1, 0, i * 2, i, + G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, + G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD); + gDPSetTileSize(this->dlist++, i * 2, 0, 0, 60, 1020); + } gDPSetPrimColorMod(this->dlist++, 0, 0, *(u32*)&this->color); - gDPLoadTextureTile(this->dlist++, sGfxPrintUnkData, G_IM_FMT_CI, G_IM_SIZ_8b, 1, 0, 0, 0, 0, 7, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 1, 3, 0, 0); - gDPLoadTLUT(this->dlist++, 16, 0x140, sGfxPrintUnkTLUT); - tile = 3; - do + gDPSetTextureImage(this->dlist++, G_IM_FMT_CI, G_IM_SIZ_8b, 1, sGfxPrintUnkData); + gDPSetTile(this->dlist++, G_IM_FMT_CI, G_IM_SIZ_8b, + 1, 0, G_TX_LOADTILE, 0 , + G_TX_NOMIRROR | G_TX_WRAP, 3, G_TX_NOLOD, + G_TX_NOMIRROR | G_TX_WRAP, 1, G_TX_NOLOD); + gDPLoadSync(this->dlist++); + gDPLoadTile(this->dlist++, G_TX_LOADTILE, 0, 0, 2, 28); + gDPPipeSync(this->dlist++); + gDPSetTile(this->dlist++, G_IM_FMT_CI, G_IM_SIZ_8b, + 1, 0, 1, 4, + G_TX_NOMIRROR | G_TX_WRAP, 3, G_TX_NOLOD, + G_TX_NOMIRROR | G_TX_WRAP, 1, G_TX_NOLOD); + gDPSetTileSize(this->dlist++, 1, 0, 0, 4, 28); + + gDPLoadTLUT(this->dlist++, 16, 320, sGfxPrintUnkTLUT); + + for (i = 1; i < 4; i++) { - gDPSetTile(this->dlist++, G_IM_FMT_CI, G_IM_SIZ_4b, tile, 0x0, G_TX_RENDERTILE, 4, G_TX_NOMIRROR | G_TX_WRAP, 3, 0, G_TX_NOMIRROR | G_TX_WRAP, 1, 0); - gDPSetTileSize(this->dlist++, tile, 0, 0, 1, 7); - tile += 2; - } while (tile != 9); + gDPSetTile(this->dlist++, G_IM_FMT_CI, G_IM_SIZ_4b, + 1, 0, i * 2 + 1, 4, + G_TX_NOMIRROR | G_TX_WRAP, 3, G_TX_NOLOD, + G_TX_NOMIRROR | G_TX_WRAP, 1, G_TX_NOLOD); + gDPSetTileSize(this->dlist++, i * 2 + 1, 0, 0, 4, 28); + } } #else #pragma GLOBAL_ASM("asm/non_matchings/code/gfxprint/GfxPrint_InitDlist.s") #endif - void GfxPrint_SetColor(GfxPrint* this, u32 r, u32 g, u32 b, u32 a) { this->color.r = r; @@ -180,71 +218,95 @@ void GfxPrint_SetBasePosPx(GfxPrint* this, s32 x, s32 y) this->baseY = y << 2; } -//close from matching #ifdef NON_MATCHING -void GfxPrint_PrintCharImpl(GfxPrint* this, u8 c) +// regalloc and ordering differences +void GfxPrint_PrintCharImpl(GfxPrint* this, char c) { - u32 test; - u32 test2; - if (this->flag & GFXPRINT_UPDATE_MODE) { this->flag &= ~GFXPRINT_UPDATE_MODE; + gDPPipeSync(this->dlist++); if (this->flag & GFXPRINT_USE_RGBA16) { gDPSetTextureLUT(this->dlist++, G_TT_RGBA16); gDPSetCycleType(this->dlist++, G_CYC_2CYCLE); gDPSetRenderMode(this->dlist++, G_RM_OPA_CI, G_RM_XLU_SURF2); - gDPSetCombineLERP(this->dlist++, TEXEL0, K5, TEXEL1, COMBINED_ALPHA, TEXEL0, 0, TEXEL1, 0, K5, K5, 0, COMBINED, 0, 0, 0, COMBINED); + gDPSetCombineLERP(this->dlist++, + TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, + 0, 0, 0, COMBINED, 0, 0, 0, COMBINED); } else { gDPSetTextureLUT(this->dlist++, G_TT_IA16); gDPSetCycleType(this->dlist++, G_CYC_1CYCLE); gDPSetRenderMode(this->dlist++, G_RM_XLU_SURF, G_RM_XLU_SURF2); - gDPSetCombineLERP(this->dlist++, TEXEL0, K5, PRIMITIVE, COMBINED_ALPHA, 0, 0, 0, TEXEL0, TEXEL0, K5, PRIMITIVE, COMBINED_ALPHA, 0, 0, 0, TEXEL0); + gDPSetCombineLERP(this->dlist++, + TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, TEXEL0, + TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, TEXEL0); } } - test = (c & 4) << 6; - test2 = (c >> 3) << 8; if (this->flag & GFXPRINT_FLAG4) { gDPSetPrimColorMod(this->dlist++, 0, 0, 0); if (this->flag & GFXPRINT_FLAG64) - gSPTextureRectangle(this->dlist++, (this->posX+4)<<1, (this->posY+4)<<1, (this->posX+0x24)<<1, (this->posY+0x24)<<1, c<<1, test, test2, 512, 512); //c*2 ? + gSPTextureRectangle(this->dlist++, + (this->posX + 4) << 1, (this->posY + 4) << 1, + (this->posX + 4 + 32) << 1, (this->posY + 4 + 32) << 1, + c * 2, + (u16)(c & 4) * 64, (u16)(c >> 3) * 256, + 512, 512); else - gSPTextureRectangle(this->dlist++, this->posX+4, this->posY+4, this->posX+0x24, this->posY+0x24, c<<1, test, test2, 1024, 1024); + gSPTextureRectangle(this->dlist++, + this->posX + 4, this->posY + 4, + this->posX + 4 + 32, this->posY + 4 + 32, + c * 2, + (u16)(c & 4) * 64, (u16)(c >> 3) * 256, + 1024, 1024); gDPSetPrimColorMod(this->dlist++, 0, 0, *(u32*)&this->color); } - if (this->flag & GFXPRINT_FLAG64) - gSPTextureRectangle(this->dlist++, (this->posX)<<1, (this->posY)<<1, (this->posX + 0x20)<<1, (this->posY + 0x20)<<1, c << 1, test, test2, 512, 512); - else - gSPTextureRectangle(this->dlist++, this->posX, this->posY, this->posX + 0x20, this->posY + 0x20, c << 1, test, test2, 1024, 1024); - this->posX += 0x20; + if (this->flag & GFXPRINT_FLAG64) + gSPTextureRectangle(this->dlist++, + (this->posX) << 1, (this->posY) << 1, + (this->posX + 32) << 1, (this->posY + 32) << 1, + c * 2, + (u16)(c & 4) * 64, (u16)(c >> 3) * 256, + 512, 512); + else + gSPTextureRectangle(this->dlist++, + this->posX, this->posY, + this->posX + 32, this->posY + 32, + c * 2, + (u16)(c & 4) * 64, (u16)(c >> 3) * 256, + 1024, 1024); + + this->posX += 32; } #else #pragma GLOBAL_ASM("asm/non_matchings/code/gfxprint/GfxPrint_PrintCharImpl.s") #endif - -#ifdef NON_MATCHING -void GfxPrint_PrintChar(GfxPrint *this, char c) +void GfxPrint_PrintChar(GfxPrint* this, u8 c) { + u8 charParam = c; + if (c == ' ') - this->posX += 0x20; - else if (c > 0x20 && c < 0x7f) - GfxPrint_PrintCharImpl(this, c); - else if (c >= 0xa0 && c < 0xe0) { - u8 charParam = c; - if ((this->flag & GFXPRINT_FLAG1) != 0) + this->posX += 0x20; + } + else if (c > 0x20 && c < 0x7F) + { + GfxPrint_PrintCharImpl(this, charParam); + } + else if (c >= 0xA0 && c < 0xE0) + { + if (this->flag & GFXPRINT_FLAG1) { - if (c < 0xc0) + if (c < 0xC0) charParam = c - 0x20; else charParam = c + 0x20; @@ -253,75 +315,41 @@ void GfxPrint_PrintChar(GfxPrint *this, char c) } else { - switch(c) + switch (c) { case 0: - return; - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - return; - //tab - case 9: - { - u32 uVar1; - do { - GfxPrint_PrintCharImpl(this, 0x20); - uVar1 = this->posX - this->baseX; - if (uVar1 < 0 && uVar1 != 0) - uVar1 -= 0x100; - } while (uVar1 != 0); - return; - } - //line feed - case 0xa: - { + break; + case '\n': this->posY += 0x20; + case '\r': this->posX = this->baseX; - return; - } - /* - case 0xb: - case 0xc: - return; - */ - //carriage return - case 0xd: - { - this->posX = this->baseX; - return; - } - case 0x8a: - this->flag &= ~GFXPRINT_USE_RGBA16; - this->flag |= GFXPRINT_UPDATE_MODE; - return; - case 0x8b: + break; + case '\t': + do + { + GfxPrint_PrintCharImpl(this, 0x20); + } while ((this->posX - this->baseX) % 256); + break; + case 0x8D: + this->flag |= GFXPRINT_FLAG1; + break; + case 0x8C: + this->flag &= ~GFXPRINT_FLAG1; + break; + case 0x8B: this->flag |= GFXPRINT_USE_RGBA16; this->flag |= GFXPRINT_UPDATE_MODE; - return; - case 0x8c: - this->flag &= ~GFXPRINT_FLAG1; - return; - case 0x8d: - this->flag |= GFXPRINT_FLAG1; - return; - case 0x8e: + break; + case 0x8A: + this->flag &= ~GFXPRINT_USE_RGBA16; + this->flag |= GFXPRINT_UPDATE_MODE; + break; + case 0x8E: default: - return; + break; } - } } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/gfxprint/GfxPrint_PrintChar.s") -#endif - - void GfxPrint_PrintStringWithSize(GfxPrint* this, const void* buffer, size_t charSize, size_t charCount) { @@ -409,4 +437,4 @@ void GfxPrint_Printf(GfxPrint* this, const char* fmt, ...) va_start(args, fmt); GfxPrint_VPrintf(this, fmt, args); -} \ No newline at end of file +} diff --git a/src/code/padmgr.c b/src/code/padmgr.c index 0c0201c631..163e546b14 100644 --- a/src/code/padmgr.c +++ b/src/code/padmgr.c @@ -1,10 +1,13 @@ #include #include +#include #include #include #include +s32 D_8012D280 = 1; + OSMesgQueue* PadMgr_LockGetControllerQueue(PadMgr* padmgr) { OSMesgQueue* ctrlrqueue = NULL; @@ -37,23 +40,28 @@ void PadMgr_UnlockReleaseControllerQueue(PadMgr* padmgr, OSMesgQueue* ctrlrqueue void PadMgr_Lock2(PadMgr* padmgr) { - osRecvMesg(&padmgr->queue2, 0, OS_MESG_BLOCK); + osRecvMesg(&padmgr->queue2, NULL, OS_MESG_BLOCK); } void PadMgr_Unlock2(PadMgr* padmgr) { - osSendMesg(&padmgr->queue2, 0, OS_MESG_BLOCK); + osSendMesg(&padmgr->queue2, NULL, OS_MESG_BLOCK); } #ifdef NON_MATCHING +// regalloc and minor ordering differences void func_800C740C(PadMgr* padmgr) { + static u32 D_8012D284 = 0; + static u32 D_8016A4F0; + s32 temp; s32 var1; OSMesgQueue* ctrlrqueue; s32 var3; s32 var4; s32 i; + temp = 1; ctrlrqueue = PadMgr_LockGetControllerQueue(padmgr); var1 = 0; @@ -63,26 +71,28 @@ void func_800C740C(PadMgr* padmgr) { if (padmgr->pad_status[i].status & 1) { - if (padmgr->unk_2AE[i] == 1) + if (padmgr->unk_2AE[i] == temp) { if (padmgr->unk_2B2[i] != 0) { if (padmgr->unk_2B6[i] < 3) { - osSyncPrintf(D_80145894); //"\x1b[33m" (probably formatting/debugger interface) - osSyncPrintf(D_8014589C, i + 1, D_801458B0); //"padmgr: %d[JPN]Con: ", "[JPN]Vibration pack jumble jumble" - osSyncPrintf(D_801458CC); //"\x1b[m" (probably formatting/debugger interface) - if (osSetVibration(&padmgr->unk_controller[i], 1) != 0) + osSyncPrintf(VT_FGCOL(YELLOW)); + osSyncPrintf("padmgr: %dコン: %s\n", i + 1, "振動パック ぶるぶるぶるぶる"); + osSyncPrintf(VT_RST); + + if (osSetVibration(&padmgr->unk_controller[i], temp) != 0) { padmgr->unk_2AE[i] = 0; - osSyncPrintf(D_801458D0); - osSyncPrintf(D_801458D8, i + 1, D_801458EC); //"A communication error has occurred with the vibraton pack" - osSyncPrintf(D_80145914); + osSyncPrintf(VT_FGCOL(YELLOW)); + osSyncPrintf("padmgr: %dコン: %s\n", i + 1, "振動パックで通信エラーが発生しました"); + osSyncPrintf(VT_RST); } else { padmgr->unk_2B6[i] = 3; } + var1 = 1; } } @@ -90,20 +100,22 @@ void func_800C740C(PadMgr* padmgr) { if (padmgr->unk_2B6[i] != 0) { - osSyncPrintf(D_80145918); - osSyncPrintf(D_80145920, i + 1, D_80145934); //"Stop vibration pack" - osSyncPrintf(D_80145944); + osSyncPrintf(VT_FGCOL(YELLOW)); + osSyncPrintf("padmgr: %dコン: %s\n", i + 1, "振動パック 停止"); + osSyncPrintf(VT_RST); + if (osSetVibration(&padmgr->unk_controller[i], 0) != 0) { padmgr->unk_2AE[i] = 0; - osSyncPrintf(D_80145948); - osSyncPrintf(D_80145950, i + 1, D_80145964); //"A communication error has occurred with the vibration pack" - osSyncPrintf(D_8014598C); + osSyncPrintf(VT_FGCOL(YELLOW)); + osSyncPrintf("padmgr: %dコン: %s\n", i + 1, "振動パックで通信エラーが発生しました"); + osSyncPrintf(VT_RST); } else { padmgr->unk_2B6[i]--; } + var1 = 1; } } @@ -115,16 +127,16 @@ void func_800C740C(PadMgr* padmgr) { if (padmgr->unk_2AE[i] == 1) { - osSyncPrintf(D_80145990); - osSyncPrintf(D_80145998, i + 1, D_801459AC); //"Vibration pack seems to be pulled out" - osSyncPrintf(D_801459CC); + osSyncPrintf(VT_FGCOL(YELLOW)); + osSyncPrintf("padmgr: %dコン: %s\n", i + 1, "振動パックが抜かれたようです"); + osSyncPrintf(VT_RST); padmgr->unk_2AE[i] = 0; } else { - osSyncPrintf(D_801459D0); - osSyncPrintf(D_80145A24); - osSyncPrintf(D_801459D8, i + 1, D_801459EC); //"It seems that a controller pack that is not a vibration pack was pulled out" + osSyncPrintf(VT_FGCOL(YELLOW)); + osSyncPrintf("padmgr: %dコン: %s\n", i + 1, "振動パックではないコントローラパックが抜かれたようです"); + osSyncPrintf(VT_RST); padmgr->unk_2AE[i] = 0; } } @@ -145,9 +157,9 @@ void func_800C740C(PadMgr* padmgr) padmgr->unk_2AE[var3] = 1; osSetVibration(&padmgr->unk_controller[var3], 1); osSetVibration(&padmgr->unk_controller[var3], 0); - osSyncPrintf(D_80145A28); - osSyncPrintf(D_80145A30, var3 + 1, D_80145A44); //"Recognized vibration pack" - osSyncPrintf(D_80145A60); + osSyncPrintf(VT_FGCOL(YELLOW)); + osSyncPrintf("padmgr: %dコン: %s\n", var3 + 1, "振動パックを認識しました"); + osSyncPrintf(VT_RST); } else if (var4 == 11) { @@ -155,12 +167,11 @@ void func_800C740C(PadMgr* padmgr) } else if (var4 == 4) { - LogUtils_LogThreadId(D_80145A64, 282); - ++D_8012D284; - osSyncPrintf(D_80145A70, D_8012D284); //"++errcnt = %d" - osSyncPrintf(D_80145A80); - osSyncPrintf(D_80145A88, var3 + 1, D_80145A9C); //"Controller pack communication error" - osSyncPrintf(D_80145ABC); + LogUtils_LogThreadId("../padmgr.c", 282); + osSyncPrintf("++errcnt = %d\n", ++D_8012D284); + osSyncPrintf(VT_FGCOL(YELLOW)); + osSyncPrintf("padmgr: %dコン: %s\n", var3 + 1, "コントローラパックの通信エラー"); + osSyncPrintf(VT_RST); } } } @@ -169,6 +180,8 @@ void func_800C740C(PadMgr* padmgr) PadMgr_UnlockReleaseControllerQueue(padmgr, ctrlrqueue); } #else +u32 D_8012D284 = 0; +u32 D_8016A4F0; #pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/func_800C740C.s") #endif @@ -186,10 +199,10 @@ void func_800C7818(PadMgr* padmgr) { if ((gFaultStruct.msgId == 0) && (padmgr->unk_45D != 0)) { - osSyncPrintf("\x1b[33m"); + osSyncPrintf(VT_FGCOL(YELLOW)); //EUC-JP: コン | 'Con'? , EUC-JP: 振動パック 停止 | Stop vibration pack osSyncPrintf("padmgr: %dコン: %s\n", i + 1, "振動パック 停止"); - osSyncPrintf("\x1b[m"); + osSyncPrintf(VT_RST); } osSetVibration(&padmgr->unk_controller[i], 0); @@ -211,7 +224,8 @@ void func_800C7934(PadMgr* padmgr, u32 a1, u32 a2) } #ifdef NON_MATCHING -//func_800A23CC in 1.0 +// minor ordering difference +// 800A23CC in 1.0 void func_800C7948(PadMgr* padmgr, u8* a1) { padmgr->unk_2B2[0] = a1[0]; diff --git a/src/code/title_setup.c b/src/code/title_setup.c index 22ee8b1816..d7ac9cc87a 100644 --- a/src/code/title_setup.c +++ b/src/code/title_setup.c @@ -6,7 +6,7 @@ void TitleSetup_InitImpl(GameState* gameState) osSyncPrintf("ゼルダ共通データ初期化\n"); SaveContext_Init(); gameState->running = false; - gameState->init = func_80800878; gameState->size = sizeof(TitleContext); + gameState->init = Title_Init; gameState->size = sizeof(TitleContext); } void TitleSetup_Destroy(GameState* gameState) diff --git a/src/code/z_actor.c b/src/code/z_actor.c index 3b6698c300..71bba11f23 100644 --- a/src/code/z_actor.c +++ b/src/code/z_actor.c @@ -4332,7 +4332,7 @@ s16 func_80034DD4(Actor* actor, GlobalContext* globalCtx, s16 arg2, f32 arg3) if (arg3 < var) { - actor->flags &= ~0x1; + actor->flags &= ~1; Math_SmoothScaleMaxMinS(&arg2, 0, 6, 0x14, 1); } else @@ -4426,35 +4426,7 @@ s32 func_80035124(Actor* actor, GlobalContext* globalCtx) return ret; } -/* z_cheap_proc.c */ - -void Draw_DListOpa(GlobalContext* globalCtx, u32 dlist) -{ - GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; - Gfx* gfxArr[4]; - - func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_cheap_proc.c", 214); - - func_80093D18(globalCtx->state.gfxCtx); - gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_cheap_proc.c", 216), G_MTX_MODELVIEW | G_MTX_LOAD); - gSPDisplayList(gfxCtx->polyOpa.p++, dlist); - - func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_cheap_proc.c", 219); -} - -void Draw_DListXlu(GlobalContext* globalCtx, u32 dlist) -{ - GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; - Gfx* gfxArr[4]; - - func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_cheap_proc.c", 228); - - func_80093D84(globalCtx->state.gfxCtx); - gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_cheap_proc.c", 230), G_MTX_MODELVIEW | G_MTX_LOAD); - gSPDisplayList(gfxCtx->polyXlu.p++, dlist); - - func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_cheap_proc.c", 233); -} +#include "z_cheap_proc.c" u8 func_800353E8(GlobalContext* globalCtx) { diff --git a/src/code/z_camera.c b/src/code/z_camera.c index e1bece0fae..89a5e03347 100644 --- a/src/code/z_camera.c +++ b/src/code/z_camera.c @@ -232,8 +232,9 @@ void func_80044340(Camera *camera, Vec3f *b, Vec3f *c) *c = sp20.unk_00; } -#ifdef NON_MATCHING f32 func_80038B7C(); + +#ifdef NON_MATCHING // ordering s32 func_800443A0(Camera *camera, Vec3f *b, Vec3f *c) { @@ -449,17 +450,16 @@ f32 func_80045714(Vec3f *a, s16 b, s16 c, f32 arg3); #pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_80045714.s") #endif -#ifdef NON_MATCHING f32 func_8007C0A8(f32, f32); -// CLOSE: stack is slightly off, probably a temp var + s32 func_800457A8(Camera *camera, struct_80045714 *b, f32 c, s16 d) { f32 unused; Vec3f sp50; Vec3f sp44; s32 unused2; - f32 temp_ret; PosRot *sp2C; + f32 temp_ret; temp_ret = func_8002DC84(camera->player); @@ -481,13 +481,11 @@ s32 func_800457A8(Camera *camera, struct_80045714 *b, f32 c, s16 d) return 1; } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800457A8.s") -#endif + +f32 func_8007C028(Vec3f *, Vec3f *); #ifdef NON_MATCHING -f32 func_8007C028(Vec3f *, Vec3f *); -// CLOSE: regalloc, plus stack is slightly off, probably a temp var +// CLOSE: regalloc s32 func_800458D4(Camera *camera, struct_80045714 *b, f32 c, f32 *d, s16 e) { f32 phi_f2; @@ -496,7 +494,7 @@ s32 func_800458D4(Camera *camera, struct_80045714 *b, f32 c, f32 *d, s16 e) f32 temp_ret; PosRot *temp_s1; f32 sp48; - Vec3f sp3C; // unused + s32 pad[2]; sp60.y = func_8002DC84(camera->player) + c; sp60.x = 0.0f; @@ -631,7 +629,6 @@ s32 func_80045C74(Camera *camera, struct_80045714 *b, f32 c, f32 *d, s16 arg4) phi_f16 = 1.0f - sinf(OREG(33) * (M_PI / 180) - temp_ret_3); else phi_f16 = 1.0f; - } sp70.y -= temp * phi_f16; } @@ -881,51 +878,43 @@ void Camera_Vec3fCopy(Vec3f *src, Vec3f *dst) // 225 lines #pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_80057C6C.s") -#ifdef NON_MATCHING -// still needs a bit of work, but should be functionally equivalent +s32 func_8005AD40(Camera *camera, s32 a, s16 b, f32 c, s16 d, s16 e, s16 f); + void func_80057FC4(Camera *camera) { if (camera != &camera->globalCtx->cameraCtx.activeCameras[0]) { - camera->unk_142 = 33; + camera->unk_154 = camera->unk_142 = 33; camera->unk_14C &= ~0x4; - camera->unk_154 = camera->unk_142; // compiler uses the same temp reg, but it should load from 142 right after being saved to - // maybe try camera->unk_154 = camera->unk_142 = 33 and make them have differing signs? - return; } - // try putting these in a bunch of if else statements - if (*camera->globalCtx->roomCtx.curRoom.unk_08 != 1) + else if (camera->globalCtx->roomCtx.curRoom.mesh->polygon.type != 1) { - if (camera->globalCtx->roomCtx.curRoom.unk_03 != 0) + switch (camera->globalCtx->roomCtx.curRoom.unk_03) { - if (camera->globalCtx->roomCtx.curRoom.unk_03 == 1) - { + case 1: func_8005AD40(camera, 0, -99, 0, 0, 18, 10); - camera->unk_142 = 3; - camera->unk_154 = camera->unk_142; - return; - } - osSyncPrintf("camera: room type: default set etc (%d)\n", camera->globalCtx->roomCtx.curRoom.unk_03); - func_8005AD40(camera, 0, -99, 0, 0, 18, 10); - camera->unk_142 = 1; - camera->unk_154 = camera->unk_142; - return; + camera->unk_154 = camera->unk_142 = 3; + break; + case 0: + osSyncPrintf("camera: room type: default set field\n"); + func_8005AD40(camera, 0, -99, 0, 0, 18, 10); + camera->unk_154 = camera->unk_142 = 1; + break; + default: + osSyncPrintf("camera: room type: default set etc (%d)\n", camera->globalCtx->roomCtx.curRoom.unk_03); + func_8005AD40(camera, 0, -99, 0, 0, 18, 10); + camera->unk_154 = camera->unk_142 = 1; + camera->unk_14C |= 4; + break; } - osSyncPrintf("camera: room type: default set field\n"); - func_8005AD40(camera, 0, -99, 0, 0, 18, 10); - camera->unk_142 = 1; - camera->unk_14C |= 4; - camera->unk_154 = camera->unk_142; - return; } - osSyncPrintf("camera: room type: prerender\n"); - camera->unk_142 = 0x21; - camera->unk_14C &= 0xfffb; - camera->unk_154 = camera->unk_142; + else + { + osSyncPrintf("camera: room type: prerender\n"); + camera->unk_154 = camera->unk_142 = 33; + camera->unk_14C &= ~0x4; + } } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_80057FC4.s") -#endif void Camera_Stub80058140(Camera *camera) { @@ -1093,7 +1082,7 @@ s16 func_8005AD1C(Camera *camera, s16 b) return camera->unk_14C; } -s32 func_8005AD40(Camera *camera, s32 a, s16 b, s16 c, s16 d, s16 e, s16 f) +s32 func_8005AD40(Camera *camera, s32 a, s16 b, f32 c, s16 d, s16 e, s16 f) { if ((camera->unk_142 == 43) || (camera->unk_142 == 29)) return 0; diff --git a/src/code/z_cheap_proc.c b/src/code/z_cheap_proc.c new file mode 100644 index 0000000000..48fd9b32a6 --- /dev/null +++ b/src/code/z_cheap_proc.c @@ -0,0 +1,30 @@ +#include +#include + +void Draw_DListOpa(GlobalContext* globalCtx, u32 dlist) +{ + GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; + Gfx* gfxArr[4]; + + func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_cheap_proc.c", 214); + + func_80093D18(globalCtx->state.gfxCtx); + gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_cheap_proc.c", 216), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPDisplayList(gfxCtx->polyOpa.p++, dlist); + + func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_cheap_proc.c", 219); +} + +void Draw_DListXlu(GlobalContext* globalCtx, u32 dlist) +{ + GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; + Gfx* gfxArr[4]; + + func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_cheap_proc.c", 228); + + func_80093D84(globalCtx->state.gfxCtx); + gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_cheap_proc.c", 230), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPDisplayList(gfxCtx->polyXlu.p++, dlist); + + func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_cheap_proc.c", 233); +} diff --git a/src/overlays/actors/ovl_Demo_Go/z_demo_go.c b/src/overlays/actors/ovl_Demo_Go/z_demo_go.c index 4ed28c7486..caafd18e0e 100644 --- a/src/overlays/actors/ovl_Demo_Go/z_demo_go.c +++ b/src/overlays/actors/ovl_Demo_Go/z_demo_go.c @@ -6,6 +6,8 @@ #include "z_demo_go.h" +#include + #define ROOM 0x00 #define FLAGS 0x00000010 @@ -25,7 +27,7 @@ void func_8097D130(DemoGo* this, GlobalContext* globalCtx); void func_8097D290(DemoGo* this, GlobalContext* globalCtx); void func_8097D29C(DemoGo* this, GlobalContext* globalCtx); -u32 D_8097D440[] = {0x0600CE80, 0x0600D280, 0x0600D680}; +UNK_PTR D_8097D440[] = {0x0600CE80, 0x0600D280, 0x0600D680}; ActorFunc D_8097D44C[] = { @@ -58,9 +60,10 @@ const ActorInit Demo_Go_InitVars = (ActorFunc)DemoGo_Draw, }; -extern u32 D_060029A8; -extern u32 D_0600FEF0; -extern u32 D_06004930; +extern UNK_TYPE D_060029A8; +extern UNK_TYPE D_06004930; +extern UNK_TYPE D_0600E680; +extern UNK_TYPE D_0600FEF0; UNK_TYPE func_8097C870(DemoGo *this) { @@ -149,33 +152,36 @@ void func_8097CA78(DemoGo* this, GlobalContext* globalCtx) func_8097C9B8(this); } -// Not equivalent, I believe in part due to actorAction->endPos being the wrong type, holding floats instead of ints -#ifdef NON_MATCHING -void func_8097CB0C(DemoGo* this, GlobalContext* globalCtx) { +void func_8097CB0C(DemoGo* this, GlobalContext* globalCtx) +{ Actor* thisx = &this->actor; + PosRot* posRot = &thisx->posRot; CutsceneContext* csCtx = &globalCtx->csCtx; - Vec3f startPos; - f32 temp_ret; CsCmdActorAction* actorAction; + f32 temp_ret; + s32 pad; + Vec3f startPos; + Vec3f endPos; if (globalCtx->csCtx.state != 0) { actorAction = csCtx->actorActions[func_8097C870(this)]; - if (actorAction != 0) + if (actorAction != NULL) { temp_ret = func_8006F93C(actorAction->endFrame, actorAction->startFrame, csCtx->frames); - startPos = actorAction->startPos; - thisx->posRot.pos.x = (((actorAction->endPos.x - startPos.x) * temp_ret) + startPos.x); - thisx->posRot.pos.y = (((actorAction->endPos.y - startPos.y) * temp_ret) + startPos.y); - thisx->posRot.pos.z = (((actorAction->endPos.z - startPos.z) * temp_ret) + startPos.z); - thisx->shape.rot.y = actorAction->rot.y; - thisx->posRot.rot.y = actorAction->rot.y; + startPos.x = actorAction->startPos.x; + startPos.y = actorAction->startPos.y; + startPos.z = actorAction->startPos.z; + endPos.x = actorAction->endPos.x; + endPos.y = actorAction->endPos.y; + endPos.z = actorAction->endPos.z; + posRot->pos.x = (((endPos.x - startPos.x) * temp_ret) + startPos.x); + posRot->pos.y = (((endPos.y - startPos.y) * temp_ret) + startPos.y); + posRot->pos.z = (((endPos.z - startPos.z) * temp_ret) + startPos.z); + posRot->rot.y = thisx->shape.rot.y = actorAction->rot.y; } } } -#else -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Go/func_8097CB0C.s") -#endif void func_8097CC08(DemoGo* this) { @@ -207,7 +213,7 @@ void func_8097CCE0(DemoGo* this, GlobalContext* globalCtx) if (globalCtx->csCtx.state != 0) { actorAction = globalCtx->csCtx.actorActions[func_8097C870(this)]; - if (actorAction != 0) + if (actorAction != NULL) { thisRotY = thisx->posRot.rot.y; rotYDelta = actorAction->rot.y - thisRotY; @@ -234,15 +240,15 @@ UNK_TYPE DemoGo_FrameUpdateMatrix(DemoGo* this) return SkelAnime_FrameUpdateMatrix(&this->skelAnime); } -// This is probably at least close to equivalent but not necessarily so #ifdef NON_MATCHING -UNK_TYPE func_8097CDB0(DemoGo* this, GlobalContext* globalCtx, u16 csCmdActorAction) +// return value isn't produced in the same way +s32 func_8097CDB0(DemoGo* this, GlobalContext* globalCtx, u16 csCmdActorAction) { CutsceneContext* csCtx = &globalCtx->csCtx; CsCmdActorAction* actorAction = csCtx->actorActions[func_8097C870(this)]; if (csCtx->state != 0) { - if (actorAction != 0 && actorAction->action == csCmdActorAction) + if (actorAction != NULL && actorAction->action == csCmdActorAction) { return 1; } @@ -277,7 +283,7 @@ void func_8097CE78(DemoGo* this, GlobalContext* globalCtx) if (globalCtx->csCtx.state != 0) { actorAction = csCtx->actorActions[func_8097C870(this)]; - if (actorAction != 0 && csCtx->frames >= actorAction->endFrame) + if (actorAction != NULL && csCtx->frames >= actorAction->endFrame) { func_8097CA78(this, globalCtx); this->action = 3; @@ -369,7 +375,7 @@ void DemoGo_Update(DemoGo* this, GlobalContext* globalCtx) { if (this->action < 0 || this->action >= 7 || D_8097D44C[this->action] == 0) { - osSyncPrintf("メインモードがおかしい!!!!!!!!!!!!!!!!!!!!!!!!!\n"); + osSyncPrintf(VT_FGCOL(RED) "メインモードがおかしい!!!!!!!!!!!!!!!!!!!!!!!!!\n" VT_RST); return; } D_8097D44C[this->action](this, globalCtx); @@ -391,32 +397,31 @@ void func_8097D290(DemoGo* this, GlobalContext* globalCtx) } -// Not equivalent yet - the gSPSegment calls are probably the main issue -#ifdef NON_MATCHING -extern u32 D_0600E680; void func_8097D29C(DemoGo* this, GlobalContext* globalCtx) { - u32 addr = D_8097D440[this->unk_190]; - GraphicsContext* gfxCtx = &globalCtx->state.gfxCtx; + s32 pad; + s16 temp = this->unk_190; + SkelAnime* skelAnime = &this->skelAnime; + void* srcSegment8 = D_8097D440[temp]; + void* srcSegment9 = &D_0600E680; + GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; Gfx* gfxArr[4]; func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_demo_go.c", 732); + func_80093D18(globalCtx->state.gfxCtx); + gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(srcSegment8)); + gSPSegment(gfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(srcSegment9)); - gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(addr)); - gSPSegment(gfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(D_0600E680)); + func_800A1AC8(globalCtx, skelAnime->limbIndex, skelAnime->actorDrawTbl, skelAnime->dListCount, NULL, NULL, &this->actor); - func_800A1AC8(globalCtx, this->skelAnime.limbIndex, this->skelAnime.actorDrawTbl, this->skelAnime.dListCount, 0, 0, &this->actor); func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_demo_go.c", 746); } -#else -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Go/func_8097D29C.s") -#endif void DemoGo_Draw(DemoGo* this, GlobalContext* globalCtx) { if (this->drawConfig < 0 || this->drawConfig >= 2 || D_8097D468[this->drawConfig] == 0) { - osSyncPrintf("描画モードがおかしい!!!!!!!!!!!!!!!!!!!!!!!!!\n"); + osSyncPrintf(VT_FGCOL(RED) "描画モードがおかしい!!!!!!!!!!!!!!!!!!!!!!!!!\n" VT_RST); return; } D_8097D468[this->drawConfig](this, globalCtx); diff --git a/src/overlays/actors/ovl_Demo_Go/z_demo_go.h b/src/overlays/actors/ovl_Demo_Go/z_demo_go.h index bc8ae977c0..6eb7a02107 100644 --- a/src/overlays/actors/ovl_Demo_Go/z_demo_go.h +++ b/src/overlays/actors/ovl_Demo_Go/z_demo_go.h @@ -8,7 +8,6 @@ typedef struct { /* 0x0000 */ Actor actor; /* 0x014C */ SkelAnime skelAnime; - /* 0x018C */ char unk_18C[0x4]; /* 0x0190 */ s16 unk_190; /* 0x0192 */ s16 unk_192; /* 0x0194 */ s32 action; diff --git a/src/overlays/actors/ovl_Door_Ana/z_door_ana.c b/src/overlays/actors/ovl_Door_Ana/z_door_ana.c index c2a0716d72..53641c4f19 100644 --- a/src/overlays/actors/ovl_Door_Ana/z_door_ana.c +++ b/src/overlays/actors/ovl_Door_Ana/z_door_ana.c @@ -1,14 +1,25 @@ +/* + * File: z_door_ana.c + * Overlay: ovl_Door_Ana + * Description: Grottos Entrances/Exits +*/ + #include "z_door_ana.h" #define ROOM 0x00 #define FLAGS 0x02000000 -void DoorAna_Init(DoorAna* this, GlobalContext* globalCtx); -void DoorAna_Destroy(DoorAna* this, GlobalContext* globalCtx); -void DoorAna_Update(DoorAna* this, GlobalContext* globalCtx); -void DoorAna_Draw(DoorAna* this, GlobalContext* globalCtx); +static void DoorAna_Init(DoorAna* this, GlobalContext* globalCtx); +static void DoorAna_Destroy(DoorAna* this, GlobalContext* globalCtx); +static void DoorAna_Update(DoorAna* this, GlobalContext* globalCtx); +static void DoorAna_Draw(DoorAna* this, GlobalContext* globalCtx); + +static void DoorAna_SetupAction(DoorAna* this, ActorFunc func); + +static void DoorAna_Update_Hidden(DoorAna* this, GlobalContext* globalCtx); +static void DoorAna_Update_Open(DoorAna* this, GlobalContext* globalCtx); +static void DoorAna_Update_Entering(DoorAna* this, GlobalContext* globalCtx); -/* const ActorInit Door_Ana_InitVars = { ACTOR_DOOR_ANA, @@ -22,19 +33,186 @@ const ActorInit Door_Ana_InitVars = (ActorFunc)DoorAna_Update, (ActorFunc)DoorAna_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Ana/func_80993EF0.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Ana/DoorAna_Init.s") +// initial collision data +static ColliderCylinderInit colliderInit = +{ + 0x0A, 0x00, 0x09, 0x00, + 0x00, 0x01, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, + 0x00000000, 0x00, 0x00, + 0x00, 0x00, 0x00000048, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, + 0x0032, 0x000A, 0x0000, + 0x0000, 0x0000, 0x0000 +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Ana/DoorAna_Destroy.s") +// array of entrance table entries to grotto destinations +static s16 entrances[] = { + 0x036D, 0x003F, 0x0598, 0x059C, + 0x05A0, 0x05A4, 0x05A8, 0x05AC, + 0x05B0, 0x05B4, 0x05B8, 0x05BC, + 0x05C0, 0x05C4, 0x05FC +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Ana/func_80993FEC.s") +// display list +extern Gfx* D_05001390; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Ana/func_80994124.s") +// sets current actionFunc to be ran on next update call +static void DoorAna_SetupAction(DoorAna* this, ActorFunc func) +{ + this->actionFunc = func; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Ana/func_809942D8.s") +static void DoorAna_Init(DoorAna* this, GlobalContext* globalCtx) +{ + ColliderCylinderMain* collider; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Ana/DoorAna_Update.s") + this->actor.shape.rot.z = 0; + this->actor.shape.rot.y = this->actor.shape.rot.z; + // init block for grottos that are initially "hidden" (require explosives/hammer/song of storms to open) + if ((this->actor.params & 0x300) != 0) + { + // only allocate collider for grottos that need bombing/hammering open + if ((this->actor.params & 0x200) != 0) + { + collider = &this->collider; + ActorCollider_AllocCylinder(globalCtx, collider); + ActorCollider_InitCylinder(globalCtx, collider, &this->actor, &colliderInit); + } + else + { + this->actor.flags |= 0x10; + } + Actor_SetScale(&this->actor, 0); + DoorAna_SetupAction(this, (ActorFunc)&DoorAna_Update_Hidden); + } + else + { + DoorAna_SetupAction(this, (ActorFunc)&DoorAna_Update_Open); + } + this->actor.unk_1F = 0; + +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Ana/DoorAna_Draw.s") +static void DoorAna_Destroy(DoorAna* this, GlobalContext* globalCtx) +{ + // free collider if it has one + if ((this->actor.params & 0x200) != 0) + { + ActorCollider_FreeCylinder(globalCtx, &this->collider); + } +} + +// update routine for grottos that are currently "hidden"/unopened +static void DoorAna_Update_Hidden(DoorAna* this, GlobalContext* globalCtx) +{ + bool openGrotto = false; + if ((this->actor.params & 0x200) == 0) + { + // opening with song of storms + if (this->actor.waterSurfaceDist < 40000.0f && func_8006C4A4(globalCtx, 5) != 0) + { + openGrotto = true; + this->actor.flags &= ~0x10; + } + } + else + { + // bombing/hammering open a grotto + if ((this->collider.base.collideFlags & 2) != 0) + { + openGrotto = true; + ActorCollider_FreeCylinder(globalCtx, &this->collider); + } + else + { + ActorCollider_Cylinder_Update(&this->actor, &this->collider); + Actor_CollisionCheck_SetAC(globalCtx, &globalCtx->sub_11E60, &this->collider); + } + } + // open the grotto + if (openGrotto) + { + this->actor.params &= ~0x0300; + DoorAna_SetupAction(this, (ActorFunc)&DoorAna_Update_Open); + Audio_PlaySoundGeneral(NA_SE_SY_CORRECT_CHIME, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } + func_8002F5F0(&this->actor, globalCtx); +} + +// update routine for grottos that are open +static void DoorAna_Update_Open(DoorAna* this, GlobalContext* globalCtx) +{ + Player* player; + s32 destinationIdx; + + player = PLAYER; + if (Math_ApproxF(&this->actor.scale.x, 0.01f, 0.001f) != 0) + { + if ((this->actor.unk_1F != 0) && (globalCtx->sceneLoadFlag == 0) && + (player->stateFlags1 & 0x80000000) && (player->unk_84F == 0)) + { + destinationIdx = ((this->actor.params >> 0xC) & 7) - 1; + func_800C0AF4(globalCtx, 1, 0x4FF); + gSaveContext.respawn[RESPAWN_MODE_RETURN].pos.y = this->actor.posRot.pos.y; + gSaveContext.respawn[RESPAWN_MODE_RETURN].yaw = this->actor.initPosRot.rot.y; + gSaveContext.respawn[RESPAWN_MODE_RETURN].data = this->actor.params & 0xFFFF; + if (destinationIdx < 0) + { + destinationIdx = this->actor.initPosRot.rot.z + 1; + } + globalCtx->nextEntranceIndex = entrances[destinationIdx]; + DoorAna_SetupAction(this, (ActorFunc)&DoorAna_Update_Entering); + } + else + { + if (func_8008E988(globalCtx) == 0 && !(player->stateFlags1 & 0x8800000) && + this->actor.xzDistanceFromLink <= 15.0f && -50.0f <= this->actor.yDistanceFromLink && + this->actor.yDistanceFromLink <= 15.0f) + { + player->stateFlags1 |= 0x80000000; + this->actor.unk_1F = 1; + } + else + { + this->actor.unk_1F = 0; + } + } + } + Actor_SetScale(&this->actor, this->actor.scale.x); +} + +// update function for after the player has triggered the grotto +static void DoorAna_Update_Entering(DoorAna* this, GlobalContext* globalCtx) +{ + Player* player; + + if (this->actor.yDistanceFromLink <= 0.0f && 15.0f < this->actor.xzDistanceFromLink) + { + player = PLAYER; + player->actor.posRot.pos.x = Math_Sins(this->actor.rotTowardsLinkY) * 15.0f + this->actor.posRot.pos.x; + player->actor.posRot.pos.z = Math_Coss(this->actor.rotTowardsLinkY) * 15.0f + this->actor.posRot.pos.z; + } +} + +static void DoorAna_Update(DoorAna* this, GlobalContext* globalCtx) +{ + this->actionFunc(this, globalCtx); + // changes the grottos facing angle based on camera angle + this->actor.shape.rot.y = func_8005A9F4(globalCtx->cameraCtx.activeCameraPtrs[globalCtx->cameraCtx.unk_5C0]) + 0x8000; +} + +static void DoorAna_Draw(DoorAna* this, GlobalContext* globalCtx) +{ + GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; + Gfx** dList = &D_05001390; // required for stack placement? + Gfx* gfxArr[3]; + + func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_door_ana.c", 440); + func_80093D84(globalCtx->state.gfxCtx); + gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_door_ana.c", 446), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gfxCtx->polyXlu.p++, dList); + func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_door_ana.c", 449); +} \ No newline at end of file diff --git a/src/overlays/actors/ovl_Door_Ana/z_door_ana.h b/src/overlays/actors/ovl_Door_Ana/z_door_ana.h index db3fd5aa26..d80dc2c275 100644 --- a/src/overlays/actors/ovl_Door_Ana/z_door_ana.h +++ b/src/overlays/actors/ovl_Door_Ana/z_door_ana.h @@ -7,7 +7,8 @@ typedef struct { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x50]; + /* 0x014C */ ColliderCylinderMain collider; + /* 0x0198 */ ActorFunc actionFunc; } DoorAna; // size = 0x019C extern const ActorInit Door_Ana_InitVars; diff --git a/src/overlays/actors/ovl_En_Anubice_Tag/z_en_anubice_tag.c b/src/overlays/actors/ovl_En_Anubice_Tag/z_en_anubice_tag.c index 8ea7fe4b45..9fb9bed6b6 100644 --- a/src/overlays/actors/ovl_En_Anubice_Tag/z_en_anubice_tag.c +++ b/src/overlays/actors/ovl_En_Anubice_Tag/z_en_anubice_tag.c @@ -7,6 +7,8 @@ #include #include +#include + //temp struct until we can reference other actors outside of their file typedef struct { @@ -56,7 +58,7 @@ static void EnAnubiceTag_Init(EnAnubiceTag* this, GlobalContext* globalCtx) { osSyncPrintf("\n\n"); //"Anubis control tag generated" - osSyncPrintf("☆☆☆☆☆ アヌビス制御タグ発生 ☆☆☆☆☆ %d\n", this->actor.params); + osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ アヌビス制御タグ発生 ☆☆☆☆☆ %d\n" VT_RST, this->actor.params); if (this->actor.params < (s16)0xFFFF) { diff --git a/src/overlays/actors/ovl_En_Bird/z_en_bird.c b/src/overlays/actors/ovl_En_Bird/z_en_bird.c index af726a6d68..4b355e81f2 100644 --- a/src/overlays/actors/ovl_En_Bird/z_en_bird.c +++ b/src/overlays/actors/ovl_En_Bird/z_en_bird.c @@ -11,7 +11,6 @@ typedef struct { /* 0x0000 */ Actor actor; /* 0x014C */ SkelAnime skelAnime; - /* 0x018C */ char unk_18C[0x4]; /* 0x0190 */ ActorFunc updateFunc; /* 0x0194 */ u32 unk_194; /* 0x0198 */ s32 unk_198; diff --git a/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.c b/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.c index 4ae592df73..9b472b44d7 100644 --- a/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.c +++ b/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.c @@ -1,14 +1,19 @@ +/* + * File: z_en_lightbox.c + * Overlay: ovl_En_Lightbox + * Description: +*/ + #include "z_en_lightbox.h" #define ROOM 0x00 #define FLAGS 0x00000010 -void EnLightbox_Init(EnLightbox* this, GlobalContext* globalCtx); -void EnLightbox_Destroy(EnLightbox* this, GlobalContext* globalCtx); -void EnLightbox_Update(EnLightbox* this, GlobalContext* globalCtx); -void EnLightbox_Draw(EnLightbox* this, GlobalContext* globalCtx); +static void EnLightbox_Init(EnLightbox* this, GlobalContext* globalCtx); +static void EnLightbox_Destroy(EnLightbox* this, GlobalContext* globalCtx); +static void EnLightbox_Update(EnLightbox* this, GlobalContext* globalCtx); +static void EnLightbox_Draw(EnLightbox* this, GlobalContext* globalCtx); -/* const ActorInit En_Lightbox_InitVars = { ACTOR_EN_LIGHTBOX, @@ -22,11 +27,105 @@ const ActorInit En_Lightbox_InitVars = (ActorFunc)EnLightbox_Update, (ActorFunc)EnLightbox_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Init.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Destroy.s") +extern u32 D_06000B70; +extern u32 D_06001F10; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Update.s") +static void EnLightbox_Init(EnLightbox* this, GlobalContext* globalCtx) +{ + u32 local_c = 0; + Actor* thisx = &this->dyna.actor; + s32 pad[4]; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Draw.s") + switch(thisx->params){ + case 0: + Actor_SetScale(thisx, 0.025f); + break; + case 1: + Actor_SetScale(thisx, 0.05f); + break; + case 2: + Actor_SetScale(thisx, 0.075f); + break; + case 3: + Actor_SetScale(thisx, 0.1f); + default: + break; + } + + thisx->posRot2.pos = thisx->posRot.pos; + thisx->sub_98.unk_10 = 0x1E; + thisx->sub_98.unk_12 = 0x32; + ActorShape_Init(&thisx->shape, 0.0f, ActorShadow_DrawFunc_Circle, 6.0f); + this->dyna.unk_160 = 0; + this->dyna.unk_15C = 0; + thisx->unk_1F = 0; + thisx->gravity = -2.0f; + DynaPolyInfo_Alloc(&D_06001F10, &local_c); + this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, thisx, local_c); +} + +static void EnLightbox_Destroy(EnLightbox* this, GlobalContext* globalCtx) +{ + DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId); +} + +static void EnLightbox_Update(EnLightbox* this, GlobalContext* globalCtx) +{ + Actor* thisx = &this->dyna.actor; + + if (this->dyna.unk_162 != 0) + { + if (func_8002F5A0(thisx, globalCtx)) + { + this->dyna.unk_162 = 0; + } + } + else + { + if (func_8002F410(thisx, globalCtx)) + { + this->dyna.unk_162++; + } + else + { + if (thisx->speedXZ) + { + if (thisx->bgCheckFlags & 8) + { + thisx->posRot.rot.y = (thisx->posRot.rot.y + thisx->unk_7E) - thisx->posRot.rot.y; + Audio_PlaySoundGeneral(NA_SE_EV_BOMB_BOUND, &thisx->unk_E4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + thisx->speedXZ *= 0.7f; + thisx->bgCheckFlags &= ~0x8; + } + } + + if ((thisx->bgCheckFlags & 1) == 0) + { + Math_ApproxF(&thisx->speedXZ, 0, IREG(57) / 100.0f); + } + else + { + Math_ApproxF(&thisx->speedXZ, 0, IREG(58) / 100.0f); + if ((thisx->bgCheckFlags & 2) && (thisx->velocity.y < IREG(59) / 100.0f)) + { + Audio_PlaySoundGeneral(NA_SE_EV_BOMB_BOUND, &thisx->unk_E4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + thisx->velocity.y *= IREG(60) / 100.0f; + thisx->bgCheckFlags &= ~0x1; + } + else + { + func_8002F580(thisx, globalCtx); + } + } + } + } + Actor_MoveForward(thisx); + func_8002E4B4(globalCtx, thisx, thisx->sub_98.unk_12, thisx->sub_98.unk_10, thisx->sub_98.unk_10, 0x1D); + thisx->posRot2.pos = thisx->posRot.pos; +} + +static void EnLightbox_Draw(EnLightbox* this, GlobalContext* globalCtx) +{ + Draw_DListOpa(globalCtx, &D_06000B70); +} diff --git a/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.h b/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.h index 29bdf530bb..13ad74109c 100644 --- a/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.h +++ b/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.h @@ -6,8 +6,7 @@ typedef struct { - /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x18]; + /* 0x0000 */ DynaPolyActor dyna; } EnLightbox; // size = 0x0164 extern const ActorInit En_Lightbox_InitVars; diff --git a/src/overlays/actors/ovl_En_Ms/z_en_ms.c b/src/overlays/actors/ovl_En_Ms/z_en_ms.c index 3c20bd1b1b..950bfea3d9 100644 --- a/src/overlays/actors/ovl_En_Ms/z_en_ms.c +++ b/src/overlays/actors/ovl_En_Ms/z_en_ms.c @@ -11,7 +11,6 @@ typedef struct { /* 0x0000 */ Actor actor; /* 0x014C */ SkelAnime skelAnime; - /* 0x018C */ char unk_18C[0x4]; /* 0x0190 */ UNK_PTR unkSkelAnimeStruct; /* 0x0194 */ char unk_194[0x32]; /* 0x01C6 */ s16 unk_1C6; diff --git a/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.c b/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.c index 4812ca329e..4f1a2e58d4 100644 --- a/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.c +++ b/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.c @@ -7,6 +7,8 @@ #include #include +#include + typedef struct { /* 0x0000 */ Actor actor; @@ -58,7 +60,7 @@ static void EnOkarinaEffect_Init(EnOkarinaEffect* this, GlobalContext* globalCtx { osSyncPrintf("\n\n"); //"Ocarina Storm Effect" - osSyncPrintf("☆☆☆☆☆ オカリナあらし効果ビカビカビカ〜 ☆☆☆☆☆ \n"); + osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ オカリナあらし効果ビカビカビカ〜 ☆☆☆☆☆ \n" VT_RST); osSyncPrintf("\n\n"); if (globalCtx->unk_10B12[1] != 0) { diff --git a/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.c b/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.c index 712272eed5..26431fc665 100644 --- a/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.c +++ b/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.c @@ -4,24 +4,16 @@ * Description: Flying pot enemy */ -#include -#include +#include "z_en_tubo_trap.h" -typedef struct -{ - /* 0x0000 */ Actor actor; - /* 0x014C */ ActorFunc playfunc; - /* 0x0150 */ f32 pos_y_seek; - /* 0x0154 */ Vec3f pos_init; - /* 0x0160 */ ColliderCylinderMain capsule; -} EnTuboTrap; // size = 0x01AC +#include void EnTuboTrap_Init(EnTuboTrap* this, GlobalContext* globalCtx); void EnTuboTrap_Destroy(EnTuboTrap* this, GlobalContext* globalCtx); void EnTuboTrap_Update(EnTuboTrap* this, GlobalContext* globalCtx); void EnTuboTrap_Draw(EnTuboTrap* this, GlobalContext* globalCtx); -void EnTuboTrap_TestLevitate(EnTuboTrap* this, GlobalContext* globalCtx); -void EnTuboTrap_InitializeAttack(EnTuboTrap* this, GlobalContext* globalCtx); +void EnTuboTrap_WaitForProximity(EnTuboTrap* this, GlobalContext* globalCtx); +void EnTuboTrap_Levitate(EnTuboTrap* this, GlobalContext* globalCtx); void EnTuboTrap_Fly(EnTuboTrap* this, GlobalContext* globalCtx); #define ROOM 0x00 @@ -44,7 +36,7 @@ static ColliderCylinderInit cylinderInitData = 0x0000, 0x0000, 0x0000 }; -ActorInit En_Tubo_Trap_InitVars = +const ActorInit En_Tubo_Trap_InitVars = { ACTOR_EN_TUBO_TRAP, ACTORTYPE_PROP, @@ -58,321 +50,277 @@ ActorInit En_Tubo_Trap_InitVars = (ActorFunc)EnTuboTrap_Draw, }; -extern u32 DL_SHARD; -extern u32 DL_TUBO; +extern UNK_TYPE D_05017A60; +extern Gfx D_05017870[]; void EnTuboTrap_Init(EnTuboTrap* this, GlobalContext* globalCtx) { s32 pad; ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 2.0f); osSyncPrintf("\n\n"); - osSyncPrintf("\x1b[32m☆☆☆☆☆ 壷トラップ ☆☆☆☆☆ %x\n\x1b[m", this->actor.params); - ActorCollider_AllocCylinder(globalCtx, &this->capsule); - ActorCollider_InitCylinder(globalCtx, &this->capsule, &this->actor, &cylinderInitData); + osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 壷トラップ ☆☆☆☆☆ %x\n" VT_RST, this->actor.params); // "Urn Trap" + ActorCollider_AllocCylinder(globalCtx, &this->collider); + ActorCollider_InitCylinder(globalCtx, &this->collider, &this->actor, &cylinderInitData); Actor_SetScale(&this->actor, 0.1f); - this->playfunc = (ActorFunc*)EnTuboTrap_TestLevitate; + this->actionFunc = (ActorFunc)EnTuboTrap_WaitForProximity; } void EnTuboTrap_Destroy(EnTuboTrap* this, GlobalContext* globalCtx) { - ColliderCylinderMain* capsule = &this->capsule; - ActorCollider_FreeCylinder(globalCtx, capsule); + ColliderCylinderMain* collider = &this->collider; + ActorCollider_FreeCylinder(globalCtx, collider); } void EnTuboTrap_DropCollectible(EnTuboTrap* this, GlobalContext* globalCtx) { s16 params = this->actor.params; - s16 param1 = (params >> 6) & 0x03FF; - if (param1 >= 0 && param1 < 0x1A) + s16 param3FF = (params >> 6) & 0x3FF; + if (param3FF >= 0 && param3FF < 0x1A) { - Item_DropCollectible(globalCtx, &this->actor.posRot, param1 | ((params & 0x03F) << 8)); + Item_DropCollectible(globalCtx, &this->actor.posRot, param3FF | ((params & 0x3F) << 8)); } } #ifdef NON_MATCHING -void EnTuboTrap_Fragments(EnTuboTrap* this, GlobalContext* globalCtx) +// regalloc and stack usage differences, most likely the same differences as EnTuboTrap_SpawnWaterFragments +void EnTuboTrap_SpawnFragments(EnTuboTrap* this, GlobalContext* globalCtx) { - u32 uVar1; - s32 rando_seed = 0; - s32 shard_count = 0; + Vec3f* actorPos; + f32 rand; + f32 cos; + f32 sin; + u32 addr; + Vec3f spC8; + Vec3f spBC; + s16 var; + s32 temp; + s32 i; - /* spawn fragments */ - do + addr = &D_05017A60; + actorPos = &this->actor.posRot.pos; + + for (i = 0, var = 0; i < 15; i++, var += 20000) { - Vec3f burst_depth[2]; - f32 rng; + sin = Math_Sins(var); + cos = Math_Coss(var); + spC8.x = sin * 8.0f; + spC8.y = (Math_Rand_ZeroOne() * 5.0f) + 2.0f; + spC8.z = cos * 8.0f; - /* burst_depth_x */ - burst_depth[0].x = Math_Sins(rando_seed) * 8.0f; - burst_depth[0].y = (Math_Rand_ZeroOne() * 5.0f) + 2.0f; - burst_depth[0].z = Math_Coss(rando_seed) * 8.0f; + spBC.x = spC8.x * 0.23f; + spBC.y = (Math_Rand_ZeroOne() * 5.0f) + 2.0f; + spBC.z = spC8.z * 0.23f; - /* burst_depth_y */ - burst_depth[1].x = (f32)(burst_depth[0].x * 0.23f); - burst_depth[1].y = (f32)(Math_Rand_ZeroOne() * 5.0f) + 2.0f; - burst_depth[1].z = (f32)(burst_depth[0].z * 0.23f); + spC8.x += actorPos->x; + spC8.y += actorPos->y; + spC8.z += actorPos->z; - VEC3_ADD(burst_depth[0], this->actor.posRot.pos) - - rng = Math_Rand_ZeroOne(); - - if (rng < 0.2f) - { - uVar1 = 0x60; - } + rand = Math_Rand_ZeroOne(); + if (rand < 0.2f) + temp = 96; + else if (rand < 0.6f) + temp = 64; else - { - uVar1 = 0x20; + temp = 32; - if (rng < 0.6f) - { - uVar1 = 0x40; - } - } - - /* The Heavy Lifting */ - Effect_SpawnFragment(globalCtx, &burst_depth[0], &burst_depth[1], &this->actor.posRot.pos, -239, uVar1, 10, 10, 0, - (Math_Rand_ZeroOne() * 65.0f) + 15.0f, 0, 0x20, 0x3C, -1, 3, DL_SHARD); - - shard_count++; - rando_seed = (s32)((rando_seed + 0x4E20) * 0x10000) >> 0x10; + Effect_SpawnFragment(globalCtx, &spC8, &spBC, actorPos, -240, temp, 10, 10, 0, + (Math_Rand_ZeroOne() * 65.0f) + 15.0f, 0, 32, 60, -1, 3, addr); } - while(shard_count != 15); - func_80033480(globalCtx, &this->actor.posRot.pos, 30.0f, 4, 20, 50, 0); + func_80033480(globalCtx, actorPos, 30.0f, 4, 20, 50, 0); } #else -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_Fragments.s") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_SpawnFragments.s") #endif #ifdef NON_MATCHING -void EnTuboTrap_FragmentsWater(EnTuboTrap* this, GlobalContext* globalCtx) +// regalloc and stack usage differences, most likely the same differences as EnTuboTrap_SpawnFragments +void EnTuboTrap_SpawnWaterFragments(EnTuboTrap* this, GlobalContext* globalCtx) { - u32 uVar1; - s32 rando_seed = 0; - s32 shard_count = 0; - Vec3f burst_depth[2]; - f32 rng; + Vec3f* actorPos; + f32 rand; + f32 cos; + f32 sin; + u32 addr; + Vec3f spC8; + Vec3f spBC; + s16 var; + s32 temp; + s32 i; - Math_Vec3f_Copy(&burst_depth[0], &this->actor.posRot.pos); - burst_depth[0].y += this->actor.waterSurfaceDist; + addr = &D_05017A60; + actorPos = &this->actor.posRot.pos; - /* spawn a small splash */ - func_8002949C(globalCtx, &burst_depth[0], 0, 0, 0, 0x190); + spC8 = *actorPos; + spC8.y += this->actor.unk_84; - /* spawn fragments */ - do + func_8002949C(globalCtx, &spC8, 0, 0, 0, 400); + + for (i = 0, var = 0; i < 15; i++, var += 20000) { - /* burst_depth_x */ - burst_depth[0].x = Math_Sins(rando_seed) * 8.0f; - burst_depth[0].y = (Math_Rand_ZeroOne() * 5.0f) + 2.0f; - burst_depth[0].z = Math_Coss(rando_seed) * 8.0f; + sin = Math_Sins(var); + cos = Math_Coss(var); + spC8.x = sin * 8.0f; + spC8.y = (Math_Rand_ZeroOne() * 5.0f) + 2.0f; + spC8.z = cos * 8.0f; - /* burst_depth_y */ - burst_depth[1].x = (f32)(burst_depth[0].x * 0.23f); - burst_depth[1].y = (f32)(Math_Rand_ZeroOne() * 5.0f) + 2.0f; - burst_depth[1].z = (f32)(burst_depth[0].z * 0.23f); + spBC.x = spC8.x * 0.23f; + spBC.y = (Math_Rand_ZeroOne() * 4.0f) + 2.0f; + spBC.z = spC8.z * 0.23f; - VEC3_ADD(burst_depth[0], this->actor.posRot.pos) + spC8.x += actorPos->x; + spC8.y += actorPos->y; + spC8.z += actorPos->z; - rng = Math_Rand_ZeroOne(); - - if (rng < 0.2f) - { - uVar1 = 0x60; - } + rand = Math_Rand_ZeroOne(); + if (rand < 0.2f) + temp = 64; else - { - uVar1 = 0x20; + temp = 32; - if (rng < 0.6f) - { - uVar1 = 0x40; - } - } - - /* The Heavy Lifting */ - Effect_SpawnFragment(globalCtx, &burst_depth[0], &burst_depth[1], &this->actor.posRot.pos, -239, uVar1, - 10, 10, 0, (Math_Rand_ZeroOne() * 65.0f) + 15.0f, 0, 0x20, 0x3C, -1, 3, DL_SHARD); - shard_count++; - rando_seed = (s32)((rando_seed + 0x4E20) * 0x10000) >> 0x10; + Effect_SpawnFragment(globalCtx, &spC8, &spBC, actorPos, -180, temp, 30, 30, 0, + (Math_Rand_ZeroOne() * 65.0f) + 15.0f, 0, 32, 70, -1, 3, addr); } - while(shard_count != 15); - - func_80033480(globalCtx, &this->actor.posRot.pos, 30.0f, 4, 20, 50, 0); } #else -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_FragmentsWater.s") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_SpawnWaterFragments.s") #endif #ifdef NON_MATCHING -void EnTuboTrap_TestCollider(EnTuboTrap* this, GlobalContext* globalCtx) +void EnTuboTrap_HandleImpact(EnTuboTrap* this, GlobalContext* globalCtx) { - u8 bVar1, bVar2; - u16 uVar3; - Actor* collided_this; + s32 pad; Player* player = PLAYER; - if (!(this->actor.bgCheckFlags & 20)) + if ((this->actor.bgCheckFlags & 0x20) && (this->actor.unk_84 > 15.0f)) { - bVar1 = this->capsule.base.colliderFlags; + EnTuboTrap_SpawnWaterFragments(this, globalCtx); + Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 40, NA_SE_EV_BOMB_DROP_WATER); + EnTuboTrap_DropCollectible(this, globalCtx); + Actor_Kill(&this->actor); + return; } - else + + if (this->collider.base.colliderFlags & 4) { - if (this->actor.waterSurfaceDist > 15.0f) + this->collider.base.colliderFlags &= ~4; + EnTuboTrap_SpawnFragments(this, globalCtx); + Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 40, NA_SE_IT_SHIELD_REFLECT_SW); + Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 40, NA_SE_EV_POT_BROKEN); + EnTuboTrap_DropCollectible(this, globalCtx); + Actor_Kill(&this->actor); + return; + } + + if (this->collider.base.collideFlags & 2) + { + this->collider.base.collideFlags &= ~2; + EnTuboTrap_SpawnFragments(this, globalCtx); + Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 40, NA_SE_EV_EXPLOSION); + Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 40, NA_SE_EV_POT_BROKEN); + EnTuboTrap_DropCollectible(this, globalCtx); + Actor_Kill(&this->actor); + return; + } + + if (this->collider.base.colliderFlags & 2) + { + this->collider.base.colliderFlags &= ~2; + if (this->collider.base.at == &player->actor) { - EnTuboTrap_FragmentsWater(this, globalCtx); - Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 40, NA_SE_EV_BOMB_DROP_WATER); + EnTuboTrap_SpawnFragments(this, globalCtx); + Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 40, NA_SE_EV_POT_BROKEN); + Audio_PlaySoundAtPosition(globalCtx, &player->actor.posRot.pos, 40, 0x83E); EnTuboTrap_DropCollectible(this, globalCtx); Actor_Kill(&this->actor); return; } - - bVar1 = this->capsule.base.collideFlags; } - if (!(bVar1 & 4)) + if ((this->actor.bgCheckFlags & 8) || (this->actor.bgCheckFlags & 1)) { - bVar2 = this->capsule.base.collideFlags; - if (!(bVar2 & 2)) - { - if (!(bVar1 & 2)) - { - uVar3 = this->actor.bgCheckFlags; - } - else - { - collided_this = this->capsule.base.actor; - this->capsule.base.colliderFlags = bVar1 & 0xFD; - - if (collided_this == &player->actor) - { - EnTuboTrap_Fragments(this, globalCtx); - Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 0x28, NA_SE_EV_POT_BROKEN); - Audio_PlaySoundAtPosition(globalCtx, &player->actor.posRot.pos, 0x28, NA_SE_PL_BODY_HIT); - EnTuboTrap_DropCollectible(this, globalCtx); - Actor_Kill(&this->actor); - return; - } - uVar3 = this->actor.bgCheckFlags; - } - - if ((uVar3 & 8) || (uVar3 & 1)) - { - EnTuboTrap_Fragments(this, globalCtx); - Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 0x28, NA_SE_EV_POT_BROKEN); - EnTuboTrap_DropCollectible(this, globalCtx); - Actor_Kill(&this->actor); - } - } - else - { - this->capsule.base.collideFlags = bVar2 & 0xFD; - EnTuboTrap_Fragments(this, globalCtx); - Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 0x28, NA_SE_EV_EXPLOSION); - Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 0x28, NA_SE_EV_POT_BROKEN); - EnTuboTrap_DropCollectible(this, globalCtx); - Actor_Kill(&this->actor); - } - } - else - { - this->capsule.base.colliderFlags = bVar1 & 0xFB; - EnTuboTrap_Fragments(this, globalCtx); - Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 0x28, NA_SE_IT_SHIELD_REFLECT_SW); - Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 0x28, NA_SE_EV_POT_BROKEN); + EnTuboTrap_SpawnFragments(this, globalCtx); + Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 40, NA_SE_EV_POT_BROKEN); EnTuboTrap_DropCollectible(this, globalCtx); Actor_Kill(&this->actor); + return; } } #else -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_TestCollider.s") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_HandleImpact.s") #endif -#ifdef NON_MATCHING -void EnTuboTrap_TestLevitate(EnTuboTrap* this, GlobalContext* globalCtx) +void EnTuboTrap_WaitForProximity(EnTuboTrap* this, GlobalContext* globalCtx) { Player* player = PLAYER; - f32 seekY; + f32 targetHeight; if (BREG(2) != 0) { - osSyncPrintf("[32m☆☆☆☆☆ わて ☆☆☆☆☆ %f\n", globalCtx, this->actor.posRot.pos.y); - osSyncPrintf("[32m☆☆☆☆☆ おいどん ☆☆☆☆☆ %f\n"); + osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ わて ☆☆☆☆☆ %f\n" VT_RST, this->actor.posRot.pos.y); // "You" + osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ おいどん ☆☆☆☆☆ %f\n" VT_RST, player->actor.posRot.pos.y); // "Me" osSyncPrintf("\n\n"); } - if (this->actor.xzDistanceFromLink < 200.00000000 && this->actor.posRot.pos.y <= player->actor.posRot.pos.y) + if (this->actor.xzDistanceFromLink < 200.0f && this->actor.posRot.pos.y <= player->actor.posRot.pos.y) { Actor_ChangeType(globalCtx, &globalCtx->actorCtx, this, ACTORTYPE_ENEMY); this->actor.flags |= 1; - seekY = (f32)gSaveContext.link_age * -10.00000000 + 40.00000000; - this->pos_y_seek = player->actor.posRot.pos.y; + targetHeight = 40.0f + -10.0f * gSaveContext.link_age; - if (this->pos_y_seek < this->actor.posRot.pos.y) - this->pos_y_seek = this->actor.posRot.pos.y + seekY; - - this->actor.initPosRot.pos = this->actor.posRot.pos; + this->targetY = player->actor.posRot.pos.y + targetHeight; + if (this->targetY < this->actor.posRot.pos.y) + this->targetY = this->actor.posRot.pos.y + targetHeight; + this->originPos = this->actor.posRot.pos; Audio_PlayActorSound2(this, NA_SE_EV_POT_MOVE_START); - this->playfunc = (ActorFunc)EnTuboTrap_InitializeAttack; + this->actionFunc = (ActorFunc)EnTuboTrap_Levitate; } } -#else -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_TestLevitate.s") -#endif -#ifdef NON_MATCHING -void EnTuboTrap_InitializeAttack(EnTuboTrap* this, GlobalContext* globalCtx) +void EnTuboTrap_Levitate(EnTuboTrap* this, GlobalContext* globalCtx) { - this->actor.posRot.rot.y += 5000; - Math_SmoothScaleMaxF(&this->actor.posRot.pos.y, this->pos_y_seek, 0.8f, 3.0f); /* Tween levitation */ + this->actor.shape.rot.y += 5000; + Math_SmoothScaleMaxF(&this->actor.posRot.pos.y, this->targetY, 0.8f, 3.0f); - if (ABS(this->actor.posRot.pos.y - this->pos_y_seek) < 10.0f) + if (fabsf(this->actor.posRot.pos.y - this->targetY) < 10.0f) { this->actor.speedXZ = 10.0f; this->actor.posRot.rot.y = this->actor.rotTowardsLinkY; - this->playfunc = (ActorFunc)EnTuboTrap_Fly; + this->actionFunc = (ActorFunc)EnTuboTrap_Fly; } } -#else -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_InitializeAttack.s") -#endif -#ifdef NON_MATCHING void EnTuboTrap_Fly(EnTuboTrap* this, GlobalContext* globalCtx) { - Vec3f pos_delta; + f32 dx = this->originPos.x - this->actor.posRot.pos.x; + f32 dy = this->originPos.y - this->actor.posRot.pos.y; + f32 dz = this->originPos.z - this->actor.posRot.pos.z; - VEC3_SUB(pos_delta, this->pos_init, this->actor.posRot.pos); - Audio_PlayActorSound2(&this->actor, NA_SE_EN_TUBOOCK_FLY); + Audio_PlayActorSound2(&this->actor, 0x3037); - if (240.0f < sqrtf(SQ(pos_delta.x) + SQ(pos_delta.y) + SQ(pos_delta.z))) - Math_SmoothScaleMaxF(&this->actor.gravity, -3.0f, 0.2f, 0.5f); /* Tween to ground */ + if (240.0f < sqrtf(SQ(dx) + SQ(dy) + SQ(dz))) + Math_SmoothScaleMaxF(&this->actor.gravity, -3.0f, 0.2f, 0.5f); - this->actor.posRot.rot.y += 5000; - EnTuboTrap_TestCollider(this, globalCtx); + this->actor.shape.rot.y += 5000; + EnTuboTrap_HandleImpact(this, globalCtx); } -#else -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_Fly.s") -#endif -#ifdef NON_MATCHING void EnTuboTrap_Update(EnTuboTrap* this, GlobalContext* globalCtx) { - this->playfunc(this, globalCtx); - Actor_MoveForward(&this->actor); /* Probably to haul ass towards Link */ - func_8002E4B4(globalCtx, &this->actor, 10.0f, 10.0f, 20.0f, 0x1D); /* Necessary for drawing a shadow */ - Actor_SetHeight(&this->actor, 0.0f); - ActorCollider_Cylinder_Update(&this->actor, &this->capsule); - Actor_CollisionCheck_SetAC(globalCtx, &globalCtx->sub_11E60, &this->capsule); - Actor_CollisionCheck_SetAT(globalCtx, &globalCtx->sub_11E60, &this->capsule); + EnTuboTrap* tuboTrap = this; + SubGlobalContext11E60* sub_11E60 = &globalCtx->sub_11E60; + + tuboTrap->actionFunc(tuboTrap, globalCtx); + Actor_MoveForward(&tuboTrap->actor); + func_8002E4B4(globalCtx, &tuboTrap->actor, 10.0f, 10.0f, 20.0f, 0x1D); + Actor_SetHeight(&tuboTrap->actor, 0.0f); + ActorCollider_Cylinder_Update(&tuboTrap->actor, &tuboTrap->collider); + Actor_CollisionCheck_SetAC(globalCtx, sub_11E60, &tuboTrap->collider); + Actor_CollisionCheck_SetAT(globalCtx, sub_11E60, &tuboTrap->collider); } -#else -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_Update.s") -#endif void EnTuboTrap_Draw(EnTuboTrap* this, GlobalContext* globalCtx) { - Draw_DListOpa(globalCtx, &DL_TUBO); + Draw_DListOpa(globalCtx, D_05017870); } diff --git a/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.h b/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.h new file mode 100644 index 0000000000..55a3a5a937 --- /dev/null +++ b/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.h @@ -0,0 +1,18 @@ +#ifndef _Z_EN_TUBO_TRAP_H_ +#define _Z_EN_TUBO_TRAP_H_ + +#include +#include + +typedef struct +{ + /* 0x0000 */ Actor actor; + /* 0x014C */ ActorFunc actionFunc; + /* 0x0150 */ f32 targetY; + /* 0x0154 */ Vec3f originPos; + /* 0x0160 */ ColliderCylinderMain collider; +} EnTuboTrap; // size = 0x01AC + +extern const ActorInit En_Tubo_Trap_InitVars; + +#endif diff --git a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.h b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.h index ffa407b3cb..3a5c48fc11 100644 --- a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.h +++ b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.h @@ -14,7 +14,6 @@ typedef struct { /* 0x0000 */ Actor actor; /* 0x014C */ SkelAnime skelAnime; - /* 0x018C */ char unk_18C[0x4]; /* 0x0190 */ ActorFunc actionFunc; /* 0x0194 */ s16 timer; /* 0x0196 */ s16 switchFlag; diff --git a/src/overlays/gamestates/ovl_title/z_title.c b/src/overlays/gamestates/ovl_title/z_title.c index 4053f152bc..3ff5211d94 100644 --- a/src/overlays/gamestates/ovl_title/z_title.c +++ b/src/overlays/gamestates/ovl_title/z_title.c @@ -6,23 +6,209 @@ #include #include +#include -#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_title/func_80800000.s") +extern Gfx D_01002720[]; +extern u8 D_01001800[]; +extern u8 D_01000000[]; -void func_80800128(TitleContext* this) +void Title_PrintBuildInfo(Gfx** gfxp) { - this->unk_1E1 = 1; + Gfx* g; + GfxPrint* printer; + + g = *gfxp; + g = func_8009411C(g); + printer = alloca(0x30); + GfxPrint_Ctor(printer); + GfxPrint_Open(printer, g); + GfxPrint_SetColor(printer, 0xFF, 0x9B, 0xFF, 0xFF); + GfxPrint_SetPos(printer, 9, 21); + GfxPrint_Printf(printer, "NOT MARIO CLUB VERSION"); + GfxPrint_SetColor(printer, 0xFF, 0xFF, 0xFF, 0xFF); + GfxPrint_SetPos(printer, 7, 23); + GfxPrint_Printf(printer, "[Creator:%s]", gBuildTeam); + GfxPrint_SetPos(printer, 7, 24); + GfxPrint_Printf(printer, "[Date:%s]", gBuildDate); + g = GfxPrint_Close(printer); + GfxPrint_Dtor(printer); + *gfxp = g; } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_title/func_80800134.s") - -#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_title/func_808001C8.s") - -#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_title/func_8080073C.s") - -void func_80800858(TitleContext* this) +// Note: In other rom versions this function also updates unk_1D4, coverAlpha, addAlpha, visibleDuration to calculate the fade-in/fade-out + the duration of the n64 logo animation +void Title_Calc(TitleContext* this) { - func_800A9AD0(this, &this->unk_1D0); + this->exit = 1; } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_title/func_80800878.s") +void Title_InitView(TitleContext* this, f32 x, f32 y, f32 z) +{ + View* view; + Vec3f v1; + Vec3f v2; + Vec3f v3; + + view = &this->view; + v3.z = 0; + v3.x = 0; + v2.z = 0; + v2.y = 0; + v2.x = 0; + v1.x = x; + v1.y = y; + v1.z = z; + v3.y = 1.0; + + func_800AA460(view, 30.0f, 10.0f, 12800.0f); + func_800AA358(view, &v1, &v2, &v3); + func_800AAA50(view, 0xF); +} + +void Title_Draw(TitleContext* this) +{ + static s16 sTitleRotY = 0; + static u32 D_808009A4 = 0; + static Lights1 sTitleLights = gdSPDefLights1(0x64, 0x64, 0x64, 0xFF, 0xFF, 0xFF, 0x45, 0x45, 0x45); + + u16 y; + u16 idx; + char pad1[0x4]; + Vec3f v3; + Vec3f v1; + Vec3f v2; + char pad2[0x8]; + GraphicsContext* gfxCtx = this->state.gfxCtx; + Gfx* gfxArr[4]; + + func_800C6AC4(&gfxArr, this->state.gfxCtx, "../z_title.c", 395); + + v3.x = 69; + v3.y = 69; + v3.z = 69; + v2.x = -4949.148; + v2.y = 4002.5417; + v1.x = 0; + v1.y = 0; + v1.z = 0; + v2.z = 1119.0837; + + func_8002EABC(&v1, &v2, &v3, this->state.gfxCtx); + gSPSetLights1(gfxCtx->polyOpa.p++, sTitleLights); + Title_InitView(this, 0, 150.0, 300.0); + func_80093D18(this->state.gfxCtx); + Matrix_Translate(-53.0, -5.0, 0, MTXMODE_NEW); + Matrix_Scale(1.0, 1.0, 1.0, MTXMODE_APPLY); + Matrix_RotateXYZ(0, sTitleRotY, 0, MTXMODE_APPLY); + + gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(this->state.gfxCtx, "../z_title.c", 424), G_MTX_LOAD); + gSPDisplayList(gfxCtx->polyOpa.p++, &D_01002720); + func_800944C4(this->state.gfxCtx); + gDPPipeSync(gfxCtx->polyOpa.p++); + gDPSetCycleType(gfxCtx->polyOpa.p++, G_CYC_2CYCLE); + gDPSetRenderMode(gfxCtx->polyOpa.p++, G_RM_XLU_SURF2, G_RM_OPA_CI | CVG_DST_WRAP); + gDPSetCombineLERP(gfxCtx->polyOpa.p++, TEXEL1, PRIMITIVE, ENV_ALPHA, TEXEL0, 0, 0, 0, TEXEL0, PRIMITIVE, ENVIRONMENT, COMBINED, ENVIRONMENT, COMBINED, 0, PRIMITIVE, 0); + gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 0, 170, 255, 255, 255); + gDPSetEnvColor(gfxCtx->polyOpa.p++, 0, 0, 255, 128); + + gDPLoadMultiBlock(gfxCtx->polyOpa.p++, + &D_01001800, + 0x100, + 1, + G_IM_FMT_I, + G_IM_SIZ_8b, + 32, 32, + 0, + G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, + 5, 5, + 2, 11); + + + for (idx = 0, y = 94; idx < 16; idx++, y += 2) + { + gDPLoadTextureBlock(gfxCtx->polyOpa.p++, + &D_01000000[0x180 * idx], + G_IM_FMT_I, + G_IM_SIZ_8b, + 192, 2, + 0, + G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, + G_TX_NOMASK, G_TX_NOMASK, + G_TX_NOLOD, G_TX_NOLOD); + + gDPSetTileSize(gfxCtx->polyOpa.p++, 1, this->uls, (this->ult & 0x7F) - idx*4, 0, 0); + gSPTextureRectangle(gfxCtx->polyOpa.p++, 388, y << 2, 1156, (y+2)<<2, G_TX_RENDERTILE, 0, 0, 1024, 1024); + } + + + + func_8007672C(this->state.gfxCtx, 0, 0, 0, (s16)this->coverAlpha, 2); + + sTitleRotY += 300; + + func_800C6B54(&gfxArr, this->state.gfxCtx, "../z_title.c", 483); +} + +void Title_Update(TitleContext* this) +{ + GraphicsContext* gfxCtx = this->state.gfxCtx; + u32 pad; + Gfx* gfxArr[4]; + u32 pad2; + Gfx* gfx[2]; + + func_800C6AC4(&gfxArr, this->state.gfxCtx, "../z_title.c", 494); + + gSPSegment(gfxCtx->polyOpa.p++, 0, NULL); + gSPSegment(gfxCtx->polyOpa.p++, 1, this->staticSegment); + func_80095248(this->state.gfxCtx, 0, 0, 0); + Title_Calc(this); + Title_Draw(this); + if (D_8012DBC0) + { + gfx[0] = gfxCtx->polyOpa.p; + Title_PrintBuildInfo(&gfx); + gfxCtx->polyOpa.p = gfx[0]; + } + if (this->exit) + { + gSaveContext.seq_index = -1; + gSaveContext.night_sfx = -1; + gSaveContext.game_mode = 1; + this->state.running = false; + this->state.init = Opening_Init; this->state.size = sizeof(OpeningContext); + } + + func_800C6B54(&gfxArr, this->state.gfxCtx, "../z_title.c", 541); +} + +void Title_Destroy(TitleContext* this) +{ + func_800A9AD0(this, &this->sram); +} + +void Title_Init(TitleContext* this) +{ + u32 size = (u32)_nintendo_rogo_staticSegmentRomEnd - (u32)_nintendo_rogo_staticSegmentRomStart; + u32 pad; + + this->staticSegment = Game_Alloc(&this->state, size, "../z_title.c", 611); + osSyncPrintf("z_title.c\n"); + if (this->staticSegment == NULL) + { + __assert("this->staticSegment != NULL", "../z_title.c", 614); + } + DmaMgr_SendRequest1(this->staticSegment, (u32)_nintendo_rogo_staticSegmentRomStart, size, "../z_title.c", 615); + R_UPDATE_RATE = 1; + Matrix_Init(&this->state); + func_800AA278(&this->view, this->state.gfxCtx); + this->state.main = Title_Update; + this->state.destroy = Title_Destroy; + this->exit = false; + gSaveContext.file_num = 0xFF; + func_800A9CD4(&this->state, &this->sram); + this->ult = 0; + this->unk_1D4 = 0x14; + this->coverAlpha = 0xFF; + this->addAlpha = -3; + this->visibleDuration = 0x3C; +} diff --git a/tools/ZAP2 b/tools/ZAP2 index 4f96394456..72e492e908 160000 --- a/tools/ZAP2 +++ b/tools/ZAP2 @@ -1 +1 @@ -Subproject commit 4f9639445655f9754214dcb50821b046a316d70e +Subproject commit 72e492e908c1231b4b6269492a513bbdcc75498e diff --git a/undefined_syms.txt b/undefined_syms.txt index e9ab48b6eb..71ae2b4a2e 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -140,8 +140,8 @@ D_0703811C = 0x0703811C; D_080895C0 = 0x080895C0; // z_en_tubo_trap -DL_TUBO = 0x05017870; -DL_SHARD = 0x05017A60; +D_05017870 = 0x05017870; +D_05017A60 = 0x05017A60; // z_en_vase DL_VASE = 0x06000000; @@ -275,6 +275,7 @@ D_01AA3DC0 = 0x01AA3DC0; D_01AA1000 = 0x01AA1000; D_01002720 = 0x01002720; D_01001800 = 0x01001800; +D_01000000 = 0x01000000; // z_shot_sun D_02007020 = 0x02007020; @@ -393,4 +394,8 @@ D_06009244 = 0x06009244; D_060041F4 = 0x060041F4; D_0600A054 = 0x0600A054; D_06008688 = 0x06008688; -D_04049210 = 0x04049210; \ No newline at end of file +D_04049210 = 0x04049210; + +// z_en_lightbox +D_06000B70 = 0x06000B70; +D_06001F10 = 0x06001F10; \ No newline at end of file