mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
Particles Matches (#439)
* Match func_800B26E0 * Match func_800AF714 * Match func_800B0BAC * WIP func_800AF404 * Run tidy again * Swap macro naming, and update README score.
This commit is contained in:
@@ -5,11 +5,11 @@ This repo contains a work-in-progress decompilation of Diddy Kong Racing for the
|
||||
Currently, only the US 1.0 version of the game is supported. US 1.1, EU 1.0, EU 1.1, and JP are not supported at this time.
|
||||
|
||||
<!-- README_SCORE_SUMMARY_BEGIN -->
|
||||
As of November 30, 2023, this is our current score:
|
||||
As of January 26, 2023, this is our current score:
|
||||
|
||||
    Decomp progress: 65.92%
|
||||
    Decomp progress: 66.48%
|
||||
|
||||
    Documentation progress: 35.21%
|
||||
    Documentation progress: 35.36%
|
||||
<!-- README_SCORE_SUMMARY_END -->
|
||||
|
||||
---
|
||||
@@ -125,30 +125,30 @@ s32 is_drumstick_unlocked(void) {
|
||||
```
|
||||
|
||||
<!-- README_SCORE_BEGIN -->
|
||||
As of November 30, 2023, this is our current score:
|
||||
As of January 26, 2023, this is our current score:
|
||||
```
|
||||
====================================================================
|
||||
ADVENTURE ONE (ASM -> C Decompilation)
|
||||
-------------- 65.92% Complete (68.87% NON_MATCHING) ---------------
|
||||
# Decompiled functions: 1678
|
||||
# GLOBAL_ASM remaining: 167
|
||||
-------------- 66.48% Complete (69.44% NON_MATCHING) ---------------
|
||||
# Decompiled functions: 1681
|
||||
# GLOBAL_ASM remaining: 164
|
||||
# NON_MATCHING functions: 16
|
||||
# NON_EQUIVALENT WIP functions: 54
|
||||
--------------------------- Game Status ----------------------------
|
||||
Balloons: 31/47, Keys: 3/4, Trophies: 3/5
|
||||
T.T. Amulets: 3/4, Wizpig Amulets: 3/4
|
||||
--------------------------------------------------------------------
|
||||
We are racing in Windmill Plains. (Lap 2/3)
|
||||
We are racing in Windmill Plains. (Lap 3/3)
|
||||
====================================================================
|
||||
ADVENTURE TWO (Cleanup & Documentation)
|
||||
------------------------- 35.21% Complete --------------------------
|
||||
# Documented functions: 825
|
||||
# Undocumented remaining: 743
|
||||
------------------------- 35.36% Complete --------------------------
|
||||
# Documented functions: 828
|
||||
# Undocumented remaining: 740
|
||||
--------------------------- Game Status ----------------------------
|
||||
Balloons: 17/47, Keys: 2/4, Trophies: 1/5
|
||||
T.T. Amulets: 2/4, Wizpig Amulets: 1/4
|
||||
--------------------------------------------------------------------
|
||||
We are collecting silver coins in Everfrost Peak. (2/8 silver coins)
|
||||
We are collecting silver coins in Everfrost Peak. (3/8 silver coins)
|
||||
====================================================================
|
||||
```
|
||||
<!-- README_SCORE_END -->
|
||||
|
||||
@@ -1,364 +0,0 @@
|
||||
glabel func_800AF714
|
||||
/* 0B0314 800AF714 27BDFF80 */ addiu $sp, $sp, -0x80
|
||||
/* 0B0318 800AF718 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* 0B031C 800AF71C AFBE0038 */ sw $fp, 0x38($sp)
|
||||
/* 0B0320 800AF720 AFB70034 */ sw $s7, 0x34($sp)
|
||||
/* 0B0324 800AF724 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* 0B0328 800AF728 AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* 0B032C 800AF72C AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 0B0330 800AF730 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 0B0334 800AF734 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 0B0338 800AF738 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 0B033C 800AF73C AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0B0340 800AF740 AFA50084 */ sw $a1, 0x84($sp)
|
||||
/* 0B0344 800AF744 8C930064 */ lw $s3, 0x64($a0)
|
||||
/* 0B0348 800AF748 8C970074 */ lw $s7, 0x74($a0)
|
||||
/* 0B034C 800AF74C 827E01D6 */ lb $fp, 0x1d6($s3)
|
||||
/* 0B0350 800AF750 00809025 */ move $s2, $a0
|
||||
/* 0B0354 800AF754 0C004B8A */ jal object_do_player_tumble
|
||||
/* 0B0358 800AF758 00008025 */ move $s0, $zero
|
||||
/* 0B035C 800AF75C 8E4E0040 */ lw $t6, 0x40($s2)
|
||||
/* 0B0360 800AF760 24160002 */ li $s6, 2
|
||||
/* 0B0364 800AF764 81CF0057 */ lb $t7, 0x57($t6)
|
||||
/* 0B0368 800AF768 241500FF */ li $s5, 255
|
||||
/* 0B036C 800AF76C 19E00125 */ blez $t7, .L800AFC04
|
||||
/* 0B0370 800AF770 3C14800E */ lui $s4, %hi(D_800E2E84) # $s4, 0x800e
|
||||
/* 0B0374 800AF774 3C11800E */ lui $s1, %hi(D_800E2D00) # $s1, 0x800e
|
||||
/* 0B0378 800AF778 26312D00 */ addiu $s1, %lo(D_800E2D00) # addiu $s1, $s1, 0x2d00
|
||||
/* 0B037C 800AF77C 26942E84 */ addiu $s4, %lo(D_800E2E84) # addiu $s4, $s4, 0x2e84
|
||||
.L800AF780:
|
||||
/* 0B0380 800AF780 32F80001 */ andi $t8, $s7, 1
|
||||
/* 0B0384 800AF784 130000E8 */ beqz $t8, .L800AFB28
|
||||
/* 0B0388 800AF788 00000000 */ nop
|
||||
/* 0B038C 800AF78C 13C00008 */ beqz $fp, .L800AF7B0
|
||||
/* 0B0390 800AF790 240B0001 */ li $t3, 1
|
||||
/* 0B0394 800AF794 24010001 */ li $at, 1
|
||||
/* 0B0398 800AF798 13C10099 */ beq $fp, $at, .L800AFA00
|
||||
/* 0B039C 800AF79C 00000000 */ nop
|
||||
/* 0B03A0 800AF7A0 13D60083 */ beq $fp, $s6, .L800AF9B0
|
||||
/* 0B03A4 800AF7A4 00000000 */ nop
|
||||
/* 0B03A8 800AF7A8 100000AA */ b .L800AFA54
|
||||
/* 0B03AC 800AF7AC 00000000 */ nop
|
||||
.L800AF7B0:
|
||||
/* 0B03B0 800AF7B0 0600004C */ bltz $s0, .L800AF8E4
|
||||
/* 0B03B4 800AF7B4 2A01000A */ slti $at, $s0, 0xa
|
||||
/* 0B03B8 800AF7B8 1020004B */ beqz $at, .L800AF8E8
|
||||
/* 0B03BC 800AF7BC 2401000A */ li $at, 10
|
||||
/* 0B03C0 800AF7C0 8662016E */ lh $v0, 0x16e($s3)
|
||||
/* 0B03C4 800AF7C4 00106140 */ sll $t4, $s0, 5
|
||||
/* 0B03C8 800AF7C8 04410002 */ bgez $v0, .L800AF7D4
|
||||
/* 0B03CC 800AF7CC 3C18800E */ lui $t8, %hi(gParticlesAssetTable) # $t8, 0x800e
|
||||
/* 0B03D0 800AF7D0 00021023 */ negu $v0, $v0
|
||||
.L800AF7D4:
|
||||
/* 0B03D4 800AF7D4 2442FFE8 */ addiu $v0, $v0, -0x18
|
||||
/* 0B03D8 800AF7D8 1840009E */ blez $v0, .L800AFA54
|
||||
/* 0B03DC 800AF7DC 28410021 */ slti $at, $v0, 0x21
|
||||
/* 0B03E0 800AF7E0 8E59006C */ lw $t9, 0x6c($s2)
|
||||
/* 0B03E4 800AF7E4 8F182CF0 */ lw $t8, %lo(gParticlesAssetTable)($t8)
|
||||
/* 0B03E8 800AF7E8 032C6821 */ addu $t5, $t9, $t4
|
||||
/* 0B03EC 800AF7EC 85AE0008 */ lh $t6, 8($t5)
|
||||
/* 0B03F0 800AF7F0 3C0D800E */ lui $t5, %hi(D_800E2EC4) # $t5, 0x800e
|
||||
/* 0B03F4 800AF7F4 000E7880 */ sll $t7, $t6, 2
|
||||
/* 0B03F8 800AF7F8 25AD2EC4 */ addiu $t5, %lo(D_800E2EC4) # addiu $t5, $t5, 0x2ec4
|
||||
/* 0B03FC 800AF7FC 00106080 */ sll $t4, $s0, 2
|
||||
/* 0B0400 800AF800 030FC821 */ addu $t9, $t8, $t7
|
||||
/* 0B0404 800AF804 8F270000 */ lw $a3, ($t9)
|
||||
/* 0B0408 800AF808 018D4021 */ addu $t0, $t4, $t5
|
||||
/* 0B040C 800AF80C 14200002 */ bnez $at, .L800AF818
|
||||
/* 0B0410 800AF810 250A0003 */ addiu $t2, $t0, 3
|
||||
/* 0B0414 800AF814 24020020 */ li $v0, 32
|
||||
.L800AF818:
|
||||
/* 0B0418 800AF818 00420019 */ multu $v0, $v0
|
||||
/* 0B041C 800AF81C 90E40014 */ lbu $a0, 0x14($a3)
|
||||
/* 0B0420 800AF820 910F0000 */ lbu $t7, ($t0)
|
||||
/* 0B0424 800AF824 00024900 */ sll $t1, $v0, 4
|
||||
/* 0B0428 800AF828 01E4C823 */ subu $t9, $t7, $a0
|
||||
/* 0B042C 800AF82C 28410011 */ slti $at, $v0, 0x11
|
||||
/* 0B0430 800AF830 00007012 */ mflo $t6
|
||||
/* 0B0434 800AF834 000EC083 */ sra $t8, $t6, 2
|
||||
/* 0B0438 800AF838 01381823 */ subu $v1, $t1, $t8
|
||||
/* 0B043C 800AF83C 03230019 */ multu $t9, $v1
|
||||
/* 0B0440 800AF840 91190001 */ lbu $t9, 1($t0)
|
||||
/* 0B0444 800AF844 00006012 */ mflo $t4
|
||||
/* 0B0448 800AF848 000C6A03 */ sra $t5, $t4, 8
|
||||
/* 0B044C 800AF84C 01A47021 */ addu $t6, $t5, $a0
|
||||
/* 0B0450 800AF850 000E7E00 */ sll $t7, $t6, 0x18
|
||||
/* 0B0454 800AF854 AE2F0000 */ sw $t7, ($s1)
|
||||
/* 0B0458 800AF858 90E50015 */ lbu $a1, 0x15($a3)
|
||||
/* 0B045C 800AF85C 00000000 */ nop
|
||||
/* 0B0460 800AF860 03256023 */ subu $t4, $t9, $a1
|
||||
/* 0B0464 800AF864 01830019 */ multu $t4, $v1
|
||||
/* 0B0468 800AF868 00006812 */ mflo $t5
|
||||
/* 0B046C 800AF86C 000D7203 */ sra $t6, $t5, 8
|
||||
/* 0B0470 800AF870 00AEC021 */ addu $t8, $a1, $t6
|
||||
/* 0B0474 800AF874 0018CC00 */ sll $t9, $t8, 0x10
|
||||
/* 0B0478 800AF878 01F96825 */ or $t5, $t7, $t9
|
||||
/* 0B047C 800AF87C AE2D0000 */ sw $t5, ($s1)
|
||||
/* 0B0480 800AF880 90E60016 */ lbu $a2, 0x16($a3)
|
||||
/* 0B0484 800AF884 910E0002 */ lbu $t6, 2($t0)
|
||||
/* 0B0488 800AF888 00000000 */ nop
|
||||
/* 0B048C 800AF88C 01C6C023 */ subu $t8, $t6, $a2
|
||||
/* 0B0490 800AF890 03030019 */ multu $t8, $v1
|
||||
/* 0B0494 800AF894 00007812 */ mflo $t7
|
||||
/* 0B0498 800AF898 000FCA03 */ sra $t9, $t7, 8
|
||||
/* 0B049C 800AF89C 00D96021 */ addu $t4, $a2, $t9
|
||||
/* 0B04A0 800AF8A0 000C7200 */ sll $t6, $t4, 8
|
||||
/* 0B04A4 800AF8A4 01AEC025 */ or $t8, $t5, $t6
|
||||
/* 0B04A8 800AF8A8 14200002 */ bnez $at, .L800AF8B4
|
||||
/* 0B04AC 800AF8AC AE380000 */ sw $t8, ($s1)
|
||||
/* 0B04B0 800AF8B0 24090100 */ li $t1, 256
|
||||
.L800AF8B4:
|
||||
/* 0B04B4 800AF8B4 90E20017 */ lbu $v0, 0x17($a3)
|
||||
/* 0B04B8 800AF8B8 91590000 */ lbu $t9, ($t2)
|
||||
/* 0B04BC 800AF8BC 8E2F0000 */ lw $t7, ($s1)
|
||||
/* 0B04C0 800AF8C0 03226023 */ subu $t4, $t9, $v0
|
||||
/* 0B04C4 800AF8C4 01890019 */ multu $t4, $t1
|
||||
/* 0B04C8 800AF8C8 3C01800E */ lui $at, %hi(D_800E2D00) # $at, 0x800e
|
||||
/* 0B04CC 800AF8CC 00006812 */ mflo $t5
|
||||
/* 0B04D0 800AF8D0 000D7203 */ sra $t6, $t5, 8
|
||||
/* 0B04D4 800AF8D4 004EC021 */ addu $t8, $v0, $t6
|
||||
/* 0B04D8 800AF8D8 01F8C825 */ or $t9, $t7, $t8
|
||||
/* 0B04DC 800AF8DC 1000005D */ b .L800AFA54
|
||||
/* 0B04E0 800AF8E0 AC392D00 */ sw $t9, %lo(D_800E2D00)($at)
|
||||
.L800AF8E4:
|
||||
/* 0B04E4 800AF8E4 2401000A */ li $at, 10
|
||||
.L800AF8E8:
|
||||
/* 0B04E8 800AF8E8 12010009 */ beq $s0, $at, .L800AF910
|
||||
/* 0B04EC 800AF8EC 2401000B */ li $at, 11
|
||||
/* 0B04F0 800AF8F0 12010011 */ beq $s0, $at, .L800AF938
|
||||
/* 0B04F4 800AF8F4 2401000C */ li $at, 12
|
||||
/* 0B04F8 800AF8F8 12010019 */ beq $s0, $at, .L800AF960
|
||||
/* 0B04FC 800AF8FC 2401000D */ li $at, 13
|
||||
/* 0B0500 800AF900 12010021 */ beq $s0, $at, .L800AF988
|
||||
/* 0B0504 800AF904 00000000 */ nop
|
||||
/* 0B0508 800AF908 10000052 */ b .L800AFA54
|
||||
/* 0B050C 800AF90C 00000000 */ nop
|
||||
.L800AF910:
|
||||
/* 0B0510 800AF910 926201DE */ lbu $v0, 0x1de($s3)
|
||||
/* 0B0514 800AF914 00000000 */ nop
|
||||
/* 0B0518 800AF918 16A20002 */ bne $s5, $v0, .L800AF924
|
||||
/* 0B051C 800AF91C 304C000F */ andi $t4, $v0, 0xf
|
||||
/* 0B0520 800AF920 00005825 */ move $t3, $zero
|
||||
.L800AF924:
|
||||
/* 0B0524 800AF924 000C6880 */ sll $t5, $t4, 2
|
||||
/* 0B0528 800AF928 028D7021 */ addu $t6, $s4, $t5
|
||||
/* 0B052C 800AF92C 8DCF0000 */ lw $t7, ($t6)
|
||||
/* 0B0530 800AF930 10000048 */ b .L800AFA54
|
||||
/* 0B0534 800AF934 AE2F0000 */ sw $t7, ($s1)
|
||||
.L800AF938:
|
||||
/* 0B0538 800AF938 926201DF */ lbu $v0, 0x1df($s3)
|
||||
/* 0B053C 800AF93C 00000000 */ nop
|
||||
/* 0B0540 800AF940 16A20002 */ bne $s5, $v0, .L800AF94C
|
||||
/* 0B0544 800AF944 3058000F */ andi $t8, $v0, 0xf
|
||||
/* 0B0548 800AF948 00005825 */ move $t3, $zero
|
||||
.L800AF94C:
|
||||
/* 0B054C 800AF94C 0018C880 */ sll $t9, $t8, 2
|
||||
/* 0B0550 800AF950 02996021 */ addu $t4, $s4, $t9
|
||||
/* 0B0554 800AF954 8D8D0000 */ lw $t5, ($t4)
|
||||
/* 0B0558 800AF958 1000003E */ b .L800AFA54
|
||||
/* 0B055C 800AF95C AE2D0000 */ sw $t5, ($s1)
|
||||
.L800AF960:
|
||||
/* 0B0560 800AF960 926201DC */ lbu $v0, 0x1dc($s3)
|
||||
/* 0B0564 800AF964 00000000 */ nop
|
||||
/* 0B0568 800AF968 16A20002 */ bne $s5, $v0, .L800AF974
|
||||
/* 0B056C 800AF96C 304E000F */ andi $t6, $v0, 0xf
|
||||
/* 0B0570 800AF970 00005825 */ move $t3, $zero
|
||||
.L800AF974:
|
||||
/* 0B0574 800AF974 000E7880 */ sll $t7, $t6, 2
|
||||
/* 0B0578 800AF978 028FC021 */ addu $t8, $s4, $t7
|
||||
/* 0B057C 800AF97C 8F190000 */ lw $t9, ($t8)
|
||||
/* 0B0580 800AF980 10000034 */ b .L800AFA54
|
||||
/* 0B0584 800AF984 AE390000 */ sw $t9, ($s1)
|
||||
.L800AF988:
|
||||
/* 0B0588 800AF988 926201DD */ lbu $v0, 0x1dd($s3)
|
||||
/* 0B058C 800AF98C 00000000 */ nop
|
||||
/* 0B0590 800AF990 16A20002 */ bne $s5, $v0, .L800AF99C
|
||||
/* 0B0594 800AF994 304C000F */ andi $t4, $v0, 0xf
|
||||
/* 0B0598 800AF998 00005825 */ move $t3, $zero
|
||||
.L800AF99C:
|
||||
/* 0B059C 800AF99C 000C6880 */ sll $t5, $t4, 2
|
||||
/* 0B05A0 800AF9A0 028D7021 */ addu $t6, $s4, $t5
|
||||
/* 0B05A4 800AF9A4 8DCF0000 */ lw $t7, ($t6)
|
||||
/* 0B05A8 800AF9A8 1000002A */ b .L800AFA54
|
||||
/* 0B05AC 800AF9AC AE2F0000 */ sw $t7, ($s1)
|
||||
.L800AF9B0:
|
||||
/* 0B05B0 800AF9B0 16000009 */ bnez $s0, .L800AF9D8
|
||||
/* 0B05B4 800AF9B4 24010001 */ li $at, 1
|
||||
/* 0B05B8 800AF9B8 927801DC */ lbu $t8, 0x1dc($s3)
|
||||
/* 0B05BC 800AF9BC 00000000 */ nop
|
||||
/* 0B05C0 800AF9C0 3319000F */ andi $t9, $t8, 0xf
|
||||
/* 0B05C4 800AF9C4 00196080 */ sll $t4, $t9, 2
|
||||
/* 0B05C8 800AF9C8 028C6821 */ addu $t5, $s4, $t4
|
||||
/* 0B05CC 800AF9CC 8DAE0000 */ lw $t6, ($t5)
|
||||
/* 0B05D0 800AF9D0 10000020 */ b .L800AFA54
|
||||
/* 0B05D4 800AF9D4 AE2E0000 */ sw $t6, ($s1)
|
||||
.L800AF9D8:
|
||||
/* 0B05D8 800AF9D8 1601001E */ bne $s0, $at, .L800AFA54
|
||||
/* 0B05DC 800AF9DC 00000000 */ nop
|
||||
/* 0B05E0 800AF9E0 926F01DD */ lbu $t7, 0x1dd($s3)
|
||||
/* 0B05E4 800AF9E4 00000000 */ nop
|
||||
/* 0B05E8 800AF9E8 31F8000F */ andi $t8, $t7, 0xf
|
||||
/* 0B05EC 800AF9EC 0018C880 */ sll $t9, $t8, 2
|
||||
/* 0B05F0 800AF9F0 02996021 */ addu $t4, $s4, $t9
|
||||
/* 0B05F4 800AF9F4 8D8D0000 */ lw $t5, ($t4)
|
||||
/* 0B05F8 800AF9F8 10000016 */ b .L800AFA54
|
||||
/* 0B05FC 800AF9FC AE2D0000 */ sw $t5, ($s1)
|
||||
.L800AFA00:
|
||||
/* 0B0600 800AFA00 12160003 */ beq $s0, $s6, .L800AFA10
|
||||
/* 0B0604 800AFA04 24010003 */ li $at, 3
|
||||
/* 0B0608 800AFA08 16010012 */ bne $s0, $at, .L800AFA54
|
||||
/* 0B060C 800AFA0C 00000000 */ nop
|
||||
.L800AFA10:
|
||||
/* 0B0610 800AFA10 826E0002 */ lb $t6, 2($s3)
|
||||
/* 0B0614 800AFA14 3C198012 */ lui $t9, %hi(D_80127C88) # $t9, 0x8012
|
||||
/* 0B0618 800AFA18 31CF0007 */ andi $t7, $t6, 7
|
||||
/* 0B061C 800AFA1C 000FC040 */ sll $t8, $t7, 1
|
||||
/* 0B0620 800AFA20 27397C88 */ addiu $t9, %lo(D_80127C88) # addiu $t9, $t9, 0x7c88
|
||||
/* 0B0624 800AFA24 8FAC0084 */ lw $t4, 0x84($sp)
|
||||
/* 0B0628 800AFA28 03191821 */ addu $v1, $t8, $t9
|
||||
/* 0B062C 800AFA2C 84620000 */ lh $v0, ($v1)
|
||||
/* 0B0630 800AFA30 000C6880 */ sll $t5, $t4, 2
|
||||
/* 0B0634 800AFA34 004D1021 */ addu $v0, $v0, $t5
|
||||
/* 0B0638 800AFA38 28410101 */ slti $at, $v0, 0x101
|
||||
/* 0B063C 800AFA3C 14200002 */ bnez $at, .L800AFA48
|
||||
/* 0B0640 800AFA40 00000000 */ nop
|
||||
/* 0B0644 800AFA44 24020100 */ li $v0, 256
|
||||
.L800AFA48:
|
||||
/* 0B0648 800AFA48 A4620000 */ sh $v0, ($v1)
|
||||
/* 0B064C 800AFA4C 3C01800E */ lui $at, %hi(gParticleOpacity) # $at, 0x800e
|
||||
/* 0B0650 800AFA50 AC222EEC */ sw $v0, %lo(gParticleOpacity)($at)
|
||||
.L800AFA54:
|
||||
/* 0B0654 800AFA54 11600060 */ beqz $t3, .L800AFBD8
|
||||
/* 0B0658 800AFA58 00000000 */ nop
|
||||
/* 0B065C 800AFA5C 8E46006C */ lw $a2, 0x6c($s2)
|
||||
/* 0B0660 800AFA60 00103940 */ sll $a3, $s0, 5
|
||||
/* 0B0664 800AFA64 00C71021 */ addu $v0, $a2, $a3
|
||||
/* 0B0668 800AFA68 84430004 */ lh $v1, 4($v0)
|
||||
/* 0B066C 800AFA6C 02402025 */ move $a0, $s2
|
||||
/* 0B0670 800AFA70 306E8000 */ andi $t6, $v1, 0x8000
|
||||
/* 0B0674 800AFA74 15C00009 */ bnez $t6, .L800AFA9C
|
||||
/* 0B0678 800AFA78 02002825 */ move $a1, $s0
|
||||
/* 0B067C 800AFA7C 0C02BD4B */ jal func_800AF52C
|
||||
/* 0B0680 800AFA80 AFA70044 */ sw $a3, 0x44($sp)
|
||||
/* 0B0684 800AFA84 8FA70044 */ lw $a3, 0x44($sp)
|
||||
/* 0B0688 800AFA88 8E46006C */ lw $a2, 0x6c($s2)
|
||||
/* 0B068C 800AFA8C 00000000 */ nop
|
||||
/* 0B0690 800AFA90 00C71021 */ addu $v0, $a2, $a3
|
||||
/* 0B0694 800AFA94 84430004 */ lh $v1, 4($v0)
|
||||
/* 0B0698 800AFA98 00000000 */ nop
|
||||
.L800AFA9C:
|
||||
/* 0B069C 800AFA9C 306F4000 */ andi $t7, $v1, 0x4000
|
||||
/* 0B06A0 800AFAA0 11E00007 */ beqz $t7, .L800AFAC0
|
||||
/* 0B06A4 800AFAA4 30790400 */ andi $t9, $v1, 0x400
|
||||
/* 0B06A8 800AFAA8 0010C140 */ sll $t8, $s0, 5
|
||||
/* 0B06AC 800AFAAC 00D82821 */ addu $a1, $a2, $t8
|
||||
/* 0B06B0 800AFAB0 0C02BF97 */ jal func_800AFE5C
|
||||
/* 0B06B4 800AFAB4 02402025 */ move $a0, $s2
|
||||
/* 0B06B8 800AFAB8 10000048 */ b .L800AFBDC
|
||||
/* 0B06BC 800AFABC AE200000 */ sw $zero, ($s1)
|
||||
.L800AFAC0:
|
||||
/* 0B06C0 800AFAC0 13200006 */ beqz $t9, .L800AFADC
|
||||
/* 0B06C4 800AFAC4 02402025 */ move $a0, $s2
|
||||
/* 0B06C8 800AFAC8 00106140 */ sll $t4, $s0, 5
|
||||
/* 0B06CC 800AFACC 0C02BF97 */ jal func_800AFE5C
|
||||
/* 0B06D0 800AFAD0 00CC2821 */ addu $a1, $a2, $t4
|
||||
/* 0B06D4 800AFAD4 10000041 */ b .L800AFBDC
|
||||
/* 0B06D8 800AFAD8 AE200000 */ sw $zero, ($s1)
|
||||
.L800AFADC:
|
||||
/* 0B06DC 800AFADC 844D000A */ lh $t5, 0xa($v0)
|
||||
/* 0B06E0 800AFAE0 8FAE0084 */ lw $t6, 0x84($sp)
|
||||
/* 0B06E4 800AFAE4 02402025 */ move $a0, $s2
|
||||
/* 0B06E8 800AFAE8 01AE7821 */ addu $t7, $t5, $t6
|
||||
/* 0B06EC 800AFAEC A44F000A */ sh $t7, 0xa($v0)
|
||||
/* 0B06F0 800AFAF0 8E46006C */ lw $a2, 0x6c($s2)
|
||||
/* 0B06F4 800AFAF4 00106940 */ sll $t5, $s0, 5
|
||||
/* 0B06F8 800AFAF8 00C71021 */ addu $v0, $a2, $a3
|
||||
/* 0B06FC 800AFAFC 8C590000 */ lw $t9, ($v0)
|
||||
/* 0B0700 800AFB00 8458000A */ lh $t8, 0xa($v0)
|
||||
/* 0B0704 800AFB04 872C0040 */ lh $t4, 0x40($t9)
|
||||
/* 0B0708 800AFB08 00000000 */ nop
|
||||
/* 0B070C 800AFB0C 030C082A */ slt $at, $t8, $t4
|
||||
/* 0B0710 800AFB10 14200031 */ bnez $at, .L800AFBD8
|
||||
/* 0B0714 800AFB14 00000000 */ nop
|
||||
/* 0B0718 800AFB18 0C02BF97 */ jal func_800AFE5C
|
||||
/* 0B071C 800AFB1C 00CD2821 */ addu $a1, $a2, $t5
|
||||
/* 0B0720 800AFB20 1000002E */ b .L800AFBDC
|
||||
/* 0B0724 800AFB24 AE200000 */ sw $zero, ($s1)
|
||||
.L800AFB28:
|
||||
/* 0B0728 800AFB28 8E46006C */ lw $a2, 0x6c($s2)
|
||||
/* 0B072C 800AFB2C 00107140 */ sll $t6, $s0, 5
|
||||
/* 0B0730 800AFB30 00CE1021 */ addu $v0, $a2, $t6
|
||||
/* 0B0734 800AFB34 84430004 */ lh $v1, 4($v0)
|
||||
/* 0B0738 800AFB38 00000000 */ nop
|
||||
/* 0B073C 800AFB3C 306F8000 */ andi $t7, $v1, 0x8000
|
||||
/* 0B0740 800AFB40 11E00025 */ beqz $t7, .L800AFBD8
|
||||
/* 0B0744 800AFB44 30794000 */ andi $t9, $v1, 0x4000
|
||||
/* 0B0748 800AFB48 13200009 */ beqz $t9, .L800AFB70
|
||||
/* 0B074C 800AFB4C 306C0400 */ andi $t4, $v1, 0x400
|
||||
/* 0B0750 800AFB50 0010C140 */ sll $t8, $s0, 5
|
||||
/* 0B0754 800AFB54 00D81021 */ addu $v0, $a2, $t8
|
||||
/* 0B0758 800AFB58 A0400006 */ sb $zero, 6($v0)
|
||||
/* 0B075C 800AFB5C 02402025 */ move $a0, $s2
|
||||
/* 0B0760 800AFB60 0C02BDB9 */ jal func_800AF6E4
|
||||
/* 0B0764 800AFB64 02002825 */ move $a1, $s0
|
||||
/* 0B0768 800AFB68 10000011 */ b .L800AFBB0
|
||||
/* 0B076C 800AFB6C 00000000 */ nop
|
||||
.L800AFB70:
|
||||
/* 0B0770 800AFB70 1180000D */ beqz $t4, .L800AFBA8
|
||||
/* 0B0774 800AFB74 02402025 */ move $a0, $s2
|
||||
/* 0B0778 800AFB78 00106940 */ sll $t5, $s0, 5
|
||||
/* 0B077C 800AFB7C 346E0200 */ ori $t6, $v1, 0x200
|
||||
/* 0B0780 800AFB80 00CD2021 */ addu $a0, $a2, $t5
|
||||
/* 0B0784 800AFB84 A44E0004 */ sh $t6, 4($v0)
|
||||
/* 0B0788 800AFB88 908F0006 */ lbu $t7, 6($a0)
|
||||
/* 0B078C 800AFB8C 02402025 */ move $a0, $s2
|
||||
/* 0B0790 800AFB90 15E00007 */ bnez $t7, .L800AFBB0
|
||||
/* 0B0794 800AFB94 00000000 */ nop
|
||||
/* 0B0798 800AFB98 0C02BDB9 */ jal func_800AF6E4
|
||||
/* 0B079C 800AFB9C 02002825 */ move $a1, $s0
|
||||
/* 0B07A0 800AFBA0 10000003 */ b .L800AFBB0
|
||||
/* 0B07A4 800AFBA4 00000000 */ nop
|
||||
.L800AFBA8:
|
||||
/* 0B07A8 800AFBA8 0C02BDB9 */ jal func_800AF6E4
|
||||
/* 0B07AC 800AFBAC 02002825 */ move $a1, $s0
|
||||
.L800AFBB0:
|
||||
/* 0B07B0 800AFBB0 12160003 */ beq $s0, $s6, .L800AFBC0
|
||||
/* 0B07B4 800AFBB4 24010003 */ li $at, 3
|
||||
/* 0B07B8 800AFBB8 16010007 */ bne $s0, $at, .L800AFBD8
|
||||
/* 0B07BC 800AFBBC 00000000 */ nop
|
||||
.L800AFBC0:
|
||||
/* 0B07C0 800AFBC0 82790002 */ lb $t9, 2($s3)
|
||||
/* 0B07C4 800AFBC4 3C018012 */ lui $at, %hi(D_80127C88) # $at, 0x8012
|
||||
/* 0B07C8 800AFBC8 33380007 */ andi $t8, $t9, 7
|
||||
/* 0B07CC 800AFBCC 00186040 */ sll $t4, $t8, 1
|
||||
/* 0B07D0 800AFBD0 002C0821 */ addu $at, $at, $t4
|
||||
/* 0B07D4 800AFBD4 A4207C88 */ sh $zero, %lo(D_80127C88)($at)
|
||||
.L800AFBD8:
|
||||
/* 0B07D8 800AFBD8 AE200000 */ sw $zero, ($s1)
|
||||
.L800AFBDC:
|
||||
/* 0B07DC 800AFBDC 240E0100 */ li $t6, 256
|
||||
/* 0B07E0 800AFBE0 3C01800E */ lui $at, %hi(gParticleOpacity) # $at, 0x800e
|
||||
/* 0B07E4 800AFBE4 AC2E2EEC */ sw $t6, %lo(gParticleOpacity)($at)
|
||||
/* 0B07E8 800AFBE8 8E4F0040 */ lw $t7, 0x40($s2)
|
||||
/* 0B07EC 800AFBEC 26100001 */ addiu $s0, $s0, 1
|
||||
/* 0B07F0 800AFBF0 81F90057 */ lb $t9, 0x57($t7)
|
||||
/* 0B07F4 800AFBF4 00176842 */ srl $t5, $s7, 1
|
||||
/* 0B07F8 800AFBF8 0219082A */ slt $at, $s0, $t9
|
||||
/* 0B07FC 800AFBFC 1420FEE0 */ bnez $at, .L800AF780
|
||||
/* 0B0800 800AFC00 01A0B825 */ move $s7, $t5
|
||||
.L800AFC04:
|
||||
/* 0B0804 800AFC04 0C004BCC */ jal object_undo_player_tumble
|
||||
/* 0B0808 800AFC08 02402025 */ move $a0, $s2
|
||||
/* 0B080C 800AFC0C 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* 0B0810 800AFC10 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 0B0814 800AFC14 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 0B0818 800AFC18 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 0B081C 800AFC1C 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 0B0820 800AFC20 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 0B0824 800AFC24 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* 0B0828 800AFC28 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* 0B082C 800AFC2C 8FB70034 */ lw $s7, 0x34($sp)
|
||||
/* 0B0830 800AFC30 8FBE0038 */ lw $fp, 0x38($sp)
|
||||
/* 0B0834 800AFC34 03E00008 */ jr $ra
|
||||
/* 0B0838 800AFC38 27BD0080 */ addiu $sp, $sp, 0x80
|
||||
|
||||
@@ -1,375 +0,0 @@
|
||||
glabel func_800B0BAC
|
||||
/* 0B17AC 800B0BAC 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* 0B17B0 800B0BB0 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 0B17B4 800B0BB4 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0B17B8 800B0BB8 84AF0008 */ lh $t7, 8($a1)
|
||||
/* 0B17BC 800B0BBC 3C0E800E */ lui $t6, %hi(gParticlesAssetTable) # $t6, 0x800e
|
||||
/* 0B17C0 800B0BC0 8DCE2CF0 */ lw $t6, %lo(gParticlesAssetTable)($t6)
|
||||
/* 0B17C4 800B0BC4 000FC080 */ sll $t8, $t7, 2
|
||||
/* 0B17C8 800B0BC8 01D8C821 */ addu $t9, $t6, $t8
|
||||
/* 0B17CC 800B0BCC 8F280000 */ lw $t0, ($t9)
|
||||
/* 0B17D0 800B0BD0 24010003 */ li $at, 3
|
||||
/* 0B17D4 800B0BD4 910A0000 */ lbu $t2, ($t0)
|
||||
/* 0B17D8 800B0BD8 00808025 */ move $s0, $a0
|
||||
/* 0B17DC 800B0BDC 11410003 */ beq $t2, $at, .L800B0BEC
|
||||
/* 0B17E0 800B0BE0 00A03025 */ move $a2, $a1
|
||||
/* 0B17E4 800B0BE4 1000014E */ b .L800B1120
|
||||
/* 0B17E8 800B0BE8 00001025 */ move $v0, $zero
|
||||
.L800B0BEC:
|
||||
/* 0B17EC 800B0BEC 8CC30000 */ lw $v1, ($a2)
|
||||
/* 0B17F0 800B0BF0 24040003 */ li $a0, 3
|
||||
/* 0B17F4 800B0BF4 8C69009C */ lw $t1, 0x9c($v1)
|
||||
/* 0B17F8 800B0BF8 AFA80034 */ sw $t0, 0x34($sp)
|
||||
/* 0B17FC 800B0BFC AFA6003C */ sw $a2, 0x3c($sp)
|
||||
/* 0B1800 800B0C00 AFA30028 */ sw $v1, 0x28($sp)
|
||||
/* 0B1804 800B0C04 0C02C72E */ jal func_800B1CB8
|
||||
/* 0B1808 800B0C08 AFA90024 */ sw $t1, 0x24($sp)
|
||||
/* 0B180C 800B0C0C 8FA30028 */ lw $v1, 0x28($sp)
|
||||
/* 0B1810 800B0C10 8FA6003C */ lw $a2, 0x3c($sp)
|
||||
/* 0B1814 800B0C14 8FA80034 */ lw $t0, 0x34($sp)
|
||||
/* 0B1818 800B0C18 8FA90024 */ lw $t1, 0x24($sp)
|
||||
/* 0B181C 800B0C1C 14400003 */ bnez $v0, .L800B0C2C
|
||||
/* 0B1820 800B0C20 00403825 */ move $a3, $v0
|
||||
/* 0B1824 800B0C24 1000013E */ b .L800B1120
|
||||
/* 0B1828 800B0C28 00001025 */ move $v0, $zero
|
||||
.L800B0C2C:
|
||||
/* 0B182C 800B0C2C 860B002E */ lh $t3, 0x2e($s0)
|
||||
/* 0B1830 800B0C30 240C8000 */ li $t4, -32768
|
||||
/* 0B1834 800B0C34 A44C0006 */ sh $t4, 6($v0)
|
||||
/* 0B1838 800B0C38 A44B002E */ sh $t3, 0x2e($v0)
|
||||
/* 0B183C 800B0C3C 910D0001 */ lbu $t5, 1($t0)
|
||||
/* 0B1840 800B0C40 00000000 */ nop
|
||||
/* 0B1844 800B0C44 A04D0039 */ sb $t5, 0x39($v0)
|
||||
/* 0B1848 800B0C48 950F0002 */ lhu $t7, 2($t0)
|
||||
/* 0B184C 800B0C4C AC50003C */ sw $s0, 0x3c($v0)
|
||||
/* 0B1850 800B0C50 AC460058 */ sw $a2, 0x58($v0)
|
||||
/* 0B1854 800B0C54 AC4F0040 */ sw $t7, 0x40($v0)
|
||||
/* 0B1858 800B0C58 C5040010 */ lwc1 $f4, 0x10($t0)
|
||||
/* 0B185C 800B0C5C C4660050 */ lwc1 $f6, 0x50($v1)
|
||||
/* 0B1860 800B0C60 00000000 */ nop
|
||||
/* 0B1864 800B0C64 46062202 */ mul.s $f8, $f4, $f6
|
||||
/* 0B1868 800B0C68 44802000 */ mtc1 $zero, $f4
|
||||
/* 0B186C 800B0C6C E4480008 */ swc1 $f8, 8($v0)
|
||||
/* 0B1870 800B0C70 C4700054 */ lwc1 $f16, 0x54($v1)
|
||||
/* 0B1874 800B0C74 C50A0010 */ lwc1 $f10, 0x10($t0)
|
||||
/* 0B1878 800B0C78 3C03800E */ lui $v1, %hi(D_800E2D00) # $v1, 0x800e
|
||||
/* 0B187C 800B0C7C 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 0B1880 800B0C80 E4520028 */ swc1 $f18, 0x28($v0)
|
||||
/* 0B1884 800B0C84 850E0008 */ lh $t6, 8($t0)
|
||||
/* 0B1888 800B0C88 A0400038 */ sb $zero, 0x38($v0)
|
||||
/* 0B188C 800B0C8C E4440034 */ swc1 $f4, 0x34($v0)
|
||||
/* 0B1890 800B0C90 A44E003A */ sh $t6, 0x3a($v0)
|
||||
/* 0B1894 800B0C94 8C632D00 */ lw $v1, %lo(D_800E2D00)($v1)
|
||||
/* 0B1898 800B0C98 00000000 */ nop
|
||||
/* 0B189C 800B0C9C 10600003 */ beqz $v1, .L800B0CAC
|
||||
/* 0B18A0 800B0CA0 00000000 */ nop
|
||||
/* 0B18A4 800B0CA4 1000000A */ b .L800B0CD0
|
||||
/* 0B18A8 800B0CA8 AC43006C */ sw $v1, 0x6c($v0)
|
||||
.L800B0CAC:
|
||||
/* 0B18AC 800B0CAC 91180014 */ lbu $t8, 0x14($t0)
|
||||
/* 0B18B0 800B0CB0 00000000 */ nop
|
||||
/* 0B18B4 800B0CB4 A058006C */ sb $t8, 0x6c($v0)
|
||||
/* 0B18B8 800B0CB8 91190015 */ lbu $t9, 0x15($t0)
|
||||
/* 0B18BC 800B0CBC 00000000 */ nop
|
||||
/* 0B18C0 800B0CC0 A059006D */ sb $t9, 0x6d($v0)
|
||||
/* 0B18C4 800B0CC4 910A0016 */ lbu $t2, 0x16($t0)
|
||||
/* 0B18C8 800B0CC8 00000000 */ nop
|
||||
/* 0B18CC 800B0CCC A04A006E */ sb $t2, 0x6e($v0)
|
||||
.L800B0CD0:
|
||||
/* 0B18D0 800B0CD0 8C4C0040 */ lw $t4, 0x40($v0)
|
||||
/* 0B18D4 800B0CD4 910B0017 */ lbu $t3, 0x17($t0)
|
||||
/* 0B18D8 800B0CD8 318D0800 */ andi $t5, $t4, 0x800
|
||||
/* 0B18DC 800B0CDC 11A00014 */ beqz $t5, .L800B0D30
|
||||
/* 0B18E0 800B0CE0 A04B006F */ sb $t3, 0x6f($v0)
|
||||
/* 0B18E4 800B0CE4 8E030054 */ lw $v1, 0x54($s0)
|
||||
/* 0B18E8 800B0CE8 3C01437F */ li $at, 0x437F0000 # 255.000000
|
||||
/* 0B18EC 800B0CEC 10600010 */ beqz $v1, .L800B0D30
|
||||
/* 0B18F0 800B0CF0 00000000 */ nop
|
||||
/* 0B18F4 800B0CF4 C4660000 */ lwc1 $f6, ($v1)
|
||||
/* 0B18F8 800B0CF8 44814000 */ mtc1 $at, $f8
|
||||
/* 0B18FC 800B0CFC 00000000 */ nop
|
||||
/* 0B1900 800B0D00 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 0B1904 800B0D04 444FF800 */ cfc1 $t7, $31
|
||||
/* 0B1908 800B0D08 00000000 */ nop
|
||||
/* 0B190C 800B0D0C 35E10003 */ ori $at, $t7, 3
|
||||
/* 0B1910 800B0D10 38210002 */ xori $at, $at, 2
|
||||
/* 0B1914 800B0D14 44C1F800 */ ctc1 $at, $31
|
||||
/* 0B1918 800B0D18 00000000 */ nop
|
||||
/* 0B191C 800B0D1C 46005424 */ cvt.w.s $f16, $f10
|
||||
/* 0B1920 800B0D20 440E8000 */ mfc1 $t6, $f16
|
||||
/* 0B1924 800B0D24 44CFF800 */ ctc1 $t7, $31
|
||||
/* 0B1928 800B0D28 10000003 */ b .L800B0D38
|
||||
/* 0B192C 800B0D2C A44E004A */ sh $t6, 0x4a($v0)
|
||||
.L800B0D30:
|
||||
/* 0B1930 800B0D30 241800FF */ li $t8, 255
|
||||
/* 0B1934 800B0D34 A458004A */ sh $t8, 0x4a($v0)
|
||||
.L800B0D38:
|
||||
/* 0B1938 800B0D38 8519000E */ lh $t9, 0xe($t0)
|
||||
/* 0B193C 800B0D3C 00000000 */ nop
|
||||
/* 0B1940 800B0D40 A4590060 */ sh $t9, 0x60($v0)
|
||||
/* 0B1944 800B0D44 910A000C */ lbu $t2, 0xc($t0)
|
||||
/* 0B1948 800B0D48 00000000 */ nop
|
||||
/* 0B194C 800B0D4C 000A5A00 */ sll $t3, $t2, 8
|
||||
/* 0B1950 800B0D50 A44B005C */ sh $t3, 0x5c($v0)
|
||||
/* 0B1954 800B0D54 910C000C */ lbu $t4, 0xc($t0)
|
||||
/* 0B1958 800B0D58 00000000 */ nop
|
||||
/* 0B195C 800B0D5C 298100FF */ slti $at, $t4, 0xff
|
||||
/* 0B1960 800B0D60 1020000F */ beqz $at, .L800B0DA0
|
||||
/* 0B1964 800B0D64 00000000 */ nop
|
||||
/* 0B1968 800B0D68 8C4D0040 */ lw $t5, 0x40($v0)
|
||||
/* 0B196C 800B0D6C 00000000 */ nop
|
||||
/* 0B1970 800B0D70 31AF1000 */ andi $t7, $t5, 0x1000
|
||||
/* 0B1974 800B0D74 11E00006 */ beqz $t7, .L800B0D90
|
||||
/* 0B1978 800B0D78 00000000 */ nop
|
||||
/* 0B197C 800B0D7C 844E0006 */ lh $t6, 6($v0)
|
||||
/* 0B1980 800B0D80 00000000 */ nop
|
||||
/* 0B1984 800B0D84 35D80100 */ ori $t8, $t6, 0x100
|
||||
/* 0B1988 800B0D88 10000005 */ b .L800B0DA0
|
||||
/* 0B198C 800B0D8C A4580006 */ sh $t8, 6($v0)
|
||||
.L800B0D90:
|
||||
/* 0B1990 800B0D90 84590006 */ lh $t9, 6($v0)
|
||||
/* 0B1994 800B0D94 00000000 */ nop
|
||||
/* 0B1998 800B0D98 372A0080 */ ori $t2, $t9, 0x80
|
||||
/* 0B199C 800B0D9C A44A0006 */ sh $t2, 6($v0)
|
||||
.L800B0DA0:
|
||||
/* 0B19A0 800B0DA0 84440060 */ lh $a0, 0x60($v0)
|
||||
/* 0B19A4 800B0DA4 8443003A */ lh $v1, 0x3a($v0)
|
||||
/* 0B19A8 800B0DA8 00000000 */ nop
|
||||
/* 0B19AC 800B0DAC 0083082A */ slt $at, $a0, $v1
|
||||
/* 0B19B0 800B0DB0 10200014 */ beqz $at, .L800B0E04
|
||||
/* 0B19B4 800B0DB4 00000000 */ nop
|
||||
/* 0B19B8 800B0DB8 910B000D */ lbu $t3, 0xd($t0)
|
||||
/* 0B19BC 800B0DBC 910C000C */ lbu $t4, 0xc($t0)
|
||||
/* 0B19C0 800B0DC0 00647023 */ subu $t6, $v1, $a0
|
||||
/* 0B19C4 800B0DC4 016C6823 */ subu $t5, $t3, $t4
|
||||
/* 0B19C8 800B0DC8 000D7A00 */ sll $t7, $t5, 8
|
||||
/* 0B19CC 800B0DCC 01EE001A */ div $zero, $t7, $t6
|
||||
/* 0B19D0 800B0DD0 15C00002 */ bnez $t6, .L800B0DDC
|
||||
/* 0B19D4 800B0DD4 00000000 */ nop
|
||||
/* 0B19D8 800B0DD8 0007000D */ break 7
|
||||
.L800B0DDC:
|
||||
/* 0B19DC 800B0DDC 2401FFFF */ li $at, -1
|
||||
/* 0B19E0 800B0DE0 15C10004 */ bne $t6, $at, .L800B0DF4
|
||||
/* 0B19E4 800B0DE4 3C018000 */ lui $at, 0x8000
|
||||
/* 0B19E8 800B0DE8 15E10002 */ bne $t7, $at, .L800B0DF4
|
||||
/* 0B19EC 800B0DEC 00000000 */ nop
|
||||
/* 0B19F0 800B0DF0 0006000D */ break 6
|
||||
.L800B0DF4:
|
||||
/* 0B19F4 800B0DF4 0000C012 */ mflo $t8
|
||||
/* 0B19F8 800B0DF8 A458005E */ sh $t8, 0x5e($v0)
|
||||
/* 0B19FC 800B0DFC 10000003 */ b .L800B0E0C
|
||||
/* 0B1A00 800B0E00 84D90018 */ lh $t9, 0x18($a2)
|
||||
.L800B0E04:
|
||||
/* 0B1A04 800B0E04 A440005E */ sh $zero, 0x5e($v0)
|
||||
/* 0B1A08 800B0E08 84D90018 */ lh $t9, 0x18($a2)
|
||||
.L800B0E0C:
|
||||
/* 0B1A0C 800B0E0C 84CA001A */ lh $t2, 0x1a($a2)
|
||||
/* 0B1A10 800B0E10 84CB001C */ lh $t3, 0x1c($a2)
|
||||
/* 0B1A14 800B0E14 44999000 */ mtc1 $t9, $f18
|
||||
/* 0B1A18 800B0E18 448A3000 */ mtc1 $t2, $f6
|
||||
/* 0B1A1C 800B0E1C 448B5000 */ mtc1 $t3, $f10
|
||||
/* 0B1A20 800B0E20 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 0B1A24 800B0E24 02002025 */ move $a0, $s0
|
||||
/* 0B1A28 800B0E28 24C5000C */ addiu $a1, $a2, 0xc
|
||||
/* 0B1A2C 800B0E2C 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 0B1A30 800B0E30 E4C4000C */ swc1 $f4, 0xc($a2)
|
||||
/* 0B1A34 800B0E34 46805420 */ cvt.s.w $f16, $f10
|
||||
/* 0B1A38 800B0E38 E4C80010 */ swc1 $f8, 0x10($a2)
|
||||
/* 0B1A3C 800B0E3C E4D00014 */ swc1 $f16, 0x14($a2)
|
||||
/* 0B1A40 800B0E40 AFA90024 */ sw $t1, 0x24($sp)
|
||||
/* 0B1A44 800B0E44 AFA80034 */ sw $t0, 0x34($sp)
|
||||
/* 0B1A48 800B0E48 AFA70030 */ sw $a3, 0x30($sp)
|
||||
/* 0B1A4C 800B0E4C 0C01C0C8 */ jal f32_vec3_apply_object_rotation
|
||||
/* 0B1A50 800B0E50 AFA6003C */ sw $a2, 0x3c($sp)
|
||||
/* 0B1A54 800B0E54 8FA6003C */ lw $a2, 0x3c($sp)
|
||||
/* 0B1A58 800B0E58 C604000C */ lwc1 $f4, 0xc($s0)
|
||||
/* 0B1A5C 800B0E5C C4D2000C */ lwc1 $f18, 0xc($a2)
|
||||
/* 0B1A60 800B0E60 8FA70030 */ lw $a3, 0x30($sp)
|
||||
/* 0B1A64 800B0E64 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 0B1A68 800B0E68 8FA80034 */ lw $t0, 0x34($sp)
|
||||
/* 0B1A6C 800B0E6C 8FA90024 */ lw $t1, 0x24($sp)
|
||||
/* 0B1A70 800B0E70 E4C6000C */ swc1 $f6, 0xc($a2)
|
||||
/* 0B1A74 800B0E74 C60A0010 */ lwc1 $f10, 0x10($s0)
|
||||
/* 0B1A78 800B0E78 C4C80010 */ lwc1 $f8, 0x10($a2)
|
||||
/* 0B1A7C 800B0E7C C4D20014 */ lwc1 $f18, 0x14($a2)
|
||||
/* 0B1A80 800B0E80 460A4400 */ add.s $f16, $f8, $f10
|
||||
/* 0B1A84 800B0E84 2402FFFF */ li $v0, -1
|
||||
/* 0B1A88 800B0E88 E4D00010 */ swc1 $f16, 0x10($a2)
|
||||
/* 0B1A8C 800B0E8C C6040014 */ lwc1 $f4, 0x14($s0)
|
||||
/* 0B1A90 800B0E90 00000000 */ nop
|
||||
/* 0B1A94 800B0E94 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 0B1A98 800B0E98 E4C60014 */ swc1 $f6, 0x14($a2)
|
||||
/* 0B1A9C 800B0E9C A0E00068 */ sb $zero, 0x68($a3)
|
||||
/* 0B1AA0 800B0EA0 A0E0006A */ sb $zero, 0x6a($a3)
|
||||
/* 0B1AA4 800B0EA4 A0E2006B */ sb $v0, 0x6b($a3)
|
||||
/* 0B1AA8 800B0EA8 850C0006 */ lh $t4, 6($t0)
|
||||
/* 0B1AAC 800B0EAC A4E00018 */ sh $zero, 0x18($a3)
|
||||
/* 0B1AB0 800B0EB0 A4EC001A */ sh $t4, 0x1a($a3)
|
||||
/* 0B1AB4 800B0EB4 85040004 */ lh $a0, 4($t0)
|
||||
/* 0B1AB8 800B0EB8 8CE30044 */ lw $v1, 0x44($a3)
|
||||
/* 0B1ABC 800B0EBC 14440003 */ bne $v0, $a0, .L800B0ECC
|
||||
/* 0B1AC0 800B0EC0 00000000 */ nop
|
||||
/* 0B1AC4 800B0EC4 1000002C */ b .L800B0F78
|
||||
/* 0B1AC8 800B0EC8 AC600000 */ sw $zero, ($v1)
|
||||
.L800B0ECC:
|
||||
/* 0B1ACC 800B0ECC AFA3002C */ sw $v1, 0x2c($sp)
|
||||
/* 0B1AD0 800B0ED0 AFA6003C */ sw $a2, 0x3c($sp)
|
||||
/* 0B1AD4 800B0ED4 AFA70030 */ sw $a3, 0x30($sp)
|
||||
/* 0B1AD8 800B0ED8 AFA80034 */ sw $t0, 0x34($sp)
|
||||
/* 0B1ADC 800B0EDC 0C01EB9D */ jal load_texture
|
||||
/* 0B1AE0 800B0EE0 AFA90024 */ sw $t1, 0x24($sp)
|
||||
/* 0B1AE4 800B0EE4 8FA3002C */ lw $v1, 0x2c($sp)
|
||||
/* 0B1AE8 800B0EE8 8FA6003C */ lw $a2, 0x3c($sp)
|
||||
/* 0B1AEC 800B0EEC 8FA70030 */ lw $a3, 0x30($sp)
|
||||
/* 0B1AF0 800B0EF0 8FA80034 */ lw $t0, 0x34($sp)
|
||||
/* 0B1AF4 800B0EF4 8FA90024 */ lw $t1, 0x24($sp)
|
||||
/* 0B1AF8 800B0EF8 1040001F */ beqz $v0, .L800B0F78
|
||||
/* 0B1AFC 800B0EFC AC620000 */ sw $v0, ($v1)
|
||||
/* 0B1B00 800B0F00 844F0006 */ lh $t7, 6($v0)
|
||||
/* 0B1B04 800B0F04 00000000 */ nop
|
||||
/* 0B1B08 800B0F08 31EE0004 */ andi $t6, $t7, 4
|
||||
/* 0B1B0C 800B0F0C 11C0000F */ beqz $t6, .L800B0F4C
|
||||
/* 0B1B10 800B0F10 00000000 */ nop
|
||||
/* 0B1B14 800B0F14 8CF80040 */ lw $t8, 0x40($a3)
|
||||
/* 0B1B18 800B0F18 00000000 */ nop
|
||||
/* 0B1B1C 800B0F1C 33191000 */ andi $t9, $t8, 0x1000
|
||||
/* 0B1B20 800B0F20 13200006 */ beqz $t9, .L800B0F3C
|
||||
/* 0B1B24 800B0F24 00000000 */ nop
|
||||
/* 0B1B28 800B0F28 84EA0006 */ lh $t2, 6($a3)
|
||||
/* 0B1B2C 800B0F2C 00000000 */ nop
|
||||
/* 0B1B30 800B0F30 354B0100 */ ori $t3, $t2, 0x100
|
||||
/* 0B1B34 800B0F34 10000005 */ b .L800B0F4C
|
||||
/* 0B1B38 800B0F38 A4EB0006 */ sh $t3, 6($a3)
|
||||
.L800B0F3C:
|
||||
/* 0B1B3C 800B0F3C 84EC0006 */ lh $t4, 6($a3)
|
||||
/* 0B1B40 800B0F40 00000000 */ nop
|
||||
/* 0B1B44 800B0F44 358D0080 */ ori $t5, $t4, 0x80
|
||||
/* 0B1B48 800B0F48 A4ED0006 */ sh $t5, 6($a3)
|
||||
.L800B0F4C:
|
||||
/* 0B1B4C 800B0F4C 8CEF0040 */ lw $t7, 0x40($a3)
|
||||
/* 0B1B50 800B0F50 24010002 */ li $at, 2
|
||||
/* 0B1B54 800B0F54 31EE0003 */ andi $t6, $t7, 3
|
||||
/* 0B1B58 800B0F58 15C10007 */ bne $t6, $at, .L800B0F78
|
||||
/* 0B1B5C 800B0F5C 00000000 */ nop
|
||||
/* 0B1B60 800B0F60 8C780000 */ lw $t8, ($v1)
|
||||
/* 0B1B64 800B0F64 00000000 */ nop
|
||||
/* 0B1B68 800B0F68 97190012 */ lhu $t9, 0x12($t8)
|
||||
/* 0B1B6C 800B0F6C 00000000 */ nop
|
||||
/* 0B1B70 800B0F70 272AFFFF */ addiu $t2, $t9, -1
|
||||
/* 0B1B74 800B0F74 A4EA0018 */ sh $t2, 0x18($a3)
|
||||
.L800B0F78:
|
||||
/* 0B1B78 800B0F78 444BF800 */ cfc1 $t3, $31
|
||||
/* 0B1B7C 800B0F7C C4C8000C */ lwc1 $f8, 0xc($a2)
|
||||
/* 0B1B80 800B0F80 35610003 */ ori $at, $t3, 3
|
||||
/* 0B1B84 800B0F84 38210002 */ xori $at, $at, 2
|
||||
/* 0B1B88 800B0F88 44C1F800 */ ctc1 $at, $31
|
||||
/* 0B1B8C 800B0F8C 8C6D0008 */ lw $t5, 8($v1)
|
||||
/* 0B1B90 800B0F90 460042A4 */ cvt.w.s $f10, $f8
|
||||
/* 0B1B94 800B0F94 44CBF800 */ ctc1 $t3, $31
|
||||
/* 0B1B98 800B0F98 440C5000 */ mfc1 $t4, $f10
|
||||
/* 0B1B9C 800B0F9C 00000000 */ nop
|
||||
/* 0B1BA0 800B0FA0 444FF800 */ cfc1 $t7, $31
|
||||
/* 0B1BA4 800B0FA4 A5AC0000 */ sh $t4, ($t5)
|
||||
/* 0B1BA8 800B0FA8 35E10003 */ ori $at, $t7, 3
|
||||
/* 0B1BAC 800B0FAC 38210002 */ xori $at, $at, 2
|
||||
/* 0B1BB0 800B0FB0 44C1F800 */ ctc1 $at, $31
|
||||
/* 0B1BB4 800B0FB4 C4D00010 */ lwc1 $f16, 0x10($a2)
|
||||
/* 0B1BB8 800B0FB8 8C780008 */ lw $t8, 8($v1)
|
||||
/* 0B1BBC 800B0FBC 460084A4 */ cvt.w.s $f18, $f16
|
||||
/* 0B1BC0 800B0FC0 44CFF800 */ ctc1 $t7, $31
|
||||
/* 0B1BC4 800B0FC4 440E9000 */ mfc1 $t6, $f18
|
||||
/* 0B1BC8 800B0FC8 00000000 */ nop
|
||||
/* 0B1BCC 800B0FCC 4459F800 */ cfc1 $t9, $31
|
||||
/* 0B1BD0 800B0FD0 A70E0002 */ sh $t6, 2($t8)
|
||||
/* 0B1BD4 800B0FD4 37210003 */ ori $at, $t9, 3
|
||||
/* 0B1BD8 800B0FD8 38210002 */ xori $at, $at, 2
|
||||
/* 0B1BDC 800B0FDC 44C1F800 */ ctc1 $at, $31
|
||||
/* 0B1BE0 800B0FE0 C4C40014 */ lwc1 $f4, 0x14($a2)
|
||||
/* 0B1BE4 800B0FE4 8C6B0008 */ lw $t3, 8($v1)
|
||||
/* 0B1BE8 800B0FE8 460021A4 */ cvt.w.s $f6, $f4
|
||||
/* 0B1BEC 800B0FEC 2401FFFF */ li $at, -1
|
||||
/* 0B1BF0 800B0FF0 440A3000 */ mfc1 $t2, $f6
|
||||
/* 0B1BF4 800B0FF4 44D9F800 */ ctc1 $t9, $31
|
||||
/* 0B1BF8 800B0FF8 11210026 */ beq $t1, $at, .L800B1094
|
||||
/* 0B1BFC 800B0FFC A56A0004 */ sh $t2, 4($t3)
|
||||
/* 0B1C00 800B1000 84CC001E */ lh $t4, 0x1e($a2)
|
||||
/* 0B1C04 800B1004 00000000 */ nop
|
||||
/* 0B1C08 800B1008 258D0001 */ addiu $t5, $t4, 1
|
||||
/* 0B1C0C 800B100C A4CD001E */ sh $t5, 0x1e($a2)
|
||||
/* 0B1C10 800B1010 8D2F0000 */ lw $t7, ($t1)
|
||||
/* 0B1C14 800B1014 84C2001E */ lh $v0, 0x1e($a2)
|
||||
/* 0B1C18 800B1018 00000000 */ nop
|
||||
/* 0B1C1C 800B101C 004F082A */ slt $at, $v0, $t7
|
||||
/* 0B1C20 800B1020 14200005 */ bnez $at, .L800B1038
|
||||
/* 0B1C24 800B1024 000270C0 */ sll $t6, $v0, 3
|
||||
/* 0B1C28 800B1028 A4C0001E */ sh $zero, 0x1e($a2)
|
||||
/* 0B1C2C 800B102C 84C2001E */ lh $v0, 0x1e($a2)
|
||||
/* 0B1C30 800B1030 00000000 */ nop
|
||||
/* 0B1C34 800B1034 000270C0 */ sll $t6, $v0, 3
|
||||
.L800B1038:
|
||||
/* 0B1C38 800B1038 012EC021 */ addu $t8, $t1, $t6
|
||||
/* 0B1C3C 800B103C 93190014 */ lbu $t9, 0x14($t8)
|
||||
/* 0B1C40 800B1040 8C6A0008 */ lw $t2, 8($v1)
|
||||
/* 0B1C44 800B1044 00000000 */ nop
|
||||
/* 0B1C48 800B1048 A1590006 */ sb $t9, 6($t2)
|
||||
/* 0B1C4C 800B104C 84CB001E */ lh $t3, 0x1e($a2)
|
||||
/* 0B1C50 800B1050 8C6E0008 */ lw $t6, 8($v1)
|
||||
/* 0B1C54 800B1054 000B60C0 */ sll $t4, $t3, 3
|
||||
/* 0B1C58 800B1058 012C6821 */ addu $t5, $t1, $t4
|
||||
/* 0B1C5C 800B105C 91AF0015 */ lbu $t7, 0x15($t5)
|
||||
/* 0B1C60 800B1060 00000000 */ nop
|
||||
/* 0B1C64 800B1064 A1CF0007 */ sb $t7, 7($t6)
|
||||
/* 0B1C68 800B1068 84D8001E */ lh $t8, 0x1e($a2)
|
||||
/* 0B1C6C 800B106C 8C6C0008 */ lw $t4, 8($v1)
|
||||
/* 0B1C70 800B1070 0018C8C0 */ sll $t9, $t8, 3
|
||||
/* 0B1C74 800B1074 01395021 */ addu $t2, $t1, $t9
|
||||
/* 0B1C78 800B1078 914B0016 */ lbu $t3, 0x16($t2)
|
||||
/* 0B1C7C 800B107C 00000000 */ nop
|
||||
/* 0B1C80 800B1080 A18B0008 */ sb $t3, 8($t4)
|
||||
/* 0B1C84 800B1084 8C6F0008 */ lw $t7, 8($v1)
|
||||
/* 0B1C88 800B1088 90CD0006 */ lbu $t5, 6($a2)
|
||||
/* 0B1C8C 800B108C 10000011 */ b .L800B10D4
|
||||
/* 0B1C90 800B1090 A1ED0009 */ sb $t5, 9($t7)
|
||||
.L800B1094:
|
||||
/* 0B1C94 800B1094 90EE006C */ lbu $t6, 0x6c($a3)
|
||||
/* 0B1C98 800B1098 8C780008 */ lw $t8, 8($v1)
|
||||
/* 0B1C9C 800B109C 00000000 */ nop
|
||||
/* 0B1CA0 800B10A0 A30E0006 */ sb $t6, 6($t8)
|
||||
/* 0B1CA4 800B10A4 8C6A0008 */ lw $t2, 8($v1)
|
||||
/* 0B1CA8 800B10A8 90F9006D */ lbu $t9, 0x6d($a3)
|
||||
/* 0B1CAC 800B10AC 00000000 */ nop
|
||||
/* 0B1CB0 800B10B0 A1590007 */ sb $t9, 7($t2)
|
||||
/* 0B1CB4 800B10B4 8C6C0008 */ lw $t4, 8($v1)
|
||||
/* 0B1CB8 800B10B8 90EB006E */ lbu $t3, 0x6e($a3)
|
||||
/* 0B1CBC 800B10BC 00000000 */ nop
|
||||
/* 0B1CC0 800B10C0 A18B0008 */ sb $t3, 8($t4)
|
||||
/* 0B1CC4 800B10C4 8C6F0008 */ lw $t7, 8($v1)
|
||||
/* 0B1CC8 800B10C8 90CD0006 */ lbu $t5, 6($a2)
|
||||
/* 0B1CCC 800B10CC 00000000 */ nop
|
||||
/* 0B1CD0 800B10D0 A1ED0009 */ sb $t5, 9($t7)
|
||||
.L800B10D4:
|
||||
/* 0B1CD4 800B10D4 950E000A */ lhu $t6, 0xa($t0)
|
||||
/* 0B1CD8 800B10D8 00E01025 */ move $v0, $a3
|
||||
/* 0B1CDC 800B10DC 000EC282 */ srl $t8, $t6, 0xa
|
||||
/* 0B1CE0 800B10E0 A0F8006A */ sb $t8, 0x6a($a3)
|
||||
/* 0B1CE4 800B10E4 8D190008 */ lw $t9, 8($t0)
|
||||
/* 0B1CE8 800B10E8 00000000 */ nop
|
||||
/* 0B1CEC 800B10EC 00195580 */ sll $t2, $t9, 0x16
|
||||
/* 0B1CF0 800B10F0 000A5E82 */ srl $t3, $t2, 0x1a
|
||||
/* 0B1CF4 800B10F4 A0EB006B */ sb $t3, 0x6b($a3)
|
||||
/* 0B1CF8 800B10F8 C608000C */ lwc1 $f8, 0xc($s0)
|
||||
/* 0B1CFC 800B10FC 00000000 */ nop
|
||||
/* 0B1D00 800B1100 E4E8000C */ swc1 $f8, 0xc($a3)
|
||||
/* 0B1D04 800B1104 C60A0010 */ lwc1 $f10, 0x10($s0)
|
||||
/* 0B1D08 800B1108 00000000 */ nop
|
||||
/* 0B1D0C 800B110C E4EA0010 */ swc1 $f10, 0x10($a3)
|
||||
/* 0B1D10 800B1110 C6100014 */ lwc1 $f16, 0x14($s0)
|
||||
/* 0B1D14 800B1114 00000000 */ nop
|
||||
/* 0B1D18 800B1118 E4F00014 */ swc1 $f16, 0x14($a3)
|
||||
/* 0B1D1C 800B111C A4C0000A */ sh $zero, 0xa($a2)
|
||||
.L800B1120:
|
||||
/* 0B1D20 800B1120 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 0B1D24 800B1124 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 0B1D28 800B1128 03E00008 */ jr $ra
|
||||
/* 0B1D2C 800B112C 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+5
-1
@@ -547,6 +547,9 @@ typedef struct TexCoords {
|
||||
};
|
||||
} TexCoords;
|
||||
|
||||
#define BACKFACE_CULL 0x00
|
||||
#define BACKFACE_DRAW 0x40
|
||||
|
||||
/* Size: 0x10 bytes */
|
||||
typedef struct Triangle {
|
||||
union {
|
||||
@@ -1716,7 +1719,8 @@ typedef struct Object_6C {
|
||||
/* 0x00 */ struct Particle *unk0;
|
||||
/* 0x04 */ s16 unk4;
|
||||
/* 0x06 */ u8 unk6;
|
||||
/* 0x07 */ u8 pad7[0x3];
|
||||
/* 0x07 */ u8 unk7;
|
||||
/* 0x08 */ s16 unk8;
|
||||
/* 0x0A */ s16 unkA;
|
||||
/* 0x0C */ u8 padC[0x14];
|
||||
} Object_6C;
|
||||
|
||||
+444
-42
File diff suppressed because it is too large
Load Diff
+75
-7
@@ -56,8 +56,16 @@ typedef struct ParticleProperties {
|
||||
/* 0x02 */ u16 unk2;
|
||||
/* 0x04 */ s16 textureID;
|
||||
/* 0x06 */ s16 unk6;
|
||||
/* 0x08 */ s16 lifeTime;
|
||||
/* 0x0A */ s16 lifeTimeRange;
|
||||
union {
|
||||
struct {
|
||||
/* 0x08 */ s16 lifeTime;
|
||||
union {
|
||||
/* 0x0A */ s16 lifeTimeRange;
|
||||
/* 0x0A */ u16 lifeTimeRangeUnsigned;
|
||||
};
|
||||
};
|
||||
/* 0x08 */ s32 lifeTimeWord;
|
||||
};
|
||||
/* 0x0C */ u8 opacity;
|
||||
/* 0x0D */ u8 opacityVel;
|
||||
/* 0x0E */ s16 opacityTimer;
|
||||
@@ -87,6 +95,49 @@ typedef struct unk800B1130_SP28 {
|
||||
u8 a;
|
||||
} unk800B1130_SP28;
|
||||
|
||||
|
||||
// Size: 8 bytes
|
||||
typedef struct Particle_58_0_9C {
|
||||
u8 pad0[4];
|
||||
u8 unk4;
|
||||
u8 unk5;
|
||||
u8 unk6;
|
||||
u8 unk7;
|
||||
} Particle_58_0_9C;
|
||||
|
||||
typedef struct Particle_58_0 {
|
||||
s32 unk0;
|
||||
u8 pad4[0x2];
|
||||
u8 unk6;
|
||||
u8 pad7[0x5];
|
||||
f32 unkC;
|
||||
f32 unk10;
|
||||
f32 unk14;
|
||||
u8 pad18[0x6];
|
||||
s16 unk1E;
|
||||
u8 pad20[0x7C];
|
||||
Particle_58_0_9C *unk9C;
|
||||
} Particle_58_0;
|
||||
|
||||
typedef struct Particle_58 {
|
||||
Particle_58_0 *unk0;
|
||||
u8 pad4[0x2];
|
||||
u8 unk6;
|
||||
u8 pad7[0x5];
|
||||
f32 unkC;
|
||||
f32 unk10;
|
||||
f32 unk14;
|
||||
u8 pad18[0x6];
|
||||
s16 unk1E;
|
||||
} Particle_58;
|
||||
|
||||
typedef struct ParticleSegment_3C {
|
||||
u8 pad0[0x1C];
|
||||
f32 unk1C;
|
||||
f32 unk20;
|
||||
f32 unk24;
|
||||
} ParticleSegment_3C;
|
||||
|
||||
typedef struct ParticleAngle {
|
||||
s16 y_rotation;
|
||||
s16 x_rotation;
|
||||
@@ -179,7 +230,10 @@ typedef struct Particle {
|
||||
/* 0x0054 */ f32 baseVelZ;
|
||||
/* 0x0054 */ f32 *unk54_ptr;
|
||||
};
|
||||
union {
|
||||
/* 0x0058 */ Particle_58 **unk58_ptr;
|
||||
/* 0x0058 */ f32 forwardVel;
|
||||
};
|
||||
/* 0x005C */ s16 opacity;
|
||||
/* 0x005E */ s16 opacityVel;
|
||||
/* 0x0060 */ s16 opacityTimer;
|
||||
@@ -187,8 +241,13 @@ typedef struct Particle {
|
||||
/* 0x0064 */ s16 angleVelX;
|
||||
/* 0x0066 */ s16 angleVelZ;
|
||||
union {
|
||||
/* 0x0068 */ u8 unk68b;
|
||||
/* 0x0068 */ f32 gravity;
|
||||
struct {
|
||||
/* 0x0068 */ u8 unk68b;
|
||||
/* 0x0069 */ u8 unk69b;
|
||||
/* 0x006A */ s8 unk6Ab;
|
||||
/* 0x006B */ s8 unk6Bb;
|
||||
};
|
||||
};
|
||||
/* 0x006C */ ColourRGBA colour;
|
||||
/* 0x0070 */ struct Particle *unk70;
|
||||
@@ -198,6 +257,15 @@ typedef struct Particle {
|
||||
/* 0x0077 */ s8 unk77;
|
||||
} Particle;
|
||||
|
||||
// Size: 8 bytes
|
||||
typedef struct unkParticleBehaviorUnk9C {
|
||||
s32 unk0;
|
||||
u8 r;
|
||||
u8 g;
|
||||
u8 b;
|
||||
u8 pad7; // Probably alpha
|
||||
} unkParticleBehaviorUnk9C;
|
||||
|
||||
// Almost an identical copy of Particle, but a few bytes shorter. Exists to make sure func_800B1CB8 matches.
|
||||
typedef struct ParticleType {
|
||||
u8 pad[0x2C];
|
||||
@@ -239,12 +307,12 @@ void func_800B4668(Object *obj, s32 idx, s32 arg2, s32 arg3);
|
||||
void func_800B46BC(Object *obj, s32 idx, s32 arg2, s32 arg3);
|
||||
void func_800AFC3C(Object *obj, s32 updateRate);
|
||||
void func_800B3E64(Object *obj);
|
||||
void func_800B26E0(Particle *particle);
|
||||
void func_800AF714(Object *racerObj, s32 updateRate);
|
||||
Particle* func_800B0BAC(Object* arg0, Particle* arg1);
|
||||
|
||||
void func_800AF404(s32 arg0); // Non Matching
|
||||
void func_800AF404(s32 updateRate); // Non Matching
|
||||
void func_800AE728(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5); // Non Matching
|
||||
void func_800AF714(Object*, s32); // Non matching
|
||||
Particle *func_800B0BAC();
|
||||
void func_800B26E0();
|
||||
void move_particle_basic_parent(Particle *);
|
||||
void move_particle_velocity_parent(Particle *);
|
||||
void move_particle_with_velocities(Particle *);
|
||||
|
||||
@@ -18,4 +18,4 @@ compiler_type = "ido"
|
||||
"NULL" = "unsigned int"
|
||||
|
||||
[decompme.compilers]
|
||||
"./tools/ido-static-recomp/build/5.3/out/cc" = "ido5.3_irix"
|
||||
"tools/ido-static-recomp/build/5.3/out/cc" = "ido5.3_irix"
|
||||
|
||||
Reference in New Issue
Block a user