mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
Further gfx matches (#288)
* match func_800A4154 * match func_800A497C * nonmatching func_800A8474 * match func_800A3884 * Update game_ui.h * quick fixes * match func_800A4F50 and func_800A45F0 * Update game_ui.h * prelim * match func_8009CD7C and func_800AAFD0 * nonmatching func_800AC5A4 * warning * smilng emote * match func_800AC5A4 * Update weather.h * Update weather.c * fix a buncha warnings * Update game_ui.c * match func_80092E94 * I know what menu_5 is now :) * Update game_ui.c * Update menu.c * match func_80068514 * match func_800B695C and func_800B69FC * match func_8000FC6C * quick fixes * match func_80072718 * f * fixing particles.c * match print_debug_strings and render_3d_billboard * Update objects.c * Update printf.c * name a few vars * match func_80011960 * match func_8002D670 * match render_floor_decal * Update unknown_0255E0.c * style fix * warning sweep * Update unknown_0255E0.c * match func_8002AC00 * Update save_data.c * quick fixes * FIX BUILD * Update unknown_0255E0.c * screaming and paining
This commit is contained in:
@@ -122,28 +122,28 @@ s32 is_drumstick_unlocked(void) {
|
||||
<!-- README_SCORE_BEGIN -->
|
||||
As of November 15, 2022, this is our current score:
|
||||
```
|
||||
=================================================================
|
||||
=================================================================
|
||||
ADVENTURE ONE (ASM -> C Decompilation)
|
||||
------------------------ 37.19% Complete ------------------------
|
||||
# Decompiled functions: 1336
|
||||
# GLOBAL_ASM remaining: 500
|
||||
------------------------ 37.60% Complete ------------------------
|
||||
# Decompiled functions: 1342
|
||||
# GLOBAL_ASM remaining: 494
|
||||
# NON_MATCHING functions: 11
|
||||
# NON_EQUIVALENT WIP functions: 94
|
||||
# NON_EQUIVALENT WIP functions: 93
|
||||
-------------------------- Game Status --------------------------
|
||||
Balloons: 18/47, Keys: 2/4, Trophies: 1/5
|
||||
T.T. Amulets: 2/4, Wizpig Amulets: 1/4
|
||||
-----------------------------------------------------------------
|
||||
We are collecting silver coins in Walrus Cove. (4/8 silver coins)
|
||||
We are collecting silver coins in Walrus Cove. (7/8 silver coins)
|
||||
=================================================================
|
||||
ADVENTURE TWO (Cleanup & Documentation)
|
||||
------------------------ 8.96% Complete ------------------------
|
||||
# Documented functions: 241
|
||||
# Undocumented remaining: 1595
|
||||
------------------------ 9.24% Complete ------------------------
|
||||
# Documented functions: 244
|
||||
# Undocumented remaining: 1592
|
||||
-------------------------- Game Status --------------------------
|
||||
Balloons: 5/47, Keys: 1/4, Trophies: 0/5
|
||||
Balloons: 6/47, Keys: 1/4, Trophies: 0/5
|
||||
T.T. Amulets: 0/4, Wizpig Amulets: 0/4
|
||||
-----------------------------------------------------------------
|
||||
We are racing in Fossil Canyon. (Lap 3/3)
|
||||
We are racing in Jungle Falls. (Lap 1/3)
|
||||
=================================================================
|
||||
```
|
||||
<!-- README_SCORE_END -->
|
||||
|
||||
@@ -1,95 +0,0 @@
|
||||
glabel func_80011960
|
||||
/* 012560 80011960 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 012564 80011964 AFA40028 */ sw $a0, 0x28($sp)
|
||||
/* 012568 80011968 44802000 */ mtc1 $zero, $f4
|
||||
/* 01256C 8001196C AFA5002C */ sw $a1, 0x2c($sp)
|
||||
/* 012570 80011970 AFA60030 */ sw $a2, 0x30($sp)
|
||||
/* 012574 80011974 AFA70034 */ sw $a3, 0x34($sp)
|
||||
/* 012578 80011978 8FA60028 */ lw $a2, 0x28($sp)
|
||||
/* 01257C 8001197C 3C048012 */ lui $a0, %hi(gObjectCurrDisplayList) # $a0, 0x8012
|
||||
/* 012580 80011980 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 012584 80011984 8FA70048 */ lw $a3, 0x48($sp)
|
||||
/* 012588 80011988 3C058012 */ lui $a1, %hi(gObjectCurrMatrix) # $a1, 0x8012
|
||||
/* 01258C 8001198C 2484AE8C */ addiu $a0, %lo(gObjectCurrDisplayList) # addiu $a0, $a0, -0x5174
|
||||
/* 012590 80011990 AFA00024 */ sw $zero, 0x24($sp)
|
||||
/* 012594 80011994 24A5AE90 */ addiu $a1, %lo(gObjectCurrMatrix) # addiu $a1, $a1, -0x5170
|
||||
/* 012598 80011998 0C01A521 */ jal func_80069484
|
||||
/* 01259C 8001199C E7A40010 */ swc1 $f4, 0x10($sp)
|
||||
/* 0125A0 800119A0 3C048012 */ lui $a0, %hi(gObjectCurrDisplayList) # $a0, 0x8012
|
||||
/* 0125A4 800119A4 2484AE8C */ addiu $a0, %lo(gObjectCurrDisplayList) # addiu $a0, $a0, -0x5174
|
||||
/* 0125A8 800119A8 8C820000 */ lw $v0, ($a0)
|
||||
/* 0125AC 800119AC 3C0FFA00 */ lui $t7, 0xfa00
|
||||
/* 0125B0 800119B0 244E0008 */ addiu $t6, $v0, 8
|
||||
/* 0125B4 800119B4 AC8E0000 */ sw $t6, ($a0)
|
||||
/* 0125B8 800119B8 2418FFFF */ li $t8, -1
|
||||
/* 0125BC 800119BC AC580004 */ sw $t8, 4($v0)
|
||||
/* 0125C0 800119C0 AC4F0000 */ sw $t7, ($v0)
|
||||
/* 0125C4 800119C4 8C820000 */ lw $v0, ($a0)
|
||||
/* 0125C8 800119C8 3C0AFB00 */ lui $t2, 0xfb00
|
||||
/* 0125CC 800119CC 24590008 */ addiu $t9, $v0, 8
|
||||
/* 0125D0 800119D0 AC990000 */ sw $t9, ($a0)
|
||||
/* 0125D4 800119D4 240BFF00 */ li $t3, -256
|
||||
/* 0125D8 800119D8 AC4B0004 */ sw $t3, 4($v0)
|
||||
/* 0125DC 800119DC AC4A0000 */ sw $t2, ($v0)
|
||||
/* 0125E0 800119E0 8FAC003C */ lw $t4, 0x3c($sp)
|
||||
/* 0125E4 800119E4 240D0001 */ li $t5, 1
|
||||
/* 0125E8 800119E8 11800003 */ beqz $t4, .L800119F8
|
||||
/* 0125EC 800119EC 8FA5003C */ lw $a1, 0x3c($sp)
|
||||
/* 0125F0 800119F0 AFAD0024 */ sw $t5, 0x24($sp)
|
||||
/* 0125F4 800119F4 8FA5003C */ lw $a1, 0x3c($sp)
|
||||
.L800119F8:
|
||||
/* 0125F8 800119F8 8FA60040 */ lw $a2, 0x40($sp)
|
||||
/* 0125FC 800119FC 8FA70044 */ lw $a3, 0x44($sp)
|
||||
/* 012600 80011A00 0C01ED3A */ jal func_8007B4E8
|
||||
/* 012604 80011A04 00000000 */ nop
|
||||
/* 012608 80011A08 8FA90030 */ lw $t1, 0x30($sp)
|
||||
/* 01260C 80011A0C 8FAF002C */ lw $t7, 0x2c($sp)
|
||||
/* 012610 80011A10 3C088000 */ lui $t0, 0x8000
|
||||
/* 012614 80011A14 3C048012 */ lui $a0, %hi(gObjectCurrDisplayList) # $a0, 0x8012
|
||||
/* 012618 80011A18 2538FFFF */ addiu $t8, $t1, -1
|
||||
/* 01261C 80011A1C 01E82821 */ addu $a1, $t7, $t0
|
||||
/* 012620 80011A20 2484AE8C */ addiu $a0, %lo(gObjectCurrDisplayList) # addiu $a0, $a0, -0x5174
|
||||
/* 012624 80011A24 30AA0006 */ andi $t2, $a1, 6
|
||||
/* 012628 80011A28 0018C8C0 */ sll $t9, $t8, 3
|
||||
/* 01262C 80011A2C 8C820000 */ lw $v0, ($a0)
|
||||
/* 012630 80011A30 032A5825 */ or $t3, $t9, $t2
|
||||
/* 012634 80011A34 000978C0 */ sll $t7, $t1, 3
|
||||
/* 012638 80011A38 01E9C021 */ addu $t8, $t7, $t1
|
||||
/* 01263C 80011A3C 0018C840 */ sll $t9, $t8, 1
|
||||
/* 012640 80011A40 316C00FF */ andi $t4, $t3, 0xff
|
||||
/* 012644 80011A44 244E0008 */ addiu $t6, $v0, 8
|
||||
/* 012648 80011A48 AC8E0000 */ sw $t6, ($a0)
|
||||
/* 01264C 80011A4C 000C6C00 */ sll $t5, $t4, 0x10
|
||||
/* 012650 80011A50 272A0008 */ addiu $t2, $t9, 8
|
||||
/* 012654 80011A54 3C010400 */ lui $at, 0x400
|
||||
/* 012658 80011A58 8FA70038 */ lw $a3, 0x38($sp)
|
||||
/* 01265C 80011A5C 01A17025 */ or $t6, $t5, $at
|
||||
/* 012660 80011A60 314BFFFF */ andi $t3, $t2, 0xffff
|
||||
/* 012664 80011A64 01CB6025 */ or $t4, $t6, $t3
|
||||
/* 012668 80011A68 AC4C0000 */ sw $t4, ($v0)
|
||||
/* 01266C 80011A6C AC450004 */ sw $a1, 4($v0)
|
||||
/* 012670 80011A70 8FB90024 */ lw $t9, 0x24($sp)
|
||||
/* 012674 80011A74 8C820000 */ lw $v0, ($a0)
|
||||
/* 012678 80011A78 24EFFFFF */ addiu $t7, $a3, -1
|
||||
/* 01267C 80011A7C 000FC100 */ sll $t8, $t7, 4
|
||||
/* 012680 80011A80 03195025 */ or $t2, $t8, $t9
|
||||
/* 012684 80011A84 244D0008 */ addiu $t5, $v0, 8
|
||||
/* 012688 80011A88 AC8D0000 */ sw $t5, ($a0)
|
||||
/* 01268C 80011A8C 314E00FF */ andi $t6, $t2, 0xff
|
||||
/* 012690 80011A90 000E5C00 */ sll $t3, $t6, 0x10
|
||||
/* 012694 80011A94 3C010500 */ lui $at, 0x500
|
||||
/* 012698 80011A98 00076900 */ sll $t5, $a3, 4
|
||||
/* 01269C 80011A9C 31AFFFFF */ andi $t7, $t5, 0xffff
|
||||
/* 0126A0 80011AA0 01616025 */ or $t4, $t3, $at
|
||||
/* 0126A4 80011AA4 018FC025 */ or $t8, $t4, $t7
|
||||
/* 0126A8 80011AA8 AC580000 */ sw $t8, ($v0)
|
||||
/* 0126AC 80011AAC 8FB90034 */ lw $t9, 0x34($sp)
|
||||
/* 0126B0 80011AB0 00000000 */ nop
|
||||
/* 0126B4 80011AB4 03285021 */ addu $t2, $t9, $t0
|
||||
/* 0126B8 80011AB8 0C01A690 */ jal func_80069A40
|
||||
/* 0126BC 80011ABC AC4A0004 */ sw $t2, 4($v0)
|
||||
/* 0126C0 80011AC0 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 0126C4 80011AC4 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 0126C8 80011AC8 03E00008 */ jr $ra
|
||||
/* 0126CC 80011ACC 00000000 */ nop
|
||||
|
||||
@@ -1,294 +0,0 @@
|
||||
glabel render_3d_billboard
|
||||
/* 012894 80011C94 27BDFF70 */ addiu $sp, $sp, -0x90
|
||||
/* 012898 80011C98 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 01289C 80011C9C AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* 0128A0 80011CA0 848E0006 */ lh $t6, 6($a0)
|
||||
/* 0128A4 80011CA4 8C830054 */ lw $v1, 0x54($a0)
|
||||
/* 0128A8 80011CA8 00803825 */ move $a3, $a0
|
||||
/* 0128AC 80011CAC 240600FF */ li $a2, 255
|
||||
/* 0128B0 80011CB0 00004025 */ move $t0, $zero
|
||||
/* 0128B4 80011CB4 00004825 */ move $t1, $zero
|
||||
/* 0128B8 80011CB8 10600011 */ beqz $v1, .L80011D00
|
||||
/* 0128BC 80011CBC 35CA0108 */ ori $t2, $t6, 0x108
|
||||
/* 0128C0 80011CC0 3C01437F */ li $at, 0x437F0000 # 255.000000
|
||||
/* 0128C4 80011CC4 44813000 */ mtc1 $at, $f6
|
||||
/* 0128C8 80011CC8 C4640000 */ lwc1 $f4, ($v1)
|
||||
/* 0128CC 80011CCC 24080001 */ li $t0, 1
|
||||
/* 0128D0 80011CD0 46062202 */ mul.s $f8, $f4, $f6
|
||||
/* 0128D4 80011CD4 24090001 */ li $t1, 1
|
||||
/* 0128D8 80011CD8 4458F800 */ cfc1 $t8, $31
|
||||
/* 0128DC 80011CDC 00000000 */ nop
|
||||
/* 0128E0 80011CE0 37010003 */ ori $at, $t8, 3
|
||||
/* 0128E4 80011CE4 38210002 */ xori $at, $at, 2
|
||||
/* 0128E8 80011CE8 44C1F800 */ ctc1 $at, $31
|
||||
/* 0128EC 80011CEC 00000000 */ nop
|
||||
/* 0128F0 80011CF0 460042A4 */ cvt.w.s $f10, $f8
|
||||
/* 0128F4 80011CF4 44D8F800 */ ctc1 $t8, $31
|
||||
/* 0128F8 80011CF8 44065000 */ mfc1 $a2, $f10
|
||||
/* 0128FC 80011CFC 00000000 */ nop
|
||||
.L80011D00:
|
||||
/* 012900 80011D00 84E20048 */ lh $v0, 0x48($a3)
|
||||
/* 012904 80011D04 24010016 */ li $at, 22
|
||||
/* 012908 80011D08 14410011 */ bne $v0, $at, .L80011D50
|
||||
/* 01290C 80011D0C 240B0005 */ li $t3, 5
|
||||
/* 012910 80011D10 90E30039 */ lbu $v1, 0x39($a3)
|
||||
/* 012914 80011D14 00000000 */ nop
|
||||
/* 012918 80011D18 28610100 */ slti $at, $v1, 0x100
|
||||
/* 01291C 80011D1C 14200005 */ bnez $at, .L80011D34
|
||||
/* 012920 80011D20 00000000 */ nop
|
||||
/* 012924 80011D24 8CEC007C */ lw $t4, 0x7c($a3)
|
||||
/* 012928 80011D28 84E20048 */ lh $v0, 0x48($a3)
|
||||
/* 01292C 80011D2C 10000008 */ b .L80011D50
|
||||
/* 012930 80011D30 A0EC0039 */ sb $t4, 0x39($a3)
|
||||
.L80011D34:
|
||||
/* 012934 80011D34 8CED007C */ lw $t5, 0x7c($a3)
|
||||
/* 012938 80011D38 84E20048 */ lh $v0, 0x48($a3)
|
||||
/* 01293C 80011D3C 31AE00FF */ andi $t6, $t5, 0xff
|
||||
/* 012940 80011D40 006E0019 */ multu $v1, $t6
|
||||
/* 012944 80011D44 00007812 */ mflo $t7
|
||||
/* 012948 80011D48 000FC203 */ sra $t8, $t7, 8
|
||||
/* 01294C 80011D4C A0F80039 */ sb $t8, 0x39($a3)
|
||||
.L80011D50:
|
||||
/* 012950 80011D50 90E50039 */ lbu $a1, 0x39($a3)
|
||||
/* 012954 80011D54 24030077 */ li $v1, 119
|
||||
/* 012958 80011D58 28A10100 */ slti $at, $a1, 0x100
|
||||
/* 01295C 80011D5C 14200002 */ bnez $at, .L80011D68
|
||||
/* 012960 80011D60 354C0004 */ ori $t4, $t2, 4
|
||||
/* 012964 80011D64 240500FF */ li $a1, 255
|
||||
.L80011D68:
|
||||
/* 012968 80011D68 14620002 */ bne $v1, $v0, .L80011D74
|
||||
/* 01296C 80011D6C 0005C843 */ sra $t9, $a1, 1
|
||||
/* 012970 80011D70 03202825 */ move $a1, $t9
|
||||
.L80011D74:
|
||||
/* 012974 80011D74 28A100FF */ slti $at, $a1, 0xff
|
||||
/* 012978 80011D78 10200003 */ beqz $at, .L80011D88
|
||||
/* 01297C 80011D7C 00000000 */ nop
|
||||
/* 012980 80011D80 01805025 */ move $t2, $t4
|
||||
/* 012984 80011D84 24080001 */ li $t0, 1
|
||||
.L80011D88:
|
||||
/* 012988 80011D88 1562001C */ bne $t3, $v0, .L80011DFC
|
||||
/* 01298C 80011D8C 3C0140C0 */ li $at, 0x40C00000 # 6.000000
|
||||
/* 012990 80011D90 44818000 */ mtc1 $at, $f16
|
||||
/* 012994 80011D94 C4F20008 */ lwc1 $f18, 8($a3)
|
||||
/* 012998 80011D98 3C108012 */ lui $s0, %hi(gObjectCurrDisplayList) # $s0, 0x8012
|
||||
/* 01299C 80011D9C 46128032 */ c.eq.s $f16, $f18
|
||||
/* 0129A0 80011DA0 2610AE8C */ addiu $s0, %lo(gObjectCurrDisplayList) # addiu $s0, $s0, -0x5174
|
||||
/* 0129A4 80011DA4 45000015 */ bc1f .L80011DFC
|
||||
/* 0129A8 80011DA8 3C0EFA00 */ lui $t6, 0xfa00
|
||||
/* 0129AC 80011DAC 8E020000 */ lw $v0, ($s0)
|
||||
/* 0129B0 80011DB0 00067880 */ sll $t7, $a2, 2
|
||||
/* 0129B4 80011DB4 244D0008 */ addiu $t5, $v0, 8
|
||||
/* 0129B8 80011DB8 AE0D0000 */ sw $t5, ($s0)
|
||||
/* 0129BC 80011DBC 01E67823 */ subu $t7, $t7, $a2
|
||||
/* 0129C0 80011DC0 000FC883 */ sra $t9, $t7, 2
|
||||
/* 0129C4 80011DC4 00196600 */ sll $t4, $t9, 0x18
|
||||
/* 0129C8 80011DC8 30CD00FF */ andi $t5, $a2, 0xff
|
||||
/* 0129CC 80011DCC AC4E0000 */ sw $t6, ($v0)
|
||||
/* 0129D0 80011DD0 000D7400 */ sll $t6, $t5, 0x10
|
||||
/* 0129D4 80011DD4 0006C043 */ sra $t8, $a2, 1
|
||||
/* 0129D8 80011DD8 331900FF */ andi $t9, $t8, 0xff
|
||||
/* 0129DC 80011DDC 018E7825 */ or $t7, $t4, $t6
|
||||
/* 0129E0 80011DE0 00196A00 */ sll $t5, $t9, 8
|
||||
/* 0129E4 80011DE4 01ED6025 */ or $t4, $t7, $t5
|
||||
/* 0129E8 80011DE8 30AE00FF */ andi $t6, $a1, 0xff
|
||||
/* 0129EC 80011DEC 018EC025 */ or $t8, $t4, $t6
|
||||
/* 0129F0 80011DF0 24080001 */ li $t0, 1
|
||||
/* 0129F4 80011DF4 1000002D */ b .L80011EAC
|
||||
/* 0129F8 80011DF8 AC580004 */ sw $t8, 4($v0)
|
||||
.L80011DFC:
|
||||
/* 0129FC 80011DFC 1462000E */ bne $v1, $v0, .L80011E38
|
||||
/* 012A00 80011E00 3C108012 */ lui $s0, %hi(gObjectCurrDisplayList) # $s0, 0x8012
|
||||
/* 012A04 80011E04 2610AE8C */ addiu $s0, %lo(gObjectCurrDisplayList) # addiu $s0, $s0, -0x5174
|
||||
/* 012A08 80011E08 8E020000 */ lw $v0, ($s0)
|
||||
/* 012A0C 80011E0C 3C0196E6 */ lui $at, (0x96E6FF00 >> 16) # lui $at, 0x96e6
|
||||
/* 012A10 80011E10 3421FF00 */ ori $at, (0x96E6FF00 & 0xFFFF) # ori $at, $at, 0xff00
|
||||
/* 012A14 80011E14 30AD00FF */ andi $t5, $a1, 0xff
|
||||
/* 012A18 80011E18 24590008 */ addiu $t9, $v0, 8
|
||||
/* 012A1C 80011E1C AE190000 */ sw $t9, ($s0)
|
||||
/* 012A20 80011E20 01A16025 */ or $t4, $t5, $at
|
||||
/* 012A24 80011E24 3C0FFA00 */ lui $t7, 0xfa00
|
||||
/* 012A28 80011E28 24080001 */ li $t0, 1
|
||||
/* 012A2C 80011E2C AC4F0000 */ sw $t7, ($v0)
|
||||
/* 012A30 80011E30 1000001E */ b .L80011EAC
|
||||
/* 012A34 80011E34 AC4C0004 */ sw $t4, 4($v0)
|
||||
.L80011E38:
|
||||
/* 012A38 80011E38 15000003 */ bnez $t0, .L80011E48
|
||||
/* 012A3C 80011E3C 28A100FF */ slti $at, $a1, 0xff
|
||||
/* 012A40 80011E40 10200012 */ beqz $at, .L80011E8C
|
||||
/* 012A44 80011E44 3C108012 */ lui $s0, %hi(gObjectCurrDisplayList) # $s0, 0x8012
|
||||
.L80011E48:
|
||||
/* 012A48 80011E48 3C108012 */ lui $s0, %hi(gObjectCurrDisplayList) # $s0, 0x8012
|
||||
/* 012A4C 80011E4C 2610AE8C */ addiu $s0, %lo(gObjectCurrDisplayList) # addiu $s0, $s0, -0x5174
|
||||
/* 012A50 80011E50 8E020000 */ lw $v0, ($s0)
|
||||
/* 012A54 80011E54 30C300FF */ andi $v1, $a2, 0xff
|
||||
/* 012A58 80011E58 244E0008 */ addiu $t6, $v0, 8
|
||||
/* 012A5C 80011E5C AE0E0000 */ sw $t6, ($s0)
|
||||
/* 012A60 80011E60 0003CE00 */ sll $t9, $v1, 0x18
|
||||
/* 012A64 80011E64 00037C00 */ sll $t7, $v1, 0x10
|
||||
/* 012A68 80011E68 3C18FA00 */ lui $t8, 0xfa00
|
||||
/* 012A6C 80011E6C 032F6825 */ or $t5, $t9, $t7
|
||||
/* 012A70 80011E70 00036200 */ sll $t4, $v1, 8
|
||||
/* 012A74 80011E74 AC580000 */ sw $t8, ($v0)
|
||||
/* 012A78 80011E78 30B800FF */ andi $t8, $a1, 0xff
|
||||
/* 012A7C 80011E7C 01AC7025 */ or $t6, $t5, $t4
|
||||
/* 012A80 80011E80 01D8C825 */ or $t9, $t6, $t8
|
||||
/* 012A84 80011E84 10000009 */ b .L80011EAC
|
||||
/* 012A88 80011E88 AC590004 */ sw $t9, 4($v0)
|
||||
.L80011E8C:
|
||||
/* 012A8C 80011E8C 2610AE8C */ addiu $s0, %lo(gObjectCurrDisplayList) # addiu $s0, $s0, -0x5174
|
||||
/* 012A90 80011E90 8E020000 */ lw $v0, ($s0)
|
||||
/* 012A94 80011E94 3C0DFA00 */ lui $t5, 0xfa00
|
||||
/* 012A98 80011E98 244F0008 */ addiu $t7, $v0, 8
|
||||
/* 012A9C 80011E9C AE0F0000 */ sw $t7, ($s0)
|
||||
/* 012AA0 80011EA0 240CFFFF */ li $t4, -1
|
||||
/* 012AA4 80011EA4 AC4C0004 */ sw $t4, 4($v0)
|
||||
/* 012AA8 80011EA8 AC4D0000 */ sw $t5, ($v0)
|
||||
.L80011EAC:
|
||||
/* 012AAC 80011EAC 11200014 */ beqz $t1, .L80011F00
|
||||
/* 012AB0 80011EB0 00000000 */ nop
|
||||
/* 012AB4 80011EB4 8E020000 */ lw $v0, ($s0)
|
||||
/* 012AB8 80011EB8 3C18FB00 */ lui $t8, 0xfb00
|
||||
/* 012ABC 80011EBC 244E0008 */ addiu $t6, $v0, 8
|
||||
/* 012AC0 80011EC0 AE0E0000 */ sw $t6, ($s0)
|
||||
/* 012AC4 80011EC4 AC580000 */ sw $t8, ($v0)
|
||||
/* 012AC8 80011EC8 8CE30054 */ lw $v1, 0x54($a3)
|
||||
/* 012ACC 80011ECC 00000000 */ nop
|
||||
/* 012AD0 80011ED0 906F0004 */ lbu $t7, 4($v1)
|
||||
/* 012AD4 80011ED4 906E0005 */ lbu $t6, 5($v1)
|
||||
/* 012AD8 80011ED8 906C0006 */ lbu $t4, 6($v1)
|
||||
/* 012ADC 80011EDC 000F6E00 */ sll $t5, $t7, 0x18
|
||||
/* 012AE0 80011EE0 000EC400 */ sll $t8, $t6, 0x10
|
||||
/* 012AE4 80011EE4 906F0007 */ lbu $t7, 7($v1)
|
||||
/* 012AE8 80011EE8 01B8C825 */ or $t9, $t5, $t8
|
||||
/* 012AEC 80011EEC 000C7200 */ sll $t6, $t4, 8
|
||||
/* 012AF0 80011EF0 032E6825 */ or $t5, $t9, $t6
|
||||
/* 012AF4 80011EF4 01AF6025 */ or $t4, $t5, $t7
|
||||
/* 012AF8 80011EF8 10000015 */ b .L80011F50
|
||||
/* 012AFC 80011EFC AC4C0004 */ sw $t4, 4($v0)
|
||||
.L80011F00:
|
||||
/* 012B00 80011F00 84F90048 */ lh $t9, 0x48($a3)
|
||||
/* 012B04 80011F04 24010044 */ li $at, 68
|
||||
/* 012B08 80011F08 1721000B */ bne $t9, $at, .L80011F38
|
||||
/* 012B0C 80011F0C 3C0CFB00 */ lui $t4, 0xfb00
|
||||
/* 012B10 80011F10 8E020000 */ lw $v0, ($s0)
|
||||
/* 012B14 80011F14 3C0DFFFF */ lui $t5, (0xFFFF00FF >> 16) # lui $t5, 0xffff
|
||||
/* 012B18 80011F18 244E0008 */ addiu $t6, $v0, 8
|
||||
/* 012B1C 80011F1C AE0E0000 */ sw $t6, ($s0)
|
||||
/* 012B20 80011F20 35AD00FF */ ori $t5, (0xFFFF00FF & 0xFFFF) # ori $t5, $t5, 0xff
|
||||
/* 012B24 80011F24 3C18FB00 */ lui $t8, 0xfb00
|
||||
/* 012B28 80011F28 24090001 */ li $t1, 1
|
||||
/* 012B2C 80011F2C AC580000 */ sw $t8, ($v0)
|
||||
/* 012B30 80011F30 10000007 */ b .L80011F50
|
||||
/* 012B34 80011F34 AC4D0004 */ sw $t5, 4($v0)
|
||||
.L80011F38:
|
||||
/* 012B38 80011F38 8E020000 */ lw $v0, ($s0)
|
||||
/* 012B3C 80011F3C 2419FF00 */ li $t9, -256
|
||||
/* 012B40 80011F40 244F0008 */ addiu $t7, $v0, 8
|
||||
/* 012B44 80011F44 AE0F0000 */ sw $t7, ($s0)
|
||||
/* 012B48 80011F48 AC590004 */ sw $t9, 4($v0)
|
||||
/* 012B4C 80011F4C AC4C0000 */ sw $t4, ($v0)
|
||||
.L80011F50:
|
||||
/* 012B50 80011F50 80F8003A */ lb $t8, 0x3a($a3)
|
||||
/* 012B54 80011F54 8CEE0068 */ lw $t6, 0x68($a3)
|
||||
/* 012B58 80011F58 00186880 */ sll $t5, $t8, 2
|
||||
/* 012B5C 80011F5C 01CD7821 */ addu $t7, $t6, $t5
|
||||
/* 012B60 80011F60 8DEC0000 */ lw $t4, ($t7)
|
||||
/* 012B64 80011F64 24010074 */ li $at, 116
|
||||
/* 012B68 80011F68 AFAC0058 */ sw $t4, 0x58($sp)
|
||||
/* 012B6C 80011F6C 84E20048 */ lh $v0, 0x48($a3)
|
||||
/* 012B70 80011F70 00002025 */ move $a0, $zero
|
||||
/* 012B74 80011F74 14410006 */ bne $v0, $at, .L80011F90
|
||||
/* 012B78 80011F78 00000000 */ nop
|
||||
/* 012B7C 80011F7C 8CF9007C */ lw $t9, 0x7c($a3)
|
||||
/* 012B80 80011F80 8CE40078 */ lw $a0, 0x78($a3)
|
||||
/* 012B84 80011F84 1B200002 */ blez $t9, .L80011F90
|
||||
/* 012B88 80011F88 00000000 */ nop
|
||||
/* 012B8C 80011F8C 00E02025 */ move $a0, $a3
|
||||
.L80011F90:
|
||||
/* 012B90 80011F90 14800009 */ bnez $a0, .L80011FB8
|
||||
/* 012B94 80011F94 00000000 */ nop
|
||||
/* 012B98 80011F98 15620028 */ bne $t3, $v0, .L8001203C
|
||||
/* 012B9C 80011F9C 3C058012 */ lui $a1, %hi(gObjectCurrMatrix) # $a1, 0x8012
|
||||
/* 012BA0 80011FA0 8CF80064 */ lw $t8, 0x64($a3)
|
||||
/* 012BA4 80011FA4 2401000A */ li $at, 10
|
||||
/* 012BA8 80011FA8 930E0018 */ lbu $t6, 0x18($t8)
|
||||
/* 012BAC 80011FAC 00000000 */ nop
|
||||
/* 012BB0 80011FB0 15C10023 */ bne $t6, $at, .L80012040
|
||||
/* 012BB4 80011FB4 8FB90058 */ lw $t9, 0x58($sp)
|
||||
.L80011FB8:
|
||||
/* 012BB8 80011FB8 A7A00064 */ sh $zero, 0x64($sp)
|
||||
/* 012BBC 80011FBC A7A00062 */ sh $zero, 0x62($sp)
|
||||
/* 012BC0 80011FC0 A7A00060 */ sh $zero, 0x60($sp)
|
||||
/* 012BC4 80011FC4 C4E40008 */ lwc1 $f4, 8($a3)
|
||||
/* 012BC8 80011FC8 44800000 */ mtc1 $zero, $f0
|
||||
/* 012BCC 80011FCC 3C014140 */ li $at, 0x41400000 # 12.000000
|
||||
/* 012BD0 80011FD0 44813000 */ mtc1 $at, $f6
|
||||
/* 012BD4 80011FD4 E7A40068 */ swc1 $f4, 0x68($sp)
|
||||
/* 012BD8 80011FD8 E7A0006C */ swc1 $f0, 0x6c($sp)
|
||||
/* 012BDC 80011FDC E7A00074 */ swc1 $f0, 0x74($sp)
|
||||
/* 012BE0 80011FE0 E7A60070 */ swc1 $f6, 0x70($sp)
|
||||
/* 012BE4 80011FE4 84ED0018 */ lh $t5, 0x18($a3)
|
||||
/* 012BE8 80011FE8 240F0020 */ li $t7, 32
|
||||
/* 012BEC 80011FEC A7AF007A */ sh $t7, 0x7a($sp)
|
||||
/* 012BF0 80011FF0 14800008 */ bnez $a0, .L80012014
|
||||
/* 012BF4 80011FF4 A7AD0078 */ sh $t5, 0x78($sp)
|
||||
/* 012BF8 80011FF8 8CEC0064 */ lw $t4, 0x64($a3)
|
||||
/* 012BFC 80011FFC 00000000 */ nop
|
||||
/* 012C00 80012000 8D840000 */ lw $a0, ($t4)
|
||||
/* 012C04 80012004 00000000 */ nop
|
||||
/* 012C08 80012008 14800003 */ bnez $a0, .L80012018
|
||||
/* 012C0C 8001200C 8FA50058 */ lw $a1, 0x58($sp)
|
||||
/* 012C10 80012010 00E02025 */ move $a0, $a3
|
||||
.L80012014:
|
||||
/* 012C14 80012014 8FA50058 */ lw $a1, 0x58($sp)
|
||||
.L80012018:
|
||||
/* 012C18 80012018 27A60060 */ addiu $a2, $sp, 0x60
|
||||
/* 012C1C 8001201C 24070106 */ li $a3, 262
|
||||
/* 012C20 80012020 AFA80080 */ sw $t0, 0x80($sp)
|
||||
/* 012C24 80012024 0C004E2A */ jal func_800138A8
|
||||
/* 012C28 80012028 AFA9007C */ sw $t1, 0x7c($sp)
|
||||
/* 012C2C 8001202C 8FA80080 */ lw $t0, 0x80($sp)
|
||||
/* 012C30 80012030 8FA9007C */ lw $t1, 0x7c($sp)
|
||||
/* 012C34 80012034 1000000E */ b .L80012070
|
||||
/* 012C38 80012038 00000000 */ nop
|
||||
.L8001203C:
|
||||
/* 012C3C 8001203C 8FB90058 */ lw $t9, 0x58($sp)
|
||||
.L80012040:
|
||||
/* 012C40 80012040 3C068012 */ lui $a2, %hi(gObjectCurrVertexList) # $a2, 0x8012
|
||||
/* 012C44 80012044 24C6AE94 */ addiu $a2, %lo(gObjectCurrVertexList) # addiu $a2, $a2, -0x516c
|
||||
/* 012C48 80012048 02002025 */ move $a0, $s0
|
||||
/* 012C4C 8001204C 24A5AE90 */ addiu $a1, %lo(gObjectCurrMatrix) # addiu $a1, $a1, -0x5170
|
||||
/* 012C50 80012050 AFAA0014 */ sw $t2, 0x14($sp)
|
||||
/* 012C54 80012054 AFA80080 */ sw $t0, 0x80($sp)
|
||||
/* 012C58 80012058 AFA9007C */ sw $t1, 0x7c($sp)
|
||||
/* 012C5C 8001205C 0C01A145 */ jal render_sprite_billboard
|
||||
/* 012C60 80012060 AFB90010 */ sw $t9, 0x10($sp)
|
||||
/* 012C64 80012064 8FA80080 */ lw $t0, 0x80($sp)
|
||||
/* 012C68 80012068 8FA9007C */ lw $t1, 0x7c($sp)
|
||||
/* 012C6C 8001206C 00000000 */ nop
|
||||
.L80012070:
|
||||
/* 012C70 80012070 11000008 */ beqz $t0, .L80012094
|
||||
/* 012C74 80012074 00000000 */ nop
|
||||
/* 012C78 80012078 8E020000 */ lw $v0, ($s0)
|
||||
/* 012C7C 8001207C 3C0EFA00 */ lui $t6, 0xfa00
|
||||
/* 012C80 80012080 24580008 */ addiu $t8, $v0, 8
|
||||
/* 012C84 80012084 AE180000 */ sw $t8, ($s0)
|
||||
/* 012C88 80012088 240DFFFF */ li $t5, -1
|
||||
/* 012C8C 8001208C AC4D0004 */ sw $t5, 4($v0)
|
||||
/* 012C90 80012090 AC4E0000 */ sw $t6, ($v0)
|
||||
.L80012094:
|
||||
/* 012C94 80012094 11200009 */ beqz $t1, .L800120BC
|
||||
/* 012C98 80012098 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 012C9C 8001209C 8E020000 */ lw $v0, ($s0)
|
||||
/* 012CA0 800120A0 3C0CFB00 */ lui $t4, 0xfb00
|
||||
/* 012CA4 800120A4 244F0008 */ addiu $t7, $v0, 8
|
||||
/* 012CA8 800120A8 AE0F0000 */ sw $t7, ($s0)
|
||||
/* 012CAC 800120AC 2419FF00 */ li $t9, -256
|
||||
/* 012CB0 800120B0 AC590004 */ sw $t9, 4($v0)
|
||||
/* 012CB4 800120B4 AC4C0000 */ sw $t4, ($v0)
|
||||
/* 012CB8 800120B8 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L800120BC:
|
||||
/* 012CBC 800120BC 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* 012CC0 800120C0 03E00008 */ jr $ra
|
||||
/* 012CC4 800120C4 27BD0090 */ addiu $sp, $sp, 0x90
|
||||
|
||||
@@ -1,161 +0,0 @@
|
||||
glabel print_debug_strings
|
||||
/* 0B6B78 800B5F78 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* 0B6B7C 800B5F7C AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* 0B6B80 800B5F80 AFB3002C */ sw $s3, 0x2c($sp)
|
||||
/* 0B6B84 800B5F84 00809825 */ move $s3, $a0
|
||||
/* 0B6B88 800B5F88 AFB40030 */ sw $s4, 0x30($sp)
|
||||
/* 0B6B8C 800B5F8C AFB20028 */ sw $s2, 0x28($sp)
|
||||
/* 0B6B90 800B5F90 AFB10024 */ sw $s1, 0x24($sp)
|
||||
/* 0B6B94 800B5F94 0C01E015 */ jal init_rdp_and_framebuffer
|
||||
/* 0B6B98 800B5F98 AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* 0B6B9C 800B5F9C 0C01E948 */ jal get_video_width_and_height_as_s32
|
||||
/* 0B6BA0 800B5FA0 00000000 */ nop
|
||||
/* 0B6BA4 800B5FA4 3C048012 */ lui $a0, %hi(D_80127CD2) # $a0, 0x8012
|
||||
/* 0B6BA8 800B5FA8 3C058012 */ lui $a1, %hi(D_80127CD0) # $a1, 0x8012
|
||||
/* 0B6BAC 800B5FAC 24A57CD0 */ addiu $a1, %lo(D_80127CD0) # addiu $a1, $a1, 0x7cd0
|
||||
/* 0B6BB0 800B5FB0 24847CD2 */ addiu $a0, %lo(D_80127CD2) # addiu $a0, $a0, 0x7cd2
|
||||
/* 0B6BB4 800B5FB4 00027402 */ srl $t6, $v0, 0x10
|
||||
/* 0B6BB8 800B5FB8 A48E0000 */ sh $t6, ($a0)
|
||||
/* 0B6BBC 800B5FBC A4A20000 */ sh $v0, ($a1)
|
||||
/* 0B6BC0 800B5FC0 8E630000 */ lw $v1, ($s3)
|
||||
/* 0B6BC4 800B5FC4 3C19ED00 */ lui $t9, 0xed00
|
||||
/* 0B6BC8 800B5FC8 24780008 */ addiu $t8, $v1, 8
|
||||
/* 0B6BCC 800B5FCC AE780000 */ sw $t8, ($s3)
|
||||
/* 0B6BD0 800B5FD0 AC790000 */ sw $t9, ($v1)
|
||||
/* 0B6BD4 800B5FD4 94A80000 */ lhu $t0, ($a1)
|
||||
/* 0B6BD8 800B5FD8 3C014080 */ li $at, 0x40800000 # 4.000000
|
||||
/* 0B6BDC 800B5FDC 44882000 */ mtc1 $t0, $f4
|
||||
/* 0B6BE0 800B5FE0 44810000 */ mtc1 $at, $f0
|
||||
/* 0B6BE4 800B5FE4 05010005 */ bgez $t0, .L800B5FFC
|
||||
/* 0B6BE8 800B5FE8 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 0B6BEC 800B5FEC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
/* 0B6BF0 800B5FF0 44814000 */ mtc1 $at, $f8
|
||||
/* 0B6BF4 800B5FF4 00000000 */ nop
|
||||
/* 0B6BF8 800B5FF8 46083180 */ add.s $f6, $f6, $f8
|
||||
.L800B5FFC:
|
||||
/* 0B6BFC 800B5FFC 46003282 */ mul.s $f10, $f6, $f0
|
||||
/* 0B6C00 800B6000 948D0000 */ lhu $t5, ($a0)
|
||||
/* 0B6C04 800B6004 00000000 */ nop
|
||||
/* 0B6C08 800B6008 448D9000 */ mtc1 $t5, $f18
|
||||
/* 0B6C0C 800B600C 4449F800 */ cfc1 $t1, $31
|
||||
/* 0B6C10 800B6010 00000000 */ nop
|
||||
/* 0B6C14 800B6014 35210003 */ ori $at, $t1, 3
|
||||
/* 0B6C18 800B6018 38210002 */ xori $at, $at, 2
|
||||
/* 0B6C1C 800B601C 44C1F800 */ ctc1 $at, $31
|
||||
/* 0B6C20 800B6020 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
/* 0B6C24 800B6024 46005424 */ cvt.w.s $f16, $f10
|
||||
/* 0B6C28 800B6028 440A8000 */ mfc1 $t2, $f16
|
||||
/* 0B6C2C 800B602C 44C9F800 */ ctc1 $t1, $31
|
||||
/* 0B6C30 800B6030 314B0FFF */ andi $t3, $t2, 0xfff
|
||||
/* 0B6C34 800B6034 000B6300 */ sll $t4, $t3, 0xc
|
||||
/* 0B6C38 800B6038 05A10004 */ bgez $t5, .L800B604C
|
||||
/* 0B6C3C 800B603C 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 0B6C40 800B6040 44814000 */ mtc1 $at, $f8
|
||||
/* 0B6C44 800B6044 00000000 */ nop
|
||||
/* 0B6C48 800B6048 46082100 */ add.s $f4, $f4, $f8
|
||||
.L800B604C:
|
||||
/* 0B6C4C 800B604C 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 0B6C50 800B6050 444EF800 */ cfc1 $t6, $31
|
||||
/* 0B6C54 800B6054 00000000 */ nop
|
||||
/* 0B6C58 800B6058 35C10003 */ ori $at, $t6, 3
|
||||
/* 0B6C5C 800B605C 38210002 */ xori $at, $at, 2
|
||||
/* 0B6C60 800B6060 44C1F800 */ ctc1 $at, $31
|
||||
/* 0B6C64 800B6064 00000000 */ nop
|
||||
/* 0B6C68 800B6068 460032A4 */ cvt.w.s $f10, $f6
|
||||
/* 0B6C6C 800B606C 440F5000 */ mfc1 $t7, $f10
|
||||
/* 0B6C70 800B6070 44CEF800 */ ctc1 $t6, $31
|
||||
/* 0B6C74 800B6074 31F80FFF */ andi $t8, $t7, 0xfff
|
||||
/* 0B6C78 800B6078 0198C825 */ or $t9, $t4, $t8
|
||||
/* 0B6C7C 800B607C 0C02DB94 */ jal func_800B6E50
|
||||
/* 0B6C80 800B6080 AC790004 */ sw $t9, 4($v1)
|
||||
/* 0B6C84 800B6084 8E710000 */ lw $s1, ($s3)
|
||||
/* 0B6C88 800B6088 3C0A800E */ lui $t2, %hi(dDebugFontSettings) # $t2, 0x800e
|
||||
/* 0B6C8C 800B608C 26280008 */ addiu $t0, $s1, 8
|
||||
/* 0B6C90 800B6090 AE680000 */ sw $t0, ($s3)
|
||||
/* 0B6C94 800B6094 254A2FB8 */ addiu $t2, %lo(dDebugFontSettings) # addiu $t2, $t2, 0x2fb8
|
||||
/* 0B6C98 800B6098 3C090600 */ lui $t1, 0x600
|
||||
/* 0B6C9C 800B609C 3C108012 */ lui $s0, %hi(D_80127CD8) # $s0, 0x8012
|
||||
/* 0B6CA0 800B60A0 26107CD8 */ addiu $s0, %lo(D_80127CD8) # addiu $s0, $s0, 0x7cd8
|
||||
/* 0B6CA4 800B60A4 AE290000 */ sw $t1, ($s1)
|
||||
/* 0B6CA8 800B60A8 0C02DBB8 */ jal func_800B6EE0
|
||||
/* 0B6CAC 800B60AC AE2A0004 */ sw $t2, 4($s1)
|
||||
/* 0B6CB0 800B60B0 3C148012 */ lui $s4, %hi(D_80127CCC) # $s4, 0x8012
|
||||
/* 0B6CB4 800B60B4 26947CCC */ addiu $s4, %lo(D_80127CCC) # addiu $s4, $s4, 0x7ccc
|
||||
/* 0B6CB8 800B60B8 240BFFFF */ li $t3, -1
|
||||
/* 0B6CBC 800B60BC AE8B0000 */ sw $t3, ($s4)
|
||||
/* 0B6CC0 800B60C0 3C018012 */ lui $at, %hi(D_80127CB4) # $at, 0x8012
|
||||
/* 0B6CC4 800B60C4 3C078012 */ lui $a3, %hi(D_80127CAC) # $a3, 0x8012
|
||||
/* 0B6CC8 800B60C8 94E77CAC */ lhu $a3, %lo(D_80127CAC)($a3)
|
||||
/* 0B6CCC 800B60CC AC207CB4 */ sw $zero, %lo(D_80127CB4)($at)
|
||||
/* 0B6CD0 800B60D0 3C018012 */ lui $at, %hi(D_80127CB0) # $at, 0x8012
|
||||
/* 0B6CD4 800B60D4 3C028012 */ lui $v0, %hi(D_80127CAE) # $v0, 0x8012
|
||||
/* 0B6CD8 800B60D8 94427CAE */ lhu $v0, %lo(D_80127CAE)($v0)
|
||||
/* 0B6CDC 800B60DC A4277CB0 */ sh $a3, %lo(D_80127CB0)($at)
|
||||
/* 0B6CE0 800B60E0 3C128013 */ lui $s2, %hi(D_801285D8) # $s2, 0x8013
|
||||
/* 0B6CE4 800B60E4 3C018012 */ lui $at, %hi(D_80127CB2) # $at, 0x8012
|
||||
/* 0B6CE8 800B60E8 265285D8 */ addiu $s2, %lo(D_801285D8) # addiu $s2, $s2, -0x7a28
|
||||
/* 0B6CEC 800B60EC A4227CB2 */ sh $v0, %lo(D_80127CB2)($at)
|
||||
/* 0B6CF0 800B60F0 8E4E0000 */ lw $t6, ($s2)
|
||||
/* 0B6CF4 800B60F4 3C0D8012 */ lui $t5, %hi(D_80127CD8) # $t5, 0x8012
|
||||
/* 0B6CF8 800B60F8 25AD7CD8 */ addiu $t5, %lo(D_80127CD8) # addiu $t5, $t5, 0x7cd8
|
||||
/* 0B6CFC 800B60FC 11AE0010 */ beq $t5, $t6, .L800B6140
|
||||
/* 0B6D00 800B6100 3C118012 */ lui $s1, %hi(D_80127CB8) # $s1, 0x8012
|
||||
/* 0B6D04 800B6104 26317CB8 */ addiu $s1, %lo(D_80127CB8) # addiu $s1, $s1, 0x7cb8
|
||||
.L800B6108:
|
||||
/* 0B6D08 800B6108 AE200000 */ sw $zero, ($s1)
|
||||
/* 0B6D0C 800B610C 02602025 */ move $a0, $s3
|
||||
/* 0B6D10 800B6110 0C02D94F */ jal func_800B653C
|
||||
/* 0B6D14 800B6114 02002825 */ move $a1, $s0
|
||||
/* 0B6D18 800B6118 8E4F0000 */ lw $t7, ($s2)
|
||||
/* 0B6D1C 800B611C 02028021 */ addu $s0, $s0, $v0
|
||||
/* 0B6D20 800B6120 160FFFF9 */ bne $s0, $t7, .L800B6108
|
||||
/* 0B6D24 800B6124 00000000 */ nop
|
||||
/* 0B6D28 800B6128 3C078012 */ lui $a3, %hi(D_80127CAC) # $a3, 0x8012
|
||||
/* 0B6D2C 800B612C 3C028012 */ lui $v0, %hi(D_80127CAE) # $v0, 0x8012
|
||||
/* 0B6D30 800B6130 3C108012 */ lui $s0, %hi(D_80127CD8) # $s0, 0x8012
|
||||
/* 0B6D34 800B6134 94427CAE */ lhu $v0, %lo(D_80127CAE)($v0)
|
||||
/* 0B6D38 800B6138 94E77CAC */ lhu $a3, %lo(D_80127CAC)($a3)
|
||||
/* 0B6D3C 800B613C 26107CD8 */ addiu $s0, %lo(D_80127CD8) # addiu $s0, $s0, 0x7cd8
|
||||
.L800B6140:
|
||||
/* 0B6D40 800B6140 3C058012 */ lui $a1, %hi(D_80127CB0) # $a1, 0x8012
|
||||
/* 0B6D44 800B6144 3C068012 */ lui $a2, %hi(D_80127CB2) # $a2, 0x8012
|
||||
/* 0B6D48 800B6148 3C118012 */ lui $s1, %hi(D_80127CB8) # $s1, 0x8012
|
||||
/* 0B6D4C 800B614C 94C67CB2 */ lhu $a2, %lo(D_80127CB2)($a2)
|
||||
/* 0B6D50 800B6150 94A57CB0 */ lhu $a1, %lo(D_80127CB0)($a1)
|
||||
/* 0B6D54 800B6154 244C000A */ addiu $t4, $v0, 0xa
|
||||
/* 0B6D58 800B6158 26317CB8 */ addiu $s1, %lo(D_80127CB8) # addiu $s1, $s1, 0x7cb8
|
||||
/* 0B6D5C 800B615C AFAC0010 */ sw $t4, 0x10($sp)
|
||||
/* 0B6D60 800B6160 0C02DA57 */ jal func_800B695C
|
||||
/* 0B6D64 800B6164 02602025 */ move $a0, $s3
|
||||
/* 0B6D68 800B6168 0C02DBB8 */ jal func_800B6EE0
|
||||
/* 0B6D6C 800B616C 00000000 */ nop
|
||||
/* 0B6D70 800B6170 2418FFFF */ li $t8, -1
|
||||
/* 0B6D74 800B6174 AE980000 */ sw $t8, ($s4)
|
||||
/* 0B6D78 800B6178 3C018012 */ lui $at, %hi(D_80127CB4) # $at, 0x8012
|
||||
/* 0B6D7C 800B617C AC207CB4 */ sw $zero, %lo(D_80127CB4)($at)
|
||||
/* 0B6D80 800B6180 8E480000 */ lw $t0, ($s2)
|
||||
/* 0B6D84 800B6184 3C198012 */ lui $t9, %hi(D_80127CD8) # $t9, 0x8012
|
||||
/* 0B6D88 800B6188 27397CD8 */ addiu $t9, %lo(D_80127CD8) # addiu $t9, $t9, 0x7cd8
|
||||
/* 0B6D8C 800B618C 13280009 */ beq $t9, $t0, .L800B61B4
|
||||
/* 0B6D90 800B6190 24140001 */ li $s4, 1
|
||||
.L800B6194:
|
||||
/* 0B6D94 800B6194 AE340000 */ sw $s4, ($s1)
|
||||
/* 0B6D98 800B6198 02602025 */ move $a0, $s3
|
||||
/* 0B6D9C 800B619C 0C02D94F */ jal func_800B653C
|
||||
/* 0B6DA0 800B61A0 02002825 */ move $a1, $s0
|
||||
/* 0B6DA4 800B61A4 8E490000 */ lw $t1, ($s2)
|
||||
/* 0B6DA8 800B61A8 02028021 */ addu $s0, $s0, $v0
|
||||
/* 0B6DAC 800B61AC 1609FFF9 */ bne $s0, $t1, .L800B6194
|
||||
/* 0B6DB0 800B61B0 00000000 */ nop
|
||||
.L800B61B4:
|
||||
/* 0B6DB4 800B61B4 3C0A8012 */ lui $t2, %hi(D_80127CD8) # $t2, 0x8012
|
||||
/* 0B6DB8 800B61B8 254A7CD8 */ addiu $t2, %lo(D_80127CD8) # addiu $t2, $t2, 0x7cd8
|
||||
/* 0B6DBC 800B61BC 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* 0B6DC0 800B61C0 AE4A0000 */ sw $t2, ($s2)
|
||||
/* 0B6DC4 800B61C4 8FB20028 */ lw $s2, 0x28($sp)
|
||||
/* 0B6DC8 800B61C8 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* 0B6DCC 800B61CC 8FB10024 */ lw $s1, 0x24($sp)
|
||||
/* 0B6DD0 800B61D0 8FB3002C */ lw $s3, 0x2c($sp)
|
||||
/* 0B6DD4 800B61D4 8FB40030 */ lw $s4, 0x30($sp)
|
||||
/* 0B6DD8 800B61D8 03E00008 */ jr $ra
|
||||
/* 0B6DDC 800B61DC 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
@@ -1,9 +1,9 @@
|
||||
glabel render_printf
|
||||
/* 0B6ADC 800B5EDC 3C0E8013 */ lui $t6, %hi(D_801285D8) # $t6, 0x8013
|
||||
/* 0B6AE0 800B5EE0 8DCE85D8 */ lw $t6, %lo(D_801285D8)($t6)
|
||||
/* 0B6ADC 800B5EDC 3C0E8013 */ lui $t6, %hi(gDebugPrintBufferEnd) # $t6, 0x8013
|
||||
/* 0B6AE0 800B5EE0 8DCE85D8 */ lw $t6, %lo(gDebugPrintBufferEnd)($t6)
|
||||
/* 0B6AE4 800B5EE4 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0B6AE8 800B5EE8 3C0F8012 */ lui $t7, %hi(D_80127CD8) # $t7, 0x8012
|
||||
/* 0B6AEC 800B5EEC 25EF7CD8 */ addiu $t7, %lo(D_80127CD8) # addiu $t7, $t7, 0x7cd8
|
||||
/* 0B6AE8 800B5EE8 3C0F8012 */ lui $t7, %hi(gDebugPrintBufferStart) # $t7, 0x8012
|
||||
/* 0B6AEC 800B5EEC 25EF7CD8 */ addiu $t7, %lo(gDebugPrintBufferStart) # addiu $t7, $t7, 0x7cd8
|
||||
/* 0B6AF0 800B5EF0 01CFC023 */ subu $t8, $t6, $t7
|
||||
/* 0B6AF4 800B5EF4 2B010801 */ slti $at, $t8, 0x801
|
||||
/* 0B6AF8 800B5EF8 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
@@ -17,8 +17,8 @@ glabel render_printf
|
||||
.L800B5F18:
|
||||
/* 0B6B18 800B5F18 0C02D282 */ jal func_800B4A08
|
||||
/* 0B6B1C 800B5F1C 24040001 */ li $a0, 1
|
||||
/* 0B6B20 800B5F20 3C048013 */ lui $a0, %hi(D_801285D8) # $a0, 0x8013
|
||||
/* 0B6B24 800B5F24 8C8485D8 */ lw $a0, %lo(D_801285D8)($a0)
|
||||
/* 0B6B20 800B5F20 3C048013 */ lui $a0, %hi(gDebugPrintBufferEnd) # $a0, 0x8013
|
||||
/* 0B6B24 800B5F24 8C8485D8 */ lw $a0, %lo(gDebugPrintBufferEnd)($a0)
|
||||
/* 0B6B28 800B5F28 8FA50020 */ lw $a1, 0x20($sp)
|
||||
/* 0B6B2C 800B5F2C 0C02D290 */ jal sprintf
|
||||
/* 0B6B30 800B5F30 27A60024 */ addiu $a2, $sp, 0x24
|
||||
@@ -26,9 +26,9 @@ glabel render_printf
|
||||
/* 0B6B38 800B5F38 0C02D282 */ jal func_800B4A08
|
||||
/* 0B6B3C 800B5F3C AFA20018 */ sw $v0, 0x18($sp)
|
||||
/* 0B6B40 800B5F40 8FA30018 */ lw $v1, 0x18($sp)
|
||||
/* 0B6B44 800B5F44 3C028013 */ lui $v0, %hi(D_801285D8) # $v0, 0x8013
|
||||
/* 0B6B44 800B5F44 3C028013 */ lui $v0, %hi(gDebugPrintBufferEnd) # $v0, 0x8013
|
||||
/* 0B6B48 800B5F48 18600006 */ blez $v1, .L800B5F64
|
||||
/* 0B6B4C 800B5F4C 244285D8 */ addiu $v0, %lo(D_801285D8) # addiu $v0, $v0, -0x7a28
|
||||
/* 0B6B4C 800B5F4C 244285D8 */ addiu $v0, %lo(gDebugPrintBufferEnd) # addiu $v0, $v0, -0x7a28
|
||||
/* 0B6B50 800B5F50 8C590000 */ lw $t9, ($v0)
|
||||
/* 0B6B54 800B5F54 00000000 */ nop
|
||||
/* 0B6B58 800B5F58 03234021 */ addu $t0, $t9, $v1
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
glabel set_render_printf_position
|
||||
/* 0B6F5C 800B635C 3C068013 */ lui $a2, %hi(D_801285D8) # $a2, 0x8013
|
||||
/* 0B6F60 800B6360 24C685D8 */ addiu $a2, %lo(D_801285D8) # addiu $a2, $a2, -0x7a28
|
||||
/* 0B6F5C 800B635C 3C068013 */ lui $a2, %hi(gDebugPrintBufferEnd) # $a2, 0x8013
|
||||
/* 0B6F60 800B6360 24C685D8 */ addiu $a2, %lo(gDebugPrintBufferEnd) # addiu $a2, $a2, -0x7a28
|
||||
/* 0B6F64 800B6364 8CD90000 */ lw $t9, ($a2)
|
||||
/* 0B6F68 800B6368 AFA40000 */ sw $a0, ($sp)
|
||||
/* 0B6F6C 800B636C AFA50004 */ sw $a1, 4($sp)
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
|
||||
glabel func_8002AC00
|
||||
/* 02B800 8002AC00 3C02800E */ lui $v0, %hi(gCurrentLevelModel) # $v0, 0x800e
|
||||
/* 02B804 8002AC04 8C42C918 */ lw $v0, %lo(gCurrentLevelModel)($v0)
|
||||
/* 02B808 8002AC08 00000000 */ nop
|
||||
/* 02B80C 8002AC0C 8443001A */ lh $v1, 0x1a($v0)
|
||||
/* 02B810 8002AC10 00000000 */ nop
|
||||
/* 02B814 8002AC14 0083082A */ slt $at, $a0, $v1
|
||||
/* 02B818 8002AC18 1020001F */ beqz $at, .L8002AC98
|
||||
/* 02B81C 8002AC1C 00A3082A */ slt $at, $a1, $v1
|
||||
/* 02B820 8002AC20 1020001D */ beqz $at, .L8002AC98
|
||||
/* 02B824 8002AC24 00047900 */ sll $t7, $a0, 4
|
||||
/* 02B828 8002AC28 8C4E0004 */ lw $t6, 4($v0)
|
||||
/* 02B82C 8002AC2C 01E47821 */ addu $t7, $t7, $a0
|
||||
/* 02B830 8002AC30 000F7880 */ sll $t7, $t7, 2
|
||||
/* 02B834 8002AC34 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 02B838 8002AC38 87030028 */ lh $v1, 0x28($t8)
|
||||
/* 02B83C 8002AC3C 10C0000C */ beqz $a2, .L8002AC70
|
||||
/* 02B840 8002AC40 000540C3 */ sra $t0, $a1, 3
|
||||
/* 02B844 8002AC44 8C590010 */ lw $t9, 0x10($v0)
|
||||
/* 02B848 8002AC48 000548C3 */ sra $t1, $a1, 3
|
||||
/* 02B84C 8002AC4C 03234021 */ addu $t0, $t9, $v1
|
||||
/* 02B850 8002AC50 01092021 */ addu $a0, $t0, $t1
|
||||
/* 02B854 8002AC54 908A0000 */ lbu $t2, ($a0)
|
||||
/* 02B858 8002AC58 30AB0007 */ andi $t3, $a1, 7
|
||||
/* 02B85C 8002AC5C 240C0001 */ li $t4, 1
|
||||
/* 02B860 8002AC60 016C7004 */ sllv $t6, $t4, $t3
|
||||
/* 02B864 8002AC64 014E7825 */ or $t7, $t2, $t6
|
||||
/* 02B868 8002AC68 03E00008 */ jr $ra
|
||||
/* 02B86C 8002AC6C A08F0000 */ sb $t7, ($a0)
|
||||
|
||||
.L8002AC70:
|
||||
/* 02B870 8002AC70 8C580010 */ lw $t8, 0x10($v0)
|
||||
/* 02B874 8002AC74 30AC0007 */ andi $t4, $a1, 7
|
||||
/* 02B878 8002AC78 0303C821 */ addu $t9, $t8, $v1
|
||||
/* 02B87C 8002AC7C 03282021 */ addu $a0, $t9, $t0
|
||||
/* 02B880 8002AC80 240B0001 */ li $t3, 1
|
||||
/* 02B884 8002AC84 90890000 */ lbu $t1, ($a0)
|
||||
/* 02B888 8002AC88 018B5004 */ sllv $t2, $t3, $t4
|
||||
/* 02B88C 8002AC8C 01407027 */ not $t6, $t2
|
||||
/* 02B890 8002AC90 012E7824 */ and $t7, $t1, $t6
|
||||
/* 02B894 8002AC94 A08F0000 */ sb $t7, ($a0)
|
||||
.L8002AC98:
|
||||
/* 02B898 8002AC98 03E00008 */ jr $ra
|
||||
/* 02B89C 8002AC9C 00000000 */ nop
|
||||
@@ -1,161 +0,0 @@
|
||||
glabel func_8002D670
|
||||
/* 02E270 8002D670 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 02E274 8002D674 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* 02E278 8002D678 AFBE0038 */ sw $fp, 0x38($sp)
|
||||
/* 02E27C 8002D67C AFB70034 */ sw $s7, 0x34($sp)
|
||||
/* 02E280 8002D680 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* 02E284 8002D684 AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* 02E288 8002D688 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 02E28C 8002D68C AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 02E290 8002D690 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 02E294 8002D694 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 02E298 8002D698 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 02E29C 8002D69C AFA50044 */ sw $a1, 0x44($sp)
|
||||
/* 02E2A0 8002D6A0 8C8E0040 */ lw $t6, 0x40($a0)
|
||||
/* 02E2A4 8002D6A4 00000000 */ nop
|
||||
/* 02E2A8 8002D6A8 85CF0036 */ lh $t7, 0x36($t6)
|
||||
/* 02E2AC 8002D6AC 00000000 */ nop
|
||||
/* 02E2B0 8002D6B0 11E0007F */ beqz $t7, .L8002D8B0
|
||||
/* 02E2B4 8002D6B4 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* 02E2B8 8002D6B8 84B90008 */ lh $t9, 8($a1)
|
||||
/* 02E2BC 8002D6BC 2401FFFF */ li $at, -1
|
||||
/* 02E2C0 8002D6C0 1321007A */ beq $t9, $at, .L8002D8AC
|
||||
/* 02E2C4 8002D6C4 3C0D8012 */ lui $t5, %hi(D_8011B0C4) # $t5, 0x8012
|
||||
/* 02E2C8 8002D6C8 8DADB0C4 */ lw $t5, %lo(D_8011B0C4)($t5)
|
||||
/* 02E2CC 8002D6CC 3C108012 */ lui $s0, %hi(D_8011B0D0) # $s0, 0x8012
|
||||
/* 02E2D0 8002D6D0 15A00076 */ bnez $t5, .L8002D8AC
|
||||
/* 02E2D4 8002D6D4 3C0E8012 */ lui $t6, %hi(D_8011B0C8) # $t6, 0x8012
|
||||
/* 02E2D8 8002D6D8 8DCEB0C8 */ lw $t6, %lo(D_8011B0C8)($t6)
|
||||
/* 02E2DC 8002D6DC 2610B0D0 */ addiu $s0, %lo(D_8011B0D0) # addiu $s0, $s0, -0x4f30
|
||||
/* 02E2E0 8002D6E0 AE0E0000 */ sw $t6, ($s0)
|
||||
/* 02E2E4 8002D6E4 8C980040 */ lw $t8, 0x40($a0)
|
||||
/* 02E2E8 8002D6E8 84B20008 */ lh $s2, 8($a1)
|
||||
/* 02E2EC 8002D6EC 87190036 */ lh $t9, 0x36($t8)
|
||||
/* 02E2F0 8002D6F0 24010001 */ li $at, 1
|
||||
/* 02E2F4 8002D6F4 17210010 */ bne $t9, $at, .L8002D738
|
||||
/* 02E2F8 8002D6F8 25CE0002 */ addiu $t6, $t6, 2
|
||||
/* 02E2FC 8002D6FC AE0E0000 */ sw $t6, ($s0)
|
||||
/* 02E300 8002D700 8C860014 */ lw $a2, 0x14($a0)
|
||||
/* 02E304 8002D704 C48E0010 */ lwc1 $f14, 0x10($a0)
|
||||
/* 02E308 8002D708 C48C000C */ lwc1 $f12, 0xc($a0)
|
||||
/* 02E30C 8002D70C 0C0198D2 */ jal func_80066348
|
||||
/* 02E310 8002D710 00000000 */ nop
|
||||
/* 02E314 8002D714 3C014440 */ li $at, 0x44400000 # 768.000000
|
||||
/* 02E318 8002D718 44812000 */ mtc1 $at, $f4
|
||||
/* 02E31C 8002D71C 8FAF0044 */ lw $t7, 0x44($sp)
|
||||
/* 02E320 8002D720 4600203C */ c.lt.s $f4, $f0
|
||||
/* 02E324 8002D724 00000000 */ nop
|
||||
/* 02E328 8002D728 45000003 */ bc1f .L8002D738
|
||||
/* 02E32C 8002D72C 00000000 */ nop
|
||||
/* 02E330 8002D730 85F2000A */ lh $s2, 0xa($t7)
|
||||
/* 02E334 8002D734 00000000 */ nop
|
||||
.L8002D738:
|
||||
/* 02E338 8002D738 8E020000 */ lw $v0, ($s0)
|
||||
/* 02E33C 8002D73C 3C198012 */ lui $t9, %hi(D_8011D350) # $t9, 0x8012
|
||||
/* 02E340 8002D740 0002C080 */ sll $t8, $v0, 2
|
||||
/* 02E344 8002D744 0338C821 */ addu $t9, $t9, $t8
|
||||
/* 02E348 8002D748 8F39D350 */ lw $t9, %lo(D_8011D350)($t9)
|
||||
/* 02E34C 8002D74C 3C138012 */ lui $s3, %hi(D_8011D360) # $s3, 0x8012
|
||||
/* 02E350 8002D750 2673D360 */ addiu $s3, %lo(D_8011D360) # addiu $s3, $s3, -0x2ca0
|
||||
/* 02E354 8002D754 3C0D8012 */ lui $t5, %hi(D_8011D320) # $t5, 0x8012
|
||||
/* 02E358 8002D758 01B86821 */ addu $t5, $t5, $t8
|
||||
/* 02E35C 8002D75C AE790000 */ sw $t9, ($s3)
|
||||
/* 02E360 8002D760 8DADD320 */ lw $t5, %lo(D_8011D320)($t5)
|
||||
/* 02E364 8002D764 3C158012 */ lui $s5, %hi(D_8011D330) # $s5, 0x8012
|
||||
/* 02E368 8002D768 26B5D330 */ addiu $s5, %lo(D_8011D330) # addiu $s5, $s5, -0x2cd0
|
||||
/* 02E36C 8002D76C 3C0E8012 */ lui $t6, %hi(D_8011D338) # $t6, 0x8012
|
||||
/* 02E370 8002D770 01D87021 */ addu $t6, $t6, $t8
|
||||
/* 02E374 8002D774 AEAD0000 */ sw $t5, ($s5)
|
||||
/* 02E378 8002D778 8DCED338 */ lw $t6, %lo(D_8011D338)($t6)
|
||||
/* 02E37C 8002D77C 3C168012 */ lui $s6, %hi(D_8011D348) # $s6, 0x8012
|
||||
/* 02E380 8002D780 8FAF0044 */ lw $t7, 0x44($sp)
|
||||
/* 02E384 8002D784 26D6D348 */ addiu $s6, %lo(D_8011D348) # addiu $s6, $s6, -0x2cb8
|
||||
/* 02E388 8002D788 AECE0000 */ sw $t6, ($s6)
|
||||
/* 02E38C 8002D78C 85F8000A */ lh $t8, 0xa($t7)
|
||||
/* 02E390 8002D790 001288C0 */ sll $s1, $s2, 3
|
||||
/* 02E394 8002D794 0258082A */ slt $at, $s2, $t8
|
||||
/* 02E398 8002D798 10200044 */ beqz $at, .L8002D8AC
|
||||
/* 02E39C 8002D79C 3C1E0400 */ lui $fp, 0x400
|
||||
/* 02E3A0 8002D7A0 3C108012 */ lui $s0, %hi(gSceneCurrDisplayList) # $s0, 0x8012
|
||||
/* 02E3A4 8002D7A4 2610B0A0 */ addiu $s0, %lo(gSceneCurrDisplayList) # addiu $s0, $s0, -0x4f60
|
||||
/* 02E3A8 8002D7A8 2417000A */ li $s7, 10
|
||||
/* 02E3AC 8002D7AC 3C148000 */ lui $s4, 0x8000
|
||||
.L8002D7B0:
|
||||
/* 02E3B0 8002D7B0 8E790000 */ lw $t9, ($s3)
|
||||
/* 02E3B4 8002D7B4 02002025 */ move $a0, $s0
|
||||
/* 02E3B8 8002D7B8 03316821 */ addu $t5, $t9, $s1
|
||||
/* 02E3BC 8002D7BC 8DA50000 */ lw $a1, ($t5)
|
||||
/* 02E3C0 8002D7C0 0C01ED32 */ jal func_8007B4C8
|
||||
/* 02E3C4 8002D7C4 02E03025 */ move $a2, $s7
|
||||
/* 02E3C8 8002D7C8 8E6E0000 */ lw $t6, ($s3)
|
||||
/* 02E3CC 8002D7CC 8EAD0000 */ lw $t5, ($s5)
|
||||
/* 02E3D0 8002D7D0 01D11821 */ addu $v1, $t6, $s1
|
||||
/* 02E3D4 8002D7D4 84660006 */ lh $a2, 6($v1)
|
||||
/* 02E3D8 8002D7D8 84650004 */ lh $a1, 4($v1)
|
||||
/* 02E3DC 8002D7DC 00D70019 */ multu $a2, $s7
|
||||
/* 02E3E0 8002D7E0 846F000C */ lh $t7, 0xc($v1)
|
||||
/* 02E3E4 8002D7E4 8478000E */ lh $t8, 0xe($v1)
|
||||
/* 02E3E8 8002D7E8 01E53823 */ subu $a3, $t7, $a1
|
||||
/* 02E3EC 8002D7EC 8ECF0000 */ lw $t7, ($s6)
|
||||
/* 02E3F0 8002D7F0 0005C900 */ sll $t9, $a1, 4
|
||||
/* 02E3F4 8002D7F4 8E020000 */ lw $v0, ($s0)
|
||||
/* 02E3F8 8002D7F8 032D5821 */ addu $t3, $t9, $t5
|
||||
/* 02E3FC 8002D7FC 03062023 */ subu $a0, $t8, $a2
|
||||
/* 02E400 8002D800 2499FFFF */ addiu $t9, $a0, -1
|
||||
/* 02E404 8002D804 001968C0 */ sll $t5, $t9, 3
|
||||
/* 02E408 8002D808 24580008 */ addiu $t8, $v0, 8
|
||||
/* 02E40C 8002D80C 00007012 */ mflo $t6
|
||||
/* 02E410 8002D810 01CF6021 */ addu $t4, $t6, $t7
|
||||
/* 02E414 8002D814 01944821 */ addu $t1, $t4, $s4
|
||||
/* 02E418 8002D818 312E0006 */ andi $t6, $t1, 6
|
||||
/* 02E41C 8002D81C 01AE7825 */ or $t7, $t5, $t6
|
||||
/* 02E420 8002D820 AE180000 */ sw $t8, ($s0)
|
||||
/* 02E424 8002D824 31F800FF */ andi $t8, $t7, 0xff
|
||||
/* 02E428 8002D828 0018CC00 */ sll $t9, $t8, 0x10
|
||||
/* 02E42C 8002D82C 000470C0 */ sll $t6, $a0, 3
|
||||
/* 02E430 8002D830 01C47821 */ addu $t7, $t6, $a0
|
||||
/* 02E434 8002D834 000FC040 */ sll $t8, $t7, 1
|
||||
/* 02E438 8002D838 033E6825 */ or $t5, $t9, $fp
|
||||
/* 02E43C 8002D83C 27190008 */ addiu $t9, $t8, 8
|
||||
/* 02E440 8002D840 332EFFFF */ andi $t6, $t9, 0xffff
|
||||
/* 02E444 8002D844 01AE7825 */ or $t7, $t5, $t6
|
||||
/* 02E448 8002D848 AC4F0000 */ sw $t7, ($v0)
|
||||
/* 02E44C 8002D84C AC490004 */ sw $t1, 4($v0)
|
||||
/* 02E450 8002D850 8E020000 */ lw $v0, ($s0)
|
||||
/* 02E454 8002D854 24F9FFFF */ addiu $t9, $a3, -1
|
||||
/* 02E458 8002D858 00196900 */ sll $t5, $t9, 4
|
||||
/* 02E45C 8002D85C 35AE0001 */ ori $t6, $t5, 1
|
||||
/* 02E460 8002D860 24580008 */ addiu $t8, $v0, 8
|
||||
/* 02E464 8002D864 AE180000 */ sw $t8, ($s0)
|
||||
/* 02E468 8002D868 31CF00FF */ andi $t7, $t6, 0xff
|
||||
/* 02E46C 8002D86C 000FC400 */ sll $t8, $t7, 0x10
|
||||
/* 02E470 8002D870 3C010500 */ lui $at, 0x500
|
||||
/* 02E474 8002D874 0301C825 */ or $t9, $t8, $at
|
||||
/* 02E478 8002D878 00076900 */ sll $t5, $a3, 4
|
||||
/* 02E47C 8002D87C 31AEFFFF */ andi $t6, $t5, 0xffff
|
||||
/* 02E480 8002D880 032E7825 */ or $t7, $t9, $t6
|
||||
/* 02E484 8002D884 0174C021 */ addu $t8, $t3, $s4
|
||||
/* 02E488 8002D888 AC580004 */ sw $t8, 4($v0)
|
||||
/* 02E48C 8002D88C AC4F0000 */ sw $t7, ($v0)
|
||||
/* 02E490 8002D890 8FAD0044 */ lw $t5, 0x44($sp)
|
||||
/* 02E494 8002D894 26520001 */ addiu $s2, $s2, 1
|
||||
/* 02E498 8002D898 85B9000A */ lh $t9, 0xa($t5)
|
||||
/* 02E49C 8002D89C 26310008 */ addiu $s1, $s1, 8
|
||||
/* 02E4A0 8002D8A0 0259082A */ slt $at, $s2, $t9
|
||||
/* 02E4A4 8002D8A4 1420FFC2 */ bnez $at, .L8002D7B0
|
||||
/* 02E4A8 8002D8A8 00000000 */ nop
|
||||
.L8002D8AC:
|
||||
/* 02E4AC 8002D8AC 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L8002D8B0:
|
||||
/* 02E4B0 8002D8B0 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 02E4B4 8002D8B4 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 02E4B8 8002D8B8 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 02E4BC 8002D8BC 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 02E4C0 8002D8C0 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 02E4C4 8002D8C4 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* 02E4C8 8002D8C8 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* 02E4CC 8002D8CC 8FB70034 */ lw $s7, 0x34($sp)
|
||||
/* 02E4D0 8002D8D0 8FBE0038 */ lw $fp, 0x38($sp)
|
||||
/* 02E4D4 8002D8D4 03E00008 */ jr $ra
|
||||
/* 02E4D8 8002D8D8 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
|
||||
@@ -1,199 +0,0 @@
|
||||
glabel render_floor_decal
|
||||
/* 02DF84 8002D384 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 02DF88 8002D388 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* 02DF8C 8002D38C AFBE0038 */ sw $fp, 0x38($sp)
|
||||
/* 02DF90 8002D390 AFB70034 */ sw $s7, 0x34($sp)
|
||||
/* 02DF94 8002D394 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* 02DF98 8002D398 AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* 02DF9C 8002D39C AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 02DFA0 8002D3A0 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 02DFA4 8002D3A4 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 02DFA8 8002D3A8 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 02DFAC 8002D3AC AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 02DFB0 8002D3B0 8C8E0040 */ lw $t6, 0x40($a0)
|
||||
/* 02DFB4 8002D3B4 00803025 */ move $a2, $a0
|
||||
/* 02DFB8 8002D3B8 85CF0032 */ lh $t7, 0x32($t6)
|
||||
/* 02DFBC 8002D3BC 00A03825 */ move $a3, $a1
|
||||
/* 02DFC0 8002D3C0 11E000A0 */ beqz $t7, .L8002D644
|
||||
/* 02DFC4 8002D3C4 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* 02DFC8 8002D3C8 84B80008 */ lh $t8, 8($a1)
|
||||
/* 02DFCC 8002D3CC 2401FFFF */ li $at, -1
|
||||
/* 02DFD0 8002D3D0 1301009B */ beq $t8, $at, .L8002D640
|
||||
/* 02DFD4 8002D3D4 3C198012 */ lui $t9, %hi(D_8011B0C4) # $t9, 0x8012
|
||||
/* 02DFD8 8002D3D8 8F39B0C4 */ lw $t9, %lo(D_8011B0C4)($t9)
|
||||
/* 02DFDC 8002D3DC 3C048012 */ lui $a0, %hi(D_8011B0CC) # $a0, 0x8012
|
||||
/* 02DFE0 8002D3E0 17200097 */ bnez $t9, .L8002D640
|
||||
/* 02DFE4 8002D3E4 3C0D8012 */ lui $t5, %hi(D_8011B0C8) # $t5, 0x8012
|
||||
/* 02DFE8 8002D3E8 8DADB0C8 */ lw $t5, %lo(D_8011B0C8)($t5)
|
||||
/* 02DFEC 8002D3EC 2484B0CC */ addiu $a0, %lo(D_8011B0CC) # addiu $a0, $a0, -0x4f34
|
||||
/* 02DFF0 8002D3F0 AC8D0000 */ sw $t5, ($a0)
|
||||
/* 02DFF4 8002D3F4 8CCE0040 */ lw $t6, 0x40($a2)
|
||||
/* 02DFF8 8002D3F8 24010001 */ li $at, 1
|
||||
/* 02DFFC 8002D3FC 85CF0032 */ lh $t7, 0x32($t6)
|
||||
/* 02E000 8002D400 3C148012 */ lui $s4, %hi(D_8011D360) # $s4, 0x8012
|
||||
/* 02E004 8002D404 15E10003 */ bne $t7, $at, .L8002D414
|
||||
/* 02E008 8002D408 2694D360 */ addiu $s4, %lo(D_8011D360) # addiu $s4, $s4, -0x2ca0
|
||||
/* 02E00C 8002D40C 25B90002 */ addiu $t9, $t5, 2
|
||||
/* 02E010 8002D410 AC990000 */ sw $t9, ($a0)
|
||||
.L8002D414:
|
||||
/* 02E014 8002D414 8C820000 */ lw $v0, ($a0)
|
||||
/* 02E018 8002D418 3C0E8012 */ lui $t6, %hi(D_8011D350) # $t6, 0x8012
|
||||
/* 02E01C 8002D41C 00026880 */ sll $t5, $v0, 2
|
||||
/* 02E020 8002D420 01CD7021 */ addu $t6, $t6, $t5
|
||||
/* 02E024 8002D424 8DCED350 */ lw $t6, %lo(D_8011D350)($t6)
|
||||
/* 02E028 8002D428 84F30008 */ lh $s3, 8($a3)
|
||||
/* 02E02C 8002D42C 3C0F8012 */ lui $t7, %hi(D_8011D320) # $t7, 0x8012
|
||||
/* 02E030 8002D430 01ED7821 */ addu $t7, $t7, $t5
|
||||
/* 02E034 8002D434 AE8E0000 */ sw $t6, ($s4)
|
||||
/* 02E038 8002D438 8DEFD320 */ lw $t7, %lo(D_8011D320)($t7)
|
||||
/* 02E03C 8002D43C 3C018012 */ lui $at, %hi(D_8011D330) # $at, 0x8012
|
||||
/* 02E040 8002D440 3C188012 */ lui $t8, %hi(D_8011D338) # $t8, 0x8012
|
||||
/* 02E044 8002D444 030DC021 */ addu $t8, $t8, $t5
|
||||
/* 02E048 8002D448 AC2FD330 */ sw $t7, %lo(D_8011D330)($at)
|
||||
/* 02E04C 8002D44C 8F18D338 */ lw $t8, %lo(D_8011D338)($t8)
|
||||
/* 02E050 8002D450 8E990000 */ lw $t9, ($s4)
|
||||
/* 02E054 8002D454 3C178012 */ lui $s7, %hi(D_8011D348) # $s7, 0x8012
|
||||
/* 02E058 8002D458 26F7D348 */ addiu $s7, %lo(D_8011D348) # addiu $s7, $s7, -0x2cb8
|
||||
/* 02E05C 8002D45C 001368C0 */ sll $t5, $s3, 3
|
||||
/* 02E060 8002D460 AEF80000 */ sw $t8, ($s7)
|
||||
/* 02E064 8002D464 032D7021 */ addu $t6, $t9, $t5
|
||||
/* 02E068 8002D468 85CF0006 */ lh $t7, 6($t6)
|
||||
/* 02E06C 8002D46C 8EF90000 */ lw $t9, ($s7)
|
||||
/* 02E070 8002D470 000FC080 */ sll $t8, $t7, 2
|
||||
/* 02E074 8002D474 030FC021 */ addu $t8, $t8, $t7
|
||||
/* 02E078 8002D478 0018C040 */ sll $t8, $t8, 1
|
||||
/* 02E07C 8002D47C 03386821 */ addu $t5, $t9, $t8
|
||||
/* 02E080 8002D480 91A30009 */ lbu $v1, 9($t5)
|
||||
/* 02E084 8002D484 241E000A */ li $fp, 10
|
||||
/* 02E088 8002D488 10600005 */ beqz $v1, .L8002D4A0
|
||||
/* 02E08C 8002D48C 3C160500 */ lui $s6, 0x500
|
||||
/* 02E090 8002D490 90C50039 */ lbu $a1, 0x39($a2)
|
||||
/* 02E094 8002D494 240200FF */ li $v0, 255
|
||||
/* 02E098 8002D498 14A00004 */ bnez $a1, .L8002D4AC
|
||||
/* 02E09C 8002D49C 00000000 */ nop
|
||||
.L8002D4A0:
|
||||
/* 02E0A0 8002D4A0 84F3000A */ lh $s3, 0xa($a3)
|
||||
/* 02E0A4 8002D4A4 10000015 */ b .L8002D4FC
|
||||
/* 02E0A8 8002D4A8 84EE000A */ lh $t6, 0xa($a3)
|
||||
.L8002D4AC:
|
||||
/* 02E0AC 8002D4AC 14620003 */ bne $v1, $v0, .L8002D4BC
|
||||
/* 02E0B0 8002D4B0 00000000 */ nop
|
||||
/* 02E0B4 8002D4B4 10450010 */ beq $v0, $a1, .L8002D4F8
|
||||
/* 02E0B8 8002D4B8 00000000 */ nop
|
||||
.L8002D4BC:
|
||||
/* 02E0BC 8002D4BC 00A30019 */ multu $a1, $v1
|
||||
/* 02E0C0 8002D4C0 3C118012 */ lui $s1, %hi(gSceneCurrDisplayList) # $s1, 0x8012
|
||||
/* 02E0C4 8002D4C4 2631B0A0 */ addiu $s1, %lo(gSceneCurrDisplayList) # addiu $s1, $s1, -0x4f60
|
||||
/* 02E0C8 8002D4C8 8E240000 */ lw $a0, ($s1)
|
||||
/* 02E0CC 8002D4CC 2401FF00 */ li $at, -256
|
||||
/* 02E0D0 8002D4D0 248F0008 */ addiu $t7, $a0, 8
|
||||
/* 02E0D4 8002D4D4 AE2F0000 */ sw $t7, ($s1)
|
||||
/* 02E0D8 8002D4D8 3C19FA00 */ lui $t9, 0xfa00
|
||||
/* 02E0DC 8002D4DC 241E000E */ li $fp, 14
|
||||
/* 02E0E0 8002D4E0 AC990000 */ sw $t9, ($a0)
|
||||
/* 02E0E4 8002D4E4 00001812 */ mflo $v1
|
||||
/* 02E0E8 8002D4E8 00037203 */ sra $t6, $v1, 8
|
||||
/* 02E0EC 8002D4EC 31D800FF */ andi $t8, $t6, 0xff
|
||||
/* 02E0F0 8002D4F0 03016825 */ or $t5, $t8, $at
|
||||
/* 02E0F4 8002D4F4 AC8D0004 */ sw $t5, 4($a0)
|
||||
.L8002D4F8:
|
||||
/* 02E0F8 8002D4F8 84EE000A */ lh $t6, 0xa($a3)
|
||||
.L8002D4FC:
|
||||
/* 02E0FC 8002D4FC 3C118012 */ lui $s1, %hi(gSceneCurrDisplayList) # $s1, 0x8012
|
||||
/* 02E100 8002D500 026E082A */ slt $at, $s3, $t6
|
||||
/* 02E104 8002D504 10200045 */ beqz $at, .L8002D61C
|
||||
/* 02E108 8002D508 2631B0A0 */ addiu $s1, %lo(gSceneCurrDisplayList) # addiu $s1, $s1, -0x4f60
|
||||
/* 02E10C 8002D50C 001380C0 */ sll $s0, $s3, 3
|
||||
/* 02E110 8002D510 AFA70044 */ sw $a3, 0x44($sp)
|
||||
/* 02E114 8002D514 3C150400 */ lui $s5, 0x400
|
||||
/* 02E118 8002D518 3C128000 */ lui $s2, 0x8000
|
||||
.L8002D51C:
|
||||
/* 02E11C 8002D51C 8E8F0000 */ lw $t7, ($s4)
|
||||
/* 02E120 8002D520 02202025 */ move $a0, $s1
|
||||
/* 02E124 8002D524 01F0C821 */ addu $t9, $t7, $s0
|
||||
/* 02E128 8002D528 8F250000 */ lw $a1, ($t9)
|
||||
/* 02E12C 8002D52C 0C01ED32 */ jal func_8007B4C8
|
||||
/* 02E130 8002D530 03C03025 */ move $a2, $fp
|
||||
/* 02E134 8002D534 8E980000 */ lw $t8, ($s4)
|
||||
/* 02E138 8002D538 3C198012 */ lui $t9, %hi(D_8011D330) # $t9, 0x8012
|
||||
/* 02E13C 8002D53C 03101021 */ addu $v0, $t8, $s0
|
||||
/* 02E140 8002D540 84450004 */ lh $a1, 4($v0)
|
||||
/* 02E144 8002D544 84460006 */ lh $a2, 6($v0)
|
||||
/* 02E148 8002D548 844D000C */ lh $t5, 0xc($v0)
|
||||
/* 02E14C 8002D54C 0006C080 */ sll $t8, $a2, 2
|
||||
/* 02E150 8002D550 01A53823 */ subu $a3, $t5, $a1
|
||||
/* 02E154 8002D554 844E000E */ lh $t6, 0xe($v0)
|
||||
/* 02E158 8002D558 8F39D330 */ lw $t9, %lo(D_8011D330)($t9)
|
||||
/* 02E15C 8002D55C 8EED0000 */ lw $t5, ($s7)
|
||||
/* 02E160 8002D560 0306C021 */ addu $t8, $t8, $a2
|
||||
/* 02E164 8002D564 0018C040 */ sll $t8, $t8, 1
|
||||
/* 02E168 8002D568 00057900 */ sll $t7, $a1, 4
|
||||
/* 02E16C 8002D56C 8E240000 */ lw $a0, ($s1)
|
||||
/* 02E170 8002D570 01C61823 */ subu $v1, $t6, $a2
|
||||
/* 02E174 8002D574 01F95821 */ addu $t3, $t7, $t9
|
||||
/* 02E178 8002D578 030D6021 */ addu $t4, $t8, $t5
|
||||
/* 02E17C 8002D57C 01924821 */ addu $t1, $t4, $s2
|
||||
/* 02E180 8002D580 246FFFFF */ addiu $t7, $v1, -1
|
||||
/* 02E184 8002D584 000FC8C0 */ sll $t9, $t7, 3
|
||||
/* 02E188 8002D588 31380006 */ andi $t8, $t1, 6
|
||||
/* 02E18C 8002D58C 248E0008 */ addiu $t6, $a0, 8
|
||||
/* 02E190 8002D590 AE2E0000 */ sw $t6, ($s1)
|
||||
/* 02E194 8002D594 03386825 */ or $t5, $t9, $t8
|
||||
/* 02E198 8002D598 31AE00FF */ andi $t6, $t5, 0xff
|
||||
/* 02E19C 8002D59C 000E7C00 */ sll $t7, $t6, 0x10
|
||||
/* 02E1A0 8002D5A0 0003C0C0 */ sll $t8, $v1, 3
|
||||
/* 02E1A4 8002D5A4 03036821 */ addu $t5, $t8, $v1
|
||||
/* 02E1A8 8002D5A8 000D7040 */ sll $t6, $t5, 1
|
||||
/* 02E1AC 8002D5AC 01F5C825 */ or $t9, $t7, $s5
|
||||
/* 02E1B0 8002D5B0 25CF0008 */ addiu $t7, $t6, 8
|
||||
/* 02E1B4 8002D5B4 31F8FFFF */ andi $t8, $t7, 0xffff
|
||||
/* 02E1B8 8002D5B8 03386825 */ or $t5, $t9, $t8
|
||||
/* 02E1BC 8002D5BC AC8D0000 */ sw $t5, ($a0)
|
||||
/* 02E1C0 8002D5C0 AC890004 */ sw $t1, 4($a0)
|
||||
/* 02E1C4 8002D5C4 8E240000 */ lw $a0, ($s1)
|
||||
/* 02E1C8 8002D5C8 24EFFFFF */ addiu $t7, $a3, -1
|
||||
/* 02E1CC 8002D5CC 000FC900 */ sll $t9, $t7, 4
|
||||
/* 02E1D0 8002D5D0 37380001 */ ori $t8, $t9, 1
|
||||
/* 02E1D4 8002D5D4 248E0008 */ addiu $t6, $a0, 8
|
||||
/* 02E1D8 8002D5D8 AE2E0000 */ sw $t6, ($s1)
|
||||
/* 02E1DC 8002D5DC 330D00FF */ andi $t5, $t8, 0xff
|
||||
/* 02E1E0 8002D5E0 000D7400 */ sll $t6, $t5, 0x10
|
||||
/* 02E1E4 8002D5E4 01D67825 */ or $t7, $t6, $s6
|
||||
/* 02E1E8 8002D5E8 0007C900 */ sll $t9, $a3, 4
|
||||
/* 02E1EC 8002D5EC 3338FFFF */ andi $t8, $t9, 0xffff
|
||||
/* 02E1F0 8002D5F0 01F86825 */ or $t5, $t7, $t8
|
||||
/* 02E1F4 8002D5F4 01727021 */ addu $t6, $t3, $s2
|
||||
/* 02E1F8 8002D5F8 AC8E0004 */ sw $t6, 4($a0)
|
||||
/* 02E1FC 8002D5FC AC8D0000 */ sw $t5, ($a0)
|
||||
/* 02E200 8002D600 8FB90044 */ lw $t9, 0x44($sp)
|
||||
/* 02E204 8002D604 26730001 */ addiu $s3, $s3, 1
|
||||
/* 02E208 8002D608 872F000A */ lh $t7, 0xa($t9)
|
||||
/* 02E20C 8002D60C 26100008 */ addiu $s0, $s0, 8
|
||||
/* 02E210 8002D610 026F082A */ slt $at, $s3, $t7
|
||||
/* 02E214 8002D614 1420FFC1 */ bnez $at, .L8002D51C
|
||||
/* 02E218 8002D618 00000000 */ nop
|
||||
.L8002D61C:
|
||||
/* 02E21C 8002D61C 24010002 */ li $at, 2
|
||||
/* 02E220 8002D620 13C10007 */ beq $fp, $at, .L8002D640
|
||||
/* 02E224 8002D624 3C0DFA00 */ lui $t5, 0xfa00
|
||||
/* 02E228 8002D628 8E240000 */ lw $a0, ($s1)
|
||||
/* 02E22C 8002D62C 240EFFFF */ li $t6, -1
|
||||
/* 02E230 8002D630 24980008 */ addiu $t8, $a0, 8
|
||||
/* 02E234 8002D634 AE380000 */ sw $t8, ($s1)
|
||||
/* 02E238 8002D638 AC8E0004 */ sw $t6, 4($a0)
|
||||
/* 02E23C 8002D63C AC8D0000 */ sw $t5, ($a0)
|
||||
.L8002D640:
|
||||
/* 02E240 8002D640 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L8002D644:
|
||||
/* 02E244 8002D644 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 02E248 8002D648 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 02E24C 8002D64C 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 02E250 8002D650 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 02E254 8002D654 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 02E258 8002D658 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* 02E25C 8002D65C 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* 02E260 8002D660 8FB70034 */ lw $s7, 0x34($sp)
|
||||
/* 02E264 8002D664 8FBE0038 */ lw $fp, 0x38($sp)
|
||||
/* 02E268 8002D668 03E00008 */ jr $ra
|
||||
/* 02E26C 8002D66C 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
|
||||
+8
-3
@@ -506,7 +506,9 @@ typedef struct LevelModelSegment {
|
||||
/* 0x1C */ s16 numberOfVertices;
|
||||
/* 0x1E */ s16 numberOfTriangles;
|
||||
/* 0x20 */ s16 numberOfBatches;
|
||||
u8 pad22[0x09];
|
||||
u8 pad22[0x06];
|
||||
/* 0x28 */ s16 unk28;
|
||||
/* 0x2A */ s8 unk2A;
|
||||
/* 0x2B */ s8 unk2B;
|
||||
u8 pad2C[4];
|
||||
/* 0x30 */ s16 unk30;
|
||||
@@ -593,7 +595,9 @@ typedef struct ObjectHeader {
|
||||
u8 pad28[8];
|
||||
/* 0x30 */ u16 unk30;
|
||||
/* 0x32 */ s16 unk32;
|
||||
u8 pad34[9];
|
||||
/* 0x32 */ s16 unk34;
|
||||
/* 0x32 */ s16 unk36;
|
||||
u8 pad38[5];
|
||||
/* 0x3D */ u8 unk3D;
|
||||
u8 pad3E[16];
|
||||
s16 unk4E; //Used in func_8002A900?
|
||||
@@ -738,7 +742,8 @@ typedef struct Object_WeaponBalloon {
|
||||
} Object_WeaponBalloon;
|
||||
|
||||
typedef struct Object_Weapon {
|
||||
/* 0x00 */ u8 pad0[0x18];
|
||||
/* 0x00 */ void *unk0;
|
||||
/* 0x00 */ u8 pad4[0x14];
|
||||
/* 0x18 */ u8 unk18;
|
||||
} Object_Weapon;
|
||||
|
||||
|
||||
@@ -182,6 +182,7 @@ s32 init_controllers(void);
|
||||
void func_80067D3C(Gfx **dlist, UNUSED Matrix **mats);
|
||||
void func_80068BF4(Gfx **arg0, Matrix **arg1, Vertex **arg2, ObjectSegment *arg3, unk80068BF4 *arg4, s32 arg5);
|
||||
s32 render_sprite_billboard(Gfx **dlist, Matrix **mtx, Vertex **vertexList, Object *obj, unk80068514_arg4 *arg4, s32 flags);
|
||||
void func_80069484(Gfx **arg0, Matrix **arg1, ObjectTransform *arg2, f32 arg3, f32 arg4);
|
||||
|
||||
// Non Matching
|
||||
void func_80066610(void);
|
||||
|
||||
+119
-7
@@ -19,6 +19,7 @@
|
||||
#include "printf.h"
|
||||
#include "unknown_0255E0.h"
|
||||
#include "math_util.h"
|
||||
#include "camera.h"
|
||||
|
||||
/************ .data ************/
|
||||
|
||||
@@ -1022,13 +1023,20 @@ s32 func_80011570(Object *obj, f32 xPos, f32 yPos, f32 zPos) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef NON_EQUIVALENT
|
||||
void func_80011960(Object *arg0, s32 arg2, u32 arg3, Object_64 *arg4,
|
||||
u32 arg5, u32 arg6, u32 arg7, u32 arg8, f32 arg9) {
|
||||
void func_80011960(Object *obj, Vertex *verts, u32 numVertices, Triangle *triangles, u32 numTriangles, TextureHeader *tex, u32 arg6, u32 arg7, f32 arg8) {
|
||||
s32 hasTexture = FALSE;
|
||||
func_80069484(&gObjectCurrDisplayList, &gObjectCurrMatrix, &obj->segment.trans, arg8, 0.0f);
|
||||
gDPSetPrimColor(gObjectCurrDisplayList++, 0, 0, 255, 255, 255, 255);
|
||||
gDPSetEnvColor(gObjectCurrDisplayList++, 255, 255, 255, 0);
|
||||
if (tex != NULL) {
|
||||
hasTexture = TRUE;
|
||||
}
|
||||
func_8007B4E8(&gObjectCurrDisplayList, (TextureHeader* ) tex, (s32) arg6, (s32) arg7);
|
||||
gSPVertexDKR(gObjectCurrDisplayList++, OS_K0_TO_PHYSICAL(verts), numVertices, 0);
|
||||
gSPPolygon(gObjectCurrDisplayList++, OS_K0_TO_PHYSICAL(triangles), numTriangles, hasTexture);
|
||||
func_80069A40(&gObjectCurrDisplayList);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/objects/func_80011960.s")
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef NON_EQUIVALENT
|
||||
//f32 D_800E5550 = 0.01f;
|
||||
@@ -1073,7 +1081,111 @@ void func_80011AD0(Object *this) {
|
||||
GLOBAL_ASM("asm/non_matchings/objects/func_80011AD0.s")
|
||||
#endif
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/objects/render_3d_billboard.s")
|
||||
/**
|
||||
* Render an object as a billboard.
|
||||
* A few tweaks are made depending on the behaviour ID of the object.
|
||||
* A few exceptions will not call to render a billboarded sprite.
|
||||
*/
|
||||
void render_3d_billboard(Object *obj) {
|
||||
s32 intensity;
|
||||
s32 flags;
|
||||
s32 alpha;
|
||||
s32 hasPrimCol;
|
||||
s32 hasEnvCol;
|
||||
ObjectTransformExt sp60;
|
||||
Object *var_a0;
|
||||
unk80068514_arg4* sp58;
|
||||
|
||||
intensity = 255;
|
||||
hasPrimCol = FALSE;
|
||||
hasEnvCol = FALSE;
|
||||
flags = obj->segment.trans.unk6 | 0x100 | 0x8;
|
||||
if (obj->unk54 != NULL) {
|
||||
hasPrimCol = TRUE;
|
||||
hasEnvCol = TRUE;
|
||||
intensity = obj->unk54->unk0 * 255.0f;
|
||||
}
|
||||
|
||||
if (obj->behaviorId == BHV_BOMB_EXPLOSION) {
|
||||
if (obj->segment.unk38.half.lower > 255) {
|
||||
obj->segment.unk38.half.lower = obj->unk7C.word & 0xFF;
|
||||
} else {
|
||||
obj->segment.unk38.half.lower = ((obj->segment.unk38.half.lower * (obj->unk7C.word & 0xFF)) >> 8);
|
||||
}
|
||||
}
|
||||
|
||||
alpha = obj->segment.unk38.half.lower;
|
||||
if (alpha >= 256) {
|
||||
alpha = 255;
|
||||
}
|
||||
|
||||
// If the behavior is a wizpig ghost, then halve it's transparency.
|
||||
if (obj->behaviorId == BHV_WIZPIG_GHOSTS) {
|
||||
alpha >>= 1;
|
||||
}
|
||||
|
||||
if (alpha < 255) {
|
||||
flags |= 4;
|
||||
hasPrimCol = TRUE;
|
||||
}
|
||||
if ((obj->behaviorId == 5) && (obj->segment.trans.scale == 6.0f)) {
|
||||
gDPSetPrimColor(gObjectCurrDisplayList++, 0, 0, (intensity * 3) >> 2, intensity, intensity >> 1, alpha);
|
||||
hasPrimCol = TRUE;
|
||||
} else if (obj->behaviorId == BHV_WIZPIG_GHOSTS) { // If the behavior is a wizpig ghost
|
||||
gDPSetPrimColor(gObjectCurrDisplayList++, 0, 0, 150, 230, 255, alpha);
|
||||
hasPrimCol = TRUE;
|
||||
} else if (hasPrimCol || alpha < 255) {
|
||||
gDPSetPrimColor(gObjectCurrDisplayList++, 0, 0, intensity, intensity, intensity, alpha);
|
||||
} else {
|
||||
gDPSetPrimColor(gObjectCurrDisplayList++, 0, 0, 255, 255, 255, 255);
|
||||
}
|
||||
if (hasEnvCol) {
|
||||
gDPSetEnvColor(gObjectCurrDisplayList++, obj->unk54->unk4, obj->unk54->unk5, obj->unk54->unk6, obj->unk54->unk7);
|
||||
} else if (obj->behaviorId == BHV_LAVA_SPURT) {
|
||||
hasEnvCol = TRUE;
|
||||
gDPSetEnvColor(gObjectCurrDisplayList++, 255, 255, 0, 255);
|
||||
} else {
|
||||
gDPSetEnvColor(gObjectCurrDisplayList++, 255, 255, 255, 0);
|
||||
}
|
||||
sp58 = (unk80068514_arg4 *) obj->unk68[obj->segment.unk3A];
|
||||
var_a0 = NULL;
|
||||
if (obj->behaviorId == BHV_FIREBALL_OCTOWEAPON_2) {
|
||||
var_a0 = (Object *) obj->trans78;
|
||||
if (obj->unk7C.word > 0) {
|
||||
var_a0 = obj;
|
||||
}
|
||||
}
|
||||
|
||||
// 5 = OilSlick, SmokeCloud, Bomb, BubbleWeapon
|
||||
if(var_a0 != NULL || !(obj->behaviorId != BHV_WEAPON || obj->unk64->weapon.unk18 != 10)) {
|
||||
sp60.trans.z_rotation = 0;
|
||||
sp60.trans.x_rotation = 0;
|
||||
sp60.trans.y_rotation = 0;
|
||||
sp60.trans.scale = obj->segment.trans.scale;
|
||||
sp60.trans.x_position = 0.0f;
|
||||
sp60.trans.z_position = 0.0f;
|
||||
sp60.trans.y_position = 12.0f;
|
||||
sp60.unk18 = obj->segment.unk18;
|
||||
sp60.unk1A = 32;
|
||||
if (var_a0 == NULL) {
|
||||
var_a0 = (Object *) obj->unk64->weapon.unk0;
|
||||
if (var_a0 == NULL) {
|
||||
var_a0 = obj;
|
||||
}
|
||||
}
|
||||
func_800138A8(var_a0, sp58, &sp60, 0x106);
|
||||
} else {
|
||||
render_sprite_billboard(&gObjectCurrDisplayList, &gObjectCurrMatrix, (Vertex **) &gObjectCurrVertexList, obj, sp58, flags);
|
||||
}
|
||||
if (hasPrimCol) {
|
||||
gDPSetPrimColor(gObjectCurrDisplayList++, 0, 0, 255, 255, 255, 255);
|
||||
}
|
||||
if (hasEnvCol) {
|
||||
gDPSetEnvColor(gObjectCurrDisplayList++, 255, 255, 255, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/objects/render_3d_model.s")
|
||||
|
||||
void func_80012C30(void) {
|
||||
|
||||
+11
-1
@@ -6,6 +6,7 @@
|
||||
#include "f3ddkr.h"
|
||||
#include "object_functions.h"
|
||||
#include "libc/math.h"
|
||||
#include "camera.h"
|
||||
|
||||
enum ObjectBehaviours {
|
||||
BHV_NONE,
|
||||
@@ -249,6 +250,12 @@ typedef struct struct_8000FC6C_3 {
|
||||
void *unk58;
|
||||
} struct_8000FC6C_3;
|
||||
|
||||
typedef struct ObjectTransformExt {
|
||||
ObjectTransform trans;
|
||||
s16 unk18;
|
||||
s16 unk1A;
|
||||
} ObjectTransformExt;
|
||||
|
||||
extern unknown800DC6F0 D_800DC6F0;
|
||||
extern unknown800DC6F0 D_800DC6F8;
|
||||
|
||||
@@ -409,13 +416,15 @@ void render_racer_shield(Gfx **dList, Matrix **mtx, VertexList **vtxList, Object
|
||||
void render_racer_magnet(Gfx **dList, Matrix **mtx, VertexList **vtxList, Object *obj);
|
||||
void set_and_normalize_D_8011AFE8(f32 arg0, f32 arg1, f32 arg2);
|
||||
s32 func_8000FC6C(struct_8000FC6C_3 *arg0, struct_8000FC6C *arg1);
|
||||
void render_3d_billboard(Object *obj);
|
||||
void func_80011960(Object *obj, Vertex *verts, u32 numVertices, Triangle *triangles, u32 numTriangles, TextureHeader *tex, u32 arg6, u32 arg7, f32 arg8);
|
||||
void func_8000B290(void);
|
||||
|
||||
//Non Matching
|
||||
void calc_dynamic_lighting_for_object_1(Object *, ObjectModel *, s16, Object *, f32, f32);
|
||||
void calc_dynamic_lighting_for_object_2(Object *, ObjectModel *, s16, f32);
|
||||
void gParticlePtrList_flush(void);
|
||||
void decrypt_magic_codes(u8 *arg0, s32 length);
|
||||
void func_80011960(Object*, s32, u32, Object_64*, u32, u32, u32, u32, f32);
|
||||
void func_80011AD0(Object *this);
|
||||
s32 func_80014814(s32 *);
|
||||
void func_80015348(s32, s32);
|
||||
@@ -432,5 +441,6 @@ void func_80011134(Object *, s32);
|
||||
void func_800113CC(Object *, s32, s32, s32, s32);
|
||||
s32 func_800143A8(ObjectModel*, Object*, s32, s32, s32); /* extern */
|
||||
void func_80068FA8(Gfx**, Matrix**, Object*, Object*, f32); /* extern */
|
||||
void func_800138A8(Object*, unk80068514_arg4*, s16*, s32);
|
||||
|
||||
#endif
|
||||
|
||||
+5
-9
@@ -170,17 +170,13 @@ s32 D_80127CC0;
|
||||
s32 D_80127CC4;
|
||||
s32 D_80127CC8;
|
||||
s32 D_80127CCC;
|
||||
s16 D_80127CD0;
|
||||
s16 D_80127CD2;
|
||||
u16 D_80127CD0;
|
||||
u16 D_80127CD2;
|
||||
s32 D_80127CD4;
|
||||
s8 D_80127CD8;
|
||||
s8 D_80127CD9;
|
||||
s8 D_80127CDA;
|
||||
s8 D_80127CDB;
|
||||
s32 D_80127CDC[574];
|
||||
s32 D_801285D8[1026];
|
||||
s8 gDebugPrintBufferStart[2300];
|
||||
s32 gDebugPrintBufferEnd[1026];
|
||||
s32 D_801295E0[108];
|
||||
s32 D_80129790[6];
|
||||
s32 D_80129790[6]; // Osmesg stuff
|
||||
s32 D_801297A8[8];
|
||||
s32 D_801297C8[8];
|
||||
s32 D_801297E8[6];
|
||||
|
||||
@@ -119,6 +119,15 @@ extern s32 D_80127CB8;
|
||||
extern s32 D_80127CCC;
|
||||
extern u16 D_80127CAE;
|
||||
extern u16 D_80127CAC;
|
||||
extern u16 D_80127CD0;
|
||||
extern s32 D_80127CBC;
|
||||
extern s32 D_80127CC0;
|
||||
extern u16 D_80127CD2;
|
||||
extern s32 D_80127CC4;
|
||||
extern s32 D_80127CC8;
|
||||
extern s32 D_80127CB4;
|
||||
extern s16 D_80127CB0;
|
||||
extern s16 D_80127CB2;
|
||||
|
||||
extern ParticleBehavior **gParticleBehavioursAssetTable;
|
||||
extern s32 gParticleBehavioursAssetTableCount;
|
||||
|
||||
+44
-8
@@ -11,6 +11,7 @@
|
||||
#include "stdio.h"
|
||||
#include "objects.h"
|
||||
#include "particles.h"
|
||||
#include "unknown_078050.h"
|
||||
|
||||
/************ .data ************/
|
||||
|
||||
@@ -66,8 +67,8 @@ const char D_800E8C64[] = "*** diPrintf Error *** ---> Out of string space. (Pri
|
||||
extern TextureHeader *gTexture0;
|
||||
extern TextureHeader *gTexture1;
|
||||
extern TextureHeader *gTexture2;
|
||||
extern u8 D_80127CD8;
|
||||
extern u8 *D_801285D8;
|
||||
extern u8 gDebugPrintBufferStart[];
|
||||
extern u8 *gDebugPrintBufferEnd;
|
||||
|
||||
/******************************/
|
||||
|
||||
@@ -147,7 +148,7 @@ void func_800B5E88(void) {
|
||||
gTexture0 = load_texture(0);
|
||||
gTexture1 = load_texture(1);
|
||||
gTexture2 = load_texture(2);
|
||||
D_801285D8 = &D_80127CD8;
|
||||
gDebugPrintBufferEnd = gDebugPrintBufferStart;
|
||||
}
|
||||
|
||||
#ifdef NON_EQUIVALENT
|
||||
@@ -155,14 +156,14 @@ s32 render_printf(const char *format, ...) {
|
||||
s32 written;
|
||||
va_list args;
|
||||
va_start(args, format);
|
||||
if ((D_801285D8 - &D_80127CD8) >= 0x801) {
|
||||
if ((gDebugPrintBufferEnd - gDebugPrintBufferStart) >= 0x801) {
|
||||
return -1;
|
||||
}
|
||||
func_800B4A08(1);
|
||||
written = sprintf(D_801285D8, format, args);
|
||||
written = sprintf(gDebugPrintBufferEnd, format, args);
|
||||
func_800B4A08(0);
|
||||
if (written > 0) {
|
||||
D_801285D8 = &D_801285D8[written] + 1;
|
||||
gDebugPrintBufferEnd = &gDebugPrintBufferEnd[written] + 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -170,10 +171,45 @@ s32 render_printf(const char *format, ...) {
|
||||
GLOBAL_ASM("asm/non_matchings/printf/render_printf.s")
|
||||
#endif
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/printf/print_debug_strings.s")
|
||||
/**
|
||||
* At the end of a frame, iterate through the debug text buffer and print it on screen.
|
||||
* Soft-clear the buffer afterwards by setting the endpoint to the start point.
|
||||
*/
|
||||
void print_debug_strings(Gfx **dlist) {
|
||||
char *buffer;
|
||||
u32 widthAndHeight;
|
||||
|
||||
init_rdp_and_framebuffer(dlist);
|
||||
widthAndHeight = get_video_width_and_height_as_s32();
|
||||
D_80127CD2 = (widthAndHeight >> 0x10);
|
||||
D_80127CD0 = widthAndHeight & 0xFFFF;
|
||||
gDPSetScissor((*dlist)++, 0, 0, 0, D_80127CD0, D_80127CD2);
|
||||
func_800B6E50();
|
||||
gSPDisplayList((*dlist)++, dDebugFontSettings);
|
||||
buffer = (char *) gDebugPrintBufferStart;
|
||||
func_800B6EE0();
|
||||
D_80127CCC = -1;
|
||||
D_80127CB4 = 0;
|
||||
D_80127CB0 = D_80127CAC;
|
||||
D_80127CB2 = D_80127CAE;
|
||||
while ((s32)buffer != (s32)gDebugPrintBufferEnd) {
|
||||
D_80127CB8 = 0;
|
||||
buffer += func_800B653C(dlist, (s8 *) buffer);
|
||||
}
|
||||
func_800B695C(dlist, (u16) D_80127CB0, (u16) D_80127CB2, D_80127CAC, D_80127CAE + 10);
|
||||
buffer = (char *) gDebugPrintBufferStart;
|
||||
func_800B6EE0();
|
||||
D_80127CCC = -1;
|
||||
D_80127CB4 = 0;
|
||||
while ((s32)buffer != (s32)gDebugPrintBufferEnd) {
|
||||
D_80127CB8 = 1;
|
||||
buffer += func_800B653C(dlist, (s8 *) buffer);
|
||||
}
|
||||
gDebugPrintBufferEnd = gDebugPrintBufferStart;
|
||||
}
|
||||
|
||||
UNUSED void func_800B61E0(void) {
|
||||
D_801285D8 = &D_80127CD8;
|
||||
gDebugPrintBufferEnd = gDebugPrintBufferStart;
|
||||
func_800B6EE0();
|
||||
}
|
||||
|
||||
|
||||
+4
-3
@@ -8,7 +8,7 @@
|
||||
#include <PR/gu.h>
|
||||
|
||||
|
||||
#define RENDER_PRINTF_CMD_ARG_BYTE(val) *D_801285D8 = val; D_801285D8++;
|
||||
#define RENDER_PRINTF_CMD_ARG_BYTE(val) *gDebugPrintBufferEnd = val; gDebugPrintBufferEnd++;
|
||||
#define RENDER_PRINTF_CMD_ARG_SHORT(val) RENDER_PRINTF_CMD_ARG_BYTE(val) RENDER_PRINTF_CMD_ARG_BYTE(val >> 8)
|
||||
|
||||
#define RENDER_PRINTF_CMD_END RENDER_PRINTF_CMD_ARG_BYTE(0)
|
||||
@@ -46,10 +46,11 @@ void set_render_printf_colour(u8 red, u8 green, u8 blue, u8 alpha);
|
||||
void set_render_printf_background_colour(u8 red, u8 green, u8 blue, u8 alpha);
|
||||
void func_800B695C(Gfx** dList, u32 arg1, u32 arg2, u32 arg3, u32 arg4);
|
||||
s32 func_800B69FC(Gfx **dlist, s32 arg1);
|
||||
void print_debug_strings(Gfx **dList);
|
||||
|
||||
void set_render_printf_position(u16 xpos, u16 ypos); // Non Matching
|
||||
s32 render_printf(const char *format, ...); // Non Matching
|
||||
void print_debug_strings(Gfx **dList); // Non Matching
|
||||
s32 render_printf(const char *format, ...); // Non Matchingg
|
||||
void func_800B3740(Object *, Gfx **, Matrix **, VertexList **, s32); // Non Matching
|
||||
s32 func_800B653C(Gfx**, s8*);
|
||||
|
||||
#endif
|
||||
|
||||
+6
-6
@@ -105,7 +105,7 @@ u8 D_801241E4;
|
||||
u8 sRumblePaksPresent; // Bits 0, 1, 2, and 3 of the bit pattern correspond to Controllers 1, 2, 3, and 4. 1 if a rumble pak is present
|
||||
u8 D_801241E6;
|
||||
u8 D_801241E7;
|
||||
s32 D_801241E8;
|
||||
s32 gRumbleDetectionTimer;
|
||||
s8 *D_801241EC;
|
||||
s32 D_801241F0;
|
||||
s32 D_801241F4;
|
||||
@@ -125,7 +125,7 @@ u8 func_80072250(s32 arg0) {
|
||||
void func_80072298(u8 arg0) {
|
||||
D_801241E4 = arg0;
|
||||
if (arg0 != 0) {
|
||||
D_801241E8 = 0x79;
|
||||
gRumbleDetectionTimer = 0x79;
|
||||
D_801241E6 = 0xF;
|
||||
return;
|
||||
}
|
||||
@@ -226,9 +226,9 @@ void rumble_controllers(s32 arg0) {
|
||||
u8 pfsBitPattern;
|
||||
|
||||
if ((D_801241E6 != 0) || ((D_800DE48C != 0))) {
|
||||
D_801241E8 += arg0;
|
||||
if (D_801241E8 >= 121) {
|
||||
D_801241E8 = 0;
|
||||
gRumbleDetectionTimer += arg0;
|
||||
if (gRumbleDetectionTimer >= 121) {
|
||||
gRumbleDetectionTimer = 0;
|
||||
osPfsIsPlug(sControllerMesgQueue, &pfsBitPattern);
|
||||
for (i = 0, controllerToCheck = 1; i < MAXCONTROLLERS; i++, controllerToCheck <<= 1) {
|
||||
if ((pfsBitPattern & controllerToCheck) && !(~D_801241E6 & sRumblePaksPresent & controllerToCheck)) {
|
||||
@@ -921,7 +921,7 @@ void init_controller_paks(void) {
|
||||
sUnkMiscAsset19 = (s16 *)get_misc_asset(ASSET_MISC_19);
|
||||
D_801241E6 = D_801241E7 = 0xF;
|
||||
D_801241E4 = 1;
|
||||
D_801241E8 = 0;
|
||||
gRumbleDetectionTimer = 0;
|
||||
D_800DE48C = 1;
|
||||
sControllerPaksPresent = sRumblePaksPresent = 0;
|
||||
|
||||
|
||||
@@ -53,15 +53,6 @@ extern OSMesg D_801297C8;
|
||||
|
||||
extern s32 D_80129FB0[3];
|
||||
|
||||
extern u16 D_80127CAC;
|
||||
extern u16 D_80127CAE;
|
||||
extern s32 D_80127CBC;
|
||||
extern s32 D_80127CC0;
|
||||
extern s32 D_80127CC4;
|
||||
extern s32 D_80127CC8;
|
||||
extern u16 D_80127CD0;
|
||||
extern u16 D_80127CD2;
|
||||
|
||||
void func_800B6E50(void) {
|
||||
if (D_80127CD0 < 0x141) {
|
||||
D_80127CBC = 0x10;
|
||||
|
||||
+125
-12
@@ -15,6 +15,9 @@
|
||||
#include "racer.h"
|
||||
#include "camera.h"
|
||||
#include "waves.h"
|
||||
#include "game_ui.h"
|
||||
#include "weather.h"
|
||||
#include "particles.h"
|
||||
|
||||
/************ .data ************/
|
||||
|
||||
@@ -94,7 +97,7 @@ s32 D_8011B104;
|
||||
s32 D_8011B108;
|
||||
s32 D_8011B10C;
|
||||
s32 D_8011B110;
|
||||
s32 D_8011B114;
|
||||
u32 D_8011B114;
|
||||
s32 D_8011B118;
|
||||
s32 D_8011B11C;
|
||||
s32 D_8011B120[128];
|
||||
@@ -133,13 +136,13 @@ s32 *D_8011D310;
|
||||
s32 D_8011D314;
|
||||
s32 D_8011D318;
|
||||
s32 D_8011D31C;
|
||||
s32 D_8011D320[4];
|
||||
s32 *D_8011D320[4];
|
||||
unk8011D330 *D_8011D330;
|
||||
s32 D_8011D334;
|
||||
s32 D_8011D338[4];
|
||||
s32 *D_8011D338[4];
|
||||
unk8011D348 *D_8011D348;
|
||||
s32 D_8011D34C;
|
||||
s32 D_8011D350[4];
|
||||
s32 *D_8011D350[4];
|
||||
unk8011D360 *D_8011D360;
|
||||
s32 D_8011D364;
|
||||
s32 D_8011D368;
|
||||
@@ -259,7 +262,7 @@ GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_800249F0.s")
|
||||
|
||||
// Regalloc
|
||||
#ifdef NON_MATCHING
|
||||
extern s32 D_A0000200;
|
||||
extern u32 D_A0000200;
|
||||
/**
|
||||
* The root function for rendering the entire scene
|
||||
*/
|
||||
@@ -1011,13 +1014,29 @@ GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002A5F8.s")
|
||||
#endif
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002A900.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002AC00.s")
|
||||
|
||||
UNUSED void func_8002AC00(s32 arg0, s32 arg1, s32 arg2) {
|
||||
s32 index;
|
||||
s32 index2;
|
||||
u8 temp;
|
||||
|
||||
if (arg0 < gCurrentLevelModel->numberOfSegments && arg1 < gCurrentLevelModel->numberOfSegments) {
|
||||
index = gCurrentLevelModel->segments[arg0].unk28;
|
||||
index2 = arg1 >> 3;
|
||||
temp = 1 << (arg1 & 7);
|
||||
if (arg2 != 0) {
|
||||
(&gCurrentLevelModel->segmentsBitfields[index])[index2] |= temp;
|
||||
} else {
|
||||
(&gCurrentLevelModel->segmentsBitfields[index])[index2] &= ~temp;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// These types are probably wrong because the vars are likely still unidentified structs, but the code matches still.
|
||||
UNUSED void func_8002ACA0(s32 *arg0, s32 *arg1, s32 *arg2) {
|
||||
*arg0 = D_8011D378;
|
||||
*arg1 = D_8011D370;
|
||||
*arg2 = D_8011D374;
|
||||
*arg0 = (unsigned) D_8011D378;
|
||||
*arg1 = (unsigned) D_8011D370;
|
||||
*arg2 = (unsigned) D_8011D374;
|
||||
}
|
||||
|
||||
void func_8002ACC8(s32 arg0) {
|
||||
@@ -1235,9 +1254,103 @@ void func_8002D30C(unk8002D30C_a0 *arg0, s32 arg1) {
|
||||
}
|
||||
}
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_0255E0/render_floor_decal.s")
|
||||
/**
|
||||
* Render a flat model that projects itself on the floor.
|
||||
*/
|
||||
void render_floor_decal(Object *obj, Object_50 *arg1) {
|
||||
s32 i;
|
||||
s32 temp_a0;
|
||||
s32 temp_a3;
|
||||
Vertex *vtx;
|
||||
Triangle *tri;
|
||||
s32 temp;
|
||||
s32 temp2;
|
||||
s32 temp3;
|
||||
s32 new_var;
|
||||
s32 new_var2;
|
||||
s32 someAlpha;
|
||||
|
||||
if (obj->segment.header->unk32 != 0) {
|
||||
if (arg1->unk8 != -1 && D_8011B0C4 == 0) {
|
||||
D_8011B0CC = D_8011B0C8;
|
||||
if (obj->segment.header->unk32 == 1) {
|
||||
D_8011B0CC += 2;
|
||||
}
|
||||
i = arg1->unk8;
|
||||
D_8011D360 = (unk8011D360 *) D_8011D350[D_8011B0CC];
|
||||
D_8011D330 = (unk8011D330 *) D_8011D320[D_8011B0CC];
|
||||
D_8011D348 = (unk8011D348 *) D_8011D338[D_8011B0CC];
|
||||
someAlpha = D_8011D348[D_8011D360[i].unk6].unk9;
|
||||
temp = 10;
|
||||
if (someAlpha == 0 || obj->segment.unk38.half.lower == 0) {
|
||||
i = arg1->unkA;
|
||||
} else if (someAlpha != 255 || obj->segment.unk38.half.lower != 255) {
|
||||
temp = 14;
|
||||
someAlpha = (obj->segment.unk38.half.lower * someAlpha) >> 8;
|
||||
gDPSetPrimColor(gSceneCurrDisplayList++, 0, 0, 255, 255, 255, someAlpha);
|
||||
}
|
||||
while (i < arg1->unkA) {
|
||||
func_8007B4C8(&gSceneCurrDisplayList, (TextureHeader *) D_8011D360[i].unk0, temp);
|
||||
// I hope we can clean this part up.
|
||||
temp2 = new_var2 = D_8011D360[i].unk4; // Fakematch
|
||||
temp3 = new_var = D_8011D360[i].unk6;
|
||||
temp_a3 = D_8011D360[i+1].unk4 - new_var2;
|
||||
temp_a0 = D_8011D360[i+1].unk6 - new_var;
|
||||
tri = (Triangle *) &D_8011D330[new_var2];
|
||||
vtx = (Vertex *) &D_8011D348[temp3];
|
||||
gSPVertexDKR(gSceneCurrDisplayList++, OS_K0_TO_PHYSICAL(vtx), temp_a0, 0);
|
||||
gSPPolygon(gSceneCurrDisplayList++, OS_K0_TO_PHYSICAL(tri), temp_a3, 1);
|
||||
i++;
|
||||
}
|
||||
|
||||
if (temp != 2) {
|
||||
gDPSetPrimColor(gSceneCurrDisplayList++, 0, 0, 255, 255, 255, 255);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_8002D670(Object *obj, Object_50 *arg1) {
|
||||
s32 i;
|
||||
s32 temp_a0;
|
||||
s32 temp_a3;
|
||||
Vertex *vtx;
|
||||
Triangle *tri;
|
||||
s32 temp;
|
||||
s32 temp2;
|
||||
s32 temp3;
|
||||
|
||||
if (obj->segment.header->unk36 != 0) {
|
||||
if ((arg1->unk8 != -1) && (D_8011B0C4 == 0)) {
|
||||
D_8011B0D0 = D_8011B0C8;
|
||||
i = arg1->unk8;
|
||||
if (obj->segment.header->unk36 == 1) {
|
||||
D_8011B0D0 = D_8011B0C8;
|
||||
D_8011B0D0 += 2;
|
||||
if (func_80066348(obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position) > 768.0f) {
|
||||
i = arg1->unkA;
|
||||
}
|
||||
}
|
||||
temp = 10;
|
||||
D_8011D360 = (unk8011D360* ) D_8011D350[D_8011B0D0];
|
||||
D_8011D330 = (unk8011D330* ) D_8011D320[D_8011B0D0];
|
||||
D_8011D348 = (unk8011D348* ) D_8011D338[D_8011B0D0];
|
||||
while (i < arg1->unkA) {
|
||||
func_8007B4C8(&gSceneCurrDisplayList, (TextureHeader *) D_8011D360[i].unk0, temp);
|
||||
temp2 = D_8011D360[i].unk4; // Fakematch
|
||||
temp3 = D_8011D360[i].unk6; // Fakematch
|
||||
temp_a3 = D_8011D360[i+1].unk4 - D_8011D360[i].unk4;
|
||||
temp_a0 = D_8011D360[i+1].unk6 - D_8011D360[i].unk6;
|
||||
tri = &((Triangle *) D_8011D330)[D_8011D360[i].unk4];
|
||||
vtx = &((Vertex *) D_8011D348)[D_8011D360[i].unk6];
|
||||
gSPVertexDKR(gSceneCurrDisplayList++, OS_K0_TO_PHYSICAL(vtx), temp_a0, 0);
|
||||
gSPPolygon(gSceneCurrDisplayList++, OS_K0_TO_PHYSICAL(tri), temp_a3, 1);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002D670.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002D8DC.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002DE30.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002E234.s")
|
||||
@@ -1468,7 +1581,7 @@ GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80030DE0.s")
|
||||
#endif
|
||||
|
||||
UNUSED void func_80030FA0(void) {
|
||||
D_8011B0B0 = func_80069D20();
|
||||
D_8011B0B0 = (Object *) func_80069D20();
|
||||
func_80031018();
|
||||
set_and_normalize_D_8011AFE8((f32) D_8011D468.x / 65536.0f, (f32) D_8011D468.y / 65536.0f, (f32) D_8011D468.z / 65536.0f);
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user