mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
7 new matches, and code cleanup (#215)
* Match func_8007EF80 * Match func_80027E24 * Add some names to the function * Match func_80029DE0 * BoundingBox variables named * Fix NON_EQUIVALENT functions not building due to struct changes * Documenting * Match get_level_segment_index_from_position * Minor revision of last match * Match traverse_segments_bsp_tree * Match render_level_geometry_and_objects * Cleaned up some warnings * Update math.c includes to more specifically include our version of math.h, which fixes generating ctx.c * Add a livediff.sh helper script * Match func_80067D3C * Map instances of + 0x8000000 to OS_PHYSICAL_TO_K0, because that's what made sense to me with that * Convert a lot of data types to Mtx, update some vairable names, and fix some warnings * Clean up the func_80068408 fast3d_cmd * Fix unused parameter warnings in object_functions.c * Commit suggestions from Faschz * WIP func_8007BA5C * func_8007BA5C WIP * More func_8007BA5C work * Leaving func_8007BA5C as is for now. * WIP func_8007BF34 * Update some signatures and add some externs to help ctx.c generation * WIP func_8007B4E8 * Fix missing reference to a var in a non-matching func * Update src/textures_sprites.h Co-authored-by: AntonioCastelli <aatcastelli@gmail.com> * Update src/unknown_0255E0.c Co-authored-by: AntonioCastelli <aatcastelli@gmail.com> * Rename some vars in func_8002A134 Co-authored-by: Ryan Myers <foldor@gmail.com> Co-authored-by: AntonioCastelli <aatcastelli@gmail.com>
This commit is contained in:
co-authored by
Ryan Myers
AntonioCastelli
parent
d2eb45ff48
commit
41385fc098
@@ -1,126 +0,0 @@
|
||||
glabel func_80067D3C
|
||||
/* 06893C 80067D3C 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 068940 80067D40 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 068944 80067D44 AFA50024 */ sw $a1, 0x24($sp)
|
||||
/* 068948 80067D48 8C830000 */ lw $v1, ($a0)
|
||||
/* 06894C 80067D4C 3C0FB400 */ lui $t7, 0xb400
|
||||
/* 068950 80067D50 246E0008 */ addiu $t6, $v1, 8
|
||||
/* 068954 80067D54 AC8E0000 */ sw $t6, ($a0)
|
||||
/* 068958 80067D58 3C188012 */ lui $t8, %hi(perspNorm+20) # $t8, 0x8012
|
||||
/* 06895C 80067D5C AC6F0000 */ sw $t7, ($v1)
|
||||
/* 068960 80067D60 97180D6C */ lhu $t8, %lo(perspNorm+20)($t8)
|
||||
/* 068964 80067D64 3C068012 */ lui $a2, %hi(D_80120CE4) # $a2, 0x8012
|
||||
/* 068968 80067D68 AC780004 */ sw $t8, 4($v1)
|
||||
/* 06896C 80067D6C 24C60CE4 */ addiu $a2, %lo(D_80120CE4) # addiu $a2, $a2, 0xce4
|
||||
/* 068970 80067D70 3C198012 */ lui $t9, %hi(D_80120D14) # $t9, 0x8012
|
||||
/* 068974 80067D74 8CC50000 */ lw $a1, ($a2)
|
||||
/* 068978 80067D78 83390D14 */ lb $t9, %lo(D_80120D14)($t9)
|
||||
/* 06897C 80067D7C 3C078012 */ lui $a3, %hi(D_80120CF0) # $a3, 0x8012
|
||||
/* 068980 80067D80 13200004 */ beqz $t9, .L80067D94
|
||||
/* 068984 80067D84 AFA5001C */ sw $a1, 0x1c($sp)
|
||||
/* 068988 80067D88 24A80004 */ addiu $t0, $a1, 4
|
||||
/* 06898C 80067D8C ACC80000 */ sw $t0, ($a2)
|
||||
/* 068990 80067D90 01002825 */ move $a1, $t0
|
||||
.L80067D94:
|
||||
/* 068994 80067D94 00054900 */ sll $t1, $a1, 4
|
||||
/* 068998 80067D98 01254821 */ addu $t1, $t1, $a1
|
||||
/* 06899C 80067D9C 3C0A8012 */ lui $t2, %hi(D_80120AC0) # $t2, 0x8012
|
||||
/* 0689A0 80067DA0 254A0AC0 */ addiu $t2, %lo(D_80120AC0) # addiu $t2, $t2, 0xac0
|
||||
/* 0689A4 80067DA4 00094880 */ sll $t1, $t1, 2
|
||||
/* 0689A8 80067DA8 012A1021 */ addu $v0, $t1, $t2
|
||||
/* 0689AC 80067DAC 24E70CF0 */ addiu $a3, %lo(D_80120CF0) # addiu $a3, $a3, 0xcf0
|
||||
/* 0689B0 80067DB0 844B0000 */ lh $t3, ($v0)
|
||||
/* 0689B4 80067DB4 844D0038 */ lh $t5, 0x38($v0)
|
||||
/* 0689B8 80067DB8 844E0002 */ lh $t6, 2($v0)
|
||||
/* 0689BC 80067DBC C444000C */ lwc1 $f4, 0xc($v0)
|
||||
/* 0689C0 80067DC0 C4480010 */ lwc1 $f8, 0x10($v0)
|
||||
/* 0689C4 80067DC4 84580004 */ lh $t8, 4($v0)
|
||||
/* 0689C8 80067DC8 34018000 */ li $at, 32768
|
||||
/* 0689CC 80067DCC 01616021 */ addu $t4, $t3, $at
|
||||
/* 0689D0 80067DD0 01AE7821 */ addu $t7, $t5, $t6
|
||||
/* 0689D4 80067DD4 46002187 */ neg.s $f6, $f4
|
||||
/* 0689D8 80067DD8 46004287 */ neg.s $f10, $f8
|
||||
/* 0689DC 80067DDC A4EC0000 */ sh $t4, ($a3)
|
||||
/* 0689E0 80067DE0 A4EF0002 */ sh $t7, 2($a3)
|
||||
/* 0689E4 80067DE4 E4E6000C */ swc1 $f6, 0xc($a3)
|
||||
/* 0689E8 80067DE8 E4EA0010 */ swc1 $f10, 0x10($a3)
|
||||
/* 0689EC 80067DEC 3C198012 */ lui $t9, %hi(D_80120D18) # $t9, 0x8012
|
||||
/* 0689F0 80067DF0 A4F80004 */ sh $t8, 4($a3)
|
||||
/* 0689F4 80067DF4 8F390D18 */ lw $t9, %lo(D_80120D18)($t9)
|
||||
/* 0689F8 80067DF8 3C048012 */ lui $a0, %hi(D_80120F60) # $a0, 0x8012
|
||||
/* 0689FC 80067DFC 13200006 */ beqz $t9, .L80067E18
|
||||
/* 068A00 80067E00 24840F60 */ addiu $a0, %lo(D_80120F60) # addiu $a0, $a0, 0xf60
|
||||
/* 068A04 80067E04 C4F00010 */ lwc1 $f16, 0x10($a3)
|
||||
/* 068A08 80067E08 C4520030 */ lwc1 $f18, 0x30($v0)
|
||||
/* 068A0C 80067E0C 00000000 */ nop
|
||||
/* 068A10 80067E10 46128101 */ sub.s $f4, $f16, $f18
|
||||
/* 068A14 80067E14 E4E40010 */ swc1 $f4, 0x10($a3)
|
||||
.L80067E18:
|
||||
/* 068A18 80067E18 C4460014 */ lwc1 $f6, 0x14($v0)
|
||||
/* 068A1C 80067E1C 00E02825 */ move $a1, $a3
|
||||
/* 068A20 80067E20 46003207 */ neg.s $f8, $f6
|
||||
/* 068A24 80067E24 0C01BF9D */ jal func_8006FE74
|
||||
/* 068A28 80067E28 E4E80014 */ swc1 $f8, 0x14($a3)
|
||||
/* 068A2C 80067E2C 3C048012 */ lui $a0, %hi(D_80120F60) # $a0, 0x8012
|
||||
/* 068A30 80067E30 3C058012 */ lui $a1, %hi(D_80120EE0) # $a1, 0x8012
|
||||
/* 068A34 80067E34 3C068012 */ lui $a2, %hi(D_80120F20) # $a2, 0x8012
|
||||
/* 068A38 80067E38 24C60F20 */ addiu $a2, %lo(D_80120F20) # addiu $a2, $a2, 0xf20
|
||||
/* 068A3C 80067E3C 24A50EE0 */ addiu $a1, %lo(D_80120EE0) # addiu $a1, $a1, 0xee0
|
||||
/* 068A40 80067E40 0C01BDDA */ jal func_8006F768
|
||||
/* 068A44 80067E44 24840F60 */ addiu $a0, %lo(D_80120F60) # addiu $a0, $a0, 0xf60
|
||||
/* 068A48 80067E48 3C088012 */ lui $t0, %hi(D_80120CE4) # $t0, 0x8012
|
||||
/* 068A4C 80067E4C 8D080CE4 */ lw $t0, %lo(D_80120CE4)($t0)
|
||||
/* 068A50 80067E50 3C0A8012 */ lui $t2, %hi(D_80120AC0) # $t2, 0x8012
|
||||
/* 068A54 80067E54 00084900 */ sll $t1, $t0, 4
|
||||
/* 068A58 80067E58 01284821 */ addu $t1, $t1, $t0
|
||||
/* 068A5C 80067E5C 00094880 */ sll $t1, $t1, 2
|
||||
/* 068A60 80067E60 254A0AC0 */ addiu $t2, %lo(D_80120AC0) # addiu $t2, $t2, 0xac0
|
||||
/* 068A64 80067E64 012A1021 */ addu $v0, $t1, $t2
|
||||
/* 068A68 80067E68 3C078012 */ lui $a3, %hi(D_80120CF0) # $a3, 0x8012
|
||||
/* 068A6C 80067E6C 24E70CF0 */ addiu $a3, %lo(D_80120CF0) # addiu $a3, $a3, 0xcf0
|
||||
/* 068A70 80067E70 844E0038 */ lh $t6, 0x38($v0)
|
||||
/* 068A74 80067E74 844F0002 */ lh $t7, 2($v0)
|
||||
/* 068A78 80067E78 844B0000 */ lh $t3, ($v0)
|
||||
/* 068A7C 80067E7C 84480004 */ lh $t0, 4($v0)
|
||||
/* 068A80 80067E80 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 068A84 80067E84 44815000 */ mtc1 $at, $f10
|
||||
/* 068A88 80067E88 C450000C */ lwc1 $f16, 0xc($v0)
|
||||
/* 068A8C 80067E8C C4520010 */ lwc1 $f18, 0x10($v0)
|
||||
/* 068A90 80067E90 240C8000 */ li $t4, -32768
|
||||
/* 068A94 80067E94 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 068A98 80067E98 0018C823 */ negu $t9, $t8
|
||||
/* 068A9C 80067E9C 018B6823 */ subu $t5, $t4, $t3
|
||||
/* 068AA0 80067EA0 00084823 */ negu $t1, $t0
|
||||
/* 068AA4 80067EA4 A4ED0000 */ sh $t5, ($a3)
|
||||
/* 068AA8 80067EA8 A4F90002 */ sh $t9, 2($a3)
|
||||
/* 068AAC 80067EAC A4E90004 */ sh $t1, 4($a3)
|
||||
/* 068AB0 80067EB0 3C0A8012 */ lui $t2, %hi(D_80120D18) # $t2, 0x8012
|
||||
/* 068AB4 80067EB4 E4EA0008 */ swc1 $f10, 8($a3)
|
||||
/* 068AB8 80067EB8 E4F0000C */ swc1 $f16, 0xc($a3)
|
||||
/* 068ABC 80067EBC E4F20010 */ swc1 $f18, 0x10($a3)
|
||||
/* 068AC0 80067EC0 8D4A0D18 */ lw $t2, %lo(D_80120D18)($t2)
|
||||
/* 068AC4 80067EC4 3C048012 */ lui $a0, %hi(D_80120FA0) # $a0, 0x8012
|
||||
/* 068AC8 80067EC8 11400006 */ beqz $t2, .L80067EE4
|
||||
/* 068ACC 80067ECC 24840FA0 */ addiu $a0, %lo(D_80120FA0) # addiu $a0, $a0, 0xfa0
|
||||
/* 068AD0 80067ED0 C4E40010 */ lwc1 $f4, 0x10($a3)
|
||||
/* 068AD4 80067ED4 C4460030 */ lwc1 $f6, 0x30($v0)
|
||||
/* 068AD8 80067ED8 00000000 */ nop
|
||||
/* 068ADC 80067EDC 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 068AE0 80067EE0 E4E80010 */ swc1 $f8, 0x10($a3)
|
||||
.L80067EE4:
|
||||
/* 068AE4 80067EE4 C44A0014 */ lwc1 $f10, 0x14($v0)
|
||||
/* 068AE8 80067EE8 00E02825 */ move $a1, $a3
|
||||
/* 068AEC 80067EEC 0C01BF0C */ jal func_8006FC30
|
||||
/* 068AF0 80067EF0 E4EA0014 */ swc1 $f10, 0x14($a3)
|
||||
/* 068AF4 80067EF4 3C048012 */ lui $a0, %hi(D_80120FA0) # $a0, 0x8012
|
||||
/* 068AF8 80067EF8 3C058012 */ lui $a1, %hi(D_80121020) # $a1, 0x8012
|
||||
/* 068AFC 80067EFC 24A51020 */ addiu $a1, %lo(D_80121020) # addiu $a1, $a1, 0x1020
|
||||
/* 068B00 80067F00 0C01BE1C */ jal func_8006F870
|
||||
/* 068B04 80067F04 24840FA0 */ addiu $a0, %lo(D_80120FA0) # addiu $a0, $a0, 0xfa0
|
||||
/* 068B08 80067F08 8FAC001C */ lw $t4, 0x1c($sp)
|
||||
/* 068B0C 80067F0C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 068B10 80067F10 3C018012 */ lui $at, %hi(D_80120CE4) # $at, 0x8012
|
||||
/* 068B14 80067F14 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 068B18 80067F18 03E00008 */ jr $ra
|
||||
/* 068B1C 80067F1C AC2C0CE4 */ sw $t4, %lo(D_80120CE4)($at)
|
||||
|
||||
@@ -1,170 +0,0 @@
|
||||
glabel func_8007EF80
|
||||
/* 07FB80 8007EF80 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 07FB84 8007EF84 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 07FB88 8007EF88 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* 07FB8C 8007EF8C AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 07FB90 8007EF90 8CA20000 */ lw $v0, ($a1)
|
||||
/* 07FB94 8007EF94 3C080400 */ lui $t0, 0x400
|
||||
/* 07FB98 8007EF98 3C010200 */ lui $at, 0x200
|
||||
/* 07FB9C 8007EF9C 00021A00 */ sll $v1, $v0, 8
|
||||
/* 07FBA0 8007EFA0 00A08025 */ move $s0, $a1
|
||||
/* 07FBA4 8007EFA4 00808825 */ move $s1, $a0
|
||||
/* 07FBA8 8007EFA8 00485024 */ and $t2, $v0, $t0
|
||||
/* 07FBAC 8007EFAC 0461003B */ bgez $v1, .L8007F09C
|
||||
/* 07FBB0 8007EFB0 00414824 */ and $t1, $v0, $at
|
||||
/* 07FBB4 8007EFB4 1520000E */ bnez $t1, .L8007EFF0
|
||||
/* 07FBB8 8007EFB8 00002025 */ move $a0, $zero
|
||||
/* 07FBBC 8007EFBC 0C01BE53 */ jal get_random_number_from_range
|
||||
/* 07FBC0 8007EFC0 240503E8 */ li $a1, 1000
|
||||
/* 07FBC4 8007EFC4 284103DA */ slti $at, $v0, 0x3da
|
||||
/* 07FBC8 8007EFC8 14200082 */ bnez $at, .L8007F1D4
|
||||
/* 07FBCC 8007EFCC 3C05FBFF */ lui $a1, (0xFBFFFFFF >> 16) # lui $a1, 0xfbff
|
||||
/* 07FBD0 8007EFD0 8E0E0000 */ lw $t6, ($s0)
|
||||
/* 07FBD4 8007EFD4 34A5FFFF */ ori $a1, (0xFBFFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff
|
||||
/* 07FBD8 8007EFD8 01C57824 */ and $t7, $t6, $a1
|
||||
/* 07FBDC 8007EFDC 3C010200 */ lui $at, 0x200
|
||||
/* 07FBE0 8007EFE0 AE0F0000 */ sw $t7, ($s0)
|
||||
/* 07FBE4 8007EFE4 01E1C825 */ or $t9, $t7, $at
|
||||
/* 07FBE8 8007EFE8 1000007A */ b .L8007F1D4
|
||||
/* 07FBEC 8007EFEC AE190000 */ sw $t9, ($s0)
|
||||
.L8007EFF0:
|
||||
/* 07FBF0 8007EFF0 1540001C */ bnez $t2, .L8007F064
|
||||
/* 07FBF4 8007EFF4 00000000 */ nop
|
||||
/* 07FBF8 8007EFF8 962C0014 */ lhu $t4, 0x14($s1)
|
||||
/* 07FBFC 8007EFFC 8CCB0000 */ lw $t3, ($a2)
|
||||
/* 07FC00 8007F000 01870019 */ multu $t4, $a3
|
||||
/* 07FC04 8007F004 00006812 */ mflo $t5
|
||||
/* 07FC08 8007F008 016D7021 */ addu $t6, $t3, $t5
|
||||
/* 07FC0C 8007F00C ACCE0000 */ sw $t6, ($a2)
|
||||
/* 07FC10 8007F010 96230012 */ lhu $v1, 0x12($s1)
|
||||
/* 07FC14 8007F014 00000000 */ nop
|
||||
/* 07FC18 8007F018 01C3082A */ slt $at, $t6, $v1
|
||||
/* 07FC1C 8007F01C 1420006D */ bnez $at, .L8007F1D4
|
||||
/* 07FC20 8007F020 00037840 */ sll $t7, $v1, 1
|
||||
/* 07FC24 8007F024 01EEC023 */ subu $t8, $t7, $t6
|
||||
/* 07FC28 8007F028 2719FFFF */ addiu $t9, $t8, -1
|
||||
/* 07FC2C 8007F02C 07210008 */ bgez $t9, .L8007F050
|
||||
/* 07FC30 8007F030 ACD90000 */ sw $t9, ($a2)
|
||||
/* 07FC34 8007F034 ACC00000 */ sw $zero, ($a2)
|
||||
/* 07FC38 8007F038 8E0B0000 */ lw $t3, ($s0)
|
||||
/* 07FC3C 8007F03C 3C01F9FF */ lui $at, (0xF9FFFFFF >> 16) # lui $at, 0xf9ff
|
||||
/* 07FC40 8007F040 3421FFFF */ ori $at, (0xF9FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
||||
/* 07FC44 8007F044 01616824 */ and $t5, $t3, $at
|
||||
/* 07FC48 8007F048 10000062 */ b .L8007F1D4
|
||||
/* 07FC4C 8007F04C AE0D0000 */ sw $t5, ($s0)
|
||||
.L8007F050:
|
||||
/* 07FC50 8007F050 8E0E0000 */ lw $t6, ($s0)
|
||||
/* 07FC54 8007F054 00000000 */ nop
|
||||
/* 07FC58 8007F058 01C87825 */ or $t7, $t6, $t0
|
||||
/* 07FC5C 8007F05C 1000005D */ b .L8007F1D4
|
||||
/* 07FC60 8007F060 AE0F0000 */ sw $t7, ($s0)
|
||||
.L8007F064:
|
||||
/* 07FC64 8007F064 96390014 */ lhu $t9, 0x14($s1)
|
||||
/* 07FC68 8007F068 8CD80000 */ lw $t8, ($a2)
|
||||
/* 07FC6C 8007F06C 03270019 */ multu $t9, $a3
|
||||
/* 07FC70 8007F070 3C01F9FF */ lui $at, (0xF9FFFFFF >> 16) # lui $at, 0xf9ff
|
||||
/* 07FC74 8007F074 00006012 */ mflo $t4
|
||||
/* 07FC78 8007F078 030C5823 */ subu $t3, $t8, $t4
|
||||
/* 07FC7C 8007F07C 05610055 */ bgez $t3, .L8007F1D4
|
||||
/* 07FC80 8007F080 ACCB0000 */ sw $t3, ($a2)
|
||||
/* 07FC84 8007F084 ACC00000 */ sw $zero, ($a2)
|
||||
/* 07FC88 8007F088 8E0E0000 */ lw $t6, ($s0)
|
||||
/* 07FC8C 8007F08C 3421FFFF */ ori $at, (0xF9FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
||||
/* 07FC90 8007F090 01C17824 */ and $t7, $t6, $at
|
||||
/* 07FC94 8007F094 1000004F */ b .L8007F1D4
|
||||
/* 07FC98 8007F098 AE0F0000 */ sw $t7, ($s0)
|
||||
.L8007F09C:
|
||||
/* 07FC9C 8007F09C 1120002B */ beqz $t1, .L8007F14C
|
||||
/* 07FCA0 8007F0A0 3C05FBFF */ lui $a1, (0xFBFFFFFF >> 16) # lui $a1, 0xfbff
|
||||
/* 07FCA4 8007F0A4 15400008 */ bnez $t2, .L8007F0C8
|
||||
/* 07FCA8 8007F0A8 34A5FFFF */ ori $a1, (0xFBFFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff
|
||||
/* 07FCAC 8007F0AC 96380014 */ lhu $t8, 0x14($s1)
|
||||
/* 07FCB0 8007F0B0 8CD90000 */ lw $t9, ($a2)
|
||||
/* 07FCB4 8007F0B4 03070019 */ multu $t8, $a3
|
||||
/* 07FCB8 8007F0B8 00006012 */ mflo $t4
|
||||
/* 07FCBC 8007F0BC 032C5821 */ addu $t3, $t9, $t4
|
||||
/* 07FCC0 8007F0C0 10000007 */ b .L8007F0E0
|
||||
/* 07FCC4 8007F0C4 ACCB0000 */ sw $t3, ($a2)
|
||||
.L8007F0C8:
|
||||
/* 07FCC8 8007F0C8 962E0014 */ lhu $t6, 0x14($s1)
|
||||
/* 07FCCC 8007F0CC 8CCD0000 */ lw $t5, ($a2)
|
||||
/* 07FCD0 8007F0D0 01C70019 */ multu $t6, $a3
|
||||
/* 07FCD4 8007F0D4 00007812 */ mflo $t7
|
||||
/* 07FCD8 8007F0D8 01AFC023 */ subu $t8, $t5, $t7
|
||||
/* 07FCDC 8007F0DC ACD80000 */ sw $t8, ($a2)
|
||||
.L8007F0E0:
|
||||
/* 07FCE0 8007F0E0 8CC20000 */ lw $v0, ($a2)
|
||||
/* 07FCE4 8007F0E4 00002025 */ move $a0, $zero
|
||||
/* 07FCE8 8007F0E8 04410008 */ bgez $v0, .L8007F10C
|
||||
/* 07FCEC 8007F0EC 0002C823 */ negu $t9, $v0
|
||||
/* 07FCF0 8007F0F0 ACD90000 */ sw $t9, ($a2)
|
||||
/* 07FCF4 8007F0F4 8E0C0000 */ lw $t4, ($s0)
|
||||
/* 07FCF8 8007F0F8 24040001 */ li $a0, 1
|
||||
/* 07FCFC 8007F0FC 01855824 */ and $t3, $t4, $a1
|
||||
/* 07FD00 8007F100 AE0B0000 */ sw $t3, ($s0)
|
||||
/* 07FD04 8007F104 8CC20000 */ lw $v0, ($a2)
|
||||
/* 07FD08 8007F108 00000000 */ nop
|
||||
.L8007F10C:
|
||||
/* 07FD0C 8007F10C 96230012 */ lhu $v1, 0x12($s1)
|
||||
/* 07FD10 8007F110 00000000 */ nop
|
||||
/* 07FD14 8007F114 0043082A */ slt $at, $v0, $v1
|
||||
/* 07FD18 8007F118 14200008 */ bnez $at, .L8007F13C
|
||||
/* 07FD1C 8007F11C 00037040 */ sll $t6, $v1, 1
|
||||
/* 07FD20 8007F120 01C26823 */ subu $t5, $t6, $v0
|
||||
/* 07FD24 8007F124 25AFFFFF */ addiu $t7, $t5, -1
|
||||
/* 07FD28 8007F128 ACCF0000 */ sw $t7, ($a2)
|
||||
/* 07FD2C 8007F12C 8E180000 */ lw $t8, ($s0)
|
||||
/* 07FD30 8007F130 24040001 */ li $a0, 1
|
||||
/* 07FD34 8007F134 0308C825 */ or $t9, $t8, $t0
|
||||
/* 07FD38 8007F138 AE190000 */ sw $t9, ($s0)
|
||||
.L8007F13C:
|
||||
/* 07FD3C 8007F13C 1480FFE8 */ bnez $a0, .L8007F0E0
|
||||
/* 07FD40 8007F140 00000000 */ nop
|
||||
/* 07FD44 8007F144 10000024 */ b .L8007F1D8
|
||||
/* 07FD48 8007F148 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L8007F14C:
|
||||
/* 07FD4C 8007F14C 15400014 */ bnez $t2, .L8007F1A0
|
||||
/* 07FD50 8007F150 00000000 */ nop
|
||||
/* 07FD54 8007F154 962B0014 */ lhu $t3, 0x14($s1)
|
||||
/* 07FD58 8007F158 8CCC0000 */ lw $t4, ($a2)
|
||||
/* 07FD5C 8007F15C 01670019 */ multu $t3, $a3
|
||||
/* 07FD60 8007F160 00007012 */ mflo $t6
|
||||
/* 07FD64 8007F164 018E1021 */ addu $v0, $t4, $t6
|
||||
/* 07FD68 8007F168 ACC20000 */ sw $v0, ($a2)
|
||||
/* 07FD6C 8007F16C 96230012 */ lhu $v1, 0x12($s1)
|
||||
/* 07FD70 8007F170 00000000 */ nop
|
||||
/* 07FD74 8007F174 0043082A */ slt $at, $v0, $v1
|
||||
/* 07FD78 8007F178 14200016 */ bnez $at, .L8007F1D4
|
||||
/* 07FD7C 8007F17C 00437823 */ subu $t7, $v0, $v1
|
||||
.L8007F180:
|
||||
/* 07FD80 8007F180 ACCF0000 */ sw $t7, ($a2)
|
||||
/* 07FD84 8007F184 96230012 */ lhu $v1, 0x12($s1)
|
||||
/* 07FD88 8007F188 01E01025 */ move $v0, $t7
|
||||
/* 07FD8C 8007F18C 01E3082A */ slt $at, $t7, $v1
|
||||
/* 07FD90 8007F190 1020FFFB */ beqz $at, .L8007F180
|
||||
/* 07FD94 8007F194 00437823 */ subu $t7, $v0, $v1
|
||||
/* 07FD98 8007F198 1000000F */ b .L8007F1D8
|
||||
/* 07FD9C 8007F19C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L8007F1A0:
|
||||
/* 07FDA0 8007F1A0 96390014 */ lhu $t9, 0x14($s1)
|
||||
/* 07FDA4 8007F1A4 8CD80000 */ lw $t8, ($a2)
|
||||
/* 07FDA8 8007F1A8 03270019 */ multu $t9, $a3
|
||||
/* 07FDAC 8007F1AC 00005812 */ mflo $t3
|
||||
/* 07FDB0 8007F1B0 030B1023 */ subu $v0, $t8, $t3
|
||||
/* 07FDB4 8007F1B4 04410007 */ bgez $v0, .L8007F1D4
|
||||
/* 07FDB8 8007F1B8 ACC20000 */ sw $v0, ($a2)
|
||||
.L8007F1BC:
|
||||
/* 07FDBC 8007F1BC 962E0012 */ lhu $t6, 0x12($s1)
|
||||
/* 07FDC0 8007F1C0 00000000 */ nop
|
||||
/* 07FDC4 8007F1C4 004E6821 */ addu $t5, $v0, $t6
|
||||
/* 07FDC8 8007F1C8 ACCD0000 */ sw $t5, ($a2)
|
||||
/* 07FDCC 8007F1CC 05A0FFFB */ bltz $t5, .L8007F1BC
|
||||
/* 07FDD0 8007F1D0 01A01025 */ move $v0, $t5
|
||||
.L8007F1D4:
|
||||
/* 07FDD4 8007F1D4 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L8007F1D8:
|
||||
/* 07FDD8 8007F1D8 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* 07FDDC 8007F1DC 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* 07FDE0 8007F1E0 03E00008 */ jr $ra
|
||||
/* 07FDE4 8007F1E4 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
|
||||
@@ -1,113 +0,0 @@
|
||||
glabel func_80027E24
|
||||
/* 028A24 80027E24 27BDFF90 */ addiu $sp, $sp, -0x70
|
||||
/* 028A28 80027E28 3C05800E */ lui $a1, %hi(gCurrentLevelModel) # $a1, 0x800e
|
||||
/* 028A2C 80027E2C 8CA5C918 */ lw $a1, %lo(gCurrentLevelModel)($a1)
|
||||
/* 028A30 80027E30 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* 028A34 80027E34 AFBE0038 */ sw $fp, 0x38($sp)
|
||||
/* 028A38 80027E38 AFB70034 */ sw $s7, 0x34($sp)
|
||||
/* 028A3C 80027E3C AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* 028A40 80027E40 AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* 028A44 80027E44 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 028A48 80027E48 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 028A4C 80027E4C AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 028A50 80027E50 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 028A54 80027E54 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 028A58 80027E58 8CA30004 */ lw $v1, 4($a1)
|
||||
/* 028A5C 80027E5C AFA0006C */ sw $zero, 0x6c($sp)
|
||||
/* 028A60 80027E60 84A2001A */ lh $v0, 0x1a($a1)
|
||||
/* 028A64 80027E64 00809825 */ move $s3, $a0
|
||||
/* 028A68 80027E68 1840004A */ blez $v0, .L80027F94
|
||||
/* 028A6C 80027E6C 0060B025 */ move $s6, $v1
|
||||
/* 028A70 80027E70 241E00FF */ li $fp, 255
|
||||
/* 028A74 80027E74 3C170001 */ lui $s7, 1
|
||||
/* 028A78 80027E78 27B40058 */ addiu $s4, $sp, 0x58
|
||||
.L80027E7C:
|
||||
/* 028A7C 80027E7C 86C30020 */ lh $v1, 0x20($s6)
|
||||
/* 028A80 80027E80 8ED5000C */ lw $s5, 0xc($s6)
|
||||
/* 028A84 80027E84 1860003D */ blez $v1, .L80027F7C
|
||||
/* 028A88 80027E88 00008825 */ move $s1, $zero
|
||||
/* 028A8C 80027E8C 00009025 */ move $s2, $zero
|
||||
/* 028A90 80027E90 02A08025 */ move $s0, $s5
|
||||
.L80027E94:
|
||||
/* 028A94 80027E94 8E0E0008 */ lw $t6, 8($s0)
|
||||
/* 028A98 80027E98 00000000 */ nop
|
||||
/* 028A9C 80027E9C 01D77824 */ and $t7, $t6, $s7
|
||||
/* 028AA0 80027EA0 11E0002F */ beqz $t7, .L80027F60
|
||||
/* 028AA4 80027EA4 00000000 */ nop
|
||||
/* 028AA8 80027EA8 92020000 */ lbu $v0, ($s0)
|
||||
/* 028AAC 80027EAC 00000000 */ nop
|
||||
/* 028AB0 80027EB0 13C2002B */ beq $fp, $v0, .L80027F60
|
||||
/* 028AB4 80027EB4 00000000 */ nop
|
||||
/* 028AB8 80027EB8 8CB80000 */ lw $t8, ($a1)
|
||||
/* 028ABC 80027EBC 0002C8C0 */ sll $t9, $v0, 3
|
||||
/* 028AC0 80027EC0 03194021 */ addu $t0, $t8, $t9
|
||||
/* 028AC4 80027EC4 8D040000 */ lw $a0, ($t0)
|
||||
/* 028AC8 80027EC8 24010100 */ li $at, 256
|
||||
/* 028ACC 80027ECC 94890012 */ lhu $t1, 0x12($a0)
|
||||
/* 028AD0 80027ED0 00000000 */ nop
|
||||
/* 028AD4 80027ED4 11210022 */ beq $t1, $at, .L80027F60
|
||||
/* 028AD8 80027ED8 00000000 */ nop
|
||||
/* 028ADC 80027EDC 948A0014 */ lhu $t2, 0x14($a0)
|
||||
/* 028AE0 80027EE0 00000000 */ nop
|
||||
/* 028AE4 80027EE4 1140001E */ beqz $t2, .L80027F60
|
||||
/* 028AE8 80027EE8 00000000 */ nop
|
||||
/* 028AEC 80027EEC 920B0007 */ lbu $t3, 7($s0)
|
||||
/* 028AF0 80027EF0 02552821 */ addu $a1, $s2, $s5
|
||||
/* 028AF4 80027EF4 000B6180 */ sll $t4, $t3, 6
|
||||
/* 028AF8 80027EF8 AFAC0058 */ sw $t4, 0x58($sp)
|
||||
/* 028AFC 80027EFC 8E0D0008 */ lw $t5, 8($s0)
|
||||
/* 028B00 80027F00 24A50008 */ addiu $a1, $a1, 8
|
||||
/* 028B04 80027F04 000D7000 */ sll $t6, $t5, 0
|
||||
/* 028B08 80027F08 05C1000C */ bgez $t6, .L80027F3C
|
||||
/* 028B0C 80027F0C 02803025 */ move $a2, $s4
|
||||
/* 028B10 80027F10 92180006 */ lbu $t8, 6($s0)
|
||||
/* 028B14 80027F14 02803025 */ move $a2, $s4
|
||||
/* 028B18 80027F18 0198C825 */ or $t9, $t4, $t8
|
||||
/* 028B1C 80027F1C AFB90058 */ sw $t9, 0x58($sp)
|
||||
/* 028B20 80027F20 0C01FBE0 */ jal func_8007EF80
|
||||
/* 028B24 80027F24 02603825 */ move $a3, $s3
|
||||
/* 028B28 80027F28 8FA80058 */ lw $t0, 0x58($sp)
|
||||
/* 028B2C 80027F2C 00000000 */ nop
|
||||
/* 028B30 80027F30 3109003F */ andi $t1, $t0, 0x3f
|
||||
/* 028B34 80027F34 10000003 */ b .L80027F44
|
||||
/* 028B38 80027F38 A2090006 */ sb $t1, 6($s0)
|
||||
.L80027F3C:
|
||||
/* 028B3C 80027F3C 0C01FBE0 */ jal func_8007EF80
|
||||
/* 028B40 80027F40 02603825 */ move $a3, $s3
|
||||
.L80027F44:
|
||||
/* 028B44 80027F44 8FAA0058 */ lw $t2, 0x58($sp)
|
||||
/* 028B48 80027F48 3C05800E */ lui $a1, %hi(gCurrentLevelModel) # $a1, 0x800e
|
||||
/* 028B4C 80027F4C 000A6183 */ sra $t4, $t2, 6
|
||||
/* 028B50 80027F50 A20C0007 */ sb $t4, 7($s0)
|
||||
/* 028B54 80027F54 86C30020 */ lh $v1, 0x20($s6)
|
||||
/* 028B58 80027F58 8CA5C918 */ lw $a1, %lo(gCurrentLevelModel)($a1)
|
||||
/* 028B5C 80027F5C 00000000 */ nop
|
||||
.L80027F60:
|
||||
/* 028B60 80027F60 26310001 */ addiu $s1, $s1, 1
|
||||
/* 028B64 80027F64 0223082A */ slt $at, $s1, $v1
|
||||
/* 028B68 80027F68 2652000C */ addiu $s2, $s2, 0xc
|
||||
/* 028B6C 80027F6C 1420FFC9 */ bnez $at, .L80027E94
|
||||
/* 028B70 80027F70 2610000C */ addiu $s0, $s0, 0xc
|
||||
/* 028B74 80027F74 84A2001A */ lh $v0, 0x1a($a1)
|
||||
/* 028B78 80027F78 00000000 */ nop
|
||||
.L80027F7C:
|
||||
/* 028B7C 80027F7C 8FAD006C */ lw $t5, 0x6c($sp)
|
||||
/* 028B80 80027F80 26D60044 */ addiu $s6, $s6, 0x44
|
||||
/* 028B84 80027F84 25AE0001 */ addiu $t6, $t5, 1
|
||||
/* 028B88 80027F88 01C2082A */ slt $at, $t6, $v0
|
||||
/* 028B8C 80027F8C 1420FFBB */ bnez $at, .L80027E7C
|
||||
/* 028B90 80027F90 AFAE006C */ sw $t6, 0x6c($sp)
|
||||
.L80027F94:
|
||||
/* 028B94 80027F94 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* 028B98 80027F98 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 028B9C 80027F9C 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 028BA0 80027FA0 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 028BA4 80027FA4 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 028BA8 80027FA8 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 028BAC 80027FAC 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* 028BB0 80027FB0 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* 028BB4 80027FB4 8FB70034 */ lw $s7, 0x34($sp)
|
||||
/* 028BB8 80027FB8 8FBE0038 */ lw $fp, 0x38($sp)
|
||||
/* 028BBC 80027FBC 03E00008 */ jr $ra
|
||||
/* 028BC0 80027FC0 27BD0070 */ addiu $sp, $sp, 0x70
|
||||
|
||||
@@ -1,85 +0,0 @@
|
||||
# Unused
|
||||
glabel func_80029DE0
|
||||
/* 02A9E0 80029DE0 3C02800E */ lui $v0, %hi(gCurrentLevelModel) # $v0, 0x800e
|
||||
/* 02A9E4 80029DE4 8C42C918 */ lw $v0, %lo(gCurrentLevelModel)($v0)
|
||||
/* 02A9E8 80029DE8 00803025 */ move $a2, $a0
|
||||
/* 02A9EC 80029DEC 844E001A */ lh $t6, 0x1a($v0)
|
||||
/* 02A9F0 80029DF0 00000000 */ nop
|
||||
/* 02A9F4 80029DF4 00AE082A */ slt $at, $a1, $t6
|
||||
/* 02A9F8 80029DF8 14200003 */ bnez $at, .L80029E08
|
||||
/* 02A9FC 80029DFC 00000000 */ nop
|
||||
/* 02AA00 80029E00 03E00008 */ jr $ra
|
||||
/* 02AA04 80029E04 00001025 */ move $v0, $zero
|
||||
|
||||
.L80029E08:
|
||||
/* 02AA08 80029E08 4459F800 */ cfc1 $t9, $31
|
||||
/* 02AA0C 80029E0C C4C4000C */ lwc1 $f4, 0xc($a2)
|
||||
/* 02AA10 80029E10 37210003 */ ori $at, $t9, 3
|
||||
/* 02AA14 80029E14 38210002 */ xori $at, $at, 2
|
||||
/* 02AA18 80029E18 44C1F800 */ ctc1 $at, $31
|
||||
/* 02AA1C 80029E1C C4C80010 */ lwc1 $f8, 0x10($a2)
|
||||
/* 02AA20 80029E20 460021A4 */ cvt.w.s $f6, $f4
|
||||
/* 02AA24 80029E24 0005C080 */ sll $t8, $a1, 2
|
||||
/* 02AA28 80029E28 44D9F800 */ ctc1 $t9, $31
|
||||
/* 02AA2C 80029E2C 8C4F0008 */ lw $t7, 8($v0)
|
||||
/* 02AA30 80029E30 0305C023 */ subu $t8, $t8, $a1
|
||||
/* 02AA34 80029E34 4449F800 */ cfc1 $t1, $31
|
||||
/* 02AA38 80029E38 C4D00014 */ lwc1 $f16, 0x14($a2)
|
||||
/* 02AA3C 80029E3C 35210003 */ ori $at, $t1, 3
|
||||
/* 02AA40 80029E40 38210002 */ xori $at, $at, 2
|
||||
/* 02AA44 80029E44 44C1F800 */ ctc1 $at, $31
|
||||
/* 02AA48 80029E48 0018C080 */ sll $t8, $t8, 2
|
||||
/* 02AA4C 80029E4C 460042A4 */ cvt.w.s $f10, $f8
|
||||
/* 02AA50 80029E50 01F81821 */ addu $v1, $t7, $t8
|
||||
/* 02AA54 80029E54 44C9F800 */ ctc1 $t1, $31
|
||||
/* 02AA58 80029E58 846B0006 */ lh $t3, 6($v1)
|
||||
/* 02AA5C 80029E5C 44043000 */ mfc1 $a0, $f6
|
||||
/* 02AA60 80029E60 444AF800 */ cfc1 $t2, $31
|
||||
/* 02AA64 80029E64 256C0019 */ addiu $t4, $t3, 0x19
|
||||
/* 02AA68 80029E68 35410003 */ ori $at, $t2, 3
|
||||
/* 02AA6C 80029E6C 38210002 */ xori $at, $at, 2
|
||||
/* 02AA70 80029E70 44C1F800 */ ctc1 $at, $31
|
||||
/* 02AA74 80029E74 44075000 */ mfc1 $a3, $f10
|
||||
/* 02AA78 80029E78 460084A4 */ cvt.w.s $f18, $f16
|
||||
/* 02AA7C 80029E7C 008C082A */ slt $at, $a0, $t4
|
||||
/* 02AA80 80029E80 44089000 */ mfc1 $t0, $f18
|
||||
/* 02AA84 80029E84 44CAF800 */ ctc1 $t2, $31
|
||||
/* 02AA88 80029E88 10200021 */ beqz $at, .L80029F10
|
||||
/* 02AA8C 80029E8C 00001025 */ move $v0, $zero
|
||||
/* 02AA90 80029E90 846D0000 */ lh $t5, ($v1)
|
||||
/* 02AA94 80029E94 00000000 */ nop
|
||||
/* 02AA98 80029E98 25AEFFE7 */ addiu $t6, $t5, -0x19
|
||||
/* 02AA9C 80029E9C 01C4082A */ slt $at, $t6, $a0
|
||||
/* 02AAA0 80029EA0 1020001B */ beqz $at, .L80029F10
|
||||
/* 02AAA4 80029EA4 00000000 */ nop
|
||||
/* 02AAA8 80029EA8 846F000A */ lh $t7, 0xa($v1)
|
||||
/* 02AAAC 80029EAC 00000000 */ nop
|
||||
/* 02AAB0 80029EB0 25F80019 */ addiu $t8, $t7, 0x19
|
||||
/* 02AAB4 80029EB4 0118082A */ slt $at, $t0, $t8
|
||||
/* 02AAB8 80029EB8 10200015 */ beqz $at, .L80029F10
|
||||
/* 02AABC 80029EBC 00000000 */ nop
|
||||
/* 02AAC0 80029EC0 84790004 */ lh $t9, 4($v1)
|
||||
/* 02AAC4 80029EC4 00000000 */ nop
|
||||
/* 02AAC8 80029EC8 2729FFE7 */ addiu $t1, $t9, -0x19
|
||||
/* 02AACC 80029ECC 0128082A */ slt $at, $t1, $t0
|
||||
/* 02AAD0 80029ED0 1020000F */ beqz $at, .L80029F10
|
||||
/* 02AAD4 80029ED4 00000000 */ nop
|
||||
/* 02AAD8 80029ED8 846A0008 */ lh $t2, 8($v1)
|
||||
/* 02AADC 80029EDC 00000000 */ nop
|
||||
/* 02AAE0 80029EE0 254B0019 */ addiu $t3, $t2, 0x19
|
||||
/* 02AAE4 80029EE4 00EB082A */ slt $at, $a3, $t3
|
||||
/* 02AAE8 80029EE8 10200009 */ beqz $at, .L80029F10
|
||||
/* 02AAEC 80029EEC 00000000 */ nop
|
||||
/* 02AAF0 80029EF0 846C0002 */ lh $t4, 2($v1)
|
||||
/* 02AAF4 80029EF4 00000000 */ nop
|
||||
/* 02AAF8 80029EF8 258DFFE7 */ addiu $t5, $t4, -0x19
|
||||
/* 02AAFC 80029EFC 01A7082A */ slt $at, $t5, $a3
|
||||
/* 02AB00 80029F00 10200003 */ beqz $at, .L80029F10
|
||||
/* 02AB04 80029F04 00000000 */ nop
|
||||
/* 02AB08 80029F08 03E00008 */ jr $ra
|
||||
/* 02AB0C 80029F0C 24020001 */ li $v0, 1
|
||||
|
||||
.L80029F10:
|
||||
/* 02AB10 80029F10 03E00008 */ jr $ra
|
||||
/* 02AB14 80029F14 00000000 */ nop
|
||||
|
||||
@@ -1,89 +0,0 @@
|
||||
glabel get_level_segment_index_from_position
|
||||
/* 02AB18 80029F18 27BDFFF0 */ addiu $sp, $sp, -0x10
|
||||
/* 02AB1C 80029F1C 3C02800E */ lui $v0, %hi(gCurrentLevelModel) # $v0, 0x800e
|
||||
/* 02AB20 80029F20 8C42C918 */ lw $v0, %lo(gCurrentLevelModel)($v0)
|
||||
/* 02AB24 80029F24 E7B4000C */ swc1 $f20, 0xc($sp)
|
||||
/* 02AB28 80029F28 4486A000 */ mtc1 $a2, $f20
|
||||
/* 02AB2C 80029F2C 14400003 */ bnez $v0, .L80029F3C
|
||||
/* 02AB30 80029F30 E7B50008 */ swc1 $f21, 8($sp)
|
||||
/* 02AB34 80029F34 10000045 */ b .L8002A04C
|
||||
/* 02AB38 80029F38 2402FFFF */ li $v0, -1
|
||||
.L80029F3C:
|
||||
/* 02AB3C 80029F3C 8447001A */ lh $a3, 0x1a($v0)
|
||||
/* 02AB40 80029F40 3C04000F */ lui $a0, (0x000F4240 >> 16) # lui $a0, 0xf
|
||||
/* 02AB44 80029F44 34844240 */ ori $a0, (0x000F4240 & 0xFFFF) # ori $a0, $a0, 0x4240
|
||||
/* 02AB48 80029F48 2405FFFF */ li $a1, -1
|
||||
/* 02AB4C 80029F4C 18E0003E */ blez $a3, .L8002A048
|
||||
/* 02AB50 80029F50 00003025 */ move $a2, $zero
|
||||
/* 02AB54 80029F54 444EF800 */ cfc1 $t6, $31
|
||||
/* 02AB58 80029F58 8C490008 */ lw $t1, 8($v0)
|
||||
/* 02AB5C 80029F5C 35C10003 */ ori $at, $t6, 3
|
||||
/* 02AB60 80029F60 38210002 */ xori $at, $at, 2
|
||||
/* 02AB64 80029F64 44C1F800 */ ctc1 $at, $31
|
||||
/* 02AB68 80029F68 00000000 */ nop
|
||||
/* 02AB6C 80029F6C 46006124 */ cvt.w.s $f4, $f12
|
||||
/* 02AB70 80029F70 44CEF800 */ ctc1 $t6, $31
|
||||
/* 02AB74 80029F74 44032000 */ mfc1 $v1, $f4
|
||||
/* 02AB78 80029F78 00000000 */ nop
|
||||
.L80029F7C:
|
||||
/* 02AB7C 80029F7C 852F0006 */ lh $t7, 6($t1)
|
||||
/* 02AB80 80029F80 01204025 */ move $t0, $t1
|
||||
/* 02AB84 80029F84 006F082A */ slt $at, $v1, $t7
|
||||
/* 02AB88 80029F88 1020002B */ beqz $at, .L8002A038
|
||||
/* 02AB8C 80029F8C 00000000 */ nop
|
||||
/* 02AB90 80029F90 85180000 */ lh $t8, ($t0)
|
||||
/* 02AB94 80029F94 00000000 */ nop
|
||||
/* 02AB98 80029F98 0303082A */ slt $at, $t8, $v1
|
||||
/* 02AB9C 80029F9C 10200026 */ beqz $at, .L8002A038
|
||||
/* 02ABA0 80029FA0 00000000 */ nop
|
||||
/* 02ABA4 80029FA4 4459F800 */ cfc1 $t9, $31
|
||||
/* 02ABA8 80029FA8 850A000A */ lh $t2, 0xa($t0)
|
||||
/* 02ABAC 80029FAC 37210003 */ ori $at, $t9, 3
|
||||
/* 02ABB0 80029FB0 38210002 */ xori $at, $at, 2
|
||||
/* 02ABB4 80029FB4 44C1F800 */ ctc1 $at, $31
|
||||
/* 02ABB8 80029FB8 00000000 */ nop
|
||||
/* 02ABBC 80029FBC 4600A1A4 */ cvt.w.s $f6, $f20
|
||||
/* 02ABC0 80029FC0 44023000 */ mfc1 $v0, $f6
|
||||
/* 02ABC4 80029FC4 44D9F800 */ ctc1 $t9, $31
|
||||
/* 02ABC8 80029FC8 004A082A */ slt $at, $v0, $t2
|
||||
/* 02ABCC 80029FCC 1020001A */ beqz $at, .L8002A038
|
||||
/* 02ABD0 80029FD0 00000000 */ nop
|
||||
/* 02ABD4 80029FD4 850B0004 */ lh $t3, 4($t0)
|
||||
/* 02ABD8 80029FD8 00000000 */ nop
|
||||
/* 02ABDC 80029FDC 0162082A */ slt $at, $t3, $v0
|
||||
/* 02ABE0 80029FE0 10200015 */ beqz $at, .L8002A038
|
||||
/* 02ABE4 80029FE4 00000000 */ nop
|
||||
/* 02ABE8 80029FE8 444FF800 */ cfc1 $t7, $31
|
||||
/* 02ABEC 80029FEC 850C0008 */ lh $t4, 8($t0)
|
||||
/* 02ABF0 80029FF0 35E10003 */ ori $at, $t7, 3
|
||||
/* 02ABF4 80029FF4 38210002 */ xori $at, $at, 2
|
||||
/* 02ABF8 80029FF8 44C1F800 */ ctc1 $at, $31
|
||||
/* 02ABFC 80029FFC 850D0002 */ lh $t5, 2($t0)
|
||||
/* 02AC00 8002A000 46007224 */ cvt.w.s $f8, $f14
|
||||
/* 02AC04 8002A004 018D1021 */ addu $v0, $t4, $t5
|
||||
/* 02AC08 8002A008 44184000 */ mfc1 $t8, $f8
|
||||
/* 02AC0C 8002A00C 00027043 */ sra $t6, $v0, 1
|
||||
/* 02AC10 8002A010 44CFF800 */ ctc1 $t7, $31
|
||||
/* 02AC14 8002A014 030E1023 */ subu $v0, $t8, $t6
|
||||
/* 02AC18 8002A018 04410003 */ bgez $v0, .L8002A028
|
||||
/* 02AC1C 8002A01C 0044082A */ slt $at, $v0, $a0
|
||||
/* 02AC20 8002A020 00021023 */ negu $v0, $v0
|
||||
/* 02AC24 8002A024 0044082A */ slt $at, $v0, $a0
|
||||
.L8002A028:
|
||||
/* 02AC28 8002A028 10200003 */ beqz $at, .L8002A038
|
||||
/* 02AC2C 8002A02C 00000000 */ nop
|
||||
/* 02AC30 8002A030 00402025 */ move $a0, $v0
|
||||
/* 02AC34 8002A034 00C02825 */ move $a1, $a2
|
||||
.L8002A038:
|
||||
/* 02AC38 8002A038 24C60001 */ addiu $a2, $a2, 1
|
||||
/* 02AC3C 8002A03C 00C7082A */ slt $at, $a2, $a3
|
||||
/* 02AC40 8002A040 1420FFCE */ bnez $at, .L80029F7C
|
||||
/* 02AC44 8002A044 2529000C */ addiu $t1, $t1, 0xc
|
||||
.L8002A048:
|
||||
/* 02AC48 8002A048 00A01025 */ move $v0, $a1
|
||||
.L8002A04C:
|
||||
/* 02AC4C 8002A04C C7B50008 */ lwc1 $f21, 8($sp)
|
||||
/* 02AC50 8002A050 C7B4000C */ lwc1 $f20, 0xc($sp)
|
||||
/* 02AC54 8002A054 03E00008 */ jr $ra
|
||||
/* 02AC58 8002A058 27BD0010 */ addiu $sp, $sp, 0x10
|
||||
|
||||
@@ -1,476 +0,0 @@
|
||||
.late_rodata
|
||||
glabel D_800E5EA0
|
||||
.double 1000.0
|
||||
|
||||
.text
|
||||
glabel render_level_geometry_and_objects
|
||||
/* 029BAC 80028FAC 27BDFE90 */ addiu $sp, $sp, -0x170
|
||||
/* 029BB0 80028FB0 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* 029BB4 80028FB4 AFB60038 */ sw $s6, 0x38($sp)
|
||||
/* 029BB8 80028FB8 AFB50034 */ sw $s5, 0x34($sp)
|
||||
/* 029BBC 80028FBC AFB40030 */ sw $s4, 0x30($sp)
|
||||
/* 029BC0 80028FC0 AFB3002C */ sw $s3, 0x2c($sp)
|
||||
/* 029BC4 80028FC4 AFB20028 */ sw $s2, 0x28($sp)
|
||||
/* 029BC8 80028FC8 AFB10024 */ sw $s1, 0x24($sp)
|
||||
/* 029BCC 80028FCC 0C004B0C */ jal func_80012C30
|
||||
/* 029BD0 80028FD0 AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* 029BD4 80028FD4 0C01BAA4 */ jal get_settings
|
||||
/* 029BD8 80028FD8 00000000 */ nop
|
||||
/* 029BDC 80028FDC 904E0049 */ lbu $t6, 0x49($v0)
|
||||
/* 029BE0 80028FE0 24010024 */ li $at, 36
|
||||
/* 029BE4 80028FE4 15C10003 */ bne $t6, $at, .L80028FF4
|
||||
/* 029BE8 80028FE8 240F0001 */ li $t7, 1
|
||||
/* 029BEC 80028FEC 3C018012 */ lui $at, %hi(D_8011B0FC) # $at, 0x8012
|
||||
/* 029BF0 80028FF0 AC2FB0FC */ sw $t7, %lo(D_8011B0FC)($at)
|
||||
.L80028FF4:
|
||||
/* 029BF4 80028FF4 0C005205 */ jal func_80014814
|
||||
/* 029BF8 80028FF8 27A4016C */ addiu $a0, $sp, 0x16c
|
||||
/* 029BFC 80028FFC 3C10800E */ lui $s0, %hi(gCurrentLevelModel) # $s0, 0x800e
|
||||
/* 029C00 80029000 8E10C918 */ lw $s0, %lo(gCurrentLevelModel)($s0)
|
||||
/* 029C04 80029004 AFA20160 */ sw $v0, 0x160($sp)
|
||||
/* 029C08 80029008 8618001A */ lh $t8, 0x1a($s0)
|
||||
/* 029C0C 8002900C 00000000 */ nop
|
||||
/* 029C10 80029010 2B010002 */ slti $at, $t8, 2
|
||||
/* 029C14 80029014 1420000F */ bnez $at, .L80029054
|
||||
/* 029C18 80029018 24080001 */ li $t0, 1
|
||||
/* 029C1C 8002901C AFA00168 */ sw $zero, 0x168($sp)
|
||||
/* 029C20 80029020 8606001A */ lh $a2, 0x1a($s0)
|
||||
/* 029C24 80029024 27B90168 */ addiu $t9, $sp, 0x168
|
||||
/* 029C28 80029028 AFB90010 */ sw $t9, 0x10($sp)
|
||||
/* 029C2C 8002902C 00002025 */ move $a0, $zero
|
||||
/* 029C30 80029030 00002825 */ move $a1, $zero
|
||||
/* 029C34 80029034 27A700D8 */ addiu $a3, $sp, 0xd8
|
||||
/* 029C38 80029038 0C00A6BE */ jal traverse_segments_bsp_tree
|
||||
/* 029C3C 8002903C 24C6FFFF */ addiu $a2, $a2, -1
|
||||
/* 029C40 80029040 3C10800E */ lui $s0, %hi(gCurrentLevelModel) # $s0, 0x800e
|
||||
/* 029C44 80029044 8E10C918 */ lw $s0, %lo(gCurrentLevelModel)($s0)
|
||||
/* 029C48 80029048 10000005 */ b .L80029060
|
||||
/* 029C4C 8002904C 8609001A */ lh $t1, 0x1a($s0)
|
||||
/* 029C50 80029050 24080001 */ li $t0, 1
|
||||
.L80029054:
|
||||
/* 029C54 80029054 AFA80168 */ sw $t0, 0x168($sp)
|
||||
/* 029C58 80029058 A3A000D8 */ sb $zero, 0xd8($sp)
|
||||
/* 029C5C 8002905C 8609001A */ lh $t1, 0x1a($s0)
|
||||
.L80029060:
|
||||
/* 029C60 80029060 24120001 */ li $s2, 1
|
||||
/* 029C64 80029064 19200008 */ blez $t1, .L80029088
|
||||
/* 029C68 80029068 3C0C8012 */ lui $t4, %hi(D_8011B0E0) # $t4, 0x8012
|
||||
/* 029C6C 8002906C 27A20059 */ addiu $v0, $sp, 0x59
|
||||
.L80029070:
|
||||
/* 029C70 80029070 A0400000 */ sb $zero, ($v0)
|
||||
/* 029C74 80029074 860A001A */ lh $t2, 0x1a($s0)
|
||||
/* 029C78 80029078 26520001 */ addiu $s2, $s2, 1
|
||||
/* 029C7C 8002907C 0152082A */ slt $at, $t2, $s2
|
||||
/* 029C80 80029080 1020FFFB */ beqz $at, .L80029070
|
||||
/* 029C84 80029084 24420001 */ addiu $v0, $v0, 1
|
||||
.L80029088:
|
||||
/* 029C88 80029088 818CB0E0 */ lb $t4, %lo(D_8011B0E0)($t4)
|
||||
/* 029C8C 8002908C 240B0001 */ li $t3, 1
|
||||
/* 029C90 80029090 11800016 */ beqz $t4, .L800290EC
|
||||
/* 029C94 80029094 A3AB0058 */ sb $t3, 0x58($sp)
|
||||
/* 029C98 80029098 8FAD0168 */ lw $t5, 0x168($sp)
|
||||
/* 029C9C 8002909C 00009025 */ move $s2, $zero
|
||||
/* 029CA0 800290A0 19A00012 */ blez $t5, .L800290EC
|
||||
/* 029CA4 800290A4 27B60058 */ addiu $s6, $sp, 0x58
|
||||
/* 029CA8 800290A8 27B000D8 */ addiu $s0, $sp, 0xd8
|
||||
/* 029CAC 800290AC 24110001 */ li $s1, 1
|
||||
.L800290B0:
|
||||
/* 029CB0 800290B0 92040000 */ lbu $a0, ($s0)
|
||||
/* 029CB4 800290B4 0C00A596 */ jal render_level_segment
|
||||
/* 029CB8 800290B8 00002825 */ move $a1, $zero
|
||||
/* 029CBC 800290BC 920E0000 */ lbu $t6, ($s0)
|
||||
/* 029CC0 800290C0 26520001 */ addiu $s2, $s2, 1
|
||||
/* 029CC4 800290C4 02CE7821 */ addu $t7, $s6, $t6
|
||||
/* 029CC8 800290C8 A1F10001 */ sb $s1, 1($t7)
|
||||
/* 029CCC 800290CC 8FB80168 */ lw $t8, 0x168($sp)
|
||||
/* 029CD0 800290D0 26100001 */ addiu $s0, $s0, 1
|
||||
/* 029CD4 800290D4 0258082A */ slt $at, $s2, $t8
|
||||
/* 029CD8 800290D8 1420FFF5 */ bnez $at, .L800290B0
|
||||
/* 029CDC 800290DC 00000000 */ nop
|
||||
/* 029CE0 800290E0 3C10800E */ lui $s0, %hi(gCurrentLevelModel) # $s0, 0x800e
|
||||
/* 029CE4 800290E4 8E10C918 */ lw $s0, %lo(gCurrentLevelModel)($s0)
|
||||
/* 029CE8 800290E8 00000000 */ nop
|
||||
.L800290EC:
|
||||
/* 029CEC 800290EC 8619001A */ lh $t9, 0x1a($s0)
|
||||
/* 029CF0 800290F0 27B60058 */ addiu $s6, $sp, 0x58
|
||||
/* 029CF4 800290F4 2B210002 */ slti $at, $t9, 2
|
||||
/* 029CF8 800290F8 10200003 */ beqz $at, .L80029108
|
||||
/* 029CFC 800290FC 3C138012 */ lui $s3, %hi(D_8011B0A0) # $s3, 0x8012
|
||||
/* 029D00 80029100 24080001 */ li $t0, 1
|
||||
/* 029D04 80029104 A3A80059 */ sb $t0, 0x59($sp)
|
||||
.L80029108:
|
||||
/* 029D08 80029108 2673B0A0 */ addiu $s3, %lo(D_8011B0A0) # addiu $s3, $s3, -0x4f60
|
||||
/* 029D0C 8002910C 0C01ECF4 */ jal func_8007B3D0
|
||||
/* 029D10 80029110 02602025 */ move $a0, $s3
|
||||
/* 029D14 80029114 8FA3016C */ lw $v1, 0x16c($sp)
|
||||
/* 029D18 80029118 8FA40160 */ lw $a0, 0x160($sp)
|
||||
/* 029D1C 8002911C 0C0054D2 */ jal func_80015348
|
||||
/* 029D20 80029120 2465FFFF */ addiu $a1, $v1, -1
|
||||
/* 029D24 80029124 0C019888 */ jal func_80066220
|
||||
/* 029D28 80029128 00000000 */ nop
|
||||
/* 029D2C 8002912C 8FA3016C */ lw $v1, 0x16c($sp)
|
||||
/* 029D30 80029130 8FB20160 */ lw $s2, 0x160($sp)
|
||||
/* 029D34 80029134 30490001 */ andi $t1, $v0, 1
|
||||
/* 029D38 80029138 240A0200 */ li $t2, 512
|
||||
/* 029D3C 8002913C 012A5804 */ sllv $t3, $t2, $t1
|
||||
/* 029D40 80029140 0243082A */ slt $at, $s2, $v1
|
||||
/* 029D44 80029144 10200056 */ beqz $at, .L800292A0
|
||||
/* 029D48 80029148 AFAB0158 */ sw $t3, 0x158($sp)
|
||||
/* 029D4C 8002914C 3C158012 */ lui $s5, %hi(D_8011B0A8) # $s5, 0x8012
|
||||
/* 029D50 80029150 3C148012 */ lui $s4, %hi(D_8011B0A4) # $s4, 0x8012
|
||||
/* 029D54 80029154 2694B0A4 */ addiu $s4, %lo(D_8011B0A4) # addiu $s4, $s4, -0x4f5c
|
||||
/* 029D58 80029158 26B5B0A8 */ addiu $s5, %lo(D_8011B0A8) # addiu $s5, $s5, -0x4f58
|
||||
/* 029D5C 8002915C 02402025 */ move $a0, $s2
|
||||
.L80029160:
|
||||
/* 029D60 80029160 0C003A52 */ jal get_object
|
||||
/* 029D64 80029164 241000FF */ li $s0, 255
|
||||
/* 029D68 80029168 84430006 */ lh $v1, 6($v0)
|
||||
/* 029D6C 8002916C 8FAF0158 */ lw $t7, 0x158($sp)
|
||||
/* 029D70 80029170 306D0080 */ andi $t5, $v1, 0x80
|
||||
/* 029D74 80029174 11A00003 */ beqz $t5, .L80029184
|
||||
/* 029D78 80029178 00408825 */ move $s1, $v0
|
||||
/* 029D7C 8002917C 10000006 */ b .L80029198
|
||||
/* 029D80 80029180 00008025 */ move $s0, $zero
|
||||
.L80029184:
|
||||
/* 029D84 80029184 306E8000 */ andi $t6, $v1, 0x8000
|
||||
/* 029D88 80029188 15C00004 */ bnez $t6, .L8002919C
|
||||
/* 029D8C 8002918C 006FC024 */ and $t8, $v1, $t7
|
||||
/* 029D90 80029190 90500039 */ lbu $s0, 0x39($v0)
|
||||
/* 029D94 80029194 00000000 */ nop
|
||||
.L80029198:
|
||||
/* 029D98 80029198 006FC024 */ and $t8, $v1, $t7
|
||||
.L8002919C:
|
||||
/* 029D9C 8002919C 13000002 */ beqz $t8, .L800291A8
|
||||
/* 029DA0 800291A0 240100FF */ li $at, 255
|
||||
/* 029DA4 800291A4 00008025 */ move $s0, $zero
|
||||
.L800291A8:
|
||||
/* 029DA8 800291A8 10400039 */ beqz $v0, .L80029290
|
||||
/* 029DAC 800291AC 8FA3016C */ lw $v1, 0x16c($sp)
|
||||
/* 029DB0 800291B0 16010037 */ bne $s0, $at, .L80029290
|
||||
/* 029DB4 800291B4 8FA3016C */ lw $v1, 0x16c($sp)
|
||||
/* 029DB8 800291B8 0C00AA40 */ jal func_8002A900
|
||||
/* 029DBC 800291BC 02202025 */ move $a0, $s1
|
||||
/* 029DC0 800291C0 10400033 */ beqz $v0, .L80029290
|
||||
/* 029DC4 800291C4 8FA3016C */ lw $v1, 0x16c($sp)
|
||||
/* 029DC8 800291C8 8639002E */ lh $t9, 0x2e($s1)
|
||||
/* 029DCC 800291CC 3C01800E */ lui $at, %hi(D_800E5EA0 + 4) # $at, 0x800e
|
||||
/* 029DD0 800291D0 02D94021 */ addu $t0, $s6, $t9
|
||||
/* 029DD4 800291D4 910A0001 */ lbu $t2, 1($t0)
|
||||
/* 029DD8 800291D8 00000000 */ nop
|
||||
/* 029DDC 800291DC 15400009 */ bnez $t2, .L80029204
|
||||
/* 029DE0 800291E0 00000000 */ nop
|
||||
/* 029DE4 800291E4 C6260034 */ lwc1 $f6, 0x34($s1)
|
||||
/* 029DE8 800291E8 C4255EA0 */ lwc1 $f5, %lo(D_800E5EA0)($at)
|
||||
/* 029DEC 800291EC C4245EA4 */ lwc1 $f4, %lo(D_800E5EA0 + 4)($at)
|
||||
/* 029DF0 800291F0 46003221 */ cvt.d.s $f8, $f6
|
||||
/* 029DF4 800291F4 4628203C */ c.lt.d $f4, $f8
|
||||
/* 029DF8 800291F8 00000000 */ nop
|
||||
/* 029DFC 800291FC 45000024 */ bc1f .L80029290
|
||||
/* 029E00 80029200 8FA3016C */ lw $v1, 0x16c($sp)
|
||||
.L80029204:
|
||||
/* 029E04 80029204 86290006 */ lh $t1, 6($s1)
|
||||
/* 029E08 80029208 02602025 */ move $a0, $s3
|
||||
/* 029E0C 8002920C 312B8000 */ andi $t3, $t1, 0x8000
|
||||
/* 029E10 80029210 11600006 */ beqz $t3, .L8002922C
|
||||
/* 029E14 80029214 02802825 */ move $a1, $s4
|
||||
/* 029E18 80029218 02A03025 */ move $a2, $s5
|
||||
/* 029E1C 8002921C 0C004B57 */ jal func_80012D5C
|
||||
/* 029E20 80029220 02203825 */ move $a3, $s1
|
||||
/* 029E24 80029224 1000001A */ b .L80029290
|
||||
/* 029E28 80029228 8FA3016C */ lw $v1, 0x16c($sp)
|
||||
.L8002922C:
|
||||
/* 029E2C 8002922C 8E250050 */ lw $a1, 0x50($s1)
|
||||
/* 029E30 80029230 00000000 */ nop
|
||||
/* 029E34 80029234 10A00004 */ beqz $a1, .L80029248
|
||||
/* 029E38 80029238 02602025 */ move $a0, $s3
|
||||
/* 029E3C 8002923C 0C00B4E1 */ jal render_floor_decal
|
||||
/* 029E40 80029240 02202025 */ move $a0, $s1
|
||||
/* 029E44 80029244 02602025 */ move $a0, $s3
|
||||
.L80029248:
|
||||
/* 029E48 80029248 02802825 */ move $a1, $s4
|
||||
/* 029E4C 8002924C 02A03025 */ move $a2, $s5
|
||||
/* 029E50 80029250 0C004B57 */ jal func_80012D5C
|
||||
/* 029E54 80029254 02203825 */ move $a3, $s1
|
||||
/* 029E58 80029258 8E250058 */ lw $a1, 0x58($s1)
|
||||
/* 029E5C 8002925C 00000000 */ nop
|
||||
/* 029E60 80029260 10A0000B */ beqz $a1, .L80029290
|
||||
/* 029E64 80029264 8FA3016C */ lw $v1, 0x16c($sp)
|
||||
/* 029E68 80029268 8E2C0040 */ lw $t4, 0x40($s1)
|
||||
/* 029E6C 8002926C 00000000 */ nop
|
||||
/* 029E70 80029270 958D0030 */ lhu $t5, 0x30($t4)
|
||||
/* 029E74 80029274 00000000 */ nop
|
||||
/* 029E78 80029278 31AE0010 */ andi $t6, $t5, 0x10
|
||||
/* 029E7C 8002927C 11C00004 */ beqz $t6, .L80029290
|
||||
/* 029E80 80029280 8FA3016C */ lw $v1, 0x16c($sp)
|
||||
/* 029E84 80029284 0C00B59C */ jal func_8002D670
|
||||
/* 029E88 80029288 02202025 */ move $a0, $s1
|
||||
/* 029E8C 8002928C 8FA3016C */ lw $v1, 0x16c($sp)
|
||||
.L80029290:
|
||||
/* 029E90 80029290 26520001 */ addiu $s2, $s2, 1
|
||||
/* 029E94 80029294 0243082A */ slt $at, $s2, $v1
|
||||
/* 029E98 80029298 1420FFB1 */ bnez $at, .L80029160
|
||||
/* 029E9C 8002929C 02402025 */ move $a0, $s2
|
||||
.L800292A0:
|
||||
/* 029EA0 800292A0 8FAF0160 */ lw $t7, 0x160($sp)
|
||||
/* 029EA4 800292A4 2472FFFF */ addiu $s2, $v1, -1
|
||||
/* 029EA8 800292A8 3C148012 */ lui $s4, %hi(D_8011B0A4) # $s4, 0x8012
|
||||
/* 029EAC 800292AC 3C158012 */ lui $s5, %hi(D_8011B0A8) # $s5, 0x8012
|
||||
/* 029EB0 800292B0 024F082A */ slt $at, $s2, $t7
|
||||
/* 029EB4 800292B4 26B5B0A8 */ addiu $s5, %lo(D_8011B0A8) # addiu $s5, $s5, -0x4f58
|
||||
/* 029EB8 800292B8 14200044 */ bnez $at, .L800293CC
|
||||
/* 029EBC 800292BC 2694B0A4 */ addiu $s4, %lo(D_8011B0A4) # addiu $s4, $s4, -0x4f5c
|
||||
/* 029EC0 800292C0 25F8FFFF */ addiu $t8, $t7, -1
|
||||
/* 029EC4 800292C4 AFB80044 */ sw $t8, 0x44($sp)
|
||||
.L800292C8:
|
||||
/* 029EC8 800292C8 0C003A52 */ jal get_object
|
||||
/* 029ECC 800292CC 02402025 */ move $a0, $s2
|
||||
/* 029ED0 800292D0 84430006 */ lh $v1, 6($v0)
|
||||
/* 029ED4 800292D4 8FB90158 */ lw $t9, 0x158($sp)
|
||||
/* 029ED8 800292D8 00408825 */ move $s1, $v0
|
||||
/* 029EDC 800292DC 00794024 */ and $t0, $v1, $t9
|
||||
/* 029EE0 800292E0 11000003 */ beqz $t0, .L800292F0
|
||||
/* 029EE4 800292E4 24100001 */ li $s0, 1
|
||||
/* 029EE8 800292E8 10000001 */ b .L800292F0
|
||||
/* 029EEC 800292EC 00008025 */ move $s0, $zero
|
||||
.L800292F0:
|
||||
/* 029EF0 800292F0 10400033 */ beqz $v0, .L800293C0
|
||||
/* 029EF4 800292F4 8FA80044 */ lw $t0, 0x44($sp)
|
||||
/* 029EF8 800292F8 12000030 */ beqz $s0, .L800293BC
|
||||
/* 029EFC 800292FC 306A0100 */ andi $t2, $v1, 0x100
|
||||
/* 029F00 80029300 1140002F */ beqz $t2, .L800293C0
|
||||
/* 029F04 80029304 8FA80044 */ lw $t0, 0x44($sp)
|
||||
/* 029F08 80029308 8449002E */ lh $t1, 0x2e($v0)
|
||||
/* 029F0C 8002930C 00000000 */ nop
|
||||
/* 029F10 80029310 02C95821 */ addu $t3, $s6, $t1
|
||||
/* 029F14 80029314 916C0001 */ lbu $t4, 1($t3)
|
||||
/* 029F18 80029318 00000000 */ nop
|
||||
/* 029F1C 8002931C 11800028 */ beqz $t4, .L800293C0
|
||||
/* 029F20 80029320 8FA80044 */ lw $t0, 0x44($sp)
|
||||
/* 029F24 80029324 0C00AA40 */ jal func_8002A900
|
||||
/* 029F28 80029328 02202025 */ move $a0, $s1
|
||||
/* 029F2C 8002932C 10400024 */ beqz $v0, .L800293C0
|
||||
/* 029F30 80029330 8FA80044 */ lw $t0, 0x44($sp)
|
||||
/* 029F34 80029334 862D0006 */ lh $t5, 6($s1)
|
||||
/* 029F38 80029338 02602025 */ move $a0, $s3
|
||||
/* 029F3C 8002933C 31AE8000 */ andi $t6, $t5, 0x8000
|
||||
/* 029F40 80029340 11C00006 */ beqz $t6, .L8002935C
|
||||
/* 029F44 80029344 02802825 */ move $a1, $s4
|
||||
/* 029F48 80029348 02A03025 */ move $a2, $s5
|
||||
/* 029F4C 8002934C 0C004B57 */ jal func_80012D5C
|
||||
/* 029F50 80029350 02203825 */ move $a3, $s1
|
||||
/* 029F54 80029354 1000001A */ b .L800293C0
|
||||
/* 029F58 80029358 8FA80044 */ lw $t0, 0x44($sp)
|
||||
.L8002935C:
|
||||
/* 029F5C 8002935C 8E250050 */ lw $a1, 0x50($s1)
|
||||
/* 029F60 80029360 00000000 */ nop
|
||||
/* 029F64 80029364 10A00004 */ beqz $a1, .L80029378
|
||||
/* 029F68 80029368 02602025 */ move $a0, $s3
|
||||
/* 029F6C 8002936C 0C00B4E1 */ jal render_floor_decal
|
||||
/* 029F70 80029370 02202025 */ move $a0, $s1
|
||||
/* 029F74 80029374 02602025 */ move $a0, $s3
|
||||
.L80029378:
|
||||
/* 029F78 80029378 02802825 */ move $a1, $s4
|
||||
/* 029F7C 8002937C 02A03025 */ move $a2, $s5
|
||||
/* 029F80 80029380 0C004B57 */ jal func_80012D5C
|
||||
/* 029F84 80029384 02203825 */ move $a3, $s1
|
||||
/* 029F88 80029388 8E250058 */ lw $a1, 0x58($s1)
|
||||
/* 029F8C 8002938C 00000000 */ nop
|
||||
/* 029F90 80029390 10A0000B */ beqz $a1, .L800293C0
|
||||
/* 029F94 80029394 8FA80044 */ lw $t0, 0x44($sp)
|
||||
/* 029F98 80029398 8E2F0040 */ lw $t7, 0x40($s1)
|
||||
/* 029F9C 8002939C 00000000 */ nop
|
||||
/* 029FA0 800293A0 95F80030 */ lhu $t8, 0x30($t7)
|
||||
/* 029FA4 800293A4 00000000 */ nop
|
||||
/* 029FA8 800293A8 33190010 */ andi $t9, $t8, 0x10
|
||||
/* 029FAC 800293AC 13200004 */ beqz $t9, .L800293C0
|
||||
/* 029FB0 800293B0 8FA80044 */ lw $t0, 0x44($sp)
|
||||
/* 029FB4 800293B4 0C00B59C */ jal func_8002D670
|
||||
/* 029FB8 800293B8 02202025 */ move $a0, $s1
|
||||
.L800293BC:
|
||||
/* 029FBC 800293BC 8FA80044 */ lw $t0, 0x44($sp)
|
||||
.L800293C0:
|
||||
/* 029FC0 800293C0 2652FFFF */ addiu $s2, $s2, -1
|
||||
/* 029FC4 800293C4 1648FFC0 */ bne $s2, $t0, .L800292C8
|
||||
/* 029FC8 800293C8 00000000 */ nop
|
||||
.L800293CC:
|
||||
/* 029FCC 800293CC 3C0A8012 */ lui $t2, %hi(D_8011B0E0) # $t2, 0x8012
|
||||
/* 029FD0 800293D0 814AB0E0 */ lb $t2, %lo(D_8011B0E0)($t2)
|
||||
/* 029FD4 800293D4 8FA20168 */ lw $v0, 0x168($sp)
|
||||
/* 029FD8 800293D8 1140000C */ beqz $t2, .L8002940C
|
||||
/* 029FDC 800293DC 2442FFFF */ addiu $v0, $v0, -1
|
||||
/* 029FE0 800293E0 0440000A */ bltz $v0, .L8002940C
|
||||
/* 029FE4 800293E4 27A900D8 */ addiu $t1, $sp, 0xd8
|
||||
/* 029FE8 800293E8 00498021 */ addu $s0, $v0, $t1
|
||||
/* 029FEC 800293EC 27B100D8 */ addiu $s1, $sp, 0xd8
|
||||
.L800293F0:
|
||||
/* 029FF0 800293F0 92040000 */ lbu $a0, ($s0)
|
||||
/* 029FF4 800293F4 0C00A596 */ jal render_level_segment
|
||||
/* 029FF8 800293F8 24050001 */ li $a1, 1
|
||||
/* 029FFC 800293FC 2610FFFF */ addiu $s0, $s0, -1
|
||||
/* 02A000 80029400 0211082B */ sltu $at, $s0, $s1
|
||||
/* 02A004 80029404 1020FFFA */ beqz $at, .L800293F0
|
||||
/* 02A008 80029408 00000000 */ nop
|
||||
.L8002940C:
|
||||
/* 02A00C 8002940C 3C0B8012 */ lui $t3, %hi(D_8011D384) # $t3, 0x8012
|
||||
/* 02A010 80029410 8D6BD384 */ lw $t3, %lo(D_8011D384)($t3)
|
||||
/* 02A014 80029414 00000000 */ nop
|
||||
/* 02A018 80029418 11600007 */ beqz $t3, .L80029438
|
||||
/* 02A01C 8002941C 00000000 */ nop
|
||||
/* 02A020 80029420 0C019888 */ jal func_80066220
|
||||
/* 02A024 80029424 00000000 */ nop
|
||||
/* 02A028 80029428 02602025 */ move $a0, $s3
|
||||
/* 02A02C 8002942C 02802825 */ move $a1, $s4
|
||||
/* 02A030 80029430 0C02EA39 */ jal func_800BA8E4
|
||||
/* 02A034 80029434 00403025 */ move $a2, $v0
|
||||
.L80029438:
|
||||
/* 02A038 80029438 0C01ECF4 */ jal func_8007B3D0
|
||||
/* 02A03C 8002943C 02602025 */ move $a0, $s3
|
||||
/* 02A040 80029440 02602025 */ move $a0, $s3
|
||||
/* 02A044 80029444 00002825 */ move $a1, $zero
|
||||
/* 02A048 80029448 0C01ED32 */ jal func_8007B4C8
|
||||
/* 02A04C 8002944C 2406000A */ li $a2, 10
|
||||
/* 02A050 80029450 0C004B0F */ jal func_80012C3C
|
||||
/* 02A054 80029454 02602025 */ move $a0, $s3
|
||||
/* 02A058 80029458 8FA3016C */ lw $v1, 0x16c($sp)
|
||||
/* 02A05C 8002945C 8FAC0160 */ lw $t4, 0x160($sp)
|
||||
/* 02A060 80029460 2472FFFF */ addiu $s2, $v1, -1
|
||||
/* 02A064 80029464 024C082A */ slt $at, $s2, $t4
|
||||
/* 02A068 80029468 14200060 */ bnez $at, .L800295EC
|
||||
/* 02A06C 8002946C 258DFFFF */ addiu $t5, $t4, -1
|
||||
/* 02A070 80029470 AFAD0044 */ sw $t5, 0x44($sp)
|
||||
/* 02A074 80029474 02402025 */ move $a0, $s2
|
||||
.L80029478:
|
||||
/* 02A078 80029478 0C003A52 */ jal get_object
|
||||
/* 02A07C 8002947C 241000FF */ li $s0, 255
|
||||
/* 02A080 80029480 84430006 */ lh $v1, 6($v0)
|
||||
/* 02A084 80029484 8FB80158 */ lw $t8, 0x158($sp)
|
||||
/* 02A088 80029488 306E0080 */ andi $t6, $v1, 0x80
|
||||
/* 02A08C 8002948C 11C00003 */ beqz $t6, .L8002949C
|
||||
/* 02A090 80029490 00408825 */ move $s1, $v0
|
||||
/* 02A094 80029494 10000006 */ b .L800294B0
|
||||
/* 02A098 80029498 24100001 */ li $s0, 1
|
||||
.L8002949C:
|
||||
/* 02A09C 8002949C 306F8000 */ andi $t7, $v1, 0x8000
|
||||
/* 02A0A0 800294A0 15E00004 */ bnez $t7, .L800294B4
|
||||
/* 02A0A4 800294A4 0078C824 */ and $t9, $v1, $t8
|
||||
/* 02A0A8 800294A8 90500039 */ lbu $s0, 0x39($v0)
|
||||
/* 02A0AC 800294AC 00000000 */ nop
|
||||
.L800294B0:
|
||||
/* 02A0B0 800294B0 0078C824 */ and $t9, $v1, $t8
|
||||
.L800294B4:
|
||||
/* 02A0B4 800294B4 13200002 */ beqz $t9, .L800294C0
|
||||
/* 02A0B8 800294B8 00000000 */ nop
|
||||
/* 02A0BC 800294BC 00008025 */ move $s0, $zero
|
||||
.L800294C0:
|
||||
/* 02A0C0 800294C0 84480048 */ lh $t0, 0x48($v0)
|
||||
/* 02A0C4 800294C4 24010001 */ li $at, 1
|
||||
/* 02A0C8 800294C8 15010004 */ bne $t0, $at, .L800294DC
|
||||
/* 02A0CC 800294CC 2A0100FF */ slti $at, $s0, 0xff
|
||||
/* 02A0D0 800294D0 14200002 */ bnez $at, .L800294DC
|
||||
/* 02A0D4 800294D4 00000000 */ nop
|
||||
/* 02A0D8 800294D8 00008025 */ move $s0, $zero
|
||||
.L800294DC:
|
||||
/* 02A0DC 800294DC 1040003F */ beqz $v0, .L800295DC
|
||||
/* 02A0E0 800294E0 2A0100FF */ slti $at, $s0, 0xff
|
||||
/* 02A0E4 800294E4 1020003E */ beqz $at, .L800295E0
|
||||
/* 02A0E8 800294E8 8FA80044 */ lw $t0, 0x44($sp)
|
||||
/* 02A0EC 800294EC 844A002E */ lh $t2, 0x2e($v0)
|
||||
/* 02A0F0 800294F0 00000000 */ nop
|
||||
/* 02A0F4 800294F4 02CA4821 */ addu $t1, $s6, $t2
|
||||
/* 02A0F8 800294F8 912B0001 */ lbu $t3, 1($t1)
|
||||
/* 02A0FC 800294FC 00000000 */ nop
|
||||
/* 02A100 80029500 11600037 */ beqz $t3, .L800295E0
|
||||
/* 02A104 80029504 8FA80044 */ lw $t0, 0x44($sp)
|
||||
/* 02A108 80029508 0C00AA40 */ jal func_8002A900
|
||||
/* 02A10C 8002950C 02202025 */ move $a0, $s1
|
||||
/* 02A110 80029510 10400033 */ beqz $v0, .L800295E0
|
||||
/* 02A114 80029514 8FA80044 */ lw $t0, 0x44($sp)
|
||||
/* 02A118 80029518 1A000023 */ blez $s0, .L800295A8
|
||||
/* 02A11C 8002951C 00000000 */ nop
|
||||
/* 02A120 80029520 862C0006 */ lh $t4, 6($s1)
|
||||
/* 02A124 80029524 02602025 */ move $a0, $s3
|
||||
/* 02A128 80029528 318D8000 */ andi $t5, $t4, 0x8000
|
||||
/* 02A12C 8002952C 11A00006 */ beqz $t5, .L80029548
|
||||
/* 02A130 80029530 02802825 */ move $a1, $s4
|
||||
/* 02A134 80029534 02A03025 */ move $a2, $s5
|
||||
/* 02A138 80029538 0C004B57 */ jal func_80012D5C
|
||||
/* 02A13C 8002953C 02203825 */ move $a3, $s1
|
||||
/* 02A140 80029540 1000001A */ b .L800295AC
|
||||
/* 02A144 80029544 86390048 */ lh $t9, 0x48($s1)
|
||||
.L80029548:
|
||||
/* 02A148 80029548 8E250050 */ lw $a1, 0x50($s1)
|
||||
/* 02A14C 8002954C 00000000 */ nop
|
||||
/* 02A150 80029550 10A00004 */ beqz $a1, .L80029564
|
||||
/* 02A154 80029554 02602025 */ move $a0, $s3
|
||||
/* 02A158 80029558 0C00B4E1 */ jal render_floor_decal
|
||||
/* 02A15C 8002955C 02202025 */ move $a0, $s1
|
||||
/* 02A160 80029560 02602025 */ move $a0, $s3
|
||||
.L80029564:
|
||||
/* 02A164 80029564 02802825 */ move $a1, $s4
|
||||
/* 02A168 80029568 02A03025 */ move $a2, $s5
|
||||
/* 02A16C 8002956C 0C004B57 */ jal func_80012D5C
|
||||
/* 02A170 80029570 02203825 */ move $a3, $s1
|
||||
/* 02A174 80029574 8E250058 */ lw $a1, 0x58($s1)
|
||||
/* 02A178 80029578 00000000 */ nop
|
||||
/* 02A17C 8002957C 10A0000A */ beqz $a1, .L800295A8
|
||||
/* 02A180 80029580 00000000 */ nop
|
||||
/* 02A184 80029584 8E2E0040 */ lw $t6, 0x40($s1)
|
||||
/* 02A188 80029588 00000000 */ nop
|
||||
/* 02A18C 8002958C 95CF0030 */ lhu $t7, 0x30($t6)
|
||||
/* 02A190 80029590 00000000 */ nop
|
||||
/* 02A194 80029594 31F80010 */ andi $t8, $t7, 0x10
|
||||
/* 02A198 80029598 13000003 */ beqz $t8, .L800295A8
|
||||
/* 02A19C 8002959C 00000000 */ nop
|
||||
/* 02A1A0 800295A0 0C00B59C */ jal func_8002D670
|
||||
/* 02A1A4 800295A4 02202025 */ move $a0, $s1
|
||||
.L800295A8:
|
||||
/* 02A1A8 800295A8 86390048 */ lh $t9, 0x48($s1)
|
||||
.L800295AC:
|
||||
/* 02A1AC 800295AC 24010001 */ li $at, 1
|
||||
/* 02A1B0 800295B0 1721000A */ bne $t9, $at, .L800295DC
|
||||
/* 02A1B4 800295B4 02602025 */ move $a0, $s3
|
||||
/* 02A1B8 800295B8 02802825 */ move $a1, $s4
|
||||
/* 02A1BC 800295BC 02A03025 */ move $a2, $s5
|
||||
/* 02A1C0 800295C0 0C004E83 */ jal func_80013A0C
|
||||
/* 02A1C4 800295C4 02203825 */ move $a3, $s1
|
||||
/* 02A1C8 800295C8 02602025 */ move $a0, $s3
|
||||
/* 02A1CC 800295CC 02802825 */ move $a1, $s4
|
||||
/* 02A1D0 800295D0 02A03025 */ move $a2, $s5
|
||||
/* 02A1D4 800295D4 0C004F73 */ jal func_80013DCC
|
||||
/* 02A1D8 800295D8 02203825 */ move $a3, $s1
|
||||
.L800295DC:
|
||||
/* 02A1DC 800295DC 8FA80044 */ lw $t0, 0x44($sp)
|
||||
.L800295E0:
|
||||
/* 02A1E0 800295E0 2652FFFF */ addiu $s2, $s2, -1
|
||||
/* 02A1E4 800295E4 1648FFA4 */ bne $s2, $t0, .L80029478
|
||||
/* 02A1E8 800295E8 02402025 */ move $a0, $s2
|
||||
.L800295EC:
|
||||
/* 02A1EC 800295EC 3C0A800E */ lui $t2, %hi(D_800DC924) # $t2, 0x800e
|
||||
/* 02A1F0 800295F0 8D4AC924 */ lw $t2, %lo(D_800DC924)($t2)
|
||||
/* 02A1F4 800295F4 00000000 */ nop
|
||||
/* 02A1F8 800295F8 1140000C */ beqz $t2, .L8002962C
|
||||
/* 02A1FC 800295FC 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* 02A200 80029600 0C009D5A */ jal func_80027568
|
||||
/* 02A204 80029604 00000000 */ nop
|
||||
/* 02A208 80029608 10400008 */ beqz $v0, .L8002962C
|
||||
/* 02A20C 8002960C 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* 02A210 80029610 0C019888 */ jal func_80066220
|
||||
/* 02A214 80029614 00000000 */ nop
|
||||
/* 02A218 80029618 8FA50168 */ lw $a1, 0x168($sp)
|
||||
/* 02A21C 8002961C 27A400D8 */ addiu $a0, $sp, 0xd8
|
||||
/* 02A220 80029620 0C009607 */ jal func_8002581C
|
||||
/* 02A224 80029624 00403025 */ move $a2, $v0
|
||||
/* 02A228 80029628 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L8002962C:
|
||||
/* 02A22C 8002962C 3C018012 */ lui $at, %hi(D_8011B0FC) # $at, 0x8012
|
||||
/* 02A230 80029630 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* 02A234 80029634 8FB10024 */ lw $s1, 0x24($sp)
|
||||
/* 02A238 80029638 8FB20028 */ lw $s2, 0x28($sp)
|
||||
/* 02A23C 8002963C 8FB3002C */ lw $s3, 0x2c($sp)
|
||||
/* 02A240 80029640 8FB40030 */ lw $s4, 0x30($sp)
|
||||
/* 02A244 80029644 8FB50034 */ lw $s5, 0x34($sp)
|
||||
/* 02A248 80029648 8FB60038 */ lw $s6, 0x38($sp)
|
||||
/* 02A24C 8002964C AC20B0FC */ sw $zero, %lo(D_8011B0FC)($at)
|
||||
/* 02A250 80029650 03E00008 */ jr $ra
|
||||
/* 02A254 80029654 27BD0170 */ addiu $sp, $sp, 0x170
|
||||
|
||||
@@ -1,149 +0,0 @@
|
||||
glabel traverse_segments_bsp_tree
|
||||
/* 02A6F8 80029AF8 27BDFFB8 */ addiu $sp, $sp, -0x48
|
||||
/* 02A6FC 80029AFC AFBE0040 */ sw $fp, 0x40($sp)
|
||||
/* 02A700 80029B00 AFB7003C */ sw $s7, 0x3c($sp)
|
||||
/* 02A704 80029B04 AFB3002C */ sw $s3, 0x2c($sp)
|
||||
/* 02A708 80029B08 3C178012 */ lui $s7, %hi(D_8011B0B0) # $s7, 0x8012
|
||||
/* 02A70C 80029B0C 3C1E800E */ lui $fp, %hi(gCurrentLevelModel) # $fp, 0x800e
|
||||
/* 02A710 80029B10 AFB60038 */ sw $s6, 0x38($sp)
|
||||
/* 02A714 80029B14 AFB50034 */ sw $s5, 0x34($sp)
|
||||
/* 02A718 80029B18 AFB40030 */ sw $s4, 0x30($sp)
|
||||
/* 02A71C 80029B1C AFB20028 */ sw $s2, 0x28($sp)
|
||||
/* 02A720 80029B20 AFB10024 */ sw $s1, 0x24($sp)
|
||||
/* 02A724 80029B24 8FB30058 */ lw $s3, 0x58($sp)
|
||||
/* 02A728 80029B28 00808825 */ move $s1, $a0
|
||||
/* 02A72C 80029B2C 00E09025 */ move $s2, $a3
|
||||
/* 02A730 80029B30 00A0A025 */ move $s4, $a1
|
||||
/* 02A734 80029B34 00C0A825 */ move $s5, $a2
|
||||
/* 02A738 80029B38 2416FFFF */ li $s6, -1
|
||||
/* 02A73C 80029B3C 27DEC918 */ addiu $fp, %lo(gCurrentLevelModel) # addiu $fp, $fp, -0x36e8
|
||||
/* 02A740 80029B40 26F7B0B0 */ addiu $s7, %lo(D_8011B0B0) # addiu $s7, $s7, -0x4f50
|
||||
/* 02A744 80029B44 AFBF0044 */ sw $ra, 0x44($sp)
|
||||
/* 02A748 80029B48 AFB00020 */ sw $s0, 0x20($sp)
|
||||
.L80029B4C:
|
||||
/* 02A74C 80029B4C 8FCE0000 */ lw $t6, ($fp)
|
||||
/* 02A750 80029B50 0011C0C0 */ sll $t8, $s1, 3
|
||||
/* 02A754 80029B54 8DCF0014 */ lw $t7, 0x14($t6)
|
||||
/* 02A758 80029B58 24010001 */ li $at, 1
|
||||
/* 02A75C 80029B5C 01F88021 */ addu $s0, $t7, $t8
|
||||
/* 02A760 80029B60 92020004 */ lbu $v0, 4($s0)
|
||||
/* 02A764 80029B64 00000000 */ nop
|
||||
/* 02A768 80029B68 1440000D */ bnez $v0, .L80029BA0
|
||||
/* 02A76C 80029B6C 00000000 */ nop
|
||||
/* 02A770 80029B70 4448F800 */ cfc1 $t0, $31
|
||||
/* 02A774 80029B74 8EF90000 */ lw $t9, ($s7)
|
||||
/* 02A778 80029B78 35010003 */ ori $at, $t0, 3
|
||||
/* 02A77C 80029B7C 38210002 */ xori $at, $at, 2
|
||||
/* 02A780 80029B80 44C1F800 */ ctc1 $at, $31
|
||||
/* 02A784 80029B84 C724000C */ lwc1 $f4, 0xc($t9)
|
||||
/* 02A788 80029B88 00000000 */ nop
|
||||
/* 02A78C 80029B8C 460021A4 */ cvt.w.s $f6, $f4
|
||||
/* 02A790 80029B90 44023000 */ mfc1 $v0, $f6
|
||||
/* 02A794 80029B94 44C8F800 */ ctc1 $t0, $31
|
||||
/* 02A798 80029B98 1000001B */ b .L80029C08
|
||||
/* 02A79C 80029B9C 860D0006 */ lh $t5, 6($s0)
|
||||
.L80029BA0:
|
||||
/* 02A7A0 80029BA0 1441000D */ bne $v0, $at, .L80029BD8
|
||||
/* 02A7A4 80029BA4 00000000 */ nop
|
||||
/* 02A7A8 80029BA8 444AF800 */ cfc1 $t2, $31
|
||||
/* 02A7AC 80029BAC 8EE90000 */ lw $t1, ($s7)
|
||||
/* 02A7B0 80029BB0 35410003 */ ori $at, $t2, 3
|
||||
/* 02A7B4 80029BB4 38210002 */ xori $at, $at, 2
|
||||
/* 02A7B8 80029BB8 44C1F800 */ ctc1 $at, $31
|
||||
/* 02A7BC 80029BBC C5280010 */ lwc1 $f8, 0x10($t1)
|
||||
/* 02A7C0 80029BC0 00000000 */ nop
|
||||
/* 02A7C4 80029BC4 460042A4 */ cvt.w.s $f10, $f8
|
||||
/* 02A7C8 80029BC8 44025000 */ mfc1 $v0, $f10
|
||||
/* 02A7CC 80029BCC 44CAF800 */ ctc1 $t2, $31
|
||||
/* 02A7D0 80029BD0 1000000D */ b .L80029C08
|
||||
/* 02A7D4 80029BD4 860D0006 */ lh $t5, 6($s0)
|
||||
.L80029BD8:
|
||||
/* 02A7D8 80029BD8 444CF800 */ cfc1 $t4, $31
|
||||
/* 02A7DC 80029BDC 8EEB0000 */ lw $t3, ($s7)
|
||||
/* 02A7E0 80029BE0 35810003 */ ori $at, $t4, 3
|
||||
/* 02A7E4 80029BE4 38210002 */ xori $at, $at, 2
|
||||
/* 02A7E8 80029BE8 44C1F800 */ ctc1 $at, $31
|
||||
/* 02A7EC 80029BEC C5700014 */ lwc1 $f16, 0x14($t3)
|
||||
/* 02A7F0 80029BF0 00000000 */ nop
|
||||
/* 02A7F4 80029BF4 460084A4 */ cvt.w.s $f18, $f16
|
||||
/* 02A7F8 80029BF8 44CCF800 */ ctc1 $t4, $31
|
||||
/* 02A7FC 80029BFC 44029000 */ mfc1 $v0, $f18
|
||||
/* 02A800 80029C00 00000000 */ nop
|
||||
/* 02A804 80029C04 860D0006 */ lh $t5, 6($s0)
|
||||
.L80029C08:
|
||||
/* 02A808 80029C08 00000000 */ nop
|
||||
/* 02A80C 80029C0C 004D082A */ slt $at, $v0, $t5
|
||||
/* 02A810 80029C10 1020001C */ beqz $at, .L80029C84
|
||||
/* 02A814 80029C14 00000000 */ nop
|
||||
/* 02A818 80029C18 86040000 */ lh $a0, ($s0)
|
||||
/* 02A81C 80029C1C 02602825 */ move $a1, $s3
|
||||
/* 02A820 80029C20 12C40009 */ beq $s6, $a0, .L80029C48
|
||||
/* 02A824 80029C24 02403025 */ move $a2, $s2
|
||||
/* 02A828 80029C28 92060005 */ lbu $a2, 5($s0)
|
||||
/* 02A82C 80029C2C AFB30010 */ sw $s3, 0x10($sp)
|
||||
/* 02A830 80029C30 02802825 */ move $a1, $s4
|
||||
/* 02A834 80029C34 02403825 */ move $a3, $s2
|
||||
/* 02A838 80029C38 0C00A6BE */ jal traverse_segments_bsp_tree
|
||||
/* 02A83C 80029C3C 24C6FFFF */ addiu $a2, $a2, -1
|
||||
/* 02A840 80029C40 10000004 */ b .L80029C54
|
||||
/* 02A844 80029C44 86040002 */ lh $a0, 2($s0)
|
||||
.L80029C48:
|
||||
/* 02A848 80029C48 0C00A745 */ jal add_segment_to_order
|
||||
/* 02A84C 80029C4C 02802025 */ move $a0, $s4
|
||||
/* 02A850 80029C50 86040002 */ lh $a0, 2($s0)
|
||||
.L80029C54:
|
||||
/* 02A854 80029C54 00000000 */ nop
|
||||
/* 02A858 80029C58 12C40004 */ beq $s6, $a0, .L80029C6C
|
||||
/* 02A85C 80029C5C 00000000 */ nop
|
||||
/* 02A860 80029C60 92140005 */ lbu $s4, 5($s0)
|
||||
/* 02A864 80029C64 1000FFB9 */ b .L80029B4C
|
||||
/* 02A868 80029C68 00808825 */ move $s1, $a0
|
||||
.L80029C6C:
|
||||
/* 02A86C 80029C6C 02A02025 */ move $a0, $s5
|
||||
/* 02A870 80029C70 02602825 */ move $a1, $s3
|
||||
/* 02A874 80029C74 0C00A745 */ jal add_segment_to_order
|
||||
/* 02A878 80029C78 02403025 */ move $a2, $s2
|
||||
/* 02A87C 80029C7C 1000001A */ b .L80029CE8
|
||||
/* 02A880 80029C80 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
.L80029C84:
|
||||
/* 02A884 80029C84 86040002 */ lh $a0, 2($s0)
|
||||
/* 02A888 80029C88 02602825 */ move $a1, $s3
|
||||
/* 02A88C 80029C8C 12C40008 */ beq $s6, $a0, .L80029CB0
|
||||
/* 02A890 80029C90 02403025 */ move $a2, $s2
|
||||
/* 02A894 80029C94 92050005 */ lbu $a1, 5($s0)
|
||||
/* 02A898 80029C98 AFB30010 */ sw $s3, 0x10($sp)
|
||||
/* 02A89C 80029C9C 02A03025 */ move $a2, $s5
|
||||
/* 02A8A0 80029CA0 0C00A6BE */ jal traverse_segments_bsp_tree
|
||||
/* 02A8A4 80029CA4 02403825 */ move $a3, $s2
|
||||
/* 02A8A8 80029CA8 10000004 */ b .L80029CBC
|
||||
/* 02A8AC 80029CAC 86040000 */ lh $a0, ($s0)
|
||||
.L80029CB0:
|
||||
/* 02A8B0 80029CB0 0C00A745 */ jal add_segment_to_order
|
||||
/* 02A8B4 80029CB4 02A02025 */ move $a0, $s5
|
||||
/* 02A8B8 80029CB8 86040000 */ lh $a0, ($s0)
|
||||
.L80029CBC:
|
||||
/* 02A8BC 80029CBC 00000000 */ nop
|
||||
/* 02A8C0 80029CC0 12C40004 */ beq $s6, $a0, .L80029CD4
|
||||
/* 02A8C4 80029CC4 00808825 */ move $s1, $a0
|
||||
/* 02A8C8 80029CC8 92150005 */ lbu $s5, 5($s0)
|
||||
/* 02A8CC 80029CCC 1000FF9F */ b .L80029B4C
|
||||
/* 02A8D0 80029CD0 26B5FFFF */ addiu $s5, $s5, -1
|
||||
.L80029CD4:
|
||||
/* 02A8D4 80029CD4 02802025 */ move $a0, $s4
|
||||
/* 02A8D8 80029CD8 02602825 */ move $a1, $s3
|
||||
/* 02A8DC 80029CDC 0C00A745 */ jal add_segment_to_order
|
||||
/* 02A8E0 80029CE0 02403025 */ move $a2, $s2
|
||||
/* 02A8E4 80029CE4 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
.L80029CE8:
|
||||
/* 02A8E8 80029CE8 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* 02A8EC 80029CEC 8FB10024 */ lw $s1, 0x24($sp)
|
||||
/* 02A8F0 80029CF0 8FB20028 */ lw $s2, 0x28($sp)
|
||||
/* 02A8F4 80029CF4 8FB3002C */ lw $s3, 0x2c($sp)
|
||||
/* 02A8F8 80029CF8 8FB40030 */ lw $s4, 0x30($sp)
|
||||
/* 02A8FC 80029CFC 8FB50034 */ lw $s5, 0x34($sp)
|
||||
/* 02A900 80029D00 8FB60038 */ lw $s6, 0x38($sp)
|
||||
/* 02A904 80029D04 8FB7003C */ lw $s7, 0x3c($sp)
|
||||
/* 02A908 80029D08 8FBE0040 */ lw $fp, 0x40($sp)
|
||||
/* 02A90C 80029D0C 03E00008 */ jr $ra
|
||||
/* 02A910 80029D10 27BD0048 */ addiu $sp, $sp, 0x48
|
||||
|
||||
+11
-1
@@ -39,6 +39,16 @@ u32 __osProbeTLB(void *);
|
||||
u32 __osDisableInt(void);
|
||||
void __osRestoreInt(u32);
|
||||
OSThread *__osGetCurrFaultedThread(void);
|
||||
u32 osVirtualToPhysical(void *addr);
|
||||
|
||||
/* Address translation routines and macros */
|
||||
|
||||
extern u32 osVirtualToPhysical(void *);
|
||||
extern void * osPhysicalToVirtual(u32);
|
||||
|
||||
#define OS_K0_TO_PHYSICAL(x) (u32)(((char *)(x)-0x80000000))
|
||||
#define OS_K1_TO_PHYSICAL(x) (u32)(((char *)(x)-0xa0000000))
|
||||
|
||||
#define OS_PHYSICAL_TO_K0(x) (void *)(((u32)(x)+0x80000000))
|
||||
#define OS_PHYSICAL_TO_K1(x) (void *)(((u32)(x)+0xa0000000))
|
||||
|
||||
#endif
|
||||
|
||||
+16
-9
@@ -400,6 +400,7 @@ typedef struct ObjectModel {
|
||||
/* 0x48 */ s16 numberOfAnimations;
|
||||
} ObjectModel;
|
||||
|
||||
/* Size: 0x44 bytes */
|
||||
typedef struct LevelModelSegment {
|
||||
/* 0x00 */ Vertex *vertices;
|
||||
/* 0x04 */ Triangle *triangles;
|
||||
@@ -421,12 +422,12 @@ typedef struct LevelModelSegment {
|
||||
} LevelModelSegment;
|
||||
|
||||
typedef struct LevelModelSegmentBoundingBox {
|
||||
s16 unk0;
|
||||
s16 unk2;
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
s16 unk8;
|
||||
s16 unkA;
|
||||
/* 0x00 */ s16 x1;
|
||||
/* 0x02 */ s16 y1;
|
||||
/* 0x04 */ s16 z1;
|
||||
/* 0x06 */ s16 x2;
|
||||
/* 0x08 */ s16 y2;
|
||||
/* 0x0A */ s16 z2;
|
||||
} LevelModelSegmentBoundingBox;
|
||||
|
||||
/* Size: 8 bytes */
|
||||
@@ -479,9 +480,11 @@ typedef struct ObjectHeader {
|
||||
u8 pad10[0x20];
|
||||
/* 0x30 */ u16 unk30;
|
||||
/* 0x32 */ s16 unk32;
|
||||
u8 pad34[0x9];
|
||||
u8 pad34[9];
|
||||
/* 0x3D */ u8 unk3D;
|
||||
u8 pad3E[0x15];
|
||||
u8 pad3E[16];
|
||||
s16 unk4E; //Used in func_8002A900?
|
||||
u8 pad50[3];
|
||||
/* 0x53 */ s8 modelType;
|
||||
/* 0x54 */ s8 behaviorId;
|
||||
/* 0x55 */ s8 numberOfModelIds; // size of array pointed by Object->unk68
|
||||
@@ -606,7 +609,9 @@ typedef struct Object_64 {
|
||||
s8 unk36;
|
||||
u8 pad37[0x39];
|
||||
u8 unk70;
|
||||
u8 pad71[0x03];
|
||||
u8 unk71;
|
||||
u8 unk72;
|
||||
u8 unk73;
|
||||
f32 unk74;
|
||||
f32 unk78;
|
||||
f32 unk7C;
|
||||
@@ -641,6 +646,8 @@ typedef struct Object_64 {
|
||||
u8 pad1D9[0x19];
|
||||
u8 unk1F2;
|
||||
u8 unk1F3;
|
||||
u8 pad1F4[3];
|
||||
u8 unk1F7; // Used in func_8002A900
|
||||
} Object_64;
|
||||
|
||||
typedef struct Object_68 {
|
||||
|
||||
Executable
+1
@@ -0,0 +1 @@
|
||||
python3 tools/python/diff.py -smwo3 --line-numbers "$@"
|
||||
+2
-1
@@ -1,4 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
ASMFILE=$(find . -type f -name "*$1.s")
|
||||
python3 ../mips_to_c/mips_to_c.py --compiler ido --pointer-style right --context ctx.c -f $1 $ASMFILE > $1.c
|
||||
echo '#include "ctx.c"\n' > $1.c
|
||||
python3 ../mips_to_c/mips_to_c.py --compiler ido --pointer-style right --context ctx.c -f $1 $ASMFILE >> $1.c
|
||||
+73
-38
@@ -109,7 +109,7 @@ s32 gNumberOfViewports;
|
||||
s32 D_80120CE4;
|
||||
s32 D_80120CE8;
|
||||
s32 D_80120CEC;
|
||||
s32 D_80120CF0[6];
|
||||
ObjectTransform D_80120CF0;
|
||||
s32 D_80120D08;
|
||||
s32 D_80120D0C;
|
||||
f32 gCurCamFOV;
|
||||
@@ -122,7 +122,7 @@ s32 D_80120D28[6];
|
||||
s32 D_80120D40[6];
|
||||
u16 perspNorm[12];
|
||||
Matrix *D_80120D70[6];
|
||||
s32 D_80120D88[6];
|
||||
Mtx *D_80120D88[6];
|
||||
Matrix D_80120DA0[5];
|
||||
Matrix D_80120EE0; // Perspective matrix?
|
||||
Matrix D_80120F20;
|
||||
@@ -237,7 +237,7 @@ s32 func_80066220(void) {
|
||||
return D_80120CE4;
|
||||
}
|
||||
|
||||
void func_80066230(Gfx **dlist, Gfx **arg1) {
|
||||
void func_80066230(Gfx **dlist, Mtx **mats) {
|
||||
ObjectSegment *someStruct;
|
||||
s16 sp2A;
|
||||
s16 sp28;
|
||||
@@ -265,7 +265,7 @@ void func_80066230(Gfx **dlist, Gfx **arg1) {
|
||||
someStruct->trans.y_position = 0.0f;
|
||||
someStruct->trans.z_position = 0.0f;
|
||||
func_8001D5E0(0.0f, 0.0f, -1.0f);
|
||||
func_80066CDC(dlist, arg1);
|
||||
func_80066CDC(dlist, mats);
|
||||
someStruct->unk38.word = sp24;
|
||||
someStruct->trans.y_rotation = sp2A;
|
||||
someStruct->trans.x_rotation = sp28;
|
||||
@@ -275,20 +275,20 @@ void func_80066230(Gfx **dlist, Gfx **arg1) {
|
||||
someStruct->trans.z_position = sp18;
|
||||
}
|
||||
|
||||
f32 func_80066348(f32 arg0, f32 arg1, f32 arg2) {
|
||||
s32 phi_v1;
|
||||
f32 temp_f2, temp_f0, temp_f14;
|
||||
f32 func_80066348(f32 xPos, f32 yPos, f32 zPos) {
|
||||
s32 index;
|
||||
f32 dx, dz, dy;
|
||||
|
||||
phi_v1 = D_80120CE4;
|
||||
index = D_80120CE4;
|
||||
|
||||
if (D_80120D14 != 0) {
|
||||
phi_v1 += 4;
|
||||
index += 4;
|
||||
}
|
||||
|
||||
temp_f0 = arg2 - D_80120AC0[phi_v1].trans.z_position;
|
||||
temp_f2 = arg0 - D_80120AC0[phi_v1].trans.x_position;
|
||||
temp_f14 = arg1 - D_80120AC0[phi_v1].trans.y_position;
|
||||
return sqrtf((temp_f0 * temp_f0) + ((temp_f2 * temp_f2) + (temp_f14 * temp_f14)));
|
||||
dz = zPos - D_80120AC0[index].trans.z_position;
|
||||
dx = xPos - D_80120AC0[index].trans.x_position;
|
||||
dy = yPos - D_80120AC0[index].trans.y_position;
|
||||
return sqrtf((dz * dz) + ((dx * dx) + (dy * dy)));
|
||||
}
|
||||
|
||||
void func_800663DC(s32 xPos, s32 yPos, s32 zPos, s32 arg3, s32 arg4, s32 arg5) {
|
||||
@@ -581,7 +581,7 @@ UNUSED void copy_framebuffer_size_to_coords(s32 *x1, s32 *y1, s32 *x2, s32 *y2)
|
||||
|
||||
#define SCISSOR_INTERLACE G_SC_NON_INTERLACE
|
||||
|
||||
void func_80066CDC(Gfx **dlist, Gfx **arg1) {
|
||||
void func_80066CDC(Gfx **dlist, Mtx **mats) {
|
||||
u32 sp58;
|
||||
u32 sp54;
|
||||
u32 sp4C;
|
||||
@@ -610,8 +610,8 @@ void func_80066CDC(Gfx **dlist, Gfx **arg1) {
|
||||
gScreenViewports[D_80120CE4].scissorY2
|
||||
);
|
||||
func_80068158(dlist, 0, 0, 0, 0);
|
||||
if (arg1 != 0) {
|
||||
func_80067D3C(dlist, arg1);
|
||||
if (mats != 0) {
|
||||
func_80067D3C(dlist, mats);
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -707,8 +707,8 @@ void func_80066CDC(Gfx **dlist, Gfx **arg1) {
|
||||
sp4C -= 4;
|
||||
}
|
||||
func_80068158(dlist, sp54, sp58, sp4C, phi_t3);
|
||||
if (arg1 != 0) {
|
||||
func_80067D3C(dlist, arg1);
|
||||
if (mats != 0) {
|
||||
func_80067D3C(dlist, mats);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -717,7 +717,47 @@ GLOBAL_ASM("asm/non_matchings/camera/func_80066CDC.s")
|
||||
#endif
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/camera/func_80067A3C.s")
|
||||
GLOBAL_ASM("asm/non_matchings/camera/func_80067D3C.s")
|
||||
|
||||
void func_80067D3C(Gfx **dlist, UNUSED Mtx **mats) {
|
||||
s32 temp;
|
||||
|
||||
gSPPerspNormalize((*dlist)++, perspNorm[10]);
|
||||
|
||||
temp = D_80120CE4;
|
||||
if (D_80120D14 != 0) {
|
||||
D_80120CE4 += 4;
|
||||
}
|
||||
|
||||
D_80120CF0.y_rotation = 0x8000 + D_80120AC0[D_80120CE4].trans.y_rotation;
|
||||
D_80120CF0.x_rotation = D_80120AC0[D_80120CE4].trans.x_rotation + D_80120AC0[D_80120CE4].unk38.word;
|
||||
D_80120CF0.z_rotation = D_80120AC0[D_80120CE4].trans.z_rotation;
|
||||
|
||||
D_80120CF0.x_position = -D_80120AC0[D_80120CE4].trans.x_position;
|
||||
D_80120CF0.y_position = -D_80120AC0[D_80120CE4].trans.y_position;
|
||||
if (D_80120D18 != 0) {
|
||||
D_80120CF0.y_position -= D_80120AC0[D_80120CE4].unk30;
|
||||
}
|
||||
D_80120CF0.z_position = -D_80120AC0[D_80120CE4].trans.z_position;
|
||||
|
||||
func_8006FE74(&D_80120F60, &D_80120CF0);
|
||||
func_8006F768(&D_80120F60, &D_80120EE0, &D_80120F20);
|
||||
|
||||
D_80120CF0.y_rotation = -0x8000 - D_80120AC0[D_80120CE4].trans.y_rotation;
|
||||
D_80120CF0.x_rotation = -(D_80120AC0[D_80120CE4].trans.x_rotation + D_80120AC0[D_80120CE4].unk38.word);
|
||||
D_80120CF0.z_rotation = -D_80120AC0[D_80120CE4].trans.z_rotation;
|
||||
D_80120CF0.scale = 1.0f;
|
||||
D_80120CF0.x_position = D_80120AC0[D_80120CE4].trans.x_position;
|
||||
D_80120CF0.y_position = D_80120AC0[D_80120CE4].trans.y_position;
|
||||
if (D_80120D18 != 0) {
|
||||
D_80120CF0.y_position += D_80120AC0[D_80120CE4].unk30;
|
||||
}
|
||||
D_80120CF0.z_position = D_80120AC0[D_80120CE4].trans.z_position;
|
||||
|
||||
func_8006FC30(D_80120FA0, &D_80120CF0);
|
||||
func_8006F870(&D_80120FA0, &D_80121020);
|
||||
|
||||
D_80120CE4 = temp;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the Y value of the Y axis in the matrix to the passed value.
|
||||
@@ -728,7 +768,7 @@ void set_ortho_matrix_height(f32 value) {
|
||||
gOrthoMatrix[1][1] = value;
|
||||
}
|
||||
|
||||
void func_80067F2C(Gfx **dlist, s32 *arg1) {
|
||||
void func_80067F2C(Gfx **dlist, Mtx **mats) {
|
||||
u32 widthAndHeight;
|
||||
s32 width, height;
|
||||
s32 i, j;
|
||||
@@ -736,15 +776,14 @@ void func_80067F2C(Gfx **dlist, s32 *arg1) {
|
||||
widthAndHeight = get_video_width_and_height_as_s32();
|
||||
height = GET_VIDEO_HEIGHT(widthAndHeight);
|
||||
width = GET_VIDEO_WIDTH(widthAndHeight);
|
||||
func_8006F870(&gOrthoMatrix, (Matrix *)*arg1);
|
||||
D_80120D88[0] = *arg1;
|
||||
func_8006F870(&gOrthoMatrix, (Matrix *)*mats);
|
||||
D_80120D88[0] = *mats;
|
||||
D_800DD148[D_80120CE4 + 5].vp.vscale[0] = width * 2;
|
||||
D_800DD148[D_80120CE4 + 5].vp.vscale[1] = width * 2;
|
||||
D_800DD148[D_80120CE4 + 5].vp.vtrans[0] = width * 2;
|
||||
D_800DD148[D_80120CE4 + 5].vp.vtrans[1] = height * 2;
|
||||
gSPViewport((*dlist)++, (u8 *)&D_800DD148[D_80120CE4 + 5] + 0x80000000);
|
||||
fast3d_cmd((*dlist)++, 0x1000040, (u32)(*arg1 + 0x80000000));
|
||||
*arg1 += 0x40;
|
||||
gSPViewport((*dlist)++, OS_K0_TO_PHYSICAL(&D_800DD148[D_80120CE4 + 5]));
|
||||
gSPMatrix((*dlist)++, OS_PHYSICAL_TO_K0((*mats)++), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
|
||||
D_80120D1C = 0;
|
||||
D_80120D08 = 0;
|
||||
|
||||
@@ -759,14 +798,13 @@ void func_80067F2C(Gfx **dlist, s32 *arg1) {
|
||||
}
|
||||
}
|
||||
|
||||
void func_8006807C(Gfx **dlist, s32 *arg1) {
|
||||
void func_8006807C(Gfx **dlist, Mtx **mats) {
|
||||
func_8006FE74(&D_80121060, &D_800DD288);
|
||||
func_8006F768(&D_80121060, &D_80120EE0, &D_80120F20);
|
||||
func_8006FE74(D_80120D70[0], &D_800DD2A0);
|
||||
func_8006F768(D_80120D70[0], &D_80120F20, &D_80121060);
|
||||
func_8006F870(&D_80121060, (Matrix *)*arg1);
|
||||
fast3d_cmd((*dlist)++, 0x1000040, (u32)(*arg1 + 0x80000000));
|
||||
*arg1 += 0x40;
|
||||
func_8006F870(&D_80121060, (Matrix *)*mats);
|
||||
gSPMatrix((*dlist)++, OS_PHYSICAL_TO_K0((*mats)++), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
|
||||
D_80120D1C = 0;
|
||||
D_80120D08 = 0;
|
||||
}
|
||||
@@ -782,9 +820,9 @@ void func_80068158(Gfx **dlist, s32 width, s32 height, s32 posX, s32 posY) {
|
||||
D_800DD148[D_80120CE4].vp.vtrans[1] = posY * 4;
|
||||
D_800DD148[D_80120CE4].vp.vscale[0] = tempWidth * 4;
|
||||
D_800DD148[D_80120CE4].vp.vscale[1] = height * 4;
|
||||
gSPViewport((*dlist)++, (u8 *)&D_800DD148[D_80120CE4] + 0x80000000);
|
||||
gSPViewport((*dlist)++, OS_PHYSICAL_TO_K0(&D_800DD148[D_80120CE4]));
|
||||
} else {
|
||||
gSPViewport((*dlist)++, (u8 *)&D_800DD148[D_80120CE4 + 10 + (D_800DD134 * 5)] + 0x80000000);
|
||||
gSPViewport((*dlist)++, OS_PHYSICAL_TO_K0(&D_800DD148[D_80120CE4 + 10 + (D_800DD134 * 5)]));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -804,15 +842,12 @@ void func_800682AC(Gfx **dlist) {
|
||||
D_80120CE4 = 0;
|
||||
}
|
||||
|
||||
void func_80068408(Gfx **dlist, s32 *arg1) {
|
||||
void func_80068408(Gfx **dlist, Mtx **mats) {
|
||||
func_800705F8(D_80120D70[D_80120D1C], 0.0f, 0.0f, 0.0f);
|
||||
func_8006F768(D_80120D70[D_80120D1C], &D_80120F20, &D_80121060);
|
||||
func_8006F870(&D_80121060, (Matrix *)*arg1);
|
||||
D_80120D88[D_80120D1C] = *arg1;
|
||||
|
||||
fast3d_cmd((*dlist)++, ((((D_80120D08 << 6) & 0xFF) << 0x10) | 0x1000000) | 0x40, (u32)(*arg1 + 0x80000000));
|
||||
|
||||
*arg1 += 0x40;
|
||||
func_8006F870(&D_80121060, (Matrix *)*mats);
|
||||
D_80120D88[D_80120D1C] = *mats;
|
||||
gSPMatrix((*dlist)++, OS_PHYSICAL_TO_K0((*mats)++), D_80120D08 << 6);
|
||||
}
|
||||
|
||||
void func_80068508(s32 arg0) {
|
||||
|
||||
+8
-8
@@ -7,7 +7,7 @@
|
||||
#include "f3ddkr.h"
|
||||
#include "menu.h"
|
||||
#include "libultra_internal.h"
|
||||
#include "math.h"
|
||||
#include "libc/math.h"
|
||||
|
||||
#define SCREEN_WIDTH 320
|
||||
#define SCREEN_HEIGHT 240
|
||||
@@ -112,9 +112,8 @@ UNUSED void calculate_camera_perspective(void);
|
||||
Matrix *func_80066204(void);
|
||||
s32 get_viewport_count(void);
|
||||
s32 func_80066220(void);
|
||||
void func_80066CDC(Gfx **dlist, Gfx **arg1);
|
||||
void func_80066230(Gfx **dlist, Gfx **arg1);
|
||||
f32 func_80066348(f32 arg0, f32 arg1, f32 arg2);
|
||||
void func_80066230(Gfx **dlist, Mtx **arg1);
|
||||
f32 func_80066348(f32 xPos, f32 yPos, f32 zPos);
|
||||
void func_800663DC(s32 xPos, s32 yPos, s32 zPos, s32 arg3, s32 arg4, s32 arg5);
|
||||
void func_80066488(s32 arg0, f32 xPos, f32 yPos, f32 zPos, s16 arg4, s16 arg5, s16 arg6);
|
||||
void func_80066520(void);
|
||||
@@ -130,11 +129,11 @@ s32 copy_viewport_background_size_to_coords(s32 viewPortIndex, s32 *x1, s32 *y1,
|
||||
void copy_viewport_frame_size_to_coords(s32 viewPortIndex, s32 *arg1, s32 *arg2, s32 *arg3, s32 *arg4);
|
||||
void copy_framebuffer_size_to_coords(s32 *x1, s32 *y1, s32 *x2, s32 *y2);
|
||||
void set_ortho_matrix_height(f32 value);
|
||||
void func_80067F2C(Gfx **dlist, s32 *arg1);
|
||||
void func_8006807C(Gfx **dlist, s32 *arg1);
|
||||
void func_80067F2C(Gfx **dlist, Mtx **mats);
|
||||
void func_8006807C(Gfx **dlist, Mtx **mats);
|
||||
void func_80068158(Gfx **dlist, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
|
||||
void func_800682AC(Gfx **dlist);
|
||||
void func_80068408(Gfx **dlist, s32 *arg1);
|
||||
void func_80068408(Gfx **dlist, Mtx **mats);
|
||||
void func_80068508(s32 arg0);
|
||||
ObjectSegment *func_80069CFC(void);
|
||||
ObjectSegment *func_80069D20(void);
|
||||
@@ -159,12 +158,13 @@ s8 clamp_joystick_y_axis(s32 player);
|
||||
s8 clamp_joystick(s8 stickMag);
|
||||
void disable_button_mask(void);
|
||||
s32 init_controllers(void);
|
||||
void func_80067D3C(Gfx **dlist, UNUSED Mtx **mats);
|
||||
|
||||
// Non Matching
|
||||
void func_80067A3C(Gfx **dlist);
|
||||
void func_80066610(void);
|
||||
void func_80066CDC(Gfx **dlist, Gfx **arg1);
|
||||
void func_80065EA0(void);
|
||||
s32 func_8006A1C4(s32 arg0, s32 logicUpdateRate);
|
||||
void func_80066CDC(Gfx **dlist, Mtx **mats);
|
||||
|
||||
#endif
|
||||
|
||||
+29
-29
@@ -338,40 +338,40 @@ s32 handle_transitions(s32 updateRate) {
|
||||
* The rendering portion of transitions.
|
||||
* First establishes an orthogonal matrix, then renders a transition effect onscreen.
|
||||
*/
|
||||
void render_fade_transition(s32 dlist, s32 arg1, s32 arg2) {
|
||||
void render_fade_transition(Gfx **dlist, Mtx **mats, VertexList **verts) {
|
||||
if (sTransitionStatus != TRANSITION_NONE) {
|
||||
if (osTvType == TV_TYPE_PAL) {
|
||||
set_ortho_matrix_height(1.4f);
|
||||
} else {
|
||||
set_ortho_matrix_height(1.2f);
|
||||
}
|
||||
func_80067F2C(dlist, arg1);
|
||||
func_80067F2C(dlist, mats);
|
||||
set_ortho_matrix_height(1.0f);
|
||||
switch (gCurFaceTransition) {
|
||||
case FADE_FULLSCREEN:
|
||||
render_fade_fullscreen(dlist, arg1, arg2);
|
||||
render_fade_fullscreen(dlist, mats, verts);
|
||||
break;
|
||||
case FADE_BARNDOOR_HORIZONTAL:
|
||||
render_fade_barndoor_horizontal(dlist, arg1, arg2);
|
||||
render_fade_barndoor_horizontal(dlist, mats, verts);
|
||||
break;
|
||||
case FADE_BARNDOOR_VERTICAL:
|
||||
render_fade_barndoor_vertical(dlist, arg1, arg2);
|
||||
render_fade_barndoor_vertical(dlist, mats, verts);
|
||||
break;
|
||||
case FADE_CIRCLE:
|
||||
render_fade_circle(dlist, arg1, arg2);
|
||||
render_fade_circle(dlist, mats, verts);
|
||||
break;
|
||||
case FADE_WAVES:
|
||||
render_fade_waves(dlist, arg1, arg2);
|
||||
render_fade_waves(dlist, mats, verts);
|
||||
break;
|
||||
case FADE_BARNDOOR_DIAGONAL:
|
||||
render_fade_barndoor_diagonal(dlist, arg1, arg2);
|
||||
render_fade_barndoor_diagonal(dlist, mats, verts);
|
||||
break;
|
||||
case FADE_DISABLED:
|
||||
render_fade_disabled(dlist, arg1, arg2);
|
||||
render_fade_disabled(dlist, mats, verts);
|
||||
break;
|
||||
}
|
||||
|
||||
func_80066CDC(dlist, arg1);
|
||||
func_80066CDC(dlist, mats);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -404,7 +404,7 @@ void func_800C0780(FadeTransition *transition) {
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/fade_transition/func_800C0834.s")
|
||||
|
||||
void render_fade_fullscreen(Gfx **dlist, UNUSED s32 arg1, UNUSED s32 arg2) {
|
||||
void render_fade_fullscreen(Gfx **dlist, UNUSED Mtx **mats, UNUSED VertexList **verts) {
|
||||
s32 screenSize = get_video_width_and_height_as_s32();
|
||||
gSPDisplayList((*dlist)++, dTransitionFadeSettings);
|
||||
gDPSetPrimColor((*dlist)++, 0, 0, gCurFadeRed, gCurFadeGreen, gCurFadeBlue, gCurFadeAlpha);
|
||||
@@ -416,22 +416,22 @@ void render_fade_fullscreen(Gfx **dlist, UNUSED s32 arg1, UNUSED s32 arg2) {
|
||||
GLOBAL_ASM("asm/non_matchings/fade_transition/func_800C0B00.s")
|
||||
GLOBAL_ASM("asm/non_matchings/fade_transition/func_800C1130.s")
|
||||
|
||||
void render_fade_barndoor_horizontal(Gfx **dlist, UNUSED s32 arg1, UNUSED s32 arg2) {
|
||||
void render_fade_barndoor_horizontal(Gfx **dlist, UNUSED Mtx **mats, UNUSED VertexList **verts) {
|
||||
func_8007B3D0(dlist);
|
||||
gSPDisplayList((*dlist)++, dTransitionShapeSettings);
|
||||
// TODO: Need to clean this up.
|
||||
gDkrVertices((*dlist)++, (s32)sTransitionVtx[sTransitionTaskNum[0]] + 0x80000000, (((s32)sTransitionVtx[sTransitionTaskNum[0]] + 0x80000000) & 6) | 0x58, 0x70);
|
||||
gDkrTriangles((*dlist)++, (s32)sTransitionTris[sTransitionTaskNum[0]] + 0x80000000, 8, TRIN_DISABLE_TEXTURE);
|
||||
gDkrVertices((*dlist)++, OS_PHYSICAL_TO_K0(sTransitionVtx[sTransitionTaskNum[0]]), (((s32)OS_PHYSICAL_TO_K0(sTransitionVtx[sTransitionTaskNum[0]])) & 6) | 0x58, 0x70);
|
||||
gDkrTriangles((*dlist)++, OS_PHYSICAL_TO_K0(sTransitionTris[sTransitionTaskNum[0]]), 8, TRIN_DISABLE_TEXTURE);
|
||||
func_8007B3D0(dlist);
|
||||
}
|
||||
|
||||
// This is exactly the same as render_fade_barndoor_horizontal; I wonder what gets changed then?
|
||||
void render_fade_barndoor_vertical(Gfx **dlist, UNUSED s32 arg1, UNUSED s32 arg2) {
|
||||
void render_fade_barndoor_vertical(Gfx **dlist, UNUSED Mtx **mats, UNUSED VertexList **verts) {
|
||||
func_8007B3D0(dlist);
|
||||
gSPDisplayList((*dlist)++, dTransitionShapeSettings);
|
||||
// TODO: Need to clean this up.
|
||||
gDkrVertices((*dlist)++, (s32)sTransitionVtx[sTransitionTaskNum[0]] + 0x80000000, (((s32)sTransitionVtx[sTransitionTaskNum[0]] + 0x80000000) & 6) | 0x58, 0x70);
|
||||
gDkrTriangles((*dlist)++, (s32)sTransitionTris[sTransitionTaskNum[0]] + 0x80000000, 8, TRIN_DISABLE_TEXTURE);
|
||||
gDkrVertices((*dlist)++, OS_PHYSICAL_TO_K0(sTransitionVtx[sTransitionTaskNum[0]]), (((s32)OS_PHYSICAL_TO_K0(sTransitionVtx[sTransitionTaskNum[0]])) & 6) | 0x58, 0x70);
|
||||
gDkrTriangles((*dlist)++, OS_PHYSICAL_TO_K0(sTransitionTris[sTransitionTaskNum[0]]), 8, TRIN_DISABLE_TEXTURE);
|
||||
func_8007B3D0(dlist);
|
||||
}
|
||||
|
||||
@@ -439,12 +439,12 @@ GLOBAL_ASM("asm/non_matchings/fade_transition/func_800C15D4.s")
|
||||
GLOBAL_ASM("asm/non_matchings/fade_transition/func_800C1EE8.s")
|
||||
|
||||
#ifdef NON_EQUIVALENT
|
||||
void render_fade_circle(Gfx **dlist, s32 arg1, s32 arg2) {
|
||||
void render_fade_circle(Gfx **dlist, Mtx **mats, VertexList **verts) {
|
||||
u8 *addr, *addr2;
|
||||
func_8007B3D0(dlist);
|
||||
gSPDisplayList((*dlist)++, dTransitionShapeSettings);
|
||||
addr = (sTransitionVtx[sTransitionTaskNum[0]] + 0x80000000);
|
||||
addr2 = (sTransitionTris[sTransitionTaskNum[0]] + 0x80000000);
|
||||
addr = OS_PHYSICAL_TO_K0(sTransitionVtx[sTransitionTaskNum[0]]);
|
||||
addr2 = OS_PHYSICAL_TO_K0(sTransitionTris[sTransitionTaskNum[0]]);
|
||||
gDkrVertices((*dlist)++, (s32)addr, ((s32)addr & 6) | 0x88, 0xA6);
|
||||
gDkrTriangles((*dlist)++, (s32)addr2, 16, TRIN_DISABLE_TEXTURE);
|
||||
addr += 0xB4;
|
||||
@@ -467,18 +467,18 @@ GLOBAL_ASM("asm/non_matchings/fade_transition/render_fade_circle.s")
|
||||
|
||||
#ifdef NON_EQUIVALENT
|
||||
// This doesn't work properly.
|
||||
void render_fade_waves(Gfx **dlist, s32 arg1, s32 arg2) {
|
||||
void render_fade_waves(Gfx **dlist, Mtx **mats, VertexList **verts) {
|
||||
s32 i;
|
||||
func_8007B3D0(dlist);
|
||||
gSPDisplayList((*dlist)++, dTransitionShapeSettings);
|
||||
for(i = 0; i < 6; i++) {
|
||||
s32 index = sTransitionTaskNum[0] + i;
|
||||
if(i != 1 && i != 4) {
|
||||
gDkrVertices((*dlist)++, (s32)sTransitionVtx[index] + 0x80000000, (((s32)sTransitionVtx[index] + 0x80000000) & 6) | 0x78, 0x94);
|
||||
gDkrTriangles((*dlist)++, (s32)sTransitionTris[index] + 0x80000000, 14, TRIN_DISABLE_TEXTURE);
|
||||
gDkrVertices((*dlist)++, OS_PHYSICAL_TO_K0(sTransitionVtx[index]), (((s32)OS_PHYSICAL_TO_K0(sTransitionVtx[index])) & 6) | 0x78, 0x94);
|
||||
gDkrTriangles((*dlist)++, OS_PHYSICAL_TO_K0(sTransitionTris[index]), 14, TRIN_DISABLE_TEXTURE);
|
||||
} else {
|
||||
gDkrVertices((*dlist)++, (s32)sTransitionVtx[index] + 0x80000000, (((s32)sTransitionVtx[index] + 0x80000000) & 6) | 0x68, 0x82);
|
||||
gDkrTriangles((*dlist)++, (s32)sTransitionTris[index] + 0x80000000, 12, TRIN_DISABLE_TEXTURE);
|
||||
gDkrVertices((*dlist)++, OS_PHYSICAL_TO_K0(sTransitionVtx[index]), (((s32)OS_PHYSICAL_TO_K0(sTransitionVtx[index])) & 6) | 0x68, 0x82);
|
||||
gDkrTriangles((*dlist)++, OS_PHYSICAL_TO_K0(sTransitionTris[index]), 12, TRIN_DISABLE_TEXTURE);
|
||||
}
|
||||
}
|
||||
func_8007B3D0(dlist);
|
||||
@@ -487,12 +487,12 @@ void render_fade_waves(Gfx **dlist, s32 arg1, s32 arg2) {
|
||||
GLOBAL_ASM("asm/non_matchings/fade_transition/render_fade_waves.s")
|
||||
#endif
|
||||
|
||||
void render_fade_barndoor_diagonal(Gfx **dlist, s32 arg1, s32 arg2) {
|
||||
void render_fade_barndoor_diagonal(Gfx **dlist, UNUSED Mtx **mats, UNUSED VertexList **verts) {
|
||||
func_8007B3D0(dlist);
|
||||
gSPDisplayList((*dlist)++, dTransitionShapeSettings);
|
||||
// TODO: Need to clean this up.
|
||||
gDkrVertices((*dlist)++, (s32)sTransitionVtx[sTransitionTaskNum[0]] + 0x80000000, (((s32)sTransitionVtx[sTransitionTaskNum[0]] + 0x80000000) & 6) | 0x48, 0x5E);
|
||||
gDkrTriangles((*dlist)++, (s32)sTransitionTris[sTransitionTaskNum[0]] + 0x80000000, 6, TRIN_DISABLE_TEXTURE);
|
||||
gDkrVertices((*dlist)++, OS_PHYSICAL_TO_K0(sTransitionVtx[sTransitionTaskNum[0]]), (((s32)OS_PHYSICAL_TO_K0(sTransitionVtx[sTransitionTaskNum[0]])) & 6) | 0x48, 0x5E);
|
||||
gDkrTriangles((*dlist)++, OS_PHYSICAL_TO_K0(sTransitionTris[sTransitionTaskNum[0]]), 6, TRIN_DISABLE_TEXTURE);
|
||||
func_8007B3D0(dlist);
|
||||
}
|
||||
|
||||
@@ -528,7 +528,7 @@ void func_800C27A0(s32 updateRate) {
|
||||
GLOBAL_ASM("asm/non_matchings/fade_transition/func_800C27A0.s")
|
||||
#endif
|
||||
|
||||
void render_fade_disabled(Gfx **dlist, s32 arg1, s32 arg2) {
|
||||
void render_fade_disabled(Gfx **dlist, UNUSED Mtx **mats, UNUSED VertexList **verts) {
|
||||
s32 screenSize = get_video_width_and_height_as_s32();
|
||||
gSPDisplayList((*dlist)++, dTransitionFadeSettings);
|
||||
gDPSetPrimColor((*dlist)++, 0, 0, (gLastFadeRed >> 16), (gLastFadeGreen >> 16), (gLastFadeBlue >> 16), 255);
|
||||
|
||||
@@ -41,16 +41,16 @@ void func_800C0180(void);
|
||||
u32 func_800C018C(void);
|
||||
void transition_end(void);
|
||||
s32 handle_transitions(s32 updateRate);
|
||||
void render_fade_transition(s32 dlist, s32 arg1, s32 arg2);
|
||||
void render_fade_fullscreen(Gfx **dlist, s32 arg1, s32 arg2);
|
||||
void render_fade_barndoor_horizontal(Gfx **dlist, s32 arg1, s32 arg2);
|
||||
void render_fade_barndoor_vertical(Gfx **dlist, s32 arg1, s32 arg2);
|
||||
void render_fade_barndoor_diagonal(Gfx **dlist, s32 arg1, s32 arg2);
|
||||
void render_fade_disabled(Gfx **dlist, s32 arg1, s32 arg2);
|
||||
void render_fade_transition(Gfx **dlist, Mtx **mats, VertexList **verts);
|
||||
void render_fade_fullscreen(Gfx **dlist, Mtx **mats, VertexList **verts);
|
||||
void render_fade_barndoor_horizontal(Gfx **dlist, Mtx **mats, VertexList **verts);
|
||||
void render_fade_barndoor_vertical(Gfx **dlist, Mtx **mats, VertexList **verts);
|
||||
void render_fade_barndoor_diagonal(Gfx **dlist, Mtx **mats, VertexList **verts);
|
||||
void render_fade_disabled(Gfx **dlist, Mtx **mats, VertexList **verts);
|
||||
void func_800C0780(FadeTransition *transition);
|
||||
|
||||
void render_fade_circle(Gfx **dlist, s32 arg1, s32 arg2); //Non Matching
|
||||
void render_fade_waves(Gfx **dlist, s32 arg1, s32 arg2); //Non Matching
|
||||
void render_fade_circle(Gfx **dlist, Mtx **mats, VertexList **verts); //Non Matching
|
||||
void render_fade_waves(Gfx **dlist, Mtx **mats, VertexList **verts); //Non Matching
|
||||
void func_800C0834(s32); //Non Matching
|
||||
void func_800C1130(s32); //Non Matching
|
||||
void func_800C1EE8(s32); //Non Matching
|
||||
|
||||
+3
-3
@@ -552,7 +552,7 @@ void func_800C56D0(s32 dialogueBoxID) {
|
||||
* Contains a timer that counts down two frames before closing a dialogue box
|
||||
* when the player exits out of one.
|
||||
*/
|
||||
void render_dialogue_boxes(Gfx **dlist, Gfx **mat, VertexList **verts) {
|
||||
void render_dialogue_boxes(Gfx **dlist, Mtx **mat, VertexList **verts) {
|
||||
s32 i;
|
||||
|
||||
if (sDialogueBoxIsOpen) {
|
||||
@@ -637,7 +637,7 @@ void render_fill_rectangle(Gfx **dlist, s32 ulx, s32 uly, s32 lrx, s32 lry) {
|
||||
/**
|
||||
* Render the selected dialogue box. Background first, then text.
|
||||
*/
|
||||
void render_dialogue_box(Gfx **dlist, Gfx **mat, VertexList **verts, s32 dialogueBoxID) {
|
||||
void render_dialogue_box(Gfx **dlist, Mtx **mat, VertexList **verts, s32 dialogueBoxID) {
|
||||
DialogueBoxBackground *dialogueBox;
|
||||
DialogueBox *dialogueTextBox;
|
||||
s32 i;
|
||||
@@ -650,7 +650,7 @@ void render_dialogue_box(Gfx **dlist, Gfx **mat, VertexList **verts, s32 dialogu
|
||||
// Render dialogue box background.
|
||||
if (dialogueBox->backgroundColourA != 0) {
|
||||
gSPDisplayList((*dlist)++, dDialogueBoxBegin);
|
||||
gDkrDmaDisplayList((*dlist)++, ((u8 *)&dDialogueBoxDrawModes[1]) + 0x80000000, 2);
|
||||
gDkrDmaDisplayList((*dlist)++, OS_K0_TO_PHYSICAL(&dDialogueBoxDrawModes[1]), 2);
|
||||
gDPSetEnvColor((*dlist)++, 0, 0, 0, 0);
|
||||
if ((dialogueBox->x2 - dialogueBox->x1) < 10 || (dialogueBox->y2 - dialogueBox->y1) < 10) {
|
||||
render_fill_rectangle(dlist, dialogueBox->x1 - 2, dialogueBox->y1 - 2, dialogueBox->x2 + 2, dialogueBox->y2 + 2);
|
||||
|
||||
+2
-2
@@ -205,9 +205,9 @@ UNUSED void func_800C564C(s32 dialogueBoxID);
|
||||
UNUSED void func_800C5678(s32 dialogueBoxID);
|
||||
UNUSED void func_800C56A4(s32 dialogueBoxID);
|
||||
void func_800C56D0(s32 dialogueBoxID);
|
||||
void render_dialogue_boxes(Gfx **dlist, Gfx **mat, VertexList **verts);
|
||||
void render_dialogue_boxes(Gfx **dlist, Mtx **mat, VertexList **verts);
|
||||
void render_fill_rectangle(Gfx **dlist, s32 ulx, s32 uly, s32 lrx, s32 lry);
|
||||
void render_dialogue_box(Gfx **dlist, Gfx **mat, VertexList **verts, s32 dialogueBoxID);
|
||||
void render_dialogue_box(Gfx **dlist, Mtx **mat, VertexList **verts, s32 dialogueBoxID);
|
||||
void parse_string_with_number(unsigned char *input, char *output, s32 number);
|
||||
|
||||
void s32_to_string(char** outString, s32 number); //Non Matching
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
#include "types.h"
|
||||
#include "structs.h"
|
||||
#include "fade_transition.h"
|
||||
#include "math.h"
|
||||
#include "libc/math.h"
|
||||
|
||||
enum RenderContext {
|
||||
DRAW_INTRO = -1,
|
||||
|
||||
+8
-8
@@ -43,7 +43,7 @@ s32 D_80126398;
|
||||
s32 D_8012639C;
|
||||
Gfx *sMenuCurrDisplayList;
|
||||
char **D_801263A4;
|
||||
Gfx *sMenuCurrHudMat;
|
||||
Mtx *sMenuCurrHudMat;
|
||||
VertexList *sMenuCurrHudVerts;
|
||||
TriangleList *sMenuCurrHudTris;
|
||||
unk801263C0 D_801263B4;
|
||||
@@ -1808,7 +1808,7 @@ void menu_init(u32 menuId) {
|
||||
/**
|
||||
* Runs every frame. Calls the loop function of the current menu id
|
||||
*/
|
||||
s32 menu_loop(Gfx **currDisplayList, Gfx **currHudMat, VertexList **currHudVerts, TriangleList **currHudTris, s32 updateRate) {
|
||||
s32 menu_loop(Gfx **currDisplayList, Mtx **currHudMat, VertexList **currHudVerts, TriangleList **currHudTris, s32 updateRate) {
|
||||
s32 ret;
|
||||
|
||||
sMenuCurrDisplayList = *currDisplayList;
|
||||
@@ -1993,7 +1993,7 @@ void draw_menu_elements(s32 arg0, MenuElement *elem, f32 arg2) {
|
||||
|
||||
s5 = FALSE;
|
||||
if (arg0 != 4) {
|
||||
func_80067F2C(&sMenuCurrDisplayList, (s32 *)&sMenuCurrHudMat);
|
||||
func_80067F2C(&sMenuCurrDisplayList, &sMenuCurrHudMat);
|
||||
while (elem->unk14_a.element != NULL) {
|
||||
if (&D_80126850 != elem->unk14_a.element) {
|
||||
if (arg0 == 0) {
|
||||
@@ -4055,7 +4055,7 @@ void func_8008C698(s32 arg0) {
|
||||
if (fade >= 0x100) {
|
||||
fade = 0x1FF - fade;
|
||||
}
|
||||
func_80067F2C(&sMenuCurrDisplayList, (s32 *)&sMenuCurrHudMat);
|
||||
func_80067F2C(&sMenuCurrDisplayList, &sMenuCurrHudMat);
|
||||
|
||||
for (i = 0; i <= D_801263E0; i++) {
|
||||
filterAlpha = 0;
|
||||
@@ -4257,7 +4257,7 @@ void render_file_select_menu(UNUSED s32 updateRate) {
|
||||
}
|
||||
|
||||
func_8009BD5C();
|
||||
func_80067F2C(&sMenuCurrDisplayList, (s32 *)&sMenuCurrHudMat);
|
||||
func_80067F2C(&sMenuCurrDisplayList, &sMenuCurrHudMat);
|
||||
for (i = 0; i < 3; i++) { // 3 files
|
||||
if (gSavefileInfo[i].isAdventure2 == gIsInAdventureTwo || gSavefileInfo[i].isStarted == 0) {
|
||||
color = 0xB0E0C0FF;
|
||||
@@ -4630,7 +4630,7 @@ void render_track_select_setup_ui(s32 updateRate) {
|
||||
}
|
||||
func_80066894(0, 1);
|
||||
func_8009BD5C();
|
||||
func_80067F2C(&sMenuCurrDisplayList, (s32 *)&sMenuCurrHudMat);
|
||||
func_80067F2C(&sMenuCurrDisplayList, &sMenuCurrHudMat);
|
||||
if (gMenuDelay < 0) {
|
||||
if (D_801269F4 == 4) {
|
||||
sp84 = 6;
|
||||
@@ -6944,11 +6944,11 @@ void dialogue_close_stub(void) {
|
||||
* Renders a textbox with a displaylist.
|
||||
* Return value goes completely unused.
|
||||
*/
|
||||
f32 func_8009E9B0(UNUSED DialogueBoxBackground *textbox, Gfx **dlist, Gfx **mat, VertexList **verts) {
|
||||
f32 func_8009E9B0(UNUSED DialogueBoxBackground *textbox, Gfx **dlist, Mtx **mat, VertexList **verts) {
|
||||
sMenuCurrDisplayList = *dlist;
|
||||
sMenuCurrHudMat = *mat;
|
||||
sMenuCurrHudVerts = *verts;
|
||||
func_80067F2C(&sMenuCurrDisplayList, (s32 *)&sMenuCurrHudMat);
|
||||
func_80067F2C(&sMenuCurrDisplayList, &sMenuCurrHudMat);
|
||||
if (D_800E1E28 != 0 && sCurrentMenuID == 4) {
|
||||
func_8009E3D0();
|
||||
}
|
||||
|
||||
+2
-2
@@ -644,7 +644,7 @@ void func_8007FF88(void);
|
||||
void func_80080E6C(void);
|
||||
void func_800813C0(void);
|
||||
void menu_init(u32 menuId);
|
||||
s32 menu_loop(Gfx **currDisplayList, Gfx **currHudMat, VertexList **currHudVerts, TriangleList **currHudTris, s32 updateRate);
|
||||
s32 menu_loop(Gfx **currDisplayList, Mtx **currHudMat, VertexList **currHudVerts, TriangleList **currHudTris, s32 updateRate);
|
||||
void show_timestamp(s32 frameCount, s32 xPos, s32 yPos, u8 red, u8 green, u8 blue, u8 fontID);
|
||||
void func_80081E54(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4, s32 arg5);
|
||||
void func_800828B8(void);
|
||||
@@ -757,7 +757,7 @@ s32 dialogue_race_defeat(void);
|
||||
s32 trophy_race_cabinet_menu_loop(void);
|
||||
void dialogue_open_stub(void);
|
||||
void dialogue_close_stub(void);
|
||||
f32 func_8009E9B0(DialogueBoxBackground *arg0, Gfx **dlist, Gfx **mat, VertexList **vtx);
|
||||
f32 func_8009E9B0(DialogueBoxBackground *arg0, Gfx **dlist, Mtx **mat, VertexList **vtx);
|
||||
u64 *get_eeprom_settings_pointer(void);
|
||||
s32 set_eeprom_settings_value(u64 valueToSet);
|
||||
s32 unset_eeprom_settings_value(u64 valueToUnset);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user