diff --git a/asm/non_matchings/code_80005FD0/func_80009B60.s b/asm/non_matchings/code_80005FD0/func_80009B60.s index f4c9b7d09..33b3c51e1 100644 --- a/asm/non_matchings/code_80005FD0/func_80009B60.s +++ b/asm/non_matchings/code_80005FD0/func_80009B60.s @@ -652,7 +652,7 @@ glabel func_80009B60 .L8000A488: /* 00B088 8000A488 00E02825 */ move $a1, $a3 /* 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 /* 00B098 8000A498 8FA60040 */ lw $a2, 0x40($sp) /* 00B09C 8000A49C 8FA8003C */ lw $t0, 0x3c($sp) @@ -718,7 +718,7 @@ glabel func_80009B60 /* 00B16C 8000A56C 1040008A */ beqz $v0, .L8000A798 /* 00B170 8000A570 8FAE0040 */ lw $t6, 0x40($sp) /* 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 /* 00B180 8000A580 8FAC0034 */ lw $t4, 0x34($sp) /* 00B184 8000A584 3C188016 */ lui $t8, %hi(D_80163300) # $t8, 0x8016 @@ -1172,7 +1172,7 @@ glabel func_80009B60 /* 00B7F8 8000ABF8 C4A80008 */ lwc1 $f8, 8($a1) /* 00B7FC 8000ABFC AFA80020 */ sw $t0, 0x20($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) /* 00B80C 8000AC0C 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 /* 00B810 8000AC10 44810000 */ mtc1 $at, $f0 diff --git a/asm/non_matchings/code_8006E9C0/func_8006FA94.s b/asm/non_matchings/code_8006E9C0/func_8006FA94.s index 64b860318..a4e9acbcf 100644 --- a/asm/non_matchings/code_8006E9C0/func_8006FA94.s +++ b/asm/non_matchings/code_8006E9C0/func_8006FA94.s @@ -324,10 +324,10 @@ glabel func_8006FA94 /* 070B5C 8006FF5C 3C198019 */ lui $t9, %hi(D_8018D214) # $t9, 0x8019 /* 070B60 8006FF60 AC38D214 */ sw $t8, %lo(D_8018D214)($at) /* 070B64 8006FF64 8F39D214 */ lw $t9, %lo(D_8018D214)($t9) -/* 070B68 8006FF68 3C018016 */ lui $at, %hi(D_801657B0) # $at, 0x8016 -/* 070B6C 8006FF6C 3C0E8016 */ lui $t6, %hi(D_801657B0) # $t6, 0x8016 -/* 070B70 8006FF70 A03957B0 */ sb $t9, %lo(D_801657B0)($at) -/* 070B74 8006FF74 81CE57B0 */ lb $t6, %lo(D_801657B0)($t6) +/* 070B68 8006FF68 3C018016 */ lui $at, %hi(gHUDDisable) # $at, 0x8016 +/* 070B6C 8006FF6C 3C0E8016 */ lui $t6, %hi(gHUDDisable) # $t6, 0x8016 +/* 070B70 8006FF70 A03957B0 */ sb $t9, %lo(gHUDDisable)($at) +/* 070B74 8006FF74 81CE57B0 */ lb $t6, %lo(gHUDDisable)($t6) /* 070B78 8006FF78 3C018016 */ lui $at, %hi(D_801657AE) # $at, 0x8016 /* 070B7C 8006FF7C 3C0F8019 */ lui $t7, %hi(D_8018D2F8) # $t7, 0x8019 /* 070B80 8006FF80 A02E57AE */ sb $t6, %lo(D_801657AE)($at) diff --git a/asm/non_matchings/code_80091750/func_8009F5E0.s b/asm/non_matchings/code_80091750/func_8009F5E0.s index e9df46a51..9ac5ff934 100644 --- a/asm/non_matchings/code_80091750/func_8009F5E0.s +++ b/asm/non_matchings/code_80091750/func_8009F5E0.s @@ -1331,7 +1331,7 @@ glabel L800A073C /* 0A1344 800A0744 10000060 */ b .L800A08C8 /* 0A1348 800A0748 8FBF0034 */ lw $ra, 0x34($sp) glabel L800A074C -/* 0A134C 800A074C 0C0292CE */ jal func_800A4B38 +/* 0A134C 800A074C 0C0292CE */ jal render_pause_menu /* 0A1350 800A0750 02202025 */ move $a0, $s1 /* 0A1354 800A0754 1000005C */ b .L800A08C8 /* 0A1358 800A0758 8FBF0034 */ lw $ra, 0x34($sp) diff --git a/asm/non_matchings/code_80091750/func_800A1FB0.s b/asm/non_matchings/code_80091750/func_800A1FB0.s index 316bd067b..77e8d38a5 100644 --- a/asm/non_matchings/code_80091750/func_800A1FB0.s +++ b/asm/non_matchings/code_80091750/func_800A1FB0.s @@ -103,7 +103,7 @@ glabel L800A2054 /* 0A2C78 800A2078 24130004 */ li $s3, 4 .L800A207C: /* 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 /* 0A2C88 800A2088 24040032 */ li $a0, 50 /* 0A2C8C 800A208C 02002825 */ move $a1, $s0 @@ -173,7 +173,7 @@ glabel L800A2118 /* 0A2D80 800A2180 2484FFE2 */ addiu $a0, $a0, -0x1e .L800A2184: /* 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 /* 0A2D90 800A2190 24040084 */ li $a0, 132 /* 0A2D94 800A2194 02002825 */ move $a1, $s0 @@ -408,7 +408,7 @@ glabel L800A23DC /* 0A30E4 800A24E4 8339EDEC */ lb $t9, %lo(D_8018EDEC)($t9) /* 0A30E8 800A24E8 02002825 */ move $a1, $s0 /* 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 /* 0A30F8 800A24F8 3C088019 */ lui $t0, %hi(D_8018EDEC) # $t0, 0x8019 /* 0A30FC 800A24FC 8108EDEC */ lb $t0, %lo(D_8018EDEC)($t0) @@ -735,7 +735,7 @@ glabel L800A26A8 /* 0A3584 800A2984 A7B100E0 */ sh $s1, 0xe0($sp) /* 0A3588 800A2988 A7AF00E2 */ sh $t7, 0xe2($sp) .L800A298C: -/* 0A358C 800A298C 0C024870 */ jal func_800921C0 +/* 0A358C 800A298C 0C024870 */ jal text_rainbow_effect /* 0A3590 800A2990 24060003 */ li $a2, 3 /* 0A3594 800A2994 02202025 */ move $a0, $s1 /* 0A3598 800A2998 240500D2 */ li $a1, 210 diff --git a/asm/non_matchings/code_80091750/func_800A5738.s b/asm/non_matchings/code_80091750/func_800A5738.s index 8bcf2b4ef..098b370bc 100644 --- a/asm/non_matchings/code_80091750/func_800A5738.s +++ b/asm/non_matchings/code_80091750/func_800A5738.s @@ -85,8 +85,8 @@ glabel func_800A5738 /* 0A6374 800A5774 54200228 */ bnel $at, $zero, .L800A6018 /* 0A6378 800A5778 8FBF0044 */ lw $ra, 0x44($sp) /* 0A637C 800A577C 8DEFC54C */ lw $t7, %lo(gGlobalTimer)($t7) -/* 0A6380 800A5780 3C11800E */ lui $s1, %hi(D_800E775C) # $s1, 0x800e -/* 0A6384 800A5784 2631775C */ addiu $s1, %lo(D_800E775C) # addiu $s1, $s1, 0x775c +/* 0A6380 800A5780 3C11800E */ lui $s1, %hi(gTextPauseButton) # $s1, 0x800e +/* 0A6384 800A5784 2631775C */ addiu $s1, %lo(gTextPauseButton) # addiu $s1, $s1, 0x775c /* 0A6388 800A5788 05E10003 */ bgez $t7, .L800A5798 /* 0A638C 800A578C 000FC103 */ sra $t8, $t7, 4 /* 0A6390 800A5790 25E1000F */ addiu $at, $t7, 0xf @@ -327,9 +327,9 @@ glabel L800A5940 /* 0A6724 800A5B24 0C024E7F */ jal text_draw /* 0A6728 800A5B28 E7B40014 */ swc1 $f20, 0x14($sp) /* 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 -/* 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 /* 0A6740 800A5B40 00008025 */ move $s0, $zero /* 0A6744 800A5B44 24120006 */ li $s2, 6 @@ -338,7 +338,7 @@ glabel L800A5940 /* 0A674C 800A5B4C AFA20050 */ sw $v0, 0x50($sp) /* 0A6750 800A5B50 02202825 */ move $a1, $s1 /* 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 /* 0A6760 800A5B60 3C0E800F */ lui $t6, %hi(D_800E8538 + 2) # $t6, 0x800f /* 0A6764 800A5B64 8FA20050 */ lw $v0, 0x50($sp) @@ -425,7 +425,7 @@ glabel L800A5C18 /* 0A6894 800A5C94 8E640004 */ lw $a0, 4($s3) /* 0A6898 800A5C98 02202825 */ move $a1, $s1 /* 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 /* 0A68A8 800A5CA8 26240001 */ addiu $a0, $s1, 1 /* 0A68AC 800A5CAC AFA40054 */ sw $a0, 0x54($sp) @@ -556,7 +556,7 @@ glabel L800A5E00 /* 0A6A7C 800A5E7C AFA20050 */ sw $v0, 0x50($sp) /* 0A6A80 800A5E80 02202825 */ move $a1, $s1 /* 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 /* 0A6A90 800A5E90 8FA20050 */ lw $v0, 0x50($sp) /* 0A6A94 800A5E94 8E6F000C */ lw $t7, 0xc($s3) diff --git a/asm/non_matchings/hud_renderer/func_8004C6FC.s b/asm/non_matchings/render_objects/func_8004C6FC.s similarity index 98% rename from asm/non_matchings/hud_renderer/func_8004C6FC.s rename to asm/non_matchings/render_objects/func_8004C6FC.s index 9915b3988..e26f8868e 100644 --- a/asm/non_matchings/hud_renderer/func_8004C6FC.s +++ b/asm/non_matchings/render_objects/func_8004C6FC.s @@ -74,7 +74,7 @@ glabel func_8004C6FC /* 04D410 8004C810 02003025 */ move $a2, $s0 /* 04D414 8004C814 00008812 */ mflo $s1 /* 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 /* 04D424 8004C824 240E0001 */ li $t6, 1 /* 04D428 8004C828 AFAE0010 */ sw $t6, 0x10($sp) diff --git a/asm/non_matchings/hud_renderer/func_8004D654.s b/asm/non_matchings/render_objects/func_8004D654.s similarity index 100% rename from asm/non_matchings/hud_renderer/func_8004D654.s rename to asm/non_matchings/render_objects/func_8004D654.s diff --git a/asm/non_matchings/hud_renderer/func_8004F168.s b/asm/non_matchings/render_objects/func_8004F168.s similarity index 99% rename from asm/non_matchings/hud_renderer/func_8004F168.s rename to asm/non_matchings/render_objects/func_8004F168.s index 503ba1c7a..9e763f137 100644 --- a/asm/non_matchings/hud_renderer/func_8004F168.s +++ b/asm/non_matchings/render_objects/func_8004F168.s @@ -157,7 +157,7 @@ glabel func_8004F168 /* 04FFC4 8004F3C4 8FBF002C */ lw $ra, 0x2c($sp) .L8004F3C8: /* 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) .L8004F3D4: /* 04FFD4 8004F3D4 8FBF002C */ lw $ra, 0x2c($sp) diff --git a/asm/non_matchings/hud_renderer/func_80050E34.s b/asm/non_matchings/render_objects/func_80050E34.s similarity index 100% rename from asm/non_matchings/hud_renderer/func_80050E34.s rename to asm/non_matchings/render_objects/func_80050E34.s diff --git a/asm/non_matchings/code_80071F00/func_800789AC.s b/asm/non_matchings/update_objects/func_800789AC.s similarity index 100% rename from asm/non_matchings/code_80071F00/func_800789AC.s rename to asm/non_matchings/update_objects/func_800789AC.s diff --git a/asm/non_matchings/code_80071F00/func_8007B040.s b/asm/non_matchings/update_objects/func_8007B040.s similarity index 100% rename from asm/non_matchings/code_80071F00/func_8007B040.s rename to asm/non_matchings/update_objects/func_8007B040.s diff --git a/asm/non_matchings/code_80071F00/func_8007C360.s b/asm/non_matchings/update_objects/func_8007C360.s similarity index 94% rename from asm/non_matchings/code_80071F00/func_8007C360.s rename to asm/non_matchings/update_objects/func_8007C360.s index b792c6fa0..abed9a642 100644 --- a/asm/non_matchings/code_80071F00/func_8007C360.s +++ b/asm/non_matchings/update_objects/func_8007C360.s @@ -30,7 +30,7 @@ glabel func_8007C360 /* 07CFCC 8007C3CC 01403825 */ move $a3, $t2 /* 07CFD0 8007C3D0 24050080 */ li $a1, 128 /* 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) /* 07CFE0 8007C3E0 8FA60020 */ lw $a2, 0x20($sp) /* 07CFE4 8007C3E4 8FA7001C */ lw $a3, 0x1c($sp) @@ -38,7 +38,7 @@ glabel func_8007C360 /* 07CFEC 8007C3EC A0C700D2 */ sb $a3, 0xd2($a2) .L8007C3F0: /* 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) /* 07CFFC 8007C3FC 8FA7001C */ lw $a3, 0x1c($sp) /* 07D000 8007C400 8FA60020 */ lw $a2, 0x20($sp) diff --git a/asm/non_matchings/code_80071F00/func_8007C4A4.s b/asm/non_matchings/update_objects/func_8007C4A4.s similarity index 94% rename from asm/non_matchings/code_80071F00/func_8007C4A4.s rename to asm/non_matchings/update_objects/func_8007C4A4.s index a305f3d8e..e652742aa 100644 --- a/asm/non_matchings/code_80071F00/func_8007C4A4.s +++ b/asm/non_matchings/update_objects/func_8007C4A4.s @@ -24,7 +24,7 @@ glabel func_8007C4A4 /* 07D0F8 8007C4F8 01003025 */ move $a2, $t0 /* 07D0FC 8007C4FC 24050080 */ li $a1, 128 /* 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) /* 07D10C 8007C50C 8FA30020 */ lw $v1, 0x20($sp) /* 07D110 8007C510 8FA6001C */ lw $a2, 0x1c($sp) @@ -33,7 +33,7 @@ glabel func_8007C4A4 .L8007C51C: /* 07D11C 8007C51C 24050080 */ li $a1, 128 /* 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) /* 07D12C 8007C52C 8FA6001C */ lw $a2, 0x1c($sp) /* 07D130 8007C530 8FA30020 */ lw $v1, 0x20($sp) diff --git a/asm/non_matchings/code_80071F00/func_80080E8C.s b/asm/non_matchings/update_objects/func_80080E8C.s similarity index 100% rename from asm/non_matchings/code_80071F00/func_80080E8C.s rename to asm/non_matchings/update_objects/func_80080E8C.s diff --git a/asm/non_matchings/code_80071F00/func_80081FF4.s b/asm/non_matchings/update_objects/func_80081FF4.s similarity index 100% rename from asm/non_matchings/code_80071F00/func_80081FF4.s rename to asm/non_matchings/update_objects/func_80081FF4.s diff --git a/asm/non_matchings/code_80071F00/func_80082F1C.s b/asm/non_matchings/update_objects/func_80082F1C.s similarity index 98% rename from asm/non_matchings/code_80071F00/func_80082F1C.s rename to asm/non_matchings/update_objects/func_80082F1C.s index 2ca4daae5..c1ca1f90e 100644 --- a/asm/non_matchings/code_80071F00/func_80082F1C.s +++ b/asm/non_matchings/update_objects/func_80082F1C.s @@ -56,7 +56,7 @@ glabel func_80082F1C /* 083BD8 80082FD8 44050000 */ mfc1 $a1, $f0 /* 083BDC 80082FDC 44060000 */ mfc1 $a2, $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 /* 083BEC 80082FEC 8FA20024 */ lw $v0, 0x24($sp) /* 083BF0 80082FF0 02002025 */ move $a0, $s0 diff --git a/asm/non_matchings/code_80071F00/func_80086074.s b/asm/non_matchings/update_objects/func_80086074.s similarity index 100% rename from asm/non_matchings/code_80071F00/func_80086074.s rename to asm/non_matchings/update_objects/func_80086074.s diff --git a/ctx_includes.c b/ctx_includes.c index ab94fe4a2..2af785461 100644 --- a/ctx_includes.c +++ b/ctx_includes.c @@ -70,7 +70,7 @@ #include "src/code_8003DC40.h" #include "src/code_80057C60.h" #include "src/code_8006E9C0.h" -#include "src/code_80071F00.h" +#include "src/update_objects.h" #include "src/code_80086E70.h" #include "src/code_80091440.h" #include "src/code_80091750.h" @@ -89,7 +89,7 @@ #include "src/ending/code_80281C40.h" #include "src/ending/credits.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/main.h" #include "src/math_util_2.h" diff --git a/docs/actors/actors.md b/docs/actors/actors.md index 31dbd9c71..b60a46b0f 100644 --- a/docs/actors/actors.md +++ b/docs/actors/actors.md @@ -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. -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: @ref func_800C98B8 diff --git a/docs/basics/controlflow.md b/docs/basics/controlflow.md index 4fb5247bf..d53d46357 100644 --- a/docs/basics/controlflow.md +++ b/docs/basics/controlflow.md @@ -89,7 +89,7 @@ Object related code resides in |file|desc| |---|---| |[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| 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 |file|desc| |---|---| -|[hud_renderer](@ref hud_renderer.c)|ItemWindows| +|[render_objects](@ref render_objects.c)|ItemWindows| ## Engine |file|desc| diff --git a/include/actor_types.h b/include/actor_types.h index ccf405c72..1579a5300 100644 --- a/include/actor_types.h +++ b/include/actor_types.h @@ -9,70 +9,71 @@ //#pragma GCC diagnostic ignored "-Wmicrosoft-extension" //#pragma GCC diagnostic ignored "-Wmissing-member-name-in-structure-/-union" -/* -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 -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 -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. - -Specialized structs are customizable so long as the following member specifications are met: - -In general: - 0x00 -> s16 type - 0x02 -> s16 flags - 0x30 -> Collision unk30 - -If player can collide with the actor: - 0x0C -> f32 boundingBoxSize - -If the actor makes sound (necessary for doppler/volume stuff): - 0x18 -> Vec3f pos - 0x24 -> Vec3f velocity - -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. -*/ - -#define ACTOR_TREE_MARIO_RACEWAY 0x02 -#define ACTOR_TREE_YOSHI_VALLEY 0x03 -#define ACTOR_TREE_ROYAL_RACEWAY 0x04 -#define ACTOR_FALLING_ROCK 0x05 -#define ACTOR_BANANA 0x06 -#define ACTOR_GREEN_SHELL 0x07 -#define ACTOR_RED_SHELL 0x08 -#define ACTOR_YOSHI_VALLEY_EGG 0x09 -#define ACTOR_PIRANHA_PLANT 0x0A -#define ACTOR_ITEM_BOX 0x0C -#define ACTOR_FAKE_ITEM_BOX 0x0D -#define ACTOR_BANANA_BUNCH 0x0E -#define ACTOR_TRAIN_ENGINE 0x0F -#define ACTOR_TRAIN_TENDER 0x10 -#define ACTOR_TRAIN_PASSENGER_CAR 0x11 -#define ACTOR_COW 0x12 -#define ACTOR_TREE_MOO_MOO_FARM 0x13 -#define ACTOR_TRIPLE_GREEN_SHELL 0x15 -#define ACTOR_TRIPLE_RED_SHELL 0x16 -#define ACTOR_MARIO_RACEWAY_SIGN 0x17 -#define ACTOR_PALM_TREE 0x19 -#define ACTOR_TREE_BOWSERS_CASTLE 0x1C -#define ACTOR_TREE_FRAPPE_SNOWLAND 0x1D -#define ACTOR_CACTUS1_KALAMARI_DESERT 0x1E -#define ACTOR_CACTUS2_KALAMARI_DESERT 0x1F -#define ACTOR_CACTUS3_KALAMARI_DESERT 0x20 -#define ACTOR_BUSH_BOWSERS_CASTLE 0x21 -#define ACTOR_WARIO_STADIUM_SIGN 0x23 -#define ACTOR_BOX_TRUCK 0x25 -#define ACTOR_PADDLE_WHEEL_BOAT 0x26 -#define ACTOR_RAILROAD_CROSSING 0x27 -#define ACTOR_SCHOOL_BUS 0x28 -#define ACTOR_TANKER_TRUCK 0x29 -#define ACTOR_BLUE_SPINY_SHELL 0x2A -#define ACTOR_HOT_AIR_BALLOON_ITEM_BOX 0x2B -#define ACTOR_CAR 0x2C -#define ACTOR_KIWANO_FRUIT 0x2D +/** + * 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 + * 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 + * 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. + * + * Specialized structs are customizable so long as the following member specifications are met: + * + * In general: + * 0x00 -> s16 type + * 0x02 -> s16 flags + * 0x30 -> Collision unk30 + * + * If player can collide with the actor: + * 0x0C -> f32 boundingBoxSize + * + * If the actor makes sound (necessary for doppler/volume stuff): + * 0x18 -> Vec3f pos + * 0x24 -> Vec3f velocity + * + * 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. + */ +enum ActorType { + ACTOR_TREE_MARIO_RACEWAY = 0x02, + ACTOR_TREE_YOSHI_VALLEY, + ACTOR_TREE_ROYAL_RACEWAY, + ACTOR_FALLING_ROCK, + ACTOR_BANANA, + ACTOR_GREEN_SHELL, + ACTOR_RED_SHELL, + ACTOR_YOSHI_VALLEY_EGG, + ACTOR_PIRANHA_PLANT, + ACTOR_ITEM_BOX = 0x0C, + ACTOR_FAKE_ITEM_BOX, + ACTOR_BANANA_BUNCH, + ACTOR_TRAIN_ENGINE, + ACTOR_TRAIN_TENDER, + ACTOR_TRAIN_PASSENGER_CAR, + ACTOR_COW, + ACTOR_TREE_MOO_MOO_FARM, + ACTOR_TRIPLE_GREEN_SHELL = 0x15, + ACTOR_TRIPLE_RED_SHELL, + ACTOR_MARIO_SIGN, + ACTOR_PALM_TREE = 0x19, + ACTOR_TREE_BOWSERS_CASTLE = 0x1C, + ACTOR_TREE_FRAPPE_SNOWLAND, + ACTOR_CACTUS1_KALAMARI_DESERT, + ACTOR_CACTUS2_KALAMARI_DESERT, + ACTOR_CACTUS3_KALAMARI_DESERT, + ACTOR_BUSH_BOWSERS_CASTLE, + ACTOR_WARIO_SIGN = 0x23, + ACTOR_BOX_TRUCK = 0x25, + ACTOR_PADDLE_BOAT, + ACTOR_RAILROAD_CROSSING, + ACTOR_SCHOOL_BUS, + ACTOR_TANKER_TRUCK, + ACTOR_BLUE_SPINY_SHELL, + ACTOR_HOT_AIR_BALLOON_ITEM_BOX, + ACTOR_CAR, + ACTOR_KIWANO_FRUIT, +}; #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 // Actor shell->state (green, red and blue) -#define HELD_SHELL 0 // Single shell that has not been dropped. (probably holding Z). -#define RELEASED_SHELL 1 // This is the short window where single shells aren't being held or launched. -#define MOVING_SHELL 2 // Moving towards its target after being shot. -#define RED_SHELL_LOCK_ON 3 // Red shell is targeting. -#define TRIPLE_GREEN_SHELL 4 // Loses triple shell state when shot. -#define GREEN_SHELL_HIT_A_RACER 5 // A racer has been hit by a green shell. -#define TRIPLE_RED_SHELL 6 // Loses triple shell state when shot. -#define DESTROYED_SHELL 7 // Collision with the shell. -#define BLUE_SHELL_LOCK_ON 8 // A blue shell has found a target and is hastily approaching it. -#define BLUE_SHELL_TARGET_ELIMINATED 9 // Mission completed, well done boss. +enum ShellState { + HELD_SHELL, // Single shell that has not been dropped. (probably holding Z). + RELEASED_SHELL, // This is the short window where single shells aren't being held or launched. + MOVING_SHELL, // Moving towards its target after being shot. + RED_SHELL_LOCK_ON, // Red shell is targeting. + TRIPLE_GREEN_SHELL, // Loses triple shell state when shot. + GREEN_SHELL_HIT_A_RACER, // A racer has been hit by a green shell. + TRIPLE_RED_SHELL, // Loses triple shell state when shot. + DESTROYED_SHELL, // Collision with the shell. + 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 -#define HELD_BANANA 0 // Single banana that has not been dropped. -#define DROPPED_BANANA 1 // A banana in the state of being dropped on the ground (it only last for a few frames). -#define FIRST_BANANA_BUNCH_BANANA 2 // The first banana of the banana bunch -#define BANANA_BUNCH_BANANA 3 // Every banana of the banana bunch except the first one. -#define BANANA_ON_GROUND 4 // A banana sitting on the ground. -#define DESTROYED_BANANA 5 // Collision with the banana. +enum BananaState { + HELD_BANANA, // Single banana that has not been dropped. + DROPPED_BANANA, // A banana in the state of being dropped on the ground (it only last for a few frames). + FIRST_BANANA_BUNCH_BANANA, // The first banana of the banana bunch + BANANA_BUNCH_BANANA, // Every banana of the banana bunch except the first one. + BANANA_ON_GROUND, // A banana sitting on the ground. + DESTROYED_BANANA, // Collision with the banana. +}; + // Actor fakeItemBox->state #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. diff --git a/include/bomb_kart.h b/include/bomb_kart.h index df8fa073f..9987099af 100644 --- a/include/bomb_kart.h +++ b/include/bomb_kart.h @@ -52,7 +52,7 @@ typedef struct { } BombKart; // size = 0x54 //! 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 Collision D_80164038[NUM_BOMB_KARTS_MAX]; diff --git a/include/objects.h b/include/objects.h index 84d71873d..88dc9a7a8 100644 --- a/include/objects.h +++ b/include/objects.h @@ -13,14 +13,14 @@ typedef struct /* 0x04 */ Vec3f pos; /* 0x10 */ Vec3f origin_pos; /* 0x1C */ Vec3f unk_01C; - /* 0x28 */ Vec3f unk_028; + /* 0x28 */ Vec3f offset; /* 0x34 */ f32 unk_034; - /* 0x38 */ Vec3f velocity; + /* 0x38 */ Vec3f velocity; // acceleration /* 0x44 */ f32 unk_044; /* 0x48 */ s32 unk_048; /* 0x4C */ s32 unk_04C; /* 0x50 */ s32 unk_050; - /* 0x54 */ s32 unk_054; + /* 0x54 */ s32 status; /* 0x58 */ s32 unk_058; /* 0x5C */ s32 unk_05C; /* 0x60 */ u8 *activeTLUT; @@ -42,7 +42,7 @@ typedef struct /* 0x9A */ u16 unk_09A; /* 0x9C */ s16 unk_09C; /* 0x9E */ s16 unk_09E; - /* 0xA0 */ s16 unk_0A0; + /* 0xA0 */ s16 primAlpha; /* 0xA2 */ s16 unk_0A2; /* 0xA4 */ s16 type; /* 0xA6 */ s16 state; @@ -89,14 +89,14 @@ typedef struct /* 0x04 */ Vec3f pos; /* 0x10 */ Vec3f origin_pos; /* 0x1C */ Vec3f unk_01C; - /* 0x28 */ Vec3f unk_028; + /* 0x28 */ Vec3f offset; /* 0x34 */ f32 unk_034; /* 0x38 */ Vec3f velocity; /* 0x44 */ f32 unk_044; /* 0x48 */ s32 unk_048; /* 0x4C */ s32 unk_04C; /* 0x50 */ s32 unk_050; - /* 0x54 */ s32 unk_054; + /* 0x54 */ s32 status; /* 0x58 */ s32 unk_058; /* 0x5C */ s32 unk_05C; /* 0x60 */ u8 *activeTLUT; @@ -118,7 +118,7 @@ typedef struct /* 0x9A */ u16 unk_09A; /* 0x9C */ s16 unk_09C; /* 0x9E */ s16 unk_09E; - /* 0xA0 */ s16 unk_0A0; + /* 0xA0 */ s16 primAlpha; /* 0xA2 */ s16 unk_0A2; /* 0xA4 */ s16 currentItem; /* 0xA6 */ s16 itemDisplayState; // Usually a state tracker @@ -159,6 +159,11 @@ typedef struct // 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 * this variable, but it appears to go unreferenced diff --git a/include/vehicles.h b/include/vehicles.h index 8c8bf2ef5..ff1fa3b35 100644 --- a/include/vehicles.h +++ b/include/vehicles.h @@ -11,8 +11,8 @@ #define LOCOMOTIVE_ONLY 0 // It seems like there's room for 2 Ferries, but only 1 is ever active -#define NUM_ACTIVE_PADDLE_WHEEL_BOATS 1 -#define NUM_PADDLE_WHEEL_BOATS 2 +#define NUM_ACTIVE_PADDLE_BOATS 1 +#define NUM_PADDLE_BOATS 2 #define NUM_RACE_BOX_TRUCKS 7 #define NUM_RACE_SCHOOL_BUSES 7 @@ -59,7 +59,7 @@ typedef struct { * Probably audio related **/ /* 0x28 */ s32 someFlags; -} PaddleWheelBoatStuff; // size = 0x2C +} PaddleBoatStuff; // size = 0x2C typedef struct { /* 0x00 */ s16 unused; // Gets set to 0, but doesn't seem to have any purpose @@ -85,7 +85,7 @@ typedef struct { extern TrainStuff gTrainList[]; // 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 extern VehicleStuff gBoxTruckList[]; diff --git a/mk64.ld b/mk64.ld index c5d10071b..49aacb1d4 100644 --- a/mk64.ld +++ b/mk64.ld @@ -57,10 +57,10 @@ SECTIONS BUILD_DIR/asm/tkmk00_decode.o(.text); BUILD_DIR/src/gbiMacro.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_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/effects.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/player_controller.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/code_80057C60.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/spawn_players.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_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/effects.o(.rodata); BUILD_DIR/src/code_80091750.jp.o(.rodata); diff --git a/src/actors/boat.inc.c b/src/actors/boat.inc.c deleted file mode 100644 index 99ccb609a..000000000 --- a/src/actors/boat.inc.c +++ /dev/null @@ -1,3 +0,0 @@ -void update_actor_paddle_wheel(struct PaddleWheelBoat *boat) { - boat->wheelRot += 0x38E; -} diff --git a/src/actors/paddle_boat/render.inc.c b/src/actors/paddle_boat/render.inc.c new file mode 100644 index 000000000..bfb20dcb4 --- /dev/null +++ b/src/actors/paddle_boat/render.inc.c @@ -0,0 +1,45 @@ +#include +#include +#include +#include "camera.h" +#include "main.h" +#include "actors.h" +#include "courses/all_course_data.h" +#include + +// 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); + } + } +} \ No newline at end of file diff --git a/src/actors/paddle_boat/update.inc.c b/src/actors/paddle_boat/update.inc.c new file mode 100644 index 000000000..ddb1f720e --- /dev/null +++ b/src/actors/paddle_boat/update.inc.c @@ -0,0 +1,11 @@ +#include +#include + +/** + * @brief Rotates paddle boat's wheel. + * + * @param boat + */ +void update_actor_paddle_boat(struct PaddleWheelBoat *boat) { + boat->wheelRot += 0x38E; +} diff --git a/src/code_800029B0.c b/src/code_800029B0.c index fcbbc4094..ec8cc038e 100644 --- a/src/code_800029B0.c +++ b/src/code_800029B0.c @@ -200,7 +200,7 @@ void setup_race(void) { func_802969F8(); func_80005310(); func_8003D080(); - init_object_list(); + init_hud(); D_800DC510 = 0; gNumSpawnedShells = 0; D_800DC5B8 = 0; @@ -353,11 +353,11 @@ void func_80003040(void) { break; case COURSE_WARIO_STADIUM: 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); - addActorToEmptySlot(position, rotation, velocity, ACTOR_WARIO_STADIUM_SIGN); + addActorToEmptySlot(position, rotation, velocity, ACTOR_WARIO_SIGN); 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 find_vtx_and_set_colours(0x07000C50, 0x64, 0xFF, 0xFF, 0xFF); // d_course_wario_stadium_packed_dl_BD8 diff --git a/src/code_80004740.c b/src/code_80004740.c index 135461e61..c94a681f5 100644 --- a/src/code_80004740.c +++ b/src/code_80004740.c @@ -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; s16 *sp40; s32 some_offset; @@ -116,8 +116,8 @@ void func_80004C30(animation_type_1 *arg0, animation_type_2 *arg1, s16 arg2) { D_80162D7A = 0; D_80162D76 = 0; for (someIndex = 0; someIndex < 3; someIndex++) { - if (arg2 < (*temp_v0)[someIndex].some_limiter) { - some_offset = arg2; + if (timeCycle < (*temp_v0)[someIndex].some_limiter) { + some_offset = timeCycle; } else { 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); D_80162D7A -= 1; } - func_80004A1C(arg0, sp40, *temp_v0, (s32) arg2); + func_80004A1C(arg0, sp40, *temp_v0, (s32) timeCycle); D_80162D78 = 0; temp_v0++; break; @@ -151,7 +151,7 @@ void func_80004C30(animation_type_1 *arg0, animation_type_2 *arg1, s16 arg2) { } 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_2 *temp_v0; 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); sp20 = segmented_to_virtual(arg1); // Convert the array's address temp_v0 = segmented_to_virtual(sp20[arg2]); // Convert an array element's address - if (arg3 >= temp_v0->animation_length) { - arg3 = 0; + if (timeCycle >= temp_v0->animation_length) { + timeCycle = 0; } - func_80004C30(sp24, temp_v0, arg3); - arg3++; - if (arg3 >= temp_v0->animation_length) { - arg3 = 0; + func_80004C30(sp24, temp_v0, timeCycle); + timeCycle++; + if (timeCycle >= temp_v0->animation_length) { + timeCycle = 0; } - return arg3; + return timeCycle; } s16 func_80004EAC(void *addr, s16 offset) { diff --git a/src/code_80005FD0.c b/src/code_80005FD0.c index fab1074ad..5edf1ca7b 100644 --- a/src/code_80005FD0.c +++ b/src/code_80005FD0.c @@ -12,11 +12,11 @@ #include "actors_extended.h" #include "render_player.h" #include "player_controller.h" -#include "code_80071F00.h" +#include "update_objects.h" #include "collision.h" #include #include "vehicles.h" -#include "hud_renderer.h" +#include "render_objects.h" #include "code_80057C60.h" #include "bomb_kart.h" #include "courses/all_course_data.h" @@ -139,7 +139,7 @@ s32 D_8016359C; TrainStuff gTrainList[NUM_TRAINS]; u16 isCrossingTriggeredByIndex[2]; u16 D_801637BC[2]; -PaddleWheelBoatStuff gFerries[NUM_PADDLE_WHEEL_BOATS]; +PaddleBoatStuff gPaddleBoats[NUM_PADDLE_BOATS]; VehicleStuff gBoxTruckList[NUM_RACE_BOX_TRUCKS]; VehicleStuff gSchoolBusList[NUM_RACE_SCHOOL_BUSES]; VehicleStuff gTankerTruckList[NUM_RACE_TANKER_TRUCKS]; @@ -551,7 +551,7 @@ s16 func_80005FD0(Vec3f arg0, Vec3f arg1) { s16 temp_ret; s16 phi_v1; - temp_ret = get_angle_between_points(arg0, arg1); + temp_ret = get_angle_between_two_vectors(arg0, arg1); phi_v1 = temp_ret; if (gIsMirrorMode != 0) { phi_v1 = -temp_ret; @@ -1608,9 +1608,9 @@ block_25: GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000929C.s") #endif -void func_800097E0(void) { +void update_vehicles(void) { s32 i; - func_8000EF20(); + generate_player_smoke(); D_8016337C++; if (gCurrentCourseId == COURSE_AWARD_CEREMONY) { @@ -1629,10 +1629,10 @@ void func_800097E0(void) { switch(gCurrentCourseId) { case COURSE_KALAMARI_DESERT: - func_80012AC0(); + update_vehicle_trains(); break; case COURSE_DK_JUNGLE: - func_800133C4(); + update_vehicle_paddle_boats(); break; case COURSE_TOADS_TURNPIKE: func_8001487C(); @@ -1876,7 +1876,7 @@ void func_80009B60(s32 playerId) { 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 { player->rotation[1] = D_80164590[D_80163448][(D_801630E0 + 4) % D_80164430]; } @@ -1889,7 +1889,7 @@ void func_80009B60(s32 playerId) { player->effects |= 0x10; } 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_a1 = (D_80163300[playerId] * 0x168) / 65535; if (var_a0_2 < -0xB4) { @@ -1995,8 +1995,8 @@ void func_80009B60(s32 playerId) { // MISMATCH2 // This fixes part of the register allocation problems, makes fixing others // harder though. Needs more investigation - // var_a2 = (-get_angle_between_points(player->pos, D_80162FA0)) - (var_a1 = player->rotation[1]); - stackPadding19 = -get_angle_between_points(player->pos, D_80162FA0) - player->rotation[1]; + // var_a2 = (-get_angle_between_two_vectors(player->pos, D_80162FA0)) - (var_a1 = player->rotation[1]); + stackPadding19 = -get_angle_between_two_vectors(player->pos, D_80162FA0) - player->rotation[1]; var_a1 = stackPadding19; var_a2 = 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[1] = temp_v0_2->posY; 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; case 2: 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[1] = temp_v0_2->posY; 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; case 3: var_f20 = bombKart->yPos + 3.5f; @@ -3218,7 +3218,7 @@ void func_8000DF8C(s32 bombKartId) { D_80162FC0[0] = temp_v0_4->posX; D_80162FC0[1] = temp_v0_4->posY; 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 { D_80162FB0[0] = var_f22; D_80162FB0[1] = var_f20; @@ -3226,7 +3226,7 @@ void func_8000DF8C(s32 bombKartId) { D_80162FC0[0] = -2409.197f; D_80162FC0[1] = 0.0f; 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_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[2] = temp_v0_4->posZ; 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; default: break; @@ -3383,7 +3383,7 @@ void func_8000EEDC(void) { } } -void func_8000EF20(void) { +void generate_player_smoke(void) { s32 someIndex; f32 var_f20; struct Actor *temp_s1; @@ -3395,33 +3395,33 @@ void func_8000EF20(void) { temp_s1 = &gActorList[var_s0->actorIndex]; var_s0->unk14++; switch (var_s0->unk10) { - case 0: - if (var_s0->unk14 < 0xA) { - var_f20 = 0.3f; - } else { - var_f20 = 0.9f; - } - break; - case 1: - if (var_s0->unk14 < 0xA) { - var_f20 = 0.15f; - } else { - var_f20 = 0.45f; - } - break; - case 2: - if (var_s0->unk14 < 0xA) { - var_f20 = 0.15f; - } else { - var_f20 = 0.45f; - } - break; - default: - var_f20 = 1.0f; - break; + case 0: + if (var_s0->unk14 < 0xA) { + var_f20 = 0.3f; + } else { + var_f20 = 0.9f; + } + break; + case 1: + if (var_s0->unk14 < 0xA) { + var_f20 = 0.15f; + } else { + var_f20 = 0.45f; + } + break; + case 2: + if (var_s0->unk14 < 0xA) { + var_f20 = 0.15f; + } else { + var_f20 = 0.45f; + } + break; + default: + var_f20 = 1.0f; + break; } 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[1] = temp_v0->posY; sp24[2] = temp_v0->posZ; - ret = get_angle_between_points(sp30, sp24); + ret = get_angle_between_two_vectors(sp30, sp24); return -ret; } @@ -4452,7 +4452,7 @@ void init_course_vehicles(void) { VehicleStuff *tempSchoolBus; VehicleStuff *tempTankerTruck; VehicleStuff *tempCar; - PaddleWheelBoatStuff *tempPaddleWheelBoat; + PaddleBoatStuff *tempPaddleWheelBoat; Vec3s paddleWheelBoatRot; s32 loopIndex; s32 loopIndex2; @@ -4497,8 +4497,8 @@ void init_course_vehicles(void) { } break; case COURSE_DK_JUNGLE: - for(loopIndex = 0; loopIndex < NUM_ACTIVE_PADDLE_WHEEL_BOATS; loopIndex++) { - tempPaddleWheelBoat = &gFerries[loopIndex]; + for(loopIndex = 0; loopIndex < NUM_ACTIVE_PADDLE_BOATS; loopIndex++) { + tempPaddleWheelBoat = &gPaddleBoats[loopIndex]; if(tempPaddleWheelBoat->isActive == 1) { origXPos = tempPaddleWheelBoat->position[0]; origZPos = tempPaddleWheelBoat->position[2]; @@ -4506,7 +4506,7 @@ void init_course_vehicles(void) { tempPaddleWheelBoat->velocity[0] = tempPaddleWheelBoat->position[0] - origXPos; tempPaddleWheelBoat->velocity[2] = tempPaddleWheelBoat->position[2] - origZPos; 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; @@ -4632,7 +4632,7 @@ void func_80012A48(TrainCarStuff *trainCar, s16 arg1) { trainCarActor->velocity[2] = trainCar->velocity[2]; } -void func_80012AC0(void) { +void update_vehicle_trains(void) { UNUSED s32 pad[3]; f32 temp_f20; TrainCarStuff *car; @@ -4812,13 +4812,13 @@ void func_800131DC(s32 playerId) { } void func_800132F4(void) { - PaddleWheelBoatStuff *var_a1; + PaddleBoatStuff *var_a1; s32 i; PathNoY *temp_a2; u16 temp; - for (i = 0; i < NUM_ACTIVE_PADDLE_WHEEL_BOATS; i++) { + for (i = 0; i < NUM_ACTIVE_PADDLE_BOATS; i++) { temp = i * 0xB4; - var_a1 = &gFerries[i]; + var_a1 = &gPaddleBoats[i]; temp_a2 = &D_80163598[temp]; var_a1->position[0] = temp_a2->x; var_a1->position[1] = D_80162EB2; @@ -4840,11 +4840,11 @@ void func_800132F4(void) { D_801630FC = 0; } -void func_800133C4(void) { - PaddleWheelBoatStuff *ferry; +void update_vehicle_paddle_boats(void) { + PaddleBoatStuff *paddleBoat; PathNoY *waypoint; s32 i; - struct Actor *ferryActor; + struct Actor *paddleBoatActor; f32 temp_f26; f32 temp_f28; f32 temp_f30; @@ -4857,92 +4857,92 @@ void func_800133C4(void) { Vec3f sp78; s32 pad2; D_801630FC += 1; - for (i = 0; i < NUM_ACTIVE_PADDLE_WHEEL_BOATS; i++) { - ferry = &gFerries[i]; - if (ferry->isActive == 1) { - temp_f26 = ferry->position[0]; - temp_f28 = ferry->position[1]; - temp_f30 = ferry->position[2]; - func_8000DBAC(ferry->position, &ferry->waypointIndex, ferry->someMultiplier); - ferry->someFlags = func_800061DC(ferry->position, 2000.0f, ferry->someFlags); - if ((((s16) D_801630FC % 10) == 0) && (ferry->someFlags != 0)) { - sp78[0] = (f32) ((f64) ferry->position[0] - 30.0); - sp78[1] = (f32) ((f64) ferry->position[1] + 180.0); - sp78[2] = (f32) ((f64) ferry->position[2] + 45.0); - func_80006114(sp78, ferry->position, ferry->rotY); + for (i = 0; i < NUM_ACTIVE_PADDLE_BOATS; i++) { + paddleBoat = &gPaddleBoats[i]; + if (paddleBoat->isActive == 1) { + temp_f26 = paddleBoat->position[0]; + temp_f28 = paddleBoat->position[1]; + temp_f30 = paddleBoat->position[2]; + func_8000DBAC(paddleBoat->position, &paddleBoat->waypointIndex, paddleBoat->someMultiplier); + paddleBoat->someFlags = func_800061DC(paddleBoat->position, 2000.0f, paddleBoat->someFlags); + if ((((s16) D_801630FC % 10) == 0) && (paddleBoat->someFlags != 0)) { + sp78[0] = (f32) ((f64) paddleBoat->position[0] - 30.0); + sp78[1] = (f32) ((f64) paddleBoat->position[1] + 180.0); + sp78[2] = (f32) ((f64) paddleBoat->position[2] + 45.0); + func_80006114(sp78, paddleBoat->position, paddleBoat->rotY); func_80075A6C(i, sp78, 1.1f); - sp78[0] = (f32) ((f64) ferry->position[0] + 30.0); - sp78[1] = (f32) ((f64) ferry->position[1] + 180.0); - sp78[2] = (f32) ((f64) ferry->position[2] + 45.0); - func_80006114(sp78, ferry->position, ferry->rotY); + sp78[0] = (f32) ((f64) paddleBoat->position[0] + 30.0); + sp78[1] = (f32) ((f64) paddleBoat->position[1] + 180.0); + sp78[2] = (f32) ((f64) paddleBoat->position[2] + 45.0); + func_80006114(sp78, paddleBoat->position, paddleBoat->rotY); func_80075A6C(i, sp78, 1.1f); } if (random_int(100) == 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 { - 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[1] = temp_f28; 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[1] = (f32) D_80162EB0; sp88[2] = (f32) waypoint->z; temp_a1 = func_80005FD0(sp94, sp88); - temp = temp_a1 - ferry->rotY; + temp = temp_a1 - paddleBoat->rotY; var_v1 = temp; if (var_v1 < 0) { var_v1 = -var_v1; } if (var_v1 >= 0x1771) { - if (ferry->someMultiplier > 0.2) { - ferry->someMultiplier -= 0.04; + if (paddleBoat->someMultiplier > 0.2) { + paddleBoat->someMultiplier -= 0.04; } if (var_v1 >= 0x3D) { var_v1 = 0x003C; } } else { - if (ferry->someMultiplier < 2.0) { - ferry->someMultiplier += 0.02; + if (paddleBoat->someMultiplier < 2.0) { + paddleBoat->someMultiplier += 0.02; } if (var_v1 >= 0x1F) { var_v1 = 0x001E; } } if (temp >= 0x8000) { - ferry->rotY -= var_v1; + paddleBoat->rotY -= var_v1; } else if (temp > 0) { - ferry->rotY += var_v1; + paddleBoat->rotY += var_v1; } else if (temp < -0x7FFF) { - ferry->rotY += var_v1; + paddleBoat->rotY += var_v1; } else if (temp < 0) { - ferry->rotY -= var_v1; + paddleBoat->rotY -= var_v1; } - ferry->velocity[0] = ferry->position[0] - temp_f26; - ferry->velocity[1] = ferry->position[1] - temp_f28; - ferry->velocity[2] = ferry->position[2] - temp_f30; - ferryActor = &gActorList[ferry->actorIndex]; - ferryActor->pos[0] = ferry->position[0]; - ferryActor->pos[1] = ferry->position[1]; - ferryActor->pos[2] = ferry->position[2]; + paddleBoat->velocity[0] = paddleBoat->position[0] - temp_f26; + paddleBoat->velocity[1] = paddleBoat->position[1] - temp_f28; + paddleBoat->velocity[2] = paddleBoat->position[2] - temp_f30; + paddleBoatActor = &gActorList[paddleBoat->actorIndex]; + paddleBoatActor->pos[0] = paddleBoat->position[0]; + paddleBoatActor->pos[1] = paddleBoat->position[1]; + paddleBoatActor->pos[2] = paddleBoat->position[2]; if (gIsMirrorMode != 0) { - ferryActor->rot[1] = -ferry->rotY; + paddleBoatActor->rot[1] = -paddleBoat->rotY; } else { - ferryActor->rot[1] = ferry->rotY; + paddleBoatActor->rot[1] = paddleBoat->rotY; } - ferryActor->velocity[0] = ferry->velocity[0]; - ferryActor->velocity[1] = ferry->velocity[1]; - ferryActor->velocity[2] = ferry->velocity[2]; + paddleBoatActor->velocity[0] = paddleBoat->velocity[0]; + paddleBoatActor->velocity[1] = paddleBoat->velocity[1]; + paddleBoatActor->velocity[2] = paddleBoat->velocity[2]; } } } void func_80013854(Player *player) { s32 someIndex; - PaddleWheelBoatStuff *tempPaddleWheelBoat; + PaddleBoatStuff *tempPaddleWheelBoat; f32 x_diff; f32 y_diff; f32 z_diff; @@ -4954,8 +4954,8 @@ void func_80013854(Player *player) { playerX = player->pos[0]; playerY = player->pos[1]; playerZ = player->pos[2]; - for (someIndex = 0; someIndex < NUM_ACTIVE_PADDLE_WHEEL_BOATS; someIndex++) { - tempPaddleWheelBoat = &gFerries[someIndex]; + for (someIndex = 0; someIndex < NUM_ACTIVE_PADDLE_BOATS; someIndex++) { + tempPaddleWheelBoat = &gPaddleBoats[someIndex]; if (tempPaddleWheelBoat->isActive == 1) { x_diff = playerX - tempPaddleWheelBoat->position[0]; y_diff = playerY - tempPaddleWheelBoat->position[1]; @@ -5091,7 +5091,7 @@ void func_80013D20(VehicleStuff *vehicle) { sp34[0] = vehicle->position[1]; sp34[1] = 0.0f; 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); vehicle->velocity[0] = vehicle->position[0] - sp5C; vehicle->velocity[1] = vehicle->position[1] - sp58; @@ -8176,7 +8176,7 @@ void func_8001C14C(void) { void func_8001C3C4(s32 cameraId) { if (gCurrentCourseId == COURSE_AWARD_CEREMONY) { if (gBombKarts[0].waypointIndex >= 16) { - func_80057114(3); + func_80057114(PLAYER_FOUR); } } else { if (gModeSelection == VERSUS) { diff --git a/src/code_80005FD0.h b/src/code_80005FD0.h index 228b0e6c8..15b6db5d1 100644 --- a/src/code_80005FD0.h +++ b/src/code_80005FD0.h @@ -83,7 +83,7 @@ void func_80009000(s32); void func_800090F0(s32, Player*); f32 func_80009258(s32, f32, f32); void func_8000929C(s32, Player*); -void func_800097E0(void); +void update_vehicles(void); void func_800098FC(s32, Player*); void func_800099EC(s32, Player*); void func_80009B60(s32); @@ -123,7 +123,7 @@ s32 func_8000EDC8(s32); s32 func_8000EE10(s32); void func_8000EE58(s32); void func_8000EEDC(void); -void func_8000EF20(void); +void generate_player_smoke(void); void func_8000F0E0(void); void func_8000F124(void); @@ -159,13 +159,13 @@ void init_course_vehicles(void); void func_80012780(TrainCarStuff*, s16*, u16); void func_800127E0(void); void func_80012A48(TrainCarStuff*, s16); -void func_80012AC0(void); +void update_vehicle_trains(void); void func_80012DC0(s32, Player*); void func_80013054(void); void func_800131DC(s32); void func_800132F4(void); -void func_800133C4(void); +void update_vehicle_paddle_boats(void); void func_80013854(Player*); void func_800139E4(f32, f32, s32, s32, VehicleStuff*, TrackWaypoint*); f32 func_80013C74(s16, s16); diff --git a/src/code_80057C60.c b/src/code_80057C60.c index 6d0a77c14..c2063d198 100644 --- a/src/code_80057C60.c +++ b/src/code_80057C60.c @@ -18,9 +18,9 @@ #include "math_util_2.h" #include "code_80005FD0.h" #include "render_player.h" -#include "hud_renderer.h" +#include "render_objects.h" #include "code_8006E9C0.h" -#include "code_80071F00.h" +#include "update_objects.h" #include "code_80086E70.h" #include "effects.h" #include "src/data/data_800E8700.h" @@ -33,7 +33,6 @@ #include "data/other_textures.h" #include "spawn_players.h" #include "sounds.h" -#include "code_80071F00.h" #include "data/some_data.h" @@ -135,7 +134,7 @@ UNUSED s16 D_801657A8[3]; s8 D_801657AE; UNUSED s8 D_801657AF; //! HUD related -s8 D_801657B0; +s8 gHUDDisable; UNUSED s8 D_801657B1; s8 D_801657B2; UNUSED s8 D_801657B3; @@ -238,7 +237,7 @@ f32 D_80183DA8[4]; s32 gIndexLakituList[4]; f32 D_80183DC8[4]; //! Indexes for the objects associated with the Bomb Karts -s32 D_80183DD8[NUM_BOMB_KARTS_MAX]; +s32 gIndexObjectBombKart[NUM_BOMB_KARTS_MAX]; UNUSED s32 D_80183DF8[16]; //! Next free spot in gObjectParticle1? Wraps back around to 0 if it gets bigger than gObjectParticle1_SIZE s32 gNextFreeObjectParticle1; @@ -490,11 +489,11 @@ void func_80057FC4(u32 arg0) { UNUSED Gfx *temp_v1; - if ((D_801657B0 != 0)) { + if ((gHUDDisable != 0)) { return; } gSPDisplayList(gDisplayListHead++, &D_0D0076F8); - func_80041EF4(); + set_matrix_hud_screen(); if ((D_801657C8 != 0)){ return; @@ -520,10 +519,10 @@ void func_80057FC4(u32 arg0) { } -void func_80058090(u32 arg0) { +void render_object(u32 arg0) { UNUSED Gfx *temp_v1; - if (D_801657B0 != 0) { + if (gHUDDisable != 0) { return; } @@ -535,104 +534,104 @@ void func_80058090(u32 arg0) { switch (arg0) { - case 0: - func_800581C8(); + case RENDER_SCREEN_MODE_1P_PLAYER_ONE: + render_object_p1(); break; - case 1: - func_800581C8(); + case RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_ONE: + render_object_p1(); break; - case 2: - func_800582CC(); + case RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_TWO: + render_object_p2(); break; - case 3: - func_800581C8(); + case RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_ONE: + render_object_p1(); break; - case 4: - func_800582CC(); + case RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_TWO: + render_object_p2(); break; case 5: - func_800581C8(); + render_object_p1(); break; case 6: - func_800582CC(); + render_object_p2(); break; case 7: - func_80058394(); + render_object_p3(); break; - case 8: - func_800581C8(); + case RENDER_SCREEN_MODE_3P_4P_PLAYER_ONE: + render_object_p1(); break; - case 9: - func_800582CC(); + case RENDER_SCREEN_MODE_3P_4P_PLAYER_TWO: + render_object_p2(); break; - case 10: - func_80058394(); + case RENDER_SCREEN_MODE_3P_4P_PLAYER_THREE: + render_object_p3(); break; - case 11: - func_8005845C(); + case RENDER_SCREEN_MODE_3P_4P_PLAYER_FOUR: + render_object_p4(); break; } } -void func_800581C8(void) { +void render_object_p1(void) { gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[0]), 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); - func_8001C3C4(0); + func_8001C3C4(PLAYER_ONE); if (gGamestate == ENDING) { - func_80055F48(0); - func_80056160(0); - func_8005217C(0); - func_80054BE8(0); + func_80055F48(PLAYER_ONE); + func_80056160(PLAYER_ONE); + func_8005217C(PLAYER_ONE); + func_80054BE8(PLAYER_ONE); return; } if (!gDemoMode) { - func_800532A4(0); + render_lakitu(PLAYER_ONE); } - func_800588F4(0); + render_object_for_player(PLAYER_ONE); } -void func_800582CC(void) { +void render_object_p2(void) { gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[1]), 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); - func_8001C3C4(1); + func_8001C3C4(PLAYER_TWO); if (!gDemoMode) { - func_800532A4(1); + render_lakitu(PLAYER_TWO); } - func_800588F4(1); + render_object_for_player(PLAYER_TWO); } -void func_80058394(void) { +void render_object_p3(void) { gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[2]), 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); - func_8001C3C4(2); + func_8001C3C4(PLAYER_THREE); if (!gDemoMode) { - func_800532A4(2); + render_lakitu(PLAYER_THREE); } - func_800588F4(2); + render_object_for_player(PLAYER_THREE); } -void func_8005845C(void) { +void render_object_p4(void) { gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[3]), 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); - func_8001C3C4(3); + func_8001C3C4(PLAYER_FOUR); if ((!gDemoMode) && (gPlayerCountSelection1 == 4)) { - func_800532A4(3); + render_lakitu(PLAYER_FOUR); } - func_800588F4(3); + render_object_for_player(PLAYER_FOUR); } -void func_80058538(u32 arg0) { +void render_player_snow_effect(u32 arg0) { UNUSED Gfx *temp_v1; - if (D_801657B0 != 0) { + if (gHUDDisable != 0) { return; } @@ -642,67 +641,67 @@ void func_80058538(u32 arg0) { return; } switch (arg0) { - case 0: - func_80058640(); + case RENDER_SCREEN_MODE_1P_PLAYER_ONE: + render_player_snow_effect_one(); break; - case 1: - func_80058640(); + case RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_ONE: + render_player_snow_effect_one(); break; - case 2: - func_800586FC(); + case RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_TWO: + render_player_snow_effect_two(); break; - case 3: - func_80058640(); + case RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_ONE: + render_player_snow_effect_one(); break; - case 4: - func_800586FC(); + case RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_TWO: + render_player_snow_effect_two(); break; - case 8: - func_80058640(); + case RENDER_SCREEN_MODE_3P_4P_PLAYER_ONE: + render_player_snow_effect_one(); break; - case 9: - func_800586FC(); + case RENDER_SCREEN_MODE_3P_4P_PLAYER_TWO: + render_player_snow_effect_two(); break; - case 10: - func_800587A4(); + case RENDER_SCREEN_MODE_3P_4P_PLAYER_THREE: + render_player_snow_effect_three(); break; - case 11: - func_8005884C(); + case RENDER_SCREEN_MODE_3P_4P_PLAYER_FOUR: + render_player_snow_effect_four(); break; } } -void func_80058640(void) { +void render_player_snow_effect_one(void) { gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[0]), 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); if (gGamestate != ENDING) { - func_80058B58(0); + render_snowing_effect(PLAYER_ONE); } } -void func_800586FC(void) { +void render_player_snow_effect_two(void) { gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[1]), 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); - func_80058B58(1); + render_snowing_effect(PLAYER_TWO); } -void func_800587A4(void) { +void render_player_snow_effect_three(void) { gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[2]), 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); - func_80058B58(2); + render_snowing_effect(PLAYER_THREE); } -void func_8005884C(void) { +void render_player_snow_effect_four(void) { gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[3]), 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); - func_80058B58(3); + render_snowing_effect(PLAYER_FOUR); } -void func_800588F4(s32 cameraId) { +void render_object_for_player(s32 cameraId) { switch (gCurrentCourseId) { case COURSE_MARIO_RACEWAY: @@ -710,68 +709,68 @@ void func_800588F4(s32 cameraId) { case COURSE_CHOCO_MOUNTAIN: break; case COURSE_BOWSER_CASTLE: - func_80053870(cameraId); - func_80054664(cameraId); + render_object_thwomps(cameraId); + render_object_bowser_flame(cameraId); break; case COURSE_BANSHEE_BOARDWALK: if (gGamestate != CREDITS_SEQUENCE) { - func_800527D8(cameraId); - func_80052590(cameraId); + render_object_trash_bin(cameraId); + render_object_bat(cameraId); func_8005217C(cameraId); - func_800524B4(cameraId); + render_object_boos(cameraId); } break; case COURSE_YOSHI_VALLEY: func_80055228(cameraId); if (gGamestate != CREDITS_SEQUENCE) { - func_8005568C(cameraId); + render_object_hedgehogs(cameraId); } break; case COURSE_FRAPPE_SNOWLAND: if (gGamestate != CREDITS_SEQUENCE) { - func_8005327C(cameraId); + render_object_snowmans(cameraId); } break; case COURSE_KOOPA_BEACH: if (gGamestate != CREDITS_SEQUENCE) { - func_80055528(cameraId); + render_object_crabs(cameraId); } if (gGamestate != CREDITS_SEQUENCE) { if ((gPlayerCount == 1) || (gPlayerCount == 2)) { - func_80055380(cameraId); + render_object_seagulls(cameraId); } } else { - func_80055380(cameraId); + render_object_seagulls(cameraId); } break; case COURSE_ROYAL_RACEWAY: break; case COURSE_LUIGI_RACEWAY: if (D_80165898 != 0) { - func_80055E68(cameraId); + render_object_hot_air_balloon(cameraId); } break; case COURSE_MOO_MOO_FARM: if (gGamestate != CREDITS_SEQUENCE) { - func_800550A4(cameraId); + render_object_moles(cameraId); } break; case COURSE_TOADS_TURNPIKE: break; case COURSE_KALAMARI_DESERT: - func_800541BC(cameraId); + render_object_train_smoke_particles(cameraId); break; case COURSE_SHERBET_LAND: if (gGamestate != CREDITS_SEQUENCE) { func_80052E30(cameraId); } - func_8005592C(cameraId); + render_object_train_penguins(cameraId); break; case COURSE_RAINBOW_ROAD: if (gGamestate != CREDITS_SEQUENCE) { - func_80056188(cameraId); - func_80055C38(cameraId); + render_object_neon(cameraId); + render_object_chain_chomps(cameraId); } break; case COURSE_WARIO_STADIUM: @@ -784,35 +783,35 @@ void func_800588F4(s32 cameraId) { break; case COURSE_DK_JUNGLE: if (gGamestate != CREDITS_SEQUENCE) { - func_80054414(cameraId); + render_object_paddle_boat_smoke_particles(cameraId); } break; } - func_80054938(cameraId); - func_80051638(cameraId); + render_object_smoke_particles(cameraId); + render_object_leaf_particle(cameraId); if (D_80165730 != 0) { func_80053E6C(cameraId); } if (gModeSelection == BATTLE) { - func_80056AC0(cameraId); + render_object_bomb_kart(cameraId); } } -void func_80058B58(s32 arg0) { +void render_snowing_effect(s32 arg0) { switch(gCurrentCourseId) { case COURSE_FRAPPE_SNOWLAND: if (gGamestate != 9) { if ((D_8015F894 == 0) && (gPlayerCountSelection1 == 1)) { - func_800517C8(); + render_object_snowflakes_particles(); } } else { - func_800517C8(); + render_object_snowflakes_particles(); } break; case COURSE_SHERBET_LAND: - func_80052C60(arg0); + render_ice_block(arg0); break; } } @@ -828,59 +827,59 @@ void func_80058C20(u32 arg0) { if (D_8018D22C == 0) { switch (arg0) { - case 0: + case RENDER_SCREEN_MODE_1P_PLAYER_ONE: func_80058F48(); break; - case 1: + case RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_ONE: if (!gDemoMode) { func_80059358(); break; } break; - case 2: + case RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_TWO: if (!gDemoMode) { func_800593F0(); break; } break; - case 3: + case RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_ONE: if (!gDemoMode) { func_800594F0(); break; } break; - case 4: + case RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_TWO: if (!gDemoMode) { func_80059528(); break; } break; - case 8: + case RENDER_SCREEN_MODE_3P_4P_PLAYER_ONE: if (!gDemoMode) { func_800596A8(); break; } break; - case 9: + case RENDER_SCREEN_MODE_3P_4P_PLAYER_TWO: if (!gDemoMode) { func_80059710(); break; } break; - case 10: + case RENDER_SCREEN_MODE_3P_4P_PLAYER_THREE: if (!gDemoMode) { func_80059750(); break; } break; - case 11: + case RENDER_SCREEN_MODE_3P_4P_PLAYER_FOUR: if ((!gDemoMode) && (gPlayerCountSelection1 == 4)) { func_800597B8(); } @@ -889,67 +888,67 @@ void func_80058C20(u32 arg0) { } } -void func_80058DB4(u32 arg0) { +void render_hud(u32 arg0) { D_8018D21C = arg0; gSPDisplayList(gDisplayListHead++, &D_0D0076F8); if (D_8018D22C == 0) { switch (arg0) { - case 0: + case RENDER_SCREEN_MODE_1P_PLAYER_ONE: func_80058F78(); break; - case 1: + case RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_ONE: if (!gDemoMode) { - func_80059360(); + render_hud_2p_horizontal_player_two_horizontal_player_one(); break; } break; - case 2: + case RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_TWO: if (!gDemoMode) { - func_800593F8(); + render_hud_2p_horizontal_player_two(); break; } break; - case 3: + case RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_ONE: if (!gDemoMode) { - func_800594F8(); + render_hud_2p_vertical_player_one(); break; } break; - case 4: + case RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_TWO: if (!gDemoMode) { - func_80059530(); + render_hud_2p_vertical_player_two(); break; } break; - case 8: + case RENDER_SCREEN_MODE_3P_4P_PLAYER_ONE: if (!gDemoMode) { - func_800596D8(); + render_hud_1p_multi(); break; } break; - case 9: + case RENDER_SCREEN_MODE_3P_4P_PLAYER_TWO: if (!gDemoMode) { - func_80059718(); + render_hud_2p_multi(); break; } break; - case 10: + case RENDER_SCREEN_MODE_3P_4P_PLAYER_THREE: if (!gDemoMode) { - func_80059780(); + render_hud_3p_multi(); break; } break; - case 11: + case RENDER_SCREEN_MODE_3P_4P_PLAYER_FOUR: if ((!gDemoMode) && (gPlayerCountSelection1 == 4)) { - func_800597E8(); + render_hud_4p_multi(); } break; } @@ -957,19 +956,19 @@ void func_80058DB4(u32 arg0) { } void func_80058F48(void) { - if (D_801657B0 == 0) { - func_80041EF4(); + if (gHUDDisable == 0) { + set_matrix_hud_screen(); } } void func_80058F78(void) { - if (D_801657B0 == 0) { - func_80041EF4(); + if (gHUDDisable == 0) { + set_matrix_hud_screen(); if ((!gDemoMode) && (gIsHUDVisible != 0) && (D_801657D8 == 0)) { - func_8004E638(0); + draw_item_window(PLAYER_ONE); if (D_801657E4 != 2) { - func_8004FA78(0); - func_8004E78C(0); + render_hud_timer(PLAYER_ONE); + draw_simplified_lap_count(PLAYER_ONE); func_8004EB38(0); if (D_801657E6 != FALSE) { func_8004ED40(0); @@ -1038,7 +1037,7 @@ void func_800590D4(void) { void func_800591B4(void) { - if ((D_801657B0 == 0) && (D_800DC5B8 != 0)) { + if ((gHUDDisable == 0) && (D_800DC5B8 != 0)) { func_80057C60(); gSPDisplayList(gDisplayListHead++, &D_0D0076F8); @@ -1079,13 +1078,13 @@ void func_80059358(void) { } -void func_80059360(void) { - if (D_801657B0 == 0) { - func_8004FA78(0); +void render_hud_2p_horizontal_player_two_horizontal_player_one(void) { + if (gHUDDisable == 0) { + render_hud_timer(PLAYER_ONE); if (playerHUD[PLAYER_ONE].lapCount != 3) { - func_8004CB60(playerHUD[PLAYER_ONE].lapX, playerHUD[PLAYER_ONE].lapY, (u8*) common_texture_hud_lap); - func_8004FC78(playerHUD[PLAYER_ONE].lapX + 0xC, playerHUD[PLAYER_ONE].lapY - 4, playerHUD[PLAYER_ONE].alsoLapCount); - func_8004E638(0); + draw_hud_2d_texture_32x8(playerHUD[PLAYER_ONE].lapX, playerHUD[PLAYER_ONE].lapY, common_texture_hud_lap); // draw the lap word + draw_lap_count(playerHUD[PLAYER_ONE].lapX + 0xC, playerHUD[PLAYER_ONE].lapY - 4, playerHUD[PLAYER_ONE].alsoLapCount); + draw_item_window(PLAYER_ONE); } } } @@ -1094,32 +1093,32 @@ void func_800593F0(void) { } -void func_800593F8(void) { - if (D_801657B0 == 0) { - func_8004FA78(1); +void render_hud_2p_horizontal_player_two(void) { + if (gHUDDisable == 0) { + render_hud_timer(PLAYER_TWO); if (playerHUD[PLAYER_TWO].lapCount != 3) { - func_8004CB60(playerHUD[PLAYER_TWO].lapX, playerHUD[PLAYER_TWO].lapY, (u8*) common_texture_hud_lap); - func_8004FC78(playerHUD[PLAYER_TWO].lapX + 0xC, playerHUD[PLAYER_TWO].lapY - 4, playerHUD[PLAYER_TWO].alsoLapCount); - func_8004E638(1); + draw_hud_2d_texture_32x8(playerHUD[PLAYER_TWO].lapX, playerHUD[PLAYER_TWO].lapY, common_texture_hud_lap); + draw_lap_count(playerHUD[PLAYER_TWO].lapX + 0xC, playerHUD[PLAYER_TWO].lapY - 4, playerHUD[PLAYER_TWO].alsoLapCount); + draw_item_window(PLAYER_TWO); } } } -void func_80059488(s32 arg0) { - if ((gModeSelection != BATTLE) && (D_80165800[arg0] == 0) && (gIsHUDVisible != 0)) { - func_8004FA78(arg0); - func_8004E78C(arg0); +void draw_simplified_hud(s32 playerId) { + if ((gModeSelection != BATTLE) && (D_80165800[playerId] == 0) && (gIsHUDVisible != 0)) { + render_hud_timer(playerId); + draw_simplified_lap_count(playerId); } - func_8004E638(arg0); + draw_item_window(playerId); } void func_800594F0(void) { } -void func_800594F8(void) { - if (D_801657B0 == 0) { - func_80059488(0); +void render_hud_2p_vertical_player_one(void) { + if (gHUDDisable == 0) { + draw_simplified_hud(PLAYER_ONE); } } @@ -1127,17 +1126,17 @@ void func_80059528(void) { } -void func_80059530(void) { - if (D_801657B0 == 0) { - func_80059488(1); +void render_hud_2p_vertical_player_two(void) { + if (gHUDDisable == 0) { + draw_simplified_hud(PLAYER_TWO); } } -void func_80059560(s32 playerId) { +void render_hud_lap_3p_4p(s32 playerId) { if (gModeSelection != BATTLE) { if (D_801657F8 && gIsHUDVisible) { - func_8004CB60(playerHUD[playerId].lapX, playerHUD[playerId].lapY, (u8*) common_texture_hud_lap); - func_8004FC78(playerHUD[playerId].lapX - 12, playerHUD[playerId].lapY + 4, playerHUD[playerId].alsoLapCount); + draw_hud_2d_texture_32x8(playerHUD[playerId].lapX, playerHUD[playerId].lapY, (u8*) common_texture_hud_lap); + draw_lap_count(playerHUD[playerId].lapX - 12, playerHUD[playerId].lapY + 4, playerHUD[playerId].alsoLapCount); } if (D_801657E4 == 2) { if (playerHUD[playerId].unk_74 && D_80165608) { @@ -1149,15 +1148,15 @@ void func_80059560(s32 playerId) { } void func_800596A8(void) { - if (D_801657B0 == 0) { - func_80041EF4(); + if (gHUDDisable == 0) { + set_matrix_hud_screen(); } } -void func_800596D8(void) { - if (D_801657B0 == 0) { - func_80041EF4(); - func_80059560(0); +void render_hud_1p_multi(void) { + if (gHUDDisable == 0) { + set_matrix_hud_screen(); + render_hud_lap_3p_4p(PLAYER_ONE); } } @@ -1165,36 +1164,36 @@ void func_80059710(void) { } -void func_80059718(void) { - if (D_801657B0 == 0) { - func_80041EF4(); - func_80059560(1); +void render_hud_2p_multi(void) { + if (gHUDDisable == 0) { + set_matrix_hud_screen(); + render_hud_lap_3p_4p(PLAYER_TWO); } } void func_80059750(void) { - if (D_801657B0 == 0) { - func_80041EF4(); + if (gHUDDisable == 0) { + set_matrix_hud_screen(); } } -void func_80059780(void) { - if (D_801657B0 == 0) { - func_80041EF4(); - func_80059560(2); +void render_hud_3p_multi(void) { + if (gHUDDisable == 0) { + set_matrix_hud_screen(); + render_hud_lap_3p_4p(PLAYER_THREE); } } void func_800597B8(void) { - if (D_801657B0 == 0) { - func_80041EF4(); + if (gHUDDisable == 0) { + set_matrix_hud_screen(); } } -void func_800597E8(void) { - if (D_801657B0 == 0) { - func_80041EF4(); - func_80059560(3); +void render_hud_4p_multi(void) { + if (gHUDDisable == 0) { + set_matrix_hud_screen(); + render_hud_lap_3p_4p(PLAYER_FOUR); } } @@ -1250,7 +1249,7 @@ void func_8005995C(void) { void func_80059A88(s32 playerId) { func_80059820(playerId); if (!gDemoMode) { - update_obj_laikitu(playerId); + update_object_lakitu(playerId); func_8007BB9C(playerId); } } @@ -1337,7 +1336,7 @@ void func_80059D00(void) { func_80059820(PLAYER_TWO); func_80078C70(2); } - update_obj(); + update_object(); break; case SCREEN_MODE_2P_SPLITSCREEN_VERTICAL: randomize_seed_from_controller(PLAYER_ONE); @@ -1356,7 +1355,7 @@ void func_80059D00(void) { } func_80078C70(2); func_8005D1F4(1); - update_obj(); + update_object(); break; case SCREEN_MODE_2P_SPLITSCREEN_HORIZONTAL: randomize_seed_from_controller(PLAYER_ONE); @@ -1375,7 +1374,7 @@ void func_80059D00(void) { } func_80078C70(4); func_8005D1F4(1); - update_obj(); + update_object(); break; case SCREEN_MODE_3P_4P_SPLITSCREEN: randomize_seed_from_controller(PLAYER_ONE); @@ -1408,7 +1407,7 @@ void func_80059D00(void) { } func_8005D1F4(3); } - update_obj(); + update_object(); break; } func_800744CC(); @@ -1425,12 +1424,12 @@ void func_8005A070(void) { if (gGamestate == ENDING) { func_80086604(); func_80086D80(); - func_8007C2F8(1); + update_cheep_cheep(1); func_80077640(); } else if (gGamestate == CREDITS_SEQUENCE) { func_80059820(PLAYER_ONE); func_80078C70(0); - update_obj(); + update_object(); } else { func_80059D00(); } @@ -1469,22 +1468,22 @@ void func_8005A14C(s32 playerId) { if (player->effects & 0x03000000) { func_80087D24(objectIndex, 6.0f, 1.5f, 0.0f); } else { - f32_step_towards(&gObjectList[objectIndex].unk_028[1], 0.0f, 1.0f); + f32_step_towards(&gObjectList[objectIndex].offset[1], 0.0f, 1.0f); } if ((player->type & PLAYER_INVISIBLE_OR_BOMB) || (player->effects & BOO_EFFECT)) { - gObjectList[objectIndex].unk_0A0 = 0x0050; + gObjectList[objectIndex].primAlpha = 0x0050; } else { - gObjectList[objectIndex].unk_0A0 = 0x00FF; + gObjectList[objectIndex].primAlpha = 0x00FF; } if (lapCount >= 3) { gObjectList[objectIndex].direction_angle[2] = 0; gObjectList[objectIndex].direction_angle[1] = 0; gObjectList[objectIndex].direction_angle[0] = 0; - gObjectList[objectIndex].unk_028[2] = 0.0f; - gObjectList[objectIndex].unk_028[1] = 0.0f; - gObjectList[objectIndex].unk_028[0] = 0.0f; + gObjectList[objectIndex].offset[2] = 0.0f; + gObjectList[objectIndex].offset[1] = 0.0f; + gObjectList[objectIndex].offset[0] = 0.0f; gObjectList[objectIndex].sizeScaling = 0.6f; - gObjectList[objectIndex].unk_0A0 = 0x00FF; + gObjectList[objectIndex].primAlpha = 0x00FF; } } } @@ -1579,81 +1578,81 @@ void func_8005A71C(void) { } } -void update_obj(void) { +void update_object(void) { switch (gCurrentCourseId) { - case COURSE_MARIO_RACEWAY: - case COURSE_CHOCO_MOUNTAIN: - break; - case COURSE_BOWSER_CASTLE: - func_80081208(); - update_particle_bowser_castle(); - break; - case COURSE_BANSHEE_BOARDWALK: - if (gGamestate != CREDITS_SEQUENCE) { - func_8007E1AC(); - func_8007E4C4(); - if (gModeSelection != TIME_TRIALS) { - func_8007DB44(); + case COURSE_MARIO_RACEWAY: + case COURSE_CHOCO_MOUNTAIN: + break; + case COURSE_BOWSER_CASTLE: + func_80081208(); + update_flame_particle(); + break; + case COURSE_BANSHEE_BOARDWALK: + if (gGamestate != CREDITS_SEQUENCE) { + update_trash_bin(); + func_8007E4C4(); + if (gModeSelection != TIME_TRIALS) { + update_bat(); + } + wrapper_update_boos(); + update_cheep_cheep(0); } - func_8007C340(); - func_8007C2F8(0); - } - break; - case COURSE_YOSHI_VALLEY: - func_80083080(); - if (gGamestate != CREDITS_SEQUENCE) { - func_800834B8(); - } - break; - case COURSE_FRAPPE_SNOWLAND: - if (gGamestate != CREDITS_SEQUENCE) { - func_80083D60(); - } - func_80078838(); - break; - case COURSE_KOOPA_BEACH: - if (gGamestate != CREDITS_SEQUENCE) { - func_80082E5C(); - } - if ((gPlayerCount == 1) || (gPlayerCount == 2) || (gGamestate == CREDITS_SEQUENCE)) { - func_80082870(); - } - break; - case COURSE_LUIGI_RACEWAY: - if (D_80165898 != 0) { - func_800857C0(); - } - break; - case COURSE_MOO_MOO_FARM: - if (gGamestate != CREDITS_SEQUENCE) { - func_800821FC(); - } - break; - case COURSE_KALAMARI_DESERT: - func_80075838(); - break; - case COURSE_SHERBET_LAND: - if (gGamestate != CREDITS_SEQUENCE) { - func_800842C8(); - } - func_80085214(); - break; - case COURSE_RAINBOW_ROAD: - if (gGamestate != CREDITS_SEQUENCE) { - update_neon(); - func_80085AA8(); - } - break; - case COURSE_DK_JUNGLE: - func_80075CA8(); - break; + break; + case COURSE_YOSHI_VALLEY: + func_80083080(); + if (gGamestate != CREDITS_SEQUENCE) { + update_hedgehogs(); + } + break; + case COURSE_FRAPPE_SNOWLAND: + if (gGamestate != CREDITS_SEQUENCE) { + update_snowmen(); + } + update_snowflakes(); + break; + case COURSE_KOOPA_BEACH: + if (gGamestate != CREDITS_SEQUENCE) { + update_crabs(); + } + if ((gPlayerCount == 1) || (gPlayerCount == 2) || (gGamestate == CREDITS_SEQUENCE)) { + update_seagulls(); + } + break; + case COURSE_LUIGI_RACEWAY: + if (D_80165898 != 0) { + update_hot_air_balloon(); + } + break; + case COURSE_MOO_MOO_FARM: + if (gGamestate != CREDITS_SEQUENCE) { + update_moles(); + } + break; + case COURSE_KALAMARI_DESERT: + update_train_smoke(); + break; + case COURSE_SHERBET_LAND: + if (gGamestate != CREDITS_SEQUENCE) { + func_800842C8(); + } + update_penguins(); + break; + case COURSE_RAINBOW_ROAD: + if (gGamestate != CREDITS_SEQUENCE) { + update_neon(); + update_chain_chomps(); + } + break; + case COURSE_DK_JUNGLE: + update_ferries_smoke_particle(); + break; } if (D_80165730 != 0) { func_80074EE8(); } func_80076F2C(); if ((s16) gCurrentCourseId != COURSE_FRAPPE_SNOWLAND) { - func_80077C9C(); + update_leaf(); } } diff --git a/src/code_80057C60.h b/src/code_80057C60.h index 09dc7e935..adec3a860 100644 --- a/src/code_80057C60.h +++ b/src/code_80057C60.h @@ -7,6 +7,16 @@ // 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 { char unk_00[0x4]; Vec3f unk_04; @@ -23,21 +33,21 @@ void func_80057CE4(void); void func_80057DD0(void); void func_80057FC4(u32); -void func_80058090(u32); -void func_800581C8(void); -void func_800582CC(void); -void func_80058394(void); -void func_8005845C(void); -void func_80058538(u32); -void func_80058640(void); -void func_800586FC(void); -void func_800587A4(void); -void func_8005884C(void); -void func_800588F4(s32); -void func_80058B58(s32); +void render_object(u32); +void render_object_p1(void); +void render_object_p2(void); +void render_object_p3(void); +void render_object_p4(void); +void render_player_snow_effect(u32); +void render_player_snow_effect_one(void); +void render_player_snow_effect_two(void); +void render_player_snow_effect_three(void); +void render_player_snow_effect_four(void); +void render_object_for_player(s32); +void render_snowing_effect(s32); void func_80058BF4(void); void func_80058C20(u32); -void func_80058DB4(u32); +void render_hud(u32); void func_80058F48(void); void func_80058F78(void); void func_80059AC8(void); @@ -47,23 +57,23 @@ void func_8005902C(void); void func_800590D4(void); void func_800591B4(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_800593F8(void); -void func_80059488(s32); +void render_hud_2p_horizontal_player_two(void); +void draw_simplified_hud(s32); void func_800594F0(void); -void func_800594F8(void); +void render_hud_2p_vertical_player_one(void); void func_80059528(void); -void func_80059530(void); -void func_80059560(s32); +void render_hud_2p_vertical_player_two(void); +void render_hud_lap_3p_4p(s32); void func_800596A8(void); -void func_800596D8(void); +void render_hud_1p_multi(void); void func_80059710(void); -void func_80059718(void); +void render_hud_2p_multi(void); void func_80059750(void); -void func_80059780(void); +void render_hud_3p_multi(void); void func_800597B8(void); -void func_800597E8(void); +void render_hud_4p_multi(void); void func_80059820(s32); void randomize_seed_from_controller(s32); void func_8005994C(void); @@ -77,7 +87,7 @@ void func_8005A14C(s32); void func_8005A380(void); void func_8005A3C0(void); void func_8005A71C(void); -void update_obj(void); +void update_object(void); void func_8005A99C(void); void func_8005AA34(void); void func_8005AA4C(void); @@ -311,7 +321,7 @@ extern s8 D_8016579C; extern u16 D_8016579E; extern u16 D_801657A2; extern s8 D_801657AE; -extern s8 D_801657B0; +extern s8 gHUDDisable; extern s8 D_801657B2; extern s8 D_801657B4; extern s8 D_801657B8[]; @@ -380,7 +390,7 @@ extern f32 D_80183DA8[]; // extern s32 gIndexLakituList[]; -> objects.h extern f32 D_80183DC8[]; -// extern s32 D_80183DD8[]; -> bomb_kart.h +// extern s32 gIndexObjectBombKart[]; -> bomb_kart.h // extern s32 gNextFreeObjectParticle1; -> objects.h extern Vec3f D_80183E40; diff --git a/src/code_8006E9C0.c b/src/code_8006E9C0.c index 6168b681c..bbbb9b036 100644 --- a/src/code_8006E9C0.c +++ b/src/code_8006E9C0.c @@ -8,7 +8,7 @@ #include "code_80057C60.h" #include "code_8006E9C0.h" #include "code_80086E70.h" -#include "code_80071F00.h" +#include "update_objects.h" #include "objects.h" #include "bomb_kart.h" #include "save.h" @@ -20,10 +20,10 @@ #include "main.h" #include "menus.h" #include "data/other_textures.h" -#include "hud_renderer.h" +#include "render_objects.h" #include "code_80091750.h" -void init_object_list(void) { +void init_hud(void) { reset_object_variable(); func_8006FA94(); @@ -543,8 +543,8 @@ void func_8006FA94(void) { D_801657B2 = 0; D_801657D8 = D_801657B2; D_8018D214 = D_801657D8; - D_801657B0 = D_8018D214; - D_801657AE = D_801657B0; + gHUDDisable = D_8018D214; + D_801657AE = gHUDDisable; D_8018D20C = 0; D_8018D2F8 = 0; D_8018D2F0 = D_8018D2F8; @@ -600,7 +600,7 @@ void init_object_list_index(void) { } 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->activeTexture = &D_8018D220[arg2->id]; func_80073404(objectIndex, 0x40U, 0x20U, &D_0D005FB0); - temp_v0->unk_0A0 = 0x00FF; + temp_v0->primAlpha = 0x00FF; } 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[2] = gThowmpSpawnList[i].startZ; 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 objectId = indexObjectList2[0]; @@ -805,7 +805,7 @@ void init_course_object(void) { } break; case COURSE_BANSHEE_BOARDWALK: - if (gGamestate != 9) { + if (gGamestate != CREDITS_SEQUENCE) { objectId = indexObjectList1[0]; init_texture_object(objectId, d_course_banshee_boardwalk_bat_tlut, *d_course_banshee_boardwalk_bat, 0x20U, (u16) 0x00000040); gObjectList[objectId].orientation[0] = 0; @@ -816,10 +816,10 @@ void init_course_object(void) { } break; case COURSE_YOSHI_VALLEY: - for (i = 0; i < 4; i++) { + for (i = 0; i < NUM_YV_FLAG_POLES; i++) { init_object(indexObjectList1[i], 0); } - if (gGamestate != 9) { + if (gGamestate != CREDITS_SEQUENCE) { for (i = 0; i < NUM_HEDGEHOGS; i++) { objectId = indexObjectList2[i]; init_object(objectId, 0); @@ -836,7 +836,7 @@ void init_course_object(void) { for (i = 0; i < NUM_SNOWFLAKES; i++) { find_unused_obj_index(&gObjectParticle1[i]); } - if (gGamestate != 9) { + if (gGamestate != CREDITS_SEQUENCE) { for (i = 0; i < NUM_SNOWMEN; i++) { objectId = indexObjectList2[i]; init_object(objectId, 0); @@ -853,7 +853,7 @@ void init_course_object(void) { } break; case COURSE_KOOPA_BEACH: - if (gGamestate != 9) { + if (gGamestate != CREDITS_SEQUENCE) { for (i = 0; i < NUM_CRABS; i++) { objectId = indexObjectList1[i]; init_object(objectId, 0); @@ -875,7 +875,7 @@ void init_course_object(void) { } break; case COURSE_ROYAL_RACEWAY: - if (gGamestate != 9) { + if (gGamestate != CREDITS_SEQUENCE) { if (gModeSelection == GRAND_PRIX) { func_80070714(); } @@ -886,7 +886,7 @@ void init_course_object(void) { } break; case COURSE_LUIGI_RACEWAY: - if (gGamestate != 9) { + if (gGamestate != CREDITS_SEQUENCE) { if (gModeSelection == GRAND_PRIX) { func_80070714(); } @@ -899,7 +899,7 @@ void init_course_object(void) { } break; case COURSE_MOO_MOO_FARM: - if (gGamestate != 9) { + if (gGamestate != CREDITS_SEQUENCE) { if ((gPlayerCount == 1) || ((gPlayerCount == 2) && (gModeSelection == VERSUS))) { switch (gCCSelection) { /* switch 2; irregular */ case CC_50: /* switch 2 */ @@ -955,7 +955,7 @@ void init_course_object(void) { } break; case COURSE_KALAMARI_DESERT: - if (gGamestate != 9) { + if (gGamestate != CREDITS_SEQUENCE) { find_unused_obj_index(&D_8018CF10); init_object(D_8018CF10, 0); for (i = 0; i < 50; i++) { @@ -975,7 +975,7 @@ void init_course_object(void) { } break; case COURSE_RAINBOW_ROAD: - if (gGamestate != 9) { + if (gGamestate != CREDITS_SEQUENCE) { for (i = 0; i < NUM_NEON_SIGNS; i++) { init_object(indexObjectList1[i], 0); } @@ -986,7 +986,7 @@ void init_course_object(void) { break; case COURSE_DK_JUNGLE: for (i = 0; i < NUM_TORCHES; i++) { - func_800770F0(i); + init_smoke_particles(i); // wtf? if (D_8018CF10){} } diff --git a/src/code_8006E9C0.h b/src/code_8006E9C0.h index d6b646cd9..f948e1145 100644 --- a/src/code_8006E9C0.h +++ b/src/code_8006E9C0.h @@ -2,9 +2,9 @@ #define CODE_8006E9C0_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 func_8006EB10(void); void clear_object_list(void); @@ -35,7 +35,7 @@ extern s16 D_800E5520[]; extern s16 D_800E5548[]; 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_800E6AA8[]; /* unable to generate initializer */ extern StarSpawn D_800E6B00[]; /* unable to generate initializer */ diff --git a/src/code_80086E70.c b/src/code_80086E70.c index a542edf54..869fd78d1 100644 --- a/src/code_80086E70.c +++ b/src/code_80086E70.c @@ -9,7 +9,7 @@ #include "math_util.h" #include "math_util_2.h" #include "racing/memory.h" -#include "code_80071F00.h" +#include "update_objects.h" #include "collision.h" #include "audio/external.h" #include "main.h" @@ -18,13 +18,13 @@ void func_80086E70(s32 objectIndex) { 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) { gObjectList[objectIndex].unk_0DD = arg1; 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) { @@ -41,7 +41,7 @@ void func_80086F60(s32 objectIndex) { gObjectList[objectIndex].unk_0AE = 0; gObjectList[objectIndex].unk_0DD = 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) { @@ -53,12 +53,12 @@ bool func_80086FA4(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; } 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; } @@ -66,13 +66,13 @@ s32 func_80087060(s32 objectIndex, s32 arg1) { s32 sp1C; sp1C = 0; - if (is_obj_index_flag_unk_054_inactive(objectIndex, 8) != FALSE) { - set_object_flag_unk_054_true(objectIndex, 8); + if (is_obj_index_flag_status_inactive(objectIndex, 8) != FALSE) { + set_object_flag_status_true(objectIndex, 8); gObjectList[objectIndex].unk_0B0 = arg1; } gObjectList[objectIndex].unk_0B0--; if (gObjectList[objectIndex].unk_0B0 < 0) { - set_object_flag_unk_054_false(objectIndex, 8); + set_object_flag_status_false(objectIndex, 8); sp1C = 1; } return sp1C; @@ -82,13 +82,13 @@ s32 func_80087104(s32 objectIndex, u16 arg1) { s32 sp24; sp24 = 0; - if (is_obj_index_flag_unk_054_inactive(objectIndex, 8) != FALSE) { - set_object_flag_unk_054_true(objectIndex, 8); + if (is_obj_index_flag_status_inactive(objectIndex, 8) != FALSE) { + set_object_flag_status_true(objectIndex, 8); gObjectList[objectIndex].unk_0B0 = random_int(arg1); } gObjectList[objectIndex].unk_0B0--; if (gObjectList[objectIndex].unk_0B0 < 0) { - set_object_flag_unk_054_false(objectIndex, 8); + set_object_flag_status_false(objectIndex, 8); sp24 = 1; } return sp24; @@ -98,13 +98,13 @@ s32 func_800871AC(s32 objectIndex, s32 arg1) { s32 sp24; sp24 = 0; - if (is_obj_index_flag_unk_054_inactive(objectIndex, 8) != FALSE) { - set_object_flag_unk_054_true(objectIndex, 8); + if (is_obj_index_flag_status_inactive(objectIndex, 8) != FALSE) { + set_object_flag_status_true(objectIndex, 8); gObjectList[objectIndex].unk_0B0 = (s16) arg1; } gObjectList[objectIndex].unk_0B0--; if (gObjectList[objectIndex].unk_0B0 < 0) { - set_object_flag_unk_054_false(objectIndex, 8); + set_object_flag_status_false(objectIndex, 8); func_80086FD4(objectIndex); sp24 = 1; } @@ -112,12 +112,12 @@ s32 func_800871AC(s32 objectIndex, s32 arg1) { } UNUSED void func_80087258(s32 objectIndex, UNUSED s32 arg1, f32 arg2) { - gObjectList[objectIndex].unk_028[1] += arg2; - gObjectList[objectIndex].unk_028[2] -= arg2; + gObjectList[objectIndex].offset[1] += arg2; + gObjectList[objectIndex].offset[2] -= arg2; } -UNUSED s32 func_80087294(s32 objectIndex, Player *player) { - return func_80041770(player->pos[0], gObjectList[objectIndex].pos[0], player->pos[2], gObjectList[objectIndex].pos[2]); +UNUSED s32 get_angle_between_player_object(s32 objectIndex, Player *player) { + 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) { @@ -173,41 +173,41 @@ void func_80087620(s32 objectIndex) { } void func_800876A0(s32 objectIndex) { - gObjectList[objectIndex].unk_028[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[0] += gObjectList[objectIndex].unk_034 * sins(gObjectList[objectIndex].direction_angle[1]); + gObjectList[objectIndex].offset[2] += gObjectList[objectIndex].unk_034 * coss(gObjectList[objectIndex].direction_angle[1]); } -void func_80087710(s32 objectIndex) { - gObjectList[objectIndex].unk_028[0] += gObjectList[objectIndex].velocity[0]; - gObjectList[objectIndex].unk_028[1] += gObjectList[objectIndex].velocity[1]; - gObjectList[objectIndex].unk_028[2] += gObjectList[objectIndex].velocity[2]; +void object_add_velocity_offset_xyz(s32 objectIndex) { + gObjectList[objectIndex].offset[0] += gObjectList[objectIndex].velocity[0]; + gObjectList[objectIndex].offset[1] += gObjectList[objectIndex].velocity[1]; + gObjectList[objectIndex].offset[2] += gObjectList[objectIndex].velocity[2]; } -void func_8008775C(s32 objectIndex) { - gObjectList[objectIndex].unk_028[0] += gObjectList[objectIndex].velocity[0]; - gObjectList[objectIndex].unk_028[2] += gObjectList[objectIndex].velocity[2]; +void object_add_velocity_offset_xz(s32 objectIndex) { + gObjectList[objectIndex].offset[0] += gObjectList[objectIndex].velocity[0]; + gObjectList[objectIndex].offset[2] += gObjectList[objectIndex].velocity[2]; } -UNUSED void func_80087798(s32 objectIndex) { - gObjectList[objectIndex].unk_028[0] += gObjectList[objectIndex].velocity[0]; +UNUSED void object_add_velocity_offset_x(s32 objectIndex) { + gObjectList[objectIndex].offset[0] += gObjectList[objectIndex].velocity[0]; } -void func_800877C4(s32 objectIndex) { - gObjectList[objectIndex].unk_028[1] += gObjectList[objectIndex].velocity[1]; +void object_add_velocity_offset_y(s32 objectIndex) { + gObjectList[objectIndex].offset[1] += gObjectList[objectIndex].velocity[1]; } -UNUSED void func_800877F0(s32 objectIndex) { - gObjectList[objectIndex].unk_028[2] += gObjectList[objectIndex].velocity[2]; +UNUSED void object_add_velocity_offset_z(s32 objectIndex) { + gObjectList[objectIndex].offset[2] += gObjectList[objectIndex].velocity[2]; } void func_8008781C(s32 arg0) { func_8008751C(arg0); - func_8008775C(arg0); + object_add_velocity_offset_xz(arg0); } void func_80087844(s32 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) { @@ -218,17 +218,17 @@ s32 func_8008789C(s32 objectIndex, s32 arg1) { s32 sp24; sp24 = 0; - if (is_obj_index_flag_unk_054_inactive(objectIndex, 8) != FALSE) { - set_object_flag_unk_054_true(objectIndex, 8); + if (is_obj_index_flag_status_inactive(objectIndex, 8) != FALSE) { + set_object_flag_status_true(objectIndex, 8); func_8008751C(objectIndex); gObjectList[objectIndex].unk_0B0 = arg1; } gObjectList[objectIndex].unk_0B0--; if (gObjectList[objectIndex].unk_0B0 < 0) { - set_object_flag_unk_054_false(objectIndex, 8); + set_object_flag_status_false(objectIndex, 8); sp24 = 1; } else { - func_8008775C(objectIndex); + object_add_velocity_offset_xz(objectIndex); } return sp24; } @@ -237,17 +237,17 @@ s32 func_80087954(s32 objectIndex, s32 arg1) { s32 sp24; sp24 = 0; - if (is_obj_index_flag_unk_054_inactive(objectIndex, 8) != FALSE) { - set_object_flag_unk_054_true(objectIndex, 8); + if (is_obj_index_flag_status_inactive(objectIndex, 8) != FALSE) { + set_object_flag_status_true(objectIndex, 8); func_80087620(objectIndex); gObjectList[objectIndex].unk_0B0 = arg1; } gObjectList[objectIndex].unk_0B0--; if (gObjectList[objectIndex].unk_0B0 < 0) { - set_object_flag_unk_054_false(objectIndex, 8); + set_object_flag_status_false(objectIndex, 8); sp24 = 1; } else { - func_8008775C(objectIndex); + object_add_velocity_offset_xz(objectIndex); } return sp24; } @@ -259,8 +259,8 @@ bool func_80087A0C(s32 objectIndex, s16 arg1, s16 arg2, s16 arg3, s16 arg4) { bool sp2C; sp2C = FALSE; - if (is_obj_index_flag_unk_054_inactive(objectIndex, 8) != FALSE) { - set_object_flag_unk_054_true(objectIndex, 8); + if (is_obj_index_flag_status_inactive(objectIndex, 8) != FALSE) { + set_object_flag_status_true(objectIndex, 8); temp_v0 = arg2 - arg1; temp_a0 = arg4 - arg3; 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--; if (gObjectList[objectIndex].unk_0B0 < 0) { - set_object_flag_unk_054_false(objectIndex, 8); + set_object_flag_status_false(objectIndex, 8); sp2C = TRUE; } else { - func_8008775C(objectIndex); + object_add_velocity_offset_xz(objectIndex); } return sp2C; } @@ -283,13 +283,13 @@ s32 func_80087B84(s32 objectIndex, f32 arg1, f32 arg2) { s32 sp24; sp24 = 0; - if (is_obj_index_flag_unk_054_inactive(objectIndex, 8) != FALSE) { - set_object_flag_unk_054_true(objectIndex, 8); + if (is_obj_index_flag_status_inactive(objectIndex, 8) != FALSE) { + set_object_flag_status_true(objectIndex, 8); gObjectList[objectIndex].velocity[1] = -arg1; } - func_800877C4(objectIndex); + object_add_velocity_offset_y(objectIndex); if (gObjectList[objectIndex].pos[1] <= arg2) { - set_object_flag_unk_054_false(objectIndex, 8); + set_object_flag_status_false(objectIndex, 8); func_80086FD4(objectIndex); sp24 = 1; } @@ -300,19 +300,19 @@ s32 func_80087C48(s32 objectIndex, f32 arg1, f32 arg2, s32 arg3) { s32 sp24; sp24 = 0; - if (is_obj_index_flag_unk_054_inactive(objectIndex, 8) != FALSE) { - set_object_flag_unk_054_true(objectIndex, 8); + if (is_obj_index_flag_status_inactive(objectIndex, 8) != FALSE) { + set_object_flag_status_true(objectIndex, 8); gObjectList[objectIndex].velocity[1] = arg1; gObjectList[objectIndex].unk_0B0 = (s16) arg3; } gObjectList[objectIndex].unk_0B0--; if (gObjectList[objectIndex].unk_0B0 < 0) { - set_object_flag_unk_054_false(objectIndex, 8); + set_object_flag_status_false(objectIndex, 8); func_80086FD4(objectIndex); sp24 = 1; } else { gObjectList[objectIndex].velocity[1] -= arg2; - func_800877C4(objectIndex); + object_add_velocity_offset_y(objectIndex); } return sp24; } @@ -321,15 +321,15 @@ s32 func_80087D24(s32 objectIndex, f32 arg1, f32 arg2, f32 arg3) { s32 sp24; sp24 = 0; - if (is_obj_index_flag_unk_054_inactive(objectIndex, 8) != 0) { - set_object_flag_unk_054_true(objectIndex, 8); + if (is_obj_index_flag_status_inactive(objectIndex, 8) != 0) { + set_object_flag_status_true(objectIndex, 8); gObjectList[objectIndex].velocity[1] = arg1; } gObjectList[objectIndex].velocity[1] -= arg2; - func_800877C4(objectIndex); - if (gObjectList[objectIndex].unk_028[1] <= arg3) { - set_object_flag_unk_054_false(objectIndex, 8); - gObjectList[objectIndex].unk_028[1] = arg3; + object_add_velocity_offset_y(objectIndex); + if (gObjectList[objectIndex].offset[1] <= arg3) { + set_object_flag_status_false(objectIndex, 8); + gObjectList[objectIndex].offset[1] = arg3; func_80086FD4(objectIndex); sp24 = 1; } @@ -341,11 +341,11 @@ bool func_80087E08(s32 objectIndex, f32 arg1, f32 arg2, f32 arg3, s16 arg4, s32 UNUSED s32 pad; sp2C = FALSE; - if (is_obj_index_flag_unk_054_inactive(objectIndex, 8) != 0) { - set_object_flag_unk_054_true(objectIndex, 8); - gObjectList[objectIndex].unk_028[2] = 0.0f; - gObjectList[objectIndex].unk_028[1] = 0.0f; - gObjectList[objectIndex].unk_028[0] = 0.0f; + if (is_obj_index_flag_status_inactive(objectIndex, 8) != 0) { + set_object_flag_status_true(objectIndex, 8); + gObjectList[objectIndex].offset[2] = 0.0f; + gObjectList[objectIndex].offset[1] = 0.0f; + gObjectList[objectIndex].offset[0] = 0.0f; gObjectList[objectIndex].unk_034 = arg3; gObjectList[objectIndex].velocity[1] = arg1; 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--; if (gObjectList[objectIndex].unk_0B0 < 0) { - set_object_flag_unk_054_false(objectIndex, 8); + set_object_flag_status_false(objectIndex, 8); func_80086FD4(objectIndex); sp2C = TRUE; } else { gObjectList[objectIndex].velocity[1] -= arg2; - func_80087710(objectIndex); + object_add_velocity_offset_xyz(objectIndex); } return sp2C; } @@ -369,24 +369,24 @@ UNUSED s32 func_80087F14(s32 objectIndex, f32 arg1, f32 arg2, f32 arg3, s16 arg4 UNUSED s32 stackPadding; sp2C = 0; - if (is_obj_index_flag_unk_054_inactive(objectIndex, 8) != 0) { - set_object_flag_unk_054_true(objectIndex, 8); - gObjectList[objectIndex].unk_028[2] = 0.0f; - gObjectList[objectIndex].unk_028[1] = 0.0f; - gObjectList[objectIndex].unk_028[0] = 0.0f; + if (is_obj_index_flag_status_inactive(objectIndex, 8) != 0) { + set_object_flag_status_true(objectIndex, 8); + gObjectList[objectIndex].offset[2] = 0.0f; + gObjectList[objectIndex].offset[1] = 0.0f; + gObjectList[objectIndex].offset[0] = 0.0f; gObjectList[objectIndex].unk_034 = arg3; gObjectList[objectIndex].velocity[1] = arg1; gObjectList[objectIndex].direction_angle[1] = arg4; func_8008751C(objectIndex); gObjectList[objectIndex].unk_0B0 = gVBlankTimer; } - if (gObjectList[objectIndex].unk_028[1] <= arg5) { - set_object_flag_unk_054_false(objectIndex, 8); + if (gObjectList[objectIndex].offset[1] <= arg5) { + set_object_flag_status_false(objectIndex, 8); func_80086FD4(objectIndex); sp2C = 1; } else { gObjectList[objectIndex].velocity[1] -= arg2; - func_80087710(objectIndex); + object_add_velocity_offset_xyz(objectIndex); } return sp2C; } @@ -395,13 +395,13 @@ void func_80088038(s32 objectIndex, f32 arg1, u16 arg2) { f32 temp_f4; f32 sp20; - temp_f4 = gObjectList[objectIndex].unk_028[0]; - sp20 = gObjectList[objectIndex].unk_028[2]; + temp_f4 = gObjectList[objectIndex].offset[0]; + sp20 = gObjectList[objectIndex].offset[2]; gObjectList[objectIndex].unk_0C4 += arg2; - gObjectList[objectIndex].unk_028[0] = sins(gObjectList[objectIndex].unk_0C4) * arg1; - gObjectList[objectIndex].unk_028[2] = coss(gObjectList[objectIndex].unk_0C4) * arg1; - gObjectList[objectIndex].velocity[0] = gObjectList[objectIndex].unk_028[0] - temp_f4; - gObjectList[objectIndex].velocity[2] = gObjectList[objectIndex].unk_028[2] - sp20; + gObjectList[objectIndex].offset[0] = sins(gObjectList[objectIndex].unk_0C4) * arg1; + gObjectList[objectIndex].offset[2] = coss(gObjectList[objectIndex].unk_0C4) * arg1; + gObjectList[objectIndex].velocity[0] = gObjectList[objectIndex].offset[0] - temp_f4; + gObjectList[objectIndex].velocity[2] = gObjectList[objectIndex].offset[2] - sp20; } UNUSED void func_800880DC(void) { @@ -449,9 +449,9 @@ void func_80088228(s32 objectIndex) { but for some unholy reason that doesn't match */ temp_v0->unk_084[8] = *((s16*)temp_v0->controlPoints - 1); - temp_v0->unk_028[0] = temp_v0->controlPoints[0].pos[0]; - temp_v0->unk_028[1] = temp_v0->controlPoints[0].pos[1]; - temp_v0->unk_028[2] = temp_v0->controlPoints[0].pos[2]; + temp_v0->offset[0] = temp_v0->controlPoints[0].pos[0]; + temp_v0->offset[1] = temp_v0->controlPoints[0].pos[1]; + temp_v0->offset[2] = temp_v0->controlPoints[0].pos[2]; func_80086FD4(objectIndex); } @@ -463,9 +463,9 @@ s32 func_800882B0(s32 objectIndex, s32 arg1) { s32 var_v1; var_v1 = 0; - temp_f0 = (s32)((D_80165760[1] - gObjectList[objectIndex].unk_028[0]) * (D_80165760[1] - gObjectList[objectIndex].unk_028[0])); - temp_f12 = (s32)((D_80165770[1] - gObjectList[objectIndex].unk_028[1]) * (D_80165770[1] - gObjectList[objectIndex].unk_028[1])); - temp_f2 = (s32)((D_80165780[1] - gObjectList[objectIndex].unk_028[2]) * (D_80165780[1] - gObjectList[objectIndex].unk_028[2])); + 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].offset[1]) * (D_80165770[1] - gObjectList[objectIndex].offset[1])); + 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) { var_v1 = 1; } @@ -509,12 +509,12 @@ s32 func_8008847C(s32 objectIndex) { s32 sp2C; sp2C = 0; - set_object_flag_unk_054_false(objectIndex, 0x00800000); - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00000400) != 0) { + set_object_flag_status_false(objectIndex, 0x00800000); + 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]); if (D_8018C3B0.unk34 == 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); } @@ -525,12 +525,12 @@ s32 func_80088538(s32 objectIndex) { s32 sp2C; sp2C = 0; - set_object_flag_unk_054_false(objectIndex, 0x00800000); - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00000400) != 0) { + set_object_flag_status_false(objectIndex, 0x00800000); + 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]); if (D_8018C3B0.unk34 == 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_0B8[0] = atan2s(D_8018C3B0.orientationVector[2], D_8018C3B0.orientationVector[1]) + 0x4000; @@ -543,12 +543,12 @@ s32 func_8008861C(s32 objectIndex) { s32 sp2C; sp2C = 0; - set_object_flag_unk_054_false(objectIndex, 0x00800000); - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00000400) != 0) { + set_object_flag_status_false(objectIndex, 0x00800000); + 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]); if (D_8018C3B0.unk34 == 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_01C[0] = D_8018C3B0.orientationVector[0]; @@ -561,26 +561,26 @@ s32 func_8008861C(s32 objectIndex) { void func_800886F4(s32 objectIndex) { func_802ADDC8(&D_8018C3B0, 10.0f, gObjectList[objectIndex].pos[0], 20.0f, gObjectList[objectIndex].pos[2]); 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_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]); return; } - set_object_flag_unk_054_false(objectIndex, 0x00800000); + set_object_flag_status_false(objectIndex, 0x00800000); } void func_800887C0(s32 objectIndex) { func_802ADDC8(&D_8018C3B0, 10.0f, gObjectList[objectIndex].pos[0], 20.0f, gObjectList[objectIndex].pos[2]); 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].velocity[0] = D_8018C3B0.orientationVector[0]; gObjectList[objectIndex].velocity[1] = D_8018C3B0.orientationVector[1]; gObjectList[objectIndex].velocity[2] = D_8018C3B0.orientationVector[2]; 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 = &gPlayerOne[playerId]; - if (is_obj_index_flag_unk_054_active(objectIndex, 0x04000000) != 0) { + if (is_obj_flag_status_active(objectIndex, 0x04000000) != 0) { func_80072180(); } 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; 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++) { 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(); } var_s6 = 1; @@ -1081,11 +1081,11 @@ void func_800896D4(s32 objectIndex, f32 arg1, f32 arg2) { s32 var_s1; 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++) { 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); - if (is_obj_index_flag_unk_054_active(objectIndex, 0x04000000) != 0) { + if (is_obj_flag_status_active(objectIndex, 0x04000000) != 0) { func_80072180(); } } @@ -1098,15 +1098,15 @@ void func_80089820(s32 objectIndex, f32 arg1, f32 arg2, u32 arg3) { s32 var_s1; player = gPlayerOne; - set_object_flag_unk_054_false(objectIndex, 0x02000000); - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00000200) != 0) { + set_object_flag_status_false(objectIndex, 0x02000000); + if (is_obj_flag_status_active(objectIndex, 0x00000200) != 0) { for (var_s1 = 0; var_s1 < D_8018D158; var_s1++, player++) { 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->effects & STAR_EFFECT) { - set_object_flag_unk_054_true(objectIndex, 0x02000000); + set_object_flag_status_true(objectIndex, 0x02000000); } else { - if (is_obj_index_flag_unk_054_active(objectIndex, 0x04000000) != 0) { + if (is_obj_flag_status_active(objectIndex, 0x04000000) != 0) { func_80072180(); } 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; 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++) { 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); - if (is_obj_index_flag_unk_054_active(objectIndex, 0x04000000) != 0) { + if (is_obj_flag_status_active(objectIndex, 0x04000000) != 0) { func_80072180(); } } @@ -1145,12 +1145,12 @@ s32 func_80089B50(s32 objectIndex) { test = 0; sp40 = 0; 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++) { 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)) { 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(); } } else { @@ -1170,13 +1170,13 @@ s32 func_80089CBC(s32 objectIndex, f32 arg1) { var_s7 = 0; 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++) { 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->effects & STAR_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(); } } @@ -1195,7 +1195,7 @@ s32 func_80089E18(s32 objectIndex) { var_s6 = 0; 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++) { if ((gObjectList[objectIndex].state != 0) && !(player->effects & 0x800000C0) && (has_collided_horizontally_with_player(objectIndex, player) != 0)) { if (player->effects & STAR_EFFECT) { @@ -1216,12 +1216,12 @@ s32 func_80089F24(s32 objectIndex) { var_s7 = 0; 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++) { 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)) { 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(); } player->soundEffects |= 0x200000; @@ -1262,14 +1262,14 @@ s32 func_8008A0B4(s32 objectIndex, Player *player, Camera *camera, u16 arg3) { 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; s32 var_t0; - var_t0 = 0; - temp_t2 = (func_80041770(camera->pos[0], gObjectList[objectIndex].pos[0], camera->pos[2], gObjectList[objectIndex].pos[2]) + ((s32) arg2 / 2)) - camera->rot[1]; - if ((temp_t2 >= 0) && (arg2 >= temp_t2)) { - var_t0 = 1; + var_t0 = FALSE; + 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) && (angle >= temp_t2)) { + var_t0 = TRUE; } return var_t0; } @@ -1280,7 +1280,7 @@ void func_8008A1D0(s32 objectIndex, s32 cameraId, s32 arg2, s32 arg3) { Camera *camera; 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); if (temp_v0 < 0x2711U) { var_a2 = 0x5555; @@ -1289,10 +1289,10 @@ void func_8008A1D0(s32 objectIndex, s32 cameraId, s32 arg2, s32 arg3) { } else { var_a2 = 0x2AAB; } - if ((func_8008A140(objectIndex, camera, var_a2) != 0) && ((u32) (arg3 * arg3) >= temp_v0)) { - set_object_flag_unk_054_true(objectIndex, 0x00040000); + if ((is_object_visible_on_camera(objectIndex, camera, var_a2) != 0) && ((u32) (arg3 * arg3) >= temp_v0)) { + set_object_flag_status_true(objectIndex, VISIBLE); 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; camera = &camera1[cameraId]; - set_object_flag_unk_054_false(objectIndex, 0x00040000); + set_object_flag_status_false(objectIndex, VISIBLE); if (no_init < 0x2711U) { var_a2 = 0x5555; } else if (no_init < 0x9C41U) { @@ -1312,40 +1312,40 @@ UNUSED void func_8008A2CC(s32 objectIndex, s32 cameraId, u16 arg2) { } else { var_a2 = arg2; } - if (func_8008A140(objectIndex, camera, var_a2) != 0) { - set_object_flag_unk_054_true(objectIndex, 0x00040000); + if (is_object_visible_on_camera(objectIndex, camera, var_a2) != 0) { + set_object_flag_status_true(objectIndex, VISIBLE); } } s32 func_8008A364(s32 objectIndex, s32 cameraId, u16 arg2, s32 arg3) { Camera *camera; - u32 var_v1; + u32 dist; u16 var_a2; camera = &camera1[cameraId]; - set_object_flag_unk_054_false(objectIndex, 0x00060000); - var_v1 = get_horizontal_distance_to_camera(objectIndex, camera); - if (var_v1 < (arg3 * arg3)) { - set_object_flag_unk_054_true(objectIndex, 0x00020000); - if (var_v1 < 0x2711U) { + set_object_flag_status_false(objectIndex, 0x00020000 | VISIBLE); + dist = get_horizontal_distance_to_camera(objectIndex, camera); + if (dist < (arg3 * arg3)) { + set_object_flag_status_true(objectIndex, 0x00020000); + if (dist < 0x2711U) { var_a2 = 0x5555; - } else if (var_v1 < 0x9C41U) { + } else if (dist < 0x9C41U) { var_a2 = 0x4000; } else { var_a2 = arg2; } - if (func_8008A140(objectIndex, camera, var_a2) != 0) { - set_object_flag_unk_054_true(objectIndex, 0x00040000); + if (is_object_visible_on_camera(objectIndex, camera, var_a2) != 0) { + set_object_flag_status_true(objectIndex, VISIBLE); } } - return var_v1; + return dist; } void func_8008A454(s32 objectIndex, s32 cameraId, s32 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 { - 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; 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++) { if (gObjectList[objectIndex].state != 0) { 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) { - set_object_flag_unk_054_true(objectIndex, 0x00020000); + set_object_flag_status_true(objectIndex, 0x00020000); } - if (func_8008A140(objectIndex, camera, 0x2AABU) != 0) { - set_object_flag_unk_054_true(objectIndex, 0x00040000); + if (is_object_visible_on_camera(objectIndex, camera, 0x2AABU) != 0) { + set_object_flag_status_true(objectIndex, VISIBLE); } } } @@ -1373,10 +1373,10 @@ UNUSED void func_8008A610(s32 objectIndex) { s32 loopIndex; 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++) { - if ((gObjectList[objectIndex].state != 0) && (func_8008A140(objectIndex, camera, 0x2AABU) != 0)) { - set_object_flag_unk_054_true(objectIndex, 0x00040000); + if ((gObjectList[objectIndex].state != 0) && (is_object_visible_on_camera(objectIndex, camera, 0x2AABU) != 0)) { + set_object_flag_status_true(objectIndex, VISIBLE); } } } @@ -1386,17 +1386,17 @@ void func_8008A6DC(s32 objectIndex, f32 arg1) { s32 loopIndex; 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++) { 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) { var_a2 = 0x4000; } else { var_a2 = 0x2AAB; } - if (func_8008A140(objectIndex, camera, var_a2) != 0) { - set_object_flag_unk_054_true(objectIndex, 0x00040000); + if (is_object_visible_on_camera(objectIndex, camera, var_a2) != 0) { + 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 */ temp_v0->unk_084[8] = *((s16*)temp_v0->controlPoints - 1); - temp_v0->unk_028[0] = temp_v0->controlPoints[0].pos[0]; - temp_v0->unk_028[1] = temp_v0->controlPoints[0].pos[1]; - temp_v0->unk_028[2] = temp_v0->controlPoints[0].pos[2]; + temp_v0->offset[0] = temp_v0->controlPoints[0].pos[0]; + temp_v0->offset[1] = temp_v0->controlPoints[0].pos[1]; + temp_v0->offset[2] = temp_v0->controlPoints[0].pos[2]; temp_v0->unk_09A = (s16) (10000 / temp_v0->controlPoints[0].velocity); func_8008A920(objectIndex); func_80086FD4(objectIndex); @@ -1481,9 +1481,9 @@ void func_8008AB10(s32 objectIndex) { Objects *temp_v0; temp_v0 = &gObjectList[objectIndex]; - temp_v0->unk_028[0] += temp_v0->velocity[0]; - temp_v0->unk_028[1] += temp_v0->velocity[1]; - temp_v0->unk_028[2] += temp_v0->velocity[2]; + temp_v0->offset[0] += temp_v0->velocity[0]; + temp_v0->offset[1] += temp_v0->velocity[1]; + temp_v0->offset[2] += temp_v0->velocity[2]; temp_v0->timer += (u16)temp_v0->unk_09A; if (temp_v0->timer >= 0x2710) { temp_v0->unk_084[9] = (u16)temp_v0->unk_084[9] + 1; @@ -1611,9 +1611,9 @@ void func_8008B038(s32 objectIndex) { Objects *temp_v0; 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->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->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[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[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[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) { @@ -1686,7 +1686,7 @@ void func_8008B3E4(s32 objectIndex) { Objects *temp_v0; 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->unk_084[9] = 0; temp_v0->timer = 0; @@ -1698,7 +1698,7 @@ void func_8008B3E4(s32 objectIndex) { */ 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); // Calculate the curve at `t` 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` func_8008AFE0(objectIndex, sp34); } @@ -1765,7 +1765,7 @@ void func_8008B6A4(s32 objectIndex) { // Have to do it this way due to the u16 cast 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]) { - set_object_flag_unk_054_false(objectIndex, 8); + set_object_flag_status_false(objectIndex, 8); } else { 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; } -void func_8008B80C(s32 objectIndex, f32 arg1, f32 arg2, f32 arg3) { - gObjectList[objectIndex].unk_028[0] = arg1; - gObjectList[objectIndex].unk_028[1] = arg2; - gObjectList[objectIndex].unk_028[2] = arg3; +void set_obj_origin_offset(s32 objectIndex, f32 arg1, f32 arg2, f32 arg3) { + gObjectList[objectIndex].offset[0] = arg1; + gObjectList[objectIndex].offset[1] = arg2; + gObjectList[objectIndex].offset[2] = arg3; } void func_8008B844(s32 objectIndex) { f32 temp_f0 = gObjectList[objectIndex].origin_pos[0]; - gObjectList[objectIndex].pos[0] = gObjectList[objectIndex].unk_028[0] + temp_f0; - gObjectList[objectIndex].pos[1] = gObjectList[objectIndex].unk_028[1] + temp_f0; - gObjectList[objectIndex].pos[2] = gObjectList[objectIndex].unk_028[2] + temp_f0; + gObjectList[objectIndex].pos[0] = gObjectList[objectIndex].offset[0] + temp_f0; + gObjectList[objectIndex].pos[1] = gObjectList[objectIndex].offset[1] + 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) { @@ -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); } -UNUSED void func_8008BA40(s32 objectIndex, s16 arg1, u16 arg2) { - s16 test; +UNUSED void object_origin_pos_randomize_around_x(s32 objectIndex, s16 x, u16 arg2) { + s16 offset_x; - test = random_int(arg2) - (arg2 / 2); - gObjectList[objectIndex].origin_pos[0] = arg1 + test; + offset_x = random_int(arg2) - (arg2 / 2); + gObjectList[objectIndex].origin_pos[0] = x + offset_x; } -void func_8008BAB4(s32 objectIndex, s16 arg1, u16 arg2) { - s16 test; +void object_origin_pos_randomize_around_y(s32 objectIndex, s16 y, u16 arg2) { + s16 offset_y; - test = random_int(arg2) - (arg2 / 2); - gObjectList[objectIndex].origin_pos[1] = arg1 + test; + offset_y = random_int(arg2) - (arg2 / 2); + gObjectList[objectIndex].origin_pos[1] = y + offset_y; } -UNUSED void func_8008BB28(s32 objectIndex, s16 arg1, u16 arg2) { - s16 test; +UNUSED void object_origin_pos_randomize_around_z(s32 objectIndex, s16 z, u16 arg2) { + s16 offset_z; - test = random_int(arg2) - (arg2 / 2); - gObjectList[objectIndex].origin_pos[2] = arg1 + test; + offset_z = random_int(arg2) - (arg2 / 2); + gObjectList[objectIndex].origin_pos[2] = z + offset_z; } -UNUSED void func_8008BB9C(s32 objectIndex, s16 arg1, s16 arg2, u16 arg3, u16 arg4) { - s16 sp1E; - s16 temp_v0; +UNUSED void object_origin_pos_randomize_around_xy(s32 objectIndex, s16 x, s16 y, u16 arg3, u16 arg4) { + s16 offset_x; + s16 offset_y; - sp1E = random_int(arg3) - ((s32) arg3 / 2); - temp_v0 = random_int(arg4) - ((s32) arg4 / 2); - gObjectList[objectIndex].origin_pos[0] = arg1 + sp1E; - gObjectList[objectIndex].origin_pos[1] = arg2 + temp_v0; + offset_x = random_int(arg3) - ((s32) arg3 / 2); + offset_y = random_int(arg4) - ((s32) arg4 / 2); + gObjectList[objectIndex].origin_pos[0] = x + offset_x; + gObjectList[objectIndex].origin_pos[1] = y + offset_y; } -UNUSED void func_8008BC58(s32 objectIndex, s16 arg1, s16 arg2, u16 arg3, u16 arg4) { - s16 sp1E; - s16 temp_v0; +UNUSED void object_origin_pos_randomize_around_xz(s32 objectIndex, s16 x, s16 z, u16 arg3, u16 arg4) { + s16 offset_x; + s16 offset_z; - sp1E = random_int(arg3) - ((s32) arg3 / 2); - temp_v0 = random_int(arg4) - ((s32) arg4 / 2); - gObjectList[objectIndex].origin_pos[0] = arg1 + sp1E; - gObjectList[objectIndex].origin_pos[2] = arg2 + temp_v0; + offset_x = random_int(arg3) - ((s32) arg3 / 2); + offset_z = random_int(arg4) - ((s32) arg4 / 2); + gObjectList[objectIndex].origin_pos[0] = x + offset_x; + 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) { - s16 sp1E; - s16 sp1C; - s16 temp_v0; +void object_origin_pos_randomize_around_xyz(s32 objectIndex, s16 x, s16 y, s16 z, u16 arg4, u16 arg5, u16 arg6) { + s16 offset_x; + s16 offset_y; + s16 offset_z; - sp1E = random_int(arg4) - ((s32) arg4 / 2); - sp1C = random_int(arg5) - ((s32) arg5 / 2); - temp_v0 = random_int(arg6) - ((s32) arg6 / 2); - gObjectList[objectIndex].origin_pos[0] = arg1 + sp1E; - gObjectList[objectIndex].origin_pos[1] = arg2 + sp1C; - gObjectList[objectIndex].origin_pos[2] = arg3 + temp_v0; + offset_x = random_int(arg4) - ((s32) arg4 / 2); + offset_y = random_int(arg5) - ((s32) arg5 / 2); + offset_z = random_int(arg6) - ((s32) arg6 / 2); + gObjectList[objectIndex].origin_pos[0] = x + offset_x; + gObjectList[objectIndex].origin_pos[1] = y + offset_y; + gObjectList[objectIndex].origin_pos[2] = z + offset_z; } -void func_8008BE0C(s32 objectIndex, s16 arg1, u16 arg2) { - gObjectList[objectIndex].origin_pos[0] = gPlayerOneCopy->pos[0] + (sins(arg2) * arg1); - gObjectList[objectIndex].origin_pos[2] = gPlayerOneCopy->pos[2] + (coss(arg2) * arg1); +void object_origin_pos_around_player_one(s32 objectIndex, s16 dist, u16 angle) { + gObjectList[objectIndex].origin_pos[0] = gPlayerOneCopy->pos[0] + (sins(angle) * dist); + gObjectList[objectIndex].origin_pos[2] = gPlayerOneCopy->pos[2] + (coss(angle) * dist); } 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); 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) { - gObjectList[objectIndex].pos[0] = gObjectList[objectIndex].origin_pos[0] + gObjectList[objectIndex].unk_028[0]; - gObjectList[objectIndex].pos[1] = gObjectList[objectIndex].origin_pos[1] + gObjectList[objectIndex].unk_028[1]; - gObjectList[objectIndex].pos[2] = gObjectList[objectIndex].origin_pos[2] + gObjectList[objectIndex].unk_028[2]; +void object_calculate_new_pos_offset(s32 objectIndex) { + gObjectList[objectIndex].pos[0] = gObjectList[objectIndex].origin_pos[0] + gObjectList[objectIndex].offset[0]; + gObjectList[objectIndex].pos[1] = gObjectList[objectIndex].origin_pos[1] + gObjectList[objectIndex].offset[1]; + gObjectList[objectIndex].pos[2] = gObjectList[objectIndex].origin_pos[2] + gObjectList[objectIndex].offset[2]; } void func_8008BF64(s32 objectIndex) { diff --git a/src/code_80086E70.h b/src/code_80086E70.h index 6e309c1b0..a68e01797 100644 --- a/src/code_80086E70.h +++ b/src/code_80086E70.h @@ -17,7 +17,7 @@ s32 func_80087060(s32, s32); s32 func_80087104(s32, u16); s32 func_800871AC(s32, s32); 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*); u16 get_x_direction_angle(s32); s32 get_y_direction_angle(s32); @@ -30,11 +30,11 @@ void func_8008751C(s32); void func_8008757C(s32); void func_80087620(s32); void func_800876A0(s32); -void func_80087710(s32); -void func_8008775C(s32); -void func_80087798(s32); -void func_800877C4(s32); -void func_800877F0(s32); +void object_add_velocity_offset_xyz(s32); +void object_add_velocity_offset_xz(s32); +void object_add_velocity_offset_x(s32); +void object_add_velocity_offset_y(s32); +void object_add_velocity_offset_z(s32); void func_8008781C(s32); void func_80087844(s32); f32 func_8008786C(f32, f32, f32, f32, f32); @@ -93,7 +93,7 @@ s32 func_80089E18(s32); s32 func_80089F24(s32); s32 func_8008A060(s32, 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_8008A2CC(s32, s32, u16); s32 func_8008A364(s32, s32, u16, s32); @@ -145,22 +145,22 @@ void func_8008B6A4(s32); void func_8008B724(s32); void func_8008B78C(s32); 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 set_obj_direction_angle(s32, u16, u16, u16); void set_obj_orientation(s32, u16, u16, u16); void set_obj_velocity(s32, f32, f32, f32); void func_8008B928(s32, s16, s16, s16, SplineData*); -void func_8008BA40(s32, s16, u16); -void func_8008BAB4(s32, s16, u16); -void func_8008BB28(s32, s16, u16); -void func_8008BB9C(s32, s16, s16, u16, u16); -void func_8008BC58(s32, s16, s16, u16, u16); -void func_8008BD14(s32, s16, s16, s16, u16, u16, u16); -void func_8008BE0C(s32, s16, u16); +void object_origin_pos_randomize_around_x(s32, s16, u16); +void object_origin_pos_randomize_around_y(s32, s16, u16); +void object_origin_pos_randomize_around_z(s32, s16, u16); +void object_origin_pos_randomize_around_xy(s32, s16, s16, u16, u16); +void object_origin_pos_randomize_around_xz(s32, s16, s16, u16, u16); +void object_origin_pos_randomize_around_xyz(s32, s16, s16, s16, u16, u16, u16); +void object_origin_pos_around_player_one(s32, s16, u16); void func_8008BEA4(s32, u16, u16); void func_8008BFC0(s32); -void func_8008BF18(s32); +void object_calculate_new_pos_offset(s32); void func_8008BF64(s32); void func_8008BFFC(s32); void func_8008C1B8(s32); diff --git a/src/code_80091750.c b/src/code_80091750.c index c95d14b3a..b03d86051 100644 --- a/src/code_80091750.c +++ b/src/code_80091750.c @@ -18,7 +18,7 @@ #include "code_80281780.h" #include "memory.h" #include "audio/external.h" -#include "hud_renderer.h" +#include "render_objects.h" #include "staff_ghosts.h" #include "common_textures.h" #include "textures.h" @@ -600,7 +600,7 @@ char *D_800E7744[] = { " ", }; -char *D_800E775C[] = { +char *gTextPauseButton[] = { "CONTINUE GAME", "RETRY", "COURSE CHANGE", @@ -1666,7 +1666,8 @@ void func_800921B4(void) { D_8018D9D9 = 0; } -void func_800921C0(s32 test, s32 target, s32 alternative_color) { +// if selected and detect kind menu +void text_rainbow_effect(s32 test, s32 target, s32 alternative_color) { if (test == target) { if (func_800B4520() != 0) { set_text_color(gGlobalTimer % 3); @@ -1678,7 +1679,7 @@ void func_800921C0(s32 test, s32 target, s32 alternative_color) { } } -void func_80092224(s32 test, s32 target, s32 alternative_color) { +void set_text_color_rainbow_if_selected(s32 test, s32 target, s32 alternative_color) { if (test == target) { set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_2); } else { @@ -1800,8 +1801,8 @@ void func_800925A0(void) { void func_800925CC(void) { struct_8018D9E0_entry *temp = find_8018D9E0_entry_dupe(0xAF); - if (temp->unk4 == 2) { - temp->unk4 = 3; + if (temp->cursor == 2) { + temp->cursor = 3; } } @@ -2177,7 +2178,7 @@ UNUSED void func_800930E4(s32 arg0, s32 arg1, char *arg2) { } // "tracking" is a uniform spacing between all characters in a given word -void print_text0(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 y_scale, s32 arg6) { +void print_text0(s32 column, s32 row, char *text, s32 tracking, f32 scaleX, f32 scaleY, s32 mode) { s32 stringWidth = 0; s32 glyphIndex; @@ -2187,7 +2188,7 @@ void print_text0(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 glyphIndex = char_to_glyph_index(text); if (glyphIndex >= 0) { func_80099184((MkTexture *)segmented_to_virtual_dupe((const void *) gGlyphTextureLUT[glyphIndex])); - gDisplayListHead = func_8009BEF0(gDisplayListHead, (MkTexture *) segmented_to_virtual_dupe((const void *) gGlyphTextureLUT[glyphIndex]), column + (stringWidth * x_scale), row, arg6, x_scale, y_scale); + gDisplayListHead = print_letter(gDisplayListHead, (MkTexture *) segmented_to_virtual_dupe((const void *) gGlyphTextureLUT[glyphIndex]), column + (stringWidth * scaleX), row, mode, scaleX , scaleY); stringWidth += gGlyphDisplayWidth[glyphIndex] + tracking; } else if ((glyphIndex != -2) && (glyphIndex == -1)) { @@ -2207,16 +2208,16 @@ void print_text0(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 gSPDisplayList(gDisplayListHead++, D_020077D8); } -void func_80093324(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 y_scale) { - print_text0(column, row, text, tracking, x_scale, y_scale, 1); +void func_80093324(s32 column, s32 row, char *text, s32 tracking, f32 scaleX, f32 scaleY) { + print_text0(column, row, text, tracking, scaleX , scaleY, 1); } -void func_80093358(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 y_scale) { - print_text0(column, row, text, tracking, x_scale, y_scale, 2); +void func_80093358(s32 column, s32 row, char *text, s32 tracking, f32 scaleX, f32 scaleY) { + print_text0(column, row, text, tracking, scaleX , scaleY, 2); } // "tracking" is a uniform spacing between all characters in a given word -void print_text1(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 y_scale, s32 arg6) { +void print_text1(s32 column, s32 row, char *text, s32 tracking, f32 scaleX, f32 scaleY, s32 arg6) { char *temp_string = text; s32 stringWidth = 0; s32 glyphIndex; @@ -2225,10 +2226,10 @@ void print_text1(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 while(*temp_string != 0) { glyphIndex = char_to_glyph_index(temp_string); if (glyphIndex >= 0) { - stringWidth += ((gGlyphDisplayWidth[glyphIndex] + tracking) * x_scale); + stringWidth += ((gGlyphDisplayWidth[glyphIndex] + tracking) * scaleX); } else if ((glyphIndex != -2) && (glyphIndex == -1)) { - stringWidth += ((tracking + 7) * x_scale); + stringWidth += ((tracking + 7) * scaleX); } else{ return; @@ -2268,11 +2269,11 @@ void print_text1(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 glyphIndex = char_to_glyph_index(text); if (glyphIndex >= 0) { func_80099184(segmented_to_virtual_dupe(gGlyphTextureLUT[glyphIndex])); - gDisplayListHead = func_8009BEF0(gDisplayListHead, segmented_to_virtual_dupe(gGlyphTextureLUT[glyphIndex]), column, row, sp60, x_scale, y_scale); - column = column + (s32)((gGlyphDisplayWidth[glyphIndex] + tracking) * x_scale); + gDisplayListHead = print_letter(gDisplayListHead, segmented_to_virtual_dupe(gGlyphTextureLUT[glyphIndex]), column, row, sp60, scaleX, scaleY); + column = column + (s32)((gGlyphDisplayWidth[glyphIndex] + tracking) * scaleX); } else if ((glyphIndex != -2) && (glyphIndex == -1)) { - column = column + (s32)((tracking + 7) * x_scale); + column = column + (s32)((tracking + 7) * scaleX); } else{ gSPDisplayList(gDisplayListHead++, D_020077D8); @@ -2287,23 +2288,23 @@ void print_text1(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 gSPDisplayList(gDisplayListHead++, D_020077D8); } -void func_800936B8(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 y_scale) { - print_text1(column, row, text, tracking, x_scale, y_scale, 1); +void func_800936B8(s32 column, s32 row, char *text, s32 tracking, f32 scaleX, f32 scaleY) { + print_text1(column, row, text, tracking, scaleX, scaleY, 1); } -void draw_text(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 y_scale) { - print_text1(column, row, text, tracking, x_scale, y_scale, 2); +void draw_text(s32 column, s32 row, char *text, s32 tracking, f32 scaleX, f32 scaleY) { + print_text1(column, row, text, tracking, scaleX, scaleY, 2); } -void func_80093720(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 y_scale) { - print_text1(column, row, text, tracking, x_scale, y_scale, 3); +void func_80093720(s32 column, s32 row, char *text, s32 tracking, f32 scaleX, f32 scaleY) { + print_text1(column, row, text, tracking, scaleX, scaleY, 3); } -void func_80093754(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 y_scale) { - print_text1(column, row, text, tracking, x_scale, y_scale, 4); +void func_80093754(s32 column, s32 row, char *text, s32 tracking, f32 scaleX, f32 scaleY) { + print_text1(column, row, text, tracking, scaleX, scaleY, 4); } -void print_text2(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 y_scale, s32 arg6) { +void print_text2(s32 column, s32 row, char *text, s32 tracking, f32 scaleX, f32 scaleY, s32 arg6) { MkTexture *glyphTexture; s32 characterWidth; s32 glyphIndex; @@ -2315,16 +2316,16 @@ void print_text2(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 if (glyphIndex >= 0) { glyphTexture = (MkTexture *) segmented_to_virtual_dupe((const void *)gGlyphTextureLUT[glyphIndex]); func_80099184(glyphTexture); - gDisplayListHead = func_8009BEF0(gDisplayListHead, glyphTexture, column - (gGlyphDisplayWidth[glyphIndex] / 2), row, arg6, x_scale, y_scale); + gDisplayListHead = print_letter(gDisplayListHead, glyphTexture, column - (gGlyphDisplayWidth[glyphIndex] / 2), row, arg6, scaleX, scaleY); if ((glyphIndex >= 0xD5) && (glyphIndex < 0xE0)) { characterWidth = 0x20; } else { characterWidth = 0xC; } - column = column + (s32)((characterWidth + tracking) * x_scale); + column = column + (s32)((characterWidth + tracking) * scaleX); } else if ((glyphIndex != -2) && (glyphIndex == -1)) { - column = column + (s32)((tracking + 7) * x_scale); + column = column + (s32)((tracking + 7) * scaleX); } else{ gSPDisplayList(gDisplayListHead++, D_020077D8); @@ -2341,12 +2342,12 @@ void print_text2(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 gSPDisplayList(gDisplayListHead++, D_020077D8); } -void func_800939C8(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 y_scale) { - print_text2(column, row, text, tracking, x_scale, y_scale, 1); +void func_800939C8(s32 column, s32 row, char *text, s32 tracking, f32 scaleX, f32 scaleY) { + print_text2(column, row, text, tracking, scaleX, scaleY, 1); } -void text_draw(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 y_scale) { - print_text2(column, row, text, tracking, x_scale, y_scale, 2); +void text_draw(s32 column, s32 row, char *text, s32 tracking, f32 scaleX, f32 scaleY) { + print_text2(column, row, text, tracking, scaleX, scaleY, 2); } void func_80093A30(s32 arg0) { @@ -2358,23 +2359,23 @@ void func_80093A5C(u32 arg0) { func_8009C918(); } switch (arg0) { - case 0: + case RENDER_SCREEN_MODE_1P_PLAYER_ONE: func_800940EC((s32) D_800F0B1C[arg0]); break; - case 1: - case 2: - case 3: - case 4: + case RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_ONE: + case RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_TWO: + case RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_ONE: + case RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_TWO: if (D_8015F788 == 0) { func_80093C1C((s32) D_800F0B1C[arg0]); } else { func_800940EC((s32) D_800F0B1C[arg0]); } break; - case 8: - case 9: - case 10: - case 11: + case RENDER_SCREEN_MODE_3P_4P_PLAYER_ONE: + case RENDER_SCREEN_MODE_3P_4P_PLAYER_TWO: + case RENDER_SCREEN_MODE_3P_4P_PLAYER_THREE: + case RENDER_SCREEN_MODE_3P_4P_PLAYER_FOUR: if (D_8015F788 == 3) { func_800940EC((s32) D_800F0B1C[arg0]); } else { @@ -5456,7 +5457,7 @@ void func_8009B538(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { u16 *func_8009B8C4(u64 *arg0) { UNUSED s32 pad[2]; - s32 sp4; + s32 offset; s32 found; s32 someIndex; @@ -5464,13 +5465,13 @@ u16 *func_8009B8C4(u64 *arg0) { for (someIndex = 0; someIndex < gNumD_8018E118Entries; someIndex++) { if (arg0 == D_8018E118[someIndex].textureData) { found = 1; - sp4 = D_8018E118[someIndex].offset; + offset = D_8018E118[someIndex].offset; break; } } if (found != 0) { - return &D_8018D9B0[sp4]; + return &D_8018D9B0[offset]; } return NULL; } @@ -5596,14 +5597,14 @@ Gfx *func_8009BC9C(Gfx *arg0, MkTexture *arg1, s32 arg2, s32 arg3, s32 arg4, s32 return arg0; } -Gfx *func_8009BEF0(Gfx *arg0, MkTexture *arg1, f32 arg2, f32 arg3, s32 arg4, f32 arg5, f32 arg6) { +Gfx *print_letter(Gfx *arg0, MkTexture *glyphTexture, f32 arg2, f32 arg3, s32 mode, f32 scaleX, f32 scaleY) { s32 var_v0; s32 temp_v0_2; f32 thing0; f32 thing1; MkTexture *var_s0; - var_s0 = segmented_to_virtual_dupe(arg1); + var_s0 = segmented_to_virtual_dupe(glyphTexture); while (var_s0->textureData != NULL) { var_v0 = 0; @@ -5611,7 +5612,7 @@ Gfx *func_8009BEF0(Gfx *arg0, MkTexture *arg1, f32 arg2, f32 arg3, s32 arg4, f32 if (thing0 > 320.0f) { var_v0 = 1; } - thing0 += var_s0->width * arg5; + thing0 += var_s0->width * scaleX; if (thing0 < 0.0f) { var_v0 += 1; } @@ -5619,7 +5620,7 @@ Gfx *func_8009BEF0(Gfx *arg0, MkTexture *arg1, f32 arg2, f32 arg3, s32 arg4, f32 if (thing1 < 0.0f) { var_v0 += 1; } - thing1 -= var_s0->height * arg6; + thing1 -= var_s0->height * scaleY; if (thing1 > 240.0f) { var_v0 += 1; } @@ -5629,14 +5630,14 @@ Gfx *func_8009BEF0(Gfx *arg0, MkTexture *arg1, f32 arg2, f32 arg3, s32 arg4, f32 } else { temp_v0_2 = func_8009B8C4(var_s0->textureData); if (temp_v0_2 != 0) { - switch (arg4) { /* irregular */ + switch (mode) { /* irregular */ case 1: gSPDisplayList(arg0++, D_020077F8); - arg0 = func_80095BD0(arg0, (u8 *) temp_v0_2, var_s0->dX + arg2, var_s0->dY + arg3, var_s0->width, var_s0->height, arg5, arg6); + arg0 = func_80095BD0(arg0, (u8 *) temp_v0_2, var_s0->dX + arg2, var_s0->dY + arg3, var_s0->width, var_s0->height, scaleX, scaleY); break; case 2: gSPDisplayList(arg0++, D_02007818); - arg0 = func_80095BD0(arg0, (u8 *) temp_v0_2, var_s0->dX + arg2, var_s0->dY + arg3, var_s0->width, var_s0->height, arg5, arg6); + arg0 = func_80095BD0(arg0, (u8 *) temp_v0_2, var_s0->dX + arg2, var_s0->dY + arg3, var_s0->width, var_s0->height, scaleX, scaleY); break; } } @@ -5939,7 +5940,7 @@ func_8009CE64_label1: var_a1 = 0; temp_v0 = find_8018D9E0_entry(0x000000B0); if (temp_v0 != NULL) { - switch (temp_v0->unk4) { /* switch 8; irregular */ + switch (temp_v0->cursor) { /* switch 8; irregular */ case 10: /* switch 8 */ func_802903B0(); break; @@ -5958,7 +5959,7 @@ func_8009CE64_label1: var_a1 = 0; temp_v0 = find_8018D9E0_entry(0x000000AC); if (temp_v0 != NULL) { - switch (temp_v0->unk4) { /* switch 7; irregular */ + switch (temp_v0->cursor) { /* switch 7; irregular */ case 11: /* switch 7 */ func_802903B0(); D_8016556E = 1; @@ -5972,7 +5973,7 @@ func_8009CE64_label1: var_a1 = 0; temp_v0 = find_8018D9E0_entry(0x000000C7); if (temp_v0 != NULL) { - switch (temp_v0->unk4) { /* switch 1 */ + switch (temp_v0->cursor) { /* switch 1 */ case 12: /* switch 1 */ func_802903B0(); var_a1 = 1; @@ -6006,7 +6007,7 @@ func_8009CE64_label1: } temp_v0 = find_8018D9E0_entry(0x000000BD); if (temp_v0 != NULL) { - switch (temp_v0->unk4) { /* switch 2 */ + switch (temp_v0->cursor) { /* switch 2 */ case 11: /* switch 2 */ D_8015F892 = 1; D_8015F890 = 0; @@ -6620,7 +6621,7 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { var_ra++; } var_ra->type = type; - var_ra->unk4 = 0; + var_ra->cursor = 0; var_ra->unk8 = 0; var_ra->column = column; var_ra->row = row; @@ -6923,7 +6924,7 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { } break; case 0xF0: - var_ra->unk4 = (s32) gSoundMode; + var_ra->cursor = (s32) gSoundMode; break; case 0xF1: func_800996BC(segmented_to_virtual_dupe(D_02004638), 0); @@ -7400,7 +7401,7 @@ void func_8009F5E0(struct_8018D9E0_entry *arg0) { case 0xB2: /* switch 6 */ case 0xB3: /* switch 6 */ case 0xB4: /* switch 6 */ - if (arg0->unk4 != 0) { + if (arg0->cursor != 0) { spA8 = arg0->type - 0xB1; gDisplayListHead = func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E7D54[D_800EFD64[gCharacterSelections[spA8]]]), arg0->column, arg0->row); func_8009A7EC(arg0->D_8018DEE0_index, arg0->column, arg0->row, spA8, arg0->unk1C); @@ -7417,7 +7418,7 @@ void func_8009F5E0(struct_8018D9E0_entry *arg0) { func_800A4A24(arg0); break; case 0xC7: /* switch 6 */ - func_800A4B38(arg0); + render_pause_menu(arg0); break; case 0xBD: /* switch 6 */ func_800A5738(arg0); @@ -7462,7 +7463,7 @@ void func_8009F5E0(struct_8018D9E0_entry *arg0) { func_800A761C(arg0); break; case 0x130: /* switch 6 */ - if (arg0->unk4 != 0) { + if (arg0->cursor != 0) { gDisplayListHead = func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E7D54[D_800EFD64[D_802874D8.unk1E]]), arg0->column, arg0->row); func_8009A7EC(arg0->D_8018DEE0_index, arg0->column, arg0->row, 0, arg0->unk1C); } @@ -7685,7 +7686,7 @@ void func_800A0EB8(struct_8018D9E0_entry *arg0, s32 arg1) { } void func_800A0FA4(struct_8018D9E0_entry *arg0, s32 arg1) { - switch (arg0->unk4) { + switch (arg0->cursor) { case 0: case 2: case 3: @@ -7704,13 +7705,13 @@ void func_800A10CC(struct_8018D9E0_entry *arg0) { s32 var_s1; s32 index; - switch (arg0->unk4) { + switch (arg0->cursor) { case 2: case 3: case 4: case 5: gDisplayListHead = draw_box_fill(gDisplayListHead, 0x0000001E, 0x00000032, 0x00000122, 0x0000006E, 0, 0, 0, 0x000000FF); - index = arg0->unk4 - 2; + index = arg0->cursor - 2; set_text_color(3); for (var_s1 = 0; var_s1 < 4; var_s1++) { // In a perfect world this would be `D_800E7940[index][var_s1]` @@ -7732,7 +7733,7 @@ void func_800A11D0(struct_8018D9E0_entry *arg0, s32 arg1, s32 arg2) { } void func_800A12BC(struct_8018D9E0_entry *arg0, MkTexture *arg1) { - switch (arg0->unk4) { + switch (arg0->cursor) { case 0: case 2: case 4: @@ -7748,7 +7749,7 @@ void func_800A12BC(struct_8018D9E0_entry *arg0, MkTexture *arg1) { void func_800A1350(struct_8018D9E0_entry *arg0) { s32 thing; if (func_800AAFCC(arg0->type - 0x2B) < 0) { - switch (arg0->unk4) { + switch (arg0->cursor) { case 0: case 2: case 4: @@ -7764,7 +7765,7 @@ void func_800A1350(struct_8018D9E0_entry *arg0) { } void func_800A143C(struct_8018D9E0_entry *arg0, s32 arg1) { - switch (arg0->unk4) { + switch (arg0->cursor) { case 0: case 2: case 3: @@ -7784,7 +7785,7 @@ void func_800A1500(struct_8018D9E0_entry *arg0) { var_a1 = 0; temp_v0 = find_8018D9E0_entry_dupe(0x00000064); - switch (temp_v0->unk4) { /* irregular */ + switch (temp_v0->cursor) { /* irregular */ case 0: case 1: break; @@ -8001,7 +8002,7 @@ void func_800A1FB0(struct_8018D9E0_entry *arg0) { case 0x17: /* switch 1 */ case 0x18: /* switch 1 */ for (var_s2 = 0; var_s2 < 4; var_s2++) { - func_80092224(D_8018EDEC - 0x15, var_s2, 3); + set_text_color_rainbow_if_selected(D_8018EDEC - 0x15, var_s2, TEXT_YELLOW); func_80093324(0x00000032, 0x55 + (0x23 * var_s2), D_800E7868[var_s2], 0, 0.9f, 1.0f); if (var_s2 == (D_8018EDEC - 0x15)) { spE0.column = 0x0032; @@ -8018,7 +8019,7 @@ void func_800A1FB0(struct_8018D9E0_entry *arg0) { func_80093324(0x00000028, 0x55 + (0x14 * var_s2), D_800E7878[var_s2], 0, 1.0f, 1.0f); } for (var_s2 = 0; var_s2 < 2; var_s2++) { - func_80092224(D_8018EDEC - 0x1E, var_s2, 1); + set_text_color_rainbow_if_selected(D_8018EDEC - 0x1E, var_s2, TEXT_GREEN); func_80093324(0x00000084, 0x96 + (0x19 * var_s2), D_800E7840[var_s2], 0, 1.0f, 1.0f); if (var_s2 == (D_8018EDEC - 0x1E)) { spE0.column = 0x0084; @@ -8093,7 +8094,7 @@ void func_800A1FB0(struct_8018D9E0_entry *arg0) { draw_text(0x5C + (0x82 * var_s1), 0x0000007D, D_800E7918[var_s1], 0, 0.75f, 0.75f); for (var_s2 = 0; var_s2 < 2; var_s2++) { if (var_s1 != var_s4) { - func_800921C0(D_8018EDEC - var_s5, var_s2, 1); + text_rainbow_effect(D_8018EDEC - var_s5, var_s2, TEXT_GREEN); if (var_s2 == (D_8018EDEC - var_s5)) { spE0.column = 0x20 + (0x89 * var_s1); spE0.row = 0x96 + (0x1E * var_s2); @@ -8158,7 +8159,7 @@ void func_800A1FB0(struct_8018D9E0_entry *arg0) { spE0.column = 0x6E + (0x32 * var_s2); spE0.row = 0x00D2; } - func_800921C0((D_8018EDEC - 0x38), var_s2, 3); + text_rainbow_effect((D_8018EDEC - 0x38), var_s2, TEXT_YELLOW); func_80093324(0x6E + (0x32 * var_s2), 0x000000D2, D_800E7930[var_s2], 0, 0.75f, 0.75f); } break; @@ -8335,8 +8336,8 @@ void func_800A34A8(struct_8018D9E0_entry *arg0) { s32 rank; s32 test; - if (arg0->unk4 != 0) { - if (arg0->unk4 < 9) { + if (arg0->cursor != 0) { + if (arg0->cursor < 9) { for (rank = 0; rank < 8; rank++) { sp80[rank] = gPlayers[gGPCurrentRacePlayerIdByRank[rank]].characterId; } @@ -8351,7 +8352,7 @@ void func_800A34A8(struct_8018D9E0_entry *arg0) { convert_number_to_ascii(gCupCourseSelection + 1, sp78); func_80093324(arg0->column + 0x61, (0x28 & 0xFFFFFFFF) - arg0->row, &sp78[1], 0, 0.7f, 0.7f); for (rank = 0; rank < 4; rank++) { - test = arg0->unk4; + test = arg0->cursor; if ((test != 8) && (test != 9)) { var_v0 = 0; } else { @@ -8362,7 +8363,7 @@ void func_800A34A8(struct_8018D9E0_entry *arg0) { } } if (var_v0 == 0) { - if (arg0->unk4 < 9) { + if (arg0->cursor < 9) { var_v0 = gGPCurrentRacePlayerIdByRank[rank]; var_v1 = 0; } else { @@ -8379,7 +8380,7 @@ void func_800A34A8(struct_8018D9E0_entry *arg0) { } } for (rank = 4; rank < NUM_PLAYERS; rank++) { - test = arg0->unk4; + test = arg0->cursor; if ((test != 8) && (test != 9)) { var_v0 = 0; } else { @@ -8390,7 +8391,7 @@ void func_800A34A8(struct_8018D9E0_entry *arg0) { } } if (var_v0 == 0) { - if (arg0->unk4 < 9) { + if (arg0->cursor < 9) { var_v0 = gGPCurrentRacePlayerIdByRank[rank]; } else { var_v0 = D_80164478[sp80[rank]]; @@ -8449,7 +8450,7 @@ void func_800A3ADC(struct_8018D9E0_entry *arg0, s32 arg1, s32 arg2, s32 characte char sp34[4]; s32 phi_v1; - if (arg0->unk4 < 9) { + if (arg0->cursor < 9) { convert_number_to_ascii(arg4 + 1, sp34); } else { for (phi_v1 = arg4; phi_v1 > 0; phi_v1--) { @@ -8464,7 +8465,7 @@ void func_800A3ADC(struct_8018D9E0_entry *arg0, s32 arg1, s32 arg2, s32 characte func_80093324(arg1 + 0xA, arg2, D_800E76A8[characterId], 0, 0.7f, 0.7f); convert_number_to_ascii(gGPPointsByCharacterId[characterId], sp34); func_800939C8(arg1 + 0x47, arg2, sp34, 0, 0.7f, 0.7f); - if ((arg4 < 4) && (arg0->unk4 < 9)) { + if ((arg4 < 4) && (arg0->cursor < 9)) { convert_number_to_ascii(D_8018D9BC[arg4], sp34); sp34[0] = '+'; func_80093324(arg1 + 0x5A, arg2, sp34, 0, 0.7f, 0.7f); @@ -8506,7 +8507,7 @@ void func_800A3E60(struct_8018D9E0_entry *arg0) { Unk_D_800E70A0 *var_v0_5; char sp60[3]; - var_v0 = arg0->unk4; + var_v0 = arg0->cursor; if (var_v0 == 0) return; if (var_v0 == 0x0000001F) return; @@ -8517,7 +8518,7 @@ void func_800A3E60(struct_8018D9E0_entry *arg0) { for (var_s1 = 0; var_s1 < 4; var_s1++) { func_800A4550(var_s1, arg0->column + 0x26, ((0xF * var_s1) - arg0->row) + 0x37); } - switch (arg0->unk4) { /* switch 1 */ + switch (arg0->cursor) { /* switch 1 */ case 1: /* switch 1 */ case 5: /* switch 1 */ case 6: /* switch 1 */ @@ -8528,7 +8529,7 @@ void func_800A3E60(struct_8018D9E0_entry *arg0) { case 30: /* switch 1 */ for (var_s1 = 0; var_s1 < 6; var_s1++) { var_v1 = 0; - func_800921C0(arg0->unk4 - 5, var_s1, 1); + text_rainbow_effect(arg0->cursor - 5, var_s1, 1); switch (var_s1) { /* switch 3; irregular */ case 4: /* switch 3 */ if (D_80162DF8 == 1) { @@ -8544,9 +8545,9 @@ void func_800A3E60(struct_8018D9E0_entry *arg0) { if (var_v1 != 0) { set_text_color(0); gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, 0x96); - func_80093358(0xB2 - arg0->column, arg0->row + (0xD * var_s1) + 0x93, D_800E775C[var_s1 + 1], 0, 0.75f, 0.75f); + func_80093358(0xB2 - arg0->column, arg0->row + (0xD * var_s1) + 0x93, gTextPauseButton[var_s1 + 1], 0, 0.75f, 0.75f); } else { - func_80093324(0xB2 - arg0->column, arg0->row + (0xD * var_s1) + 0x93, D_800E775C[var_s1 + 1], 0, 0.75f, 0.75f); + func_80093324(0xB2 - arg0->column, arg0->row + (0xD * var_s1) + 0x93, gTextPauseButton[var_s1 + 1], 0, 0.75f, 0.75f); } } break; @@ -8557,7 +8558,7 @@ void func_800A3E60(struct_8018D9E0_entry *arg0) { case 15: /* switch 1 */ case 16: /* switch 1 */ set_text_color(3); - var_v1 = arg0->unk4 - 11; + var_v1 = arg0->cursor - 11; for (var_s1 = 0; var_s1 < 7; var_s1++) { func_80093324(0x000000A2, 0x8C + (0xD * var_s1), D_800E798C[(var_v1 * 7) + var_s1], 0, 0.6f, 0.6f); } @@ -8569,7 +8570,7 @@ void func_800A3E60(struct_8018D9E0_entry *arg0) { func_80093324(0x000000A5, arg0->row + (0xD * var_s1) + 0x8C, D_800E7A3C[var_s1], 0, 0.7f, 0.7f); } for (var_s1 = 0; var_s1 < 2; var_s1++) { - func_800921C0(arg0->unk4 - 0x11, var_s1, 1); + text_rainbow_effect(arg0->cursor - 0x11, var_s1, 1); convert_number_to_ascii(var_s1 + 1, sp60); func_80093324(0xB1 - arg0->column, 0xAA + (0x1E * var_s1), &sp60[1], 0, 0.6f, 0.6f); if (D_8018EE10[var_s1].ghostDataSaved == 0) { @@ -8593,7 +8594,7 @@ void func_800A3E60(struct_8018D9E0_entry *arg0) { func_80093324(0x000000A3, arg0->row + (0xD * var_s1) + 0x8C, D_800E7A60[var_s1], 0, 0.67f, 0.67f); } for (var_s1 = 0; var_s1 < 2; var_s1++) { - func_800921C0(arg0->unk4 - 0x14, var_s1, 1); + text_rainbow_effect(arg0->cursor - 0x14, var_s1, 1); func_80093324(0xC8 - arg0->column, 0xB9 + (0xF * var_s1), D_800E7A6C[var_s1], 0, 0.75f, 0.75f); } break; @@ -8610,22 +8611,22 @@ void func_800A3E60(struct_8018D9E0_entry *arg0) { } break; } - switch (arg0->unk4) { /* switch 2 */ + switch (arg0->cursor) { /* switch 2 */ case 5: /* switch 2 */ case 6: /* switch 2 */ case 7: /* switch 2 */ case 8: /* switch 2 */ case 9: /* switch 2 */ case 10: /* switch 2 */ - var_v0_5 = &D_800E7390[arg0->unk4 - 5]; + var_v0_5 = &D_800E7390[arg0->cursor - 5]; break; case 17: /* switch 2 */ case 18: /* switch 2 */ - var_v0_5 = &D_800E73C0[arg0->unk4 - 17]; + var_v0_5 = &D_800E73C0[arg0->cursor - 17]; break; case 20: /* switch 2 */ case 21: /* switch 2 */ - var_v0_5 = &D_800E73D0[arg0->unk4 - 20]; + var_v0_5 = &D_800E73D0[arg0->cursor - 20]; break; case 30: /* switch 2 */ var_v0_5 = &D_800E7390[arg0->unk1C - 5]; @@ -8768,26 +8769,26 @@ void func_800A4A24(struct_8018D9E0_entry *arg0) { draw_text(arg0->column - 3, arg0->row, D_800E7780, 0, 0.85f, 0.85f); } -void func_800A4B38(struct_8018D9E0_entry *arg0) { +void render_pause_menu(struct_8018D9E0_entry *arg0) { if (gIsGamePaused != 0) { switch (gModeSelection) { case TIME_TRIALS: - func_800A4BC8(arg0); + render_pause_menu_time_trials(arg0); break; case VERSUS: - func_800A4EF8(arg0); + render_pause_menu_versus(arg0); break; case GRAND_PRIX: - func_800A5084(arg0); + render_pause_grand_prix(arg0); break; case BATTLE: - func_800A5360(arg0); + render_pause_battle(arg0); break; } } } -void func_800A4BC8(struct_8018D9E0_entry *arg0) { +void render_pause_menu_time_trials(struct_8018D9E0_entry *arg0) { s32 stackPadding0; s32 stackPadding1; s32 stackPadding2; @@ -8823,12 +8824,12 @@ void func_800A4BC8(struct_8018D9E0_entry *arg0) { get_time_record_centiseconds(temp_a0, sp68); func_800939C8(0x000000B3, 0x00000089, sp68, 0, 0.8f, 0.8f); for (var_s0 = 0; var_s0 < 5; var_s0++) { - func_800921C0(arg0->unk4 - 11, var_s0, 1); - func_80093324(D_800E8538[zero].column, D_800E8538[zero].row + (13 * var_s0), D_800E775C[var_s0], 0, 0.75f, 0.75f); + text_rainbow_effect(arg0->cursor - 11, var_s0, TEXT_GREEN); + func_80093324(D_800E8538[zero].column, D_800E8538[zero].row + (13 * var_s0), gTextPauseButton[var_s0], 0, 0.75f, 0.75f); } } -void func_800A4EF8(struct_8018D9E0_entry *arg0) { +void render_pause_menu_versus(struct_8018D9E0_entry *arg0) { s16 temp_t0; s16 temp_v1; s32 temp_t3; @@ -8851,12 +8852,12 @@ void func_800A4EF8(struct_8018D9E0_entry *arg0) { } else { var_s1 = var_s0; } - func_800921C0(arg0->unk4 - 0x15, var_s0, 3); - func_80093324(temp_s3->column - 2, temp_s3->row + (13 * var_s0), D_800E775C[var_s1], 0, 0.75f, 0.75f); + text_rainbow_effect(arg0->cursor - 0x15, var_s0, TEXT_YELLOW); + func_80093324(temp_s3->column - 2, temp_s3->row + (13 * var_s0), gTextPauseButton[var_s1], 0, 0.75f, 0.75f); } } -void func_800A5084(struct_8018D9E0_entry *arg0) { +void render_pause_grand_prix(struct_8018D9E0_entry *arg0) { s32 temp_t0; s32 temp_v1; s32 temp_s0; @@ -8884,12 +8885,12 @@ void func_800A5084(struct_8018D9E0_entry *arg0) { set_text_color(TEXT_YELLOW); draw_text(160, temp_s3->row - 30, D_800E7574[gCupCourseOrder[gCupSelection][gCupCourseSelection]], 0, 1.0f, 1.0f); for (var_s0 = 0; var_s0 < 2; var_s0++) { - func_800921C0(arg0->unk4 - 31, var_s0, 3); - func_80093324(temp_s3->column, temp_s3->row + (var_s0 * 13), D_800E775C[var_s0 * 4], 0, 0.75f, 0.75f); + text_rainbow_effect(arg0->cursor - 31, var_s0, TEXT_YELLOW); + func_80093324(temp_s3->column, temp_s3->row + (var_s0 * 13), gTextPauseButton[var_s0 * 4], 0, 0.75f, 0.75f); } } -void func_800A5360(struct_8018D9E0_entry *arg0) { +void render_pause_battle(struct_8018D9E0_entry *arg0) { struct UnkStruct_800DC5EC *temp_v0; s16 temp_t0; s16 temp_v1; @@ -8912,8 +8913,8 @@ void func_800A5360(struct_8018D9E0_entry *arg0) { } else { var_s1 = var_a1; } - func_800921C0(arg0->unk4 - 0x29, var_a1, 3); - func_80093324(temp_s3->column - 2, temp_s3->row + 13 * var_a1, D_800E775C[var_s1], 0, 0.75f, 0.75f); + text_rainbow_effect(arg0->cursor - 0x29, var_a1, TEXT_YELLOW); + func_80093324(temp_s3->column - 2, temp_s3->row + 13 * var_a1, gTextPauseButton[var_s1], 0, 0.75f, 0.75f); } } @@ -8952,7 +8953,7 @@ void func_800A54EC(void) { } whyTheSequel = D_800F0B50[why]; sp50.column = var_v1->column - 8; - sp50.row = (var_v1->row + ((sp48->unk4 - whyTheSequel) * 0xD)) - 8; + sp50.row = (var_v1->row + ((sp48->cursor - whyTheSequel) * 0xD)) - 8; func_800A66A8(sp48, &sp50); } #else @@ -8979,12 +8980,12 @@ void func_800A5738(struct_8018D9E0_entry *arg0) { s32 zero = 0; char sp5C[3]; - var_v1 = arg0->unk4; + var_v1 = arg0->cursor; if (var_v1 == 0) { if ((arg0->unk1C >= 0x1E) && ((gGlobalTimer / 16) % 2)) { - gDisplayListHead = draw_box(gDisplayListHead, 0x000000C0, 0x00000021, (s32) (get_string_width(D_800E775C[5]) * 0.8f) + 0xC6, 0x00000032, 0, 0, 0, 0x00000096); + gDisplayListHead = draw_box(gDisplayListHead, 0x000000C0, 0x00000021, (s32) (get_string_width(gTextPauseButton[5]) * 0.8f) + 0xC6, 0x00000032, 0, 0, 0, 0x00000096); set_text_color(1); - func_80093324(0x000000BF, 0x00000030, D_800E775C[5], 0, 0.8f, 0.8f); + func_80093324(0x000000BF, 0x00000030, gTextPauseButton[5], 0, 0.8f, 0.8f); } } else { if (var_v1 == 1) { @@ -8998,7 +8999,7 @@ void func_800A5738(struct_8018D9E0_entry *arg0) { gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, var_s2); set_text_color(3); func_80093754(0x000000A0, 0x00000050, D_800E7574[gCupCourseOrder[gCupSelection][gCupCourseSelection]], 0, 1.0f, 1.0f); - switch (arg0->unk4) { /* switch 1 */ + switch (arg0->cursor) { /* switch 1 */ case 1: /* switch 1 */ case 11: /* switch 1 */ case 12: /* switch 1 */ @@ -9030,8 +9031,8 @@ void func_800A5738(struct_8018D9E0_entry *arg0) { get_time_record_centiseconds(temp_a0, sp84); text_draw(0x000000B3, 0x00000089, sp84, 0, 0.8f, 0.8f); for (var_s1 = 0; var_s1 < 6; var_s1++) { - func_800921C0(arg0->unk4 - 0xB, var_s1, 1); - func_80093358(D_800E8538[zero].column, D_800E8538[zero].row + (0xD * var_s1), D_800E775C[var_s1 + 1], 0, 0.75f, 0.75f); + text_rainbow_effect(arg0->cursor - 0xB, var_s1, TEXT_GREEN); + func_80093358(D_800E8538[zero].column, D_800E8538[zero].row + (0xD * var_s1), gTextPauseButton[var_s1 + 1], 0, 0.75f, 0.75f); } break; case 21: /* switch 1 */ @@ -9041,7 +9042,7 @@ void func_800A5738(struct_8018D9E0_entry *arg0) { case 25: /* switch 1 */ case 26: /* switch 1 */ set_text_color(3); - temp_v0 = arg0->unk4 - 0x15; + temp_v0 = arg0->cursor - 0x15; for (var_s1 = 0; var_s1 < 7; var_s1++) { func_80093324(0x0000004D, 0x6E + (0xD * var_s1), D_800E798C[(temp_v0 * 7) + var_s1], 0, 0.8f, 0.8f); } @@ -9053,7 +9054,7 @@ void func_800A5738(struct_8018D9E0_entry *arg0) { func_80093324(0x0000005A, arg0->row + (0xD * var_s1) + 0x6E, D_800E7A3C[var_s1], 0, 0.8f, 0.8f); } for (var_s1 = 0; var_s1 < 2; var_s1++) { - func_800921C0(arg0->unk4 - 0x1E, var_s1, 1); + text_rainbow_effect(arg0->cursor - 0x1E, var_s1, TEXT_GREEN); convert_number_to_ascii(var_s1 + 1, sp5C); func_80093324(0x5A - arg0->column, (0x96 + (0x14 * var_s1)), &sp5C[1], 0, 0.75f, 0.75f); if (D_8018EE10[var_s1].ghostDataSaved == 0) { @@ -9076,7 +9077,7 @@ void func_800A5738(struct_8018D9E0_entry *arg0) { func_80093324(0x00000055, arg0->row + (0xD * var_s1) + 0x6E, D_800E7A60[var_s1], 0, 0.8f, 0.8f); } for (var_s1 = 0; var_s1 < 2; var_s1++) { - func_800921C0(arg0->unk4 - 0x23, var_s1, 1); + text_rainbow_effect(arg0->cursor - 0x23, var_s1, TEXT_GREEN); func_80093324(0x7D - arg0->column, 0x9B + (0xF * var_s1), D_800E7A6C[var_s1], 0, 0.8f, 0.8f); } break; @@ -9093,22 +9094,22 @@ void func_800A5738(struct_8018D9E0_entry *arg0) { } break; } - switch (arg0->unk4) { /* switch 2 */ + switch (arg0->cursor) { /* switch 2 */ case 11: /* switch 2 */ case 12: /* switch 2 */ case 13: /* switch 2 */ case 14: /* switch 2 */ case 15: /* switch 2 */ case 16: /* switch 2 */ - var_v0_9 = &D_800E73E0[arg0->unk4 - 11]; + var_v0_9 = &D_800E73E0[arg0->cursor - 11]; break; case 30: /* switch 2 */ case 31: /* switch 2 */ - var_v0_9 = &D_800E7410[arg0->unk4 - 30]; + var_v0_9 = &D_800E7410[arg0->cursor - 30]; break; case 35: /* switch 2 */ case 36: /* switch 2 */ - var_v0_9 = &D_800E7420[arg0->unk4 - 35]; + var_v0_9 = &D_800E7420[arg0->cursor - 35]; break; default: return; @@ -9145,23 +9146,23 @@ void func_800A6154(struct_8018D9E0_entry *arg0) { s32 var_s0; s32 var_s1; - if (arg0->unk4 == 0) { + if (arg0->cursor == 0) { gDisplayListHead = draw_box(gDisplayListHead, 0, 0, 0x0000013F, 0x000000EF, 0, 0, 0, arg0->unk1C); set_text_color(3); gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, (arg0->unk1C * 0xFF) / 100); for (var_s1 = 0, var_s0 = 0x96; var_s0 < 0xBE; var_s1++, var_s0 += 0x14) { - func_80093358(0x0000008C, var_s0, D_800E775C[(var_s1 * 3) + 1], 0, 1.0f, 1.0f); + func_80093358(0x0000008C, var_s0, gTextPauseButton[(var_s1 * 3) + 1], 0, 1.0f, 1.0f); } } else { gDisplayListHead = draw_box(gDisplayListHead, 0, 0, 0x0000013F, 0x000000EF, 0, 0, 0, 0x00000064); for (var_s1 = 0, var_s0 = 0x96; var_s1 < 2; var_s1++, var_s0 += 0x14) { - func_800921C0(arg0->unk4 - 0xB, var_s1, 3); - func_80093324(0x0000008C, var_s0, D_800E775C[(var_s1 * 3) + 1], 0, 1.0f, 1.0f); + text_rainbow_effect(arg0->cursor - 0xB, var_s1, TEXT_YELLOW); + func_80093324(0x0000008C, var_s0, gTextPauseButton[(var_s1 * 3) + 1], 0, 1.0f, 1.0f); } } - if (arg0->unk4 >= 0xB) { + if (arg0->cursor >= 0xB) { sp6C.column = 0x0084; - sp6C.row = (arg0->unk4 * 0x14) - 0x4E; + sp6C.row = (arg0->cursor * 0x14) - 0x4E; func_800A66A8(arg0, &sp6C); } if (arg0->unk20 > 0) { @@ -9177,7 +9178,7 @@ void func_800A638C(struct_8018D9E0_entry *arg0) { s32 var_s1; s8 **var_s2; - if (arg0->unk4 == 0) { + if (arg0->cursor == 0) { gDisplayListHead = draw_box(gDisplayListHead, 0, 0, 0x0000013F, 0x000000EF, 0, 0, 0, arg0->unk1C); set_text_color(5); gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, (arg0->unk1C * 0xFF) / 100); @@ -9187,7 +9188,7 @@ void func_800A638C(struct_8018D9E0_entry *arg0) { set_text_color(5); draw_text(0x000000A0, arg0->row + 0x1E, D_800E7778[gModeSelection / 3], 0, 1.0f, 1.0f); } - switch (arg0->unk4) { /* irregular */ + switch (arg0->cursor) { /* irregular */ default: var_a1 = 0x000000FF; break; @@ -9213,12 +9214,12 @@ void func_800A638C(struct_8018D9E0_entry *arg0) { default: break; } - if (arg0->unk4 >= 10) { + if (arg0->cursor >= 10) { for (var_s1 = 0; var_s1 < 4; var_s1++) { - func_800921C0(arg0->unk4 - 0xA, var_s1, 1); - func_80093324(0x00000069, 0xAE + (0xF * var_s1), D_800E775C[var_s1 + 1], 0, 0.8f, 0.8f); + text_rainbow_effect(arg0->cursor - 0xA, var_s1, TEXT_GREEN); + func_80093324(0x00000069, 0xAE + (0xF * var_s1), gTextPauseButton[var_s1 + 1], 0, 0.8f, 0.8f); } - func_800A66A8(arg0, &D_800E7360[arg0->unk4 - 10]); + func_800A66A8(arg0, &D_800E7360[arg0->cursor - 10]); } } @@ -9439,7 +9440,7 @@ void func_800A70E8(struct_8018D9E0_entry *arg0) { s32 loopIndex; s32 stringIndex; - if (arg0->unk4 == 1) { + if (arg0->cursor == 1) { var_s0 = get_string_width(D_800E7A34[0]) * 0.45f; temp_f6 = get_string_width(D_800E7A34[1]) * 0.45f; if (var_s0 < temp_f6) { @@ -9460,7 +9461,7 @@ void func_800A70E8(struct_8018D9E0_entry *arg0) { // Shading layer of the grand prix podium result screen void func_800A7258(struct_8018D9E0_entry *arg0) { - if (arg0->unk4 == 0) { + if (arg0->cursor == 0) { // If shading layer is fading in gDisplayListHead = draw_box(gDisplayListHead, 0, 0, 0x13F, 0xEF, 0, 0, 0, arg0->unk1C); } else { @@ -9677,10 +9678,10 @@ void func_800A7A4C(s32 arg0) { func_800A97BC(var_s1); break; case 0x5: /* switch 8 */ - switch (var_s1->unk4) { /* switch 9; irregular */ + switch (var_s1->cursor) { /* switch 9; irregular */ case 0: /* switch 9 */ if (gControllerFive->button & R_TRIG) { - var_s1->unk4 = (s32) 1U; + var_s1->cursor = (s32) 1U; play_sound2(SOUND_ACTION_PING); } else { var_s1->visible = 0; @@ -10439,7 +10440,7 @@ void func_800A94C8(struct_8018D9E0_entry *arg0, s32 columnTarget, s32 arg2) { void func_800A954C(struct_8018D9E0_entry *arg0) { // Cycle lasts 26 (0x1A) frames - if (arg0->unk4 == 0) { + if (arg0->cursor == 0) { // Move highlight from yellow to red arg0->unk20 = (s32) (u32) ((((f32) (0xC - arg0->unk1C) * 127.0f) / 12.0f) + 128.0f); } else { @@ -10450,7 +10451,7 @@ void func_800A954C(struct_8018D9E0_entry *arg0) { if (arg0->unk1C >= 0xC) { // Every 13 (0xC) frames reverse direction arg0->unk1C = 0; - arg0->unk4 ^= 1; + arg0->cursor ^= 1; } } @@ -10479,8 +10480,8 @@ void func_800A9710(struct_8018D9E0_entry *arg0) { phi_v0 = 0; break; } - if (phi_v0 != arg0->unk4) { - arg0->unk4 = phi_v0; + if (phi_v0 != arg0->cursor) { + arg0->cursor = phi_v0; func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(D_800E7D34[phi_v0])); } } @@ -10597,7 +10598,7 @@ void func_800A97BC(struct_8018D9E0_entry *arg0, u32 arg3) { } } if ((u32) var_v1_2 < (u32) (D_800E86C4 + 4)) { - var_v1_2->unk3 = (s8) var_v1_2->unk4; + var_v1_2->unk3 = (s8) var_v1_2->cursor; } else { temp_v0_8 = var_v1_2->unk2; if ((temp_v0_8 == 0x10) || (temp_v0_8 == 0)) { @@ -10672,13 +10673,13 @@ void func_800A9A98(struct_8018D9E0_entry *arg0) { } void func_800A9B9C(struct_8018D9E0_entry *arg0) { - switch (arg0->unk4) { + switch (arg0->cursor) { case 0: func_800AA280(arg0); break; case 1: func_800AA280(arg0); - arg0->unk4 = 4; + arg0->cursor = 4; /* fallthrough */ case 4: if (arg0->unk1C > 0) { @@ -10688,11 +10689,11 @@ void func_800A9B9C(struct_8018D9E0_entry *arg0) { } } else { arg0->unk1C = 0; - arg0->unk4 = 0; + arg0->cursor = 0; } break; case 2: - arg0->unk4 = 3; + arg0->cursor = 3; break; case 3: default: @@ -10701,22 +10702,22 @@ void func_800A9B9C(struct_8018D9E0_entry *arg0) { } void func_800A9C40(struct_8018D9E0_entry *arg0) { - switch (arg0->unk4) { + switch (arg0->cursor) { case 0: func_800AA280(arg0); if ((gPlayerCount + 0xA) == arg0->type) { - arg0->unk4 = 2; + arg0->cursor = 2; } else { - arg0->unk4 = 1; + arg0->cursor = 1; } break; case 4: if ((gPlayerCount + 0xA) == arg0->type) { - arg0->unk4 = 2; + arg0->cursor = 2; arg0->unk1C = 0; break; } - arg0->unk4 = 1; + arg0->cursor = 1; case 1: func_800AA280(arg0); if ((gMainMenuSelectionDepth == CONFIRM_OK_SELECTION_FROM_BACK_OUT) || (gMainMenuSelectionDepth == TIME_TRIALS_DATA_SELECTION_FROM_BACK_OUT)) { @@ -10732,7 +10733,7 @@ void func_800A9C40(struct_8018D9E0_entry *arg0) { break; case 3: if ((gPlayerCount + 0xA) == arg0->type) { - arg0->unk4 = 2; + arg0->cursor = 2; } break; case 2: @@ -10750,7 +10751,7 @@ void func_800A9D5C(struct_8018D9E0_entry *arg0) { arg0->priority = 6; } - switch (arg0->unk4) { + switch (arg0->cursor) { case 2: if ((gMainMenuSelectionDepth == CONFIRM_OK_SELECTION_FROM_BACK_OUT) || (gMainMenuSelectionDepth == TIME_TRIALS_DATA_SELECTION_FROM_BACK_OUT)) { arg0->column = 0x00000080; @@ -10763,7 +10764,7 @@ void func_800A9D5C(struct_8018D9E0_entry *arg0) { temp_v0 = &D_800E70A0[arg0->type - 0xA]; func_800A91D8(arg0, temp_v0->column, temp_v0->row); if ((arg0->column == temp_v0->column) && (arg0->row == temp_v0->row)) { - arg0->unk4 = 0; + arg0->cursor = 0; } /* fallthrough */ case 0: @@ -10806,7 +10807,7 @@ void func_800A9E58(struct_8018D9E0_entry *arg0) { } temp_a1 = gGameModeFromNumPlayersAndRowSelection[gPlayerCount][D_800E86AC[gPlayerCount - 1]]; - switch (arg0->unk4) { /* switch 5; irregular */ + switch (arg0->cursor) { /* switch 5; irregular */ case 0: /* switch 5 */ if ((temp_a1 != sp20) && (temp_a1 != sp1C)) { arg0->visible = 0; @@ -10821,7 +10822,7 @@ void func_800A9E58(struct_8018D9E0_entry *arg0) { arg0->column = temp_v0->column; arg0->row = (D_800E86AC[gPlayerCount - 1] * 0x12) + temp_v0->row + 0x41; arg0->unk1C = 0; - arg0->unk4 = 1; + arg0->cursor = 1; break; case CONFIRM_OK_SELECTION_FROM_BACK_OUT: /* switch 2 */ case TIME_TRIALS_DATA_SELECTION_FROM_BACK_OUT: /* switch 2 */ @@ -10831,7 +10832,7 @@ void func_800A9E58(struct_8018D9E0_entry *arg0) { arg0->row = (D_800E86AC[gPlayerCount - 1] * 0x12) + temp_v0->row + temp_v1_2->row; arg0->unk1C = arg0->row - temp_v0->row; arg0->visible = 1; - arg0->unk4 = 2; + arg0->cursor = 2; break; default: /* switch 2 */ arg0->visible = 0; @@ -10848,10 +10849,10 @@ void func_800A9E58(struct_8018D9E0_entry *arg0) { case TIME_TRIALS_DATA_SELECTION_FROM_BACK_OUT: /* switch 3 */ if ((temp_a1 != sp20) && (temp_a1 != sp1C)) { arg0->visible = 0; - arg0->unk4 = 0; + arg0->cursor = 0; } else { if (arg0->unk20 != D_800E86AC[gPlayerCount - 1]) { - arg0->unk4 = 0; + arg0->cursor = 0; } temp_v0 = func_800AAE68(); arg0->column = temp_v0->column + arg0->unk1C; @@ -10859,14 +10860,14 @@ void func_800A9E58(struct_8018D9E0_entry *arg0) { func_800A92E8(arg0, temp_v0->column + temp_v1_2->column); arg0->unk1C = arg0->column - temp_v0->column; if (arg0->unk1C == temp_v1_2->column) { - arg0->unk4 = 2; + arg0->cursor = 2; arg0->unk1C = arg0->row - temp_v0->row; } } break; default: /* switch 3 */ arg0->visible = 0; - arg0->unk4 = 0; + arg0->cursor = 0; break; } break; @@ -10879,10 +10880,10 @@ void func_800A9E58(struct_8018D9E0_entry *arg0) { case TIME_TRIALS_DATA_SELECTION_FROM_BACK_OUT: /* switch 4 */ if ((temp_a1 != sp20) && (temp_a1 != sp1C)) { arg0->visible = 0; - arg0->unk4 = 0; + arg0->cursor = 0; } else { if (arg0->unk20 != D_800E86AC[gPlayerCount - 1]) { - arg0->unk4 = 0; + arg0->cursor = 0; } temp_v0 = func_800AAE68(); temp_v1_2 = &D_800E70E8[arg0->type - sp24]; @@ -10894,7 +10895,7 @@ void func_800A9E58(struct_8018D9E0_entry *arg0) { break; default: /* switch 4 */ arg0->visible = 0; - arg0->unk4 = 0; + arg0->cursor = 0; break; } break; @@ -10923,13 +10924,13 @@ void func_800AA2EC(struct_8018D9E0_entry *arg0) { case DATA_SELECTION: case PLAYER_NUM_SELECTION: case GAME_MODE_SELECTION: - arg0->unk4 = 0; + arg0->cursor = 0; break; case GAME_MODE_CC_OR_TIME_TRIALS_OPTIONS_SELECTION: case CONFIRM_OK_SELECTION: case CONFIRM_OK_SELECTION_FROM_BACK_OUT: case TIME_TRIALS_DATA_SELECTION_FROM_BACK_OUT: - if (arg0->unk4 != 0) break; + if (arg0->cursor != 0) break; if (gPlayerCount != 1) break; if (D_800E86AC[gPlayerCount - 1] != 1) break; @@ -10939,7 +10940,7 @@ void func_800AA2EC(struct_8018D9E0_entry *arg0) { case 5: /* switch 1 */ break; case 0: /* switch 1 */ - arg0->unk4 = 1; + arg0->cursor = 1; var_t1 = 1; break; case 2: /* switch 1 */ @@ -10953,7 +10954,7 @@ void func_800AA2EC(struct_8018D9E0_entry *arg0) { if (var_t1 == 0) { if (gControllerPak1State == 0) { if (check_for_controller_pak(0) == 0) { - arg0->unk4 = 2; + arg0->cursor = 2; break; } temp_v0 = osPfsInit(&gSIEventMesgQueue, &gControllerPak1FileHandle, 0); @@ -10961,14 +10962,14 @@ void func_800AA2EC(struct_8018D9E0_entry *arg0) { switch (temp_v0) { case PFS_ERR_NOPACK: case PFS_ERR_DEVICE: - arg0->unk4 = 2; + arg0->cursor = 2; break; case PFS_ERR_ID_FATAL: - arg0->unk4 = 3; + arg0->cursor = 3; break; case PFS_ERR_CONTRFAIL: default: - arg0->unk4 = 3; + arg0->cursor = 3; break; } return; @@ -10976,28 +10977,28 @@ void func_800AA2EC(struct_8018D9E0_entry *arg0) { gControllerPak1State = 1; } if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, gGameName, gExtCode, &gControllerPak1FileNote) == 0) { - arg0->unk4 = 1; + arg0->cursor = 1; break; } if (osPfsNumFiles(&gControllerPak1FileHandle, &gControllerPak1NumFilesUsed, &gControllerPak1MaxWriteableFiles) != 0) { - arg0->unk4 = 3; + arg0->cursor = 3; break; } if (osPfsFreeBlocks(&gControllerPak1FileHandle, &gControllerPak1NumPagesFree) != 0) { - arg0->unk4 = 3; + arg0->cursor = 3; break; } gControllerPak1NumPagesFree = (s32) gControllerPak1NumPagesFree >> 8; } if (gControllerPak1MaxWriteableFiles >= gControllerPak1NumFilesUsed) { - arg0->unk4 = 5; + arg0->cursor = 5; break; } if (gControllerPak1NumPagesFree >= 0x79) { - arg0->unk4 = 1; + arg0->cursor = 1; break; } - arg0->unk4 = 5; + arg0->cursor = 5; } break; default: @@ -11102,9 +11103,9 @@ void func_800AA69C(struct_8018D9E0_entry *arg0) { } void func_800AAA9C(struct_8018D9E0_entry *arg0) { - switch (arg0->unk4) { + switch (arg0->cursor) { case 3: - arg0->unk4 = 1; + arg0->cursor = 1; /* fallthrough */ case 1: if (D_8018EDEE == 3) { @@ -11120,15 +11121,15 @@ void func_800AAA9C(struct_8018D9E0_entry *arg0) { /* fallthrough */ case 0: if (func_800AAFCC(arg0->type - 0x2B) >= 0) { - arg0->unk4 = 2; + arg0->cursor = 2; arg0->unk1C = 0; } else { - arg0->unk4 = 1; + arg0->cursor = 1; } break; case 4: if (func_800AAFCC(arg0->type - 0x2B) >= 0) { - arg0->unk4 = 2; + arg0->cursor = 2; arg0->unk1C = 0; } break; @@ -11139,14 +11140,14 @@ void func_800AAA9C(struct_8018D9E0_entry *arg0) { } void func_800AAB90(struct_8018D9E0_entry *arg0) { - switch (arg0->unk4) { + switch (arg0->cursor) { case 1: if (arg0->unk1C > 0) { - arg0->unk4 = 3; + arg0->cursor = 3; } break; case 2: - arg0->unk4 = 4; + arg0->cursor = 4; break; case 3: if (arg0->unk1C > 0) { @@ -11156,7 +11157,7 @@ void func_800AAB90(struct_8018D9E0_entry *arg0) { } } else { arg0->unk1C = 0; - arg0->unk4 = 0; + arg0->cursor = 0; } break; case 0: @@ -11175,7 +11176,7 @@ void func_800AAC18(struct_8018D9E0_entry *arg0) { Unk_D_800E70A0 *var_t0; temp_a1 = arg0->type - 0x2B; - switch (arg0->unk4) { + switch (arg0->cursor) { case 0: if (D_8018EDEE == 3) { temp_v0 = func_800AAFCC(temp_a1); @@ -11183,7 +11184,7 @@ void func_800AAC18(struct_8018D9E0_entry *arg0) { var_t0 = &D_800E7188[(gScreenModeSelection * 4) + temp_v0]; arg0->column = (s32) var_t0->column; arg0->row = (s32) var_t0->row; - arg0->unk4 = 2; + arg0->cursor = 2; arg0->unk8 = 2; func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(D_800E8340[temp_a1])); } @@ -11197,7 +11198,7 @@ void func_800AAC18(struct_8018D9E0_entry *arg0) { break; case 2: case 4: - if (arg0->unk4 == 2) { + if (arg0->cursor == 2) { temp_v0 = func_800AAFCC(temp_a1); if (temp_v0 >= 0) { var_t0 = &D_800E7188[(gScreenModeSelection * 4) + temp_v0]; @@ -11205,11 +11206,11 @@ void func_800AAC18(struct_8018D9E0_entry *arg0) { } else { var_t0 = &D_800E7108[0][temp_a1]; if ((var_t0->column == arg0->column) && (var_t0->row == arg0->row)) { - arg0->unk4 = 0; + arg0->cursor = 0; return; } } - if ((arg0->unk4 != 2) || (arg0->unk8 != 1)) { + if ((arg0->cursor != 2) || (arg0->unk8 != 1)) { func_800A91D8(arg0, (s32) var_t0->column, (s32) var_t0->row); } break; @@ -11321,7 +11322,7 @@ escape: s32 func_800AAF70(s32 arg0) { struct_8018D9E0_entry *temp; temp = func_800AAEB4(arg0); - return temp->unk4; + return temp->cursor; } void func_800AAF94(struct_8018D9E0_entry *arg0, s32 arg1) { @@ -11351,9 +11352,9 @@ s32 func_800AAFCC(s32 arg0) { } void func_800AB020(struct_8018D9E0_entry *arg0) { - switch (arg0->unk4) { + switch (arg0->cursor) { case 1: - arg0->unk4 = 4; + arg0->cursor = 4; /* fallthrough */ case 4: if (arg0->unk1C > 0) { @@ -11363,11 +11364,11 @@ void func_800AB020(struct_8018D9E0_entry *arg0) { } } else { arg0->unk1C = 0; - arg0->unk4 = 0; + arg0->cursor = 0; } break; case 2: - arg0->unk4 = 3; + arg0->cursor = 3; break; case 0: case 3: @@ -11377,21 +11378,21 @@ void func_800AB020(struct_8018D9E0_entry *arg0) { } void func_800AB098(struct_8018D9E0_entry *arg0) { - switch (arg0->unk4) { + switch (arg0->cursor) { case 0: if ((gCupSelection + 0x53) == arg0->type) { - arg0->unk4 = 2; + arg0->cursor = 2; } else { - arg0->unk4 = 1; + arg0->cursor = 1; } break; case 4: if ((gCupSelection + 0x53) == arg0->type) { - arg0->unk4 = 2; + arg0->cursor = 2; arg0->unk1C = 0; break; } else { - arg0->unk4 = 1; + arg0->cursor = 1; } // Purposeful fallthrough case 1: @@ -11404,7 +11405,7 @@ void func_800AB098(struct_8018D9E0_entry *arg0) { break; case 3: if ((gCupSelection + 0x53) == arg0->type) { - arg0->unk4 = 2; + arg0->cursor = 2; } break; case 2: @@ -11422,7 +11423,7 @@ void func_800AB164(struct_8018D9E0_entry *arg0) { arg0->priority = 4; } - switch (arg0->unk4) { + switch (arg0->cursor) { case 0: thing = &D_800E7148[arg0->type - 0x53]; arg0->column = thing->column; @@ -11435,7 +11436,7 @@ void func_800AB164(struct_8018D9E0_entry *arg0) { thing = &D_800E7148[arg0->type - 0x53]; func_800A91D8(arg0, thing->column, thing->row); if ((arg0->column == thing->column) && (arg0->row == thing->row)) { - arg0->unk4 = 0; + arg0->cursor = 0; } break; case 1: @@ -11476,7 +11477,7 @@ void func_800AB314(struct_8018D9E0_entry *arg0) { } if (gModeSelection != 0) { if (D_8018EDEC != 1U) { - arg0->unk4 = 0; + arg0->cursor = 0; arg0->unk20 = 0; for (var_a1 = 0; var_a1 < 4; var_a1++) { if (gCupCourseSelection == var_a1) { @@ -11490,20 +11491,20 @@ void func_800AB314(struct_8018D9E0_entry *arg0) { } } } else { - arg0->unk4 = 3; + arg0->cursor = 3; for (var_a1 = 0; var_a1 < 4; var_a1++) { sp24[var_a1]->visible = 1; sp24[var_a1]->priority = 6; } } } else { - var_v0 = arg0->unk4; + var_v0 = arg0->cursor; switch (var_v0) { /* irregular */ case 0: if ((arg0->unk1C / 4) == gCupSelection) { arg0->unk20++; if (arg0->unk20 >= 0x33) { - arg0->unk4 = 1; + arg0->cursor = 1; arg0->unk20 = 0; arg0->unk1C = (gCupSelection * 4); arg0->unk1C++; @@ -11513,14 +11514,14 @@ void func_800AB314(struct_8018D9E0_entry *arg0) { arg0->unk1C = gCupSelection * 4; } if (D_8018EDEC == 3) { - arg0->unk4 = 2; + arg0->cursor = 2; arg0->unk20 = 0; } - var_v0 = arg0->unk4; + var_v0 = arg0->cursor; break; case 1: if ((arg0->unk1C / 4) != gCupSelection) { - arg0->unk4 = 0; + arg0->cursor = 0; var_v0 = 0; arg0->unk20 = 0; arg0->unk1C = 0; @@ -11529,32 +11530,32 @@ void func_800AB314(struct_8018D9E0_entry *arg0) { if (arg0->unk20 >= 0x1F) { arg0->unk20 = 0; arg0->unk1C = (gCupSelection * 4) + (((arg0->unk1C % 4) + 1) % 4); - var_v0 = arg0->unk4; + var_v0 = arg0->cursor; } else { if (D_8018EDEC == 3) { - arg0->unk4 = 2; + arg0->cursor = 2; arg0->unk20 = 0; } - var_v0 = arg0->unk4; + var_v0 = arg0->cursor; } } break; case 2: arg0->unk20++; if (arg0->unk20 >= 0x1A) { - arg0->unk4 = 3; + arg0->cursor = 3; arg0->unk20 = 0; } if (D_8018EDEC != 3) { - arg0->unk4 = 0; + arg0->cursor = 0; arg0->unk20 = 0; arg0->unk1C = 0; } - var_v0 = arg0->unk4; + var_v0 = arg0->cursor; break; case 3: if (D_8018EDEC != 3) { - arg0->unk4 = 0; + arg0->cursor = 0; arg0->unk20 = 0; arg0->unk1C = 0; var_v0 = 0; @@ -11630,18 +11631,18 @@ void func_800AB9B0(struct_8018D9E0_entry *arg0) { arg0->column = (s32) D_800E7268->column; arg0->row = D_800E7268->row; } - temp_v1 = &D_800E7268[arg0->unk4]; - switch (arg0->unk4) { /* irregular */ + temp_v1 = &D_800E7268[arg0->cursor]; + switch (arg0->cursor) { /* irregular */ case 0: func_800A91D8(arg0, (s32) temp_v1->column, (s32) temp_v1->row); if (D_8018EDEC == 3) { - arg0->unk4 = 1; + arg0->cursor = 1; } break; case 1: func_800A91D8(arg0, (s32) temp_v1->column, (s32) temp_v1->row); if (D_8018EDEC == 1) { - arg0->unk4 = 0; + arg0->cursor = 0; } break; } @@ -11715,10 +11716,10 @@ void func_800ABC38(struct_8018D9E0_entry *arg0) { void func_800ABCF4(struct_8018D9E0_entry *arg0) { f64 temp_f0; - switch (arg0->unk4) { /* irregular */ + switch (arg0->cursor) { /* irregular */ case 0: arg0->column = 0; - arg0->unk4 = 1; + arg0->cursor = 1; arg0->unk20 = (get_string_width(gCupNames[D_800DC540]) / 2) + 0xA0; /* fallthrough */ case 1: @@ -11729,7 +11730,7 @@ void func_800ABCF4(struct_8018D9E0_entry *arg0) { } arg0->unk24 = (f32) (((f64) arg0->unk1C * 0.05) + 1.0); if (arg0->column >= (arg0->unk20 - 0x14)) { - arg0->unk4 = 2; + arg0->cursor = 2; arg0->D_8018DEE0_index = 0; } break; @@ -11775,10 +11776,10 @@ void func_800ABEAC(struct_8018D9E0_entry *arg0) { } void func_800ABF68(struct_8018D9E0_entry *arg0) { - switch (arg0->unk4) { + switch (arg0->cursor) { case 0: arg0->column = 0x140; - arg0->unk4 = 1; + arg0->cursor = 1; arg0->unk20 = 0xA0 - (get_string_width(D_800E7524[gCurrentCourseId]) / 2); /* fallthrough */ case 1: @@ -11789,7 +11790,7 @@ void func_800ABF68(struct_8018D9E0_entry *arg0) { } arg0->unk24 = (arg0->unk1C * 0.05) + 1.0; if ((arg0->unk20 + 0x14) >= arg0->column) { - arg0->unk4 = 2; + arg0->cursor = 2; arg0->D_8018DEE0_index = 0; } break; @@ -11806,10 +11807,10 @@ void func_800ABF68(struct_8018D9E0_entry *arg0) { } void func_800AC128(struct_8018D9E0_entry *arg0) { - switch (arg0->unk4) { + switch (arg0->cursor) { case 0: arg0->column = 0x00000140; - arg0->unk4 = 1; + arg0->cursor = 1; /* fallthrough */ case 1: func_800A940C(arg0, 0x00000064); @@ -11819,7 +11820,7 @@ void func_800AC128(struct_8018D9E0_entry *arg0) { } arg0->unk24 = (f32) (((f64) arg0->unk1C * 0.07) + 0.6); if (arg0->column == 0x00000064) { - arg0->unk4 = 2; + arg0->cursor = 2; arg0->D_8018DEE0_index = 0; } break; @@ -11828,7 +11829,7 @@ void func_800AC128(struct_8018D9E0_entry *arg0) { arg0->unk1C = 0; arg0->unk24 = (f32) (1.5 - ((arg0->D_8018DEE0_index - 0xF) * 0.004 * (arg0->D_8018DEE0_index - 0xF))); if ((arg0->D_8018DEE0_index >= 0x10) && ((f64) arg0->unk24 < 0.8)) { - arg0->unk4 = 3; + arg0->cursor = 3; arg0->D_8018DEE0_index = 0; } break; @@ -11850,23 +11851,23 @@ void func_800AC300(struct_8018D9E0_entry *arg0) { } void func_800AC324(struct_8018D9E0_entry *arg0) { - switch (arg0->unk4) { + switch (arg0->cursor) { case 0: arg0->column = 0x14A; - arg0->unk4 = 1; + arg0->cursor = 1; func_800921B4(); break; case 1: func_800A9208(arg0, 0xA0); if (arg0->column == 0xA0) { - arg0->unk4 = 2; + arg0->cursor = 2; arg0->unk20 = 0; } break; case 2: arg0->unk20++; if (((D_8018D9D8 != 0) || (arg0->unk20 >= 0x5B)) && (D_800DDB24 != 0)) { - arg0->unk4 = 3; + arg0->cursor = 3; arg0->unk1C = arg0->column; add_8018D9E0_entry(0xAB, 0, 0, 0); } @@ -11893,10 +11894,10 @@ void func_800AC458(struct_8018D9E0_entry *arg0) { s32 var_a1; s32 var_t1; - switch (arg0->unk4) { + switch (arg0->cursor) { case 0: arg0->column = -0x000000A0; - arg0->unk4 = 1; + arg0->cursor = 1; for (var_a1 = 0; var_a1 < 4; var_a1++) { D_8018D9BC[var_a1] = gGPPointRewards[var_a1]; } @@ -11916,7 +11917,7 @@ void func_800AC458(struct_8018D9E0_entry *arg0) { } else { arg0->unk20 = 0; arg0->column = 0; - arg0->unk4 = 2; + arg0->cursor = 2; arg0->unk1C = 0; D_800DC5EC->screenStartX = 0x00F0; D_800DC5F0->screenStartX = 0x0050; @@ -11926,7 +11927,7 @@ void func_800AC458(struct_8018D9E0_entry *arg0) { arg0->column = 0; arg0->unk1C++; if (((D_8018D9D8 != 0) || (arg0->unk1C >= 0x1F)) && (D_800DDB24 != 0)) { - arg0->unk4 = 3; + arg0->cursor = 3; arg0->unk1C = 0; arg0->unk20 = 0; } @@ -11936,7 +11937,7 @@ void func_800AC458(struct_8018D9E0_entry *arg0) { case 5: case 6: var_t1 = 0; - var_a1 = arg0->unk4 - 3; + var_a1 = arg0->cursor - 3; arg0->unk1C++; if (((arg0->unk1C % 3) == 0) || (D_8018D9D8 != 0)) { if (D_8018D9BC[var_a1] > 0) { @@ -11956,17 +11957,17 @@ void func_800AC458(struct_8018D9E0_entry *arg0) { if (var_t1 != 0) { arg0->unk20 = 0; arg0->unk1C = 0; - if (arg0->unk4 < 6) { - arg0->unk4++; + if (arg0->cursor < 6) { + arg0->cursor++; } else { - arg0->unk4 = 7; + arg0->cursor = 7; } } break; case 7: arg0->unk1C++; if ((((D_8018D9D8 != 0) && (arg0->unk1C >= 0xB)) || (arg0->unk1C >= 0x3D)) && (D_800DDB24 != 0)) { - arg0->unk4 = 8; + arg0->cursor = 8; arg0->unk1C = 0; } break; @@ -11976,7 +11977,7 @@ void func_800AC458(struct_8018D9E0_entry *arg0) { arg0->unk1C += 5; } if (arg0->unk1C >= 0x29) { - arg0->unk4 = 9; + arg0->cursor = 9; } break; case 9: @@ -11985,7 +11986,7 @@ void func_800AC458(struct_8018D9E0_entry *arg0) { arg0->unk1C -= 5; } if (arg0->unk1C <= 0) { - arg0->unk4 = 0x0000000A; + arg0->cursor = 0x0000000A; arg0->unk1C = 0; if (gCupCourseSelection == 3) { for (var_a1 = 0; var_a1 < 8; var_a1++) { @@ -12000,14 +12001,14 @@ void func_800AC458(struct_8018D9E0_entry *arg0) { case 10: arg0->unk1C++; if (arg0->unk1C > 0) { - arg0->unk4 = 0x0000000B; + arg0->cursor = 0x0000000B; arg0->unk1C = 0; func_800921B4(); } break; case 11: if ((D_8018D9D8 != 0) && (D_800DDB24 != 0)) { - arg0->unk4 = 0x0000000C; + arg0->cursor = 0x0000000C; arg0->unk20 = arg0->row; play_sound2(SOUND_ACTION_NEXT_COURSE); } @@ -12020,7 +12021,7 @@ void func_800AC458(struct_8018D9E0_entry *arg0) { D_800DC5F0->screenStartY -= 0x10; } else { arg0->unk20 = 0; - arg0->unk4 = 0x0000000D; + arg0->cursor = 0x0000000D; arg0->unk1C = 0; D_800DC5EC->screenStartY = 0x012C; D_800DC5F0->screenStartY = -0x003C; @@ -12038,16 +12039,16 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_800AC458.s") #endif void func_800AC978(struct_8018D9E0_entry *arg0) { - switch (arg0->unk4) { /* irregular */ + switch (arg0->cursor) { /* irregular */ case 0: arg0->column = 0x14A; - arg0->unk4 = 1; + arg0->cursor = 1; arg0->unk1C = 0xFF; break; case 1: func_800A9208(arg0, 0xA0); if (arg0->column == 0xA0) { - arg0->unk4 = 2; + arg0->cursor = 2; } break; case 2: @@ -12061,13 +12062,13 @@ void func_800AC978(struct_8018D9E0_entry *arg0) { } void func_800ACA14(struct_8018D9E0_entry *arg0) { - switch (arg0->unk4) { /* irregular */ + switch (arg0->cursor) { /* irregular */ case 0: if (arg0->unk20 >= 0xB) { arg0->unk1C += 3; } if (arg0->unk1C >= 0x65) { - arg0->unk4 = 0x0000000B; + arg0->cursor = 0x0000000B; arg0->unk1C = 0; } break; @@ -12076,8 +12077,8 @@ void func_800ACA14(struct_8018D9E0_entry *arg0) { if (func_800B4520()) break; if ((gControllerFive->buttonPressed | gControllerFive->stickPressed) & 0x800) { - if (arg0->unk4 >= 0xC) { - arg0->unk4--; + if (arg0->cursor >= 0xC) { + arg0->cursor--; play_sound2(SOUND_MENU_CURSOR_MOVE); if (arg0->unk24 < 4.2) { arg0->unk24 += 4.0; @@ -12086,8 +12087,8 @@ void func_800ACA14(struct_8018D9E0_entry *arg0) { } } if ((gControllerFive->buttonPressed | gControllerFive->stickPressed) & 0x400) { - if (arg0->unk4 < 0xC) { - arg0->unk4++; + if (arg0->cursor < 0xC) { + arg0->cursor++; play_sound2(SOUND_MENU_CURSOR_MOVE); if (arg0->unk24 < 4.2) { arg0->unk24 += 4.0; @@ -12115,11 +12116,11 @@ void func_800ACA14(struct_8018D9E0_entry *arg0) { void func_800ACC50(struct_8018D9E0_entry *arg0) { s32 var_s0; - switch (arg0->unk4) { + switch (arg0->cursor) { case 0: arg0->unk1C += 3; if (arg0->unk1C >= 0x65) { - arg0->unk4 = 1; + arg0->cursor = 1; arg0->unk1C = 0; for (var_s0 = 0; var_s0 < gPlayerCount; var_s0++) { add_8018D9E0_entry(var_s0 + 0xB1, 0, 0, (s8) (5 - var_s0)); @@ -12127,17 +12128,17 @@ void func_800ACC50(struct_8018D9E0_entry *arg0) { } break; case 1: - if (find_8018D9E0_entry_dupe(0x000000B1)->unk4 >= 2) { - arg0->unk4 = 2; + if (find_8018D9E0_entry_dupe(0x000000B1)->cursor >= 2) { + arg0->cursor = 2; } break; case 2: arg0->unk1C += 0x20; if (arg0->unk1C >= 0x100) { if (gModeSelection == VERSUS) { - arg0->unk4 = (s32) D_8018EDF4; + arg0->cursor = (s32) D_8018EDF4; } else { - arg0->unk4 = (s32) D_8018EDF6; + arg0->cursor = (s32) D_8018EDF6; } arg0->unk1C = 0; } @@ -12148,8 +12149,8 @@ void func_800ACC50(struct_8018D9E0_entry *arg0) { case 13: if (func_800B4520() == 0) { if ((gControllerFive->buttonPressed | gControllerFive->stickPressed) & 0x800) { - if (arg0->unk4 >= 0xB) { - arg0->unk4--; + if (arg0->cursor >= 0xB) { + arg0->cursor--; play_sound2(SOUND_MENU_CURSOR_MOVE); if (arg0->unk24 < 4.2) { arg0->unk24 += 4.0; @@ -12158,8 +12159,8 @@ void func_800ACC50(struct_8018D9E0_entry *arg0) { } } if ((gControllerFive->buttonPressed | gControllerFive->stickPressed) & 0x400) { - if (arg0->unk4 < 0xD) { - arg0->unk4++; + if (arg0->cursor < 0xD) { + arg0->cursor++; play_sound2(SOUND_MENU_CURSOR_MOVE); if (arg0->unk24 < 4.2) { arg0->unk24 += 4.0; @@ -12171,9 +12172,9 @@ void func_800ACC50(struct_8018D9E0_entry *arg0) { func_8009DFE0(0x0000001E); play_sound2(SOUND_MENU_OK_CLICKED); if (gModeSelection == VERSUS) { - D_8018EDF4 = (s8) arg0->unk4; + D_8018EDF4 = (s8) arg0->cursor; } else { - D_8018EDF6 = (s8) arg0->unk4; + D_8018EDF6 = (s8) arg0->cursor; } if (arg0->unk24 < 4.2) { arg0->unk24 += 4.0; @@ -12195,18 +12196,18 @@ void func_800ACF40(struct_8018D9E0_entry *arg0) { temp_a2 = arg0->type - 0xB1; temp_a1 = D_800EFD64[gCharacterSelections[arg0->type - 0xB1]]; - switch (arg0->unk4) { + switch (arg0->cursor) { case 0: arg0->column = D_800E72F8.column; arg0->row = D_800E72F8.row; - arg0->unk4 = 1; + arg0->cursor = 1; break; case 1: temp_v0_2 = &D_800E7300[((gPlayerCount - 2) * 4) + temp_a2]; func_800A9208(arg0, temp_v0_2->column); func_800A9278(arg0, temp_v0_2->row); if (arg0->column == temp_v0_2->column) { - arg0->unk4 = 2; + arg0->cursor = 2; arg0->unk20 = 0; } break; @@ -12227,9 +12228,9 @@ void func_800ACF40(struct_8018D9E0_entry *arg0) { if (var_v1 == 0) { arg0->unk20++; if (arg0->unk20 >= 0x1F) { - if (find_8018D9E0_entry_dupe(0x000000B0)->unk4 >= 2) { + if (find_8018D9E0_entry_dupe(0x000000B0)->cursor >= 2) { func_8009A640(arg0->D_8018DEE0_index, 0, temp_a2, segmented_to_virtual_dupe_2(gCharacterCelebrateAnimation[temp_a1])); - arg0->unk4 = 3; + arg0->cursor = 3; func_800CA24C(temp_a2); func_800C90F4(temp_a2, (gCharacterSelections[temp_a2] * 0x10) + 0x29008007); } @@ -12239,7 +12240,7 @@ void func_800ACF40(struct_8018D9E0_entry *arg0) { case 3: if (D_8018DEE0[arg0->D_8018DEE0_index].sequenceIndex >= D_800E8440[temp_a1]) { func_8009A640(arg0->D_8018DEE0_index, 0, temp_a2, segmented_to_virtual_dupe_2(D_800E83A0[temp_a1])); - arg0->unk4 = 4; + arg0->cursor = 4; } break; case 4: @@ -12249,30 +12250,30 @@ void func_800ACF40(struct_8018D9E0_entry *arg0) { } void func_800AD1A4(struct_8018D9E0_entry *arg0) { - switch (arg0->unk4) { + switch (arg0->cursor) { case 0: arg0->column = 0x0000014A; - arg0->unk4 = 1; + arg0->cursor = 1; func_800921B4(); add_8018D9E0_entry(0x000000BB, 0, 0, 0); break; case 1: func_800A9208(arg0, 0x000000A0); if (arg0->column == 0x000000A0) { - arg0->unk4 = 2; + arg0->cursor = 2; arg0->unk20 = 0; } break; case 2: arg0->unk20++; if (arg0->unk20 >= 0x15) { - arg0->unk4 = 3; + arg0->cursor = 3; } break; case 3: if (D_8018D9D8 != 0) { func_800921B4(); - arg0->unk4 = 4; + arg0->cursor = 4; arg0->unk1C = arg0->column; add_8018D9E0_entry(0x000000BA, 0, 0, 0); } @@ -12300,10 +12301,10 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) { s32 var_a1; s32 index; - switch (arg0->unk4) { /* switch 3; irregular */ + switch (arg0->cursor) { /* switch 3; irregular */ case 0: /* switch 3 */ arg0->column = -0x000000A0; - arg0->unk4 = 1; + arg0->cursor = 1; for (index = 0; index < 4; index++) { D_8018D9BC[index] = gGPPointRewards[index]; } @@ -12323,9 +12324,9 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) { } else { arg0->unk20 = 0; arg0->column = 0; - arg0->unk4 = D_8018EDF5; - if ((arg0->unk4 == 9) && (D_80162DF8 == 1)) { - arg0->unk4--; + arg0->cursor = D_8018EDF5; + if ((arg0->cursor == 9) && (D_80162DF8 == 1)) { + arg0->cursor--; } D_800DC5EC->screenStartX = 0x00F0; D_800DC5F0->screenStartX = 0x0050; @@ -12339,10 +12340,10 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) { case 10: /* switch 3 */ if (func_800B4520() == 0) { if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) { - if (arg0->unk4 >= 6) { - arg0->unk4--; - if ((D_80162DF8 == 1) && (arg0->unk4 == 9)) { - arg0->unk4--; + if (arg0->cursor >= 6) { + arg0->cursor--; + if ((D_80162DF8 == 1) && (arg0->cursor == 9)) { + arg0->cursor--; } play_sound2(SOUND_MENU_CURSOR_MOVE); if (arg0->unk24 < 4.2) { @@ -12352,13 +12353,13 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) { } } if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x400) { - if (arg0->unk4 < 0xA) { - arg0->unk4++; - if ((D_80162DF8 == 1) && (arg0->unk4 == 9)) { - arg0->unk4++; + if (arg0->cursor < 0xA) { + arg0->cursor++; + if ((D_80162DF8 == 1) && (arg0->cursor == 9)) { + arg0->cursor++; } - if ((arg0->unk4 == 0x0000000A) && (D_80162DD4 != 0)) { - arg0->unk4 -= 2; + if ((arg0->cursor == 0x0000000A) && (D_80162DD4 != 0)) { + arg0->cursor -= 2; } else { play_sound2(SOUND_MENU_CURSOR_MOVE); if (arg0->unk24 < 4.2) { @@ -12369,7 +12370,7 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) { } } if (gControllerOne->buttonPressed & 0x9000) { - if (arg0->unk4 == 0x0000000A) { + if (arg0->cursor == 0x0000000A) { var_v1 = 0; if (arg0->unk24 < 4.2) { arg0->unk24 += 4.0; @@ -12381,7 +12382,7 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) { break; case 0: /* switch 4 */ func_800B6708(); - arg0->unk4 = func_800B6348((gCupSelection * 4) + gCupCourseSelection) + 0x11; + arg0->cursor = func_800B6348((gCupSelection * 4) + gCupCourseSelection) + 0x11; var_v1 = 1; play_sound2(SOUND_MENU_SELECT); break; @@ -12397,26 +12398,26 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) { if (gControllerPak1State == 0) { switch (func_800B5F30()) { /* switch 2 */ case -1: /* switch 2 */ - arg0->unk4 = 0x0000000B; + arg0->cursor = 0x0000000B; var_v1 = 1; break; case -3: /* switch 2 */ case -2: /* switch 2 */ - arg0->unk4 = 0x0000000C; + arg0->cursor = 0x0000000C; var_v1 = 1; break; case 1: /* switch 2 */ case 11: /* switch 2 */ - arg0->unk4 = 0x0000000B; + arg0->cursor = 0x0000000B; var_v1 = 1; break; case 10: /* switch 2 */ - arg0->unk4 = 0x0000000C; + arg0->cursor = 0x0000000C; var_v1 = 1; break; default: /* switch 2 */ var_v1 = 1; - arg0->unk4 = 0x0000000C; + arg0->cursor = 0x0000000C; break; case 0: break; @@ -12427,29 +12428,29 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) { } if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, gGameName, gExtCode, &gControllerPak1FileNote) == 0) { func_800B6708(); - arg0->unk4 = func_800B6348((gCupSelection * 4) + gCupCourseSelection) + 0x11; + arg0->cursor = func_800B6348((gCupSelection * 4) + gCupCourseSelection) + 0x11; play_sound2(SOUND_MENU_SELECT); return; } } if (gControllerPak1MaxWriteableFiles >= gControllerPak1NumFilesUsed) { - arg0->unk4 = 0x0000000E; + arg0->cursor = 0x0000000E; play_sound2(SOUND_MENU_FILE_NOT_FOUND); return; } if (gControllerPak1NumPagesFree >= 0x79) { - arg0->unk4 = 0x00000013; + arg0->cursor = 0x00000013; arg0->unk1C = 0; play_sound2(SOUND_MENU_SELECT); return; } - arg0->unk4 = 0x0000000E; + arg0->cursor = 0x0000000E; play_sound2(SOUND_MENU_FILE_NOT_FOUND); } } else { - arg0->unk1C = arg0->unk4; - D_8018EDF5 = arg0->unk4; - arg0->unk4 = 0x0000001E; + arg0->unk1C = arg0->cursor; + D_8018EDF5 = arg0->cursor; + arg0->cursor = 0x0000001E; arg0->unk20 = arg0->row; play_sound2(SOUND_ACTION_NEXT_COURSE); if (arg0->unk24 < 4.2) { @@ -12467,7 +12468,7 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) { case 16: /* switch 1 */ case 26: /* switch 1 */ if (gControllerOne->buttonPressed & 0xD000) { - arg0->unk4 = 0x0000000A; + arg0->cursor = 0x0000000A; play_sound2(SOUND_MENU_GO_BACK); if (arg0->unk24 < 4.2) { arg0->unk24 += 4.0; @@ -12476,11 +12477,11 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) { break; case 17: /* switch 1 */ case 18: /* switch 1 */ - arg0->unk20 = arg0->unk4 - 0x11; + arg0->unk20 = arg0->cursor - 0x11; if (func_800B639C((gCupSelection * 4) + gCupCourseSelection) != arg0->unk20) { if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) { - if (arg0->unk4 >= 0x12) { - arg0->unk4--; + if (arg0->cursor >= 0x12) { + arg0->cursor--; play_sound2(SOUND_MENU_CURSOR_MOVE); if (arg0->unk24 < 4.2) { arg0->unk24 += 4.0; @@ -12489,8 +12490,8 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) { } } if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x400) { - if (arg0->unk4 < 0x12) { - arg0->unk4++; + if (arg0->cursor < 0x12) { + arg0->cursor++; play_sound2(SOUND_MENU_CURSOR_MOVE); if (arg0->unk24 < 4.2) { arg0->unk24 += 4.0; @@ -12500,19 +12501,19 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) { } } if (gControllerOne->buttonPressed & 0x4000) { - arg0->unk4 = 0x0000000A; + arg0->cursor = 0x0000000A; play_sound2(SOUND_MENU_GO_BACK); return; } if (gControllerOne->buttonPressed & 0x9000) { thing = &D_8018EE10[arg0->unk20]; if (thing->ghostDataSaved == 0) { - arg0->unk4 = 0x00000019; + arg0->cursor = 0x00000019; arg0->unk1C = 0; } else if (func_800B63F0(arg0->unk20) == 0) { - arg0->unk4 = 0x00000010; + arg0->cursor = 0x00000010; } else { - arg0->unk4 = 0x00000014; + arg0->cursor = 0x00000014; } play_sound2(SOUND_MENU_SELECT); if (arg0->unk24 < 4.2) { @@ -12522,19 +12523,19 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) { break; case 19: /* switch 1 */ if ((arg0->unk1C == 1) && (func_800B6A68() != 0)) { - arg0->unk4 = 0x0000000F; + arg0->cursor = 0x0000000F; return; } else { arg0->unk1C++; if (arg0->unk1C >= 2) { - arg0->unk4 = 0x00000011; + arg0->cursor = 0x00000011; } } break; case 20: /* switch 1 */ case 21: /* switch 1 */ - if (((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) && (arg0->unk4 >= 0x15)) { - arg0->unk4--; + if (((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) && (arg0->cursor >= 0x15)) { + arg0->cursor--; play_sound2(SOUND_MENU_CURSOR_MOVE); if (arg0->unk24 < 4.2) { arg0->unk24 += 4.0; @@ -12542,8 +12543,8 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) { arg0->unk8 = -1; } if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x400) { - if (arg0->unk4 < 0x15) { - arg0->unk4++; + if (arg0->cursor < 0x15) { + arg0->cursor++; play_sound2(SOUND_MENU_CURSOR_MOVE); if (arg0->unk24 < 4.2) { arg0->unk24 += 4.0; @@ -12552,20 +12553,20 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) { } } if (gControllerOne->buttonPressed & 0x4000) { - arg0->unk4 = arg0->unk20 + 0x11; + arg0->cursor = arg0->unk20 + 0x11; play_sound2(SOUND_MENU_GO_BACK); return; } if (gControllerOne->buttonPressed & 0x9000) { - if (arg0->unk4 == 0x00000015) { - arg0->unk4 = 0x00000019; + if (arg0->cursor == 0x00000015) { + arg0->cursor = 0x00000019; arg0->unk1C = 0; play_sound2(SOUND_MENU_SELECT); if (arg0->unk24 < 4.2) { arg0->unk24 += 4.0; } } else { - arg0->unk4 = arg0->unk20 + 0x11; + arg0->cursor = arg0->unk20 + 0x11; play_sound2(SOUND_MENU_GO_BACK); return; } @@ -12574,19 +12575,19 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) { case 25: /* switch 1 */ if (arg0->unk1C == 1) { if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, gGameName, gExtCode, &gControllerPak1FileNote) != 0) { - arg0->unk4 = 0x0000001A; + arg0->cursor = 0x0000001A; play_sound2(SOUND_MENU_FILE_NOT_FOUND); return; } if (func_800B6178(arg0->unk20) != 0) { - arg0->unk4 = 0x0000001A; + arg0->cursor = 0x0000001A; play_sound2(SOUND_MENU_FILE_NOT_FOUND); return; } } arg0->unk1C++; if (arg0->unk1C >= 2) { - arg0->unk4 = 0x0000000A; + arg0->cursor = 0x0000000A; return; } break; @@ -12620,7 +12621,7 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) { break; } arg0->unk20 = 0; - arg0->unk4 = 0x0000001F; + arg0->cursor = 0x0000001F; D_800DC5EC->screenStartY = 0x012C; D_800DC5F0->screenStartY = -0x003C; D_8015F894 = 4; @@ -12641,9 +12642,9 @@ void func_800ADF48(struct_8018D9E0_entry *arg0) { struct Controller *controller; if (gIsGamePaused != 0) { - switch (arg0->unk4) { + switch (arg0->cursor) { case 0: - arg0->unk4 = D_800F0B50[gModeSelection]; + arg0->cursor = D_800F0B50[gModeSelection]; break; case 11: case 12: @@ -12663,8 +12664,8 @@ void func_800ADF48(struct_8018D9E0_entry *arg0) { if (func_800B4520() == 0) { controller = &gControllers[gIsGamePaused - 1]; if ((controller->buttonPressed | controller->stickPressed) & 0x800) { - if (D_800F0B50[gModeSelection] < arg0->unk4) { - arg0->unk4--; + if (D_800F0B50[gModeSelection] < arg0->cursor) { + arg0->cursor--; play_sound2(SOUND_MENU_CURSOR_MOVE); if (arg0->unk24 < 4.2) { arg0->unk24 += 4.0; @@ -12673,8 +12674,8 @@ void func_800ADF48(struct_8018D9E0_entry *arg0) { } } if ((controller->buttonPressed | controller->stickPressed) & 0x400) { - if (arg0->unk4 < D_800F0B54[gModeSelection]) { - arg0->unk4++; + if (arg0->cursor < D_800F0B54[gModeSelection]) { + arg0->cursor++; play_sound2(SOUND_MENU_CURSOR_MOVE); if (arg0->unk24 < 4.2) { arg0->unk24 += 4.0; @@ -12683,15 +12684,15 @@ void func_800ADF48(struct_8018D9E0_entry *arg0) { } } if (controller->buttonPressed & B_BUTTON) { - if (arg0->unk4 != D_800F0B50[gModeSelection]) { - arg0->unk4 = D_800F0B50[gModeSelection]; + if (arg0->cursor != D_800F0B50[gModeSelection]) { + arg0->cursor = D_800F0B50[gModeSelection]; play_sound2(SOUND_MENU_GO_BACK); return; } } if (controller->buttonPressed & (START_BUTTON | A_BUTTON)) { - if (arg0->unk4 == D_800F0B50[gModeSelection]) { - arg0->unk4 = 0; + if (arg0->cursor == D_800F0B50[gModeSelection]) { + arg0->cursor = 0; gIsGamePaused = 0; func_8028DF38(); func_800C9F90(0U); @@ -12710,7 +12711,7 @@ void func_800ADF48(struct_8018D9E0_entry *arg0) { break; } } else { - arg0->unk4 = 0; + arg0->cursor = 0; } } @@ -12718,19 +12719,19 @@ void func_800AE218(struct_8018D9E0_entry *arg0) { struct_8018EE10_entry *thing; s32 var_v1; - if (arg0->unk4 != 0) { + if (arg0->cursor != 0) { D_800DC5B8 = 0; } - switch (arg0->unk4) { /* switch 1 */ + switch (arg0->cursor) { /* switch 1 */ case 0: /* switch 1 */ if (arg0->unk1C < 0x1E) { arg0->unk1C++; } if (gControllerOne->buttonPressed & 0x1000) { - arg0->unk4 = 0x0000000F; + arg0->cursor = 0x0000000F; play_sound2(SOUND_ACTION_GO_BACK_2); } else if (playerHUD[PLAYER_ONE].raceCompleteBool != 0) { - arg0->unk4 = 1; + arg0->cursor = 1; arg0->unk1C = 0; } break; @@ -12739,7 +12740,7 @@ void func_800AE218(struct_8018D9E0_entry *arg0) { case 1: /* switch 1 */ arg0->unk1C += 3; if (arg0->unk1C >= 0x8D) { - arg0->unk4 = 0x0000000F; + arg0->cursor = 0x0000000F; } break; case 11: /* switch 1 */ @@ -12750,8 +12751,8 @@ void func_800AE218(struct_8018D9E0_entry *arg0) { case 16: /* switch 1 */ if (func_800B4520() == 0) { if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) { - if (arg0->unk4 >= 0xC) { - arg0->unk4--; + if (arg0->cursor >= 0xC) { + arg0->cursor--; play_sound2(SOUND_MENU_CURSOR_MOVE); if (arg0->unk24 < 4.2) { arg0->unk24 += 4.0; @@ -12760,8 +12761,8 @@ void func_800AE218(struct_8018D9E0_entry *arg0) { } } if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x400) { - if (arg0->unk4 < 0x10) { - arg0->unk4++; + if (arg0->cursor < 0x10) { + arg0->cursor++; play_sound2(SOUND_MENU_CURSOR_MOVE); if (arg0->unk24 < 4.2) { arg0->unk24 += 4.0; @@ -12770,7 +12771,7 @@ void func_800AE218(struct_8018D9E0_entry *arg0) { } } if (gControllerOne->buttonPressed & 0x9000) { - if (arg0->unk4 == 0x00000010) { + if (arg0->cursor == 0x00000010) { var_v1 = 0; if (arg0->unk24 < 4.2) { arg0->unk24 += 4.0; @@ -12782,7 +12783,7 @@ void func_800AE218(struct_8018D9E0_entry *arg0) { break; case PFS_NO_ERROR: /* switch 3 */ func_800B6708(); - arg0->unk4 = func_800B6348((gCupSelection * 4) + gCupCourseSelection) + 0x1E; + arg0->cursor = func_800B6348((gCupSelection * 4) + gCupCourseSelection) + 0x1E; var_v1 = 1; break; case PFS_ERR_NEW_PACK: /* switch 3 */ @@ -12800,26 +12801,26 @@ void func_800AE218(struct_8018D9E0_entry *arg0) { if (gControllerPak1State == 0) { switch (func_800B5F30()) { /* switch 2 */ case PFS_INVALID_DATA: /* switch 2 */ - arg0->unk4 = 0x00000015; + arg0->cursor = 0x00000015; var_v1 = 1; break; case PFS_FREE_BLOCKS_ERROR: /* switch 2 */ case PFS_NUM_FILES_ERROR: /* switch 2 */ - arg0->unk4 = 0x00000016; + arg0->cursor = 0x00000016; var_v1 = 1; break; case PFS_ERR_NOPACK: /* switch 2 */ case PFS_ERR_DEVICE: /* switch 2 */ - arg0->unk4 = 0x00000015; + arg0->cursor = 0x00000015; var_v1 = 1; break; case PFS_ERR_ID_FATAL: /* switch 2 */ - arg0->unk4 = 0x00000016; + arg0->cursor = 0x00000016; var_v1 = 1; break; default: /* switch 2 */ var_v1 = 1; - arg0->unk4 = 0x00000016; + arg0->cursor = 0x00000016; break; case 0: break; @@ -12830,20 +12831,20 @@ void func_800AE218(struct_8018D9E0_entry *arg0) { } if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, gGameName, gExtCode, &gControllerPak1FileNote) == 0) { func_800B6708(); - arg0->unk4 = func_800B6348((gCupSelection * 4) + gCupCourseSelection) + 0x1E; + arg0->cursor = func_800B6348((gCupSelection * 4) + gCupCourseSelection) + 0x1E; play_sound2(SOUND_MENU_SELECT); return; } } if (gControllerPak1MaxWriteableFiles >= gControllerPak1NumFilesUsed) { - arg0->unk4 = 0x00000018; + arg0->cursor = 0x00000018; play_sound2(SOUND_MENU_FILE_NOT_FOUND); } else if (gControllerPak1NumPagesFree >= 0x79) { - arg0->unk4 = 0x00000020; + arg0->cursor = 0x00000020; arg0->unk1C = 0; play_sound2(SOUND_MENU_SELECT); } else { - arg0->unk4 = 0x00000018; + arg0->cursor = 0x00000018; play_sound2(SOUND_MENU_FILE_NOT_FOUND); } } else { @@ -12866,7 +12867,7 @@ void func_800AE218(struct_8018D9E0_entry *arg0) { case 26: /* switch 1 */ case 41: /* switch 1 */ if (gControllerOne->buttonPressed & 0xD000) { - arg0->unk4 = 0x00000010; + arg0->cursor = 0x00000010; play_sound2(SOUND_MENU_GO_BACK); if (arg0->unk24 < 4.2) { arg0->unk24 += 4.0; @@ -12875,11 +12876,11 @@ void func_800AE218(struct_8018D9E0_entry *arg0) { break; case 30: /* switch 1 */ case 31: /* switch 1 */ - arg0->unk20 = (u32) arg0->unk4 - 0x1E; + arg0->unk20 = (u32) arg0->cursor - 0x1E; if (func_800B639C((gCupSelection * 4) + gCupCourseSelection) != arg0->unk20) { if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) { - if (arg0->unk4 >= 0x1F) { - arg0->unk4--; + if (arg0->cursor >= 0x1F) { + arg0->cursor--; play_sound2(SOUND_MENU_CURSOR_MOVE); if (arg0->unk24 < 4.2) { arg0->unk24 += 4.0; @@ -12888,8 +12889,8 @@ void func_800AE218(struct_8018D9E0_entry *arg0) { } } if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x400) { - if (arg0->unk4 < 0x1F) { - arg0->unk4++; + if (arg0->cursor < 0x1F) { + arg0->cursor++; play_sound2(SOUND_MENU_CURSOR_MOVE); if (arg0->unk24 < 4.2) { arg0->unk24 += 4.0; @@ -12899,17 +12900,17 @@ void func_800AE218(struct_8018D9E0_entry *arg0) { } } if (gControllerOne->buttonPressed & 0x4000) { - arg0->unk4 = 0x00000010; + arg0->cursor = 0x00000010; play_sound2(SOUND_MENU_GO_BACK); } else if (gControllerOne->buttonPressed & 0x9000) { thing = &D_8018EE10[arg0->unk20]; if (thing->ghostDataSaved == 0) { - arg0->unk4 = 0x00000028; + arg0->cursor = 0x00000028; arg0->unk1C = 0; } else if (func_800B63F0(arg0->unk20) == 0) { - arg0->unk4 = 0x0000001A; + arg0->cursor = 0x0000001A; } else { - arg0->unk4 = 0x00000023; + arg0->cursor = 0x00000023; } play_sound2(SOUND_MENU_SELECT); if (arg0->unk24 < 4.2) { @@ -12919,18 +12920,18 @@ void func_800AE218(struct_8018D9E0_entry *arg0) { break; case 32: /* switch 1 */ if ((arg0->unk1C == 1) && (func_800B6A68() != 0)) { - arg0->unk4 = 0x00000019; + arg0->cursor = 0x00000019; } else { arg0->unk1C++; if (arg0->unk1C >= 2) { - arg0->unk4 = 0x0000001E; + arg0->cursor = 0x0000001E; } } break; case 35: /* switch 1 */ case 36: /* switch 1 */ - if (((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) && ((s32) (u32) arg0->unk4 >= 0x24)) { - arg0->unk4--; + if (((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) && ((s32) (u32) arg0->cursor >= 0x24)) { + arg0->cursor--; play_sound2(SOUND_MENU_CURSOR_MOVE); if (arg0->unk24 < 4.2) { arg0->unk24 += 4.0; @@ -12938,8 +12939,8 @@ void func_800AE218(struct_8018D9E0_entry *arg0) { arg0->unk8 = -1; } if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x400) { - if (arg0->unk4 < 0x24) { - arg0->unk4++; + if (arg0->cursor < 0x24) { + arg0->cursor++; play_sound2(SOUND_MENU_CURSOR_MOVE); if (arg0->unk24 < 4.2) { arg0->unk24 += 4.0; @@ -12948,18 +12949,18 @@ void func_800AE218(struct_8018D9E0_entry *arg0) { } } if (gControllerOne->buttonPressed & 0x4000) { - arg0->unk4 = arg0->unk20 + 0x1E; + arg0->cursor = arg0->unk20 + 0x1E; play_sound2(SOUND_MENU_GO_BACK); } else if (gControllerOne->buttonPressed & 0x9000) { - if (arg0->unk4 == 0x00000024) { - arg0->unk4 = 0x00000028; + if (arg0->cursor == 0x00000024) { + arg0->cursor = 0x00000028; arg0->unk1C = 0; play_sound2(SOUND_MENU_SELECT); if (arg0->unk24 < 4.2) { arg0->unk24 += 4.0; } } else { - arg0->unk4 = arg0->unk20 + 0x1E; + arg0->cursor = arg0->unk20 + 0x1E; play_sound2(SOUND_MENU_GO_BACK); } } @@ -12967,43 +12968,43 @@ void func_800AE218(struct_8018D9E0_entry *arg0) { case 40: /* switch 1 */ if (arg0->unk1C == 1) { if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, gGameName, gExtCode, &gControllerPak1FileNote) != 0) { - arg0->unk4 = 0x00000029; + arg0->cursor = 0x00000029; play_sound2(SOUND_MENU_FILE_NOT_FOUND); return; } if (func_800B6178(arg0->unk20) != 0) { - arg0->unk4 = 0x00000029; + arg0->cursor = 0x00000029; play_sound2(SOUND_MENU_FILE_NOT_FOUND); return; } } arg0->unk1C++; if (arg0->unk1C >= 2) { - arg0->unk4 = 0x00000010; + arg0->cursor = 0x00000010; } break; } } void func_800AEC54(struct_8018D9E0_entry *arg0) { - switch (arg0->unk4) { + switch (arg0->cursor) { case 0: arg0->column = (get_string_width(D_800E7780) / 2) + 0x140; arg0->row = 0x000000DA; - arg0->unk4 = 1; + arg0->cursor = 1; func_800C90F4(0U, (D_80162DE4 * 0x10) + 0x29008001); break; case 1: func_800A9208(arg0, 0x000000A0); if (arg0->column == 0x000000A0) { - arg0->unk4 = 2; + arg0->cursor = 2; arg0->unk1C = 0; } break; case 2: arg0->unk1C++; if (arg0->unk1C >= 0x3D) { - arg0->unk4 = 3; + arg0->cursor = 3; arg0->unk1C = 0; } break; @@ -13016,8 +13017,8 @@ void func_800AEC54(struct_8018D9E0_entry *arg0) { // Purposeful fallthrough case 3: func_800A94C8(arg0, 0x000000A0, -1); - if (((arg0->column + 0x14) == -(get_string_width(D_800E7780) / 2)) && (arg0->unk4 == 3)) { - arg0->unk4 = 4; + if (((arg0->column + 0x14) == -(get_string_width(D_800E7780) / 2)) && (arg0->cursor == 3)) { + arg0->cursor = 4; } break; default: @@ -13076,13 +13077,13 @@ void func_800AEF14(struct_8018D9E0_entry *arg0) { void func_800AEF74(struct_8018D9E0_entry *arg0) { - switch (arg0->unk4) { /* irregular */ + switch (arg0->cursor) { /* irregular */ case 0: if (D_80162DF8 == 1) { - arg0->unk4 = 1; + arg0->cursor = 1; arg0->unk1C = 0; } else if (playerHUD[PLAYER_ONE].raceCompleteBool == (s8) 1) { - arg0->unk4 = 2; + arg0->cursor = 2; } break; case 2: @@ -13090,7 +13091,7 @@ void func_800AEF74(struct_8018D9E0_entry *arg0) { case 1: arg0->unk1C += 1; if (playerHUD[PLAYER_ONE].raceCompleteBool == 1) { - arg0->unk4 = 2; + arg0->cursor = 2; } break; } @@ -13099,12 +13100,12 @@ void func_800AEF74(struct_8018D9E0_entry *arg0) { void func_800AF004(struct_8018D9E0_entry *arg0) { s32 temp_t1; - switch (arg0->unk4) { + switch (arg0->cursor) { case 0: arg0->unk1C += 3; if (arg0->unk1C >= 0x65) { arg0->unk1C = 0; - arg0->unk4 = 1; + arg0->cursor = 1; gCupSelection %= 4; gCCSelection %= 4; add_8018D9E0_entry(0x0000012C, 0, 0, 4); @@ -13117,14 +13118,14 @@ void func_800AF004(struct_8018D9E0_entry *arg0) { arg0->unk1C += 1; if (arg0->unk1C >= 9) { arg0->unk1C = 0; - arg0->unk4++; - add_8018D9E0_entry(arg0->unk4 + 0x12B, 0, 0, 4); + arg0->cursor++; + add_8018D9E0_entry(arg0->cursor + 0x12B, 0, 0, 4); } break; case 5: arg0->unk1C += 1; if ((arg0->unk1C >= 0x65) && ((gControllerFive->buttonPressed != 0) || (gControllerFive->stickPressed != 0))) { - arg0->unk4 = 6; + arg0->cursor = 6; arg0->unk1C = 0; if (D_802874D8.unk1D < 3) { play_sound2(SOUND_MENU_OK_CLICKED); @@ -13137,7 +13138,7 @@ void func_800AF004(struct_8018D9E0_entry *arg0) { func_8009DFE0(0x0000001E); func_800CA330(0x19U); func_800CA388(0x19U); - arg0->unk4 = 7; + arg0->cursor = 7; break; case 7: default: @@ -13149,18 +13150,18 @@ void func_800AF1AC(struct_8018D9E0_entry *arg0) { Unk_D_800E70A0 *temp_v0_2; s32 idx = arg0->type - 0x12C; - switch (arg0->unk4) { /* irregular */ + switch (arg0->cursor) { /* irregular */ case 0: temp_v0_2 = &D_800E7458[idx]; arg0->column = temp_v0_2->column; arg0->row = temp_v0_2->row; - arg0->unk4 = 1; + arg0->cursor = 1; break; case 1: temp_v0_2 = &D_800E7480[idx]; func_800A91D8(arg0, temp_v0_2->column, temp_v0_2->row); if ((arg0->column == temp_v0_2->column) && (arg0->row == temp_v0_2->row)) { - arg0->unk4 = 2; + arg0->cursor = 2; } break; case 2: @@ -13177,18 +13178,18 @@ void func_800AF270(struct_8018D9E0_entry *arg0) { temp_v1 = arg0->type - 0x12C; sp30 = D_802874D8.unk1E; temp_v0 = D_800EFD64[sp30]; - switch (arg0->unk4) { + switch (arg0->cursor) { case 0: thing = &D_800E7458[temp_v1]; arg0->column = thing->column; arg0->row = thing->row; - arg0->unk4 = 1; + arg0->cursor = 1; break; case 1: thing = &D_800E7480[temp_v1]; func_800A91D8(arg0, thing->column, thing->row); if ((arg0->column == thing->column) && (arg0->row == thing->row)) { - arg0->unk4 = 2; + arg0->cursor = 2; arg0->unk20 = 0; } break; @@ -13196,12 +13197,12 @@ void func_800AF270(struct_8018D9E0_entry *arg0) { arg0->unk20++; if (arg0->unk20 >= 0x1F) { if (D_802874D8.unk1D >= 3) { - arg0->unk4 = 4; + arg0->cursor = 4; func_800CA0B8(); func_800C90F4(0U, (sp30 * 0x10) + 0x29008003); func_800CA0A0(); } else { - arg0->unk4 = 3; + arg0->cursor = 3; func_8009A640(arg0->D_8018DEE0_index, 0, sp30, segmented_to_virtual_dupe_2(gCharacterCelebrateAnimation[temp_v0])); func_800CA0B8(); func_800C90F4(0U, (sp30 * 0x10) + 0x29008007); @@ -13212,7 +13213,7 @@ void func_800AF270(struct_8018D9E0_entry *arg0) { case 3: if (D_8018DEE0[arg0->D_8018DEE0_index].sequenceIndex >= D_800E8440[temp_v0]) { func_8009A640(arg0->D_8018DEE0_index, 0, sp30, segmented_to_virtual_dupe_2(D_800E83A0[temp_v0])); - arg0->unk4 = 4; + arg0->cursor = 4; } break; case 4: @@ -13238,10 +13239,10 @@ void func_800AF4DC(struct_8018D9E0_entry *arg0) { temp_v0 = arg0->type - 0x190; temp_v1 = &D_802850C0[temp_v0]; arg0->row = temp_v1->row; - switch (arg0->unk4) { + switch (arg0->cursor) { case 0: arg0->column = temp_v1->startingColumn; - arg0->unk4 = 1; + arg0->cursor = 1; arg0->unk20 = temp_v1->columnExtra + (get_string_width(D_802854B0[temp_v0]) * temp_v1->textScaling / 2); /* fallthrough */ case 1: @@ -13252,7 +13253,7 @@ void func_800AF4DC(struct_8018D9E0_entry *arg0) { } arg0->unk24 = (arg0->unk1C * 0.05) + 1.0; if (arg0->column >= (arg0->unk20 - 0x14)) { - arg0->unk4 = 2; + arg0->cursor = 2; arg0->D_8018DEE0_index = 0; } break; @@ -13263,12 +13264,12 @@ void func_800AF4DC(struct_8018D9E0_entry *arg0) { arg0->unk24 = ((arg0->D_8018DEE0_index - 0xA) * 0.0085 * (arg0->D_8018DEE0_index - 0xA)) + 0.4; if ((arg0->D_8018DEE0_index >= 9) && ((f64) arg0->unk24 > 1)) { arg0->unk24 = 1.0f; - arg0->unk4 = 3; + arg0->cursor = 3; } break; case 3: if ((u8) D_8018ED91 != 0) { - arg0->unk4 = 4; + arg0->cursor = 4; } break; case 4: @@ -13290,10 +13291,10 @@ void func_800AF740(struct_8018D9E0_entry *arg0) { temp_v0 = arg0->type - 0x190; temp_v1 = &D_802850C0[temp_v0]; arg0->row = temp_v1->row; - switch (arg0->unk4) { + switch (arg0->cursor) { case 0: arg0->column = temp_v1->startingColumn; - arg0->unk4 = 1; + arg0->cursor = 1; arg0->unk20 = temp_v1->columnExtra - (get_string_width(D_802854B0[temp_v0]) * temp_v1->textScaling / 2); /* fallthrough */ case 1: @@ -13304,7 +13305,7 @@ void func_800AF740(struct_8018D9E0_entry *arg0) { } arg0->unk24 = (arg0->unk1C * 0.05) + 1.0; if ((arg0->unk20 + 0x14) >= arg0->column) { - arg0->unk4 = 2; + arg0->cursor = 2; arg0->D_8018DEE0_index = 0; } break; @@ -13315,12 +13316,12 @@ void func_800AF740(struct_8018D9E0_entry *arg0) { arg0->unk24 = ((arg0->D_8018DEE0_index - 0xA) * 0.0085 * (arg0->D_8018DEE0_index - 0xA)) + 0.4; if ((arg0->D_8018DEE0_index >= 9) && ((f64) arg0->unk24 > 1)) { arg0->unk24 = 1.0f; - arg0->unk4 = 3; + arg0->cursor = 3; } break; case 3: if ((u8) D_8018ED91 != 0) { - arg0->unk4 = 4; + arg0->cursor = 4; } break; case 4: diff --git a/src/code_80091750.h b/src/code_80091750.h index 5f721756c..0ddc39ffb 100644 --- a/src/code_80091750.h +++ b/src/code_80091750.h @@ -11,7 +11,7 @@ extern u32 _course_mario_raceway_dl_mio0SegmentRomStart[]; typedef struct { /* 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 /* 0x0C */ s32 column; /* 0x10 */ s32 row; @@ -90,8 +90,8 @@ void func_80091EE4(void); void func_80091FA4(void); void func_80092148(void); void func_800921B4(void); -void func_800921C0(s32, s32, s32); -void func_80092224(s32, s32, s32); +void text_rainbow_effect(s32, s32, s32); +void set_text_color_rainbow_if_selected(s32, s32, s32); void func_80092258(void); void func_80092290(s32, s32*, s32*); void func_80092500(void); @@ -193,7 +193,7 @@ void func_8009B998(void); Gfx *func_8009B9D0(Gfx*, MkTexture*); Gfx *func_8009BA74(Gfx*, MkTexture*, 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_8009C434(Gfx*, struct_8018DEE0_entry*, 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_800A474C(s32, s32, s32); void func_800A4A24(struct_8018D9E0_entry*); -void func_800A4B38(struct_8018D9E0_entry*); -void func_800A4BC8(struct_8018D9E0_entry*); -void func_800A4EF8(struct_8018D9E0_entry*); -void func_800A5084(struct_8018D9E0_entry*); -void func_800A5360(struct_8018D9E0_entry*); +void render_pause_menu(struct_8018D9E0_entry*); +void render_pause_menu_time_trials(struct_8018D9E0_entry*); +void render_pause_menu_versus(struct_8018D9E0_entry*); +void render_pause_grand_prix(struct_8018D9E0_entry*); +void render_pause_battle(struct_8018D9E0_entry*); void func_800A54EC(void); void func_800A5738(struct_8018D9E0_entry*); void func_800A6034(struct_8018D9E0_entry*); @@ -498,7 +498,7 @@ extern char *D_800E7728[]; extern char *D_800E7730; extern char *D_800E7734[]; extern char *D_800E7744[]; -extern char *D_800E775C[]; +extern char *gTextPauseButton[]; extern char *D_800E7778[]; extern char D_800E7780[]; extern char *D_800E77A0[]; diff --git a/src/common_textures.h b/src/common_textures.h index ca306736e..469d6f01f 100644 --- a/src/common_textures.h +++ b/src/common_textures.h @@ -12,8 +12,8 @@ typedef struct { /** @cond */ -extern s8 common_tlut_finish_line_banner[]; -extern s8 common_texture_particle_fire[]; +extern u8 common_tlut_finish_line_banner[]; +extern u8 common_texture_particle_fire[]; extern Vtx D_0D001200[]; extern Vtx D_0D001210[]; extern Vtx D_0D001240[]; @@ -52,7 +52,7 @@ extern Vtx D_0D001E28[]; extern Vtx D_0D001E58[]; extern Vtx D_0D001E88[]; 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 Vtx common_fake_item_box_question_mark_vertices[]; extern Gfx common_model_fake_itembox[]; @@ -70,13 +70,13 @@ extern Gfx D_0D003278[]; extern Gfx D_0D003288[]; extern Vtx common_vtx_banana[]; extern Vtx common_vtx_flat_banana[]; -extern s8 common_texture_banana[]; -extern s8 common_texture_flat_banana[]; +extern u8 common_texture_banana[]; +extern u8 common_texture_flat_banana[]; extern Gfx common_model_banana[]; extern Gfx common_model_flat_banana[]; -extern s8 common_tlut_trees_import[]; -extern s8 common_tlut_green_shell[]; -extern s8 common_tlut_blue_shell[]; +extern u8 common_tlut_trees_import[]; +extern u8 common_tlut_green_shell[]; +extern u8 common_tlut_blue_shell[]; extern Vtx D_0D005238[]; extern Vtx D_0D005278[]; extern Gfx D_0D0052B8[]; @@ -141,10 +141,10 @@ extern Gfx D_0D0069F8[]; extern Gfx D_0D006A10[]; extern Gfx D_0D006A28[]; extern Gfx D_0D006A40[]; -extern s8 D_0D006A58[]; -extern s8 D_0D006AD8[]; -extern s8 common_tlut_debug_font[]; -extern s8 common_texture_debug_font[]; +extern u8 D_0D006A58[]; +extern u8 D_0D006AD8[]; +extern u8 common_tlut_debug_font[]; +extern u8 common_texture_debug_font[]; extern Gfx D_0D0076F8[]; extern Gfx D_0D007780[]; extern Gfx D_0D0077A0[]; @@ -254,29 +254,29 @@ extern f32 D_0D009568[][4]; extern f32 D_0D0096B8[][4]; extern f32 D_0D009808[][4]; extern s32 unkPad; -extern s8 common_texture_speedometer[]; -extern s8 common_texture_speedometer_needle[]; -extern s8 common_texture_hud_lap[]; +extern u8 common_texture_speedometer[]; +extern u8 common_texture_speedometer_needle[]; +extern u8 common_texture_hud_lap[]; extern u8 common_texture_hud_123[]; -extern s8 common_texture_hud_lap_time[]; -extern s8 common_texture_hud_lap_1_on_3[]; -extern s8 common_texture_hud_lap_2_on_3[]; -extern s8 common_texture_hud_lap_3_on_3[]; -extern s8 common_texture_hud_total_time[]; -extern s8 common_texture_hud_time[]; +extern u8 common_texture_hud_lap_time[]; +extern u8 common_texture_hud_lap_1_on_3[]; +extern u8 common_texture_hud_lap_2_on_3[]; +extern u8 common_texture_hud_lap_3_on_3[]; +extern u8 common_texture_hud_total_time[]; +extern u8 common_texture_hud_time[]; extern u8 common_texture_hud_normal_digit[]; extern u8 common_texture_hud_place[][4096]; -extern s8 D_0D00E258[]; -extern s8 D_0D00F258[]; -extern s8 D_0D010258[]; -extern s8 D_0D011258[]; -extern s8 D_0D012258[]; -extern s8 D_0D013258[]; -extern s8 D_0D014258[]; +extern u8 D_0D00E258[]; +extern u8 D_0D00F258[]; +extern u8 D_0D010258[]; +extern u8 D_0D011258[]; +extern u8 D_0D012258[]; +extern u8 D_0D013258[]; +extern u8 D_0D014258[]; extern u8 D_0D015258[][2048]; -extern s8 D_0D015A58[]; -extern s8 D_0D016258[]; -extern s8 D_0D016A58[]; +extern u8 D_0D015A58[]; +extern u8 D_0D016258[]; +extern u8 D_0D016A58[]; extern u8 common_tlut_player_emblem[]; extern s16 tlutPad[]; 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_texture_hud_type_C_rank_tiny_font[][64]; extern u8 common_texture_character_portrait_border[]; -extern s8 common_tlut_portrait_mario[]; -extern s8 common_tlut_portrait_luigi[]; -extern s8 common_tlut_portrait_peach[]; -extern s8 common_tlut_portrait_toad[]; -extern s8 common_tlut_portrait_yoshi[]; -extern s8 common_tlut_portrait_donkey_kong[]; -extern s8 common_tlut_portrait_wario[]; -extern s8 common_tlut_portrait_bowser[]; -extern s8 common_tlut_portrait_bomb_kart_and_question_mark[]; -extern s8 common_texture_portrait_mario[]; -extern s8 common_texture_portrait_luigi[]; -extern s8 common_texture_portrait_peach[]; -extern s8 common_texture_portrait_toad[]; -extern s8 common_texture_portrait_yoshi[]; -extern s8 common_texture_portrait_donkey_kong[]; -extern s8 common_texture_portrait_wario[]; +extern u8 common_tlut_portrait_mario[]; +extern u8 common_tlut_portrait_luigi[]; +extern u8 common_tlut_portrait_peach[]; +extern u8 common_tlut_portrait_toad[]; +extern u8 common_tlut_portrait_yoshi[]; +extern u8 common_tlut_portrait_donkey_kong[]; +extern u8 common_tlut_portrait_wario[]; +extern u8 common_tlut_portrait_bowser[]; +extern u8 common_tlut_portrait_bomb_kart_and_question_mark[]; +extern u8 common_texture_portrait_mario[]; +extern u8 common_texture_portrait_luigi[]; +extern u8 common_texture_portrait_peach[]; +extern u8 common_texture_portrait_toad[]; +extern u8 common_texture_portrait_yoshi[]; +extern u8 common_texture_portrait_donkey_kong[]; +extern u8 common_texture_portrait_wario[]; extern u8 common_texture_portrait_bowser[]; extern u8 common_texture_portrait_bomb_kart[]; extern u8 common_texture_portrait_question_mark[]; -extern s8 common_tlut_item_window_none[]; -extern s8 common_tlut_item_window_banana[]; -extern s8 common_tlut_item_window_banana_bunch[]; -extern s8 common_tlut_item_window_mushroom[]; -extern s8 common_tlut_item_window_double_mushroom[]; -extern s8 common_tlut_item_window_triple_mushroom[]; -extern s8 common_tlut_item_window_super_mushroom[]; -extern s8 common_tlut_item_window_blue_shell[]; -extern s8 common_tlut_item_window_boo[]; -extern s8 common_tlut_item_window_green_shell[]; -extern s8 common_tlut_item_window_triple_green_shell[]; -extern s8 common_tlut_item_window_red_shell[]; -extern s8 common_tlut_item_window_triple_red_shell[]; -extern s8 common_tlut_item_window_star[]; -extern s8 common_tlut_item_window_thunder_bolt[]; -extern s8 common_tlut_item_window_fake_item_box[]; +extern u8 common_tlut_item_window_none[]; +extern u8 common_tlut_item_window_banana[]; +extern u8 common_tlut_item_window_banana_bunch[]; +extern u8 common_tlut_item_window_mushroom[]; +extern u8 common_tlut_item_window_double_mushroom[]; +extern u8 common_tlut_item_window_triple_mushroom[]; +extern u8 common_tlut_item_window_super_mushroom[]; +extern u8 common_tlut_item_window_blue_shell[]; +extern u8 common_tlut_item_window_boo[]; +extern u8 common_tlut_item_window_green_shell[]; +extern u8 common_tlut_item_window_triple_green_shell[]; +extern u8 common_tlut_item_window_red_shell[]; +extern u8 common_tlut_item_window_triple_red_shell[]; +extern u8 common_tlut_item_window_star[]; +extern u8 common_tlut_item_window_thunder_bolt[]; +extern u8 common_tlut_item_window_fake_item_box[]; extern u8 common_texture_item_window_none[]; -extern s8 common_texture_item_window_banana[]; -extern s8 common_texture_item_window_banana_bunch[]; -extern s8 common_texture_item_window_mushroom[]; -extern s8 common_texture_item_window_double_mushroom[]; -extern s8 common_texture_item_window_triple_mushroom[]; -extern s8 common_texture_item_window_super_mushroom[]; -extern s8 common_texture_item_window_blue_shell[]; -extern s8 common_texture_item_window_boo[]; -extern s8 common_texture_item_window_green_shell[]; -extern s8 common_texture_item_window_triple_green_shell[]; -extern s8 common_texture_item_window_red_shell[]; -extern s8 common_texture_item_window_triple_red_shell[]; -extern s8 common_texture_item_window_star[]; -extern s8 common_texture_item_window_thunder_bolt[]; -extern s8 common_texture_item_window_fake_item_box[]; +extern u8 common_texture_item_window_banana[]; +extern u8 common_texture_item_window_banana_bunch[]; +extern u8 common_texture_item_window_mushroom[]; +extern u8 common_texture_item_window_double_mushroom[]; +extern u8 common_texture_item_window_triple_mushroom[]; +extern u8 common_texture_item_window_super_mushroom[]; +extern u8 common_texture_item_window_blue_shell[]; +extern u8 common_texture_item_window_boo[]; +extern u8 common_texture_item_window_green_shell[]; +extern u8 common_texture_item_window_triple_green_shell[]; +extern u8 common_texture_item_window_red_shell[]; +extern u8 common_texture_item_window_triple_red_shell[]; +extern u8 common_texture_item_window_star[]; +extern u8 common_texture_item_window_thunder_bolt[]; +extern u8 common_texture_item_window_fake_item_box[]; extern u8 common_tlut_lakitu_countdown[][512]; extern u8 common_tlut_lakitu_checkered_flag[]; 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_texture_particle_leaf[]; -extern s8 common_tlut_traffic_light[]; -extern s8 common_texture_traffic_light_01[]; -extern s8 common_texture_traffic_light_02[]; -extern s8 common_texture_traffic_light_03[]; -extern s8 common_texture_traffic_light_04[]; -extern s8 common_texture_traffic_light_05[]; -extern s8 common_texture_traffic_light_06[]; -extern s8 common_texture_traffic_light_07[]; -extern s8 common_texture_traffic_light_08[]; -extern s8 common_texture_traffic_light_09[]; -extern s8 common_texture_traffic_light_10[]; -extern s8 common_texture_unused_particle_leaf[]; +extern u8 common_tlut_traffic_light[]; +extern u8 common_texture_traffic_light_01[]; +extern u8 common_texture_traffic_light_02[]; +extern u8 common_texture_traffic_light_03[]; +extern u8 common_texture_traffic_light_04[]; +extern u8 common_texture_traffic_light_05[]; +extern u8 common_texture_traffic_light_06[]; +extern u8 common_texture_traffic_light_07[]; +extern u8 common_texture_traffic_light_08[]; +extern u8 common_texture_traffic_light_09[]; +extern u8 common_texture_traffic_light_10[]; +extern u8 common_texture_unused_particle_leaf[]; extern u8 D_0D0293D8[]; -extern s8 D_0D029458[]; +extern u8 D_0D029458[]; extern u8 common_texture_bomb[][1024]; -extern s8 D_0D029C58[]; -extern s8 D_0D02A058[]; -extern s8 D_0D02A458[]; +extern u8 D_0D029C58[]; +extern u8 D_0D02A058[]; +extern u8 D_0D02A458[]; extern u8 common_tlut_bomb[]; extern u8 D_0D02AA58[]; extern u8 common_texture_particle_spark[][1024]; extern u8 common_texture_particle_smoke[][1024]; -extern s8 common_texture_minimap_finish_line[]; -extern s8 common_texture_minimap_kart_character[][128]; -extern s8 common_texture_minimap_progress_dot[]; +extern u8 common_texture_minimap_finish_line[]; +extern u8 common_texture_minimap_kart_character[][128]; +extern u8 common_texture_minimap_progress_dot[]; /** @endcond */ diff --git a/src/data/common_textures.inc.c b/src/data/common_textures.inc.c index 39c9389c5..086af810e 100644 --- a/src/data/common_textures.inc.c +++ b/src/data/common_textures.inc.c @@ -18,23 +18,23 @@ // Somehow these symbols need to be linked in. For now, raw addresses are used. /* -extern s8 D_03004000[]; -extern s8 D_03004800[]; -extern s8 D_03005000[]; -extern s8 D_03005800[]; -extern s8 D_03006000[]; -extern s8 D_03006800[]; -extern s8 D_03007000[]; -extern s8 D_03007800[]; -extern s8 D_03008000[]; -extern s8 D_03008800[]; +extern u8 D_03004000[]; +extern u8 D_03004800[]; +extern u8 D_03005000[]; +extern u8 D_03005800[]; +extern u8 D_03006000[]; +extern u8 D_03006800[]; +extern u8 D_03007000[]; +extern u8 D_03007800[]; +extern u8 D_03008000[]; +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" }; -s8 common_texture_particle_fire[] = { // tlut +u8 common_texture_particle_fire[] = { // tlut #include "textures/common/common_texture_particle_fire.rgba16.inc.c" }; @@ -396,7 +396,7 @@ Vtx D_0D001EB8[] = { }; // 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" }; @@ -578,11 +578,11 @@ Vtx common_vtx_flat_banana[] = { // D_0D003348 -s8 common_texture_banana[] = { +u8 common_texture_banana[] = { #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" }; @@ -632,15 +632,15 @@ Gfx common_model_flat_banana[] = { // tlut size 8x29 //! @todo What is this? -s8 common_tlut_trees_import[] = { +u8 common_tlut_trees_import[] = { #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" }; // 5038 -s8 common_tlut_blue_shell[] = { +u8 common_tlut_blue_shell[] = { #include "assets/blueshell/common_tlut_blue_shell.inc.c" }; @@ -1269,20 +1269,20 @@ Gfx D_0D006A40[] = { // Texture Block shadow i4 -s8 D_0D006A58[] = { +u8 D_0D006A58[] = { #include "textures/common/132B50_06A58.i4.inc.c" }; -s8 D_0D006AD8[] = { +u8 D_0D006AD8[] = { #include "textures/common/132B50_06AD8.ia8.inc.c" }; // tlut -s8 common_tlut_debug_font[] = { +u8 common_tlut_debug_font[] = { #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" }; @@ -2566,17 +2566,17 @@ f32 D_0D009808[][4] = { }; // Odometer speedometer -s8 common_texture_speedometer[] = { +u8 common_texture_speedometer[] = { #include "textures/common/common_texture_speedometer.i4.inc.c" }; // i8? odometer needle -s8 common_texture_speedometer_needle[] = { +u8 common_texture_speedometer_needle[] = { #include "textures/common/common_texture_speedometer_needle.i4.inc.c" }; // Lap UI Texture -s8 common_texture_hud_lap[] = { +u8 common_texture_hud_lap[] = { #include "textures/common/common_texture_hud_lap.rgba16.inc.c" }; @@ -2586,32 +2586,32 @@ u8 common_texture_hud_123[] = { }; // Lap -s8 common_texture_hud_lap_time[] = { +u8 common_texture_hud_lap_time[] = { #include "textures/common/common_texture_hud_lap_time.rgba16.inc.c" }; // 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" }; // 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" }; // 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" }; // total -s8 common_texture_hud_total_time[] = { +u8 common_texture_hud_total_time[] = { #include "textures/common/common_texture_hud_total_time.rgba16.inc.c" }; // time -s8 common_texture_hud_time[] = { +u8 common_texture_hud_time[] = { #include "textures/common/common_texture_hud_time.rgba16.inc.c" }; @@ -2773,83 +2773,83 @@ u8 common_texture_character_portrait_border[] = { }; // 1A4D8 mario tlut -s8 common_tlut_portrait_mario[] = { +u8 common_tlut_portrait_mario[] = { #include "assets/character_portraits/common_tlut_portrait_mario.inc.c" }; // 1A6D8 luigi tlut -s8 common_tlut_portrait_luigi[] = { +u8 common_tlut_portrait_luigi[] = { #include "assets/character_portraits/common_tlut_portrait_luigi.inc.c" }; // 1A8D8 peach tlut -s8 common_tlut_portrait_peach[] = { +u8 common_tlut_portrait_peach[] = { #include "assets/character_portraits/common_tlut_portrait_peach.inc.c" }; // 1AAD8 toad tlut -s8 common_tlut_portrait_toad[] = { +u8 common_tlut_portrait_toad[] = { #include "assets/character_portraits/common_tlut_portrait_toad.inc.c" }; // 1ACD8 yoshi tlut -s8 common_tlut_portrait_yoshi[] = { +u8 common_tlut_portrait_yoshi[] = { #include "assets/character_portraits/common_tlut_portrait_yoshi.inc.c" }; // 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" }; // 1B0D8 wario tlut -s8 common_tlut_portrait_wario[] = { +u8 common_tlut_portrait_wario[] = { #include "assets/character_portraits/common_tlut_portrait_wario.inc.c" }; // 1B2D8 bowser tlut -s8 common_tlut_portrait_bowser[] = { +u8 common_tlut_portrait_bowser[] = { #include "assets/character_portraits/common_tlut_portrait_bowser.inc.c" }; // 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" }; // Mario -s8 common_texture_portrait_mario[] = { +u8 common_texture_portrait_mario[] = { #include "assets/character_portraits/common_texture_portrait_mario.inc.c" }; // Luigi -s8 common_texture_portrait_luigi[] = { +u8 common_texture_portrait_luigi[] = { #include "assets/character_portraits/common_texture_portrait_luigi.inc.c" }; // Peach -s8 common_texture_portrait_peach[] = { +u8 common_texture_portrait_peach[] = { #include "assets/character_portraits/common_texture_portrait_peach.inc.c" }; // Toad -s8 common_texture_portrait_toad[] = { +u8 common_texture_portrait_toad[] = { #include "assets/character_portraits/common_texture_portrait_toad.inc.c" }; // Yoshi -s8 common_texture_portrait_yoshi[] = { +u8 common_texture_portrait_yoshi[] = { #include "assets/character_portraits/common_texture_portrait_yoshi.inc.c" }; // 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" }; // Wario -s8 common_texture_portrait_wario[] = { +u8 common_texture_portrait_wario[] = { #include "assets/character_portraits/common_texture_portrait_wario.inc.c" }; @@ -2869,67 +2869,67 @@ u8 common_texture_portrait_question_mark[] = { }; // 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" }; -s8 common_tlut_item_window_banana[] = { +u8 common_tlut_item_window_banana[] = { #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" }; -s8 common_tlut_item_window_mushroom[] = { +u8 common_tlut_item_window_mushroom[] = { #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" }; -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" }; -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" }; -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" }; -s8 common_tlut_item_window_boo[] = { +u8 common_tlut_item_window_boo[] = { #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" }; -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" }; -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" }; -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" }; -s8 common_tlut_item_window_star[] = { +u8 common_tlut_item_window_star[] = { #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" }; -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" }; @@ -2938,63 +2938,63 @@ u8 common_texture_item_window_none[] = { #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" }; -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" }; -s8 common_texture_item_window_mushroom[] = { +u8 common_texture_item_window_mushroom[] = { #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" }; -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" }; -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" }; -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" }; -s8 common_texture_item_window_boo[] = { +u8 common_texture_item_window_boo[] = { #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" }; -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" }; -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" }; -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" }; -s8 common_texture_item_window_star[] = { +u8 common_texture_item_window_star[] = { #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" }; -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" }; @@ -3039,49 +3039,49 @@ u8 common_tlut_lakitu_fishing[] = { }; // 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" }; // 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" }; -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" }; -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" }; -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" }; -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" }; -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" }; -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" }; -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" }; -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" }; -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" }; @@ -3091,7 +3091,7 @@ u8 common_texture_particle_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" }; @@ -3102,7 +3102,7 @@ u8 D_0D0293D8[] = { }; // Smoke? -s8 D_0D029458[] = { +u8 D_0D029458[] = { #include "textures/common/132B50_29458.i8.inc.c" }; @@ -3163,11 +3163,11 @@ u8 common_texture_particle_smoke[][1024] = { }; // 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" }; -s8 common_texture_minimap_kart_character[][128] = { +u8 common_texture_minimap_kart_character[][128] = { { // Mario #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" }; diff --git a/src/debug/all_variables.h b/src/debug/all_variables.h index 4f01b72bc..5cbab34ac 100644 --- a/src/debug/all_variables.h +++ b/src/debug/all_variables.h @@ -18,7 +18,7 @@ #include #include #include -#include +#include #include #include #include @@ -34,7 +34,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/src/effects.c b/src/effects.c index 280d61105..85aa3d44f 100644 --- a/src/effects.c +++ b/src/effects.c @@ -11,7 +11,7 @@ #include "code_80005FD0.h" #include "render_player.h" #include "player_controller.h" -#include "hud_renderer.h" +#include "render_objects.h" #include "code_80057C60.h" #include "effects.h" #include "audio/external.h" @@ -1908,7 +1908,7 @@ void func_80090970(Player *player, s8 playerId, s8 arg2) { case 2: func_80090178(player, playerId, sp44, sp38); // 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[1] = sp44[1] + 40.0f; player->pos[2] = sp44[2]; diff --git a/src/ending/ceremony_and_credits.c b/src/ending/ceremony_and_credits.c index 2a80e20bb..05a4479d5 100644 --- a/src/ending/ceremony_and_credits.c +++ b/src/ending/ceremony_and_credits.c @@ -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) { play_sound2(SOUND_CEREMONY_BALLOON_POP); diff --git a/src/ending/code_80280000.c b/src/ending/code_80280000.c index d2053e62f..d3e7a1a8b 100644 --- a/src/ending/code_80280000.c +++ b/src/ending/code_80280000.c @@ -63,8 +63,8 @@ void func_80280038(void) { render_set_position(matrix, 0); render_course(D_800DC5EC); render_course_actors(D_800DC5EC); - func_80058090(0); - func_80058538(0); + render_object(PLAYER_ONE+SCREEN_MODE_1P); + render_player_snow_effect(PLAYER_ONE+SCREEN_MODE_1P); transition_sliding_borders(); func_80281C40(); init_rdp(); @@ -165,7 +165,7 @@ void load_credits(void) { camera->up[2] = 0.0f; init_cinematic_camera(); func_80003040(); - init_object_list(); + init_hud(); func_80093E60(); func_80092688(); if (D_800DC5EC) {} diff --git a/src/ending/code_80281780.c b/src/ending/code_80281780.c index 7cb2db881..f95eb767f 100644 --- a/src/ending/code_80281780.c +++ b/src/ending/code_80281780.c @@ -157,7 +157,7 @@ void load_ceremony_cutscene(void) { debug_switch_character_ceremony_cutscene(); func_802818BC(); func_8003D080(); - init_object_list(); + init_hud(); func_8001C05C(); balloons_and_fireworks_init(); func_802816B8(); diff --git a/src/ending/code_80281C40.c b/src/ending/code_80281C40.c index 19312c7ad..aa36464f1 100644 --- a/src/ending/code_80281C40.c +++ b/src/ending/code_80281C40.c @@ -6,13 +6,14 @@ #include "main.h" #include "math_util.h" #include "skybox_and_splitscreen.h" -#include "hud_renderer.h" +#include "render_objects.h" #include "code_80057C60.h" #include "code_80091750.h" #include "podium_ceremony_actors.h" #include "ceremony_and_credits.h" #include "podium_ceremony_actors.h" #include "render_player.h" +#include "defines.h" struct UnkStruct80287560 { s16 unk0; @@ -79,7 +80,7 @@ void func_80281D00(void) { render_players_on_screen_one(); gSPDisplayList(gDisplayListHead++, VIRTUAL_TO_PHYSICAL2(&D_80284EE0)); update_actors_loop(); - func_80058090(0); + render_object(PLAYER_ONE+SCREEN_MODE_1P); func_80021B0C(); gSPDisplayList(gDisplayListHead++, VIRTUAL_TO_PHYSICAL2(&D_80284EE0)); func_80093F10(); diff --git a/src/ending/podium_ceremony_actors.c b/src/ending/podium_ceremony_actors.c index ce0e879d4..9c6421eb1 100644 --- a/src/ending/podium_ceremony_actors.c +++ b/src/ending/podium_ceremony_actors.c @@ -9,7 +9,7 @@ #include "memory.h" #include "common_textures.h" #include "render_player.h" -#include "hud_renderer.h" +#include "render_objects.h" #include "podium_ceremony_actors.h" #include "camera_junk.h" #include "player_controller.h" @@ -471,7 +471,7 @@ void podium_ceremony_loop(void) { func_8005A070(); if (D_802874D8.unk1C != 0) { func_8001C14C(); - func_800097E0(); + update_vehicles(); } func_80281D00(); func_80281540(); diff --git a/src/ending/podium_ceremony_actors.h b/src/ending/podium_ceremony_actors.h index b21eb455e..85c3549e5 100644 --- a/src/ending/podium_ceremony_actors.h +++ b/src/ending/podium_ceremony_actors.h @@ -3,7 +3,7 @@ #include "common_structs.h" -enum ActorType { +enum CeremonyActorType { Initial, Balloon, FireworkCone, diff --git a/src/main.c b/src/main.c index 044e050a7..007944509 100644 --- a/src/main.c +++ b/src/main.c @@ -18,7 +18,7 @@ #include "profiler.h" #include "race_logic.h" #include "skybox_and_splitscreen.h" -#include "hud_renderer.h" +#include "render_objects.h" #include "effects.h" #include "code_80281780.h" #include "audio/external.h" @@ -612,7 +612,7 @@ void race_logic_loop(void) { sNumVBlanks = 0; profiler_log_thread5_time(LEVEL_SCRIPT_EXECUTE); D_8015F788 = 0; - func_802A59A4(); + render_player_one_1p_screen(); if (!gEnableDebugMode) { D_800DC514 = FALSE; } else { @@ -684,11 +684,11 @@ void race_logic_loop(void) { } D_8015F788 = 0; if (gPlayerWinningIndex == 0) { - func_802A5FAC(); - func_802A5CB4(); + render_player_two_2p_screen_vertical(); + render_player_one_2p_screen_vertical(); } else { - func_802A5CB4(); - func_802A5FAC(); + render_player_one_2p_screen_vertical(); + render_player_two_2p_screen_vertical(); } break; @@ -730,11 +730,11 @@ void race_logic_loop(void) { } D_8015F788 = 0; if (gPlayerWinningIndex == 0) { - func_802A65B8(); - func_802A62A4(); + render_player_two_2p_screen_horizontal(); + render_player_one_2p_screen_horizontal(); } else { - func_802A62A4(); - func_802A65B8(); + render_player_one_2p_screen_horizontal(); + render_player_two_2p_screen_horizontal(); } break; @@ -802,25 +802,25 @@ void race_logic_loop(void) { } D_8015F788 = 0; if (gPlayerWinningIndex == 0) { - func_802A6BB0(); - func_802A6E94(); - func_802A7178(); - func_802A68CC(); + render_player_two_3p_4p_screen(); + render_player_three_3p_4p_screen(); + render_player_four_3p_4p_screen(); + render_player_one_3p_4p_screen(); } else if (gPlayerWinningIndex == 1) { - func_802A68CC(); - func_802A6E94(); - func_802A7178(); - func_802A6BB0(); + render_player_one_3p_4p_screen(); + render_player_three_3p_4p_screen(); + render_player_four_3p_4p_screen(); + render_player_two_3p_4p_screen(); } else if (gPlayerWinningIndex == 2) { - func_802A68CC(); - func_802A6BB0(); - func_802A7178(); - func_802A6E94(); + render_player_one_3p_4p_screen(); + render_player_two_3p_4p_screen(); + render_player_four_3p_4p_screen(); + render_player_three_3p_4p_screen(); } else { - func_802A68CC(); - func_802A6BB0(); - func_802A6E94(); - func_802A7178(); + render_player_one_3p_4p_screen(); + render_player_two_3p_4p_screen(); + render_player_three_3p_4p_screen(); + render_player_four_3p_4p_screen(); } break; } diff --git a/src/math_util_2.c b/src/math_util_2.c index 314e9789c..1122b209c 100644 --- a/src/math_util_2.c +++ b/src/math_util_2.c @@ -400,8 +400,8 @@ f32 func_80041724(f32 x, f32 z, u16 angle) { return (coss(angle) * z) + (sinAngle * x); } -s32 func_80041770(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { - return atan2s(arg1 - arg0, arg3 - arg2); +s32 get_angle_between_xy(f32 x1, f32 x2, f32 y1, f32 y2) { + return atan2s(x2 - x1, y2 - y1); } u16 func_800417B4(u16 angle1, u16 angle2) { @@ -450,14 +450,14 @@ s32 func_80041924(Collision *arg0, Vec3f arg1) { 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; s32 ret; - ret = 0; - temp_t9 = (func_80041770(arg1->pos[0], arg0[0], arg1->pos[2], arg0[2]) + (arg2 / 2)) - arg1->rot[1]; + ret = FALSE; + 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)) { - ret = 1; + ret = TRUE; } 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); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxOrtho), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); } diff --git a/src/math_util_2.h b/src/math_util_2.h index 3dca9e629..725fa7627 100644 --- a/src/math_util_2.h +++ b/src/math_util_2.h @@ -54,12 +54,12 @@ Vec3f *vec3f_cross_product(Vec3f, Vec3f, Vec3f); s32 func_80041658(f32, f32); f32 func_800416D8(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); s32 func_800418AC(f32, f32, Vec3f); s32 func_800418E8(f32, f32, 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 mtfx_translation_x_y(Mat4, s32, s32); 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 func_80041D24(void); void func_80041D34(void); -void func_80041EF4(void); +void set_matrix_hud_screen(void); void func_80042330(s32, s32, u16, f32); void mtxf_set_matrix_transformation(Mat4, Vec3f, Vec3su, f32); void mtxf_set_matrix_scale_transl(Mat4, Vec3f, Vec3f, f32); diff --git a/src/menus.c b/src/menus.c index 7f62f4433..79971632f 100644 --- a/src/menus.c +++ b/src/menus.c @@ -258,20 +258,20 @@ void options_menu_act(struct Controller *controller, u16 arg1) { sp2C = TRUE; sp38->unk8 = -1; } - if (sp2C && gSoundMode != sp38->unk4) { + if (sp2C && gSoundMode != sp38->cursor) { gSaveData.main.soundMode = gSoundMode; write_save_data_grand_prix_points_and_sound_mode(); update_save_data_backup(); - sp38->unk4 = gSoundMode; + sp38->cursor = gSoundMode; } if (btnAndStick & B_BUTTON) { func_8009E280(); play_sound2(SOUND_MENU_GO_BACK); - if (gSoundMode != sp38->unk4) { + if (gSoundMode != sp38->cursor) { gSaveData.main.soundMode = gSoundMode; write_save_data_grand_prix_points_and_sound_mode(); update_save_data_backup(); - sp38->unk4 = gSoundMode; + sp38->cursor = gSoundMode; } return; } @@ -305,7 +305,7 @@ void options_menu_act(struct Controller *controller, u16 arg1) { switch (sp2C) { case PFS_INVALID_DATA: D_8018EDEC = 0x46; - sp38->unk4 = 0; + sp38->cursor = 0; play_sound2(SOUND_MENU_SELECT); break; case PFS_NO_ERROR: @@ -486,7 +486,7 @@ void options_menu_act(struct Controller *controller, u16 arg1) { D_8018EDEC = 0x38; } else { D_8018EDEC = 0x3A; - sp38->unk4 = 0; + sp38->cursor = 0; } play_sound2(SOUND_MENU_SELECT); } @@ -540,7 +540,7 @@ void options_menu_act(struct Controller *controller, u16 arg1) { } else { D_8018EDEC = 0x3A; play_sound2(SOUND_MENU_SELECT); - sp38->unk4 = 0; + sp38->cursor = 0; } } // return? @@ -549,9 +549,9 @@ void options_menu_act(struct Controller *controller, u16 arg1) { case 0x3A: { if (arg1 == 0) { - sp38->unk4 += 1; + sp38->cursor += 1; } - if (sp38->unk4 >= 3) { + if (sp38->cursor >= 3) { D_8018EDEC = 0x3B; } break; @@ -584,9 +584,9 @@ void options_menu_act(struct Controller *controller, u16 arg1) { case 0x46: { if (arg1 == 0) { - sp38->unk4 += 1; + sp38->cursor += 1; } - if (sp38->unk4 >= 3) { + if (sp38->cursor >= 3) { D_8018EDEC = 0x47; } break; @@ -1986,12 +1986,12 @@ void func_800B44BC(void) { } // 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)) { - return 1; + return TRUE; } - return 0; + return FALSE; } UNUSED void func_800B4560(s32 arg0, s32 arg1) { diff --git a/src/player_controller.c b/src/player_controller.c index d3695f48c..e13ded918 100644 --- a/src/player_controller.c +++ b/src/player_controller.c @@ -1696,7 +1696,7 @@ void func_8002B9CC(Player *player, s8 arg1, UNUSED s32 arg2) { 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); temp = temp - temp2; 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); - var_v0 = -(s16)get_angle_between_points(sp58, sp4C); + var_v0 = -(s16)get_angle_between_two_vectors(sp58, sp4C); t0 = player->rotation[1]; var_v0 = 0x10000 + (t0 - var_v0); var_v0 /= 182; @@ -2160,7 +2160,7 @@ void func_8002D028(Player *player, s8 arg1) { sp4C[1] = 0; 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]; temp = (temp - temp2); diff --git a/src/racing/actors.c b/src/racing/actors.c index 34b7d9240..a64022cf2 100644 --- a/src/racing/actors.c +++ b/src/racing/actors.c @@ -17,7 +17,7 @@ #include "waypoints.h" #include "macros.h" #include "code_80005FD0.h" -#include "code_80071F00.h" +#include "update_objects.h" #include "effects.h" #include "collision.h" #include "audio/external.h" @@ -33,7 +33,7 @@ u8 *D_802BA054; u8 *D_802BA058; -struct Actor *D_802BA05C; +struct Actor *gActorHotAirBalloonItemBox; s8 gTLUTRedShell[512]; // tlut 256 u16 D_802BA260; @@ -414,7 +414,7 @@ void func_8029794C(Vec3f arg0, Vec3s arg1, f32 arg2) { Mat4 sp20; arg0[1] += 2.0f; - func_802B5F74(sp20, arg0, arg1); + mtxf_pos_rotation_xyz(sp20, arg0, arg1); mtxf_scale(sp20, arg2); 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" @@ -893,7 +893,7 @@ void func_80298D7C(Camera *camera, Mat4 arg1, UNUSED struct Actor *actor) { test &= 0xF; test = (s16)test; if (test == 6) { - func_802B5F74(sp90, spD4, sp88); + mtxf_pos_rotation_xyz(sp90, spD4, sp88); if (!(gMatrixObjectCount < MTX_OBJECT_POOL_SIZE)) { break; } render_set_position(sp90, 0); goto dummylabel; @@ -1302,12 +1302,12 @@ void render_actor_banana(Camera *camera, UNUSED Mat4 arg1, struct BananaActor *b func_802972B8(camera, (struct Actor *) banana); if (banana->state == 5) { - func_802B5F74(sp3C, banana->pos, banana->rot); + mtxf_pos_rotation_xyz(sp3C, banana->pos, banana->rot); } else { sp7C[0] = 0; sp7C[1] = 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; @@ -1405,41 +1405,7 @@ UNUSED void func_8029AE14() { } -// This likely attaches the paddle wheel to the boat -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); - } - } -} +#include "actors/paddle_boat/render.inc.c" void func_8029B06C(Camera *arg0, struct Actor *arg1) { 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); 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) { switch(arg1->state) { @@ -1495,7 +1461,7 @@ void func_8029B2E4(Camera *arg0, struct Actor *arg1) { 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 (gActiveScreenMode == SCREEN_MODE_1P) { @@ -1526,7 +1492,7 @@ void func_8029B4E0(Camera *arg0, struct Actor *arg1) { 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); 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); 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 (gActiveScreenMode == SCREEN_MODE_1P) { @@ -1580,7 +1546,7 @@ void func_8029B6EC(Camera *camera, struct Actor* arg1) { } // 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]; s32 maxObjectsReached; Vec3f sp160; @@ -1594,7 +1560,7 @@ void func_8029B8E8(Camera *camera, struct TrainCar *actor) { 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; if (maxObjectsReached) { return; } @@ -1706,7 +1672,7 @@ void func_8029B8E8(Camera *camera, struct TrainCar *actor) { 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; Vec3f sp160; Mat4 spE0; @@ -1718,7 +1684,7 @@ void func_8029BFB0(Camera *camera, struct TrainCar *actor) { 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 (temp_f0 < 250000.0f) { @@ -1776,7 +1742,7 @@ void func_8029BFB0(Camera *camera, struct TrainCar *actor) { 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; Vec3f sp160; Mat4 spE0; @@ -1788,7 +1754,7 @@ void func_8029C3CC(Camera *camera, struct TrainCar *actor) { 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; } @@ -1915,14 +1881,14 @@ void render_actor_falling_rock(Camera *camera, struct FallingRock *rock) { sp98[1] = 0; sp98[2] = 0; 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) { return; } 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) { return; } @@ -2170,10 +2136,10 @@ void place_course_actors(void) { place_all_item_boxes(d_course_mario_raceway_item_box_spawns); vec3f_set(position, 150.0f, 40.0f, -1300.0f); 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); 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; break; case COURSE_CHOCO_MOUNTAIN: @@ -2252,13 +2218,13 @@ void place_course_actors(void) { place_all_item_boxes(d_course_wario_stadium_item_box_spawns); vec3f_set(position, -131.0f, 83.0f, 286.0f); 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); 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); position[0] *= gCourseDirection; - addActorToEmptySlot(position, rotation, velocity, ACTOR_WARIO_STADIUM_SIGN); + addActorToEmptySlot(position, rotation, velocity, ACTOR_WARIO_SIGN); break; case COURSE_BLOCK_FORT: 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; } -s32 func_8029F408(Player *player, struct YoshiValleyEgg *egg) { +bool func_8029F408(Player *player, struct YoshiValleyEgg *egg) { UNUSED f32 pad[5]; f32 z_dist; f32 xz_dist; @@ -2708,31 +2674,36 @@ s32 func_8029F408(Player *player, struct YoshiValleyEgg *egg) { x_dist = egg->pos[0] - player->pos[0]; if ((x_dist < thing2) && (x_dist < -thing)) { - return 0; + return FALSE; } if (x_dist > thing) { - return 0; + return FALSE; } + z_dist = egg->pos[2] - player->pos[2]; if ((z_dist < thing2) && (z_dist < -thing)) { - return 0; + return FALSE; } if (z_dist > thing) { - return 0; + return FALSE; } + xz_dist = sqrtf((x_dist * x_dist) + (z_dist * z_dist)); if (xz_dist > thing) { - return 0; + return FALSE; } func_802977B0(player); + y_dist = player->pos[1] - egg->pos[1]; if (y_dist < thing2) { - return 0; + return FALSE; } + totalBox = player->boundingBoxSize + egg->boundingBoxSize; if (totalBox < xz_dist) { - return 0; + return FALSE; } + if ((player->type & PLAYER_HUMAN) != 0) { if ((player->effects & STAR_EFFECT) != 0) { egg->flags |= 0x400; @@ -2748,7 +2719,8 @@ s32 func_8029F408(Player *player, struct YoshiValleyEgg *egg) { } else { func_8008DABC(player, player - gPlayerOne); } - return 1; + + return TRUE; } 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[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)) { - func_80077AB0(sp20, 0); + spawn_leaf(sp20, 0); } if (xz_dist < 0.1f) { sqrtf((sp48 * sp48) + (sp44 * sp44)); @@ -3156,7 +3128,7 @@ void func_802A0450(Player *player, struct Actor *actor) { } break; case ACTOR_BANANA: - if (player->effects & 0x800008C0) { break; } + if (player->effects & (BOO_EFFECT | 0x8C0)) { break; } if (player->soundEffects & 1) { break; } temp_v1 = actor->rot[0]; 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); } break; - case ACTOR_MARIO_RACEWAY_SIGN: + case ACTOR_MARIO_SIGN: if (!(player->effects & BOO_EFFECT)) { 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) { - Vec3f sp34; - Vec3f sp28; - Vec3s sp20; - s16 temp_a0; +void func_802A14BC(f32 x, f32 y, f32 z) { + Vec3f pos; + Vec3f velocity; + Vec3s rot; + s16 id; if (gModeSelection == TIME_TRIALS) { return; } - vec3s_set(sp20, 0, 0, 0); - vec3f_set(sp28, 0, 0, 0); - sp34[0] = arg0; - sp34[1] = arg1; - sp34[2] = arg2; - temp_a0 = addActorToEmptySlot(sp34, sp20, sp28, 43); - D_802BA05C = &gActorList[temp_a0]; + vec3s_set(rot, 0, 0, 0); + vec3f_set(velocity, 0, 0, 0); + pos[0] = x; + pos[1] = y; + pos[2] = z; + id = addActorToEmptySlot(pos, rot, velocity, ACTOR_HOT_AIR_BALLOON_ITEM_BOX); + gActorHotAirBalloonItemBox = &gActorList[id]; } 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[1] = fakeItemBox->rot[1]; someRot[2] = 0; - func_802B5F74(someMatrix2, fakeItemBox->pos, someRot); + mtxf_pos_rotation_xyz(someMatrix2, fakeItemBox->pos, someRot); mtxf_scale(someMatrix2, fakeItemBox->sizeScaling); if (fakeItemBox->state != 2) { if (!render_set_position(someMatrix2, 0)) { return; } 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); if (!render_set_position(someMatrix2, 0)) { return; } @@ -3634,7 +3606,7 @@ void func_802A171C(Camera *camera, struct FakeItemBox *fakeItemBox) { gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); gDPSetBlendMask(gDisplayListHead++, 0xFF); thing = fakeItemBox->someTimer; - func_802B5F74(someMatrix2, fakeItemBox->pos, fakeItemBox->rot); + mtxf_pos_rotation_xyz(someMatrix2, fakeItemBox->pos, fakeItemBox->rot); if (thing < 10.0f) { someMultiplier = 1.0f; } else { @@ -3736,28 +3708,28 @@ void func_802A1EA0(Camera *camera, struct ItemBox *item_box) { someVec2[0] = item_box->pos[0]; someVec2[1] = item_box->resetDistance + 2.0f; 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; } gSPDisplayList(gDisplayListHead++, D_0D002EE8); someRot[1] = item_box->rot[1] * 2; 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; } gSPDisplayList(gDisplayListHead++, itemBoxQuestionMarkModel); } 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; } gSPDisplayList(gDisplayListHead++, itemBoxQuestionMarkModel); } 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; } @@ -3782,7 +3754,7 @@ void func_802A1EA0(Camera *camera, struct ItemBox *item_box) { gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); gDPSetBlendMask(gDisplayListHead++, 0xFF); 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) { someMultiplier = 1.0f; } 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; 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); 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) { 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[1] = egg->eggRot; 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; } 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; f32 unk; s16 temp = arg2->flags; @@ -3930,7 +3902,7 @@ void func_802A29BC(Camera *arg0, UNUSED Mat4 arg1, struct Actor *arg2) { if (!(unk < 0.0f)) { gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); 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) { 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); 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) { 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)) { 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) { 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) { - Camera *temp_s1 = arg0->camera; + Camera *camera = arg0->camera; struct Actor *actor; s32 i; D_8015F8DC = 0; @@ -4028,13 +4000,13 @@ void func_802A2F34(struct UnkStruct_800DC5EC *arg0) { switch(actor->type) { case ACTOR_FAKE_ITEM_BOX: - func_802A171C(temp_s1, (struct FakeItemBox *) actor); + func_802A171C(camera, (struct FakeItemBox *) actor); break; case ACTOR_ITEM_BOX: - func_802A1EA0(temp_s1, (struct ItemBox *) actor); + func_802A1EA0(camera, (struct ItemBox *) actor); break; case ACTOR_HOT_AIR_BALLOON_ITEM_BOX: - func_802A1EA0(temp_s1, (struct ItemBox *) actor); + func_802A1EA0(camera, (struct ItemBox *) actor); break; } } @@ -4138,13 +4110,13 @@ void render_course_actors(struct UnkStruct_800DC5EC *arg0) { render_actor_piranha_plant(camera, D_801502C0, (struct PiranhaPlant *) actor); break; case ACTOR_TRAIN_ENGINE: - func_8029B8E8(camera, (struct TrainCar *) actor); + render_actor_train_engine(camera, (struct TrainCar *) actor); break; case ACTOR_TRAIN_TENDER: - func_8029BFB0(camera, (struct TrainCar *) actor); + render_actor_train_tender(camera, (struct TrainCar *) actor); break; case ACTOR_TRAIN_PASSENGER_CAR: - func_8029C3CC(camera, (struct TrainCar *) actor); + render_actor_passenger_car(camera, (struct TrainCar *) actor); break; case ACTOR_COW: render_actor_cow(camera, D_801502C0, actor); @@ -4152,17 +4124,17 @@ void render_course_actors(struct UnkStruct_800DC5EC *arg0) { case 0x14: func_8029AC18(camera, D_801502C0, actor); break; - case ACTOR_MARIO_RACEWAY_SIGN: - func_802A29BC(camera, D_801502C0, actor); + case ACTOR_MARIO_SIGN: + render_actor_mario_sign(camera, D_801502C0, actor); break; - case ACTOR_WARIO_STADIUM_SIGN: - func_802A269C(camera, actor); + case ACTOR_WARIO_SIGN: + render_actor_wario_sign(camera, actor); break; case ACTOR_PALM_TREE: func_802A2C78(camera, D_801502C0, actor); break; - case ACTOR_PADDLE_WHEEL_BOAT: - func_8029AE1C(camera, (struct PaddleWheelBoat *) actor, D_801502C0, pathCounter); + case ACTOR_PADDLE_BOAT: + render_actor_paddle_boat(camera, (struct PaddleWheelBoat *) actor, D_801502C0, pathCounter); break; case ACTOR_BOX_TRUCK: func_8029B06C(camera, actor); @@ -4223,8 +4195,8 @@ void update_course_actors(void) { case ACTOR_BANANA: update_actor_banana((struct BananaActor *) actor); break; - case ACTOR_PADDLE_WHEEL_BOAT: - update_actor_paddle_wheel((struct PaddleWheelBoat *) actor); + case ACTOR_PADDLE_BOAT: + update_actor_paddle_boat((struct PaddleWheelBoat *) actor); break; case ACTOR_TRAIN_ENGINE: update_actor_train_engine((struct TrainCar *) actor); @@ -4256,10 +4228,10 @@ void update_course_actors(void) { case ACTOR_TRIPLE_RED_SHELL: update_actor_triple_shell((TripleShellParent *) actor, ACTOR_RED_SHELL); break; - case ACTOR_MARIO_RACEWAY_SIGN: + case ACTOR_MARIO_SIGN: update_actor_mario_raceway_sign(actor); break; - case ACTOR_WARIO_STADIUM_SIGN: + case ACTOR_WARIO_SIGN: update_actor_wario_stadium_sign(actor); break; case ACTOR_RAILROAD_CROSSING: diff --git a/src/racing/actors.h b/src/racing/actors.h index 746ded6e6..bc7eca7cb 100644 --- a/src/racing/actors.h +++ b/src/racing/actors.h @@ -21,7 +21,7 @@ void render_actor_cow(Camera*, Mat4, struct Actor*); void update_actor_yoshi_valley_egg(struct YoshiValleyEgg*); void update_actor_trees_cacti_shrubs(struct Actor*); 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_car1(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_mario_raceway_sign(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_8029B2E4(Camera*, struct Actor*); void func_8029B4E0(Camera*, struct Actor*); void func_8029B6EC(Camera*, struct Actor*); -void func_8029B8E8(Camera*, struct TrainCar*); -void func_8029BFB0(Camera*, struct TrainCar*); -void func_8029C3CC(Camera*, struct TrainCar*); +void render_actor_train_engine(Camera*, struct TrainCar*); +void render_actor_train_tender(Camera*, struct TrainCar*); +void render_actor_passenger_car(Camera*, struct TrainCar*); void render_actor_falling_rock(Camera*, struct FallingRock*); void place_piranha_plants(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 func_802A171C(Camera*, struct FakeItemBox*); 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_802A29BC(Camera*, Mat4, struct Actor*); +void render_actor_mario_sign(Camera*, Mat4, struct Actor*); void func_802A2AD0(Camera*, struct RailroadCrossing*); void func_802A2C78(Camera*, Mat4, struct Actor*); void func_802A2F34(struct UnkStruct_800DC5EC*); @@ -114,7 +114,7 @@ extern void func_800C99E0(Vec3f, s32); extern u8 *D_802BA050; extern u8 *D_802BA054; extern u8 *D_802BA058; -extern struct Actor *D_802BA05C; +extern struct Actor *gActorHotAirBalloonItemBox; extern s8 gTLUTRedShell[]; // tlut 256 extern u16 D_802BA260; // Box Truck sub-type? @@ -124,7 +124,6 @@ extern s16 gCurrentCourseId; extern u16 isCrossingTriggeredByIndex[]; extern Lights1 D_800DC610[]; -extern s8 common_tlut_trees_import[]; extern Gfx D_0D005338[]; extern Gfx D_0D005368[]; extern Gfx D_0D007B20[]; diff --git a/src/racing/actors_extended.c b/src/racing/actors_extended.c index af5063bec..afc795e09 100644 --- a/src/racing/actors_extended.c +++ b/src/racing/actors_extended.c @@ -12,7 +12,7 @@ #include "actors.h" #include "actors_extended.h" #include "audio/external.h" -#include "code_80071F00.h" +#include "update_objects.h" #include "effects.h" #include "sounds.h" diff --git a/src/racing/math_util.c b/src/racing/math_util.c index d28aade3f..c4b6e3169 100644 --- a/src/racing/math_util.c +++ b/src/racing/math_util.c @@ -78,7 +78,7 @@ f32 func_802B51E8(Vec3f arg0, Vec3f arg1) { 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_v2; 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); } -// get_angle_between_points +// get_angle_between_two_vectors u32 func_802B5258(Vec3f arg0, Vec3s arg1) { f32 temp_v1; 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 -void func_802B5F74(Mat4 arg0, Vec3f arg1, Vec3s arg2) { +void mtxf_pos_rotation_xyz(Mat4 out, Vec3f pos, Vec3s orientation) { f32 sine1; f32 cosine1; f32 sine2; @@ -491,28 +491,28 @@ void func_802B5F74(Mat4 arg0, Vec3f arg1, Vec3s arg2) { f32 sine3; f32 cosine3; - sine1 = sins(arg2[0]); - cosine1 = coss(arg2[0]); - sine2 = sins(arg2[1]); - cosine2 = coss(arg2[1]); - sine3 = sins(arg2[2]); - cosine3 = coss(arg2[2]); - arg0[0][0] = (cosine2 * cosine3) + ((sine1 * sine2) * sine3); - arg0[1][0] = (-cosine2 * sine3) + ((sine1 * sine2) * cosine3); - arg0[2][0] = cosine1 * sine2; - arg0[3][0] = arg1[0]; - arg0[0][1] = cosine1 * sine3; - arg0[1][1] = cosine1 * cosine3; - arg0[2][1] = -sine1; - arg0[3][1] = arg1[1]; - arg0[0][2] = (-sine2 * cosine3) + ((sine1 * cosine2) * sine3); - arg0[1][2] = (sine2 * sine3) + ((sine1 * cosine2) * cosine3); - arg0[2][2] = cosine1 * cosine2; - arg0[3][2] = arg1[2]; - arg0[0][3] = 0.0f; - arg0[1][3] = 0.0f; - arg0[2][3] = 0.0f; - arg0[3][3] = 1.0f; + sine1 = sins(orientation[0]); + cosine1 = coss(orientation[0]); + sine2 = sins(orientation[1]); + cosine2 = coss(orientation[1]); + sine3 = sins(orientation[2]); + cosine3 = coss(orientation[2]); + out[0][0] = (cosine2 * cosine3) + ((sine1 * sine2) * sine3); + out[1][0] = (-cosine2 * sine3) + ((sine1 * sine2) * cosine3); + out[2][0] = cosine1 * sine2; + out[3][0] = pos[0]; + out[0][1] = cosine1 * sine3; + out[1][1] = cosine1 * cosine3; + out[2][1] = -sine1; + out[3][1] = pos[1]; + out[0][2] = (-sine2 * cosine3) + ((sine1 * cosine2) * sine3); + out[1][2] = (sine2 * sine3) + ((sine1 * cosine2) * cosine3); + out[2][2] = cosine1 * cosine2; + out[3][2] = pos[2]; + out[0][3] = 0.0f; + out[1][3] = 0.0f; + out[2][3] = 0.0f; + out[3][3] = 1.0f; } 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; } - angleObject = get_angle_between_points(cameraPos, objectPos); + angleObject = get_angle_between_two_vectors(cameraPos, objectPos); minus_fov_angle = (orientationY - extended_fov); plus_fov_angle = (orientationY + extended_fov); diff --git a/src/racing/math_util.h b/src/racing/math_util.h index cdc27d5ad..06f76fc7d 100644 --- a/src/racing/math_util.h +++ b/src/racing/math_util.h @@ -19,7 +19,7 @@ double fabs(double x); s32 func_802B4F60(s32, Vec3f, s32, f32, f32); s32 render_set_position(Mat4, s32); 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); void vec3f_set(Vec3f, f32, f32, f32); 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_802B5D64(uintptr_t, s16, s16, s32); 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_mat4(Vec3f, Mat4); void func_802B64C4(Vec3f, s16); diff --git a/src/racing/race_logic.c b/src/racing/race_logic.c index 1363ea806..c7d1fa35b 100644 --- a/src/racing/race_logic.c +++ b/src/racing/race_logic.c @@ -11,7 +11,7 @@ #include "main.h" #include "code_800029B0.h" #include "code_80057C60.h" -#include "code_80071F00.h" +#include "update_objects.h" #include "code_80091750.h" #include "code_80005FD0.h" #include "spawn_players.h" @@ -670,7 +670,7 @@ void func_8028F474(void) { } case 1: case 2: - func_800097E0(); + update_vehicles(); break; } } diff --git a/src/racing/render_courses.c b/src/racing/render_courses.c index b0036359c..35781e821 100644 --- a/src/racing/render_courses.c +++ b/src/racing/render_courses.c @@ -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; Player *player = arg0->player; Mat4 matrix; @@ -212,22 +212,22 @@ void func_8029122C(struct UnkStruct_800DC5EC *arg0, s32 arg1) { pathCounter = (u16) arg0->pathCounter; cameraRot = (u16) arg0->camera->rot[1]; playerDirection = arg0->playerDirection; - switch (arg1) { - case 0: - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[0]), 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); + switch (playerId) { + case PLAYER_ONE: + 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[PLAYER_ONE]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); break; - case 1: - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[1]), 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); + case PLAYER_TWO: + 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[PLAYER_TWO]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); break; - case 2: - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[2]), 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); + case PLAYER_THREE: + 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[PLAYER_THREE]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); break; - case 3: - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[3]), 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); + case PLAYER_FOUR: + 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[PLAYER_FOUR]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); break; } mtxf_identity(matrix); diff --git a/src/racing/skybox_and_splitscreen.c b/src/racing/skybox_and_splitscreen.c index bdd56833a..d48899662 100644 --- a/src/racing/skybox_and_splitscreen.c +++ b/src/racing/skybox_and_splitscreen.c @@ -766,7 +766,7 @@ void func_802A5760(void) { } } -void func_802A59A4(void) { +void render_player_one_1p_screen(void) { Camera *camera = &cameras[0]; UNUSED s32 pad[4]; u16 perspNorm; @@ -810,23 +810,23 @@ void func_802A59A4(void) { render_set_position(matrix, 0); } render_course_actors(D_800DC5EC); - func_80058090(0); + render_object(RENDER_SCREEN_MODE_1P_PLAYER_ONE); render_players_on_screen_one(); - func_8029122C(D_800DC5EC, 0); + func_8029122C(D_800DC5EC, PLAYER_ONE); func_80021B0C(); func_802A2F34(D_800DC5EC); - func_80058538(0); + render_player_snow_effect(RENDER_SCREEN_MODE_1P_PLAYER_ONE); func_80058BF4(); 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) { - 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]; UNUSED s32 pad[2]; u16 perspNorm; @@ -866,24 +866,24 @@ void func_802A5CB4(void) { render_set_position(matrix, 0); } render_course_actors(D_800DC5EC); - func_80058090(1); + render_object(RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_ONE); render_players_on_screen_one(); - func_8029122C(D_800DC5EC, 0); + func_8029122C(D_800DC5EC, PLAYER_ONE); func_80021B0C(); func_802A2F34(D_800DC5EC); - func_80058538(1); + render_player_snow_effect(RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_ONE); func_80058BF4(); 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) { - func_80058DB4(1); + render_hud(RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_ONE); } D_8015F788 += 1; } -void func_802A5FAC(void) { +void render_player_two_2p_screen_vertical(void) { Camera *camera = &cameras[1]; UNUSED s32 pad[2]; u16 perspNorm; @@ -920,24 +920,24 @@ void func_802A5FAC(void) { render_set_position(matrix, 0); } render_course_actors(D_800DC5F0); - func_80058090(2); + render_object(RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_TWO); render_players_on_screen_two(); - func_8029122C(D_800DC5F0, 1); + func_8029122C(D_800DC5F0, PLAYER_TWO); func_80021C78(); func_802A2F34(D_800DC5F0); func_80058BF4(); - func_80058538(2); + render_player_snow_effect(RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_TWO); 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) { - func_80058DB4(2); + render_hud(RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_TWO); } D_8015F788 += 1; } -void func_802A62A4(void) { +void render_player_one_2p_screen_horizontal(void) { Camera *camera = &cameras[0]; UNUSED s32 pad[2]; u16 perspNorm; @@ -978,24 +978,24 @@ void func_802A62A4(void) { render_set_position(matrix, 0); } render_course_actors(D_800DC5EC); - func_80058090(3); + render_object(RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_ONE); render_players_on_screen_one(); - func_8029122C(D_800DC5EC, 0); + func_8029122C(D_800DC5EC, PLAYER_ONE); func_80021B0C(); func_802A2F34(D_800DC5EC); - func_80058538(3); + render_player_snow_effect(RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_ONE); func_80058BF4(); 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) { - func_80058DB4(3); + render_hud(RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_ONE); } D_8015F788 += 1; } -void func_802A65B8(void) { +void render_player_two_2p_screen_horizontal(void) { Camera *camera = &cameras[1]; UNUSED s32 pad[2]; u16 perspNorm; @@ -1035,24 +1035,24 @@ void func_802A65B8(void) { render_set_position(matrix, 0); } render_course_actors(D_800DC5F0); - func_80058090(4); + render_object(RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_TWO); render_players_on_screen_two(); - func_8029122C(D_800DC5F0, 1); + func_8029122C(D_800DC5F0, PLAYER_TWO); func_80021C78(); func_802A2F34(D_800DC5F0); - func_80058538(4); + render_player_snow_effect(RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_TWO); func_80058BF4(); 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) { - func_80058DB4(4); + render_hud(RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_TWO); } D_8015F788 += 1; } -void func_802A68CC(void) { +void render_player_one_3p_4p_screen(void) { Camera *camera = camera1; UNUSED s32 pad[2]; u16 perspNorm; @@ -1089,24 +1089,24 @@ void func_802A68CC(void) { render_set_position(matrix, 0); } render_course_actors(D_800DC5EC); - func_80058090(8); + render_object(RENDER_SCREEN_MODE_3P_4P_PLAYER_ONE); render_players_on_screen_one(); - func_8029122C(D_800DC5EC, 0); + func_8029122C(D_800DC5EC, PLAYER_ONE); func_80021B0C(); func_802A2F34(D_800DC5EC); - func_80058538(8); + render_player_snow_effect(RENDER_SCREEN_MODE_3P_4P_PLAYER_ONE); func_80058BF4(); 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) { - func_80058DB4(8); + render_hud(RENDER_SCREEN_MODE_3P_4P_PLAYER_ONE); } D_8015F788 += 1; } -void func_802A6BB0(void) { +void render_player_two_3p_4p_screen(void) { Camera *camera = camera2; UNUSED s32 pad[2]; u16 perspNorm; @@ -1143,24 +1143,24 @@ void func_802A6BB0(void) { render_set_position(matrix, 0); } render_course_actors(D_800DC5F0); - func_80058090(9); + render_object(RENDER_SCREEN_MODE_3P_4P_PLAYER_TWO); render_players_on_screen_two(); - func_8029122C(D_800DC5F0, 1); + func_8029122C(D_800DC5F0, PLAYER_TWO); func_80021C78(); func_802A2F34(D_800DC5F0); - func_80058538(9); + render_player_snow_effect(RENDER_SCREEN_MODE_3P_4P_PLAYER_TWO); func_80058BF4(); 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) { - func_80058DB4(9); + render_hud(RENDER_SCREEN_MODE_3P_4P_PLAYER_TWO); } D_8015F788 += 1; } -void func_802A6E94(void) { +void render_player_three_3p_4p_screen(void) { Camera *camera = camera3; UNUSED s32 pad[2]; u16 perspNorm; @@ -1198,24 +1198,24 @@ void func_802A6E94(void) { render_set_position(matrix, 0); } render_course_actors(D_800DC5F4); - func_80058090(10); + render_object(RENDER_SCREEN_MODE_3P_4P_PLAYER_THREE); render_players_on_screen_three(); - func_8029122C(D_800DC5F4, 2); + func_8029122C(D_800DC5F4, PLAYER_THREE); func_80021D40(); func_802A2F34(D_800DC5F4); - func_80058538(10); + render_player_snow_effect(RENDER_SCREEN_MODE_3P_4P_PLAYER_THREE); func_80058BF4(); 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) { - func_80058DB4(10); + render_hud(RENDER_SCREEN_MODE_3P_4P_PLAYER_THREE); } D_8015F788 += 1; } -void func_802A7178(void) { +void render_player_four_3p_4p_screen(void) { Camera *camera = camera4; UNUSED s32 pad[2]; u16 perspNorm; @@ -1227,9 +1227,9 @@ void func_802A7178(void) { func_802A5760(); if (gPlayerCountSelection1 == 3) { - func_80093A5C(11); + func_80093A5C(RENDER_SCREEN_MODE_3P_4P_PLAYER_FOUR); if (D_800DC5B8 != 0) { - func_80058DB4(11); + render_hud(RENDER_SCREEN_MODE_3P_4P_PLAYER_FOUR); } D_8015F788 += 1; return; @@ -1261,19 +1261,19 @@ void func_802A7178(void) { render_set_position(matrix, 0); } render_course_actors(D_800DC5F8); - func_80058090(11); + render_object(RENDER_SCREEN_MODE_3P_4P_PLAYER_FOUR); render_players_on_screen_four(); - func_8029122C(D_800DC5F8, 3); + func_8029122C(D_800DC5F8, PLAYER_FOUR); func_80021DA8(); func_802A2F34(D_800DC5F8); - func_80058538(11); + render_player_snow_effect(RENDER_SCREEN_MODE_3P_4P_PLAYER_FOUR); func_80058BF4(); 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) { - func_80058DB4(11); + render_hud(RENDER_SCREEN_MODE_3P_4P_PLAYER_FOUR); } D_8015F788 += 1; } diff --git a/src/racing/skybox_and_splitscreen.h b/src/racing/skybox_and_splitscreen.h index c3faffc11..ec2d7d8b3 100644 --- a/src/racing/skybox_and_splitscreen.h +++ b/src/racing/skybox_and_splitscreen.h @@ -40,15 +40,15 @@ void func_802A54A8(void); void func_802A5590(void); void func_802A5678(void); void func_802A5760(void); -void func_802A59A4(void); -void func_802A5CB4(void); -void func_802A5FAC(void); -void func_802A62A4(void); -void func_802A65B8(void); -void func_802A68CC(void); -void func_802A6BB0(void); -void func_802A6E94(void); -void func_802A7178(void); +void render_player_one_1p_screen(void); +void render_player_one_2p_screen_vertical(void); +void render_player_two_2p_screen_vertical(void); +void render_player_one_2p_screen_horizontal(void); +void render_player_two_2p_screen_horizontal(void); +void render_player_one_3p_4p_screen(void); +void render_player_two_3p_4p_screen(void); +void render_player_three_3p_4p_screen(void); +void render_player_four_3p_4p_screen(void); void func_802A74BC(void); void copy_framebuffer(s32, s32, s32, s32, u16*, u16*); void func_802A7728(void); diff --git a/src/hud_renderer.c b/src/render_objects.c similarity index 88% rename from src/hud_renderer.c rename to src/render_objects.c index 021ab3792..8696dc912 100644 --- a/src/hud_renderer.c +++ b/src/render_objects.c @@ -1,5 +1,5 @@ /** - * @file hud_renderer.c renders hud elements + * @file render_objects.c renders hud elements * A more suitable name may be print.c **/ @@ -22,8 +22,8 @@ #include "code_80005FD0.h" #include "code_80057C60.h" #include "code_8006E9C0.h" -#include "hud_renderer.h" -#include "code_80071F00.h" +#include "render_objects.h" +#include "update_objects.h" #include "code_80091750.h" #include "collision.h" #include "main.h" @@ -167,56 +167,56 @@ s32 func_80043A54(s32 arg0) { return phi_v1; } -void func_80043A84(u8 *texture, s32 width, s32 height) { +void load_texture_block_rgba32_nomirror(u8 *texture, s32 width, s32 height) { gDPLoadTextureBlock(gDisplayListHead++, texture, G_IM_FMT_RGBA, G_IM_SIZ_32b, width, height, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); } -void func_80043C28(u8 *texture, s32 width, s32 height) { +void load_texture_tile_rgba32_nomirror(u8 *texture, s32 width, s32 height) { gDPLoadTextureTile(gDisplayListHead++, texture, G_IM_FMT_RGBA, G_IM_SIZ_32b, width, height, 0, 0, width - 1, height - 1, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); } -void func_80043D50(u8 *texture, s32 width, s32 height) { +void load_texture_block_rgba16_mirror(u8 *texture, s32 width, s32 height) { gDPLoadTextureBlock(gDisplayListHead++, texture, G_IM_FMT_RGBA, G_IM_SIZ_16b, width, height, 0, G_TX_MIRROR | G_TX_CLAMP, G_TX_MIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); } -void func_80043EF8(u8 *texture, s32 width, s32 height, s32 someMask) { +void load_texture_block_rgba16_nomirror(u8 *texture, s32 width, s32 height, s32 someMask) { gDPLoadTextureBlock(gDisplayListHead++, texture, G_IM_FMT_RGBA, G_IM_SIZ_16b, width, height, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_CLAMP, someMask, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); } -void func_800440B8(u8 *texture, s32 width, s32 height) { +void load_texture_tile_rgba16_nomirror(u8 *texture, s32 width, s32 height) { gDPLoadTextureTile(gDisplayListHead++, texture, G_IM_FMT_RGBA, G_IM_SIZ_16b, width, height, 0, 0, width - 1, height - 1, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); } -void func_800441E0(u8 *texture, s32 width, s32 height) { +void load_texture_block_ia16_nomirror(u8 *texture, s32 width, s32 height) { gDPLoadTextureBlock(gDisplayListHead++, texture, G_IM_FMT_IA, G_IM_SIZ_16b, width, height, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); } -void func_80044388(u8 *texture, s32 width, s32 height) { +void load_texture_tile_ia16_nomirror(u8 *texture, s32 width, s32 height) { gDPLoadTextureTile(gDisplayListHead++, texture, G_IM_FMT_IA, G_IM_SIZ_16b, width, height, 0, 0, width - 1, height - 1, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); } -void func_800444B0(u8 *texture, s32 width, s32 height) { +void load_texture_block_ia8_nomirror(u8 *texture, s32 width, s32 height) { gDPLoadTextureBlock(gDisplayListHead++, texture, G_IM_FMT_IA, G_IM_SIZ_8b, width, height, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); } -void func_80044658(u8 *texture, s32 width, s32 height) { +void load_texture_tile_ia8_nomirror(u8 *texture, s32 width, s32 height) { gDPLoadTextureTile(gDisplayListHead++, texture, G_IM_FMT_IA, G_IM_SIZ_8b, width, height, 0, 0, width - 1, height - 1, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); } -void func_8004477C(u8 *texture, s32 width, s32 height) { +void load_texture_block_i8_nomirror(u8 *texture, s32 width, s32 height) { gDPLoadTextureBlock(gDisplayListHead++, texture, G_IM_FMT_I, G_IM_SIZ_8b, width, height, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); } @@ -352,7 +352,7 @@ void func_80045D0C(u8 *texture, Vtx *arg1, s32 width, s32 arg3, s32 height) { u8 *img = texture; for (heightIndex = 0; heightIndex < arg3 / height; heightIndex++) { - func_80043D50(img, width, height); + load_texture_block_rgba16_mirror(img, width, height); func_80045B2C(&arg1[vertexIndex]); img += width * height * 2; vertexIndex += 4; @@ -366,7 +366,7 @@ void func_80045E10(u8 *texture, Vtx *arg1, s32 width, s32 arg3, s32 height) { u8 *img = texture; for (heightIndex = 0; heightIndex < arg3 / height; heightIndex++) { - func_80043D50(img, width, height); + load_texture_block_rgba16_mirror(img, width, height); func_80045B2C(&arg1[vertexIndex]); img += width * (height - 1) * 2; vertexIndex += 4; @@ -380,7 +380,7 @@ void func_80045F18(u8 *texture, Vtx *arg1, s32 width, s32 arg3, s32 height, s32 u8 *img = texture; for (heightIndex = 0; heightIndex < arg3 / height; heightIndex++) { - func_80043EF8(img, width, height, someMask); + load_texture_block_rgba16_nomirror(img, width, height, someMask); func_80045B2C(&arg1[vertexIndex]); img += width * (height - 1) * 2; vertexIndex += 4; @@ -419,7 +419,7 @@ void func_800461A4(u8 *texture, Vtx *arg1, s32 width, s32 arg3, s32 height) { u8 *img = texture; for (heightIndex = 0; heightIndex < arg3 / height; heightIndex++) { - func_80043A84(img, width, height); + load_texture_block_rgba32_nomirror(img, width, height); func_80045B2C(&arg1[vertexIndex]); img += width * height * 4; vertexIndex += 4; @@ -433,7 +433,7 @@ void func_800462A8(u8 *texture, Vtx *arg1, s32 width, s32 arg3, s32 height) { u8 *img = texture; for (heightIndex = 0; heightIndex < arg3 / height; heightIndex++) { - func_80043A84(img, width, height); + load_texture_block_rgba32_nomirror(img, width, height); func_80045B2C(&arg1[vertexIndex]); img += width * (height - 1) * 4; vertexIndex += 4; @@ -483,7 +483,7 @@ UNUSED void func_80046634(s32 arg0, s32 arg1, u16 arg2, f32 arg3, u8 *tlut, u8 * void func_800466B0(s32 arg0, s32 arg1, u16 arg2, f32 arg3, u8 *texture, Vtx* arg5, s32 arg6, s32 arg7) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007948); - func_80043D50(texture, arg6, arg7); + load_texture_block_rgba16_mirror(texture, arg6, arg7); func_80045B74(arg5); } @@ -528,7 +528,7 @@ UNUSED void func_80046954(Vec3f arg0, Vec3su arg1, f32 arg2, u8 *texture, Vtx *a void func_80046A00(Vec3f arg0, Vec3su arg1, f32 arg2, u8 *texture, Vtx *arg4, s32 arg5, s32 arg6) { rsp_set_matrix_transformation(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007948); - func_80043D50(texture, arg5, arg6); + load_texture_block_rgba16_mirror(texture, arg5, arg6); func_80045B74(arg4); } @@ -578,7 +578,7 @@ UNUSED void func_80046DF4(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, u8 * func_800465B8(arg0, arg1, arg2, arg3, arg4, texture, D_0D0060B0, 64, 64, 64, 32); } -void func_80046E60(u8 *tlut, u8 *texture, s32 width, s32 height) { +void load_texture_and_tlut(u8 *tlut, u8 *texture, s32 width, s32 height) { gSPDisplayList(gDisplayListHead++, D_0D007D78); gDPLoadTLUT_pal256(gDisplayListHead++, tlut); rsp_load_texture(texture, width, height); @@ -755,7 +755,7 @@ UNUSED void func_80048038(Vec3f arg0, Vec3su arg1, f32 arg2, u8 *tlut, u8 *textu func_80047068(tlut, texture, arg5, arg6, arg7, arg8, arg9); } -void func_800480B4(Vec3f arg0, Vec3su arg1, f32 arg2, u8 *tlut, u8 *texture, Vtx *arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { +void draw_2d_texture_at(Vec3f arg0, Vec3su arg1, f32 arg2, u8 *tlut, u8 *texture, Vtx *arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { rsp_set_matrix_transformation(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007D78); draw_rectangle_texture_overlap(tlut, texture, arg5, arg6, arg7, arg8, arg9); @@ -891,7 +891,7 @@ UNUSED void func_80048BE8(Vec3f arg0, Vec3su arg1, f32 arg2, u8 *tlut, u8 *textu } UNUSED void func_80048C3C(Vec3f arg0, Vec3su arg1, f32 arg2, u8 *tlut, u8 *texture, Vtx *arg5) { - func_800480B4(arg0, arg1, arg2, tlut, texture, arg5, 64, 64, 64, 32); + draw_2d_texture_at(arg0, arg1, arg2, tlut, texture, arg5, 64, 64, 64, 32); } UNUSED void func_80048C90(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, u8 *tlut, u8 *texture, Vtx *arg6) { @@ -923,7 +923,7 @@ UNUSED void func_80048ED0(s32 arg0, s32 arg1, u16 arg2, f32 arg3, u8 *tlut, u8 * } UNUSED void func_80048F38(Vec3f arg0, Vec3su arg1, f32 arg2, u8 *tlut, u8 *texture, Vtx *arg5) { - func_800480B4(arg0, arg1, arg2, tlut, texture, arg5, 72, 48, 72, 24); + draw_2d_texture_at(arg0, arg1, arg2, tlut, texture, arg5, 72, 48, 72, 24); } void func_80048F8C(u8 *texture, Vtx *arg1, s32 arg2, s32 arg3, s32 width, s32 height) { @@ -934,7 +934,7 @@ void func_80048F8C(u8 *texture, Vtx *arg1, s32 arg2, s32 arg3, s32 width, s32 he for (heightIndex = 0; heightIndex < arg3 / height; heightIndex++) { for (widthIndex = 0; widthIndex < arg2 / width; widthIndex++) { - func_800441E0(img, width, height); + load_texture_block_ia16_nomirror(img, width, height); gSPVertex(gDisplayListHead++, &arg1[vertexIndex], 4, 0); gSPDisplayList(gDisplayListHead++, common_rectangle_display); img += width * height * 2; @@ -952,7 +952,7 @@ void func_80049130(u8 *texture, Vtx *arg1, s32 arg2, s32 arg3, s32 width, s32 he for (heightIndex = 0; heightIndex < arg3 / height; heightIndex++) { for (widthIndex = 0; widthIndex < arg2 / width; widthIndex++) { - func_80044388(img, width, height); + load_texture_tile_ia16_nomirror(img, width, height); gSPVertex(gDisplayListHead++, &arg1[vertexIndex], 4, 0); gSPDisplayList(gDisplayListHead++, common_rectangle_display); img += width * height * 2; @@ -970,7 +970,7 @@ void func_800492D4(u8 *texture, Vtx *arg1, s32 arg2, s32 arg3, s32 width, s32 he for (heightIndex = 0; heightIndex < arg3 / height; heightIndex++) { for (widthIndex = 0; widthIndex < arg2 / width; widthIndex++) { - func_800444B0(img, width, height); + load_texture_block_ia8_nomirror(img, width, height); gSPVertex(gDisplayListHead++, &arg1[vertexIndex], 4, 0); gSPDisplayList(gDisplayListHead++, common_rectangle_display); img += width * height; @@ -988,7 +988,7 @@ void func_80049478(u8 *texture, Vtx *arg1, s32 arg2, s32 arg3, s32 width, s32 he for (heightIndex = 0; heightIndex < arg3 / height; heightIndex++) { for (widthIndex = 0; widthIndex < arg2 / width; widthIndex++) { - func_80044658(img, width, height); + load_texture_tile_ia8_nomirror(img, width, height); gSPVertex(gDisplayListHead++, &arg1[vertexIndex], 4, 0); gSPDisplayList(gDisplayListHead++, common_rectangle_display); img += width * height; @@ -1204,7 +1204,7 @@ void func_8004A630(Collision *arg0, Vec3f arg1, f32 arg2) { void func_8004A6EC(s32 objectIndex, f32 scale) { Objects *temp_v0; - if ((is_obj_index_flag_unk_054_active(objectIndex, 0x00000020) != 0) && (is_obj_index_flag_unk_054_active(objectIndex, 0x00800000) != 0)) { + if ((is_obj_flag_status_active(objectIndex, 0x00000020) != 0) && (is_obj_flag_status_active(objectIndex, 0x00800000) != 0)) { temp_v0 = &gObjectList[objectIndex]; D_80183E50[0] = temp_v0->pos[0]; D_80183E50[1] = temp_v0->unk_044 + 0.8; @@ -1217,7 +1217,7 @@ void func_8004A6EC(s32 objectIndex, f32 scale) { void func_8004A7AC(s32 objectIndex, f32 arg1) { Objects *temp_v0; - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00000020) != 0) { + if (is_obj_flag_status_active(objectIndex, 0x00000020) != 0) { temp_v0 = &gObjectList[objectIndex]; D_80183E50[0] = temp_v0->pos[0]; D_80183E50[1] = temp_v0->unk_044 + 0.8; @@ -1234,7 +1234,7 @@ void func_8004A870(s32 objectIndex, f32 arg1) { Mat4 sp30; Objects *temp_v0; - if ((is_obj_index_flag_unk_054_active(objectIndex, 0x00000020) != 0) && (is_obj_index_flag_unk_054_active(objectIndex, 0x00800000) != 0)) { + if ((is_obj_flag_status_active(objectIndex, 0x00000020) != 0) && (is_obj_flag_status_active(objectIndex, 0x00800000) != 0)) { temp_v0 = &gObjectList[objectIndex]; D_80183E50[0] = temp_v0->pos[0]; D_80183E50[1] = temp_v0->unk_044 + 0.8; @@ -1336,7 +1336,7 @@ UNUSED void func_8004B180(s32 red, s32 green, s32 blue, s32 alpha) { gDPSetEnvColor(gDisplayListHead++, red, green, blue, alpha); } -void func_8004B1C8(s32 primRed, s32 primGreen, s32 primBlue, s32 envRed, s32 envGreen, s32 envBlue, s32 primAlpha) { +void set_color_render(s32 primRed, s32 primGreen, s32 primBlue, s32 envRed, s32 envGreen, s32 envBlue, s32 primAlpha) { gDPSetPrimColor(gDisplayListHead++, 0, 0, primRed, primGreen, primBlue, primAlpha); gDPSetEnvColor(gDisplayListHead++, envRed, envGreen, envBlue, 0xFF); } @@ -1520,8 +1520,8 @@ void func_8004BB3C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, f32 arg4) { s32 var_t1; s32 xl; s32 yl; - s32 thing0; - s32 thing1; + UNUSED s32 thing0; + UNUSED s32 thing1; var_t0 = (arg2 * 4 * arg4) + 0.5; var_t1 = (arg3 * 4 * arg4) + 0.5; @@ -1587,7 +1587,7 @@ void func_8004C268(u32 arg0, u32 arg1, u8 *texture, u32 width, u32 arg4, u32 hei img2 = texture; for (i = 0; (u32)i < (arg4 / height); i++) { - func_80043D50(img2, width, height); + load_texture_block_rgba16_mirror(img2, width, height); func_8004B97C(arg0, arg1, width, height, arg6); //! @todo fakematch? #ifdef AVOID_UB @@ -1605,12 +1605,12 @@ UNUSED void func_8004C354() { UNUSED void func_8004C35C() { } -void func_8004C364(s32 arg0, s32 arg1, u32 arg2, u32 arg3, u8 *texture) { +void draw_hud_2d_texture(s32 x, s32 y, u32 width, u32 height, u8 *texture) { gSPDisplayList(gDisplayListHead++, D_0D008108); gSPDisplayList(gDisplayListHead++, D_0D007EF8); gDPSetAlphaCompare(gDisplayListHead++, G_AC_THRESHOLD); - func_80043D50(texture, arg2, arg3); - func_8004B97C(arg0 - (arg2 >> 1), arg1 - (arg3 >> 1), arg2, arg3, 0); + load_texture_block_rgba16_mirror(texture, width, height); + func_8004B97C(x - (width >> 1), y - (height >> 1), width, height, 0); gSPDisplayList(gDisplayListHead++, D_0D007EB8); } @@ -1618,7 +1618,7 @@ void func_8004C450(s32 arg0, s32 arg1, u32 arg2, u32 arg3, u8 *texture) { gSPDisplayList(gDisplayListHead++, D_0D007F38); func_8004B614(D_801656C0, D_801656D0, D_801656E0, 0x80, 0x80, 0x80, 0xFF); - func_80043D50(texture, arg2, arg3); + load_texture_block_rgba16_mirror(texture, arg2, arg3); func_8004B97C(arg0 - (arg2 >> 1), arg1 - (arg3 >> 1), arg2, arg3, 1); gSPDisplayList(gDisplayListHead++, D_0D007EB8); } @@ -1628,7 +1628,7 @@ UNUSED void func_8004C53C(s32 arg0, s32 arg1, u32 arg2, u32 arg3, u8 *texture) { gSPDisplayList(gDisplayListHead++, D_0D008108); gSPDisplayList(gDisplayListHead++, D_0D007EF8); gDPSetAlphaCompare(gDisplayListHead++, G_AC_THRESHOLD); - func_800440B8(texture, arg2, arg3); + load_texture_tile_rgba16_nomirror(texture, arg2, arg3); func_8004B97C(arg0 - (arg2 >> 1), arg1 - (arg3 >> 1), arg2, arg3, 0); gSPDisplayList(gDisplayListHead++, D_0D007EB8); } @@ -1637,7 +1637,7 @@ void func_8004C628(s32 arg0, s32 arg1, u32 arg2, u32 arg3, u8 *texture) { gSPDisplayList(gDisplayListHead++, D_0D007EF8); gDPSetAlphaCompare(gDisplayListHead++, G_AC_THRESHOLD); - func_80043A84(texture, arg2, arg3); + load_texture_block_rgba32_nomirror(texture, arg2, arg3); func_8004B97C(arg0 - (arg2 >> 1), arg1 - (arg3 >> 1), arg2, arg3, 1); gSPDisplayList(gDisplayListHead++, D_0D007EB8); } @@ -1675,7 +1675,7 @@ void func_8004C6FC(s16 arg0, s16 arg1, s8 *arg2, u32 arg3, u32 arg4) { if ((s32) var_t2 > 0) { do { temp_t5 = arg3 * var_s0 * 4; - func_80043C28(var_s5, (s32) arg3, (s32) var_s0); + load_texture_tile_rgba32_nomirror(var_s5, (s32) arg3, (s32) var_s0); func_8004B950(arg0 - (arg3 >> 1), var_s4, (s32) arg3, (s32) var_s0, 1); temp_v0_3 = var_s6 - temp_t5; var_s5 += temp_t5; @@ -1691,7 +1691,7 @@ void func_8004C6FC(s16 arg0, s16 arg1, s8 *arg2, u32 arg3, u32 arg4) { gSPDisplayList(gDisplayListHead++, D_0D007EB8); } #else -GLOBAL_ASM("asm/non_matchings/hud_renderer/func_8004C6FC.s") +GLOBAL_ASM("asm/non_matchings/render_objects/func_8004C6FC.s") #endif void func_8004C8D4(s16 arg0, s16 arg1) { @@ -1714,52 +1714,52 @@ void func_8004C9D8(s32 arg0, s32 arg1, s32 arg2, u8 *texture, s32 arg4, s32 arg5 void func_8004CA58(s32 arg0, s32 arg1, f32 arg2, u8 *texture, s32 arg4, s32 arg5) { gSPDisplayList(gDisplayListHead++, D_0D007F78); - func_80043D50(texture, arg4, arg5); + load_texture_block_rgba16_mirror(texture, arg4, arg5); func_8004BB3C(arg0, arg1, arg4, arg5, arg2); } -void func_8004CAD0(s32 arg0, s32 arg1, u8 *texture) { - func_8004C364(arg0, arg1, 8, 8, texture); +void draw_hud_2d_texture_8x8(s32 x, s32 y, u8 *texture) { + draw_hud_2d_texture(x, y, 8, 8, texture); } -UNUSED void func_8004CB00(s32 arg0, s32 arg1, u8 *texture) { - func_8004C364(arg0, arg1, 8, 16, texture); +UNUSED void draw_hud_2d_texture_8x16(s32 x, s32 y, u8 *texture) { + draw_hud_2d_texture(x, y, 8, 16, texture); } -UNUSED void func_8004CB30(s32 arg0, s32 arg1, u8 *texture) { - func_8004C364(arg0, arg1, 16, 16, texture); +UNUSED void draw_hud_2d_texture_16x16(s32 x, s32 y, u8 *texture) { + draw_hud_2d_texture(x, y, 16, 16, texture); } -void func_8004CB60(s32 arg0, s32 arg1, u8 *texture) { - func_8004C364(arg0, arg1, 32, 8, texture); +void draw_hud_2d_texture_32x8(s32 x, s32 y, u8 *texture) { + draw_hud_2d_texture(x, y, 32, 8, texture); } -void func_8004CB90(s32 arg0, s32 arg1, u8 *texture) { - func_8004C364(arg0, arg1, 32, 16, texture); +void draw_hud_2d_texture_32x16(s32 x, s32 y, u8 *texture) { + draw_hud_2d_texture(x, y, 32, 16, texture); } UNUSED void func_8004CBC0(s32 arg0, s32 arg1, f32 arg2, u8 *texture) { func_8004CA58(arg0, arg1, arg2, texture, 32, 16); } -UNUSED void func_8004CBF4(s32 arg0, s32 arg1, u8 *texture) { - func_8004C364(arg0, arg1, 32, 32, texture); +UNUSED void draw_hud_2d_texture_32x32(s32 x, s32 y, u8 *texture) { + draw_hud_2d_texture(x, y, 32, 32, texture); } UNUSED void func_8004CC24(s32 arg0, s32 arg1, u8 *texture) { func_8004C628(arg0, arg1, 32, 32, texture); } -UNUSED void func_8004CC54(s32 arg0, s32 arg1, u8 *texture) { - func_8004C364(arg0, arg1, 40, 32, texture); +UNUSED void draw_hud_2d_texture_40x32(s32 x, s32 y, u8 *texture) { + draw_hud_2d_texture(x, y, 40, 32, texture); } -UNUSED void func_8004CC84(s32 arg0, s32 arg1, u8 *texture) { - func_8004C91C(arg0, arg1, texture, 48, 48, 24); +UNUSED void func_8004CC84(s32 x, s32 y, u8 *texture) { + func_8004C91C(x, y, texture, 48, 48, 24); } -UNUSED void func_8004CCB4(s32 arg0, s32 arg1, u8 *texture) { - func_8004C364(arg0, arg1, 64, 32, texture); +UNUSED void func_8004CCB4(s32 x, s32 y, u8 *texture) { + draw_hud_2d_texture(x, y, 64, 32, texture); } UNUSED void func_8004CCE4(s32 arg0, s32 arg1, f32 arg2, u8 *texture) { @@ -1780,7 +1780,7 @@ UNUSED void func_8004CD48(s32 arg0, s32 arg1, UNUSED u8 *texture, s32 width, s32 gSPDisplayList(gDisplayListHead++, D_0D007FE0); for (i = 0; i < arg4 / height; i++) { - func_800441E0(img, width, height); + load_texture_block_ia16_nomirror(img, width, height); func_8004B97C(arg0 - (width / 2), var_s0, width, height, 1); img += width * height * 2; var_s0 += height; @@ -1793,7 +1793,7 @@ UNUSED void func_8004CE8C(s32 arg0, s32 arg1, u8 *texture, s32 width, s32 arg4, u8 *img = texture; for (i = 0; i < arg4 / height; i++) { - func_800444B0(img, width, height); + load_texture_block_ia8_nomirror(img, width, height); func_8004B97C(arg0 - (width / 2), var_s0, width, height, 1); img += width * height; var_s0 += height; @@ -1915,7 +1915,7 @@ UNUSED void func_8004D654(s32 arg0, s32 arg1, u8 *texture, f32 arg3, s32 arg4, s } } #else -GLOBAL_ASM("asm/non_matchings/hud_renderer/func_8004D654.s") +GLOBAL_ASM("asm/non_matchings/render_objects/func_8004D654.s") #endif void func_8004D7B4(s32 arg0, s32 arg1, u8 *texture, s32 arg3, s32 arg4) { @@ -1943,7 +1943,7 @@ void func_8004D7B4(s32 arg0, s32 arg1, u8 *texture, s32 arg3, s32 arg4) { temp_s0 = var_s1; temp_s5 = (s32) ((sins(temp_s0) * temp_f20) + (f32) (arg0 - (arg3 / 2))); sins(temp_s0); - func_800441E0(img, arg3, 1); + load_texture_block_ia16_nomirror(img, arg3, 1); func_8004B97C(temp_s5, var_s3, arg3, 1, 1); var_s1 += temp_s7; @@ -1978,7 +1978,7 @@ void func_8004D93C(s32 arg0, s32 arg1, u8 *texture, s32 arg3, s32 arg4) { temp_s0 = var_s1; temp_s6 = (s32) ((sins(temp_s0) * temp_f20) + (f32) (arg0 - (var))); sins(temp_s0); - func_800444B0(img, arg3, 1); + load_texture_block_ia8_nomirror(img, arg3, 1); func_8004B97C(temp_s6, var_s4, arg3, 1, 1); var_s1 += temp_s7; img = &img[arg3]; @@ -2203,7 +2203,7 @@ UNUSED void func_8004E604(s32 arg0, s32 arg1, u8 *tlut, u8 *texture) { func_8004E240(arg0, arg1, tlut, texture, SCREEN_WIDTH, SCREEN_HEIGHT, 6); } -void func_8004E638(s32 playerId) { +void draw_item_window(s32 playerId) { s32 objectIndex; Objects *temp_v1; hud_player *temp_v0; @@ -2229,9 +2229,9 @@ void func_8004E6C4(s32 playerId) { } } -void func_8004E78C(s32 playerId) { - func_8004CB60((s32) playerHUD[playerId].lapX, playerHUD[playerId].lapY + 3, (s32) common_texture_hud_lap); - func_8004CB90(playerHUD[playerId].lapX + 0x1C, (s32) playerHUD[playerId].lapY, D_800E4570[playerHUD[playerId].alsoLapCount]); +void draw_simplified_lap_count(s32 playerId) { + draw_hud_2d_texture_32x8((s32) playerHUD[playerId].lapX, playerHUD[playerId].lapY + 3, common_texture_hud_lap); + draw_hud_2d_texture_32x16(playerHUD[playerId].lapX + 0x1C, (s32) playerHUD[playerId].lapY, gHudLapTextures[playerHUD[playerId].alsoLapCount]); } void func_8004E800(s32 playerId) { @@ -2271,26 +2271,26 @@ void func_8004EB38(s32 playerId) { temp_s0 = &playerHUD[playerId]; if ((u8) temp_s0->unk_7B != 0) { - func_8004C9D8(temp_s0->lap1CompletionTimeX - 0x13, temp_s0->timerY + 8, 0x00000080, (s32) common_texture_hud_time, 0x00000020, 0x00000010, 0x00000020, 0x00000010); + func_8004C9D8(temp_s0->lap1CompletionTimeX - 0x13, temp_s0->timerY + 8, 0x00000080, common_texture_hud_time, 0x00000020, 0x00000010, 0x00000020, 0x00000010); func_8004F950((s32) temp_s0->lap1CompletionTimeX, (s32) temp_s0->timerY, 0x00000080, (s32) temp_s0->someTimer); } if ((u8) temp_s0->unk_7C != 0) { - func_8004C9D8(temp_s0->lap2CompletionTimeX - 0x13, temp_s0->timerY + 8, 0x00000050, (s32) common_texture_hud_time, 0x00000020, 0x00000010, 0x00000020, 0x00000010); + func_8004C9D8(temp_s0->lap2CompletionTimeX - 0x13, temp_s0->timerY + 8, 0x00000050, common_texture_hud_time, 0x00000020, 0x00000010, 0x00000020, 0x00000010); func_8004F950((s32) temp_s0->lap2CompletionTimeX, (s32) temp_s0->timerY, 0x00000050, (s32) temp_s0->someTimer); } if ((u8) temp_s0->unk_7E != 0) { - func_8004C9D8((s32) temp_s0->lapAfterImage1X, temp_s0->lapY + 3, 0x00000080, (s32) common_texture_hud_lap, 0x00000020, 8, 0x00000020, 8); - func_8004C9D8(temp_s0->lapAfterImage1X + 0x1C, (s32) temp_s0->lapY, 0x00000080, D_800E4570[temp_s0->alsoLapCount], 0x00000020, 0x00000010, 0x00000020, 0x00000010); + func_8004C9D8((s32) temp_s0->lapAfterImage1X, temp_s0->lapY + 3, 0x00000080, common_texture_hud_lap, 0x00000020, 8, 0x00000020, 8); + func_8004C9D8(temp_s0->lapAfterImage1X + 0x1C, (s32) temp_s0->lapY, 0x00000080, gHudLapTextures[temp_s0->alsoLapCount], 0x00000020, 0x00000010, 0x00000020, 0x00000010); } if ((u8) temp_s0->unk_7F != 0) { - func_8004C9D8((s32) temp_s0->lapAfterImage2X, temp_s0->lapY + 3, 0x00000050, (s32) common_texture_hud_lap, 0x00000020, 8, 0x00000020, 8); - func_8004C9D8(temp_s0->lapAfterImage2X + 0x1C, (s32) temp_s0->lapY, 0x00000050, D_800E4570[temp_s0->alsoLapCount], 0x00000020, 0x00000010, 0x00000020, 0x00000010); + func_8004C9D8((s32) temp_s0->lapAfterImage2X, temp_s0->lapY + 3, 0x00000050, common_texture_hud_lap, 0x00000020, 8, 0x00000020, 8); + func_8004C9D8(temp_s0->lapAfterImage2X + 0x1C, (s32) temp_s0->lapY, 0x00000050, gHudLapTextures[temp_s0->alsoLapCount], 0x00000020, 0x00000010, 0x00000020, 0x00000010); } } void func_8004ED40(s32 arg0) { - func_8004A2F4(playerHUD[arg0].speedometerX, playerHUD[arg0].speedometerY, 0U, 1.0f, D_8018D300, D_8018D308, D_8018D310, 0xFF, (u8* ) common_texture_speedometer, D_0D0064B0, 0x40, 0x60, 0x40, 0x30); - func_8004A258(D_8018CFEC, D_8018CFF4, D_8016579E, 1.0f, (u8* ) common_texture_speedometer_needle, &D_0D005FF0, 0x40, 0x20, 0x40, 0x20); + func_8004A2F4(playerHUD[arg0].speedometerX, playerHUD[arg0].speedometerY, 0U, 1.0f, D_8018D300, D_8018D308, D_8018D310, 0xFF, common_texture_speedometer, D_0D0064B0, 0x40, 0x60, 0x40, 0x30); + func_8004A258(D_8018CFEC, D_8018CFF4, D_8016579E, 1.0f, common_texture_speedometer_needle, &D_0D005FF0, 0x40, 0x20, 0x40, 0x20); } void func_8004EE54(s32 arg0) { @@ -2327,7 +2327,7 @@ void func_8004F020(s32 arg0) { var_f0 = var_f0 + 4.0; break; } - func_8004CAD0(var_f2, var_f0, common_texture_minimap_finish_line); + draw_hud_2d_texture_8x8(var_f2, var_f0, common_texture_minimap_finish_line); } #ifdef NON_MATCHING @@ -2356,18 +2356,18 @@ void func_8004F168(s32 arg0, s32 playerId, s32 characterId) { func_8004C450((s32) temp_a0, (s32) temp_a1, 8, 8, (u8 *) common_texture_minimap_progress_dot); //return; } else { - func_8004C364((s32) temp_a0, (s32) temp_a1, 8, 8, (u8 *) common_texture_minimap_progress_dot); + draw_hud_2d_texture((s32) temp_a0, (s32) temp_a1, 8, 8, (u8 *) common_texture_minimap_progress_dot); } } } } #else -GLOBAL_ASM("asm/non_matchings/hud_renderer/func_8004F168.s") +GLOBAL_ASM("asm/non_matchings/render_objects/func_8004F168.s") #endif // WTF is up with the gPlayerOne access in this function? void func_8004F3E4(s32 arg0) { - Player *player; + UNUSED Player *player; s32 playerId; s32 idx; @@ -2426,8 +2426,8 @@ s32 func_8004F674(s32 *arg0, s32 arg1) { } void func_8004F6D0(s32 arg0) { - s32 stackPadding0; - s32 stackPadding1; + UNUSED s32 stackPadding0; + UNUSED s32 stackPadding1; s32 sp24; sp24 = arg0; @@ -2458,7 +2458,7 @@ void print_timer(s32 arg0, s32 arg1, s32 arg2) { gSPDisplayList(gDisplayListHead++, D_0D008108); gSPDisplayList(gDisplayListHead++, D_0D007EF8); gDPSetAlphaCompare(gDisplayListHead++, G_AC_THRESHOLD); - func_80043D50(common_texture_hud_normal_digit, 104, 16); + load_texture_block_rgba16_mirror(common_texture_hud_normal_digit, 104, 16); func_8004F6D0(arg2); func_8004F774(arg0, arg1); gSPDisplayList(gDisplayListHead++, D_0D007EB8); @@ -2477,20 +2477,20 @@ void func_8004F8CC(s32 arg0, s32 arg1) { void func_8004F950(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { gSPDisplayList(gDisplayListHead++, D_0D007F38); set_transparency(arg2); - func_80043D50(common_texture_hud_normal_digit, 104, 16); + load_texture_block_rgba16_mirror(common_texture_hud_normal_digit, 104, 16); func_8004F6D0(arg3); func_8004F8CC(arg0, arg1); } -void func_8004F9CC(s32 arg0, s32 arg1, s32 arg2) { +void print_timer_rainbow(s32 arg0, s32 arg1, s32 arg2) { gSPDisplayList(gDisplayListHead++, D_0D007F38); func_8004B614(D_801656C0, D_801656D0, D_801656E0, 128, 128, 128, 255); - func_80043D50(common_texture_hud_normal_digit, 104, 16); + load_texture_block_rgba16_mirror(common_texture_hud_normal_digit, 104, 16); func_8004F6D0(arg2); func_8004F8CC(arg0, arg1); } -void func_8004FA78(s32 playerId) { +void render_hud_timer(s32 playerId) { s32 var_s0; if ((gModeSelection != 2) && (gModeSelection != 3)) { @@ -2500,24 +2500,24 @@ void func_8004FA78(s32 playerId) { if (D_80165658[var_s0] == 0) { print_timer(playerHUD[playerId].lapCompletionTimeXs[var_s0], playerHUD[playerId].timerY + (var_s0*0x10), playerHUD[playerId].lapDurations[var_s0]); } else { - func_8004F9CC(playerHUD[playerId].lapCompletionTimeXs[var_s0], playerHUD[playerId].timerY + (var_s0*0x10), playerHUD[playerId].lapDurations[var_s0]); + print_timer_rainbow(playerHUD[playerId].lapCompletionTimeXs[var_s0], playerHUD[playerId].timerY + (var_s0*0x10), playerHUD[playerId].lapDurations[var_s0]); } } - func_8004CB90(playerHUD[playerId].totalTimeX - 0x13, playerHUD[playerId].timerY + 0x38, common_texture_hud_total_time); + draw_hud_2d_texture_32x16(playerHUD[playerId].totalTimeX - 0x13, playerHUD[playerId].timerY + 0x38, common_texture_hud_total_time); if (D_801657E5 != 0) { - func_8004F9CC(playerHUD[playerId].totalTimeX, playerHUD[playerId].timerY + 0x30, playerHUD[playerId].someTimer); + print_timer_rainbow(playerHUD[playerId].totalTimeX, playerHUD[playerId].timerY + 0x30, playerHUD[playerId].someTimer); } else { print_timer(playerHUD[playerId].totalTimeX, playerHUD[playerId].timerY + 0x30, playerHUD[playerId].someTimer); } } } else { if (playerHUD[playerId].blinkTimer == 0) { - func_8004CB90(playerHUD[playerId].timerX - 0x13, playerHUD[playerId].timerY + 8, common_texture_hud_time); + draw_hud_2d_texture_32x16(playerHUD[playerId].timerX - 0x13, playerHUD[playerId].timerY + 8, common_texture_hud_time); print_timer(playerHUD[playerId].timerX, playerHUD[playerId].timerY, playerHUD[playerId].someTimer); } else { - func_8004CB90(playerHUD[playerId].timerX - 0x13, playerHUD[playerId].timerY + 8, common_texture_hud_lap_time); + draw_hud_2d_texture_32x16(playerHUD[playerId].timerX - 0x13, playerHUD[playerId].timerY + 8, common_texture_hud_lap_time); if (D_801657E3 != 0) { - func_8004F9CC(playerHUD[playerId].timerX, playerHUD[playerId].timerY, playerHUD[playerId].someTimer1); + print_timer_rainbow(playerHUD[playerId].timerX, playerHUD[playerId].timerY, playerHUD[playerId].someTimer1); } else if (playerHUD[playerId].blinkState == 0) { print_timer(playerHUD[playerId].timerX, playerHUD[playerId].timerY, playerHUD[playerId].someTimer1); } @@ -2526,14 +2526,15 @@ void func_8004FA78(s32 playerId) { } } -void func_8004FC78(s16 arg0, s16 arg1, s8 arg2) { +void draw_lap_count(s16 lapX, s16 lapY, s8 lap) { gSPDisplayList(gDisplayListHead++, D_0D008108); gSPDisplayList(gDisplayListHead++, D_0D007EF8); gDPSetAlphaCompare(gDisplayListHead++, G_AC_THRESHOLD); - func_80043D50(common_texture_hud_123, 32, 8); - func_8004BA98(arg0, arg1, 8, 8, arg2 * 8, 0, 0); - func_8004BA98(arg0 + 8, arg1, 8, 8, 24, 0, 0); - func_8004BA98(arg0 + 16, arg1, 8, 8, 16, 0, 0); + load_texture_block_rgba16_mirror(common_texture_hud_123, 32, 8); + // Display current lap. Ex. 1/3 + func_8004BA98(lapX , lapY, 8, 8, lap * 8, 0, 0); // display the digit + func_8004BA98(lapX + 8 , lapY, 8, 8, 24, 0, 0); // display the / + func_8004BA98(lapX + 16, lapY, 8, 8, 16, 0, 0); // display the 3 gSPDisplayList(gDisplayListHead++, D_0D007EB8); } @@ -2696,7 +2697,7 @@ void func_800508C0(void) { s32 sp4C; s32 temp_v1; s16 var_s0; - s16 stackPadding; + UNUSED s16 stackPadding; u16 var_s0_2; u16 var_s1; u16 var_s2; @@ -2775,10 +2776,10 @@ void func_800508C0(void) { } void func_80050C68(void) { - s32 stackPadding0; + UNUSED s32 stackPadding0; s32 sp88; s32 sp84; - s32 stackPadding1; + UNUSED s32 stackPadding1; s32 var_s1; for (var_s1 = 0; var_s1 < NUM_BOMB_KARTS_VERSUS; var_s1++) { @@ -2801,7 +2802,7 @@ void func_80050E34(s32 playerId, s32 arg1) { s32 objectIndex; s32 spD0; s32 spCC; - s32 stackPadding; + UNUSED s32 stackPadding; s32 spC4; s32 lapCount; s32 characterId; @@ -2833,24 +2834,24 @@ void func_80050E34(s32 playerId, s32 arg1) { gDPLoadTLUT_pal256(gDisplayListHead++, common_tlut_portrait_bomb_kart_and_question_mark); rsp_load_texture(common_texture_portrait_question_mark, 0x00000020, 0x00000020); object = &gObjectList[objectIndex]; - object->pos[0] = object->unk_028[0] + ((f32) (spD0 + 0x20)); - object->pos[1] = object->unk_028[1] + ((f32) (spC4 + spCC)); - object->pos[2] = object->unk_028[2]; + object->pos[0] = object->offset[0] + ((f32) (spD0 + 0x20)); + object->pos[1] = object->offset[1] + ((f32) (spC4 + spCC)); + object->pos[2] = object->offset[2]; rsp_set_matrix_transformation(object->pos, object->direction_angle, object->sizeScaling); gSPDisplayList(gDisplayListHead++, D_0D0069E0); } else { gDPLoadTLUT_pal256(gDisplayListHead++, gPortraitTLUTs[characterId]); gSPDisplayList(gDisplayListHead++, D_0D007DB8); if (player->effects & STAR_EFFECT) { - func_8004B614((s32) D_801656C0, (s32) D_801656D0, (s32) D_801656E0, 0x00000080, 0x00000080, 0x00000080, (s32) gObjectList[objectIndex].unk_0A0); + func_8004B614((s32) D_801656C0, (s32) D_801656D0, (s32) D_801656E0, 0x00000080, 0x00000080, 0x00000080, (s32) gObjectList[objectIndex].primAlpha); } else { - set_transparency((s32) gObjectList[objectIndex].unk_0A0); + set_transparency((s32) gObjectList[objectIndex].primAlpha); } rsp_load_texture(gPortraitTextures[characterId], 0x00000020, 0x00000020); object = &gObjectList[objectIndex]; - object->pos[0] = object->unk_028[0] + ((f32) (spD0 + 0x20)); - object->pos[1] = object->unk_028[1] + ((f32) (spC4 + spCC)); - object->pos[2] = object->unk_028[2]; + object->pos[0] = object->offset[0] + ((f32) (spD0 + 0x20)); + object->pos[1] = object->offset[1] + ((f32) (spC4 + spCC)); + object->pos[2] = object->offset[2]; rsp_set_matrix_transformation(object->pos, object->direction_angle, object->sizeScaling); if (spB8 != 0) { gSPDisplayList(gDisplayListHead++, D_0D0069F8); @@ -2875,7 +2876,7 @@ void func_80050E34(s32 playerId, s32 arg1) { } } #else -GLOBAL_ASM("asm/non_matchings/hud_renderer/func_80050E34.s") +GLOBAL_ASM("asm/non_matchings/render_objects/func_80050E34.s") #endif void func_800514BC(void) { @@ -2907,14 +2908,14 @@ void func_800514BC(void) { gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF); } -void func_80051638(UNUSED s32 arg0) { +void render_object_leaf_particle(UNUSED s32 cameraId) { s32 someIndex; s32 leafIndex; Objects *object; gSPDisplayList(gDisplayListHead++, D_0D0079C8); gSPClearGeometryMode(gDisplayListHead++, G_CULL_BOTH); - func_80043D50(common_texture_particle_leaf, 0x00000020, 0x00000010); + load_texture_block_rgba16_mirror(common_texture_particle_leaf, 0x00000020, 0x00000010); for(someIndex = 0; someIndex < gLeafParticle_SIZE; someIndex++) { leafIndex = gLeafParticle[someIndex]; if (leafIndex != -1) { @@ -2929,7 +2930,7 @@ void func_80051638(UNUSED s32 arg0) { gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF); } -void func_800517C8(void) { +void render_object_snowflakes_particles(void) { s32 someIndex; s32 snowflakeIndex; @@ -2947,8 +2948,8 @@ void func_800517C8(void) { } void func_800518F8(s32 objectIndex, s16 arg1, s16 arg2) { - s32 pad[1]; - if (gObjectList[objectIndex].unk_054 & 0x10) { + UNUSED s32 pad[1]; + if (gObjectList[objectIndex].status & 0x10) { if (D_8018D228 != gObjectList[objectIndex].unk_0D5) { D_8018D228 = gObjectList[objectIndex].unk_0D5; func_80044DA0(gObjectList[objectIndex].activeTexture, gObjectList[objectIndex].textureWidth, gObjectList[objectIndex].textureHeight); @@ -2960,12 +2961,12 @@ void func_800518F8(s32 objectIndex, s16 arg1, s16 arg2) { } void func_800519D4(s32 objectIndex, s16 arg1, s16 arg2) { - if (gObjectList[objectIndex].unk_054 & 0x10) { + if (gObjectList[objectIndex].status & 0x10) { if (D_8018D228 != gObjectList[objectIndex].unk_0D5) { D_8018D228 = gObjectList[objectIndex].unk_0D5; func_80044DA0(gObjectList[objectIndex].activeTexture, gObjectList[objectIndex].textureWidth, gObjectList[objectIndex].textureHeight); } - func_8004B138(0x000000FF, 0x000000FF, 0x000000FF, gObjectList[objectIndex].unk_0A0); + func_8004B138(0x000000FF, 0x000000FF, 0x000000FF, gObjectList[objectIndex].primAlpha); func_80042330(arg1, arg2, 0U, gObjectList[objectIndex].sizeScaling); gSPVertex(gDisplayListHead++, gObjectList[objectIndex].vertex, 4, 0); gSPDisplayList(gDisplayListHead++, common_rectangle_display); @@ -3092,14 +3093,14 @@ void func_800520C0(s32 arg0) { } } -void func_8005217C(s32 arg0) { +void func_8005217C(UNUSED s32 arg0) { Objects *object; s32 temp_a3; temp_a3 = indexObjectList2[0]; object = &gObjectList[temp_a3]; if (object->state >= 2) { - if (is_obj_index_flag_unk_054_active(temp_a3, 0x00000010) != 0) { + if (is_obj_flag_status_active(temp_a3, 0x00000010) != 0) { rsp_set_matrix_transformation(object->pos, object->direction_angle, object->sizeScaling); func_800520C0(temp_a3); @@ -3127,29 +3128,29 @@ void func_800523B8(s32 objectIndex, s32 arg1, u32 arg2) { object = &gObjectList[objectIndex]; object->orientation[1] = func_800418AC(object->pos[0], object->pos[2], camera->pos); - func_800484BC(object->pos, object->orientation, object->sizeScaling, object->unk_0A0, (u8 *) object->activeTLUT, object->activeTexture, object->vertex, 0x00000030, 0x00000028, 0x00000030, 0x00000028); - if ((is_obj_index_flag_unk_054_active(objectIndex, 0x00000020) != 0) && (arg2 < 0x15F91U)) { + func_800484BC(object->pos, object->orientation, object->sizeScaling, object->primAlpha, (u8 *) object->activeTLUT, object->activeTexture, object->vertex, 0x00000030, 0x00000028, 0x00000030, 0x00000028); + if ((is_obj_flag_status_active(objectIndex, 0x00000020) != 0) && (arg2 < 0x15F91U)) { func_8004A630(&D_8018C830, object->pos, 0.4f); } } -void func_800524B4(s32 arg0) { +void render_object_boos(s32 arg0) { u32 temp_s2; s32 someIndex; s32 objectIndex; - for (someIndex = 0; someIndex < 10; someIndex++) { + for (someIndex = 0; someIndex < NUM_BOOS; someIndex++) { objectIndex = indexObjectList3[someIndex]; if (gObjectList[objectIndex].state >= 2) { temp_s2 = func_8008A364(objectIndex, arg0, 0x4000U, 0x00000320); - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00040000) != 0) { + if (is_obj_flag_status_active(objectIndex, VISIBLE) != 0) { func_800523B8(objectIndex, arg0, temp_s2); } } } } -void func_80052590(s32 cameraId) { +void render_object_bat(s32 cameraId) { s32 var_s2; s32 objectIndex; Camera *temp_s7; @@ -3184,13 +3185,13 @@ void func_80052590(s32 cameraId) { gSPTexture(gDisplayListHead++, 0x0001, 0x0001, 0, G_TX_RENDERTILE, G_OFF); } -void func_800527D8(s32 cameraId) { +void render_object_trash_bin(s32 cameraId) { s32 objectIndex; Objects *object; objectIndex = indexObjectList1[1]; func_8008A364(objectIndex, cameraId, 0x5555U, 0x00000320); - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00040000) != 0) { + if (is_obj_flag_status_active(objectIndex, VISIBLE) != 0) { object = &gObjectList[objectIndex]; if (object->state >= 2) { func_80043220(object->pos, object->orientation, object->sizeScaling, object->model); @@ -3226,11 +3227,11 @@ void func_800528EC(s32 arg0) { gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA); gSPClearGeometryMode(gDisplayListHead++, G_CULL_BOTH); gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_LIGHTING | G_SHADING_SMOOTH); - func_800441E0(d_course_sherbet_land_ice, 0x00000020, 0x00000020); + load_texture_block_ia16_nomirror(d_course_sherbet_land_ice, 0x00000020, 0x00000020); if (gPlayerCountSelection1 < 3) { for (var_s3 = 0; var_s3 < gObjectParticle2_SIZE; var_s3++) { objectIndex = gObjectParticle2[var_s3]; - if (objectIndex != -1) { + if (objectIndex != NULL_OBJECT_ID) { object = &gObjectList[objectIndex]; if (object->state > 0) { rsp_set_matrix_transformation(object->pos, D_80183E80, object->sizeScaling); @@ -3242,7 +3243,7 @@ void func_800528EC(s32 arg0) { } else { for (var_s3 = 0; var_s3 < gObjectParticle2_SIZE; var_s3++) { objectIndex = gObjectParticle2[var_s3]; - if (objectIndex != -1) { + if (objectIndex != NULL_OBJECT_ID) { object = &gObjectList[objectIndex]; if ((object->state > 0) && (arg0 == object->unk_084[7]) && (gMatrixHudCount <= MTX_HUD_POOL_SIZE_MAX)) { rsp_set_matrix_transformation(object->pos, D_80183E80, object->sizeScaling); @@ -3257,7 +3258,7 @@ void func_800528EC(s32 arg0) { gSPTexture(gDisplayListHead++, 0x0001, 0x0001, 0, G_TX_RENDERTILE, G_OFF); } -void func_80052C60(s32 arg0) { +void render_ice_block(s32 arg0) { s32 playerId; s32 objectIndex; @@ -3269,7 +3270,7 @@ void func_80052C60(s32 arg0) { for (playerId = 0; playerId < gPlayerCountSelection1; playerId++) { objectIndex = gIndexLakituList[playerId]; if (objectIndex) {} - if (func_80072320(objectIndex, 4) != 0) { + if (func_80072320(objectIndex, 4) != FALSE) { func_8005285C(playerId); } func_80072320(objectIndex, 0x00000010); @@ -3291,7 +3292,7 @@ void func_80052D70(s32 playerId) { } } -void func_80052E30(s32 arg0) { +void func_80052E30(UNUSED s32 arg0) { s32 var_s0; D_800E4620.l[0].l.dir[0] = D_80165840[0]; @@ -3309,22 +3310,22 @@ void func_80052E30(s32 arg0) { } } -void func_80052F20(s32 cameraId) { - s32 stackPadding[2]; +void render_object_snowmans_list_2(s32 cameraId) { + UNUSED s32 stackPadding[2]; Camera *sp44; s32 someIndex; s32 objectIndex; Objects *object; sp44 = &camera1[cameraId]; - func_80046E60(d_course_frappe_snowland_snow_tlut, d_course_frappe_snowland_snow, 0x00000020, 0x00000020); + load_texture_and_tlut(d_course_frappe_snowland_snow_tlut, d_course_frappe_snowland_snow, 0x00000020, 0x00000020); for (someIndex = 0; someIndex < gObjectParticle2_SIZE; someIndex++) { objectIndex = gObjectParticle2[someIndex]; - if (objectIndex != -1) { + if (objectIndex != NULL_OBJECT_ID) { object = &gObjectList[objectIndex]; if (object->state > 0) { func_8008A364(objectIndex, cameraId, 0x2AABU, 0x000001F4); - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00040000) != 0) { + if (is_obj_flag_status_active(objectIndex, VISIBLE) != 0) { object->orientation[1] = func_800418AC(object->pos[0], object->pos[2], sp44->pos); rsp_set_matrix_gObjectList(objectIndex); gSPDisplayList(gDisplayListHead++, D_0D0069E0); @@ -3335,39 +3336,39 @@ void func_80052F20(s32 cameraId) { gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF); } -void func_8005309C(s32 cameraId) { +void render_object_snowmans_list_1(s32 cameraId) { s32 var_s4; s32 objectIndex; Camera *camera; camera = &camera1[cameraId]; - for (var_s4 = 0; var_s4 < 0x13; var_s4++) { + for (var_s4 = 0; var_s4 < NUM_SNOWMEN; var_s4++) { objectIndex = indexObjectList1[var_s4]; if (gObjectList[objectIndex].state >= 2) { func_8008A364(objectIndex, cameraId, 0x2AABU, 0x00000258); - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00040000) != 0) { + if (is_obj_flag_status_active(objectIndex, VISIBLE) != 0) { D_80183E80[0] = (s16) gObjectList[objectIndex].orientation[0]; D_80183E80[1] = func_800418AC(gObjectList[objectIndex].pos[0], gObjectList[objectIndex].pos[2], camera->pos); D_80183E80[2] = (u16) gObjectList[objectIndex].orientation[2]; - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00000010) != 0) { - func_800480B4(gObjectList[objectIndex].pos, (u16 *) D_80183E80, gObjectList[objectIndex].sizeScaling, (u8 *) gObjectList[objectIndex].activeTLUT, gObjectList[objectIndex].activeTexture, gObjectList[objectIndex].vertex, 0x00000040, 0x00000040, 0x00000040, 0x00000020); + if (is_obj_flag_status_active(objectIndex, 0x00000010) != 0) { + draw_2d_texture_at(gObjectList[objectIndex].pos, (u16 *) D_80183E80, gObjectList[objectIndex].sizeScaling, (u8 *) gObjectList[objectIndex].activeTLUT, gObjectList[objectIndex].activeTexture, gObjectList[objectIndex].vertex, 0x00000040, 0x00000040, 0x00000040, 0x00000020); } objectIndex = indexObjectList2[var_s4]; D_80183E80[0] = (s16) gObjectList[objectIndex].orientation[0]; D_80183E80[2] = (u16) gObjectList[objectIndex].orientation[2]; - func_800480B4(gObjectList[objectIndex].pos, (u16 *) D_80183E80, gObjectList[objectIndex].sizeScaling, (u8 *) gObjectList[objectIndex].activeTLUT, gObjectList[objectIndex].activeTexture, gObjectList[objectIndex].vertex, 0x00000040, 0x00000040, 0x00000040, 0x00000020); + draw_2d_texture_at(gObjectList[objectIndex].pos, (u16 *) D_80183E80, gObjectList[objectIndex].sizeScaling, (u8 *) gObjectList[objectIndex].activeTLUT, gObjectList[objectIndex].activeTexture, gObjectList[objectIndex].vertex, 0x00000040, 0x00000040, 0x00000040, 0x00000020); } } } } -void func_8005327C(s32 arg0) { - func_8005309C(arg0); - func_80052F20(arg0); +void render_object_snowmans(s32 arg0) { + render_object_snowmans_list_1(arg0); + render_object_snowmans_list_2(arg0); } -void func_800532A4(s32 cameraId) { - s32 stackPadding; +void render_lakitu(s32 cameraId) { + UNUSED s32 stackPadding; Camera *camera; f32 var_f0; f32 var_f2; @@ -3376,15 +3377,15 @@ void func_800532A4(s32 cameraId) { objectIndex = gIndexLakituList[cameraId]; camera = &camera1[cameraId]; - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00000010) != 0) { + if (is_obj_flag_status_active(objectIndex, 0x00000010) != 0) { object = &gObjectList[objectIndex]; object->orientation[0] = 0; object->orientation[1] = func_800418AC(object->pos[0], object->pos[2], camera->pos); object->orientation[2] = 0x8000; if (func_80072354(objectIndex, 2) != 0) { - func_800480B4(object->pos, object->orientation, object->sizeScaling, (u8 *) object->activeTLUT, object->activeTexture, object->vertex, (s32) object->textureWidth, (s32) object->textureHeight, (s32) object->textureWidth, (s32) object->textureHeight / 2); + draw_2d_texture_at(object->pos, object->orientation, object->sizeScaling, (u8 *) object->activeTLUT, object->activeTexture, object->vertex, (s32) object->textureWidth, (s32) object->textureHeight, (s32) object->textureWidth, (s32) object->textureHeight / 2); } else { - func_800485C4(object->pos, object->orientation, object->sizeScaling, (s32) object->unk_0A0, (u8 *) object->activeTLUT, object->activeTexture, object->vertex, (s32) object->textureWidth, (s32) object->textureHeight, (s32) object->textureWidth, (s32) object->textureHeight / 2); + func_800485C4(object->pos, object->orientation, object->sizeScaling, (s32) object->primAlpha, (u8 *) object->activeTLUT, object->activeTexture, object->vertex, (s32) object->textureWidth, (s32) object->textureHeight, (s32) object->textureWidth, (s32) object->textureHeight / 2); } if (gScreenModeSelection == SCREEN_MODE_1P) { var_f0 = object->pos[0] - D_8018CF14->pos[0]; @@ -3402,7 +3403,7 @@ void func_800532A4(s32 cameraId) { } } -void func_800534A4(s32 arg0) { +void func_800534A4(UNUSED s32 arg0) { func_800419F8(); D_800E4638.l[0].l.dir[0] = D_80165840[0]; D_800E4638.l[0].l.dir[1] = D_80165840[1]; @@ -3437,7 +3438,7 @@ void func_800534E8(s32 objectIndex) { } } -void func_800536C8(s32 objectIndex) { +void render_object_thwomps_model(s32 objectIndex) { if ((gObjectList[objectIndex].state >= 2) && (func_80072354(objectIndex, 0x00000040) != 0)) { func_8004A7AC(objectIndex, 1.75f); rsp_set_matrix_transformation(gObjectList[objectIndex].pos, gObjectList[objectIndex].orientation, gObjectList[objectIndex].sizeScaling); @@ -3450,33 +3451,34 @@ void func_800536C8(s32 objectIndex) { } } -void func_80053870(s32 cameraId) { - s32 temp_s1; - s32 var_s2; - s32 stackPadding0; +void render_object_thwomps(s32 cameraId) { + s32 objectIndex; + s32 i; + UNUSED s32 stackPadding0; s16 minusone, plusone; Camera *camera; Objects *object; camera = &camera1[cameraId]; - if (cameraId == 0) { - for (var_s2 = 0; var_s2 < gNumActiveThwomps; var_s2++) { - temp_s1 = indexObjectList1[var_s2]; - set_object_flag_unk_054_false(temp_s1, 0x00070000); - func_800722CC(temp_s1, 0x00000110); + if (cameraId == PLAYER_ONE) { + for (i = 0; i < gNumActiveThwomps; i++) { + objectIndex = indexObjectList1[i]; + set_object_flag_status_false(objectIndex, 0x00070000); + func_800722CC(objectIndex, 0x00000110); } } - func_800534A4(temp_s1); - for (var_s2 = 0; var_s2 < gNumActiveThwomps; var_s2++) { - temp_s1 = indexObjectList1[var_s2]; - minusone = gObjectList[temp_s1].unk_0DF - 1; - plusone = gObjectList[temp_s1].unk_0DF + 1; + + func_800534A4(objectIndex); + for (i = 0; i < gNumActiveThwomps; i++) { + objectIndex = indexObjectList1[i]; + minusone = gObjectList[objectIndex].unk_0DF - 1; + plusone = gObjectList[objectIndex].unk_0DF + 1; if (gGamestate != 9) { - if ((D_8018CF68[cameraId] >= minusone) && (plusone >= D_8018CF68[cameraId]) && (func_8008A140(temp_s1, camera, 0x8000U) != 0)) { - func_800536C8(temp_s1); + if ((D_8018CF68[cameraId] >= minusone) && (plusone >= D_8018CF68[cameraId]) && (is_object_visible_on_camera(objectIndex, camera, 0x8000U) != 0)) { + render_object_thwomps_model(objectIndex); } } else { - func_800536C8(temp_s1); + render_object_thwomps_model(objectIndex); } } gSPDisplayList(gDisplayListHead++, D_0D0079C8); @@ -3486,11 +3488,11 @@ void func_80053870(s32 cameraId) { gSPLight(gDisplayListHead++, &D_800E4668.a, LIGHT_2); gSPClearGeometryMode(gDisplayListHead++, G_CULL_BOTH); gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_LIGHTING | G_SHADING_SMOOTH); - func_80043D50(d_course_bowsers_castle_thwomp_side, 0x00000020, 0x00000020); - for (var_s2 = 0; var_s2 < gObjectParticle3_SIZE; var_s2++) { - temp_s1 = gObjectParticle3[var_s2]; - if (temp_s1 != -1) { - object = &gObjectList[temp_s1]; + load_texture_block_rgba16_mirror(d_course_bowsers_castle_thwomp_side, 0x00000020, 0x00000020); + for (i = 0; i < gObjectParticle3_SIZE; i++) { + objectIndex = gObjectParticle3[i]; + if (objectIndex != NULL_OBJECT_ID) { + object = &gObjectList[objectIndex]; if ((object->state > 0) && (object->unk_0D5 == 3) && (gMatrixHudCount <= MTX_HUD_POOL_SIZE_MAX)) { rsp_set_matrix_transformation(object->pos, object->orientation, object->sizeScaling); gSPVertex(gDisplayListHead++, D_0D005C00, 3, 0); @@ -3502,16 +3504,16 @@ void func_80053870(s32 cameraId) { gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); gSPTexture(gDisplayListHead++, 0x0001, 0x0001, 0, G_TX_RENDERTILE, G_OFF); gSPDisplayList(gDisplayListHead++, D_0D007AE0); - func_800444B0(D_8018D490, 0x00000020, 0x00000020); + load_texture_block_ia8_nomirror(D_8018D490, 0x00000020, 0x00000020); func_8004B3C8(0); D_80183E80[0] = 0; D_80183E80[2] = 0x8000; - for (var_s2 = 0; var_s2 < gObjectParticle2_SIZE; var_s2++) { - temp_s1 = gObjectParticle2[var_s2]; - if (temp_s1 != -1) { - object = &gObjectList[temp_s1]; + for (i = 0; i < gObjectParticle2_SIZE; i++) { + objectIndex = gObjectParticle2[i]; + if (objectIndex != NULL_OBJECT_ID) { + object = &gObjectList[objectIndex]; if ((object->state >= 2) && (object->unk_0D5 == 2) && (gMatrixHudCount <= MTX_HUD_POOL_SIZE_MAX)) { - func_8004B138(0x000000FF, 0x000000FF, 0x000000FF, (s32) object->unk_0A0); + func_8004B138(0x000000FF, 0x000000FF, 0x000000FF, (s32) object->primAlpha); D_80183E80[1] = func_800418AC(object->pos[0], object->pos[2], camera->pos); func_800431B0(object->pos, D_80183E80, object->sizeScaling, D_0D005AE0); } @@ -3526,7 +3528,7 @@ void func_80053D74(s32 objectIndex, UNUSED s32 arg1, s32 vertexIndex) { temp_v0 = &gObjectList[objectIndex]; D_80183E80[2] = (s16) (temp_v0->unk_084[6] + 0x8000); rsp_set_matrix_transformation(temp_v0->pos, (u16 *) D_80183E80, temp_v0->sizeScaling); - func_8004B1C8((s32) temp_v0->unk_084[0], (s32) temp_v0->unk_084[1], (s32) temp_v0->unk_084[2], (s32) temp_v0->unk_084[3], (s32) temp_v0->unk_084[4], (s32) temp_v0->unk_084[5], (s32) temp_v0->unk_0A0); + set_color_render((s32) temp_v0->unk_084[0], (s32) temp_v0->unk_084[1], (s32) temp_v0->unk_084[2], (s32) temp_v0->unk_084[3], (s32) temp_v0->unk_084[4], (s32) temp_v0->unk_084[5], (s32) temp_v0->primAlpha); gSPVertex(gDisplayListHead++, &D_0D0060B0[vertexIndex], 4, 0); gSPDisplayList(gDisplayListHead++, common_rectangle_display); } @@ -3544,27 +3546,27 @@ void func_80053E6C(s32 arg0) { rsp_load_texture(D_8018D4BC, 0x40, 0x20); for (var_s1 = 0; var_s1 < D_80165738; var_s1++) { objectIndex = gObjectParticle3[var_s1]; - if ((objectIndex != -1) && (gObjectList[objectIndex].state >= 2)) { + if ((objectIndex != NULL_OBJECT_ID) && (gObjectList[objectIndex].state >= 2)) { func_80053D74(objectIndex, arg0, 0); } } rsp_load_texture(D_8018D4C0, 0x40, 0x20); for (var_s1 = 0; var_s1 < D_80165738; var_s1++) { objectIndex = gObjectParticle3[var_s1]; - if ((objectIndex != -1) && (gObjectList[objectIndex].state >= 2)) { + if ((objectIndex != NULL_OBJECT_ID) && (gObjectList[objectIndex].state >= 2)) { func_80053D74(objectIndex, arg0, 4); } } } -void func_800540CC(s32 objectIndex, s32 cameraId) { +void render_object_train_smoke_particle(s32 objectIndex, s32 cameraId) { Camera *camera; camera = &camera1[cameraId]; - if (objectIndex != -1) { + if (objectIndex != NULL_OBJECT_ID) { if ((gObjectList[objectIndex].state >= 2) && (gObjectList[objectIndex].unk_0D5 == 1) && (gMatrixHudCount <= MTX_HUD_POOL_SIZE_MAX)) { - func_8004B1C8((s32) gObjectList[objectIndex].type, (s32) gObjectList[objectIndex].type, (s32) gObjectList[objectIndex].type, 0, 0, 0, (s32) gObjectList[objectIndex].unk_0A0); + set_color_render((s32) gObjectList[objectIndex].type, (s32) gObjectList[objectIndex].type, (s32) gObjectList[objectIndex].type, 0, 0, 0, (s32) gObjectList[objectIndex].primAlpha); D_80183E80[1] = func_800418AC(gObjectList[objectIndex].pos[0], gObjectList[objectIndex].pos[2], camera->pos); func_800431B0(gObjectList[objectIndex].pos, D_80183E80, gObjectList[objectIndex].sizeScaling, D_0D005AE0); } @@ -3572,15 +3574,15 @@ void func_800540CC(s32 objectIndex, s32 cameraId) { } // Train smoke? -void func_800541BC(s32 cameraId) { - s32 pad; - s32 j; +void render_object_train_smoke_particles(s32 cameraId) { + UNUSED s32 pad; + UNUSED s32 j; Camera *camera; s32 i; camera = &camera1[cameraId]; gSPDisplayList(gDisplayListHead++, D_0D007AE0); - func_8004477C(D_0D029458, 32, 32); + load_texture_block_i8_nomirror(D_0D029458, 32, 32); func_8004B72C(255, 255, 255, 255, 255, 255, 255); D_80183E80[0] = 0; D_80183E80[2] = 0x8000; @@ -3588,38 +3590,38 @@ void func_800541BC(s32 cameraId) { // Render smoke for any number of trains. Don't know enough about these variables yet. #ifdef AVOID_UB_WIP for (j = 0; j < NUM_TRAINS; j++) { - if ((gTrainList[j].someFlags != 0) && (func_80041980(&gTrainList[j].locomotive.position, camera, 0x4000U) != 0)) { + if ((gTrainList[j].someFlags != 0) && (is_particle_on_screen(&gTrainList[j].locomotive.position, camera, 0x4000U) != 0)) { for (i = 0; i < 128; i++) { // Need to make a way to increase this array for each train. - func_800540CC(gObjectParticle2[i], cameraId); + render_object_train_smoke_particle(gObjectParticle2[i], cameraId); } } } #else - if ((gTrainList[0].someFlags != 0) && (func_80041980(&gTrainList[0].locomotive.position, camera, 0x4000U) != 0)) { + if ((gTrainList[0].someFlags != 0) && (is_particle_on_screen(gTrainList[0].locomotive.position, camera, 0x4000U) != 0)) { for (i = 0; i < gObjectParticle2_SIZE; i++) { - func_800540CC(gObjectParticle2[i], cameraId); + render_object_train_smoke_particle(gObjectParticle2[i], cameraId); } } - if ((gTrainList[1].someFlags != 0) && (func_80041980(&gTrainList[1].locomotive.position, camera, 0x4000U) != 0)) { + if ((gTrainList[1].someFlags != 0) && (is_particle_on_screen(gTrainList[1].locomotive.position, camera, 0x4000U) != 0)) { for (i = 0; i < gObjectParticle3_SIZE; i++) { - func_800540CC(gObjectParticle3[i], cameraId); + render_object_train_smoke_particle(gObjectParticle3[i], cameraId); } } #endif } -void func_80054324(s32 objectIndex, s32 cameraId) { +void render_object_paddle_boat_smoke_particle(s32 objectIndex, s32 cameraId) { Camera *camera; camera = &camera1[cameraId]; - if (objectIndex != -1) { + if (objectIndex != NULL_OBJECT_ID) { if ((gObjectList[objectIndex].state >= 2) && (gObjectList[objectIndex].unk_0D5 == 6) && (gMatrixHudCount <= MTX_HUD_POOL_SIZE_MAX)) { - func_8004B1C8((s32) gObjectList[objectIndex].type, (s32) gObjectList[objectIndex].type, (s32) gObjectList[objectIndex].type, gObjectList[objectIndex].unk_0A2, gObjectList[objectIndex].unk_0A2, gObjectList[objectIndex].unk_0A2, (s32) gObjectList[objectIndex].unk_0A0); + set_color_render((s32) gObjectList[objectIndex].type, (s32) gObjectList[objectIndex].type, (s32) gObjectList[objectIndex].type, gObjectList[objectIndex].unk_0A2, gObjectList[objectIndex].unk_0A2, gObjectList[objectIndex].unk_0A2, (s32) gObjectList[objectIndex].primAlpha); D_80183E80[1] = func_800418AC(gObjectList[objectIndex].pos[0], gObjectList[objectIndex].pos[2], camera->pos); func_800431B0(gObjectList[objectIndex].pos, D_80183E80, gObjectList[objectIndex].sizeScaling, D_0D005AE0); } @@ -3627,31 +3629,31 @@ void func_80054324(s32 objectIndex, s32 cameraId) { } // Likely smoke related. -void func_80054414(s32 cameraId) { - s32 pad[2]; +void render_object_paddle_boat_smoke_particles(s32 cameraId) { + UNUSED s32 pad[2]; Camera *camera; s32 i; camera = &camera1[cameraId]; gSPDisplayList(gDisplayListHead++, D_0D007AE0); - func_8004477C(D_0D029458, 32, 32); + load_texture_block_i8_nomirror(D_0D029458, 32, 32); func_8004B72C(255, 255, 255, 255, 255, 255, 255); D_80183E80[0] = 0; D_80183E80[2] = 0x8000; - if ((gFerries[0].someFlags != 0) && (func_80041980(gFerries[0].position, camera, 0x4000U) != 0)) { + if ((gPaddleBoats[0].someFlags != 0) && (is_particle_on_screen(gPaddleBoats[0].position, camera, 0x4000U) != 0)) { for (i = 0; i < gObjectParticle2_SIZE; i++) { - func_80054324(gObjectParticle2[i], cameraId); + render_object_paddle_boat_smoke_particle(gObjectParticle2[i], cameraId); } } - if ((gFerries[1].someFlags != 0) && (func_80041980(gFerries[1].position, camera, 0x4000U) != 0)) { + if ((gPaddleBoats[1].someFlags != 0) && (is_particle_on_screen(gPaddleBoats[1].position, camera, 0x4000U) != 0)) { for (i = 0; i < gObjectParticle3_SIZE; i++) { - func_80054324(gObjectParticle3[i], cameraId); + render_object_paddle_boat_smoke_particle(gObjectParticle3[i], cameraId); } } } -void func_8005457C(s32 objectIndex, s32 cameraId) { +void render_object_bowser_flame_particle(s32 objectIndex, s32 cameraId) { Camera *camera; Objects *temp_s0; @@ -3659,28 +3661,28 @@ void func_8005457C(s32 objectIndex, s32 cameraId) { if (gMatrixHudCount <= MTX_HUD_POOL_SIZE_MAX) { temp_s0 = &gObjectList[objectIndex]; if (temp_s0->unk_0D5 == 9) { - func_8004B72C(255, (s32) temp_s0->type, 0, (s32) temp_s0->unk_0A2, 0, 0, (s32) temp_s0->unk_0A0); + func_8004B72C(0xFF, (s32) temp_s0->type, 0, (s32) temp_s0->unk_0A2, 0, 0, (s32) temp_s0->primAlpha); } else { - func_8004B138(255, (s32) temp_s0->type, 0, (s32) temp_s0->unk_0A0); + func_8004B138(0xFF, (s32) temp_s0->type, 0, (s32) temp_s0->primAlpha); } D_80183E80[1] = func_800418AC(temp_s0->pos[0], temp_s0->pos[2], camera->pos); func_800431B0(temp_s0->pos, D_80183E80, temp_s0->sizeScaling, D_0D005AE0); } } -void func_80054664(s32 cameraId) { +void render_object_bowser_flame(s32 cameraId) { s32 var_s0; s32 objectIndex; gSPDisplayList(gDisplayListHead++, D_0D007AE0); - func_8004477C(common_texture_particle_smoke[D_80165598], 0x00000020, 0x00000020); + load_texture_block_i8_nomirror(common_texture_particle_smoke[D_80165598], 0x00000020, 0x00000020); func_8004B414(0, 0, 0, 0x000000FF); D_80183E80[0] = 0; D_80183E80[2] = 0x8000; for (var_s0 = 0; var_s0 < gObjectParticle1_SIZE; var_s0++) { objectIndex = gObjectParticle1[var_s0]; - if ((objectIndex != -1) && (gObjectList[objectIndex].state >= 3)) { - func_8005457C(objectIndex, cameraId); + if ((objectIndex != NULL_OBJECT_ID) && (gObjectList[objectIndex].state >= 3)) { + render_object_bowser_flame_particle(objectIndex, cameraId); } } } @@ -3688,28 +3690,28 @@ void func_80054664(s32 cameraId) { void func_8005477C(s32 objectIndex, u8 arg1, Vec3f arg2) { if (gMatrixHudCount <= MTX_HUD_POOL_SIZE_MAX) { switch (arg1) { /* irregular */ - case 0: - func_8004B1C8(0x000000E6, 0x000000FF, 0x000000FF, 0, 0, 0x000000FF, (s32) gObjectList[objectIndex].unk_0A0); - break; - case 1: - func_8004B1C8(0x000000FF, 0x000000FF, 0x00000096, 0x000000FF, 0, 0, (s32) gObjectList[objectIndex].unk_0A0); - break; - case 2: - func_8004B1C8(0x000000FF, 0x000000E6, 0x000000FF, 0x000000FF, 0, 0x00000096, (s32) gObjectList[objectIndex].unk_0A0); - break; - case 3: - func_8004B1C8(0x000000FF, 0x000000FF, 0x0000001E, 0x000000FF, 0, 0, (s32) gObjectList[objectIndex].unk_0A0); - break; - default: - break; + case 0: + set_color_render(0xE6, 0xFF, 0xFF, 0x00, 0x00, 0xFF, (s32) gObjectList[objectIndex].primAlpha); + break; + case 1: + set_color_render(0xFF, 0xFF, 0x96, 0xFF, 0x00, 0x00, (s32) gObjectList[objectIndex].primAlpha); + break; + case 2: + set_color_render(0xFF, 0xE6, 0xFF, 0xFF, 0x00, 0x96, (s32) gObjectList[objectIndex].primAlpha); + break; + case 3: + set_color_render(0xFF, 0xFF, 0x1E, 0xFF, 0x00, 0x00, (s32) gObjectList[objectIndex].primAlpha); + break; + default: + break; } D_80183E80[1] = func_800418AC(gObjectList[objectIndex].pos[0], gObjectList[objectIndex].pos[2], arg2); func_800431B0(gObjectList[objectIndex].pos, D_80183E80, gObjectList[objectIndex].sizeScaling, D_0D005AE0); } } -void func_80054938(s32 cameraId) { - s32 stackPadding[2]; +void render_object_smoke_particles(s32 cameraId) { + UNUSED s32 stackPadding[2]; Camera *sp54; s32 var_s0; s32 objectIndex; @@ -3717,13 +3719,13 @@ void func_80054938(s32 cameraId) { sp54 = &camera1[cameraId]; gSPDisplayList(gDisplayListHead++, D_0D007AE0); - func_8004477C(common_texture_particle_smoke[D_80165598], 32, 32); + load_texture_block_i8_nomirror(common_texture_particle_smoke[D_80165598], 32, 32); func_8004B72C(255, 255, 255, 255, 255, 255, 255); D_80183E80[0] = 0; D_80183E80[2] = 0x8000; for (var_s0 = 0; var_s0 < gObjectParticle4_SIZE; var_s0++) { objectIndex = gObjectParticle4[var_s0]; - if (objectIndex != -1) { + if (objectIndex != NULL_OBJECT_ID) { object = &gObjectList[objectIndex]; if (object->state >= 2) { if (object->unk_0D8 == 3) { @@ -3731,7 +3733,7 @@ void func_80054938(s32 cameraId) { } else { func_8008A364(objectIndex, cameraId, 0x4000U, 0x000001F4); } - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00040000) != 0) { + if (is_obj_flag_status_active(objectIndex, VISIBLE) != 0) { func_8005477C(objectIndex, object->unk_0D8, sp54->pos); } } @@ -3743,7 +3745,7 @@ void func_80054AFC(s32 objectIndex, Vec3f arg1) { D_80183E80[0] = func_800418E8(gObjectList[objectIndex].pos[2], gObjectList[objectIndex].pos[1], arg1); D_80183E80[1] = func_800418AC(gObjectList[objectIndex].pos[0], gObjectList[objectIndex].pos[2], arg1); D_80183E80[2] = (u16) gObjectList[objectIndex].orientation[2]; - func_8004B138((s32) gObjectList[objectIndex].unk_084[0], (s32) gObjectList[objectIndex].unk_084[1], (s32) gObjectList[objectIndex].unk_084[2], (s32) gObjectList[objectIndex].unk_0A0); + func_8004B138((s32) gObjectList[objectIndex].unk_084[0], (s32) gObjectList[objectIndex].unk_084[1], (s32) gObjectList[objectIndex].unk_084[2], (s32) gObjectList[objectIndex].primAlpha); rsp_set_matrix_transformation(gObjectList[objectIndex].pos, (u16 *) D_80183E80, gObjectList[objectIndex].sizeScaling); gSPVertex(gDisplayListHead++, D_0D005AE0, 4, 0); gSPDisplayList(gDisplayListHead++, common_rectangle_display); @@ -3756,7 +3758,7 @@ void func_80054BE8(s32 cameraId) { camera = &camera1[cameraId]; gSPDisplayList(gDisplayListHead++, D_0D007AE0); - func_800444B0(D_8018D488, 0x00000020, 0x00000020); + load_texture_block_ia8_nomirror(D_8018D488, 0x00000020, 0x00000020); func_8004B35C(0x000000FF, 0x000000FF, 0, 0x000000FF); D_80183E80[0] = 0; for (var_s0 = 0; var_s0 < gObjectParticle3_SIZE; var_s0++) { @@ -3773,7 +3775,7 @@ void func_80054D00(s32 objectIndex, s32 cameraId) { camera = &camera1[cameraId]; if (gObjectList[objectIndex].state >= 3) { func_8008A364(objectIndex, cameraId, 0x2AABU, 0x0000012C); - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00040000) != 0) { + if (is_obj_flag_status_active(objectIndex, VISIBLE) != 0) { D_80183E80[0] = (s16) gObjectList[objectIndex].orientation[0]; D_80183E80[1] = func_800418AC(gObjectList[objectIndex].pos[0], gObjectList[objectIndex].pos[2], camera->pos); D_80183E80[2] = (u16) gObjectList[objectIndex].orientation[2]; @@ -3784,7 +3786,7 @@ void func_80054D00(s32 objectIndex, s32 cameraId) { void func_80054E10(s32 objectIndex) { if (gObjectList[objectIndex].state > 0) { - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00800000) != 0) { + if (is_obj_flag_status_active(objectIndex, 0x00800000) != 0) { D_80183E50[0] = gObjectList[objectIndex].pos[0]; D_80183E50[1] = gObjectList[objectIndex].unk_044 + 0.8; D_80183E50[2] = gObjectList[objectIndex].pos[2]; @@ -3813,13 +3815,13 @@ void func_80054F04(s32 cameraId) { sp44 = &camera1[cameraId]; gSPDisplayList(gDisplayListHead++, D_0D0079C8); - func_80043D50(d_course_moo_moo_farm_mole_dirt, 0x00000010, 0x00000010); + load_texture_block_rgba16_mirror(d_course_moo_moo_farm_mole_dirt, 0x00000010, 0x00000010); for (var_s2 = 0; var_s2 < gObjectParticle2_SIZE; var_s2++) { objectIndex = gObjectParticle2[var_s2]; object = &gObjectList[objectIndex]; if (object->state > 0) { func_8008A364(objectIndex, cameraId, 0x2AABU, 0x000000C8); - if ((is_obj_index_flag_unk_054_active(objectIndex, 0x00040000) != 0) && (gMatrixHudCount <= MTX_HUD_POOL_SIZE_MAX)) { + if ((is_obj_flag_status_active(objectIndex, VISIBLE) != 0) && (gMatrixHudCount <= MTX_HUD_POOL_SIZE_MAX)) { object->orientation[1] = func_800418AC(object->pos[0], object->pos[2], sp44->pos); rsp_set_matrix_gObjectList(objectIndex); gSPDisplayList(gDisplayListHead++, D_0D006980); @@ -3829,20 +3831,20 @@ void func_80054F04(s32 cameraId) { gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF); } -void func_800550A4(s32 arg0) { - s32 var_s0; +void render_object_moles(s32 cameraId) { + s32 i; - for (var_s0 = 0; var_s0 < 8; var_s0++) { - func_80054D00(indexObjectList1[var_s0], arg0); + for (i = 0; i < NUM_GROUP1_MOLES; i++) { + func_80054D00(indexObjectList1[i], cameraId); } - for (var_s0 = 0; var_s0 < 11; var_s0++) { - func_80054D00(indexObjectList2[var_s0], arg0); + for (i = 0; i < NUM_GROUP2_MOLES; i++) { + func_80054D00(indexObjectList2[i], cameraId); } - for (var_s0 = 0; var_s0 < 12; var_s0++) { - func_80054D00(indexObjectList3[var_s0], arg0); + for (i = 0; i < NUM_GROUP3_MOLES; i++) { + func_80054D00(indexObjectList3[i], cameraId); } - func_80054EB8(arg0); - func_80054F04(arg0); + func_80054EB8(cameraId); + func_80054F04(cameraId); } void func_80055164(s32 objectIndex) { @@ -3864,7 +3866,7 @@ void func_80055228(s32 cameraId) { for (var_s1 = 0; var_s1 < 4; var_s1++) { temp_s0 = indexObjectList1[var_s1]; func_8008A364(temp_s0, cameraId, 0x4000U, 0x000005DC); - if (is_obj_index_flag_unk_054_active(temp_s0, 0x00040000) != 0) { + if (is_obj_flag_status_active(temp_s0, VISIBLE) != 0) { func_80055164(temp_s0); } } @@ -3882,42 +3884,42 @@ void func_800552BC(s32 objectIndex) { } } -void func_80055380(s32 arg0) { +void render_object_seagulls(s32 arg0) { s32 i; s32 var_s1; - for (i = 0; i < 10; i++) { + for (i = 0; i < NUM_SEAGULLS; i++) { var_s1 = indexObjectList2[i]; if (func_8008A364(var_s1, arg0, 0x5555U, 0x000005DC) < 0x9C401) { D_80165908 = 1; func_800722A4(var_s1, 2); } - if (is_obj_index_flag_unk_054_active(var_s1, 0x00040000) != 0) { + if (is_obj_flag_status_active(var_s1, VISIBLE) != 0) { func_800552BC(var_s1); } } } -void func_80055458(s32 objectIndex, s32 cameraId) { +void draw_crabs(s32 objectIndex, s32 cameraId) { Camera *camera; if (gObjectList[objectIndex].state >= 2) { camera = &camera1[cameraId]; func_8004A6EC(objectIndex, 0.5f); gObjectList[objectIndex].orientation[1] = func_800418AC(gObjectList[objectIndex].pos[0], gObjectList[objectIndex].pos[2], camera->pos); - func_800480B4(gObjectList[objectIndex].pos, gObjectList[objectIndex].orientation, gObjectList[objectIndex].sizeScaling, (u8 *) gObjectList[objectIndex].activeTLUT, gObjectList[objectIndex].activeTexture, D_0D0060B0, 0x00000040, 0x00000040, 0x00000040, 0x00000020); + draw_2d_texture_at(gObjectList[objectIndex].pos, gObjectList[objectIndex].orientation, gObjectList[objectIndex].sizeScaling, (u8 *) gObjectList[objectIndex].activeTLUT, gObjectList[objectIndex].activeTexture, D_0D0060B0, 0x00000040, 0x00000040, 0x00000040, 0x00000020); } } -void func_80055528(s32 arg0) { +void render_object_crabs(s32 arg0) { s32 someIndex; s32 test; - for (someIndex = 0; someIndex < 10; someIndex++) { + for (someIndex = 0; someIndex < NUM_CRABS; someIndex++) { test = indexObjectList1[someIndex]; func_8008A364(test, arg0, 0x2AABU, 0x00000320); - if (is_obj_index_flag_unk_054_active(test, 0x00040000) != 0) { - func_80055458(test, arg0); + if (is_obj_flag_status_active(test, VISIBLE) != 0) { + draw_crabs(test, arg0); } } } @@ -3929,27 +3931,27 @@ void func_800555BC(s32 objectIndex, s32 cameraId) { camera = &camera1[cameraId]; func_8004A870(objectIndex, 0.7f); gObjectList[objectIndex].orientation[1] = func_800418AC(gObjectList[objectIndex].pos[0], gObjectList[objectIndex].pos[2], camera->pos); - func_800480B4(gObjectList[objectIndex].pos, gObjectList[objectIndex].orientation, gObjectList[objectIndex].sizeScaling, (u8 *) gObjectList[objectIndex].activeTLUT, gObjectList[objectIndex].activeTexture, gObjectList[objectIndex].vertex, 64, 64, 64, 32); + draw_2d_texture_at(gObjectList[objectIndex].pos, gObjectList[objectIndex].orientation, gObjectList[objectIndex].sizeScaling, (u8 *) gObjectList[objectIndex].activeTLUT, gObjectList[objectIndex].activeTexture, gObjectList[objectIndex].vertex, 64, 64, 64, 32); } } -void func_8005568C(s32 arg0) { +void render_object_hedgehogs(s32 arg0) { s32 test; u32 something; s32 someIndex; - for (someIndex = 0; someIndex < 15; someIndex++) { + for (someIndex = 0; someIndex < NUM_HEDGEHOGS; someIndex++) { test = indexObjectList2[someIndex]; something = func_8008A364(test, arg0, 0x4000U, 0x000003E8); - if (is_obj_index_flag_unk_054_active(test, 0x00040000) != 0) { - set_object_flag_unk_054_true(test, 0x00200000); + if (is_obj_flag_status_active(test, VISIBLE) != 0) { + set_object_flag_status_true(test, 0x00200000); if (something < 0x2711U) { - set_object_flag_unk_054_true(test, 0x00000020); + set_object_flag_status_true(test, 0x00000020); } else { - set_object_flag_unk_054_false(test, 0x00000020); + set_object_flag_status_false(test, 0x00000020); } if (something < 0x57E41U) { - set_object_flag_unk_054_true(test, 0x00400000); + set_object_flag_status_true(test, 0x00400000); } if (something < 0x52211U) { func_800555BC(test, arg0); @@ -3968,7 +3970,7 @@ void func_800557B4(s32 objectIndex, u32 arg1, u32 arg2) { object = &gObjectList[objectIndex]; if (object->state >= 2) { - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00000020) != 0) { + if (is_obj_flag_status_active(objectIndex, 0x00000020) != 0) { if (func_80072320(objectIndex, 4) != 0) { if (arg2 >= arg1) { sp34[0] = object->pos[0]; @@ -3988,8 +3990,8 @@ void func_800557B4(s32 objectIndex, u32 arg1, u32 arg2) { } } -void func_8005592C(s32 cameraId) { - s32 var_s2; +void render_object_train_penguins(s32 cameraId) { + s32 i; s32 objectIndex; s32 temp_s1; s32 var_a3; @@ -4003,12 +4005,12 @@ void func_8005592C(s32 cameraId) { } else { var_s3 = 0x00015F90; } - for (var_s2 = 0; var_s2 < 15; var_s2++) { - objectIndex = indexObjectList1[var_s2]; + for (i = 0; i < NUM_PENGUINS; i++) { + objectIndex = indexObjectList1[i]; if (gObjectList[objectIndex].state >= 2) { if (gPlayerCountSelection1 == 1) { var_s1 = 0x4000; - if (var_s2 == 0) { + if (i == 0) { var_a3 = 0x000005DC; } else if (func_80072320(objectIndex, 8) != 0) { var_a3 = 0x00000320; @@ -4025,7 +4027,7 @@ void func_8005592C(s32 cameraId) { } } temp_s1 = func_8008A364(objectIndex, cameraId, var_s1, var_a3); - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00040000) != 0) { + if (is_obj_flag_status_active(objectIndex, VISIBLE) != 0) { func_800557B4(objectIndex, (u32) temp_s1, var_s3); } } @@ -4037,7 +4039,7 @@ void func_80055AB8(s32 objectIndex, s32 cameraId) { camera = &camera1[cameraId]; if (gObjectList[objectIndex].state >= 2) { - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00100000) != 0) { + if (is_obj_flag_status_active(objectIndex, 0x00100000) != 0) { D_80183E40[0] = gObjectList[objectIndex].pos[0]; D_80183E40[1] = gObjectList[objectIndex].pos[1] + 16.0; D_80183E40[2] = gObjectList[objectIndex].pos[2]; @@ -4053,14 +4055,14 @@ void func_80055AB8(s32 objectIndex, s32 cameraId) { } } -void func_80055C38(s32 cameraId) { +void render_object_chain_chomps(s32 cameraId) { s32 var_s1; s32 objectIndex; for (var_s1 = 0; var_s1 < 3; var_s1++) { objectIndex = indexObjectList2[var_s1]; func_8008A1D0(objectIndex, cameraId, 0x000005DC, 0x000009C4); - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00040000) != 0) { + if (is_obj_flag_status_active(objectIndex, VISIBLE) != 0) { func_80055AB8(objectIndex, cameraId); } } @@ -4076,7 +4078,7 @@ void func_80055CCC(s32 objectIndex, s32 cameraId) { func_8008A454(objectIndex, cameraId, 0x0000012C); test = gObjectList[objectIndex].pos[1] - gObjectList[objectIndex].unk_044; func_8004A6EC(objectIndex, (20.0 / test) + 0.5); - if (is_obj_index_flag_unk_054_inactive(objectIndex, 0x00100000) != 0) { + if (is_obj_index_flag_status_inactive(objectIndex, 0x00100000) != 0) { func_80043328(gObjectList[objectIndex].pos, (u16 *) gObjectList[objectIndex].direction_angle, gObjectList[objectIndex].sizeScaling, d_course_luigi_raceway_dl_F960); gSPDisplayList(gDisplayListHead++, d_course_luigi_raceway_dl_F650); } else { @@ -4092,16 +4094,16 @@ void func_80055CCC(s32 objectIndex, s32 cameraId) { } } -void func_80055E68(s32 arg0) { +void render_object_hot_air_balloon(s32 arg0) { s32 objectIndex; objectIndex = indexObjectList1[0]; if (gGamestate != 9) { func_8008A1D0(objectIndex, arg0, 0x000005DC, 0x00000BB8); - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00040000) != 0) { + if (is_obj_flag_status_active(objectIndex, VISIBLE) != 0) { func_80055CCC(objectIndex, arg0); } } else { - set_object_flag_unk_054_false(objectIndex, 0x00100000); + set_object_flag_status_false(objectIndex, 0x00100000); func_80055CCC(objectIndex, arg0); } } @@ -4147,7 +4149,7 @@ void func_80056160(s32 arg0) { func_80055FA0(indexObjectList1[3], arg0); } -void func_80056188(s32 cameraId) { +void render_object_neon(s32 cameraId) { Camera *camera; s32 var_s2; s32 objectIndex; @@ -4158,9 +4160,9 @@ void func_80056188(s32 cameraId) { objectIndex = indexObjectList1[var_s2]; if (D_8018E838[cameraId] == 0) { object = &gObjectList[objectIndex]; - if ((object->state >= 2) && (is_obj_index_flag_unk_054_inactive(objectIndex, 0x00080000) != 0) && (func_8008A140(objectIndex, camera, 0x2AABU) != 0)) { + if ((object->state >= 2) && (is_obj_index_flag_status_inactive(objectIndex, 0x00080000) != 0) && (is_object_visible_on_camera(objectIndex, camera, 0x2AABU) != 0)) { object->orientation[1] = angle_between_object_camera(objectIndex, camera); - func_800480B4(object->pos, object->orientation, object->sizeScaling, (u8 *) object->activeTLUT, object->activeTexture, D_0D0060B0, 0x00000040, 0x00000040, 0x00000040, 0x00000020); + draw_2d_texture_at(object->pos, object->orientation, object->sizeScaling, (u8 *) object->activeTLUT, object->activeTexture, D_0D0060B0, 0x00000040, 0x00000040, 0x00000040, 0x00000020); } } } @@ -4215,7 +4217,7 @@ void func_800563DC(s32 objectIndex, s32 cameraId, s32 arg2) { void func_8005669C(s32 objectIndex, UNUSED s32 arg1, s32 arg2) { gSPDisplayList(gDisplayListHead++, D_0D0079E8); func_8004B310(arg2); - func_80043D50(D_0D02AA58, 0x00000010, 0x00000010); + load_texture_block_rgba16_mirror(D_0D02AA58, 0x00000010, 0x00000010); D_80183E40[1] = gObjectList[objectIndex].pos[1] - 2.0; D_80183E40[0] = gObjectList[objectIndex].pos[0] + 2.0; D_80183E40[2] = gObjectList[objectIndex].pos[2] + 2.0; @@ -4246,27 +4248,27 @@ void func_800568A0(s32 objectIndex, s32 playerId) { gSPDisplayList(gDisplayListHead++, D_0D007B98); } -void func_800569F4(s32 arg0) { +void func_800569F4(s32 playerIndex) { s32 objectIndex; - objectIndex = D_80183DD8[arg0]; + objectIndex = gIndexObjectBombKart[playerIndex]; init_object(objectIndex, 0); - gObjectList[objectIndex].unk_0A0 = 0; + gObjectList[objectIndex].primAlpha = 0; } -void func_80056A40(s32 arg0, s32 arg1) { +void func_80056A40(s32 playerIndex, s32 arg1) { s32 objectIndex; - objectIndex = D_80183DD8[arg0]; + objectIndex = gIndexObjectBombKart[playerIndex]; init_object(objectIndex, 0); - gObjectList[objectIndex].unk_0A0 = (s16) arg1; + gObjectList[objectIndex].primAlpha = (s16) arg1; } -void func_80056A94(s32 arg0) { - func_80072428(D_80183DD8[arg0]); +void func_80056A94(s32 playerIndex) { + func_80072428(gIndexObjectBombKart[playerIndex]); } -void func_80056AC0(s32 cameraId) { +void render_object_bomb_kart(s32 cameraId) { Player *temp_v0; s32 temp_s1; s32 temp_s0; @@ -4274,10 +4276,10 @@ void func_80056AC0(s32 cameraId) { Objects *temp_v1; for (payerId = 0; payerId < NUM_BOMB_KARTS_BATTLE; payerId++) { - temp_s0 = D_80183DD8[payerId]; + temp_s0 = gIndexObjectBombKart[payerId]; temp_v1 = &gObjectList[temp_s0]; if (temp_v1->state != 0) { - temp_s1 = temp_v1->unk_0A0; + temp_s1 = temp_v1->primAlpha; temp_v0 = &gPlayerOne[payerId]; temp_v1->pos[0] = temp_v0->pos[0]; temp_v1->pos[1] = temp_v0->pos[1] - 2.0; @@ -4291,7 +4293,7 @@ void func_80056AC0(s32 cameraId) { } void func_80056BF0(s32 bombIndex) { - s32 stackPadding; + UNUSED s32 stackPadding; u8 thing; s32 temp_s0; s32 temp_v0; @@ -4304,7 +4306,7 @@ void func_80056BF0(s32 bombIndex) { D_80183E40[0] = sp40.bombPos[0]; D_80183E40[1] = sp40.bombPos[1] + 1.0; D_80183E40[2] = sp40.bombPos[2]; - func_800480B4(D_80183E40, D_80183E80, 0.25f, common_tlut_bomb, bombFrame, D_0D005AE0, 0x20, 0x20, 0x20, 0x20); + draw_2d_texture_at(D_80183E40, D_80183E80, 0.25f, common_tlut_bomb, bombFrame, D_0D005AE0, 0x20, 0x20, 0x20, 0x20); temp_s0 = D_8018D400; gSPDisplayList(gDisplayListHead++, D_0D007B00); func_8004B414(0, 0, 0, 0xFF); @@ -4320,13 +4322,13 @@ void func_80056BF0(s32 bombIndex) { } void func_80056E24(s32 bombIndex, Vec3f arg1) { - s32 stackPadding[2]; + UNUSED s32 stackPadding[2]; BombKart sp2C = gBombKarts[bombIndex]; D_80183E80[0] = 0; D_80183E80[2] = 0x8000; gSPDisplayList(gDisplayListHead++, D_0D0079C8); - func_80043D50(D_0D02AA58, 0x00000010, 0x00000010); + load_texture_block_rgba16_mirror(D_0D02AA58, 0x00000010, 0x00000010); D_80183E80[1] = func_800418AC(sp2C.wheel1Pos[0], sp2C.wheel1Pos[2], arg1); func_800431B0(sp2C.wheel1Pos, D_80183E80, 0.15f, common_vtx_rectangle); D_80183E80[1] = func_800418AC(sp2C.wheel2Pos[0], sp2C.wheel2Pos[2], arg1); @@ -4353,48 +4355,48 @@ void func_80056FCC(s32 bombIndex) { } void func_80057114(s32 cameraId) { - Camera *temp_s7; + Camera *camera; s32 objectIndex; s32 temp_s4; - s32 var_s2; + s32 i; s32 state; BombKart *var_s1_2; if (gGamestate == 5) { cameraId = 0; } - temp_s7 = &camera1[cameraId]; - if (cameraId == 0) { - for (var_s2 = 0; var_s2 < NUM_BOMB_KARTS_VERSUS; var_s2++) { - objectIndex = D_80183DD8[var_s2]; - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00200000) != 0) { - gBombKarts[var_s2].unk_4A = 0; + camera = &camera1[cameraId]; + if (cameraId == PLAYER_ONE) { + for (i = 0; i < NUM_BOMB_KARTS_VERSUS; i++) { + objectIndex = gIndexObjectBombKart[i]; + if (is_obj_flag_status_active(objectIndex, 0x00200000) != 0) { + gBombKarts[i].unk_4A = 0; } else if (gGamestate != 5) { - gBombKarts[var_s2].unk_4A = 1; + gBombKarts[i].unk_4A = 1; } - set_object_flag_unk_054_false(objectIndex, 0x00200000); + set_object_flag_status_false(objectIndex, 0x00200000); } } - for (var_s2 = 0; var_s2 < NUM_BOMB_KARTS_VERSUS; var_s2++) { - var_s1_2 = &gBombKarts[var_s2]; + for (i = 0; i < NUM_BOMB_KARTS_VERSUS; i++) { + var_s1_2 = &gBombKarts[i]; // huh??? state = var_s1_2->state; if (var_s1_2->state != BOMB_STATE_INACTIVE) { - objectIndex = D_80183DD8[var_s2]; + objectIndex = gIndexObjectBombKart[i]; gObjectList[objectIndex].pos[0] = var_s1_2->bombPos[0]; gObjectList[objectIndex].pos[1] = var_s1_2->bombPos[1]; gObjectList[objectIndex].pos[2] = var_s1_2->bombPos[2]; temp_s4 = func_8008A364(objectIndex, cameraId, 0x31C4U, 0x000001F4); - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00040000) != 0) { - set_object_flag_unk_054_true(objectIndex, 0x00200000); + if (is_obj_flag_status_active(objectIndex, VISIBLE) != 0) { + set_object_flag_status_true(objectIndex, 0x00200000); D_80183E80[0] = 0; - D_80183E80[1] = func_800418AC(var_s1_2->bombPos[0], var_s1_2->bombPos[2], temp_s7->pos); + D_80183E80[1] = func_800418AC(var_s1_2->bombPos[0], var_s1_2->bombPos[2], camera->pos); D_80183E80[2] = 0x8000; func_800563DC(objectIndex, cameraId, 0x000000FF); - func_80056E24(var_s2, temp_s7->pos); + func_80056E24(i, camera->pos); if (((u32) temp_s4 < 0x4E21U) && (state != BOMB_STATE_EXPLODED)) { - func_80056FCC(var_s2); + func_80056FCC(i); } } } diff --git a/src/hud_renderer.h b/src/render_objects.h similarity index 87% rename from src/hud_renderer.h rename to src/render_objects.h index 20c34f496..8eb66a754 100644 --- a/src/hud_renderer.h +++ b/src/render_objects.h @@ -1,5 +1,5 @@ -#ifndef hud_renderer_H -#define hud_renderer_H +#ifndef RENDER_OBJECTS_H +#define RENDER_OBJECTS_H #include "common_structs.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_8004398C(s32, s32, u16, f32, Vtx*, s32); s32 func_80043A54(s32); -void func_80043A84(u8*, s32, s32); -void func_80043C28(u8*, s32, s32); -void func_80043D50(u8*, s32, s32); -void func_80043EF8(u8*, s32, s32, s32); +void load_texture_block_rgba32_nomirror(u8*, s32, s32); +void load_texture_tile_rgba32_nomirror(u8*, s32, s32); +void load_texture_block_rgba16_mirror(u8*, s32, s32); +void load_texture_block_rgba16_nomirror(u8*, s32, s32, s32); -void func_800440B8(u8*, s32, s32); -void func_800441E0(u8*, s32, s32); -void func_80044388(u8*, s32, s32); -void func_800444B0(u8*, s32, s32); -void func_80044658(u8*, s32, s32); -void func_8004477C(u8*, s32, s32); +void load_texture_tile_rgba16_nomirror(u8*, s32, s32); +void load_texture_block_ia16_nomirror(u8*, s32, s32); +void load_texture_tile_ia16_nomirror(u8*, s32, s32); +void load_texture_block_ia8_nomirror(u8*, s32, s32); +void load_texture_tile_ia8_nomirror(u8*, s32, s32); +void load_texture_block_i8_nomirror(u8*, s32, s32); void func_80044AB8(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_80046D90(s32, s32, u16, f32, 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_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_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_800481B4(Vec3f, Vec3su, f32, u8*, u8*, Vtx*, 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_8004B138(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 set_transparency(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_8004C354(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_8004C53C(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_8004C9D8(s32, s32, s32, u8*, s32, s32, s32, s32); void func_8004CA58(s32, s32, f32, u8*, s32, s32); -void func_8004CAD0(s32, s32, u8*); -void func_8004CB00(s32, s32, u8*); -void func_8004CB30(s32, s32, u8*); -void func_8004CB60(s32, s32, u8*); -void func_8004CB90(s32, s32, u8*); +void draw_hud_2d_texture_8x8(s32, s32, u8*); +void draw_hud_2d_texture_8x16(s32, s32, u8*); +void draw_hud_2d_texture_16x16(s32, s32, u8*); +void draw_hud_2d_texture_32x8(s32, s32, u8*); +void draw_hud_2d_texture_32x16(s32, s32, 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_8004CC54(s32, s32, u8*); +void draw_hud_2d_texture_40x32(s32, s32, u8*); void func_8004CC84(s32, s32, u8*); void func_8004CCB4(s32, s32, 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_8004E5D8(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_8004E78C(s32); +void draw_simplified_lap_count(s32); void func_8004E800(s32); void func_8004E998(s32); void func_8004EB30(s32); @@ -300,9 +300,9 @@ void func_8004F3E4(s32); s32 func_8004F674(s32*, s32); void print_timer(s32, s32, s32); void func_8004F950(s32, s32, s32, s32); -void func_8004F9CC(s32, s32, s32); -void func_8004FA78(s32); -void func_8004FC78(s16, s16, s8); +void print_timer_rainbow(s32, s32, s32); +void render_hud_timer(s32); +void draw_lap_count(s16, s16, s8); void func_8004FDB4(f32, f32, s16, s16, s16, s32, s32, s32, s32); void func_80050320(void); @@ -313,8 +313,8 @@ void func_80050C68(void); void func_80050E34(s32, s32); void func_800514BC(void); -void func_80051638(s32); -void func_800517C8(void); +void render_object_leaf_particle(s32); +void render_object_snowflakes_particles(void); void func_800518F8(s32, s16, s16); void func_800519D4(s32, s16, s16); void func_80051ABC(s16, s32); @@ -328,35 +328,34 @@ void func_80052080(void); void func_800520C0(s32); void func_8005217C(s32); void func_800523B8(s32, s32, u32); -void func_800524B4(s32); -void func_800524B4(s32); -void func_80052590(s32); -void func_800527D8(s32); +void render_object_boos(s32); +void render_object_bat(s32); +void render_object_trash_bin(s32); void func_8005285C(s32); void func_800528EC(s32); -void func_80052C60(s32); +void render_ice_block(s32); void func_80052D70(s32); void func_80052E30(s32); -void func_80052F20(s32); +void render_object_snowmans_list_2(s32); -void func_8005309C(s32); -void func_8005327C(s32); -void func_800532A4(s32); +void render_object_snowmans_list_1(s32); +void render_object_snowmans(s32); +void render_lakitu(s32); void func_800534A4(s32); void func_800534E8(s32); -void func_800536C8(s32); -void func_80053870(s32); +void render_object_thwomps_model(s32); +void render_object_thwomps(s32); void func_80053D74(s32, s32, s32); void func_80053E6C(s32); -void func_800540CC(s32, s32); -void func_800541BC(s32); -void func_80054324(s32, s32); -void func_80054414(s32); -void func_8005457C(s32, s32); -void func_80054664(s32); +void render_object_train_smoke_particle(s32, s32); +void render_object_train_smoke_particles(s32); +void render_object_paddle_boat_smoke_particle(s32, s32); +void render_object_paddle_boat_smoke_particles(s32); +void render_object_bowser_flame_particle(s32, s32); +void render_object_bowser_flame(s32); void func_8005477C(s32, u8, Vec3f); -void func_80054938(s32); +void render_object_smoke_particles(s32); void func_80054AFC(s32, Vec3f); void func_80054BE8(s32); void func_80054D00(s32, s32); @@ -364,28 +363,28 @@ void func_80054E10(s32); void func_80054EB8(s32); void func_80054F04(s32); -void func_800550A4(s32); +void render_object_moles(s32); void func_80055164(s32); void func_80055228(s32); void func_800552BC(s32); -void func_80055380(s32); -void func_80055458(s32, s32); -void func_80055528(s32); +void render_object_seagulls(s32); +void draw_crabs(s32, s32); +void render_object_crabs(s32); void func_800555BC(s32, s32); -void func_8005568C(s32); +void render_object_hedgehogs(s32); void func_800557AC(void); void func_800557B4(s32, u32, u32); -void func_8005592C(s32); +void render_object_train_penguins(s32); void func_80055AB8(s32, s32); -void func_80055C38(s32); +void render_object_chain_chomps(s32); void func_80055CCC(s32, s32); -void func_80055E68(s32); +void render_object_hot_air_balloon(s32); void func_80055EF4(s32, s32); void func_80055F48(s32); void func_80055FA0(s32, s32); void func_80056160(s32); -void func_80056188(s32); +void render_object_neon(s32); void func_800562E4(s32, s32, s32); void func_800563DC(s32, s32, s32); void func_800568A0(s32, s32); @@ -393,7 +392,7 @@ void func_8005669C(s32, s32, s32); void func_800569F4(s32); void func_80056A40(s32, s32); void func_80056A94(s32); -void func_80056AC0(s32); +void render_object_bomb_kart(s32); void func_80056E24(s32, Vec3f); void func_80056FCC(s32); diff --git a/src/render_player.c b/src/render_player.c index e6e4a221d..542049bad 100644 --- a/src/render_player.c +++ b/src/render_player.c @@ -16,7 +16,7 @@ #include "buffers.h" #include "waypoints.h" #include "player_controller.h" -#include "hud_renderer.h" +#include "render_objects.h" #include "common_textures.h" #include "skybox_and_splitscreen.h" #include "spawn_players.h" diff --git a/src/code_80071F00.c b/src/update_objects.c similarity index 89% rename from src/code_80071F00.c rename to src/update_objects.c index 2115740db..8f0dea1b4 100644 --- a/src/code_80071F00.c +++ b/src/update_objects.c @@ -3,13 +3,13 @@ #include #include -#include "code_80071F00.h" +#include "update_objects.h" #include "main.h" #include "memory.h" #include "camera.h" #include "math_util.h" #include "math_util_2.h" -#include "hud_renderer.h" +#include "render_objects.h" #include "objects.h" #include "waypoints.h" #include "code_800029B0.h" @@ -81,7 +81,7 @@ u8 *gItemWindowTextures[] = { common_texture_item_window_mushroom, common_texture_item_window_double_mushroom, common_texture_item_window_triple_mushroom, common_texture_item_window_super_mushroom }; -u8 *D_800E4570[] = { +u8 *gHudLapTextures[] = { common_texture_hud_lap_1_on_3, common_texture_hud_lap_2_on_3, common_texture_hud_lap_3_on_3 }; @@ -182,7 +182,7 @@ void func_80072120(s32 *arg0, s32 arg1) { s32 i; for (i = 0; i < arg1; i++) { - set_object_flag_unk_054_false(*arg0, 0x00600000); + set_object_flag_status_false(*arg0, 0x00600000); arg0++; } } @@ -196,29 +196,29 @@ void func_80072180(void) { } } -void set_object_flag_unk_054_true(s32 objectIndex, s32 flag) { - gObjectList[objectIndex].unk_054 |= flag; +void set_object_flag_status_true(s32 objectIndex, s32 flag) { + gObjectList[objectIndex].status |= flag; } -void set_object_flag_unk_054_false(s32 objectIndex, s32 flag) { - gObjectList[objectIndex].unk_054 &= ~flag; +void set_object_flag_status_false(s32 objectIndex, s32 flag) { + gObjectList[objectIndex].status &= ~flag; } UNUSED void func_80072214(s32 objectIndex, s32 arg1) { - gObjectList[objectIndex].unk_054 ^= arg1; + gObjectList[objectIndex].status ^= arg1; } -bool is_obj_index_flag_unk_054_active(s32 objectIndex, s32 arg1) { +bool is_obj_flag_status_active(s32 objectIndex, s32 arg1) { s32 phi_v1 = FALSE; - if ((gObjectList[objectIndex].unk_054 & arg1) != 0) { + if ((gObjectList[objectIndex].status & arg1) != 0) { phi_v1 = TRUE; } return phi_v1; } -s32 is_obj_index_flag_unk_054_inactive(s32 objectIndex, s32 arg1) { +s32 is_obj_index_flag_status_inactive(s32 objectIndex, s32 arg1) { s32 phi_v1 = 0; - if ((gObjectList[objectIndex].unk_054 & arg1) == 0) { + if ((gObjectList[objectIndex].status & arg1) == 0) { phi_v1 = 1; } return phi_v1; @@ -236,12 +236,12 @@ UNUSED void func_800722F8(s32 objectIndex, s32 arg1) { gObjectList[objectIndex].unk_058 ^= arg1; } -s32 func_80072320(s32 objectIndex, s32 arg1) { - s32 phi_v1 = 0; +bool func_80072320(s32 objectIndex, s32 arg1) { + s32 b = FALSE; if ((gObjectList[objectIndex].unk_058 & arg1) != 0) { - phi_v1 = 1; + b = TRUE; } - return phi_v1; + return b; } bool func_80072354(s32 objectIndex, s32 arg1) { @@ -257,7 +257,7 @@ void set_object_unk_0CB(s32 objectIndex, s32 arg1) { } void init_object(s32 objectIndex, s32 arg1) { - gObjectList[objectIndex].unk_054 = 0; + gObjectList[objectIndex].status = 0; gObjectList[objectIndex].unk_058 = 0; gObjectList[objectIndex].unk_05C = 0; gObjectList[objectIndex].unk_0CD = 0; @@ -275,7 +275,7 @@ void func_80072428(s32 objectIndex) { gObjectList[objectIndex].state = 0; gObjectList[objectIndex].unk_0D8 = 0; set_object_unk_0CB(objectIndex, 0); - gObjectList[objectIndex].unk_054 = 0; + gObjectList[objectIndex].status = 0; gObjectList[objectIndex].unk_058 = 0; gObjectList[objectIndex].unk_05C = 0; func_80086F60(objectIndex); @@ -283,7 +283,7 @@ void func_80072428(s32 objectIndex) { void func_80072488(s32 objectIndex) { set_object_unk_0CB(objectIndex, 0); - set_object_flag_unk_054_false(objectIndex, 0x2000); + set_object_flag_status_false(objectIndex, 0x2000); gObjectList[objectIndex].state++; } @@ -303,8 +303,8 @@ s16 func_80072530(s32 objectIndex) { void func_80072568(s32 objectIndex, s32 arg1) { set_object_unk_0CB(objectIndex, 0); - set_object_flag_unk_054_false(objectIndex, 0x2000); - set_object_flag_unk_054_false(objectIndex, 8); + set_object_flag_status_false(objectIndex, 0x2000); + set_object_flag_status_false(objectIndex, 8); func_80072488(objectIndex); func_800724F8(objectIndex, gObjectList[objectIndex].state); gObjectList[objectIndex].state = arg1; @@ -312,8 +312,8 @@ void func_80072568(s32 objectIndex, s32 arg1) { void func_800725E8(s32 objectIndex, s32 arg1, s32 arg2) { set_object_unk_0CB(objectIndex, 0); - set_object_flag_unk_054_false(objectIndex, 0x2000); - set_object_flag_unk_054_false(objectIndex, 8); + set_object_flag_status_false(objectIndex, 0x2000); + set_object_flag_status_false(objectIndex, 8); gObjectList[objectIndex].state = arg2; func_800724F8(objectIndex, gObjectList[objectIndex].state); gObjectList[objectIndex].state = arg1; @@ -323,14 +323,14 @@ s16 func_80072530(s32); // extern void func_8007266C(s32 objectIndex) { set_object_unk_0CB(objectIndex, 0); - set_object_flag_unk_054_false(objectIndex, 0x2000); - set_object_flag_unk_054_false(objectIndex, 8); + set_object_flag_status_false(objectIndex, 0x2000); + set_object_flag_status_false(objectIndex, 8); gObjectList[objectIndex].state = func_80072530(objectIndex); } void func_800726CC(s32 objectIndex, s32 arg1) { set_object_unk_0CB(objectIndex, 0); - set_object_flag_unk_054_false(objectIndex, 0x2000); + set_object_flag_status_false(objectIndex, 0x2000); gObjectList[objectIndex].state = arg1; } @@ -476,14 +476,14 @@ s32 func_80072B48(s32 objectIndex, s32 arg1) { phi_v1 = 0; if (gObjectList[objectIndex].unk_0CB == 0) { set_object_unk_0CB(objectIndex, 1); - set_object_flag_unk_054_true(objectIndex, 0x80000); + set_object_flag_status_true(objectIndex, 0x80000); gObjectList[objectIndex].itemDisplay = D_8018D140; gObjectList[objectIndex].unk_050 = arg1; } gObjectList[objectIndex].unk_050--; if (gObjectList[objectIndex].unk_050 < 0) { - set_object_flag_unk_054_false(objectIndex, 0x80000); + set_object_flag_status_false(objectIndex, 0x80000); set_object_unk_0CB(objectIndex, 0); func_80072488(objectIndex); phi_v1 = 1; @@ -493,21 +493,21 @@ s32 func_80072B48(s32 objectIndex, s32 arg1) { } void func_80072C00(s32 objectIndex, s32 arg1, s32 arg2, s32 arg3) { - if (is_obj_index_flag_unk_054_inactive(objectIndex, 0x2000) != 0) { + if (is_obj_index_flag_status_inactive(objectIndex, 0x2000) != 0) { gObjectList[objectIndex].unk_050 = arg2; gObjectList[objectIndex].itemDisplay = arg1; gObjectList[objectIndex].unk_0D4 = 1; gObjectList[objectIndex].unk_0CC = arg3; - set_object_flag_unk_054_true(objectIndex, 0x2000); + set_object_flag_status_true(objectIndex, 0x2000); } else { gObjectList[objectIndex].unk_050--; if (gObjectList[objectIndex].unk_050 < 0) { gObjectList[objectIndex].unk_050 = arg2; gObjectList[objectIndex].unk_0D4--; if ((gObjectList[objectIndex].unk_0D4 & 1) != 0) { - set_object_flag_unk_054_false(objectIndex, 0x80000); + set_object_flag_status_false(objectIndex, 0x80000); } else { - set_object_flag_unk_054_true(objectIndex, 0x80000); + set_object_flag_status_true(objectIndex, 0x80000); } if (gObjectList[objectIndex].unk_0D4 < 0) { @@ -518,7 +518,7 @@ void func_80072C00(s32 objectIndex, s32 arg1, s32 arg2, s32 arg3) { } if (gObjectList[objectIndex].unk_0CC == 0) { - set_object_flag_unk_054_false(objectIndex, 0x2000); + set_object_flag_status_false(objectIndex, 0x2000); func_80072488(objectIndex); } } @@ -527,12 +527,12 @@ void func_80072C00(s32 objectIndex, s32 arg1, s32 arg2, s32 arg3) { } void func_80072D3C(s32 objectIndex, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - if (is_obj_index_flag_unk_054_inactive(objectIndex, 0x2000) != 0) { + if (is_obj_index_flag_status_inactive(objectIndex, 0x2000) != 0) { gObjectList[objectIndex].unk_050 = arg3; gObjectList[objectIndex].itemDisplay = arg1; gObjectList[objectIndex].unk_0D4 = 1; gObjectList[objectIndex].unk_0CC = arg4; - set_object_flag_unk_054_true(objectIndex, 0x2000); + set_object_flag_status_true(objectIndex, 0x2000); return; } @@ -553,7 +553,7 @@ void func_80072D3C(s32 objectIndex, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { } if (gObjectList[objectIndex].unk_0CC == 0) { - set_object_flag_unk_054_false(objectIndex, 0x2000); + set_object_flag_status_false(objectIndex, 0x2000); func_80072488(objectIndex); } } @@ -564,12 +564,12 @@ s32 func_80072E54(s32 objectIndex, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 a s32 sp24; sp24 = 0; - if (is_obj_index_flag_unk_054_inactive(objectIndex, 0x2000) != 0) { + if (is_obj_index_flag_status_inactive(objectIndex, 0x2000) != 0) { gObjectList[objectIndex].itemDisplay = arg1; gObjectList[objectIndex].unk_050 = arg4; gObjectList[objectIndex].unk_0CC = arg5; set_object_unk_0CB(objectIndex, 1); - set_object_flag_unk_054_true(objectIndex, 0x2000); + set_object_flag_status_true(objectIndex, 0x2000); } else { gObjectList[objectIndex].unk_050--; if (gObjectList[objectIndex].unk_050 <= 0) { @@ -582,7 +582,7 @@ s32 func_80072E54(s32 objectIndex, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 a } if (gObjectList[objectIndex].unk_0CC == 0) { gObjectList[objectIndex].itemDisplay = arg2; - set_object_flag_unk_054_false(objectIndex, 0x2000); + set_object_flag_status_false(objectIndex, 0x2000); set_object_unk_0CB(objectIndex, 0); func_80072488(objectIndex); sp24 = 1; @@ -599,12 +599,12 @@ bool func_80072F88(s32 objectIndex, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 s32 sp24; sp24 = FALSE; - if (is_obj_index_flag_unk_054_inactive(objectIndex, 0x2000) != 0) { + if (is_obj_index_flag_status_inactive(objectIndex, 0x2000) != 0) { gObjectList[objectIndex].itemDisplay = arg1; gObjectList[objectIndex].unk_050 = arg4; gObjectList[objectIndex].unk_0CC = arg5; set_object_unk_0CB(objectIndex, 1); - set_object_flag_unk_054_true(objectIndex, 0x2000); + set_object_flag_status_true(objectIndex, 0x2000); } else { gObjectList[objectIndex].unk_050--; if (gObjectList[objectIndex].unk_050 <= 0) { @@ -616,7 +616,7 @@ bool func_80072F88(s32 objectIndex, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 } if (gObjectList[objectIndex].unk_0CC == 0) { gObjectList[objectIndex].itemDisplay = arg2; - set_object_flag_unk_054_false(objectIndex, 0x2000); + set_object_flag_status_false(objectIndex, 0x2000); set_object_unk_0CB(objectIndex, 0); func_80072488(objectIndex); sp24 = TRUE; @@ -633,22 +633,22 @@ bool func_800730BC(s32 objectIndex, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 s32 sp24; sp24 = FALSE; - if (is_obj_index_flag_unk_054_inactive(objectIndex ,0x2000) != 0) { + if (is_obj_index_flag_status_inactive(objectIndex ,0x2000) != 0) { gObjectList[objectIndex].itemDisplay = arg1; gObjectList[objectIndex].unk_050 = arg4; gObjectList[objectIndex].unk_0CC = arg5; set_object_unk_0CB(objectIndex, 1); - set_object_flag_unk_054_true(objectIndex, 0x2000); - set_object_flag_unk_054_false(objectIndex, 0x4000); + set_object_flag_status_true(objectIndex, 0x2000); + set_object_flag_status_false(objectIndex, 0x4000); } else { gObjectList[objectIndex].unk_050--; if (gObjectList[objectIndex].unk_050 <= 0) { gObjectList[objectIndex].unk_050 = arg4; - if (is_obj_index_flag_unk_054_inactive(objectIndex, 0x4000) != 0) { + if (is_obj_index_flag_status_inactive(objectIndex, 0x4000) != 0) { gObjectList[objectIndex].itemDisplay += arg3; if (gObjectList[objectIndex].itemDisplay >= arg2) { gObjectList[objectIndex].itemDisplay = arg2; - set_object_flag_unk_054_true(objectIndex, 0x4000); + set_object_flag_status_true(objectIndex, 0x4000); } } else { gObjectList[objectIndex].itemDisplay -= arg3; @@ -659,14 +659,14 @@ bool func_800730BC(s32 objectIndex, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 } if (gObjectList[objectIndex].unk_0CC == 0) { - set_object_flag_unk_054_false(objectIndex, 0x80); - set_object_flag_unk_054_false(objectIndex, 0x2000); + set_object_flag_status_false(objectIndex, 0x80); + set_object_flag_status_false(objectIndex, 0x2000); set_object_unk_0CB(objectIndex, 0); func_80072488(objectIndex); sp24 = TRUE; } else { - set_object_flag_unk_054_false(objectIndex, 0x4000); - set_object_flag_unk_054_true(objectIndex, 0x80); + set_object_flag_status_false(objectIndex, 0x4000); + set_object_flag_status_true(objectIndex, 0x80); } } } @@ -679,22 +679,22 @@ s32 func_8007326C(s32 objectIndex, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 a s32 sp24; sp24 = 0; - if (is_obj_index_flag_unk_054_inactive(objectIndex, 0x2000) != 0) { + if (is_obj_index_flag_status_inactive(objectIndex, 0x2000) != 0) { gObjectList[objectIndex].itemDisplay = arg1; gObjectList[objectIndex].unk_050 = arg4; gObjectList[objectIndex].unk_0CC = arg5; set_object_unk_0CB(objectIndex, 1); - set_object_flag_unk_054_true(objectIndex, 0x2000); - set_object_flag_unk_054_false(objectIndex, 0x4000); + set_object_flag_status_true(objectIndex, 0x2000); + set_object_flag_status_false(objectIndex, 0x4000); } else { gObjectList[objectIndex].unk_050--; if (gObjectList[objectIndex].unk_050 <= 0) { gObjectList[objectIndex].unk_050 = arg4; - if (is_obj_index_flag_unk_054_inactive(objectIndex, 0x4000) != 0) { + if (is_obj_index_flag_status_inactive(objectIndex, 0x4000) != 0) { gObjectList[objectIndex].itemDisplay -= arg3; if (arg2 >= gObjectList[objectIndex].itemDisplay) { gObjectList[objectIndex].itemDisplay = arg2; - set_object_flag_unk_054_true(objectIndex, 0x4000); + set_object_flag_status_true(objectIndex, 0x4000); } } else { gObjectList[objectIndex].itemDisplay += arg3; @@ -704,12 +704,12 @@ s32 func_8007326C(s32 objectIndex, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 a gObjectList[objectIndex].unk_0CC--; } if (gObjectList[objectIndex].unk_0CC == 0) { - set_object_flag_unk_054_false(objectIndex, 0x2000); + set_object_flag_status_false(objectIndex, 0x2000); set_object_unk_0CB(objectIndex, 0); func_80072488(objectIndex); sp24 = 1; } else { - set_object_flag_unk_054_false(objectIndex, 0x4000); + set_object_flag_status_false(objectIndex, 0x4000); } } } @@ -724,7 +724,7 @@ void func_80073404(s32 objectIndex, u8 arg1, u8 arg2, Vtx *arg3) { gObjectList[objectIndex].textureHeight = arg2; gObjectList[objectIndex].itemDisplay = 0; gObjectList[objectIndex].unk_0D3 = -1; - gObjectList[objectIndex].unk_054 = 0; + gObjectList[objectIndex].status = 0; } void init_texture_object(s32 objectIndex, u8 *texture, u8* arg2, u8 arg3, u16 arg4) { @@ -734,7 +734,7 @@ void init_texture_object(s32 objectIndex, u8 *texture, u8* arg2, u8 arg3, u16 ar gObjectList[objectIndex].textureHeight = arg4; gObjectList[objectIndex].itemDisplay = 0; gObjectList[objectIndex].unk_0D3 = -1; - gObjectList[objectIndex].unk_054 = 0; + gObjectList[objectIndex].status = 0; } UNUSED void func_8007348C(s32 objectIndex, u8 *arg1, u8 arg2, u8 arg3, Vtx *arg4) { @@ -745,7 +745,7 @@ UNUSED void func_8007348C(s32 objectIndex, u8 *arg1, u8 arg2, u8 arg3, Vtx *arg4 gObjectList[objectIndex].vertex = arg4; gObjectList[objectIndex].itemDisplay = 0; gObjectList[objectIndex].unk_0D3 = -1; - gObjectList[objectIndex].unk_054 = 0; + gObjectList[objectIndex].status = 0; } UNUSED void func_800734D4() { @@ -776,7 +776,7 @@ UNUSED void func_80073570(s32 objectIndex) { } void func_800735BC(s32 objectIndex, Gfx *arg1, f32 arg2) { - gObjectList[objectIndex].unk_054 = 0; + gObjectList[objectIndex].status = 0; gObjectList[objectIndex].model = arg1; gObjectList[objectIndex].sizeScaling = arg2; func_80072488(objectIndex); @@ -786,26 +786,26 @@ void func_80073600(s32 objectIndex) { set_object_unk_0CB(objectIndex, 0); gObjectList[objectIndex].unk_0D6 = 0; gObjectList[objectIndex].unk_04C = -1; - set_object_flag_unk_054_false(objectIndex, 0x8000); + set_object_flag_status_false(objectIndex, 0x8000); } void func_80073654(s32 objectIndex) { - set_object_flag_unk_054_false(objectIndex, 0x8000); + set_object_flag_status_false(objectIndex, 0x8000); ++gObjectList[objectIndex].unk_0D6; } UNUSED void func_8007369C(s32 objectIndex, s32 arg1) { - set_object_flag_unk_054_false(objectIndex, 0x8000); + set_object_flag_status_false(objectIndex, 0x8000); gObjectList[objectIndex].unk_0D6 = arg1; } void func_800736E0(s32 objectIndex) { - set_object_flag_unk_054_false(objectIndex, 0x8000); + set_object_flag_status_false(objectIndex, 0x8000); gObjectList[objectIndex].unk_0D6 = 1; } void func_80073720(s32 objectIndex) { - set_object_flag_unk_054_false(objectIndex, 0x8000); + set_object_flag_status_false(objectIndex, 0x8000); gObjectList[objectIndex].unk_0D6 = 0; } @@ -813,13 +813,13 @@ bool func_8007375C(s32 objectIndex, s32 arg1) { s32 sp24; sp24 = FALSE; - if (is_obj_index_flag_unk_054_inactive(objectIndex, 0x00008000) != 0) { + if (is_obj_index_flag_status_inactive(objectIndex, 0x00008000) != 0) { gObjectList[objectIndex].unk_04C = arg1; - set_object_flag_unk_054_true(objectIndex, 0x00008000); + set_object_flag_status_true(objectIndex, 0x00008000); } gObjectList[objectIndex].unk_04C--; if (gObjectList[objectIndex].unk_04C < 0) { - set_object_flag_unk_054_false(objectIndex, 0x00008000); + set_object_flag_status_false(objectIndex, 0x00008000); func_80073654(objectIndex); sp24 = TRUE; } @@ -1184,11 +1184,11 @@ void func_80074344(s32 objectIndex, f32* arg1, f32 arg2, f32 arg3, f32 arg4, s32 } void func_80074478(s32 objectIndex) { - gObjectList[objectIndex].unk_054 |= 1; + gObjectList[objectIndex].status |= 1; } void func_800744A0(s32 objectIndex) { - gObjectList[objectIndex].unk_054 &= ~1; + gObjectList[objectIndex].status &= ~1; } void func_800744CC(void) { @@ -1212,14 +1212,14 @@ void func_80074574(u8 *arg0, void *arg1, u16 arg2, u16 arg3) { void func_800745C8(s32 objectIndex, s32 arg1) { s32 phi_a1; - if ((gObjectList[objectIndex].unk_054 & 1) != 0) { + if ((gObjectList[objectIndex].status & 1) != 0) { phi_a1 = 0; if (gObjectList[objectIndex].tlutList != gObjectList[objectIndex].activeTLUT) { gObjectList[objectIndex].activeTLUT = gObjectList[objectIndex].tlutList; } - gObjectList[objectIndex].unk_054 ^= 2; - if ((gObjectList[objectIndex].unk_054 & 2) != 0) { + gObjectList[objectIndex].status ^= 2; + if ((gObjectList[objectIndex].status & 2) != 0) { phi_a1 = 1; } @@ -1231,12 +1231,12 @@ void func_800745C8(s32 objectIndex, s32 arg1) { void func_8007466C(s32 objectIndex, s32 arg1) { s32 phi_a1; - if ((gObjectList[objectIndex].unk_054 & 1) != 0) { + if ((gObjectList[objectIndex].status & 1) != 0) { // I have no idea why this typecase works gObjectList[objectIndex].activeTLUT = (u32*)gObjectList[objectIndex].tlutList + (gObjectList[objectIndex].unk_0D3 << 7) ; - gObjectList[objectIndex].unk_054 ^= 2; + gObjectList[objectIndex].status ^= 2; phi_a1 = 0; - if ((gObjectList[objectIndex].unk_054 & 2) != 0) { + if ((gObjectList[objectIndex].status & 2) != 0) { phi_a1 = 1; } gObjectList[objectIndex].activeTexture = (u8 *) (gObjectList[objectIndex].textureWidth * gObjectList[objectIndex].textureHeight * phi_a1) + arg1; @@ -1247,11 +1247,11 @@ void func_8007466C(s32 objectIndex, s32 arg1) { void func_80074704(s32 objectIndex, s32 arg1) { s32 phi_a1; - if ((gObjectList[objectIndex].unk_054 & 1) != 0) { + if ((gObjectList[objectIndex].status & 1) != 0) { gObjectList[objectIndex].activeTLUT = gObjectList[objectIndex].tlutList; - gObjectList[objectIndex].unk_054 ^= 2; + gObjectList[objectIndex].status ^= 2; phi_a1 = 0; - if ((gObjectList[objectIndex].unk_054 & 2) != 0) { + if ((gObjectList[objectIndex].status & 2) != 0) { phi_a1 = 1; } gObjectList[objectIndex].activeTexture = (u8 *) (gObjectList[objectIndex].textureWidth * gObjectList[objectIndex].textureHeight * phi_a1) + arg1; @@ -1262,9 +1262,9 @@ void func_80074704(s32 objectIndex, s32 arg1) { u8 *func_80074790(s32 objectIndex, u8 *arg1) { s32 phi_a2; - gObjectList[objectIndex].unk_054 ^= 4; + gObjectList[objectIndex].status ^= 4; phi_a2 = 0; - if ((gObjectList[objectIndex].unk_054 & 4) != 0) { + if ((gObjectList[objectIndex].status & 4) != 0) { phi_a2 = 1; } return (gObjectList[objectIndex].textureWidth * gObjectList[objectIndex].textureHeight * phi_a2) + arg1; @@ -1336,7 +1336,7 @@ void func_80074924(s32 objectIndex) { temp_s0->origin_pos[2] = (f32) (((f64) D_80165728 + 200.0) - (f64) sp24); break; } - func_8008B80C(objectIndex, 0, 0, 0); + set_obj_origin_offset(objectIndex, 0, 0, 0); if (gPlayerCount == 1) { temp_s0->velocity[1] = (f32) (((f64) (f32) (sp2C % 4) * 0.25) + 0.8); } else { @@ -1355,18 +1355,18 @@ void func_80074924(s32 objectIndex) { } else { temp_s0->unk_084[7] = -0x100 - (sp20 / 32); } - temp_s0->unk_0A0 = 0x00E6; + temp_s0->primAlpha = 0x00E6; func_80072488(objectIndex); } void func_80074D94(s32 objectIndex) { if (gObjectList[objectIndex].unk_0AE == 1) { - if ((D_80165740 <= gObjectList[objectIndex].unk_028[1]) && (s16_step_down_towards(&gObjectList[objectIndex].unk_0A0, 0, 8) != 0)) { + if ((D_80165740 <= gObjectList[objectIndex].offset[1]) && (s16_step_down_towards(&gObjectList[objectIndex].primAlpha, 0, 8) != 0)) { func_80086F60(objectIndex); } - func_800877C4(objectIndex); + object_add_velocity_offset_y(objectIndex); } - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); } void func_80074E28(s32 objectIndex) { @@ -1424,7 +1424,7 @@ void func_80074FD8(s32 objectIndex) { if (func_80087E08(objectIndex, gObjectList[objectIndex].velocity[1], 0.12f, gObjectList[objectIndex].unk_034, gObjectList[objectIndex].direction_angle[1], 0x00000064) != 0) { func_80072488(objectIndex); } - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); gObjectList[objectIndex].orientation[0] += D_8016582C[0]; gObjectList[objectIndex].orientation[1] += D_8016582C[1]; gObjectList[objectIndex].orientation[2] += D_8016582C[2]; @@ -1549,13 +1549,13 @@ void func_80075698(s32 objectIndex) { gObjectList[objectIndex].unk_0D5 = 1; gObjectList[objectIndex].activeTexture = D_8018D490; gObjectList[objectIndex].textureList = D_8018D490; - gObjectList[objectIndex].unk_0A0 = 0xFF; + gObjectList[objectIndex].primAlpha = 0xFF; gObjectList[objectIndex].direction_angle[1] = 0; gObjectList[objectIndex].orientation[0] = 0; gObjectList[objectIndex].orientation[2] = 0; - gObjectList[objectIndex].unk_028[0] = 0.0f; - gObjectList[objectIndex].unk_028[1] = 0.0f; - gObjectList[objectIndex].unk_028[2] = 0.0f; + gObjectList[objectIndex].offset[0] = 0.0f; + gObjectList[objectIndex].offset[1] = 0.0f; + gObjectList[objectIndex].offset[2] = 0.0f; gObjectList[objectIndex].sizeScaling = 0.5f; func_80072488(objectIndex); } @@ -1567,9 +1567,9 @@ void func_80075714(s32 objectIndex) { break; case 2: gObjectList[objectIndex].velocity[1] -= 0.03; - f32_step_up_towards(&gObjectList[objectIndex].unk_028[1], 100.0f, gObjectList[objectIndex].velocity[1]); + f32_step_up_towards(&gObjectList[objectIndex].offset[1], 100.0f, gObjectList[objectIndex].velocity[1]); func_8007415C(objectIndex, &gObjectList[objectIndex].sizeScaling, 0.55f, 1.0f, 0.1f, 1, 0); - if (func_80073B00(objectIndex, &gObjectList[objectIndex].unk_0A0, 0xFF, 0x1E, 7, 0, 0) != 0) { + if (func_80073B00(objectIndex, &gObjectList[objectIndex].primAlpha, 0xFF, 0x1E, 7, 0, 0) != 0) { func_80072488(objectIndex); } break; @@ -1580,10 +1580,10 @@ void func_80075714(s32 objectIndex) { break; } - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); } -void func_80075838(void) { +void update_train_smoke(void) { s32 pad[2]; s32 count; s32 i; @@ -1670,13 +1670,13 @@ void func_80075B08(s32 objectIndex) { gObjectList[objectIndex].unk_0D5 = 6; gObjectList[objectIndex].activeTexture = D_8018D490; gObjectList[objectIndex].textureList = D_8018D490; - gObjectList[objectIndex].unk_0A0 = 0xFF; + gObjectList[objectIndex].primAlpha = 0xFF; gObjectList[objectIndex].direction_angle[1] = 0; gObjectList[objectIndex].orientation[0] = 0; gObjectList[objectIndex].orientation[2] = 0; - gObjectList[objectIndex].unk_028[0] = 0.0f; - gObjectList[objectIndex].unk_028[1] = 0.0f; - gObjectList[objectIndex].unk_028[2] = 0.0f; + gObjectList[objectIndex].offset[0] = 0.0f; + gObjectList[objectIndex].offset[1] = 0.0f; + gObjectList[objectIndex].offset[2] = 0.0f; gObjectList[objectIndex].sizeScaling = 0.5f; func_80072488(objectIndex); } @@ -1688,9 +1688,9 @@ void func_80075B84(s32 objectIndex) { break; case 2: gObjectList[objectIndex].velocity[1] -= 0.03; - f32_step_up_towards(&gObjectList[objectIndex].unk_028[1], 100.0f, gObjectList[objectIndex].velocity[1]); + f32_step_up_towards(&gObjectList[objectIndex].offset[1], 100.0f, gObjectList[objectIndex].velocity[1]); func_8007415C(objectIndex, &gObjectList[objectIndex].sizeScaling, 0.55f, 1.0f, 0.1f, 1, 0); - if (func_80073B00(objectIndex, &gObjectList[objectIndex].unk_0A0, 0xFF, 0x1E, 7, 0, 0) != 0) { + if (func_80073B00(objectIndex, &gObjectList[objectIndex].primAlpha, 0xFF, 0x1E, 7, 0, 0) != 0) { func_80072488(objectIndex); } break; @@ -1701,10 +1701,10 @@ void func_80075B84(s32 objectIndex) { break; } - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); } -void func_80075CA8(void) { +void update_ferries_smoke_particle(void) { s32 pad[2]; s32 count; s32 i; @@ -1716,7 +1716,7 @@ void func_80075CA8(void) { if (D_80165790 != 0) { D_80165790 -= 1; } - if ((gFerries[0].someFlags != 0) || (D_8016578C != 0)) { + if ((gPaddleBoats[0].someFlags != 0) || (D_8016578C != 0)) { count = 0; for (i = 0; i < 128; i++) { temp_a0 = gObjectParticle2[i]; @@ -1735,7 +1735,7 @@ void func_80075CA8(void) { D_8016578C = 100; } } - if ((gFerries[1].someFlags != 0) || (D_80165790 != 0)) { + if ((gPaddleBoats[1].someFlags != 0) || (D_80165790 != 0)) { count = 0; for (i = 0; i < 128; i++) { temp_a0 = gObjectParticle3[i]; @@ -1810,7 +1810,7 @@ void func_8007601C(s32 objectIndex) { if (gObjectList[objectIndex].unk_04C == 0) { func_8008A6DC(objectIndex, 300.0f); - if ((is_obj_index_flag_unk_054_active(objectIndex, 0x40000) != 0) && (func_80072354(objectIndex, 1) != 0)) { + if ((is_obj_flag_status_active(objectIndex, VISIBLE) != 0) && (func_80072354(objectIndex, 1) != 0)) { func_800722A4(objectIndex, 1); func_80075F98(gObjectList[objectIndex].pos, gObjectList[objectIndex].direction_angle[1], 1.0f); func_800C9D80(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity, SOUND_ARG_LOAD(0x51, 0x02, 0x80, 0x0A)); @@ -1884,9 +1884,9 @@ void func_8007634C(s32 objectIndex) { temp_v0 = &gObjectList[objectIndex]; temp_v0->activeTexture = common_texture_particle_smoke; temp_v0->textureList = common_texture_particle_smoke; - temp_v0->unk_0A0 = 0x00FF; + temp_v0->primAlpha = 0x00FF; set_obj_orientation(objectIndex, 0U, 0U, 0U); - func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f); + set_obj_origin_offset(objectIndex, 0.0f, 0.0f, 0.0f); func_80072488(objectIndex); } @@ -1914,7 +1914,7 @@ void func_800763CC(s32 objectIndex) { s16_step_towards(&temp_s0->type, 0, 0x0018); s16_step_towards(&temp_s0->unk_0A2, 0x0080, 0x000C); } - if ((temp_s0->unk_0AE >= 2) && (func_80073B00(objectIndex, &temp_s0->unk_0A0, 0x000000FF, 0x00000050, 0x00000020, 0, 0) != 0)) { + if ((temp_s0->unk_0AE >= 2) && (func_80073B00(objectIndex, &temp_s0->primAlpha, 0x000000FF, 0x00000050, 0x00000020, 0, 0) != 0)) { func_80072488(objectIndex); } break; @@ -1947,7 +1947,7 @@ void func_80076538(s32 objectIndex) { } if (gObjectList[objectIndex].unk_0AE > 0) { func_80087844(objectIndex); - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); } } @@ -1969,7 +1969,7 @@ void func_8007661C(void) { } if (gObjectList[objectIndex].unk_04C == 0) { func_8008A6DC(objectIndex, 750.0f); - if ((is_obj_index_flag_unk_054_active(objectIndex, 0x00040000) != 0) && (func_80072354(objectIndex, 1) != 0)) { + if ((is_obj_flag_status_active(objectIndex, VISIBLE) != 0) && (func_80072354(objectIndex, 1) != 0)) { func_800722A4(objectIndex, 1); func_800762DC(gObjectList[objectIndex].pos, 1.0f); func_800C9D80(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity, 0x51038009U); @@ -2054,9 +2054,9 @@ void func_80076958(s32 objectIndex) { temp_v0 = &gObjectList[objectIndex]; temp_v0->activeTexture = common_texture_particle_smoke; temp_v0->textureList = common_texture_particle_smoke; - temp_v0->unk_0A0 = 0x00FF; + temp_v0->primAlpha = 0x00FF; set_obj_orientation(objectIndex, 0U, 0U, 0U); - func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f); + set_obj_origin_offset(objectIndex, 0.0f, 0.0f, 0.0f); func_80072488(objectIndex); } @@ -2078,7 +2078,7 @@ void func_800769D8(s32 objectIndex) { case 3: f32_step_towards(&temp_s0->sizeScaling, 2.0f, 0.05f); s16_step_towards(&temp_s0->type, 0, 0x0018); - if ((temp_s0->unk_0AE >= 2) && (func_80073B00(objectIndex, &temp_s0->unk_0A0, 0x000000FF, 0x00000050, 0x00000020, 0, 0) != 0)) { + if ((temp_s0->unk_0AE >= 2) && (func_80073B00(objectIndex, &temp_s0->primAlpha, 0x000000FF, 0x00000050, 0x00000020, 0, 0) != 0)) { func_80072488(objectIndex); } break; @@ -2103,8 +2103,8 @@ void func_80076AEC(s32 objectIndex) { } } if (gObjectList[objectIndex].unk_0AE > 0) { - func_800877C4(objectIndex); - func_8008BF18(objectIndex); + object_add_velocity_offset_y(objectIndex); + object_calculate_new_pos_offset(objectIndex); } } @@ -2112,7 +2112,7 @@ void func_80076B7C(void) { } -void update_particle_bowser_castle(void) { +void update_flame_particle(void) { s32 someIndex; s32 objectIndex; Objects *object; @@ -2139,7 +2139,7 @@ void update_particle_bowser_castle(void) { } } -void func_80076C9C(s32 objectIndex, Vec3f arg1, s16 arg2) { +void init_object_smoke_paticle(s32 objectIndex, Vec3f arg1, s16 arg2) { Objects *temp_v0; init_object(objectIndex, (s32) arg2); @@ -2152,15 +2152,15 @@ void func_80076C9C(s32 objectIndex, Vec3f arg1, s16 arg2) { temp_v0->type = 0x00FF; temp_v0->unk_034 = 0.0f; set_obj_orientation(objectIndex, 0U, 0U, 0U); - func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f); + set_obj_origin_offset(objectIndex, 0.0f, 0.0f, 0.0f); } -void func_80076D70(Vec3f arg0, UNUSED f32 arg1, s16 arg2) { +void init_smoke_particle(Vec3f arg0, UNUSED f32 arg1, s16 arg2) { s32 objectIndex; objectIndex = add_unused_obj_index(gObjectParticle4, &gNextFreeObjectParticle4, gObjectParticle4_SIZE); if (objectIndex != NULL_OBJECT_ID) { - func_80076C9C(objectIndex, arg0, arg2); + init_object_smoke_paticle(objectIndex, arg0, arg2); } } @@ -2177,7 +2177,7 @@ void func_80076E14(s32 objectIndex) { func_80076DC4(objectIndex); break; case 2: - if ((gObjectList[objectIndex].unk_0AE >= 2) && (func_80073B00(objectIndex, &gObjectList[objectIndex].unk_0A0, 0x000000FF, 0x00000050, 0x00000020, 0, 0) != 0)) { + if ((gObjectList[objectIndex].unk_0AE >= 2) && (func_80073B00(objectIndex, &gObjectList[objectIndex].primAlpha, 0x000000FF, 0x00000050, 0x00000020, 0, 0) != 0)) { func_80072488(objectIndex); } break; @@ -2194,7 +2194,7 @@ void func_80076ED8(s32 objectIndex) { if ((gObjectList[objectIndex].unk_0AE != 0) && (gObjectList[objectIndex].unk_0AE == 1)) { func_80086FD4(objectIndex); } - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); } void func_80076F2C(void) { @@ -2217,7 +2217,7 @@ void func_80076F2C(void) { } } -void func_80076FEC(s32 objectIndex, s32 flameIndex) { +void init_object_smoke_particle(s32 objectIndex, s32 flameIndex) { init_object(objectIndex, 3); gObjectList[objectIndex].unk_0D5 = 0xB; @@ -2231,17 +2231,17 @@ void func_80076FEC(s32 objectIndex, s32 flameIndex) { gObjectList[objectIndex].unk_034 = 0; gObjectList[objectIndex].type = 255; gObjectList[objectIndex].unk_0A2 = 255; - gObjectList[objectIndex].unk_0A0 = 255; + gObjectList[objectIndex].primAlpha = 255; set_obj_orientation(objectIndex, 0, 0, 0); - func_8008B80C(objectIndex, 0, 0, 0); + set_obj_origin_offset(objectIndex, 0, 0, 0); } -void func_800770F0(s32 arg0) { +void init_smoke_particles(s32 arg0) { s32 objectIndex; objectIndex = add_unused_obj_index(gObjectParticle4, &gNextFreeObjectParticle4, gObjectParticle4_SIZE); if (objectIndex != NULL_OBJECT_ID) { - func_80076FEC(objectIndex, arg0); + init_object_smoke_particle(objectIndex, arg0); } } @@ -2254,7 +2254,7 @@ void func_80077138(s32 objectIndex, Vec3f arg1, s32 arg2) { gObjectList[objectIndex].sizeScaling = 0.05f; set_obj_origin_pos(objectIndex, arg1[0], arg1[1], arg1[2]); set_obj_orientation(objectIndex, 0U, 0U, 0U); - func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f); + set_obj_origin_offset(objectIndex, 0.0f, 0.0f, 0.0f); switch (arg2) { case 0: gObjectList[objectIndex].velocity[1] = -1.0f; @@ -2287,7 +2287,7 @@ void func_80077138(s32 objectIndex, Vec3f arg1, s32 arg2) { gObjectList[objectIndex].unk_084[4] = temp_v0_3; gObjectList[objectIndex].unk_048 = 1; } - gObjectList[objectIndex].unk_0A0 = 0x00FF; + gObjectList[objectIndex].primAlpha = 0x00FF; gObjectList[objectIndex].unk_084[3] = random_int(0x0800U) + 0x400; if ((gObjectList[objectIndex].direction_angle[1] < 0x3000) || (gObjectList[objectIndex].direction_angle[1] >= 0xB001)) { gObjectList[objectIndex].unk_084[3] = -gObjectList[objectIndex].unk_084[3]; @@ -2320,7 +2320,7 @@ void func_80077450(s32 objectIndex) { break; case 2: f32_step_up_towards(&gObjectList[objectIndex].sizeScaling, 0.1f, 0.01f); - if ((gObjectList[objectIndex].pos[1] <= gObjectList[objectIndex].unk_084[5]) && (func_80073B00(objectIndex, &gObjectList[objectIndex].unk_0A0, 0x000000FF, 0, 0x00000010, 0, 0) != 0)) { + if ((gObjectList[objectIndex].pos[1] <= gObjectList[objectIndex].unk_084[5]) && (func_80073B00(objectIndex, &gObjectList[objectIndex].primAlpha, 0x000000FF, 0, 0x00000010, 0, 0) != 0)) { func_80086F60(objectIndex); func_80072428(objectIndex); } @@ -2348,8 +2348,8 @@ void func_80077584(s32 objectIndex) { } } temp_v0->orientation[2] += temp_v0->unk_084[3]; - func_80087710(objectIndex); - func_8008BF18(objectIndex); + object_add_velocity_offset_xyz(objectIndex); + object_calculate_new_pos_offset(objectIndex); } void func_80077640(void) { @@ -2372,7 +2372,7 @@ void func_80077640(void) { } } -void init_leaf_particle(s32 objectIndex, Vec3f arg1, s32 num) { +void init_object_leaf_particle(s32 objectIndex, Vec3f arg1, s32 num) { UNUSED s32 stackPadding1; UNUSED u16 stackPadding0; u16 temp_s0; @@ -2387,22 +2387,22 @@ void init_leaf_particle(s32 objectIndex, Vec3f arg1, s32 num) { gObjectList[objectIndex].unk_044 = arg1[1]; switch (gCurrentCourseId) { case COURSE_MARIO_RACEWAY: - func_8008BD14(objectIndex, arg1[0], arg1[1] + 25.0, arg1[2], 0x14, 0x1E, 0x14); + object_origin_pos_randomize_around_xyz(objectIndex, arg1[0], arg1[1] + 25.0, arg1[2], 0x14, 0x1E, 0x14); gObjectList[objectIndex].unk_034 = 1.5f; gObjectList[objectIndex].velocity[1] = 1.5f; break; case COURSE_YOSHI_VALLEY: - func_8008BD14(objectIndex, arg1[0], arg1[1] + 25.0, arg1[2], 0x14, 0x1E, 0x14); + object_origin_pos_randomize_around_xyz(objectIndex, arg1[0], arg1[1] + 25.0, arg1[2], 0x14, 0x1E, 0x14); gObjectList[objectIndex].unk_034 = 2.0f; gObjectList[objectIndex].velocity[1] = 2.0f; break; case COURSE_ROYAL_RACEWAY: - func_8008BD14(objectIndex, arg1[0], arg1[1] + 30.0, arg1[2], 0x10, 0x28, 0x10); + object_origin_pos_randomize_around_xyz(objectIndex, arg1[0], arg1[1] + 30.0, arg1[2], 0x10, 0x28, 0x10); gObjectList[objectIndex].unk_034 = 2.0f; gObjectList[objectIndex].velocity[1] = 2.0f; break; case COURSE_LUIGI_RACEWAY: - func_8008BD14(objectIndex, arg1[0], arg1[1] + 25.0, arg1[2], 0x14, 0x1E, 0x14); + object_origin_pos_randomize_around_xyz(objectIndex, arg1[0], arg1[1] + 25.0, arg1[2], 0x14, 0x1E, 0x14); gObjectList[objectIndex].unk_034 = 1.5f; gObjectList[objectIndex].velocity[1] = 1.0f; break; @@ -2414,21 +2414,21 @@ void init_leaf_particle(s32 objectIndex, Vec3f arg1, s32 num) { set_obj_orientation(objectIndex, temp_s0, sp3E, sp3C); } -s32 func_80077A54(Vec3f arg0, s32 num) { +s32 init_leaf_particle(Vec3f arg0, s32 num) { s32 objectIndex; objectIndex = add_unused_obj_index(gLeafParticle, &gNextFreeLeafParticle, gLeafParticle_SIZE); if (objectIndex != NULL_OBJECT_ID) { - init_leaf_particle(objectIndex, arg0, num); + init_object_leaf_particle(objectIndex, arg0, num); } return objectIndex; } -void func_80077AB0(Vec3f arg0, UNUSED s32 arg1) { +void spawn_leaf(Vec3f arg0, UNUSED s32 arg1) { s32 i; for (i = 0; i < gLeafParticle_SPAWN_SIZE; i++) { - if (func_80077A54(arg0, i) == NULL_OBJECT_ID) break; + if (init_leaf_particle(arg0, i) == NULL_OBJECT_ID) break; } } @@ -2469,12 +2469,12 @@ void func_80077BCC(s32 objectIndex) { } break; } - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); gObjectList[objectIndex].orientation[0] += 0x1000; gObjectList[objectIndex].orientation[1] += 0x1000; } -void func_80077C9C(void) { +void update_leaf(void) { s32 someIndex; s32 leafIndex; Objects *object; @@ -2524,9 +2524,9 @@ void func_80077E20(s32 objectIndex) { temp_v0->textureHeight = 0x10; temp_v0->textureWidth = temp_v0->textureHeight; temp_v0->sizeScaling = 0.15f; - set_object_flag_unk_054_true(objectIndex, 0x00000010); + set_object_flag_status_true(objectIndex, 0x00000010); func_80086EF0(objectIndex); - temp_v0->unk_0A0 = 0x00FF; + temp_v0->primAlpha = 0x00FF; temp_v0->unk_0D5 = 0; temp_v0->type = 0; func_80072488(objectIndex); @@ -2537,11 +2537,11 @@ void func_80077EB8(s32 objectIndex, u16 arg1, Camera *camera) { temp_v0 = camera->rot[1] - arg1; if ((temp_v0 >= D_8018D210) || (D_8018D208 >= temp_v0)) { - gObjectList[objectIndex].unk_028[0] = D_8018D218 + (D_8018D1E8 * (f32) temp_v0); - set_object_flag_unk_054_true(objectIndex, 0x00000010); + gObjectList[objectIndex].offset[0] = D_8018D218 + (D_8018D1E8 * (f32) temp_v0); + set_object_flag_status_true(objectIndex, 0x00000010); return; } - set_object_flag_unk_054_false(objectIndex, 0x00000010); + set_object_flag_status_false(objectIndex, 0x00000010); } void func_80077F64(s32 objectIndex, Camera *camera) { @@ -2551,18 +2551,18 @@ void func_80077F64(s32 objectIndex, Camera *camera) { switch (gObjectList[objectIndex].unk_0AE) { /* irregular */ case 1: gObjectList[objectIndex].direction_angle[1] = (camera->rot[1] + random_int(0x4000U)) - 0x2000; - func_8008BAB4(objectIndex, 0x00B4, 0x0014U); + object_origin_pos_randomize_around_y(objectIndex, 0x00B4, 0x0014U); rand = random_int(0x0064U); gObjectList[objectIndex].velocity[1] = (f32) (-0.75 - (f64) (f32) (rand * 0.01)); - gObjectList[objectIndex].unk_028[0] = 0.0f; - gObjectList[objectIndex].unk_028[1] = 0.0f; + gObjectList[objectIndex].offset[0] = 0.0f; + gObjectList[objectIndex].offset[1] = 0.0f; func_80086FD4(objectIndex); return; case 2: func_80077EB8(objectIndex, gObjectList[objectIndex].direction_angle[1], camera); - func_800877C4(objectIndex); - func_8008BF18(objectIndex); + object_add_velocity_offset_y(objectIndex); + object_calculate_new_pos_offset(objectIndex); func_8008BFC0(objectIndex); if (gObjectList[objectIndex].pos[1] <= 0.0f) { func_80086FD4(objectIndex); @@ -2642,8 +2642,8 @@ void func_80078288(s32 objectIndex) { gObjectList[objectIndex].unk_0C4 = random_int(0x0400U) + 0x100; gObjectList[objectIndex].unk_01C[0] = (f32) (((f32) random_int(0x0064U) * 0.03) + 2.0); gObjectList[objectIndex].velocity[1] = (f32) (-0.3 - (f64) (f32) (random_int(0x0032U) * 0.01)); - gObjectList[objectIndex].unk_028[0] = 0.0f; - gObjectList[objectIndex].unk_028[1] = 0.0f; + gObjectList[objectIndex].offset[0] = 0.0f; + gObjectList[objectIndex].offset[1] = 0.0f; func_80086FD4(objectIndex); } else { sp3C = random_int(0x0064U) + 0x28; @@ -2654,16 +2654,16 @@ void func_80078288(s32 objectIndex) { gObjectList[objectIndex].unk_0C4 = random_int(0x0400U) + 0x100; gObjectList[objectIndex].unk_01C[0] = (f32) (((f32) random_int(0x0064U) * 0.03) + 2.0); gObjectList[objectIndex].velocity[1] = (f32) (-0.6 - (f64) (f32) (random_int(0x0032U) * 0.01)); - gObjectList[objectIndex].unk_028[0] = 0.0f; - gObjectList[objectIndex].unk_028[1] = 0.0f; + gObjectList[objectIndex].offset[0] = 0.0f; + gObjectList[objectIndex].offset[1] = 0.0f; func_80086FD4(objectIndex); } break; case 2: - func_800877C4(objectIndex); + object_add_velocity_offset_y(objectIndex); gObjectList[objectIndex].direction_angle[0] += gObjectList[objectIndex].unk_0C4; - gObjectList[objectIndex].unk_028[0] = sins(gObjectList[objectIndex].direction_angle[0]) * gObjectList[objectIndex].unk_01C[0]; - func_8008BF18(objectIndex); + gObjectList[objectIndex].offset[0] = sins(gObjectList[objectIndex].direction_angle[0]) * gObjectList[objectIndex].unk_01C[0]; + object_calculate_new_pos_offset(objectIndex); if ((f64) gObjectList[objectIndex].pos[1] <= 0.0) { func_80086FD4(objectIndex); } @@ -2709,7 +2709,7 @@ void func_80078790(void) { } } -void func_80078838(void) { +void update_snowflakes(void) { s32 someIndex; s32 snowflakeIndex; @@ -2735,10 +2735,10 @@ void func_800788F8(s32 objectIndex, u16 rot, Camera *camera) { temp_v0 = camera->rot[1] + rot; if ((temp_v0 >= D_8018D210) && (D_8018D208 >= temp_v0)) { gObjectList[objectIndex].unk_09C = (D_8018D218 + (D_8018D1E8 * temp_v0)); - set_object_flag_unk_054_true(objectIndex, 0x00000010); + set_object_flag_status_true(objectIndex, 0x00000010); return; } - set_object_flag_unk_054_false(objectIndex, 0x00000010); + set_object_flag_status_false(objectIndex, 0x00000010); } #ifdef MIPS_TO_C @@ -2765,7 +2765,7 @@ void func_800789AC(s32 arg0, Camera *arg1, s16 (*arg2)[4]) { */ } #else -GLOBAL_ASM("asm/non_matchings/code_80071F00/func_800789AC.s") +GLOBAL_ASM("asm/non_matchings/update_objects/func_800789AC.s") #endif typedef struct { @@ -2788,19 +2788,19 @@ void func_80078A44(s32 arg0, Camera *camera, u16 rot[][4]) { func_800788F8(objectIndex, *(u16 *)(rot + i), camera); switch (i % 5U) { case 0: - func_80073CB0(objectIndex, &gObjectList[objectIndex].unk_0A0, 0x00000028, 0x000000B4, 0x000000FF, 0, -1); + func_80073CB0(objectIndex, &gObjectList[objectIndex].primAlpha, 0x00000028, 0x000000B4, 0x000000FF, 0, -1); break; case 1: - func_80073CB0(objectIndex, &gObjectList[objectIndex].unk_0A0, 0x00000080, 0x000000FF, 0x000000FF, 0, -1); + func_80073CB0(objectIndex, &gObjectList[objectIndex].primAlpha, 0x00000080, 0x000000FF, 0x000000FF, 0, -1); break; case 2: - func_80073CB0(objectIndex, &gObjectList[objectIndex].unk_0A0, 0x00000050, 0x000000C8, 0x000000FF, 0, -1); + func_80073CB0(objectIndex, &gObjectList[objectIndex].primAlpha, 0x00000050, 0x000000C8, 0x000000FF, 0, -1); break; case 3: - func_80073CB0(objectIndex, &gObjectList[objectIndex].unk_0A0, 0, 0x0000009B, 0x000000FF, 0, -1); + func_80073CB0(objectIndex, &gObjectList[objectIndex].primAlpha, 0, 0x0000009B, 0x000000FF, 0, -1); break; case 4: - func_80073CB0(objectIndex, &gObjectList[objectIndex].unk_0A0, 0x0000005A, 0x00000080, 0x000000FF, 0, -1); + func_80073CB0(objectIndex, &gObjectList[objectIndex].primAlpha, 0x0000005A, 0x00000080, 0x000000FF, 0, -1); break; } } @@ -2972,7 +2972,7 @@ void func_800791F0(s32 objectIndex, s32 playerId) { func_800C9018(playerId, SOUND_ARG_LOAD(0x01, 0x00, 0xFA, 0x28)); } -void init_obj_laikitu_red_flag_countdown(s32 objectIndex, s32 arg1) { +void init_obj_lakitu_red_flag_countdown(s32 objectIndex, s32 arg1) { if (arg1 == 0) { D_801656F0 = 0; D_8018D168 = 0; @@ -2980,18 +2980,18 @@ void init_obj_laikitu_red_flag_countdown(s32 objectIndex, s32 arg1) { init_texture_object(objectIndex, (u8 *) common_tlut_lakitu_countdown, gTextureLakituNoLights1, 0x38U, (u16) 0x00000048); gObjectList[objectIndex].vertex = D_0D005EB0; gObjectList[objectIndex].sizeScaling = 0.15f; - set_object_flag_unk_054_false(objectIndex, 0x00000010); + set_object_flag_status_false(objectIndex, 0x00000010); func_80072488(objectIndex); gObjectList[objectIndex].unk_048 = D_8018D180; } -void update_obj_laikitu_countdown(s32 objectIndex, s32 arg1) { +void update_object_lakitu_countdown(s32 objectIndex, s32 arg1) { UNUSED s32 pad; switch (gObjectList[objectIndex].state) { case 0: break; case 1: - init_obj_laikitu_red_flag_countdown(objectIndex, arg1); + init_obj_lakitu_red_flag_countdown(objectIndex, arg1); break; case 2: func_8007278C(objectIndex, gObjectList[objectIndex].unk_048); @@ -3000,7 +3000,7 @@ void update_obj_laikitu_countdown(s32 objectIndex, s32 arg1) { } break; case 3: - set_object_flag_unk_054_true(objectIndex, 0x00000010); + set_object_flag_status_true(objectIndex, 0x00000010); func_80086F10(objectIndex, 1, &D_800E67B8); func_80072488(objectIndex); break; @@ -3064,7 +3064,7 @@ void update_obj_laikitu_countdown(s32 objectIndex, s32 arg1) { } } -void init_obj_laikitu_red_flag(s32 objectIndex, s32 playerIndex) { +void init_obj_lakitu_red_flag(s32 objectIndex, s32 playerIndex) { Objects *temp_v0; func_800791F0(objectIndex, playerIndex); @@ -3077,19 +3077,19 @@ void init_obj_laikitu_red_flag(s32 objectIndex, s32 playerIndex) { temp_v0->pos[0] = 5000.0f; temp_v0->sizeScaling = 0.15f; func_80086F10(objectIndex, 2, &D_800E6834); - set_object_flag_unk_054_false(objectIndex, 0x00000010); + set_object_flag_status_false(objectIndex, 0x00000010); func_80072488(objectIndex); } -void update_obj_laikitu_red_flag(s32 objectIndex, s32 playerIndex) { +void update_object_lakitu_red_flag(s32 objectIndex, s32 playerIndex) { switch (gObjectList[objectIndex].state) { case 0: break; case 1: - init_obj_laikitu_red_flag(objectIndex, playerIndex); + init_obj_lakitu_red_flag(objectIndex, playerIndex); break; case 2: - set_object_flag_unk_054_true(objectIndex, 0x00000010); + set_object_flag_status_true(objectIndex, 0x00000010); func_80072488(objectIndex); break; case 3: @@ -3137,19 +3137,19 @@ void func_80079860(s32 playerId) { void func_8007993C(s32 objectIndex, Player *player) { if (player->unk_0CA & 4) { func_800722A4(objectIndex, 2); - gObjectList[objectIndex].unk_0A0 = player->unk_0C6; + gObjectList[objectIndex].primAlpha = player->unk_0C6; return; } func_800722CC(objectIndex, 2); } -void init_obj_laikitu_red_flag_fishing(s32 objectIndex, s32 arg1) { +void init_obj_lakitu_red_flag_fishing(s32 objectIndex, s32 arg1) { func_800791F0(objectIndex, arg1); init_texture_object(objectIndex, common_tlut_lakitu_fishing, gTextureLakituFishing1, 0x38U, (u16) 0x00000048); gObjectList[objectIndex].vertex = D_0D005F30; gObjectList[objectIndex].sizeScaling = 0.15f; func_80086E70(objectIndex); - set_object_flag_unk_054_false(objectIndex, 0x00000010); + set_object_flag_status_false(objectIndex, 0x00000010); func_80073720(objectIndex); func_80072488(objectIndex); func_800C8F80((u8)arg1, 0x0100FA28); @@ -3163,35 +3163,35 @@ void func_80079A5C(s32 objectIndex, UNUSED Player *player) { gObjectList[objectIndex].origin_pos[2] = 0.0f; gObjectList[objectIndex].origin_pos[1] = 0.0f; gObjectList[objectIndex].origin_pos[0] = 0.0f; - gObjectList[objectIndex].unk_028[2] = 0.0f; - gObjectList[objectIndex].unk_028[0] = 0.0f; - gObjectList[objectIndex].unk_028[1] = 80.0f; + gObjectList[objectIndex].offset[2] = 0.0f; + gObjectList[objectIndex].offset[0] = 0.0f; + gObjectList[objectIndex].offset[1] = 80.0f; func_80086FD4(objectIndex); break; case 2: - if (f32_step_down_towards(&gObjectList[objectIndex].unk_028[1], 5.0f, 1.0f) != 0) { + if (f32_step_down_towards(&gObjectList[objectIndex].offset[1], 5.0f, 1.0f) != 0) { func_80086F60(objectIndex); } break; case 3: - if (f32_step_up_towards(&gObjectList[objectIndex].unk_028[1], 100.0f, 1.0f) != 0) { + if (f32_step_up_towards(&gObjectList[objectIndex].offset[1], 100.0f, 1.0f) != 0) { func_80086F60(objectIndex); } break; } } -void update_obj_laikitu_fishing(s32 objectIndex, s32 playerId) { +void update_object_lakitu_fishing(s32 objectIndex, s32 playerId) { Player *player = &gPlayerOne[playerId]; switch (gObjectList[objectIndex].state) { /* switch 1; irregular */ case 0: /* switch 1 */ break; case 1: /* switch 1 */ - init_obj_laikitu_red_flag_fishing(objectIndex, playerId); + init_obj_lakitu_red_flag_fishing(objectIndex, playerId); break; case 2: /* switch 1 */ - set_object_flag_unk_054_true(objectIndex, 0x00000010); + set_object_flag_status_true(objectIndex, 0x00000010); func_800736E0(objectIndex); func_80072488(objectIndex); break; @@ -3235,7 +3235,7 @@ void update_obj_laikitu_fishing(s32 objectIndex, s32 playerId) { func_80079A5C(objectIndex, player); } -void update_obj_laikitu_fishing2(s32 objectIndex, s32 playerId) { +void update_object_lakitu_fishing2(s32 objectIndex, s32 playerId) { Player *temp_s1; @@ -3244,10 +3244,10 @@ void update_obj_laikitu_fishing2(s32 objectIndex, s32 playerId) { case 0: /* switch 1 */ break; case 1: /* switch 1 */ - init_obj_laikitu_red_flag_fishing(objectIndex, playerId); + init_obj_lakitu_red_flag_fishing(objectIndex, playerId); break; case 2: /* switch 1 */ - set_object_flag_unk_054_true(objectIndex, 0x00000010); + set_object_flag_status_true(objectIndex, 0x00000010); func_800736E0(objectIndex); temp_s1->unk_0CA |= 0x80; func_80072488(objectIndex); @@ -3326,12 +3326,12 @@ void func_8007A060(s32 objectIndex, s32 playerIndex) { temp_v0->pos[1] = 5000.0f; temp_v0->pos[0] = 5000.0f; temp_v0->sizeScaling = 0.15f; - set_object_flag_unk_054_false(objectIndex, 0x00000010); + set_object_flag_status_false(objectIndex, 0x00000010); func_80086F10(objectIndex, 5, &D_800E694C); func_80072488(objectIndex); } -void update_obj_laikitu_second_lap(s32 objectIndex, s32 playerIndex) { +void update_object_lakitu_second_lap(s32 objectIndex, s32 playerIndex) { switch (gObjectList[objectIndex].state) { case 0: break; @@ -3339,7 +3339,7 @@ void update_obj_laikitu_second_lap(s32 objectIndex, s32 playerIndex) { func_8007A060(objectIndex, playerIndex); break; case 2: - set_object_flag_unk_054_true(objectIndex, 0x00000010); + set_object_flag_status_true(objectIndex, 0x00000010); func_80072488(objectIndex); break; case 3: @@ -3374,12 +3374,12 @@ void func_8007A228(s32 objectIndex, s32 playerIndex) { temp_v0->pos[1] = 5000.0f; temp_v0->pos[0] = 5000.0f; temp_v0->sizeScaling = 0.15f; - set_object_flag_unk_054_false(objectIndex, 0x00000010); + set_object_flag_status_false(objectIndex, 0x00000010); func_80086F10(objectIndex, 5, &D_800E694C); func_80072488(objectIndex); } -void update_obj_laikitu_final_lap(s32 objectIndex, s32 playerIndex) { +void update_object_lakitu_final_lap(s32 objectIndex, s32 playerIndex) { switch (gObjectList[objectIndex].state) { case 0: break; @@ -3387,7 +3387,7 @@ void update_obj_laikitu_final_lap(s32 objectIndex, s32 playerIndex) { func_8007A228(objectIndex, playerIndex); break; case 2: - set_object_flag_unk_054_true(objectIndex, 0x00000010); + set_object_flag_status_true(objectIndex, 0x00000010); func_80072488(objectIndex); break; case 3: @@ -3420,14 +3420,14 @@ void func_8007A3F0(s32 objectIndex, s32 arg1) { gObjectList[objectIndex].pos[1] = var; gObjectList[objectIndex].pos[0] = var; gObjectList[objectIndex].sizeScaling = 0.15f; - set_object_flag_unk_054_false(objectIndex, 0x00000010); + set_object_flag_status_false(objectIndex, 0x00000010); func_80086F10(objectIndex, 6, &D_800E69B0); gObjectList[objectIndex].unk_0D6 = 0; func_80072488(objectIndex); func_800C8F80((u8)arg1, 0x0100FA28); } -void update_obj_laikitu_reverse(s32 objectIndex, s32 playerId) { +void update_object_lakitu_reverse(s32 objectIndex, s32 playerId) { Player *sp2C = &gPlayerOne[playerId]; switch (gObjectList[objectIndex].state) { @@ -3437,7 +3437,7 @@ void update_obj_laikitu_reverse(s32 objectIndex, s32 playerId) { func_8007A3F0(objectIndex, playerId); break; case 2: - set_object_flag_unk_054_true(objectIndex, 0x00000010); + set_object_flag_status_true(objectIndex, 0x00000010); gObjectList[objectIndex].unk_0D6 = 1; func_80072488(objectIndex); break; @@ -3472,18 +3472,18 @@ void func_8007A66C(s32 objectIndex, Player *player, Camera *camera) { u16 temp_t8; temp_t8 = 0x8000 - camera->rot[1]; - gObjectList[objectIndex].pos[0] = (player->pos[0] + (coss(temp_t8) * (gObjectList[objectIndex].origin_pos[0] + gObjectList[objectIndex].unk_028[0]))) - (sins(temp_t8) * (gObjectList[objectIndex].origin_pos[2] + gObjectList[objectIndex].unk_028[2])); - gObjectList[objectIndex].pos[1] = player->unk_074 + gObjectList[objectIndex].origin_pos[1] + gObjectList[objectIndex].unk_028[1]; - gObjectList[objectIndex].pos[2] = (player->pos[2] + (sins(temp_t8) * (gObjectList[objectIndex].origin_pos[0] + gObjectList[objectIndex].unk_028[0]))) + (coss(temp_t8) * (gObjectList[objectIndex].origin_pos[2] + gObjectList[objectIndex].unk_028[2])); + gObjectList[objectIndex].pos[0] = (player->pos[0] + (coss(temp_t8) * (gObjectList[objectIndex].origin_pos[0] + gObjectList[objectIndex].offset[0]))) - (sins(temp_t8) * (gObjectList[objectIndex].origin_pos[2] + gObjectList[objectIndex].offset[2])); + gObjectList[objectIndex].pos[1] = player->unk_074 + gObjectList[objectIndex].origin_pos[1] + gObjectList[objectIndex].offset[1]; + gObjectList[objectIndex].pos[2] = (player->pos[2] + (sins(temp_t8) * (gObjectList[objectIndex].origin_pos[0] + gObjectList[objectIndex].offset[0]))) + (coss(temp_t8) * (gObjectList[objectIndex].origin_pos[2] + gObjectList[objectIndex].offset[2])); } void func_8007A778(s32 objectIndex, Player *player, Camera *camera) { u16 temp_t8; temp_t8 = 0x8000 - camera->rot[1]; - gObjectList[objectIndex].pos[0] = (player->pos[0] + (coss(temp_t8) * (gObjectList[objectIndex].origin_pos[0] + gObjectList[objectIndex].unk_028[0]))) - (sins(temp_t8) * (gObjectList[objectIndex].origin_pos[2] + gObjectList[objectIndex].unk_028[2])); - gObjectList[objectIndex].pos[1] = player->pos[1] + gObjectList[objectIndex].origin_pos[1] + gObjectList[objectIndex].unk_028[1]; - gObjectList[objectIndex].pos[2] = (player->pos[2] + (sins(temp_t8) * (gObjectList[objectIndex].origin_pos[0] + gObjectList[objectIndex].unk_028[0]))) + (coss(temp_t8) * (gObjectList[objectIndex].origin_pos[2] + gObjectList[objectIndex].unk_028[2])); + gObjectList[objectIndex].pos[0] = (player->pos[0] + (coss(temp_t8) * (gObjectList[objectIndex].origin_pos[0] + gObjectList[objectIndex].offset[0]))) - (sins(temp_t8) * (gObjectList[objectIndex].origin_pos[2] + gObjectList[objectIndex].offset[2])); + gObjectList[objectIndex].pos[1] = player->pos[1] + gObjectList[objectIndex].origin_pos[1] + gObjectList[objectIndex].offset[1]; + gObjectList[objectIndex].pos[2] = (player->pos[2] + (sins(temp_t8) * (gObjectList[objectIndex].origin_pos[0] + gObjectList[objectIndex].offset[0]))) + (coss(temp_t8) * (gObjectList[objectIndex].origin_pos[2] + gObjectList[objectIndex].offset[2])); } UNUSED void func_8007A884(void) { @@ -3509,37 +3509,37 @@ void func_8007A910(s32 arg0) { func_80079860(arg0); } -void update_obj_laikitu(s32 playerId) { +void update_object_lakitu(s32 playerId) { s32 objectIndex = gIndexLakituList[playerId]; switch (gObjectList[objectIndex].unk_0D8) { case 0: break; case 1: - update_obj_laikitu_countdown(objectIndex, playerId); + update_object_lakitu_countdown(objectIndex, playerId); func_8008BFFC(objectIndex); break; case 2: - update_obj_laikitu_red_flag(objectIndex, playerId); + update_object_lakitu_red_flag(objectIndex, playerId); func_8008BFFC(objectIndex); break; case 3: - update_obj_laikitu_fishing(objectIndex, playerId); + update_object_lakitu_fishing(objectIndex, playerId); break; case 4: - update_obj_laikitu_second_lap(objectIndex, playerId); + update_object_lakitu_second_lap(objectIndex, playerId); func_8008BFFC(objectIndex); break; case 5: - update_obj_laikitu_final_lap(objectIndex, playerId); + update_object_lakitu_final_lap(objectIndex, playerId); func_8008BFFC(objectIndex); break; case 6: - update_obj_laikitu_reverse(objectIndex, playerId); + update_object_lakitu_reverse(objectIndex, playerId); func_8008BFFC(objectIndex); break; case 7: - update_obj_laikitu_fishing2(objectIndex, playerId); + update_object_lakitu_fishing2(objectIndex, playerId); break; } } @@ -3754,7 +3754,7 @@ s32 func_8007B040(s32 objectIndex, s32 playerId) { return var_t3; } #else -GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007B040.s") +GLOBAL_ASM("asm/non_matchings/update_objects/func_8007B040.s") #endif void func_8007B254(s32 objectIndex, s32 arg1) { @@ -3990,7 +3990,7 @@ void func_8007BBBC(s32 objectIndex) { switch (temp_s1->state) { /* irregular */ case 1: func_800735BC(objectIndex, d_course_banshee_boardwalk_dl_cheep_cheep, 2.0f); - set_object_flag_unk_054_true(objectIndex, 0x00000010); + set_object_flag_status_true(objectIndex, 0x00000010); temp_s1->unk_0D5 = 0; break; case 2: @@ -4027,14 +4027,14 @@ void func_8007BD04(s32 playerId) { } } -void func_8007BDA8(void) { +void update_cheep_cheep_race(void) { UNUSED s32 pad; s32 objectIndex; func_8007BD04(0); objectIndex = indexObjectList2[0]; func_8007BBBC(objectIndex); - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); } void init_var_cheep_cheep(s32 objectIndex) { @@ -4042,12 +4042,12 @@ void init_var_cheep_cheep(s32 objectIndex) { temp_v0 = &gObjectList[objectIndex]; temp_v0->unk_0D5 = 1; - temp_v0->unk_054 = 0; + temp_v0->status = 0; temp_v0->model = d_course_banshee_boardwalk_dl_cheep_cheep; temp_v0->sizeScaling = 0.2f; func_80072488(objectIndex); set_obj_origin_pos(objectIndex, D_800E634C[0][0], D_800E634C[0][1] + 55.0, D_800E634C[0][2]); - func_8008B80C(objectIndex, 0.0f, 30.0f, 0.0f); + set_obj_origin_offset(objectIndex, 0.0f, 30.0f, 0.0f); set_obj_direction_angle(objectIndex, 0U, 0x3800U, 0U); } @@ -4061,7 +4061,7 @@ void func_8007BEC8(s32 objectIndex) { break; case 2: if (func_8007278C(objectIndex, 0x0000003C) != 0) { - set_object_flag_unk_054_true(objectIndex, 0x00000010); + set_object_flag_status_true(objectIndex, 0x00000010); func_80086E70(objectIndex); } break; @@ -4095,8 +4095,8 @@ void func_8007BFB0(s32 objectIndex) { break; case 1: temp_s0->velocity[1] = -0.2f; - if ((f64) temp_s0->unk_028[1] <= 0.0) { - temp_s0->unk_028[1] = 0.0f; + if ((f64) temp_s0->offset[1] <= 0.0) { + temp_s0->offset[1] = 0.0f; temp_s0->velocity[1] = 0.0f; func_80086F60(objectIndex); } @@ -4141,7 +4141,7 @@ void func_8007BFB0(s32 objectIndex) { case 7: temp_s0->sizeScaling = (f32) ((f64) temp_s0->sizeScaling - 0.05); if ((f64) temp_s0->sizeScaling <= 0.01) { - set_object_flag_unk_054_false(objectIndex, 0x00000010); + set_object_flag_status_false(objectIndex, 0x00000010); temp_s0->sizeScaling = 0.000001f; func_80086FD4(objectIndex); } @@ -4153,11 +4153,11 @@ void func_8007BFB0(s32 objectIndex) { if (temp_s0->unk_0AE < 0xA) { func_80074344(objectIndex, &temp_s0->sizeScaling, 0.2f, 0.21f, 0.001f, 0, -1); } - func_800877C4(objectIndex); - func_8008BF18(objectIndex); + object_add_velocity_offset_y(objectIndex); + object_calculate_new_pos_offset(objectIndex); } -void func_8007C280(void) { +void update_cheep_cheep_ending(void) { s32 objectIndex; objectIndex = indexObjectList2[0]; @@ -4171,19 +4171,19 @@ void func_8007C280(void) { } } -void func_8007C2F8(s32 arg0) { +void update_cheep_cheep(s32 arg0) { switch (arg0) { case 0: - func_8007BDA8(); + update_cheep_cheep_race(); break; case 1: - func_8007C280(); + update_cheep_cheep_ending(); break; } } -void func_8007C340(void) { - func_8007CC00(); +void wrapper_update_boos(void) { + update_boos(); } #ifdef MIPS_TO_C @@ -4206,17 +4206,17 @@ void func_8007C360(s32 objectIndex, Camera *camera) { if (temp_t2 < 0x13) { sp20 = temp_a2; sp1C = temp_t2; - set_object_flag_unk_054_false(objectIndex, 0x00000080); + set_object_flag_status_false(objectIndex, 0x00000080); temp_a2->itemDisplay = (s8) sp1C; return; } sp20 = temp_a2; sp1C = temp_t2; - set_object_flag_unk_054_true(objectIndex, 0x00000080); + set_object_flag_status_true(objectIndex, 0x00000080); temp_a2->itemDisplay = 0x24 - temp_t2; } #else -GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007C360.s") +GLOBAL_ASM("asm/non_matchings/update_objects/func_8007C360.s") #endif void func_8007C420(s32 objectIndex, Player *player, Camera *camera) { @@ -4253,17 +4253,17 @@ void func_8007C4A4(s32 objectIndex) { if (temp_t0 < 0x13) { sp20 = temp_v1; sp1C = temp_t0; - set_object_flag_unk_054_false(objectIndex, 0x00000080); + set_object_flag_status_false(objectIndex, 0x00000080); temp_v1->itemDisplay = (s8) sp1C; return; } sp20 = temp_v1; sp1C = temp_t0; - set_object_flag_unk_054_true(objectIndex, 0x00000080); + set_object_flag_status_true(objectIndex, 0x00000080); temp_v1->itemDisplay = 0x24 - temp_t0; } #else -GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007C4A4.s") +GLOBAL_ASM("asm/non_matchings/update_objects/func_8007C4A4.s") #endif void func_8007C550(s32 objectIndex) { @@ -4279,15 +4279,15 @@ void func_8007C5B4(s32 objectIndex) { temp_s0->pos[0] = 0.0f; temp_s0->pos[1] = 0.0f; temp_s0->pos[2] = 0.0f; - set_object_flag_unk_054_true(objectIndex, 0x00000020); + set_object_flag_status_true(objectIndex, 0x00000020); func_80072488(objectIndex); - temp_s0->unk_0A0 = 0; + temp_s0->primAlpha = 0; func_80073844(objectIndex); temp_s0->sizeScaling = 0.15f; temp_s0->unk_034 = 1.0f; func_80073FD4(objectIndex); func_80086EF0(objectIndex); - set_object_flag_unk_054_true(objectIndex, 0x00000800); + set_object_flag_status_true(objectIndex, 0x00000800); temp_s0->orientation[0] = 0; temp_s0->orientation[2] = 0x8000; } @@ -4305,13 +4305,13 @@ void func_8007C684(s32 objectIndex) { case 0: break; case 1: - func_80073998(objectIndex, &gObjectList[objectIndex].unk_0A0, 0, 0x00000050, 2, 1, 0); + func_80073998(objectIndex, &gObjectList[objectIndex].primAlpha, 0, 0x00000050, 2, 1, 0); break; case 2: - func_80073CB0(objectIndex, &gObjectList[objectIndex].unk_0A0, 0x00000050, 0x00000078, 1, 0, -1); + func_80073CB0(objectIndex, &gObjectList[objectIndex].primAlpha, 0x00000050, 0x00000078, 1, 0, -1); break; case 3: - func_80073DC0(objectIndex, &gObjectList[objectIndex].unk_0A0, 0, 2); + func_80073DC0(objectIndex, &gObjectList[objectIndex].primAlpha, 0, 2); break; case 4: func_80072428(objectIndex); @@ -4438,7 +4438,7 @@ void func_8007CA70(void) { } } -void func_8007CC00(void) { +void update_boos(void) { u16 temp_t4; s32 someIndex; s32 objectIndex; @@ -4456,11 +4456,11 @@ void func_8007CC00(void) { player = &gPlayerOne[object->unk_0D1]; camera = &camera1[object->unk_0D1]; temp_t4 = (0x8000 - camera->rot[1]); - object->pos[0] = player->pos[0] + (coss(temp_t4) * (object->origin_pos[0] + object->unk_028[0])) - (sins(temp_t4) * (object->origin_pos[2] + object->unk_028[2])); - object->pos[1] = 6.5 + player->unk_074 + object->origin_pos[1] + object->unk_028[1]; - object->pos[2] = player->pos[2] + (sins(temp_t4) * (object->origin_pos[0] + object->unk_028[0])) + (coss(temp_t4) * (object->origin_pos[2] + object->unk_028[2])); + object->pos[0] = player->pos[0] + (coss(temp_t4) * (object->origin_pos[0] + object->offset[0])) - (sins(temp_t4) * (object->origin_pos[2] + object->offset[2])); + object->pos[1] = 6.5 + player->unk_074 + object->origin_pos[1] + object->offset[1]; + object->pos[2] = player->pos[2] + (sins(temp_t4) * (object->origin_pos[0] + object->offset[0])) + (coss(temp_t4) * (object->origin_pos[2] + object->offset[2])); func_8007C550(objectIndex); - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00000080) != 0) { + if (is_obj_flag_status_active(objectIndex, 0x00000080) != 0) { object->vertex = D_800E44B0; } else { object->vertex = D_800E4470; @@ -4480,7 +4480,7 @@ void func_8007CE0C(s32 objectIndex) { temp_s0->pos[2] = 0.0f; temp_s0->sizeScaling = 0.15f; func_80072488(objectIndex); - temp_s0->unk_0A0 = 0; + temp_s0->primAlpha = 0; func_80073844(objectIndex); func_80086EF0(objectIndex); temp_s0->direction_angle[2] = 0x8000; @@ -4514,16 +4514,16 @@ void func_8007CEDC(s32 objectIndex) { func_80073514(objectIndex); switch (temp_s0->unk_0DC) { /* switch 2 */ case 1: /* switch 2 */ - func_80073998(objectIndex, &temp_s0->unk_0A0, 0x00000028, 0x00000050, 4, 0, 0); + func_80073998(objectIndex, &temp_s0->primAlpha, 0x00000028, 0x00000050, 4, 0, 0); break; case 2: /* switch 2 */ - func_80073CB0(objectIndex, &temp_s0->unk_0A0, 0x00000050, 0x000000B4, 2, 0, -1); + func_80073CB0(objectIndex, &temp_s0->primAlpha, 0x00000050, 0x000000B4, 2, 0, -1); if ((temp_s0->unk_0AE == 0) || (temp_s0->state == 3)) { temp_s0->unk_0DC += 1; } break; case 3: /* switch 2 */ - func_80073DC0(objectIndex, &temp_s0->unk_0A0, 0, 4); + func_80073DC0(objectIndex, &temp_s0->primAlpha, 0, 4); break; case 4: /* switch 2 */ func_80073884(objectIndex); @@ -4572,11 +4572,11 @@ void func_8007D070(void) { if (gObjectList[objectIndex].state != 0) { func_8007CEDC(objectIndex); func_8008B724(objectIndex); - gObjectList[objectIndex].pos[0] = gObjectList[objectIndex].origin_pos[0] + gObjectList[objectIndex].unk_028[0]; - gObjectList[objectIndex].pos[1] = D_8018CF1C->unk_074 + gObjectList[objectIndex].origin_pos[1] + gObjectList[objectIndex].unk_028[1]; - gObjectList[objectIndex].pos[2] = gObjectList[objectIndex].origin_pos[2] + gObjectList[objectIndex].unk_028[2]; + gObjectList[objectIndex].pos[0] = gObjectList[objectIndex].origin_pos[0] + gObjectList[objectIndex].offset[0]; + gObjectList[objectIndex].pos[1] = D_8018CF1C->unk_074 + gObjectList[objectIndex].origin_pos[1] + gObjectList[objectIndex].offset[1]; + gObjectList[objectIndex].pos[2] = gObjectList[objectIndex].origin_pos[2] + gObjectList[objectIndex].offset[2]; func_8007C420(objectIndex, D_8018CF1C, D_8018CF14); - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00000080) != 0) { + if (is_obj_flag_status_active(objectIndex, 0x00000080) != 0) { gObjectList[objectIndex].vertex = D_800E44B0; } else { gObjectList[objectIndex].vertex = D_800E4470; @@ -4606,9 +4606,9 @@ void func_8007D360(s32 objectIndex, s32 arg1) { gObjectList[objectIndex].direction_angle[0] = 0; gObjectList[objectIndex].unk_0C6 = 0; } - gObjectList[objectIndex].direction_angle[1] = func_80041770(gObjectList[objectIndex].origin_pos[0], gObjectList[objectIndex].unk_01C[0], gObjectList[objectIndex].origin_pos[2], gObjectList[objectIndex].unk_01C[2]); + gObjectList[objectIndex].direction_angle[1] = get_angle_between_xy(gObjectList[objectIndex].origin_pos[0], gObjectList[objectIndex].unk_01C[0], gObjectList[objectIndex].origin_pos[2], gObjectList[objectIndex].unk_01C[2]); gObjectList[objectIndex].direction_angle[2] = 0; - func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f); + set_obj_origin_offset(objectIndex, 0.0f, 0.0f, 0.0f); gObjectList[objectIndex].unk_0B0 = 0; if (gCCSelection < CC_150) { gObjectList[objectIndex].unk_034 = (random_int(4U) + 4.0); @@ -4625,7 +4625,7 @@ void func_8007D6A8(s32 objectIndex, s32 arg1) { temp_v0->unk_0D5 = 0x0D; func_8007D360(objectIndex, arg1); temp_v0->sizeScaling = 0.1f; - set_object_flag_unk_054_true(objectIndex, 0x00000200); + set_object_flag_status_true(objectIndex, 0x00000200); temp_v0->boundingBoxSize = 3; } @@ -4659,7 +4659,7 @@ s32 func_8007D804(s32 objectIndex) { someCount = 0; for (loopIndex = 0; loopIndex < gPlayerCountSelection1; loopIndex++) { - if (func_8008A140(objectIndex, &camera1[loopIndex], 0x4000U) != 0) { + if (is_object_visible_on_camera(objectIndex, &camera1[loopIndex], 0x4000U) != 0) { someCount += 1; } } @@ -4705,7 +4705,7 @@ void func_8007D8D4(s32 objectIndex, s32 arg1) { void func_8007DA4C(s32 objectIndex) { func_8008781C(objectIndex); - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); } void func_8007DA74(s32 objectIndex) { @@ -4717,7 +4717,7 @@ void func_8007DA74(s32 objectIndex) { } gObjectList[objectIndex].direction_angle[0] = func_800417B4(gObjectList[objectIndex].direction_angle[0], gObjectList[objectIndex].unk_0C6); func_80087844(objectIndex); - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); } void func_8007DAF8(s32 objectIndex, s32 arg1) { @@ -4731,7 +4731,7 @@ void func_8007DAF8(s32 objectIndex, s32 arg1) { } } -void func_8007DB44(void) { +void update_bat(void) { s32 var_s2; s32 temp_s0; Objects *temp_s1; @@ -4746,8 +4746,8 @@ void func_8007DB44(void) { func_80072E54(temp_s0, 0, 3, 1, 0, -1); func_80073514(temp_s0); temp_s1 = &gObjectList[temp_s0]; - func_80073CB0(temp_s0, &temp_s1->unk_0A0, -0x00001000, 0x00001000, 0x00000400, 0, -1); - temp_s1->orientation[2] = temp_s1->unk_0A0 + 0x8000; + func_80073CB0(temp_s0, &temp_s1->primAlpha, -0x00001000, 0x00001000, 0x00000400, 0, -1); + temp_s1->orientation[2] = temp_s1->primAlpha + 0x8000; if ((D_8018CFB0 != 0) || (D_8018CFC8 != 0)) { D_8018CFD8 = 0; for (var_s2 = 0; var_s2 < 40; var_s2++) { @@ -4814,7 +4814,7 @@ void func_8007DDC0(s32 objectIndex) { sp2C = 1150.0f; } func_8008A6DC(objectIndex, sp2C); - if ((is_obj_index_flag_unk_054_active(objectIndex, 0x00040000) != 0) && (func_80072354(objectIndex, 1) != 0)) { + if ((is_obj_flag_status_active(objectIndex, VISIBLE) != 0) && (func_80072354(objectIndex, 1) != 0)) { func_800722A4(objectIndex, 1); func_800C9D80(temp_s0->pos, temp_s0->velocity, SOUND_ARG_LOAD(0x51, 0x02, 0x80, 0x06)); func_800726CC(objectIndex, 3); @@ -4874,8 +4874,8 @@ void func_8007E00C(s32 objectIndex) { func_8007D714(1); } } - func_80073CB0(objectIndex, &gObjectList[objectIndex].unk_0A0, -0x00002000, 0, 0x00000400, 0, -1); - gObjectList[objectIndex].orientation[2] = gObjectList[objectIndex].unk_0A0; + func_80073CB0(objectIndex, &gObjectList[objectIndex].primAlpha, -0x00002000, 0, 0x00000400, 0, -1); + gObjectList[objectIndex].orientation[2] = gObjectList[objectIndex].primAlpha; if (gObjectList[objectIndex].unk_084[7] == 0) { func_800C98B8(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x90, 0x4E)); gObjectList[objectIndex].unk_084[7] = 0x0014; @@ -4902,7 +4902,7 @@ void func_8007E00C(s32 objectIndex) { } } -void func_8007E1AC(void) { +void update_trash_bin(void) { s32 objectIndex = indexObjectList1[1]; func_8007E00C(objectIndex); if (gModeSelection != TIME_TRIALS) { @@ -4932,7 +4932,7 @@ void func_8007E1F4(s32 objectIndex) { sp2C = 700.0f; } func_8008A6DC(objectIndex, sp2C); - if ((is_obj_index_flag_unk_054_active(objectIndex, 0x00040000) != 0) && (func_80072354(objectIndex, 1) != 0)) { + if ((is_obj_flag_status_active(objectIndex, VISIBLE) != 0) && (func_80072354(objectIndex, 1) != 0)) { func_800722A4(objectIndex, 1); func_800C9D80(temp_s0->pos, temp_s0->velocity, SOUND_ARG_LOAD(0x51, 0x02, 0x80, 0x06)); func_800726CC(objectIndex, 3); @@ -5031,26 +5031,26 @@ s32 func_8007E59C(s32 objectIndex) { void func_8007E63C(s32 objectIndex) { switch (gObjectList[objectIndex].state) { /* irregular */ case 0x32: - if (f32_step_up_towards(&gObjectList[objectIndex].unk_028[1], gObjectList[objectIndex].unk_01C[1] + 15.0, 1.5f) != 0) { - set_object_flag_unk_054_true(objectIndex, 0x00000200); + if (f32_step_up_towards(&gObjectList[objectIndex].offset[1], gObjectList[objectIndex].unk_01C[1] + 15.0, 1.5f) != 0) { + set_object_flag_status_true(objectIndex, 0x00000200); func_800722A4(objectIndex, 1); func_800722CC(objectIndex, 2); func_80072488(objectIndex); } break; case 0x33: - if (f32_step_down_towards(&gObjectList[objectIndex].unk_028[1], 0.0f, 2.0f) != 0) { - if (gObjectList[objectIndex].unk_028[1] >= 16.0f) { + if (f32_step_down_towards(&gObjectList[objectIndex].offset[1], 0.0f, 2.0f) != 0) { + if (gObjectList[objectIndex].offset[1] >= 16.0f) { gObjectList[objectIndex].itemDisplay = 0; - } else if (gObjectList[objectIndex].unk_028[1] >= 8.0f) { + } else if (gObjectList[objectIndex].offset[1] >= 8.0f) { gObjectList[objectIndex].itemDisplay = 1; } else { gObjectList[objectIndex].itemDisplay = 2; } func_800722CC(objectIndex, 1); - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00010000) != 0) { + if (is_obj_flag_status_active(objectIndex, 0x00010000) != 0) { func_800722A4(objectIndex, 0x00000010); - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00040000) != 0) { + if (is_obj_flag_status_active(objectIndex, VISIBLE) != 0) { func_800722A4(objectIndex, 0x00000020); } } @@ -5068,13 +5068,13 @@ void func_8007E63C(s32 objectIndex) { func_80072AAC(objectIndex, 2, 0x00000032); break; case 0x36: - if (gObjectList[objectIndex].unk_028[1] >= 20.0f) { + if (gObjectList[objectIndex].offset[1] >= 20.0f) { gObjectList[objectIndex].itemDisplay = 0; - } else if (gObjectList[objectIndex].unk_028[1] >= 18.0f) { + } else if (gObjectList[objectIndex].offset[1] >= 18.0f) { gObjectList[objectIndex].itemDisplay = 1; } - if (f32_step_up_towards(&gObjectList[objectIndex].unk_028[1], gObjectList[objectIndex].unk_01C[1], 0.5f) != 0) { - set_object_flag_unk_054_false(objectIndex, 0x00000200); + if (f32_step_up_towards(&gObjectList[objectIndex].offset[1], gObjectList[objectIndex].unk_01C[1], 0.5f) != 0) { + set_object_flag_status_false(objectIndex, 0x00000200); func_8007266C(objectIndex); } break; @@ -5085,15 +5085,15 @@ void func_8007E63C(s32 objectIndex) { func_8007278C(objectIndex, 0x0000001E); break; case 0x66: - if (f32_step_up_towards(&gObjectList[objectIndex].unk_028[1], 20.0f, 1.5f) != 0) { + if (f32_step_up_towards(&gObjectList[objectIndex].offset[1], 20.0f, 1.5f) != 0) { func_80072488(objectIndex); } break; case 0x67: - if (f32_step_down_towards(&gObjectList[objectIndex].unk_028[1], 0.0f, 1.5f) != 0) { - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00020000) != 0) { + if (f32_step_down_towards(&gObjectList[objectIndex].offset[1], 0.0f, 1.5f) != 0) { + if (is_obj_flag_status_active(objectIndex, 0x00020000) != 0) { func_800722A4(objectIndex, 0x00000010); - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00040000) != 0) { + if (is_obj_flag_status_active(objectIndex, VISIBLE) != 0) { func_800722A4(objectIndex, 0x00000020); } } @@ -5101,15 +5101,15 @@ void func_8007E63C(s32 objectIndex) { } break; case 0x68: - if (f32_step_up_towards(&gObjectList[objectIndex].unk_028[1], 12.0f, 1.5f) != 0) { + if (f32_step_up_towards(&gObjectList[objectIndex].offset[1], 12.0f, 1.5f) != 0) { func_80072488(objectIndex); } break; case 0x69: - if (f32_step_down_towards(&gObjectList[objectIndex].unk_028[1], 0.0f, 1.5f) != 0) { - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00020000) != 0) { + if (f32_step_down_towards(&gObjectList[objectIndex].offset[1], 0.0f, 1.5f) != 0) { + if (is_obj_flag_status_active(objectIndex, 0x00020000) != 0) { func_800722A4(objectIndex, 0x00000010); - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00040000) != 0) { + if (is_obj_flag_status_active(objectIndex, VISIBLE) != 0) { func_800722A4(objectIndex, 0x00000020); } } @@ -5123,20 +5123,20 @@ void func_8007E63C(s32 objectIndex) { } break; case 0x6B: - if (gObjectList[objectIndex].unk_028[1] >= 22.0f) { + if (gObjectList[objectIndex].offset[1] >= 22.0f) { gObjectList[objectIndex].itemDisplay = 0; - } else if (gObjectList[objectIndex].unk_028[1] >= 20.0f) { + } else if (gObjectList[objectIndex].offset[1] >= 20.0f) { gObjectList[objectIndex].itemDisplay = 1; - } else if (gObjectList[objectIndex].unk_028[1] >= 18.0f) { + } else if (gObjectList[objectIndex].offset[1] >= 18.0f) { gObjectList[objectIndex].itemDisplay = 2; - } else if (gObjectList[objectIndex].unk_028[1] >= 16.0f) { + } else if (gObjectList[objectIndex].offset[1] >= 16.0f) { gObjectList[objectIndex].itemDisplay = 3; - } else if (gObjectList[objectIndex].unk_028[1] >= 14.0f) { + } else if (gObjectList[objectIndex].offset[1] >= 14.0f) { gObjectList[objectIndex].itemDisplay = 4; } else { func_800730BC(objectIndex, 3, 5, 1, 6, -1); } - if (f32_step_up_towards(&gObjectList[objectIndex].unk_028[1], gObjectList[objectIndex].unk_01C[1], 0.5f) != 0) { + if (f32_step_up_towards(&gObjectList[objectIndex].offset[1], gObjectList[objectIndex].unk_01C[1], 0.5f) != 0) { set_object_unk_0CB(objectIndex, 0); func_80072488(objectIndex); } @@ -5144,7 +5144,7 @@ void func_8007E63C(s32 objectIndex) { case 0x6C: if (func_8007278C(objectIndex, 0x00000064) != 0) { func_800722CC(objectIndex, 2); - set_object_flag_unk_054_false(objectIndex, 0x00000200); + set_object_flag_status_false(objectIndex, 0x00000200); func_8007266C(objectIndex); } break; @@ -5170,7 +5170,7 @@ void func_8007EC30(s32 objectIndex) { temp_s1 = &gObjectList[objectIndex]; temp_s1->unk_044 = 0.0f; temp_s1->origin_pos[1] = 0.0f; - func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f); + set_obj_origin_offset(objectIndex, 0.0f, 0.0f, 0.0f); if (gIsMirrorMode != 0) { set_obj_direction_angle(objectIndex, 0U, 0x4000U, 0U); set_obj_orientation(objectIndex, 0U, 0x4000U, 0U); @@ -5183,7 +5183,7 @@ void func_8007EC30(s32 objectIndex) { temp_s1->boundingBoxSize = 0x000C; temp_s1->sizeScaling = 1.0f; temp_s1->unk_01C[1] = 30.0f; - set_object_flag_unk_054_true(objectIndex, 0x05000220); + set_object_flag_status_true(objectIndex, 0x05000220); temp_s1->type = 0; temp_s1->unk_0DF = 6; func_800724DC(objectIndex); @@ -5213,7 +5213,7 @@ void func_8007ED6C(s32 objectIndex) { break; } func_8007E63C(objectIndex); - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); gObjectList[objectIndex].direction_angle[1] = gObjectList[objectIndex].orientation[1]; func_80073514(objectIndex); } @@ -5226,13 +5226,13 @@ void func_8007EE5C(s32 objectIndex) { temp_s0->sizeScaling = 1.0f; temp_s0->model = d_course_bowsers_castle_dl_thwomp; temp_s0->boundingBoxSize = 0x000C; - set_object_flag_unk_054_true(objectIndex, 0x04000220); + set_object_flag_status_true(objectIndex, 0x04000220); temp_s0->type = 0; temp_s0->unk_0DF = 6; func_80086E70(objectIndex); temp_s0->unk_044 = 0.0f; temp_s0->origin_pos[1] = 0.0f; - func_8008B80C(objectIndex, 0.0f, 20.0f, 0.0f); + set_obj_origin_offset(objectIndex, 0.0f, 20.0f, 0.0f); temp_s0->unk_01C[1] = 20.0f; if (gIsMirrorMode != 0) { set_obj_direction_angle(objectIndex, 0U, 0x4000U, 0U); @@ -5242,7 +5242,7 @@ void func_8007EE5C(s32 objectIndex) { set_obj_orientation(objectIndex, 0U, 0xC000U, 0U); } temp_s0->unk_0AE = 1; - if (temp_s0->unk_0A0 == 0) { + if (temp_s0->primAlpha == 0) { temp_s0->unk_0DD = 1; } else { temp_s0->unk_0DD = 2; @@ -5259,7 +5259,7 @@ void func_8007EFBC(s32 objectIndex) { } break; case 2: - if (f32_step_towards(gObjectList[objectIndex].unk_028, gObjectList[objectIndex].unk_01C[0], 4.0f) != 0) { + if (f32_step_towards(gObjectList[objectIndex].offset, gObjectList[objectIndex].unk_01C[0], 4.0f) != 0) { func_80086FD4(objectIndex); } break; @@ -5275,7 +5275,7 @@ void func_8007EFBC(s32 objectIndex) { } break; case 6: - if (f32_step_down_towards(&gObjectList[objectIndex].unk_028[2], -100.0f, 2.0f) != 0) { + if (f32_step_down_towards(&gObjectList[objectIndex].offset[2], -100.0f, 2.0f) != 0) { func_80086FD4(objectIndex); } break; @@ -5291,7 +5291,7 @@ void func_8007EFBC(s32 objectIndex) { } break; case 10: - if (f32_step_towards(gObjectList[objectIndex].unk_028, 0.0f, 4.0f) != 0) { + if (f32_step_towards(gObjectList[objectIndex].offset, 0.0f, 4.0f) != 0) { func_80086FD4(objectIndex); } break; @@ -5307,7 +5307,7 @@ void func_8007EFBC(s32 objectIndex) { } break; case 14: - if (f32_step_up_towards(&gObjectList[objectIndex].unk_028[2], 0.0f, 2.0f) != 0) { + if (f32_step_up_towards(&gObjectList[objectIndex].offset[2], 0.0f, 2.0f) != 0) { func_80086FD4(objectIndex); } break; @@ -5335,7 +5335,7 @@ void func_8007F280(s32 objectIndex) { } break; case 2: - if (f32_step_towards(gObjectList[objectIndex].unk_028, gObjectList[objectIndex].unk_01C[0], 4.0f) != 0) { + if (f32_step_towards(gObjectList[objectIndex].offset, gObjectList[objectIndex].unk_01C[0], 4.0f) != 0) { func_80086FD4(objectIndex); } break; @@ -5351,7 +5351,7 @@ void func_8007F280(s32 objectIndex) { } break; case 6: - if (f32_step_up_towards(&gObjectList[objectIndex].unk_028[2], 100.0f, 2.0f) != 0) { + if (f32_step_up_towards(&gObjectList[objectIndex].offset[2], 100.0f, 2.0f) != 0) { func_80086FD4(objectIndex); } break; @@ -5367,7 +5367,7 @@ void func_8007F280(s32 objectIndex) { } break; case 10: - if (f32_step_towards(gObjectList[objectIndex].unk_028, 0.0f, 4.0f) != 0) { + if (f32_step_towards(gObjectList[objectIndex].offset, 0.0f, 4.0f) != 0) { func_80086FD4(objectIndex); } break; @@ -5383,7 +5383,7 @@ void func_8007F280(s32 objectIndex) { } break; case 14: - if (f32_step_down_towards(&gObjectList[objectIndex].unk_028[2], 0.0f, 2.0f) != 0) { + if (f32_step_down_towards(&gObjectList[objectIndex].offset[2], 0.0f, 2.0f) != 0) { func_80086FD4(objectIndex); } break; @@ -5431,7 +5431,7 @@ void func_8007F5A8(s32 objectIndex) { } func_8007E63C(objectIndex); func_8007F544(objectIndex); - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); func_80073514(objectIndex); } @@ -5525,11 +5525,11 @@ void func_8007FA08(s32 objectIndex) { temp_s0->model = d_course_bowsers_castle_dl_thwomp; temp_s0->boundingBoxSize = 0x000C; temp_s0->sizeScaling = 1.0f; - set_object_flag_unk_054_true(objectIndex, 0x04000220); + set_object_flag_status_true(objectIndex, 0x04000220); temp_s0->type = 0; temp_s0->unk_044 = 0.0f; temp_s0->origin_pos[1] = 0.0f; - func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f); + set_obj_origin_offset(objectIndex, 0.0f, 0.0f, 0.0f); set_obj_direction_angle(objectIndex, 0U, 0U, 0U); if (gIsMirrorMode != 0) { set_obj_orientation(objectIndex, 0U, 0xC000U, 0U); @@ -5540,7 +5540,7 @@ void func_8007FA08(s32 objectIndex) { temp_s0->direction_angle[1] = temp_s0->orientation[1]; temp_s0->unk_0DD = 1; temp_s0->unk_0DF = 8; - temp_s0->unk_028[1] = 15.0f; + temp_s0->offset[1] = 15.0f; temp_s0->unk_01C[1] = 15.0f; func_80072488(objectIndex); } @@ -5554,8 +5554,8 @@ void func_8007FB48(s32 objectIndex) { switch (gObjectList[objectIndex].unk_0AE) { case 1: gObjectList[objectIndex].unk_0B0 = 0x00A0; - gObjectList[objectIndex].unk_028[0] = 0.0f; - gObjectList[objectIndex].unk_028[2] = 0.0f; + gObjectList[objectIndex].offset[0] = 0.0f; + gObjectList[objectIndex].offset[2] = 0.0f; gObjectList[objectIndex].velocity[2] = 0.0f; func_80086FD4(objectIndex); break; @@ -5570,14 +5570,14 @@ void func_8007FB48(s32 objectIndex) { } } if (gObjectList[objectIndex].velocity[2] >= 0.0) { - if (gObjectList[objectIndex].unk_028[2] >= 40.0) { + if (gObjectList[objectIndex].offset[2] >= 40.0) { gObjectList[objectIndex].velocity[2] = -1.5f; } - } else if ((f64) gObjectList[objectIndex].unk_028[2] <= -40.0) { + } else if ((f64) gObjectList[objectIndex].offset[2] <= -40.0) { gObjectList[objectIndex].velocity[2] = 1.5f; } } - func_8008775C(objectIndex); + object_add_velocity_offset_xz(objectIndex); if (gObjectList[objectIndex].unk_0B0 < 0x65) { gObjectList[objectIndex].orientation[1] = func_800417B4(gObjectList[objectIndex].orientation[1], (gObjectList[objectIndex].direction_angle[1] + 0x8000)); if (gObjectList[objectIndex].unk_0B0 == 0x0064) { @@ -5586,10 +5586,10 @@ void func_8007FB48(s32 objectIndex) { } var_v0 = 0; if (gIsMirrorMode != 0) { - if (gObjectList[objectIndex].unk_028[0] <= -1000.0) { + if (gObjectList[objectIndex].offset[0] <= -1000.0) { var_v0 = 1; } - } else if (gObjectList[objectIndex].unk_028[0] >= 1000.0) { + } else if (gObjectList[objectIndex].offset[0] >= 1000.0) { var_v0 = 1; } gObjectList[objectIndex].unk_0B0--; @@ -5600,9 +5600,9 @@ void func_8007FB48(s32 objectIndex) { } break; case 4: - f32_step_towards(&gObjectList[objectIndex].unk_028[2], 0.0f, 2.0f); - f32_step_towards(gObjectList[objectIndex].unk_028, 0.0f, 5.0f); - if ((gObjectList[objectIndex].unk_028[0] + gObjectList[objectIndex].unk_028[2]) == 0.0) { + f32_step_towards(&gObjectList[objectIndex].offset[2], 0.0f, 2.0f); + f32_step_towards(gObjectList[objectIndex].offset, 0.0f, 5.0f); + if ((gObjectList[objectIndex].offset[0] + gObjectList[objectIndex].offset[2]) == 0.0) { func_80086FD4(objectIndex); } break; @@ -5627,7 +5627,7 @@ void func_8007FEA4(s32 objectIndex) { temp_v1 = &gObjectList[objectIndex]; switch (temp_v1->unk_0AE) { case 1: - if (f32_step_towards(&temp_v1->unk_028[0], temp_v1->unk_01C[0], 5.0f) != 0) { + if (f32_step_towards(&temp_v1->offset[0], temp_v1->unk_01C[0], 5.0f) != 0) { func_800726CC(objectIndex, 3); func_80086FD4(objectIndex); break; @@ -5636,7 +5636,7 @@ void func_8007FEA4(s32 objectIndex) { case 2: break; case 3: - if (f32_step_towards(&temp_v1->unk_028[0], 0.0f, 5.0f) != 0) { + if (f32_step_towards(&temp_v1->offset[0], 0.0f, 5.0f) != 0) { func_80086FD4(objectIndex); func_800722CC(objectIndex, 8); } @@ -5673,7 +5673,7 @@ void func_8007FFC0(s32 objectIndex) { } func_8007E63C(objectIndex); func_8007FF5C(objectIndex); - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); func_80073514(objectIndex); } @@ -5685,20 +5685,20 @@ void func_80080078(s32 objectIndex) { temp_s0->model = d_course_bowsers_castle_dl_thwomp; temp_s0->boundingBoxSize = 0x000C; temp_s0->sizeScaling = 1.0f; - set_object_flag_unk_054_true(objectIndex, 0x04000220); + set_object_flag_status_true(objectIndex, 0x04000220); temp_s0->type = 2; temp_s0->unk_0DF = 8; set_obj_direction_angle(objectIndex, 0U, 0U, 0U); temp_s0->unk_044 = 0.0f; temp_s0->origin_pos[1] = 0.0f; - func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f); + set_obj_origin_offset(objectIndex, 0.0f, 0.0f, 0.0f); temp_s0->unk_01C[1] = 30.0f; if (gIsMirrorMode != 0) { set_obj_orientation(objectIndex, 0U, 0x4000U, 0U); } else { set_obj_orientation(objectIndex, 0U, 0xC000U, 0U); } - switch (temp_s0->unk_0A0) { /* irregular */ + switch (temp_s0->primAlpha) { /* irregular */ case 0: temp_s0->unk_050 = 2; break; @@ -5738,7 +5738,7 @@ void func_800801FC(s32 objectIndex) { break; } func_8007E63C(objectIndex); - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); func_80073514(objectIndex); } @@ -5752,22 +5752,22 @@ void func_800802C0(s32 objectIndex) { temp_s0->itemDisplay = 0; temp_s0->boundingBoxSize = 0x000C; temp_s0->sizeScaling = 1.5f; - set_object_flag_unk_054_true(objectIndex, 0x05000220); + set_object_flag_status_true(objectIndex, 0x05000220); temp_s0->type = 1; temp_s0->unk_0DF = 6; - func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f); + set_obj_origin_offset(objectIndex, 0.0f, 0.0f, 0.0f); set_obj_direction_angle(objectIndex, 0U, 0U, 0U); temp_s0->unk_044 = 0.0f; temp_s0->origin_pos[1] = 0.0f; - temp_s0->unk_028[1] = 10.0f; + temp_s0->offset[1] = 10.0f; temp_s0->unk_01C[1] = 10.0f; if (gIsMirrorMode != 0) { set_obj_orientation(objectIndex, 0U, 0x4000U, 0U); } else { set_obj_orientation(objectIndex, 0U, 0xC000U, 0U); } - temp_s0->unk_028[0] = 0.0f; - temp_s0->unk_028[2] = 0.0f; + temp_s0->offset[0] = 0.0f; + temp_s0->offset[2] = 0.0f; func_800724DC(objectIndex); func_80072488(objectIndex); } @@ -5781,7 +5781,7 @@ void func_80080408(s32 objectIndex) { break; case 2: func_8008A6DC(objectIndex, 100.0f); - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00040000) != 0) { + if (is_obj_flag_status_active(objectIndex, VISIBLE) != 0) { func_800C98B8(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x45)); func_80072488(objectIndex); } @@ -5797,7 +5797,7 @@ void func_80080408(s32 objectIndex) { } break; } - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); func_80073514(objectIndex); } @@ -5810,11 +5810,11 @@ void func_80080524(s32 objectIndex) { temp_s0->boundingBoxSize = 0x000C; temp_s0->itemDisplay = 0; temp_s0->sizeScaling = 1.0f; - set_object_flag_unk_054_true(objectIndex, 0x04000220); + set_object_flag_status_true(objectIndex, 0x04000220); temp_s0->type = 0; temp_s0->unk_0DF = 0x0A; func_80086E70(objectIndex); - func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f); + set_obj_origin_offset(objectIndex, 0.0f, 0.0f, 0.0f); temp_s0->unk_044 = 70.0f; temp_s0->origin_pos[1] = 70.0f; temp_s0->unk_01C[1] = 0.0f; @@ -5824,7 +5824,7 @@ void func_80080524(s32 objectIndex) { } else { set_obj_orientation(objectIndex, 0U, 0x4000U, 0U); } - switch (temp_s0->unk_0A0) { /* irregular */ + switch (temp_s0->primAlpha) { /* irregular */ case 0: temp_s0->unk_0DD = 2; temp_s0->velocity[2] = -1.0f; @@ -5843,13 +5843,13 @@ void func_800806BC(s32 objectIndex) { case 0: break; case 1: - if (f32_step_towards(&gObjectList[objectIndex].unk_028[2], 250.0f, gObjectList[objectIndex].velocity[2]) != 0) { + if (f32_step_towards(&gObjectList[objectIndex].offset[2], 250.0f, gObjectList[objectIndex].velocity[2]) != 0) { gObjectList[objectIndex].velocity[2] = -gObjectList[objectIndex].velocity[2]; func_80086FD4(objectIndex); } break; case 2: - if (f32_step_towards(&gObjectList[objectIndex].unk_028[2], 0.0f, gObjectList[objectIndex].velocity[2]) != 0) { + if (f32_step_towards(&gObjectList[objectIndex].offset[2], 0.0f, gObjectList[objectIndex].velocity[2]) != 0) { gObjectList[objectIndex].velocity[2] = -gObjectList[objectIndex].velocity[2]; func_8008701C(objectIndex, 1); } @@ -5862,13 +5862,13 @@ void func_8008078C(s32 objectIndex) { case 0: break; case 1: - if (f32_step_towards(&gObjectList[objectIndex].unk_028[2], -250.0f, gObjectList[objectIndex].velocity[2]) != 0) { + if (f32_step_towards(&gObjectList[objectIndex].offset[2], -250.0f, gObjectList[objectIndex].velocity[2]) != 0) { gObjectList[objectIndex].velocity[2] = -gObjectList[objectIndex].velocity[2]; func_80086FD4(objectIndex); } break; case 2: - if (f32_step_towards(&gObjectList[objectIndex].unk_028[2], 0.0f, gObjectList[objectIndex].velocity[2]) != 0) { + if (f32_step_towards(&gObjectList[objectIndex].offset[2], 0.0f, gObjectList[objectIndex].velocity[2]) != 0) { gObjectList[objectIndex].velocity[2] = -gObjectList[objectIndex].velocity[2]; func_8008701C(objectIndex, 1); } @@ -5885,7 +5885,7 @@ void func_8008085C(s32 objectIndex) { func_8008078C(objectIndex); break; } - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); } void func_800808CC(s32 objectIndex) { @@ -5936,7 +5936,7 @@ void func_80080B28(s32 objectIndex, s32 playerId) { Player *temp_s0; temp_s0 = &gPlayerOne[playerId]; - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00000200) != 0) { + if (is_obj_flag_status_active(objectIndex, 0x00000200) != 0) { if (!(temp_s0->soundEffects & 0x100)) { temp_f0 = func_80088F54(objectIndex, temp_s0); if ((temp_f0 <= 9.0) && !(temp_s0->effects & 0x04000000) && (has_collided_horizontally_with_player(objectIndex, temp_s0) != 0)) { @@ -5951,7 +5951,7 @@ void func_80080B28(s32 objectIndex, s32 playerId) { } func_80080DE4(objectIndex); func_80075304(gObjectList[objectIndex].pos, 3, 3, D_8018D3C4); - set_object_flag_unk_054_false(objectIndex, 0x00000200); + set_object_flag_status_false(objectIndex, 0x00000200); func_800722A4(objectIndex, 0x00000040); func_80086F60(objectIndex); func_800726CC(objectIndex, 0x000000C8); @@ -5959,7 +5959,7 @@ void func_80080B28(s32 objectIndex, s32 playerId) { } } else if ((temp_f0 <= 17.5) && (func_80072320(objectIndex, 1) != 0) && (is_within_horizontal_distance_of_player(objectIndex, temp_s0, (temp_s0->unk_094 * 0.5) + 7.0) != 0)) { if ((temp_s0->type & 0x8000) && !(temp_s0->type & 0x100)) { - if (is_obj_index_flag_unk_054_active(objectIndex, 0x04000000) != 0) { + if (is_obj_flag_status_active(objectIndex, 0x04000000) != 0) { func_80072180(); } func_800722A4(objectIndex, 2); @@ -6012,7 +6012,7 @@ void func_80080E8C(s32 objectIndex1, s32 objectIndex2, s32 arg2) { gObjectList[objectIndex1].velocity[2] = coss(anAngle) * 0.6; } #else -GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80080E8C.s") +GLOBAL_ASM("asm/non_matchings/update_objects/func_80080E8C.s") #endif void func_80080FEC(s32 arg0) { @@ -6032,13 +6032,13 @@ void func_80081080(s32 objectIndex) { temp_v0 = &gObjectList[objectIndex]; temp_v0->activeTexture = D_8018D490; temp_v0->textureList = D_8018D490; - temp_v0->unk_0A0 = 0x00FF; + temp_v0->primAlpha = 0x00FF; temp_v0->direction_angle[1] = 0; temp_v0->orientation[0] = 0; temp_v0->orientation[2] = 0; - temp_v0->unk_028[0] = 0.0f; - temp_v0->unk_028[1] = 0.0f; - temp_v0->unk_028[2] = 0.0f; + temp_v0->offset[0] = 0.0f; + temp_v0->offset[1] = 0.0f; + temp_v0->offset[2] = 0.0f; temp_v0->sizeScaling = 0.25f; func_80072488(objectIndex); } @@ -6051,10 +6051,10 @@ void func_800810F4(s32 objectIndex) { func_80081080(objectIndex); break; case 2: - func_8008775C(objectIndex); - f32_step_up_towards(&gObjectList[objectIndex].unk_028[1], 14.0f, 0.5f); + object_add_velocity_offset_xz(objectIndex); + f32_step_up_towards(&gObjectList[objectIndex].offset[1], 14.0f, 0.5f); func_8007415C(objectIndex, &gObjectList[objectIndex].sizeScaling, 0.25f, 0.75f, 0.025f, 1, 0); - if (func_80073B00(objectIndex, &gObjectList[objectIndex].unk_0A0, 0x000000FF, 0, 4, 0, 0) != 0) { + if (func_80073B00(objectIndex, &gObjectList[objectIndex].primAlpha, 0x000000FF, 0, 4, 0, 0) != 0) { func_80072488(objectIndex); } break; @@ -6062,9 +6062,10 @@ void func_800810F4(s32 objectIndex) { func_80072428(objectIndex); break; } - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); } +// update twomp I think void func_80081208(void) { } @@ -6117,10 +6118,10 @@ void func_80081210(void) { if (!(player->effects & BOO_EFFECT)) { func_80080B28(objectIndex, var_s4); } - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00020000) != 0) { + if (is_obj_flag_status_active(objectIndex, 0x00020000) != 0) { func_80080A14(objectIndex, player); } - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00010000) != 0) { + if (is_obj_flag_status_active(objectIndex, 0x00010000) != 0) { func_80080A4C(objectIndex, var_s4); } } @@ -6187,7 +6188,7 @@ void func_80081790(s32 objectIndex) { if (func_80087E08(objectIndex, gObjectList[objectIndex].velocity[1], 0.3f, gObjectList[objectIndex].unk_034, gObjectList[objectIndex].orientation[1], 0x00000032) != 0) { func_80072488(objectIndex); } - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); break; case 2: func_80072428(objectIndex); @@ -6200,19 +6201,19 @@ void func_80081848(s32 objectIndex) { init_texture_object(objectIndex, d_course_moo_moo_farm_mole_tlut, (u8*) d_course_moo_moo_farm_mole_frames, 0x20U, (u16) 0x00000040); gObjectList[objectIndex].sizeScaling = 0.15f; gObjectList[objectIndex].itemDisplay = 0; - func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f); + set_obj_origin_offset(objectIndex, 0.0f, 0.0f, 0.0f); set_obj_direction_angle(objectIndex, 0U, 0U, 0U); set_obj_orientation(objectIndex, 0U, 0U, 0x8000U); gObjectList[objectIndex].boundingBoxSize = 6; gObjectList[objectIndex].velocity[1] = 4.0f; - set_object_flag_unk_054_true(objectIndex, 0x04000000); + set_object_flag_status_true(objectIndex, 0x04000000); func_80072488(objectIndex); } void func_80081924(s32 objectIndex) { switch (gObjectList[objectIndex].unk_0AE) { case 1: - if (f32_step_up_towards(&gObjectList[objectIndex].unk_028[1], 9.0f, 0.7f) != 0) { + if (f32_step_up_towards(&gObjectList[objectIndex].offset[1], 9.0f, 0.7f) != 0) { func_80086FD4(objectIndex); } break; @@ -6220,7 +6221,7 @@ void func_80081924(s32 objectIndex) { func_800871AC(objectIndex, 0x0000000A); break; case 3: - if (f32_step_down_towards(&gObjectList[objectIndex].unk_028[1], 3.0f, 1.0f) != 0) { + if (f32_step_down_towards(&gObjectList[objectIndex].offset[1], 3.0f, 1.0f) != 0) { func_80086F60(objectIndex); } break; @@ -6234,7 +6235,7 @@ void func_80081924(s32 objectIndex) { gObjectList[objectIndex].orientation[2] += 0x1000; gObjectList[objectIndex].velocity[1] -= 0.184; func_8008751C(objectIndex); - func_80087710(objectIndex); + object_add_velocity_offset_xyz(objectIndex); if (gObjectList[objectIndex].pos[1] <= -10.0) { func_80086F60(objectIndex); } @@ -6256,7 +6257,7 @@ void func_80081A88(s32 objectIndex) { func_80081924(objectIndex); break; } - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); } void func_80081AFC(s32 objectIndex, s32 arg1) { @@ -6272,7 +6273,7 @@ void func_80081AFC(s32 objectIndex, s32 arg1) { if (temp_s0->unk_04C == 0) { func_80086EAC(objectIndex, 2, 1); func_80072488(objectIndex); - set_object_flag_unk_054_true(objectIndex, 0x00000200); + set_object_flag_status_true(objectIndex, 0x00000200); } else { temp_s0->unk_04C--; } @@ -6298,7 +6299,7 @@ void func_80081AFC(s32 objectIndex, s32 arg1) { break; case 0x64: if (temp_s0->unk_0AE == 0) { - set_object_flag_unk_054_false(objectIndex, 0x00000200); + set_object_flag_status_false(objectIndex, 0x00000200); func_80072428(objectIndex); switch (arg1) { /* switch 1; irregular */ case 1: /* switch 1 */ @@ -6334,11 +6335,11 @@ void func_80081D34(s32 objectIndex) { var_s1 = gPlayerOne; var_s4 = camera1; for (var_s2 = 0; var_s2 < D_8018D158; var_s2++, var_s1++, var_s4++) { - if ((is_obj_index_flag_unk_054_active(objectIndex, 0x00000200) != 0) && !(var_s1->effects & 0x80000000) && (has_collided_with_player(objectIndex, var_s1) != 0)) { + if ((is_obj_flag_status_active(objectIndex, 0x00000200) != 0) && !(var_s1->effects & 0x80000000) && (has_collided_with_player(objectIndex, var_s1) != 0)) { if ((var_s1->type & 0x8000) && !(var_s1->type & 0x100)) { var_s5 = 1; temp_s0 = &gObjectList[objectIndex]; - if (is_obj_index_flag_unk_054_active(objectIndex, 0x04000000) != 0) { + if (is_obj_flag_status_active(objectIndex, 0x04000000) != 0) { func_80072180(); } if (var_s1->effects & 0x200) { @@ -6360,10 +6361,10 @@ void func_80081D34(s32 objectIndex) { } if (var_s5 != 0) { temp_s0 = &gObjectList[objectIndex]; - set_object_flag_unk_054_false(objectIndex, 0x00000200); + set_object_flag_status_false(objectIndex, 0x00000200); func_80086F60(objectIndex); set_obj_origin_pos(objectIndex, temp_s0->pos[0], temp_s0->pos[1], temp_s0->pos[2]); - func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f); + set_obj_origin_offset(objectIndex, 0.0f, 0.0f, 0.0f); func_80086EAC(objectIndex, 2, 0x000A); func_800726CC(objectIndex, 0x0000000A); } @@ -6428,7 +6429,7 @@ void func_80081FF4(s32 objectIndex, s32 arg1) { gObjectList[objectIndex].origin_pos[2] = gMoleSpawns[var_v1][offset + 2]; } #else -GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80081FF4.s") +GLOBAL_ASM("asm/non_matchings/update_objects/func_80081FF4.s") #endif void func_800821AC(s32 objectIndex, s32 arg1) { @@ -6439,7 +6440,7 @@ void func_800821AC(s32 objectIndex, s32 arg1) { } } -void func_800821FC(void) { +void update_moles(void) { s32 var_s1; s32 objectIndex; UNUSED s32 stackPadding; @@ -6510,7 +6511,7 @@ void func_8008241C(s32 objectIndex, s32 arg1) { gObjectList[objectIndex].unk_034 = 1.0f; func_80086EF0(objectIndex); gObjectList[objectIndex].spline = D_800E633C[arg1 % 4]; - set_object_flag_unk_054_true(objectIndex, 0x00000800); + set_object_flag_status_true(objectIndex, 0x00000800); func_80072488(objectIndex); } @@ -6530,29 +6531,29 @@ void func_8008275C(s32 objectIndex) { switch (gObjectList[objectIndex].unk_0DD) { /* irregular */ case 1: func_8008B78C(objectIndex); - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); break; case 2: func_8008B78C(objectIndex); vec3f_copy(gObjectList[objectIndex].unk_01C, gObjectList[objectIndex].pos); - func_8000D940(gObjectList[objectIndex].origin_pos, (s16 *) &gObjectList[objectIndex].unk_0C6, gObjectList[objectIndex].unk_034, 0.0f, 0); - gObjectList[objectIndex].unk_028[0] *= 2.0; - gObjectList[objectIndex].unk_028[1] *= 2.5; - gObjectList[objectIndex].unk_028[2] *= 2.0; - func_8008BF18(objectIndex); - gObjectList[objectIndex].direction_angle[1] = get_angle_between_points(gObjectList[objectIndex].unk_01C, gObjectList[objectIndex].pos); + func_8000D940(gObjectList[objectIndex].origin_pos, &gObjectList[objectIndex].unk_0C6, gObjectList[objectIndex].unk_034, 0.0f, 0); + gObjectList[objectIndex].offset[0] *= 2.0; + gObjectList[objectIndex].offset[1] *= 2.5; + gObjectList[objectIndex].offset[2] *= 2.0; + object_calculate_new_pos_offset(objectIndex); + gObjectList[objectIndex].direction_angle[1] = get_angle_between_two_vectors(gObjectList[objectIndex].unk_01C, gObjectList[objectIndex].pos); break; } func_800873F4(objectIndex); } -void func_80082870(void) { +void update_seagulls(void) { Objects *temp_s1; UNUSED s32 *var_s4; s32 temp_s0; s32 var_s3; - for (var_s3 = 0; var_s3 < 10; var_s3++) { + for (var_s3 = 0; var_s3 < NUM_SEAGULLS; var_s3++) { temp_s0 = indexObjectList2[var_s3]; temp_s1 = &gObjectList[temp_s0]; @@ -6567,7 +6568,7 @@ void func_80082870(void) { D_80183E40[0] = 0.0f; D_80183E40[1] = 0.0f; D_80183E40[2] = 0.0f; - if (gGamestate != 9) { + if (gGamestate != CREDITS_SEQUENCE) { func_800C98B8(temp_s1->pos, D_80183E40, SOUND_ARG_LOAD(0x19, 0x01, 0x70, 0x43)); } else { temp_s0 = indexObjectList2[1]; @@ -6603,12 +6604,12 @@ void init_ktb_crab(s32 objectIndex) { object->itemDisplay = 0; func_80072488(objectIndex); object->boundingBoxSize = 1; - set_object_flag_unk_054_true(objectIndex, 0x04000420); + set_object_flag_status_true(objectIndex, 0x04000420); func_80086EAC(objectIndex, 0, 1); - func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f); + set_obj_origin_offset(objectIndex, 0.0f, 0.0f, 0.0f); set_obj_orientation(objectIndex, 0U, 0U, 0x8000U); object->unk_034 = 1.5f; - set_object_flag_unk_054_true(objectIndex, 0x00000200); + set_object_flag_status_true(objectIndex, 0x00000200); } void func_80082B34(s32 objectIndex, UNUSED s32 unused) { @@ -6664,8 +6665,8 @@ void func_80082C30(s32 objectIndex) { } break; } - func_8008BF18(objectIndex); - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00040000) != 0) { + object_calculate_new_pos_offset(objectIndex); + if (is_obj_flag_status_active(objectIndex, VISIBLE) != 0) { func_80088538(objectIndex); gObjectList[objectIndex].pos[1] = (f32) (gObjectList[objectIndex].unk_044 + 2.5); } @@ -6677,7 +6678,7 @@ void func_80082E18(s32 objectIndex) { } } -void func_80082E5C(void) { +void update_crabs(void) { s32 objectIndex; s32 var_s1; @@ -6701,11 +6702,11 @@ void func_80082F1C(s32 objectIndex, s32 arg1) { gObjectList[objectIndex].sizeScaling = 0.027f; func_80072488(objectIndex); set_obj_origin_pos(objectIndex, D_800E5DF4[arg1].pos[0] * xOrientation, D_800E5DF4[arg1].pos[1], D_800E5DF4[arg1].pos[2]); - func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f); + set_obj_origin_offset(objectIndex, 0.0f, 0.0f, 0.0f); set_obj_direction_angle(objectIndex, 0U, D_800E5DF4[arg1].rot, 0U); } #else -GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80082F1C.s") +GLOBAL_ASM("asm/non_matchings/update_objects/func_80082F1C.s") #endif void func_80083018(s32 objectIndex, s32 arg1) { @@ -6720,7 +6721,7 @@ void func_80083018(s32 objectIndex, s32 arg1) { } void func_80083060(s32 objectIndex) { - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); } void func_80083080(void) { @@ -6747,11 +6748,11 @@ void func_8008311C(s32 objectIndex, s32 arg1) { temp_s0->sizeScaling = 0.2f; temp_s0->itemDisplay = 0; func_80072488(objectIndex); - func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f); + set_obj_origin_offset(objectIndex, 0.0f, 0.0f, 0.0f); set_obj_orientation(objectIndex, 0U, 0U, 0x8000U); temp_s0->unk_034 = ((arg1 % 6) * 0.1) + 0.5; func_80086E70(objectIndex); - set_object_flag_unk_054_true(objectIndex, 0x04000600); + set_object_flag_status_true(objectIndex, 0x04000600); temp_s0->boundingBoxSize = 2; } @@ -6778,9 +6779,9 @@ void func_80083248(s32 objectIndex) { } break; } - func_8008BF18(objectIndex); - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00200000) != 0) { - if (is_obj_index_flag_unk_054_active(objectIndex, 0x00400000) != 0) { + object_calculate_new_pos_offset(objectIndex); + if (is_obj_flag_status_active(objectIndex, 0x00200000) != 0) { + if (is_obj_flag_status_active(objectIndex, 0x00400000) != 0) { func_8008861C(objectIndex); } gObjectList[objectIndex].pos[1] = gObjectList[objectIndex].unk_044 + 6.0; @@ -6811,11 +6812,11 @@ void func_80083474(s32 objectIndex) { } } -void func_800834B8(void) { +void update_hedgehogs(void) { s32 temp_s1; s32 var_s0; - for (var_s0 = 0; var_s0 < 0xF; var_s0++) { + for (var_s0 = 0; var_s0 < NUM_HEDGEHOGS; var_s0++) { temp_s1 = indexObjectList2[var_s0]; func_800833D0(temp_s1, var_s0); func_80083248(temp_s1); @@ -6843,7 +6844,7 @@ void func_80083538(s32 objectIndex, Vec3f arg1, s32 arg2, s32 arg3) { temp_s0->origin_pos[0] = arg1[0]; temp_s0->origin_pos[1] = arg1[1]; temp_s0->origin_pos[2] = arg1[2]; - temp_s0->unk_0A0 = random_int(0x4000U) + 0x1000; + temp_s0->primAlpha = random_int(0x4000U) + 0x1000; } void func_800836F0(Vec3f arg0) { @@ -6871,8 +6872,8 @@ void func_8008379C(s32 objectIndex) { func_80072428(objectIndex); break; } - func_8008BF18(objectIndex); - gObjectList[objectIndex].orientation[2] += gObjectList[objectIndex].unk_0A0; + object_calculate_new_pos_offset(objectIndex); + gObjectList[objectIndex].orientation[2] += gObjectList[objectIndex].primAlpha; } void func_80083868(s32 objectIndex) { @@ -6884,14 +6885,14 @@ void func_80083868(s32 objectIndex) { temp_s0->sizeScaling = 0.1f; temp_s0->itemDisplay = 0; func_80072488(objectIndex); - func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f); + set_obj_origin_offset(objectIndex, 0.0f, 0.0f, 0.0f); temp_s0->orientation[0] = 0; temp_s0->orientation[1] = 0; temp_s0->orientation[2] = 0x8000; - temp_s0->unk_0A0 = random_int(0x2000U) - 0x1000; + temp_s0->primAlpha = random_int(0x2000U) - 0x1000; func_80086E70(objectIndex); temp_s0->unk_034 = 1.5f; - set_object_flag_unk_054_true(objectIndex, 0x00000200); + set_object_flag_status_true(objectIndex, 0x00000200); } void func_80083948(s32 objectIndex) { @@ -6912,7 +6913,7 @@ void func_80083948(s32 objectIndex) { func_80087D24(objectIndex, 0.0f, 0.2f, -7.0f); break; case 20: - if (f32_step_up_towards(&gObjectList[objectIndex].unk_028[1], 0.0f, 0.2f) != 0) { + if (f32_step_up_towards(&gObjectList[objectIndex].offset[1], 0.0f, 0.2f) != 0) { func_80073800(objectIndex, 0); func_8008701C(objectIndex, 1); } @@ -6921,9 +6922,9 @@ void func_80083948(s32 objectIndex) { default: break; } - func_8008BF18(objectIndex); - func_80073D0C(objectIndex, &gObjectList[objectIndex].unk_0A0, -0x00001000, 0x00001000, 0x00000400, 1, -1); - gObjectList[objectIndex].orientation[2] = gObjectList[objectIndex].unk_0A0 + 0x8000; + object_calculate_new_pos_offset(objectIndex); + func_80073D0C(objectIndex, &gObjectList[objectIndex].primAlpha, -0x00001000, 0x00001000, 0x00000400, 1, -1); + gObjectList[objectIndex].orientation[2] = gObjectList[objectIndex].primAlpha + 0x8000; } void func_80083A94(s32 objectIndex) { @@ -6946,17 +6947,17 @@ void func_80083B0C(s32 objectIndex) { gObjectList[objectIndex].sizeScaling = 0.1f; gObjectList[objectIndex].itemDisplay = 0; func_80072488(objectIndex); - func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f); + set_obj_origin_offset(objectIndex, 0.0f, 0.0f, 0.0f); gObjectList[objectIndex].orientation[0] = 0; gObjectList[objectIndex].orientation[1] = 0; gObjectList[objectIndex].orientation[2] = 0x8000; gObjectList[objectIndex].boundingBoxSize = 2; gObjectList[objectIndex].unk_034 = 1.5f; - set_object_flag_unk_054_true(objectIndex, 0x04000210); + set_object_flag_status_true(objectIndex, 0x04000210); } void func_80083BE4(s32 objectIndex) { - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); } void func_80083C04(s32 objectIndex) { @@ -6979,7 +6980,7 @@ void func_80083C04(s32 objectIndex) { break; case 11: if (func_8007278C(objectIndex, 0x0000000A) != 0) { - set_object_flag_unk_054_true(objectIndex, 0x00000010); + set_object_flag_status_true(objectIndex, 0x00000010); temp_s1->sizeScaling = 0.001f; } break; @@ -6990,7 +6991,7 @@ void func_80083C04(s32 objectIndex) { break; case 13: func_800726CC(objectIndex, 2); - set_object_flag_unk_054_false(objectIndex, 0x00001000); + set_object_flag_status_false(objectIndex, 0x00001000); break; } if (temp_s1->state >= 2) { @@ -6999,7 +7000,7 @@ void func_80083C04(s32 objectIndex) { func_80083BE4(objectIndex); } -void func_80083D60(void) { +void update_snowmen(void) { s32 var_s0; s32 var_s3; s32 var_s4; @@ -7018,16 +7019,16 @@ void func_80083D60(void) { if (var_s0) {} // ?? } - for (var_s0 = 0; var_s0 < 19; var_s0++) { + for (var_s0 = 0; var_s0 < NUM_SNOWMEN; var_s0++) { var_s4 = indexObjectList1[var_s0]; var_s3 = indexObjectList2[var_s0]; func_80083A94(var_s3); func_80083C04(var_s4); - if (is_obj_index_flag_unk_054_inactive(var_s4, 0x00001000) != 0) { + if (is_obj_index_flag_status_inactive(var_s4, 0x00001000) != 0) { temp_s1 = &gObjectList[var_s4]; if ((func_8008A8B0(temp_s1->unk_0D5 - 1, temp_s1->unk_0D5 + 1) != 0) && (func_80089B50(var_s4) != 0)) { - set_object_flag_unk_054_true(var_s4, 0x00001000); - set_object_flag_unk_054_false(var_s4, 0x00000010); + set_object_flag_status_true(var_s4, 0x00001000); + set_object_flag_status_false(var_s4, 0x00000010); func_800726CC(var_s4, 0x0000000A); func_8008701C(var_s3, 0x0000000A); func_800836F0(temp_s1->pos); @@ -7047,7 +7048,7 @@ void func_80083F18(s32 objectIndex) { if (func_80087E08(objectIndex, gObjectList[objectIndex].velocity[1], 0.12f, gObjectList[objectIndex].unk_034, gObjectList[objectIndex].direction_angle[1], 0x00000064) != 0) { func_80072488(objectIndex); } - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); break; case 2: func_80086F60(objectIndex); @@ -7131,7 +7132,7 @@ void func_80084430(s32 objectIndex, UNUSED s32 arg1) { temp_s0->unk_0DD = 1; func_80086EF0(objectIndex); temp_s0->spline = D_800E672C[0]; - set_object_flag_unk_054_true(objectIndex, 0x04000800); + set_object_flag_status_true(objectIndex, 0x04000800); temp_s0->type = func_80004EAC(d_course_sherbet_land_unk_data11, 0); func_80072488(objectIndex); } @@ -7161,7 +7162,7 @@ void func_800845C8(s32 objectIndex, s32 arg1) { temp_s0->boundingBoxSize = 4; temp_s0->unk_09C = 2; temp_s0->unk_04C = random_int(0x012CU); - set_object_flag_unk_054_true(objectIndex, 0x04000220); + set_object_flag_status_true(objectIndex, 0x04000220); if ((arg1 > 0) && (arg1 < 9)) { if ((arg1 == 1) || (arg1 == 2)) { set_obj_origin_pos(objectIndex, xOrientation * -2960.0, -80.0f, 1521.0f); @@ -7380,7 +7381,7 @@ void func_80084D2C(s32 objectIndex, s32 arg1) { break; } func_8008781C(objectIndex); - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); } void func_80085024(void) { @@ -7389,13 +7390,13 @@ void func_80085024(void) { void func_8008502C(s32 objectIndex, UNUSED s32 arg1) { func_80088038(objectIndex, gObjectList[objectIndex].unk_01C[1], gObjectList[objectIndex].unk_0C6); - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); func_800873F4(objectIndex); } void func_80085080(s32 objectIndex) { func_8008B78C(objectIndex); - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); func_800873F4(objectIndex); } @@ -7444,12 +7445,12 @@ void func_800850B0(s32 objectIndex, s32 arg1) { } } -void func_80085214(void) { +void update_penguins(void) { UNUSED s32 var_s2; s32 objectIndex; s32 var_s1; - for (var_s1 = 0; var_s1 < 0xF; var_s1++) { + for (var_s1 = 0; var_s1 < NUM_PENGUINS; var_s1++) { objectIndex = indexObjectList1[var_s1]; if (gObjectList[objectIndex].state != 0) { if (var_s1 == 0) { @@ -7466,22 +7467,22 @@ void func_80085214(void) { } else { func_80089820(objectIndex, 1.5f, 1.25f, 0x1900A046U); } - if ((is_obj_index_flag_unk_054_active(objectIndex, 0x02000000) != 0) && (func_80072354(objectIndex, 0x00000020) != 0)) { + if ((is_obj_flag_status_active(objectIndex, 0x02000000) != 0) && (func_80072354(objectIndex, 0x00000020) != 0)) { func_800722A4(objectIndex, 0x00000060); - set_object_flag_unk_054_false(objectIndex, 0x02000000); + set_object_flag_status_false(objectIndex, 0x02000000); } } } -void func_800853DC(s32 objectIndex) { +void init_hot_air_balloon(s32 objectIndex) { gObjectList[objectIndex].sizeScaling = 1.0f; gObjectList[objectIndex].model = d_course_luigi_raceway_dl_F960; if (gGamestate != 9) { set_obj_origin_pos(objectIndex, xOrientation * -176.0, 0.0f, -2323.0f); - func_8008B80C(objectIndex, 0.0f, 300.0f, 0.0f); + set_obj_origin_offset(objectIndex, 0.0f, 300.0f, 0.0f); } else { set_obj_origin_pos(objectIndex, xOrientation * -1250.0, 0.0f, 1110.0f); - func_8008B80C(objectIndex, 0.0f, 300.0f, 0.0f); + set_obj_origin_offset(objectIndex, 0.0f, 300.0f, 0.0f); } func_8008B844(objectIndex); func_800886F4(objectIndex); @@ -7494,7 +7495,7 @@ void func_800853DC(s32 objectIndex) { void func_80085534(s32 objectIndex) { switch (gObjectList[objectIndex].unk_0AE) { case 1: - if (gObjectList[objectIndex].unk_028[1] <= 18.0) { + if (gObjectList[objectIndex].offset[1] <= 18.0) { func_80086FD4(objectIndex); } break; @@ -7538,14 +7539,14 @@ void func_80085534(s32 objectIndex) { } break; } - func_800877C4(objectIndex); + object_add_velocity_offset_y(objectIndex); gObjectList[objectIndex].direction_angle[1] += 0x100; } void func_80085768(s32 objectIndex) { switch (gObjectList[objectIndex].state) { /* irregular */ case 1: - func_800853DC(objectIndex); + init_hot_air_balloon(objectIndex); break; case 0: case 2: @@ -7553,18 +7554,18 @@ void func_80085768(s32 objectIndex) { } } -void func_800857C0(void) { +void update_hot_air_balloon(void) { s32 objectIndex; objectIndex = indexObjectList1[0]; if (gObjectList[objectIndex].state != 0) { func_80085768(objectIndex); func_80085534(objectIndex); - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); if (gObjectList[objectIndex].state >= 2) { - D_802BA05C->pos[0] = gObjectList[objectIndex].pos[0]; - D_802BA05C->pos[1] = gObjectList[objectIndex].pos[1] - 10.0; - D_802BA05C->pos[2] = gObjectList[objectIndex].pos[2]; + gActorHotAirBalloonItemBox->pos[0] = gObjectList[objectIndex].pos[0]; + gActorHotAirBalloonItemBox->pos[1] = gObjectList[objectIndex].pos[1] - 10.0; + gActorHotAirBalloonItemBox->pos[2] = gObjectList[objectIndex].pos[2]; } } } @@ -7579,11 +7580,11 @@ void func_80085878(s32 objectIndex, s32 arg1) { temp_s0->vertex = (Vtx *) d_rainbow_road_unk3; temp_s0->sizeScaling = 0.03f; temp_s0->boundingBoxSize = 0x000A; - set_object_flag_unk_054_true(objectIndex, 0x04000200); + set_object_flag_status_true(objectIndex, 0x04000200); temp_s0->unk_084[8] = (arg1 * 0x12C) + 0x1F4; set_obj_origin_pos(objectIndex, 0.0f, -15.0f, 0.0f); temp_v0 = &D_80164490[(u16)temp_s0->unk_084[8]]; - func_8008B80C(objectIndex, temp_v0->posX, temp_v0->posY, temp_v0->posZ); + set_obj_origin_offset(objectIndex, temp_v0->posX, temp_v0->posY, temp_v0->posZ); set_obj_direction_angle(objectIndex, 0U, 0U, 0U); temp_s0->unk_034 = 4.0f; temp_s0->type = func_80004EAC(d_rainbow_road_unk3, 0); @@ -7610,20 +7611,20 @@ void func_800859C8(s32 objectIndex, s32 arg1) { func_80074344(objectIndex, &temp_s0->unk_044, -0.8f, 0.8f, 0.03f, 0, -1); } -void func_80085AA8(void) { +void update_chain_chomps(void) { s32 objectIndex; s32 var_s4; Objects *temp_s0; - for (var_s4 = 0; var_s4 < 3; var_s4++) { + for (var_s4 = 0; var_s4 < NUM_CHAIN_CHOMPS; var_s4++) { objectIndex = indexObjectList2[var_s4]; temp_s0 = &gObjectList[objectIndex]; if (temp_s0->state != 0) { func_800859C8(objectIndex, var_s4); - vec3f_copy(temp_s0->unk_01C, temp_s0->unk_028); - func_8000D940(temp_s0->unk_028, &temp_s0->unk_084[8], temp_s0->unk_034, temp_s0->unk_044, 0); - temp_s0->direction_angle[1] = get_angle_between_points(temp_s0->unk_01C, temp_s0->unk_028); - func_8008BF18(objectIndex); + vec3f_copy(temp_s0->unk_01C, temp_s0->offset); + func_8000D940(temp_s0->offset, &temp_s0->unk_084[8], temp_s0->unk_034, temp_s0->unk_044, 0); + temp_s0->direction_angle[1] = get_angle_between_two_vectors(temp_s0->unk_01C, temp_s0->offset); + object_calculate_new_pos_offset(objectIndex); func_80089CBC(objectIndex, 30.0f); } } @@ -7631,7 +7632,7 @@ void func_80085AA8(void) { void func_80085BB4(s32 objectIndex) { gObjectList[objectIndex].sizeScaling = 8.0f; - func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f); + set_obj_origin_offset(objectIndex, 0.0f, 0.0f, 0.0f); set_obj_orientation(objectIndex, 0U, 0U, 0x8000U); func_80072488(objectIndex); } @@ -7754,7 +7755,7 @@ void func_80086074(s32 objectIndex, s32 arg1) { func_80085BB4(objectIndex); } #else -GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80086074.s") +GLOBAL_ASM("asm/non_matchings/update_objects/func_80086074.s") #endif void func_80086110(s32 objectIndex, s32 arg1) { @@ -7767,7 +7768,7 @@ void func_80086110(s32 objectIndex, s32 arg1) { } } -void update_obj_neon(s32 objectIndex, s32 id) { +void update_object_neon(s32 objectIndex, s32 id) { switch (id) { /* irregular */ case 0: func_80085CA0(objectIndex); @@ -7791,10 +7792,10 @@ void update_neon(void) { for (id = 0; id < NUM_NEON_SIGNS; id++) { objectIndex = indexObjectList1[id]; if (gObjectList[objectIndex].state != 0) { - update_obj_neon(objectIndex, id); + update_object_neon(objectIndex, id); if (gObjectList[objectIndex].state >= 2) { update_neon_texture(objectIndex); - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); } } } @@ -7819,7 +7820,7 @@ void func_8008629C(s32 objectIndex, s32 arg1) { } gObjectList[objectIndex].sizeScaling = 1.0f; set_obj_origin_pos(objectIndex, D_800E634C[0][0] - 1.5, D_800E634C[0][1], D_800E634C[0][2]); - func_8008B80C(objectIndex, 0.0f, -10.0f, 0.0f); + set_obj_origin_offset(objectIndex, 0.0f, -10.0f, 0.0f); set_obj_direction_angle(objectIndex, 0U, 0xF8E4U, 0U); gObjectList[objectIndex].unk_048 = 0; func_80072488(objectIndex); @@ -7834,18 +7835,18 @@ void func_80086424(s32 objectIndex) { func_80086FD4(objectIndex); break; case 2: - if (gObjectList[objectIndex].unk_028[1] >= -2.0) { + if (gObjectList[objectIndex].offset[1] >= -2.0) { gObjectList[objectIndex].velocity[1] -= 0.1; } - func_800877C4(objectIndex); - if (gObjectList[objectIndex].unk_028[1] >= 0.0) { - gObjectList[objectIndex].unk_028[1] = 0.0f; + object_add_velocity_offset_y(objectIndex); + if (gObjectList[objectIndex].offset[1] >= 0.0) { + gObjectList[objectIndex].offset[1] = 0.0f; gObjectList[objectIndex].velocity[1] = 0.0f; func_80086F60(objectIndex); } break; } - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); } void func_80086528(s32 objectIndex, s32 arg1) { @@ -7925,7 +7926,7 @@ void func_80086700(s32 objectIndex) { } gObjectList[objectIndex].sizeScaling = 0.005f; set_obj_origin_pos(objectIndex, gObjectList[indexObjectList2[0]].pos[0], gObjectList[indexObjectList2[0]].pos[1] + 16.0, gObjectList[indexObjectList2[0]].pos[2]); - func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f); + set_obj_origin_offset(objectIndex, 0.0f, 0.0f, 0.0f); set_obj_direction_angle(objectIndex, 0U, 0U, 0U); gObjectList[objectIndex].unk_084[1] = 0x0200; func_80072488(objectIndex); @@ -7957,7 +7958,7 @@ void func_80086940(s32 objectIndex) { temp_s0->velocity[1] = -0.4f; func_80086FD4(objectIndex); temp_s0->origin_pos[1] = 90.0f; - temp_s0->unk_028[1] = 60.0f; + temp_s0->offset[1] = 60.0f; switch (D_802874D8.unk1D) { /* switch 1; irregular */ case 1: /* switch 1 */ temp_s0->origin_pos[0] -= 3.0; @@ -7970,11 +7971,11 @@ void func_80086940(s32 objectIndex) { } break; case 5: - if ((f64) temp_s0->unk_028[1] <= 8.0) { + if ((f64) temp_s0->offset[1] <= 8.0) { f32_step_towards(&temp_s0->velocity[1], -0.1f, -0.01f); } - func_800877C4(objectIndex); - if ((f64) temp_s0->unk_028[1] <= 0.0) { + object_add_velocity_offset_y(objectIndex); + if ((f64) temp_s0->offset[1] <= 0.0) { func_80086FD4(objectIndex); } break; @@ -7998,7 +7999,7 @@ void func_80086940(s32 objectIndex) { temp_s0->direction_angle[0] += 0x400; temp_s0->direction_angle[1] -= 0x200; } - func_8008BF18(objectIndex); + object_calculate_new_pos_offset(objectIndex); } void func_80086C14(s32 objectIndex) { diff --git a/src/code_80071F00.h b/src/update_objects.h similarity index 90% rename from src/code_80071F00.h rename to src/update_objects.h index 18d353b0d..4350d5125 100644 --- a/src/code_80071F00.h +++ b/src/update_objects.h @@ -1,5 +1,5 @@ -#ifndef CODE_80071F00_H -#define CODE_80071F00_H +#ifndef UPDATE_OBJECTS_H +#define UPDATE_OBJECTS_H #include "code_80004740.h" #include "common_structs.h" @@ -16,11 +16,11 @@ s32 add_unused_obj_index(s32*, s32*, s32); void delete_object_wrapper(s32*); void func_80072120(s32*, s32); void func_80072180(void); -void set_object_flag_unk_054_true(s32, s32); -void set_object_flag_unk_054_false(s32, s32); +void set_object_flag_status_true(s32, s32); +void set_object_flag_status_false(s32, s32); void func_80072214(s32, s32); -s32 is_obj_index_flag_unk_054_active(s32, s32); -s32 is_obj_index_flag_unk_054_inactive(s32, s32); +s32 is_obj_flag_status_active(s32, s32); +s32 is_obj_index_flag_status_inactive(s32, s32); void func_800722A4(s32, s32); void func_800722CC(s32, s32); void func_800722F8(s32, s32); @@ -148,33 +148,33 @@ void func_80076958(s32); void func_800769D8(s32); void func_80076AEC(s32); void func_80076B7C(void); -void update_particle_bowser_castle(void); -void func_80076C9C(s32, Vec3f, s16); -void func_80076D70(Vec3f, f32, s16); +void update_flame_particle(void); +void init_object_smoke_paticle(s32, Vec3f, s16); +void init_smoke_particle(Vec3f, f32, s16); void func_80076DC4(s32); void func_80076E14(s32); void func_80076ED8(s32); void func_80076F2C(void); -void func_80076FEC(s32, s32); -void func_800770F0(s32); +void init_object_smoke_particle(s32, s32); +void init_smoke_particles(s32); void func_800773D8(f32*, s32); void func_80077428(s32); void func_80077450(s32); void func_80077584(s32); void func_80077640(void); -void init_leaf_particle(s32, Vec3f, s32); -s32 func_80077A54(Vec3f, s32); -void func_80077AB0(Vec3f, s32); +void init_object_leaf_particle(s32, Vec3f, s32); +s32 init_leaf_particle(Vec3f, s32); +void spawn_leaf(Vec3f, s32); void func_80077B14(s32); void func_80077B3C(s32); void func_80077BCC(s32); -void func_80077C9C(void); +void update_leaf(void); void func_80077E20(s32); void func_80078220(s32); void func_80078288(s32); void func_800786EC(s32); void func_80078790(void); -void func_80078838(void); +void update_snowflakes(void); void func_800788F8(s32, u16, Camera*); void func_800789AC(s32, Camera*, Vec4s*); void func_80078C68(void); @@ -195,7 +195,7 @@ void func_8007A778(s32, Player*, Camera*); void func_8007A884(void); void func_8007A88C(s32); void func_8007A910(s32); -void update_obj_laikitu(s32); +void update_object_lakitu(s32); void func_8007AA44(s32); void func_8007ABFC(s32, s32); void consume_item(s32); @@ -209,13 +209,13 @@ void func_8007B34C(s32); void func_8007BB9C(s32); void func_8007BBBC(s32); void func_8007BD04(s32); -void func_8007BDA8(void); +void update_cheep_cheep_race(void); void init_var_cheep_cheep(s32); void func_8007BEC8(s32); void func_8007BFB0(s32); -void func_8007C280(void); -void func_8007C2F8(s32); -void func_8007C340(void); +void update_cheep_cheep_ending(void); +void update_cheep_cheep(s32); +void wrapper_update_boos(void); void func_8007C360(s32, Camera*); void func_8007C420(s32, Player*, Camera*); void func_8007C4A4(s32); @@ -227,7 +227,7 @@ void func_8007C7B4(s32, s32); void func_8007C91C(s32); s32 func_8007C9F8(void); void func_8007CA70(void); -void func_8007CC00(void); +void update_boos(void); void func_8007CE0C(s32); void func_8007CEDC(s32); void func_8007D070(void); @@ -241,11 +241,11 @@ void func_8007D8D4(s32, s32); void func_8007DA4C(s32); void func_8007DA74(s32); void func_8007DAF8(s32, s32); -void func_8007DB44(void); +void update_bat(void); void func_8007DDC0(s32); void init_bb_trash_bin(s32); void func_8007E00C(s32); -void func_8007E1AC(void); +void update_trash_bin(void); void func_8007E1F4(s32); void func_8007E358(s32); void func_8007E3EC(s32); @@ -297,16 +297,16 @@ void func_80081AFC(s32, s32); void func_80081D34(s32); void func_80081FF4(s32, s32); void func_800821AC(s32, s32); -void func_800821FC(void); +void update_moles(void); void func_8008241C(s32, s32); void func_80082714(s32, s32); void func_8008275C(s32); -void func_80082870(void); +void update_seagulls(void); void init_ktb_crab(s32); void func_80082B34(s32, s32); void func_80082C30(s32); void func_80082E18(s32); -void func_80082E5C(void); +void update_crabs(void); void func_80082F1C(s32, s32); void func_80083018(s32, s32); void func_80083060(s32); @@ -315,7 +315,7 @@ void func_8008311C(s32, s32); void func_80083248(s32); void func_800833D0(s32, s32); void func_80083474(s32); -void func_800834B8(void); +void update_hedgehogs(void); void func_80083538(s32, Vec3f, s32, s32); void func_800836F0(Vec3f); void func_8008379C(s32); @@ -325,7 +325,7 @@ void func_80083A94(s32); void func_80083B0C(s32); void func_80083BE4(s32); void func_80083C04(s32); -void func_80083D60(void); +void update_snowmen(void); void func_80083F18(s32); void func_80083FD0(s32, s32, s32); void func_8008421C(s32, s32); @@ -339,13 +339,13 @@ void func_80085024(void); void func_8008502C(s32, s32); void func_80085080(s32); void func_800850B0(s32, s32); -void func_800853DC(s32); +void init_hot_air_balloon(s32); void func_80085534(s32); void func_80085768(s32); -void func_800857C0(void); +void update_hot_air_balloon(void); void func_80085878(s32, s32); void func_800859C8(s32, s32); -void func_80085AA8(void); +void update_chain_chomps(void); void func_80085BB4(s32); void init_obj_neon_mushroom(s32); void func_80085CA0(s32); @@ -355,7 +355,7 @@ void func_80085EF8(s32); void func_80085F74(s32); void func_80086074(s32, s32); void func_80086110(s32, s32); -void update_obj_neon(s32, s32); +void update_object_neon(s32, s32); void update_neon(void); void func_8008629C(s32, s32); void func_80086424(s32); @@ -376,7 +376,7 @@ extern Vtx D_800E4470[]; extern Vtx D_800E44B0[]; extern u8 *gItemWindowTLUTs[]; extern u8 *gItemWindowTextures[]; -extern u8 *D_800E4570[]; +extern u8 *gHudLapTextures[]; extern u8 *gPortraitTLUTs[]; extern u8 *gPortraitTextures[]; diff --git a/tools/doxygen_syms.md b/tools/doxygen_syms.md index 78d6071e2..6610aa22e 100644 --- a/tools/doxygen_syms.md +++ b/tools/doxygen_syms.md @@ -112,7 +112,7 @@ Variable Name | Memory Address [func_800090F0](@ref func_800090F0) | 0x800090F0 [func_80009258](@ref func_80009258) | 0x80009258 [func_8000929C](@ref func_8000929C) | 0x8000929C -[func_800097E0](@ref func_800097E0) | 0x800097E0 +[update_vehicles](@ref update_vehicles) | 0x800097E0 [func_800098FC](@ref func_800098FC) | 0x800098FC [func_800099EC](@ref func_800099EC) | 0x800099EC [func_80009B60](@ref func_80009B60) | 0x80009B60 @@ -148,7 +148,7 @@ Variable Name | Memory Address [func_8000EE10](@ref func_8000EE10) | 0x8000EE10 [func_8000EE58](@ref func_8000EE58) | 0x8000EE58 [func_8000EEDC](@ref func_8000EEDC) | 0x8000EEDC -[func_8000EF20](@ref func_8000EF20) | 0x8000EF20 +[generate_player_smoke](@ref generate_player_smoke) | 0x8000EF20 [func_8000F0E0](@ref func_8000F0E0) | 0x8000F0E0 [func_8000F124](@ref func_8000F124) | 0x8000F124 [func_8000F2BC](@ref func_8000F2BC) | 0x8000F2BC @@ -180,12 +180,12 @@ Variable Name | Memory Address [func_80012780](@ref func_80012780) | 0x80012780 [func_800127E0](@ref func_800127E0) | 0x800127E0 [func_80012A48](@ref func_80012A48) | 0x80012A48 -[func_80012AC0](@ref func_80012AC0) | 0x80012AC0 +[update_vehicle_trains](@ref update_vehicle_trains) | 0x80012AC0 [func_80012DC0](@ref func_80012DC0) | 0x80012DC0 [func_80013054](@ref func_80013054) | 0x80013054 [func_800131DC](@ref func_800131DC) | 0x800131DC [func_800132F4](@ref func_800132F4) | 0x800132F4 -[func_800133C4](@ref func_800133C4) | 0x800133C4 +[update_vehicle_paddle_boats](@ref update_vehicle_paddle_boats) | 0x800133C4 [func_80013854](@ref func_80013854) | 0x80013854 [func_800139E4](@ref func_800139E4) | 0x800139E4 [func_80013C74](@ref func_80013C74) | 0x80013C74 @@ -506,12 +506,12 @@ Variable Name | Memory Address [func_800416AC](@ref func_800416AC) | 0x800416AC [func_800416D8](@ref func_800416D8) | 0x800416D8 [func_80041724](@ref func_80041724) | 0x80041724 -[func_80041770](@ref func_80041770) | 0x80041770 +[get_angle_between_xy](@ref get_angle_between_xy) | 0x80041770 [func_800417B4](@ref func_800417B4) | 0x800417B4 [func_800418AC](@ref func_800418AC) | 0x800418AC [func_800418E8](@ref func_800418E8) | 0x800418E8 [func_80041924](@ref func_80041924) | 0x80041924 -[func_80041980](@ref func_80041980) | 0x80041980 +[is_particle_on_screen](@ref is_particle_on_screen) | 0x80041980 [func_800419F8](@ref func_800419F8) | 0x800419F8 [func_80041A70](@ref func_80041A70) | 0x80041A70 [mtfx_translation_x_y](@ref mtfx_translation_x_y) | 0x80041A78 @@ -521,7 +521,7 @@ Variable Name | Memory Address [mtxf_translation_x_y_rotate_z_scale_x_y](@ref mtxf_translation_x_y_rotate_z_scale_x_y) | 0x80041C64 [func_80041D24](@ref func_80041D24) | 0x80041D24 [func_80041D34](@ref func_80041D34) | 0x80041D34 -[func_80041EF4](@ref func_80041EF4) | 0x80041EF4 +[set_matrix_hud_screen](@ref set_matrix_hud_screen) | 0x80041EF4 [func_80041F54](@ref func_80041F54) | 0x80041F54 [func_80042000](@ref func_80042000) | 0x80042000 [func_800420A8](@ref func_800420A8) | 0x800420A8 @@ -560,16 +560,16 @@ Variable Name | Memory Address [func_800438C4](@ref func_800438C4) | 0x800438C4 [func_8004398C](@ref func_8004398C) | 0x8004398C [func_80043A54](@ref func_80043A54) | 0x80043A54 -[func_80043A84](@ref func_80043A84) | 0x80043A84 -[func_80043C28](@ref func_80043C28) | 0x80043C28 -[func_80043D50](@ref func_80043D50) | 0x80043D50 -[func_80043EF8](@ref func_80043EF8) | 0x80043EF8 -[func_800440B8](@ref func_800440B8) | 0x800440B8 -[func_800441E0](@ref func_800441E0) | 0x800441E0 -[func_80044388](@ref func_80044388) | 0x80044388 -[func_800444B0](@ref func_800444B0) | 0x800444B0 -[func_80044658](@ref func_80044658) | 0x80044658 -[func_8004477C](@ref func_8004477C) | 0x8004477C +[load_texture_block_rgba32_nomirror](@ref load_texture_block_rgba32_nomirror) | 0x80043A84 +[load_texture_tile_rgba32_nomirror](@ref load_texture_tile_rgba32_nomirror) | 0x80043C28 +[load_texture_block_rgba16_mirror](@ref load_texture_block_rgba16_mirror) | 0x80043D50 +[load_texture_block_rgba16_nomirror](@ref load_texture_block_rgba16_nomirror) | 0x80043EF8 +[load_texture_tile_rgba16_nomirror](@ref load_texture_tile_rgba16_nomirror) | 0x800440B8 +[load_texture_block_ia16_nomirror](@ref load_texture_block_ia16_nomirror) | 0x800441E0 +[load_texture_tile_ia16_nomirror](@ref load_texture_tile_ia16_nomirror) | 0x80044388 +[load_texture_block_ia8_nomirror](@ref load_texture_block_ia8_nomirror) | 0x800444B0 +[load_texture_tile_ia8_nomirror](@ref load_texture_tile_ia8_nomirror) | 0x80044658 +[load_texture_block_i8_nomirror](@ref load_texture_block_i8_nomirror) | 0x8004477C [func_80044924](@ref func_80044924) | 0x80044924 [func_80044AB8](@ref func_80044AB8) | 0x80044AB8 [func_80044BF8](@ref func_80044BF8) | 0x80044BF8 @@ -615,7 +615,7 @@ Variable Name | Memory Address [func_80046D40](@ref func_80046D40) | 0x80046D40 [func_80046D90](@ref func_80046D90) | 0x80046D90 [func_80046DF4](@ref func_80046DF4) | 0x80046DF4 -[func_80046E60](@ref func_80046E60) | 0x80046E60 +[load_texture_and_tlut](@ref load_texture_and_tlut) | 0x80046E60 [func_80046F60](@ref func_80046F60) | 0x80046F60 [func_80047068](@ref func_80047068) | 0x80047068 [draw_rectangle_texture_overlap](@ref draw_rectangle_texture_overlap) | 0x80047270 @@ -637,7 +637,7 @@ Variable Name | Memory Address [func_80047F40](@ref func_80047F40) | 0x80047F40 [func_80047FBC](@ref func_80047FBC) | 0x80047FBC [func_80048038](@ref func_80048038) | 0x80048038 -[func_800480B4](@ref func_800480B4) | 0x800480B4 +[draw_2d_texture_at](@ref draw_2d_texture_at) | 0x800480B4 [func_80048130](@ref func_80048130) | 0x80048130 [func_800481B4](@ref func_800481B4) | 0x800481B4 [func_80048228](@ref func_80048228) | 0x80048228 @@ -725,7 +725,7 @@ Variable Name | Memory Address [func_8004B05C](@ref func_8004B05C) | 0x8004B05C [func_8004B138](@ref func_8004B138) | 0x8004B138 [func_8004B180](@ref func_8004B180) | 0x8004B180 -[func_8004B1C8](@ref func_8004B1C8) | 0x8004B1C8 +[set_color_render](@ref set_color_render) | 0x8004B1C8 [func_8004B254](@ref func_8004B254) | 0x8004B254 [set_transparency](@ref set_transparency) | 0x8004B2BC [func_8004B310](@ref func_8004B310) | 0x8004B310 @@ -752,7 +752,7 @@ Variable Name | Memory Address [func_8004C268](@ref func_8004C268) | 0x8004C268 [func_8004C354](@ref func_8004C354) | 0x8004C354 [func_8004C35C](@ref func_8004C35C) | 0x8004C35C -[func_8004C364](@ref func_8004C364) | 0x8004C364 +[draw_hud_2d_texture](@ref draw_hud_2d_texture) | 0x8004C364 [func_8004C450](@ref func_8004C450) | 0x8004C450 [func_8004C53C](@ref func_8004C53C) | 0x8004C53C [func_8004C628](@ref func_8004C628) | 0x8004C628 @@ -761,15 +761,15 @@ Variable Name | Memory Address [func_8004C91C](@ref func_8004C91C) | 0x8004C91C [func_8004C9D8](@ref func_8004C9D8) | 0x8004C9D8 [func_8004CA58](@ref func_8004CA58) | 0x8004CA58 -[func_8004CAD0](@ref func_8004CAD0) | 0x8004CAD0 -[func_8004CB00](@ref func_8004CB00) | 0x8004CB00 -[func_8004CB30](@ref func_8004CB30) | 0x8004CB30 -[func_8004CB60](@ref func_8004CB60) | 0x8004CB60 -[func_8004CB90](@ref func_8004CB90) | 0x8004CB90 +[draw_hud_2d_texture_8x8](@ref draw_hud_2d_texture_8x8) | 0x8004CAD0 +[draw_hud_2d_texture_8x16](@ref draw_hud_2d_texture_8x16) | 0x8004CB00 +[draw_hud_2d_texture_16x16](@ref draw_hud_2d_texture_16x16) | 0x8004CB30 +[draw_hud_2d_texture_32x8](@ref draw_hud_2d_texture_32x8) | 0x8004CB60 +[draw_hud_2d_texture_32x16](@ref draw_hud_2d_texture_32x16) | 0x8004CB90 [func_8004CBC0](@ref func_8004CBC0) | 0x8004CBC0 -[func_8004CBF4](@ref func_8004CBF4) | 0x8004CBF4 +[draw_hud_2d_texture_32x32](@ref draw_hud_2d_texture_32x32) | 0x8004CBF4 [func_8004CC24](@ref func_8004CC24) | 0x8004CC24 -[func_8004CC54](@ref func_8004CC54) | 0x8004CC54 +[draw_hud_2d_texture_40x32](@ref draw_hud_2d_texture_40x32) | 0x8004CC54 [func_8004CC84](@ref func_8004CC84) | 0x8004CC84 [func_8004CCB4](@ref func_8004CCB4) | 0x8004CCB4 [func_8004CCE4](@ref func_8004CCE4) | 0x8004CCE4 @@ -823,9 +823,9 @@ Variable Name | Memory Address [func_8004E59C](@ref func_8004E59C) | 0x8004E59C [func_8004E5D8](@ref func_8004E5D8) | 0x8004E5D8 [func_8004E604](@ref func_8004E604) | 0x8004E604 -[func_8004E638](@ref func_8004E638) | 0x8004E638 +[draw_item_window](@ref draw_item_window) | 0x8004E638 [func_8004E6C4](@ref func_8004E6C4) | 0x8004E6C4 -[func_8004E78C](@ref func_8004E78C) | 0x8004E78C +[draw_simplified_lap_count](@ref draw_simplified_lap_count) | 0x8004E78C [func_8004E800](@ref func_8004E800) | 0x8004E800 [func_8004E998](@ref func_8004E998) | 0x8004E998 [func_8004EB30](@ref func_8004EB30) | 0x8004EB30 @@ -842,9 +842,9 @@ Variable Name | Memory Address [print_timer](@ref print_timer) | 0x8004F7F4 [func_8004F8CC](@ref func_8004F8CC) | 0x8004F8CC [func_8004F950](@ref func_8004F950) | 0x8004F950 -[func_8004F9CC](@ref func_8004F9CC) | 0x8004F9CC -[func_8004FA78](@ref func_8004FA78) | 0x8004FA78 -[func_8004FC78](@ref func_8004FC78) | 0x8004FC78 +[print_timer_rainbow](@ref print_timer_rainbow) | 0x8004F9CC +[render_hud_timer](@ref render_hud_timer) | 0x8004FA78 +[draw_lap_count](@ref draw_lap_count) | 0x8004FC78 [func_8004FDB4](@ref func_8004FDB4) | 0x8004FDB4 [func_80050320](@ref func_80050320) | 0x80050320 [func_80050644](@ref func_80050644) | 0x80050644 @@ -853,8 +853,8 @@ Variable Name | Memory Address [func_80050C68](@ref func_80050C68) | 0x80050C68 [func_80050E34](@ref func_80050E34) | 0x80050E34 [func_800514BC](@ref func_800514BC) | 0x800514BC -[func_80051638](@ref func_80051638) | 0x80051638 -[func_800517C8](@ref func_800517C8) | 0x800517C8 +[render_object_leaf_particle](@ref render_object_leaf_particle) | 0x80051638 +[render_object_snowflakes_particles](@ref render_object_snowflakes_particles) | 0x800517C8 [func_800518F8](@ref func_800518F8) | 0x800518F8 [func_800519D4](@ref func_800519D4) | 0x800519D4 [func_80051ABC](@ref func_80051ABC) | 0x80051ABC @@ -867,59 +867,59 @@ Variable Name | Memory Address [func_800520C0](@ref func_800520C0) | 0x800520C0 [func_8005217C](@ref func_8005217C) | 0x8005217C [func_800523B8](@ref func_800523B8) | 0x800523B8 -[func_800524B4](@ref func_800524B4) | 0x800524B4 -[func_80052590](@ref func_80052590) | 0x80052590 -[func_800527D8](@ref func_800527D8) | 0x800527D8 +[render_object_boos](@ref render_object_boos) | 0x800524B4 +[render_object_bat](@ref render_object_bat) | 0x80052590 +[render_object_trash_bin](@ref render_object_trash_bin) | 0x800527D8 [func_8005285C](@ref func_8005285C) | 0x8005285C [func_800528EC](@ref func_800528EC) | 0x800528EC -[func_80052C60](@ref func_80052C60) | 0x80052C60 +[render_ice_block](@ref render_ice_block) | 0x80052C60 [func_80052D70](@ref func_80052D70) | 0x80052D70 [func_80052E30](@ref func_80052E30) | 0x80052E30 -[func_80052F20](@ref func_80052F20) | 0x80052F20 -[func_8005309C](@ref func_8005309C) | 0x8005309C -[func_8005327C](@ref func_8005327C) | 0x8005327C -[func_800532A4](@ref func_800532A4) | 0x800532A4 +[render_object_snowmans_list_2](@ref render_object_snowmans_list_2) | 0x80052F20 +[render_object_snowmans_list_1](@ref render_object_snowmans_list_1) | 0x8005309C +[render_object_snowmans](@ref render_object_snowmans) | 0x8005327C +[render_lakitu](@ref render_lakitu) | 0x800532A4 [func_800534A4](@ref func_800534A4) | 0x800534A4 [func_800534E8](@ref func_800534E8) | 0x800534E8 -[func_800536C8](@ref func_800536C8) | 0x800536C8 -[func_80053870](@ref func_80053870) | 0x80053870 +[render_object_thwomps_model](@ref render_object_thwomps_model) | 0x800536C8 +[render_object_thwomps](@ref render_object_thwomps) | 0x80053870 [func_80053D74](@ref func_80053D74) | 0x80053D74 [func_80053E6C](@ref func_80053E6C) | 0x80053E6C -[func_800540CC](@ref func_800540CC) | 0x800540CC -[func_800541BC](@ref func_800541BC) | 0x800541BC -[func_80054324](@ref func_80054324) | 0x80054324 -[func_80054414](@ref func_80054414) | 0x80054414 -[func_8005457C](@ref func_8005457C) | 0x8005457C -[func_80054664](@ref func_80054664) | 0x80054664 +[render_object_train_smoke_particle](@ref render_object_train_smoke_particle) | 0x800540CC +[render_object_train_smoke_particles](@ref render_object_train_smoke_particles) | 0x800541BC +[render_object_paddle_boat_smoke_particle](@ref render_object_paddle_boat_smoke_particle) | 0x80054324 +[render_object_paddle_boat_smoke_particles](@ref render_object_paddle_boat_smoke_particles) | 0x80054414 +[render_object_bowser_flame_particle](@ref render_object_bowser_flame_particle) | 0x8005457C +[render_object_bowser_flame](@ref render_object_bowser_flame) | 0x80054664 [func_8005477C](@ref func_8005477C) | 0x8005477C -[func_80054938](@ref func_80054938) | 0x80054938 +[render_object_smoke_particles](@ref render_object_smoke_particles) | 0x80054938 [func_80054AFC](@ref func_80054AFC) | 0x80054AFC [func_80054BE8](@ref func_80054BE8) | 0x80054BE8 [func_80054D00](@ref func_80054D00) | 0x80054D00 [func_80054E10](@ref func_80054E10) | 0x80054E10 [func_80054EB8](@ref func_80054EB8) | 0x80054EB8 [func_80054F04](@ref func_80054F04) | 0x80054F04 -[func_800550A4](@ref func_800550A4) | 0x800550A4 +[render_object_moles](@ref render_object_moles) | 0x800550A4 [func_80055164](@ref func_80055164) | 0x80055164 [func_80055228](@ref func_80055228) | 0x80055228 [func_800552BC](@ref func_800552BC) | 0x800552BC -[func_80055380](@ref func_80055380) | 0x80055380 -[func_80055458](@ref func_80055458) | 0x80055458 -[func_80055528](@ref func_80055528) | 0x80055528 +[render_object_seagulls](@ref render_object_seagulls) | 0x80055380 +[draw_crabs](@ref draw_crabs) | 0x80055458 +[render_object_crabs](@ref render_object_crabs) | 0x80055528 [func_800555BC](@ref func_800555BC) | 0x800555BC -[func_8005568C](@ref func_8005568C) | 0x8005568C +[render_object_hedgehogs](@ref render_object_hedgehogs) | 0x8005568C [func_800557AC](@ref func_800557AC) | 0x800557AC [func_800557B4](@ref func_800557B4) | 0x800557B4 -[func_8005592C](@ref func_8005592C) | 0x8005592C +[render_object_train_penguins](@ref render_object_train_penguins) | 0x8005592C [func_80055AB8](@ref func_80055AB8) | 0x80055AB8 -[func_80055C38](@ref func_80055C38) | 0x80055C38 +[render_object_chain_chomps](@ref render_object_chain_chomps) | 0x80055C38 [func_80055CCC](@ref func_80055CCC) | 0x80055CCC -[func_80055E68](@ref func_80055E68) | 0x80055E68 +[render_object_hot_air_balloon](@ref render_object_hot_air_balloon) | 0x80055E68 [func_80055EF4](@ref func_80055EF4) | 0x80055EF4 [func_80055F48](@ref func_80055F48) | 0x80055F48 [func_80055FA0](@ref func_80055FA0) | 0x80055FA0 [func_80056160](@ref func_80056160) | 0x80056160 -[func_80056188](@ref func_80056188) | 0x80056188 +[render_object_neon](@ref render_object_neon) | 0x80056188 [func_800562E4](@ref func_800562E4) | 0x800562E4 [func_800563DC](@ref func_800563DC) | 0x800563DC [func_8005669C](@ref func_8005669C) | 0x8005669C @@ -927,7 +927,7 @@ Variable Name | Memory Address [func_800569F4](@ref func_800569F4) | 0x800569F4 [func_80056A40](@ref func_80056A40) | 0x80056A40 [func_80056A94](@ref func_80056A94) | 0x80056A94 -[func_80056AC0](@ref func_80056AC0) | 0x80056AC0 +[render_object_bomb_kart](@ref render_object_bomb_kart) | 0x80056AC0 [func_80056BF0](@ref func_80056BF0) | 0x80056BF0 [func_80056E24](@ref func_80056E24) | 0x80056E24 [func_80056FCC](@ref func_80056FCC) | 0x80056FCC @@ -965,21 +965,21 @@ Variable Name | Memory Address [func_80057CE4](@ref func_80057CE4) | 0x80057CE4 [func_80057DD0](@ref func_80057DD0) | 0x80057DD0 [func_80057FC4](@ref func_80057FC4) | 0x80057FC4 -[func_80058090](@ref func_80058090) | 0x80058090 -[func_800581C8](@ref func_800581C8) | 0x800581C8 -[func_800582CC](@ref func_800582CC) | 0x800582CC -[func_80058394](@ref func_80058394) | 0x80058394 -[func_8005845C](@ref func_8005845C) | 0x8005845C -[func_80058538](@ref func_80058538) | 0x80058538 -[func_80058640](@ref func_80058640) | 0x80058640 -[func_800586FC](@ref func_800586FC) | 0x800586FC -[func_800587A4](@ref func_800587A4) | 0x800587A4 -[func_8005884C](@ref func_8005884C) | 0x8005884C -[func_800588F4](@ref func_800588F4) | 0x800588F4 -[func_80058B58](@ref func_80058B58) | 0x80058B58 +[render_object](@ref render_object) | 0x80058090 +[render_object_p1](@ref render_object_p1) | 0x800581C8 +[render_object_p2](@ref render_object_p2) | 0x800582CC +[render_object_p3](@ref render_object_p3) | 0x80058394 +[render_object_p4](@ref render_object_p4) | 0x8005845C +[render_player_snow_effect](@ref render_player_snow_effect) | 0x80058538 +[render_player_snow_effect_one](@ref render_player_snow_effect_one) | 0x80058640 +[render_player_snow_effect_two](@ref render_player_snow_effect_two) | 0x800586FC +[render_player_snow_effect_three](@ref render_player_snow_effect_three) | 0x800587A4 +[render_player_snow_effect_four](@ref render_player_snow_effect_four) | 0x8005884C +[render_object_for_player](@ref render_object_for_player) | 0x800588F4 +[render_snowing_effect](@ref render_snowing_effect) | 0x80058B58 [func_80058BF4](@ref func_80058BF4) | 0x80058BF4 [func_80058C20](@ref func_80058C20) | 0x80058C20 -[func_80058DB4](@ref func_80058DB4) | 0x80058DB4 +[render_hud](@ref render_hud) | 0x80058DB4 [func_80058F48](@ref func_80058F48) | 0x80058F48 [func_80058F78](@ref func_80058F78) | 0x80058F78 [func_80059024](@ref func_80059024) | 0x80059024 @@ -987,23 +987,23 @@ Variable Name | Memory Address [func_800590D4](@ref func_800590D4) | 0x800590D4 [func_800591B4](@ref func_800591B4) | 0x800591B4 [func_80059358](@ref func_80059358) | 0x80059358 -[func_80059360](@ref func_80059360) | 0x80059360 +[render_hud_2p_horizontal_player_two_horizontal_player_one](@ref render_hud_2p_horizontal_player_two_horizontal_player_one) | 0x80059360 [func_800593F0](@ref func_800593F0) | 0x800593F0 -[func_800593F8](@ref func_800593F8) | 0x800593F8 -[func_80059488](@ref func_80059488) | 0x80059488 +[render_hud_2p_horizontal_player_two](@ref render_hud_2p_horizontal_player_two) | 0x800593F8 +[draw_simplified_hud](@ref draw_simplified_hud) | 0x80059488 [func_800594F0](@ref func_800594F0) | 0x800594F0 -[func_800594F8](@ref func_800594F8) | 0x800594F8 +[render_hud_2p_vertical_player_one](@ref render_hud_2p_vertical_player_one) | 0x800594F8 [func_80059528](@ref func_80059528) | 0x80059528 -[func_80059530](@ref func_80059530) | 0x80059530 -[func_80059560](@ref func_80059560) | 0x80059560 +[render_hud_2p_vertical_player_two](@ref render_hud_2p_vertical_player_two) | 0x80059530 +[render_hud_lap_3p_4p](@ref render_hud_lap_3p_4p) | 0x80059560 [func_800596A8](@ref func_800596A8) | 0x800596A8 -[func_800596D8](@ref func_800596D8) | 0x800596D8 +[render_hud_1p_multi](@ref render_hud_1p_multi) | 0x800596D8 [func_80059710](@ref func_80059710) | 0x80059710 -[func_80059718](@ref func_80059718) | 0x80059718 +[render_hud_2p_multi](@ref render_hud_2p_multi) | 0x80059718 [func_80059750](@ref func_80059750) | 0x80059750 -[func_80059780](@ref func_80059780) | 0x80059780 +[render_hud_3p_multi](@ref render_hud_3p_multi) | 0x80059780 [func_800597B8](@ref func_800597B8) | 0x800597B8 -[func_800597E8](@ref func_800597E8) | 0x800597E8 +[render_hud_4p_multi](@ref render_hud_4p_multi) | 0x800597E8 [func_80059820](@ref func_80059820) | 0x80059820 [randomize_seed_from_controller](@ref randomize_seed_from_controller) | 0x800598D4 [func_8005994C](@ref func_8005994C) | 0x8005994C @@ -1017,7 +1017,7 @@ Variable Name | Memory Address [func_8005A380](@ref func_8005A380) | 0x8005A380 [func_8005A3C0](@ref func_8005A3C0) | 0x8005A3C0 [func_8005A71C](@ref func_8005A71C) | 0x8005A71C -[update_obj](@ref update_obj) | 0x8005A74C +[update_object](@ref update_object) | 0x8005A74C [func_8005A99C](@ref func_8005A99C) | 0x8005A99C [func_8005AA34](@ref func_8005AA34) | 0x8005AA34 [func_8005AA4C](@ref func_8005AA4C) | 0x8005AA4C @@ -1164,7 +1164,7 @@ Variable Name | Memory Address [func_8006E848](@ref func_8006E848) | 0x8006E848 [func_8006E8C4](@ref func_8006E8C4) | 0x8006E8C4 [func_8006E940](@ref func_8006E940) | 0x8006E940 -[init_object_list](@ref init_object_list) | 0x8006E9C0 +[init_hud](@ref init_hud) | 0x8006E9C0 [reset_object_variable](@ref reset_object_variable) | 0x8006EA5C [func_8006EB10](@ref func_8006EB10) | 0x8006EB10 [clear_object_list](@ref clear_object_list) | 0x8006ED60 @@ -1197,11 +1197,11 @@ Variable Name | Memory Address [delete_object_wrapper](@ref delete_object_wrapper) | 0x80072100 [func_80072120](@ref func_80072120) | 0x80072120 [func_80072180](@ref func_80072180) | 0x80072180 -[set_object_flag_unk_054_true](@ref set_object_flag_unk_054_true) | 0x800721C0 -[set_object_flag_unk_054_false](@ref set_object_flag_unk_054_false) | 0x800721E8 +[set_object_flag_status_true](@ref set_object_flag_status_true) | 0x800721C0 +[set_object_flag_status_false](@ref set_object_flag_status_false) | 0x800721E8 [func_80072214](@ref func_80072214) | 0x80072214 -[is_obj_index_flag_unk_054_active](@ref is_obj_index_flag_unk_054_active) | 0x8007223C -[is_obj_index_flag_unk_054_inactive](@ref is_obj_index_flag_unk_054_inactive) | 0x80072270 +[is_obj_flag_status_active](@ref is_obj_flag_status_active) | 0x8007223C +[is_obj_index_flag_status_inactive](@ref is_obj_index_flag_status_inactive) | 0x80072270 [func_800722A4](@ref func_800722A4) | 0x800722A4 [func_800722CC](@ref func_800722CC) | 0x800722CC [func_800722F8](@ref func_800722F8) | 0x800722F8 @@ -1307,12 +1307,12 @@ Variable Name | Memory Address [func_800755FC](@ref func_800755FC) | 0x800755FC [func_80075698](@ref func_80075698) | 0x80075698 [func_80075714](@ref func_80075714) | 0x80075714 -[func_80075838](@ref func_80075838) | 0x80075838 +[update_train_smoke](@ref update_train_smoke) | 0x80075838 [func_800759EC](@ref func_800759EC) | 0x800759EC [func_80075A6C](@ref func_80075A6C) | 0x80075A6C [func_80075B08](@ref func_80075B08) | 0x80075B08 [func_80075B84](@ref func_80075B84) | 0x80075B84 -[func_80075CA8](@ref func_80075CA8) | 0x80075CA8 +[update_ferries_smoke_particle](@ref update_ferries_smoke_particle) | 0x80075CA8 [func_80075E5C](@ref func_80075E5C) | 0x80075E5C [func_80075F28](@ref func_80075F28) | 0x80075F28 [func_80075F98](@ref func_80075F98) | 0x80075F98 @@ -1332,28 +1332,28 @@ Variable Name | Memory Address [func_800769D8](@ref func_800769D8) | 0x800769D8 [func_80076AEC](@ref func_80076AEC) | 0x80076AEC [func_80076B7C](@ref func_80076B7C) | 0x80076B7C -[update_particle_bowser_castle](@ref update_particle_bowser_castle) | 0x80076B84 -[func_80076C9C](@ref func_80076C9C) | 0x80076C9C -[func_80076D70](@ref func_80076D70) | 0x80076D70 +[update_flame_particle](@ref update_flame_particle) | 0x80076B84 +[init_object_smoke_paticle](@ref init_object_smoke_paticle) | 0x80076C9C +[init_smoke_particle](@ref init_smoke_particle) | 0x80076D70 [func_80076DC4](@ref func_80076DC4) | 0x80076DC4 [func_80076E14](@ref func_80076E14) | 0x80076E14 [func_80076ED8](@ref func_80076ED8) | 0x80076ED8 [func_80076F2C](@ref func_80076F2C) | 0x80076F2C -[func_80076FEC](@ref func_80076FEC) | 0x80076FEC -[func_800770F0](@ref func_800770F0) | 0x800770F0 +[init_object_smoke_particle](@ref init_object_smoke_particle) | 0x80076FEC +[init_smoke_particles](@ref init_smoke_particles) | 0x800770F0 [func_80077138](@ref func_80077138) | 0x80077138 [func_800773D8](@ref func_800773D8) | 0x800773D8 [func_80077428](@ref func_80077428) | 0x80077428 [func_80077450](@ref func_80077450) | 0x80077450 [func_80077584](@ref func_80077584) | 0x80077584 [func_80077640](@ref func_80077640) | 0x80077640 -[init_leaf_particle](@ref init_leaf_particle) | 0x80077700 -[func_80077A54](@ref func_80077A54) | 0x80077A54 -[func_80077AB0](@ref func_80077AB0) | 0x80077AB0 +[init_object_leaf_particle](@ref init_object_leaf_particle) | 0x80077700 +[init_leaf_particle](@ref init_leaf_particle) | 0x80077A54 +[spawn_leaf](@ref spawn_leaf) | 0x80077AB0 [func_80077B14](@ref func_80077B14) | 0x80077B14 [func_80077B3C](@ref func_80077B3C) | 0x80077B3C [func_80077BCC](@ref func_80077BCC) | 0x80077BCC -[func_80077C9C](@ref func_80077C9C) | 0x80077C9C +[update_leaf](@ref update_leaf) | 0x80077C9C [func_80077D5C](@ref func_80077D5C) | 0x80077D5C [func_80077E20](@ref func_80077E20) | 0x80077E20 [func_80077EB8](@ref func_80077EB8) | 0x80077EB8 @@ -1364,7 +1364,7 @@ Variable Name | Memory Address [func_80078288](@ref func_80078288) | 0x80078288 [func_800786EC](@ref func_800786EC) | 0x800786EC [func_80078790](@ref func_80078790) | 0x80078790 -[func_80078838](@ref func_80078838) | 0x80078838 +[update_snowflakes](@ref update_snowflakes) | 0x80078838 [func_800788F8](@ref func_800788F8) | 0x800788F8 [func_800789AC](@ref func_800789AC) | 0x800789AC [func_80078A44](@ref func_80078A44) | 0x80078A44 @@ -1377,29 +1377,29 @@ Variable Name | Memory Address [func_800790E4](@ref func_800790E4) | 0x800790E4 [func_80079114](@ref func_80079114) | 0x80079114 [func_800791F0](@ref func_800791F0) | 0x800791F0 -[init_obj_laikitu_red_flag_countdown](@ref init_obj_laikitu_red_flag_countdown) | 0x800792D8 -[update_obj_laikitu_countdown](@ref update_obj_laikitu_countdown) | 0x80079380 -[init_obj_laikitu_red_flag](@ref init_obj_laikitu_red_flag) | 0x8007963C -[update_obj_laikitu_red_flag](@ref update_obj_laikitu_red_flag) | 0x80079700 +[init_obj_lakitu_red_flag_countdown](@ref init_obj_lakitu_red_flag_countdown) | 0x800792D8 +[update_object_lakitu_countdown](@ref update_object_lakitu_countdown) | 0x80079380 +[init_obj_lakitu_red_flag](@ref init_obj_lakitu_red_flag) | 0x8007963C +[update_object_lakitu_red_flag](@ref update_object_lakitu_red_flag) | 0x80079700 [func_800797AC](@ref func_800797AC) | 0x800797AC [func_80079860](@ref func_80079860) | 0x80079860 [func_8007993C](@ref func_8007993C) | 0x8007993C -[init_obj_laikitu_red_flag_fishing](@ref init_obj_laikitu_red_flag_fishing) | 0x800799A8 +[init_obj_lakitu_red_flag_fishing](@ref init_obj_lakitu_red_flag_fishing) | 0x800799A8 [func_80079A5C](@ref func_80079A5C) | 0x80079A5C -[update_obj_laikitu_fishing](@ref update_obj_laikitu_fishing) | 0x80079B40 -[update_obj_laikitu_fishing2](@ref update_obj_laikitu_fishing2) | 0x80079D44 +[update_object_lakitu_fishing](@ref update_object_lakitu_fishing) | 0x80079B40 +[update_object_lakitu_fishing2](@ref update_object_lakitu_fishing2) | 0x80079D44 [func_8007A060](@ref func_8007A060) | 0x8007A060 -[update_obj_laikitu_second_lap](@ref update_obj_laikitu_second_lap) | 0x8007A124 +[update_object_lakitu_second_lap](@ref update_object_lakitu_second_lap) | 0x8007A124 [func_8007A228](@ref func_8007A228) | 0x8007A228 -[update_obj_laikitu_final_lap](@ref update_obj_laikitu_final_lap) | 0x8007A2EC +[update_object_lakitu_final_lap](@ref update_object_lakitu_final_lap) | 0x8007A2EC [func_8007A3F0](@ref func_8007A3F0) | 0x8007A3F0 -[update_obj_laikitu_reverse](@ref update_obj_laikitu_reverse) | 0x8007A4D4 +[update_object_lakitu_reverse](@ref update_object_lakitu_reverse) | 0x8007A4D4 [func_8007A66C](@ref func_8007A66C) | 0x8007A66C [func_8007A778](@ref func_8007A778) | 0x8007A778 [func_8007A884](@ref func_8007A884) | 0x8007A884 [func_8007A88C](@ref func_8007A88C) | 0x8007A88C [func_8007A910](@ref func_8007A910) | 0x8007A910 -[update_obj_laikitu](@ref update_obj_laikitu) | 0x8007A948 +[update_object_lakitu](@ref update_object_lakitu) | 0x8007A948 [func_8007AA44](@ref func_8007AA44) | 0x8007AA44 [func_8007ABFC](@ref func_8007ABFC) | 0x8007ABFC [consume_item](@ref consume_item) | 0x8007AC9C @@ -1413,13 +1413,13 @@ Variable Name | Memory Address [func_8007BB9C](@ref func_8007BB9C) | 0x8007BB9C [func_8007BBBC](@ref func_8007BBBC) | 0x8007BBBC [func_8007BD04](@ref func_8007BD04) | 0x8007BD04 -[func_8007BDA8](@ref func_8007BDA8) | 0x8007BDA8 +[update_cheep_cheep_race](@ref update_cheep_cheep_race) | 0x8007BDA8 [init_var_cheep_cheep](@ref init_var_cheep_cheep) | 0x8007BDE0 [func_8007BEC8](@ref func_8007BEC8) | 0x8007BEC8 [func_8007BFB0](@ref func_8007BFB0) | 0x8007BFB0 -[func_8007C280](@ref func_8007C280) | 0x8007C280 -[func_8007C2F8](@ref func_8007C2F8) | 0x8007C2F8 -[func_8007C340](@ref func_8007C340) | 0x8007C340 +[update_cheep_cheep_ending](@ref update_cheep_cheep_ending) | 0x8007C280 +[update_cheep_cheep](@ref update_cheep_cheep) | 0x8007C2F8 +[wrapper_update_boos](@ref wrapper_update_boos) | 0x8007C340 [func_8007C360](@ref func_8007C360) | 0x8007C360 [func_8007C420](@ref func_8007C420) | 0x8007C420 [func_8007C49C](@ref func_8007C49C) | 0x8007C49C @@ -1431,7 +1431,7 @@ Variable Name | Memory Address [func_8007C91C](@ref func_8007C91C) | 0x8007C91C [func_8007C9F8](@ref func_8007C9F8) | 0x8007C9F8 [func_8007CA70](@ref func_8007CA70) | 0x8007CA70 -[func_8007CC00](@ref func_8007CC00) | 0x8007CC00 +[update_boos](@ref update_boos) | 0x8007CC00 [func_8007CE0C](@ref func_8007CE0C) | 0x8007CE0C [func_8007CEDC](@ref func_8007CEDC) | 0x8007CEDC [func_8007D070](@ref func_8007D070) | 0x8007D070 @@ -1445,11 +1445,11 @@ Variable Name | Memory Address [func_8007DA4C](@ref func_8007DA4C) | 0x8007DA4C [func_8007DA74](@ref func_8007DA74) | 0x8007DA74 [func_8007DAF8](@ref func_8007DAF8) | 0x8007DAF8 -[func_8007DB44](@ref func_8007DB44) | 0x8007DB44 +[update_bat](@ref update_bat) | 0x8007DB44 [func_8007DDC0](@ref func_8007DDC0) | 0x8007DDC0 [init_bb_trash_bin](@ref init_bb_trash_bin) | 0x8007DF20 [func_8007E00C](@ref func_8007E00C) | 0x8007E00C -[func_8007E1AC](@ref func_8007E1AC) | 0x8007E1AC +[update_trash_bin](@ref update_trash_bin) | 0x8007E1AC [func_8007E1F4](@ref func_8007E1F4) | 0x8007E1F4 [func_8007E358](@ref func_8007E358) | 0x8007E358 [func_8007E3EC](@ref func_8007E3EC) | 0x8007E3EC @@ -1501,16 +1501,16 @@ Variable Name | Memory Address [func_80081D34](@ref func_80081D34) | 0x80081D34 [func_80081FF4](@ref func_80081FF4) | 0x80081FF4 [func_800821AC](@ref func_800821AC) | 0x800821AC -[func_800821FC](@ref func_800821FC) | 0x800821FC +[update_moles](@ref update_moles) | 0x800821FC [func_8008241C](@ref func_8008241C) | 0x8008241C [func_80082714](@ref func_80082714) | 0x80082714 [func_8008275C](@ref func_8008275C) | 0x8008275C -[func_80082870](@ref func_80082870) | 0x80082870 +[update_seagulls](@ref update_seagulls) | 0x80082870 [init_ktb_crab](@ref init_ktb_crab) | 0x80082A4C [func_80082B34](@ref func_80082B34) | 0x80082B34 [func_80082C30](@ref func_80082C30) | 0x80082C30 [func_80082E18](@ref func_80082E18) | 0x80082E18 -[func_80082E5C](@ref func_80082E5C) | 0x80082E5C +[update_crabs](@ref update_crabs) | 0x80082E5C [func_80082F1C](@ref func_80082F1C) | 0x80082F1C [func_80083018](@ref func_80083018) | 0x80083018 [func_80083060](@ref func_80083060) | 0x80083060 @@ -1519,7 +1519,7 @@ Variable Name | Memory Address [func_80083248](@ref func_80083248) | 0x80083248 [func_800833D0](@ref func_800833D0) | 0x800833D0 [func_80083474](@ref func_80083474) | 0x80083474 -[func_800834B8](@ref func_800834B8) | 0x800834B8 +[update_hedgehogs](@ref update_hedgehogs) | 0x800834B8 [func_80083538](@ref func_80083538) | 0x80083538 [func_800836F0](@ref func_800836F0) | 0x800836F0 [func_8008379C](@ref func_8008379C) | 0x8008379C @@ -1529,7 +1529,7 @@ Variable Name | Memory Address [func_80083B0C](@ref func_80083B0C) | 0x80083B0C [func_80083BE4](@ref func_80083BE4) | 0x80083BE4 [func_80083C04](@ref func_80083C04) | 0x80083C04 -[func_80083D60](@ref func_80083D60) | 0x80083D60 +[update_snowmen](@ref update_snowmen) | 0x80083D60 [func_80083F18](@ref func_80083F18) | 0x80083F18 [func_80083FD0](@ref func_80083FD0) | 0x80083FD0 [func_8008421C](@ref func_8008421C) | 0x8008421C @@ -1543,14 +1543,14 @@ Variable Name | Memory Address [func_8008502C](@ref func_8008502C) | 0x8008502C [func_80085080](@ref func_80085080) | 0x80085080 [func_800850B0](@ref func_800850B0) | 0x800850B0 -[func_80085214](@ref func_80085214) | 0x80085214 -[func_800853DC](@ref func_800853DC) | 0x800853DC +[update_penguins](@ref update_penguins) | 0x80085214 +[init_hot_air_balloon](@ref init_hot_air_balloon) | 0x800853DC [func_80085534](@ref func_80085534) | 0x80085534 [func_80085768](@ref func_80085768) | 0x80085768 -[func_800857C0](@ref func_800857C0) | 0x800857C0 +[update_hot_air_balloon](@ref update_hot_air_balloon) | 0x800857C0 [func_80085878](@ref func_80085878) | 0x80085878 [func_800859C8](@ref func_800859C8) | 0x800859C8 -[func_80085AA8](@ref func_80085AA8) | 0x80085AA8 +[update_chain_chomps](@ref update_chain_chomps) | 0x80085AA8 [func_80085BB4](@ref func_80085BB4) | 0x80085BB4 [init_obj_neon_mushroom](@ref init_obj_neon_mushroom) | 0x80085C20 [func_80085CA0](@ref func_80085CA0) | 0x80085CA0 @@ -1560,7 +1560,7 @@ Variable Name | Memory Address [func_80085F74](@ref func_80085F74) | 0x80085F74 [func_80086074](@ref func_80086074) | 0x80086074 [func_80086110](@ref func_80086110) | 0x80086110 -[update_obj_neon](@ref update_obj_neon) | 0x80086158 +[update_object_neon](@ref update_object_neon) | 0x80086158 [update_neon](@ref update_neon) | 0x800861E0 [func_8008629C](@ref func_8008629C) | 0x8008629C [func_80086424](@ref func_80086424) | 0x80086424 @@ -1583,7 +1583,7 @@ Variable Name | Memory Address [func_80087104](@ref func_80087104) | 0x80087104 [func_800871AC](@ref func_800871AC) | 0x800871AC [func_80087258](@ref func_80087258) | 0x80087258 -[func_80087294](@ref func_80087294) | 0x80087294 +[get_angle_between_player_object](@ref get_angle_between_player_object) | 0x80087294 [angle_between_object_camera](@ref angle_between_object_camera) | 0x800872D8 [get_x_direction_angle](@ref get_x_direction_angle) | 0x80087324 [get_y_direction_angle](@ref get_y_direction_angle) | 0x80087368 @@ -1596,11 +1596,11 @@ Variable Name | Memory Address [func_8008757C](@ref func_8008757C) | 0x8008757C [func_80087620](@ref func_80087620) | 0x80087620 [func_800876A0](@ref func_800876A0) | 0x800876A0 -[func_80087710](@ref func_80087710) | 0x80087710 -[func_8008775C](@ref func_8008775C) | 0x8008775C -[func_80087798](@ref func_80087798) | 0x80087798 -[func_800877C4](@ref func_800877C4) | 0x800877C4 -[func_800877F0](@ref func_800877F0) | 0x800877F0 +[object_add_velocity_offset_xyz](@ref object_add_velocity_offset_xyz) | 0x80087710 +[object_add_velocity_offset_xz](@ref object_add_velocity_offset_xz) | 0x8008775C +[object_add_velocity_offset_x](@ref object_add_velocity_offset_x) | 0x80087798 +[object_add_velocity_offset_y](@ref object_add_velocity_offset_y) | 0x800877C4 +[object_add_velocity_offset_z](@ref object_add_velocity_offset_z) | 0x800877F0 [func_8008781C](@ref func_8008781C) | 0x8008781C [func_80087844](@ref func_80087844) | 0x80087844 [func_8008786C](@ref func_8008786C) | 0x8008786C @@ -1659,7 +1659,7 @@ Variable Name | Memory Address [func_80089F24](@ref func_80089F24) | 0x80089F24 [func_8008A060](@ref func_8008A060) | 0x8008A060 [func_8008A0B4](@ref func_8008A0B4) | 0x8008A0B4 -[func_8008A140](@ref func_8008A140) | 0x8008A140 +[is_object_visible_on_camera](@ref is_object_visible_on_camera) | 0x8008A140 [func_8008A1D0](@ref func_8008A1D0) | 0x8008A1D0 [func_8008A2CC](@ref func_8008A2CC) | 0x8008A2CC [func_8008A364](@ref func_8008A364) | 0x8008A364 @@ -1711,21 +1711,21 @@ Variable Name | Memory Address [func_8008B724](@ref func_8008B724) | 0x8008B724 [func_8008B78C](@ref func_8008B78C) | 0x8008B78C [set_obj_origin_pos](@ref set_obj_origin_pos) | 0x8008B7D4 -[func_8008B80C](@ref func_8008B80C) | 0x8008B80C +[set_obj_origin_offset](@ref set_obj_origin_offset) | 0x8008B80C [func_8008B844](@ref func_8008B844) | 0x8008B844 [set_obj_direction_angle](@ref set_obj_direction_angle) | 0x8008B888 [set_obj_orientation](@ref set_obj_orientation) | 0x8008B8BC [set_obj_velocity](@ref set_obj_velocity) | 0x8008B8F0 [func_8008B928](@ref func_8008B928) | 0x8008B928 -[func_8008BA40](@ref func_8008BA40) | 0x8008BA40 -[func_8008BAB4](@ref func_8008BAB4) | 0x8008BAB4 -[func_8008BB28](@ref func_8008BB28) | 0x8008BB28 -[func_8008BB9C](@ref func_8008BB9C) | 0x8008BB9C -[func_8008BC58](@ref func_8008BC58) | 0x8008BC58 -[func_8008BD14](@ref func_8008BD14) | 0x8008BD14 -[func_8008BE0C](@ref func_8008BE0C) | 0x8008BE0C +[object_origin_pos_randomize_around_x](@ref object_origin_pos_randomize_around_x) | 0x8008BA40 +[object_origin_pos_randomize_around_y](@ref object_origin_pos_randomize_around_y) | 0x8008BAB4 +[object_origin_pos_randomize_around_z](@ref object_origin_pos_randomize_around_z) | 0x8008BB28 +[object_origin_pos_randomize_around_xy](@ref object_origin_pos_randomize_around_xy) | 0x8008BB9C +[object_origin_pos_randomize_around_xz](@ref object_origin_pos_randomize_around_xz) | 0x8008BC58 +[object_origin_pos_randomize_around_xyz](@ref object_origin_pos_randomize_around_xyz) | 0x8008BD14 +[object_origin_pos_around_player_one](@ref object_origin_pos_around_player_one) | 0x8008BE0C [func_8008BEA4](@ref func_8008BEA4) | 0x8008BEA4 -[func_8008BF18](@ref func_8008BF18) | 0x8008BF18 +[object_calculate_new_pos_offset](@ref object_calculate_new_pos_offset) | 0x8008BF18 [func_8008BF64](@ref func_8008BF64) | 0x8008BF64 [func_8008BFC0](@ref func_8008BFC0) | 0x8008BFC0 [func_8008BFFC](@ref func_8008BFFC) | 0x8008BFFC @@ -1856,8 +1856,8 @@ Variable Name | Memory Address [func_80091FA4](@ref func_80091FA4) | 0x80091FA4 [func_80092148](@ref func_80092148) | 0x80092148 [func_800921B4](@ref func_800921B4) | 0x800921B4 -[func_800921C0](@ref func_800921C0) | 0x800921C0 -[func_80092224](@ref func_80092224) | 0x80092224 +[text_rainbow_effect](@ref text_rainbow_effect) | 0x800921C0 +[set_text_color_rainbow_if_selected](@ref set_text_color_rainbow_if_selected) | 0x80092224 [func_80092258](@ref func_80092258) | 0x80092258 [func_80092290](@ref func_80092290) | 0x80092290 [func_80092500](@ref func_80092500) | 0x80092500 @@ -1961,7 +1961,7 @@ Variable Name | Memory Address [func_8009B9D0](@ref func_8009B9D0) | 0x8009B9D0 [func_8009BA74](@ref func_8009BA74) | 0x8009BA74 [func_8009BC9C](@ref func_8009BC9C) | 0x8009BC9C -[func_8009BEF0](@ref func_8009BEF0) | 0x8009BEF0 +[print_letter](@ref print_letter) | 0x8009BEF0 [func_8009C204](@ref func_8009C204) | 0x8009C204 [func_8009C434](@ref func_8009C434) | 0x8009C434 [func_8009C708](@ref func_8009C708) | 0x8009C708 @@ -2035,11 +2035,11 @@ Variable Name | Memory Address [func_800A4550](@ref func_800A4550) | 0x800A4550 [func_800A474C](@ref func_800A474C) | 0x800A474C [func_800A4A24](@ref func_800A4A24) | 0x800A4A24 -[func_800A4B38](@ref func_800A4B38) | 0x800A4B38 -[func_800A4BC8](@ref func_800A4BC8) | 0x800A4BC8 -[func_800A4EF8](@ref func_800A4EF8) | 0x800A4EF8 -[func_800A5084](@ref func_800A5084) | 0x800A5084 -[func_800A5360](@ref func_800A5360) | 0x800A5360 +[render_pause_menu](@ref render_pause_menu) | 0x800A4B38 +[render_pause_menu_time_trials](@ref render_pause_menu_time_trials) | 0x800A4BC8 +[render_pause_menu_versus](@ref render_pause_menu_versus) | 0x800A4EF8 +[render_pause_grand_prix](@ref render_pause_grand_prix) | 0x800A5084 +[render_pause_battle](@ref render_pause_battle) | 0x800A5360 [func_800A54EC](@ref func_800A54EC) | 0x800A54EC [func_800A5738](@ref func_800A5738) | 0x800A5738 [func_800A6034](@ref func_800A6034) | 0x800A6034 @@ -2580,10 +2580,10 @@ Variable Name | Memory Address [rspF3DBootStart](@ref rspF3DBootStart) | 0x800D8F70 [rspF3DBootEnd](@ref rspF3DBootEnd) | 0x800D9040 [gspF3DEXTextStart](@ref gspF3DEXTextStart) | 0x800D9040 -[gspF3DEXTextEnd](@ref gspF3DEXTextEnd) | 0x800DA420 [gspF3DLXTextStart](@ref gspF3DLXTextStart) | 0x800DA420 -[gspF3DLXTextEnd](@ref gspF3DLXTextEnd) | 0x800DB830 +[gspF3DEXTextEnd](@ref gspF3DEXTextEnd) | 0x800DA420 [rspAspMainStart](@ref rspAspMainStart) | 0x800DB830 +[gspF3DLXTextEnd](@ref gspF3DLXTextEnd) | 0x800DB830 [rspAspMainEnd](@ref rspAspMainEnd) | 0x800DC4A0 [gVblankHandler1](@ref gVblankHandler1) | 0x800DC4A0 [gVblankHandler2](@ref gVblankHandler2) | 0x800DC4A4 @@ -3097,7 +3097,7 @@ Variable Name | Memory Address [D_800E44B0](@ref D_800E44B0) | 0x800E44B0 [gItemWindowTLUTs](@ref gItemWindowTLUTs) | 0x800E44F0 [gItemWindowTextures](@ref gItemWindowTextures) | 0x800E4530 -[D_800E4570](@ref D_800E4570) | 0x800E4570 +[gHudLapTextures](@ref gHudLapTextures) | 0x800E4570 [gPortraitTLUTs](@ref gPortraitTLUTs) | 0x800E457C [gPortraitTextures](@ref gPortraitTextures) | 0x800E459C [D_800E45C0](@ref D_800E45C0) | 0x800E45C0 @@ -3243,7 +3243,7 @@ Variable Name | Memory Address [D_800E7730](@ref D_800E7730) | 0x800E7730 [D_800E7734](@ref D_800E7734) | 0x800E7734 [D_800E7744](@ref D_800E7744) | 0x800E7744 -[D_800E775C](@ref D_800E775C) | 0x800E775C +[gTextPauseButton](@ref gTextPauseButton) | 0x800E775C [D_800E7778](@ref D_800E7778) | 0x800E7778 [D_800E7780](@ref D_800E7780) | 0x800E7780 [D_800E77A0](@ref D_800E77A0) | 0x800E77A0 @@ -3729,8 +3729,8 @@ Variable Name | Memory Address [gspF3DEXDataStart](@ref gspF3DEXDataStart) | 0x800F3D00 [gspF3DEXDataEnd](@ref gspF3DEXDataEnd) | 0x800F4500 [gspF3DLXDataStart](@ref gspF3DLXDataStart) | 0x800F4500 -[rspAspMainDataStart](@ref rspAspMainDataStart) | 0x800F4D00 [gspF3DLXDataEnd](@ref gspF3DLXDataEnd) | 0x800F4D00 +[rspAspMainDataStart](@ref rspAspMainDataStart) | 0x800F4D00 [rspAspMainDataEnd](@ref rspAspMainDataEnd) | 0x800F5000 [sSawtoothWaves](@ref sSawtoothWaves) | 0x800F5000 [sTriangleWaves](@ref sTriangleWaves) | 0x800F5200 @@ -4042,7 +4042,7 @@ Variable Name | Memory Address [gTrainList](@ref gTrainList) | 0x801635A0 [isCrossingTriggeredByIndex](@ref isCrossingTriggeredByIndex) | 0x801637B8 [D_801637BC](@ref D_801637BC) | 0x801637BC -[gFerries](@ref gFerries) | 0x801637C0 +[gPaddleBoats](@ref gPaddleBoats) | 0x801637C0 [gBoxTruckList](@ref gBoxTruckList) | 0x80163818 [gSchoolBusList](@ref gSchoolBusList) | 0x80163988 [gTankerTruckList](@ref gTankerTruckList) | 0x80163AF8 @@ -4281,7 +4281,7 @@ Variable Name | Memory Address [D_801657A8](@ref D_801657A8) | 0x801657A8 [D_801657AE](@ref D_801657AE) | 0x801657AE [D_801657AF](@ref D_801657AF) | 0x801657AF -[D_801657B0](@ref D_801657B0) | 0x801657B0 +[gHUDDisable](@ref gHUDDisable) | 0x801657B0 [D_801657B1](@ref D_801657B1) | 0x801657B1 [D_801657B2](@ref D_801657B2) | 0x801657B2 [D_801657B3](@ref D_801657B3) | 0x801657B3 @@ -4378,7 +4378,7 @@ Variable Name | Memory Address [D_80183DA8](@ref D_80183DA8) | 0x80183DA8 [gIndexLakituList](@ref gIndexLakituList) | 0x80183DB8 [D_80183DC8](@ref D_80183DC8) | 0x80183DC8 -[D_80183DD8](@ref D_80183DD8) | 0x80183DD8 +[gIndexObjectBombKart](@ref gIndexObjectBombKart) | 0x80183DD8 [D_80183DF8](@ref D_80183DF8) | 0x80183DF8 [gNextFreeObjectParticle1](@ref gNextFreeObjectParticle1) | 0x80183E38 [D_80183E40](@ref D_80183E40) | 0x80183E40 @@ -4885,7 +4885,7 @@ Variable Name | Memory Address [update_actor_yoshi_valley_egg](@ref update_actor_yoshi_valley_egg) | 0x80297BFC [update_actor_trees_cacti_shrubs](@ref update_actor_trees_cacti_shrubs) | 0x80297D04 [update_actor_kiwano_fruit](@ref update_actor_kiwano_fruit) | 0x80297D5C -[update_actor_paddle_wheel](@ref update_actor_paddle_wheel) | 0x8029816C +[update_actor_paddle_boat](@ref update_actor_paddle_boat) | 0x8029816C [update_actor_train_engine](@ref update_actor_train_engine) | 0x8029817C [update_actor_train_car1](@ref update_actor_train_car1) | 0x802981CC [update_actor_train_car2](@ref update_actor_train_car2) | 0x802981DC @@ -4919,14 +4919,14 @@ Variable Name | Memory Address [func_8029ABD4](@ref func_8029ABD4) | 0x8029ABD4 [func_8029AC18](@ref func_8029AC18) | 0x8029AC18 [func_8029AE14](@ref func_8029AE14) | 0x8029AE14 -[func_8029AE1C](@ref func_8029AE1C) | 0x8029AE1C +[render_actor_paddle_boat](@ref render_actor_paddle_boat) | 0x8029AE1C [func_8029B06C](@ref func_8029B06C) | 0x8029B06C [func_8029B2E4](@ref func_8029B2E4) | 0x8029B2E4 [func_8029B4E0](@ref func_8029B4E0) | 0x8029B4E0 [func_8029B6EC](@ref func_8029B6EC) | 0x8029B6EC -[func_8029B8E8](@ref func_8029B8E8) | 0x8029B8E8 -[func_8029BFB0](@ref func_8029BFB0) | 0x8029BFB0 -[func_8029C3CC](@ref func_8029C3CC) | 0x8029C3CC +[render_actor_train_engine](@ref render_actor_train_engine) | 0x8029B8E8 +[render_actor_train_tender](@ref render_actor_train_tender) | 0x8029BFB0 +[render_actor_passenger_car](@ref render_actor_passenger_car) | 0x8029C3CC [render_actor_falling_rock](@ref render_actor_falling_rock) | 0x8029CA90 [place_piranha_plants](@ref place_piranha_plants) | 0x8029CC14 [place_palm_trees](@ref place_palm_trees) | 0x8029CD80 @@ -4965,9 +4965,9 @@ Variable Name | Memory Address [update_actor_item_box](@ref update_actor_item_box) | 0x802A1600 [func_802A171C](@ref func_802A171C) | 0x802A171C [func_802A1EA0](@ref func_802A1EA0) | 0x802A1EA0 -[func_802A269C](@ref func_802A269C) | 0x802A269C +[render_actor_wario_sign](@ref render_actor_wario_sign) | 0x802A269C [func_802A27A0](@ref func_802A27A0) | 0x802A27A0 -[func_802A29BC](@ref func_802A29BC) | 0x802A29BC +[render_actor_mario_sign](@ref render_actor_mario_sign) | 0x802A29BC [func_802A2AD0](@ref func_802A2AD0) | 0x802A2AD0 [func_802A2C78](@ref func_802A2C78) | 0x802A2C78 [func_802A2F34](@ref func_802A2F34) | 0x802A2F34 @@ -5005,15 +5005,15 @@ Variable Name | Memory Address [func_802A5590](@ref func_802A5590) | 0x802A5590 [func_802A5678](@ref func_802A5678) | 0x802A5678 [func_802A5760](@ref func_802A5760) | 0x802A5760 -[func_802A59A4](@ref func_802A59A4) | 0x802A59A4 -[func_802A5CB4](@ref func_802A5CB4) | 0x802A5CB4 -[func_802A5FAC](@ref func_802A5FAC) | 0x802A5FAC -[func_802A62A4](@ref func_802A62A4) | 0x802A62A4 -[func_802A65B8](@ref func_802A65B8) | 0x802A65B8 -[func_802A68CC](@ref func_802A68CC) | 0x802A68CC -[func_802A6BB0](@ref func_802A6BB0) | 0x802A6BB0 -[func_802A6E94](@ref func_802A6E94) | 0x802A6E94 -[func_802A7178](@ref func_802A7178) | 0x802A7178 +[render_player_one_1p_screen](@ref render_player_one_1p_screen) | 0x802A59A4 +[render_player_one_2p_screen_vertical](@ref render_player_one_2p_screen_vertical) | 0x802A5CB4 +[render_player_two_2p_screen_vertical](@ref render_player_two_2p_screen_vertical) | 0x802A5FAC +[render_player_one_2p_screen_horizontal](@ref render_player_one_2p_screen_horizontal) | 0x802A62A4 +[render_player_two_2p_screen_horizontal](@ref render_player_two_2p_screen_horizontal) | 0x802A65B8 +[render_player_one_3p_4p_screen](@ref render_player_one_3p_4p_screen) | 0x802A68CC +[render_player_two_3p_4p_screen](@ref render_player_two_3p_4p_screen) | 0x802A6BB0 +[render_player_three_3p_4p_screen](@ref render_player_three_3p_4p_screen) | 0x802A6E94 +[render_player_four_3p_4p_screen](@ref render_player_four_3p_4p_screen) | 0x802A7178 [func_802A74BC](@ref func_802A74BC) | 0x802A74BC [copy_framebuffer](@ref copy_framebuffer) | 0x802A7658 [func_802A7728](@ref func_802A7728) | 0x802A7728 @@ -5154,7 +5154,7 @@ Variable Name | Memory Address [func_802B4FF0](@ref func_802B4FF0) | 0x802B4FF0 [render_set_position](@ref render_set_position) | 0x802B4FF8 [func_802B51E8](@ref func_802B51E8) | 0x802B51E8 -[get_angle_between_points](@ref get_angle_between_points) | 0x802B5224 +[get_angle_between_two_vectors](@ref get_angle_between_two_vectors) | 0x802B5224 [func_802B5258](@ref func_802B5258) | 0x802B5258 [vec3f_set](@ref vec3f_set) | 0x802B529C [vec3s_set](@ref vec3s_set) | 0x802B52BC @@ -5177,7 +5177,7 @@ Variable Name | Memory Address [func_802B5D30](@ref func_802B5D30) | 0x802B5D30 [func_802B5D64](@ref func_802B5D64) | 0x802B5D64 [mtxf_scale](@ref mtxf_scale) | 0x802B5F00 -[func_802B5F74](@ref func_802B5F74) | 0x802B5F74 +[mtxf_pos_rotation_xyz](@ref mtxf_pos_rotation_xyz) | 0x802B5F74 [func_802B60B4](@ref func_802B60B4) | 0x802B60B4 [func_802B6214](@ref func_802B6214) | 0x802B6214 [func_802B6374](@ref func_802B6374) | 0x802B6374 @@ -5250,7 +5250,7 @@ Variable Name | Memory Address [D_802BA050](@ref D_802BA050) | 0x802BA050 [D_802BA054](@ref D_802BA054) | 0x802BA054 [D_802BA058](@ref D_802BA058) | 0x802BA058 -[D_802BA05C](@ref D_802BA05C) | 0x802BA05C +[gActorHotAirBalloonItemBox](@ref gActorHotAirBalloonItemBox) | 0x802BA05C [gTLUTRedShell](@ref gTLUTRedShell) | 0x802BA060 [D_802BA260](@ref D_802BA260) | 0x802BA260 [sGfxSeekPosition](@ref sGfxSeekPosition) | 0x802BA270 @@ -18716,66 +18716,66 @@ Variable Name | Memory Address [gCosineTable](@ref gCosineTable) | 0x802BB370 [gArctanTable](@ref gArctanTable) | 0x802BF370 [gTextureMarioFace00](@ref gTextureMarioFace00) | 0x0A000000 -[gTextureMarioFace00_end](@ref gTextureMarioFace00_end) | 0x0A000CD4 [gTextureMarioFace01](@ref gTextureMarioFace01) | 0x0A000CD4 -[gTextureMarioFace01_end](@ref gTextureMarioFace01_end) | 0x0A001994 +[gTextureMarioFace00_end](@ref gTextureMarioFace00_end) | 0x0A000CD4 [gTextureMarioFace02](@ref gTextureMarioFace02) | 0x0A001994 -[gTextureMarioFace02_end](@ref gTextureMarioFace02_end) | 0x0A002650 +[gTextureMarioFace01_end](@ref gTextureMarioFace01_end) | 0x0A001994 [gTextureMarioFace03](@ref gTextureMarioFace03) | 0x0A002650 -[gTextureMarioFace04](@ref gTextureMarioFace04) | 0x0A0032BC +[gTextureMarioFace02_end](@ref gTextureMarioFace02_end) | 0x0A002650 [gTextureMarioFace03_end](@ref gTextureMarioFace03_end) | 0x0A0032BC -[gTextureMarioFace04_end](@ref gTextureMarioFace04_end) | 0x0A003F08 +[gTextureMarioFace04](@ref gTextureMarioFace04) | 0x0A0032BC [gTextureMarioFace05](@ref gTextureMarioFace05) | 0x0A003F08 -[gTextureMarioFace05_end](@ref gTextureMarioFace05_end) | 0x0A004B48 +[gTextureMarioFace04_end](@ref gTextureMarioFace04_end) | 0x0A003F08 [gTextureMarioFace06](@ref gTextureMarioFace06) | 0x0A004B48 +[gTextureMarioFace05_end](@ref gTextureMarioFace05_end) | 0x0A004B48 [gTextureMarioFace07](@ref gTextureMarioFace07) | 0x0A00585C [gTextureMarioFace06_end](@ref gTextureMarioFace06_end) | 0x0A00585C [gTextureMarioFace08](@ref gTextureMarioFace08) | 0x0A006568 [gTextureMarioFace07_end](@ref gTextureMarioFace07_end) | 0x0A006568 -[gTextureMarioFace09](@ref gTextureMarioFace09) | 0x0A00726C [gTextureMarioFace08_end](@ref gTextureMarioFace08_end) | 0x0A00726C -[gTextureMarioFace10](@ref gTextureMarioFace10) | 0x0A007F4C +[gTextureMarioFace09](@ref gTextureMarioFace09) | 0x0A00726C [gTextureMarioFace09_end](@ref gTextureMarioFace09_end) | 0x0A007F4C +[gTextureMarioFace10](@ref gTextureMarioFace10) | 0x0A007F4C [gTextureMarioFace11](@ref gTextureMarioFace11) | 0x0A008C48 [gTextureMarioFace10_end](@ref gTextureMarioFace10_end) | 0x0A008C48 -[gTextureMarioFace12](@ref gTextureMarioFace12) | 0x0A009944 [gTextureMarioFace11_end](@ref gTextureMarioFace11_end) | 0x0A009944 +[gTextureMarioFace12](@ref gTextureMarioFace12) | 0x0A009944 [gTextureMarioFace13](@ref gTextureMarioFace13) | 0x0A00A688 [gTextureMarioFace12_end](@ref gTextureMarioFace12_end) | 0x0A00A688 -[gTextureMarioFace13_end](@ref gTextureMarioFace13_end) | 0x0A00B3DC [gTextureMarioFace14](@ref gTextureMarioFace14) | 0x0A00B3DC -[gTextureMarioFace14_end](@ref gTextureMarioFace14_end) | 0x0A00C180 +[gTextureMarioFace13_end](@ref gTextureMarioFace13_end) | 0x0A00B3DC [gTextureMarioFace15](@ref gTextureMarioFace15) | 0x0A00C180 -[gTextureMarioFace15_end](@ref gTextureMarioFace15_end) | 0x0A00CF20 +[gTextureMarioFace14_end](@ref gTextureMarioFace14_end) | 0x0A00C180 [gTextureMarioFace16](@ref gTextureMarioFace16) | 0x0A00CF20 +[gTextureMarioFace15_end](@ref gTextureMarioFace15_end) | 0x0A00CF20 [gTextureLuigiFace00](@ref gTextureLuigiFace00) | 0x0A00DA64 [gTextureMarioFace16_end](@ref gTextureMarioFace16_end) | 0x0A00DA64 -[gTextureLuigiFace01](@ref gTextureLuigiFace01) | 0x0A00E680 [gTextureLuigiFace00_end](@ref gTextureLuigiFace00_end) | 0x0A00E680 +[gTextureLuigiFace01](@ref gTextureLuigiFace01) | 0x0A00E680 [gTextureLuigiFace01_end](@ref gTextureLuigiFace01_end) | 0x0A00F2A0 [gTextureLuigiFace02](@ref gTextureLuigiFace02) | 0x0A00F2A0 -[gTextureLuigiFace02_end](@ref gTextureLuigiFace02_end) | 0x0A00FEC0 [gTextureLuigiFace03](@ref gTextureLuigiFace03) | 0x0A00FEC0 +[gTextureLuigiFace02_end](@ref gTextureLuigiFace02_end) | 0x0A00FEC0 [gTextureLuigiFace03_end](@ref gTextureLuigiFace03_end) | 0x0A010AA8 [gTextureLuigiFace04](@ref gTextureLuigiFace04) | 0x0A010AA8 -[gTextureLuigiFace04_end](@ref gTextureLuigiFace04_end) | 0x0A011690 [gTextureLuigiFace05](@ref gTextureLuigiFace05) | 0x0A011690 +[gTextureLuigiFace04_end](@ref gTextureLuigiFace04_end) | 0x0A011690 [gTextureLuigiFace06](@ref gTextureLuigiFace06) | 0x0A01225C [gTextureLuigiFace05_end](@ref gTextureLuigiFace05_end) | 0x0A01225C [gTextureLuigiFace06_end](@ref gTextureLuigiFace06_end) | 0x0A012E84 [gTextureLuigiFace07](@ref gTextureLuigiFace07) | 0x0A012E84 -[gTextureLuigiFace08](@ref gTextureLuigiFace08) | 0x0A013AB8 [gTextureLuigiFace07_end](@ref gTextureLuigiFace07_end) | 0x0A013AB8 -[gTextureLuigiFace09](@ref gTextureLuigiFace09) | 0x0A014744 +[gTextureLuigiFace08](@ref gTextureLuigiFace08) | 0x0A013AB8 [gTextureLuigiFace08_end](@ref gTextureLuigiFace08_end) | 0x0A014744 -[gTextureLuigiFace10](@ref gTextureLuigiFace10) | 0x0A0153C4 +[gTextureLuigiFace09](@ref gTextureLuigiFace09) | 0x0A014744 [gTextureLuigiFace09_end](@ref gTextureLuigiFace09_end) | 0x0A0153C4 -[gTextureLuigiFace10_end](@ref gTextureLuigiFace10_end) | 0x0A016054 +[gTextureLuigiFace10](@ref gTextureLuigiFace10) | 0x0A0153C4 [gTextureLuigiFace11](@ref gTextureLuigiFace11) | 0x0A016054 +[gTextureLuigiFace10_end](@ref gTextureLuigiFace10_end) | 0x0A016054 [gTextureLuigiFace11_end](@ref gTextureLuigiFace11_end) | 0x0A016D14 [gTextureLuigiFace12](@ref gTextureLuigiFace12) | 0x0A016D14 -[gTextureLuigiFace12_end](@ref gTextureLuigiFace12_end) | 0x0A017A44 [gTextureLuigiFace13](@ref gTextureLuigiFace13) | 0x0A017A44 +[gTextureLuigiFace12_end](@ref gTextureLuigiFace12_end) | 0x0A017A44 [gTextureLuigiFace14](@ref gTextureLuigiFace14) | 0x0A018770 [gTextureLuigiFace13_end](@ref gTextureLuigiFace13_end) | 0x0A018770 [gTextureLuigiFace15](@ref gTextureLuigiFace15) | 0x0A0194B8 @@ -18784,68 +18784,68 @@ Variable Name | Memory Address [gTextureLuigiFace16](@ref gTextureLuigiFace16) | 0x0A01A20C [gTextureLuigiFace16_end](@ref gTextureLuigiFace16_end) | 0x0A01AC44 [gTexturePeachFace00](@ref gTexturePeachFace00) | 0x0A01AC44 -[gTexturePeachFace00_end](@ref gTexturePeachFace00_end) | 0x0A01BAFC [gTexturePeachFace01](@ref gTexturePeachFace01) | 0x0A01BAFC +[gTexturePeachFace00_end](@ref gTexturePeachFace00_end) | 0x0A01BAFC [gTexturePeachFace01_end](@ref gTexturePeachFace01_end) | 0x0A01C9A8 [gTexturePeachFace02](@ref gTexturePeachFace02) | 0x0A01C9A8 -[gTexturePeachFace02_end](@ref gTexturePeachFace02_end) | 0x0A01D864 [gTexturePeachFace03](@ref gTexturePeachFace03) | 0x0A01D864 +[gTexturePeachFace02_end](@ref gTexturePeachFace02_end) | 0x0A01D864 [gTexturePeachFace04](@ref gTexturePeachFace04) | 0x0A01E71C [gTexturePeachFace03_end](@ref gTexturePeachFace03_end) | 0x0A01E71C -[gTexturePeachFace05](@ref gTexturePeachFace05) | 0x0A01F5A4 [gTexturePeachFace04_end](@ref gTexturePeachFace04_end) | 0x0A01F5A4 -[gTexturePeachFace06](@ref gTexturePeachFace06) | 0x0A020444 +[gTexturePeachFace05](@ref gTexturePeachFace05) | 0x0A01F5A4 [gTexturePeachFace05_end](@ref gTexturePeachFace05_end) | 0x0A020444 -[gTexturePeachFace07](@ref gTexturePeachFace07) | 0x0A02130C +[gTexturePeachFace06](@ref gTexturePeachFace06) | 0x0A020444 [gTexturePeachFace06_end](@ref gTexturePeachFace06_end) | 0x0A02130C -[gTexturePeachFace07_end](@ref gTexturePeachFace07_end) | 0x0A0221FC +[gTexturePeachFace07](@ref gTexturePeachFace07) | 0x0A02130C [gTexturePeachFace08](@ref gTexturePeachFace08) | 0x0A0221FC +[gTexturePeachFace07_end](@ref gTexturePeachFace07_end) | 0x0A0221FC [gTexturePeachFace08_end](@ref gTexturePeachFace08_end) | 0x0A02310C [gTexturePeachFace09](@ref gTexturePeachFace09) | 0x0A02310C [gTexturePeachFace09_end](@ref gTexturePeachFace09_end) | 0x0A0240C0 [gTexturePeachFace10](@ref gTexturePeachFace10) | 0x0A0240C0 -[gTexturePeachFace10_end](@ref gTexturePeachFace10_end) | 0x0A0250A4 [gTexturePeachFace11](@ref gTexturePeachFace11) | 0x0A0250A4 +[gTexturePeachFace10_end](@ref gTexturePeachFace10_end) | 0x0A0250A4 [gTexturePeachFace11_end](@ref gTexturePeachFace11_end) | 0x0A0260F0 [gTexturePeachFace12](@ref gTexturePeachFace12) | 0x0A0260F0 [gTexturePeachFace13](@ref gTexturePeachFace13) | 0x0A027128 [gTexturePeachFace12_end](@ref gTexturePeachFace12_end) | 0x0A027128 -[gTexturePeachFace14](@ref gTexturePeachFace14) | 0x0A02810C [gTexturePeachFace13_end](@ref gTexturePeachFace13_end) | 0x0A02810C -[gTexturePeachFace15](@ref gTexturePeachFace15) | 0x0A0290A0 +[gTexturePeachFace14](@ref gTexturePeachFace14) | 0x0A02810C [gTexturePeachFace14_end](@ref gTexturePeachFace14_end) | 0x0A0290A0 -[gTexturePeachFace15_end](@ref gTexturePeachFace15_end) | 0x0A02A028 +[gTexturePeachFace15](@ref gTexturePeachFace15) | 0x0A0290A0 [gTexturePeachFace16](@ref gTexturePeachFace16) | 0x0A02A028 +[gTexturePeachFace15_end](@ref gTexturePeachFace15_end) | 0x0A02A028 [gTexturePeachFace16_end](@ref gTexturePeachFace16_end) | 0x0A02AED0 [gTextureToadFace00](@ref gTextureToadFace00) | 0x0A02AED0 -[gTextureToadFace00_end](@ref gTextureToadFace00_end) | 0x0A02B88C [gTextureToadFace01](@ref gTextureToadFace01) | 0x0A02B88C +[gTextureToadFace00_end](@ref gTextureToadFace00_end) | 0x0A02B88C [gTextureToadFace02](@ref gTextureToadFace02) | 0x0A02C240 [gTextureToadFace01_end](@ref gTextureToadFace01_end) | 0x0A02C240 [gTextureToadFace02_end](@ref gTextureToadFace02_end) | 0x0A02CBFC [gTextureToadFace03](@ref gTextureToadFace03) | 0x0A02CBFC -[gTextureToadFace03_end](@ref gTextureToadFace03_end) | 0x0A02D5B4 [gTextureToadFace04](@ref gTextureToadFace04) | 0x0A02D5B4 -[gTextureToadFace05](@ref gTextureToadFace05) | 0x0A02DF70 +[gTextureToadFace03_end](@ref gTextureToadFace03_end) | 0x0A02D5B4 [gTextureToadFace04_end](@ref gTextureToadFace04_end) | 0x0A02DF70 +[gTextureToadFace05](@ref gTextureToadFace05) | 0x0A02DF70 [gTextureToadFace06](@ref gTextureToadFace06) | 0x0A02E910 [gTextureToadFace05_end](@ref gTextureToadFace05_end) | 0x0A02E910 [gTextureToadFace06_end](@ref gTextureToadFace06_end) | 0x0A02F2A8 [gTextureToadFace07](@ref gTextureToadFace07) | 0x0A02F2A8 [gTextureToadFace07_end](@ref gTextureToadFace07_end) | 0x0A02FC74 [gTextureToadFace08](@ref gTextureToadFace08) | 0x0A02FC74 -[gTextureToadFace09](@ref gTextureToadFace09) | 0x0A030628 [gTextureToadFace08_end](@ref gTextureToadFace08_end) | 0x0A030628 -[gTextureToadFace10](@ref gTextureToadFace10) | 0x0A031010 +[gTextureToadFace09](@ref gTextureToadFace09) | 0x0A030628 [gTextureToadFace09_end](@ref gTextureToadFace09_end) | 0x0A031010 -[gTextureToadFace11](@ref gTextureToadFace11) | 0x0A031A24 +[gTextureToadFace10](@ref gTextureToadFace10) | 0x0A031010 [gTextureToadFace10_end](@ref gTextureToadFace10_end) | 0x0A031A24 +[gTextureToadFace11](@ref gTextureToadFace11) | 0x0A031A24 [gTextureToadFace12](@ref gTextureToadFace12) | 0x0A03247C [gTextureToadFace11_end](@ref gTextureToadFace11_end) | 0x0A03247C [gTextureToadFace13](@ref gTextureToadFace13) | 0x0A032EDC [gTextureToadFace12_end](@ref gTextureToadFace12_end) | 0x0A032EDC -[gTextureToadFace14](@ref gTextureToadFace14) | 0x0A03395C [gTextureToadFace13_end](@ref gTextureToadFace13_end) | 0x0A03395C +[gTextureToadFace14](@ref gTextureToadFace14) | 0x0A03395C [gTextureToadFace15](@ref gTextureToadFace15) | 0x0A0343D0 [gTextureToadFace14_end](@ref gTextureToadFace14_end) | 0x0A0343D0 [gTextureToadFace15_end](@ref gTextureToadFace15_end) | 0x0A034E30 @@ -18854,94 +18854,94 @@ Variable Name | Memory Address [gTextureToadFace16_end](@ref gTextureToadFace16_end) | 0x0A035794 [gTextureYoshiFace00_end](@ref gTextureYoshiFace00_end) | 0x0A036280 [gTextureYoshiFace01](@ref gTextureYoshiFace01) | 0x0A036280 -[gTextureYoshiFace01_end](@ref gTextureYoshiFace01_end) | 0x0A036D64 [gTextureYoshiFace02](@ref gTextureYoshiFace02) | 0x0A036D64 -[gTextureYoshiFace02_end](@ref gTextureYoshiFace02_end) | 0x0A037844 +[gTextureYoshiFace01_end](@ref gTextureYoshiFace01_end) | 0x0A036D64 [gTextureYoshiFace03](@ref gTextureYoshiFace03) | 0x0A037844 +[gTextureYoshiFace02_end](@ref gTextureYoshiFace02_end) | 0x0A037844 [gTextureYoshiFace04](@ref gTextureYoshiFace04) | 0x0A0382F8 [gTextureYoshiFace03_end](@ref gTextureYoshiFace03_end) | 0x0A0382F8 [gTextureYoshiFace04_end](@ref gTextureYoshiFace04_end) | 0x0A038D68 [gTextureYoshiFace05](@ref gTextureYoshiFace05) | 0x0A038D68 [gTextureYoshiFace05_end](@ref gTextureYoshiFace05_end) | 0x0A0397B0 [gTextureYoshiFace06](@ref gTextureYoshiFace06) | 0x0A0397B0 -[gTextureYoshiFace07](@ref gTextureYoshiFace07) | 0x0A03A2D4 [gTextureYoshiFace06_end](@ref gTextureYoshiFace06_end) | 0x0A03A2D4 -[gTextureYoshiFace08](@ref gTextureYoshiFace08) | 0x0A03AD00 +[gTextureYoshiFace07](@ref gTextureYoshiFace07) | 0x0A03A2D4 [gTextureYoshiFace07_end](@ref gTextureYoshiFace07_end) | 0x0A03AD00 -[gTextureYoshiFace08_end](@ref gTextureYoshiFace08_end) | 0x0A03B6BC +[gTextureYoshiFace08](@ref gTextureYoshiFace08) | 0x0A03AD00 [gTextureYoshiFace09](@ref gTextureYoshiFace09) | 0x0A03B6BC -[gTextureYoshiFace09_end](@ref gTextureYoshiFace09_end) | 0x0A03C068 +[gTextureYoshiFace08_end](@ref gTextureYoshiFace08_end) | 0x0A03B6BC [gTextureYoshiFace10](@ref gTextureYoshiFace10) | 0x0A03C068 -[gTextureYoshiFace10_end](@ref gTextureYoshiFace10_end) | 0x0A03CA28 +[gTextureYoshiFace09_end](@ref gTextureYoshiFace09_end) | 0x0A03C068 [gTextureYoshiFace11](@ref gTextureYoshiFace11) | 0x0A03CA28 -[gTextureYoshiFace12](@ref gTextureYoshiFace12) | 0x0A03D438 +[gTextureYoshiFace10_end](@ref gTextureYoshiFace10_end) | 0x0A03CA28 [gTextureYoshiFace11_end](@ref gTextureYoshiFace11_end) | 0x0A03D438 -[gTextureYoshiFace13](@ref gTextureYoshiFace13) | 0x0A03DE94 +[gTextureYoshiFace12](@ref gTextureYoshiFace12) | 0x0A03D438 [gTextureYoshiFace12_end](@ref gTextureYoshiFace12_end) | 0x0A03DE94 +[gTextureYoshiFace13](@ref gTextureYoshiFace13) | 0x0A03DE94 [gTextureYoshiFace14](@ref gTextureYoshiFace14) | 0x0A03E974 [gTextureYoshiFace13_end](@ref gTextureYoshiFace13_end) | 0x0A03E974 -[gTextureYoshiFace14_end](@ref gTextureYoshiFace14_end) | 0x0A03F47C [gTextureYoshiFace15](@ref gTextureYoshiFace15) | 0x0A03F47C +[gTextureYoshiFace14_end](@ref gTextureYoshiFace14_end) | 0x0A03F47C [gTextureYoshiFace15_end](@ref gTextureYoshiFace15_end) | 0x0A03FF94 [gTextureYoshiFace16](@ref gTextureYoshiFace16) | 0x0A03FF94 [gTextureYoshiFace16_end](@ref gTextureYoshiFace16_end) | 0x0A040ABC [gTextureDkFace00](@ref gTextureDkFace00) | 0x0A040ABC -[gTextureDkFace00_end](@ref gTextureDkFace00_end) | 0x0A0418A8 [gTextureDkFace01](@ref gTextureDkFace01) | 0x0A0418A8 -[gTextureDkFace02](@ref gTextureDkFace02) | 0x0A0426B0 +[gTextureDkFace00_end](@ref gTextureDkFace00_end) | 0x0A0418A8 [gTextureDkFace01_end](@ref gTextureDkFace01_end) | 0x0A0426B0 -[gTextureDkFace03](@ref gTextureDkFace03) | 0x0A043490 +[gTextureDkFace02](@ref gTextureDkFace02) | 0x0A0426B0 [gTextureDkFace02_end](@ref gTextureDkFace02_end) | 0x0A043490 -[gTextureDkFace04](@ref gTextureDkFace04) | 0x0A044240 +[gTextureDkFace03](@ref gTextureDkFace03) | 0x0A043490 [gTextureDkFace03_end](@ref gTextureDkFace03_end) | 0x0A044240 +[gTextureDkFace04](@ref gTextureDkFace04) | 0x0A044240 [gTextureDkFace05](@ref gTextureDkFace05) | 0x0A044FE8 [gTextureDkFace04_end](@ref gTextureDkFace04_end) | 0x0A044FE8 -[gTextureDkFace05_end](@ref gTextureDkFace05_end) | 0x0A045DCC [gTextureDkFace06](@ref gTextureDkFace06) | 0x0A045DCC +[gTextureDkFace05_end](@ref gTextureDkFace05_end) | 0x0A045DCC [gTextureDkFace06_end](@ref gTextureDkFace06_end) | 0x0A046BF8 [gTextureDkFace07](@ref gTextureDkFace07) | 0x0A046BF8 -[gTextureDkFace07_end](@ref gTextureDkFace07_end) | 0x0A047A8C [gTextureDkFace08](@ref gTextureDkFace08) | 0x0A047A8C -[gTextureDkFace08_end](@ref gTextureDkFace08_end) | 0x0A048968 +[gTextureDkFace07_end](@ref gTextureDkFace07_end) | 0x0A047A8C [gTextureDkFace09](@ref gTextureDkFace09) | 0x0A048968 +[gTextureDkFace08_end](@ref gTextureDkFace08_end) | 0x0A048968 [gTextureDkFace10](@ref gTextureDkFace10) | 0x0A0498B0 [gTextureDkFace09_end](@ref gTextureDkFace09_end) | 0x0A0498B0 [gTextureDkFace10_end](@ref gTextureDkFace10_end) | 0x0A04A7E8 [gTextureDkFace11](@ref gTextureDkFace11) | 0x0A04A7E8 -[gTextureDkFace11_end](@ref gTextureDkFace11_end) | 0x0A04B76C [gTextureDkFace12](@ref gTextureDkFace12) | 0x0A04B76C +[gTextureDkFace11_end](@ref gTextureDkFace11_end) | 0x0A04B76C [gTextureDkFace13](@ref gTextureDkFace13) | 0x0A04C770 [gTextureDkFace12_end](@ref gTextureDkFace12_end) | 0x0A04C770 [gTextureDkFace13_end](@ref gTextureDkFace13_end) | 0x0A04D730 [gTextureDkFace14](@ref gTextureDkFace14) | 0x0A04D730 -[gTextureDkFace14_end](@ref gTextureDkFace14_end) | 0x0A04E67C [gTextureDkFace15](@ref gTextureDkFace15) | 0x0A04E67C -[gTextureDkFace16](@ref gTextureDkFace16) | 0x0A04F57C +[gTextureDkFace14_end](@ref gTextureDkFace14_end) | 0x0A04E67C [gTextureDkFace15_end](@ref gTextureDkFace15_end) | 0x0A04F57C -[gTextureDkFace16_end](@ref gTextureDkFace16_end) | 0x0A0504D0 +[gTextureDkFace16](@ref gTextureDkFace16) | 0x0A04F57C [gTextureWarioFace00](@ref gTextureWarioFace00) | 0x0A0504D0 -[gTextureWarioFace01](@ref gTextureWarioFace01) | 0x0A051630 +[gTextureDkFace16_end](@ref gTextureDkFace16_end) | 0x0A0504D0 [gTextureWarioFace00_end](@ref gTextureWarioFace00_end) | 0x0A051630 +[gTextureWarioFace01](@ref gTextureWarioFace01) | 0x0A051630 [gTextureWarioFace01_end](@ref gTextureWarioFace01_end) | 0x0A052774 [gTextureWarioFace02](@ref gTextureWarioFace02) | 0x0A052774 [gTextureWarioFace03](@ref gTextureWarioFace03) | 0x0A0538C8 [gTextureWarioFace02_end](@ref gTextureWarioFace02_end) | 0x0A0538C8 -[gTextureWarioFace04](@ref gTextureWarioFace04) | 0x0A054A30 [gTextureWarioFace03_end](@ref gTextureWarioFace03_end) | 0x0A054A30 +[gTextureWarioFace04](@ref gTextureWarioFace04) | 0x0A054A30 [gTextureWarioFace05](@ref gTextureWarioFace05) | 0x0A055B84 [gTextureWarioFace04_end](@ref gTextureWarioFace04_end) | 0x0A055B84 [gTextureWarioFace05_end](@ref gTextureWarioFace05_end) | 0x0A056CE0 [gTextureWarioFace06](@ref gTextureWarioFace06) | 0x0A056CE0 -[gTextureWarioFace06_end](@ref gTextureWarioFace06_end) | 0x0A057E54 [gTextureWarioFace07](@ref gTextureWarioFace07) | 0x0A057E54 -[gTextureWarioFace07_end](@ref gTextureWarioFace07_end) | 0x0A05902C +[gTextureWarioFace06_end](@ref gTextureWarioFace06_end) | 0x0A057E54 [gTextureWarioFace08](@ref gTextureWarioFace08) | 0x0A05902C +[gTextureWarioFace07_end](@ref gTextureWarioFace07_end) | 0x0A05902C [gTextureWarioFace09](@ref gTextureWarioFace09) | 0x0A05A254 [gTextureWarioFace08_end](@ref gTextureWarioFace08_end) | 0x0A05A254 [gTextureWarioFace09_end](@ref gTextureWarioFace09_end) | 0x0A05B4C0 [gTextureWarioFace10](@ref gTextureWarioFace10) | 0x0A05B4C0 -[gTextureWarioFace11](@ref gTextureWarioFace11) | 0x0A05C7A0 [gTextureWarioFace10_end](@ref gTextureWarioFace10_end) | 0x0A05C7A0 +[gTextureWarioFace11](@ref gTextureWarioFace11) | 0x0A05C7A0 [gTextureWarioFace11_end](@ref gTextureWarioFace11_end) | 0x0A05DAA8 [gTextureWarioFace12](@ref gTextureWarioFace12) | 0x0A05DAA8 [gTextureWarioFace12_end](@ref gTextureWarioFace12_end) | 0x0A05ED8C @@ -18950,34 +18950,34 @@ Variable Name | Memory Address [gTextureWarioFace14](@ref gTextureWarioFace14) | 0x0A0600B0 [gTextureWarioFace14_end](@ref gTextureWarioFace14_end) | 0x0A06139C [gTextureWarioFace15](@ref gTextureWarioFace15) | 0x0A06139C -[gTextureWarioFace16](@ref gTextureWarioFace16) | 0x0A062668 [gTextureWarioFace15_end](@ref gTextureWarioFace15_end) | 0x0A062668 +[gTextureWarioFace16](@ref gTextureWarioFace16) | 0x0A062668 [gTextureWarioFace16_end](@ref gTextureWarioFace16_end) | 0x0A0637E0 [gTextureBowserFace00](@ref gTextureBowserFace00) | 0x0A0637E0 [gTextureBowserFace00_end](@ref gTextureBowserFace00_end) | 0x0A064AC8 [gTextureBowserFace01](@ref gTextureBowserFace01) | 0x0A064AC8 -[gTextureBowserFace01_end](@ref gTextureBowserFace01_end) | 0x0A065D7C [gTextureBowserFace02](@ref gTextureBowserFace02) | 0x0A065D7C -[gTextureBowserFace02_end](@ref gTextureBowserFace02_end) | 0x0A067044 +[gTextureBowserFace01_end](@ref gTextureBowserFace01_end) | 0x0A065D7C [gTextureBowserFace03](@ref gTextureBowserFace03) | 0x0A067044 +[gTextureBowserFace02_end](@ref gTextureBowserFace02_end) | 0x0A067044 [gTextureBowserFace03_end](@ref gTextureBowserFace03_end) | 0x0A068310 [gTextureBowserFace04](@ref gTextureBowserFace04) | 0x0A068310 -[gTextureBowserFace05](@ref gTextureBowserFace05) | 0x0A0695B4 [gTextureBowserFace04_end](@ref gTextureBowserFace04_end) | 0x0A0695B4 +[gTextureBowserFace05](@ref gTextureBowserFace05) | 0x0A0695B4 [gTextureBowserFace06](@ref gTextureBowserFace06) | 0x0A06A840 [gTextureBowserFace05_end](@ref gTextureBowserFace05_end) | 0x0A06A840 -[gTextureBowserFace07](@ref gTextureBowserFace07) | 0x0A06BB1C [gTextureBowserFace06_end](@ref gTextureBowserFace06_end) | 0x0A06BB1C +[gTextureBowserFace07](@ref gTextureBowserFace07) | 0x0A06BB1C [gTextureBowserFace08](@ref gTextureBowserFace08) | 0x0A06CE04 [gTextureBowserFace07_end](@ref gTextureBowserFace07_end) | 0x0A06CE04 -[gTextureBowserFace08_end](@ref gTextureBowserFace08_end) | 0x0A06E0F4 [gTextureBowserFace09](@ref gTextureBowserFace09) | 0x0A06E0F4 +[gTextureBowserFace08_end](@ref gTextureBowserFace08_end) | 0x0A06E0F4 [gTextureBowserFace09_end](@ref gTextureBowserFace09_end) | 0x0A06F410 [gTextureBowserFace10](@ref gTextureBowserFace10) | 0x0A06F410 [gTextureBowserFace10_end](@ref gTextureBowserFace10_end) | 0x0A0706DC [gTextureBowserFace11](@ref gTextureBowserFace11) | 0x0A0706DC -[gTextureBowserFace12](@ref gTextureBowserFace12) | 0x0A071A18 [gTextureBowserFace11_end](@ref gTextureBowserFace11_end) | 0x0A071A18 +[gTextureBowserFace12](@ref gTextureBowserFace12) | 0x0A071A18 [gTextureBowserFace13](@ref gTextureBowserFace13) | 0x0A072DBC [gTextureBowserFace12_end](@ref gTextureBowserFace12_end) | 0x0A072DBC [gTextureBowserFace14](@ref gTextureBowserFace14) | 0x0A074138 @@ -19012,12 +19012,12 @@ Variable Name | Memory Address [gTextureTrophySilver](@ref gTextureTrophySilver) | 0x0A0AEFEC [gTextureTrophySilver_end](@ref gTextureTrophySilver_end) | 0x0A0AF614 [gTextureTrophyBronze](@ref gTextureTrophyBronze) | 0x0A0AF614 -[gTextureTrophyBronze_end](@ref gTextureTrophyBronze_end) | 0x0A0AFC00 [gTextureCupGold](@ref gTextureCupGold) | 0x0A0AFC00 +[gTextureTrophyBronze_end](@ref gTextureTrophyBronze_end) | 0x0A0AFC00 [gTextureCupSilver](@ref gTextureCupSilver) | 0x0A0B058C [gTextureCupGold_end](@ref gTextureCupGold_end) | 0x0A0B058C -[gTextureCupSilver_end](@ref gTextureCupSilver_end) | 0x0A0B0F10 [gTextureCupBronze](@ref gTextureCupBronze) | 0x0A0B0F10 +[gTextureCupSilver_end](@ref gTextureCupSilver_end) | 0x0A0B0F10 [gTextureCupBronze_end](@ref gTextureCupBronze_end) | 0x0A0B17B4 [gTexturePushStartButton](@ref gTexturePushStartButton) | 0x0A0B17B4 [gTextureCopyright1996](@ref gTextureCopyright1996) | 0x0A0B2B94 @@ -19029,16 +19029,16 @@ Variable Name | Memory Address [gTexture7E56E4](@ref gTexture7E56E4) | 0x0A0BBCB4 [gTexture7E56E4_end](@ref gTexture7E56E4_end) | 0x0A0BCE1F [gTextureSmallFont0](@ref gTextureSmallFont0) | 0x0A0BCE20 -[gTextureSmallFont0_end](@ref gTextureSmallFont0_end) | 0x0A0BCEB0 [gTextureSmallFont1](@ref gTextureSmallFont1) | 0x0A0BCEB0 +[gTextureSmallFont0_end](@ref gTextureSmallFont0_end) | 0x0A0BCEB0 [gTextureSmallFont2](@ref gTextureSmallFont2) | 0x0A0BCF08 [gTextureSmallFont1_end](@ref gTextureSmallFont1_end) | 0x0A0BCF08 -[gTextureSmallFont3](@ref gTextureSmallFont3) | 0x0A0BCFA0 [gTextureSmallFont2_end](@ref gTextureSmallFont2_end) | 0x0A0BCFA0 +[gTextureSmallFont3](@ref gTextureSmallFont3) | 0x0A0BCFA0 [gTextureSmallFont3_end](@ref gTextureSmallFont3_end) | 0x0A0BD034 [gTextureSmallFont4](@ref gTextureSmallFont4) | 0x0A0BD034 -[gTextureSmallFont4_end](@ref gTextureSmallFont4_end) | 0x0A0BD0BC [gTextureSmallFont5](@ref gTextureSmallFont5) | 0x0A0BD0BC +[gTextureSmallFont4_end](@ref gTextureSmallFont4_end) | 0x0A0BD0BC [gTextureSmallFont6](@ref gTextureSmallFont6) | 0x0A0BD154 [gTextureSmallFont5_end](@ref gTextureSmallFont5_end) | 0x0A0BD154 [gTextureSmallFont6_end](@ref gTextureSmallFont6_end) | 0x0A0BD1F0 @@ -19047,52 +19047,52 @@ Variable Name | Memory Address [gTextureSmallFont7_end](@ref gTextureSmallFont7_end) | 0x0A0BD260 [gTextureSmallFont9](@ref gTextureSmallFont9) | 0x0A0BD2F0 [gTextureSmallFont8_end](@ref gTextureSmallFont8_end) | 0x0A0BD2F0 -[gTextureN64ControllerPakDataSelect](@ref gTextureN64ControllerPakDataSelect) | 0x0A0BD390 [gTextureSmallFont9_end](@ref gTextureSmallFont9_end) | 0x0A0BD390 -[gTextureEraseDataRecordConfirmation](@ref gTextureEraseDataRecordConfirmation) | 0x0A0BE4B8 +[gTextureN64ControllerPakDataSelect](@ref gTextureN64ControllerPakDataSelect) | 0x0A0BD390 [gTextureN64ControllerPakDataSelect_end](@ref gTextureN64ControllerPakDataSelect_end) | 0x0A0BE4B8 +[gTextureEraseDataRecordConfirmation](@ref gTextureEraseDataRecordConfirmation) | 0x0A0BE4B8 [gTextureEraseDataRecordConfirmation_end](@ref gTextureEraseDataRecordConfirmation_end) | 0x0A0BF4AC [gTextureRecordNotErased](@ref gTextureRecordNotErased) | 0x0A0BF4AC -[gTexturePlaceN64ControllerPakIntoController1](@ref gTexturePlaceN64ControllerPakIntoController1) | 0x0A0BFD7C [gTextureRecordNotErased_end](@ref gTextureRecordNotErased_end) | 0x0A0BFD7C -[gTexturePleaseReinsertOriginalN64ControllerPak](@ref gTexturePleaseReinsertOriginalN64ControllerPak) | 0x0A0C09C8 +[gTexturePlaceN64ControllerPakIntoController1](@ref gTexturePlaceN64ControllerPakIntoController1) | 0x0A0BFD7C [gTexturePlaceN64ControllerPakIntoController1_end](@ref gTexturePlaceN64ControllerPakIntoController1_end) | 0x0A0C09C8 -[gTexturePleaseReinsertOriginalN64ControllerPak_end](@ref gTexturePleaseReinsertOriginalN64ControllerPak_end) | 0x0A0C16A0 +[gTexturePleaseReinsertOriginalN64ControllerPak](@ref gTexturePleaseReinsertOriginalN64ControllerPak) | 0x0A0C09C8 [gTextureErasingSelectedRecord](@ref gTextureErasingSelectedRecord) | 0x0A0C16A0 +[gTexturePleaseReinsertOriginalN64ControllerPak_end](@ref gTexturePleaseReinsertOriginalN64ControllerPak_end) | 0x0A0C16A0 [gTextureSelectRecord](@ref gTextureSelectRecord) | 0x0A0C22A4 [gTextureErasingSelectedRecord_end](@ref gTextureErasingSelectedRecord_end) | 0x0A0C22A4 [gTextureTextEnd](@ref gTextureTextEnd) | 0x0A0C261C [gTextureSelectRecord_end](@ref gTextureSelectRecord_end) | 0x0A0C261C -[gTextureTextEnd_end](@ref gTextureTextEnd_end) | 0x0A0C274C [gTextureTableOfContents](@ref gTextureTableOfContents) | 0x0A0C274C -[gTextureTableOfContents_end](@ref gTextureTableOfContents_end) | 0x0A0C2B78 +[gTextureTextEnd_end](@ref gTextureTextEnd_end) | 0x0A0C274C [gTextureTextHash](@ref gTextureTextHash) | 0x0A0C2B78 +[gTextureTableOfContents_end](@ref gTextureTableOfContents_end) | 0x0A0C2B78 [gTextureTextHash_end](@ref gTextureTextHash_end) | 0x0A0C2BF8 [gTextureTextGameData](@ref gTextureTextGameData) | 0x0A0C2BF8 -[gTextureTextPages](@ref gTextureTextPages) | 0x0A0C2EBC [gTextureTextGameData_end](@ref gTextureTextGameData_end) | 0x0A0C2EBC -[gTextureTextPagesFree](@ref gTextureTextPagesFree) | 0x0A0C307C +[gTextureTextPages](@ref gTextureTextPages) | 0x0A0C2EBC [gTextureTextPages_end](@ref gTextureTextPages_end) | 0x0A0C307C +[gTextureTextPagesFree](@ref gTextureTextPagesFree) | 0x0A0C307C [gTextureTextPagesFree_end](@ref gTextureTextPagesFree_end) | 0x0A0C3340 [gTextureTextErase](@ref gTextureTextErase) | 0x0A0C3340 -[gTextureTextErase_end](@ref gTextureTextErase_end) | 0x0A0C34E0 [gTextureTextQuit](@ref gTextureTextQuit) | 0x0A0C34E0 +[gTextureTextErase_end](@ref gTextureTextErase_end) | 0x0A0C34E0 [gTextureTextQuit_end](@ref gTextureTextQuit_end) | 0x0A0C3628 [gTexture7ED058](@ref gTexture7ED058) | 0x0A0C3628 [gTexture7ED290](@ref gTexture7ED290) | 0x0A0C3860 [gTexture7ED058_end](@ref gTexture7ED058_end) | 0x0A0C3860 [gTexture7ED50C](@ref gTexture7ED50C) | 0x0A0C3ADC [gTexture7ED290_end](@ref gTexture7ED290_end) | 0x0A0C3ADC -[gTexture7ED6A4](@ref gTexture7ED6A4) | 0x0A0C3C74 [gTexture7ED50C_end](@ref gTexture7ED50C_end) | 0x0A0C3C74 -[gTextureTinyFont0](@ref gTextureTinyFont0) | 0x0A0C4004 +[gTexture7ED6A4](@ref gTexture7ED6A4) | 0x0A0C3C74 [gTexture7ED6A4_end](@ref gTexture7ED6A4_end) | 0x0A0C4004 +[gTextureTinyFont0](@ref gTextureTinyFont0) | 0x0A0C4004 [gTextureTinyFont0_end](@ref gTextureTinyFont0_end) | 0x0A0C4078 [gTextureTinyFont1](@ref gTextureTinyFont1) | 0x0A0C4078 [gTextureTinyFont1_end](@ref gTextureTinyFont1_end) | 0x0A0C40C0 [gTextureTinyFont2](@ref gTextureTinyFont2) | 0x0A0C40C0 -[gTextureTinyFont3](@ref gTextureTinyFont3) | 0x0A0C4134 [gTextureTinyFont2_end](@ref gTextureTinyFont2_end) | 0x0A0C4134 +[gTextureTinyFont3](@ref gTextureTinyFont3) | 0x0A0C4134 [gTextureTinyFont3_end](@ref gTextureTinyFont3_end) | 0x0A0C41A4 [gTextureTinyFont4](@ref gTextureTinyFont4) | 0x0A0C41A4 [gTextureTinyFont5](@ref gTextureTinyFont5) | 0x0A0C4200 @@ -19103,70 +19103,70 @@ Variable Name | Memory Address [gTextureTinyFont7](@ref gTextureTinyFont7) | 0x0A0C42E8 [gTextureTinyFont8](@ref gTextureTinyFont8) | 0x0A0C4348 [gTextureTinyFont7_end](@ref gTextureTinyFont7_end) | 0x0A0C4348 -[gTextureTinyFont9](@ref gTextureTinyFont9) | 0x0A0C43C0 [gTextureTinyFont8_end](@ref gTextureTinyFont8_end) | 0x0A0C43C0 -[gTextureTinyFont9_end](@ref gTextureTinyFont9_end) | 0x0A0C4434 +[gTextureTinyFont9](@ref gTextureTinyFont9) | 0x0A0C43C0 [gTextureTinyFontA](@ref gTextureTinyFontA) | 0x0A0C4434 +[gTextureTinyFont9_end](@ref gTextureTinyFont9_end) | 0x0A0C4434 [gTextureTinyFontA_end](@ref gTextureTinyFontA_end) | 0x0A0C44A0 [gTextureTinyFontB](@ref gTextureTinyFontB) | 0x0A0C44A0 [gTextureTinyFontC](@ref gTextureTinyFontC) | 0x0A0C451C [gTextureTinyFontB_end](@ref gTextureTinyFontB_end) | 0x0A0C451C [gTextureTinyFontD](@ref gTextureTinyFontD) | 0x0A0C4590 [gTextureTinyFontC_end](@ref gTextureTinyFontC_end) | 0x0A0C4590 -[gTextureTinyFontE](@ref gTextureTinyFontE) | 0x0A0C4600 [gTextureTinyFontD_end](@ref gTextureTinyFontD_end) | 0x0A0C4600 -[gTextureTinyFontF](@ref gTextureTinyFontF) | 0x0A0C4674 +[gTextureTinyFontE](@ref gTextureTinyFontE) | 0x0A0C4600 [gTextureTinyFontE_end](@ref gTextureTinyFontE_end) | 0x0A0C4674 -[gTextureTinyFontG](@ref gTextureTinyFontG) | 0x0A0C46D8 +[gTextureTinyFontF](@ref gTextureTinyFontF) | 0x0A0C4674 [gTextureTinyFontF_end](@ref gTextureTinyFontF_end) | 0x0A0C46D8 -[gTextureTinyFontH](@ref gTextureTinyFontH) | 0x0A0C474C +[gTextureTinyFontG](@ref gTextureTinyFontG) | 0x0A0C46D8 [gTextureTinyFontG_end](@ref gTextureTinyFontG_end) | 0x0A0C474C -[gTextureTinyFontH_end](@ref gTextureTinyFontH_end) | 0x0A0C47C4 +[gTextureTinyFontH](@ref gTextureTinyFontH) | 0x0A0C474C [gTextureTinyFontI](@ref gTextureTinyFontI) | 0x0A0C47C4 -[gTextureTinyFontI_end](@ref gTextureTinyFontI_end) | 0x0A0C480C +[gTextureTinyFontH_end](@ref gTextureTinyFontH_end) | 0x0A0C47C4 [gTextureTinyFontJ](@ref gTextureTinyFontJ) | 0x0A0C480C +[gTextureTinyFontI_end](@ref gTextureTinyFontI_end) | 0x0A0C480C [gTextureTinyFontK](@ref gTextureTinyFontK) | 0x0A0C4860 [gTextureTinyFontJ_end](@ref gTextureTinyFontJ_end) | 0x0A0C4860 -[gTextureTinyFontL](@ref gTextureTinyFontL) | 0x0A0C48D0 [gTextureTinyFontK_end](@ref gTextureTinyFontK_end) | 0x0A0C48D0 -[gTextureTinyFontM](@ref gTextureTinyFontM) | 0x0A0C491C +[gTextureTinyFontL](@ref gTextureTinyFontL) | 0x0A0C48D0 [gTextureTinyFontL_end](@ref gTextureTinyFontL_end) | 0x0A0C491C -[gTextureTinyFontN](@ref gTextureTinyFontN) | 0x0A0C4998 +[gTextureTinyFontM](@ref gTextureTinyFontM) | 0x0A0C491C [gTextureTinyFontM_end](@ref gTextureTinyFontM_end) | 0x0A0C4998 -[gTextureTinyFontN_end](@ref gTextureTinyFontN_end) | 0x0A0C4A14 +[gTextureTinyFontN](@ref gTextureTinyFontN) | 0x0A0C4998 [gTextureTinyFontO](@ref gTextureTinyFontO) | 0x0A0C4A14 -[gTextureTinyFontP](@ref gTextureTinyFontP) | 0x0A0C4A8C +[gTextureTinyFontN_end](@ref gTextureTinyFontN_end) | 0x0A0C4A14 [gTextureTinyFontO_end](@ref gTextureTinyFontO_end) | 0x0A0C4A8C -[gTextureTinyFontP_end](@ref gTextureTinyFontP_end) | 0x0A0C4AF8 +[gTextureTinyFontP](@ref gTextureTinyFontP) | 0x0A0C4A8C [gTextureTinyFontQ](@ref gTextureTinyFontQ) | 0x0A0C4AF8 +[gTextureTinyFontP_end](@ref gTextureTinyFontP_end) | 0x0A0C4AF8 [gTextureTinyFontQ_end](@ref gTextureTinyFontQ_end) | 0x0A0C4B70 [gTextureTinyFontR](@ref gTextureTinyFontR) | 0x0A0C4B70 [gTextureTinyFontR_end](@ref gTextureTinyFontR_end) | 0x0A0C4BE4 [gTextureTinyFontS](@ref gTextureTinyFontS) | 0x0A0C4BE4 -[gTextureTinyFontS_end](@ref gTextureTinyFontS_end) | 0x0A0C4C54 [gTextureTinyFontT](@ref gTextureTinyFontT) | 0x0A0C4C54 +[gTextureTinyFontS_end](@ref gTextureTinyFontS_end) | 0x0A0C4C54 [gTextureTinyFontU](@ref gTextureTinyFontU) | 0x0A0C4CA8 [gTextureTinyFontT_end](@ref gTextureTinyFontT_end) | 0x0A0C4CA8 -[gTextureTinyFontV](@ref gTextureTinyFontV) | 0x0A0C4D0C [gTextureTinyFontU_end](@ref gTextureTinyFontU_end) | 0x0A0C4D0C +[gTextureTinyFontV](@ref gTextureTinyFontV) | 0x0A0C4D0C [gTextureTinyFontW](@ref gTextureTinyFontW) | 0x0A0C4D6C [gTextureTinyFontV_end](@ref gTextureTinyFontV_end) | 0x0A0C4D6C -[gTextureTinyFontX](@ref gTextureTinyFontX) | 0x0A0C4DE8 [gTextureTinyFontW_end](@ref gTextureTinyFontW_end) | 0x0A0C4DE8 +[gTextureTinyFontX](@ref gTextureTinyFontX) | 0x0A0C4DE8 [gTextureTinyFontX_end](@ref gTextureTinyFontX_end) | 0x0A0C4E54 [gTextureTinyFontY](@ref gTextureTinyFontY) | 0x0A0C4E54 [gTextureTinyFontY_end](@ref gTextureTinyFontY_end) | 0x0A0C4EA4 [gTextureTinyFontZ](@ref gTextureTinyFontZ) | 0x0A0C4EA4 -[gTextureTinyFontExclamationMark](@ref gTextureTinyFontExclamationMark) | 0x0A0C4F0C [gTextureTinyFontZ_end](@ref gTextureTinyFontZ_end) | 0x0A0C4F0C +[gTextureTinyFontExclamationMark](@ref gTextureTinyFontExclamationMark) | 0x0A0C4F0C [gTextureTinyFontDoubleQuote](@ref gTextureTinyFontDoubleQuote) | 0x0A0C4F54 [gTextureTinyFontExclamationMark_end](@ref gTextureTinyFontExclamationMark_end) | 0x0A0C4F54 -[gTextureTinyFontDoubleQuote_end](@ref gTextureTinyFontDoubleQuote_end) | 0x0A0C4F8C [gTextureTinyFontHash](@ref gTextureTinyFontHash) | 0x0A0C4F8C +[gTextureTinyFontDoubleQuote_end](@ref gTextureTinyFontDoubleQuote_end) | 0x0A0C4F8C [gTextureTinyFontHash_end](@ref gTextureTinyFontHash_end) | 0x0A0C4FFC [gTextureTinyFontSingleQuote](@ref gTextureTinyFontSingleQuote) | 0x0A0C4FFC -[gTextureTinyFontAsterisk](@ref gTextureTinyFontAsterisk) | 0x0A0C502C [gTextureTinyFontSingleQuote_end](@ref gTextureTinyFontSingleQuote_end) | 0x0A0C502C +[gTextureTinyFontAsterisk](@ref gTextureTinyFontAsterisk) | 0x0A0C502C [gTextureTinyFontPlus](@ref gTextureTinyFontPlus) | 0x0A0C5098 [gTextureTinyFontAsterisk_end](@ref gTextureTinyFontAsterisk_end) | 0x0A0C5098 [gTextureTinyFontPlus_end](@ref gTextureTinyFontPlus_end) | 0x0A0C50E8 @@ -19177,60 +19177,60 @@ Variable Name | Memory Address [gTextureTinyFontMinus_end](@ref gTextureTinyFontMinus_end) | 0x0A0C514C [gTextureTinyFontForwardSlash](@ref gTextureTinyFontForwardSlash) | 0x0A0C517C [gTextureTinyFontComma_end](@ref gTextureTinyFontComma_end) | 0x0A0C517C -[gTextureTinyFontForwardSlash_end](@ref gTextureTinyFontForwardSlash_end) | 0x0A0C51CC [gTextureTinyFontColon](@ref gTextureTinyFontColon) | 0x0A0C51CC -[gTextureTinyFontColon_end](@ref gTextureTinyFontColon_end) | 0x0A0C5204 +[gTextureTinyFontForwardSlash_end](@ref gTextureTinyFontForwardSlash_end) | 0x0A0C51CC [gTexture7EEC34](@ref gTexture7EEC34) | 0x0A0C5204 -[gTextureTinyFontQuestion](@ref gTextureTinyFontQuestion) | 0x0A0C5254 +[gTextureTinyFontColon_end](@ref gTextureTinyFontColon_end) | 0x0A0C5204 [gTexture7EEC34_end](@ref gTexture7EEC34_end) | 0x0A0C5254 -[gTexture7EECE4](@ref gTexture7EECE4) | 0x0A0C52B4 +[gTextureTinyFontQuestion](@ref gTextureTinyFontQuestion) | 0x0A0C5254 [gTextureTinyFontQuestion_end](@ref gTextureTinyFontQuestion_end) | 0x0A0C52B4 +[gTexture7EECE4](@ref gTexture7EECE4) | 0x0A0C52B4 [gTexture7EECE4_end](@ref gTexture7EECE4_end) | 0x0A0C5344 [gTexture7EED74](@ref gTexture7EED74) | 0x0A0C5344 -[gTexture7EED74_end](@ref gTexture7EED74_end) | 0x0A0C5380 [gTexture7EEDB0](@ref gTexture7EEDB0) | 0x0A0C5380 -[gTexture7EEDB0_end](@ref gTexture7EEDB0_end) | 0x0A0C53B8 +[gTexture7EED74_end](@ref gTexture7EED74_end) | 0x0A0C5380 [gTexture7EEDE8](@ref gTexture7EEDE8) | 0x0A0C53B8 -[gTexture7EEE20](@ref gTexture7EEE20) | 0x0A0C53F0 +[gTexture7EEDB0_end](@ref gTexture7EEDB0_end) | 0x0A0C53B8 [gTexture7EEDE8_end](@ref gTexture7EEDE8_end) | 0x0A0C53F0 +[gTexture7EEE20](@ref gTexture7EEE20) | 0x0A0C53F0 [gTexture7EEE7C](@ref gTexture7EEE7C) | 0x0A0C544C [gTexture7EEE20_end](@ref gTexture7EEE20_end) | 0x0A0C544C -[gTexture7EEE7C_end](@ref gTexture7EEE7C_end) | 0x0A0C54A0 [gTexture7EEED0](@ref gTexture7EEED0) | 0x0A0C54A0 -[gTexture7EEED0_end](@ref gTexture7EEED0_end) | 0x0A0C550C +[gTexture7EEE7C_end](@ref gTexture7EEE7C_end) | 0x0A0C54A0 [gTexture7EEF3C](@ref gTexture7EEF3C) | 0x0A0C550C -[gTexture7EEF90](@ref gTexture7EEF90) | 0x0A0C5560 +[gTexture7EEED0_end](@ref gTexture7EEED0_end) | 0x0A0C550C [gTexture7EEF3C_end](@ref gTexture7EEF3C_end) | 0x0A0C5560 -[gTexture7EEFF4](@ref gTexture7EEFF4) | 0x0A0C55C4 +[gTexture7EEF90](@ref gTexture7EEF90) | 0x0A0C5560 [gTexture7EEF90_end](@ref gTexture7EEF90_end) | 0x0A0C55C4 -[gTexture7EEFF4_end](@ref gTexture7EEFF4_end) | 0x0A0C5628 +[gTexture7EEFF4](@ref gTexture7EEFF4) | 0x0A0C55C4 [gTexture7EF058](@ref gTexture7EF058) | 0x0A0C5628 -[gTexture7EF0B4](@ref gTexture7EF0B4) | 0x0A0C5684 +[gTexture7EEFF4_end](@ref gTexture7EEFF4_end) | 0x0A0C5628 [gTexture7EF058_end](@ref gTexture7EF058_end) | 0x0A0C5684 -[gTexture7EF110](@ref gTexture7EF110) | 0x0A0C56E0 +[gTexture7EF0B4](@ref gTexture7EF0B4) | 0x0A0C5684 [gTexture7EF0B4_end](@ref gTexture7EF0B4_end) | 0x0A0C56E0 +[gTexture7EF110](@ref gTexture7EF110) | 0x0A0C56E0 [gTexture7EF17C](@ref gTexture7EF17C) | 0x0A0C574C [gTexture7EF110_end](@ref gTexture7EF110_end) | 0x0A0C574C -[gTexture7EF1F0](@ref gTexture7EF1F0) | 0x0A0C57C0 [gTexture7EF17C_end](@ref gTexture7EF17C_end) | 0x0A0C57C0 -[gTexture7EF250](@ref gTexture7EF250) | 0x0A0C5820 +[gTexture7EF1F0](@ref gTexture7EF1F0) | 0x0A0C57C0 [gTexture7EF1F0_end](@ref gTexture7EF1F0_end) | 0x0A0C5820 -[gTexture7EF250_end](@ref gTexture7EF250_end) | 0x0A0C5888 +[gTexture7EF250](@ref gTexture7EF250) | 0x0A0C5820 [gTexture7EF2B8](@ref gTexture7EF2B8) | 0x0A0C5888 +[gTexture7EF250_end](@ref gTexture7EF250_end) | 0x0A0C5888 [gTexture7EF314](@ref gTexture7EF314) | 0x0A0C58E4 [gTexture7EF2B8_end](@ref gTexture7EF2B8_end) | 0x0A0C58E4 [gTexture7EF388](@ref gTexture7EF388) | 0x0A0C5958 [gTexture7EF314_end](@ref gTexture7EF314_end) | 0x0A0C5958 [gTexture7EF388_end](@ref gTexture7EF388_end) | 0x0A0C59C8 [gTexture7EF3F8](@ref gTexture7EF3F8) | 0x0A0C59C8 -[gTexture7EF3F8_end](@ref gTexture7EF3F8_end) | 0x0A0C5A40 [gTexture7EF470](@ref gTexture7EF470) | 0x0A0C5A40 -[gTexture7EF4E4](@ref gTexture7EF4E4) | 0x0A0C5AB4 +[gTexture7EF3F8_end](@ref gTexture7EF3F8_end) | 0x0A0C5A40 [gTexture7EF470_end](@ref gTexture7EF470_end) | 0x0A0C5AB4 +[gTexture7EF4E4](@ref gTexture7EF4E4) | 0x0A0C5AB4 [gTexture7EF554](@ref gTexture7EF554) | 0x0A0C5B24 [gTexture7EF4E4_end](@ref gTexture7EF4E4_end) | 0x0A0C5B24 -[gTexture7EF554_end](@ref gTexture7EF554_end) | 0x0A0C5B90 [gTexture7EF5C0](@ref gTexture7EF5C0) | 0x0A0C5B90 +[gTexture7EF554_end](@ref gTexture7EF554_end) | 0x0A0C5B90 [gTexture7EF620](@ref gTexture7EF620) | 0x0A0C5BF0 [gTexture7EF5C0_end](@ref gTexture7EF5C0_end) | 0x0A0C5BF0 [gTexture7EF620_end](@ref gTexture7EF620_end) | 0x0A0C5C64 @@ -19241,20 +19241,20 @@ Variable Name | Memory Address [gTexture7EF77C](@ref gTexture7EF77C) | 0x0A0C5D4C [gTexture7EF7E8](@ref gTexture7EF7E8) | 0x0A0C5DB8 [gTexture7EF77C_end](@ref gTexture7EF77C_end) | 0x0A0C5DB8 -[gTexture7EF7E8_end](@ref gTexture7EF7E8_end) | 0x0A0C5E2C [gTexture7EF85C](@ref gTexture7EF85C) | 0x0A0C5E2C +[gTexture7EF7E8_end](@ref gTexture7EF7E8_end) | 0x0A0C5E2C [gTexture7EF8C8](@ref gTexture7EF8C8) | 0x0A0C5E98 [gTexture7EF85C_end](@ref gTexture7EF85C_end) | 0x0A0C5E98 [gTexture7EF93C](@ref gTexture7EF93C) | 0x0A0C5F0C [gTexture7EF8C8_end](@ref gTexture7EF8C8_end) | 0x0A0C5F0C -[gTexture7EF93C_end](@ref gTexture7EF93C_end) | 0x0A0C5F84 [gTexture7EF9B4](@ref gTexture7EF9B4) | 0x0A0C5F84 -[gTexture7EF9B4_end](@ref gTexture7EF9B4_end) | 0x0A0C5FFC +[gTexture7EF93C_end](@ref gTexture7EF93C_end) | 0x0A0C5F84 [gTexture7EFA2C](@ref gTexture7EFA2C) | 0x0A0C5FFC +[gTexture7EF9B4_end](@ref gTexture7EF9B4_end) | 0x0A0C5FFC [gTexture7EFA2C_end](@ref gTexture7EFA2C_end) | 0x0A0C6078 [gTexture7EFAA8](@ref gTexture7EFAA8) | 0x0A0C6078 -[gTexture7EFB00](@ref gTexture7EFB00) | 0x0A0C60D0 [gTexture7EFAA8_end](@ref gTexture7EFAA8_end) | 0x0A0C60D0 +[gTexture7EFB00](@ref gTexture7EFB00) | 0x0A0C60D0 [gTexture7EFB00_end](@ref gTexture7EFB00_end) | 0x0A0C6134 [gTexture7EFB64](@ref gTexture7EFB64) | 0x0A0C6134 [gTexture7EFB64_end](@ref gTexture7EFB64_end) | 0x0A0C618C @@ -19265,68 +19265,68 @@ Variable Name | Memory Address [gTexture7EFCAC](@ref gTexture7EFCAC) | 0x0A0C627C [gTexture7EFD00](@ref gTexture7EFD00) | 0x0A0C62D0 [gTexture7EFCAC_end](@ref gTexture7EFCAC_end) | 0x0A0C62D0 -[gTexture7EFD00_end](@ref gTexture7EFD00_end) | 0x0A0C6330 [gTexture7EFD60](@ref gTexture7EFD60) | 0x0A0C6330 +[gTexture7EFD00_end](@ref gTexture7EFD00_end) | 0x0A0C6330 [gTexture7EFDD4](@ref gTexture7EFDD4) | 0x0A0C63A4 [gTexture7EFD60_end](@ref gTexture7EFD60_end) | 0x0A0C63A4 [gTexture7EFE48](@ref gTexture7EFE48) | 0x0A0C6418 [gTexture7EFDD4_end](@ref gTexture7EFDD4_end) | 0x0A0C6418 [gTexture7EFE48_end](@ref gTexture7EFE48_end) | 0x0A0C6470 [gTexture7EFEA0](@ref gTexture7EFEA0) | 0x0A0C6470 -[gTexture7EFF2C](@ref gTexture7EFF2C) | 0x0A0C64FC [gTexture7EFEA0_end](@ref gTexture7EFEA0_end) | 0x0A0C64FC -[gTexture7EFF90](@ref gTexture7EFF90) | 0x0A0C6560 +[gTexture7EFF2C](@ref gTexture7EFF2C) | 0x0A0C64FC [gTexture7EFF2C_end](@ref gTexture7EFF2C_end) | 0x0A0C6560 -[gTexture7F0000](@ref gTexture7F0000) | 0x0A0C65D0 +[gTexture7EFF90](@ref gTexture7EFF90) | 0x0A0C6560 [gTexture7EFF90_end](@ref gTexture7EFF90_end) | 0x0A0C65D0 -[gTexture7F0000_end](@ref gTexture7F0000_end) | 0x0A0C663C +[gTexture7F0000](@ref gTexture7F0000) | 0x0A0C65D0 [gTexture7F006C](@ref gTexture7F006C) | 0x0A0C663C +[gTexture7F0000_end](@ref gTexture7F0000_end) | 0x0A0C663C [gTexture7F00D8](@ref gTexture7F00D8) | 0x0A0C66A8 [gTexture7F006C_end](@ref gTexture7F006C_end) | 0x0A0C66A8 [gTexture7F00D8_end](@ref gTexture7F00D8_end) | 0x0A0C6728 [gTexture7F0158](@ref gTexture7F0158) | 0x0A0C6728 [gTexture7F01D0](@ref gTexture7F01D0) | 0x0A0C67A0 [gTexture7F0158_end](@ref gTexture7F0158_end) | 0x0A0C67A0 -[gTexture7F023C](@ref gTexture7F023C) | 0x0A0C680C [gTexture7F01D0_end](@ref gTexture7F01D0_end) | 0x0A0C680C -[gTexture7F02B4](@ref gTexture7F02B4) | 0x0A0C6884 +[gTexture7F023C](@ref gTexture7F023C) | 0x0A0C680C [gTexture7F023C_end](@ref gTexture7F023C_end) | 0x0A0C6884 +[gTexture7F02B4](@ref gTexture7F02B4) | 0x0A0C6884 [gTexture7F02B4_end](@ref gTexture7F02B4_end) | 0x0A0C68FC [gTexture7F032C](@ref gTexture7F032C) | 0x0A0C68FC -[gTexture7F0390](@ref gTexture7F0390) | 0x0A0C6960 [gTexture7F032C_end](@ref gTexture7F032C_end) | 0x0A0C6960 +[gTexture7F0390](@ref gTexture7F0390) | 0x0A0C6960 [gTexture7F0404](@ref gTexture7F0404) | 0x0A0C69D4 [gTexture7F0390_end](@ref gTexture7F0390_end) | 0x0A0C69D4 [gTexture7F0470](@ref gTexture7F0470) | 0x0A0C6A40 [gTexture7F0404_end](@ref gTexture7F0404_end) | 0x0A0C6A40 -[gTexture7F04EC](@ref gTexture7F04EC) | 0x0A0C6ABC [gTexture7F0470_end](@ref gTexture7F0470_end) | 0x0A0C6ABC -[gTexture7F055C](@ref gTexture7F055C) | 0x0A0C6B2C +[gTexture7F04EC](@ref gTexture7F04EC) | 0x0A0C6ABC [gTexture7F04EC_end](@ref gTexture7F04EC_end) | 0x0A0C6B2C -[gTexture7F055C_end](@ref gTexture7F055C_end) | 0x0A0C6BC0 +[gTexture7F055C](@ref gTexture7F055C) | 0x0A0C6B2C [gTexture7F05F0](@ref gTexture7F05F0) | 0x0A0C6BC0 +[gTexture7F055C_end](@ref gTexture7F055C_end) | 0x0A0C6BC0 [gTexture7F0670](@ref gTexture7F0670) | 0x0A0C6C40 [gTexture7F05F0_end](@ref gTexture7F05F0_end) | 0x0A0C6C40 -[gTexture7F0670_end](@ref gTexture7F0670_end) | 0x0A0C6CBC [gTexture7F06EC](@ref gTexture7F06EC) | 0x0A0C6CBC +[gTexture7F0670_end](@ref gTexture7F0670_end) | 0x0A0C6CBC [gTexture7F06EC_end](@ref gTexture7F06EC_end) | 0x0A0C6D38 [gTexture7F0768](@ref gTexture7F0768) | 0x0A0C6D38 -[gTexture7F0768_end](@ref gTexture7F0768_end) | 0x0A0C6DB0 [gTexture7F07E0](@ref gTexture7F07E0) | 0x0A0C6DB0 +[gTexture7F0768_end](@ref gTexture7F0768_end) | 0x0A0C6DB0 [gTexture7F07E0_end](@ref gTexture7F07E0_end) | 0x0A0C6E28 [gTexture7F0858](@ref gTexture7F0858) | 0x0A0C6E28 -[gTexture7F0858_end](@ref gTexture7F0858_end) | 0x0A0C6EA8 [gTexture7F08D8](@ref gTexture7F08D8) | 0x0A0C6EA8 +[gTexture7F0858_end](@ref gTexture7F0858_end) | 0x0A0C6EA8 [gTexture7F0948](@ref gTexture7F0948) | 0x0A0C6F18 [gTexture7F08D8_end](@ref gTexture7F08D8_end) | 0x0A0C6F18 -[gTexture7F09D0](@ref gTexture7F09D0) | 0x0A0C6FA0 [gTexture7F0948_end](@ref gTexture7F0948_end) | 0x0A0C6FA0 +[gTexture7F09D0](@ref gTexture7F09D0) | 0x0A0C6FA0 [gTexture7F09D0_end](@ref gTexture7F09D0_end) | 0x0A0C700C [gTexture7F0A3C](@ref gTexture7F0A3C) | 0x0A0C700C [gTexture7F0A3C_end](@ref gTexture7F0A3C_end) | 0x0A0C708C [gTexture7F0ABC](@ref gTexture7F0ABC) | 0x0A0C708C -[gTexture7F0ABC_end](@ref gTexture7F0ABC_end) | 0x0A0C7104 [gTexture7F0B34](@ref gTexture7F0B34) | 0x0A0C7104 +[gTexture7F0ABC_end](@ref gTexture7F0ABC_end) | 0x0A0C7104 [gTexture7F0B34_end](@ref gTexture7F0B34_end) | 0x0A0C7180 [gTexture7F0BB0](@ref gTexture7F0BB0) | 0x0A0C7180 [gTexture7F0BB0_end](@ref gTexture7F0BB0_end) | 0x0A0C71F4 @@ -19335,24 +19335,24 @@ Variable Name | Memory Address [gTexture7F0C24_end](@ref gTexture7F0C24_end) | 0x0A0C7264 [gTexture7F0C94_end](@ref gTexture7F0C94_end) | 0x0A0C72DC [gTexture7F0D0C](@ref gTexture7F0D0C) | 0x0A0C72DC -[gTexture7F0D0C_end](@ref gTexture7F0D0C_end) | 0x0A0C735C [gTexture7F0D8C](@ref gTexture7F0D8C) | 0x0A0C735C -[gTexture7F0DEC](@ref gTexture7F0DEC) | 0x0A0C73BC +[gTexture7F0D0C_end](@ref gTexture7F0D0C_end) | 0x0A0C735C [gTexture7F0D8C_end](@ref gTexture7F0D8C_end) | 0x0A0C73BC +[gTexture7F0DEC](@ref gTexture7F0DEC) | 0x0A0C73BC [gTexture7F0E5C](@ref gTexture7F0E5C) | 0x0A0C742C [gTexture7F0DEC_end](@ref gTexture7F0DEC_end) | 0x0A0C742C -[gTexture7F0E5C_end](@ref gTexture7F0E5C_end) | 0x0A0C74B4 [gTexture7F0EE4](@ref gTexture7F0EE4) | 0x0A0C74B4 -[gTexture7F0F5C](@ref gTexture7F0F5C) | 0x0A0C752C +[gTexture7F0E5C_end](@ref gTexture7F0E5C_end) | 0x0A0C74B4 [gTexture7F0EE4_end](@ref gTexture7F0EE4_end) | 0x0A0C752C -[gTexture7F0F5C_end](@ref gTexture7F0F5C_end) | 0x0A0C75A8 +[gTexture7F0F5C](@ref gTexture7F0F5C) | 0x0A0C752C [gTexture7F0FD8](@ref gTexture7F0FD8) | 0x0A0C75A8 +[gTexture7F0F5C_end](@ref gTexture7F0F5C_end) | 0x0A0C75A8 [gTexture7F0FD8_end](@ref gTexture7F0FD8_end) | 0x0A0C7608 [gTexture7F1038](@ref gTexture7F1038) | 0x0A0C7608 -[gTexture7F109C](@ref gTexture7F109C) | 0x0A0C766C [gTexture7F1038_end](@ref gTexture7F1038_end) | 0x0A0C766C -[gTexture7F109C_end](@ref gTexture7F109C_end) | 0x0A0C76F4 +[gTexture7F109C](@ref gTexture7F109C) | 0x0A0C766C [gTexture7F1124](@ref gTexture7F1124) | 0x0A0C76F4 +[gTexture7F109C_end](@ref gTexture7F109C_end) | 0x0A0C76F4 [gTexture7F11F4](@ref gTexture7F11F4) | 0x0A0C77C4 [gTexture7F12C4](@ref gTexture7F12C4) | 0x0A0C7894 [gTexture7F1394](@ref gTexture7F1394) | 0x0A0C7964 @@ -19590,54 +19590,54 @@ Variable Name | Memory Address [gTexturePlayerSelect](@ref gTexturePlayerSelect) | 0x0B000000 [gTexturePlayerSelect_end](@ref gTexturePlayerSelect_end) | 0x0B000C00 [gTextureOption](@ref gTextureOption) | 0x0B000C00 -[gTextureNameDK](@ref gTextureNameDK) | 0x0B001500 [gTextureOption_end](@ref gTextureOption_end) | 0x0B001500 -[gTextureNameDK_end](@ref gTextureNameDK_end) | 0x0B001700 +[gTextureNameDK](@ref gTextureNameDK) | 0x0B001500 [gTextureNameToad](@ref gTextureNameToad) | 0x0B001700 +[gTextureNameDK_end](@ref gTextureNameDK_end) | 0x0B001700 [gTextureNameToad_end](@ref gTextureNameToad_end) | 0x0B001900 [gTextureNameBowser](@ref gTextureNameBowser) | 0x0B001900 -[gTextureNameBowser_end](@ref gTextureNameBowser_end) | 0x0B001B00 [gTextureNameLuigi](@ref gTextureNameLuigi) | 0x0B001B00 -[gTextureNameMario](@ref gTextureNameMario) | 0x0B001D00 +[gTextureNameBowser_end](@ref gTextureNameBowser_end) | 0x0B001B00 [gTextureNameLuigi_end](@ref gTextureNameLuigi_end) | 0x0B001D00 -[gTextureNamePeach](@ref gTextureNamePeach) | 0x0B001F00 +[gTextureNameMario](@ref gTextureNameMario) | 0x0B001D00 [gTextureNameMario_end](@ref gTextureNameMario_end) | 0x0B001F00 -[gTextureNameWario](@ref gTextureNameWario) | 0x0B002100 +[gTextureNamePeach](@ref gTextureNamePeach) | 0x0B001F00 [gTextureNamePeach_end](@ref gTextureNamePeach_end) | 0x0B002100 +[gTextureNameWario](@ref gTextureNameWario) | 0x0B002100 [gTextureNameYoshi](@ref gTextureNameYoshi) | 0x0B002300 [gTextureNameWario_end](@ref gTextureNameWario_end) | 0x0B002300 -[gTextureNameYoshi_end](@ref gTextureNameYoshi_end) | 0x0B002500 [gTextureTitleMarioRaceway](@ref gTextureTitleMarioRaceway) | 0x0B002500 +[gTextureNameYoshi_end](@ref gTextureNameYoshi_end) | 0x0B002500 [gTextureTitleChocoMountain](@ref gTextureTitleChocoMountain) | 0x0B002A00 [gTextureTitleMarioRaceway_end](@ref gTextureTitleMarioRaceway_end) | 0x0B002A00 -[gTextureTitleChocoMountain_end](@ref gTextureTitleChocoMountain_end) | 0x0B002F00 [gTextureTitleBowsersCastle](@ref gTextureTitleBowsersCastle) | 0x0B002F00 +[gTextureTitleChocoMountain_end](@ref gTextureTitleChocoMountain_end) | 0x0B002F00 [gTextureTitleBowsersCastle_end](@ref gTextureTitleBowsersCastle_end) | 0x0B003400 [gTextureTitleBansheeBoardwalk](@ref gTextureTitleBansheeBoardwalk) | 0x0B003400 -[gTextureTitleBansheeBoardwalk_end](@ref gTextureTitleBansheeBoardwalk_end) | 0x0B003A00 [gTextureTitleYoshiValley](@ref gTextureTitleYoshiValley) | 0x0B003A00 +[gTextureTitleBansheeBoardwalk_end](@ref gTextureTitleBansheeBoardwalk_end) | 0x0B003A00 [gTextureTitleYoshiValley_end](@ref gTextureTitleYoshiValley_end) | 0x0B003E00 [gTextureTitleFrappeSnowland](@ref gTextureTitleFrappeSnowland) | 0x0B003E00 -[gTextureTitleKoopaTroopaBeach](@ref gTextureTitleKoopaTroopaBeach) | 0x0B004300 [gTextureTitleFrappeSnowland_end](@ref gTextureTitleFrappeSnowland_end) | 0x0B004300 +[gTextureTitleKoopaTroopaBeach](@ref gTextureTitleKoopaTroopaBeach) | 0x0B004300 [gTextureTitleKoopaTroopaBeach_end](@ref gTextureTitleKoopaTroopaBeach_end) | 0x0B004800 [gTextureTitleRoyalRaceway](@ref gTextureTitleRoyalRaceway) | 0x0B004800 [gTextureTitleRoyalRaceway_end](@ref gTextureTitleRoyalRaceway_end) | 0x0B004C00 [gTextureTitleLuigiRaceway](@ref gTextureTitleLuigiRaceway) | 0x0B004C00 [gTextureTitleMooMooFarm](@ref gTextureTitleMooMooFarm) | 0x0B005000 [gTextureTitleLuigiRaceway_end](@ref gTextureTitleLuigiRaceway_end) | 0x0B005000 -[gTextureTitleMooMooFarm_end](@ref gTextureTitleMooMooFarm_end) | 0x0B005400 [gTextureTitleToadsTurnpike](@ref gTextureTitleToadsTurnpike) | 0x0B005400 -[gTextureTitleKalimariDesert](@ref gTextureTitleKalimariDesert) | 0x0B005900 +[gTextureTitleMooMooFarm_end](@ref gTextureTitleMooMooFarm_end) | 0x0B005400 [gTextureTitleToadsTurnpike_end](@ref gTextureTitleToadsTurnpike_end) | 0x0B005900 -[gTextureTitleKalimariDesert_end](@ref gTextureTitleKalimariDesert_end) | 0x0B005D00 +[gTextureTitleKalimariDesert](@ref gTextureTitleKalimariDesert) | 0x0B005900 [gTextureTitleSherbetLand](@ref gTextureTitleSherbetLand) | 0x0B005D00 -[gTextureTitleSherbetLand_end](@ref gTextureTitleSherbetLand_end) | 0x0B006100 +[gTextureTitleKalimariDesert_end](@ref gTextureTitleKalimariDesert_end) | 0x0B005D00 [gTextureTitleRainbowRoad](@ref gTextureTitleRainbowRoad) | 0x0B006100 +[gTextureTitleSherbetLand_end](@ref gTextureTitleSherbetLand_end) | 0x0B006100 [gTextureTitleWarioStadium](@ref gTextureTitleWarioStadium) | 0x0B006500 [gTextureTitleRainbowRoad_end](@ref gTextureTitleRainbowRoad_end) | 0x0B006500 -[gTextureTitleWarioStadium_end](@ref gTextureTitleWarioStadium_end) | 0x0B006A00 [gTextureTitleBlockFort](@ref gTextureTitleBlockFort) | 0x0B006A00 +[gTextureTitleWarioStadium_end](@ref gTextureTitleWarioStadium_end) | 0x0B006A00 [gTextureTitleBlockFort_end](@ref gTextureTitleBlockFort_end) | 0x0B006D00 [gTextureTitleSkyscraper](@ref gTextureTitleSkyscraper) | 0x0B006D00 [gTextureTitleDoubleDeck](@ref gTextureTitleDoubleDeck) | 0x0B007100 @@ -19652,22 +19652,22 @@ Variable Name | Memory Address [gTextureMapSelect_end](@ref gTextureMapSelect_end) | 0x0B008A00 [gTextureMenuMushroomCup](@ref gTextureMenuMushroomCup) | 0x0B008E00 [gTextureMenuFlowerCup_end](@ref gTextureMenuFlowerCup_end) | 0x0B008E00 -[gTextureMenuMushroomCup_end](@ref gTextureMenuMushroomCup_end) | 0x0B009200 [gTextureMenuStarCup](@ref gTextureMenuStarCup) | 0x0B009200 +[gTextureMenuMushroomCup_end](@ref gTextureMenuMushroomCup_end) | 0x0B009200 [gTextureMenuSpecialCup](@ref gTextureMenuSpecialCup) | 0x0B009600 [gTextureMenuStarCup_end](@ref gTextureMenuStarCup_end) | 0x0B009600 [gTextureGameSelect](@ref gTextureGameSelect) | 0x0B009A00 [gTextureMenuSpecialCup_end](@ref gTextureMenuSpecialCup_end) | 0x0B009A00 -[gTextureMenu1PGame](@ref gTextureMenu1PGame) | 0x0B00A600 [gTextureGameSelect_end](@ref gTextureGameSelect_end) | 0x0B00A600 -[gTextureMenu1PGame_end](@ref gTextureMenu1PGame_end) | 0x0B00AB00 +[gTextureMenu1PGame](@ref gTextureMenu1PGame) | 0x0B00A600 [gTextureMenu2PGame](@ref gTextureMenu2PGame) | 0x0B00AB00 -[gTextureMenu3PGame](@ref gTextureMenu3PGame) | 0x0B00B200 +[gTextureMenu1PGame_end](@ref gTextureMenu1PGame_end) | 0x0B00AB00 [gTextureMenu2PGame_end](@ref gTextureMenu2PGame_end) | 0x0B00B200 -[gTextureMenu4PGame](@ref gTextureMenu4PGame) | 0x0B00BC00 +[gTextureMenu3PGame](@ref gTextureMenu3PGame) | 0x0B00B200 [gTextureMenu3PGame_end](@ref gTextureMenu3PGame_end) | 0x0B00BC00 -[gTextureMenu4PGame_end](@ref gTextureMenu4PGame_end) | 0x0B00C700 +[gTextureMenu4PGame](@ref gTextureMenu4PGame) | 0x0B00BC00 [gTextureMenuModeBattle](@ref gTextureMenuModeBattle) | 0x0B00C700 +[gTextureMenu4PGame_end](@ref gTextureMenu4PGame_end) | 0x0B00C700 [gTextureMenuModeTimeTrials](@ref gTextureMenuModeTimeTrials) | 0x0B00CA00 [gTextureMenuModeBattle_end](@ref gTextureMenuModeBattle_end) | 0x0B00CA00 [gTextureMenuModeMarioGP](@ref gTextureMenuModeMarioGP) | 0x0B00CE00 @@ -19678,36 +19678,36 @@ Variable Name | Memory Address [gTextureMenuModeVS_end](@ref gTextureMenuModeVS_end) | 0x0B00D500 [gTextureMenuLOption_end](@ref gTextureMenuLOption_end) | 0x0B00D800 [gTextureMenuRData](@ref gTextureMenuRData) | 0x0B00D800 -[gTextureMenuRData_end](@ref gTextureMenuRData_end) | 0x0B00DB00 [gTextureMenu50cc](@ref gTextureMenu50cc) | 0x0B00DB00 -[gTextureMenu50cc_end](@ref gTextureMenu50cc_end) | 0x0B00DD00 +[gTextureMenuRData_end](@ref gTextureMenuRData_end) | 0x0B00DB00 [gTextureMenu100cc](@ref gTextureMenu100cc) | 0x0B00DD00 -[gTextureMenu150cc](@ref gTextureMenu150cc) | 0x0B00DF00 +[gTextureMenu50cc_end](@ref gTextureMenu50cc_end) | 0x0B00DD00 [gTextureMenu100cc_end](@ref gTextureMenu100cc_end) | 0x0B00DF00 +[gTextureMenu150cc](@ref gTextureMenu150cc) | 0x0B00DF00 [gTextureMenuExtra](@ref gTextureMenuExtra) | 0x0B00E100 [gTextureMenu150cc_end](@ref gTextureMenu150cc_end) | 0x0B00E100 [gTextureMenuWithoutItem](@ref gTextureMenuWithoutItem) | 0x0B00E300 [gTextureMenuExtra_end](@ref gTextureMenuExtra_end) | 0x0B00E300 [gTextureMenuWithoutItem_end](@ref gTextureMenuWithoutItem_end) | 0x0B00E600 [gTextureMenuWithItem](@ref gTextureMenuWithItem) | 0x0B00E600 -[gTextureMenuWithItem_end](@ref gTextureMenuWithItem_end) | 0x0B00E900 [gTextureMenuBegin](@ref gTextureMenuBegin) | 0x0B00E900 +[gTextureMenuWithItem_end](@ref gTextureMenuWithItem_end) | 0x0B00E900 [gTextureMenuGhost](@ref gTextureMenuGhost) | 0x0B00EB00 [gTextureMenuBegin_end](@ref gTextureMenuBegin_end) | 0x0B00EB00 [gTextureMenuData](@ref gTextureMenuData) | 0x0B00ED00 [gTextureMenuGhost_end](@ref gTextureMenuGhost_end) | 0x0B00ED00 [gTextureMenuData_end](@ref gTextureMenuData_end) | 0x0B00EF00 [gTextureMenuOK](@ref gTextureMenuOK) | 0x0B00EF00 -[gTextureBackgroundBlueSky](@ref gTextureBackgroundBlueSky) | 0x0B00F100 [gTextureMenuOK_end](@ref gTextureMenuOK_end) | 0x0B00F100 +[gTextureBackgroundBlueSky](@ref gTextureBackgroundBlueSky) | 0x0B00F100 [gTextureBackgroundBlueSky_end](@ref gTextureBackgroundBlueSky_end) | 0x0B01BF00 [gTextureBackgroundSunset](@ref gTextureBackgroundSunset) | 0x0B01BF00 -[gTextureGreenGoldStripe](@ref gTextureGreenGoldStripe) | 0x0B025300 [gTextureBackgroundSunset_end](@ref gTextureBackgroundSunset_end) | 0x0B025300 -[gTextureGoldStripe](@ref gTextureGoldStripe) | 0x0B025F00 +[gTextureGreenGoldStripe](@ref gTextureGreenGoldStripe) | 0x0B025300 [gTextureGreenGoldStripe_end](@ref gTextureGreenGoldStripe_end) | 0x0B025F00 -[gTextureWhiteStripe](@ref gTextureWhiteStripe) | 0x0B026600 +[gTextureGoldStripe](@ref gTextureGoldStripe) | 0x0B025F00 [gTextureGoldStripe_end](@ref gTextureGoldStripe_end) | 0x0B026600 +[gTextureWhiteStripe](@ref gTextureWhiteStripe) | 0x0B026600 [gTexturePinkBar](@ref gTexturePinkBar) | 0x0B026700 [gTextureWhiteStripe_end](@ref gTextureWhiteStripe_end) | 0x0B026700 [gTexturePinkBar_end](@ref gTexturePinkBar_end) | 0x0B026C00 @@ -19802,64 +19802,64 @@ Variable Name | Memory Address [d_course_big_donut_packed](@ref d_course_big_donut_packed) | 0x0F001B84 [music_sequence_table_header](@ref music_sequence_table_header) | 0x0025FD00 [music_sequence_table](@ref music_sequence_table) | 0x0025FD04 -[music_sequence_table_end](@ref music_sequence_table_end) | 0x0025FE00 [seq_00](@ref seq_00) | 0x0025FE00 +[music_sequence_table_end](@ref music_sequence_table_end) | 0x0025FE00 [seq_01](@ref seq_01) | 0x00262630 [seq_00_end](@ref seq_00_end) | 0x00262630 -[seq_02](@ref seq_02) | 0x00264160 [seq_01_end](@ref seq_01_end) | 0x00264160 +[seq_02](@ref seq_02) | 0x00264160 [seq_02_end](@ref seq_02_end) | 0x00264EC0 [seq_03](@ref seq_03) | 0x00264EC0 [seq_03_end](@ref seq_03_end) | 0x002668D0 [seq_04](@ref seq_04) | 0x002668D0 -[seq_04_end](@ref seq_04_end) | 0x00268570 [seq_05](@ref seq_05) | 0x00268570 +[seq_04_end](@ref seq_04_end) | 0x00268570 [seq_05_end](@ref seq_05_end) | 0x0026A4E0 [seq_06](@ref seq_06) | 0x0026A4E0 -[seq_06_end](@ref seq_06_end) | 0x0026C3C0 [seq_07](@ref seq_07) | 0x0026C3C0 +[seq_06_end](@ref seq_06_end) | 0x0026C3C0 [seq_07_end](@ref seq_07_end) | 0x0026DA90 [seq_08](@ref seq_08) | 0x0026DA90 -[seq_08_end](@ref seq_08_end) | 0x0026FE60 [seq_09](@ref seq_09) | 0x0026FE60 +[seq_08_end](@ref seq_08_end) | 0x0026FE60 [seq_09_end](@ref seq_09_end) | 0x00271660 [seq_0A](@ref seq_0A) | 0x00271660 [seq_0B](@ref seq_0B) | 0x00273140 [seq_0A_end](@ref seq_0A_end) | 0x00273140 [seq_0C](@ref seq_0C) | 0x00273730 [seq_0B_end](@ref seq_0B_end) | 0x00273730 -[seq_0D](@ref seq_0D) | 0x00273B00 [seq_0C_end](@ref seq_0C_end) | 0x00273B00 -[seq_0D_end](@ref seq_0D_end) | 0x00273E60 +[seq_0D](@ref seq_0D) | 0x00273B00 [seq_0E](@ref seq_0E) | 0x00273E60 +[seq_0D_end](@ref seq_0D_end) | 0x00273E60 [seq_0E_end](@ref seq_0E_end) | 0x00274140 [seq_0F](@ref seq_0F) | 0x00274140 [seq_0F_end](@ref seq_0F_end) | 0x00274600 [seq_10](@ref seq_10) | 0x00274600 [seq_10_end](@ref seq_10_end) | 0x00275A10 [seq_11](@ref seq_11) | 0x00275A10 -[seq_11_end](@ref seq_11_end) | 0x002760F0 [seq_12](@ref seq_12) | 0x002760F0 -[seq_13](@ref seq_13) | 0x002793E0 +[seq_11_end](@ref seq_11_end) | 0x002760F0 [seq_12_end](@ref seq_12_end) | 0x002793E0 +[seq_13](@ref seq_13) | 0x002793E0 [seq_14](@ref seq_14) | 0x00279AA0 [seq_13_end](@ref seq_13_end) | 0x00279AA0 [seq_15](@ref seq_15) | 0x00279F50 [seq_14_end](@ref seq_14_end) | 0x00279F50 -[seq_15_end](@ref seq_15_end) | 0x0027B0B0 [seq_16](@ref seq_16) | 0x0027B0B0 -[seq_17](@ref seq_17) | 0x0027B3C0 +[seq_15_end](@ref seq_15_end) | 0x0027B0B0 [seq_16_end](@ref seq_16_end) | 0x0027B3C0 +[seq_17](@ref seq_17) | 0x0027B3C0 [seq_17_end](@ref seq_17_end) | 0x0027C670 [seq_18](@ref seq_18) | 0x0027C670 [seq_19](@ref seq_19) | 0x0027CC70 [seq_18_end](@ref seq_18_end) | 0x0027CC70 -[seq_1A](@ref seq_1A) | 0x0027E350 [seq_19_end](@ref seq_19_end) | 0x0027E350 -[seq_1A_end](@ref seq_1A_end) | 0x0027EE20 +[seq_1A](@ref seq_1A) | 0x0027E350 [seq_1B](@ref seq_1B) | 0x0027EE20 -[seq_1B_end](@ref seq_1B_end) | 0x0027FAA0 +[seq_1A_end](@ref seq_1A_end) | 0x0027EE20 [seq_1C](@ref seq_1C) | 0x0027FAA0 +[seq_1B_end](@ref seq_1B_end) | 0x0027FAA0 [seq_1D](@ref seq_1D) | 0x002821F0 [seq_1C_end](@ref seq_1C_end) | 0x002821F0 [seq_1D_end](@ref seq_1D_end) | 0x00282E70 diff --git a/tools/yaml/mk64.eu1.yaml b/tools/yaml/mk64.eu1.yaml index 53de2044b..6cd4e543a 100644 --- a/tools/yaml/mk64.eu1.yaml +++ b/tools/yaml/mk64.eu1.yaml @@ -66,7 +66,7 @@ segments: - [0x43D90, c, code_800431B0] - [0x58840, c, code_80057C60] - [0x6F5A0, c, code_8006E9C0] - - [0x72AE0, c, code_80071F00] + - [0x72AE0, c, update_objects] - [0x87A50, c, code_80086E70] - [0x8CDB0, c, effects] - [0x920A0, c, code_800914A0] diff --git a/tools/yaml/mk64.us.yaml b/tools/yaml/mk64.us.yaml index c51741873..8c8cc764c 100644 --- a/tools/yaml/mk64.us.yaml +++ b/tools/yaml/mk64.us.yaml @@ -65,7 +65,7 @@ segments: - [0x43DB0, c, code_800431B0] - [0x58860, c, code_80057C60] - [0x6F5C0, c, code_8006E9C0] - - [0x72B00, c, code_80071F00] + - [0x72B00, c, update_objects] - [0x87A70, c, code_80086E70] - [0x8CDD0, c, effects] - [0x920C0, c, code_800914A0]