Assorted matches (#288)

* Matches in code_80071F00

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
This commit is contained in:
Tyler McGavran 2023-01-25 09:50:32 -05:00 committed by GitHub
parent ee64dad403
commit d1ebe06b29
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 125 additions and 772 deletions

View File

@ -1,71 +0,0 @@
glabel func_8002A79C
/* 02B39C 8002A79C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 02B3A0 8002A7A0 AFBF0014 */ sw $ra, 0x14($sp)
/* 02B3A4 8002A7A4 AFA5001C */ sw $a1, 0x1c($sp)
/* 02B3A8 8002A7A8 8C8200BC */ lw $v0, 0xbc($a0)
/* 02B3AC 8002A7AC 00057600 */ sll $t6, $a1, 0x18
/* 02B3B0 8002A7B0 000E7E03 */ sra $t7, $t6, 0x18
/* 02B3B4 8002A7B4 24060100 */ li $a2, 256
/* 02B3B8 8002A7B8 30430100 */ andi $v1, $v0, 0x100
/* 02B3BC 8002A7BC 10C30025 */ beq $a2, $v1, .L8002A854
/* 02B3C0 8002A7C0 01E02825 */ move $a1, $t7
/* 02B3C4 8002A7C4 30580010 */ andi $t8, $v0, 0x10
/* 02B3C8 8002A7C8 24010010 */ li $at, 16
/* 02B3CC 8002A7CC 13010021 */ beq $t8, $at, .L8002A854
/* 02B3D0 8002A7D0 00000000 */ nop
/* 02B3D4 8002A7D4 8499022A */ lh $t9, 0x22a($a0)
/* 02B3D8 8002A7D8 34480100 */ ori $t0, $v0, 0x100
/* 02B3DC 8002A7DC 3C098016 */ lui $t1, %hi(D_8015F890) # $t1, 0x8016
/* 02B3E0 8002A7E0 2B210002 */ slti $at, $t9, 2
/* 02B3E4 8002A7E4 1420001B */ bnez $at, .L8002A854
/* 02B3E8 8002A7E8 00000000 */ nop
/* 02B3EC 8002A7EC AC8800BC */ sw $t0, 0xbc($a0)
/* 02B3F0 8002A7F0 A480023A */ sh $zero, 0x23a($a0)
/* 02B3F4 8002A7F4 A480022A */ sh $zero, 0x22a($a0)
/* 02B3F8 8002A7F8 A4800228 */ sh $zero, 0x228($a0)
/* 02B3FC 8002A7FC 9529F890 */ lhu $t1, %lo(D_8015F890)($t1)
/* 02B400 8002A800 24010001 */ li $at, 1
/* 02B404 8002A804 3C0C800E */ lui $t4, %hi(gPlayerOne) # $t4, 0x800e
/* 02B408 8002A808 1121000B */ beq $t1, $at, .L8002A838
/* 02B40C 8002A80C 00000000 */ nop
/* 02B410 8002A810 94820000 */ lhu $v0, ($a0)
/* 02B414 8002A814 304A4000 */ andi $t2, $v0, 0x4000
/* 02B418 8002A818 1140001E */ beqz $t2, .L8002A894
/* 02B41C 8002A81C 304B0100 */ andi $t3, $v0, 0x100
/* 02B420 8002A820 5560001D */ bnel $t3, $zero, .L8002A898
/* 02B424 8002A824 8FBF0014 */ lw $ra, 0x14($sp)
/* 02B428 8002A828 0C032494 */ jal func_800C9250
/* 02B42C 8002A82C 31E400FF */ andi $a0, $t7, 0xff
/* 02B430 8002A830 10000019 */ b .L8002A898
/* 02B434 8002A834 8FBF0014 */ lw $ra, 0x14($sp)
.L8002A838:
/* 02B438 8002A838 8D8CC4DC */ lw $t4, %lo(gPlayerOne)($t4)
/* 02B43C 8002A83C 548C0016 */ bnel $a0, $t4, .L8002A898
/* 02B440 8002A840 8FBF0014 */ lw $ra, 0x14($sp)
/* 02B444 8002A844 0C032494 */ jal func_800C9250
/* 02B448 8002A848 30A400FF */ andi $a0, $a1, 0xff
/* 02B44C 8002A84C 10000012 */ b .L8002A898
/* 02B450 8002A850 8FBF0014 */ lw $ra, 0x14($sp)
.L8002A854:
/* 02B454 8002A854 54C30010 */ bnel $a2, $v1, .L8002A898
/* 02B458 8002A858 8FBF0014 */ lw $ra, 0x14($sp)
/* 02B45C 8002A85C 848D023A */ lh $t5, 0x23a($a0)
/* 02B460 8002A860 25AE0001 */ addiu $t6, $t5, 1
/* 02B464 8002A864 A48E023A */ sh $t6, 0x23a($a0)
/* 02B468 8002A868 848F023A */ lh $t7, 0x23a($a0)
/* 02B46C 8002A86C 29E1001F */ slti $at, $t7, 0x1f
/* 02B470 8002A870 54200009 */ bnel $at, $zero, .L8002A898
/* 02B474 8002A874 8FBF0014 */ lw $ra, 0x14($sp)
/* 02B478 8002A878 8C9800BC */ lw $t8, 0xbc($a0)
/* 02B47C 8002A87C 2401FEFF */ li $at, -257
/* 02B480 8002A880 A480023A */ sh $zero, 0x23a($a0)
/* 02B484 8002A884 0301C824 */ and $t9, $t8, $at
/* 02B488 8002A888 AC9900BC */ sw $t9, 0xbc($a0)
/* 02B48C 8002A88C A480022A */ sh $zero, 0x22a($a0)
/* 02B490 8002A890 A4800228 */ sh $zero, 0x228($a0)
.L8002A894:
/* 02B494 8002A894 8FBF0014 */ lw $ra, 0x14($sp)
.L8002A898:
/* 02B498 8002A898 27BD0018 */ addiu $sp, $sp, 0x18
/* 02B49C 8002A89C 03E00008 */ jr $ra
/* 02B4A0 8002A8A0 00000000 */ nop

View File

@ -1,66 +0,0 @@
glabel func_80078F64
/* 079B64 80078F64 3C02800E */ lui $v0, %hi(gScreenModeSelection) # $v0, 0x800e
/* 079B68 80078F68 8C42C530 */ lw $v0, %lo(gScreenModeSelection)($v0)
/* 079B6C 80078F6C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 079B70 80078F70 AFBF001C */ sw $ra, 0x1c($sp)
/* 079B74 80078F74 1040000C */ beqz $v0, .L80078FA8
/* 079B78 80078F78 AFB00018 */ sw $s0, 0x18($sp)
/* 079B7C 80078F7C 24010001 */ li $at, 1
/* 079B80 80078F80 10410019 */ beq $v0, $at, .L80078FE8
/* 079B84 80078F84 3C108018 */ lui $s0, %hi(D_80183DB8) # 0x8018
/* 079B88 80078F88 24010002 */ li $at, 2
/* 079B8C 80078F8C 1041000D */ beq $v0, $at, .L80078FC4
/* 079B90 80078F90 3C108018 */ lui $s0, %hi(D_80183DB8) # 0x8018
/* 079B94 80078F94 24010003 */ li $at, 3
/* 079B98 80078F98 1041001C */ beq $v0, $at, .L8007900C
/* 079B9C 80078F9C 3C108018 */ lui $s0, %hi(D_80183DB8) # 0x8018
/* 079BA0 80078FA0 10000028 */ b .L80079044
/* 079BA4 80078FA4 8FBF001C */ lw $ra, 0x1c($sp)
.L80078FA8:
/* 079BA8 80078FA8 3C108018 */ lui $s0, %hi(D_80183DB8) # $s0, 0x8018
/* 079BAC 80078FAC 26103DB8 */ addiu $s0, %lo(D_80183DB8) # addiu $s0, $s0, 0x3db8
/* 079BB0 80078FB0 8E040000 */ lw $a0, ($s0)
/* 079BB4 80078FB4 0C01C8E9 */ jal func_800723A4
/* 079BB8 80078FB8 24050001 */ li $a1, 1
/* 079BBC 80078FBC 10000021 */ b .L80079044
/* 079BC0 80078FC0 8FBF001C */ lw $ra, 0x1c($sp)
.L80078FC4:
/* 079BC4 80078FC4 26103DB8 */ addiu $s0, $s0, %lo(D_80183DB8) # 0x3db8
/* 079BC8 80078FC8 8E040000 */ lw $a0, ($s0)
/* 079BCC 80078FCC 0C01C8E9 */ jal func_800723A4
/* 079BD0 80078FD0 24050001 */ li $a1, 1
/* 079BD4 80078FD4 8E040004 */ lw $a0, 4($s0)
/* 079BD8 80078FD8 0C01C8E9 */ jal func_800723A4
/* 079BDC 80078FDC 24050001 */ li $a1, 1
/* 079BE0 80078FE0 10000018 */ b .L80079044
/* 079BE4 80078FE4 8FBF001C */ lw $ra, 0x1c($sp)
.L80078FE8:
/* 079BE8 80078FE8 26103DB8 */ addiu $s0, $s0, %lo(D_80183DB8) # 0x3db8
/* 079BEC 80078FEC 8E040000 */ lw $a0, ($s0)
/* 079BF0 80078FF0 0C01C8E9 */ jal func_800723A4
/* 079BF4 80078FF4 24050001 */ li $a1, 1
/* 079BF8 80078FF8 8E040004 */ lw $a0, 4($s0)
/* 079BFC 80078FFC 0C01C8E9 */ jal func_800723A4
/* 079C00 80079000 24050001 */ li $a1, 1
/* 079C04 80079004 1000000F */ b .L80079044
/* 079C08 80079008 8FBF001C */ lw $ra, 0x1c($sp)
.L8007900C:
/* 079C0C 8007900C 26103DB8 */ addiu $s0, $s0, %lo(D_80183DB8) # 0x3db8
/* 079C10 80079010 8E040000 */ lw $a0, ($s0)
/* 079C14 80079014 0C01C8E9 */ jal func_800723A4
/* 079C18 80079018 24050001 */ li $a1, 1
/* 079C1C 8007901C 8E040004 */ lw $a0, 4($s0)
/* 079C20 80079020 0C01C8E9 */ jal func_800723A4
/* 079C24 80079024 24050001 */ li $a1, 1
/* 079C28 80079028 8E040008 */ lw $a0, 8($s0)
/* 079C2C 8007902C 0C01C8E9 */ jal func_800723A4
/* 079C30 80079030 24050001 */ li $a1, 1
/* 079C34 80079034 8E04000C */ lw $a0, 0xc($s0)
/* 079C38 80079038 0C01C8E9 */ jal func_800723A4
/* 079C3C 8007903C 24050001 */ li $a1, 1
/* 079C40 80079040 8FBF001C */ lw $ra, 0x1c($sp)
.L80079044:
/* 079C44 80079044 8FB00018 */ lw $s0, 0x18($sp)
/* 079C48 80079048 27BD0020 */ addiu $sp, $sp, 0x20
/* 079C4C 8007904C 03E00008 */ jr $ra
/* 079C50 80079050 00000000 */ nop

View File

@ -1,49 +0,0 @@
glabel func_800797AC
/* 07A3AC 800797AC 000478C0 */ sll $t7, $a0, 3
/* 07A3B0 800797B0 01E47823 */ subu $t7, $t7, $a0
/* 07A3B4 800797B4 000F7900 */ sll $t7, $t7, 4
/* 07A3B8 800797B8 01E47823 */ subu $t7, $t7, $a0
/* 07A3BC 800797BC 3C19800E */ lui $t9, %hi(gCurrentCourseId) # $t9, 0x800e
/* 07A3C0 800797C0 8739C5A0 */ lh $t9, %lo(gCurrentCourseId)($t9)
/* 07A3C4 800797C4 000F7880 */ sll $t7, $t7, 2
/* 07A3C8 800797C8 3C18800E */ lui $t8, %hi(gPlayerOne) # $t8, 0x800e
/* 07A3CC 800797CC 8F18C4DC */ lw $t8, %lo(gPlayerOne)($t8)
/* 07A3D0 800797D0 00047080 */ sll $t6, $a0, 2
/* 07A3D4 800797D4 3C068018 */ lui $a2, %hi(D_80183DB8) # 0x8018
/* 07A3D8 800797D8 01E47823 */ subu $t7, $t7, $a0
/* 07A3DC 800797DC 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 07A3E0 800797E0 00CE3021 */ addu $a2, $a2, $t6
/* 07A3E4 800797E4 000F78C0 */ sll $t7, $t7, 3
/* 07A3E8 800797E8 2401000C */ li $at, 12
/* 07A3EC 800797EC AFBF0014 */ sw $ra, 0x14($sp)
/* 07A3F0 800797F0 8CC63DB8 */ lw $a2, %lo(D_80183DB8)($a2) # 0x3db8($a2)
/* 07A3F4 800797F4 1721000F */ bne $t9, $at, .L80079834
/* 07A3F8 800797F8 01F81021 */ addu $v0, $t7, $t8
/* 07A3FC 800797FC 844800CA */ lh $t0, 0xca($v0)
/* 07A400 80079800 00C02025 */ move $a0, $a2
/* 07A404 80079804 24050007 */ li $a1, 7
/* 07A408 80079808 31090001 */ andi $t1, $t0, 1
/* 07A40C 8007980C 5120000A */ beql $t1, $zero, .L80079838
/* 07A410 80079810 00C02025 */ move $a0, $a2
/* 07A414 80079814 AFA20018 */ sw $v0, 0x18($sp)
/* 07A418 80079818 0C01C8E9 */ jal func_800723A4
/* 07A41C 8007981C AFA6001C */ sw $a2, 0x1c($sp)
/* 07A420 80079820 8FA20018 */ lw $v0, 0x18($sp)
/* 07A424 80079824 844A00CA */ lh $t2, 0xca($v0)
/* 07A428 80079828 354B0010 */ ori $t3, $t2, 0x10
/* 07A42C 8007982C 10000005 */ b .L80079844
/* 07A430 80079830 A44B00CA */ sh $t3, 0xca($v0)
.L80079834:
/* 07A434 80079834 00C02025 */ move $a0, $a2
.L80079838:
/* 07A438 80079838 24050003 */ li $a1, 3
/* 07A43C 8007983C 0C01C8E9 */ jal func_800723A4
/* 07A440 80079840 AFA6001C */ sw $a2, 0x1c($sp)
.L80079844:
/* 07A444 80079844 8FA4001C */ lw $a0, 0x1c($sp)
/* 07A448 80079848 0C01C8A9 */ jal func_800722A4
/* 07A44C 8007984C 24050001 */ li $a1, 1
/* 07A450 80079850 8FBF0014 */ lw $ra, 0x14($sp)
/* 07A454 80079854 27BD0020 */ addiu $sp, $sp, 0x20
/* 07A458 80079858 03E00008 */ jr $ra
/* 07A45C 8007985C 00000000 */ nop

View File

@ -1,60 +0,0 @@
glabel func_80079860
/* 07A460 80079860 00803825 */ move $a3, $a0
/* 07A464 80079864 000778C0 */ sll $t7, $a3, 3
/* 07A468 80079868 01E77823 */ subu $t7, $t7, $a3
/* 07A46C 8007986C 000F7900 */ sll $t7, $t7, 4
/* 07A470 80079870 01E77823 */ subu $t7, $t7, $a3
/* 07A474 80079874 3C18800E */ lui $t8, %hi(gPlayerOne) # $t8, 0x800e
/* 07A478 80079878 8F18C4DC */ lw $t8, %lo(gPlayerOne)($t8)
/* 07A47C 8007987C 000F7880 */ sll $t7, $t7, 2
/* 07A480 80079880 00047080 */ sll $t6, $a0, 2
/* 07A484 80079884 01E77823 */ subu $t7, $t7, $a3
/* 07A488 80079888 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 07A48C 8007988C 3C048018 */ lui $a0, %hi(D_80183DB8) # 0x8018
/* 07A490 80079890 000F78C0 */ sll $t7, $t7, 3
/* 07A494 80079894 AFBF0014 */ sw $ra, 0x14($sp)
/* 07A498 80079898 008E2021 */ addu $a0, $a0, $t6
/* 07A49C 8007989C 01F83021 */ addu $a2, $t7, $t8
/* 07A4A0 800798A0 8C843DB8 */ lw $a0, %lo(D_80183DB8)($a0) # 0x3db8($a0)
/* 07A4A4 800798A4 AFA60018 */ sw $a2, 0x18($sp)
/* 07A4A8 800798A8 AFA70020 */ sw $a3, 0x20($sp)
/* 07A4AC 800798AC 0C01C8D5 */ jal func_80072354
/* 07A4B0 800798B0 24050001 */ li $a1, 1
/* 07A4B4 800798B4 1040001D */ beqz $v0, .L8007992C
/* 07A4B8 800798B8 8FA60018 */ lw $a2, 0x18($sp)
/* 07A4BC 800798BC 94C4011A */ lhu $a0, 0x11a($a2)
/* 07A4C0 800798C0 0C0AAF7D */ jal func_802ABDF4
/* 07A4C4 800798C4 AFA60018 */ sw $a2, 0x18($sp)
/* 07A4C8 800798C8 10400008 */ beqz $v0, .L800798EC
/* 07A4CC 800798CC 8FA60018 */ lw $a2, 0x18($sp)
/* 07A4D0 800798D0 3C014040 */ li $at, 0x40400000 # 3.000000
/* 07A4D4 800798D4 44812000 */ mtc1 $at, $f4
/* 07A4D8 800798D8 C4C60124 */ lwc1 $f6, 0x124($a2)
/* 07A4DC 800798DC 4604303E */ c.le.s $f6, $f4
/* 07A4E0 800798E0 00000000 */ nop
/* 07A4E4 800798E4 4501000D */ bc1t .L8007991C
/* 07A4E8 800798E8 00000000 */ nop
.L800798EC:
/* 07A4EC 800798EC 84D900CA */ lh $t9, 0xca($a2)
/* 07A4F0 800798F0 33280001 */ andi $t0, $t9, 1
/* 07A4F4 800798F4 15000009 */ bnez $t0, .L8007991C
/* 07A4F8 800798F8 00000000 */ nop
/* 07A4FC 800798FC 94C900F8 */ lhu $t1, 0xf8($a2)
/* 07A500 80079900 240100FD */ li $at, 253
/* 07A504 80079904 5521000A */ bnel $t1, $at, .L80079930
/* 07A508 80079908 8FBF0014 */ lw $ra, 0x14($sp)
/* 07A50C 8007990C 8CCA00BC */ lw $t2, 0xbc($a2)
/* 07A510 80079910 314B0008 */ andi $t3, $t2, 8
/* 07A514 80079914 55600006 */ bnel $t3, $zero, .L80079930
/* 07A518 80079918 8FBF0014 */ lw $ra, 0x14($sp)
.L8007991C:
/* 07A51C 8007991C 0C0241DE */ jal func_80090778
/* 07A520 80079920 00C02025 */ move $a0, $a2
/* 07A524 80079924 0C01E5EB */ jal func_800797AC
/* 07A528 80079928 8FA40020 */ lw $a0, 0x20($sp)
.L8007992C:
/* 07A52C 8007992C 8FBF0014 */ lw $ra, 0x14($sp)
.L80079930:
/* 07A530 80079930 27BD0020 */ addiu $sp, $sp, 0x20
/* 07A534 80079934 03E00008 */ jr $ra
/* 07A538 80079938 00000000 */ nop

View File

@ -1,44 +0,0 @@
glabel func_8007ABFC
/* 07B7FC 8007ABFC 00047140 */ sll $t6, $a0, 5
/* 07B800 8007AC00 01C47021 */ addu $t6, $t6, $a0
/* 07B804 8007AC04 3C0F8019 */ lui $t7, %hi(D_8018CA70) # $t7, 0x8019
/* 07B808 8007AC08 25EFCA70 */ addiu $t7, %lo(D_8018CA70) # addiu $t7, $t7, -0x3590
/* 07B80C 8007AC0C 000E7080 */ sll $t6, $t6, 2
/* 07B810 8007AC10 01CF1821 */ addu $v1, $t6, $t7
/* 07B814 8007AC14 80780070 */ lb $t8, 0x70($v1)
/* 07B818 8007AC18 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 07B81C 8007AC1C AFBF0014 */ sw $ra, 0x14($sp)
/* 07B820 8007AC20 AFA50024 */ sw $a1, 0x24($sp)
/* 07B824 8007AC24 17000019 */ bnez $t8, .L8007AC8C
/* 07B828 8007AC28 00803025 */ move $a2, $a0
/* 07B82C 8007AC2C 0004C880 */ sll $t9, $a0, 2
/* 07B830 8007AC30 3C048018 */ lui $a0, %hi(gItemWindowObjectByPlayerId) # 0x8018
/* 07B834 8007AC34 00992021 */ addu $a0, $a0, $t9
/* 07B838 8007AC38 8C843E88 */ lw $a0, %lo(gItemWindowObjectByPlayerId)($a0) # 0x3e88($a0)
/* 07B83C 8007AC3C 24050004 */ li $a1, 4
/* 07B840 8007AC40 AFA30018 */ sw $v1, 0x18($sp)
/* 07B844 8007AC44 AFA60020 */ sw $a2, 0x20($sp)
/* 07B848 8007AC48 0C01C8D5 */ jal func_80072354
/* 07B84C 8007AC4C AFA4001C */ sw $a0, 0x1c($sp)
/* 07B850 8007AC50 8FA30018 */ lw $v1, 0x18($sp)
/* 07B854 8007AC54 10400009 */ beqz $v0, .L8007AC7C
/* 07B858 8007AC58 8FA4001C */ lw $a0, 0x1c($sp)
/* 07B85C 8007AC5C 00002825 */ move $a1, $zero
/* 07B860 8007AC60 0C01C8E9 */ jal func_800723A4
/* 07B864 8007AC64 AFA30018 */ sw $v1, 0x18($sp)
/* 07B868 8007AC68 8FA20024 */ lw $v0, 0x24($sp)
/* 07B86C 8007AC6C 8FA30018 */ lw $v1, 0x18($sp)
/* 07B870 8007AC70 50400003 */ beql $v0, $zero, .L8007AC80
/* 07B874 8007AC74 3C051900 */ lui $a1, 0x1900
/* 07B878 8007AC78 A0620076 */ sb $v0, 0x76($v1)
.L8007AC7C:
/* 07B87C 8007AC7C 3C051900 */ lui $a1, (0x19008406 >> 16) # lui $a1, 0x1900
.L8007AC80:
/* 07B880 8007AC80 34A58406 */ ori $a1, (0x19008406 & 0xFFFF) # ori $a1, $a1, 0x8406
/* 07B884 8007AC84 0C032418 */ jal func_800C9060
/* 07B888 8007AC88 93A40023 */ lbu $a0, 0x23($sp)
.L8007AC8C:
/* 07B88C 8007AC8C 8FBF0014 */ lw $ra, 0x14($sp)
/* 07B890 8007AC90 27BD0020 */ addiu $sp, $sp, 0x20
/* 07B894 8007AC94 03E00008 */ jr $ra
/* 07B898 8007AC98 00000000 */ nop

View File

@ -1,71 +0,0 @@
glabel func_8007AC9C
/* 07B89C 8007AC9C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 07B8A0 8007ACA0 AFB00014 */ sw $s0, 0x14($sp)
/* 07B8A4 8007ACA4 3C108018 */ lui $s0, %hi(gItemWindowObjectByPlayerId) # 0x8018
/* 07B8A8 8007ACA8 0004C080 */ sll $t8, $a0, 2
/* 07B8AC 8007ACAC 02188021 */ addu $s0, $s0, $t8
/* 07B8B0 8007ACB0 8E103E88 */ lw $s0, %lo(gItemWindowObjectByPlayerId)($s0) # 0x3e88($s0)
/* 07B8B4 8007ACB4 000470C0 */ sll $t6, $a0, 3
/* 07B8B8 8007ACB8 01C47023 */ subu $t6, $t6, $a0
/* 07B8BC 8007ACBC 0010C8C0 */ sll $t9, $s0, 3
/* 07B8C0 8007ACC0 3C088016 */ lui $t0, %hi(D_80165C18) # $t0, 0x8016
/* 07B8C4 8007ACC4 0330C823 */ subu $t9, $t9, $s0
/* 07B8C8 8007ACC8 AFB10018 */ sw $s1, 0x18($sp)
/* 07B8CC 8007ACCC 000E7100 */ sll $t6, $t6, 4
/* 07B8D0 8007ACD0 0019C940 */ sll $t9, $t9, 5
/* 07B8D4 8007ACD4 25085C18 */ addiu $t0, %lo(D_80165C18) # addiu $t0, $t0, 0x5c18
/* 07B8D8 8007ACD8 01C47023 */ subu $t6, $t6, $a0
/* 07B8DC 8007ACDC 03288821 */ addu $s1, $t9, $t0
/* 07B8E0 8007ACE0 862900A4 */ lh $t1, 0xa4($s1)
/* 07B8E4 8007ACE4 000E7080 */ sll $t6, $t6, 2
/* 07B8E8 8007ACE8 3C0F800E */ lui $t7, %hi(gPlayerOne) # $t7, 0x800e
/* 07B8EC 8007ACEC 8DEFC4DC */ lw $t7, %lo(gPlayerOne)($t7)
/* 07B8F0 8007ACF0 01C47023 */ subu $t6, $t6, $a0
/* 07B8F4 8007ACF4 000E70C0 */ sll $t6, $t6, 3
/* 07B8F8 8007ACF8 2401000F */ li $at, 15
/* 07B8FC 8007ACFC AFBF001C */ sw $ra, 0x1c($sp)
/* 07B900 8007AD00 1521001F */ bne $t1, $at, .L8007AD80
/* 07B904 8007AD04 01CF1021 */ addu $v0, $t6, $t7
/* 07B908 8007AD08 02002025 */ move $a0, $s0
/* 07B90C 8007AD0C 24050002 */ li $a1, 2
/* 07B910 8007AD10 0C01C8D5 */ jal func_80072354
/* 07B914 8007AD14 AFA20020 */ sw $v0, 0x20($sp)
/* 07B918 8007AD18 10400008 */ beqz $v0, .L8007AD3C
/* 07B91C 8007AD1C 02002025 */ move $a0, $s0
/* 07B920 8007AD20 0C01C8A9 */ jal func_800722A4
/* 07B924 8007AD24 24050002 */ li $a1, 2
/* 07B928 8007AD28 240A0258 */ li $t2, 600
/* 07B92C 8007AD2C A62A0098 */ sh $t2, 0x98($s1)
/* 07B930 8007AD30 02002025 */ move $a0, $s0
/* 07B934 8007AD34 0C01C9B3 */ jal func_800726CC
/* 07B938 8007AD38 24050032 */ li $a1, 50
.L8007AD3C:
/* 07B93C 8007AD3C 962B0098 */ lhu $t3, 0x98($s1)
/* 07B940 8007AD40 02002025 */ move $a0, $s0
/* 07B944 8007AD44 55600014 */ bnel $t3, $zero, .L8007AD98
/* 07B948 8007AD48 8FBF001C */ lw $ra, 0x1c($sp)
/* 07B94C 8007AD4C 0C01C8B3 */ jal func_800722CC
/* 07B950 8007AD50 24050002 */ li $a1, 2
/* 07B954 8007AD54 8FAC0020 */ lw $t4, 0x20($sp)
/* 07B958 8007AD58 02002025 */ move $a0, $s0
/* 07B95C 8007AD5C 00002825 */ move $a1, $zero
/* 07B960 8007AD60 A5800010 */ sh $zero, 0x10($t4)
/* 07B964 8007AD64 0C01C8E2 */ jal func_80072388
/* 07B968 8007AD68 A62000A4 */ sh $zero, 0xa4($s1)
/* 07B96C 8007AD6C 02002025 */ move $a0, $s0
/* 07B970 8007AD70 0C01C9B3 */ jal func_800726CC
/* 07B974 8007AD74 24050009 */ li $a1, 9
/* 07B978 8007AD78 10000007 */ b .L8007AD98
/* 07B97C 8007AD7C 8FBF001C */ lw $ra, 0x1c($sp)
.L8007AD80:
/* 07B980 8007AD80 A4400010 */ sh $zero, 0x10($v0)
/* 07B984 8007AD84 A62000A4 */ sh $zero, 0xa4($s1)
/* 07B988 8007AD88 02002025 */ move $a0, $s0
/* 07B98C 8007AD8C 0C01C8E2 */ jal func_80072388
/* 07B990 8007AD90 00002825 */ move $a1, $zero
/* 07B994 8007AD94 8FBF001C */ lw $ra, 0x1c($sp)
.L8007AD98:
/* 07B998 8007AD98 8FB00014 */ lw $s0, 0x14($sp)
/* 07B99C 8007AD9C 8FB10018 */ lw $s1, 0x18($sp)
/* 07B9A0 8007ADA0 03E00008 */ jr $ra
/* 07B9A4 8007ADA4 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,104 +0,0 @@
glabel func_8007F75C
/* 08035C 8007F75C 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 080360 8007F760 00047040 */ sll $t6, $a0, 1
/* 080364 8007F764 3C028016 */ lui $v0, %hi(gNearestWaypointByPlayerId) # 0x8016
/* 080368 8007F768 004E1021 */ addu $v0, $v0, $t6
/* 08036C 8007F76C 94424438 */ lhu $v0, %lo(gNearestWaypointByPlayerId)($v0) # 0x4438($v0)
/* 080370 8007F770 AFB6002C */ sw $s6, 0x2c($sp)
/* 080374 8007F774 AFB50028 */ sw $s5, 0x28($sp)
/* 080378 8007F778 284100AA */ slti $at, $v0, 0xaa
/* 08037C 8007F77C 0080A825 */ move $s5, $a0
/* 080380 8007F780 AFBF0034 */ sw $ra, 0x34($sp)
/* 080384 8007F784 AFB70030 */ sw $s7, 0x30($sp)
/* 080388 8007F788 AFB40024 */ sw $s4, 0x24($sp)
/* 08038C 8007F78C AFB30020 */ sw $s3, 0x20($sp)
/* 080390 8007F790 AFB2001C */ sw $s2, 0x1c($sp)
/* 080394 8007F794 AFB10018 */ sw $s1, 0x18($sp)
/* 080398 8007F798 AFB00014 */ sw $s0, 0x14($sp)
/* 08039C 8007F79C 14200024 */ bnez $at, .L8007F830
/* 0803A0 8007F7A0 0000B025 */ move $s6, $zero
/* 0803A4 8007F7A4 284100B5 */ slti $at, $v0, 0xb5
/* 0803A8 8007F7A8 50200022 */ beql $at, $zero, .L8007F834
/* 0803AC 8007F7AC 284100D7 */ slti $at, $v0, 0xd7
/* 0803B0 8007F7B0 0C0ADF8D */ jal random_int
/* 0803B4 8007F7B4 24040032 */ li $a0, 50
/* 0803B8 8007F7B8 3C038016 */ lui $v1, %hi(D_80165750) # $v1, 0x8016
/* 0803BC 8007F7BC 84635750 */ lh $v1, %lo(D_80165750)($v1)
/* 0803C0 8007F7C0 24570032 */ addiu $s7, $v0, 0x32
/* 0803C4 8007F7C4 00008025 */ move $s0, $zero
/* 0803C8 8007F7C8 18600037 */ blez $v1, .L8007F8A8
/* 0803CC 8007F7CC 3C118018 */ lui $s1, %hi(D_80183EA0) # $s1, 0x8018
/* 0803D0 8007F7D0 3C138016 */ lui $s3, %hi(D_80165C18) # $s3, 0x8016
/* 0803D4 8007F7D4 26735C18 */ addiu $s3, %lo(D_80165C18) # addiu $s3, $s3, 0x5c18
/* 0803D8 8007F7D8 26313EA0 */ addiu $s1, %lo(D_80183EA0) # addiu $s1, $s1, 0x3ea0
/* 0803DC 8007F7DC 241400E0 */ li $s4, 224
/* 0803E0 8007F7E0 24120003 */ li $s2, 3
.L8007F7E4:
/* 0803E4 8007F7E4 8E240000 */ lw $a0, ($s1)
/* 0803E8 8007F7E8 02A02825 */ move $a1, $s5
/* 0803EC 8007F7EC 02E03025 */ move $a2, $s7
/* 0803F0 8007F7F0 00940019 */ multu $a0, $s4
/* 0803F4 8007F7F4 00007812 */ mflo $t7
/* 0803F8 8007F7F8 026FC021 */ addu $t8, $s3, $t7
/* 0803FC 8007F7FC 931900D5 */ lbu $t9, 0xd5($t8)
/* 080400 8007F800 56590006 */ bnel $s2, $t9, .L8007F81C
/* 080404 8007F804 26100001 */ addiu $s0, $s0, 1
/* 080408 8007F808 0C01FD98 */ jal func_8007F660
/* 08040C 8007F80C 24160001 */ li $s6, 1
/* 080410 8007F810 3C038016 */ lui $v1, %hi(D_80165750) # $v1, 0x8016
/* 080414 8007F814 84635750 */ lh $v1, %lo(D_80165750)($v1)
/* 080418 8007F818 26100001 */ addiu $s0, $s0, 1
.L8007F81C:
/* 08041C 8007F81C 0203082A */ slt $at, $s0, $v1
/* 080420 8007F820 1420FFF0 */ bnez $at, .L8007F7E4
/* 080424 8007F824 26310004 */ addiu $s1, $s1, 4
/* 080428 8007F828 10000020 */ b .L8007F8AC
/* 08042C 8007F82C 8FBF0034 */ lw $ra, 0x34($sp)
.L8007F830:
/* 080430 8007F830 284100D7 */ slti $at, $v0, 0xd7
.L8007F834:
/* 080434 8007F834 1420001C */ bnez $at, .L8007F8A8
/* 080438 8007F838 284100E2 */ slti $at, $v0, 0xe2
/* 08043C 8007F83C 1020001A */ beqz $at, .L8007F8A8
/* 080440 8007F840 3C038016 */ lui $v1, %hi(D_80165750) # $v1, 0x8016
/* 080444 8007F844 84635750 */ lh $v1, %lo(D_80165750)($v1)
/* 080448 8007F848 3C118018 */ lui $s1, %hi(D_80183EA0) # $s1, 0x8018
/* 08044C 8007F84C 26313EA0 */ addiu $s1, %lo(D_80183EA0) # addiu $s1, $s1, 0x3ea0
/* 080450 8007F850 18600015 */ blez $v1, .L8007F8A8
/* 080454 8007F854 00008025 */ move $s0, $zero
/* 080458 8007F858 3C138016 */ lui $s3, %hi(D_80165C18) # $s3, 0x8016
/* 08045C 8007F85C 26735C18 */ addiu $s3, %lo(D_80165C18) # addiu $s3, $s3, 0x5c18
/* 080460 8007F860 241400E0 */ li $s4, 224
/* 080464 8007F864 24120003 */ li $s2, 3
.L8007F868:
/* 080468 8007F868 8E240000 */ lw $a0, ($s1)
/* 08046C 8007F86C 02A02825 */ move $a1, $s5
/* 080470 8007F870 00940019 */ multu $a0, $s4
/* 080474 8007F874 00004012 */ mflo $t0
/* 080478 8007F878 02684821 */ addu $t1, $s3, $t0
/* 08047C 8007F87C 912A00D5 */ lbu $t2, 0xd5($t1)
/* 080480 8007F880 564A0006 */ bnel $s2, $t2, .L8007F89C
/* 080484 8007F884 26100001 */ addiu $s0, $s0, 1
/* 080488 8007F888 0C01FDB1 */ jal func_8007F6C4
/* 08048C 8007F88C 24160001 */ li $s6, 1
/* 080490 8007F890 3C038016 */ lui $v1, %hi(D_80165750) # $v1, 0x8016
/* 080494 8007F894 84635750 */ lh $v1, %lo(D_80165750)($v1)
/* 080498 8007F898 26100001 */ addiu $s0, $s0, 1
.L8007F89C:
/* 08049C 8007F89C 0203082A */ slt $at, $s0, $v1
/* 0804A0 8007F8A0 1420FFF1 */ bnez $at, .L8007F868
/* 0804A4 8007F8A4 26310004 */ addiu $s1, $s1, 4
.L8007F8A8:
/* 0804A8 8007F8A8 8FBF0034 */ lw $ra, 0x34($sp)
.L8007F8AC:
/* 0804AC 8007F8AC 02C01025 */ move $v0, $s6
/* 0804B0 8007F8B0 8FB6002C */ lw $s6, 0x2c($sp)
/* 0804B4 8007F8B4 8FB00014 */ lw $s0, 0x14($sp)
/* 0804B8 8007F8B8 8FB10018 */ lw $s1, 0x18($sp)
/* 0804BC 8007F8BC 8FB2001C */ lw $s2, 0x1c($sp)
/* 0804C0 8007F8C0 8FB30020 */ lw $s3, 0x20($sp)
/* 0804C4 8007F8C4 8FB40024 */ lw $s4, 0x24($sp)
/* 0804C8 8007F8C8 8FB50028 */ lw $s5, 0x28($sp)
/* 0804CC 8007F8CC 8FB70030 */ lw $s7, 0x30($sp)
/* 0804D0 8007F8D0 03E00008 */ jr $ra
/* 0804D4 8007F8D4 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,85 +0,0 @@
glabel func_8007F8D8
/* 0804D8 8007F8D8 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0804DC 8007F8DC 3C038016 */ lui $v1, %hi(D_80165750) # $v1, 0x8016
/* 0804E0 8007F8E0 84635750 */ lh $v1, %lo(D_80165750)($v1)
/* 0804E4 8007F8E4 AFB30020 */ sw $s3, 0x20($sp)
/* 0804E8 8007F8E8 AFB40024 */ sw $s4, 0x24($sp)
/* 0804EC 8007F8EC AFB10018 */ sw $s1, 0x18($sp)
/* 0804F0 8007F8F0 3C13800E */ lui $s3, %hi(gPlayerOne) # $s3, 0x800e
/* 0804F4 8007F8F4 AFBF0034 */ sw $ra, 0x34($sp)
/* 0804F8 8007F8F8 AFB70030 */ sw $s7, 0x30($sp)
/* 0804FC 8007F8FC AFB6002C */ sw $s6, 0x2c($sp)
/* 080500 8007F900 AFB50028 */ sw $s5, 0x28($sp)
/* 080504 8007F904 AFB2001C */ sw $s2, 0x1c($sp)
/* 080508 8007F908 AFB00014 */ sw $s0, 0x14($sp)
/* 08050C 8007F90C 8E73C4DC */ lw $s3, %lo(gPlayerOne)($s3)
/* 080510 8007F910 24140001 */ li $s4, 1
/* 080514 8007F914 18600022 */ blez $v1, .L8007F9A0
/* 080518 8007F918 00008825 */ move $s1, $zero
/* 08051C 8007F91C 3C128018 */ lui $s2, %hi(D_80183EA0) # $s2, 0x8018
/* 080520 8007F920 3C168016 */ lui $s6, %hi(D_80165C18) # $s6, 0x8016
/* 080524 8007F924 26D65C18 */ addiu $s6, %lo(D_80165C18) # addiu $s6, $s6, 0x5c18
/* 080528 8007F928 26523EA0 */ addiu $s2, %lo(D_80183EA0) # addiu $s2, $s2, 0x3ea0
/* 08052C 8007F92C 241700E0 */ li $s7, 224
/* 080530 8007F930 24150003 */ li $s5, 3
.L8007F934:
/* 080534 8007F934 8E440000 */ lw $a0, ($s2)
/* 080538 8007F938 00970019 */ multu $a0, $s7
/* 08053C 8007F93C 00007012 */ mflo $t6
/* 080540 8007F940 02CE1021 */ addu $v0, $s6, $t6
/* 080544 8007F944 904F00D5 */ lbu $t7, 0xd5($v0)
/* 080548 8007F948 56AF0012 */ bnel $s5, $t7, .L8007F994
/* 08054C 8007F94C 26310001 */ addiu $s1, $s1, 1
/* 080550 8007F950 845800A6 */ lh $t8, 0xa6($v0)
/* 080554 8007F954 00008025 */ move $s0, $zero
/* 080558 8007F958 2B010002 */ slti $at, $t8, 2
/* 08055C 8007F95C 14200006 */ bnez $at, .L8007F978
/* 080560 8007F960 00000000 */ nop
/* 080564 8007F964 0C01C8D5 */ jal func_80072354
/* 080568 8007F968 24050008 */ li $a1, 8
/* 08056C 8007F96C 10400002 */ beqz $v0, .L8007F978
/* 080570 8007F970 00000000 */ nop
/* 080574 8007F974 24100001 */ li $s0, 1
.L8007F978:
/* 080578 8007F978 02900019 */ multu $s4, $s0
/* 08057C 8007F97C 3C038016 */ lui $v1, %hi(D_80165750) # $v1, 0x8016
/* 080580 8007F980 84635750 */ lh $v1, %lo(D_80165750)($v1)
/* 080584 8007F984 0000A012 */ mflo $s4
/* 080588 8007F988 00000000 */ nop
/* 08058C 8007F98C 00000000 */ nop
/* 080590 8007F990 26310001 */ addiu $s1, $s1, 1
.L8007F994:
/* 080594 8007F994 0223082A */ slt $at, $s1, $v1
/* 080598 8007F998 1420FFE6 */ bnez $at, .L8007F934
/* 08059C 8007F99C 26520004 */ addiu $s2, $s2, 4
.L8007F9A0:
/* 0805A0 8007F9A0 1280000E */ beqz $s4, .L8007F9DC
/* 0805A4 8007F9A4 00008025 */ move $s0, $zero
/* 0805A8 8007F9A8 24110004 */ li $s1, 4
.L8007F9AC:
/* 0805AC 8007F9AC 96620000 */ lhu $v0, ($s3)
/* 0805B0 8007F9B0 30598000 */ andi $t9, $v0, 0x8000
/* 0805B4 8007F9B4 13200006 */ beqz $t9, .L8007F9D0
/* 0805B8 8007F9B8 30481000 */ andi $t0, $v0, 0x1000
/* 0805BC 8007F9BC 55000005 */ bnel $t0, $zero, .L8007F9D4
/* 0805C0 8007F9C0 26100001 */ addiu $s0, $s0, 1
/* 0805C4 8007F9C4 0C01FDD7 */ jal func_8007F75C
/* 0805C8 8007F9C8 02002025 */ move $a0, $s0
/* 0805CC 8007F9CC 14400003 */ bnez $v0, .L8007F9DC
.L8007F9D0:
/* 0805D0 8007F9D0 26100001 */ addiu $s0, $s0, 1
.L8007F9D4:
/* 0805D4 8007F9D4 1611FFF5 */ bne $s0, $s1, .L8007F9AC
/* 0805D8 8007F9D8 26730DD8 */ addiu $s3, $s3, 0xdd8
.L8007F9DC:
/* 0805DC 8007F9DC 8FBF0034 */ lw $ra, 0x34($sp)
/* 0805E0 8007F9E0 8FB00014 */ lw $s0, 0x14($sp)
/* 0805E4 8007F9E4 8FB10018 */ lw $s1, 0x18($sp)
/* 0805E8 8007F9E8 8FB2001C */ lw $s2, 0x1c($sp)
/* 0805EC 8007F9EC 8FB30020 */ lw $s3, 0x20($sp)
/* 0805F0 8007F9F0 8FB40024 */ lw $s4, 0x24($sp)
/* 0805F4 8007F9F4 8FB50028 */ lw $s5, 0x28($sp)
/* 0805F8 8007F9F8 8FB6002C */ lw $s6, 0x2c($sp)
/* 0805FC 8007F9FC 8FB70030 */ lw $s7, 0x30($sp)
/* 080600 8007FA00 03E00008 */ jr $ra
/* 080604 8007FA04 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -510,7 +510,8 @@ typedef struct {
/* 0x73 */ s8 blinkState;
/* 0x74 */ s8 unk_74;
/* 0x75 */ s8 unk_75;
/* 0x76 */ s16 itemOverride; // Something related to item generation. If non-zero, it determines the item you get
/* 0x76 */ s8 itemOverride; // Something related to item generation. If non-zero, it determines the item you get
/* 0x77 */ s8 unk_77;
// 0x78 to 0x7F appear to be some type of "state" trackers for the lap and timer text during a race start
// When a race starts those texts (and their afterimages) slide in and "bounce" a bit. These states control the bouncing (somehow)
/* 0x78 */ s8 unk_78;

View File

@ -34,7 +34,7 @@ typedef struct
/* 0x7C */ s32 unk_07C;
/* 0x80 */ s32 unk_080;
/* 0x84 */ s16 unk_084[0xA];
/* 0x98 */ s16 unk_098;
/* 0x98 */ u16 unk_098;
/* 0x9A */ s16 unk_09A;
/* 0x9C */ s16 unk_09C;
/* 0x9E */ s16 unk_09E;
@ -80,12 +80,16 @@ typedef struct
// This is the object list
extern struct_80165C18_entry D_80165C18[];
// This is another list of indices in D_80165C18.
// This are other lists of indices in D_80165C18.
extern s32 D_80183DB8[];
extern s32 D_80183DD8[];
// Appears to be a list of object list indices for the Item Window part of the HUD
extern s32 gItemWindowObjectByPlayerId[];
// Used for loop bounds when accessing D_80183EA0
extern s16 D_80165750;
/**
* D_80183EA0, D_80183F28, D_8018BFA8, and D_8018C030 are all lists of indices in D_80165C18.
* func_80070190 initializes them in such a way that the indicies in each list are not adjacent.

View File

@ -267,12 +267,6 @@ s16 func_80004DFC(u32 arg0, u32 arg1, s16 arg2, s16 arg3) {
GLOBAL_ASM("asm/non_matchings/code_80004740/func_80004DFC.s")
#endif
struct stru_80004EAC {
s32 unk0;
s32 unk4;
s16 unk8;
};
s16 func_80004EAC(void *addr, s16 offset) {
uintptr_t *item = segmented_to_virtual(addr);
struct stru_80004EAC *temp = segmented_to_virtual(item[offset]);

View File

@ -3,9 +3,16 @@
#include "common_structs.h"
struct stru_80004EAC {
s32 unk0;
s32 unk4;
s16 unk8;
};
/* Function Prototypes */
void func_80004740(Mtx *dest, Mat4 src);
void func_800048D8(Mat4 dest, Vec3f b, Vec3s c);
s16 func_80004EAC(void*, s16);
#endif

View File

@ -1218,31 +1218,20 @@ void func_8002A704(Player *player, s8 arg1) {
player->boostTimer = 0x0050;
}
#ifdef MIPS_TO_C
//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c
? func_800C9250(s32, s8, s32); /* extern */
void func_8002A79C(Player *player, s8 arg1) {
s32 temp_v0;
s32 temp_v1;
u16 temp_v0_2;
temp_v0 = player->unk_0BC;
temp_v1 = temp_v0 & 0x100;
if ((temp_v1 != 0x100) && ((temp_v0 & 0x10) != 0x10) && (player->unk_22A >= 2)) {
player->unk_0BC = temp_v0 | 0x100;
if (((player->unk_0BC & 0x100) != 0x100) && ((player->unk_0BC & 0x10) != 0x10) && (player->unk_22A >= 2)) {
player->unk_0BC |= 0x100;
player->unk_23A = 0;
player->unk_22A = 0;
player->unk_228 = 0;
if (D_8015F890 != 1) {
temp_v0_2 = player->unk_000;
if ((temp_v0_2 & 0x4000) && !(temp_v0_2 & 0x100)) {
func_800C9250(arg1 & 0xFF, arg1, 0x100);
if ((player->unk_000 & 0x4000) && !(player->unk_000 & 0x100)) {
func_800C9250(arg1);
}
} else if (player == gPlayerOne) {
func_800C9250(arg1 & 0xFF, arg1, 0x100);
func_800C9250(arg1);
}
} else if (temp_v1 == 0x100) {
} else if ((player->unk_0BC & 0x100) == 0x100) {
player->unk_23A += 1;
if (player->unk_23A >= 0x1F) {
player->unk_23A = 0;
@ -1252,9 +1241,6 @@ void func_8002A79C(Player *player, s8 arg1) {
}
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80027D00/func_8002A79C.s")
#endif
void func_8002A8A4(Player *player, s8 arg1) {
if (((s16) player->unk_0C0 / 182) > 0) {

View File

@ -19,6 +19,7 @@ void func_8002934C(Player*, Camera*, s8, s8);
void func_8002A194(Player*, f32, f32, f32);
void func_8002A5F4(Vec3f, f32, Vec3f, f32, f32);
void func_8002A704(Player*, s8);
void func_8002A79C(Player*, s8);
void func_8002A8A4(Player*, s8);
void func_8002AA50(Player*);
void func_8002AAC0(Player*);

View File

@ -3184,36 +3184,27 @@ void func_80078C70(u32 arg0) {
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80078C70.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
extern s32 D_80183DB8;
void func_80078F64(void) {
s32 temp_v0;
switch (gScreenModeSelection) { /* irregular */
case SCREEN_MODE_1P:
func_800723A4(D_80183DB8.unk0, 1);
return;
func_800723A4(D_80183DB8[0], 1);
break;
case SCREEN_MODE_2P_SPLITSCREEN_VERTICAL:
func_800723A4(D_80183DB8.unk0, 1);
func_800723A4(D_80183DB8.unk4, 1);
return;
func_800723A4(D_80183DB8[0], 1);
func_800723A4(D_80183DB8[1], 1);
break;
case SCREEN_MODE_2P_SPLITSCREEN_HORIZONTAL:
func_800723A4(D_80183DB8.unk0, 1);
func_800723A4(D_80183DB8.unk4, 1);
return;
func_800723A4(D_80183DB8[0], 1);
func_800723A4(D_80183DB8[1], 1);
break;
case SCREEN_MODE_3P_4P_SPLITSCREEN:
func_800723A4(D_80183DB8.unk0, 1);
func_800723A4(D_80183DB8.unk4, 1);
func_800723A4(D_80183DB8.unk8, 1);
func_800723A4(D_80183DB8.unkC, 1);
return;
func_800723A4(D_80183DB8[0], 1);
func_800723A4(D_80183DB8[1], 1);
func_800723A4(D_80183DB8[2], 1);
func_800723A4(D_80183DB8[3], 1);
break;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80078F64.s")
#endif
void func_80079054(s32 arg0) {
func_800723A4(D_80183DB8[arg0], 2);
@ -3502,53 +3493,38 @@ void func_80079700(s32 objectIndex) {
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80079700.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
extern s32 D_80183DB8;
s16 gCurrentCourseId; /* unable to generate initializer */
void func_800797AC(s32 playerId) {
s32 sp1C;
Player *sp18;
Player *temp_v0;
s32 temp_a2;
s32 objectIndex;
Player *player;
temp_a2 = *(&D_80183DB8 + (playerId * 4));
temp_v0 = &gPlayerOne[playerId];
if ((gCurrentCourseId == 0x000C) && (temp_v0->unk_0CA & 1)) {
sp18 = temp_v0;
sp1C = temp_a2;
func_800723A4(temp_a2, 7);
temp_v0->unk_0CA |= 0x10;
objectIndex = D_80183DB8[playerId];
player = &gPlayerOne[playerId];
if ((gCurrentCourseId == COURSE_SHERBET_LAND) && (player->unk_0CA & 1)) {
func_800723A4(objectIndex, 7);
player->unk_0CA |= 0x10;
} else {
sp1C = temp_a2;
func_800723A4(temp_a2, 3);
func_800723A4(objectIndex, 3);
}
func_800722A4(sp1C, 1);
func_800722A4(objectIndex, 1);
}
#else
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_800797AC.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
void func_800797AC(s32); /* extern */
extern s32 D_80183DB8;
void func_80079860(s32 playerId) {
Player *sp18;
Player *temp_a2;
s32 objectIndex;
Player *player;
temp_a2 = &gPlayerOne[playerId];
sp18 = temp_a2;
if ((func_80072354(*(&D_80183DB8 + (playerId * 4)), 1) != 0) && (((sp18 = temp_a2, (func_802ABDF4(temp_a2->unk_110.unk3A) != 0)) && (temp_a2->unk_110.unk44 <= 3.0f)) || (temp_a2->unk_0CA & 1) || ((temp_a2->unk_0F8 == 0x00FD) && !(temp_a2->unk_0BC & 8)))) {
func_80090778(temp_a2);
objectIndex = D_80183DB8[playerId];
player = &gPlayerOne[playerId];
if ((func_80072354(objectIndex, 1) != 0) &&
(
((func_802ABDF4(player->unk_110.unk3A) != 0) && (player->unk_110.unk3C[2] <= 3.0f)) ||
(player->unk_0CA & 1) ||
((player->unk_0F8 == 0x00FD) && !(player->unk_0BC & 8))
)
) {
func_80090778(player);
func_800797AC(playerId);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80079860.s")
#endif
void func_8007993C(s32 objectIndex, Player *player) {
if (player->unk_0CA & 4) {
@ -4164,74 +4140,49 @@ void func_8007AA44(s32 arg0) {
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007AA44.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
extern s32 gItemWindowObjectByPlayerId;
void func_8007ABFC(s32 playerId, s32 arg1) {
s32 itemWindow;
/**
* Give item
*/
void func_8007ABFC(u8 arg0, s32 arg1) {
s32 sp1C;
struct_8018CA70_entry *sp18;
s32 temp_a0;
struct_8018CA70_entry *temp_v1;
temp_v1 = &D_8018CA70[arg0];
if (temp_v1->raceCompleteBool == 0) {
temp_a0 = *(&gItemWindowObjectByPlayerId + (arg0 * 4));
sp18 = temp_v1;
sp1C = temp_a0;
if (func_80072354(temp_a0, 4) != 0) {
sp18 = temp_v1;
func_800723A4(temp_a0, 0);
if (D_8018CA70[playerId].raceCompleteBool == 0) {
itemWindow = gItemWindowObjectByPlayerId[playerId];
if (func_80072354(itemWindow, 4) != 0) {
func_800723A4(itemWindow, 0);
if (arg1 != 0) {
temp_v1->unk76 = (s8) arg1;
D_8018CA70[playerId].itemOverride = arg1;
}
}
func_800C9060(arg0, 0x19008406U);
func_800C9060(playerId, 0x19008406U);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007ABFC.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
extern s32 gItemWindowObjectByPlayerId;
void func_8007AC9C(s32 playerId) {
Player *sp20;
Player *temp_v0;
s32 temp_s0;
struct_80165C18_entry *temp_s1;
s32 stackPadding;
Player *player;
s32 objectIndex;
struct_80165C18_entry *itemWindow;
temp_s0 = *(&gItemWindowObjectByPlayerId + (playerId * 4));
temp_s1 = &D_80165C18[temp_s0];
temp_v0 = &gPlayerOne[playerId];
if (temp_s1->unk_0A4 == 0x000F) {
sp20 = temp_v0;
if (func_80072354(temp_s0, 2) != 0) {
func_800722A4(temp_s0, 2);
temp_s1->unk_098 = 0x0258;
func_800726CC(temp_s0, 0x00000032);
player = &gPlayerOne[playerId];
objectIndex = gItemWindowObjectByPlayerId[playerId];
itemWindow = &D_80165C18[objectIndex];
if (itemWindow->unk_0A4 == 0x000F) {
if (func_80072354(objectIndex, 2) != 0) {
func_800722A4(objectIndex, 2);
itemWindow->unk_098 = 0x0258;
func_800726CC(objectIndex, 0x00000032);
}
if ((u16) temp_s1->unk_098 == 0) {
func_800722CC(temp_s0, 2);
sp20->unk_010 = 0;
temp_s1->unk_0A4 = 0;
func_80072388(temp_s0, 0);
func_800726CC(temp_s0, 9);
if (itemWindow->unk_098 == 0) {
func_800722CC(objectIndex, 2);
player->unk_010 = 0;
itemWindow->unk_0A4 = 0;
func_80072388(objectIndex, 0);
func_800726CC(objectIndex, 9);
}
} else {
temp_v0->unk_010 = 0;
temp_s1->unk_0A4 = 0;
func_80072388(temp_s0, 0);
player->unk_010 = 0;
itemWindow->unk_0A4 = 0;
func_80072388(objectIndex, 0);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007AC9C.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
@ -6674,110 +6625,65 @@ void func_8007F6C4(s32 objectIndex, s32 playerId) {
D_80165C18[objectIndex].unk_0D1 = playerId;
}
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
extern s16 D_80165750;
s32 func_8007F75C(s32 playerId) {
s32 *var_s1;
s32 *var_s1_2;
s32 temp_a0;
s32 temp_a0_2;
s32 someIndex;
s32 objectIndex;
s32 temp_s7;
s32 var_s0;
s32 var_s0_2;
s32 var_s6;
u16 temp_v0;
s32 waypoint;
temp_v0 = gNearestWaypointByPlayerId[playerId];
waypoint = gNearestWaypointByPlayerId[playerId];
var_s6 = 0;
if (((s32) temp_v0 >= 0xAA) && ((s32) temp_v0 < 0xB5)) {
if ((waypoint >= 0xAA) && (waypoint < 0xB5)) {
temp_s7 = random_int(0x0032U) + 0x32;
var_s0 = 0;
if (D_80165750 > 0) {
var_s1 = D_80183EA0;
do {
temp_a0 = *var_s1;
if (D_80165C18[temp_a0].unk_0D5 == 3) {
var_s6 = 1;
func_8007F660(temp_a0, playerId, temp_s7);
}
var_s0 += 1;
var_s1 += 4;
} while (var_s0 < D_80165750);
for (someIndex = 0; someIndex < D_80165750; someIndex++) {
objectIndex = D_80183EA0[someIndex];
if (D_80165C18[objectIndex].unk_0D5 == 3) {
var_s6 = 1;
func_8007F660(objectIndex, playerId, temp_s7);
}
}
} else if (((s32) temp_v0 >= 0xD7) && ((s32) temp_v0 < 0xE2)) {
var_s1_2 = D_80183EA0;
var_s0_2 = 0;
if (D_80165750 > 0) {
do {
temp_a0_2 = *var_s1_2;
if (D_80165C18[temp_a0_2].unk_0D5 == 3) {
var_s6 = 1;
func_8007F6C4(temp_a0_2, playerId);
}
var_s0_2 += 1;
var_s1_2 += 4;
} while (var_s0_2 < D_80165750);
} else if ((waypoint >= 0xD7) && (waypoint < 0xE2)) {
for (someIndex = 0; someIndex < D_80165750; someIndex++) {
objectIndex = D_80183EA0[someIndex];
if (D_80165C18[objectIndex].unk_0D5 == 3) {
var_s6 = 1;
func_8007F6C4(objectIndex, playerId);
}
}
}
return var_s6;
}
#else
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007F75C.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
s32 func_8007F75C(s32); /* extern */
extern s16 D_80165750;
void func_8007F8D8(void) {
Player *var_s3;
s32 *var_s2;
s32 temp_a0;
Player *player;
s32 objectIndex;
s32 var_s0;
s32 var_s0_2;
s32 var_s1;
s32 someIndex;
s32 var_s4;
struct_80165C18_entry *temp_v0;
u16 temp_v0_2;
struct_80165C18_entry *object;
var_s3 = gPlayerOne;
player = gPlayerOne;
var_s4 = 1;
var_s1 = 0;
if (D_80165750 > 0) {
var_s2 = D_80183EA0;
do {
temp_a0 = *var_s2;
temp_v0 = &D_80165C18[temp_a0];
if ((u8) temp_v0->unk_0D5 == 3) {
var_s0 = 0;
if ((temp_v0->unk_0A6 >= 2) && (func_80072354(temp_a0, 8) != 0)) {
var_s0 = 1;
}
var_s4 *= var_s0;
for (someIndex = 0; someIndex < D_80165750; someIndex++){
objectIndex = D_80183EA0[someIndex];
object = &D_80165C18[objectIndex];
if (object->unk_0D5 == 3) {
var_s0 = 0;
if ((object->unk_0A6 >= 2) && (func_80072354(objectIndex, 8) != 0)) {
var_s0 = 1;
}
var_s1 += 1;
var_s2 += 4;
} while (var_s1 < D_80165750);
var_s4 *= var_s0;
}
}
var_s0_2 = 0;
if (var_s4 != 0) {
loop_10:
temp_v0_2 = var_s3->unk_000;
if (!(temp_v0_2 & 0x8000) || (temp_v0_2 & 0x1000) || (func_8007F75C(var_s0_2) == 0)) {
var_s0_2 += 1;
var_s3 += 0xDD8;
if (var_s0_2 != 4) {
goto loop_10;
for (var_s0 = 0; var_s0 < 4; var_s0++, player++){
if ((player->unk_000 & 0x8000) && !(player->unk_000 & 0x1000)) {
if (func_8007F75C(var_s0) != 0) break;
}
}
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007F8D8.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc

View File

@ -174,6 +174,8 @@ void func_80079054(s32);
void func_80079084(s32);
void func_800790B4(s32);
void func_800790E4(s32);
void func_800797AC(s32);
void func_80079860(s32);
void func_8007993C(s32, Player*);
void func_80079A5C(s32, Player*);
void func_8007A66C(s32, Player*, Camera*);
@ -184,6 +186,7 @@ void func_8007A910(s32);
void func_8007A948(s32);
void func_8007AA44(s32);
void func_8007ABFC(s32, s32);
void func_8007AC9C(s32);
u8 gen_random_item(s16, s16);
u8 func_8007AF40(s32, s16);
u8 func_8007AF78(s32, s16);
@ -218,6 +221,8 @@ void func_8007F280(s32);
void func_8007F544(s32);
void func_8007F660(s32, s32, s32);
void func_8007F6C4(s32, s32);
s32 func_8007F75C(s32);
void func_8007F8D8();
void func_8007FEA4(s32);
void func_800806BC(s32);
void func_8008078C(s32);
@ -263,7 +268,6 @@ extern s16 D_80165740;
extern s8 D_801657B4;
extern Vec3su D_8016582C;
extern s32 D_80183D5C;
extern s32 D_80183DB8[];
extern s32 D_80183EA8;
extern s16 D_8018CFE8;
extern f32 D_8018D01C;