mirror of https://github.com/n64decomp/mk64.git
Small matches, nothing super special (#400)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
This commit is contained in:
parent
7f7ecc5854
commit
9c661125be
|
|
@ -591,22 +591,16 @@ glabel D_80165A90
|
|||
|
||||
# object list begin
|
||||
# D_80165C18 should be of size 123,200 (0xE0 * 0x226)
|
||||
# D_80165C94 through D_80165CED are all fake variables
|
||||
# D_80165CBC, D_80165CBE, and D_80165CED are all fake variables
|
||||
glabel D_80165C18
|
||||
.skip 124
|
||||
|
||||
glabel D_80165C94
|
||||
.skip 40
|
||||
.skip 164
|
||||
|
||||
# Currently referenced in func_800534E8.s, but that function is in NEEDS_RODATA state
|
||||
glabel D_80165CBC
|
||||
.skip 2
|
||||
|
||||
glabel D_80165CBE
|
||||
.skip 8
|
||||
|
||||
glabel D_80165CC6
|
||||
.skip 39
|
||||
.skip 47
|
||||
|
||||
glabel D_80165CED
|
||||
.skip 122987
|
||||
|
|
@ -1667,16 +1661,7 @@ glabel gGPPointsByCharacterId
|
|||
# List of character IDs indicating where each character
|
||||
# is in the Grand Prix standings
|
||||
glabel gCharacterIdByGPOverallRank
|
||||
.skip 1
|
||||
|
||||
glabel D_8018D9D1
|
||||
.skip 1
|
||||
|
||||
glabel D_8018D9D2
|
||||
.skip 1
|
||||
|
||||
glabel D_8018D9D3
|
||||
.skip 5
|
||||
.skip 8
|
||||
|
||||
glabel D_8018D9D8
|
||||
.skip 1
|
||||
|
|
|
|||
|
|
@ -1,23 +0,0 @@
|
|||
glabel func_80076ED8
|
||||
/* 077AD8 80076ED8 000470C0 */ sll $t6, $a0, 3
|
||||
/* 077ADC 80076EDC 01C47023 */ subu $t6, $t6, $a0
|
||||
/* 077AE0 80076EE0 000E7140 */ sll $t6, $t6, 5
|
||||
/* 077AE4 80076EE4 3C028016 */ lui $v0, %hi(D_80165CC6) # x8016
|
||||
/* 077AE8 80076EE8 004E1021 */ addu $v0, $v0, $t6
|
||||
/* 077AEC 80076EEC 84425CC6 */ lh $v0, %lo(D_80165CC6)($v0) # 0x5cc6($v0)
|
||||
/* 077AF0 80076EF0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 077AF4 80076EF4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 077AF8 80076EF8 10400006 */ beqz $v0, .L80076F14
|
||||
/* 077AFC 80076EFC 24010001 */ li $at, 1
|
||||
/* 077B00 80076F00 14410004 */ bne $v0, $at, .L80076F14
|
||||
/* 077B04 80076F04 00000000 */ nop
|
||||
/* 077B08 80076F08 0C021BF5 */ jal func_80086FD4
|
||||
/* 077B0C 80076F0C AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* 077B10 80076F10 8FA40018 */ lw $a0, 0x18($sp)
|
||||
.L80076F14:
|
||||
/* 077B14 80076F14 0C022FC6 */ jal func_8008BF18
|
||||
/* 077B18 80076F18 00000000 */ nop
|
||||
/* 077B1C 80076F1C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 077B20 80076F20 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 077B24 80076F24 03E00008 */ jr $ra
|
||||
/* 077B28 80076F28 00000000 */ nop
|
||||
|
|
@ -1,135 +0,0 @@
|
|||
glabel func_8007CC00
|
||||
/* 07D800 8007CC00 27BDFFB0 */ addiu $sp, $sp, -0x50
|
||||
/* 07D804 8007CC04 AFBF004C */ sw $ra, 0x4c($sp)
|
||||
/* 07D808 8007CC08 AFBE0048 */ sw $fp, 0x48($sp)
|
||||
/* 07D80C 8007CC0C AFB70044 */ sw $s7, 0x44($sp)
|
||||
/* 07D810 8007CC10 AFB60040 */ sw $s6, 0x40($sp)
|
||||
/* 07D814 8007CC14 AFB5003C */ sw $s5, 0x3c($sp)
|
||||
/* 07D818 8007CC18 AFB40038 */ sw $s4, 0x38($sp)
|
||||
/* 07D81C 8007CC1C AFB30034 */ sw $s3, 0x34($sp)
|
||||
/* 07D820 8007CC20 AFB20030 */ sw $s2, 0x30($sp)
|
||||
/* 07D824 8007CC24 AFB1002C */ sw $s1, 0x2c($sp)
|
||||
/* 07D828 8007CC28 AFB00028 */ sw $s0, 0x28($sp)
|
||||
/* 07D82C 8007CC2C F7B60020 */ sdc1 $f22, 0x20($sp)
|
||||
/* 07D830 8007CC30 0C01F29C */ jal func_8007CA70
|
||||
/* 07D834 8007CC34 F7B40018 */ sdc1 $f20, 0x18($sp)
|
||||
/* 07D838 8007CC38 3C01401A */ li $at, 0x401A0000 # 2.406250
|
||||
/* 07D83C 8007CC3C 3C148019 */ lui $s4, %hi(D_8018BFA8) # $s4, 0x8019
|
||||
/* 07D840 8007CC40 3C1E800E */ lui $fp, %hi(gPlayerOne) # $fp, 0x800e
|
||||
/* 07D844 8007CC44 3C158016 */ lui $s5, %hi(D_80165C18) # $s5, 0x8016
|
||||
/* 07D848 8007CC48 4481B800 */ mtc1 $at, $f23
|
||||
/* 07D84C 8007CC4C 4480B000 */ mtc1 $zero, $f22
|
||||
/* 07D850 8007CC50 26B55C18 */ addiu $s5, %lo(D_80165C18) # addiu $s5, $s5, 0x5c18
|
||||
/* 07D854 8007CC54 27DEC4DC */ addiu $fp, %lo(gPlayerOne) # addiu $fp, $fp, -0x3b24
|
||||
/* 07D858 8007CC58 2694BFA8 */ addiu $s4, %lo(D_8018BFA8) # addiu $s4, $s4, -0x4058
|
||||
/* 07D85C 8007CC5C 24170DD8 */ li $s7, 3544
|
||||
/* 07D860 8007CC60 241600E0 */ li $s6, 224
|
||||
/* 07D864 8007CC64 8E920000 */ lw $s2, ($s4)
|
||||
.L8007CC68:
|
||||
/* 07D868 8007CC68 02560019 */ multu $s2, $s6
|
||||
/* 07D86C 8007CC6C 00007012 */ mflo $t6
|
||||
/* 07D870 8007CC70 02AE8021 */ addu $s0, $s5, $t6
|
||||
/* 07D874 8007CC74 860F00A6 */ lh $t7, 0xa6($s0)
|
||||
/* 07D878 8007CC78 11E00051 */ beqz $t7, .L8007CDC0
|
||||
/* 07D87C 8007CC7C 00000000 */ nop
|
||||
/* 07D880 8007CC80 0C01F1A1 */ jal func_8007C684
|
||||
/* 07D884 8007CC84 02402025 */ move $a0, $s2
|
||||
/* 07D888 8007CC88 0C022DE3 */ jal func_8008B78C
|
||||
/* 07D88C 8007CC8C 02402025 */ move $a0, $s2
|
||||
/* 07D890 8007CC90 820200D1 */ lb $v0, 0xd1($s0)
|
||||
/* 07D894 8007CC94 3C09800E */ lui $t1, %hi(camera1) # $t1, 0x800e
|
||||
/* 07D898 8007CC98 8D29DB40 */ lw $t1, %lo(camera1)($t1)
|
||||
/* 07D89C 8007CC9C 00570019 */ multu $v0, $s7
|
||||
/* 07D8A0 8007CCA0 00024080 */ sll $t0, $v0, 2
|
||||
/* 07D8A4 8007CCA4 01024023 */ subu $t0, $t0, $v0
|
||||
/* 07D8A8 8007CCA8 000840C0 */ sll $t0, $t0, 3
|
||||
/* 07D8AC 8007CCAC 01024023 */ subu $t0, $t0, $v0
|
||||
/* 07D8B0 8007CCB0 000840C0 */ sll $t0, $t0, 3
|
||||
/* 07D8B4 8007CCB4 01091821 */ addu $v1, $t0, $t1
|
||||
/* 07D8B8 8007CCB8 846A0026 */ lh $t2, 0x26($v1)
|
||||
/* 07D8BC 8007CCBC 340B8000 */ li $t3, 32768
|
||||
/* 07D8C0 8007CCC0 8FD90000 */ lw $t9, ($fp)
|
||||
/* 07D8C4 8007CCC4 016A8823 */ subu $s1, $t3, $t2
|
||||
/* 07D8C8 8007CCC8 0000C012 */ mflo $t8
|
||||
/* 07D8CC 8007CCCC 322CFFFF */ andi $t4, $s1, 0xffff
|
||||
/* 07D8D0 8007CCD0 01808825 */ move $s1, $t4
|
||||
/* 07D8D4 8007CCD4 3184FFFF */ andi $a0, $t4, 0xffff
|
||||
/* 07D8D8 8007CCD8 0C0AE00E */ jal coss
|
||||
/* 07D8DC 8007CCDC 03199821 */ addu $s3, $t8, $t9
|
||||
/* 07D8E0 8007CCE0 46000506 */ mov.s $f20, $f0
|
||||
/* 07D8E4 8007CCE4 0C0AE006 */ jal sins
|
||||
/* 07D8E8 8007CCE8 3224FFFF */ andi $a0, $s1, 0xffff
|
||||
/* 07D8EC 8007CCEC C6040010 */ lwc1 $f4, 0x10($s0)
|
||||
/* 07D8F0 8007CCF0 C6060028 */ lwc1 $f6, 0x28($s0)
|
||||
/* 07D8F4 8007CCF4 C6700014 */ lwc1 $f16, 0x14($s3)
|
||||
/* 07D8F8 8007CCF8 3224FFFF */ andi $a0, $s1, 0xffff
|
||||
/* 07D8FC 8007CCFC 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 07D900 8007CD00 C6060018 */ lwc1 $f6, 0x18($s0)
|
||||
/* 07D904 8007CD04 C6040030 */ lwc1 $f4, 0x30($s0)
|
||||
/* 07D908 8007CD08 4608A282 */ mul.s $f10, $f20, $f8
|
||||
/* 07D90C 8007CD0C 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 07D910 8007CD10 460A8480 */ add.s $f18, $f16, $f10
|
||||
/* 07D914 8007CD14 46004402 */ mul.s $f16, $f8, $f0
|
||||
/* 07D918 8007CD18 46109281 */ sub.s $f10, $f18, $f16
|
||||
/* 07D91C 8007CD1C C6120014 */ lwc1 $f18, 0x14($s0)
|
||||
/* 07D920 8007CD20 E60A0004 */ swc1 $f10, 4($s0)
|
||||
/* 07D924 8007CD24 C6640074 */ lwc1 $f4, 0x74($s3)
|
||||
/* 07D928 8007CD28 46009421 */ cvt.d.s $f16, $f18
|
||||
/* 07D92C 8007CD2C 460021A1 */ cvt.d.s $f6, $f4
|
||||
/* 07D930 8007CD30 C604002C */ lwc1 $f4, 0x2c($s0)
|
||||
/* 07D934 8007CD34 4626B200 */ add.d $f8, $f22, $f6
|
||||
/* 07D938 8007CD38 460021A1 */ cvt.d.s $f6, $f4
|
||||
/* 07D93C 8007CD3C 46304280 */ add.d $f10, $f8, $f16
|
||||
/* 07D940 8007CD40 462A3480 */ add.d $f18, $f6, $f10
|
||||
/* 07D944 8007CD44 46209220 */ cvt.s.d $f8, $f18
|
||||
/* 07D948 8007CD48 0C0AE006 */ jal sins
|
||||
/* 07D94C 8007CD4C E6080008 */ swc1 $f8, 8($s0)
|
||||
/* 07D950 8007CD50 46000506 */ mov.s $f20, $f0
|
||||
/* 07D954 8007CD54 0C0AE00E */ jal coss
|
||||
/* 07D958 8007CD58 3224FFFF */ andi $a0, $s1, 0xffff
|
||||
/* 07D95C 8007CD5C C6100030 */ lwc1 $f16, 0x30($s0)
|
||||
/* 07D960 8007CD60 C6040018 */ lwc1 $f4, 0x18($s0)
|
||||
/* 07D964 8007CD64 C6120010 */ lwc1 $f18, 0x10($s0)
|
||||
/* 07D968 8007CD68 C6080028 */ lwc1 $f8, 0x28($s0)
|
||||
/* 07D96C 8007CD6C 46048180 */ add.s $f6, $f16, $f4
|
||||
/* 07D970 8007CD70 02402025 */ move $a0, $s2
|
||||
/* 07D974 8007CD74 46089400 */ add.s $f16, $f18, $f8
|
||||
/* 07D978 8007CD78 46003282 */ mul.s $f10, $f6, $f0
|
||||
/* 07D97C 8007CD7C C666001C */ lwc1 $f6, 0x1c($s3)
|
||||
/* 07D980 8007CD80 4610A102 */ mul.s $f4, $f20, $f16
|
||||
/* 07D984 8007CD84 46043480 */ add.s $f18, $f6, $f4
|
||||
/* 07D988 8007CD88 46125200 */ add.s $f8, $f10, $f18
|
||||
/* 07D98C 8007CD8C 0C01F154 */ jal func_8007C550
|
||||
/* 07D990 8007CD90 E608000C */ swc1 $f8, 0xc($s0)
|
||||
/* 07D994 8007CD94 02402025 */ move $a0, $s2
|
||||
/* 07D998 8007CD98 0C01C88F */ jal func_8007223C
|
||||
/* 07D99C 8007CD9C 24050080 */ li $a1, 128
|
||||
/* 07D9A0 8007CDA0 10400005 */ beqz $v0, .L8007CDB8
|
||||
/* 07D9A4 8007CDA4 3C0E800E */ lui $t6, %hi(D_800E4470) # $t6, 0x800e
|
||||
/* 07D9A8 8007CDA8 3C0D800E */ lui $t5, %hi(D_800E44B0) # $t5, 0x800e
|
||||
/* 07D9AC 8007CDAC 25AD44B0 */ addiu $t5, %lo(D_800E44B0) # addiu $t5, $t5, 0x44b0
|
||||
/* 07D9B0 8007CDB0 10000003 */ b .L8007CDC0
|
||||
/* 07D9B4 8007CDB4 AE0D0074 */ sw $t5, 0x74($s0)
|
||||
.L8007CDB8:
|
||||
/* 07D9B8 8007CDB8 25CE4470 */ addiu $t6, %lo(D_800E4470) # addiu $t6, $t6, 0x4470
|
||||
/* 07D9BC 8007CDBC AE0E0074 */ sw $t6, 0x74($s0)
|
||||
.L8007CDC0:
|
||||
/* 07D9C0 8007CDC0 3C0F8019 */ lui $t7, %hi(D_8018BFD0) # $t7, 0x8019
|
||||
/* 07D9C4 8007CDC4 25EFBFD0 */ addiu $t7, %lo(D_8018BFD0) # addiu $t7, $t7, -0x4030
|
||||
/* 07D9C8 8007CDC8 26940004 */ addiu $s4, $s4, 4
|
||||
/* 07D9CC 8007CDCC 568FFFA6 */ bnel $s4, $t7, .L8007CC68
|
||||
/* 07D9D0 8007CDD0 8E920000 */ lw $s2, ($s4)
|
||||
/* 07D9D4 8007CDD4 8FBF004C */ lw $ra, 0x4c($sp)
|
||||
/* 07D9D8 8007CDD8 D7B40018 */ ldc1 $f20, 0x18($sp)
|
||||
/* 07D9DC 8007CDDC D7B60020 */ ldc1 $f22, 0x20($sp)
|
||||
/* 07D9E0 8007CDE0 8FB00028 */ lw $s0, 0x28($sp)
|
||||
/* 07D9E4 8007CDE4 8FB1002C */ lw $s1, 0x2c($sp)
|
||||
/* 07D9E8 8007CDE8 8FB20030 */ lw $s2, 0x30($sp)
|
||||
/* 07D9EC 8007CDEC 8FB30034 */ lw $s3, 0x34($sp)
|
||||
/* 07D9F0 8007CDF0 8FB40038 */ lw $s4, 0x38($sp)
|
||||
/* 07D9F4 8007CDF4 8FB5003C */ lw $s5, 0x3c($sp)
|
||||
/* 07D9F8 8007CDF8 8FB60040 */ lw $s6, 0x40($sp)
|
||||
/* 07D9FC 8007CDFC 8FB70044 */ lw $s7, 0x44($sp)
|
||||
/* 07DA00 8007CE00 8FBE0048 */ lw $fp, 0x48($sp)
|
||||
/* 07DA04 8007CE04 03E00008 */ jr $ra
|
||||
/* 07DA08 8007CE08 27BD0050 */ addiu $sp, $sp, 0x50
|
||||
|
|
@ -1,69 +0,0 @@
|
|||
.section .late_rodata
|
||||
|
||||
glabel D_800EF3E0
|
||||
.float 0.03
|
||||
.word 0x00000000
|
||||
|
||||
.section .text
|
||||
|
||||
glabel func_800859C8
|
||||
/* 0865C8 800859C8 000478C0 */ sll $t7, $a0, 3
|
||||
/* 0865CC 800859CC 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* 0865D0 800859D0 01E47823 */ subu $t7, $t7, $a0
|
||||
/* 0865D4 800859D4 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016
|
||||
/* 0865D8 800859D8 AFB00028 */ sw $s0, 0x28($sp)
|
||||
/* 0865DC 800859DC 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18
|
||||
/* 0865E0 800859E0 000F7940 */ sll $t7, $t7, 5
|
||||
/* 0865E4 800859E4 01F88021 */ addu $s0, $t7, $t8
|
||||
/* 0865E8 800859E8 860200A6 */ lh $v0, 0xa6($s0)
|
||||
/* 0865EC 800859EC AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* 0865F0 800859F0 AFA40030 */ sw $a0, 0x30($sp)
|
||||
/* 0865F4 800859F4 10400012 */ beqz $v0, .L80085A40
|
||||
/* 0865F8 800859F8 24010001 */ li $at, 1
|
||||
/* 0865FC 800859FC 10410005 */ beq $v0, $at, .L80085A14
|
||||
/* 086600 80085A00 24010002 */ li $at, 2
|
||||
/* 086604 80085A04 10410007 */ beq $v0, $at, .L80085A24
|
||||
/* 086608 80085A08 8FA40030 */ lw $a0, 0x30($sp)
|
||||
/* 08660C 80085A0C 1000000C */ b .L80085A40
|
||||
/* 086610 80085A10 00000000 */ nop
|
||||
.L80085A14:
|
||||
/* 086614 80085A14 0C02161E */ jal func_80085878
|
||||
/* 086618 80085A18 8FA40030 */ lw $a0, 0x30($sp)
|
||||
/* 08661C 80085A1C 10000008 */ b .L80085A40
|
||||
/* 086620 80085A20 00000000 */ nop
|
||||
.L80085A24:
|
||||
/* 086624 80085A24 2419FFFF */ li $t9, -1
|
||||
/* 086628 80085A28 AFB90014 */ sw $t9, 0x14($sp)
|
||||
/* 08662C 80085A2C 00002825 */ move $a1, $zero
|
||||
/* 086630 80085A30 860600A4 */ lh $a2, 0xa4($s0)
|
||||
/* 086634 80085A34 24070001 */ li $a3, 1
|
||||
/* 086638 80085A38 0C01CB95 */ jal func_80072E54
|
||||
/* 08663C 80085A3C AFA00010 */ sw $zero, 0x10($sp)
|
||||
.L80085A40:
|
||||
/* 086640 80085A40 3C088019 */ lui $t0, %hi(D_8018D40C) # $t0, 0x8019
|
||||
/* 086644 80085A44 8D08D40C */ lw $t0, %lo(D_8018D40C)($t0)
|
||||
/* 086648 80085A48 26040004 */ addiu $a0, $s0, 4
|
||||
/* 08664C 80085A4C 26050038 */ addiu $a1, $s0, 0x38
|
||||
/* 086650 80085A50 15000003 */ bnez $t0, .L80085A60
|
||||
/* 086654 80085A54 3C061901 */ lui $a2, (0x19018057 >> 16) # lui $a2, 0x1901
|
||||
/* 086658 80085A58 0C03262E */ jal func_800C98B8
|
||||
/* 08665C 80085A5C 34C68057 */ ori $a2, (0x19018057 & 0xFFFF) # ori $a2, $a2, 0x8057
|
||||
.L80085A60:
|
||||
/* 086660 80085A60 3C01800F */ lui $at, %hi(D_800EF3E0) # $at, 0x800f
|
||||
/* 086664 80085A64 C424F3E0 */ lwc1 $f4, %lo(D_800EF3E0)($at)
|
||||
/* 086668 80085A68 3C06BF4C */ lui $a2, (0xBF4CCCCD >> 16) # lui $a2, 0xbf4c
|
||||
/* 08666C 80085A6C 3C073F4C */ lui $a3, (0x3F4CCCCD >> 16) # lui $a3, 0x3f4c
|
||||
/* 086670 80085A70 2409FFFF */ li $t1, -1
|
||||
/* 086674 80085A74 AFA90018 */ sw $t1, 0x18($sp)
|
||||
/* 086678 80085A78 34E7CCCD */ ori $a3, (0x3F4CCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
|
||||
/* 08667C 80085A7C 34C6CCCD */ ori $a2, (0xBF4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd
|
||||
/* 086680 80085A80 8FA40030 */ lw $a0, 0x30($sp)
|
||||
/* 086684 80085A84 26050044 */ addiu $a1, $s0, 0x44
|
||||
/* 086688 80085A88 AFA00014 */ sw $zero, 0x14($sp)
|
||||
/* 08668C 80085A8C 0C01D0D1 */ jal func_80074344
|
||||
/* 086690 80085A90 E7A40010 */ swc1 $f4, 0x10($sp)
|
||||
/* 086694 80085A94 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* 086698 80085A98 8FB00028 */ lw $s0, 0x28($sp)
|
||||
/* 08669C 80085A9C 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
/* 0866A0 80085AA0 03E00008 */ jr $ra
|
||||
/* 0866A4 80085AA4 00000000 */ nop
|
||||
|
|
@ -456,27 +456,47 @@ glabel D_800E5DB4
|
|||
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
# Spawn data for the flag poles in Yoshi Valley
|
||||
# YVFlagPoleSpawn
|
||||
glabel D_800E5DF4
|
||||
.hword 0xfc7a, 0x0046, 0xfa82, 0x3800, 0xfc4c, 0x0046, 0xfa03, 0x3800
|
||||
.hword 0xf786, 0x0000, 0x02d3, 0x0400, 0xf76f, 0x0000, 0x02f9, 0x0400
|
||||
.hword 0xfc7a, 0x0046, 0xfa82, 0x3800
|
||||
.hword 0xfc4c, 0x0046, 0xfa03, 0x3800
|
||||
.hword 0xf786, 0x0000, 0x02d3, 0x0400
|
||||
.hword 0xf76f, 0x0000, 0x02f9, 0x0400
|
||||
|
||||
glabel D_800E5E14
|
||||
.hword 0xf96d, 0xffb0, 0xffa8, 0x0009, 0xf99c, 0xffa3, 0xff6d, 0x0009
|
||||
.hword 0xf9a4, 0xffaa, 0xff94, 0x0009, 0xf974, 0xffbb, 0xffe2, 0x0009
|
||||
.hword 0xfb35, 0xffe5, 0xfc23, 0x001a, 0xfb13, 0xffd7, 0xfc90, 0x001a
|
||||
.hword 0xfac2, 0xffc4, 0xfcc2, 0x001a, 0xfa6b, 0xffb2, 0xfcaf, 0x001a
|
||||
.hword 0xfa2c, 0xffa2, 0xfcfa, 0x001a, 0xfa53, 0xffa9, 0xfcf0, 0x001a
|
||||
.hword 0xfa30, 0xffa7, 0xfcac, 0x001a, 0xfaeb, 0xffd1, 0xfc78, 0x001a
|
||||
.hword 0xf5e5, 0xffc8, 0xfefd, 0x001c, 0xf643, 0xffa2, 0xfe3a, 0x001c
|
||||
.hword 0xf96d, 0xffb0, 0xffa8, 0x0009
|
||||
.hword 0xf99c, 0xffa3, 0xff6d, 0x0009
|
||||
.hword 0xf9a4, 0xffaa, 0xff94, 0x0009
|
||||
.hword 0xf974, 0xffbb, 0xffe2, 0x0009
|
||||
.hword 0xfb35, 0xffe5, 0xfc23, 0x001a
|
||||
.hword 0xfb13, 0xffd7, 0xfc90, 0x001a
|
||||
.hword 0xfac2, 0xffc4, 0xfcc2, 0x001a
|
||||
.hword 0xfa6b, 0xffb2, 0xfcaf, 0x001a
|
||||
.hword 0xfa2c, 0xffa2, 0xfcfa, 0x001a
|
||||
.hword 0xfa53, 0xffa9, 0xfcf0, 0x001a
|
||||
.hword 0xfa30, 0xffa7, 0xfcac, 0x001a
|
||||
.hword 0xfaeb, 0xffd1, 0xfc78, 0x001a
|
||||
.hword 0xf5e5, 0xffc8, 0xfefd, 0x001c
|
||||
.hword 0xf643, 0xffa2, 0xfe3a, 0x001c
|
||||
.hword 0xf653, 0xfffd, 0xffc7, 0x001c
|
||||
|
||||
glabel D_800E5E8C
|
||||
.hword 0xf98e, 0xffaa, 0xff8e, 0xf983, 0xffa3, 0xff69, 0xf97e, 0xffb5
|
||||
.hword 0xffc6, 0xf98d, 0xffb9, 0xffe6, 0xfb56, 0xffe7, 0xfc19, 0xfb43
|
||||
.hword 0xffe0, 0xfca0, 0xfb1f, 0xffd9, 0xfc61, 0xfabd, 0xffc5, 0xfc9e
|
||||
.hword 0xfa6d, 0xffb5, 0xfc85, 0xfa1b, 0xffa1, 0xfcd7, 0xfa48, 0xffa8
|
||||
.hword 0xfcca, 0xf9ff, 0xffa4, 0xfcaa, 0xf5c0, 0xffd1, 0xff0f, 0xf637
|
||||
.hword 0xffa7, 0xfe73, 0xf615, 0xfffd, 0xffbe
|
||||
.hword 0xf98e, 0xffaa, 0xff8e
|
||||
.hword 0xf983, 0xffa3, 0xff69
|
||||
.hword 0xf97e, 0xffb5, 0xffc6
|
||||
.hword 0xf98d, 0xffb9, 0xffe6
|
||||
.hword 0xfb56, 0xffe7, 0xfc19
|
||||
.hword 0xfb43, 0xffe0, 0xfca0
|
||||
.hword 0xfb1f, 0xffd9, 0xfc61
|
||||
.hword 0xfabd, 0xffc5, 0xfc9e
|
||||
.hword 0xfa6d, 0xffb5, 0xfc85
|
||||
.hword 0xfa1b, 0xffa1, 0xfcd7
|
||||
.hword 0xfa48, 0xffa8, 0xfcca
|
||||
.hword 0xf9ff, 0xffa4, 0xfcaa
|
||||
.hword 0xf5c0, 0xffd1, 0xff0f
|
||||
.hword 0xf637, 0xffa7, 0xfe73
|
||||
.hword 0xf615, 0xfffd, 0xffbe
|
||||
|
||||
glabel D_800E5EE6
|
||||
.hword 0x0000
|
||||
|
|
|
|||
|
|
@ -121,14 +121,22 @@ extern Collision D_8018C0B0[];
|
|||
* Neon signs in Rainbow Road?
|
||||
* Thwomps in Bower's Castle?
|
||||
* Penguins in Sherbet Land?
|
||||
* Flag Poles in Yoshi Valley?
|
||||
**/
|
||||
extern s32 D_80183EA0[];
|
||||
/**
|
||||
* Snowmen in Frappe Snowland
|
||||
* Chain Chomps in RaindbowRoad?
|
||||
* Trophy in award ceremony?
|
||||
* Seagulls in Koopa Troopa Beach?
|
||||
**/
|
||||
extern s32 D_80183F28[];
|
||||
|
||||
#define NUM_BOOS 0xA
|
||||
|
||||
/**
|
||||
* Boos in Banshee Boardwalk
|
||||
**/
|
||||
extern s32 D_8018BFA8[];
|
||||
extern s32 D_8018C030[];
|
||||
|
||||
|
|
|
|||
|
|
@ -2186,31 +2186,6 @@ void func_8005C6B4(s8 arg0, s16* arg1, s16* arg2, s16* arg3) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_8005C674(s8, s16*, s16*, s16*);
|
||||
void func_8005C980();
|
||||
|
||||
extern s32 D_80165590;
|
||||
extern s32 D_80165594;
|
||||
extern s32 D_80165598;
|
||||
extern s32 D_8016559C;
|
||||
extern s32 D_801655A4;
|
||||
extern s32 D_801655AC;
|
||||
extern s32 D_801655B4;
|
||||
extern s32 D_801655BC;
|
||||
extern s32 D_801655C4;
|
||||
extern s32 D_801655CC;
|
||||
extern s32 D_801655D8;
|
||||
extern s32 D_801655E8;
|
||||
extern s32 D_801655F8;
|
||||
extern s32 D_80165608;
|
||||
extern s32 D_80165618;
|
||||
extern s32 D_80165628;
|
||||
extern s8 D_801658A8;
|
||||
extern s32 D_8018D2AC;
|
||||
extern s32 D_8018D400;
|
||||
extern s32 D_8018D40C;
|
||||
extern s32 D_8018D410;
|
||||
|
||||
void func_8005C728(void) {
|
||||
s16 sp26;
|
||||
s16 sp24;
|
||||
|
|
|
|||
|
|
@ -83,6 +83,7 @@ void func_8005C654(s32*);
|
|||
void func_8005C65C(s32);
|
||||
void func_8005C6B4(s8, s16*, s16*, s16*);
|
||||
void func_8005C728(void);
|
||||
void func_8005C980(void);
|
||||
void func_8005CB60(s32, s32);
|
||||
|
||||
void func_8005D0FC(s32);
|
||||
|
|
@ -312,6 +313,29 @@ extern s16 D_8018CF98[];
|
|||
extern Camera *D_8018CF14;
|
||||
extern Player *D_8018CF1C;
|
||||
|
||||
|
||||
extern s32 D_80165590;
|
||||
extern s32 D_80165594;
|
||||
extern s32 D_80165598;
|
||||
extern s32 D_8016559C;
|
||||
extern s32 D_801655A4;
|
||||
extern s32 D_801655AC;
|
||||
extern s32 D_801655B4;
|
||||
extern s32 D_801655BC;
|
||||
extern s32 D_801655C4;
|
||||
extern s32 D_801655CC;
|
||||
extern s32 D_801655D8;
|
||||
extern s32 D_801655E8;
|
||||
extern s32 D_801655F8;
|
||||
extern s32 D_80165608;
|
||||
extern s32 D_80165618;
|
||||
extern s32 D_80165628;
|
||||
extern s8 D_801658A8;
|
||||
extern s32 D_8018D2AC;
|
||||
extern s32 D_8018D400;
|
||||
extern s32 D_8018D40C;
|
||||
extern s32 D_8018D410;
|
||||
|
||||
extern s32 D_8018D120;
|
||||
extern s32 D_8018D170;
|
||||
extern s32 D_8018D178;
|
||||
|
|
|
|||
|
|
@ -3773,24 +3773,11 @@ u8 func_8007AF78(UNUSED s32 arg0, s16 arg1) {
|
|||
return gen_random_item(arg1, 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* todo: verify that these two variables are fake ptrs.
|
||||
* As seen below, they were replaced with gLapCountByPlayerId and gGPCurrentRaceRankByPlayerId
|
||||
*
|
||||
* Notice how matching with the two variables below required two s16s. The lapcount gets cast to s16 to match.
|
||||
typedef struct {
|
||||
s16 val;
|
||||
s16 pad;
|
||||
} a;
|
||||
extern a D_80164392[];
|
||||
extern a D_801643BA[];
|
||||
*/
|
||||
|
||||
s16 func_8007AFB0(s32 objectIndex, s32 arg1) {
|
||||
UNUSED s32 pad[3];
|
||||
s16 randomItem;
|
||||
|
||||
randomItem = (s16) func_8007AF40((s16) gLapCountByPlayerId[arg1], (s16) gGPCurrentRaceRankByPlayerId[arg1]);
|
||||
randomItem = func_8007AF40(gLapCountByPlayerId[arg1], gGPCurrentRaceRankByPlayerId[arg1]);
|
||||
|
||||
if (D_8018CA70[arg1].itemOverride != 0) {
|
||||
randomItem = (s16) D_8018CA70[arg1].itemOverride;
|
||||
|
|
@ -3802,83 +3789,61 @@ s16 func_8007AFB0(s32 objectIndex, s32 arg1) {
|
|||
return randomItem;
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
|
||||
extern ? D_80164392;
|
||||
extern ? D_801643BA;
|
||||
extern s32 gItemWindowObjectByPlayerId;
|
||||
#ifdef NON_MATCHING
|
||||
// https://decomp.me/scratch/yWKlx
|
||||
// More stupid register allocation nonsense
|
||||
|
||||
s32 func_8007B040(s32 objectIndex, s32 arg1) {
|
||||
s32 sp64;
|
||||
s32 sp60;
|
||||
Player *sp38;
|
||||
s16 temp_a1;
|
||||
s16 temp_t0_2;
|
||||
s32 *var_a0;
|
||||
s32 temp_a0;
|
||||
s32 temp_t0;
|
||||
s32 temp_v0;
|
||||
s32 func_8007B040(s32 objectIndex, s32 playerId) {
|
||||
s16 stackPadding;
|
||||
s32 temp_v1;
|
||||
s32 var_a3;
|
||||
s32 var_t3;
|
||||
s32 temp_a0;
|
||||
s32 var_v1;
|
||||
s32 sp50[4];
|
||||
s32 sp40[4];
|
||||
s32 var_v1_2;
|
||||
struct_80165C18_entry *temp_a3;
|
||||
struct_80165C18_entry *temp_a3_2;
|
||||
struct_80165C18_entry *temp_s0;
|
||||
u16 temp_v0_2;
|
||||
u8 var_v1;
|
||||
Player *sp38;
|
||||
s16 temp_a1;
|
||||
|
||||
var_a3 = 0;
|
||||
var_t3 = 0;
|
||||
if (gModeSelection == GRAND_PRIX) {
|
||||
if (random_int(0x0064U) < 0x51) {
|
||||
temp_v0 = arg1 * 4;
|
||||
var_v1 = func_8007AF40((s32) *(&D_80164392 + temp_v0), *(&D_801643BA + temp_v0));
|
||||
var_v1 = func_8007AF40(gLapCountByPlayerId[playerId], gGPCurrentRaceRankByPlayerId[playerId]);
|
||||
} else {
|
||||
sp60 = 0;
|
||||
func_800C9060(arg1 & 0xFF, 0x1900A058U);
|
||||
var_v1 = (u8) sp60;
|
||||
var_v1 = 0;
|
||||
func_800C9060(playerId, 0x1900A058U);
|
||||
}
|
||||
var_t3 = 1;
|
||||
temp_a3 = &D_80165C18[objectIndex];
|
||||
temp_a3->unk_0A2 = (s16) var_v1;
|
||||
temp_a3->unk_0D2 = (s8) var_v1;
|
||||
D_80165C18[objectIndex].unk_0A2 = var_v1;
|
||||
D_80165C18[objectIndex].unk_0D2 = var_v1;
|
||||
} else {
|
||||
temp_t0 = gPlayerCountSelection1;
|
||||
var_v1_2 = 0;
|
||||
if (temp_t0 > 0) {
|
||||
var_a0 = &gItemWindowObjectByPlayerId;
|
||||
do {
|
||||
if (var_v1_2 != arg1) {
|
||||
temp_a1 = D_80165C18[*var_a0].unk_0A4;
|
||||
if (temp_a1 != 0) {
|
||||
(&sp50[0])[var_a3] = var_v1_2;
|
||||
(&sp40[0])[var_a3] = (s32) temp_a1;
|
||||
var_a3 += 1;
|
||||
}
|
||||
for (var_v1_2 = 0; var_v1_2 < gPlayerCountSelection1; var_v1_2++) {
|
||||
temp_a0 = gItemWindowObjectByPlayerId[var_v1_2];
|
||||
if (var_v1_2 != playerId) {
|
||||
if (D_80165C18[temp_a0].unk_0A4 != 0) {
|
||||
sp50[var_a3] = var_v1_2;
|
||||
sp40[var_a3] = D_80165C18[temp_a0].unk_0A4;
|
||||
var_a3 += 1;
|
||||
}
|
||||
var_v1_2 += 1;
|
||||
var_a0 += 4;
|
||||
} while (var_v1_2 < temp_t0);
|
||||
}
|
||||
}
|
||||
if (var_a3 != 0) {
|
||||
temp_v0_2 = random_int(var_a3 & 0xFFFF);
|
||||
temp_v1 = (&sp50[0])[temp_v0_2];
|
||||
temp_t0_2 = (&sp40[0])[temp_v0_2].unk2;
|
||||
temp_a3_2 = &D_80165C18[objectIndex];
|
||||
temp_a3_2->unk_0D1 = (s8) temp_v1;
|
||||
temp_a3_2->unk_0A2 = temp_t0_2;
|
||||
temp_a3_2->unk_0D2 = (s8) temp_t0_2;
|
||||
temp_a0 = (&gItemWindowObjectByPlayerId)[temp_v1];
|
||||
var_v1 = random_int(var_a3);
|
||||
temp_v1 = sp50[var_v1];
|
||||
D_80165C18[objectIndex].unk_0D1 = temp_v1;
|
||||
temp_a1 = sp40[var_v1];
|
||||
D_80165C18[objectIndex].unk_0A2 = temp_a1;
|
||||
D_80165C18[objectIndex].unk_0D2 = temp_a1;
|
||||
temp_a0 = gItemWindowObjectByPlayerId[temp_v1];
|
||||
sp38 = &gPlayerOne[temp_v1];
|
||||
sp64 = temp_a0;
|
||||
func_800722A4(temp_a0, 1);
|
||||
temp_s0 = &D_80165C18[temp_a0];
|
||||
temp_s0->unk_0A4 = 0;
|
||||
D_80165C18[temp_a0].unk_0A4 = 0;
|
||||
sp38->unk_010 = 0;
|
||||
if (func_80072320(temp_a0, 2) != 0) {
|
||||
func_800722CC(sp64, 2);
|
||||
temp_s0->unk_098 = 0;
|
||||
func_800722CC(temp_a0, 2);
|
||||
D_80165C18[temp_a0].unk_098 = 0;
|
||||
}
|
||||
var_t3 = 1;
|
||||
}
|
||||
|
|
@ -3931,50 +3896,11 @@ GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007B254.s")
|
|||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 44f261a363c51a295be8efe3d7ca7f4d2c967e9b on Dec-30-2022
|
||||
? func_8007AC9C(s32); /* extern */
|
||||
s8 func_8007AFB0(s32, s32); /* extern */
|
||||
s32 func_8007B040(s32, s32); /* extern */
|
||||
//generated by m2c commit eefca95b040d7ee0c617bc58f9ac6cd1cf7bce87 on Sep-05-2023
|
||||
? func_8007B254(s32, s32); /* extern */
|
||||
? func_800C8F80(u8, ?); /* extern */
|
||||
? func_800C9018(u8, ?); /* extern */
|
||||
extern s8 D_80165888;
|
||||
static s32 *gItemWindowTLUTs[0x10] = {
|
||||
(s32 *) gTLUTItemWindowNone,
|
||||
(s32 *) gTLUTItemWindowBanana,
|
||||
(s32 *) gTLUTItemWindowBananaBunch,
|
||||
(s32 *) gTLUTItemWindowGreenShell,
|
||||
(s32 *) gTLUTItemWindowTripleGreenShell,
|
||||
(s32 *) gTLUTItemWindowRedShell,
|
||||
(s32 *) gTLUTItemWindowTripleRedShell,
|
||||
(s32 *) gTLUTItemWindowBlueShell,
|
||||
(s32 *) gTLUTItemWindowThunderBolt,
|
||||
(s32 *) gTLUTItemWindowFakeItemBox,
|
||||
(s32 *) gTLUTItemWindowStar,
|
||||
(s32 *) gTLUTItemWindowBoo,
|
||||
(s32 *) gTLUTItemWindowMushroom,
|
||||
(s32 *) gTLUTItemWindowDoubleMushroom,
|
||||
(s32 *) gTLUTItemWindowTripleMushroom,
|
||||
(s32 *) gTLUTItemWindowSuperMushroom,
|
||||
};
|
||||
static s8 *gItemWindowTextures[0x10] = {
|
||||
gTextureItemWindowNone,
|
||||
gTextureItemWindowBanana,
|
||||
gTextureItemWindowBananaBunch,
|
||||
gTextureItemWindowGreenShell,
|
||||
gTextureItemWindowTripleGreenShell,
|
||||
gTextureItemWindowRedShell,
|
||||
gTextureItemWindowTripleRedShell,
|
||||
gTextureItemWindowBlueShell,
|
||||
gTextureItemWindowThunderBolt,
|
||||
gTextureItemWindowFakeItemBox,
|
||||
gTextureItemWindowStar,
|
||||
gTextureItemWindowBoo,
|
||||
gTextureItemWindowMushroom,
|
||||
gTextureItemWindowDoubleMushroom,
|
||||
gTextureItemWindowTripleMushroom,
|
||||
gTextureItemWindowSuperMushroom,
|
||||
};
|
||||
static u8 *gItemWindowTLUTs[0x10];
|
||||
static u8 *gItemWindowTextures[0x10];
|
||||
|
||||
void func_8007B34C(s32 playerId) {
|
||||
s32 sp40;
|
||||
|
|
@ -4080,7 +4006,7 @@ void func_8007B34C(s32 playerId) {
|
|||
break;
|
||||
case 11:
|
||||
if (gActiveScreenMode == 0) {
|
||||
if (s16_step_down_towards((playerId * 0x84) + 0x48 + D_8018CA70, 0, 4) != 0) {
|
||||
if (s16_step_down_towards(&D_8018CA70[playerId].slideItemBoxY, 0, 4) != 0) {
|
||||
func_80072488(temp_s0);
|
||||
}
|
||||
} else if (gActiveScreenMode == 3) {
|
||||
|
|
@ -4099,7 +4025,7 @@ void func_8007B34C(s32 playerId) {
|
|||
func_80072488(temp_s0);
|
||||
}
|
||||
}
|
||||
} else if (s16_step_down_towards((playerId * 0x84) + 0x46 + D_8018CA70, 0, 8) != 0) {
|
||||
} else if (s16_step_down_towards(&D_8018CA70[playerId].slideItemBoxX, 0, 8) != 0) {
|
||||
func_80072488(temp_s0);
|
||||
}
|
||||
break;
|
||||
|
|
@ -4145,7 +4071,7 @@ void func_8007B34C(s32 playerId) {
|
|||
break;
|
||||
}
|
||||
if (func_80072320(temp_s0, 2) != 0) {
|
||||
temp_v0 = (u16) sp2C->unk_098;
|
||||
temp_v0 = sp2C->unk_098;
|
||||
if (temp_v0 == 0) {
|
||||
func_8007AC9C(playerId);
|
||||
} else {
|
||||
|
|
@ -4753,52 +4679,36 @@ void func_8007CA70(void) {
|
|||
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007CA70.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit eefca95b040d7ee0c617bc58f9ac6cd1cf7bce87 on Aug-09-2023
|
||||
? func_8007CA70(); /* extern */
|
||||
extern ? D_8018BFD0;
|
||||
static Vtx D_800E4470; /* unable to generate initializer */
|
||||
static Vtx D_800E44B0; /* unable to generate initializer */
|
||||
|
||||
void func_8007CC00(void) {
|
||||
Player *temp_s3;
|
||||
f32 temp_f20;
|
||||
f32 temp_f20_2;
|
||||
s32 *var_s4;
|
||||
s32 temp_s2;
|
||||
s32 temp_t4;
|
||||
s8 temp_v0;
|
||||
struct_80165C18_entry *temp_s0;
|
||||
u16 temp_t4;
|
||||
s32 someIndex;
|
||||
s32 objectIndex;
|
||||
Player *player;
|
||||
Camera *camera;
|
||||
struct_80165C18_entry *object;
|
||||
|
||||
func_8007CA70();
|
||||
var_s4 = D_8018BFA8;
|
||||
do {
|
||||
temp_s2 = *var_s4;
|
||||
temp_s0 = &D_80165C18[temp_s2];
|
||||
if (temp_s0->unk_0A6 != 0) {
|
||||
func_8007C684(temp_s2);
|
||||
func_8008B78C(temp_s2);
|
||||
temp_v0 = temp_s0->unk_0D1;
|
||||
temp_t4 = (0x8000 - camera1[temp_v0].rot[1]) & 0xFFFF;
|
||||
temp_s3 = &gPlayerOne[temp_v0];
|
||||
temp_f20 = coss(temp_t4 & 0xFFFF);
|
||||
temp_s0->pos[0] = (temp_s3->pos[0] + (temp_f20 * (temp_s0->unk_010[0] + temp_s0->unk_028[0]))) - ((temp_s0->unk_028[2] + temp_s0->unk_010[2]) * sins(temp_t4 & 0xFFFF));
|
||||
temp_s0->pos[1] = (f32) ((f64) temp_s0->unk_028[1] + (6.5 + (f64) temp_s3->unk_074 + (f64) temp_s0->unk_010[1]));
|
||||
temp_f20_2 = sins(temp_t4 & 0xFFFF);
|
||||
temp_s0->pos[2] = ((temp_s0->unk_028[2] + temp_s0->unk_010[2]) * coss(temp_t4 & 0xFFFF)) + (temp_s3->pos[2] + (temp_f20_2 * (temp_s0->unk_010[0] + temp_s0->unk_028[0])));
|
||||
func_8007C550(temp_s2);
|
||||
if (func_8007223C(temp_s2, 0x00000080) != 0) {
|
||||
temp_s0->unk_074 = &D_800E44B0;
|
||||
for (someIndex = 0; someIndex < NUM_BOOS; someIndex++) {
|
||||
objectIndex = D_8018BFA8[someIndex];
|
||||
object = &D_80165C18[objectIndex];
|
||||
if (object->unk_0A6 != 0) {
|
||||
func_8007C684(objectIndex);
|
||||
func_8008B78C(objectIndex);
|
||||
player = &gPlayerOne[object->unk_0D1];
|
||||
camera = &camera1[object->unk_0D1];
|
||||
temp_t4 = (0x8000 - camera->rot[1]);
|
||||
object->pos[0] = player->pos[0] + (coss(temp_t4) * (object->unk_010[0] + object->unk_028[0])) - (sins(temp_t4) * (object->unk_010[2] + object->unk_028[2]));
|
||||
object->pos[1] = 6.5 + player->unk_074 + object->unk_010[1] + object->unk_028[1];
|
||||
object->pos[2] = player->pos[2] + (sins(temp_t4) * (object->unk_010[0] + object->unk_028[0])) + (coss(temp_t4) * (object->unk_010[2] + object->unk_028[2]));
|
||||
func_8007C550(objectIndex);
|
||||
if (func_8007223C(objectIndex, 0x00000080) != 0) {
|
||||
object->unk_074 = D_800E44B0;
|
||||
} else {
|
||||
temp_s0->unk_074 = &D_800E4470;
|
||||
object->unk_074 = D_800E4470;
|
||||
}
|
||||
}
|
||||
var_s4 += 4;
|
||||
} while (var_s4 != &D_8018BFD0);
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007CC00.s")
|
||||
#endif
|
||||
|
||||
void func_8007CE0C(s32 objectIndex) {
|
||||
struct_80165C18_entry *temp_s0;
|
||||
|
|
@ -7232,35 +7142,17 @@ void func_80082E5C(void) {
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
|
||||
struct _struct_D_800E5DF4_0x8 {
|
||||
/* 0x0 */ s16 unk0; /* inferred */
|
||||
/* 0x2 */ s16 unk2; /* inferred */
|
||||
/* 0x4 */ s16 unk4; /* inferred */
|
||||
/* 0x6 */ u16 unk6; /* inferred */
|
||||
}; /* size = 0x8 */
|
||||
|
||||
extern ? D_06014794;
|
||||
extern ? D_06014798;
|
||||
extern f32 D_8018D01C;
|
||||
static struct _struct_D_800E5DF4_0x8 D_800E5DF4[0]; /* unable to generate initializer */
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// https://decomp.me/scratch/RquH0
|
||||
// Gollygee I sure love register allocation :^)
|
||||
void func_80082F1C(s32 objectIndex, s32 arg1) {
|
||||
struct _struct_D_800E5DF4_0x8 *sp24;
|
||||
struct _struct_D_800E5DF4_0x8 *temp_v0_2;
|
||||
struct_80165C18_entry *temp_v0;
|
||||
|
||||
temp_v0 = &D_80165C18[objectIndex];
|
||||
temp_v0->unk_070 = (s32) &D_06014798;
|
||||
temp_v0->unk_074 = (s32) &D_06014794;
|
||||
temp_v0->sizeScaling = 0.027f;
|
||||
D_80165C18[objectIndex].unk_070 = D_06014798;
|
||||
D_80165C18[objectIndex].unk_074 = D_06014794;
|
||||
D_80165C18[objectIndex].sizeScaling = 0.027f;
|
||||
func_80072488(objectIndex);
|
||||
temp_v0_2 = &D_800E5DF4[arg1];
|
||||
sp24 = temp_v0_2;
|
||||
func_8008B7D4(objectIndex, (f32) temp_v0_2->unk0 * D_8018D01C, (f32) temp_v0_2->unk2, (f32) temp_v0_2->unk4);
|
||||
func_8008B7D4(objectIndex, D_800E5DF4[arg1].pos[0] * D_8018D01C, D_800E5DF4[arg1].pos[1], D_800E5DF4[arg1].pos[2]);
|
||||
func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f);
|
||||
func_8008B888(objectIndex, 0U, temp_v0_2->unk6, 0U);
|
||||
func_8008B888(objectIndex, 0U, D_800E5DF4[arg1].rot, 0U);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80082F1C.s")
|
||||
|
|
@ -7285,7 +7177,7 @@ void func_80083080(void) {
|
|||
s32 objectIndex;
|
||||
s32 var_s1;
|
||||
|
||||
for (var_s1 = 0; var_s1 < 4; var_s1++) {
|
||||
for (var_s1 = 0; var_s1 < NUM_YV_FLAG_POLES; var_s1++) {
|
||||
objectIndex = D_80183EA0[var_s1];
|
||||
if (D_80165C18[objectIndex].unk_0A6 != 0) {
|
||||
func_80083018(objectIndex, var_s1);
|
||||
|
|
@ -8159,17 +8051,11 @@ void func_80085878(s32 objectIndex, s32 arg1) {
|
|||
func_80072488(objectIndex);
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit eefca95b040d7ee0c617bc58f9ac6cd1cf7bce87 on Aug-10-2023
|
||||
extern s32 D_8018D40C;
|
||||
|
||||
void func_800859C8(s32 objectIndex, s32 arg1) {
|
||||
s16 temp_v0;
|
||||
struct_80165C18_entry *temp_s0;
|
||||
|
||||
temp_s0 = &D_80165C18[objectIndex];
|
||||
temp_v0 = temp_s0->unk_0A6;
|
||||
switch (temp_v0) { /* irregular */
|
||||
switch (temp_s0->unk_0A6) { /* irregular */
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
|
|
@ -8184,9 +8070,6 @@ void func_800859C8(s32 objectIndex, s32 arg1) {
|
|||
}
|
||||
func_80074344(objectIndex, &temp_s0->unk_044, -0.8f, 0.8f, 0.03f, 0, -1);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_800859C8.s")
|
||||
#endif
|
||||
|
||||
void func_80085AA8(void) {
|
||||
s32 temp_s2;
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@
|
|||
#include "common_structs.h"
|
||||
#include "camera.h"
|
||||
|
||||
#define NUM_YV_FLAG_POLES 4
|
||||
|
||||
// This struct is used by a lot of different objects
|
||||
// Stars, clouds, exahust smoke (I think?)
|
||||
typedef struct {
|
||||
|
|
@ -12,6 +14,11 @@ typedef struct {
|
|||
u16 id;
|
||||
} StarSpawn;
|
||||
|
||||
typedef struct {
|
||||
Vec3s pos;
|
||||
u16 rot;
|
||||
} YVFlagPoleSpawn;
|
||||
|
||||
void func_80077D5C(s32);
|
||||
s32 find_unused_obj_index(s32*);
|
||||
void func_80071F6C(s32*);
|
||||
|
|
@ -204,6 +211,8 @@ void func_8007AC9C(s32);
|
|||
u8 gen_random_item(s16, s16);
|
||||
u8 func_8007AF40(s16, s16);
|
||||
u8 func_8007AF78(s32, s16);
|
||||
s16 func_8007AFB0(s32, s32);
|
||||
s32 func_8007B040(s32, s32);
|
||||
void func_8007B34C(s32);
|
||||
void func_8007BB9C(s32);
|
||||
void func_8007BBBC(s32);
|
||||
|
|
@ -212,6 +221,7 @@ void func_8007BDA8(void);
|
|||
void func_8007BDE0(s32);
|
||||
void func_8007BEC8(s32);
|
||||
void func_8007BFB0(s32);
|
||||
void func_8007CA70(void);
|
||||
void func_8007CC00(void);
|
||||
void func_8007C280(void);
|
||||
void func_8007C2F8(s32);
|
||||
|
|
@ -393,6 +403,8 @@ extern u8 d_course_moo_moo_farm_mole_frames[][2048];
|
|||
|
||||
// From Yoshi Valley course data, haven't created a .h file for it yet
|
||||
extern u8 gTLUTHedgehog[];
|
||||
extern animation_type_2 *D_06014794[];
|
||||
extern u32 D_06014798[];
|
||||
extern u8 gTextureHedgehog[];
|
||||
|
||||
// From Frappe Snowland course data, haven't created a .h file for it yet
|
||||
|
|
@ -404,7 +416,7 @@ extern u8 gTextureSnowmanBody[];
|
|||
|
||||
// From Sherbet Land course data, haven't created a .h file for it yet
|
||||
extern u32 D_06008EB0[]; // d_course_sherbet_land_unk_data1
|
||||
extern animation_type_2 D_06009AC8[]; // d_course_sherbet_land_unk_data11
|
||||
extern animation_type_2 *D_06009AC8[]; // d_course_sherbet_land_unk_data11
|
||||
extern u8 d_course_sherbet_land_ice[];
|
||||
|
||||
// From Rainbow Road course data, haven't created a .h file for it yet
|
||||
|
|
@ -429,6 +441,8 @@ extern u8 *D_8018C028;
|
|||
// I think the entires in this array are way over-sized
|
||||
extern u8 D_80183FA8[4][0x2000];
|
||||
|
||||
extern YVFlagPoleSpawn D_800E5DF4[NUM_YV_FLAG_POLES];
|
||||
|
||||
// Something related to the rotation(?) of ice in Sherbet Land
|
||||
extern u16 D_801657A2;
|
||||
|
||||
|
|
@ -464,5 +478,7 @@ extern Gfx D_0B008A90[];
|
|||
// The other entries appear to be unused.
|
||||
// data/data_code_80071F00_2.s
|
||||
extern Vec3s D_800E634C[3]; // static?
|
||||
extern Vtx D_800E4470[];
|
||||
extern Vtx D_800E44B0[];
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue