mirror of https://github.com/n64decomp/mk64.git
Match two funcs (#623)
This commit is contained in:
parent
85a8c6bd61
commit
43fc4e7792
|
|
@ -1,167 +0,0 @@
|
|||
glabel func_80092290
|
||||
/* 092E90 80092290 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 092E94 80092294 AFBE0038 */ sw $fp, 0x38($sp)
|
||||
/* 092E98 80092298 28810004 */ slti $at, $a0, 4
|
||||
/* 092E9C 8009229C 00C0F025 */ move $fp, $a2
|
||||
/* 092EA0 800922A0 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* 092EA4 800922A4 AFB70034 */ sw $s7, 0x34($sp)
|
||||
/* 092EA8 800922A8 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* 092EAC 800922AC AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* 092EB0 800922B0 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 092EB4 800922B4 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 092EB8 800922B8 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 092EBC 800922BC AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 092EC0 800922C0 14200083 */ bnez $at, .L800924D0
|
||||
/* 092EC4 800922C4 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 092EC8 800922C8 28810006 */ slti $at, $a0, 6
|
||||
/* 092ECC 800922CC 10200080 */ beqz $at, .L800924D0
|
||||
/* 092ED0 800922D0 3C0F800E */ lui $t7, %hi(gGlobalTimer) # $t7, 0x800e
|
||||
/* 092ED4 800922D4 8DEFC54C */ lw $t7, %lo(gGlobalTimer)($t7)
|
||||
/* 092ED8 800922D8 00047080 */ sll $t6, $a0, 2
|
||||
/* 092EDC 800922DC 3C10800F */ lui $s0, %hi(D_800E84C0) # $s0, 0x800f
|
||||
/* 092EE0 800922E0 05E10004 */ bgez $t7, .L800922F4
|
||||
/* 092EE4 800922E4 31F80001 */ andi $t8, $t7, 1
|
||||
/* 092EE8 800922E8 13000002 */ beqz $t8, .L800922F4
|
||||
/* 092EEC 800922EC 00000000 */ nop
|
||||
/* 092EF0 800922F0 2718FFFE */ addiu $t8, $t8, -2
|
||||
.L800922F4:
|
||||
/* 092EF4 800922F4 8FCF0000 */ lw $t7, ($fp)
|
||||
/* 092EF8 800922F8 0018C840 */ sll $t9, $t8, 1
|
||||
/* 092EFC 800922FC 01D91021 */ addu $v0, $t6, $t9
|
||||
/* 092F00 80092300 25F80010 */ addiu $t8, $t7, 0x10
|
||||
/* 092F04 80092304 2B010100 */ slti $at, $t8, 0x100
|
||||
/* 092F08 80092308 2442FFFA */ addiu $v0, $v0, -6
|
||||
/* 092F0C 8009230C 14200009 */ bnez $at, .L80092334
|
||||
/* 092F10 80092310 AFD80000 */ sw $t8, ($fp)
|
||||
/* 092F14 80092314 AFC00000 */ sw $zero, ($fp)
|
||||
/* 092F18 80092318 8CB90000 */ lw $t9, ($a1)
|
||||
/* 092F1C 8009231C 24010003 */ li $at, 3
|
||||
/* 092F20 80092320 272F0001 */ addiu $t7, $t9, 1
|
||||
/* 092F24 80092324 01E1001A */ div $zero, $t7, $at
|
||||
/* 092F28 80092328 0000C010 */ mfhi $t8
|
||||
/* 092F2C 8009232C ACB80000 */ sw $t8, ($a1)
|
||||
/* 092F30 80092330 00000000 */ nop
|
||||
.L80092334:
|
||||
/* 092F34 80092334 3C17800F */ lui $s7, %hi(D_800E84CC) # $s7, 0x800f
|
||||
/* 092F38 80092338 26F784CC */ addiu $s7, %lo(D_800E84CC) # addiu $s7, $s7, -0x7b34
|
||||
/* 092F3C 8009233C 261084C0 */ addiu $s0, %lo(D_800E84C0) # addiu $s0, $s0, -0x7b40
|
||||
/* 092F40 80092340 0002A100 */ sll $s4, $v0, 4
|
||||
/* 092F44 80092344 AFA50044 */ sw $a1, 0x44($sp)
|
||||
/* 092F48 80092348 24160006 */ li $s6, 6
|
||||
/* 092F4C 8009234C 24150100 */ li $s5, 256
|
||||
.L80092350:
|
||||
/* 092F50 80092350 0C026455 */ jal segmented_to_virtual_dupe_2
|
||||
/* 092F54 80092354 8E040000 */ lw $a0, ($s0)
|
||||
/* 092F58 80092358 8FAE0044 */ lw $t6, 0x44($sp)
|
||||
/* 092F5C 8009235C 8FC40000 */ lw $a0, ($fp)
|
||||
/* 092F60 80092360 00543021 */ addu $a2, $v0, $s4
|
||||
/* 092F64 80092364 8DC80000 */ lw $t0, ($t6)
|
||||
/* 092F68 80092368 02A42823 */ subu $a1, $s5, $a0
|
||||
/* 092F6C 8009236C 26100004 */ addiu $s0, $s0, 4
|
||||
/* 092F70 80092370 0008C840 */ sll $t9, $t0, 1
|
||||
/* 092F74 80092374 27280002 */ addiu $t0, $t9, 2
|
||||
/* 092F78 80092378 00087900 */ sll $t7, $t0, 4
|
||||
/* 092F7C 8009237C 004F1821 */ addu $v1, $v0, $t7
|
||||
/* 092F80 80092380 9078000C */ lbu $t8, 0xc($v1)
|
||||
/* 092F84 80092384 906E000D */ lbu $t6, 0xd($v1)
|
||||
/* 092F88 80092388 9079000E */ lbu $t9, 0xe($v1)
|
||||
/* 092F8C 8009238C 00B80019 */ multu $a1, $t8
|
||||
/* 092F90 80092390 906F000F */ lbu $t7, 0xf($v1)
|
||||
/* 092F94 80092394 01003825 */ move $a3, $t0
|
||||
/* 092F98 80092398 00004812 */ mflo $t1
|
||||
/* 092F9C 8009239C 00000000 */ nop
|
||||
/* 092FA0 800923A0 00000000 */ nop
|
||||
/* 092FA4 800923A4 00AE0019 */ multu $a1, $t6
|
||||
/* 092FA8 800923A8 00006012 */ mflo $t4
|
||||
/* 092FAC 800923AC 00000000 */ nop
|
||||
/* 092FB0 800923B0 00000000 */ nop
|
||||
/* 092FB4 800923B4 00B90019 */ multu $a1, $t9
|
||||
/* 092FB8 800923B8 00006812 */ mflo $t5
|
||||
/* 092FBC 800923BC 00000000 */ nop
|
||||
/* 092FC0 800923C0 00000000 */ nop
|
||||
/* 092FC4 800923C4 00AF0019 */ multu $a1, $t7
|
||||
/* 092FC8 800923C8 0000F812 */ mflo $ra
|
||||
/* 092FCC 800923CC 00000000 */ nop
|
||||
/* 092FD0 800923D0 00000000 */ nop
|
||||
/* 092FD4 800923D4 0116001A */ div $zero, $t0, $s6
|
||||
/* 092FD8 800923D8 00003810 */ mfhi $a3
|
||||
/* 092FDC 800923DC 24E70002 */ addiu $a3, $a3, 2
|
||||
/* 092FE0 800923E0 0007C100 */ sll $t8, $a3, 4
|
||||
/* 092FE4 800923E4 00581821 */ addu $v1, $v0, $t8
|
||||
/* 092FE8 800923E8 906E000C */ lbu $t6, 0xc($v1)
|
||||
/* 092FEC 800923EC 9079000D */ lbu $t9, 0xd($v1)
|
||||
/* 092FF0 800923F0 906F000E */ lbu $t7, 0xe($v1)
|
||||
/* 092FF4 800923F4 008E0019 */ multu $a0, $t6
|
||||
/* 092FF8 800923F8 9078000F */ lbu $t8, 0xf($v1)
|
||||
/* 092FFC 800923FC 16C00002 */ bnez $s6, .L80092408
|
||||
/* 093000 80092400 00000000 */ nop
|
||||
/* 093004 80092404 0007000D */ break 7
|
||||
.L80092408:
|
||||
/* 093008 80092408 2401FFFF */ li $at, -1
|
||||
/* 09300C 8009240C 16C10004 */ bne $s6, $at, .L80092420
|
||||
/* 093010 80092410 3C018000 */ lui $at, 0x8000
|
||||
/* 093014 80092414 15010002 */ bne $t0, $at, .L80092420
|
||||
/* 093018 80092418 00000000 */ nop
|
||||
/* 09301C 8009241C 0006000D */ break 6
|
||||
.L80092420:
|
||||
/* 093020 80092420 00005012 */ mflo $t2
|
||||
/* 093024 80092424 012A5821 */ addu $t3, $t1, $t2
|
||||
/* 093028 80092428 00000000 */ nop
|
||||
/* 09302C 8009242C 00990019 */ multu $a0, $t9
|
||||
/* 093030 80092430 00008812 */ mflo $s1
|
||||
/* 093034 80092434 01911821 */ addu $v1, $t4, $s1
|
||||
/* 093038 80092438 00000000 */ nop
|
||||
/* 09303C 8009243C 008F0019 */ multu $a0, $t7
|
||||
/* 093040 80092440 00009012 */ mflo $s2
|
||||
/* 093044 80092444 00000000 */ nop
|
||||
/* 093048 80092448 00000000 */ nop
|
||||
/* 09304C 8009244C 00980019 */ multu $a0, $t8
|
||||
/* 093050 80092450 01B22021 */ addu $a0, $t5, $s2
|
||||
/* 093054 80092454 00009812 */ mflo $s3
|
||||
/* 093058 80092458 03F32821 */ addu $a1, $ra, $s3
|
||||
/* 09305C 8009245C 05610003 */ bgez $t3, .L8009246C
|
||||
/* 093060 80092460 000B7203 */ sra $t6, $t3, 8
|
||||
/* 093064 80092464 256100FF */ addiu $at, $t3, 0xff
|
||||
/* 093068 80092468 00017203 */ sra $t6, $at, 8
|
||||
.L8009246C:
|
||||
/* 09306C 8009246C 01C05825 */ move $t3, $t6
|
||||
/* 093070 80092470 A0CE000C */ sb $t6, 0xc($a2)
|
||||
/* 093074 80092474 04610003 */ bgez $v1, .L80092484
|
||||
/* 093078 80092478 0003CA03 */ sra $t9, $v1, 8
|
||||
/* 09307C 8009247C 246100FF */ addiu $at, $v1, 0xff
|
||||
/* 093080 80092480 0001CA03 */ sra $t9, $at, 8
|
||||
.L80092484:
|
||||
/* 093084 80092484 03201825 */ move $v1, $t9
|
||||
/* 093088 80092488 A0D9000D */ sb $t9, 0xd($a2)
|
||||
/* 09308C 8009248C 04810003 */ bgez $a0, .L8009249C
|
||||
/* 093090 80092490 00047A03 */ sra $t7, $a0, 8
|
||||
/* 093094 80092494 248100FF */ addiu $at, $a0, 0xff
|
||||
/* 093098 80092498 00017A03 */ sra $t7, $at, 8
|
||||
.L8009249C:
|
||||
/* 09309C 8009249C 01E02025 */ move $a0, $t7
|
||||
/* 0930A0 800924A0 A0CF000E */ sb $t7, 0xe($a2)
|
||||
/* 0930A4 800924A4 04A10003 */ bgez $a1, .L800924B4
|
||||
/* 0930A8 800924A8 0005C203 */ sra $t8, $a1, 8
|
||||
/* 0930AC 800924AC 24A100FF */ addiu $at, $a1, 0xff
|
||||
/* 0930B0 800924B0 0001C203 */ sra $t8, $at, 8
|
||||
.L800924B4:
|
||||
/* 0930B4 800924B4 03002825 */ move $a1, $t8
|
||||
/* 0930B8 800924B8 A0D8000F */ sb $t8, 0xf($a2)
|
||||
/* 0930BC 800924BC A0CB001C */ sb $t3, 0x1c($a2)
|
||||
/* 0930C0 800924C0 A0C3001D */ sb $v1, 0x1d($a2)
|
||||
/* 0930C4 800924C4 A0C4001E */ sb $a0, 0x1e($a2)
|
||||
/* 0930C8 800924C8 1617FFA1 */ bne $s0, $s7, .L80092350
|
||||
/* 0930CC 800924CC A0D8001F */ sb $t8, 0x1f($a2)
|
||||
.L800924D0:
|
||||
/* 0930D0 800924D0 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* 0930D4 800924D4 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 0930D8 800924D8 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 0930DC 800924DC 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 0930E0 800924E0 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 0930E4 800924E4 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 0930E8 800924E8 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* 0930EC 800924EC 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* 0930F0 800924F0 8FB70034 */ lw $s7, 0x34($sp)
|
||||
/* 0930F4 800924F4 8FBE0038 */ lw $fp, 0x38($sp)
|
||||
/* 0930F8 800924F8 03E00008 */ jr $ra
|
||||
/* 0930FC 800924FC 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
|
|
@ -1,223 +0,0 @@
|
|||
glabel func_800A97BC
|
||||
/* 0AA3BC 800A97BC 3C05800F */ lui $a1, %hi(D_800E86D0) # $a1, 0x800f
|
||||
/* 0AA3C0 800A97C0 24A586D0 */ addiu $a1, %lo(D_800E86D0) # addiu $a1, $a1, -0x7930
|
||||
/* 0AA3C4 800A97C4 80A20000 */ lb $v0, ($a1)
|
||||
/* 0AA3C8 800A97C8 24060001 */ li $a2, 1
|
||||
/* 0AA3CC 800A97CC 24010002 */ li $at, 2
|
||||
/* 0AA3D0 800A97D0 50460006 */ beql $v0, $a2, .L800A97EC
|
||||
/* 0AA3D4 800A97D4 8C8E0010 */ lw $t6, 0x10($a0)
|
||||
/* 0AA3D8 800A97D8 5041005A */ beql $v0, $at, .L800A9944
|
||||
/* 0AA3DC 800A97DC 8C8B0010 */ lw $t3, 0x10($a0)
|
||||
/* 0AA3E0 800A97E0 03E00008 */ jr $ra
|
||||
/* 0AA3E4 800A97E4 A0A00000 */ sb $zero, ($a1)
|
||||
|
||||
/* 0AA3E8 800A97E8 8C8E0010 */ lw $t6, 0x10($a0)
|
||||
.L800A97EC:
|
||||
/* 0AA3EC 800A97EC 24190069 */ li $t9, 105
|
||||
/* 0AA3F0 800A97F0 3C03800F */ lui $v1, %hi(D_800E86C4) # $v1, 0x800f
|
||||
/* 0AA3F4 800A97F4 25CFFFFE */ addiu $t7, $t6, -2
|
||||
/* 0AA3F8 800A97F8 29E10060 */ slti $at, $t7, 0x60
|
||||
/* 0AA3FC 800A97FC 102000A4 */ beqz $at, .L800A9A90
|
||||
/* 0AA400 800A9800 AC8F0010 */ sw $t7, 0x10($a0)
|
||||
/* 0AA404 800A9804 AC990010 */ sw $t9, 0x10($a0)
|
||||
/* 0AA408 800A9808 A0A00000 */ sb $zero, ($a1)
|
||||
/* 0AA40C 800A980C 3C04800F */ lui $a0, %hi(D_800E86C4 + 7) # $a0, 0x800f
|
||||
/* 0AA410 800A9810 3C09800F */ lui $t1, %hi(D_800E86C4 + 8) # $t1, 0x800f
|
||||
/* 0AA414 800A9814 3C08800F */ lui $t0, %hi(D_800E86C4 + 4) # $t0, 0x800f
|
||||
/* 0AA418 800A9818 3C07800F */ lui $a3, %hi(D_800E86C4 + 5) # $a3, 0x800f
|
||||
/* 0AA41C 800A981C 3C06800F */ lui $a2, %hi(D_800E86C4 + 6) # $a2, 0x800f
|
||||
/* 0AA420 800A9820 24C686CA */ addiu $a2, %lo(D_800E86C4 + 6) # addiu $a2, $a2, -0x7936
|
||||
/* 0AA424 800A9824 24E786C9 */ addiu $a3, %lo(D_800E86C4 + 5) # addiu $a3, $a3, -0x7937
|
||||
/* 0AA428 800A9828 250886C8 */ addiu $t0, %lo(D_800E86C4 + 4) # addiu $t0, $t0, -0x7938
|
||||
/* 0AA42C 800A982C 252986CC */ addiu $t1, %lo(D_800E86C4 + 8) # addiu $t1, $t1, -0x7934
|
||||
/* 0AA430 800A9830 248486CB */ addiu $a0, %lo(D_800E86C4 + 7) # addiu $a0, $a0, -0x7935
|
||||
/* 0AA434 800A9834 24050010 */ li $a1, 16
|
||||
/* 0AA438 800A9838 246386C4 */ addiu $v1, %lo(D_800E86C4) # addiu $v1, $v1, -0x793c
|
||||
/* 0AA43C 800A983C 0064082B */ sltu $at, $v1, $a0
|
||||
.L800A9840:
|
||||
/* 0AA440 800A9840 50200005 */ beql $at, $zero, .L800A9858
|
||||
/* 0AA444 800A9844 8062FFFF */ lb $v0, -1($v1)
|
||||
/* 0AA448 800A9848 806A0001 */ lb $t2, 1($v1)
|
||||
/* 0AA44C 800A984C 10000009 */ b .L800A9874
|
||||
/* 0AA450 800A9850 A06A0000 */ sb $t2, ($v1)
|
||||
/* 0AA454 800A9854 8062FFFF */ lb $v0, -1($v1)
|
||||
.L800A9858:
|
||||
/* 0AA458 800A9858 10A20003 */ beq $a1, $v0, .L800A9868
|
||||
/* 0AA45C 800A985C 00000000 */ nop
|
||||
/* 0AA460 800A9860 14400003 */ bnez $v0, .L800A9870
|
||||
/* 0AA464 800A9864 244B0001 */ addiu $t3, $v0, 1
|
||||
.L800A9868:
|
||||
/* 0AA468 800A9868 10000002 */ b .L800A9874
|
||||
/* 0AA46C 800A986C A0600000 */ sb $zero, ($v1)
|
||||
.L800A9870:
|
||||
/* 0AA470 800A9870 A06B0000 */ sb $t3, ($v1)
|
||||
.L800A9874:
|
||||
/* 0AA474 800A9874 0066082B */ sltu $at, $v1, $a2
|
||||
/* 0AA478 800A9878 50200005 */ beql $at, $zero, .L800A9890
|
||||
/* 0AA47C 800A987C 80620000 */ lb $v0, ($v1)
|
||||
/* 0AA480 800A9880 806C0002 */ lb $t4, 2($v1)
|
||||
/* 0AA484 800A9884 10000009 */ b .L800A98AC
|
||||
/* 0AA488 800A9888 A06C0001 */ sb $t4, 1($v1)
|
||||
/* 0AA48C 800A988C 80620000 */ lb $v0, ($v1)
|
||||
.L800A9890:
|
||||
/* 0AA490 800A9890 10A20003 */ beq $a1, $v0, .L800A98A0
|
||||
/* 0AA494 800A9894 00000000 */ nop
|
||||
/* 0AA498 800A9898 14400003 */ bnez $v0, .L800A98A8
|
||||
/* 0AA49C 800A989C 244D0001 */ addiu $t5, $v0, 1
|
||||
.L800A98A0:
|
||||
/* 0AA4A0 800A98A0 10000002 */ b .L800A98AC
|
||||
/* 0AA4A4 800A98A4 A0600001 */ sb $zero, 1($v1)
|
||||
.L800A98A8:
|
||||
/* 0AA4A8 800A98A8 A06D0001 */ sb $t5, 1($v1)
|
||||
.L800A98AC:
|
||||
/* 0AA4AC 800A98AC 0067082B */ sltu $at, $v1, $a3
|
||||
/* 0AA4B0 800A98B0 50200005 */ beql $at, $zero, .L800A98C8
|
||||
/* 0AA4B4 800A98B4 80620001 */ lb $v0, 1($v1)
|
||||
/* 0AA4B8 800A98B8 806E0003 */ lb $t6, 3($v1)
|
||||
/* 0AA4BC 800A98BC 10000009 */ b .L800A98E4
|
||||
/* 0AA4C0 800A98C0 A06E0002 */ sb $t6, 2($v1)
|
||||
/* 0AA4C4 800A98C4 80620001 */ lb $v0, 1($v1)
|
||||
.L800A98C8:
|
||||
/* 0AA4C8 800A98C8 10A20003 */ beq $a1, $v0, .L800A98D8
|
||||
/* 0AA4CC 800A98CC 00000000 */ nop
|
||||
/* 0AA4D0 800A98D0 14400003 */ bnez $v0, .L800A98E0
|
||||
/* 0AA4D4 800A98D4 244F0001 */ addiu $t7, $v0, 1
|
||||
.L800A98D8:
|
||||
/* 0AA4D8 800A98D8 10000002 */ b .L800A98E4
|
||||
/* 0AA4DC 800A98DC A0600002 */ sb $zero, 2($v1)
|
||||
.L800A98E0:
|
||||
/* 0AA4E0 800A98E0 A06F0002 */ sb $t7, 2($v1)
|
||||
.L800A98E4:
|
||||
/* 0AA4E4 800A98E4 0068082B */ sltu $at, $v1, $t0
|
||||
/* 0AA4E8 800A98E8 50200005 */ beql $at, $zero, .L800A9900
|
||||
/* 0AA4EC 800A98EC 80620002 */ lb $v0, 2($v1)
|
||||
/* 0AA4F0 800A98F0 80780004 */ lb $t8, 4($v1)
|
||||
/* 0AA4F4 800A98F4 10000009 */ b .L800A991C
|
||||
/* 0AA4F8 800A98F8 A0780003 */ sb $t8, 3($v1)
|
||||
/* 0AA4FC 800A98FC 80620002 */ lb $v0, 2($v1)
|
||||
.L800A9900:
|
||||
/* 0AA500 800A9900 10A20003 */ beq $a1, $v0, .L800A9910
|
||||
/* 0AA504 800A9904 00000000 */ nop
|
||||
/* 0AA508 800A9908 14400003 */ bnez $v0, .L800A9918
|
||||
/* 0AA50C 800A990C 24590001 */ addiu $t9, $v0, 1
|
||||
.L800A9910:
|
||||
/* 0AA510 800A9910 10000002 */ b .L800A991C
|
||||
/* 0AA514 800A9914 A0600003 */ sb $zero, 3($v1)
|
||||
.L800A9918:
|
||||
/* 0AA518 800A9918 A0790003 */ sb $t9, 3($v1)
|
||||
.L800A991C:
|
||||
/* 0AA51C 800A991C 24630004 */ addiu $v1, $v1, 4
|
||||
/* 0AA520 800A9920 5469FFC7 */ bnel $v1, $t1, .L800A9840
|
||||
/* 0AA524 800A9924 0064082B */ sltu $at, $v1, $a0
|
||||
/* 0AA528 800A9928 3C02800F */ lui $v0, %hi(D_800E86C4) # $v0, 0x800f
|
||||
/* 0AA52C 800A992C 244286C4 */ addiu $v0, %lo(D_800E86C4) # addiu $v0, $v0, -0x793c
|
||||
/* 0AA530 800A9930 A0400008 */ sb $zero, 8($v0)
|
||||
/* 0AA534 800A9934 804A0008 */ lb $t2, 8($v0)
|
||||
/* 0AA538 800A9938 03E00008 */ jr $ra
|
||||
/* 0AA53C 800A993C A04A0000 */ sb $t2, ($v0)
|
||||
|
||||
/* 0AA540 800A9940 8C8B0010 */ lw $t3, 0x10($a0)
|
||||
.L800A9944:
|
||||
/* 0AA544 800A9944 240E0069 */ li $t6, 105
|
||||
/* 0AA548 800A9948 3C03800F */ lui $v1, %hi(D_800E86C4 + 8) # $v1, 0x800f
|
||||
/* 0AA54C 800A994C 256C0002 */ addiu $t4, $t3, 2
|
||||
/* 0AA550 800A9950 29810073 */ slti $at, $t4, 0x73
|
||||
/* 0AA554 800A9954 1420004E */ bnez $at, .L800A9A90
|
||||
/* 0AA558 800A9958 AC8C0010 */ sw $t4, 0x10($a0)
|
||||
/* 0AA55C 800A995C AC8E0010 */ sw $t6, 0x10($a0)
|
||||
/* 0AA560 800A9960 A0A00000 */ sb $zero, ($a1)
|
||||
/* 0AA564 800A9964 3C05800F */ lui $a1, %hi(D_800E86C4 + 3) # $a1, 0x800f
|
||||
/* 0AA568 800A9968 3C04800F */ lui $a0, %hi(D_800E86C4 + 2) # $a0, 0x800f
|
||||
/* 0AA56C 800A996C 3C09800F */ lui $t1, %hi(D_800E86C4) # $t1, 0x800f
|
||||
/* 0AA570 800A9970 3C08800F */ lui $t0, %hi(D_800E86C4 + 5) # $t0, 0x800f
|
||||
/* 0AA574 800A9974 3C07800F */ lui $a3, %hi(D_800E86C4 + 4) # $a3, 0x800f
|
||||
/* 0AA578 800A9978 24E786C8 */ addiu $a3, %lo(D_800E86C4 + 4) # addiu $a3, $a3, -0x7938
|
||||
/* 0AA57C 800A997C 250886C9 */ addiu $t0, %lo(D_800E86C4 + 5) # addiu $t0, $t0, -0x7937
|
||||
/* 0AA580 800A9980 252986C4 */ addiu $t1, %lo(D_800E86C4) # addiu $t1, $t1, -0x793c
|
||||
/* 0AA584 800A9984 248486C6 */ addiu $a0, %lo(D_800E86C4 + 2) # addiu $a0, $a0, -0x793a
|
||||
/* 0AA588 800A9988 24A586C7 */ addiu $a1, %lo(D_800E86C4 + 3) # addiu $a1, $a1, -0x7939
|
||||
/* 0AA58C 800A998C 246386CC */ addiu $v1, %lo(D_800E86C4 + 8) # addiu $v1, $v1, -0x7934
|
||||
/* 0AA590 800A9990 0064082B */ sltu $at, $v1, $a0
|
||||
.L800A9994:
|
||||
/* 0AA594 800A9994 54200005 */ bnel $at, $zero, .L800A99AC
|
||||
/* 0AA598 800A9998 80620001 */ lb $v0, 1($v1)
|
||||
/* 0AA59C 800A999C 806FFFFF */ lb $t7, -1($v1)
|
||||
/* 0AA5A0 800A99A0 10000009 */ b .L800A99C8
|
||||
/* 0AA5A4 800A99A4 A06F0000 */ sb $t7, ($v1)
|
||||
/* 0AA5A8 800A99A8 80620001 */ lb $v0, 1($v1)
|
||||
.L800A99AC:
|
||||
/* 0AA5AC 800A99AC 10C20003 */ beq $a2, $v0, .L800A99BC
|
||||
/* 0AA5B0 800A99B0 00000000 */ nop
|
||||
/* 0AA5B4 800A99B4 14400003 */ bnez $v0, .L800A99C4
|
||||
/* 0AA5B8 800A99B8 2458FFFF */ addiu $t8, $v0, -1
|
||||
.L800A99BC:
|
||||
/* 0AA5BC 800A99BC 10000002 */ b .L800A99C8
|
||||
/* 0AA5C0 800A99C0 A0600000 */ sb $zero, ($v1)
|
||||
.L800A99C4:
|
||||
/* 0AA5C4 800A99C4 A0780000 */ sb $t8, ($v1)
|
||||
.L800A99C8:
|
||||
/* 0AA5C8 800A99C8 0065082B */ sltu $at, $v1, $a1
|
||||
/* 0AA5CC 800A99CC 54200005 */ bnel $at, $zero, .L800A99E4
|
||||
/* 0AA5D0 800A99D0 80620000 */ lb $v0, ($v1)
|
||||
/* 0AA5D4 800A99D4 8079FFFE */ lb $t9, -2($v1)
|
||||
/* 0AA5D8 800A99D8 10000009 */ b .L800A9A00
|
||||
/* 0AA5DC 800A99DC A079FFFF */ sb $t9, -1($v1)
|
||||
/* 0AA5E0 800A99E0 80620000 */ lb $v0, ($v1)
|
||||
.L800A99E4:
|
||||
/* 0AA5E4 800A99E4 10C20003 */ beq $a2, $v0, .L800A99F4
|
||||
/* 0AA5E8 800A99E8 00000000 */ nop
|
||||
/* 0AA5EC 800A99EC 14400003 */ bnez $v0, .L800A99FC
|
||||
/* 0AA5F0 800A99F0 244AFFFF */ addiu $t2, $v0, -1
|
||||
.L800A99F4:
|
||||
/* 0AA5F4 800A99F4 10000002 */ b .L800A9A00
|
||||
/* 0AA5F8 800A99F8 A060FFFF */ sb $zero, -1($v1)
|
||||
.L800A99FC:
|
||||
/* 0AA5FC 800A99FC A06AFFFF */ sb $t2, -1($v1)
|
||||
.L800A9A00:
|
||||
/* 0AA600 800A9A00 0067082B */ sltu $at, $v1, $a3
|
||||
/* 0AA604 800A9A04 54200005 */ bnel $at, $zero, .L800A9A1C
|
||||
/* 0AA608 800A9A08 8062FFFF */ lb $v0, -1($v1)
|
||||
/* 0AA60C 800A9A0C 806BFFFD */ lb $t3, -3($v1)
|
||||
/* 0AA610 800A9A10 10000009 */ b .L800A9A38
|
||||
/* 0AA614 800A9A14 A06BFFFE */ sb $t3, -2($v1)
|
||||
/* 0AA618 800A9A18 8062FFFF */ lb $v0, -1($v1)
|
||||
.L800A9A1C:
|
||||
/* 0AA61C 800A9A1C 10C20003 */ beq $a2, $v0, .L800A9A2C
|
||||
/* 0AA620 800A9A20 00000000 */ nop
|
||||
/* 0AA624 800A9A24 14400003 */ bnez $v0, .L800A9A34
|
||||
/* 0AA628 800A9A28 244CFFFF */ addiu $t4, $v0, -1
|
||||
.L800A9A2C:
|
||||
/* 0AA62C 800A9A2C 10000002 */ b .L800A9A38
|
||||
/* 0AA630 800A9A30 A060FFFE */ sb $zero, -2($v1)
|
||||
.L800A9A34:
|
||||
/* 0AA634 800A9A34 A06CFFFE */ sb $t4, -2($v1)
|
||||
.L800A9A38:
|
||||
/* 0AA638 800A9A38 0068082B */ sltu $at, $v1, $t0
|
||||
/* 0AA63C 800A9A3C 54200005 */ bnel $at, $zero, .L800A9A54
|
||||
/* 0AA640 800A9A40 8062FFFE */ lb $v0, -2($v1)
|
||||
/* 0AA644 800A9A44 806DFFFC */ lb $t5, -4($v1)
|
||||
/* 0AA648 800A9A48 10000009 */ b .L800A9A70
|
||||
/* 0AA64C 800A9A4C A06DFFFD */ sb $t5, -3($v1)
|
||||
/* 0AA650 800A9A50 8062FFFE */ lb $v0, -2($v1)
|
||||
.L800A9A54:
|
||||
/* 0AA654 800A9A54 10C20003 */ beq $a2, $v0, .L800A9A64
|
||||
/* 0AA658 800A9A58 00000000 */ nop
|
||||
/* 0AA65C 800A9A5C 14400003 */ bnez $v0, .L800A9A6C
|
||||
/* 0AA660 800A9A60 244EFFFF */ addiu $t6, $v0, -1
|
||||
.L800A9A64:
|
||||
/* 0AA664 800A9A64 10000002 */ b .L800A9A70
|
||||
/* 0AA668 800A9A68 A060FFFD */ sb $zero, -3($v1)
|
||||
.L800A9A6C:
|
||||
/* 0AA66C 800A9A6C A06EFFFD */ sb $t6, -3($v1)
|
||||
.L800A9A70:
|
||||
/* 0AA670 800A9A70 2463FFFC */ addiu $v1, $v1, -4
|
||||
/* 0AA674 800A9A74 5469FFC7 */ bnel $v1, $t1, .L800A9994
|
||||
/* 0AA678 800A9A78 0064082B */ sltu $at, $v1, $a0
|
||||
/* 0AA67C 800A9A7C 3C02800F */ lui $v0, %hi(D_800E86C4) # $v0, 0x800f
|
||||
/* 0AA680 800A9A80 244286C4 */ addiu $v0, %lo(D_800E86C4) # addiu $v0, $v0, -0x793c
|
||||
/* 0AA684 800A9A84 A0400008 */ sb $zero, 8($v0)
|
||||
/* 0AA688 800A9A88 804F0008 */ lb $t7, 8($v0)
|
||||
/* 0AA68C 800A9A8C A04F0000 */ sb $t7, ($v0)
|
||||
.L800A9A90:
|
||||
/* 0AA690 800A9A90 03E00008 */ jr $ra
|
||||
/* 0AA694 800A9A94 00000000 */ nop
|
||||
|
|
@ -1597,8 +1597,6 @@ void func_80092258(void) {
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
//generated by m2c commit eefca95b040d7ee0c617bc58f9ac6cd1cf7bce87 on Sep-02-2023
|
||||
void func_80092290(s32 arg0, s32 *arg1, s32 *arg2) {
|
||||
s32 temp_v1;
|
||||
s32 i;
|
||||
|
|
@ -1607,6 +1605,7 @@ void func_80092290(s32 arg0, s32 *arg1, s32 *arg2) {
|
|||
s32 temp_t7;
|
||||
s32 temp_t8_2;
|
||||
s32 temp_t9;
|
||||
s32 temp_t0;
|
||||
s32 a, b, c, d;
|
||||
Vtx *vtx;
|
||||
|
||||
|
|
@ -1630,11 +1629,11 @@ void func_80092290(s32 arg0, s32 *arg1, s32 *arg2) {
|
|||
temp_t7 = (vtx+temp_v1)->v.cn[2] * (256 - *arg2);
|
||||
temp_t8_2 = (vtx+temp_v1)->v.cn[3] * (256 - *arg2);
|
||||
|
||||
temp_v1 = (*arg1 % 6) + 2;
|
||||
a = (*arg2 * (vtx+temp_v1)->v.cn[0]);
|
||||
b = (*arg2 * (vtx+temp_v1)->v.cn[1]);
|
||||
c = (*arg2 * (vtx+temp_v1)->v.cn[2]);
|
||||
d = (*arg2 * (vtx+temp_v1)->v.cn[3]);
|
||||
temp_v1 = (((*arg1 * 2) + 2) % 6) + 2;
|
||||
a = ((vtx+temp_v1)->v.cn[0] * *arg2);
|
||||
b = ((vtx+temp_v1)->v.cn[1] * *arg2);
|
||||
c = ((vtx+temp_v1)->v.cn[2] * *arg2);
|
||||
d = ((vtx+temp_v1)->v.cn[3] * *arg2);
|
||||
|
||||
|
||||
(vtx+idx)->v.cn[0] = (temp_t6 + a) / 256;
|
||||
|
|
@ -1648,9 +1647,7 @@ void func_80092290(s32 arg0, s32 *arg1, s32 *arg2) {
|
|||
(vtx+idx+1)->v.cn[3] = (temp_t8_2 + d) / 256;
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_80092290.s")
|
||||
#endif
|
||||
|
||||
|
||||
void func_80092500(void) {
|
||||
|
||||
|
|
@ -9330,161 +9327,53 @@ void func_800A9710(struct_8018D9E0_entry *arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 3c194b80148d233bd38495ca3456dc7b201a0302 on Mar-22-2024
|
||||
void func_800A97BC(struct_8018D9E0_entry *arg0) {
|
||||
s32 temp_t4;
|
||||
s32 temp_t7;
|
||||
s8 *var_v1;
|
||||
s8 *var_v1_2;
|
||||
s8 temp_v0;
|
||||
s8 temp_v0_2;
|
||||
s8 temp_v0_3;
|
||||
s8 temp_v0_4;
|
||||
s8 temp_v0_5;
|
||||
s8 temp_v0_6;
|
||||
s8 temp_v0_7;
|
||||
s8 temp_v0_8;
|
||||
void func_800A97BC(struct_8018D9E0_entry* arg0) {
|
||||
s32 i;
|
||||
|
||||
if (*D_800E86D0 != 1) {
|
||||
if (*D_800E86D0 != 2) {
|
||||
switch(*D_800E86D0) {
|
||||
case 1:
|
||||
arg0->row -= 2;
|
||||
if (arg0->row < 0x60) {
|
||||
arg0->row = 0x69;
|
||||
*D_800E86D0 = 0;
|
||||
return;
|
||||
for (i = 0; i < 8; i++) {
|
||||
if (i < 7) {
|
||||
D_800E86C4[i] = D_800E86C4[i + 1];
|
||||
} else {
|
||||
if ((D_800E86C4[i - 1] == 0x10) || (D_800E86C4[i - 1] == 0)) {
|
||||
D_800E86C4[i] = 0;
|
||||
} else {
|
||||
D_800E86C4[i] = D_800E86C4[i - 1] + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
D_800E86C4[0] = D_800E86C4[8] = 0;
|
||||
}
|
||||
temp_t4 = arg0->row + 2;
|
||||
arg0->row = temp_t4;
|
||||
if (temp_t4 >= 0x73) {
|
||||
arg0->row = 0x00000069;
|
||||
*D_800E86D0 = 0;
|
||||
var_v1 = D_800E86C4 + 8;
|
||||
do {
|
||||
if ((u32) var_v1 >= (u32) (D_800E86C4 + 2)) {
|
||||
var_v1->unk0 = var_v1->unk-1;
|
||||
} else {
|
||||
temp_v0 = var_v1->unk1;
|
||||
if ((temp_v0 == 1) || (temp_v0 == 0)) {
|
||||
var_v1->unk0 = 0;
|
||||
} else {
|
||||
var_v1->unk0 = temp_v0 - 1;
|
||||
}
|
||||
}
|
||||
if ((u32) var_v1 >= (u32) (D_800E86C4 + 3)) {
|
||||
var_v1->unk-1 = (s8) var_v1->unk-2;
|
||||
} else {
|
||||
temp_v0_2 = var_v1->unk0;
|
||||
if ((temp_v0_2 == 1) || (temp_v0_2 == 0)) {
|
||||
var_v1->unk-1 = 0;
|
||||
} else {
|
||||
var_v1->unk-1 = (s8) (temp_v0_2 - 1);
|
||||
}
|
||||
}
|
||||
if ((u32) var_v1 >= (u32) (D_800E86C4 + 4)) {
|
||||
var_v1->unk-2 = (s8) var_v1->unk-3;
|
||||
} else {
|
||||
temp_v0_3 = var_v1->unk-1;
|
||||
if ((temp_v0_3 == 1) || (temp_v0_3 == 0)) {
|
||||
var_v1->unk-2 = 0;
|
||||
} else {
|
||||
var_v1->unk-2 = (s8) (temp_v0_3 - 1);
|
||||
}
|
||||
}
|
||||
if ((u32) var_v1 >= (u32) (D_800E86C4 + 5)) {
|
||||
var_v1->unk-3 = (s8) var_v1->unk-4;
|
||||
} else {
|
||||
temp_v0_4 = var_v1->unk-2;
|
||||
if ((temp_v0_4 == 1) || (temp_v0_4 == 0)) {
|
||||
var_v1->unk-3 = 0;
|
||||
} else {
|
||||
var_v1->unk-3 = (s8) (temp_v0_4 - 1);
|
||||
}
|
||||
}
|
||||
var_v1 -= 4;
|
||||
} while (var_v1 != D_800E86C4);
|
||||
|
||||
// for (var_v1 = 0; var_v1 < 8; var_v1++) {
|
||||
// huh = 8 - var_v1;
|
||||
// if (D_800E86C4[huh] >= D_800E86C4[var_v1 + 2]) {
|
||||
// D_800E86C4[huh] = D_800E86C4[huh - 1];
|
||||
// } else {
|
||||
// if ((D_800E86C4[huh + 1] == 1) || (D_800E86C4[huh + 1] == 0)) {
|
||||
// D_800E86C4[huh] = 0;
|
||||
// } else {
|
||||
// D_800E86C4[huh] = D_800E86C4[huh + 1] + 1;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
D_800E86C4->unk8 = 0;
|
||||
D_800E86C4->unk0 = D_800E86C4->unk8;
|
||||
}
|
||||
} else {
|
||||
temp_t7 = arg0->row - 2;
|
||||
arg0->row = temp_t7;
|
||||
if (temp_t7 < 0x60) {
|
||||
arg0->row = 0x00000069;
|
||||
break;
|
||||
case 2:
|
||||
arg0->row += 2;
|
||||
if (arg0->row >= 0x73) {
|
||||
arg0->row = 0x69;
|
||||
*D_800E86D0 = 0;
|
||||
var_v1_2 = D_800E86C4;
|
||||
do {
|
||||
if ((u32) var_v1_2 < (u32) (D_800E86C4 + 7)) {
|
||||
var_v1_2->unk0 = var_v1_2->unk1;
|
||||
for (i = 8; i > 0; i--) {
|
||||
if (i > 1) {
|
||||
D_800E86C4[i] = D_800E86C4[i - 1];
|
||||
} else {
|
||||
temp_v0_5 = var_v1_2->unk-1;
|
||||
if ((temp_v0_5 == 0x10) || (temp_v0_5 == 0)) {
|
||||
var_v1_2->unk0 = 0;
|
||||
if ((D_800E86C4[i + 1] == 1) || (D_800E86C4[i + 1] == 0)) {
|
||||
D_800E86C4[i] = 0;
|
||||
} else {
|
||||
var_v1_2->unk0 = temp_v0_5 + 1;
|
||||
D_800E86C4[i] = D_800E86C4[i+1] - 1;
|
||||
}
|
||||
}
|
||||
if ((u32) var_v1_2 < (u32) (D_800E86C4 + 6)) {
|
||||
var_v1_2->unk1 = (s8) var_v1_2->unk2;
|
||||
} else {
|
||||
temp_v0_6 = var_v1_2->unk0;
|
||||
if ((temp_v0_6 == 0x10) || (temp_v0_6 == 0)) {
|
||||
var_v1_2->unk1 = 0;
|
||||
} else {
|
||||
var_v1_2->unk1 = (s8) (temp_v0_6 + 1);
|
||||
}
|
||||
}
|
||||
if ((u32) var_v1_2 < (u32) (D_800E86C4 + 5)) {
|
||||
var_v1_2->unk2 = (s8) var_v1_2->unk3;
|
||||
} else {
|
||||
temp_v0_7 = var_v1_2->unk1;
|
||||
if ((temp_v0_7 == 0x10) || (temp_v0_7 == 0)) {
|
||||
var_v1_2->unk2 = 0;
|
||||
} else {
|
||||
var_v1_2->unk2 = (s8) (temp_v0_7 + 1);
|
||||
}
|
||||
}
|
||||
if ((u32) var_v1_2 < (u32) (D_800E86C4 + 4)) {
|
||||
var_v1_2->unk3 = (s8) var_v1_2->unk4;
|
||||
} else {
|
||||
temp_v0_8 = var_v1_2->unk2;
|
||||
if ((temp_v0_8 == 0x10) || (temp_v0_8 == 0)) {
|
||||
var_v1_2->unk3 = 0;
|
||||
} else {
|
||||
var_v1_2->unk3 = (s8) (temp_v0_8 + 1);
|
||||
}
|
||||
}
|
||||
var_v1_2 += 4;
|
||||
} while (var_v1_2 != (D_800E86C4 + 8));
|
||||
// for (var_v1 = 0; var_v1 < 8; var_v1++) {
|
||||
// if (D_800E86C4[var_v1] < D_800E86C4[7 - var_v1]) {
|
||||
// D_800E86C4[var_v1] = D_800E86C4[var_v1 + 1];
|
||||
// } else {
|
||||
// if ((D_800E86C4[var_v1 - 1] == 16) || (D_800E86C4[var_v1 - 1] == 0)) {
|
||||
// D_800E86C4[var_v1] = 0;
|
||||
// } else {
|
||||
// D_800E86C4[var_v1] = D_800E86C4[var_v1 - 1] + 1;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
D_800E86C4->unk8 = 0;
|
||||
D_800E86C4->unk0 = D_800E86C4->unk8;
|
||||
}
|
||||
}
|
||||
D_800E86C4[0] = D_800E86C4[8] = 0;
|
||||
break;
|
||||
default:
|
||||
*D_800E86D0 = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A97BC.s")
|
||||
#endif
|
||||
}} // todo: <-- fix these brackets
|
||||
|
||||
// Don't know if this belongs here or inside func_800A9A98
|
||||
// as a `static const`. But this matches so we'll leave
|
||||
|
|
|
|||
Loading…
Reference in New Issue