diff --git a/Makefile b/Makefile index b090d1abb..3324e003a 100644 --- a/Makefile +++ b/Makefile @@ -201,7 +201,7 @@ INCLUDE_DIRS := include # Directories containing source files SRC_DIRS := src src/audio src/debug src/os src/os/math courses -ASM_DIRS := asm asm/audio asm/os asm/os/non_matchings $(DATA_DIR) $(DATA_DIR)/sound_data $(DATA_DIR)/karts +ASM_DIRS := asm asm/audio asm/os asm/unused asm/os/non_matchings $(DATA_DIR) $(DATA_DIR)/sound_data $(DATA_DIR)/karts # Directories containing course source and data files diff --git a/README.md b/README.md index 1c41e91ba..f4c4a15fb 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [![Build Status](https://ci.valandil.ca/buildStatus/icon?job=mk64%2Fmaster&config=m2c)](https://ci.valandil.ca/job/mk64/job/master/) [![Build Status](https://ci.valandil.ca/buildStatus/icon?job=mk64%2Fmaster&config=nonmatching)](https://ci.valandil.ca/job/mk64/job/master/) -C files left: ~12 out of 40 (not counting audio) +C files left: ~11 out of 40 (not counting audio) # Mario Kart 64 This repo contains a work-in-progress decompilation of Mario Kart 64 (U). The project pursues historical and educational elements within the game found via taking it apart and putting it back together. Inspiration to do so not only emanates from the game's hardware and technology but also its immensely positive effects on the cultures and families of nearly every nationality. See [progress](#Progress) for more information. diff --git a/asm/bss_800029B0.s b/asm/bss_800029B0.s index fc4ed5c1f..a791934fa 100644 --- a/asm/bss_800029B0.s +++ b/asm/bss_800029B0.s @@ -61,7 +61,7 @@ #glabel D_8015F572 # end of player wrapper #.skip 14 -glabel D_8015F580 +glabel gSurfaceMap .skip 4 glabel D_8015F584 @@ -88,7 +88,7 @@ glabel D_8015F5A0 glabel D_8015F5A4 .skip 196 -glabel D_8015F668 +glabel vtxBuffer .skip 128 glabel D_8015F6E8 diff --git a/asm/bss_8001C4D0.s b/asm/bss_8001C4D0.s index bee1411d3..5121d3fd9 100644 --- a/asm/bss_8001C4D0.s +++ b/asm/bss_8001C4D0.s @@ -759,7 +759,7 @@ glabel D_8018C028 glabel D_8018C030 .skip 128 -# Array of (4) UnkActorInners? +# Array of (4) Collisions? glabel D_8018C0B0 .skip 256 @@ -778,7 +778,7 @@ glabel D_8018C278 .skip 312 # end D_8018C1B0 -# Some UnkActorInner +# Some Collision glabel D_8018C3B0 .skip 64 @@ -794,7 +794,7 @@ glabel D_8018C490 .skip 352 # end D_8018C3F0 -# Maybe some unused UnkActorInner? +# Maybe some unused Collision? glabel D_8018C5F0 .skip 64 @@ -810,7 +810,7 @@ glabel D_8018C6B0 .skip 384 # end D_8018C630 -# Some UnkActorInner +# Some Collision glabel D_8018C830 .skip 64 diff --git a/asm/non_matchings/code_80027D00/func_80029B4C.s b/asm/non_matchings/code_80027D00/func_80029B4C.s index 37505ffd6..786fccbed 100644 --- a/asm/non_matchings/code_80027D00/func_80029B4C.s +++ b/asm/non_matchings/code_80027D00/func_80029B4C.s @@ -116,7 +116,7 @@ glabel func_80029B4C /* 02A8CC 80029CCC C7B00088 */ lwc1 $f16, 0x88($sp) /* 02A8D0 80029CD0 8FA70084 */ lw $a3, 0x84($sp) /* 02A8D4 80029CD4 8FA60080 */ lw $a2, 0x80($sp) -/* 02A8D8 80029CD8 0C0ABE8D */ jal func_802AFA34 +/* 02A8D8 80029CD8 0C0ABE8D */ jal process_collision /* 02A8DC 80029CDC E7B00010 */ swc1 $f16, 0x10($sp) /* 02A8E0 80029CE0 C7AC0048 */ lwc1 $f12, 0x48($sp) /* 02A8E4 80029CE4 3C01800F */ lui $at, %hi(D_800ED7A0) @@ -159,7 +159,7 @@ glabel func_80029B4C /* 02A978 80029D78 C7B20088 */ lwc1 $f18, 0x88($sp) /* 02A97C 80029D7C 8FA70084 */ lw $a3, 0x84($sp) /* 02A980 80029D80 8FA60080 */ lw $a2, 0x80($sp) -/* 02A984 80029D84 0C0ABE8D */ jal func_802AFA34 +/* 02A984 80029D84 0C0ABE8D */ jal process_collision /* 02A988 80029D88 E7B20010 */ swc1 $f18, 0x10($sp) /* 02A98C 80029D8C 3C01800F */ lui $at, %hi(D_800ED7A8) /* 02A990 80029D90 D7A00038 */ ldc1 $f0, 0x38($sp) @@ -202,7 +202,7 @@ glabel func_80029B4C /* 02AA24 80029E24 C7AA0088 */ lwc1 $f10, 0x88($sp) /* 02AA28 80029E28 8FA70084 */ lw $a3, 0x84($sp) /* 02AA2C 80029E2C 8FA60080 */ lw $a2, 0x80($sp) -/* 02AA30 80029E30 0C0ABE8D */ jal func_802AFA34 +/* 02AA30 80029E30 0C0ABE8D */ jal process_collision /* 02AA34 80029E34 E7AA0010 */ swc1 $f10, 0x10($sp) /* 02AA38 80029E38 3C01800F */ lui $at, %hi(D_800ED7B0) /* 02AA3C 80029E3C D7A20028 */ ldc1 $f2, 0x28($sp) @@ -241,7 +241,7 @@ glabel func_80029B4C /* 02AAC0 80029EC0 C7A60088 */ lwc1 $f6, 0x88($sp) /* 02AAC4 80029EC4 8FA70084 */ lw $a3, 0x84($sp) /* 02AAC8 80029EC8 8FA60080 */ lw $a2, 0x80($sp) -/* 02AACC 80029ECC 0C0ABE8D */ jal func_802AFA34 +/* 02AACC 80029ECC 0C0ABE8D */ jal process_collision /* 02AAD0 80029ED0 E7A60010 */ swc1 $f6, 0x10($sp) /* 02AAD4 80029ED4 8E0D00BC */ lw $t5, 0xbc($s0) /* 02AAD8 80029ED8 31AE0008 */ andi $t6, $t5, 8 @@ -388,7 +388,7 @@ glabel func_80029B4C /* 02ACF0 8002A0F0 00000000 */ nop /* 02ACF4 8002A0F4 A60C00C4 */ sh $t4, 0xc4($s0) .L8002A0F8: -/* 02ACF8 8002A0F8 0C0AAF44 */ jal func_802ABD10 +/* 02ACF8 8002A0F8 0C0AAF44 */ jal get_surface_type /* 02ACFC 8002A0FC 9604011A */ lhu $a0, 0x11a($s0) /* 02AD00 8002A100 304D00FF */ andi $t5, $v0, 0xff /* 02AD04 8002A104 31A3FFFF */ andi $v1, $t5, 0xffff diff --git a/asm/non_matchings/code_802AAA70/func_802AAE4C.s b/asm/non_matchings/code_802AAA70/func_802AAE4C.s deleted file mode 100644 index 0bad6dc41..000000000 --- a/asm/non_matchings/code_802AAA70/func_802AAE4C.s +++ /dev/null @@ -1,293 +0,0 @@ -.section .late_rodata - -glabel D_802B9E48 -.float -0.9 - -.section .text - -glabel func_802AAE4C -/* 11445C 802AAE4C 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 114460 802AAE50 AFA5007C */ sw $a1, 0x7c($sp) -/* 114464 802AAE54 97A5008E */ lhu $a1, 0x8e($sp) -/* 114468 802AAE58 3C0A8016 */ lui $t2, %hi(D_8015F580) # $t2, 0x8016 -/* 11446C 802AAE5C 8D4AF580 */ lw $t2, %lo(D_8015F580)($t2) -/* 114470 802AAE60 00054880 */ sll $t1, $a1, 2 -/* 114474 802AAE64 01254823 */ subu $t1, $t1, $a1 -/* 114478 802AAE68 00094880 */ sll $t1, $t1, 2 -/* 11447C 802AAE6C 01254823 */ subu $t1, $t1, $a1 -/* 114480 802AAE70 00094880 */ sll $t1, $t1, 2 -/* 114484 802AAE74 AFB00004 */ sw $s0, 4($sp) -/* 114488 802AAE78 AFA70084 */ sw $a3, 0x84($sp) -/* 11448C 802AAE7C 3C01802C */ lui $at, %hi(D_802B9E48) # 0x802C0000 # -0.000000 -/* 114490 802AAE80 012A1821 */ addu $v1, $t1, $t2 -/* 114494 802AAE84 C4600020 */ lwc1 $f0, 0x20($v1) -/* 114498 802AAE88 C4289E48 */ lwc1 $f8, %lo(D_802B9E48)($at) -/* 11449C 802AAE8C 44866000 */ mtc1 $a2, $f12 -/* 1144A0 802AAE90 00808025 */ move $s0, $a0 -/* 1144A4 802AAE94 4608003C */ c.lt.s $f0, $f8 -/* 1144A8 802AAE98 24020001 */ li $v0, 1 -/* 1144AC 802AAE9C 45020004 */ bc1fl .L802AAEB0 -/* 1144B0 802AAEA0 846B0004 */ lh $t3, 4($v1) -/* 1144B4 802AAEA4 100000F5 */ b .L802AB27C -/* 1144B8 802AAEA8 00001025 */ move $v0, $zero -/* 1144BC 802AAEAC 846B0004 */ lh $t3, 4($v1) -.L802AAEB0: -/* 1144C0 802AAEB0 448B5000 */ mtc1 $t3, $f10 -/* 1144C4 802AAEB4 00000000 */ nop -/* 1144C8 802AAEB8 46805120 */ cvt.s.w $f4, $f10 -/* 1144CC 802AAEBC 4604603C */ c.lt.s $f12, $f4 -/* 1144D0 802AAEC0 00000000 */ nop -/* 1144D4 802AAEC4 45020004 */ bc1fl .L802AAED8 -/* 1144D8 802AAEC8 846C0008 */ lh $t4, 8($v1) -/* 1144DC 802AAECC 100000EB */ b .L802AB27C -/* 1144E0 802AAED0 00001025 */ move $v0, $zero -/* 1144E4 802AAED4 846C0008 */ lh $t4, 8($v1) -.L802AAED8: -/* 1144E8 802AAED8 C7A20088 */ lwc1 $f2, 0x88($sp) -/* 1144EC 802AAEDC 448C3000 */ mtc1 $t4, $f6 -/* 1144F0 802AAEE0 00000000 */ nop -/* 1144F4 802AAEE4 46803220 */ cvt.s.w $f8, $f6 -/* 1144F8 802AAEE8 4608103C */ c.lt.s $f2, $f8 -/* 1144FC 802AAEEC 00000000 */ nop -/* 114500 802AAEF0 45020004 */ bc1fl .L802AAF04 -/* 114504 802AAEF4 846D000A */ lh $t5, 0xa($v1) -/* 114508 802AAEF8 100000E0 */ b .L802AB27C -/* 11450C 802AAEFC 00001025 */ move $v0, $zero -/* 114510 802AAF00 846D000A */ lh $t5, 0xa($v1) -.L802AAF04: -/* 114514 802AAF04 448D5000 */ mtc1 $t5, $f10 -/* 114518 802AAF08 00000000 */ nop -/* 11451C 802AAF0C 46805120 */ cvt.s.w $f4, $f10 -/* 114520 802AAF10 460C203C */ c.lt.s $f4, $f12 -/* 114524 802AAF14 00000000 */ nop -/* 114528 802AAF18 45020004 */ bc1fl .L802AAF2C -/* 11452C 802AAF1C 846E000E */ lh $t6, 0xe($v1) -/* 114530 802AAF20 100000D6 */ b .L802AB27C -/* 114534 802AAF24 00001025 */ move $v0, $zero -/* 114538 802AAF28 846E000E */ lh $t6, 0xe($v1) -.L802AAF2C: -/* 11453C 802AAF2C 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 114540 802AAF30 448E3000 */ mtc1 $t6, $f6 -/* 114544 802AAF34 00000000 */ nop -/* 114548 802AAF38 46803220 */ cvt.s.w $f8, $f6 -/* 11454C 802AAF3C 4602403C */ c.lt.s $f8, $f2 -/* 114550 802AAF40 00000000 */ nop -/* 114554 802AAF44 45020004 */ bc1fl .L802AAF58 -/* 114558 802AAF48 C7A4007C */ lwc1 $f4, 0x7c($sp) -/* 11455C 802AAF4C 100000CB */ b .L802AB27C -/* 114560 802AAF50 00001025 */ move $v0, $zero -/* 114564 802AAF54 C7A4007C */ lwc1 $f4, 0x7c($sp) -.L802AAF58: -/* 114568 802AAF58 44813000 */ mtc1 $at, $f6 -/* 11456C 802AAF5C E7A0002C */ swc1 $f0, 0x2c($sp) -/* 114570 802AAF60 E7AC0080 */ swc1 $f12, 0x80($sp) -/* 114574 802AAF64 846F0006 */ lh $t7, 6($v1) -/* 114578 802AAF68 46062202 */ mul.s $f8, $f4, $f6 -/* 11457C 802AAF6C C7AA0084 */ lwc1 $f10, 0x84($sp) -/* 114580 802AAF70 448F2000 */ mtc1 $t7, $f4 -/* 114584 802AAF74 00000000 */ nop -/* 114588 802AAF78 468021A0 */ cvt.s.w $f6, $f4 -/* 11458C 802AAF7C 46083101 */ sub.s $f4, $f6, $f8 -/* 114590 802AAF80 4604503C */ c.lt.s $f10, $f4 -/* 114594 802AAF84 00000000 */ nop -/* 114598 802AAF88 45020004 */ bc1fl .L802AAF9C -/* 11459C 802AAF8C 8C640010 */ lw $a0, 0x10($v1) -/* 1145A0 802AAF90 100000BA */ b .L802AB27C -/* 1145A4 802AAF94 00001025 */ move $v0, $zero -/* 1145A8 802AAF98 8C640010 */ lw $a0, 0x10($v1) -.L802AAF9C: -/* 1145AC 802AAF9C 8C670018 */ lw $a3, 0x18($v1) -/* 1145B0 802AAFA0 8C660014 */ lw $a2, 0x14($v1) -/* 1145B4 802AAFA4 84980000 */ lh $t8, ($a0) -/* 1145B8 802AAFA8 84990004 */ lh $t9, 4($a0) -/* 1145BC 802AAFAC 84EA0000 */ lh $t2, ($a3) -/* 1145C0 802AAFB0 44983000 */ mtc1 $t8, $f6 -/* 1145C4 802AAFB4 44994000 */ mtc1 $t9, $f8 -/* 1145C8 802AAFB8 84C80000 */ lh $t0, ($a2) -/* 1145CC 802AAFBC 46803320 */ cvt.s.w $f12, $f6 -/* 1145D0 802AAFC0 448A3000 */ mtc1 $t2, $f6 -/* 1145D4 802AAFC4 84C90004 */ lh $t1, 4($a2) -/* 1145D8 802AAFC8 44885000 */ mtc1 $t0, $f10 -/* 1145DC 802AAFCC 468043A0 */ cvt.s.w $f14, $f8 -/* 1145E0 802AAFD0 44892000 */ mtc1 $t1, $f4 -/* 1145E4 802AAFD4 46803220 */ cvt.s.w $f8, $f6 -/* 1145E8 802AAFD8 C7A60088 */ lwc1 $f6, 0x88($sp) -/* 1145EC 802AAFDC 46805420 */ cvt.s.w $f16, $f10 -/* 1145F0 802AAFE0 E7A8006C */ swc1 $f8, 0x6c($sp) -/* 1145F4 802AAFE4 84EB0004 */ lh $t3, 4($a3) -/* 1145F8 802AAFE8 E7A60008 */ swc1 $f6, 8($sp) -/* 1145FC 802AAFEC 448B5000 */ mtc1 $t3, $f10 -/* 114600 802AAFF0 468024A0 */ cvt.s.w $f18, $f4 -/* 114604 802AAFF4 46805120 */ cvt.s.w $f4, $f10 -/* 114608 802AAFF8 C7AA0080 */ lwc1 $f10, 0x80($sp) -/* 11460C 802AAFFC E7AA0010 */ swc1 $f10, 0x10($sp) -/* 114610 802AB000 46067201 */ sub.s $f8, $f14, $f6 -/* 114614 802AB004 E7A40064 */ swc1 $f4, 0x64($sp) -/* 114618 802AB008 460A8101 */ sub.s $f4, $f16, $f10 -/* 11461C 802AB00C E7A80028 */ swc1 $f8, 0x28($sp) -/* 114620 802AB010 C7A80028 */ lwc1 $f8, 0x28($sp) -/* 114624 802AB014 460A6181 */ sub.s $f6, $f12, $f10 -/* 114628 802AB018 E7A40024 */ swc1 $f4, 0x24($sp) -/* 11462C 802AB01C C7A40024 */ lwc1 $f4, 0x24($sp) -/* 114630 802AB020 E7A60020 */ swc1 $f6, 0x20($sp) -/* 114634 802AB024 C7A60008 */ lwc1 $f6, 8($sp) -/* 114638 802AB028 46044002 */ mul.s $f0, $f8, $f4 -/* 11463C 802AB02C E7A80008 */ swc1 $f8, 8($sp) -/* 114640 802AB030 46069201 */ sub.s $f8, $f18, $f6 -/* 114644 802AB034 E7A4000C */ swc1 $f4, 0xc($sp) -/* 114648 802AB038 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 11464C 802AB03C C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 114650 802AB040 C7A80020 */ lwc1 $f8, 0x20($sp) -/* 114654 802AB044 46044082 */ mul.s $f2, $f8, $f4 -/* 114658 802AB048 46020281 */ sub.s $f10, $f0, $f2 -/* 11465C 802AB04C 46001032 */ c.eq.s $f2, $f0 -/* 114660 802AB050 E7AA0018 */ swc1 $f10, 0x18($sp) -/* 114664 802AB054 C7AA0018 */ lwc1 $f10, 0x18($sp) -/* 114668 802AB058 45000018 */ bc1f .L802AB0BC -/* 11466C 802AB05C E7AA003C */ swc1 $f10, 0x3c($sp) -/* 114670 802AB060 E7A60014 */ swc1 $f6, 0x14($sp) -/* 114674 802AB064 C7A60010 */ lwc1 $f6, 0x10($sp) -/* 114678 802AB068 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 11467C 802AB06C 44809000 */ mtc1 $zero, $f18 -/* 114680 802AB070 46065001 */ sub.s $f0, $f10, $f6 -/* 114684 802AB074 C7A60014 */ lwc1 $f6, 0x14($sp) -/* 114688 802AB078 C7AA0064 */ lwc1 $f10, 0x64($sp) -/* 11468C 802AB07C 46065081 */ sub.s $f2, $f10, $f6 -/* 114690 802AB080 46002282 */ mul.s $f10, $f4, $f0 -/* 114694 802AB084 C7A6000C */ lwc1 $f6, 0xc($sp) -/* 114698 802AB088 46023102 */ mul.s $f4, $f6, $f2 -/* 11469C 802AB08C 46045181 */ sub.s $f6, $f10, $f4 -/* 1146A0 802AB090 46081282 */ mul.s $f10, $f2, $f8 -/* 1146A4 802AB094 C7A40008 */ lwc1 $f4, 8($sp) -/* 1146A8 802AB098 46040202 */ mul.s $f8, $f0, $f4 -/* 1146AC 802AB09C 46085101 */ sub.s $f4, $f10, $f8 -/* 1146B0 802AB0A0 46043282 */ mul.s $f10, $f6, $f4 -/* 1146B4 802AB0A4 4612503C */ c.lt.s $f10, $f18 -/* 1146B8 802AB0A8 00000000 */ nop -/* 1146BC 802AB0AC 45000039 */ bc1f .L802AB194 -/* 1146C0 802AB0B0 00000000 */ nop -/* 1146C4 802AB0B4 10000037 */ b .L802AB194 -/* 1146C8 802AB0B8 00001025 */ move $v0, $zero -.L802AB0BC: -/* 1146CC 802AB0BC C7A80064 */ lwc1 $f8, 0x64($sp) -/* 1146D0 802AB0C0 C7A60088 */ lwc1 $f6, 0x88($sp) -/* 1146D4 802AB0C4 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 1146D8 802AB0C8 C7A40024 */ lwc1 $f4, 0x24($sp) -/* 1146DC 802AB0CC 46064081 */ sub.s $f2, $f8, $f6 -/* 1146E0 802AB0D0 C7A80080 */ lwc1 $f8, 0x80($sp) -/* 1146E4 802AB0D4 C7A6001C */ lwc1 $f6, 0x1c($sp) -/* 1146E8 802AB0D8 46085001 */ sub.s $f0, $f10, $f8 -/* 1146EC 802AB0DC 46022382 */ mul.s $f14, $f4, $f2 -/* 1146F0 802AB0E0 C7A40020 */ lwc1 $f4, 0x20($sp) -/* 1146F4 802AB0E4 C7A80028 */ lwc1 $f8, 0x28($sp) -/* 1146F8 802AB0E8 46003302 */ mul.s $f12, $f6, $f0 -/* 1146FC 802AB0EC 460C7032 */ c.eq.s $f14, $f12 -/* 114700 802AB0F0 00000000 */ nop -/* 114704 802AB0F4 4502000E */ bc1fl .L802AB130 -/* 114708 802AB0F8 460E6401 */ sub.s $f16, $f12, $f14 -/* 11470C 802AB0FC 46041282 */ mul.s $f10, $f2, $f4 -/* 114710 802AB100 44809000 */ mtc1 $zero, $f18 -/* 114714 802AB104 46080182 */ mul.s $f6, $f0, $f8 -/* 114718 802AB108 C7A8003C */ lwc1 $f8, 0x3c($sp) -/* 11471C 802AB10C 46065101 */ sub.s $f4, $f10, $f6 -/* 114720 802AB110 46044282 */ mul.s $f10, $f8, $f4 -/* 114724 802AB114 4612503C */ c.lt.s $f10, $f18 -/* 114728 802AB118 00000000 */ nop -/* 11472C 802AB11C 4500001D */ bc1f .L802AB194 -/* 114730 802AB120 00000000 */ nop -/* 114734 802AB124 1000001B */ b .L802AB194 -/* 114738 802AB128 00001025 */ move $v0, $zero -/* 11473C 802AB12C 460E6401 */ sub.s $f16, $f12, $f14 -.L802AB130: -/* 114740 802AB130 C7A60018 */ lwc1 $f6, 0x18($sp) -/* 114744 802AB134 44809000 */ mtc1 $zero, $f18 -/* 114748 802AB138 C7A40028 */ lwc1 $f4, 0x28($sp) -/* 11474C 802AB13C 46103202 */ mul.s $f8, $f6, $f16 -/* 114750 802AB140 C7AA0020 */ lwc1 $f10, 0x20($sp) -/* 114754 802AB144 4612403C */ c.lt.s $f8, $f18 -/* 114758 802AB148 00000000 */ nop -/* 11475C 802AB14C 45000003 */ bc1f .L802AB15C -/* 114760 802AB150 00000000 */ nop -/* 114764 802AB154 1000000F */ b .L802AB194 -/* 114768 802AB158 00001025 */ move $v0, $zero -.L802AB15C: -/* 11476C 802AB15C 46040382 */ mul.s $f14, $f0, $f4 -/* 114770 802AB160 00000000 */ nop -/* 114774 802AB164 460A1302 */ mul.s $f12, $f2, $f10 -/* 114778 802AB168 460C7032 */ c.eq.s $f14, $f12 -/* 11477C 802AB16C 00000000 */ nop -/* 114780 802AB170 45010008 */ bc1t .L802AB194 -/* 114784 802AB174 00000000 */ nop -/* 114788 802AB178 460E6181 */ sub.s $f6, $f12, $f14 -/* 11478C 802AB17C 46068202 */ mul.s $f8, $f16, $f6 -/* 114790 802AB180 4612403C */ c.lt.s $f8, $f18 -/* 114794 802AB184 00000000 */ nop -/* 114798 802AB188 45000002 */ bc1f .L802AB194 -/* 11479C 802AB18C 00000000 */ nop -/* 1147A0 802AB190 00001025 */ move $v0, $zero -.L802AB194: -/* 1147A4 802AB194 14400003 */ bnez $v0, .L802AB1A4 -/* 1147A8 802AB198 C7AA0080 */ lwc1 $f10, 0x80($sp) -/* 1147AC 802AB19C 10000037 */ b .L802AB27C -/* 1147B0 802AB1A0 00001025 */ move $v0, $zero -.L802AB1A4: -/* 1147B4 802AB1A4 C464001C */ lwc1 $f4, 0x1c($v1) -/* 1147B8 802AB1A8 C7A8002C */ lwc1 $f8, 0x2c($sp) -/* 1147BC 802AB1AC 3C01C180 */ li $at, 0xC1800000 # -16.000000 -/* 1147C0 802AB1B0 460A2182 */ mul.s $f6, $f4, $f10 -/* 1147C4 802AB1B4 C7A40084 */ lwc1 $f4, 0x84($sp) -/* 1147C8 802AB1B8 46044282 */ mul.s $f10, $f8, $f4 -/* 1147CC 802AB1BC C4640024 */ lwc1 $f4, 0x24($v1) -/* 1147D0 802AB1C0 460A3200 */ add.s $f8, $f6, $f10 -/* 1147D4 802AB1C4 C7A60088 */ lwc1 $f6, 0x88($sp) -/* 1147D8 802AB1C8 46062282 */ mul.s $f10, $f4, $f6 -/* 1147DC 802AB1CC C4660028 */ lwc1 $f6, 0x28($v1) -/* 1147E0 802AB1D0 460A4100 */ add.s $f4, $f8, $f10 -/* 1147E4 802AB1D4 C7AA007C */ lwc1 $f10, 0x7c($sp) -/* 1147E8 802AB1D8 46062200 */ add.s $f8, $f4, $f6 -/* 1147EC 802AB1DC 460A4001 */ sub.s $f0, $f8, $f10 -/* 1147F0 802AB1E0 4600903C */ c.lt.s $f18, $f0 -/* 1147F4 802AB1E4 00000000 */ nop -/* 1147F8 802AB1E8 45020013 */ bc1fl .L802AB238 -/* 1147FC 802AB1EC 44812000 */ mtc1 $at, $f4 -/* 114800 802AB1F0 C6040014 */ lwc1 $f4, 0x14($s0) -/* 114804 802AB1F4 240C0001 */ li $t4, 1 -/* 114808 802AB1F8 4604003C */ c.lt.s $f0, $f4 -/* 11480C 802AB1FC 00000000 */ nop -/* 114810 802AB200 4500000A */ bc1f .L802AB22C -/* 114814 802AB204 00000000 */ nop -/* 114818 802AB208 A60C0004 */ sh $t4, 4($s0) -/* 11481C 802AB20C A605000A */ sh $a1, 0xa($s0) -/* 114820 802AB210 E6000014 */ swc1 $f0, 0x14($s0) -/* 114824 802AB214 C466001C */ lwc1 $f6, 0x1c($v1) -/* 114828 802AB218 E6060030 */ swc1 $f6, 0x30($s0) -/* 11482C 802AB21C C4680020 */ lwc1 $f8, 0x20($v1) -/* 114830 802AB220 E6080034 */ swc1 $f8, 0x34($s0) -/* 114834 802AB224 C46A0024 */ lwc1 $f10, 0x24($v1) -/* 114838 802AB228 E60A0038 */ swc1 $f10, 0x38($s0) -.L802AB22C: -/* 11483C 802AB22C 10000013 */ b .L802AB27C -/* 114840 802AB230 00001025 */ move $v0, $zero -/* 114844 802AB234 44812000 */ mtc1 $at, $f4 -.L802AB238: -/* 114848 802AB238 240D0001 */ li $t5, 1 -/* 11484C 802AB23C 00001025 */ move $v0, $zero -/* 114850 802AB240 4600203C */ c.lt.s $f4, $f0 -/* 114854 802AB244 00000000 */ nop -/* 114858 802AB248 4500000C */ bc1f .L802AB27C -/* 11485C 802AB24C 00000000 */ nop -/* 114860 802AB250 A60D0004 */ sh $t5, 4($s0) -/* 114864 802AB254 A605000A */ sh $a1, 0xa($s0) -/* 114868 802AB258 E6000014 */ swc1 $f0, 0x14($s0) -/* 11486C 802AB25C C466001C */ lwc1 $f6, 0x1c($v1) -/* 114870 802AB260 24020001 */ li $v0, 1 -/* 114874 802AB264 E6060030 */ swc1 $f6, 0x30($s0) -/* 114878 802AB268 C4680020 */ lwc1 $f8, 0x20($v1) -/* 11487C 802AB26C E6080034 */ swc1 $f8, 0x34($s0) -/* 114880 802AB270 C46A0024 */ lwc1 $f10, 0x24($v1) -/* 114884 802AB274 10000001 */ b .L802AB27C -/* 114888 802AB278 E60A0038 */ swc1 $f10, 0x38($s0) -.L802AB27C: -/* 11488C 802AB27C 8FB00004 */ lw $s0, 4($sp) -/* 114890 802AB280 03E00008 */ jr $ra -/* 114894 802AB284 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/non_matchings/code_802AAA70/func_802AB288.s b/asm/non_matchings/code_802AAA70/func_802AB288.s deleted file mode 100644 index 5bdaf4711..000000000 --- a/asm/non_matchings/code_802AAA70/func_802AB288.s +++ /dev/null @@ -1,286 +0,0 @@ -glabel func_802AB288 -/* 114898 802AB288 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 11489C 802AB28C AFA50094 */ sw $a1, 0x94($sp) -/* 1148A0 802AB290 97A500A6 */ lhu $a1, 0xa6($sp) -/* 1148A4 802AB294 3C0B8016 */ lui $t3, %hi(D_8015F580) # $t3, 0x8016 -/* 1148A8 802AB298 8D6BF580 */ lw $t3, %lo(D_8015F580)($t3) -/* 1148AC 802AB29C 00055080 */ sll $t2, $a1, 2 -/* 1148B0 802AB2A0 01455023 */ subu $t2, $t2, $a1 -/* 1148B4 802AB2A4 000A5080 */ sll $t2, $t2, 2 -/* 1148B8 802AB2A8 01455023 */ subu $t2, $t2, $a1 -/* 1148BC 802AB2AC 000A5080 */ sll $t2, $t2, 2 -/* 1148C0 802AB2B0 AFB00004 */ sw $s0, 4($sp) -/* 1148C4 802AB2B4 014B1821 */ addu $v1, $t2, $t3 -/* 1148C8 802AB2B8 846C0004 */ lh $t4, 4($v1) -/* 1148CC 802AB2BC 44866000 */ mtc1 $a2, $f12 -/* 1148D0 802AB2C0 44877000 */ mtc1 $a3, $f14 -/* 1148D4 802AB2C4 448C5000 */ mtc1 $t4, $f10 -/* 1148D8 802AB2C8 00808025 */ move $s0, $a0 -/* 1148DC 802AB2CC 24020001 */ li $v0, 1 -/* 1148E0 802AB2D0 46805120 */ cvt.s.w $f4, $f10 -/* 1148E4 802AB2D4 4604603C */ c.lt.s $f12, $f4 -/* 1148E8 802AB2D8 00000000 */ nop -/* 1148EC 802AB2DC 45020004 */ bc1fl .L802AB2F0 -/* 1148F0 802AB2E0 846D000A */ lh $t5, 0xa($v1) -/* 1148F4 802AB2E4 100000F4 */ b .L802AB6B8 -/* 1148F8 802AB2E8 00001025 */ move $v0, $zero -/* 1148FC 802AB2EC 846D000A */ lh $t5, 0xa($v1) -.L802AB2F0: -/* 114900 802AB2F0 448D3000 */ mtc1 $t5, $f6 -/* 114904 802AB2F4 00000000 */ nop -/* 114908 802AB2F8 46803220 */ cvt.s.w $f8, $f6 -/* 11490C 802AB2FC 460C403C */ c.lt.s $f8, $f12 -/* 114910 802AB300 00000000 */ nop -/* 114914 802AB304 45020004 */ bc1fl .L802AB318 -/* 114918 802AB308 846E000C */ lh $t6, 0xc($v1) -/* 11491C 802AB30C 100000EA */ b .L802AB6B8 -/* 114920 802AB310 00001025 */ move $v0, $zero -/* 114924 802AB314 846E000C */ lh $t6, 0xc($v1) -.L802AB318: -/* 114928 802AB318 448E5000 */ mtc1 $t6, $f10 -/* 11492C 802AB31C 00000000 */ nop -/* 114930 802AB320 46805120 */ cvt.s.w $f4, $f10 -/* 114934 802AB324 460E203C */ c.lt.s $f4, $f14 -/* 114938 802AB328 00000000 */ nop -/* 11493C 802AB32C 45020004 */ bc1fl .L802AB340 -/* 114940 802AB330 846F0006 */ lh $t7, 6($v1) -/* 114944 802AB334 100000E0 */ b .L802AB6B8 -/* 114948 802AB338 00001025 */ move $v0, $zero -/* 11494C 802AB33C 846F0006 */ lh $t7, 6($v1) -.L802AB340: -/* 114950 802AB340 C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 114954 802AB344 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 114958 802AB348 448F3000 */ mtc1 $t7, $f6 -/* 11495C 802AB34C 00000000 */ nop -/* 114960 802AB350 46803220 */ cvt.s.w $f8, $f6 -/* 114964 802AB354 4608703C */ c.lt.s $f14, $f8 -/* 114968 802AB358 00000000 */ nop -/* 11496C 802AB35C 45020004 */ bc1fl .L802AB370 -/* 114970 802AB360 84780008 */ lh $t8, 8($v1) -/* 114974 802AB364 100000D4 */ b .L802AB6B8 -/* 114978 802AB368 00001025 */ move $v0, $zero -/* 11497C 802AB36C 84780008 */ lh $t8, 8($v1) -.L802AB370: -/* 114980 802AB370 44812000 */ mtc1 $at, $f4 -/* 114984 802AB374 C7A000A0 */ lwc1 $f0, 0xa0($sp) -/* 114988 802AB378 44983000 */ mtc1 $t8, $f6 -/* 11498C 802AB37C 46045082 */ mul.s $f2, $f10, $f4 -/* 114990 802AB380 46803220 */ cvt.s.w $f8, $f6 -/* 114994 802AB384 46024281 */ sub.s $f10, $f8, $f2 -/* 114998 802AB388 460A003C */ c.lt.s $f0, $f10 -/* 11499C 802AB38C 00000000 */ nop -/* 1149A0 802AB390 45020004 */ bc1fl .L802AB3A4 -/* 1149A4 802AB394 E7AC0098 */ swc1 $f12, 0x98($sp) -/* 1149A8 802AB398 100000C7 */ b .L802AB6B8 -/* 1149AC 802AB39C 00001025 */ move $v0, $zero -/* 1149B0 802AB3A0 E7AC0098 */ swc1 $f12, 0x98($sp) -.L802AB3A4: -/* 1149B4 802AB3A4 E7AE009C */ swc1 $f14, 0x9c($sp) -/* 1149B8 802AB3A8 8479000E */ lh $t9, 0xe($v1) -/* 1149BC 802AB3AC 44992000 */ mtc1 $t9, $f4 -/* 1149C0 802AB3B0 00000000 */ nop -/* 1149C4 802AB3B4 468021A0 */ cvt.s.w $f6, $f4 -/* 1149C8 802AB3B8 46023200 */ add.s $f8, $f6, $f2 -/* 1149CC 802AB3BC 4600403C */ c.lt.s $f8, $f0 -/* 1149D0 802AB3C0 00000000 */ nop -/* 1149D4 802AB3C4 45020004 */ bc1fl .L802AB3D8 -/* 1149D8 802AB3C8 8C640010 */ lw $a0, 0x10($v1) -/* 1149DC 802AB3CC 100000BA */ b .L802AB6B8 -/* 1149E0 802AB3D0 00001025 */ move $v0, $zero -/* 1149E4 802AB3D4 8C640010 */ lw $a0, 0x10($v1) -.L802AB3D8: -/* 1149E8 802AB3D8 8C670018 */ lw $a3, 0x18($v1) -/* 1149EC 802AB3DC 8C660014 */ lw $a2, 0x14($v1) -/* 1149F0 802AB3E0 84880000 */ lh $t0, ($a0) -/* 1149F4 802AB3E4 84890002 */ lh $t1, 2($a0) -/* 1149F8 802AB3E8 84EC0000 */ lh $t4, ($a3) -/* 1149FC 802AB3EC 44885000 */ mtc1 $t0, $f10 -/* 114A00 802AB3F0 44892000 */ mtc1 $t1, $f4 -/* 114A04 802AB3F4 84CA0000 */ lh $t2, ($a2) -/* 114A08 802AB3F8 46805320 */ cvt.s.w $f12, $f10 -/* 114A0C 802AB3FC 448C5000 */ mtc1 $t4, $f10 -/* 114A10 802AB400 84CB0002 */ lh $t3, 2($a2) -/* 114A14 802AB404 448A3000 */ mtc1 $t2, $f6 -/* 114A18 802AB408 468023A0 */ cvt.s.w $f14, $f4 -/* 114A1C 802AB40C 448B4000 */ mtc1 $t3, $f8 -/* 114A20 802AB410 46805120 */ cvt.s.w $f4, $f10 -/* 114A24 802AB414 C7AA009C */ lwc1 $f10, 0x9c($sp) -/* 114A28 802AB418 46803420 */ cvt.s.w $f16, $f6 -/* 114A2C 802AB41C E7A40070 */ swc1 $f4, 0x70($sp) -/* 114A30 802AB420 84ED0002 */ lh $t5, 2($a3) -/* 114A34 802AB424 E7AA0008 */ swc1 $f10, 8($sp) -/* 114A38 802AB428 448D3000 */ mtc1 $t5, $f6 -/* 114A3C 802AB42C 468044A0 */ cvt.s.w $f18, $f8 -/* 114A40 802AB430 46803220 */ cvt.s.w $f8, $f6 -/* 114A44 802AB434 C7A60098 */ lwc1 $f6, 0x98($sp) -/* 114A48 802AB438 E7A60010 */ swc1 $f6, 0x10($sp) -/* 114A4C 802AB43C 460A7101 */ sub.s $f4, $f14, $f10 -/* 114A50 802AB440 E7A8006C */ swc1 $f8, 0x6c($sp) -/* 114A54 802AB444 46068201 */ sub.s $f8, $f16, $f6 -/* 114A58 802AB448 E7A4002C */ swc1 $f4, 0x2c($sp) -/* 114A5C 802AB44C C7A4002C */ lwc1 $f4, 0x2c($sp) -/* 114A60 802AB450 46066281 */ sub.s $f10, $f12, $f6 -/* 114A64 802AB454 E7A80028 */ swc1 $f8, 0x28($sp) -/* 114A68 802AB458 C7A80028 */ lwc1 $f8, 0x28($sp) -/* 114A6C 802AB45C E7AA0024 */ swc1 $f10, 0x24($sp) -/* 114A70 802AB460 C7AA0008 */ lwc1 $f10, 8($sp) -/* 114A74 802AB464 46082002 */ mul.s $f0, $f4, $f8 -/* 114A78 802AB468 E7A40008 */ swc1 $f4, 8($sp) -/* 114A7C 802AB46C 460A9101 */ sub.s $f4, $f18, $f10 -/* 114A80 802AB470 E7A8000C */ swc1 $f8, 0xc($sp) -/* 114A84 802AB474 E7A40020 */ swc1 $f4, 0x20($sp) -/* 114A88 802AB478 C7A80020 */ lwc1 $f8, 0x20($sp) -/* 114A8C 802AB47C C7A40024 */ lwc1 $f4, 0x24($sp) -/* 114A90 802AB480 46082082 */ mul.s $f2, $f4, $f8 -/* 114A94 802AB484 46020181 */ sub.s $f6, $f0, $f2 -/* 114A98 802AB488 46001032 */ c.eq.s $f2, $f0 -/* 114A9C 802AB48C E7A6001C */ swc1 $f6, 0x1c($sp) -/* 114AA0 802AB490 C7A6001C */ lwc1 $f6, 0x1c($sp) -/* 114AA4 802AB494 45000018 */ bc1f .L802AB4F8 -/* 114AA8 802AB498 E7A6003C */ swc1 $f6, 0x3c($sp) -/* 114AAC 802AB49C E7AA0014 */ swc1 $f10, 0x14($sp) -/* 114AB0 802AB4A0 C7AA0010 */ lwc1 $f10, 0x10($sp) -/* 114AB4 802AB4A4 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 114AB8 802AB4A8 44809000 */ mtc1 $zero, $f18 -/* 114ABC 802AB4AC 460A3001 */ sub.s $f0, $f6, $f10 -/* 114AC0 802AB4B0 C7AA0014 */ lwc1 $f10, 0x14($sp) -/* 114AC4 802AB4B4 C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 114AC8 802AB4B8 460A3081 */ sub.s $f2, $f6, $f10 -/* 114ACC 802AB4BC 46004182 */ mul.s $f6, $f8, $f0 -/* 114AD0 802AB4C0 C7AA000C */ lwc1 $f10, 0xc($sp) -/* 114AD4 802AB4C4 46025202 */ mul.s $f8, $f10, $f2 -/* 114AD8 802AB4C8 46083281 */ sub.s $f10, $f6, $f8 -/* 114ADC 802AB4CC 46041182 */ mul.s $f6, $f2, $f4 -/* 114AE0 802AB4D0 C7A80008 */ lwc1 $f8, 8($sp) -/* 114AE4 802AB4D4 46080102 */ mul.s $f4, $f0, $f8 -/* 114AE8 802AB4D8 46043201 */ sub.s $f8, $f6, $f4 -/* 114AEC 802AB4DC 46085182 */ mul.s $f6, $f10, $f8 -/* 114AF0 802AB4E0 4612303C */ c.lt.s $f6, $f18 -/* 114AF4 802AB4E4 00000000 */ nop -/* 114AF8 802AB4E8 45000039 */ bc1f .L802AB5D0 -/* 114AFC 802AB4EC 00000000 */ nop -/* 114B00 802AB4F0 10000037 */ b .L802AB5D0 -/* 114B04 802AB4F4 00001025 */ move $v0, $zero -.L802AB4F8: -/* 114B08 802AB4F8 C7A4006C */ lwc1 $f4, 0x6c($sp) -/* 114B0C 802AB4FC C7AA009C */ lwc1 $f10, 0x9c($sp) -/* 114B10 802AB500 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 114B14 802AB504 C7A80028 */ lwc1 $f8, 0x28($sp) -/* 114B18 802AB508 460A2081 */ sub.s $f2, $f4, $f10 -/* 114B1C 802AB50C C7A40098 */ lwc1 $f4, 0x98($sp) -/* 114B20 802AB510 C7AA0020 */ lwc1 $f10, 0x20($sp) -/* 114B24 802AB514 46043001 */ sub.s $f0, $f6, $f4 -/* 114B28 802AB518 46024382 */ mul.s $f14, $f8, $f2 -/* 114B2C 802AB51C C7A80024 */ lwc1 $f8, 0x24($sp) -/* 114B30 802AB520 C7A4002C */ lwc1 $f4, 0x2c($sp) -/* 114B34 802AB524 46005302 */ mul.s $f12, $f10, $f0 -/* 114B38 802AB528 460C7032 */ c.eq.s $f14, $f12 -/* 114B3C 802AB52C 00000000 */ nop -/* 114B40 802AB530 4502000E */ bc1fl .L802AB56C -/* 114B44 802AB534 460E6401 */ sub.s $f16, $f12, $f14 -/* 114B48 802AB538 46081182 */ mul.s $f6, $f2, $f8 -/* 114B4C 802AB53C 44809000 */ mtc1 $zero, $f18 -/* 114B50 802AB540 46040282 */ mul.s $f10, $f0, $f4 -/* 114B54 802AB544 C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 114B58 802AB548 460A3201 */ sub.s $f8, $f6, $f10 -/* 114B5C 802AB54C 46082182 */ mul.s $f6, $f4, $f8 -/* 114B60 802AB550 4612303C */ c.lt.s $f6, $f18 -/* 114B64 802AB554 00000000 */ nop -/* 114B68 802AB558 4500001D */ bc1f .L802AB5D0 -/* 114B6C 802AB55C 00000000 */ nop -/* 114B70 802AB560 1000001B */ b .L802AB5D0 -/* 114B74 802AB564 00001025 */ move $v0, $zero -/* 114B78 802AB568 460E6401 */ sub.s $f16, $f12, $f14 -.L802AB56C: -/* 114B7C 802AB56C C7AA001C */ lwc1 $f10, 0x1c($sp) -/* 114B80 802AB570 44809000 */ mtc1 $zero, $f18 -/* 114B84 802AB574 C7A8002C */ lwc1 $f8, 0x2c($sp) -/* 114B88 802AB578 46105102 */ mul.s $f4, $f10, $f16 -/* 114B8C 802AB57C C7A60024 */ lwc1 $f6, 0x24($sp) -/* 114B90 802AB580 4612203C */ c.lt.s $f4, $f18 -/* 114B94 802AB584 00000000 */ nop -/* 114B98 802AB588 45000003 */ bc1f .L802AB598 -/* 114B9C 802AB58C 00000000 */ nop -/* 114BA0 802AB590 1000000F */ b .L802AB5D0 -/* 114BA4 802AB594 00001025 */ move $v0, $zero -.L802AB598: -/* 114BA8 802AB598 46080382 */ mul.s $f14, $f0, $f8 -/* 114BAC 802AB59C 00000000 */ nop -/* 114BB0 802AB5A0 46061302 */ mul.s $f12, $f2, $f6 -/* 114BB4 802AB5A4 460C7032 */ c.eq.s $f14, $f12 -/* 114BB8 802AB5A8 00000000 */ nop -/* 114BBC 802AB5AC 45010008 */ bc1t .L802AB5D0 -/* 114BC0 802AB5B0 00000000 */ nop -/* 114BC4 802AB5B4 460E6281 */ sub.s $f10, $f12, $f14 -/* 114BC8 802AB5B8 460A8102 */ mul.s $f4, $f16, $f10 -/* 114BCC 802AB5BC 4612203C */ c.lt.s $f4, $f18 -/* 114BD0 802AB5C0 00000000 */ nop -/* 114BD4 802AB5C4 45000002 */ bc1f .L802AB5D0 -/* 114BD8 802AB5C8 00000000 */ nop -/* 114BDC 802AB5CC 00001025 */ move $v0, $zero -.L802AB5D0: -/* 114BE0 802AB5D0 14400003 */ bnez $v0, .L802AB5E0 -/* 114BE4 802AB5D4 C7A60098 */ lwc1 $f6, 0x98($sp) -/* 114BE8 802AB5D8 10000037 */ b .L802AB6B8 -/* 114BEC 802AB5DC 00001025 */ move $v0, $zero -.L802AB5E0: -/* 114BF0 802AB5E0 C468001C */ lwc1 $f8, 0x1c($v1) -/* 114BF4 802AB5E4 C4640020 */ lwc1 $f4, 0x20($v1) -/* 114BF8 802AB5E8 3C01C180 */ li $at, 0xC1800000 # -16.000000 -/* 114BFC 802AB5EC 46064282 */ mul.s $f10, $f8, $f6 -/* 114C00 802AB5F0 C7A8009C */ lwc1 $f8, 0x9c($sp) -/* 114C04 802AB5F4 46082182 */ mul.s $f6, $f4, $f8 -/* 114C08 802AB5F8 C4680024 */ lwc1 $f8, 0x24($v1) -/* 114C0C 802AB5FC 46065100 */ add.s $f4, $f10, $f6 -/* 114C10 802AB600 C7AA00A0 */ lwc1 $f10, 0xa0($sp) -/* 114C14 802AB604 460A4182 */ mul.s $f6, $f8, $f10 -/* 114C18 802AB608 C46A0028 */ lwc1 $f10, 0x28($v1) -/* 114C1C 802AB60C 46062200 */ add.s $f8, $f4, $f6 -/* 114C20 802AB610 C7A60094 */ lwc1 $f6, 0x94($sp) -/* 114C24 802AB614 460A4100 */ add.s $f4, $f8, $f10 -/* 114C28 802AB618 46062001 */ sub.s $f0, $f4, $f6 -/* 114C2C 802AB61C 4600903C */ c.lt.s $f18, $f0 -/* 114C30 802AB620 00000000 */ nop -/* 114C34 802AB624 45020013 */ bc1fl .L802AB674 -/* 114C38 802AB628 44814000 */ mtc1 $at, $f8 -/* 114C3C 802AB62C C608000C */ lwc1 $f8, 0xc($s0) -/* 114C40 802AB630 240E0001 */ li $t6, 1 -/* 114C44 802AB634 4608003C */ c.lt.s $f0, $f8 -/* 114C48 802AB638 00000000 */ nop -/* 114C4C 802AB63C 4500000A */ bc1f .L802AB668 -/* 114C50 802AB640 00000000 */ nop -/* 114C54 802AB644 A60E0000 */ sh $t6, ($s0) -/* 114C58 802AB648 A6050006 */ sh $a1, 6($s0) -/* 114C5C 802AB64C E600000C */ swc1 $f0, 0xc($s0) -/* 114C60 802AB650 C46A001C */ lwc1 $f10, 0x1c($v1) -/* 114C64 802AB654 E60A0018 */ swc1 $f10, 0x18($s0) -/* 114C68 802AB658 C4640020 */ lwc1 $f4, 0x20($v1) -/* 114C6C 802AB65C E604001C */ swc1 $f4, 0x1c($s0) -/* 114C70 802AB660 C4660024 */ lwc1 $f6, 0x24($v1) -/* 114C74 802AB664 E6060020 */ swc1 $f6, 0x20($s0) -.L802AB668: -/* 114C78 802AB668 10000013 */ b .L802AB6B8 -/* 114C7C 802AB66C 00001025 */ move $v0, $zero -/* 114C80 802AB670 44814000 */ mtc1 $at, $f8 -.L802AB674: -/* 114C84 802AB674 240F0001 */ li $t7, 1 -/* 114C88 802AB678 00001025 */ move $v0, $zero -/* 114C8C 802AB67C 4600403C */ c.lt.s $f8, $f0 -/* 114C90 802AB680 00000000 */ nop -/* 114C94 802AB684 4500000C */ bc1f .L802AB6B8 -/* 114C98 802AB688 00000000 */ nop -/* 114C9C 802AB68C A60F0000 */ sh $t7, ($s0) -/* 114CA0 802AB690 A6050006 */ sh $a1, 6($s0) -/* 114CA4 802AB694 E600000C */ swc1 $f0, 0xc($s0) -/* 114CA8 802AB698 C46A001C */ lwc1 $f10, 0x1c($v1) -/* 114CAC 802AB69C 24020001 */ li $v0, 1 -/* 114CB0 802AB6A0 E60A0018 */ swc1 $f10, 0x18($s0) -/* 114CB4 802AB6A4 C4640020 */ lwc1 $f4, 0x20($v1) -/* 114CB8 802AB6A8 E604001C */ swc1 $f4, 0x1c($s0) -/* 114CBC 802AB6AC C4660024 */ lwc1 $f6, 0x24($v1) -/* 114CC0 802AB6B0 10000001 */ b .L802AB6B8 -/* 114CC4 802AB6B4 E6060020 */ swc1 $f6, 0x20($s0) -.L802AB6B8: -/* 114CC8 802AB6B8 8FB00004 */ lw $s0, 4($sp) -/* 114CCC 802AB6BC 03E00008 */ jr $ra -/* 114CD0 802AB6C0 27BD0090 */ addiu $sp, $sp, 0x90 diff --git a/asm/non_matchings/code_802AAA70/func_802AB6C4.s b/asm/non_matchings/code_802AAA70/func_802AB6C4.s deleted file mode 100644 index b6babc89c..000000000 --- a/asm/non_matchings/code_802AAA70/func_802AB6C4.s +++ /dev/null @@ -1,287 +0,0 @@ -glabel func_802AB6C4 -/* 114CD4 802AB6C4 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 114CD8 802AB6C8 AFA50094 */ sw $a1, 0x94($sp) -/* 114CDC 802AB6CC 97A500A6 */ lhu $a1, 0xa6($sp) -/* 114CE0 802AB6D0 3C0B8016 */ lui $t3, %hi(D_8015F580) # $t3, 0x8016 -/* 114CE4 802AB6D4 8D6BF580 */ lw $t3, %lo(D_8015F580)($t3) -/* 114CE8 802AB6D8 00055080 */ sll $t2, $a1, 2 -/* 114CEC 802AB6DC 01455023 */ subu $t2, $t2, $a1 -/* 114CF0 802AB6E0 000A5080 */ sll $t2, $t2, 2 -/* 114CF4 802AB6E4 01455023 */ subu $t2, $t2, $a1 -/* 114CF8 802AB6E8 000A5080 */ sll $t2, $t2, 2 -/* 114CFC 802AB6EC AFB00004 */ sw $s0, 4($sp) -/* 114D00 802AB6F0 AFA60098 */ sw $a2, 0x98($sp) -/* 114D04 802AB6F4 014B1821 */ addu $v1, $t2, $t3 -/* 114D08 802AB6F8 846C0008 */ lh $t4, 8($v1) -/* 114D0C 802AB6FC C7AC00A0 */ lwc1 $f12, 0xa0($sp) -/* 114D10 802AB700 44877000 */ mtc1 $a3, $f14 -/* 114D14 802AB704 448C3000 */ mtc1 $t4, $f6 -/* 114D18 802AB708 00808025 */ move $s0, $a0 -/* 114D1C 802AB70C 24020001 */ li $v0, 1 -/* 114D20 802AB710 468032A0 */ cvt.s.w $f10, $f6 -/* 114D24 802AB714 460A603C */ c.lt.s $f12, $f10 -/* 114D28 802AB718 00000000 */ nop -/* 114D2C 802AB71C 45020004 */ bc1fl .L802AB730 -/* 114D30 802AB720 846D000E */ lh $t5, 0xe($v1) -/* 114D34 802AB724 100000F4 */ b .L802ABAF8 -/* 114D38 802AB728 00001025 */ move $v0, $zero -/* 114D3C 802AB72C 846D000E */ lh $t5, 0xe($v1) -.L802AB730: -/* 114D40 802AB730 448D2000 */ mtc1 $t5, $f4 -/* 114D44 802AB734 00000000 */ nop -/* 114D48 802AB738 46802220 */ cvt.s.w $f8, $f4 -/* 114D4C 802AB73C 460C403C */ c.lt.s $f8, $f12 -/* 114D50 802AB740 00000000 */ nop -/* 114D54 802AB744 45020004 */ bc1fl .L802AB758 -/* 114D58 802AB748 846E000C */ lh $t6, 0xc($v1) -/* 114D5C 802AB74C 100000EA */ b .L802ABAF8 -/* 114D60 802AB750 00001025 */ move $v0, $zero -/* 114D64 802AB754 846E000C */ lh $t6, 0xc($v1) -.L802AB758: -/* 114D68 802AB758 448E3000 */ mtc1 $t6, $f6 -/* 114D6C 802AB75C 00000000 */ nop -/* 114D70 802AB760 468032A0 */ cvt.s.w $f10, $f6 -/* 114D74 802AB764 460E503C */ c.lt.s $f10, $f14 -/* 114D78 802AB768 00000000 */ nop -/* 114D7C 802AB76C 45020004 */ bc1fl .L802AB780 -/* 114D80 802AB770 846F0006 */ lh $t7, 6($v1) -/* 114D84 802AB774 100000E0 */ b .L802ABAF8 -/* 114D88 802AB778 00001025 */ move $v0, $zero -/* 114D8C 802AB77C 846F0006 */ lh $t7, 6($v1) -.L802AB780: -/* 114D90 802AB780 C7A60094 */ lwc1 $f6, 0x94($sp) -/* 114D94 802AB784 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 114D98 802AB788 448F2000 */ mtc1 $t7, $f4 -/* 114D9C 802AB78C 00000000 */ nop -/* 114DA0 802AB790 46802220 */ cvt.s.w $f8, $f4 -/* 114DA4 802AB794 4608703C */ c.lt.s $f14, $f8 -/* 114DA8 802AB798 00000000 */ nop -/* 114DAC 802AB79C 45020004 */ bc1fl .L802AB7B0 -/* 114DB0 802AB7A0 84780004 */ lh $t8, 4($v1) -/* 114DB4 802AB7A4 100000D4 */ b .L802ABAF8 -/* 114DB8 802AB7A8 00001025 */ move $v0, $zero -/* 114DBC 802AB7AC 84780004 */ lh $t8, 4($v1) -.L802AB7B0: -/* 114DC0 802AB7B0 44815000 */ mtc1 $at, $f10 -/* 114DC4 802AB7B4 C7A40098 */ lwc1 $f4, 0x98($sp) -/* 114DC8 802AB7B8 44984000 */ mtc1 $t8, $f8 -/* 114DCC 802AB7BC 460A3002 */ mul.s $f0, $f6, $f10 -/* 114DD0 802AB7C0 468041A0 */ cvt.s.w $f6, $f8 -/* 114DD4 802AB7C4 46003281 */ sub.s $f10, $f6, $f0 -/* 114DD8 802AB7C8 460A203C */ c.lt.s $f4, $f10 -/* 114DDC 802AB7CC 00000000 */ nop -/* 114DE0 802AB7D0 45020004 */ bc1fl .L802AB7E4 -/* 114DE4 802AB7D4 E7AE009C */ swc1 $f14, 0x9c($sp) -/* 114DE8 802AB7D8 100000C7 */ b .L802ABAF8 -/* 114DEC 802AB7DC 00001025 */ move $v0, $zero -/* 114DF0 802AB7E0 E7AE009C */ swc1 $f14, 0x9c($sp) -.L802AB7E4: -/* 114DF4 802AB7E4 8479000A */ lh $t9, 0xa($v1) -/* 114DF8 802AB7E8 C7AA0098 */ lwc1 $f10, 0x98($sp) -/* 114DFC 802AB7EC 44994000 */ mtc1 $t9, $f8 -/* 114E00 802AB7F0 00000000 */ nop -/* 114E04 802AB7F4 468041A0 */ cvt.s.w $f6, $f8 -/* 114E08 802AB7F8 46003100 */ add.s $f4, $f6, $f0 -/* 114E0C 802AB7FC 460A203C */ c.lt.s $f4, $f10 -/* 114E10 802AB800 00000000 */ nop -/* 114E14 802AB804 45020004 */ bc1fl .L802AB818 -/* 114E18 802AB808 8C640010 */ lw $a0, 0x10($v1) -/* 114E1C 802AB80C 100000BA */ b .L802ABAF8 -/* 114E20 802AB810 00001025 */ move $v0, $zero -/* 114E24 802AB814 8C640010 */ lw $a0, 0x10($v1) -.L802AB818: -/* 114E28 802AB818 8C670018 */ lw $a3, 0x18($v1) -/* 114E2C 802AB81C 8C660014 */ lw $a2, 0x14($v1) -/* 114E30 802AB820 84880004 */ lh $t0, 4($a0) -/* 114E34 802AB824 84890002 */ lh $t1, 2($a0) -/* 114E38 802AB828 84EC0004 */ lh $t4, 4($a3) -/* 114E3C 802AB82C 44884000 */ mtc1 $t0, $f8 -/* 114E40 802AB830 44893000 */ mtc1 $t1, $f6 -/* 114E44 802AB834 84CA0004 */ lh $t2, 4($a2) -/* 114E48 802AB838 46804320 */ cvt.s.w $f12, $f8 -/* 114E4C 802AB83C 448C4000 */ mtc1 $t4, $f8 -/* 114E50 802AB840 84CB0002 */ lh $t3, 2($a2) -/* 114E54 802AB844 448A2000 */ mtc1 $t2, $f4 -/* 114E58 802AB848 468033A0 */ cvt.s.w $f14, $f6 -/* 114E5C 802AB84C 448B5000 */ mtc1 $t3, $f10 -/* 114E60 802AB850 468041A0 */ cvt.s.w $f6, $f8 -/* 114E64 802AB854 C7A8009C */ lwc1 $f8, 0x9c($sp) -/* 114E68 802AB858 46802420 */ cvt.s.w $f16, $f4 -/* 114E6C 802AB85C E7A60064 */ swc1 $f6, 0x64($sp) -/* 114E70 802AB860 84ED0002 */ lh $t5, 2($a3) -/* 114E74 802AB864 E7A80008 */ swc1 $f8, 8($sp) -/* 114E78 802AB868 448D2000 */ mtc1 $t5, $f4 -/* 114E7C 802AB86C 468054A0 */ cvt.s.w $f18, $f10 -/* 114E80 802AB870 468022A0 */ cvt.s.w $f10, $f4 -/* 114E84 802AB874 C7A400A0 */ lwc1 $f4, 0xa0($sp) -/* 114E88 802AB878 E7A40010 */ swc1 $f4, 0x10($sp) -/* 114E8C 802AB87C 46087181 */ sub.s $f6, $f14, $f8 -/* 114E90 802AB880 E7AA0068 */ swc1 $f10, 0x68($sp) -/* 114E94 802AB884 46048281 */ sub.s $f10, $f16, $f4 -/* 114E98 802AB888 E7A6002C */ swc1 $f6, 0x2c($sp) -/* 114E9C 802AB88C C7A6002C */ lwc1 $f6, 0x2c($sp) -/* 114EA0 802AB890 46046201 */ sub.s $f8, $f12, $f4 -/* 114EA4 802AB894 E7AA0028 */ swc1 $f10, 0x28($sp) -/* 114EA8 802AB898 C7AA0028 */ lwc1 $f10, 0x28($sp) -/* 114EAC 802AB89C E7A80024 */ swc1 $f8, 0x24($sp) -/* 114EB0 802AB8A0 C7A80008 */ lwc1 $f8, 8($sp) -/* 114EB4 802AB8A4 460A3002 */ mul.s $f0, $f6, $f10 -/* 114EB8 802AB8A8 E7A60008 */ swc1 $f6, 8($sp) -/* 114EBC 802AB8AC 46089181 */ sub.s $f6, $f18, $f8 -/* 114EC0 802AB8B0 E7AA000C */ swc1 $f10, 0xc($sp) -/* 114EC4 802AB8B4 E7A60020 */ swc1 $f6, 0x20($sp) -/* 114EC8 802AB8B8 C7AA0020 */ lwc1 $f10, 0x20($sp) -/* 114ECC 802AB8BC C7A60024 */ lwc1 $f6, 0x24($sp) -/* 114ED0 802AB8C0 460A3082 */ mul.s $f2, $f6, $f10 -/* 114ED4 802AB8C4 46020101 */ sub.s $f4, $f0, $f2 -/* 114ED8 802AB8C8 46001032 */ c.eq.s $f2, $f0 -/* 114EDC 802AB8CC E7A4001C */ swc1 $f4, 0x1c($sp) -/* 114EE0 802AB8D0 C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 114EE4 802AB8D4 45000018 */ bc1f .L802AB938 -/* 114EE8 802AB8D8 E7A40038 */ swc1 $f4, 0x38($sp) -/* 114EEC 802AB8DC E7A80014 */ swc1 $f8, 0x14($sp) -/* 114EF0 802AB8E0 C7A80010 */ lwc1 $f8, 0x10($sp) -/* 114EF4 802AB8E4 C7A40064 */ lwc1 $f4, 0x64($sp) -/* 114EF8 802AB8E8 44809000 */ mtc1 $zero, $f18 -/* 114EFC 802AB8EC 46082001 */ sub.s $f0, $f4, $f8 -/* 114F00 802AB8F0 C7A80014 */ lwc1 $f8, 0x14($sp) -/* 114F04 802AB8F4 C7A40068 */ lwc1 $f4, 0x68($sp) -/* 114F08 802AB8F8 46082081 */ sub.s $f2, $f4, $f8 -/* 114F0C 802AB8FC 46005102 */ mul.s $f4, $f10, $f0 -/* 114F10 802AB900 C7A8000C */ lwc1 $f8, 0xc($sp) -/* 114F14 802AB904 46024282 */ mul.s $f10, $f8, $f2 -/* 114F18 802AB908 460A2201 */ sub.s $f8, $f4, $f10 -/* 114F1C 802AB90C 46061102 */ mul.s $f4, $f2, $f6 -/* 114F20 802AB910 C7AA0008 */ lwc1 $f10, 8($sp) -/* 114F24 802AB914 460A0182 */ mul.s $f6, $f0, $f10 -/* 114F28 802AB918 46062281 */ sub.s $f10, $f4, $f6 -/* 114F2C 802AB91C 460A4102 */ mul.s $f4, $f8, $f10 -/* 114F30 802AB920 4612203C */ c.lt.s $f4, $f18 -/* 114F34 802AB924 00000000 */ nop -/* 114F38 802AB928 45000039 */ bc1f .L802ABA10 -/* 114F3C 802AB92C 00000000 */ nop -/* 114F40 802AB930 10000037 */ b .L802ABA10 -/* 114F44 802AB934 00001025 */ move $v0, $zero -.L802AB938: -/* 114F48 802AB938 C7A60068 */ lwc1 $f6, 0x68($sp) -/* 114F4C 802AB93C C7A8009C */ lwc1 $f8, 0x9c($sp) -/* 114F50 802AB940 C7A40064 */ lwc1 $f4, 0x64($sp) -/* 114F54 802AB944 C7AA0028 */ lwc1 $f10, 0x28($sp) -/* 114F58 802AB948 46083081 */ sub.s $f2, $f6, $f8 -/* 114F5C 802AB94C C7A600A0 */ lwc1 $f6, 0xa0($sp) -/* 114F60 802AB950 C7A80020 */ lwc1 $f8, 0x20($sp) -/* 114F64 802AB954 46062001 */ sub.s $f0, $f4, $f6 -/* 114F68 802AB958 46025382 */ mul.s $f14, $f10, $f2 -/* 114F6C 802AB95C C7AA0024 */ lwc1 $f10, 0x24($sp) -/* 114F70 802AB960 C7A6002C */ lwc1 $f6, 0x2c($sp) -/* 114F74 802AB964 46004302 */ mul.s $f12, $f8, $f0 -/* 114F78 802AB968 460C7032 */ c.eq.s $f14, $f12 -/* 114F7C 802AB96C 00000000 */ nop -/* 114F80 802AB970 4502000E */ bc1fl .L802AB9AC -/* 114F84 802AB974 460E6401 */ sub.s $f16, $f12, $f14 -/* 114F88 802AB978 460A1102 */ mul.s $f4, $f2, $f10 -/* 114F8C 802AB97C 44809000 */ mtc1 $zero, $f18 -/* 114F90 802AB980 46060202 */ mul.s $f8, $f0, $f6 -/* 114F94 802AB984 C7A60038 */ lwc1 $f6, 0x38($sp) -/* 114F98 802AB988 46082281 */ sub.s $f10, $f4, $f8 -/* 114F9C 802AB98C 460A3102 */ mul.s $f4, $f6, $f10 -/* 114FA0 802AB990 4612203C */ c.lt.s $f4, $f18 -/* 114FA4 802AB994 00000000 */ nop -/* 114FA8 802AB998 4500001D */ bc1f .L802ABA10 -/* 114FAC 802AB99C 00000000 */ nop -/* 114FB0 802AB9A0 1000001B */ b .L802ABA10 -/* 114FB4 802AB9A4 00001025 */ move $v0, $zero -/* 114FB8 802AB9A8 460E6401 */ sub.s $f16, $f12, $f14 -.L802AB9AC: -/* 114FBC 802AB9AC C7A8001C */ lwc1 $f8, 0x1c($sp) -/* 114FC0 802AB9B0 44809000 */ mtc1 $zero, $f18 -/* 114FC4 802AB9B4 C7AA002C */ lwc1 $f10, 0x2c($sp) -/* 114FC8 802AB9B8 46104182 */ mul.s $f6, $f8, $f16 -/* 114FCC 802AB9BC C7A40024 */ lwc1 $f4, 0x24($sp) -/* 114FD0 802AB9C0 4612303C */ c.lt.s $f6, $f18 -/* 114FD4 802AB9C4 00000000 */ nop -/* 114FD8 802AB9C8 45000003 */ bc1f .L802AB9D8 -/* 114FDC 802AB9CC 00000000 */ nop -/* 114FE0 802AB9D0 1000000F */ b .L802ABA10 -/* 114FE4 802AB9D4 00001025 */ move $v0, $zero -.L802AB9D8: -/* 114FE8 802AB9D8 460A0382 */ mul.s $f14, $f0, $f10 -/* 114FEC 802AB9DC 00000000 */ nop -/* 114FF0 802AB9E0 46041302 */ mul.s $f12, $f2, $f4 -/* 114FF4 802AB9E4 460C7032 */ c.eq.s $f14, $f12 -/* 114FF8 802AB9E8 00000000 */ nop -/* 114FFC 802AB9EC 45010008 */ bc1t .L802ABA10 -/* 115000 802AB9F0 00000000 */ nop -/* 115004 802AB9F4 460E6201 */ sub.s $f8, $f12, $f14 -/* 115008 802AB9F8 46088182 */ mul.s $f6, $f16, $f8 -/* 11500C 802AB9FC 4612303C */ c.lt.s $f6, $f18 -/* 115010 802ABA00 00000000 */ nop -/* 115014 802ABA04 45000002 */ bc1f .L802ABA10 -/* 115018 802ABA08 00000000 */ nop -/* 11501C 802ABA0C 00001025 */ move $v0, $zero -.L802ABA10: -/* 115020 802ABA10 14400003 */ bnez $v0, .L802ABA20 -/* 115024 802ABA14 C7A40098 */ lwc1 $f4, 0x98($sp) -/* 115028 802ABA18 10000037 */ b .L802ABAF8 -/* 11502C 802ABA1C 00001025 */ move $v0, $zero -.L802ABA20: -/* 115030 802ABA20 C46A001C */ lwc1 $f10, 0x1c($v1) -/* 115034 802ABA24 C4660020 */ lwc1 $f6, 0x20($v1) -/* 115038 802ABA28 3C01C180 */ li $at, 0xC1800000 # -16.000000 -/* 11503C 802ABA2C 46045202 */ mul.s $f8, $f10, $f4 -/* 115040 802ABA30 C7AA009C */ lwc1 $f10, 0x9c($sp) -/* 115044 802ABA34 460A3102 */ mul.s $f4, $f6, $f10 -/* 115048 802ABA38 C46A0024 */ lwc1 $f10, 0x24($v1) -/* 11504C 802ABA3C 46044180 */ add.s $f6, $f8, $f4 -/* 115050 802ABA40 C7A800A0 */ lwc1 $f8, 0xa0($sp) -/* 115054 802ABA44 46085102 */ mul.s $f4, $f10, $f8 -/* 115058 802ABA48 C4680028 */ lwc1 $f8, 0x28($v1) -/* 11505C 802ABA4C 46043280 */ add.s $f10, $f6, $f4 -/* 115060 802ABA50 C7A40094 */ lwc1 $f4, 0x94($sp) -/* 115064 802ABA54 46085180 */ add.s $f6, $f10, $f8 -/* 115068 802ABA58 46043001 */ sub.s $f0, $f6, $f4 -/* 11506C 802ABA5C 4600903C */ c.lt.s $f18, $f0 -/* 115070 802ABA60 00000000 */ nop -/* 115074 802ABA64 45020013 */ bc1fl .L802ABAB4 -/* 115078 802ABA68 44815000 */ mtc1 $at, $f10 -/* 11507C 802ABA6C C60A0010 */ lwc1 $f10, 0x10($s0) -/* 115080 802ABA70 240E0001 */ li $t6, 1 -/* 115084 802ABA74 460A003C */ c.lt.s $f0, $f10 -/* 115088 802ABA78 00000000 */ nop -/* 11508C 802ABA7C 4500000A */ bc1f .L802ABAA8 -/* 115090 802ABA80 00000000 */ nop -/* 115094 802ABA84 A60E0002 */ sh $t6, 2($s0) -/* 115098 802ABA88 A6050008 */ sh $a1, 8($s0) -/* 11509C 802ABA8C E6000010 */ swc1 $f0, 0x10($s0) -/* 1150A0 802ABA90 C468001C */ lwc1 $f8, 0x1c($v1) -/* 1150A4 802ABA94 E6080024 */ swc1 $f8, 0x24($s0) -/* 1150A8 802ABA98 C4660020 */ lwc1 $f6, 0x20($v1) -/* 1150AC 802ABA9C E6060028 */ swc1 $f6, 0x28($s0) -/* 1150B0 802ABAA0 C4640024 */ lwc1 $f4, 0x24($v1) -/* 1150B4 802ABAA4 E604002C */ swc1 $f4, 0x2c($s0) -.L802ABAA8: -/* 1150B8 802ABAA8 10000013 */ b .L802ABAF8 -/* 1150BC 802ABAAC 00001025 */ move $v0, $zero -/* 1150C0 802ABAB0 44815000 */ mtc1 $at, $f10 -.L802ABAB4: -/* 1150C4 802ABAB4 240F0001 */ li $t7, 1 -/* 1150C8 802ABAB8 00001025 */ move $v0, $zero -/* 1150CC 802ABABC 4600503C */ c.lt.s $f10, $f0 -/* 1150D0 802ABAC0 00000000 */ nop -/* 1150D4 802ABAC4 4500000C */ bc1f .L802ABAF8 -/* 1150D8 802ABAC8 00000000 */ nop -/* 1150DC 802ABACC A60F0002 */ sh $t7, 2($s0) -/* 1150E0 802ABAD0 A6050008 */ sh $a1, 8($s0) -/* 1150E4 802ABAD4 E6000010 */ swc1 $f0, 0x10($s0) -/* 1150E8 802ABAD8 C468001C */ lwc1 $f8, 0x1c($v1) -/* 1150EC 802ABADC 24020001 */ li $v0, 1 -/* 1150F0 802ABAE0 E6080024 */ swc1 $f8, 0x24($s0) -/* 1150F4 802ABAE4 C4660020 */ lwc1 $f6, 0x20($v1) -/* 1150F8 802ABAE8 E6060028 */ swc1 $f6, 0x28($s0) -/* 1150FC 802ABAEC C4640024 */ lwc1 $f4, 0x24($v1) -/* 115100 802ABAF0 10000001 */ b .L802ABAF8 -/* 115104 802ABAF4 E604002C */ swc1 $f4, 0x2c($s0) -.L802ABAF8: -/* 115108 802ABAF8 8FB00004 */ lw $s0, 4($sp) -/* 11510C 802ABAFC 03E00008 */ jr $ra -/* 115110 802ABB00 27BD0090 */ addiu $sp, $sp, 0x90 diff --git a/asm/non_matchings/code_802AAA70/func_802ABB04.s b/asm/non_matchings/code_802AAA70/func_802ABB04.s deleted file mode 100644 index e08a0f35b..000000000 --- a/asm/non_matchings/code_802AAA70/func_802ABB04.s +++ /dev/null @@ -1,137 +0,0 @@ -glabel func_802ABB04 -/* 115114 802ABB04 30CEFFFF */ andi $t6, $a2, 0xffff -/* 115118 802ABB08 000E7880 */ sll $t7, $t6, 2 -/* 11511C 802ABB0C 01EE7823 */ subu $t7, $t7, $t6 -/* 115120 802ABB10 3C188016 */ lui $t8, %hi(D_8015F580) # $t8, 0x8016 -/* 115124 802ABB14 8F18F580 */ lw $t8, %lo(D_8015F580)($t8) -/* 115128 802ABB18 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 11512C 802ABB1C 000F7880 */ sll $t7, $t7, 2 -/* 115130 802ABB20 01EE7823 */ subu $t7, $t7, $t6 -/* 115134 802ABB24 000F7880 */ sll $t7, $t7, 2 -/* 115138 802ABB28 F7B60010 */ sdc1 $f22, 0x10($sp) -/* 11513C 802ABB2C F7B40008 */ sdc1 $f20, 8($sp) -/* 115140 802ABB30 AFA60080 */ sw $a2, 0x80($sp) -/* 115144 802ABB34 01F81021 */ addu $v0, $t7, $t8 -/* 115148 802ABB38 8C450014 */ lw $a1, 0x14($v0) -/* 11514C 802ABB3C 8C440010 */ lw $a0, 0x10($v0) -/* 115150 802ABB40 24030001 */ li $v1, 1 -/* 115154 802ABB44 84A90000 */ lh $t1, ($a1) -/* 115158 802ABB48 84990000 */ lh $t9, ($a0) -/* 11515C 802ABB4C 84880004 */ lh $t0, 4($a0) -/* 115160 802ABB50 44894000 */ mtc1 $t1, $f8 -/* 115164 802ABB54 44992000 */ mtc1 $t9, $f4 -/* 115168 802ABB58 44883000 */ mtc1 $t0, $f6 -/* 11516C 802ABB5C 468042A0 */ cvt.s.w $f10, $f8 -/* 115170 802ABB60 46802420 */ cvt.s.w $f16, $f4 -/* 115174 802ABB64 E7AA0060 */ swc1 $f10, 0x60($sp) -/* 115178 802ABB68 84AA0004 */ lh $t2, 4($a1) -/* 11517C 802ABB6C 448A2000 */ mtc1 $t2, $f4 -/* 115180 802ABB70 468034A0 */ cvt.s.w $f18, $f6 -/* 115184 802ABB74 468021A0 */ cvt.s.w $f6, $f4 -/* 115188 802ABB78 460E9501 */ sub.s $f20, $f18, $f14 -/* 11518C 802ABB7C E7A60058 */ swc1 $f6, 0x58($sp) -/* 115190 802ABB80 8C470018 */ lw $a3, 0x18($v0) -/* 115194 802ABB84 460C8581 */ sub.s $f22, $f16, $f12 -/* 115198 802ABB88 84EB0000 */ lh $t3, ($a3) -/* 11519C 802ABB8C 448B4000 */ mtc1 $t3, $f8 -/* 1151A0 802ABB90 00000000 */ nop -/* 1151A4 802ABB94 468042A0 */ cvt.s.w $f10, $f8 -/* 1151A8 802ABB98 C7A80060 */ lwc1 $f8, 0x60($sp) -/* 1151AC 802ABB9C E7AA006C */ swc1 $f10, 0x6c($sp) -/* 1151B0 802ABBA0 84EC0004 */ lh $t4, 4($a3) -/* 1151B4 802ABBA4 460C4281 */ sub.s $f10, $f8, $f12 -/* 1151B8 802ABBA8 448C2000 */ mtc1 $t4, $f4 -/* 1151BC 802ABBAC 460AA002 */ mul.s $f0, $f20, $f10 -/* 1151C0 802ABBB0 E7AA0028 */ swc1 $f10, 0x28($sp) -/* 1151C4 802ABBB4 468021A0 */ cvt.s.w $f6, $f4 -/* 1151C8 802ABBB8 C7A40058 */ lwc1 $f4, 0x58($sp) -/* 1151CC 802ABBBC E7A60064 */ swc1 $f6, 0x64($sp) -/* 1151D0 802ABBC0 460E2181 */ sub.s $f6, $f4, $f14 -/* 1151D4 802ABBC4 4606B082 */ mul.s $f2, $f22, $f6 -/* 1151D8 802ABBC8 E7A60020 */ swc1 $f6, 0x20($sp) -/* 1151DC 802ABBCC 46020201 */ sub.s $f8, $f0, $f2 -/* 1151E0 802ABBD0 46001032 */ c.eq.s $f2, $f0 -/* 1151E4 802ABBD4 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 1151E8 802ABBD8 C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 1151EC 802ABBDC C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 1151F0 802ABBE0 45000014 */ bc1f .L802ABC34 -/* 1151F4 802ABBE4 E7A4003C */ swc1 $f4, 0x3c($sp) -/* 1151F8 802ABBE8 460C4001 */ sub.s $f0, $f8, $f12 -/* 1151FC 802ABBEC C7A40064 */ lwc1 $f4, 0x64($sp) -/* 115200 802ABBF0 460E2081 */ sub.s $f2, $f4, $f14 -/* 115204 802ABBF4 46003202 */ mul.s $f8, $f6, $f0 -/* 115208 802ABBF8 00000000 */ nop -/* 11520C 802ABBFC 46025102 */ mul.s $f4, $f10, $f2 -/* 115210 802ABC00 46044181 */ sub.s $f6, $f8, $f4 -/* 115214 802ABC04 46161282 */ mul.s $f10, $f2, $f22 -/* 115218 802ABC08 00000000 */ nop -/* 11521C 802ABC0C 46140202 */ mul.s $f8, $f0, $f20 -/* 115220 802ABC10 46085101 */ sub.s $f4, $f10, $f8 -/* 115224 802ABC14 44804000 */ mtc1 $zero, $f8 -/* 115228 802ABC18 46043282 */ mul.s $f10, $f6, $f4 -/* 11522C 802ABC1C 4608503C */ c.lt.s $f10, $f8 -/* 115230 802ABC20 00000000 */ nop -/* 115234 802ABC24 45000035 */ bc1f .L802ABCFC -/* 115238 802ABC28 00000000 */ nop -/* 11523C 802ABC2C 10000033 */ b .L802ABCFC -/* 115240 802ABC30 00001825 */ move $v1, $zero -.L802ABC34: -/* 115244 802ABC34 C7A60064 */ lwc1 $f6, 0x64($sp) -/* 115248 802ABC38 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 11524C 802ABC3C C7A40028 */ lwc1 $f4, 0x28($sp) -/* 115250 802ABC40 460E3081 */ sub.s $f2, $f6, $f14 -/* 115254 802ABC44 C7A80020 */ lwc1 $f8, 0x20($sp) -/* 115258 802ABC48 460C5001 */ sub.s $f0, $f10, $f12 -/* 11525C 802ABC4C 46022482 */ mul.s $f18, $f4, $f2 -/* 115260 802ABC50 00000000 */ nop -/* 115264 802ABC54 46004402 */ mul.s $f16, $f8, $f0 -/* 115268 802ABC58 46109032 */ c.eq.s $f18, $f16 -/* 11526C 802ABC5C 00000000 */ nop -/* 115270 802ABC60 4500000D */ bc1f .L802ABC98 -/* 115274 802ABC64 00000000 */ nop -/* 115278 802ABC68 46161182 */ mul.s $f6, $f2, $f22 -/* 11527C 802ABC6C C7A8003C */ lwc1 $f8, 0x3c($sp) -/* 115280 802ABC70 46140102 */ mul.s $f4, $f0, $f20 -/* 115284 802ABC74 46043281 */ sub.s $f10, $f6, $f4 -/* 115288 802ABC78 44802000 */ mtc1 $zero, $f4 -/* 11528C 802ABC7C 460A4182 */ mul.s $f6, $f8, $f10 -/* 115290 802ABC80 4604303C */ c.lt.s $f6, $f4 -/* 115294 802ABC84 00000000 */ nop -/* 115298 802ABC88 4502001D */ bc1fl .L802ABD00 -/* 11529C 802ABC8C D7B40008 */ ldc1 $f20, 8($sp) -/* 1152A0 802ABC90 1000001A */ b .L802ABCFC -/* 1152A4 802ABC94 00001825 */ move $v1, $zero -.L802ABC98: -/* 1152A8 802ABC98 46128301 */ sub.s $f12, $f16, $f18 -/* 1152AC 802ABC9C C7A8001C */ lwc1 $f8, 0x1c($sp) -/* 1152B0 802ABCA0 44803000 */ mtc1 $zero, $f6 -/* 1152B4 802ABCA4 460C4282 */ mul.s $f10, $f8, $f12 -/* 1152B8 802ABCA8 4606503C */ c.lt.s $f10, $f6 -/* 1152BC 802ABCAC 00000000 */ nop -/* 1152C0 802ABCB0 45000003 */ bc1f .L802ABCC0 -/* 1152C4 802ABCB4 00000000 */ nop -/* 1152C8 802ABCB8 10000010 */ b .L802ABCFC -/* 1152CC 802ABCBC 00001825 */ move $v1, $zero -.L802ABCC0: -/* 1152D0 802ABCC0 46140402 */ mul.s $f16, $f0, $f20 -/* 1152D4 802ABCC4 00000000 */ nop -/* 1152D8 802ABCC8 46161382 */ mul.s $f14, $f2, $f22 -/* 1152DC 802ABCCC 460E8032 */ c.eq.s $f16, $f14 -/* 1152E0 802ABCD0 00000000 */ nop -/* 1152E4 802ABCD4 45010009 */ bc1t .L802ABCFC -/* 1152E8 802ABCD8 00000000 */ nop -/* 1152EC 802ABCDC 46107101 */ sub.s $f4, $f14, $f16 -/* 1152F0 802ABCE0 44805000 */ mtc1 $zero, $f10 -/* 1152F4 802ABCE4 46046202 */ mul.s $f8, $f12, $f4 -/* 1152F8 802ABCE8 460A403C */ c.lt.s $f8, $f10 -/* 1152FC 802ABCEC 00000000 */ nop -/* 115300 802ABCF0 45020003 */ bc1fl .L802ABD00 -/* 115304 802ABCF4 D7B40008 */ ldc1 $f20, 8($sp) -/* 115308 802ABCF8 00001825 */ move $v1, $zero -.L802ABCFC: -/* 11530C 802ABCFC D7B40008 */ ldc1 $f20, 8($sp) -.L802ABD00: -/* 115310 802ABD00 D7B60010 */ ldc1 $f22, 0x10($sp) -/* 115314 802ABD04 27BD0078 */ addiu $sp, $sp, 0x78 -/* 115318 802ABD08 03E00008 */ jr $ra -/* 11531C 802ABD0C 00601025 */ move $v0, $v1 diff --git a/asm/non_matchings/code_802AAA70/func_802AC760.s b/asm/non_matchings/code_802AAA70/func_802AC760.s deleted file mode 100644 index f2397732a..000000000 --- a/asm/non_matchings/code_802AAA70/func_802AC760.s +++ /dev/null @@ -1,288 +0,0 @@ -glabel func_802AC760 -/* 115D70 802AC760 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 115D74 802AC764 AFA5007C */ sw $a1, 0x7c($sp) -/* 115D78 802AC768 97A5008E */ lhu $a1, 0x8e($sp) -/* 115D7C 802AC76C 3C0A8016 */ lui $t2, %hi(D_8015F580) # $t2, 0x8016 -/* 115D80 802AC770 8D4AF580 */ lw $t2, %lo(D_8015F580)($t2) -/* 115D84 802AC774 00054880 */ sll $t1, $a1, 2 -/* 115D88 802AC778 01254823 */ subu $t1, $t1, $a1 -/* 115D8C 802AC77C 00094880 */ sll $t1, $t1, 2 -/* 115D90 802AC780 01254823 */ subu $t1, $t1, $a1 -/* 115D94 802AC784 00094880 */ sll $t1, $t1, 2 -/* 115D98 802AC788 AFB00004 */ sw $s0, 4($sp) -/* 115D9C 802AC78C AFA70084 */ sw $a3, 0x84($sp) -/* 115DA0 802AC790 012A1821 */ addu $v1, $t1, $t2 -/* 115DA4 802AC794 846B0004 */ lh $t3, 4($v1) -/* 115DA8 802AC798 44866000 */ mtc1 $a2, $f12 -/* 115DAC 802AC79C 00808025 */ move $s0, $a0 -/* 115DB0 802AC7A0 448B5000 */ mtc1 $t3, $f10 -/* 115DB4 802AC7A4 24020001 */ li $v0, 1 -/* 115DB8 802AC7A8 46805120 */ cvt.s.w $f4, $f10 -/* 115DBC 802AC7AC 4604603C */ c.lt.s $f12, $f4 -/* 115DC0 802AC7B0 00000000 */ nop -/* 115DC4 802AC7B4 45020004 */ bc1fl .L802AC7C8 -/* 115DC8 802AC7B8 846C0008 */ lh $t4, 8($v1) -/* 115DCC 802AC7BC 100000F6 */ b .L802ACB98 -/* 115DD0 802AC7C0 00001025 */ move $v0, $zero -/* 115DD4 802AC7C4 846C0008 */ lh $t4, 8($v1) -.L802AC7C8: -/* 115DD8 802AC7C8 C7A00088 */ lwc1 $f0, 0x88($sp) -/* 115DDC 802AC7CC 448C4000 */ mtc1 $t4, $f8 -/* 115DE0 802AC7D0 00000000 */ nop -/* 115DE4 802AC7D4 468041A0 */ cvt.s.w $f6, $f8 -/* 115DE8 802AC7D8 4606003C */ c.lt.s $f0, $f6 -/* 115DEC 802AC7DC 00000000 */ nop -/* 115DF0 802AC7E0 45020004 */ bc1fl .L802AC7F4 -/* 115DF4 802AC7E4 846D000A */ lh $t5, 0xa($v1) -/* 115DF8 802AC7E8 100000EB */ b .L802ACB98 -/* 115DFC 802AC7EC 00001025 */ move $v0, $zero -/* 115E00 802AC7F0 846D000A */ lh $t5, 0xa($v1) -.L802AC7F4: -/* 115E04 802AC7F4 448D5000 */ mtc1 $t5, $f10 -/* 115E08 802AC7F8 00000000 */ nop -/* 115E0C 802AC7FC 46805120 */ cvt.s.w $f4, $f10 -/* 115E10 802AC800 460C203C */ c.lt.s $f4, $f12 -/* 115E14 802AC804 00000000 */ nop -/* 115E18 802AC808 45020004 */ bc1fl .L802AC81C -/* 115E1C 802AC80C 846E000E */ lh $t6, 0xe($v1) -/* 115E20 802AC810 100000E1 */ b .L802ACB98 -/* 115E24 802AC814 00001025 */ move $v0, $zero -/* 115E28 802AC818 846E000E */ lh $t6, 0xe($v1) -.L802AC81C: -/* 115E2C 802AC81C 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 115E30 802AC820 448E4000 */ mtc1 $t6, $f8 -/* 115E34 802AC824 00000000 */ nop -/* 115E38 802AC828 468041A0 */ cvt.s.w $f6, $f8 -/* 115E3C 802AC82C 4600303C */ c.lt.s $f6, $f0 -/* 115E40 802AC830 00000000 */ nop -/* 115E44 802AC834 45020004 */ bc1fl .L802AC848 -/* 115E48 802AC838 C7A4007C */ lwc1 $f4, 0x7c($sp) -/* 115E4C 802AC83C 100000D6 */ b .L802ACB98 -/* 115E50 802AC840 00001025 */ move $v0, $zero -/* 115E54 802AC844 C7A4007C */ lwc1 $f4, 0x7c($sp) -.L802AC848: -/* 115E58 802AC848 44814000 */ mtc1 $at, $f8 -/* 115E5C 802AC84C E7AC0080 */ swc1 $f12, 0x80($sp) -/* 115E60 802AC850 846F0006 */ lh $t7, 6($v1) -/* 115E64 802AC854 46082182 */ mul.s $f6, $f4, $f8 -/* 115E68 802AC858 C7AA0084 */ lwc1 $f10, 0x84($sp) -/* 115E6C 802AC85C 448F2000 */ mtc1 $t7, $f4 -/* 115E70 802AC860 00000000 */ nop -/* 115E74 802AC864 46802220 */ cvt.s.w $f8, $f4 -/* 115E78 802AC868 46064101 */ sub.s $f4, $f8, $f6 -/* 115E7C 802AC86C 4604503C */ c.lt.s $f10, $f4 -/* 115E80 802AC870 00000000 */ nop -/* 115E84 802AC874 45020004 */ bc1fl .L802AC888 -/* 115E88 802AC878 8C640010 */ lw $a0, 0x10($v1) -/* 115E8C 802AC87C 100000C6 */ b .L802ACB98 -/* 115E90 802AC880 00001025 */ move $v0, $zero -/* 115E94 802AC884 8C640010 */ lw $a0, 0x10($v1) -.L802AC888: -/* 115E98 802AC888 8C670018 */ lw $a3, 0x18($v1) -/* 115E9C 802AC88C 8C660014 */ lw $a2, 0x14($v1) -/* 115EA0 802AC890 84980000 */ lh $t8, ($a0) -/* 115EA4 802AC894 84990004 */ lh $t9, 4($a0) -/* 115EA8 802AC898 84EA0000 */ lh $t2, ($a3) -/* 115EAC 802AC89C 44984000 */ mtc1 $t8, $f8 -/* 115EB0 802AC8A0 44993000 */ mtc1 $t9, $f6 -/* 115EB4 802AC8A4 84C80000 */ lh $t0, ($a2) -/* 115EB8 802AC8A8 46804320 */ cvt.s.w $f12, $f8 -/* 115EBC 802AC8AC 448A4000 */ mtc1 $t2, $f8 -/* 115EC0 802AC8B0 84C90004 */ lh $t1, 4($a2) -/* 115EC4 802AC8B4 44885000 */ mtc1 $t0, $f10 -/* 115EC8 802AC8B8 468033A0 */ cvt.s.w $f14, $f6 -/* 115ECC 802AC8BC 44892000 */ mtc1 $t1, $f4 -/* 115ED0 802AC8C0 468041A0 */ cvt.s.w $f6, $f8 -/* 115ED4 802AC8C4 C7A80088 */ lwc1 $f8, 0x88($sp) -/* 115ED8 802AC8C8 46805420 */ cvt.s.w $f16, $f10 -/* 115EDC 802AC8CC E7A6006C */ swc1 $f6, 0x6c($sp) -/* 115EE0 802AC8D0 84EB0004 */ lh $t3, 4($a3) -/* 115EE4 802AC8D4 E7A80008 */ swc1 $f8, 8($sp) -/* 115EE8 802AC8D8 448B5000 */ mtc1 $t3, $f10 -/* 115EEC 802AC8DC 468024A0 */ cvt.s.w $f18, $f4 -/* 115EF0 802AC8E0 46805120 */ cvt.s.w $f4, $f10 -/* 115EF4 802AC8E4 C7AA0080 */ lwc1 $f10, 0x80($sp) -/* 115EF8 802AC8E8 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 115EFC 802AC8EC 46087181 */ sub.s $f6, $f14, $f8 -/* 115F00 802AC8F0 E7A40064 */ swc1 $f4, 0x64($sp) -/* 115F04 802AC8F4 460A8101 */ sub.s $f4, $f16, $f10 -/* 115F08 802AC8F8 E7A60028 */ swc1 $f6, 0x28($sp) -/* 115F0C 802AC8FC C7A60028 */ lwc1 $f6, 0x28($sp) -/* 115F10 802AC900 460A6201 */ sub.s $f8, $f12, $f10 -/* 115F14 802AC904 E7A40024 */ swc1 $f4, 0x24($sp) -/* 115F18 802AC908 C7A40024 */ lwc1 $f4, 0x24($sp) -/* 115F1C 802AC90C E7A80020 */ swc1 $f8, 0x20($sp) -/* 115F20 802AC910 C7A80008 */ lwc1 $f8, 8($sp) -/* 115F24 802AC914 46043002 */ mul.s $f0, $f6, $f4 -/* 115F28 802AC918 E7A60008 */ swc1 $f6, 8($sp) -/* 115F2C 802AC91C 46089181 */ sub.s $f6, $f18, $f8 -/* 115F30 802AC920 E7A4000C */ swc1 $f4, 0xc($sp) -/* 115F34 802AC924 C7B20008 */ lwc1 $f18, 8($sp) -/* 115F38 802AC928 E7A6001C */ swc1 $f6, 0x1c($sp) -/* 115F3C 802AC92C C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 115F40 802AC930 C7A60020 */ lwc1 $f6, 0x20($sp) -/* 115F44 802AC934 46043082 */ mul.s $f2, $f6, $f4 -/* 115F48 802AC938 46020281 */ sub.s $f10, $f0, $f2 -/* 115F4C 802AC93C 46001032 */ c.eq.s $f2, $f0 -/* 115F50 802AC940 E7AA0018 */ swc1 $f10, 0x18($sp) -/* 115F54 802AC944 C7AA0018 */ lwc1 $f10, 0x18($sp) -/* 115F58 802AC948 45000018 */ bc1f .L802AC9AC -/* 115F5C 802AC94C E7AA0038 */ swc1 $f10, 0x38($sp) -/* 115F60 802AC950 E7A80008 */ swc1 $f8, 8($sp) -/* 115F64 802AC954 C7A80010 */ lwc1 $f8, 0x10($sp) -/* 115F68 802AC958 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 115F6C 802AC95C 46085001 */ sub.s $f0, $f10, $f8 -/* 115F70 802AC960 C7A80008 */ lwc1 $f8, 8($sp) -/* 115F74 802AC964 C7AA0064 */ lwc1 $f10, 0x64($sp) -/* 115F78 802AC968 46085081 */ sub.s $f2, $f10, $f8 -/* 115F7C 802AC96C 46002282 */ mul.s $f10, $f4, $f0 -/* 115F80 802AC970 C7A8000C */ lwc1 $f8, 0xc($sp) -/* 115F84 802AC974 46024102 */ mul.s $f4, $f8, $f2 -/* 115F88 802AC978 46045201 */ sub.s $f8, $f10, $f4 -/* 115F8C 802AC97C 46061282 */ mul.s $f10, $f2, $f6 -/* 115F90 802AC980 00000000 */ nop -/* 115F94 802AC984 46120102 */ mul.s $f4, $f0, $f18 -/* 115F98 802AC988 46045181 */ sub.s $f6, $f10, $f4 -/* 115F9C 802AC98C 44802000 */ mtc1 $zero, $f4 -/* 115FA0 802AC990 46064282 */ mul.s $f10, $f8, $f6 -/* 115FA4 802AC994 4604503C */ c.lt.s $f10, $f4 -/* 115FA8 802AC998 00000000 */ nop -/* 115FAC 802AC99C 45000039 */ bc1f .L802ACA84 -/* 115FB0 802AC9A0 00000000 */ nop -/* 115FB4 802AC9A4 10000037 */ b .L802ACA84 -/* 115FB8 802AC9A8 00001025 */ move $v0, $zero -.L802AC9AC: -/* 115FBC 802AC9AC C7A80064 */ lwc1 $f8, 0x64($sp) -/* 115FC0 802AC9B0 C7A60088 */ lwc1 $f6, 0x88($sp) -/* 115FC4 802AC9B4 C7A4006C */ lwc1 $f4, 0x6c($sp) -/* 115FC8 802AC9B8 C7AA0024 */ lwc1 $f10, 0x24($sp) -/* 115FCC 802AC9BC 46064081 */ sub.s $f2, $f8, $f6 -/* 115FD0 802AC9C0 C7A80080 */ lwc1 $f8, 0x80($sp) -/* 115FD4 802AC9C4 C7A6001C */ lwc1 $f6, 0x1c($sp) -/* 115FD8 802AC9C8 C7B20028 */ lwc1 $f18, 0x28($sp) -/* 115FDC 802AC9CC 46082001 */ sub.s $f0, $f4, $f8 -/* 115FE0 802AC9D0 46025382 */ mul.s $f14, $f10, $f2 -/* 115FE4 802AC9D4 C7AA0020 */ lwc1 $f10, 0x20($sp) -/* 115FE8 802AC9D8 46003302 */ mul.s $f12, $f6, $f0 -/* 115FEC 802AC9DC 460C7032 */ c.eq.s $f14, $f12 -/* 115FF0 802AC9E0 00000000 */ nop -/* 115FF4 802AC9E4 4502000E */ bc1fl .L802ACA20 -/* 115FF8 802AC9E8 460E6401 */ sub.s $f16, $f12, $f14 -/* 115FFC 802AC9EC 460A1102 */ mul.s $f4, $f2, $f10 -/* 116000 802AC9F0 C7AA0038 */ lwc1 $f10, 0x38($sp) -/* 116004 802AC9F4 46120202 */ mul.s $f8, $f0, $f18 -/* 116008 802AC9F8 46082181 */ sub.s $f6, $f4, $f8 -/* 11600C 802AC9FC 44804000 */ mtc1 $zero, $f8 -/* 116010 802ACA00 46065102 */ mul.s $f4, $f10, $f6 -/* 116014 802ACA04 4608203C */ c.lt.s $f4, $f8 -/* 116018 802ACA08 00000000 */ nop -/* 11601C 802ACA0C 4500001D */ bc1f .L802ACA84 -/* 116020 802ACA10 00000000 */ nop -/* 116024 802ACA14 1000001B */ b .L802ACA84 -/* 116028 802ACA18 00001025 */ move $v0, $zero -/* 11602C 802ACA1C 460E6401 */ sub.s $f16, $f12, $f14 -.L802ACA20: -/* 116030 802ACA20 C7AA0018 */ lwc1 $f10, 0x18($sp) -/* 116034 802ACA24 44802000 */ mtc1 $zero, $f4 -/* 116038 802ACA28 C7A80020 */ lwc1 $f8, 0x20($sp) -/* 11603C 802ACA2C 46105182 */ mul.s $f6, $f10, $f16 -/* 116040 802ACA30 4604303C */ c.lt.s $f6, $f4 -/* 116044 802ACA34 00000000 */ nop -/* 116048 802ACA38 45000003 */ bc1f .L802ACA48 -/* 11604C 802ACA3C 00000000 */ nop -/* 116050 802ACA40 10000010 */ b .L802ACA84 -/* 116054 802ACA44 00001025 */ move $v0, $zero -.L802ACA48: -/* 116058 802ACA48 46120382 */ mul.s $f14, $f0, $f18 -/* 11605C 802ACA4C 00000000 */ nop -/* 116060 802ACA50 46081302 */ mul.s $f12, $f2, $f8 -/* 116064 802ACA54 460C7032 */ c.eq.s $f14, $f12 -/* 116068 802ACA58 00000000 */ nop -/* 11606C 802ACA5C 45010009 */ bc1t .L802ACA84 -/* 116070 802ACA60 00000000 */ nop -/* 116074 802ACA64 460E6281 */ sub.s $f10, $f12, $f14 -/* 116078 802ACA68 44802000 */ mtc1 $zero, $f4 -/* 11607C 802ACA6C 460A8182 */ mul.s $f6, $f16, $f10 -/* 116080 802ACA70 4604303C */ c.lt.s $f6, $f4 -/* 116084 802ACA74 00000000 */ nop -/* 116088 802ACA78 45000002 */ bc1f .L802ACA84 -/* 11608C 802ACA7C 00000000 */ nop -/* 116090 802ACA80 00001025 */ move $v0, $zero -.L802ACA84: -/* 116094 802ACA84 14400003 */ bnez $v0, .L802ACA94 -/* 116098 802ACA88 C7A80080 */ lwc1 $f8, 0x80($sp) -/* 11609C 802ACA8C 10000042 */ b .L802ACB98 -/* 1160A0 802ACA90 00001025 */ move $v0, $zero -.L802ACA94: -/* 1160A4 802ACA94 C462001C */ lwc1 $f2, 0x1c($v1) -/* 1160A8 802ACA98 C46C0020 */ lwc1 $f12, 0x20($v1) -/* 1160AC 802ACA9C C7A60084 */ lwc1 $f6, 0x84($sp) -/* 1160B0 802ACAA0 46081282 */ mul.s $f10, $f2, $f8 -/* 1160B4 802ACAA4 C46E0024 */ lwc1 $f14, 0x24($v1) -/* 1160B8 802ACAA8 C4700028 */ lwc1 $f16, 0x28($v1) -/* 1160BC 802ACAAC 46066102 */ mul.s $f4, $f12, $f6 -/* 1160C0 802ACAB0 C7A60088 */ lwc1 $f6, 0x88($sp) -/* 1160C4 802ACAB4 46045200 */ add.s $f8, $f10, $f4 -/* 1160C8 802ACAB8 46067282 */ mul.s $f10, $f14, $f6 -/* 1160CC 802ACABC C7A6007C */ lwc1 $f6, 0x7c($sp) -/* 1160D0 802ACAC0 460A4100 */ add.s $f4, $f8, $f10 -/* 1160D4 802ACAC4 C7A80094 */ lwc1 $f8, 0x94($sp) -/* 1160D8 802ACAC8 46102000 */ add.s $f0, $f4, $f16 -/* 1160DC 802ACACC C7A40090 */ lwc1 $f4, 0x90($sp) -/* 1160E0 802ACAD0 4600303C */ c.lt.s $f6, $f0 -/* 1160E4 802ACAD4 00000000 */ nop -/* 1160E8 802ACAD8 45000014 */ bc1f .L802ACB2C -/* 1160EC 802ACADC 00000000 */ nop -/* 1160F0 802ACAE0 C6080014 */ lwc1 $f8, 0x14($s0) -/* 1160F4 802ACAE4 240C0001 */ li $t4, 1 -/* 1160F8 802ACAE8 4608003C */ c.lt.s $f0, $f8 -/* 1160FC 802ACAEC 00000000 */ nop -/* 116100 802ACAF0 4500000C */ bc1f .L802ACB24 -/* 116104 802ACAF4 00000000 */ nop -/* 116108 802ACAF8 A60C0004 */ sh $t4, 4($s0) -/* 11610C 802ACAFC A605000A */ sh $a1, 0xa($s0) -/* 116110 802ACB00 C7AA007C */ lwc1 $f10, 0x7c($sp) -/* 116114 802ACB04 460A0101 */ sub.s $f4, $f0, $f10 -/* 116118 802ACB08 E6040014 */ swc1 $f4, 0x14($s0) -/* 11611C 802ACB0C C466001C */ lwc1 $f6, 0x1c($v1) -/* 116120 802ACB10 E6060030 */ swc1 $f6, 0x30($s0) -/* 116124 802ACB14 C4680020 */ lwc1 $f8, 0x20($v1) -/* 116128 802ACB18 E6080034 */ swc1 $f8, 0x34($s0) -/* 11612C 802ACB1C C46A0024 */ lwc1 $f10, 0x24($v1) -/* 116130 802ACB20 E60A0038 */ swc1 $f10, 0x38($s0) -.L802ACB24: -/* 116134 802ACB24 1000001C */ b .L802ACB98 -/* 116138 802ACB28 00001025 */ move $v0, $zero -.L802ACB2C: -/* 11613C 802ACB2C 46041182 */ mul.s $f6, $f2, $f4 -/* 116140 802ACB30 240D0001 */ li $t5, 1 -/* 116144 802ACB34 46086282 */ mul.s $f10, $f12, $f8 -/* 116148 802ACB38 C7A80098 */ lwc1 $f8, 0x98($sp) -/* 11614C 802ACB3C 460A3100 */ add.s $f4, $f6, $f10 -/* 116150 802ACB40 46087182 */ mul.s $f6, $f14, $f8 -/* 116154 802ACB44 44804000 */ mtc1 $zero, $f8 -/* 116158 802ACB48 46062280 */ add.s $f10, $f4, $f6 -/* 11615C 802ACB4C 46105480 */ add.s $f18, $f10, $f16 -/* 116160 802ACB50 4608903C */ c.lt.s $f18, $f8 -/* 116164 802ACB54 00000000 */ nop -/* 116168 802ACB58 45020004 */ bc1fl .L802ACB6C -/* 11616C 802ACB5C A60D0004 */ sh $t5, 4($s0) -/* 116170 802ACB60 1000000D */ b .L802ACB98 -/* 116174 802ACB64 00001025 */ move $v0, $zero -/* 116178 802ACB68 A60D0004 */ sh $t5, 4($s0) -.L802ACB6C: -/* 11617C 802ACB6C A605000A */ sh $a1, 0xa($s0) -/* 116180 802ACB70 C7A4007C */ lwc1 $f4, 0x7c($sp) -/* 116184 802ACB74 24020001 */ li $v0, 1 -/* 116188 802ACB78 46040181 */ sub.s $f6, $f0, $f4 -/* 11618C 802ACB7C E6060014 */ swc1 $f6, 0x14($s0) -/* 116190 802ACB80 C46A001C */ lwc1 $f10, 0x1c($v1) -/* 116194 802ACB84 E60A0030 */ swc1 $f10, 0x30($s0) -/* 116198 802ACB88 C4680020 */ lwc1 $f8, 0x20($v1) -/* 11619C 802ACB8C E6080034 */ swc1 $f8, 0x34($s0) -/* 1161A0 802ACB90 C4640024 */ lwc1 $f4, 0x24($v1) -/* 1161A4 802ACB94 E6040038 */ swc1 $f4, 0x38($s0) -.L802ACB98: -/* 1161A8 802ACB98 8FB00004 */ lw $s0, 4($sp) -/* 1161AC 802ACB9C 03E00008 */ jr $ra -/* 1161B0 802ACBA0 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/non_matchings/code_802AAA70/func_802ACBA4.s b/asm/non_matchings/code_802AAA70/func_802ACBA4.s deleted file mode 100644 index 83b655765..000000000 --- a/asm/non_matchings/code_802AAA70/func_802ACBA4.s +++ /dev/null @@ -1,463 +0,0 @@ -glabel func_802ACBA4 -/* 1161B4 802ACBA4 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 1161B8 802ACBA8 AFA50094 */ sw $a1, 0x94($sp) -/* 1161BC 802ACBAC 97A500A6 */ lhu $a1, 0xa6($sp) -/* 1161C0 802ACBB0 3C098016 */ lui $t1, %hi(D_8015F580) # $t1, 0x8016 -/* 1161C4 802ACBB4 8D29F580 */ lw $t1, %lo(D_8015F580)($t1) -/* 1161C8 802ACBB8 00054080 */ sll $t0, $a1, 2 -/* 1161CC 802ACBBC 01054023 */ subu $t0, $t0, $a1 -/* 1161D0 802ACBC0 00084080 */ sll $t0, $t0, 2 -/* 1161D4 802ACBC4 01054023 */ subu $t0, $t0, $a1 -/* 1161D8 802ACBC8 00084080 */ sll $t0, $t0, 2 -/* 1161DC 802ACBCC AFB00004 */ sw $s0, 4($sp) -/* 1161E0 802ACBD0 01091821 */ addu $v1, $t0, $t1 -/* 1161E4 802ACBD4 846A0004 */ lh $t2, 4($v1) -/* 1161E8 802ACBD8 44866000 */ mtc1 $a2, $f12 -/* 1161EC 802ACBDC 44877000 */ mtc1 $a3, $f14 -/* 1161F0 802ACBE0 448A4000 */ mtc1 $t2, $f8 -/* 1161F4 802ACBE4 00808025 */ move $s0, $a0 -/* 1161F8 802ACBE8 24020001 */ li $v0, 1 -/* 1161FC 802ACBEC 468042A0 */ cvt.s.w $f10, $f8 -/* 116200 802ACBF0 460A603C */ c.lt.s $f12, $f10 -/* 116204 802ACBF4 00000000 */ nop -/* 116208 802ACBF8 45020004 */ bc1fl .L802ACC0C -/* 11620C 802ACBFC 846B000A */ lh $t3, 0xa($v1) -/* 116210 802ACC00 1000019A */ b .L802AD26C -/* 116214 802ACC04 00001025 */ move $v0, $zero -/* 116218 802ACC08 846B000A */ lh $t3, 0xa($v1) -.L802ACC0C: -/* 11621C 802ACC0C 448B2000 */ mtc1 $t3, $f4 -/* 116220 802ACC10 00000000 */ nop -/* 116224 802ACC14 468021A0 */ cvt.s.w $f6, $f4 -/* 116228 802ACC18 460C303C */ c.lt.s $f6, $f12 -/* 11622C 802ACC1C 00000000 */ nop -/* 116230 802ACC20 45020004 */ bc1fl .L802ACC34 -/* 116234 802ACC24 846C000C */ lh $t4, 0xc($v1) -/* 116238 802ACC28 10000190 */ b .L802AD26C -/* 11623C 802ACC2C 00001025 */ move $v0, $zero -/* 116240 802ACC30 846C000C */ lh $t4, 0xc($v1) -.L802ACC34: -/* 116244 802ACC34 448C4000 */ mtc1 $t4, $f8 -/* 116248 802ACC38 00000000 */ nop -/* 11624C 802ACC3C 468042A0 */ cvt.s.w $f10, $f8 -/* 116250 802ACC40 460E503C */ c.lt.s $f10, $f14 -/* 116254 802ACC44 00000000 */ nop -/* 116258 802ACC48 45020004 */ bc1fl .L802ACC5C -/* 11625C 802ACC4C 846D0006 */ lh $t5, 6($v1) -/* 116260 802ACC50 10000186 */ b .L802AD26C -/* 116264 802ACC54 00001025 */ move $v0, $zero -/* 116268 802ACC58 846D0006 */ lh $t5, 6($v1) -.L802ACC5C: -/* 11626C 802ACC5C C7A80094 */ lwc1 $f8, 0x94($sp) -/* 116270 802ACC60 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 116274 802ACC64 448D2000 */ mtc1 $t5, $f4 -/* 116278 802ACC68 00000000 */ nop -/* 11627C 802ACC6C 468021A0 */ cvt.s.w $f6, $f4 -/* 116280 802ACC70 4606703C */ c.lt.s $f14, $f6 -/* 116284 802ACC74 00000000 */ nop -/* 116288 802ACC78 45020004 */ bc1fl .L802ACC8C -/* 11628C 802ACC7C 846E0008 */ lh $t6, 8($v1) -/* 116290 802ACC80 1000017A */ b .L802AD26C -/* 116294 802ACC84 00001025 */ move $v0, $zero -/* 116298 802ACC88 846E0008 */ lh $t6, 8($v1) -.L802ACC8C: -/* 11629C 802ACC8C 44815000 */ mtc1 $at, $f10 -/* 1162A0 802ACC90 C7A000A0 */ lwc1 $f0, 0xa0($sp) -/* 1162A4 802ACC94 448E2000 */ mtc1 $t6, $f4 -/* 1162A8 802ACC98 460A4082 */ mul.s $f2, $f8, $f10 -/* 1162AC 802ACC9C 468021A0 */ cvt.s.w $f6, $f4 -/* 1162B0 802ACCA0 46023201 */ sub.s $f8, $f6, $f2 -/* 1162B4 802ACCA4 4608003C */ c.lt.s $f0, $f8 -/* 1162B8 802ACCA8 00000000 */ nop -/* 1162BC 802ACCAC 45020004 */ bc1fl .L802ACCC0 -/* 1162C0 802ACCB0 E7AC0098 */ swc1 $f12, 0x98($sp) -/* 1162C4 802ACCB4 1000016D */ b .L802AD26C -/* 1162C8 802ACCB8 00001025 */ move $v0, $zero -/* 1162CC 802ACCBC E7AC0098 */ swc1 $f12, 0x98($sp) -.L802ACCC0: -/* 1162D0 802ACCC0 E7AE009C */ swc1 $f14, 0x9c($sp) -/* 1162D4 802ACCC4 846F000E */ lh $t7, 0xe($v1) -/* 1162D8 802ACCC8 448F5000 */ mtc1 $t7, $f10 -/* 1162DC 802ACCCC 00000000 */ nop -/* 1162E0 802ACCD0 46805120 */ cvt.s.w $f4, $f10 -/* 1162E4 802ACCD4 46022180 */ add.s $f6, $f4, $f2 -/* 1162E8 802ACCD8 4600303C */ c.lt.s $f6, $f0 -/* 1162EC 802ACCDC 00000000 */ nop -/* 1162F0 802ACCE0 45020004 */ bc1fl .L802ACCF4 -/* 1162F4 802ACCE4 8C640010 */ lw $a0, 0x10($v1) -/* 1162F8 802ACCE8 10000160 */ b .L802AD26C -/* 1162FC 802ACCEC 00001025 */ move $v0, $zero -/* 116300 802ACCF0 8C640010 */ lw $a0, 0x10($v1) -.L802ACCF4: -/* 116304 802ACCF4 8C670018 */ lw $a3, 0x18($v1) -/* 116308 802ACCF8 8C660014 */ lw $a2, 0x14($v1) -/* 11630C 802ACCFC 84980000 */ lh $t8, ($a0) -/* 116310 802ACD00 84990002 */ lh $t9, 2($a0) -/* 116314 802ACD04 84EA0000 */ lh $t2, ($a3) -/* 116318 802ACD08 44984000 */ mtc1 $t8, $f8 -/* 11631C 802ACD0C 44995000 */ mtc1 $t9, $f10 -/* 116320 802ACD10 84C80000 */ lh $t0, ($a2) -/* 116324 802ACD14 46804320 */ cvt.s.w $f12, $f8 -/* 116328 802ACD18 448A4000 */ mtc1 $t2, $f8 -/* 11632C 802ACD1C 84C90002 */ lh $t1, 2($a2) -/* 116330 802ACD20 44882000 */ mtc1 $t0, $f4 -/* 116334 802ACD24 468053A0 */ cvt.s.w $f14, $f10 -/* 116338 802ACD28 44893000 */ mtc1 $t1, $f6 -/* 11633C 802ACD2C 468042A0 */ cvt.s.w $f10, $f8 -/* 116340 802ACD30 C7A8009C */ lwc1 $f8, 0x9c($sp) -/* 116344 802ACD34 46802420 */ cvt.s.w $f16, $f4 -/* 116348 802ACD38 E7AA0070 */ swc1 $f10, 0x70($sp) -/* 11634C 802ACD3C 84EB0002 */ lh $t3, 2($a3) -/* 116350 802ACD40 E7A80008 */ swc1 $f8, 8($sp) -/* 116354 802ACD44 448B2000 */ mtc1 $t3, $f4 -/* 116358 802ACD48 468034A0 */ cvt.s.w $f18, $f6 -/* 11635C 802ACD4C 468021A0 */ cvt.s.w $f6, $f4 -/* 116360 802ACD50 C7A40098 */ lwc1 $f4, 0x98($sp) -/* 116364 802ACD54 E7A40010 */ swc1 $f4, 0x10($sp) -/* 116368 802ACD58 46087281 */ sub.s $f10, $f14, $f8 -/* 11636C 802ACD5C E7A6006C */ swc1 $f6, 0x6c($sp) -/* 116370 802ACD60 46048181 */ sub.s $f6, $f16, $f4 -/* 116374 802ACD64 E7AA002C */ swc1 $f10, 0x2c($sp) -/* 116378 802ACD68 C7AA002C */ lwc1 $f10, 0x2c($sp) -/* 11637C 802ACD6C 46046201 */ sub.s $f8, $f12, $f4 -/* 116380 802ACD70 E7A60028 */ swc1 $f6, 0x28($sp) -/* 116384 802ACD74 C7A60028 */ lwc1 $f6, 0x28($sp) -/* 116388 802ACD78 E7A80024 */ swc1 $f8, 0x24($sp) -/* 11638C 802ACD7C C7A80008 */ lwc1 $f8, 8($sp) -/* 116390 802ACD80 46065002 */ mul.s $f0, $f10, $f6 -/* 116394 802ACD84 E7AA0008 */ swc1 $f10, 8($sp) -/* 116398 802ACD88 46089281 */ sub.s $f10, $f18, $f8 -/* 11639C 802ACD8C E7A6000C */ swc1 $f6, 0xc($sp) -/* 1163A0 802ACD90 E7AA0020 */ swc1 $f10, 0x20($sp) -/* 1163A4 802ACD94 C7A60020 */ lwc1 $f6, 0x20($sp) -/* 1163A8 802ACD98 C7AA0024 */ lwc1 $f10, 0x24($sp) -/* 1163AC 802ACD9C 46065082 */ mul.s $f2, $f10, $f6 -/* 1163B0 802ACDA0 46020101 */ sub.s $f4, $f0, $f2 -/* 1163B4 802ACDA4 46001032 */ c.eq.s $f2, $f0 -/* 1163B8 802ACDA8 E7A4001C */ swc1 $f4, 0x1c($sp) -/* 1163BC 802ACDAC C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 1163C0 802ACDB0 45000018 */ bc1f .L802ACE14 -/* 1163C4 802ACDB4 E7A4003C */ swc1 $f4, 0x3c($sp) -/* 1163C8 802ACDB8 E7A80014 */ swc1 $f8, 0x14($sp) -/* 1163CC 802ACDBC C7A80010 */ lwc1 $f8, 0x10($sp) -/* 1163D0 802ACDC0 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 1163D4 802ACDC4 44809000 */ mtc1 $zero, $f18 -/* 1163D8 802ACDC8 46082001 */ sub.s $f0, $f4, $f8 -/* 1163DC 802ACDCC C7A80014 */ lwc1 $f8, 0x14($sp) -/* 1163E0 802ACDD0 C7A4006C */ lwc1 $f4, 0x6c($sp) -/* 1163E4 802ACDD4 46082081 */ sub.s $f2, $f4, $f8 -/* 1163E8 802ACDD8 46003102 */ mul.s $f4, $f6, $f0 -/* 1163EC 802ACDDC C7A8000C */ lwc1 $f8, 0xc($sp) -/* 1163F0 802ACDE0 46024182 */ mul.s $f6, $f8, $f2 -/* 1163F4 802ACDE4 46062201 */ sub.s $f8, $f4, $f6 -/* 1163F8 802ACDE8 460A1102 */ mul.s $f4, $f2, $f10 -/* 1163FC 802ACDEC C7A60008 */ lwc1 $f6, 8($sp) -/* 116400 802ACDF0 46060282 */ mul.s $f10, $f0, $f6 -/* 116404 802ACDF4 460A2181 */ sub.s $f6, $f4, $f10 -/* 116408 802ACDF8 46064102 */ mul.s $f4, $f8, $f6 -/* 11640C 802ACDFC 4612203C */ c.lt.s $f4, $f18 -/* 116410 802ACE00 00000000 */ nop -/* 116414 802ACE04 45000039 */ bc1f .L802ACEEC -/* 116418 802ACE08 00000000 */ nop -/* 11641C 802ACE0C 10000037 */ b .L802ACEEC -/* 116420 802ACE10 00001025 */ move $v0, $zero -.L802ACE14: -/* 116424 802ACE14 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 116428 802ACE18 C7A8009C */ lwc1 $f8, 0x9c($sp) -/* 11642C 802ACE1C C7A40070 */ lwc1 $f4, 0x70($sp) -/* 116430 802ACE20 C7A60028 */ lwc1 $f6, 0x28($sp) -/* 116434 802ACE24 46085081 */ sub.s $f2, $f10, $f8 -/* 116438 802ACE28 C7AA0098 */ lwc1 $f10, 0x98($sp) -/* 11643C 802ACE2C C7A80020 */ lwc1 $f8, 0x20($sp) -/* 116440 802ACE30 460A2001 */ sub.s $f0, $f4, $f10 -/* 116444 802ACE34 46023382 */ mul.s $f14, $f6, $f2 -/* 116448 802ACE38 C7A60024 */ lwc1 $f6, 0x24($sp) -/* 11644C 802ACE3C C7AA002C */ lwc1 $f10, 0x2c($sp) -/* 116450 802ACE40 46004302 */ mul.s $f12, $f8, $f0 -/* 116454 802ACE44 460C7032 */ c.eq.s $f14, $f12 -/* 116458 802ACE48 00000000 */ nop -/* 11645C 802ACE4C 4502000E */ bc1fl .L802ACE88 -/* 116460 802ACE50 460E6401 */ sub.s $f16, $f12, $f14 -/* 116464 802ACE54 46061102 */ mul.s $f4, $f2, $f6 -/* 116468 802ACE58 44809000 */ mtc1 $zero, $f18 -/* 11646C 802ACE5C 460A0202 */ mul.s $f8, $f0, $f10 -/* 116470 802ACE60 C7AA003C */ lwc1 $f10, 0x3c($sp) -/* 116474 802ACE64 46082181 */ sub.s $f6, $f4, $f8 -/* 116478 802ACE68 46065102 */ mul.s $f4, $f10, $f6 -/* 11647C 802ACE6C 4612203C */ c.lt.s $f4, $f18 -/* 116480 802ACE70 00000000 */ nop -/* 116484 802ACE74 4500001D */ bc1f .L802ACEEC -/* 116488 802ACE78 00000000 */ nop -/* 11648C 802ACE7C 1000001B */ b .L802ACEEC -/* 116490 802ACE80 00001025 */ move $v0, $zero -/* 116494 802ACE84 460E6401 */ sub.s $f16, $f12, $f14 -.L802ACE88: -/* 116498 802ACE88 C7A8001C */ lwc1 $f8, 0x1c($sp) -/* 11649C 802ACE8C 44809000 */ mtc1 $zero, $f18 -/* 1164A0 802ACE90 C7A6002C */ lwc1 $f6, 0x2c($sp) -/* 1164A4 802ACE94 46104282 */ mul.s $f10, $f8, $f16 -/* 1164A8 802ACE98 C7A40024 */ lwc1 $f4, 0x24($sp) -/* 1164AC 802ACE9C 4612503C */ c.lt.s $f10, $f18 -/* 1164B0 802ACEA0 00000000 */ nop -/* 1164B4 802ACEA4 45000003 */ bc1f .L802ACEB4 -/* 1164B8 802ACEA8 00000000 */ nop -/* 1164BC 802ACEAC 1000000F */ b .L802ACEEC -/* 1164C0 802ACEB0 00001025 */ move $v0, $zero -.L802ACEB4: -/* 1164C4 802ACEB4 46060382 */ mul.s $f14, $f0, $f6 -/* 1164C8 802ACEB8 00000000 */ nop -/* 1164CC 802ACEBC 46041302 */ mul.s $f12, $f2, $f4 -/* 1164D0 802ACEC0 460C7032 */ c.eq.s $f14, $f12 -/* 1164D4 802ACEC4 00000000 */ nop -/* 1164D8 802ACEC8 45010008 */ bc1t .L802ACEEC -/* 1164DC 802ACECC 00000000 */ nop -/* 1164E0 802ACED0 460E6201 */ sub.s $f8, $f12, $f14 -/* 1164E4 802ACED4 46088282 */ mul.s $f10, $f16, $f8 -/* 1164E8 802ACED8 4612503C */ c.lt.s $f10, $f18 -/* 1164EC 802ACEDC 00000000 */ nop -/* 1164F0 802ACEE0 45000002 */ bc1f .L802ACEEC -/* 1164F4 802ACEE4 00000000 */ nop -/* 1164F8 802ACEE8 00001025 */ move $v0, $zero -.L802ACEEC: -/* 1164FC 802ACEEC 14400003 */ bnez $v0, .L802ACEFC -/* 116500 802ACEF0 C7A60098 */ lwc1 $f6, 0x98($sp) -/* 116504 802ACEF4 100000DD */ b .L802AD26C -/* 116508 802ACEF8 00001025 */ move $v0, $zero -.L802ACEFC: -/* 11650C 802ACEFC C462001C */ lwc1 $f2, 0x1c($v1) -/* 116510 802ACF00 C46C0020 */ lwc1 $f12, 0x20($v1) -/* 116514 802ACF04 C7A8009C */ lwc1 $f8, 0x9c($sp) -/* 116518 802ACF08 46061102 */ mul.s $f4, $f2, $f6 -/* 11651C 802ACF0C C46E0024 */ lwc1 $f14, 0x24($v1) -/* 116520 802ACF10 946C0000 */ lhu $t4, ($v1) -/* 116524 802ACF14 46086282 */ mul.s $f10, $f12, $f8 -/* 116528 802ACF18 C7A800A0 */ lwc1 $f8, 0xa0($sp) -/* 11652C 802ACF1C C4700028 */ lwc1 $f16, 0x28($v1) -/* 116530 802ACF20 318D0200 */ andi $t5, $t4, 0x200 -/* 116534 802ACF24 460A2180 */ add.s $f6, $f4, $f10 -/* 116538 802ACF28 46087102 */ mul.s $f4, $f14, $f8 -/* 11653C 802ACF2C C7A800A8 */ lwc1 $f8, 0xa8($sp) -/* 116540 802ACF30 46043280 */ add.s $f10, $f6, $f4 -/* 116544 802ACF34 C7A40094 */ lwc1 $f4, 0x94($sp) -/* 116548 802ACF38 11A0009A */ beqz $t5, .L802AD1A4 -/* 11654C 802ACF3C 46105000 */ add.s $f0, $f10, $f16 -/* 116550 802ACF40 46081182 */ mul.s $f6, $f2, $f8 -/* 116554 802ACF44 C7A400AC */ lwc1 $f4, 0xac($sp) -/* 116558 802ACF48 4600903C */ c.lt.s $f18, $f0 -/* 11655C 802ACF4C 46046282 */ mul.s $f10, $f12, $f4 -/* 116560 802ACF50 C7A400B0 */ lwc1 $f4, 0xb0($sp) -/* 116564 802ACF54 460A3200 */ add.s $f8, $f6, $f10 -/* 116568 802ACF58 46047182 */ mul.s $f6, $f14, $f4 -/* 11656C 802ACF5C 46064280 */ add.s $f10, $f8, $f6 -/* 116570 802ACF60 46105100 */ add.s $f4, $f10, $f16 -/* 116574 802ACF64 45000018 */ bc1f .L802ACFC8 -/* 116578 802ACF68 E7A40048 */ swc1 $f4, 0x48($sp) -/* 11657C 802ACF6C 4604903C */ c.lt.s $f18, $f4 -/* 116580 802ACF70 C7A20094 */ lwc1 $f2, 0x94($sp) -/* 116584 802ACF74 45020015 */ bc1fl .L802ACFCC -/* 116588 802ACF78 4612003C */ c.lt.s $f0, $f18 -/* 11658C 802ACF7C 4602003C */ c.lt.s $f0, $f2 -/* 116590 802ACF80 00000000 */ nop -/* 116594 802ACF84 4500000E */ bc1f .L802ACFC0 -/* 116598 802ACF88 00000000 */ nop -/* 11659C 802ACF8C 46020201 */ sub.s $f8, $f0, $f2 -/* 1165A0 802ACF90 240E0001 */ li $t6, 1 -/* 1165A4 802ACF94 A60E0000 */ sh $t6, ($s0) -/* 1165A8 802ACF98 A6050006 */ sh $a1, 6($s0) -/* 1165AC 802ACF9C E608000C */ swc1 $f8, 0xc($s0) -/* 1165B0 802ACFA0 C466001C */ lwc1 $f6, 0x1c($v1) -/* 1165B4 802ACFA4 24020001 */ li $v0, 1 -/* 1165B8 802ACFA8 E6060018 */ swc1 $f6, 0x18($s0) -/* 1165BC 802ACFAC C46A0020 */ lwc1 $f10, 0x20($v1) -/* 1165C0 802ACFB0 E60A001C */ swc1 $f10, 0x1c($s0) -/* 1165C4 802ACFB4 C4640024 */ lwc1 $f4, 0x24($v1) -/* 1165C8 802ACFB8 100000AC */ b .L802AD26C -/* 1165CC 802ACFBC E6040020 */ swc1 $f4, 0x20($s0) -.L802ACFC0: -/* 1165D0 802ACFC0 100000AA */ b .L802AD26C -/* 1165D4 802ACFC4 00001025 */ move $v0, $zero -.L802ACFC8: -/* 1165D8 802ACFC8 4612003C */ c.lt.s $f0, $f18 -.L802ACFCC: -/* 1165DC 802ACFCC C7A80048 */ lwc1 $f8, 0x48($sp) -/* 1165E0 802ACFD0 4502001F */ bc1fl .L802AD050 -/* 1165E4 802ACFD4 4600903C */ c.lt.s $f18, $f0 -/* 1165E8 802ACFD8 4612403C */ c.lt.s $f8, $f18 -/* 1165EC 802ACFDC 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 1165F0 802ACFE0 4502001B */ bc1fl .L802AD050 -/* 1165F4 802ACFE4 4600903C */ c.lt.s $f18, $f0 -/* 1165F8 802ACFE8 44813000 */ mtc1 $at, $f6 -/* 1165FC 802ACFEC C7A20094 */ lwc1 $f2, 0x94($sp) -/* 116600 802ACFF0 46060002 */ mul.s $f0, $f0, $f6 -/* 116604 802ACFF4 4602003C */ c.lt.s $f0, $f2 -/* 116608 802ACFF8 00000000 */ nop -/* 11660C 802ACFFC 45000011 */ bc1f .L802AD044 -/* 116610 802AD000 00000000 */ nop -/* 116614 802AD004 46020281 */ sub.s $f10, $f0, $f2 -/* 116618 802AD008 240F0001 */ li $t7, 1 -/* 11661C 802AD00C A60F0000 */ sh $t7, ($s0) -/* 116620 802AD010 A6050006 */ sh $a1, 6($s0) -/* 116624 802AD014 E60A000C */ swc1 $f10, 0xc($s0) -/* 116628 802AD018 C464001C */ lwc1 $f4, 0x1c($v1) -/* 11662C 802AD01C 24020001 */ li $v0, 1 -/* 116630 802AD020 46002207 */ neg.s $f8, $f4 -/* 116634 802AD024 E6080018 */ swc1 $f8, 0x18($s0) -/* 116638 802AD028 C4660020 */ lwc1 $f6, 0x20($v1) -/* 11663C 802AD02C 46003287 */ neg.s $f10, $f6 -/* 116640 802AD030 E60A001C */ swc1 $f10, 0x1c($s0) -/* 116644 802AD034 C4640024 */ lwc1 $f4, 0x24($v1) -/* 116648 802AD038 46002207 */ neg.s $f8, $f4 -/* 11664C 802AD03C 1000008B */ b .L802AD26C -/* 116650 802AD040 E6080020 */ swc1 $f8, 0x20($s0) -.L802AD044: -/* 116654 802AD044 10000089 */ b .L802AD26C -/* 116658 802AD048 00001025 */ move $v0, $zero -/* 11665C 802AD04C 4600903C */ c.lt.s $f18, $f0 -.L802AD050: -/* 116660 802AD050 C7A60048 */ lwc1 $f6, 0x48($sp) -/* 116664 802AD054 45020017 */ bc1fl .L802AD0B4 -/* 116668 802AD058 4612003C */ c.lt.s $f0, $f18 -/* 11666C 802AD05C 4612303C */ c.lt.s $f6, $f18 -/* 116670 802AD060 24180001 */ li $t8, 1 -/* 116674 802AD064 45020013 */ bc1fl .L802AD0B4 -/* 116678 802AD068 4612003C */ c.lt.s $f0, $f18 -/* 11667C 802AD06C A6180000 */ sh $t8, ($s0) -/* 116680 802AD070 A6050006 */ sh $a1, 6($s0) -/* 116684 802AD074 C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 116688 802AD078 24020001 */ li $v0, 1 -/* 11668C 802AD07C 460A0100 */ add.s $f4, $f0, $f10 -/* 116690 802AD080 46002207 */ neg.s $f8, $f4 -/* 116694 802AD084 E608000C */ swc1 $f8, 0xc($s0) -/* 116698 802AD088 C466001C */ lwc1 $f6, 0x1c($v1) -/* 11669C 802AD08C 46003287 */ neg.s $f10, $f6 -/* 1166A0 802AD090 E60A0018 */ swc1 $f10, 0x18($s0) -/* 1166A4 802AD094 C4640020 */ lwc1 $f4, 0x20($v1) -/* 1166A8 802AD098 46002207 */ neg.s $f8, $f4 -/* 1166AC 802AD09C E608001C */ swc1 $f8, 0x1c($s0) -/* 1166B0 802AD0A0 C4660024 */ lwc1 $f6, 0x24($v1) -/* 1166B4 802AD0A4 46003287 */ neg.s $f10, $f6 -/* 1166B8 802AD0A8 10000070 */ b .L802AD26C -/* 1166BC 802AD0AC E60A0020 */ swc1 $f10, 0x20($s0) -/* 1166C0 802AD0B0 4612003C */ c.lt.s $f0, $f18 -.L802AD0B4: -/* 1166C4 802AD0B4 C7A40048 */ lwc1 $f4, 0x48($sp) -/* 1166C8 802AD0B8 45020013 */ bc1fl .L802AD108 -/* 1166CC 802AD0BC 46120032 */ c.eq.s $f0, $f18 -/* 1166D0 802AD0C0 4604903C */ c.lt.s $f18, $f4 -/* 1166D4 802AD0C4 24190001 */ li $t9, 1 -/* 1166D8 802AD0C8 4502000F */ bc1fl .L802AD108 -/* 1166DC 802AD0CC 46120032 */ c.eq.s $f0, $f18 -/* 1166E0 802AD0D0 A6190000 */ sh $t9, ($s0) -/* 1166E4 802AD0D4 A6050006 */ sh $a1, 6($s0) -/* 1166E8 802AD0D8 C7A80094 */ lwc1 $f8, 0x94($sp) -/* 1166EC 802AD0DC 24020001 */ li $v0, 1 -/* 1166F0 802AD0E0 46080180 */ add.s $f6, $f0, $f8 -/* 1166F4 802AD0E4 E606000C */ swc1 $f6, 0xc($s0) -/* 1166F8 802AD0E8 C46A001C */ lwc1 $f10, 0x1c($v1) -/* 1166FC 802AD0EC E60A0018 */ swc1 $f10, 0x18($s0) -/* 116700 802AD0F0 C4640020 */ lwc1 $f4, 0x20($v1) -/* 116704 802AD0F4 E604001C */ swc1 $f4, 0x1c($s0) -/* 116708 802AD0F8 C4680024 */ lwc1 $f8, 0x24($v1) -/* 11670C 802AD0FC 1000005B */ b .L802AD26C -/* 116710 802AD100 E6080020 */ swc1 $f8, 0x20($s0) -/* 116714 802AD104 46120032 */ c.eq.s $f0, $f18 -.L802AD108: -/* 116718 802AD108 C7A60048 */ lwc1 $f6, 0x48($sp) -/* 11671C 802AD10C 45000023 */ bc1f .L802AD19C -/* 116720 802AD110 00000000 */ nop -/* 116724 802AD114 4606903E */ c.le.s $f18, $f6 -/* 116728 802AD118 24080001 */ li $t0, 1 -/* 11672C 802AD11C 24090001 */ li $t1, 1 -/* 116730 802AD120 45020010 */ bc1fl .L802AD164 -/* 116734 802AD124 A6090000 */ sh $t1, ($s0) -/* 116738 802AD128 A6080000 */ sh $t0, ($s0) -/* 11673C 802AD12C A6050006 */ sh $a1, 6($s0) -/* 116740 802AD130 C7A40094 */ lwc1 $f4, 0x94($sp) -/* 116744 802AD134 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 116748 802AD138 24020001 */ li $v0, 1 -/* 11674C 802AD13C 46045200 */ add.s $f8, $f10, $f4 -/* 116750 802AD140 E608000C */ swc1 $f8, 0xc($s0) -/* 116754 802AD144 C466001C */ lwc1 $f6, 0x1c($v1) -/* 116758 802AD148 E6060018 */ swc1 $f6, 0x18($s0) -/* 11675C 802AD14C C46A0020 */ lwc1 $f10, 0x20($v1) -/* 116760 802AD150 E60A001C */ swc1 $f10, 0x1c($s0) -/* 116764 802AD154 C4640024 */ lwc1 $f4, 0x24($v1) -/* 116768 802AD158 10000044 */ b .L802AD26C -/* 11676C 802AD15C E6040020 */ swc1 $f4, 0x20($s0) -/* 116770 802AD160 A6090000 */ sh $t1, ($s0) -.L802AD164: -/* 116774 802AD164 A6050006 */ sh $a1, 6($s0) -/* 116778 802AD168 C7A60094 */ lwc1 $f6, 0x94($sp) -/* 11677C 802AD16C C7A80048 */ lwc1 $f8, 0x48($sp) -/* 116780 802AD170 24020001 */ li $v0, 1 -/* 116784 802AD174 46064280 */ add.s $f10, $f8, $f6 -/* 116788 802AD178 46005107 */ neg.s $f4, $f10 -/* 11678C 802AD17C E604000C */ swc1 $f4, 0xc($s0) -/* 116790 802AD180 C468001C */ lwc1 $f8, 0x1c($v1) -/* 116794 802AD184 E6080018 */ swc1 $f8, 0x18($s0) -/* 116798 802AD188 C4660020 */ lwc1 $f6, 0x20($v1) -/* 11679C 802AD18C E606001C */ swc1 $f6, 0x1c($s0) -/* 1167A0 802AD190 C46A0024 */ lwc1 $f10, 0x24($v1) -/* 1167A4 802AD194 10000035 */ b .L802AD26C -/* 1167A8 802AD198 E60A0020 */ swc1 $f10, 0x20($s0) -.L802AD19C: -/* 1167AC 802AD19C 10000033 */ b .L802AD26C -/* 1167B0 802AD1A0 00001025 */ move $v0, $zero -.L802AD1A4: -/* 1167B4 802AD1A4 4600203C */ c.lt.s $f4, $f0 -/* 1167B8 802AD1A8 C7AA00A8 */ lwc1 $f10, 0xa8($sp) -/* 1167BC 802AD1AC C7A800AC */ lwc1 $f8, 0xac($sp) -/* 1167C0 802AD1B0 45000014 */ bc1f .L802AD204 -/* 1167C4 802AD1B4 00000000 */ nop -/* 1167C8 802AD1B8 C608000C */ lwc1 $f8, 0xc($s0) -/* 1167CC 802AD1BC 240A0001 */ li $t2, 1 -/* 1167D0 802AD1C0 4608003C */ c.lt.s $f0, $f8 -/* 1167D4 802AD1C4 00000000 */ nop -/* 1167D8 802AD1C8 4500000C */ bc1f .L802AD1FC -/* 1167DC 802AD1CC 00000000 */ nop -/* 1167E0 802AD1D0 A60A0000 */ sh $t2, ($s0) -/* 1167E4 802AD1D4 A6050006 */ sh $a1, 6($s0) -/* 1167E8 802AD1D8 C7A60094 */ lwc1 $f6, 0x94($sp) -/* 1167EC 802AD1DC 46060281 */ sub.s $f10, $f0, $f6 -/* 1167F0 802AD1E0 E60A000C */ swc1 $f10, 0xc($s0) -/* 1167F4 802AD1E4 C464001C */ lwc1 $f4, 0x1c($v1) -/* 1167F8 802AD1E8 E6040018 */ swc1 $f4, 0x18($s0) -/* 1167FC 802AD1EC C4680020 */ lwc1 $f8, 0x20($v1) -/* 116800 802AD1F0 E608001C */ swc1 $f8, 0x1c($s0) -/* 116804 802AD1F4 C4660024 */ lwc1 $f6, 0x24($v1) -/* 116808 802AD1F8 E6060020 */ swc1 $f6, 0x20($s0) -.L802AD1FC: -/* 11680C 802AD1FC 1000001B */ b .L802AD26C -/* 116810 802AD200 00001025 */ move $v0, $zero -.L802AD204: -/* 116814 802AD204 460A1102 */ mul.s $f4, $f2, $f10 -/* 116818 802AD208 240B0001 */ li $t3, 1 -/* 11681C 802AD20C 46086182 */ mul.s $f6, $f12, $f8 -/* 116820 802AD210 C7A800B0 */ lwc1 $f8, 0xb0($sp) -/* 116824 802AD214 46062280 */ add.s $f10, $f4, $f6 -/* 116828 802AD218 46087102 */ mul.s $f4, $f14, $f8 -/* 11682C 802AD21C 46045180 */ add.s $f6, $f10, $f4 -/* 116830 802AD220 46103200 */ add.s $f8, $f6, $f16 -/* 116834 802AD224 4612403C */ c.lt.s $f8, $f18 -/* 116838 802AD228 E7A80048 */ swc1 $f8, 0x48($sp) -/* 11683C 802AD22C 45020004 */ bc1fl .L802AD240 -/* 116840 802AD230 A60B0000 */ sh $t3, ($s0) -/* 116844 802AD234 1000000D */ b .L802AD26C -/* 116848 802AD238 00001025 */ move $v0, $zero -/* 11684C 802AD23C A60B0000 */ sh $t3, ($s0) -.L802AD240: -/* 116850 802AD240 A6050006 */ sh $a1, 6($s0) -/* 116854 802AD244 C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 116858 802AD248 24020001 */ li $v0, 1 -/* 11685C 802AD24C 460A0101 */ sub.s $f4, $f0, $f10 -/* 116860 802AD250 E604000C */ swc1 $f4, 0xc($s0) -/* 116864 802AD254 C466001C */ lwc1 $f6, 0x1c($v1) -/* 116868 802AD258 E6060018 */ swc1 $f6, 0x18($s0) -/* 11686C 802AD25C C4680020 */ lwc1 $f8, 0x20($v1) -/* 116870 802AD260 E608001C */ swc1 $f8, 0x1c($s0) -/* 116874 802AD264 C46A0024 */ lwc1 $f10, 0x24($v1) -/* 116878 802AD268 E60A0020 */ swc1 $f10, 0x20($s0) -.L802AD26C: -/* 11687C 802AD26C 8FB00004 */ lw $s0, 4($sp) -/* 116880 802AD270 03E00008 */ jr $ra -/* 116884 802AD274 27BD0090 */ addiu $sp, $sp, 0x90 diff --git a/asm/non_matchings/code_802AAA70/func_802AD278.s b/asm/non_matchings/code_802AAA70/func_802AD278.s deleted file mode 100644 index c22dafca4..000000000 --- a/asm/non_matchings/code_802AAA70/func_802AD278.s +++ /dev/null @@ -1,464 +0,0 @@ -glabel func_802AD278 -/* 116888 802AD278 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 11688C 802AD27C AFA50094 */ sw $a1, 0x94($sp) -/* 116890 802AD280 97A500A6 */ lhu $a1, 0xa6($sp) -/* 116894 802AD284 3C098016 */ lui $t1, %hi(D_8015F580) # $t1, 0x8016 -/* 116898 802AD288 8D29F580 */ lw $t1, %lo(D_8015F580)($t1) -/* 11689C 802AD28C 00054080 */ sll $t0, $a1, 2 -/* 1168A0 802AD290 01054023 */ subu $t0, $t0, $a1 -/* 1168A4 802AD294 00084080 */ sll $t0, $t0, 2 -/* 1168A8 802AD298 01054023 */ subu $t0, $t0, $a1 -/* 1168AC 802AD29C 00084080 */ sll $t0, $t0, 2 -/* 1168B0 802AD2A0 AFB00004 */ sw $s0, 4($sp) -/* 1168B4 802AD2A4 AFA60098 */ sw $a2, 0x98($sp) -/* 1168B8 802AD2A8 01091821 */ addu $v1, $t0, $t1 -/* 1168BC 802AD2AC 846A0008 */ lh $t2, 8($v1) -/* 1168C0 802AD2B0 C7AC00A0 */ lwc1 $f12, 0xa0($sp) -/* 1168C4 802AD2B4 44877000 */ mtc1 $a3, $f14 -/* 1168C8 802AD2B8 448A4000 */ mtc1 $t2, $f8 -/* 1168CC 802AD2BC 00808025 */ move $s0, $a0 -/* 1168D0 802AD2C0 24020001 */ li $v0, 1 -/* 1168D4 802AD2C4 468041A0 */ cvt.s.w $f6, $f8 -/* 1168D8 802AD2C8 4606603C */ c.lt.s $f12, $f6 -/* 1168DC 802AD2CC 00000000 */ nop -/* 1168E0 802AD2D0 45020004 */ bc1fl .L802AD2E4 -/* 1168E4 802AD2D4 846B000E */ lh $t3, 0xe($v1) -/* 1168E8 802AD2D8 1000019A */ b .L802AD944 -/* 1168EC 802AD2DC 00001025 */ move $v0, $zero -/* 1168F0 802AD2E0 846B000E */ lh $t3, 0xe($v1) -.L802AD2E4: -/* 1168F4 802AD2E4 448B5000 */ mtc1 $t3, $f10 -/* 1168F8 802AD2E8 00000000 */ nop -/* 1168FC 802AD2EC 46805120 */ cvt.s.w $f4, $f10 -/* 116900 802AD2F0 460C203C */ c.lt.s $f4, $f12 -/* 116904 802AD2F4 00000000 */ nop -/* 116908 802AD2F8 45020004 */ bc1fl .L802AD30C -/* 11690C 802AD2FC 846C000C */ lh $t4, 0xc($v1) -/* 116910 802AD300 10000190 */ b .L802AD944 -/* 116914 802AD304 00001025 */ move $v0, $zero -/* 116918 802AD308 846C000C */ lh $t4, 0xc($v1) -.L802AD30C: -/* 11691C 802AD30C 448C4000 */ mtc1 $t4, $f8 -/* 116920 802AD310 00000000 */ nop -/* 116924 802AD314 468041A0 */ cvt.s.w $f6, $f8 -/* 116928 802AD318 460E303C */ c.lt.s $f6, $f14 -/* 11692C 802AD31C 00000000 */ nop -/* 116930 802AD320 45020004 */ bc1fl .L802AD334 -/* 116934 802AD324 846D0006 */ lh $t5, 6($v1) -/* 116938 802AD328 10000186 */ b .L802AD944 -/* 11693C 802AD32C 00001025 */ move $v0, $zero -/* 116940 802AD330 846D0006 */ lh $t5, 6($v1) -.L802AD334: -/* 116944 802AD334 C7A80094 */ lwc1 $f8, 0x94($sp) -/* 116948 802AD338 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 11694C 802AD33C 448D5000 */ mtc1 $t5, $f10 -/* 116950 802AD340 00000000 */ nop -/* 116954 802AD344 46805120 */ cvt.s.w $f4, $f10 -/* 116958 802AD348 4604703C */ c.lt.s $f14, $f4 -/* 11695C 802AD34C 00000000 */ nop -/* 116960 802AD350 45020004 */ bc1fl .L802AD364 -/* 116964 802AD354 846E0004 */ lh $t6, 4($v1) -/* 116968 802AD358 1000017A */ b .L802AD944 -/* 11696C 802AD35C 00001025 */ move $v0, $zero -/* 116970 802AD360 846E0004 */ lh $t6, 4($v1) -.L802AD364: -/* 116974 802AD364 44813000 */ mtc1 $at, $f6 -/* 116978 802AD368 C7AA0098 */ lwc1 $f10, 0x98($sp) -/* 11697C 802AD36C 448E2000 */ mtc1 $t6, $f4 -/* 116980 802AD370 46064002 */ mul.s $f0, $f8, $f6 -/* 116984 802AD374 46802220 */ cvt.s.w $f8, $f4 -/* 116988 802AD378 46004181 */ sub.s $f6, $f8, $f0 -/* 11698C 802AD37C 4606503C */ c.lt.s $f10, $f6 -/* 116990 802AD380 00000000 */ nop -/* 116994 802AD384 45020004 */ bc1fl .L802AD398 -/* 116998 802AD388 E7AE009C */ swc1 $f14, 0x9c($sp) -/* 11699C 802AD38C 1000016D */ b .L802AD944 -/* 1169A0 802AD390 00001025 */ move $v0, $zero -/* 1169A4 802AD394 E7AE009C */ swc1 $f14, 0x9c($sp) -.L802AD398: -/* 1169A8 802AD398 846F000A */ lh $t7, 0xa($v1) -/* 1169AC 802AD39C C7A60098 */ lwc1 $f6, 0x98($sp) -/* 1169B0 802AD3A0 448F2000 */ mtc1 $t7, $f4 -/* 1169B4 802AD3A4 00000000 */ nop -/* 1169B8 802AD3A8 46802220 */ cvt.s.w $f8, $f4 -/* 1169BC 802AD3AC 46004280 */ add.s $f10, $f8, $f0 -/* 1169C0 802AD3B0 4606503C */ c.lt.s $f10, $f6 -/* 1169C4 802AD3B4 00000000 */ nop -/* 1169C8 802AD3B8 45020004 */ bc1fl .L802AD3CC -/* 1169CC 802AD3BC 8C640010 */ lw $a0, 0x10($v1) -/* 1169D0 802AD3C0 10000160 */ b .L802AD944 -/* 1169D4 802AD3C4 00001025 */ move $v0, $zero -/* 1169D8 802AD3C8 8C640010 */ lw $a0, 0x10($v1) -.L802AD3CC: -/* 1169DC 802AD3CC 8C670018 */ lw $a3, 0x18($v1) -/* 1169E0 802AD3D0 8C660014 */ lw $a2, 0x14($v1) -/* 1169E4 802AD3D4 84980004 */ lh $t8, 4($a0) -/* 1169E8 802AD3D8 84990002 */ lh $t9, 2($a0) -/* 1169EC 802AD3DC 84EA0004 */ lh $t2, 4($a3) -/* 1169F0 802AD3E0 44982000 */ mtc1 $t8, $f4 -/* 1169F4 802AD3E4 44994000 */ mtc1 $t9, $f8 -/* 1169F8 802AD3E8 84C80004 */ lh $t0, 4($a2) -/* 1169FC 802AD3EC 46802320 */ cvt.s.w $f12, $f4 -/* 116A00 802AD3F0 448A2000 */ mtc1 $t2, $f4 -/* 116A04 802AD3F4 84C90002 */ lh $t1, 2($a2) -/* 116A08 802AD3F8 44885000 */ mtc1 $t0, $f10 -/* 116A0C 802AD3FC 468043A0 */ cvt.s.w $f14, $f8 -/* 116A10 802AD400 44893000 */ mtc1 $t1, $f6 -/* 116A14 802AD404 46802220 */ cvt.s.w $f8, $f4 -/* 116A18 802AD408 C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 116A1C 802AD40C 46805420 */ cvt.s.w $f16, $f10 -/* 116A20 802AD410 E7A80064 */ swc1 $f8, 0x64($sp) -/* 116A24 802AD414 84EB0002 */ lh $t3, 2($a3) -/* 116A28 802AD418 E7A40008 */ swc1 $f4, 8($sp) -/* 116A2C 802AD41C 448B5000 */ mtc1 $t3, $f10 -/* 116A30 802AD420 468034A0 */ cvt.s.w $f18, $f6 -/* 116A34 802AD424 468051A0 */ cvt.s.w $f6, $f10 -/* 116A38 802AD428 C7AA00A0 */ lwc1 $f10, 0xa0($sp) -/* 116A3C 802AD42C E7AA0010 */ swc1 $f10, 0x10($sp) -/* 116A40 802AD430 46047201 */ sub.s $f8, $f14, $f4 -/* 116A44 802AD434 E7A60068 */ swc1 $f6, 0x68($sp) -/* 116A48 802AD438 460A8181 */ sub.s $f6, $f16, $f10 -/* 116A4C 802AD43C E7A8002C */ swc1 $f8, 0x2c($sp) -/* 116A50 802AD440 C7A8002C */ lwc1 $f8, 0x2c($sp) -/* 116A54 802AD444 460A6101 */ sub.s $f4, $f12, $f10 -/* 116A58 802AD448 E7A60028 */ swc1 $f6, 0x28($sp) -/* 116A5C 802AD44C C7A60028 */ lwc1 $f6, 0x28($sp) -/* 116A60 802AD450 E7A40024 */ swc1 $f4, 0x24($sp) -/* 116A64 802AD454 C7A40008 */ lwc1 $f4, 8($sp) -/* 116A68 802AD458 46064002 */ mul.s $f0, $f8, $f6 -/* 116A6C 802AD45C E7A80008 */ swc1 $f8, 8($sp) -/* 116A70 802AD460 46049201 */ sub.s $f8, $f18, $f4 -/* 116A74 802AD464 E7A6000C */ swc1 $f6, 0xc($sp) -/* 116A78 802AD468 E7A80020 */ swc1 $f8, 0x20($sp) -/* 116A7C 802AD46C C7A60020 */ lwc1 $f6, 0x20($sp) -/* 116A80 802AD470 C7A80024 */ lwc1 $f8, 0x24($sp) -/* 116A84 802AD474 46064082 */ mul.s $f2, $f8, $f6 -/* 116A88 802AD478 46020281 */ sub.s $f10, $f0, $f2 -/* 116A8C 802AD47C 46001032 */ c.eq.s $f2, $f0 -/* 116A90 802AD480 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 116A94 802AD484 C7AA001C */ lwc1 $f10, 0x1c($sp) -/* 116A98 802AD488 45000018 */ bc1f .L802AD4EC -/* 116A9C 802AD48C E7AA0038 */ swc1 $f10, 0x38($sp) -/* 116AA0 802AD490 E7A40014 */ swc1 $f4, 0x14($sp) -/* 116AA4 802AD494 C7A40010 */ lwc1 $f4, 0x10($sp) -/* 116AA8 802AD498 C7AA0064 */ lwc1 $f10, 0x64($sp) -/* 116AAC 802AD49C 44809000 */ mtc1 $zero, $f18 -/* 116AB0 802AD4A0 46045001 */ sub.s $f0, $f10, $f4 -/* 116AB4 802AD4A4 C7A40014 */ lwc1 $f4, 0x14($sp) -/* 116AB8 802AD4A8 C7AA0068 */ lwc1 $f10, 0x68($sp) -/* 116ABC 802AD4AC 46045081 */ sub.s $f2, $f10, $f4 -/* 116AC0 802AD4B0 46003282 */ mul.s $f10, $f6, $f0 -/* 116AC4 802AD4B4 C7A4000C */ lwc1 $f4, 0xc($sp) -/* 116AC8 802AD4B8 46022182 */ mul.s $f6, $f4, $f2 -/* 116ACC 802AD4BC 46065101 */ sub.s $f4, $f10, $f6 -/* 116AD0 802AD4C0 46081282 */ mul.s $f10, $f2, $f8 -/* 116AD4 802AD4C4 C7A60008 */ lwc1 $f6, 8($sp) -/* 116AD8 802AD4C8 46060202 */ mul.s $f8, $f0, $f6 -/* 116ADC 802AD4CC 46085181 */ sub.s $f6, $f10, $f8 -/* 116AE0 802AD4D0 46062282 */ mul.s $f10, $f4, $f6 -/* 116AE4 802AD4D4 4612503C */ c.lt.s $f10, $f18 -/* 116AE8 802AD4D8 00000000 */ nop -/* 116AEC 802AD4DC 45000039 */ bc1f .L802AD5C4 -/* 116AF0 802AD4E0 00000000 */ nop -/* 116AF4 802AD4E4 10000037 */ b .L802AD5C4 -/* 116AF8 802AD4E8 00001025 */ move $v0, $zero -.L802AD4EC: -/* 116AFC 802AD4EC C7A80068 */ lwc1 $f8, 0x68($sp) -/* 116B00 802AD4F0 C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 116B04 802AD4F4 C7AA0064 */ lwc1 $f10, 0x64($sp) -/* 116B08 802AD4F8 C7A60028 */ lwc1 $f6, 0x28($sp) -/* 116B0C 802AD4FC 46044081 */ sub.s $f2, $f8, $f4 -/* 116B10 802AD500 C7A800A0 */ lwc1 $f8, 0xa0($sp) -/* 116B14 802AD504 C7A40020 */ lwc1 $f4, 0x20($sp) -/* 116B18 802AD508 46085001 */ sub.s $f0, $f10, $f8 -/* 116B1C 802AD50C 46023382 */ mul.s $f14, $f6, $f2 -/* 116B20 802AD510 C7A60024 */ lwc1 $f6, 0x24($sp) -/* 116B24 802AD514 C7A8002C */ lwc1 $f8, 0x2c($sp) -/* 116B28 802AD518 46002302 */ mul.s $f12, $f4, $f0 -/* 116B2C 802AD51C 460C7032 */ c.eq.s $f14, $f12 -/* 116B30 802AD520 00000000 */ nop -/* 116B34 802AD524 4502000E */ bc1fl .L802AD560 -/* 116B38 802AD528 460E6401 */ sub.s $f16, $f12, $f14 -/* 116B3C 802AD52C 46061282 */ mul.s $f10, $f2, $f6 -/* 116B40 802AD530 44809000 */ mtc1 $zero, $f18 -/* 116B44 802AD534 46080102 */ mul.s $f4, $f0, $f8 -/* 116B48 802AD538 C7A80038 */ lwc1 $f8, 0x38($sp) -/* 116B4C 802AD53C 46045181 */ sub.s $f6, $f10, $f4 -/* 116B50 802AD540 46064282 */ mul.s $f10, $f8, $f6 -/* 116B54 802AD544 4612503C */ c.lt.s $f10, $f18 -/* 116B58 802AD548 00000000 */ nop -/* 116B5C 802AD54C 4500001D */ bc1f .L802AD5C4 -/* 116B60 802AD550 00000000 */ nop -/* 116B64 802AD554 1000001B */ b .L802AD5C4 -/* 116B68 802AD558 00001025 */ move $v0, $zero -/* 116B6C 802AD55C 460E6401 */ sub.s $f16, $f12, $f14 -.L802AD560: -/* 116B70 802AD560 C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 116B74 802AD564 44809000 */ mtc1 $zero, $f18 -/* 116B78 802AD568 C7A6002C */ lwc1 $f6, 0x2c($sp) -/* 116B7C 802AD56C 46102202 */ mul.s $f8, $f4, $f16 -/* 116B80 802AD570 C7AA0024 */ lwc1 $f10, 0x24($sp) -/* 116B84 802AD574 4612403C */ c.lt.s $f8, $f18 -/* 116B88 802AD578 00000000 */ nop -/* 116B8C 802AD57C 45000003 */ bc1f .L802AD58C -/* 116B90 802AD580 00000000 */ nop -/* 116B94 802AD584 1000000F */ b .L802AD5C4 -/* 116B98 802AD588 00001025 */ move $v0, $zero -.L802AD58C: -/* 116B9C 802AD58C 46060382 */ mul.s $f14, $f0, $f6 -/* 116BA0 802AD590 00000000 */ nop -/* 116BA4 802AD594 460A1302 */ mul.s $f12, $f2, $f10 -/* 116BA8 802AD598 460C7032 */ c.eq.s $f14, $f12 -/* 116BAC 802AD59C 00000000 */ nop -/* 116BB0 802AD5A0 45010008 */ bc1t .L802AD5C4 -/* 116BB4 802AD5A4 00000000 */ nop -/* 116BB8 802AD5A8 460E6101 */ sub.s $f4, $f12, $f14 -/* 116BBC 802AD5AC 46048202 */ mul.s $f8, $f16, $f4 -/* 116BC0 802AD5B0 4612403C */ c.lt.s $f8, $f18 -/* 116BC4 802AD5B4 00000000 */ nop -/* 116BC8 802AD5B8 45000002 */ bc1f .L802AD5C4 -/* 116BCC 802AD5BC 00000000 */ nop -/* 116BD0 802AD5C0 00001025 */ move $v0, $zero -.L802AD5C4: -/* 116BD4 802AD5C4 14400003 */ bnez $v0, .L802AD5D4 -/* 116BD8 802AD5C8 C7A60098 */ lwc1 $f6, 0x98($sp) -/* 116BDC 802AD5CC 100000DD */ b .L802AD944 -/* 116BE0 802AD5D0 00001025 */ move $v0, $zero -.L802AD5D4: -/* 116BE4 802AD5D4 C462001C */ lwc1 $f2, 0x1c($v1) -/* 116BE8 802AD5D8 C46C0020 */ lwc1 $f12, 0x20($v1) -/* 116BEC 802AD5DC C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 116BF0 802AD5E0 46061282 */ mul.s $f10, $f2, $f6 -/* 116BF4 802AD5E4 C46E0024 */ lwc1 $f14, 0x24($v1) -/* 116BF8 802AD5E8 946C0000 */ lhu $t4, ($v1) -/* 116BFC 802AD5EC 46046202 */ mul.s $f8, $f12, $f4 -/* 116C00 802AD5F0 C7A400A0 */ lwc1 $f4, 0xa0($sp) -/* 116C04 802AD5F4 C4700028 */ lwc1 $f16, 0x28($v1) -/* 116C08 802AD5F8 318D0200 */ andi $t5, $t4, 0x200 -/* 116C0C 802AD5FC 46085180 */ add.s $f6, $f10, $f8 -/* 116C10 802AD600 46047282 */ mul.s $f10, $f14, $f4 -/* 116C14 802AD604 C7A400A8 */ lwc1 $f4, 0xa8($sp) -/* 116C18 802AD608 460A3200 */ add.s $f8, $f6, $f10 -/* 116C1C 802AD60C C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 116C20 802AD610 11A0009A */ beqz $t5, .L802AD87C -/* 116C24 802AD614 46104000 */ add.s $f0, $f8, $f16 -/* 116C28 802AD618 46041182 */ mul.s $f6, $f2, $f4 -/* 116C2C 802AD61C C7AA00AC */ lwc1 $f10, 0xac($sp) -/* 116C30 802AD620 4600903C */ c.lt.s $f18, $f0 -/* 116C34 802AD624 460A6202 */ mul.s $f8, $f12, $f10 -/* 116C38 802AD628 C7AA00B0 */ lwc1 $f10, 0xb0($sp) -/* 116C3C 802AD62C 46083100 */ add.s $f4, $f6, $f8 -/* 116C40 802AD630 460A7182 */ mul.s $f6, $f14, $f10 -/* 116C44 802AD634 46062200 */ add.s $f8, $f4, $f6 -/* 116C48 802AD638 46104280 */ add.s $f10, $f8, $f16 -/* 116C4C 802AD63C 45000018 */ bc1f .L802AD6A0 -/* 116C50 802AD640 E7AA0044 */ swc1 $f10, 0x44($sp) -/* 116C54 802AD644 460A903C */ c.lt.s $f18, $f10 -/* 116C58 802AD648 C7A20094 */ lwc1 $f2, 0x94($sp) -/* 116C5C 802AD64C 45020015 */ bc1fl .L802AD6A4 -/* 116C60 802AD650 4612003C */ c.lt.s $f0, $f18 -/* 116C64 802AD654 4602003C */ c.lt.s $f0, $f2 -/* 116C68 802AD658 00000000 */ nop -/* 116C6C 802AD65C 4500000E */ bc1f .L802AD698 -/* 116C70 802AD660 00000000 */ nop -/* 116C74 802AD664 46020101 */ sub.s $f4, $f0, $f2 -/* 116C78 802AD668 240E0001 */ li $t6, 1 -/* 116C7C 802AD66C A60E0002 */ sh $t6, 2($s0) -/* 116C80 802AD670 A6050008 */ sh $a1, 8($s0) -/* 116C84 802AD674 E6040010 */ swc1 $f4, 0x10($s0) -/* 116C88 802AD678 C466001C */ lwc1 $f6, 0x1c($v1) -/* 116C8C 802AD67C 24020001 */ li $v0, 1 -/* 116C90 802AD680 E6060024 */ swc1 $f6, 0x24($s0) -/* 116C94 802AD684 C4680020 */ lwc1 $f8, 0x20($v1) -/* 116C98 802AD688 E6080028 */ swc1 $f8, 0x28($s0) -/* 116C9C 802AD68C C46A0024 */ lwc1 $f10, 0x24($v1) -/* 116CA0 802AD690 100000AC */ b .L802AD944 -/* 116CA4 802AD694 E60A002C */ swc1 $f10, 0x2c($s0) -.L802AD698: -/* 116CA8 802AD698 100000AA */ b .L802AD944 -/* 116CAC 802AD69C 00001025 */ move $v0, $zero -.L802AD6A0: -/* 116CB0 802AD6A0 4612003C */ c.lt.s $f0, $f18 -.L802AD6A4: -/* 116CB4 802AD6A4 C7A40044 */ lwc1 $f4, 0x44($sp) -/* 116CB8 802AD6A8 4502001F */ bc1fl .L802AD728 -/* 116CBC 802AD6AC 4600903C */ c.lt.s $f18, $f0 -/* 116CC0 802AD6B0 4612203C */ c.lt.s $f4, $f18 -/* 116CC4 802AD6B4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 116CC8 802AD6B8 4502001B */ bc1fl .L802AD728 -/* 116CCC 802AD6BC 4600903C */ c.lt.s $f18, $f0 -/* 116CD0 802AD6C0 44813000 */ mtc1 $at, $f6 -/* 116CD4 802AD6C4 C7A20094 */ lwc1 $f2, 0x94($sp) -/* 116CD8 802AD6C8 46060002 */ mul.s $f0, $f0, $f6 -/* 116CDC 802AD6CC 4602003C */ c.lt.s $f0, $f2 -/* 116CE0 802AD6D0 00000000 */ nop -/* 116CE4 802AD6D4 45000011 */ bc1f .L802AD71C -/* 116CE8 802AD6D8 00000000 */ nop -/* 116CEC 802AD6DC 46020201 */ sub.s $f8, $f0, $f2 -/* 116CF0 802AD6E0 240F0001 */ li $t7, 1 -/* 116CF4 802AD6E4 A60F0002 */ sh $t7, 2($s0) -/* 116CF8 802AD6E8 A6050008 */ sh $a1, 8($s0) -/* 116CFC 802AD6EC E6080010 */ swc1 $f8, 0x10($s0) -/* 116D00 802AD6F0 C46A001C */ lwc1 $f10, 0x1c($v1) -/* 116D04 802AD6F4 24020001 */ li $v0, 1 -/* 116D08 802AD6F8 46005107 */ neg.s $f4, $f10 -/* 116D0C 802AD6FC E6040024 */ swc1 $f4, 0x24($s0) -/* 116D10 802AD700 C4660020 */ lwc1 $f6, 0x20($v1) -/* 116D14 802AD704 46003207 */ neg.s $f8, $f6 -/* 116D18 802AD708 E6080028 */ swc1 $f8, 0x28($s0) -/* 116D1C 802AD70C C46A0024 */ lwc1 $f10, 0x24($v1) -/* 116D20 802AD710 46005107 */ neg.s $f4, $f10 -/* 116D24 802AD714 1000008B */ b .L802AD944 -/* 116D28 802AD718 E604002C */ swc1 $f4, 0x2c($s0) -.L802AD71C: -/* 116D2C 802AD71C 10000089 */ b .L802AD944 -/* 116D30 802AD720 00001025 */ move $v0, $zero -/* 116D34 802AD724 4600903C */ c.lt.s $f18, $f0 -.L802AD728: -/* 116D38 802AD728 C7A60044 */ lwc1 $f6, 0x44($sp) -/* 116D3C 802AD72C 45020017 */ bc1fl .L802AD78C -/* 116D40 802AD730 4612003C */ c.lt.s $f0, $f18 -/* 116D44 802AD734 4612303C */ c.lt.s $f6, $f18 -/* 116D48 802AD738 24180001 */ li $t8, 1 -/* 116D4C 802AD73C 45020013 */ bc1fl .L802AD78C -/* 116D50 802AD740 4612003C */ c.lt.s $f0, $f18 -/* 116D54 802AD744 A6180002 */ sh $t8, 2($s0) -/* 116D58 802AD748 A6050008 */ sh $a1, 8($s0) -/* 116D5C 802AD74C C7A80094 */ lwc1 $f8, 0x94($sp) -/* 116D60 802AD750 24020001 */ li $v0, 1 -/* 116D64 802AD754 46080280 */ add.s $f10, $f0, $f8 -/* 116D68 802AD758 46005107 */ neg.s $f4, $f10 -/* 116D6C 802AD75C E6040010 */ swc1 $f4, 0x10($s0) -/* 116D70 802AD760 C466001C */ lwc1 $f6, 0x1c($v1) -/* 116D74 802AD764 46003207 */ neg.s $f8, $f6 -/* 116D78 802AD768 E6080024 */ swc1 $f8, 0x24($s0) -/* 116D7C 802AD76C C46A0020 */ lwc1 $f10, 0x20($v1) -/* 116D80 802AD770 46005107 */ neg.s $f4, $f10 -/* 116D84 802AD774 E6040028 */ swc1 $f4, 0x28($s0) -/* 116D88 802AD778 C4660024 */ lwc1 $f6, 0x24($v1) -/* 116D8C 802AD77C 46003207 */ neg.s $f8, $f6 -/* 116D90 802AD780 10000070 */ b .L802AD944 -/* 116D94 802AD784 E608002C */ swc1 $f8, 0x2c($s0) -/* 116D98 802AD788 4612003C */ c.lt.s $f0, $f18 -.L802AD78C: -/* 116D9C 802AD78C C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 116DA0 802AD790 45020013 */ bc1fl .L802AD7E0 -/* 116DA4 802AD794 46120032 */ c.eq.s $f0, $f18 -/* 116DA8 802AD798 460A903C */ c.lt.s $f18, $f10 -/* 116DAC 802AD79C 24190001 */ li $t9, 1 -/* 116DB0 802AD7A0 4502000F */ bc1fl .L802AD7E0 -/* 116DB4 802AD7A4 46120032 */ c.eq.s $f0, $f18 -/* 116DB8 802AD7A8 A6190002 */ sh $t9, 2($s0) -/* 116DBC 802AD7AC A6050008 */ sh $a1, 8($s0) -/* 116DC0 802AD7B0 C7A40094 */ lwc1 $f4, 0x94($sp) -/* 116DC4 802AD7B4 24020001 */ li $v0, 1 -/* 116DC8 802AD7B8 46040180 */ add.s $f6, $f0, $f4 -/* 116DCC 802AD7BC E6060010 */ swc1 $f6, 0x10($s0) -/* 116DD0 802AD7C0 C468001C */ lwc1 $f8, 0x1c($v1) -/* 116DD4 802AD7C4 E6080024 */ swc1 $f8, 0x24($s0) -/* 116DD8 802AD7C8 C46A0020 */ lwc1 $f10, 0x20($v1) -/* 116DDC 802AD7CC E60A0028 */ swc1 $f10, 0x28($s0) -/* 116DE0 802AD7D0 C4640024 */ lwc1 $f4, 0x24($v1) -/* 116DE4 802AD7D4 1000005B */ b .L802AD944 -/* 116DE8 802AD7D8 E604002C */ swc1 $f4, 0x2c($s0) -/* 116DEC 802AD7DC 46120032 */ c.eq.s $f0, $f18 -.L802AD7E0: -/* 116DF0 802AD7E0 C7A60044 */ lwc1 $f6, 0x44($sp) -/* 116DF4 802AD7E4 45000023 */ bc1f .L802AD874 -/* 116DF8 802AD7E8 00000000 */ nop -/* 116DFC 802AD7EC 4606903E */ c.le.s $f18, $f6 -/* 116E00 802AD7F0 24080001 */ li $t0, 1 -/* 116E04 802AD7F4 24090001 */ li $t1, 1 -/* 116E08 802AD7F8 45020010 */ bc1fl .L802AD83C -/* 116E0C 802AD7FC A6090002 */ sh $t1, 2($s0) -/* 116E10 802AD800 A6080002 */ sh $t0, 2($s0) -/* 116E14 802AD804 A6050008 */ sh $a1, 8($s0) -/* 116E18 802AD808 C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 116E1C 802AD80C C7A80044 */ lwc1 $f8, 0x44($sp) -/* 116E20 802AD810 24020001 */ li $v0, 1 -/* 116E24 802AD814 460A4100 */ add.s $f4, $f8, $f10 -/* 116E28 802AD818 E6040010 */ swc1 $f4, 0x10($s0) -/* 116E2C 802AD81C C466001C */ lwc1 $f6, 0x1c($v1) -/* 116E30 802AD820 E6060024 */ swc1 $f6, 0x24($s0) -/* 116E34 802AD824 C4680020 */ lwc1 $f8, 0x20($v1) -/* 116E38 802AD828 E6080028 */ swc1 $f8, 0x28($s0) -/* 116E3C 802AD82C C46A0024 */ lwc1 $f10, 0x24($v1) -/* 116E40 802AD830 10000044 */ b .L802AD944 -/* 116E44 802AD834 E60A002C */ swc1 $f10, 0x2c($s0) -/* 116E48 802AD838 A6090002 */ sh $t1, 2($s0) -.L802AD83C: -/* 116E4C 802AD83C A6050008 */ sh $a1, 8($s0) -/* 116E50 802AD840 C7A60094 */ lwc1 $f6, 0x94($sp) -/* 116E54 802AD844 C7A40044 */ lwc1 $f4, 0x44($sp) -/* 116E58 802AD848 24020001 */ li $v0, 1 -/* 116E5C 802AD84C 46062200 */ add.s $f8, $f4, $f6 -/* 116E60 802AD850 46004287 */ neg.s $f10, $f8 -/* 116E64 802AD854 E60A0010 */ swc1 $f10, 0x10($s0) -/* 116E68 802AD858 C464001C */ lwc1 $f4, 0x1c($v1) -/* 116E6C 802AD85C E6040024 */ swc1 $f4, 0x24($s0) -/* 116E70 802AD860 C4660020 */ lwc1 $f6, 0x20($v1) -/* 116E74 802AD864 E6060028 */ swc1 $f6, 0x28($s0) -/* 116E78 802AD868 C4680024 */ lwc1 $f8, 0x24($v1) -/* 116E7C 802AD86C 10000035 */ b .L802AD944 -/* 116E80 802AD870 E608002C */ swc1 $f8, 0x2c($s0) -.L802AD874: -/* 116E84 802AD874 10000033 */ b .L802AD944 -/* 116E88 802AD878 00001025 */ move $v0, $zero -.L802AD87C: -/* 116E8C 802AD87C 4600503C */ c.lt.s $f10, $f0 -/* 116E90 802AD880 C7A800A8 */ lwc1 $f8, 0xa8($sp) -/* 116E94 802AD884 C7A400AC */ lwc1 $f4, 0xac($sp) -/* 116E98 802AD888 45000014 */ bc1f .L802AD8DC -/* 116E9C 802AD88C 00000000 */ nop -/* 116EA0 802AD890 C6040010 */ lwc1 $f4, 0x10($s0) -/* 116EA4 802AD894 240A0001 */ li $t2, 1 -/* 116EA8 802AD898 4604003C */ c.lt.s $f0, $f4 -/* 116EAC 802AD89C 00000000 */ nop -/* 116EB0 802AD8A0 4500000C */ bc1f .L802AD8D4 -/* 116EB4 802AD8A4 00000000 */ nop -/* 116EB8 802AD8A8 A60A0002 */ sh $t2, 2($s0) -/* 116EBC 802AD8AC A6050008 */ sh $a1, 8($s0) -/* 116EC0 802AD8B0 C7A60094 */ lwc1 $f6, 0x94($sp) -/* 116EC4 802AD8B4 46060201 */ sub.s $f8, $f0, $f6 -/* 116EC8 802AD8B8 E6080010 */ swc1 $f8, 0x10($s0) -/* 116ECC 802AD8BC C46A001C */ lwc1 $f10, 0x1c($v1) -/* 116ED0 802AD8C0 E60A0024 */ swc1 $f10, 0x24($s0) -/* 116ED4 802AD8C4 C4640020 */ lwc1 $f4, 0x20($v1) -/* 116ED8 802AD8C8 E6040028 */ swc1 $f4, 0x28($s0) -/* 116EDC 802AD8CC C4660024 */ lwc1 $f6, 0x24($v1) -/* 116EE0 802AD8D0 E606002C */ swc1 $f6, 0x2c($s0) -.L802AD8D4: -/* 116EE4 802AD8D4 1000001B */ b .L802AD944 -/* 116EE8 802AD8D8 00001025 */ move $v0, $zero -.L802AD8DC: -/* 116EEC 802AD8DC 46081282 */ mul.s $f10, $f2, $f8 -/* 116EF0 802AD8E0 240B0001 */ li $t3, 1 -/* 116EF4 802AD8E4 46046182 */ mul.s $f6, $f12, $f4 -/* 116EF8 802AD8E8 C7A400B0 */ lwc1 $f4, 0xb0($sp) -/* 116EFC 802AD8EC 46065200 */ add.s $f8, $f10, $f6 -/* 116F00 802AD8F0 46047282 */ mul.s $f10, $f14, $f4 -/* 116F04 802AD8F4 460A4180 */ add.s $f6, $f8, $f10 -/* 116F08 802AD8F8 46103100 */ add.s $f4, $f6, $f16 -/* 116F0C 802AD8FC 4612203C */ c.lt.s $f4, $f18 -/* 116F10 802AD900 E7A40044 */ swc1 $f4, 0x44($sp) -/* 116F14 802AD904 45020004 */ bc1fl .L802AD918 -/* 116F18 802AD908 A60B0002 */ sh $t3, 2($s0) -/* 116F1C 802AD90C 1000000D */ b .L802AD944 -/* 116F20 802AD910 00001025 */ move $v0, $zero -/* 116F24 802AD914 A60B0002 */ sh $t3, 2($s0) -.L802AD918: -/* 116F28 802AD918 A6050008 */ sh $a1, 8($s0) -/* 116F2C 802AD91C C7A80094 */ lwc1 $f8, 0x94($sp) -/* 116F30 802AD920 24020001 */ li $v0, 1 -/* 116F34 802AD924 46080281 */ sub.s $f10, $f0, $f8 -/* 116F38 802AD928 E60A0010 */ swc1 $f10, 0x10($s0) -/* 116F3C 802AD92C C466001C */ lwc1 $f6, 0x1c($v1) -/* 116F40 802AD930 E6060024 */ swc1 $f6, 0x24($s0) -/* 116F44 802AD934 C4640020 */ lwc1 $f4, 0x20($v1) -/* 116F48 802AD938 E6040028 */ swc1 $f4, 0x28($s0) -/* 116F4C 802AD93C C4680024 */ lwc1 $f8, 0x24($v1) -/* 116F50 802AD940 E608002C */ swc1 $f8, 0x2c($s0) -.L802AD944: -/* 116F54 802AD944 8FB00004 */ lw $s0, 4($sp) -/* 116F58 802AD948 03E00008 */ jr $ra -/* 116F5C 802AD94C 27BD0090 */ addiu $sp, $sp, 0x90 diff --git a/asm/non_matchings/code_802AAA70/func_802AD950.s b/asm/non_matchings/code_802AAA70/func_802AD950.s deleted file mode 100644 index 3bc291d08..000000000 --- a/asm/non_matchings/code_802AAA70/func_802AD950.s +++ /dev/null @@ -1,308 +0,0 @@ -glabel func_802AD950 -/* 116F60 802AD950 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 116F64 802AD954 AFB00060 */ sw $s0, 0x60($sp) -/* 116F68 802AD958 AFBF007C */ sw $ra, 0x7c($sp) -/* 116F6C 802AD95C AFB60078 */ sw $s6, 0x78($sp) -/* 116F70 802AD960 AFB50074 */ sw $s5, 0x74($sp) -/* 116F74 802AD964 AFB40070 */ sw $s4, 0x70($sp) -/* 116F78 802AD968 AFB3006C */ sw $s3, 0x6c($sp) -/* 116F7C 802AD96C AFB20068 */ sw $s2, 0x68($sp) -/* 116F80 802AD970 AFB10064 */ sw $s1, 0x64($sp) -/* 116F84 802AD974 F7BE0058 */ sdc1 $f30, 0x58($sp) -/* 116F88 802AD978 F7BC0050 */ sdc1 $f28, 0x50($sp) -/* 116F8C 802AD97C F7BA0048 */ sdc1 $f26, 0x48($sp) -/* 116F90 802AD980 F7B80040 */ sdc1 $f24, 0x40($sp) -/* 116F94 802AD984 F7B60038 */ sdc1 $f22, 0x38($sp) -/* 116F98 802AD988 F7B40030 */ sdc1 $f20, 0x30($sp) -/* 116F9C 802AD98C 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 116FA0 802AD990 44810000 */ mtc1 $at, $f0 -/* 116FA4 802AD994 3C108016 */ lui $s0, %hi(D_8015F588) # $s0, 0x8016 -/* 116FA8 802AD998 2610F588 */ addiu $s0, %lo(D_8015F588) # addiu $s0, $s0, -0xa78 -/* 116FAC 802AD99C A4800000 */ sh $zero, ($a0) -/* 116FB0 802AD9A0 A4800002 */ sh $zero, 2($a0) -/* 116FB4 802AD9A4 A4800004 */ sh $zero, 4($a0) -/* 116FB8 802AD9A8 E480000C */ swc1 $f0, 0xc($a0) -/* 116FBC 802AD9AC E4800010 */ swc1 $f0, 0x10($a0) -/* 116FC0 802AD9B0 E4800014 */ swc1 $f0, 0x14($a0) -/* 116FC4 802AD9B4 960E0000 */ lhu $t6, ($s0) -/* 116FC8 802AD9B8 9482000A */ lhu $v0, 0xa($a0) -/* 116FCC 802AD9BC 4486A000 */ mtc1 $a2, $f20 -/* 116FD0 802AD9C0 4485B000 */ mtc1 $a1, $f22 -/* 116FD4 802AD9C4 4487C000 */ mtc1 $a3, $f24 -/* 116FD8 802AD9C8 004E082A */ slt $at, $v0, $t6 -/* 116FDC 802AD9CC 00808825 */ move $s1, $a0 -/* 116FE0 802AD9D0 10200012 */ beqz $at, .L802ADA1C -/* 116FE4 802AD9D4 0000A025 */ move $s4, $zero -/* 116FE8 802AD9D8 C7BA0090 */ lwc1 $f26, 0x90($sp) -/* 116FEC 802AD9DC C7BC0094 */ lwc1 $f28, 0x94($sp) -/* 116FF0 802AD9E0 C7BE0098 */ lwc1 $f30, 0x98($sp) -/* 116FF4 802AD9E4 C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 116FF8 802AD9E8 4405B000 */ mfc1 $a1, $f22 -/* 116FFC 802AD9EC 4406A000 */ mfc1 $a2, $f20 -/* 117000 802AD9F0 4407C000 */ mfc1 $a3, $f24 -/* 117004 802AD9F4 AFA20014 */ sw $v0, 0x14($sp) -/* 117008 802AD9F8 E7BA0010 */ swc1 $f26, 0x10($sp) -/* 11700C 802AD9FC E7BC0018 */ swc1 $f28, 0x18($sp) -/* 117010 802ADA00 E7BE001C */ swc1 $f30, 0x1c($sp) -/* 117014 802ADA04 0C0AB1D8 */ jal func_802AC760 -/* 117018 802ADA08 E7A40020 */ swc1 $f4, 0x20($sp) -/* 11701C 802ADA0C 24150001 */ li $s5, 1 -/* 117020 802ADA10 54550003 */ bnel $v0, $s5, .L802ADA20 -/* 117024 802ADA14 96220006 */ lhu $v0, 6($s1) -/* 117028 802ADA18 24144000 */ li $s4, 16384 -.L802ADA1C: -/* 11702C 802ADA1C 96220006 */ lhu $v0, 6($s1) -.L802ADA20: -/* 117030 802ADA20 960F0000 */ lhu $t7, ($s0) -/* 117034 802ADA24 24150001 */ li $s5, 1 -/* 117038 802ADA28 C7BA0090 */ lwc1 $f26, 0x90($sp) -/* 11703C 802ADA2C 004F082A */ slt $at, $v0, $t7 -/* 117040 802ADA30 C7BC0094 */ lwc1 $f28, 0x94($sp) -/* 117044 802ADA34 1020000F */ beqz $at, .L802ADA74 -/* 117048 802ADA38 C7BE0098 */ lwc1 $f30, 0x98($sp) -/* 11704C 802ADA3C C7A6009C */ lwc1 $f6, 0x9c($sp) -/* 117050 802ADA40 4405B000 */ mfc1 $a1, $f22 -/* 117054 802ADA44 4406A000 */ mfc1 $a2, $f20 -/* 117058 802ADA48 4407C000 */ mfc1 $a3, $f24 -/* 11705C 802ADA4C 02202025 */ move $a0, $s1 -/* 117060 802ADA50 E7BA0010 */ swc1 $f26, 0x10($sp) -/* 117064 802ADA54 AFA20014 */ sw $v0, 0x14($sp) -/* 117068 802ADA58 E7BC0018 */ swc1 $f28, 0x18($sp) -/* 11706C 802ADA5C E7BE001C */ swc1 $f30, 0x1c($sp) -/* 117070 802ADA60 0C0AB2E9 */ jal func_802ACBA4 -/* 117074 802ADA64 E7A60020 */ swc1 $f6, 0x20($sp) -/* 117078 802ADA68 14550002 */ bne $v0, $s5, .L802ADA74 -/* 11707C 802ADA6C 36982000 */ ori $t8, $s4, 0x2000 -/* 117080 802ADA70 3314FFFF */ andi $s4, $t8, 0xffff -.L802ADA74: -/* 117084 802ADA74 96220008 */ lhu $v0, 8($s1) -/* 117088 802ADA78 96080000 */ lhu $t0, ($s0) -/* 11708C 802ADA7C 02202025 */ move $a0, $s1 -/* 117090 802ADA80 0048082A */ slt $at, $v0, $t0 -/* 117094 802ADA84 5020000F */ beql $at, $zero, .L802ADAC4 -/* 117098 802ADA88 3401E000 */ li $at, 57344 -/* 11709C 802ADA8C C7A8009C */ lwc1 $f8, 0x9c($sp) -/* 1170A0 802ADA90 4405B000 */ mfc1 $a1, $f22 -/* 1170A4 802ADA94 4406A000 */ mfc1 $a2, $f20 -/* 1170A8 802ADA98 4407C000 */ mfc1 $a3, $f24 -/* 1170AC 802ADA9C E7BA0010 */ swc1 $f26, 0x10($sp) -/* 1170B0 802ADAA0 AFA20014 */ sw $v0, 0x14($sp) -/* 1170B4 802ADAA4 E7BC0018 */ swc1 $f28, 0x18($sp) -/* 1170B8 802ADAA8 E7BE001C */ swc1 $f30, 0x1c($sp) -/* 1170BC 802ADAAC 0C0AB49E */ jal func_802AD278 -/* 1170C0 802ADAB0 E7A80020 */ swc1 $f8, 0x20($sp) -/* 1170C4 802ADAB4 14550002 */ bne $v0, $s5, .L802ADAC0 -/* 1170C8 802ADAB8 36898000 */ ori $t1, $s4, 0x8000 -/* 1170CC 802ADABC 3134FFFF */ andi $s4, $t1, 0xffff -.L802ADAC0: -/* 1170D0 802ADAC0 3401E000 */ li $at, 57344 -.L802ADAC4: -/* 1170D4 802ADAC4 16810003 */ bne $s4, $at, .L802ADAD4 -/* 1170D8 802ADAC8 3C028016 */ lui $v0, %hi(D_8015F6EA) # $v0, 0x8016 -/* 1170DC 802ADACC 100000AE */ b .L802ADD88 -/* 1170E0 802ADAD0 02801025 */ move $v0, $s4 -.L802ADAD4: -/* 1170E4 802ADAD4 8442F6EA */ lh $v0, %lo(D_8015F6EA)($v0) -/* 1170E8 802ADAD8 3C0B8016 */ lui $t3, %hi(D_8015F6E8) # $t3, 0x8016 -/* 1170EC 802ADADC 856BF6E8 */ lh $t3, %lo(D_8015F6E8)($t3) -/* 1170F0 802ADAE0 44825000 */ mtc1 $v0, $f10 -/* 1170F4 802ADAE4 3C038016 */ lui $v1, %hi(D_8015F6F2) # $v1, 0x8016 -/* 1170F8 802ADAE8 01622023 */ subu $a0, $t3, $v0 -/* 1170FC 802ADAEC 46805420 */ cvt.s.w $f16, $f10 -/* 117100 802ADAF0 8463F6F2 */ lh $v1, %lo(D_8015F6F2)($v1) -/* 117104 802ADAF4 3C0C8016 */ lui $t4, %hi(D_8015F6F0) # $t4, 0x8016 -/* 117108 802ADAF8 858CF6F0 */ lh $t4, %lo(D_8015F6F0)($t4) -/* 11710C 802ADAFC 4610A481 */ sub.s $f18, $f20, $f16 -/* 117110 802ADB00 44838000 */ mtc1 $v1, $f16 -/* 117114 802ADB04 01832823 */ subu $a1, $t4, $v1 -/* 117118 802ADB08 04810003 */ bgez $a0, .L802ADB18 -/* 11711C 802ADB0C 00046943 */ sra $t5, $a0, 5 -/* 117120 802ADB10 2481001F */ addiu $at, $a0, 0x1f -/* 117124 802ADB14 00016943 */ sra $t5, $at, 5 -.L802ADB18: -/* 117128 802ADB18 448D2000 */ mtc1 $t5, $f4 -/* 11712C 802ADB1C 00000000 */ nop -/* 117130 802ADB20 468021A0 */ cvt.s.w $f6, $f4 -/* 117134 802ADB24 46808120 */ cvt.s.w $f4, $f16 -/* 117138 802ADB28 46069203 */ div.s $f8, $f18, $f6 -/* 11713C 802ADB2C 4604D481 */ sub.s $f18, $f26, $f4 -/* 117140 802ADB30 4600428D */ trunc.w.s $f10, $f8 -/* 117144 802ADB34 44065000 */ mfc1 $a2, $f10 -/* 117148 802ADB38 00000000 */ nop -/* 11714C 802ADB3C 00067C00 */ sll $t7, $a2, 0x10 -/* 117150 802ADB40 000FC403 */ sra $t8, $t7, 0x10 -/* 117154 802ADB44 03003025 */ move $a2, $t8 -/* 117158 802ADB48 04A10003 */ bgez $a1, .L802ADB58 -/* 11715C 802ADB4C 0005C943 */ sra $t9, $a1, 5 -/* 117160 802ADB50 24A1001F */ addiu $at, $a1, 0x1f -/* 117164 802ADB54 0001C943 */ sra $t9, $at, 5 -.L802ADB58: -/* 117168 802ADB58 44993000 */ mtc1 $t9, $f6 -/* 11716C 802ADB5C 00000000 */ nop -/* 117170 802ADB60 46803220 */ cvt.s.w $f8, $f6 -/* 117174 802ADB64 46089283 */ div.s $f10, $f18, $f8 -/* 117178 802ADB68 4600540D */ trunc.w.s $f16, $f10 -/* 11717C 802ADB6C 44078000 */ mfc1 $a3, $f16 -/* 117180 802ADB70 00000000 */ nop -/* 117184 802ADB74 00074C00 */ sll $t1, $a3, 0x10 -/* 117188 802ADB78 04C10003 */ bgez $a2, .L802ADB88 -/* 11718C 802ADB7C 00093C03 */ sra $a3, $t1, 0x10 -/* 117190 802ADB80 10000081 */ b .L802ADD88 -/* 117194 802ADB84 00001025 */ move $v0, $zero -.L802ADB88: -/* 117198 802ADB88 04E10003 */ bgez $a3, .L802ADB98 -/* 11719C 802ADB8C 28C10020 */ slti $at, $a2, 0x20 -/* 1171A0 802ADB90 1000007D */ b .L802ADD88 -/* 1171A4 802ADB94 00001025 */ move $v0, $zero -.L802ADB98: -/* 1171A8 802ADB98 54200004 */ bnel $at, $zero, .L802ADBAC -/* 1171AC 802ADB9C 28E10020 */ slti $at, $a3, 0x20 -/* 1171B0 802ADBA0 10000079 */ b .L802ADD88 -/* 1171B4 802ADBA4 00001025 */ move $v0, $zero -/* 1171B8 802ADBA8 28E10020 */ slti $at, $a3, 0x20 -.L802ADBAC: -/* 1171BC 802ADBAC 14200003 */ bnez $at, .L802ADBBC -/* 1171C0 802ADBB0 00075940 */ sll $t3, $a3, 5 -/* 1171C4 802ADBB4 10000074 */ b .L802ADD88 -/* 1171C8 802ADBB8 00001025 */ move $v0, $zero -.L802ADBBC: -/* 1171CC 802ADBBC 00CB6021 */ addu $t4, $a2, $t3 -/* 1171D0 802ADBC0 000C6C00 */ sll $t5, $t4, 0x10 -/* 1171D4 802ADBC4 000D7403 */ sra $t6, $t5, 0x10 -/* 1171D8 802ADBC8 3C188015 */ lui $t8, %hi(D_8014F110) # $t8, 0x8015 -/* 1171DC 802ADBCC 2718F110 */ addiu $t8, %lo(D_8014F110) # addiu $t8, $t8, -0xef0 -/* 1171E0 802ADBD0 000E7880 */ sll $t7, $t6, 2 -/* 1171E4 802ADBD4 01F81821 */ addu $v1, $t7, $t8 -/* 1171E8 802ADBD8 94760002 */ lhu $s6, 2($v1) -/* 1171EC 802ADBDC 00009825 */ move $s3, $zero -/* 1171F0 802ADBE0 16C00003 */ bnez $s6, .L802ADBF0 -/* 1171F4 802ADBE4 00000000 */ nop -/* 1171F8 802ADBE8 10000067 */ b .L802ADD88 -/* 1171FC 802ADBEC 02801025 */ move $v0, $s4 -.L802ADBF0: -/* 117200 802ADBF0 1AC00064 */ blez $s6, .L802ADD84 -/* 117204 802ADBF4 94720000 */ lhu $s2, ($v1) -.L802ADBF8: -/* 117208 802ADBF8 3401E000 */ li $at, 57344 -/* 11720C 802ADBFC 16810003 */ bne $s4, $at, .L802ADC0C -/* 117210 802ADC00 02808025 */ move $s0, $s4 -/* 117214 802ADC04 10000060 */ b .L802ADD88 -/* 117218 802ADC08 02801025 */ move $v0, $s4 -.L802ADC0C: -/* 11721C 802ADC0C 3C198016 */ lui $t9, %hi(D_8015F584) # $t9, 0x8016 -/* 117220 802ADC10 8F39F584 */ lw $t9, %lo(D_8015F584)($t9) -/* 117224 802ADC14 00124040 */ sll $t0, $s2, 1 -/* 117228 802ADC18 3C0A8016 */ lui $t2, %hi(D_8015F580) # $t2, 0x8016 -/* 11722C 802ADC1C 03284821 */ addu $t1, $t9, $t0 -/* 117230 802ADC20 95220000 */ lhu $v0, ($t1) -/* 117234 802ADC24 8D4AF580 */ lw $t2, %lo(D_8015F580)($t2) -/* 117238 802ADC28 320E4000 */ andi $t6, $s0, 0x4000 -/* 11723C 802ADC2C 00025880 */ sll $t3, $v0, 2 -/* 117240 802ADC30 01625823 */ subu $t3, $t3, $v0 -/* 117244 802ADC34 000B5880 */ sll $t3, $t3, 2 -/* 117248 802ADC38 01625823 */ subu $t3, $t3, $v0 -/* 11724C 802ADC3C 000B5880 */ sll $t3, $t3, 2 -/* 117250 802ADC40 014B6021 */ addu $t4, $t2, $t3 -/* 117254 802ADC44 95830000 */ lhu $v1, ($t4) -/* 117258 802ADC48 306D4000 */ andi $t5, $v1, 0x4000 -/* 11725C 802ADC4C 11A00017 */ beqz $t5, .L802ADCAC -/* 117260 802ADC50 30798000 */ andi $t9, $v1, 0x8000 -/* 117264 802ADC54 55C00044 */ bnel $t6, $zero, .L802ADD68 -/* 117268 802ADC58 26730001 */ addiu $s3, $s3, 1 -/* 11726C 802ADC5C 962F000A */ lhu $t7, 0xa($s1) -/* 117270 802ADC60 02202025 */ move $a0, $s1 -/* 117274 802ADC64 51E20040 */ beql $t7, $v0, .L802ADD68 -/* 117278 802ADC68 26730001 */ addiu $s3, $s3, 1 -/* 11727C 802ADC6C C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 117280 802ADC70 4405B000 */ mfc1 $a1, $f22 -/* 117284 802ADC74 4406A000 */ mfc1 $a2, $f20 -/* 117288 802ADC78 4407C000 */ mfc1 $a3, $f24 -/* 11728C 802ADC7C E7BA0010 */ swc1 $f26, 0x10($sp) -/* 117290 802ADC80 AFA20014 */ sw $v0, 0x14($sp) -/* 117294 802ADC84 E7BC0018 */ swc1 $f28, 0x18($sp) -/* 117298 802ADC88 E7BE001C */ swc1 $f30, 0x1c($sp) -/* 11729C 802ADC8C 0C0AB1D8 */ jal func_802AC760 -/* 1172A0 802ADC90 E7A40020 */ swc1 $f4, 0x20($sp) -/* 1172A4 802ADC94 54550034 */ bnel $v0, $s5, .L802ADD68 -/* 1172A8 802ADC98 26730001 */ addiu $s3, $s3, 1 -/* 1172AC 802ADC9C 36144000 */ ori $s4, $s0, 0x4000 -/* 1172B0 802ADCA0 3298FFFF */ andi $t8, $s4, 0xffff -/* 1172B4 802ADCA4 1000002F */ b .L802ADD64 -/* 1172B8 802ADCA8 0300A025 */ move $s4, $t8 -.L802ADCAC: -/* 1172BC 802ADCAC 13200018 */ beqz $t9, .L802ADD10 -/* 1172C0 802ADCB0 320B2000 */ andi $t3, $s0, 0x2000 -/* 1172C4 802ADCB4 32088000 */ andi $t0, $s0, 0x8000 -/* 1172C8 802ADCB8 5500002B */ bnel $t0, $zero, .L802ADD68 -/* 1172CC 802ADCBC 26730001 */ addiu $s3, $s3, 1 -/* 1172D0 802ADCC0 96290008 */ lhu $t1, 8($s1) -/* 1172D4 802ADCC4 02202025 */ move $a0, $s1 -/* 1172D8 802ADCC8 51220027 */ beql $t1, $v0, .L802ADD68 -/* 1172DC 802ADCCC 26730001 */ addiu $s3, $s3, 1 -/* 1172E0 802ADCD0 C7A6009C */ lwc1 $f6, 0x9c($sp) -/* 1172E4 802ADCD4 4405B000 */ mfc1 $a1, $f22 -/* 1172E8 802ADCD8 4406A000 */ mfc1 $a2, $f20 -/* 1172EC 802ADCDC 4407C000 */ mfc1 $a3, $f24 -/* 1172F0 802ADCE0 E7BA0010 */ swc1 $f26, 0x10($sp) -/* 1172F4 802ADCE4 AFA20014 */ sw $v0, 0x14($sp) -/* 1172F8 802ADCE8 E7BC0018 */ swc1 $f28, 0x18($sp) -/* 1172FC 802ADCEC E7BE001C */ swc1 $f30, 0x1c($sp) -/* 117300 802ADCF0 0C0AB49E */ jal func_802AD278 -/* 117304 802ADCF4 E7A60020 */ swc1 $f6, 0x20($sp) -/* 117308 802ADCF8 5455001B */ bnel $v0, $s5, .L802ADD68 -/* 11730C 802ADCFC 26730001 */ addiu $s3, $s3, 1 -/* 117310 802ADD00 36148000 */ ori $s4, $s0, 0x8000 -/* 117314 802ADD04 328AFFFF */ andi $t2, $s4, 0xffff -/* 117318 802ADD08 10000016 */ b .L802ADD64 -/* 11731C 802ADD0C 0140A025 */ move $s4, $t2 -.L802ADD10: -/* 117320 802ADD10 55600015 */ bnel $t3, $zero, .L802ADD68 -/* 117324 802ADD14 26730001 */ addiu $s3, $s3, 1 -/* 117328 802ADD18 962C0006 */ lhu $t4, 6($s1) -/* 11732C 802ADD1C 02202025 */ move $a0, $s1 -/* 117330 802ADD20 51820011 */ beql $t4, $v0, .L802ADD68 -/* 117334 802ADD24 26730001 */ addiu $s3, $s3, 1 -/* 117338 802ADD28 C7B2009C */ lwc1 $f18, 0x9c($sp) -/* 11733C 802ADD2C 4405B000 */ mfc1 $a1, $f22 -/* 117340 802ADD30 4406A000 */ mfc1 $a2, $f20 -/* 117344 802ADD34 4407C000 */ mfc1 $a3, $f24 -/* 117348 802ADD38 E7BA0010 */ swc1 $f26, 0x10($sp) -/* 11734C 802ADD3C AFA20014 */ sw $v0, 0x14($sp) -/* 117350 802ADD40 E7BC0018 */ swc1 $f28, 0x18($sp) -/* 117354 802ADD44 E7BE001C */ swc1 $f30, 0x1c($sp) -/* 117358 802ADD48 0C0AB2E9 */ jal func_802ACBA4 -/* 11735C 802ADD4C E7B20020 */ swc1 $f18, 0x20($sp) -/* 117360 802ADD50 54550005 */ bnel $v0, $s5, .L802ADD68 -/* 117364 802ADD54 26730001 */ addiu $s3, $s3, 1 -/* 117368 802ADD58 36142000 */ ori $s4, $s0, 0x2000 -/* 11736C 802ADD5C 328DFFFF */ andi $t5, $s4, 0xffff -/* 117370 802ADD60 01A0A025 */ move $s4, $t5 -.L802ADD64: -/* 117374 802ADD64 26730001 */ addiu $s3, $s3, 1 -.L802ADD68: -/* 117378 802ADD68 326FFFFF */ andi $t7, $s3, 0xffff -/* 11737C 802ADD6C 26520001 */ addiu $s2, $s2, 1 -/* 117380 802ADD70 01F6082A */ slt $at, $t7, $s6 -/* 117384 802ADD74 324EFFFF */ andi $t6, $s2, 0xffff -/* 117388 802ADD78 01E09825 */ move $s3, $t7 -/* 11738C 802ADD7C 1420FF9E */ bnez $at, .L802ADBF8 -/* 117390 802ADD80 01C09025 */ move $s2, $t6 -.L802ADD84: -/* 117394 802ADD84 02801025 */ move $v0, $s4 -.L802ADD88: -/* 117398 802ADD88 8FBF007C */ lw $ra, 0x7c($sp) -/* 11739C 802ADD8C D7B40030 */ ldc1 $f20, 0x30($sp) -/* 1173A0 802ADD90 D7B60038 */ ldc1 $f22, 0x38($sp) -/* 1173A4 802ADD94 D7B80040 */ ldc1 $f24, 0x40($sp) -/* 1173A8 802ADD98 D7BA0048 */ ldc1 $f26, 0x48($sp) -/* 1173AC 802ADD9C D7BC0050 */ ldc1 $f28, 0x50($sp) -/* 1173B0 802ADDA0 D7BE0058 */ ldc1 $f30, 0x58($sp) -/* 1173B4 802ADDA4 8FB00060 */ lw $s0, 0x60($sp) -/* 1173B8 802ADDA8 8FB10064 */ lw $s1, 0x64($sp) -/* 1173BC 802ADDAC 8FB20068 */ lw $s2, 0x68($sp) -/* 1173C0 802ADDB0 8FB3006C */ lw $s3, 0x6c($sp) -/* 1173C4 802ADDB4 8FB40070 */ lw $s4, 0x70($sp) -/* 1173C8 802ADDB8 8FB50074 */ lw $s5, 0x74($sp) -/* 1173CC 802ADDBC 8FB60078 */ lw $s6, 0x78($sp) -/* 1173D0 802ADDC0 03E00008 */ jr $ra -/* 1173D4 802ADDC4 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/non_matchings/code_802AAA70/func_802ADDC8.s b/asm/non_matchings/code_802AAA70/func_802ADDC8.s deleted file mode 100644 index 7e2f76ea0..000000000 --- a/asm/non_matchings/code_802AAA70/func_802ADDC8.s +++ /dev/null @@ -1,276 +0,0 @@ -glabel func_802ADDC8 -/* 1173D8 802ADDC8 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 1173DC 802ADDCC AFB00040 */ sw $s0, 0x40($sp) -/* 1173E0 802ADDD0 AFBF005C */ sw $ra, 0x5c($sp) -/* 1173E4 802ADDD4 AFB60058 */ sw $s6, 0x58($sp) -/* 1173E8 802ADDD8 AFB50054 */ sw $s5, 0x54($sp) -/* 1173EC 802ADDDC AFB40050 */ sw $s4, 0x50($sp) -/* 1173F0 802ADDE0 AFB3004C */ sw $s3, 0x4c($sp) -/* 1173F4 802ADDE4 AFB20048 */ sw $s2, 0x48($sp) -/* 1173F8 802ADDE8 AFB10044 */ sw $s1, 0x44($sp) -/* 1173FC 802ADDEC F7BA0038 */ sdc1 $f26, 0x38($sp) -/* 117400 802ADDF0 F7B80030 */ sdc1 $f24, 0x30($sp) -/* 117404 802ADDF4 F7B60028 */ sdc1 $f22, 0x28($sp) -/* 117408 802ADDF8 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 11740C 802ADDFC 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 117410 802ADE00 44810000 */ mtc1 $at, $f0 -/* 117414 802ADE04 3C108016 */ lui $s0, %hi(D_8015F588) # $s0, 0x8016 -/* 117418 802ADE08 2610F588 */ addiu $s0, %lo(D_8015F588) # addiu $s0, $s0, -0xa78 -/* 11741C 802ADE0C A4800000 */ sh $zero, ($a0) -/* 117420 802ADE10 A4800002 */ sh $zero, 2($a0) -/* 117424 802ADE14 A4800004 */ sh $zero, 4($a0) -/* 117428 802ADE18 E480000C */ swc1 $f0, 0xc($a0) -/* 11742C 802ADE1C E4800010 */ swc1 $f0, 0x10($a0) -/* 117430 802ADE20 E4800014 */ swc1 $f0, 0x14($a0) -/* 117434 802ADE24 960E0000 */ lhu $t6, ($s0) -/* 117438 802ADE28 9482000A */ lhu $v0, 0xa($a0) -/* 11743C 802ADE2C 4486A000 */ mtc1 $a2, $f20 -/* 117440 802ADE30 4485B000 */ mtc1 $a1, $f22 -/* 117444 802ADE34 4487C000 */ mtc1 $a3, $f24 -/* 117448 802ADE38 004E082A */ slt $at, $v0, $t6 -/* 11744C 802ADE3C 00808825 */ move $s1, $a0 -/* 117450 802ADE40 1020000C */ beqz $at, .L802ADE74 -/* 117454 802ADE44 0000A025 */ move $s4, $zero -/* 117458 802ADE48 C7BA0070 */ lwc1 $f26, 0x70($sp) -/* 11745C 802ADE4C 4405B000 */ mfc1 $a1, $f22 -/* 117460 802ADE50 4406A000 */ mfc1 $a2, $f20 -/* 117464 802ADE54 4407C000 */ mfc1 $a3, $f24 -/* 117468 802ADE58 AFA20014 */ sw $v0, 0x14($sp) -/* 11746C 802ADE5C 0C0AAB93 */ jal func_802AAE4C -/* 117470 802ADE60 E7BA0010 */ swc1 $f26, 0x10($sp) -/* 117474 802ADE64 24150001 */ li $s5, 1 -/* 117478 802ADE68 54550003 */ bnel $v0, $s5, .L802ADE78 -/* 11747C 802ADE6C 96220006 */ lhu $v0, 6($s1) -/* 117480 802ADE70 24144000 */ li $s4, 16384 -.L802ADE74: -/* 117484 802ADE74 96220006 */ lhu $v0, 6($s1) -.L802ADE78: -/* 117488 802ADE78 960F0000 */ lhu $t7, ($s0) -/* 11748C 802ADE7C 24150001 */ li $s5, 1 -/* 117490 802ADE80 C7BA0070 */ lwc1 $f26, 0x70($sp) -/* 117494 802ADE84 004F082A */ slt $at, $v0, $t7 -/* 117498 802ADE88 1020000A */ beqz $at, .L802ADEB4 -/* 11749C 802ADE8C 02202025 */ move $a0, $s1 -/* 1174A0 802ADE90 4405B000 */ mfc1 $a1, $f22 -/* 1174A4 802ADE94 4406A000 */ mfc1 $a2, $f20 -/* 1174A8 802ADE98 4407C000 */ mfc1 $a3, $f24 -/* 1174AC 802ADE9C E7BA0010 */ swc1 $f26, 0x10($sp) -/* 1174B0 802ADEA0 0C0AACA2 */ jal func_802AB288 -/* 1174B4 802ADEA4 AFA20014 */ sw $v0, 0x14($sp) -/* 1174B8 802ADEA8 14550002 */ bne $v0, $s5, .L802ADEB4 -/* 1174BC 802ADEAC 36982000 */ ori $t8, $s4, 0x2000 -/* 1174C0 802ADEB0 3314FFFF */ andi $s4, $t8, 0xffff -.L802ADEB4: -/* 1174C4 802ADEB4 96220008 */ lhu $v0, 8($s1) -/* 1174C8 802ADEB8 96080000 */ lhu $t0, ($s0) -/* 1174CC 802ADEBC 02202025 */ move $a0, $s1 -/* 1174D0 802ADEC0 0048082A */ slt $at, $v0, $t0 -/* 1174D4 802ADEC4 5020000B */ beql $at, $zero, .L802ADEF4 -/* 1174D8 802ADEC8 3401E000 */ li $at, 57344 -/* 1174DC 802ADECC 4405B000 */ mfc1 $a1, $f22 -/* 1174E0 802ADED0 4406A000 */ mfc1 $a2, $f20 -/* 1174E4 802ADED4 4407C000 */ mfc1 $a3, $f24 -/* 1174E8 802ADED8 E7BA0010 */ swc1 $f26, 0x10($sp) -/* 1174EC 802ADEDC 0C0AADB1 */ jal func_802AB6C4 -/* 1174F0 802ADEE0 AFA20014 */ sw $v0, 0x14($sp) -/* 1174F4 802ADEE4 14550002 */ bne $v0, $s5, .L802ADEF0 -/* 1174F8 802ADEE8 36898000 */ ori $t1, $s4, 0x8000 -/* 1174FC 802ADEEC 3134FFFF */ andi $s4, $t1, 0xffff -.L802ADEF0: -/* 117500 802ADEF0 3401E000 */ li $at, 57344 -.L802ADEF4: -/* 117504 802ADEF4 16810003 */ bne $s4, $at, .L802ADF04 -/* 117508 802ADEF8 3C028016 */ lui $v0, %hi(D_8015F6EA) # $v0, 0x8016 -/* 11750C 802ADEFC 100000A2 */ b .L802AE188 -/* 117510 802ADF00 02801025 */ move $v0, $s4 -.L802ADF04: -/* 117514 802ADF04 8442F6EA */ lh $v0, %lo(D_8015F6EA)($v0) -/* 117518 802ADF08 3C0B8016 */ lui $t3, %hi(D_8015F6E8) # $t3, 0x8016 -/* 11751C 802ADF0C 856BF6E8 */ lh $t3, %lo(D_8015F6E8)($t3) -/* 117520 802ADF10 44822000 */ mtc1 $v0, $f4 -/* 117524 802ADF14 3C038016 */ lui $v1, %hi(D_8015F6F2) # $v1, 0x8016 -/* 117528 802ADF18 01622023 */ subu $a0, $t3, $v0 -/* 11752C 802ADF1C 468021A0 */ cvt.s.w $f6, $f4 -/* 117530 802ADF20 8463F6F2 */ lh $v1, %lo(D_8015F6F2)($v1) -/* 117534 802ADF24 3C0C8016 */ lui $t4, %hi(D_8015F6F0) # $t4, 0x8016 -/* 117538 802ADF28 858CF6F0 */ lh $t4, %lo(D_8015F6F0)($t4) -/* 11753C 802ADF2C 4606A201 */ sub.s $f8, $f20, $f6 -/* 117540 802ADF30 44833000 */ mtc1 $v1, $f6 -/* 117544 802ADF34 01832823 */ subu $a1, $t4, $v1 -/* 117548 802ADF38 04810003 */ bgez $a0, .L802ADF48 -/* 11754C 802ADF3C 00046943 */ sra $t5, $a0, 5 -/* 117550 802ADF40 2481001F */ addiu $at, $a0, 0x1f -/* 117554 802ADF44 00016943 */ sra $t5, $at, 5 -.L802ADF48: -/* 117558 802ADF48 448D5000 */ mtc1 $t5, $f10 -/* 11755C 802ADF4C 00000000 */ nop -/* 117560 802ADF50 46805420 */ cvt.s.w $f16, $f10 -/* 117564 802ADF54 468032A0 */ cvt.s.w $f10, $f6 -/* 117568 802ADF58 46104483 */ div.s $f18, $f8, $f16 -/* 11756C 802ADF5C 460AD201 */ sub.s $f8, $f26, $f10 -/* 117570 802ADF60 4600910D */ trunc.w.s $f4, $f18 -/* 117574 802ADF64 44062000 */ mfc1 $a2, $f4 -/* 117578 802ADF68 00000000 */ nop -/* 11757C 802ADF6C 00067C00 */ sll $t7, $a2, 0x10 -/* 117580 802ADF70 000FC403 */ sra $t8, $t7, 0x10 -/* 117584 802ADF74 03003025 */ move $a2, $t8 -/* 117588 802ADF78 04A10003 */ bgez $a1, .L802ADF88 -/* 11758C 802ADF7C 0005C943 */ sra $t9, $a1, 5 -/* 117590 802ADF80 24A1001F */ addiu $at, $a1, 0x1f -/* 117594 802ADF84 0001C943 */ sra $t9, $at, 5 -.L802ADF88: -/* 117598 802ADF88 44998000 */ mtc1 $t9, $f16 -/* 11759C 802ADF8C 00000000 */ nop -/* 1175A0 802ADF90 468084A0 */ cvt.s.w $f18, $f16 -/* 1175A4 802ADF94 46124103 */ div.s $f4, $f8, $f18 -/* 1175A8 802ADF98 4600218D */ trunc.w.s $f6, $f4 -/* 1175AC 802ADF9C 44073000 */ mfc1 $a3, $f6 -/* 1175B0 802ADFA0 00000000 */ nop -/* 1175B4 802ADFA4 00074C00 */ sll $t1, $a3, 0x10 -/* 1175B8 802ADFA8 04C10003 */ bgez $a2, .L802ADFB8 -/* 1175BC 802ADFAC 00093C03 */ sra $a3, $t1, 0x10 -/* 1175C0 802ADFB0 10000075 */ b .L802AE188 -/* 1175C4 802ADFB4 00001025 */ move $v0, $zero -.L802ADFB8: -/* 1175C8 802ADFB8 04E10003 */ bgez $a3, .L802ADFC8 -/* 1175CC 802ADFBC 28C10020 */ slti $at, $a2, 0x20 -/* 1175D0 802ADFC0 10000071 */ b .L802AE188 -/* 1175D4 802ADFC4 00001025 */ move $v0, $zero -.L802ADFC8: -/* 1175D8 802ADFC8 54200004 */ bnel $at, $zero, .L802ADFDC -/* 1175DC 802ADFCC 28E10020 */ slti $at, $a3, 0x20 -/* 1175E0 802ADFD0 1000006D */ b .L802AE188 -/* 1175E4 802ADFD4 00001025 */ move $v0, $zero -/* 1175E8 802ADFD8 28E10020 */ slti $at, $a3, 0x20 -.L802ADFDC: -/* 1175EC 802ADFDC 14200003 */ bnez $at, .L802ADFEC -/* 1175F0 802ADFE0 00075940 */ sll $t3, $a3, 5 -/* 1175F4 802ADFE4 10000068 */ b .L802AE188 -/* 1175F8 802ADFE8 00001025 */ move $v0, $zero -.L802ADFEC: -/* 1175FC 802ADFEC 00CB6021 */ addu $t4, $a2, $t3 -/* 117600 802ADFF0 000C6C00 */ sll $t5, $t4, 0x10 -/* 117604 802ADFF4 000D7403 */ sra $t6, $t5, 0x10 -/* 117608 802ADFF8 3C188015 */ lui $t8, %hi(D_8014F110) # $t8, 0x8015 -/* 11760C 802ADFFC 2718F110 */ addiu $t8, %lo(D_8014F110) # addiu $t8, $t8, -0xef0 -/* 117610 802AE000 000E7880 */ sll $t7, $t6, 2 -/* 117614 802AE004 01F81821 */ addu $v1, $t7, $t8 -/* 117618 802AE008 94760002 */ lhu $s6, 2($v1) -/* 11761C 802AE00C 00009825 */ move $s3, $zero -/* 117620 802AE010 16C00003 */ bnez $s6, .L802AE020 -/* 117624 802AE014 00000000 */ nop -/* 117628 802AE018 1000005B */ b .L802AE188 -/* 11762C 802AE01C 02801025 */ move $v0, $s4 -.L802AE020: -/* 117630 802AE020 1AC00058 */ blez $s6, .L802AE184 -/* 117634 802AE024 94720000 */ lhu $s2, ($v1) -.L802AE028: -/* 117638 802AE028 3401E000 */ li $at, 57344 -/* 11763C 802AE02C 16810003 */ bne $s4, $at, .L802AE03C -/* 117640 802AE030 02808025 */ move $s0, $s4 -/* 117644 802AE034 10000054 */ b .L802AE188 -/* 117648 802AE038 02801025 */ move $v0, $s4 -.L802AE03C: -/* 11764C 802AE03C 3C198016 */ lui $t9, %hi(D_8015F584) # $t9, 0x8016 -/* 117650 802AE040 8F39F584 */ lw $t9, %lo(D_8015F584)($t9) -/* 117654 802AE044 00124040 */ sll $t0, $s2, 1 -/* 117658 802AE048 3C0A8016 */ lui $t2, %hi(D_8015F580) # $t2, 0x8016 -/* 11765C 802AE04C 03284821 */ addu $t1, $t9, $t0 -/* 117660 802AE050 95220000 */ lhu $v0, ($t1) -/* 117664 802AE054 8D4AF580 */ lw $t2, %lo(D_8015F580)($t2) -/* 117668 802AE058 320E4000 */ andi $t6, $s0, 0x4000 -/* 11766C 802AE05C 00025880 */ sll $t3, $v0, 2 -/* 117670 802AE060 01625823 */ subu $t3, $t3, $v0 -/* 117674 802AE064 000B5880 */ sll $t3, $t3, 2 -/* 117678 802AE068 01625823 */ subu $t3, $t3, $v0 -/* 11767C 802AE06C 000B5880 */ sll $t3, $t3, 2 -/* 117680 802AE070 014B6021 */ addu $t4, $t2, $t3 -/* 117684 802AE074 95830000 */ lhu $v1, ($t4) -/* 117688 802AE078 306D4000 */ andi $t5, $v1, 0x4000 -/* 11768C 802AE07C 11A00013 */ beqz $t5, .L802AE0CC -/* 117690 802AE080 30798000 */ andi $t9, $v1, 0x8000 -/* 117694 802AE084 55C00038 */ bnel $t6, $zero, .L802AE168 -/* 117698 802AE088 26730001 */ addiu $s3, $s3, 1 -/* 11769C 802AE08C 962F000A */ lhu $t7, 0xa($s1) -/* 1176A0 802AE090 02202025 */ move $a0, $s1 -/* 1176A4 802AE094 51E20034 */ beql $t7, $v0, .L802AE168 -/* 1176A8 802AE098 26730001 */ addiu $s3, $s3, 1 -/* 1176AC 802AE09C 4405B000 */ mfc1 $a1, $f22 -/* 1176B0 802AE0A0 4406A000 */ mfc1 $a2, $f20 -/* 1176B4 802AE0A4 4407C000 */ mfc1 $a3, $f24 -/* 1176B8 802AE0A8 E7BA0010 */ swc1 $f26, 0x10($sp) -/* 1176BC 802AE0AC 0C0AAB93 */ jal func_802AAE4C -/* 1176C0 802AE0B0 AFA20014 */ sw $v0, 0x14($sp) -/* 1176C4 802AE0B4 5455002C */ bnel $v0, $s5, .L802AE168 -/* 1176C8 802AE0B8 26730001 */ addiu $s3, $s3, 1 -/* 1176CC 802AE0BC 36144000 */ ori $s4, $s0, 0x4000 -/* 1176D0 802AE0C0 3298FFFF */ andi $t8, $s4, 0xffff -/* 1176D4 802AE0C4 10000027 */ b .L802AE164 -/* 1176D8 802AE0C8 0300A025 */ move $s4, $t8 -.L802AE0CC: -/* 1176DC 802AE0CC 13200014 */ beqz $t9, .L802AE120 -/* 1176E0 802AE0D0 320B2000 */ andi $t3, $s0, 0x2000 -/* 1176E4 802AE0D4 32088000 */ andi $t0, $s0, 0x8000 -/* 1176E8 802AE0D8 55000023 */ bnel $t0, $zero, .L802AE168 -/* 1176EC 802AE0DC 26730001 */ addiu $s3, $s3, 1 -/* 1176F0 802AE0E0 96290008 */ lhu $t1, 8($s1) -/* 1176F4 802AE0E4 02202025 */ move $a0, $s1 -/* 1176F8 802AE0E8 5122001F */ beql $t1, $v0, .L802AE168 -/* 1176FC 802AE0EC 26730001 */ addiu $s3, $s3, 1 -/* 117700 802AE0F0 4405B000 */ mfc1 $a1, $f22 -/* 117704 802AE0F4 4406A000 */ mfc1 $a2, $f20 -/* 117708 802AE0F8 4407C000 */ mfc1 $a3, $f24 -/* 11770C 802AE0FC E7BA0010 */ swc1 $f26, 0x10($sp) -/* 117710 802AE100 0C0AADB1 */ jal func_802AB6C4 -/* 117714 802AE104 AFA20014 */ sw $v0, 0x14($sp) -/* 117718 802AE108 54550017 */ bnel $v0, $s5, .L802AE168 -/* 11771C 802AE10C 26730001 */ addiu $s3, $s3, 1 -/* 117720 802AE110 36148000 */ ori $s4, $s0, 0x8000 -/* 117724 802AE114 328AFFFF */ andi $t2, $s4, 0xffff -/* 117728 802AE118 10000012 */ b .L802AE164 -/* 11772C 802AE11C 0140A025 */ move $s4, $t2 -.L802AE120: -/* 117730 802AE120 55600011 */ bnel $t3, $zero, .L802AE168 -/* 117734 802AE124 26730001 */ addiu $s3, $s3, 1 -/* 117738 802AE128 962C0006 */ lhu $t4, 6($s1) -/* 11773C 802AE12C 02202025 */ move $a0, $s1 -/* 117740 802AE130 5182000D */ beql $t4, $v0, .L802AE168 -/* 117744 802AE134 26730001 */ addiu $s3, $s3, 1 -/* 117748 802AE138 4405B000 */ mfc1 $a1, $f22 -/* 11774C 802AE13C 4406A000 */ mfc1 $a2, $f20 -/* 117750 802AE140 4407C000 */ mfc1 $a3, $f24 -/* 117754 802AE144 E7BA0010 */ swc1 $f26, 0x10($sp) -/* 117758 802AE148 0C0AACA2 */ jal func_802AB288 -/* 11775C 802AE14C AFA20014 */ sw $v0, 0x14($sp) -/* 117760 802AE150 54550005 */ bnel $v0, $s5, .L802AE168 -/* 117764 802AE154 26730001 */ addiu $s3, $s3, 1 -/* 117768 802AE158 36142000 */ ori $s4, $s0, 0x2000 -/* 11776C 802AE15C 328DFFFF */ andi $t5, $s4, 0xffff -/* 117770 802AE160 01A0A025 */ move $s4, $t5 -.L802AE164: -/* 117774 802AE164 26730001 */ addiu $s3, $s3, 1 -.L802AE168: -/* 117778 802AE168 326FFFFF */ andi $t7, $s3, 0xffff -/* 11777C 802AE16C 26520001 */ addiu $s2, $s2, 1 -/* 117780 802AE170 01F6082A */ slt $at, $t7, $s6 -/* 117784 802AE174 324EFFFF */ andi $t6, $s2, 0xffff -/* 117788 802AE178 01E09825 */ move $s3, $t7 -/* 11778C 802AE17C 1420FFAA */ bnez $at, .L802AE028 -/* 117790 802AE180 01C09025 */ move $s2, $t6 -.L802AE184: -/* 117794 802AE184 02801025 */ move $v0, $s4 -.L802AE188: -/* 117798 802AE188 8FBF005C */ lw $ra, 0x5c($sp) -/* 11779C 802AE18C D7B40020 */ ldc1 $f20, 0x20($sp) -/* 1177A0 802AE190 D7B60028 */ ldc1 $f22, 0x28($sp) -/* 1177A4 802AE194 D7B80030 */ ldc1 $f24, 0x30($sp) -/* 1177A8 802AE198 D7BA0038 */ ldc1 $f26, 0x38($sp) -/* 1177AC 802AE19C 8FB00040 */ lw $s0, 0x40($sp) -/* 1177B0 802AE1A0 8FB10044 */ lw $s1, 0x44($sp) -/* 1177B4 802AE1A4 8FB20048 */ lw $s2, 0x48($sp) -/* 1177B8 802AE1A8 8FB3004C */ lw $s3, 0x4c($sp) -/* 1177BC 802AE1AC 8FB40050 */ lw $s4, 0x50($sp) -/* 1177C0 802AE1B0 8FB50054 */ lw $s5, 0x54($sp) -/* 1177C4 802AE1B4 8FB60058 */ lw $s6, 0x58($sp) -/* 1177C8 802AE1B8 03E00008 */ jr $ra -/* 1177CC 802AE1BC 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/non_matchings/code_802AAA70/func_802AE1C0.s b/asm/non_matchings/code_802AAA70/func_802AE1C0.s deleted file mode 100644 index 28ce65f2c..000000000 --- a/asm/non_matchings/code_802AAA70/func_802AE1C0.s +++ /dev/null @@ -1,192 +0,0 @@ -.section .late_rodata - -glabel D_802B9E4C -.float -3000.0 - -glabel D_802B9E50 -.float 3000.0 - -glabel D_802B9E54 -.float 3000.0 - -glabel D_802B9E58 -.float 3000.0 - -glabel D_802B9E5C -.float 3000.0 - -glabel D_802B9E60 -.float 3000.0 - -.section .text - -glabel func_802AE1C0 -/* 1177D0 802AE1C0 3C028016 */ lui $v0, %hi(D_8015F6EA) # $v0, 0x8016 -/* 1177D4 802AE1C4 8442F6EA */ lh $v0, %lo(D_8015F6EA)($v0) -/* 1177D8 802AE1C8 3C0E8016 */ lui $t6, %hi(D_8015F6E8) # $t6, 0x8016 -/* 1177DC 802AE1CC 85CEF6E8 */ lh $t6, %lo(D_8015F6E8)($t6) -/* 1177E0 802AE1D0 44822000 */ mtc1 $v0, $f4 -/* 1177E4 802AE1D4 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 1177E8 802AE1D8 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 1177EC 802AE1DC 3C01802C */ lui $at, %hi(D_802B9E4C) # $at, 0x802c -/* 1177F0 802AE1E0 C4349E4C */ lwc1 $f20, %lo(D_802B9E4C)($at) -/* 1177F4 802AE1E4 01C22023 */ subu $a0, $t6, $v0 -/* 1177F8 802AE1E8 468021A0 */ cvt.s.w $f6, $f4 -/* 1177FC 802AE1EC 3C038016 */ lui $v1, %hi(D_8015F6F2) # $v1, 0x8016 -/* 117800 802AE1F0 8463F6F2 */ lh $v1, %lo(D_8015F6F2)($v1) -/* 117804 802AE1F4 3C0F8016 */ lui $t7, %hi(D_8015F6F0) # $t7, 0x8016 -/* 117808 802AE1F8 85EFF6F0 */ lh $t7, %lo(D_8015F6F0)($t7) -/* 11780C 802AE1FC F7B80020 */ sdc1 $f24, 0x20($sp) -/* 117810 802AE200 46066201 */ sub.s $f8, $f12, $f6 -/* 117814 802AE204 44833000 */ mtc1 $v1, $f6 -/* 117818 802AE208 01E32823 */ subu $a1, $t7, $v1 -/* 11781C 802AE20C 4486C000 */ mtc1 $a2, $f24 -/* 117820 802AE210 3C0E8015 */ lui $t6, %hi(D_8014F110) # $t6, 0x8015 -/* 117824 802AE214 25CEF110 */ addiu $t6, %lo(D_8014F110) # addiu $t6, $t6, -0xef0 -/* 117828 802AE218 F7BA0028 */ sdc1 $f26, 0x28($sp) -/* 11782C 802AE21C F7B60018 */ sdc1 $f22, 0x18($sp) -/* 117830 802AE220 46006586 */ mov.s $f22, $f12 -/* 117834 802AE224 46007686 */ mov.s $f26, $f14 -/* 117838 802AE228 AFBF0054 */ sw $ra, 0x54($sp) -/* 11783C 802AE22C AFB70050 */ sw $s7, 0x50($sp) -/* 117840 802AE230 AFB6004C */ sw $s6, 0x4c($sp) -/* 117844 802AE234 AFB50048 */ sw $s5, 0x48($sp) -/* 117848 802AE238 AFB40044 */ sw $s4, 0x44($sp) -/* 11784C 802AE23C AFB30040 */ sw $s3, 0x40($sp) -/* 117850 802AE240 AFB2003C */ sw $s2, 0x3c($sp) -/* 117854 802AE244 AFB10038 */ sw $s1, 0x38($sp) -/* 117858 802AE248 AFB00034 */ sw $s0, 0x34($sp) -/* 11785C 802AE24C 04810003 */ bgez $a0, .L802AE25C -/* 117860 802AE250 0004C143 */ sra $t8, $a0, 5 -/* 117864 802AE254 2481001F */ addiu $at, $a0, 0x1f -/* 117868 802AE258 0001C143 */ sra $t8, $at, 5 -.L802AE25C: -/* 11786C 802AE25C 44985000 */ mtc1 $t8, $f10 -/* 117870 802AE260 00000000 */ nop -/* 117874 802AE264 46805420 */ cvt.s.w $f16, $f10 -/* 117878 802AE268 468032A0 */ cvt.s.w $f10, $f6 -/* 11787C 802AE26C 46104483 */ div.s $f18, $f8, $f16 -/* 117880 802AE270 460AC201 */ sub.s $f8, $f24, $f10 -/* 117884 802AE274 4600910D */ trunc.w.s $f4, $f18 -/* 117888 802AE278 44062000 */ mfc1 $a2, $f4 -/* 11788C 802AE27C 00000000 */ nop -/* 117890 802AE280 00065C00 */ sll $t3, $a2, 0x10 -/* 117894 802AE284 000B6403 */ sra $t4, $t3, 0x10 -/* 117898 802AE288 01803025 */ move $a2, $t4 -/* 11789C 802AE28C 04A10003 */ bgez $a1, .L802AE29C -/* 1178A0 802AE290 00056943 */ sra $t5, $a1, 5 -/* 1178A4 802AE294 24A1001F */ addiu $at, $a1, 0x1f -/* 1178A8 802AE298 00016943 */ sra $t5, $at, 5 -.L802AE29C: -/* 1178AC 802AE29C 448D8000 */ mtc1 $t5, $f16 -/* 1178B0 802AE2A0 3C01802C */ lui $at, %hi(D_802B9E50) # $at, 0x802c -/* 1178B4 802AE2A4 468084A0 */ cvt.s.w $f18, $f16 -/* 1178B8 802AE2A8 46124103 */ div.s $f4, $f8, $f18 -/* 1178BC 802AE2AC 4600218D */ trunc.w.s $f6, $f4 -/* 1178C0 802AE2B0 44073000 */ mfc1 $a3, $f6 -/* 1178C4 802AE2B4 00000000 */ nop -/* 1178C8 802AE2B8 00077C00 */ sll $t7, $a3, 0x10 -/* 1178CC 802AE2BC 000FC403 */ sra $t8, $t7, 0x10 -/* 1178D0 802AE2C0 00184140 */ sll $t0, $t8, 5 -/* 1178D4 802AE2C4 00C8C821 */ addu $t9, $a2, $t0 -/* 1178D8 802AE2C8 00195C00 */ sll $t3, $t9, 0x10 -/* 1178DC 802AE2CC 000B6403 */ sra $t4, $t3, 0x10 -/* 1178E0 802AE2D0 000C6880 */ sll $t5, $t4, 2 -/* 1178E4 802AE2D4 01AE5021 */ addu $t2, $t5, $t6 -/* 1178E8 802AE2D8 04C10003 */ bgez $a2, .L802AE2E8 -/* 1178EC 802AE2DC 95490002 */ lhu $t1, 2($t2) -/* 1178F0 802AE2E0 10000045 */ b .L802AE3F8 -/* 1178F4 802AE2E4 C4209E50 */ lwc1 $f0, %lo(D_802B9E50)($at) -.L802AE2E8: -/* 1178F8 802AE2E8 05010004 */ bgez $t0, .L802AE2FC -/* 1178FC 802AE2EC 28C10020 */ slti $at, $a2, 0x20 -/* 117900 802AE2F0 3C01802C */ lui $at, %hi(D_802B9E54) # $at, 0x802c -/* 117904 802AE2F4 10000040 */ b .L802AE3F8 -/* 117908 802AE2F8 C4209E54 */ lwc1 $f0, %lo(D_802B9E54)($at) -.L802AE2FC: -/* 11790C 802AE2FC 14200003 */ bnez $at, .L802AE30C -/* 117910 802AE300 3C01802C */ lui $at, %hi(D_802B9E58) # $at, 0x802c -/* 117914 802AE304 1000003C */ b .L802AE3F8 -/* 117918 802AE308 C4209E58 */ lwc1 $f0, %lo(D_802B9E58)($at) -.L802AE30C: -/* 11791C 802AE30C 29010400 */ slti $at, $t0, 0x400 -/* 117920 802AE310 14200003 */ bnez $at, .L802AE320 -/* 117924 802AE314 3C01802C */ lui $at, %hi(D_802B9E5C) # $at, 0x802c -/* 117928 802AE318 10000037 */ b .L802AE3F8 -/* 11792C 802AE31C C4209E5C */ lwc1 $f0, %lo(D_802B9E5C)($at) -.L802AE320: -/* 117930 802AE320 15200004 */ bnez $t1, .L802AE334 -/* 117934 802AE324 0120B825 */ move $s7, $t1 -/* 117938 802AE328 3C01802C */ lui $at, %hi(D_802B9E60) # $at, 0x802c -/* 11793C 802AE32C 10000032 */ b .L802AE3F8 -/* 117940 802AE330 C4209E60 */ lwc1 $f0, %lo(D_802B9E60)($at) -.L802AE334: -/* 117944 802AE334 95510000 */ lhu $s1, ($t2) -/* 117948 802AE338 1AE0002E */ blez $s7, .L802AE3F4 -/* 11794C 802AE33C 00009025 */ move $s2, $zero -/* 117950 802AE340 3C148016 */ lui $s4, %hi(D_8015F580) # $s4, 0x8016 -/* 117954 802AE344 3C138016 */ lui $s3, %hi(D_8015F584) # $s3, 0x8016 -/* 117958 802AE348 2673F584 */ addiu $s3, %lo(D_8015F584) # addiu $s3, $s3, -0xa7c -/* 11795C 802AE34C 2694F580 */ addiu $s4, %lo(D_8015F580) # addiu $s4, $s4, -0xa80 -/* 117960 802AE350 24160001 */ li $s6, 1 -/* 117964 802AE354 2415002C */ li $s5, 44 -.L802AE358: -/* 117968 802AE358 8E6F0000 */ lw $t7, ($s3) -/* 11796C 802AE35C 0011C040 */ sll $t8, $s1, 1 -/* 117970 802AE360 8E8B0000 */ lw $t3, ($s4) -/* 117974 802AE364 01F8C821 */ addu $t9, $t7, $t8 -/* 117978 802AE368 97300000 */ lhu $s0, ($t9) -/* 11797C 802AE36C 02150019 */ multu $s0, $s5 -/* 117980 802AE370 3206FFFF */ andi $a2, $s0, 0xffff -/* 117984 802AE374 00006012 */ mflo $t4 -/* 117988 802AE378 016C6821 */ addu $t5, $t3, $t4 -/* 11798C 802AE37C 95AE0000 */ lhu $t6, ($t5) -/* 117990 802AE380 31CF4000 */ andi $t7, $t6, 0x4000 -/* 117994 802AE384 51E00014 */ beql $t7, $zero, .L802AE3D8 -/* 117998 802AE388 26520001 */ addiu $s2, $s2, 1 -/* 11799C 802AE38C 4600B306 */ mov.s $f12, $f22 -/* 1179A0 802AE390 0C0AAEC1 */ jal func_802ABB04 -/* 1179A4 802AE394 4600C386 */ mov.s $f14, $f24 -/* 1179A8 802AE398 1456000E */ bne $v0, $s6, .L802AE3D4 -/* 1179AC 802AE39C 3207FFFF */ andi $a3, $s0, 0xffff -/* 1179B0 802AE3A0 4406C000 */ mfc1 $a2, $f24 -/* 1179B4 802AE3A4 4600B306 */ mov.s $f12, $f22 -/* 1179B8 802AE3A8 0C0AAF8C */ jal func_802ABE30 -/* 1179BC 802AE3AC 4600D386 */ mov.s $f14, $f26 -/* 1179C0 802AE3B0 461A003E */ c.le.s $f0, $f26 -/* 1179C4 802AE3B4 00000000 */ nop -/* 1179C8 802AE3B8 45020007 */ bc1fl .L802AE3D8 -/* 1179CC 802AE3BC 26520001 */ addiu $s2, $s2, 1 -/* 1179D0 802AE3C0 4600A03C */ c.lt.s $f20, $f0 -/* 1179D4 802AE3C4 00000000 */ nop -/* 1179D8 802AE3C8 45020003 */ bc1fl .L802AE3D8 -/* 1179DC 802AE3CC 26520001 */ addiu $s2, $s2, 1 -/* 1179E0 802AE3D0 46000506 */ mov.s $f20, $f0 -.L802AE3D4: -/* 1179E4 802AE3D4 26520001 */ addiu $s2, $s2, 1 -.L802AE3D8: -/* 1179E8 802AE3D8 3259FFFF */ andi $t9, $s2, 0xffff -/* 1179EC 802AE3DC 26310001 */ addiu $s1, $s1, 1 -/* 1179F0 802AE3E0 0337082A */ slt $at, $t9, $s7 -/* 1179F4 802AE3E4 3238FFFF */ andi $t8, $s1, 0xffff -/* 1179F8 802AE3E8 03209025 */ move $s2, $t9 -/* 1179FC 802AE3EC 1420FFDA */ bnez $at, .L802AE358 -/* 117A00 802AE3F0 03008825 */ move $s1, $t8 -.L802AE3F4: -/* 117A04 802AE3F4 4600A006 */ mov.s $f0, $f20 -.L802AE3F8: -/* 117A08 802AE3F8 8FBF0054 */ lw $ra, 0x54($sp) -/* 117A0C 802AE3FC D7B40010 */ ldc1 $f20, 0x10($sp) -/* 117A10 802AE400 D7B60018 */ ldc1 $f22, 0x18($sp) -/* 117A14 802AE404 D7B80020 */ ldc1 $f24, 0x20($sp) -/* 117A18 802AE408 D7BA0028 */ ldc1 $f26, 0x28($sp) -/* 117A1C 802AE40C 8FB00034 */ lw $s0, 0x34($sp) -/* 117A20 802AE410 8FB10038 */ lw $s1, 0x38($sp) -/* 117A24 802AE414 8FB2003C */ lw $s2, 0x3c($sp) -/* 117A28 802AE418 8FB30040 */ lw $s3, 0x40($sp) -/* 117A2C 802AE41C 8FB40044 */ lw $s4, 0x44($sp) -/* 117A30 802AE420 8FB50048 */ lw $s5, 0x48($sp) -/* 117A34 802AE424 8FB6004C */ lw $s6, 0x4c($sp) -/* 117A38 802AE428 8FB70050 */ lw $s7, 0x50($sp) -/* 117A3C 802AE42C 03E00008 */ jr $ra -/* 117A40 802AE430 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/non_matchings/code_802AAA70/func_802AE434.s b/asm/non_matchings/code_802AAA70/func_802AE434.s deleted file mode 100644 index ef36d505a..000000000 --- a/asm/non_matchings/code_802AAA70/func_802AE434.s +++ /dev/null @@ -1,497 +0,0 @@ -.section .late_rodata - -glabel D_802B9E64 -.float -0.9 - -glabel D_802B9E68 -.float 0.9 - -glabel D_802B9E6C -.float 0.1 - -glabel D_802B9E70 -.float -0.1 - -.section .text - -glabel func_802AE434 -/* 117A44 802AE434 3C0E8016 */ lui $t6, %hi(D_8015F588) # $t6, 0x8016 -/* 117A48 802AE438 95CEF588 */ lhu $t6, %lo(D_8015F588)($t6) -/* 117A4C 802AE43C 27BDFF38 */ addiu $sp, $sp, -0xc8 -/* 117A50 802AE440 3C188016 */ lui $t8, %hi(D_8015F580) # $t8, 0x8016 -/* 117A54 802AE444 000E7880 */ sll $t7, $t6, 2 -/* 117A58 802AE448 01EE7823 */ subu $t7, $t7, $t6 -/* 117A5C 802AE44C 8F18F580 */ lw $t8, %lo(D_8015F580)($t8) -/* 117A60 802AE450 000F7880 */ sll $t7, $t7, 2 -/* 117A64 802AE454 01EE7823 */ subu $t7, $t7, $t6 -/* 117A68 802AE458 000F7880 */ sll $t7, $t7, 2 -/* 117A6C 802AE45C AFA400C8 */ sw $a0, 0xc8($sp) -/* 117A70 802AE460 AFA500CC */ sw $a1, 0xcc($sp) -/* 117A74 802AE464 AFA600D0 */ sw $a2, 0xd0($sp) -/* 117A78 802AE468 AFA700D4 */ sw $a3, 0xd4($sp) -/* 117A7C 802AE46C 01F84021 */ addu $t0, $t7, $t8 -/* 117A80 802AE470 AD040010 */ sw $a0, 0x10($t0) -/* 117A84 802AE474 8FAE00CC */ lw $t6, 0xcc($sp) -/* 117A88 802AE478 24020004 */ li $v0, 4 -/* 117A8C 802AE47C AD0E0014 */ sw $t6, 0x14($t0) -/* 117A90 802AE480 8FAF00D0 */ lw $t7, 0xd0($sp) -/* 117A94 802AE484 AD0F0018 */ sw $t7, 0x18($t0) -/* 117A98 802AE488 8FB800C8 */ lw $t8, 0xc8($sp) -/* 117A9C 802AE48C 97190006 */ lhu $t9, 6($t8) -/* 117AA0 802AE490 54590009 */ bnel $v0, $t9, .L802AE4B8 -/* 117AA4 802AE494 8D0E0010 */ lw $t6, 0x10($t0) -/* 117AA8 802AE498 95CF0006 */ lhu $t7, 6($t6) -/* 117AAC 802AE49C 544F0006 */ bnel $v0, $t7, .L802AE4B8 -/* 117AB0 802AE4A0 8D0E0010 */ lw $t6, 0x10($t0) -/* 117AB4 802AE4A4 8D180018 */ lw $t8, 0x18($t0) -/* 117AB8 802AE4A8 97190006 */ lhu $t9, 6($t8) -/* 117ABC 802AE4AC 10590197 */ beq $v0, $t9, .L802AEB0C -/* 117AC0 802AE4B0 00000000 */ nop -/* 117AC4 802AE4B4 8D0E0010 */ lw $t6, 0x10($t0) -.L802AE4B8: -/* 117AC8 802AE4B8 AFAE001C */ sw $t6, 0x1c($sp) -/* 117ACC 802AE4BC 8D090014 */ lw $t1, 0x14($t0) -/* 117AD0 802AE4C0 8D0A0018 */ lw $t2, 0x18($t0) -/* 117AD4 802AE4C4 85C40000 */ lh $a0, ($t6) -/* 117AD8 802AE4C8 852B0000 */ lh $t3, ($t1) -/* 117ADC 802AE4CC 85C60002 */ lh $a2, 2($t6) -/* 117AE0 802AE4D0 85C50004 */ lh $a1, 4($t6) -/* 117AE4 802AE4D4 85270002 */ lh $a3, 2($t1) -/* 117AE8 802AE4D8 852C0004 */ lh $t4, 4($t1) -/* 117AEC 802AE4DC 854D0000 */ lh $t5, ($t2) -/* 117AF0 802AE4E0 85420002 */ lh $v0, 2($t2) -/* 117AF4 802AE4E4 148B0012 */ bne $a0, $t3, .L802AE530 -/* 117AF8 802AE4E8 85430004 */ lh $v1, 4($t2) -/* 117AFC 802AE4EC 14AC0010 */ bne $a1, $t4, .L802AE530 -/* 117B00 802AE4F0 8FB800CC */ lw $t8, 0xcc($sp) -/* 117B04 802AE4F4 AD180018 */ sw $t8, 0x18($t0) -/* 117B08 802AE4F8 8FB900D0 */ lw $t9, 0xd0($sp) -/* 117B0C 802AE4FC AD190014 */ sw $t9, 0x14($t0) -/* 117B10 802AE500 8FAE00C8 */ lw $t6, 0xc8($sp) -/* 117B14 802AE504 8FAF00CC */ lw $t7, 0xcc($sp) -/* 117B18 802AE508 8FB800D0 */ lw $t8, 0xd0($sp) -/* 117B1C 802AE50C 85C40000 */ lh $a0, ($t6) -/* 117B20 802AE510 85C60002 */ lh $a2, 2($t6) -/* 117B24 802AE514 85C50004 */ lh $a1, 4($t6) -/* 117B28 802AE518 85EB0000 */ lh $t3, ($t7) -/* 117B2C 802AE51C 85E70002 */ lh $a3, 2($t7) -/* 117B30 802AE520 85EC0004 */ lh $t4, 4($t7) -/* 117B34 802AE524 870D0000 */ lh $t5, ($t8) -/* 117B38 802AE528 87020002 */ lh $v0, 2($t8) -/* 117B3C 802AE52C 87030004 */ lh $v1, 4($t8) -.L802AE530: -/* 117B40 802AE530 008B082A */ slt $at, $a0, $t3 -/* 117B44 802AE534 14200007 */ bnez $at, .L802AE554 -/* 117B48 802AE538 008D082A */ slt $at, $a0, $t5 -/* 117B4C 802AE53C 14200003 */ bnez $at, .L802AE54C -/* 117B50 802AE540 00000000 */ nop -/* 117B54 802AE544 10000009 */ b .L802AE56C -/* 117B58 802AE548 A7A4004A */ sh $a0, 0x4a($sp) -.L802AE54C: -/* 117B5C 802AE54C 10000007 */ b .L802AE56C -/* 117B60 802AE550 A7AD004A */ sh $t5, 0x4a($sp) -.L802AE554: -/* 117B64 802AE554 016D082A */ slt $at, $t3, $t5 -/* 117B68 802AE558 54200004 */ bnel $at, $zero, .L802AE56C -/* 117B6C 802AE55C A7AD004A */ sh $t5, 0x4a($sp) -/* 117B70 802AE560 10000002 */ b .L802AE56C -/* 117B74 802AE564 A7AB004A */ sh $t3, 0x4a($sp) -/* 117B78 802AE568 A7AD004A */ sh $t5, 0x4a($sp) -.L802AE56C: -/* 117B7C 802AE56C 00AC082A */ slt $at, $a1, $t4 -/* 117B80 802AE570 14200007 */ bnez $at, .L802AE590 -/* 117B84 802AE574 00A3082A */ slt $at, $a1, $v1 -/* 117B88 802AE578 14200003 */ bnez $at, .L802AE588 -/* 117B8C 802AE57C 00000000 */ nop -/* 117B90 802AE580 10000009 */ b .L802AE5A8 -/* 117B94 802AE584 A7A50048 */ sh $a1, 0x48($sp) -.L802AE588: -/* 117B98 802AE588 10000007 */ b .L802AE5A8 -/* 117B9C 802AE58C A7A30048 */ sh $v1, 0x48($sp) -.L802AE590: -/* 117BA0 802AE590 0183082A */ slt $at, $t4, $v1 -/* 117BA4 802AE594 54200004 */ bnel $at, $zero, .L802AE5A8 -/* 117BA8 802AE598 A7A30048 */ sh $v1, 0x48($sp) -/* 117BAC 802AE59C 10000002 */ b .L802AE5A8 -/* 117BB0 802AE5A0 A7AC0048 */ sh $t4, 0x48($sp) -/* 117BB4 802AE5A4 A7A30048 */ sh $v1, 0x48($sp) -.L802AE5A8: -/* 117BB8 802AE5A8 00C7082A */ slt $at, $a2, $a3 -/* 117BBC 802AE5AC 14200007 */ bnez $at, .L802AE5CC -/* 117BC0 802AE5B0 00C2082A */ slt $at, $a2, $v0 -/* 117BC4 802AE5B4 14200003 */ bnez $at, .L802AE5C4 -/* 117BC8 802AE5B8 00000000 */ nop -/* 117BCC 802AE5BC 10000009 */ b .L802AE5E4 -/* 117BD0 802AE5C0 A7A60042 */ sh $a2, 0x42($sp) -.L802AE5C4: -/* 117BD4 802AE5C4 10000007 */ b .L802AE5E4 -/* 117BD8 802AE5C8 A7A20042 */ sh $v0, 0x42($sp) -.L802AE5CC: -/* 117BDC 802AE5CC 00E2082A */ slt $at, $a3, $v0 -/* 117BE0 802AE5D0 54200004 */ bnel $at, $zero, .L802AE5E4 -/* 117BE4 802AE5D4 A7A20042 */ sh $v0, 0x42($sp) -/* 117BE8 802AE5D8 10000002 */ b .L802AE5E4 -/* 117BEC 802AE5DC A7A70042 */ sh $a3, 0x42($sp) -/* 117BF0 802AE5E0 A7A20042 */ sh $v0, 0x42($sp) -.L802AE5E4: -/* 117BF4 802AE5E4 0164082A */ slt $at, $t3, $a0 -/* 117BF8 802AE5E8 14200007 */ bnez $at, .L802AE608 -/* 117BFC 802AE5EC 01A4082A */ slt $at, $t5, $a0 -/* 117C00 802AE5F0 14200003 */ bnez $at, .L802AE600 -/* 117C04 802AE5F4 00000000 */ nop -/* 117C08 802AE5F8 10000009 */ b .L802AE620 -/* 117C0C 802AE5FC A7A40044 */ sh $a0, 0x44($sp) -.L802AE600: -/* 117C10 802AE600 10000007 */ b .L802AE620 -/* 117C14 802AE604 A7AD0044 */ sh $t5, 0x44($sp) -.L802AE608: -/* 117C18 802AE608 01AB082A */ slt $at, $t5, $t3 -/* 117C1C 802AE60C 54200004 */ bnel $at, $zero, .L802AE620 -/* 117C20 802AE610 A7AD0044 */ sh $t5, 0x44($sp) -/* 117C24 802AE614 10000002 */ b .L802AE620 -/* 117C28 802AE618 A7AB0044 */ sh $t3, 0x44($sp) -/* 117C2C 802AE61C A7AD0044 */ sh $t5, 0x44($sp) -.L802AE620: -/* 117C30 802AE620 00E6082A */ slt $at, $a3, $a2 -/* 117C34 802AE624 1420000A */ bnez $at, .L802AE650 -/* 117C38 802AE628 0046082A */ slt $at, $v0, $a2 -/* 117C3C 802AE62C 14200005 */ bnez $at, .L802AE644 -/* 117C40 802AE630 00025400 */ sll $t2, $v0, 0x10 -/* 117C44 802AE634 00065400 */ sll $t2, $a2, 0x10 -/* 117C48 802AE638 000ACC03 */ sra $t9, $t2, 0x10 -/* 117C4C 802AE63C 1000000D */ b .L802AE674 -/* 117C50 802AE640 03205025 */ move $t2, $t9 -.L802AE644: -/* 117C54 802AE644 000A7403 */ sra $t6, $t2, 0x10 -/* 117C58 802AE648 1000000A */ b .L802AE674 -/* 117C5C 802AE64C 01C05025 */ move $t2, $t6 -.L802AE650: -/* 117C60 802AE650 0047082A */ slt $at, $v0, $a3 -/* 117C64 802AE654 14200005 */ bnez $at, .L802AE66C -/* 117C68 802AE658 00025400 */ sll $t2, $v0, 0x10 -/* 117C6C 802AE65C 00075400 */ sll $t2, $a3, 0x10 -/* 117C70 802AE660 000A7C03 */ sra $t7, $t2, 0x10 -/* 117C74 802AE664 10000003 */ b .L802AE674 -/* 117C78 802AE668 01E05025 */ move $t2, $t7 -.L802AE66C: -/* 117C7C 802AE66C 000AC403 */ sra $t8, $t2, 0x10 -/* 117C80 802AE670 03005025 */ move $t2, $t8 -.L802AE674: -/* 117C84 802AE674 0185082A */ slt $at, $t4, $a1 -/* 117C88 802AE678 1420000A */ bnez $at, .L802AE6A4 -/* 117C8C 802AE67C 0065082A */ slt $at, $v1, $a1 -/* 117C90 802AE680 14200005 */ bnez $at, .L802AE698 -/* 117C94 802AE684 00034C00 */ sll $t1, $v1, 0x10 -/* 117C98 802AE688 00054C00 */ sll $t1, $a1, 0x10 -/* 117C9C 802AE68C 0009CC03 */ sra $t9, $t1, 0x10 -/* 117CA0 802AE690 1000000D */ b .L802AE6C8 -/* 117CA4 802AE694 03204825 */ move $t1, $t9 -.L802AE698: -/* 117CA8 802AE698 00097403 */ sra $t6, $t1, 0x10 -/* 117CAC 802AE69C 1000000A */ b .L802AE6C8 -/* 117CB0 802AE6A0 01C04825 */ move $t1, $t6 -.L802AE6A4: -/* 117CB4 802AE6A4 006C082A */ slt $at, $v1, $t4 -/* 117CB8 802AE6A8 14200005 */ bnez $at, .L802AE6C0 -/* 117CBC 802AE6AC 00034C00 */ sll $t1, $v1, 0x10 -/* 117CC0 802AE6B0 000C4C00 */ sll $t1, $t4, 0x10 -/* 117CC4 802AE6B4 00097C03 */ sra $t7, $t1, 0x10 -/* 117CC8 802AE6B8 10000003 */ b .L802AE6C8 -/* 117CCC 802AE6BC 01E04825 */ move $t1, $t7 -.L802AE6C0: -/* 117CD0 802AE6C0 0009C403 */ sra $t8, $t1, 0x10 -/* 117CD4 802AE6C4 03004825 */ move $t1, $t8 -.L802AE6C8: -/* 117CD8 802AE6C8 A7A300AA */ sh $v1, 0xaa($sp) -/* 117CDC 802AE6CC A7A600B8 */ sh $a2, 0xb8($sp) -/* 117CE0 802AE6D0 A7A700B2 */ sh $a3, 0xb2($sp) -/* 117CE4 802AE6D4 87B900B2 */ lh $t9, 0xb2($sp) -/* 117CE8 802AE6D8 87AE00B8 */ lh $t6, 0xb8($sp) -/* 117CEC 802AE6DC 87AF00AA */ lh $t7, 0xaa($sp) -/* 117CF0 802AE6E0 A7A200AC */ sh $v0, 0xac($sp) -/* 117CF4 802AE6E4 032E1023 */ subu $v0, $t9, $t6 -/* 117CF8 802AE6E8 01EC1823 */ subu $v1, $t7, $t4 -/* 117CFC 802AE6EC 00430019 */ multu $v0, $v1 -/* 117D00 802AE6F0 A7A500B6 */ sh $a1, 0xb6($sp) -/* 117D04 802AE6F4 87B800B6 */ lh $t8, 0xb6($sp) -/* 117D08 802AE6F8 87AE00AC */ lh $t6, 0xac($sp) -/* 117D0C 802AE6FC A7A400BA */ sh $a0, 0xba($sp) -/* 117D10 802AE700 01982023 */ subu $a0, $t4, $t8 -/* 117D14 802AE704 01D92823 */ subu $a1, $t6, $t9 -/* 117D18 802AE708 01AB3023 */ subu $a2, $t5, $t3 -/* 117D1C 802AE70C 87B900BA */ lh $t9, 0xba($sp) -/* 117D20 802AE710 44803800 */ mtc1 $zero, $f7 -/* 117D24 802AE714 00007812 */ mflo $t7 -/* 117D28 802AE718 01793823 */ subu $a3, $t3, $t9 -/* 117D2C 802AE71C 00000000 */ nop -/* 117D30 802AE720 00850019 */ multu $a0, $a1 -/* 117D34 802AE724 0000C012 */ mflo $t8 -/* 117D38 802AE728 01F87023 */ subu $t6, $t7, $t8 -/* 117D3C 802AE72C 448E2000 */ mtc1 $t6, $f4 -/* 117D40 802AE730 00860019 */ multu $a0, $a2 -/* 117D44 802AE734 46802321 */ cvt.d.w $f12, $f4 -/* 117D48 802AE738 462C6482 */ mul.d $f18, $f12, $f12 -/* 117D4C 802AE73C 00007812 */ mflo $t7 -/* 117D50 802AE740 00000000 */ nop -/* 117D54 802AE744 00000000 */ nop -/* 117D58 802AE748 00E30019 */ multu $a3, $v1 -/* 117D5C 802AE74C F7B20010 */ sdc1 $f18, 0x10($sp) -/* 117D60 802AE750 0000C012 */ mflo $t8 -/* 117D64 802AE754 01F87023 */ subu $t6, $t7, $t8 -/* 117D68 802AE758 448E3000 */ mtc1 $t6, $f6 -/* 117D6C 802AE75C 00E50019 */ multu $a3, $a1 -/* 117D70 802AE760 468033A1 */ cvt.d.w $f14, $f6 -/* 117D74 802AE764 44803000 */ mtc1 $zero, $f6 -/* 117D78 802AE768 462E7202 */ mul.d $f8, $f14, $f14 -/* 117D7C 802AE76C 0000C812 */ mflo $t9 -/* 117D80 802AE770 00000000 */ nop -/* 117D84 802AE774 00000000 */ nop -/* 117D88 802AE778 00460019 */ multu $v0, $a2 -/* 117D8C 802AE77C F7A80008 */ sdc1 $f8, 8($sp) -/* 117D90 802AE780 46289200 */ add.d $f8, $f18, $f8 -/* 117D94 802AE784 00007812 */ mflo $t7 -/* 117D98 802AE788 032FC023 */ subu $t8, $t9, $t7 -/* 117D9C 802AE78C 44985000 */ mtc1 $t8, $f10 -/* 117DA0 802AE790 00000000 */ nop -/* 117DA4 802AE794 46805421 */ cvt.d.w $f16, $f10 -/* 117DA8 802AE798 46308102 */ mul.d $f4, $f16, $f16 -/* 117DAC 802AE79C F7A40000 */ sdc1 $f4, ($sp) -/* 117DB0 802AE7A0 46244100 */ add.d $f4, $f8, $f4 -/* 117DB4 802AE7A4 46202020 */ cvt.s.d $f0, $f4 -/* 117DB8 802AE7A8 46000004 */ sqrt.s $f0, $f0 -/* 117DBC 802AE7AC 460000A1 */ cvt.d.s $f2, $f0 -/* 117DC0 802AE7B0 46223032 */ c.eq.d $f6, $f2 -/* 117DC4 802AE7B4 00000000 */ nop -/* 117DC8 802AE7B8 450100D4 */ bc1t .L802AEB0C -/* 117DCC 802AE7BC 00000000 */ nop -/* 117DD0 802AE7C0 46206220 */ cvt.s.d $f8, $f12 -/* 117DD4 802AE7C4 87AE00B8 */ lh $t6, 0xb8($sp) -/* 117DD8 802AE7C8 87B900BA */ lh $t9, 0xba($sp) -/* 117DDC 802AE7CC 462071A0 */ cvt.s.d $f6, $f14 -/* 117DE0 802AE7D0 87AF00B6 */ lh $t7, 0xb6($sp) -/* 117DE4 802AE7D4 3C188016 */ lui $t8, %hi(D_8015F59C) # $t8, 0x8016 -/* 117DE8 802AE7D8 460042A1 */ cvt.d.s $f10, $f8 -/* 117DEC 802AE7DC 46003221 */ cvt.d.s $f8, $f6 -/* 117DF0 802AE7E0 46225103 */ div.d $f4, $f10, $f2 -/* 117DF4 802AE7E4 8F18F59C */ lw $t8, %lo(D_8015F59C)($t8) -/* 117DF8 802AE7E8 3C01802C */ lui $at, %hi(D_802B9E64) # $at, 0x802c -/* 117DFC 802AE7EC 462081A0 */ cvt.s.d $f6, $f16 -/* 117E00 802AE7F0 46224283 */ div.d $f10, $f8, $f2 -/* 117E04 802AE7F4 46202020 */ cvt.s.d $f0, $f4 -/* 117E08 802AE7F8 46003221 */ cvt.d.s $f8, $f6 -/* 117E0C 802AE7FC 448E3000 */ mtc1 $t6, $f6 -/* 117E10 802AE800 E7A00058 */ swc1 $f0, 0x58($sp) -/* 117E14 802AE804 3C0E8016 */ lui $t6, %hi(D_8015F5A0) # $t6, 0x8016 -/* 117E18 802AE808 46205120 */ cvt.s.d $f4, $f10 -/* 117E1C 802AE80C 46224283 */ div.d $f10, $f8, $f2 -/* 117E20 802AE810 E7A4001C */ swc1 $f4, 0x1c($sp) -/* 117E24 802AE814 E7A40054 */ swc1 $f4, 0x54($sp) -/* 117E28 802AE818 46803220 */ cvt.s.w $f8, $f6 -/* 117E2C 802AE81C 44993000 */ mtc1 $t9, $f6 -/* 117E30 802AE820 462054A0 */ cvt.s.d $f18, $f10 -/* 117E34 802AE824 46082282 */ mul.s $f10, $f4, $f8 -/* 117E38 802AE828 E7B20050 */ swc1 $f18, 0x50($sp) -/* 117E3C 802AE82C 46803220 */ cvt.s.w $f8, $f6 -/* 117E40 802AE830 46004182 */ mul.s $f6, $f8, $f0 -/* 117E44 802AE834 460A3200 */ add.s $f8, $f6, $f10 -/* 117E48 802AE838 448F3000 */ mtc1 $t7, $f6 -/* 117E4C 802AE83C 00000000 */ nop -/* 117E50 802AE840 468032A0 */ cvt.s.w $f10, $f6 -/* 117E54 802AE844 460A9182 */ mul.s $f6, $f18, $f10 -/* 117E58 802AE848 46064280 */ add.s $f10, $f8, $f6 -/* 117E5C 802AE84C 46005207 */ neg.s $f8, $f10 -/* 117E60 802AE850 1300000C */ beqz $t8, .L802AE884 -/* 117E64 802AE854 E7A8004C */ swc1 $f8, 0x4c($sp) -/* 117E68 802AE858 C4269E64 */ lwc1 $f6, %lo(D_802B9E64)($at) -/* 117E6C 802AE85C 3C01802C */ lui $at, %hi(D_802B9E68) # $at, 0x802c -/* 117E70 802AE860 4606203C */ c.lt.s $f4, $f6 -/* 117E74 802AE864 00000000 */ nop -/* 117E78 802AE868 450100A8 */ bc1t .L802AEB0C -/* 117E7C 802AE86C 00000000 */ nop -/* 117E80 802AE870 C42A9E68 */ lwc1 $f10, %lo(D_802B9E68)($at) -/* 117E84 802AE874 4604503C */ c.lt.s $f10, $f4 -/* 117E88 802AE878 00000000 */ nop -/* 117E8C 802AE87C 450100A3 */ bc1t .L802AEB0C -/* 117E90 802AE880 00000000 */ nop -.L802AE884: -/* 117E94 802AE884 8DCEF5A0 */ lw $t6, %lo(D_8015F5A0)($t6) -/* 117E98 802AE888 C7A0001C */ lwc1 $f0, 0x1c($sp) -/* 117E9C 802AE88C 3C01802C */ lui $at, %hi(D_802B9E6C) # $at, 0x802c -/* 117EA0 802AE890 11C0000C */ beqz $t6, .L802AE8C4 -/* 117EA4 802AE894 3C028016 */ lui $v0, %hi(D_8015F6EA) # $v0, 0x8016 -/* 117EA8 802AE898 C4289E6C */ lwc1 $f8, %lo(D_802B9E6C)($at) -/* 117EAC 802AE89C 3C01802C */ lui $at, %hi(D_802B9E70) # $at, 0x802c -/* 117EB0 802AE8A0 4608003C */ c.lt.s $f0, $f8 -/* 117EB4 802AE8A4 00000000 */ nop -/* 117EB8 802AE8A8 45020007 */ bc1fl .L802AE8C8 -/* 117EBC 802AE8AC 87B9004A */ lh $t9, 0x4a($sp) -/* 117EC0 802AE8B0 C4249E70 */ lwc1 $f4, %lo(D_802B9E70)($at) -/* 117EC4 802AE8B4 4600203C */ c.lt.s $f4, $f0 -/* 117EC8 802AE8B8 00000000 */ nop -/* 117ECC 802AE8BC 45010093 */ bc1t .L802AEB0C -/* 117ED0 802AE8C0 00000000 */ nop -.L802AE8C4: -/* 117ED4 802AE8C4 87B9004A */ lh $t9, 0x4a($sp) -.L802AE8C8: -/* 117ED8 802AE8C8 87A30044 */ lh $v1, 0x44($sp) -/* 117EDC 802AE8CC 87A40042 */ lh $a0, 0x42($sp) -/* 117EE0 802AE8D0 A519000A */ sh $t9, 0xa($t0) -/* 117EE4 802AE8D4 87AF0048 */ lh $t7, 0x48($sp) -/* 117EE8 802AE8D8 2442F6EA */ addiu $v0, %lo(D_8015F6EA) # addiu $v0, $v0, -0x916 -/* 117EEC 802AE8DC A5090008 */ sh $t1, 8($t0) -/* 117EF0 802AE8E0 A50A0006 */ sh $t2, 6($t0) -/* 117EF4 802AE8E4 A5030004 */ sh $v1, 4($t0) -/* 117EF8 802AE8E8 A504000C */ sh $a0, 0xc($t0) -/* 117EFC 802AE8EC A50F000E */ sh $t7, 0xe($t0) -/* 117F00 802AE8F0 84580000 */ lh $t8, ($v0) -/* 117F04 802AE8F4 0078082A */ slt $at, $v1, $t8 -/* 117F08 802AE8F8 10200002 */ beqz $at, .L802AE904 -/* 117F0C 802AE8FC 00000000 */ nop -/* 117F10 802AE900 A4430000 */ sh $v1, ($v0) -.L802AE904: -/* 117F14 802AE904 3C028016 */ lui $v0, %hi(D_8015F6EE) # $v0, 0x8016 -/* 117F18 802AE908 2442F6EE */ addiu $v0, %lo(D_8015F6EE) # addiu $v0, $v0, -0x912 -/* 117F1C 802AE90C 844E0000 */ lh $t6, ($v0) -/* 117F20 802AE910 014E082A */ slt $at, $t2, $t6 -/* 117F24 802AE914 10200002 */ beqz $at, .L802AE920 -/* 117F28 802AE918 00000000 */ nop -/* 117F2C 802AE91C A44A0000 */ sh $t2, ($v0) -.L802AE920: -/* 117F30 802AE920 3C028016 */ lui $v0, %hi(D_8015F6F2) # $v0, 0x8016 -/* 117F34 802AE924 2442F6F2 */ addiu $v0, %lo(D_8015F6F2) # addiu $v0, $v0, -0x90e -/* 117F38 802AE928 84590000 */ lh $t9, ($v0) -/* 117F3C 802AE92C 0139082A */ slt $at, $t1, $t9 -/* 117F40 802AE930 10200002 */ beqz $at, .L802AE93C -/* 117F44 802AE934 00000000 */ nop -/* 117F48 802AE938 A4490000 */ sh $t1, ($v0) -.L802AE93C: -/* 117F4C 802AE93C 3C028016 */ lui $v0, %hi(D_8015F6E8) # $v0, 0x8016 -/* 117F50 802AE940 2442F6E8 */ addiu $v0, %lo(D_8015F6E8) # addiu $v0, $v0, -0x918 -/* 117F54 802AE944 844F0000 */ lh $t7, ($v0) -/* 117F58 802AE948 87B8004A */ lh $t8, 0x4a($sp) -/* 117F5C 802AE94C 01F8082A */ slt $at, $t7, $t8 -/* 117F60 802AE950 10200002 */ beqz $at, .L802AE95C -/* 117F64 802AE954 00000000 */ nop -/* 117F68 802AE958 A4580000 */ sh $t8, ($v0) -.L802AE95C: -/* 117F6C 802AE95C 3C028016 */ lui $v0, %hi(D_8015F6EC) # $v0, 0x8016 -/* 117F70 802AE960 2442F6EC */ addiu $v0, %lo(D_8015F6EC) # addiu $v0, $v0, -0x914 -/* 117F74 802AE964 844E0000 */ lh $t6, ($v0) -/* 117F78 802AE968 01C4082A */ slt $at, $t6, $a0 -/* 117F7C 802AE96C 10200002 */ beqz $at, .L802AE978 -/* 117F80 802AE970 00000000 */ nop -/* 117F84 802AE974 A4440000 */ sh $a0, ($v0) -.L802AE978: -/* 117F88 802AE978 3C028016 */ lui $v0, %hi(D_8015F6F0) # $v0, 0x8016 -/* 117F8C 802AE97C 2442F6F0 */ addiu $v0, %lo(D_8015F6F0) # addiu $v0, $v0, -0x910 -/* 117F90 802AE980 84590000 */ lh $t9, ($v0) -/* 117F94 802AE984 87AF0048 */ lh $t7, 0x48($sp) -/* 117F98 802AE988 032F082A */ slt $at, $t9, $t7 -/* 117F9C 802AE98C 50200003 */ beql $at, $zero, .L802AE99C -/* 117FA0 802AE990 C7A60058 */ lwc1 $f6, 0x58($sp) -/* 117FA4 802AE994 A44F0000 */ sh $t7, ($v0) -/* 117FA8 802AE998 C7A60058 */ lwc1 $f6, 0x58($sp) -.L802AE99C: -/* 117FAC 802AE99C 97A600DA */ lhu $a2, 0xda($sp) -/* 117FB0 802AE9A0 3C018016 */ lui $at, %hi(D_8015F6FA) # $at, 0x8016 -/* 117FB4 802AE9A4 E506001C */ swc1 $f6, 0x1c($t0) -/* 117FB8 802AE9A8 C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 117FBC 802AE9AC 24090001 */ li $t1, 1 -/* 117FC0 802AE9B0 24020002 */ li $v0, 2 -/* 117FC4 802AE9B4 E50A0020 */ swc1 $f10, 0x20($t0) -/* 117FC8 802AE9B8 C7A80050 */ lwc1 $f8, 0x50($sp) -/* 117FCC 802AE9BC 00C02825 */ move $a1, $a2 -/* 117FD0 802AE9C0 E5080024 */ swc1 $f8, 0x24($t0) -/* 117FD4 802AE9C4 C7A4004C */ lwc1 $f4, 0x4c($sp) -/* 117FD8 802AE9C8 E5040028 */ swc1 $f4, 0x28($t0) -/* 117FDC 802AE9CC 83B800D7 */ lb $t8, 0xd7($sp) -/* 117FE0 802AE9D0 A5180002 */ sh $t8, 2($t0) -/* 117FE4 802AE9D4 A420F6FA */ sh $zero, %lo(D_8015F6FA)($at) -/* 117FE8 802AE9D8 3C018016 */ lui $at, %hi(D_8015F6FC) # $at, 0x8016 -/* 117FEC 802AE9DC A420F6FC */ sh $zero, %lo(D_8015F6FC)($at) -/* 117FF0 802AE9E0 8D0E0010 */ lw $t6, 0x10($t0) -/* 117FF4 802AE9E4 8D190014 */ lw $t9, 0x14($t0) -/* 117FF8 802AE9E8 8D0F0018 */ lw $t7, 0x18($t0) -/* 117FFC 802AE9EC 95C70006 */ lhu $a3, 6($t6) -/* 118000 802AE9F0 D7A00010 */ ldc1 $f0, 0x10($sp) -/* 118004 802AE9F4 D7A20008 */ ldc1 $f2, 8($sp) -/* 118008 802AE9F8 D7AC0000 */ ldc1 $f12, ($sp) -/* 11800C 802AE9FC 97230006 */ lhu $v1, 6($t9) -/* 118010 802AEA00 15270009 */ bne $t1, $a3, .L802AEA28 -/* 118014 802AEA04 95E40006 */ lhu $a0, 6($t7) -/* 118018 802AEA08 15230007 */ bne $t1, $v1, .L802AEA28 -/* 11801C 802AEA0C 00000000 */ nop -/* 118020 802AEA10 15240005 */ bne $t1, $a0, .L802AEA28 -/* 118024 802AEA14 00000000 */ nop -/* 118028 802AEA18 34C50400 */ ori $a1, $a2, 0x400 -/* 11802C 802AEA1C 30B8FFFF */ andi $t8, $a1, 0xffff -/* 118030 802AEA20 1000001C */ b .L802AEA94 -/* 118034 802AEA24 03002825 */ move $a1, $t8 -.L802AEA28: -/* 118038 802AEA28 5447000A */ bnel $v0, $a3, .L802AEA54 -/* 11803C 802AEA2C 24020003 */ li $v0, 3 -/* 118040 802AEA30 54430008 */ bnel $v0, $v1, .L802AEA54 -/* 118044 802AEA34 24020003 */ li $v0, 3 -/* 118048 802AEA38 54440006 */ bnel $v0, $a0, .L802AEA54 -/* 11804C 802AEA3C 24020003 */ li $v0, 3 -/* 118050 802AEA40 34C50800 */ ori $a1, $a2, 0x800 -/* 118054 802AEA44 30AEFFFF */ andi $t6, $a1, 0xffff -/* 118058 802AEA48 10000012 */ b .L802AEA94 -/* 11805C 802AEA4C 01C02825 */ move $a1, $t6 -/* 118060 802AEA50 24020003 */ li $v0, 3 -.L802AEA54: -/* 118064 802AEA54 14470009 */ bne $v0, $a3, .L802AEA7C -/* 118068 802AEA58 3C0F8016 */ lui $t7, %hi(D_8015F5A4) # $t7, 0x8016 -/* 11806C 802AEA5C 14430007 */ bne $v0, $v1, .L802AEA7C -/* 118070 802AEA60 00000000 */ nop -/* 118074 802AEA64 14440005 */ bne $v0, $a0, .L802AEA7C -/* 118078 802AEA68 00000000 */ nop -/* 11807C 802AEA6C 34C51000 */ ori $a1, $a2, 0x1000 -/* 118080 802AEA70 30B9FFFF */ andi $t9, $a1, 0xffff -/* 118084 802AEA74 10000007 */ b .L802AEA94 -/* 118088 802AEA78 03202825 */ move $a1, $t9 -.L802AEA7C: -/* 11808C 802AEA7C 8DEFF5A4 */ lw $t7, %lo(D_8015F5A4)($t7) -/* 118090 802AEA80 51E00005 */ beql $t7, $zero, .L802AEA98 -/* 118094 802AEA84 4622003E */ c.le.d $f0, $f2 -/* 118098 802AEA88 34C50200 */ ori $a1, $a2, 0x200 -/* 11809C 802AEA8C 30B8FFFF */ andi $t8, $a1, 0xffff -/* 1180A0 802AEA90 03002825 */ move $a1, $t8 -.L802AEA94: -/* 1180A4 802AEA94 4622003E */ c.le.d $f0, $f2 -.L802AEA98: -/* 1180A8 802AEA98 A5050000 */ sh $a1, ($t0) -/* 1180AC 802AEA9C 45020008 */ bc1fl .L802AEAC0 -/* 1180B0 802AEAA0 4620103C */ c.lt.d $f2, $f0 -/* 1180B4 802AEAA4 4622603E */ c.le.d $f12, $f2 -/* 1180B8 802AEAA8 34B94000 */ ori $t9, $a1, 0x4000 -/* 1180BC 802AEAAC 45020004 */ bc1fl .L802AEAC0 -/* 1180C0 802AEAB0 4620103C */ c.lt.d $f2, $f0 -/* 1180C4 802AEAB4 10000010 */ b .L802AEAF8 -/* 1180C8 802AEAB8 A5190000 */ sh $t9, ($t0) -/* 1180CC 802AEABC 4620103C */ c.lt.d $f2, $f0 -.L802AEAC0: -/* 1180D0 802AEAC0 00000000 */ nop -/* 1180D4 802AEAC4 4502000A */ bc1fl .L802AEAF0 -/* 1180D8 802AEAC8 950E0000 */ lhu $t6, ($t0) -/* 1180DC 802AEACC 4620603E */ c.le.d $f12, $f0 -/* 1180E0 802AEAD0 00000000 */ nop -/* 1180E4 802AEAD4 45020006 */ bc1fl .L802AEAF0 -/* 1180E8 802AEAD8 950E0000 */ lhu $t6, ($t0) -/* 1180EC 802AEADC 950F0000 */ lhu $t7, ($t0) -/* 1180F0 802AEAE0 35F88000 */ ori $t8, $t7, 0x8000 -/* 1180F4 802AEAE4 10000004 */ b .L802AEAF8 -/* 1180F8 802AEAE8 A5180000 */ sh $t8, ($t0) -/* 1180FC 802AEAEC 950E0000 */ lhu $t6, ($t0) -.L802AEAF0: -/* 118100 802AEAF0 35D92000 */ ori $t9, $t6, 0x2000 -/* 118104 802AEAF4 A5190000 */ sh $t9, ($t0) -.L802AEAF8: -/* 118108 802AEAF8 3C0F8016 */ lui $t7, %hi(D_8015F588) # $t7, 0x8016 -/* 11810C 802AEAFC 95EFF588 */ lhu $t7, %lo(D_8015F588)($t7) -/* 118110 802AEB00 3C018016 */ lui $at, %hi(D_8015F588) # $at, 0x8016 -/* 118114 802AEB04 25F80001 */ addiu $t8, $t7, 1 -/* 118118 802AEB08 A438F588 */ sh $t8, %lo(D_8015F588)($at) -.L802AEB0C: -/* 11811C 802AEB0C 03E00008 */ jr $ra -/* 118120 802AEB10 27BD00C8 */ addiu $sp, $sp, 0xc8 diff --git a/asm/non_matchings/code_802AAA70/func_802AEB14.s b/asm/non_matchings/code_802AAA70/func_802AEB14.s deleted file mode 100644 index ec7d4a9ef..000000000 --- a/asm/non_matchings/code_802AAA70/func_802AEB14.s +++ /dev/null @@ -1,37 +0,0 @@ -glabel func_802AEB14 -/* 118124 802AEB14 3C0100FF */ lui $at, 0xff -/* 118128 802AEB18 0081C024 */ and $t8, $a0, $at -/* 11812C 802AEB1C 0018CC02 */ srl $t9, $t8, 0x10 -/* 118130 802AEB20 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 118134 802AEB24 3C028016 */ lui $v0, %hi(D_8015F668) # $v0, 0x8016 -/* 118138 802AEB28 00194042 */ srl $t0, $t9, 1 -/* 11813C 802AEB2C 00807825 */ move $t7, $a0 -/* 118140 802AEB30 2442F668 */ addiu $v0, %lo(D_8015F668) # addiu $v0, $v0, -0x998 -/* 118144 802AEB34 00053E00 */ sll $a3, $a1, 0x18 -/* 118148 802AEB38 00084880 */ sll $t1, $t0, 2 -/* 11814C 802AEB3C 31EBFF00 */ andi $t3, $t7, 0xff00 -/* 118150 802AEB40 00077603 */ sra $t6, $a3, 0x18 -/* 118154 802AEB44 00495021 */ addu $t2, $v0, $t1 -/* 118158 802AEB48 000B6202 */ srl $t4, $t3, 8 -/* 11815C 802AEB4C 31F900FF */ andi $t9, $t7, 0xff -/* 118160 802AEB50 01C03825 */ move $a3, $t6 -/* 118164 802AEB54 AFA40020 */ sw $a0, 0x20($sp) -/* 118168 802AEB58 000C6842 */ srl $t5, $t4, 1 -/* 11816C 802AEB5C 00194042 */ srl $t0, $t9, 1 -/* 118170 802AEB60 AFA50024 */ sw $a1, 0x24($sp) -/* 118174 802AEB64 AFA60028 */ sw $a2, 0x28($sp) -/* 118178 802AEB68 8D440000 */ lw $a0, ($t2) -/* 11817C 802AEB6C 000D7080 */ sll $t6, $t5, 2 -/* 118180 802AEB70 00084880 */ sll $t1, $t0, 2 -/* 118184 802AEB74 97AB002A */ lhu $t3, 0x2a($sp) -/* 118188 802AEB78 AFBF001C */ sw $ra, 0x1c($sp) -/* 11818C 802AEB7C 004EC021 */ addu $t8, $v0, $t6 -/* 118190 802AEB80 00495021 */ addu $t2, $v0, $t1 -/* 118194 802AEB84 8F050000 */ lw $a1, ($t8) -/* 118198 802AEB88 8D460000 */ lw $a2, ($t2) -/* 11819C 802AEB8C 0C0AB90D */ jal func_802AE434 -/* 1181A0 802AEB90 AFAB0010 */ sw $t3, 0x10($sp) -/* 1181A4 802AEB94 8FBF001C */ lw $ra, 0x1c($sp) -/* 1181A8 802AEB98 27BD0020 */ addiu $sp, $sp, 0x20 -/* 1181AC 802AEB9C 03E00008 */ jr $ra -/* 1181B0 802AEBA0 00000000 */ nop diff --git a/asm/non_matchings/code_802AAA70/func_802AEBA4.s b/asm/non_matchings/code_802AAA70/func_802AEBA4.s deleted file mode 100644 index 575599465..000000000 --- a/asm/non_matchings/code_802AAA70/func_802AEBA4.s +++ /dev/null @@ -1,64 +0,0 @@ -glabel func_802AEBA4 -/* 1181B4 802AEBA4 00807025 */ move $t6, $a0 -/* 1181B8 802AEBA8 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 1181BC 802AEBAC 31CAFF00 */ andi $t2, $t6, 0xff00 -/* 1181C0 802AEBB0 AFA5005C */ sw $a1, 0x5c($sp) -/* 1181C4 802AEBB4 3C0300FF */ lui $v1, 0xff -/* 1181C8 802AEBB8 000A5A02 */ srl $t3, $t2, 8 -/* 1181CC 802AEBBC 8FAA005C */ lw $t2, 0x5c($sp) -/* 1181D0 802AEBC0 00837824 */ and $t7, $a0, $v1 -/* 1181D4 802AEBC4 3C028016 */ lui $v0, %hi(D_8015F668) # $v0, 0x8016 -/* 1181D8 802AEBC8 000FC402 */ srl $t8, $t7, 0x10 -/* 1181DC 802AEBCC 000B6042 */ srl $t4, $t3, 1 -/* 1181E0 802AEBD0 2442F668 */ addiu $v0, %lo(D_8015F668) # addiu $v0, $v0, -0x998 -/* 1181E4 802AEBD4 000C6880 */ sll $t5, $t4, 2 -/* 1181E8 802AEBD8 0018C842 */ srl $t9, $t8, 1 -/* 1181EC 802AEBDC 004D7821 */ addu $t7, $v0, $t5 -/* 1181F0 802AEBE0 01435824 */ and $t3, $t2, $v1 -/* 1181F4 802AEBE4 00194080 */ sll $t0, $t9, 2 -/* 1181F8 802AEBE8 000B6402 */ srl $t4, $t3, 0x10 -/* 1181FC 802AEBEC 00484821 */ addu $t1, $v0, $t0 -/* 118200 802AEBF0 8DE50000 */ lw $a1, ($t7) -/* 118204 802AEBF4 31D800FF */ andi $t8, $t6, 0xff -/* 118208 802AEBF8 000C6842 */ srl $t5, $t4, 1 -/* 11820C 802AEBFC AFA40058 */ sw $a0, 0x58($sp) -/* 118210 802AEC00 0018C842 */ srl $t9, $t8, 1 -/* 118214 802AEC04 000D7880 */ sll $t7, $t5, 2 -/* 118218 802AEC08 8D240000 */ lw $a0, ($t1) -/* 11821C 802AEC0C 00194080 */ sll $t0, $t9, 2 -/* 118220 802AEC10 004F7021 */ addu $t6, $v0, $t7 -/* 118224 802AEC14 8DD80000 */ lw $t8, ($t6) -/* 118228 802AEC18 AFBF001C */ sw $ra, 0x1c($sp) -/* 11822C 802AEC1C AFA60060 */ sw $a2, 0x60($sp) -/* 118230 802AEC20 AFA70064 */ sw $a3, 0x64($sp) -/* 118234 802AEC24 00484821 */ addu $t1, $v0, $t0 -/* 118238 802AEC28 8D260000 */ lw $a2, ($t1) -/* 11823C 802AEC2C 3159FF00 */ andi $t9, $t2, 0xff00 -/* 118240 802AEC30 00194202 */ srl $t0, $t9, 8 -/* 118244 802AEC34 314F00FF */ andi $t7, $t2, 0xff -/* 118248 802AEC38 00084842 */ srl $t1, $t0, 1 -/* 11824C 802AEC3C 000F7042 */ srl $t6, $t7, 1 -/* 118250 802AEC40 AFB80028 */ sw $t8, 0x28($sp) -/* 118254 802AEC44 00095880 */ sll $t3, $t1, 2 -/* 118258 802AEC48 000EC080 */ sll $t8, $t6, 2 -/* 11825C 802AEC4C 004B6021 */ addu $t4, $v0, $t3 -/* 118260 802AEC50 0058C821 */ addu $t9, $v0, $t8 -/* 118264 802AEC54 8D8D0000 */ lw $t5, ($t4) -/* 118268 802AEC58 8F280000 */ lw $t0, ($t9) -/* 11826C 802AEC5C 97A90066 */ lhu $t1, 0x66($sp) -/* 118270 802AEC60 83A70063 */ lb $a3, 0x63($sp) -/* 118274 802AEC64 AFAD0024 */ sw $t5, 0x24($sp) -/* 118278 802AEC68 AFA80020 */ sw $t0, 0x20($sp) -/* 11827C 802AEC6C 0C0AB90D */ jal func_802AE434 -/* 118280 802AEC70 AFA90010 */ sw $t1, 0x10($sp) -/* 118284 802AEC74 97AB0066 */ lhu $t3, 0x66($sp) -/* 118288 802AEC78 8FA40028 */ lw $a0, 0x28($sp) -/* 11828C 802AEC7C 8FA50024 */ lw $a1, 0x24($sp) -/* 118290 802AEC80 8FA60020 */ lw $a2, 0x20($sp) -/* 118294 802AEC84 83A70063 */ lb $a3, 0x63($sp) -/* 118298 802AEC88 0C0AB90D */ jal func_802AE434 -/* 11829C 802AEC8C AFAB0010 */ sw $t3, 0x10($sp) -/* 1182A0 802AEC90 8FBF001C */ lw $ra, 0x1c($sp) -/* 1182A4 802AEC94 27BD0058 */ addiu $sp, $sp, 0x58 -/* 1182A8 802AEC98 03E00008 */ jr $ra -/* 1182AC 802AEC9C 00000000 */ nop diff --git a/asm/non_matchings/code_802AAA70/func_802AECA0.s b/asm/non_matchings/code_802AAA70/func_802AECA0.s deleted file mode 100644 index 78b585384..000000000 --- a/asm/non_matchings/code_802AAA70/func_802AECA0.s +++ /dev/null @@ -1,52 +0,0 @@ -glabel func_802AECA0 -/* 1182B0 802AECA0 00807025 */ move $t6, $a0 -/* 1182B4 802AECA4 3C0100FF */ lui $at, 0xff -/* 1182B8 802AECA8 00817824 */ and $t7, $a0, $at -/* 1182BC 802AECAC 31CAFF00 */ andi $t2, $t6, 0xff00 -/* 1182C0 802AECB0 3C028016 */ lui $v0, %hi(D_8015F668) # $v0, 0x8016 -/* 1182C4 802AECB4 000FC402 */ srl $t8, $t7, 0x10 -/* 1182C8 802AECB8 000A5A02 */ srl $t3, $t2, 8 -/* 1182CC 802AECBC 2442F668 */ addiu $v0, %lo(D_8015F668) # addiu $v0, $v0, -0x998 -/* 1182D0 802AECC0 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 1182D4 802AECC4 0018C842 */ srl $t9, $t8, 1 -/* 1182D8 802AECC8 000B6042 */ srl $t4, $t3, 1 -/* 1182DC 802AECCC 3C01FF00 */ lui $at, 0xff00 -/* 1182E0 802AECD0 00194080 */ sll $t0, $t9, 2 -/* 1182E4 802AECD4 000C6880 */ sll $t5, $t4, 2 -/* 1182E8 802AECD8 01C15024 */ and $t2, $t6, $at -/* 1182EC 802AECDC 00484821 */ addu $t1, $v0, $t0 -/* 1182F0 802AECE0 004D7821 */ addu $t7, $v0, $t5 -/* 1182F4 802AECE4 31D800FF */ andi $t8, $t6, 0xff -/* 1182F8 802AECE8 000A5E02 */ srl $t3, $t2, 0x18 -/* 1182FC 802AECEC AFA40048 */ sw $a0, 0x48($sp) -/* 118300 802AECF0 AFA5004C */ sw $a1, 0x4c($sp) -/* 118304 802AECF4 0018C842 */ srl $t9, $t8, 1 -/* 118308 802AECF8 000B6042 */ srl $t4, $t3, 1 -/* 11830C 802AECFC 8D240000 */ lw $a0, ($t1) -/* 118310 802AED00 AFBF001C */ sw $ra, 0x1c($sp) -/* 118314 802AED04 AFA60050 */ sw $a2, 0x50($sp) -/* 118318 802AED08 8DE50000 */ lw $a1, ($t7) -/* 11831C 802AED0C 00194080 */ sll $t0, $t9, 2 -/* 118320 802AED10 000C6880 */ sll $t5, $t4, 2 -/* 118324 802AED14 00484821 */ addu $t1, $v0, $t0 -/* 118328 802AED18 004D7821 */ addu $t7, $v0, $t5 -/* 11832C 802AED1C 8D260000 */ lw $a2, ($t1) -/* 118330 802AED20 8DF80000 */ lw $t8, ($t7) -/* 118334 802AED24 97B90052 */ lhu $t9, 0x52($sp) -/* 118338 802AED28 83A7004F */ lb $a3, 0x4f($sp) -/* 11833C 802AED2C AFA4002C */ sw $a0, 0x2c($sp) -/* 118340 802AED30 AFA60024 */ sw $a2, 0x24($sp) -/* 118344 802AED34 AFB80020 */ sw $t8, 0x20($sp) -/* 118348 802AED38 0C0AB90D */ jal func_802AE434 -/* 11834C 802AED3C AFB90010 */ sw $t9, 0x10($sp) -/* 118350 802AED40 97A80052 */ lhu $t0, 0x52($sp) -/* 118354 802AED44 8FA4002C */ lw $a0, 0x2c($sp) -/* 118358 802AED48 8FA50024 */ lw $a1, 0x24($sp) -/* 11835C 802AED4C 8FA60020 */ lw $a2, 0x20($sp) -/* 118360 802AED50 83A7004F */ lb $a3, 0x4f($sp) -/* 118364 802AED54 0C0AB90D */ jal func_802AE434 -/* 118368 802AED58 AFA80010 */ sw $t0, 0x10($sp) -/* 11836C 802AED5C 8FBF001C */ lw $ra, 0x1c($sp) -/* 118370 802AED60 27BD0048 */ addiu $sp, $sp, 0x48 -/* 118374 802AED64 03E00008 */ jr $ra -/* 118378 802AED68 00000000 */ nop diff --git a/asm/non_matchings/code_802AAA70/func_802AF314.s b/asm/non_matchings/code_802AAA70/func_802AF314.s deleted file mode 100644 index 50248a8c4..000000000 --- a/asm/non_matchings/code_802AAA70/func_802AF314.s +++ /dev/null @@ -1,168 +0,0 @@ -glabel func_802AF314 -/* 118924 802AF314 27BDFF58 */ addiu $sp, $sp, -0xa8 -/* 118928 802AF318 3C0E8016 */ lui $t6, %hi(D_8015F6E8) # $t6, 0x8016 -/* 11892C 802AF31C 3C0F8016 */ lui $t7, %hi(D_8015F6EA) # $t7, 0x8016 -/* 118930 802AF320 3C188016 */ lui $t8, %hi(D_8015F6F0) # $t8, 0x8016 -/* 118934 802AF324 3C198016 */ lui $t9, %hi(D_8015F6F2) # $t9, 0x8016 -/* 118938 802AF328 85EFF6EA */ lh $t7, %lo(D_8015F6EA)($t7) -/* 11893C 802AF32C 85CEF6E8 */ lh $t6, %lo(D_8015F6E8)($t6) -/* 118940 802AF330 8739F6F2 */ lh $t9, %lo(D_8015F6F2)($t9) -/* 118944 802AF334 8718F6F0 */ lh $t8, %lo(D_8015F6F0)($t8) -/* 118948 802AF338 3C028015 */ lui $v0, %hi(D_8014F110) # $v0, 0x8015 -/* 11894C 802AF33C 3C038015 */ lui $v1, %hi(gNumActors) # $v1, 0x8015 -/* 118950 802AF340 AFBF0044 */ sw $ra, 0x44($sp) -/* 118954 802AF344 AFBE0040 */ sw $fp, 0x40($sp) -/* 118958 802AF348 AFB7003C */ sw $s7, 0x3c($sp) -/* 11895C 802AF34C AFB60038 */ sw $s6, 0x38($sp) -/* 118960 802AF350 AFB50034 */ sw $s5, 0x34($sp) -/* 118964 802AF354 AFB40030 */ sw $s4, 0x30($sp) -/* 118968 802AF358 AFB3002C */ sw $s3, 0x2c($sp) -/* 11896C 802AF35C AFB20028 */ sw $s2, 0x28($sp) -/* 118970 802AF360 AFB10024 */ sw $s1, 0x24($sp) -/* 118974 802AF364 AFB00020 */ sw $s0, 0x20($sp) -/* 118978 802AF368 24630110 */ addiu $v1, %lo(gNumActors) # addiu $v1, $v1, 0x110 -/* 11897C 802AF36C 2442F110 */ addiu $v0, %lo(D_8014F110) # addiu $v0, $v0, -0xef0 -/* 118980 802AF370 01CF2023 */ subu $a0, $t6, $t7 -/* 118984 802AF374 03192823 */ subu $a1, $t8, $t9 -.L802AF378: -/* 118988 802AF378 24420010 */ addiu $v0, $v0, 0x10 -/* 11898C 802AF37C A440FFF6 */ sh $zero, -0xa($v0) -/* 118990 802AF380 A440FFFA */ sh $zero, -6($v0) -/* 118994 802AF384 A440FFFE */ sh $zero, -2($v0) -/* 118998 802AF388 1443FFFB */ bne $v0, $v1, .L802AF378 -/* 11899C 802AF38C A440FFF2 */ sh $zero, -0xe($v0) -/* 1189A0 802AF390 3C148016 */ lui $s4, %hi(D_8015F58A) # $s4, 0x8016 -/* 1189A4 802AF394 2694F58A */ addiu $s4, %lo(D_8015F58A) # addiu $s4, $s4, -0xa76 -/* 1189A8 802AF398 A6800000 */ sh $zero, ($s4) -/* 1189AC 802AF39C 3C088016 */ lui $t0, %hi(gNextFreeMemoryAddress) # $t0, 0x8016 -/* 1189B0 802AF3A0 8D08F728 */ lw $t0, %lo(gNextFreeMemoryAddress)($t0) -/* 1189B4 802AF3A4 3C018016 */ lui $at, %hi(D_8015F584) # $at, 0x8016 -/* 1189B8 802AF3A8 3C038016 */ lui $v1, %hi(D_8015F588) # $v1, 0x8016 -/* 1189BC 802AF3AC AC28F584 */ sw $t0, %lo(D_8015F584)($at) -/* 1189C0 802AF3B0 9463F588 */ lhu $v1, %lo(D_8015F588)($v1) -/* 1189C4 802AF3B4 0000B825 */ move $s7, $zero -/* 1189C8 802AF3B8 04810003 */ bgez $a0, .L802AF3C8 -/* 1189CC 802AF3BC 0004B143 */ sra $s6, $a0, 5 -/* 1189D0 802AF3C0 2481001F */ addiu $at, $a0, 0x1f -/* 1189D4 802AF3C4 0001B143 */ sra $s6, $at, 5 -.L802AF3C8: -/* 1189D8 802AF3C8 04A10003 */ bgez $a1, .L802AF3D8 -/* 1189DC 802AF3CC 0005F143 */ sra $fp, $a1, 5 -/* 1189E0 802AF3D0 24A1001F */ addiu $at, $a1, 0x1f -/* 1189E4 802AF3D4 0001F143 */ sra $fp, $at, 5 -.L802AF3D8: -/* 1189E8 802AF3D8 03D70019 */ multu $fp, $s7 -/* 1189EC 802AF3DC 0000A825 */ move $s5, $zero -/* 1189F0 802AF3E0 00004812 */ mflo $t1 -/* 1189F4 802AF3E4 AFA9004C */ sw $t1, 0x4c($sp) -/* 1189F8 802AF3E8 00000000 */ nop -.L802AF3EC: -/* 1189FC 802AF3EC 02D50019 */ multu $s6, $s5 -/* 118A00 802AF3F0 3C0A8016 */ lui $t2, %hi(D_8015F6EA) # $t2, 0x8016 -/* 118A04 802AF3F4 3C0E8016 */ lui $t6, %hi(D_8015F6F2) # $t6, 0x8016 -/* 118A08 802AF3F8 854AF6EA */ lh $t2, %lo(D_8015F6EA)($t2) -/* 118A0C 802AF3FC 85CEF6F2 */ lh $t6, %lo(D_8015F6F2)($t6) -/* 118A10 802AF400 8FAF004C */ lw $t7, 0x4c($sp) -/* 118A14 802AF404 00008025 */ move $s0, $zero -/* 118A18 802AF408 00009825 */ move $s3, $zero -/* 118A1C 802AF40C 01CF9021 */ addu $s2, $t6, $t7 -/* 118A20 802AF410 2652FFEC */ addiu $s2, $s2, -0x14 -/* 118A24 802AF414 00005812 */ mflo $t3 -/* 118A28 802AF418 014B8821 */ addu $s1, $t2, $t3 -/* 118A2C 802AF41C 2631FFEC */ addiu $s1, $s1, -0x14 -/* 118A30 802AF420 00116400 */ sll $t4, $s1, 0x10 -/* 118A34 802AF424 0012C400 */ sll $t8, $s2, 0x10 -/* 118A38 802AF428 000C8C03 */ sra $s1, $t4, 0x10 -/* 118A3C 802AF42C 18600042 */ blez $v1, .L802AF538 -/* 118A40 802AF430 00189403 */ sra $s2, $t8, 0x10 -.L802AF434: -/* 118A44 802AF434 3C088016 */ lui $t0, %hi(D_8015F580) # $t0, 0x8016 -/* 118A48 802AF438 8D08F580 */ lw $t0, %lo(D_8015F580)($t0) -/* 118A4C 802AF43C 025E3821 */ addu $a3, $s2, $fp -/* 118A50 802AF440 24E70028 */ addiu $a3, $a3, 0x28 -/* 118A54 802AF444 02681021 */ addu $v0, $s3, $t0 -/* 118A58 802AF448 8449000E */ lh $t1, 0xe($v0) -/* 118A5C 802AF44C 0132082A */ slt $at, $t1, $s2 -/* 118A60 802AF450 54200036 */ bnel $at, $zero, .L802AF52C -/* 118A64 802AF454 26100001 */ addiu $s0, $s0, 1 -/* 118A68 802AF458 844C0008 */ lh $t4, 8($v0) -/* 118A6C 802AF45C 00075400 */ sll $t2, $a3, 0x10 -/* 118A70 802AF460 000A3C03 */ sra $a3, $t2, 0x10 -/* 118A74 802AF464 00EC082A */ slt $at, $a3, $t4 -/* 118A78 802AF468 54200030 */ bnel $at, $zero, .L802AF52C -/* 118A7C 802AF46C 26100001 */ addiu $s0, $s0, 1 -/* 118A80 802AF470 844D000A */ lh $t5, 0xa($v0) -/* 118A84 802AF474 02362821 */ addu $a1, $s1, $s6 -/* 118A88 802AF478 24A50028 */ addiu $a1, $a1, 0x28 -/* 118A8C 802AF47C 01B1082A */ slt $at, $t5, $s1 -/* 118A90 802AF480 5420002A */ bnel $at, $zero, .L802AF52C -/* 118A94 802AF484 26100001 */ addiu $s0, $s0, 1 -/* 118A98 802AF488 84580004 */ lh $t8, 4($v0) -/* 118A9C 802AF48C 00057400 */ sll $t6, $a1, 0x10 -/* 118AA0 802AF490 000E2C03 */ sra $a1, $t6, 0x10 -/* 118AA4 802AF494 00B8082A */ slt $at, $a1, $t8 -/* 118AA8 802AF498 14200023 */ bnez $at, .L802AF528 -/* 118AAC 802AF49C 00112400 */ sll $a0, $s1, 0x10 -/* 118AB0 802AF4A0 00123400 */ sll $a2, $s2, 0x10 -/* 118AB4 802AF4A4 00064403 */ sra $t0, $a2, 0x10 -/* 118AB8 802AF4A8 0004CC03 */ sra $t9, $a0, 0x10 -/* 118ABC 802AF4AC 03202025 */ move $a0, $t9 -/* 118AC0 802AF4B0 01003025 */ move $a2, $t0 -/* 118AC4 802AF4B4 0C0ABC3F */ jal func_802AF0FC -/* 118AC8 802AF4B8 AFB00010 */ sw $s0, 0x10($sp) -/* 118ACC 802AF4BC 24010001 */ li $at, 1 -/* 118AD0 802AF4C0 14410017 */ bne $v0, $at, .L802AF520 -/* 118AD4 802AF4C4 00174940 */ sll $t1, $s7, 5 -/* 118AD8 802AF4C8 01355021 */ addu $t2, $t1, $s5 -/* 118ADC 802AF4CC 3C0C8015 */ lui $t4, %hi(D_8014F110) # $t4, 0x8015 -/* 118AE0 802AF4D0 258CF110 */ addiu $t4, %lo(D_8014F110) # addiu $t4, $t4, -0xef0 -/* 118AE4 802AF4D4 000A5880 */ sll $t3, $t2, 2 -/* 118AE8 802AF4D8 016C1021 */ addu $v0, $t3, $t4 -/* 118AEC 802AF4DC 94430002 */ lhu $v1, 2($v0) -/* 118AF0 802AF4E0 3C0F8016 */ lui $t7, %hi(D_8015F584) # $t7, 0x8016 -/* 118AF4 802AF4E4 54600005 */ bnel $v1, $zero, .L802AF4FC -/* 118AF8 802AF4E8 246E0001 */ addiu $t6, $v1, 1 -/* 118AFC 802AF4EC 968D0000 */ lhu $t5, ($s4) -/* 118B00 802AF4F0 94430002 */ lhu $v1, 2($v0) -/* 118B04 802AF4F4 A44D0000 */ sh $t5, ($v0) -/* 118B08 802AF4F8 246E0001 */ addiu $t6, $v1, 1 -.L802AF4FC: -/* 118B0C 802AF4FC 96980000 */ lhu $t8, ($s4) -/* 118B10 802AF500 A44E0002 */ sh $t6, 2($v0) -/* 118B14 802AF504 8DEFF584 */ lw $t7, %lo(D_8015F584)($t7) -/* 118B18 802AF508 0018C840 */ sll $t9, $t8, 1 -/* 118B1C 802AF50C 01F94021 */ addu $t0, $t7, $t9 -/* 118B20 802AF510 A5100000 */ sh $s0, ($t0) -/* 118B24 802AF514 96890000 */ lhu $t1, ($s4) -/* 118B28 802AF518 252A0001 */ addiu $t2, $t1, 1 -/* 118B2C 802AF51C A68A0000 */ sh $t2, ($s4) -.L802AF520: -/* 118B30 802AF520 3C038016 */ lui $v1, %hi(D_8015F588) # $v1, 0x8016 -/* 118B34 802AF524 9463F588 */ lhu $v1, %lo(D_8015F588)($v1) -.L802AF528: -/* 118B38 802AF528 26100001 */ addiu $s0, $s0, 1 -.L802AF52C: -/* 118B3C 802AF52C 0203082A */ slt $at, $s0, $v1 -/* 118B40 802AF530 1420FFC0 */ bnez $at, .L802AF434 -/* 118B44 802AF534 2673002C */ addiu $s3, $s3, 0x2c -.L802AF538: -/* 118B48 802AF538 26B50001 */ addiu $s5, $s5, 1 -/* 118B4C 802AF53C 24010020 */ li $at, 32 -/* 118B50 802AF540 16A1FFAA */ bne $s5, $at, .L802AF3EC -/* 118B54 802AF544 00000000 */ nop -/* 118B58 802AF548 26F70001 */ addiu $s7, $s7, 1 -/* 118B5C 802AF54C 24010020 */ li $at, 32 -/* 118B60 802AF550 16E1FFA1 */ bne $s7, $at, .L802AF3D8 -/* 118B64 802AF554 00000000 */ nop -/* 118B68 802AF558 8FBF0044 */ lw $ra, 0x44($sp) -/* 118B6C 802AF55C 8FB00020 */ lw $s0, 0x20($sp) -/* 118B70 802AF560 8FB10024 */ lw $s1, 0x24($sp) -/* 118B74 802AF564 8FB20028 */ lw $s2, 0x28($sp) -/* 118B78 802AF568 8FB3002C */ lw $s3, 0x2c($sp) -/* 118B7C 802AF56C 8FB40030 */ lw $s4, 0x30($sp) -/* 118B80 802AF570 8FB50034 */ lw $s5, 0x34($sp) -/* 118B84 802AF574 8FB60038 */ lw $s6, 0x38($sp) -/* 118B88 802AF578 8FB7003C */ lw $s7, 0x3c($sp) -/* 118B8C 802AF57C 8FBE0040 */ lw $fp, 0x40($sp) -/* 118B90 802AF580 03E00008 */ jr $ra -/* 118B94 802AF584 27BD00A8 */ addiu $sp, $sp, 0xa8 diff --git a/asm/non_matchings/code_802AAA70/func_802AF5D8.s b/asm/non_matchings/code_802AAA70/func_802AF5D8.s deleted file mode 100644 index 47b98d746..000000000 --- a/asm/non_matchings/code_802AAA70/func_802AF5D8.s +++ /dev/null @@ -1,128 +0,0 @@ -glabel func_802AF5D8 -/* 118BE8 802AF5D8 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 118BEC 802AF5DC 00047E02 */ srl $t7, $a0, 0x18 -/* 118BF0 802AF5E0 000FC080 */ sll $t8, $t7, 2 -/* 118BF4 802AF5E4 3C198015 */ lui $t9, %hi(gSegmentTable) -/* 118BF8 802AF5E8 0338C821 */ addu $t9, $t9, $t8 -/* 118BFC 802AF5EC 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 118C00 802AF5F0 8F390258 */ lw $t9, %lo(gSegmentTable)($t9) -/* 118C04 802AF5F4 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 118C08 802AF5F8 00814024 */ and $t0, $a0, $at -/* 118C0C 802AF5FC AFB30024 */ sw $s3, 0x24($sp) -/* 118C10 802AF600 3C018000 */ lui $at, 0x8000 -/* 118C14 802AF604 03289821 */ addu $s3, $t9, $t0 -/* 118C18 802AF608 02619821 */ addu $s3, $s3, $at -/* 118C1C 802AF60C AFB40028 */ sw $s4, 0x28($sp) -/* 118C20 802AF610 3C018016 */ lui $at, %hi(D_8015F6FA) # $at, 0x8016 -/* 118C24 802AF614 0005A600 */ sll $s4, $a1, 0x18 -/* 118C28 802AF618 AFB20020 */ sw $s2, 0x20($sp) -/* 118C2C 802AF61C A420F6FA */ sh $zero, %lo(D_8015F6FA)($at) -/* 118C30 802AF620 00147603 */ sra $t6, $s4, 0x18 -/* 118C34 802AF624 AFBE0038 */ sw $fp, 0x38($sp) -/* 118C38 802AF628 AFB70034 */ sw $s7, 0x34($sp) -/* 118C3C 802AF62C AFB60030 */ sw $s6, 0x30($sp) -/* 118C40 802AF630 AFB5002C */ sw $s5, 0x2c($sp) -/* 118C44 802AF634 3C018016 */ lui $at, %hi(D_8015F6FC) # $at, 0x8016 -/* 118C48 802AF638 3C128016 */ lui $s2, %hi(D_8015F58C) # $s2, 0x8016 -/* 118C4C 802AF63C 30D5FFFF */ andi $s5, $a2, 0xffff -/* 118C50 802AF640 01C0A025 */ move $s4, $t6 -/* 118C54 802AF644 AFBF003C */ sw $ra, 0x3c($sp) -/* 118C58 802AF648 AFB1001C */ sw $s1, 0x1c($sp) -/* 118C5C 802AF64C AFB00018 */ sw $s0, 0x18($sp) -/* 118C60 802AF650 AFA50044 */ sw $a1, 0x44($sp) -/* 118C64 802AF654 AFA60048 */ sw $a2, 0x48($sp) -/* 118C68 802AF658 A420F6FC */ sh $zero, %lo(D_8015F6FC)($at) -/* 118C6C 802AF65C 2652F58C */ addiu $s2, %lo(D_8015F58C) # addiu $s2, $s2, -0xa74 -/* 118C70 802AF660 0000B025 */ move $s6, $zero -/* 118C74 802AF664 3C170600 */ lui $s7, 0x600 -/* 118C78 802AF668 3C1EFF00 */ lui $fp, 0xff00 -.L802AF66C: -/* 118C7C 802AF66C 8E700000 */ lw $s0, ($s3) -/* 118C80 802AF670 8E710004 */ lw $s1, 4($s3) -/* 118C84 802AF674 3C010400 */ lui $at, 0x400 -/* 118C88 802AF678 021E1024 */ and $v0, $s0, $fp -/* 118C8C 802AF67C 16E20008 */ bne $s7, $v0, .L802AF6A0 -/* 118C90 802AF680 02202025 */ move $a0, $s1 -/* 118C94 802AF684 00142E00 */ sll $a1, $s4, 0x18 -/* 118C98 802AF688 00054E03 */ sra $t1, $a1, 0x18 -/* 118C9C 802AF68C 01202825 */ move $a1, $t1 -/* 118CA0 802AF690 0C0ABD76 */ jal func_802AF5D8 -/* 118CA4 802AF694 32A6FFFF */ andi $a2, $s5, 0xffff -/* 118CA8 802AF698 10000037 */ b .L802AF778 -/* 118CAC 802AF69C 26D60001 */ addiu $s6, $s6, 1 -.L802AF6A0: -/* 118CB0 802AF6A0 1441000A */ bne $v0, $at, .L802AF6CC -/* 118CB4 802AF6A4 02202025 */ move $a0, $s1 -/* 118CB8 802AF6A8 00102A82 */ srl $a1, $s0, 0xa -/* 118CBC 802AF6AC 00103402 */ srl $a2, $s0, 0x10 -/* 118CC0 802AF6B0 30CB00FF */ andi $t3, $a2, 0xff -/* 118CC4 802AF6B4 30AA003F */ andi $t2, $a1, 0x3f -/* 118CC8 802AF6B8 01402825 */ move $a1, $t2 -/* 118CCC 802AF6BC 0C0ABB5B */ jal func_802AED6C -/* 118CD0 802AF6C0 000B3042 */ srl $a2, $t3, 1 -/* 118CD4 802AF6C4 1000002C */ b .L802AF778 -/* 118CD8 802AF6C8 26D60001 */ addiu $s6, $s6, 1 -.L802AF6CC: -/* 118CDC 802AF6CC 3C01BF00 */ lui $at, 0xbf00 -/* 118CE0 802AF6D0 1441000B */ bne $v0, $at, .L802AF700 -/* 118CE4 802AF6D4 02202025 */ move $a0, $s1 -/* 118CE8 802AF6D8 8E4D0000 */ lw $t5, ($s2) -/* 118CEC 802AF6DC 00142E00 */ sll $a1, $s4, 0x18 -/* 118CF0 802AF6E0 00057E03 */ sra $t7, $a1, 0x18 -/* 118CF4 802AF6E4 25AE0001 */ addiu $t6, $t5, 1 -/* 118CF8 802AF6E8 AE4E0000 */ sw $t6, ($s2) -/* 118CFC 802AF6EC 01E02825 */ move $a1, $t7 -/* 118D00 802AF6F0 0C0ABAC5 */ jal func_802AEB14 -/* 118D04 802AF6F4 32A6FFFF */ andi $a2, $s5, 0xffff -/* 118D08 802AF6F8 1000001F */ b .L802AF778 -/* 118D0C 802AF6FC 26D60001 */ addiu $s6, $s6, 1 -.L802AF700: -/* 118D10 802AF700 3C01B100 */ lui $at, 0xb100 -/* 118D14 802AF704 1441000C */ bne $v0, $at, .L802AF738 -/* 118D18 802AF708 02002025 */ move $a0, $s0 -/* 118D1C 802AF70C 8E580000 */ lw $t8, ($s2) -/* 118D20 802AF710 00143600 */ sll $a2, $s4, 0x18 -/* 118D24 802AF714 00064603 */ sra $t0, $a2, 0x18 -/* 118D28 802AF718 27190002 */ addiu $t9, $t8, 2 -/* 118D2C 802AF71C AE590000 */ sw $t9, ($s2) -/* 118D30 802AF720 01003025 */ move $a2, $t0 -/* 118D34 802AF724 02202825 */ move $a1, $s1 -/* 118D38 802AF728 0C0ABAE9 */ jal func_802AEBA4 -/* 118D3C 802AF72C 32A7FFFF */ andi $a3, $s5, 0xffff -/* 118D40 802AF730 10000011 */ b .L802AF778 -/* 118D44 802AF734 26D60001 */ addiu $s6, $s6, 1 -.L802AF738: -/* 118D48 802AF738 3C01B500 */ lui $at, 0xb500 -/* 118D4C 802AF73C 1441000B */ bne $v0, $at, .L802AF76C -/* 118D50 802AF740 02202025 */ move $a0, $s1 -/* 118D54 802AF744 8E490000 */ lw $t1, ($s2) -/* 118D58 802AF748 00142E00 */ sll $a1, $s4, 0x18 -/* 118D5C 802AF74C 00055E03 */ sra $t3, $a1, 0x18 -/* 118D60 802AF750 252A0002 */ addiu $t2, $t1, 2 -/* 118D64 802AF754 AE4A0000 */ sw $t2, ($s2) -/* 118D68 802AF758 01602825 */ move $a1, $t3 -/* 118D6C 802AF75C 0C0ABB28 */ jal func_802AECA0 -/* 118D70 802AF760 32A6FFFF */ andi $a2, $s5, 0xffff -/* 118D74 802AF764 10000004 */ b .L802AF778 -/* 118D78 802AF768 26D60001 */ addiu $s6, $s6, 1 -.L802AF76C: -/* 118D7C 802AF76C 3C01B800 */ lui $at, 0xb800 -/* 118D80 802AF770 10410004 */ beq $v0, $at, .L802AF784 -/* 118D84 802AF774 26D60001 */ addiu $s6, $s6, 1 -.L802AF778: -/* 118D88 802AF778 24011FFF */ li $at, 8191 -/* 118D8C 802AF77C 16C1FFBB */ bne $s6, $at, .L802AF66C -/* 118D90 802AF780 26730008 */ addiu $s3, $s3, 8 -.L802AF784: -/* 118D94 802AF784 8FBF003C */ lw $ra, 0x3c($sp) -/* 118D98 802AF788 8FB00018 */ lw $s0, 0x18($sp) -/* 118D9C 802AF78C 8FB1001C */ lw $s1, 0x1c($sp) -/* 118DA0 802AF790 8FB20020 */ lw $s2, 0x20($sp) -/* 118DA4 802AF794 8FB30024 */ lw $s3, 0x24($sp) -/* 118DA8 802AF798 8FB40028 */ lw $s4, 0x28($sp) -/* 118DAC 802AF79C 8FB5002C */ lw $s5, 0x2c($sp) -/* 118DB0 802AF7A0 8FB60030 */ lw $s6, 0x30($sp) -/* 118DB4 802AF7A4 8FB70034 */ lw $s7, 0x34($sp) -/* 118DB8 802AF7A8 8FBE0038 */ lw $fp, 0x38($sp) -/* 118DBC 802AF7AC 03E00008 */ jr $ra -/* 118DC0 802AF7B0 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/non_matchings/code_802AAA70/func_802AFA34.s b/asm/non_matchings/code_802AAA70/func_802AFA34.s deleted file mode 100644 index 87da96375..000000000 --- a/asm/non_matchings/code_802AAA70/func_802AFA34.s +++ /dev/null @@ -1,527 +0,0 @@ -glabel func_802AFA34 -/* 119044 802AFA34 27BDFEC8 */ addiu $sp, $sp, -0x138 -/* 119048 802AFA38 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 11904C 802AFA3C 44810000 */ mtc1 $at, $f0 -/* 119050 802AFA40 AFBF007C */ sw $ra, 0x7c($sp) -/* 119054 802AFA44 AFB70078 */ sw $s7, 0x78($sp) -/* 119058 802AFA48 AFB60074 */ sw $s6, 0x74($sp) -/* 11905C 802AFA4C AFB50070 */ sw $s5, 0x70($sp) -/* 119060 802AFA50 AFB4006C */ sw $s4, 0x6c($sp) -/* 119064 802AFA54 AFB30068 */ sw $s3, 0x68($sp) -/* 119068 802AFA58 AFB20064 */ sw $s2, 0x64($sp) -/* 11906C 802AFA5C AFB10060 */ sw $s1, 0x60($sp) -/* 119070 802AFA60 AFB0005C */ sw $s0, 0x5c($sp) -/* 119074 802AFA64 F7BE0050 */ sdc1 $f30, 0x50($sp) -/* 119078 802AFA68 F7BC0048 */ sdc1 $f28, 0x48($sp) -/* 11907C 802AFA6C F7BA0040 */ sdc1 $f26, 0x40($sp) -/* 119080 802AFA70 F7B80038 */ sdc1 $f24, 0x38($sp) -/* 119084 802AFA74 F7B60030 */ sdc1 $f22, 0x30($sp) -/* 119088 802AFA78 F7B40028 */ sdc1 $f20, 0x28($sp) -/* 11908C 802AFA7C AFA60140 */ sw $a2, 0x140($sp) -/* 119090 802AFA80 AFA70144 */ sw $a3, 0x144($sp) -/* 119094 802AFA84 E7A00104 */ swc1 $f0, 0x104($sp) -/* 119098 802AFA88 E7A00108 */ swc1 $f0, 0x108($sp) -/* 11909C 802AFA8C E7A0010C */ swc1 $f0, 0x10c($sp) -/* 1190A0 802AFA90 C4940070 */ lwc1 $f20, 0x70($a0) -/* 1190A4 802AFA94 240E1388 */ li $t6, 5000 -/* 1190A8 802AFA98 240F1388 */ li $t7, 5000 -/* 1190AC 802AFA9C 24181388 */ li $t8, 5000 -/* 1190B0 802AFAA0 A7AE00FE */ sh $t6, 0xfe($sp) -/* 1190B4 802AFAA4 A7AF0100 */ sh $t7, 0x100($sp) -/* 1190B8 802AFAA8 A7B80102 */ sh $t8, 0x102($sp) -/* 1190BC 802AFAAC A7A000F8 */ sh $zero, 0xf8($sp) -/* 1190C0 802AFAB0 A7A000FA */ sh $zero, 0xfa($sp) -/* 1190C4 802AFAB4 A7A000FC */ sh $zero, 0xfc($sp) -/* 1190C8 802AFAB8 90A2000D */ lbu $v0, 0xd($a1) -/* 1190CC 802AFABC 00A09825 */ move $s3, $a1 -/* 1190D0 802AFAC0 0080A825 */ move $s5, $a0 -/* 1190D4 802AFAC4 C4B60000 */ lwc1 $f22, ($a1) -/* 1190D8 802AFAC8 C4B80004 */ lwc1 $f24, 4($a1) -/* 1190DC 802AFACC 1040009C */ beqz $v0, .L802AFD40 -/* 1190E0 802AFAD0 C4BA0008 */ lwc1 $f26, 8($a1) -/* 1190E4 802AFAD4 24010020 */ li $at, 32 -/* 1190E8 802AFAD8 1041006A */ beq $v0, $at, .L802AFC84 -/* 1190EC 802AFADC 27B700F8 */ addiu $s7, $sp, 0xf8 -/* 1190F0 802AFAE0 24010040 */ li $at, 64 -/* 1190F4 802AFAE4 10410038 */ beq $v0, $at, .L802AFBC8 -/* 1190F8 802AFAE8 27B700F8 */ addiu $s7, $sp, 0xf8 -/* 1190FC 802AFAEC 24010080 */ li $at, 128 -/* 119100 802AFAF0 10410006 */ beq $v0, $at, .L802AFB0C -/* 119104 802AFAF4 27B700F8 */ addiu $s7, $sp, 0xf8 -/* 119108 802AFAF8 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 11910C 802AFAFC 4481F000 */ mtc1 $at, $f30 -/* 119110 802AFB00 27B700F8 */ addiu $s7, $sp, 0xf8 -/* 119114 802AFB04 10000092 */ b .L802AFD50 -/* 119118 802AFB08 24160001 */ li $s6, 1 -.L802AFB0C: -/* 11911C 802AFB0C E7BA0010 */ swc1 $f26, 0x10($sp) -/* 119120 802AFB10 9679000E */ lhu $t9, 0xe($s3) -/* 119124 802AFB14 C7A40140 */ lwc1 $f4, 0x140($sp) -/* 119128 802AFB18 C7A60144 */ lwc1 $f6, 0x144($sp) -/* 11912C 802AFB1C C7A80148 */ lwc1 $f8, 0x148($sp) -/* 119130 802AFB20 4405A000 */ mfc1 $a1, $f20 -/* 119134 802AFB24 4406B000 */ mfc1 $a2, $f22 -/* 119138 802AFB28 4407C000 */ mfc1 $a3, $f24 -/* 11913C 802AFB2C 02E02025 */ move $a0, $s7 -/* 119140 802AFB30 AFB90014 */ sw $t9, 0x14($sp) -/* 119144 802AFB34 E7A40018 */ swc1 $f4, 0x18($sp) -/* 119148 802AFB38 E7A6001C */ swc1 $f6, 0x1c($sp) -/* 11914C 802AFB3C 0C0AB49E */ jal func_802AD278 -/* 119150 802AFB40 E7A80020 */ swc1 $f8, 0x20($sp) -/* 119154 802AFB44 24160001 */ li $s6, 1 -/* 119158 802AFB48 5456001C */ bnel $v0, $s6, .L802AFBBC -/* 11915C 802AFB4C 3C014000 */ lui $at, 0x4000 -/* 119160 802AFB50 4406D000 */ mfc1 $a2, $f26 -/* 119164 802AFB54 4600B306 */ mov.s $f12, $f22 -/* 119168 802AFB58 4600C386 */ mov.s $f14, $f24 -/* 11916C 802AFB5C 0C0AAF8C */ jal func_802ABE30 -/* 119170 802AFB60 9667000E */ lhu $a3, 0xe($s3) -/* 119174 802AFB64 C6A20018 */ lwc1 $f2, 0x18($s5) -/* 119178 802AFB68 46000306 */ mov.s $f12, $f0 -/* 11917C 802AFB6C 3C014000 */ lui $at, 0x4000 -/* 119180 802AFB70 4600103C */ c.lt.s $f2, $f0 -/* 119184 802AFB74 00000000 */ nop -/* 119188 802AFB78 45030010 */ bc1tl .L802AFBBC -/* 11918C 802AFB7C 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 119190 802AFB80 4481F000 */ mtc1 $at, $f30 -/* 119194 802AFB84 46001401 */ sub.s $f16, $f2, $f0 -/* 119198 802AFB88 27A4011C */ addiu $a0, $sp, 0x11c -/* 11919C 802AFB8C 4614F282 */ mul.s $f10, $f30, $f20 -/* 1191A0 802AFB90 02603025 */ move $a2, $s3 -/* 1191A4 802AFB94 4610503C */ c.lt.s $f10, $f16 -/* 1191A8 802AFB98 00000000 */ nop -/* 1191AC 802AFB9C 45030007 */ bc1tl .L802AFBBC -/* 1191B0 802AFBA0 3C014000 */ lui $at, 0x4000 -/* 1191B4 802AFBA4 E66C0010 */ swc1 $f12, 0x10($s3) -/* 1191B8 802AFBA8 0C0ABE7C */ jal func_802AF9F0 -/* 1191BC 802AFBAC 8FA50108 */ lw $a1, 0x108($sp) -/* 1191C0 802AFBB0 10000184 */ b .L802B01C4 -/* 1191C4 802AFBB4 24020001 */ li $v0, 1 -/* 1191C8 802AFBB8 3C014000 */ li $at, 0x40000000 # 2.000000 -.L802AFBBC: -/* 1191CC 802AFBBC 4481F000 */ mtc1 $at, $f30 -/* 1191D0 802AFBC0 10000063 */ b .L802AFD50 -/* 1191D4 802AFBC4 00000000 */ nop -.L802AFBC8: -/* 1191D8 802AFBC8 E7BA0010 */ swc1 $f26, 0x10($sp) -/* 1191DC 802AFBCC 9668000E */ lhu $t0, 0xe($s3) -/* 1191E0 802AFBD0 C7B20140 */ lwc1 $f18, 0x140($sp) -/* 1191E4 802AFBD4 C7A40144 */ lwc1 $f4, 0x144($sp) -/* 1191E8 802AFBD8 C7A60148 */ lwc1 $f6, 0x148($sp) -/* 1191EC 802AFBDC 4405A000 */ mfc1 $a1, $f20 -/* 1191F0 802AFBE0 4406B000 */ mfc1 $a2, $f22 -/* 1191F4 802AFBE4 4407C000 */ mfc1 $a3, $f24 -/* 1191F8 802AFBE8 02E02025 */ move $a0, $s7 -/* 1191FC 802AFBEC AFA80014 */ sw $t0, 0x14($sp) -/* 119200 802AFBF0 E7B20018 */ swc1 $f18, 0x18($sp) -/* 119204 802AFBF4 E7A4001C */ swc1 $f4, 0x1c($sp) -/* 119208 802AFBF8 0C0AB1D8 */ jal func_802AC760 -/* 11920C 802AFBFC E7A60020 */ swc1 $f6, 0x20($sp) -/* 119210 802AFC00 24160001 */ li $s6, 1 -/* 119214 802AFC04 5456001C */ bnel $v0, $s6, .L802AFC78 -/* 119218 802AFC08 3C014000 */ lui $at, 0x4000 -/* 11921C 802AFC0C 4406D000 */ mfc1 $a2, $f26 -/* 119220 802AFC10 4600B306 */ mov.s $f12, $f22 -/* 119224 802AFC14 4600C386 */ mov.s $f14, $f24 -/* 119228 802AFC18 0C0AAF8C */ jal func_802ABE30 -/* 11922C 802AFC1C 9667000E */ lhu $a3, 0xe($s3) -/* 119230 802AFC20 C6A20018 */ lwc1 $f2, 0x18($s5) -/* 119234 802AFC24 46000306 */ mov.s $f12, $f0 -/* 119238 802AFC28 3C014000 */ lui $at, 0x4000 -/* 11923C 802AFC2C 4600103C */ c.lt.s $f2, $f0 -/* 119240 802AFC30 00000000 */ nop -/* 119244 802AFC34 45030010 */ bc1tl .L802AFC78 -/* 119248 802AFC38 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 11924C 802AFC3C 4481F000 */ mtc1 $at, $f30 -/* 119250 802AFC40 46001281 */ sub.s $f10, $f2, $f0 -/* 119254 802AFC44 27A40128 */ addiu $a0, $sp, 0x128 -/* 119258 802AFC48 4614F202 */ mul.s $f8, $f30, $f20 -/* 11925C 802AFC4C 02603025 */ move $a2, $s3 -/* 119260 802AFC50 460A403C */ c.lt.s $f8, $f10 -/* 119264 802AFC54 00000000 */ nop -/* 119268 802AFC58 45030007 */ bc1tl .L802AFC78 -/* 11926C 802AFC5C 3C014000 */ lui $at, 0x4000 -/* 119270 802AFC60 E66C0010 */ swc1 $f12, 0x10($s3) -/* 119274 802AFC64 0C0ABE7C */ jal func_802AF9F0 -/* 119278 802AFC68 8FA5010C */ lw $a1, 0x10c($sp) -/* 11927C 802AFC6C 10000155 */ b .L802B01C4 -/* 119280 802AFC70 24020001 */ li $v0, 1 -/* 119284 802AFC74 3C014000 */ li $at, 0x40000000 # 2.000000 -.L802AFC78: -/* 119288 802AFC78 4481F000 */ mtc1 $at, $f30 -/* 11928C 802AFC7C 10000034 */ b .L802AFD50 -/* 119290 802AFC80 00000000 */ nop -.L802AFC84: -/* 119294 802AFC84 E7BA0010 */ swc1 $f26, 0x10($sp) -/* 119298 802AFC88 9669000E */ lhu $t1, 0xe($s3) -/* 11929C 802AFC8C C7B00140 */ lwc1 $f16, 0x140($sp) -/* 1192A0 802AFC90 C7B20144 */ lwc1 $f18, 0x144($sp) -/* 1192A4 802AFC94 C7A40148 */ lwc1 $f4, 0x148($sp) -/* 1192A8 802AFC98 4405A000 */ mfc1 $a1, $f20 -/* 1192AC 802AFC9C 4406B000 */ mfc1 $a2, $f22 -/* 1192B0 802AFCA0 4407C000 */ mfc1 $a3, $f24 -/* 1192B4 802AFCA4 02E02025 */ move $a0, $s7 -/* 1192B8 802AFCA8 AFA90014 */ sw $t1, 0x14($sp) -/* 1192BC 802AFCAC E7B00018 */ swc1 $f16, 0x18($sp) -/* 1192C0 802AFCB0 E7B2001C */ swc1 $f18, 0x1c($sp) -/* 1192C4 802AFCB4 0C0AB2E9 */ jal func_802ACBA4 -/* 1192C8 802AFCB8 E7A40020 */ swc1 $f4, 0x20($sp) -/* 1192CC 802AFCBC 24160001 */ li $s6, 1 -/* 1192D0 802AFCC0 5456001C */ bnel $v0, $s6, .L802AFD34 -/* 1192D4 802AFCC4 3C014000 */ lui $at, 0x4000 -/* 1192D8 802AFCC8 4406D000 */ mfc1 $a2, $f26 -/* 1192DC 802AFCCC 4600B306 */ mov.s $f12, $f22 -/* 1192E0 802AFCD0 4600C386 */ mov.s $f14, $f24 -/* 1192E4 802AFCD4 0C0AAF8C */ jal func_802ABE30 -/* 1192E8 802AFCD8 9667000E */ lhu $a3, 0xe($s3) -/* 1192EC 802AFCDC C6A20018 */ lwc1 $f2, 0x18($s5) -/* 1192F0 802AFCE0 46000306 */ mov.s $f12, $f0 -/* 1192F4 802AFCE4 3C014000 */ lui $at, 0x4000 -/* 1192F8 802AFCE8 4600103C */ c.lt.s $f2, $f0 -/* 1192FC 802AFCEC 00000000 */ nop -/* 119300 802AFCF0 45030010 */ bc1tl .L802AFD34 -/* 119304 802AFCF4 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 119308 802AFCF8 4481F000 */ mtc1 $at, $f30 -/* 11930C 802AFCFC 46001201 */ sub.s $f8, $f2, $f0 -/* 119310 802AFD00 27A40110 */ addiu $a0, $sp, 0x110 -/* 119314 802AFD04 4614F182 */ mul.s $f6, $f30, $f20 -/* 119318 802AFD08 02603025 */ move $a2, $s3 -/* 11931C 802AFD0C 4608303C */ c.lt.s $f6, $f8 -/* 119320 802AFD10 00000000 */ nop -/* 119324 802AFD14 45030007 */ bc1tl .L802AFD34 -/* 119328 802AFD18 3C014000 */ lui $at, 0x4000 -/* 11932C 802AFD1C E66C0010 */ swc1 $f12, 0x10($s3) -/* 119330 802AFD20 0C0ABE7C */ jal func_802AF9F0 -/* 119334 802AFD24 8FA50104 */ lw $a1, 0x104($sp) -/* 119338 802AFD28 10000126 */ b .L802B01C4 -/* 11933C 802AFD2C 24020001 */ li $v0, 1 -/* 119340 802AFD30 3C014000 */ li $at, 0x40000000 # 2.000000 -.L802AFD34: -/* 119344 802AFD34 4481F000 */ mtc1 $at, $f30 -/* 119348 802AFD38 10000005 */ b .L802AFD50 -/* 11934C 802AFD3C 00000000 */ nop -.L802AFD40: -/* 119350 802AFD40 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 119354 802AFD44 4481F000 */ mtc1 $at, $f30 -/* 119358 802AFD48 27B700F8 */ addiu $s7, $sp, 0xf8 -/* 11935C 802AFD4C 24160001 */ li $s6, 1 -.L802AFD50: -/* 119360 802AFD50 3C028016 */ lui $v0, %hi(D_8015F6EA) # $v0, 0x8016 -/* 119364 802AFD54 8442F6EA */ lh $v0, %lo(D_8015F6EA)($v0) -/* 119368 802AFD58 3C0A8016 */ lui $t2, %hi(D_8015F6E8) # $t2, 0x8016 -/* 11936C 802AFD5C 854AF6E8 */ lh $t2, %lo(D_8015F6E8)($t2) -/* 119370 802AFD60 44825000 */ mtc1 $v0, $f10 -/* 119374 802AFD64 3C038016 */ lui $v1, %hi(D_8015F6F2) # $v1, 0x8016 -/* 119378 802AFD68 01422023 */ subu $a0, $t2, $v0 -/* 11937C 802AFD6C 46805420 */ cvt.s.w $f16, $f10 -/* 119380 802AFD70 8463F6F2 */ lh $v1, %lo(D_8015F6F2)($v1) -/* 119384 802AFD74 3C0B8016 */ lui $t3, %hi(D_8015F6F0) # $t3, 0x8016 -/* 119388 802AFD78 856BF6F0 */ lh $t3, %lo(D_8015F6F0)($t3) -/* 11938C 802AFD7C 4610B481 */ sub.s $f18, $f22, $f16 -/* 119390 802AFD80 44838000 */ mtc1 $v1, $f16 -/* 119394 802AFD84 01632823 */ subu $a1, $t3, $v1 -/* 119398 802AFD88 04810003 */ bgez $a0, .L802AFD98 -/* 11939C 802AFD8C 00046143 */ sra $t4, $a0, 5 -/* 1193A0 802AFD90 2481001F */ addiu $at, $a0, 0x1f -/* 1193A4 802AFD94 00016143 */ sra $t4, $at, 5 -.L802AFD98: -/* 1193A8 802AFD98 448C2000 */ mtc1 $t4, $f4 -/* 1193AC 802AFD9C 00000000 */ nop -/* 1193B0 802AFDA0 468021A0 */ cvt.s.w $f6, $f4 -/* 1193B4 802AFDA4 46808120 */ cvt.s.w $f4, $f16 -/* 1193B8 802AFDA8 46069203 */ div.s $f8, $f18, $f6 -/* 1193BC 802AFDAC 4604D481 */ sub.s $f18, $f26, $f4 -/* 1193C0 802AFDB0 4600428D */ trunc.w.s $f10, $f8 -/* 1193C4 802AFDB4 44065000 */ mfc1 $a2, $f10 -/* 1193C8 802AFDB8 00000000 */ nop -/* 1193CC 802AFDBC 00067400 */ sll $t6, $a2, 0x10 -/* 1193D0 802AFDC0 000E7C03 */ sra $t7, $t6, 0x10 -/* 1193D4 802AFDC4 01E03025 */ move $a2, $t7 -/* 1193D8 802AFDC8 04A10003 */ bgez $a1, .L802AFDD8 -/* 1193DC 802AFDCC 0005C143 */ sra $t8, $a1, 5 -/* 1193E0 802AFDD0 24A1001F */ addiu $at, $a1, 0x1f -/* 1193E4 802AFDD4 0001C143 */ sra $t8, $at, 5 -.L802AFDD8: -/* 1193E8 802AFDD8 44983000 */ mtc1 $t8, $f6 -/* 1193EC 802AFDDC 00000000 */ nop -/* 1193F0 802AFDE0 46803220 */ cvt.s.w $f8, $f6 -/* 1193F4 802AFDE4 46089283 */ div.s $f10, $f18, $f8 -/* 1193F8 802AFDE8 4600540D */ trunc.w.s $f16, $f10 -/* 1193FC 802AFDEC 44078000 */ mfc1 $a3, $f16 -/* 119400 802AFDF0 00000000 */ nop -/* 119404 802AFDF4 00074400 */ sll $t0, $a3, 0x10 -/* 119408 802AFDF8 04C10003 */ bgez $a2, .L802AFE08 -/* 11940C 802AFDFC 00083C03 */ sra $a3, $t0, 0x10 -/* 119410 802AFE00 100000F0 */ b .L802B01C4 -/* 119414 802AFE04 00001025 */ move $v0, $zero -.L802AFE08: -/* 119418 802AFE08 04E10003 */ bgez $a3, .L802AFE18 -/* 11941C 802AFE0C 28C10020 */ slti $at, $a2, 0x20 -/* 119420 802AFE10 100000EC */ b .L802B01C4 -/* 119424 802AFE14 00001025 */ move $v0, $zero -.L802AFE18: -/* 119428 802AFE18 54200004 */ bnel $at, $zero, .L802AFE2C -/* 11942C 802AFE1C 28E10020 */ slti $at, $a3, 0x20 -/* 119430 802AFE20 100000E8 */ b .L802B01C4 -/* 119434 802AFE24 00001025 */ move $v0, $zero -/* 119438 802AFE28 28E10020 */ slti $at, $a3, 0x20 -.L802AFE2C: -/* 11943C 802AFE2C 14200003 */ bnez $at, .L802AFE3C -/* 119440 802AFE30 00075140 */ sll $t2, $a3, 5 -/* 119444 802AFE34 100000E3 */ b .L802B01C4 -/* 119448 802AFE38 00001025 */ move $v0, $zero -.L802AFE3C: -/* 11944C 802AFE3C 00CA5821 */ addu $t3, $a2, $t2 -/* 119450 802AFE40 000B6400 */ sll $t4, $t3, 0x10 -/* 119454 802AFE44 000C6C03 */ sra $t5, $t4, 0x10 -/* 119458 802AFE48 3C0F8015 */ lui $t7, %hi(D_8014F110) # $t7, 0x8015 -/* 11945C 802AFE4C 25EFF110 */ addiu $t7, %lo(D_8014F110) # addiu $t7, $t7, -0xef0 -/* 119460 802AFE50 000D7080 */ sll $t6, $t5, 2 -/* 119464 802AFE54 01CF1821 */ addu $v1, $t6, $t7 -/* 119468 802AFE58 94620002 */ lhu $v0, 2($v1) -/* 11946C 802AFE5C 14400003 */ bnez $v0, .L802AFE6C -/* 119470 802AFE60 AFA2008C */ sw $v0, 0x8c($sp) -/* 119474 802AFE64 100000D7 */ b .L802B01C4 -/* 119478 802AFE68 00001025 */ move $v0, $zero -.L802AFE6C: -/* 11947C 802AFE6C 8FB9008C */ lw $t9, 0x8c($sp) -/* 119480 802AFE70 94710000 */ lhu $s1, ($v1) -/* 119484 802AFE74 00009025 */ move $s2, $zero -/* 119488 802AFE78 5B2000D0 */ blezl $t9, .L802B01BC -/* 11948C 802AFE7C E6780010 */ swc1 $f24, 0x10($s3) -/* 119490 802AFE80 4480E000 */ mtc1 $zero, $f28 -/* 119494 802AFE84 00000000 */ nop -.L802AFE88: -/* 119498 802AFE88 3C088016 */ lui $t0, %hi(D_8015F584) # $t0, 0x8016 -/* 11949C 802AFE8C 8D08F584 */ lw $t0, %lo(D_8015F584)($t0) -/* 1194A0 802AFE90 00114840 */ sll $t1, $s1, 1 -/* 1194A4 802AFE94 3C0B8016 */ lui $t3, %hi(D_8015F580) # $t3, 0x8016 -/* 1194A8 802AFE98 01095021 */ addu $t2, $t0, $t1 -/* 1194AC 802AFE9C 95500000 */ lhu $s0, ($t2) -/* 1194B0 802AFEA0 8D6BF580 */ lw $t3, %lo(D_8015F580)($t3) -/* 1194B4 802AFEA4 0010A080 */ sll $s4, $s0, 2 -/* 1194B8 802AFEA8 0290A023 */ subu $s4, $s4, $s0 -/* 1194BC 802AFEAC 0014A080 */ sll $s4, $s4, 2 -/* 1194C0 802AFEB0 0290A023 */ subu $s4, $s4, $s0 -/* 1194C4 802AFEB4 0014A080 */ sll $s4, $s4, 2 -/* 1194C8 802AFEB8 01741021 */ addu $v0, $t3, $s4 -/* 1194CC 802AFEBC 94430000 */ lhu $v1, ($v0) -/* 1194D0 802AFEC0 306C4000 */ andi $t4, $v1, 0x4000 -/* 1194D4 802AFEC4 5180003F */ beql $t4, $zero, .L802AFFC4 -/* 1194D8 802AFEC8 306C8000 */ andi $t4, $v1, 0x8000 -/* 1194DC 802AFECC 966D000E */ lhu $t5, 0xe($s3) -/* 1194E0 802AFED0 02E02025 */ move $a0, $s7 -/* 1194E4 802AFED4 51B000B0 */ beql $t5, $s0, .L802B0198 -/* 1194E8 802AFED8 8FAF008C */ lw $t7, 0x8c($sp) -/* 1194EC 802AFEDC C7A40140 */ lwc1 $f4, 0x140($sp) -/* 1194F0 802AFEE0 C7A60144 */ lwc1 $f6, 0x144($sp) -/* 1194F4 802AFEE4 C7B20148 */ lwc1 $f18, 0x148($sp) -/* 1194F8 802AFEE8 4405A000 */ mfc1 $a1, $f20 -/* 1194FC 802AFEEC 4406B000 */ mfc1 $a2, $f22 -/* 119500 802AFEF0 4407C000 */ mfc1 $a3, $f24 -/* 119504 802AFEF4 E7BA0010 */ swc1 $f26, 0x10($sp) -/* 119508 802AFEF8 AFB00014 */ sw $s0, 0x14($sp) -/* 11950C 802AFEFC E7A40018 */ swc1 $f4, 0x18($sp) -/* 119510 802AFF00 E7A6001C */ swc1 $f6, 0x1c($sp) -/* 119514 802AFF04 0C0AB1D8 */ jal func_802AC760 -/* 119518 802AFF08 E7B20020 */ swc1 $f18, 0x20($sp) -/* 11951C 802AFF0C 145600A1 */ bne $v0, $s6, .L802B0194 -/* 119520 802AFF10 3207FFFF */ andi $a3, $s0, 0xffff -/* 119524 802AFF14 4406D000 */ mfc1 $a2, $f26 -/* 119528 802AFF18 4600B306 */ mov.s $f12, $f22 -/* 11952C 802AFF1C 0C0AAF8C */ jal func_802ABE30 -/* 119530 802AFF20 4600C386 */ mov.s $f14, $f24 -/* 119534 802AFF24 C6A20018 */ lwc1 $f2, 0x18($s5) -/* 119538 802AFF28 46000306 */ mov.s $f12, $f0 -/* 11953C 802AFF2C 4600103C */ c.lt.s $f2, $f0 -/* 119540 802AFF30 00000000 */ nop -/* 119544 802AFF34 45030098 */ bc1tl .L802B0198 -/* 119548 802AFF38 8FAF008C */ lw $t7, 0x8c($sp) -/* 11954C 802AFF3C 4614F202 */ mul.s $f8, $f30, $f20 -/* 119550 802AFF40 46001281 */ sub.s $f10, $f2, $f0 -/* 119554 802AFF44 460A403C */ c.lt.s $f8, $f10 -/* 119558 802AFF48 00000000 */ nop -/* 11955C 802AFF4C 45010091 */ bc1t .L802B0194 -/* 119560 802AFF50 27A40128 */ addiu $a0, $sp, 0x128 -/* 119564 802AFF54 8FA5010C */ lw $a1, 0x10c($sp) -/* 119568 802AFF58 02603025 */ move $a2, $s3 -/* 11956C 802AFF5C 0C0ABE7C */ jal func_802AF9F0 -/* 119570 802AFF60 E7AC00D4 */ swc1 $f12, 0xd4($sp) -/* 119574 802AFF64 C7AC00D4 */ lwc1 $f12, 0xd4($sp) -/* 119578 802AFF68 3C0E8016 */ lui $t6, %hi(D_8015F580) # $t6, 0x8016 -/* 11957C 802AFF6C 24190040 */ li $t9, 64 -/* 119580 802AFF70 E66C0010 */ swc1 $f12, 0x10($s3) -/* 119584 802AFF74 8DCEF580 */ lw $t6, %lo(D_8015F580)($t6) -/* 119588 802AFF78 3C088016 */ lui $t0, %hi(D_8015F580) # $t0, 0x8016 -/* 11958C 802AFF7C 24020001 */ li $v0, 1 -/* 119590 802AFF80 01D47821 */ addu $t7, $t6, $s4 -/* 119594 802AFF84 95F80002 */ lhu $t8, 2($t7) -/* 119598 802AFF88 A279000D */ sb $t9, 0xd($s3) -/* 11959C 802AFF8C A670000E */ sh $s0, 0xe($s3) -/* 1195A0 802AFF90 A278000C */ sb $t8, 0xc($s3) -/* 1195A4 802AFF94 8D08F580 */ lw $t0, %lo(D_8015F580)($t0) -/* 1195A8 802AFF98 01144821 */ addu $t1, $t0, $s4 -/* 1195AC 802AFF9C 952A0000 */ lhu $t2, ($t1) -/* 1195B0 802AFFA0 314B1000 */ andi $t3, $t2, 0x1000 -/* 1195B4 802AFFA4 51600004 */ beql $t3, $zero, .L802AFFB8 -/* 1195B8 802AFFA8 AE600014 */ sw $zero, 0x14($s3) -/* 1195BC 802AFFAC 10000085 */ b .L802B01C4 -/* 1195C0 802AFFB0 AE760014 */ sw $s6, 0x14($s3) -/* 1195C4 802AFFB4 AE600014 */ sw $zero, 0x14($s3) -.L802AFFB8: -/* 1195C8 802AFFB8 10000082 */ b .L802B01C4 -/* 1195CC 802AFFBC 24020001 */ li $v0, 1 -/* 1195D0 802AFFC0 306C8000 */ andi $t4, $v1, 0x8000 -.L802AFFC4: -/* 1195D4 802AFFC4 5180003E */ beql $t4, $zero, .L802B00C0 -/* 1195D8 802AFFC8 C4500020 */ lwc1 $f16, 0x20($v0) -/* 1195DC 802AFFCC C4500020 */ lwc1 $f16, 0x20($v0) -/* 1195E0 802AFFD0 4610E032 */ c.eq.s $f28, $f16 -/* 1195E4 802AFFD4 00000000 */ nop -/* 1195E8 802AFFD8 4503006F */ bc1tl .L802B0198 -/* 1195EC 802AFFDC 8FAF008C */ lw $t7, 0x8c($sp) -/* 1195F0 802AFFE0 966D000E */ lhu $t5, 0xe($s3) -/* 1195F4 802AFFE4 02E02025 */ move $a0, $s7 -/* 1195F8 802AFFE8 51B0006B */ beql $t5, $s0, .L802B0198 -/* 1195FC 802AFFEC 8FAF008C */ lw $t7, 0x8c($sp) -/* 119600 802AFFF0 C7A40140 */ lwc1 $f4, 0x140($sp) -/* 119604 802AFFF4 C7A60144 */ lwc1 $f6, 0x144($sp) -/* 119608 802AFFF8 C7B20148 */ lwc1 $f18, 0x148($sp) -/* 11960C 802AFFFC 4405A000 */ mfc1 $a1, $f20 -/* 119610 802B0000 4406B000 */ mfc1 $a2, $f22 -/* 119614 802B0004 4407C000 */ mfc1 $a3, $f24 -/* 119618 802B0008 E7BA0010 */ swc1 $f26, 0x10($sp) -/* 11961C 802B000C AFB00014 */ sw $s0, 0x14($sp) -/* 119620 802B0010 E7A40018 */ swc1 $f4, 0x18($sp) -/* 119624 802B0014 E7A6001C */ swc1 $f6, 0x1c($sp) -/* 119628 802B0018 0C0AB49E */ jal func_802AD278 -/* 11962C 802B001C E7B20020 */ swc1 $f18, 0x20($sp) -/* 119630 802B0020 1456005C */ bne $v0, $s6, .L802B0194 -/* 119634 802B0024 3207FFFF */ andi $a3, $s0, 0xffff -/* 119638 802B0028 4406D000 */ mfc1 $a2, $f26 -/* 11963C 802B002C 4600B306 */ mov.s $f12, $f22 -/* 119640 802B0030 0C0AAF8C */ jal func_802ABE30 -/* 119644 802B0034 4600C386 */ mov.s $f14, $f24 -/* 119648 802B0038 C6A20018 */ lwc1 $f2, 0x18($s5) -/* 11964C 802B003C 46000306 */ mov.s $f12, $f0 -/* 119650 802B0040 4600103C */ c.lt.s $f2, $f0 -/* 119654 802B0044 00000000 */ nop -/* 119658 802B0048 45030053 */ bc1tl .L802B0198 -/* 11965C 802B004C 8FAF008C */ lw $t7, 0x8c($sp) -/* 119660 802B0050 4614F202 */ mul.s $f8, $f30, $f20 -/* 119664 802B0054 46001281 */ sub.s $f10, $f2, $f0 -/* 119668 802B0058 460A403C */ c.lt.s $f8, $f10 -/* 11966C 802B005C 00000000 */ nop -/* 119670 802B0060 4503004D */ bc1tl .L802B0198 -/* 119674 802B0064 8FAF008C */ lw $t7, 0x8c($sp) -/* 119678 802B0068 E66C0010 */ swc1 $f12, 0x10($s3) -/* 11967C 802B006C 8FA50108 */ lw $a1, 0x108($sp) -/* 119680 802B0070 27A4011C */ addiu $a0, $sp, 0x11c -/* 119684 802B0074 0C0ABE7C */ jal func_802AF9F0 -/* 119688 802B0078 02603025 */ move $a2, $s3 -/* 11968C 802B007C 4406D000 */ mfc1 $a2, $f26 -/* 119690 802B0080 4600B306 */ mov.s $f12, $f22 -/* 119694 802B0084 4600C386 */ mov.s $f14, $f24 -/* 119698 802B0088 0C0AAF8C */ jal func_802ABE30 -/* 11969C 802B008C 3207FFFF */ andi $a3, $s0, 0xffff -/* 1196A0 802B0090 E6600010 */ swc1 $f0, 0x10($s3) -/* 1196A4 802B0094 3C0E8016 */ lui $t6, %hi(D_8015F580) # $t6, 0x8016 -/* 1196A8 802B0098 8DCEF580 */ lw $t6, %lo(D_8015F580)($t6) -/* 1196AC 802B009C 24190080 */ li $t9, 128 -/* 1196B0 802B00A0 24020001 */ li $v0, 1 -/* 1196B4 802B00A4 01D47821 */ addu $t7, $t6, $s4 -/* 1196B8 802B00A8 95F80002 */ lhu $t8, 2($t7) -/* 1196BC 802B00AC A279000D */ sb $t9, 0xd($s3) -/* 1196C0 802B00B0 A670000E */ sh $s0, 0xe($s3) -/* 1196C4 802B00B4 10000043 */ b .L802B01C4 -/* 1196C8 802B00B8 A278000C */ sb $t8, 0xc($s3) -/* 1196CC 802B00BC C4500020 */ lwc1 $f16, 0x20($v0) -.L802B00C0: -/* 1196D0 802B00C0 4610E032 */ c.eq.s $f28, $f16 -/* 1196D4 802B00C4 00000000 */ nop -/* 1196D8 802B00C8 45030033 */ bc1tl .L802B0198 -/* 1196DC 802B00CC 8FAF008C */ lw $t7, 0x8c($sp) -/* 1196E0 802B00D0 9668000E */ lhu $t0, 0xe($s3) -/* 1196E4 802B00D4 02E02025 */ move $a0, $s7 -/* 1196E8 802B00D8 5110002F */ beql $t0, $s0, .L802B0198 -/* 1196EC 802B00DC 8FAF008C */ lw $t7, 0x8c($sp) -/* 1196F0 802B00E0 C7A40140 */ lwc1 $f4, 0x140($sp) -/* 1196F4 802B00E4 C7A60144 */ lwc1 $f6, 0x144($sp) -/* 1196F8 802B00E8 C7B20148 */ lwc1 $f18, 0x148($sp) -/* 1196FC 802B00EC 4405A000 */ mfc1 $a1, $f20 -/* 119700 802B00F0 4406B000 */ mfc1 $a2, $f22 -/* 119704 802B00F4 4407C000 */ mfc1 $a3, $f24 -/* 119708 802B00F8 E7BA0010 */ swc1 $f26, 0x10($sp) -/* 11970C 802B00FC AFB00014 */ sw $s0, 0x14($sp) -/* 119710 802B0100 E7A40018 */ swc1 $f4, 0x18($sp) -/* 119714 802B0104 E7A6001C */ swc1 $f6, 0x1c($sp) -/* 119718 802B0108 0C0AB2E9 */ jal func_802ACBA4 -/* 11971C 802B010C E7B20020 */ swc1 $f18, 0x20($sp) -/* 119720 802B0110 14560020 */ bne $v0, $s6, .L802B0194 -/* 119724 802B0114 3207FFFF */ andi $a3, $s0, 0xffff -/* 119728 802B0118 4406D000 */ mfc1 $a2, $f26 -/* 11972C 802B011C 4600B306 */ mov.s $f12, $f22 -/* 119730 802B0120 0C0AAF8C */ jal func_802ABE30 -/* 119734 802B0124 4600C386 */ mov.s $f14, $f24 -/* 119738 802B0128 C6A20018 */ lwc1 $f2, 0x18($s5) -/* 11973C 802B012C 46000306 */ mov.s $f12, $f0 -/* 119740 802B0130 4600103C */ c.lt.s $f2, $f0 -/* 119744 802B0134 00000000 */ nop -/* 119748 802B0138 45030017 */ bc1tl .L802B0198 -/* 11974C 802B013C 8FAF008C */ lw $t7, 0x8c($sp) -/* 119750 802B0140 4614F202 */ mul.s $f8, $f30, $f20 -/* 119754 802B0144 46001281 */ sub.s $f10, $f2, $f0 -/* 119758 802B0148 460A403C */ c.lt.s $f8, $f10 -/* 11975C 802B014C 00000000 */ nop -/* 119760 802B0150 45030011 */ bc1tl .L802B0198 -/* 119764 802B0154 8FAF008C */ lw $t7, 0x8c($sp) -/* 119768 802B0158 E66C0010 */ swc1 $f12, 0x10($s3) -/* 11976C 802B015C 8FA50104 */ lw $a1, 0x104($sp) -/* 119770 802B0160 27A40110 */ addiu $a0, $sp, 0x110 -/* 119774 802B0164 0C0ABE7C */ jal func_802AF9F0 -/* 119778 802B0168 02603025 */ move $a2, $s3 -/* 11977C 802B016C 3C098016 */ lui $t1, %hi(D_8015F580) # $t1, 0x8016 -/* 119780 802B0170 8D29F580 */ lw $t1, %lo(D_8015F580)($t1) -/* 119784 802B0174 240C0020 */ li $t4, 32 -/* 119788 802B0178 24020001 */ li $v0, 1 -/* 11978C 802B017C 01345021 */ addu $t2, $t1, $s4 -/* 119790 802B0180 954B0002 */ lhu $t3, 2($t2) -/* 119794 802B0184 A26C000D */ sb $t4, 0xd($s3) -/* 119798 802B0188 A670000E */ sh $s0, 0xe($s3) -/* 11979C 802B018C 1000000D */ b .L802B01C4 -/* 1197A0 802B0190 A26B000C */ sb $t3, 0xc($s3) -.L802B0194: -/* 1197A4 802B0194 8FAF008C */ lw $t7, 0x8c($sp) -.L802B0198: -/* 1197A8 802B0198 26520001 */ addiu $s2, $s2, 1 -/* 1197AC 802B019C 324EFFFF */ andi $t6, $s2, 0xffff -/* 1197B0 802B01A0 26310001 */ addiu $s1, $s1, 1 -/* 1197B4 802B01A4 322DFFFF */ andi $t5, $s1, 0xffff -/* 1197B8 802B01A8 01CF082A */ slt $at, $t6, $t7 -/* 1197BC 802B01AC 01C09025 */ move $s2, $t6 -/* 1197C0 802B01B0 1420FF35 */ bnez $at, .L802AFE88 -/* 1197C4 802B01B4 01A08825 */ move $s1, $t5 -/* 1197C8 802B01B8 E6780010 */ swc1 $f24, 0x10($s3) -.L802B01BC: -/* 1197CC 802B01BC A260000C */ sb $zero, 0xc($s3) -/* 1197D0 802B01C0 00001025 */ move $v0, $zero -.L802B01C4: -/* 1197D4 802B01C4 8FBF007C */ lw $ra, 0x7c($sp) -/* 1197D8 802B01C8 D7B40028 */ ldc1 $f20, 0x28($sp) -/* 1197DC 802B01CC D7B60030 */ ldc1 $f22, 0x30($sp) -/* 1197E0 802B01D0 D7B80038 */ ldc1 $f24, 0x38($sp) -/* 1197E4 802B01D4 D7BA0040 */ ldc1 $f26, 0x40($sp) -/* 1197E8 802B01D8 D7BC0048 */ ldc1 $f28, 0x48($sp) -/* 1197EC 802B01DC D7BE0050 */ ldc1 $f30, 0x50($sp) -/* 1197F0 802B01E0 8FB0005C */ lw $s0, 0x5c($sp) -/* 1197F4 802B01E4 8FB10060 */ lw $s1, 0x60($sp) -/* 1197F8 802B01E8 8FB20064 */ lw $s2, 0x64($sp) -/* 1197FC 802B01EC 8FB30068 */ lw $s3, 0x68($sp) -/* 119800 802B01F0 8FB4006C */ lw $s4, 0x6c($sp) -/* 119804 802B01F4 8FB50070 */ lw $s5, 0x70($sp) -/* 119808 802B01F8 8FB60074 */ lw $s6, 0x74($sp) -/* 11980C 802B01FC 8FB70078 */ lw $s7, 0x78($sp) -/* 119810 802B0200 03E00008 */ jr $ra -/* 119814 802B0204 27BD0138 */ addiu $sp, $sp, 0x138 - -/* 119818 802B0208 00000000 */ nop diff --git a/asm/non_matchings/code_802AAA70/process_shell_collision.s b/asm/non_matchings/code_802AAA70/process_shell_collision.s deleted file mode 100644 index 299505279..000000000 --- a/asm/non_matchings/code_802AAA70/process_shell_collision.s +++ /dev/null @@ -1,88 +0,0 @@ -glabel process_shell_collision -/* 115554 802ABF44 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 115558 802ABF48 AFA50054 */ sw $a1, 0x54($sp) -/* 11555C 802ABF4C AFA7005C */ sw $a3, 0x5c($sp) -/* 115560 802ABF50 C4C20000 */ lwc1 $f2, ($a2) -/* 115564 802ABF54 C4CC0004 */ lwc1 $f12, 4($a2) -/* 115568 802ABF58 C4CE0008 */ lwc1 $f14, 8($a2) -/* 11556C 802ABF5C 46021102 */ mul.s $f4, $f2, $f2 -/* 115570 802ABF60 3C014012 */ li $at, 0x40120000 # 2.281250 -/* 115574 802ABF64 44812800 */ mtc1 $at, $f5 -/* 115578 802ABF68 460C6182 */ mul.s $f6, $f12, $f12 -/* 11557C 802ABF6C 3C01400C */ lui $at, 0x400c -/* 115580 802ABF70 460E7282 */ mul.s $f10, $f14, $f14 -/* 115584 802ABF74 46062200 */ add.s $f8, $f4, $f6 -/* 115588 802ABF78 44802000 */ mtc1 $zero, $f4 -/* 11558C 802ABF7C 460A4000 */ add.s $f0, $f8, $f10 -/* 115590 802ABF80 46000004 */ sqrt.s $f0, $f0 -/* 115594 802ABF84 46000421 */ cvt.d.s $f16, $f0 -/* 115598 802ABF88 E7A00024 */ swc1 $f0, 0x24($sp) -/* 11559C 802ABF8C 4630203C */ c.lt.d $f4, $f16 -/* 1155A0 802ABF90 00000000 */ nop -/* 1155A4 802ABF94 45030008 */ bc1tl .L802ABFB8 -/* 1155A8 802ABF98 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 1155AC 802ABF9C 44813800 */ mtc1 $at, $f7 -/* 1155B0 802ABFA0 44803000 */ mtc1 $zero, $f6 -/* 1155B4 802ABFA4 00000000 */ nop -/* 1155B8 802ABFA8 4626803C */ c.lt.d $f16, $f6 -/* 1155BC 802ABFAC 00000000 */ nop -/* 1155C0 802ABFB0 45000004 */ bc1f .L802ABFC4 -/* 1155C4 802ABFB4 3C014080 */ li $at, 0x40800000 # 4.000000 -.L802ABFB8: -/* 1155C8 802ABFB8 44814000 */ mtc1 $at, $f8 -/* 1155CC 802ABFBC 00000000 */ nop -/* 1155D0 802ABFC0 E7A80024 */ swc1 $f8, 0x24($sp) -.L802ABFC4: -/* 1155D4 802ABFC4 C48A0008 */ lwc1 $f10, 8($a0) -/* 1155D8 802ABFC8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 1155DC 802ABFCC E7AA0004 */ swc1 $f10, 4($sp) -/* 1155E0 802ABFD0 C4900000 */ lwc1 $f16, ($a0) -/* 1155E4 802ABFD4 C4920004 */ lwc1 $f18, 4($a0) -/* 1155E8 802ABFD8 C7AA0004 */ lwc1 $f10, 4($sp) -/* 1155EC 802ABFDC 46028102 */ mul.s $f4, $f16, $f2 -/* 1155F0 802ABFE0 00000000 */ nop -/* 1155F4 802ABFE4 460C9182 */ mul.s $f6, $f18, $f12 -/* 1155F8 802ABFE8 46062200 */ add.s $f8, $f4, $f6 -/* 1155FC 802ABFEC 460E5102 */ mul.s $f4, $f10, $f14 -/* 115600 802ABFF0 46082000 */ add.s $f0, $f4, $f8 -/* 115604 802ABFF4 46008182 */ mul.s $f6, $f16, $f0 -/* 115608 802ABFF8 E7A60000 */ swc1 $f6, ($sp) -/* 11560C 802ABFFC 46009182 */ mul.s $f6, $f18, $f0 -/* 115610 802AC000 C7A40000 */ lwc1 $f4, ($sp) -/* 115614 802AC004 46041201 */ sub.s $f8, $f2, $f4 -/* 115618 802AC008 E7A6000C */ swc1 $f6, 0xc($sp) -/* 11561C 802AC00C E7A80040 */ swc1 $f8, 0x40($sp) -/* 115620 802AC010 C7A8000C */ lwc1 $f8, 0xc($sp) -/* 115624 802AC014 46086181 */ sub.s $f6, $f12, $f8 -/* 115628 802AC018 E7A6003C */ swc1 $f6, 0x3c($sp) -/* 11562C 802AC01C 46005182 */ mul.s $f6, $f10, $f0 -/* 115630 802AC020 46067281 */ sub.s $f10, $f14, $f6 -/* 115634 802AC024 E7A60008 */ swc1 $f6, 8($sp) -/* 115638 802AC028 E7AA0038 */ swc1 $f10, 0x38($sp) -/* 11563C 802AC02C C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 115640 802AC030 46045081 */ sub.s $f2, $f10, $f4 -/* 115644 802AC034 C7AA003C */ lwc1 $f10, 0x3c($sp) -/* 115648 802AC038 C7A40038 */ lwc1 $f4, 0x38($sp) -/* 11564C 802AC03C 46085301 */ sub.s $f12, $f10, $f8 -/* 115650 802AC040 46021282 */ mul.s $f10, $f2, $f2 -/* 115654 802AC044 46062381 */ sub.s $f14, $f4, $f6 -/* 115658 802AC048 460C6202 */ mul.s $f8, $f12, $f12 -/* 11565C 802AC04C 46085100 */ add.s $f4, $f10, $f8 -/* 115660 802AC050 460E7182 */ mul.s $f6, $f14, $f14 -/* 115664 802AC054 44815000 */ mtc1 $at, $f10 -/* 115668 802AC058 46062000 */ add.s $f0, $f4, $f6 -/* 11566C 802AC05C C7A40024 */ lwc1 $f4, 0x24($sp) -/* 115670 802AC060 27BD0050 */ addiu $sp, $sp, 0x50 -/* 115674 802AC064 46000004 */ sqrt.s $f0, $f0 -/* 115678 802AC068 46005203 */ div.s $f8, $f10, $f0 -/* 11567C 802AC06C 46044402 */ mul.s $f16, $f8, $f4 -/* 115680 802AC070 00000000 */ nop -/* 115684 802AC074 46101182 */ mul.s $f6, $f2, $f16 -/* 115688 802AC078 00000000 */ nop -/* 11568C 802AC07C 46106282 */ mul.s $f10, $f12, $f16 -/* 115690 802AC080 00000000 */ nop -/* 115694 802AC084 46107202 */ mul.s $f8, $f14, $f16 -/* 115698 802AC088 E4C60000 */ swc1 $f6, ($a2) -/* 11569C 802AC08C E4CA0004 */ swc1 $f10, 4($a2) -/* 1156A0 802AC090 03E00008 */ jr $ra -/* 1156A4 802AC094 E4C80008 */ swc1 $f8, 8($a2) diff --git a/asm/non_matchings/code_802AAA70/func_802AC22C.s b/asm/unused/collision/func_802AC22C.s similarity index 96% rename from asm/non_matchings/code_802AAA70/func_802AC22C.s rename to asm/unused/collision/func_802AC22C.s index 393cc10c4..bc0667375 100644 --- a/asm/non_matchings/code_802AAA70/func_802AC22C.s +++ b/asm/unused/collision/func_802AC22C.s @@ -196,10 +196,10 @@ glabel func_802AC22C /* 115B14 802AC504 3C0F8016 */ lui $t7, %hi(D_8015F584) # $t7, 0x8016 /* 115B18 802AC508 8DEFF584 */ lw $t7, %lo(D_8015F584)($t7) /* 115B1C 802AC50C 0011C040 */ sll $t8, $s1, 1 -/* 115B20 802AC510 3C088016 */ lui $t0, %hi(D_8015F580) # $t0, 0x8016 +/* 115B20 802AC510 3C088016 */ lui $t0, %hi(gSurfaceMap) # $t0, 0x8016 /* 115B24 802AC514 01F8C821 */ addu $t9, $t7, $t8 /* 115B28 802AC518 97300000 */ lhu $s0, ($t9) -/* 115B2C 802AC51C 8D08F580 */ lw $t0, %lo(D_8015F580)($t0) +/* 115B2C 802AC51C 8D08F580 */ lw $t0, %lo(gSurfaceMap)($t0) /* 115B30 802AC520 0010A080 */ sll $s4, $s0, 2 /* 115B34 802AC524 0290A023 */ subu $s4, $s4, $s0 /* 115B38 802AC528 0014A080 */ sll $s4, $s4, 2 @@ -228,16 +228,16 @@ glabel func_802AC22C /* 115B94 802AC584 0C0AAF8C */ jal func_802ABE30 /* 115B98 802AC588 3207FFFF */ andi $a3, $s0, 0xffff /* 115B9C 802AC58C E6600010 */ swc1 $f0, 0x10($s3) -/* 115BA0 802AC590 3C0B8016 */ lui $t3, %hi(D_8015F580) # $t3, 0x8016 -/* 115BA4 802AC594 8D6BF580 */ lw $t3, %lo(D_8015F580)($t3) +/* 115BA0 802AC590 3C0B8016 */ lui $t3, %hi(gSurfaceMap) # $t3, 0x8016 +/* 115BA4 802AC594 8D6BF580 */ lw $t3, %lo(gSurfaceMap)($t3) /* 115BA8 802AC598 240E0040 */ li $t6, 64 -/* 115BAC 802AC59C 3C0F8016 */ lui $t7, %hi(D_8015F580) # $t7, 0x8016 +/* 115BAC 802AC59C 3C0F8016 */ lui $t7, %hi(gSurfaceMap) # $t7, 0x8016 /* 115BB0 802AC5A0 01746021 */ addu $t4, $t3, $s4 /* 115BB4 802AC5A4 958D0002 */ lhu $t5, 2($t4) /* 115BB8 802AC5A8 A26E000D */ sb $t6, 0xd($s3) /* 115BBC 802AC5AC A670000E */ sh $s0, 0xe($s3) /* 115BC0 802AC5B0 A26D000C */ sb $t5, 0xc($s3) -/* 115BC4 802AC5B4 8DEFF580 */ lw $t7, %lo(D_8015F580)($t7) +/* 115BC4 802AC5B4 8DEFF580 */ lw $t7, %lo(gSurfaceMap)($t7) /* 115BC8 802AC5B8 24020001 */ li $v0, 1 /* 115BCC 802AC5BC 01F4C021 */ addu $t8, $t7, $s4 /* 115BD0 802AC5C0 97190000 */ lhu $t9, ($t8) @@ -277,8 +277,8 @@ glabel func_802AC22C /* 115C50 802AC640 0C0AAF8C */ jal func_802ABE30 /* 115C54 802AC644 3207FFFF */ andi $a3, $s0, 0xffff /* 115C58 802AC648 E6600010 */ swc1 $f0, 0x10($s3) -/* 115C5C 802AC64C 3C0B8016 */ lui $t3, %hi(D_8015F580) # $t3, 0x8016 -/* 115C60 802AC650 8D6BF580 */ lw $t3, %lo(D_8015F580)($t3) +/* 115C5C 802AC64C 3C0B8016 */ lui $t3, %hi(gSurfaceMap) # $t3, 0x8016 +/* 115C60 802AC650 8D6BF580 */ lw $t3, %lo(gSurfaceMap)($t3) /* 115C64 802AC654 240E0080 */ li $t6, 128 /* 115C68 802AC658 24020001 */ li $v0, 1 /* 115C6C 802AC65C 01746021 */ addu $t4, $t3, $s4 @@ -311,8 +311,8 @@ glabel func_802AC22C /* 115CD4 802AC6C4 0C0AAF8C */ jal func_802ABE30 /* 115CD8 802AC6C8 3207FFFF */ andi $a3, $s0, 0xffff /* 115CDC 802AC6CC E6600010 */ swc1 $f0, 0x10($s3) -/* 115CE0 802AC6D0 3C188016 */ lui $t8, %hi(D_8015F580) # $t8, 0x8016 -/* 115CE4 802AC6D4 8F18F580 */ lw $t8, %lo(D_8015F580)($t8) +/* 115CE0 802AC6D0 3C188016 */ lui $t8, %hi(gSurfaceMap) # $t8, 0x8016 +/* 115CE4 802AC6D4 8F18F580 */ lw $t8, %lo(gSurfaceMap)($t8) /* 115CE8 802AC6D8 24090020 */ li $t1, 32 /* 115CEC 802AC6DC 24020001 */ li $v0, 1 /* 115CF0 802AC6E0 0314C821 */ addu $t9, $t8, $s4 diff --git a/courses/flower_cup/choco_mountain/course_data.inc.c b/courses/flower_cup/choco_mountain/course_data.inc.c index e73310ae6..31ed06a5d 100644 --- a/courses/flower_cup/choco_mountain/course_data.inc.c +++ b/courses/flower_cup/choco_mountain/course_data.inc.c @@ -3561,77 +3561,76 @@ struct ActorSpawnData d_course_choco_mountain_item_box_spawns[] = { {{ -32768, 0, 0 }, {0}}, }; -// unk -struct CourseAddrUnkStruct d_course_choco_mountain_addr[] = { - { d_course_choco_mountain_packed_dl_5A70, 0xFFFF8000 }, - { d_course_choco_mountain_packed_dl_8E0, 0xFFFF0000 }, - { d_course_choco_mountain_packed_dl_448, 0xFFFF8000 }, - { d_course_choco_mountain_packed_dl_49F0, 0x02010000 }, - { d_course_choco_mountain_packed_dl_4AB0, 0x02020000 }, - { d_course_choco_mountain_packed_dl_4B58, 0x02030000 }, - { d_course_choco_mountain_packed_dl_4C08, 0x02040000 }, - { d_course_choco_mountain_packed_dl_4CC8, 0x02050000 }, - { d_course_choco_mountain_packed_dl_4970, 0x02060000 }, - { d_course_choco_mountain_packed_dl_4618, 0x02070000 }, - { d_course_choco_mountain_packed_dl_4690, 0x02080000 }, - { d_course_choco_mountain_packed_dl_46F0, 0x02090000 }, - { d_course_choco_mountain_packed_dl_4790, 0x020A0000 }, - { d_course_choco_mountain_packed_dl_4840, 0x020B0000 }, - { d_course_choco_mountain_packed_dl_48E8, 0x020C0000 }, - { d_course_choco_mountain_packed_dl_4D90, 0x020D0000 }, - { d_course_choco_mountain_packed_dl_51D8, 0x020E0000 }, - { d_course_choco_mountain_packed_dl_5258, 0x020F0000 }, - { d_course_choco_mountain_packed_dl_52C8, 0x02100000 }, - { d_course_choco_mountain_packed_dl_5338, 0x02110000 }, - { d_course_choco_mountain_packed_dl_53D8, 0x02120000 }, - { d_course_choco_mountain_packed_dl_5148, 0x02130000 }, - { d_course_choco_mountain_packed_dl_4E40, 0x02140000 }, - { d_course_choco_mountain_packed_dl_4EB0, 0x02150000 }, - { d_course_choco_mountain_packed_dl_4F30, 0x02160000 }, - { d_course_choco_mountain_packed_dl_4FC0, 0x02170000 }, - { d_course_choco_mountain_packed_dl_5070, 0x02180000 }, - { d_course_choco_mountain_packed_dl_2530, 0x0C010000 }, - { d_course_choco_mountain_packed_dl_2458, 0x0C020000 }, - { d_course_choco_mountain_packed_dl_2380, 0x0C020000 }, - { d_course_choco_mountain_packed_dl_2278, 0x0C030000 }, - { d_course_choco_mountain_packed_dl_21D8, 0x0C030000 }, - { d_course_choco_mountain_packed_dl_2600, 0x0C040000 }, - { d_course_choco_mountain_packed_dl_29E8, 0x0C040000 }, - { d_course_choco_mountain_packed_dl_28B0, 0x0C050000 }, - { d_course_choco_mountain_packed_dl_27F0, 0x0C050000 }, - { d_course_choco_mountain_packed_dl_2760, 0x0C060000 }, - { d_course_choco_mountain_packed_dl_20F8, 0x0C060000 }, - { d_course_choco_mountain_packed_dl_1A48, 0x0C070000 }, - { d_course_choco_mountain_packed_dl_1988, 0x0C070000 }, - { d_course_choco_mountain_packed_dl_17E0, 0x0C080000 }, - { d_course_choco_mountain_packed_dl_1740, 0x0C080000 }, - { d_course_choco_mountain_packed_dl_1670, 0x0C090000 }, - { d_course_choco_mountain_packed_dl_1AC8, 0x0C090000 }, - { d_course_choco_mountain_packed_dl_1FE8, 0x0C0A0000 }, - { d_course_choco_mountain_packed_dl_1E90, 0x0C0A0000 }, - { d_course_choco_mountain_packed_dl_1DB8, 0x0C0B0000 }, - { d_course_choco_mountain_packed_dl_1C98, 0x0C0B0000 }, - { d_course_choco_mountain_packed_dl_1BE0, 0x0C0C0000 }, - { d_course_choco_mountain_packed_dl_2AE8, 0x0C0C0000 }, - { d_course_choco_mountain_packed_dl_38B8, 0x0C0D0000 }, - { d_course_choco_mountain_packed_dl_37B0, 0x0C0D0000 }, - { d_course_choco_mountain_packed_dl_3708, 0x0C0E0000 }, - { d_course_choco_mountain_packed_dl_3670, 0x0C0F0000 }, - { d_course_choco_mountain_packed_dl_35B0, 0x0C100000 }, - { d_course_choco_mountain_packed_dl_3998, 0x0C100000 }, - { d_course_choco_mountain_packed_dl_3EE8, 0x0C110000 }, - { d_course_choco_mountain_packed_dl_3DD8, 0x0C110000 }, - { d_course_choco_mountain_packed_dl_3CF0, 0x0C120000 }, - { d_course_choco_mountain_packed_dl_3B98, 0x0C120000 }, - { d_course_choco_mountain_packed_dl_3A80, 0x0C130000 }, - { d_course_choco_mountain_packed_dl_34E0, 0x0C140000 }, - { d_course_choco_mountain_packed_dl_2FE8, 0x0C150000 }, - { d_course_choco_mountain_packed_dl_2EE8, 0x0C150000 }, - { d_course_choco_mountain_packed_dl_2E38, 0x0C160000 }, - { d_course_choco_mountain_packed_dl_2D68, 0x0C160000 }, - { d_course_choco_mountain_packed_dl_2CA8, 0x0C170000 }, - { d_course_choco_mountain_packed_dl_2BD0, 0x0C170000 }, - { d_course_choco_mountain_packed_dl_30A8, 0x0C180000 }, - { d_course_choco_mountain_packed_dl_3410, 0x0C180000 }, - { 0x00000000, 0x00000000 }, +TrackSections d_course_choco_mountain_addr[] = { + { d_course_choco_mountain_packed_dl_5A70, 255, 255, 0x8000 }, + { d_course_choco_mountain_packed_dl_8E0, 255, 255, 0x0000 }, + { d_course_choco_mountain_packed_dl_448, 255, 255, 0x8000 }, + { d_course_choco_mountain_packed_dl_49F0, 2, 1, 0x0000 }, + { d_course_choco_mountain_packed_dl_4AB0, 2, 2, 0x0000 }, + { d_course_choco_mountain_packed_dl_4B58, 2, 3, 0x0000 }, + { d_course_choco_mountain_packed_dl_4C08, 2, 4, 0x0000 }, + { d_course_choco_mountain_packed_dl_4CC8, 2, 5, 0x0000 }, + { d_course_choco_mountain_packed_dl_4970, 2, 6, 0x0000 }, + { d_course_choco_mountain_packed_dl_4618, 2, 7, 0x0000 }, + { d_course_choco_mountain_packed_dl_4690, 2, 8, 0x0000 }, + { d_course_choco_mountain_packed_dl_46F0, 2, 9, 0x0000 }, + { d_course_choco_mountain_packed_dl_4790, 2, 10, 0x0000 }, + { d_course_choco_mountain_packed_dl_4840, 2, 11, 0x0000 }, + { d_course_choco_mountain_packed_dl_48E8, 2, 12, 0x0000 }, + { d_course_choco_mountain_packed_dl_4D90, 2, 13, 0x0000 }, + { d_course_choco_mountain_packed_dl_51D8, 2, 14, 0x0000 }, + { d_course_choco_mountain_packed_dl_5258, 2, 15, 0x0000 }, + { d_course_choco_mountain_packed_dl_52C8, 2, 16, 0x0000 }, + { d_course_choco_mountain_packed_dl_5338, 2, 17, 0x0000 }, + { d_course_choco_mountain_packed_dl_53D8, 2, 18, 0x0000 }, + { d_course_choco_mountain_packed_dl_5148, 2, 19, 0x0000 }, + { d_course_choco_mountain_packed_dl_4E40, 2, 20, 0x0000 }, + { d_course_choco_mountain_packed_dl_4EB0, 2, 21, 0x0000 }, + { d_course_choco_mountain_packed_dl_4F30, 2, 22, 0x0000 }, + { d_course_choco_mountain_packed_dl_4FC0, 2, 23, 0x0000 }, + { d_course_choco_mountain_packed_dl_5070, 2, 24, 0x0000 }, + { d_course_choco_mountain_packed_dl_2530, 12, 1, 0x0000 }, + { d_course_choco_mountain_packed_dl_2458, 12, 2, 0x0000 }, + { d_course_choco_mountain_packed_dl_2380, 12, 2, 0x0000 }, + { d_course_choco_mountain_packed_dl_2278, 12, 3, 0x0000 }, + { d_course_choco_mountain_packed_dl_21D8, 12, 3, 0x0000 }, + { d_course_choco_mountain_packed_dl_2600, 12, 4, 0x0000 }, + { d_course_choco_mountain_packed_dl_29E8, 12, 4, 0x0000 }, + { d_course_choco_mountain_packed_dl_28B0, 12, 5, 0x0000 }, + { d_course_choco_mountain_packed_dl_27F0, 12, 5, 0x0000 }, + { d_course_choco_mountain_packed_dl_2760, 12, 6, 0x0000 }, + { d_course_choco_mountain_packed_dl_20F8, 12, 6, 0x0000 }, + { d_course_choco_mountain_packed_dl_1A48, 12, 7, 0x0000 }, + { d_course_choco_mountain_packed_dl_1988, 12, 7, 0x0000 }, + { d_course_choco_mountain_packed_dl_17E0, 12, 8, 0x0000 }, + { d_course_choco_mountain_packed_dl_1740, 12, 8, 0x0000 }, + { d_course_choco_mountain_packed_dl_1670, 12, 9, 0x0000 }, + { d_course_choco_mountain_packed_dl_1AC8, 12, 9, 0x0000 }, + { d_course_choco_mountain_packed_dl_1FE8, 12, 10, 0x0000 }, + { d_course_choco_mountain_packed_dl_1E90, 12, 10, 0x0000 }, + { d_course_choco_mountain_packed_dl_1DB8, 12, 11, 0x0000 }, + { d_course_choco_mountain_packed_dl_1C98, 12, 11, 0x0000 }, + { d_course_choco_mountain_packed_dl_1BE0, 12, 12, 0x0000 }, + { d_course_choco_mountain_packed_dl_2AE8, 12, 12, 0x0000 }, + { d_course_choco_mountain_packed_dl_38B8, 12, 13, 0x0000 }, + { d_course_choco_mountain_packed_dl_37B0, 12, 13, 0x0000 }, + { d_course_choco_mountain_packed_dl_3708, 12, 14, 0x0000 }, + { d_course_choco_mountain_packed_dl_3670, 12, 15, 0x0000 }, + { d_course_choco_mountain_packed_dl_35B0, 12, 16, 0x0000 }, + { d_course_choco_mountain_packed_dl_3998, 12, 16, 0x0000 }, + { d_course_choco_mountain_packed_dl_3EE8, 12, 17, 0x0000 }, + { d_course_choco_mountain_packed_dl_3DD8, 12, 17, 0x0000 }, + { d_course_choco_mountain_packed_dl_3CF0, 12, 18, 0x0000 }, + { d_course_choco_mountain_packed_dl_3B98, 12, 18, 0x0000 }, + { d_course_choco_mountain_packed_dl_3A80, 12, 19, 0x0000 }, + { d_course_choco_mountain_packed_dl_34E0, 12, 20, 0x0000 }, + { d_course_choco_mountain_packed_dl_2FE8, 12, 21, 0x0000 }, + { d_course_choco_mountain_packed_dl_2EE8, 12, 21, 0x0000 }, + { d_course_choco_mountain_packed_dl_2E38, 12, 22, 0x0000 }, + { d_course_choco_mountain_packed_dl_2D68, 12, 22, 0x0000 }, + { d_course_choco_mountain_packed_dl_2CA8, 12, 23, 0x0000 }, + { d_course_choco_mountain_packed_dl_2BD0, 12, 23, 0x0000 }, + { d_course_choco_mountain_packed_dl_30A8, 12, 24, 0x0000 }, + { d_course_choco_mountain_packed_dl_3410, 12, 24, 0x0000 }, + { 0x00000000, 0, 0, 0x0000 }, }; diff --git a/courses/flower_cup/frappe_snowland/course_data.inc.c b/courses/flower_cup/frappe_snowland/course_data.inc.c index 906f5a373..f88c57f3f 100644 --- a/courses/flower_cup/frappe_snowland/course_data.inc.c +++ b/courses/flower_cup/frappe_snowland/course_data.inc.c @@ -2859,53 +2859,53 @@ Gfx *d_course_frappe_snowland_dl_list[] = { d_course_frappe_snowland_dl_3270, d_course_frappe_snowland_dl_33E0, }; -struct CourseAddrUnkStruct d_course_frappe_snowland_addr[] = { - { d_course_frappe_snowland_packed_dl_3B20, 0xFFFF0000 }, - { d_course_frappe_snowland_packed_dl_3118, 0xFFFF0000 }, - { d_course_frappe_snowland_packed_dl_2A90, 0xFFFF0000 }, - { d_course_frappe_snowland_packed_dl_3F80, 0x05010000 }, - { d_course_frappe_snowland_packed_dl_3EF8, 0x05020000 }, - { d_course_frappe_snowland_packed_dl_3E68, 0x05030000 }, - { d_course_frappe_snowland_packed_dl_3DD8, 0x05040000 }, - { d_course_frappe_snowland_packed_dl_3B48, 0x05050000 }, - { d_course_frappe_snowland_packed_dl_3BD8, 0x05060000 }, - { d_course_frappe_snowland_packed_dl_3CD8, 0x05070000 }, - { d_course_frappe_snowland_packed_dl_3D58, 0x05080000 }, - { d_course_frappe_snowland_packed_dl_4020, 0x05090000 }, - { d_course_frappe_snowland_packed_dl_43E8, 0x050A0000 }, - { d_course_frappe_snowland_packed_dl_4378, 0x050B0000 }, - { d_course_frappe_snowland_packed_dl_4300, 0x050C0000 }, - { d_course_frappe_snowland_packed_dl_4288, 0x050D0000 }, - { d_course_frappe_snowland_packed_dl_40B0, 0x050E0000 }, - { d_course_frappe_snowland_packed_dl_4120, 0x050F0000 }, - { d_course_frappe_snowland_packed_dl_4188, 0x05100000 }, - { d_course_frappe_snowland_packed_dl_4208, 0x11110000 }, - { d_course_frappe_snowland_packed_dl_50D0, 0x0B010000 }, - { d_course_frappe_snowland_packed_dl_51C8, 0x0B020000 }, - { d_course_frappe_snowland_packed_dl_5330, 0x0B030000 }, - { d_course_frappe_snowland_packed_dl_54A0, 0x0B040000 }, - { d_course_frappe_snowland_packed_dl_55D0, 0x0B050000 }, - { d_course_frappe_snowland_packed_dl_5740, 0x0B060000 }, - { d_course_frappe_snowland_packed_dl_4FF8, 0x0B070000 }, - { d_course_frappe_snowland_packed_dl_48C0, 0x0B080000 }, - { d_course_frappe_snowland_packed_dl_49E0, 0x0B090000 }, - { d_course_frappe_snowland_packed_dl_4BA0, 0x0B0A0000 }, - { d_course_frappe_snowland_packed_dl_4D18, 0x0B100000 }, - { d_course_frappe_snowland_packed_dl_4E40, 0x0BFF0000 }, - { d_course_frappe_snowland_packed_dl_4F00, 0x0BFF0000 }, - { d_course_frappe_snowland_packed_dl_58C0, 0x0BFF0000 }, - { d_course_frappe_snowland_packed_dl_5E08, 0x0BFF0000 }, - { d_course_frappe_snowland_packed_dl_5EA8, 0x0B0E0000 }, - { d_course_frappe_snowland_packed_dl_5F90, 0x0B0D0000 }, - { d_course_frappe_snowland_packed_dl_6088, 0x0BFF0000 }, - { d_course_frappe_snowland_packed_dl_61A0, 0x0BFF0000 }, - { d_course_frappe_snowland_packed_dl_6268, 0x0BFF0000 }, - { d_course_frappe_snowland_packed_dl_5D90, 0x0BFF0000 }, - { d_course_frappe_snowland_packed_dl_5988, 0x0BFF0000 }, - { d_course_frappe_snowland_packed_dl_5A20, 0x0B080000 }, - { d_course_frappe_snowland_packed_dl_5AC0, 0x0B090000 }, - { d_course_frappe_snowland_packed_dl_5B58, 0x0B0A0000 }, - { d_course_frappe_snowland_packed_dl_5BE0, 0x0B0C0000 }, - { d_course_frappe_snowland_packed_dl_5C70, 0x0B0D0000 }, - { 0x00000000, 0x00000000 }, +TrackSections d_course_frappe_snowland_addr[] = { + { d_course_frappe_snowland_packed_dl_3B20, 255, 255, 0x0000 }, + { d_course_frappe_snowland_packed_dl_3118, 255, 255, 0x0000 }, + { d_course_frappe_snowland_packed_dl_2A90, 255, 255, 0x0000 }, + { d_course_frappe_snowland_packed_dl_3F80, 5, 1, 0x0000 }, + { d_course_frappe_snowland_packed_dl_3EF8, 5, 2, 0x0000 }, + { d_course_frappe_snowland_packed_dl_3E68, 5, 3, 0x0000 }, + { d_course_frappe_snowland_packed_dl_3DD8, 5, 4, 0x0000 }, + { d_course_frappe_snowland_packed_dl_3B48, 5, 5, 0x0000 }, + { d_course_frappe_snowland_packed_dl_3BD8, 5, 6, 0x0000 }, + { d_course_frappe_snowland_packed_dl_3CD8, 5, 7, 0x0000 }, + { d_course_frappe_snowland_packed_dl_3D58, 5, 8, 0x0000 }, + { d_course_frappe_snowland_packed_dl_4020, 5, 9, 0x0000 }, + { d_course_frappe_snowland_packed_dl_43E8, 5, 10, 0x0000 }, + { d_course_frappe_snowland_packed_dl_4378, 5, 11, 0x0000 }, + { d_course_frappe_snowland_packed_dl_4300, 5, 12, 0x0000 }, + { d_course_frappe_snowland_packed_dl_4288, 5, 13, 0x0000 }, + { d_course_frappe_snowland_packed_dl_40B0, 5, 14, 0x0000 }, + { d_course_frappe_snowland_packed_dl_4120, 5, 15, 0x0000 }, + { d_course_frappe_snowland_packed_dl_4188, 5, 16, 0x0000 }, + { d_course_frappe_snowland_packed_dl_4208, 17, 17, 0x0000 }, + { d_course_frappe_snowland_packed_dl_50D0, 11, 1, 0x0000 }, + { d_course_frappe_snowland_packed_dl_51C8, 11, 2, 0x0000 }, + { d_course_frappe_snowland_packed_dl_5330, 11, 3, 0x0000 }, + { d_course_frappe_snowland_packed_dl_54A0, 11, 4, 0x0000 }, + { d_course_frappe_snowland_packed_dl_55D0, 11, 5, 0x0000 }, + { d_course_frappe_snowland_packed_dl_5740, 11, 6, 0x0000 }, + { d_course_frappe_snowland_packed_dl_4FF8, 11, 7, 0x0000 }, + { d_course_frappe_snowland_packed_dl_48C0, 11, 8, 0x0000 }, + { d_course_frappe_snowland_packed_dl_49E0, 11, 9, 0x0000 }, + { d_course_frappe_snowland_packed_dl_4BA0, 11, 10, 0x0000 }, + { d_course_frappe_snowland_packed_dl_4D18, 11, 16, 0x0000 }, + { d_course_frappe_snowland_packed_dl_4E40, 11, 255, 0x0000 }, + { d_course_frappe_snowland_packed_dl_4F00, 11, 255, 0x0000 }, + { d_course_frappe_snowland_packed_dl_58C0, 11, 255, 0x0000 }, + { d_course_frappe_snowland_packed_dl_5E08, 11, 255, 0x0000 }, + { d_course_frappe_snowland_packed_dl_5EA8, 11, 14, 0x0000 }, + { d_course_frappe_snowland_packed_dl_5F90, 11, 13, 0x0000 }, + { d_course_frappe_snowland_packed_dl_6088, 11, 255, 0x0000 }, + { d_course_frappe_snowland_packed_dl_61A0, 11, 255, 0x0000 }, + { d_course_frappe_snowland_packed_dl_6268, 11, 255, 0x0000 }, + { d_course_frappe_snowland_packed_dl_5D90, 11, 255, 0x0000 }, + { d_course_frappe_snowland_packed_dl_5988, 11, 255, 0x0000 }, + { d_course_frappe_snowland_packed_dl_5A20, 11, 8, 0x0000 }, + { d_course_frappe_snowland_packed_dl_5AC0, 11, 9, 0x0000 }, + { d_course_frappe_snowland_packed_dl_5B58, 11, 10, 0x0000 }, + { d_course_frappe_snowland_packed_dl_5BE0, 11, 12, 0x0000 }, + { d_course_frappe_snowland_packed_dl_5C70, 11, 13, 0x0000 }, + { 0x00000000, 0, 0, 0x0000 }, }; diff --git a/courses/flower_cup/mario_raceway/course_data.inc.c b/courses/flower_cup/mario_raceway/course_data.inc.c index 79478345d..e36801a43 100644 --- a/courses/flower_cup/mario_raceway/course_data.inc.c +++ b/courses/flower_cup/mario_raceway/course_data.inc.c @@ -4002,58 +4002,58 @@ struct ActorSpawnData d_course_mario_raceway_tree_spawns[] = { {{ -32768, 0, 0 }, {0}}, }; -struct CourseAddrUnkStruct d_course_mario_raceway_addr[] = { - { d_course_mario_raceway_packed_dl_17D8, 0x01010000 }, - { d_course_mario_raceway_packed_dl_1770, 0x01020000 }, - { d_course_mario_raceway_packed_dl_16D8, 0x01030000 }, - { d_course_mario_raceway_packed_dl_1668, 0x01040000 }, - { d_course_mario_raceway_packed_dl_14C8, 0x01050000 }, - { d_course_mario_raceway_packed_dl_1500, 0x01060000 }, - { d_course_mario_raceway_packed_dl_1550, 0x01070000 }, - { d_course_mario_raceway_packed_dl_1600, 0x01080000 }, - { d_course_mario_raceway_packed_dl_1850, 0x01090000 }, - { d_course_mario_raceway_packed_dl_1AF8, 0x010A0000 }, - { d_course_mario_raceway_packed_dl_1A80, 0x010B0000 }, - { d_course_mario_raceway_packed_dl_1A08, 0x010C0000 }, - { d_course_mario_raceway_packed_dl_1988, 0x010D0000 }, - { d_course_mario_raceway_packed_dl_1890, 0x010E0000 }, - { d_course_mario_raceway_packed_dl_18B8, 0x010F0000 }, - { d_course_mario_raceway_packed_dl_18E0, 0x01100000 }, - { d_course_mario_raceway_packed_dl_1950, 0x01110000 }, - { d_course_mario_raceway_packed_dl_1188, 0xFFFF0000 }, - { d_course_mario_raceway_packed_dl_2A28, 0xFFFF0000 }, - { d_course_mario_raceway_packed_dl_E0, 0xFFFF0000 }, - { d_course_mario_raceway_packed_dl_5218, 0x08010000 }, - { d_course_mario_raceway_packed_dl_50E8, 0x08020000 }, - { d_course_mario_raceway_packed_dl_4F90, 0x08030000 }, - { d_course_mario_raceway_packed_dl_4EE8, 0x08040000 }, - { d_course_mario_raceway_packed_dl_4E20, 0x08050000 }, - { d_course_mario_raceway_packed_dl_52B8, 0x08040000 }, - { d_course_mario_raceway_packed_dl_5608, 0x08040000 }, - { d_course_mario_raceway_packed_dl_5550, 0x08050000 }, - { d_course_mario_raceway_packed_dl_54B0, 0x08060000 }, - { d_course_mario_raceway_packed_dl_5408, 0x08050000 }, - { d_course_mario_raceway_packed_dl_5368, 0x08060000 }, - { d_course_mario_raceway_packed_dl_4D48, 0x08070000 }, - { d_course_mario_raceway_packed_dl_49E8, 0x08070000 }, - { d_course_mario_raceway_packed_dl_4950, 0x08080000 }, - { d_course_mario_raceway_packed_dl_4870, 0x08070000 }, - { d_course_mario_raceway_packed_dl_4780, 0x08070000 }, - { d_course_mario_raceway_packed_dl_46A0, 0x08090000 }, - { d_course_mario_raceway_packed_dl_4AD8, 0x08070000 }, - { d_course_mario_raceway_packed_dl_6198, 0x080A0000 }, - { d_course_mario_raceway_packed_dl_60F0, 0x080B0000 }, - { d_course_mario_raceway_packed_dl_63B0, 0x080C0000 }, - { d_course_mario_raceway_packed_dl_5AE0, 0x080D0000 }, - { d_course_mario_raceway_packed_dl_5A48, 0x080E0000 }, - { d_course_mario_raceway_packed_dl_5970, 0x080F0000 }, - { d_course_mario_raceway_packed_dl_5870, 0x080F0000 }, - { d_course_mario_raceway_packed_dl_5768, 0x08100000 }, - { d_course_mario_raceway_packed_dl_5BC8, 0x08110000 }, - { d_course_mario_raceway_packed_dl_5ED0, 0x070D0000 }, - { d_course_mario_raceway_packed_dl_5F88, 0x070B0000 }, - { d_course_mario_raceway_packed_dl_6068, 0x070A0000 }, - { d_course_mario_raceway_packed_dl_6308, 0x070C0000 }, - { d_course_mario_raceway_packed_dl_6490, 0x070B0000 }, - { 0x00000000, 0x00000000 }, +TrackSections d_course_mario_raceway_addr[] = { + { d_course_mario_raceway_packed_dl_17D8, 1, 1, 0x0000 }, + { d_course_mario_raceway_packed_dl_1770, 1, 2, 0x0000 }, + { d_course_mario_raceway_packed_dl_16D8, 1, 3, 0x0000 }, + { d_course_mario_raceway_packed_dl_1668, 1, 4, 0x0000 }, + { d_course_mario_raceway_packed_dl_14C8, 1, 5, 0x0000 }, + { d_course_mario_raceway_packed_dl_1500, 1, 6, 0x0000 }, + { d_course_mario_raceway_packed_dl_1550, 1, 7, 0x0000 }, + { d_course_mario_raceway_packed_dl_1600, 1, 8, 0x0000 }, + { d_course_mario_raceway_packed_dl_1850, 1, 9, 0x0000 }, + { d_course_mario_raceway_packed_dl_1AF8, 1, 10, 0x0000 }, + { d_course_mario_raceway_packed_dl_1A80, 1, 11, 0x0000 }, + { d_course_mario_raceway_packed_dl_1A08, 1, 12, 0x0000 }, + { d_course_mario_raceway_packed_dl_1988, 1, 13, 0x0000 }, + { d_course_mario_raceway_packed_dl_1890, 1, 14, 0x0000 }, + { d_course_mario_raceway_packed_dl_18B8, 1, 15, 0x0000 }, + { d_course_mario_raceway_packed_dl_18E0, 1, 16, 0x0000 }, + { d_course_mario_raceway_packed_dl_1950, 1, 17, 0x0000 }, + { d_course_mario_raceway_packed_dl_1188, 255, 255, 0x0000 }, + { d_course_mario_raceway_packed_dl_2A28, 255, 255, 0x0000 }, + { d_course_mario_raceway_packed_dl_E0, 255, 255, 0x0000 }, + { d_course_mario_raceway_packed_dl_5218, 8, 1, 0x0000 }, + { d_course_mario_raceway_packed_dl_50E8, 8, 2, 0x0000 }, + { d_course_mario_raceway_packed_dl_4F90, 8, 3, 0x0000 }, + { d_course_mario_raceway_packed_dl_4EE8, 8, 4, 0x0000 }, + { d_course_mario_raceway_packed_dl_4E20, 8, 5, 0x0000 }, + { d_course_mario_raceway_packed_dl_52B8, 8, 4, 0x0000 }, + { d_course_mario_raceway_packed_dl_5608, 8, 4, 0x0000 }, + { d_course_mario_raceway_packed_dl_5550, 8, 5, 0x0000 }, + { d_course_mario_raceway_packed_dl_54B0, 8, 6, 0x0000 }, + { d_course_mario_raceway_packed_dl_5408, 8, 5, 0x0000 }, + { d_course_mario_raceway_packed_dl_5368, 8, 6, 0x0000 }, + { d_course_mario_raceway_packed_dl_4D48, 8, 7, 0x0000 }, + { d_course_mario_raceway_packed_dl_49E8, 8, 7, 0x0000 }, + { d_course_mario_raceway_packed_dl_4950, 8, 8, 0x0000 }, + { d_course_mario_raceway_packed_dl_4870, 8, 7, 0x0000 }, + { d_course_mario_raceway_packed_dl_4780, 8, 7, 0x0000 }, + { d_course_mario_raceway_packed_dl_46A0, 8, 9, 0x0000 }, + { d_course_mario_raceway_packed_dl_4AD8, 8, 7, 0x0000 }, + { d_course_mario_raceway_packed_dl_6198, 8, 10, 0x0000 }, + { d_course_mario_raceway_packed_dl_60F0, 8, 11, 0x0000 }, + { d_course_mario_raceway_packed_dl_63B0, 8, 12, 0x0000 }, + { d_course_mario_raceway_packed_dl_5AE0, 8, 13, 0x0000 }, + { d_course_mario_raceway_packed_dl_5A48, 8, 14, 0x0000 }, + { d_course_mario_raceway_packed_dl_5970, 8, 15, 0x0000 }, + { d_course_mario_raceway_packed_dl_5870, 8, 15, 0x0000 }, + { d_course_mario_raceway_packed_dl_5768, 8, 16, 0x0000 }, + { d_course_mario_raceway_packed_dl_5BC8, 8, 17, 0x0000 }, + { d_course_mario_raceway_packed_dl_5ED0, 7, 13, 0x0000 }, + { d_course_mario_raceway_packed_dl_5F88, 7, 11, 0x0000 }, + { d_course_mario_raceway_packed_dl_6068, 7, 10, 0x0000 }, + { d_course_mario_raceway_packed_dl_6308, 7, 12, 0x0000 }, + { d_course_mario_raceway_packed_dl_6490, 7, 11, 0x0000 }, + { 0x00000000, 0, 0, 0x00000 }, }; diff --git a/courses/flower_cup/toads_turnpike/course_data.inc.c b/courses/flower_cup/toads_turnpike/course_data.inc.c index 5efc91cc2..a5711e97a 100644 --- a/courses/flower_cup/toads_turnpike/course_data.inc.c +++ b/courses/flower_cup/toads_turnpike/course_data.inc.c @@ -8407,29 +8407,29 @@ struct ActorSpawnData d_course_toads_turnpike_item_box_spawns[] = { }; // 0x23B68 -struct CourseAddrUnkStruct d_course_toads_turnpike_addr[] = { - { d_course_toads_turnpike_packed_dl_32A0, 0x01010000 }, - { d_course_toads_turnpike_packed_dl_33A8, 0x01020000 }, - { d_course_toads_turnpike_packed_dl_3478, 0x01030000 }, - { d_course_toads_turnpike_packed_dl_3548, 0x01040000 }, - { d_course_toads_turnpike_packed_dl_31E8, 0x01050000 }, - { d_course_toads_turnpike_packed_dl_2E40, 0x01060000 }, - { d_course_toads_turnpike_packed_dl_2EE0, 0x01070000 }, - { d_course_toads_turnpike_packed_dl_2FA0, 0x01080000 }, - { d_course_toads_turnpike_packed_dl_3060, 0x01090000 }, - { d_course_toads_turnpike_packed_dl_3118, 0x010A0000 }, - { d_course_toads_turnpike_packed_dl_3638, 0x010B0000 }, - { d_course_toads_turnpike_packed_dl_3AD0, 0x010C0000 }, - { d_course_toads_turnpike_packed_dl_3B58, 0x010D0000 }, - { d_course_toads_turnpike_packed_dl_3C28, 0x010E0000 }, - { d_course_toads_turnpike_packed_dl_3D00, 0x010F0000 }, - { d_course_toads_turnpike_packed_dl_39A8, 0x01100000 }, - { d_course_toads_turnpike_packed_dl_36C0, 0x01110000 }, - { d_course_toads_turnpike_packed_dl_3780, 0x01120000 }, - { d_course_toads_turnpike_packed_dl_3850, 0x01130000 }, - { d_course_toads_turnpike_packed_dl_38E8, 0x01140000 }, - { d_course_toads_turnpike_packed_dl_FA8, 0xFFFF0000 }, - { d_course_toads_turnpike_packed_dl_51C8, 0xFFFF0000 }, - { 0x00000000, 0x00000000 }, +TrackSections d_course_toads_turnpike_addr[] = { + { d_course_toads_turnpike_packed_dl_32A0, 1, 1, 0x0000 }, + { d_course_toads_turnpike_packed_dl_33A8, 1, 2, 0x0000 }, + { d_course_toads_turnpike_packed_dl_3478, 1, 3, 0x0000 }, + { d_course_toads_turnpike_packed_dl_3548, 1, 4, 0x0000 }, + { d_course_toads_turnpike_packed_dl_31E8, 1, 5, 0x0000 }, + { d_course_toads_turnpike_packed_dl_2E40, 1, 6, 0x0000 }, + { d_course_toads_turnpike_packed_dl_2EE0, 1, 7, 0x0000 }, + { d_course_toads_turnpike_packed_dl_2FA0, 1, 8, 0x0000 }, + { d_course_toads_turnpike_packed_dl_3060, 1, 9, 0x0000 }, + { d_course_toads_turnpike_packed_dl_3118, 1, 10, 0x0000 }, + { d_course_toads_turnpike_packed_dl_3638, 1, 11, 0x0000 }, + { d_course_toads_turnpike_packed_dl_3AD0, 1, 12, 0x0000 }, + { d_course_toads_turnpike_packed_dl_3B58, 1, 13, 0x0000 }, + { d_course_toads_turnpike_packed_dl_3C28, 1, 14, 0x0000 }, + { d_course_toads_turnpike_packed_dl_3D00, 1, 15, 0x0000 }, + { d_course_toads_turnpike_packed_dl_39A8, 1, 16, 0x0000 }, + { d_course_toads_turnpike_packed_dl_36C0, 1, 17, 0x0000 }, + { d_course_toads_turnpike_packed_dl_3780, 1, 18, 0x0000 }, + { d_course_toads_turnpike_packed_dl_3850, 1, 19, 0x0000 }, + { d_course_toads_turnpike_packed_dl_38E8, 1, 20, 0x0000 }, + { d_course_toads_turnpike_packed_dl_FA8, 255, 255, 0x0000 }, + { d_course_toads_turnpike_packed_dl_51C8, 255, 255, 0x0000 }, + { 0x00000000, 0, 0, 0x0000 }, }; diff --git a/courses/mushroom_cup/kalimari_desert/course_data.inc.c b/courses/mushroom_cup/kalimari_desert/course_data.inc.c index 20f8c4c22..40e3843e9 100644 --- a/courses/mushroom_cup/kalimari_desert/course_data.inc.c +++ b/courses/mushroom_cup/kalimari_desert/course_data.inc.c @@ -8394,107 +8394,107 @@ struct ActorSpawnData d_course_kalimari_desert_cactus_spawn[] = { {{ -32768, 0, 0 }, { 0 }}, }; -struct CourseAddrUnkStruct d_course_kalimari_desert_addr[] = { - { d_course_kalimari_desert_packed_dl_8690, 0x02010000 }, - { d_course_kalimari_desert_packed_dl_8728, 0x02020000 }, - { d_course_kalimari_desert_packed_dl_8798, 0x02030000 }, - { d_course_kalimari_desert_packed_dl_8808, 0x02040000 }, - { d_course_kalimari_desert_packed_dl_8610, 0x02050000 }, - { d_course_kalimari_desert_packed_dl_8398, 0x02060000 }, - { d_course_kalimari_desert_packed_dl_8418, 0x02070000 }, - { d_course_kalimari_desert_packed_dl_8490, 0x02080000 }, - { d_course_kalimari_desert_packed_dl_85A0, 0x02090000 }, - { d_course_kalimari_desert_packed_dl_8C08, 0x020A0000 }, - { d_course_kalimari_desert_packed_dl_8D20, 0x020B0000 }, - { d_course_kalimari_desert_packed_dl_8D98, 0x020C0000 }, - { d_course_kalimari_desert_packed_dl_8B60, 0x020D0000 }, - { d_course_kalimari_desert_packed_dl_8990, 0x020E0000 }, - { d_course_kalimari_desert_packed_dl_8AC8, 0x020F0000 }, - { d_course_kalimari_desert_packed_dl_8A40, 0x02100000 }, - { d_course_kalimari_desert_packed_dl_8920, 0x02110000 }, - { d_course_kalimari_desert_packed_dl_8C98, 0x02120000 }, - { d_course_kalimari_desert_packed_dl_8888, 0x02130000 }, - { d_course_kalimari_desert_packed_dl_8508, 0x02140000 }, - { d_course_kalimari_desert_packed_dl_9C50, 0x0D010000 }, - { d_course_kalimari_desert_packed_dl_9BD8, 0x0D020000 }, - { d_course_kalimari_desert_packed_dl_9FE8, 0x0D030000 }, - { d_course_kalimari_desert_packed_dl_9EB0, 0x0D040000 }, - { d_course_kalimari_desert_packed_dl_9F20, 0x0D050000 }, - { d_course_kalimari_desert_packed_dl_9F88, 0x0D060000 }, - { d_course_kalimari_desert_packed_dl_9E38, 0x0D070000 }, - { d_course_kalimari_desert_packed_dl_9CC0, 0x0D080000 }, - { d_course_kalimari_desert_packed_dl_A050, 0x0D090000 }, - { d_course_kalimari_desert_packed_dl_A350, 0x0D0A0000 }, - { d_course_kalimari_desert_packed_dl_A458, 0x0D0B0000 }, - { d_course_kalimari_desert_packed_dl_A4D0, 0x0D0C0000 }, - { d_course_kalimari_desert_packed_dl_A0C0, 0x0D0D0000 }, - { d_course_kalimari_desert_packed_dl_A138, 0x0D0E0000 }, - { d_course_kalimari_desert_packed_dl_A228, 0x0D0F0000 }, - { d_course_kalimari_desert_packed_dl_A1A0, 0x0D100000 }, - { d_course_kalimari_desert_packed_dl_A2D0, 0x0D110000 }, - { d_course_kalimari_desert_packed_dl_A3D8, 0x0D120000 }, - { d_course_kalimari_desert_packed_dl_9DC0, 0x0D130000 }, - { d_course_kalimari_desert_packed_dl_9D48, 0x0D140000 }, - { d_course_kalimari_desert_packed_dl_5360, 0x0D010000 }, - { d_course_kalimari_desert_packed_dl_53D0, 0x0D020000 }, - { d_course_kalimari_desert_packed_dl_5DB0, 0x0D030000 }, - { d_course_kalimari_desert_packed_dl_5A60, 0x0D040000 }, - { d_course_kalimari_desert_packed_dl_5B00, 0x0D050000 }, - { d_course_kalimari_desert_packed_dl_5F28, 0x0D060000 }, - { d_course_kalimari_desert_packed_dl_5580, 0x0D030000 }, - { d_course_kalimari_desert_packed_dl_5E38, 0x0D040000 }, - { d_course_kalimari_desert_packed_dl_5EB0, 0x0D050000 }, - { d_course_kalimari_desert_packed_dl_59F0, 0x0D060000 }, - { d_course_kalimari_desert_packed_dl_5450, 0x0D070000 }, - { d_course_kalimari_desert_packed_dl_54C8, 0x0D070000 }, - { d_course_kalimari_desert_packed_dl_5878, 0x0D080000 }, - { d_course_kalimari_desert_packed_dl_6B28, 0x0D090000 }, - { d_course_kalimari_desert_packed_dl_6E38, 0x0D0A0000 }, - { d_course_kalimari_desert_packed_dl_57D0, 0x0D080000 }, - { d_course_kalimari_desert_packed_dl_69F8, 0x0D090000 }, - { d_course_kalimari_desert_packed_dl_6CF0, 0x0D0B0000 }, - { d_course_kalimari_desert_packed_dl_61D8, 0x0D0C0000 }, - { d_course_kalimari_desert_packed_dl_6820, 0x0D0C0000 }, - { d_course_kalimari_desert_packed_dl_6EE8, 0x0D0B0000 }, - { d_course_kalimari_desert_packed_dl_6050, 0x0D0A0000 }, - { d_course_kalimari_desert_packed_dl_6130, 0x0D0D0000 }, - { d_course_kalimari_desert_packed_dl_6310, 0x0D0D0000 }, - { d_course_kalimari_desert_packed_dl_65F0, 0x0D0E0000 }, - { d_course_kalimari_desert_packed_dl_63C0, 0x0D0E0000 }, - { d_course_kalimari_desert_packed_dl_6490, 0x0D0F0000 }, - { d_course_kalimari_desert_packed_dl_6530, 0x0D0F0000 }, - { d_course_kalimari_desert_packed_dl_55F0, 0x0D080000 }, - { d_course_kalimari_desert_packed_dl_66C8, 0x0D100000 }, - { d_course_kalimari_desert_packed_dl_6290, 0x0D110000 }, - { d_course_kalimari_desert_packed_dl_60C8, 0x0D110000 }, - { d_course_kalimari_desert_packed_dl_6C70, 0x0D120000 }, - { d_course_kalimari_desert_packed_dl_6DA0, 0x0D120000 }, - { d_course_kalimari_desert_packed_dl_6BC0, 0x0D130000 }, - { d_course_kalimari_desert_packed_dl_6958, 0x0D130000 }, - { d_course_kalimari_desert_packed_dl_5728, 0x0D140000 }, - { d_course_kalimari_desert_packed_dl_56A0, 0x0D140000 }, - { d_course_kalimari_desert_packed_dl_5FB0, 0x0D020000 }, - { d_course_kalimari_desert_packed_dl_5C90, 0x0D040000 }, - { d_course_kalimari_desert_packed_dl_5B88, 0x0D070000 }, - { d_course_kalimari_desert_packed_dl_52E0, 0x0D080000 }, - { d_course_kalimari_desert_packed_dl_6A78, 0x0D0C0000 }, - { d_course_kalimari_desert_packed_dl_6780, 0x0D0E0000 }, - { d_course_kalimari_desert_packed_dl_68E0, 0x0D100000 }, - { d_course_kalimari_desert_packed_dl_5948, 0x0D130000 }, - { d_course_kalimari_desert_packed_dl_76C0, 0x0E140000 }, - { d_course_kalimari_desert_packed_dl_77F8, 0x0E020000 }, - { d_course_kalimari_desert_packed_dl_79F8, 0x0E070000 }, - { d_course_kalimari_desert_packed_dl_7890, 0x0E080000 }, - { d_course_kalimari_desert_packed_dl_7728, 0x0E090000 }, - { d_course_kalimari_desert_packed_dl_75C0, 0x0E0B0000 }, - { d_course_kalimari_desert_packed_dl_81A0, 0x0E0C0000 }, - { d_course_kalimari_desert_packed_dl_7E18, 0x0E0E0000 }, - { d_course_kalimari_desert_packed_dl_7CC8, 0x0E0F0000 }, - { d_course_kalimari_desert_packed_dl_7F80, 0x0E100000 }, - { d_course_kalimari_desert_packed_dl_80B8, 0x0E110000 }, - { d_course_kalimari_desert_packed_dl_7BC8, 0x0E120000 }, - { d_course_kalimari_desert_packed_dl_9B10, 0xFFFF0000 }, - { d_course_kalimari_desert_packed_dl_1B18, 0xFFFF0000 }, - { d_course_kalimari_desert_packed_dl_998, 0xFFFF4000 }, - { 0x00000000, 0x00000000 }, +TrackSections d_course_kalimari_desert_addr[] = { + { d_course_kalimari_desert_packed_dl_8690, 2, 1, 0x0000 }, + { d_course_kalimari_desert_packed_dl_8728, 2, 2, 0x0000 }, + { d_course_kalimari_desert_packed_dl_8798, 2, 3, 0x0000 }, + { d_course_kalimari_desert_packed_dl_8808, 2, 4, 0x0000 }, + { d_course_kalimari_desert_packed_dl_8610, 2, 5, 0x0000 }, + { d_course_kalimari_desert_packed_dl_8398, 2, 6, 0x0000 }, + { d_course_kalimari_desert_packed_dl_8418, 2, 7, 0x0000 }, + { d_course_kalimari_desert_packed_dl_8490, 2, 8, 0x0000 }, + { d_course_kalimari_desert_packed_dl_85A0, 2, 9, 0x0000 }, + { d_course_kalimari_desert_packed_dl_8C08, 2, 10, 0x0000 }, + { d_course_kalimari_desert_packed_dl_8D20, 2, 11, 0x0000 }, + { d_course_kalimari_desert_packed_dl_8D98, 2, 12, 0x0000 }, + { d_course_kalimari_desert_packed_dl_8B60, 2, 13, 0x0000 }, + { d_course_kalimari_desert_packed_dl_8990, 2, 14, 0x0000 }, + { d_course_kalimari_desert_packed_dl_8AC8, 2, 15, 0x0000 }, + { d_course_kalimari_desert_packed_dl_8A40, 2, 16, 0x0000 }, + { d_course_kalimari_desert_packed_dl_8920, 2, 17, 0x0000 }, + { d_course_kalimari_desert_packed_dl_8C98, 2, 18, 0x0000 }, + { d_course_kalimari_desert_packed_dl_8888, 2, 19, 0x0000 }, + { d_course_kalimari_desert_packed_dl_8508, 2, 20, 0x0000 }, + { d_course_kalimari_desert_packed_dl_9C50, 13, 1, 0x0000 }, + { d_course_kalimari_desert_packed_dl_9BD8, 13, 2, 0x0000 }, + { d_course_kalimari_desert_packed_dl_9FE8, 13, 3, 0x0000 }, + { d_course_kalimari_desert_packed_dl_9EB0, 13, 4, 0x0000 }, + { d_course_kalimari_desert_packed_dl_9F20, 13, 5, 0x0000 }, + { d_course_kalimari_desert_packed_dl_9F88, 13, 6, 0x0000 }, + { d_course_kalimari_desert_packed_dl_9E38, 13, 7, 0x0000 }, + { d_course_kalimari_desert_packed_dl_9CC0, 13, 8, 0x0000 }, + { d_course_kalimari_desert_packed_dl_A050, 13, 9, 0x0000 }, + { d_course_kalimari_desert_packed_dl_A350, 13, 10, 0x0000 }, + { d_course_kalimari_desert_packed_dl_A458, 13, 11, 0x0000 }, + { d_course_kalimari_desert_packed_dl_A4D0, 13, 12, 0x0000 }, + { d_course_kalimari_desert_packed_dl_A0C0, 13, 13, 0x0000 }, + { d_course_kalimari_desert_packed_dl_A138, 13, 14, 0x0000 }, + { d_course_kalimari_desert_packed_dl_A228, 13, 15, 0x0000 }, + { d_course_kalimari_desert_packed_dl_A1A0, 13, 16, 0x0000 }, + { d_course_kalimari_desert_packed_dl_A2D0, 13, 17, 0x0000 }, + { d_course_kalimari_desert_packed_dl_A3D8, 13, 18, 0x0000 }, + { d_course_kalimari_desert_packed_dl_9DC0, 13, 19, 0x0000 }, + { d_course_kalimari_desert_packed_dl_9D48, 13, 20, 0x0000 }, + { d_course_kalimari_desert_packed_dl_5360, 13, 1, 0x0000 }, + { d_course_kalimari_desert_packed_dl_53D0, 13, 2, 0x0000 }, + { d_course_kalimari_desert_packed_dl_5DB0, 13, 3, 0x0000 }, + { d_course_kalimari_desert_packed_dl_5A60, 13, 4, 0x0000 }, + { d_course_kalimari_desert_packed_dl_5B00, 13, 5, 0x0000 }, + { d_course_kalimari_desert_packed_dl_5F28, 13, 6, 0x0000 }, + { d_course_kalimari_desert_packed_dl_5580, 13, 3, 0x0000 }, + { d_course_kalimari_desert_packed_dl_5E38, 13, 4, 0x0000 }, + { d_course_kalimari_desert_packed_dl_5EB0, 13, 5, 0x0000 }, + { d_course_kalimari_desert_packed_dl_59F0, 13, 6, 0x0000 }, + { d_course_kalimari_desert_packed_dl_5450, 13, 7, 0x0000 }, + { d_course_kalimari_desert_packed_dl_54C8, 13, 7, 0x0000 }, + { d_course_kalimari_desert_packed_dl_5878, 13, 8, 0x0000 }, + { d_course_kalimari_desert_packed_dl_6B28, 13, 9, 0x0000 }, + { d_course_kalimari_desert_packed_dl_6E38, 13, 10, 0x0000 }, + { d_course_kalimari_desert_packed_dl_57D0, 13, 8, 0x0000 }, + { d_course_kalimari_desert_packed_dl_69F8, 13, 9, 0x0000 }, + { d_course_kalimari_desert_packed_dl_6CF0, 13, 11, 0x0000 }, + { d_course_kalimari_desert_packed_dl_61D8, 13, 12, 0x0000 }, + { d_course_kalimari_desert_packed_dl_6820, 13, 12, 0x0000 }, + { d_course_kalimari_desert_packed_dl_6EE8, 13, 11, 0x0000 }, + { d_course_kalimari_desert_packed_dl_6050, 13, 10, 0x0000 }, + { d_course_kalimari_desert_packed_dl_6130, 13, 13, 0x0000 }, + { d_course_kalimari_desert_packed_dl_6310, 13, 13, 0x0000 }, + { d_course_kalimari_desert_packed_dl_65F0, 13, 14, 0x0000 }, + { d_course_kalimari_desert_packed_dl_63C0, 13, 14, 0x0000 }, + { d_course_kalimari_desert_packed_dl_6490, 13, 15, 0x0000 }, + { d_course_kalimari_desert_packed_dl_6530, 13, 15, 0x0000 }, + { d_course_kalimari_desert_packed_dl_55F0, 13, 8, 0x0000 }, + { d_course_kalimari_desert_packed_dl_66C8, 13, 16, 0x0000 }, + { d_course_kalimari_desert_packed_dl_6290, 13, 17, 0x0000 }, + { d_course_kalimari_desert_packed_dl_60C8, 13, 17, 0x0000 }, + { d_course_kalimari_desert_packed_dl_6C70, 13, 18, 0x0000 }, + { d_course_kalimari_desert_packed_dl_6DA0, 13, 18, 0x0000 }, + { d_course_kalimari_desert_packed_dl_6BC0, 13, 19, 0x0000 }, + { d_course_kalimari_desert_packed_dl_6958, 13, 19, 0x0000 }, + { d_course_kalimari_desert_packed_dl_5728, 13, 20, 0x0000 }, + { d_course_kalimari_desert_packed_dl_56A0, 13, 20, 0x0000 }, + { d_course_kalimari_desert_packed_dl_5FB0, 13, 2, 0x0000 }, + { d_course_kalimari_desert_packed_dl_5C90, 13, 4, 0x0000 }, + { d_course_kalimari_desert_packed_dl_5B88, 13, 7, 0x0000 }, + { d_course_kalimari_desert_packed_dl_52E0, 13, 8, 0x0000 }, + { d_course_kalimari_desert_packed_dl_6A78, 13, 12, 0x0000 }, + { d_course_kalimari_desert_packed_dl_6780, 13, 14, 0x0000 }, + { d_course_kalimari_desert_packed_dl_68E0, 13, 16, 0x0000 }, + { d_course_kalimari_desert_packed_dl_5948, 13, 19, 0x0000 }, + { d_course_kalimari_desert_packed_dl_76C0, 14, 20, 0x0000 }, + { d_course_kalimari_desert_packed_dl_77F8, 14, 2, 0x0000 }, + { d_course_kalimari_desert_packed_dl_79F8, 14, 7, 0x0000 }, + { d_course_kalimari_desert_packed_dl_7890, 14, 8, 0x0000 }, + { d_course_kalimari_desert_packed_dl_7728, 14, 9, 0x0000 }, + { d_course_kalimari_desert_packed_dl_75C0, 14, 11, 0x0000 }, + { d_course_kalimari_desert_packed_dl_81A0, 14, 12, 0x0000 }, + { d_course_kalimari_desert_packed_dl_7E18, 14, 14, 0x0000 }, + { d_course_kalimari_desert_packed_dl_7CC8, 14, 15, 0x0000 }, + { d_course_kalimari_desert_packed_dl_7F80, 14, 16, 0x0000 }, + { d_course_kalimari_desert_packed_dl_80B8, 14, 17, 0x0000 }, + { d_course_kalimari_desert_packed_dl_7BC8, 14, 18, 0x0000 }, + { d_course_kalimari_desert_packed_dl_9B10, 255, 255, 0x0000 }, + { d_course_kalimari_desert_packed_dl_1B18, 255, 255, 0x0000 }, + { d_course_kalimari_desert_packed_dl_998, 255, 255, 0x4000 }, + { 0x00000000, 0, 0, 0x0000 }, }; diff --git a/courses/mushroom_cup/koopa_troopa_beach/course_data.inc.c b/courses/mushroom_cup/koopa_troopa_beach/course_data.inc.c index 691943b6f..38b443d50 100644 --- a/courses/mushroom_cup/koopa_troopa_beach/course_data.inc.c +++ b/courses/mushroom_cup/koopa_troopa_beach/course_data.inc.c @@ -9119,113 +9119,114 @@ struct ActorSpawnData d_course_koopa_troopa_beach_tree_spawn[] = { }; // 0x18FD8 -struct CourseAddrUnkStruct d_course_koopa_troopa_beach_addr[] = { - { d_course_koopa_troopa_beach_packed_dl_9688, 0xFFFF0000 }, - { d_course_koopa_troopa_beach_packed_dl_D70, 0x03010000 }, - { d_course_koopa_troopa_beach_packed_dl_CC0, 0x03020000 }, - { d_course_koopa_troopa_beach_packed_dl_BD8, 0x03030000 }, - { d_course_koopa_troopa_beach_packed_dl_AE0, 0x03040000 }, - { d_course_koopa_troopa_beach_packed_dl_E60, 0x03050000 }, - { d_course_koopa_troopa_beach_packed_dl_F38, 0x03060000 }, - { d_course_koopa_troopa_beach_packed_dl_1000, 0x03070000 }, - { d_course_koopa_troopa_beach_packed_dl_10B0, 0x03080000 }, - { d_course_koopa_troopa_beach_packed_dl_A00, 0x03090000 }, - { d_course_koopa_troopa_beach_packed_dl_610, 0x030A0000 }, - { d_course_koopa_troopa_beach_packed_dl_518, 0x030B0000 }, - { d_course_koopa_troopa_beach_packed_dl_440, 0x030C0000 }, - { d_course_koopa_troopa_beach_packed_dl_390, 0x030D0000 }, - { d_course_koopa_troopa_beach_packed_dl_6D8, 0x030E0000 }, - { d_course_koopa_troopa_beach_packed_dl_778, 0x030F0000 }, - { d_course_koopa_troopa_beach_packed_dl_858, 0x03100000 }, - { d_course_koopa_troopa_beach_packed_dl_928, 0x03110000 }, - { d_course_koopa_troopa_beach_packed_dl_1190, 0x03120000 }, - { d_course_koopa_troopa_beach_packed_dl_1C18, 0x03130000 }, - { d_course_koopa_troopa_beach_packed_dl_1B58, 0x03140000 }, - { d_course_koopa_troopa_beach_packed_dl_1A40, 0x03150000 }, - { d_course_koopa_troopa_beach_packed_dl_1940, 0x03160000 }, - { d_course_koopa_troopa_beach_packed_dl_1CC0, 0x03170000 }, - { d_course_koopa_troopa_beach_packed_dl_1DA8, 0x03180000 }, - { d_course_koopa_troopa_beach_packed_dl_1E90, 0x03190000 }, - { d_course_koopa_troopa_beach_packed_dl_1F78, 0x031A0000 }, - { d_course_koopa_troopa_beach_packed_dl_1850, 0x031B0000 }, - { d_course_koopa_troopa_beach_packed_dl_14D0, 0x031C0000 }, - { d_course_koopa_troopa_beach_packed_dl_13D0, 0x031D0000 }, - { d_course_koopa_troopa_beach_packed_dl_12D0, 0x031E0000 }, - { d_course_koopa_troopa_beach_packed_dl_1210, 0x031F0000 }, - { d_course_koopa_troopa_beach_packed_dl_1590, 0x03200000 }, - { d_course_koopa_troopa_beach_packed_dl_1668, 0x03210000 }, - { d_course_koopa_troopa_beach_packed_dl_16F0, 0x03220000 }, - { d_course_koopa_troopa_beach_packed_dl_1778, 0x03230000 }, - { d_course_koopa_troopa_beach_packed_dl_4490, 0x03240000 }, - { d_course_koopa_troopa_beach_packed_dl_3978, 0x0A010000 }, - { d_course_koopa_troopa_beach_packed_dl_39E8, 0x0A020000 }, - { d_course_koopa_troopa_beach_packed_dl_3AC8, 0x0A030000 }, - { d_course_koopa_troopa_beach_packed_dl_3B40, 0x0A040000 }, - { d_course_koopa_troopa_beach_packed_dl_3C38, 0x0A050000 }, - { d_course_koopa_troopa_beach_packed_dl_3D00, 0x0A080000 }, - { d_course_koopa_troopa_beach_packed_dl_3DE0, 0x0A090000 }, - { d_course_koopa_troopa_beach_packed_dl_38B0, 0x0A0A0000 }, - { d_course_koopa_troopa_beach_packed_dl_3470, 0x0A0B0000 }, - { d_course_koopa_troopa_beach_packed_dl_3390, 0x0A0C0000 }, - { d_course_koopa_troopa_beach_packed_dl_32B0, 0x0A0D0000 }, - { d_course_koopa_troopa_beach_packed_dl_31D0, 0x0A0E0000 }, - { d_course_koopa_troopa_beach_packed_dl_3550, 0x0A0F0000 }, - { d_course_koopa_troopa_beach_packed_dl_3630, 0x0A100000 }, - { d_course_koopa_troopa_beach_packed_dl_36F0, 0x0A110000 }, - { d_course_koopa_troopa_beach_packed_dl_37B0, 0x0A120000 }, - { d_course_koopa_troopa_beach_packed_dl_3ED8, 0x0A140000 }, - { d_course_koopa_troopa_beach_packed_dl_4770, 0x0A150000 }, - { d_course_koopa_troopa_beach_packed_dl_47E0, 0x0A160000 }, - { d_course_koopa_troopa_beach_packed_dl_48B0, 0x0A170000 }, - { d_course_koopa_troopa_beach_packed_dl_4920, 0x0A180000 }, - { d_course_koopa_troopa_beach_packed_dl_4A08, 0x0A190000 }, - { d_course_koopa_troopa_beach_packed_dl_4AF0, 0x0A1A0000 }, - { d_course_koopa_troopa_beach_packed_dl_4BD0, 0x0A1B0000 }, - { d_course_koopa_troopa_beach_packed_dl_46A8, 0x0A1C0000 }, - { d_course_koopa_troopa_beach_packed_dl_4200, 0x0A1D0000 }, - { d_course_koopa_troopa_beach_packed_dl_4120, 0x0A1E0000 }, - { d_course_koopa_troopa_beach_packed_dl_4040, 0x0A1F0000 }, - { d_course_koopa_troopa_beach_packed_dl_3F60, 0x0A200000 }, - { d_course_koopa_troopa_beach_packed_dl_42E0, 0x0A210000 }, - { d_course_koopa_troopa_beach_packed_dl_43C0, 0x0A220000 }, - { d_course_koopa_troopa_beach_packed_dl_45C8, 0x0A230000 }, - { d_course_koopa_troopa_beach_packed_dl_7F70, 0x0C010000 }, - { d_course_koopa_troopa_beach_packed_dl_8028, 0x0C020000 }, - { d_course_koopa_troopa_beach_packed_dl_80F8, 0x0C030000 }, - { d_course_koopa_troopa_beach_packed_dl_8200, 0x0C040000 }, - { d_course_koopa_troopa_beach_packed_dl_82D8, 0x0C050000 }, - { d_course_koopa_troopa_beach_packed_dl_8360, 0x0C060000 }, - { d_course_koopa_troopa_beach_packed_dl_8468, 0x0C070000 }, - { d_course_koopa_troopa_beach_packed_dl_7EE0, 0x0C0B0000 }, - { d_course_koopa_troopa_beach_packed_dl_78E0, 0x0C0C0000 }, - { d_course_koopa_troopa_beach_packed_dl_7810, 0x0C0D0000 }, - { d_course_koopa_troopa_beach_packed_dl_7740, 0x0C0E0000 }, - { d_course_koopa_troopa_beach_packed_dl_76C0, 0x0C0F0000 }, - { d_course_koopa_troopa_beach_packed_dl_7970, 0x0C100000 }, - { d_course_koopa_troopa_beach_packed_dl_7A98, 0x0C110000 }, - { d_course_koopa_troopa_beach_packed_dl_7DB0, 0x0C130000 }, - { d_course_koopa_troopa_beach_packed_dl_7E48, 0x0C150000 }, - { d_course_koopa_troopa_beach_packed_dl_8510, 0x0C160000 }, - { d_course_koopa_troopa_beach_packed_dl_8C18, 0x0C170000 }, - { d_course_koopa_troopa_beach_packed_dl_8D08, 0x0C180000 }, - { d_course_koopa_troopa_beach_packed_dl_8DB0, 0x0C190000 }, - { d_course_koopa_troopa_beach_packed_dl_8E50, 0x0C1A0000 }, - { d_course_koopa_troopa_beach_packed_dl_8EE0, 0x0C1B0000 }, - { d_course_koopa_troopa_beach_packed_dl_8F58, 0x0C1C0000 }, - { d_course_koopa_troopa_beach_packed_dl_8FD0, 0x0C1D0000 }, - { d_course_koopa_troopa_beach_packed_dl_8A90, 0x0C1E0000 }, - { d_course_koopa_troopa_beach_packed_dl_85C0, 0x0C1F0000 }, - { d_course_koopa_troopa_beach_packed_dl_86B0, 0x0C200000 }, - { d_course_koopa_troopa_beach_packed_dl_8740, 0x0C210000 }, - { d_course_koopa_troopa_beach_packed_dl_87E0, 0x0C220000 }, - { d_course_koopa_troopa_beach_packed_dl_8870, 0x0C230000 }, - { d_course_koopa_troopa_beach_packed_dl_8980, 0x0C1E0000 }, - { d_course_koopa_troopa_beach_packed_dl_7608, 0x01250000 }, - { d_course_koopa_troopa_beach_packed_dl_7538, 0x01250000 }, - { d_course_koopa_troopa_beach_packed_dl_7430, 0x01250000 }, - { d_course_koopa_troopa_beach_packed_dl_9B20, 0x0CFF0000 }, - { d_course_koopa_troopa_beach_packed_dl_9B78, 0x01FF0000 }, - { 0x00000000, 0x00000000 }, +TrackSections d_course_koopa_troopa_beach_addr[] = { + { d_course_koopa_troopa_beach_packed_dl_9688, 255, 255, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_D70, 3, 1, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_CC0, 3, 2, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_BD8, 3, 3, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_AE0, 3, 4, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_E60, 3, 5, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_F38, 3, 6, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_1000, 3, 7, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_10B0, 3, 8, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_A00, 3, 9, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_610, 3, 10, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_518, 3, 11, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_440, 3, 12, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_390, 3, 13, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_6D8, 3, 14, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_778, 3, 15, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_858, 3, 16, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_928, 3, 17, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_1190, 3, 18, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_1C18, 3, 19, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_1B58, 3, 20, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_1A40, 3, 21, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_1940, 3, 22, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_1CC0, 3, 23, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_1DA8, 3, 24, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_1E90, 3, 25, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_1F78, 3, 26, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_1850, 3, 27, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_14D0, 3, 28, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_13D0, 3, 29, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_12D0, 3, 30, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_1210, 3, 31, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_1590, 3, 32, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_1668, 3, 33, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_16F0, 3, 34, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_1778, 3, 35, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_4490, 3, 36, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_3978, 10, 1, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_39E8, 10, 2, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_3AC8, 10, 3, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_3B40, 10, 4, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_3C38, 10, 5, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_3D00, 10, 8, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_3DE0, 10, 9, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_38B0, 10, 10, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_3470, 10, 11, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_3390, 10, 12, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_32B0, 10, 13, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_31D0, 10, 14, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_3550, 10, 15, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_3630, 10, 16, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_36F0, 10, 17, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_37B0, 10, 18, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_3ED8, 10, 20, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_4770, 10, 21, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_47E0, 10, 22, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_48B0, 10, 23, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_4920, 10, 24, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_4A08, 10, 25, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_4AF0, 10, 26, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_4BD0, 10, 27, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_46A8, 10, 28, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_4200, 10, 29, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_4120, 10, 30, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_4040, 10, 31, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_3F60, 10, 32, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_42E0, 10, 33, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_43C0, 10, 34, 0x0000 }, + + { d_course_koopa_troopa_beach_packed_dl_45C8, 10, 35, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_7F70, 12, 1, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_8028, 12, 2, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_80F8, 12, 3, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_8200, 12, 4, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_82D8, 12, 5, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_8360, 12, 6, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_8468, 12, 7, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_7EE0, 12, 11, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_78E0, 12, 12, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_7810, 12, 13, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_7740, 12, 14, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_76C0, 12, 15, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_7970, 12, 16, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_7A98, 12, 17, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_7DB0, 12, 19, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_7E48, 12, 21, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_8510, 12, 22, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_8C18, 12, 23, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_8D08, 12, 24, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_8DB0, 12, 25, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_8E50, 12, 26, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_8EE0, 12, 27, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_8F58, 12, 28, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_8FD0, 12, 29, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_8A90, 12, 30, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_85C0, 12, 31, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_86B0, 12, 32, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_8740, 12, 33, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_87E0, 12, 34, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_8870, 12, 35, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_8980, 12, 30, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_7608, 1, 37, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_7538, 1, 37, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_7430, 1, 37, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_9B20, 12, 255, 0x0000 }, + { d_course_koopa_troopa_beach_packed_dl_9B78, 1, 255, 0x0000 }, + { 0x00000000, 0, 0, 0x0000 }, }; Gfx *d_course_koopa_troopa_beach_dl_list1[] = { diff --git a/courses/mushroom_cup/luigi_raceway/course_data.inc.c b/courses/mushroom_cup/luigi_raceway/course_data.inc.c index a63a4731a..09bbc1b39 100644 --- a/courses/mushroom_cup/luigi_raceway/course_data.inc.c +++ b/courses/mushroom_cup/luigi_raceway/course_data.inc.c @@ -7074,118 +7074,118 @@ struct ActorSpawnData d_course_luigi_raceway_tree_spawn[] = { }; // 0xFF28 -struct CourseAddrUnkStruct d_course_luigi_raceway_addr[] = { - { d_course_luigi_raceway_packed_dl_6B00, 0x01012000 }, - { d_course_luigi_raceway_packed_dl_6BF0, 0x01022000 }, - { d_course_luigi_raceway_packed_dl_6CA8, 0x01032000 }, - { d_course_luigi_raceway_packed_dl_6D60, 0x01042000 }, - { d_course_luigi_raceway_packed_dl_6E18, 0x01052000 }, - { d_course_luigi_raceway_packed_dl_6EF0, 0x01062000 }, - { d_course_luigi_raceway_packed_dl_6FA8, 0x01072000 }, - { d_course_luigi_raceway_packed_dl_6A58, 0x01082000 }, - { d_course_luigi_raceway_packed_dl_65D8, 0x01092000 }, - { d_course_luigi_raceway_packed_dl_6680, 0x010A2000 }, - { d_course_luigi_raceway_packed_dl_6728, 0x010B2000 }, - { d_course_luigi_raceway_packed_dl_67D0, 0x010C2000 }, - { d_course_luigi_raceway_packed_dl_6878, 0x010D2000 }, - { d_course_luigi_raceway_packed_dl_6920, 0x010E2000 }, - { d_course_luigi_raceway_packed_dl_69C0, 0x010F2000 }, - { d_course_luigi_raceway_packed_dl_7050, 0x01102000 }, - { d_course_luigi_raceway_packed_dl_7650, 0x01112000 }, - { d_course_luigi_raceway_packed_dl_76F8, 0x01122000 }, - { d_course_luigi_raceway_packed_dl_77B0, 0x01132000 }, - { d_course_luigi_raceway_packed_dl_7878, 0x01142000 }, - { d_course_luigi_raceway_packed_dl_7940, 0x01152000 }, - { d_course_luigi_raceway_packed_dl_79E8, 0x01162000 }, - { d_course_luigi_raceway_packed_dl_75A8, 0x01172000 }, - { d_course_luigi_raceway_packed_dl_70F8, 0x01182000 }, - { d_course_luigi_raceway_packed_dl_71A0, 0x01192000 }, - { d_course_luigi_raceway_packed_dl_7248, 0x011A2000 }, - { d_course_luigi_raceway_packed_dl_72F0, 0x011B2000 }, - { d_course_luigi_raceway_packed_dl_7398, 0x011C2000 }, - { d_course_luigi_raceway_packed_dl_7440, 0x011D2000 }, - { d_course_luigi_raceway_packed_dl_74F0, 0x011E2000 }, - { d_course_luigi_raceway_packed_dl_24E0, 0x08010000 }, - { d_course_luigi_raceway_packed_dl_2458, 0x08020000 }, - { d_course_luigi_raceway_packed_dl_23E0, 0x08030000 }, - { d_course_luigi_raceway_packed_dl_2368, 0x08040000 }, - { d_course_luigi_raceway_packed_dl_2560, 0x08050000 }, - { d_course_luigi_raceway_packed_dl_25E8, 0x08060000 }, - { d_course_luigi_raceway_packed_dl_2658, 0x080E0000 }, - { d_course_luigi_raceway_packed_dl_26B8, 0x080F0000 }, - { d_course_luigi_raceway_packed_dl_22F8, 0x08100000 }, - { d_course_luigi_raceway_packed_dl_20C0, 0x08150000 }, - { d_course_luigi_raceway_packed_dl_2050, 0x08160000 }, - { d_course_luigi_raceway_packed_dl_1FF0, 0x08170000 }, - { d_course_luigi_raceway_packed_dl_1F90, 0x081D0000 }, - { d_course_luigi_raceway_packed_dl_2130, 0x081E0000 }, - { d_course_luigi_raceway_packed_dl_21A8, 0x08050000 }, - { d_course_luigi_raceway_packed_dl_2210, 0x08060000 }, - { d_course_luigi_raceway_packed_dl_2280, 0x08070000 }, - { d_course_luigi_raceway_packed_dl_2720, 0x08080000 }, - { d_course_luigi_raceway_packed_dl_2D30, 0x08090000 }, - { d_course_luigi_raceway_packed_dl_2CB8, 0x080A0000 }, - { d_course_luigi_raceway_packed_dl_2C40, 0x080B0000 }, - { d_course_luigi_raceway_packed_dl_2BC8, 0x080C0000 }, - { d_course_luigi_raceway_packed_dl_2DA8, 0x080D0000 }, - { d_course_luigi_raceway_packed_dl_2E20, 0x080E0000 }, - { d_course_luigi_raceway_packed_dl_2E90, 0x080F0000 }, - { d_course_luigi_raceway_packed_dl_2EF8, 0x08100000 }, - { d_course_luigi_raceway_packed_dl_2B58, 0x081E0000 }, - { d_course_luigi_raceway_packed_dl_2900, 0x08160000 }, - { d_course_luigi_raceway_packed_dl_2888, 0x08170000 }, - { d_course_luigi_raceway_packed_dl_2810, 0x08180000 }, - { d_course_luigi_raceway_packed_dl_2798, 0x08190000 }, - { d_course_luigi_raceway_packed_dl_2978, 0x081A0000 }, - { d_course_luigi_raceway_packed_dl_29F0, 0x081B0000 }, - { d_course_luigi_raceway_packed_dl_2A68, 0x081C0000 }, - { d_course_luigi_raceway_packed_dl_2AE0, 0x081D0000 }, - { d_course_luigi_raceway_packed_dl_33C8, 0x07010000 }, - { d_course_luigi_raceway_packed_dl_3448, 0x07020000 }, - { d_course_luigi_raceway_packed_dl_34C8, 0x07030000 }, - { d_course_luigi_raceway_packed_dl_3548, 0x07040000 }, - { d_course_luigi_raceway_packed_dl_35D0, 0x07050000 }, - { d_course_luigi_raceway_packed_dl_3678, 0x07060000 }, - { d_course_luigi_raceway_packed_dl_3350, 0x07070000 }, - { d_course_luigi_raceway_packed_dl_3080, 0x07080000 }, - { d_course_luigi_raceway_packed_dl_30F8, 0x07090000 }, - { d_course_luigi_raceway_packed_dl_3170, 0x070A0000 }, - { d_course_luigi_raceway_packed_dl_31E8, 0x070B0000 }, - { d_course_luigi_raceway_packed_dl_3260, 0x070C0000 }, - { d_course_luigi_raceway_packed_dl_32D8, 0x070D0000 }, - { d_course_luigi_raceway_packed_dl_36F8, 0x070E0000 }, - { d_course_luigi_raceway_packed_dl_3AD0, 0x070F0000 }, - { d_course_luigi_raceway_packed_dl_3B38, 0x07100000 }, - { d_course_luigi_raceway_packed_dl_3BD0, 0x07110000 }, - { d_course_luigi_raceway_packed_dl_3C40, 0x07150000 }, - { d_course_luigi_raceway_packed_dl_3CF0, 0x07160000 }, - { d_course_luigi_raceway_packed_dl_3D60, 0x07170000 }, - { d_course_luigi_raceway_packed_dl_3A58, 0x07180000 }, - { d_course_luigi_raceway_packed_dl_3768, 0x07190000 }, - { d_course_luigi_raceway_packed_dl_37E0, 0x071A0000 }, - { d_course_luigi_raceway_packed_dl_3858, 0x071B0000 }, - { d_course_luigi_raceway_packed_dl_38D0, 0x071C0000 }, - { d_course_luigi_raceway_packed_dl_3948, 0x071D0000 }, - { d_course_luigi_raceway_packed_dl_39C8, 0x071E0000 }, - { d_course_luigi_raceway_packed_dl_1AC8, 0x080E0000 }, - { d_course_luigi_raceway_packed_dl_1A28, 0x080F0000 }, - { d_course_luigi_raceway_packed_dl_1988, 0x08100000 }, - { d_course_luigi_raceway_packed_dl_1920, 0x08FF0000 }, - { d_course_luigi_raceway_packed_dl_1D68, 0x08100000 }, - { d_course_luigi_raceway_packed_dl_17E0, 0x08FF0000 }, - { d_course_luigi_raceway_packed_dl_1B28, 0x08150000 }, - { d_course_luigi_raceway_packed_dl_1BD8, 0x08150000 }, - { d_course_luigi_raceway_packed_dl_1E70, 0x08160000 }, - { d_course_luigi_raceway_packed_dl_1E10, 0x08170000 }, - { d_course_luigi_raceway_packed_dl_1D00, 0x08FF0000 }, - { d_course_luigi_raceway_packed_dl_1C90, 0x08FF0000 }, - { d_course_luigi_raceway_packed_dl_7EB8, 0xFFFF0000 }, - { d_course_luigi_raceway_packed_dl_6558, 0xFFFF0000 }, - { d_course_luigi_raceway_packed_dl_4518, 0xFFFF0000 }, - { d_course_luigi_raceway_packed_dl_A98, 0xFFFF0000 }, - { d_course_luigi_raceway_packed_dl_1730, 0xFFFF0000 }, - { d_course_luigi_raceway_packed_dl_4860, 0xFFFF0000 }, - { d_course_luigi_raceway_packed_dl_8200, 0xFFFF0000 }, - { d_course_luigi_raceway_packed_dl_4EE8, 0xFFFF0000 }, - { 0x00000000, 0x00000000 }, +TrackSections d_course_luigi_raceway_addr[] = { + { d_course_luigi_raceway_packed_dl_6B00, 1, 1, 0x2000 }, + { d_course_luigi_raceway_packed_dl_6BF0, 1, 2, 0x2000 }, + { d_course_luigi_raceway_packed_dl_6CA8, 1, 3, 0x2000 }, + { d_course_luigi_raceway_packed_dl_6D60, 1, 4, 0x2000 }, + { d_course_luigi_raceway_packed_dl_6E18, 1, 5, 0x2000 }, + { d_course_luigi_raceway_packed_dl_6EF0, 1, 6, 0x2000 }, + { d_course_luigi_raceway_packed_dl_6FA8, 1, 7, 0x2000 }, + { d_course_luigi_raceway_packed_dl_6A58, 1, 8, 0x2000 }, + { d_course_luigi_raceway_packed_dl_65D8, 1, 9, 0x2000 }, + { d_course_luigi_raceway_packed_dl_6680, 1, 10, 0x2000 }, + { d_course_luigi_raceway_packed_dl_6728, 1, 11, 0x2000 }, + { d_course_luigi_raceway_packed_dl_67D0, 1, 12, 0x2000 }, + { d_course_luigi_raceway_packed_dl_6878, 1, 13, 0x2000 }, + { d_course_luigi_raceway_packed_dl_6920, 1, 14, 0x2000 }, + { d_course_luigi_raceway_packed_dl_69C0, 1, 15, 0x2000 }, + { d_course_luigi_raceway_packed_dl_7050, 1, 16, 0x2000 }, + { d_course_luigi_raceway_packed_dl_7650, 1, 17, 0x2000 }, + { d_course_luigi_raceway_packed_dl_76F8, 1, 18, 0x2000 }, + { d_course_luigi_raceway_packed_dl_77B0, 1, 19, 0x2000 }, + { d_course_luigi_raceway_packed_dl_7878, 1, 20, 0x2000 }, + { d_course_luigi_raceway_packed_dl_7940, 1, 21, 0x2000 }, + { d_course_luigi_raceway_packed_dl_79E8, 1, 22, 0x2000 }, + { d_course_luigi_raceway_packed_dl_75A8, 1, 23, 0x2000 }, + { d_course_luigi_raceway_packed_dl_70F8, 1, 24, 0x2000 }, + { d_course_luigi_raceway_packed_dl_71A0, 1, 25, 0x2000 }, + { d_course_luigi_raceway_packed_dl_7248, 1, 26, 0x2000 }, + { d_course_luigi_raceway_packed_dl_72F0, 1, 27, 0x2000 }, + { d_course_luigi_raceway_packed_dl_7398, 1, 28, 0x2000 }, + { d_course_luigi_raceway_packed_dl_7440, 1, 29, 0x2000 }, + { d_course_luigi_raceway_packed_dl_74F0, 1, 30, 0x2000 }, + { d_course_luigi_raceway_packed_dl_24E0, 8, 1, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2458, 8, 2, 0x0000 }, + { d_course_luigi_raceway_packed_dl_23E0, 8, 3, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2368, 8, 4, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2560, 8, 5, 0x0000 }, + { d_course_luigi_raceway_packed_dl_25E8, 8, 6, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2658, 8, 14, 0x0000 }, + { d_course_luigi_raceway_packed_dl_26B8, 8, 15, 0x0000 }, + { d_course_luigi_raceway_packed_dl_22F8, 8, 16, 0x0000 }, + { d_course_luigi_raceway_packed_dl_20C0, 8, 21, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2050, 8, 22, 0x0000 }, + { d_course_luigi_raceway_packed_dl_1FF0, 8, 23, 0x0000 }, + { d_course_luigi_raceway_packed_dl_1F90, 8, 29, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2130, 8, 30, 0x0000 }, + { d_course_luigi_raceway_packed_dl_21A8, 8, 5, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2210, 8, 6, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2280, 8, 7, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2720, 8, 8, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2D30, 8, 9, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2CB8, 8, 10, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2C40, 8, 11, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2BC8, 8, 12, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2DA8, 8, 13, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2E20, 8, 14, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2E90, 8, 15, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2EF8, 8, 16, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2B58, 8, 30, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2900, 8, 22, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2888, 8, 23, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2810, 8, 24, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2798, 8, 25, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2978, 8, 26, 0x0000 }, + { d_course_luigi_raceway_packed_dl_29F0, 8, 27, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2A68, 8, 28, 0x0000 }, + { d_course_luigi_raceway_packed_dl_2AE0, 8, 29, 0x0000 }, + { d_course_luigi_raceway_packed_dl_33C8, 7, 1, 0x0000 }, + { d_course_luigi_raceway_packed_dl_3448, 7, 2, 0x0000 }, + { d_course_luigi_raceway_packed_dl_34C8, 7, 3, 0x0000 }, + { d_course_luigi_raceway_packed_dl_3548, 7, 4, 0x0000 }, + { d_course_luigi_raceway_packed_dl_35D0, 7, 5, 0x0000 }, + { d_course_luigi_raceway_packed_dl_3678, 7, 6, 0x0000 }, + { d_course_luigi_raceway_packed_dl_3350, 7, 7, 0x0000 }, + { d_course_luigi_raceway_packed_dl_3080, 7, 8, 0x0000 }, + { d_course_luigi_raceway_packed_dl_30F8, 7, 9, 0x0000 }, + { d_course_luigi_raceway_packed_dl_3170, 7, 10, 0x0000 }, + { d_course_luigi_raceway_packed_dl_31E8, 7, 11, 0x0000 }, + { d_course_luigi_raceway_packed_dl_3260, 7, 12, 0x0000 }, + { d_course_luigi_raceway_packed_dl_32D8, 7, 13, 0x0000 }, + { d_course_luigi_raceway_packed_dl_36F8, 7, 14, 0x0000 }, + { d_course_luigi_raceway_packed_dl_3AD0, 7, 15, 0x0000 }, + { d_course_luigi_raceway_packed_dl_3B38, 7, 16, 0x0000 }, + { d_course_luigi_raceway_packed_dl_3BD0, 7, 17, 0x0000 }, + { d_course_luigi_raceway_packed_dl_3C40, 7, 21, 0x0000 }, + { d_course_luigi_raceway_packed_dl_3CF0, 7, 22, 0x0000 }, + { d_course_luigi_raceway_packed_dl_3D60, 7, 23, 0x0000 }, + { d_course_luigi_raceway_packed_dl_3A58, 7, 24, 0x0000 }, + { d_course_luigi_raceway_packed_dl_3768, 7, 25, 0x0000 }, + { d_course_luigi_raceway_packed_dl_37E0, 7, 26, 0x0000 }, + { d_course_luigi_raceway_packed_dl_3858, 7, 27, 0x0000 }, + { d_course_luigi_raceway_packed_dl_38D0, 7, 28, 0x0000 }, + { d_course_luigi_raceway_packed_dl_3948, 7, 29, 0x0000 }, + { d_course_luigi_raceway_packed_dl_39C8, 7, 30, 0x0000 }, + { d_course_luigi_raceway_packed_dl_1AC8, 8, 14, 0x0000 }, + { d_course_luigi_raceway_packed_dl_1A28, 8, 15, 0x0000 }, + { d_course_luigi_raceway_packed_dl_1988, 8, 16, 0x0000 }, + { d_course_luigi_raceway_packed_dl_1920, 8, 255, 0x0000 }, + { d_course_luigi_raceway_packed_dl_1D68, 8, 16, 0x0000 }, + { d_course_luigi_raceway_packed_dl_17E0, 8, 255, 0x0000 }, + { d_course_luigi_raceway_packed_dl_1B28, 8, 21, 0x0000 }, + { d_course_luigi_raceway_packed_dl_1BD8, 8, 21, 0x0000 }, + { d_course_luigi_raceway_packed_dl_1E70, 8, 22, 0x0000 }, + { d_course_luigi_raceway_packed_dl_1E10, 8, 23, 0x0000 }, + { d_course_luigi_raceway_packed_dl_1D00, 8, 255, 0x0000 }, + { d_course_luigi_raceway_packed_dl_1C90, 8, 255, 0x0000 }, + { d_course_luigi_raceway_packed_dl_7EB8, 0xFF, 0xFF, 0x0000 }, + { d_course_luigi_raceway_packed_dl_6558, 0xFF, 0xFF, 0x0000 }, + { d_course_luigi_raceway_packed_dl_4518, 0xFF, 0xFF, 0x0000 }, + { d_course_luigi_raceway_packed_dl_A98, 0xFF, 0xFF, 0x0000 }, + { d_course_luigi_raceway_packed_dl_1730, 0xFF, 0xFF, 0x0000 }, + { d_course_luigi_raceway_packed_dl_4860, 0xFF, 0xFF, 0x0000 }, + { d_course_luigi_raceway_packed_dl_8200, 0xFF, 0xFF, 0x0000 }, + { d_course_luigi_raceway_packed_dl_4EE8, 0xFF, 0xFF, 0x0000 }, + { 0x00000000, 0, 0, 0x0000 }, }; diff --git a/courses/mushroom_cup/moo_moo_farm/course_data.inc.c b/courses/mushroom_cup/moo_moo_farm/course_data.inc.c index e7c7e4cc0..5c8172e63 100644 --- a/courses/mushroom_cup/moo_moo_farm/course_data.inc.c +++ b/courses/mushroom_cup/moo_moo_farm/course_data.inc.c @@ -8873,82 +8873,83 @@ struct ActorSpawnData d_course_moo_moo_farm_item_box_spawns[] = { }; // 0x144B8 -struct CourseAddrUnkStruct d_course_moo_moo_farm_addr[] = { - { d_course_moo_moo_farm_packed_dl_39F8, 0x02010000 }, - { d_course_moo_moo_farm_packed_dl_3B88, 0x02020000 }, - { d_course_moo_moo_farm_packed_dl_3C48, 0x02030000 }, - { d_course_moo_moo_farm_packed_dl_3D50, 0x02040000 }, - { d_course_moo_moo_farm_packed_dl_3E50, 0x02050000 }, - { d_course_moo_moo_farm_packed_dl_3918, 0x02060000 }, - { d_course_moo_moo_farm_packed_dl_34B8, 0x02070000 }, - { d_course_moo_moo_farm_packed_dl_3590, 0x02080000 }, - { d_course_moo_moo_farm_packed_dl_3668, 0x02090000 }, - { d_course_moo_moo_farm_packed_dl_3748, 0x020A0000 }, - { d_course_moo_moo_farm_packed_dl_3828, 0x020B0000 }, - { d_course_moo_moo_farm_packed_dl_3F30, 0x020C0000 }, - { d_course_moo_moo_farm_packed_dl_46E8, 0x020D0000 }, - { d_course_moo_moo_farm_packed_dl_47C8, 0x020E0000 }, - { d_course_moo_moo_farm_packed_dl_48B8, 0x020F0000 }, - { d_course_moo_moo_farm_packed_dl_49A8, 0x02100000 }, - { d_course_moo_moo_farm_packed_dl_4A88, 0x02110000 }, - { d_course_moo_moo_farm_packed_dl_45D0, 0x02120000 }, - { d_course_moo_moo_farm_packed_dl_40A8, 0x02130000 }, - { d_course_moo_moo_farm_packed_dl_41B0, 0x02140000 }, - { d_course_moo_moo_farm_packed_dl_42B8, 0x02150000 }, - { d_course_moo_moo_farm_packed_dl_43A0, 0x02160000 }, - { d_course_moo_moo_farm_packed_dl_4480, 0x02170000 }, - { d_course_moo_moo_farm_packed_dl_1BA0, 0x08010000 }, - { d_course_moo_moo_farm_packed_dl_1C40, 0x08020000 }, - { d_course_moo_moo_farm_packed_dl_1C98, 0x08030000 }, - { d_course_moo_moo_farm_packed_dl_1D00, 0x08040000 }, - { d_course_moo_moo_farm_packed_dl_1D60, 0x08050000 }, - { d_course_moo_moo_farm_packed_dl_1DD0, 0x08060000 }, - { d_course_moo_moo_farm_packed_dl_1E58, 0x08070000 }, - { d_course_moo_moo_farm_packed_dl_1B38, 0x08080000 }, - { d_course_moo_moo_farm_packed_dl_18E0, 0x08090000 }, - { d_course_moo_moo_farm_packed_dl_1940, 0x080A0000 }, - { d_course_moo_moo_farm_packed_dl_19A0, 0x080B0000 }, - { d_course_moo_moo_farm_packed_dl_1A00, 0x080C0000 }, - { d_course_moo_moo_farm_packed_dl_1A60, 0x080D0000 }, - { d_course_moo_moo_farm_packed_dl_1AA0, 0x080E0000 }, - { d_course_moo_moo_farm_packed_dl_1AD0, 0x080F0000 }, - { d_course_moo_moo_farm_packed_dl_1ED0, 0x08100000 }, - { d_course_moo_moo_farm_packed_dl_20F8, 0x08110000 }, - { d_course_moo_moo_farm_packed_dl_2160, 0x08120000 }, - { d_course_moo_moo_farm_packed_dl_21D8, 0x08130000 }, - { d_course_moo_moo_farm_packed_dl_2240, 0x08140000 }, - { d_course_moo_moo_farm_packed_dl_22B0, 0x08150000 }, - { d_course_moo_moo_farm_packed_dl_2338, 0x08160000 }, - { d_course_moo_moo_farm_packed_dl_23C0, 0x08170000 }, - { d_course_moo_moo_farm_packed_dl_2C68, 0x08010000 }, - { d_course_moo_moo_farm_packed_dl_2CD8, 0x08020000 }, - { d_course_moo_moo_farm_packed_dl_2D30, 0x08030000 }, - { d_course_moo_moo_farm_packed_dl_2D90, 0x08040000 }, - { d_course_moo_moo_farm_packed_dl_2DF0, 0x08050000 }, - { d_course_moo_moo_farm_packed_dl_2E60, 0x08060000 }, - { d_course_moo_moo_farm_packed_dl_2EA0, 0x08070000 }, - { d_course_moo_moo_farm_packed_dl_2C10, 0x08080000 }, - { d_course_moo_moo_farm_packed_dl_2998, 0x08090000 }, - { d_course_moo_moo_farm_packed_dl_29F0, 0x080A0000 }, - { d_course_moo_moo_farm_packed_dl_2A50, 0x080B0000 }, - { d_course_moo_moo_farm_packed_dl_2AB8, 0x080C0000 }, - { d_course_moo_moo_farm_packed_dl_2AF0, 0x080D0000 }, - { d_course_moo_moo_farm_packed_dl_2B50, 0x080E0000 }, - { d_course_moo_moo_farm_packed_dl_2BA8, 0x080F0000 }, - { d_course_moo_moo_farm_packed_dl_2F10, 0x08100000 }, - { d_course_moo_moo_farm_packed_dl_3210, 0x08110000 }, - { d_course_moo_moo_farm_packed_dl_3268, 0x08120000 }, - { d_course_moo_moo_farm_packed_dl_32A0, 0x08130000 }, - { d_course_moo_moo_farm_packed_dl_3310, 0x08140000 }, - { d_course_moo_moo_farm_packed_dl_3350, 0x08150000 }, - { d_course_moo_moo_farm_packed_dl_3380, 0x08160000 }, - { d_course_moo_moo_farm_packed_dl_31C8, 0x08170000 }, - { d_course_moo_moo_farm_packed_dl_5290, 0xFFFF0000 }, - { d_course_moo_moo_farm_packed_dl_5018, 0xFFFF0000 }, - { d_course_moo_moo_farm_packed_dl_A80, 0xFFFF0000 }, - { d_course_moo_moo_farm_packed_dl_4D0, 0xFFFF0000 }, - { d_course_moo_moo_farm_packed_dl_4DF8, 0xFFFF0000 }, - { d_course_moo_moo_farm_packed_dl_CB0, 0xFFFF0000 }, - { d_course_moo_moo_farm_packed_dl_F20, 0xFFFF0000 }, - { 0x00000000, 0x00000000 }, +TrackSections d_course_moo_moo_farm_addr[] = { + { d_course_moo_moo_farm_packed_dl_39F8, 2, 1, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_3B88, 2, 2, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_3C48, 2, 3, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_3D50, 2, 4, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_3E50, 2, 5, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_3918, 2, 6, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_34B8, 2, 7, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_3590, 2, 8, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_3668, 2, 9, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_3748, 2, 10, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_3828, 2, 11, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_3F30, 2, 12, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_46E8, 2, 13, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_47C8, 2, 14, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_48B8, 2, 15, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_49A8, 2, 16, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_4A88, 2, 17, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_45D0, 2, 18, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_40A8, 2, 19, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_41B0, 2, 20, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_42B8, 2, 21, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_43A0, 2, 22, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_4480, 2, 23, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_1BA0, 8, 1, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_1C40, 8, 2, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_1C98, 8, 3, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_1D00, 8, 4, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_1D60, 8, 5, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_1DD0, 8, 6, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_1E58, 8, 7, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_1B38, 8, 8, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_18E0, 8, 9, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_1940, 8, 10, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_19A0, 8, 11, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_1A00, 8, 12, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_1A60, 8, 13, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_1AA0, 8, 14, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_1AD0, 8, 15, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_1ED0, 8, 16, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_20F8, 8, 17, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_2160, 8, 18, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_21D8, 8, 19, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_2240, 8, 20, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_22B0, 8, 21, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_2338, 8, 22, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_23C0, 8, 23, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_2C68, 8, 1, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_2CD8, 8, 2, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_2D30, 8, 3, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_2D90, 8, 4, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_2DF0, 8, 5, 0x0000 }, + + { d_course_moo_moo_farm_packed_dl_2E60, 8, 6, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_2EA0, 8, 7, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_2C10, 8, 8, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_2998, 8, 9, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_29F0, 8, 10, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_2A50, 8, 11, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_2AB8, 8, 12, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_2AF0, 8, 13, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_2B50, 8, 14, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_2BA8, 8, 15, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_2F10, 8, 16, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_3210, 8, 17, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_3268, 8, 18, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_32A0, 8, 19, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_3310, 8, 20, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_3350, 8, 21, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_3380, 8, 22, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_31C8, 8, 23, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_5290, 255, 255, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_5018, 255, 255, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_A80, 255, 255, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_4D0, 255, 255, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_4DF8, 255, 255, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_CB0, 255, 255, 0x0000 }, + { d_course_moo_moo_farm_packed_dl_F20, 255, 255, 0x0000 }, + { 0x00000000, 0, 0, 0x0000 }, }; diff --git a/courses/special_cup/banshee_boardwalk/course_data.inc.c b/courses/special_cup/banshee_boardwalk/course_data.inc.c index dd907b236..e840f1ec9 100644 --- a/courses/special_cup/banshee_boardwalk/course_data.inc.c +++ b/courses/special_cup/banshee_boardwalk/course_data.inc.c @@ -4121,54 +4121,54 @@ struct ActorSpawnData d_course_banshee_boardwalk_item_box_spawns[] = { }; // 0xB458 -struct CourseAddrUnkStruct d_course_banshee_boardwalk_addr[] = { - { d_course_banshee_boardwalk_packed_dl_1DA0, 0x04FF0000 }, - { d_course_banshee_boardwalk_packed_dl_5498, 0x04FF0000 }, - { d_course_banshee_boardwalk_packed_dl_27D0, 0x06012000 }, - { d_course_banshee_boardwalk_packed_dl_28D0, 0x06022000 }, - { d_course_banshee_boardwalk_packed_dl_29A0, 0x06032000 }, - { d_course_banshee_boardwalk_packed_dl_2A70, 0x06042000 }, - { d_course_banshee_boardwalk_packed_dl_26E8, 0x06052000 }, - { d_course_banshee_boardwalk_packed_dl_22C8, 0x06062000 }, - { d_course_banshee_boardwalk_packed_dl_2398, 0x06072000 }, - { d_course_banshee_boardwalk_packed_dl_2440, 0x06082000 }, - { d_course_banshee_boardwalk_packed_dl_2520, 0x06092000 }, - { d_course_banshee_boardwalk_packed_dl_2608, 0x060A2000 }, - { d_course_banshee_boardwalk_packed_dl_2B78, 0x060B2000 }, - { d_course_banshee_boardwalk_packed_dl_3240, 0x060C2000 }, - { d_course_banshee_boardwalk_packed_dl_3310, 0x060D2000 }, - { d_course_banshee_boardwalk_packed_dl_33C8, 0x060E2000 }, - { d_course_banshee_boardwalk_packed_dl_34A0, 0x060F2000 }, - { d_course_banshee_boardwalk_packed_dl_1830, 0x06102000 }, - { d_course_banshee_boardwalk_packed_dl_18E0, 0x06112000 }, - { d_course_banshee_boardwalk_packed_dl_1968, 0x06122000 }, - { d_course_banshee_boardwalk_packed_dl_1A00, 0x06132000 }, - { d_course_banshee_boardwalk_packed_dl_30F0, 0x06142000 }, - { d_course_banshee_boardwalk_packed_dl_2C20, 0x06152000 }, - { d_course_banshee_boardwalk_packed_dl_2D40, 0x06162000 }, - { d_course_banshee_boardwalk_packed_dl_2E40, 0x06172000 }, - { d_course_banshee_boardwalk_packed_dl_2F38, 0x06182000 }, - { d_course_banshee_boardwalk_packed_dl_3020, 0x06192000 }, - { d_course_banshee_boardwalk_packed_dl_3930, 0x04FF8000 }, - { d_course_banshee_boardwalk_packed_dl_3AA0, 0x04FF8000 }, - { d_course_banshee_boardwalk_packed_dl_3BA0, 0x04FF8000 }, - { d_course_banshee_boardwalk_packed_dl_3C40, 0x04FF8000 }, - { d_course_banshee_boardwalk_packed_dl_3830, 0x04FF8000 }, - { d_course_banshee_boardwalk_packed_dl_3638, 0x04FF8000 }, - { d_course_banshee_boardwalk_packed_dl_36C8, 0x04FF8000 }, - { d_course_banshee_boardwalk_packed_dl_3740, 0x04FF8000 }, - { d_course_banshee_boardwalk_packed_dl_37C0, 0x04FF8000 }, - { d_course_banshee_boardwalk_packed_dl_3D08, 0x04FF8000 }, - { d_course_banshee_boardwalk_packed_dl_40D0, 0x04FF8000 }, - { d_course_banshee_boardwalk_packed_dl_4070, 0x04FF8000 }, - { d_course_banshee_boardwalk_packed_dl_4008, 0x04FF8000 }, - { d_course_banshee_boardwalk_packed_dl_3F78, 0x04FF8000 }, - { d_course_banshee_boardwalk_packed_dl_3D90, 0x04FF8000 }, - { d_course_banshee_boardwalk_packed_dl_3E10, 0x04FF8000 }, - { d_course_banshee_boardwalk_packed_dl_3E88, 0x04FF8000 }, - { d_course_banshee_boardwalk_packed_dl_3F00, 0x04FF8000 }, - { d_course_banshee_boardwalk_packed_dl_60, 0xFFFF8000 }, - { d_course_banshee_boardwalk_packed_dl_1CF8, 0x04FF8000 }, - { d_course_banshee_boardwalk_packed_dl_1748, 0x06FF8000 }, - { 0x00000000, 0x00000000 }, +TrackSections d_course_banshee_boardwalk_addr[] = { + { d_course_banshee_boardwalk_packed_dl_1DA0, 4, 255, 0x0000 }, + { d_course_banshee_boardwalk_packed_dl_5498, 4, 255, 0x0000 }, + { d_course_banshee_boardwalk_packed_dl_27D0, 6, 1, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_28D0, 6, 2, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_29A0, 6, 3, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_2A70, 6, 4, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_26E8, 6, 5, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_22C8, 6, 6, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_2398, 6, 7, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_2440, 6, 8, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_2520, 6, 9, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_2608, 6, 10, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_2B78, 6, 11, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_3240, 6, 12, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_3310, 6, 13, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_33C8, 6, 14, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_34A0, 6, 15, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_1830, 6, 16, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_18E0, 6, 17, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_1968, 6, 18, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_1A00, 6, 19, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_30F0, 6, 20, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_2C20, 6, 21, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_2D40, 6, 22, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_2E40, 6, 23, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_2F38, 6, 24, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_3020, 6, 25, 0x2000 }, + { d_course_banshee_boardwalk_packed_dl_3930, 4, 255, 0x8000 }, + { d_course_banshee_boardwalk_packed_dl_3AA0, 4, 255, 0x8000 }, + { d_course_banshee_boardwalk_packed_dl_3BA0, 4, 255, 0x8000 }, + { d_course_banshee_boardwalk_packed_dl_3C40, 4, 255, 0x8000 }, + { d_course_banshee_boardwalk_packed_dl_3830, 4, 255, 0x8000 }, + { d_course_banshee_boardwalk_packed_dl_3638, 4, 255, 0x8000 }, + { d_course_banshee_boardwalk_packed_dl_36C8, 4, 255, 0x8000 }, + { d_course_banshee_boardwalk_packed_dl_3740, 4, 255, 0x8000 }, + { d_course_banshee_boardwalk_packed_dl_37C0, 4, 255, 0x8000 }, + { d_course_banshee_boardwalk_packed_dl_3D08, 4, 255, 0x8000 }, + { d_course_banshee_boardwalk_packed_dl_40D0, 4, 255, 0x8000 }, + { d_course_banshee_boardwalk_packed_dl_4070, 4, 255, 0x8000 }, + { d_course_banshee_boardwalk_packed_dl_4008, 4, 255, 0x8000 }, + { d_course_banshee_boardwalk_packed_dl_3F78, 4, 255, 0x8000 }, + { d_course_banshee_boardwalk_packed_dl_3D90, 4, 255, 0x8000 }, + { d_course_banshee_boardwalk_packed_dl_3E10, 4, 255, 0x8000 }, + { d_course_banshee_boardwalk_packed_dl_3E88, 4, 255, 0x8000 }, + { d_course_banshee_boardwalk_packed_dl_3F00, 4, 255, 0x8000 }, + { d_course_banshee_boardwalk_packed_dl_60, 255, 255, 0x8000 }, + { d_course_banshee_boardwalk_packed_dl_1CF8, 4, 255, 0x8000 }, + { d_course_banshee_boardwalk_packed_dl_1748, 6, 255, 0x8000 }, + { 0x00000000, 0, 0, 0x0000 }, }; diff --git a/courses/special_cup/dks_jungle_parkway/course_data.inc.c b/courses/special_cup/dks_jungle_parkway/course_data.inc.c index fe2ffdecd..58c7312c7 100644 --- a/courses/special_cup/dks_jungle_parkway/course_data.inc.c +++ b/courses/special_cup/dks_jungle_parkway/course_data.inc.c @@ -6227,120 +6227,120 @@ struct UnkActorSpawnData d_course_dks_jungle_parkway_tree_spawn[] = { }; // 0x14338 -struct CourseAddrUnkStruct d_course_dks_jungle_parkway_addr[] = { - { d_course_dks_jungle_parkway_packed_dl_7DA0, 0x02010000 }, - { d_course_dks_jungle_parkway_packed_dl_7E50, 0x02020000 }, - { d_course_dks_jungle_parkway_packed_dl_7F58, 0x02030000 }, - { d_course_dks_jungle_parkway_packed_dl_7FC8, 0x02040000 }, - { d_course_dks_jungle_parkway_packed_dl_80A0, 0x02050000 }, - { d_course_dks_jungle_parkway_packed_dl_7C78, 0x02060000 }, - { d_course_dks_jungle_parkway_packed_dl_7538, 0x02070000 }, - { d_course_dks_jungle_parkway_packed_dl_76A0, 0x02080000 }, - { d_course_dks_jungle_parkway_packed_dl_77E8, 0x02090000 }, - { d_course_dks_jungle_parkway_packed_dl_9988, 0x06090000 }, - { d_course_dks_jungle_parkway_packed_dl_98E0, 0xFC090000 }, - { d_course_dks_jungle_parkway_packed_dl_9B98, 0xFD090000 }, - { d_course_dks_jungle_parkway_packed_dl_7920, 0x020A0000 }, - { d_course_dks_jungle_parkway_packed_dl_7A88, 0x020B0000 }, - { d_course_dks_jungle_parkway_packed_dl_7B10, 0x020C0000 }, - { d_course_dks_jungle_parkway_packed_dl_8140, 0x020D0000 }, - { d_course_dks_jungle_parkway_packed_dl_89B0, 0x020E0000 }, - { d_course_dks_jungle_parkway_packed_dl_8A40, 0x020F0000 }, - { d_course_dks_jungle_parkway_packed_dl_8BA8, 0x02100000 }, - { d_course_dks_jungle_parkway_packed_dl_8C60, 0x02110000 }, - { d_course_dks_jungle_parkway_packed_dl_8E78, 0x02120000 }, - { d_course_dks_jungle_parkway_packed_dl_8800, 0x02130000 }, - { d_course_dks_jungle_parkway_packed_dl_8358, 0x02140000 }, - { d_course_dks_jungle_parkway_packed_dl_8458, 0x02150000 }, - { d_course_dks_jungle_parkway_packed_dl_3130, 0x10150000 }, - { d_course_dks_jungle_parkway_packed_dl_30C0, 0x10150000 }, - { d_course_dks_jungle_parkway_packed_dl_3058, 0x10160000 }, - { d_course_dks_jungle_parkway_packed_dl_85A0, 0x0F170000 }, - { d_course_dks_jungle_parkway_packed_dl_8648, 0x0F180000 }, - { d_course_dks_jungle_parkway_packed_dl_86B0, 0x0F190000 }, - { d_course_dks_jungle_parkway_packed_dl_8760, 0x0F1A0000 }, - { d_course_dks_jungle_parkway_packed_dl_5B50, 0x08010000 }, - { d_course_dks_jungle_parkway_packed_dl_5AB0, 0x08020000 }, - { d_course_dks_jungle_parkway_packed_dl_5A50, 0x08030000 }, - { d_course_dks_jungle_parkway_packed_dl_59E0, 0x08040000 }, - { d_course_dks_jungle_parkway_packed_dl_5BE0, 0x08050000 }, - { d_course_dks_jungle_parkway_packed_dl_5C68, 0x08060000 }, - { d_course_dks_jungle_parkway_packed_dl_5D68, 0x08070000 }, - { d_course_dks_jungle_parkway_packed_dl_5DF0, 0x08080000 }, - { d_course_dks_jungle_parkway_packed_dl_56B8, 0x080A0000 }, - { d_course_dks_jungle_parkway_packed_dl_5648, 0x080B0000 }, - { d_course_dks_jungle_parkway_packed_dl_55D8, 0x080C0000 }, - { d_course_dks_jungle_parkway_packed_dl_5558, 0x080C0000 }, - { d_course_dks_jungle_parkway_packed_dl_5768, 0x080D0000 }, - { d_course_dks_jungle_parkway_packed_dl_5800, 0x080D0000 }, - { d_course_dks_jungle_parkway_packed_dl_5890, 0x080E0000 }, - { d_course_dks_jungle_parkway_packed_dl_58F8, 0x080F0000 }, - { d_course_dks_jungle_parkway_packed_dl_5E70, 0x080F0000 }, - { d_course_dks_jungle_parkway_packed_dl_64C0, 0x08100000 }, - { d_course_dks_jungle_parkway_packed_dl_6530, 0x08110000 }, - { d_course_dks_jungle_parkway_packed_dl_65A8, 0x08110000 }, - { d_course_dks_jungle_parkway_packed_dl_6620, 0x08110000 }, - { d_course_dks_jungle_parkway_packed_dl_66B0, 0x08110000 }, - { d_course_dks_jungle_parkway_packed_dl_6728, 0x08120000 }, - { d_course_dks_jungle_parkway_packed_dl_6798, 0x08130000 }, - { d_course_dks_jungle_parkway_packed_dl_6430, 0x08130000 }, - { d_course_dks_jungle_parkway_packed_dl_6008, 0x08140000 }, - { d_course_dks_jungle_parkway_packed_dl_5F80, 0x08140000 }, - { d_course_dks_jungle_parkway_packed_dl_5EF0, 0x08150000 }, - { d_course_dks_jungle_parkway_packed_dl_6098, 0x08150000 }, - { d_course_dks_jungle_parkway_packed_dl_6100, 0x08150000 }, - { d_course_dks_jungle_parkway_packed_dl_6240, 0x08010000 }, - { d_course_dks_jungle_parkway_packed_dl_6368, 0x08010000 }, - { d_course_dks_jungle_parkway_packed_dl_3FD0, 0x0F170000 }, - { d_course_dks_jungle_parkway_packed_dl_4230, 0x0F180000 }, - { d_course_dks_jungle_parkway_packed_dl_4300, 0x0F190000 }, - { d_course_dks_jungle_parkway_packed_dl_4548, 0x0F1A0000 }, - { d_course_dks_jungle_parkway_packed_dl_9250, 0x11FF0000 }, - { d_course_dks_jungle_parkway_packed_dl_54D8, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_3AD0, 0xFFFF8000 }, - { d_course_dks_jungle_parkway_packed_dl_32A0, 0x10FF0000 }, - { d_course_dks_jungle_parkway_packed_dl_2E28, 0xFFFF4000 }, - { d_course_dks_jungle_parkway_packed_dl_2DC8, 0xFFFF4000 }, - { d_course_dks_jungle_parkway_packed_dl_2D60, 0xFFFF4000 }, - { d_course_dks_jungle_parkway_packed_dl_2D00, 0xFFFF4000 }, - { d_course_dks_jungle_parkway_packed_dl_2510, 0xFFFF4000 }, - { d_course_dks_jungle_parkway_packed_dl_24B0, 0xFFFF4000 }, - { d_course_dks_jungle_parkway_packed_dl_2450, 0xFFFF4000 }, - { d_course_dks_jungle_parkway_packed_dl_23F0, 0xFFFF4000 }, - { d_course_dks_jungle_parkway_packed_dl_21C0, 0xFFFF4000 }, - { d_course_dks_jungle_parkway_packed_dl_2160, 0xFFFF4000 }, - { d_course_dks_jungle_parkway_packed_dl_2100, 0xFFFF4000 }, - { d_course_dks_jungle_parkway_packed_dl_20A0, 0xFFFF4000 }, - { d_course_dks_jungle_parkway_packed_dl_2040, 0xFFFF4000 }, - { d_course_dks_jungle_parkway_packed_dl_2B78, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_29F0, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_2890, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_2788, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_2570, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_2378, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_1EB8, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_1C98, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_1B38, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_1970, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_17D0, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_15B0, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_1430, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_12A8, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_1118, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_FD0, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_EC8, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_C90, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_B68, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_A40, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_918, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_7E0, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_6C8, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_520, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_398, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_200, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_0, 0xFFFF0000 }, - { d_course_dks_jungle_parkway_packed_dl_98F0, 0x06FF0000 }, - { d_course_dks_jungle_parkway_packed_dl_37C0, 0xFFFF4000 }, - { d_course_dks_jungle_parkway_packed_dl_3758, 0xFFFF0000 }, - { 0x00000000, 0x00000000 }, +TrackSections d_course_dks_jungle_parkway_addr[] = { + { d_course_dks_jungle_parkway_packed_dl_7DA0, 2, 1, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_7E50, 2, 2, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_7F58, 2, 3, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_7FC8, 2, 4, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_80A0, 2, 5, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_7C78, 2, 6, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_7538, 2, 7, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_76A0, 2, 8, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_77E8, 2, 9, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_9988, 6, 9, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_98E0, 252, 9, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_9B98, 253, 9, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_7920, 2, 10, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_7A88, 2, 11, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_7B10, 2, 12, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_8140, 2, 13, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_89B0, 2, 14, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_8A40, 2, 15, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_8BA8, 2, 16, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_8C60, 2, 17, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_8E78, 2, 18, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_8800, 2, 19, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_8358, 2, 20, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_8458, 2, 21, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_3130, 16, 21, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_30C0, 16, 21, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_3058, 16, 22, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_85A0, 15, 23, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_8648, 15, 24, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_86B0, 15, 25, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_8760, 15, 26, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_5B50, 8, 1, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_5AB0, 8, 2, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_5A50, 8, 3, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_59E0, 8, 4, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_5BE0, 8, 5, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_5C68, 8, 6, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_5D68, 8, 7, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_5DF0, 8, 8, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_56B8, 8, 10, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_5648, 8, 11, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_55D8, 8, 12, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_5558, 8, 12, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_5768, 8, 13, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_5800, 8, 13, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_5890, 8, 14, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_58F8, 8, 15, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_5E70, 8, 15, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_64C0, 8, 16, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_6530, 8, 17, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_65A8, 8, 17, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_6620, 8, 17, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_66B0, 8, 17, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_6728, 8, 18, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_6798, 8, 19, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_6430, 8, 19, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_6008, 8, 20, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_5F80, 8, 20, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_5EF0, 8, 21, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_6098, 8, 21, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_6100, 8, 21, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_6240, 8, 1, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_6368, 8, 1, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_3FD0, 15, 23, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_4230, 15, 24, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_4300, 15, 25, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_4548, 15, 26, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_9250, 17, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_54D8, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_3AD0, 255, 255, 0x8000 }, + { d_course_dks_jungle_parkway_packed_dl_32A0, 16, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_2E28, 255, 255, 0x4000 }, + { d_course_dks_jungle_parkway_packed_dl_2DC8, 255, 255, 0x4000 }, + { d_course_dks_jungle_parkway_packed_dl_2D60, 255, 255, 0x4000 }, + { d_course_dks_jungle_parkway_packed_dl_2D00, 255, 255, 0x4000 }, + { d_course_dks_jungle_parkway_packed_dl_2510, 255, 255, 0x4000 }, + { d_course_dks_jungle_parkway_packed_dl_24B0, 255, 255, 0x4000 }, + { d_course_dks_jungle_parkway_packed_dl_2450, 255, 255, 0x4000 }, + { d_course_dks_jungle_parkway_packed_dl_23F0, 255, 255, 0x4000 }, + { d_course_dks_jungle_parkway_packed_dl_21C0, 255, 255, 0x4000 }, + { d_course_dks_jungle_parkway_packed_dl_2160, 255, 255, 0x4000 }, + { d_course_dks_jungle_parkway_packed_dl_2100, 255, 255, 0x4000 }, + { d_course_dks_jungle_parkway_packed_dl_20A0, 255, 255, 0x4000 }, + { d_course_dks_jungle_parkway_packed_dl_2040, 255, 255, 0x4000 }, + { d_course_dks_jungle_parkway_packed_dl_2B78, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_29F0, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_2890, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_2788, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_2570, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_2378, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_1EB8, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_1C98, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_1B38, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_1970, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_17D0, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_15B0, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_1430, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_12A8, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_1118, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_FD0, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_EC8, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_C90, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_B68, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_A40, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_918, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_7E0, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_6C8, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_520, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_398, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_200, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_0, 255, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_98F0, 6, 255, 0x0000 }, + { d_course_dks_jungle_parkway_packed_dl_37C0, 255, 255, 0x4000 }, + { d_course_dks_jungle_parkway_packed_dl_3758, 255, 255, 0x0000 }, + { 0x00000000, 0, 0, 0x0000 }, }; diff --git a/courses/special_cup/rainbow_road/course_data.inc.c b/courses/special_cup/rainbow_road/course_data.inc.c index 2e6c35421..4b977bfc0 100644 --- a/courses/special_cup/rainbow_road/course_data.inc.c +++ b/courses/special_cup/rainbow_road/course_data.inc.c @@ -3695,22 +3695,22 @@ struct ActorSpawnData d_course_rainbow_road_item_box_spawns[] = { {{ -32768, 0, 0 }, { 0 }}, }; -struct CourseAddrUnkStruct d_course_rainbow_road_addr[] = { - { d_course_rainbow_road_packed_dl_20C0, 0x01FF0000 }, - { d_course_rainbow_road_packed_dl_1850, 0x01010000 }, - { d_course_rainbow_road_packed_dl_1758, 0x01020000 }, - { d_course_rainbow_road_packed_dl_1698, 0x01030000 }, - { d_course_rainbow_road_packed_dl_15F8, 0x01040000 }, - { d_course_rainbow_road_packed_dl_1528, 0x01050000 }, - { d_course_rainbow_road_packed_dl_13A0, 0x01060000 }, - { d_course_rainbow_road_packed_dl_1978, 0x01070000 }, - { d_course_rainbow_road_packed_dl_1D30, 0x01080000 }, - { d_course_rainbow_road_packed_dl_1C70, 0x01090000 }, - { d_course_rainbow_road_packed_dl_1BC0, 0x010A0000 }, - { d_course_rainbow_road_packed_dl_1B28, 0x010B0000 }, - { d_course_rainbow_road_packed_dl_1A20, 0x010C0000 }, - { d_course_rainbow_road_packed_dl_1318, 0xFFFF0000 }, - { 0x00000000, 0x00000000 }, +TrackSections d_course_rainbow_road_addr[] = { + { d_course_rainbow_road_packed_dl_20C0, 1, 255, 0x0000 }, + { d_course_rainbow_road_packed_dl_1850, 1, 1, 0x0000 }, + { d_course_rainbow_road_packed_dl_1758, 1, 2, 0x0000 }, + { d_course_rainbow_road_packed_dl_1698, 1, 3, 0x0000 }, + { d_course_rainbow_road_packed_dl_15F8, 1, 4, 0x0000 }, + { d_course_rainbow_road_packed_dl_1528, 1, 5, 0x0000 }, + { d_course_rainbow_road_packed_dl_13A0, 1, 6, 0x0000 }, + { d_course_rainbow_road_packed_dl_1978, 1, 7, 0x0000 }, + { d_course_rainbow_road_packed_dl_1D30, 1, 8, 0x0000 }, + { d_course_rainbow_road_packed_dl_1C70, 1, 9, 0x0000 }, + { d_course_rainbow_road_packed_dl_1BC0, 1, 10, 0x0000 }, + { d_course_rainbow_road_packed_dl_1B28, 1, 11, 0x0000 }, + { d_course_rainbow_road_packed_dl_1A20, 1, 12, 0x0000 }, + { d_course_rainbow_road_packed_dl_1318, 255, 255, 0x0000 }, + { 0x00000000, 0, 0, 0x0000 }, }; Gfx *d_course_rainbow_road_dl_list[] = { diff --git a/courses/special_cup/yoshi_valley/course_data.inc.c b/courses/special_cup/yoshi_valley/course_data.inc.c index cb5a65f44..31ef03aa6 100644 --- a/courses/special_cup/yoshi_valley/course_data.inc.c +++ b/courses/special_cup/yoshi_valley/course_data.inc.c @@ -11360,61 +11360,61 @@ struct ActorSpawnData d_course_yoshi_valley_item_box_spawns[] = { }; // 0x18240 -struct CourseAddrUnkStruct d_course_yoshi_valley_addr[] = { - { d_course_yoshi_valley_packed_dl_44C8, 0x02010000 }, - { d_course_yoshi_valley_packed_dl_4588, 0x02020000 }, - { d_course_yoshi_valley_packed_dl_45F0, 0x02030000 }, - { d_course_yoshi_valley_packed_dl_4670, 0x02040000 }, - { d_course_yoshi_valley_packed_dl_46E0, 0x02050000 }, - { d_course_yoshi_valley_packed_dl_4810, 0x02060000 }, - { d_course_yoshi_valley_packed_dl_4428, 0x02070000 }, - { d_course_yoshi_valley_packed_dl_3E08, 0x02080000 }, - { d_course_yoshi_valley_packed_dl_3F10, 0x02090000 }, - { d_course_yoshi_valley_packed_dl_3FF0, 0x020A0000 }, - { d_course_yoshi_valley_packed_dl_4108, 0x020B0000 }, - { d_course_yoshi_valley_packed_dl_41B0, 0x020C0000 }, - { d_course_yoshi_valley_packed_dl_4258, 0x020D0000 }, - { d_course_yoshi_valley_packed_dl_4358, 0x020E0000 }, - { d_course_yoshi_valley_packed_dl_4918, 0x020F0000 }, - { d_course_yoshi_valley_packed_dl_4FD0, 0x02100000 }, - { d_course_yoshi_valley_packed_dl_5058, 0x02110000 }, - { d_course_yoshi_valley_packed_dl_1418, 0x11120000 }, - { d_course_yoshi_valley_packed_dl_50E0, 0x02130000 }, - { d_course_yoshi_valley_packed_dl_5158, 0x02140000 }, - { d_course_yoshi_valley_packed_dl_51D8, 0x02150000 }, - { d_course_yoshi_valley_packed_dl_52D8, 0x02160000 }, - { d_course_yoshi_valley_packed_dl_4F48, 0x02170000 }, - { d_course_yoshi_valley_packed_dl_49C0, 0x02180000 }, - { d_course_yoshi_valley_packed_dl_4A58, 0x02190000 }, - { d_course_yoshi_valley_packed_dl_4B20, 0x021A0000 }, - { d_course_yoshi_valley_packed_dl_4C18, 0x021B0000 }, - { d_course_yoshi_valley_packed_dl_4CB0, 0x021C0000 }, - { d_course_yoshi_valley_packed_dl_1580, 0x111D0000 }, - { d_course_yoshi_valley_packed_dl_4D68, 0x021E0000 }, - { d_course_yoshi_valley_packed_dl_4E88, 0x021F0000 }, - { d_course_yoshi_valley_packed_dl_5788, 0x08010000 }, - { d_course_yoshi_valley_packed_dl_5800, 0x08010000 }, - { d_course_yoshi_valley_packed_dl_5880, 0x08020000 }, - { d_course_yoshi_valley_packed_dl_58F8, 0x08020000 }, - { d_course_yoshi_valley_packed_dl_5710, 0x08030000 }, - { d_course_yoshi_valley_packed_dl_54B0, 0x08030000 }, - { d_course_yoshi_valley_packed_dl_5548, 0x08040000 }, - { d_course_yoshi_valley_packed_dl_55C0, 0x08040000 }, - { d_course_yoshi_valley_packed_dl_5628, 0x08040000 }, - { d_course_yoshi_valley_packed_dl_56A0, 0x08130000 }, - { d_course_yoshi_valley_packed_dl_5970, 0x08130000 }, - { d_course_yoshi_valley_packed_dl_5C80, 0x08140000 }, - { d_course_yoshi_valley_packed_dl_5D00, 0x08140000 }, - { d_course_yoshi_valley_packed_dl_5D90, 0x08130000 }, - { d_course_yoshi_valley_packed_dl_5DF8, 0x08140000 }, - { d_course_yoshi_valley_packed_dl_5C18, 0x08010000 }, - { d_course_yoshi_valley_packed_dl_59F0, 0x08030000 }, - { d_course_yoshi_valley_packed_dl_75D0, 0xFFFF0000 }, - { d_course_yoshi_valley_packed_dl_3010, 0xFFFF0000 }, - { d_course_yoshi_valley_packed_dl_8050, 0xFFFF0000 }, - { d_course_yoshi_valley_packed_dl_13D8, 0xFFFF8000 }, - { d_course_yoshi_valley_packed_dl_D20, 0xFFFF8000 }, - { 0x00000000, 0x00000000 }, +TrackSections d_course_yoshi_valley_addr[] = { + {d_course_yoshi_valley_packed_dl_44C8, 2, 1, 0x0000}, + {d_course_yoshi_valley_packed_dl_4588, 2, 2, 0x0000}, + {d_course_yoshi_valley_packed_dl_45F0, 2, 3, 0x0000}, + {d_course_yoshi_valley_packed_dl_4670, 2, 4, 0x0000}, + {d_course_yoshi_valley_packed_dl_46E0, 2, 5, 0x0000}, + {d_course_yoshi_valley_packed_dl_4810, 2, 6, 0x0000}, + {d_course_yoshi_valley_packed_dl_4428, 2, 7, 0x0000}, + {d_course_yoshi_valley_packed_dl_3E08, 2, 8, 0x0000}, + {d_course_yoshi_valley_packed_dl_3F10, 2, 9, 0x0000}, + {d_course_yoshi_valley_packed_dl_3FF0, 2, 10, 0x0000}, + {d_course_yoshi_valley_packed_dl_4108, 2, 11, 0x0000}, + {d_course_yoshi_valley_packed_dl_41B0, 2, 12, 0x0000}, + {d_course_yoshi_valley_packed_dl_4258, 2, 13, 0x0000}, + {d_course_yoshi_valley_packed_dl_4358, 2, 14, 0x0000}, + {d_course_yoshi_valley_packed_dl_4918, 2, 15, 0x0000}, + {d_course_yoshi_valley_packed_dl_4FD0, 2, 16, 0x0000}, + {d_course_yoshi_valley_packed_dl_5058, 2, 17, 0x0000}, + {d_course_yoshi_valley_packed_dl_1418, 17, 18, 0x0000}, + {d_course_yoshi_valley_packed_dl_50E0, 2, 19, 0x0000}, + {d_course_yoshi_valley_packed_dl_5158, 2, 20, 0x0000}, + {d_course_yoshi_valley_packed_dl_51D8, 2, 21, 0x0000}, + {d_course_yoshi_valley_packed_dl_52D8, 2, 22, 0x0000}, + {d_course_yoshi_valley_packed_dl_4F48, 2, 23, 0x0000}, + {d_course_yoshi_valley_packed_dl_49C0, 2, 24, 0x0000}, + {d_course_yoshi_valley_packed_dl_4A58, 2, 25, 0x0000}, + {d_course_yoshi_valley_packed_dl_4B20, 2, 26, 0x0000}, + {d_course_yoshi_valley_packed_dl_4C18, 2, 27, 0x0000}, + {d_course_yoshi_valley_packed_dl_4CB0, 2, 28, 0x0000}, + {d_course_yoshi_valley_packed_dl_1580, 17, 29, 0x0000}, + {d_course_yoshi_valley_packed_dl_4D68, 2, 30, 0x0000}, + {d_course_yoshi_valley_packed_dl_4E88, 2, 31, 0x0000}, + {d_course_yoshi_valley_packed_dl_5788, 8, 1, 0x0000}, + {d_course_yoshi_valley_packed_dl_5800, 8, 1, 0x0000}, + {d_course_yoshi_valley_packed_dl_5880, 8, 2, 0x0000}, + {d_course_yoshi_valley_packed_dl_58F8, 8, 2, 0x0000}, + {d_course_yoshi_valley_packed_dl_5710, 8, 3, 0x0000}, + {d_course_yoshi_valley_packed_dl_54B0, 8, 3, 0x0000}, + {d_course_yoshi_valley_packed_dl_5548, 8, 4, 0x0000}, + {d_course_yoshi_valley_packed_dl_55C0, 8, 4, 0x0000}, + {d_course_yoshi_valley_packed_dl_5628, 8, 4, 0x0000}, + {d_course_yoshi_valley_packed_dl_56A0, 8, 19, 0x0000}, + {d_course_yoshi_valley_packed_dl_5970, 8, 19, 0x0000}, + {d_course_yoshi_valley_packed_dl_5C80, 8, 20, 0x0000}, + {d_course_yoshi_valley_packed_dl_5D00, 8, 20, 0x0000}, + {d_course_yoshi_valley_packed_dl_5D90, 8, 19, 0x0000}, + {d_course_yoshi_valley_packed_dl_5DF8, 8, 20, 0x0000}, + {d_course_yoshi_valley_packed_dl_5C18, 8, 1, 0x0000}, + {d_course_yoshi_valley_packed_dl_59F0, 8, 3, 0x0000}, + {d_course_yoshi_valley_packed_dl_75D0, 255, 255, 0x0000}, + {d_course_yoshi_valley_packed_dl_3010, 255, 255, 0x0000}, + {d_course_yoshi_valley_packed_dl_8050, 255, 255, 0x0000}, + {d_course_yoshi_valley_packed_dl_13D8, 255, 255, 0x8000}, + {d_course_yoshi_valley_packed_dl_D20, 255, 255, 0x8000}, + { 0x00000000, 0, 0, 0x0000 }, }; Gfx *d_course_yoshi_valley_dl_list[] = { diff --git a/courses/star_cup/bowsers_castle/course_data.inc.c b/courses/star_cup/bowsers_castle/course_data.inc.c index 66bd08668..9cbc4a186 100644 --- a/courses/star_cup/bowsers_castle/course_data.inc.c +++ b/courses/star_cup/bowsers_castle/course_data.inc.c @@ -4072,42 +4072,42 @@ struct ActorSpawnData d_course_bowsers_castle_item_box_spawns[] = { }; // 0x93D8 -struct CourseAddrUnkStruct d_course_bowsers_castle_addr[] = { - { d_course_bowsers_castle_packed_dl_5448, 0x04010000 }, - { d_course_bowsers_castle_packed_dl_53E0, 0x04020000 }, - { d_course_bowsers_castle_packed_dl_93A0, 0x11030000 }, - { d_course_bowsers_castle_packed_dl_9290, 0x11040000 }, - { d_course_bowsers_castle_packed_dl_30C8, 0x04050000 }, - { d_course_bowsers_castle_packed_dl_1FA0, 0x08050000 }, - { d_course_bowsers_castle_packed_dl_3578, 0x04060000 }, - { d_course_bowsers_castle_packed_dl_3930, 0x04070000 }, - { d_course_bowsers_castle_packed_dl_3C80, 0x04080000 }, - { d_course_bowsers_castle_packed_dl_D38, 0x04090000 }, - { d_course_bowsers_castle_packed_dl_41A8, 0x040A0000 }, - { d_course_bowsers_castle_packed_dl_B80, 0x040B0000 }, - { d_course_bowsers_castle_packed_dl_280, 0x100C0000 }, - { d_course_bowsers_castle_packed_dl_2A48, 0x040C0000 }, - { d_course_bowsers_castle_packed_dl_A20, 0x040D0000 }, - { d_course_bowsers_castle_packed_dl_470, 0x040E0000 }, - { d_course_bowsers_castle_packed_dl_3308, 0x040F0000 }, - { d_course_bowsers_castle_packed_dl_1EA8, 0x080F0000 }, - { d_course_bowsers_castle_packed_dl_9328, 0x11100000 }, - { d_course_bowsers_castle_packed_dl_9438, 0x11110000 }, - { d_course_bowsers_castle_packed_dl_5378, 0x04120000 }, - { d_course_bowsers_castle_packed_dl_5300, 0x04130000 }, - { d_course_bowsers_castle_packed_dl_5270, 0x04140000 }, - { d_course_bowsers_castle_packed_dl_51E8, 0x04150000 }, - { d_course_bowsers_castle_packed_dl_54E8, 0x04160000 }, - { d_course_bowsers_castle_packed_dl_5778, 0x04170000 }, - { d_course_bowsers_castle_packed_dl_56F0, 0x04180000 }, - { d_course_bowsers_castle_packed_dl_5678, 0x04190000 }, - { d_course_bowsers_castle_packed_dl_55E8, 0x041A0000 }, - { d_course_bowsers_castle_packed_dl_5560, 0x041B0000 }, - { d_course_bowsers_castle_packed_dl_8E40, 0x04FF0000 }, - { d_course_bowsers_castle_packed_dl_2BB8, 0x04FF0000 }, - { d_course_bowsers_castle_packed_dl_75E8, 0xFFFF0000 }, - { d_course_bowsers_castle_packed_dl_9278, 0xFFFF0000 }, - { d_course_bowsers_castle_packed_dl_3B0, 0xFFFF0000 }, - { d_course_bowsers_castle_packed_dl_83B0, 0xFFFF0000 }, - { 0x00000000, 0x00000000 }, +TrackSections d_course_bowsers_castle_addr[] = { + { d_course_bowsers_castle_packed_dl_5448, 4, 1, 0x0000 }, + { d_course_bowsers_castle_packed_dl_53E0, 4, 2, 0x0000 }, + { d_course_bowsers_castle_packed_dl_93A0, 17, 3, 0x0000 }, + { d_course_bowsers_castle_packed_dl_9290, 17, 4, 0x0000 }, + { d_course_bowsers_castle_packed_dl_30C8, 4, 5, 0x0000 }, + { d_course_bowsers_castle_packed_dl_1FA0, 8, 5, 0x0000 }, + { d_course_bowsers_castle_packed_dl_3578, 4, 6, 0x0000 }, + { d_course_bowsers_castle_packed_dl_3930, 4, 7, 0x0000 }, + { d_course_bowsers_castle_packed_dl_3C80, 4, 8, 0x0000 }, + { d_course_bowsers_castle_packed_dl_D38, 4, 9, 0x0000 }, + { d_course_bowsers_castle_packed_dl_41A8, 4, 10, 0x0000 }, + { d_course_bowsers_castle_packed_dl_B80, 4, 11, 0x0000 }, + { d_course_bowsers_castle_packed_dl_280, 16, 12, 0x0000 }, + { d_course_bowsers_castle_packed_dl_2A48, 4, 12, 0x0000 }, + { d_course_bowsers_castle_packed_dl_A20, 4, 13, 0x0000 }, + { d_course_bowsers_castle_packed_dl_470, 4, 14, 0x0000 }, + { d_course_bowsers_castle_packed_dl_3308, 4, 15, 0x0000 }, + { d_course_bowsers_castle_packed_dl_1EA8, 8, 15, 0x0000 }, + { d_course_bowsers_castle_packed_dl_9328, 17, 16, 0x0000 }, + { d_course_bowsers_castle_packed_dl_9438, 17, 17, 0x0000 }, + { d_course_bowsers_castle_packed_dl_5378, 4, 18, 0x0000 }, + { d_course_bowsers_castle_packed_dl_5300, 4, 19, 0x0000 }, + { d_course_bowsers_castle_packed_dl_5270, 4, 20, 0x0000 }, + { d_course_bowsers_castle_packed_dl_51E8, 4, 21, 0x0000 }, + { d_course_bowsers_castle_packed_dl_54E8, 4, 22, 0x0000 }, + { d_course_bowsers_castle_packed_dl_5778, 4, 23, 0x0000 }, + { d_course_bowsers_castle_packed_dl_56F0, 4, 24, 0x0000 }, + { d_course_bowsers_castle_packed_dl_5678, 4, 25, 0x0000 }, + { d_course_bowsers_castle_packed_dl_55E8, 4, 26, 0x0000 }, + { d_course_bowsers_castle_packed_dl_5560, 4, 27, 0x0000 }, + { d_course_bowsers_castle_packed_dl_8E40, 4, 255, 0x0000 }, + { d_course_bowsers_castle_packed_dl_2BB8, 4, 255, 0x0000 }, + { d_course_bowsers_castle_packed_dl_75E8, 255, 255, 0x0000 }, + { d_course_bowsers_castle_packed_dl_9278, 255, 255, 0x0000 }, + { d_course_bowsers_castle_packed_dl_3B0, 255, 255, 0x0000 }, + { d_course_bowsers_castle_packed_dl_83B0, 255, 255, 0x0000 }, + { 0x00000000, 0, 0, 0x0000 }, }; diff --git a/courses/star_cup/royal_raceway/course_data.inc.c b/courses/star_cup/royal_raceway/course_data.inc.c index a4f46f398..8864fc2b4 100644 --- a/courses/star_cup/royal_raceway/course_data.inc.c +++ b/courses/star_cup/royal_raceway/course_data.inc.c @@ -7539,124 +7539,124 @@ struct ActorSpawnData d_course_royal_raceway_item_box_spawns[] = { }; // 0xDC28 -struct CourseAddrUnkStruct d_course_royal_raceway_addr[] = { - { d_course_royal_raceway_packed_dl_650, 0xFFFF0000 }, - { d_course_royal_raceway_packed_dl_1FE8, 0x01010000 }, - { d_course_royal_raceway_packed_dl_20A0, 0x01020000 }, - { d_course_royal_raceway_packed_dl_2110, 0x01030000 }, - { d_course_royal_raceway_packed_dl_21B8, 0x01040000 }, - { d_course_royal_raceway_packed_dl_2230, 0x01050000 }, - { d_course_royal_raceway_packed_dl_22C0, 0x01060000 }, - { d_course_royal_raceway_packed_dl_1F58, 0x01070000 }, - { d_course_royal_raceway_packed_dl_1B98, 0x01080000 }, - { d_course_royal_raceway_packed_dl_1C48, 0x01090000 }, - { d_course_royal_raceway_packed_dl_1CF0, 0x010A0000 }, - { d_course_royal_raceway_packed_dl_1D68, 0x010B0000 }, - { d_course_royal_raceway_packed_dl_1DF0, 0x010C0000 }, - { d_course_royal_raceway_packed_dl_1E60, 0x010D0000 }, - { d_course_royal_raceway_packed_dl_1EF0, 0x010E0000 }, - { d_course_royal_raceway_packed_dl_2370, 0x010F0000 }, - { d_course_royal_raceway_packed_dl_28D8, 0x01100000 }, - { d_course_royal_raceway_packed_dl_2950, 0x01110000 }, - { d_course_royal_raceway_packed_dl_2A10, 0x01120000 }, - { d_course_royal_raceway_packed_dl_2AC8, 0x01130000 }, - { d_course_royal_raceway_packed_dl_2B38, 0x01140000 }, - { d_course_royal_raceway_packed_dl_A648, 0xFE140000 }, - { d_course_royal_raceway_packed_dl_2BA0, 0x01150000 }, - { d_course_royal_raceway_packed_dl_A6A8, 0xFE150000 }, - { d_course_royal_raceway_packed_dl_2870, 0x01160000 }, - { d_course_royal_raceway_packed_dl_23F8, 0x01170000 }, - { d_course_royal_raceway_packed_dl_2478, 0x01180000 }, - { d_course_royal_raceway_packed_dl_2530, 0x01190000 }, - { d_course_royal_raceway_packed_dl_25E0, 0x011A0000 }, - { d_course_royal_raceway_packed_dl_26B0, 0x011B0000 }, - { d_course_royal_raceway_packed_dl_2758, 0x011C0000 }, - { d_course_royal_raceway_packed_dl_27E0, 0x011D0000 }, - { d_course_royal_raceway_packed_dl_5400, 0x08140000 }, - { d_course_royal_raceway_packed_dl_54A8, 0x08130000 }, - { d_course_royal_raceway_packed_dl_5520, 0x08120000 }, - { d_course_royal_raceway_packed_dl_51E8, 0x08110000 }, - { d_course_royal_raceway_packed_dl_4E90, 0x08100000 }, - { d_course_royal_raceway_packed_dl_4F20, 0x080F0000 }, - { d_course_royal_raceway_packed_dl_4F98, 0x080E0000 }, - { d_course_royal_raceway_packed_dl_5018, 0x080D0000 }, - { d_course_royal_raceway_packed_dl_50B0, 0x080C0000 }, - { d_course_royal_raceway_packed_dl_5138, 0x080B0000 }, - { d_course_royal_raceway_packed_dl_5B50, 0x08160000 }, - { d_course_royal_raceway_packed_dl_5C00, 0x08170000 }, - { d_course_royal_raceway_packed_dl_5D18, 0x08160000 }, - { d_course_royal_raceway_packed_dl_5DC8, 0x08170000 }, - { d_course_royal_raceway_packed_dl_5EF8, 0x08190000 }, - { d_course_royal_raceway_packed_dl_5AA8, 0x081A0000 }, - { d_course_royal_raceway_packed_dl_56A0, 0x081B0000 }, - { d_course_royal_raceway_packed_dl_5740, 0x08FF0000 }, - { d_course_royal_raceway_packed_dl_57F0, 0x08180000 }, - { d_course_royal_raceway_packed_dl_58E8, 0x08180000 }, - { d_course_royal_raceway_packed_dl_5990, 0x081A0000 }, - { d_course_royal_raceway_packed_dl_5A10, 0x081C0000 }, - { d_course_royal_raceway_packed_dl_4078, 0x08010000 }, - { d_course_royal_raceway_packed_dl_4118, 0x08020000 }, - { d_course_royal_raceway_packed_dl_41A8, 0x08030000 }, - { d_course_royal_raceway_packed_dl_4298, 0x08040000 }, - { d_course_royal_raceway_packed_dl_4350, 0x08050000 }, - { d_course_royal_raceway_packed_dl_3FA8, 0x08060000 }, - { d_course_royal_raceway_packed_dl_3B70, 0x08070000 }, - { d_course_royal_raceway_packed_dl_3C18, 0x08080000 }, - { d_course_royal_raceway_packed_dl_3CF0, 0x08090000 }, - { d_course_royal_raceway_packed_dl_3DC0, 0x080A0000 }, - { d_course_royal_raceway_packed_dl_3E50, 0x080B0000 }, - { d_course_royal_raceway_packed_dl_3F18, 0x080C0000 }, - { d_course_royal_raceway_packed_dl_4400, 0x080D0000 }, - { d_course_royal_raceway_packed_dl_4A08, 0x080E0000 }, - { d_course_royal_raceway_packed_dl_4A80, 0x080F0000 }, - { d_course_royal_raceway_packed_dl_4B30, 0x08100000 }, - { d_course_royal_raceway_packed_dl_4BC8, 0x08110000 }, - { d_course_royal_raceway_packed_dl_4CC8, 0x08120000 }, - { d_course_royal_raceway_packed_dl_4968, 0x08130000 }, - { d_course_royal_raceway_packed_dl_44B0, 0x08140000 }, - { d_course_royal_raceway_packed_dl_4538, 0x08190000 }, - { d_course_royal_raceway_packed_dl_45E0, 0x081A0000 }, - { d_course_royal_raceway_packed_dl_46E0, 0x081B0000 }, - { d_course_royal_raceway_packed_dl_47C0, 0x081C0000 }, - { d_course_royal_raceway_packed_dl_4890, 0x081D0000 }, - { d_course_royal_raceway_packed_dl_1720, 0x02010000 }, - { d_course_royal_raceway_packed_dl_16B8, 0x02020000 }, - { d_course_royal_raceway_packed_dl_1640, 0x02030000 }, - { d_course_royal_raceway_packed_dl_15D8, 0x02040000 }, - { d_course_royal_raceway_packed_dl_1548, 0x02050000 }, - { d_course_royal_raceway_packed_dl_14C8, 0x02080000 }, - { d_course_royal_raceway_packed_dl_1450, 0x02090000 }, - { d_course_royal_raceway_packed_dl_1788, 0x020A0000 }, - { d_course_royal_raceway_packed_dl_1AA0, 0x02FF0000 }, - { d_course_royal_raceway_packed_dl_1A30, 0x02FF0000 }, - { d_course_royal_raceway_packed_dl_19B0, 0x02160000 }, - { d_course_royal_raceway_packed_dl_1940, 0x02160000 }, - { d_course_royal_raceway_packed_dl_18D8, 0x021B0000 }, - { d_course_royal_raceway_packed_dl_1860, 0x021B0000 }, - { d_course_royal_raceway_packed_dl_17F8, 0x021C0000 }, - { d_course_royal_raceway_packed_dl_3218, 0xFFFF0000 }, - { d_course_royal_raceway_packed_dl_A870, 0x081E0000 }, - { d_course_royal_raceway_packed_dl_AA10, 0x081E0000 }, - { d_course_royal_raceway_packed_dl_AA90, 0x081E0000 }, - { d_course_royal_raceway_packed_dl_ACE0, 0x031E0000 }, - { d_course_royal_raceway_packed_dl_AE00, 0x031E0000 }, - { d_course_royal_raceway_packed_dl_AD78, 0x031F0000 }, - { d_course_royal_raceway_packed_dl_E88, 0x061F0000 }, - { d_course_royal_raceway_packed_dl_AB28, 0x081F0000 }, - { d_course_royal_raceway_packed_dl_67E8, 0x041F0000 }, - { d_course_royal_raceway_packed_dl_AC60, 0x03200000 }, - { d_course_royal_raceway_packed_dl_A998, 0x08200000 }, - { d_course_royal_raceway_packed_dl_A7D8, 0x08200000 }, - { d_course_royal_raceway_packed_dl_AE70, 0x03210000 }, - { d_course_royal_raceway_packed_dl_CE0, 0x06210000 }, - { d_course_royal_raceway_packed_dl_ABA8, 0x08210000 }, - { d_course_royal_raceway_packed_dl_55D0, 0x08210000 }, - { d_course_royal_raceway_packed_dl_A8F8, 0x08210000 }, - { d_course_royal_raceway_packed_dl_A7D8, 0x081C0000 }, - { d_course_royal_raceway_packed_dl_3B50, 0xFFFF0000 }, - { d_course_royal_raceway_packed_dl_1A8, 0xFFFF4000 }, - { d_course_royal_raceway_packed_dl_840, 0xFFFF0000 }, - { d_course_royal_raceway_packed_dl_C38, 0xFFFF0000 }, - { d_course_royal_raceway_packed_dl_A618, 0xFFFF0000 }, - { 0x00000000, 0x00000000 }, +TrackSections d_course_royal_raceway_addr[] = { + { d_course_royal_raceway_packed_dl_650, 255, 255, 0x0000 }, + { d_course_royal_raceway_packed_dl_1FE8, 1, 1, 0x0000 }, + { d_course_royal_raceway_packed_dl_20A0, 1, 2, 0x0000 }, + { d_course_royal_raceway_packed_dl_2110, 1, 3, 0x0000 }, + { d_course_royal_raceway_packed_dl_21B8, 1, 4, 0x0000 }, + { d_course_royal_raceway_packed_dl_2230, 1, 5, 0x0000 }, + { d_course_royal_raceway_packed_dl_22C0, 1, 6, 0x0000 }, + { d_course_royal_raceway_packed_dl_1F58, 1, 7, 0x0000 }, + { d_course_royal_raceway_packed_dl_1B98, 1, 8, 0x0000 }, + { d_course_royal_raceway_packed_dl_1C48, 1, 9, 0x0000 }, + { d_course_royal_raceway_packed_dl_1CF0, 1, 10, 0x0000 }, + { d_course_royal_raceway_packed_dl_1D68, 1, 11, 0x0000 }, + { d_course_royal_raceway_packed_dl_1DF0, 1, 12, 0x0000 }, + { d_course_royal_raceway_packed_dl_1E60, 1, 13, 0x0000 }, + { d_course_royal_raceway_packed_dl_1EF0, 1, 14, 0x0000 }, + { d_course_royal_raceway_packed_dl_2370, 1, 15, 0x0000 }, + { d_course_royal_raceway_packed_dl_28D8, 1, 16, 0x0000 }, + { d_course_royal_raceway_packed_dl_2950, 1, 17, 0x0000 }, + { d_course_royal_raceway_packed_dl_2A10, 1, 18, 0x0000 }, + { d_course_royal_raceway_packed_dl_2AC8, 1, 19, 0x0000 }, + { d_course_royal_raceway_packed_dl_2B38, 1, 20, 0x0000 }, + { d_course_royal_raceway_packed_dl_A648, 254, 20, 0x0000 }, + { d_course_royal_raceway_packed_dl_2BA0, 1, 21, 0x0000 }, + { d_course_royal_raceway_packed_dl_A6A8, 254, 21, 0x0000 }, + { d_course_royal_raceway_packed_dl_2870, 1, 22, 0x0000 }, + { d_course_royal_raceway_packed_dl_23F8, 1, 23, 0x0000 }, + { d_course_royal_raceway_packed_dl_2478, 1, 24, 0x0000 }, + { d_course_royal_raceway_packed_dl_2530, 1, 25, 0x0000 }, + { d_course_royal_raceway_packed_dl_25E0, 1, 26, 0x0000 }, + { d_course_royal_raceway_packed_dl_26B0, 1, 27, 0x0000 }, + { d_course_royal_raceway_packed_dl_2758, 1, 28, 0x0000 }, + { d_course_royal_raceway_packed_dl_27E0, 1, 29, 0x0000 }, + { d_course_royal_raceway_packed_dl_5400, 8, 20, 0x0000 }, + { d_course_royal_raceway_packed_dl_54A8, 8, 19, 0x0000 }, + { d_course_royal_raceway_packed_dl_5520, 8, 18, 0x0000 }, + { d_course_royal_raceway_packed_dl_51E8, 8, 17, 0x0000 }, + { d_course_royal_raceway_packed_dl_4E90, 8, 16, 0x0000 }, + { d_course_royal_raceway_packed_dl_4F20, 8, 15, 0x0000 }, + { d_course_royal_raceway_packed_dl_4F98, 8, 14, 0x0000 }, + { d_course_royal_raceway_packed_dl_5018, 8, 13, 0x0000 }, + { d_course_royal_raceway_packed_dl_50B0, 8, 12, 0x0000 }, + { d_course_royal_raceway_packed_dl_5138, 8, 11, 0x0000 }, + { d_course_royal_raceway_packed_dl_5B50, 8, 22, 0x0000 }, + { d_course_royal_raceway_packed_dl_5C00, 8, 23, 0x0000 }, + { d_course_royal_raceway_packed_dl_5D18, 8, 22, 0x0000 }, + { d_course_royal_raceway_packed_dl_5DC8, 8, 23, 0x0000 }, + { d_course_royal_raceway_packed_dl_5EF8, 8, 25, 0x0000 }, + { d_course_royal_raceway_packed_dl_5AA8, 8, 26, 0x0000 }, + { d_course_royal_raceway_packed_dl_56A0, 8, 27, 0x0000 }, + { d_course_royal_raceway_packed_dl_5740, 8, 255, 0x0000 }, + { d_course_royal_raceway_packed_dl_57F0, 8, 24, 0x0000 }, + { d_course_royal_raceway_packed_dl_58E8, 8, 24, 0x0000 }, + { d_course_royal_raceway_packed_dl_5990, 8, 26, 0x0000 }, + { d_course_royal_raceway_packed_dl_5A10, 8, 28, 0x0000 }, + { d_course_royal_raceway_packed_dl_4078, 8, 1, 0x0000 }, + { d_course_royal_raceway_packed_dl_4118, 8, 2, 0x0000 }, + { d_course_royal_raceway_packed_dl_41A8, 8, 3, 0x0000 }, + { d_course_royal_raceway_packed_dl_4298, 8, 4, 0x0000 }, + { d_course_royal_raceway_packed_dl_4350, 8, 5, 0x0000 }, + { d_course_royal_raceway_packed_dl_3FA8, 8, 6, 0x0000 }, + { d_course_royal_raceway_packed_dl_3B70, 8, 7, 0x0000 }, + { d_course_royal_raceway_packed_dl_3C18, 8, 8, 0x0000 }, + { d_course_royal_raceway_packed_dl_3CF0, 8, 9, 0x0000 }, + { d_course_royal_raceway_packed_dl_3DC0, 8, 10, 0x0000 }, + { d_course_royal_raceway_packed_dl_3E50, 8, 11, 0x0000 }, + { d_course_royal_raceway_packed_dl_3F18, 8, 12, 0x0000 }, + { d_course_royal_raceway_packed_dl_4400, 8, 13, 0x0000 }, + { d_course_royal_raceway_packed_dl_4A08, 8, 14, 0x0000 }, + { d_course_royal_raceway_packed_dl_4A80, 8, 15, 0x0000 }, + { d_course_royal_raceway_packed_dl_4B30, 8, 16, 0x0000 }, + { d_course_royal_raceway_packed_dl_4BC8, 8, 17, 0x0000 }, + { d_course_royal_raceway_packed_dl_4CC8, 8, 18, 0x0000 }, + { d_course_royal_raceway_packed_dl_4968, 8, 19, 0x0000 }, + { d_course_royal_raceway_packed_dl_44B0, 8, 20, 0x0000 }, + { d_course_royal_raceway_packed_dl_4538, 8, 25, 0x0000 }, + { d_course_royal_raceway_packed_dl_45E0, 8, 26, 0x0000 }, + { d_course_royal_raceway_packed_dl_46E0, 8, 27, 0x0000 }, + { d_course_royal_raceway_packed_dl_47C0, 8, 28, 0x0000 }, + { d_course_royal_raceway_packed_dl_4890, 8, 29, 0x0000 }, + { d_course_royal_raceway_packed_dl_1720, 2, 1, 0x0000 }, + { d_course_royal_raceway_packed_dl_16B8, 2, 2, 0x0000 }, + { d_course_royal_raceway_packed_dl_1640, 2, 3, 0x0000 }, + { d_course_royal_raceway_packed_dl_15D8, 2, 4, 0x0000 }, + { d_course_royal_raceway_packed_dl_1548, 2, 5, 0x0000 }, + { d_course_royal_raceway_packed_dl_14C8, 2, 8, 0x0000 }, + { d_course_royal_raceway_packed_dl_1450, 2, 9, 0x0000 }, + { d_course_royal_raceway_packed_dl_1788, 2, 10, 0x0000 }, + { d_course_royal_raceway_packed_dl_1AA0, 2, 255, 0x0000 }, + { d_course_royal_raceway_packed_dl_1A30, 2, 255, 0x0000 }, + { d_course_royal_raceway_packed_dl_19B0, 2, 22, 0x0000 }, + { d_course_royal_raceway_packed_dl_1940, 2, 22, 0x0000 }, + { d_course_royal_raceway_packed_dl_18D8, 2, 27, 0x0000 }, + { d_course_royal_raceway_packed_dl_1860, 2, 27, 0x0000 }, + { d_course_royal_raceway_packed_dl_17F8, 2, 28, 0x0000 }, + { d_course_royal_raceway_packed_dl_3218, 255, 255, 0x0000 }, + { d_course_royal_raceway_packed_dl_A870, 8, 30, 0x0000 }, + { d_course_royal_raceway_packed_dl_AA10, 8, 30, 0x0000 }, + { d_course_royal_raceway_packed_dl_AA90, 8, 30, 0x0000 }, + { d_course_royal_raceway_packed_dl_ACE0, 3, 30, 0x0000 }, + { d_course_royal_raceway_packed_dl_AE00, 3, 30, 0x0000 }, + { d_course_royal_raceway_packed_dl_AD78, 3, 31, 0x0000 }, + { d_course_royal_raceway_packed_dl_E88, 6, 31, 0x0000 }, + { d_course_royal_raceway_packed_dl_AB28, 8, 31, 0x0000 }, + { d_course_royal_raceway_packed_dl_67E8, 4, 31, 0x0000 }, + { d_course_royal_raceway_packed_dl_AC60, 3, 32, 0x0000 }, + { d_course_royal_raceway_packed_dl_A998, 8, 32, 0x0000 }, + { d_course_royal_raceway_packed_dl_A7D8, 8, 32, 0x0000 }, + { d_course_royal_raceway_packed_dl_AE70, 3, 33, 0x0000 }, + { d_course_royal_raceway_packed_dl_CE0, 6, 33, 0x0000 }, + { d_course_royal_raceway_packed_dl_ABA8, 8, 33, 0x0000 }, + { d_course_royal_raceway_packed_dl_55D0, 8, 33, 0x0000 }, + { d_course_royal_raceway_packed_dl_A8F8, 8, 33, 0x0000 }, + { d_course_royal_raceway_packed_dl_A7D8, 8, 28, 0x0000 }, + { d_course_royal_raceway_packed_dl_3B50, 255, 255, 0x0000 }, + { d_course_royal_raceway_packed_dl_1A8, 255, 255, 0x4000 }, + { d_course_royal_raceway_packed_dl_840, 255, 255, 0x0000 }, + { d_course_royal_raceway_packed_dl_C38, 255, 255, 0x0000 }, + { d_course_royal_raceway_packed_dl_A618, 255, 255, 0x0000 }, + { 0x00000000, 0, 0, 0x0000 }, }; diff --git a/courses/star_cup/sherbet_land/course_data.inc.c b/courses/star_cup/sherbet_land/course_data.inc.c index 4e322313f..3f71698e1 100644 --- a/courses/star_cup/sherbet_land/course_data.inc.c +++ b/courses/star_cup/sherbet_land/course_data.inc.c @@ -5265,29 +5265,29 @@ struct ActorSpawnData d_course_sherbet_land_item_box_spawns[] = { }; // 0x9C20 -struct CourseAddrUnkStruct d_course_sherbet_land_addr[] = { - { d_course_sherbet_land_packed_dl_1B20, 0x09010000 }, - { d_course_sherbet_land_packed_dl_1A98, 0x09020000 }, - { d_course_sherbet_land_packed_dl_1A18, 0x09030000 }, - { d_course_sherbet_land_packed_dl_1998, 0x09040000 }, - { d_course_sherbet_land_packed_dl_1C50, 0x09050000 }, - { d_course_sherbet_land_packed_dl_1E40, 0x09060000 }, - { d_course_sherbet_land_packed_dl_1DC0, 0x09070000 }, - { d_course_sherbet_land_packed_dl_730, 0x05080000 }, - { d_course_sherbet_land_packed_dl_5D0, 0x05090000 }, - { d_course_sherbet_land_packed_dl_470, 0x050A0000 }, - { d_course_sherbet_land_packed_dl_348, 0x050B0000 }, - { d_course_sherbet_land_packed_dl_858, 0x050C0000 }, - { d_course_sherbet_land_packed_dl_9A0, 0x050D0000 }, - { d_course_sherbet_land_packed_dl_B00, 0x050E0000 }, - { d_course_sherbet_land_packed_dl_C30, 0x050F0000 }, - { d_course_sherbet_land_packed_dl_1D48, 0x09100000 }, - { d_course_sherbet_land_packed_dl_1CD8, 0x09110000 }, - { d_course_sherbet_land_packed_dl_1BE0, 0x09120000 }, - { d_course_sherbet_land_packed_dl_1940, 0xFFFF0000 }, - { d_course_sherbet_land_packed_dl_EA0, 0xFFFF0000 }, - { d_course_sherbet_land_packed_dl_1450, 0xFFFF0000 }, - { d_course_sherbet_land_packed_dl_2738, 0xFFFF0000 }, - { d_course_sherbet_land_packed_dl_2798, 0xFFFF0000 }, - { 0x00000000, 0x00000000 }, +TrackSections d_course_sherbet_land_addr[] = { + { d_course_sherbet_land_packed_dl_1B20, 9, 1, 0x0000 }, + { d_course_sherbet_land_packed_dl_1A98, 9, 2, 0x0000 }, + { d_course_sherbet_land_packed_dl_1A18, 9, 3, 0x0000 }, + { d_course_sherbet_land_packed_dl_1998, 9, 4, 0x0000 }, + { d_course_sherbet_land_packed_dl_1C50, 9, 5, 0x0000 }, + { d_course_sherbet_land_packed_dl_1E40, 9, 6, 0x0000 }, + { d_course_sherbet_land_packed_dl_1DC0, 9, 7, 0x0000 }, + { d_course_sherbet_land_packed_dl_730, 5, 8, 0x0000 }, + { d_course_sherbet_land_packed_dl_5D0, 5, 9, 0x0000 }, + { d_course_sherbet_land_packed_dl_470, 5, 10, 0x0000 }, + { d_course_sherbet_land_packed_dl_348, 5, 11, 0x0000 }, + { d_course_sherbet_land_packed_dl_858, 5, 12, 0x0000 }, + { d_course_sherbet_land_packed_dl_9A0, 5, 13, 0x0000 }, + { d_course_sherbet_land_packed_dl_B00, 5, 14, 0x0000 }, + { d_course_sherbet_land_packed_dl_C30, 5, 15, 0x0000 }, + { d_course_sherbet_land_packed_dl_1D48, 9, 16, 0x0000 }, + { d_course_sherbet_land_packed_dl_1CD8, 9, 17, 0x0000 }, + { d_course_sherbet_land_packed_dl_1BE0, 9, 18, 0x0000 }, + { d_course_sherbet_land_packed_dl_1940, 255, 255, 0x0000 }, + { d_course_sherbet_land_packed_dl_EA0, 255, 255, 0x0000 }, + { d_course_sherbet_land_packed_dl_1450, 255, 255, 0x0000 }, + { d_course_sherbet_land_packed_dl_2738, 255, 255, 0x0000 }, + { d_course_sherbet_land_packed_dl_2798, 255, 255, 0x0000 }, + { 0x00000000, 0, 0, 0x0000 }, }; diff --git a/courses/star_cup/wario_stadium/course_data.inc.c b/courses/star_cup/wario_stadium/course_data.inc.c index 18b1520a0..a8438371a 100644 --- a/courses/star_cup/wario_stadium/course_data.inc.c +++ b/courses/star_cup/wario_stadium/course_data.inc.c @@ -4932,37 +4932,37 @@ struct ActorSpawnData d_course_wario_stadium_item_box_spawns[] = { }; // 0xCC38 -struct CourseAddrUnkStruct d_course_wario_stadium_addr[] = { - { d_course_wario_stadium_packed_dl_8D28, 0x02010000 }, - { d_course_wario_stadium_packed_dl_8DE8, 0x02020000 }, - { d_course_wario_stadium_packed_dl_8EF0, 0x02030000 }, - { d_course_wario_stadium_packed_dl_8FC8, 0x02040000 }, - { d_course_wario_stadium_packed_dl_9090, 0x02050000 }, - { d_course_wario_stadium_packed_dl_9120, 0x02060000 }, - { d_course_wario_stadium_packed_dl_8C28, 0x02070000 }, - { d_course_wario_stadium_packed_dl_85F0, 0x02080000 }, - { d_course_wario_stadium_packed_dl_8678, 0x02090000 }, - { d_course_wario_stadium_packed_dl_8708, 0x020A0000 }, - { d_course_wario_stadium_packed_dl_8798, 0x020B0000 }, - { d_course_wario_stadium_packed_dl_88A0, 0x020C0000 }, - { d_course_wario_stadium_packed_dl_8A68, 0x020D0000 }, - { d_course_wario_stadium_packed_dl_91E8, 0x020E0000 }, - { d_course_wario_stadium_packed_dl_98A0, 0x020F0000 }, - { d_course_wario_stadium_packed_dl_9998, 0x02100000 }, - { d_course_wario_stadium_packed_dl_9AD8, 0x02110000 }, - { d_course_wario_stadium_packed_dl_9C80, 0x02120000 }, - { d_course_wario_stadium_packed_dl_9D00, 0x02130000 }, - { d_course_wario_stadium_packed_dl_9D78, 0x02140000 }, - { d_course_wario_stadium_packed_dl_9820, 0x02150000 }, - { d_course_wario_stadium_packed_dl_9328, 0x02160000 }, - { d_course_wario_stadium_packed_dl_93B0, 0x02170000 }, - { d_course_wario_stadium_packed_dl_9430, 0x02180000 }, - { d_course_wario_stadium_packed_dl_9590, 0x02190000 }, - { d_course_wario_stadium_packed_dl_9668, 0x021A0000 }, - { d_course_wario_stadium_packed_dl_9760, 0x021B0000 }, - { d_course_wario_stadium_packed_dl_6D20, 0xFFFF0000 }, - { d_course_wario_stadium_packed_dl_8510, 0xFFFF0000 }, - { d_course_wario_stadium_packed_dl_5D90, 0xFFFF0000 }, - { d_course_wario_stadium_packed_dl_9F18, 0xFFFF0000 }, - { 0x00000000, 0x00000000 }, +TrackSections d_course_wario_stadium_addr[] = { + { d_course_wario_stadium_packed_dl_8D28, 2, 1, 0x0000 }, + { d_course_wario_stadium_packed_dl_8DE8, 2, 2, 0x0000 }, + { d_course_wario_stadium_packed_dl_8EF0, 2, 3, 0x0000 }, + { d_course_wario_stadium_packed_dl_8FC8, 2, 4, 0x0000 }, + { d_course_wario_stadium_packed_dl_9090, 2, 5, 0x0000 }, + { d_course_wario_stadium_packed_dl_9120, 2, 6, 0x0000 }, + { d_course_wario_stadium_packed_dl_8C28, 2, 7, 0x0000 }, + { d_course_wario_stadium_packed_dl_85F0, 2, 8, 0x0000 }, + { d_course_wario_stadium_packed_dl_8678, 2, 9, 0x0000 }, + { d_course_wario_stadium_packed_dl_8708, 2, 10, 0x0000 }, + { d_course_wario_stadium_packed_dl_8798, 2, 11, 0x0000 }, + { d_course_wario_stadium_packed_dl_88A0, 2, 12, 0x0000 }, + { d_course_wario_stadium_packed_dl_8A68, 2, 13, 0x0000 }, + { d_course_wario_stadium_packed_dl_91E8, 2, 14, 0x0000 }, + { d_course_wario_stadium_packed_dl_98A0, 2, 15, 0x0000 }, + { d_course_wario_stadium_packed_dl_9998, 2, 16, 0x0000 }, + { d_course_wario_stadium_packed_dl_9AD8, 2, 17, 0x0000 }, + { d_course_wario_stadium_packed_dl_9C80, 2, 18, 0x0000 }, + { d_course_wario_stadium_packed_dl_9D00, 2, 19, 0x0000 }, + { d_course_wario_stadium_packed_dl_9D78, 2, 20, 0x0000 }, + { d_course_wario_stadium_packed_dl_9820, 2, 21, 0x0000 }, + { d_course_wario_stadium_packed_dl_9328, 2, 22, 0x0000 }, + { d_course_wario_stadium_packed_dl_93B0, 2, 23, 0x0000 }, + { d_course_wario_stadium_packed_dl_9430, 2, 24, 0x0000 }, + { d_course_wario_stadium_packed_dl_9590, 2, 25, 0x0000 }, + { d_course_wario_stadium_packed_dl_9668, 2, 26, 0x0000 }, + { d_course_wario_stadium_packed_dl_9760, 2, 27, 0x0000 }, + { d_course_wario_stadium_packed_dl_6D20, 255, 255, 0x0000 }, + { d_course_wario_stadium_packed_dl_8510, 255, 255, 0x0000 }, + { d_course_wario_stadium_packed_dl_5D90, 255, 255, 0x0000 }, + { d_course_wario_stadium_packed_dl_9F18, 255, 255, 0x0000 }, + { 0x00000000, 0, 0, 0x0000 }, }; diff --git a/ctx_includes.c b/ctx_includes.c index efad5d72c..b7122c35f 100644 --- a/ctx_includes.c +++ b/ctx_includes.c @@ -115,4 +115,4 @@ #include "src/code_80280000.h" #include "src/code_80281780.h" #include "src/code_80281C40.h" -#include "src/code_802AAA70.h" +#include "src/collision.h" diff --git a/gfxdsm.js b/gfxdsm.js index 1d7a5488e..6ed4e572d 100644 --- a/gfxdsm.js +++ b/gfxdsm.js @@ -95,7 +95,7 @@ switch(type) { k.push("Vtx_t d_course__dl[] = {"); break; case 2: - k.push("struct CourseAddrUnkStruct d_course__dl[] = {"); + k.push("TrackSections d_course__dl[] = {"); break; } for (i = 0; i < f.length; i += iter) { diff --git a/include/actor_types.h b/include/actor_types.h index f4f59eab2..3244c36c2 100644 --- a/include/actor_types.h +++ b/include/actor_types.h @@ -23,7 +23,7 @@ Specialized structs are customizable so long as the following member specificati In general: 0x00 -> s16 type 0x02 -> s16 flags - 0x30 -> UnkActorInner unk30 + 0x30 -> Collision unk30 If player can collide with the actor: 0x0C -> f32 boundingBoxSize @@ -102,7 +102,7 @@ struct Actor { /* 0x16 */ s16 unk_16; /* 0x18 */ Vec3f pos; /* 0x24 */ Vec3f velocity; - /* 0x30 */ UnkActorInner unk30; + /* 0x30 */ Collision unk30; }; // size = 0x70 extern struct Actor gActorList[ACTOR_LIST_SIZE]; // D_8015F9B8 @@ -125,7 +125,7 @@ struct TrainCar { /* 0x10 */ s16 unk_16; /* 0x18 */ Vec3f pos; /* 0x24 */ Vec3f velocity; - /* 0x30 */ UnkActorInner unk30; + /* 0x30 */ Collision unk30; }; // size = 0x70 struct RailroadCrossing { @@ -139,7 +139,7 @@ struct RailroadCrossing { /* 0x16 */ s16 unk_16; /* 0x18 */ Vec3f pos; /* 0x24 */ Vec3f velocity; - /* 0x30 */ UnkActorInner unk30; + /* 0x30 */ Collision unk30; }; // size = 0x70 struct FallingRock { @@ -153,7 +153,7 @@ struct FallingRock { /* 0x16 */ s16 unk_16; /* 0x18 */ Vec3f pos; /* 0x24 */ Vec3f velocity; - /* 0x30 */ UnkActorInner unk30; + /* 0x30 */ Collision unk30; }; // size = 0x70 struct ActorSpawnData { @@ -197,7 +197,7 @@ struct YoshiValleyEgg { // Note, pathCenter[1] should be understood to be the Y velocity of the egg // pathCenter[0] and pathCenter[2] are the X,Z coordinates of the center of the path /* 0x24 */ Vec3f pathCenter; - /* 0x30 */ UnkActorInner unk30; + /* 0x30 */ Collision unk30; }; // size = 0x70 struct KiwanoFruit { @@ -213,7 +213,7 @@ struct KiwanoFruit { /* 0x16 */ s16 unk_16; /* 0x18 */ Vec3f pos; /* 0x24 */ Vec3f velocity; - /* 0x30 */ UnkActorInner unk30; + /* 0x30 */ Collision unk30; }; // size = 0x70 struct PaddleWheelBoat { @@ -227,7 +227,7 @@ struct PaddleWheelBoat { /* 0x16 */ s16 unk_16; /* 0x18 */ Vec3f pos; /* 0x24 */ Vec3f velocity; - /* 0x30 */ UnkActorInner unk30; + /* 0x30 */ Collision unk30; }; // size = 0x70 struct PiranhaPlant { @@ -239,7 +239,7 @@ struct PiranhaPlant { /* 0x18 */ Vec3f pos; /* 0x24 */ Vec4s timers; // A per-camera timer. Might be more appropriate to call this state /* 0x2C */ f32 unk_02C; - /* 0x30 */ UnkActorInner unk30; + /* 0x30 */ Collision unk30; }; // size = 0x70 // Copied from PiranhaPlant, may not be accurate. @@ -253,7 +253,7 @@ struct PalmTree { /* 0x18 */ Vec3f pos; /* 0x24 */ Vec4s timers; // A per-camera timer. Might be more appropriate to call this state /* 0x2C */ f32 unk_02C; - /* 0x30 */ UnkActorInner unk30; + /* 0x30 */ Collision unk30; }; // size = 0x70 typedef struct { @@ -269,7 +269,7 @@ typedef struct { /* 0x16 */ s16 unk_16; /* 0x18 */ Vec3f unk_18; /* 0x24 */ Vec3f shellIndices; // Indices in gActorList for the shells "owned" by this parent - /* 0x30 */ UnkActorInner unk30; + /* 0x30 */ Collision unk30; } TripleShellParent; // size = 0x70 struct ShellActor { @@ -295,7 +295,7 @@ struct ShellActor { /* 0x16 */ s16 unk_16; /* 0x18 */ Vec3f pos; /* 0x24 */ Vec3f velocity; // All 0 until the shell is fired - /* 0x30 */ UnkActorInner unk30; + /* 0x30 */ Collision unk30; }; // size = 0x70 struct ItemBox { @@ -313,7 +313,7 @@ struct ItemBox { /* 0x24 */ f32 origY; // Original Y position. Basically the Y position the box will reset to after being touched /* 0x28 */ f32 unk_028; /* 0x2C */ f32 unk_02C; - /* 0x30 */ UnkActorInner unk30; + /* 0x30 */ Collision unk30; }; // size = 0x70 struct FakeItemBox { @@ -329,7 +329,7 @@ struct FakeItemBox { /* 0x24 */ f32 playerId; /* 0x28 */ f32 targetY; /* 0x2C */ f32 unk_02C; - /* 0x30 */ UnkActorInner unk30; + /* 0x30 */ Collision unk30; }; // size = 0x70 struct BananaBunchParent { @@ -344,7 +344,7 @@ struct BananaBunchParent { /* 0x1C */ s16 bananasAvailable; /* 0x1E */ s16 unk_1E; /* 0x20 */ f32 unk_20[4]; - /* 0x30 */ UnkActorInner unk30; + /* 0x30 */ Collision unk30; }; // size = 0x70 struct BananaActor { @@ -366,7 +366,7 @@ struct BananaActor { /* 0x16 */ s16 unk_16; /* 0x18 */ Vec3f pos; /* 0x24 */ Vec3f velocity; - /* 0x30 */ UnkActorInner unk30; + /* 0x30 */ Collision unk30; }; // size = 0x70 //#pragma GCC diagnostic pop diff --git a/include/bomb_kart.h b/include/bomb_kart.h index 428bf3531..f02910866 100644 --- a/include/bomb_kart.h +++ b/include/bomb_kart.h @@ -55,7 +55,7 @@ typedef struct { extern s32 D_80183DD8[NUM_BOMB_KARTS_MAX]; extern struct_D_80163DE8_entry D_80163DE8[NUM_BOMB_KARTS_MAX]; -extern UnkActorInner D_80164038[NUM_BOMB_KARTS_MAX]; +extern Collision D_80164038[NUM_BOMB_KARTS_MAX]; // data/data_0DD0A0_1.s extern BombKartSpawn D_800DCC08[NUM_COURSES][NUM_BOMB_KARTS_MAX]; diff --git a/include/common_structs.h b/include/common_structs.h index b324800cf..3372ea73a 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -120,7 +120,7 @@ typedef struct { /* 0x24 */ Vec3f unk54; /* 0x30 */ Vec3f unk60; /* 0x3C */ f32 unk6C; -} UnkActorInner; +} Collision; typedef struct { /* 0x00 */ Vec3f unk_000; @@ -181,9 +181,15 @@ typedef struct { //bit 4: 1 = out of bounds //bit 3: 1 = player tumbles upon contact (may fall right through) /* 0x02 */ u16 surfaceType; - /* 0x04 */ s16 vtx3[3]; //X, Y, Z of poly's third vertex - /* 0x0A */ s16 vtx2[3]; //X, Y, Z of poly's second vertex - /* 0x10 */ Vtx *vtxs[3]; //pointer to the 3 vertices of this poly + /* 0x04 */ s16 vtx31; + s16 vtx32; + s16 vtx33; //X, Y, Z of poly's third vertex + s16 vtx21; + s16 vtx22; + /* 0x0A */ s16 vtx23; //X, Y, Z of poly's second vertex + /* 0x10 */ Vtx *vtxPoly1; //pointer to the 3 vertices of this poly + Vtx *vtxPoly2; + Vtx *vtxPoly3; //unsure why this exists along with a copy of two of the vertices. //both are involved in hit detection. /* 0x1C */ f32 height; @@ -208,7 +214,7 @@ typedef struct { // Close to being a copy of the top byte of the surface_map "flag" member /* 0x0D */ u8 surfaceFlags; // Don't know if "tile" is right the right term - // D_8015F580 is a pointer to an array of "tile" structs. This is an index to that array + // gSurfaceMap is a pointer to an array of "tile" structs. This is an index to that array /* 0x0E */ u16 surfaceMapIndex; // cornerPos places the corner "in the air" as it were, this member indicates the Y position of the corner's "on the ground" sibling // On flat ground this value should be cornerY - gKartBoundingBoxTable[characterId] @@ -317,7 +323,7 @@ typedef struct { /* 0x0108 */ f32 unk_108; /* 0x010C */ s16 unk_10C; /* 0x010E */ char unk_10E[0x2]; - /* 0x0110 */ UnkActorInner unk_110; + /* 0x0110 */ Collision unk_110; /* 0x0150 */ Mat3 unk_150; /* 0x0174 */ Mat3 unk_174; /* 0x0198 */ KartBoundingBoxCorner boundingBoxCorners[4]; diff --git a/include/course.h b/include/course.h index 5137a17c0..3f4498766 100644 --- a/include/course.h +++ b/include/course.h @@ -9,10 +9,11 @@ * @file Include for course gfx.inc.c. */ -// This could be *func(arg) instead. -struct CourseAddrUnkStruct { +typedef struct { Gfx *addr; - s32 value; -}; + u8 surfaceType; + u8 sectionId; + u16 flags; +} TrackSections; #endif // COURSE_H diff --git a/include/mk64.h b/include/mk64.h index 2ee6eed95..8053c9cf2 100644 --- a/include/mk64.h +++ b/include/mk64.h @@ -6,7 +6,7 @@ #include #include "config.h" - +#define GFX_GET_OPCODE(var) ((s32)((var) & 0xFF000000)) // Pointer casting is technically UB, and avoiding it gets rid of endian issues // as well as a nice side effect. diff --git a/include/objects.h b/include/objects.h index d86e5d581..461ad59b7 100644 --- a/include/objects.h +++ b/include/objects.h @@ -102,7 +102,7 @@ extern s32 D_8018D1D8; // Limit on some object type (ice chips?) in Sherbet Land extern s32 D_8018D3C0; -extern UnkActorInner D_8018C0B0[]; +extern Collision D_8018C0B0[]; /** * D_80183EA0, D_80183F28, D_8018BFA8, and D_8018C030 are all lists of indices in D_80165C18. diff --git a/include/variables.h b/include/variables.h index bb115086f..71f0f6417 100644 --- a/include/variables.h +++ b/include/variables.h @@ -94,8 +94,8 @@ extern struct_D_802874D8 D_802874D8; //extern struct GfxPool *gGfxPool; // D_8014EF40 -extern mk64_surface_map_ram *D_8015F580; // This is techinally a pointer to an array, but declaring it as such create regalloc issues elsewhere -extern u16 D_8015F588; // Number of entires in D_8015F580 +extern mk64_surface_map_ram *gSurfaceMap; // This is techinally a pointer to an array, but declaring it as such create regalloc issues elsewhere +extern u16 D_8015F588; // Number of entires in gSurfaceMap extern Vec3f D_80165070[]; diff --git a/mk64.ld b/mk64.ld index d28e9b616..8399a8015 100644 --- a/mk64.ld +++ b/mk64.ld @@ -385,7 +385,7 @@ SECTIONS BUILD_DIR/src/actors.o(.text); BUILD_DIR/src/skybox_and_splitscreen.o(.text); BUILD_DIR/src/memory.o(.text); - BUILD_DIR/src/code_802AAA70.o(.text); + BUILD_DIR/src/collision.o(.text); BUILD_DIR/src/actors_extended.o(.text); BUILD_DIR/src/math_util.o(.text); BUILD_DIR/src/race_logic.o(.data); @@ -401,7 +401,7 @@ SECTIONS BUILD_DIR/src/actors.o(.rodata); BUILD_DIR/src/skybox_and_splitscreen.o(.rodata); BUILD_DIR/src/memory.o(.rodata); - BUILD_DIR/src/code_802AAA70.o(.rodata); + BUILD_DIR/src/collision.o(.rodata); BUILD_DIR/src/actors_extended.o(.rodata); BUILD_DIR/src/math_util.o(.rodata); } diff --git a/progress.py b/progress.py index 349101f29..f889088d9 100644 --- a/progress.py +++ b/progress.py @@ -80,12 +80,7 @@ mainSegFiles2 = [ "asm/non_matchings/menus", ] seg2Files2 = [ - "asm/non_matchings/actors", "asm/non_matchings/math_util", - "asm/non_matchings/memory", - "asm/non_matchings/code_802AAA70", - "asm/non_matchings/render_courses", - "asm/non_matchings/skybox", ] audioFiles2 = [ "asm/non_matchings/audio" @@ -171,7 +166,7 @@ seg2Files = [ "build/us/src/actors_extended", "build/us/src/math_util", "build/us/src/memory", - "build/us/src/code_802AAA70", + "build/us/src/collision", "build/us/src/race_logic", "build/us/src/render_courses", "build/us/src/skybox_and_splitscreen", diff --git a/src/actors.c b/src/actors.c index 93a5c8fac..5571e3763 100644 --- a/src/actors.c +++ b/src/actors.c @@ -15,7 +15,7 @@ #include "code_80005FD0.h" #include "code_80071F00.h" #include "code_8008C1D0.h" -#include "code_802AAA70.h" +#include "collision.h" #include #include "audio/external.h" #include "common_textures.h" @@ -342,7 +342,7 @@ void func_802976D8(Vec3s arg0) { arg0[2] = 0; } -void func_802976EC(UnkActorInner *arg0, Vec3s arg1) { +void func_802976EC(Collision *arg0, Vec3s arg1) { f32 x, y, z; if (arg0->unk34 == 0) { @@ -498,7 +498,7 @@ void update_obj_kiwano_fruit(struct KiwanoFruit *fruit) { } switch (fruit->state) { /* irregular */ case 0: - if ((func_802ABD10(player->unk_110.unk3A) & 0xFF) != 8) { + if ((get_surface_type(player->unk_110.unk3A) & 0xFF) != 8) { return; } fruit->state = 1; @@ -838,7 +838,7 @@ void func_80298C94(void) { for (index = 0; index < 4; index++){ // wtf is up with the << 0x18 >> 0x18? is it some weird type conversion? - if (((gPlayers[index].unk_000 & 0xC000) != 0) && (((func_802ABD10(gPlayers[index].unk_110.unk3A) << 0x18) >> 0x18) == 8)) { + if (((gPlayers[index].unk_000 & 0xC000) != 0) && (((get_surface_type(gPlayers[index].unk_110.unk3A) << 0x18) >> 0x18) == 8)) { func_80298AC0(&gPlayers[index]); } } @@ -1973,8 +1973,8 @@ void place_palm_trees(struct ActorSpawnData *spawnData) { temp_v1 = (struct PalmTree *) &gActorList[temp]; temp_v1->visibilityStates[0] = temp_s0->someId; - func_802ADDC8((UnkActorInner *) &temp_v1->unk30, 5.0f, temp_v1->pos[0], temp_v1->pos[1], temp_v1->pos[2]); - func_802976EC((UnkActorInner *) &temp_v1->unk30, temp_v1->unk10); + func_802ADDC8((Collision *) &temp_v1->unk30, 5.0f, temp_v1->pos[0], temp_v1->pos[1], temp_v1->pos[2]); + func_802976EC((Collision *) &temp_v1->unk30, temp_v1->unk10); temp_s0++; } } @@ -2014,7 +2014,7 @@ void place_falling_rocks(struct ActorSpawnData *spawnData) { temp_v1 = (struct FallingRock *) &gActorList[temp]; temp_v1->unk_06 = temp_s0->someId; - func_802AAAAC((UnkActorInner *) &temp_v1->unk30); + func_802AAAAC((Collision *) &temp_v1->unk30); temp_s0++; } } diff --git a/src/actors.h b/src/actors.h index 7cb7ee21b..20cf9324d 100644 --- a/src/actors.h +++ b/src/actors.h @@ -12,7 +12,7 @@ void func_802972B8(Camera*, struct Actor*); void func_80297340(Camera*); void func_80297524(uintptr_t, s32, s32); void func_802976D8(Vec3s); -void func_802976EC(UnkActorInner*, Vec3s); +void func_802976EC(Collision*, Vec3s); void func_80297760(struct Actor*, Vec3f); void func_802977B0(Player*); void func_802977E4(Player*); diff --git a/src/actors_extended.c b/src/actors_extended.c index bae59e9b5..19694ed95 100644 --- a/src/actors_extended.c +++ b/src/actors_extended.c @@ -7,14 +7,14 @@ #include "waypoints.h" #include "code_80005FD0.h" #include "code_80091750.h" -#include "code_802AAA70.h" +#include "collision.h" #include "actors.h" #include "actors_extended.h" #include "audio/external.h" #include "code_80071F00.h" #include "code_8008C1D0.h" -void func_802B0210(UnkActorInner *arg0, UnkActorInner *arg1) { +void func_802B0210(Collision *arg0, Collision *arg1) { arg1->unk30 = arg0->unk30; arg1->unk32 = arg0->unk32; arg1->unk34 = arg0->unk34; @@ -1241,7 +1241,7 @@ void update_obj_green_shell(struct ShellActor *shell) { func_802AD950(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], somePos2[0], somePos2[1], somePos2[2]); func_802B4E30((struct Actor *) shell); if ((shell->unk30.unk3C[0] < 0.0f) || (shell->unk30.unk3C[1] < 0.0f)) { - func_802AC098(&shell->unk30, shell->velocity); + shell_collision(&shell->unk30, shell->velocity); func_800C98B8(shell->pos, shell->velocity, 0x19008054U); shell->flags |= 0x80; } diff --git a/src/actors_extended.h b/src/actors_extended.h index 8081c3b31..d4dbbe021 100644 --- a/src/actors_extended.h +++ b/src/actors_extended.h @@ -4,7 +4,7 @@ #include "common_structs.h" #include "actor_types.h" -void func_802B0210(UnkActorInner*, UnkActorInner*); +void func_802B0210(Collision*, Collision*); void func_802B02B4(struct ShellActor*, s32); void func_802B039C(struct BananaActor*); void func_802B0464(s16); diff --git a/src/audio/port_eu.h b/src/audio/port_eu.h index 4f47adf47..77706ded5 100644 --- a/src/audio/port_eu.h +++ b/src/audio/port_eu.h @@ -24,8 +24,6 @@ extern OSMesg D_80194028[]; extern OSMesg D_80194038[]; extern OSMesg D_8019403C[]; -extern u8 D_800EA3A0[]; -extern u8 D_800EA3A4[]; extern OSMesgQueue *D_800EA3A8; extern OSMesgQueue *D_800EA3AC; extern OSMesgQueue *D_800EA3B0; diff --git a/src/camera.c b/src/camera.c index e9248444c..a04fbca92 100644 --- a/src/camera.c +++ b/src/camera.c @@ -8,7 +8,7 @@ #include "waypoints.h" #include "variables.h" #include "code_8001F980.h" -#include "code_802AAA70.h" +#include "collision.h" #include "code_80057C60.h" #include "code_80005FD0.h" #include "main.h" diff --git a/src/camera.h b/src/camera.h index f9263e8d3..73cbb1b99 100644 --- a/src/camera.h +++ b/src/camera.h @@ -37,7 +37,7 @@ typedef struct { /* 0x48 */ s32 unk_48; /* 0x4C */ s32 unk_4C; /* 0x50 */ s32 unk_50; - /* 0x54 */ UnkActorInner unk_54; + /* 0x54 */ Collision unk_54; // When you hit a wall (or another driver) the camera's pos and lookAt bounce up and down. This is the velocity(?) of that bouncing /* 0x94 */ UnkCameraInner unk_94; // Timer for wall-hit bounce. Counts up instead of down diff --git a/src/code_800029B0.c b/src/code_800029B0.c index 61720662b..5d9f1dc0d 100644 --- a/src/code_800029B0.c +++ b/src/code_800029B0.c @@ -10,7 +10,7 @@ #include "audio/external.h" #include "code_800029B0.h" #include -#include "code_802AAA70.h" +#include "collision.h" #include "memory.h" #include "code_80091750.h" #include "skybox_and_splitscreen.h" @@ -230,10 +230,10 @@ void func_80003040(void) { place_segment_06(D_06009570); break; case COURSE_BOWSER_CASTLE: - func_802AF8BC(0x7001350, 0x32, 0, 0, 0); + find_vtx_and_set_colours(0x7001350, 0x32, 0, 0, 0); break; case COURSE_BANSHEE_BOARDWALK: - func_802AF8BC(0x7000878, -0x80, 0, 0, 0); + find_vtx_and_set_colours(0x7000878, -0x80, 0, 0, 0); break; case COURSE_YOSHI_VALLEY: vec3f_set(position, -2300.0f, 0.0f, 634.0f); @@ -256,13 +256,13 @@ void func_80003040(void) { place_segment_06(D_06014330); break; case COURSE_SHERBET_LAND: - func_802AF8BC(0x7001EB8, -0x4C, 0xFF, 0xFF, 0xFF); - func_802AF8BC(0x7002308, -0x6A, 0xFF, 0xFF, 0xFF); + find_vtx_and_set_colours(0x7001EB8, -0x4C, 0xFF, 0xFF, 0xFF); + find_vtx_and_set_colours(0x7002308, -0x6A, 0xFF, 0xFF, 0xFF); break; case COURSE_RAINBOW_ROAD: - func_802AF8BC(0x7002068, -0x6A, 0xFF, 0xFF, 0xFF); - func_802AF8BC(0x7001E18, -0x6A, 0xFF, 0xFF, 0xFF); - func_802AF8BC(0x7001318, -1, 0xFF, 0xFF, 0); + find_vtx_and_set_colours(0x7002068, -0x6A, 0xFF, 0xFF, 0xFF); + find_vtx_and_set_colours(0x7001E18, -0x6A, 0xFF, 0xFF, 0xFF); + find_vtx_and_set_colours(0x7001318, -1, 0xFF, 0xFF, 0); break; case COURSE_WARIO_STADIUM: vec3f_set(position, -131.0f, 83.0f, 286.0f); @@ -271,17 +271,17 @@ void func_80003040(void) { addActorToEmptySlot(position, rotation, velocity, ACTOR_WARIO_STADIUM_SIGN); vec3f_set(position, -2622.0f, 79.0f, 739.0f); addActorToEmptySlot(position, rotation, velocity, ACTOR_WARIO_STADIUM_SIGN); - func_802AF8BC(0x7000C50, 0x64, 0xFF, 0xFF, 0xFF); - func_802AF8BC(0x7000BD8, 0x64, 0xFF, 0xFF, 0xFF); - func_802AF8BC(0x7000B60, 0x64, 0xFF, 0xFF, 0xFF); - func_802AF8BC(0x7000AE8, 0x64, 0xFF, 0xFF, 0xFF); - func_802AF8BC(0x7000CC8, 0x64, 0xFF, 0xFF, 0xFF); - func_802AF8BC(0x7000D50, 0x64, 0xFF, 0xFF, 0xFF); - func_802AF8BC(0x7000DD0, 0x64, 0xFF, 0xFF, 0xFF); - func_802AF8BC(0x7000E48, 0x64, 0xFF, 0xFF, 0xFF); + find_vtx_and_set_colours(0x7000C50, 0x64, 0xFF, 0xFF, 0xFF); + find_vtx_and_set_colours(0x7000BD8, 0x64, 0xFF, 0xFF, 0xFF); + find_vtx_and_set_colours(0x7000B60, 0x64, 0xFF, 0xFF, 0xFF); + find_vtx_and_set_colours(0x7000AE8, 0x64, 0xFF, 0xFF, 0xFF); + find_vtx_and_set_colours(0x7000CC8, 0x64, 0xFF, 0xFF, 0xFF); + find_vtx_and_set_colours(0x7000D50, 0x64, 0xFF, 0xFF, 0xFF); + find_vtx_and_set_colours(0x7000DD0, 0x64, 0xFF, 0xFF, 0xFF); + find_vtx_and_set_colours(0x7000E48, 0x64, 0xFF, 0xFF, 0xFF); break; case COURSE_DK_JUNGLE: - func_802AF8BC(0x7003FA8, 0x78, 0xFF, 0xFF, 0xFF); + find_vtx_and_set_colours(0x7003FA8, 0x78, 0xFF, 0xFF, 0xFF); break; default: break; diff --git a/src/code_80005FD0.c b/src/code_80005FD0.c index 6552c96f4..416fa9cc6 100644 --- a/src/code_80005FD0.c +++ b/src/code_80005FD0.c @@ -10,7 +10,7 @@ #include "code_8001F980.h" #include "code_80027D00.h" #include "code_80071F00.h" -#include "code_802AAA70.h" +#include "collision.h" #include "variables.h" #include #include "vehicles.h" @@ -3095,7 +3095,7 @@ GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000D100.s") s16 func_8000D24C(f32 posX, f32 posY, f32 posZ, s32 *pathIndex) { UNUSED s32 pad; - UnkActorInner sp24; + Collision sp24; func_802ADDC8(&sp24, 10.0f, posX, posY, posZ); return func_8000C0BC(posX, posY, posZ, func_802ABD40(sp24.unk3A), pathIndex); @@ -3469,7 +3469,7 @@ GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000DBAC.s") #endif void func_8000DD78(void) { - UnkActorInner *var_s2; + Collision *var_s2; f32 startingXPos; f32 startingZPos; f32 startingYPos; @@ -3532,7 +3532,7 @@ extern f32 D_80162FB0; extern f32 D_80162FC0; extern s16 D_8016347C; extern s16 D_8016347E; -extern ? D_80164038; +extern Collision D_80164038; extern u16 D_8016443E; extern s32 D_8016455C; extern u16 D_801645CE; @@ -3558,7 +3558,7 @@ void func_8000DF8C(s32 arg0) { s32 sp48; /* compiler-managed */ s32 sp44; Player *var_v0; - UnkActorInner *temp_a0_4; + Collision *temp_a0_4; f32 temp_f0; f32 temp_f0_2; f32 temp_f0_3; diff --git a/src/code_80005FD0.h b/src/code_80005FD0.h index 504645730..a0657576e 100644 --- a/src/code_80005FD0.h +++ b/src/code_80005FD0.h @@ -160,7 +160,7 @@ extern s8 D_8018EDF3; extern f32 D_800DCA4C[]; // See bss_80005FD0.s -extern UnkActorInner D_80162E70; +extern Collision D_80162E70; extern s16 D_80162EB0; extern u16 D_801631E0[8]; extern s32 D_80163488; diff --git a/src/code_80027D00.c b/src/code_80027D00.c index 719f5e2d9..ba9bfa3d3 100644 --- a/src/code_80027D00.c +++ b/src/code_80027D00.c @@ -9,7 +9,7 @@ #include "code_8001F980.h" #include "code_80027D00.h" #include "code_8008C1D0.h" -#include "code_802AAA70.h" +#include "collision.h" #include "waypoints.h" #include "audio/external.h" @@ -1016,8 +1016,8 @@ GLOBAL_ASM("asm/non_matchings/code_80027D00/func_8002934C.s") #endif #ifdef MIPS_TO_C -//generated by m2c commit eefca95b040d7ee0c617bc58f9ac6cd1cf7bce87 on Aug-17-2023 -? func_802AFA34(Player *, KartBoundingBoxCorner *, f32, f32, f32); /* extern */ +//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc +//s32 process_collision(Player *, KartBoundingBoxCorner *, f32, f32, f32); /* extern */ void func_80029B4C(Player *player, f32 arg1, f32 arg2, f32 arg3) { f32 sp94; @@ -1071,7 +1071,7 @@ void func_80029B4C(Player *player, f32 arg1, f32 arg2, f32 arg3) { player->boundingBoxCorners[0].cornerPos[0] = sp8C + player->pos[0]; player->boundingBoxCorners[0].cornerPos[1] = sp90 + player->pos[1]; player->boundingBoxCorners[0].cornerPos[2] = sp94 + player->pos[2]; - func_802AFA34(player, player->boundingBoxCorners, sp80, sp84, sp88); + process_collision(player, player->boundingBoxCorners, sp80, sp84, sp88); temp_f14 = -sp48; temp_f2_2 = (f64) temp_f14; sp8C = (f32) (temp_f2_2 + 3.6); @@ -1086,7 +1086,7 @@ void func_80029B4C(Player *player, f32 arg1, f32 arg2, f32 arg3) { player->boundingBoxCorners[1].cornerPos[0] = sp8C + player->pos[0]; player->boundingBoxCorners[1].cornerPos[1] = sp90 + player->pos[1]; player->boundingBoxCorners[1].cornerPos[2] = sp94 + player->pos[2]; - func_802AFA34(player, &player->boundingBoxCorners[1], sp80, sp84, sp88); + process_collision(player, &player->boundingBoxCorners[1], sp80, sp84, sp88); temp_f12 = sp34 + 4.0f; sp8C = (f32) (sp38 - 2.6); sp94 = temp_f12; @@ -1099,7 +1099,7 @@ void func_80029B4C(Player *player, f32 arg1, f32 arg2, f32 arg3) { player->boundingBoxCorners[2].cornerPos[0] = sp8C + player->pos[0]; player->boundingBoxCorners[2].cornerPos[1] = sp90 + player->pos[1]; player->boundingBoxCorners[2].cornerPos[2] = sp94 + player->pos[2]; - func_802AFA34(player, &player->boundingBoxCorners[2], sp80, sp84, sp88); + process_collision(player, &player->boundingBoxCorners[2], sp80, sp84, sp88); sp8C = (f32) (sp28 + 2.6); sp94 = sp40; sp90 = -player->boundingBoxSize; @@ -1110,7 +1110,7 @@ void func_80029B4C(Player *player, f32 arg1, f32 arg2, f32 arg3) { player->boundingBoxCorners[3].cornerPos[0] = sp8C + player->pos[0]; player->boundingBoxCorners[3].cornerPos[1] = sp90 + player->pos[1]; player->boundingBoxCorners[3].cornerPos[2] = sp94 + player->pos[2]; - func_802AFA34(player, &player->boundingBoxCorners[3], sp80, sp84, sp88); + process_collision(player, &player->boundingBoxCorners[3], sp80, sp84, sp88); if (!(player->unk_0BC & 8)) { move_f32_towards(&player->unk_230, (player->boundingBoxCorners[0].cornerGroundY + player->boundingBoxCorners[2].cornerGroundY) / 2.0f, 0.5f); move_f32_towards(&player->unk_23C, (player->boundingBoxCorners[1].cornerGroundY + player->boundingBoxCorners[3].cornerGroundY) / 2.0f, 0.5f); @@ -1139,7 +1139,7 @@ void func_80029B4C(Player *player, f32 arg1, f32 arg2, f32 arg3) { if (((player->unk_0BC & 8) == 8) && ((player->unk_0CA & 2) == 2)) { player->unk_0C4 = (s16) (s32) player->unk_D9C; } - temp_t5 = func_802ABD10(player->unk_110.unk3A) & 0xFF; + temp_t5 = get_surface_type(player->unk_110.unk3A) & 0xFF; var_v1 = temp_t5 & 0xFFFF; player->unk_0F8 = temp_t5; if (var_v1 == 0xFE) { @@ -1202,7 +1202,7 @@ void func_8002A194(Player *player, f32 arg1, f32 arg2, f32 arg3) { player->unk_1FC = (player->boundingBoxCorners[1].cornerGroundY + player->boundingBoxCorners[0].cornerGroundY) / 2; player->unk_1F8 = (player->boundingBoxCorners[3].cornerGroundY + player->boundingBoxCorners[2].cornerGroundY) / 2; } - player->unk_0F8 = (u8)func_802ABD10(player->unk_110.unk3A); + player->unk_0F8 = (u8)get_surface_type(player->unk_110.unk3A); player->boundingBoxCorners[3].surfaceType = player->unk_0F8; player->boundingBoxCorners[2].surfaceType = player->unk_0F8; player->boundingBoxCorners[1].surfaceType = player->unk_0F8; diff --git a/src/code_80071F00.c b/src/code_80071F00.c index 2bbae752a..54a5c3a22 100644 --- a/src/code_80071F00.c +++ b/src/code_80071F00.c @@ -18,7 +18,7 @@ #include "sounds.h" #include #include "race_logic.h" -#include "code_802AAA70.h" +#include "collision.h" #include "code_8008C1D0.h" #include "code_80091440.h" #include "code_80091750.h" diff --git a/src/code_80086E70.c b/src/code_80086E70.c index 561e4f19f..2843c5db8 100644 --- a/src/code_80086E70.c +++ b/src/code_80086E70.c @@ -9,7 +9,7 @@ #include "memory.h" #include "code_80071F00.h" #include "code_80086E70.h" -#include "code_802AAA70.h" +#include "collision.h" #include "audio/external.h" #include "variables.h" diff --git a/src/code_80086E70.h b/src/code_80086E70.h index 57c5cfe08..fc9124b8c 100644 --- a/src/code_80086E70.h +++ b/src/code_80086E70.h @@ -165,7 +165,7 @@ extern s32 gPlayerCountSelection1; extern f32 D_80183DA8[]; extern f32 D_80183DC8[]; extern f32 gVBlankTimer; -extern UnkActorInner D_8018C3B0; +extern Collision D_8018C3B0; extern Player *gPlayerOne; extern Player *gPlayerOneCopy; extern s16 gCurrentCourseId; diff --git a/src/code_80091440.c b/src/code_80091440.c index 61a42b180..c6bd58478 100644 --- a/src/code_80091440.c +++ b/src/code_80091440.c @@ -4,7 +4,7 @@ #include "math_util.h" #include "main.h" #include -#include "code_802AAA70.h" +#include "collision.h" void func_80091440(s8 arg0) { if ((gPlayers[arg0].unk_044 & 0x800) == 0) { diff --git a/src/code_80280000.c b/src/code_80280000.c index 30664b9d3..1badd4b72 100644 --- a/src/code_80280000.c +++ b/src/code_80280000.c @@ -145,7 +145,7 @@ void load_credits(void) { D_8015F588 = 0; D_800DC5BC = 0; D_800DC5C8 = 0; - D_8015F580 = (mk64_surface_map_ram *) gNextFreeMemoryAddress; + gSurfaceMap = (mk64_surface_map_ram *) gNextFreeMemoryAddress; camera->pos[0] = 1400.0f; camera->pos[1] = 300.0f; camera->pos[2] = 1400.0f; diff --git a/src/code_80281780.c b/src/code_80281780.c index ccdfdf014..980905042 100644 --- a/src/code_80281780.c +++ b/src/code_80281780.c @@ -12,7 +12,7 @@ #include "podium_ceremony_actors.h" #include "code_80281780.h" #include "code_80005FD0.h" -#include "code_802AAA70.h" +#include "collision.h" #include "code_80281C40.h" u8 defaultCharacterIds[] = { @@ -124,19 +124,19 @@ void load_ceremony_cutscene(void) { D_8015F588 = (u16)0; D_800DC5BC = (u16)0; D_800DC5C8 = (u16)0; - D_8015F580 = (mk64_surface_map_ram *) gNextFreeMemoryAddress; + gSurfaceMap = (mk64_surface_map_ram *) gNextFreeMemoryAddress; // @bug these segmented addresses need to be symbols for mobility // This syntax is required to match - func_802AF5AC(0x70067E8, -1); - func_802AF5AC(0x700AEF8, -1); - func_802AF5AC(0x700A970, 8); - func_802AF5AC(0x700AC30, 8); - func_802AF5AC(0x7000CE0, 0x10); - func_802AF5AC(0x7000E88, 0x10); - func_802AF5AC(0x700A618, -1); - func_802AF5AC(0x700A618, -1); - func_802AF5AC(0x70023F8, 1); - func_802AF5AC(0x7002478, 1); + set_vertex_data_with_default_section_id(0x70067E8, -1); + set_vertex_data_with_default_section_id(0x700AEF8, -1); + set_vertex_data_with_default_section_id(0x700A970, 8); + set_vertex_data_with_default_section_id(0x700AC30, 8); + set_vertex_data_with_default_section_id(0x7000CE0, 0x10); + set_vertex_data_with_default_section_id(0x7000E88, 0x10); + set_vertex_data_with_default_section_id(0x700A618, -1); + set_vertex_data_with_default_section_id(0x700A618, -1); + set_vertex_data_with_default_section_id(0x70023F8, 1); + set_vertex_data_with_default_section_id(0x7002478, 1); func_80295C6C(); debug_switch_character_ceremony_cutscene(); func_802818BC(); diff --git a/src/code_802AAA70.c b/src/code_802AAA70.c deleted file mode 100644 index 130e78584..000000000 --- a/src/code_802AAA70.c +++ /dev/null @@ -1,2679 +0,0 @@ -#include "code_802AAA70.h" -#include "math_util.h" -#include "variables.h" -#include - -// Used for the choco mountain guard rail -void nullify_displaylist(uintptr_t addr) { - s32 segment = SEGMENT_NUMBER2(addr); - s32 offset = SEGMENT_OFFSET(addr); - - Gfx *macro; - - macro = (Gfx *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset); - macro->words.w0 = G_ENDDL << 24; - macro->words.w1 = 0; -} - -void func_802AAAAC(UnkActorInner *arg0) { - arg0->unk36 = 0x1388; - arg0->unk38 = 0x1388; - arg0->unk3A = 0x1388; - arg0->unk30 = 0; - arg0->unk32 = 0; - arg0->unk34 = 0; - arg0->unk3C[0] = 0; - arg0->unk3C[1] = 0; - arg0->unk3C[2] = 0; - vec3f_set(arg0->unk48, 0.0f, 0.0f, 1.0f); - vec3f_set(arg0->unk54, 1.0f, 0.0f, 0.0f); - vec3f_set(arg0->unk60, 0.0f, 1.0f, 0.0f); -} - -f32 func_802AAB4C(Player *player) { - f32 playerX; - f32 playerZ; - s32 temp_v1; - - playerX = player->pos[0]; - playerZ = player->pos[2]; - switch (gCurrentCourseId) { /* irregular */ - case COURSE_BOWSER_CASTLE: - if (playerX > 1859.0f) { - return D_8015F8E4; - } - if (playerX < 1549.0f) { - return D_8015F8E4; - } - if (playerZ > -1102.0f) { - return D_8015F8E4; - } - if (playerZ < -1402.0f) { - return D_8015F8E4; - } - return 20.0f; - case COURSE_KOOPA_BEACH: - if (playerX > 239.0f) { - return D_8015F8E4; - } - if (playerX < 67.0f) { - return D_8015F8E4; - } - if (playerZ > 2405.0f) { - return D_8015F8E4; - } - if (playerZ < 2233.0f) { - return D_8015F8E4; - } - return 0.8f; - case COURSE_SHERBET_LAND: - if ((func_802ABD10(player->unk_110.unk3A) & 0xFF) == 5) { - return (f32) (D_8015F6EE - 0xA); - } - return D_8015F8E4; - case COURSE_DK_JUNGLE: - temp_v1 = func_802ABD40(player->unk_110.unk3A) & 0xFF; - if (temp_v1 == 0xFF) { - if ((func_802ABD10(player->unk_110.unk3A) & 0xFF) == 0xF) { - return -475.0f; - } - if (playerX > -478.0f) { - return -33.9f; - } - if (playerX < -838.0f) { - return -475.0f; - } - if (playerZ > -436.0f) { - return -475.0f; - } - if (playerZ < -993.0f) { - return -33.9f; - } - if (playerZ < playerX) { - return -475.0f; - } - return -33.9f; - } - if (temp_v1 >= 0x14) { - return -475.0f; - } - return -33.9f; - default: - return D_8015F8E4; - } -} - -#ifdef MIPS_TO_C -//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c -static f32 D_802B9E48 = -0.9f; - -s32 func_802AAE4C(UnkActorInner *arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, u16 arg5) { - f32 sp6C; - f32 sp64; - f32 sp3C; - f32 sp2C; - f32 sp28; - f32 sp24; - f32 sp20; - f32 sp1C; - f32 sp18; - f32 sp14; - f32 sp10; - f32 spC; - f32 sp8; - Vtx *temp_a0; - Vtx *temp_a2; - Vtx *temp_a3; - f32 temp_f0; - f32 temp_f0_2; - f32 temp_f0_3; - f32 temp_f0_4; - f32 temp_f0_5; - f32 temp_f10; - f32 temp_f12; - f32 temp_f12_2; - f32 temp_f14; - f32 temp_f14_2; - f32 temp_f16; - f32 temp_f2; - f32 temp_f2_2; - f32 temp_f2_3; - f32 temp_f4; - f32 temp_f8; - mk64_surface_map_ram *temp_v1; - s32 var_v0; - s32 var_v0_2; - - temp_v1 = &D_8015F580[arg5]; - temp_f0 = temp_v1->gravity; - var_v0_2 = 1; - if (temp_f0 < D_802B9E48) { - return 0; - } - if (arg2 < (f32) temp_v1->vtx3[0]) { - return 0; - } - if (arg4 < (f32) temp_v1->vtx3[2]) { - return 0; - } - if ((f32) temp_v1->vtx2[0] < arg2) { - return 0; - } - if ((f32) temp_v1->vtx2[2] < arg4) { - return 0; - } - sp2C = temp_f0; - if (arg3 < ((f32) temp_v1->vtx3[1] - (arg1 * 3.0f))) { - return 0; - } - temp_a0 = temp_v1->vtxs[0]; - temp_a3 = temp_v1->vtxs[2]; - temp_a2 = temp_v1->vtxs[1]; - sp6C = (f32) temp_a3->v.ob[0]; - sp8 = arg4; - sp10 = arg2; - temp_f8 = (f32) temp_a0->v.ob[2] - arg4; - sp64 = (f32) temp_a3->v.ob[2]; - temp_f4 = (f32) temp_a2->v.ob[0] - arg2; - sp28 = temp_f8; - sp24 = temp_f4; - sp20 = (f32) temp_a0->v.ob[0] - arg2; - temp_f0_2 = temp_f8 * temp_f4; - sp8 = temp_f8; - spC = temp_f4; - sp1C = (f32) temp_a2->v.ob[2] - arg4; - temp_f2 = sp20 * sp1C; - temp_f10 = temp_f0_2 - temp_f2; - sp18 = temp_f10; - sp3C = temp_f10; - if (temp_f2 == temp_f0_2) { - sp14 = arg4; - temp_f0_3 = sp6C - sp10; - temp_f2_2 = sp64 - arg4; - if ((((sp1C * temp_f0_3) - (spC * temp_f2_2)) * ((temp_f2_2 * sp20) - (temp_f0_3 * sp8))) < 0.0f) { - var_v0_2 = 0; - } - } else { - temp_f2_3 = sp64 - arg4; - temp_f0_4 = sp6C - arg2; - temp_f14 = sp24 * temp_f2_3; - temp_f12 = sp1C * temp_f0_4; - if (temp_f14 == temp_f12) { - if ((sp3C * ((temp_f2_3 * sp20) - (temp_f0_4 * sp28))) < 0.0f) { - var_v0_2 = 0; - } - } else { - temp_f16 = temp_f12 - temp_f14; - if ((sp18 * temp_f16) < 0.0f) { - var_v0_2 = 0; - } else { - temp_f14_2 = temp_f0_4 * sp28; - temp_f12_2 = temp_f2_3 * sp20; - if ((temp_f14_2 != temp_f12_2) && ((temp_f16 * (temp_f12_2 - temp_f14_2)) < 0.0f)) { - var_v0_2 = 0; - } - } - } - } - if (var_v0_2 == 0) { - return 0; - } - temp_f0_5 = ((temp_v1->height * arg2) + (sp2C * arg3) + (temp_v1->rotation * arg4) + temp_v1->height2) - arg1; - if (temp_f0_5 > 0.0f) { - if (temp_f0_5 < arg0->unk3C[2]) { - arg0->unk34 = 1; - arg0->unk3A = arg5; - arg0->unk3C[2] = temp_f0_5; - arg0->unk60[0] = temp_v1->height; - arg0->unk60[1] = temp_v1->gravity; - arg0->unk60[2] = temp_v1->rotation; - } - return 0; - } - var_v0 = 0; - if (temp_f0_5 > -16.0f) { - arg0->unk34 = 1; - arg0->unk3A = arg5; - arg0->unk3C[2] = temp_f0_5; - var_v0 = 1; - arg0->unk60[0] = temp_v1->height; - arg0->unk60[1] = temp_v1->gravity; - arg0->unk60[2] = temp_v1->rotation; - } - return var_v0; -} -#else -GLOBAL_ASM("asm/non_matchings/code_802AAA70/func_802AAE4C.s") -#endif - -#ifdef MIPS_TO_C -//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c -s32 func_802AB288(UnkActorInner *arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, u16 arg5) { - f32 sp70; - f32 sp6C; - f32 sp3C; - f32 sp2C; - f32 sp28; - f32 sp24; - f32 sp20; - f32 sp1C; - f32 sp14; - f32 sp10; - f32 spC; - f32 sp8; - Vtx *temp_a0; - Vtx *temp_a2; - Vtx *temp_a3; - f32 temp_f0; - f32 temp_f0_2; - f32 temp_f0_3; - f32 temp_f0_4; - f32 temp_f12; - f32 temp_f12_2; - f32 temp_f14; - f32 temp_f14_2; - f32 temp_f16; - f32 temp_f2; - f32 temp_f2_2; - f32 temp_f2_3; - f32 temp_f2_4; - f32 temp_f4; - f32 temp_f6; - f32 temp_f8; - mk64_surface_map_ram *temp_v1; - s32 var_v0; - s32 var_v0_2; - - temp_v1 = &D_8015F580[arg5]; - var_v0_2 = 1; - if (arg2 < (f32) temp_v1->vtx3[0]) { - return 0; - } - if ((f32) temp_v1->vtx2[0] < arg2) { - return 0; - } - if ((f32) temp_v1->vtx2[1] < arg3) { - return 0; - } - if (arg3 < (f32) temp_v1->vtx3[1]) { - return 0; - } - temp_f2 = arg1 * 3.0f; - if (arg4 < ((f32) temp_v1->vtx3[2] - temp_f2)) { - return 0; - } - if (((f32) temp_v1->vtx2[2] + temp_f2) < arg4) { - return 0; - } - temp_a0 = temp_v1->vtxs[0]; - temp_a3 = temp_v1->vtxs[2]; - temp_a2 = temp_v1->vtxs[1]; - sp70 = (f32) temp_a3->v.ob[0]; - sp8 = arg3; - sp10 = arg2; - temp_f4 = (f32) temp_a0->v.ob[1] - arg3; - sp6C = (f32) temp_a3->v.ob[1]; - temp_f8 = (f32) temp_a2->v.ob[0] - arg2; - sp2C = temp_f4; - sp28 = temp_f8; - sp24 = (f32) temp_a0->v.ob[0] - arg2; - temp_f0 = temp_f4 * temp_f8; - sp8 = temp_f4; - spC = temp_f8; - sp20 = (f32) temp_a2->v.ob[1] - arg3; - temp_f2_2 = sp24 * sp20; - temp_f6 = temp_f0 - temp_f2_2; - sp1C = temp_f6; - sp3C = temp_f6; - if (temp_f2_2 == temp_f0) { - sp14 = arg3; - temp_f0_2 = sp70 - sp10; - temp_f2_3 = sp6C - arg3; - if ((((sp20 * temp_f0_2) - (spC * temp_f2_3)) * ((temp_f2_3 * sp24) - (temp_f0_2 * sp8))) < 0.0f) { - var_v0_2 = 0; - } - } else { - temp_f2_4 = sp6C - arg3; - temp_f0_3 = sp70 - arg2; - temp_f14 = sp28 * temp_f2_4; - temp_f12 = sp20 * temp_f0_3; - if (temp_f14 == temp_f12) { - if ((sp3C * ((temp_f2_4 * sp24) - (temp_f0_3 * sp2C))) < 0.0f) { - var_v0_2 = 0; - } - } else { - temp_f16 = temp_f12 - temp_f14; - if ((sp1C * temp_f16) < 0.0f) { - var_v0_2 = 0; - } else { - temp_f14_2 = temp_f0_3 * sp2C; - temp_f12_2 = temp_f2_4 * sp24; - if ((temp_f14_2 != temp_f12_2) && ((temp_f16 * (temp_f12_2 - temp_f14_2)) < 0.0f)) { - var_v0_2 = 0; - } - } - } - } - if (var_v0_2 == 0) { - return 0; - } - temp_f0_4 = ((temp_v1->height * arg2) + (temp_v1->gravity * arg3) + (temp_v1->rotation * arg4) + temp_v1->height2) - arg1; - if (temp_f0_4 > 0.0f) { - if (temp_f0_4 < arg0->unk3C[0]) { - arg0->unk30 = 1; - arg0->unk36 = arg5; - arg0->unk3C[0] = temp_f0_4; - arg0->unk48[0] = temp_v1->height; - arg0->unk48[1] = temp_v1->gravity; - arg0->unk48[2] = temp_v1->rotation; - } - return 0; - } - var_v0 = 0; - if (temp_f0_4 > -16.0f) { - arg0->unk30 = 1; - arg0->unk36 = arg5; - arg0->unk3C[0] = temp_f0_4; - var_v0 = 1; - arg0->unk48[0] = temp_v1->height; - arg0->unk48[1] = temp_v1->gravity; - arg0->unk48[2] = temp_v1->rotation; - } - return var_v0; -} -#else -GLOBAL_ASM("asm/non_matchings/code_802AAA70/func_802AB288.s") -#endif - -#ifdef MIPS_TO_C -//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c -s32 func_802AB6C4(UnkActorInner *arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, u16 arg5) { - f32 sp68; - f32 sp64; - f32 sp38; - f32 sp2C; - f32 sp28; - f32 sp24; - f32 sp20; - f32 sp1C; - f32 sp14; - f32 sp10; - f32 spC; - f32 sp8; - Vtx *temp_a0; - Vtx *temp_a2; - Vtx *temp_a3; - f32 temp_f0; - f32 temp_f0_2; - f32 temp_f0_3; - f32 temp_f0_4; - f32 temp_f0_5; - f32 temp_f10; - f32 temp_f12; - f32 temp_f12_2; - f32 temp_f14; - f32 temp_f14_2; - f32 temp_f16; - f32 temp_f2; - f32 temp_f2_2; - f32 temp_f2_3; - f32 temp_f4; - f32 temp_f6; - mk64_surface_map_ram *temp_v1; - s32 var_v0; - s32 var_v0_2; - - temp_v1 = &D_8015F580[arg5]; - var_v0_2 = 1; - if (arg4 < (f32) temp_v1->vtx3[2]) { - return 0; - } - if ((f32) temp_v1->vtx2[2] < arg4) { - return 0; - } - if ((f32) temp_v1->vtx2[1] < arg3) { - return 0; - } - if (arg3 < (f32) temp_v1->vtx3[1]) { - return 0; - } - temp_f0 = arg1 * 3.0f; - if (arg2 < ((f32) temp_v1->vtx3[0] - temp_f0)) { - return 0; - } - if (((f32) temp_v1->vtx2[0] + temp_f0) < arg2) { - return 0; - } - temp_a0 = temp_v1->vtxs[0]; - temp_a3 = temp_v1->vtxs[2]; - temp_a2 = temp_v1->vtxs[1]; - sp64 = (f32) temp_a3->v.ob[2]; - sp8 = arg3; - sp10 = arg4; - temp_f6 = (f32) temp_a0->v.ob[1] - arg3; - sp68 = (f32) temp_a3->v.ob[1]; - temp_f10 = (f32) temp_a2->v.ob[2] - arg4; - sp2C = temp_f6; - sp28 = temp_f10; - sp24 = (f32) temp_a0->v.ob[2] - arg4; - temp_f0_2 = temp_f6 * temp_f10; - sp8 = temp_f6; - spC = temp_f10; - sp20 = (f32) temp_a2->v.ob[1] - arg3; - temp_f2 = sp24 * sp20; - temp_f4 = temp_f0_2 - temp_f2; - sp1C = temp_f4; - sp38 = temp_f4; - if (temp_f2 == temp_f0_2) { - sp14 = arg3; - temp_f0_3 = sp64 - sp10; - temp_f2_2 = sp68 - arg3; - if ((((sp20 * temp_f0_3) - (spC * temp_f2_2)) * ((temp_f2_2 * sp24) - (temp_f0_3 * sp8))) < 0.0f) { - var_v0_2 = 0; - } - } else { - temp_f2_3 = sp68 - arg3; - temp_f0_4 = sp64 - arg4; - temp_f14 = sp28 * temp_f2_3; - temp_f12 = sp20 * temp_f0_4; - if (temp_f14 == temp_f12) { - if ((sp38 * ((temp_f2_3 * sp24) - (temp_f0_4 * sp2C))) < 0.0f) { - var_v0_2 = 0; - } - } else { - temp_f16 = temp_f12 - temp_f14; - if ((sp1C * temp_f16) < 0.0f) { - var_v0_2 = 0; - } else { - temp_f14_2 = temp_f0_4 * sp2C; - temp_f12_2 = temp_f2_3 * sp24; - if ((temp_f14_2 != temp_f12_2) && ((temp_f16 * (temp_f12_2 - temp_f14_2)) < 0.0f)) { - var_v0_2 = 0; - } - } - } - } - if (var_v0_2 == 0) { - return 0; - } - temp_f0_5 = ((temp_v1->height * arg2) + (temp_v1->gravity * arg3) + (temp_v1->rotation * arg4) + temp_v1->height2) - arg1; - if (temp_f0_5 > 0.0f) { - if (temp_f0_5 < arg0->unk3C[1]) { - arg0->unk32 = 1; - arg0->unk38 = arg5; - arg0->unk3C[1] = temp_f0_5; - arg0->unk54[0] = temp_v1->height; - arg0->unk54[1] = temp_v1->gravity; - arg0->unk54[2] = temp_v1->rotation; - } - return 0; - } - var_v0 = 0; - if (temp_f0_5 > -16.0f) { - arg0->unk32 = 1; - arg0->unk38 = arg5; - arg0->unk3C[1] = temp_f0_5; - var_v0 = 1; - arg0->unk54[0] = temp_v1->height; - arg0->unk54[1] = temp_v1->gravity; - arg0->unk54[2] = temp_v1->rotation; - } - return var_v0; -} -#else -GLOBAL_ASM("asm/non_matchings/code_802AAA70/func_802AB6C4.s") -#endif - -#ifdef MIPS_TO_C -//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c -s32 func_802ABB04(f32 arg0, f32 arg1, s32 arg2) { - f32 sp6C; - f32 sp64; - f32 sp60; - f32 sp58; - f32 sp3C; - f32 sp28; - f32 sp20; - f32 sp1C; - Vtx *temp_a0; - Vtx *temp_a1; - Vtx *temp_a3; - f32 temp_f0; - f32 temp_f0_2; - f32 temp_f0_3; - f32 temp_f10; - f32 temp_f12; - f32 temp_f14; - f32 temp_f16; - f32 temp_f16_2; - f32 temp_f18; - f32 temp_f20; - f32 temp_f22; - f32 temp_f2; - f32 temp_f2_2; - f32 temp_f2_3; - f32 temp_f6; - mk64_surface_map_ram *temp_v0; - s32 var_v1; - - temp_v0 = &D_8015F580[arg2 & 0xFFFF]; - temp_a1 = temp_v0->vtxs[1]; - temp_a0 = temp_v0->vtxs[0]; - var_v1 = 1; - sp60 = (f32) temp_a1->v.ob[0]; - temp_f20 = (f32) temp_a0->v.ob[2] - arg1; - sp58 = (f32) temp_a1->v.ob[2]; - temp_a3 = temp_v0->vtxs[2]; - temp_f22 = (f32) temp_a0->v.ob[0] - arg0; - sp6C = (f32) temp_a3->v.ob[0]; - temp_f10 = sp60 - arg0; - temp_f0 = temp_f20 * temp_f10; - sp28 = temp_f10; - sp64 = (f32) temp_a3->v.ob[2]; - temp_f6 = sp58 - arg1; - temp_f2 = temp_f22 * temp_f6; - sp20 = temp_f6; - sp1C = temp_f0 - temp_f2; - sp3C = sp1C; - if (temp_f2 == temp_f0) { - temp_f0_2 = sp6C - arg0; - temp_f2_2 = sp64 - arg1; - if ((((temp_f6 * temp_f0_2) - (temp_f10 * temp_f2_2)) * ((temp_f2_2 * temp_f22) - (temp_f0_2 * temp_f20))) < 0.0f) { - var_v1 = 0; - } - } else { - temp_f2_3 = sp64 - arg1; - temp_f0_3 = sp6C - arg0; - temp_f18 = sp28 * temp_f2_3; - temp_f16 = sp20 * temp_f0_3; - if (temp_f18 == temp_f16) { - if ((sp3C * ((temp_f2_3 * temp_f22) - (temp_f0_3 * temp_f20))) < 0.0f) { - var_v1 = 0; - } - } else { - temp_f12 = temp_f16 - temp_f18; - if ((sp1C * temp_f12) < 0.0f) { - var_v1 = 0; - } else { - temp_f16_2 = temp_f0_3 * temp_f20; - temp_f14 = temp_f2_3 * temp_f22; - if ((temp_f16_2 != temp_f14) && ((temp_f12 * (temp_f14 - temp_f16_2)) < 0.0f)) { - var_v1 = 0; - } - } - } - } - return var_v1; -} -#else -GLOBAL_ASM("asm/non_matchings/code_802AAA70/func_802ABB04.s") -#endif - -s8 func_802ABD10(u16 arg0) { - mk64_surface_map_ram *tile = &D_8015F580[arg0]; - return tile->surfaceType; -} - -s16 func_802ABD40(u16 arg0) { - mk64_surface_map_ram *tile = &D_8015F580[arg0]; - return tile->flags & 0xFF; -} - -s16 func_802ABD7C(u16 arg0) { - mk64_surface_map_ram *tile = &D_8015F580[arg0]; - return tile->flags & 0x1000; -} - -s16 func_802ABDB8(u16 arg0) { - mk64_surface_map_ram *tile = &D_8015F580[arg0]; - return tile->flags & 0x400; -} - -s16 func_802ABDF4(u16 arg0) { - mk64_surface_map_ram *tile = &D_8015F580[arg0]; - return tile->flags & 0x800; -} - -f32 func_802ABE30(f32 arg0, f32 arg1, f32 arg2, u16 arg3) { - mk64_surface_map_ram *tile = &D_8015F580[arg3]; - if (tile->gravity == 0.0f) { - return arg1; - } - return ((tile->height * arg0) + (tile->rotation * arg2) + tile->height2) / -tile->gravity; -} - -f32 func_802ABEAC(UnkActorInner *arg0, Vec3f arg1) { - if (arg0->unk34 == 1) { - return func_802ABE30(arg1[0], arg1[1], arg1[2], arg0->unk3A); - } - if (arg0->unk30 == 1) { - return func_802ABE30(arg1[0], arg1[1], arg1[2], arg0->unk36); - } - if (arg0->unk32 == 1) { - return func_802ABE30(arg1[0], arg1[1], arg1[2], arg0->unk38); - } - return arg1[1]; -} - -#ifdef MIPS_TO_C -//generated by m2c commit 9841ff34ca242f5f14b2eab2b54a7a65ac47d80f -void process_shell_collision(f32 *arg0, f32 arg1, f32 *velocity, f32 arg3) { - f32 sp40; - f32 sp3C; - f32 sp38; - f32 sp24; - f32 spC; - f32 sp8; - f32 sp4; - f32 sp0; - f32 temp_f0; - f32 temp_f0_2; - f32 temp_f10; - f32 temp_f12; - f32 temp_f12_2; - f32 temp_f14; - f32 temp_f14_2; - f32 temp_f16_2; - f32 temp_f16_3; - f32 temp_f18; - f32 temp_f2; - f32 temp_f2_2; - f32 temp_f6; - f64 temp_f16; - - temp_f2 = velocity->unk0; - temp_f12 = velocity->unk4; - temp_f14 = velocity->unk8; - temp_f0 = sqrtf((temp_f2 * temp_f2) + (temp_f12 * temp_f12) + (temp_f14 * temp_f14)); - temp_f16 = (f64) temp_f0; - sp24 = temp_f0; - if ((temp_f16 > 4.5) || (temp_f16 < 3.5)) { - sp24 = 4.0f; - } - temp_f10 = arg0->unk8; - sp4 = temp_f10; - temp_f16_2 = arg0->unk0; - temp_f18 = arg0->unk4; - temp_f0_2 = (temp_f10 * temp_f14) + ((temp_f16_2 * temp_f2) + (temp_f18 * temp_f12)); - sp0 = temp_f16_2 * temp_f0_2; - spC = temp_f18 * temp_f0_2; - sp40 = temp_f2 - sp0; - sp3C = temp_f12 - spC; - temp_f6 = temp_f10 * temp_f0_2; - sp8 = temp_f6; - sp38 = temp_f14 - temp_f6; - temp_f2_2 = sp40 - sp0; - 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; - velocity->unk0 = temp_f2_2 * temp_f16_3; - velocity->unk4 = (f32) (temp_f12_2 * temp_f16_3); - velocity->unk8 = (f32) (temp_f14_2 * temp_f16_3); -} -#else -GLOBAL_ASM("asm/non_matchings/code_802AAA70/process_shell_collision.s") -#endif - -void func_802AC098(UnkActorInner *arg0, f32 *velocity) { - if (arg0->unk3C[0] < 0.0f) { - process_shell_collision(arg0->unk48, arg0->unk3C[0], velocity, 2.0f); - } - - if (arg0->unk3C[1] < 0.0f) { - process_shell_collision(arg0->unk54, arg0->unk3C[1], velocity, 2.0f); - } -} - -void func_802AC114(Vec3f arg0, f32 arg1, Vec3f arg2, UNUSED f32 arg3) { - f32 temp_f0; - f32 temp_f12; - f32 temp_f14; - f32 temp_f16; - f32 temp_f18; - f32 temp_f20; - f32 temp_f2; - f32 tmp1; - f32 tmp2; - f32 tmp3; - - temp_f0 = arg2[0]; - temp_f2 = arg2[1]; - temp_f12 = arg2[2]; - temp_f14 = -arg0[0]; - temp_f16 = -arg0[1]; - temp_f18 = -arg0[2]; - temp_f20 = (temp_f14 * temp_f0) + (temp_f16 * temp_f2) + (temp_f18 * temp_f12); - tmp1 = temp_f0 - (temp_f20 * temp_f14); - tmp2 = temp_f2 - (temp_f20 * temp_f16); - tmp3 = temp_f12 - (temp_f20 * temp_f18); - if (arg1 < -3.5) { - arg2[0] = tmp1 - (temp_f20 * temp_f14 * 0.5f); - arg2[1] = tmp2 - (temp_f20 * temp_f16 * 0.5f); - arg2[2] = tmp3 - (temp_f20 * temp_f18 * 0.5f); - } else { - arg2[0] = tmp1; - arg2[1] = tmp2; - arg2[2] = tmp3; - } -} - -#ifdef MIPS_TO_C -//generated by m2c commit bece1d6db17040749f77dbbd090363cc6fb926f9 -mk64_surface_map_ram *func_802AAE4C(s16 *, ?, f32, f32, f32, s32); /* extern */ -mk64_surface_map_ram *func_802AB288(s16 *, ?, f32, f32, f32, s32); /* extern */ -mk64_surface_map_ram *func_802AB6C4(s16 *, ?, f32, f32, f32, s32); /* extern */ -extern u8 D_8014F110; -extern s32 D_8015F584; -extern s16 D_8015F6E8; -extern s16 D_8015F6EA; -extern s16 D_8015F6F0; -extern s16 D_8015F6F2; - -UNUSED mk64_surface_map_ram *func_802AC22C(void *arg0) { - f32 spE4; - f32 spE0; - f32 spDC; - s16 spD4; - s16 spD2; - s16 spD0; - s32 sp70; - f32 temp_f22; - f32 temp_f24; - f32 temp_f26; - s16 temp_v0_2; - s16 temp_v1; - s32 temp_at; - s32 temp_f4; - s32 temp_f6; - s32 temp_t3; - s32 var_s2; - u16 temp_s0; - u16 temp_v1_3; - u16 var_s1; - u16 var_v0; - u8 temp_v0; - void *temp_v1_2; - - spD0 = 0; - spD2 = 0; - spD4 = 0; - spDC = 1000.0f; - spE0 = 1000.0f; - spE4 = 1000.0f; - temp_v0 = arg0->unkD; - temp_f22 = arg0->unk0; - temp_f24 = arg0->unk4; - temp_f26 = arg0->unk8; - switch (temp_v0) { /* irregular */ - case 0x80: - if (func_802AB6C4(&spD0, 0x40A00000, temp_f22, temp_f24, temp_f26, (s32) arg0->unkE) == (mk64_surface_map_ram *)1) { - arg0->unk10 = func_802ABE30(temp_f22, temp_f24, temp_f26, arg0->unkE); - return (mk64_surface_map_ram *)1; - } - default: -block_10: - temp_v0_2 = D_8015F6EA; - temp_v1 = D_8015F6F2; - temp_f4 = (s32) ((temp_f22 - (f32) temp_v0_2) / (f32) ((s32) (D_8015F6E8 - temp_v0_2) / 32)); - temp_f6 = (s32) ((temp_f26 - (f32) temp_v1) / (f32) ((s32) (D_8015F6F0 - temp_v1) / 32)); - if ((s16) temp_f4 < 0) { - return NULL; - } - if ((s16) temp_f6 < 0) { - return NULL; - } - if ((s16) temp_f4 >= 0x20) { - return NULL; - } - if ((s16) temp_f6 >= 0x20) { - return NULL; - } - temp_v1_2 = ((s16) ((s16) temp_f4 + ((s16) temp_f6 << 5)) * 4) + &D_8014F110; - var_v0 = temp_v1_2->unk2; - sp70 = (s32) var_v0; - if (var_v0 == 0) { - return NULL; - } - var_s1 = temp_v1_2->unk0; - var_s2 = 0; - if (sp70 > 0) { -loop_22: - temp_s0 = *(D_8015F584 + (var_s1 * 2)); - var_v0 = (u16) &D_8015F580[temp_s0]; - temp_v1_3 = var_v0->unk0; - if ((temp_v1_3 & 0x4000) != 0) { - if (arg0->unkE != temp_s0) { - var_v0 = func_802AAE4C(&spD0, 0x40A00000, temp_f22, temp_f24, temp_f26, (s32) temp_s0); - if (var_v0 == (u16) (mk64_surface_map_ram *)1) { - arg0->unk10 = func_802ABE30(temp_f22, temp_f24, temp_f26, temp_s0 & 0xFFFF); - arg0->unkD = 0x40U; - arg0->unkE = temp_s0; - arg0->unkC = (s8) D_8015F580[temp_s0].surfaceType; - if ((D_8015F580[temp_s0].flags & 0x1000) != 0) { - arg0->unk14 = (mk64_surface_map_ram *)1; - return (mk64_surface_map_ram *)1; - } - arg0->unk14 = NULL; - return (mk64_surface_map_ram *)1; - } - } - goto block_37; - } - if ((temp_v1_3 & 0x8000) != 0) { - if ((var_v0->unk1C != 1.0f) && (arg0->unkE != temp_s0)) { - var_v0 = func_802AB6C4(&spD0, 0x40A00000, temp_f22, temp_f24, temp_f26, (s32) temp_s0); - if (var_v0 == (u16) (mk64_surface_map_ram *)1) { - arg0->unk10 = func_802ABE30(temp_f22, temp_f24, temp_f26, temp_s0 & 0xFFFF); - arg0->unkD = 0x80U; - arg0->unkE = temp_s0; - arg0->unkC = (s8) D_8015F580[temp_s0].surfaceType; - return (mk64_surface_map_ram *)1; - } - } - goto block_37; - } - if ((var_v0->unk24 != 1.0f) && (arg0->unkE != temp_s0)) { - var_v0 = func_802AB288(&spD0, 0x40A00000, temp_f22, temp_f24, temp_f26, (s32) temp_s0); - if (var_v0 == (u16) (mk64_surface_map_ram *)1) { - arg0->unk10 = func_802ABE30(temp_f22, temp_f24, temp_f26, temp_s0 & 0xFFFF); - arg0->unkD = 0x20U; - arg0->unkE = temp_s0; - arg0->unkC = (s8) D_8015F580[temp_s0].surfaceType; - return (mk64_surface_map_ram *)1; - } - } -block_37: - temp_t3 = (var_s2 + 1) & 0xFFFF; - temp_at = temp_t3 < sp70; - var_s2 = temp_t3; - var_s1 = (var_s1 + 1) & 0xFFFF; - if (temp_at == 0) { - goto block_38; - } - goto loop_22; - } -block_38: - arg0->unk10 = temp_f24; - arg0->unkC = 0; - return (mk64_surface_map_ram *) var_v0; - case 0x40: - if (func_802AAE4C(&spD0, 0x40A00000, temp_f22, temp_f24, temp_f26, (s32) arg0->unkE) == (mk64_surface_map_ram *)1) { - arg0->unk10 = func_802ABE30(temp_f22, temp_f24, temp_f26, arg0->unkE); - return (mk64_surface_map_ram *)1; - } - goto block_10; - case 0x20: - if (func_802AB288(&spD0, 0x40A00000, temp_f22, temp_f24, temp_f26, (s32) arg0->unkE) == (mk64_surface_map_ram *)1) { - arg0->unk10 = func_802ABE30(temp_f22, temp_f24, temp_f26, arg0->unkE); - return (mk64_surface_map_ram *)1; - } - goto block_10; - } -} -#else -GLOBAL_ASM("asm/non_matchings/code_802AAA70/func_802AC22C.s") -#endif - -#ifdef MIPS_TO_C -//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c -s32 func_802AC760(UnkActorInner *arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, u16 arg5, f32 arg6, f32 arg7, f32 arg8) { - f32 sp6C; - f32 sp64; - f32 sp38; - f32 sp28; - f32 sp24; - f32 sp20; - f32 sp1C; - f32 sp18; - f32 sp10; - f32 spC; - f32 sp8; - Vtx *temp_a0; - Vtx *temp_a2; - Vtx *temp_a3; - f32 temp_f0; - f32 temp_f0_2; - f32 temp_f0_3; - f32 temp_f0_4; - f32 temp_f10; - f32 temp_f12; - f32 temp_f12_2; - f32 temp_f12_3; - f32 temp_f14; - f32 temp_f14_2; - f32 temp_f14_3; - f32 temp_f16; - f32 temp_f16_2; - f32 temp_f18; - f32 temp_f2; - f32 temp_f2_2; - f32 temp_f2_3; - f32 temp_f2_4; - f32 temp_f4; - f32 temp_f6; - mk64_surface_map_ram *temp_v1; - s32 var_v0; - - temp_v1 = &D_8015F580[arg5]; - var_v0 = 1; - if (arg2 < (f32) temp_v1->vtx3[0]) { - return 0; - } - if (arg4 < (f32) temp_v1->vtx3[2]) { - return 0; - } - if ((f32) temp_v1->vtx2[0] < arg2) { - return 0; - } - if ((f32) temp_v1->vtx2[2] < arg4) { - return 0; - } - if (arg3 < ((f32) temp_v1->vtx3[1] - (arg1 * 3.0f))) { - return 0; - } - temp_a0 = temp_v1->vtxs[0]; - temp_a3 = temp_v1->vtxs[2]; - temp_a2 = temp_v1->vtxs[1]; - sp6C = (f32) temp_a3->v.ob[0]; - sp8 = arg4; - sp10 = arg2; - temp_f6 = (f32) temp_a0->v.ob[2] - arg4; - sp64 = (f32) temp_a3->v.ob[2]; - temp_f4 = (f32) temp_a2->v.ob[0] - arg2; - sp28 = temp_f6; - sp24 = temp_f4; - sp20 = (f32) temp_a0->v.ob[0] - arg2; - temp_f0 = temp_f6 * temp_f4; - sp8 = temp_f6; - spC = temp_f4; - temp_f18 = sp8; - sp1C = (f32) temp_a2->v.ob[2] - arg4; - temp_f2 = sp20 * sp1C; - temp_f10 = temp_f0 - temp_f2; - sp18 = temp_f10; - sp38 = temp_f10; - if (temp_f2 == temp_f0) { - sp8 = arg4; - temp_f0_2 = sp6C - sp10; - temp_f2_2 = sp64 - arg4; - if ((((sp1C * temp_f0_2) - (spC * temp_f2_2)) * ((temp_f2_2 * sp20) - (temp_f0_2 * temp_f18))) < 0.0f) { - var_v0 = 0; - } - } else { - temp_f2_3 = sp64 - arg4; - temp_f0_3 = sp6C - arg2; - temp_f14 = sp24 * temp_f2_3; - temp_f12 = sp1C * temp_f0_3; - if (temp_f14 == temp_f12) { - if ((sp38 * ((temp_f2_3 * sp20) - (temp_f0_3 * sp28))) < 0.0f) { - var_v0 = 0; - } - } else { - temp_f16 = temp_f12 - temp_f14; - if ((sp18 * temp_f16) < 0.0f) { - var_v0 = 0; - } else { - temp_f14_2 = temp_f0_3 * sp28; - temp_f12_2 = temp_f2_3 * sp20; - if ((temp_f14_2 != temp_f12_2) && ((temp_f16 * (temp_f12_2 - temp_f14_2)) < 0.0f)) { - var_v0 = 0; - } - } - } - } - if (var_v0 == 0) { - return 0; - } - temp_f2_4 = temp_v1->height; - temp_f12_3 = temp_v1->gravity; - temp_f14_3 = temp_v1->rotation; - temp_f16_2 = temp_v1->height2; - temp_f0_4 = (temp_f2_4 * arg2) + (temp_f12_3 * arg3) + (temp_f14_3 * arg4) + temp_f16_2; - if (arg1 < temp_f0_4) { - if (temp_f0_4 < arg0->unk3C[2]) { - arg0->unk34 = 1; - arg0->unk3A = arg5; - arg0->unk3C[2] = temp_f0_4 - arg1; - arg0->unk60[0] = temp_v1->height; - arg0->unk60[1] = temp_v1->gravity; - arg0->unk60[2] = temp_v1->rotation; - } - return 0; - } - if (((temp_f2_4 * arg6) + (temp_f12_3 * arg7) + (temp_f14_3 * arg8) + temp_f16_2) < 0.0f) { - return 0; - } - arg0->unk34 = 1; - arg0->unk3A = arg5; - arg0->unk3C[2] = temp_f0_4 - arg1; - arg0->unk60[0] = temp_v1->height; - arg0->unk60[1] = temp_v1->gravity; - arg0->unk60[2] = temp_v1->rotation; - return 1; -} -#else -GLOBAL_ASM("asm/non_matchings/code_802AAA70/func_802AC760.s") -#endif - -#ifdef MIPS_TO_C -//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c -s32 func_802ACBA4(UnkActorInner *arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, u16 arg5, f32 arg6, f32 arg7, f32 arg8) { - f32 sp70; - f32 sp6C; - f32 sp48; - f32 sp3C; - f32 sp2C; - f32 sp28; - f32 sp24; - f32 sp20; - f32 sp1C; - f32 sp14; - f32 sp10; - f32 spC; - f32 sp8; - Vtx *temp_a0; - Vtx *temp_a2; - Vtx *temp_a3; - f32 temp_f0; - f32 temp_f0_2; - f32 temp_f0_3; - f32 temp_f0_4; - f32 temp_f0_5; - f32 temp_f10; - f32 temp_f12; - f32 temp_f12_2; - f32 temp_f12_3; - f32 temp_f14; - f32 temp_f14_2; - f32 temp_f14_3; - f32 temp_f16; - f32 temp_f16_2; - f32 temp_f2; - f32 temp_f2_2; - f32 temp_f2_3; - f32 temp_f2_4; - f32 temp_f2_5; - f32 temp_f4; - f32 temp_f4_2; - f32 temp_f6; - f32 temp_f8; - f32 var_f10; - mk64_surface_map_ram *temp_v1; - s32 var_v0; - - temp_v1 = &D_8015F580[arg5]; - var_v0 = 1; - if (arg2 < (f32) temp_v1->vtx3[0]) { - return 0; - } - if ((f32) temp_v1->vtx2[0] < arg2) { - return 0; - } - if ((f32) temp_v1->vtx2[1] < arg3) { - return 0; - } - if (arg3 < (f32) temp_v1->vtx3[1]) { - return 0; - } - temp_f2 = arg1 * 3.0f; - if (arg4 < ((f32) temp_v1->vtx3[2] - temp_f2)) { - return 0; - } - if (((f32) temp_v1->vtx2[2] + temp_f2) < arg4) { - return 0; - } - temp_a0 = temp_v1->vtxs[0]; - temp_a3 = temp_v1->vtxs[2]; - temp_a2 = temp_v1->vtxs[1]; - sp70 = (f32) temp_a3->v.ob[0]; - sp8 = arg3; - sp10 = arg2; - temp_f10 = (f32) temp_a0->v.ob[1] - arg3; - sp6C = (f32) temp_a3->v.ob[1]; - temp_f6 = (f32) temp_a2->v.ob[0] - arg2; - sp2C = temp_f10; - sp28 = temp_f6; - sp24 = (f32) temp_a0->v.ob[0] - arg2; - temp_f0 = temp_f10 * temp_f6; - sp8 = temp_f10; - spC = temp_f6; - sp20 = (f32) temp_a2->v.ob[1] - arg3; - temp_f2_2 = sp24 * sp20; - temp_f4 = temp_f0 - temp_f2_2; - sp1C = temp_f4; - sp3C = temp_f4; - if (temp_f2_2 == temp_f0) { - sp14 = arg3; - temp_f0_2 = sp70 - sp10; - temp_f2_3 = sp6C - arg3; - if ((((sp20 * temp_f0_2) - (spC * temp_f2_3)) * ((temp_f2_3 * sp24) - (temp_f0_2 * sp8))) < 0.0f) { - var_v0 = 0; - } - } else { - temp_f2_4 = sp6C - arg3; - temp_f0_3 = sp70 - arg2; - temp_f14 = sp28 * temp_f2_4; - temp_f12 = sp20 * temp_f0_3; - if (temp_f14 == temp_f12) { - if ((sp3C * ((temp_f2_4 * sp24) - (temp_f0_3 * sp2C))) < 0.0f) { - var_v0 = 0; - } - } else { - temp_f16 = temp_f12 - temp_f14; - if ((sp1C * temp_f16) < 0.0f) { - var_v0 = 0; - } else { - temp_f14_2 = temp_f0_3 * sp2C; - temp_f12_2 = temp_f2_4 * sp24; - if ((temp_f14_2 != temp_f12_2) && ((temp_f16 * (temp_f12_2 - temp_f14_2)) < 0.0f)) { - var_v0 = 0; - } - } - } - } - if (var_v0 == 0) { - return 0; - } - temp_f2_5 = temp_v1->height; - temp_f12_3 = temp_v1->gravity; - temp_f14_3 = temp_v1->rotation; - temp_f16_2 = temp_v1->height2; - temp_f0_4 = (temp_f2_5 * arg2) + (temp_f12_3 * arg3) + (temp_f14_3 * arg4) + temp_f16_2; - if (temp_v1->flags & 0x200) { - temp_f4_2 = (temp_f2_5 * arg6) + (temp_f12_3 * arg7) + (temp_f14_3 * arg8) + temp_f16_2; - sp48 = temp_f4_2; - if ((temp_f0_4 > 0.0f) && (temp_f4_2 > 0.0f)) { - if (temp_f0_4 < arg1) { - arg0->unk30 = 1; - arg0->unk36 = arg5; - arg0->unk3C[0] = temp_f0_4 - arg1; - arg0->unk48[0] = temp_v1->height; - arg0->unk48[1] = temp_v1->gravity; - arg0->unk48[2] = temp_v1->rotation; - return 1; - } - return 0; - } - if ((temp_f0_4 < 0.0f) && (sp48 < 0.0f)) { - temp_f0_5 = temp_f0_4 * -1.0f; - if (temp_f0_5 < arg1) { - arg0->unk30 = 1; - arg0->unk36 = arg5; - arg0->unk3C[0] = temp_f0_5 - arg1; - arg0->unk48[0] = -temp_v1->height; - arg0->unk48[1] = -temp_v1->gravity; - arg0->unk48[2] = -temp_v1->rotation; - return 1; - } - return 0; - } - if ((temp_f0_4 > 0.0f) && (sp48 < 0.0f)) { - arg0->unk30 = 1; - arg0->unk36 = arg5; - arg0->unk3C[0] = -(temp_f0_4 + arg1); - arg0->unk48[0] = -temp_v1->height; - arg0->unk48[1] = -temp_v1->gravity; - var_f10 = -temp_v1->rotation; - arg0->unk48[2] = var_f10; - return 1; - } - if ((temp_f0_4 < 0.0f) && (sp48 > 0.0f)) { - arg0->unk30 = 1; - arg0->unk36 = arg5; - arg0->unk3C[0] = temp_f0_4 + arg1; - arg0->unk48[0] = temp_v1->height; - arg0->unk48[1] = temp_v1->gravity; - arg0->unk48[2] = temp_v1->rotation; - return 1; - } - if (temp_f0_4 == 0.0f) { - if (sp48 >= 0.0f) { - arg0->unk30 = 1; - arg0->unk36 = arg5; - arg0->unk3C[0] = sp48 + arg1; - arg0->unk48[0] = temp_v1->height; - arg0->unk48[1] = temp_v1->gravity; - arg0->unk48[2] = temp_v1->rotation; - return 1; - } - arg0->unk30 = 1; - arg0->unk36 = arg5; - arg0->unk3C[0] = -(sp48 + arg1); - arg0->unk48[0] = temp_v1->height; - arg0->unk48[1] = temp_v1->gravity; - var_f10 = temp_v1->rotation; - arg0->unk48[2] = var_f10; - return 1; - } - return 0; - } - if (arg1 < temp_f0_4) { - if (temp_f0_4 < arg0->unk3C[0]) { - arg0->unk30 = 1; - arg0->unk36 = arg5; - arg0->unk3C[0] = temp_f0_4 - arg1; - arg0->unk48[0] = temp_v1->height; - arg0->unk48[1] = temp_v1->gravity; - arg0->unk48[2] = temp_v1->rotation; - } - return 0; - } - temp_f8 = (temp_f2_5 * arg6) + (temp_f12_3 * arg7) + (temp_f14_3 * arg8) + temp_f16_2; - sp48 = temp_f8; - if (temp_f8 < 0.0f) { - return 0; - } - arg0->unk30 = 1; - arg0->unk36 = arg5; - arg0->unk3C[0] = temp_f0_4 - arg1; - arg0->unk48[0] = temp_v1->height; - arg0->unk48[1] = temp_v1->gravity; - var_f10 = temp_v1->rotation; -block_54: - arg0->unk48[2] = var_f10; - return 1; -} -#else -GLOBAL_ASM("asm/non_matchings/code_802AAA70/func_802ACBA4.s") -#endif - -#ifdef MIPS_TO_C -//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c -s32 func_802AD278(UnkActorInner *arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, u16 arg5, f32 arg6, f32 arg7, f32 arg8) { - f32 sp68; - f32 sp64; - f32 sp44; - f32 sp38; - f32 sp2C; - f32 sp28; - f32 sp24; - f32 sp20; - f32 sp1C; - f32 sp14; - f32 sp10; - f32 spC; - f32 sp8; - Vtx *temp_a0; - Vtx *temp_a2; - Vtx *temp_a3; - f32 temp_f0; - f32 temp_f0_2; - f32 temp_f0_3; - f32 temp_f0_4; - f32 temp_f0_5; - f32 temp_f0_6; - f32 temp_f10; - f32 temp_f10_2; - f32 temp_f12; - f32 temp_f12_2; - f32 temp_f12_3; - f32 temp_f14; - f32 temp_f14_2; - f32 temp_f14_3; - f32 temp_f16; - f32 temp_f16_2; - f32 temp_f2; - f32 temp_f2_2; - f32 temp_f2_3; - f32 temp_f2_4; - f32 temp_f4; - f32 temp_f6; - f32 temp_f8; - f32 var_f8; - mk64_surface_map_ram *temp_v1; - s32 var_v0; - - temp_v1 = &D_8015F580[arg5]; - var_v0 = 1; - if (arg4 < (f32) temp_v1->vtx3[2]) { - return 0; - } - if ((f32) temp_v1->vtx2[2] < arg4) { - return 0; - } - if ((f32) temp_v1->vtx2[1] < arg3) { - return 0; - } - if (arg3 < (f32) temp_v1->vtx3[1]) { - return 0; - } - temp_f0 = arg1 * 3.0f; - if (arg2 < ((f32) temp_v1->vtx3[0] - temp_f0)) { - return 0; - } - if (((f32) temp_v1->vtx2[0] + temp_f0) < arg2) { - return 0; - } - temp_a0 = temp_v1->vtxs[0]; - temp_a3 = temp_v1->vtxs[2]; - temp_a2 = temp_v1->vtxs[1]; - sp64 = (f32) temp_a3->v.ob[2]; - sp8 = arg3; - sp10 = arg4; - temp_f8 = (f32) temp_a0->v.ob[1] - arg3; - sp68 = (f32) temp_a3->v.ob[1]; - temp_f6 = (f32) temp_a2->v.ob[2] - arg4; - sp2C = temp_f8; - sp28 = temp_f6; - sp24 = (f32) temp_a0->v.ob[2] - arg4; - temp_f0_2 = temp_f8 * temp_f6; - sp8 = temp_f8; - spC = temp_f6; - sp20 = (f32) temp_a2->v.ob[1] - arg3; - temp_f2 = sp24 * sp20; - temp_f10 = temp_f0_2 - temp_f2; - sp1C = temp_f10; - sp38 = temp_f10; - if (temp_f2 == temp_f0_2) { - sp14 = arg3; - temp_f0_3 = sp64 - sp10; - temp_f2_2 = sp68 - arg3; - if ((((sp20 * temp_f0_3) - (spC * temp_f2_2)) * ((temp_f2_2 * sp24) - (temp_f0_3 * sp8))) < 0.0f) { - var_v0 = 0; - } - } else { - temp_f2_3 = sp68 - arg3; - temp_f0_4 = sp64 - arg4; - temp_f14 = sp28 * temp_f2_3; - temp_f12 = sp20 * temp_f0_4; - if (temp_f14 == temp_f12) { - if ((sp38 * ((temp_f2_3 * sp24) - (temp_f0_4 * sp2C))) < 0.0f) { - var_v0 = 0; - } - } else { - temp_f16 = temp_f12 - temp_f14; - if ((sp1C * temp_f16) < 0.0f) { - var_v0 = 0; - } else { - temp_f14_2 = temp_f0_4 * sp2C; - temp_f12_2 = temp_f2_3 * sp24; - if ((temp_f14_2 != temp_f12_2) && ((temp_f16 * (temp_f12_2 - temp_f14_2)) < 0.0f)) { - var_v0 = 0; - } - } - } - } - if (var_v0 == 0) { - return 0; - } - temp_f2_4 = temp_v1->height; - temp_f12_3 = temp_v1->gravity; - temp_f14_3 = temp_v1->rotation; - temp_f16_2 = temp_v1->height2; - temp_f0_5 = (temp_f2_4 * arg2) + (temp_f12_3 * arg3) + (temp_f14_3 * arg4) + temp_f16_2; - if (temp_v1->flags & 0x200) { - temp_f10_2 = (temp_f2_4 * arg6) + (temp_f12_3 * arg7) + (temp_f14_3 * arg8) + temp_f16_2; - sp44 = temp_f10_2; - if ((temp_f0_5 > 0.0f) && (temp_f10_2 > 0.0f)) { - if (temp_f0_5 < arg1) { - arg0->unk32 = 1; - arg0->unk38 = arg5; - arg0->unk3C[1] = temp_f0_5 - arg1; - arg0->unk54[0] = temp_v1->height; - arg0->unk54[1] = temp_v1->gravity; - arg0->unk54[2] = temp_v1->rotation; - return 1; - } - return 0; - } - if ((temp_f0_5 < 0.0f) && (sp44 < 0.0f)) { - temp_f0_6 = temp_f0_5 * -1.0f; - if (temp_f0_6 < arg1) { - arg0->unk32 = 1; - arg0->unk38 = arg5; - arg0->unk3C[1] = temp_f0_6 - arg1; - arg0->unk54[0] = -temp_v1->height; - arg0->unk54[1] = -temp_v1->gravity; - arg0->unk54[2] = -temp_v1->rotation; - return 1; - } - return 0; - } - if ((temp_f0_5 > 0.0f) && (sp44 < 0.0f)) { - arg0->unk32 = 1; - arg0->unk38 = arg5; - arg0->unk3C[1] = -(temp_f0_5 + arg1); - arg0->unk54[0] = -temp_v1->height; - arg0->unk54[1] = -temp_v1->gravity; - var_f8 = -temp_v1->rotation; - arg0->unk54[2] = var_f8; - return 1; - } - if ((temp_f0_5 < 0.0f) && (sp44 > 0.0f)) { - arg0->unk32 = 1; - arg0->unk38 = arg5; - arg0->unk3C[1] = temp_f0_5 + arg1; - arg0->unk54[0] = temp_v1->height; - arg0->unk54[1] = temp_v1->gravity; - arg0->unk54[2] = temp_v1->rotation; - return 1; - } - if (temp_f0_5 == 0.0f) { - if (sp44 >= 0.0f) { - arg0->unk32 = 1; - arg0->unk38 = arg5; - arg0->unk3C[1] = sp44 + arg1; - arg0->unk54[0] = temp_v1->height; - arg0->unk54[1] = temp_v1->gravity; - arg0->unk54[2] = temp_v1->rotation; - return 1; - } - arg0->unk32 = 1; - arg0->unk38 = arg5; - arg0->unk3C[1] = -(sp44 + arg1); - arg0->unk54[0] = temp_v1->height; - arg0->unk54[1] = temp_v1->gravity; - var_f8 = temp_v1->rotation; - arg0->unk54[2] = var_f8; - return 1; - } - return 0; - } - if (arg1 < temp_f0_5) { - if (temp_f0_5 < arg0->unk3C[1]) { - arg0->unk32 = 1; - arg0->unk38 = arg5; - arg0->unk3C[1] = temp_f0_5 - arg1; - arg0->unk54[0] = temp_v1->height; - arg0->unk54[1] = temp_v1->gravity; - arg0->unk54[2] = temp_v1->rotation; - } - return 0; - } - temp_f4 = (temp_f2_4 * arg6) + (temp_f12_3 * arg7) + (temp_f14_3 * arg8) + temp_f16_2; - sp44 = temp_f4; - if (temp_f4 < 0.0f) { - return 0; - } - arg0->unk32 = 1; - arg0->unk38 = arg5; - arg0->unk3C[1] = temp_f0_5 - arg1; - arg0->unk54[0] = temp_v1->height; - arg0->unk54[1] = temp_v1->gravity; - var_f8 = temp_v1->rotation; - arg0->unk54[2] = var_f8; - return 1; -} -#else -GLOBAL_ASM("asm/non_matchings/code_802AAA70/func_802AD278.s") -#endif - -#ifdef MIPS_TO_C -//generated by m2c commit a8f43e46d33dcb7e04d9cdc44a10b3daf4c92c3b -s32 func_802AC760(f32, f32, f32, f32, f32, f32, f32, f32, f32); /* extern */ -s32 func_802ACBA4(UnkActorInner *, f32, f32, f32, f32, s32, f32, f32, f32); /* extern */ -s32 func_802AD278(UnkActorInner *, f32, f32, f32, f32, s32, f32, f32, f32); /* extern */ -extern u8 D_8014F110; -extern s32 D_8015F584; -extern s16 D_8015F6E8; -extern s16 D_8015F6EA; -extern s16 D_8015F6F0; -extern s16 D_8015F6F2; - -s32 func_802AD950(UnkActorInner *arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7) { - s16 temp_v0_4; - s16 temp_v1; - s32 temp_f10; - s32 temp_f16; - s32 temp_t7; - u16 temp_s6; - u16 temp_v0; - u16 temp_v0_2; - u16 temp_v0_3; - u16 temp_v0_5; - u16 temp_v1_3; - void *temp_v1_2; - s32 phi_s4; - s32 phi_s4_2; - u16 phi_s2; - s32 phi_s3; - s32 phi_s4_3; - s32 phi_s4_4; - s32 phi_s4_5; - s32 phi_s4_6; - - arg0->unk30 = 0; - arg0->unk32 = 0; - arg0->unk34 = 0; - arg0->unk3C = 1000.0f; - arg0->unk40 = 1000.0f; - arg0->unk44 = 1000.0f; - temp_v0 = arg0->unk3A; - phi_s4_6 = 0; - if (((s32) temp_v0 < (s32) D_8015F588) && (func_802AC760(arg1, arg2, arg3, arg4, (bitwise f32) temp_v0, arg5, arg6, arg7) == 1)) { - phi_s4_6 = 0x00004000; - } - temp_v0_2 = arg0->unk36; - phi_s4_4 = phi_s4_6; - if (((s32) temp_v0_2 < (s32) D_8015F588) && (func_802ACBA4(arg0, arg1, arg2, arg3, arg4, (s32) temp_v0_2, arg5, arg6, arg7) == 1)) { - phi_s4_4 = (phi_s4_6 | 0x2000) & 0xFFFF; - } - temp_v0_3 = arg0->unk38; - phi_s4 = phi_s4_4; - if (((s32) temp_v0_3 < (s32) D_8015F588) && (func_802AD278(arg0, arg1, arg2, arg3, arg4, (s32) temp_v0_3, arg5, arg6, arg7) == 1)) { - phi_s4 = (phi_s4_4 | 0x8000) & 0xFFFF; - } - phi_s4_2 = phi_s4; - phi_s4_3 = phi_s4; - if (phi_s4 == 0x0000E000) { - goto block_39; - } - temp_v0_4 = D_8015F6EA; - temp_v1 = D_8015F6F2; - temp_f10 = (s32) ((arg2 - (f32) temp_v0_4) / (f32) ((s32) (D_8015F6E8 - temp_v0_4) / 32)); - temp_f16 = (s32) ((arg4 - (f32) temp_v1) / (f32) ((s32) (D_8015F6F0 - temp_v1) / 32)); - if ((s16) temp_f10 < 0) { - return 0; - } - if ((s16) temp_f16 < 0) { - return 0; - } - if ((s16) temp_f10 >= 0x20) { - return 0; - } - if ((s16) temp_f16 >= 0x20) { - return 0; - } - temp_v1_2 = ((s16) ((s16) temp_f10 + ((s16) temp_f16 << 5)) * 4) + &D_8014F110; - temp_s6 = temp_v1_2->unk2; - phi_s3 = 0; - if (temp_s6 == 0) { - - } else { - phi_s2 = temp_v1_2->unk0; - if ((s32) temp_s6 > 0) { -loop_22: - phi_s4_3 = phi_s4_2; - phi_s4_5 = phi_s4_2; - if (phi_s4_2 == 0x0000E000) { - - } else { - temp_v0_5 = *(D_8015F584 + (phi_s2 * 2)); - temp_v1_3 = D_8015F580[temp_v0_5].flags; - if ((temp_v1_3 & 0x4000) != 0) { - if (((phi_s4_2 & 0x4000) == 0) && (arg0->unk3A != temp_v0_5) && (func_802AC760((bitwise f32) arg0, arg1, arg2, arg3, arg4, (bitwise f32) temp_v0_5, arg5, arg6, arg7) == 1)) { - phi_s4_5 = (phi_s4_2 | 0x4000) & 0xFFFF; - } - } else if ((temp_v1_3 & 0x8000) != 0) { - if (((phi_s4_2 & 0x8000) == 0) && (arg0->unk38 != temp_v0_5) && (func_802AD278(arg0, arg1, arg2, arg3, arg4, (s32) temp_v0_5, arg5, arg6, arg7) == 1)) { - phi_s4_5 = (phi_s4_2 | 0x8000) & 0xFFFF; - } - } else if (((phi_s4_2 & 0x2000) == 0) && (arg0->unk36 != temp_v0_5) && (func_802ACBA4(arg0, arg1, arg2, arg3, arg4, (s32) temp_v0_5, arg5, arg6, arg7) == 1)) { - phi_s4_5 = (phi_s4_2 | 0x2000) & 0xFFFF; - } - temp_t7 = (phi_s3 + 1) & 0xFFFF; - phi_s4_2 = phi_s4_5; - phi_s2 = (phi_s2 + 1) & 0xFFFF; - phi_s3 = temp_t7; - phi_s4_3 = phi_s4_5; - if (temp_t7 < (s32) temp_s6) { - goto loop_22; - } - } - } - } -block_39: - return phi_s4_3; -} -#else -GLOBAL_ASM("asm/non_matchings/code_802AAA70/func_802AD950.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_802AAE4C(void *, f32, f32, f32, f32, s32); // extern -s32 func_802AB288(void *, void *, f32, f32, f32, s32); // extern -s32 func_802AB6C4(void *, void *, f32, f32, f32, s32); // extern -extern u8 D_8014F110; -extern s32 D_8015F584; - -s32 func_802ADDC8(UnkActorInner *arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4) { - s16 temp_v0_4; - s16 temp_v1; - s32 temp_f4; - s32 temp_f6; - s32 temp_t7; - u16 temp_s6; - u16 temp_v0; - u16 temp_v0_2; - u16 temp_v0_3; - u16 temp_v0_5; - u16 temp_v1_3; - void *temp_v1_2; - s32 phi_s4; - s32 phi_s4_2; - u16 phi_s2; - s32 phi_s3; - s32 phi_s4_3; - s32 phi_s4_4; - s32 phi_s4_5; - s32 phi_s4_6; - - arg0->unk0 = 0; - arg0->unk2 = 0; - arg0->unk4 = 0; - arg0->unkC = 1000.0f; - arg0->unk10 = 1000.0f; - arg0->unk14 = 1000.0f; - temp_v0 = arg0->unkA; - phi_s4_6 = 0; - if ((temp_v0 < D_8015F588) && (func_802AAE4C(arg1, arg2, arg3, arg4, (bitwise f32) temp_v0) == 1)) { - phi_s4_6 = 0x4000; - } - temp_v0_2 = arg0->unk6; - phi_s4_4 = phi_s4_6; - if ((temp_v0_2 < D_8015F588) && (func_802AB288(arg0, arg1, arg2, arg3, arg4, temp_v0_2) == 1)) { - phi_s4_4 = (phi_s4_6 | 0x2000) & 0xFFFF; - } - temp_v0_3 = arg0->unk8; - phi_s4 = phi_s4_4; - if ((temp_v0_3 < D_8015F588) && (func_802AB6C4(arg0, arg1, arg2, arg3, arg4, temp_v0_3) == 1)) { - phi_s4 = (phi_s4_4 | 0x8000) & 0xFFFF; - } - phi_s4_2 = phi_s4; - phi_s4_3 = phi_s4; - if (phi_s4 == 0xE000) { - goto block_39; - } - temp_v0_4 = D_8015F6EA; - temp_v1 = D_8015F6F2; - temp_f4 = (arg2 - temp_v0_4) / ((D_8015F6E8 - temp_v0_4) / 0x20); - temp_f6 = (arg4 - temp_v1) / ((D_8015F6F0 - temp_v1) / 0x20); - if (temp_f4 < 0) { - return 0; - } - if (temp_f6 < 0) { - return 0; - } - if (temp_f4 >= 0x20) { - return 0; - } - if (temp_f6 >= 0x20) { - return 0; - } - temp_v1_2 = ((temp_f4 + (temp_f6 << 5)) * 4) + &D_8014F110; - temp_s6 = temp_v1_2->unk2; - phi_s3 = 0; - if (temp_s6 == 0) { - - } else { - phi_s2 = temp_v1_2->unk0; - if (temp_s6 > 0) { -loop_22: - phi_s4_3 = phi_s4_2; - phi_s4_5 = phi_s4_2; - if (phi_s4_2 == 0xE000) { - - } else { - temp_v0_5 = *(D_8015F584 + (phi_s2 * 2)); - temp_v1_3 = *(D_8015F580 + (temp_v0_5 * 0x2C)); - if ((temp_v1_3 & 0x4000) != 0) { - if (((phi_s4_2 & 0x4000) == 0) && (arg0->unkA != temp_v0_5) && (func_802AAE4C(arg0, (bitwise f32) arg1, arg2, arg3, arg4, temp_v0_5) == 1)) { - phi_s4_5 = (phi_s4_2 | 0x4000) & 0xFFFF; - } - } else if ((temp_v1_3 & 0x8000) != 0) { - if (((phi_s4_2 & 0x8000) == 0) && (arg0->unk8 != temp_v0_5) && (func_802AB6C4(arg0, arg1, arg2, arg3, arg4, temp_v0_5) == 1)) { - phi_s4_5 = (phi_s4_2 | 0x8000) & 0xFFFF; - } - } else if (((phi_s4_2 & 0x2000) == 0) && (arg0->unk6 != temp_v0_5) && (func_802AB288(arg0, arg1, arg2, arg3, arg4, temp_v0_5) == 1)) { - phi_s4_5 = (phi_s4_2 | 0x2000) & 0xFFFF; - } - temp_t7 = (phi_s3 + 1) & 0xFFFF; - phi_s4_2 = phi_s4_5; - phi_s2 = (phi_s2 + 1) & 0xFFFF; - phi_s3 = temp_t7; - phi_s4_3 = phi_s4_5; - if (temp_t7 < temp_s6) { - goto loop_22; - } - } - } - } -block_39: - return phi_s4_3; -} -#else -GLOBAL_ASM("asm/non_matchings/code_802AAA70/func_802ADDC8.s") -#endif - -#ifdef MIPS_TO_C -//generated by m2c commit d9d3d6575355663122de59f6b2882d8f174e2355 on Dec-09-2022 -s32 func_802ABB04(f32, f32, s32); /* extern */ -extern ? D_8014F110; -extern s32 D_8015F584; -static f32 D_802B9E4C = -3000.0f; -static f32 D_802B9E50 = 3000.0f; -static f32 D_802B9E54 = 3000.0f; -static f32 D_802B9E58 = 3000.0f; -static f32 D_802B9E5C = 3000.0f; -static f32 D_802B9E60 = 3000.0f; - -f32 func_802AE1C0(f32 arg0, f32 arg1, f32 arg2) { - f32 temp_f0; - f32 var_f20; - s32 temp_at; - s32 temp_f4; - s32 temp_f6; - s32 temp_t0; - s32 temp_t9; - s32 var_s2; - u16 temp_s0; - u16 temp_t1; - u16 var_s1; - void *temp_t2; - - var_f20 = D_802B9E4C; - temp_f4 = (s32) ((arg0 - (f32) D_8015F6EA) / (f32) ((s32) (D_8015F6E8 - D_8015F6EA) / 32)); - temp_f6 = (s32) ((arg2 - (f32) D_8015F6F2) / (f32) ((s32) (D_8015F6F0 - D_8015F6F2) / 32)); - temp_t0 = (s16) temp_f6 << 5; - temp_t2 = ((s16) ((s16) temp_f4 + temp_t0) * 4) + &D_8014F110; - temp_t1 = temp_t2->unk2; - if ((s16) temp_f4 < 0) { - return D_802B9E50; - } - if ((s16) temp_f6 & 0x04000000) { - return D_802B9E54; - } - if ((s16) temp_f4 >= 0x20) { - return D_802B9E58; - } - if (temp_t0 >= 0x400) { - return D_802B9E5C; - } - if (temp_t1 == 0) { - return D_802B9E60; - } - var_s1 = temp_t2->unk0; - var_s2 = 0; - if ((s32) temp_t1 > 0) { - do { - temp_s0 = *(D_8015F584 + (var_s1 * 2)); - if ((D_8015F580[temp_s0].flags & 0x4000) && (func_802ABB04(arg0, arg2, temp_s0 & 0xFFFF) == 1)) { - temp_f0 = func_802ABE30(arg0, arg1, arg2, temp_s0 & 0xFFFF); - if ((temp_f0 <= arg1) && (var_f20 < temp_f0)) { - var_f20 = temp_f0; - } - } - temp_t9 = (var_s2 + 1) & 0xFFFF; - temp_at = temp_t9 < (s32) temp_t1; - var_s2 = temp_t9; - var_s1 = (var_s1 + 1) & 0xFFFF; - } while (temp_at != 0); - } - return var_f20; -} -#else -GLOBAL_ASM("asm/non_matchings/code_802AAA70/func_802AE1C0.s") -#endif - -#ifdef MIPS_TO_C -//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c -extern s32 D_8015F59C; -extern s32 D_8015F5A0; -extern s32 D_8015F5A4; -extern s16 D_8015F6E8; -extern s16 D_8015F6EA; -extern s16 D_8015F6F0; -extern s16 D_8015F6F2; -extern s16 D_8015F6FA; -extern s16 D_8015F6FC; -static f32 D_802B9E64 = -0.9f; -static f32 D_802B9E68 = 0.9f; -static f32 D_802B9E6C = 0.1f; -static f32 D_802B9E70 = -0.1f; - -void func_802AE434(Vtx *arg0, Vtx *arg1, Vtx *arg2, s8 arg3, u16 arg4) { - s16 spBA; - s16 spB8; - s16 spB6; - s16 spB2; - s16 spAC; - s16 spAA; - f32 sp58; - f32 sp54; - f32 sp50; - f32 sp4C; - s16 sp4A; - s16 sp48; - s16 sp44; - s16 sp42; - Vtx *sp1C; /* compiler-managed */ - f64 sp10; - f64 sp8; - f64 sp0; - Vtx *temp_t1; - Vtx *temp_t2; - Vtx *temp_t6; - f32 temp_f0; - f32 temp_f18_2; - f32 temp_f4_2; - f64 temp_f12; - f64 temp_f14; - f64 temp_f16; - f64 temp_f18; - f64 temp_f2; - f64 temp_f4; - f64 temp_f8; - mk64_surface_map_ram *temp_t0; - s16 var_a0; - s16 var_a1; - s16 var_a2; - s16 var_a3; - s16 var_t1; - s16 var_t2; - s16 var_t3; - s16 var_t4; - s16 var_t5; - s16 var_v0; - s16 var_v1; - s32 temp_a0; - s32 temp_a1; - s32 temp_a2; - s32 temp_a3; - s32 temp_v0; - s32 temp_v1; - u16 temp_a0_2; - u16 temp_a3_2; - u16 temp_v1_2; - u16 var_a1_2; - u16 var_t8; - u16 var_t9; - - temp_t0 = &D_8015F580[D_8015F588]; - temp_t0->vtxs[0] = arg0; - temp_t0->vtxs[1] = arg1; - temp_t0->vtxs[2] = arg2; - if ((arg0->v.flag != 4) || (arg1->v.flag != 4) || (temp_t0->vtxs[2]->v.flag != 4)) { - temp_t6 = temp_t0->vtxs[0]; - sp1C = temp_t6; - temp_t1 = temp_t0->vtxs[1]; - temp_t2 = temp_t0->vtxs[2]; - var_a0 = temp_t6->v.ob[0]; - var_t3 = temp_t1->v.ob[0]; - var_a2 = temp_t6->v.ob[1]; - var_a1 = temp_t6->v.ob[2]; - var_a3 = temp_t1->v.ob[1]; - var_t4 = temp_t1->v.ob[2]; - var_t5 = temp_t2->v.ob[0]; - var_v0 = temp_t2->v.ob[1]; - var_v1 = temp_t2->v.ob[2]; - if ((var_a0 == var_t3) && (var_a1 == var_t4)) { - temp_t0->vtxs[2] = arg1; - temp_t0->vtxs[1] = arg2; - var_a0 = arg0->v.ob[0]; - var_a2 = arg0->v.ob[1]; - var_a1 = arg0->v.ob[2]; - var_t3 = arg1->v.ob[0]; - var_a3 = arg1->v.ob[1]; - var_t4 = arg1->v.ob[2]; - var_t5 = arg2->v.ob[0]; - var_v0 = arg2->v.ob[1]; - var_v1 = arg2->v.ob[2]; - } - if (var_a0 >= var_t3) { - if (var_a0 >= var_t5) { - sp4A = var_a0; - } else { - goto block_12; - } - } else if (var_t3 >= var_t5) { - sp4A = var_t3; - } else { -block_12: - sp4A = var_t5; - } - if (var_a1 >= var_t4) { - if (var_a1 >= var_v1) { - sp48 = var_a1; - } else { - goto block_19; - } - } else if (var_t4 >= var_v1) { - sp48 = var_t4; - } else { -block_19: - sp48 = var_v1; - } - if (var_a2 >= var_a3) { - if (var_a2 >= var_v0) { - sp42 = var_a2; - } else { - goto block_26; - } - } else if (var_a3 >= var_v0) { - sp42 = var_a3; - } else { -block_26: - sp42 = var_v0; - } - if (var_t3 >= var_a0) { - if (var_t5 >= var_a0) { - sp44 = var_a0; - } else { - goto block_33; - } - } else if (var_t5 >= var_t3) { - sp44 = var_t3; - } else { -block_33: - sp44 = var_t5; - } - if (var_a3 >= var_a2) { - if (var_v0 >= var_a2) { - var_t2 = var_a2; - } else { - var_t2 = var_v0; - } - } else if (var_v0 >= var_a3) { - var_t2 = var_a3; - } else { - var_t2 = var_v0; - } - if (var_t4 >= var_a1) { - if (var_v1 >= var_a1) { - var_t1 = var_a1; - } else { - var_t1 = var_v1; - } - } else if (var_v1 >= var_t4) { - var_t1 = var_t4; - } else { - var_t1 = var_v1; - } - spAA = var_v1; - spB8 = var_a2; - spB2 = var_a3; - spAC = var_v0; - temp_v0 = spB2 - spB8; - temp_v1 = spAA - var_t4; - spB6 = var_a1; - spBA = var_a0; - temp_a0 = var_t4 - spB6; - temp_a1 = spAC - spB2; - temp_a2 = var_t5 - var_t3; - temp_a3 = var_t3 - spBA; - temp_f12 = (f64) ((temp_v0 * temp_v1) - (temp_a0 * temp_a1)); - temp_f18 = temp_f12 * temp_f12; - sp10 = temp_f18; - temp_f14 = (f64) ((temp_a0 * temp_a2) - (temp_a3 * temp_v1)); - temp_f8 = temp_f14 * temp_f14; - sp8 = temp_f8; - temp_f16 = (f64) ((temp_a3 * temp_a1) - (temp_v0 * temp_a2)); - temp_f4 = temp_f16 * temp_f16; - sp0 = temp_f4; - temp_f2 = (f64) sqrtf((f32) (temp_f18 + temp_f8 + temp_f4)); - if ((temp_f2 != 0.0) && ((temp_f0 = (f32) ((f64) (f32) temp_f12 / temp_f2), sp58 = temp_f0, temp_f4_2 = (f32) ((f64) (f32) temp_f14 / temp_f2), sp1C = temp_f4_2, sp54 = temp_f4_2, temp_f18_2 = (f32) ((f64) (f32) temp_f16 / temp_f2), sp50 = temp_f18_2, sp4C = -(((f32) spBA * temp_f0) + (temp_f4_2 * (f32) spB8) + (temp_f18_2 * (f32) spB6)), (D_8015F59C == 0)) || (!(temp_f4_2 < D_802B9E64) && !(D_802B9E68 < temp_f4_2))) && ((D_8015F5A0 == 0) || !(sp1C < D_802B9E6C) || !(D_802B9E70 < sp1C))) { - temp_t0->vtx2[0] = sp4A; - temp_t0->vtx3[2] = var_t1; - temp_t0->vtx3[1] = var_t2; - temp_t0->vtx3[0] = sp44; - temp_t0->vtx2[1] = sp42; - temp_t0->vtx2[2] = sp48; - if (sp44 < D_8015F6EA) { - D_8015F6EA = sp44; - } - if (var_t2 < D_8015F6EE) { - D_8015F6EE = var_t2; - } - if (var_t1 < D_8015F6F2) { - D_8015F6F2 = var_t1; - } - if (D_8015F6E8 < sp4A) { - D_8015F6E8 = sp4A; - } - if (D_8015F6EC < sp42) { - D_8015F6EC = sp42; - } - if (D_8015F6F0 < sp48) { - D_8015F6F0 = sp48; - } - temp_t0->height = sp58; - temp_t0->gravity = sp54; - var_a1_2 = arg4; - temp_t0->rotation = sp50; - temp_t0->height2 = sp4C; - temp_t0->surfaceType = (u16) arg3; - D_8015F6FA = 0; - D_8015F6FC = 0; - temp_a3_2 = temp_t0->vtxs[0]->v.flag; - temp_v1_2 = temp_t0->vtxs[1]->v.flag; - temp_a0_2 = temp_t0->vtxs[2]->v.flag; - if ((temp_a3_2 == 1) && (temp_v1_2 == 1) && (temp_a0_2 == 1)) { - var_t8 = (arg4 | 0x400) & 0xFFFF; - goto block_81; - } - if ((temp_a3_2 == 2) && (temp_v1_2 == 2) && (temp_a0_2 == 2)) { - var_a1_2 = (arg4 | 0x800) & 0xFFFF; - } else if ((temp_a3_2 == 3) && (temp_v1_2 == 3) && (temp_a0_2 == 3)) { - var_a1_2 = (arg4 | 0x1000) & 0xFFFF; - } else if (D_8015F5A4 != 0) { - var_t8 = (arg4 | 0x200) & 0xFFFF; -block_81: - var_a1_2 = var_t8; - } - temp_t0->flags = var_a1_2; - if (sp10 <= sp8) { - var_t9 = var_a1_2 | 0x4000; - if (sp0 <= sp8) { - goto block_89; - } - } - if ((sp8 < sp10) && (sp0 <= sp10)) { - temp_t0->flags |= 0x8000; - } else { - var_t9 = temp_t0->flags | 0x2000; -block_89: - temp_t0->flags = var_t9; - } - D_8015F588 += 1; - } - } -} -#else -GLOBAL_ASM("asm/non_matchings/code_802AAA70/func_802AE434.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_802AE434(s32, s32, s32, s8, s32); // extern -extern ? D_8015F668; - -void func_802AEB14(s32 arg0, s8 arg1, u16 arg2) { - func_802AE434(*(&D_8015F668 + ((((arg0 & 0xFF0000) >> 0x10) >> 1) * 4)), *(&D_8015F668 + ((((arg0 & 0xFF00) >> 8) >> 1) * 4)), *(&D_8015F668 + (((arg0 & 0xFF) >> 1) * 4)), arg1, arg2); -} -#else -GLOBAL_ASM("asm/non_matchings/code_802AAA70/func_802AEB14.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_802AE434(s32, s32, s32, s8, s32); // extern -extern ? D_8015F668; - -void func_802AEBA4(s32 arg0, s32 arg1, s8 arg2, u16 arg3) { - s32 sp28; - s32 sp24; - s32 sp20; - - sp28 = *(&D_8015F668 + ((((arg1 & 0xFF0000) >> 0x10) >> 1) * 4)); - sp24 = *(&D_8015F668 + ((((arg1 & 0xFF00) >> 8) >> 1) * 4)); - sp20 = *(&D_8015F668 + (((arg1 & 0xFF) >> 1) * 4)); - func_802AE434(*(&D_8015F668 + ((((arg0 & 0xFF0000) >> 0x10) >> 1) * 4)), *(&D_8015F668 + ((((arg0 & 0xFF00) >> 8) >> 1) * 4)), *(&D_8015F668 + (((arg0 & 0xFF) >> 1) * 4)), arg2, arg3); - func_802AE434(sp28, sp24, sp20, arg2, arg3); -} -#else -GLOBAL_ASM("asm/non_matchings/code_802AAA70/func_802AEBA4.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_802AE434(s32, s32, s32, s8, s32); // extern -extern ? D_8015F668; - -void func_802AECA0(s32 arg0, s8 arg1, u16 arg2) { - s32 sp2C; - s32 sp24; - s32 sp20; - s32 temp_a0; - s32 temp_a2; - - temp_a0 = *(&D_8015F668 + ((((arg0 & 0xFF0000) >> 0x10) >> 1) * 4)); - temp_a2 = *(&D_8015F668 + (((arg0 & 0xFF) >> 1) * 4)); - sp2C = temp_a0; - sp24 = temp_a2; - sp20 = *(&D_8015F668 + ((((arg0 & 0xFF000000) >> 0x18) >> 1) * 4)); - func_802AE434(temp_a0, *(&D_8015F668 + ((((arg0 & 0xFF00) >> 8) >> 1) * 4)), temp_a2, arg1, arg2); - func_802AE434(temp_a0, sp24, sp20, arg1, arg2); -} -#else -GLOBAL_ASM("asm/non_matchings/code_802AAA70/func_802AECA0.s") -#endif - -void func_802AED6C(Vtx *arg0, s32 arg1, s32 arg2) { - Vtx *var_v0; - s32 var_v1; - s32 segment = SEGMENT_NUMBER2(arg0); - s32 offset = SEGMENT_OFFSET(arg0); - var_v0 = (Vtx *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset); - for (var_v1 = 0; var_v1 != arg1; var_v1++) - { - D_8015F668[arg2++] = var_v0++; - } -} - -s32 func_802AEE1C(s16 arg0, s16 arg1, s16 arg2, s16 arg3, s16 arg4, s16 arg5, s16 arg6, s16 arg7) { - f32 temp_f0; - f32 temp_f18; - f32 temp_f2; - - temp_f0 = arg6 - arg4; - temp_f2 = arg7 - arg5; - if (temp_f0 == 0.0f) { - if (arg4 < arg0) { - return 0; - } - if (arg1 < arg4) { - return 0; - } - if (temp_f2 > 0.0f) { - if ((arg5 < arg2) && (arg3 < arg7)) { - return 1; - } - } else if ((arg7 < arg2) && (arg3 < arg5)) { - return 1; - } - } else { - if (temp_f2 == 0.0f) { - if (arg5 < arg2) { - return 0; - } - if (arg3 < arg5) { - return 0; - } - if (temp_f0 > 0.0f) { - if ((arg4 < arg0) && (arg1 < arg6)) { - return 1; - } - } else if ((arg6 < arg0) && (arg1 < arg4)) { - return 1; - } - } else { - temp_f18 = ((temp_f0 / temp_f2) * (arg2 - arg5)) + arg4; - if ((arg0 <= temp_f18) && (temp_f18 <= arg1)) { - return 1; - } - temp_f18 = ((temp_f0 / temp_f2) * (arg3 - arg5)) + arg4; - if ((arg0 <= temp_f18) && (temp_f18 <= arg1)) { - return 1; - } - temp_f18 = ((temp_f2 / temp_f0) * (arg0 - arg4)) + arg5; - if ((arg2 <= temp_f18) && (temp_f18 <= arg3)) { - return 1; - } - temp_f18 = ((temp_f2 / temp_f0) * (arg1 - arg4)) + arg5; - if ((arg2 <= temp_f18) && (temp_f18 <= arg3)) { - return 1; - } - } - } - return 0; -} - -s32 func_802AF0FC(s16 arg0, s16 arg1, s16 arg2, s16 arg3, u16 surfaceMapIndex) { - mk64_surface_map_ram *temp_v0; - s16 vx1; - s16 vz1; - s16 vx2; - s16 vz2; - s16 vx3; - s16 vz3; - - temp_v0 = &D_8015F580[surfaceMapIndex]; - vx1 = temp_v0->vtxs[0]->v.ob[0]; - vz1 = temp_v0->vtxs[0]->v.ob[2]; - vx2 = temp_v0->vtxs[1]->v.ob[0]; - vz2 = temp_v0->vtxs[1]->v.ob[2]; - vx3 = temp_v0->vtxs[2]->v.ob[0]; - vz3 = temp_v0->vtxs[2]->v.ob[2]; - if ((vx1 >= arg0) && (arg1 >= vx1) && (vz1 >= arg2) && (arg3 >= vz1)) { - return 1; - } - if ((vx2 >= arg0) && (arg1 >= vx2) && (vz2 >= arg2) && (arg3 >= vz2)) { - return 1; - } - if ((vx3 >= arg0) && (arg1 >= vx3) && (vz3 >= arg2) && (arg3 >= vz3)) { - return 1; - } - if (func_802AEE1C(arg0, arg1, arg2, arg3, vx1, vz1, vx2, vz2) == 1) { - return 1; - } - if (func_802AEE1C(arg0, arg1, arg2, arg3, vx2, vz2, vx3, vz3) == 1) { - return 1; - } - if (func_802AEE1C(arg0, arg1, arg2, arg3, vx3, vz3, vx1, vz1) == 1) { - return 1; - } - return 0; -} - -#ifdef MIPS_TO_C -//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c -extern ? D_8014F110; -extern s32 D_8015F584; -extern u16 D_8015F58A; -extern s16 D_8015F6E8; -extern s16 D_8015F6EA; -extern s16 D_8015F6F0; -extern s16 D_8015F6F2; -extern s32 gNextFreeMemoryAddress; - -void func_802AF314(void) { - s32 sp4C; - ? *var_v0; - s16 temp_a1; - s16 temp_a3; - s16 temp_s1; - s16 temp_s2; - s32 temp_fp; - s32 temp_s6; - s32 var_s0; - s32 var_s3; - s32 var_s5; - s32 var_s7; - void *temp_v0; - void *temp_v0_2; - - var_v0 = &D_8014F110; - do { - var_v0 += 0x10; - var_v0->unk-A = 0; - var_v0->unk-6 = 0; - var_v0->unk-2 = 0; - var_v0->unk-E = 0; - } while (var_v0 != &gNumActors); - D_8015F58A = 0; - D_8015F584 = gNextFreeMemoryAddress; - var_s7 = 0; - temp_s6 = (s32) (D_8015F6E8 - D_8015F6EA) / 32; - temp_fp = (s32) (D_8015F6F0 - D_8015F6F2) / 32; - do { - var_s5 = 0; - sp4C = temp_fp * var_s7; -loop_4: - var_s0 = 0; - var_s3 = 0; - temp_s1 = (D_8015F6EA + (temp_s6 * var_s5)) - 0x14; - temp_s2 = (D_8015F6F2 + sp4C) - 0x14; - if ((s32) D_8015F588 > 0) { - do { - temp_a3 = temp_s2 + temp_fp + 0x28; - temp_v0 = var_s3 + D_8015F580; - if ((temp_v0->unkE >= temp_s2) && (temp_a3 >= temp_v0->unk8)) { - temp_a1 = temp_s1 + temp_s6 + 0x28; - if ((temp_v0->unkA >= temp_s1) && (temp_a1 >= temp_v0->unk4)) { - if (func_802AF0FC(temp_s1, temp_a1, temp_s2, temp_a3, (u16) var_s0) == 1) { - temp_v0_2 = (((var_s7 << 5) + var_s5) * 4) + &D_8014F110; - if (temp_v0_2->unk2 == 0) { - temp_v0_2->unk0 = (u16) D_8015F58A; - } - temp_v0_2->unk2 = (u16) (temp_v0_2->unk2 + 1); - *(D_8015F584 + (D_8015F58A * 2)) = (s16) var_s0; - D_8015F58A += 1; - } - } - } - var_s0 += 1; - var_s3 += 0x2C; - } while (var_s0 < (s32) D_8015F588); - } - var_s5 += 1; - if (var_s5 != 0x20) { - goto loop_4; - } - var_s7 += 1; - } while (var_s7 != 0x20); -} -#else -GLOBAL_ASM("asm/non_matchings/code_802AAA70/func_802AF314.s") -#endif - -void func_802AF588(s32 arg0) { - func_802AF5D8(arg0, -1, 0xFF); -} - -void func_802AF5AC(s32 arg0, s8 arg1) { - func_802AF5D8(arg0, arg1, 0xFF); -} - -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_802AEB14(u32, s8, s32); // extern -void func_802AEBA4(u32, u32, s8, s32); // extern -void func_802AECA0(u32, s8, s32); // extern -void func_802AED6C(u32, s32, u32); // extern -extern s16 D_8015F6FA; -extern s16 D_8015F6FC; -extern uintptr_t gSegmentTable; - -void func_802AF5D8(u32 arg0, s8 arg1, s32 arg2) { - s32 temp_s5; - s32 temp_v0; - u32 temp_s0; - u32 temp_s1; - void *phi_s3; - s32 phi_s6; - s32 phi_s6_2; - - D_8015F6FA = 0; - temp_s5 = arg2 & 0xFFFF; - D_8015F6FC = 0; - phi_s3 = *(&gSegmentTable + ((arg0 >> 0x18) * 4)) + (arg0 & 0xFFFFFF) + 0x80000000; - phi_s6_2 = 0; -loop_1: - temp_s0 = phi_s3->unk0; - temp_s1 = phi_s3->unk4; - temp_v0 = temp_s0 & 0xFF000000; - if (temp_v0 == 0x6000000) { - func_802AF5D8(temp_s1, arg1, temp_s5 & 0xFFFF); - phi_s6 = phi_s6_2 + 1; - goto block_12; - } - if (temp_v0 == 0x4000000) { - func_802AED6C(temp_s1, (temp_s0 >> 0xA) & 0x3F, ((temp_s0 >> 0x10) & 0xFF) >> 1); - phi_s6 = phi_s6_2 + 1; - goto block_12; - } - if (temp_v0 == 0xBF000000) { - D_8015F58C += 1; - func_802AEB14(temp_s1, arg1, temp_s5 & 0xFFFF); - phi_s6 = phi_s6_2 + 1; - goto block_12; - } - if (temp_v0 == 0xB1000000) { - D_8015F58C += 2; - func_802AEBA4(temp_s0, temp_s1, arg1, temp_s5 & 0xFFFF); - phi_s6 = phi_s6_2 + 1; - goto block_12; - } - if (temp_v0 == 0xB5000000) { - D_8015F58C += 2; - func_802AECA0(temp_s1, arg1, temp_s5 & 0xFFFF); - phi_s6 = phi_s6_2 + 1; - goto block_12; - } - phi_s6 = phi_s6_2 + 1; - if (temp_v0 != 0xB8000000) { -block_12: - phi_s3 += 8; - phi_s6_2 = phi_s6; - if (phi_s6 != 0x1FFF) { - goto loop_1; - } - } -} -#else -GLOBAL_ASM("asm/non_matchings/code_802AAA70/func_802AF5D8.s") -#endif - -void func_802AF7B4(uintptr_t addr, s32 uls, s32 ult) { - s32 segment = SEGMENT_NUMBER2(addr); - s32 offset = SEGMENT_OFFSET(addr); - Gfx *phi_v0 = (Gfx *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset); - s32 gfxCommand; - - uls = (uls << 12) & 0xFFF000; - ult &= 0xFFF; - - while(1) { - - gfxCommand = phi_v0->words.w0 & 0xFF000000; - - if (gfxCommand == G_ENDDL << 24) { - break; - } else if (gfxCommand == (G_SETTILESIZE << 24)) { - phi_v0->words.w0 = 0xF2000000 | uls | ult; - - break; - } - phi_v0++; - } -} - -void func_802AF83C(Vtx *arg0, u32 vertexCount, s32 arg2, s8 arg3, u8 arg4, u8 arg5, u8 arg6) { - s32 segment = SEGMENT_NUMBER2(arg0); - s32 offset = SEGMENT_OFFSET(arg0); - Vtx *phi_v0 = (Vtx *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset); - u32 var_v1 = 0; - - // For some, unholy reason this can't be a for loop - // I just want to turn this into - // for (var_v1 = 0; var_v1 < vertexCount; var_v1++) - // phi_v0[var_v1].n.n[0] ... - if(1){} - while (var_v1 < vertexCount) { - if (arg4) { - phi_v0->n.n[0] = arg4; - phi_v0->n.n[1] = arg5; - phi_v0->n.n[2] = arg6; - } - phi_v0->n.a = arg3; - var_v1++; - phi_v0++; - } -} - -void func_802AF8BC(Gfx *displayList, s8 arg1, u8 arg2, u8 arg3, u8 arg4) { - uintptr_t upperWord; - uintptr_t lowerWord; - s32 command; - s32 segment = SEGMENT_NUMBER2(displayList); - s32 offset = SEGMENT_OFFSET(displayList); - Gfx *phi_v0 = (Gfx *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset); - - do { - upperWord = phi_v0->words.w0; - lowerWord = phi_v0->words.w1; - command = upperWord & 0xFF000000; - if (command == (G_ENDDL << 24)) break; - if (command == (G_DL << 24)) { - func_802AF8BC(lowerWord, arg1, arg2, arg3, arg4); - } else if (command == (G_VTX << 24)) { - func_802AF83C(lowerWord, (upperWord >> 0xA) & 0x3F, ((upperWord >> 0x10) & 0xFF) >> 1, arg1, arg2, arg3, arg4); - } - phi_v0++; - } while(1); -} - -void func_802AF9F0(Vec3f arg0, f32 arg1, Vec3f arg2) { - arg2[0] -= arg0[0] * arg1; - arg2[1] -= arg0[1] * arg1; - arg2[2] -= arg0[2] * arg1; -} - -#ifdef MIPS_TO_C -//generated by m2c commit 6b6e1390bf30013247343623194964ff13d0c45b -s32 func_802AC760(s16 *, f32, f32, f32, f32, s32, f32, f32, f32); /* extern */ -s32 func_802ACBA4(s16 *, f32, f32, f32, f32, s32, f32, f32, f32); /* extern */ -s32 func_802AD278(s16 *, f32, f32, f32, f32, s32, f32, f32, f32); /* extern */ -extern ? D_8014F110; -extern s32 D_8015F584; -extern s16 D_8015F6E8; -extern s16 D_8015F6EA; -extern s16 D_8015F6F0; -extern s16 D_8015F6F2; - -s32 func_802AFA34(Player *player, KartBoundingBoxCorner *corner, f32 cornerPos[0], f32 cornerPos[1], f32 cornerPos[2]) { - f32 sp128; - f32 sp11C; - f32 sp110; - f32 sp10C; - f32 sp108; - f32 sp104; - s16 sp102; - s16 sp100; - s16 spFE; - s16 spFC; - s16 spFA; - s16 spF8; - f32 spD4; - s32 sp8C; - f32 temp_f0; - f32 temp_f0_2; - f32 temp_f0_3; - f32 temp_f0_4; - f32 temp_f0_5; - f32 temp_f0_6; - f32 temp_f20; - f32 temp_f22; - f32 temp_f24; - f32 temp_f26; - f32 temp_f2; - f32 temp_f2_2; - f32 temp_f2_3; - f32 temp_f2_4; - f32 temp_f2_5; - f32 temp_f2_6; - mk64_surface_map_ram *temp_v0_4; - s16 temp_v0_2; - s16 temp_v1; - s32 temp_at; - s32 temp_f10; - s32 temp_f16; - s32 temp_t6; - s32 var_s2; - u16 temp_s0; - u16 temp_v0_3; - u16 temp_v1_3; - u16 var_s1; - u8 temp_v0; - void *temp_v1_2; - - sp104 = 1000.0f; - sp108 = 1000.0f; - sp10C = 1000.0f; - temp_f20 = player->boundingBoxSize; - spFE = 0x1388; - sp100 = 0x1388; - sp102 = 0x1388; - spF8 = 0; - spFA = 0; - spFC = 0; - temp_v0 = corner->surfaceFlags; - temp_f22 = corner->cornerPos[0]; - temp_f24 = corner->cornerPos[1]; - temp_f26 = corner->cornerPos[2]; - switch (temp_v0) { /* irregular */ - case 0x80: - if (func_802AD278(&spF8, temp_f20, temp_f22, temp_f24, temp_f26, (s32) corner->surfaceMapIndex, cornerPos[0], cornerPos[1], cornerPos[2]) == 1) { - temp_f0 = func_802ABE30(temp_f22, temp_f24, temp_f26, corner->surfaceMapIndex); - temp_f2 = player->pos[1]; - if (!(temp_f2 < temp_f0) && !((2.0f * temp_f20) < (temp_f2 - temp_f0))) { - corner->cornerGroundY = temp_f0; - func_802AF9F0(&sp11C, sp108, &corner->cornerPos[0]); - return 1; - } - } - default: -block_22: - temp_v0_2 = D_8015F6EA; - temp_v1 = D_8015F6F2; - temp_f10 = (s32) ((temp_f22 - (f32) temp_v0_2) / (f32) ((s32) (D_8015F6E8 - temp_v0_2) / 32)); - temp_f16 = (s32) ((temp_f26 - (f32) temp_v1) / (f32) ((s32) (D_8015F6F0 - temp_v1) / 32)); - if ((s16) temp_f10 < 0) { - goto block_57; - } - if ((s16) temp_f16 < 0) { - goto block_57; - } - if ((s16) temp_f10 >= 0x20) { - goto block_57; - } - if ((s16) temp_f16 >= 0x20) { - goto block_57; - } - temp_v1_2 = ((s16) ((s16) temp_f10 + ((s16) temp_f16 << 5)) * 4) + &D_8014F110; - temp_v0_3 = temp_v1_2->unk2; - sp8C = (s32) temp_v0_3; - if (temp_v0_3 == 0) { - goto block_57; - } - var_s1 = temp_v1_2->unk0; - var_s2 = 0; - if (sp8C > 0) { -loop_34: - temp_s0 = *(D_8015F584 + (var_s1 * 2)); - temp_v0_4 = &D_8015F580[temp_s0]; - temp_v1_3 = temp_v0_4->flags; - if (temp_v1_3 & 0x4000) { - if ((corner->surfaceMapIndex != temp_s0) && (func_802AC760(&spF8, temp_f20, temp_f22, temp_f24, temp_f26, (s32) temp_s0, cornerPos[0], cornerPos[1], cornerPos[2]) == 1)) { - temp_f0_2 = func_802ABE30(temp_f22, temp_f24, temp_f26, temp_s0 & 0xFFFF); - temp_f2_2 = player->pos[1]; - if (!(temp_f2_2 < temp_f0_2) && !((2.0f * temp_f20) < (temp_f2_2 - temp_f0_2))) { - spD4 = temp_f0_2; - func_802AF9F0(&sp128, sp10C, &corner->cornerPos[0]); - corner->cornerGroundY = spD4; - corner->surfaceFlags = 0x40; - corner->surfaceMapIndex = temp_s0; - corner->surfaceType = (u8) D_8015F580[temp_s0].surfaceType; - if (D_8015F580[temp_s0].flags & 0x1000) { - corner->unk_14 = 1; - return 1; - } - corner->unk_14 = 0; - return 1; - } - } - goto block_55; - } - if (temp_v1_3 & 0x8000) { - if ((temp_v0_4->gravity != 0.0f) && (corner->surfaceMapIndex != temp_s0) && (func_802AD278(&spF8, temp_f20, temp_f22, temp_f24, temp_f26, (s32) temp_s0, cornerPos[0], cornerPos[1], cornerPos[2]) == 1)) { - temp_f0_3 = func_802ABE30(temp_f22, temp_f24, temp_f26, temp_s0 & 0xFFFF); - temp_f2_3 = player->pos[1]; - if (!(temp_f2_3 < temp_f0_3) && !((2.0f * temp_f20) < (temp_f2_3 - temp_f0_3))) { - corner->cornerGroundY = temp_f0_3; - func_802AF9F0(&sp11C, sp108, &corner->cornerPos[0]); - corner->cornerGroundY = func_802ABE30(temp_f22, temp_f24, temp_f26, temp_s0 & 0xFFFF); - corner->surfaceFlags = 0x80; - corner->surfaceMapIndex = temp_s0; - corner->surfaceType = (u8) D_8015F580[temp_s0].surfaceType; - return 1; - } - } - goto block_55; - } - if ((temp_v0_4->gravity != 0.0f) && (corner->surfaceMapIndex != temp_s0) && (func_802ACBA4(&spF8, temp_f20, temp_f22, temp_f24, temp_f26, (s32) temp_s0, cornerPos[0], cornerPos[1], cornerPos[2]) == 1)) { - temp_f0_4 = func_802ABE30(temp_f22, temp_f24, temp_f26, temp_s0 & 0xFFFF); - temp_f2_4 = player->pos[1]; - if (!(temp_f2_4 < temp_f0_4) && !((2.0f * temp_f20) < (temp_f2_4 - temp_f0_4))) { - corner->cornerGroundY = temp_f0_4; - func_802AF9F0(&sp110, sp104, &corner->cornerPos[0]); - corner->surfaceFlags = 0x20; - corner->surfaceMapIndex = temp_s0; - corner->surfaceType = (u8) D_8015F580[temp_s0].surfaceType; - return 1; - } - } -block_55: - temp_t6 = (var_s2 + 1) & 0xFFFF; - temp_at = temp_t6 < sp8C; - var_s2 = temp_t6; - var_s1 = (var_s1 + 1) & 0xFFFF; - if (temp_at == 0) { - goto block_56; - } - goto loop_34; - } -block_56: - corner->cornerGroundY = temp_f24; - corner->surfaceType = 0; -block_57: - return 0; - case 0x40: - if (func_802AC760(&spF8, temp_f20, temp_f22, temp_f24, temp_f26, (s32) corner->surfaceMapIndex, cornerPos[0], cornerPos[1], cornerPos[2]) == 1) { - temp_f0_5 = func_802ABE30(temp_f22, temp_f24, temp_f26, corner->surfaceMapIndex); - temp_f2_5 = player->pos[1]; - if (!(temp_f2_5 < temp_f0_5) && !((2.0f * temp_f20) < (temp_f2_5 - temp_f0_5))) { - corner->cornerGroundY = temp_f0_5; - func_802AF9F0(&sp128, sp10C, &corner->cornerPos[0]); - return 1; - } - } - goto block_22; - case 0x20: - if (func_802ACBA4(&spF8, temp_f20, temp_f22, temp_f24, temp_f26, (s32) corner->surfaceMapIndex, cornerPos[0], cornerPos[1], cornerPos[2]) == 1) { - temp_f0_6 = func_802ABE30(temp_f22, temp_f24, temp_f26, corner->surfaceMapIndex); - temp_f2_6 = player->pos[1]; - if (!(temp_f2_6 < temp_f0_6) && !((2.0f * temp_f20) < (temp_f2_6 - temp_f0_6))) { - corner->cornerGroundY = temp_f0_6; - func_802AF9F0(&sp110, sp104, &corner->cornerPos[0]); - return 1; - } - } - goto block_22; - case 0x0: - goto block_22; - } -} -#else -GLOBAL_ASM("asm/non_matchings/code_802AAA70/func_802AFA34.s") -#endif diff --git a/src/code_802AAA70.h b/src/code_802AAA70.h deleted file mode 100644 index 5d31ca0cb..000000000 --- a/src/code_802AAA70.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef CODE_802AAA70_H -#define CODE_802AAA70_H - -#include "common_structs.h" - -void nullify_displaylist(uintptr_t); -void func_802AAAAC(UnkActorInner*); -f32 func_802AAB4C(Player*); -s8 func_802ABD10(u16); -s16 func_802ABD40(u16); -s16 func_802ABD7C(u16); -s16 func_802ABDB8(u16); -s16 func_802ABDF4(u16); -f32 func_802ABE30(f32, f32, f32, u16); -f32 func_802ABEAC(UnkActorInner*, Vec3f); -void process_shell_collision(Vec3f, f32, Vec3f, f32); -void func_802AC098(UnkActorInner*, f32*); -void func_802AC114(Vec3f, f32, Vec3f, f32); -void func_802AD950(UnkActorInner*, f32, f32, f32, f32, f32, f32, f32); -s32 func_802ADDC8(UnkActorInner*, f32, f32, f32, f32); -f32 func_802AE1C0(f32, f32, f32); -void func_802AED6C(Vtx*, s32, s32); -s32 func_802AEE1C(s16, s16, s16, s16, s16, s16, s16, s16); -s32 func_802AF0FC(s16, s16, s16, s16, u16); -void func_802AF314(); -void func_802AF588(s32); -void func_802AF5AC(s32, s8); -void func_802AF5D8(u32, s8, u16); -void func_802AF7B4(uintptr_t, s32, s32); -void func_802AF83C(Vtx*, u32, s32, s8, u8, u8, u8); -void func_802AF8BC(Gfx*, s8, u8, u8, u8); -void func_802AF9F0(Vec3f, f32, Vec3f); - -extern Vtx *D_8015F668[]; -extern s16 D_8015F6EE; -extern f32 D_8015F8E4; - -#endif diff --git a/src/collision.c b/src/collision.c new file mode 100644 index 000000000..1c8a4055f --- /dev/null +++ b/src/collision.c @@ -0,0 +1,2214 @@ +#include +#include +#include +#include +#include +#include +#include "main.h" +#include "memory.h" +#include "collision.h" +#include "math_util.h" +#include "variables.h" + +#pragma intrinsic (sqrtf) + +// Used to delete the choco mountain guard rail +void nullify_displaylist(uintptr_t addr) { + s32 segment = SEGMENT_NUMBER2(addr); + s32 offset = SEGMENT_OFFSET(addr); + + Gfx *macro; + + macro = (Gfx *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset); + macro->words.w0 = (G_ENDDL << 24); + macro->words.w1 = 0; +} + +void func_802AAAAC(Collision *collision) { + collision->unk36 = 5000; + collision->unk38 = 5000; + collision->unk3A = 5000; + collision->unk30 = 0; + collision->unk32 = 0; + collision->unk34 = 0; + collision->unk3C[0] = 0; + collision->unk3C[1] = 0; + collision->unk3C[2] = 0; + vec3f_set(collision->unk48, 0.0f, 0.0f, 1.0f); + vec3f_set(collision->unk54, 1.0f, 0.0f, 0.0f); + vec3f_set(collision->unk60, 0.0f, 1.0f, 0.0f); +} + +f32 func_802AAB4C(Player *player) { + f32 playerX; + f32 playerZ; + s32 temp_v1; + + playerX = player->pos[0]; + playerZ = player->pos[2]; + switch (gCurrentCourseId) { + case COURSE_BOWSER_CASTLE: + if (playerX > 1859.0f) { + return D_8015F8E4; + } + if (playerX < 1549.0f) { + return D_8015F8E4; + } + if (playerZ > -1102.0f) { + return D_8015F8E4; + } + if (playerZ < -1402.0f) { + return D_8015F8E4; + } + return 20.0f; + case COURSE_KOOPA_BEACH: + if (playerX > 239.0f) { + return D_8015F8E4; + } + if (playerX < 67.0f) { + return D_8015F8E4; + } + if (playerZ > 2405.0f) { + return D_8015F8E4; + } + if (playerZ < 2233.0f) { + return D_8015F8E4; + } + return 0.8f; + case COURSE_SHERBET_LAND: + if ((get_surface_type(player->unk_110.unk3A) & 0xFF) == 5) { + return (f32) (D_8015F6EE - 0xA); + } + return D_8015F8E4; + case COURSE_DK_JUNGLE: + temp_v1 = func_802ABD40(player->unk_110.unk3A) & 0xFF; + if (temp_v1 == 0xFF) { + if ((get_surface_type(player->unk_110.unk3A) & 0xFF) == 0xF) { + return -475.0f; + } + if (playerX > -478.0f) { + return -33.9f; + } + if (playerX < -838.0f) { + return -475.0f; + } + if (playerZ > -436.0f) { + return -475.0f; + } + if (playerZ < -993.0f) { + return -33.9f; + } + if (playerZ < playerX) { + return -475.0f; + } + return -33.9f; + } + if (temp_v1 >= 0x14) { + return -475.0f; + } + return -33.9f; + default: + return D_8015F8E4; + } +} + +s32 func_802AAE4C(Collision *collision, f32 boundingBoxSize, f32 posX, f32 posY, f32 posZ, u16 index) { + mk64_surface_map_ram *surfaceMap = &gSurfaceMap[index]; + UNUSED f32 pad; + f32 x3; + UNUSED f32 pad2; + f32 z3; + UNUSED f32 pad3[4]; + f32 x2; + f32 z2; + f32 x1; + f32 z1; + f32 temp_f0_5; + f32 temp_f10; + f32 temp_f0_3; + f32 temp_f2_2; + s32 bool = 1; + + if (surfaceMap->gravity < -0.9f) + return 0; + if (surfaceMap->vtx31 > posX) + return 0; + if (surfaceMap->vtx33 > posZ) + return 0; + if (surfaceMap->vtx21 < posX) + return 0; + if (surfaceMap->vtx23 < posZ) + return 0; + if ((surfaceMap->vtx32 - boundingBoxSize * 3.0f) > posY) + return 0; + + x1 = surfaceMap->vtxPoly1->v.ob[0]; + z1 = surfaceMap->vtxPoly1->v.ob[2]; + + x2 = surfaceMap->vtxPoly2->v.ob[0]; + z2 = surfaceMap->vtxPoly2->v.ob[2]; + + x3 = surfaceMap->vtxPoly3->v.ob[0]; + z3 = surfaceMap->vtxPoly3->v.ob[2]; + + temp_f10 = (z1 - posZ) * (x2 - posX) - (x1 - posX) * (z2 - posZ); + + if (!temp_f10) { + + temp_f0_3 = (z2 - posZ) * (x3 - posX) - (x2 - posX) * (z3 - posZ); + + temp_f2_2 = (z3 - posZ) * (x1 - posX) - (x3 - posX) * (z1 - posZ); + + if ((temp_f0_3 * temp_f2_2) < 0.0f) { + bool = 0; + } + } else { + + temp_f0_3 = (z2 - posZ) * (x3 - posX) - (x2 - posX) * (z3 - posZ); + + if (!temp_f0_3) { + temp_f2_2 = (z3 - posZ) * (x1 - posX) - (x3 - posX) * (z1 - posZ); + + if ((temp_f10 * temp_f2_2) < 0.0f) { + bool = 0; + } + } else { + if ((temp_f10 * temp_f0_3) < 0.0f) { + bool = 0; + } else { + temp_f2_2 = (z3 - posZ) * (x1 - posX) - (x3 - posX) * (z1 - posZ); + if (temp_f2_2 != 0) { + if ((temp_f0_3 * temp_f2_2) < 0.0f) { + bool = 0; + } + } + } + } + } + if (!bool) { + return 0; + } + temp_f0_5 = ((surfaceMap->height * posX) + (surfaceMap->gravity * posY) + (surfaceMap->rotation * posZ) + + surfaceMap->height2) + - boundingBoxSize; + if (temp_f0_5 > 0.0f) { + if (collision->unk3C[2] > temp_f0_5) { + collision->unk34 = 1; + collision->unk3A = index; + collision->unk3C[2] = temp_f0_5; + collision->unk60[0] = surfaceMap->height; + collision->unk60[1] = surfaceMap->gravity; + collision->unk60[2] = surfaceMap->rotation; + } + return 0; + } + + if (temp_f0_5 > -16.0f) { + collision->unk34 = 1; + collision->unk3A = index; + collision->unk3C[2] = temp_f0_5; + collision->unk60[0] = surfaceMap->height; + collision->unk60[1] = surfaceMap->gravity; + collision->unk60[2] = surfaceMap->rotation; + return 1; + } + return 0; +} + + +s32 func_802AB288(Collision *collision, f32 boundingBoxSize, f32 posX, f32 posY, f32 posZ, u16 index) { + mk64_surface_map_ram *surfaceMap = &gSurfaceMap[index]; + UNUSED f32 pad[6]; + f32 x3; + f32 y3; + UNUSED f32 pad2[1]; + + UNUSED f32 pad3[5]; + f32 x2; + f32 y2; + f32 x1; + f32 y1; + f32 temp_f0_4; + f32 temp_f2_2; + f32 temp_f0_2; + f32 temp_f2_3; + s32 bool = 1; + + if (surfaceMap->vtx31 > posX) { + return 0; + } + if (surfaceMap->vtx21 < posX) { + return 0; + } + if (surfaceMap->vtx22 < posY) { + return 0; + } + if (surfaceMap->vtx32 > posY) { + return 0; + } + + if ((surfaceMap->vtx33 - boundingBoxSize * 3.0f) > posZ) { + return 0; + } + if ((surfaceMap->vtx23 + boundingBoxSize * 3.0f) < posZ) { + return 0; + } + + x1 = surfaceMap->vtxPoly1->v.ob[0]; + y1 = surfaceMap->vtxPoly1->v.ob[1]; + + x2 = surfaceMap->vtxPoly2->v.ob[0]; + y2 = surfaceMap->vtxPoly2->v.ob[1]; + + x3 = surfaceMap->vtxPoly3->v.ob[0]; + y3 = surfaceMap->vtxPoly3->v.ob[1]; + + temp_f2_2 = (y1 - posY) * (x2 - posX) - (x1 - posX) * (y2 - posY); + + if (!temp_f2_2) { + + temp_f0_2 = (y2 - posY) * (x3 - posX) - (x2 - posX) * (y3 - posY); + + temp_f2_3 = (y3 - posY) * (x1 - posX) - (x3 - posX) * (y1 - posY); + + if ((temp_f0_2 * temp_f2_3) < 0.0f) { + bool = 0; + } + } else { + temp_f0_2 = (y2 - posY) * (x3 - posX) - (x2 - posX) * (y3 - posY); + if (!temp_f0_2) { + temp_f2_3 = (y3 - posY) * (x1 - posX) - (x3 - posX) * (y1 - posY); + if (temp_f2_2 * temp_f2_3 < 0.0f) { + bool = 0; + } + } else { + if ((temp_f2_2 * temp_f0_2) < 0.0f) { + bool = 0; + } else { + temp_f2_3 = ((y3 - posY) * (x1 - posX)) - ((x3 - posX) * (y1 - posY)); + if (temp_f2_3 != 0) { + if ((temp_f0_2 * temp_f2_3) < 0.0f) { + bool = 0; + } + } + } + } + } + if (!bool) { + return 0; + } + temp_f0_4 = ((surfaceMap->height * posX) + (surfaceMap->gravity * posY) + (surfaceMap->rotation * posZ) + surfaceMap->height2) - boundingBoxSize; + if (temp_f0_4 > 0.0f) { + if (temp_f0_4 < collision->unk3C[0]) { + collision->unk30 = 1; + collision->unk36 = index; + collision->unk3C[0] = temp_f0_4; + collision->unk48[0] = surfaceMap->height; + collision->unk48[1] = surfaceMap->gravity; + collision->unk48[2] = surfaceMap->rotation; + } + return 0; + } + + if (temp_f0_4 > -16.0f) { + collision->unk30 = 1; + collision->unk36 = index; + collision->unk3C[0] = temp_f0_4; + collision->unk48[0] = surfaceMap->height; + collision->unk48[1] = surfaceMap->gravity; + collision->unk48[2] = surfaceMap->rotation; + return 1; + } + return 0; +} + + +s32 func_802AB6C4(Collision *collision, f32 boundingBoxSize, f32 posX, f32 posY, f32 posZ, u16 index) { + mk64_surface_map_ram *surfaceMap = &gSurfaceMap[index]; + s32 bool = 1; + UNUSED f32 pad[7]; + f32 sp20; + f32 temp_f8; + UNUSED f32 pad2[5]; + f32 sp6C; + f32 sp70; + f32 temp_f4; + f32 sp24; + f32 temp_f0_4; + f32 temp_f2_2; + f32 temp_f0_2; + f32 temp_f2_3; + if (surfaceMap->vtx33 > posZ) { + return 0; + } + if (surfaceMap->vtx23 < posZ) { + return 0; + } + if (surfaceMap->vtx22 < posY) { + return 0; + } + if (surfaceMap->vtx32 > posY) { + return 0; + } + if ((surfaceMap->vtx31 - (boundingBoxSize * 3.0f)) > posX) { + return 0; + } + if ((surfaceMap->vtx21 + (boundingBoxSize * 3.0f)) < posX) { + return 0; + } + + sp24 = surfaceMap->vtxPoly1->v.ob[2]; + temp_f4 = surfaceMap->vtxPoly1->v.ob[1]; + + sp70 = surfaceMap->vtxPoly2->v.ob[2]; + sp6C = surfaceMap->vtxPoly2->v.ob[1]; + + temp_f8 = surfaceMap->vtxPoly3->v.ob[2]; + sp20 = surfaceMap->vtxPoly3->v.ob[1]; + + temp_f2_2 = (temp_f4 - posY) * (sp70 - posZ) - (sp24 - posZ) * (sp6C - posY); + + if (!temp_f2_2) { + + temp_f0_2 = ((sp6C - posY) * (temp_f8 - posZ)) - ((sp70 - posZ) * (sp20 - posY)); + + temp_f2_3 = ((sp20 - posY) * (sp24 - posZ)) - ((temp_f8 - posZ) * (temp_f4 - posY)); + + if ((temp_f0_2 * temp_f2_3) < 0.0f) { + bool = 0; + } + } else { + + temp_f0_2 = ((sp6C - posY) * (temp_f8 - posZ)) - ((sp70 - posZ) * (sp20 - posY)); + + if (temp_f0_2 == 0) { + temp_f2_3 = ((sp20 - posY) * (sp24 - posZ)) - ((temp_f8 - posZ) * (temp_f4 - posY)); + + if ((temp_f2_2 * temp_f2_3) < 0.0f) { + bool = 0; + } + } else { + + if ((temp_f2_2 * temp_f0_2) < 0.0f) { + bool = 0; + } else { + temp_f2_3 = ((sp20 - posY) * (sp24 - posZ)) - ((temp_f8 - posZ) * (temp_f4 - posY)); + if (temp_f2_3 != 0) { + if ((temp_f0_2 * temp_f2_3) < 0.0f) { + bool = 0; + } + } + } + } + } + if (!bool) { + return 0; + } + + temp_f0_4 = ((((surfaceMap->height * posX) + (surfaceMap->gravity * posY)) + (surfaceMap->rotation * posZ)) + + surfaceMap->height2) + - boundingBoxSize; + + if (temp_f0_4 > 0.0f) { + if (temp_f0_4 < collision->unk3C[1]) { + collision->unk32 = 1; + collision->unk38 = index; + collision->unk3C[1] = temp_f0_4; + collision->unk54[0] = surfaceMap->height; + collision->unk54[1] = surfaceMap->gravity; + collision->unk54[2] = surfaceMap->rotation; + } + return 0; + } + if (temp_f0_4 > (-16.0f)) { + collision->unk32 = 1; + collision->unk38 = index; + collision->unk3C[1] = temp_f0_4; + collision->unk54[0] = surfaceMap->height; + collision->unk54[1] = surfaceMap->gravity; + collision->unk54[2] = surfaceMap->rotation; + return 1; + } + return 0; +} + +s32 func_802ABB04(f32 posX, f32 posZ, u16 index) { + mk64_surface_map_ram *surfaceMap = &gSurfaceMap[index]; + UNUSED f32 pad; + f32 x3; + UNUSED f32 pad2; + f32 z3; + f32 x2; + UNUSED f32 pad3; + f32 z2; + f32 x1; + f32 z1; + UNUSED f32 pad4[4]; + f32 temp_f2_2; + f32 temp_f2_3; + f32 temp_f0_2; + s32 bool = 1; + + x1 = surfaceMap->vtxPoly1->v.ob[0]; + z1 = surfaceMap->vtxPoly1->v.ob[2]; + + x2 = surfaceMap->vtxPoly2->v.ob[0]; + z2 = surfaceMap->vtxPoly2->v.ob[2]; + + x3 = surfaceMap->vtxPoly3->v.ob[0]; + z3 = surfaceMap->vtxPoly3->v.ob[2]; + + temp_f2_2 = (z1 - posZ) * (x2 - posX) - (x1 - posX) * (z2 - posZ); + + if (!temp_f2_2) { + + temp_f0_2 = (z2 - posZ) * (x3 - posX) - (x2 - posX) * (z3 - posZ); + + temp_f2_3 = (z3 - posZ) * (x1 - posX) - (x3 - posX) * (z1 - posZ); + + if ((temp_f0_2 * temp_f2_3) < 0.0f) { + bool = 0; + } + } else { + temp_f0_2 = (z2 - posZ) * (x3 - posX) - (x2 - posX) * (z3 - posZ); + if (!temp_f0_2) { + temp_f2_3 = (z3 - posZ) * (x1 - posX) - (x3 - posX) * (z1 - posZ); + if (temp_f2_2 * temp_f2_3 < 0.0f) { + bool = 0; + } + } else { + if ((temp_f2_2 * temp_f0_2) < 0.0f) { + bool = 0; + } else { + temp_f2_3 = ((z3 - posZ) * (x1 - posX)) - ((x3 - posX) * (z1 - posZ)); + if (temp_f2_3 != 0) { + if ((temp_f0_2 * temp_f2_3) < 0.0f) { + bool = 0; + } + } + } + } + } + return bool; +} + +s8 get_surface_type(u16 index) { + mk64_surface_map_ram *tile = &gSurfaceMap[index]; + return tile->surfaceType; +} + +s16 func_802ABD40(u16 index) { + mk64_surface_map_ram *tile = &gSurfaceMap[index]; + return tile->flags & 0xFF; +} + +s16 func_802ABD7C(u16 index) { + mk64_surface_map_ram *tile = &gSurfaceMap[index]; + return tile->flags & 0x1000; +} + +s16 func_802ABDB8(u16 index) { + mk64_surface_map_ram *tile = &gSurfaceMap[index]; + return tile->flags & 0x400; +} + +s16 func_802ABDF4(u16 index) { + mk64_surface_map_ram *tile = &gSurfaceMap[index]; + return tile->flags & 0x800; +} + +f32 func_802ABE30(f32 x, f32 y, f32 z, u16 index) { + mk64_surface_map_ram *tile = &gSurfaceMap[index]; + if (tile->gravity == 0.0f) { + return y; + } + return ((tile->height * x) + (tile->rotation * z) + tile->height2) / -tile->gravity; +} + +f32 func_802ABEAC(Collision *collision, Vec3f pos) { + if (collision->unk34 == 1) { + return func_802ABE30(pos[0], pos[1], pos[2], collision->unk3A); + } + if (collision->unk30 == 1) { + return func_802ABE30(pos[0], pos[1], pos[2], collision->unk36); + } + if (collision->unk32 == 1) { + return func_802ABE30(pos[0], pos[1], pos[2], collision->unk38); + } + return pos[1]; +} + +void process_shell_collision(Vec3f pos, UNUSED f32 boundingBoxSize, Vec3f velocity, UNUSED f32 unk) { + f32 magnitude; + f32 dotProduct; + f32 x; + f32 scaleX; + f32 scaleY; + f32 scaleZ; + f32 y; + f32 z; + UNUSED f32 x2; + UNUSED f32 y2; + f32 velocityMagnitude; + UNUSED f32 z2; + f32 temp; + + x = velocity[0]; + y = velocity[1]; + z = velocity[2]; + velocityMagnitude = sqrtf((x * x) + (y * y) + (z * z)); + + if ((velocityMagnitude > 4.5) || (velocityMagnitude < 3.5)) { + velocityMagnitude = 4.0f; + } + + x2 = pos[0]; + y2 = pos[1]; + z2 = pos[2]; + + dotProduct = (pos[0] * x) + (pos[1] * y) + (pos[2] * z); + scaleX = x - dotProduct * pos[0]; + scaleY = y - dotProduct * pos[1]; + scaleZ = z - dotProduct * pos[2]; + + x = scaleX - dotProduct * pos[0]; + y = scaleY - dotProduct * pos[1]; + z = scaleZ - dotProduct * pos[2]; + + magnitude = sqrtf((x * x) + (y * y) + (z * z)); + + temp = 1.0f / magnitude * velocityMagnitude; + + velocity[0] = x * temp; + velocity[1] = y * temp; + velocity[2] = z * temp; +} + +void shell_collision(Collision *collision, Vec3f velocity) { + if (collision->unk3C[0] < 0.0f) { + process_shell_collision(collision->unk48, collision->unk3C[0], velocity, 2.0f); + } + + if (collision->unk3C[1] < 0.0f) { + process_shell_collision(collision->unk54, collision->unk3C[1], velocity, 2.0f); + } +} + +/** + * Adjusts the position of pos2 based on pos1 but in the orthogonal direction to pos2. + */ +void func_802AC114(Vec3f pos1, f32 boundingBoxSize, Vec3f pos2, UNUSED f32 unk) { + f32 x1; + f32 y1; + f32 z1; + f32 x2; + f32 y2; + f32 z2; + f32 dotProduct; + f32 orthoX; + f32 orthoY; + f32 orthoZ; + + x2 = pos2[0]; + y2 = pos2[1]; + z2 = pos2[2]; + x1 = -pos1[0]; + y1 = -pos1[1]; + z1 = -pos1[2]; + + dotProduct = (x1 * x2) + (y1 * y2) + (z1 * z2); + + orthoX = x2 - (dotProduct * x1); + orthoY = y2 - (dotProduct * y1); + orthoZ = z2 - (dotProduct * z1); + + if (boundingBoxSize < -3.5) { + pos2[0] = orthoX - (dotProduct * x1 * 0.5f); + pos2[1] = orthoY - (dotProduct * y1 * 0.5f); + pos2[2] = orthoZ - (dotProduct * z1 * 0.5f); + } else { + pos2[0] = orthoX; + pos2[1] = orthoY; + pos2[2] = orthoZ; + } +} + +// m2c removed because no need to match. +// UNUSED mk64_surface_map_ram *func_802AC22C(void *arg) +// todo: Remove this asm from non_matchings. +GLOBAL_ASM("asm/unused/collision/func_802AC22C.s") + +s32 is_colliding_with_drivable_surface(Collision *collision, f32 boundingBoxSize, f32 x1, f32 y1, f32 z1, u16 index, f32 posX, f32 posY, f32 posZ) { + mk64_surface_map_ram *tile = &gSurfaceMap[index]; + UNUSED s32 pad; + f32 x4; + UNUSED f32 y4; + f32 z4; + f32 x3; + UNUSED f32 y3; + f32 z3; + f32 x2; + UNUSED f32 y2; + f32 z2; + f32 temp_f0_4; + f32 temp; + UNUSED s32 pad2[2]; + f32 area; + f32 area2; + f32 area3; + s32 bool = 1; + + if (tile->vtx31 > x1) { + return 0; + } + if (tile->vtx33 > z1) { + return 0; + } + if (tile->vtx21 < x1) { + return 0; + } + if (tile->vtx23 < z1) { + return 0; + } + if ((tile->vtx32 - boundingBoxSize * 3.0f) > y1) { + return 0; + } + + x2 = (f32) tile->vtxPoly1->v.ob[0]; + z2 = (f32) tile->vtxPoly1->v.ob[2]; + + x3 = (f32) tile->vtxPoly2->v.ob[0]; + z3 = (f32) tile->vtxPoly2->v.ob[2]; + + x4 = (f32) tile->vtxPoly3->v.ob[0]; + z4 = (f32) tile->vtxPoly3->v.ob[2]; + + area = (z2 - z1) * (x3 - x1) - (x2 - x1) * (z3 - z1); + + if (area == 0) { + area2 = (z3 - z1) * (x4 - x1) - (x3 - x1) * (z4 - z1); + area3 = (z4 - z1) * (x2 - x1) - (x4 - x1) * (z2 - z1); + if (area2 * area3 < 0.0f) { + bool = 0; + } + } else { + + area2 = (z3 - z1) * (x4 - x1) - (x3 - x1) * (z4 - z1); + + + if (area2 == 0) { + + area3 = (z4 - z1) * (x2 - x1) - (x4 - x1) * (z2 - z1); + + if (area * area3 < 0.0f) { + bool = 0; + } + } else { + if ((area * area2) < 0.0f) { + bool = 0; + } else { + area3 = (z4- z1) * (x2 - x1) - (x4 - x1) * (z2 - z1); + if (area3 != 0) { + if (area2 * area3 < 0.0f) { + bool = 0; + } + } + } + } + } + if (bool == 0) { + return 0; + } + + temp_f0_4 = (tile->height * x1) + (tile->gravity * y1) + (tile->rotation * z1) + tile->height2; + + if (temp_f0_4 > boundingBoxSize) { + if (collision->unk3C[2] > temp_f0_4) { + collision->unk34 = 1; + collision->unk3A = index; + collision->unk3C[2] = temp_f0_4 - boundingBoxSize; + collision->unk60[0] = tile->height; + collision->unk60[1] = tile->gravity; + collision->unk60[2] = tile->rotation; + } + return 0; + } + + temp = (tile->height * posX) + (tile->gravity * posY) + (tile->rotation * posZ) + tile->height2; + + if (temp < 0.0f) { + return 0; + } + collision->unk34 = 1; + collision->unk3A = index; + collision->unk3C[2] = temp_f0_4 - boundingBoxSize; + collision->unk60[0] = tile->height; + collision->unk60[1] = tile->gravity; + collision->unk60[2] = tile->rotation; + return 1; +} + +/** + * Wall collision +*/ +s32 is_colliding_with_wall2(Collision *arg, f32 boundingBoxSize, f32 x1, f32 y1, f32 z1, u16 arg5, f32 arg6, f32 arg7, f32 arg8) { + mk64_surface_map_ram *tile = &gSurfaceMap[arg5]; + UNUSED s32 pad[6]; + f32 x4; + f32 y4; + f32 x3; + f32 y3; + f32 x2; + f32 y2; + UNUSED s32 pad2[3]; + f32 temp_f0_4; + f32 temp_f4_2; + UNUSED s32 pad3[2]; + f32 area; + f32 area2; + f32 area3; + s32 bool = 1; + if (tile->vtx31 > x1) { + return 0; + } + if (tile->vtx21 < x1) { + return 0; + } + if (tile->vtx22 < y1) { + return 0; + } + if (tile->vtx32 > y1) { + return 0; + } + if ((tile->vtx33 - boundingBoxSize * 3.0f) > z1) { + return 0; + } + if ((tile->vtx23 + boundingBoxSize * 3.0f) < z1) { + return 0; + } + + x2 = (f32) tile->vtxPoly1->v.ob[0]; + y2 = (f32) tile->vtxPoly1->v.ob[1]; + + x3 = (f32) tile->vtxPoly2->v.ob[0]; + y3 = (f32) tile->vtxPoly2->v.ob[1]; + + x4 = (f32) tile->vtxPoly3->v.ob[0]; + y4 = (f32) tile->vtxPoly3->v.ob[1]; + + area = (y2 - y1) * (x3 - x1) - (x2 - x1) * (y3 - y1); + + if (area == 0) { + area2 = (y3 - y1) * (x4 - x1) - (x3 - x1) * (y4 - y1); + area3 = (y4 - y1) * (x2 - x1) - (x4 - x1) * (y2 - y1); + + + if (area2 * area3 < 0.0f) { + bool = 0; + } + } else { + + area2 = (y3 - y1) * (x4 - x1) - (x3 - x1) * (y4 - y1); + + if (area2 == 0) { + area3 = (y4 - y1) * (x2 - x1) - (x4 - x1) * (y2 - y1); + + + if ((area * area3) < 0.0f) { + bool = 0; + } + } else { + if ((area * area2) < 0.0f) { + bool = 0; + } else { + area3 = (y4 - y1) * (x2 - x1) - (x4 - x1) * (y2 - y1); + + if (area3 != 0) { + if ((area2 * area3) < 0.0f) { + bool = 0; + } + } + } + } + } + if (bool == 0) { + return 0; + } + + temp_f0_4 = ((tile->height * x1) + (tile->gravity * y1) + (tile->rotation * z1)) + tile->height2; + if (tile->flags & 0x200) { + temp_f4_2 = ((tile->height * arg6) + (tile->gravity * arg7) + (tile->rotation * arg8)) + tile->height2; + //sp48 = temp_f4_2; + if ((temp_f0_4 > 0.0f) && (temp_f4_2 > 0.0f)) { + if (temp_f0_4 < boundingBoxSize) { + arg->unk30 = 1; + arg->unk36 = arg5; + arg->unk3C[0] = temp_f0_4 - boundingBoxSize; + arg->unk48[0] = tile->height; + arg->unk48[1] = tile->gravity; + arg->unk48[2] = tile->rotation; + return 1; + } + return 0; + } + + if ((temp_f0_4 < 0.0f) && (temp_f4_2 < 0.0f)) { + temp_f0_4 *= -1.0f; + if (temp_f0_4 < boundingBoxSize) { + arg->unk30 = 1; + arg->unk36 = arg5; + arg->unk3C[0] = temp_f0_4 - boundingBoxSize; + arg->unk48[0] = -tile->height; + arg->unk48[1] = -tile->gravity; + arg->unk48[2] = -tile->rotation; + return 1; + } + return 0; + } + if ((temp_f0_4 > 0.0f) && (temp_f4_2 < 0.0f)) { + arg->unk30 = 1; + arg->unk36 = arg5; + arg->unk3C[0] = -(temp_f0_4 + boundingBoxSize); + arg->unk48[0] = -tile->height; + arg->unk48[1] = -tile->gravity; + arg->unk48[2] = -tile->rotation; + return 1; + } + if ((temp_f0_4 < 0.0f) && (temp_f4_2 > 0.0f)) { + arg->unk30 = 1; + arg->unk36 = arg5; + arg->unk3C[0] = temp_f0_4 + boundingBoxSize; + arg->unk48[0] = tile->height; + arg->unk48[1] = tile->gravity; + arg->unk48[2] = tile->rotation; + return 1; + } + if (temp_f0_4 == 0.0f) { + if (temp_f4_2 >= 0.0f) { + arg->unk30 = 1; + arg->unk36 = arg5; + arg->unk3C[0] = temp_f4_2 + boundingBoxSize; + arg->unk48[0] = tile->height; + arg->unk48[1] = tile->gravity; + arg->unk48[2] = tile->rotation; + return 1; + } + arg->unk30 = 1; + arg->unk36 = arg5; + arg->unk3C[0] = -(temp_f4_2 + boundingBoxSize); + arg->unk48[0] = tile->height; + arg->unk48[1] = tile->gravity; + arg->unk48[2] = tile->rotation; + return 1; + } + return 0; + } + if (temp_f0_4 > boundingBoxSize) { + if (temp_f0_4 < arg->unk3C[0]) { + arg->unk30 = 1; + arg->unk36 = arg5; + arg->unk3C[0] = temp_f0_4 - boundingBoxSize; + arg->unk48[0] = tile->height; + arg->unk48[1] = tile->gravity; + arg->unk48[2] = tile->rotation; + } + return 0; + } + + temp_f4_2 = (tile->height * arg6) + (tile->gravity * arg7) + (tile->rotation * arg8) + tile->height2; + if (temp_f4_2 < 0.0f) { + return 0; + } + arg->unk30 = 1; + arg->unk36 = arg5; + arg->unk3C[0] = temp_f0_4 - boundingBoxSize; + arg->unk48[0] = tile->height; + arg->unk48[1] = tile->gravity; + arg->unk48[2] = tile->rotation; + return 1; +} + +/** + * This is actually more like colliding with face X/Y/Z +*/ +s32 is_colliding_with_wall1(Collision *arg, f32 boundingBoxSize, f32 x1, f32 y1, f32 z1, u16 arg5, f32 arg6, f32 arg7, f32 arg8) { + mk64_surface_map_ram *tile = &gSurfaceMap[arg5]; + s32 bool = 1; + UNUSED s32 pad[7]; + f32 y4; + f32 z4; + f32 y3; + f32 z3; + f32 y2; + f32 z2; + UNUSED s32 pad3[2]; + f32 temp_f0_4; + f32 temp_f4_2; + UNUSED s32 pad4[2]; + f32 area; + f32 area2; + f32 area3; + + if (tile->vtx33 > z1) { + return 0; + } + if (tile->vtx23 < z1) { + return 0; + } + if (tile->vtx22 < y1) { + return 0; + } + if (tile->vtx32 > y1) { + return 0; + } + if ((tile->vtx31 - boundingBoxSize * 3.0f) > x1) { + return 0; + } + if ((tile->vtx21 + boundingBoxSize * 3.0f) < x1) { + return 0; + } + + z2 = (f32) tile->vtxPoly1->v.ob[2]; + y2 = (f32) tile->vtxPoly1->v.ob[1]; + + z3 = (f32) tile->vtxPoly2->v.ob[2]; + y3 = (f32) tile->vtxPoly2->v.ob[1]; + + z4 = (f32) tile->vtxPoly3->v.ob[2]; + y4 = (f32) tile->vtxPoly3->v.ob[1]; + + area = (y2 - y1) * (z3 - z1) - (z2 - z1) * (y3 - y1); + + if (area == 0) { + area2 = (y3 - y1) * (z4 - z1) - (z3 - z1) * (y4 - y1); + area3 = (y4 - y1) * (z2 - z1) - (z4 - z1) * (y2 - y1); + + + if (area2 * area3 < 0.0f) { + bool = 0; + } + } else { + + area2 = (y3 - y1) * (z4 - z1) - (z3 - z1) * (y4 - y1); + + if (area2 == 0) { + area3 = (y4 - y1) * (z2 - z1) - (z4 - z1) * (y2 - y1); + + + if ((area * area3) < 0.0f) { + bool = 0; + } + } else { + if ((area * area2) < 0.0f) { + bool = 0; + } else { + area3 = (y4 - y1) * (z2 - z1) - (z4 - z1) * (y2 - y1); + + if (area3 != 0) { + if ((area2 * area3) < 0.0f) { + bool = 0; + } + } + } + } + } + if (bool == 0) { + return 0; + } + + temp_f0_4 = ((tile->height * x1) + (tile->gravity * y1) + (tile->rotation * z1)) + tile->height2; + if (tile->flags & 0x200) { + temp_f4_2 = ((tile->height * arg6) + (tile->gravity * arg7) + (tile->rotation * arg8)) + tile->height2; + //sp48 = temp_f4_2; + if ((temp_f0_4 > 0.0f) && (temp_f4_2 > 0.0f)) { + if (temp_f0_4 < boundingBoxSize) { + arg->unk32 = 1; + arg->unk38 = arg5; + arg->unk3C[1] = temp_f0_4 - boundingBoxSize; + arg->unk54[0] = tile->height; + arg->unk54[1] = tile->gravity; + arg->unk54[2] = tile->rotation; + return 1; + } + return 0; + } + + if ((temp_f0_4 < 0.0f) && (temp_f4_2 < 0.0f)) { + temp_f0_4 *= -1.0f; + if (temp_f0_4 < boundingBoxSize) { + arg->unk32 = 1; + arg->unk38 = arg5; + arg->unk3C[1] = temp_f0_4 - boundingBoxSize; + arg->unk54[0] = -tile->height; + arg->unk54[1] = -tile->gravity; + arg->unk54[2] = -tile->rotation; + return 1; + } + return 0; + } + if ((temp_f0_4 > 0.0f) && (temp_f4_2 < 0.0f)) { + arg->unk32 = 1; + arg->unk38 = arg5; + arg->unk3C[1] = -(temp_f0_4 + boundingBoxSize); + arg->unk54[0] = -tile->height; + arg->unk54[1] = -tile->gravity; + arg->unk54[2] = -tile->rotation; + return 1; + } + if ((temp_f0_4 < 0.0f) && (temp_f4_2 > 0.0f)) { + arg->unk32 = 1; + arg->unk38 = arg5; + arg->unk3C[1] = temp_f0_4 + boundingBoxSize; + arg->unk54[0] = tile->height; + arg->unk54[1] = tile->gravity; + arg->unk54[2] = tile->rotation; + return 1; + } + if (temp_f0_4 == 0.0f) { + if (temp_f4_2 >= 0.0f) { + arg->unk32 = 1; + arg->unk38 = arg5; + arg->unk3C[1] = temp_f4_2 + boundingBoxSize; + arg->unk54[0] = tile->height; + arg->unk54[1] = tile->gravity; + arg->unk54[2] = tile->rotation; + return 1; + } + arg->unk32 = 1; + arg->unk38 = arg5; + arg->unk3C[1] = -(temp_f4_2 + boundingBoxSize); + arg->unk54[0] = tile->height; + arg->unk54[1] = tile->gravity; + arg->unk54[2] = tile->rotation; + return 1; + } + return 0; + } + if (temp_f0_4 > boundingBoxSize) { + if (arg->unk3C[1] > temp_f0_4) { + arg->unk32 = 1; + arg->unk38 = arg5; + arg->unk3C[1] = temp_f0_4 - boundingBoxSize; + arg->unk54[0] = tile->height; + arg->unk54[1] = tile->gravity; + arg->unk54[2] = tile->rotation; + } + return 0; + } + + temp_f4_2 = (tile->height * arg6) + (tile->gravity * arg7) + (tile->rotation * arg8) + tile->height2; + if (temp_f4_2 < 0.0f) { + return 0; + } + arg->unk32 = 1; + arg->unk38 = arg5; + arg->unk3C[1] = temp_f0_4 - boundingBoxSize; + arg->unk54[0] = tile->height; + arg->unk54[1] = tile->gravity; + arg->unk54[2] = tile->rotation; + return 1; +} + +extern u16 *D_8015F584; +extern s16 D_8015F6E8; +extern s16 D_8015F6EA; +extern s16 D_8015F6F0; +extern s16 D_8015F6F2; + +u16 func_802AD950(Collision *collision, f32 boundingBoxSize, f32 x1, f32 y1, f32 z1, f32 x2, f32 y2, f32 z2) { + s32 temp_v0_4; + s32 temp_v1; + s16 temp_f10; + s16 temp_f16; + u16 temp_s6; + u16 surfaceIndex; + s16 temp_v1_2; + + u16 phi_s2; + + + + u16 flags = 0; + s32 temp1; + s32 temp2; + + u16 i; + + collision->unk30 = 0; + collision->unk32 = 0; + collision->unk34 = 0; + collision->unk3C[0] = 1000.0f; + collision->unk3C[1] = 1000.0f; + collision->unk3C[2] = 1000.0f; + + if ((s32) collision->unk3A < (s32) D_8015F588) { + if (is_colliding_with_drivable_surface(collision, boundingBoxSize, x1, y1, z1, collision->unk3A, x2, y2, z2) == 1) { + flags |= 0x4000; + } + } + + if ((s32) collision->unk36 < (s32) D_8015F588) { + if (is_colliding_with_wall2(collision, boundingBoxSize, x1, y1, z1, collision->unk36, x2, y2, z2) == 1) { + flags |= 0x2000; + } + } + + if ((s32) collision->unk38 < (s32) D_8015F588) { + if (is_colliding_with_wall1(collision, boundingBoxSize, x1, y1, z1, collision->unk38, x2, y2, z2) == 1) { + flags |= 0x8000; + } + } + + if (flags == (0x4000 | 0x2000 | 0x8000)) { + return flags; + } + + + temp_v0_4 = (s32) D_8015F6E8 - D_8015F6EA; + temp_v1 = (s32) D_8015F6F0 - D_8015F6F2; + + temp1 = temp_v0_4 / 32; + temp2 = temp_v1 / 32; + + temp_f10 = (x1 - D_8015F6EA) / temp1; + temp_f16 = (z1 - D_8015F6F2) / temp2; + + if (temp_f10 < 0) { + return 0; + } + if (temp_f16 < 0) { + return 0; + } + if (temp_f10 >= 32) { + return 0; + } + if (temp_f16 >= 32) { + return 0; + } + + temp_v1_2 = (temp_f10 + temp_f16 * 32); + temp_s6 = D_8014F110[temp_v1_2].unk2; + + if (temp_s6 == 0) { + return flags; + } + + phi_s2 = D_8014F110[temp_v1_2].unk0; + + for (i = 0; i < temp_s6; i++) { + if (flags == (0x4000 | 0x2000 | 0x8000)) { + return flags; + } + + surfaceIndex = D_8015F584[phi_s2]; + + if ((gSurfaceMap[surfaceIndex].flags & 0x4000)) { + if ((flags & 0x4000) == 0) { + if (surfaceIndex != collision->unk3A) { + if (is_colliding_with_drivable_surface(collision, boundingBoxSize, x1, y1, z1, surfaceIndex, x2, y2, z2) == 1) { + flags |= 0x4000; + } + } + } + } else if ((gSurfaceMap[surfaceIndex].flags & 0x8000) != 0) { + if ((flags & 0x8000) == 0) { + if (surfaceIndex != collision->unk38) { + if (is_colliding_with_wall1(collision, boundingBoxSize, x1, y1, z1, surfaceIndex, x2, y2, z2) == 1) { + flags |= 0x8000; + } + } + } + } else if ((flags & 0x2000) == 0) { + if (surfaceIndex != collision->unk36) { + if (is_colliding_with_wall2(collision, boundingBoxSize, x1, y1, z1, surfaceIndex, x2, y2, z2) == 1) { + flags |= 0x2000; + } + } + } + phi_s2++; + + } + return flags; +} + +u16 func_802ADDC8(Collision* collision, f32 boundingBoxSize, f32 posX, f32 posY, f32 posZ) { + u16 temp_v1; + s32 temp_f4; + s32 temp_f6; + u16 temp_v0_4; + s32 temp1; + s32 temp2; + s16 temp_f10; + s16 temp_f16; + s16 temp; + u16 i; + + u16 var_s2; + u16 var_s4; + + collision->unk30 = 0; + collision->unk32 = 0; + collision->unk34 = 0; + collision->unk3C[0] = 1000.0f; + collision->unk3C[1] = 1000.0f; + collision->unk3C[2] = 1000.0f; + var_s4 = 0; + if (collision->unk3A < D_8015F588) { + if (func_802AAE4C(collision, boundingBoxSize, posX, posY, posZ, collision->unk3A) == 1) { + var_s4 |= 0x4000; + } + } + if (collision->unk36 < D_8015F588) { + if (func_802AB288(collision, boundingBoxSize, posX, posY, posZ, collision->unk36) == 1) { + var_s4 |= 0x2000; + } + } + if (collision->unk38 < D_8015F588) { + if (func_802AB6C4(collision, boundingBoxSize, posX, posY, posZ, collision->unk38 ) == 1) { + var_s4 |= 0x8000; + } + } + if (var_s4 == (0x4000 | 0x2000 | 0x8000)) { + return var_s4; + } + + temp_f4 = (s32) D_8015F6E8 - D_8015F6EA; + temp_f6 = (s32) D_8015F6F0 - D_8015F6F2; + + temp1 = temp_f4 / 32; + temp2 = temp_f6 / 32; + + temp_f10 = (posX - D_8015F6EA) / temp1; + temp_f16 = (posZ - D_8015F6F2) / temp2; + + + if (temp_f10 < 0) { + return 0; + } + if (temp_f16 < 0) { + return 0; + } + if (temp_f10 >= 32) { + return 0; + } + if (temp_f16 >= 32) { + return 0; + } + + temp = temp_f10 + temp_f16 * 32; + temp_v1 = D_8014F110[temp].unk2; + if (temp_v1 == 0) { + return var_s4; + } + var_s2 = D_8014F110[temp].unk0; + + for (i = 0; i < temp_v1; i++) { + if (var_s4 == (0x8000 | 0x4000 | 0x2000)) { + return var_s4; + } + temp_v0_4 = D_8015F584[var_s2]; + if (gSurfaceMap[temp_v0_4].flags & 0x4000) { + if (!(var_s4 & 0x4000)) { + if (temp_v0_4 != collision->unk3A) { + if (func_802AAE4C(collision, boundingBoxSize, posX, posY, posZ, temp_v0_4) == 1) { + var_s4 |= 0x4000; + } + } + } + } else if (gSurfaceMap[temp_v0_4].flags & 0x8000) { + if (!(var_s4 & 0x8000)) { + if (temp_v0_4 != collision->unk38) { + if (func_802AB6C4(collision, boundingBoxSize, posX, posY, posZ, temp_v0_4) == 1) { + var_s4 |= 0x8000; + } + } + } + } else { + if (!(var_s4 & 0x2000)) { + if (temp_v0_4 != collision->unk36) { + if (func_802AB288(collision, boundingBoxSize, posX, posY, posZ, temp_v0_4) == 1) { + var_s4 |= 0x2000; + } + } + } + } + var_s2++; + } + return var_s4; +} + +extern u8 D_8014F1110; + +extern u16 *D_8015F584; +extern s16 D_8015F6E8; +extern s16 D_8015F6EA; +extern s16 D_8015F6F0; +extern s16 D_8015F6F2; + +f32 func_802AE1C0(f32 posX, f32 posY, f32 posZ) { + f32 temp_f0; + s16 temp_f4; + s16 temp_f6; + s16 temp_f66; + + u16 index; + u16 iter; + u16 phi_s1; + f32 phi_f20 = -3000.0f; + u16 i; + + s32 a; + s32 b; + s32 c; + s32 d; + + a = (D_8015F6E8 - D_8015F6EA); + b = (D_8015F6F0 - D_8015F6F2); + c = a / 32; + d = b / 32; + + temp_f4 = (s16) ((posX - D_8015F6EA) / c); + temp_f6 = (s16) ((posZ - D_8015F6F2) / d); + temp_f66 = temp_f4 + (temp_f6 * 32); + iter = D_8014F110[temp_f66].unk2; + + if (temp_f4 < 0) { + return 3000.0f; + } + if (temp_f6 < 0) { + return 3000.0f; + } + if (temp_f4 >= 32) { + return 3000.0f; + } + if (temp_f6 >= 32) { + return 3000.0f; + } + if (iter == 0) { + return 3000.0f; + } + + phi_s1 = D_8014F110[temp_f66].unk0; + + for (i = 0; i < iter; i++) { + + index = D_8015F584[phi_s1]; + + if ((gSurfaceMap[index].flags & 0x4000) && (func_802ABB04(posX, posZ, index) == 1)) { + temp_f0 = func_802ABE30(posX, posY, posZ, index); + if ((temp_f0 <= posY) && (phi_f20 < temp_f0)) { + phi_f20 = temp_f0; + } + } + phi_s1++; + } + return phi_f20; +} + +extern s16 D_8015F6EC; + +extern s32 D_8015F59C; +extern s32 D_8015F5A0; +extern s32 D_8015F5A4; +extern s16 D_8015F6E8; +extern s16 D_8015F6EA; +extern s16 D_8015F6F0; +extern s16 D_8015F6F2; +extern s16 D_8015F6FA; +extern s16 D_8015F6FC; + +void func_802AE434(Vtx *vtx1, Vtx *vtx2, Vtx *vtx3, s8 surfaceType, u16 sectionId) { + mk64_surface_map_ram *tile = &gSurfaceMap[D_8015F588]; + s16 x2; + s16 z2; + u16 poly1Flag; + s16 x3; + s16 x1; + s16 y1; + s16 z1; + u16 poly2Flag; + s16 y2; + u16 poly3Flag; + u16 flags; + s16 y3; + s16 z3; + + /* Unused variables places around doubles for dramatic effect */ + UNUSED s32 pad2[7]; + + f64 crossProductX; + f64 crossProductY; + f64 crossProductZ; + f64 magnitude; + + UNUSED s32 pad3[3]; + + f32 normalX; + f32 normalY; + f32 normalZ; + f32 distance; + + s16 sp4A; + s16 sp48; + s16 sp46; + s16 sp44; + s16 sp42; + s16 sp40; + + tile->vtxPoly1 = vtx1; + tile->vtxPoly2 = vtx2; + tile->vtxPoly3 = vtx3; + if ((tile->vtxPoly1->v.flag == 4) && + (tile->vtxPoly2->v.flag == 4) && + (tile->vtxPoly3->v.flag == 4)) { + + return; + } + + x1 = tile->vtxPoly1->v.ob[0]; + y1 = tile->vtxPoly1->v.ob[1]; + z1 = tile->vtxPoly1->v.ob[2]; + x2 = tile->vtxPoly2->v.ob[0]; + y2 = tile->vtxPoly2->v.ob[1]; + z2 = tile->vtxPoly2->v.ob[2]; + x3 = tile->vtxPoly3->v.ob[0]; + y3 = tile->vtxPoly3->v.ob[1]; + z3 = tile->vtxPoly3->v.ob[2]; + if ((x1 == x2) && (z1 == z2)) { + tile->vtxPoly1 = vtx1; + tile->vtxPoly3 = vtx2; + tile->vtxPoly2 = vtx3; + x1 = tile->vtxPoly1->v.ob[0]; + y1 = tile->vtxPoly1->v.ob[1]; + z1 = tile->vtxPoly1->v.ob[2]; + x2 = tile->vtxPoly3->v.ob[0]; + y2 = tile->vtxPoly3->v.ob[1]; + z2 = tile->vtxPoly3->v.ob[2]; + x3 = tile->vtxPoly2->v.ob[0]; + y3 = tile->vtxPoly2->v.ob[1]; + z3 = tile->vtxPoly2->v.ob[2]; + } + if (x1 >= x2) { + if (x1 >= x3) { + sp4A = x1; + } else + sp4A = x3; + + } else if (x2 >= x3) { + sp4A = x2; + } else + sp4A = x3; + + if (z1 >= z2) { + + if (z1 >= z3) { + sp48 = z1; + } else + sp48 = z3; + + } else if (z2 >= z3) { + sp48 = z2; + } else + sp48 = z3; + + if (y1 >= y2) { + + if (y1 >= y3) { + sp42 = y1; + } else + sp42 = y3; + + } else if (y2 >= y3) { + sp42 = y2; + } else + sp42 = y3; + + if (x1 <= x2) { + if (x1 <= x3) { + sp44 = x1; + } else + sp44 = x3; + + } else if (x2 <= x3) { + sp44 = x2; + } else + sp44 = x3; + + if (y1 <= y2) { + if (y1 <= y3) { + sp46 = y1; + } else + sp46 = y3; + + } else if (y2 <= y3) { + sp46 = y2; + } else + sp46 = y3; + + if (z1 <= z2) { + if (z1 <= z3) { + sp40 = z1; + } else + sp40 = z3; + + } else if (z2 <= z3) { + sp40 = z2; + } else + sp40 = z3; + + crossProductX = (((y2 - y1) * (z3 - z2)) - ((z2 - z1) * (y3 - y2))); + crossProductY = (((z2 - z1) * (x3 - x2)) - ((x2 - x1) * (z3 - z2))); + crossProductZ = (((x2 - x1) * (y3 - y2)) - ((y2 - y1) * (x3 - x2))); + + // length of the cross product + magnitude = sqrtf((crossProductX * crossProductX) + (crossProductY * crossProductY) + (crossProductZ * crossProductZ)); + + if (!magnitude) { + return; + } + + normalX = (f32) crossProductX / magnitude; + normalY = (f32) crossProductY / magnitude; + normalZ = (f32) crossProductZ / magnitude; + + // Distance from x to plane (cross product's normal). + distance = -((normalX * x1) + (normalY * y1) + (normalZ * z1)); + + // Return if normalY is not vertical. + // Could be checking if the surface is a floor + if (D_8015F59C) { + if (normalY < -0.9f) { + return; + } else if (normalY > 0.9f) { + return; + } + } + + // Return if normalY is not horizontal + // Could be checking if the surface is a wall + if (D_8015F5A0) { + if ((normalY < 0.1f) && (normalY > -0.1f)) { + return; + } + } + + tile->vtx21 = sp4A; + tile->vtx23 = sp48; + tile->vtx31 = sp44; + tile->vtx33 = sp40; + tile->vtx32 = sp46; + tile->vtx22 = sp42; + + if (sp44 < D_8015F6EA) { + D_8015F6EA = sp44; + } + if (sp46 < D_8015F6EE) { + D_8015F6EE = sp46; + } + if (sp40 < D_8015F6F2) { + D_8015F6F2 = sp40; + } + if (sp4A > D_8015F6E8) { + D_8015F6E8 = sp4A; + } + if (sp42 > D_8015F6EC) { + D_8015F6EC = sp42; + } + if (sp48 > D_8015F6F0) { + D_8015F6F0 = sp48; + } + + tile->height = normalX; + tile->gravity = normalY; + tile->rotation = normalZ; + tile->height2 = distance; + + tile->surfaceType = (u16) surfaceType; + + crossProductX = crossProductX * crossProductX; + crossProductY = crossProductY * crossProductY; + crossProductZ = crossProductZ * crossProductZ; + + D_8015F6FA = 0; + D_8015F6FC = 0; + + poly1Flag = tile->vtxPoly1->v.flag; + poly2Flag = tile->vtxPoly2->v.flag; + poly3Flag = tile->vtxPoly3->v.flag; + + flags = sectionId; + + if ((poly1Flag == 1) && (poly2Flag == 1) && (poly3Flag == 1)) { + flags |= 0x400; + } else if ((poly1Flag == 2) && (poly2Flag == 2) && (poly3Flag == 2)) { + flags |= 0x800; + } else if ((poly1Flag == 3) && (poly2Flag == 3) && (poly3Flag == 3)) { + flags |= 0x1000; + } else if (D_8015F5A4 != 0) { + flags |= 0x200; + } + + tile->flags = flags; + + // Y is the significant axis + if ((crossProductX <= crossProductY) && (crossProductY >= crossProductZ)) { + tile->flags |= 0x4000; + // X is the significant axis + } else if ((crossProductX > crossProductY) && (crossProductX >= crossProductZ)) { + tile->flags |= 0x8000; + // Z is the significant axis + } else { + tile->flags |= 0x2000; + } + D_8015F588++; +} + +/** + * Triangle contains three indices that are used to get the actual vertices. + */ +void set_vtx_from_triangle(u32 triangle, s8 surfaceType, u16 sectionId) { + u32 vert1 = ( ( triangle & 0x00FF0000 ) >> 16 ) / 2; + u32 vert2 = ( ( triangle & 0x0000FF00 ) >> 8 ) / 2; + u32 vert3 = ( triangle & 0x000000FF ) / 2; + + Vtx *vtx1 = vtxBuffer[vert1]; + Vtx *vtx2 = vtxBuffer[vert2]; + Vtx *vtx3 = vtxBuffer[vert3]; + + func_802AE434(vtx1, vtx2, vtx3, surfaceType, sectionId); +} + +void set_vtx_from_tri2(u32 triangle1, u32 triangle2, s8 surfaceType, u16 sectionId) { + UNUSED s32 pad[2]; + u32 vert1 = ( ( triangle1 & 0x00FF0000 ) >> 16 ) / 2; + u32 vert2 = ( ( triangle1 & 0x0000FF00 ) >> 8 ) / 2; + u32 vert3 = ( triangle1 & 0x000000FF ) / 2; + + // This is actually triangle 2; vert 1,2,3. + u32 vert4 = ( ( triangle2 & 0x00FF0000 ) >> 16 ) / 2; + u32 vert5 = ( ( triangle2 & 0x0000FF00 ) >> 8 ) / 2; + u32 vert6 = ( triangle2 & 0x000000FF ) / 2; + + Vtx *vtx1 = vtxBuffer[vert1]; + Vtx *vtx2 = vtxBuffer[vert2]; + Vtx *vtx3 = vtxBuffer[vert3]; + + Vtx *vtx4 = vtxBuffer[vert4]; + Vtx *vtx5 = vtxBuffer[vert5]; + Vtx *vtx6 = vtxBuffer[vert6]; + + // Triangle 1 + func_802AE434(vtx1, vtx2, vtx3, surfaceType, sectionId); + // Triangle 2 + func_802AE434(vtx4, vtx5, vtx6, surfaceType, sectionId); +} + +void set_vtx_from_quadrangle(u32 line, s8 surfaceType, u16 sectionId) { + UNUSED s32 pad[6]; + Vtx *vtx1; + Vtx *vtx2; + Vtx *vtx3; + Vtx *vtx4; + + u32 vert1 = ( ( line & 0x00FF0000 ) >> 16 ) / 2; + u32 vert2 = ( ( line & 0x0000FF00 ) >> 8 ) / 2; + u32 vert3 = ( line & 0x000000FF ) / 2; + u32 vert4 = ( ( line & 0xFF000000 ) >> 24 ) / 2; + + vtx1 = vtxBuffer[vert1]; + vtx2 = vtxBuffer[vert2]; + vtx3 = vtxBuffer[vert3]; + vtx4 = vtxBuffer[vert4]; + + // Triangle 1 + func_802AE434(vtx1, vtx2, vtx3, surfaceType, sectionId); + // Triangle 2 + func_802AE434(vtx1, vtx3, vtx4, surfaceType, sectionId); +} + +/** + * Generates a list of pointers to course vtx. + */ +void set_vtx_buffer(uintptr_t addr, u32 numVertices, u32 bufferIndex) { + u32 i; + u32 segment = SEGMENT_NUMBER2(addr); + u32 offset = SEGMENT_OFFSET(addr); + Vtx *vtx = (Vtx *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset); + for (i = 0; i < numVertices; i++) { + vtxBuffer[bufferIndex] = vtx; + vtx++; + bufferIndex++; + } +} +/** + * @return 1 intersecting triangle, 0 not intersecting. + */ +s32 is_line_intersecting_rectangle(s16 minX, s16 maxX, s16 minZ, s16 maxZ, s16 x1, s16 z1, s16 x2, s16 z2) { + f32 xOffset; + f32 projectedPoint; + f32 zOffset; + + xOffset = x2 - x1; + zOffset = z2 - z1; + // Line is vertical + if (xOffset == 0.0f) { + if (x1 < minX) { + return 0; + } + if (maxX < x1) { + return 0; + } + if (zOffset > 0.0f) { + if ((z1 < minZ) && (maxZ < z2)) { + return 1; + } + } else if ((z2 < minZ) && (maxZ < z1)) { + return 1; + } + } else { + // Line is horizontal + if (zOffset == 0.0f) { + if (z1 < minZ) { + return 0; + } + if (maxZ < z1) { + return 0; + } + if (xOffset > 0.0f) { + if ((x1 < minX) && (maxX < x2)) { + return 1; + } + } else if ((x2 < minX) && (maxX < x1)) { + return 1; + } + } else { + projectedPoint = ((xOffset / zOffset) * (minZ - z1)) + x1; + if ((minX <= projectedPoint) && (projectedPoint <= maxX)) { + return 1; + } + projectedPoint = ((xOffset / zOffset) * (maxZ - z1)) + x1; + if ((minX <= projectedPoint) && (projectedPoint <= maxX)) { + return 1; + } + projectedPoint = ((zOffset / xOffset) * (minX - x1)) + z1; + if ((minZ <= projectedPoint) && (projectedPoint <= maxZ)) { + return 1; + } + projectedPoint = ((zOffset / xOffset) * (maxX - x1)) + z1; + if ((minZ <= projectedPoint) && (projectedPoint <= maxZ)) { + return 1; + } + } + } + return 0; +} + +s32 is_triangle_intersecting_bounding_box(s16 minX, s16 maxX, s16 minZ, s16 maxZ, u16 index) { + mk64_surface_map_ram *surfaceMap = &gSurfaceMap[index]; + s16 x1; + s16 z1; + s16 x2; + s16 z2; + s16 x3; + s16 z3; + + x1 = surfaceMap->vtxPoly1->v.ob[0]; + z1 = surfaceMap->vtxPoly1->v.ob[2]; + x2 = surfaceMap->vtxPoly2->v.ob[0]; + z2 = surfaceMap->vtxPoly2->v.ob[2]; + x3 = surfaceMap->vtxPoly3->v.ob[0]; + z3 = surfaceMap->vtxPoly3->v.ob[2]; + if ((x1 >= minX) && (maxX >= x1) && (z1 >= minZ) && (maxZ >= z1)) { + return 1; + } + if ((x2 >= minX) && (maxX >= x2) && (z2 >= minZ) && (maxZ >= z2)) { + return 1; + } + if ((x3 >= minX) && (maxX >= x3) && (z3 >= minZ) && (maxZ >= z3)) { + return 1; + } + if (is_line_intersecting_rectangle(minX, maxX, minZ, maxZ, x1, z1, x2, z2) == 1) { + return 1; + } + if (is_line_intersecting_rectangle(minX, maxX, minZ, maxZ, x2, z2, x3, z3) == 1) { + return 1; + } + if (is_line_intersecting_rectangle(minX, maxX, minZ, maxZ, x3, z3, x1, z1) == 1) { + return 1; + } + return 0; +} + +extern u16 D_8015F58A; +extern s16 D_8015F6E8; +extern s16 D_8015F6EA; +extern s16 D_8015F6F0; +extern s16 D_8015F6F2; + +/** + * Appears to initialize some variables and struct members after + * course displaylists have been parsed. + */ +void func_802AF314(void) { + mk64_surface_map_ram *tile; + s32 i, j, k; + UNUSED s32 pad[5]; + s16 temp_a1; + s16 temp_a3; + s16 temp_s1; + s16 temp_s2; + s32 temp_fp; + s32 temp_s6; + s32 temp1; + s32 temp2; + s32 index; + temp1 = (s32) D_8015F6E8 - D_8015F6EA; + temp2 = (s32) D_8015F6F0 - D_8015F6F2; + + temp_s6 = temp1 / 32; + temp_fp = temp2 / 32; + + for (i = 0; i < 1024; i++) { + D_8014F110[i].unk2 = 0; + } + + D_8015F58A = 0; + // @bug possibly bug. Allocate memory but not increment the pointer. + // This is bad, dumb code, and more importantly it's bad dumb code that doesn't make any sense here. + // It is incremented after this function completes using a different variable. + // Not good. + D_8015F584 = (u16 *) gNextFreeMemoryAddress; + + for (j = 0; j < 32; j++) { + for (k = 0; k < 32; k++) { + index = k + j * 32; + + temp_s1 = (D_8015F6EA + (temp_s6 * k)) - 20; + temp_s2 = (D_8015F6F2 + (temp_fp * j)) - 20; + + temp_a1 = temp_s1 + temp_s6 + 40; + temp_a3 = temp_s2 + temp_fp + 40; + + for (i = 0; i < D_8015F588; i++) { + tile = gSurfaceMap + i; + if (tile->vtx23 < temp_s2) { continue; } + if (tile->vtx33 > temp_a3) { continue; } + if (tile->vtx21 < temp_s1) { continue; } + if (tile->vtx31 > temp_a1) { continue; } + + if (is_triangle_intersecting_bounding_box(temp_s1, temp_a1, temp_s2, temp_a3, (u16) i) == 1) { + if (D_8014F110[index].unk2 == 0) { + D_8014F110[index].unk0 = D_8015F58A; + } + D_8014F110[index].unk2++; + D_8015F584[D_8015F58A] = (s16) i; + D_8015F58A++; + } + } + + } + } +} + +/** + * Recursive search for vtx and set surfaceTypes to -1 and sectionId's to 0xFF + */ +void set_vertex_data_with_defaults(Gfx *gfx) { + find_and_set_vertex_data(gfx, -1, 0xFF); +} + +/** + * Recursive search for vtx and set sectionId's to 0xFF + */ +void set_vertex_data_with_default_section_id(Gfx *gfx, s8 surfaceType) { + find_and_set_vertex_data(gfx, surfaceType, 0xFF); +} + +extern s16 D_8015F6FA; +extern s16 D_8015F6FC; +extern u32 D_8015F58C; + +/** + * Recursive search and set for vertex data + */ +void find_and_set_vertex_data(Gfx *addr, s8 surfaceType, u16 sectionId) { + s32 opcode; + uintptr_t lo; + uintptr_t hi; + s32 i; + + s32 segment = SEGMENT_NUMBER2(addr); + s32 offset = SEGMENT_OFFSET(addr); + Gfx *gfx = (Gfx *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset); + D_8015F6FA = 0; + D_8015F6FC = 0; + + for (i = 0; i < 0x1FFF; i++) { + lo = gfx->words.w0; + hi = gfx->words.w1; + opcode = GFX_GET_OPCODE(lo); + + if (opcode == (G_DL << 24)) { + // G_DL's hi contains an addr to another DL. + find_and_set_vertex_data((Gfx *) hi, surfaceType, sectionId); + + } else if (opcode == (G_VTX << 24)) { + set_vtx_buffer(hi, (lo >> 10) & 0x3F, ((lo >> 16) & 0xFF) >> 1); + + } else if (opcode == (G_TRI1 << 24)) { + D_8015F58C += 1; + set_vtx_from_triangle(hi, surfaceType, sectionId); + + } else if (opcode == (G_TRI2 << 24)) { + D_8015F58C += 2; + set_vtx_from_tri2(lo, hi, surfaceType, sectionId); + + } else if (opcode == (G_QUAD << 24)) { + D_8015F58C += 2; + set_vtx_from_quadrangle(hi, surfaceType, sectionId); + + } else if (opcode == (G_ENDDL << 24)) { + break; + } + + gfx++; + } +} + +/** + * Search for G_SETTILESIZE and set its args. + */ +void find_and_set_tile_size(uintptr_t addr, s32 uls, s32 ult) { + u32 segment = SEGMENT_NUMBER2(addr); + u32 offset = SEGMENT_OFFSET(addr); + Gfx *gfx = (Gfx *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset); + u32 opcode; + + uls = (uls << 12) & 0xFFF000; + ult &= 0xFFF; + + while(TRUE) { + + opcode = GFX_GET_OPCODE(gfx->words.w0); + + if (opcode == (u32) G_ENDDL << 24) { + break; + } else if (opcode == (u32) (G_SETTILESIZE << 24)) { + gfx->words.w0 = (G_SETTILESIZE << 24) | uls | ult; + + break; + } + gfx++; + } +} + +void set_vertex_colours(uintptr_t addr, u32 vertexCount, UNUSED s32 vert3, s8 alpha, u8 red, u8 green, u8 blue) { + s32 segment = SEGMENT_NUMBER2(addr); + s32 offset = SEGMENT_OFFSET(addr); + s32 i; + Vtx *vtx = (Vtx *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset); + + for (i = 0; (u32)i < vertexCount; i++) { + if (red) { + vtx->v.cn[0] = red; + vtx->v.cn[1] = green; + vtx->v.cn[2] = blue; + } + vtx->v.cn[3] = alpha; + vtx++; + } +} + +/** + * Recursive search for Veretices and set their colour values. + */ +void find_vtx_and_set_colours(uintptr_t displayList, s8 alpha, u8 red, u8 green, u8 blue) { + s32 segment = SEGMENT_NUMBER2(displayList); + s32 offset = SEGMENT_OFFSET(displayList); + Gfx *gfx = (Gfx *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset); + uintptr_t lo; + uintptr_t hi; + s32 opcode; + + while(TRUE) { + lo = gfx->words.w0; + hi = gfx->words.w1; + opcode = GFX_GET_OPCODE(lo); + if (opcode == (G_ENDDL << 24)) { + break; + } else if (opcode == (G_DL << 24)) { + find_vtx_and_set_colours(hi, alpha, red, green, blue); + } else if (opcode == (G_VTX << 24)) { + // G_VTX contains an addr hi + set_vertex_colours(hi, (lo >> 10) & 0x3F, ((lo >> 16) & 0xFF) >> 1, alpha, red, green, blue); + } + gfx++; + } +} + +void subtract_scaled_vector(Vec3f pos1, f32 boundingBoxSize, Vec3f pos2) { + pos2[0] -= pos1[0] * boundingBoxSize; + pos2[1] -= pos1[1] * boundingBoxSize; + pos2[2] -= pos1[2] * boundingBoxSize; +} + +u16 process_collision(Player *player, KartBoundingBoxCorner *corner, f32 cornerPosX, f32 cornerPosY, f32 cornerPosZ) { + Collision wtf; + Collision *collision = &wtf; + UNUSED s32 pad; + u16 i; + u16 surfaceMapIndex; + u16 iter; + u16 phi_s2; + f32 cornerPos1; + f32 cornerPos2; + f32 cornerPos3; + f32 boundingBoxSize; + f32 temp_f0; + + s32 temp_v0_2; + s32 temp_v1; + + s16 temp_f10; + s16 temp_f16; + s16 temp_v1_2; + + s32 temp1; + s32 temp2; + UNUSED s32 pad2[9]; + + collision->unk3C[0] = 1000.0f; + collision->unk3C[1] = 1000.0f; + collision->unk3C[2] = 1000.0f; + boundingBoxSize = player->boundingBoxSize; + collision->unk36 = 5000; + collision->unk38 = 5000; + collision->unk3A = 5000; + collision->unk30 = 0; + collision->unk32 = 0; + collision->unk34 = 0; + cornerPos1 = corner->cornerPos[0]; + cornerPos2 = corner->cornerPos[1]; + cornerPos3 = corner->cornerPos[2]; + switch (corner->surfaceFlags) { + case 0x80: + if (is_colliding_with_wall1(collision, boundingBoxSize, cornerPos1, cornerPos2, cornerPos3, corner->surfaceMapIndex, cornerPosX, cornerPosY, cornerPosZ) == 1) { + temp_f0 = func_802ABE30(cornerPos1, cornerPos2, cornerPos3, corner->surfaceMapIndex); + if ((!(temp_f0 > player->pos[1])) && !((player->pos[1] - temp_f0) > (2 * boundingBoxSize))) { + corner->cornerGroundY = temp_f0; + subtract_scaled_vector(collision->unk54, collision->unk3C[1], corner->cornerPos); + return 1; + } + } + break; + case 0x40: + if (is_colliding_with_drivable_surface(collision, boundingBoxSize, cornerPos1, cornerPos2, cornerPos3, corner->surfaceMapIndex, cornerPosX, cornerPosY, cornerPosZ) == 1) { + temp_f0 = func_802ABE30(cornerPos1, cornerPos2, cornerPos3, corner->surfaceMapIndex); + if (!(player->pos[1] < temp_f0) && !((2 * boundingBoxSize) < (player->pos[1] - temp_f0))) { + corner->cornerGroundY = temp_f0; + subtract_scaled_vector(collision->unk60, collision->unk3C[2], corner->cornerPos); + return 1; + } + } + break; + case 0x20: + if (is_colliding_with_wall2(collision, boundingBoxSize, cornerPos1, cornerPos2, cornerPos3, corner->surfaceMapIndex, cornerPosX, cornerPosY, cornerPosZ) == 1) { + temp_f0 = func_802ABE30(cornerPos1, cornerPos2, cornerPos3, corner->surfaceMapIndex); + if (!(player->pos[1] < temp_f0) && !((2 * boundingBoxSize) < (player->pos[1] - temp_f0))) { + corner->cornerGroundY = temp_f0; + subtract_scaled_vector(collision->unk48, collision->unk3C[0], corner->cornerPos); + return 1; + } + } + break; + case 0: + break; + } + + // If the surface flags are not set then try setting them. + + temp_v0_2 = (s32) D_8015F6E8 - D_8015F6EA; + temp_v1 = (s32) D_8015F6F0 - D_8015F6F2; + + temp1 = temp_v0_2 / 32; + temp2 = temp_v1 / 32; + + temp_f10 = (cornerPos1 - D_8015F6EA) / temp1; + temp_f16 = (cornerPos3 - D_8015F6F2) / temp2; + + + if (temp_f10 < 0) { return 0; } + if (temp_f16 < 0) { return 0; } + if (temp_f10 >= 32) { return 0; } + if (temp_f16 >= 32) { return 0; } + + + temp_v1_2 = temp_f10 + temp_f16 * 32; + iter = D_8014F110[temp_v1_2].unk2; + + if (iter == 0) { return 0; } + + phi_s2 = D_8014F110[temp_v1_2].unk0; + + for (i = 0; i < iter; i++) { + surfaceMapIndex = D_8015F584[phi_s2]; + if (gSurfaceMap[surfaceMapIndex].flags & 0x4000) { + if (surfaceMapIndex != corner->surfaceMapIndex) { + if (is_colliding_with_drivable_surface(collision, boundingBoxSize, cornerPos1, cornerPos2, cornerPos3, surfaceMapIndex, cornerPosX, cornerPosY, cornerPosZ) == 1) { + temp_f0 = func_802ABE30(cornerPos1, cornerPos2, cornerPos3, surfaceMapIndex); + + if (!(player->pos[1] < temp_f0) && !((2 * boundingBoxSize) < (player->pos[1] - temp_f0))) { + subtract_scaled_vector(collision->unk60, collision->unk3C[2], corner->cornerPos); + corner->cornerGroundY = temp_f0; + corner->surfaceType = (u8) gSurfaceMap[surfaceMapIndex].surfaceType; + corner->surfaceFlags = 0x40; + corner->surfaceMapIndex = surfaceMapIndex; + if (gSurfaceMap[surfaceMapIndex].flags & 0x1000) { + corner->unk_14 = 1; + } else { + corner->unk_14 = 0; + } + return 1; + } + } + } + } else if (gSurfaceMap[surfaceMapIndex].flags & 0x8000) { + if (gSurfaceMap[surfaceMapIndex].gravity != 0.0f) { + if (surfaceMapIndex != corner->surfaceMapIndex) { + if (is_colliding_with_wall1(collision, boundingBoxSize, cornerPos1, cornerPos2, cornerPos3, surfaceMapIndex, cornerPosX, cornerPosY, cornerPosZ) == 1) { + temp_f0 = func_802ABE30(cornerPos1, cornerPos2, cornerPos3, surfaceMapIndex); + if (!(player->pos[1] < temp_f0) && !((2 * boundingBoxSize) < (player->pos[1] - temp_f0))) { + corner->cornerGroundY = temp_f0; + subtract_scaled_vector(collision->unk54, collision->unk3C[1], corner->cornerPos); + corner->cornerGroundY = func_802ABE30(cornerPos1, cornerPos2, cornerPos3, surfaceMapIndex); + corner->surfaceType = (u8) gSurfaceMap[surfaceMapIndex].surfaceType; + corner->surfaceFlags = 0x80; + corner->surfaceMapIndex = surfaceMapIndex; + return 1; + } + } + } + } + } else { + if (gSurfaceMap[surfaceMapIndex].gravity != 0.0f) { + if (surfaceMapIndex != corner->surfaceMapIndex) { + if (is_colliding_with_wall2(collision, boundingBoxSize, cornerPos1, cornerPos2, cornerPos3, surfaceMapIndex, cornerPosX, cornerPosY, cornerPosZ) == 1) { + temp_f0 = func_802ABE30(cornerPos1, cornerPos2, cornerPos3, surfaceMapIndex); + if (!(player->pos[1] < temp_f0) && !((2 * boundingBoxSize) < (player->pos[1] - temp_f0))) { + corner->cornerGroundY = temp_f0; + subtract_scaled_vector(collision->unk48, collision->unk3C[0], corner->cornerPos); + corner->surfaceType = (u8) gSurfaceMap[surfaceMapIndex].surfaceType; + corner->surfaceFlags = 0x20; + corner->surfaceMapIndex = surfaceMapIndex; + return 1; + } + } + } + } + } + phi_s2++; + } + corner->cornerGroundY = cornerPos2; + corner->surfaceType = 0; + return 0; +} diff --git a/src/collision.h b/src/collision.h new file mode 100644 index 000000000..b95abf38d --- /dev/null +++ b/src/collision.h @@ -0,0 +1,37 @@ +#ifndef collision_H +#define collision_H + +#include "common_structs.h" + +void nullify_displaylist(uintptr_t); +void func_802AAAAC(Collision*); +f32 func_802AAB4C(Player*); +s8 get_surface_type(u16); +s16 func_802ABD40(u16); +s16 func_802ABD7C(u16); +s16 func_802ABDB8(u16); +s16 func_802ABDF4(u16); +f32 func_802ABE30(f32, f32, f32, u16); +f32 func_802ABEAC(Collision*, Vec3f); +void process_shell_collision(Vec3f, f32, Vec3f, f32); +void func_802AC114(Vec3f, f32, Vec3f, f32); +u16 func_802AD950(Collision*, f32, f32, f32, f32, f32, f32, f32); +u16 func_802ADDC8(Collision*, f32, f32, f32, f32); +f32 func_802AE1C0(f32, f32, f32); +void set_vtx_buffer(uintptr_t, u32, u32); +s32 is_line_intersecting_rectangle(s16, s16, s16, s16, s16, s16, s16, s16); +s32 is_triangle_intersecting_bounding_box(s16, s16, s16, s16, u16); +void func_802AF314(); +void set_vertex_data_with_defaults(Gfx*); +void set_vertex_data_with_default_section_id(Gfx*, s8); +void find_and_set_vertex_data(Gfx*, s8, u16); +void find_and_set_tile_size(uintptr_t, s32, s32); +void set_vertex_colours(u32, u32, s32, s8, u8, u8, u8); +void find_vtx_and_set_colours(uintptr_t, s8, u8, u8, u8); +void subtract_scaled_vector(Vec3f, f32, Vec3f); + +extern Vtx *vtxBuffer[]; +extern s16 D_8015F6EE; +extern f32 D_8015F8E4; + +#endif diff --git a/src/debug/all_variables.h b/src/debug/all_variables.h index 85f2b4679..96a6d619b 100644 --- a/src/debug/all_variables.h +++ b/src/debug/all_variables.h @@ -29,7 +29,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/src/hud_renderer.c b/src/hud_renderer.c index 040e5c308..249ecaaf7 100644 --- a/src/hud_renderer.c +++ b/src/hud_renderer.c @@ -23,7 +23,7 @@ #include "hud_renderer.h" #include "code_80071F00.h" #include "code_80091750.h" -#include "code_802AAA70.h" +#include "collision.h" #include "main.h" #include "code_80086E70.h" @@ -1485,7 +1485,7 @@ UNUSED void func_8004A5E4(Vec3f arg0, Vec3su arg1, f32 arg2, u8 *texture, Vtx *a func_8004A414(arg0, arg1, arg2, texture, arg4, 16, 16, 16, 16); } -void func_8004A630(UnkActorInner *arg0, Vec3f arg1, f32 arg2) { +void func_8004A630(Collision *arg0, Vec3f arg1, f32 arg2) { if (func_80041924(arg0, arg1) != 0) { D_80183E50[0] = arg1[0]; D_80183E50[1] = func_802ABE30(arg1[0], 0.0f, arg1[2], arg0->unk3A) + 0.8; diff --git a/src/hud_renderer.h b/src/hud_renderer.h index 0fa002b60..0abbd6383 100644 --- a/src/hud_renderer.h +++ b/src/hud_renderer.h @@ -162,7 +162,7 @@ void func_8004A488(Vec3f, Vec3su, f32, u8*, Vtx*, s32, s32, s32, s32); void func_8004A4FC(Vec3f, Vec3su, f32, u8*, Vtx*, s32, s32, s32, s32); void func_8004A570(Vec3f, Vec3su, f32, u8*, Vtx*, s32, s32, s32, s32); void func_8004A5E4(Vec3f, Vec3su, f32, u8*, Vtx*); -void func_8004A630(UnkActorInner*, Vec3f, f32); +void func_8004A630(Collision*, Vec3f, f32); void func_8004A6EC(s32, f32); void func_8004A7AC(s32, f32); void func_8004A870(s32, f32); @@ -430,7 +430,7 @@ extern Vec3f D_80183E50; extern Vec3f D_80183E70; extern Vec3su D_80183E80; extern Vec3su D_80183E98; -extern UnkActorInner D_8018C830; +extern Collision D_8018C830; extern u8 *D_8018D1E0; extern s32 D_8018D3E0; // some alpha diff --git a/src/main.h b/src/main.h index 745cc1efb..994232aef 100644 --- a/src/main.h +++ b/src/main.h @@ -23,6 +23,8 @@ struct UnkStruct_8015F584 { u16 unk2; }; +extern struct UnkStruct_8015F584 D_8014F110[]; + void create_thread(OSThread*, OSId, void (*entry)(void *), void*, void*, OSPri); void main_func(); void thread1_idle(void*); diff --git a/src/math_util_2.c b/src/math_util_2.c index b05fb5857..de6fe5d9b 100644 --- a/src/math_util_2.c +++ b/src/math_util_2.c @@ -8,7 +8,7 @@ #include "objects.h" #include "memory.h" -#include "code_802AAA70.h" +#include "collision.h" #include "code_8001F980.h" #pragma intrinsic (sqrtf) @@ -439,7 +439,7 @@ s32 func_800418E8(f32 arg0, f32 arg1, Vec3f arg2) { return atan2s(arg0 - arg2[1], arg1 - arg2[2]); } -s32 func_80041924(UnkActorInner *arg0, Vec3f arg1) { +s32 func_80041924(Collision *arg0, Vec3f arg1) { s32 ret = 0; func_802ADDC8(arg0, 10.0f, arg1[0], arg1[1], arg1[2]); diff --git a/src/math_util_2.h b/src/math_util_2.h index beddb1675..3ca8fdaf0 100644 --- a/src/math_util_2.h +++ b/src/math_util_2.h @@ -58,7 +58,7 @@ s32 func_80041770(f32, f32, f32, f32); u16 func_800417B4(u16, u16); s32 func_800418AC(f32, f32, Vec3f); s32 func_800418E8(f32, f32, Vec3f); -s32 func_80041924(UnkActorInner*, Vec3f); +s32 func_80041924(Collision*, Vec3f); s32 func_80041980(Vec3f, Camera*, u16); void func_800419F8(); void func_80041A78(Mat4, s32, s32); diff --git a/src/render_courses.c b/src/render_courses.c index 9521f9e39..abbe96e8a 100644 --- a/src/render_courses.c +++ b/src/render_courses.c @@ -3,13 +3,14 @@ #include #include #include +#include #include #include "main.h" #include "actors.h" #include "math_util.h" #include "memory.h" #include "code_80281780.h" -#include "code_802AAA70.h" +#include "collision.h" #include "render_courses.h" #include "skybox_and_splitscreen.h" @@ -23,7 +24,7 @@ s32 D_802B87C8 = 0; s32 D_802B87CC = 0; s16 D_802B87D0 = 0; s16 D_802B87D4 = 0; -s16 D_802B87D8 = 0; +s16 currentScreenSection = 0; s32 func_80290C20(Camera *camera) { if (camera->unk_54.unk34 == 0) { @@ -38,28 +39,28 @@ s32 func_80290C20(Camera *camera) { return 0; } -void func_80290CAC(uintptr_t arg0) { +void parse_course_displaylists(uintptr_t arg0) { s32 segment = SEGMENT_NUMBER2(arg0); s32 offset = SEGMENT_OFFSET(arg0); - struct Unk0CAC *data = (struct Unk0CAC *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset); + TrackSections *data = (TrackSections *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset); - while(data->unk0 != 0) { - if ((data->unk6 & 0x8000) != 0) { + while(data->addr != 0) { + if (data->flags & 0x8000) { D_8015F59C = 1; } else { D_8015F59C = 0; } - if ((data->unk6 & 0x2000) != 0) { + if (data->flags & 0x2000) { D_8015F5A0 = 1; } else { D_8015F5A0 = 0; } - if ((data->unk6 & 0x4000) != 0) { + if (data->flags & 0x4000) { D_8015F5A4 = 1; } else { D_8015F5A4 = 0; } - func_802AF5D8(data->unk0, data->unk4, data->unk5); + find_and_set_vertex_data(data->addr, data->surfaceType, data->sectionId); data++; } } @@ -792,6 +793,8 @@ void render_luigi_raceway(struct UnkStruct_800DC5EC *arg0) { D_800DC5DC = 88; D_800DC5E0 = 72; + + // Render only the first player camera onto the television billboard. Screen agnostic screens of other players). if ((gActiveScreenMode == SCREEN_MODE_1P) && (sp22 >= 10) && (sp22 < 17)) { prevFrame = (s16)sRenderedFramebuffer - 1; @@ -801,29 +804,33 @@ void render_luigi_raceway(struct UnkStruct_800DC5EC *arg0) { } else if (prevFrame >= 3) { prevFrame = 0; } - D_802B87D8++; - if (D_802B87D8 >= 6) { - D_802B87D8 = 0; + currentScreenSection++; + if (currentScreenSection >= 6) { + currentScreenSection = 0; } - switch (D_802B87D8) { - case 0: - func_802A7658(D_800DC5DC, D_800DC5E0, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0xF800)); - break; - case 1: - func_802A7658(D_800DC5DC + 64, D_800DC5E0, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x10800)); - break; - case 2: - func_802A7658(D_800DC5DC, D_800DC5E0 + 32, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x11800)); - break; - case 3: - func_802A7658(D_800DC5DC + 64, D_800DC5E0 + 32, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x12800)); - break; - case 4: - func_802A7658(D_800DC5DC, D_800DC5E0 + 64, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x13800)); - break; - case 5: - func_802A7658(D_800DC5DC + 64, D_800DC5E0 + 64, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x14800)); - break; + /** + * The jumbo television screen is split into six sections each section is copied one at a time. + * This is done to fit within the n64's texture size requirements; 64x32 + */ + switch (currentScreenSection) { + case 0: + copy_framebuffer(D_800DC5DC, D_800DC5E0, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0xF800)); + break; + case 1: + copy_framebuffer(D_800DC5DC + 64, D_800DC5E0, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x10800)); + break; + case 2: + copy_framebuffer(D_800DC5DC, D_800DC5E0 + 32, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x11800)); + break; + case 3: + copy_framebuffer(D_800DC5DC + 64, D_800DC5E0 + 32, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x12800)); + break; + case 4: + copy_framebuffer(D_800DC5DC, D_800DC5E0 + 64, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x13800)); + break; + case 5: + copy_framebuffer(D_800DC5DC + 64, D_800DC5E0 + 64, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x14800)); + break; } } } @@ -1000,28 +1007,28 @@ void render_wario_stadium(struct UnkStruct_800DC5EC *arg0) { } else if (prevFrame >= 3) { prevFrame = 0; } - D_802B87D8++; - if (D_802B87D8 > 5) { - D_802B87D8 = 0; + currentScreenSection++; + if (currentScreenSection > 5) { + currentScreenSection = 0; } - switch (D_802B87D8) { + switch (currentScreenSection) { case 0: - func_802A7658(D_800DC5DC, D_800DC5E0, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x8800)); + copy_framebuffer(D_800DC5DC, D_800DC5E0, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x8800)); break; case 1: - func_802A7658(D_800DC5DC + 64, D_800DC5E0, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x9800)); + copy_framebuffer(D_800DC5DC + 64, D_800DC5E0, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x9800)); break; case 2: - func_802A7658(D_800DC5DC, D_800DC5E0 + 32, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0xA800)); + copy_framebuffer(D_800DC5DC, D_800DC5E0 + 32, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0xA800)); break; case 3: - func_802A7658(D_800DC5DC + 64, D_800DC5E0 + 32, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0xB800)); + copy_framebuffer(D_800DC5DC + 64, D_800DC5E0 + 32, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0xB800)); break; case 4: - func_802A7658(D_800DC5DC, D_800DC5E0 + 64, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0xC800)); + copy_framebuffer(D_800DC5DC, D_800DC5E0 + 64, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0xC800)); break; case 5: - func_802A7658(D_800DC5DC + 64, D_800DC5E0 + 64, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0xD800)); + copy_framebuffer(D_800DC5DC + 64, D_800DC5E0 + 64, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0xD800)); break; } } @@ -1292,18 +1299,18 @@ void func_80295D88(void) { func_80295D6C(); D_8015F58C = 0; D_8015F588 = 0; - D_8015F580 = (mk64_surface_map_ram *) gNextFreeMemoryAddress; + gSurfaceMap = (mk64_surface_map_ram *) gNextFreeMemoryAddress; D_800DC5BC = 0; D_800DC5C8 = 0; switch (gCurrentCourseId) { case COURSE_MARIO_RACEWAY: - func_802AF588(d_course_mario_raceway_packed_dl_1140); + set_vertex_data_with_defaults(d_course_mario_raceway_packed_dl_1140); if (gScreenModeSelection == SCREEN_MODE_1P) { - func_802AF588(d_course_mario_raceway_packed_dl_8E8); + set_vertex_data_with_defaults(d_course_mario_raceway_packed_dl_8E8); } else { - func_802AF588(d_course_mario_raceway_packed_dl_2D68); + set_vertex_data_with_defaults(d_course_mario_raceway_packed_dl_2D68); } - func_80290CAC((uintptr_t) D_06009650); + parse_course_displaylists((uintptr_t) D_06009650); func_80295C6C(); D_8015F8E4 = D_8015F6EE - 10.0f; break; @@ -1326,15 +1333,15 @@ void func_80295D88(void) { nullify_displaylist(d_course_choco_mountain_packed_dl_340); nullify_displaylist(d_course_choco_mountain_packed_dl_3C8); } - func_80290CAC((uintptr_t) &D_060072D0); + parse_course_displaylists((uintptr_t) &D_060072D0); func_802B5CAC(0x238E, 0x31C7, D_8015F590); func_80295C6C(); D_8015F8E4 = -80.0f; break; case COURSE_BOWSER_CASTLE: - func_80290CAC((uintptr_t) D_060093D8); + parse_course_displaylists((uintptr_t) D_060093D8); func_80295C6C(); - func_802AF8BC(d_course_bowsers_castle_packed_dl_1350, 0x32, 0, 0, 0); + find_vtx_and_set_colours(d_course_bowsers_castle_packed_dl_1350, 0x32, 0, 0, 0); D_8015F8E4 = -50.0f; break; case COURSE_BANSHEE_BOARDWALK: @@ -1342,42 +1349,42 @@ void func_80295D88(void) { D_801625EC = 0; D_801625F4 = 0; D_801625F0 = 0; - func_80290CAC((uintptr_t) D_0600B458); + parse_course_displaylists((uintptr_t) D_0600B458); func_80295C6C(); - func_802AF8BC(d_course_banshee_boardwalk_packed_dl_878, 128, 0, 0, 0); + find_vtx_and_set_colours(d_course_banshee_boardwalk_packed_dl_878, 128, 0, 0, 0); D_8015F8E4 = -80.0f; break; case COURSE_YOSHI_VALLEY: func_802B5D64((uintptr_t) D_06016558, -0x38F0, 0x1C70, 1); - func_80290CAC((uintptr_t) D_06018240); + parse_course_displaylists((uintptr_t) D_06018240); func_80295C6C(); D_8015F8E4 = D_8015F6EE - 10.0f; break; case COURSE_FRAPPE_SNOWLAND: - func_80290CAC((uintptr_t) D_060079A0); + parse_course_displaylists((uintptr_t) D_060079A0); func_80295C6C(); D_8015F8E4 = -50.0f; break; case COURSE_KOOPA_BEACH: - func_80290CAC((uintptr_t) D_06018FD8); + parse_course_displaylists((uintptr_t) D_06018FD8); func_80295C6C(); - func_802AF8BC(d_course_koopa_troopa_beach_packed_dl_ADE0, -0x6A, 255, 255, 255); - func_802AF8BC(d_course_koopa_troopa_beach_packed_dl_A540, -0x6A, 255, 255, 255); - func_802AF8BC(d_course_koopa_troopa_beach_packed_dl_9E70, -0x6A, 255, 255, 255); - func_802AF8BC(d_course_koopa_troopa_beach_packed_dl_358, -0x6A, 255, 255, 255); + find_vtx_and_set_colours(d_course_koopa_troopa_beach_packed_dl_ADE0, -0x6A, 255, 255, 255); + find_vtx_and_set_colours(d_course_koopa_troopa_beach_packed_dl_A540, -0x6A, 255, 255, 255); + find_vtx_and_set_colours(d_course_koopa_troopa_beach_packed_dl_9E70, -0x6A, 255, 255, 255); + find_vtx_and_set_colours(d_course_koopa_troopa_beach_packed_dl_358, -0x6A, 255, 255, 255); break; case COURSE_ROYAL_RACEWAY: - func_80290CAC((uintptr_t) D_0600DC28); + parse_course_displaylists((uintptr_t) D_0600DC28); func_80295C6C(); D_8015F8E4 = -60.0f; break; case COURSE_LUIGI_RACEWAY: - func_80290CAC((uintptr_t) D_0600FF28); + parse_course_displaylists((uintptr_t) D_0600FF28); func_80295C6C(); D_8015F8E4 = D_8015F6EE - 10.0f; break; case COURSE_MOO_MOO_FARM: - func_80290CAC((uintptr_t) D_060144B8); + parse_course_displaylists((uintptr_t) D_060144B8); func_80295C6C(); D_8015F8E4 = D_8015F6EE - 10.0f; break; @@ -1387,76 +1394,76 @@ void func_80295D88(void) { D_801625F0 = 4; D_802B87B0 = 993; D_802B87B4 = 1000; - func_80290CAC((uintptr_t) D_06023B68); + parse_course_displaylists((uintptr_t) D_06023B68); func_80295C6C(); D_8015F8E4 = D_8015F6EE - 10.0f; break; case COURSE_KALAMARI_DESERT: - func_80290CAC((uintptr_t) D_06023070); + parse_course_displaylists((uintptr_t) D_06023070); func_80295C6C(); D_8015F8E4 = D_8015F6EE - 10.0f; break; case COURSE_SHERBET_LAND: - func_80290CAC((uintptr_t) D_06009C20); + parse_course_displaylists((uintptr_t) D_06009C20); func_80295C6C(); D_8015F8E4 = -18.0f; - func_802AF8BC(d_course_sherbet_land_packed_dl_1EB8, -0x4C, 255, 255, 255); - func_802AF8BC(d_course_sherbet_land_packed_dl_2308, -0x6A, 255, 255, 255); + find_vtx_and_set_colours(d_course_sherbet_land_packed_dl_1EB8, -0x4C, 255, 255, 255); + find_vtx_and_set_colours(d_course_sherbet_land_packed_dl_2308, -0x6A, 255, 255, 255); break; case COURSE_RAINBOW_ROAD: D_800DC5C8 = 1; - func_80290CAC((uintptr_t) D_06016440); + parse_course_displaylists((uintptr_t) D_06016440); func_80295C6C(); D_8015F8E4 = 0.0f; - func_802AF8BC(d_course_rainbow_road_packed_dl_2068, -0x6A, 255, 255, 255); - func_802AF8BC(d_course_rainbow_road_packed_dl_1E18, -0x6A, 255, 255, 255); - func_802AF8BC(d_course_rainbow_road_packed_dl_1318, 255, 255, 255, 0); + find_vtx_and_set_colours(d_course_rainbow_road_packed_dl_2068, -0x6A, 255, 255, 255); + find_vtx_and_set_colours(d_course_rainbow_road_packed_dl_1E18, -0x6A, 255, 255, 255); + find_vtx_and_set_colours(d_course_rainbow_road_packed_dl_1318, 255, 255, 255, 0); if (gGamestate != CREDITS_SEQUENCE) { - func_802AF8BC(d_course_rainbow_road_packed_dl_1FB8, -0x6A, 255, 255, 255); + find_vtx_and_set_colours(d_course_rainbow_road_packed_dl_1FB8, -0x6A, 255, 255, 255); } break; case COURSE_WARIO_STADIUM: - func_80290CAC((uintptr_t) D_0600CC38); + parse_course_displaylists((uintptr_t) D_0600CC38); func_80295C6C(); D_8015F8E4 = D_8015F6EE - 10.0f; - func_802AF8BC(d_course_wario_stadium_packed_dl_C50, 100, 255, 255, 255); - func_802AF8BC(d_course_wario_stadium_packed_dl_BD8, 100, 255, 255, 255); - func_802AF8BC(d_course_wario_stadium_packed_dl_B60, 100, 255, 255, 255); - func_802AF8BC(d_course_wario_stadium_packed_dl_AE8, 100, 255, 255, 255); - func_802AF8BC(d_course_wario_stadium_packed_dl_CC8, 100, 255, 255, 255); - func_802AF8BC(d_course_wario_stadium_packed_dl_D50, 100, 255, 255, 255); - func_802AF8BC(d_course_wario_stadium_packed_dl_DD0, 100, 255, 255, 255); - func_802AF8BC(d_course_wario_stadium_packed_dl_E48, 100, 255, 255, 255); + find_vtx_and_set_colours(d_course_wario_stadium_packed_dl_C50, 100, 255, 255, 255); + find_vtx_and_set_colours(d_course_wario_stadium_packed_dl_BD8, 100, 255, 255, 255); + find_vtx_and_set_colours(d_course_wario_stadium_packed_dl_B60, 100, 255, 255, 255); + find_vtx_and_set_colours(d_course_wario_stadium_packed_dl_AE8, 100, 255, 255, 255); + find_vtx_and_set_colours(d_course_wario_stadium_packed_dl_CC8, 100, 255, 255, 255); + find_vtx_and_set_colours(d_course_wario_stadium_packed_dl_D50, 100, 255, 255, 255); + find_vtx_and_set_colours(d_course_wario_stadium_packed_dl_DD0, 100, 255, 255, 255); + find_vtx_and_set_colours(d_course_wario_stadium_packed_dl_E48, 100, 255, 255, 255); break; case COURSE_BLOCK_FORT: - func_802AF5AC(d_course_block_fort_packed_dl_15C0, 1); + set_vertex_data_with_default_section_id(d_course_block_fort_packed_dl_15C0, 1); func_80295C6C(); D_8015F8E4 = D_8015F6EE - 10.0f; break; case COURSE_SKYSCRAPER: - func_802AF5AC(d_course_skyscraper_packed_dl_1110, 1); - func_802AF5AC(d_course_skyscraper_packed_dl_258, 1); + set_vertex_data_with_default_section_id(d_course_skyscraper_packed_dl_1110, 1); + set_vertex_data_with_default_section_id(d_course_skyscraper_packed_dl_258, 1); func_80295C6C(); D_8015F8E4 = -480.0f; break; case COURSE_DOUBLE_DECK: - func_802AF5AC(d_course_double_deck_packed_dl_738, 1); + set_vertex_data_with_default_section_id(d_course_double_deck_packed_dl_738, 1); func_80295C6C(); D_8015F8E4 = D_8015F6EE - 10.0f; break; case COURSE_DK_JUNGLE: - func_80290CAC((uintptr_t) D_06014338); + parse_course_displaylists((uintptr_t) D_06014338); func_80295C6C(); D_8015F8E4 = -475.0f; - func_802AF8BC(d_course_dks_jungle_parkway_packed_dl_3FA8, 120, 255, 255, 255); + find_vtx_and_set_colours(d_course_dks_jungle_parkway_packed_dl_3FA8, 120, 255, 255, 255); break; case COURSE_BIG_DONUT: - func_802AF5AC(d_course_big_donut_packed_dl_1018, 6); - func_802AF5AC(d_course_big_donut_packed_dl_450, 6); - func_802AF5AC(d_course_big_donut_packed_dl_AC0, 6); - func_802AF5AC(d_course_big_donut_packed_dl_B58, 6); - func_802AF5AC(d_course_big_donut_packed_dl_230, 6); + set_vertex_data_with_default_section_id(d_course_big_donut_packed_dl_1018, 6); + set_vertex_data_with_default_section_id(d_course_big_donut_packed_dl_450, 6); + set_vertex_data_with_default_section_id(d_course_big_donut_packed_dl_AC0, 6); + set_vertex_data_with_default_section_id(d_course_big_donut_packed_dl_B58, 6); + set_vertex_data_with_default_section_id(d_course_big_donut_packed_dl_230, 6); func_80295C6C(); D_8015F8E4 = 100.0f; break; @@ -1483,8 +1490,8 @@ void func_802966A0(void) { D_802B87C4 = 0; } // waterfall animation - func_802AF7B4(d_course_koopa_troopa_beach_packed_dl_9D58, 0, D_802B87BC); - func_802AF7B4(d_course_koopa_troopa_beach_packed_dl_9CD0, 0, D_802B87C4); + find_and_set_tile_size(d_course_koopa_troopa_beach_packed_dl_9D58, 0, D_802B87BC); + find_and_set_tile_size(d_course_koopa_troopa_beach_packed_dl_9CD0, 0, D_802B87C4); D_802B87CC = random_int(300) / 40; if (D_802B87C8 < 0) { D_802B87C8 = random_int(300) / 40; @@ -1492,7 +1499,7 @@ void func_802966A0(void) { D_802B87C8 = -(random_int(300) / 40); } // Waterfall bubbling effect? (unused) - func_802AF7B4(d_course_koopa_troopa_beach_packed_dl_2E8, D_802B87C8, D_802B87CC); + find_and_set_tile_size(d_course_koopa_troopa_beach_packed_dl_2E8, D_802B87C8, D_802B87CC); break; case COURSE_BANSHEE_BOARDWALK: D_802B87BC++; @@ -1500,31 +1507,31 @@ void func_802966A0(void) { if (D_802B87BC >= 0x100) { D_802B87BC = 0; } - func_802AF7B4((uintptr_t) D_0600B278, 0, D_802B87BC); + find_and_set_tile_size((uintptr_t) D_0600B278, 0, D_802B87BC); break; case COURSE_ROYAL_RACEWAY: D_802B87BC -= 20; if (D_802B87BC < 0) { D_802B87BC = 0xFF; } - func_802AF7B4(d_course_royal_raceway_packed_dl_A6A8, 0, D_802B87BC); - func_802AF7B4(d_course_royal_raceway_packed_dl_A648, 0, D_802B87BC); + find_and_set_tile_size(d_course_royal_raceway_packed_dl_A6A8, 0, D_802B87BC); + find_and_set_tile_size(d_course_royal_raceway_packed_dl_A648, 0, D_802B87BC); break; case COURSE_DK_JUNGLE: D_802B87BC += 2; if (D_802B87BC > 255) { D_802B87BC = 0; } - func_802AF7B4(d_course_dks_jungle_parkway_packed_dl_3DD0, 0, D_802B87BC); - func_802AF7B4(d_course_dks_jungle_parkway_packed_dl_3E40, 0, D_802B87BC); - func_802AF7B4(d_course_dks_jungle_parkway_packed_dl_3EB0, 0, D_802B87BC); - func_802AF7B4(d_course_dks_jungle_parkway_packed_dl_3F30, 0, D_802B87BC); - func_802AF7B4(d_course_dks_jungle_parkway_packed_dl_36A8, 0, D_802B87BC); + find_and_set_tile_size(d_course_dks_jungle_parkway_packed_dl_3DD0, 0, D_802B87BC); + find_and_set_tile_size(d_course_dks_jungle_parkway_packed_dl_3E40, 0, D_802B87BC); + find_and_set_tile_size(d_course_dks_jungle_parkway_packed_dl_3EB0, 0, D_802B87BC); + find_and_set_tile_size(d_course_dks_jungle_parkway_packed_dl_3F30, 0, D_802B87BC); + find_and_set_tile_size(d_course_dks_jungle_parkway_packed_dl_36A8, 0, D_802B87BC); D_802B87C4 -= 20; if (D_802B87C4 < 0) { D_802B87C4 = 0xFF; } - func_802AF7B4(d_course_dks_jungle_parkway_packed_dl_9880, 0, D_802B87C4); + find_and_set_tile_size(d_course_dks_jungle_parkway_packed_dl_9880, 0, D_802B87C4); func_80298C94(); break; } diff --git a/src/render_courses.h b/src/render_courses.h index eecf0018e..9bc779e43 100644 --- a/src/render_courses.h +++ b/src/render_courses.h @@ -1,16 +1,9 @@ #ifndef RENDER_COURSES_H #define RENDER_COURSES_H -struct Unk0CAC { - s32 unk0; - u8 unk4; - u8 unk5; - u16 unk6; -}; - void func_8029122C(struct UnkStruct_800DC5EC*, s32); s32 func_80290C20(Camera*); -void func_80290CAC(uintptr_t); +void parse_course_displaylists(uintptr_t); void load_surface_map(uintptr_t, struct UnkStruct_800DC5EC*); void func_80291198(); void func_802911C4(); @@ -155,7 +148,7 @@ extern s32 gGamestate; extern s32 gModeSelection; extern u16 gNumActors; extern s32 D_8015F58C; -extern mk64_surface_map_ram *D_8015F580; +extern mk64_surface_map_ram *gSurfaceMap; extern s32 gCCSelection; #endif diff --git a/src/skybox_and_splitscreen.c b/src/skybox_and_splitscreen.c index f6092bb2f..205d5e66e 100644 --- a/src/skybox_and_splitscreen.c +++ b/src/skybox_and_splitscreen.c @@ -1274,16 +1274,16 @@ void func_802A74BC(void) { } } -void func_802A7658(s32 arg0, s32 arg1, s32 arg2, s32 arg3, u16 *source, u16 *target) { +void copy_framebuffer(s32 arg0, s32 arg1, s32 width, s32 height, u16 *source, u16 *target) { s32 var_v1; s32 var_a1; s32 targetIndex; s32 sourceIndex; targetIndex = 0; - for (var_v1 = 0; var_v1 < arg3; var_v1++) { + for (var_v1 = 0; var_v1 < height; var_v1++) { sourceIndex = ((arg1 + var_v1) * 320) + arg0; - for (var_a1 = 0; var_a1 < arg2; var_a1++, targetIndex++, sourceIndex++) { + for (var_a1 = 0; var_a1 < width; var_a1++, targetIndex++, sourceIndex++) { target[targetIndex] = source[sourceIndex]; } } @@ -1309,12 +1309,12 @@ void func_802A7728(void) { } else if (temp_v0 > 2) { temp_v0 = 0; } - func_802A7658(D_800DC5DC, D_800DC5E0, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[temp_v0]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5]+0x8800)); - func_802A7658(D_800DC5DC + 64, D_800DC5E0, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[temp_v0]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5]+0x9800)); - func_802A7658(D_800DC5DC, D_800DC5E0 + 32, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[temp_v0]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5]+0xA800)); - func_802A7658(D_800DC5DC + 64, D_800DC5E0 + 32, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[temp_v0]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5]+0xB800)); - func_802A7658(D_800DC5DC, D_800DC5E0 + 64, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[temp_v0]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5]+0xC800)); - func_802A7658(D_800DC5DC + 64, D_800DC5E0 + 64, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[temp_v0]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5]+0xD800)); + copy_framebuffer(D_800DC5DC, D_800DC5E0, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[temp_v0]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5]+0x8800)); + copy_framebuffer(D_800DC5DC + 64, D_800DC5E0, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[temp_v0]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5]+0x9800)); + copy_framebuffer(D_800DC5DC, D_800DC5E0 + 32, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[temp_v0]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5]+0xA800)); + copy_framebuffer(D_800DC5DC + 64, D_800DC5E0 + 32, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[temp_v0]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5]+0xB800)); + copy_framebuffer(D_800DC5DC, D_800DC5E0 + 64, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[temp_v0]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5]+0xC800)); + copy_framebuffer(D_800DC5DC + 64, D_800DC5E0 + 64, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[temp_v0]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5]+0xD800)); } void func_802A7940(void) { @@ -1332,10 +1332,10 @@ void func_802A7940(void) { } else if (temp_v0 > 2) { temp_v0 = 0; } - func_802A7658(D_800DC5DC, D_800DC5E0, 0x40, 0x20, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[temp_v0]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0xF800)); - func_802A7658(D_800DC5DC + 0x40, D_800DC5E0, 0x40, 0x20, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[temp_v0]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x10800)); - func_802A7658(D_800DC5DC, D_800DC5E0 + 0x20, 0x40, 0x20, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[temp_v0]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x11800)); - func_802A7658(D_800DC5DC + 0x40, D_800DC5E0 + 0x20, 0x40, 0x20, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[temp_v0]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x12800)); - func_802A7658(D_800DC5DC, D_800DC5E0 + 0x40, 0x40, 0x20, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[temp_v0]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x13800)); - func_802A7658(D_800DC5DC + 0x40, D_800DC5E0 + 0x40, 0x40, 0x20, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[temp_v0]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x14800)); + copy_framebuffer(D_800DC5DC, D_800DC5E0, 0x40, 0x20, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[temp_v0]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0xF800)); + copy_framebuffer(D_800DC5DC + 0x40, D_800DC5E0, 0x40, 0x20, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[temp_v0]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x10800)); + copy_framebuffer(D_800DC5DC, D_800DC5E0 + 0x20, 0x40, 0x20, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[temp_v0]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x11800)); + copy_framebuffer(D_800DC5DC + 0x40, D_800DC5E0 + 0x20, 0x40, 0x20, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[temp_v0]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x12800)); + copy_framebuffer(D_800DC5DC, D_800DC5E0 + 0x40, 0x40, 0x20, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[temp_v0]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x13800)); + copy_framebuffer(D_800DC5DC + 0x40, D_800DC5E0 + 0x40, 0x40, 0x20, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[temp_v0]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x14800)); } diff --git a/src/skybox_and_splitscreen.h b/src/skybox_and_splitscreen.h index 5e25a2829..bff92f8a3 100644 --- a/src/skybox_and_splitscreen.h +++ b/src/skybox_and_splitscreen.h @@ -48,7 +48,7 @@ void func_802A6BB0(); void func_802A6E94(); void func_802A7178(); void func_802A74BC(); -void func_802A7658(s32, s32, s32, s32, u16*, u16*); +void copy_framebuffer(s32, s32, s32, s32, u16*, u16*); void func_802A7728(); void func_802A7940(); diff --git a/src/spawn_players.c b/src/spawn_players.c index 61f9ef199..520860ace 100644 --- a/src/spawn_players.c +++ b/src/spawn_players.c @@ -9,7 +9,7 @@ #include "math_util.h" #include "code_80027D00.h" #include "code_80057C60.h" -#include "code_802AAA70.h" +#include "collision.h" #include "render_courses.h" #include "spawn_players.h" #include "code_80005FD0.h"