mirror of https://github.com/n64decomp/mk64.git
Yet more assorted matches (#278)
* Yet more assorted matches Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
This commit is contained in:
parent
a753895359
commit
eeab33814d
|
|
@ -1,156 +0,0 @@
|
|||
glabel func_8001D53C
|
||||
/* 01E13C 8001D53C 27BDFF68 */ addiu $sp, $sp, -0x98
|
||||
/* 01E140 8001D540 AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* 01E144 8001D544 AFB20030 */ sw $s2, 0x30($sp)
|
||||
/* 01E148 8001D548 AFB1002C */ sw $s1, 0x2c($sp)
|
||||
/* 01E14C 8001D54C AFB00028 */ sw $s0, 0x28($sp)
|
||||
/* 01E150 8001D550 F7B40020 */ sdc1 $f20, 0x20($sp)
|
||||
/* 01E154 8001D554 AFA700A4 */ sw $a3, 0xa4($sp)
|
||||
/* 01E158 8001D558 94820222 */ lhu $v0, 0x222($a0)
|
||||
/* 01E15C 8001D55C 00A08025 */ move $s0, $a1
|
||||
/* 01E160 8001D560 00808825 */ move $s1, $a0
|
||||
/* 01E164 8001D564 14400009 */ bnez $v0, .L8001D58C
|
||||
/* 01E168 8001D568 00C09025 */ move $s2, $a2
|
||||
/* 01E16C 8001D56C 4480A000 */ mtc1 $zero, $f20
|
||||
/* 01E170 8001D570 C4A400A0 */ lwc1 $f4, 0xa0($a1)
|
||||
/* 01E174 8001D574 4604A032 */ c.eq.s $f20, $f4
|
||||
/* 01E178 8001D578 00000000 */ nop
|
||||
/* 01E17C 8001D57C 45020004 */ bc1fl .L8001D590
|
||||
/* 01E180 8001D580 4480A000 */ mtc1 $zero, $f20
|
||||
/* 01E184 8001D584 E4B400A0 */ swc1 $f20, 0xa0($a1)
|
||||
/* 01E188 8001D588 94820222 */ lhu $v0, 0x222($a0)
|
||||
.L8001D58C:
|
||||
/* 01E18C 8001D58C 4480A000 */ mtc1 $zero, $f20
|
||||
.L8001D590:
|
||||
/* 01E190 8001D590 24010004 */ li $at, 4
|
||||
/* 01E194 8001D594 10410008 */ beq $v0, $at, .L8001D5B8
|
||||
/* 01E198 8001D598 260400A0 */ addiu $a0, $s0, 0xa0
|
||||
/* 01E19C 8001D59C 3C063D75 */ lui $a2, (0x3D75C28F >> 16) # lui $a2, 0x3d75
|
||||
/* 01E1A0 8001D5A0 34C6C28F */ ori $a2, (0x3D75C28F & 0xFFFF) # ori $a2, $a2, 0xc28f
|
||||
/* 01E1A4 8001D5A4 260400A0 */ addiu $a0, $s0, 0xa0
|
||||
/* 01E1A8 8001D5A8 0C008973 */ jal move_f32_towards
|
||||
/* 01E1AC 8001D5AC 3C0541A0 */ lui $a1, 0x41a0
|
||||
/* 01E1B0 8001D5B0 10000006 */ b .L8001D5CC
|
||||
/* 01E1B4 8001D5B4 87A200B6 */ lh $v0, 0xb6($sp)
|
||||
.L8001D5B8:
|
||||
/* 01E1B8 8001D5B8 4405A000 */ mfc1 $a1, $f20
|
||||
/* 01E1BC 8001D5BC 3C063D75 */ lui $a2, (0x3D75C28F >> 16) # lui $a2, 0x3d75
|
||||
/* 01E1C0 8001D5C0 0C008973 */ jal move_f32_towards
|
||||
/* 01E1C4 8001D5C4 34C6C28F */ ori $a2, (0x3D75C28F & 0xFFFF) # ori $a2, $a2, 0xc28f
|
||||
/* 01E1C8 8001D5C8 87A200B6 */ lh $v0, 0xb6($sp)
|
||||
.L8001D5CC:
|
||||
/* 01E1CC 8001D5CC 3C018016 */ lui $at, %hi(D_801652A0)
|
||||
/* 01E1D0 8001D5D0 4405A000 */ mfc1 $a1, $f20
|
||||
/* 01E1D4 8001D5D4 00027080 */ sll $t6, $v0, 2
|
||||
/* 01E1D8 8001D5D8 002E0821 */ addu $at, $at, $t6
|
||||
/* 01E1DC 8001D5DC C42652A0 */ lwc1 $f6, %lo(D_801652A0)($at)
|
||||
/* 01E1E0 8001D5E0 4407A000 */ mfc1 $a3, $f20
|
||||
/* 01E1E4 8001D5E4 27A40074 */ addiu $a0, $sp, 0x74
|
||||
/* 01E1E8 8001D5E8 E7A6003C */ swc1 $f6, 0x3c($sp)
|
||||
/* 01E1EC 8001D5EC C6080030 */ lwc1 $f8, 0x30($s0)
|
||||
/* 01E1F0 8001D5F0 3C063F80 */ lui $a2, 0x3f80
|
||||
/* 01E1F4 8001D5F4 E7A80068 */ swc1 $f8, 0x68($sp)
|
||||
/* 01E1F8 8001D5F8 C60A0034 */ lwc1 $f10, 0x34($s0)
|
||||
/* 01E1FC 8001D5FC E7AA006C */ swc1 $f10, 0x6c($sp)
|
||||
/* 01E200 8001D600 C6100038 */ lwc1 $f16, 0x38($s0)
|
||||
/* 01E204 8001D604 E7B00070 */ swc1 $f16, 0x70($sp)
|
||||
/* 01E208 8001D608 C612003C */ lwc1 $f18, 0x3c($s0)
|
||||
/* 01E20C 8001D60C E7B2005C */ swc1 $f18, 0x5c($sp)
|
||||
/* 01E210 8001D610 C60600A0 */ lwc1 $f6, 0xa0($s0)
|
||||
/* 01E214 8001D614 C6040040 */ lwc1 $f4, 0x40($s0)
|
||||
/* 01E218 8001D618 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 01E21C 8001D61C E7A80060 */ swc1 $f8, 0x60($sp)
|
||||
/* 01E220 8001D620 C60A0044 */ lwc1 $f10, 0x44($s0)
|
||||
/* 01E224 8001D624 E7AA0064 */ swc1 $f10, 0x64($sp)
|
||||
/* 01E228 8001D628 C610000C */ lwc1 $f16, 0xc($s0)
|
||||
/* 01E22C 8001D62C E6500000 */ swc1 $f16, ($s2)
|
||||
/* 01E230 8001D630 C6120010 */ lwc1 $f18, 0x10($s0)
|
||||
/* 01E234 8001D634 E6520004 */ swc1 $f18, 4($s2)
|
||||
/* 01E238 8001D638 C6040014 */ lwc1 $f4, 0x14($s0)
|
||||
/* 01E23C 8001D63C E6440008 */ swc1 $f4, 8($s2)
|
||||
/* 01E240 8001D640 87AF00B2 */ lh $t7, 0xb2($sp)
|
||||
/* 01E244 8001D644 AFAE0038 */ sw $t6, 0x38($sp)
|
||||
/* 01E248 8001D648 0C0AD950 */ jal func_802B6540
|
||||
/* 01E24C 8001D64C AFAF0010 */ sw $t7, 0x10($sp)
|
||||
/* 01E250 8001D650 27A4005C */ addiu $a0, $sp, 0x5c
|
||||
/* 01E254 8001D654 0C0AD8EE */ jal func_802B63B8
|
||||
/* 01E258 8001D658 27A50074 */ addiu $a1, $sp, 0x74
|
||||
/* 01E25C 8001D65C C7A6005C */ lwc1 $f6, 0x5c($sp)
|
||||
/* 01E260 8001D660 C6280014 */ lwc1 $f8, 0x14($s1)
|
||||
/* 01E264 8001D664 C7AA0064 */ lwc1 $f10, 0x64($sp)
|
||||
/* 01E268 8001D668 C630001C */ lwc1 $f16, 0x1c($s1)
|
||||
/* 01E26C 8001D66C 46083080 */ add.s $f2, $f6, $f8
|
||||
/* 01E270 8001D670 C608000C */ lwc1 $f8, 0xc($s0)
|
||||
/* 01E274 8001D674 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 01E278 8001D678 46105300 */ add.s $f12, $f10, $f16
|
||||
/* 01E27C 8001D67C 44817000 */ mtc1 $at, $f14
|
||||
/* 01E280 8001D680 C7B20060 */ lwc1 $f18, 0x60($sp)
|
||||
/* 01E284 8001D684 46081281 */ sub.s $f10, $f2, $f8
|
||||
/* 01E288 8001D688 C6240018 */ lwc1 $f4, 0x18($s1)
|
||||
/* 01E28C 8001D68C C6460000 */ lwc1 $f6, ($s2)
|
||||
/* 01E290 8001D690 27A40068 */ addiu $a0, $sp, 0x68
|
||||
/* 01E294 8001D694 460E5402 */ mul.s $f16, $f10, $f14
|
||||
/* 01E298 8001D698 46049000 */ add.s $f0, $f18, $f4
|
||||
/* 01E29C 8001D69C C6440008 */ lwc1 $f4, 8($s2)
|
||||
/* 01E2A0 8001D6A0 27A50074 */ addiu $a1, $sp, 0x74
|
||||
/* 01E2A4 8001D6A4 46103480 */ add.s $f18, $f6, $f16
|
||||
/* 01E2A8 8001D6A8 E6520000 */ swc1 $f18, ($s2)
|
||||
/* 01E2AC 8001D6AC C6080014 */ lwc1 $f8, 0x14($s0)
|
||||
/* 01E2B0 8001D6B0 C6520004 */ lwc1 $f18, 4($s2)
|
||||
/* 01E2B4 8001D6B4 46086281 */ sub.s $f10, $f12, $f8
|
||||
/* 01E2B8 8001D6B8 460E5182 */ mul.s $f6, $f10, $f14
|
||||
/* 01E2BC 8001D6BC 46062400 */ add.s $f16, $f4, $f6
|
||||
/* 01E2C0 8001D6C0 E6500008 */ swc1 $f16, 8($s2)
|
||||
/* 01E2C4 8001D6C4 C6080010 */ lwc1 $f8, 0x10($s0)
|
||||
/* 01E2C8 8001D6C8 46080281 */ sub.s $f10, $f0, $f8
|
||||
/* 01E2CC 8001D6CC 460E5102 */ mul.s $f4, $f10, $f14
|
||||
/* 01E2D0 8001D6D0 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 01E2D4 8001D6D4 0C0AD8EE */ jal func_802B63B8
|
||||
/* 01E2D8 8001D6D8 E6460004 */ swc1 $f6, 4($s2)
|
||||
/* 01E2DC 8001D6DC C7B00068 */ lwc1 $f16, 0x68($sp)
|
||||
/* 01E2E0 8001D6E0 C6280014 */ lwc1 $f8, 0x14($s1)
|
||||
/* 01E2E4 8001D6E4 C7AA0070 */ lwc1 $f10, 0x70($sp)
|
||||
/* 01E2E8 8001D6E8 C632001C */ lwc1 $f18, 0x1c($s1)
|
||||
/* 01E2EC 8001D6EC C6240074 */ lwc1 $f4, 0x74($s1)
|
||||
/* 01E2F0 8001D6F0 3C013FF8 */ li $at, 0x3FF80000 # 1.937500
|
||||
/* 01E2F4 8001D6F4 46088080 */ add.s $f2, $f16, $f8
|
||||
/* 01E2F8 8001D6F8 44808000 */ mtc1 $zero, $f16
|
||||
/* 01E2FC 8001D6FC 44818800 */ mtc1 $at, $f17
|
||||
/* 01E300 8001D700 460021A1 */ cvt.d.s $f6, $f4
|
||||
/* 01E304 8001D704 46125300 */ add.s $f12, $f10, $f18
|
||||
/* 01E308 8001D708 C7AA006C */ lwc1 $f10, 0x6c($sp)
|
||||
/* 01E30C 8001D70C 863800CA */ lh $t8, 0xca($s1)
|
||||
/* 01E310 8001D710 46303200 */ add.d $f8, $f6, $f16
|
||||
/* 01E314 8001D714 24010001 */ li $at, 1
|
||||
/* 01E318 8001D718 33190001 */ andi $t9, $t8, 1
|
||||
/* 01E31C 8001D71C 460054A1 */ cvt.d.s $f18, $f10
|
||||
/* 01E320 8001D720 C7A6003C */ lwc1 $f6, 0x3c($sp)
|
||||
/* 01E324 8001D724 46289100 */ add.d $f4, $f18, $f8
|
||||
/* 01E328 8001D728 8FA800A4 */ lw $t0, 0xa4($sp)
|
||||
/* 01E32C 8001D72C 17210006 */ bne $t9, $at, .L8001D748
|
||||
/* 01E330 8001D730 46202020 */ cvt.s.d $f0, $f4
|
||||
/* 01E334 8001D734 3C014120 */ li $at, 0x41200000 # 10.000000
|
||||
/* 01E338 8001D738 44818000 */ mtc1 $at, $f16
|
||||
/* 01E33C 8001D73C 00000000 */ nop
|
||||
/* 01E340 8001D740 46103480 */ add.s $f18, $f6, $f16
|
||||
/* 01E344 8001D744 46125000 */ add.s $f0, $f10, $f18
|
||||
.L8001D748:
|
||||
/* 01E348 8001D748 8FA20038 */ lw $v0, 0x38($sp)
|
||||
/* 01E34C 8001D74C E5020000 */ swc1 $f2, ($t0)
|
||||
/* 01E350 8001D750 8FA900A8 */ lw $t1, 0xa8($sp)
|
||||
/* 01E354 8001D754 3C018016 */ lui $at, %hi(D_80164A90)
|
||||
/* 01E358 8001D758 00220821 */ addu $at, $at, $v0
|
||||
/* 01E35C 8001D75C E5200000 */ swc1 $f0, ($t1)
|
||||
/* 01E360 8001D760 8FAA00AC */ lw $t2, 0xac($sp)
|
||||
/* 01E364 8001D764 E54C0000 */ swc1 $f12, ($t2)
|
||||
/* 01E368 8001D768 E4344A90 */ swc1 $f20, %lo(D_80164A90)($at)
|
||||
/* 01E36C 8001D76C 3C018016 */ lui $at, %hi(D_80164AA0)
|
||||
/* 01E370 8001D770 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* 01E374 8001D774 00220821 */ addu $at, $at, $v0
|
||||
/* 01E378 8001D778 E4344AA0 */ swc1 $f20, %lo(D_80164AA0)($at)
|
||||
/* 01E37C 8001D77C D7B40020 */ ldc1 $f20, 0x20($sp)
|
||||
/* 01E380 8001D780 8FB20030 */ lw $s2, 0x30($sp)
|
||||
/* 01E384 8001D784 8FB1002C */ lw $s1, 0x2c($sp)
|
||||
/* 01E388 8001D788 8FB00028 */ lw $s0, 0x28($sp)
|
||||
/* 01E38C 8001D78C 03E00008 */ jr $ra
|
||||
/* 01E390 8001D790 27BD0098 */ addiu $sp, $sp, 0x98
|
||||
|
|
@ -1,74 +0,0 @@
|
|||
glabel func_8001E8E8
|
||||
/* 01F4E8 8001E8E8 27BDFF58 */ addiu $sp, $sp, -0xa8
|
||||
/* 01F4EC 8001E8EC AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* 01F4F0 8001E8F0 AFB00028 */ sw $s0, 0x28($sp)
|
||||
/* 01F4F4 8001E8F4 AFA500AC */ sw $a1, 0xac($sp)
|
||||
/* 01F4F8 8001E8F8 AFA600B0 */ sw $a2, 0xb0($sp)
|
||||
/* 01F4FC 8001E8FC A48000B0 */ sh $zero, 0xb0($a0)
|
||||
/* 01F500 8001E900 8FAE00AC */ lw $t6, 0xac($sp)
|
||||
/* 01F504 8001E904 00808025 */ move $s0, $a0
|
||||
/* 01F508 8001E908 27B90078 */ addiu $t9, $sp, 0x78
|
||||
/* 01F50C 8001E90C 85CF002E */ lh $t7, 0x2e($t6)
|
||||
/* 01F510 8001E910 27A80074 */ addiu $t0, $sp, 0x74
|
||||
/* 01F514 8001E914 02002825 */ move $a1, $s0
|
||||
/* 01F518 8001E918 A48F002C */ sh $t7, 0x2c($a0)
|
||||
/* 01F51C 8001E91C 8FA400AC */ lw $a0, 0xac($sp)
|
||||
/* 01F520 8001E920 AFA80014 */ sw $t0, 0x14($sp)
|
||||
/* 01F524 8001E924 AFB90010 */ sw $t9, 0x10($sp)
|
||||
/* 01F528 8001E928 83AA00B3 */ lb $t2, 0xb3($sp)
|
||||
/* 01F52C 8001E92C 8489002E */ lh $t1, 0x2e($a0)
|
||||
/* 01F530 8001E930 27A6005C */ addiu $a2, $sp, 0x5c
|
||||
/* 01F534 8001E934 27A7007C */ addiu $a3, $sp, 0x7c
|
||||
/* 01F538 8001E938 AFAA001C */ sw $t2, 0x1c($sp)
|
||||
/* 01F53C 8001E93C 0C00754F */ jal func_8001D53C
|
||||
/* 01F540 8001E940 AFA90018 */ sw $t1, 0x18($sp)
|
||||
/* 01F544 8001E944 C7A40074 */ lwc1 $f4, 0x74($sp)
|
||||
/* 01F548 8001E948 26040054 */ addiu $a0, $s0, 0x54
|
||||
/* 01F54C 8001E94C 3C0540A0 */ lui $a1, 0x40a0
|
||||
/* 01F550 8001E950 8FA6007C */ lw $a2, 0x7c($sp)
|
||||
/* 01F554 8001E954 8FA70078 */ lw $a3, 0x78($sp)
|
||||
/* 01F558 8001E958 0C0AB772 */ jal func_802ADDC8
|
||||
/* 01F55C 8001E95C E7A40010 */ swc1 $f4, 0x10($sp)
|
||||
/* 01F560 8001E960 C7A6005C */ lwc1 $f6, 0x5c($sp)
|
||||
/* 01F564 8001E964 E606000C */ swc1 $f6, 0xc($s0)
|
||||
/* 01F568 8001E968 C7A80060 */ lwc1 $f8, 0x60($sp)
|
||||
/* 01F56C 8001E96C C606000C */ lwc1 $f6, 0xc($s0)
|
||||
/* 01F570 8001E970 E6080010 */ swc1 $f8, 0x10($s0)
|
||||
/* 01F574 8001E974 C7AA0064 */ lwc1 $f10, 0x64($sp)
|
||||
/* 01F578 8001E978 E60A0014 */ swc1 $f10, 0x14($s0)
|
||||
/* 01F57C 8001E97C C7B0007C */ lwc1 $f16, 0x7c($sp)
|
||||
/* 01F580 8001E980 C60A0010 */ lwc1 $f10, 0x10($s0)
|
||||
/* 01F584 8001E984 E6100000 */ swc1 $f16, ($s0)
|
||||
/* 01F588 8001E988 C7B20078 */ lwc1 $f18, 0x78($sp)
|
||||
/* 01F58C 8001E98C C6080000 */ lwc1 $f8, ($s0)
|
||||
/* 01F590 8001E990 E6120004 */ swc1 $f18, 4($s0)
|
||||
/* 01F594 8001E994 C6100004 */ lwc1 $f16, 4($s0)
|
||||
/* 01F598 8001E998 C7A40074 */ lwc1 $f4, 0x74($sp)
|
||||
/* 01F59C 8001E99C 46083301 */ sub.s $f12, $f6, $f8
|
||||
/* 01F5A0 8001E9A0 E6040008 */ swc1 $f4, 8($s0)
|
||||
/* 01F5A4 8001E9A4 46105481 */ sub.s $f18, $f10, $f16
|
||||
/* 01F5A8 8001E9A8 E7B20088 */ swc1 $f18, 0x88($sp)
|
||||
/* 01F5AC 8001E9AC C6060008 */ lwc1 $f6, 8($s0)
|
||||
/* 01F5B0 8001E9B0 C6040014 */ lwc1 $f4, 0x14($s0)
|
||||
/* 01F5B4 8001E9B4 E7AC008C */ swc1 $f12, 0x8c($sp)
|
||||
/* 01F5B8 8001E9B8 46062381 */ sub.s $f14, $f4, $f6
|
||||
/* 01F5BC 8001E9BC 0C0ADE0C */ jal atan2s
|
||||
/* 01F5C0 8001E9C0 E7AE0084 */ swc1 $f14, 0x84($sp)
|
||||
/* 01F5C4 8001E9C4 C7A0008C */ lwc1 $f0, 0x8c($sp)
|
||||
/* 01F5C8 8001E9C8 C7AE0084 */ lwc1 $f14, 0x84($sp)
|
||||
/* 01F5CC 8001E9CC A6020026 */ sh $v0, 0x26($s0)
|
||||
/* 01F5D0 8001E9D0 46000202 */ mul.s $f8, $f0, $f0
|
||||
/* 01F5D4 8001E9D4 00000000 */ nop
|
||||
/* 01F5D8 8001E9D8 460E7282 */ mul.s $f10, $f14, $f14
|
||||
/* 01F5DC 8001E9DC 0C033850 */ jal sqrtf
|
||||
/* 01F5E0 8001E9E0 460A4300 */ add.s $f12, $f8, $f10
|
||||
/* 01F5E4 8001E9E4 46000306 */ mov.s $f12, $f0
|
||||
/* 01F5E8 8001E9E8 0C0ADE0C */ jal atan2s
|
||||
/* 01F5EC 8001E9EC C7AE0088 */ lwc1 $f14, 0x88($sp)
|
||||
/* 01F5F0 8001E9F0 A6020024 */ sh $v0, 0x24($s0)
|
||||
/* 01F5F4 8001E9F4 A6000028 */ sh $zero, 0x28($s0)
|
||||
/* 01F5F8 8001E9F8 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* 01F5FC 8001E9FC 8FB00028 */ lw $s0, 0x28($sp)
|
||||
/* 01F600 8001EA00 27BD00A8 */ addiu $sp, $sp, 0xa8
|
||||
/* 01F604 8001EA04 03E00008 */ jr $ra
|
||||
/* 01F608 8001EA08 00000000 */ nop
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
glabel func_80060B14
|
||||
/* 061714 80060B14 3C02800E */ lui $v0, %hi(gCurrentCourseId) # $v0, 0x800e
|
||||
/* 061718 80060B18 8442C5A0 */ lh $v0, %lo(gCurrentCourseId)($v0)
|
||||
/* 06171C 80060B1C 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 061720 80060B20 00057400 */ sll $t6, $a1, 0x10
|
||||
/* 061724 80060B24 000E7C03 */ sra $t7, $t6, 0x10
|
||||
/* 061728 80060B28 AFA50024 */ sw $a1, 0x24($sp)
|
||||
/* 06172C 80060B2C AFA7002C */ sw $a3, 0x2c($sp)
|
||||
/* 061730 80060B30 0007C600 */ sll $t8, $a3, 0x18
|
||||
/* 061734 80060B34 24010010 */ li $at, 16
|
||||
/* 061738 80060B38 00183E03 */ sra $a3, $t8, 0x18
|
||||
/* 06173C 80060B3C 01E02825 */ move $a1, $t7
|
||||
/* 061740 80060B40 1041001E */ beq $v0, $at, .L80060BBC
|
||||
/* 061744 80060B44 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 061748 80060B48 2401000D */ li $at, 13
|
||||
/* 06174C 80060B4C 5041001C */ beql $v0, $at, .L80060BC0
|
||||
/* 061750 80060B50 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 061754 80060B54 15E0000F */ bnez $t7, .L80060B94
|
||||
/* 061758 80060B58 000640C0 */ sll $t0, $a2, 3
|
||||
/* 06175C 80060B5C 01064021 */ addu $t0, $t0, $a2
|
||||
/* 061760 80060B60 000840C0 */ sll $t0, $t0, 3
|
||||
/* 061764 80060B64 00881021 */ addu $v0, $a0, $t0
|
||||
/* 061768 80060B68 84490276 */ lh $t1, 0x276($v0)
|
||||
/* 06176C 80060B6C 83AB0033 */ lb $t3, 0x33($sp)
|
||||
/* 061770 80060B70 1D200004 */ bgtz $t1, .L80060B84
|
||||
/* 061774 80060B74 00000000 */ nop
|
||||
/* 061778 80060B78 844A0274 */ lh $t2, 0x274($v0)
|
||||
/* 06177C 80060B7C 55400006 */ bnel $t2, $zero, .L80060B98
|
||||
/* 061780 80060B80 000660C0 */ sll $t4, $a2, 3
|
||||
.L80060B84:
|
||||
/* 061784 80060B84 0C018238 */ jal func_800608E0
|
||||
/* 061788 80060B88 AFAB0010 */ sw $t3, 0x10($sp)
|
||||
/* 06178C 80060B8C 1000000C */ b .L80060BC0
|
||||
/* 061790 80060B90 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L80060B94:
|
||||
/* 061794 80060B94 000660C0 */ sll $t4, $a2, 3
|
||||
.L80060B98:
|
||||
/* 061798 80060B98 01866021 */ addu $t4, $t4, $a2
|
||||
/* 06179C 80060B9C 000C60C0 */ sll $t4, $t4, 3
|
||||
/* 0617A0 80060BA0 008C6821 */ addu $t5, $a0, $t4
|
||||
/* 0617A4 80060BA4 85AE0276 */ lh $t6, 0x276($t5)
|
||||
/* 0617A8 80060BA8 83AF0033 */ lb $t7, 0x33($sp)
|
||||
/* 0617AC 80060BAC 59C00004 */ blezl $t6, .L80060BC0
|
||||
/* 0617B0 80060BB0 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 0617B4 80060BB4 0C018238 */ jal func_800608E0
|
||||
/* 0617B8 80060BB8 AFAF0010 */ sw $t7, 0x10($sp)
|
||||
.L80060BBC:
|
||||
/* 0617BC 80060BBC 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L80060BC0:
|
||||
/* 0617C0 80060BC0 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 0617C4 80060BC4 03E00008 */ jr $ra
|
||||
/* 0617C8 80060BC8 00000000 */ nop
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
glabel func_8006B8B4
|
||||
/* 06C4B4 8006B8B4 00053600 */ sll $a2, $a1, 0x18
|
||||
/* 06C4B8 8006B8B8 00067603 */ sra $t6, $a2, 0x18
|
||||
/* 06C4BC 8006B8BC 3C188019 */ lui $t8, %hi(gPlayerBalloonCount) # $t8, 0x8019
|
||||
/* 06C4C0 8006B8C0 2718D8C0 */ addiu $t8, %lo(gPlayerBalloonCount) # addiu $t8, $t8, -0x2740
|
||||
/* 06C4C4 8006B8C4 000E7840 */ sll $t7, $t6, 1
|
||||
/* 06C4C8 8006B8C8 01F81821 */ addu $v1, $t7, $t8
|
||||
/* 06C4CC 8006B8CC 84670000 */ lh $a3, ($v1)
|
||||
/* 06C4D0 8006B8D0 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 06C4D4 8006B8D4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 06C4D8 8006B8D8 AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* 06C4DC 8006B8DC AFA50024 */ sw $a1, 0x24($sp)
|
||||
/* 06C4E0 8006B8E0 04E00020 */ bltz $a3, .L8006B964
|
||||
/* 06C4E4 8006B8E4 01C03025 */ move $a2, $t6
|
||||
/* 06C4E8 8006B8E8 000EC880 */ sll $t9, $t6, 2
|
||||
/* 06C4EC 8006B8EC 032EC823 */ subu $t9, $t9, $t6
|
||||
/* 06C4F0 8006B8F0 0019C840 */ sll $t9, $t9, 1
|
||||
/* 06C4F4 8006B8F4 00074040 */ sll $t0, $a3, 1
|
||||
/* 06C4F8 8006B8F8 3C0A8019 */ lui $t2, %hi(gPlayerBalloonStatus) # $t2, 0x8019
|
||||
/* 06C4FC 8006B8FC 254AD5F0 */ addiu $t2, %lo(gPlayerBalloonStatus) # addiu $t2, $t2, -0x2a10
|
||||
/* 06C500 8006B900 03284821 */ addu $t1, $t9, $t0
|
||||
/* 06C504 8006B904 012A1021 */ addu $v0, $t1, $t2
|
||||
/* 06C508 8006B908 944B0000 */ lhu $t3, ($v0)
|
||||
/* 06C50C 8006B90C 24EFFFFF */ addiu $t7, $a3, -1
|
||||
/* 06C510 8006B910 3C051900 */ lui $a1, (0x19009051 >> 16) # lui $a1, 0x1900
|
||||
/* 06C514 8006B914 316DFFFE */ andi $t5, $t3, 0xfffe
|
||||
/* 06C518 8006B918 A44D0000 */ sh $t5, ($v0)
|
||||
/* 06C51C 8006B91C 35AE0002 */ ori $t6, $t5, 2
|
||||
/* 06C520 8006B920 A44E0000 */ sh $t6, ($v0)
|
||||
/* 06C524 8006B924 A46F0000 */ sh $t7, ($v1)
|
||||
/* 06C528 8006B928 34A59051 */ ori $a1, (0x19009051 & 0xFFFF) # ori $a1, $a1, 0x9051
|
||||
/* 06C52C 8006B92C 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 06C530 8006B930 AFA3001C */ sw $v1, 0x1c($sp)
|
||||
/* 06C534 8006B934 0C032418 */ jal func_800C9060
|
||||
/* 06C538 8006B938 A3A60027 */ sb $a2, 0x27($sp)
|
||||
/* 06C53C 8006B93C 8FA3001C */ lw $v1, 0x1c($sp)
|
||||
/* 06C540 8006B940 83A60027 */ lb $a2, 0x27($sp)
|
||||
/* 06C544 8006B944 8FA40020 */ lw $a0, 0x20($sp)
|
||||
/* 06C548 8006B948 84780000 */ lh $t8, ($v1)
|
||||
/* 06C54C 8006B94C 00062E00 */ sll $a1, $a2, 0x18
|
||||
/* 06C550 8006B950 0005CE03 */ sra $t9, $a1, 0x18
|
||||
/* 06C554 8006B954 07030004 */ bgezl $t8, .L8006B968
|
||||
/* 06C558 8006B958 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 06C55C 8006B95C 0C023F53 */ jal func_8008FD4C
|
||||
/* 06C560 8006B960 03202825 */ move $a1, $t9
|
||||
.L8006B964:
|
||||
/* 06C564 8006B964 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L8006B968:
|
||||
/* 06C568 8006B968 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 06C56C 8006B96C 03E00008 */ jr $ra
|
||||
/* 06C570 8006B970 00000000 */ nop
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
glabel func_80071FBC
|
||||
/* 072BBC 80071FBC 3C0E8016 */ lui $t6, %hi(D_80165CE2) # $t6, 0x8016
|
||||
/* 072BC0 80071FC0 81CE5CE2 */ lb $t6, %lo(D_80165CE2)($t6)
|
||||
/* 072BC4 80071FC4 00001825 */ move $v1, $zero
|
||||
/* 072BC8 80071FC8 3C0F8016 */ lui $t7, %hi(D_80165DC2) # $t7, 0x8016
|
||||
/* 072BCC 80071FCC 11C00002 */ beqz $t6, .L80071FD8
|
||||
/* 072BD0 80071FD0 3C048016 */ lui $a0, %hi(D_80165DD8) # $a0, 0x8016
|
||||
/* 072BD4 80071FD4 24030001 */ li $v1, 1
|
||||
.L80071FD8:
|
||||
/* 072BD8 80071FD8 81EF5DC2 */ lb $t7, %lo(D_80165DC2)($t7)
|
||||
/* 072BDC 80071FDC 3C028018 */ lui $v0, %hi(D_80183D58) # $v0, 0x8018
|
||||
/* 072BE0 80071FE0 24423D58 */ addiu $v0, %lo(D_80183D58) # addiu $v0, $v0, 0x3d58
|
||||
/* 072BE4 80071FE4 11E00002 */ beqz $t7, .L80071FF0
|
||||
/* 072BE8 80071FE8 24845DD8 */ addiu $a0, %lo(D_80165DD8) # addiu $a0, $a0, 0x5dd8
|
||||
/* 072BEC 80071FEC 24630001 */ addiu $v1, $v1, 1
|
||||
.L80071FF0:
|
||||
/* 072BF0 80071FF0 809800CA */ lb $t8, 0xca($a0)
|
||||
.L80071FF4:
|
||||
/* 072BF4 80071FF4 53000003 */ beql $t8, $zero, .L80072004
|
||||
/* 072BF8 80071FF8 809901AA */ lb $t9, 0x1aa($a0)
|
||||
/* 072BFC 80071FFC 24630001 */ addiu $v1, $v1, 1
|
||||
/* 072C00 80072000 809901AA */ lb $t9, 0x1aa($a0)
|
||||
.L80072004:
|
||||
/* 072C04 80072004 53200003 */ beql $t9, $zero, .L80072014
|
||||
/* 072C08 80072008 8088028A */ lb $t0, 0x28a($a0)
|
||||
/* 072C0C 8007200C 24630001 */ addiu $v1, $v1, 1
|
||||
/* 072C10 80072010 8088028A */ lb $t0, 0x28a($a0)
|
||||
.L80072014:
|
||||
/* 072C14 80072014 51000003 */ beql $t0, $zero, .L80072024
|
||||
/* 072C18 80072018 8089036A */ lb $t1, 0x36a($a0)
|
||||
/* 072C1C 8007201C 24630001 */ addiu $v1, $v1, 1
|
||||
/* 072C20 80072020 8089036A */ lb $t1, 0x36a($a0)
|
||||
.L80072024:
|
||||
/* 072C24 80072024 24840380 */ addiu $a0, $a0, 0x380
|
||||
/* 072C28 80072028 11200002 */ beqz $t1, .L80072034
|
||||
/* 072C2C 8007202C 00000000 */ nop
|
||||
/* 072C30 80072030 24630001 */ addiu $v1, $v1, 1
|
||||
.L80072034:
|
||||
/* 072C34 80072034 5482FFEF */ bnel $a0, $v0, .L80071FF4
|
||||
/* 072C38 80072038 809800CA */ lb $t8, 0xca($a0)
|
||||
/* 072C3C 8007203C 03E00008 */ jr $ra
|
||||
/* 072C40 80072040 00601025 */ move $v0, $v1
|
||||
|
|
@ -1,68 +0,0 @@
|
|||
glabel func_8007A66C
|
||||
/* 07B26C 8007A66C 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* 07B270 8007A670 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 07B274 8007A674 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 07B278 8007A678 AFA40030 */ sw $a0, 0x30($sp)
|
||||
/* 07B27C 8007A67C AFA50034 */ sw $a1, 0x34($sp)
|
||||
/* 07B280 8007A680 84CE0026 */ lh $t6, 0x26($a2)
|
||||
/* 07B284 8007A684 340F8000 */ li $t7, 32768
|
||||
/* 07B288 8007A688 01EE8023 */ subu $s0, $t7, $t6
|
||||
/* 07B28C 8007A68C 3218FFFF */ andi $t8, $s0, 0xffff
|
||||
/* 07B290 8007A690 03008025 */ move $s0, $t8
|
||||
/* 07B294 8007A694 0C0AE00E */ jal coss
|
||||
/* 07B298 8007A698 3304FFFF */ andi $a0, $t8, 0xffff
|
||||
/* 07B29C 8007A69C E7A00024 */ swc1 $f0, 0x24($sp)
|
||||
/* 07B2A0 8007A6A0 0C0AE006 */ jal sins
|
||||
/* 07B2A4 8007A6A4 3204FFFF */ andi $a0, $s0, 0xffff
|
||||
/* 07B2A8 8007A6A8 8FB90030 */ lw $t9, 0x30($sp)
|
||||
/* 07B2AC 8007A6AC 3C098016 */ lui $t1, %hi(D_80165C18) # $t1, 0x8016
|
||||
/* 07B2B0 8007A6B0 25295C18 */ addiu $t1, %lo(D_80165C18) # addiu $t1, $t1, 0x5c18
|
||||
/* 07B2B4 8007A6B4 001940C0 */ sll $t0, $t9, 3
|
||||
/* 07B2B8 8007A6B8 01194023 */ subu $t0, $t0, $t9
|
||||
/* 07B2BC 8007A6BC 00084140 */ sll $t0, $t0, 5
|
||||
/* 07B2C0 8007A6C0 01091021 */ addu $v0, $t0, $t1
|
||||
/* 07B2C4 8007A6C4 C4440010 */ lwc1 $f4, 0x10($v0)
|
||||
/* 07B2C8 8007A6C8 C4460028 */ lwc1 $f6, 0x28($v0)
|
||||
/* 07B2CC 8007A6CC C7AA0024 */ lwc1 $f10, 0x24($sp)
|
||||
/* 07B2D0 8007A6D0 8FA30034 */ lw $v1, 0x34($sp)
|
||||
/* 07B2D4 8007A6D4 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 07B2D8 8007A6D8 C4460030 */ lwc1 $f6, 0x30($v0)
|
||||
/* 07B2DC 8007A6DC C4720014 */ lwc1 $f18, 0x14($v1)
|
||||
/* 07B2E0 8007A6E0 3204FFFF */ andi $a0, $s0, 0xffff
|
||||
/* 07B2E4 8007A6E4 46085402 */ mul.s $f16, $f10, $f8
|
||||
/* 07B2E8 8007A6E8 C44A0018 */ lwc1 $f10, 0x18($v0)
|
||||
/* 07B2EC 8007A6EC 460A3200 */ add.s $f8, $f6, $f10
|
||||
/* 07B2F0 8007A6F0 C44A0014 */ lwc1 $f10, 0x14($v0)
|
||||
/* 07B2F4 8007A6F4 46109100 */ add.s $f4, $f18, $f16
|
||||
/* 07B2F8 8007A6F8 46004482 */ mul.s $f18, $f8, $f0
|
||||
/* 07B2FC 8007A6FC 46122401 */ sub.s $f16, $f4, $f18
|
||||
/* 07B300 8007A700 C444002C */ lwc1 $f4, 0x2c($v0)
|
||||
/* 07B304 8007A704 E4500004 */ swc1 $f16, 4($v0)
|
||||
/* 07B308 8007A708 C4660074 */ lwc1 $f6, 0x74($v1)
|
||||
/* 07B30C 8007A70C AFA20020 */ sw $v0, 0x20($sp)
|
||||
/* 07B310 8007A710 460A3200 */ add.s $f8, $f6, $f10
|
||||
/* 07B314 8007A714 46082480 */ add.s $f18, $f4, $f8
|
||||
/* 07B318 8007A718 0C0AE006 */ jal sins
|
||||
/* 07B31C 8007A71C E4520008 */ swc1 $f18, 8($v0)
|
||||
/* 07B320 8007A720 E7A00024 */ swc1 $f0, 0x24($sp)
|
||||
/* 07B324 8007A724 0C0AE00E */ jal coss
|
||||
/* 07B328 8007A728 3204FFFF */ andi $a0, $s0, 0xffff
|
||||
/* 07B32C 8007A72C 8FA20020 */ lw $v0, 0x20($sp)
|
||||
/* 07B330 8007A730 8FAA0034 */ lw $t2, 0x34($sp)
|
||||
/* 07B334 8007A734 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 07B338 8007A738 C4500030 */ lwc1 $f16, 0x30($v0)
|
||||
/* 07B33C 8007A73C C4460018 */ lwc1 $f6, 0x18($v0)
|
||||
/* 07B340 8007A740 C4480010 */ lwc1 $f8, 0x10($v0)
|
||||
/* 07B344 8007A744 C4520028 */ lwc1 $f18, 0x28($v0)
|
||||
/* 07B348 8007A748 46068280 */ add.s $f10, $f16, $f6
|
||||
/* 07B34C 8007A74C C7A60024 */ lwc1 $f6, 0x24($sp)
|
||||
/* 07B350 8007A750 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 07B354 8007A754 46124400 */ add.s $f16, $f8, $f18
|
||||
/* 07B358 8007A758 46005102 */ mul.s $f4, $f10, $f0
|
||||
/* 07B35C 8007A75C C548001C */ lwc1 $f8, 0x1c($t2)
|
||||
/* 07B360 8007A760 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
/* 07B364 8007A764 46103282 */ mul.s $f10, $f6, $f16
|
||||
/* 07B368 8007A768 460A4480 */ add.s $f18, $f8, $f10
|
||||
/* 07B36C 8007A76C 46122180 */ add.s $f6, $f4, $f18
|
||||
/* 07B370 8007A770 03E00008 */ jr $ra
|
||||
/* 07B374 8007A774 E446000C */ swc1 $f6, 0xc($v0)
|
||||
|
|
@ -1,68 +0,0 @@
|
|||
glabel func_8007A778
|
||||
/* 07B378 8007A778 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* 07B37C 8007A77C AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 07B380 8007A780 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 07B384 8007A784 AFA40030 */ sw $a0, 0x30($sp)
|
||||
/* 07B388 8007A788 AFA50034 */ sw $a1, 0x34($sp)
|
||||
/* 07B38C 8007A78C 84CE0026 */ lh $t6, 0x26($a2)
|
||||
/* 07B390 8007A790 340F8000 */ li $t7, 32768
|
||||
/* 07B394 8007A794 01EE8023 */ subu $s0, $t7, $t6
|
||||
/* 07B398 8007A798 3218FFFF */ andi $t8, $s0, 0xffff
|
||||
/* 07B39C 8007A79C 03008025 */ move $s0, $t8
|
||||
/* 07B3A0 8007A7A0 0C0AE00E */ jal coss
|
||||
/* 07B3A4 8007A7A4 3304FFFF */ andi $a0, $t8, 0xffff
|
||||
/* 07B3A8 8007A7A8 E7A00024 */ swc1 $f0, 0x24($sp)
|
||||
/* 07B3AC 8007A7AC 0C0AE006 */ jal sins
|
||||
/* 07B3B0 8007A7B0 3204FFFF */ andi $a0, $s0, 0xffff
|
||||
/* 07B3B4 8007A7B4 8FB90030 */ lw $t9, 0x30($sp)
|
||||
/* 07B3B8 8007A7B8 3C098016 */ lui $t1, %hi(D_80165C18) # $t1, 0x8016
|
||||
/* 07B3BC 8007A7BC 25295C18 */ addiu $t1, %lo(D_80165C18) # addiu $t1, $t1, 0x5c18
|
||||
/* 07B3C0 8007A7C0 001940C0 */ sll $t0, $t9, 3
|
||||
/* 07B3C4 8007A7C4 01194023 */ subu $t0, $t0, $t9
|
||||
/* 07B3C8 8007A7C8 00084140 */ sll $t0, $t0, 5
|
||||
/* 07B3CC 8007A7CC 01091021 */ addu $v0, $t0, $t1
|
||||
/* 07B3D0 8007A7D0 C4440010 */ lwc1 $f4, 0x10($v0)
|
||||
/* 07B3D4 8007A7D4 C4460028 */ lwc1 $f6, 0x28($v0)
|
||||
/* 07B3D8 8007A7D8 C7AA0024 */ lwc1 $f10, 0x24($sp)
|
||||
/* 07B3DC 8007A7DC 8FA30034 */ lw $v1, 0x34($sp)
|
||||
/* 07B3E0 8007A7E0 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 07B3E4 8007A7E4 C4460030 */ lwc1 $f6, 0x30($v0)
|
||||
/* 07B3E8 8007A7E8 C4720014 */ lwc1 $f18, 0x14($v1)
|
||||
/* 07B3EC 8007A7EC 3204FFFF */ andi $a0, $s0, 0xffff
|
||||
/* 07B3F0 8007A7F0 46085402 */ mul.s $f16, $f10, $f8
|
||||
/* 07B3F4 8007A7F4 C44A0018 */ lwc1 $f10, 0x18($v0)
|
||||
/* 07B3F8 8007A7F8 460A3200 */ add.s $f8, $f6, $f10
|
||||
/* 07B3FC 8007A7FC C44A0014 */ lwc1 $f10, 0x14($v0)
|
||||
/* 07B400 8007A800 46109100 */ add.s $f4, $f18, $f16
|
||||
/* 07B404 8007A804 46004482 */ mul.s $f18, $f8, $f0
|
||||
/* 07B408 8007A808 46122401 */ sub.s $f16, $f4, $f18
|
||||
/* 07B40C 8007A80C C444002C */ lwc1 $f4, 0x2c($v0)
|
||||
/* 07B410 8007A810 E4500004 */ swc1 $f16, 4($v0)
|
||||
/* 07B414 8007A814 C4660018 */ lwc1 $f6, 0x18($v1)
|
||||
/* 07B418 8007A818 AFA20020 */ sw $v0, 0x20($sp)
|
||||
/* 07B41C 8007A81C 460A3200 */ add.s $f8, $f6, $f10
|
||||
/* 07B420 8007A820 46082480 */ add.s $f18, $f4, $f8
|
||||
/* 07B424 8007A824 0C0AE006 */ jal sins
|
||||
/* 07B428 8007A828 E4520008 */ swc1 $f18, 8($v0)
|
||||
/* 07B42C 8007A82C E7A00024 */ swc1 $f0, 0x24($sp)
|
||||
/* 07B430 8007A830 0C0AE00E */ jal coss
|
||||
/* 07B434 8007A834 3204FFFF */ andi $a0, $s0, 0xffff
|
||||
/* 07B438 8007A838 8FA20020 */ lw $v0, 0x20($sp)
|
||||
/* 07B43C 8007A83C 8FAA0034 */ lw $t2, 0x34($sp)
|
||||
/* 07B440 8007A840 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 07B444 8007A844 C4500030 */ lwc1 $f16, 0x30($v0)
|
||||
/* 07B448 8007A848 C4460018 */ lwc1 $f6, 0x18($v0)
|
||||
/* 07B44C 8007A84C C4480010 */ lwc1 $f8, 0x10($v0)
|
||||
/* 07B450 8007A850 C4520028 */ lwc1 $f18, 0x28($v0)
|
||||
/* 07B454 8007A854 46068280 */ add.s $f10, $f16, $f6
|
||||
/* 07B458 8007A858 C7A60024 */ lwc1 $f6, 0x24($sp)
|
||||
/* 07B45C 8007A85C 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 07B460 8007A860 46124400 */ add.s $f16, $f8, $f18
|
||||
/* 07B464 8007A864 46005102 */ mul.s $f4, $f10, $f0
|
||||
/* 07B468 8007A868 C548001C */ lwc1 $f8, 0x1c($t2)
|
||||
/* 07B46C 8007A86C 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
/* 07B470 8007A870 46103282 */ mul.s $f10, $f6, $f16
|
||||
/* 07B474 8007A874 460A4480 */ add.s $f18, $f8, $f10
|
||||
/* 07B478 8007A878 46122180 */ add.s $f6, $f4, $f18
|
||||
/* 07B47C 8007A87C 03E00008 */ jr $ra
|
||||
/* 07B480 8007A880 E446000C */ swc1 $f6, 0xc($v0)
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
glabel func_8007A88C
|
||||
/* 07B48C 8007A88C 00047080 */ sll $t6, $a0, 2
|
||||
/* 07B490 8007A890 3C028018 */ lui $v0, %hi(D_80183DB8) # 0x8018
|
||||
/* 07B494 8007A894 004E1021 */ addu $v0, $v0, $t6
|
||||
/* 07B498 8007A898 8C423DB8 */ lw $v0, %lo(D_80183DB8)($v0) # 0x3db8($v0)
|
||||
/* 07B49C 8007A89C 000478C0 */ sll $t7, $a0, 3
|
||||
/* 07B4A0 8007A8A0 01E47823 */ subu $t7, $t7, $a0
|
||||
/* 07B4A4 8007A8A4 0002C8C0 */ sll $t9, $v0, 3
|
||||
/* 07B4A8 8007A8A8 0322C823 */ subu $t9, $t9, $v0
|
||||
/* 07B4AC 8007A8AC 000F7900 */ sll $t7, $t7, 4
|
||||
/* 07B4B0 8007A8B0 0019C940 */ sll $t9, $t9, 5
|
||||
/* 07B4B4 8007A8B4 3C088016 */ lui $t0, %hi(D_80165CBE) # 0x8016
|
||||
/* 07B4B8 8007A8B8 01E47823 */ subu $t7, $t7, $a0
|
||||
/* 07B4BC 8007A8BC 01194021 */ addu $t0, $t0, $t9
|
||||
/* 07B4C0 8007A8C0 85085CBE */ lh $t0, %lo(D_80165CBE)($t0) # 0x5cbe($t0)
|
||||
/* 07B4C4 8007A8C4 000F7880 */ sll $t7, $t7, 2
|
||||
/* 07B4C8 8007A8C8 3C18800E */ lui $t8, %hi(gPlayerOne) # $t8, 0x800e
|
||||
/* 07B4CC 8007A8CC 8F18C4DC */ lw $t8, %lo(gPlayerOne)($t8)
|
||||
/* 07B4D0 8007A8D0 01E47823 */ subu $t7, $t7, $a0
|
||||
/* 07B4D4 8007A8D4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 07B4D8 8007A8D8 000F78C0 */ sll $t7, $t7, 3
|
||||
/* 07B4DC 8007A8DC AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 07B4E0 8007A8E0 15000007 */ bnez $t0, .L8007A900
|
||||
/* 07B4E4 8007A8E4 01F81821 */ addu $v1, $t7, $t8
|
||||
/* 07B4E8 8007A8E8 8C6900BC */ lw $t1, 0xbc($v1)
|
||||
/* 07B4EC 8007A8EC 00095240 */ sll $t2, $t1, 9
|
||||
/* 07B4F0 8007A8F0 05430004 */ bgezl $t2, .L8007A904
|
||||
/* 07B4F4 8007A8F4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 07B4F8 8007A8F8 0C01E439 */ jal func_800790E4
|
||||
/* 07B4FC 8007A8FC 00000000 */ nop
|
||||
.L8007A900:
|
||||
/* 07B500 8007A900 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L8007A904:
|
||||
/* 07B504 8007A904 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 07B508 8007A908 03E00008 */ jr $ra
|
||||
/* 07B50C 8007A90C 00000000 */ nop
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
glabel func_8007F544
|
||||
/* 080144 8007F544 000470C0 */ sll $t6, $a0, 3
|
||||
/* 080148 8007F548 01C47023 */ subu $t6, $t6, $a0
|
||||
/* 08014C 8007F54C 000E7140 */ sll $t6, $t6, 5
|
||||
/* 080150 8007F550 3C028016 */ lui $v0, %hi(D_80165CF5) # 0x8016
|
||||
/* 080154 8007F554 004E1021 */ addu $v0, $v0, $t6
|
||||
/* 080158 8007F558 90425CF5 */ lbu $v0, %lo(D_80165CF5)($v0) # 0x5cf5($v0)
|
||||
/* 08015C 8007F55C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 080160 8007F560 24010001 */ li $at, 1
|
||||
/* 080164 8007F564 10410006 */ beq $v0, $at, .L8007F580
|
||||
/* 080168 8007F568 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 08016C 8007F56C 24010002 */ li $at, 2
|
||||
/* 080170 8007F570 10410007 */ beq $v0, $at, .L8007F590
|
||||
/* 080174 8007F574 00000000 */ nop
|
||||
/* 080178 8007F578 10000008 */ b .L8007F59C
|
||||
/* 08017C 8007F57C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L8007F580:
|
||||
/* 080180 8007F580 0C01FBEF */ jal func_8007EFBC
|
||||
/* 080184 8007F584 00000000 */ nop
|
||||
/* 080188 8007F588 10000004 */ b .L8007F59C
|
||||
/* 08018C 8007F58C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L8007F590:
|
||||
/* 080190 8007F590 0C01FCA0 */ jal func_8007F280
|
||||
/* 080194 8007F594 00000000 */ nop
|
||||
/* 080198 8007F598 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L8007F59C:
|
||||
/* 08019C 8007F59C 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 0801A0 8007F5A0 03E00008 */ jr $ra
|
||||
/* 0801A4 8007F5A4 00000000 */ nop
|
||||
|
|
@ -1,56 +0,0 @@
|
|||
glabel func_800ABEAC
|
||||
/* 0ACAAC 800ABEAC 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0ACAB0 800ABEB0 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0ACAB4 800ABEB4 0C02AFDA */ jal func_800ABF68
|
||||
/* 0ACAB8 800ABEB8 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* 0ACABC 800ABEBC 3C028016 */ lui $v0, %hi(D_80164A28) # $v0, 0x8016
|
||||
/* 0ACAC0 800ABEC0 8C424A28 */ lw $v0, %lo(D_80164A28)($v0)
|
||||
/* 0ACAC4 800ABEC4 24030001 */ li $v1, 1
|
||||
/* 0ACAC8 800ABEC8 8FA40018 */ lw $a0, 0x18($sp)
|
||||
/* 0ACACC 800ABECC 10430005 */ beq $v0, $v1, .L800ABEE4
|
||||
/* 0ACAD0 800ABED0 24010002 */ li $at, 2
|
||||
/* 0ACAD4 800ABED4 10410005 */ beq $v0, $at, .L800ABEEC
|
||||
/* 0ACAD8 800ABED8 3C0F800E */ lui $t7, %hi(gModeSelection) # $t7, 0x800e
|
||||
/* 0ACADC 800ABEDC 1000000B */ b .L800ABF0C
|
||||
/* 0ACAE0 800ABEE0 3C18800E */ lui $t8, %hi(gPlayerCountSelection1) # $t8, 0x800e
|
||||
.L800ABEE4:
|
||||
/* 0ACAE4 800ABEE4 1000001C */ b .L800ABF58
|
||||
/* 0ACAE8 800ABEE8 A0830015 */ sb $v1, 0x15($a0)
|
||||
.L800ABEEC:
|
||||
/* 0ACAEC 800ABEEC 8C820010 */ lw $v0, 0x10($a0)
|
||||
/* 0ACAF0 800ABEF0 28410104 */ slti $at, $v0, 0x104
|
||||
/* 0ACAF4 800ABEF4 10200003 */ beqz $at, .L800ABF04
|
||||
/* 0ACAF8 800ABEF8 244E0002 */ addiu $t6, $v0, 2
|
||||
/* 0ACAFC 800ABEFC 10000016 */ b .L800ABF58
|
||||
/* 0ACB00 800ABF00 AC8E0010 */ sw $t6, 0x10($a0)
|
||||
.L800ABF04:
|
||||
/* 0ACB04 800ABF04 10000014 */ b .L800ABF58
|
||||
/* 0ACB08 800ABF08 AC800000 */ sw $zero, ($a0)
|
||||
.L800ABF0C:
|
||||
/* 0ACB0C 800ABF0C 8DEFC53C */ lw $t7, %lo(gModeSelection)($t7)
|
||||
/* 0ACB10 800ABF10 15E00008 */ bnez $t7, .L800ABF34
|
||||
/* 0ACB14 800ABF14 00000000 */ nop
|
||||
/* 0ACB18 800ABF18 8F18C538 */ lw $t8, %lo(gPlayerCountSelection1)($t8)
|
||||
/* 0ACB1C 800ABF1C 3C198019 */ lui $t9, %hi(D_8018EE08) # $t9, 0x8019
|
||||
/* 0ACB20 800ABF20 14780004 */ bne $v1, $t8, .L800ABF34
|
||||
/* 0ACB24 800ABF24 00000000 */ nop
|
||||
/* 0ACB28 800ABF28 8339EE08 */ lb $t9, %lo(D_8018EE08)($t9)
|
||||
/* 0ACB2C 800ABF2C 53200004 */ beql $t9, $zero, .L800ABF40
|
||||
/* 0ACB30 800ABF30 8C820010 */ lw $v0, 0x10($a0)
|
||||
.L800ABF34:
|
||||
/* 0ACB34 800ABF34 10000008 */ b .L800ABF58
|
||||
/* 0ACB38 800ABF38 AC800000 */ sw $zero, ($a0)
|
||||
/* 0ACB3C 800ABF3C 8C820010 */ lw $v0, 0x10($a0)
|
||||
.L800ABF40:
|
||||
/* 0ACB40 800ABF40 28410104 */ slti $at, $v0, 0x104
|
||||
/* 0ACB44 800ABF44 10200003 */ beqz $at, .L800ABF54
|
||||
/* 0ACB48 800ABF48 24480002 */ addiu $t0, $v0, 2
|
||||
/* 0ACB4C 800ABF4C 10000002 */ b .L800ABF58
|
||||
/* 0ACB50 800ABF50 AC880010 */ sw $t0, 0x10($a0)
|
||||
.L800ABF54:
|
||||
/* 0ACB54 800ABF54 AC800000 */ sw $zero, ($a0)
|
||||
.L800ABF58:
|
||||
/* 0ACB58 800ABF58 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0ACB5C 800ABF5C 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 0ACB60 800ABF60 03E00008 */ jr $ra
|
||||
/* 0ACB64 800ABF64 00000000 */ nop
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
glabel func_800AEDBC
|
||||
/* 0AF9BC 800AEDBC 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0AF9C0 800AEDC0 3C038019 */ lui $v1, %hi(gTimeTrialDataCourseIndex) # $v1, 0x8019
|
||||
/* 0AF9C4 800AEDC4 2463EDF7 */ addiu $v1, %lo(gTimeTrialDataCourseIndex) # addiu $v1, $v1, -0x1209
|
||||
/* 0AF9C8 800AEDC8 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0AF9CC 800AEDCC 8C8E001C */ lw $t6, 0x1c($a0)
|
||||
/* 0AF9D0 800AEDD0 80620000 */ lb $v0, ($v1)
|
||||
/* 0AF9D4 800AEDD4 00803825 */ move $a3, $a0
|
||||
/* 0AF9D8 800AEDD8 504E002A */ beql $v0, $t6, .L800AEE84
|
||||
/* 0AF9DC 800AEDDC 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0AF9E0 800AEDE0 AC82001C */ sw $v0, 0x1c($a0)
|
||||
/* 0AF9E4 800AEDE4 80620000 */ lb $v0, ($v1)
|
||||
/* 0AF9E8 800AEDE8 3C0A800F */ lui $t2, %hi(gCupCourseOrder)
|
||||
/* 0AF9EC 800AEDEC 3C04800E */ lui $a0, %hi(D_800E7E34)
|
||||
/* 0AF9F0 800AEDF0 04410003 */ bgez $v0, .L800AEE00
|
||||
/* 0AF9F4 800AEDF4 00027883 */ sra $t7, $v0, 2
|
||||
/* 0AF9F8 800AEDF8 24410003 */ addiu $at, $v0, 3
|
||||
/* 0AF9FC 800AEDFC 00017883 */ sra $t7, $at, 2
|
||||
.L800AEE00:
|
||||
/* 0AFA00 800AEE00 000FC0C0 */ sll $t8, $t7, 3
|
||||
/* 0AFA04 800AEE04 04410004 */ bgez $v0, .L800AEE18
|
||||
/* 0AFA08 800AEE08 30590003 */ andi $t9, $v0, 3
|
||||
/* 0AFA0C 800AEE0C 13200002 */ beqz $t9, .L800AEE18
|
||||
/* 0AFA10 800AEE10 00000000 */ nop
|
||||
/* 0AFA14 800AEE14 2739FFFC */ addiu $t9, $t9, -4
|
||||
.L800AEE18:
|
||||
/* 0AFA18 800AEE18 00194040 */ sll $t0, $t9, 1
|
||||
/* 0AFA1C 800AEE1C 03084821 */ addu $t1, $t8, $t0
|
||||
/* 0AFA20 800AEE20 01495021 */ addu $t2, $t2, $t1
|
||||
/* 0AFA24 800AEE24 854A2BB4 */ lh $t2, %lo(gCupCourseOrder)($t2)
|
||||
/* 0AFA28 800AEE28 AFA70018 */ sw $a3, 0x18($sp)
|
||||
/* 0AFA2C 800AEE2C 000A5880 */ sll $t3, $t2, 2
|
||||
/* 0AFA30 800AEE30 008B2021 */ addu $a0, $a0, $t3
|
||||
/* 0AFA34 800AEE34 0C026455 */ jal segmented_to_virtual_dupe_2
|
||||
/* 0AFA38 800AEE38 8C847E34 */ lw $a0, %lo(D_800E7E34)($a0)
|
||||
/* 0AFA3C 800AEE3C 8FA70018 */ lw $a3, 0x18($sp)
|
||||
/* 0AFA40 800AEE40 00002825 */ move $a1, $zero
|
||||
/* 0AFA44 800AEE44 00403025 */ move $a2, $v0
|
||||
/* 0AFA48 800AEE48 0C026965 */ jal func_8009A594
|
||||
/* 0AFA4C 800AEE4C 8CE40018 */ lw $a0, 0x18($a3)
|
||||
/* 0AFA50 800AEE50 0C02D6E5 */ jal func_800B5B94
|
||||
/* 0AFA54 800AEE54 00000000 */ nop
|
||||
/* 0AFA58 800AEE58 14400005 */ bnez $v0, .L800AEE70
|
||||
/* 0AFA5C 800AEE5C 00000000 */ nop
|
||||
/* 0AFA60 800AEE60 0C02D9C2 */ jal func_800B6708
|
||||
/* 0AFA64 800AEE64 00000000 */ nop
|
||||
/* 0AFA68 800AEE68 10000006 */ b .L800AEE84
|
||||
/* 0AFA6C 800AEE6C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L800AEE70:
|
||||
/* 0AFA70 800AEE70 3C028019 */ lui $v0, %hi(D_8018EE10) # $v0, 0x8019
|
||||
/* 0AFA74 800AEE74 2442EE10 */ addiu $v0, %lo(D_8018EE10) # addiu $v0, $v0, -0x11f0
|
||||
/* 0AFA78 800AEE78 A0400004 */ sb $zero, 4($v0)
|
||||
/* 0AFA7C 800AEE7C A0400084 */ sb $zero, 0x84($v0)
|
||||
/* 0AFA80 800AEE80 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L800AEE84:
|
||||
/* 0AFA84 800AEE84 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 0AFA88 800AEE88 03E00008 */ jr $ra
|
||||
/* 0AFA8C 800AEE8C 00000000 */ nop
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
glabel func_802B5350
|
||||
/* 11E960 802B5350 00803025 */ move $a2, $a0
|
||||
/* 11E964 802B5354 24040004 */ li $a0, 4
|
||||
/* 11E968 802B5358 00001025 */ move $v0, $zero
|
||||
/* 11E96C 802B535C 00A01825 */ move $v1, $a1
|
||||
.L802B5360:
|
||||
/* 11E970 802B5360 C4C40000 */ lwc1 $f4, ($a2)
|
||||
/* 11E974 802B5364 24420001 */ addiu $v0, $v0, 1
|
||||
/* 11E978 802B5368 24630010 */ addiu $v1, $v1, 0x10
|
||||
/* 11E97C 802B536C E464FFF0 */ swc1 $f4, -0x10($v1)
|
||||
/* 11E980 802B5370 C4C60004 */ lwc1 $f6, 4($a2)
|
||||
/* 11E984 802B5374 24C60010 */ addiu $a2, $a2, 0x10
|
||||
/* 11E988 802B5378 E466FFF4 */ swc1 $f6, -0xc($v1)
|
||||
/* 11E98C 802B537C C4C8FFF8 */ lwc1 $f8, -8($a2)
|
||||
/* 11E990 802B5380 E468FFF8 */ swc1 $f8, -8($v1)
|
||||
/* 11E994 802B5384 C4CAFFFC */ lwc1 $f10, -4($a2)
|
||||
/* 11E998 802B5388 1444FFF5 */ bne $v0, $a0, .L802B5360
|
||||
/* 11E99C 802B538C E46AFFFC */ swc1 $f10, -4($v1)
|
||||
/* 11E9A0 802B5390 03E00008 */ jr $ra
|
||||
/* 11E9A4 802B5394 00000000 */ nop
|
||||
|
||||
|
|
@ -1,234 +0,0 @@
|
|||
glabel func_8028F588
|
||||
/* 0F8B98 8028F588 3C02800E */ lui $v0, %hi(gActiveScreenMode) # $v0, 0x800e
|
||||
/* 0F8B9C 8028F58C 8C42C52C */ lw $v0, %lo(gActiveScreenMode)($v0)
|
||||
/* 0F8BA0 8028F590 3C03802C */ lui $v1, %hi(D_802BA034) # $v1, 0x802c
|
||||
/* 0F8BA4 8028F594 2463A034 */ addiu $v1, %lo(D_802BA034) # addiu $v1, $v1, -0x5fcc
|
||||
/* 0F8BA8 8028F598 1040000A */ beqz $v0, .L8028F5C4
|
||||
/* 0F8BAC 8028F59C 3C0143A0 */ lui $at, 0x43a0
|
||||
/* 0F8BB0 8028F5A0 24010001 */ li $at, 1
|
||||
/* 0F8BB4 8028F5A4 10410056 */ beq $v0, $at, .L8028F700
|
||||
/* 0F8BB8 8028F5A8 24010002 */ li $at, 2
|
||||
/* 0F8BBC 8028F5AC 10410023 */ beq $v0, $at, .L8028F63C
|
||||
/* 0F8BC0 8028F5B0 24010003 */ li $at, 3
|
||||
/* 0F8BC4 8028F5B4 10410083 */ beq $v0, $at, .L8028F7C4
|
||||
/* 0F8BC8 8028F5B8 00000000 */ nop
|
||||
/* 0F8BCC 8028F5BC 03E00008 */ jr $ra
|
||||
/* 0F8BD0 8028F5C0 00000000 */ nop
|
||||
|
||||
.L8028F5C4:
|
||||
/* 0F8BD4 8028F5C4 44812000 */ mtc1 $at, $f4
|
||||
/* 0F8BD8 8028F5C8 C4660000 */ lwc1 $f6, ($v1)
|
||||
/* 0F8BDC 8028F5CC 3C04800E */ lui $a0, %hi(D_800DC5EC) # $a0, 0x800e
|
||||
/* 0F8BE0 8028F5D0 2484C5EC */ addiu $a0, %lo(D_800DC5EC) # addiu $a0, $a0, -0x3a14
|
||||
/* 0F8BE4 8028F5D4 46062202 */ mul.s $f8, $f4, $f6
|
||||
/* 0F8BE8 8028F5D8 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 0F8BEC 8028F5DC 44025000 */ mfc1 $v0, $f10
|
||||
/* 0F8BF0 8028F5E0 00000000 */ nop
|
||||
/* 0F8BF4 8028F5E4 00027C00 */ sll $t7, $v0, 0x10
|
||||
/* 0F8BF8 8028F5E8 000F1403 */ sra $v0, $t7, 0x10
|
||||
/* 0F8BFC 8028F5EC 04430003 */ bgezl $v0, .L8028F5FC
|
||||
/* 0F8C00 8028F5F0 8C990000 */ lw $t9, ($a0)
|
||||
/* 0F8C04 8028F5F4 24020001 */ li $v0, 1
|
||||
/* 0F8C08 8028F5F8 8C990000 */ lw $t9, ($a0)
|
||||
.L8028F5FC:
|
||||
/* 0F8C0C 8028F5FC 3C014370 */ li $at, 0x43700000 # 240.000000
|
||||
/* 0F8C10 8028F600 44818000 */ mtc1 $at, $f16
|
||||
/* 0F8C14 8028F604 A722002C */ sh $v0, 0x2c($t9)
|
||||
/* 0F8C18 8028F608 C4720000 */ lwc1 $f18, ($v1)
|
||||
/* 0F8C1C 8028F60C 46128102 */ mul.s $f4, $f16, $f18
|
||||
/* 0F8C20 8028F610 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 0F8C24 8028F614 44023000 */ mfc1 $v0, $f6
|
||||
/* 0F8C28 8028F618 00000000 */ nop
|
||||
/* 0F8C2C 8028F61C 00024C00 */ sll $t1, $v0, 0x10
|
||||
/* 0F8C30 8028F620 00091403 */ sra $v0, $t1, 0x10
|
||||
/* 0F8C34 8028F624 04430003 */ bgezl $v0, .L8028F634
|
||||
/* 0F8C38 8028F628 8C8B0000 */ lw $t3, ($a0)
|
||||
/* 0F8C3C 8028F62C 24020001 */ li $v0, 1
|
||||
/* 0F8C40 8028F630 8C8B0000 */ lw $t3, ($a0)
|
||||
.L8028F634:
|
||||
/* 0F8C44 8028F634 03E00008 */ jr $ra
|
||||
/* 0F8C48 8028F638 A562002E */ sh $v0, 0x2e($t3)
|
||||
|
||||
.L8028F63C:
|
||||
/* 0F8C4C 8028F63C 3C03802C */ lui $v1, %hi(D_802BA034) # $v1, 0x802c
|
||||
/* 0F8C50 8028F640 2463A034 */ addiu $v1, %lo(D_802BA034) # addiu $v1, $v1, -0x5fcc
|
||||
/* 0F8C54 8028F644 3C014320 */ li $at, 0x43200000 # 160.000000
|
||||
/* 0F8C58 8028F648 44814000 */ mtc1 $at, $f8
|
||||
/* 0F8C5C 8028F64C C46A0000 */ lwc1 $f10, ($v1)
|
||||
/* 0F8C60 8028F650 3C04800E */ lui $a0, %hi(D_800DC5EC) # $a0, 0x800e
|
||||
/* 0F8C64 8028F654 2484C5EC */ addiu $a0, %lo(D_800DC5EC) # addiu $a0, $a0, -0x3a14
|
||||
/* 0F8C68 8028F658 460A4402 */ mul.s $f16, $f8, $f10
|
||||
/* 0F8C6C 8028F65C 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 0F8C70 8028F660 44029000 */ mfc1 $v0, $f18
|
||||
/* 0F8C74 8028F664 00000000 */ nop
|
||||
/* 0F8C78 8028F668 00026C00 */ sll $t5, $v0, 0x10
|
||||
/* 0F8C7C 8028F66C 000D1403 */ sra $v0, $t5, 0x10
|
||||
/* 0F8C80 8028F670 5C400004 */ bgtzl $v0, .L8028F684
|
||||
/* 0F8C84 8028F674 28410140 */ slti $at, $v0, 0x140
|
||||
/* 0F8C88 8028F678 10000005 */ b .L8028F690
|
||||
/* 0F8C8C 8028F67C 24020001 */ li $v0, 1
|
||||
/* 0F8C90 8028F680 28410140 */ slti $at, $v0, 0x140
|
||||
.L8028F684:
|
||||
/* 0F8C94 8028F684 54200003 */ bnel $at, $zero, .L8028F694
|
||||
/* 0F8C98 8028F688 8C8F0000 */ lw $t7, ($a0)
|
||||
/* 0F8C9C 8028F68C 2402013C */ li $v0, 316
|
||||
.L8028F690:
|
||||
/* 0F8CA0 8028F690 8C8F0000 */ lw $t7, ($a0)
|
||||
.L8028F694:
|
||||
/* 0F8CA4 8028F694 3C05800E */ lui $a1, %hi(D_800DC5F0) # $a1, 0x800e
|
||||
/* 0F8CA8 8028F698 24A5C5F0 */ addiu $a1, %lo(D_800DC5F0) # addiu $a1, $a1, -0x3a10
|
||||
/* 0F8CAC 8028F69C A5E2002C */ sh $v0, 0x2c($t7)
|
||||
/* 0F8CB0 8028F6A0 8CB80000 */ lw $t8, ($a1)
|
||||
/* 0F8CB4 8028F6A4 3C014370 */ li $at, 0x43700000 # 240.000000
|
||||
/* 0F8CB8 8028F6A8 44812000 */ mtc1 $at, $f4
|
||||
/* 0F8CBC 8028F6AC A702002C */ sh $v0, 0x2c($t8)
|
||||
/* 0F8CC0 8028F6B0 C4660000 */ lwc1 $f6, ($v1)
|
||||
/* 0F8CC4 8028F6B4 46062202 */ mul.s $f8, $f4, $f6
|
||||
/* 0F8CC8 8028F6B8 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 0F8CCC 8028F6BC 44025000 */ mfc1 $v0, $f10
|
||||
/* 0F8CD0 8028F6C0 00000000 */ nop
|
||||
/* 0F8CD4 8028F6C4 00024400 */ sll $t0, $v0, 0x10
|
||||
/* 0F8CD8 8028F6C8 00081403 */ sra $v0, $t0, 0x10
|
||||
/* 0F8CDC 8028F6CC 5C400004 */ bgtzl $v0, .L8028F6E0
|
||||
/* 0F8CE0 8028F6D0 284101E0 */ slti $at, $v0, 0x1e0
|
||||
/* 0F8CE4 8028F6D4 10000005 */ b .L8028F6EC
|
||||
/* 0F8CE8 8028F6D8 24020001 */ li $v0, 1
|
||||
/* 0F8CEC 8028F6DC 284101E0 */ slti $at, $v0, 0x1e0
|
||||
.L8028F6E0:
|
||||
/* 0F8CF0 8028F6E0 54200003 */ bnel $at, $zero, .L8028F6F0
|
||||
/* 0F8CF4 8028F6E4 8C8A0000 */ lw $t2, ($a0)
|
||||
/* 0F8CF8 8028F6E8 240201DC */ li $v0, 476
|
||||
.L8028F6EC:
|
||||
/* 0F8CFC 8028F6EC 8C8A0000 */ lw $t2, ($a0)
|
||||
.L8028F6F0:
|
||||
/* 0F8D00 8028F6F0 A542002E */ sh $v0, 0x2e($t2)
|
||||
/* 0F8D04 8028F6F4 8CAB0000 */ lw $t3, ($a1)
|
||||
/* 0F8D08 8028F6F8 03E00008 */ jr $ra
|
||||
/* 0F8D0C 8028F6FC A562002E */ sh $v0, 0x2e($t3)
|
||||
|
||||
.L8028F700:
|
||||
/* 0F8D10 8028F700 3C03802C */ lui $v1, %hi(D_802BA034) # $v1, 0x802c
|
||||
/* 0F8D14 8028F704 2463A034 */ addiu $v1, %lo(D_802BA034) # addiu $v1, $v1, -0x5fcc
|
||||
/* 0F8D18 8028F708 3C0143A0 */ li $at, 0x43A00000 # 320.000000
|
||||
/* 0F8D1C 8028F70C 44818000 */ mtc1 $at, $f16
|
||||
/* 0F8D20 8028F710 C4720000 */ lwc1 $f18, ($v1)
|
||||
/* 0F8D24 8028F714 3C04800E */ lui $a0, %hi(D_800DC5EC) # $a0, 0x800e
|
||||
/* 0F8D28 8028F718 2484C5EC */ addiu $a0, %lo(D_800DC5EC) # addiu $a0, $a0, -0x3a14
|
||||
/* 0F8D2C 8028F71C 46128102 */ mul.s $f4, $f16, $f18
|
||||
/* 0F8D30 8028F720 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 0F8D34 8028F724 44023000 */ mfc1 $v0, $f6
|
||||
/* 0F8D38 8028F728 00000000 */ nop
|
||||
/* 0F8D3C 8028F72C 00026C00 */ sll $t5, $v0, 0x10
|
||||
/* 0F8D40 8028F730 000D1403 */ sra $v0, $t5, 0x10
|
||||
/* 0F8D44 8028F734 5C400004 */ bgtzl $v0, .L8028F748
|
||||
/* 0F8D48 8028F738 28410280 */ slti $at, $v0, 0x280
|
||||
/* 0F8D4C 8028F73C 10000005 */ b .L8028F754
|
||||
/* 0F8D50 8028F740 24020001 */ li $v0, 1
|
||||
/* 0F8D54 8028F744 28410280 */ slti $at, $v0, 0x280
|
||||
.L8028F748:
|
||||
/* 0F8D58 8028F748 54200003 */ bnel $at, $zero, .L8028F758
|
||||
/* 0F8D5C 8028F74C 8C8F0000 */ lw $t7, ($a0)
|
||||
/* 0F8D60 8028F750 2402027C */ li $v0, 636
|
||||
.L8028F754:
|
||||
/* 0F8D64 8028F754 8C8F0000 */ lw $t7, ($a0)
|
||||
.L8028F758:
|
||||
/* 0F8D68 8028F758 3C05800E */ lui $a1, %hi(D_800DC5F0) # $a1, 0x800e
|
||||
/* 0F8D6C 8028F75C 24A5C5F0 */ addiu $a1, %lo(D_800DC5F0) # addiu $a1, $a1, -0x3a10
|
||||
/* 0F8D70 8028F760 A5E2002C */ sh $v0, 0x2c($t7)
|
||||
/* 0F8D74 8028F764 8CB80000 */ lw $t8, ($a1)
|
||||
/* 0F8D78 8028F768 3C0142F0 */ li $at, 0x42F00000 # 120.000000
|
||||
/* 0F8D7C 8028F76C 44814000 */ mtc1 $at, $f8
|
||||
/* 0F8D80 8028F770 A702002C */ sh $v0, 0x2c($t8)
|
||||
/* 0F8D84 8028F774 C46A0000 */ lwc1 $f10, ($v1)
|
||||
/* 0F8D88 8028F778 460A4402 */ mul.s $f16, $f8, $f10
|
||||
/* 0F8D8C 8028F77C 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 0F8D90 8028F780 44029000 */ mfc1 $v0, $f18
|
||||
/* 0F8D94 8028F784 00000000 */ nop
|
||||
/* 0F8D98 8028F788 00024400 */ sll $t0, $v0, 0x10
|
||||
/* 0F8D9C 8028F78C 00081403 */ sra $v0, $t0, 0x10
|
||||
/* 0F8DA0 8028F790 5C400004 */ bgtzl $v0, .L8028F7A4
|
||||
/* 0F8DA4 8028F794 284100F0 */ slti $at, $v0, 0xf0
|
||||
/* 0F8DA8 8028F798 10000005 */ b .L8028F7B0
|
||||
/* 0F8DAC 8028F79C 24020001 */ li $v0, 1
|
||||
/* 0F8DB0 8028F7A0 284100F0 */ slti $at, $v0, 0xf0
|
||||
.L8028F7A4:
|
||||
/* 0F8DB4 8028F7A4 54200003 */ bnel $at, $zero, .L8028F7B4
|
||||
/* 0F8DB8 8028F7A8 8C8A0000 */ lw $t2, ($a0)
|
||||
/* 0F8DBC 8028F7AC 240200EC */ li $v0, 236
|
||||
.L8028F7B0:
|
||||
/* 0F8DC0 8028F7B0 8C8A0000 */ lw $t2, ($a0)
|
||||
.L8028F7B4:
|
||||
/* 0F8DC4 8028F7B4 A542002E */ sh $v0, 0x2e($t2)
|
||||
/* 0F8DC8 8028F7B8 8CAB0000 */ lw $t3, ($a1)
|
||||
/* 0F8DCC 8028F7BC 03E00008 */ jr $ra
|
||||
/* 0F8DD0 8028F7C0 A562002E */ sh $v0, 0x2e($t3)
|
||||
|
||||
.L8028F7C4:
|
||||
/* 0F8DD4 8028F7C4 3C03802C */ lui $v1, %hi(D_802BA034) # $v1, 0x802c
|
||||
/* 0F8DD8 8028F7C8 2463A034 */ addiu $v1, %lo(D_802BA034) # addiu $v1, $v1, -0x5fcc
|
||||
/* 0F8DDC 8028F7CC 3C014320 */ li $at, 0x43200000 # 160.000000
|
||||
/* 0F8DE0 8028F7D0 44812000 */ mtc1 $at, $f4
|
||||
/* 0F8DE4 8028F7D4 C4660000 */ lwc1 $f6, ($v1)
|
||||
/* 0F8DE8 8028F7D8 3C04800E */ lui $a0, %hi(D_800DC5EC) # $a0, 0x800e
|
||||
/* 0F8DEC 8028F7DC 2484C5EC */ addiu $a0, %lo(D_800DC5EC) # addiu $a0, $a0, -0x3a14
|
||||
/* 0F8DF0 8028F7E0 46062202 */ mul.s $f8, $f4, $f6
|
||||
/* 0F8DF4 8028F7E4 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 0F8DF8 8028F7E8 44025000 */ mfc1 $v0, $f10
|
||||
/* 0F8DFC 8028F7EC 00000000 */ nop
|
||||
/* 0F8E00 8028F7F0 00026C00 */ sll $t5, $v0, 0x10
|
||||
/* 0F8E04 8028F7F4 000D1403 */ sra $v0, $t5, 0x10
|
||||
/* 0F8E08 8028F7F8 5C400004 */ bgtzl $v0, .L8028F80C
|
||||
/* 0F8E0C 8028F7FC 28410140 */ slti $at, $v0, 0x140
|
||||
/* 0F8E10 8028F800 10000005 */ b .L8028F818
|
||||
/* 0F8E14 8028F804 24020001 */ li $v0, 1
|
||||
/* 0F8E18 8028F808 28410140 */ slti $at, $v0, 0x140
|
||||
.L8028F80C:
|
||||
/* 0F8E1C 8028F80C 54200003 */ bnel $at, $zero, .L8028F81C
|
||||
/* 0F8E20 8028F810 8C8F0000 */ lw $t7, ($a0)
|
||||
/* 0F8E24 8028F814 2402013C */ li $v0, 316
|
||||
.L8028F818:
|
||||
/* 0F8E28 8028F818 8C8F0000 */ lw $t7, ($a0)
|
||||
.L8028F81C:
|
||||
/* 0F8E2C 8028F81C 3C05800E */ lui $a1, %hi(D_800DC5F0) # $a1, 0x800e
|
||||
/* 0F8E30 8028F820 24A5C5F0 */ addiu $a1, %lo(D_800DC5F0) # addiu $a1, $a1, -0x3a10
|
||||
/* 0F8E34 8028F824 A5E2002C */ sh $v0, 0x2c($t7)
|
||||
/* 0F8E38 8028F828 8CB80000 */ lw $t8, ($a1)
|
||||
/* 0F8E3C 8028F82C 3C06800E */ lui $a2, %hi(D_800DC5F4) # $a2, 0x800e
|
||||
/* 0F8E40 8028F830 24C6C5F4 */ addiu $a2, %lo(D_800DC5F4) # addiu $a2, $a2, -0x3a0c
|
||||
/* 0F8E44 8028F834 A702002C */ sh $v0, 0x2c($t8)
|
||||
/* 0F8E48 8028F838 8CD90000 */ lw $t9, ($a2)
|
||||
/* 0F8E4C 8028F83C 3C07800E */ lui $a3, %hi(D_800DC5F8) # $a3, 0x800e
|
||||
/* 0F8E50 8028F840 24E7C5F8 */ addiu $a3, %lo(D_800DC5F8) # addiu $a3, $a3, -0x3a08
|
||||
/* 0F8E54 8028F844 A722002C */ sh $v0, 0x2c($t9)
|
||||
/* 0F8E58 8028F848 8CE80000 */ lw $t0, ($a3)
|
||||
/* 0F8E5C 8028F84C 3C0142F0 */ li $at, 0x42F00000 # 120.000000
|
||||
/* 0F8E60 8028F850 44818000 */ mtc1 $at, $f16
|
||||
/* 0F8E64 8028F854 A502002C */ sh $v0, 0x2c($t0)
|
||||
/* 0F8E68 8028F858 C4720000 */ lwc1 $f18, ($v1)
|
||||
/* 0F8E6C 8028F85C 46128102 */ mul.s $f4, $f16, $f18
|
||||
/* 0F8E70 8028F860 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 0F8E74 8028F864 44023000 */ mfc1 $v0, $f6
|
||||
/* 0F8E78 8028F868 00000000 */ nop
|
||||
/* 0F8E7C 8028F86C 00025400 */ sll $t2, $v0, 0x10
|
||||
/* 0F8E80 8028F870 000A1403 */ sra $v0, $t2, 0x10
|
||||
/* 0F8E84 8028F874 5C400004 */ bgtzl $v0, .L8028F888
|
||||
/* 0F8E88 8028F878 284100F0 */ slti $at, $v0, 0xf0
|
||||
/* 0F8E8C 8028F87C 10000005 */ b .L8028F894
|
||||
/* 0F8E90 8028F880 24020001 */ li $v0, 1
|
||||
/* 0F8E94 8028F884 284100F0 */ slti $at, $v0, 0xf0
|
||||
.L8028F888:
|
||||
/* 0F8E98 8028F888 54200003 */ bnel $at, $zero, .L8028F898
|
||||
/* 0F8E9C 8028F88C 8C8C0000 */ lw $t4, ($a0)
|
||||
/* 0F8EA0 8028F890 240200EC */ li $v0, 236
|
||||
.L8028F894:
|
||||
/* 0F8EA4 8028F894 8C8C0000 */ lw $t4, ($a0)
|
||||
.L8028F898:
|
||||
/* 0F8EA8 8028F898 A582002E */ sh $v0, 0x2e($t4)
|
||||
/* 0F8EAC 8028F89C 8CAD0000 */ lw $t5, ($a1)
|
||||
/* 0F8EB0 8028F8A0 A5A2002E */ sh $v0, 0x2e($t5)
|
||||
/* 0F8EB4 8028F8A4 8CCE0000 */ lw $t6, ($a2)
|
||||
/* 0F8EB8 8028F8A8 A5C2002E */ sh $v0, 0x2e($t6)
|
||||
/* 0F8EBC 8028F8AC 8CEF0000 */ lw $t7, ($a3)
|
||||
/* 0F8EC0 8028F8B0 A5E2002E */ sh $v0, 0x2e($t7)
|
||||
/* 0F8EC4 8028F8B4 03E00008 */ jr $ra
|
||||
/* 0F8EC8 8028F8B8 00000000 */ nop
|
||||
|
|
@ -8,6 +8,7 @@
|
|||
glabel D_802B9BB0
|
||||
.float 30000.0
|
||||
|
||||
# begin func_802A4D18
|
||||
glabel D_802B9BB4
|
||||
.float 6800.0
|
||||
|
||||
|
|
@ -47,6 +48,7 @@ glabel D_802B9C24
|
|||
|
||||
glabel D_802B9C28
|
||||
.float 1.3333333730697632
|
||||
#end func_802A4D18
|
||||
|
||||
.word 0
|
||||
|
||||
|
|
|
|||
224
src/camera.c
224
src/camera.c
|
|
@ -487,21 +487,18 @@ void func_8001CCEC(Player *player, Camera *camera, f32 *arg2, f32 *arg3, f32 *ar
|
|||
GLOBAL_ASM("asm/non_matchings/camera/func_8001CCEC.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c
|
||||
extern ? D_80164A90;
|
||||
extern ? D_80164AA0;
|
||||
|
||||
void func_8001D53C(Player *player, Camera *camera, f32 *arg2, f32 *arg3, f32 *arg4, f32 *arg5, s16 arg6, s16 arg7) {
|
||||
f32 sp70;
|
||||
f32 sp6C;
|
||||
f32 sp68;
|
||||
f32 sp64;
|
||||
f32 sp60;
|
||||
f32 sp5C;
|
||||
f32 sp3C;
|
||||
s32 sp38;
|
||||
f32 var_f0;
|
||||
void func_8001D53C(Player *player, Camera *camera, Vec3f arg2, f32 *arg3, f32 *arg4, f32 *arg5, s16 arg6, s16 arg7) {
|
||||
Mat3 sp74;
|
||||
Vec3f sp68;
|
||||
Vec3f sp5C;
|
||||
f32 stackPadding0;
|
||||
f32 stackPadding1;
|
||||
f32 stackPadding2;
|
||||
f32 stackPadding3;
|
||||
f32 stackPadding4;
|
||||
f32 stackPadding5;
|
||||
f32 stackPadding6;
|
||||
f32 thing;
|
||||
|
||||
if (((u16) player->unk_222 == 0) && (camera->unk_A0 == 0.0f)) {
|
||||
camera->unk_A0 = 0.0f;
|
||||
|
|
@ -511,36 +508,37 @@ void func_8001D53C(Player *player, Camera *camera, f32 *arg2, f32 *arg3, f32 *ar
|
|||
} else {
|
||||
move_f32_towards(&camera->unk_A0, 0.0f, 0.06f);
|
||||
}
|
||||
sp3C = D_801652A0[arg7];
|
||||
sp68 = camera->unk_30[0];
|
||||
sp6C = camera->unk_30[1];
|
||||
sp70 = camera->unk_30[2];
|
||||
sp5C = camera->unk_3C[0];
|
||||
sp60 = camera->unk_3C[1] + camera->unk_A0;
|
||||
sp64 = camera->unk_3C[2];
|
||||
arg2->unk0 = camera->lookAt[0];
|
||||
arg2->unk4 = (f32) camera->lookAt[1];
|
||||
arg2->unk8 = (f32) camera->lookAt[2];
|
||||
sp38 = arg7 * 4;
|
||||
func_802B6540((f32 (*)[3]) &sp74[0], 0.0f, 1.0f, 0.0f, (s16) (s32) arg6);
|
||||
func_802B63B8(&sp5C, (f32 (*)[3]) &sp74[0]);
|
||||
arg2->unk0 += ((sp5C + player->pos[0]) - camera->lookAt[0]) * 1.0f;
|
||||
arg2->unk8 = (f32) (arg2->unk8 + (((sp64 + player->pos[2]) - camera->lookAt[2]) * 1.0f));
|
||||
arg2->unk4 = (f32) (arg2->unk4 + (((sp60 + player->pos[1]) - camera->lookAt[1]) * 1.0f));
|
||||
func_802B63B8(&sp68, (f32 (*)[3]) &sp74[0]);
|
||||
var_f0 = (f32) ((f64) sp6C + ((f64) player->unk_074 + 1.5));
|
||||
thing = D_801652A0[arg7];
|
||||
sp68[0] = camera->unk_30[0];
|
||||
sp68[1] = camera->unk_30[1];
|
||||
sp68[2] = camera->unk_30[2];
|
||||
sp5C[0] = camera->unk_3C[0];
|
||||
sp5C[1] = camera->unk_3C[1] + camera->unk_A0;
|
||||
sp5C[2] = camera->unk_3C[2];
|
||||
arg2[0] = camera->lookAt[0];
|
||||
arg2[1] = camera->lookAt[1];
|
||||
arg2[2] = camera->lookAt[2];
|
||||
func_802B6540(sp74, 0.0f, 1.0f, 0.0f, arg6);
|
||||
func_802B63B8(sp5C, sp74);
|
||||
stackPadding0 = player->pos[0] + sp5C[0];
|
||||
stackPadding2 = player->pos[2] + sp5C[2];
|
||||
stackPadding1 = player->pos[1] + sp5C[1];
|
||||
arg2[0] += (stackPadding0 - camera->lookAt[0]) * 1;
|
||||
arg2[2] += (stackPadding2 - camera->lookAt[2]) * 1;
|
||||
arg2[1] += (stackPadding1 - camera->lookAt[1]) * 1;
|
||||
func_802B63B8(sp68, sp74);
|
||||
stackPadding0 = player->pos[0] + sp68[0];
|
||||
stackPadding2 = player->pos[2] + sp68[2];
|
||||
stackPadding1 = sp68[1] + (player->unk_074 + 1.5);
|
||||
if ((player->unk_0CA & 1) == 1) {
|
||||
var_f0 = sp6C + (sp3C + 10.0f);
|
||||
stackPadding1 = sp68[1] + (thing + 10.0f);
|
||||
}
|
||||
*arg3 = sp68 + player->pos[0];
|
||||
*arg4 = var_f0;
|
||||
*arg5 = sp70 + player->pos[2];
|
||||
*(&D_80164A90 + sp38) = 0.0f;
|
||||
*(&D_80164AA0 + sp38) = 0.0f;
|
||||
*arg3 = stackPadding0;
|
||||
*arg4 = stackPadding1;
|
||||
*arg5 = stackPadding2;
|
||||
D_80164A90[arg7] = 0.0f;
|
||||
D_80164AA0[arg7] = 0.0f;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/camera/func_8001D53C.s")
|
||||
#endif
|
||||
|
||||
void func_8001D794(Player *player, Camera *camera, Vec3f arg2, f32 *arg3, f32 *arg4, f32 *arg5, s16 arg6) {
|
||||
Mat3 sp6C;
|
||||
|
|
@ -928,43 +926,36 @@ void func_8001E45C(Camera *camera, Player *player, s8 arg2) {
|
|||
GLOBAL_ASM("asm/non_matchings/camera/func_8001E45C.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
|
||||
void func_8001D53C(Player *, Camera *, f32 *, f32 *, f32 *, f32 *, s32, s32); /* extern */
|
||||
|
||||
void func_8001E8E8(Camera *camera, Player *player, s8 arg2) {
|
||||
f32 sp8C;
|
||||
f32 stackPadding0[6];
|
||||
f32 temp_f12;
|
||||
f32 sp88;
|
||||
f32 sp84;
|
||||
f32 temp_f14;
|
||||
f32 stackPadding1;
|
||||
f32 sp7C;
|
||||
f32 sp78;
|
||||
f32 sp74;
|
||||
f32 sp5C;
|
||||
f32 temp_f12;
|
||||
f32 temp_f14;
|
||||
Vec3f stackPadding2;
|
||||
Vec3f sp5C;
|
||||
f32 stackPadding3[10];
|
||||
|
||||
camera->unk_B0 = 0;
|
||||
camera->unk2C = (s16) player->unk_02C[1];
|
||||
func_8001D53C(player, camera, &sp5C, &sp7C, &sp78, &sp74, (s32) player->unk_02C[1], (s32) arg2);
|
||||
camera->unk_2C = player->unk_02C[1];
|
||||
func_8001D53C(player, camera, sp5C, &sp7C, &sp78, &sp74, (s16) (s32) player->unk_02C[1], (s16) (s32) arg2);
|
||||
func_802ADDC8(&camera->unk_54, 5.0f, sp7C, sp78, sp74);
|
||||
camera->lookAt[0] = sp5C;
|
||||
camera->lookAt[1] = sp60;
|
||||
camera->lookAt[2] = sp64;
|
||||
camera->lookAt[0] = sp5C[0];
|
||||
camera->lookAt[1] = sp5C[1];
|
||||
camera->lookAt[2] = sp5C[2];
|
||||
camera->pos[0] = sp7C;
|
||||
camera->pos[1] = sp78;
|
||||
temp_f12 = camera->lookAt[0] - camera->pos[0];
|
||||
camera->pos[2] = sp74;
|
||||
temp_f12 = camera->lookAt[0] - camera->pos[0];
|
||||
sp88 = camera->lookAt[1] - camera->pos[1];
|
||||
sp8C = temp_f12;
|
||||
temp_f14 = camera->lookAt[2] - camera->pos[2];
|
||||
sp84 = temp_f14;
|
||||
camera->rot[1] = atan2s(temp_f12, temp_f14);
|
||||
camera->rot[0] = atan2s(sqrtf((sp8C * sp8C) + (temp_f14 * temp_f14)), sp88);
|
||||
camera->rot[0] = atan2s(sqrtf((temp_f12 * temp_f12) + (temp_f14 * temp_f14)), sp88);
|
||||
camera->rot[2] = 0;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/camera/func_8001E8E8.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
|
||||
|
|
@ -1068,36 +1059,29 @@ GLOBAL_ASM("asm/non_matchings/camera/func_8001EA0C.s")
|
|||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
|
||||
void func_80019ED0(); /* extern */
|
||||
void func_8001A0A4(s16 *, Camera *, Player *, s8, s32); /* extern */
|
||||
void func_8001A0DC(s16 *, Camera *, Player *, s8, s32); /* extern */
|
||||
void func_8001A588(u16 *, Camera *, Player *, s8, s32); /* extern */
|
||||
void func_8001E0C4(Camera *, Player *, s8); /* extern */
|
||||
void func_8001E45C(Camera *, Player *, s8); /* extern */
|
||||
void func_8001E8E8(Camera *, Player *, s8); /* extern */
|
||||
void func_8001EA0C(Camera *, Player *, s8); /* extern */
|
||||
void func_8001F87C(s32); /* extern */
|
||||
extern u16 D_80152300;
|
||||
//generated by m2c commit 9841ff34ca242f5f14b2eab2b54a7a65ac47d80f
|
||||
? func_80019ED0(); /* extern */
|
||||
? func_8001A588(u16 *, Camera *, Player *, s8, s32); /* extern */
|
||||
? func_8001E45C(Camera *, Player *, s8); /* extern */
|
||||
? func_8001EA0C(Camera *, Player *, s8); /* extern */
|
||||
extern u16 D_8015F894;
|
||||
extern s8 D_80164A88;
|
||||
extern s8 D_80164A89;
|
||||
|
||||
void func_8001EE98(Player *player, Camera *camera, s8 arg2) {
|
||||
s32 sp34;
|
||||
s16 *sp2C;
|
||||
s16 *temp_a0;
|
||||
s16 *temp_a0_2;
|
||||
s16 *temp_a0_3;
|
||||
s16 *temp_a0_4;
|
||||
s16 *temp_a0_5;
|
||||
s16 *temp_a0_6;
|
||||
u16 *sp2C;
|
||||
s16 temp_v0_2;
|
||||
s16 temp_v0_3;
|
||||
s16 temp_v0_4;
|
||||
s32 temp_v0;
|
||||
s32 var_s0;
|
||||
u16 *temp_a0;
|
||||
u16 *temp_a0_2;
|
||||
u16 *temp_a0_3;
|
||||
u16 *temp_a0_4;
|
||||
u16 *temp_a0_5;
|
||||
u16 *temp_a0_6;
|
||||
u16 *temp_a0_7;
|
||||
u16 temp_v0_2;
|
||||
u16 temp_v0;
|
||||
|
||||
if (camera == camera1) {
|
||||
sp34 = 0;
|
||||
|
|
@ -1112,86 +1096,86 @@ void func_8001EE98(Player *player, Camera *camera, s8 arg2) {
|
|||
if (camera == camera4) {
|
||||
var_s0 = 3;
|
||||
}
|
||||
switch (gModeSelection) { /* irregular */
|
||||
case GRAND_PRIX:
|
||||
switch (gModeSelection) { /* irregular */
|
||||
case 0:
|
||||
if (((player->unk_000 & 0x800) == 0x800) || (D_800DC51C == 1)) {
|
||||
*(&D_80152300 + (var_s0 * 2)) = 3;
|
||||
D_80152300[var_s0] = 3;
|
||||
} else if (D_800DC5FC == 1) {
|
||||
func_8001A0A4((var_s0 * 2) + &D_80152300, camera, player, arg2, var_s0);
|
||||
func_8001A0A4((s32) &D_80152300[var_s0], (s32) camera, (s32) player, (s32) arg2, var_s0);
|
||||
} else {
|
||||
func_8001A0DC((var_s0 * 2) + &D_80152300, camera, player, arg2, var_s0);
|
||||
func_8001A0DC((s16 *) &D_80152300[var_s0], camera, player, arg2, var_s0);
|
||||
}
|
||||
break;
|
||||
case BATTLE:
|
||||
case 3:
|
||||
if ((D_800DC51C == (u16) 1) || ((D_8015F894 == 2) && (D_80164A89 == 1))) {
|
||||
if (D_80164A88 == 0) {
|
||||
func_80019ED0();
|
||||
}
|
||||
D_80164A88 = 1;
|
||||
D_80152300.unk0 = 3;
|
||||
D_80152300.unk2 = 3;
|
||||
D_80152300.unk4 = 3;
|
||||
D_80152300.unk6 = 3;
|
||||
D_80152300->unk0 = 3;
|
||||
D_80152300->unk2 = 3U;
|
||||
D_80152300->unk4 = 3U;
|
||||
D_80152300->unk6 = 3U;
|
||||
} else {
|
||||
D_80164A88 = 0;
|
||||
if (D_800DC5FC == (u16) 1) {
|
||||
temp_a0 = (var_s0 * 2) + &D_80152300;
|
||||
temp_a0 = &D_80152300[var_s0];
|
||||
sp2C = temp_a0;
|
||||
func_8001A0A4(temp_a0, camera, player, arg2, var_s0);
|
||||
func_8001A0A4((s32) temp_a0, (s32) camera, (s32) player, (s32) arg2, var_s0);
|
||||
} else {
|
||||
temp_a0_2 = (var_s0 * 2) + &D_80152300;
|
||||
temp_a0_2 = &D_80152300[var_s0];
|
||||
sp2C = temp_a0_2;
|
||||
func_8001A0DC(temp_a0_2, camera, player, arg2, var_s0);
|
||||
func_8001A0DC((s16 *) temp_a0_2, camera, player, arg2, var_s0);
|
||||
}
|
||||
*sp2C = 9;
|
||||
}
|
||||
break;
|
||||
case TIME_TRIALS:
|
||||
case 1:
|
||||
if (((gPlayerOne->unk_000 & 0x800) == 0x800) || (D_800DC51C == (u16) 1)) {
|
||||
D_80152300.unk0 = 3;
|
||||
*(&D_80152300 + 2) = 3;
|
||||
*(&D_80152300 + 4) = 3;
|
||||
*(&D_80152300 + 6) = 3;
|
||||
D_80152300->unk0 = 3;
|
||||
*(D_80152300 + 2) = 3;
|
||||
*(D_80152300 + 4) = 3;
|
||||
*(D_80152300 + 6) = 3;
|
||||
} else {
|
||||
if (D_800DC5FC == (u16) 1) {
|
||||
temp_a0_3 = (var_s0 * 2) + &D_80152300;
|
||||
temp_a0_3 = &D_80152300[var_s0];
|
||||
sp2C = temp_a0_3;
|
||||
func_8001A0A4(temp_a0_3, camera, player, arg2, var_s0);
|
||||
func_8001A0A4((s32) temp_a0_3, (s32) camera, (s32) player, (s32) arg2, var_s0);
|
||||
} else {
|
||||
temp_a0_4 = (var_s0 * 2) + &D_80152300;
|
||||
temp_a0_4 = &D_80152300[var_s0];
|
||||
sp2C = temp_a0_4;
|
||||
func_8001A0DC(temp_a0_4, camera, player, arg2, var_s0);
|
||||
func_8001A0DC((s16 *) temp_a0_4, camera, player, arg2, var_s0);
|
||||
}
|
||||
*sp2C = 1;
|
||||
}
|
||||
break;
|
||||
case VERSUS:
|
||||
case 2:
|
||||
if (((player->unk_000 & 0x800) == 0x800) || (D_800DC51C == (u16) 1) || (D_8015F894 == 2)) {
|
||||
*(&D_80152300 + (var_s0 * 2)) = 3;
|
||||
D_80152300[var_s0] = 3;
|
||||
} else {
|
||||
if (D_800DC5FC == (u16) 1) {
|
||||
temp_a0_5 = (var_s0 * 2) + &D_80152300;
|
||||
temp_a0_5 = &D_80152300[var_s0];
|
||||
sp2C = temp_a0_5;
|
||||
func_8001A0A4(temp_a0_5, camera, player, arg2, var_s0);
|
||||
func_8001A0A4((s32) temp_a0_5, (s32) camera, (s32) player, (s32) arg2, var_s0);
|
||||
} else {
|
||||
temp_a0_6 = (var_s0 * 2) + &D_80152300;
|
||||
temp_a0_6 = &D_80152300[var_s0];
|
||||
sp2C = temp_a0_6;
|
||||
func_8001A0DC(temp_a0_6, camera, player, arg2, var_s0);
|
||||
func_8001A0DC((s16 *) temp_a0_6, camera, player, arg2, var_s0);
|
||||
}
|
||||
*sp2C = 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (D_800DC5FC == 0) {
|
||||
temp_a0_7 = (var_s0 * 2) + &D_80152300;
|
||||
temp_v0_2 = *temp_a0_7;
|
||||
switch (temp_v0_2) { /* switch 1; irregular */
|
||||
temp_a0_7 = &D_80152300[var_s0];
|
||||
temp_v0 = *temp_a0_7;
|
||||
switch (temp_v0) { /* switch 1; irregular */
|
||||
case 3: /* switch 1 */
|
||||
func_8001A588(temp_a0_7, camera, player, arg2, var_s0);
|
||||
return;
|
||||
case 1: /* switch 1 */
|
||||
temp_v0_3 = player->unk_0CA;
|
||||
if (((temp_v0_3 & 1) == 1) || ((temp_v0_3 & 2) == 2)) {
|
||||
temp_v0_2 = player->unk_0CA;
|
||||
if (((temp_v0_2 & 1) == 1) || ((temp_v0_2 & 2) == 2)) {
|
||||
func_8001E8E8(camera, player, arg2);
|
||||
return;
|
||||
}
|
||||
|
|
@ -1202,8 +1186,8 @@ void func_8001EE98(Player *player, Camera *camera, s8 arg2) {
|
|||
func_8001F87C(var_s0);
|
||||
return;
|
||||
case 9: /* switch 1 */
|
||||
temp_v0_4 = player->unk_0CA;
|
||||
if (((temp_v0_4 & 1) == 1) || ((temp_v0_4 & 2) == 2)) {
|
||||
temp_v0_3 = player->unk_0CA;
|
||||
if (((temp_v0_3 & 1) == 1) || ((temp_v0_3 & 2) == 2)) {
|
||||
func_8001E8E8(camera, player, arg2);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -97,12 +97,16 @@ typedef struct {
|
|||
void func_8001CA10(Camera*);
|
||||
void func_8001CA24(Player*, f32);
|
||||
void func_8001CA78(Player*, Camera*, Vec3f, f32*, f32*, f32*, s16, s8);
|
||||
void func_8001D53C(Player*, Camera*, Vec3f, f32*, f32*, f32*, s16, s16);
|
||||
void func_8001D794(Player*, Camera*, Vec3f, f32*, f32*, f32*, s16);
|
||||
void func_8001E0C4(Camera*, Player*, s8);
|
||||
void func_8001E8E8(Camera*, Player*, s8);
|
||||
void func_8001F87C(s32);
|
||||
|
||||
extern s32 D_80164A2C;
|
||||
extern f32 D_80164A30;
|
||||
extern f32 D_80164A90[];
|
||||
extern f32 D_80164AA0[];
|
||||
|
||||
extern Camera cameras[];
|
||||
extern Camera *camera1;
|
||||
|
|
|
|||
|
|
@ -13,4 +13,9 @@ void func_80003040();
|
|||
|
||||
void func_800C8F44(u16 arg0);
|
||||
|
||||
extern struct UnkStruct_800DC5EC *D_800DC5EC;
|
||||
extern struct UnkStruct_800DC5EC *D_800DC5F0;
|
||||
extern struct UnkStruct_800DC5EC *D_800DC5F4;
|
||||
extern struct UnkStruct_800DC5EC *D_800DC5F8;
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
#include "code_8008C1D0.h"
|
||||
#include "skybox_and_splitscreen.h"
|
||||
#include "common_textures.h"
|
||||
#include "audio/external.h"
|
||||
|
||||
// UI Code?
|
||||
void func_80057C60(void) {
|
||||
|
|
@ -4049,7 +4050,7 @@ GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8005F90C.s")
|
|||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b
|
||||
//generated by m2c commit 9841ff34ca242f5f14b2eab2b54a7a65ac47d80f
|
||||
void func_80060504(Player *player, s16 arg1, s32 arg2, s32 arg3) {
|
||||
f32 sp50;
|
||||
f32 sp4C;
|
||||
|
|
@ -4134,71 +4135,49 @@ block_19:
|
|||
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80060504.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b
|
||||
s16 gCurrentCourseId; /* unable to generate initializer */
|
||||
|
||||
void func_800608E0(Player *player, s16 arg1, s32 arg2, s8 arg3) {
|
||||
f32 sp54;
|
||||
#ifdef NEEDS_RODATA
|
||||
// data/data_0DD0A0_3_0.s
|
||||
extern f64 D_800EE580;// = 0.1
|
||||
void func_800608E0(Player *player, s16 arg1, s32 arg2, s8 arg3, s8 arg4) {
|
||||
f32 var_f0;
|
||||
f32 sp50;
|
||||
f32 sp4C;
|
||||
f32 sp48;
|
||||
UnkPlayerStruct258 *temp_s2;
|
||||
f32 temp_f12;
|
||||
f32 temp_f2;
|
||||
f32 var_f0;
|
||||
|
||||
temp_f2 = D_801652A0[arg3];
|
||||
temp_f12 = temp_f2 - player->pos[1];
|
||||
var_f0 = 8.0f - temp_f12;
|
||||
var_f0 = 8.0f - (D_801652A0[arg3] - player->pos[1]);
|
||||
if ((f64) var_f0 <= 0.0) {
|
||||
var_f0 = 0.0f;
|
||||
}
|
||||
sp4C = temp_f12 - 3.0f;
|
||||
sp4C = (D_801652A0[arg3] - player->pos[1]) - 3.0f;
|
||||
if ((player->unk_0DE & 1) && (gCurrentCourseId != 6)) {
|
||||
var_f0 = 2.5f;
|
||||
sp4C = (f32) ((f64) (temp_f2 - player->pos[1]) + 0.1);
|
||||
sp4C = (f32) ((f64) (D_801652A0[arg3] - player->pos[1]) + 0.1);
|
||||
}
|
||||
temp_s2 = &player->unk_258[arg1];
|
||||
sp54 = var_f0;
|
||||
func_8005D794(player, temp_s2, 0.0f, 0.0f, 0.0f, (s8) 0, (s8) 0);
|
||||
func_8005D7D8(temp_s2, 3, var_f0);
|
||||
func_8005D794(player, &player->unk_258[arg1], 0.0f, 0.0f, 0.0f, (s8) 0, (s8) 0);
|
||||
func_8005D7D8(&player->unk_258[arg1], 3, var_f0);
|
||||
if ((gCurrentCourseId == 2) || (gCurrentCourseId == 0x0013)) {
|
||||
func_8005D800(temp_s2, 0, 0x00AF);
|
||||
func_8005D800(&player->unk_258[arg1], 0, 0x00AF);
|
||||
} else {
|
||||
func_8005D800(temp_s2, 0x00FFFFFF, 0x00CF);
|
||||
func_8005D800(&player->unk_258[arg1], 0x00FFFFFF, 0x00CF);
|
||||
}
|
||||
func_80062B18(&sp50, &sp4C, &sp48, 0.0f, sp4C, (((f32) -player->unk_258[arg1].unk_01E * (player->unk_094 / 18.0f) * 216.0f) / 10.0f) + -4.0f, (u16) (s32) -player->unk_258[arg1].unk_020, (u16) (player->unk_206 * -2));
|
||||
func_80062B18(&sp50, &sp4C, &sp48, 0.0f, sp4C, ((-player->unk_258[arg1].unk_01E * (player->unk_094 / 18.0f) * 216.0f) / 10.0f) + -4.0f, -player->unk_258[arg1].unk_020, -player->unk_206 * 2);
|
||||
player->unk_258[arg1].unk_000[0] = player->pos[0] + sp50;
|
||||
player->unk_258[arg1].unk_000[1] = player->pos[1] + sp4C;
|
||||
player->unk_258[arg1].unk_000[2] = player->pos[2] + sp48;
|
||||
player->unk_258[arg1].unk_000[1] = player->pos[1] + sp4C;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800608E0.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b
|
||||
? func_800608E0(s16, s8, s32); /* extern */
|
||||
s16 gCurrentCourseId; /* unable to generate initializer */
|
||||
|
||||
void func_80060B14(Player *player, s16 arg1, s32 arg2, s8 arg3, s8 arg4) {
|
||||
s16 temp_v0;
|
||||
|
||||
temp_v0 = gCurrentCourseId;
|
||||
if ((temp_v0 != 0x0010) && (temp_v0 != 0x000D)) {
|
||||
if ((gCurrentCourseId != 0x0010) && (gCurrentCourseId != 0x000D)) {
|
||||
if ((arg1 == 0) && ((player->unk_258[arg2].unk_01E > 0) || (player->unk_258[arg2].unk_01C == 0))) {
|
||||
func_800608E0(arg1, arg3, (s32) arg4);
|
||||
return;
|
||||
}
|
||||
if (player->unk_258[arg2].unk_01E > 0) {
|
||||
func_800608E0(arg1, arg3, (s32) arg4);
|
||||
func_800608E0(player, arg1, arg2, arg3, arg4);
|
||||
} else if (player->unk_258[arg2].unk_01E > 0) {
|
||||
func_800608E0(player, arg1, arg2, arg3, arg4);
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80060B14.s")
|
||||
#endif
|
||||
|
||||
#ifdef NEEDS_RODATA
|
||||
// data_0DD0A0_3_0.s
|
||||
|
|
@ -9165,36 +9144,17 @@ void func_8006B87C(UNUSED Player *player, s8 playerIndex) {
|
|||
gPlayerBalloonStatus[playerIndex][2] = BALLOON_STATUS_GONE;
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b
|
||||
void func_8006B8B4(Player *player, s8 playerIndex) {
|
||||
s16 *sp1C;
|
||||
s16 *temp_v1;
|
||||
s16 temp_a3;
|
||||
u16 *temp_v0;
|
||||
u16 temp_t5;
|
||||
u8 temp_a0;
|
||||
|
||||
temp_v1 = &gPlayerBalloonCount[playerIndex];
|
||||
temp_a3 = *temp_v1;
|
||||
if (temp_a3 >= 0) {
|
||||
temp_v0 = (playerIndex * 6) + (temp_a3 * 2) + gPlayerBalloonStatus;
|
||||
temp_t5 = *temp_v0 & 0xFFFE;
|
||||
*temp_v0 = temp_t5;
|
||||
*temp_v0 = temp_t5 | 2;
|
||||
*temp_v1 = temp_a3 - 1;
|
||||
temp_a0 = playerIndex & 0xFF;
|
||||
sp1C = temp_v1;
|
||||
playerIndex = playerIndex;
|
||||
func_800C9060(temp_a0, 0x19009051U);
|
||||
if (*temp_v1 < 0) {
|
||||
if (gPlayerBalloonCount[playerIndex] >= 0) {
|
||||
gPlayerBalloonStatus[playerIndex][gPlayerBalloonCount[playerIndex]] &= ~1;
|
||||
gPlayerBalloonStatus[playerIndex][gPlayerBalloonCount[playerIndex]] |= 2;
|
||||
gPlayerBalloonCount[playerIndex]--;
|
||||
func_800C9060(playerIndex, 0x19009051U);
|
||||
if (gPlayerBalloonCount[playerIndex] < 0) {
|
||||
func_8008FD4C(player, playerIndex);
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8006B8B4.s")
|
||||
#endif
|
||||
|
||||
void func_8006B974(UNUSED s32 arg0, s8 playerIndex, s8 balloonIndex) {
|
||||
if (gPlayerBalloonCount[playerIndex] >= 0) {
|
||||
|
|
@ -9444,70 +9404,31 @@ void func_8006BB34(struct UnkStruct_8028088C *arg0, f32 arg1, s16 arg2, s16 arg3
|
|||
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8006BB34.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
UNUSED void func_8006C0C8(void *arg0, ? arg1, s32 arg2, s16 arg3) {
|
||||
f32 sp54;
|
||||
f32 sp50;
|
||||
f32 sp4C;
|
||||
s16 sp48;
|
||||
s16 sp46;
|
||||
s16 sp44;
|
||||
void *sp1C;
|
||||
void *temp_v0;
|
||||
void *temp_v0_2;
|
||||
void *temp_v0_3;
|
||||
void *temp_v0_4;
|
||||
void *temp_v0_5;
|
||||
void *temp_v0_6;
|
||||
void *temp_v0_7;
|
||||
void *temp_v0_8;
|
||||
void *temp_v0_9;
|
||||
#ifdef NON_MATCHING
|
||||
// identical to code_80280650/func_80280B50
|
||||
void func_8006C0C8(f32 *arg0, f32 arg1, s32 rgb, s16 alpha) {
|
||||
Vec3f sp4C;
|
||||
Vec3s sp44;
|
||||
s16 red;
|
||||
s16 green;
|
||||
s16 blue;
|
||||
|
||||
sp4C = arg0->unk0;
|
||||
sp50 = arg0->unk4;
|
||||
sp44 = 0;
|
||||
sp54 = arg0->unk8;
|
||||
sp48 = 0;
|
||||
sp46 = camera1->unk26;
|
||||
func_800652D4(arg1, &sp4C, &sp44, arg1);
|
||||
temp_v0 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0 + 8;
|
||||
temp_v0->unk0 = 0x06000000;
|
||||
temp_v0->unk4 = &D_0D008DB8;
|
||||
temp_v0_2 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_2 + 8;
|
||||
temp_v0_2->unk0 = 0xFD700000;
|
||||
temp_v0_2->unk4 = (s32) D_8018D48C;
|
||||
temp_v0_3 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_3 + 8;
|
||||
temp_v0_3->unk4 = 0x07000000;
|
||||
temp_v0_3->unk0 = 0xF5700000;
|
||||
temp_v0_4 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_4 + 8;
|
||||
temp_v0_4->unk4 = 0;
|
||||
temp_v0_4->unk0 = 0xE6000000;
|
||||
temp_v0_5 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_5 + 8;
|
||||
temp_v0_5->unk4 = 0x071FF200;
|
||||
temp_v0_5->unk0 = 0xF3000000;
|
||||
temp_v0_6 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_6 + 8;
|
||||
temp_v0_6->unk4 = 0;
|
||||
temp_v0_6->unk0 = 0xE7000000;
|
||||
temp_v0_7 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_7 + 8;
|
||||
temp_v0_7->unk4 = 0;
|
||||
temp_v0_7->unk0 = 0xF5680800;
|
||||
temp_v0_8 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_8 + 8;
|
||||
sp1C = temp_v0_8;
|
||||
temp_v0_8->unk4 = 0x7C07C;
|
||||
temp_v0_8->unk0 = 0xF2000000;
|
||||
func_8004B35C((s16) ((arg2 >> 0x10) & 0xFF), (s16) ((arg2 >> 8) & 0xFF), (s16) (arg2 & 0xFF), arg3);
|
||||
temp_v0_9 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_9 + 8;
|
||||
temp_v0_9->unk0 = 0x06000000;
|
||||
temp_v0_9->unk4 = &D_0D008E48;
|
||||
sp4C[0] = arg0[0];
|
||||
sp4C[1] = arg0[1];
|
||||
sp4C[2] = arg0[2];
|
||||
sp44[0] = 0;
|
||||
sp44[1] = camera1->rot[1];
|
||||
sp44[2] = 0;
|
||||
func_800652D4(sp4C, sp44, arg1);
|
||||
gSPDisplayList(gDisplayListHead++, D_0D008DB8);
|
||||
gDPLoadTextureBlock(gDisplayListHead++, D_8018D48C, G_IM_FMT_IA, G_IM_SIZ_8b, 32, 32, 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);
|
||||
// The exact order of operations for red/green/blue is slightly wrong...
|
||||
red = (rgb >> 0x10) & 0xFF;
|
||||
green = (rgb >> 0x08) & 0xFF;
|
||||
blue = (rgb >> 0x00) & 0xFF;
|
||||
func_8004B35C(red, green, blue, alpha);
|
||||
gSPDisplayList(gDisplayListHead++, D_0D008E48);
|
||||
D_80164AF0 += 1;
|
||||
}
|
||||
#else
|
||||
|
|
|
|||
|
|
@ -96,6 +96,8 @@ void func_8005DA30(Player*, s16, s32, s8, s8);
|
|||
void func_8005DAD0();
|
||||
void func_8005DAD8(UnkPlayerStruct258*, s16, s16, s16);
|
||||
|
||||
void func_800608E0(Player*, s16, s32, s8, s8);
|
||||
void func_80060B14(Player*, s16, s32, s8, s8);
|
||||
void func_80060BCC(Player*, s16, s32, s32);
|
||||
void func_80060F50(Player*, s16, s8, s8);
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
#include "math_util.h"
|
||||
#include "math_util_2.h"
|
||||
#include "objects.h"
|
||||
#include "waypoints.h"
|
||||
#include "variables.h"
|
||||
#include "code_80057C60.h"
|
||||
#include "code_80071F00.h"
|
||||
|
|
@ -42,47 +43,16 @@ void func_80071F6C(s32 *arg0) {
|
|||
*arg0 = -1;
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
|
||||
extern s8 D_80165CE2;
|
||||
extern s8 D_80165DC2;
|
||||
extern ? D_80165DD8;
|
||||
extern ? D_80183D58;
|
||||
|
||||
s32 func_80071FBC(void) {
|
||||
? *var_a0;
|
||||
s32 var_v1;
|
||||
s8 temp_t1;
|
||||
|
||||
var_v1 = 0;
|
||||
if (D_80165CE2 != 0) {
|
||||
var_v1 = 1;
|
||||
s32 objectIndex;
|
||||
s32 someCount = 0;
|
||||
for (objectIndex = 0; objectIndex < OBJECT_LIST_SIZE; objectIndex++) {
|
||||
if (D_80165C18[objectIndex].unk_0CA != 0) {
|
||||
someCount++;
|
||||
}
|
||||
}
|
||||
var_a0 = &D_80165DD8;
|
||||
if (D_80165DC2 != 0) {
|
||||
var_v1 += 1;
|
||||
}
|
||||
do {
|
||||
if (var_a0->unkCA != 0) {
|
||||
var_v1 += 1;
|
||||
}
|
||||
if (var_a0->unk1AA != 0) {
|
||||
var_v1 += 1;
|
||||
}
|
||||
if (var_a0->unk28A != 0) {
|
||||
var_v1 += 1;
|
||||
}
|
||||
temp_t1 = var_a0->unk36A;
|
||||
var_a0 += 0x380;
|
||||
if (temp_t1 != 0) {
|
||||
var_v1 += 1;
|
||||
}
|
||||
} while (var_a0 != &D_80183D58);
|
||||
return var_v1;
|
||||
return someCount;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80071FBC.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
|
||||
|
|
@ -4473,69 +4443,43 @@ void func_8007A4D4(s32 objectIndex, s32 playerId) {
|
|||
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007A4D4.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
|
||||
void func_8007A66C(s32 objectIndex, Player *player, Camera *camera) {
|
||||
f32 sp24;
|
||||
struct_80165C18_entry *sp20;
|
||||
s32 temp_t8;
|
||||
struct_80165C18_entry *temp_v0;
|
||||
u16 temp_t8;
|
||||
|
||||
temp_t8 = (0x8000 - camera->rot[1]) & 0xFFFF;
|
||||
sp24 = coss(temp_t8 & 0xFFFF);
|
||||
temp_v0 = &D_80165C18[objectIndex];
|
||||
temp_v0->unk_004[0] = (player->pos[0] + (sp24 * (temp_v0->unk_010[0] + temp_v0->unk_028[0]))) - ((temp_v0->unk_028[2] + temp_v0->unk_010[2]) * sins(temp_t8 & 0xFFFF));
|
||||
sp20 = temp_v0;
|
||||
temp_v0->unk_004[1] = temp_v0->unk_028[1] + (player->unk_074 + temp_v0->unk_010[1]);
|
||||
sp24 = sins(temp_t8 & 0xFFFF);
|
||||
temp_v0->unk_004[2] = ((temp_v0->unk_028[2] + temp_v0->unk_010[2]) * coss(temp_t8 & 0xFFFF)) + (player->pos[2] + (sp24 * (temp_v0->unk_010[0] + temp_v0->unk_028[0])));
|
||||
temp_t8 = 0x8000 - camera->rot[1];
|
||||
D_80165C18[objectIndex].unk_004[0] = (player->pos[0] + (coss(temp_t8) * (D_80165C18[objectIndex].unk_010[0] + D_80165C18[objectIndex].unk_028[0]))) - (sins(temp_t8) * (D_80165C18[objectIndex].unk_010[2] + D_80165C18[objectIndex].unk_028[2]));
|
||||
D_80165C18[objectIndex].unk_004[1] = player->unk_074 + D_80165C18[objectIndex].unk_010[1] + D_80165C18[objectIndex].unk_028[1];
|
||||
D_80165C18[objectIndex].unk_004[2] = (player->pos[2] + (sins(temp_t8) * (D_80165C18[objectIndex].unk_010[0] + D_80165C18[objectIndex].unk_028[0]))) + (coss(temp_t8) * (D_80165C18[objectIndex].unk_010[2] + D_80165C18[objectIndex].unk_028[2]));
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007A66C.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
|
||||
void func_8007A778(s32 objectIndex, Player *player, Camera *camera) {
|
||||
f32 sp24;
|
||||
struct_80165C18_entry *sp20;
|
||||
s32 temp_t8;
|
||||
struct_80165C18_entry *temp_v0;
|
||||
u16 temp_t8;
|
||||
|
||||
temp_t8 = (0x8000 - camera->rot[1]) & 0xFFFF;
|
||||
sp24 = coss(temp_t8 & 0xFFFF);
|
||||
temp_v0 = &D_80165C18[objectIndex];
|
||||
temp_v0->unk_004[0] = (player->pos[0] + (sp24 * (temp_v0->unk_010[0] + temp_v0->unk_028[0]))) - ((temp_v0->unk_028[2] + temp_v0->unk_010[2]) * sins(temp_t8 & 0xFFFF));
|
||||
sp20 = temp_v0;
|
||||
temp_v0->unk_004[1] = temp_v0->unk_028[1] + (player->pos[1] + temp_v0->unk_010[1]);
|
||||
sp24 = sins(temp_t8 & 0xFFFF);
|
||||
temp_v0->unk_004[2] = ((temp_v0->unk_028[2] + temp_v0->unk_010[2]) * coss(temp_t8 & 0xFFFF)) + (player->pos[2] + (sp24 * (temp_v0->unk_010[0] + temp_v0->unk_028[0])));
|
||||
temp_t8 = 0x8000 - camera->rot[1];
|
||||
D_80165C18[objectIndex].unk_004[0] = (player->pos[0] + (coss(temp_t8) * (D_80165C18[objectIndex].unk_010[0] + D_80165C18[objectIndex].unk_028[0]))) - (sins(temp_t8) * (D_80165C18[objectIndex].unk_010[2] + D_80165C18[objectIndex].unk_028[2]));
|
||||
D_80165C18[objectIndex].unk_004[1] = player->pos[1] + D_80165C18[objectIndex].unk_010[1] + D_80165C18[objectIndex].unk_028[1];
|
||||
D_80165C18[objectIndex].unk_004[2] = (player->pos[2] + (sins(temp_t8) * (D_80165C18[objectIndex].unk_010[0] + D_80165C18[objectIndex].unk_028[0]))) + (coss(temp_t8) * (D_80165C18[objectIndex].unk_010[2] + D_80165C18[objectIndex].unk_028[2]));
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007A778.s")
|
||||
#endif
|
||||
|
||||
UNUSED void func_8007A884(void) {
|
||||
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
|
||||
extern ? D_80165CBE;
|
||||
extern s32 D_80183DB8;
|
||||
|
||||
void func_8007A88C(s32 playerId) {
|
||||
if ((*(&D_80165CBE + (*(&D_80183DB8 + (playerId * 4)) * 0xE0)) == 0) && (gPlayerOne[playerId].unk_0BC & 0x400000)) {
|
||||
s32 objectIndex;
|
||||
Player *player;
|
||||
|
||||
objectIndex = D_80183DB8[playerId];
|
||||
player = &gPlayerOne[playerId];
|
||||
|
||||
if ((D_80165C18[objectIndex].unk_0A6 == 0) && (player->unk_0BC & 0x400000)) {
|
||||
func_800790E4(playerId);
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007A88C.s")
|
||||
#endif
|
||||
|
||||
void func_8007A910(s32 arg0) {
|
||||
if (D_801657B4 == 0) {
|
||||
func_8007A88C();
|
||||
func_8007A88C(arg0);
|
||||
}
|
||||
func_80079860(arg0);
|
||||
}
|
||||
|
|
@ -5301,23 +5245,18 @@ void func_8007BBBC(s32 objectIndex) {
|
|||
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007BBBC.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
|
||||
extern ? D_80165CBE;
|
||||
extern f32 D_8018D01C;
|
||||
#ifdef NEEDS_RODATA
|
||||
// data/data_0DD0A0_3_0.s
|
||||
extern f64 D_800EEE08;// -1650.0;
|
||||
|
||||
void func_8007BD04(s32 playerId) {
|
||||
s32 sp1C;
|
||||
s32 temp_t6;
|
||||
u16 temp_v0;
|
||||
s32 objectIndex;
|
||||
|
||||
temp_t6 = *D_80183F28;
|
||||
sp1C = temp_t6;
|
||||
if (*(&D_80165CBE + (temp_t6 * 0xE0)) == 0) {
|
||||
temp_v0 = gNearestWaypointByPlayerId[playerId];
|
||||
if (((s32) temp_v0 >= 0xA0) && ((s32) temp_v0 < 0xAB)) {
|
||||
func_8008B7D4(temp_t6, (f32) ((f64) D_8018D01C * -1650.0), -200.0f, -1650.0f);
|
||||
func_800723A4(sp1C, 1);
|
||||
objectIndex = D_80183F28[0];
|
||||
if (D_80165C18[objectIndex].unk_0A6 == 0) {
|
||||
if (((s32) gNearestWaypointByPlayerId[playerId] >= 0xA0) && ((s32) gNearestWaypointByPlayerId[playerId] < 0xAB)) {
|
||||
func_8008B7D4(objectIndex, D_8018D01C * -1650.0, -200.0f, -1650.0f);
|
||||
func_800723A4(objectIndex, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -5585,7 +5524,7 @@ UNUSED void func_8007C49C(void) {
|
|||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c
|
||||
//generated by m2c commit 9841ff34ca242f5f14b2eab2b54a7a65ac47d80f
|
||||
void func_8007C4A4(s32 objectIndex) {
|
||||
struct_80165C18_entry *sp20;
|
||||
s32 sp1C;
|
||||
|
|
@ -5710,51 +5649,56 @@ GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007C684.s")
|
|||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
void func_800723A4(s32, ?); // extern
|
||||
void func_800C9060(s32, ?); // extern
|
||||
extern s32 D_800E5D9C;
|
||||
extern ? D_800E5DB0;
|
||||
extern struct_80165C18_entry D_80165C18;
|
||||
extern s32 D_8018BFA8;
|
||||
//generated by m2c commit 9841ff34ca242f5f14b2eab2b54a7a65ac47d80f
|
||||
extern s16 D_8018CFF0;
|
||||
extern s16 D_8018D048;
|
||||
static ? D_800E5988; /* unable to generate initializer */
|
||||
static ? D_800E5A44; /* unable to generate initializer */
|
||||
static ? D_800E5B08; /* unable to generate initializer */
|
||||
static ? D_800E5BD4; /* unable to generate initializer */
|
||||
static ? D_800E5C90; /* unable to generate initializer */
|
||||
static s32 D_800E5D9C[5] = {
|
||||
(s32) &D_800E5988,
|
||||
(s32) &D_800E5A44,
|
||||
(s32) &D_800E5B08,
|
||||
(s32) &D_800E5BD4,
|
||||
(s32) &D_800E5C90,
|
||||
};
|
||||
static ? D_800E5DB0; /* unable to generate initializer */
|
||||
|
||||
void func_8007C7B4(s32 arg0, s8 arg1) {
|
||||
s32 *sp40;
|
||||
s16 temp_s1_2;
|
||||
s16 temp_s4;
|
||||
s16 temp_s5;
|
||||
s32 *temp_s2;
|
||||
s32 *temp_s3;
|
||||
s32 *var_s2;
|
||||
s32 *var_s3;
|
||||
s32 temp_s1;
|
||||
void *temp_s0;
|
||||
s32 *phi_s3;
|
||||
s32 *phi_s2;
|
||||
s32 temp_v1;
|
||||
struct_80165C18_entry *temp_s0;
|
||||
|
||||
temp_s3 = (arg0 * 4) + &D_8018BFA8;
|
||||
sp40 = temp_s3;
|
||||
phi_s3 = temp_s3;
|
||||
phi_s2 = &D_800E5D9C;
|
||||
var_s3 = &D_8018BFA8[arg0];
|
||||
var_s2 = D_800E5D9C;
|
||||
sp40 = var_s3;
|
||||
do {
|
||||
temp_s1 = *phi_s3;
|
||||
temp_s1 = *var_s3;
|
||||
func_800723A4(temp_s1, 1);
|
||||
temp_s0 = &D_80165C18 + (temp_s1 * 0xE0);
|
||||
temp_s0->unkD1 = arg1;
|
||||
temp_s1_2 = random_int(0x3C) - 0x1E;
|
||||
temp_s4 = random_int(0x14) - 0xA;
|
||||
temp_s5 = random_int(0x50) - 0x28;
|
||||
random_int(0x1000);
|
||||
temp_s2 = phi_s2 + 4;
|
||||
temp_s0->unk10 = temp_s1_2;
|
||||
temp_s0->unk80 = *phi_s2;
|
||||
temp_s0->unk14 = temp_s4;
|
||||
temp_s0->unk18 = temp_s5;
|
||||
phi_s3 += 4;
|
||||
phi_s2 = temp_s2;
|
||||
} while (temp_s2 != &D_800E5DB0);
|
||||
func_800C9060(arg1 & 0xFF, 0x1900705A);
|
||||
if (sp40 == &D_8018BFA8) {
|
||||
temp_s0 = &D_80165C18[temp_s1];
|
||||
temp_s0->unk_0D1 = arg1;
|
||||
temp_s1_2 = random_int(0x003CU) - 0x1E;
|
||||
temp_s4 = random_int(0x0014U) - 0xA;
|
||||
temp_s5 = random_int(0x0050U) - 0x28;
|
||||
random_int(0x1000U);
|
||||
temp_v1 = *var_s2;
|
||||
var_s2 += 4;
|
||||
var_s3 += 4;
|
||||
temp_s0->unk_010[0] = (f32) temp_s1_2;
|
||||
temp_s0->unk_080 = temp_v1;
|
||||
temp_s0->unk_010[1] = (f32) temp_s4;
|
||||
temp_s0->unk_010[2] = (f32) temp_s5;
|
||||
} while (var_s2 != &D_800E5DB0);
|
||||
func_800C9060(arg1 & 0xFF, 0x1900705AU);
|
||||
if (sp40 == D_8018BFA8) {
|
||||
D_8018CFF0 = 1;
|
||||
return;
|
||||
}
|
||||
|
|
@ -6126,96 +6070,45 @@ loop_5:
|
|||
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007D070.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
|
||||
extern f32 D_8018D01C;
|
||||
#ifdef NEEDS_RODATA
|
||||
// data/data_0DD0A0_3_0.s
|
||||
extern f64 D_800EEEE8;// = -1775.0;
|
||||
extern f64 D_800EEEF0;// = 130.0;
|
||||
extern f64 D_800EEEF8;// = -2500.0;
|
||||
extern f64 D_800EEF00;// = 220.0;
|
||||
extern f64 D_800EEF08;// = -2100.0;
|
||||
extern f64 D_800EEF10;// = -290.0;
|
||||
|
||||
void func_8007D360(s32 objectIndex, s32 arg1) {
|
||||
f32 var_f6;
|
||||
f64 var_f10;
|
||||
f64 var_f16;
|
||||
f64 var_f16_2;
|
||||
f64 var_f16_3;
|
||||
f64 var_f16_4;
|
||||
f64 var_f18;
|
||||
f64 var_f8;
|
||||
s32 temp_v0;
|
||||
s32 temp_v0_2;
|
||||
s32 temp_v0_3;
|
||||
s32 temp_v0_4;
|
||||
s32 temp_v0_5;
|
||||
s32 temp_v0_6;
|
||||
s32 temp_v0_7;
|
||||
struct_80165C18_entry *temp_s0;
|
||||
struct_80165C18_entry *temp_s0_2;
|
||||
|
||||
if (arg1 == 1) {
|
||||
temp_v0 = random_int(0x001EU);
|
||||
temp_s0 = &D_80165C18[objectIndex];
|
||||
var_f8 = (f64) temp_v0;
|
||||
if (temp_v0 < 0) {
|
||||
var_f8 += 4294967296.0;
|
||||
}
|
||||
temp_s0->unk_010[0] = (f32) ((-1775.0 - var_f8) * (f64) D_8018D01C);
|
||||
temp_v0_2 = random_int(0x0019U);
|
||||
var_f18 = (f64) temp_v0_2;
|
||||
if (temp_v0_2 < 0) {
|
||||
var_f18 += 4294967296.0;
|
||||
}
|
||||
temp_s0->unk_010[1] = (f32) (var_f18 + 25.0);
|
||||
temp_v0_3 = random_int(0x001EU);
|
||||
var_f16 = (f64) temp_v0_3;
|
||||
if (temp_v0_3 < 0) {
|
||||
var_f16 += 4294967296.0;
|
||||
}
|
||||
temp_s0->unk_010[2] = (f32) (var_f16 + 130.0);
|
||||
temp_s0->unk_01C[1] = 0.0f;
|
||||
temp_s0->unk_01C[0] = (f32) ((f64) D_8018D01C * -2500.0);
|
||||
temp_v0_4 = random_int(0x0096U);
|
||||
var_f16_2 = (f64) temp_v0_4;
|
||||
if (temp_v0_4 < 0) {
|
||||
var_f16_2 += 4294967296.0;
|
||||
}
|
||||
temp_s0->unk_0BE[0] = 0xDC00;
|
||||
temp_s0->unkC6 = 0x0800;
|
||||
temp_s0->unk_01C[2] = (f32) (220.0 - var_f16_2);
|
||||
D_80165C18[objectIndex].unk_010[0] = (f32) ((-1775.0 - random_int(0x001EU)) * (f64) D_8018D01C);
|
||||
D_80165C18[objectIndex].unk_010[1] = (f32) (random_int(0x0019U) + 25.0);
|
||||
D_80165C18[objectIndex].unk_010[2] = (f32) (random_int(0x001EU) + 130.0);
|
||||
D_80165C18[objectIndex].unk_01C[0] = (f32) ((f64) D_8018D01C * -2500.0);
|
||||
D_80165C18[objectIndex].unk_01C[1] = 0.0f;
|
||||
D_80165C18[objectIndex].unk_01C[2] = (f32) (220.0 - random_int(0x0096U));
|
||||
D_80165C18[objectIndex].unk_0BE[0] = 0xDC00;
|
||||
D_80165C18[objectIndex].unk_0C6 = 0x0800;
|
||||
}
|
||||
temp_s0_2 = &D_80165C18[objectIndex];
|
||||
if (arg1 == 2) {
|
||||
temp_s0_2->unk_010[0] = (f32) (-0x55B - random_int(0x001EU)) * D_8018D01C;
|
||||
temp_s0_2->unk_010[1] = (f32) (random_int(0x0019U) + 0xF);
|
||||
temp_s0_2->unk_010[2] = (f32) (random_int(0x001EU) - 0xE8);
|
||||
temp_s0_2->unk_01C[1] = 0.0f;
|
||||
temp_s0_2->unk_01C[0] = (f32) ((f64) D_8018D01C * -2100.0);
|
||||
temp_v0_5 = random_int(0x00C8U);
|
||||
var_f16_3 = (f64) temp_v0_5;
|
||||
if (temp_v0_5 < 0) {
|
||||
var_f16_3 += 4294967296.0;
|
||||
}
|
||||
temp_s0_2->unk_0BE[0] = 0;
|
||||
temp_s0_2->unkC6 = 0;
|
||||
temp_s0_2->unk_01C[2] = (f32) (var_f16_3 + -290.0);
|
||||
D_80165C18[objectIndex].unk_010[0] = (f32) (-0x55B - random_int(0x001EU)) * D_8018D01C;
|
||||
D_80165C18[objectIndex].unk_010[1] = (f32) (random_int(0x0019U) + 0xF);
|
||||
D_80165C18[objectIndex].unk_010[2] = (f32) (random_int(0x001EU) - 0xE8);
|
||||
D_80165C18[objectIndex].unk_01C[0] = (f32) ((f64) D_8018D01C * -2100.0);
|
||||
D_80165C18[objectIndex].unk_01C[1] = 0.0f;
|
||||
D_80165C18[objectIndex].unk_01C[2] = (f32) (random_int(0x00C8U) + -290.0);
|
||||
D_80165C18[objectIndex].unk_0BE[0] = 0;
|
||||
D_80165C18[objectIndex].unk_0C6 = 0;
|
||||
}
|
||||
temp_s0_2->unk_0BE[1] = func_80041770(temp_s0_2->unk_010[0], temp_s0_2->unk_01C[0], temp_s0_2->unk_010[2], temp_s0_2->unk_01C[2]);
|
||||
temp_s0_2->unk_0BE[2] = 0;
|
||||
D_80165C18[objectIndex].unk_0BE[1] = func_80041770(D_80165C18[objectIndex].unk_010[0], D_80165C18[objectIndex].unk_01C[0], D_80165C18[objectIndex].unk_010[2], D_80165C18[objectIndex].unk_01C[2]);
|
||||
D_80165C18[objectIndex].unk_0BE[2] = 0;
|
||||
func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f);
|
||||
temp_s0_2->unk_0B0 = 0;
|
||||
D_80165C18[objectIndex].unk_0B0 = 0;
|
||||
if (gCCSelection < 2) {
|
||||
temp_v0_6 = random_int(4U);
|
||||
var_f10 = (f64) temp_v0_6;
|
||||
if (temp_v0_6 < 0) {
|
||||
var_f10 += 4294967296.0;
|
||||
}
|
||||
var_f6 = (f32) (var_f10 + 4.0);
|
||||
D_80165C18[objectIndex].unk_034 = (random_int(4U) + 4.0);
|
||||
} else {
|
||||
temp_v0_7 = random_int(4U);
|
||||
var_f16_4 = (f64) temp_v0_7;
|
||||
if (temp_v0_7 < 0) {
|
||||
var_f16_4 += 4294967296.0;
|
||||
}
|
||||
var_f6 = (f32) (var_f16_4 + 5.0);
|
||||
D_80165C18[objectIndex].unk_034 = (random_int(4U) + 5.0);
|
||||
}
|
||||
temp_s0_2->unk_034 = var_f6;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007D360.s")
|
||||
|
|
@ -6712,23 +6605,18 @@ void func_8007E1F4(s32 objectIndex) {
|
|||
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007E1F4.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
|
||||
extern f32 D_8018D01C;
|
||||
#ifdef NEEDS_RODATA
|
||||
// data/data_0DD0A0_3_0.s
|
||||
extern f32 D_800EEF68;// -1371.0f;
|
||||
|
||||
void func_8007E358(s32 objectIndex) {
|
||||
struct_80165C18_entry *sp1C;
|
||||
struct_80165C18_entry *temp_v0;
|
||||
|
||||
temp_v0 = &D_80165C18[objectIndex];
|
||||
temp_v0->unk_004[0] = -1371.0f * D_8018D01C;
|
||||
sp1C = temp_v0;
|
||||
temp_v0->unk_004[1] = 31.0f;
|
||||
temp_v0->unk_004[2] = -217.0f;
|
||||
D_80165C18[objectIndex].unk_004[0] = -1371.0f * D_8018D01C;
|
||||
D_80165C18[objectIndex].unk_004[1] = 31.0f;
|
||||
D_80165C18[objectIndex].unk_004[2] = -217.0f;
|
||||
func_8008B8F0(objectIndex, 0.0f, 0.0f, 0.0f);
|
||||
temp_v0->unk_0A4 = 0;
|
||||
temp_v0->unk_04C = 0;
|
||||
temp_v0->unk_084[7] = 0;
|
||||
D_80165C18[objectIndex].unk_0A4 = 0;
|
||||
D_80165C18[objectIndex].unk_04C = 0;
|
||||
D_80165C18[objectIndex].unk_084[7] = 0;
|
||||
func_80072488(objectIndex);
|
||||
}
|
||||
#else
|
||||
|
|
@ -7139,228 +7027,182 @@ void func_8007EE5C(s32 objectIndex) {
|
|||
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007EE5C.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
|
||||
extern f32 D_8018D01C;
|
||||
#ifdef NEEDS_RODATA
|
||||
// data/data_0DD0A0_3_0.s
|
||||
// jpt_800EEFD0
|
||||
|
||||
void func_8007EFBC(s32 objectIndex) {
|
||||
struct_80165C18_entry *sp24;
|
||||
struct_80165C18_entry *temp_v1;
|
||||
u16 temp_t8;
|
||||
|
||||
temp_v1 = &D_80165C18[objectIndex];
|
||||
temp_t8 = (u16) temp_v1->unk_0AE;
|
||||
switch (temp_t8) {
|
||||
switch (D_80165C18[objectIndex].unk_0AE) {
|
||||
case 1:
|
||||
sp24 = temp_v1;
|
||||
if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0800U, 0x00008000) != 0) {
|
||||
temp_v1->unk1C = (f32) ((f64) D_8018D01C * 200.0);
|
||||
if (func_80073E18(objectIndex, (u16 *) &D_80165C18[objectIndex].unk_0B2[1], 0x0800U, 0x00008000) != 0) {
|
||||
D_80165C18[objectIndex].unk_01C[0] = (f32) ((f64) D_8018D01C * 200.0);
|
||||
func_80086FD4(objectIndex);
|
||||
return;
|
||||
}
|
||||
default:
|
||||
return;
|
||||
break;
|
||||
case 2:
|
||||
if (f32_step_towards(temp_v1->unk_028, temp_v1->unk1C, 4.0f) != 0) {
|
||||
if (f32_step_towards(D_80165C18[objectIndex].unk_028, D_80165C18[objectIndex].unk_01C[0], 4.0f) != 0) {
|
||||
func_80086FD4(objectIndex);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x00008000) != 0) {
|
||||
if (func_80073E18(objectIndex, (u16 *) &D_80165C18[objectIndex].unk_0B2[1], 0x0400U, 0x00008000) != 0) {
|
||||
func_800726CC(objectIndex, 3);
|
||||
func_80086FD4(objectIndex);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x0000C000) != 0) {
|
||||
if (func_80073E18(objectIndex, (u16 *) &D_80165C18[objectIndex].unk_0B2[1], 0x0400U, 0x0000C000) != 0) {
|
||||
func_80086FD4(objectIndex);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if (f32_step_down_towards(&temp_v1->unk_028[2], -100.0f, 2.0f) != 0) {
|
||||
if (f32_step_down_towards(&D_80165C18[objectIndex].unk_028[2], -100.0f, 2.0f) != 0) {
|
||||
func_80086FD4(objectIndex);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x00004000) != 0) {
|
||||
if (func_80073E18(objectIndex, (u16 *) &D_80165C18[objectIndex].unk_0B2[1], 0x0400U, 0x00004000) != 0) {
|
||||
func_80086FD4(objectIndex);
|
||||
func_800726CC(objectIndex, 3);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x00010000) != 0) {
|
||||
if (func_80073E18(objectIndex, (u16 *) &D_80165C18[objectIndex].unk_0B2[1], 0x0400U, 0x00010000) != 0) {
|
||||
func_80086FD4(objectIndex);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 10:
|
||||
if (f32_step_towards(temp_v1->unk_028, 0.0f, 4.0f) != 0) {
|
||||
if (f32_step_towards(D_80165C18[objectIndex].unk_028, 0.0f, 4.0f) != 0) {
|
||||
func_80086FD4(objectIndex);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 11:
|
||||
if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x00010000) != 0) {
|
||||
if (func_80073E18(objectIndex, (u16 *) &D_80165C18[objectIndex].unk_0B2[1], 0x0400U, 0x00010000) != 0) {
|
||||
func_80086FD4(objectIndex);
|
||||
func_800726CC(objectIndex, 3);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 13:
|
||||
if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x00014000) != 0) {
|
||||
if (func_80073E18(objectIndex, (u16 *) &D_80165C18[objectIndex].unk_0B2[1], 0x0400U, 0x00014000) != 0) {
|
||||
func_80086FD4(objectIndex);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 14:
|
||||
if (f32_step_up_towards(&temp_v1->unk_028[2], 0.0f, 2.0f) != 0) {
|
||||
if (f32_step_up_towards(&D_80165C18[objectIndex].unk_028[2], 0.0f, 2.0f) != 0) {
|
||||
func_80086FD4(objectIndex);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 15:
|
||||
if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x0000C000) != 0) {
|
||||
if (func_80073E18(objectIndex, (u16 *) &D_80165C18[objectIndex].unk_0B2[1], 0x0400U, 0x0000C000) != 0) {
|
||||
func_80086FD4(objectIndex);
|
||||
func_800726CC(objectIndex, 3);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 17:
|
||||
func_8008701C(objectIndex, 1);
|
||||
break;
|
||||
case 0:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007EFBC.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
|
||||
extern f32 D_8018D01C;
|
||||
#ifdef NEEDS_RODATA
|
||||
// data/data_0DD0A0_3_0.s
|
||||
// jpt_800EF018
|
||||
|
||||
void func_8007F280(s32 objectIndex) {
|
||||
struct_80165C18_entry *sp24;
|
||||
struct_80165C18_entry *temp_v1;
|
||||
u16 temp_t8;
|
||||
|
||||
temp_v1 = &D_80165C18[objectIndex];
|
||||
temp_t8 = (u16) temp_v1->unk_0AE;
|
||||
switch (temp_t8) {
|
||||
switch (D_80165C18[objectIndex].unk_0AE) {
|
||||
case 1:
|
||||
sp24 = temp_v1;
|
||||
if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x00010000) != 0) {
|
||||
temp_v1->unk1C = (f32) ((f64) D_8018D01C * -200.0);
|
||||
if (func_80073E18(objectIndex, (u16 *) &D_80165C18[objectIndex].unk_0B2[1], 0x0400U, 0x00010000) != 0) {
|
||||
D_80165C18[objectIndex].unk_01C[0] = (f32) ((f64) D_8018D01C * -200.0);
|
||||
func_80086FD4(objectIndex);
|
||||
return;
|
||||
}
|
||||
default:
|
||||
return;
|
||||
break;
|
||||
case 2:
|
||||
if (f32_step_towards(temp_v1->unk_028, temp_v1->unk1C, 4.0f) != 0) {
|
||||
if (f32_step_towards(D_80165C18[objectIndex].unk_028, D_80165C18[objectIndex].unk_01C[0], 4.0f) != 0) {
|
||||
func_80086FD4(objectIndex);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x00010000) != 0) {
|
||||
if (func_80073E18(objectIndex, (u16 *) &D_80165C18[objectIndex].unk_0B2[1], 0x0400U, 0x00010000) != 0) {
|
||||
func_800726CC(objectIndex, 3);
|
||||
func_80086FD4(objectIndex);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x00004000) != 0) {
|
||||
if (func_80073E18(objectIndex, (u16 *) &D_80165C18[objectIndex].unk_0B2[1], 0x0400U, 0x00004000) != 0) {
|
||||
func_80086FD4(objectIndex);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if (f32_step_up_towards(&temp_v1->unk_028[2], 100.0f, 2.0f) != 0) {
|
||||
if (f32_step_up_towards(&D_80165C18[objectIndex].unk_028[2], 100.0f, 2.0f) != 0) {
|
||||
func_80086FD4(objectIndex);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x0000C000) != 0) {
|
||||
if (func_80073E18(objectIndex, (u16 *) &D_80165C18[objectIndex].unk_0B2[1], 0x0400U, 0x0000C000) != 0) {
|
||||
func_80086FD4(objectIndex);
|
||||
func_800726CC(objectIndex, 3);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x00008000) != 0) {
|
||||
if (func_80073E18(objectIndex, (u16 *) &D_80165C18[objectIndex].unk_0B2[1], 0x0400U, 0x00008000) != 0) {
|
||||
func_80086FD4(objectIndex);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 10:
|
||||
if (f32_step_towards(temp_v1->unk_028, 0.0f, 4.0f) != 0) {
|
||||
if (f32_step_towards(D_80165C18[objectIndex].unk_028, 0.0f, 4.0f) != 0) {
|
||||
func_80086FD4(objectIndex);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 11:
|
||||
if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x00008000) != 0) {
|
||||
if (func_80073E18(objectIndex, (u16 *) &D_80165C18[objectIndex].unk_0B2[1], 0x0400U, 0x00008000) != 0) {
|
||||
func_80086FD4(objectIndex);
|
||||
func_800726CC(objectIndex, 3);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 13:
|
||||
if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x0000C000) != 0) {
|
||||
if (func_80073E18(objectIndex, (u16 *) &D_80165C18[objectIndex].unk_0B2[1], 0x0400U, 0x0000C000) != 0) {
|
||||
func_80086FD4(objectIndex);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 14:
|
||||
if (f32_step_down_towards(&temp_v1->unk_028[2], 0.0f, 2.0f) != 0) {
|
||||
if (f32_step_down_towards(&D_80165C18[objectIndex].unk_028[2], 0.0f, 2.0f) != 0) {
|
||||
func_80086FD4(objectIndex);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 15:
|
||||
if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x00014000) != 0) {
|
||||
if (func_80073E18(objectIndex, (u16 *) &D_80165C18[objectIndex].unk_0B2[1], 0x0400U, 0x00014000) != 0) {
|
||||
func_80086FD4(objectIndex);
|
||||
func_800726CC(objectIndex, 3);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 17:
|
||||
func_8008701C(objectIndex, 1);
|
||||
break;
|
||||
case 0:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007F280.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
void func_8007EFBC(); // extern
|
||||
void func_8007F280(); // extern
|
||||
extern ? D_80165CF5;
|
||||
|
||||
void func_8007F544(s32 arg0) {
|
||||
u8 temp_v0;
|
||||
|
||||
temp_v0 = *(&D_80165CF5 + (arg0 * 0xE0));
|
||||
if (temp_v0 != 1) {
|
||||
if (temp_v0 != 2) {
|
||||
return;
|
||||
}
|
||||
func_8007F280();
|
||||
return;
|
||||
void func_8007F544(s32 objectIndex) {
|
||||
switch (D_80165C18[objectIndex].unk_0DD) { /* irregular */
|
||||
case 1:
|
||||
func_8007EFBC(objectIndex);
|
||||
break;
|
||||
case 2:
|
||||
func_8007F280(objectIndex);
|
||||
break;
|
||||
}
|
||||
func_8007EFBC();
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007F544.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
|
||||
|
|
|
|||
|
|
@ -6,8 +6,11 @@
|
|||
|
||||
s32 find_unused_obj_index(s32*);
|
||||
void func_80071F6C(s32*);
|
||||
s32 func_80071FBC();
|
||||
s32 func_80072044(s32*, s32*, s32);
|
||||
void func_80072100(s32*);
|
||||
void func_80072120(s32*, s32);
|
||||
void func_80072180();
|
||||
void func_800721C0(s32, s32);
|
||||
void func_800721E8(s32, s32);
|
||||
void func_80072214(s32, s32);
|
||||
|
|
@ -145,7 +148,10 @@ void func_800790B4(s32);
|
|||
void func_800790E4(s32);
|
||||
void func_8007993C(s32, Player*);
|
||||
void func_80079A5C(s32, Player*);
|
||||
void func_8007A66C(s32, Player*, Camera*);
|
||||
void func_8007A778(s32, Player*, Camera*);
|
||||
void func_8007A884();
|
||||
void func_8007A88C(s32);
|
||||
void func_8007A910(s32);
|
||||
void func_8007A948(s32);
|
||||
void func_8007AA44(s32);
|
||||
|
|
@ -154,17 +160,23 @@ u8 gen_random_item(s16, s16);
|
|||
u8 func_8007AF40(s32, s16);
|
||||
u8 func_8007AF78(s32, s16);
|
||||
void func_8007BB9C();
|
||||
void func_8007BD04(s32);
|
||||
void func_8007BDA8();
|
||||
void func_8007C2F8(s32);
|
||||
void func_8007C340();
|
||||
void func_8007C49C();
|
||||
void func_8007D360(s32, s32);
|
||||
s32 func_8007D804(s32);
|
||||
void func_8007D8AC(s32);
|
||||
void func_8007D8D4(s32, s32);
|
||||
void func_8007DA4C(s32);
|
||||
void func_8007DA74(s32);
|
||||
void func_8007DAF8(s32, s32);
|
||||
void func_8007E358(s32);
|
||||
s32 func_8007E50C(s32, Player*, Camera*);
|
||||
void func_8007EFBC(s32);
|
||||
void func_8007F280(s32);
|
||||
void func_8007F544(s32);
|
||||
void func_8007F660(s32, s32, s32);
|
||||
void func_8007F6C4(s32, s32);
|
||||
void func_8007FEA4(s32);
|
||||
|
|
@ -220,6 +232,7 @@ extern s32 D_80183E5C;
|
|||
extern s32 D_8018C1B0;
|
||||
extern s32 D_8018C3F0;
|
||||
extern s32 D_8018C630;
|
||||
extern f32 D_8018D01C;
|
||||
extern s32 D_8018D140;
|
||||
extern s32 D_8018D224;
|
||||
extern s32* D_8018D490;
|
||||
|
|
|
|||
|
|
@ -599,15 +599,12 @@ void func_8009265C(void) {
|
|||
add_8018D9E0_entry(0x12B, 0, 0, 2);
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 06ada559d7a32fdab49fa2d619cdfa027615bcda
|
||||
extern u16 D_800DC5E4;
|
||||
#ifdef NEEDS_RODATA
|
||||
// data/data_0DD0A0_3_0.s
|
||||
// jpt_800F0CD8
|
||||
|
||||
void func_80092688(void) {
|
||||
u16 temp_t6;
|
||||
|
||||
temp_t6 = D_800DC5E4;
|
||||
switch (temp_t6) {
|
||||
switch (D_800DC5E4) {
|
||||
case 0:
|
||||
add_8018D9E0_entry(0x1CE, 0, 0, 2);
|
||||
return;
|
||||
|
|
@ -825,27 +822,29 @@ s32 func_80092DF8(s8 *arg) {
|
|||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
//generated by m2c commit 9841ff34ca242f5f14b2eab2b54a7a65ac47d80f
|
||||
s32 func_80092E1C(s8 *arg0) {
|
||||
s32 temp_t6;
|
||||
|
||||
temp_t6 = (*arg0 + 0x80) & 0xFF;
|
||||
if ((temp_t6 >= 0x21) && (temp_t6 < 0x2B)) {
|
||||
if ((temp_t6 % 2) != 0) {
|
||||
return ((temp_t6 - 0x21) / 2) + 0x7B;
|
||||
return ((s32) (temp_t6 - 0x21) / 2) + 0x7B;
|
||||
}
|
||||
return ((temp_t6 - 0x21) / 2) + 0x30;
|
||||
return ((s32) (temp_t6 - 0x21) / 2) + 0x30;
|
||||
}
|
||||
if ((temp_t6 >= 0x2B) && (temp_t6 < 0x6E)) {
|
||||
return temp_t6 + 0xA;
|
||||
}
|
||||
if (temp_t6 != 0x6F) {
|
||||
if ((temp_t6 != 0x72) && (temp_t6 != 0x73)) {
|
||||
return -2;
|
||||
}
|
||||
switch (temp_t6) { /* irregular */
|
||||
default:
|
||||
return -2;
|
||||
case 0x6F:
|
||||
return 0x00000078;
|
||||
case 0x72:
|
||||
case 0x73:
|
||||
return temp_t6 + 7;
|
||||
}
|
||||
return 0x78;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_80092E1C.s")
|
||||
|
|
@ -14451,28 +14450,17 @@ block_13:
|
|||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800ABC38.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
|
||||
s8 *D_800E7500[9] = {
|
||||
"mushroom cup",
|
||||
"flower cup",
|
||||
"star cup",
|
||||
"special cup",
|
||||
"battle",
|
||||
"mushroom cup",
|
||||
"flower cup",
|
||||
"star cup",
|
||||
"special cup",
|
||||
};
|
||||
#ifdef NEEDS_RODATA
|
||||
// data/data_0DD0A0_3_0.s
|
||||
extern char *D_800E7500[9];// = { "mushroom cup", "flower cup", "star cup", "special cup", "battle", "mushroom cup", "flower cup", "star cup", "special cup", };
|
||||
extern f64 D_800F2630;// = 0.05;
|
||||
extern f64 D_800F2638;// = 0.0085;
|
||||
extern f64 D_800F2640;// = 0.4;
|
||||
|
||||
void func_800ABCF4(struct_8018D9E0_entry *arg0) {
|
||||
f64 temp_f0;
|
||||
s32 temp_t1;
|
||||
s32 temp_t1_2;
|
||||
s32 temp_v0;
|
||||
|
||||
temp_v0 = arg0->unk4;
|
||||
switch (temp_v0) { /* irregular */
|
||||
switch (arg0->unk4) { /* irregular */
|
||||
case 0:
|
||||
arg0->column = 0;
|
||||
arg0->unk4 = 1;
|
||||
|
|
@ -14480,26 +14468,23 @@ void func_800ABCF4(struct_8018D9E0_entry *arg0) {
|
|||
/* fallthrough */
|
||||
case 1:
|
||||
func_800A9208(arg0, arg0->unk20);
|
||||
temp_t1 = (s32) (arg0->unk20 - arg0->column) / 4;
|
||||
arg0->unk1C = temp_t1;
|
||||
if (temp_t1 >= 9) {
|
||||
arg0->unk1C = (s32) (arg0->unk20 - arg0->column) / 4;
|
||||
if (arg0->unk1C >= 9) {
|
||||
arg0->unk1C = 8;
|
||||
}
|
||||
arg0->unk24 = (f32) (((f64) arg0->unk1C * 0.05) + 1.0);
|
||||
if (arg0->column >= (arg0->unk20 - 0x14)) {
|
||||
arg0->unk4 = 2;
|
||||
arg0->D_8018DEE0_index = 0;
|
||||
return;
|
||||
}
|
||||
return;
|
||||
break;
|
||||
case 2:
|
||||
func_800A9208(arg0, arg0->unk20);
|
||||
temp_t1_2 = arg0->D_8018DEE0_index + 1;
|
||||
temp_f0 = (f64) (temp_t1_2 - 0xA);
|
||||
arg0->unk1C = (s32) (arg0->unk20 - arg0->column) / 4;
|
||||
arg0->D_8018DEE0_index = temp_t1_2;
|
||||
arg0->D_8018DEE0_index++;
|
||||
temp_f0 = (f64) (arg0->D_8018DEE0_index - 0xA);
|
||||
arg0->unk24 = (f32) ((temp_f0 * 0.0085 * temp_f0) + 0.4);
|
||||
if ((temp_t1_2 >= 9) && ((f64) arg0->unk24 > 1.0)) {
|
||||
if ((arg0->D_8018DEE0_index >= 9) && ((f64) arg0->unk24 > 1.0)) {
|
||||
arg0->unk24 = 1.0f;
|
||||
}
|
||||
break;
|
||||
|
|
@ -14509,46 +14494,34 @@ void func_800ABCF4(struct_8018D9E0_entry *arg0) {
|
|||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800ABCF4.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 06ada559d7a32fdab49fa2d619cdfa027615bcda
|
||||
void func_800ABF68(); /* extern */
|
||||
extern s8 D_8018EE08;
|
||||
|
||||
void func_800ABEAC(struct_8018D9E0_entry *arg0) {
|
||||
s32 temp_v0;
|
||||
s32 temp_v0_2;
|
||||
s32 temp_v0_3;
|
||||
|
||||
func_800ABF68();
|
||||
temp_v0 = D_80164A28;
|
||||
switch (temp_v0) { /* irregular */
|
||||
// Why?
|
||||
s32 one = 1;
|
||||
func_800ABF68(arg0);
|
||||
switch (D_80164A28) {
|
||||
case 1:
|
||||
arg0->visible = 1;
|
||||
return;
|
||||
arg0->visible = one;
|
||||
break;
|
||||
case 2:
|
||||
temp_v0_2 = arg0->row;
|
||||
if (temp_v0_2 < 0x104) {
|
||||
arg0->row = temp_v0_2 + 2;
|
||||
return;
|
||||
if (arg0->row < 0x104) {
|
||||
arg0->row += 2;
|
||||
} else {
|
||||
arg0->type = 0;
|
||||
}
|
||||
block_13:
|
||||
arg0->type = 0;
|
||||
return;
|
||||
break;
|
||||
default:
|
||||
if ((gModeSelection != GRAND_PRIX) || (gPlayerCountSelection1 != 1U) || (D_8018EE08 != 0)) {
|
||||
goto block_13;
|
||||
if ((gModeSelection != 0) || (gPlayerCountSelection1 != one) || (D_8018EE08 != 0)) {
|
||||
arg0->type = 0;
|
||||
} else {
|
||||
if (arg0->row < 0x104) {
|
||||
arg0->row += 2;
|
||||
} else {
|
||||
arg0->type = 0;
|
||||
}
|
||||
}
|
||||
temp_v0_3 = arg0->row;
|
||||
if (temp_v0_3 < 0x104) {
|
||||
arg0->row = temp_v0_3 + 2;
|
||||
return;
|
||||
}
|
||||
goto block_13;
|
||||
break;
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800ABEAC.s")
|
||||
#endif
|
||||
|
||||
#ifdef NEEDS_RODATA
|
||||
// data_0DD0A0_3_0.s
|
||||
|
|
@ -16221,56 +16194,18 @@ void func_800AEC54(struct_8018D9E0_entry *arg0) {
|
|||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800AEC54.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 06ada559d7a32fdab49fa2d619cdfa027615bcda
|
||||
s32 func_800B5B94(); /* extern */
|
||||
void func_800B6708(); /* extern */
|
||||
extern struct_8018EE10_entry D_8018EE10;
|
||||
MkAnimation *D_800E7E34[0x14] = {
|
||||
D_02001E64,
|
||||
D_02001E74,
|
||||
D_02001E84,
|
||||
D_02001E94,
|
||||
D_02001EA4,
|
||||
D_02001EB4,
|
||||
D_02001EC4,
|
||||
D_02001ED4,
|
||||
D_02001EE4,
|
||||
D_02001EF4,
|
||||
D_02001F04,
|
||||
D_02001F14,
|
||||
D_02001F24,
|
||||
D_02001F34,
|
||||
D_02001F44,
|
||||
D_02001F54,
|
||||
D_02001F64,
|
||||
D_02001F74,
|
||||
D_02001F84,
|
||||
D_02001F94,
|
||||
}; /* const */
|
||||
s16 gCupCourseOrder[5][4]; /* unable to generate initializer; const */
|
||||
|
||||
void func_800AEDBC(struct_8018D9E0_entry *arg0) {
|
||||
s8 temp_v0;
|
||||
s8 temp_v0_2;
|
||||
|
||||
temp_v0 = gTimeTrialDataCourseIndex;
|
||||
if (temp_v0 != arg0->unk1C) {
|
||||
arg0->unk1C = (s32) temp_v0;
|
||||
temp_v0_2 = gTimeTrialDataCourseIndex;
|
||||
arg0 = arg0;
|
||||
func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(D_800E7E34[*(gCupCourseOrder + ((((s32) temp_v0_2 / 4) * 8) + (((s32) temp_v0_2 % 4) * 2)))]));
|
||||
if (arg0->unk1C != gTimeTrialDataCourseIndex) {
|
||||
arg0->unk1C = (s32) gTimeTrialDataCourseIndex;
|
||||
func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(D_800E7E34[gCupCourseOrder[gTimeTrialDataCourseIndex / 4][gTimeTrialDataCourseIndex % 4]]));
|
||||
if (func_800B5B94() == 0) {
|
||||
func_800B6708();
|
||||
return;
|
||||
} else {
|
||||
D_8018EE10[0].ghostDataSaved = 0;
|
||||
D_8018EE10[1].ghostDataSaved = 0;
|
||||
}
|
||||
D_8018EE10.unk4 = 0;
|
||||
D_8018EE10.unk84 = 0;
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800AEDBC.s")
|
||||
#endif
|
||||
|
||||
void func_800AEE90(struct_8018D9E0_entry *arg0) {
|
||||
if (D_8018EDEC != 0xB) {
|
||||
|
|
|
|||
|
|
@ -67,6 +67,7 @@ void func_800925CC();
|
|||
void func_80092604();
|
||||
void func_80092630();
|
||||
void func_8009265C();
|
||||
void func_80092688();
|
||||
void func_80092C80();
|
||||
s32 char_to_glyph_index(char*);
|
||||
s32 func_80092DF8(s8 *);
|
||||
|
|
@ -207,12 +208,15 @@ void func_800AB020(struct_8018D9E0_entry*);
|
|||
void func_800AB098(struct_8018D9E0_entry*);
|
||||
void func_800AB260(struct_8018D9E0_entry*);
|
||||
void func_800AB290(struct_8018D9E0_entry*);
|
||||
void func_800ABCF4(struct_8018D9E0_entry*);
|
||||
void func_800ABEAC(struct_8018D9E0_entry*);
|
||||
void func_800ABF68(struct_8018D9E0_entry*);
|
||||
void func_800AC128(struct_8018D9E0_entry*);
|
||||
void func_800AC324(struct_8018D9E0_entry*);
|
||||
void func_800AC978(struct_8018D9E0_entry*);
|
||||
void func_800AD1A4(struct_8018D9E0_entry*);
|
||||
void func_800AEC54(struct_8018D9E0_entry*);
|
||||
void func_800AEDBC(struct_8018D9E0_entry*);
|
||||
void func_800AEE90(struct_8018D9E0_entry*);
|
||||
void func_800AEEBC(struct_8018D9E0_entry*);
|
||||
void func_800AEEE8(struct_8018D9E0_entry*);
|
||||
|
|
@ -220,9 +224,6 @@ void func_800AF480(struct_8018D9E0_entry*);
|
|||
void func_800AF4DC(struct_8018D9E0_entry*);
|
||||
void func_800AF740(struct_8018D9E0_entry*);
|
||||
|
||||
// code_80057C60.c
|
||||
void func_80057CE4();
|
||||
|
||||
/* File specific defines */
|
||||
|
||||
#define D_8018D9E0_SIZE 0x20
|
||||
|
|
@ -315,4 +316,7 @@ extern u8 _textures_0bSegmentRomStart[];
|
|||
extern s32 D_8018E7A8; // maybe?
|
||||
extern s8 D_8018E7B0; // maybe?
|
||||
|
||||
// This is tracking which credit "state" we're in, decides which credits are shown (and probably other stuff)
|
||||
extern u16 D_800DC5E4;
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -133,31 +133,16 @@ UNUSED void *sm64_vec3f_set(Vec3f dest, f32 x, f32 y, f32 z) {
|
|||
return &dest;
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
|
||||
void func_802B5350(f32 (*arg0)[4], f32 (*arg1)[4]) {
|
||||
f32 (*var_a2)[4];
|
||||
f32 (*var_v1)[4];
|
||||
f32 temp_f6;
|
||||
s32 var_v0;
|
||||
void func_802B5350(Mat4 arg0, Mat4 arg1) {
|
||||
s32 row;
|
||||
s32 column;
|
||||
|
||||
var_a2 = arg0;
|
||||
var_v0 = 0;
|
||||
var_v1 = arg1;
|
||||
do {
|
||||
var_v0 += 1;
|
||||
var_v1 += 0x10;
|
||||
var_v1->unk-10 = (f32) var_a2[0][0];
|
||||
temp_f6 = var_a2[0][1];
|
||||
var_a2 += 0x10;
|
||||
var_v1->unk-C = temp_f6;
|
||||
var_v1->unk-8 = (f32) var_a2->unk-8;
|
||||
var_v1->unk-4 = (f32) var_a2->unk-4;
|
||||
} while (var_v0 != 4);
|
||||
for (row = 0; row < 4; row++) {
|
||||
for (column = 0; column < 4; column++) {
|
||||
arg1[row][column] = arg0[row][column];
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/math_util/func_802B5350.s")
|
||||
#endif
|
||||
|
||||
// mtxf_copy
|
||||
void func_802B5398(s32 *dest, s32 *src, s32 arg2) {
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ void vec3s_set(Vec3s, s16, s16, s16);
|
|||
void *vec3f_copy(Vec3f, Vec3f);
|
||||
void vec3s_copy(Vec3s, Vec3s);
|
||||
void *sm64_vec3f_set(Vec3f, f32, f32, f32);
|
||||
void func_802B5350(Mat4, Mat4);
|
||||
void func_802B5398(s32*, s32*, s32);
|
||||
void mtxf_identity(Mat4);
|
||||
void func_802B5450(Mat4, Mat4, Vec3f);
|
||||
|
|
|
|||
399
src/memory.c
399
src/memory.c
|
|
@ -580,85 +580,76 @@ void func_802A8F14(Gfx *arg0, u8 arg1, u8 arg2) {
|
|||
Gfx D_802B8D58[] = {gsDPTileSync()};
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
||||
static Gfx D_802B8D58; /* unable to generate initializer */
|
||||
|
||||
|
||||
|
||||
void func_802A8F80(s32 arg0, s32 arg1, s8 arg2) {
|
||||
s32 sp58;
|
||||
//generated by m2c commit 9841ff34ca242f5f14b2eab2b54a7a65ac47d80f
|
||||
void func_802A8F80(Gfx *displayList, s32 arg1, s8 arg2) {
|
||||
u32 sp58;
|
||||
s32 sp48;
|
||||
s32 sp44;
|
||||
s32 sp40;
|
||||
s32 temp_a1;
|
||||
s32 temp_t5;
|
||||
s32 temp_t8;
|
||||
s32 temp_t9;
|
||||
s32 var_v0;
|
||||
s32 var_v1;
|
||||
u8 temp_a0;
|
||||
u8 temp_a0_2;
|
||||
s32 phi_v1;
|
||||
s32 phi_v0;
|
||||
|
||||
sp58.unk0 = D_802B8D58.unk0;
|
||||
sp58.unk4 = D_802B8D58.unk4;
|
||||
phi_v0 = 0;
|
||||
phi_v0 = 0;
|
||||
sp58.unk0 = D_802B8D58->words.w0;
|
||||
var_v0 = 0;
|
||||
sp58.unk4 = (u32) D_802B8D58->words.w1;
|
||||
switch (arg2) {
|
||||
case 26:
|
||||
sp44 = 0x20;
|
||||
var_v1 = 0x00000020;
|
||||
sp44 = 0x00000020;
|
||||
sp40 = 0;
|
||||
phi_v1 = 0x20;
|
||||
block_9:
|
||||
sp48 = phi_v1;
|
||||
sp48 = var_v1;
|
||||
break;
|
||||
case 44:
|
||||
sp44 = 0x20;
|
||||
var_v1 = 0x00000020;
|
||||
sp44 = 0x00000020;
|
||||
sp40 = 0;
|
||||
phi_v1 = 0x20;
|
||||
phi_v0 = 0x100;
|
||||
var_v0 = 0x100;
|
||||
goto block_9;
|
||||
case 27:
|
||||
sp44 = 0x20;
|
||||
var_v1 = 0x00000040;
|
||||
sp44 = 0x00000020;
|
||||
sp40 = 0;
|
||||
phi_v1 = 0x40;
|
||||
goto block_9;
|
||||
case 28:
|
||||
sp44 = 0x40;
|
||||
var_v1 = 0x00000020;
|
||||
sp44 = 0x00000040;
|
||||
sp40 = 0;
|
||||
phi_v1 = 0x20;
|
||||
goto block_9;
|
||||
case 29:
|
||||
sp44 = 0x20;
|
||||
var_v1 = 0x00000020;
|
||||
sp44 = 0x00000020;
|
||||
sp40 = 3;
|
||||
phi_v1 = 0x20;
|
||||
goto block_9;
|
||||
case 30:
|
||||
sp44 = 0x20;
|
||||
var_v1 = 0x00000040;
|
||||
sp44 = 0x00000020;
|
||||
sp40 = 3;
|
||||
phi_v1 = 0x40;
|
||||
goto block_9;
|
||||
case 31:
|
||||
sp44 = 0x40;
|
||||
var_v1 = 0x00000020;
|
||||
sp44 = 0x00000040;
|
||||
sp40 = 3;
|
||||
phi_v1 = 0x20;
|
||||
goto block_9;
|
||||
}
|
||||
temp_a1 = D_802BA274;
|
||||
temp_a0 = *(temp_a1 + arg1);
|
||||
temp_t9 = temp_a1 + 1;
|
||||
temp_a0 = *(D_802BA274 + arg1);
|
||||
temp_t9 = D_802BA274 + 1;
|
||||
D_802BA274 = temp_t9;
|
||||
temp_a0_2 = *(temp_t9 + arg1);
|
||||
D_802BA274 = temp_t9 + 1;
|
||||
*(arg0 + (D_802BA270 * 8)) = sp58;
|
||||
(arg0 + (D_802BA270 * 8))->unk4 = sp5C;
|
||||
displayList[D_802BA270].words.w0 = sp58;
|
||||
displayList[D_802BA270].words.w1 = sp5C;
|
||||
D_802BA270 += 1;
|
||||
*(arg0 + (D_802BA270 * 8)) = (sp40 << 0x15) | 0xF5000000 | 0x100000 | ((((sp48 * 2) + 7) >> 3) << 9) | phi_v0;
|
||||
(arg0 + (D_802BA270 * 8))->unk4 = ((temp_a0_2 & 0xF) << 0x12) | (((temp_a0_2 & 0xF0) >> 4) << 0xE) | ((temp_a0 & 0xF) << 8) | (((temp_a0 & 0xF0) >> 4) * 0x10);
|
||||
displayList[D_802BA270].words.w0 = (sp40 << 0x15) | 0xF5000000 | 0x100000 | (((s32) ((sp48 * 2) + 7) >> 3) << 9) | var_v0;
|
||||
displayList[D_802BA270].words.w1 = ((temp_a0_2 & 0xF) << 0x12) | (((u32) (temp_a0_2 & 0xF0) >> 4) << 0xE) | ((temp_a0 & 0xF) << 8) | (((u32) (temp_a0 & 0xF0) >> 4) * 0x10);
|
||||
temp_t5 = D_802BA270 + 1;
|
||||
temp_t8 = temp_t5 * 8;
|
||||
D_802BA270 = temp_t5;
|
||||
*(arg0 + temp_t8) = 0xF2000000;
|
||||
(arg0 + (D_802BA270 * 8))->unk4 = ((sp48 - 1) << 0xE) | ((sp44 - 1) * 4);
|
||||
displayList[temp_t5].words.w0 = 0xF2000000;
|
||||
displayList[D_802BA270].words.w1 = ((sp48 - 1) << 0xE) | ((sp44 - 1) * 4);
|
||||
D_802BA270 += 1;
|
||||
}
|
||||
#else
|
||||
|
|
@ -669,111 +660,106 @@ Gfx D_802B8D60[] = { gsDPTileSync() };
|
|||
Gfx D_802B8D68[] = { gsDPLoadSync() };
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
||||
static Gfx D_802B8D60; /* unable to generate initializer */
|
||||
static Gfx D_802B8D68; /* unable to generate initializer */
|
||||
|
||||
void func_802A91E4(s32 arg0, s32 arg1, s8 arg2) {
|
||||
s32 sp48;
|
||||
s32 sp40;
|
||||
//generated by m2c commit 9841ff34ca242f5f14b2eab2b54a7a65ac47d80f
|
||||
void func_802A91E4(Gfx *displayList, s32 arg1, s8 arg2) {
|
||||
u32 sp48;
|
||||
u32 sp40;
|
||||
s32 sp2C;
|
||||
s32 sp28;
|
||||
s32 sp24;
|
||||
s32 temp_t1;
|
||||
s32 temp_t6;
|
||||
s32 temp_t6_2;
|
||||
s32 temp_t8;
|
||||
s32 temp_t9;
|
||||
s32 temp_t9_2;
|
||||
s32 temp_v1;
|
||||
s32 var_v0;
|
||||
u32 temp_t1;
|
||||
u32 temp_t2;
|
||||
u32 temp_t6_3;
|
||||
u32 var_a2;
|
||||
u32 var_v0_2;
|
||||
u32 var_v1;
|
||||
u8 temp_a2;
|
||||
u8 temp_a3;
|
||||
s32 phi_v0;
|
||||
u32 phi_v0_2;
|
||||
u32 phi_a2;
|
||||
u32 phi_v1;
|
||||
|
||||
sp48.unk0 = D_802B8D60.unk0;
|
||||
sp48.unk4 = D_802B8D60.unk4;
|
||||
sp40.unk0 = D_802B8D68.unk0;
|
||||
sp40.unk4 = D_802B8D68.unk4;
|
||||
sp48.unk0 = D_802B8D60->words.w0;
|
||||
sp48.unk4 = (u32) D_802B8D60->words.w1;
|
||||
sp40.unk0 = D_802B8D68->words.w0;
|
||||
sp40.unk4 = (u32) D_802B8D68->words.w1;
|
||||
switch (arg2) {
|
||||
case 32:
|
||||
sp28 = 0x20;
|
||||
var_v0 = 0x00000020;
|
||||
sp28 = 0x00000020;
|
||||
sp24 = 0;
|
||||
phi_v0 = 0x20;
|
||||
block_8:
|
||||
sp2C = phi_v0;
|
||||
sp2C = var_v0;
|
||||
break;
|
||||
case 33:
|
||||
sp28 = 0x20;
|
||||
var_v0 = 0x00000040;
|
||||
sp28 = 0x00000020;
|
||||
sp24 = 0;
|
||||
phi_v0 = 0x40;
|
||||
goto block_8;
|
||||
case 34:
|
||||
sp28 = 0x40;
|
||||
var_v0 = 0x00000020;
|
||||
sp28 = 0x00000040;
|
||||
sp24 = 0;
|
||||
phi_v0 = 0x20;
|
||||
goto block_8;
|
||||
case 35:
|
||||
sp28 = 0x20;
|
||||
var_v0 = 0x00000020;
|
||||
sp28 = 0x00000020;
|
||||
sp24 = 3;
|
||||
phi_v0 = 0x20;
|
||||
goto block_8;
|
||||
case 36:
|
||||
sp28 = 0x20;
|
||||
var_v0 = 0x00000040;
|
||||
sp28 = 0x00000020;
|
||||
sp24 = 3;
|
||||
phi_v0 = 0x40;
|
||||
goto block_8;
|
||||
case 37:
|
||||
sp28 = 0x40;
|
||||
var_v0 = 0x00000020;
|
||||
sp28 = 0x00000040;
|
||||
sp24 = 3;
|
||||
phi_v0 = 0x20;
|
||||
goto block_8;
|
||||
}
|
||||
temp_v1 = D_802BA274;
|
||||
temp_a2 = *(arg1 + temp_v1);
|
||||
temp_t9 = temp_v1 + 1;
|
||||
temp_a2 = *(arg1 + D_802BA274);
|
||||
temp_t9 = D_802BA274 + 1;
|
||||
D_802BA274 = temp_t9;
|
||||
temp_t8 = temp_t9 + 1;
|
||||
D_802BA274 = temp_t8;
|
||||
temp_a3 = *(temp_t8 + arg1);
|
||||
D_802BA274 = temp_t8 + 1;
|
||||
temp_t6 = sp24 << 0x15;
|
||||
*(arg0 + (D_802BA270 * 8)) = temp_t6 | 0xFD000000 | 0x100000;
|
||||
(arg0 + (D_802BA270 * 8))->unk4 = (temp_a2 << 0xB) + 0x5000000;
|
||||
displayList[D_802BA270].words.w0 = temp_t6 | 0xFD000000 | 0x100000;
|
||||
displayList[D_802BA270].words.w1 = (temp_a2 << 0xB) + 0x05000000;
|
||||
temp_t9_2 = D_802BA270 + 1;
|
||||
D_802BA270 = temp_t9_2;
|
||||
*(arg0 + (temp_t9_2 * 8)) = sp48;
|
||||
(arg0 + (D_802BA270 * 8))->unk4 = sp4C;
|
||||
displayList[temp_t9_2].words.w0 = sp48;
|
||||
var_v1 = 0x7FF;
|
||||
displayList[D_802BA270].words.w1 = sp4C;
|
||||
D_802BA270 += 1;
|
||||
*(arg0 + (D_802BA270 * 8)) = temp_t6 | 0xF5000000 | 0x100000 | (temp_a3 & 0xF);
|
||||
temp_t1 = ((temp_a3 & 0xF0) >> 4) << 0x18;
|
||||
(arg0 + (D_802BA270 * 8))->unk4 = temp_t1;
|
||||
displayList[D_802BA270].words.w0 = temp_t6 | 0xF5000000 | 0x100000 | (temp_a3 & 0xF);
|
||||
temp_t1 = ((u32) (temp_a3 & 0xF0) >> 4) << 0x18;
|
||||
displayList[D_802BA270].words.w1 = temp_t1;
|
||||
temp_t6_2 = D_802BA270 + 1;
|
||||
D_802BA270 = temp_t6_2;
|
||||
*(arg0 + (temp_t6_2 * 8)) = sp40;
|
||||
(arg0 + (D_802BA270 * 8))->unk4 = sp44;
|
||||
temp_t6_3 = (sp2C * 2) >> 3;
|
||||
displayList[temp_t6_2].words.w0 = sp40;
|
||||
displayList[D_802BA270].words.w1 = sp44;
|
||||
temp_t6_3 = (u32) (sp2C * 2) >> 3;
|
||||
D_802BA270 += 1;
|
||||
temp_t2 = (sp2C * sp28) - 1;
|
||||
phi_v1 = 0x7FF;
|
||||
if (temp_t2 < 0x7FF) {
|
||||
phi_v1 = temp_t2;
|
||||
if (temp_t2 < 0x7FFU) {
|
||||
var_v1 = temp_t2;
|
||||
}
|
||||
if (temp_t6_3 == 0) {
|
||||
phi_v0_2 = 1;
|
||||
var_v0_2 = 1;
|
||||
} else {
|
||||
phi_v0_2 = temp_t6_3;
|
||||
var_v0_2 = temp_t6_3;
|
||||
}
|
||||
phi_a2 = temp_t6_3;
|
||||
var_a2 = temp_t6_3;
|
||||
if (temp_t6_3 == 0) {
|
||||
phi_a2 = 1;
|
||||
var_a2 = 1;
|
||||
}
|
||||
*(arg0 + (D_802BA270 * 8)) = 0xF3000000;
|
||||
(arg0 + (D_802BA270 * 8))->unk4 = ((phi_v0_2 + 0x7FF) / phi_a2) | temp_t1 | (phi_v1 << 0xC);
|
||||
displayList[D_802BA270].words.w0 = 0xF3000000;
|
||||
displayList[D_802BA270].words.w1 = ((u32) (var_v0_2 + 0x7FF) / var_a2) | temp_t1 | (var_v1 << 0xC);
|
||||
D_802BA270 += 1;
|
||||
}
|
||||
#else
|
||||
|
|
@ -796,220 +782,183 @@ void func_802A9544(Gfx *arg0, u8 arg1, u8 arg2) {
|
|||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
extern s32 D_802BA270;
|
||||
extern s32 D_802BA274;
|
||||
|
||||
void func_802A95B0(s32 arg0, s32 arg1, ? arg2) {
|
||||
//generated by m2c commit 9841ff34ca242f5f14b2eab2b54a7a65ac47d80f
|
||||
void func_802A95B0(Gfx *displayList, u8 *arg1, s32 arg2) {
|
||||
s32 temp_t5;
|
||||
s32 temp_t7;
|
||||
s32 temp_t7_2;
|
||||
s32 temp_v1;
|
||||
u8 temp_v0;
|
||||
|
||||
temp_v1 = D_802BA274;
|
||||
temp_t7 = temp_v1 + 1;
|
||||
temp_v0 = *(temp_v1 + arg1);
|
||||
temp_t7 = D_802BA274 + 1;
|
||||
temp_v0 = arg1[D_802BA274];
|
||||
D_802BA274 = temp_t7;
|
||||
temp_t5 = temp_t7 + 1;
|
||||
D_802BA274 = temp_t5;
|
||||
temp_t7_2 = temp_t5 + 1;
|
||||
D_802BA274 = temp_t7_2;
|
||||
D_802BA274 = temp_t7_2 + 1;
|
||||
*(arg0 + (D_802BA270 * 8)) = ((*(temp_t7_2 + arg1) & 0x3F) << 0x11) | 0x4000000 | (((*(temp_t5 + arg1) & 0x3F) * 0x410) - 1);
|
||||
(arg0 + (D_802BA270 * 8))->unk4 = (((*(temp_t7 + arg1) << 8) | temp_v0) * 0x10) + 0x4000000;
|
||||
D_802BA270 = D_802BA270 + 1;
|
||||
displayList[D_802BA270].words.w0 = ((arg1[temp_t7_2] & 0x3F) << 0x11) | 0x04000000 | (((arg1[temp_t5] & 0x3F) * 0x410) - 1);
|
||||
displayList[D_802BA270].words.w1 = (((arg1[temp_t7] << 8) | temp_v0) * 0x10) + 0x04000000;
|
||||
D_802BA270 += 1;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/memory/func_802A95B0.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
extern s32 D_802BA270;
|
||||
extern s32 D_802BA274;
|
||||
|
||||
void func_802A9674(s32 arg0, s32 arg1, s8 arg2) {
|
||||
//generated by m2c commit 9841ff34ca242f5f14b2eab2b54a7a65ac47d80f
|
||||
void func_802A9674(Gfx *displayList, u8 *arg1, s8 arg2) {
|
||||
s32 temp_t9;
|
||||
s32 temp_v1;
|
||||
u8 temp_v0;
|
||||
|
||||
temp_v1 = D_802BA274;
|
||||
temp_t9 = temp_v1 + 1;
|
||||
temp_v0 = *(temp_v1 + arg1);
|
||||
temp_t9 = D_802BA274 + 1;
|
||||
temp_v0 = arg1[D_802BA274];
|
||||
D_802BA274 = temp_t9;
|
||||
D_802BA274 = temp_t9 + 1;
|
||||
*(arg0 + (D_802BA270 * 8)) = (((arg2 - 0x32) * 0x410) - 1) | 0x4000000;
|
||||
(arg0 + (D_802BA270 * 8))->unk4 = (((*(temp_t9 + arg1) << 8) | temp_v0) * 0x10) + 0x4000000;
|
||||
D_802BA270 = D_802BA270 + 1;
|
||||
displayList[D_802BA270].words.w0 = (((arg2 - 0x32) * 0x410) - 1) | 0x04000000;
|
||||
displayList[D_802BA270].words.w1 = (((arg1[temp_t9] << 8) | temp_v0) * 0x10) + 0x04000000;
|
||||
D_802BA270 += 1;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/memory/func_802A9674.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
extern s32 D_802BA270;
|
||||
extern s32 D_802BA274;
|
||||
|
||||
void func_802A9714(s32 arg0, s32 arg1, ? arg2) {
|
||||
//generated by m2c commit 9841ff34ca242f5f14b2eab2b54a7a65ac47d80f
|
||||
void func_802A9714(Gfx *displayList, u8 *arg1, s32 arg2) {
|
||||
s32 temp_t7;
|
||||
s32 temp_v1;
|
||||
s32 temp_v1_2;
|
||||
s32 var_a0;
|
||||
s32 var_a2;
|
||||
s32 var_a3;
|
||||
u8 temp_v0;
|
||||
u8 temp_v0_2;
|
||||
u8 temp_v0_3;
|
||||
s32 phi_a3;
|
||||
s32 phi_a2;
|
||||
s32 phi_a0;
|
||||
|
||||
temp_v1 = D_802BA274;
|
||||
temp_v0 = *(temp_v1 + arg1);
|
||||
temp_t7 = temp_v1 + 1;
|
||||
temp_v0 = arg1[D_802BA274];
|
||||
temp_t7 = D_802BA274 + 1;
|
||||
D_802BA274 = temp_t7;
|
||||
phi_a3 = temp_v0 & 0x1F;
|
||||
phi_a0 = temp_v0 & 0x1F;
|
||||
var_a0 = temp_v0 & 0x1F;
|
||||
var_a3 = temp_v0 & 0x1F;
|
||||
if (gIsMirrorMode != 0) {
|
||||
temp_v0_2 = *(temp_t7 + arg1);
|
||||
temp_v0_2 = arg1[temp_t7];
|
||||
D_802BA274 = temp_t7 + 1;
|
||||
phi_a3 = (temp_v0_2 >> 2) & 0x1F;
|
||||
phi_a2 = ((temp_v0 >> 5) & 7) | ((temp_v0_2 & 3) * 8);
|
||||
var_a2 = ((temp_v0 >> 5) & 7) | ((temp_v0_2 & 3) * 8);
|
||||
var_a3 = (temp_v0_2 >> 2) & 0x1F;
|
||||
} else {
|
||||
temp_v1_2 = D_802BA274;
|
||||
temp_v0_3 = *(temp_v1_2 + arg1);
|
||||
D_802BA274 = temp_v1_2 + 1;
|
||||
phi_a2 = ((temp_v0 >> 5) & 7) | ((temp_v0_3 & 3) * 8);
|
||||
phi_a0 = (temp_v0_3 >> 2) & 0x1F;
|
||||
temp_v0_3 = arg1[D_802BA274];
|
||||
D_802BA274 += 1;
|
||||
var_a2 = ((temp_v0 >> 5) & 7) | ((temp_v0_3 & 3) * 8);
|
||||
var_a0 = (temp_v0_3 >> 2) & 0x1F;
|
||||
}
|
||||
*(arg0 + (D_802BA270 * 8)) = 0xBF000000;
|
||||
(arg0 + (D_802BA270 * 8))->unk4 = (phi_a3 << 0x11) | (phi_a2 << 9) | (phi_a0 * 2);
|
||||
D_802BA270 = D_802BA270 + 1;
|
||||
displayList[D_802BA270].words.w0 = 0xBF000000;
|
||||
displayList[D_802BA270].words.w1 = (var_a3 << 0x11) | (var_a2 << 9) | (var_a0 * 2);
|
||||
D_802BA270 += 1;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/memory/func_802A9714.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
extern s32 D_802BA270;
|
||||
extern s32 D_802BA274;
|
||||
|
||||
void func_802A980C(s32 arg0, s32 arg1, ? arg2) {
|
||||
s32 temp_a2;
|
||||
//generated by m2c commit 9841ff34ca242f5f14b2eab2b54a7a65ac47d80f
|
||||
void func_802A980C(Gfx *displayList, u8 *arg1, s32 arg2) {
|
||||
s32 temp_t7;
|
||||
s32 temp_t8;
|
||||
s32 temp_t9;
|
||||
s32 temp_t9_2;
|
||||
s32 temp_v1;
|
||||
s32 temp_v1_2;
|
||||
s32 temp_v1_3;
|
||||
s32 temp_v1_4;
|
||||
s32 var_a0;
|
||||
s32 var_a2;
|
||||
s32 var_a3;
|
||||
s32 var_t0;
|
||||
s32 var_t1;
|
||||
s32 var_t2;
|
||||
u8 temp_v0;
|
||||
u8 temp_v0_2;
|
||||
u8 temp_v0_3;
|
||||
u8 temp_v0_4;
|
||||
u8 temp_v0_5;
|
||||
u8 temp_v0_6;
|
||||
s32 phi_t0;
|
||||
s32 phi_a3;
|
||||
s32 phi_a0;
|
||||
s32 phi_t2;
|
||||
s32 phi_t1;
|
||||
s32 phi_a2;
|
||||
|
||||
temp_v1 = D_802BA274;
|
||||
temp_v0 = *(temp_v1 + arg1);
|
||||
temp_t7 = temp_v1 + 1;
|
||||
temp_v0 = arg1[D_802BA274];
|
||||
temp_t7 = D_802BA274 + 1;
|
||||
D_802BA274 = temp_t7;
|
||||
temp_a2 = gIsMirrorMode;
|
||||
phi_t0 = temp_v0 & 0x1F;
|
||||
phi_a0 = temp_v0 & 0x1F;
|
||||
if (temp_a2 != 0) {
|
||||
temp_v0_2 = *(temp_t7 + arg1);
|
||||
var_a0 = temp_v0 & 0x1F;
|
||||
var_t0 = temp_v0 & 0x1F;
|
||||
if (gIsMirrorMode != 0) {
|
||||
temp_v0_2 = arg1[temp_t7];
|
||||
D_802BA274 = temp_t7 + 1;
|
||||
phi_t0 = (temp_v0_2 >> 2) & 0x1F;
|
||||
phi_a3 = ((temp_v0 >> 5) & 7) | ((temp_v0_2 & 3) * 8);
|
||||
var_a3 = ((temp_v0 >> 5) & 7) | ((temp_v0_2 & 3) * 8);
|
||||
var_t0 = (temp_v0_2 >> 2) & 0x1F;
|
||||
} else {
|
||||
temp_v1_2 = D_802BA274;
|
||||
temp_v0_3 = *(temp_v1_2 + arg1);
|
||||
D_802BA274 = temp_v1_2 + 1;
|
||||
phi_a3 = ((temp_v0 >> 5) & 7) | ((temp_v0_3 & 3) * 8);
|
||||
phi_a0 = (temp_v0_3 >> 2) & 0x1F;
|
||||
temp_v0_3 = arg1[D_802BA274];
|
||||
D_802BA274 += 1;
|
||||
var_a3 = ((temp_v0 >> 5) & 7) | ((temp_v0_3 & 3) * 8);
|
||||
var_a0 = (temp_v0_3 >> 2) & 0x1F;
|
||||
}
|
||||
temp_v1_3 = D_802BA274;
|
||||
temp_v0_4 = *(temp_v1_3 + arg1);
|
||||
temp_t9 = temp_v1_3 + 1;
|
||||
temp_v0_4 = arg1[D_802BA274];
|
||||
temp_t9 = D_802BA274 + 1;
|
||||
D_802BA274 = temp_t9;
|
||||
if (temp_a2 != 0) {
|
||||
temp_v0_5 = *(temp_t9 + arg1);
|
||||
if (gIsMirrorMode != 0) {
|
||||
var_a2 = temp_v0_4 & 0x1F;
|
||||
temp_v0_5 = arg1[temp_t9];
|
||||
D_802BA274 = temp_t9 + 1;
|
||||
phi_t2 = (temp_v0_5 >> 2) & 0x1F;
|
||||
phi_t1 = ((temp_v0_4 >> 5) & 7) | ((temp_v0_5 & 3) * 8);
|
||||
phi_a2 = temp_v0_4 & 0x1F;
|
||||
var_t1 = ((temp_v0_4 >> 5) & 7) | ((temp_v0_5 & 3) * 8);
|
||||
var_t2 = (temp_v0_5 >> 2) & 0x1F;
|
||||
} else {
|
||||
temp_v1_4 = D_802BA274;
|
||||
temp_v0_6 = *(temp_v1_4 + arg1);
|
||||
var_t2 = temp_v0_4 & 0x1F;
|
||||
temp_v0_6 = arg1[D_802BA274];
|
||||
temp_t8 = (temp_v0_6 & 3) * 8;
|
||||
temp_t9_2 = (temp_v0_6 >> 2) & 0x1F;
|
||||
D_802BA274 = temp_v1_4 + 1;
|
||||
phi_t2 = temp_v0_4 & 0x1F;
|
||||
phi_t1 = ((temp_v0_4 >> 5) & 7) | temp_t8;
|
||||
phi_a2 = temp_t9_2;
|
||||
D_802BA274 += 1;
|
||||
var_t1 = ((temp_v0_4 >> 5) & 7) | temp_t8;
|
||||
var_a2 = temp_t9_2;
|
||||
}
|
||||
*(arg0 + (D_802BA270 * 8)) = (phi_t0 << 0x11) | 0xB1000000 | (phi_a3 << 9) | (phi_a0 * 2);
|
||||
(arg0 + (D_802BA270 * 8))->unk4 = (phi_t2 << 0x11) | (phi_t1 << 9) | (phi_a2 * 2);
|
||||
D_802BA270 = D_802BA270 + 1;
|
||||
displayList[D_802BA270].words.w0 = (var_t0 << 0x11) | 0xB1000000 | (var_a3 << 9) | (var_a0 * 2);
|
||||
displayList[D_802BA270].words.w1 = (var_t2 << 0x11) | (var_t1 << 9) | (var_a2 * 2);
|
||||
D_802BA270 += 1;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/memory/func_802A980C.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
extern s32 D_802BA270;
|
||||
extern s32 D_802BA274;
|
||||
|
||||
void func_802A99A4(s32 arg0, s32 arg1, ? arg2) {
|
||||
//generated by m2c commit 9841ff34ca242f5f14b2eab2b54a7a65ac47d80f
|
||||
void func_802A99A4(Gfx *displayList, u8 *arg1, s32 arg2) {
|
||||
s32 temp_t3;
|
||||
s32 temp_t6;
|
||||
s32 temp_t7;
|
||||
s32 temp_v1;
|
||||
s32 temp_v1_2;
|
||||
s32 var_a0;
|
||||
s32 var_a2;
|
||||
s32 var_a3;
|
||||
s32 var_t0;
|
||||
u8 temp_v0;
|
||||
u8 temp_v0_2;
|
||||
u8 temp_v0_3;
|
||||
s32 phi_a0;
|
||||
s32 phi_t0;
|
||||
s32 phi_a3;
|
||||
s32 phi_a2;
|
||||
|
||||
temp_v1 = D_802BA274;
|
||||
temp_v0 = *(temp_v1 + arg1);
|
||||
temp_t7 = temp_v1 + 1;
|
||||
temp_v0 = arg1[D_802BA274];
|
||||
temp_t7 = D_802BA274 + 1;
|
||||
D_802BA274 = temp_t7;
|
||||
phi_a0 = temp_v0 & 0x1F;
|
||||
phi_t0 = temp_v0 & 0x1F;
|
||||
var_a0 = temp_v0 & 0x1F;
|
||||
var_t0 = temp_v0 & 0x1F;
|
||||
if (gIsMirrorMode != 0) {
|
||||
temp_v0_2 = *(temp_t7 + arg1);
|
||||
temp_v0_2 = arg1[temp_t7];
|
||||
temp_t3 = temp_t7 + 1;
|
||||
D_802BA274 = temp_t3;
|
||||
var_a2 = ((temp_v0 >> 5) & 7) | ((temp_v0_2 & 3) * 8);
|
||||
var_a3 = (temp_v0_2 >> 2) & 0x1F;
|
||||
D_802BA274 = temp_t3 + 1;
|
||||
phi_t0 = ((temp_v0_2 >> 7) & 1) | ((*(temp_t3 + arg1) & 0xF) * 2);
|
||||
phi_a3 = (temp_v0_2 >> 2) & 0x1F;
|
||||
phi_a2 = ((temp_v0 >> 5) & 7) | ((temp_v0_2 & 3) * 8);
|
||||
var_t0 = ((temp_v0_2 >> 7) & 1) | ((arg1[temp_t3] & 0xF) * 2);
|
||||
} else {
|
||||
temp_v1_2 = D_802BA274;
|
||||
temp_v0_3 = *(temp_v1_2 + arg1);
|
||||
temp_t6 = temp_v1_2 + 1;
|
||||
temp_v0_3 = arg1[D_802BA274];
|
||||
temp_t6 = D_802BA274 + 1;
|
||||
D_802BA274 = temp_t6;
|
||||
var_a3 = ((temp_v0 >> 5) & 7) | ((temp_v0_3 & 3) * 8);
|
||||
var_a2 = (temp_v0_3 >> 2) & 0x1F;
|
||||
D_802BA274 = temp_t6 + 1;
|
||||
phi_a0 = ((temp_v0_3 >> 7) & 1) | ((*(temp_t6 + arg1) & 0xF) * 2);
|
||||
phi_a3 = ((temp_v0 >> 5) & 7) | ((temp_v0_3 & 3) * 8);
|
||||
phi_a2 = (temp_v0_3 >> 2) & 0x1F;
|
||||
var_a0 = ((temp_v0_3 >> 7) & 1) | ((arg1[temp_t6] & 0xF) * 2);
|
||||
}
|
||||
*(arg0 + (D_802BA270 * 8)) = 0xB5000000;
|
||||
(arg0 + (D_802BA270 * 8))->unk4 = (phi_a0 << 0x19) | (phi_t0 << 0x11) | (phi_a3 << 9) | (phi_a2 * 2);
|
||||
D_802BA270 = D_802BA270 + 1;
|
||||
displayList[D_802BA270].words.w0 = 0xB5000000;
|
||||
displayList[D_802BA270].words.w1 = (var_a0 << 0x19) | (var_t0 << 0x11) | (var_a3 << 9) | (var_a2 * 2);
|
||||
D_802BA270 += 1;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/memory/func_802A99A4.s")
|
||||
|
|
@ -2124,7 +2073,7 @@ f32 func_802ABEAC(UnkActorInner *arg0, Vec3f arg1) {
|
|||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit b04a67bbeb29101ca8f4ea8a24a81fe594677b33
|
||||
//generated by m2c commit 9841ff34ca242f5f14b2eab2b54a7a65ac47d80f
|
||||
void process_shell_collision(f32 *arg0, f32 arg1, f32 *velocity, f32 arg3) {
|
||||
f32 sp40;
|
||||
f32 sp3C;
|
||||
|
|
@ -2137,7 +2086,6 @@ void process_shell_collision(f32 *arg0, f32 arg1, f32 *velocity, f32 arg3) {
|
|||
f32 temp_f0;
|
||||
f32 temp_f0_2;
|
||||
f32 temp_f10;
|
||||
f32 temp_f10_2;
|
||||
f32 temp_f12;
|
||||
f32 temp_f12_2;
|
||||
f32 temp_f14;
|
||||
|
|
@ -2148,7 +2096,6 @@ void process_shell_collision(f32 *arg0, f32 arg1, f32 *velocity, f32 arg3) {
|
|||
f32 temp_f2;
|
||||
f32 temp_f2_2;
|
||||
f32 temp_f6;
|
||||
f32 temp_f8;
|
||||
f64 temp_f16;
|
||||
|
||||
temp_f2 = velocity->unk0;
|
||||
|
|
@ -2176,11 +2123,9 @@ void process_shell_collision(f32 *arg0, f32 arg1, f32 *velocity, f32 arg3) {
|
|||
temp_f12_2 = sp3C - spC;
|
||||
temp_f14_2 = sp38 - temp_f6;
|
||||
temp_f16_3 = (1.0f / sqrtf((temp_f2_2 * temp_f2_2) + (temp_f12_2 * temp_f12_2) + (temp_f14_2 * temp_f14_2))) * sp24;
|
||||
temp_f10_2 = temp_f12_2 * temp_f16_3;
|
||||
temp_f8 = temp_f14_2 * temp_f16_3;
|
||||
velocity->unk0 = temp_f2_2 * temp_f16_3;
|
||||
velocity->unk4 = temp_f10_2;
|
||||
velocity->unk8 = temp_f8;
|
||||
velocity->unk4 = (f32) (temp_f12_2 * temp_f16_3);
|
||||
velocity->unk8 = (f32) (temp_f14_2 * temp_f16_3);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/memory/process_shell_collision.s")
|
||||
|
|
|
|||
183
src/race_logic.c
183
src/race_logic.c
|
|
@ -753,101 +753,82 @@ void func_8028F4E8(void) {
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
|
||||
extern void *D_800DC5EC;
|
||||
extern void *D_800DC5F0;
|
||||
extern void *D_800DC5F4;
|
||||
extern void *D_800DC5F8;
|
||||
extern f32 D_802BA034;
|
||||
|
||||
void func_8028F588(void) {
|
||||
s16 var_v0;
|
||||
s16 var_v0_2;
|
||||
s16 var_v0_3;
|
||||
s16 var_v0_4;
|
||||
s16 var_v0_5;
|
||||
s16 var_v0_6;
|
||||
s16 var_v0_7;
|
||||
s16 var_v0_8;
|
||||
s32 temp_v0;
|
||||
s16 screenWidth;
|
||||
|
||||
switch (gActiveScreenMode) { /* irregular */
|
||||
switch (gActiveScreenMode) { /* irregular */
|
||||
case SCREEN_MODE_1P:
|
||||
var_v0 = (s16) (s32) (320.0f * D_802BA034);
|
||||
if (var_v0 < 0) {
|
||||
var_v0 = 1;
|
||||
screenWidth = (s16) (s32) (320.0f * D_802BA034);
|
||||
if (screenWidth < 0) {
|
||||
screenWidth = 1;
|
||||
}
|
||||
D_800DC5EC->unk2C = var_v0;
|
||||
var_v0_2 = (s16) (s32) (240.0f * D_802BA034);
|
||||
if (var_v0_2 < 0) {
|
||||
var_v0_2 = 1;
|
||||
D_800DC5EC->screenWidth = screenWidth;
|
||||
screenWidth = (s16) (s32) (240.0f * D_802BA034);
|
||||
if (screenWidth < 0) {
|
||||
screenWidth = 1;
|
||||
}
|
||||
D_800DC5EC->unk2E = var_v0_2;
|
||||
return;
|
||||
D_800DC5EC->screenHeight = screenWidth;
|
||||
break;
|
||||
case SCREEN_MODE_2P_SPLITSCREEN_VERTICAL:
|
||||
var_v0_3 = (s16) (s32) (160.0f * D_802BA034);
|
||||
if (var_v0_3 <= 0) {
|
||||
var_v0_3 = 1;
|
||||
} else if (var_v0_3 >= 0x140) {
|
||||
var_v0_3 = 0x013C;
|
||||
screenWidth = (s16) (s32) (160.0f * D_802BA034);
|
||||
if (screenWidth <= 0) {
|
||||
screenWidth = 1;
|
||||
} else if (screenWidth >= 0x140) {
|
||||
screenWidth = 0x013C;
|
||||
}
|
||||
D_800DC5EC->unk2C = var_v0_3;
|
||||
D_800DC5F0->unk2C = var_v0_3;
|
||||
var_v0_4 = (s16) (s32) (240.0f * D_802BA034);
|
||||
if (var_v0_4 <= 0) {
|
||||
var_v0_4 = 1;
|
||||
} else if (var_v0_4 >= 0x1E0) {
|
||||
var_v0_4 = 0x01DC;
|
||||
D_800DC5EC->screenWidth = screenWidth;
|
||||
D_800DC5F0->screenWidth = screenWidth;
|
||||
screenWidth = (s16) (s32) (240.0f * D_802BA034);
|
||||
if (screenWidth <= 0) {
|
||||
screenWidth = 1;
|
||||
} else if (screenWidth >= 0x1E0) {
|
||||
screenWidth = 0x01DC;
|
||||
}
|
||||
D_800DC5EC->unk2E = var_v0_4;
|
||||
D_800DC5F0->unk2E = var_v0_4;
|
||||
return;
|
||||
D_800DC5EC->screenHeight = screenWidth;
|
||||
D_800DC5F0->screenHeight = screenWidth;
|
||||
break;
|
||||
case SCREEN_MODE_2P_SPLITSCREEN_HORIZONTAL:
|
||||
var_v0_5 = (s16) (s32) (320.0f * D_802BA034);
|
||||
if (var_v0_5 <= 0) {
|
||||
var_v0_5 = 1;
|
||||
} else if (var_v0_5 >= 0x280) {
|
||||
var_v0_5 = 0x027C;
|
||||
screenWidth = (s16) (s32) (320.0f * D_802BA034);
|
||||
if (screenWidth <= 0) {
|
||||
screenWidth = 1;
|
||||
} else if (screenWidth >= 0x280) {
|
||||
screenWidth = 0x027C;
|
||||
}
|
||||
D_800DC5EC->unk2C = var_v0_5;
|
||||
D_800DC5F0->unk2C = var_v0_5;
|
||||
var_v0_6 = (s16) (s32) (120.0f * D_802BA034);
|
||||
if (var_v0_6 <= 0) {
|
||||
var_v0_6 = 1;
|
||||
} else if (var_v0_6 >= 0xF0) {
|
||||
var_v0_6 = 0x00EC;
|
||||
D_800DC5EC->screenWidth = screenWidth;
|
||||
D_800DC5F0->screenWidth = screenWidth;
|
||||
screenWidth = (s16) (s32) (120.0f * D_802BA034);
|
||||
if (screenWidth <= 0) {
|
||||
screenWidth = 1;
|
||||
} else if (screenWidth >= 0xF0) {
|
||||
screenWidth = 0x00EC;
|
||||
}
|
||||
D_800DC5EC->unk2E = var_v0_6;
|
||||
D_800DC5F0->unk2E = var_v0_6;
|
||||
return;
|
||||
D_800DC5EC->screenHeight = screenWidth;
|
||||
D_800DC5F0->screenHeight = screenWidth;
|
||||
break;
|
||||
case SCREEN_MODE_3P_4P_SPLITSCREEN:
|
||||
var_v0_7 = (s16) (s32) (160.0f * D_802BA034);
|
||||
if (var_v0_7 <= 0) {
|
||||
var_v0_7 = 1;
|
||||
} else if (var_v0_7 >= 0x140) {
|
||||
var_v0_7 = 0x013C;
|
||||
screenWidth = (s16) (s32) (160.0f * D_802BA034);
|
||||
if (screenWidth <= 0) {
|
||||
screenWidth = 1;
|
||||
} else if (screenWidth >= 0x140) {
|
||||
screenWidth = 0x013C;
|
||||
}
|
||||
D_800DC5EC->unk2C = var_v0_7;
|
||||
D_800DC5F0->unk2C = var_v0_7;
|
||||
D_800DC5F4->unk2C = var_v0_7;
|
||||
D_800DC5F8->unk2C = var_v0_7;
|
||||
var_v0_8 = (s16) (s32) (120.0f * D_802BA034);
|
||||
if (var_v0_8 <= 0) {
|
||||
var_v0_8 = 1;
|
||||
} else if (var_v0_8 >= 0xF0) {
|
||||
var_v0_8 = 0x00EC;
|
||||
D_800DC5EC->screenWidth = screenWidth;
|
||||
D_800DC5F0->screenWidth = screenWidth;
|
||||
D_800DC5F4->screenWidth = screenWidth;
|
||||
D_800DC5F8->screenWidth = screenWidth;
|
||||
screenWidth = (s16) (s32) (120.0f * D_802BA034);
|
||||
if (screenWidth <= 0) {
|
||||
screenWidth = 1;
|
||||
} else if (screenWidth >= 0xF0) {
|
||||
screenWidth = 0x00EC;
|
||||
}
|
||||
D_800DC5EC->unk2E = var_v0_8;
|
||||
D_800DC5F0->unk2E = var_v0_8;
|
||||
D_800DC5F4->unk2E = var_v0_8;
|
||||
D_800DC5F8->unk2E = var_v0_8;
|
||||
return;
|
||||
D_800DC5EC->screenHeight = screenWidth;
|
||||
D_800DC5F0->screenHeight = screenWidth;
|
||||
D_800DC5F4->screenHeight = screenWidth;
|
||||
D_800DC5F8->screenHeight = screenWidth;
|
||||
break;
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/race_logic/func_8028F588.s")
|
||||
#endif
|
||||
|
||||
void func_8028F8BC(void) {
|
||||
D_802BA034 = (f32) (D_802BA034 - 0.017f);
|
||||
|
|
@ -866,19 +847,12 @@ void func_8028F914(void) {
|
|||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
|
||||
void func_800029B0(); /* extern */
|
||||
void func_80005AE8(Player *); /* extern */
|
||||
void func_800C9F90(?); /* extern */
|
||||
void play_sound2(?); /* extern */
|
||||
//generated by m2c commit 9841ff34ca242f5f14b2eab2b54a7a65ac47d80f
|
||||
? func_800C9F90(?); /* extern */
|
||||
extern s32 D_80162DF0;
|
||||
extern void *gControllerOne;
|
||||
static u16 D_800DC5A8; /* unable to generate initializer */
|
||||
|
||||
void func_8028F970(void) {
|
||||
Player *temp_a0;
|
||||
Player *temp_a0_2;
|
||||
Player *temp_a0_3;
|
||||
Player *var_s3;
|
||||
s32 var_s2;
|
||||
struct Controller *temp_s0;
|
||||
|
|
@ -886,7 +860,6 @@ void func_8028F970(void) {
|
|||
u16 temp_v0;
|
||||
u16 temp_v0_2;
|
||||
u16 temp_v0_3;
|
||||
void *temp_a1;
|
||||
|
||||
if (D_8015F890 == 0) {
|
||||
var_s3 = gPlayers;
|
||||
|
|
@ -895,37 +868,34 @@ loop_2:
|
|||
temp_v0 = var_s3->unk_000;
|
||||
if ((temp_v0 & 0x4000) && !(temp_v0 & 0x1000)) {
|
||||
temp_s0 = &gControllers[var_s2];
|
||||
if (gActiveScreenMode != SCREEN_MODE_3P_4P_SPLITSCREEN) {
|
||||
if (gActiveScreenMode != 3) {
|
||||
temp_v0_2 = temp_s0->buttonPressed;
|
||||
if ((temp_v0_2 & 0x20) && !(temp_s0->button & 0x10)) {
|
||||
if ((temp_v0_2 & L_TRIG) && !(temp_s0->button & R_TRIG)) {
|
||||
temp_s0->buttonPressed = temp_v0_2 & 0xFFDF;
|
||||
temp_t7 = D_800DC5A8 + 1;
|
||||
D_800DC5A8 = temp_t7;
|
||||
if ((temp_t7 & 0xFFFF) >= 3) {
|
||||
D_800DC5A8 = 0;
|
||||
}
|
||||
play_sound2(SOUND_ACTION_PING);
|
||||
play_sound2(0x4900801C);
|
||||
func_800029B0();
|
||||
}
|
||||
}
|
||||
if ((temp_s0->buttonPressed & 0x1000) && (temp_v0_3 = temp_s0->button, ((temp_v0_3 & 0x10) == 0)) && !(temp_v0_3 & 0x20)) {
|
||||
if ((temp_s0->buttonPressed & START_BUTTON) && (temp_v0_3 = temp_s0->button, ((temp_v0_3 & R_TRIG) == 0)) && !(temp_v0_3 & L_TRIG)) {
|
||||
func_8028DF00();
|
||||
D_800DC5FC = ((s32) (temp_s0 - gControllerOne) >> 4) + 1;
|
||||
temp_s0->buttonPressed = 0;
|
||||
func_800C9F90(1);
|
||||
D_80162DF0 = 1;
|
||||
if (gModeSelection == TIME_TRIALS) {
|
||||
temp_a0 = gPlayerOne;
|
||||
if (temp_a0->unk_000 & 0x8100) {
|
||||
func_80005AE8(temp_a0);
|
||||
if (gModeSelection == 1) {
|
||||
if (gPlayerOne->unk_000 & 0x8100) {
|
||||
func_80005AE8(gPlayerOne);
|
||||
}
|
||||
temp_a0_2 = gPlayerTwo;
|
||||
if (temp_a0_2->unk_000 & 0x8100) {
|
||||
func_80005AE8(temp_a0_2);
|
||||
if (gPlayerTwo->unk_000 & 0x8100) {
|
||||
func_80005AE8(gPlayerTwo);
|
||||
}
|
||||
temp_a0_3 = gPlayerThree;
|
||||
if (temp_a0_3->unk_000 & 0x8100) {
|
||||
func_80005AE8(temp_a0_3);
|
||||
if (gPlayerThree->unk_000 & 0x8100) {
|
||||
func_80005AE8(gPlayerThree);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
|
@ -937,15 +907,14 @@ block_20:
|
|||
var_s3 += 0xDD8;
|
||||
if (var_s2 == 4) {
|
||||
if ((gEnableDebugMode != 0) && (gModeSelection != BATTLE)) {
|
||||
temp_a1 = gControllerOne;
|
||||
if (temp_a1->unk6 & 0x800) {
|
||||
if (gControllerOne->buttonPressed & U_JPAD) {
|
||||
gLapCountByPlayerId->unk0 = 2;
|
||||
}
|
||||
if (temp_a1->unk6 & 0x100) {
|
||||
if (gControllerOne->buttonPressed & R_JPAD) {
|
||||
gLapCountByPlayerId->unk0 = 2;
|
||||
gLapCountByPlayerId->unk4 = 2;
|
||||
}
|
||||
if (temp_a1->unk6 & 0x400) {
|
||||
if (gControllerOne->buttonPressed & D_JPAD) {
|
||||
gLapCountByPlayerId->unk0 = 2;
|
||||
gLapCountByPlayerId->unk4 = 2;
|
||||
gLapCountByPlayerId->unk8 = 2;
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ void func_8028F3E8();
|
|||
void update_race_position_data();
|
||||
void func_8028F474();
|
||||
void func_8028F4E8();
|
||||
void func_8028F588();
|
||||
void func_8028F8BC();
|
||||
void func_8028F914();
|
||||
void func_8028F970();
|
||||
|
|
|
|||
|
|
@ -64,7 +64,6 @@ void func_80290CAC(uintptr_t arg0) {
|
|||
}
|
||||
|
||||
extern u16 D_80152300[];
|
||||
s16 func_802ABD40(u16);
|
||||
|
||||
void load_surface_map(s32 arg0, struct UnkStruct_800DC5EC *arg1) {
|
||||
Player *temp_t1 = arg1->player;
|
||||
|
|
|
|||
|
|
@ -515,88 +515,92 @@ void func_802A4A0C(Vtx *arg0, struct UnkStruct_800DC5EC *arg1, s32 arg2, s32 arg
|
|||
GLOBAL_ASM("asm/non_matchings/skybox/func_802A4A0C.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
extern s32 gScreenModeSelection;
|
||||
void func_802A4D18(void) {
|
||||
f32 phi_f10;
|
||||
#ifdef NEEDS_RODATA
|
||||
//generated by m2c commit 9841ff34ca242f5f14b2eab2b54a7a65ac47d80f
|
||||
// data/data_
|
||||
// jtbl_802B9BB8
|
||||
extern f32 D_802B9BB4;// = 6800.0f;
|
||||
extern f32 D_802B9C04;// = 2700.0f;
|
||||
extern f32 D_802B9C08;// = 1500.0f;
|
||||
extern f32 D_802B9C0C;// = 5000.0f;
|
||||
extern f32 D_802B9C10;// = 4500.0f;
|
||||
extern f32 D_802B9C14;// = 7000.0f;
|
||||
extern f32 D_802B9C18;// = 6800.0f;
|
||||
extern f32 D_802B9C1C;// = 1.3333334f;
|
||||
extern f32 D_802B9C20;// = 0.6666667f;
|
||||
extern f32 D_802B9C24;// = 2.6666667f;
|
||||
extern f32 D_802B9C28;// = 1.3333334f;
|
||||
|
||||
if (gGamestate != RACING) {
|
||||
D_8015014C = 6800.0f; // D_802B9BB4
|
||||
void func_802A4D18(void) {
|
||||
f32 var_f10;
|
||||
|
||||
if (gGamestate != 4) {
|
||||
D_8015014C = 6800.0f;
|
||||
D_80150150 = 3.0f;
|
||||
} else {
|
||||
//if (gCurrentCourseId < COURSE_BIG_DONUT) {
|
||||
switch (gCurrentCourseId) {
|
||||
case 2:
|
||||
case 3:
|
||||
case 13:
|
||||
case 15:
|
||||
case 16:
|
||||
D_8015014C = 2700.0f; // D_802B9C04
|
||||
phi_f10 = 2.0f;
|
||||
goto block_11;
|
||||
case 1:
|
||||
case 17:
|
||||
D_8015014C = 1500.0f; // D_802B9C08
|
||||
D_80150150 = 2.0f;
|
||||
break;
|
||||
case 6:
|
||||
D_8015014C = 5000.0f; // D_802B9C0C
|
||||
D_80150150 = 1.0f;
|
||||
break;
|
||||
case 14:
|
||||
D_8015014C = 4800.0f;
|
||||
phi_f10 = 10.0f;
|
||||
goto block_11;
|
||||
case 0:
|
||||
case 4:
|
||||
case 5:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
case 10:
|
||||
case 12:
|
||||
case 18:
|
||||
D_8015014C = 4500.0f; // D_802B9C10
|
||||
D_80150150 = 9.0f;
|
||||
break;
|
||||
case 11:
|
||||
D_8015014C = 7000.0f; // D_802B9C14;
|
||||
D_80150150 = 10.0f;
|
||||
break;
|
||||
//} endofswitch
|
||||
//} else {
|
||||
default:
|
||||
D_8015014C = 6800.0f; // D_802B9C18
|
||||
phi_f10 = 3.0f;
|
||||
|
||||
D_80150150 = phi_f10;
|
||||
switch (gCurrentCourseId) {
|
||||
case COURSE_BOWSER_CASTLE:
|
||||
case COURSE_BANSHEE_BOARDWALK:
|
||||
case COURSE_RAINBOW_ROAD:
|
||||
case COURSE_BLOCK_FORT:
|
||||
case COURSE_SKYSCRAPER:
|
||||
D_8015014C = 2700.0f;
|
||||
D_80150150 = 2.0f;
|
||||
break;
|
||||
case COURSE_CHOCO_MOUNTAIN:
|
||||
case COURSE_DOUBLE_DECK:
|
||||
D_8015014C = 1500.0f;
|
||||
D_80150150 = 2.0f;
|
||||
break;
|
||||
case COURSE_KOOPA_BEACH:
|
||||
D_8015014C = 5000.0f;
|
||||
D_80150150 = 1.0f;
|
||||
break;
|
||||
case COURSE_WARIO_STADIUM:
|
||||
D_8015014C = 4800.0f;
|
||||
D_80150150 = 10.0f;
|
||||
break;
|
||||
case COURSE_MARIO_RACEWAY:
|
||||
case COURSE_YOSHI_VALLEY:
|
||||
case COURSE_FRAPPE_SNOWLAND:
|
||||
case COURSE_ROYAL_RACEWAY:
|
||||
case COURSE_LUIGI_RACEWAY:
|
||||
case COURSE_MOO_MOO_FARM:
|
||||
case COURSE_TOADS_TURNPIKE:
|
||||
case COURSE_SHERBET_LAND:
|
||||
case COURSE_DK_JUNGLE:
|
||||
D_8015014C = 4500.0f;
|
||||
D_80150150 = 9.0f;
|
||||
break;
|
||||
case COURSE_KALAMARI_DESERT:
|
||||
D_8015014C = 7000.0f;
|
||||
D_80150150 = 10.0f;
|
||||
break;
|
||||
default:
|
||||
D_8015014C = 6800.0f;
|
||||
D_80150150 = 3.0f;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
switch(gScreenModeSelection) {
|
||||
case SCREEN_MODE_1P:
|
||||
D_80150148 = 1.3333333730697632f; // D_802B9C1C
|
||||
break;
|
||||
case SCREEN_MODE_2P_SPLITSCREEN_HORIZONTAL:
|
||||
D_80150148 = (f32) 2.6666667461395264f; // D_802B9C24
|
||||
break;
|
||||
case SCREEN_MODE_2P_SPLITSCREEN_VERTICAL:
|
||||
D_80150148 = 0.6666666865348816f; // D_802B9C20
|
||||
break;
|
||||
case SCREEN_MODE_3P_4P_SPLITSCREEN:
|
||||
D_80150148 = 1.3333333730697632f; // D_802B9C28
|
||||
break;
|
||||
switch (gScreenModeSelection) { /* switch 1; irregular */
|
||||
case SCREEN_MODE_1P: /* switch 1 */
|
||||
D_80150148 = 1.333333f;
|
||||
return;
|
||||
case SCREEN_MODE_2P_SPLITSCREEN_VERTICAL: /* switch 1 */
|
||||
D_80150148 = 2.666666f;
|
||||
return;
|
||||
case SCREEN_MODE_2P_SPLITSCREEN_HORIZONTAL: /* switch 1 */
|
||||
D_80150148 = 0.666666f;
|
||||
return;
|
||||
case SCREEN_MODE_3P_4P_SPLITSCREEN: /* switch 1 */
|
||||
D_80150148 = 1.333333f;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/skybox/func_802A4D18.s")
|
||||
#endif
|
||||
|
||||
//extern f32 D_80150134;
|
||||
//extern f32 D_80150138;
|
||||
//extern f32 D_8015013C;
|
||||
|
||||
void func_802A4EF4(void) {
|
||||
switch(gActiveScreenMode) {
|
||||
case SCREEN_MODE_1P:
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ void select_framebuffer();
|
|||
void func_802A4300();
|
||||
void func_802A450C(Vtx*);
|
||||
void func_802A487C(Vtx*, s32, s32, s32, s32);
|
||||
void func_802A4D18();
|
||||
void func_802A4EF4();
|
||||
void func_802A5004();
|
||||
void func_802A50EC();
|
||||
|
|
@ -77,8 +78,8 @@ extern struct GfxPool *gGfxPool;
|
|||
extern f32 D_80150130[];
|
||||
extern u16 D_800DC5B4;
|
||||
extern f32 D_80150148;
|
||||
extern f32 D_80150150;
|
||||
extern f32 D_8015014C;
|
||||
extern f32 D_80150150;
|
||||
|
||||
|
||||
extern u16 D_800DC5C8;
|
||||
|
|
|
|||
Loading…
Reference in New Issue