Document render/update objects (#565)
* Document objects related code. * Including render/update objects code * Various renamings
This commit is contained in:
parent
1aa6824d33
commit
f99e242d97
|
|
@ -652,7 +652,7 @@ glabel func_80009B60
|
||||||
.L8000A488:
|
.L8000A488:
|
||||||
/* 00B088 8000A488 00E02825 */ move $a1, $a3
|
/* 00B088 8000A488 00E02825 */ move $a1, $a3
|
||||||
/* 00B08C 8000A48C AFA8003C */ sw $t0, 0x3c($sp)
|
/* 00B08C 8000A48C AFA8003C */ sw $t0, 0x3c($sp)
|
||||||
/* 00B090 8000A490 0C0AD489 */ jal get_angle_between_points
|
/* 00B090 8000A490 0C0AD489 */ jal get_angle_between_two_vectors
|
||||||
/* 00B094 8000A494 24C40014 */ addiu $a0, $a2, 0x14
|
/* 00B094 8000A494 24C40014 */ addiu $a0, $a2, 0x14
|
||||||
/* 00B098 8000A498 8FA60040 */ lw $a2, 0x40($sp)
|
/* 00B098 8000A498 8FA60040 */ lw $a2, 0x40($sp)
|
||||||
/* 00B09C 8000A49C 8FA8003C */ lw $t0, 0x3c($sp)
|
/* 00B09C 8000A49C 8FA8003C */ lw $t0, 0x3c($sp)
|
||||||
|
|
@ -718,7 +718,7 @@ glabel func_80009B60
|
||||||
/* 00B16C 8000A56C 1040008A */ beqz $v0, .L8000A798
|
/* 00B16C 8000A56C 1040008A */ beqz $v0, .L8000A798
|
||||||
/* 00B170 8000A570 8FAE0040 */ lw $t6, 0x40($sp)
|
/* 00B170 8000A570 8FAE0040 */ lw $t6, 0x40($sp)
|
||||||
/* 00B174 8000A574 25C40020 */ addiu $a0, $t6, 0x20
|
/* 00B174 8000A574 25C40020 */ addiu $a0, $t6, 0x20
|
||||||
/* 00B178 8000A578 0C0AD489 */ jal get_angle_between_points
|
/* 00B178 8000A578 0C0AD489 */ jal get_angle_between_two_vectors
|
||||||
/* 00B17C 8000A57C 25C50014 */ addiu $a1, $t6, 0x14
|
/* 00B17C 8000A57C 25C50014 */ addiu $a1, $t6, 0x14
|
||||||
/* 00B180 8000A580 8FAC0034 */ lw $t4, 0x34($sp)
|
/* 00B180 8000A580 8FAC0034 */ lw $t4, 0x34($sp)
|
||||||
/* 00B184 8000A584 3C188016 */ lui $t8, %hi(D_80163300) # $t8, 0x8016
|
/* 00B184 8000A584 3C188016 */ lui $t8, %hi(D_80163300) # $t8, 0x8016
|
||||||
|
|
@ -1172,7 +1172,7 @@ glabel func_80009B60
|
||||||
/* 00B7F8 8000ABF8 C4A80008 */ lwc1 $f8, 8($a1)
|
/* 00B7F8 8000ABF8 C4A80008 */ lwc1 $f8, 8($a1)
|
||||||
/* 00B7FC 8000ABFC AFA80020 */ sw $t0, 0x20($sp)
|
/* 00B7FC 8000ABFC AFA80020 */ sw $t0, 0x20($sp)
|
||||||
/* 00B800 8000AC00 8FA4001C */ lw $a0, 0x1c($sp)
|
/* 00B800 8000AC00 8FA4001C */ lw $a0, 0x1c($sp)
|
||||||
/* 00B804 8000AC04 0C0AD489 */ jal get_angle_between_points
|
/* 00B804 8000AC04 0C0AD489 */ jal get_angle_between_two_vectors
|
||||||
/* 00B808 8000AC08 E4680000 */ swc1 $f8, ($v1)
|
/* 00B808 8000AC08 E4680000 */ swc1 $f8, ($v1)
|
||||||
/* 00B80C 8000AC0C 3C013FC0 */ li $at, 0x3FC00000 # 1.500000
|
/* 00B80C 8000AC0C 3C013FC0 */ li $at, 0x3FC00000 # 1.500000
|
||||||
/* 00B810 8000AC10 44810000 */ mtc1 $at, $f0
|
/* 00B810 8000AC10 44810000 */ mtc1 $at, $f0
|
||||||
|
|
|
||||||
|
|
@ -324,10 +324,10 @@ glabel func_8006FA94
|
||||||
/* 070B5C 8006FF5C 3C198019 */ lui $t9, %hi(D_8018D214) # $t9, 0x8019
|
/* 070B5C 8006FF5C 3C198019 */ lui $t9, %hi(D_8018D214) # $t9, 0x8019
|
||||||
/* 070B60 8006FF60 AC38D214 */ sw $t8, %lo(D_8018D214)($at)
|
/* 070B60 8006FF60 AC38D214 */ sw $t8, %lo(D_8018D214)($at)
|
||||||
/* 070B64 8006FF64 8F39D214 */ lw $t9, %lo(D_8018D214)($t9)
|
/* 070B64 8006FF64 8F39D214 */ lw $t9, %lo(D_8018D214)($t9)
|
||||||
/* 070B68 8006FF68 3C018016 */ lui $at, %hi(D_801657B0) # $at, 0x8016
|
/* 070B68 8006FF68 3C018016 */ lui $at, %hi(gHUDDisable) # $at, 0x8016
|
||||||
/* 070B6C 8006FF6C 3C0E8016 */ lui $t6, %hi(D_801657B0) # $t6, 0x8016
|
/* 070B6C 8006FF6C 3C0E8016 */ lui $t6, %hi(gHUDDisable) # $t6, 0x8016
|
||||||
/* 070B70 8006FF70 A03957B0 */ sb $t9, %lo(D_801657B0)($at)
|
/* 070B70 8006FF70 A03957B0 */ sb $t9, %lo(gHUDDisable)($at)
|
||||||
/* 070B74 8006FF74 81CE57B0 */ lb $t6, %lo(D_801657B0)($t6)
|
/* 070B74 8006FF74 81CE57B0 */ lb $t6, %lo(gHUDDisable)($t6)
|
||||||
/* 070B78 8006FF78 3C018016 */ lui $at, %hi(D_801657AE) # $at, 0x8016
|
/* 070B78 8006FF78 3C018016 */ lui $at, %hi(D_801657AE) # $at, 0x8016
|
||||||
/* 070B7C 8006FF7C 3C0F8019 */ lui $t7, %hi(D_8018D2F8) # $t7, 0x8019
|
/* 070B7C 8006FF7C 3C0F8019 */ lui $t7, %hi(D_8018D2F8) # $t7, 0x8019
|
||||||
/* 070B80 8006FF80 A02E57AE */ sb $t6, %lo(D_801657AE)($at)
|
/* 070B80 8006FF80 A02E57AE */ sb $t6, %lo(D_801657AE)($at)
|
||||||
|
|
|
||||||
|
|
@ -1331,7 +1331,7 @@ glabel L800A073C
|
||||||
/* 0A1344 800A0744 10000060 */ b .L800A08C8
|
/* 0A1344 800A0744 10000060 */ b .L800A08C8
|
||||||
/* 0A1348 800A0748 8FBF0034 */ lw $ra, 0x34($sp)
|
/* 0A1348 800A0748 8FBF0034 */ lw $ra, 0x34($sp)
|
||||||
glabel L800A074C
|
glabel L800A074C
|
||||||
/* 0A134C 800A074C 0C0292CE */ jal func_800A4B38
|
/* 0A134C 800A074C 0C0292CE */ jal render_pause_menu
|
||||||
/* 0A1350 800A0750 02202025 */ move $a0, $s1
|
/* 0A1350 800A0750 02202025 */ move $a0, $s1
|
||||||
/* 0A1354 800A0754 1000005C */ b .L800A08C8
|
/* 0A1354 800A0754 1000005C */ b .L800A08C8
|
||||||
/* 0A1358 800A0758 8FBF0034 */ lw $ra, 0x34($sp)
|
/* 0A1358 800A0758 8FBF0034 */ lw $ra, 0x34($sp)
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@ glabel L800A2054
|
||||||
/* 0A2C78 800A2078 24130004 */ li $s3, 4
|
/* 0A2C78 800A2078 24130004 */ li $s3, 4
|
||||||
.L800A207C:
|
.L800A207C:
|
||||||
/* 0A2C7C 800A207C 02402825 */ move $a1, $s2
|
/* 0A2C7C 800A207C 02402825 */ move $a1, $s2
|
||||||
/* 0A2C80 800A2080 0C024889 */ jal func_80092224
|
/* 0A2C80 800A2080 0C024889 */ jal set_text_color_rainbow_if_selected
|
||||||
/* 0A2C84 800A2084 24060003 */ li $a2, 3
|
/* 0A2C84 800A2084 24060003 */ li $a2, 3
|
||||||
/* 0A2C88 800A2088 24040032 */ li $a0, 50
|
/* 0A2C88 800A2088 24040032 */ li $a0, 50
|
||||||
/* 0A2C8C 800A208C 02002825 */ move $a1, $s0
|
/* 0A2C8C 800A208C 02002825 */ move $a1, $s0
|
||||||
|
|
@ -173,7 +173,7 @@ glabel L800A2118
|
||||||
/* 0A2D80 800A2180 2484FFE2 */ addiu $a0, $a0, -0x1e
|
/* 0A2D80 800A2180 2484FFE2 */ addiu $a0, $a0, -0x1e
|
||||||
.L800A2184:
|
.L800A2184:
|
||||||
/* 0A2D84 800A2184 02402825 */ move $a1, $s2
|
/* 0A2D84 800A2184 02402825 */ move $a1, $s2
|
||||||
/* 0A2D88 800A2188 0C024889 */ jal func_80092224
|
/* 0A2D88 800A2188 0C024889 */ jal set_text_color_rainbow_if_selected
|
||||||
/* 0A2D8C 800A218C 24060001 */ li $a2, 1
|
/* 0A2D8C 800A218C 24060001 */ li $a2, 1
|
||||||
/* 0A2D90 800A2190 24040084 */ li $a0, 132
|
/* 0A2D90 800A2190 24040084 */ li $a0, 132
|
||||||
/* 0A2D94 800A2194 02002825 */ move $a1, $s0
|
/* 0A2D94 800A2194 02002825 */ move $a1, $s0
|
||||||
|
|
@ -408,7 +408,7 @@ glabel L800A23DC
|
||||||
/* 0A30E4 800A24E4 8339EDEC */ lb $t9, %lo(D_8018EDEC)($t9)
|
/* 0A30E4 800A24E4 8339EDEC */ lb $t9, %lo(D_8018EDEC)($t9)
|
||||||
/* 0A30E8 800A24E8 02002825 */ move $a1, $s0
|
/* 0A30E8 800A24E8 02002825 */ move $a1, $s0
|
||||||
/* 0A30EC 800A24EC 24060001 */ li $a2, 1
|
/* 0A30EC 800A24EC 24060001 */ li $a2, 1
|
||||||
/* 0A30F0 800A24F0 0C024870 */ jal func_800921C0
|
/* 0A30F0 800A24F0 0C024870 */ jal text_rainbow_effect
|
||||||
/* 0A30F4 800A24F4 03352023 */ subu $a0, $t9, $s5
|
/* 0A30F4 800A24F4 03352023 */ subu $a0, $t9, $s5
|
||||||
/* 0A30F8 800A24F8 3C088019 */ lui $t0, %hi(D_8018EDEC) # $t0, 0x8019
|
/* 0A30F8 800A24F8 3C088019 */ lui $t0, %hi(D_8018EDEC) # $t0, 0x8019
|
||||||
/* 0A30FC 800A24FC 8108EDEC */ lb $t0, %lo(D_8018EDEC)($t0)
|
/* 0A30FC 800A24FC 8108EDEC */ lb $t0, %lo(D_8018EDEC)($t0)
|
||||||
|
|
@ -735,7 +735,7 @@ glabel L800A26A8
|
||||||
/* 0A3584 800A2984 A7B100E0 */ sh $s1, 0xe0($sp)
|
/* 0A3584 800A2984 A7B100E0 */ sh $s1, 0xe0($sp)
|
||||||
/* 0A3588 800A2988 A7AF00E2 */ sh $t7, 0xe2($sp)
|
/* 0A3588 800A2988 A7AF00E2 */ sh $t7, 0xe2($sp)
|
||||||
.L800A298C:
|
.L800A298C:
|
||||||
/* 0A358C 800A298C 0C024870 */ jal func_800921C0
|
/* 0A358C 800A298C 0C024870 */ jal text_rainbow_effect
|
||||||
/* 0A3590 800A2990 24060003 */ li $a2, 3
|
/* 0A3590 800A2990 24060003 */ li $a2, 3
|
||||||
/* 0A3594 800A2994 02202025 */ move $a0, $s1
|
/* 0A3594 800A2994 02202025 */ move $a0, $s1
|
||||||
/* 0A3598 800A2998 240500D2 */ li $a1, 210
|
/* 0A3598 800A2998 240500D2 */ li $a1, 210
|
||||||
|
|
|
||||||
|
|
@ -85,8 +85,8 @@ glabel func_800A5738
|
||||||
/* 0A6374 800A5774 54200228 */ bnel $at, $zero, .L800A6018
|
/* 0A6374 800A5774 54200228 */ bnel $at, $zero, .L800A6018
|
||||||
/* 0A6378 800A5778 8FBF0044 */ lw $ra, 0x44($sp)
|
/* 0A6378 800A5778 8FBF0044 */ lw $ra, 0x44($sp)
|
||||||
/* 0A637C 800A577C 8DEFC54C */ lw $t7, %lo(gGlobalTimer)($t7)
|
/* 0A637C 800A577C 8DEFC54C */ lw $t7, %lo(gGlobalTimer)($t7)
|
||||||
/* 0A6380 800A5780 3C11800E */ lui $s1, %hi(D_800E775C) # $s1, 0x800e
|
/* 0A6380 800A5780 3C11800E */ lui $s1, %hi(gTextPauseButton) # $s1, 0x800e
|
||||||
/* 0A6384 800A5784 2631775C */ addiu $s1, %lo(D_800E775C) # addiu $s1, $s1, 0x775c
|
/* 0A6384 800A5784 2631775C */ addiu $s1, %lo(gTextPauseButton) # addiu $s1, $s1, 0x775c
|
||||||
/* 0A6388 800A5788 05E10003 */ bgez $t7, .L800A5798
|
/* 0A6388 800A5788 05E10003 */ bgez $t7, .L800A5798
|
||||||
/* 0A638C 800A578C 000FC103 */ sra $t8, $t7, 4
|
/* 0A638C 800A578C 000FC103 */ sra $t8, $t7, 4
|
||||||
/* 0A6390 800A5790 25E1000F */ addiu $at, $t7, 0xf
|
/* 0A6390 800A5790 25E1000F */ addiu $at, $t7, 0xf
|
||||||
|
|
@ -327,9 +327,9 @@ glabel L800A5940
|
||||||
/* 0A6724 800A5B24 0C024E7F */ jal text_draw
|
/* 0A6724 800A5B24 0C024E7F */ jal text_draw
|
||||||
/* 0A6728 800A5B28 E7B40014 */ swc1 $f20, 0x14($sp)
|
/* 0A6728 800A5B28 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||||
/* 0A672C 800A5B2C 3C013F40 */ li $at, 0x3F400000 # 0.750000
|
/* 0A672C 800A5B2C 3C013F40 */ li $at, 0x3F400000 # 0.750000
|
||||||
/* 0A6730 800A5B30 3C02800E */ lui $v0, %hi(D_800E775C) # $v0, 0x800e
|
/* 0A6730 800A5B30 3C02800E */ lui $v0, %hi(gTextPauseButton) # $v0, 0x800e
|
||||||
/* 0A6734 800A5B34 4481A000 */ mtc1 $at, $f20
|
/* 0A6734 800A5B34 4481A000 */ mtc1 $at, $f20
|
||||||
/* 0A6738 800A5B38 2442775C */ addiu $v0, %lo(D_800E775C) # addiu $v0, $v0, 0x775c
|
/* 0A6738 800A5B38 2442775C */ addiu $v0, %lo(gTextPauseButton) # addiu $v0, $v0, 0x775c
|
||||||
/* 0A673C 800A5B3C 00008825 */ move $s1, $zero
|
/* 0A673C 800A5B3C 00008825 */ move $s1, $zero
|
||||||
/* 0A6740 800A5B40 00008025 */ move $s0, $zero
|
/* 0A6740 800A5B40 00008025 */ move $s0, $zero
|
||||||
/* 0A6744 800A5B44 24120006 */ li $s2, 6
|
/* 0A6744 800A5B44 24120006 */ li $s2, 6
|
||||||
|
|
@ -338,7 +338,7 @@ glabel L800A5940
|
||||||
/* 0A674C 800A5B4C AFA20050 */ sw $v0, 0x50($sp)
|
/* 0A674C 800A5B4C AFA20050 */ sw $v0, 0x50($sp)
|
||||||
/* 0A6750 800A5B50 02202825 */ move $a1, $s1
|
/* 0A6750 800A5B50 02202825 */ move $a1, $s1
|
||||||
/* 0A6754 800A5B54 24060001 */ li $a2, 1
|
/* 0A6754 800A5B54 24060001 */ li $a2, 1
|
||||||
/* 0A6758 800A5B58 0C024870 */ jal func_800921C0
|
/* 0A6758 800A5B58 0C024870 */ jal text_rainbow_effect
|
||||||
/* 0A675C 800A5B5C 2484FFF5 */ addiu $a0, $a0, -0xb
|
/* 0A675C 800A5B5C 2484FFF5 */ addiu $a0, $a0, -0xb
|
||||||
/* 0A6760 800A5B60 3C0E800F */ lui $t6, %hi(D_800E8538 + 2) # $t6, 0x800f
|
/* 0A6760 800A5B60 3C0E800F */ lui $t6, %hi(D_800E8538 + 2) # $t6, 0x800f
|
||||||
/* 0A6764 800A5B64 8FA20050 */ lw $v0, 0x50($sp)
|
/* 0A6764 800A5B64 8FA20050 */ lw $v0, 0x50($sp)
|
||||||
|
|
@ -425,7 +425,7 @@ glabel L800A5C18
|
||||||
/* 0A6894 800A5C94 8E640004 */ lw $a0, 4($s3)
|
/* 0A6894 800A5C94 8E640004 */ lw $a0, 4($s3)
|
||||||
/* 0A6898 800A5C98 02202825 */ move $a1, $s1
|
/* 0A6898 800A5C98 02202825 */ move $a1, $s1
|
||||||
/* 0A689C 800A5C9C 24060001 */ li $a2, 1
|
/* 0A689C 800A5C9C 24060001 */ li $a2, 1
|
||||||
/* 0A68A0 800A5CA0 0C024870 */ jal func_800921C0
|
/* 0A68A0 800A5CA0 0C024870 */ jal text_rainbow_effect
|
||||||
/* 0A68A4 800A5CA4 2484FFE2 */ addiu $a0, $a0, -0x1e
|
/* 0A68A4 800A5CA4 2484FFE2 */ addiu $a0, $a0, -0x1e
|
||||||
/* 0A68A8 800A5CA8 26240001 */ addiu $a0, $s1, 1
|
/* 0A68A8 800A5CA8 26240001 */ addiu $a0, $s1, 1
|
||||||
/* 0A68AC 800A5CAC AFA40054 */ sw $a0, 0x54($sp)
|
/* 0A68AC 800A5CAC AFA40054 */ sw $a0, 0x54($sp)
|
||||||
|
|
@ -556,7 +556,7 @@ glabel L800A5E00
|
||||||
/* 0A6A7C 800A5E7C AFA20050 */ sw $v0, 0x50($sp)
|
/* 0A6A7C 800A5E7C AFA20050 */ sw $v0, 0x50($sp)
|
||||||
/* 0A6A80 800A5E80 02202825 */ move $a1, $s1
|
/* 0A6A80 800A5E80 02202825 */ move $a1, $s1
|
||||||
/* 0A6A84 800A5E84 24060001 */ li $a2, 1
|
/* 0A6A84 800A5E84 24060001 */ li $a2, 1
|
||||||
/* 0A6A88 800A5E88 0C024870 */ jal func_800921C0
|
/* 0A6A88 800A5E88 0C024870 */ jal text_rainbow_effect
|
||||||
/* 0A6A8C 800A5E8C 2484FFDD */ addiu $a0, $a0, -0x23
|
/* 0A6A8C 800A5E8C 2484FFDD */ addiu $a0, $a0, -0x23
|
||||||
/* 0A6A90 800A5E90 8FA20050 */ lw $v0, 0x50($sp)
|
/* 0A6A90 800A5E90 8FA20050 */ lw $v0, 0x50($sp)
|
||||||
/* 0A6A94 800A5E94 8E6F000C */ lw $t7, 0xc($s3)
|
/* 0A6A94 800A5E94 8E6F000C */ lw $t7, 0xc($s3)
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,7 @@ glabel func_8004C6FC
|
||||||
/* 04D410 8004C810 02003025 */ move $a2, $s0
|
/* 04D410 8004C810 02003025 */ move $a2, $s0
|
||||||
/* 04D414 8004C814 00008812 */ mflo $s1
|
/* 04D414 8004C814 00008812 */ mflo $s1
|
||||||
/* 04D418 8004C818 00116880 */ sll $t5, $s1, 2
|
/* 04D418 8004C818 00116880 */ sll $t5, $s1, 2
|
||||||
/* 04D41C 8004C81C 0C010F0A */ jal func_80043C28
|
/* 04D41C 8004C81C 0C010F0A */ jal load_texture_tile_rgba32_nomirror
|
||||||
/* 04D420 8004C820 01A08825 */ move $s1, $t5
|
/* 04D420 8004C820 01A08825 */ move $s1, $t5
|
||||||
/* 04D424 8004C824 240E0001 */ li $t6, 1
|
/* 04D424 8004C824 240E0001 */ li $t6, 1
|
||||||
/* 04D428 8004C828 AFAE0010 */ sw $t6, 0x10($sp)
|
/* 04D428 8004C828 AFAE0010 */ sw $t6, 0x10($sp)
|
||||||
|
|
@ -157,7 +157,7 @@ glabel func_8004F168
|
||||||
/* 04FFC4 8004F3C4 8FBF002C */ lw $ra, 0x2c($sp)
|
/* 04FFC4 8004F3C4 8FBF002C */ lw $ra, 0x2c($sp)
|
||||||
.L8004F3C8:
|
.L8004F3C8:
|
||||||
/* 04FFC8 8004F3C8 25CED0D8 */ addiu $t6, %lo(common_texture_minimap_progress_dot) # addiu $t6, $t6, -0x2f28
|
/* 04FFC8 8004F3C8 25CED0D8 */ addiu $t6, %lo(common_texture_minimap_progress_dot) # addiu $t6, $t6, -0x2f28
|
||||||
/* 04FFCC 8004F3CC 0C0130D9 */ jal func_8004C364
|
/* 04FFCC 8004F3CC 0C0130D9 */ jal draw_hud_2d_texture
|
||||||
/* 04FFD0 8004F3D0 AFAE0010 */ sw $t6, 0x10($sp)
|
/* 04FFD0 8004F3D0 AFAE0010 */ sw $t6, 0x10($sp)
|
||||||
.L8004F3D4:
|
.L8004F3D4:
|
||||||
/* 04FFD4 8004F3D4 8FBF002C */ lw $ra, 0x2c($sp)
|
/* 04FFD4 8004F3D4 8FBF002C */ lw $ra, 0x2c($sp)
|
||||||
|
|
@ -30,7 +30,7 @@ glabel func_8007C360
|
||||||
/* 07CFCC 8007C3CC 01403825 */ move $a3, $t2
|
/* 07CFCC 8007C3CC 01403825 */ move $a3, $t2
|
||||||
/* 07CFD0 8007C3D0 24050080 */ li $a1, 128
|
/* 07CFD0 8007C3D0 24050080 */ li $a1, 128
|
||||||
/* 07CFD4 8007C3D4 AFA60020 */ sw $a2, 0x20($sp)
|
/* 07CFD4 8007C3D4 AFA60020 */ sw $a2, 0x20($sp)
|
||||||
/* 07CFD8 8007C3D8 0C01C87A */ jal set_object_flag_unk_054_false
|
/* 07CFD8 8007C3D8 0C01C87A */ jal set_object_flag_status_false
|
||||||
/* 07CFDC 8007C3DC AFAA001C */ sw $t2, 0x1c($sp)
|
/* 07CFDC 8007C3DC AFAA001C */ sw $t2, 0x1c($sp)
|
||||||
/* 07CFE0 8007C3E0 8FA60020 */ lw $a2, 0x20($sp)
|
/* 07CFE0 8007C3E0 8FA60020 */ lw $a2, 0x20($sp)
|
||||||
/* 07CFE4 8007C3E4 8FA7001C */ lw $a3, 0x1c($sp)
|
/* 07CFE4 8007C3E4 8FA7001C */ lw $a3, 0x1c($sp)
|
||||||
|
|
@ -38,7 +38,7 @@ glabel func_8007C360
|
||||||
/* 07CFEC 8007C3EC A0C700D2 */ sb $a3, 0xd2($a2)
|
/* 07CFEC 8007C3EC A0C700D2 */ sb $a3, 0xd2($a2)
|
||||||
.L8007C3F0:
|
.L8007C3F0:
|
||||||
/* 07CFF0 8007C3F0 AFA60020 */ sw $a2, 0x20($sp)
|
/* 07CFF0 8007C3F0 AFA60020 */ sw $a2, 0x20($sp)
|
||||||
/* 07CFF4 8007C3F4 0C01C870 */ jal set_object_flag_unk_054_true
|
/* 07CFF4 8007C3F4 0C01C870 */ jal set_object_flag_status_true
|
||||||
/* 07CFF8 8007C3F8 AFA7001C */ sw $a3, 0x1c($sp)
|
/* 07CFF8 8007C3F8 AFA7001C */ sw $a3, 0x1c($sp)
|
||||||
/* 07CFFC 8007C3FC 8FA7001C */ lw $a3, 0x1c($sp)
|
/* 07CFFC 8007C3FC 8FA7001C */ lw $a3, 0x1c($sp)
|
||||||
/* 07D000 8007C400 8FA60020 */ lw $a2, 0x20($sp)
|
/* 07D000 8007C400 8FA60020 */ lw $a2, 0x20($sp)
|
||||||
|
|
@ -24,7 +24,7 @@ glabel func_8007C4A4
|
||||||
/* 07D0F8 8007C4F8 01003025 */ move $a2, $t0
|
/* 07D0F8 8007C4F8 01003025 */ move $a2, $t0
|
||||||
/* 07D0FC 8007C4FC 24050080 */ li $a1, 128
|
/* 07D0FC 8007C4FC 24050080 */ li $a1, 128
|
||||||
/* 07D100 8007C500 AFA30020 */ sw $v1, 0x20($sp)
|
/* 07D100 8007C500 AFA30020 */ sw $v1, 0x20($sp)
|
||||||
/* 07D104 8007C504 0C01C87A */ jal set_object_flag_unk_054_false
|
/* 07D104 8007C504 0C01C87A */ jal set_object_flag_status_false
|
||||||
/* 07D108 8007C508 AFA8001C */ sw $t0, 0x1c($sp)
|
/* 07D108 8007C508 AFA8001C */ sw $t0, 0x1c($sp)
|
||||||
/* 07D10C 8007C50C 8FA30020 */ lw $v1, 0x20($sp)
|
/* 07D10C 8007C50C 8FA30020 */ lw $v1, 0x20($sp)
|
||||||
/* 07D110 8007C510 8FA6001C */ lw $a2, 0x1c($sp)
|
/* 07D110 8007C510 8FA6001C */ lw $a2, 0x1c($sp)
|
||||||
|
|
@ -33,7 +33,7 @@ glabel func_8007C4A4
|
||||||
.L8007C51C:
|
.L8007C51C:
|
||||||
/* 07D11C 8007C51C 24050080 */ li $a1, 128
|
/* 07D11C 8007C51C 24050080 */ li $a1, 128
|
||||||
/* 07D120 8007C520 AFA30020 */ sw $v1, 0x20($sp)
|
/* 07D120 8007C520 AFA30020 */ sw $v1, 0x20($sp)
|
||||||
/* 07D124 8007C524 0C01C870 */ jal set_object_flag_unk_054_true
|
/* 07D124 8007C524 0C01C870 */ jal set_object_flag_status_true
|
||||||
/* 07D128 8007C528 AFA6001C */ sw $a2, 0x1c($sp)
|
/* 07D128 8007C528 AFA6001C */ sw $a2, 0x1c($sp)
|
||||||
/* 07D12C 8007C52C 8FA6001C */ lw $a2, 0x1c($sp)
|
/* 07D12C 8007C52C 8FA6001C */ lw $a2, 0x1c($sp)
|
||||||
/* 07D130 8007C530 8FA30020 */ lw $v1, 0x20($sp)
|
/* 07D130 8007C530 8FA30020 */ lw $v1, 0x20($sp)
|
||||||
|
|
@ -56,7 +56,7 @@ glabel func_80082F1C
|
||||||
/* 083BD8 80082FD8 44050000 */ mfc1 $a1, $f0
|
/* 083BD8 80082FD8 44050000 */ mfc1 $a1, $f0
|
||||||
/* 083BDC 80082FDC 44060000 */ mfc1 $a2, $f0
|
/* 083BDC 80082FDC 44060000 */ mfc1 $a2, $f0
|
||||||
/* 083BE0 80082FE0 44070000 */ mfc1 $a3, $f0
|
/* 083BE0 80082FE0 44070000 */ mfc1 $a3, $f0
|
||||||
/* 083BE4 80082FE4 0C022E03 */ jal func_8008B80C
|
/* 083BE4 80082FE4 0C022E03 */ jal set_obj_origin_offset
|
||||||
/* 083BE8 80082FE8 00000000 */ nop
|
/* 083BE8 80082FE8 00000000 */ nop
|
||||||
/* 083BEC 80082FEC 8FA20024 */ lw $v0, 0x24($sp)
|
/* 083BEC 80082FEC 8FA20024 */ lw $v0, 0x24($sp)
|
||||||
/* 083BF0 80082FF0 02002025 */ move $a0, $s0
|
/* 083BF0 80082FF0 02002025 */ move $a0, $s0
|
||||||
|
|
@ -70,7 +70,7 @@
|
||||||
#include "src/code_8003DC40.h"
|
#include "src/code_8003DC40.h"
|
||||||
#include "src/code_80057C60.h"
|
#include "src/code_80057C60.h"
|
||||||
#include "src/code_8006E9C0.h"
|
#include "src/code_8006E9C0.h"
|
||||||
#include "src/code_80071F00.h"
|
#include "src/update_objects.h"
|
||||||
#include "src/code_80086E70.h"
|
#include "src/code_80086E70.h"
|
||||||
#include "src/code_80091440.h"
|
#include "src/code_80091440.h"
|
||||||
#include "src/code_80091750.h"
|
#include "src/code_80091750.h"
|
||||||
|
|
@ -89,7 +89,7 @@
|
||||||
#include "src/ending/code_80281C40.h"
|
#include "src/ending/code_80281C40.h"
|
||||||
#include "src/ending/credits.h"
|
#include "src/ending/credits.h"
|
||||||
#include "src/ending/podium_ceremony_actors.h"
|
#include "src/ending/podium_ceremony_actors.h"
|
||||||
#include "src/hud_renderer.h"
|
#include "src/render_objects.h"
|
||||||
#include "src/kart_dma.h"
|
#include "src/kart_dma.h"
|
||||||
#include "src/main.h"
|
#include "src/main.h"
|
||||||
#include "src/math_util_2.h"
|
#include "src/math_util_2.h"
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ void actor_name(Camera, Mat4, actor) {
|
||||||
```
|
```
|
||||||
Check actor_types.h for a full list of options. You can create a new actor struct for your actor and customize it or use a predefined one. All actor structs must retain the same size. Generally, the types in the struct may be modified so long as `type` and `flags` stay the same as those are used elsewhere.
|
Check actor_types.h for a full list of options. You can create a new actor struct for your actor and customize it or use a predefined one. All actor structs must retain the same size. Generally, the types in the struct may be modified so long as `type` and `flags` stay the same as those are used elsewhere.
|
||||||
|
|
||||||
See `update_obj_railroad_crossing` for an example of how a timer may be setup and used.
|
See `update_actor_railroad_crossing` for an example of how a timer may be setup and used.
|
||||||
|
|
||||||
Audio may be activated using the following method:
|
Audio may be activated using the following method:
|
||||||
@ref func_800C98B8
|
@ref func_800C98B8
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,7 @@ Object related code resides in
|
||||||
|file|desc|
|
|file|desc|
|
||||||
|---|---|
|
|---|---|
|
||||||
|[code_80057C60](@ref code_80057C60.c)|Objects|
|
|[code_80057C60](@ref code_80057C60.c)|Objects|
|
||||||
|[code_80071F00](@ref code_80071F00.c)|Objects|
|
|[update_objects](@ref update_objects.c)|Objects|
|
||||||
|[code_80086E70](@ref code_80086E70.c)|Objects|
|
|[code_80086E70](@ref code_80086E70.c)|Objects|
|
||||||
|
|
||||||
Documentation of the specifics still in-progress. See [actors](actorsmenu.html) for more information.
|
Documentation of the specifics still in-progress. See [actors](actorsmenu.html) for more information.
|
||||||
|
|
@ -114,7 +114,7 @@ Course related code resides in
|
||||||
## UI & Other 2D Screen data
|
## UI & Other 2D Screen data
|
||||||
|file|desc|
|
|file|desc|
|
||||||
|---|---|
|
|---|---|
|
||||||
|[hud_renderer](@ref hud_renderer.c)|ItemWindows|
|
|[render_objects](@ref render_objects.c)|ItemWindows|
|
||||||
|
|
||||||
## Engine
|
## Engine
|
||||||
|file|desc|
|
|file|desc|
|
||||||
|
|
|
||||||
|
|
@ -9,70 +9,71 @@
|
||||||
//#pragma GCC diagnostic ignored "-Wmicrosoft-extension"
|
//#pragma GCC diagnostic ignored "-Wmicrosoft-extension"
|
||||||
//#pragma GCC diagnostic ignored "-Wmissing-member-name-in-structure-/-union"
|
//#pragma GCC diagnostic ignored "-Wmissing-member-name-in-structure-/-union"
|
||||||
|
|
||||||
/*
|
/**
|
||||||
gActorList should be understood to be populated by generic Actor structs.
|
* gActorList should be understood to be populated by generic Actor structs.
|
||||||
However, for human readability, many functions interacting with actor list elements expect one of the many
|
* However, for human readability, many functions interacting with actor list elements expect one of the many
|
||||||
specialized types found in this file.
|
* specialized types found in this file.
|
||||||
|
*
|
||||||
Note that specialized types must be the same size as a plain Actor. Don't be mislead into thinking that
|
* Note that specialized types must be the same size as a plain Actor. Don't be mislead into thinking that
|
||||||
because its a separate type that it can modified separately from plain Actor. If you modify/add an actor type
|
* because its a separate type that it can modified separately from plain Actor. If you modify/add an actor type
|
||||||
and its size is different from plain Actor's, you WILL run into buggy (potentially crash inducing) behaviour.
|
* and its size is different from plain Actor's, you WILL run into buggy (potentially crash inducing) behaviour.
|
||||||
|
*
|
||||||
Specialized structs are customizable so long as the following member specifications are met:
|
* Specialized structs are customizable so long as the following member specifications are met:
|
||||||
|
*
|
||||||
In general:
|
* In general:
|
||||||
0x00 -> s16 type
|
* 0x00 -> s16 type
|
||||||
0x02 -> s16 flags
|
* 0x02 -> s16 flags
|
||||||
0x30 -> Collision unk30
|
* 0x30 -> Collision unk30
|
||||||
|
*
|
||||||
If player can collide with the actor:
|
* If player can collide with the actor:
|
||||||
0x0C -> f32 boundingBoxSize
|
* 0x0C -> f32 boundingBoxSize
|
||||||
|
*
|
||||||
If the actor makes sound (necessary for doppler/volume stuff):
|
* If the actor makes sound (necessary for doppler/volume stuff):
|
||||||
0x18 -> Vec3f pos
|
* 0x18 -> Vec3f pos
|
||||||
0x24 -> Vec3f velocity
|
* 0x24 -> Vec3f velocity
|
||||||
|
*
|
||||||
Other members are more flexible, and even the non-general specifications can be ignored IF AND ONLY IF you know
|
* Other members are more flexible, and even the non-general specifications can be ignored IF AND ONLY IF you know
|
||||||
exactly what you're doing.
|
* exactly what you're doing.
|
||||||
*/
|
*/
|
||||||
|
enum ActorType {
|
||||||
#define ACTOR_TREE_MARIO_RACEWAY 0x02
|
ACTOR_TREE_MARIO_RACEWAY = 0x02,
|
||||||
#define ACTOR_TREE_YOSHI_VALLEY 0x03
|
ACTOR_TREE_YOSHI_VALLEY,
|
||||||
#define ACTOR_TREE_ROYAL_RACEWAY 0x04
|
ACTOR_TREE_ROYAL_RACEWAY,
|
||||||
#define ACTOR_FALLING_ROCK 0x05
|
ACTOR_FALLING_ROCK,
|
||||||
#define ACTOR_BANANA 0x06
|
ACTOR_BANANA,
|
||||||
#define ACTOR_GREEN_SHELL 0x07
|
ACTOR_GREEN_SHELL,
|
||||||
#define ACTOR_RED_SHELL 0x08
|
ACTOR_RED_SHELL,
|
||||||
#define ACTOR_YOSHI_VALLEY_EGG 0x09
|
ACTOR_YOSHI_VALLEY_EGG,
|
||||||
#define ACTOR_PIRANHA_PLANT 0x0A
|
ACTOR_PIRANHA_PLANT,
|
||||||
#define ACTOR_ITEM_BOX 0x0C
|
ACTOR_ITEM_BOX = 0x0C,
|
||||||
#define ACTOR_FAKE_ITEM_BOX 0x0D
|
ACTOR_FAKE_ITEM_BOX,
|
||||||
#define ACTOR_BANANA_BUNCH 0x0E
|
ACTOR_BANANA_BUNCH,
|
||||||
#define ACTOR_TRAIN_ENGINE 0x0F
|
ACTOR_TRAIN_ENGINE,
|
||||||
#define ACTOR_TRAIN_TENDER 0x10
|
ACTOR_TRAIN_TENDER,
|
||||||
#define ACTOR_TRAIN_PASSENGER_CAR 0x11
|
ACTOR_TRAIN_PASSENGER_CAR,
|
||||||
#define ACTOR_COW 0x12
|
ACTOR_COW,
|
||||||
#define ACTOR_TREE_MOO_MOO_FARM 0x13
|
ACTOR_TREE_MOO_MOO_FARM,
|
||||||
#define ACTOR_TRIPLE_GREEN_SHELL 0x15
|
ACTOR_TRIPLE_GREEN_SHELL = 0x15,
|
||||||
#define ACTOR_TRIPLE_RED_SHELL 0x16
|
ACTOR_TRIPLE_RED_SHELL,
|
||||||
#define ACTOR_MARIO_RACEWAY_SIGN 0x17
|
ACTOR_MARIO_SIGN,
|
||||||
#define ACTOR_PALM_TREE 0x19
|
ACTOR_PALM_TREE = 0x19,
|
||||||
#define ACTOR_TREE_BOWSERS_CASTLE 0x1C
|
ACTOR_TREE_BOWSERS_CASTLE = 0x1C,
|
||||||
#define ACTOR_TREE_FRAPPE_SNOWLAND 0x1D
|
ACTOR_TREE_FRAPPE_SNOWLAND,
|
||||||
#define ACTOR_CACTUS1_KALAMARI_DESERT 0x1E
|
ACTOR_CACTUS1_KALAMARI_DESERT,
|
||||||
#define ACTOR_CACTUS2_KALAMARI_DESERT 0x1F
|
ACTOR_CACTUS2_KALAMARI_DESERT,
|
||||||
#define ACTOR_CACTUS3_KALAMARI_DESERT 0x20
|
ACTOR_CACTUS3_KALAMARI_DESERT,
|
||||||
#define ACTOR_BUSH_BOWSERS_CASTLE 0x21
|
ACTOR_BUSH_BOWSERS_CASTLE,
|
||||||
#define ACTOR_WARIO_STADIUM_SIGN 0x23
|
ACTOR_WARIO_SIGN = 0x23,
|
||||||
#define ACTOR_BOX_TRUCK 0x25
|
ACTOR_BOX_TRUCK = 0x25,
|
||||||
#define ACTOR_PADDLE_WHEEL_BOAT 0x26
|
ACTOR_PADDLE_BOAT,
|
||||||
#define ACTOR_RAILROAD_CROSSING 0x27
|
ACTOR_RAILROAD_CROSSING,
|
||||||
#define ACTOR_SCHOOL_BUS 0x28
|
ACTOR_SCHOOL_BUS,
|
||||||
#define ACTOR_TANKER_TRUCK 0x29
|
ACTOR_TANKER_TRUCK,
|
||||||
#define ACTOR_BLUE_SPINY_SHELL 0x2A
|
ACTOR_BLUE_SPINY_SHELL,
|
||||||
#define ACTOR_HOT_AIR_BALLOON_ITEM_BOX 0x2B
|
ACTOR_HOT_AIR_BALLOON_ITEM_BOX,
|
||||||
#define ACTOR_CAR 0x2C
|
ACTOR_CAR,
|
||||||
#define ACTOR_KIWANO_FRUIT 0x2D
|
ACTOR_KIWANO_FRUIT,
|
||||||
|
};
|
||||||
|
|
||||||
#define ACTOR_LIST_SIZE 100
|
#define ACTOR_LIST_SIZE 100
|
||||||
|
|
||||||
|
|
@ -80,23 +81,29 @@ exactly what you're doing.
|
||||||
#define ACTOR_IS_NOT_EXPIRED 0xF // The actor possesses some kind of collision and can be removed
|
#define ACTOR_IS_NOT_EXPIRED 0xF // The actor possesses some kind of collision and can be removed
|
||||||
|
|
||||||
// Actor shell->state (green, red and blue)
|
// Actor shell->state (green, red and blue)
|
||||||
#define HELD_SHELL 0 // Single shell that has not been dropped. (probably holding Z).
|
enum ShellState {
|
||||||
#define RELEASED_SHELL 1 // This is the short window where single shells aren't being held or launched.
|
HELD_SHELL, // Single shell that has not been dropped. (probably holding Z).
|
||||||
#define MOVING_SHELL 2 // Moving towards its target after being shot.
|
RELEASED_SHELL, // This is the short window where single shells aren't being held or launched.
|
||||||
#define RED_SHELL_LOCK_ON 3 // Red shell is targeting.
|
MOVING_SHELL, // Moving towards its target after being shot.
|
||||||
#define TRIPLE_GREEN_SHELL 4 // Loses triple shell state when shot.
|
RED_SHELL_LOCK_ON, // Red shell is targeting.
|
||||||
#define GREEN_SHELL_HIT_A_RACER 5 // A racer has been hit by a green shell.
|
TRIPLE_GREEN_SHELL, // Loses triple shell state when shot.
|
||||||
#define TRIPLE_RED_SHELL 6 // Loses triple shell state when shot.
|
GREEN_SHELL_HIT_A_RACER, // A racer has been hit by a green shell.
|
||||||
#define DESTROYED_SHELL 7 // Collision with the shell.
|
TRIPLE_RED_SHELL, // Loses triple shell state when shot.
|
||||||
#define BLUE_SHELL_LOCK_ON 8 // A blue shell has found a target and is hastily approaching it.
|
DESTROYED_SHELL, // Collision with the shell.
|
||||||
#define BLUE_SHELL_TARGET_ELIMINATED 9 // Mission completed, well done boss.
|
BLUE_SHELL_LOCK_ON, // A blue shell has found a target and is hastily approaching it.
|
||||||
|
BLUE_SHELL_TARGET_ELIMINATED, // Mission completed, well done boss.
|
||||||
|
};
|
||||||
|
|
||||||
// Actor banana->state
|
// Actor banana->state
|
||||||
#define HELD_BANANA 0 // Single banana that has not been dropped.
|
enum BananaState {
|
||||||
#define DROPPED_BANANA 1 // A banana in the state of being dropped on the ground (it only last for a few frames).
|
HELD_BANANA, // Single banana that has not been dropped.
|
||||||
#define FIRST_BANANA_BUNCH_BANANA 2 // The first banana of the banana bunch
|
DROPPED_BANANA, // A banana in the state of being dropped on the ground (it only last for a few frames).
|
||||||
#define BANANA_BUNCH_BANANA 3 // Every banana of the banana bunch except the first one.
|
FIRST_BANANA_BUNCH_BANANA, // The first banana of the banana bunch
|
||||||
#define BANANA_ON_GROUND 4 // A banana sitting on the ground.
|
BANANA_BUNCH_BANANA, // Every banana of the banana bunch except the first one.
|
||||||
#define DESTROYED_BANANA 5 // Collision with the banana.
|
BANANA_ON_GROUND, // A banana sitting on the ground.
|
||||||
|
DESTROYED_BANANA, // Collision with the banana.
|
||||||
|
};
|
||||||
|
|
||||||
// Actor fakeItemBox->state
|
// Actor fakeItemBox->state
|
||||||
#define HELD_FAKE_ITEM_BOX 0 // Item box is being held be Z.
|
#define HELD_FAKE_ITEM_BOX 0 // Item box is being held be Z.
|
||||||
#define FAKE_ITEM_BOX_ON_GROUND 1 // Item box is on the ground.
|
#define FAKE_ITEM_BOX_ON_GROUND 1 // Item box is on the ground.
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ typedef struct {
|
||||||
} BombKart; // size = 0x54
|
} BombKart; // size = 0x54
|
||||||
|
|
||||||
//! Indexes for the objects associated with the Bomb Karts
|
//! Indexes for the objects associated with the Bomb Karts
|
||||||
extern s32 D_80183DD8[NUM_BOMB_KARTS_MAX];
|
extern s32 gIndexObjectBombKart[NUM_BOMB_KARTS_MAX];
|
||||||
|
|
||||||
extern BombKart gBombKarts[NUM_BOMB_KARTS_MAX];
|
extern BombKart gBombKarts[NUM_BOMB_KARTS_MAX];
|
||||||
extern Collision D_80164038[NUM_BOMB_KARTS_MAX];
|
extern Collision D_80164038[NUM_BOMB_KARTS_MAX];
|
||||||
|
|
|
||||||
|
|
@ -13,14 +13,14 @@ typedef struct
|
||||||
/* 0x04 */ Vec3f pos;
|
/* 0x04 */ Vec3f pos;
|
||||||
/* 0x10 */ Vec3f origin_pos;
|
/* 0x10 */ Vec3f origin_pos;
|
||||||
/* 0x1C */ Vec3f unk_01C;
|
/* 0x1C */ Vec3f unk_01C;
|
||||||
/* 0x28 */ Vec3f unk_028;
|
/* 0x28 */ Vec3f offset;
|
||||||
/* 0x34 */ f32 unk_034;
|
/* 0x34 */ f32 unk_034;
|
||||||
/* 0x38 */ Vec3f velocity;
|
/* 0x38 */ Vec3f velocity; // acceleration
|
||||||
/* 0x44 */ f32 unk_044;
|
/* 0x44 */ f32 unk_044;
|
||||||
/* 0x48 */ s32 unk_048;
|
/* 0x48 */ s32 unk_048;
|
||||||
/* 0x4C */ s32 unk_04C;
|
/* 0x4C */ s32 unk_04C;
|
||||||
/* 0x50 */ s32 unk_050;
|
/* 0x50 */ s32 unk_050;
|
||||||
/* 0x54 */ s32 unk_054;
|
/* 0x54 */ s32 status;
|
||||||
/* 0x58 */ s32 unk_058;
|
/* 0x58 */ s32 unk_058;
|
||||||
/* 0x5C */ s32 unk_05C;
|
/* 0x5C */ s32 unk_05C;
|
||||||
/* 0x60 */ u8 *activeTLUT;
|
/* 0x60 */ u8 *activeTLUT;
|
||||||
|
|
@ -42,7 +42,7 @@ typedef struct
|
||||||
/* 0x9A */ u16 unk_09A;
|
/* 0x9A */ u16 unk_09A;
|
||||||
/* 0x9C */ s16 unk_09C;
|
/* 0x9C */ s16 unk_09C;
|
||||||
/* 0x9E */ s16 unk_09E;
|
/* 0x9E */ s16 unk_09E;
|
||||||
/* 0xA0 */ s16 unk_0A0;
|
/* 0xA0 */ s16 primAlpha;
|
||||||
/* 0xA2 */ s16 unk_0A2;
|
/* 0xA2 */ s16 unk_0A2;
|
||||||
/* 0xA4 */ s16 type;
|
/* 0xA4 */ s16 type;
|
||||||
/* 0xA6 */ s16 state;
|
/* 0xA6 */ s16 state;
|
||||||
|
|
@ -89,14 +89,14 @@ typedef struct
|
||||||
/* 0x04 */ Vec3f pos;
|
/* 0x04 */ Vec3f pos;
|
||||||
/* 0x10 */ Vec3f origin_pos;
|
/* 0x10 */ Vec3f origin_pos;
|
||||||
/* 0x1C */ Vec3f unk_01C;
|
/* 0x1C */ Vec3f unk_01C;
|
||||||
/* 0x28 */ Vec3f unk_028;
|
/* 0x28 */ Vec3f offset;
|
||||||
/* 0x34 */ f32 unk_034;
|
/* 0x34 */ f32 unk_034;
|
||||||
/* 0x38 */ Vec3f velocity;
|
/* 0x38 */ Vec3f velocity;
|
||||||
/* 0x44 */ f32 unk_044;
|
/* 0x44 */ f32 unk_044;
|
||||||
/* 0x48 */ s32 unk_048;
|
/* 0x48 */ s32 unk_048;
|
||||||
/* 0x4C */ s32 unk_04C;
|
/* 0x4C */ s32 unk_04C;
|
||||||
/* 0x50 */ s32 unk_050;
|
/* 0x50 */ s32 unk_050;
|
||||||
/* 0x54 */ s32 unk_054;
|
/* 0x54 */ s32 status;
|
||||||
/* 0x58 */ s32 unk_058;
|
/* 0x58 */ s32 unk_058;
|
||||||
/* 0x5C */ s32 unk_05C;
|
/* 0x5C */ s32 unk_05C;
|
||||||
/* 0x60 */ u8 *activeTLUT;
|
/* 0x60 */ u8 *activeTLUT;
|
||||||
|
|
@ -118,7 +118,7 @@ typedef struct
|
||||||
/* 0x9A */ u16 unk_09A;
|
/* 0x9A */ u16 unk_09A;
|
||||||
/* 0x9C */ s16 unk_09C;
|
/* 0x9C */ s16 unk_09C;
|
||||||
/* 0x9E */ s16 unk_09E;
|
/* 0x9E */ s16 unk_09E;
|
||||||
/* 0xA0 */ s16 unk_0A0;
|
/* 0xA0 */ s16 primAlpha;
|
||||||
/* 0xA2 */ s16 unk_0A2;
|
/* 0xA2 */ s16 unk_0A2;
|
||||||
/* 0xA4 */ s16 currentItem;
|
/* 0xA4 */ s16 currentItem;
|
||||||
/* 0xA6 */ s16 itemDisplayState; // Usually a state tracker
|
/* 0xA6 */ s16 itemDisplayState; // Usually a state tracker
|
||||||
|
|
@ -159,6 +159,11 @@ typedef struct
|
||||||
|
|
||||||
// This are other lists of indices in gObjectList.
|
// This are other lists of indices in gObjectList.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Status flags for objects
|
||||||
|
*/
|
||||||
|
#define VISIBLE 0x00040000
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Use unknown. An object is reserved and its index is saved to
|
* Use unknown. An object is reserved and its index is saved to
|
||||||
* this variable, but it appears to go unreferenced
|
* this variable, but it appears to go unreferenced
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,8 @@
|
||||||
#define LOCOMOTIVE_ONLY 0
|
#define LOCOMOTIVE_ONLY 0
|
||||||
|
|
||||||
// It seems like there's room for 2 Ferries, but only 1 is ever active
|
// It seems like there's room for 2 Ferries, but only 1 is ever active
|
||||||
#define NUM_ACTIVE_PADDLE_WHEEL_BOATS 1
|
#define NUM_ACTIVE_PADDLE_BOATS 1
|
||||||
#define NUM_PADDLE_WHEEL_BOATS 2
|
#define NUM_PADDLE_BOATS 2
|
||||||
|
|
||||||
#define NUM_RACE_BOX_TRUCKS 7
|
#define NUM_RACE_BOX_TRUCKS 7
|
||||||
#define NUM_RACE_SCHOOL_BUSES 7
|
#define NUM_RACE_SCHOOL_BUSES 7
|
||||||
|
|
@ -59,7 +59,7 @@ typedef struct {
|
||||||
* Probably audio related
|
* Probably audio related
|
||||||
**/
|
**/
|
||||||
/* 0x28 */ s32 someFlags;
|
/* 0x28 */ s32 someFlags;
|
||||||
} PaddleWheelBoatStuff; // size = 0x2C
|
} PaddleBoatStuff; // size = 0x2C
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x00 */ s16 unused; // Gets set to 0, but doesn't seem to have any purpose
|
/* 0x00 */ s16 unused; // Gets set to 0, but doesn't seem to have any purpose
|
||||||
|
|
@ -85,7 +85,7 @@ typedef struct {
|
||||||
extern TrainStuff gTrainList[];
|
extern TrainStuff gTrainList[];
|
||||||
|
|
||||||
// This is an array, maybe they intended to have multiple boats at some point in development?
|
// This is an array, maybe they intended to have multiple boats at some point in development?
|
||||||
extern PaddleWheelBoatStuff gFerries[];
|
extern PaddleBoatStuff gPaddleBoats[];
|
||||||
|
|
||||||
// Lists for different vehicles in Toad's Turnpike
|
// Lists for different vehicles in Toad's Turnpike
|
||||||
extern VehicleStuff gBoxTruckList[];
|
extern VehicleStuff gBoxTruckList[];
|
||||||
|
|
|
||||||
10
mk64.ld
10
mk64.ld
|
|
@ -57,10 +57,10 @@ SECTIONS
|
||||||
BUILD_DIR/asm/tkmk00_decode.o(.text);
|
BUILD_DIR/asm/tkmk00_decode.o(.text);
|
||||||
BUILD_DIR/src/gbiMacro.o(.text);
|
BUILD_DIR/src/gbiMacro.o(.text);
|
||||||
BUILD_DIR/src/math_util_2.o(.text);
|
BUILD_DIR/src/math_util_2.o(.text);
|
||||||
BUILD_DIR/src/hud_renderer.o(.text);
|
BUILD_DIR/src/render_objects.o(.text);
|
||||||
BUILD_DIR/src/code_80057C60.o(.text);
|
BUILD_DIR/src/code_80057C60.o(.text);
|
||||||
BUILD_DIR/src/code_8006E9C0.o(.text);
|
BUILD_DIR/src/code_8006E9C0.o(.text);
|
||||||
BUILD_DIR/src/code_80071F00.o(.text);
|
BUILD_DIR/src/update_objects.o(.text);
|
||||||
BUILD_DIR/src/code_80086E70.o(.text);
|
BUILD_DIR/src/code_80086E70.o(.text);
|
||||||
BUILD_DIR/src/effects.o(.text);
|
BUILD_DIR/src/effects.o(.text);
|
||||||
BUILD_DIR/src/code_80091440.o(.text);
|
BUILD_DIR/src/code_80091440.o(.text);
|
||||||
|
|
@ -216,7 +216,7 @@ SECTIONS
|
||||||
BUILD_DIR/src/data/kart_attributes.inc.o(.data);
|
BUILD_DIR/src/data/kart_attributes.inc.o(.data);
|
||||||
BUILD_DIR/src/player_controller.o(.data);
|
BUILD_DIR/src/player_controller.o(.data);
|
||||||
BUILD_DIR/src/spawn_players.o(.data);
|
BUILD_DIR/src/spawn_players.o(.data);
|
||||||
BUILD_DIR/src/code_80071F00.o(.data);
|
BUILD_DIR/src/update_objects.o(.data);
|
||||||
BUILD_DIR/src/data/data_800E45C0.o(.data);
|
BUILD_DIR/src/data/data_800E45C0.o(.data);
|
||||||
BUILD_DIR/src/code_80057C60.o(.data);
|
BUILD_DIR/src/code_80057C60.o(.data);
|
||||||
BUILD_DIR/src/data/some_data.o(.data);
|
BUILD_DIR/src/data/some_data.o(.data);
|
||||||
|
|
@ -264,10 +264,10 @@ SECTIONS
|
||||||
BUILD_DIR/src/player_controller.o(.rodata);
|
BUILD_DIR/src/player_controller.o(.rodata);
|
||||||
BUILD_DIR/src/spawn_players.o(.rodata);
|
BUILD_DIR/src/spawn_players.o(.rodata);
|
||||||
BUILD_DIR/src/code_8003DC40.o(.rodata);
|
BUILD_DIR/src/code_8003DC40.o(.rodata);
|
||||||
BUILD_DIR/src/hud_renderer.o(.rodata);
|
BUILD_DIR/src/render_objects.o(.rodata);
|
||||||
BUILD_DIR/src/code_80057C60.o(.rodata);
|
BUILD_DIR/src/code_80057C60.o(.rodata);
|
||||||
BUILD_DIR/src/code_8006E9C0.o(.rodata);
|
BUILD_DIR/src/code_8006E9C0.o(.rodata);
|
||||||
BUILD_DIR/src/code_80071F00.o(.rodata);
|
BUILD_DIR/src/update_objects.o(.rodata);
|
||||||
BUILD_DIR/src/code_80086E70.o(.rodata);
|
BUILD_DIR/src/code_80086E70.o(.rodata);
|
||||||
BUILD_DIR/src/effects.o(.rodata);
|
BUILD_DIR/src/effects.o(.rodata);
|
||||||
BUILD_DIR/src/code_80091750.jp.o(.rodata);
|
BUILD_DIR/src/code_80091750.jp.o(.rodata);
|
||||||
|
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
void update_actor_paddle_wheel(struct PaddleWheelBoat *boat) {
|
|
||||||
boat->wheelRot += 0x38E;
|
|
||||||
}
|
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
#include <ultra64.h>
|
||||||
|
#include <macros.h>
|
||||||
|
#include <actor_types.h>
|
||||||
|
#include "camera.h"
|
||||||
|
#include "main.h"
|
||||||
|
#include "actors.h"
|
||||||
|
#include "courses/all_course_data.h"
|
||||||
|
#include <PR/gbi.h>
|
||||||
|
|
||||||
|
// This likely attaches the paddle wheel to the boat
|
||||||
|
void render_actor_paddle_boat(Camera *arg0, struct PaddleWheelBoat *boat, UNUSED Mat4 arg2, u16 pathCounter) {
|
||||||
|
UNUSED s32 pad[3];
|
||||||
|
Vec3f sp120;
|
||||||
|
Mat4 spE0;
|
||||||
|
Mat4 spA0;
|
||||||
|
Mat4 sp60;
|
||||||
|
f32 temp;
|
||||||
|
|
||||||
|
if ((pathCounter > 20) && (pathCounter < 25)) { return; }
|
||||||
|
|
||||||
|
temp = is_within_render_distance(arg0->pos, boat->pos, arg0->rot[1], 90000.0f, gCameraZoom[arg0 - camera1], 9000000.0f);
|
||||||
|
|
||||||
|
if (temp < 0.0f) { return; }
|
||||||
|
|
||||||
|
gSPSetLights1(gDisplayListHead++, D_800DC610[1]);
|
||||||
|
gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_LIGHTING | G_SHADING_SMOOTH);
|
||||||
|
|
||||||
|
mtxf_pos_rotation_xyz(spE0, boat->pos, boat->boatRot);
|
||||||
|
if (render_set_position(spE0, 1) != 0) {
|
||||||
|
|
||||||
|
gSPDisplayList(gDisplayListHead++, &d_course_dks_jungle_parkway_dl_E730);
|
||||||
|
gSPDisplayList(gDisplayListHead++, &d_course_dks_jungle_parkway_dl_E058);
|
||||||
|
|
||||||
|
mtxf_rotate_x(spE0, boat->wheelRot);
|
||||||
|
vec3f_set(sp120, 0, 16.0f, -255.0f);
|
||||||
|
mtxf_translate(spA0, sp120);
|
||||||
|
mtxf_multiplication(sp60, spE0, spA0);
|
||||||
|
if (render_set_position(sp60, 3) != 0) {
|
||||||
|
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||||
|
gSPDisplayList(gDisplayListHead++, &d_course_dks_jungle_parkway_dl_FC28);
|
||||||
|
gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
|
||||||
|
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
#include <ultra64.h>
|
||||||
|
#include <actor_types.h>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Rotates paddle boat's wheel.
|
||||||
|
*
|
||||||
|
* @param boat
|
||||||
|
*/
|
||||||
|
void update_actor_paddle_boat(struct PaddleWheelBoat *boat) {
|
||||||
|
boat->wheelRot += 0x38E;
|
||||||
|
}
|
||||||
|
|
@ -200,7 +200,7 @@ void setup_race(void) {
|
||||||
func_802969F8();
|
func_802969F8();
|
||||||
func_80005310();
|
func_80005310();
|
||||||
func_8003D080();
|
func_8003D080();
|
||||||
init_object_list();
|
init_hud();
|
||||||
D_800DC510 = 0;
|
D_800DC510 = 0;
|
||||||
gNumSpawnedShells = 0;
|
gNumSpawnedShells = 0;
|
||||||
D_800DC5B8 = 0;
|
D_800DC5B8 = 0;
|
||||||
|
|
@ -353,11 +353,11 @@ void func_80003040(void) {
|
||||||
break;
|
break;
|
||||||
case COURSE_WARIO_STADIUM:
|
case COURSE_WARIO_STADIUM:
|
||||||
vec3f_set(position, -131.0f, 83.0f, 286.0f);
|
vec3f_set(position, -131.0f, 83.0f, 286.0f);
|
||||||
addActorToEmptySlot(position, rotation, velocity, ACTOR_WARIO_STADIUM_SIGN);
|
addActorToEmptySlot(position, rotation, velocity, ACTOR_WARIO_SIGN);
|
||||||
vec3f_set(position, -2353.0f, 72.0f, -1608.0f);
|
vec3f_set(position, -2353.0f, 72.0f, -1608.0f);
|
||||||
addActorToEmptySlot(position, rotation, velocity, ACTOR_WARIO_STADIUM_SIGN);
|
addActorToEmptySlot(position, rotation, velocity, ACTOR_WARIO_SIGN);
|
||||||
vec3f_set(position, -2622.0f, 79.0f, 739.0f);
|
vec3f_set(position, -2622.0f, 79.0f, 739.0f);
|
||||||
addActorToEmptySlot(position, rotation, velocity, ACTOR_WARIO_STADIUM_SIGN);
|
addActorToEmptySlot(position, rotation, velocity, ACTOR_WARIO_SIGN);
|
||||||
// d_course_wario_stadium_packed_dl_C50
|
// d_course_wario_stadium_packed_dl_C50
|
||||||
find_vtx_and_set_colours(0x07000C50, 0x64, 0xFF, 0xFF, 0xFF);
|
find_vtx_and_set_colours(0x07000C50, 0x64, 0xFF, 0xFF, 0xFF);
|
||||||
// d_course_wario_stadium_packed_dl_BD8
|
// d_course_wario_stadium_packed_dl_BD8
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@ void func_80004A1C(animation_type_1 *arg0, s16 *arg1, animation_type_3_triplet a
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80004C30(animation_type_1 *arg0, animation_type_2 *arg1, s16 arg2) {
|
void func_80004C30(animation_type_1 *arg0, animation_type_2 *arg1, s16 timeCycle) {
|
||||||
UNUSED u32 *temp;
|
UNUSED u32 *temp;
|
||||||
s16 *sp40;
|
s16 *sp40;
|
||||||
s32 some_offset;
|
s32 some_offset;
|
||||||
|
|
@ -116,8 +116,8 @@ void func_80004C30(animation_type_1 *arg0, animation_type_2 *arg1, s16 arg2) {
|
||||||
D_80162D7A = 0;
|
D_80162D7A = 0;
|
||||||
D_80162D76 = 0;
|
D_80162D76 = 0;
|
||||||
for (someIndex = 0; someIndex < 3; someIndex++) {
|
for (someIndex = 0; someIndex < 3; someIndex++) {
|
||||||
if (arg2 < (*temp_v0)[someIndex].some_limiter) {
|
if (timeCycle < (*temp_v0)[someIndex].some_limiter) {
|
||||||
some_offset = arg2;
|
some_offset = timeCycle;
|
||||||
} else {
|
} else {
|
||||||
some_offset = 0;
|
some_offset = 0;
|
||||||
}
|
}
|
||||||
|
|
@ -142,7 +142,7 @@ void func_80004C30(animation_type_1 *arg0, animation_type_2 *arg1, s16 arg2) {
|
||||||
gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
|
gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
|
||||||
D_80162D7A -= 1;
|
D_80162D7A -= 1;
|
||||||
}
|
}
|
||||||
func_80004A1C(arg0, sp40, *temp_v0, (s32) arg2);
|
func_80004A1C(arg0, sp40, *temp_v0, (s32) timeCycle);
|
||||||
D_80162D78 = 0;
|
D_80162D78 = 0;
|
||||||
temp_v0++;
|
temp_v0++;
|
||||||
break;
|
break;
|
||||||
|
|
@ -151,7 +151,7 @@ void func_80004C30(animation_type_1 *arg0, animation_type_2 *arg1, s16 arg2) {
|
||||||
} while (new_var != 3);
|
} while (new_var != 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
s16 func_80004DFC(animation_type_1 *arg0, animation_type_2 **arg1, s16 arg2, s16 arg3) {
|
s16 func_80004DFC(animation_type_1 *arg0, animation_type_2 **arg1, s16 arg2, s16 timeCycle) {
|
||||||
animation_type_1 *sp24;
|
animation_type_1 *sp24;
|
||||||
animation_type_2 *temp_v0;
|
animation_type_2 *temp_v0;
|
||||||
animation_type_2 **sp20;
|
animation_type_2 **sp20;
|
||||||
|
|
@ -159,15 +159,15 @@ s16 func_80004DFC(animation_type_1 *arg0, animation_type_2 **arg1, s16 arg2, s16
|
||||||
sp24 = segmented_to_virtual(arg0);
|
sp24 = segmented_to_virtual(arg0);
|
||||||
sp20 = segmented_to_virtual(arg1); // Convert the array's address
|
sp20 = segmented_to_virtual(arg1); // Convert the array's address
|
||||||
temp_v0 = segmented_to_virtual(sp20[arg2]); // Convert an array element's address
|
temp_v0 = segmented_to_virtual(sp20[arg2]); // Convert an array element's address
|
||||||
if (arg3 >= temp_v0->animation_length) {
|
if (timeCycle >= temp_v0->animation_length) {
|
||||||
arg3 = 0;
|
timeCycle = 0;
|
||||||
}
|
}
|
||||||
func_80004C30(sp24, temp_v0, arg3);
|
func_80004C30(sp24, temp_v0, timeCycle);
|
||||||
arg3++;
|
timeCycle++;
|
||||||
if (arg3 >= temp_v0->animation_length) {
|
if (timeCycle >= temp_v0->animation_length) {
|
||||||
arg3 = 0;
|
timeCycle = 0;
|
||||||
}
|
}
|
||||||
return arg3;
|
return timeCycle;
|
||||||
}
|
}
|
||||||
|
|
||||||
s16 func_80004EAC(void *addr, s16 offset) {
|
s16 func_80004EAC(void *addr, s16 offset) {
|
||||||
|
|
|
||||||
|
|
@ -12,11 +12,11 @@
|
||||||
#include "actors_extended.h"
|
#include "actors_extended.h"
|
||||||
#include "render_player.h"
|
#include "render_player.h"
|
||||||
#include "player_controller.h"
|
#include "player_controller.h"
|
||||||
#include "code_80071F00.h"
|
#include "update_objects.h"
|
||||||
#include "collision.h"
|
#include "collision.h"
|
||||||
#include <actor_types.h>
|
#include <actor_types.h>
|
||||||
#include "vehicles.h"
|
#include "vehicles.h"
|
||||||
#include "hud_renderer.h"
|
#include "render_objects.h"
|
||||||
#include "code_80057C60.h"
|
#include "code_80057C60.h"
|
||||||
#include "bomb_kart.h"
|
#include "bomb_kart.h"
|
||||||
#include "courses/all_course_data.h"
|
#include "courses/all_course_data.h"
|
||||||
|
|
@ -139,7 +139,7 @@ s32 D_8016359C;
|
||||||
TrainStuff gTrainList[NUM_TRAINS];
|
TrainStuff gTrainList[NUM_TRAINS];
|
||||||
u16 isCrossingTriggeredByIndex[2];
|
u16 isCrossingTriggeredByIndex[2];
|
||||||
u16 D_801637BC[2];
|
u16 D_801637BC[2];
|
||||||
PaddleWheelBoatStuff gFerries[NUM_PADDLE_WHEEL_BOATS];
|
PaddleBoatStuff gPaddleBoats[NUM_PADDLE_BOATS];
|
||||||
VehicleStuff gBoxTruckList[NUM_RACE_BOX_TRUCKS];
|
VehicleStuff gBoxTruckList[NUM_RACE_BOX_TRUCKS];
|
||||||
VehicleStuff gSchoolBusList[NUM_RACE_SCHOOL_BUSES];
|
VehicleStuff gSchoolBusList[NUM_RACE_SCHOOL_BUSES];
|
||||||
VehicleStuff gTankerTruckList[NUM_RACE_TANKER_TRUCKS];
|
VehicleStuff gTankerTruckList[NUM_RACE_TANKER_TRUCKS];
|
||||||
|
|
@ -551,7 +551,7 @@ s16 func_80005FD0(Vec3f arg0, Vec3f arg1) {
|
||||||
s16 temp_ret;
|
s16 temp_ret;
|
||||||
s16 phi_v1;
|
s16 phi_v1;
|
||||||
|
|
||||||
temp_ret = get_angle_between_points(arg0, arg1);
|
temp_ret = get_angle_between_two_vectors(arg0, arg1);
|
||||||
phi_v1 = temp_ret;
|
phi_v1 = temp_ret;
|
||||||
if (gIsMirrorMode != 0) {
|
if (gIsMirrorMode != 0) {
|
||||||
phi_v1 = -temp_ret;
|
phi_v1 = -temp_ret;
|
||||||
|
|
@ -1608,9 +1608,9 @@ block_25:
|
||||||
GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000929C.s")
|
GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000929C.s")
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void func_800097E0(void) {
|
void update_vehicles(void) {
|
||||||
s32 i;
|
s32 i;
|
||||||
func_8000EF20();
|
generate_player_smoke();
|
||||||
D_8016337C++;
|
D_8016337C++;
|
||||||
|
|
||||||
if (gCurrentCourseId == COURSE_AWARD_CEREMONY) {
|
if (gCurrentCourseId == COURSE_AWARD_CEREMONY) {
|
||||||
|
|
@ -1629,10 +1629,10 @@ void func_800097E0(void) {
|
||||||
|
|
||||||
switch(gCurrentCourseId) {
|
switch(gCurrentCourseId) {
|
||||||
case COURSE_KALAMARI_DESERT:
|
case COURSE_KALAMARI_DESERT:
|
||||||
func_80012AC0();
|
update_vehicle_trains();
|
||||||
break;
|
break;
|
||||||
case COURSE_DK_JUNGLE:
|
case COURSE_DK_JUNGLE:
|
||||||
func_800133C4();
|
update_vehicle_paddle_boats();
|
||||||
break;
|
break;
|
||||||
case COURSE_TOADS_TURNPIKE:
|
case COURSE_TOADS_TURNPIKE:
|
||||||
func_8001487C();
|
func_8001487C();
|
||||||
|
|
@ -1876,7 +1876,7 @@ void func_80009B60(s32 playerId) {
|
||||||
func_8000BBD8(stackPadding1A, D_80163090[playerId], D_80163448);
|
func_8000BBD8(stackPadding1A, D_80163090[playerId], D_80163448);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
player->rotation[1] = -get_angle_between_points(player->pos, D_80162FA0);
|
player->rotation[1] = -get_angle_between_two_vectors(player->pos, D_80162FA0);
|
||||||
} else {
|
} else {
|
||||||
player->rotation[1] = D_80164590[D_80163448][(D_801630E0 + 4) % D_80164430];
|
player->rotation[1] = D_80164590[D_80163448][(D_801630E0 + 4) % D_80164430];
|
||||||
}
|
}
|
||||||
|
|
@ -1889,7 +1889,7 @@ void func_80009B60(s32 playerId) {
|
||||||
player->effects |= 0x10;
|
player->effects |= 0x10;
|
||||||
}
|
}
|
||||||
if (D_801630E8[playerId] != 0) {
|
if (D_801630E8[playerId] != 0) {
|
||||||
D_80163300[playerId] = -get_angle_between_points(&player->copy_rotation_x, player->pos);
|
D_80163300[playerId] = -get_angle_between_two_vectors(&player->copy_rotation_x, player->pos);
|
||||||
var_a0_2 = (D_801631DC[(D_80162FCE + 2) % D_80164430] * 0x168) / 65535;
|
var_a0_2 = (D_801631DC[(D_80162FCE + 2) % D_80164430] * 0x168) / 65535;
|
||||||
var_a1 = (D_80163300[playerId] * 0x168) / 65535;
|
var_a1 = (D_80163300[playerId] * 0x168) / 65535;
|
||||||
if (var_a0_2 < -0xB4) {
|
if (var_a0_2 < -0xB4) {
|
||||||
|
|
@ -1995,8 +1995,8 @@ void func_80009B60(s32 playerId) {
|
||||||
// MISMATCH2
|
// MISMATCH2
|
||||||
// This fixes part of the register allocation problems, makes fixing others
|
// This fixes part of the register allocation problems, makes fixing others
|
||||||
// harder though. Needs more investigation
|
// harder though. Needs more investigation
|
||||||
// var_a2 = (-get_angle_between_points(player->pos, D_80162FA0)) - (var_a1 = player->rotation[1]);
|
// var_a2 = (-get_angle_between_two_vectors(player->pos, D_80162FA0)) - (var_a1 = player->rotation[1]);
|
||||||
stackPadding19 = -get_angle_between_points(player->pos, D_80162FA0) - player->rotation[1];
|
stackPadding19 = -get_angle_between_two_vectors(player->pos, D_80162FA0) - player->rotation[1];
|
||||||
var_a1 = stackPadding19;
|
var_a1 = stackPadding19;
|
||||||
var_a2 = var_a1;
|
var_a2 = var_a1;
|
||||||
if ((s16) temp_f2 < var_a1) {
|
if ((s16) temp_f2 < var_a1) {
|
||||||
|
|
@ -3174,7 +3174,7 @@ void func_8000DF8C(s32 bombKartId) {
|
||||||
D_80162FC0[0] = temp_v0_2->posX + sp118;
|
D_80162FC0[0] = temp_v0_2->posX + sp118;
|
||||||
D_80162FC0[1] = temp_v0_2->posY;
|
D_80162FC0[1] = temp_v0_2->posY;
|
||||||
D_80162FC0[2] = temp_v0_2->posZ + temp_f0_3;
|
D_80162FC0[2] = temp_v0_2->posZ + temp_f0_3;
|
||||||
spC2 = (get_angle_between_points(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520;
|
spC2 = (get_angle_between_two_vectors(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
var_s1 = (var_s1 + 4) % 360;
|
var_s1 = (var_s1 + 4) % 360;
|
||||||
|
|
@ -3194,7 +3194,7 @@ void func_8000DF8C(s32 bombKartId) {
|
||||||
D_80162FC0[0] = temp_v0_2->posX + sp118;
|
D_80162FC0[0] = temp_v0_2->posX + sp118;
|
||||||
D_80162FC0[1] = temp_v0_2->posY;
|
D_80162FC0[1] = temp_v0_2->posY;
|
||||||
D_80162FC0[2] = temp_v0_2->posZ + temp_f0_3;
|
D_80162FC0[2] = temp_v0_2->posZ + temp_f0_3;
|
||||||
spC2 = (get_angle_between_points(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520;
|
spC2 = (get_angle_between_two_vectors(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
var_f20 = bombKart->yPos + 3.5f;
|
var_f20 = bombKart->yPos + 3.5f;
|
||||||
|
|
@ -3218,7 +3218,7 @@ void func_8000DF8C(s32 bombKartId) {
|
||||||
D_80162FC0[0] = temp_v0_4->posX;
|
D_80162FC0[0] = temp_v0_4->posX;
|
||||||
D_80162FC0[1] = temp_v0_4->posY;
|
D_80162FC0[1] = temp_v0_4->posY;
|
||||||
D_80162FC0[2] = temp_v0_4->posZ;
|
D_80162FC0[2] = temp_v0_4->posZ;
|
||||||
spC2 = (get_angle_between_points(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520;
|
spC2 = (get_angle_between_two_vectors(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520;
|
||||||
} else {
|
} else {
|
||||||
D_80162FB0[0] = var_f22;
|
D_80162FB0[0] = var_f22;
|
||||||
D_80162FB0[1] = var_f20;
|
D_80162FB0[1] = var_f20;
|
||||||
|
|
@ -3226,7 +3226,7 @@ void func_8000DF8C(s32 bombKartId) {
|
||||||
D_80162FC0[0] = -2409.197f;
|
D_80162FC0[0] = -2409.197f;
|
||||||
D_80162FC0[1] = 0.0f;
|
D_80162FC0[1] = 0.0f;
|
||||||
D_80162FC0[2] = -355.254f;
|
D_80162FC0[2] = -355.254f;
|
||||||
spC2 = (get_angle_between_points(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520;
|
spC2 = (get_angle_between_two_vectors(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520;
|
||||||
}
|
}
|
||||||
temp_f14 = ((D_80162FB0[0] + D_80162FC0[0]) * 0.5f) - var_f22;
|
temp_f14 = ((D_80162FB0[0] + D_80162FC0[0]) * 0.5f) - var_f22;
|
||||||
temp_f16 = ((D_80162FB0[2] + D_80162FC0[2]) * 0.5f) - var_f24;
|
temp_f16 = ((D_80162FB0[2] + D_80162FC0[2]) * 0.5f) - var_f24;
|
||||||
|
|
@ -3256,7 +3256,7 @@ void func_8000DF8C(s32 bombKartId) {
|
||||||
D_80162FC0[1] = temp_v0_4->posY;
|
D_80162FC0[1] = temp_v0_4->posY;
|
||||||
D_80162FC0[2] = temp_v0_4->posZ;
|
D_80162FC0[2] = temp_v0_4->posZ;
|
||||||
var_f20 += 3.0f - (var_s1 * 0.3f);
|
var_f20 += 3.0f - (var_s1 * 0.3f);
|
||||||
spC2 = (get_angle_between_points(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520;
|
spC2 = (get_angle_between_two_vectors(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
@ -3383,7 +3383,7 @@ void func_8000EEDC(void) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8000EF20(void) {
|
void generate_player_smoke(void) {
|
||||||
s32 someIndex;
|
s32 someIndex;
|
||||||
f32 var_f20;
|
f32 var_f20;
|
||||||
struct Actor *temp_s1;
|
struct Actor *temp_s1;
|
||||||
|
|
@ -3395,33 +3395,33 @@ void func_8000EF20(void) {
|
||||||
temp_s1 = &gActorList[var_s0->actorIndex];
|
temp_s1 = &gActorList[var_s0->actorIndex];
|
||||||
var_s0->unk14++;
|
var_s0->unk14++;
|
||||||
switch (var_s0->unk10) {
|
switch (var_s0->unk10) {
|
||||||
case 0:
|
case 0:
|
||||||
if (var_s0->unk14 < 0xA) {
|
if (var_s0->unk14 < 0xA) {
|
||||||
var_f20 = 0.3f;
|
var_f20 = 0.3f;
|
||||||
} else {
|
} else {
|
||||||
var_f20 = 0.9f;
|
var_f20 = 0.9f;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
if (var_s0->unk14 < 0xA) {
|
if (var_s0->unk14 < 0xA) {
|
||||||
var_f20 = 0.15f;
|
var_f20 = 0.15f;
|
||||||
} else {
|
} else {
|
||||||
var_f20 = 0.45f;
|
var_f20 = 0.45f;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (var_s0->unk14 < 0xA) {
|
if (var_s0->unk14 < 0xA) {
|
||||||
var_f20 = 0.15f;
|
var_f20 = 0.15f;
|
||||||
} else {
|
} else {
|
||||||
var_f20 = 0.45f;
|
var_f20 = 0.45f;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
var_f20 = 1.0f;
|
var_f20 = 1.0f;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (!(var_s0->unk14 & 1)) {
|
if (!(var_s0->unk14 & 1)) {
|
||||||
func_80076D70(temp_s1->pos, ((random_int(30) + 20) * var_f20) / 50.0f, var_s0->unk10);
|
init_smoke_particle(temp_s1->pos, ((random_int(30) + 20) * var_f20) / 50.0f, var_s0->unk10);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -3930,7 +3930,7 @@ s16 func_80010CB0(s32 pathIndex, s32 waypointIndex) {
|
||||||
sp24[0] = temp_v0->posX;
|
sp24[0] = temp_v0->posX;
|
||||||
sp24[1] = temp_v0->posY;
|
sp24[1] = temp_v0->posY;
|
||||||
sp24[2] = temp_v0->posZ;
|
sp24[2] = temp_v0->posZ;
|
||||||
ret = get_angle_between_points(sp30, sp24);
|
ret = get_angle_between_two_vectors(sp30, sp24);
|
||||||
return -ret;
|
return -ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -4452,7 +4452,7 @@ void init_course_vehicles(void) {
|
||||||
VehicleStuff *tempSchoolBus;
|
VehicleStuff *tempSchoolBus;
|
||||||
VehicleStuff *tempTankerTruck;
|
VehicleStuff *tempTankerTruck;
|
||||||
VehicleStuff *tempCar;
|
VehicleStuff *tempCar;
|
||||||
PaddleWheelBoatStuff *tempPaddleWheelBoat;
|
PaddleBoatStuff *tempPaddleWheelBoat;
|
||||||
Vec3s paddleWheelBoatRot;
|
Vec3s paddleWheelBoatRot;
|
||||||
s32 loopIndex;
|
s32 loopIndex;
|
||||||
s32 loopIndex2;
|
s32 loopIndex2;
|
||||||
|
|
@ -4497,8 +4497,8 @@ void init_course_vehicles(void) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case COURSE_DK_JUNGLE:
|
case COURSE_DK_JUNGLE:
|
||||||
for(loopIndex = 0; loopIndex < NUM_ACTIVE_PADDLE_WHEEL_BOATS; loopIndex++) {
|
for(loopIndex = 0; loopIndex < NUM_ACTIVE_PADDLE_BOATS; loopIndex++) {
|
||||||
tempPaddleWheelBoat = &gFerries[loopIndex];
|
tempPaddleWheelBoat = &gPaddleBoats[loopIndex];
|
||||||
if(tempPaddleWheelBoat->isActive == 1) {
|
if(tempPaddleWheelBoat->isActive == 1) {
|
||||||
origXPos = tempPaddleWheelBoat->position[0];
|
origXPos = tempPaddleWheelBoat->position[0];
|
||||||
origZPos = tempPaddleWheelBoat->position[2];
|
origZPos = tempPaddleWheelBoat->position[2];
|
||||||
|
|
@ -4506,7 +4506,7 @@ void init_course_vehicles(void) {
|
||||||
tempPaddleWheelBoat->velocity[0] = tempPaddleWheelBoat->position[0] - origXPos;
|
tempPaddleWheelBoat->velocity[0] = tempPaddleWheelBoat->position[0] - origXPos;
|
||||||
tempPaddleWheelBoat->velocity[2] = tempPaddleWheelBoat->position[2] - origZPos;
|
tempPaddleWheelBoat->velocity[2] = tempPaddleWheelBoat->position[2] - origZPos;
|
||||||
vec3s_set(paddleWheelBoatRot, 0, tempPaddleWheelBoat->rotY, 0);
|
vec3s_set(paddleWheelBoatRot, 0, tempPaddleWheelBoat->rotY, 0);
|
||||||
tempPaddleWheelBoat->actorIndex = addActorToEmptySlot(tempPaddleWheelBoat->position, paddleWheelBoatRot, tempPaddleWheelBoat->velocity, ACTOR_PADDLE_WHEEL_BOAT);
|
tempPaddleWheelBoat->actorIndex = addActorToEmptySlot(tempPaddleWheelBoat->position, paddleWheelBoatRot, tempPaddleWheelBoat->velocity, ACTOR_PADDLE_BOAT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -4632,7 +4632,7 @@ void func_80012A48(TrainCarStuff *trainCar, s16 arg1) {
|
||||||
trainCarActor->velocity[2] = trainCar->velocity[2];
|
trainCarActor->velocity[2] = trainCar->velocity[2];
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80012AC0(void) {
|
void update_vehicle_trains(void) {
|
||||||
UNUSED s32 pad[3];
|
UNUSED s32 pad[3];
|
||||||
f32 temp_f20;
|
f32 temp_f20;
|
||||||
TrainCarStuff *car;
|
TrainCarStuff *car;
|
||||||
|
|
@ -4812,13 +4812,13 @@ void func_800131DC(s32 playerId) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_800132F4(void) {
|
void func_800132F4(void) {
|
||||||
PaddleWheelBoatStuff *var_a1;
|
PaddleBoatStuff *var_a1;
|
||||||
s32 i;
|
s32 i;
|
||||||
PathNoY *temp_a2;
|
PathNoY *temp_a2;
|
||||||
u16 temp;
|
u16 temp;
|
||||||
for (i = 0; i < NUM_ACTIVE_PADDLE_WHEEL_BOATS; i++) {
|
for (i = 0; i < NUM_ACTIVE_PADDLE_BOATS; i++) {
|
||||||
temp = i * 0xB4;
|
temp = i * 0xB4;
|
||||||
var_a1 = &gFerries[i];
|
var_a1 = &gPaddleBoats[i];
|
||||||
temp_a2 = &D_80163598[temp];
|
temp_a2 = &D_80163598[temp];
|
||||||
var_a1->position[0] = temp_a2->x;
|
var_a1->position[0] = temp_a2->x;
|
||||||
var_a1->position[1] = D_80162EB2;
|
var_a1->position[1] = D_80162EB2;
|
||||||
|
|
@ -4840,11 +4840,11 @@ void func_800132F4(void) {
|
||||||
D_801630FC = 0;
|
D_801630FC = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_800133C4(void) {
|
void update_vehicle_paddle_boats(void) {
|
||||||
PaddleWheelBoatStuff *ferry;
|
PaddleBoatStuff *paddleBoat;
|
||||||
PathNoY *waypoint;
|
PathNoY *waypoint;
|
||||||
s32 i;
|
s32 i;
|
||||||
struct Actor *ferryActor;
|
struct Actor *paddleBoatActor;
|
||||||
f32 temp_f26;
|
f32 temp_f26;
|
||||||
f32 temp_f28;
|
f32 temp_f28;
|
||||||
f32 temp_f30;
|
f32 temp_f30;
|
||||||
|
|
@ -4857,92 +4857,92 @@ void func_800133C4(void) {
|
||||||
Vec3f sp78;
|
Vec3f sp78;
|
||||||
s32 pad2;
|
s32 pad2;
|
||||||
D_801630FC += 1;
|
D_801630FC += 1;
|
||||||
for (i = 0; i < NUM_ACTIVE_PADDLE_WHEEL_BOATS; i++) {
|
for (i = 0; i < NUM_ACTIVE_PADDLE_BOATS; i++) {
|
||||||
ferry = &gFerries[i];
|
paddleBoat = &gPaddleBoats[i];
|
||||||
if (ferry->isActive == 1) {
|
if (paddleBoat->isActive == 1) {
|
||||||
temp_f26 = ferry->position[0];
|
temp_f26 = paddleBoat->position[0];
|
||||||
temp_f28 = ferry->position[1];
|
temp_f28 = paddleBoat->position[1];
|
||||||
temp_f30 = ferry->position[2];
|
temp_f30 = paddleBoat->position[2];
|
||||||
func_8000DBAC(ferry->position, &ferry->waypointIndex, ferry->someMultiplier);
|
func_8000DBAC(paddleBoat->position, &paddleBoat->waypointIndex, paddleBoat->someMultiplier);
|
||||||
ferry->someFlags = func_800061DC(ferry->position, 2000.0f, ferry->someFlags);
|
paddleBoat->someFlags = func_800061DC(paddleBoat->position, 2000.0f, paddleBoat->someFlags);
|
||||||
if ((((s16) D_801630FC % 10) == 0) && (ferry->someFlags != 0)) {
|
if ((((s16) D_801630FC % 10) == 0) && (paddleBoat->someFlags != 0)) {
|
||||||
sp78[0] = (f32) ((f64) ferry->position[0] - 30.0);
|
sp78[0] = (f32) ((f64) paddleBoat->position[0] - 30.0);
|
||||||
sp78[1] = (f32) ((f64) ferry->position[1] + 180.0);
|
sp78[1] = (f32) ((f64) paddleBoat->position[1] + 180.0);
|
||||||
sp78[2] = (f32) ((f64) ferry->position[2] + 45.0);
|
sp78[2] = (f32) ((f64) paddleBoat->position[2] + 45.0);
|
||||||
func_80006114(sp78, ferry->position, ferry->rotY);
|
func_80006114(sp78, paddleBoat->position, paddleBoat->rotY);
|
||||||
func_80075A6C(i, sp78, 1.1f);
|
func_80075A6C(i, sp78, 1.1f);
|
||||||
sp78[0] = (f32) ((f64) ferry->position[0] + 30.0);
|
sp78[0] = (f32) ((f64) paddleBoat->position[0] + 30.0);
|
||||||
sp78[1] = (f32) ((f64) ferry->position[1] + 180.0);
|
sp78[1] = (f32) ((f64) paddleBoat->position[1] + 180.0);
|
||||||
sp78[2] = (f32) ((f64) ferry->position[2] + 45.0);
|
sp78[2] = (f32) ((f64) paddleBoat->position[2] + 45.0);
|
||||||
func_80006114(sp78, ferry->position, ferry->rotY);
|
func_80006114(sp78, paddleBoat->position, paddleBoat->rotY);
|
||||||
func_80075A6C(i, sp78, 1.1f);
|
func_80075A6C(i, sp78, 1.1f);
|
||||||
}
|
}
|
||||||
if (random_int(100) == 0) {
|
if (random_int(100) == 0) {
|
||||||
if (random_int(2) == 0) {
|
if (random_int(2) == 0) {
|
||||||
func_800C98B8(ferry->position, ferry->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x47));
|
func_800C98B8(paddleBoat->position, paddleBoat->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x47));
|
||||||
} else {
|
} else {
|
||||||
func_800C98B8(ferry->position, ferry->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x48));
|
func_800C98B8(paddleBoat->position, paddleBoat->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x48));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sp94[0] = temp_f26;
|
sp94[0] = temp_f26;
|
||||||
sp94[1] = temp_f28;
|
sp94[1] = temp_f28;
|
||||||
sp94[2] = temp_f30;
|
sp94[2] = temp_f30;
|
||||||
waypoint = &D_80163598[(ferry->waypointIndex + 5) % D_8016359C];
|
waypoint = &D_80163598[(paddleBoat->waypointIndex + 5) % D_8016359C];
|
||||||
sp88[0] = (f32) waypoint->x;
|
sp88[0] = (f32) waypoint->x;
|
||||||
sp88[1] = (f32) D_80162EB0;
|
sp88[1] = (f32) D_80162EB0;
|
||||||
sp88[2] = (f32) waypoint->z;
|
sp88[2] = (f32) waypoint->z;
|
||||||
temp_a1 = func_80005FD0(sp94, sp88);
|
temp_a1 = func_80005FD0(sp94, sp88);
|
||||||
temp = temp_a1 - ferry->rotY;
|
temp = temp_a1 - paddleBoat->rotY;
|
||||||
var_v1 = temp;
|
var_v1 = temp;
|
||||||
if (var_v1 < 0) {
|
if (var_v1 < 0) {
|
||||||
var_v1 = -var_v1;
|
var_v1 = -var_v1;
|
||||||
}
|
}
|
||||||
if (var_v1 >= 0x1771) {
|
if (var_v1 >= 0x1771) {
|
||||||
if (ferry->someMultiplier > 0.2) {
|
if (paddleBoat->someMultiplier > 0.2) {
|
||||||
ferry->someMultiplier -= 0.04;
|
paddleBoat->someMultiplier -= 0.04;
|
||||||
}
|
}
|
||||||
if (var_v1 >= 0x3D) {
|
if (var_v1 >= 0x3D) {
|
||||||
var_v1 = 0x003C;
|
var_v1 = 0x003C;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (ferry->someMultiplier < 2.0) {
|
if (paddleBoat->someMultiplier < 2.0) {
|
||||||
ferry->someMultiplier += 0.02;
|
paddleBoat->someMultiplier += 0.02;
|
||||||
}
|
}
|
||||||
if (var_v1 >= 0x1F) {
|
if (var_v1 >= 0x1F) {
|
||||||
var_v1 = 0x001E;
|
var_v1 = 0x001E;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (temp >= 0x8000) {
|
if (temp >= 0x8000) {
|
||||||
ferry->rotY -= var_v1;
|
paddleBoat->rotY -= var_v1;
|
||||||
} else if (temp > 0) {
|
} else if (temp > 0) {
|
||||||
ferry->rotY += var_v1;
|
paddleBoat->rotY += var_v1;
|
||||||
} else if (temp < -0x7FFF) {
|
} else if (temp < -0x7FFF) {
|
||||||
ferry->rotY += var_v1;
|
paddleBoat->rotY += var_v1;
|
||||||
} else if (temp < 0) {
|
} else if (temp < 0) {
|
||||||
ferry->rotY -= var_v1;
|
paddleBoat->rotY -= var_v1;
|
||||||
}
|
}
|
||||||
ferry->velocity[0] = ferry->position[0] - temp_f26;
|
paddleBoat->velocity[0] = paddleBoat->position[0] - temp_f26;
|
||||||
ferry->velocity[1] = ferry->position[1] - temp_f28;
|
paddleBoat->velocity[1] = paddleBoat->position[1] - temp_f28;
|
||||||
ferry->velocity[2] = ferry->position[2] - temp_f30;
|
paddleBoat->velocity[2] = paddleBoat->position[2] - temp_f30;
|
||||||
ferryActor = &gActorList[ferry->actorIndex];
|
paddleBoatActor = &gActorList[paddleBoat->actorIndex];
|
||||||
ferryActor->pos[0] = ferry->position[0];
|
paddleBoatActor->pos[0] = paddleBoat->position[0];
|
||||||
ferryActor->pos[1] = ferry->position[1];
|
paddleBoatActor->pos[1] = paddleBoat->position[1];
|
||||||
ferryActor->pos[2] = ferry->position[2];
|
paddleBoatActor->pos[2] = paddleBoat->position[2];
|
||||||
if (gIsMirrorMode != 0) {
|
if (gIsMirrorMode != 0) {
|
||||||
ferryActor->rot[1] = -ferry->rotY;
|
paddleBoatActor->rot[1] = -paddleBoat->rotY;
|
||||||
} else {
|
} else {
|
||||||
ferryActor->rot[1] = ferry->rotY;
|
paddleBoatActor->rot[1] = paddleBoat->rotY;
|
||||||
}
|
}
|
||||||
ferryActor->velocity[0] = ferry->velocity[0];
|
paddleBoatActor->velocity[0] = paddleBoat->velocity[0];
|
||||||
ferryActor->velocity[1] = ferry->velocity[1];
|
paddleBoatActor->velocity[1] = paddleBoat->velocity[1];
|
||||||
ferryActor->velocity[2] = ferry->velocity[2];
|
paddleBoatActor->velocity[2] = paddleBoat->velocity[2];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80013854(Player *player) {
|
void func_80013854(Player *player) {
|
||||||
s32 someIndex;
|
s32 someIndex;
|
||||||
PaddleWheelBoatStuff *tempPaddleWheelBoat;
|
PaddleBoatStuff *tempPaddleWheelBoat;
|
||||||
f32 x_diff;
|
f32 x_diff;
|
||||||
f32 y_diff;
|
f32 y_diff;
|
||||||
f32 z_diff;
|
f32 z_diff;
|
||||||
|
|
@ -4954,8 +4954,8 @@ void func_80013854(Player *player) {
|
||||||
playerX = player->pos[0];
|
playerX = player->pos[0];
|
||||||
playerY = player->pos[1];
|
playerY = player->pos[1];
|
||||||
playerZ = player->pos[2];
|
playerZ = player->pos[2];
|
||||||
for (someIndex = 0; someIndex < NUM_ACTIVE_PADDLE_WHEEL_BOATS; someIndex++) {
|
for (someIndex = 0; someIndex < NUM_ACTIVE_PADDLE_BOATS; someIndex++) {
|
||||||
tempPaddleWheelBoat = &gFerries[someIndex];
|
tempPaddleWheelBoat = &gPaddleBoats[someIndex];
|
||||||
if (tempPaddleWheelBoat->isActive == 1) {
|
if (tempPaddleWheelBoat->isActive == 1) {
|
||||||
x_diff = playerX - tempPaddleWheelBoat->position[0];
|
x_diff = playerX - tempPaddleWheelBoat->position[0];
|
||||||
y_diff = playerY - tempPaddleWheelBoat->position[1];
|
y_diff = playerY - tempPaddleWheelBoat->position[1];
|
||||||
|
|
@ -5091,7 +5091,7 @@ void func_80013D20(VehicleStuff *vehicle) {
|
||||||
sp34[0] = vehicle->position[1];
|
sp34[0] = vehicle->position[1];
|
||||||
sp34[1] = 0.0f;
|
sp34[1] = 0.0f;
|
||||||
sp34[2] = sqrtf((temp_f0_3 * temp_f0_3) + (temp_f2_2 * temp_f2_2));
|
sp34[2] = sqrtf((temp_f0_3 * temp_f0_3) + (temp_f2_2 * temp_f2_2));
|
||||||
thing = get_angle_between_points(sp40, sp34);
|
thing = get_angle_between_two_vectors(sp40, sp34);
|
||||||
adjust_angle(&vehicle->rotation[0], -thing, 100);
|
adjust_angle(&vehicle->rotation[0], -thing, 100);
|
||||||
vehicle->velocity[0] = vehicle->position[0] - sp5C;
|
vehicle->velocity[0] = vehicle->position[0] - sp5C;
|
||||||
vehicle->velocity[1] = vehicle->position[1] - sp58;
|
vehicle->velocity[1] = vehicle->position[1] - sp58;
|
||||||
|
|
@ -8176,7 +8176,7 @@ void func_8001C14C(void) {
|
||||||
void func_8001C3C4(s32 cameraId) {
|
void func_8001C3C4(s32 cameraId) {
|
||||||
if (gCurrentCourseId == COURSE_AWARD_CEREMONY) {
|
if (gCurrentCourseId == COURSE_AWARD_CEREMONY) {
|
||||||
if (gBombKarts[0].waypointIndex >= 16) {
|
if (gBombKarts[0].waypointIndex >= 16) {
|
||||||
func_80057114(3);
|
func_80057114(PLAYER_FOUR);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (gModeSelection == VERSUS) {
|
if (gModeSelection == VERSUS) {
|
||||||
|
|
|
||||||
|
|
@ -83,7 +83,7 @@ void func_80009000(s32);
|
||||||
void func_800090F0(s32, Player*);
|
void func_800090F0(s32, Player*);
|
||||||
f32 func_80009258(s32, f32, f32);
|
f32 func_80009258(s32, f32, f32);
|
||||||
void func_8000929C(s32, Player*);
|
void func_8000929C(s32, Player*);
|
||||||
void func_800097E0(void);
|
void update_vehicles(void);
|
||||||
void func_800098FC(s32, Player*);
|
void func_800098FC(s32, Player*);
|
||||||
void func_800099EC(s32, Player*);
|
void func_800099EC(s32, Player*);
|
||||||
void func_80009B60(s32);
|
void func_80009B60(s32);
|
||||||
|
|
@ -123,7 +123,7 @@ s32 func_8000EDC8(s32);
|
||||||
s32 func_8000EE10(s32);
|
s32 func_8000EE10(s32);
|
||||||
void func_8000EE58(s32);
|
void func_8000EE58(s32);
|
||||||
void func_8000EEDC(void);
|
void func_8000EEDC(void);
|
||||||
void func_8000EF20(void);
|
void generate_player_smoke(void);
|
||||||
|
|
||||||
void func_8000F0E0(void);
|
void func_8000F0E0(void);
|
||||||
void func_8000F124(void);
|
void func_8000F124(void);
|
||||||
|
|
@ -159,13 +159,13 @@ void init_course_vehicles(void);
|
||||||
void func_80012780(TrainCarStuff*, s16*, u16);
|
void func_80012780(TrainCarStuff*, s16*, u16);
|
||||||
void func_800127E0(void);
|
void func_800127E0(void);
|
||||||
void func_80012A48(TrainCarStuff*, s16);
|
void func_80012A48(TrainCarStuff*, s16);
|
||||||
void func_80012AC0(void);
|
void update_vehicle_trains(void);
|
||||||
void func_80012DC0(s32, Player*);
|
void func_80012DC0(s32, Player*);
|
||||||
|
|
||||||
void func_80013054(void);
|
void func_80013054(void);
|
||||||
void func_800131DC(s32);
|
void func_800131DC(s32);
|
||||||
void func_800132F4(void);
|
void func_800132F4(void);
|
||||||
void func_800133C4(void);
|
void update_vehicle_paddle_boats(void);
|
||||||
void func_80013854(Player*);
|
void func_80013854(Player*);
|
||||||
void func_800139E4(f32, f32, s32, s32, VehicleStuff*, TrackWaypoint*);
|
void func_800139E4(f32, f32, s32, s32, VehicleStuff*, TrackWaypoint*);
|
||||||
f32 func_80013C74(s16, s16);
|
f32 func_80013C74(s16, s16);
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -7,6 +7,16 @@
|
||||||
|
|
||||||
// code_80057C60
|
// code_80057C60
|
||||||
|
|
||||||
|
#define RENDER_SCREEN_MODE_1P_PLAYER_ONE PLAYER_ONE+SCREEN_MODE_1P
|
||||||
|
#define RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_ONE PLAYER_ONE+SCREEN_MODE_2P_SPLITSCREEN_HORIZONTAL
|
||||||
|
#define RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_TWO PLAYER_TWO+SCREEN_MODE_2P_SPLITSCREEN_HORIZONTAL
|
||||||
|
#define RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_ONE PLAYER_ONE+SCREEN_MODE_2P_SPLITSCREEN_VERTICAL+1
|
||||||
|
#define RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_TWO PLAYER_TWO+SCREEN_MODE_2P_SPLITSCREEN_VERTICAL+1
|
||||||
|
#define RENDER_SCREEN_MODE_3P_4P_PLAYER_ONE PLAYER_ONE+SCREEN_MODE_3P_4P_SPLITSCREEN+5
|
||||||
|
#define RENDER_SCREEN_MODE_3P_4P_PLAYER_TWO PLAYER_TWO+SCREEN_MODE_3P_4P_SPLITSCREEN+5
|
||||||
|
#define RENDER_SCREEN_MODE_3P_4P_PLAYER_THREE PLAYER_THREE+SCREEN_MODE_3P_4P_SPLITSCREEN+5
|
||||||
|
#define RENDER_SCREEN_MODE_3P_4P_PLAYER_FOUR PLAYER_FOUR+SCREEN_MODE_3P_4P_SPLITSCREEN+5
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
char unk_00[0x4];
|
char unk_00[0x4];
|
||||||
Vec3f unk_04;
|
Vec3f unk_04;
|
||||||
|
|
@ -23,21 +33,21 @@ void func_80057CE4(void);
|
||||||
void func_80057DD0(void);
|
void func_80057DD0(void);
|
||||||
void func_80057FC4(u32);
|
void func_80057FC4(u32);
|
||||||
|
|
||||||
void func_80058090(u32);
|
void render_object(u32);
|
||||||
void func_800581C8(void);
|
void render_object_p1(void);
|
||||||
void func_800582CC(void);
|
void render_object_p2(void);
|
||||||
void func_80058394(void);
|
void render_object_p3(void);
|
||||||
void func_8005845C(void);
|
void render_object_p4(void);
|
||||||
void func_80058538(u32);
|
void render_player_snow_effect(u32);
|
||||||
void func_80058640(void);
|
void render_player_snow_effect_one(void);
|
||||||
void func_800586FC(void);
|
void render_player_snow_effect_two(void);
|
||||||
void func_800587A4(void);
|
void render_player_snow_effect_three(void);
|
||||||
void func_8005884C(void);
|
void render_player_snow_effect_four(void);
|
||||||
void func_800588F4(s32);
|
void render_object_for_player(s32);
|
||||||
void func_80058B58(s32);
|
void render_snowing_effect(s32);
|
||||||
void func_80058BF4(void);
|
void func_80058BF4(void);
|
||||||
void func_80058C20(u32);
|
void func_80058C20(u32);
|
||||||
void func_80058DB4(u32);
|
void render_hud(u32);
|
||||||
void func_80058F48(void);
|
void func_80058F48(void);
|
||||||
void func_80058F78(void);
|
void func_80058F78(void);
|
||||||
void func_80059AC8(void);
|
void func_80059AC8(void);
|
||||||
|
|
@ -47,23 +57,23 @@ void func_8005902C(void);
|
||||||
void func_800590D4(void);
|
void func_800590D4(void);
|
||||||
void func_800591B4(void);
|
void func_800591B4(void);
|
||||||
void func_80059358(void);
|
void func_80059358(void);
|
||||||
void func_80059360(void);
|
void render_hud_2p_horizontal_player_two_horizontal_player_one(void);
|
||||||
void func_800593F0(void);
|
void func_800593F0(void);
|
||||||
void func_800593F8(void);
|
void render_hud_2p_horizontal_player_two(void);
|
||||||
void func_80059488(s32);
|
void draw_simplified_hud(s32);
|
||||||
void func_800594F0(void);
|
void func_800594F0(void);
|
||||||
void func_800594F8(void);
|
void render_hud_2p_vertical_player_one(void);
|
||||||
void func_80059528(void);
|
void func_80059528(void);
|
||||||
void func_80059530(void);
|
void render_hud_2p_vertical_player_two(void);
|
||||||
void func_80059560(s32);
|
void render_hud_lap_3p_4p(s32);
|
||||||
void func_800596A8(void);
|
void func_800596A8(void);
|
||||||
void func_800596D8(void);
|
void render_hud_1p_multi(void);
|
||||||
void func_80059710(void);
|
void func_80059710(void);
|
||||||
void func_80059718(void);
|
void render_hud_2p_multi(void);
|
||||||
void func_80059750(void);
|
void func_80059750(void);
|
||||||
void func_80059780(void);
|
void render_hud_3p_multi(void);
|
||||||
void func_800597B8(void);
|
void func_800597B8(void);
|
||||||
void func_800597E8(void);
|
void render_hud_4p_multi(void);
|
||||||
void func_80059820(s32);
|
void func_80059820(s32);
|
||||||
void randomize_seed_from_controller(s32);
|
void randomize_seed_from_controller(s32);
|
||||||
void func_8005994C(void);
|
void func_8005994C(void);
|
||||||
|
|
@ -77,7 +87,7 @@ void func_8005A14C(s32);
|
||||||
void func_8005A380(void);
|
void func_8005A380(void);
|
||||||
void func_8005A3C0(void);
|
void func_8005A3C0(void);
|
||||||
void func_8005A71C(void);
|
void func_8005A71C(void);
|
||||||
void update_obj(void);
|
void update_object(void);
|
||||||
void func_8005A99C(void);
|
void func_8005A99C(void);
|
||||||
void func_8005AA34(void);
|
void func_8005AA34(void);
|
||||||
void func_8005AA4C(void);
|
void func_8005AA4C(void);
|
||||||
|
|
@ -311,7 +321,7 @@ extern s8 D_8016579C;
|
||||||
extern u16 D_8016579E;
|
extern u16 D_8016579E;
|
||||||
extern u16 D_801657A2;
|
extern u16 D_801657A2;
|
||||||
extern s8 D_801657AE;
|
extern s8 D_801657AE;
|
||||||
extern s8 D_801657B0;
|
extern s8 gHUDDisable;
|
||||||
extern s8 D_801657B2;
|
extern s8 D_801657B2;
|
||||||
extern s8 D_801657B4;
|
extern s8 D_801657B4;
|
||||||
extern s8 D_801657B8[];
|
extern s8 D_801657B8[];
|
||||||
|
|
@ -380,7 +390,7 @@ extern f32 D_80183DA8[];
|
||||||
// extern s32 gIndexLakituList[]; -> objects.h
|
// extern s32 gIndexLakituList[]; -> objects.h
|
||||||
|
|
||||||
extern f32 D_80183DC8[];
|
extern f32 D_80183DC8[];
|
||||||
// extern s32 D_80183DD8[]; -> bomb_kart.h
|
// extern s32 gIndexObjectBombKart[]; -> bomb_kart.h
|
||||||
// extern s32 gNextFreeObjectParticle1; -> objects.h
|
// extern s32 gNextFreeObjectParticle1; -> objects.h
|
||||||
|
|
||||||
extern Vec3f D_80183E40;
|
extern Vec3f D_80183E40;
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
#include "code_80057C60.h"
|
#include "code_80057C60.h"
|
||||||
#include "code_8006E9C0.h"
|
#include "code_8006E9C0.h"
|
||||||
#include "code_80086E70.h"
|
#include "code_80086E70.h"
|
||||||
#include "code_80071F00.h"
|
#include "update_objects.h"
|
||||||
#include "objects.h"
|
#include "objects.h"
|
||||||
#include "bomb_kart.h"
|
#include "bomb_kart.h"
|
||||||
#include "save.h"
|
#include "save.h"
|
||||||
|
|
@ -20,10 +20,10 @@
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "menus.h"
|
#include "menus.h"
|
||||||
#include "data/other_textures.h"
|
#include "data/other_textures.h"
|
||||||
#include "hud_renderer.h"
|
#include "render_objects.h"
|
||||||
#include "code_80091750.h"
|
#include "code_80091750.h"
|
||||||
|
|
||||||
void init_object_list(void) {
|
void init_hud(void) {
|
||||||
|
|
||||||
reset_object_variable();
|
reset_object_variable();
|
||||||
func_8006FA94();
|
func_8006FA94();
|
||||||
|
|
@ -543,8 +543,8 @@ void func_8006FA94(void) {
|
||||||
D_801657B2 = 0;
|
D_801657B2 = 0;
|
||||||
D_801657D8 = D_801657B2;
|
D_801657D8 = D_801657B2;
|
||||||
D_8018D214 = D_801657D8;
|
D_8018D214 = D_801657D8;
|
||||||
D_801657B0 = D_8018D214;
|
gHUDDisable = D_8018D214;
|
||||||
D_801657AE = D_801657B0;
|
D_801657AE = gHUDDisable;
|
||||||
D_8018D20C = 0;
|
D_8018D20C = 0;
|
||||||
D_8018D2F8 = 0;
|
D_8018D2F8 = 0;
|
||||||
D_8018D2F0 = D_8018D2F8;
|
D_8018D2F0 = D_8018D2F8;
|
||||||
|
|
@ -600,7 +600,7 @@ void init_object_list_index(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
for(loopIndex = 0; loopIndex < NUM_BOMB_KARTS_VERSUS; loopIndex++) {
|
for(loopIndex = 0; loopIndex < NUM_BOMB_KARTS_VERSUS; loopIndex++) {
|
||||||
find_unused_obj_index(&D_80183DD8[loopIndex]);
|
find_unused_obj_index(&gIndexObjectBombKart[loopIndex]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -616,7 +616,7 @@ void func_80070250(s32 objectIndex, s32 arg1, StarSpawn *arg2) {
|
||||||
temp_v0->sizeScaling = (f32) arg2->pos[2] / 100.0;
|
temp_v0->sizeScaling = (f32) arg2->pos[2] / 100.0;
|
||||||
temp_v0->activeTexture = &D_8018D220[arg2->id];
|
temp_v0->activeTexture = &D_8018D220[arg2->id];
|
||||||
func_80073404(objectIndex, 0x40U, 0x20U, &D_0D005FB0);
|
func_80073404(objectIndex, 0x40U, 0x20U, &D_0D005FB0);
|
||||||
temp_v0->unk_0A0 = 0x00FF;
|
temp_v0->primAlpha = 0x00FF;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80070328(StarSpawn *arg0) {
|
void func_80070328(StarSpawn *arg0) {
|
||||||
|
|
@ -780,7 +780,7 @@ void init_course_object(void) {
|
||||||
gObjectList[objectId].origin_pos[0] = gThowmpSpawnList[i].startX * xOrientation;
|
gObjectList[objectId].origin_pos[0] = gThowmpSpawnList[i].startX * xOrientation;
|
||||||
gObjectList[objectId].origin_pos[2] = gThowmpSpawnList[i].startZ;
|
gObjectList[objectId].origin_pos[2] = gThowmpSpawnList[i].startZ;
|
||||||
gObjectList[objectId].unk_0D5 = gThowmpSpawnList[i].unk_4;
|
gObjectList[objectId].unk_0D5 = gThowmpSpawnList[i].unk_4;
|
||||||
gObjectList[objectId].unk_0A0 = gThowmpSpawnList[i].unk_6;
|
gObjectList[objectId].primAlpha = gThowmpSpawnList[i].unk_6;
|
||||||
}
|
}
|
||||||
// Handle the big statue's fire breath
|
// Handle the big statue's fire breath
|
||||||
objectId = indexObjectList2[0];
|
objectId = indexObjectList2[0];
|
||||||
|
|
@ -805,7 +805,7 @@ void init_course_object(void) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case COURSE_BANSHEE_BOARDWALK:
|
case COURSE_BANSHEE_BOARDWALK:
|
||||||
if (gGamestate != 9) {
|
if (gGamestate != CREDITS_SEQUENCE) {
|
||||||
objectId = indexObjectList1[0];
|
objectId = indexObjectList1[0];
|
||||||
init_texture_object(objectId, d_course_banshee_boardwalk_bat_tlut, *d_course_banshee_boardwalk_bat, 0x20U, (u16) 0x00000040);
|
init_texture_object(objectId, d_course_banshee_boardwalk_bat_tlut, *d_course_banshee_boardwalk_bat, 0x20U, (u16) 0x00000040);
|
||||||
gObjectList[objectId].orientation[0] = 0;
|
gObjectList[objectId].orientation[0] = 0;
|
||||||
|
|
@ -816,10 +816,10 @@ void init_course_object(void) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case COURSE_YOSHI_VALLEY:
|
case COURSE_YOSHI_VALLEY:
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < NUM_YV_FLAG_POLES; i++) {
|
||||||
init_object(indexObjectList1[i], 0);
|
init_object(indexObjectList1[i], 0);
|
||||||
}
|
}
|
||||||
if (gGamestate != 9) {
|
if (gGamestate != CREDITS_SEQUENCE) {
|
||||||
for (i = 0; i < NUM_HEDGEHOGS; i++) {
|
for (i = 0; i < NUM_HEDGEHOGS; i++) {
|
||||||
objectId = indexObjectList2[i];
|
objectId = indexObjectList2[i];
|
||||||
init_object(objectId, 0);
|
init_object(objectId, 0);
|
||||||
|
|
@ -836,7 +836,7 @@ void init_course_object(void) {
|
||||||
for (i = 0; i < NUM_SNOWFLAKES; i++) {
|
for (i = 0; i < NUM_SNOWFLAKES; i++) {
|
||||||
find_unused_obj_index(&gObjectParticle1[i]);
|
find_unused_obj_index(&gObjectParticle1[i]);
|
||||||
}
|
}
|
||||||
if (gGamestate != 9) {
|
if (gGamestate != CREDITS_SEQUENCE) {
|
||||||
for (i = 0; i < NUM_SNOWMEN; i++) {
|
for (i = 0; i < NUM_SNOWMEN; i++) {
|
||||||
objectId = indexObjectList2[i];
|
objectId = indexObjectList2[i];
|
||||||
init_object(objectId, 0);
|
init_object(objectId, 0);
|
||||||
|
|
@ -853,7 +853,7 @@ void init_course_object(void) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case COURSE_KOOPA_BEACH:
|
case COURSE_KOOPA_BEACH:
|
||||||
if (gGamestate != 9) {
|
if (gGamestate != CREDITS_SEQUENCE) {
|
||||||
for (i = 0; i < NUM_CRABS; i++) {
|
for (i = 0; i < NUM_CRABS; i++) {
|
||||||
objectId = indexObjectList1[i];
|
objectId = indexObjectList1[i];
|
||||||
init_object(objectId, 0);
|
init_object(objectId, 0);
|
||||||
|
|
@ -875,7 +875,7 @@ void init_course_object(void) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case COURSE_ROYAL_RACEWAY:
|
case COURSE_ROYAL_RACEWAY:
|
||||||
if (gGamestate != 9) {
|
if (gGamestate != CREDITS_SEQUENCE) {
|
||||||
if (gModeSelection == GRAND_PRIX) {
|
if (gModeSelection == GRAND_PRIX) {
|
||||||
func_80070714();
|
func_80070714();
|
||||||
}
|
}
|
||||||
|
|
@ -886,7 +886,7 @@ void init_course_object(void) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case COURSE_LUIGI_RACEWAY:
|
case COURSE_LUIGI_RACEWAY:
|
||||||
if (gGamestate != 9) {
|
if (gGamestate != CREDITS_SEQUENCE) {
|
||||||
if (gModeSelection == GRAND_PRIX) {
|
if (gModeSelection == GRAND_PRIX) {
|
||||||
func_80070714();
|
func_80070714();
|
||||||
}
|
}
|
||||||
|
|
@ -899,7 +899,7 @@ void init_course_object(void) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case COURSE_MOO_MOO_FARM:
|
case COURSE_MOO_MOO_FARM:
|
||||||
if (gGamestate != 9) {
|
if (gGamestate != CREDITS_SEQUENCE) {
|
||||||
if ((gPlayerCount == 1) || ((gPlayerCount == 2) && (gModeSelection == VERSUS))) {
|
if ((gPlayerCount == 1) || ((gPlayerCount == 2) && (gModeSelection == VERSUS))) {
|
||||||
switch (gCCSelection) { /* switch 2; irregular */
|
switch (gCCSelection) { /* switch 2; irregular */
|
||||||
case CC_50: /* switch 2 */
|
case CC_50: /* switch 2 */
|
||||||
|
|
@ -955,7 +955,7 @@ void init_course_object(void) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case COURSE_KALAMARI_DESERT:
|
case COURSE_KALAMARI_DESERT:
|
||||||
if (gGamestate != 9) {
|
if (gGamestate != CREDITS_SEQUENCE) {
|
||||||
find_unused_obj_index(&D_8018CF10);
|
find_unused_obj_index(&D_8018CF10);
|
||||||
init_object(D_8018CF10, 0);
|
init_object(D_8018CF10, 0);
|
||||||
for (i = 0; i < 50; i++) {
|
for (i = 0; i < 50; i++) {
|
||||||
|
|
@ -975,7 +975,7 @@ void init_course_object(void) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case COURSE_RAINBOW_ROAD:
|
case COURSE_RAINBOW_ROAD:
|
||||||
if (gGamestate != 9) {
|
if (gGamestate != CREDITS_SEQUENCE) {
|
||||||
for (i = 0; i < NUM_NEON_SIGNS; i++) {
|
for (i = 0; i < NUM_NEON_SIGNS; i++) {
|
||||||
init_object(indexObjectList1[i], 0);
|
init_object(indexObjectList1[i], 0);
|
||||||
}
|
}
|
||||||
|
|
@ -986,7 +986,7 @@ void init_course_object(void) {
|
||||||
break;
|
break;
|
||||||
case COURSE_DK_JUNGLE:
|
case COURSE_DK_JUNGLE:
|
||||||
for (i = 0; i < NUM_TORCHES; i++) {
|
for (i = 0; i < NUM_TORCHES; i++) {
|
||||||
func_800770F0(i);
|
init_smoke_particles(i);
|
||||||
// wtf?
|
// wtf?
|
||||||
if (D_8018CF10){}
|
if (D_8018CF10){}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,9 @@
|
||||||
#define CODE_8006E9C0_H
|
#define CODE_8006E9C0_H
|
||||||
|
|
||||||
#include "common_structs.h"
|
#include "common_structs.h"
|
||||||
#include "code_80071F00.h"
|
#include "update_objects.h"
|
||||||
|
|
||||||
void init_object_list(void);
|
void init_hud(void);
|
||||||
void reset_object_variable(void);
|
void reset_object_variable(void);
|
||||||
void func_8006EB10(void);
|
void func_8006EB10(void);
|
||||||
void clear_object_list(void);
|
void clear_object_list(void);
|
||||||
|
|
@ -35,7 +35,7 @@ extern s16 D_800E5520[];
|
||||||
extern s16 D_800E5548[];
|
extern s16 D_800E5548[];
|
||||||
extern u8 *gCourseOutlineTextures[0x14]; // 800e54d0
|
extern u8 *gCourseOutlineTextures[0x14]; // 800e54d0
|
||||||
|
|
||||||
// These are found in data_code_80071F00
|
// These are found in data_update_objects
|
||||||
extern StarSpawn D_800E6A38[]; /* unable to generate initializer */
|
extern StarSpawn D_800E6A38[]; /* unable to generate initializer */
|
||||||
extern StarSpawn D_800E6AA8[]; /* unable to generate initializer */
|
extern StarSpawn D_800E6AA8[]; /* unable to generate initializer */
|
||||||
extern StarSpawn D_800E6B00[]; /* unable to generate initializer */
|
extern StarSpawn D_800E6B00[]; /* unable to generate initializer */
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
#include "math_util.h"
|
#include "math_util.h"
|
||||||
#include "math_util_2.h"
|
#include "math_util_2.h"
|
||||||
#include "racing/memory.h"
|
#include "racing/memory.h"
|
||||||
#include "code_80071F00.h"
|
#include "update_objects.h"
|
||||||
#include "collision.h"
|
#include "collision.h"
|
||||||
#include "audio/external.h"
|
#include "audio/external.h"
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
|
|
@ -18,13 +18,13 @@
|
||||||
|
|
||||||
void func_80086E70(s32 objectIndex) {
|
void func_80086E70(s32 objectIndex) {
|
||||||
gObjectList[objectIndex].unk_0AE = 1;// * 0xE0)) = 1;
|
gObjectList[objectIndex].unk_0AE = 1;// * 0xE0)) = 1;
|
||||||
set_object_flag_unk_054_false(objectIndex, 8);
|
set_object_flag_status_false(objectIndex, 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80086EAC(s32 objectIndex, s32 arg1, s16 arg2) {
|
void func_80086EAC(s32 objectIndex, s32 arg1, s16 arg2) {
|
||||||
gObjectList[objectIndex].unk_0DD = arg1;
|
gObjectList[objectIndex].unk_0DD = arg1;
|
||||||
gObjectList[objectIndex].unk_0AE = arg2;
|
gObjectList[objectIndex].unk_0AE = arg2;
|
||||||
set_object_flag_unk_054_false(objectIndex, 8);
|
set_object_flag_status_false(objectIndex, 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80086EF0(s32 objectIndex) {
|
void func_80086EF0(s32 objectIndex) {
|
||||||
|
|
@ -41,7 +41,7 @@ void func_80086F60(s32 objectIndex) {
|
||||||
gObjectList[objectIndex].unk_0AE = 0;
|
gObjectList[objectIndex].unk_0AE = 0;
|
||||||
gObjectList[objectIndex].unk_0DD = 0;
|
gObjectList[objectIndex].unk_0DD = 0;
|
||||||
gObjectList[objectIndex].unk_0DE = 0;
|
gObjectList[objectIndex].unk_0DE = 0;
|
||||||
set_object_flag_unk_054_false(objectIndex, 8);
|
set_object_flag_status_false(objectIndex, 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool func_80086FA4(s32 objectIndex) {
|
bool func_80086FA4(s32 objectIndex) {
|
||||||
|
|
@ -53,12 +53,12 @@ bool func_80086FA4(s32 objectIndex) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80086FD4(s32 objectIndex) {
|
void func_80086FD4(s32 objectIndex) {
|
||||||
set_object_flag_unk_054_false(objectIndex, 8);
|
set_object_flag_status_false(objectIndex, 8);
|
||||||
gObjectList[objectIndex].unk_0AE += 1;
|
gObjectList[objectIndex].unk_0AE += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8008701C(s32 objectIndex, s32 arg1) {
|
void func_8008701C(s32 objectIndex, s32 arg1) {
|
||||||
set_object_flag_unk_054_false(objectIndex, 8);
|
set_object_flag_status_false(objectIndex, 8);
|
||||||
gObjectList[objectIndex].unk_0AE = arg1;
|
gObjectList[objectIndex].unk_0AE = arg1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -66,13 +66,13 @@ s32 func_80087060(s32 objectIndex, s32 arg1) {
|
||||||
s32 sp1C;
|
s32 sp1C;
|
||||||
|
|
||||||
sp1C = 0;
|
sp1C = 0;
|
||||||
if (is_obj_index_flag_unk_054_inactive(objectIndex, 8) != FALSE) {
|
if (is_obj_index_flag_status_inactive(objectIndex, 8) != FALSE) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 8);
|
set_object_flag_status_true(objectIndex, 8);
|
||||||
gObjectList[objectIndex].unk_0B0 = arg1;
|
gObjectList[objectIndex].unk_0B0 = arg1;
|
||||||
}
|
}
|
||||||
gObjectList[objectIndex].unk_0B0--;
|
gObjectList[objectIndex].unk_0B0--;
|
||||||
if (gObjectList[objectIndex].unk_0B0 < 0) {
|
if (gObjectList[objectIndex].unk_0B0 < 0) {
|
||||||
set_object_flag_unk_054_false(objectIndex, 8);
|
set_object_flag_status_false(objectIndex, 8);
|
||||||
sp1C = 1;
|
sp1C = 1;
|
||||||
}
|
}
|
||||||
return sp1C;
|
return sp1C;
|
||||||
|
|
@ -82,13 +82,13 @@ s32 func_80087104(s32 objectIndex, u16 arg1) {
|
||||||
s32 sp24;
|
s32 sp24;
|
||||||
|
|
||||||
sp24 = 0;
|
sp24 = 0;
|
||||||
if (is_obj_index_flag_unk_054_inactive(objectIndex, 8) != FALSE) {
|
if (is_obj_index_flag_status_inactive(objectIndex, 8) != FALSE) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 8);
|
set_object_flag_status_true(objectIndex, 8);
|
||||||
gObjectList[objectIndex].unk_0B0 = random_int(arg1);
|
gObjectList[objectIndex].unk_0B0 = random_int(arg1);
|
||||||
}
|
}
|
||||||
gObjectList[objectIndex].unk_0B0--;
|
gObjectList[objectIndex].unk_0B0--;
|
||||||
if (gObjectList[objectIndex].unk_0B0 < 0) {
|
if (gObjectList[objectIndex].unk_0B0 < 0) {
|
||||||
set_object_flag_unk_054_false(objectIndex, 8);
|
set_object_flag_status_false(objectIndex, 8);
|
||||||
sp24 = 1;
|
sp24 = 1;
|
||||||
}
|
}
|
||||||
return sp24;
|
return sp24;
|
||||||
|
|
@ -98,13 +98,13 @@ s32 func_800871AC(s32 objectIndex, s32 arg1) {
|
||||||
s32 sp24;
|
s32 sp24;
|
||||||
|
|
||||||
sp24 = 0;
|
sp24 = 0;
|
||||||
if (is_obj_index_flag_unk_054_inactive(objectIndex, 8) != FALSE) {
|
if (is_obj_index_flag_status_inactive(objectIndex, 8) != FALSE) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 8);
|
set_object_flag_status_true(objectIndex, 8);
|
||||||
gObjectList[objectIndex].unk_0B0 = (s16) arg1;
|
gObjectList[objectIndex].unk_0B0 = (s16) arg1;
|
||||||
}
|
}
|
||||||
gObjectList[objectIndex].unk_0B0--;
|
gObjectList[objectIndex].unk_0B0--;
|
||||||
if (gObjectList[objectIndex].unk_0B0 < 0) {
|
if (gObjectList[objectIndex].unk_0B0 < 0) {
|
||||||
set_object_flag_unk_054_false(objectIndex, 8);
|
set_object_flag_status_false(objectIndex, 8);
|
||||||
func_80086FD4(objectIndex);
|
func_80086FD4(objectIndex);
|
||||||
sp24 = 1;
|
sp24 = 1;
|
||||||
}
|
}
|
||||||
|
|
@ -112,12 +112,12 @@ s32 func_800871AC(s32 objectIndex, s32 arg1) {
|
||||||
}
|
}
|
||||||
|
|
||||||
UNUSED void func_80087258(s32 objectIndex, UNUSED s32 arg1, f32 arg2) {
|
UNUSED void func_80087258(s32 objectIndex, UNUSED s32 arg1, f32 arg2) {
|
||||||
gObjectList[objectIndex].unk_028[1] += arg2;
|
gObjectList[objectIndex].offset[1] += arg2;
|
||||||
gObjectList[objectIndex].unk_028[2] -= arg2;
|
gObjectList[objectIndex].offset[2] -= arg2;
|
||||||
}
|
}
|
||||||
|
|
||||||
UNUSED s32 func_80087294(s32 objectIndex, Player *player) {
|
UNUSED s32 get_angle_between_player_object(s32 objectIndex, Player *player) {
|
||||||
return func_80041770(player->pos[0], gObjectList[objectIndex].pos[0], player->pos[2], gObjectList[objectIndex].pos[2]);
|
return get_angle_between_xy(player->pos[0], gObjectList[objectIndex].pos[0], player->pos[2], gObjectList[objectIndex].pos[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 angle_between_object_camera(s32 objectIndex, Camera *camera) {
|
s32 angle_between_object_camera(s32 objectIndex, Camera *camera) {
|
||||||
|
|
@ -173,41 +173,41 @@ void func_80087620(s32 objectIndex) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_800876A0(s32 objectIndex) {
|
void func_800876A0(s32 objectIndex) {
|
||||||
gObjectList[objectIndex].unk_028[0] += gObjectList[objectIndex].unk_034 * sins(gObjectList[objectIndex].direction_angle[1]);
|
gObjectList[objectIndex].offset[0] += gObjectList[objectIndex].unk_034 * sins(gObjectList[objectIndex].direction_angle[1]);
|
||||||
gObjectList[objectIndex].unk_028[2] += gObjectList[objectIndex].unk_034 * coss(gObjectList[objectIndex].direction_angle[1]);
|
gObjectList[objectIndex].offset[2] += gObjectList[objectIndex].unk_034 * coss(gObjectList[objectIndex].direction_angle[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80087710(s32 objectIndex) {
|
void object_add_velocity_offset_xyz(s32 objectIndex) {
|
||||||
gObjectList[objectIndex].unk_028[0] += gObjectList[objectIndex].velocity[0];
|
gObjectList[objectIndex].offset[0] += gObjectList[objectIndex].velocity[0];
|
||||||
gObjectList[objectIndex].unk_028[1] += gObjectList[objectIndex].velocity[1];
|
gObjectList[objectIndex].offset[1] += gObjectList[objectIndex].velocity[1];
|
||||||
gObjectList[objectIndex].unk_028[2] += gObjectList[objectIndex].velocity[2];
|
gObjectList[objectIndex].offset[2] += gObjectList[objectIndex].velocity[2];
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8008775C(s32 objectIndex) {
|
void object_add_velocity_offset_xz(s32 objectIndex) {
|
||||||
gObjectList[objectIndex].unk_028[0] += gObjectList[objectIndex].velocity[0];
|
gObjectList[objectIndex].offset[0] += gObjectList[objectIndex].velocity[0];
|
||||||
gObjectList[objectIndex].unk_028[2] += gObjectList[objectIndex].velocity[2];
|
gObjectList[objectIndex].offset[2] += gObjectList[objectIndex].velocity[2];
|
||||||
}
|
}
|
||||||
|
|
||||||
UNUSED void func_80087798(s32 objectIndex) {
|
UNUSED void object_add_velocity_offset_x(s32 objectIndex) {
|
||||||
gObjectList[objectIndex].unk_028[0] += gObjectList[objectIndex].velocity[0];
|
gObjectList[objectIndex].offset[0] += gObjectList[objectIndex].velocity[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_800877C4(s32 objectIndex) {
|
void object_add_velocity_offset_y(s32 objectIndex) {
|
||||||
gObjectList[objectIndex].unk_028[1] += gObjectList[objectIndex].velocity[1];
|
gObjectList[objectIndex].offset[1] += gObjectList[objectIndex].velocity[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
UNUSED void func_800877F0(s32 objectIndex) {
|
UNUSED void object_add_velocity_offset_z(s32 objectIndex) {
|
||||||
gObjectList[objectIndex].unk_028[2] += gObjectList[objectIndex].velocity[2];
|
gObjectList[objectIndex].offset[2] += gObjectList[objectIndex].velocity[2];
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8008781C(s32 arg0) {
|
void func_8008781C(s32 arg0) {
|
||||||
func_8008751C(arg0);
|
func_8008751C(arg0);
|
||||||
func_8008775C(arg0);
|
object_add_velocity_offset_xz(arg0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80087844(s32 arg0) {
|
void func_80087844(s32 arg0) {
|
||||||
func_8008757C(arg0);
|
func_8008757C(arg0);
|
||||||
func_80087710(arg0);
|
object_add_velocity_offset_xyz(arg0);
|
||||||
}
|
}
|
||||||
|
|
||||||
f32 func_8008786C(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4) {
|
f32 func_8008786C(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4) {
|
||||||
|
|
@ -218,17 +218,17 @@ s32 func_8008789C(s32 objectIndex, s32 arg1) {
|
||||||
s32 sp24;
|
s32 sp24;
|
||||||
|
|
||||||
sp24 = 0;
|
sp24 = 0;
|
||||||
if (is_obj_index_flag_unk_054_inactive(objectIndex, 8) != FALSE) {
|
if (is_obj_index_flag_status_inactive(objectIndex, 8) != FALSE) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 8);
|
set_object_flag_status_true(objectIndex, 8);
|
||||||
func_8008751C(objectIndex);
|
func_8008751C(objectIndex);
|
||||||
gObjectList[objectIndex].unk_0B0 = arg1;
|
gObjectList[objectIndex].unk_0B0 = arg1;
|
||||||
}
|
}
|
||||||
gObjectList[objectIndex].unk_0B0--;
|
gObjectList[objectIndex].unk_0B0--;
|
||||||
if (gObjectList[objectIndex].unk_0B0 < 0) {
|
if (gObjectList[objectIndex].unk_0B0 < 0) {
|
||||||
set_object_flag_unk_054_false(objectIndex, 8);
|
set_object_flag_status_false(objectIndex, 8);
|
||||||
sp24 = 1;
|
sp24 = 1;
|
||||||
} else {
|
} else {
|
||||||
func_8008775C(objectIndex);
|
object_add_velocity_offset_xz(objectIndex);
|
||||||
}
|
}
|
||||||
return sp24;
|
return sp24;
|
||||||
}
|
}
|
||||||
|
|
@ -237,17 +237,17 @@ s32 func_80087954(s32 objectIndex, s32 arg1) {
|
||||||
s32 sp24;
|
s32 sp24;
|
||||||
|
|
||||||
sp24 = 0;
|
sp24 = 0;
|
||||||
if (is_obj_index_flag_unk_054_inactive(objectIndex, 8) != FALSE) {
|
if (is_obj_index_flag_status_inactive(objectIndex, 8) != FALSE) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 8);
|
set_object_flag_status_true(objectIndex, 8);
|
||||||
func_80087620(objectIndex);
|
func_80087620(objectIndex);
|
||||||
gObjectList[objectIndex].unk_0B0 = arg1;
|
gObjectList[objectIndex].unk_0B0 = arg1;
|
||||||
}
|
}
|
||||||
gObjectList[objectIndex].unk_0B0--;
|
gObjectList[objectIndex].unk_0B0--;
|
||||||
if (gObjectList[objectIndex].unk_0B0 < 0) {
|
if (gObjectList[objectIndex].unk_0B0 < 0) {
|
||||||
set_object_flag_unk_054_false(objectIndex, 8);
|
set_object_flag_status_false(objectIndex, 8);
|
||||||
sp24 = 1;
|
sp24 = 1;
|
||||||
} else {
|
} else {
|
||||||
func_8008775C(objectIndex);
|
object_add_velocity_offset_xz(objectIndex);
|
||||||
}
|
}
|
||||||
return sp24;
|
return sp24;
|
||||||
}
|
}
|
||||||
|
|
@ -259,8 +259,8 @@ bool func_80087A0C(s32 objectIndex, s16 arg1, s16 arg2, s16 arg3, s16 arg4) {
|
||||||
bool sp2C;
|
bool sp2C;
|
||||||
|
|
||||||
sp2C = FALSE;
|
sp2C = FALSE;
|
||||||
if (is_obj_index_flag_unk_054_inactive(objectIndex, 8) != FALSE) {
|
if (is_obj_index_flag_status_inactive(objectIndex, 8) != FALSE) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 8);
|
set_object_flag_status_true(objectIndex, 8);
|
||||||
temp_v0 = arg2 - arg1;
|
temp_v0 = arg2 - arg1;
|
||||||
temp_a0 = arg4 - arg3;
|
temp_a0 = arg4 - arg3;
|
||||||
dist = sqrtf((temp_v0 * temp_v0) + (temp_a0 * temp_a0));
|
dist = sqrtf((temp_v0 * temp_v0) + (temp_a0 * temp_a0));
|
||||||
|
|
@ -271,10 +271,10 @@ bool func_80087A0C(s32 objectIndex, s16 arg1, s16 arg2, s16 arg3, s16 arg4) {
|
||||||
}
|
}
|
||||||
gObjectList[objectIndex].unk_0B0--;
|
gObjectList[objectIndex].unk_0B0--;
|
||||||
if (gObjectList[objectIndex].unk_0B0 < 0) {
|
if (gObjectList[objectIndex].unk_0B0 < 0) {
|
||||||
set_object_flag_unk_054_false(objectIndex, 8);
|
set_object_flag_status_false(objectIndex, 8);
|
||||||
sp2C = TRUE;
|
sp2C = TRUE;
|
||||||
} else {
|
} else {
|
||||||
func_8008775C(objectIndex);
|
object_add_velocity_offset_xz(objectIndex);
|
||||||
}
|
}
|
||||||
return sp2C;
|
return sp2C;
|
||||||
}
|
}
|
||||||
|
|
@ -283,13 +283,13 @@ s32 func_80087B84(s32 objectIndex, f32 arg1, f32 arg2) {
|
||||||
s32 sp24;
|
s32 sp24;
|
||||||
|
|
||||||
sp24 = 0;
|
sp24 = 0;
|
||||||
if (is_obj_index_flag_unk_054_inactive(objectIndex, 8) != FALSE) {
|
if (is_obj_index_flag_status_inactive(objectIndex, 8) != FALSE) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 8);
|
set_object_flag_status_true(objectIndex, 8);
|
||||||
gObjectList[objectIndex].velocity[1] = -arg1;
|
gObjectList[objectIndex].velocity[1] = -arg1;
|
||||||
}
|
}
|
||||||
func_800877C4(objectIndex);
|
object_add_velocity_offset_y(objectIndex);
|
||||||
if (gObjectList[objectIndex].pos[1] <= arg2) {
|
if (gObjectList[objectIndex].pos[1] <= arg2) {
|
||||||
set_object_flag_unk_054_false(objectIndex, 8);
|
set_object_flag_status_false(objectIndex, 8);
|
||||||
func_80086FD4(objectIndex);
|
func_80086FD4(objectIndex);
|
||||||
sp24 = 1;
|
sp24 = 1;
|
||||||
}
|
}
|
||||||
|
|
@ -300,19 +300,19 @@ s32 func_80087C48(s32 objectIndex, f32 arg1, f32 arg2, s32 arg3) {
|
||||||
s32 sp24;
|
s32 sp24;
|
||||||
|
|
||||||
sp24 = 0;
|
sp24 = 0;
|
||||||
if (is_obj_index_flag_unk_054_inactive(objectIndex, 8) != FALSE) {
|
if (is_obj_index_flag_status_inactive(objectIndex, 8) != FALSE) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 8);
|
set_object_flag_status_true(objectIndex, 8);
|
||||||
gObjectList[objectIndex].velocity[1] = arg1;
|
gObjectList[objectIndex].velocity[1] = arg1;
|
||||||
gObjectList[objectIndex].unk_0B0 = (s16) arg3;
|
gObjectList[objectIndex].unk_0B0 = (s16) arg3;
|
||||||
}
|
}
|
||||||
gObjectList[objectIndex].unk_0B0--;
|
gObjectList[objectIndex].unk_0B0--;
|
||||||
if (gObjectList[objectIndex].unk_0B0 < 0) {
|
if (gObjectList[objectIndex].unk_0B0 < 0) {
|
||||||
set_object_flag_unk_054_false(objectIndex, 8);
|
set_object_flag_status_false(objectIndex, 8);
|
||||||
func_80086FD4(objectIndex);
|
func_80086FD4(objectIndex);
|
||||||
sp24 = 1;
|
sp24 = 1;
|
||||||
} else {
|
} else {
|
||||||
gObjectList[objectIndex].velocity[1] -= arg2;
|
gObjectList[objectIndex].velocity[1] -= arg2;
|
||||||
func_800877C4(objectIndex);
|
object_add_velocity_offset_y(objectIndex);
|
||||||
}
|
}
|
||||||
return sp24;
|
return sp24;
|
||||||
}
|
}
|
||||||
|
|
@ -321,15 +321,15 @@ s32 func_80087D24(s32 objectIndex, f32 arg1, f32 arg2, f32 arg3) {
|
||||||
s32 sp24;
|
s32 sp24;
|
||||||
|
|
||||||
sp24 = 0;
|
sp24 = 0;
|
||||||
if (is_obj_index_flag_unk_054_inactive(objectIndex, 8) != 0) {
|
if (is_obj_index_flag_status_inactive(objectIndex, 8) != 0) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 8);
|
set_object_flag_status_true(objectIndex, 8);
|
||||||
gObjectList[objectIndex].velocity[1] = arg1;
|
gObjectList[objectIndex].velocity[1] = arg1;
|
||||||
}
|
}
|
||||||
gObjectList[objectIndex].velocity[1] -= arg2;
|
gObjectList[objectIndex].velocity[1] -= arg2;
|
||||||
func_800877C4(objectIndex);
|
object_add_velocity_offset_y(objectIndex);
|
||||||
if (gObjectList[objectIndex].unk_028[1] <= arg3) {
|
if (gObjectList[objectIndex].offset[1] <= arg3) {
|
||||||
set_object_flag_unk_054_false(objectIndex, 8);
|
set_object_flag_status_false(objectIndex, 8);
|
||||||
gObjectList[objectIndex].unk_028[1] = arg3;
|
gObjectList[objectIndex].offset[1] = arg3;
|
||||||
func_80086FD4(objectIndex);
|
func_80086FD4(objectIndex);
|
||||||
sp24 = 1;
|
sp24 = 1;
|
||||||
}
|
}
|
||||||
|
|
@ -341,11 +341,11 @@ bool func_80087E08(s32 objectIndex, f32 arg1, f32 arg2, f32 arg3, s16 arg4, s32
|
||||||
UNUSED s32 pad;
|
UNUSED s32 pad;
|
||||||
|
|
||||||
sp2C = FALSE;
|
sp2C = FALSE;
|
||||||
if (is_obj_index_flag_unk_054_inactive(objectIndex, 8) != 0) {
|
if (is_obj_index_flag_status_inactive(objectIndex, 8) != 0) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 8);
|
set_object_flag_status_true(objectIndex, 8);
|
||||||
gObjectList[objectIndex].unk_028[2] = 0.0f;
|
gObjectList[objectIndex].offset[2] = 0.0f;
|
||||||
gObjectList[objectIndex].unk_028[1] = 0.0f;
|
gObjectList[objectIndex].offset[1] = 0.0f;
|
||||||
gObjectList[objectIndex].unk_028[0] = 0.0f;
|
gObjectList[objectIndex].offset[0] = 0.0f;
|
||||||
gObjectList[objectIndex].unk_034 = arg3;
|
gObjectList[objectIndex].unk_034 = arg3;
|
||||||
gObjectList[objectIndex].velocity[1] = arg1;
|
gObjectList[objectIndex].velocity[1] = arg1;
|
||||||
gObjectList[objectIndex].direction_angle[1] = arg4;
|
gObjectList[objectIndex].direction_angle[1] = arg4;
|
||||||
|
|
@ -354,12 +354,12 @@ bool func_80087E08(s32 objectIndex, f32 arg1, f32 arg2, f32 arg3, s16 arg4, s32
|
||||||
}
|
}
|
||||||
gObjectList[objectIndex].unk_0B0--;
|
gObjectList[objectIndex].unk_0B0--;
|
||||||
if (gObjectList[objectIndex].unk_0B0 < 0) {
|
if (gObjectList[objectIndex].unk_0B0 < 0) {
|
||||||
set_object_flag_unk_054_false(objectIndex, 8);
|
set_object_flag_status_false(objectIndex, 8);
|
||||||
func_80086FD4(objectIndex);
|
func_80086FD4(objectIndex);
|
||||||
sp2C = TRUE;
|
sp2C = TRUE;
|
||||||
} else {
|
} else {
|
||||||
gObjectList[objectIndex].velocity[1] -= arg2;
|
gObjectList[objectIndex].velocity[1] -= arg2;
|
||||||
func_80087710(objectIndex);
|
object_add_velocity_offset_xyz(objectIndex);
|
||||||
}
|
}
|
||||||
return sp2C;
|
return sp2C;
|
||||||
}
|
}
|
||||||
|
|
@ -369,24 +369,24 @@ UNUSED s32 func_80087F14(s32 objectIndex, f32 arg1, f32 arg2, f32 arg3, s16 arg4
|
||||||
UNUSED s32 stackPadding;
|
UNUSED s32 stackPadding;
|
||||||
|
|
||||||
sp2C = 0;
|
sp2C = 0;
|
||||||
if (is_obj_index_flag_unk_054_inactive(objectIndex, 8) != 0) {
|
if (is_obj_index_flag_status_inactive(objectIndex, 8) != 0) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 8);
|
set_object_flag_status_true(objectIndex, 8);
|
||||||
gObjectList[objectIndex].unk_028[2] = 0.0f;
|
gObjectList[objectIndex].offset[2] = 0.0f;
|
||||||
gObjectList[objectIndex].unk_028[1] = 0.0f;
|
gObjectList[objectIndex].offset[1] = 0.0f;
|
||||||
gObjectList[objectIndex].unk_028[0] = 0.0f;
|
gObjectList[objectIndex].offset[0] = 0.0f;
|
||||||
gObjectList[objectIndex].unk_034 = arg3;
|
gObjectList[objectIndex].unk_034 = arg3;
|
||||||
gObjectList[objectIndex].velocity[1] = arg1;
|
gObjectList[objectIndex].velocity[1] = arg1;
|
||||||
gObjectList[objectIndex].direction_angle[1] = arg4;
|
gObjectList[objectIndex].direction_angle[1] = arg4;
|
||||||
func_8008751C(objectIndex);
|
func_8008751C(objectIndex);
|
||||||
gObjectList[objectIndex].unk_0B0 = gVBlankTimer;
|
gObjectList[objectIndex].unk_0B0 = gVBlankTimer;
|
||||||
}
|
}
|
||||||
if (gObjectList[objectIndex].unk_028[1] <= arg5) {
|
if (gObjectList[objectIndex].offset[1] <= arg5) {
|
||||||
set_object_flag_unk_054_false(objectIndex, 8);
|
set_object_flag_status_false(objectIndex, 8);
|
||||||
func_80086FD4(objectIndex);
|
func_80086FD4(objectIndex);
|
||||||
sp2C = 1;
|
sp2C = 1;
|
||||||
} else {
|
} else {
|
||||||
gObjectList[objectIndex].velocity[1] -= arg2;
|
gObjectList[objectIndex].velocity[1] -= arg2;
|
||||||
func_80087710(objectIndex);
|
object_add_velocity_offset_xyz(objectIndex);
|
||||||
}
|
}
|
||||||
return sp2C;
|
return sp2C;
|
||||||
}
|
}
|
||||||
|
|
@ -395,13 +395,13 @@ void func_80088038(s32 objectIndex, f32 arg1, u16 arg2) {
|
||||||
f32 temp_f4;
|
f32 temp_f4;
|
||||||
f32 sp20;
|
f32 sp20;
|
||||||
|
|
||||||
temp_f4 = gObjectList[objectIndex].unk_028[0];
|
temp_f4 = gObjectList[objectIndex].offset[0];
|
||||||
sp20 = gObjectList[objectIndex].unk_028[2];
|
sp20 = gObjectList[objectIndex].offset[2];
|
||||||
gObjectList[objectIndex].unk_0C4 += arg2;
|
gObjectList[objectIndex].unk_0C4 += arg2;
|
||||||
gObjectList[objectIndex].unk_028[0] = sins(gObjectList[objectIndex].unk_0C4) * arg1;
|
gObjectList[objectIndex].offset[0] = sins(gObjectList[objectIndex].unk_0C4) * arg1;
|
||||||
gObjectList[objectIndex].unk_028[2] = coss(gObjectList[objectIndex].unk_0C4) * arg1;
|
gObjectList[objectIndex].offset[2] = coss(gObjectList[objectIndex].unk_0C4) * arg1;
|
||||||
gObjectList[objectIndex].velocity[0] = gObjectList[objectIndex].unk_028[0] - temp_f4;
|
gObjectList[objectIndex].velocity[0] = gObjectList[objectIndex].offset[0] - temp_f4;
|
||||||
gObjectList[objectIndex].velocity[2] = gObjectList[objectIndex].unk_028[2] - sp20;
|
gObjectList[objectIndex].velocity[2] = gObjectList[objectIndex].offset[2] - sp20;
|
||||||
}
|
}
|
||||||
|
|
||||||
UNUSED void func_800880DC(void) {
|
UNUSED void func_800880DC(void) {
|
||||||
|
|
@ -449,9 +449,9 @@ void func_80088228(s32 objectIndex) {
|
||||||
but for some unholy reason that doesn't match
|
but for some unholy reason that doesn't match
|
||||||
*/
|
*/
|
||||||
temp_v0->unk_084[8] = *((s16*)temp_v0->controlPoints - 1);
|
temp_v0->unk_084[8] = *((s16*)temp_v0->controlPoints - 1);
|
||||||
temp_v0->unk_028[0] = temp_v0->controlPoints[0].pos[0];
|
temp_v0->offset[0] = temp_v0->controlPoints[0].pos[0];
|
||||||
temp_v0->unk_028[1] = temp_v0->controlPoints[0].pos[1];
|
temp_v0->offset[1] = temp_v0->controlPoints[0].pos[1];
|
||||||
temp_v0->unk_028[2] = temp_v0->controlPoints[0].pos[2];
|
temp_v0->offset[2] = temp_v0->controlPoints[0].pos[2];
|
||||||
func_80086FD4(objectIndex);
|
func_80086FD4(objectIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -463,9 +463,9 @@ s32 func_800882B0(s32 objectIndex, s32 arg1) {
|
||||||
s32 var_v1;
|
s32 var_v1;
|
||||||
|
|
||||||
var_v1 = 0;
|
var_v1 = 0;
|
||||||
temp_f0 = (s32)((D_80165760[1] - gObjectList[objectIndex].unk_028[0]) * (D_80165760[1] - gObjectList[objectIndex].unk_028[0]));
|
temp_f0 = (s32)((D_80165760[1] - gObjectList[objectIndex].offset[0]) * (D_80165760[1] - gObjectList[objectIndex].offset[0]));
|
||||||
temp_f12 = (s32)((D_80165770[1] - gObjectList[objectIndex].unk_028[1]) * (D_80165770[1] - gObjectList[objectIndex].unk_028[1]));
|
temp_f12 = (s32)((D_80165770[1] - gObjectList[objectIndex].offset[1]) * (D_80165770[1] - gObjectList[objectIndex].offset[1]));
|
||||||
temp_f2 = (s32)((D_80165780[1] - gObjectList[objectIndex].unk_028[2]) * (D_80165780[1] - gObjectList[objectIndex].unk_028[2]));
|
temp_f2 = (s32)((D_80165780[1] - gObjectList[objectIndex].offset[2]) * (D_80165780[1] - gObjectList[objectIndex].offset[2]));
|
||||||
if ((temp_f0 + temp_f12 + temp_f2 - (arg1 * arg1)) <= 0) {
|
if ((temp_f0 + temp_f12 + temp_f2 - (arg1 * arg1)) <= 0) {
|
||||||
var_v1 = 1;
|
var_v1 = 1;
|
||||||
}
|
}
|
||||||
|
|
@ -509,12 +509,12 @@ s32 func_8008847C(s32 objectIndex) {
|
||||||
s32 sp2C;
|
s32 sp2C;
|
||||||
|
|
||||||
sp2C = 0;
|
sp2C = 0;
|
||||||
set_object_flag_unk_054_false(objectIndex, 0x00800000);
|
set_object_flag_status_false(objectIndex, 0x00800000);
|
||||||
if (is_obj_index_flag_unk_054_active(objectIndex, 0x00000400) != 0) {
|
if (is_obj_flag_status_active(objectIndex, 0x00000400) != 0) {
|
||||||
func_802ADDC8(&D_8018C3B0, 10.0f, gObjectList[objectIndex].pos[0], 20.0f, gObjectList[objectIndex].pos[2]);
|
func_802ADDC8(&D_8018C3B0, 10.0f, gObjectList[objectIndex].pos[0], 20.0f, gObjectList[objectIndex].pos[2]);
|
||||||
if (D_8018C3B0.unk34 == 1) {
|
if (D_8018C3B0.unk34 == 1) {
|
||||||
sp2C = 1;
|
sp2C = 1;
|
||||||
set_object_flag_unk_054_true(objectIndex, 0x00800000);
|
set_object_flag_status_true(objectIndex, 0x00800000);
|
||||||
}
|
}
|
||||||
gObjectList[objectIndex].unk_044 = func_802ABE30(gObjectList[objectIndex].pos[0], 0.0f, gObjectList[objectIndex].pos[2], D_8018C3B0.unk3A);
|
gObjectList[objectIndex].unk_044 = func_802ABE30(gObjectList[objectIndex].pos[0], 0.0f, gObjectList[objectIndex].pos[2], D_8018C3B0.unk3A);
|
||||||
}
|
}
|
||||||
|
|
@ -525,12 +525,12 @@ s32 func_80088538(s32 objectIndex) {
|
||||||
s32 sp2C;
|
s32 sp2C;
|
||||||
|
|
||||||
sp2C = 0;
|
sp2C = 0;
|
||||||
set_object_flag_unk_054_false(objectIndex, 0x00800000);
|
set_object_flag_status_false(objectIndex, 0x00800000);
|
||||||
if (is_obj_index_flag_unk_054_active(objectIndex, 0x00000400) != 0) {
|
if (is_obj_flag_status_active(objectIndex, 0x00000400) != 0) {
|
||||||
func_802ADDC8(&D_8018C3B0, 10.0f, gObjectList[objectIndex].pos[0], 20.0f, gObjectList[objectIndex].pos[2]);
|
func_802ADDC8(&D_8018C3B0, 10.0f, gObjectList[objectIndex].pos[0], 20.0f, gObjectList[objectIndex].pos[2]);
|
||||||
if (D_8018C3B0.unk34 == 1) {
|
if (D_8018C3B0.unk34 == 1) {
|
||||||
sp2C = 1;
|
sp2C = 1;
|
||||||
set_object_flag_unk_054_true(objectIndex, 0x00800000);
|
set_object_flag_status_true(objectIndex, 0x00800000);
|
||||||
}
|
}
|
||||||
gObjectList[objectIndex].unk_044 = func_802ABE30(gObjectList[objectIndex].pos[0], 0.0f, gObjectList[objectIndex].pos[2], D_8018C3B0.unk3A);
|
gObjectList[objectIndex].unk_044 = func_802ABE30(gObjectList[objectIndex].pos[0], 0.0f, gObjectList[objectIndex].pos[2], D_8018C3B0.unk3A);
|
||||||
gObjectList[objectIndex].unk_0B8[0] = atan2s(D_8018C3B0.orientationVector[2], D_8018C3B0.orientationVector[1]) + 0x4000;
|
gObjectList[objectIndex].unk_0B8[0] = atan2s(D_8018C3B0.orientationVector[2], D_8018C3B0.orientationVector[1]) + 0x4000;
|
||||||
|
|
@ -543,12 +543,12 @@ s32 func_8008861C(s32 objectIndex) {
|
||||||
s32 sp2C;
|
s32 sp2C;
|
||||||
|
|
||||||
sp2C = 0;
|
sp2C = 0;
|
||||||
set_object_flag_unk_054_false(objectIndex, 0x00800000);
|
set_object_flag_status_false(objectIndex, 0x00800000);
|
||||||
if (is_obj_index_flag_unk_054_active(objectIndex, 0x00000400) != 0) {
|
if (is_obj_flag_status_active(objectIndex, 0x00000400) != 0) {
|
||||||
func_802ADDC8(&D_8018C3B0, 10.0f, gObjectList[objectIndex].pos[0], 20.0f, gObjectList[objectIndex].pos[2]);
|
func_802ADDC8(&D_8018C3B0, 10.0f, gObjectList[objectIndex].pos[0], 20.0f, gObjectList[objectIndex].pos[2]);
|
||||||
if (D_8018C3B0.unk34 == 1) {
|
if (D_8018C3B0.unk34 == 1) {
|
||||||
sp2C = 1;
|
sp2C = 1;
|
||||||
set_object_flag_unk_054_true(objectIndex, 0x00800000);
|
set_object_flag_status_true(objectIndex, 0x00800000);
|
||||||
}
|
}
|
||||||
gObjectList[objectIndex].unk_044 = func_802ABE30(gObjectList[objectIndex].pos[0], 0.0f, gObjectList[objectIndex].pos[2], D_8018C3B0.unk3A);
|
gObjectList[objectIndex].unk_044 = func_802ABE30(gObjectList[objectIndex].pos[0], 0.0f, gObjectList[objectIndex].pos[2], D_8018C3B0.unk3A);
|
||||||
gObjectList[objectIndex].unk_01C[0] = D_8018C3B0.orientationVector[0];
|
gObjectList[objectIndex].unk_01C[0] = D_8018C3B0.orientationVector[0];
|
||||||
|
|
@ -561,26 +561,26 @@ s32 func_8008861C(s32 objectIndex) {
|
||||||
void func_800886F4(s32 objectIndex) {
|
void func_800886F4(s32 objectIndex) {
|
||||||
func_802ADDC8(&D_8018C3B0, 10.0f, gObjectList[objectIndex].pos[0], 20.0f, gObjectList[objectIndex].pos[2]);
|
func_802ADDC8(&D_8018C3B0, 10.0f, gObjectList[objectIndex].pos[0], 20.0f, gObjectList[objectIndex].pos[2]);
|
||||||
if (D_8018C3B0.unk34 == 1) {
|
if (D_8018C3B0.unk34 == 1) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 0x00800000);
|
set_object_flag_status_true(objectIndex, 0x00800000);
|
||||||
gObjectList[objectIndex].unk_044 = func_802ABE30(gObjectList[objectIndex].pos[0], 0.0f, gObjectList[objectIndex].pos[2], D_8018C3B0.unk3A);
|
gObjectList[objectIndex].unk_044 = func_802ABE30(gObjectList[objectIndex].pos[0], 0.0f, gObjectList[objectIndex].pos[2], D_8018C3B0.unk3A);
|
||||||
gObjectList[objectIndex].unk_0B8[0] = atan2s(D_8018C3B0.orientationVector[2], D_8018C3B0.orientationVector[1]) + 0x4000;
|
gObjectList[objectIndex].unk_0B8[0] = atan2s(D_8018C3B0.orientationVector[2], D_8018C3B0.orientationVector[1]) + 0x4000;
|
||||||
gObjectList[objectIndex].unk_0B8[2] = atan2s(D_8018C3B0.orientationVector[0], D_8018C3B0.orientationVector[1]);
|
gObjectList[objectIndex].unk_0B8[2] = atan2s(D_8018C3B0.orientationVector[0], D_8018C3B0.orientationVector[1]);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
set_object_flag_unk_054_false(objectIndex, 0x00800000);
|
set_object_flag_status_false(objectIndex, 0x00800000);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_800887C0(s32 objectIndex) {
|
void func_800887C0(s32 objectIndex) {
|
||||||
func_802ADDC8(&D_8018C3B0, 10.0f, gObjectList[objectIndex].pos[0], 20.0f, gObjectList[objectIndex].pos[2]);
|
func_802ADDC8(&D_8018C3B0, 10.0f, gObjectList[objectIndex].pos[0], 20.0f, gObjectList[objectIndex].pos[2]);
|
||||||
if (D_8018C3B0.unk34 == 1) {
|
if (D_8018C3B0.unk34 == 1) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 0x00800000);
|
set_object_flag_status_true(objectIndex, 0x00800000);
|
||||||
gObjectList[objectIndex].unk_044 = func_802ABE30(gObjectList[objectIndex].pos[0], 0.0f, gObjectList[objectIndex].pos[2], D_8018C3B0.unk3A);
|
gObjectList[objectIndex].unk_044 = func_802ABE30(gObjectList[objectIndex].pos[0], 0.0f, gObjectList[objectIndex].pos[2], D_8018C3B0.unk3A);
|
||||||
gObjectList[objectIndex].velocity[0] = D_8018C3B0.orientationVector[0];
|
gObjectList[objectIndex].velocity[0] = D_8018C3B0.orientationVector[0];
|
||||||
gObjectList[objectIndex].velocity[1] = D_8018C3B0.orientationVector[1];
|
gObjectList[objectIndex].velocity[1] = D_8018C3B0.orientationVector[1];
|
||||||
gObjectList[objectIndex].velocity[2] = D_8018C3B0.orientationVector[2];
|
gObjectList[objectIndex].velocity[2] = D_8018C3B0.orientationVector[2];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
set_object_flag_unk_054_false(objectIndex, 0x00800000);
|
set_object_flag_status_false(objectIndex, 0x00800000);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -1038,7 +1038,7 @@ void func_80089474(s32 objectIndex, s32 playerId, f32 arg2, f32 arg3, u32 soundB
|
||||||
Player *player;
|
Player *player;
|
||||||
|
|
||||||
player = &gPlayerOne[playerId];
|
player = &gPlayerOne[playerId];
|
||||||
if (is_obj_index_flag_unk_054_active(objectIndex, 0x04000000) != 0) {
|
if (is_obj_flag_status_active(objectIndex, 0x04000000) != 0) {
|
||||||
func_80072180();
|
func_80072180();
|
||||||
}
|
}
|
||||||
if ((func_8008933C(player, objectIndex, arg2, arg3) >= 4.0) && ((player->type & PLAYER_CPU) != PLAYER_CPU)) {
|
if ((func_8008933C(player, objectIndex, arg2, arg3) >= 4.0) && ((player->type & PLAYER_CPU) != PLAYER_CPU)) {
|
||||||
|
|
@ -1063,10 +1063,10 @@ s32 func_800895E4(s32 objectIndex) {
|
||||||
|
|
||||||
var_s6 = 0;
|
var_s6 = 0;
|
||||||
player = gPlayerOne;
|
player = gPlayerOne;
|
||||||
if (is_obj_index_flag_unk_054_active(objectIndex, 0x00000200) != 0) {
|
if (is_obj_flag_status_active(objectIndex, 0x00000200) != 0) {
|
||||||
for (var_s1 = 0; var_s1 < D_8018D158; var_s1++, player++) {
|
for (var_s1 = 0; var_s1 < D_8018D158; var_s1++, player++) {
|
||||||
if ((gObjectList[objectIndex].state != 0) && (has_collided_horizontally_with_player(objectIndex, player) != 0)) {
|
if ((gObjectList[objectIndex].state != 0) && (has_collided_horizontally_with_player(objectIndex, player) != 0)) {
|
||||||
if (is_obj_index_flag_unk_054_active(objectIndex, 0x04000000) != 0) {
|
if (is_obj_flag_status_active(objectIndex, 0x04000000) != 0) {
|
||||||
func_80072180();
|
func_80072180();
|
||||||
}
|
}
|
||||||
var_s6 = 1;
|
var_s6 = 1;
|
||||||
|
|
@ -1081,11 +1081,11 @@ void func_800896D4(s32 objectIndex, f32 arg1, f32 arg2) {
|
||||||
s32 var_s1;
|
s32 var_s1;
|
||||||
|
|
||||||
player = gPlayerOne;
|
player = gPlayerOne;
|
||||||
if (is_obj_index_flag_unk_054_active(objectIndex, 0x00000200) != 0) {
|
if (is_obj_flag_status_active(objectIndex, 0x00000200) != 0) {
|
||||||
for (var_s1 = 0; var_s1 < D_8018D158; var_s1++, player++) {
|
for (var_s1 = 0; var_s1 < D_8018D158; var_s1++, player++) {
|
||||||
if ((gObjectList[objectIndex].state != 0) && !(player->effects & (STAR_EFFECT | BOO_EFFECT)) && (has_collided_horizontally_with_player(objectIndex, player) != 0)) {
|
if ((gObjectList[objectIndex].state != 0) && !(player->effects & (STAR_EFFECT | BOO_EFFECT)) && (has_collided_horizontally_with_player(objectIndex, player) != 0)) {
|
||||||
func_8008933C(player, objectIndex, arg1, arg2 * 1.1);
|
func_8008933C(player, objectIndex, arg1, arg2 * 1.1);
|
||||||
if (is_obj_index_flag_unk_054_active(objectIndex, 0x04000000) != 0) {
|
if (is_obj_flag_status_active(objectIndex, 0x04000000) != 0) {
|
||||||
func_80072180();
|
func_80072180();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1098,15 +1098,15 @@ void func_80089820(s32 objectIndex, f32 arg1, f32 arg2, u32 arg3) {
|
||||||
s32 var_s1;
|
s32 var_s1;
|
||||||
|
|
||||||
player = gPlayerOne;
|
player = gPlayerOne;
|
||||||
set_object_flag_unk_054_false(objectIndex, 0x02000000);
|
set_object_flag_status_false(objectIndex, 0x02000000);
|
||||||
if (is_obj_index_flag_unk_054_active(objectIndex, 0x00000200) != 0) {
|
if (is_obj_flag_status_active(objectIndex, 0x00000200) != 0) {
|
||||||
for (var_s1 = 0; var_s1 < D_8018D158; var_s1++, player++) {
|
for (var_s1 = 0; var_s1 < D_8018D158; var_s1++, player++) {
|
||||||
if ((gObjectList[objectIndex].state != 0) && !(player->effects & BOO_EFFECT)) {
|
if ((gObjectList[objectIndex].state != 0) && !(player->effects & BOO_EFFECT)) {
|
||||||
if ((player->type & PLAYER_EXISTS) && !(player->type & PLAYER_INVISIBLE_OR_BOMB) && (has_collided_horizontally_with_player(objectIndex, player) != 0)) {
|
if ((player->type & PLAYER_EXISTS) && !(player->type & PLAYER_INVISIBLE_OR_BOMB) && (has_collided_horizontally_with_player(objectIndex, player) != 0)) {
|
||||||
if (player->effects & STAR_EFFECT) {
|
if (player->effects & STAR_EFFECT) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 0x02000000);
|
set_object_flag_status_true(objectIndex, 0x02000000);
|
||||||
} else {
|
} else {
|
||||||
if (is_obj_index_flag_unk_054_active(objectIndex, 0x04000000) != 0) {
|
if (is_obj_flag_status_active(objectIndex, 0x04000000) != 0) {
|
||||||
func_80072180();
|
func_80072180();
|
||||||
}
|
}
|
||||||
if ((func_8008933C(player, objectIndex, arg1, arg2 * 1.1) >= 4.0) && ((player->type & PLAYER_CPU) != PLAYER_CPU)) {
|
if ((func_8008933C(player, objectIndex, arg1, arg2 * 1.1) >= 4.0) && ((player->type & PLAYER_CPU) != PLAYER_CPU)) {
|
||||||
|
|
@ -1124,11 +1124,11 @@ void func_80089A04(s32 objectIndex, f32 arg1, f32 arg2) {
|
||||||
s32 var_s1;
|
s32 var_s1;
|
||||||
|
|
||||||
player = gPlayerOne;
|
player = gPlayerOne;
|
||||||
if (is_obj_index_flag_unk_054_active(objectIndex, 0x00000200) != 0) {
|
if (is_obj_flag_status_active(objectIndex, 0x00000200) != 0) {
|
||||||
for (var_s1 = 0; var_s1 < D_8018D158; var_s1++, player++) {
|
for (var_s1 = 0; var_s1 < D_8018D158; var_s1++, player++) {
|
||||||
if ((gObjectList[objectIndex].state != 0) && !(player->effects & (BOO_EFFECT | STAR_EFFECT)) && (has_collided_with_player(objectIndex, player) != 0)) {
|
if ((gObjectList[objectIndex].state != 0) && !(player->effects & (BOO_EFFECT | STAR_EFFECT)) && (has_collided_with_player(objectIndex, player) != 0)) {
|
||||||
func_8008933C(player, objectIndex, arg1, arg2 * 1.1);
|
func_8008933C(player, objectIndex, arg1, arg2 * 1.1);
|
||||||
if (is_obj_index_flag_unk_054_active(objectIndex, 0x04000000) != 0) {
|
if (is_obj_flag_status_active(objectIndex, 0x04000000) != 0) {
|
||||||
func_80072180();
|
func_80072180();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1145,12 +1145,12 @@ s32 func_80089B50(s32 objectIndex) {
|
||||||
test = 0;
|
test = 0;
|
||||||
sp40 = 0;
|
sp40 = 0;
|
||||||
player = gPlayerOne;
|
player = gPlayerOne;
|
||||||
if (is_obj_index_flag_unk_054_active(objectIndex, 0x00000200) != 0) {
|
if (is_obj_flag_status_active(objectIndex, 0x00000200) != 0) {
|
||||||
for (var_s1 = 0; var_s1 < D_8018D158; var_s1++, player++, test++) {
|
for (var_s1 = 0; var_s1 < D_8018D158; var_s1++, player++, test++) {
|
||||||
if ((gObjectList[objectIndex].state != 0) && !(player->effects & 0x81000000) && (player->type & PLAYER_EXISTS) && !(player->type & PLAYER_INVISIBLE_OR_BOMB) && (has_collided_horizontally_with_player(objectIndex, player) != 0)) {
|
if ((gObjectList[objectIndex].state != 0) && !(player->effects & 0x81000000) && (player->type & PLAYER_EXISTS) && !(player->type & PLAYER_INVISIBLE_OR_BOMB) && (has_collided_horizontally_with_player(objectIndex, player) != 0)) {
|
||||||
if (!(player->effects & STAR_EFFECT)) {
|
if (!(player->effects & STAR_EFFECT)) {
|
||||||
player->soundEffects |= REVERSE_SOUND_EFFECT;
|
player->soundEffects |= REVERSE_SOUND_EFFECT;
|
||||||
if (is_obj_index_flag_unk_054_active(objectIndex, 0x04000000) != 0) {
|
if (is_obj_flag_status_active(objectIndex, 0x04000000) != 0) {
|
||||||
func_80072180();
|
func_80072180();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -1170,13 +1170,13 @@ s32 func_80089CBC(s32 objectIndex, f32 arg1) {
|
||||||
|
|
||||||
var_s7 = 0;
|
var_s7 = 0;
|
||||||
player = gPlayerOne;
|
player = gPlayerOne;
|
||||||
if (is_obj_index_flag_unk_054_active(objectIndex, 0x00000200) != 0) {
|
if (is_obj_flag_status_active(objectIndex, 0x00000200) != 0) {
|
||||||
for (var_s1 = 0; var_s1 < D_8018D158; var_s1++, player++) {
|
for (var_s1 = 0; var_s1 < D_8018D158; var_s1++, player++) {
|
||||||
if ((gObjectList[objectIndex].state != 0) && !(player->effects & 0x81000000)) {
|
if ((gObjectList[objectIndex].state != 0) && !(player->effects & 0x81000000)) {
|
||||||
if ((player->type & PLAYER_EXISTS) && !(player->type & PLAYER_INVISIBLE_OR_BOMB) && (has_collided_with_player_and_within_height(objectIndex, player, arg1) != 0)) {
|
if ((player->type & PLAYER_EXISTS) && !(player->type & PLAYER_INVISIBLE_OR_BOMB) && (has_collided_with_player_and_within_height(objectIndex, player, arg1) != 0)) {
|
||||||
if (!(player->effects & STAR_EFFECT)) {
|
if (!(player->effects & STAR_EFFECT)) {
|
||||||
player->soundEffects |= REVERSE_SOUND_EFFECT;
|
player->soundEffects |= REVERSE_SOUND_EFFECT;
|
||||||
if (is_obj_index_flag_unk_054_active(objectIndex, 0x04000000) != 0) {
|
if (is_obj_flag_status_active(objectIndex, 0x04000000) != 0) {
|
||||||
func_80072180();
|
func_80072180();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1195,7 +1195,7 @@ s32 func_80089E18(s32 objectIndex) {
|
||||||
|
|
||||||
var_s6 = 0;
|
var_s6 = 0;
|
||||||
player = gPlayerOne;
|
player = gPlayerOne;
|
||||||
if (is_obj_index_flag_unk_054_active(objectIndex, 0x00000200) != 0) {
|
if (is_obj_flag_status_active(objectIndex, 0x00000200) != 0) {
|
||||||
for (var_s1 = 0; var_s1 < D_8018D158; var_s1++, player++) {
|
for (var_s1 = 0; var_s1 < D_8018D158; var_s1++, player++) {
|
||||||
if ((gObjectList[objectIndex].state != 0) && !(player->effects & 0x800000C0) && (has_collided_horizontally_with_player(objectIndex, player) != 0)) {
|
if ((gObjectList[objectIndex].state != 0) && !(player->effects & 0x800000C0) && (has_collided_horizontally_with_player(objectIndex, player) != 0)) {
|
||||||
if (player->effects & STAR_EFFECT) {
|
if (player->effects & STAR_EFFECT) {
|
||||||
|
|
@ -1216,12 +1216,12 @@ s32 func_80089F24(s32 objectIndex) {
|
||||||
|
|
||||||
var_s7 = 0;
|
var_s7 = 0;
|
||||||
player = gPlayerOne;
|
player = gPlayerOne;
|
||||||
if (is_obj_index_flag_unk_054_active(objectIndex, 0x00000200) != 0) {
|
if (is_obj_flag_status_active(objectIndex, 0x00000200) != 0) {
|
||||||
for (var_s1 = 0; var_s1 < D_8018D158; var_s1++, player++) {
|
for (var_s1 = 0; var_s1 < D_8018D158; var_s1++, player++) {
|
||||||
if ((gObjectList[objectIndex].state != 0) && !(player->effects & 0x800002C0)) {
|
if ((gObjectList[objectIndex].state != 0) && !(player->effects & 0x800002C0)) {
|
||||||
if ((player->type & PLAYER_EXISTS) && !(player->type & PLAYER_INVISIBLE_OR_BOMB) && (has_collided_horizontally_with_player(objectIndex, player) != 0)) {
|
if ((player->type & PLAYER_EXISTS) && !(player->type & PLAYER_INVISIBLE_OR_BOMB) && (has_collided_horizontally_with_player(objectIndex, player) != 0)) {
|
||||||
var_s7 = 1;
|
var_s7 = 1;
|
||||||
if (is_obj_index_flag_unk_054_active(objectIndex, 0x04000000) != 0) {
|
if (is_obj_flag_status_active(objectIndex, 0x04000000) != 0) {
|
||||||
func_80072180();
|
func_80072180();
|
||||||
}
|
}
|
||||||
player->soundEffects |= 0x200000;
|
player->soundEffects |= 0x200000;
|
||||||
|
|
@ -1262,14 +1262,14 @@ s32 func_8008A0B4(s32 objectIndex, Player *player, Camera *camera, u16 arg3) {
|
||||||
return var_t0;
|
return var_t0;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_8008A140(s32 objectIndex, Camera *camera, u16 arg2) {
|
bool is_object_visible_on_camera(s32 objectIndex, Camera *camera, u16 angle) {
|
||||||
u16 temp_t2;
|
u16 temp_t2;
|
||||||
s32 var_t0;
|
s32 var_t0;
|
||||||
|
|
||||||
var_t0 = 0;
|
var_t0 = FALSE;
|
||||||
temp_t2 = (func_80041770(camera->pos[0], gObjectList[objectIndex].pos[0], camera->pos[2], gObjectList[objectIndex].pos[2]) + ((s32) arg2 / 2)) - camera->rot[1];
|
temp_t2 = (get_angle_between_xy(camera->pos[0], gObjectList[objectIndex].pos[0], camera->pos[2], gObjectList[objectIndex].pos[2]) + ((s32) angle / 2)) - camera->rot[1];
|
||||||
if ((temp_t2 >= 0) && (arg2 >= temp_t2)) {
|
if ((temp_t2 >= 0) && (angle >= temp_t2)) {
|
||||||
var_t0 = 1;
|
var_t0 = TRUE;
|
||||||
}
|
}
|
||||||
return var_t0;
|
return var_t0;
|
||||||
}
|
}
|
||||||
|
|
@ -1280,7 +1280,7 @@ void func_8008A1D0(s32 objectIndex, s32 cameraId, s32 arg2, s32 arg3) {
|
||||||
Camera *camera;
|
Camera *camera;
|
||||||
|
|
||||||
camera = &camera1[cameraId];
|
camera = &camera1[cameraId];
|
||||||
set_object_flag_unk_054_false(objectIndex, 0x00140000);
|
set_object_flag_status_false(objectIndex, 0x00100000 | VISIBLE);
|
||||||
temp_v0 = get_horizontal_distance_to_camera(objectIndex, camera);
|
temp_v0 = get_horizontal_distance_to_camera(objectIndex, camera);
|
||||||
if (temp_v0 < 0x2711U) {
|
if (temp_v0 < 0x2711U) {
|
||||||
var_a2 = 0x5555;
|
var_a2 = 0x5555;
|
||||||
|
|
@ -1289,10 +1289,10 @@ void func_8008A1D0(s32 objectIndex, s32 cameraId, s32 arg2, s32 arg3) {
|
||||||
} else {
|
} else {
|
||||||
var_a2 = 0x2AAB;
|
var_a2 = 0x2AAB;
|
||||||
}
|
}
|
||||||
if ((func_8008A140(objectIndex, camera, var_a2) != 0) && ((u32) (arg3 * arg3) >= temp_v0)) {
|
if ((is_object_visible_on_camera(objectIndex, camera, var_a2) != 0) && ((u32) (arg3 * arg3) >= temp_v0)) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 0x00040000);
|
set_object_flag_status_true(objectIndex, VISIBLE);
|
||||||
if (temp_v0 >= (u32) (arg2 * arg2)) {
|
if (temp_v0 >= (u32) (arg2 * arg2)) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 0x00100000);
|
set_object_flag_status_true(objectIndex, 0x00100000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1304,7 +1304,7 @@ UNUSED void func_8008A2CC(s32 objectIndex, s32 cameraId, u16 arg2) {
|
||||||
u16 var_a2;
|
u16 var_a2;
|
||||||
|
|
||||||
camera = &camera1[cameraId];
|
camera = &camera1[cameraId];
|
||||||
set_object_flag_unk_054_false(objectIndex, 0x00040000);
|
set_object_flag_status_false(objectIndex, VISIBLE);
|
||||||
if (no_init < 0x2711U) {
|
if (no_init < 0x2711U) {
|
||||||
var_a2 = 0x5555;
|
var_a2 = 0x5555;
|
||||||
} else if (no_init < 0x9C41U) {
|
} else if (no_init < 0x9C41U) {
|
||||||
|
|
@ -1312,40 +1312,40 @@ UNUSED void func_8008A2CC(s32 objectIndex, s32 cameraId, u16 arg2) {
|
||||||
} else {
|
} else {
|
||||||
var_a2 = arg2;
|
var_a2 = arg2;
|
||||||
}
|
}
|
||||||
if (func_8008A140(objectIndex, camera, var_a2) != 0) {
|
if (is_object_visible_on_camera(objectIndex, camera, var_a2) != 0) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 0x00040000);
|
set_object_flag_status_true(objectIndex, VISIBLE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_8008A364(s32 objectIndex, s32 cameraId, u16 arg2, s32 arg3) {
|
s32 func_8008A364(s32 objectIndex, s32 cameraId, u16 arg2, s32 arg3) {
|
||||||
Camera *camera;
|
Camera *camera;
|
||||||
u32 var_v1;
|
u32 dist;
|
||||||
u16 var_a2;
|
u16 var_a2;
|
||||||
|
|
||||||
camera = &camera1[cameraId];
|
camera = &camera1[cameraId];
|
||||||
set_object_flag_unk_054_false(objectIndex, 0x00060000);
|
set_object_flag_status_false(objectIndex, 0x00020000 | VISIBLE);
|
||||||
var_v1 = get_horizontal_distance_to_camera(objectIndex, camera);
|
dist = get_horizontal_distance_to_camera(objectIndex, camera);
|
||||||
if (var_v1 < (arg3 * arg3)) {
|
if (dist < (arg3 * arg3)) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 0x00020000);
|
set_object_flag_status_true(objectIndex, 0x00020000);
|
||||||
if (var_v1 < 0x2711U) {
|
if (dist < 0x2711U) {
|
||||||
var_a2 = 0x5555;
|
var_a2 = 0x5555;
|
||||||
} else if (var_v1 < 0x9C41U) {
|
} else if (dist < 0x9C41U) {
|
||||||
var_a2 = 0x4000;
|
var_a2 = 0x4000;
|
||||||
} else {
|
} else {
|
||||||
var_a2 = arg2;
|
var_a2 = arg2;
|
||||||
}
|
}
|
||||||
if (func_8008A140(objectIndex, camera, var_a2) != 0) {
|
if (is_object_visible_on_camera(objectIndex, camera, var_a2) != 0) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 0x00040000);
|
set_object_flag_status_true(objectIndex, VISIBLE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return var_v1;
|
return dist;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8008A454(s32 objectIndex, s32 cameraId, s32 arg2) {
|
void func_8008A454(s32 objectIndex, s32 cameraId, s32 arg2) {
|
||||||
if (get_horizontal_distance_to_camera(objectIndex, &camera1[cameraId]) < (u32) (arg2 * arg2)) {
|
if (get_horizontal_distance_to_camera(objectIndex, &camera1[cameraId]) < (u32) (arg2 * arg2)) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 0x00000020);
|
set_object_flag_status_true(objectIndex, 0x00000020);
|
||||||
} else {
|
} else {
|
||||||
set_object_flag_unk_054_false(objectIndex, 0x00000020);
|
set_object_flag_status_false(objectIndex, 0x00000020);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1353,16 +1353,16 @@ void func_8008A4CC(s32 objectIndex) {
|
||||||
s32 loopIndex;
|
s32 loopIndex;
|
||||||
Camera *camera;
|
Camera *camera;
|
||||||
|
|
||||||
set_object_flag_unk_054_false(objectIndex, 0x00070000);
|
set_object_flag_status_false(objectIndex, 0x00070000);
|
||||||
for (loopIndex = 0, camera = camera1; loopIndex < gPlayerCountSelection1; loopIndex++, camera++) {
|
for (loopIndex = 0, camera = camera1; loopIndex < gPlayerCountSelection1; loopIndex++, camera++) {
|
||||||
if (gObjectList[objectIndex].state != 0) {
|
if (gObjectList[objectIndex].state != 0) {
|
||||||
if ((D_8018CF68[loopIndex] >= (gObjectList[objectIndex].unk_0DF - 1)) && ((gObjectList[objectIndex].unk_0DF + 1) >= D_8018CF68[loopIndex])) {
|
if ((D_8018CF68[loopIndex] >= (gObjectList[objectIndex].unk_0DF - 1)) && ((gObjectList[objectIndex].unk_0DF + 1) >= D_8018CF68[loopIndex])) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 0x00010000);
|
set_object_flag_status_true(objectIndex, 0x00010000);
|
||||||
if (D_8018CF68[loopIndex] == gObjectList[objectIndex].unk_0DF) {
|
if (D_8018CF68[loopIndex] == gObjectList[objectIndex].unk_0DF) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 0x00020000);
|
set_object_flag_status_true(objectIndex, 0x00020000);
|
||||||
}
|
}
|
||||||
if (func_8008A140(objectIndex, camera, 0x2AABU) != 0) {
|
if (is_object_visible_on_camera(objectIndex, camera, 0x2AABU) != 0) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 0x00040000);
|
set_object_flag_status_true(objectIndex, VISIBLE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1373,10 +1373,10 @@ UNUSED void func_8008A610(s32 objectIndex) {
|
||||||
s32 loopIndex;
|
s32 loopIndex;
|
||||||
Camera *camera;
|
Camera *camera;
|
||||||
|
|
||||||
set_object_flag_unk_054_false(objectIndex, 0x00040000);
|
set_object_flag_status_false(objectIndex, VISIBLE);
|
||||||
for (camera = camera1, loopIndex = 0; loopIndex < gPlayerCountSelection1; loopIndex++, camera++) {
|
for (camera = camera1, loopIndex = 0; loopIndex < gPlayerCountSelection1; loopIndex++, camera++) {
|
||||||
if ((gObjectList[objectIndex].state != 0) && (func_8008A140(objectIndex, camera, 0x2AABU) != 0)) {
|
if ((gObjectList[objectIndex].state != 0) && (is_object_visible_on_camera(objectIndex, camera, 0x2AABU) != 0)) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 0x00040000);
|
set_object_flag_status_true(objectIndex, VISIBLE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1386,17 +1386,17 @@ void func_8008A6DC(s32 objectIndex, f32 arg1) {
|
||||||
s32 loopIndex;
|
s32 loopIndex;
|
||||||
Camera *camera;
|
Camera *camera;
|
||||||
|
|
||||||
set_object_flag_unk_054_false(objectIndex, 0x00060000);
|
set_object_flag_status_false(objectIndex, 0x00060000);
|
||||||
for (camera = camera1, loopIndex = 0; loopIndex < gPlayerCountSelection1; loopIndex++, camera++) {
|
for (camera = camera1, loopIndex = 0; loopIndex < gPlayerCountSelection1; loopIndex++, camera++) {
|
||||||
if ((gObjectList[objectIndex].state != 0) && (is_within_horizontal_distance_to_camera(objectIndex, camera, arg1) != 0)) {
|
if ((gObjectList[objectIndex].state != 0) && (is_within_horizontal_distance_to_camera(objectIndex, camera, arg1) != 0)) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 0x00020000);
|
set_object_flag_status_true(objectIndex, 0x00020000);
|
||||||
if (arg1 <= 500.0) {
|
if (arg1 <= 500.0) {
|
||||||
var_a2 = 0x4000;
|
var_a2 = 0x4000;
|
||||||
} else {
|
} else {
|
||||||
var_a2 = 0x2AAB;
|
var_a2 = 0x2AAB;
|
||||||
}
|
}
|
||||||
if (func_8008A140(objectIndex, camera, var_a2) != 0) {
|
if (is_object_visible_on_camera(objectIndex, camera, var_a2) != 0) {
|
||||||
set_object_flag_unk_054_true(objectIndex, 0x00040000);
|
set_object_flag_status_true(objectIndex, VISIBLE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1468,9 +1468,9 @@ void func_8008AA3C(s32 objectIndex) {
|
||||||
but for some unholy reason that doesn't match
|
but for some unholy reason that doesn't match
|
||||||
*/
|
*/
|
||||||
temp_v0->unk_084[8] = *((s16*)temp_v0->controlPoints - 1);
|
temp_v0->unk_084[8] = *((s16*)temp_v0->controlPoints - 1);
|
||||||
temp_v0->unk_028[0] = temp_v0->controlPoints[0].pos[0];
|
temp_v0->offset[0] = temp_v0->controlPoints[0].pos[0];
|
||||||
temp_v0->unk_028[1] = temp_v0->controlPoints[0].pos[1];
|
temp_v0->offset[1] = temp_v0->controlPoints[0].pos[1];
|
||||||
temp_v0->unk_028[2] = temp_v0->controlPoints[0].pos[2];
|
temp_v0->offset[2] = temp_v0->controlPoints[0].pos[2];
|
||||||
temp_v0->unk_09A = (s16) (10000 / temp_v0->controlPoints[0].velocity);
|
temp_v0->unk_09A = (s16) (10000 / temp_v0->controlPoints[0].velocity);
|
||||||
func_8008A920(objectIndex);
|
func_8008A920(objectIndex);
|
||||||
func_80086FD4(objectIndex);
|
func_80086FD4(objectIndex);
|
||||||
|
|
@ -1481,9 +1481,9 @@ void func_8008AB10(s32 objectIndex) {
|
||||||
Objects *temp_v0;
|
Objects *temp_v0;
|
||||||
|
|
||||||
temp_v0 = &gObjectList[objectIndex];
|
temp_v0 = &gObjectList[objectIndex];
|
||||||
temp_v0->unk_028[0] += temp_v0->velocity[0];
|
temp_v0->offset[0] += temp_v0->velocity[0];
|
||||||
temp_v0->unk_028[1] += temp_v0->velocity[1];
|
temp_v0->offset[1] += temp_v0->velocity[1];
|
||||||
temp_v0->unk_028[2] += temp_v0->velocity[2];
|
temp_v0->offset[2] += temp_v0->velocity[2];
|
||||||
temp_v0->timer += (u16)temp_v0->unk_09A;
|
temp_v0->timer += (u16)temp_v0->unk_09A;
|
||||||
if (temp_v0->timer >= 0x2710) {
|
if (temp_v0->timer >= 0x2710) {
|
||||||
temp_v0->unk_084[9] = (u16)temp_v0->unk_084[9] + 1;
|
temp_v0->unk_084[9] = (u16)temp_v0->unk_084[9] + 1;
|
||||||
|
|
@ -1611,9 +1611,9 @@ void func_8008B038(s32 objectIndex) {
|
||||||
Objects *temp_v0;
|
Objects *temp_v0;
|
||||||
|
|
||||||
temp_v0 = &gObjectList[objectIndex];
|
temp_v0 = &gObjectList[objectIndex];
|
||||||
temp_v0->unk_028[0] = (D_80183DA8[0] * D_80165760[0]) + (D_80183DA8[1] * D_80165760[1]) + (D_80183DA8[2] * D_80165760[2]) + (D_80183DA8[3] * D_80165760[3]);
|
temp_v0->offset[0] = (D_80183DA8[0] * D_80165760[0]) + (D_80183DA8[1] * D_80165760[1]) + (D_80183DA8[2] * D_80165760[2]) + (D_80183DA8[3] * D_80165760[3]);
|
||||||
temp_v0->unk_028[1] = (D_80183DA8[0] * D_80165770[0]) + (D_80183DA8[1] * D_80165770[1]) + (D_80183DA8[2] * D_80165770[2]) + (D_80183DA8[3] * D_80165770[3]);
|
temp_v0->offset[1] = (D_80183DA8[0] * D_80165770[0]) + (D_80183DA8[1] * D_80165770[1]) + (D_80183DA8[2] * D_80165770[2]) + (D_80183DA8[3] * D_80165770[3]);
|
||||||
temp_v0->unk_028[2] = (D_80183DA8[0] * D_80165780[0]) + (D_80183DA8[1] * D_80165780[1]) + (D_80183DA8[2] * D_80165780[2]) + (D_80183DA8[3] * D_80165780[3]);
|
temp_v0->offset[2] = (D_80183DA8[0] * D_80165780[0]) + (D_80183DA8[1] * D_80165780[1]) + (D_80183DA8[2] * D_80165780[2]) + (D_80183DA8[3] * D_80165780[3]);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8008B17C(s32 objectIndex, f32 arg1) {
|
void func_8008B17C(s32 objectIndex, f32 arg1) {
|
||||||
|
|
@ -1686,7 +1686,7 @@ void func_8008B3E4(s32 objectIndex) {
|
||||||
Objects *temp_v0;
|
Objects *temp_v0;
|
||||||
SplineData *spline;
|
SplineData *spline;
|
||||||
|
|
||||||
if (is_obj_index_flag_unk_054_inactive(objectIndex, 8) != 0) {
|
if (is_obj_index_flag_status_inactive(objectIndex, 8) != 0) {
|
||||||
temp_v0 = &gObjectList[objectIndex];
|
temp_v0 = &gObjectList[objectIndex];
|
||||||
temp_v0->unk_084[9] = 0;
|
temp_v0->unk_084[9] = 0;
|
||||||
temp_v0->timer = 0;
|
temp_v0->timer = 0;
|
||||||
|
|
@ -1698,7 +1698,7 @@ void func_8008B3E4(s32 objectIndex) {
|
||||||
*/
|
*/
|
||||||
temp_v0->unk_084[8] = *(((s16*)temp_v0->controlPoints) - 1);
|
temp_v0->unk_084[8] = *(((s16*)temp_v0->controlPoints) - 1);
|
||||||
|
|
||||||
set_object_flag_unk_054_true(objectIndex, 8);
|
set_object_flag_status_true(objectIndex, 8);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1726,7 +1726,7 @@ void func_8008B478(s32 objectIndex, s32 arg1) {
|
||||||
sp34 = ((f32)gObjectList[objectIndex].timer / 10000.0);
|
sp34 = ((f32)gObjectList[objectIndex].timer / 10000.0);
|
||||||
// Calculate the curve at `t`
|
// Calculate the curve at `t`
|
||||||
func_8008B17C(objectIndex, sp34);
|
func_8008B17C(objectIndex, sp34);
|
||||||
if (is_obj_index_flag_unk_054_active(objectIndex, 0x800) != 0) {
|
if (is_obj_flag_status_active(objectIndex, 0x800) != 0) {
|
||||||
// Calculate the curve's derivative at `t`
|
// Calculate the curve's derivative at `t`
|
||||||
func_8008AFE0(objectIndex, sp34);
|
func_8008AFE0(objectIndex, sp34);
|
||||||
}
|
}
|
||||||
|
|
@ -1765,7 +1765,7 @@ void func_8008B6A4(s32 objectIndex) {
|
||||||
// Have to do it this way due to the u16 cast
|
// Have to do it this way due to the u16 cast
|
||||||
temp_v0->unk_084[9] = (u16) temp_v0->unk_084[9] + 1;
|
temp_v0->unk_084[9] = (u16) temp_v0->unk_084[9] + 1;
|
||||||
if ((u16)temp_v0->unk_084[9] == (u16)temp_v0->unk_084[8]) {
|
if ((u16)temp_v0->unk_084[9] == (u16)temp_v0->unk_084[8]) {
|
||||||
set_object_flag_unk_054_false(objectIndex, 8);
|
set_object_flag_status_false(objectIndex, 8);
|
||||||
} else {
|
} else {
|
||||||
func_8008B44C(objectIndex);
|
func_8008B44C(objectIndex);
|
||||||
}
|
}
|
||||||
|
|
@ -1801,18 +1801,18 @@ void set_obj_origin_pos(s32 objectIndex, f32 arg1, f32 arg2, f32 arg3) {
|
||||||
gObjectList[objectIndex].origin_pos[2] = arg3;
|
gObjectList[objectIndex].origin_pos[2] = arg3;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8008B80C(s32 objectIndex, f32 arg1, f32 arg2, f32 arg3) {
|
void set_obj_origin_offset(s32 objectIndex, f32 arg1, f32 arg2, f32 arg3) {
|
||||||
gObjectList[objectIndex].unk_028[0] = arg1;
|
gObjectList[objectIndex].offset[0] = arg1;
|
||||||
gObjectList[objectIndex].unk_028[1] = arg2;
|
gObjectList[objectIndex].offset[1] = arg2;
|
||||||
gObjectList[objectIndex].unk_028[2] = arg3;
|
gObjectList[objectIndex].offset[2] = arg3;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8008B844(s32 objectIndex) {
|
void func_8008B844(s32 objectIndex) {
|
||||||
f32 temp_f0 = gObjectList[objectIndex].origin_pos[0];
|
f32 temp_f0 = gObjectList[objectIndex].origin_pos[0];
|
||||||
|
|
||||||
gObjectList[objectIndex].pos[0] = gObjectList[objectIndex].unk_028[0] + temp_f0;
|
gObjectList[objectIndex].pos[0] = gObjectList[objectIndex].offset[0] + temp_f0;
|
||||||
gObjectList[objectIndex].pos[1] = gObjectList[objectIndex].unk_028[1] + temp_f0;
|
gObjectList[objectIndex].pos[1] = gObjectList[objectIndex].offset[1] + temp_f0;
|
||||||
gObjectList[objectIndex].pos[2] = gObjectList[objectIndex].unk_028[2] + temp_f0;
|
gObjectList[objectIndex].pos[2] = gObjectList[objectIndex].offset[2] + temp_f0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void set_obj_direction_angle(s32 objectIndex, u16 arg1, u16 arg2, u16 arg3) {
|
void set_obj_direction_angle(s32 objectIndex, u16 arg1, u16 arg2, u16 arg3) {
|
||||||
|
|
@ -1849,63 +1849,63 @@ void func_8008B928(s32 objectIndex, s16 arg1, s16 arg2, s16 arg3, SplineData *sp
|
||||||
temp_s0->direction_angle[0] = get_x_direction_angle(objectIndex);
|
temp_s0->direction_angle[0] = get_x_direction_angle(objectIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
UNUSED void func_8008BA40(s32 objectIndex, s16 arg1, u16 arg2) {
|
UNUSED void object_origin_pos_randomize_around_x(s32 objectIndex, s16 x, u16 arg2) {
|
||||||
s16 test;
|
s16 offset_x;
|
||||||
|
|
||||||
test = random_int(arg2) - (arg2 / 2);
|
offset_x = random_int(arg2) - (arg2 / 2);
|
||||||
gObjectList[objectIndex].origin_pos[0] = arg1 + test;
|
gObjectList[objectIndex].origin_pos[0] = x + offset_x;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8008BAB4(s32 objectIndex, s16 arg1, u16 arg2) {
|
void object_origin_pos_randomize_around_y(s32 objectIndex, s16 y, u16 arg2) {
|
||||||
s16 test;
|
s16 offset_y;
|
||||||
|
|
||||||
test = random_int(arg2) - (arg2 / 2);
|
offset_y = random_int(arg2) - (arg2 / 2);
|
||||||
gObjectList[objectIndex].origin_pos[1] = arg1 + test;
|
gObjectList[objectIndex].origin_pos[1] = y + offset_y;
|
||||||
}
|
}
|
||||||
|
|
||||||
UNUSED void func_8008BB28(s32 objectIndex, s16 arg1, u16 arg2) {
|
UNUSED void object_origin_pos_randomize_around_z(s32 objectIndex, s16 z, u16 arg2) {
|
||||||
s16 test;
|
s16 offset_z;
|
||||||
|
|
||||||
test = random_int(arg2) - (arg2 / 2);
|
offset_z = random_int(arg2) - (arg2 / 2);
|
||||||
gObjectList[objectIndex].origin_pos[2] = arg1 + test;
|
gObjectList[objectIndex].origin_pos[2] = z + offset_z;
|
||||||
}
|
}
|
||||||
|
|
||||||
UNUSED void func_8008BB9C(s32 objectIndex, s16 arg1, s16 arg2, u16 arg3, u16 arg4) {
|
UNUSED void object_origin_pos_randomize_around_xy(s32 objectIndex, s16 x, s16 y, u16 arg3, u16 arg4) {
|
||||||
s16 sp1E;
|
s16 offset_x;
|
||||||
s16 temp_v0;
|
s16 offset_y;
|
||||||
|
|
||||||
sp1E = random_int(arg3) - ((s32) arg3 / 2);
|
offset_x = random_int(arg3) - ((s32) arg3 / 2);
|
||||||
temp_v0 = random_int(arg4) - ((s32) arg4 / 2);
|
offset_y = random_int(arg4) - ((s32) arg4 / 2);
|
||||||
gObjectList[objectIndex].origin_pos[0] = arg1 + sp1E;
|
gObjectList[objectIndex].origin_pos[0] = x + offset_x;
|
||||||
gObjectList[objectIndex].origin_pos[1] = arg2 + temp_v0;
|
gObjectList[objectIndex].origin_pos[1] = y + offset_y;
|
||||||
}
|
}
|
||||||
|
|
||||||
UNUSED void func_8008BC58(s32 objectIndex, s16 arg1, s16 arg2, u16 arg3, u16 arg4) {
|
UNUSED void object_origin_pos_randomize_around_xz(s32 objectIndex, s16 x, s16 z, u16 arg3, u16 arg4) {
|
||||||
s16 sp1E;
|
s16 offset_x;
|
||||||
s16 temp_v0;
|
s16 offset_z;
|
||||||
|
|
||||||
sp1E = random_int(arg3) - ((s32) arg3 / 2);
|
offset_x = random_int(arg3) - ((s32) arg3 / 2);
|
||||||
temp_v0 = random_int(arg4) - ((s32) arg4 / 2);
|
offset_z = random_int(arg4) - ((s32) arg4 / 2);
|
||||||
gObjectList[objectIndex].origin_pos[0] = arg1 + sp1E;
|
gObjectList[objectIndex].origin_pos[0] = x + offset_x;
|
||||||
gObjectList[objectIndex].origin_pos[2] = arg2 + temp_v0;
|
gObjectList[objectIndex].origin_pos[2] = z + offset_z;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8008BD14(s32 objectIndex, s16 arg1, s16 arg2, s16 arg3, u16 arg4, u16 arg5, u16 arg6) {
|
void object_origin_pos_randomize_around_xyz(s32 objectIndex, s16 x, s16 y, s16 z, u16 arg4, u16 arg5, u16 arg6) {
|
||||||
s16 sp1E;
|
s16 offset_x;
|
||||||
s16 sp1C;
|
s16 offset_y;
|
||||||
s16 temp_v0;
|
s16 offset_z;
|
||||||
|
|
||||||
sp1E = random_int(arg4) - ((s32) arg4 / 2);
|
offset_x = random_int(arg4) - ((s32) arg4 / 2);
|
||||||
sp1C = random_int(arg5) - ((s32) arg5 / 2);
|
offset_y = random_int(arg5) - ((s32) arg5 / 2);
|
||||||
temp_v0 = random_int(arg6) - ((s32) arg6 / 2);
|
offset_z = random_int(arg6) - ((s32) arg6 / 2);
|
||||||
gObjectList[objectIndex].origin_pos[0] = arg1 + sp1E;
|
gObjectList[objectIndex].origin_pos[0] = x + offset_x;
|
||||||
gObjectList[objectIndex].origin_pos[1] = arg2 + sp1C;
|
gObjectList[objectIndex].origin_pos[1] = y + offset_y;
|
||||||
gObjectList[objectIndex].origin_pos[2] = arg3 + temp_v0;
|
gObjectList[objectIndex].origin_pos[2] = z + offset_z;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8008BE0C(s32 objectIndex, s16 arg1, u16 arg2) {
|
void object_origin_pos_around_player_one(s32 objectIndex, s16 dist, u16 angle) {
|
||||||
gObjectList[objectIndex].origin_pos[0] = gPlayerOneCopy->pos[0] + (sins(arg2) * arg1);
|
gObjectList[objectIndex].origin_pos[0] = gPlayerOneCopy->pos[0] + (sins(angle) * dist);
|
||||||
gObjectList[objectIndex].origin_pos[2] = gPlayerOneCopy->pos[2] + (coss(arg2) * arg1);
|
gObjectList[objectIndex].origin_pos[2] = gPlayerOneCopy->pos[2] + (coss(angle) * dist);
|
||||||
}
|
}
|
||||||
|
|
||||||
UNUSED void func_8008BEA4(s32 objectIndex, u16 arg1, u16 arg2) {
|
UNUSED void func_8008BEA4(s32 objectIndex, u16 arg1, u16 arg2) {
|
||||||
|
|
@ -1914,13 +1914,13 @@ UNUSED void func_8008BEA4(s32 objectIndex, u16 arg1, u16 arg2) {
|
||||||
|
|
||||||
thing = random_int(arg1);
|
thing = random_int(arg1);
|
||||||
thing2 = camera1->rot[1] + random_int(arg2) - ((s32) arg2 / 2);
|
thing2 = camera1->rot[1] + random_int(arg2) - ((s32) arg2 / 2);
|
||||||
func_8008BE0C(objectIndex, thing, thing2);
|
object_origin_pos_around_player_one(objectIndex, thing, thing2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8008BF18(s32 objectIndex) {
|
void object_calculate_new_pos_offset(s32 objectIndex) {
|
||||||
gObjectList[objectIndex].pos[0] = gObjectList[objectIndex].origin_pos[0] + gObjectList[objectIndex].unk_028[0];
|
gObjectList[objectIndex].pos[0] = gObjectList[objectIndex].origin_pos[0] + gObjectList[objectIndex].offset[0];
|
||||||
gObjectList[objectIndex].pos[1] = gObjectList[objectIndex].origin_pos[1] + gObjectList[objectIndex].unk_028[1];
|
gObjectList[objectIndex].pos[1] = gObjectList[objectIndex].origin_pos[1] + gObjectList[objectIndex].offset[1];
|
||||||
gObjectList[objectIndex].pos[2] = gObjectList[objectIndex].origin_pos[2] + gObjectList[objectIndex].unk_028[2];
|
gObjectList[objectIndex].pos[2] = gObjectList[objectIndex].origin_pos[2] + gObjectList[objectIndex].offset[2];
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8008BF64(s32 objectIndex) {
|
void func_8008BF64(s32 objectIndex) {
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ s32 func_80087060(s32, s32);
|
||||||
s32 func_80087104(s32, u16);
|
s32 func_80087104(s32, u16);
|
||||||
s32 func_800871AC(s32, s32);
|
s32 func_800871AC(s32, s32);
|
||||||
void func_80087258(s32, s32, f32);
|
void func_80087258(s32, s32, f32);
|
||||||
s32 func_80087294(s32, Player*);
|
s32 get_angle_between_player_object(s32, Player*);
|
||||||
s32 angle_between_object_camera(s32, Camera*);
|
s32 angle_between_object_camera(s32, Camera*);
|
||||||
u16 get_x_direction_angle(s32);
|
u16 get_x_direction_angle(s32);
|
||||||
s32 get_y_direction_angle(s32);
|
s32 get_y_direction_angle(s32);
|
||||||
|
|
@ -30,11 +30,11 @@ void func_8008751C(s32);
|
||||||
void func_8008757C(s32);
|
void func_8008757C(s32);
|
||||||
void func_80087620(s32);
|
void func_80087620(s32);
|
||||||
void func_800876A0(s32);
|
void func_800876A0(s32);
|
||||||
void func_80087710(s32);
|
void object_add_velocity_offset_xyz(s32);
|
||||||
void func_8008775C(s32);
|
void object_add_velocity_offset_xz(s32);
|
||||||
void func_80087798(s32);
|
void object_add_velocity_offset_x(s32);
|
||||||
void func_800877C4(s32);
|
void object_add_velocity_offset_y(s32);
|
||||||
void func_800877F0(s32);
|
void object_add_velocity_offset_z(s32);
|
||||||
void func_8008781C(s32);
|
void func_8008781C(s32);
|
||||||
void func_80087844(s32);
|
void func_80087844(s32);
|
||||||
f32 func_8008786C(f32, f32, f32, f32, f32);
|
f32 func_8008786C(f32, f32, f32, f32, f32);
|
||||||
|
|
@ -93,7 +93,7 @@ s32 func_80089E18(s32);
|
||||||
s32 func_80089F24(s32);
|
s32 func_80089F24(s32);
|
||||||
s32 func_8008A060(s32, Camera*, u16);
|
s32 func_8008A060(s32, Camera*, u16);
|
||||||
s32 func_8008A0B4(s32, Player*, Camera*, u16);
|
s32 func_8008A0B4(s32, Player*, Camera*, u16);
|
||||||
s32 func_8008A140(s32, Camera*, u16);
|
s32 is_object_visible_on_camera(s32, Camera*, u16);
|
||||||
void func_8008A1D0(s32, s32, s32, s32);
|
void func_8008A1D0(s32, s32, s32, s32);
|
||||||
void func_8008A2CC(s32, s32, u16);
|
void func_8008A2CC(s32, s32, u16);
|
||||||
s32 func_8008A364(s32, s32, u16, s32);
|
s32 func_8008A364(s32, s32, u16, s32);
|
||||||
|
|
@ -145,22 +145,22 @@ void func_8008B6A4(s32);
|
||||||
void func_8008B724(s32);
|
void func_8008B724(s32);
|
||||||
void func_8008B78C(s32);
|
void func_8008B78C(s32);
|
||||||
void set_obj_origin_pos(s32, f32, f32, f32);
|
void set_obj_origin_pos(s32, f32, f32, f32);
|
||||||
void func_8008B80C(s32, f32, f32, f32);
|
void set_obj_origin_offset(s32, f32, f32, f32);
|
||||||
void func_8008B844(s32);
|
void func_8008B844(s32);
|
||||||
void set_obj_direction_angle(s32, u16, u16, u16);
|
void set_obj_direction_angle(s32, u16, u16, u16);
|
||||||
void set_obj_orientation(s32, u16, u16, u16);
|
void set_obj_orientation(s32, u16, u16, u16);
|
||||||
void set_obj_velocity(s32, f32, f32, f32);
|
void set_obj_velocity(s32, f32, f32, f32);
|
||||||
void func_8008B928(s32, s16, s16, s16, SplineData*);
|
void func_8008B928(s32, s16, s16, s16, SplineData*);
|
||||||
void func_8008BA40(s32, s16, u16);
|
void object_origin_pos_randomize_around_x(s32, s16, u16);
|
||||||
void func_8008BAB4(s32, s16, u16);
|
void object_origin_pos_randomize_around_y(s32, s16, u16);
|
||||||
void func_8008BB28(s32, s16, u16);
|
void object_origin_pos_randomize_around_z(s32, s16, u16);
|
||||||
void func_8008BB9C(s32, s16, s16, u16, u16);
|
void object_origin_pos_randomize_around_xy(s32, s16, s16, u16, u16);
|
||||||
void func_8008BC58(s32, s16, s16, u16, u16);
|
void object_origin_pos_randomize_around_xz(s32, s16, s16, u16, u16);
|
||||||
void func_8008BD14(s32, s16, s16, s16, u16, u16, u16);
|
void object_origin_pos_randomize_around_xyz(s32, s16, s16, s16, u16, u16, u16);
|
||||||
void func_8008BE0C(s32, s16, u16);
|
void object_origin_pos_around_player_one(s32, s16, u16);
|
||||||
void func_8008BEA4(s32, u16, u16);
|
void func_8008BEA4(s32, u16, u16);
|
||||||
void func_8008BFC0(s32);
|
void func_8008BFC0(s32);
|
||||||
void func_8008BF18(s32);
|
void object_calculate_new_pos_offset(s32);
|
||||||
void func_8008BF64(s32);
|
void func_8008BF64(s32);
|
||||||
void func_8008BFFC(s32);
|
void func_8008BFFC(s32);
|
||||||
void func_8008C1B8(s32);
|
void func_8008C1B8(s32);
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -11,7 +11,7 @@ extern u32 _course_mario_raceway_dl_mio0SegmentRomStart[];
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x00 */ s32 type; // id maybe?
|
/* 0x00 */ s32 type; // id maybe?
|
||||||
/* 0x04 */ s32 unk4; // sound mode, maybe some other stuff
|
/* 0x04 */ s32 cursor; // sound mode, maybe some other stuff
|
||||||
/* 0x08 */ s32 unk8; // This is used but I can't tell what for
|
/* 0x08 */ s32 unk8; // This is used but I can't tell what for
|
||||||
/* 0x0C */ s32 column;
|
/* 0x0C */ s32 column;
|
||||||
/* 0x10 */ s32 row;
|
/* 0x10 */ s32 row;
|
||||||
|
|
@ -90,8 +90,8 @@ void func_80091EE4(void);
|
||||||
void func_80091FA4(void);
|
void func_80091FA4(void);
|
||||||
void func_80092148(void);
|
void func_80092148(void);
|
||||||
void func_800921B4(void);
|
void func_800921B4(void);
|
||||||
void func_800921C0(s32, s32, s32);
|
void text_rainbow_effect(s32, s32, s32);
|
||||||
void func_80092224(s32, s32, s32);
|
void set_text_color_rainbow_if_selected(s32, s32, s32);
|
||||||
void func_80092258(void);
|
void func_80092258(void);
|
||||||
void func_80092290(s32, s32*, s32*);
|
void func_80092290(s32, s32*, s32*);
|
||||||
void func_80092500(void);
|
void func_80092500(void);
|
||||||
|
|
@ -193,7 +193,7 @@ void func_8009B998(void);
|
||||||
Gfx *func_8009B9D0(Gfx*, MkTexture*);
|
Gfx *func_8009B9D0(Gfx*, MkTexture*);
|
||||||
Gfx *func_8009BA74(Gfx*, MkTexture*, s32, s32);
|
Gfx *func_8009BA74(Gfx*, MkTexture*, s32, s32);
|
||||||
Gfx *func_8009BC9C(Gfx*, MkTexture*, s32, s32, s32, s32);
|
Gfx *func_8009BC9C(Gfx*, MkTexture*, s32, s32, s32, s32);
|
||||||
Gfx *func_8009BEF0(Gfx*, MkTexture*, f32, f32, s32, f32,f32);
|
Gfx *print_letter(Gfx*, MkTexture*, f32, f32, s32, f32,f32);
|
||||||
Gfx *func_8009C204(Gfx*, MkTexture*, s32, s32, s32);
|
Gfx *func_8009C204(Gfx*, MkTexture*, s32, s32, s32);
|
||||||
Gfx *func_8009C434(Gfx*, struct_8018DEE0_entry*, s32, s32, s32);
|
Gfx *func_8009C434(Gfx*, struct_8018DEE0_entry*, s32, s32, s32);
|
||||||
Gfx *func_8009C708(Gfx*, struct_8018DEE0_entry *, s32, s32, s32, s32);
|
Gfx *func_8009C708(Gfx*, struct_8018DEE0_entry *, s32, s32, s32, s32);
|
||||||
|
|
@ -266,11 +266,11 @@ void func_800A3E60(struct_8018D9E0_entry*);
|
||||||
void func_800A4550(s32, s32, s32);
|
void func_800A4550(s32, s32, s32);
|
||||||
void func_800A474C(s32, s32, s32);
|
void func_800A474C(s32, s32, s32);
|
||||||
void func_800A4A24(struct_8018D9E0_entry*);
|
void func_800A4A24(struct_8018D9E0_entry*);
|
||||||
void func_800A4B38(struct_8018D9E0_entry*);
|
void render_pause_menu(struct_8018D9E0_entry*);
|
||||||
void func_800A4BC8(struct_8018D9E0_entry*);
|
void render_pause_menu_time_trials(struct_8018D9E0_entry*);
|
||||||
void func_800A4EF8(struct_8018D9E0_entry*);
|
void render_pause_menu_versus(struct_8018D9E0_entry*);
|
||||||
void func_800A5084(struct_8018D9E0_entry*);
|
void render_pause_grand_prix(struct_8018D9E0_entry*);
|
||||||
void func_800A5360(struct_8018D9E0_entry*);
|
void render_pause_battle(struct_8018D9E0_entry*);
|
||||||
void func_800A54EC(void);
|
void func_800A54EC(void);
|
||||||
void func_800A5738(struct_8018D9E0_entry*);
|
void func_800A5738(struct_8018D9E0_entry*);
|
||||||
void func_800A6034(struct_8018D9E0_entry*);
|
void func_800A6034(struct_8018D9E0_entry*);
|
||||||
|
|
@ -498,7 +498,7 @@ extern char *D_800E7728[];
|
||||||
extern char *D_800E7730;
|
extern char *D_800E7730;
|
||||||
extern char *D_800E7734[];
|
extern char *D_800E7734[];
|
||||||
extern char *D_800E7744[];
|
extern char *D_800E7744[];
|
||||||
extern char *D_800E775C[];
|
extern char *gTextPauseButton[];
|
||||||
extern char *D_800E7778[];
|
extern char *D_800E7778[];
|
||||||
extern char D_800E7780[];
|
extern char D_800E7780[];
|
||||||
extern char *D_800E77A0[];
|
extern char *D_800E77A0[];
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,8 @@ typedef struct {
|
||||||
|
|
||||||
/** @cond */
|
/** @cond */
|
||||||
|
|
||||||
extern s8 common_tlut_finish_line_banner[];
|
extern u8 common_tlut_finish_line_banner[];
|
||||||
extern s8 common_texture_particle_fire[];
|
extern u8 common_texture_particle_fire[];
|
||||||
extern Vtx D_0D001200[];
|
extern Vtx D_0D001200[];
|
||||||
extern Vtx D_0D001210[];
|
extern Vtx D_0D001210[];
|
||||||
extern Vtx D_0D001240[];
|
extern Vtx D_0D001240[];
|
||||||
|
|
@ -52,7 +52,7 @@ extern Vtx D_0D001E28[];
|
||||||
extern Vtx D_0D001E58[];
|
extern Vtx D_0D001E58[];
|
||||||
extern Vtx D_0D001E88[];
|
extern Vtx D_0D001E88[];
|
||||||
extern Vtx D_0D001EB8[];
|
extern Vtx D_0D001EB8[];
|
||||||
extern s8 common_texture_item_box_question_mark[];
|
extern u8 common_texture_item_box_question_mark[];
|
||||||
extern Gfx D_0D002EE8[];
|
extern Gfx D_0D002EE8[];
|
||||||
extern Vtx common_fake_item_box_question_mark_vertices[];
|
extern Vtx common_fake_item_box_question_mark_vertices[];
|
||||||
extern Gfx common_model_fake_itembox[];
|
extern Gfx common_model_fake_itembox[];
|
||||||
|
|
@ -70,13 +70,13 @@ extern Gfx D_0D003278[];
|
||||||
extern Gfx D_0D003288[];
|
extern Gfx D_0D003288[];
|
||||||
extern Vtx common_vtx_banana[];
|
extern Vtx common_vtx_banana[];
|
||||||
extern Vtx common_vtx_flat_banana[];
|
extern Vtx common_vtx_flat_banana[];
|
||||||
extern s8 common_texture_banana[];
|
extern u8 common_texture_banana[];
|
||||||
extern s8 common_texture_flat_banana[];
|
extern u8 common_texture_flat_banana[];
|
||||||
extern Gfx common_model_banana[];
|
extern Gfx common_model_banana[];
|
||||||
extern Gfx common_model_flat_banana[];
|
extern Gfx common_model_flat_banana[];
|
||||||
extern s8 common_tlut_trees_import[];
|
extern u8 common_tlut_trees_import[];
|
||||||
extern s8 common_tlut_green_shell[];
|
extern u8 common_tlut_green_shell[];
|
||||||
extern s8 common_tlut_blue_shell[];
|
extern u8 common_tlut_blue_shell[];
|
||||||
extern Vtx D_0D005238[];
|
extern Vtx D_0D005238[];
|
||||||
extern Vtx D_0D005278[];
|
extern Vtx D_0D005278[];
|
||||||
extern Gfx D_0D0052B8[];
|
extern Gfx D_0D0052B8[];
|
||||||
|
|
@ -141,10 +141,10 @@ extern Gfx D_0D0069F8[];
|
||||||
extern Gfx D_0D006A10[];
|
extern Gfx D_0D006A10[];
|
||||||
extern Gfx D_0D006A28[];
|
extern Gfx D_0D006A28[];
|
||||||
extern Gfx D_0D006A40[];
|
extern Gfx D_0D006A40[];
|
||||||
extern s8 D_0D006A58[];
|
extern u8 D_0D006A58[];
|
||||||
extern s8 D_0D006AD8[];
|
extern u8 D_0D006AD8[];
|
||||||
extern s8 common_tlut_debug_font[];
|
extern u8 common_tlut_debug_font[];
|
||||||
extern s8 common_texture_debug_font[];
|
extern u8 common_texture_debug_font[];
|
||||||
extern Gfx D_0D0076F8[];
|
extern Gfx D_0D0076F8[];
|
||||||
extern Gfx D_0D007780[];
|
extern Gfx D_0D007780[];
|
||||||
extern Gfx D_0D0077A0[];
|
extern Gfx D_0D0077A0[];
|
||||||
|
|
@ -254,29 +254,29 @@ extern f32 D_0D009568[][4];
|
||||||
extern f32 D_0D0096B8[][4];
|
extern f32 D_0D0096B8[][4];
|
||||||
extern f32 D_0D009808[][4];
|
extern f32 D_0D009808[][4];
|
||||||
extern s32 unkPad;
|
extern s32 unkPad;
|
||||||
extern s8 common_texture_speedometer[];
|
extern u8 common_texture_speedometer[];
|
||||||
extern s8 common_texture_speedometer_needle[];
|
extern u8 common_texture_speedometer_needle[];
|
||||||
extern s8 common_texture_hud_lap[];
|
extern u8 common_texture_hud_lap[];
|
||||||
extern u8 common_texture_hud_123[];
|
extern u8 common_texture_hud_123[];
|
||||||
extern s8 common_texture_hud_lap_time[];
|
extern u8 common_texture_hud_lap_time[];
|
||||||
extern s8 common_texture_hud_lap_1_on_3[];
|
extern u8 common_texture_hud_lap_1_on_3[];
|
||||||
extern s8 common_texture_hud_lap_2_on_3[];
|
extern u8 common_texture_hud_lap_2_on_3[];
|
||||||
extern s8 common_texture_hud_lap_3_on_3[];
|
extern u8 common_texture_hud_lap_3_on_3[];
|
||||||
extern s8 common_texture_hud_total_time[];
|
extern u8 common_texture_hud_total_time[];
|
||||||
extern s8 common_texture_hud_time[];
|
extern u8 common_texture_hud_time[];
|
||||||
extern u8 common_texture_hud_normal_digit[];
|
extern u8 common_texture_hud_normal_digit[];
|
||||||
extern u8 common_texture_hud_place[][4096];
|
extern u8 common_texture_hud_place[][4096];
|
||||||
extern s8 D_0D00E258[];
|
extern u8 D_0D00E258[];
|
||||||
extern s8 D_0D00F258[];
|
extern u8 D_0D00F258[];
|
||||||
extern s8 D_0D010258[];
|
extern u8 D_0D010258[];
|
||||||
extern s8 D_0D011258[];
|
extern u8 D_0D011258[];
|
||||||
extern s8 D_0D012258[];
|
extern u8 D_0D012258[];
|
||||||
extern s8 D_0D013258[];
|
extern u8 D_0D013258[];
|
||||||
extern s8 D_0D014258[];
|
extern u8 D_0D014258[];
|
||||||
extern u8 D_0D015258[][2048];
|
extern u8 D_0D015258[][2048];
|
||||||
extern s8 D_0D015A58[];
|
extern u8 D_0D015A58[];
|
||||||
extern s8 D_0D016258[];
|
extern u8 D_0D016258[];
|
||||||
extern s8 D_0D016A58[];
|
extern u8 D_0D016A58[];
|
||||||
extern u8 common_tlut_player_emblem[];
|
extern u8 common_tlut_player_emblem[];
|
||||||
extern s16 tlutPad[];
|
extern s16 tlutPad[];
|
||||||
extern u8 common_texture_player_emblem[][2048];
|
extern u8 common_texture_player_emblem[][2048];
|
||||||
|
|
@ -285,57 +285,57 @@ extern u8 common_texture_hud_type_C_rank_font[][256];
|
||||||
extern u8 common_tlut_hud_type_C_rank_tiny_font[];
|
extern u8 common_tlut_hud_type_C_rank_tiny_font[];
|
||||||
extern u8 common_texture_hud_type_C_rank_tiny_font[][64];
|
extern u8 common_texture_hud_type_C_rank_tiny_font[][64];
|
||||||
extern u8 common_texture_character_portrait_border[];
|
extern u8 common_texture_character_portrait_border[];
|
||||||
extern s8 common_tlut_portrait_mario[];
|
extern u8 common_tlut_portrait_mario[];
|
||||||
extern s8 common_tlut_portrait_luigi[];
|
extern u8 common_tlut_portrait_luigi[];
|
||||||
extern s8 common_tlut_portrait_peach[];
|
extern u8 common_tlut_portrait_peach[];
|
||||||
extern s8 common_tlut_portrait_toad[];
|
extern u8 common_tlut_portrait_toad[];
|
||||||
extern s8 common_tlut_portrait_yoshi[];
|
extern u8 common_tlut_portrait_yoshi[];
|
||||||
extern s8 common_tlut_portrait_donkey_kong[];
|
extern u8 common_tlut_portrait_donkey_kong[];
|
||||||
extern s8 common_tlut_portrait_wario[];
|
extern u8 common_tlut_portrait_wario[];
|
||||||
extern s8 common_tlut_portrait_bowser[];
|
extern u8 common_tlut_portrait_bowser[];
|
||||||
extern s8 common_tlut_portrait_bomb_kart_and_question_mark[];
|
extern u8 common_tlut_portrait_bomb_kart_and_question_mark[];
|
||||||
extern s8 common_texture_portrait_mario[];
|
extern u8 common_texture_portrait_mario[];
|
||||||
extern s8 common_texture_portrait_luigi[];
|
extern u8 common_texture_portrait_luigi[];
|
||||||
extern s8 common_texture_portrait_peach[];
|
extern u8 common_texture_portrait_peach[];
|
||||||
extern s8 common_texture_portrait_toad[];
|
extern u8 common_texture_portrait_toad[];
|
||||||
extern s8 common_texture_portrait_yoshi[];
|
extern u8 common_texture_portrait_yoshi[];
|
||||||
extern s8 common_texture_portrait_donkey_kong[];
|
extern u8 common_texture_portrait_donkey_kong[];
|
||||||
extern s8 common_texture_portrait_wario[];
|
extern u8 common_texture_portrait_wario[];
|
||||||
extern u8 common_texture_portrait_bowser[];
|
extern u8 common_texture_portrait_bowser[];
|
||||||
extern u8 common_texture_portrait_bomb_kart[];
|
extern u8 common_texture_portrait_bomb_kart[];
|
||||||
extern u8 common_texture_portrait_question_mark[];
|
extern u8 common_texture_portrait_question_mark[];
|
||||||
extern s8 common_tlut_item_window_none[];
|
extern u8 common_tlut_item_window_none[];
|
||||||
extern s8 common_tlut_item_window_banana[];
|
extern u8 common_tlut_item_window_banana[];
|
||||||
extern s8 common_tlut_item_window_banana_bunch[];
|
extern u8 common_tlut_item_window_banana_bunch[];
|
||||||
extern s8 common_tlut_item_window_mushroom[];
|
extern u8 common_tlut_item_window_mushroom[];
|
||||||
extern s8 common_tlut_item_window_double_mushroom[];
|
extern u8 common_tlut_item_window_double_mushroom[];
|
||||||
extern s8 common_tlut_item_window_triple_mushroom[];
|
extern u8 common_tlut_item_window_triple_mushroom[];
|
||||||
extern s8 common_tlut_item_window_super_mushroom[];
|
extern u8 common_tlut_item_window_super_mushroom[];
|
||||||
extern s8 common_tlut_item_window_blue_shell[];
|
extern u8 common_tlut_item_window_blue_shell[];
|
||||||
extern s8 common_tlut_item_window_boo[];
|
extern u8 common_tlut_item_window_boo[];
|
||||||
extern s8 common_tlut_item_window_green_shell[];
|
extern u8 common_tlut_item_window_green_shell[];
|
||||||
extern s8 common_tlut_item_window_triple_green_shell[];
|
extern u8 common_tlut_item_window_triple_green_shell[];
|
||||||
extern s8 common_tlut_item_window_red_shell[];
|
extern u8 common_tlut_item_window_red_shell[];
|
||||||
extern s8 common_tlut_item_window_triple_red_shell[];
|
extern u8 common_tlut_item_window_triple_red_shell[];
|
||||||
extern s8 common_tlut_item_window_star[];
|
extern u8 common_tlut_item_window_star[];
|
||||||
extern s8 common_tlut_item_window_thunder_bolt[];
|
extern u8 common_tlut_item_window_thunder_bolt[];
|
||||||
extern s8 common_tlut_item_window_fake_item_box[];
|
extern u8 common_tlut_item_window_fake_item_box[];
|
||||||
extern u8 common_texture_item_window_none[];
|
extern u8 common_texture_item_window_none[];
|
||||||
extern s8 common_texture_item_window_banana[];
|
extern u8 common_texture_item_window_banana[];
|
||||||
extern s8 common_texture_item_window_banana_bunch[];
|
extern u8 common_texture_item_window_banana_bunch[];
|
||||||
extern s8 common_texture_item_window_mushroom[];
|
extern u8 common_texture_item_window_mushroom[];
|
||||||
extern s8 common_texture_item_window_double_mushroom[];
|
extern u8 common_texture_item_window_double_mushroom[];
|
||||||
extern s8 common_texture_item_window_triple_mushroom[];
|
extern u8 common_texture_item_window_triple_mushroom[];
|
||||||
extern s8 common_texture_item_window_super_mushroom[];
|
extern u8 common_texture_item_window_super_mushroom[];
|
||||||
extern s8 common_texture_item_window_blue_shell[];
|
extern u8 common_texture_item_window_blue_shell[];
|
||||||
extern s8 common_texture_item_window_boo[];
|
extern u8 common_texture_item_window_boo[];
|
||||||
extern s8 common_texture_item_window_green_shell[];
|
extern u8 common_texture_item_window_green_shell[];
|
||||||
extern s8 common_texture_item_window_triple_green_shell[];
|
extern u8 common_texture_item_window_triple_green_shell[];
|
||||||
extern s8 common_texture_item_window_red_shell[];
|
extern u8 common_texture_item_window_red_shell[];
|
||||||
extern s8 common_texture_item_window_triple_red_shell[];
|
extern u8 common_texture_item_window_triple_red_shell[];
|
||||||
extern s8 common_texture_item_window_star[];
|
extern u8 common_texture_item_window_star[];
|
||||||
extern s8 common_texture_item_window_thunder_bolt[];
|
extern u8 common_texture_item_window_thunder_bolt[];
|
||||||
extern s8 common_texture_item_window_fake_item_box[];
|
extern u8 common_texture_item_window_fake_item_box[];
|
||||||
extern u8 common_tlut_lakitu_countdown[][512];
|
extern u8 common_tlut_lakitu_countdown[][512];
|
||||||
extern u8 common_tlut_lakitu_checkered_flag[];
|
extern u8 common_tlut_lakitu_checkered_flag[];
|
||||||
extern u8 common_tlut_lakitu_second_lap[];
|
extern u8 common_tlut_lakitu_second_lap[];
|
||||||
|
|
@ -344,31 +344,31 @@ extern u8 common_tlut_lakitu_reverse[];
|
||||||
extern u8 common_tlut_lakitu_fishing[];
|
extern u8 common_tlut_lakitu_fishing[];
|
||||||
|
|
||||||
extern u8 common_texture_particle_leaf[];
|
extern u8 common_texture_particle_leaf[];
|
||||||
extern s8 common_tlut_traffic_light[];
|
extern u8 common_tlut_traffic_light[];
|
||||||
extern s8 common_texture_traffic_light_01[];
|
extern u8 common_texture_traffic_light_01[];
|
||||||
extern s8 common_texture_traffic_light_02[];
|
extern u8 common_texture_traffic_light_02[];
|
||||||
extern s8 common_texture_traffic_light_03[];
|
extern u8 common_texture_traffic_light_03[];
|
||||||
extern s8 common_texture_traffic_light_04[];
|
extern u8 common_texture_traffic_light_04[];
|
||||||
extern s8 common_texture_traffic_light_05[];
|
extern u8 common_texture_traffic_light_05[];
|
||||||
extern s8 common_texture_traffic_light_06[];
|
extern u8 common_texture_traffic_light_06[];
|
||||||
extern s8 common_texture_traffic_light_07[];
|
extern u8 common_texture_traffic_light_07[];
|
||||||
extern s8 common_texture_traffic_light_08[];
|
extern u8 common_texture_traffic_light_08[];
|
||||||
extern s8 common_texture_traffic_light_09[];
|
extern u8 common_texture_traffic_light_09[];
|
||||||
extern s8 common_texture_traffic_light_10[];
|
extern u8 common_texture_traffic_light_10[];
|
||||||
extern s8 common_texture_unused_particle_leaf[];
|
extern u8 common_texture_unused_particle_leaf[];
|
||||||
extern u8 D_0D0293D8[];
|
extern u8 D_0D0293D8[];
|
||||||
extern s8 D_0D029458[];
|
extern u8 D_0D029458[];
|
||||||
extern u8 common_texture_bomb[][1024];
|
extern u8 common_texture_bomb[][1024];
|
||||||
extern s8 D_0D029C58[];
|
extern u8 D_0D029C58[];
|
||||||
extern s8 D_0D02A058[];
|
extern u8 D_0D02A058[];
|
||||||
extern s8 D_0D02A458[];
|
extern u8 D_0D02A458[];
|
||||||
extern u8 common_tlut_bomb[];
|
extern u8 common_tlut_bomb[];
|
||||||
extern u8 D_0D02AA58[];
|
extern u8 D_0D02AA58[];
|
||||||
extern u8 common_texture_particle_spark[][1024];
|
extern u8 common_texture_particle_spark[][1024];
|
||||||
extern u8 common_texture_particle_smoke[][1024];
|
extern u8 common_texture_particle_smoke[][1024];
|
||||||
extern s8 common_texture_minimap_finish_line[];
|
extern u8 common_texture_minimap_finish_line[];
|
||||||
extern s8 common_texture_minimap_kart_character[][128];
|
extern u8 common_texture_minimap_kart_character[][128];
|
||||||
extern s8 common_texture_minimap_progress_dot[];
|
extern u8 common_texture_minimap_progress_dot[];
|
||||||
|
|
||||||
/** @endcond */
|
/** @endcond */
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,23 +18,23 @@
|
||||||
// Somehow these symbols need to be linked in. For now, raw addresses are used.
|
// Somehow these symbols need to be linked in. For now, raw addresses are used.
|
||||||
|
|
||||||
/*
|
/*
|
||||||
extern s8 D_03004000[];
|
extern u8 D_03004000[];
|
||||||
extern s8 D_03004800[];
|
extern u8 D_03004800[];
|
||||||
extern s8 D_03005000[];
|
extern u8 D_03005000[];
|
||||||
extern s8 D_03005800[];
|
extern u8 D_03005800[];
|
||||||
extern s8 D_03006000[];
|
extern u8 D_03006000[];
|
||||||
extern s8 D_03006800[];
|
extern u8 D_03006800[];
|
||||||
extern s8 D_03007000[];
|
extern u8 D_03007000[];
|
||||||
extern s8 D_03007800[];
|
extern u8 D_03007800[];
|
||||||
extern s8 D_03008000[];
|
extern u8 D_03008000[];
|
||||||
extern s8 D_03008800[];
|
extern u8 D_03008800[];
|
||||||
*/
|
*/
|
||||||
|
|
||||||
s8 common_tlut_finish_line_banner[] = { // tlut
|
u8 common_tlut_finish_line_banner[] = { // tlut
|
||||||
#include "assets/finish_line_banner/common_tlut_finish_line_banner.inc.c"
|
#include "assets/finish_line_banner/common_tlut_finish_line_banner.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_texture_particle_fire[] = { // tlut
|
u8 common_texture_particle_fire[] = { // tlut
|
||||||
#include "textures/common/common_texture_particle_fire.rgba16.inc.c"
|
#include "textures/common/common_texture_particle_fire.rgba16.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -396,7 +396,7 @@ Vtx D_0D001EB8[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
// D_0D001EE8
|
// D_0D001EE8
|
||||||
s8 common_texture_item_box_question_mark[] = {
|
u8 common_texture_item_box_question_mark[] = {
|
||||||
#include "textures/common/common_texture_item_box_question_mark.rgba16.inc.c"
|
#include "textures/common/common_texture_item_box_question_mark.rgba16.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -578,11 +578,11 @@ Vtx common_vtx_flat_banana[] = {
|
||||||
|
|
||||||
|
|
||||||
// D_0D003348
|
// D_0D003348
|
||||||
s8 common_texture_banana[] = {
|
u8 common_texture_banana[] = {
|
||||||
#include "textures/common/common_texture_banana.rgba16.inc.c"
|
#include "textures/common/common_texture_banana.rgba16.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_texture_flat_banana[] = {
|
u8 common_texture_flat_banana[] = {
|
||||||
#include "textures/common/common_texture_flat_banana.rgba16.inc.c"
|
#include "textures/common/common_texture_flat_banana.rgba16.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -632,15 +632,15 @@ Gfx common_model_flat_banana[] = {
|
||||||
|
|
||||||
// tlut size 8x29
|
// tlut size 8x29
|
||||||
//! @todo What is this?
|
//! @todo What is this?
|
||||||
s8 common_tlut_trees_import[] = {
|
u8 common_tlut_trees_import[] = {
|
||||||
#include "assets/trees/common_tlut_trees_import.inc.c"
|
#include "assets/trees/common_tlut_trees_import.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_tlut_green_shell[] = {
|
u8 common_tlut_green_shell[] = {
|
||||||
#include "assets/greenshell/common_tlut_green_shell.inc.c"
|
#include "assets/greenshell/common_tlut_green_shell.inc.c"
|
||||||
};
|
};
|
||||||
// 5038
|
// 5038
|
||||||
s8 common_tlut_blue_shell[] = {
|
u8 common_tlut_blue_shell[] = {
|
||||||
#include "assets/blueshell/common_tlut_blue_shell.inc.c"
|
#include "assets/blueshell/common_tlut_blue_shell.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -1269,20 +1269,20 @@ Gfx D_0D006A40[] = {
|
||||||
|
|
||||||
|
|
||||||
// Texture Block shadow i4
|
// Texture Block shadow i4
|
||||||
s8 D_0D006A58[] = {
|
u8 D_0D006A58[] = {
|
||||||
#include "textures/common/132B50_06A58.i4.inc.c"
|
#include "textures/common/132B50_06A58.i4.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 D_0D006AD8[] = {
|
u8 D_0D006AD8[] = {
|
||||||
#include "textures/common/132B50_06AD8.ia8.inc.c"
|
#include "textures/common/132B50_06AD8.ia8.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
// tlut
|
// tlut
|
||||||
s8 common_tlut_debug_font[] = {
|
u8 common_tlut_debug_font[] = {
|
||||||
#include "assets/debug_font/common_tlut_debug_font.inc.c"
|
#include "assets/debug_font/common_tlut_debug_font.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_texture_debug_font[] = {
|
u8 common_texture_debug_font[] = {
|
||||||
#include "assets/debug_font/common_texture_debug_font.inc.c"
|
#include "assets/debug_font/common_texture_debug_font.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -2566,17 +2566,17 @@ f32 D_0D009808[][4] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Odometer speedometer
|
// Odometer speedometer
|
||||||
s8 common_texture_speedometer[] = {
|
u8 common_texture_speedometer[] = {
|
||||||
#include "textures/common/common_texture_speedometer.i4.inc.c"
|
#include "textures/common/common_texture_speedometer.i4.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
// i8? odometer needle
|
// i8? odometer needle
|
||||||
s8 common_texture_speedometer_needle[] = {
|
u8 common_texture_speedometer_needle[] = {
|
||||||
#include "textures/common/common_texture_speedometer_needle.i4.inc.c"
|
#include "textures/common/common_texture_speedometer_needle.i4.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
// Lap UI Texture
|
// Lap UI Texture
|
||||||
s8 common_texture_hud_lap[] = {
|
u8 common_texture_hud_lap[] = {
|
||||||
#include "textures/common/common_texture_hud_lap.rgba16.inc.c"
|
#include "textures/common/common_texture_hud_lap.rgba16.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -2586,32 +2586,32 @@ u8 common_texture_hud_123[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Lap
|
// Lap
|
||||||
s8 common_texture_hud_lap_time[] = {
|
u8 common_texture_hud_lap_time[] = {
|
||||||
#include "textures/common/common_texture_hud_lap_time.rgba16.inc.c"
|
#include "textures/common/common_texture_hud_lap_time.rgba16.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
// 1/3
|
// 1/3
|
||||||
s8 common_texture_hud_lap_1_on_3[] = {
|
u8 common_texture_hud_lap_1_on_3[] = {
|
||||||
#include "textures/common/common_texture_hud_lap_1_on_3.rgba16.inc.c"
|
#include "textures/common/common_texture_hud_lap_1_on_3.rgba16.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
// 2/3
|
// 2/3
|
||||||
s8 common_texture_hud_lap_2_on_3[] = {
|
u8 common_texture_hud_lap_2_on_3[] = {
|
||||||
#include "textures/common/common_texture_hud_lap_2_on_3.rgba16.inc.c"
|
#include "textures/common/common_texture_hud_lap_2_on_3.rgba16.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
// 3/3
|
// 3/3
|
||||||
s8 common_texture_hud_lap_3_on_3[] = {
|
u8 common_texture_hud_lap_3_on_3[] = {
|
||||||
#include "textures/common/common_texture_hud_lap_3_on_3.rgba16.inc.c"
|
#include "textures/common/common_texture_hud_lap_3_on_3.rgba16.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
// total
|
// total
|
||||||
s8 common_texture_hud_total_time[] = {
|
u8 common_texture_hud_total_time[] = {
|
||||||
#include "textures/common/common_texture_hud_total_time.rgba16.inc.c"
|
#include "textures/common/common_texture_hud_total_time.rgba16.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
// time
|
// time
|
||||||
s8 common_texture_hud_time[] = {
|
u8 common_texture_hud_time[] = {
|
||||||
#include "textures/common/common_texture_hud_time.rgba16.inc.c"
|
#include "textures/common/common_texture_hud_time.rgba16.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -2773,83 +2773,83 @@ u8 common_texture_character_portrait_border[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
// 1A4D8 mario tlut
|
// 1A4D8 mario tlut
|
||||||
s8 common_tlut_portrait_mario[] = {
|
u8 common_tlut_portrait_mario[] = {
|
||||||
#include "assets/character_portraits/common_tlut_portrait_mario.inc.c"
|
#include "assets/character_portraits/common_tlut_portrait_mario.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
// 1A6D8 luigi tlut
|
// 1A6D8 luigi tlut
|
||||||
s8 common_tlut_portrait_luigi[] = {
|
u8 common_tlut_portrait_luigi[] = {
|
||||||
#include "assets/character_portraits/common_tlut_portrait_luigi.inc.c"
|
#include "assets/character_portraits/common_tlut_portrait_luigi.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
// 1A8D8 peach tlut
|
// 1A8D8 peach tlut
|
||||||
s8 common_tlut_portrait_peach[] = {
|
u8 common_tlut_portrait_peach[] = {
|
||||||
#include "assets/character_portraits/common_tlut_portrait_peach.inc.c"
|
#include "assets/character_portraits/common_tlut_portrait_peach.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
// 1AAD8 toad tlut
|
// 1AAD8 toad tlut
|
||||||
s8 common_tlut_portrait_toad[] = {
|
u8 common_tlut_portrait_toad[] = {
|
||||||
#include "assets/character_portraits/common_tlut_portrait_toad.inc.c"
|
#include "assets/character_portraits/common_tlut_portrait_toad.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
// 1ACD8 yoshi tlut
|
// 1ACD8 yoshi tlut
|
||||||
s8 common_tlut_portrait_yoshi[] = {
|
u8 common_tlut_portrait_yoshi[] = {
|
||||||
#include "assets/character_portraits/common_tlut_portrait_yoshi.inc.c"
|
#include "assets/character_portraits/common_tlut_portrait_yoshi.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
// 1AED8 dk tlut
|
// 1AED8 dk tlut
|
||||||
s8 common_tlut_portrait_donkey_kong[] = {
|
u8 common_tlut_portrait_donkey_kong[] = {
|
||||||
#include "assets/character_portraits/common_tlut_portrait_donkey_kong.inc.c"
|
#include "assets/character_portraits/common_tlut_portrait_donkey_kong.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
// 1B0D8 wario tlut
|
// 1B0D8 wario tlut
|
||||||
s8 common_tlut_portrait_wario[] = {
|
u8 common_tlut_portrait_wario[] = {
|
||||||
#include "assets/character_portraits/common_tlut_portrait_wario.inc.c"
|
#include "assets/character_portraits/common_tlut_portrait_wario.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
// 1B2D8 bowser tlut
|
// 1B2D8 bowser tlut
|
||||||
s8 common_tlut_portrait_bowser[] = {
|
u8 common_tlut_portrait_bowser[] = {
|
||||||
#include "assets/character_portraits/common_tlut_portrait_bowser.inc.c"
|
#include "assets/character_portraits/common_tlut_portrait_bowser.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
// 1B4D8 bob-omb tlut and question mark?
|
// 1B4D8 bob-omb tlut and question mark?
|
||||||
s8 common_tlut_portrait_bomb_kart_and_question_mark[] = {
|
u8 common_tlut_portrait_bomb_kart_and_question_mark[] = {
|
||||||
#include "assets/character_portraits/common_tlut_portrait_bomb_kart_and_question_mark.inc.c"
|
#include "assets/character_portraits/common_tlut_portrait_bomb_kart_and_question_mark.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Mario
|
// Mario
|
||||||
s8 common_texture_portrait_mario[] = {
|
u8 common_texture_portrait_mario[] = {
|
||||||
#include "assets/character_portraits/common_texture_portrait_mario.inc.c"
|
#include "assets/character_portraits/common_texture_portrait_mario.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
// Luigi
|
// Luigi
|
||||||
s8 common_texture_portrait_luigi[] = {
|
u8 common_texture_portrait_luigi[] = {
|
||||||
#include "assets/character_portraits/common_texture_portrait_luigi.inc.c"
|
#include "assets/character_portraits/common_texture_portrait_luigi.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
// Peach
|
// Peach
|
||||||
s8 common_texture_portrait_peach[] = {
|
u8 common_texture_portrait_peach[] = {
|
||||||
#include "assets/character_portraits/common_texture_portrait_peach.inc.c"
|
#include "assets/character_portraits/common_texture_portrait_peach.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
// Toad
|
// Toad
|
||||||
s8 common_texture_portrait_toad[] = {
|
u8 common_texture_portrait_toad[] = {
|
||||||
#include "assets/character_portraits/common_texture_portrait_toad.inc.c"
|
#include "assets/character_portraits/common_texture_portrait_toad.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
// Yoshi
|
// Yoshi
|
||||||
s8 common_texture_portrait_yoshi[] = {
|
u8 common_texture_portrait_yoshi[] = {
|
||||||
#include "assets/character_portraits/common_texture_portrait_yoshi.inc.c"
|
#include "assets/character_portraits/common_texture_portrait_yoshi.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
// Donkey Kong
|
// Donkey Kong
|
||||||
s8 common_texture_portrait_donkey_kong[] = {
|
u8 common_texture_portrait_donkey_kong[] = {
|
||||||
#include "assets/character_portraits/common_texture_portrait_donkey_kong.inc.c"
|
#include "assets/character_portraits/common_texture_portrait_donkey_kong.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
// Wario
|
// Wario
|
||||||
s8 common_texture_portrait_wario[] = {
|
u8 common_texture_portrait_wario[] = {
|
||||||
#include "assets/character_portraits/common_texture_portrait_wario.inc.c"
|
#include "assets/character_portraits/common_texture_portrait_wario.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -2869,67 +2869,67 @@ u8 common_texture_portrait_question_mark[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
// 1DED8 tlut item frames
|
// 1DED8 tlut item frames
|
||||||
s8 common_tlut_item_window_none[] = {
|
u8 common_tlut_item_window_none[] = {
|
||||||
#include "assets/item_window/common_tlut_item_window_none.inc.c"
|
#include "assets/item_window/common_tlut_item_window_none.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_tlut_item_window_banana[] = {
|
u8 common_tlut_item_window_banana[] = {
|
||||||
#include "assets/item_window/common_tlut_item_window_banana.inc.c"
|
#include "assets/item_window/common_tlut_item_window_banana.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_tlut_item_window_banana_bunch[] = {
|
u8 common_tlut_item_window_banana_bunch[] = {
|
||||||
#include "assets/item_window/common_tlut_item_window_banana_bunch.inc.c"
|
#include "assets/item_window/common_tlut_item_window_banana_bunch.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_tlut_item_window_mushroom[] = {
|
u8 common_tlut_item_window_mushroom[] = {
|
||||||
#include "assets/item_window/common_tlut_item_window_mushroom.inc.c"
|
#include "assets/item_window/common_tlut_item_window_mushroom.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_tlut_item_window_double_mushroom[] = {
|
u8 common_tlut_item_window_double_mushroom[] = {
|
||||||
#include "assets/item_window/common_tlut_item_window_double_mushroom.inc.c"
|
#include "assets/item_window/common_tlut_item_window_double_mushroom.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_tlut_item_window_triple_mushroom[] = {
|
u8 common_tlut_item_window_triple_mushroom[] = {
|
||||||
#include "assets/item_window/common_tlut_item_window_triple_mushroom.inc.c"
|
#include "assets/item_window/common_tlut_item_window_triple_mushroom.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_tlut_item_window_super_mushroom[] = {
|
u8 common_tlut_item_window_super_mushroom[] = {
|
||||||
#include "assets/item_window/common_tlut_item_window_super_mushroom.inc.c"
|
#include "assets/item_window/common_tlut_item_window_super_mushroom.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_tlut_item_window_blue_shell[] = {
|
u8 common_tlut_item_window_blue_shell[] = {
|
||||||
#include "assets/item_window/common_tlut_item_window_blue_shell.inc.c"
|
#include "assets/item_window/common_tlut_item_window_blue_shell.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_tlut_item_window_boo[] = {
|
u8 common_tlut_item_window_boo[] = {
|
||||||
#include "assets/item_window/common_tlut_item_window_boo.inc.c"
|
#include "assets/item_window/common_tlut_item_window_boo.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_tlut_item_window_green_shell[] = {
|
u8 common_tlut_item_window_green_shell[] = {
|
||||||
#include "assets/item_window/common_tlut_item_window_green_shell.inc.c"
|
#include "assets/item_window/common_tlut_item_window_green_shell.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_tlut_item_window_triple_green_shell[] = {
|
u8 common_tlut_item_window_triple_green_shell[] = {
|
||||||
#include "assets/item_window/common_tlut_item_window_triple_green_shell.inc.c"
|
#include "assets/item_window/common_tlut_item_window_triple_green_shell.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_tlut_item_window_red_shell[] = {
|
u8 common_tlut_item_window_red_shell[] = {
|
||||||
#include "assets/item_window/common_tlut_item_window_red_shell.inc.c"
|
#include "assets/item_window/common_tlut_item_window_red_shell.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_tlut_item_window_triple_red_shell[] = {
|
u8 common_tlut_item_window_triple_red_shell[] = {
|
||||||
#include "assets/item_window/common_tlut_item_window_triple_red_shell.inc.c"
|
#include "assets/item_window/common_tlut_item_window_triple_red_shell.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_tlut_item_window_star[] = {
|
u8 common_tlut_item_window_star[] = {
|
||||||
#include "assets/item_window/common_tlut_item_window_star.inc.c"
|
#include "assets/item_window/common_tlut_item_window_star.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_tlut_item_window_thunder_bolt[] = {
|
u8 common_tlut_item_window_thunder_bolt[] = {
|
||||||
#include "assets/item_window/common_tlut_item_window_thunder_bolt.inc.c"
|
#include "assets/item_window/common_tlut_item_window_thunder_bolt.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_tlut_item_window_fake_item_box[] = {
|
u8 common_tlut_item_window_fake_item_box[] = {
|
||||||
#include "assets/item_window/common_tlut_item_window_fake_item_box.inc.c"
|
#include "assets/item_window/common_tlut_item_window_fake_item_box.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -2938,63 +2938,63 @@ u8 common_texture_item_window_none[] = {
|
||||||
#include "assets/item_window/common_texture_item_window_none.inc.c"
|
#include "assets/item_window/common_texture_item_window_none.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_texture_item_window_banana[] = {
|
u8 common_texture_item_window_banana[] = {
|
||||||
#include "assets/item_window/common_texture_item_window_banana.inc.c"
|
#include "assets/item_window/common_texture_item_window_banana.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_texture_item_window_banana_bunch[] = {
|
u8 common_texture_item_window_banana_bunch[] = {
|
||||||
#include "assets/item_window/common_texture_item_window_banana_bunch.inc.c"
|
#include "assets/item_window/common_texture_item_window_banana_bunch.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_texture_item_window_mushroom[] = {
|
u8 common_texture_item_window_mushroom[] = {
|
||||||
#include "assets/item_window/common_texture_item_window_mushroom.inc.c"
|
#include "assets/item_window/common_texture_item_window_mushroom.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_texture_item_window_double_mushroom[] = {
|
u8 common_texture_item_window_double_mushroom[] = {
|
||||||
#include "assets/item_window/common_texture_item_window_double_mushroom.inc.c"
|
#include "assets/item_window/common_texture_item_window_double_mushroom.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_texture_item_window_triple_mushroom[] = {
|
u8 common_texture_item_window_triple_mushroom[] = {
|
||||||
#include "assets/item_window/common_texture_item_window_triple_mushroom.inc.c"
|
#include "assets/item_window/common_texture_item_window_triple_mushroom.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_texture_item_window_super_mushroom[] = {
|
u8 common_texture_item_window_super_mushroom[] = {
|
||||||
#include "assets/item_window/common_texture_item_window_super_mushroom.inc.c"
|
#include "assets/item_window/common_texture_item_window_super_mushroom.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_texture_item_window_blue_shell[] = {
|
u8 common_texture_item_window_blue_shell[] = {
|
||||||
#include "assets/item_window/common_texture_item_window_blue_shell.inc.c"
|
#include "assets/item_window/common_texture_item_window_blue_shell.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_texture_item_window_boo[] = {
|
u8 common_texture_item_window_boo[] = {
|
||||||
#include "assets/item_window/common_texture_item_window_boo.inc.c"
|
#include "assets/item_window/common_texture_item_window_boo.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_texture_item_window_green_shell[] = {
|
u8 common_texture_item_window_green_shell[] = {
|
||||||
#include "assets/item_window/common_texture_item_window_green_shell.inc.c"
|
#include "assets/item_window/common_texture_item_window_green_shell.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_texture_item_window_triple_green_shell[] = {
|
u8 common_texture_item_window_triple_green_shell[] = {
|
||||||
#include "assets/item_window/common_texture_item_window_triple_green_shell.inc.c"
|
#include "assets/item_window/common_texture_item_window_triple_green_shell.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_texture_item_window_red_shell[] = {
|
u8 common_texture_item_window_red_shell[] = {
|
||||||
#include "assets/item_window/common_texture_item_window_red_shell.inc.c"
|
#include "assets/item_window/common_texture_item_window_red_shell.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_texture_item_window_triple_red_shell[] = {
|
u8 common_texture_item_window_triple_red_shell[] = {
|
||||||
#include "assets/item_window/common_texture_item_window_triple_red_shell.inc.c"
|
#include "assets/item_window/common_texture_item_window_triple_red_shell.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_texture_item_window_star[] = {
|
u8 common_texture_item_window_star[] = {
|
||||||
#include "assets/item_window/common_texture_item_window_star.inc.c"
|
#include "assets/item_window/common_texture_item_window_star.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_texture_item_window_thunder_bolt[] = {
|
u8 common_texture_item_window_thunder_bolt[] = {
|
||||||
#include "assets/item_window/common_texture_item_window_thunder_bolt.inc.c"
|
#include "assets/item_window/common_texture_item_window_thunder_bolt.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_texture_item_window_fake_item_box[] = {
|
u8 common_texture_item_window_fake_item_box[] = {
|
||||||
#include "assets/item_window/common_texture_item_window_fake_item_box.inc.c"
|
#include "assets/item_window/common_texture_item_window_fake_item_box.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -3039,49 +3039,49 @@ u8 common_tlut_lakitu_fishing[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
// unused traffic light tlut
|
// unused traffic light tlut
|
||||||
UNUSED s8 common_tlut_traffic_light[] = {
|
UNUSED u8 common_tlut_traffic_light[] = {
|
||||||
#include "assets/unused_traffic_light/common_tlut_traffic_light.inc.c"
|
#include "assets/unused_traffic_light/common_tlut_traffic_light.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
// unused traffic light textures
|
// unused traffic light textures
|
||||||
|
|
||||||
UNUSED s8 common_texture_traffic_light_01[] = {
|
UNUSED u8 common_texture_traffic_light_01[] = {
|
||||||
#include "assets/unused_traffic_light/common_texture_traffic_light_01.inc.c"
|
#include "assets/unused_traffic_light/common_texture_traffic_light_01.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
UNUSED s8 common_texture_traffic_light_02[] = {
|
UNUSED u8 common_texture_traffic_light_02[] = {
|
||||||
#include "assets/unused_traffic_light/common_texture_traffic_light_02.inc.c"
|
#include "assets/unused_traffic_light/common_texture_traffic_light_02.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
UNUSED s8 common_texture_traffic_light_03[] = {
|
UNUSED u8 common_texture_traffic_light_03[] = {
|
||||||
#include "assets/unused_traffic_light/common_texture_traffic_light_03.inc.c"
|
#include "assets/unused_traffic_light/common_texture_traffic_light_03.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
UNUSED s8 common_texture_traffic_light_04[] = {
|
UNUSED u8 common_texture_traffic_light_04[] = {
|
||||||
#include "assets/unused_traffic_light/common_texture_traffic_light_04.inc.c"
|
#include "assets/unused_traffic_light/common_texture_traffic_light_04.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
UNUSED s8 common_texture_traffic_light_05[] = {
|
UNUSED u8 common_texture_traffic_light_05[] = {
|
||||||
#include "assets/unused_traffic_light/common_texture_traffic_light_05.inc.c"
|
#include "assets/unused_traffic_light/common_texture_traffic_light_05.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
UNUSED s8 common_texture_traffic_light_06[] = {
|
UNUSED u8 common_texture_traffic_light_06[] = {
|
||||||
#include "assets/unused_traffic_light/common_texture_traffic_light_06.inc.c"
|
#include "assets/unused_traffic_light/common_texture_traffic_light_06.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
UNUSED s8 common_texture_traffic_light_07[] = {
|
UNUSED u8 common_texture_traffic_light_07[] = {
|
||||||
#include "assets/unused_traffic_light/common_texture_traffic_light_07.inc.c"
|
#include "assets/unused_traffic_light/common_texture_traffic_light_07.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
UNUSED s8 common_texture_traffic_light_08[] = {
|
UNUSED u8 common_texture_traffic_light_08[] = {
|
||||||
#include "assets/unused_traffic_light/common_texture_traffic_light_08.inc.c"
|
#include "assets/unused_traffic_light/common_texture_traffic_light_08.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
UNUSED s8 common_texture_traffic_light_09[] = {
|
UNUSED u8 common_texture_traffic_light_09[] = {
|
||||||
#include "assets/unused_traffic_light/common_texture_traffic_light_09.inc.c"
|
#include "assets/unused_traffic_light/common_texture_traffic_light_09.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
UNUSED s8 common_texture_traffic_light_10[] = {
|
UNUSED u8 common_texture_traffic_light_10[] = {
|
||||||
#include "assets/unused_traffic_light/common_texture_traffic_light_10.inc.c"
|
#include "assets/unused_traffic_light/common_texture_traffic_light_10.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -3091,7 +3091,7 @@ u8 common_texture_particle_leaf[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
// leaf
|
// leaf
|
||||||
UNUSED s8 common_texture_unused_particle_leaf[] = {
|
UNUSED u8 common_texture_unused_particle_leaf[] = {
|
||||||
#include "textures/common/common_texture_unused_particle_leaf.rgba16.inc.c"
|
#include "textures/common/common_texture_unused_particle_leaf.rgba16.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -3102,7 +3102,7 @@ u8 D_0D0293D8[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Smoke?
|
// Smoke?
|
||||||
s8 D_0D029458[] = {
|
u8 D_0D029458[] = {
|
||||||
#include "textures/common/132B50_29458.i8.inc.c"
|
#include "textures/common/132B50_29458.i8.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -3163,11 +3163,11 @@ u8 common_texture_particle_smoke[][1024] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
// minimap cars
|
// minimap cars
|
||||||
s8 common_texture_minimap_finish_line[] = {
|
u8 common_texture_minimap_finish_line[] = {
|
||||||
#include "assets/minimap_icons/common_texture_minimap_finish_line.inc.c"
|
#include "assets/minimap_icons/common_texture_minimap_finish_line.inc.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_texture_minimap_kart_character[][128] = {
|
u8 common_texture_minimap_kart_character[][128] = {
|
||||||
{ // Mario
|
{ // Mario
|
||||||
#include "assets/minimap_icons/common_texture_minimap_kart_mario.inc.c"
|
#include "assets/minimap_icons/common_texture_minimap_kart_mario.inc.c"
|
||||||
},
|
},
|
||||||
|
|
@ -3194,6 +3194,6 @@ s8 common_texture_minimap_kart_character[][128] = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 common_texture_minimap_progress_dot[] = {
|
u8 common_texture_minimap_progress_dot[] = {
|
||||||
#include "assets/minimap_icons/common_texture_minimap_progress_dot.inc.c"
|
#include "assets/minimap_icons/common_texture_minimap_progress_dot.inc.c"
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
#include <code_8003DC40.h>
|
#include <code_8003DC40.h>
|
||||||
#include <code_80057C60.h>
|
#include <code_80057C60.h>
|
||||||
#include <code_8006E9C0.h>
|
#include <code_8006E9C0.h>
|
||||||
#include <code_80071F00.h>
|
#include <update_objects.h>
|
||||||
#include <code_80086E70.h>
|
#include <code_80086E70.h>
|
||||||
#include <effects.h>
|
#include <effects.h>
|
||||||
#include <code_80091440.h>
|
#include <code_80091440.h>
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
#include <credits.h>
|
#include <credits.h>
|
||||||
#include <data_segment2.h>
|
#include <data_segment2.h>
|
||||||
#include <buffers.h>
|
#include <buffers.h>
|
||||||
#include <hud_renderer.h>
|
#include <render_objects.h>
|
||||||
#include <kart_dma.h>
|
#include <kart_dma.h>
|
||||||
#include <main.h>
|
#include <main.h>
|
||||||
#include <math_util_2.h>
|
#include <math_util_2.h>
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
#include "code_80005FD0.h"
|
#include "code_80005FD0.h"
|
||||||
#include "render_player.h"
|
#include "render_player.h"
|
||||||
#include "player_controller.h"
|
#include "player_controller.h"
|
||||||
#include "hud_renderer.h"
|
#include "render_objects.h"
|
||||||
#include "code_80057C60.h"
|
#include "code_80057C60.h"
|
||||||
#include "effects.h"
|
#include "effects.h"
|
||||||
#include "audio/external.h"
|
#include "audio/external.h"
|
||||||
|
|
@ -1908,7 +1908,7 @@ void func_80090970(Player *player, s8 playerId, s8 arg2) {
|
||||||
case 2:
|
case 2:
|
||||||
func_80090178(player, playerId, sp44, sp38);
|
func_80090178(player, playerId, sp44, sp38);
|
||||||
// Fakematch found by Verti, who knows what's going on here
|
// Fakematch found by Verti, who knows what's going on here
|
||||||
player->rotation[1] = (u16) -get_angle_between_points(sp44, sp38) & 0xFFFF;
|
player->rotation[1] = (u16) -get_angle_between_two_vectors(sp44, sp38) & 0xFFFF;
|
||||||
player->pos[0] = sp44[0];
|
player->pos[0] = sp44[0];
|
||||||
player->pos[1] = sp44[1] + 40.0f;
|
player->pos[1] = sp44[1] + 40.0f;
|
||||||
player->pos[2] = sp44[2];
|
player->pos[2] = sp44[2];
|
||||||
|
|
|
||||||
|
|
@ -682,7 +682,7 @@ void play_sound_congratulation(UNUSED struct CinematicCamera *camera) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Played in ceremony opening with ballons.
|
* Played in ceremony opening with balloons.
|
||||||
*/
|
*/
|
||||||
void play_sound_balloon_pop(UNUSED struct CinematicCamera *camera) {
|
void play_sound_balloon_pop(UNUSED struct CinematicCamera *camera) {
|
||||||
play_sound2(SOUND_CEREMONY_BALLOON_POP);
|
play_sound2(SOUND_CEREMONY_BALLOON_POP);
|
||||||
|
|
|
||||||
|
|
@ -63,8 +63,8 @@ void func_80280038(void) {
|
||||||
render_set_position(matrix, 0);
|
render_set_position(matrix, 0);
|
||||||
render_course(D_800DC5EC);
|
render_course(D_800DC5EC);
|
||||||
render_course_actors(D_800DC5EC);
|
render_course_actors(D_800DC5EC);
|
||||||
func_80058090(0);
|
render_object(PLAYER_ONE+SCREEN_MODE_1P);
|
||||||
func_80058538(0);
|
render_player_snow_effect(PLAYER_ONE+SCREEN_MODE_1P);
|
||||||
transition_sliding_borders();
|
transition_sliding_borders();
|
||||||
func_80281C40();
|
func_80281C40();
|
||||||
init_rdp();
|
init_rdp();
|
||||||
|
|
@ -165,7 +165,7 @@ void load_credits(void) {
|
||||||
camera->up[2] = 0.0f;
|
camera->up[2] = 0.0f;
|
||||||
init_cinematic_camera();
|
init_cinematic_camera();
|
||||||
func_80003040();
|
func_80003040();
|
||||||
init_object_list();
|
init_hud();
|
||||||
func_80093E60();
|
func_80093E60();
|
||||||
func_80092688();
|
func_80092688();
|
||||||
if (D_800DC5EC) {}
|
if (D_800DC5EC) {}
|
||||||
|
|
|
||||||
|
|
@ -157,7 +157,7 @@ void load_ceremony_cutscene(void) {
|
||||||
debug_switch_character_ceremony_cutscene();
|
debug_switch_character_ceremony_cutscene();
|
||||||
func_802818BC();
|
func_802818BC();
|
||||||
func_8003D080();
|
func_8003D080();
|
||||||
init_object_list();
|
init_hud();
|
||||||
func_8001C05C();
|
func_8001C05C();
|
||||||
balloons_and_fireworks_init();
|
balloons_and_fireworks_init();
|
||||||
func_802816B8();
|
func_802816B8();
|
||||||
|
|
|
||||||
|
|
@ -6,13 +6,14 @@
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "math_util.h"
|
#include "math_util.h"
|
||||||
#include "skybox_and_splitscreen.h"
|
#include "skybox_and_splitscreen.h"
|
||||||
#include "hud_renderer.h"
|
#include "render_objects.h"
|
||||||
#include "code_80057C60.h"
|
#include "code_80057C60.h"
|
||||||
#include "code_80091750.h"
|
#include "code_80091750.h"
|
||||||
#include "podium_ceremony_actors.h"
|
#include "podium_ceremony_actors.h"
|
||||||
#include "ceremony_and_credits.h"
|
#include "ceremony_and_credits.h"
|
||||||
#include "podium_ceremony_actors.h"
|
#include "podium_ceremony_actors.h"
|
||||||
#include "render_player.h"
|
#include "render_player.h"
|
||||||
|
#include "defines.h"
|
||||||
|
|
||||||
struct UnkStruct80287560 {
|
struct UnkStruct80287560 {
|
||||||
s16 unk0;
|
s16 unk0;
|
||||||
|
|
@ -79,7 +80,7 @@ void func_80281D00(void) {
|
||||||
render_players_on_screen_one();
|
render_players_on_screen_one();
|
||||||
gSPDisplayList(gDisplayListHead++, VIRTUAL_TO_PHYSICAL2(&D_80284EE0));
|
gSPDisplayList(gDisplayListHead++, VIRTUAL_TO_PHYSICAL2(&D_80284EE0));
|
||||||
update_actors_loop();
|
update_actors_loop();
|
||||||
func_80058090(0);
|
render_object(PLAYER_ONE+SCREEN_MODE_1P);
|
||||||
func_80021B0C();
|
func_80021B0C();
|
||||||
gSPDisplayList(gDisplayListHead++, VIRTUAL_TO_PHYSICAL2(&D_80284EE0));
|
gSPDisplayList(gDisplayListHead++, VIRTUAL_TO_PHYSICAL2(&D_80284EE0));
|
||||||
func_80093F10();
|
func_80093F10();
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
#include "memory.h"
|
#include "memory.h"
|
||||||
#include "common_textures.h"
|
#include "common_textures.h"
|
||||||
#include "render_player.h"
|
#include "render_player.h"
|
||||||
#include "hud_renderer.h"
|
#include "render_objects.h"
|
||||||
#include "podium_ceremony_actors.h"
|
#include "podium_ceremony_actors.h"
|
||||||
#include "camera_junk.h"
|
#include "camera_junk.h"
|
||||||
#include "player_controller.h"
|
#include "player_controller.h"
|
||||||
|
|
@ -471,7 +471,7 @@ void podium_ceremony_loop(void) {
|
||||||
func_8005A070();
|
func_8005A070();
|
||||||
if (D_802874D8.unk1C != 0) {
|
if (D_802874D8.unk1C != 0) {
|
||||||
func_8001C14C();
|
func_8001C14C();
|
||||||
func_800097E0();
|
update_vehicles();
|
||||||
}
|
}
|
||||||
func_80281D00();
|
func_80281D00();
|
||||||
func_80281540();
|
func_80281540();
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
#include "common_structs.h"
|
#include "common_structs.h"
|
||||||
|
|
||||||
enum ActorType {
|
enum CeremonyActorType {
|
||||||
Initial,
|
Initial,
|
||||||
Balloon,
|
Balloon,
|
||||||
FireworkCone,
|
FireworkCone,
|
||||||
|
|
|
||||||
52
src/main.c
52
src/main.c
|
|
@ -18,7 +18,7 @@
|
||||||
#include "profiler.h"
|
#include "profiler.h"
|
||||||
#include "race_logic.h"
|
#include "race_logic.h"
|
||||||
#include "skybox_and_splitscreen.h"
|
#include "skybox_and_splitscreen.h"
|
||||||
#include "hud_renderer.h"
|
#include "render_objects.h"
|
||||||
#include "effects.h"
|
#include "effects.h"
|
||||||
#include "code_80281780.h"
|
#include "code_80281780.h"
|
||||||
#include "audio/external.h"
|
#include "audio/external.h"
|
||||||
|
|
@ -612,7 +612,7 @@ void race_logic_loop(void) {
|
||||||
sNumVBlanks = 0;
|
sNumVBlanks = 0;
|
||||||
profiler_log_thread5_time(LEVEL_SCRIPT_EXECUTE);
|
profiler_log_thread5_time(LEVEL_SCRIPT_EXECUTE);
|
||||||
D_8015F788 = 0;
|
D_8015F788 = 0;
|
||||||
func_802A59A4();
|
render_player_one_1p_screen();
|
||||||
if (!gEnableDebugMode) {
|
if (!gEnableDebugMode) {
|
||||||
D_800DC514 = FALSE;
|
D_800DC514 = FALSE;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -684,11 +684,11 @@ void race_logic_loop(void) {
|
||||||
}
|
}
|
||||||
D_8015F788 = 0;
|
D_8015F788 = 0;
|
||||||
if (gPlayerWinningIndex == 0) {
|
if (gPlayerWinningIndex == 0) {
|
||||||
func_802A5FAC();
|
render_player_two_2p_screen_vertical();
|
||||||
func_802A5CB4();
|
render_player_one_2p_screen_vertical();
|
||||||
} else {
|
} else {
|
||||||
func_802A5CB4();
|
render_player_one_2p_screen_vertical();
|
||||||
func_802A5FAC();
|
render_player_two_2p_screen_vertical();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -730,11 +730,11 @@ void race_logic_loop(void) {
|
||||||
}
|
}
|
||||||
D_8015F788 = 0;
|
D_8015F788 = 0;
|
||||||
if (gPlayerWinningIndex == 0) {
|
if (gPlayerWinningIndex == 0) {
|
||||||
func_802A65B8();
|
render_player_two_2p_screen_horizontal();
|
||||||
func_802A62A4();
|
render_player_one_2p_screen_horizontal();
|
||||||
} else {
|
} else {
|
||||||
func_802A62A4();
|
render_player_one_2p_screen_horizontal();
|
||||||
func_802A65B8();
|
render_player_two_2p_screen_horizontal();
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
@ -802,25 +802,25 @@ void race_logic_loop(void) {
|
||||||
}
|
}
|
||||||
D_8015F788 = 0;
|
D_8015F788 = 0;
|
||||||
if (gPlayerWinningIndex == 0) {
|
if (gPlayerWinningIndex == 0) {
|
||||||
func_802A6BB0();
|
render_player_two_3p_4p_screen();
|
||||||
func_802A6E94();
|
render_player_three_3p_4p_screen();
|
||||||
func_802A7178();
|
render_player_four_3p_4p_screen();
|
||||||
func_802A68CC();
|
render_player_one_3p_4p_screen();
|
||||||
} else if (gPlayerWinningIndex == 1) {
|
} else if (gPlayerWinningIndex == 1) {
|
||||||
func_802A68CC();
|
render_player_one_3p_4p_screen();
|
||||||
func_802A6E94();
|
render_player_three_3p_4p_screen();
|
||||||
func_802A7178();
|
render_player_four_3p_4p_screen();
|
||||||
func_802A6BB0();
|
render_player_two_3p_4p_screen();
|
||||||
} else if (gPlayerWinningIndex == 2) {
|
} else if (gPlayerWinningIndex == 2) {
|
||||||
func_802A68CC();
|
render_player_one_3p_4p_screen();
|
||||||
func_802A6BB0();
|
render_player_two_3p_4p_screen();
|
||||||
func_802A7178();
|
render_player_four_3p_4p_screen();
|
||||||
func_802A6E94();
|
render_player_three_3p_4p_screen();
|
||||||
} else {
|
} else {
|
||||||
func_802A68CC();
|
render_player_one_3p_4p_screen();
|
||||||
func_802A6BB0();
|
render_player_two_3p_4p_screen();
|
||||||
func_802A6E94();
|
render_player_three_3p_4p_screen();
|
||||||
func_802A7178();
|
render_player_four_3p_4p_screen();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -400,8 +400,8 @@ f32 func_80041724(f32 x, f32 z, u16 angle) {
|
||||||
return (coss(angle) * z) + (sinAngle * x);
|
return (coss(angle) * z) + (sinAngle * x);
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_80041770(f32 arg0, f32 arg1, f32 arg2, f32 arg3) {
|
s32 get_angle_between_xy(f32 x1, f32 x2, f32 y1, f32 y2) {
|
||||||
return atan2s(arg1 - arg0, arg3 - arg2);
|
return atan2s(x2 - x1, y2 - y1);
|
||||||
}
|
}
|
||||||
|
|
||||||
u16 func_800417B4(u16 angle1, u16 angle2) {
|
u16 func_800417B4(u16 angle1, u16 angle2) {
|
||||||
|
|
@ -450,14 +450,14 @@ s32 func_80041924(Collision *arg0, Vec3f arg1) {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_80041980(Vec3f arg0, Camera *arg1, u16 arg2) {
|
bool is_particle_on_screen(Vec3f arg0, Camera *arg1, u16 arg2) {
|
||||||
u16 temp_t9;
|
u16 temp_t9;
|
||||||
s32 ret;
|
s32 ret;
|
||||||
|
|
||||||
ret = 0;
|
ret = FALSE;
|
||||||
temp_t9 = (func_80041770(arg1->pos[0], arg0[0], arg1->pos[2], arg0[2]) + (arg2 / 2)) - arg1->rot[1];
|
temp_t9 = (get_angle_between_xy(arg1->pos[0], arg0[0], arg1->pos[2], arg0[2]) + (arg2 / 2)) - arg1->rot[1];
|
||||||
if ((temp_t9 >= 0) && (arg2 >= temp_t9)) {
|
if ((temp_t9 >= 0) && (arg2 >= temp_t9)) {
|
||||||
ret = 1;
|
ret = TRUE;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
@ -630,7 +630,7 @@ void func_80041D34(void) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80041EF4(void) {
|
void set_matrix_hud_screen(void) {
|
||||||
gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP);
|
gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP);
|
||||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxOrtho), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxOrtho), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -54,12 +54,12 @@ Vec3f *vec3f_cross_product(Vec3f, Vec3f, Vec3f);
|
||||||
s32 func_80041658(f32, f32);
|
s32 func_80041658(f32, f32);
|
||||||
f32 func_800416D8(f32, f32, u16);
|
f32 func_800416D8(f32, f32, u16);
|
||||||
f32 func_80041724(f32, f32, u16);
|
f32 func_80041724(f32, f32, u16);
|
||||||
s32 func_80041770(f32, f32, f32, f32);
|
s32 get_angle_between_xy(f32, f32, f32, f32);
|
||||||
u16 func_800417B4(u16, u16);
|
u16 func_800417B4(u16, u16);
|
||||||
s32 func_800418AC(f32, f32, Vec3f);
|
s32 func_800418AC(f32, f32, Vec3f);
|
||||||
s32 func_800418E8(f32, f32, Vec3f);
|
s32 func_800418E8(f32, f32, Vec3f);
|
||||||
s32 func_80041924(Collision*, Vec3f);
|
s32 func_80041924(Collision*, Vec3f);
|
||||||
s32 func_80041980(Vec3f, Camera*, u16);
|
s32 is_particle_on_screen(Vec3f, Camera*, u16);
|
||||||
void func_800419F8(void);
|
void func_800419F8(void);
|
||||||
void mtfx_translation_x_y(Mat4, s32, s32);
|
void mtfx_translation_x_y(Mat4, s32, s32);
|
||||||
void mtxf_u16_rotate_z(Mat4, u16);
|
void mtxf_u16_rotate_z(Mat4, u16);
|
||||||
|
|
@ -68,7 +68,7 @@ void mtxf_rotate_z_scale_x_y(Mat4, u16, f32);
|
||||||
void mtxf_translation_x_y_rotate_z_scale_x_y(Mat4, s32, s32, u16, f32);
|
void mtxf_translation_x_y_rotate_z_scale_x_y(Mat4, s32, s32, u16, f32);
|
||||||
void func_80041D24(void);
|
void func_80041D24(void);
|
||||||
void func_80041D34(void);
|
void func_80041D34(void);
|
||||||
void func_80041EF4(void);
|
void set_matrix_hud_screen(void);
|
||||||
void func_80042330(s32, s32, u16, f32);
|
void func_80042330(s32, s32, u16, f32);
|
||||||
void mtxf_set_matrix_transformation(Mat4, Vec3f, Vec3su, f32);
|
void mtxf_set_matrix_transformation(Mat4, Vec3f, Vec3su, f32);
|
||||||
void mtxf_set_matrix_scale_transl(Mat4, Vec3f, Vec3f, f32);
|
void mtxf_set_matrix_scale_transl(Mat4, Vec3f, Vec3f, f32);
|
||||||
|
|
|
||||||
28
src/menus.c
28
src/menus.c
|
|
@ -258,20 +258,20 @@ void options_menu_act(struct Controller *controller, u16 arg1) {
|
||||||
sp2C = TRUE;
|
sp2C = TRUE;
|
||||||
sp38->unk8 = -1;
|
sp38->unk8 = -1;
|
||||||
}
|
}
|
||||||
if (sp2C && gSoundMode != sp38->unk4) {
|
if (sp2C && gSoundMode != sp38->cursor) {
|
||||||
gSaveData.main.soundMode = gSoundMode;
|
gSaveData.main.soundMode = gSoundMode;
|
||||||
write_save_data_grand_prix_points_and_sound_mode();
|
write_save_data_grand_prix_points_and_sound_mode();
|
||||||
update_save_data_backup();
|
update_save_data_backup();
|
||||||
sp38->unk4 = gSoundMode;
|
sp38->cursor = gSoundMode;
|
||||||
}
|
}
|
||||||
if (btnAndStick & B_BUTTON) {
|
if (btnAndStick & B_BUTTON) {
|
||||||
func_8009E280();
|
func_8009E280();
|
||||||
play_sound2(SOUND_MENU_GO_BACK);
|
play_sound2(SOUND_MENU_GO_BACK);
|
||||||
if (gSoundMode != sp38->unk4) {
|
if (gSoundMode != sp38->cursor) {
|
||||||
gSaveData.main.soundMode = gSoundMode;
|
gSaveData.main.soundMode = gSoundMode;
|
||||||
write_save_data_grand_prix_points_and_sound_mode();
|
write_save_data_grand_prix_points_and_sound_mode();
|
||||||
update_save_data_backup();
|
update_save_data_backup();
|
||||||
sp38->unk4 = gSoundMode;
|
sp38->cursor = gSoundMode;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -305,7 +305,7 @@ void options_menu_act(struct Controller *controller, u16 arg1) {
|
||||||
switch (sp2C) {
|
switch (sp2C) {
|
||||||
case PFS_INVALID_DATA:
|
case PFS_INVALID_DATA:
|
||||||
D_8018EDEC = 0x46;
|
D_8018EDEC = 0x46;
|
||||||
sp38->unk4 = 0;
|
sp38->cursor = 0;
|
||||||
play_sound2(SOUND_MENU_SELECT);
|
play_sound2(SOUND_MENU_SELECT);
|
||||||
break;
|
break;
|
||||||
case PFS_NO_ERROR:
|
case PFS_NO_ERROR:
|
||||||
|
|
@ -486,7 +486,7 @@ void options_menu_act(struct Controller *controller, u16 arg1) {
|
||||||
D_8018EDEC = 0x38;
|
D_8018EDEC = 0x38;
|
||||||
} else {
|
} else {
|
||||||
D_8018EDEC = 0x3A;
|
D_8018EDEC = 0x3A;
|
||||||
sp38->unk4 = 0;
|
sp38->cursor = 0;
|
||||||
}
|
}
|
||||||
play_sound2(SOUND_MENU_SELECT);
|
play_sound2(SOUND_MENU_SELECT);
|
||||||
}
|
}
|
||||||
|
|
@ -540,7 +540,7 @@ void options_menu_act(struct Controller *controller, u16 arg1) {
|
||||||
} else {
|
} else {
|
||||||
D_8018EDEC = 0x3A;
|
D_8018EDEC = 0x3A;
|
||||||
play_sound2(SOUND_MENU_SELECT);
|
play_sound2(SOUND_MENU_SELECT);
|
||||||
sp38->unk4 = 0;
|
sp38->cursor = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// return?
|
// return?
|
||||||
|
|
@ -549,9 +549,9 @@ void options_menu_act(struct Controller *controller, u16 arg1) {
|
||||||
case 0x3A:
|
case 0x3A:
|
||||||
{
|
{
|
||||||
if (arg1 == 0) {
|
if (arg1 == 0) {
|
||||||
sp38->unk4 += 1;
|
sp38->cursor += 1;
|
||||||
}
|
}
|
||||||
if (sp38->unk4 >= 3) {
|
if (sp38->cursor >= 3) {
|
||||||
D_8018EDEC = 0x3B;
|
D_8018EDEC = 0x3B;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -584,9 +584,9 @@ void options_menu_act(struct Controller *controller, u16 arg1) {
|
||||||
case 0x46:
|
case 0x46:
|
||||||
{
|
{
|
||||||
if (arg1 == 0) {
|
if (arg1 == 0) {
|
||||||
sp38->unk4 += 1;
|
sp38->cursor += 1;
|
||||||
}
|
}
|
||||||
if (sp38->unk4 >= 3) {
|
if (sp38->cursor >= 3) {
|
||||||
D_8018EDEC = 0x47;
|
D_8018EDEC = 0x47;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -1986,12 +1986,12 @@ void func_800B44BC(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Likely checks that the user is actually in the menus and not racing.
|
// Likely checks that the user is actually in the menus and not racing.
|
||||||
s32 func_800B4520(void) {
|
bool func_800B4520(void) {
|
||||||
|
|
||||||
if ((D_8018E7B0 == 2) || (D_8018E7B0 == 3) || (D_8018E7B0 == 4) || (D_8018E7B0 == 7)) {
|
if ((D_8018E7B0 == 2) || (D_8018E7B0 == 3) || (D_8018E7B0 == 4) || (D_8018E7B0 == 7)) {
|
||||||
return 1;
|
return TRUE;
|
||||||
}
|
}
|
||||||
return 0;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
UNUSED void func_800B4560(s32 arg0, s32 arg1) {
|
UNUSED void func_800B4560(s32 arg0, s32 arg1) {
|
||||||
|
|
|
||||||
|
|
@ -1696,7 +1696,7 @@ void func_8002B9CC(Player *player, s8 arg1, UNUSED s32 arg2) {
|
||||||
func_8008C73C(player, arg1);
|
func_8008C73C(player, arg1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
temp = (-(s16)get_angle_between_points(player->pos, &player->copy_rotation_x));
|
temp = (-(s16)get_angle_between_two_vectors(player->pos, &player->copy_rotation_x));
|
||||||
temp2 = (player->rotation[1] - player->unk_0C0);
|
temp2 = (player->rotation[1] - player->unk_0C0);
|
||||||
temp = temp - temp2;
|
temp = temp - temp2;
|
||||||
player->unk_234 = temp / 182;
|
player->unk_234 = temp / 182;
|
||||||
|
|
@ -1739,7 +1739,7 @@ void func_8002BB9C(Player *player, f32 *arg1, f32 *arg2, UNUSED s8 arg3, UNUSED
|
||||||
|
|
||||||
mtxf_translate_vec3f_mat3(sp4C, sp64);
|
mtxf_translate_vec3f_mat3(sp4C, sp64);
|
||||||
|
|
||||||
var_v0 = -(s16)get_angle_between_points(sp58, sp4C);
|
var_v0 = -(s16)get_angle_between_two_vectors(sp58, sp4C);
|
||||||
t0 = player->rotation[1];
|
t0 = player->rotation[1];
|
||||||
var_v0 = 0x10000 + (t0 - var_v0);
|
var_v0 = 0x10000 + (t0 - var_v0);
|
||||||
var_v0 /= 182;
|
var_v0 /= 182;
|
||||||
|
|
@ -2160,7 +2160,7 @@ void func_8002D028(Player *player, s8 arg1) {
|
||||||
sp4C[1] = 0;
|
sp4C[1] = 0;
|
||||||
sp4C[2] = D_80165230[D_80165270[arg1]];
|
sp4C[2] = D_80165230[D_80165270[arg1]];
|
||||||
|
|
||||||
temp = -(s16)get_angle_between_points(player->pos, sp4C);
|
temp = -(s16)get_angle_between_two_vectors(player->pos, sp4C);
|
||||||
temp2 = player->rotation[1];
|
temp2 = player->rotation[1];
|
||||||
temp = (temp - temp2);
|
temp = (temp - temp2);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
#include "waypoints.h"
|
#include "waypoints.h"
|
||||||
#include "macros.h"
|
#include "macros.h"
|
||||||
#include "code_80005FD0.h"
|
#include "code_80005FD0.h"
|
||||||
#include "code_80071F00.h"
|
#include "update_objects.h"
|
||||||
#include "effects.h"
|
#include "effects.h"
|
||||||
#include "collision.h"
|
#include "collision.h"
|
||||||
#include "audio/external.h"
|
#include "audio/external.h"
|
||||||
|
|
@ -33,7 +33,7 @@ u8 *D_802BA054;
|
||||||
u8 *D_802BA058;
|
u8 *D_802BA058;
|
||||||
|
|
||||||
|
|
||||||
struct Actor *D_802BA05C;
|
struct Actor *gActorHotAirBalloonItemBox;
|
||||||
s8 gTLUTRedShell[512]; // tlut 256
|
s8 gTLUTRedShell[512]; // tlut 256
|
||||||
u16 D_802BA260;
|
u16 D_802BA260;
|
||||||
|
|
||||||
|
|
@ -414,7 +414,7 @@ void func_8029794C(Vec3f arg0, Vec3s arg1, f32 arg2) {
|
||||||
Mat4 sp20;
|
Mat4 sp20;
|
||||||
arg0[1] += 2.0f;
|
arg0[1] += 2.0f;
|
||||||
|
|
||||||
func_802B5F74(sp20, arg0, arg1);
|
mtxf_pos_rotation_xyz(sp20, arg0, arg1);
|
||||||
mtxf_scale(sp20, arg2);
|
mtxf_scale(sp20, arg2);
|
||||||
if (render_set_position(sp20, 0) != 0) {
|
if (render_set_position(sp20, 0) != 0) {
|
||||||
|
|
||||||
|
|
@ -571,7 +571,7 @@ void update_actor_kiwano_fruit(struct KiwanoFruit *fruit) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "actors/boat.inc.c"
|
#include "actors/paddle_boat/update.inc.c"
|
||||||
|
|
||||||
#include "actors/train.inc.c"
|
#include "actors/train.inc.c"
|
||||||
|
|
||||||
|
|
@ -893,7 +893,7 @@ void func_80298D7C(Camera *camera, Mat4 arg1, UNUSED struct Actor *actor) {
|
||||||
test &= 0xF;
|
test &= 0xF;
|
||||||
test = (s16)test;
|
test = (s16)test;
|
||||||
if (test == 6) {
|
if (test == 6) {
|
||||||
func_802B5F74(sp90, spD4, sp88);
|
mtxf_pos_rotation_xyz(sp90, spD4, sp88);
|
||||||
if (!(gMatrixObjectCount < MTX_OBJECT_POOL_SIZE)) { break; }
|
if (!(gMatrixObjectCount < MTX_OBJECT_POOL_SIZE)) { break; }
|
||||||
render_set_position(sp90, 0);
|
render_set_position(sp90, 0);
|
||||||
goto dummylabel;
|
goto dummylabel;
|
||||||
|
|
@ -1302,12 +1302,12 @@ void render_actor_banana(Camera *camera, UNUSED Mat4 arg1, struct BananaActor *b
|
||||||
func_802972B8(camera, (struct Actor *) banana);
|
func_802972B8(camera, (struct Actor *) banana);
|
||||||
|
|
||||||
if (banana->state == 5) {
|
if (banana->state == 5) {
|
||||||
func_802B5F74(sp3C, banana->pos, banana->rot);
|
mtxf_pos_rotation_xyz(sp3C, banana->pos, banana->rot);
|
||||||
} else {
|
} else {
|
||||||
sp7C[0] = 0;
|
sp7C[0] = 0;
|
||||||
sp7C[1] = 0;
|
sp7C[1] = 0;
|
||||||
sp7C[2] = 0;
|
sp7C[2] = 0;
|
||||||
func_802B5F74(sp3C, banana->pos, sp7C);
|
mtxf_pos_rotation_xyz(sp3C, banana->pos, sp7C);
|
||||||
}
|
}
|
||||||
|
|
||||||
maxObjectsReached = render_set_position(sp3C, 0) == 0;
|
maxObjectsReached = render_set_position(sp3C, 0) == 0;
|
||||||
|
|
@ -1405,41 +1405,7 @@ UNUSED void func_8029AE14() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// This likely attaches the paddle wheel to the boat
|
#include "actors/paddle_boat/render.inc.c"
|
||||||
void func_8029AE1C(Camera *arg0, struct PaddleWheelBoat *boat, UNUSED Mat4 arg2, u16 arg3) {
|
|
||||||
UNUSED s32 pad[3];
|
|
||||||
Vec3f sp120;
|
|
||||||
Mat4 spE0;
|
|
||||||
Mat4 spA0;
|
|
||||||
Mat4 sp60;
|
|
||||||
f32 temp;
|
|
||||||
|
|
||||||
if ((arg3 > 20) && (arg3 < 25)) { return; }
|
|
||||||
temp = is_within_render_distance(arg0->pos, boat->pos, arg0->rot[1], 90000.0f, gCameraZoom[arg0 - camera1], 9000000.0f);
|
|
||||||
|
|
||||||
if (temp < 0.0f) { return; }
|
|
||||||
|
|
||||||
gSPSetLights1(gDisplayListHead++, D_800DC610[1]);
|
|
||||||
gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_LIGHTING | G_SHADING_SMOOTH);
|
|
||||||
|
|
||||||
func_802B5F74(spE0, boat->pos, boat->boatRot);
|
|
||||||
if (render_set_position(spE0, 1) != 0) {
|
|
||||||
|
|
||||||
gSPDisplayList(gDisplayListHead++, &d_course_dks_jungle_parkway_dl_E730);
|
|
||||||
gSPDisplayList(gDisplayListHead++, &d_course_dks_jungle_parkway_dl_E058);
|
|
||||||
|
|
||||||
mtxf_rotate_x(spE0, boat->wheelRot);
|
|
||||||
vec3f_set(sp120, 0, 16.0f, -255.0f);
|
|
||||||
mtxf_translate(spA0, sp120);
|
|
||||||
mtxf_multiplication(sp60, spE0, spA0);
|
|
||||||
if (render_set_position(sp60, 3) != 0) {
|
|
||||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
|
||||||
gSPDisplayList(gDisplayListHead++, &d_course_dks_jungle_parkway_dl_FC28);
|
|
||||||
gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
|
|
||||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void func_8029B06C(Camera *arg0, struct Actor *arg1) {
|
void func_8029B06C(Camera *arg0, struct Actor *arg1) {
|
||||||
UNUSED s32 pad[6];
|
UNUSED s32 pad[6];
|
||||||
|
|
@ -1451,7 +1417,7 @@ void func_8029B06C(Camera *arg0, struct Actor *arg1) {
|
||||||
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
||||||
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
||||||
|
|
||||||
func_802B5F74(spD8, arg1->pos, arg1->rot);
|
mtxf_pos_rotation_xyz(spD8, arg1->pos, arg1->rot);
|
||||||
if (render_set_position(spD8, 0) != 0) {
|
if (render_set_position(spD8, 0) != 0) {
|
||||||
|
|
||||||
switch(arg1->state) {
|
switch(arg1->state) {
|
||||||
|
|
@ -1495,7 +1461,7 @@ void func_8029B2E4(Camera *arg0, struct Actor *arg1) {
|
||||||
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
||||||
|
|
||||||
|
|
||||||
func_802B5F74(spC8, arg1->pos, arg1->rot);
|
mtxf_pos_rotation_xyz(spC8, arg1->pos, arg1->rot);
|
||||||
if (render_set_position(spC8, 0) != 0) {
|
if (render_set_position(spC8, 0) != 0) {
|
||||||
|
|
||||||
if (gActiveScreenMode == SCREEN_MODE_1P) {
|
if (gActiveScreenMode == SCREEN_MODE_1P) {
|
||||||
|
|
@ -1526,7 +1492,7 @@ void func_8029B4E0(Camera *arg0, struct Actor *arg1) {
|
||||||
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
||||||
|
|
||||||
|
|
||||||
func_802B5F74(spC8, arg1->pos, arg1->rot);
|
mtxf_pos_rotation_xyz(spC8, arg1->pos, arg1->rot);
|
||||||
mtxf_scale(spC8, 0.1f);
|
mtxf_scale(spC8, 0.1f);
|
||||||
if (render_set_position(spC8, 0) != 0) {
|
if (render_set_position(spC8, 0) != 0) {
|
||||||
|
|
||||||
|
|
@ -1558,7 +1524,7 @@ void func_8029B6EC(Camera *camera, struct Actor* arg1) {
|
||||||
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
||||||
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
||||||
|
|
||||||
func_802B5F74(spC8, arg1->pos, arg1->rot);
|
mtxf_pos_rotation_xyz(spC8, arg1->pos, arg1->rot);
|
||||||
if (render_set_position(spC8, 0) != 0) {
|
if (render_set_position(spC8, 0) != 0) {
|
||||||
|
|
||||||
if (gActiveScreenMode == SCREEN_MODE_1P) {
|
if (gActiveScreenMode == SCREEN_MODE_1P) {
|
||||||
|
|
@ -1580,7 +1546,7 @@ void func_8029B6EC(Camera *camera, struct Actor* arg1) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Spins train wheels?
|
// Spins train wheels?
|
||||||
void func_8029B8E8(Camera *camera, struct TrainCar *actor) {
|
void render_actor_train_engine(Camera *camera, struct TrainCar *actor) {
|
||||||
UNUSED s32 pad[2];
|
UNUSED s32 pad[2];
|
||||||
s32 maxObjectsReached;
|
s32 maxObjectsReached;
|
||||||
Vec3f sp160;
|
Vec3f sp160;
|
||||||
|
|
@ -1594,7 +1560,7 @@ void func_8029B8E8(Camera *camera, struct TrainCar *actor) {
|
||||||
|
|
||||||
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
||||||
|
|
||||||
func_802B5F74(sp120, actor->pos, actor->rot);
|
mtxf_pos_rotation_xyz(sp120, actor->pos, actor->rot);
|
||||||
maxObjectsReached = render_set_position(sp120, 0) == 0;
|
maxObjectsReached = render_set_position(sp120, 0) == 0;
|
||||||
if (maxObjectsReached) { return; }
|
if (maxObjectsReached) { return; }
|
||||||
|
|
||||||
|
|
@ -1706,7 +1672,7 @@ void func_8029B8E8(Camera *camera, struct TrainCar *actor) {
|
||||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8029BFB0(Camera *camera, struct TrainCar *actor) {
|
void render_actor_train_tender(Camera *camera, struct TrainCar *actor) {
|
||||||
Mat4 sp120;
|
Mat4 sp120;
|
||||||
Vec3f sp160;
|
Vec3f sp160;
|
||||||
Mat4 spE0;
|
Mat4 spE0;
|
||||||
|
|
@ -1718,7 +1684,7 @@ void func_8029BFB0(Camera *camera, struct TrainCar *actor) {
|
||||||
|
|
||||||
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
||||||
|
|
||||||
func_802B5F74(sp120, actor->pos, actor->rot);
|
mtxf_pos_rotation_xyz(sp120, actor->pos, actor->rot);
|
||||||
if (render_set_position(sp120, 0) == 0) { return; }
|
if (render_set_position(sp120, 0) == 0) { return; }
|
||||||
|
|
||||||
if (temp_f0 < 250000.0f) {
|
if (temp_f0 < 250000.0f) {
|
||||||
|
|
@ -1776,7 +1742,7 @@ void func_8029BFB0(Camera *camera, struct TrainCar *actor) {
|
||||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8029C3CC(Camera *camera, struct TrainCar *actor) {
|
void render_actor_passenger_car(Camera *camera, struct TrainCar *actor) {
|
||||||
Mat4 sp120;
|
Mat4 sp120;
|
||||||
Vec3f sp160;
|
Vec3f sp160;
|
||||||
Mat4 spE0;
|
Mat4 spE0;
|
||||||
|
|
@ -1788,7 +1754,7 @@ void func_8029C3CC(Camera *camera, struct TrainCar *actor) {
|
||||||
|
|
||||||
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
||||||
|
|
||||||
func_802B5F74(sp120, actor->pos, actor->rot);
|
mtxf_pos_rotation_xyz(sp120, actor->pos, actor->rot);
|
||||||
|
|
||||||
if (render_set_position(sp120, 0) == 0) { return; }
|
if (render_set_position(sp120, 0) == 0) { return; }
|
||||||
|
|
||||||
|
|
@ -1915,14 +1881,14 @@ void render_actor_falling_rock(Camera *camera, struct FallingRock *rock) {
|
||||||
sp98[1] = 0;
|
sp98[1] = 0;
|
||||||
sp98[2] = 0;
|
sp98[2] = 0;
|
||||||
sp8C[1] = temp_f0 + 2.0f;
|
sp8C[1] = temp_f0 + 2.0f;
|
||||||
func_802B5F74(sp4C, sp8C, sp98);
|
mtxf_pos_rotation_xyz(sp4C, sp8C, sp98);
|
||||||
if (render_set_position(sp4C, 0) == 0) {
|
if (render_set_position(sp4C, 0) == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
gSPDisplayList(gDisplayListHead++, d_course_choco_mountain_dl_6F88);
|
gSPDisplayList(gDisplayListHead++, d_course_choco_mountain_dl_6F88);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func_802B5F74(sp4C, rock->pos, rock->rot);
|
mtxf_pos_rotation_xyz(sp4C, rock->pos, rock->rot);
|
||||||
if (render_set_position(sp4C, 0) == 0) {
|
if (render_set_position(sp4C, 0) == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -2170,10 +2136,10 @@ void place_course_actors(void) {
|
||||||
place_all_item_boxes(d_course_mario_raceway_item_box_spawns);
|
place_all_item_boxes(d_course_mario_raceway_item_box_spawns);
|
||||||
vec3f_set(position, 150.0f, 40.0f, -1300.0f);
|
vec3f_set(position, 150.0f, 40.0f, -1300.0f);
|
||||||
position[0] *= gCourseDirection;
|
position[0] *= gCourseDirection;
|
||||||
addActorToEmptySlot(position, rotation, velocity, ACTOR_MARIO_RACEWAY_SIGN);
|
addActorToEmptySlot(position, rotation, velocity, ACTOR_MARIO_SIGN);
|
||||||
vec3f_set(position, 2520.0f, 0.0f, 1240.0f);
|
vec3f_set(position, 2520.0f, 0.0f, 1240.0f);
|
||||||
position[0] *= gCourseDirection;
|
position[0] *= gCourseDirection;
|
||||||
actor = &gActorList[addActorToEmptySlot(position, rotation, velocity, ACTOR_MARIO_RACEWAY_SIGN)];
|
actor = &gActorList[addActorToEmptySlot(position, rotation, velocity, ACTOR_MARIO_SIGN)];
|
||||||
actor->flags |= 0x4000;
|
actor->flags |= 0x4000;
|
||||||
break;
|
break;
|
||||||
case COURSE_CHOCO_MOUNTAIN:
|
case COURSE_CHOCO_MOUNTAIN:
|
||||||
|
|
@ -2252,13 +2218,13 @@ void place_course_actors(void) {
|
||||||
place_all_item_boxes(d_course_wario_stadium_item_box_spawns);
|
place_all_item_boxes(d_course_wario_stadium_item_box_spawns);
|
||||||
vec3f_set(position, -131.0f, 83.0f, 286.0f);
|
vec3f_set(position, -131.0f, 83.0f, 286.0f);
|
||||||
position[0] *= gCourseDirection;
|
position[0] *= gCourseDirection;
|
||||||
addActorToEmptySlot(position, rotation, velocity, ACTOR_WARIO_STADIUM_SIGN);
|
addActorToEmptySlot(position, rotation, velocity, ACTOR_WARIO_SIGN);
|
||||||
vec3f_set(position, -2353.0f, 72.0f, -1608.0f);
|
vec3f_set(position, -2353.0f, 72.0f, -1608.0f);
|
||||||
position[0] *= gCourseDirection;
|
position[0] *= gCourseDirection;
|
||||||
addActorToEmptySlot(position, rotation, velocity, ACTOR_WARIO_STADIUM_SIGN);
|
addActorToEmptySlot(position, rotation, velocity, ACTOR_WARIO_SIGN);
|
||||||
vec3f_set(position, -2622.0f, 79.0f, 739.0f);
|
vec3f_set(position, -2622.0f, 79.0f, 739.0f);
|
||||||
position[0] *= gCourseDirection;
|
position[0] *= gCourseDirection;
|
||||||
addActorToEmptySlot(position, rotation, velocity, ACTOR_WARIO_STADIUM_SIGN);
|
addActorToEmptySlot(position, rotation, velocity, ACTOR_WARIO_SIGN);
|
||||||
break;
|
break;
|
||||||
case COURSE_BLOCK_FORT:
|
case COURSE_BLOCK_FORT:
|
||||||
place_all_item_boxes(d_course_block_fort_item_box_spawns);
|
place_all_item_boxes(d_course_block_fort_item_box_spawns);
|
||||||
|
|
@ -2696,7 +2662,7 @@ s32 func_8029F2FC(Player *player, struct PiranhaPlant *plant) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_8029F408(Player *player, struct YoshiValleyEgg *egg) {
|
bool func_8029F408(Player *player, struct YoshiValleyEgg *egg) {
|
||||||
UNUSED f32 pad[5];
|
UNUSED f32 pad[5];
|
||||||
f32 z_dist;
|
f32 z_dist;
|
||||||
f32 xz_dist;
|
f32 xz_dist;
|
||||||
|
|
@ -2708,31 +2674,36 @@ s32 func_8029F408(Player *player, struct YoshiValleyEgg *egg) {
|
||||||
|
|
||||||
x_dist = egg->pos[0] - player->pos[0];
|
x_dist = egg->pos[0] - player->pos[0];
|
||||||
if ((x_dist < thing2) && (x_dist < -thing)) {
|
if ((x_dist < thing2) && (x_dist < -thing)) {
|
||||||
return 0;
|
return FALSE;
|
||||||
}
|
}
|
||||||
if (x_dist > thing) {
|
if (x_dist > thing) {
|
||||||
return 0;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
z_dist = egg->pos[2] - player->pos[2];
|
z_dist = egg->pos[2] - player->pos[2];
|
||||||
if ((z_dist < thing2) && (z_dist < -thing)) {
|
if ((z_dist < thing2) && (z_dist < -thing)) {
|
||||||
return 0;
|
return FALSE;
|
||||||
}
|
}
|
||||||
if (z_dist > thing) {
|
if (z_dist > thing) {
|
||||||
return 0;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
xz_dist = sqrtf((x_dist * x_dist) + (z_dist * z_dist));
|
xz_dist = sqrtf((x_dist * x_dist) + (z_dist * z_dist));
|
||||||
if (xz_dist > thing) {
|
if (xz_dist > thing) {
|
||||||
return 0;
|
return FALSE;
|
||||||
}
|
}
|
||||||
func_802977B0(player);
|
func_802977B0(player);
|
||||||
|
|
||||||
y_dist = player->pos[1] - egg->pos[1];
|
y_dist = player->pos[1] - egg->pos[1];
|
||||||
if (y_dist < thing2) {
|
if (y_dist < thing2) {
|
||||||
return 0;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
totalBox = player->boundingBoxSize + egg->boundingBoxSize;
|
totalBox = player->boundingBoxSize + egg->boundingBoxSize;
|
||||||
if (totalBox < xz_dist) {
|
if (totalBox < xz_dist) {
|
||||||
return 0;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((player->type & PLAYER_HUMAN) != 0) {
|
if ((player->type & PLAYER_HUMAN) != 0) {
|
||||||
if ((player->effects & STAR_EFFECT) != 0) {
|
if ((player->effects & STAR_EFFECT) != 0) {
|
||||||
egg->flags |= 0x400;
|
egg->flags |= 0x400;
|
||||||
|
|
@ -2748,7 +2719,8 @@ s32 func_8029F408(Player *player, struct YoshiValleyEgg *egg) {
|
||||||
} else {
|
} else {
|
||||||
func_8008DABC(player, player - gPlayerOne);
|
func_8008DABC(player, player - gPlayerOne);
|
||||||
}
|
}
|
||||||
return 1;
|
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_8029F69C(Player *player, struct Actor *actor) {
|
s32 func_8029F69C(Player *player, struct Actor *actor) {
|
||||||
|
|
@ -2816,7 +2788,7 @@ s32 func_8029F69C(Player *player, struct Actor *actor) {
|
||||||
sp20[1] = actor->pos[1];
|
sp20[1] = actor->pos[1];
|
||||||
sp20[2] = actor->pos[2];
|
sp20[2] = actor->pos[2];
|
||||||
if (((gCurrentCourseId == COURSE_MARIO_RACEWAY) || (gCurrentCourseId == COURSE_YOSHI_VALLEY) || (gCurrentCourseId == COURSE_ROYAL_RACEWAY) || (gCurrentCourseId == COURSE_LUIGI_RACEWAY)) && (player->unk_094 > 1.0f)) {
|
if (((gCurrentCourseId == COURSE_MARIO_RACEWAY) || (gCurrentCourseId == COURSE_YOSHI_VALLEY) || (gCurrentCourseId == COURSE_ROYAL_RACEWAY) || (gCurrentCourseId == COURSE_LUIGI_RACEWAY)) && (player->unk_094 > 1.0f)) {
|
||||||
func_80077AB0(sp20, 0);
|
spawn_leaf(sp20, 0);
|
||||||
}
|
}
|
||||||
if (xz_dist < 0.1f) {
|
if (xz_dist < 0.1f) {
|
||||||
sqrtf((sp48 * sp48) + (sp44 * sp44));
|
sqrtf((sp48 * sp48) + (sp44 * sp44));
|
||||||
|
|
@ -3156,7 +3128,7 @@ void func_802A0450(Player *player, struct Actor *actor) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ACTOR_BANANA:
|
case ACTOR_BANANA:
|
||||||
if (player->effects & 0x800008C0) { break; }
|
if (player->effects & (BOO_EFFECT | 0x8C0)) { break; }
|
||||||
if (player->soundEffects & 1) { break; }
|
if (player->soundEffects & 1) { break; }
|
||||||
temp_v1 = actor->rot[0];
|
temp_v1 = actor->rot[0];
|
||||||
if (((temp_lo == temp_v1) && (actor->flags & 0x1000)) || (func_8029FB80(player, actor) != 1)) { break; }
|
if (((temp_lo == temp_v1) && (actor->flags & 0x1000)) || (func_8029FB80(player, actor) != 1)) { break; }
|
||||||
|
|
@ -3227,7 +3199,7 @@ void func_802A0450(Player *player, struct Actor *actor) {
|
||||||
func_8029F2FC(player, (struct PiranhaPlant *) actor);
|
func_8029F2FC(player, (struct PiranhaPlant *) actor);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ACTOR_MARIO_RACEWAY_SIGN:
|
case ACTOR_MARIO_SIGN:
|
||||||
if (!(player->effects & BOO_EFFECT)) {
|
if (!(player->effects & BOO_EFFECT)) {
|
||||||
func_8029F1F8(player, actor);
|
func_8029F1F8(player, actor);
|
||||||
}
|
}
|
||||||
|
|
@ -3498,21 +3470,21 @@ void update_actor_fake_item_box(struct FakeItemBox *fake_item_box) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802A14BC(f32 arg0, f32 arg1, f32 arg2) {
|
void func_802A14BC(f32 x, f32 y, f32 z) {
|
||||||
Vec3f sp34;
|
Vec3f pos;
|
||||||
Vec3f sp28;
|
Vec3f velocity;
|
||||||
Vec3s sp20;
|
Vec3s rot;
|
||||||
s16 temp_a0;
|
s16 id;
|
||||||
|
|
||||||
if (gModeSelection == TIME_TRIALS) { return; }
|
if (gModeSelection == TIME_TRIALS) { return; }
|
||||||
|
|
||||||
vec3s_set(sp20, 0, 0, 0);
|
vec3s_set(rot, 0, 0, 0);
|
||||||
vec3f_set(sp28, 0, 0, 0);
|
vec3f_set(velocity, 0, 0, 0);
|
||||||
sp34[0] = arg0;
|
pos[0] = x;
|
||||||
sp34[1] = arg1;
|
pos[1] = y;
|
||||||
sp34[2] = arg2;
|
pos[2] = z;
|
||||||
temp_a0 = addActorToEmptySlot(sp34, sp20, sp28, 43);
|
id = addActorToEmptySlot(pos, rot, velocity, ACTOR_HOT_AIR_BALLOON_ITEM_BOX);
|
||||||
D_802BA05C = &gActorList[temp_a0];
|
gActorHotAirBalloonItemBox = &gActorList[id];
|
||||||
}
|
}
|
||||||
|
|
||||||
void update_actor_item_box_hot_air_balloon(struct ItemBox *itemBox) {
|
void update_actor_item_box_hot_air_balloon(struct ItemBox *itemBox) {
|
||||||
|
|
@ -3602,14 +3574,14 @@ void func_802A171C(Camera *camera, struct FakeItemBox *fakeItemBox) {
|
||||||
someRot[0] = 0;
|
someRot[0] = 0;
|
||||||
someRot[1] = fakeItemBox->rot[1];
|
someRot[1] = fakeItemBox->rot[1];
|
||||||
someRot[2] = 0;
|
someRot[2] = 0;
|
||||||
func_802B5F74(someMatrix2, fakeItemBox->pos, someRot);
|
mtxf_pos_rotation_xyz(someMatrix2, fakeItemBox->pos, someRot);
|
||||||
mtxf_scale(someMatrix2, fakeItemBox->sizeScaling);
|
mtxf_scale(someMatrix2, fakeItemBox->sizeScaling);
|
||||||
if (fakeItemBox->state != 2) {
|
if (fakeItemBox->state != 2) {
|
||||||
|
|
||||||
if (!render_set_position(someMatrix2, 0)) { return; }
|
if (!render_set_position(someMatrix2, 0)) { return; }
|
||||||
|
|
||||||
gSPDisplayList(gDisplayListHead++, common_model_fake_itembox);
|
gSPDisplayList(gDisplayListHead++, common_model_fake_itembox);
|
||||||
func_802B5F74(someMatrix2, fakeItemBox->pos, fakeItemBox->rot);
|
mtxf_pos_rotation_xyz(someMatrix2, fakeItemBox->pos, fakeItemBox->rot);
|
||||||
mtxf_scale(someMatrix2, fakeItemBox->sizeScaling);
|
mtxf_scale(someMatrix2, fakeItemBox->sizeScaling);
|
||||||
|
|
||||||
if (!render_set_position(someMatrix2, 0)) { return; }
|
if (!render_set_position(someMatrix2, 0)) { return; }
|
||||||
|
|
@ -3634,7 +3606,7 @@ void func_802A171C(Camera *camera, struct FakeItemBox *fakeItemBox) {
|
||||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||||
gDPSetBlendMask(gDisplayListHead++, 0xFF);
|
gDPSetBlendMask(gDisplayListHead++, 0xFF);
|
||||||
thing = fakeItemBox->someTimer;
|
thing = fakeItemBox->someTimer;
|
||||||
func_802B5F74(someMatrix2, fakeItemBox->pos, fakeItemBox->rot);
|
mtxf_pos_rotation_xyz(someMatrix2, fakeItemBox->pos, fakeItemBox->rot);
|
||||||
if (thing < 10.0f) {
|
if (thing < 10.0f) {
|
||||||
someMultiplier = 1.0f;
|
someMultiplier = 1.0f;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -3736,28 +3708,28 @@ void func_802A1EA0(Camera *camera, struct ItemBox *item_box) {
|
||||||
someVec2[0] = item_box->pos[0];
|
someVec2[0] = item_box->pos[0];
|
||||||
someVec2[1] = item_box->resetDistance + 2.0f;
|
someVec2[1] = item_box->resetDistance + 2.0f;
|
||||||
someVec2[2] = item_box->pos[2];
|
someVec2[2] = item_box->pos[2];
|
||||||
func_802B5F74(someMatrix1, someVec2, someRot);
|
mtxf_pos_rotation_xyz(someMatrix1, someVec2, someRot);
|
||||||
|
|
||||||
if (!render_set_position(someMatrix1, 0)) { return; }
|
if (!render_set_position(someMatrix1, 0)) { return; }
|
||||||
|
|
||||||
gSPDisplayList(gDisplayListHead++, D_0D002EE8);
|
gSPDisplayList(gDisplayListHead++, D_0D002EE8);
|
||||||
someRot[1] = item_box->rot[1] * 2;
|
someRot[1] = item_box->rot[1] * 2;
|
||||||
someVec2[1] = item_box->pos[1];
|
someVec2[1] = item_box->pos[1];
|
||||||
func_802B5F74(someMatrix1, someVec2, someRot);
|
mtxf_pos_rotation_xyz(someMatrix1, someVec2, someRot);
|
||||||
|
|
||||||
if (!render_set_position(someMatrix1, 0)) { return; }
|
if (!render_set_position(someMatrix1, 0)) { return; }
|
||||||
|
|
||||||
gSPDisplayList(gDisplayListHead++, itemBoxQuestionMarkModel);
|
gSPDisplayList(gDisplayListHead++, itemBoxQuestionMarkModel);
|
||||||
}
|
}
|
||||||
if (item_box->state == 5) {
|
if (item_box->state == 5) {
|
||||||
func_802B5F74(someMatrix1, item_box->pos, item_box->rot);
|
mtxf_pos_rotation_xyz(someMatrix1, item_box->pos, item_box->rot);
|
||||||
|
|
||||||
if (!render_set_position(someMatrix1, 0)) { return; }
|
if (!render_set_position(someMatrix1, 0)) { return; }
|
||||||
|
|
||||||
gSPDisplayList(gDisplayListHead++, itemBoxQuestionMarkModel);
|
gSPDisplayList(gDisplayListHead++, itemBoxQuestionMarkModel);
|
||||||
}
|
}
|
||||||
if (item_box->state != 3) {
|
if (item_box->state != 3) {
|
||||||
func_802B5F74(someMatrix1, item_box->pos, item_box->rot);
|
mtxf_pos_rotation_xyz(someMatrix1, item_box->pos, item_box->rot);
|
||||||
|
|
||||||
if (!render_set_position(someMatrix1, 0)) { return; }
|
if (!render_set_position(someMatrix1, 0)) { return; }
|
||||||
|
|
||||||
|
|
@ -3782,7 +3754,7 @@ void func_802A1EA0(Camera *camera, struct ItemBox *item_box) {
|
||||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||||
gDPSetBlendMask(gDisplayListHead++, 0xFF);
|
gDPSetBlendMask(gDisplayListHead++, 0xFF);
|
||||||
thing = item_box->someTimer;
|
thing = item_box->someTimer;
|
||||||
func_802B5F74(someMatrix1, item_box->pos, item_box->rot);
|
mtxf_pos_rotation_xyz(someMatrix1, item_box->pos, item_box->rot);
|
||||||
if (thing < 10.0f) {
|
if (thing < 10.0f) {
|
||||||
someMultiplier = 1.0f;
|
someMultiplier = 1.0f;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -3858,7 +3830,7 @@ void func_802A1EA0(Camera *camera, struct ItemBox *item_box) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802A269C(Camera *arg0, struct Actor *arg1) {
|
void render_actor_wario_sign(Camera *arg0, struct Actor *arg1) {
|
||||||
Mat4 sp38;
|
Mat4 sp38;
|
||||||
f32 unk = is_within_render_distance(arg0->pos, arg1->pos, arg0->rot[1], 0, gCameraZoom[arg0 - camera1], 16000000.0f);
|
f32 unk = is_within_render_distance(arg0->pos, arg1->pos, arg0->rot[1], 0, gCameraZoom[arg0 - camera1], 16000000.0f);
|
||||||
|
|
||||||
|
|
@ -3866,7 +3838,7 @@ void func_802A269C(Camera *arg0, struct Actor *arg1) {
|
||||||
gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH);
|
gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH);
|
||||||
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
||||||
|
|
||||||
func_802B5F74(sp38, arg1->pos, arg1->rot);
|
mtxf_pos_rotation_xyz(sp38, arg1->pos, arg1->rot);
|
||||||
if (render_set_position(sp38, 0) != 0) {
|
if (render_set_position(sp38, 0) != 0) {
|
||||||
|
|
||||||
gSPDisplayList(gDisplayListHead++, d_course_wario_stadium_dl_sign);
|
gSPDisplayList(gDisplayListHead++, d_course_wario_stadium_dl_sign);
|
||||||
|
|
@ -3902,7 +3874,7 @@ void func_802A27A0(Camera *arg0, Mat4 arg1, struct YoshiValleyEgg *egg, u16 arg3
|
||||||
sp5C[0] = 0;
|
sp5C[0] = 0;
|
||||||
sp5C[1] = egg->eggRot;
|
sp5C[1] = egg->eggRot;
|
||||||
sp5C[2] = 0;
|
sp5C[2] = 0;
|
||||||
func_802B5F74(sp60, egg->pos, sp5C);
|
mtxf_pos_rotation_xyz(sp60, egg->pos, sp5C);
|
||||||
if (render_set_position(sp60, 0) == 0) { return; }
|
if (render_set_position(sp60, 0) == 0) { return; }
|
||||||
|
|
||||||
gSPSetGeometryMode(gDisplayListHead++, G_LIGHTING);
|
gSPSetGeometryMode(gDisplayListHead++, G_LIGHTING);
|
||||||
|
|
@ -3919,7 +3891,7 @@ void func_802A27A0(Camera *arg0, Mat4 arg1, struct YoshiValleyEgg *egg, u16 arg3
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802A29BC(Camera *arg0, UNUSED Mat4 arg1, struct Actor *arg2) {
|
void render_actor_mario_sign(Camera *arg0, UNUSED Mat4 arg1, struct Actor *arg2) {
|
||||||
Mat4 sp40;
|
Mat4 sp40;
|
||||||
f32 unk;
|
f32 unk;
|
||||||
s16 temp = arg2->flags;
|
s16 temp = arg2->flags;
|
||||||
|
|
@ -3930,7 +3902,7 @@ void func_802A29BC(Camera *arg0, UNUSED Mat4 arg1, struct Actor *arg2) {
|
||||||
if (!(unk < 0.0f)) {
|
if (!(unk < 0.0f)) {
|
||||||
gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH);
|
gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH);
|
||||||
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
||||||
func_802B5F74(sp40, arg2->pos, arg2->rot);
|
mtxf_pos_rotation_xyz(sp40, arg2->pos, arg2->rot);
|
||||||
if (render_set_position(sp40, 0) != 0) {
|
if (render_set_position(sp40, 0) != 0) {
|
||||||
gSPDisplayList(gDisplayListHead++, d_course_mario_raceway_dl_sign);
|
gSPDisplayList(gDisplayListHead++, d_course_mario_raceway_dl_sign);
|
||||||
}
|
}
|
||||||
|
|
@ -3943,7 +3915,7 @@ void func_802A2AD0(Camera *arg0, struct RailroadCrossing *rr_crossing) {
|
||||||
f32 unk = is_within_render_distance(arg0->pos, rr_crossing->pos, arg0->rot[1], 0.0f, gCameraZoom[arg0 - camera1], 4000000.0f);
|
f32 unk = is_within_render_distance(arg0->pos, rr_crossing->pos, arg0->rot[1], 0.0f, gCameraZoom[arg0 - camera1], 4000000.0f);
|
||||||
|
|
||||||
if (!(unk < 0.0f)) {
|
if (!(unk < 0.0f)) {
|
||||||
func_802B5F74(sp40, rr_crossing->pos, rr_crossing->rot);
|
mtxf_pos_rotation_xyz(sp40, rr_crossing->pos, rr_crossing->rot);
|
||||||
|
|
||||||
if (render_set_position(sp40, 0) != 0) {
|
if (render_set_position(sp40, 0) != 0) {
|
||||||
gSPSetGeometryMode(gDisplayListHead++, G_LIGHTING);
|
gSPSetGeometryMode(gDisplayListHead++, G_LIGHTING);
|
||||||
|
|
@ -3980,7 +3952,7 @@ void func_802A2C78(Camera *arg0, UNUSED Mat4 arg1, struct Actor *arg2) {
|
||||||
if (((temp_v0 & 0x400) == 0) && (temp_f0 < 250000.0f)) {
|
if (((temp_v0 & 0x400) == 0) && (temp_f0 < 250000.0f)) {
|
||||||
func_8029794C(arg2->pos, arg2->rot, 2.0f);
|
func_8029794C(arg2->pos, arg2->rot, 2.0f);
|
||||||
}
|
}
|
||||||
func_802B5F74(sp68, arg2->pos, spA8);
|
mtxf_pos_rotation_xyz(sp68, arg2->pos, spA8);
|
||||||
if (render_set_position(sp68, 0) != 0) {
|
if (render_set_position(sp68, 0) != 0) {
|
||||||
|
|
||||||
gDPSetTextureLUT(gDisplayListHead++, G_TT_NONE);
|
gDPSetTextureLUT(gDisplayListHead++, G_TT_NONE);
|
||||||
|
|
@ -4014,7 +3986,7 @@ void func_802A2C78(Camera *arg0, UNUSED Mat4 arg1, struct Actor *arg2) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802A2F34(struct UnkStruct_800DC5EC *arg0) {
|
void func_802A2F34(struct UnkStruct_800DC5EC *arg0) {
|
||||||
Camera *temp_s1 = arg0->camera;
|
Camera *camera = arg0->camera;
|
||||||
struct Actor *actor;
|
struct Actor *actor;
|
||||||
s32 i;
|
s32 i;
|
||||||
D_8015F8DC = 0;
|
D_8015F8DC = 0;
|
||||||
|
|
@ -4028,13 +4000,13 @@ void func_802A2F34(struct UnkStruct_800DC5EC *arg0) {
|
||||||
|
|
||||||
switch(actor->type) {
|
switch(actor->type) {
|
||||||
case ACTOR_FAKE_ITEM_BOX:
|
case ACTOR_FAKE_ITEM_BOX:
|
||||||
func_802A171C(temp_s1, (struct FakeItemBox *) actor);
|
func_802A171C(camera, (struct FakeItemBox *) actor);
|
||||||
break;
|
break;
|
||||||
case ACTOR_ITEM_BOX:
|
case ACTOR_ITEM_BOX:
|
||||||
func_802A1EA0(temp_s1, (struct ItemBox *) actor);
|
func_802A1EA0(camera, (struct ItemBox *) actor);
|
||||||
break;
|
break;
|
||||||
case ACTOR_HOT_AIR_BALLOON_ITEM_BOX:
|
case ACTOR_HOT_AIR_BALLOON_ITEM_BOX:
|
||||||
func_802A1EA0(temp_s1, (struct ItemBox *) actor);
|
func_802A1EA0(camera, (struct ItemBox *) actor);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -4138,13 +4110,13 @@ void render_course_actors(struct UnkStruct_800DC5EC *arg0) {
|
||||||
render_actor_piranha_plant(camera, D_801502C0, (struct PiranhaPlant *) actor);
|
render_actor_piranha_plant(camera, D_801502C0, (struct PiranhaPlant *) actor);
|
||||||
break;
|
break;
|
||||||
case ACTOR_TRAIN_ENGINE:
|
case ACTOR_TRAIN_ENGINE:
|
||||||
func_8029B8E8(camera, (struct TrainCar *) actor);
|
render_actor_train_engine(camera, (struct TrainCar *) actor);
|
||||||
break;
|
break;
|
||||||
case ACTOR_TRAIN_TENDER:
|
case ACTOR_TRAIN_TENDER:
|
||||||
func_8029BFB0(camera, (struct TrainCar *) actor);
|
render_actor_train_tender(camera, (struct TrainCar *) actor);
|
||||||
break;
|
break;
|
||||||
case ACTOR_TRAIN_PASSENGER_CAR:
|
case ACTOR_TRAIN_PASSENGER_CAR:
|
||||||
func_8029C3CC(camera, (struct TrainCar *) actor);
|
render_actor_passenger_car(camera, (struct TrainCar *) actor);
|
||||||
break;
|
break;
|
||||||
case ACTOR_COW:
|
case ACTOR_COW:
|
||||||
render_actor_cow(camera, D_801502C0, actor);
|
render_actor_cow(camera, D_801502C0, actor);
|
||||||
|
|
@ -4152,17 +4124,17 @@ void render_course_actors(struct UnkStruct_800DC5EC *arg0) {
|
||||||
case 0x14:
|
case 0x14:
|
||||||
func_8029AC18(camera, D_801502C0, actor);
|
func_8029AC18(camera, D_801502C0, actor);
|
||||||
break;
|
break;
|
||||||
case ACTOR_MARIO_RACEWAY_SIGN:
|
case ACTOR_MARIO_SIGN:
|
||||||
func_802A29BC(camera, D_801502C0, actor);
|
render_actor_mario_sign(camera, D_801502C0, actor);
|
||||||
break;
|
break;
|
||||||
case ACTOR_WARIO_STADIUM_SIGN:
|
case ACTOR_WARIO_SIGN:
|
||||||
func_802A269C(camera, actor);
|
render_actor_wario_sign(camera, actor);
|
||||||
break;
|
break;
|
||||||
case ACTOR_PALM_TREE:
|
case ACTOR_PALM_TREE:
|
||||||
func_802A2C78(camera, D_801502C0, actor);
|
func_802A2C78(camera, D_801502C0, actor);
|
||||||
break;
|
break;
|
||||||
case ACTOR_PADDLE_WHEEL_BOAT:
|
case ACTOR_PADDLE_BOAT:
|
||||||
func_8029AE1C(camera, (struct PaddleWheelBoat *) actor, D_801502C0, pathCounter);
|
render_actor_paddle_boat(camera, (struct PaddleWheelBoat *) actor, D_801502C0, pathCounter);
|
||||||
break;
|
break;
|
||||||
case ACTOR_BOX_TRUCK:
|
case ACTOR_BOX_TRUCK:
|
||||||
func_8029B06C(camera, actor);
|
func_8029B06C(camera, actor);
|
||||||
|
|
@ -4223,8 +4195,8 @@ void update_course_actors(void) {
|
||||||
case ACTOR_BANANA:
|
case ACTOR_BANANA:
|
||||||
update_actor_banana((struct BananaActor *) actor);
|
update_actor_banana((struct BananaActor *) actor);
|
||||||
break;
|
break;
|
||||||
case ACTOR_PADDLE_WHEEL_BOAT:
|
case ACTOR_PADDLE_BOAT:
|
||||||
update_actor_paddle_wheel((struct PaddleWheelBoat *) actor);
|
update_actor_paddle_boat((struct PaddleWheelBoat *) actor);
|
||||||
break;
|
break;
|
||||||
case ACTOR_TRAIN_ENGINE:
|
case ACTOR_TRAIN_ENGINE:
|
||||||
update_actor_train_engine((struct TrainCar *) actor);
|
update_actor_train_engine((struct TrainCar *) actor);
|
||||||
|
|
@ -4256,10 +4228,10 @@ void update_course_actors(void) {
|
||||||
case ACTOR_TRIPLE_RED_SHELL:
|
case ACTOR_TRIPLE_RED_SHELL:
|
||||||
update_actor_triple_shell((TripleShellParent *) actor, ACTOR_RED_SHELL);
|
update_actor_triple_shell((TripleShellParent *) actor, ACTOR_RED_SHELL);
|
||||||
break;
|
break;
|
||||||
case ACTOR_MARIO_RACEWAY_SIGN:
|
case ACTOR_MARIO_SIGN:
|
||||||
update_actor_mario_raceway_sign(actor);
|
update_actor_mario_raceway_sign(actor);
|
||||||
break;
|
break;
|
||||||
case ACTOR_WARIO_STADIUM_SIGN:
|
case ACTOR_WARIO_SIGN:
|
||||||
update_actor_wario_stadium_sign(actor);
|
update_actor_wario_stadium_sign(actor);
|
||||||
break;
|
break;
|
||||||
case ACTOR_RAILROAD_CROSSING:
|
case ACTOR_RAILROAD_CROSSING:
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ void render_actor_cow(Camera*, Mat4, struct Actor*);
|
||||||
void update_actor_yoshi_valley_egg(struct YoshiValleyEgg*);
|
void update_actor_yoshi_valley_egg(struct YoshiValleyEgg*);
|
||||||
void update_actor_trees_cacti_shrubs(struct Actor*);
|
void update_actor_trees_cacti_shrubs(struct Actor*);
|
||||||
void update_actor_kiwano_fruit(struct KiwanoFruit*);
|
void update_actor_kiwano_fruit(struct KiwanoFruit*);
|
||||||
void update_actor_paddle_wheel(struct PaddleWheelBoat*);
|
void update_actor_paddle_boat(struct PaddleWheelBoat*);
|
||||||
void update_actor_train_engine(struct TrainCar*);
|
void update_actor_train_engine(struct TrainCar*);
|
||||||
void update_actor_train_car1(struct TrainCar*);
|
void update_actor_train_car1(struct TrainCar*);
|
||||||
void update_actor_train_car2(struct TrainCar*);
|
void update_actor_train_car2(struct TrainCar*);
|
||||||
|
|
@ -53,14 +53,14 @@ void update_actor_wario_stadium_sign(struct Actor*);
|
||||||
void update_actor_railroad_crossing(struct RailroadCrossing*);
|
void update_actor_railroad_crossing(struct RailroadCrossing*);
|
||||||
void update_actor_mario_raceway_sign(struct Actor*);
|
void update_actor_mario_raceway_sign(struct Actor*);
|
||||||
void func_8029AC18(Camera*, Mat4, struct Actor*);
|
void func_8029AC18(Camera*, Mat4, struct Actor*);
|
||||||
void func_8029AE1C(Camera*, struct PaddleWheelBoat*, Mat4, u16);
|
void render_actor_paddle_boat(Camera*, struct PaddleWheelBoat*, Mat4, u16);
|
||||||
void func_8029B06C(Camera*, struct Actor*);
|
void func_8029B06C(Camera*, struct Actor*);
|
||||||
void func_8029B2E4(Camera*, struct Actor*);
|
void func_8029B2E4(Camera*, struct Actor*);
|
||||||
void func_8029B4E0(Camera*, struct Actor*);
|
void func_8029B4E0(Camera*, struct Actor*);
|
||||||
void func_8029B6EC(Camera*, struct Actor*);
|
void func_8029B6EC(Camera*, struct Actor*);
|
||||||
void func_8029B8E8(Camera*, struct TrainCar*);
|
void render_actor_train_engine(Camera*, struct TrainCar*);
|
||||||
void func_8029BFB0(Camera*, struct TrainCar*);
|
void render_actor_train_tender(Camera*, struct TrainCar*);
|
||||||
void func_8029C3CC(Camera*, struct TrainCar*);
|
void render_actor_passenger_car(Camera*, struct TrainCar*);
|
||||||
void render_actor_falling_rock(Camera*, struct FallingRock*);
|
void render_actor_falling_rock(Camera*, struct FallingRock*);
|
||||||
void place_piranha_plants(struct ActorSpawnData*);
|
void place_piranha_plants(struct ActorSpawnData*);
|
||||||
void place_palm_trees(struct ActorSpawnData*);
|
void place_palm_trees(struct ActorSpawnData*);
|
||||||
|
|
@ -98,9 +98,9 @@ void update_actor_item_box_hot_air_balloon(struct ItemBox*);
|
||||||
void update_actor_item_box(struct ItemBox*);
|
void update_actor_item_box(struct ItemBox*);
|
||||||
void func_802A171C(Camera*, struct FakeItemBox*);
|
void func_802A171C(Camera*, struct FakeItemBox*);
|
||||||
void func_802A1EA0(Camera*, struct ItemBox*);
|
void func_802A1EA0(Camera*, struct ItemBox*);
|
||||||
void func_802A269C(Camera*, struct Actor*);
|
void render_actor_wario_sign(Camera*, struct Actor*);
|
||||||
void func_802A27A0(Camera*, Mat4, struct YoshiValleyEgg*, u16);
|
void func_802A27A0(Camera*, Mat4, struct YoshiValleyEgg*, u16);
|
||||||
void func_802A29BC(Camera*, Mat4, struct Actor*);
|
void render_actor_mario_sign(Camera*, Mat4, struct Actor*);
|
||||||
void func_802A2AD0(Camera*, struct RailroadCrossing*);
|
void func_802A2AD0(Camera*, struct RailroadCrossing*);
|
||||||
void func_802A2C78(Camera*, Mat4, struct Actor*);
|
void func_802A2C78(Camera*, Mat4, struct Actor*);
|
||||||
void func_802A2F34(struct UnkStruct_800DC5EC*);
|
void func_802A2F34(struct UnkStruct_800DC5EC*);
|
||||||
|
|
@ -114,7 +114,7 @@ extern void func_800C99E0(Vec3f, s32);
|
||||||
extern u8 *D_802BA050;
|
extern u8 *D_802BA050;
|
||||||
extern u8 *D_802BA054;
|
extern u8 *D_802BA054;
|
||||||
extern u8 *D_802BA058;
|
extern u8 *D_802BA058;
|
||||||
extern struct Actor *D_802BA05C;
|
extern struct Actor *gActorHotAirBalloonItemBox;
|
||||||
extern s8 gTLUTRedShell[]; // tlut 256
|
extern s8 gTLUTRedShell[]; // tlut 256
|
||||||
extern u16 D_802BA260; // Box Truck sub-type?
|
extern u16 D_802BA260; // Box Truck sub-type?
|
||||||
|
|
||||||
|
|
@ -124,7 +124,6 @@ extern s16 gCurrentCourseId;
|
||||||
extern u16 isCrossingTriggeredByIndex[];
|
extern u16 isCrossingTriggeredByIndex[];
|
||||||
extern Lights1 D_800DC610[];
|
extern Lights1 D_800DC610[];
|
||||||
|
|
||||||
extern s8 common_tlut_trees_import[];
|
|
||||||
extern Gfx D_0D005338[];
|
extern Gfx D_0D005338[];
|
||||||
extern Gfx D_0D005368[];
|
extern Gfx D_0D005368[];
|
||||||
extern Gfx D_0D007B20[];
|
extern Gfx D_0D007B20[];
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
#include "actors.h"
|
#include "actors.h"
|
||||||
#include "actors_extended.h"
|
#include "actors_extended.h"
|
||||||
#include "audio/external.h"
|
#include "audio/external.h"
|
||||||
#include "code_80071F00.h"
|
#include "update_objects.h"
|
||||||
#include "effects.h"
|
#include "effects.h"
|
||||||
#include "sounds.h"
|
#include "sounds.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,7 @@ f32 func_802B51E8(Vec3f arg0, Vec3f arg1) {
|
||||||
return (sub_x * sub_x) + (sub_y * sub_y) + sub_z + sub_z;
|
return (sub_x * sub_x) + (sub_y * sub_y) + sub_z + sub_z;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 get_angle_between_points(Vec3f arg0, Vec3f arg1) {
|
s32 get_angle_between_two_vectors(Vec3f arg0, Vec3f arg1) {
|
||||||
f32 temp_v1;
|
f32 temp_v1;
|
||||||
f32 temp_v2;
|
f32 temp_v2;
|
||||||
temp_v1 = arg1[0] - arg0[0];
|
temp_v1 = arg1[0] - arg0[0];
|
||||||
|
|
@ -87,7 +87,7 @@ s32 get_angle_between_points(Vec3f arg0, Vec3f arg1) {
|
||||||
return atan2s(temp_v1, temp_v2);
|
return atan2s(temp_v1, temp_v2);
|
||||||
}
|
}
|
||||||
|
|
||||||
// get_angle_between_points
|
// get_angle_between_two_vectors
|
||||||
u32 func_802B5258(Vec3f arg0, Vec3s arg1) {
|
u32 func_802B5258(Vec3f arg0, Vec3s arg1) {
|
||||||
f32 temp_v1;
|
f32 temp_v1;
|
||||||
f32 temp_v2;
|
f32 temp_v2;
|
||||||
|
|
@ -483,7 +483,7 @@ void mtxf_scale(Mat4 mat, f32 coef) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// look like create a translation and rotation matrix with arg1 position and arg2 rotation
|
// look like create a translation and rotation matrix with arg1 position and arg2 rotation
|
||||||
void func_802B5F74(Mat4 arg0, Vec3f arg1, Vec3s arg2) {
|
void mtxf_pos_rotation_xyz(Mat4 out, Vec3f pos, Vec3s orientation) {
|
||||||
f32 sine1;
|
f32 sine1;
|
||||||
f32 cosine1;
|
f32 cosine1;
|
||||||
f32 sine2;
|
f32 sine2;
|
||||||
|
|
@ -491,28 +491,28 @@ void func_802B5F74(Mat4 arg0, Vec3f arg1, Vec3s arg2) {
|
||||||
f32 sine3;
|
f32 sine3;
|
||||||
f32 cosine3;
|
f32 cosine3;
|
||||||
|
|
||||||
sine1 = sins(arg2[0]);
|
sine1 = sins(orientation[0]);
|
||||||
cosine1 = coss(arg2[0]);
|
cosine1 = coss(orientation[0]);
|
||||||
sine2 = sins(arg2[1]);
|
sine2 = sins(orientation[1]);
|
||||||
cosine2 = coss(arg2[1]);
|
cosine2 = coss(orientation[1]);
|
||||||
sine3 = sins(arg2[2]);
|
sine3 = sins(orientation[2]);
|
||||||
cosine3 = coss(arg2[2]);
|
cosine3 = coss(orientation[2]);
|
||||||
arg0[0][0] = (cosine2 * cosine3) + ((sine1 * sine2) * sine3);
|
out[0][0] = (cosine2 * cosine3) + ((sine1 * sine2) * sine3);
|
||||||
arg0[1][0] = (-cosine2 * sine3) + ((sine1 * sine2) * cosine3);
|
out[1][0] = (-cosine2 * sine3) + ((sine1 * sine2) * cosine3);
|
||||||
arg0[2][0] = cosine1 * sine2;
|
out[2][0] = cosine1 * sine2;
|
||||||
arg0[3][0] = arg1[0];
|
out[3][0] = pos[0];
|
||||||
arg0[0][1] = cosine1 * sine3;
|
out[0][1] = cosine1 * sine3;
|
||||||
arg0[1][1] = cosine1 * cosine3;
|
out[1][1] = cosine1 * cosine3;
|
||||||
arg0[2][1] = -sine1;
|
out[2][1] = -sine1;
|
||||||
arg0[3][1] = arg1[1];
|
out[3][1] = pos[1];
|
||||||
arg0[0][2] = (-sine2 * cosine3) + ((sine1 * cosine2) * sine3);
|
out[0][2] = (-sine2 * cosine3) + ((sine1 * cosine2) * sine3);
|
||||||
arg0[1][2] = (sine2 * sine3) + ((sine1 * cosine2) * cosine3);
|
out[1][2] = (sine2 * sine3) + ((sine1 * cosine2) * cosine3);
|
||||||
arg0[2][2] = cosine1 * cosine2;
|
out[2][2] = cosine1 * cosine2;
|
||||||
arg0[3][2] = arg1[2];
|
out[3][2] = pos[2];
|
||||||
arg0[0][3] = 0.0f;
|
out[0][3] = 0.0f;
|
||||||
arg0[1][3] = 0.0f;
|
out[1][3] = 0.0f;
|
||||||
arg0[2][3] = 0.0f;
|
out[2][3] = 0.0f;
|
||||||
arg0[3][3] = 1.0f;
|
out[3][3] = 1.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
UNUSED void func_802B60B4(Mat4 arg0, Vec3s arg1, Vec3s arg2) {
|
UNUSED void func_802B60B4(Mat4 arg0, Vec3s arg1, Vec3s arg2) {
|
||||||
|
|
@ -1143,7 +1143,7 @@ f32 is_within_render_distance(Vec3f cameraPos, Vec3f objectPos, u16 orientationY
|
||||||
return -1.0f;
|
return -1.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
angleObject = get_angle_between_points(cameraPos, objectPos);
|
angleObject = get_angle_between_two_vectors(cameraPos, objectPos);
|
||||||
minus_fov_angle = (orientationY - extended_fov);
|
minus_fov_angle = (orientationY - extended_fov);
|
||||||
plus_fov_angle = (orientationY + extended_fov);
|
plus_fov_angle = (orientationY + extended_fov);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ double fabs(double x);
|
||||||
s32 func_802B4F60(s32, Vec3f, s32, f32, f32);
|
s32 func_802B4F60(s32, Vec3f, s32, f32, f32);
|
||||||
s32 render_set_position(Mat4, s32);
|
s32 render_set_position(Mat4, s32);
|
||||||
f32 func_802B51E8(Vec3f, Vec3f);
|
f32 func_802B51E8(Vec3f, Vec3f);
|
||||||
s32 get_angle_between_points(Vec3f, Vec3f);
|
s32 get_angle_between_two_vectors(Vec3f, Vec3f);
|
||||||
u32 func_802B5258(Vec3f, Vec3s);
|
u32 func_802B5258(Vec3f, Vec3s);
|
||||||
void vec3f_set(Vec3f, f32, f32, f32);
|
void vec3f_set(Vec3f, f32, f32, f32);
|
||||||
void vec3s_set(Vec3s, s16, s16, s16);
|
void vec3s_set(Vec3s, s16, s16, s16);
|
||||||
|
|
@ -40,7 +40,7 @@ void func_802B5CAC(s16, s16, Vec3f);
|
||||||
void func_802B5D30(s16, s16, s32);
|
void func_802B5D30(s16, s16, s32);
|
||||||
void func_802B5D64(uintptr_t, s16, s16, s32);
|
void func_802B5D64(uintptr_t, s16, s16, s32);
|
||||||
void mtxf_scale(Mat4, f32);
|
void mtxf_scale(Mat4, f32);
|
||||||
void func_802B5F74(Mat4, Vec3f, Vec3s);
|
void mtxf_pos_rotation_xyz(Mat4, Vec3f, Vec3s);
|
||||||
void mtxf_translate_vec3f_mat3(Vec3f, Mat3);
|
void mtxf_translate_vec3f_mat3(Vec3f, Mat3);
|
||||||
void mtxf_translate_vec3f_mat4(Vec3f, Mat4);
|
void mtxf_translate_vec3f_mat4(Vec3f, Mat4);
|
||||||
void func_802B64C4(Vec3f, s16);
|
void func_802B64C4(Vec3f, s16);
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "code_800029B0.h"
|
#include "code_800029B0.h"
|
||||||
#include "code_80057C60.h"
|
#include "code_80057C60.h"
|
||||||
#include "code_80071F00.h"
|
#include "update_objects.h"
|
||||||
#include "code_80091750.h"
|
#include "code_80091750.h"
|
||||||
#include "code_80005FD0.h"
|
#include "code_80005FD0.h"
|
||||||
#include "spawn_players.h"
|
#include "spawn_players.h"
|
||||||
|
|
@ -670,7 +670,7 @@ void func_8028F474(void) {
|
||||||
}
|
}
|
||||||
case 1:
|
case 1:
|
||||||
case 2:
|
case 2:
|
||||||
func_800097E0();
|
update_vehicles();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -199,7 +199,7 @@ void func_802911C4(void) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8029122C(struct UnkStruct_800DC5EC *arg0, s32 arg1) {
|
void func_8029122C(struct UnkStruct_800DC5EC *arg0, s32 playerId) {
|
||||||
UNUSED s32 pad;
|
UNUSED s32 pad;
|
||||||
Player *player = arg0->player;
|
Player *player = arg0->player;
|
||||||
Mat4 matrix;
|
Mat4 matrix;
|
||||||
|
|
@ -212,22 +212,22 @@ void func_8029122C(struct UnkStruct_800DC5EC *arg0, s32 arg1) {
|
||||||
pathCounter = (u16) arg0->pathCounter;
|
pathCounter = (u16) arg0->pathCounter;
|
||||||
cameraRot = (u16) arg0->camera->rot[1];
|
cameraRot = (u16) arg0->camera->rot[1];
|
||||||
playerDirection = arg0->playerDirection;
|
playerDirection = arg0->playerDirection;
|
||||||
switch (arg1) {
|
switch (playerId) {
|
||||||
case 0:
|
case PLAYER_ONE:
|
||||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[PLAYER_ONE]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[PLAYER_ONE]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case PLAYER_TWO:
|
||||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[PLAYER_TWO]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[1]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[PLAYER_TWO]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case PLAYER_THREE:
|
||||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[2]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[PLAYER_THREE]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[2]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[PLAYER_THREE]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case PLAYER_FOUR:
|
||||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[3]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[PLAYER_FOUR]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[3]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[PLAYER_FOUR]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
mtxf_identity(matrix);
|
mtxf_identity(matrix);
|
||||||
|
|
|
||||||
|
|
@ -766,7 +766,7 @@ void func_802A5760(void) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802A59A4(void) {
|
void render_player_one_1p_screen(void) {
|
||||||
Camera *camera = &cameras[0];
|
Camera *camera = &cameras[0];
|
||||||
UNUSED s32 pad[4];
|
UNUSED s32 pad[4];
|
||||||
u16 perspNorm;
|
u16 perspNorm;
|
||||||
|
|
@ -810,23 +810,23 @@ void func_802A59A4(void) {
|
||||||
render_set_position(matrix, 0);
|
render_set_position(matrix, 0);
|
||||||
}
|
}
|
||||||
render_course_actors(D_800DC5EC);
|
render_course_actors(D_800DC5EC);
|
||||||
func_80058090(0);
|
render_object(RENDER_SCREEN_MODE_1P_PLAYER_ONE);
|
||||||
render_players_on_screen_one();
|
render_players_on_screen_one();
|
||||||
func_8029122C(D_800DC5EC, 0);
|
func_8029122C(D_800DC5EC, PLAYER_ONE);
|
||||||
func_80021B0C();
|
func_80021B0C();
|
||||||
func_802A2F34(D_800DC5EC);
|
func_802A2F34(D_800DC5EC);
|
||||||
func_80058538(0);
|
render_player_snow_effect(RENDER_SCREEN_MODE_1P_PLAYER_ONE);
|
||||||
func_80058BF4();
|
func_80058BF4();
|
||||||
if (D_800DC5B8 != 0) {
|
if (D_800DC5B8 != 0) {
|
||||||
func_80058C20(0);
|
func_80058C20(RENDER_SCREEN_MODE_1P_PLAYER_ONE);
|
||||||
}
|
}
|
||||||
func_80093A5C(0);
|
func_80093A5C(RENDER_SCREEN_MODE_1P_PLAYER_ONE);
|
||||||
if (D_800DC5B8 != 0) {
|
if (D_800DC5B8 != 0) {
|
||||||
func_80058DB4(0);
|
render_hud(RENDER_SCREEN_MODE_1P_PLAYER_ONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802A5CB4(void) {
|
void render_player_one_2p_screen_vertical(void) {
|
||||||
Camera *camera = &cameras[0];
|
Camera *camera = &cameras[0];
|
||||||
UNUSED s32 pad[2];
|
UNUSED s32 pad[2];
|
||||||
u16 perspNorm;
|
u16 perspNorm;
|
||||||
|
|
@ -866,24 +866,24 @@ void func_802A5CB4(void) {
|
||||||
render_set_position(matrix, 0);
|
render_set_position(matrix, 0);
|
||||||
}
|
}
|
||||||
render_course_actors(D_800DC5EC);
|
render_course_actors(D_800DC5EC);
|
||||||
func_80058090(1);
|
render_object(RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_ONE);
|
||||||
render_players_on_screen_one();
|
render_players_on_screen_one();
|
||||||
func_8029122C(D_800DC5EC, 0);
|
func_8029122C(D_800DC5EC, PLAYER_ONE);
|
||||||
func_80021B0C();
|
func_80021B0C();
|
||||||
func_802A2F34(D_800DC5EC);
|
func_802A2F34(D_800DC5EC);
|
||||||
func_80058538(1);
|
render_player_snow_effect(RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_ONE);
|
||||||
func_80058BF4();
|
func_80058BF4();
|
||||||
if (D_800DC5B8 != 0) {
|
if (D_800DC5B8 != 0) {
|
||||||
func_80058C20(1);
|
func_80058C20(RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_ONE);
|
||||||
}
|
}
|
||||||
func_80093A5C(1);
|
func_80093A5C(RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_ONE);
|
||||||
if (D_800DC5B8 != 0) {
|
if (D_800DC5B8 != 0) {
|
||||||
func_80058DB4(1);
|
render_hud(RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_ONE);
|
||||||
}
|
}
|
||||||
D_8015F788 += 1;
|
D_8015F788 += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802A5FAC(void) {
|
void render_player_two_2p_screen_vertical(void) {
|
||||||
Camera *camera = &cameras[1];
|
Camera *camera = &cameras[1];
|
||||||
UNUSED s32 pad[2];
|
UNUSED s32 pad[2];
|
||||||
u16 perspNorm;
|
u16 perspNorm;
|
||||||
|
|
@ -920,24 +920,24 @@ void func_802A5FAC(void) {
|
||||||
render_set_position(matrix, 0);
|
render_set_position(matrix, 0);
|
||||||
}
|
}
|
||||||
render_course_actors(D_800DC5F0);
|
render_course_actors(D_800DC5F0);
|
||||||
func_80058090(2);
|
render_object(RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_TWO);
|
||||||
render_players_on_screen_two();
|
render_players_on_screen_two();
|
||||||
func_8029122C(D_800DC5F0, 1);
|
func_8029122C(D_800DC5F0, PLAYER_TWO);
|
||||||
func_80021C78();
|
func_80021C78();
|
||||||
func_802A2F34(D_800DC5F0);
|
func_802A2F34(D_800DC5F0);
|
||||||
func_80058BF4();
|
func_80058BF4();
|
||||||
func_80058538(2);
|
render_player_snow_effect(RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_TWO);
|
||||||
if (D_800DC5B8 != 0) {
|
if (D_800DC5B8 != 0) {
|
||||||
func_80058C20(2);
|
func_80058C20(RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_TWO);
|
||||||
}
|
}
|
||||||
func_80093A5C(2);
|
func_80093A5C(RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_TWO);
|
||||||
if (D_800DC5B8 != 0) {
|
if (D_800DC5B8 != 0) {
|
||||||
func_80058DB4(2);
|
render_hud(RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_TWO);
|
||||||
}
|
}
|
||||||
D_8015F788 += 1;
|
D_8015F788 += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802A62A4(void) {
|
void render_player_one_2p_screen_horizontal(void) {
|
||||||
Camera *camera = &cameras[0];
|
Camera *camera = &cameras[0];
|
||||||
UNUSED s32 pad[2];
|
UNUSED s32 pad[2];
|
||||||
u16 perspNorm;
|
u16 perspNorm;
|
||||||
|
|
@ -978,24 +978,24 @@ void func_802A62A4(void) {
|
||||||
render_set_position(matrix, 0);
|
render_set_position(matrix, 0);
|
||||||
}
|
}
|
||||||
render_course_actors(D_800DC5EC);
|
render_course_actors(D_800DC5EC);
|
||||||
func_80058090(3);
|
render_object(RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_ONE);
|
||||||
render_players_on_screen_one();
|
render_players_on_screen_one();
|
||||||
func_8029122C(D_800DC5EC, 0);
|
func_8029122C(D_800DC5EC, PLAYER_ONE);
|
||||||
func_80021B0C();
|
func_80021B0C();
|
||||||
func_802A2F34(D_800DC5EC);
|
func_802A2F34(D_800DC5EC);
|
||||||
func_80058538(3);
|
render_player_snow_effect(RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_ONE);
|
||||||
func_80058BF4();
|
func_80058BF4();
|
||||||
if (D_800DC5B8 != 0) {
|
if (D_800DC5B8 != 0) {
|
||||||
func_80058C20(3);
|
func_80058C20(RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_ONE);
|
||||||
}
|
}
|
||||||
func_80093A5C(3);
|
func_80093A5C(RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_ONE);
|
||||||
if (D_800DC5B8 != 0) {
|
if (D_800DC5B8 != 0) {
|
||||||
func_80058DB4(3);
|
render_hud(RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_ONE);
|
||||||
}
|
}
|
||||||
D_8015F788 += 1;
|
D_8015F788 += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802A65B8(void) {
|
void render_player_two_2p_screen_horizontal(void) {
|
||||||
Camera *camera = &cameras[1];
|
Camera *camera = &cameras[1];
|
||||||
UNUSED s32 pad[2];
|
UNUSED s32 pad[2];
|
||||||
u16 perspNorm;
|
u16 perspNorm;
|
||||||
|
|
@ -1035,24 +1035,24 @@ void func_802A65B8(void) {
|
||||||
render_set_position(matrix, 0);
|
render_set_position(matrix, 0);
|
||||||
}
|
}
|
||||||
render_course_actors(D_800DC5F0);
|
render_course_actors(D_800DC5F0);
|
||||||
func_80058090(4);
|
render_object(RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_TWO);
|
||||||
render_players_on_screen_two();
|
render_players_on_screen_two();
|
||||||
func_8029122C(D_800DC5F0, 1);
|
func_8029122C(D_800DC5F0, PLAYER_TWO);
|
||||||
func_80021C78();
|
func_80021C78();
|
||||||
func_802A2F34(D_800DC5F0);
|
func_802A2F34(D_800DC5F0);
|
||||||
func_80058538(4);
|
render_player_snow_effect(RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_TWO);
|
||||||
func_80058BF4();
|
func_80058BF4();
|
||||||
if (D_800DC5B8 != 0) {
|
if (D_800DC5B8 != 0) {
|
||||||
func_80058C20(4);
|
func_80058C20(RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_TWO);
|
||||||
}
|
}
|
||||||
func_80093A5C(4);
|
func_80093A5C(RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_TWO);
|
||||||
if (D_800DC5B8 != 0) {
|
if (D_800DC5B8 != 0) {
|
||||||
func_80058DB4(4);
|
render_hud(RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_TWO);
|
||||||
}
|
}
|
||||||
D_8015F788 += 1;
|
D_8015F788 += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802A68CC(void) {
|
void render_player_one_3p_4p_screen(void) {
|
||||||
Camera *camera = camera1;
|
Camera *camera = camera1;
|
||||||
UNUSED s32 pad[2];
|
UNUSED s32 pad[2];
|
||||||
u16 perspNorm;
|
u16 perspNorm;
|
||||||
|
|
@ -1089,24 +1089,24 @@ void func_802A68CC(void) {
|
||||||
render_set_position(matrix, 0);
|
render_set_position(matrix, 0);
|
||||||
}
|
}
|
||||||
render_course_actors(D_800DC5EC);
|
render_course_actors(D_800DC5EC);
|
||||||
func_80058090(8);
|
render_object(RENDER_SCREEN_MODE_3P_4P_PLAYER_ONE);
|
||||||
render_players_on_screen_one();
|
render_players_on_screen_one();
|
||||||
func_8029122C(D_800DC5EC, 0);
|
func_8029122C(D_800DC5EC, PLAYER_ONE);
|
||||||
func_80021B0C();
|
func_80021B0C();
|
||||||
func_802A2F34(D_800DC5EC);
|
func_802A2F34(D_800DC5EC);
|
||||||
func_80058538(8);
|
render_player_snow_effect(RENDER_SCREEN_MODE_3P_4P_PLAYER_ONE);
|
||||||
func_80058BF4();
|
func_80058BF4();
|
||||||
if (D_800DC5B8 != 0) {
|
if (D_800DC5B8 != 0) {
|
||||||
func_80058C20(8);
|
func_80058C20(RENDER_SCREEN_MODE_3P_4P_PLAYER_ONE);
|
||||||
}
|
}
|
||||||
func_80093A5C(8);
|
func_80093A5C(RENDER_SCREEN_MODE_3P_4P_PLAYER_ONE);
|
||||||
if (D_800DC5B8 != 0) {
|
if (D_800DC5B8 != 0) {
|
||||||
func_80058DB4(8);
|
render_hud(RENDER_SCREEN_MODE_3P_4P_PLAYER_ONE);
|
||||||
}
|
}
|
||||||
D_8015F788 += 1;
|
D_8015F788 += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802A6BB0(void) {
|
void render_player_two_3p_4p_screen(void) {
|
||||||
Camera *camera = camera2;
|
Camera *camera = camera2;
|
||||||
UNUSED s32 pad[2];
|
UNUSED s32 pad[2];
|
||||||
u16 perspNorm;
|
u16 perspNorm;
|
||||||
|
|
@ -1143,24 +1143,24 @@ void func_802A6BB0(void) {
|
||||||
render_set_position(matrix, 0);
|
render_set_position(matrix, 0);
|
||||||
}
|
}
|
||||||
render_course_actors(D_800DC5F0);
|
render_course_actors(D_800DC5F0);
|
||||||
func_80058090(9);
|
render_object(RENDER_SCREEN_MODE_3P_4P_PLAYER_TWO);
|
||||||
render_players_on_screen_two();
|
render_players_on_screen_two();
|
||||||
func_8029122C(D_800DC5F0, 1);
|
func_8029122C(D_800DC5F0, PLAYER_TWO);
|
||||||
func_80021C78();
|
func_80021C78();
|
||||||
func_802A2F34(D_800DC5F0);
|
func_802A2F34(D_800DC5F0);
|
||||||
func_80058538(9);
|
render_player_snow_effect(RENDER_SCREEN_MODE_3P_4P_PLAYER_TWO);
|
||||||
func_80058BF4();
|
func_80058BF4();
|
||||||
if (D_800DC5B8 != 0) {
|
if (D_800DC5B8 != 0) {
|
||||||
func_80058C20(9);
|
func_80058C20(RENDER_SCREEN_MODE_3P_4P_PLAYER_TWO);
|
||||||
}
|
}
|
||||||
func_80093A5C(9);
|
func_80093A5C(RENDER_SCREEN_MODE_3P_4P_PLAYER_TWO);
|
||||||
if (D_800DC5B8 != 0) {
|
if (D_800DC5B8 != 0) {
|
||||||
func_80058DB4(9);
|
render_hud(RENDER_SCREEN_MODE_3P_4P_PLAYER_TWO);
|
||||||
}
|
}
|
||||||
D_8015F788 += 1;
|
D_8015F788 += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802A6E94(void) {
|
void render_player_three_3p_4p_screen(void) {
|
||||||
Camera *camera = camera3;
|
Camera *camera = camera3;
|
||||||
UNUSED s32 pad[2];
|
UNUSED s32 pad[2];
|
||||||
u16 perspNorm;
|
u16 perspNorm;
|
||||||
|
|
@ -1198,24 +1198,24 @@ void func_802A6E94(void) {
|
||||||
render_set_position(matrix, 0);
|
render_set_position(matrix, 0);
|
||||||
}
|
}
|
||||||
render_course_actors(D_800DC5F4);
|
render_course_actors(D_800DC5F4);
|
||||||
func_80058090(10);
|
render_object(RENDER_SCREEN_MODE_3P_4P_PLAYER_THREE);
|
||||||
render_players_on_screen_three();
|
render_players_on_screen_three();
|
||||||
func_8029122C(D_800DC5F4, 2);
|
func_8029122C(D_800DC5F4, PLAYER_THREE);
|
||||||
func_80021D40();
|
func_80021D40();
|
||||||
func_802A2F34(D_800DC5F4);
|
func_802A2F34(D_800DC5F4);
|
||||||
func_80058538(10);
|
render_player_snow_effect(RENDER_SCREEN_MODE_3P_4P_PLAYER_THREE);
|
||||||
func_80058BF4();
|
func_80058BF4();
|
||||||
if (D_800DC5B8 != 0) {
|
if (D_800DC5B8 != 0) {
|
||||||
func_80058C20(10);
|
func_80058C20(RENDER_SCREEN_MODE_3P_4P_PLAYER_THREE);
|
||||||
}
|
}
|
||||||
func_80093A5C(10);
|
func_80093A5C(RENDER_SCREEN_MODE_3P_4P_PLAYER_THREE);
|
||||||
if (D_800DC5B8 != 0) {
|
if (D_800DC5B8 != 0) {
|
||||||
func_80058DB4(10);
|
render_hud(RENDER_SCREEN_MODE_3P_4P_PLAYER_THREE);
|
||||||
}
|
}
|
||||||
D_8015F788 += 1;
|
D_8015F788 += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802A7178(void) {
|
void render_player_four_3p_4p_screen(void) {
|
||||||
Camera *camera = camera4;
|
Camera *camera = camera4;
|
||||||
UNUSED s32 pad[2];
|
UNUSED s32 pad[2];
|
||||||
u16 perspNorm;
|
u16 perspNorm;
|
||||||
|
|
@ -1227,9 +1227,9 @@ void func_802A7178(void) {
|
||||||
|
|
||||||
func_802A5760();
|
func_802A5760();
|
||||||
if (gPlayerCountSelection1 == 3) {
|
if (gPlayerCountSelection1 == 3) {
|
||||||
func_80093A5C(11);
|
func_80093A5C(RENDER_SCREEN_MODE_3P_4P_PLAYER_FOUR);
|
||||||
if (D_800DC5B8 != 0) {
|
if (D_800DC5B8 != 0) {
|
||||||
func_80058DB4(11);
|
render_hud(RENDER_SCREEN_MODE_3P_4P_PLAYER_FOUR);
|
||||||
}
|
}
|
||||||
D_8015F788 += 1;
|
D_8015F788 += 1;
|
||||||
return;
|
return;
|
||||||
|
|
@ -1261,19 +1261,19 @@ void func_802A7178(void) {
|
||||||
render_set_position(matrix, 0);
|
render_set_position(matrix, 0);
|
||||||
}
|
}
|
||||||
render_course_actors(D_800DC5F8);
|
render_course_actors(D_800DC5F8);
|
||||||
func_80058090(11);
|
render_object(RENDER_SCREEN_MODE_3P_4P_PLAYER_FOUR);
|
||||||
render_players_on_screen_four();
|
render_players_on_screen_four();
|
||||||
func_8029122C(D_800DC5F8, 3);
|
func_8029122C(D_800DC5F8, PLAYER_FOUR);
|
||||||
func_80021DA8();
|
func_80021DA8();
|
||||||
func_802A2F34(D_800DC5F8);
|
func_802A2F34(D_800DC5F8);
|
||||||
func_80058538(11);
|
render_player_snow_effect(RENDER_SCREEN_MODE_3P_4P_PLAYER_FOUR);
|
||||||
func_80058BF4();
|
func_80058BF4();
|
||||||
if (D_800DC5B8 != 0) {
|
if (D_800DC5B8 != 0) {
|
||||||
func_80058C20(11);
|
func_80058C20(RENDER_SCREEN_MODE_3P_4P_PLAYER_FOUR);
|
||||||
}
|
}
|
||||||
func_80093A5C(0xB);
|
func_80093A5C(RENDER_SCREEN_MODE_3P_4P_PLAYER_FOUR);
|
||||||
if (D_800DC5B8 != 0) {
|
if (D_800DC5B8 != 0) {
|
||||||
func_80058DB4(11);
|
render_hud(RENDER_SCREEN_MODE_3P_4P_PLAYER_FOUR);
|
||||||
}
|
}
|
||||||
D_8015F788 += 1;
|
D_8015F788 += 1;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -40,15 +40,15 @@ void func_802A54A8(void);
|
||||||
void func_802A5590(void);
|
void func_802A5590(void);
|
||||||
void func_802A5678(void);
|
void func_802A5678(void);
|
||||||
void func_802A5760(void);
|
void func_802A5760(void);
|
||||||
void func_802A59A4(void);
|
void render_player_one_1p_screen(void);
|
||||||
void func_802A5CB4(void);
|
void render_player_one_2p_screen_vertical(void);
|
||||||
void func_802A5FAC(void);
|
void render_player_two_2p_screen_vertical(void);
|
||||||
void func_802A62A4(void);
|
void render_player_one_2p_screen_horizontal(void);
|
||||||
void func_802A65B8(void);
|
void render_player_two_2p_screen_horizontal(void);
|
||||||
void func_802A68CC(void);
|
void render_player_one_3p_4p_screen(void);
|
||||||
void func_802A6BB0(void);
|
void render_player_two_3p_4p_screen(void);
|
||||||
void func_802A6E94(void);
|
void render_player_three_3p_4p_screen(void);
|
||||||
void func_802A7178(void);
|
void render_player_four_3p_4p_screen(void);
|
||||||
void func_802A74BC(void);
|
void func_802A74BC(void);
|
||||||
void copy_framebuffer(s32, s32, s32, s32, u16*, u16*);
|
void copy_framebuffer(s32, s32, s32, s32, u16*, u16*);
|
||||||
void func_802A7728(void);
|
void func_802A7728(void);
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,5 +1,5 @@
|
||||||
#ifndef hud_renderer_H
|
#ifndef RENDER_OBJECTS_H
|
||||||
#define hud_renderer_H
|
#define RENDER_OBJECTS_H
|
||||||
|
|
||||||
#include "common_structs.h"
|
#include "common_structs.h"
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
|
|
@ -22,17 +22,17 @@ void func_800437F8(s32, s32, u16, f32, Vtx*, s32);
|
||||||
void func_800438C4(s32, s32, u16, f32, Vtx*, s32);
|
void func_800438C4(s32, s32, u16, f32, Vtx*, s32);
|
||||||
void func_8004398C(s32, s32, u16, f32, Vtx*, s32);
|
void func_8004398C(s32, s32, u16, f32, Vtx*, s32);
|
||||||
s32 func_80043A54(s32);
|
s32 func_80043A54(s32);
|
||||||
void func_80043A84(u8*, s32, s32);
|
void load_texture_block_rgba32_nomirror(u8*, s32, s32);
|
||||||
void func_80043C28(u8*, s32, s32);
|
void load_texture_tile_rgba32_nomirror(u8*, s32, s32);
|
||||||
void func_80043D50(u8*, s32, s32);
|
void load_texture_block_rgba16_mirror(u8*, s32, s32);
|
||||||
void func_80043EF8(u8*, s32, s32, s32);
|
void load_texture_block_rgba16_nomirror(u8*, s32, s32, s32);
|
||||||
|
|
||||||
void func_800440B8(u8*, s32, s32);
|
void load_texture_tile_rgba16_nomirror(u8*, s32, s32);
|
||||||
void func_800441E0(u8*, s32, s32);
|
void load_texture_block_ia16_nomirror(u8*, s32, s32);
|
||||||
void func_80044388(u8*, s32, s32);
|
void load_texture_tile_ia16_nomirror(u8*, s32, s32);
|
||||||
void func_800444B0(u8*, s32, s32);
|
void load_texture_block_ia8_nomirror(u8*, s32, s32);
|
||||||
void func_80044658(u8*, s32, s32);
|
void load_texture_tile_ia8_nomirror(u8*, s32, s32);
|
||||||
void func_8004477C(u8*, s32, s32);
|
void load_texture_block_i8_nomirror(u8*, s32, s32);
|
||||||
void func_80044AB8(u8*, s32, s32);
|
void func_80044AB8(u8*, s32, s32);
|
||||||
void func_80044BF8(u8*, s32, s32);
|
void func_80044BF8(u8*, s32, s32);
|
||||||
|
|
||||||
|
|
@ -74,7 +74,7 @@ void func_80046CDC(s32, s32, u16, f32, u8*);
|
||||||
void func_80046D40(Vec3f, Vec3su, f32, u8*);
|
void func_80046D40(Vec3f, Vec3su, f32, u8*);
|
||||||
void func_80046D90(s32, s32, u16, f32, u8*);
|
void func_80046D90(s32, s32, u16, f32, u8*);
|
||||||
void func_80046DF4(s32, s32, u16, f32, s32, u8*);
|
void func_80046DF4(s32, s32, u16, f32, s32, u8*);
|
||||||
void func_80046E60(u8*, u8*, s32, s32);
|
void load_texture_and_tlut(u8*, u8*, s32, s32);
|
||||||
void func_80046F60(u8*, u8*, s32, s32, s32);
|
void func_80046F60(u8*, u8*, s32, s32, s32);
|
||||||
|
|
||||||
void func_80047068(u8*, u8*, Vtx*, s32, s32, s32, s32);
|
void func_80047068(u8*, u8*, Vtx*, s32, s32, s32, s32);
|
||||||
|
|
@ -98,7 +98,7 @@ void func_80047F40(Vec3f, Vec3su, f32, u8*, u8*, Vtx*, s32, s32, s32, s32);
|
||||||
void func_80047FBC(Vec3f, Vec3su, f32, u8*, u8*, Vtx*, s32, s32, s32, s32);
|
void func_80047FBC(Vec3f, Vec3su, f32, u8*, u8*, Vtx*, s32, s32, s32, s32);
|
||||||
|
|
||||||
void func_80048038(Vec3f, Vec3su, f32, u8*, u8*, Vtx*, s32, s32, s32, s32);
|
void func_80048038(Vec3f, Vec3su, f32, u8*, u8*, Vtx*, s32, s32, s32, s32);
|
||||||
void func_800480B4(Vec3f, Vec3su, f32, u8*, u8*, Vtx*, s32, s32, s32, s32);
|
void draw_2d_texture_at(Vec3f, Vec3su, f32, u8*, u8*, Vtx*, s32, s32, s32, s32);
|
||||||
void func_80048130(Vec3f, Vec3su, f32, u8*, u8*, Vtx*, s32, s32, s32, s32, s32);
|
void func_80048130(Vec3f, Vec3su, f32, u8*, u8*, Vtx*, s32, s32, s32, s32, s32);
|
||||||
void func_800481B4(Vec3f, Vec3su, f32, u8*, u8*, Vtx*, s32, s32, s32);
|
void func_800481B4(Vec3f, Vec3su, f32, u8*, u8*, Vtx*, s32, s32, s32);
|
||||||
void func_80048228(Vec3f, Vec3su, f32, s32, u8*, u8*, Vtx*, s32, s32, s32, s32);
|
void func_80048228(Vec3f, Vec3su, f32, s32, u8*, u8*, Vtx*, s32, s32, s32, s32);
|
||||||
|
|
@ -189,7 +189,7 @@ void func_8004B02C(void);
|
||||||
void func_8004B05C(u8*);
|
void func_8004B05C(u8*);
|
||||||
void func_8004B138(s32, s32, s32, s32);
|
void func_8004B138(s32, s32, s32, s32);
|
||||||
void func_8004B180(s32, s32, s32, s32);
|
void func_8004B180(s32, s32, s32, s32);
|
||||||
void func_8004B1C8(s32, s32, s32, s32, s32, s32, s32);
|
void set_color_render(s32, s32, s32, s32, s32, s32, s32);
|
||||||
void func_8004B254(s32, s32, s32);
|
void func_8004B254(s32, s32, s32);
|
||||||
void set_transparency(s32);
|
void set_transparency(s32);
|
||||||
void func_8004B310(s32);
|
void func_8004B310(s32);
|
||||||
|
|
@ -214,7 +214,7 @@ void func_8004C024(s16, s16, s16, u16, u16, u16, u16);
|
||||||
void func_8004C148(s16, s16, s16, u16, u16, u16, u16);
|
void func_8004C148(s16, s16, s16, u16, u16, u16, u16);
|
||||||
void func_8004C354(void);
|
void func_8004C354(void);
|
||||||
void func_8004C35C(void);
|
void func_8004C35C(void);
|
||||||
void func_8004C364(s32, s32, u32, u32, u8*);
|
void draw_hud_2d_texture(s32, s32, u32, u32, u8*);
|
||||||
void func_8004C450(s32, s32, u32, u32, u8*);
|
void func_8004C450(s32, s32, u32, u32, u8*);
|
||||||
void func_8004C53C(s32, s32, u32, u32, u8*);
|
void func_8004C53C(s32, s32, u32, u32, u8*);
|
||||||
void func_8004C628(s32, s32, u32, u32, u8*);
|
void func_8004C628(s32, s32, u32, u32, u8*);
|
||||||
|
|
@ -222,15 +222,15 @@ void func_8004C8D4(s16, s16);
|
||||||
void func_8004C91C(s32, s32, u8*, s32, s32, s32);
|
void func_8004C91C(s32, s32, u8*, s32, s32, s32);
|
||||||
void func_8004C9D8(s32, s32, s32, u8*, s32, s32, s32, s32);
|
void func_8004C9D8(s32, s32, s32, u8*, s32, s32, s32, s32);
|
||||||
void func_8004CA58(s32, s32, f32, u8*, s32, s32);
|
void func_8004CA58(s32, s32, f32, u8*, s32, s32);
|
||||||
void func_8004CAD0(s32, s32, u8*);
|
void draw_hud_2d_texture_8x8(s32, s32, u8*);
|
||||||
void func_8004CB00(s32, s32, u8*);
|
void draw_hud_2d_texture_8x16(s32, s32, u8*);
|
||||||
void func_8004CB30(s32, s32, u8*);
|
void draw_hud_2d_texture_16x16(s32, s32, u8*);
|
||||||
void func_8004CB60(s32, s32, u8*);
|
void draw_hud_2d_texture_32x8(s32, s32, u8*);
|
||||||
void func_8004CB90(s32, s32, u8*);
|
void draw_hud_2d_texture_32x16(s32, s32, u8*);
|
||||||
void func_8004CBC0(s32, s32, f32, u8*);
|
void func_8004CBC0(s32, s32, f32, u8*);
|
||||||
void func_8004CBF4(s32, s32, u8*);
|
void draw_hud_2d_texture_32x32(s32, s32, u8*);
|
||||||
void func_8004CC24(s32, s32, u8*);
|
void func_8004CC24(s32, s32, u8*);
|
||||||
void func_8004CC54(s32, s32, u8*);
|
void draw_hud_2d_texture_40x32(s32, s32, u8*);
|
||||||
void func_8004CC84(s32, s32, u8*);
|
void func_8004CC84(s32, s32, u8*);
|
||||||
void func_8004CCB4(s32, s32, u8*);
|
void func_8004CCB4(s32, s32, u8*);
|
||||||
void func_8004CCE4(s32, s32, f32, u8*);
|
void func_8004CCE4(s32, s32, f32, u8*);
|
||||||
|
|
@ -282,9 +282,9 @@ void func_8004E568(s32, s32, u8*, u8*);
|
||||||
void func_8004E59C(s32, s32, s32, u8*, u8*);
|
void func_8004E59C(s32, s32, s32, u8*, u8*);
|
||||||
void func_8004E5D8(s32, s32, u8*, u8*);
|
void func_8004E5D8(s32, s32, u8*, u8*);
|
||||||
void func_8004E604(s32, s32, u8*, u8*);
|
void func_8004E604(s32, s32, u8*, u8*);
|
||||||
void func_8004E638(s32);
|
void draw_item_window(s32);
|
||||||
void func_8004E6C4(s32);
|
void func_8004E6C4(s32);
|
||||||
void func_8004E78C(s32);
|
void draw_simplified_lap_count(s32);
|
||||||
void func_8004E800(s32);
|
void func_8004E800(s32);
|
||||||
void func_8004E998(s32);
|
void func_8004E998(s32);
|
||||||
void func_8004EB30(s32);
|
void func_8004EB30(s32);
|
||||||
|
|
@ -300,9 +300,9 @@ void func_8004F3E4(s32);
|
||||||
s32 func_8004F674(s32*, s32);
|
s32 func_8004F674(s32*, s32);
|
||||||
void print_timer(s32, s32, s32);
|
void print_timer(s32, s32, s32);
|
||||||
void func_8004F950(s32, s32, s32, s32);
|
void func_8004F950(s32, s32, s32, s32);
|
||||||
void func_8004F9CC(s32, s32, s32);
|
void print_timer_rainbow(s32, s32, s32);
|
||||||
void func_8004FA78(s32);
|
void render_hud_timer(s32);
|
||||||
void func_8004FC78(s16, s16, s8);
|
void draw_lap_count(s16, s16, s8);
|
||||||
void func_8004FDB4(f32, f32, s16, s16, s16, s32, s32, s32, s32);
|
void func_8004FDB4(f32, f32, s16, s16, s16, s32, s32, s32, s32);
|
||||||
|
|
||||||
void func_80050320(void);
|
void func_80050320(void);
|
||||||
|
|
@ -313,8 +313,8 @@ void func_80050C68(void);
|
||||||
void func_80050E34(s32, s32);
|
void func_80050E34(s32, s32);
|
||||||
|
|
||||||
void func_800514BC(void);
|
void func_800514BC(void);
|
||||||
void func_80051638(s32);
|
void render_object_leaf_particle(s32);
|
||||||
void func_800517C8(void);
|
void render_object_snowflakes_particles(void);
|
||||||
void func_800518F8(s32, s16, s16);
|
void func_800518F8(s32, s16, s16);
|
||||||
void func_800519D4(s32, s16, s16);
|
void func_800519D4(s32, s16, s16);
|
||||||
void func_80051ABC(s16, s32);
|
void func_80051ABC(s16, s32);
|
||||||
|
|
@ -328,35 +328,34 @@ void func_80052080(void);
|
||||||
void func_800520C0(s32);
|
void func_800520C0(s32);
|
||||||
void func_8005217C(s32);
|
void func_8005217C(s32);
|
||||||
void func_800523B8(s32, s32, u32);
|
void func_800523B8(s32, s32, u32);
|
||||||
void func_800524B4(s32);
|
void render_object_boos(s32);
|
||||||
void func_800524B4(s32);
|
void render_object_bat(s32);
|
||||||
void func_80052590(s32);
|
void render_object_trash_bin(s32);
|
||||||
void func_800527D8(s32);
|
|
||||||
void func_8005285C(s32);
|
void func_8005285C(s32);
|
||||||
void func_800528EC(s32);
|
void func_800528EC(s32);
|
||||||
void func_80052C60(s32);
|
void render_ice_block(s32);
|
||||||
void func_80052D70(s32);
|
void func_80052D70(s32);
|
||||||
void func_80052E30(s32);
|
void func_80052E30(s32);
|
||||||
void func_80052F20(s32);
|
void render_object_snowmans_list_2(s32);
|
||||||
|
|
||||||
void func_8005309C(s32);
|
void render_object_snowmans_list_1(s32);
|
||||||
void func_8005327C(s32);
|
void render_object_snowmans(s32);
|
||||||
void func_800532A4(s32);
|
void render_lakitu(s32);
|
||||||
void func_800534A4(s32);
|
void func_800534A4(s32);
|
||||||
void func_800534E8(s32);
|
void func_800534E8(s32);
|
||||||
void func_800536C8(s32);
|
void render_object_thwomps_model(s32);
|
||||||
void func_80053870(s32);
|
void render_object_thwomps(s32);
|
||||||
void func_80053D74(s32, s32, s32);
|
void func_80053D74(s32, s32, s32);
|
||||||
void func_80053E6C(s32);
|
void func_80053E6C(s32);
|
||||||
|
|
||||||
void func_800540CC(s32, s32);
|
void render_object_train_smoke_particle(s32, s32);
|
||||||
void func_800541BC(s32);
|
void render_object_train_smoke_particles(s32);
|
||||||
void func_80054324(s32, s32);
|
void render_object_paddle_boat_smoke_particle(s32, s32);
|
||||||
void func_80054414(s32);
|
void render_object_paddle_boat_smoke_particles(s32);
|
||||||
void func_8005457C(s32, s32);
|
void render_object_bowser_flame_particle(s32, s32);
|
||||||
void func_80054664(s32);
|
void render_object_bowser_flame(s32);
|
||||||
void func_8005477C(s32, u8, Vec3f);
|
void func_8005477C(s32, u8, Vec3f);
|
||||||
void func_80054938(s32);
|
void render_object_smoke_particles(s32);
|
||||||
void func_80054AFC(s32, Vec3f);
|
void func_80054AFC(s32, Vec3f);
|
||||||
void func_80054BE8(s32);
|
void func_80054BE8(s32);
|
||||||
void func_80054D00(s32, s32);
|
void func_80054D00(s32, s32);
|
||||||
|
|
@ -364,28 +363,28 @@ void func_80054E10(s32);
|
||||||
void func_80054EB8(s32);
|
void func_80054EB8(s32);
|
||||||
void func_80054F04(s32);
|
void func_80054F04(s32);
|
||||||
|
|
||||||
void func_800550A4(s32);
|
void render_object_moles(s32);
|
||||||
void func_80055164(s32);
|
void func_80055164(s32);
|
||||||
void func_80055228(s32);
|
void func_80055228(s32);
|
||||||
void func_800552BC(s32);
|
void func_800552BC(s32);
|
||||||
void func_80055380(s32);
|
void render_object_seagulls(s32);
|
||||||
void func_80055458(s32, s32);
|
void draw_crabs(s32, s32);
|
||||||
void func_80055528(s32);
|
void render_object_crabs(s32);
|
||||||
void func_800555BC(s32, s32);
|
void func_800555BC(s32, s32);
|
||||||
void func_8005568C(s32);
|
void render_object_hedgehogs(s32);
|
||||||
void func_800557AC(void);
|
void func_800557AC(void);
|
||||||
void func_800557B4(s32, u32, u32);
|
void func_800557B4(s32, u32, u32);
|
||||||
void func_8005592C(s32);
|
void render_object_train_penguins(s32);
|
||||||
void func_80055AB8(s32, s32);
|
void func_80055AB8(s32, s32);
|
||||||
void func_80055C38(s32);
|
void render_object_chain_chomps(s32);
|
||||||
void func_80055CCC(s32, s32);
|
void func_80055CCC(s32, s32);
|
||||||
void func_80055E68(s32);
|
void render_object_hot_air_balloon(s32);
|
||||||
void func_80055EF4(s32, s32);
|
void func_80055EF4(s32, s32);
|
||||||
void func_80055F48(s32);
|
void func_80055F48(s32);
|
||||||
void func_80055FA0(s32, s32);
|
void func_80055FA0(s32, s32);
|
||||||
|
|
||||||
void func_80056160(s32);
|
void func_80056160(s32);
|
||||||
void func_80056188(s32);
|
void render_object_neon(s32);
|
||||||
void func_800562E4(s32, s32, s32);
|
void func_800562E4(s32, s32, s32);
|
||||||
void func_800563DC(s32, s32, s32);
|
void func_800563DC(s32, s32, s32);
|
||||||
void func_800568A0(s32, s32);
|
void func_800568A0(s32, s32);
|
||||||
|
|
@ -393,7 +392,7 @@ void func_8005669C(s32, s32, s32);
|
||||||
void func_800569F4(s32);
|
void func_800569F4(s32);
|
||||||
void func_80056A40(s32, s32);
|
void func_80056A40(s32, s32);
|
||||||
void func_80056A94(s32);
|
void func_80056A94(s32);
|
||||||
void func_80056AC0(s32);
|
void render_object_bomb_kart(s32);
|
||||||
void func_80056E24(s32, Vec3f);
|
void func_80056E24(s32, Vec3f);
|
||||||
void func_80056FCC(s32);
|
void func_80056FCC(s32);
|
||||||
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
#include "buffers.h"
|
#include "buffers.h"
|
||||||
#include "waypoints.h"
|
#include "waypoints.h"
|
||||||
#include "player_controller.h"
|
#include "player_controller.h"
|
||||||
#include "hud_renderer.h"
|
#include "render_objects.h"
|
||||||
#include "common_textures.h"
|
#include "common_textures.h"
|
||||||
#include "skybox_and_splitscreen.h"
|
#include "skybox_and_splitscreen.h"
|
||||||
#include "spawn_players.h"
|
#include "spawn_players.h"
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,5 +1,5 @@
|
||||||
#ifndef CODE_80071F00_H
|
#ifndef UPDATE_OBJECTS_H
|
||||||
#define CODE_80071F00_H
|
#define UPDATE_OBJECTS_H
|
||||||
|
|
||||||
#include "code_80004740.h"
|
#include "code_80004740.h"
|
||||||
#include "common_structs.h"
|
#include "common_structs.h"
|
||||||
|
|
@ -16,11 +16,11 @@ s32 add_unused_obj_index(s32*, s32*, s32);
|
||||||
void delete_object_wrapper(s32*);
|
void delete_object_wrapper(s32*);
|
||||||
void func_80072120(s32*, s32);
|
void func_80072120(s32*, s32);
|
||||||
void func_80072180(void);
|
void func_80072180(void);
|
||||||
void set_object_flag_unk_054_true(s32, s32);
|
void set_object_flag_status_true(s32, s32);
|
||||||
void set_object_flag_unk_054_false(s32, s32);
|
void set_object_flag_status_false(s32, s32);
|
||||||
void func_80072214(s32, s32);
|
void func_80072214(s32, s32);
|
||||||
s32 is_obj_index_flag_unk_054_active(s32, s32);
|
s32 is_obj_flag_status_active(s32, s32);
|
||||||
s32 is_obj_index_flag_unk_054_inactive(s32, s32);
|
s32 is_obj_index_flag_status_inactive(s32, s32);
|
||||||
void func_800722A4(s32, s32);
|
void func_800722A4(s32, s32);
|
||||||
void func_800722CC(s32, s32);
|
void func_800722CC(s32, s32);
|
||||||
void func_800722F8(s32, s32);
|
void func_800722F8(s32, s32);
|
||||||
|
|
@ -148,33 +148,33 @@ void func_80076958(s32);
|
||||||
void func_800769D8(s32);
|
void func_800769D8(s32);
|
||||||
void func_80076AEC(s32);
|
void func_80076AEC(s32);
|
||||||
void func_80076B7C(void);
|
void func_80076B7C(void);
|
||||||
void update_particle_bowser_castle(void);
|
void update_flame_particle(void);
|
||||||
void func_80076C9C(s32, Vec3f, s16);
|
void init_object_smoke_paticle(s32, Vec3f, s16);
|
||||||
void func_80076D70(Vec3f, f32, s16);
|
void init_smoke_particle(Vec3f, f32, s16);
|
||||||
void func_80076DC4(s32);
|
void func_80076DC4(s32);
|
||||||
void func_80076E14(s32);
|
void func_80076E14(s32);
|
||||||
void func_80076ED8(s32);
|
void func_80076ED8(s32);
|
||||||
void func_80076F2C(void);
|
void func_80076F2C(void);
|
||||||
void func_80076FEC(s32, s32);
|
void init_object_smoke_particle(s32, s32);
|
||||||
void func_800770F0(s32);
|
void init_smoke_particles(s32);
|
||||||
void func_800773D8(f32*, s32);
|
void func_800773D8(f32*, s32);
|
||||||
void func_80077428(s32);
|
void func_80077428(s32);
|
||||||
void func_80077450(s32);
|
void func_80077450(s32);
|
||||||
void func_80077584(s32);
|
void func_80077584(s32);
|
||||||
void func_80077640(void);
|
void func_80077640(void);
|
||||||
void init_leaf_particle(s32, Vec3f, s32);
|
void init_object_leaf_particle(s32, Vec3f, s32);
|
||||||
s32 func_80077A54(Vec3f, s32);
|
s32 init_leaf_particle(Vec3f, s32);
|
||||||
void func_80077AB0(Vec3f, s32);
|
void spawn_leaf(Vec3f, s32);
|
||||||
void func_80077B14(s32);
|
void func_80077B14(s32);
|
||||||
void func_80077B3C(s32);
|
void func_80077B3C(s32);
|
||||||
void func_80077BCC(s32);
|
void func_80077BCC(s32);
|
||||||
void func_80077C9C(void);
|
void update_leaf(void);
|
||||||
void func_80077E20(s32);
|
void func_80077E20(s32);
|
||||||
void func_80078220(s32);
|
void func_80078220(s32);
|
||||||
void func_80078288(s32);
|
void func_80078288(s32);
|
||||||
void func_800786EC(s32);
|
void func_800786EC(s32);
|
||||||
void func_80078790(void);
|
void func_80078790(void);
|
||||||
void func_80078838(void);
|
void update_snowflakes(void);
|
||||||
void func_800788F8(s32, u16, Camera*);
|
void func_800788F8(s32, u16, Camera*);
|
||||||
void func_800789AC(s32, Camera*, Vec4s*);
|
void func_800789AC(s32, Camera*, Vec4s*);
|
||||||
void func_80078C68(void);
|
void func_80078C68(void);
|
||||||
|
|
@ -195,7 +195,7 @@ void func_8007A778(s32, Player*, Camera*);
|
||||||
void func_8007A884(void);
|
void func_8007A884(void);
|
||||||
void func_8007A88C(s32);
|
void func_8007A88C(s32);
|
||||||
void func_8007A910(s32);
|
void func_8007A910(s32);
|
||||||
void update_obj_laikitu(s32);
|
void update_object_lakitu(s32);
|
||||||
void func_8007AA44(s32);
|
void func_8007AA44(s32);
|
||||||
void func_8007ABFC(s32, s32);
|
void func_8007ABFC(s32, s32);
|
||||||
void consume_item(s32);
|
void consume_item(s32);
|
||||||
|
|
@ -209,13 +209,13 @@ void func_8007B34C(s32);
|
||||||
void func_8007BB9C(s32);
|
void func_8007BB9C(s32);
|
||||||
void func_8007BBBC(s32);
|
void func_8007BBBC(s32);
|
||||||
void func_8007BD04(s32);
|
void func_8007BD04(s32);
|
||||||
void func_8007BDA8(void);
|
void update_cheep_cheep_race(void);
|
||||||
void init_var_cheep_cheep(s32);
|
void init_var_cheep_cheep(s32);
|
||||||
void func_8007BEC8(s32);
|
void func_8007BEC8(s32);
|
||||||
void func_8007BFB0(s32);
|
void func_8007BFB0(s32);
|
||||||
void func_8007C280(void);
|
void update_cheep_cheep_ending(void);
|
||||||
void func_8007C2F8(s32);
|
void update_cheep_cheep(s32);
|
||||||
void func_8007C340(void);
|
void wrapper_update_boos(void);
|
||||||
void func_8007C360(s32, Camera*);
|
void func_8007C360(s32, Camera*);
|
||||||
void func_8007C420(s32, Player*, Camera*);
|
void func_8007C420(s32, Player*, Camera*);
|
||||||
void func_8007C4A4(s32);
|
void func_8007C4A4(s32);
|
||||||
|
|
@ -227,7 +227,7 @@ void func_8007C7B4(s32, s32);
|
||||||
void func_8007C91C(s32);
|
void func_8007C91C(s32);
|
||||||
s32 func_8007C9F8(void);
|
s32 func_8007C9F8(void);
|
||||||
void func_8007CA70(void);
|
void func_8007CA70(void);
|
||||||
void func_8007CC00(void);
|
void update_boos(void);
|
||||||
void func_8007CE0C(s32);
|
void func_8007CE0C(s32);
|
||||||
void func_8007CEDC(s32);
|
void func_8007CEDC(s32);
|
||||||
void func_8007D070(void);
|
void func_8007D070(void);
|
||||||
|
|
@ -241,11 +241,11 @@ void func_8007D8D4(s32, s32);
|
||||||
void func_8007DA4C(s32);
|
void func_8007DA4C(s32);
|
||||||
void func_8007DA74(s32);
|
void func_8007DA74(s32);
|
||||||
void func_8007DAF8(s32, s32);
|
void func_8007DAF8(s32, s32);
|
||||||
void func_8007DB44(void);
|
void update_bat(void);
|
||||||
void func_8007DDC0(s32);
|
void func_8007DDC0(s32);
|
||||||
void init_bb_trash_bin(s32);
|
void init_bb_trash_bin(s32);
|
||||||
void func_8007E00C(s32);
|
void func_8007E00C(s32);
|
||||||
void func_8007E1AC(void);
|
void update_trash_bin(void);
|
||||||
void func_8007E1F4(s32);
|
void func_8007E1F4(s32);
|
||||||
void func_8007E358(s32);
|
void func_8007E358(s32);
|
||||||
void func_8007E3EC(s32);
|
void func_8007E3EC(s32);
|
||||||
|
|
@ -297,16 +297,16 @@ void func_80081AFC(s32, s32);
|
||||||
void func_80081D34(s32);
|
void func_80081D34(s32);
|
||||||
void func_80081FF4(s32, s32);
|
void func_80081FF4(s32, s32);
|
||||||
void func_800821AC(s32, s32);
|
void func_800821AC(s32, s32);
|
||||||
void func_800821FC(void);
|
void update_moles(void);
|
||||||
void func_8008241C(s32, s32);
|
void func_8008241C(s32, s32);
|
||||||
void func_80082714(s32, s32);
|
void func_80082714(s32, s32);
|
||||||
void func_8008275C(s32);
|
void func_8008275C(s32);
|
||||||
void func_80082870(void);
|
void update_seagulls(void);
|
||||||
void init_ktb_crab(s32);
|
void init_ktb_crab(s32);
|
||||||
void func_80082B34(s32, s32);
|
void func_80082B34(s32, s32);
|
||||||
void func_80082C30(s32);
|
void func_80082C30(s32);
|
||||||
void func_80082E18(s32);
|
void func_80082E18(s32);
|
||||||
void func_80082E5C(void);
|
void update_crabs(void);
|
||||||
void func_80082F1C(s32, s32);
|
void func_80082F1C(s32, s32);
|
||||||
void func_80083018(s32, s32);
|
void func_80083018(s32, s32);
|
||||||
void func_80083060(s32);
|
void func_80083060(s32);
|
||||||
|
|
@ -315,7 +315,7 @@ void func_8008311C(s32, s32);
|
||||||
void func_80083248(s32);
|
void func_80083248(s32);
|
||||||
void func_800833D0(s32, s32);
|
void func_800833D0(s32, s32);
|
||||||
void func_80083474(s32);
|
void func_80083474(s32);
|
||||||
void func_800834B8(void);
|
void update_hedgehogs(void);
|
||||||
void func_80083538(s32, Vec3f, s32, s32);
|
void func_80083538(s32, Vec3f, s32, s32);
|
||||||
void func_800836F0(Vec3f);
|
void func_800836F0(Vec3f);
|
||||||
void func_8008379C(s32);
|
void func_8008379C(s32);
|
||||||
|
|
@ -325,7 +325,7 @@ void func_80083A94(s32);
|
||||||
void func_80083B0C(s32);
|
void func_80083B0C(s32);
|
||||||
void func_80083BE4(s32);
|
void func_80083BE4(s32);
|
||||||
void func_80083C04(s32);
|
void func_80083C04(s32);
|
||||||
void func_80083D60(void);
|
void update_snowmen(void);
|
||||||
void func_80083F18(s32);
|
void func_80083F18(s32);
|
||||||
void func_80083FD0(s32, s32, s32);
|
void func_80083FD0(s32, s32, s32);
|
||||||
void func_8008421C(s32, s32);
|
void func_8008421C(s32, s32);
|
||||||
|
|
@ -339,13 +339,13 @@ void func_80085024(void);
|
||||||
void func_8008502C(s32, s32);
|
void func_8008502C(s32, s32);
|
||||||
void func_80085080(s32);
|
void func_80085080(s32);
|
||||||
void func_800850B0(s32, s32);
|
void func_800850B0(s32, s32);
|
||||||
void func_800853DC(s32);
|
void init_hot_air_balloon(s32);
|
||||||
void func_80085534(s32);
|
void func_80085534(s32);
|
||||||
void func_80085768(s32);
|
void func_80085768(s32);
|
||||||
void func_800857C0(void);
|
void update_hot_air_balloon(void);
|
||||||
void func_80085878(s32, s32);
|
void func_80085878(s32, s32);
|
||||||
void func_800859C8(s32, s32);
|
void func_800859C8(s32, s32);
|
||||||
void func_80085AA8(void);
|
void update_chain_chomps(void);
|
||||||
void func_80085BB4(s32);
|
void func_80085BB4(s32);
|
||||||
void init_obj_neon_mushroom(s32);
|
void init_obj_neon_mushroom(s32);
|
||||||
void func_80085CA0(s32);
|
void func_80085CA0(s32);
|
||||||
|
|
@ -355,7 +355,7 @@ void func_80085EF8(s32);
|
||||||
void func_80085F74(s32);
|
void func_80085F74(s32);
|
||||||
void func_80086074(s32, s32);
|
void func_80086074(s32, s32);
|
||||||
void func_80086110(s32, s32);
|
void func_80086110(s32, s32);
|
||||||
void update_obj_neon(s32, s32);
|
void update_object_neon(s32, s32);
|
||||||
void update_neon(void);
|
void update_neon(void);
|
||||||
void func_8008629C(s32, s32);
|
void func_8008629C(s32, s32);
|
||||||
void func_80086424(s32);
|
void func_80086424(s32);
|
||||||
|
|
@ -376,7 +376,7 @@ extern Vtx D_800E4470[];
|
||||||
extern Vtx D_800E44B0[];
|
extern Vtx D_800E44B0[];
|
||||||
extern u8 *gItemWindowTLUTs[];
|
extern u8 *gItemWindowTLUTs[];
|
||||||
extern u8 *gItemWindowTextures[];
|
extern u8 *gItemWindowTextures[];
|
||||||
extern u8 *D_800E4570[];
|
extern u8 *gHudLapTextures[];
|
||||||
extern u8 *gPortraitTLUTs[];
|
extern u8 *gPortraitTLUTs[];
|
||||||
extern u8 *gPortraitTextures[];
|
extern u8 *gPortraitTextures[];
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -66,7 +66,7 @@ segments:
|
||||||
- [0x43D90, c, code_800431B0]
|
- [0x43D90, c, code_800431B0]
|
||||||
- [0x58840, c, code_80057C60]
|
- [0x58840, c, code_80057C60]
|
||||||
- [0x6F5A0, c, code_8006E9C0]
|
- [0x6F5A0, c, code_8006E9C0]
|
||||||
- [0x72AE0, c, code_80071F00]
|
- [0x72AE0, c, update_objects]
|
||||||
- [0x87A50, c, code_80086E70]
|
- [0x87A50, c, code_80086E70]
|
||||||
- [0x8CDB0, c, effects]
|
- [0x8CDB0, c, effects]
|
||||||
- [0x920A0, c, code_800914A0]
|
- [0x920A0, c, code_800914A0]
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@ segments:
|
||||||
- [0x43DB0, c, code_800431B0]
|
- [0x43DB0, c, code_800431B0]
|
||||||
- [0x58860, c, code_80057C60]
|
- [0x58860, c, code_80057C60]
|
||||||
- [0x6F5C0, c, code_8006E9C0]
|
- [0x6F5C0, c, code_8006E9C0]
|
||||||
- [0x72B00, c, code_80071F00]
|
- [0x72B00, c, update_objects]
|
||||||
- [0x87A70, c, code_80086E70]
|
- [0x87A70, c, code_80086E70]
|
||||||
- [0x8CDD0, c, effects]
|
- [0x8CDD0, c, effects]
|
||||||
- [0x920C0, c, code_800914A0]
|
- [0x920C0, c, code_800914A0]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue