summaryrefslogtreecommitdiff
path: root/src/update_objects.c
diff options
context:
space:
mode:
authorcoco875 <59367621+coco875@users.noreply.github.com>2024-08-28 01:47:39 +0200
committerGitHub <noreply@github.com>2024-08-27 17:47:39 -0600
commita1f0d32d666c07d0754d97f107a5be59153768fd (patch)
treefcc84d9daa940274be8cf76715be902d93338e64 /src/update_objects.c
parentbb3cbe0500197f894c83230a9a170a2cbe7aa3e8 (diff)
Update decomp clang (#67)
* Update menus.c (#634) * Update common_data.yml (#635) * Renames for screenId and other changes (#636) * screenId renames * Rename surface map to collision mesh (#637) * Rename some stack vars (#638) * Fix syntax error (#639) * Rename some stack vars * Update collision.c * Collision Documentation (#640) * Collision related renames * update doxygen (#649) * change bool (#644) Co-authored-by: MegaMech <MegaMech@users.noreply.github.com> * Update (#642) * Delete trig_tables_bss.c (#650) * fix typo audio (#656) * fix typo src actor (#657) Co-authored-by: MegaMech <MegaMech@users.noreply.github.com> * fix typo include (#658) * fix course (#659) * fix typo debug (#660) * fix typo data (#661) * replace number with const (#665) * fix typo buffers (#655) * fix typo buffers * tweak ld file * rename to sMemoryPool * add a warning --------- * fix typo src (#654) * fix typo src * fix non matcing * Update code_80091750.c --------- * fix typo racing (#653) * fix typo racing * get it match * replace G_LINE3D to G_QUAD --------- * fix typo src (#652) * fix ending typo (#651) * Action more info when it doesn't match and fix first diff (#662) * Update linux-compile.yml * fix first-diff * Update first-diff.py --------- * document texture of kart (#663) * document texture of kart * change screenPlayerId to screenId * some documentation around object * Revert "some documentation around object" This reverts commit cbb39078e036bf2a417bed67359e910213acab28. * more rename --------- * Make evaluate_collision_players_palm_tree better (#667) This matches just the same as before, but using those two casts instead of shifts seems more likely to be accurate to the original source code Signed-off-by: Gabriel Ravier <gabravier@gmail.com> * add fedora instruciton (#666) * start documenting animation (#668) * start documenting animation * Update course_data.c * change comment * update libultra asm (#648) * update libultra asm * fix gcc __osThreadTail --------- * Document Vehicles (#641) * start doc collision * fix merge * finish rename fonction related to vehicle * document around waypoint of vehicle * make some modification * make some change and rename one * copy_ to oldPos * doc smoke ferry and train * some rename * fix some renaming * precise index * rename a funciton * simplify waypoint_vehicles * change some name * change some name * rename move_to_point_direction * fix some conflict * Update code_80005FD0.c * Update code_80005FD0.h --------- * Label a save info loop (#645) * save info * more gcc progress * fix a value and do a rename (#669) * update clang and add action (#664) * update clang and add action * try clang on course folder only * forget two file * Update course_displaylists.inc.c * forget few other file * Update course_vertices.inc.c * format all code while get it match * second pass * format other dir * disable clang format on bad ido code * fix some tabulation * revert format on tool dir * Update clang-format.yml * ignore gbi.h * add some read me instruction * fix error * format and fixing error * Update README.md --------- * Update linkonly_generator.py (#670) * format more file * update * fix compilation issue * remove course_metadata folder * re add course metadata folder * fix banshee bordwalk crash * fix windows eurk * Update CMakeLists.txt ---------
Diffstat (limited to 'src/update_objects.c')
-rw-r--r--src/update_objects.c5457
1 files changed, 2976 insertions, 2481 deletions
diff --git a/src/update_objects.c b/src/update_objects.c
index f50e6e2b2..325436100 100644
--- a/src/update_objects.c
+++ b/src/update_objects.c
@@ -40,73 +40,87 @@
#include <assets/boo_frames.h>
//! @todo unused?
-f32 D_800E43B0[] = {
- 65536.0, 0.0, 1.0, 0.0,
- 0.0, 65536.0, 0.0, 1.0,
- 0.0, 0.0, 0.0, 0.0,
- 0.0, 0.0, 0.0, 0.0
-};
+f32 D_800E43B0[] = { 65536.0, 0.0, 1.0, 0.0, 0.0, 65536.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
Vtx D_800E43F0[] = {
- {{{ -24, -19, 0}, 0, { 0, 0}, { 0xFF, 0xFF, 0xFF, 0xFF}}},
- {{{ 23, -19, 0}, 0, { 3008, 0}, { 0xFF, 0xFF, 0xFF, 0xFF}}},
- {{{ 23, 20, 0}, 0, { 3008, 2496}, { 0xFF, 0xFF, 0xFF, 0xFF}}},
- {{{ -24, 20, 0}, 0, { 0, 2496}, { 0xFF, 0xFF, 0xFF, 0xFF}}},
- {{{ -24, -19, 0}, 0, { 3008, 0}, { 0xFF, 0xFF, 0xFF, 0xFF}}},
- {{{ 23, -19, 0}, 0, { 0, 0}, { 0xFF, 0xFF, 0xFF, 0xFF}}},
- {{{ 23, 20, 0}, 0, { 0, 2496}, { 0xFF, 0xFF, 0xFF, 0xFF}}},
- {{{ -24, 20, 0}, 0, { 3008, 2496}, { 0xFF, 0xFF, 0xFF, 0xFF}}},
+ { { { -24, -19, 0 }, 0, { 0, 0 }, { 0xFF, 0xFF, 0xFF, 0xFF } } },
+ { { { 23, -19, 0 }, 0, { 3008, 0 }, { 0xFF, 0xFF, 0xFF, 0xFF } } },
+ { { { 23, 20, 0 }, 0, { 3008, 2496 }, { 0xFF, 0xFF, 0xFF, 0xFF } } },
+ { { { -24, 20, 0 }, 0, { 0, 2496 }, { 0xFF, 0xFF, 0xFF, 0xFF } } },
+ { { { -24, -19, 0 }, 0, { 3008, 0 }, { 0xFF, 0xFF, 0xFF, 0xFF } } },
+ { { { 23, -19, 0 }, 0, { 0, 0 }, { 0xFF, 0xFF, 0xFF, 0xFF } } },
+ { { { 23, 20, 0 }, 0, { 0, 2496 }, { 0xFF, 0xFF, 0xFF, 0xFF } } },
+ { { { -24, 20, 0 }, 0, { 3008, 2496 }, { 0xFF, 0xFF, 0xFF, 0xFF } } },
};
Vtx D_800E4470[] = {
- {{{ -24, -19, 0}, 0, { 0, 0}, { 0xFF, 0xFF, 0xFF, 0xFF}}},
- {{{ 23, -19, 0}, 0, { 3008, 0}, { 0xFF, 0xFF, 0xFF, 0xFF}}},
- {{{ 23, 20, 0}, 0, { 3008, 2496}, { 0xFF, 0xFF, 0xFF, 0xFF}}},
- {{{ -24, 20, 0}, 0, { 0, 2496}, { 0xFF, 0xFF, 0xFF, 0xFF}}},
+ { { { -24, -19, 0 }, 0, { 0, 0 }, { 0xFF, 0xFF, 0xFF, 0xFF } } },
+ { { { 23, -19, 0 }, 0, { 3008, 0 }, { 0xFF, 0xFF, 0xFF, 0xFF } } },
+ { { { 23, 20, 0 }, 0, { 3008, 2496 }, { 0xFF, 0xFF, 0xFF, 0xFF } } },
+ { { { -24, 20, 0 }, 0, { 0, 2496 }, { 0xFF, 0xFF, 0xFF, 0xFF } } },
};
Vtx D_800E44B0[] = {
- {{{ -24, -19, 0}, 0, { 3008, 0}, { 0xFF, 0xFF, 0xFF, 0xFF}}},
- {{{ 23, -19, 0}, 0, { 0, 0}, { 0xFF, 0xFF, 0xFF, 0xFF}}},
- {{{ 23, 20, 0}, 0, { 0, 2496}, { 0xFF, 0xFF, 0xFF, 0xFF}}},
- {{{ -24, 20, 0}, 0, { 3008, 2496}, { 0xFF, 0xFF, 0xFF, 0xFF}}},
-};
-
-u16 *gItemWindowTLUTs[] = {
- common_tlut_item_window_none, common_tlut_item_window_banana, common_tlut_item_window_banana_bunch, common_tlut_item_window_green_shell,
- common_tlut_item_window_triple_green_shell, common_tlut_item_window_red_shell, common_tlut_item_window_triple_red_shell, common_tlut_item_window_blue_shell,
- common_tlut_item_window_thunder_bolt, common_tlut_item_window_fake_item_box, common_tlut_item_window_star, common_tlut_item_window_boo,
- common_tlut_item_window_mushroom, common_tlut_item_window_double_mushroom, common_tlut_item_window_triple_mushroom, common_tlut_item_window_super_mushroom
+ { { { -24, -19, 0 }, 0, { 3008, 0 }, { 0xFF, 0xFF, 0xFF, 0xFF } } },
+ { { { 23, -19, 0 }, 0, { 0, 0 }, { 0xFF, 0xFF, 0xFF, 0xFF } } },
+ { { { 23, 20, 0 }, 0, { 0, 2496 }, { 0xFF, 0xFF, 0xFF, 0xFF } } },
+ { { { -24, 20, 0 }, 0, { 3008, 2496 }, { 0xFF, 0xFF, 0xFF, 0xFF } } },
};
-u8 *gItemWindowTextures[] = {
- common_texture_item_window_none, common_texture_item_window_banana, common_texture_item_window_banana_bunch, common_texture_item_window_green_shell,
- common_texture_item_window_triple_green_shell, common_texture_item_window_red_shell, common_texture_item_window_triple_red_shell, common_texture_item_window_blue_shell,
- common_texture_item_window_thunder_bolt, common_texture_item_window_fake_item_box, common_texture_item_window_star, common_texture_item_window_boo,
- common_texture_item_window_mushroom, common_texture_item_window_double_mushroom, common_texture_item_window_triple_mushroom, common_texture_item_window_super_mushroom
-};
-
-u16 *gHudLapTextures[] = {
- common_texture_hud_lap_1_on_3, common_texture_hud_lap_2_on_3, common_texture_hud_lap_3_on_3
-};
-
-u16 *gPortraitTLUTs[] = {
- common_tlut_portrait_mario, common_tlut_portrait_luigi, common_tlut_portrait_yoshi, common_tlut_portrait_toad,
- common_tlut_portrait_donkey_kong, common_tlut_portrait_wario, common_tlut_portrait_peach, common_tlut_portrait_bowser
-};
-
-u8 *gPortraitTextures[] = {
- common_texture_portrait_mario, common_texture_portrait_luigi, common_texture_portrait_yoshi, common_texture_portrait_toad,
- common_texture_portrait_donkey_kong, common_texture_portrait_wario, common_texture_portrait_peach, common_texture_portrait_bowser
-};
+u16* gItemWindowTLUTs[] = { common_tlut_item_window_none,
+ common_tlut_item_window_banana,
+ common_tlut_item_window_banana_bunch,
+ common_tlut_item_window_green_shell,
+ common_tlut_item_window_triple_green_shell,
+ common_tlut_item_window_red_shell,
+ common_tlut_item_window_triple_red_shell,
+ common_tlut_item_window_blue_shell,
+ common_tlut_item_window_thunder_bolt,
+ common_tlut_item_window_fake_item_box,
+ common_tlut_item_window_star,
+ common_tlut_item_window_boo,
+ common_tlut_item_window_mushroom,
+ common_tlut_item_window_double_mushroom,
+ common_tlut_item_window_triple_mushroom,
+ common_tlut_item_window_super_mushroom };
+
+u8* gItemWindowTextures[] = { common_texture_item_window_none,
+ common_texture_item_window_banana,
+ common_texture_item_window_banana_bunch,
+ common_texture_item_window_green_shell,
+ common_texture_item_window_triple_green_shell,
+ common_texture_item_window_red_shell,
+ common_texture_item_window_triple_red_shell,
+ common_texture_item_window_blue_shell,
+ common_texture_item_window_thunder_bolt,
+ common_texture_item_window_fake_item_box,
+ common_texture_item_window_star,
+ common_texture_item_window_boo,
+ common_texture_item_window_mushroom,
+ common_texture_item_window_double_mushroom,
+ common_texture_item_window_triple_mushroom,
+ common_texture_item_window_super_mushroom };
+
+u16* gHudLapTextures[] = { common_texture_hud_lap_1_on_3, common_texture_hud_lap_2_on_3,
+ common_texture_hud_lap_3_on_3 };
+
+u16* gPortraitTLUTs[] = { common_tlut_portrait_mario, common_tlut_portrait_luigi, common_tlut_portrait_yoshi,
+ common_tlut_portrait_toad, common_tlut_portrait_donkey_kong, common_tlut_portrait_wario,
+ common_tlut_portrait_peach, common_tlut_portrait_bowser };
+
+u8* gPortraitTextures[] = { common_texture_portrait_mario, common_texture_portrait_luigi,
+ common_texture_portrait_yoshi, common_texture_portrait_toad,
+ common_texture_portrait_donkey_kong, common_texture_portrait_wario,
+ common_texture_portrait_peach, common_texture_portrait_bowser };
s32 find_unused_obj_index(s32* arg0) {
s32 temp_v0;
s32 temp_v1;
temp_v1 = objectListSize;
- temp_v0 = 0;
- do {
+ // clang-format off
+ temp_v0 = 0; do { // this two SHOULD be on the same line
+ // clang-format on
++temp_v1;
++temp_v0;
@@ -123,7 +137,7 @@ s32 find_unused_obj_index(s32* arg0) {
}
//! @warning Does not clear struct members.
-void delete_object(s32 *objectIndex) {
+void delete_object(s32* objectIndex) {
func_80072428(*objectIndex);
gObjectList[*objectIndex].unk_0CA = 0;
*objectIndex = NULL_OBJECT_ID;
@@ -140,10 +154,10 @@ s32 func_80071FBC(void) {
return someCount;
}
-s32 add_unused_obj_index(s32 *listIdx, s32 *nextFree, s32 size) {
+s32 add_unused_obj_index(s32* listIdx, s32* nextFree, s32 size) {
s32 count;
s32 objectIndex;
- s32 *id;
+ s32* id;
if (*nextFree >= size) {
*nextFree = 0;
@@ -154,9 +168,9 @@ s32 add_unused_obj_index(s32 *listIdx, s32 *nextFree, s32 size) {
* @todo This HAS to be a for-loop of some variety, but I can't make a for-loop to match.
* If you replace this with ```for(var_v1 = 0; var_v1 < size; var_v1++)```
* The diff gets massive.
- */
+ */
if (size > 0) {
-loop_3:
+ loop_3:
if (*id == NULL_OBJECT_ID) {
objectIndex = find_unused_obj_index(id);
*nextFree += 1;
@@ -178,23 +192,23 @@ loop_3:
return objectIndex;
}
-void delete_object_wrapper(s32 *arg0) {
+void delete_object_wrapper(s32* arg0) {
delete_object(arg0);
}
-void func_80072120(s32 *arg0, s32 arg1) {
+void func_80072120(s32* arg0, s32 arg1) {
s32 i;
for (i = 0; i < arg1; i++) {
- set_object_flag_status_false(*arg0, 0x00600000);
- arg0++;
+ set_object_flag_status_false(*arg0, 0x00600000);
+ arg0++;
}
}
void func_80072180(void) {
if (gModeSelection == TIME_TRIALS) {
if (((gPlayerOne->type & PLAYER_EXISTS) != 0) &&
- ((gPlayerOne->type & (PLAYER_INVISIBLE_OR_BOMB | PLAYER_KART_AI)) == 0)) {
+ ((gPlayerOne->type & (PLAYER_INVISIBLE_OR_BOMB | PLAYER_KART_AI)) == 0)) {
D_80162DF8 = 1;
}
}
@@ -286,7 +300,7 @@ void func_80072428(s32 objectIndex) {
}
void func_80072488(s32 objectIndex) {
- set_object_unk_0CB(objectIndex, 0);
+ set_object_unk_0CB(objectIndex, 0);
set_object_flag_status_false(objectIndex, 0x2000);
gObjectList[objectIndex].state++;
}
@@ -320,7 +334,7 @@ void func_800725E8(s32 objectIndex, s32 arg1, s32 arg2) {
set_object_flag_status_false(objectIndex, 8);
gObjectList[objectIndex].state = arg2;
func_800724F8(objectIndex, gObjectList[objectIndex].state);
- gObjectList[objectIndex].state = arg1;
+ gObjectList[objectIndex].state = arg1;
}
s16 func_80072530(s32); // extern
@@ -421,7 +435,7 @@ UNUSED void func_80072974(s32 objectIndex, s32 arg1, s32 arg2, s32 arg3) {
}
UNUSED void func_80072998(s32 objectIndex) {
- gObjectList[objectIndex].unk_0CC = 0;
+ gObjectList[objectIndex].unk_0CC = 0;
}
void func_800729B4(s32 objectIndex, s32 arg1) {
@@ -443,7 +457,7 @@ void func_800729EC(s32 objectIndex) {
if (gCurrentCourseId != COURSE_YOSHI_VALLEY) {
for (i = 0; i < gPlayerCount; i++) {
- playerHUD[i].unk_81 = temp_v1;
+ playerHUD[i].unk_81 = temp_v1;
}
}
func_8005AB20();
@@ -638,7 +652,7 @@ bool func_800730BC(s32 objectIndex, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32
s32 sp24;
sp24 = false;
- if (is_obj_index_flag_status_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;
@@ -723,16 +737,16 @@ s32 func_8007326C(s32 objectIndex, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 a
return sp24;
}
-void func_80073404(s32 objectIndex, u8 arg1, u8 arg2, Vtx *arg3) {
- gObjectList[objectIndex].vertex = arg3;
- gObjectList[objectIndex].textureWidth = arg1;
- gObjectList[objectIndex].textureHeight = arg2;
- gObjectList[objectIndex].itemDisplay = 0;
- gObjectList[objectIndex].unk_0D3 = -1;
- gObjectList[objectIndex].status = 0;
+void func_80073404(s32 objectIndex, u8 arg1, u8 arg2, Vtx* arg3) {
+ gObjectList[objectIndex].vertex = arg3;
+ gObjectList[objectIndex].textureWidth = arg1;
+ gObjectList[objectIndex].textureHeight = arg2;
+ gObjectList[objectIndex].itemDisplay = 0;
+ gObjectList[objectIndex].unk_0D3 = -1;
+ gObjectList[objectIndex].status = 0;
}
-void init_texture_object(s32 objectIndex, u8 *texture, const char **arg2, u8 arg3, u16 arg4) {
+void init_texture_object(s32 objectIndex, u8* texture, const char** arg2, u8 arg3, u16 arg4) {
gObjectList[objectIndex].tlutList = texture;
gObjectList[objectIndex].textureList = arg2;
gObjectList[objectIndex].textureWidth = arg3;
@@ -742,7 +756,7 @@ void init_texture_object(s32 objectIndex, u8 *texture, const char **arg2, u8 arg
gObjectList[objectIndex].status = 0;
}
-UNUSED void func_8007348C(s32 objectIndex, u8 *arg1, u8 arg2, u8 arg3, Vtx *arg4) {
+UNUSED void func_8007348C(s32 objectIndex, u8* arg1, u8 arg2, u8 arg3, Vtx* arg4) {
gObjectList[objectIndex].activeTLUT = arg1;
gObjectList[objectIndex].tlutList = arg1;
gObjectList[objectIndex].textureWidth = arg2;
@@ -758,7 +772,8 @@ UNUSED void func_800734D4() {
void update_neon_texture(s32 objectIndex) {
// I have no idea why this typecast works
- gObjectList[objectIndex].activeTLUT = (u8*)((u32*)gObjectList[objectIndex].tlutList + (gObjectList[objectIndex].itemDisplay * 128));
+ gObjectList[objectIndex].activeTLUT =
+ (u8*) ((u32*) gObjectList[objectIndex].tlutList + (gObjectList[objectIndex].itemDisplay * 128));
gObjectList[objectIndex].activeTexture = gObjectList[objectIndex].textureList;
}
@@ -771,7 +786,7 @@ UNUSED void func_80073568() {
}
UNUSED void func_80073570(s32 objectIndex) {
- s16 *test = &gObjectList[objectIndex].state;
+ s16* test = &gObjectList[objectIndex].state;
D_8018D1EC++;
if (D_8018D1EC == 5) {
@@ -780,7 +795,7 @@ UNUSED void func_80073570(s32 objectIndex) {
(*test)++;
}
-void func_800735BC(s32 objectIndex, Gfx *arg1, f32 arg2) {
+void func_800735BC(s32 objectIndex, Gfx* arg1, f32 arg2) {
gObjectList[objectIndex].status = 0;
gObjectList[objectIndex].model = arg1;
gObjectList[objectIndex].sizeScaling = arg2;
@@ -1065,7 +1080,6 @@ void func_80073FD4(s32 objectIndex) {
}
UNUSED void func_80074014(void) {
-
}
bool func_8007401C(s32 objectIndex, f32* arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5, s32 arg6) {
@@ -1140,7 +1154,6 @@ s32 func_800741B4(s32 objectIndex, f32* arg1, f32 arg2, f32 arg3, f32 arg4, s32
return 0;
}
-
UNUSED void func_800742A8(s32 objectIndex, f32* arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5, s32 arg6) {
func_800741B4(objectIndex, arg1, arg2, arg3, arg4, arg5, arg6);
}
@@ -1205,18 +1218,18 @@ void func_800744CC(void) {
uintptr_t devaddr2;
-void func_80074510(const char **lakituTexturePtr, const char* devAddr, size_t vaddr, size_t nbytes) {
+void func_80074510(const char** lakituTexturePtr, const char* devAddr, size_t vaddr, size_t nbytes) {
func_800744CC();
lakituTexturePtr[vaddr] = devAddr;
D_8018D224 = 1;
}
-void func_80074574(const char **lakituTexturePtr, const char *devAddr, size_t vaddr, u16 width, u16 height) {
+void func_80074574(const char** lakituTexturePtr, const char* devAddr, size_t vaddr, u16 width, u16 height) {
func_80074510(lakituTexturePtr, devAddr, vaddr, width * height);
}
//! @todo arg1 should likely be a u8 *
-void func_800745C8(s32 objectIndex, const char **lakituTexturePtr) {
+void func_800745C8(s32 objectIndex, const char** lakituTexturePtr) {
s32 phi_a1;
if ((gObjectList[objectIndex].status & 1) != 0) {
@@ -1235,12 +1248,13 @@ void func_800745C8(s32 objectIndex, const char **lakituTexturePtr) {
}
}
-void func_8007466C(s32 objectIndex, const char **lakituTexturePtr) {
+void func_8007466C(s32 objectIndex, const char** lakituTexturePtr) {
s32 phi_a1;
if ((gObjectList[objectIndex].status & 1) != 0) {
// I have no idea why this typecase works
- gObjectList[objectIndex].activeTLUT = (u8*) ((u32*)gObjectList[objectIndex].tlutList + (gObjectList[objectIndex].unk_0D3 << 7));
+ gObjectList[objectIndex].activeTLUT =
+ (u8*) ((u32*) gObjectList[objectIndex].tlutList + (gObjectList[objectIndex].unk_0D3 << 7));
gObjectList[objectIndex].status ^= 2;
phi_a1 = 0;
if ((gObjectList[objectIndex].status & 2) != 0) {
@@ -1251,7 +1265,7 @@ void func_8007466C(s32 objectIndex, const char **lakituTexturePtr) {
}
}
-void func_80074704(s32 objectIndex, const char **lakituTexturePtr) {
+void func_80074704(s32 objectIndex, const char** lakituTexturePtr) {
s32 phi_a1;
if ((gObjectList[objectIndex].status & 1) != 0) {
@@ -1267,7 +1281,7 @@ void func_80074704(s32 objectIndex, const char **lakituTexturePtr) {
}
// Since the buffer only holds two textures, phi_a2 chooses which spot to load into
-size_t func_80074790(s32 objectIndex, const char **lakituTexturePtr) {
+size_t func_80074790(s32 objectIndex, const char** lakituTexturePtr) {
s32 phi_a2;
gObjectList[objectIndex].status ^= 4;
@@ -1278,30 +1292,31 @@ size_t func_80074790(s32 objectIndex, const char **lakituTexturePtr) {
return phi_a2;
}
-void func_800747F0(s32 objectIndex, const char **lakituTexturePtr) {
- const char *nextTexture = NULL;
+void func_800747F0(s32 objectIndex, const char** lakituTexturePtr) {
+ const char* nextTexture = NULL;
if (gObjectList[objectIndex].itemDisplay != gObjectList[objectIndex].unk_0D3) {
nextTexture = gObjectList[objectIndex].textureList[gObjectList[objectIndex].itemDisplay];
if (nextTexture != NULL) {
- func_80074574(lakituTexturePtr, nextTexture, func_80074790(objectIndex, lakituTexturePtr), gObjectList[objectIndex].textureWidth, gObjectList[objectIndex].textureHeight);
+ func_80074574(lakituTexturePtr, nextTexture, func_80074790(objectIndex, lakituTexturePtr),
+ gObjectList[objectIndex].textureWidth, gObjectList[objectIndex].textureHeight);
gObjectList[objectIndex].unk_0D3 = gObjectList[objectIndex].itemDisplay;
func_80074478(objectIndex);
}
}
}
-void func_80074894(s32 objectIndex, const char **lakituTexturePtr) {
+void func_80074894(s32 objectIndex, const char** lakituTexturePtr) {
func_800747F0(objectIndex, lakituTexturePtr);
func_800745C8(objectIndex, lakituTexturePtr);
}
-void func_800748C4(s32 objectIndex, const char **lakituTexturePtr) {
+void func_800748C4(s32 objectIndex, const char** lakituTexturePtr) {
func_800747F0(objectIndex, lakituTexturePtr);
func_8007466C(objectIndex, lakituTexturePtr);
}
-void func_800748F4(s32 objectIndex, const char **lakituTexturePtr) {
+void func_800748F4(s32 objectIndex, const char** lakituTexturePtr) {
func_800747F0(objectIndex, lakituTexturePtr);
func_80074704(objectIndex, lakituTexturePtr);
}
@@ -1313,39 +1328,39 @@ void func_80074924(s32 objectIndex) {
s32 sp20;
s16 temp_v0;
s32 temp_a0;
- Object *object;
+ Object* object;
object = &gObjectList[objectIndex];
object->sizeScaling = 0.15f;
temp_v0 = gCurrentCourseId;
- switch (temp_v0) { /* irregular */
- case COURSE_MARIO_RACEWAY:
- sp2C = random_int(0x00C8U);
- sp28 = random_int(D_80165748);
- sp24 = random_int(0x0096U);
- sp20 = random_int(0x2000U);
- object->origin_pos[0] = (f32) ((((f64) D_80165718 + 100.0) - (f64) sp2C) * (f64) xOrientation);
- object->origin_pos[1] = (f32) (D_80165720 + sp28);
- object->origin_pos[2] = (f32) (((f64) D_80165728 + 200.0) - (f64) sp24);
- break;
- case COURSE_ROYAL_RACEWAY:
- sp2C = random_int(0x0168U);
- sp28 = random_int(D_80165748);
- sp24 = random_int(0x00B4U);
- sp20 = random_int(0x2000U);
- object->origin_pos[0] = (f32) ((((f64) D_80165718 + 180.0) - (f64) sp2C) * (f64) xOrientation);
- object->origin_pos[1] = (f32) (D_80165720 + sp28);
- object->origin_pos[2] = (f32) (((f64) D_80165728 + 200.0) - (f64) sp24);
- break;
- case COURSE_LUIGI_RACEWAY:
- sp2C = random_int(0x012CU);
- sp28 = random_int(D_80165748);
- sp24 = random_int(0x0096U);
- sp20 = random_int(0x2000U);
- object->origin_pos[0] = (f32) ((((f64) D_80165718 + 150.0) - (f64) sp2C) * (f64) xOrientation);
- object->origin_pos[1] = (f32) (D_80165720 + sp28);
- object->origin_pos[2] = (f32) (((f64) D_80165728 + 200.0) - (f64) sp24);
- break;
+ switch (temp_v0) { /* irregular */
+ case COURSE_MARIO_RACEWAY:
+ sp2C = random_int(0x00C8U);
+ sp28 = random_int(D_80165748);
+ sp24 = random_int(0x0096U);
+ sp20 = random_int(0x2000U);
+ object->origin_pos[0] = (f32) ((((f64) D_80165718 + 100.0) - (f64) sp2C) * (f64) xOrientation);
+ object->origin_pos[1] = (f32) (D_80165720 + sp28);
+ object->origin_pos[2] = (f32) (((f64) D_80165728 + 200.0) - (f64) sp24);
+ break;
+ case COURSE_ROYAL_RACEWAY:
+ sp2C = random_int(0x0168U);
+ sp28 = random_int(D_80165748);
+ sp24 = random_int(0x00B4U);
+ sp20 = random_int(0x2000U);
+ object->origin_pos[0] = (f32) ((((f64) D_80165718 + 180.0) - (f64) sp2C) * (f64) xOrientation);
+ object->origin_pos[1] = (f32) (D_80165720 + sp28);
+ object->origin_pos[2] = (f32) (((f64) D_80165728 + 200.0) - (f64) sp24);
+ break;
+ case COURSE_LUIGI_RACEWAY:
+ sp2C = random_int(0x012CU);
+ sp28 = random_int(D_80165748);
+ sp24 = random_int(0x0096U);
+ sp20 = random_int(0x2000U);
+ object->origin_pos[0] = (f32) ((((f64) D_80165718 + 150.0) - (f64) sp2C) * (f64) xOrientation);
+ object->origin_pos[1] = (f32) (D_80165720 + sp28);
+ object->origin_pos[2] = (f32) (((f64) D_80165728 + 200.0) - (f64) sp24);
+ break;
}
set_obj_origin_offset(objectIndex, 0, 0, 0);
if (gPlayerCount == 1) {
@@ -1372,7 +1387,8 @@ void func_80074924(s32 objectIndex) {
void func_80074D94(s32 objectIndex) {
if (gObjectList[objectIndex].unk_0AE == 1) {
- if ((D_80165740 <= gObjectList[objectIndex].offset[1]) && (s16_step_down_towards(&gObjectList[objectIndex].primAlpha, 0, 8) != 0)) {
+ if ((D_80165740 <= gObjectList[objectIndex].offset[1]) &&
+ (s16_step_down_towards(&gObjectList[objectIndex].primAlpha, 0, 8) != 0)) {
func_80086F60(objectIndex);
}
object_add_velocity_offset_y(objectIndex);
@@ -1382,22 +1398,22 @@ void func_80074D94(s32 objectIndex) {
void func_80074E28(s32 objectIndex) {
switch (gObjectList[objectIndex].state) {
- case 1:
- func_80074924(objectIndex);
- break;
- case 2:
- if (func_8007278C(objectIndex, 1) != 0) {
- func_80086E70(objectIndex);
- break;
- }
- case 0:
- break;
- case 3:
- func_80041480(&gObjectList[objectIndex].unk_084[6], -0x1000, 0x1000, &gObjectList[objectIndex].unk_084[7]);
- if (gObjectList[objectIndex].unk_0AE == 0) {
- func_80072428(objectIndex);
- }
- break;
+ case 1:
+ func_80074924(objectIndex);
+ break;
+ case 2:
+ if (func_8007278C(objectIndex, 1) != 0) {
+ func_80086E70(objectIndex);
+ break;
+ }
+ case 0:
+ break;
+ case 3:
+ func_80041480(&gObjectList[objectIndex].unk_084[6], -0x1000, 0x1000, &gObjectList[objectIndex].unk_084[7]);
+ if (gObjectList[objectIndex].unk_0AE == 0) {
+ func_80072428(objectIndex);
+ }
+ break;
}
}
@@ -1405,7 +1421,7 @@ void func_80074EE8(void) {
s32 someIndex;
s32 objectIndex;
s32 someCount;
- Object *object;
+ Object* object;
someCount = 0;
for (someIndex = 0; someIndex < D_80165738; someIndex++) {
@@ -1428,29 +1444,31 @@ void func_80074EE8(void) {
}
void func_80074FD8(s32 objectIndex) {
- switch (gObjectList[objectIndex].state) { /* irregular */
- case 0:
- break;
- case 1:
- if (func_80087E08(objectIndex, gObjectList[objectIndex].velocity[1], 0.12f, gObjectList[objectIndex].unk_034, gObjectList[objectIndex].direction_angle[1], 0x00000064) != 0) {
- func_80072488(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];
- break;
- case 2:
- func_80086F60(objectIndex);
- func_80072428(objectIndex);
- break;
+ switch (gObjectList[objectIndex].state) { /* irregular */
+ case 0:
+ break;
+ case 1:
+ if (func_80087E08(objectIndex, gObjectList[objectIndex].velocity[1], 0.12f,
+ gObjectList[objectIndex].unk_034, gObjectList[objectIndex].direction_angle[1],
+ 0x00000064) != 0) {
+ func_80072488(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];
+ break;
+ case 2:
+ func_80086F60(objectIndex);
+ func_80072428(objectIndex);
+ break;
}
}
void func_800750D8(s32 objectIndex, s32 arg1, Vec3f arg2, s32 arg3, s32 arg4) {
s32 sp24;
s32 temp_v0;
- Object *object;
+ Object* object;
init_object(objectIndex, 0);
sp24 = random_int(0x01F4U);
@@ -1460,7 +1478,7 @@ void func_800750D8(s32 objectIndex, s32 arg1, Vec3f arg2, s32 arg3, s32 arg4) {
object->sizeScaling = ((f64) (f32) sp24 * 0.0005) + 0.05;
// ALL HAIL THE FAKE MATCH GODS!!!!!
object->velocity[1] = ((f64) (f32) temp_v0 * (0.05 * 1.0)) + 2.0;
- object->unk_034 = ((f64) (f32)(temp_v0 % 5) * 0.1) + 1.0;
+ object->unk_034 = ((f64) (f32) (temp_v0 % 5) * 0.1) + 1.0;
object->direction_angle[1] = (arg1 << 0x10) / arg4;
object->origin_pos[0] = (arg2[0] + (temp_v0 / 2)) - 12.0f;
object->origin_pos[1] = (arg2[1] - 10.0) + random_int(0x000AU);
@@ -1475,18 +1493,20 @@ void func_80075304(Vec3f arg0, s32 arg1, s32 arg2, s32 arg3) {
s32 objectIndex;
for (var_s1 = 0; var_s1 < arg3; var_s1++) {
- switch (arg1) { /* irregular */
- case 1:
- objectIndex = add_unused_obj_index(gObjectParticle1, &gNextFreeObjectParticle1, gObjectParticle1_SIZE);
- break;
- case 2:
- objectIndex = add_unused_obj_index(gObjectParticle2, &gNextFreeObjectParticle2, gObjectParticle2_SIZE);
- break;
- case 3:
- objectIndex = add_unused_obj_index(gObjectParticle3, &gNextFreeObjectParticle3, gObjectParticle3_SIZE);
+ switch (arg1) { /* irregular */
+ case 1:
+ objectIndex = add_unused_obj_index(gObjectParticle1, &gNextFreeObjectParticle1, gObjectParticle1_SIZE);
+ break;
+ case 2:
+ objectIndex = add_unused_obj_index(gObjectParticle2, &gNextFreeObjectParticle2, gObjectParticle2_SIZE);
+ break;
+ case 3:
+ objectIndex = add_unused_obj_index(gObjectParticle3, &gNextFreeObjectParticle3, gObjectParticle3_SIZE);
+ break;
+ }
+ if (objectIndex == NULL_OBJECT_ID) {
break;
}
- if (objectIndex == NULL_OBJECT_ID) break;
func_800750D8(objectIndex, var_s1, arg0, arg2, arg3);
}
}
@@ -1494,23 +1514,23 @@ void func_80075304(Vec3f arg0, s32 arg1, s32 arg2, s32 arg3) {
void func_8007542C(s32 arg0) {
s32 objectIndex;
s32 var_s2;
- s32 *var_s3;
- Object *object;
+ s32* var_s3;
+ Object* object;
D_8016582C[0] += 0x2000;
D_8016582C[1] += 0x1000;
D_8016582C[2] += 0x1800;
for (var_s2 = 0; var_s2 < 0x80; var_s2++) {
- switch (arg0) { /* irregular */
- case 1:
- var_s3 = gObjectParticle1;
- break;
- case 2:
- var_s3 = gObjectParticle2;
- break;
- case 3:
- var_s3 = gObjectParticle3;
- break;
+ switch (arg0) { /* irregular */
+ case 1:
+ var_s3 = gObjectParticle1;
+ break;
+ case 2:
+ var_s3 = gObjectParticle2;
+ break;
+ case 3:
+ var_s3 = gObjectParticle3;
+ break;
}
objectIndex = var_s3[var_s2];
if (objectIndex != DELETED_OBJECT_ID) {
@@ -1522,12 +1542,11 @@ void func_8007542C(s32 arg0) {
}
}
}
-
}
}
void init_train_smoke(s32 objectIndex, Vec3f pos, f32 velocity) {
- Object *object;
+ Object* object;
UNUSED s32 pad[2];
init_object(objectIndex, 0);
@@ -1573,22 +1592,22 @@ void func_80075698(s32 objectIndex) {
void func_80075714(s32 objectIndex) {
switch (gObjectList[objectIndex].state) {
- case 1:
- func_80075698(objectIndex);
- break;
- case 2:
- gObjectList[objectIndex].velocity[1] -= 0.03;
- 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].primAlpha, 0xFF, 0x1E, 7, 0, 0) != 0) {
- func_80072488(objectIndex);
- }
- break;
- case 3:
- func_80072428(objectIndex);
- break;
- case 0:
- break;
+ case 1:
+ func_80075698(objectIndex);
+ break;
+ case 2:
+ gObjectList[objectIndex].velocity[1] -= 0.03;
+ 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].primAlpha, 0xFF, 0x1E, 7, 0, 0) != 0) {
+ func_80072488(objectIndex);
+ }
+ break;
+ case 3:
+ func_80072428(objectIndex);
+ break;
+ case 0:
+ break;
}
object_calculate_new_pos_offset(objectIndex);
@@ -1599,7 +1618,7 @@ void update_train_smoke(void) {
s32 count;
s32 i;
s32 temp_a0;
- Object *object;
+ Object* object;
if (D_8016578C != 0) {
D_8016578C -= 1;
}
@@ -1607,7 +1626,7 @@ void update_train_smoke(void) {
D_80165790 -= 1;
}
if ((gTrainList[0].someFlags != 0) || (D_8016578C != 0)) {
- count = 0;
+ count = 0;
for (i = 0; i < 128; i++) {
temp_a0 = gObjectParticle2[i];
if (temp_a0 != -1) {
@@ -1642,12 +1661,12 @@ void update_train_smoke(void) {
}
if (count != 0) {
D_80165790 = 100;
- }
+ }
}
}
void init_ferry_smoke(s32 objectIndex, Vec3f pos, f32 velocity) {
- Object *object;
+ Object* object;
init_object(objectIndex, 0);
object = &gObjectList[objectIndex];
@@ -1694,22 +1713,22 @@ void func_80075B08(s32 objectIndex) {
void func_80075B84(s32 objectIndex) {
switch (gObjectList[objectIndex].state) {
- case 1:
- func_80075B08(objectIndex);
- break;
- case 2:
- gObjectList[objectIndex].velocity[1] -= 0.03;
- 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].primAlpha, 0xFF, 0x1E, 7, 0, 0) != 0) {
- func_80072488(objectIndex);
- }
- break;
- case 3:
- func_80072428(objectIndex);
- break;
- case 0:
- break;
+ case 1:
+ func_80075B08(objectIndex);
+ break;
+ case 2:
+ gObjectList[objectIndex].velocity[1] -= 0.03;
+ 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].primAlpha, 0xFF, 0x1E, 7, 0, 0) != 0) {
+ func_80072488(objectIndex);
+ }
+ break;
+ case 3:
+ func_80072428(objectIndex);
+ break;
+ case 0:
+ break;
}
object_calculate_new_pos_offset(objectIndex);
@@ -1720,7 +1739,7 @@ void update_ferries_smoke_particle(void) {
s32 count;
s32 i;
s32 temp_a0;
- Object *object;
+ Object* object;
if (D_8016578C != 0) {
D_8016578C -= 1;
}
@@ -1763,12 +1782,12 @@ void update_ferries_smoke_particle(void) {
}
if (count != 0) {
D_80165790 = 100;
- }
+ }
}
}
void func_80075E5C(s32 objectIndex, Vec3f arg1, u16 arg2, f32 arg3, s32 arg4) {
- Object *object;
+ Object* object;
init_object(objectIndex, 0);
object = &gObjectList[objectIndex];
@@ -1800,7 +1819,9 @@ void func_80075F98(Vec3f arg0, u16 arg1, f32 arg2) {
s32 someIndex;
for (someIndex = 0; someIndex < 10; someIndex++) {
- if (func_80075F28(arg0, arg1, arg2, someIndex) == -1) break;
+ if (func_80075F28(arg0, arg1, arg2, someIndex) == -1) {
+ break;
+ }
}
}
@@ -1824,7 +1845,8 @@ void func_8007601C(s32 objectIndex) {
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));
+ func_800C9D80(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity,
+ SOUND_ARG_LOAD(0x51, 0x02, 0x80, 0x0A));
if (gObjectList[objectIndex].type > 0) {
gObjectList[objectIndex].type--;
gObjectList[objectIndex].unk_04C = 0x5A;
@@ -1850,7 +1872,7 @@ void func_8007614C(void) {
}
void func_80076194(s32 objectIndex, Vec3f arg1, f32 arg2, s32 arg3) {
- Object *object;
+ Object* object;
init_object(objectIndex, 0);
object = &gObjectList[objectIndex];
@@ -1885,14 +1907,16 @@ void func_800762DC(Vec3f arg0, f32 arg1) {
s32 someIndex;
for (someIndex = 0; someIndex < 0x14; someIndex++) {
- if (func_80076278(arg0, arg1, someIndex) == -1) break;
+ if (func_80076278(arg0, arg1, someIndex) == -1) {
+ break;
+ }
}
}
void func_8007634C(s32 objectIndex) {
- Object *object;
+ Object* object;
- u8 *asset = LOAD_ASSET(common_texture_particle_smoke);
+ u8* asset = LOAD_ASSET(common_texture_particle_smoke);
object = &gObjectList[objectIndex];
object->activeTexture = asset[0];
@@ -1904,59 +1928,60 @@ void func_8007634C(s32 objectIndex) {
}
void func_800763CC(s32 objectIndex) {
- Object *object;
+ Object* object;
- if(objectIndex){}
+ if (objectIndex) {}
object = &gObjectList[objectIndex];
switch (object->state) {
- case 1:
- func_8007634C(objectIndex);
- break;
- case 2:
- if (func_8007278C(objectIndex, object->unk_048) != 0) {
- func_80086E70(objectIndex);
- }
- break;
- case 3:
- if (object->unk_0D5 == 4) {
- f32_step_towards(&object->sizeScaling, 4.0f, 0.1f);
- s16_step_towards(&object->type, 0, 0x0018);
- s16_step_towards(&object->unk_0A2, 0x0080, 0x000C);
- } else {
- f32_step_towards(&object->sizeScaling, 1.0f, 0.1f);
- s16_step_towards(&object->type, 0, 0x0018);
- s16_step_towards(&object->unk_0A2, 0x0080, 0x000C);
- }
- if ((object->unk_0AE >= 2) && (func_80073B00(objectIndex, &object->primAlpha, 0x000000FF, 0x00000050, 0x00000020, 0, 0) != 0)) {
- func_80072488(objectIndex);
- }
- break;
- case 4:
- func_80072428(objectIndex);
- func_80086F60(objectIndex);
- break;
- case 0:
- default:
- break;
+ case 1:
+ func_8007634C(objectIndex);
+ break;
+ case 2:
+ if (func_8007278C(objectIndex, object->unk_048) != 0) {
+ func_80086E70(objectIndex);
+ }
+ break;
+ case 3:
+ if (object->unk_0D5 == 4) {
+ f32_step_towards(&object->sizeScaling, 4.0f, 0.1f);
+ s16_step_towards(&object->type, 0, 0x0018);
+ s16_step_towards(&object->unk_0A2, 0x0080, 0x000C);
+ } else {
+ f32_step_towards(&object->sizeScaling, 1.0f, 0.1f);
+ s16_step_towards(&object->type, 0, 0x0018);
+ s16_step_towards(&object->unk_0A2, 0x0080, 0x000C);
+ }
+ if ((object->unk_0AE >= 2) &&
+ (func_80073B00(objectIndex, &object->primAlpha, 0x000000FF, 0x00000050, 0x00000020, 0, 0) != 0)) {
+ func_80072488(objectIndex);
+ }
+ break;
+ case 4:
+ func_80072428(objectIndex);
+ func_80086F60(objectIndex);
+ break;
+ case 0:
+ default:
+ break;
}
}
void func_80076538(s32 objectIndex) {
switch (gObjectList[objectIndex].unk_0AE) {
- case 0:
- break;
- case 1:
- if ((u8) gObjectList[objectIndex].unk_0D5 == 4) {
- if (func_80087060(objectIndex, 0x0000000E) != 0) {
+ case 0:
+ break;
+ case 1:
+ if ((u8) gObjectList[objectIndex].unk_0D5 == 4) {
+ if (func_80087060(objectIndex, 0x0000000E) != 0) {
+ func_80086FD4(objectIndex);
+ }
+ } else if (func_80087060(objectIndex, 2) != 0) {
func_80086FD4(objectIndex);
}
- } else if (func_80087060(objectIndex, 2) != 0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 2:
- u16_step_down_towards(&gObjectList[objectIndex].direction_angle[0], 0, 0x00000400);
- break;
+ break;
+ case 2:
+ u16_step_down_towards(&gObjectList[objectIndex].direction_angle[0], 0, 0x00000400);
+ break;
}
if (gObjectList[objectIndex].unk_0AE > 0) {
func_80087844(objectIndex);
@@ -2001,7 +2026,7 @@ void func_8007661C(void) {
}
void func_8007675C(s32 objectIndex, Vec3s arg1, s32 arg2) {
- Object *object;
+ Object* object;
init_object(objectIndex, 0);
object = &gObjectList[objectIndex];
@@ -2034,36 +2059,32 @@ void func_80076884(s32 arg0) {
UNUSED s32 stackPadding0;
s32 i;
s32 temp_v0;
- s16 *var_s2;
+ s16* var_s2;
temp_v0 = random_int(0x000FU);
- switch (arg0)
- {
+ switch (arg0) {
case 0:
- var_s2 = D_800E5740 + (temp_v0 * 3);
- break;
+ var_s2 = D_800E5740 + (temp_v0 * 3);
+ break;
case 1:
- var_s2 = D_800E579C + (temp_v0 * 3);
- break;
+ var_s2 = D_800E579C + (temp_v0 * 3);
+ break;
case 2:
- var_s2 = D_800E57F8 + (temp_v0 * 3);
- break;
-
+ var_s2 = D_800E57F8 + (temp_v0 * 3);
+ break;
}
- for (i = 0; i < 1; i++)
- {
- if (func_80076828(var_s2, i) == (-1))
- {
- break;
+ for (i = 0; i < 1; i++) {
+ if (func_80076828(var_s2, i) == (-1)) {
+ break;
}
}
}
void func_80076958(s32 objectIndex) {
- Object *object;
- u8 *tex = (u8 *) LOAD_ASSET(common_texture_particle_smoke);
+ Object* object;
+ u8* tex = (u8*) LOAD_ASSET(common_texture_particle_smoke);
object = &gObjectList[objectIndex];
object->activeTexture = tex[0];
@@ -2075,7 +2096,7 @@ void func_80076958(s32 objectIndex) {
}
void func_800769D8(s32 objectIndex) {
- Object *object;
+ Object* object;
object = &gObjectList[objectIndex];
switch (object->state) {
@@ -2092,7 +2113,8 @@ void func_800769D8(s32 objectIndex) {
case 3:
f32_step_towards(&object->sizeScaling, 2.0f, 0.05f);
s16_step_towards(&object->type, 0, 0x0018);
- if ((object->unk_0AE >= 2) && (func_80073B00(objectIndex, &object->primAlpha, 0x000000FF, 0x00000050, 0x00000020, 0, 0) != 0)) {
+ if ((object->unk_0AE >= 2) &&
+ (func_80073B00(objectIndex, &object->primAlpha, 0x000000FF, 0x00000050, 0x00000020, 0, 0) != 0)) {
func_80072488(objectIndex);
}
break;
@@ -2106,7 +2128,7 @@ void func_800769D8(s32 objectIndex) {
void func_80076AEC(s32 objectIndex) {
s32 thing;
thing = gObjectList[objectIndex].unk_0AE;
- if(thing) {}
+ if (thing) {}
if (thing != 0) {
if (thing == 1) {
if (func_80087060(objectIndex, 0x0000000A) != 0) {
@@ -2123,13 +2145,12 @@ void func_80076AEC(s32 objectIndex) {
}
void func_80076B7C(void) {
-
}
void update_flame_particle(void) {
s32 someIndex;
s32 objectIndex;
- Object *object;
+ Object* object;
func_8007661C();
func_8007614C();
@@ -2154,7 +2175,7 @@ void update_flame_particle(void) {
}
void init_object_smoke_paticle(s32 objectIndex, Vec3f arg1, s16 arg2) {
- Object *object;
+ Object* object;
init_object(objectIndex, (s32) arg2);
object = &gObjectList[objectIndex];
@@ -2191,7 +2212,9 @@ void func_80076E14(s32 objectIndex) {
func_80076DC4(objectIndex);
break;
case 2:
- if ((gObjectList[objectIndex].unk_0AE >= 2) && (func_80073B00(objectIndex, &gObjectList[objectIndex].primAlpha, 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;
@@ -2214,7 +2237,7 @@ void func_80076ED8(s32 objectIndex) {
void func_80076F2C(void) {
s32 someIndex;
s32 flameIndex;
- Object *object;
+ Object* object;
for (someIndex = 0; someIndex < gObjectParticle4_SIZE; someIndex++) {
flameIndex = gObjectParticle4[someIndex];
@@ -2239,9 +2262,9 @@ void init_object_smoke_particle(s32 objectIndex, s32 flameIndex) {
gObjectList[objectIndex].textureList = common_texture_particle_smoke[0];
gObjectList[objectIndex].sizeScaling = 0.8f;
- gObjectList[objectIndex].origin_pos[0] = (f32)*(gTorchSpawns + (flameIndex * 3) + 0) * xOrientation;
- gObjectList[objectIndex].origin_pos[1] = (f32)*(gTorchSpawns + (flameIndex * 3) + 1);
- gObjectList[objectIndex].origin_pos[2] = (f32)*(gTorchSpawns + (flameIndex * 3) + 2);
+ gObjectList[objectIndex].origin_pos[0] = (f32) * (gTorchSpawns + (flameIndex * 3) + 0) * xOrientation;
+ gObjectList[objectIndex].origin_pos[1] = (f32) * (gTorchSpawns + (flameIndex * 3) + 1);
+ gObjectList[objectIndex].origin_pos[2] = (f32) * (gTorchSpawns + (flameIndex * 3) + 2);
gObjectList[objectIndex].unk_034 = 0;
gObjectList[objectIndex].type = 255;
gObjectList[objectIndex].unk_0A2 = 255;
@@ -2303,12 +2326,13 @@ void func_80077138(s32 objectIndex, Vec3f arg1, s32 arg2) {
}
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)) {
+ if ((gObjectList[objectIndex].direction_angle[1] < 0x3000) ||
+ (gObjectList[objectIndex].direction_angle[1] >= 0xB001)) {
gObjectList[objectIndex].unk_084[3] = -gObjectList[objectIndex].unk_084[3];
}
}
-void func_800773D8(f32 *arg0, s32 arg1) {
+void func_800773D8(f32* arg0, s32 arg1) {
s32 objectIndex = add_unused_obj_index(gObjectParticle3, &gNextFreeObjectParticle3, gObjectParticle3_SIZE);
if (objectIndex != NULL_OBJECT_ID) {
func_80077138(objectIndex, arg0, arg1);
@@ -2334,7 +2358,9 @@ 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].primAlpha, 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);
}
@@ -2350,7 +2376,7 @@ void func_80077450(s32 objectIndex) {
}
void func_80077584(s32 objectIndex) {
- Object *object;
+ Object* object;
object = &gObjectList[objectIndex];
if ((object->unk_0AE != 0) && (object->unk_0AE == 1) && ((u8) object->unk_0D8 != 0)) {
@@ -2369,9 +2395,9 @@ void func_80077584(s32 objectIndex) {
void func_80077640(void) {
s32 someIndex;
s32 objectIndex;
- Object *object;
+ Object* object;
- for(someIndex = 0; someIndex < gObjectParticle3_SIZE; someIndex++) {
+ for (someIndex = 0; someIndex < gObjectParticle3_SIZE; someIndex++) {
objectIndex = gObjectParticle3[someIndex];
if (objectIndex != DELETED_OBJECT_ID) {
object = &gObjectList[objectIndex];
@@ -2442,7 +2468,9 @@ void spawn_leaf(Vec3f arg0, UNUSED s32 arg1) {
s32 i;
for (i = 0; i < gLeafParticle_SPAWN_SIZE; i++) {
- if (init_leaf_particle(arg0, i) == NULL_OBJECT_ID) break;
+ if (init_leaf_particle(arg0, i) == NULL_OBJECT_ID) {
+ break;
+ }
}
}
@@ -2452,7 +2480,7 @@ void func_80077B14(s32 arg0) {
}
void func_80077B3C(s32 objectIndex) {
- Object *object;
+ Object* object;
object = &gObjectList[objectIndex];
switch (object->state) {
@@ -2475,7 +2503,8 @@ void func_80077B3C(s32 objectIndex) {
void func_80077BCC(s32 objectIndex) {
switch (gObjectList[objectIndex].unk_0AE) {
case 1:
- func_80087E08(objectIndex, gObjectList[objectIndex].velocity[1], 0.2f, gObjectList[objectIndex].unk_034, (s16) (s32) gObjectList[objectIndex].direction_angle[1], 0x0000000A);
+ func_80087E08(objectIndex, gObjectList[objectIndex].velocity[1], 0.2f, gObjectList[objectIndex].unk_034,
+ (s16) (s32) gObjectList[objectIndex].direction_angle[1], 0x0000000A);
break;
case 2:
if (func_80087B84(objectIndex, 0.4f, gObjectList[objectIndex].surfaceHeight) != 0) {
@@ -2491,9 +2520,9 @@ void func_80077BCC(s32 objectIndex) {
void update_leaf(void) {
s32 someIndex;
s32 leafIndex;
- Object *object;
+ Object* object;
- for(someIndex = 0; someIndex < gLeafParticle_SIZE; someIndex++) {
+ for (someIndex = 0; someIndex < gLeafParticle_SIZE; someIndex++) {
leafIndex = gLeafParticle[someIndex];
if (leafIndex != DELETED_OBJECT_ID) {
object = &gObjectList[leafIndex];
@@ -2528,14 +2557,15 @@ void func_80077D5C(s32 arg0) {
}
void func_80077E20(s32 objectIndex) {
- u8 *tex = (u8 *) LOAD_ASSET(D_0D0293D8);
- Vtx *vtx = (Vtx *) LOAD_ASSET(common_vtx_rectangle);
- Object *object;
+ u8* tex = (u8*) LOAD_ASSET(D_0D0293D8);
+ Vtx* vtx = (Vtx*) LOAD_ASSET(common_vtx_rectangle);
+ Object* object;
object = &gObjectList[objectIndex];
object->activeTexture = tex;
object->textureList = tex;
- //! @bug frappe snowland There's something up with the handling of common_vtx_rectangle and the loading of 0x10 right here
+ //! @bug frappe snowland There's something up with the handling of common_vtx_rectangle and the loading of 0x10
+ //! right here
// root function: func_80078C70
object->vertex = vtx;
object->textureHeight = 0x10;
@@ -2549,7 +2579,7 @@ void func_80077E20(s32 objectIndex) {
func_80072488(objectIndex);
}
-void func_80077EB8(s32 objectIndex, u16 arg1, Camera *camera) {
+void func_80077EB8(s32 objectIndex, u16 arg1, Camera* camera) {
s16 temp_v0;
temp_v0 = camera->rot[1] - arg1;
@@ -2561,11 +2591,11 @@ void func_80077EB8(s32 objectIndex, u16 arg1, Camera *camera) {
set_object_flag_status_false(objectIndex, 0x00000010);
}
-void func_80077F64(s32 objectIndex, Camera *camera) {
+void func_80077F64(s32 objectIndex, Camera* camera) {
f64 rand;
- switch (gObjectList[objectIndex].unk_0AE) { /* irregular */
+ switch (gObjectList[objectIndex].unk_0AE) { /* irregular */
case 1:
gObjectList[objectIndex].direction_angle[1] = (camera->rot[1] + random_int(0x4000U)) - 0x2000;
object_origin_pos_randomize_around_y(objectIndex, 0x00B4, 0x0014U);
@@ -2593,26 +2623,26 @@ void func_80077F64(s32 objectIndex, Camera *camera) {
}
}
-void func_800780CC(s32 objectIndex, Camera *camera) {
- switch (gObjectList[objectIndex].state) { /* irregular */
- case 1:
- func_80077E20(objectIndex);
- return;
- case 2:
- func_80077F64(objectIndex, camera);
- if (gObjectList[objectIndex].unk_0AE == 0) {
- func_80072488(objectIndex);
+void func_800780CC(s32 objectIndex, Camera* camera) {
+ switch (gObjectList[objectIndex].state) { /* irregular */
+ case 1:
+ func_80077E20(objectIndex);
return;
- }
- case 0:
- return;
- case 3:
- func_80072428(objectIndex);
- break;
+ case 2:
+ func_80077F64(objectIndex, camera);
+ if (gObjectList[objectIndex].unk_0AE == 0) {
+ func_80072488(objectIndex);
+ return;
+ }
+ case 0:
+ return;
+ case 3:
+ func_80072428(objectIndex);
+ break;
}
}
-void func_80078170(s32 arg0, Camera *arg1) {
+void func_80078170(s32 arg0, Camera* arg1) {
s32 objectIndex;
s32 i;
@@ -2626,9 +2656,9 @@ void func_80078170(s32 arg0, Camera *arg1) {
}
void func_80078220(s32 objectIndex) {
- u8 *tex = (u8 *) LOAD_ASSET(D_0D0293D8);
- Vtx *vtx = (Vtx *) LOAD_ASSET(common_vtx_rectangle);
- Object *object;
+ u8* tex = (u8*) LOAD_ASSET(D_0D0293D8);
+ Vtx* vtx = (Vtx*) LOAD_ASSET(common_vtx_rectangle);
+ Object* object;
object = &gObjectList[objectIndex];
object->activeTexture = tex;
@@ -2646,70 +2676,71 @@ void func_80078288(s32 objectIndex) {
UNUSED u16 pad;
u16 temp_t6;
- switch (gObjectList[objectIndex].unk_0AE) { /* irregular */
- case 0:
- break;
- case 1:
- if (gGamestate != 9) {
- sp3A = ((gPlayerOneCopy->unk_094 / 18) * 216) / 2;
- sp3E = (random_int(0x000FU) - sp3A) + 0x2D;
- sp3C = random_int(0x012CU) + 0x1E;
- temp_t6 = camera1->rot[1] + ((s32) (random_int(0x3000U) - 0x1800) / (s16) ((sp3A / 15) + 1));
- gObjectList[objectIndex].origin_pos[0] = gPlayerOneCopy->pos[0] + (sins(temp_t6) * sp3C);
- gObjectList[objectIndex].origin_pos[1] = sp3E + gPlayerOneCopy->unk_074;
- gObjectList[objectIndex].origin_pos[2] = gPlayerOneCopy->pos[2] + (coss(temp_t6) * sp3C);
- 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].offset[0] = 0.0f;
- gObjectList[objectIndex].offset[1] = 0.0f;
- func_80086FD4(objectIndex);
- } else {
- sp3C = random_int(0x0064U) + 0x28;
- temp_t6 = camera1->rot[1] + random_int(0x3000U) - 0x1800;
- gObjectList[objectIndex].origin_pos[0] = camera1->pos[0] + (sins(temp_t6) * sp3C);
- gObjectList[objectIndex].origin_pos[1] = camera1->pos[1] + 45.0;
- gObjectList[objectIndex].origin_pos[2] = camera1->pos[2] + (coss(temp_t6) * sp3C);
- 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].offset[0] = 0.0f;
- gObjectList[objectIndex].offset[1] = 0.0f;
- func_80086FD4(objectIndex);
- }
- break;
- case 2:
- object_add_velocity_offset_y(objectIndex);
- gObjectList[objectIndex].direction_angle[0] += gObjectList[objectIndex].unk_0C4;
- 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);
- }
- gObjectList[objectIndex].orientation[1] = angle_between_object_camera(objectIndex, camera1);
- break;
- case 3:
- func_80086F60(objectIndex);
- break;
+ switch (gObjectList[objectIndex].unk_0AE) { /* irregular */
+ case 0:
+ break;
+ case 1:
+ if (gGamestate != 9) {
+ sp3A = ((gPlayerOneCopy->unk_094 / 18) * 216) / 2;
+ sp3E = (random_int(0x000FU) - sp3A) + 0x2D;
+ sp3C = random_int(0x012CU) + 0x1E;
+ temp_t6 = camera1->rot[1] + ((s32) (random_int(0x3000U) - 0x1800) / (s16) ((sp3A / 15) + 1));
+ gObjectList[objectIndex].origin_pos[0] = gPlayerOneCopy->pos[0] + (sins(temp_t6) * sp3C);
+ gObjectList[objectIndex].origin_pos[1] = sp3E + gPlayerOneCopy->unk_074;
+ gObjectList[objectIndex].origin_pos[2] = gPlayerOneCopy->pos[2] + (coss(temp_t6) * sp3C);
+ 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].offset[0] = 0.0f;
+ gObjectList[objectIndex].offset[1] = 0.0f;
+ func_80086FD4(objectIndex);
+ } else {
+ sp3C = random_int(0x0064U) + 0x28;
+ temp_t6 = camera1->rot[1] + random_int(0x3000U) - 0x1800;
+ gObjectList[objectIndex].origin_pos[0] = camera1->pos[0] + (sins(temp_t6) * sp3C);
+ gObjectList[objectIndex].origin_pos[1] = camera1->pos[1] + 45.0;
+ gObjectList[objectIndex].origin_pos[2] = camera1->pos[2] + (coss(temp_t6) * sp3C);
+ 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].offset[0] = 0.0f;
+ gObjectList[objectIndex].offset[1] = 0.0f;
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 2:
+ object_add_velocity_offset_y(objectIndex);
+ gObjectList[objectIndex].direction_angle[0] += gObjectList[objectIndex].unk_0C4;
+ 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);
+ }
+ gObjectList[objectIndex].orientation[1] = angle_between_object_camera(objectIndex, camera1);
+ break;
+ case 3:
+ func_80086F60(objectIndex);
+ break;
}
}
void func_800786EC(s32 objectIndex) {
- switch (gObjectList[objectIndex].state) { /* irregular */
- case 0:
- break;
- case 1:
- func_80078220(objectIndex);
- break;
- case 2:
- func_80078288(objectIndex);
- if (gObjectList[objectIndex].unk_0AE == 0) {
- func_80072488(objectIndex);
- }
- break;
- case 3:
- func_80072428(objectIndex);
- break;
+ switch (gObjectList[objectIndex].state) { /* irregular */
+ case 0:
+ break;
+ case 1:
+ func_80078220(objectIndex);
+ break;
+ case 2:
+ func_80078288(objectIndex);
+ if (gObjectList[objectIndex].unk_0AE == 0) {
+ func_80072488(objectIndex);
+ }
+ break;
+ case 3:
+ func_80072428(objectIndex);
+ break;
}
}
@@ -2748,7 +2779,7 @@ void update_snowflakes(void) {
}
}
-void func_800788F8(s32 objectIndex, u16 rot, Camera *camera) {
+void func_800788F8(s32 objectIndex, u16 rot, Camera* camera) {
s16 temp_v0;
temp_v0 = camera->rot[1] + rot;
@@ -2760,10 +2791,10 @@ void func_800788F8(s32 objectIndex, u16 rot, Camera *camera) {
set_object_flag_status_false(objectIndex, 0x00000010);
}
-void update_clouds(s32 arg0, Camera *arg1, CloudData *cloudList) {
+void update_clouds(s32 arg0, Camera* arg1, CloudData* cloudList) {
s32 cloudIndex;
s32 objectIndex;
- CloudData *cloud;
+ CloudData* cloud;
for (cloudIndex = 0; cloudIndex < D_8018D1F0; cloudIndex++) {
cloud = &cloudList[cloudIndex];
@@ -2772,10 +2803,10 @@ void update_clouds(s32 arg0, Camera *arg1, CloudData *cloudList) {
}
}
-void update_stars(s32 arg0, Camera *camera, StarData *starList) {
+void update_stars(s32 arg0, Camera* camera, StarData* starList) {
s32 starIndex;
s32 objectIndex;
- StarData *star;
+ StarData* star;
for (starIndex = 0; starIndex < D_8018D1F0; starIndex++) {
star = &starList[starIndex];
@@ -2783,101 +2814,104 @@ void update_stars(s32 arg0, Camera *camera, StarData *starList) {
func_800788F8(objectIndex, star->rotY, camera);
switch (starIndex % 5U) {
case 0:
- func_80073CB0(objectIndex, &gObjectList[objectIndex].primAlpha, 0x00000028, 0x000000B4, 0x000000FF, 0, -1);
+ func_80073CB0(objectIndex, &gObjectList[objectIndex].primAlpha, 0x00000028, 0x000000B4, 0x000000FF, 0,
+ -1);
break;
case 1:
- func_80073CB0(objectIndex, &gObjectList[objectIndex].primAlpha, 0x00000080, 0x000000FF, 0x000000FF, 0, -1);
+ func_80073CB0(objectIndex, &gObjectList[objectIndex].primAlpha, 0x00000080, 0x000000FF, 0x000000FF, 0,
+ -1);
break;
case 2:
- func_80073CB0(objectIndex, &gObjectList[objectIndex].primAlpha, 0x00000050, 0x000000C8, 0x000000FF, 0, -1);
+ func_80073CB0(objectIndex, &gObjectList[objectIndex].primAlpha, 0x00000050, 0x000000C8, 0x000000FF, 0,
+ -1);
break;
case 3:
func_80073CB0(objectIndex, &gObjectList[objectIndex].primAlpha, 0, 0x0000009B, 0x000000FF, 0, -1);
break;
case 4:
- func_80073CB0(objectIndex, &gObjectList[objectIndex].primAlpha, 0x0000005A, 0x00000080, 0x000000FF, 0, -1);
+ func_80073CB0(objectIndex, &gObjectList[objectIndex].primAlpha, 0x0000005A, 0x00000080, 0x000000FF, 0,
+ -1);
break;
}
}
}
UNUSED void func_80078C68() {
-
}
void func_80078C70(s32 arg0) {
s32 sp1C;
- Camera *camera;
+ Camera* camera;
if (D_801657C8 == 0) {
- switch (arg0) { /* switch 1 */
- case 0: /* switch 1 */
- sp1C = 0;
- camera = camera1;
- D_8018D200 = gCameraZoom[0] + 40.0f;
- break;
- case 1: /* switch 1 */
- sp1C = 0;
- camera = camera1;
- D_8018D200 = gCameraZoom[0] + 40.0f;
- break;
- case 2: /* switch 1 */
- camera = camera2;
- sp1C = D_8018D1F0;
- D_8018D200 = gCameraZoom[1] + 40.0f;
- break;
- case 3: /* switch 1 */
- sp1C = 0;
- camera = camera1;
- D_8018D200 = gCameraZoom[0] + 40.0f;
- break;
- case 4: /* switch 1 */
- camera = camera2;
- sp1C = D_8018D1F0;
- D_8018D200 = gCameraZoom[1] + 40.0f;
- break;
+ switch (arg0) { /* switch 1 */
+ case 0: /* switch 1 */
+ sp1C = 0;
+ camera = camera1;
+ D_8018D200 = gCameraZoom[0] + 40.0f;
+ break;
+ case 1: /* switch 1 */
+ sp1C = 0;
+ camera = camera1;
+ D_8018D200 = gCameraZoom[0] + 40.0f;
+ break;
+ case 2: /* switch 1 */
+ camera = camera2;
+ sp1C = D_8018D1F0;
+ D_8018D200 = gCameraZoom[1] + 40.0f;
+ break;
+ case 3: /* switch 1 */
+ sp1C = 0;
+ camera = camera1;
+ D_8018D200 = gCameraZoom[0] + 40.0f;
+ break;
+ case 4: /* switch 1 */
+ camera = camera2;
+ sp1C = D_8018D1F0;
+ D_8018D200 = gCameraZoom[1] + 40.0f;
+ break;
}
- D_8018D208 = ( (D_8018D200 / 2) * 0xB6) + 0x71C;
+ D_8018D208 = ((D_8018D200 / 2) * 0xB6) + 0x71C;
D_8018D210 = (-(D_8018D200 / 2) * 0xB6) - 0x71C;
D_8018D1E8 = 1.7578125 / D_8018D200;
D_8018D218 = 0xA0;
- switch (gCurrentCourseId) { /* switch 2 */
- case COURSE_MARIO_RACEWAY: /* switch 2 */
+ switch (gCurrentCourseId) { /* switch 2 */
+ case COURSE_MARIO_RACEWAY: /* switch 2 */
// Uses Luigi Raceway's clouds for display purposes?
update_clouds(sp1C, camera, gLuigiRacewayClouds);
break;
- case COURSE_YOSHI_VALLEY: /* switch 2 */
+ case COURSE_YOSHI_VALLEY: /* switch 2 */
update_clouds(sp1C, camera, gYoshiValleyMooMooFarmClouds);
break;
- case COURSE_FRAPPE_SNOWLAND: /* switch 2 */
+ case COURSE_FRAPPE_SNOWLAND: /* switch 2 */
func_80078170(sp1C, camera);
break;
- case COURSE_KOOPA_BEACH: /* switch 2 */
+ case COURSE_KOOPA_BEACH: /* switch 2 */
update_clouds(sp1C, camera, gKoopaTroopaBeachClouds);
break;
- case COURSE_ROYAL_RACEWAY: /* switch 2 */
+ case COURSE_ROYAL_RACEWAY: /* switch 2 */
update_clouds(sp1C, camera, gRoyalRacewayClouds);
break;
- case COURSE_LUIGI_RACEWAY: /* switch 2 */
+ case COURSE_LUIGI_RACEWAY: /* switch 2 */
update_clouds(sp1C, camera, gLuigiRacewayClouds);
break;
- case COURSE_MOO_MOO_FARM: /* switch 2 */
+ case COURSE_MOO_MOO_FARM: /* switch 2 */
update_clouds(sp1C, camera, gYoshiValleyMooMooFarmClouds);
break;
- case COURSE_TOADS_TURNPIKE: /* switch 2 */
+ case COURSE_TOADS_TURNPIKE: /* switch 2 */
update_stars(sp1C, camera, gToadsTurnpikeRainbowRoadStars);
break;
- case COURSE_KALAMARI_DESERT: /* switch 2 */
+ case COURSE_KALAMARI_DESERT: /* switch 2 */
update_clouds(sp1C, camera, gKalimariDesertClouds);
break;
- case COURSE_SHERBET_LAND: /* switch 2 */
+ case COURSE_SHERBET_LAND: /* switch 2 */
update_clouds(sp1C, camera, gSherbetLandClouds);
break;
- case COURSE_RAINBOW_ROAD: /* switch 2 */
+ case COURSE_RAINBOW_ROAD: /* switch 2 */
update_stars(sp1C, camera, gToadsTurnpikeRainbowRoadStars);
break;
- case COURSE_WARIO_STADIUM: /* switch 2 */
+ case COURSE_WARIO_STADIUM: /* switch 2 */
update_stars(sp1C, camera, gWarioStadiumStars);
break;
}
@@ -2885,24 +2919,24 @@ void func_80078C70(s32 arg0) {
}
void func_80078F64(void) {
- switch (gScreenModeSelection) { /* irregular */
- case SCREEN_MODE_1P:
- init_object(gIndexLakituList[0], 1);
- break;
- case SCREEN_MODE_2P_SPLITSCREEN_VERTICAL:
- init_object(gIndexLakituList[0], 1);
- init_object(gIndexLakituList[1], 1);
- break;
- case SCREEN_MODE_2P_SPLITSCREEN_HORIZONTAL:
- init_object(gIndexLakituList[0], 1);
- init_object(gIndexLakituList[1], 1);
- break;
- case SCREEN_MODE_3P_4P_SPLITSCREEN:
- init_object(gIndexLakituList[0], 1);
- init_object(gIndexLakituList[1], 1);
- init_object(gIndexLakituList[2], 1);
- init_object(gIndexLakituList[3], 1);
- break;
+ switch (gScreenModeSelection) { /* irregular */
+ case SCREEN_MODE_1P:
+ init_object(gIndexLakituList[0], 1);
+ break;
+ case SCREEN_MODE_2P_SPLITSCREEN_VERTICAL:
+ init_object(gIndexLakituList[0], 1);
+ init_object(gIndexLakituList[1], 1);
+ break;
+ case SCREEN_MODE_2P_SPLITSCREEN_HORIZONTAL:
+ init_object(gIndexLakituList[0], 1);
+ init_object(gIndexLakituList[1], 1);
+ break;
+ case SCREEN_MODE_3P_4P_SPLITSCREEN:
+ init_object(gIndexLakituList[0], 1);
+ init_object(gIndexLakituList[1], 1);
+ init_object(gIndexLakituList[2], 1);
+ init_object(gIndexLakituList[3], 1);
+ break;
}
}
@@ -2925,7 +2959,7 @@ void func_800790E4(s32 playerId) {
void func_80079114(s32 objectIndex, s32 playerId, s32 arg2) {
s32 a;
if (gObjectList[objectIndex].state >= 2) {
- if ((u8)gObjectList[objectIndex].unk_0D8 == 1) {
+ if ((u8) gObjectList[objectIndex].unk_0D8 == 1) {
if (playerId == 0) {
func_80074894(objectIndex, gLakituTexturePtr);
return;
@@ -2933,7 +2967,7 @@ void func_80079114(s32 objectIndex, s32 playerId, s32 arg2) {
a = gIndexLakituList[0];
gObjectList[objectIndex].activeTLUT = gObjectList[a].activeTLUT;
gObjectList[objectIndex].activeTexture = gObjectList[a].activeTexture;
- if (0) { }
+ if (0) {}
return;
}
switch (arg2) {
@@ -2951,7 +2985,7 @@ void func_80079114(s32 objectIndex, s32 playerId, s32 arg2) {
}
void func_800791F0(s32 objectIndex, s32 playerId) {
- Player *player = &gPlayerOne[playerId];
+ Player* player = &gPlayerOne[playerId];
if ((gObjectList[objectIndex].unk_0D8 != 3) && (gObjectList[objectIndex].unk_0D8 != 7)) {
func_800722CC(objectIndex, 1);
@@ -2968,19 +3002,15 @@ void func_800791F0(s32 objectIndex, s32 playerId) {
func_800C9018(playerId, SOUND_ARG_LOAD(0x01, 0x00, 0xFA, 0x28));
}
-
-static const char *sLakituTextures[] = {
- gTextureLakituNoLights1, gTextureLakituNoLights2, gTextureLakituNoLights3,
- gTextureLakituNoLights4, gTextureLakituNoLights5, gTextureLakituNoLights6,
- gTextureLakituNoLights7, gTextureLakituNoLights8, gTextureLakituRedLights01,
- gTextureLakituRedLights02, gTextureLakituRedLights03, gTextureLakituRedLights04,
- gTextureLakituRedLights05, gTextureLakituRedLights06, gTextureLakituRedLights07,
- gTextureLakituRedLights08, gTextureLakituRedLights09, gTextureLakituRedLights10,
- gTextureLakituRedLights11, gTextureLakituRedLights12, gTextureLakituRedLights13,
- gTextureLakituRedLights14, gTextureLakituRedLights15, gTextureLakituRedLights16,
- gTextureLakituBlueLight1, gTextureLakituBlueLight2, gTextureLakituBlueLight3,
- gTextureLakituBlueLight4, gTextureLakituBlueLight5, gTextureLakituBlueLight6,
- gTextureLakituBlueLight7, gTextureLakituBlueLight8,
+static const char* sLakituTextures[] = {
+ gTextureLakituNoLights1, gTextureLakituNoLights2, gTextureLakituNoLights3, gTextureLakituNoLights4,
+ gTextureLakituNoLights5, gTextureLakituNoLights6, gTextureLakituNoLights7, gTextureLakituNoLights8,
+ gTextureLakituRedLights01, gTextureLakituRedLights02, gTextureLakituRedLights03, gTextureLakituRedLights04,
+ gTextureLakituRedLights05, gTextureLakituRedLights06, gTextureLakituRedLights07, gTextureLakituRedLights08,
+ gTextureLakituRedLights09, gTextureLakituRedLights10, gTextureLakituRedLights11, gTextureLakituRedLights12,
+ gTextureLakituRedLights13, gTextureLakituRedLights14, gTextureLakituRedLights15, gTextureLakituRedLights16,
+ gTextureLakituBlueLight1, gTextureLakituBlueLight2, gTextureLakituBlueLight3, gTextureLakituBlueLight4,
+ gTextureLakituBlueLight5, gTextureLakituBlueLight6, gTextureLakituBlueLight7, gTextureLakituBlueLight8,
};
void init_obj_lakitu_red_flag_countdown(s32 objectIndex, s32 playerId) {
@@ -2989,11 +3019,14 @@ void init_obj_lakitu_red_flag_countdown(s32 objectIndex, s32 playerId) {
D_8018D168 = 0;
}
- //u8 *tlut = (u8 *) LOAD_ASSET(common_tlut_lakitu_countdown);
- //u8 *lights = (u8 *) LOAD_ASSET(gTextureLakituNoLights1);
+ // u8 *tlut = (u8 *) LOAD_ASSET(common_tlut_lakitu_countdown);
+ // u8 *lights = (u8 *) LOAD_ASSET(gTextureLakituNoLights1);
- init_texture_object(objectIndex, (u8 *) load_lakitu_tlut_x64(common_tlut_lakitu_countdown, ARRAY_COUNT(common_tlut_lakitu_countdown)), sLakituTextures, 56, (u16) 72);
- Vtx *vtx = (Vtx *) LOAD_ASSET(common_vtx_lakitu);
+ init_texture_object(
+ objectIndex,
+ (u8*) load_lakitu_tlut_x64(common_tlut_lakitu_countdown, ARRAY_COUNT(common_tlut_lakitu_countdown)),
+ sLakituTextures, 56, (u16) 72);
+ Vtx* vtx = (Vtx*) LOAD_ASSET(common_vtx_lakitu);
gObjectList[objectIndex].vertex = vtx;
gObjectList[objectIndex].sizeScaling = 0.15f;
set_object_flag_status_false(objectIndex, 0x00000010);
@@ -3080,7 +3113,7 @@ void update_object_lakitu_countdown(s32 objectIndex, s32 playerId) {
}
}
-static const char *sLakituCheckeredList[] = {
+static const char* sLakituCheckeredList[] = {
gTextureLakituCheckeredFlag01, gTextureLakituCheckeredFlag02, gTextureLakituCheckeredFlag03,
gTextureLakituCheckeredFlag04, gTextureLakituCheckeredFlag05, gTextureLakituCheckeredFlag06,
gTextureLakituCheckeredFlag07, gTextureLakituCheckeredFlag08, gTextureLakituCheckeredFlag09,
@@ -3095,12 +3128,12 @@ static const char *sLakituCheckeredList[] = {
};
void init_obj_lakitu_red_flag(s32 objectIndex, s32 playerIndex) {
- Object *object;
+ Object* object;
func_800791F0(objectIndex, playerIndex);
- u8 *tex = (u8 *) LOAD_ASSET(common_tlut_lakitu_checkered_flag);
- Vtx *vtx = (Vtx *) LOAD_ASSET(common_vtx_also_lakitu);
+ u8* tex = (u8*) LOAD_ASSET(common_tlut_lakitu_checkered_flag);
+ Vtx* vtx = (Vtx*) LOAD_ASSET(common_vtx_also_lakitu);
init_texture_object(objectIndex, (u8*) tex, sLakituCheckeredList, 0x48U, (u16) 0x00000038);
object = &gObjectList[objectIndex];
@@ -3137,7 +3170,7 @@ void update_object_lakitu_red_flag(s32 objectIndex, s32 playerIndex) {
void func_800797AC(s32 playerId) {
s32 objectIndex;
- Player *player;
+ Player* player;
objectIndex = gIndexLakituList[playerId];
player = &gPlayerOne[playerId];
@@ -3152,23 +3185,19 @@ void func_800797AC(s32 playerId) {
void func_80079860(s32 playerId) {
s32 objectIndex;
- Player *player;
+ Player* player;
objectIndex = gIndexLakituList[playerId];
player = &gPlayerOne[playerId];
if ((func_80072354(objectIndex, 1) != 0) &&
- (
- ((func_802ABDF4(player->collision.meshIndexZX) != 0) && (player->collision.surfaceDistance[2] <= 3.0f)) ||
- (player->unk_0CA & 1) ||
- ((player->surfaceType == OUT_OF_BOUNDS) && !(player->effects & 8))
- )
- ) {
+ (((func_802ABDF4(player->collision.meshIndexZX) != 0) && (player->collision.surfaceDistance[2] <= 3.0f)) ||
+ (player->unk_0CA & 1) || ((player->surfaceType == OUT_OF_BOUNDS) && !(player->effects & 8)))) {
func_80090778(player);
func_800797AC(playerId);
}
}
-void func_8007993C(s32 objectIndex, Player *player) {
+void func_8007993C(s32 objectIndex, Player* player) {
if (player->unk_0CA & 4) {
func_800722A4(objectIndex, 2);
gObjectList[objectIndex].primAlpha = player->unk_0C6;
@@ -3177,14 +3206,13 @@ void func_8007993C(s32 objectIndex, Player *player) {
func_800722CC(objectIndex, 2);
}
-static const char *sLakituFishingTextures[] = {
- gTextureLakituFishing1, gTextureLakituFishing2, gTextureLakituFishing3, gTextureLakituFishing4
-};
+static const char* sLakituFishingTextures[] = { gTextureLakituFishing1, gTextureLakituFishing2, gTextureLakituFishing3,
+ gTextureLakituFishing4 };
void init_obj_lakitu_red_flag_fishing(s32 objectIndex, s32 arg1) {
- u8 *tlut = (u8 *) LOAD_ASSET(common_tlut_lakitu_fishing);
- Vtx *vtx = (Vtx *) LOAD_ASSET(D_0D005F30);
+ u8* tlut = (u8*) LOAD_ASSET(common_tlut_lakitu_fishing);
+ Vtx* vtx = (Vtx*) LOAD_ASSET(D_0D005F30);
func_800791F0(objectIndex, arg1);
init_texture_object(objectIndex, tlut, sLakituFishingTextures, 0x38U, (u16) 0x00000048);
@@ -3194,50 +3222,50 @@ void init_obj_lakitu_red_flag_fishing(s32 objectIndex, s32 arg1) {
set_object_flag_status_false(objectIndex, 0x00000010);
func_80073720(objectIndex);
func_80072488(objectIndex);
- func_800C8F80((u8)arg1, 0x0100FA28);
+ func_800C8F80((u8) arg1, 0x0100FA28);
}
-void func_80079A5C(s32 objectIndex, UNUSED Player *player) {
+void func_80079A5C(s32 objectIndex, UNUSED Player* player) {
switch (gObjectList[objectIndex].unk_0AE) {
- case 0:
- break;
- case 1:
- gObjectList[objectIndex].origin_pos[2] = 0.0f;
- gObjectList[objectIndex].origin_pos[1] = 0.0f;
- gObjectList[objectIndex].origin_pos[0] = 0.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].offset[1], 5.0f, 1.0f) != 0) {
- func_80086F60(objectIndex);
- }
- break;
- case 3:
- if (f32_step_up_towards(&gObjectList[objectIndex].offset[1], 100.0f, 1.0f) != 0) {
- func_80086F60(objectIndex);
- }
- break;
+ case 0:
+ break;
+ case 1:
+ gObjectList[objectIndex].origin_pos[2] = 0.0f;
+ gObjectList[objectIndex].origin_pos[1] = 0.0f;
+ gObjectList[objectIndex].origin_pos[0] = 0.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].offset[1], 5.0f, 1.0f) != 0) {
+ func_80086F60(objectIndex);
+ }
+ break;
+ case 3:
+ if (f32_step_up_towards(&gObjectList[objectIndex].offset[1], 100.0f, 1.0f) != 0) {
+ func_80086F60(objectIndex);
+ }
+ break;
}
}
void update_object_lakitu_fishing(s32 objectIndex, s32 playerId) {
- Player *player = &gPlayerOne[playerId];
+ Player* player = &gPlayerOne[playerId];
- switch (gObjectList[objectIndex].state) { /* switch 1; irregular */
- case 0: /* switch 1 */
+ switch (gObjectList[objectIndex].state) { /* switch 1; irregular */
+ case 0: /* switch 1 */
break;
- case 1: /* switch 1 */
+ case 1: /* switch 1 */
init_obj_lakitu_red_flag_fishing(objectIndex, playerId);
break;
- case 2: /* switch 1 */
+ case 2: /* switch 1 */
set_object_flag_status_true(objectIndex, 0x00000010);
func_800736E0(objectIndex);
func_80072488(objectIndex);
break;
- case 3: /* switch 1 */
+ case 3: /* switch 1 */
func_800730BC(objectIndex, 0, 3, 1, 2, -1);
break;
}
@@ -3278,21 +3306,21 @@ void update_object_lakitu_fishing(s32 objectIndex, s32 playerId) {
}
void update_object_lakitu_fishing2(s32 objectIndex, s32 playerId) {
- Player *player = &gPlayerOne[playerId];
+ Player* player = &gPlayerOne[playerId];
- switch (gObjectList[objectIndex].state) { /* switch 1; irregular */
- case 0: /* switch 1 */
+ switch (gObjectList[objectIndex].state) { /* switch 1; irregular */
+ case 0: /* switch 1 */
break;
- case 1: /* switch 1 */
+ case 1: /* switch 1 */
init_obj_lakitu_red_flag_fishing(objectIndex, playerId);
break;
- case 2: /* switch 1 */
+ case 2: /* switch 1 */
set_object_flag_status_true(objectIndex, 0x00000010);
func_800736E0(objectIndex);
player->unk_0CA |= 0x80;
func_80072488(objectIndex);
break;
- case 3: /* switch 1 */
+ case 3: /* switch 1 */
func_800730BC(objectIndex, 0, 3, 1, 2, -1);
break;
}
@@ -3309,7 +3337,8 @@ void update_object_lakitu_fishing2(s32 objectIndex, s32 playerId) {
func_80073654(objectIndex);
break;
case 3:
- if ((player->surfaceType == ICE) && !(player->unk_0CA & 1) && ((f64) player->collision.surfaceDistance[2] <= 30.0)) {
+ if ((player->surfaceType == ICE) && !(player->unk_0CA & 1) &&
+ ((f64) player->collision.surfaceDistance[2] <= 30.0)) {
func_800722A4(objectIndex, 8);
}
if (!(player->unk_0CA & 2)) {
@@ -3362,12 +3391,12 @@ static const char* sLakituSecondLapTextures[] = {
};
void func_8007A060(s32 objectIndex, s32 playerIndex) {
- Object *object;
+ Object* object;
func_800791F0(objectIndex, playerIndex);
- u8 *tlut = (u8 *) LOAD_ASSET(common_tlut_lakitu_second_lap);
- Vtx *vtx = (Vtx *) LOAD_ASSET(common_vtx_also_lakitu);
+ u8* tlut = (u8*) LOAD_ASSET(common_tlut_lakitu_second_lap);
+ Vtx* vtx = (Vtx*) LOAD_ASSET(common_vtx_also_lakitu);
init_texture_object(objectIndex, tlut, sLakituSecondLapTextures, 0x48U, (u16) 0x00000038);
object = &gObjectList[objectIndex];
@@ -3421,12 +3450,12 @@ static const char* sLakituFinalLapTextures[] = {
};
void func_8007A228(s32 objectIndex, s32 playerIndex) {
- Object *object;
+ Object* object;
func_800791F0(objectIndex, playerIndex);
-
- u8 *tlut = (u8 *) LOAD_ASSET(common_tlut_lakitu_final_lap);
- Vtx *vtx = (Vtx *) LOAD_ASSET(common_vtx_also_lakitu);
+
+ u8* tlut = (u8*) LOAD_ASSET(common_tlut_lakitu_final_lap);
+ Vtx* vtx = (Vtx*) LOAD_ASSET(common_vtx_also_lakitu);
init_texture_object(objectIndex, tlut, sLakituFinalLapTextures, 0x48U, (u16) 0x00000038);
object = &gObjectList[objectIndex];
@@ -3483,8 +3512,8 @@ void func_8007A3F0(s32 objectIndex, s32 arg1) {
f32 var = 5000.0f;
func_800791F0(objectIndex, arg1);
- u8 *tlut = (u8 *) LOAD_ASSET(common_tlut_lakitu_reverse);
- Vtx *vtx = (Vtx *) LOAD_ASSET(common_vtx_also_lakitu);
+ u8* tlut = (u8*) LOAD_ASSET(common_tlut_lakitu_reverse);
+ Vtx* vtx = (Vtx*) LOAD_ASSET(common_vtx_also_lakitu);
init_texture_object(objectIndex, tlut, sLakituReverseTextures, 72, (u16) 56);
gObjectList[objectIndex].activeTexture = *gObjectList[objectIndex].textureList;
@@ -3497,11 +3526,11 @@ void func_8007A3F0(s32 objectIndex, s32 arg1) {
func_80086F10(objectIndex, 6, &D_800E69B0);
gObjectList[objectIndex].unk_0D6 = 0;
func_80072488(objectIndex);
- func_800C8F80((u8)arg1, 0x0100FA28);
+ func_800C8F80((u8) arg1, 0x0100FA28);
}
void update_object_lakitu_reverse(s32 objectIndex, s32 playerId) {
- Player *sp2C = &gPlayerOne[playerId];
+ Player* sp2C = &gPlayerOne[playerId];
switch (gObjectList[objectIndex].state) {
case 0:
@@ -3521,8 +3550,8 @@ void update_object_lakitu_reverse(s32 objectIndex, s32 playerId) {
func_80072428(objectIndex);
break;
}
- switch (gObjectList[objectIndex].unk_0D6) { /* switch 1; irregular */
- case 1: /* switch 1 */
+ switch (gObjectList[objectIndex].unk_0D6) { /* switch 1; irregular */
+ case 1: /* switch 1 */
if ((gObjectList[objectIndex].state >= 3) && (!(sp2C->effects & 0x400000))) {
func_80086F10(objectIndex, 6, &D_800E69F4);
gObjectList[objectIndex].unk_0D6 = 2;
@@ -3531,7 +3560,7 @@ void update_object_lakitu_reverse(s32 objectIndex, s32 playerId) {
return;
}
return;
- case 2: /* switch 1 */
+ case 2: /* switch 1 */
gObjectList[objectIndex].unk_04C--;
if (gObjectList[objectIndex].unk_04C == 0) {
func_80072488(objectIndex);
@@ -3541,31 +3570,44 @@ void update_object_lakitu_reverse(s32 objectIndex, s32 playerId) {
}
}
-void func_8007A66C(s32 objectIndex, Player *player, Camera *camera) {
+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].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) {
+ 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].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]));
+ 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) {
-
}
void func_8007A88C(s32 playerId) {
s32 objectIndex;
- Player *player;
+ Player* player;
objectIndex = gIndexLakituList[playerId];
player = &gPlayerOne[playerId];
@@ -3625,37 +3667,37 @@ void func_8007AA44(s32 playerId) {
objectIndex = gIndexLakituList[playerId];
gLakituTexturePtr = &gLakituTextureBuffer[playerId];
switch (gObjectList[objectIndex].unk_0D8) {
- case 1:
- func_80079114(objectIndex, playerId, 2);
- func_8007A66C(objectIndex, D_8018CF1C, D_8018CF14);
- break;
- case 2:
- func_80079114(objectIndex, playerId, 0);
- func_8007A66C(objectIndex, D_8018CF1C, D_8018CF14);
- break;
- case 3:
- func_80079114(objectIndex, playerId, 0);
- func_8007A778(objectIndex, D_8018CF1C, D_8018CF14);
- break;
- case 4:
- func_80079114(objectIndex, playerId, 0);
- func_8007A66C(objectIndex, D_8018CF1C, D_8018CF14);
- break;
- case 5:
- func_80079114(objectIndex, playerId, 0);
- func_8007A66C(objectIndex, D_8018CF1C, D_8018CF14);
- break;
- case 6:
- func_80079114(objectIndex, playerId, 0);
- func_8007A66C(objectIndex, D_8018CF1C, D_8018CF14);
- break;
- case 7:
- func_80079114(objectIndex, playerId, 0);
- func_8007A778(objectIndex, D_8018CF1C, D_8018CF14);
- break;
- case 0:
- default:
- break;
+ case 1:
+ func_80079114(objectIndex, playerId, 2);
+ func_8007A66C(objectIndex, D_8018CF1C, D_8018CF14);
+ break;
+ case 2:
+ func_80079114(objectIndex, playerId, 0);
+ func_8007A66C(objectIndex, D_8018CF1C, D_8018CF14);
+ break;
+ case 3:
+ func_80079114(objectIndex, playerId, 0);
+ func_8007A778(objectIndex, D_8018CF1C, D_8018CF14);
+ break;
+ case 4:
+ func_80079114(objectIndex, playerId, 0);
+ func_8007A66C(objectIndex, D_8018CF1C, D_8018CF14);
+ break;
+ case 5:
+ func_80079114(objectIndex, playerId, 0);
+ func_8007A66C(objectIndex, D_8018CF1C, D_8018CF14);
+ break;
+ case 6:
+ func_80079114(objectIndex, playerId, 0);
+ func_8007A66C(objectIndex, D_8018CF1C, D_8018CF14);
+ break;
+ case 7:
+ func_80079114(objectIndex, playerId, 0);
+ func_8007A778(objectIndex, D_8018CF1C, D_8018CF14);
+ break;
+ case 0:
+ default:
+ break;
}
}
@@ -3676,13 +3718,13 @@ void func_8007ABFC(s32 playerId, bool arg1) {
void consume_item(s32 playerId) {
UNUSED s32 pad;
- Player *player;
+ Player* player;
s32 objectIndex;
- ItemWindowObjects *itemWindow;
+ ItemWindowObjects* itemWindow;
player = &gPlayerOne[playerId];
objectIndex = gItemWindowObjectByPlayerId[playerId];
- itemWindow = (ItemWindowObjects *) &gObjectList[objectIndex];
+ itemWindow = (ItemWindowObjects*) &gObjectList[objectIndex];
if (itemWindow->currentItem == ITEM_SUPER_MUSHROOM) {
if (func_80072354(objectIndex, 2) != 0) {
func_800722A4(objectIndex, 2);
@@ -3704,69 +3746,431 @@ void consume_item(s32 playerId) {
}
typedef struct {
- u8 banana; // ITEM_BANANA
- u8 bananaBunch; // ITEM_BANANA_BUNCH
- u8 greenShell; // ITEM_GREEN_SHELL
- u8 tripleGreenShell; // ITEM_TRIPLE_GREEN_SHELL
- u8 redShell; // ITEM_RED_SHELL
- u8 tripleRedShell; // ITEM_TRIPLE_RED_SHELL
- u8 blueSpinyShell; // ITEM_BLUE_SPINY_SHELL
- u8 thunderbolt; // ITEM_THUNDERBOLT
- u8 fakeItemBox; // ITEM_FAKE_ITEM_BOX
- u8 star; // ITEM_STAR
- u8 boo; // ITEM_BOO
- u8 mushroom; // ITEM_MUSHROOM
- u8 doubleMushroom; // ITEM_DOUBLE_MUSHROOM
- u8 tripleMushroom; // ITEM_TRIPLE_MUSHROOM
- u8 superMushroom; // ITEM_SUPER_MUSHROOM
+ u8 banana; // ITEM_BANANA
+ u8 bananaBunch; // ITEM_BANANA_BUNCH
+ u8 greenShell; // ITEM_GREEN_SHELL
+ u8 tripleGreenShell; // ITEM_TRIPLE_GREEN_SHELL
+ u8 redShell; // ITEM_RED_SHELL
+ u8 tripleRedShell; // ITEM_TRIPLE_RED_SHELL
+ u8 blueSpinyShell; // ITEM_BLUE_SPINY_SHELL
+ u8 thunderbolt; // ITEM_THUNDERBOLT
+ u8 fakeItemBox; // ITEM_FAKE_ITEM_BOX
+ u8 star; // ITEM_STAR
+ u8 boo; // ITEM_BOO
+ u8 mushroom; // ITEM_MUSHROOM
+ u8 doubleMushroom; // ITEM_DOUBLE_MUSHROOM
+ u8 tripleMushroom; // ITEM_TRIPLE_MUSHROOM
+ u8 superMushroom; // ITEM_SUPER_MUSHROOM
} ItemProbabilities;
// Each row corresponds to a rank, each column to an item
ItemProbabilities grandPrixHumanProbabilityTable[] = {
- { .banana = 30, .bananaBunch = 5, .greenShell = 30, .tripleGreenShell = 5, .redShell = 5, .tripleRedShell = 0, .blueSpinyShell = 0, .thunderbolt = 0, .fakeItemBox = 10, .star = 0, .boo = 5, .mushroom = 10, .doubleMushroom = 0, .tripleMushroom = 0, .superMushroom = 0 },
- { .banana = 0, .bananaBunch = 5, .greenShell = 5, .tripleGreenShell = 10, .redShell = 15, .tripleRedShell = 20, .blueSpinyShell = 0, .thunderbolt = 5, .fakeItemBox = 5, .star = 5, .boo = 5, .mushroom = 5, .doubleMushroom = 0, .tripleMushroom = 15, .superMushroom = 5 },
- { .banana = 0, .bananaBunch = 0, .greenShell = 0, .tripleGreenShell = 10, .redShell = 20, .tripleRedShell = 20, .blueSpinyShell = 0, .thunderbolt = 5, .fakeItemBox = 0, .star = 10, .boo = 0, .mushroom = 5, .doubleMushroom = 0, .tripleMushroom = 20, .superMushroom = 10 },
- { .banana = 0, .bananaBunch = 0, .greenShell = 0, .tripleGreenShell = 0, .redShell = 15, .tripleRedShell = 20, .blueSpinyShell = 5, .thunderbolt = 10, .fakeItemBox = 0, .star = 15, .boo = 0, .mushroom = 5, .doubleMushroom = 0, .tripleMushroom = 20, .superMushroom = 10 },
- { .banana = 0, .bananaBunch = 0, .greenShell = 0, .tripleGreenShell = 0, .redShell = 10, .tripleRedShell = 20, .blueSpinyShell = 5, .thunderbolt = 10, .fakeItemBox = 0, .star = 15, .boo = 0, .mushroom = 5, .doubleMushroom = 0, .tripleMushroom = 25, .superMushroom = 10 },
- { .banana = 0, .bananaBunch = 0, .greenShell = 0, .tripleGreenShell = 0, .redShell = 0, .tripleRedShell = 20, .blueSpinyShell = 10, .thunderbolt = 15, .fakeItemBox = 0, .star = 20, .boo = 0, .mushroom = 0, .doubleMushroom = 0, .tripleMushroom = 25, .superMushroom = 10 },
- { .banana = 0, .bananaBunch = 0, .greenShell = 0, .tripleGreenShell = 0, .redShell = 0, .tripleRedShell = 20, .blueSpinyShell = 10, .thunderbolt = 20, .fakeItemBox = 0, .star = 30, .boo = 0, .mushroom = 0, .doubleMushroom = 0, .tripleMushroom = 10, .superMushroom = 10 },
- { .banana = 0, .bananaBunch = 0, .greenShell = 0, .tripleGreenShell = 0, .redShell = 0, .tripleRedShell = 20, .blueSpinyShell = 15, .thunderbolt = 20, .fakeItemBox = 0, .star = 30, .boo = 0, .mushroom = 0, .doubleMushroom = 0, .tripleMushroom = 5, .superMushroom = 10 },
+ { .banana = 30,
+ .bananaBunch = 5,
+ .greenShell = 30,
+ .tripleGreenShell = 5,
+ .redShell = 5,
+ .tripleRedShell = 0,
+ .blueSpinyShell = 0,
+ .thunderbolt = 0,
+ .fakeItemBox = 10,
+ .star = 0,
+ .boo = 5,
+ .mushroom = 10,
+ .doubleMushroom = 0,
+ .tripleMushroom = 0,
+ .superMushroom = 0 },
+ { .banana = 0,
+ .bananaBunch = 5,
+ .greenShell = 5,
+ .tripleGreenShell = 10,
+ .redShell = 15,
+ .tripleRedShell = 20,
+ .blueSpinyShell = 0,
+ .thunderbolt = 5,
+ .fakeItemBox = 5,
+ .star = 5,
+ .boo = 5,
+ .mushroom = 5,
+ .doubleMushroom = 0,
+ .tripleMushroom = 15,
+ .superMushroom = 5 },
+ { .banana = 0,
+ .bananaBunch = 0,
+ .greenShell = 0,
+ .tripleGreenShell = 10,
+ .redShell = 20,
+ .tripleRedShell = 20,
+ .blueSpinyShell = 0,
+ .thunderbolt = 5,
+ .fakeItemBox = 0,
+ .star = 10,
+ .boo = 0,
+ .mushroom = 5,
+ .doubleMushroom = 0,
+ .tripleMushroom = 20,
+ .superMushroom = 10 },
+ { .banana = 0,
+ .bananaBunch = 0,
+ .greenShell = 0,
+ .tripleGreenShell = 0,
+ .redShell = 15,
+ .tripleRedShell = 20,
+ .blueSpinyShell = 5,
+ .thunderbolt = 10,
+ .fakeItemBox = 0,
+ .star = 15,
+ .boo = 0,
+ .mushroom = 5,
+ .doubleMushroom = 0,
+ .tripleMushroom = 20,
+ .superMushroom = 10 },
+ { .banana = 0,
+ .bananaBunch = 0,
+ .greenShell = 0,
+ .tripleGreenShell = 0,
+ .redShell = 10,
+ .tripleRedShell = 20,
+ .blueSpinyShell = 5,
+ .thunderbolt = 10,
+ .fakeItemBox = 0,
+ .star = 15,
+ .boo = 0,
+ .mushroom = 5,
+ .doubleMushroom = 0,
+ .tripleMushroom = 25,
+ .superMushroom = 10 },
+ { .banana = 0,
+ .bananaBunch = 0,
+ .greenShell = 0,
+ .tripleGreenShell = 0,
+ .redShell = 0,
+ .tripleRedShell = 20,
+ .blueSpinyShell = 10,
+ .thunderbolt = 15,
+ .fakeItemBox = 0,
+ .star = 20,
+ .boo = 0,
+ .mushroom = 0,
+ .doubleMushroom = 0,
+ .tripleMushroom = 25,
+ .superMushroom = 10 },
+ { .banana = 0,
+ .bananaBunch = 0,
+ .greenShell = 0,
+ .tripleGreenShell = 0,
+ .redShell = 0,
+ .tripleRedShell = 20,
+ .blueSpinyShell = 10,
+ .thunderbolt = 20,
+ .fakeItemBox = 0,
+ .star = 30,
+ .boo = 0,
+ .mushroom = 0,
+ .doubleMushroom = 0,
+ .tripleMushroom = 10,
+ .superMushroom = 10 },
+ { .banana = 0,
+ .bananaBunch = 0,
+ .greenShell = 0,
+ .tripleGreenShell = 0,
+ .redShell = 0,
+ .tripleRedShell = 20,
+ .blueSpinyShell = 15,
+ .thunderbolt = 20,
+ .fakeItemBox = 0,
+ .star = 30,
+ .boo = 0,
+ .mushroom = 0,
+ .doubleMushroom = 0,
+ .tripleMushroom = 5,
+ .superMushroom = 10 },
};
ItemProbabilities grandPrixAIProbabilityTable[] = {
- { .banana = 60, .bananaBunch = 0, .greenShell = 25, .tripleGreenShell = 0, .redShell = 0, .tripleRedShell = 0, .blueSpinyShell = 0, .thunderbolt = 0, .fakeItemBox = 10, .star = 0, .boo = 5, .mushroom = 0, .doubleMushroom = 0, .tripleMushroom = 0, .superMushroom = 0 },
- { .banana = 50, .bananaBunch = 0, .greenShell = 25, .tripleGreenShell = 5, .redShell = 0, .tripleRedShell = 0, .blueSpinyShell = 0, .thunderbolt = 0, .fakeItemBox = 10, .star = 0, .boo = 5, .mushroom = 5, .doubleMushroom = 0, .tripleMushroom = 0, .superMushroom = 0 },
- { .banana = 40, .bananaBunch = 0, .greenShell = 25, .tripleGreenShell = 10, .redShell = 0, .tripleRedShell = 0, .blueSpinyShell = 0, .thunderbolt = 0, .fakeItemBox = 10, .star = 0, .boo = 5, .mushroom = 10, .doubleMushroom = 0, .tripleMushroom = 0, .superMushroom = 0 },
- { .banana = 35, .bananaBunch = 0, .greenShell = 25, .tripleGreenShell = 15, .redShell = 0, .tripleRedShell = 0, .blueSpinyShell = 0, .thunderbolt = 0, .fakeItemBox = 10, .star = 0, .boo = 5, .mushroom = 10, .doubleMushroom = 0, .tripleMushroom = 0, .superMushroom = 0 },
- { .banana = 30, .bananaBunch = 0, .greenShell = 20, .tripleGreenShell = 20, .redShell = 0, .tripleRedShell = 0, .blueSpinyShell = 0, .thunderbolt = 0, .fakeItemBox = 5, .star = 5, .boo = 0, .mushroom = 20, .doubleMushroom = 0, .tripleMushroom = 0, .superMushroom = 0 },
- { .banana = 30, .bananaBunch = 0, .greenShell = 20, .tripleGreenShell = 20, .redShell = 0, .tripleRedShell = 0, .blueSpinyShell = 0, .thunderbolt = 0, .fakeItemBox = 5, .star = 5, .boo = 0, .mushroom = 20, .doubleMushroom = 0, .tripleMushroom = 0, .superMushroom = 0 },
- { .banana = 30, .bananaBunch = 0, .greenShell = 20, .tripleGreenShell = 20, .redShell = 0, .tripleRedShell = 0, .blueSpinyShell = 0, .thunderbolt = 0, .fakeItemBox = 0, .star = 10, .boo = 0, .mushroom = 20, .doubleMushroom = 0, .tripleMushroom = 0, .superMushroom = 0 },
- { .banana = 25, .bananaBunch = 0, .greenShell = 20, .tripleGreenShell = 20, .redShell = 0, .tripleRedShell = 0, .blueSpinyShell = 0, .thunderbolt = 1, .fakeItemBox = 0, .star = 10, .boo = 0, .mushroom = 24, .doubleMushroom = 0, .tripleMushroom = 0, .superMushroom = 0 },
+ { .banana = 60,
+ .bananaBunch = 0,
+ .greenShell = 25,
+ .tripleGreenShell = 0,
+ .redShell = 0,
+ .tripleRedShell = 0,
+ .blueSpinyShell = 0,
+ .thunderbolt = 0,
+ .fakeItemBox = 10,
+ .star = 0,
+ .boo = 5,
+ .mushroom = 0,
+ .doubleMushroom = 0,
+ .tripleMushroom = 0,
+ .superMushroom = 0 },
+ { .banana = 50,
+ .bananaBunch = 0,
+ .greenShell = 25,
+ .tripleGreenShell = 5,
+ .redShell = 0,
+ .tripleRedShell = 0,
+ .blueSpinyShell = 0,
+ .thunderbolt = 0,
+ .fakeItemBox = 10,
+ .star = 0,
+ .boo = 5,
+ .mushroom = 5,
+ .doubleMushroom = 0,
+ .tripleMushroom = 0,
+ .superMushroom = 0 },
+ { .banana = 40,
+ .bananaBunch = 0,
+ .greenShell = 25,
+ .tripleGreenShell = 10,
+ .redShell = 0,
+ .tripleRedShell = 0,
+ .blueSpinyShell = 0,
+ .thunderbolt = 0,
+ .fakeItemBox = 10,
+ .star = 0,
+ .boo = 5,
+ .mushroom = 10,
+ .doubleMushroom = 0,
+ .tripleMushroom = 0,
+ .superMushroom = 0 },
+ { .banana = 35,
+ .bananaBunch = 0,
+ .greenShell = 25,
+ .tripleGreenShell = 15,
+ .redShell = 0,
+ .tripleRedShell = 0,
+ .blueSpinyShell = 0,
+ .thunderbolt = 0,
+ .fakeItemBox = 10,
+ .star = 0,
+ .boo = 5,
+ .mushroom = 10,
+ .doubleMushroom = 0,
+ .tripleMushroom = 0,
+ .superMushroom = 0 },
+ { .banana = 30,
+ .bananaBunch = 0,
+ .greenShell = 20,
+ .tripleGreenShell = 20,
+ .redShell = 0,
+ .tripleRedShell = 0,
+ .blueSpinyShell = 0,
+ .thunderbolt = 0,
+ .fakeItemBox = 5,
+ .star = 5,
+ .boo = 0,
+ .mushroom = 20,
+ .doubleMushroom = 0,
+ .tripleMushroom = 0,
+ .superMushroom = 0 },
+ { .banana = 30,
+ .bananaBunch = 0,
+ .greenShell = 20,
+ .tripleGreenShell = 20,
+ .redShell = 0,
+ .tripleRedShell = 0,
+ .blueSpinyShell = 0,
+ .thunderbolt = 0,
+ .fakeItemBox = 5,
+ .star = 5,
+ .boo = 0,
+ .mushroom = 20,
+ .doubleMushroom = 0,
+ .tripleMushroom = 0,
+ .superMushroom = 0 },
+ { .banana = 30,
+ .bananaBunch = 0,
+ .greenShell = 20,
+ .tripleGreenShell = 20,
+ .redShell = 0,
+ .tripleRedShell = 0,
+ .blueSpinyShell = 0,
+ .thunderbolt = 0,
+ .fakeItemBox = 0,
+ .star = 10,
+ .boo = 0,
+ .mushroom = 20,
+ .doubleMushroom = 0,
+ .tripleMushroom = 0,
+ .superMushroom = 0 },
+ { .banana = 25,
+ .bananaBunch = 0,
+ .greenShell = 20,
+ .tripleGreenShell = 20,
+ .redShell = 0,
+ .tripleRedShell = 0,
+ .blueSpinyShell = 0,
+ .thunderbolt = 1,
+ .fakeItemBox = 0,
+ .star = 10,
+ .boo = 0,
+ .mushroom = 24,
+ .doubleMushroom = 0,
+ .tripleMushroom = 0,
+ .superMushroom = 0 },
};
ItemProbabilities versus2PlayerProbabilityTable[] = {
- { .banana = 25, .bananaBunch = 10, .greenShell = 30, .tripleGreenShell = 5, .redShell = 5, .tripleRedShell = 0, .blueSpinyShell = 0, .thunderbolt = 0, .fakeItemBox = 10, .star = 0, .boo = 5, .mushroom = 10, .doubleMushroom = 0, .tripleMushroom = 0, .superMushroom = 0 },
- { .banana = 0, .bananaBunch = 5, .greenShell = 0, .tripleGreenShell = 5, .redShell = 5, .tripleRedShell = 15, .blueSpinyShell = 5, .thunderbolt = 15, .fakeItemBox = 0, .star = 15, .boo = 0, .mushroom = 0, .doubleMushroom = 0, .tripleMushroom = 15, .superMushroom = 20 },
+ { .banana = 25,
+ .bananaBunch = 10,
+ .greenShell = 30,
+ .tripleGreenShell = 5,
+ .redShell = 5,
+ .tripleRedShell = 0,
+ .blueSpinyShell = 0,
+ .thunderbolt = 0,
+ .fakeItemBox = 10,
+ .star = 0,
+ .boo = 5,
+ .mushroom = 10,
+ .doubleMushroom = 0,
+ .tripleMushroom = 0,
+ .superMushroom = 0 },
+ { .banana = 0,
+ .bananaBunch = 5,
+ .greenShell = 0,
+ .tripleGreenShell = 5,
+ .redShell = 5,
+ .tripleRedShell = 15,
+ .blueSpinyShell = 5,
+ .thunderbolt = 15,
+ .fakeItemBox = 0,
+ .star = 15,
+ .boo = 0,
+ .mushroom = 0,
+ .doubleMushroom = 0,
+ .tripleMushroom = 15,
+ .superMushroom = 20 },
};
ItemProbabilities versus3PlayerProbabilityTable[] = {
- { .banana = 35, .bananaBunch = 5, .greenShell = 30, .tripleGreenShell = 0, .redShell = 5, .tripleRedShell = 0, .blueSpinyShell = 0, .thunderbolt = 0, .fakeItemBox = 10, .star = 0, .boo = 5, .mushroom = 10, .doubleMushroom = 0, .tripleMushroom = 0, .superMushroom = 0 },
- { .banana = 5, .bananaBunch = 5, .greenShell = 0, .tripleGreenShell = 10, .redShell = 15, .tripleRedShell = 15, .blueSpinyShell = 0, .thunderbolt = 5, .fakeItemBox = 5, .star = 5, .boo = 5, .mushroom = 5, .doubleMushroom = 0, .tripleMushroom = 20, .superMushroom = 5 },
- { .banana = 0, .bananaBunch = 0, .greenShell = 0, .tripleGreenShell = 0, .redShell = 10, .tripleRedShell = 20, .blueSpinyShell = 10, .thunderbolt = 15, .fakeItemBox = 0, .star = 15, .boo = 0, .mushroom = 0, .doubleMushroom = 0, .tripleMushroom = 20, .superMushroom = 10 },
+ { .banana = 35,
+ .bananaBunch = 5,
+ .greenShell = 30,
+ .tripleGreenShell = 0,
+ .redShell = 5,
+ .tripleRedShell = 0,
+ .blueSpinyShell = 0,
+ .thunderbolt = 0,
+ .fakeItemBox = 10,
+ .star = 0,
+ .boo = 5,
+ .mushroom = 10,
+ .doubleMushroom = 0,
+ .tripleMushroom = 0,
+ .superMushroom = 0 },
+ { .banana = 5,
+ .bananaBunch = 5,
+ .greenShell = 0,
+ .tripleGreenShell = 10,
+ .redShell = 15,
+ .tripleRedShell = 15,
+ .blueSpinyShell = 0,
+ .thunderbolt = 5,
+ .fakeItemBox = 5,
+ .star = 5,
+ .boo = 5,
+ .mushroom = 5,
+ .doubleMushroom = 0,
+ .tripleMushroom = 20,
+ .superMushroom = 5 },
+ { .banana = 0,
+ .bananaBunch = 0,
+ .greenShell = 0,
+ .tripleGreenShell = 0,
+ .redShell = 10,
+ .tripleRedShell = 20,
+ .blueSpinyShell = 10,
+ .thunderbolt = 15,
+ .fakeItemBox = 0,
+ .star = 15,
+ .boo = 0,
+ .mushroom = 0,
+ .doubleMushroom = 0,
+ .tripleMushroom = 20,
+ .superMushroom = 10 },
};
ItemProbabilities versus4PlayerProbabilityTable[] = {
- { .banana = 35, .bananaBunch = 5, .greenShell = 30, .tripleGreenShell = 0, .redShell = 5, .tripleRedShell = 0, .blueSpinyShell = 0, .thunderbolt = 0, .fakeItemBox = 10, .star = 0, .boo = 5, .mushroom = 10, .doubleMushroom = 0, .tripleMushroom = 0, .superMushroom = 0 },
- { .banana = 5, .bananaBunch = 5, .greenShell = 5, .tripleGreenShell = 10, .redShell = 15, .tripleRedShell = 15, .blueSpinyShell = 0, .thunderbolt = 0, .fakeItemBox = 5, .star = 5, .boo = 5, .mushroom = 5, .doubleMushroom = 0, .tripleMushroom = 25, .superMushroom = 0 },
- { .banana = 0, .bananaBunch = 5, .greenShell = 0, .tripleGreenShell = 5, .redShell = 10, .tripleRedShell = 15, .blueSpinyShell = 5, .thunderbolt = 10, .fakeItemBox = 5, .star = 10, .boo = 0, .mushroom = 5, .doubleMushroom = 0, .tripleMushroom = 25, .superMushroom = 5 },
- { .banana = 0, .bananaBunch = 0, .greenShell = 0, .tripleGreenShell = 0, .redShell = 0, .tripleRedShell = 20, .blueSpinyShell = 10, .thunderbolt = 15, .fakeItemBox = 0, .star = 20, .boo = 0, .mushroom = 0, .doubleMushroom = 0, .tripleMushroom = 25, .superMushroom = 10 },
-};
-
-ItemProbabilities battleProbabilityCurve[] = {
- { .banana = 10, .bananaBunch = 5, .greenShell = 5, .tripleGreenShell = 20, .redShell = 20, .tripleRedShell = 0, .blueSpinyShell = 0, .thunderbolt = 0, .fakeItemBox = 15, .star = 20, .boo = 5, .mushroom = 0, .doubleMushroom = 0, .tripleMushroom = 0, .superMushroom = 0 }
+ { .banana = 35,
+ .bananaBunch = 5,
+ .greenShell = 30,
+ .tripleGreenShell = 0,
+ .redShell = 5,
+ .tripleRedShell = 0,
+ .blueSpinyShell = 0,
+ .thunderbolt = 0,
+ .fakeItemBox = 10,
+ .star = 0,
+ .boo = 5,
+ .mushroom = 10,
+ .doubleMushroom = 0,
+ .tripleMushroom = 0,
+ .superMushroom = 0 },
+ { .banana = 5,
+ .bananaBunch = 5,
+ .greenShell = 5,
+ .tripleGreenShell = 10,
+ .redShell = 15,
+ .tripleRedShell = 15,
+ .blueSpinyShell = 0,
+ .thunderbolt = 0,
+ .fakeItemBox = 5,
+ .star = 5,
+ .boo = 5,
+ .mushroom = 5,
+ .doubleMushroom = 0,
+ .tripleMushroom = 25,
+ .superMushroom = 0 },
+ { .banana = 0,
+ .bananaBunch = 5,
+ .greenShell = 0,
+ .tripleGreenShell = 5,
+ .redShell = 10,
+ .tripleRedShell = 15,
+ .blueSpinyShell = 5,
+ .thunderbolt = 10,
+ .fakeItemBox = 5,
+ .star = 10,
+ .boo = 0,
+ .mushroom = 5,
+ .doubleMushroom = 0,
+ .tripleMushroom = 25,
+ .superMushroom = 5 },
+ { .banana = 0,
+ .bananaBunch = 0,
+ .greenShell = 0,
+ .tripleGreenShell = 0,
+ .redShell = 0,
+ .tripleRedShell = 20,
+ .blueSpinyShell = 10,
+ .thunderbolt = 15,
+ .fakeItemBox = 0,
+ .star = 20,
+ .boo = 0,
+ .mushroom = 0,
+ .doubleMushroom = 0,
+ .tripleMushroom = 25,
+ .superMushroom = 10 },
};
-void getProbabilityArray(const ItemProbabilities *probStruct, u8 *probArray) {
+ItemProbabilities battleProbabilityCurve[] = { { .banana = 10,
+ .bananaBunch = 5,
+ .greenShell = 5,
+ .tripleGreenShell = 20,
+ .redShell = 20,
+ .tripleRedShell = 0,
+ .blueSpinyShell = 0,
+ .thunderbolt = 0,
+ .fakeItemBox = 15,
+ .star = 20,
+ .boo = 5,
+ .mushroom = 0,
+ .doubleMushroom = 0,
+ .tripleMushroom = 0,
+ .superMushroom = 0 } };
+
+void getProbabilityArray(const ItemProbabilities* probStruct, u8* probArray) {
probArray[0] = probStruct->banana;
probArray[1] = probStruct->bananaBunch;
probArray[2] = probStruct->greenShell;
@@ -3789,14 +4193,14 @@ void getProbabilityArray(const ItemProbabilities *probStruct, u8 *probArray) {
* Likely functionally equivallent to the old system but easier to modify
*/
u8 gen_random_item(s16 rank, s16 isCpu) {
- #define PERCENTAGE_BASE 100
+#define PERCENTAGE_BASE 100
u16 rand = random_int(PERCENTAGE_BASE);
- #undef PERCENTAGE_BASE
- ItemProbabilities *distributionTable;
+#undef PERCENTAGE_BASE
+ ItemProbabilities* distributionTable;
u8 randomItem = 0;
u8 cumulativeProbability = 0;
- switch(gModeSelection) {
+ switch (gModeSelection) {
case GRAND_PRIX:
if (isCpu == false) {
distributionTable = &grandPrixHumanProbabilityTable[rank];
@@ -3806,27 +4210,26 @@ u8 gen_random_item(s16 rank, s16 isCpu) {
break;
case VERSUS:
switch (gPlayerCountSelection1) {
- case TWO_PLAYERS_SELECTED:
- distributionTable = &versus2PlayerProbabilityTable[rank];
- break;
- case THREE_PLAYERS_SELECTED:
- distributionTable = &versus3PlayerProbabilityTable[rank];
- break;
- case FOUR_PLAYERS_SELECTED:
- distributionTable = &versus4PlayerProbabilityTable[rank];
- break;
+ case TWO_PLAYERS_SELECTED:
+ distributionTable = &versus2PlayerProbabilityTable[rank];
+ break;
+ case THREE_PLAYERS_SELECTED:
+ distributionTable = &versus3PlayerProbabilityTable[rank];
+ break;
+ case FOUR_PLAYERS_SELECTED:
+ distributionTable = &versus4PlayerProbabilityTable[rank];
+ break;
}
break;
case BATTLE:
distributionTable = &battleProbabilityCurve[rank];
break;
-
}
- u8 itemProbabilities[ITEM_MAX-1];
+ u8 itemProbabilities[ITEM_MAX - 1];
getProbabilityArray(distributionTable, itemProbabilities);
- for (int i = 0; i < ITEM_MAX-1; i++) {
+ for (int i = 0; i < ITEM_MAX - 1; i++) {
cumulativeProbability += itemProbabilities[i];
if (rand < cumulativeProbability) {
randomItem = i + 1; // + 1 to account for the ITEM_NONE spot
@@ -3871,7 +4274,7 @@ s32 func_8007B040(s32 objectIndex, s32 playerId) {
s32 sp50[4];
s32 sp40[4];
s32 var_v1_2;
- Player *sp38;
+ Player* sp38;
s16 temp_a1;
var_a3 = 0;
@@ -3924,7 +4327,7 @@ void func_8007B254(s32 objectIndex, s32 arg1) {
func_80072428(objectIndex);
gObjectList[objectIndex].state = 2;
gObjectList[objectIndex].type = 0;
- gObjectList[objectIndex].tlutList = (u8 *) common_tlut_item_window_none;
+ gObjectList[objectIndex].tlutList = (u8*) common_tlut_item_window_none;
gObjectList[objectIndex].textureList = common_texture_item_window_none;
gObjectList[objectIndex].textureWidth = 0x28;
gObjectList[objectIndex].textureHeight = 0x20;
@@ -3949,9 +4352,9 @@ void func_8007B254(s32 objectIndex, s32 arg1) {
void func_8007B34C(s32 playerId) {
s32 temp_s0;
s32 sp40;
- Object *object;
- Player *sp38;
- struct Controller *new_var;
+ Object* object;
+ Player* sp38;
+ struct Controller* new_var;
temp_s0 = gItemWindowObjectByPlayerId[playerId];
sp38 = &gPlayerOne[playerId];
@@ -3965,124 +4368,124 @@ void func_8007B34C(s32 playerId) {
}
object = &gObjectList[temp_s0];
switch (object->state) {
- case 1:
- func_8007B254(temp_s0, playerId);
- break;
- case 2:
- if (gActiveScreenMode == 0) {
- s16_step_up_towards(&playerHUD[playerId].slideItemBoxY, 0x0040, 4);
- if (playerHUD[playerId].slideItemBoxY == 0x0040) {
- func_80072488(temp_s0);
- }
- } else if (gActiveScreenMode == 3) {
- if ((playerId == 0) || (playerId == 2)) {
- s16_step_up_towards(&playerHUD[playerId].slideItemBoxX, 0x0080, 8);
- if (playerHUD[playerId].slideItemBoxX == 0x0080) {
+ case 1:
+ func_8007B254(temp_s0, playerId);
+ break;
+ case 2:
+ if (gActiveScreenMode == 0) {
+ s16_step_up_towards(&playerHUD[playerId].slideItemBoxY, 0x0040, 4);
+ if (playerHUD[playerId].slideItemBoxY == 0x0040) {
func_80072488(temp_s0);
}
+ } else if (gActiveScreenMode == 3) {
+ if ((playerId == 0) || (playerId == 2)) {
+ s16_step_up_towards(&playerHUD[playerId].slideItemBoxX, 0x0080, 8);
+ if (playerHUD[playerId].slideItemBoxX == 0x0080) {
+ func_80072488(temp_s0);
+ }
+ } else {
+ s16_step_down_towards(&playerHUD[playerId].slideItemBoxX, -0x0080, 8);
+ if (playerHUD[playerId].slideItemBoxX == -0x0080) {
+ func_80072488(temp_s0);
+ }
+ }
} else {
- s16_step_down_towards(&playerHUD[playerId].slideItemBoxX, -0x0080, 8);
- if (playerHUD[playerId].slideItemBoxX == -0x0080) {
+ s16_step_up_towards(&playerHUD[playerId].slideItemBoxX, 0x0080, 8);
+ if (playerHUD[playerId].slideItemBoxX == 0x0080) {
func_80072488(temp_s0);
}
}
- } else {
- s16_step_up_towards(&playerHUD[playerId].slideItemBoxX, 0x0080, 8);
- if (playerHUD[playerId].slideItemBoxX == 0x0080) {
+ break;
+ case 3:
+ func_80072E54(temp_s0, 1, 0x0000000F, 1, 2, 2);
+ break;
+ case 4:
+ func_80072E54(temp_s0, 1, 6, 1, 8, 1);
+ break;
+ case 5:
+ func_80072E54(temp_s0, 1, 4, 1, 0x00000010, 1);
+ break;
+ case 6:
+ object->itemDisplay = func_8007AFB0(temp_s0, playerId);
+ object->unk_04C = 8;
+ object->unk_0D6 = 2;
+ func_80072488(temp_s0);
+ func_800C9018((u8) playerId, SOUND_ARG_LOAD(0x01, 0x00, 0xFE, 0x1C));
+ func_800C8F80((u8) playerId, SOUND_ARG_LOAD(0x01, 0x00, 0xFE, 0x47));
+ break;
+ case 7:
+ func_80072D3C(temp_s0, (s32) object->unk_0A2, 0, 8, 0x0000000A);
+ break;
+ case 9:
+ func_800722CC(temp_s0, 4);
+ func_80073600(temp_s0);
+ object->itemDisplay = 0;
+ func_80072488(temp_s0);
+ break;
+ case 10:
+ func_8007278C(temp_s0, 0x00000014);
+ break;
+ case 11:
+ if (gActiveScreenMode == 0) {
+ if (s16_step_down_towards(&playerHUD[playerId].slideItemBoxY, 0, 4) != 0) {
+ func_80072488(temp_s0);
+ }
+ } else if (gActiveScreenMode == 3) {
+ if ((playerId == 0) || (playerId == 2)) {
+ s16_step_down_towards(&playerHUD[playerId].slideItemBoxX, 0, 8);
+ if (playerHUD[playerId].slideItemBoxX == 0) {
+ func_80072488(temp_s0);
+ }
+ } else {
+ s16_step_up_towards(&playerHUD[playerId].slideItemBoxX, 0, 8);
+ if (playerHUD[playerId].slideItemBoxX == 0) {
+ func_80072488(temp_s0);
+ }
+ }
+ } else if (s16_step_down_towards(&playerHUD[playerId].slideItemBoxX, 0, 8) != 0) {
func_80072488(temp_s0);
}
- }
- break;
- case 3:
- func_80072E54(temp_s0, 1, 0x0000000F, 1, 2, 2);
- break;
- case 4:
- func_80072E54(temp_s0, 1, 6, 1, 8, 1);
- break;
- case 5:
- func_80072E54(temp_s0, 1, 4, 1, 0x00000010, 1);
- break;
- case 6:
- object->itemDisplay = func_8007AFB0(temp_s0, playerId);
- object->unk_04C = 8;
- object->unk_0D6 = 2;
- func_80072488(temp_s0);
- func_800C9018((u8) playerId, SOUND_ARG_LOAD(0x01, 0x00, 0xFE, 0x1C));
- func_800C8F80((u8) playerId, SOUND_ARG_LOAD(0x01, 0x00, 0xFE, 0x47));
- break;
- case 7:
- func_80072D3C(temp_s0, (s32) object->unk_0A2, 0, 8, 0x0000000A);
- break;
- case 9:
- func_800722CC(temp_s0, 4);
- func_80073600(temp_s0);
- object->itemDisplay = 0;
- func_80072488(temp_s0);
- break;
- case 10:
- func_8007278C(temp_s0, 0x00000014);
- break;
- case 11:
- if (gActiveScreenMode == 0) {
- if (s16_step_down_towards(&playerHUD[playerId].slideItemBoxY, 0, 4) != 0) {
- func_80072488(temp_s0);
+ break;
+ case 12:
+ func_80072428(temp_s0);
+ break;
+ case 20:
+ if (object->unk_0A2 == 0x000B) {
+ func_80072D3C(temp_s0, object->unk_0A2, 0, 8, 0x0000000A);
+ } else {
+ func_80072D3C(temp_s0, object->unk_0A2, 0x0000000B, 8, 0x0000000A);
}
- } else if (gActiveScreenMode == 3) {
- if ((playerId == 0) || (playerId == 2)) {
- s16_step_down_towards(&playerHUD[playerId].slideItemBoxX, 0, 8);
- if (playerHUD[playerId].slideItemBoxX == 0) {
- func_80072488(temp_s0);
- }
+ break;
+ case 21:
+ func_800726CC(temp_s0, 8);
+ object->unk_0D6 = 2;
+ break;
+ case 30:
+ if (object->unk_0A2 == 0x000B) {
+ func_80072D3C(temp_s0, object->unk_0A2, 0, 8, 0x0000000A);
} else {
- s16_step_up_towards(&playerHUD[playerId].slideItemBoxX, 0, 8);
- if (playerHUD[playerId].slideItemBoxX == 0) {
- func_80072488(temp_s0);
- }
+ func_80072D3C(temp_s0, object->unk_0A2, 0x0000000B, 8, 0x0000000A);
}
- } else if (s16_step_down_towards(&playerHUD[playerId].slideItemBoxX, 0, 8) != 0) {
- func_80072488(temp_s0);
- }
- break;
- case 12:
- func_80072428(temp_s0);
- break;
- case 20:
- if (object->unk_0A2 == 0x000B) {
- func_80072D3C(temp_s0, object->unk_0A2, 0, 8, 0x0000000A);
- } else {
- func_80072D3C(temp_s0, object->unk_0A2, 0x0000000B, 8, 0x0000000A);
- }
- break;
- case 21:
- func_800726CC(temp_s0, 8);
- object->unk_0D6 = 2;
- break;
- case 30:
- if (object->unk_0A2 == 0x000B) {
- func_80072D3C(temp_s0, object->unk_0A2, 0, 8, 0x0000000A);
- } else {
- func_80072D3C(temp_s0, object->unk_0A2, 0x0000000B, 8, 0x0000000A);
- }
- break;
- case 31:
- func_800726CC(temp_s0, 9);
- break;
- case 40:
- if (object->unk_0A2 == 0x000D) {
- func_80072D3C(temp_s0, object->unk_0A2, 0x0000000E, 8, 0x0000000A);
- } else {
- func_80072D3C(temp_s0, object->unk_0A2, 0x0000000D, 8, 0x0000000A);
- }
- break;
- case 41:
- func_800726CC(temp_s0, 8);
- break;
- case 50:
- func_80072D3C(temp_s0, (s32) object->unk_0A2, 0, 8, 0x00000064);
- break;
- case 0:
- default:
- break;
+ break;
+ case 31:
+ func_800726CC(temp_s0, 9);
+ break;
+ case 40:
+ if (object->unk_0A2 == 0x000D) {
+ func_80072D3C(temp_s0, object->unk_0A2, 0x0000000E, 8, 0x0000000A);
+ } else {
+ func_80072D3C(temp_s0, object->unk_0A2, 0x0000000D, 8, 0x0000000A);
+ }
+ break;
+ case 41:
+ func_800726CC(temp_s0, 8);
+ break;
+ case 50:
+ func_80072D3C(temp_s0, (s32) object->unk_0A2, 0, 8, 0x00000064);
+ break;
+ case 0:
+ default:
+ break;
}
if (func_80072320(temp_s0, 2) != 0) {
if (object->timer == 0) {
@@ -4095,42 +4498,42 @@ void func_8007B34C(s32 playerId) {
if (object->unk_04C > 0) {
object->unk_04C--;
} else {
- switch (object->unk_0D6) { /* switch 1; irregular */
- case 1: /* switch 1 */
- if (sp40 != 0) {
- func_80073600(temp_s0);
- func_800726CC(temp_s0, 6);
- }
- break;
- case 2: /* switch 1 */
- set_type_object(temp_s0, (s32) object->unk_0A2);
- object->unk_0D6 = 3;
- break;
- case 3: /* switch 1 */
- if (object->type == 0) {
- if (func_80072354(temp_s0, 1) != 0) {
- if (object->unk_0A2 == 0x000B) {
- if (func_8007B040(temp_s0, playerId) != 0) {
- func_800726CC(temp_s0, 0x00000014);
- object->unk_0D6 = 0;
+ switch (object->unk_0D6) { /* switch 1; irregular */
+ case 1: /* switch 1 */
+ if (sp40 != 0) {
+ func_80073600(temp_s0);
+ func_800726CC(temp_s0, 6);
+ }
+ break;
+ case 2: /* switch 1 */
+ set_type_object(temp_s0, (s32) object->unk_0A2);
+ object->unk_0D6 = 3;
+ break;
+ case 3: /* switch 1 */
+ if (object->type == 0) {
+ if (func_80072354(temp_s0, 1) != 0) {
+ if (object->unk_0A2 == 0x000B) {
+ if (func_8007B040(temp_s0, playerId) != 0) {
+ func_800726CC(temp_s0, 0x00000014);
+ object->unk_0D6 = 0;
+ } else {
+ func_800726CC(temp_s0, 9);
+ }
+ } else if ((object->unk_0A2 == 0x000D) || (object->unk_0A2 == 0x000E)) {
+ object->unk_0A2--;
+ set_type_object(temp_s0, (s32) object->unk_0A2);
+ object->unk_0D6 = 3;
+ func_800726CC(temp_s0, 0x00000028);
} else {
func_800726CC(temp_s0, 9);
}
- } else if ((object->unk_0A2 == 0x000D) || (object->unk_0A2 == 0x000E)) {
- object->unk_0A2--;
- set_type_object(temp_s0, (s32) object->unk_0A2);
- object->unk_0D6 = 3;
- func_800726CC(temp_s0, 0x00000028);
} else {
- func_800726CC(temp_s0, 9);
+ func_800722CC(temp_s0, 1);
+ func_800726CC(temp_s0, 0x0000001E);
+ object->unk_0D6 = 0;
}
- } else {
- func_800722CC(temp_s0, 1);
- func_800726CC(temp_s0, 0x0000001E);
- object->unk_0D6 = 0;
}
- }
- break;
+ break;
}
}
}
@@ -4145,34 +4548,34 @@ void func_8007BB9C(s32 arg0) {
void func_8007BBBC(s32 objectIndex) {
f32 var_f14;
- Object *object;
+ Object* object;
object = &gObjectList[objectIndex];
- switch (object->state) { /* irregular */
- case 1:
- func_800735BC(objectIndex, d_course_banshee_boardwalk_dl_cheep_cheep, 2.0f);
- set_object_flag_status_true(objectIndex, 0x00000010);
- object->unk_0D5 = 0;
- break;
- case 2:
- if (gIsMirrorMode != 0) {
- func_80087E08(objectIndex, 18.0f, 0.7f, 25.0f, (s16) -0x00005800, 0x0000012C);
- } else {
- func_80087E08(objectIndex, 18.0f, 0.7f, 25.0f, (s16) 0x00005800, 0x0000012C);
- }
- if (object->velocity[2] < 0.0f) {
- var_f14 = -object->velocity[2];
- } else {
- var_f14 = object->velocity[2];
- }
- object->direction_angle[0] = func_80041658(object->velocity[1], var_f14);
- func_8007278C(objectIndex, 0x00000046);
- break;
- case 3:
- func_80072428(objectIndex);
- break;
- case 0:
- break;
+ switch (object->state) { /* irregular */
+ case 1:
+ func_800735BC(objectIndex, d_course_banshee_boardwalk_dl_cheep_cheep, 2.0f);
+ set_object_flag_status_true(objectIndex, 0x00000010);
+ object->unk_0D5 = 0;
+ break;
+ case 2:
+ if (gIsMirrorMode != 0) {
+ func_80087E08(objectIndex, 18.0f, 0.7f, 25.0f, (s16) -0x00005800, 0x0000012C);
+ } else {
+ func_80087E08(objectIndex, 18.0f, 0.7f, 25.0f, (s16) 0x00005800, 0x0000012C);
+ }
+ if (object->velocity[2] < 0.0f) {
+ var_f14 = -object->velocity[2];
+ } else {
+ var_f14 = object->velocity[2];
+ }
+ object->direction_angle[0] = func_80041658(object->velocity[1], var_f14);
+ func_8007278C(objectIndex, 0x00000046);
+ break;
+ case 3:
+ func_80072428(objectIndex);
+ break;
+ case 0:
+ break;
}
}
@@ -4181,7 +4584,8 @@ void func_8007BD04(s32 playerId) {
objectIndex = indexObjectList2[0];
if (gObjectList[objectIndex].state == 0) {
- if (((s32) gNearestWaypointByPlayerId[playerId] >= 0xA0) && ((s32) gNearestWaypointByPlayerId[playerId] < 0xAB)) {
+ if (((s32) gNearestWaypointByPlayerId[playerId] >= 0xA0) &&
+ ((s32) gNearestWaypointByPlayerId[playerId] < 0xAB)) {
set_obj_origin_pos(objectIndex, xOrientation * -1650.0, -200.0f, -1650.0f);
init_object(objectIndex, 1);
}
@@ -4199,7 +4603,7 @@ void update_cheep_cheep_race(void) {
}
void init_var_cheep_cheep(s32 objectIndex) {
- Object *object;
+ Object* object;
object = &gObjectList[objectIndex];
object->unk_0D5 = 1;
@@ -4213,103 +4617,103 @@ void init_var_cheep_cheep(s32 objectIndex) {
}
void func_8007BEC8(s32 objectIndex) {
- Object *object;
+ Object* object;
object = &gObjectList[objectIndex];
switch (object->state) {
- case 1:
- init_var_cheep_cheep(objectIndex);
- break;
- case 2:
- if (func_8007278C(objectIndex, 0x0000003C) != 0) {
- set_object_flag_status_true(objectIndex, 0x00000010);
- func_80086E70(objectIndex);
- }
- break;
- case 3:
- if (object->unk_0AE == 0) {
- func_80072488(objectIndex);
- }
- break;
- case 4:
- if (func_8007278C(objectIndex, 0x0000000A) != 0) {
- func_8008701C(objectIndex, 2);
- }
- break;
- case 5:
- if (object->unk_0AE == 0) {
- func_80072428(objectIndex);
- }
- break;
- case 0:
- default:
- break;
+ case 1:
+ init_var_cheep_cheep(objectIndex);
+ break;
+ case 2:
+ if (func_8007278C(objectIndex, 0x0000003C) != 0) {
+ set_object_flag_status_true(objectIndex, 0x00000010);
+ func_80086E70(objectIndex);
+ }
+ break;
+ case 3:
+ if (object->unk_0AE == 0) {
+ func_80072488(objectIndex);
+ }
+ break;
+ case 4:
+ if (func_8007278C(objectIndex, 0x0000000A) != 0) {
+ func_8008701C(objectIndex, 2);
+ }
+ break;
+ case 5:
+ if (object->unk_0AE == 0) {
+ func_80072428(objectIndex);
+ }
+ break;
+ case 0:
+ default:
+ break;
}
}
void func_8007BFB0(s32 objectIndex) {
- Object *object;
+ Object* object;
object = &gObjectList[objectIndex];
switch (object->unk_0AE) {
- case 0:
- break;
- case 1:
- object->velocity[1] = -0.2f;
- if ((f64) object->offset[1] <= 0.0) {
- object->offset[1] = 0.0f;
- object->velocity[1] = 0.0f;
- func_80086F60(objectIndex);
- }
- break;
- case 2:
- if (func_800871AC(objectIndex, 0x00000014) != 0) {
- object->unk_084[7] = 0x0040;
- }
- break;
- case 3:
- object->sizeScaling = (f32) ((f64) object->sizeScaling - 0.0015);
- if ((s32) object->direction_angle[0] >= 0xA01) {
- object->unk_084[7] -= 4;
- }
- if (u16_step_up_towards(object->direction_angle, 0x0C00U, (u16) object->unk_084[7]) != 0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 4:
- object->sizeScaling = (f32) ((f64) object->sizeScaling - 0.0015);
- object->unk_034 = 0.001f;
- func_80086FD4(objectIndex);
- object->unk_084[7] = 0;
- break;
- case 5:
- if (object->unk_034 <= 0.004) {
- object->unk_034 += 0.0002;
- }
- object->sizeScaling += object->unk_034;
- s16_step_up_towards(&object->unk_084[7], 0x0100, 0x0010);
- object->direction_angle[0] -= object->unk_084[7];
- if (func_80087060(objectIndex, 0x00000035) != 0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 6:
- if (func_80087060(objectIndex, 0x0000000F) != 0) {
- func_80086FD4(objectIndex);
- D_801658CE = 1;
- }
- break;
- case 7:
- object->sizeScaling = (f32) ((f64) object->sizeScaling - 0.05);
- if ((f64) object->sizeScaling <= 0.01) {
- set_object_flag_status_false(objectIndex, 0x00000010);
- object->sizeScaling = 0.000001f;
+ case 0:
+ break;
+ case 1:
+ object->velocity[1] = -0.2f;
+ if ((f64) object->offset[1] <= 0.0) {
+ object->offset[1] = 0.0f;
+ object->velocity[1] = 0.0f;
+ func_80086F60(objectIndex);
+ }
+ break;
+ case 2:
+ if (func_800871AC(objectIndex, 0x00000014) != 0) {
+ object->unk_084[7] = 0x0040;
+ }
+ break;
+ case 3:
+ object->sizeScaling = (f32) ((f64) object->sizeScaling - 0.0015);
+ if ((s32) object->direction_angle[0] >= 0xA01) {
+ object->unk_084[7] -= 4;
+ }
+ if (u16_step_up_towards(object->direction_angle, 0x0C00U, (u16) object->unk_084[7]) != 0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 4:
+ object->sizeScaling = (f32) ((f64) object->sizeScaling - 0.0015);
+ object->unk_034 = 0.001f;
func_80086FD4(objectIndex);
- }
- break;
- case 8:
- func_80086F60(objectIndex);
- break;
+ object->unk_084[7] = 0;
+ break;
+ case 5:
+ if (object->unk_034 <= 0.004) {
+ object->unk_034 += 0.0002;
+ }
+ object->sizeScaling += object->unk_034;
+ s16_step_up_towards(&object->unk_084[7], 0x0100, 0x0010);
+ object->direction_angle[0] -= object->unk_084[7];
+ if (func_80087060(objectIndex, 0x00000035) != 0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 6:
+ if (func_80087060(objectIndex, 0x0000000F) != 0) {
+ func_80086FD4(objectIndex);
+ D_801658CE = 1;
+ }
+ break;
+ case 7:
+ object->sizeScaling = (f32) ((f64) object->sizeScaling - 0.05);
+ if ((f64) object->sizeScaling <= 0.01) {
+ set_object_flag_status_false(objectIndex, 0x00000010);
+ object->sizeScaling = 0.000001f;
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 8:
+ func_80086F60(objectIndex);
+ break;
}
if (object->unk_0AE < 0xA) {
func_80074344(objectIndex, &object->sizeScaling, 0.2f, 0.21f, 0.001f, 0, -1);
@@ -4350,7 +4754,7 @@ void wrapper_update_boos(void) {
// Updates the display status on an object based on its relative direction to the camera
void func_8007C360(s32 objectIndex, Camera* camera) {
u16 rot = camera->rot[1];
- u16 temp = ((u16)(gObjectList[objectIndex].direction_angle[1] - rot + 0x8000) * 0x24) / 0x10000;
+ u16 temp = ((u16) (gObjectList[objectIndex].direction_angle[1] - rot + 0x8000) * 0x24) / 0x10000;
if (temp < 0x13) {
set_object_flag_status_false(objectIndex, 0x80);
@@ -4359,21 +4763,20 @@ void func_8007C360(s32 objectIndex, Camera* camera) {
set_object_flag_status_true(objectIndex, 0x80);
gObjectList[objectIndex].itemDisplay = 0x24 - temp;
}
-
}
-void func_8007C420(s32 objectIndex, Player *player, Camera *camera) {
+void func_8007C420(s32 objectIndex, Player* player, Camera* camera) {
f32 x;
f32 z;
x = player->pos[0] - gObjectList[objectIndex].pos[0];
z = player->pos[2] - gObjectList[objectIndex].pos[2];
- gObjectList[objectIndex].direction_angle[1] = func_800417B4(gObjectList[objectIndex].direction_angle[1], atan2s(x, z));
+ gObjectList[objectIndex].direction_angle[1] =
+ func_800417B4(gObjectList[objectIndex].direction_angle[1], atan2s(x, z));
func_8007C360(objectIndex, camera);
}
UNUSED void func_8007C49C(void) {
-
}
void func_8007C4A4(s32 objectIndex) {
@@ -4391,12 +4794,14 @@ void func_8007C4A4(s32 objectIndex) {
}
void func_8007C550(s32 objectIndex) {
- gObjectList[objectIndex].direction_angle[1] = func_800417B4(gObjectList[objectIndex].direction_angle[1], atan2s(gObjectList[objectIndex].velocity[0], gObjectList[objectIndex].velocity[2]));
+ gObjectList[objectIndex].direction_angle[1] =
+ func_800417B4(gObjectList[objectIndex].direction_angle[1],
+ atan2s(gObjectList[objectIndex].velocity[0], gObjectList[objectIndex].velocity[2]));
func_8007C4A4(objectIndex);
}
void func_8007C5B4(s32 objectIndex) {
- Object *object;
+ Object* object;
init_texture_object(objectIndex, d_course_banshee_boardwalk_boo_tlut, gTextureGhosts, 48, 40);
object = &gObjectList[objectIndex];
@@ -4417,31 +4822,31 @@ void func_8007C5B4(s32 objectIndex) {
}
void func_8007C684(s32 objectIndex) {
- switch(gObjectList[objectIndex].state) {
- case 0:
- break;
- case 1:
- func_8007C5B4(objectIndex);
- break;
- }
- if (gObjectList[objectIndex].state >= 2) {
- switch (gObjectList[objectIndex].unk_0DC) {
+ switch (gObjectList[objectIndex].state) {
case 0:
break;
case 1:
- func_80073998(objectIndex, &gObjectList[objectIndex].primAlpha, 0, 0x00000050, 2, 1, 0);
- break;
- case 2:
- func_80073CB0(objectIndex, &gObjectList[objectIndex].primAlpha, 0x00000050, 0x00000078, 1, 0, -1);
- break;
- case 3:
- func_80073DC0(objectIndex, &gObjectList[objectIndex].primAlpha, 0, 2);
- break;
- case 4:
- func_80072428(objectIndex);
- func_80086F60(objectIndex);
- func_80073884(objectIndex);
+ func_8007C5B4(objectIndex);
break;
+ }
+ if (gObjectList[objectIndex].state >= 2) {
+ switch (gObjectList[objectIndex].unk_0DC) {
+ case 0:
+ break;
+ case 1:
+ func_80073998(objectIndex, &gObjectList[objectIndex].primAlpha, 0, 0x00000050, 2, 1, 0);
+ break;
+ case 2:
+ func_80073CB0(objectIndex, &gObjectList[objectIndex].primAlpha, 0x00000050, 0x00000078, 1, 0, -1);
+ break;
+ case 3:
+ func_80073DC0(objectIndex, &gObjectList[objectIndex].primAlpha, 0, 2);
+ break;
+ case 4:
+ func_80072428(objectIndex);
+ func_80086F60(objectIndex);
+ func_80073884(objectIndex);
+ break;
}
func_80073514(objectIndex);
}
@@ -4453,7 +4858,7 @@ void func_8007C7B4(s32 someIndex, s32 arg1) {
s16 temp_s1_2;
s16 temp_s4;
s16 temp_s5;
- SplineData *something;
+ SplineData* something;
for (temp_a0 = 0; temp_a0 < 5; temp_a0++) {
objectIndex = indexObjectList3[someIndex + temp_a0];
@@ -4505,15 +4910,15 @@ s32 func_8007C9F8(void) {
first = gGPCurrentRaceRankByPlayerId[0];
second = gGPCurrentRaceRankByPlayerId[1];
if (first < second) {
- ret = 0;
+ ret = 0;
} else {
- ret = 1;
+ ret = 1;
}
} else {
- ret = gGPCurrentRacePlayerIdByRank[0];
+ ret = gGPCurrentRacePlayerIdByRank[0];
}
} else {
- ret = gGPCurrentRacePlayerIdByRank[0];
+ ret = gGPCurrentRacePlayerIdByRank[0];
}
}
return ret;
@@ -4522,7 +4927,7 @@ s32 func_8007C9F8(void) {
void func_8007CA70(void) {
s32 playerId;
// wtf is up with this pointer? Its such a dumb way of going about things
- u16 *test;
+ u16* test;
if (D_8018CFF0 == 0) {
playerId = func_8007C9F8();
@@ -4566,9 +4971,9 @@ void update_boos(void) {
u16 temp_t4;
s32 someIndex;
s32 objectIndex;
- Player *player;
- Camera *camera;
- Object *object;
+ Player* player;
+ Camera* camera;
+ Object* object;
func_8007CA70();
for (someIndex = 0; someIndex < NUM_BOOS; someIndex++) {
@@ -4580,9 +4985,11 @@ void update_boos(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->offset[0])) - (sins(temp_t4) * (object->origin_pos[2] + object->offset[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]));
+ 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_flag_status_active(objectIndex, 0x00000080) != 0) {
object->vertex = D_800E44B0;
@@ -4594,7 +5001,7 @@ void update_boos(void) {
}
void func_8007CE0C(s32 objectIndex) {
- Object *object;
+ Object* object;
init_texture_object(objectIndex, d_course_banshee_boardwalk_boo_tlut, gTextureGhosts, 0x30U, (u16) 0x00000028);
object = &gObjectList[objectIndex];
@@ -4608,53 +5015,54 @@ void func_8007CE0C(s32 objectIndex) {
func_80073844(objectIndex);
func_80086EF0(objectIndex);
object->direction_angle[2] = 0x8000;
- object->direction_angle[1] = atan2s(D_8018CF1C->pos[0] - object->origin_pos[0], D_8018CF1C->pos[2] - object->origin_pos[2]);
+ object->direction_angle[1] =
+ atan2s(D_8018CF1C->pos[0] - object->origin_pos[0], D_8018CF1C->pos[2] - object->origin_pos[2]);
}
void func_8007CEDC(s32 objectIndex) {
- Object *object;
+ Object* object;
object = &gObjectList[objectIndex];
- switch (object->state) { /* switch 1 */
- case 0: /* switch 1 */
- break;
- case 1: /* switch 1 */
- func_8007CE0C(objectIndex);
- break;
- case 2: /* switch 1 */
- func_8007278C(objectIndex, 0x0000001E);
- break;
- case 3: /* switch 1 */
- func_8007278C(objectIndex, 0x000003E8);
- break;
- case 4: /* switch 1 */
- func_80072428(objectIndex);
- break;
- default: /* switch 2 */
- break;
- }
- if (object->state >= 2) {
- func_80072950(objectIndex, (s32) object->unk_0DC, 0, 4);
- func_80073514(objectIndex);
- switch (object->unk_0DC) { /* switch 2 */
- case 1: /* switch 2 */
- func_80073998(objectIndex, &object->primAlpha, 0x00000028, 0x00000050, 4, 0, 0);
+ switch (object->state) { /* switch 1 */
+ case 0: /* switch 1 */
break;
- case 2: /* switch 2 */
- func_80073CB0(objectIndex, &object->primAlpha, 0x00000050, 0x000000B4, 2, 0, -1);
- if ((object->unk_0AE == 0) || (object->state == 3)) {
- object->unk_0DC += 1;
- }
+ case 1: /* switch 1 */
+ func_8007CE0C(objectIndex);
+ break;
+ case 2: /* switch 1 */
+ func_8007278C(objectIndex, 0x0000001E);
break;
- case 3: /* switch 2 */
- func_80073DC0(objectIndex, &object->primAlpha, 0, 4);
+ case 3: /* switch 1 */
+ func_8007278C(objectIndex, 0x000003E8);
break;
- case 4: /* switch 2 */
- func_80073884(objectIndex);
+ case 4: /* switch 1 */
+ func_80072428(objectIndex);
break;
- case 0:
- default: /* switch 2 */
+ default: /* switch 2 */
break;
+ }
+ if (object->state >= 2) {
+ func_80072950(objectIndex, (s32) object->unk_0DC, 0, 4);
+ func_80073514(objectIndex);
+ switch (object->unk_0DC) { /* switch 2 */
+ case 1: /* switch 2 */
+ func_80073998(objectIndex, &object->primAlpha, 0x00000028, 0x00000050, 4, 0, 0);
+ break;
+ case 2: /* switch 2 */
+ func_80073CB0(objectIndex, &object->primAlpha, 0x00000050, 0x000000B4, 2, 0, -1);
+ if ((object->unk_0AE == 0) || (object->state == 3)) {
+ object->unk_0DC += 1;
+ }
+ break;
+ case 3: /* switch 2 */
+ func_80073DC0(objectIndex, &object->primAlpha, 0, 4);
+ break;
+ case 4: /* switch 2 */
+ func_80073884(objectIndex);
+ break;
+ case 0:
+ default: /* switch 2 */
+ break;
}
}
}
@@ -4673,7 +5081,9 @@ void func_8007D070(void) {
if ((D_8016559C == 0) && (D_8018D2A4 != 0) && (D_8018CF68[0] < 0x1D) && (D_800E5DB4[D_8018CF68[0]] == 1)) {
while (gObjectList[gObjectParticle1[var_v0 + 10]].state != 0) {
var_v0++;
- if (var_v0 == 30) break;
+ if (var_v0 == 30) {
+ break;
+ }
}
objectIndex = gObjectParticle1[var_v0 + 10];
if (var_v0 != 30) {
@@ -4696,9 +5106,12 @@ 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].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];
+ 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_flag_status_active(objectIndex, 0x00000080) != 0) {
gObjectList[objectIndex].vertex = D_800E44B0;
@@ -4730,12 +5143,14 @@ void func_8007D360(s32 objectIndex, s32 arg1) {
gObjectList[objectIndex].direction_angle[0] = 0;
gObjectList[objectIndex].unk_0C6 = 0;
}
- 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[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;
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);
+ gObjectList[objectIndex].unk_034 = (random_int(4U) + 4.0);
} else {
gObjectList[objectIndex].unk_034 = (random_int(4U) + 5.0);
}
@@ -4743,7 +5158,7 @@ void func_8007D360(s32 objectIndex, s32 arg1) {
void func_8007D6A8(s32 objectIndex, s32 arg1) {
UNUSED s32 pad[2];
- Object *object;
+ Object* object;
object = &gObjectList[objectIndex];
object->unk_0D5 = 0x0D;
@@ -4797,33 +5212,33 @@ void func_8007D8AC(s32 arg0) {
void func_8007D8D4(s32 objectIndex, s32 arg1) {
switch (gObjectList[objectIndex].state) {
- case 1:
- func_8007D8AC(objectIndex);
- break;
- case 2:
- if (func_8007D804(objectIndex) == 0) {
- func_80072428(objectIndex);
- }
- if (arg1 == 1) {
- if (gIsMirrorMode != 0) {
- if (gObjectList[objectIndex].pos[0] >= 2540.0) {
- func_80072428(objectIndex);
- }
- } else if (gObjectList[objectIndex].pos[0] <= -2540.0) {
- func_80072428(objectIndex);
- }
- } else if (gIsMirrorMode != 0) {
- if (gObjectList[objectIndex].pos[0] >= 2150.0) {
+ case 1:
+ func_8007D8AC(objectIndex);
+ break;
+ case 2:
+ if (func_8007D804(objectIndex) == 0) {
func_80072428(objectIndex);
}
- } else {
- if (gObjectList[objectIndex].pos[0] <= -2150.0) {
- func_80072428(objectIndex);
+ if (arg1 == 1) {
+ if (gIsMirrorMode != 0) {
+ if (gObjectList[objectIndex].pos[0] >= 2540.0) {
+ func_80072428(objectIndex);
+ }
+ } else if (gObjectList[objectIndex].pos[0] <= -2540.0) {
+ func_80072428(objectIndex);
+ }
+ } else if (gIsMirrorMode != 0) {
+ if (gObjectList[objectIndex].pos[0] >= 2150.0) {
+ func_80072428(objectIndex);
+ }
+ } else {
+ if (gObjectList[objectIndex].pos[0] <= -2150.0) {
+ func_80072428(objectIndex);
+ }
}
- }
- break;
- case 0:
- break;
+ break;
+ case 0:
+ break;
}
}
@@ -4839,26 +5254,27 @@ void func_8007DA74(s32 objectIndex) {
gObjectList[objectIndex].unk_0C6 = 0U;
}
}
- gObjectList[objectIndex].direction_angle[0] = func_800417B4(gObjectList[objectIndex].direction_angle[0], gObjectList[objectIndex].unk_0C6);
+ gObjectList[objectIndex].direction_angle[0] =
+ func_800417B4(gObjectList[objectIndex].direction_angle[0], gObjectList[objectIndex].unk_0C6);
func_80087844(objectIndex);
object_calculate_new_pos_offset(objectIndex);
}
void func_8007DAF8(s32 objectIndex, s32 arg1) {
- switch (arg1) { /* irregular */
- case 1:
- func_8007DA74(objectIndex);
- return;
- case 2:
- func_8007DA4C(objectIndex);
- return;
+ switch (arg1) { /* irregular */
+ case 1:
+ func_8007DA74(objectIndex);
+ return;
+ case 2:
+ func_8007DA4C(objectIndex);
+ return;
}
}
void update_bat(void) {
s32 var_s2;
s32 temp_s0;
- Object *object;
+ Object* object;
if (D_8018CFC8 != 0) {
D_8018CFC8 -= 1;
@@ -4876,10 +5292,14 @@ void update_bat(void) {
D_8018CFD8 = 0;
for (var_s2 = 0; var_s2 < 40; var_s2++) {
temp_s0 = gObjectParticle2[var_s2];
- if (temp_s0 == -1) continue;
+ if (temp_s0 == -1) {
+ continue;
+ }
object = &gObjectList[temp_s0];
- if (object->state == 0) continue;
+ if (object->state == 0) {
+ continue;
+ }
func_8007D8D4(temp_s0, 1);
func_8007DAF8(temp_s0, 1);
@@ -4897,10 +5317,14 @@ void update_bat(void) {
D_8018D010 = 0;
for (var_s2 = 0; var_s2 < 30; var_s2++) {
temp_s0 = gObjectParticle3[var_s2];
- if (temp_s0 == -1) continue;
+ if (temp_s0 == -1) {
+ continue;
+ }
object = &gObjectList[temp_s0];
- if (object->state == 0) continue;
+ if (object->state == 0) {
+ continue;
+ }
func_8007D8D4(temp_s0, 2);
func_8007DAF8(temp_s0, 2);
@@ -4918,7 +5342,7 @@ void update_bat(void) {
void func_8007DDC0(s32 objectIndex) {
f32 sp2C;
- Object *object;
+ Object* object;
object = &gObjectList[objectIndex];
if (object->unk_04C > 0) {
@@ -4934,7 +5358,8 @@ void func_8007DDC0(s32 objectIndex) {
}
}
if (object->unk_04C == 0) {
- if ((gCCSelection == CC_50) || (gCCSelection == CC_100) || (gCCSelection == CC_150) || (gCCSelection == CC_EXTRA)) {
+ if ((gCCSelection == CC_50) || (gCCSelection == CC_100) || (gCCSelection == CC_150) ||
+ (gCCSelection == CC_EXTRA)) {
sp2C = 1150.0f;
}
func_8008A6DC(objectIndex, sp2C);
@@ -4978,51 +5403,52 @@ void init_bb_trash_bin(s32 objectIndex) {
void func_8007E00C(s32 objectIndex) {
switch (gObjectList[objectIndex].state) {
- case 1:
- init_bb_trash_bin(objectIndex);
- break;
- case 3:
- D_8018CFB0 = 1;
- func_80072488(objectIndex);
- break;
- case 4:
- func_8007278C(objectIndex, 0x000000D2);
- if (D_80165594 == 0) {
- if (gCCSelection < CC_150) {
- func_8007D714(1);
- func_8007D714(1);
+ case 1:
+ init_bb_trash_bin(objectIndex);
+ break;
+ case 3:
+ D_8018CFB0 = 1;
+ func_80072488(objectIndex);
+ break;
+ case 4:
+ func_8007278C(objectIndex, 0x000000D2);
+ if (D_80165594 == 0) {
+ if (gCCSelection < CC_150) {
+ func_8007D714(1);
+ func_8007D714(1);
+ } else {
+ func_8007D714(1);
+ func_8007D714(1);
+ func_8007D714(1);
+ func_8007D714(1);
+ }
+ }
+ 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;
} else {
- func_8007D714(1);
- func_8007D714(1);
- func_8007D714(1);
- func_8007D714(1);
+ gObjectList[objectIndex].unk_084[7]--;
}
- }
- 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;
- } else {
- gObjectList[objectIndex].unk_084[7]--;
- }
- break;
- case 5:
- gObjectList[objectIndex].orientation[2] = func_800417B4(gObjectList[objectIndex].orientation[2], 0U);
- if (gObjectList[objectIndex].orientation[2] == 0) {
+ break;
+ case 5:
+ gObjectList[objectIndex].orientation[2] = func_800417B4(gObjectList[objectIndex].orientation[2], 0U);
+ if (gObjectList[objectIndex].orientation[2] == 0) {
+ func_80072488(objectIndex);
+ }
+ break;
+ case 6:
+ gObjectList[objectIndex].orientation[2] = 0;
+ gObjectList[objectIndex].unk_084[7] = 0;
func_80072488(objectIndex);
- }
- break;
- case 6:
- gObjectList[objectIndex].orientation[2] = 0;
- gObjectList[objectIndex].unk_084[7] = 0;
- func_80072488(objectIndex);
- D_8018CFB0 = 0;
- break;
- case 0:
- case 2:
- default:
- break;
+ D_8018CFB0 = 0;
+ break;
+ case 0:
+ case 2:
+ default:
+ break;
}
}
@@ -5036,7 +5462,7 @@ void update_trash_bin(void) {
void func_8007E1F4(s32 objectIndex) {
f32 sp2C;
- Object *object;
+ Object* object;
object = &gObjectList[objectIndex];
if (object->unk_04C > 0) {
@@ -5052,7 +5478,8 @@ void func_8007E1F4(s32 objectIndex) {
}
}
if (object->unk_04C == 0) {
- if ((gCCSelection == CC_50) || (gCCSelection == CC_100) || (gCCSelection == CC_150) || (gCCSelection == CC_EXTRA)) {
+ if ((gCCSelection == CC_50) || (gCCSelection == CC_100) || (gCCSelection == CC_150) ||
+ (gCCSelection == CC_EXTRA)) {
sp2C = 700.0f;
}
func_8008A6DC(objectIndex, sp2C);
@@ -5088,32 +5515,32 @@ void func_8007E358(s32 objectIndex) {
void func_8007E3EC(s32 objectIndex) {
switch (gObjectList[objectIndex].state) {
- case 1:
- func_8007E358(objectIndex);
- break;
- case 3:
- D_8018CFE8 = 1;
- func_80072488(objectIndex);
- break;
- case 4:
- func_8007278C(objectIndex, 0x000000D2);
- if (D_80165598 == 0) {
- if (gCCSelection < CC_150) {
- func_8007D714(2);
- } else {
- func_8007D714(2);
- func_8007D714(2);
+ case 1:
+ func_8007E358(objectIndex);
+ break;
+ case 3:
+ D_8018CFE8 = 1;
+ func_80072488(objectIndex);
+ break;
+ case 4:
+ func_8007278C(objectIndex, 0x000000D2);
+ if (D_80165598 == 0) {
+ if (gCCSelection < CC_150) {
+ func_8007D714(2);
+ } else {
+ func_8007D714(2);
+ func_8007D714(2);
+ }
}
- }
- break;
- case 5:
- D_8018CFE8 = 0;
- func_80072488(objectIndex);
- break;
- case 0:
- case 2:
- default:
- break;
+ break;
+ case 5:
+ D_8018CFE8 = 0;
+ func_80072488(objectIndex);
+ break;
+ case 0:
+ case 2:
+ default:
+ break;
}
}
@@ -5125,11 +5552,14 @@ void func_8007E4C4(void) {
}
}
-s32 func_8007E50C(s32 objectIndex, Player *player, Camera *camera) {
+s32 func_8007E50C(s32 objectIndex, Player* player, Camera* camera) {
s32 sp24;
sp24 = 0;
- if ((func_80072354(objectIndex, 4) != 0) && (is_within_horizontal_distance_of_player(objectIndex, player, 300.0f) != 0) && (func_8008A0B4(objectIndex, player, camera, 0x4000U) != 0) && (func_8008A060(objectIndex, camera, 0x1555U) != 0)) {
+ if ((func_80072354(objectIndex, 4) != 0) &&
+ (is_within_horizontal_distance_of_player(objectIndex, player, 300.0f) != 0) &&
+ (func_8008A0B4(objectIndex, player, camera, 0x4000U) != 0) &&
+ (func_8008A060(objectIndex, camera, 0x1555U) != 0)) {
func_800722A4(objectIndex, 4);
sp24 = 1;
}
@@ -5137,8 +5567,8 @@ s32 func_8007E50C(s32 objectIndex, Player *player, Camera *camera) {
}
s32 func_8007E59C(s32 objectIndex) {
- Camera *camera;
- Player *player;
+ Camera* camera;
+ Player* player;
s32 temp_v0;
s32 someIndex;
@@ -5147,149 +5577,155 @@ s32 func_8007E59C(s32 objectIndex) {
camera = camera1;
for (someIndex = 0; someIndex < gPlayerCountSelection1; someIndex++) {
temp_v0 = func_8007E50C(objectIndex, player++, camera++);
- if (temp_v0 != 0) break;
+ if (temp_v0 != 0) {
+ break;
+ }
}
return temp_v0;
}
void func_8007E63C(s32 objectIndex) {
- switch (gObjectList[objectIndex].state) { /* irregular */
- case 0x32:
- 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].offset[1], 0.0f, 2.0f) != 0) {
- if (gObjectList[objectIndex].offset[1] >= 16.0f) {
+ switch (gObjectList[objectIndex].state) { /* irregular */
+ case 0x32:
+ 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].offset[1], 0.0f, 2.0f) != 0) {
+ if (gObjectList[objectIndex].offset[1] >= 16.0f) {
+ gObjectList[objectIndex].itemDisplay = 0;
+ } else if (gObjectList[objectIndex].offset[1] >= 8.0f) {
+ gObjectList[objectIndex].itemDisplay = 1;
+ } else {
+ gObjectList[objectIndex].itemDisplay = 2;
+ }
+ func_800722CC(objectIndex, 1);
+ if (is_obj_flag_status_active(objectIndex, 0x00010000) != 0) {
+ func_800722A4(objectIndex, 0x00000010);
+ if (is_obj_flag_status_active(objectIndex, VISIBLE) != 0) {
+ func_800722A4(objectIndex, 0x00000020);
+ }
+ }
+ if (func_80072320(objectIndex, 2) != 0) {
+ func_800726CC(objectIndex, 0x00000064);
+ } else {
+ func_80072488(objectIndex);
+ }
+ }
+ break;
+ case 0x34:
+ func_80072AAC(objectIndex, 3, 6);
+ break;
+ case 0x35:
+ func_80072AAC(objectIndex, 2, 0x00000032);
+ break;
+ case 0x36:
+ if (gObjectList[objectIndex].offset[1] >= 20.0f) {
gObjectList[objectIndex].itemDisplay = 0;
- } else if (gObjectList[objectIndex].offset[1] >= 8.0f) {
+ } else if (gObjectList[objectIndex].offset[1] >= 18.0f) {
gObjectList[objectIndex].itemDisplay = 1;
- } else {
- gObjectList[objectIndex].itemDisplay = 2;
}
- func_800722CC(objectIndex, 1);
- if (is_obj_flag_status_active(objectIndex, 0x00010000) != 0) {
- func_800722A4(objectIndex, 0x00000010);
- if (is_obj_flag_status_active(objectIndex, VISIBLE) != 0) {
- func_800722A4(objectIndex, 0x00000020);
- }
+ 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);
}
- if (func_80072320(objectIndex, 2) != 0) {
- func_800726CC(objectIndex, 0x00000064);
- } else {
+ break;
+ case 0x64:
+ func_80072E54(objectIndex, 3, 5, 1, 8, 0);
+ break;
+ case 0x65:
+ func_8007278C(objectIndex, 0x0000001E);
+ break;
+ case 0x66:
+ if (f32_step_up_towards(&gObjectList[objectIndex].offset[1], 20.0f, 1.5f) != 0) {
func_80072488(objectIndex);
}
- }
- break;
- case 0x34:
- func_80072AAC(objectIndex, 3, 6);
- break;
- case 0x35:
- func_80072AAC(objectIndex, 2, 0x00000032);
- break;
- case 0x36:
- if (gObjectList[objectIndex].offset[1] >= 20.0f) {
- gObjectList[objectIndex].itemDisplay = 0;
- } else if (gObjectList[objectIndex].offset[1] >= 18.0f) {
- gObjectList[objectIndex].itemDisplay = 1;
- }
- 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;
- case 0x64:
- func_80072E54(objectIndex, 3, 5, 1, 8, 0);
- break;
- case 0x65:
- func_8007278C(objectIndex, 0x0000001E);
- break;
- case 0x66:
- 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].offset[1], 0.0f, 1.5f) != 0) {
- if (is_obj_flag_status_active(objectIndex, 0x00020000) != 0) {
- func_800722A4(objectIndex, 0x00000010);
- if (is_obj_flag_status_active(objectIndex, VISIBLE) != 0) {
- func_800722A4(objectIndex, 0x00000020);
+ break;
+ case 0x67:
+ 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_flag_status_active(objectIndex, VISIBLE) != 0) {
+ func_800722A4(objectIndex, 0x00000020);
+ }
}
+ func_80072488(objectIndex);
}
- func_80072488(objectIndex);
- }
- break;
- case 0x68:
- 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].offset[1], 0.0f, 1.5f) != 0) {
- if (is_obj_flag_status_active(objectIndex, 0x00020000) != 0) {
- func_800722A4(objectIndex, 0x00000010);
- if (is_obj_flag_status_active(objectIndex, VISIBLE) != 0) {
- func_800722A4(objectIndex, 0x00000020);
+ break;
+ case 0x68:
+ 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].offset[1], 0.0f, 1.5f) != 0) {
+ if (is_obj_flag_status_active(objectIndex, 0x00020000) != 0) {
+ func_800722A4(objectIndex, 0x00000010);
+ if (is_obj_flag_status_active(objectIndex, VISIBLE) != 0) {
+ func_800722A4(objectIndex, 0x00000020);
+ }
}
+ func_800C98B8(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity,
+ SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x45));
+ func_80072488(objectIndex);
}
- func_800C98B8(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x45));
- func_80072488(objectIndex);
- }
- break;
- case 0x6A:
- if (func_8007326C(objectIndex, 5, 3, 1, 6, 3) != 0) {
- func_80080DE4(objectIndex);
- }
- break;
- case 0x6B:
- if (gObjectList[objectIndex].offset[1] >= 22.0f) {
- gObjectList[objectIndex].itemDisplay = 0;
- } else if (gObjectList[objectIndex].offset[1] >= 20.0f) {
- gObjectList[objectIndex].itemDisplay = 1;
- } else if (gObjectList[objectIndex].offset[1] >= 18.0f) {
- gObjectList[objectIndex].itemDisplay = 2;
- } else if (gObjectList[objectIndex].offset[1] >= 16.0f) {
- gObjectList[objectIndex].itemDisplay = 3;
- } 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].offset[1], gObjectList[objectIndex].unk_01C[1], 0.5f) != 0) {
- set_object_unk_0CB(objectIndex, 0);
- func_80072488(objectIndex);
- }
- break;
- case 0x6C:
- if (func_8007278C(objectIndex, 0x00000064) != 0) {
- func_800722CC(objectIndex, 2);
- set_object_flag_status_false(objectIndex, 0x00000200);
- func_8007266C(objectIndex);
- }
- break;
- case 0xC8:
- if (func_8007278C(objectIndex, 0x0000012C) != 0) {
- func_80072320(objectIndex, 0x00000080);
- func_80072428(objectIndex);
- func_800726CC(objectIndex, 1);
- }
- break;
- case 0x12C:
- if (func_80073E18(objectIndex, &gObjectList[objectIndex].orientation[1], 0x0400U, 0x00008000) != 0) {
- func_800722CC(objectIndex, 4);
- func_8007266C(objectIndex);
- }
- break;
+ break;
+ case 0x6A:
+ if (func_8007326C(objectIndex, 5, 3, 1, 6, 3) != 0) {
+ func_80080DE4(objectIndex);
+ }
+ break;
+ case 0x6B:
+ if (gObjectList[objectIndex].offset[1] >= 22.0f) {
+ gObjectList[objectIndex].itemDisplay = 0;
+ } else if (gObjectList[objectIndex].offset[1] >= 20.0f) {
+ gObjectList[objectIndex].itemDisplay = 1;
+ } else if (gObjectList[objectIndex].offset[1] >= 18.0f) {
+ gObjectList[objectIndex].itemDisplay = 2;
+ } else if (gObjectList[objectIndex].offset[1] >= 16.0f) {
+ gObjectList[objectIndex].itemDisplay = 3;
+ } 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].offset[1], gObjectList[objectIndex].unk_01C[1], 0.5f) !=
+ 0) {
+ set_object_unk_0CB(objectIndex, 0);
+ func_80072488(objectIndex);
+ }
+ break;
+ case 0x6C:
+ if (func_8007278C(objectIndex, 0x00000064) != 0) {
+ func_800722CC(objectIndex, 2);
+ set_object_flag_status_false(objectIndex, 0x00000200);
+ func_8007266C(objectIndex);
+ }
+ break;
+ case 0xC8:
+ if (func_8007278C(objectIndex, 0x0000012C) != 0) {
+ func_80072320(objectIndex, 0x00000080);
+ func_80072428(objectIndex);
+ func_800726CC(objectIndex, 1);
+ }
+ break;
+ case 0x12C:
+ if (func_80073E18(objectIndex, &gObjectList[objectIndex].orientation[1], 0x0400U, 0x00008000) != 0) {
+ func_800722CC(objectIndex, 4);
+ func_8007266C(objectIndex);
+ }
+ break;
}
}
void func_8007EC30(s32 objectIndex) {
- Object *object;
+ Object* object;
object = &gObjectList[objectIndex];
object->surfaceHeight = 0.0f;
@@ -5302,7 +5738,8 @@ void func_8007EC30(s32 objectIndex) {
set_obj_direction_angle(objectIndex, 0U, 0xC000U, 0U);
set_obj_orientation(objectIndex, 0U, 0xC000U, 0U);
}
- init_texture_object(objectIndex, d_course_bowsers_castle_thwomp_tlut, (u8*) d_course_bowsers_castle_thwomp_faces, 0x10U, (u16) 0x00000040);
+ init_texture_object(objectIndex, d_course_bowsers_castle_thwomp_tlut, (u8*) d_course_bowsers_castle_thwomp_faces,
+ 0x10U, (u16) 0x00000040);
object->model = d_course_bowsers_castle_dl_thwomp;
object->boundingBoxSize = 0x000C;
object->sizeScaling = 1.0f;
@@ -5317,24 +5754,24 @@ void func_8007EC30(s32 objectIndex) {
void func_8007ED6C(s32 objectIndex) {
UNUSED s32 stackPadding[4];
switch (gObjectList[objectIndex].state) {
- case 0:
- break;
- case 1:
- func_8007EC30(objectIndex);
- break;
- case 2:
- func_8007278C(objectIndex, 0x0000003C);
- break;
- case 3:
- func_80072568(objectIndex, 0x00000032);
- break;
- case 4:
- if (func_8007E59C(objectIndex) != 0) {
- func_800725E8(objectIndex, 0x0000012C, 2);
- } else {
- func_800726CC(objectIndex, 2);
- }
- break;
+ case 0:
+ break;
+ case 1:
+ func_8007EC30(objectIndex);
+ break;
+ case 2:
+ func_8007278C(objectIndex, 0x0000003C);
+ break;
+ case 3:
+ func_80072568(objectIndex, 0x00000032);
+ break;
+ case 4:
+ if (func_8007E59C(objectIndex) != 0) {
+ func_800725E8(objectIndex, 0x0000012C, 2);
+ } else {
+ func_800726CC(objectIndex, 2);
+ }
+ break;
}
func_8007E63C(objectIndex);
object_calculate_new_pos_offset(objectIndex);
@@ -5343,9 +5780,10 @@ void func_8007ED6C(s32 objectIndex) {
}
void func_8007EE5C(s32 objectIndex) {
- Object *object;
+ Object* object;
- init_texture_object(objectIndex, d_course_bowsers_castle_thwomp_tlut, (u8*) d_course_bowsers_castle_thwomp_faces, 0x10U, (u16) 0x00000040);
+ init_texture_object(objectIndex, d_course_bowsers_castle_thwomp_tlut, (u8*) d_course_bowsers_castle_thwomp_faces,
+ 0x10U, (u16) 0x00000040);
object = &gObjectList[objectIndex];
object->sizeScaling = 1.0f;
object->model = d_course_bowsers_castle_dl_thwomp;
@@ -5376,182 +5814,182 @@ void func_8007EE5C(s32 objectIndex) {
void func_8007EFBC(s32 objectIndex) {
switch (gObjectList[objectIndex].unk_0AE) {
- case 1:
- if (func_80073E18(objectIndex, (u16 *) &gObjectList[objectIndex].orientation[1], 0x0800U, 0x00008000) != 0) {
- gObjectList[objectIndex].unk_01C[0] = (f32) ((f64) xOrientation * 200.0);
- func_80086FD4(objectIndex);
- }
- break;
- case 2:
- if (f32_step_towards(gObjectList[objectIndex].offset, gObjectList[objectIndex].unk_01C[0], 4.0f) != 0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 3:
- if (func_80073E18(objectIndex, (u16 *) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x00008000) != 0) {
- func_800726CC(objectIndex, 3);
- func_80086FD4(objectIndex);
- }
- break;
- case 5:
- if (func_80073E18(objectIndex, (u16 *) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x0000C000) != 0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 6:
- if (f32_step_down_towards(&gObjectList[objectIndex].offset[2], -100.0f, 2.0f) != 0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 7:
- if (func_80073E18(objectIndex, (u16 *) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x00004000) != 0) {
- func_80086FD4(objectIndex);
- func_800726CC(objectIndex, 3);
- }
- break;
- case 9:
- if (func_80073E18(objectIndex, (u16 *) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x00010000) != 0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 10:
- if (f32_step_towards(gObjectList[objectIndex].offset, 0.0f, 4.0f) != 0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 11:
- if (func_80073E18(objectIndex, (u16 *) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x00010000) != 0) {
- func_80086FD4(objectIndex);
- func_800726CC(objectIndex, 3);
- }
- break;
- case 13:
- if (func_80073E18(objectIndex, (u16 *) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x00014000) != 0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 14:
- if (f32_step_up_towards(&gObjectList[objectIndex].offset[2], 0.0f, 2.0f) != 0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 15:
- if (func_80073E18(objectIndex, (u16 *) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x0000C000) != 0) {
- func_80086FD4(objectIndex);
- func_800726CC(objectIndex, 3);
- }
- break;
- case 17:
- func_8008701C(objectIndex, 1);
- break;
- case 0:
- default:
- break;
+ case 1:
+ if (func_80073E18(objectIndex, (u16*) &gObjectList[objectIndex].orientation[1], 0x0800U, 0x00008000) != 0) {
+ gObjectList[objectIndex].unk_01C[0] = (f32) ((f64) xOrientation * 200.0);
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 2:
+ if (f32_step_towards(gObjectList[objectIndex].offset, gObjectList[objectIndex].unk_01C[0], 4.0f) != 0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 3:
+ if (func_80073E18(objectIndex, (u16*) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x00008000) != 0) {
+ func_800726CC(objectIndex, 3);
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 5:
+ if (func_80073E18(objectIndex, (u16*) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x0000C000) != 0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 6:
+ if (f32_step_down_towards(&gObjectList[objectIndex].offset[2], -100.0f, 2.0f) != 0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 7:
+ if (func_80073E18(objectIndex, (u16*) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x00004000) != 0) {
+ func_80086FD4(objectIndex);
+ func_800726CC(objectIndex, 3);
+ }
+ break;
+ case 9:
+ if (func_80073E18(objectIndex, (u16*) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x00010000) != 0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 10:
+ if (f32_step_towards(gObjectList[objectIndex].offset, 0.0f, 4.0f) != 0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 11:
+ if (func_80073E18(objectIndex, (u16*) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x00010000) != 0) {
+ func_80086FD4(objectIndex);
+ func_800726CC(objectIndex, 3);
+ }
+ break;
+ case 13:
+ if (func_80073E18(objectIndex, (u16*) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x00014000) != 0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 14:
+ if (f32_step_up_towards(&gObjectList[objectIndex].offset[2], 0.0f, 2.0f) != 0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 15:
+ if (func_80073E18(objectIndex, (u16*) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x0000C000) != 0) {
+ func_80086FD4(objectIndex);
+ func_800726CC(objectIndex, 3);
+ }
+ break;
+ case 17:
+ func_8008701C(objectIndex, 1);
+ break;
+ case 0:
+ default:
+ break;
}
}
void func_8007F280(s32 objectIndex) {
switch (gObjectList[objectIndex].unk_0AE) {
- case 1:
- if (func_80073E18(objectIndex, (u16 *) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x00010000) != 0) {
- gObjectList[objectIndex].unk_01C[0] = (f32) ((f64) xOrientation * -200.0);
- func_80086FD4(objectIndex);
- }
- break;
- case 2:
- if (f32_step_towards(gObjectList[objectIndex].offset, gObjectList[objectIndex].unk_01C[0], 4.0f) != 0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 3:
- if (func_80073E18(objectIndex, (u16 *) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x00010000) != 0) {
- func_800726CC(objectIndex, 3);
- func_80086FD4(objectIndex);
- }
- break;
- case 5:
- if (func_80073E18(objectIndex, (u16 *) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x00004000) != 0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 6:
- if (f32_step_up_towards(&gObjectList[objectIndex].offset[2], 100.0f, 2.0f) != 0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 7:
- if (func_80073E18(objectIndex, (u16 *) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x0000C000) != 0) {
- func_80086FD4(objectIndex);
- func_800726CC(objectIndex, 3);
- }
- break;
- case 9:
- if (func_80073E18(objectIndex, (u16 *) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x00008000) != 0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 10:
- if (f32_step_towards(gObjectList[objectIndex].offset, 0.0f, 4.0f) != 0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 11:
- if (func_80073E18(objectIndex, (u16 *) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x00008000) != 0) {
- func_80086FD4(objectIndex);
- func_800726CC(objectIndex, 3);
- }
- break;
- case 13:
- if (func_80073E18(objectIndex, (u16 *) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x0000C000) != 0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 14:
- if (f32_step_down_towards(&gObjectList[objectIndex].offset[2], 0.0f, 2.0f) != 0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 15:
- if (func_80073E18(objectIndex, (u16 *) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x00014000) != 0) {
- func_80086FD4(objectIndex);
- func_800726CC(objectIndex, 3);
- }
- break;
- case 17:
- func_8008701C(objectIndex, 1);
- break;
- case 0:
- default:
- break;
+ case 1:
+ if (func_80073E18(objectIndex, (u16*) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x00010000) != 0) {
+ gObjectList[objectIndex].unk_01C[0] = (f32) ((f64) xOrientation * -200.0);
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 2:
+ if (f32_step_towards(gObjectList[objectIndex].offset, gObjectList[objectIndex].unk_01C[0], 4.0f) != 0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 3:
+ if (func_80073E18(objectIndex, (u16*) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x00010000) != 0) {
+ func_800726CC(objectIndex, 3);
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 5:
+ if (func_80073E18(objectIndex, (u16*) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x00004000) != 0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 6:
+ if (f32_step_up_towards(&gObjectList[objectIndex].offset[2], 100.0f, 2.0f) != 0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 7:
+ if (func_80073E18(objectIndex, (u16*) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x0000C000) != 0) {
+ func_80086FD4(objectIndex);
+ func_800726CC(objectIndex, 3);
+ }
+ break;
+ case 9:
+ if (func_80073E18(objectIndex, (u16*) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x00008000) != 0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 10:
+ if (f32_step_towards(gObjectList[objectIndex].offset, 0.0f, 4.0f) != 0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 11:
+ if (func_80073E18(objectIndex, (u16*) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x00008000) != 0) {
+ func_80086FD4(objectIndex);
+ func_800726CC(objectIndex, 3);
+ }
+ break;
+ case 13:
+ if (func_80073E18(objectIndex, (u16*) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x0000C000) != 0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 14:
+ if (f32_step_down_towards(&gObjectList[objectIndex].offset[2], 0.0f, 2.0f) != 0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 15:
+ if (func_80073E18(objectIndex, (u16*) &gObjectList[objectIndex].orientation[1], 0x0400U, 0x00014000) != 0) {
+ func_80086FD4(objectIndex);
+ func_800726CC(objectIndex, 3);
+ }
+ break;
+ case 17:
+ func_8008701C(objectIndex, 1);
+ break;
+ case 0:
+ default:
+ break;
}
}
void func_8007F544(s32 objectIndex) {
- switch (gObjectList[objectIndex].unk_0DD) { /* irregular */
- case 1:
- func_8007EFBC(objectIndex);
- break;
- case 2:
- func_8007F280(objectIndex);
- break;
+ switch (gObjectList[objectIndex].unk_0DD) { /* irregular */
+ case 1:
+ func_8007EFBC(objectIndex);
+ break;
+ case 2:
+ func_8007F280(objectIndex);
+ break;
}
}
void func_8007F5A8(s32 objectIndex) {
- switch (gObjectList[objectIndex].state) { /* irregular */
- case 0:
- break;
- case 1:
- func_8007EE5C(objectIndex);
- break;
- case 3:
- func_80072568(objectIndex, 0x00000032);
- break;
- case 4:
- func_80086FD4(objectIndex);
- func_80072488(objectIndex);
- break;
+ switch (gObjectList[objectIndex].state) { /* irregular */
+ case 0:
+ break;
+ case 1:
+ func_8007EE5C(objectIndex);
+ break;
+ case 3:
+ func_80072568(objectIndex, 0x00000032);
+ break;
+ case 4:
+ func_80086FD4(objectIndex);
+ func_80072488(objectIndex);
+ break;
}
func_8007E63C(objectIndex);
func_8007F544(objectIndex);
@@ -5560,7 +5998,7 @@ void func_8007F5A8(s32 objectIndex) {
}
void func_8007F660(s32 objectIndex, s32 arg1, s32 arg2) {
- Object *object;
+ Object* object;
func_800722A4(objectIndex, 8);
func_80086E70(objectIndex);
@@ -5571,7 +6009,7 @@ void func_8007F660(s32 objectIndex, s32 arg1, s32 arg2) {
}
void func_8007F6C4(s32 objectIndex, s32 playerId) {
- Player *player;
+ Player* player;
player = &gPlayerOne[playerId];
func_800722A4(objectIndex, 8);
@@ -5612,16 +6050,16 @@ s32 func_8007F75C(s32 playerId) {
}
void func_8007F8D8(void) {
- Player *player;
+ Player* player;
s32 objectIndex;
s32 var_s0;
s32 someIndex;
s32 var_s4;
- Object *object;
+ Object* object;
player = gPlayerOne;
var_s4 = 1;
- for (someIndex = 0; someIndex < gNumActiveThwomps; someIndex++){
+ for (someIndex = 0; someIndex < gNumActiveThwomps; someIndex++) {
objectIndex = indexObjectList1[someIndex];
object = &gObjectList[objectIndex];
if (object->unk_0D5 == 3) {
@@ -5633,18 +6071,21 @@ void func_8007F8D8(void) {
}
}
if (var_s4 != 0) {
- for (var_s0 = 0; var_s0 < 4; var_s0++, player++){
+ for (var_s0 = 0; var_s0 < 4; var_s0++, player++) {
if ((player->type & PLAYER_EXISTS) && !(player->type & PLAYER_KART_AI)) {
- if (func_8007F75C(var_s0) != 0) break;
+ if (func_8007F75C(var_s0) != 0) {
+ break;
+ }
}
}
}
}
void func_8007FA08(s32 objectIndex) {
- Object *object;
+ Object* object;
- init_texture_object(objectIndex, d_course_bowsers_castle_thwomp_tlut, (u8*) d_course_bowsers_castle_thwomp_faces, 0x10U, (u16) 0x00000040);
+ init_texture_object(objectIndex, d_course_bowsers_castle_thwomp_tlut, (u8*) d_course_bowsers_castle_thwomp_faces,
+ 0x10U, (u16) 0x00000040);
object = &gObjectList[objectIndex];
object->model = d_course_bowsers_castle_dl_thwomp;
object->boundingBoxSize = 0x000C;
@@ -5672,105 +6113,106 @@ void func_8007FA08(s32 objectIndex) {
void func_8007FB48(s32 objectIndex) {
s32 var_v0;
UNUSED s32 stackPadding;
- Player *player;
+ Player* player;
player = &gPlayerOne[gObjectList[objectIndex].unk_0D1];
switch (gObjectList[objectIndex].unk_0AE) {
- case 1:
- gObjectList[objectIndex].unk_0B0 = 0x00A0;
- gObjectList[objectIndex].offset[0] = 0.0f;
- gObjectList[objectIndex].offset[2] = 0.0f;
- gObjectList[objectIndex].velocity[2] = 0.0f;
- func_80086FD4(objectIndex);
- break;
- case 2:
- gObjectList[objectIndex].velocity[0] = player->unk_094 * xOrientation * 1.25;
- if (gObjectList[objectIndex].unk_048 >= gObjectList[objectIndex].unk_0B0) {
- if (gObjectList[objectIndex].unk_0B0 == gObjectList[objectIndex].unk_048) {
- if (D_8018D400 & 1) {
+ case 1:
+ gObjectList[objectIndex].unk_0B0 = 0x00A0;
+ gObjectList[objectIndex].offset[0] = 0.0f;
+ gObjectList[objectIndex].offset[2] = 0.0f;
+ gObjectList[objectIndex].velocity[2] = 0.0f;
+ func_80086FD4(objectIndex);
+ break;
+ case 2:
+ gObjectList[objectIndex].velocity[0] = player->unk_094 * xOrientation * 1.25;
+ if (gObjectList[objectIndex].unk_048 >= gObjectList[objectIndex].unk_0B0) {
+ if (gObjectList[objectIndex].unk_0B0 == gObjectList[objectIndex].unk_048) {
+ if (D_8018D400 & 1) {
+ gObjectList[objectIndex].velocity[2] = 1.5f;
+ } else {
+ gObjectList[objectIndex].velocity[2] = -1.5f;
+ }
+ }
+ if (gObjectList[objectIndex].velocity[2] >= 0.0) {
+ if (gObjectList[objectIndex].offset[2] >= 40.0) {
+ gObjectList[objectIndex].velocity[2] = -1.5f;
+ }
+ } else if ((f64) gObjectList[objectIndex].offset[2] <= -40.0) {
gObjectList[objectIndex].velocity[2] = 1.5f;
- } else {
- gObjectList[objectIndex].velocity[2] = -1.5f;
}
}
- if (gObjectList[objectIndex].velocity[2] >= 0.0) {
- if (gObjectList[objectIndex].offset[2] >= 40.0) {
- gObjectList[objectIndex].velocity[2] = -1.5f;
+ 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) {
+ gObjectList[objectIndex].itemDisplay = 1;
}
- } else if ((f64) gObjectList[objectIndex].offset[2] <= -40.0) {
- gObjectList[objectIndex].velocity[2] = 1.5f;
- }
- }
- 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) {
- gObjectList[objectIndex].itemDisplay = 1;
}
- }
- var_v0 = 0;
- if (gIsMirrorMode != 0) {
- if (gObjectList[objectIndex].offset[0] <= -1000.0) {
+ var_v0 = 0;
+ if (gIsMirrorMode != 0) {
+ if (gObjectList[objectIndex].offset[0] <= -1000.0) {
+ var_v0 = 1;
+ }
+ } else if (gObjectList[objectIndex].offset[0] >= 1000.0) {
var_v0 = 1;
}
- } else if (gObjectList[objectIndex].offset[0] >= 1000.0) {
- var_v0 = 1;
- }
- gObjectList[objectIndex].unk_0B0--;
- if ((gObjectList[objectIndex].unk_0B0 == 0) || (var_v0 != 0)) {
- gObjectList[objectIndex].unk_034 = 0.0f;
- func_800726CC(objectIndex, 3);
- func_80086FD4(objectIndex);
- }
- break;
- case 4:
- 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;
- case 5:
- gObjectList[objectIndex].orientation[1] = func_800417B4(gObjectList[objectIndex].orientation[1], gObjectList[objectIndex].direction_angle[1]);
- if (gObjectList[objectIndex].orientation[1] == gObjectList[objectIndex].direction_angle[1]) {
- func_800722CC(objectIndex, 8);
- func_80086FD4(objectIndex);
- gObjectList[objectIndex].itemDisplay = 0;
- }
- break;
- case 0:
- case 3:
- default:
- break;
+ gObjectList[objectIndex].unk_0B0--;
+ if ((gObjectList[objectIndex].unk_0B0 == 0) || (var_v0 != 0)) {
+ gObjectList[objectIndex].unk_034 = 0.0f;
+ func_800726CC(objectIndex, 3);
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 4:
+ 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;
+ case 5:
+ gObjectList[objectIndex].orientation[1] =
+ func_800417B4(gObjectList[objectIndex].orientation[1], gObjectList[objectIndex].direction_angle[1]);
+ if (gObjectList[objectIndex].orientation[1] == gObjectList[objectIndex].direction_angle[1]) {
+ func_800722CC(objectIndex, 8);
+ func_80086FD4(objectIndex);
+ gObjectList[objectIndex].itemDisplay = 0;
+ }
+ break;
+ case 0:
+ case 3:
+ default:
+ break;
}
}
void func_8007FEA4(s32 objectIndex) {
- Object *object;
+ Object* object;
object = &gObjectList[objectIndex];
switch (object->unk_0AE) {
- case 1:
- if (f32_step_towards(&object->offset[0], object->unk_01C[0], 5.0f) != 0) {
- func_800726CC(objectIndex, 3);
- func_80086FD4(objectIndex);
+ case 1:
+ if (f32_step_towards(&object->offset[0], object->unk_01C[0], 5.0f) != 0) {
+ func_800726CC(objectIndex, 3);
+ func_80086FD4(objectIndex);
+ break;
+ }
+ case 0:
+ case 2:
+ break;
+ case 3:
+ if (f32_step_towards(&object->offset[0], 0.0f, 5.0f) != 0) {
+ func_80086FD4(objectIndex);
+ func_800722CC(objectIndex, 8);
+ }
break;
- }
- case 0:
- case 2:
- break;
- case 3:
- if (f32_step_towards(&object->offset[0], 0.0f, 5.0f) != 0) {
- func_80086FD4(objectIndex);
- func_800722CC(objectIndex, 8);
- }
- break;
}
}
-void func_8007FF5C(s32 objectIndex)
-{
- switch(gObjectList[objectIndex].unk_0DD) {
+void func_8007FF5C(s32 objectIndex) {
+ switch (gObjectList[objectIndex].unk_0DD) {
case 1:
func_8007FB48(objectIndex);
break;
@@ -5781,7 +6223,7 @@ void func_8007FF5C(s32 objectIndex)
}
void func_8007FFC0(s32 objectIndex) {
- switch (gObjectList[objectIndex].state) { /* irregular */
+ switch (gObjectList[objectIndex].state) { /* irregular */
case 0:
break;
case 1:
@@ -5802,9 +6244,10 @@ void func_8007FFC0(s32 objectIndex) {
}
void func_80080078(s32 objectIndex) {
- Object *object;
+ Object* object;
- init_texture_object(objectIndex, d_course_bowsers_castle_thwomp_tlut, (u8*) d_course_bowsers_castle_thwomp_faces, 0x10U, (u16) 0x00000040);
+ init_texture_object(objectIndex, d_course_bowsers_castle_thwomp_tlut, (u8*) d_course_bowsers_castle_thwomp_faces,
+ 0x10U, (u16) 0x00000040);
object = &gObjectList[objectIndex];
object->model = d_course_bowsers_castle_dl_thwomp;
object->boundingBoxSize = 0x000C;
@@ -5822,44 +6265,44 @@ void func_80080078(s32 objectIndex) {
} else {
set_obj_orientation(objectIndex, 0U, 0xC000U, 0U);
}
- switch (object->primAlpha) { /* irregular */
- case 0:
- object->unk_050 = 2;
- break;
- case 1:
- object->unk_050 = 0x0000003C;
- break;
- case 2:
- object->unk_050 = 0x00000078;
- break;
- case 3:
- object->unk_050 = 0x000000B4;
- break;
+ switch (object->primAlpha) { /* irregular */
+ case 0:
+ object->unk_050 = 2;
+ break;
+ case 1:
+ object->unk_050 = 0x0000003C;
+ break;
+ case 2:
+ object->unk_050 = 0x00000078;
+ break;
+ case 3:
+ object->unk_050 = 0x000000B4;
+ break;
}
func_800724DC(objectIndex);
func_80072488(objectIndex);
}
void func_800801FC(s32 objectIndex) {
- Object *object;
+ Object* object;
object = &gObjectList[objectIndex];
switch (object->state) {
- case 0:
- break;
- case 1:
- func_80080078(objectIndex);
- break;
- case 2:
- func_8007278C(objectIndex, object->unk_050);
- break;
- case 3:
- func_80072568(objectIndex, 0x00000032);
- break;
- case 4:
- object->unk_050 = 0x0000003C;
- func_800726CC(objectIndex, 2);
- break;
+ case 0:
+ break;
+ case 1:
+ func_80080078(objectIndex);
+ break;
+ case 2:
+ func_8007278C(objectIndex, object->unk_050);
+ break;
+ case 3:
+ func_80072568(objectIndex, 0x00000032);
+ break;
+ case 4:
+ object->unk_050 = 0x0000003C;
+ func_800726CC(objectIndex, 2);
+ break;
}
func_8007E63C(objectIndex);
object_calculate_new_pos_offset(objectIndex);
@@ -5867,11 +6310,12 @@ void func_800801FC(s32 objectIndex) {
}
void func_800802C0(s32 objectIndex) {
- Object *object;
+ Object* object;
object = &gObjectList[objectIndex];
object->unk_0D8 = 0;
- init_texture_object(objectIndex, d_course_bowsers_castle_thwomp_tlut, (u8*) d_course_bowsers_castle_thwomp_faces, 0x10U, (u16) 0x00000040);
+ init_texture_object(objectIndex, d_course_bowsers_castle_thwomp_tlut, (u8*) d_course_bowsers_castle_thwomp_faces,
+ 0x10U, (u16) 0x00000040);
object->model = d_course_bowsers_castle_dl_thwomp;
object->itemDisplay = 0;
object->boundingBoxSize = 0x000C;
@@ -5898,37 +6342,39 @@ void func_800802C0(s32 objectIndex) {
void func_80080408(s32 objectIndex) {
switch (gObjectList[objectIndex].state) {
- case 0:
- break;
- case 1:
- func_800802C0(objectIndex);
- break;
- case 2:
- func_8008A6DC(objectIndex, 100.0f);
- 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);
- }
- break;
- case 3:
- if (func_800730BC(objectIndex, 3, 5, 1, 6, 6) != 0) {
- gObjectList[objectIndex].itemDisplay = 0;
- }
- break;
- case 4:
- if (func_8007278C(objectIndex, 0x0000012C) != 0) {
- func_800726CC(objectIndex, 2);
- }
- break;
+ case 0:
+ break;
+ case 1:
+ func_800802C0(objectIndex);
+ break;
+ case 2:
+ func_8008A6DC(objectIndex, 100.0f);
+ 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);
+ }
+ break;
+ case 3:
+ if (func_800730BC(objectIndex, 3, 5, 1, 6, 6) != 0) {
+ gObjectList[objectIndex].itemDisplay = 0;
+ }
+ break;
+ case 4:
+ if (func_8007278C(objectIndex, 0x0000012C) != 0) {
+ func_800726CC(objectIndex, 2);
+ }
+ break;
}
object_calculate_new_pos_offset(objectIndex);
func_80073514(objectIndex);
}
void func_80080524(s32 objectIndex) {
- Object *object;
+ Object* object;
- init_texture_object(objectIndex, d_course_bowsers_castle_thwomp_tlut, (u8*) d_course_bowsers_castle_thwomp_faces, 0x10U, (u16) 0x00000040);
+ init_texture_object(objectIndex, d_course_bowsers_castle_thwomp_tlut, (u8*) d_course_bowsers_castle_thwomp_faces,
+ 0x10U, (u16) 0x00000040);
object = &gObjectList[objectIndex];
object->model = d_course_bowsers_castle_dl_thwomp;
object->boundingBoxSize = 0x000C;
@@ -5948,15 +6394,15 @@ void func_80080524(s32 objectIndex) {
} else {
set_obj_orientation(objectIndex, 0U, 0x4000U, 0U);
}
- switch (object->primAlpha) { /* irregular */
- case 0:
- object->unk_0DD = 2;
- object->velocity[2] = -1.0f;
- break;
- case 1:
- object->unk_0DD = 2;
- object->velocity[2] = -1.5f;
- break;
+ switch (object->primAlpha) { /* irregular */
+ case 0:
+ object->unk_0DD = 2;
+ object->velocity[2] = -1.0f;
+ break;
+ case 1:
+ object->unk_0DD = 2;
+ object->velocity[2] = -1.5f;
+ break;
}
func_800722A4(objectIndex, 0x00000080);
func_80072488(objectIndex);
@@ -5964,64 +6410,68 @@ void func_80080524(s32 objectIndex) {
void func_800806BC(s32 objectIndex) {
switch (gObjectList[objectIndex].unk_0AE) {
- case 0:
- break;
- case 1:
- 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].offset[2], 0.0f, gObjectList[objectIndex].velocity[2]) != 0) {
- gObjectList[objectIndex].velocity[2] = -gObjectList[objectIndex].velocity[2];
- func_8008701C(objectIndex, 1);
- }
- break;
+ case 0:
+ break;
+ case 1:
+ 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].offset[2], 0.0f, gObjectList[objectIndex].velocity[2]) !=
+ 0) {
+ gObjectList[objectIndex].velocity[2] = -gObjectList[objectIndex].velocity[2];
+ func_8008701C(objectIndex, 1);
+ }
+ break;
}
}
void func_8008078C(s32 objectIndex) {
switch (gObjectList[objectIndex].unk_0AE) {
- case 0:
- break;
- case 1:
- 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].offset[2], 0.0f, gObjectList[objectIndex].velocity[2]) != 0) {
- gObjectList[objectIndex].velocity[2] = -gObjectList[objectIndex].velocity[2];
- func_8008701C(objectIndex, 1);
- }
- break;
+ case 0:
+ break;
+ case 1:
+ 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].offset[2], 0.0f, gObjectList[objectIndex].velocity[2]) !=
+ 0) {
+ gObjectList[objectIndex].velocity[2] = -gObjectList[objectIndex].velocity[2];
+ func_8008701C(objectIndex, 1);
+ }
+ break;
}
}
void func_8008085C(s32 objectIndex) {
switch (gObjectList[objectIndex].unk_0DD) {
- case 1:
- func_800806BC(objectIndex);
- break;
- case 2:
- func_8008078C(objectIndex);
- break;
+ case 1:
+ func_800806BC(objectIndex);
+ break;
+ case 2:
+ func_8008078C(objectIndex);
+ break;
}
object_calculate_new_pos_offset(objectIndex);
}
void func_800808CC(s32 objectIndex) {
- switch (gObjectList[objectIndex].state) { /* irregular */
- case 0:
- break;
- case 1:
- func_80080524(objectIndex);
- break;
- case 2:
- func_800730BC(objectIndex, 3, 5, 1, 6, -1);
- break;
+ switch (gObjectList[objectIndex].state) { /* irregular */
+ case 0:
+ break;
+ case 1:
+ func_80080524(objectIndex);
+ break;
+ case 2:
+ func_800730BC(objectIndex, 3, 5, 1, 6, -1);
+ break;
}
if (gObjectList[objectIndex].state >= 2) {
func_8007E63C(objectIndex);
@@ -6029,41 +6479,46 @@ void func_800808CC(s32 objectIndex) {
func_80073514(objectIndex);
if (gGamestate != 9) {
if ((D_8018D40C == 0) && (gObjectList[objectIndex].state == 2)) {
- func_800C98B8(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity, SOUND_ARG_LOAD(0x19, 0x03, 0x60, 0x45));
+ func_800C98B8(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity,
+ SOUND_ARG_LOAD(0x19, 0x03, 0x60, 0x45));
}
} else if ((gCutsceneShotTimer < 0xBF) && (((s16) gCutsceneShotTimer % 88) == 0x0000001E)) {
- func_800C98B8(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity, SOUND_ARG_LOAD(0x19, 0x03, 0x60, 0x45));
+ func_800C98B8(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity,
+ SOUND_ARG_LOAD(0x19, 0x03, 0x60, 0x45));
}
}
}
-void func_80080A14(s32 objectIndex, Player *player) {
+void func_80080A14(s32 objectIndex, Player* player) {
if (is_within_horizontal_distance_of_player(objectIndex, player, 12.0f) != 0) {
player->tyres[FRONT_LEFT].unk_14 |= 3;
}
}
void func_80080A4C(s32 objectIndex, s32 cameraPlayerId) {
- Camera *camera = &camera1[cameraPlayerId];
- Player *player = &gPlayerOne[cameraPlayerId];
+ Camera* camera = &camera1[cameraPlayerId];
+ Player* player = &gPlayerOne[cameraPlayerId];
if (gScreenModeSelection != SCREEN_MODE_3P_4P_SPLITSCREEN) {
- if ((func_80072320(objectIndex, 0x00000010) != 0) && (is_within_horizontal_distance_of_player(objectIndex, player, 500.0f) != false)) {
+ if ((func_80072320(objectIndex, 0x00000010) != 0) &&
+ (is_within_horizontal_distance_of_player(objectIndex, player, 500.0f) != false)) {
func_8001CA10(camera);
- func_800C98B8(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x0F));
+ func_800C98B8(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity,
+ SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x0F));
}
}
}
void func_80080B28(s32 objectIndex, s32 playerId) {
f32 temp_f0;
- Player *temp_s0;
+ Player* temp_s0;
temp_s0 = &gPlayerOne[playerId];
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)) {
+ if ((temp_f0 <= 9.0) && !(temp_s0->effects & 0x04000000) &&
+ (has_collided_horizontally_with_player(objectIndex, temp_s0) != 0)) {
if ((temp_s0->type & 0x8000) && !(temp_s0->type & 0x100)) {
if (!(temp_s0->effects & 0x200)) {
func_80089474(objectIndex, playerId, 1.4f, 1.1f, SOUND_ARG_LOAD(0x19, 0x00, 0xA0, 0x4C));
@@ -6081,7 +6536,9 @@ void func_80080B28(s32 objectIndex, s32 playerId) {
func_800726CC(objectIndex, 0x000000C8);
}
}
- } 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)) {
+ } 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_flag_status_active(objectIndex, 0x04000000) != 0) {
func_80072180();
@@ -6100,7 +6557,7 @@ void func_80080B28(s32 objectIndex, s32 playerId) {
}
void func_80080DE4(s32 arg0) {
- Player *player;
+ Player* player;
s32 var_v1;
player = gPlayerOne;
@@ -6119,7 +6576,7 @@ void func_80080E8C(s32 objectIndex1, s32 objectIndex2, s32 arg2) {
u16 anAngle;
f32 thing0;
f32 thing1;
- f32 *temp_v1;
+ f32* temp_v1;
init_object(objectIndex1, arg2);
temp_v1 = D_800E594C[arg2];
@@ -6144,13 +6601,15 @@ void func_80080FEC(s32 arg0) {
for (i = 0; i < 6; i++) {
objectIndex = add_unused_obj_index(gObjectParticle2, &gNextFreeObjectParticle2, gObjectParticle2_SIZE);
- if (objectIndex == NULL_OBJECT_ID) break;
+ if (objectIndex == NULL_OBJECT_ID) {
+ break;
+ }
func_80080E8C(objectIndex, arg0, i);
}
}
void func_80081080(s32 objectIndex) {
- Object *object;
+ Object* object;
object = &gObjectList[objectIndex];
object->activeTexture = D_8018D490;
@@ -6167,34 +6626,33 @@ void func_80081080(s32 objectIndex) {
}
void func_800810F4(s32 objectIndex) {
- switch (gObjectList[objectIndex].state) { /* irregular */
- case 0:
- break;
- case 1:
- func_80081080(objectIndex);
- break;
- case 2:
- 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].primAlpha, 0x000000FF, 0, 4, 0, 0) != 0) {
- func_80072488(objectIndex);
- }
- break;
- case 3:
- func_80072428(objectIndex);
- break;
+ switch (gObjectList[objectIndex].state) { /* irregular */
+ case 0:
+ break;
+ case 1:
+ func_80081080(objectIndex);
+ break;
+ case 2:
+ 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].primAlpha, 0x000000FF, 0, 4, 0, 0) != 0) {
+ func_80072488(objectIndex);
+ }
+ break;
+ case 3:
+ func_80072428(objectIndex);
+ break;
}
object_calculate_new_pos_offset(objectIndex);
}
// update twomp I think
void func_80081208(void) {
-
}
void func_80081210(void) {
- Player *player;
+ Player* player;
s32 objectIndex;
s32 var_s2_3;
s32 var_s4;
@@ -6211,24 +6669,24 @@ void func_80081210(void) {
objectIndex = indexObjectList1[var_s4];
if (gObjectList[objectIndex].state != 0) {
switch (gObjectList[objectIndex].unk_0D5) {
- case 1:
- func_8007ED6C(objectIndex);
- break;
- case 2:
- func_8007F5A8(objectIndex);
- break;
- case 3:
- func_8007FFC0(objectIndex);
- break;
- case 4:
- func_800801FC(objectIndex);
- break;
- case 6:
- func_80080408(objectIndex);
- break;
- case 5:
- func_800808CC(objectIndex);
- break;
+ case 1:
+ func_8007ED6C(objectIndex);
+ break;
+ case 2:
+ func_8007F5A8(objectIndex);
+ break;
+ case 3:
+ func_8007FFC0(objectIndex);
+ break;
+ case 4:
+ func_800801FC(objectIndex);
+ break;
+ case 6:
+ func_80080408(objectIndex);
+ break;
+ case 5:
+ func_800808CC(objectIndex);
+ break;
}
}
}
@@ -6252,17 +6710,25 @@ void func_80081210(void) {
func_8007542C(3);
for (var_s4 = 0; var_s4 < gNumActiveThwomps; var_s4++) {
objectIndex = indexObjectList1[var_s4];
- if (func_80072320(objectIndex, 0x00000020) == 0) continue;
+ if (func_80072320(objectIndex, 0x00000020) == 0) {
+ continue;
+ }
func_800722CC(objectIndex, 0x00000020);
func_80080FEC(objectIndex);
}
for (var_s4 = 0; var_s4 < gObjectParticle2_SIZE; var_s4++) {
objectIndex = gObjectParticle2[var_s4];
- if (objectIndex == DELETED_OBJECT_ID) continue;
- if (gObjectList[objectIndex].state == 0) continue;
+ if (objectIndex == DELETED_OBJECT_ID) {
+ continue;
+ }
+ if (gObjectList[objectIndex].state == 0) {
+ continue;
+ }
func_800810F4(objectIndex);
- if (gObjectList[objectIndex].state != 0) continue;
+ if (gObjectList[objectIndex].state != 0) {
+ continue;
+ }
delete_object_wrapper(&gObjectParticle2[var_s4]);
}
}
@@ -6284,9 +6750,11 @@ void func_8008153C(s32 objectIndex) {
for (var_s1 = 0; var_s1 < gObjectParticle2_SIZE; var_s1++) {
loopObjectIndex = gObjectParticle2[var_s1];
- if (gObjectList[loopObjectIndex].state != 0) continue;
+ if (gObjectList[loopObjectIndex].state != 0) {
+ continue;
+ }
- u8 *mole = (u8 *) LOAD_ASSET(d_course_moo_moo_farm_mole_dirt);
+ u8* mole = (u8*) LOAD_ASSET(d_course_moo_moo_farm_mole_dirt);
init_object(loopObjectIndex, 0);
gObjectList[loopObjectIndex].activeTLUT = d_course_moo_moo_farm_mole_dirt;
@@ -6307,24 +6775,25 @@ void func_8008153C(s32 objectIndex) {
void func_80081790(s32 objectIndex) {
switch (gObjectList[objectIndex].state) {
- case 0:
- break; /* irregular */
- case 1:
- if (func_80087E08(objectIndex, gObjectList[objectIndex].velocity[1], 0.3f, gObjectList[objectIndex].unk_034, gObjectList[objectIndex].orientation[1], 0x00000032) != 0) {
- func_80072488(objectIndex);
- }
- object_calculate_new_pos_offset(objectIndex);
- break;
- case 2:
- func_80072428(objectIndex);
- func_80086F60(objectIndex);
- break;
+ case 0:
+ break; /* irregular */
+ case 1:
+ if (func_80087E08(objectIndex, gObjectList[objectIndex].velocity[1], 0.3f, gObjectList[objectIndex].unk_034,
+ gObjectList[objectIndex].orientation[1], 0x00000032) != 0) {
+ func_80072488(objectIndex);
+ }
+ object_calculate_new_pos_offset(objectIndex);
+ break;
+ case 2:
+ func_80072428(objectIndex);
+ func_80086F60(objectIndex);
+ break;
}
}
void func_80081848(s32 objectIndex) {
- u8 *mole = (u8 *) LOAD_ASSET(d_course_moo_moo_farm_mole_frames);
- u8 *tlut = (u8 *) LOAD_ASSET(d_course_moo_moo_farm_mole_tlut);
+ u8* mole = (u8*) LOAD_ASSET(d_course_moo_moo_farm_mole_frames);
+ u8* tlut = (u8*) LOAD_ASSET(d_course_moo_moo_farm_mole_tlut);
init_texture_object(objectIndex, d_course_moo_moo_farm_mole_tlut, (u8*) mole, 0x20U, (u16) 0x00000040);
gObjectList[objectIndex].sizeScaling = 0.15f;
gObjectList[objectIndex].itemDisplay = 0;
@@ -6339,112 +6808,112 @@ void func_80081848(s32 objectIndex) {
void func_80081924(s32 objectIndex) {
switch (gObjectList[objectIndex].unk_0AE) {
- case 1:
- if (f32_step_up_towards(&gObjectList[objectIndex].offset[1], 9.0f, 0.7f) != 0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 2:
- func_800871AC(objectIndex, 0x0000000A);
- break;
- case 3:
- if (f32_step_down_towards(&gObjectList[objectIndex].offset[1], 3.0f, 1.0f) != 0) {
- func_80086F60(objectIndex);
- }
- break;
- case 4:
- func_80087D24(objectIndex, 3.6f, 0.25f, 0.0f);
- break;
- case 5:
- func_80086F60(objectIndex);
- break;
- case 10:
- gObjectList[objectIndex].orientation[2] += 0x1000;
- gObjectList[objectIndex].velocity[1] -= 0.184;
- func_8008751C(objectIndex);
- object_add_velocity_offset_xyz(objectIndex);
- if (gObjectList[objectIndex].pos[1] <= -10.0) {
+ case 1:
+ if (f32_step_up_towards(&gObjectList[objectIndex].offset[1], 9.0f, 0.7f) != 0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 2:
+ func_800871AC(objectIndex, 0x0000000A);
+ break;
+ case 3:
+ if (f32_step_down_towards(&gObjectList[objectIndex].offset[1], 3.0f, 1.0f) != 0) {
+ func_80086F60(objectIndex);
+ }
+ break;
+ case 4:
+ func_80087D24(objectIndex, 3.6f, 0.25f, 0.0f);
+ break;
+ case 5:
func_80086F60(objectIndex);
- }
- break;
- case 0:
- default:
- break;
+ break;
+ case 10:
+ gObjectList[objectIndex].orientation[2] += 0x1000;
+ gObjectList[objectIndex].velocity[1] -= 0.184;
+ func_8008751C(objectIndex);
+ object_add_velocity_offset_xyz(objectIndex);
+ if (gObjectList[objectIndex].pos[1] <= -10.0) {
+ func_80086F60(objectIndex);
+ }
+ break;
+ case 0:
+ default:
+ break;
}
}
void func_80081A88(s32 objectIndex) {
- switch (gObjectList[objectIndex].unk_0DD) { /* irregular */
- case 0:
- break;
- case 1:
- func_8008B724(objectIndex);
- break;
- case 2:
- func_80081924(objectIndex);
- break;
+ switch (gObjectList[objectIndex].unk_0DD) { /* irregular */
+ case 0:
+ break;
+ case 1:
+ func_8008B724(objectIndex);
+ break;
+ case 2:
+ func_80081924(objectIndex);
+ break;
}
object_calculate_new_pos_offset(objectIndex);
}
void func_80081AFC(s32 objectIndex, s32 arg1) {
- s8 *sp2C;
- Object *object;
+ s8* sp2C;
+ Object* object;
object = &gObjectList[objectIndex];
- switch (object->state) { /* irregular */
- case 0x1:
- func_80081848(objectIndex);
- break;
- case 0x2:
- if (object->unk_04C == 0) {
- func_80086EAC(objectIndex, 2, 1);
- func_80072488(objectIndex);
- set_object_flag_status_true(objectIndex, 0x00000200);
- } else {
- object->unk_04C--;
- }
- break;
- case 0x3:
- if (object->unk_0AE == 0) {
- func_80086EAC(objectIndex, 2, 4);
- func_8008153C(objectIndex);
- func_80072488(objectIndex);
- func_800C98B8(object->pos, object->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x07));
- }
- break;
- case 0x4:
- if (func_80072E54(objectIndex, 1, 6, 1, 2, 0) != 0) {
- func_800726CC(objectIndex, 0x00000064);
- }
- break;
- case 0xA:
- func_80072E54(objectIndex, 1, 6, 1, 0, -1);
- if (object->unk_0AE == 0) {
- func_800726CC(objectIndex, 0x00000064);
- }
- break;
- case 0x64:
- if (object->unk_0AE == 0) {
- set_object_flag_status_false(objectIndex, 0x00000200);
- func_80072428(objectIndex);
- switch (arg1) { /* switch 1; irregular */
- case 1: /* switch 1 */
- sp2C = D_8018D198;
- break;
- case 2: /* switch 1 */
- sp2C = D_8018D1A8;
- break;
- case 3: /* switch 1 */
- sp2C = D_8018D1B8;
- break;
+ switch (object->state) { /* irregular */
+ case 0x1:
+ func_80081848(objectIndex);
+ break;
+ case 0x2:
+ if (object->unk_04C == 0) {
+ func_80086EAC(objectIndex, 2, 1);
+ func_80072488(objectIndex);
+ set_object_flag_status_true(objectIndex, 0x00000200);
+ } else {
+ object->unk_04C--;
}
- sp2C[object->type] = 0;
- }
- break;
- case 0:
- default:
- break;
+ break;
+ case 0x3:
+ if (object->unk_0AE == 0) {
+ func_80086EAC(objectIndex, 2, 4);
+ func_8008153C(objectIndex);
+ func_80072488(objectIndex);
+ func_800C98B8(object->pos, object->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x07));
+ }
+ break;
+ case 0x4:
+ if (func_80072E54(objectIndex, 1, 6, 1, 2, 0) != 0) {
+ func_800726CC(objectIndex, 0x00000064);
+ }
+ break;
+ case 0xA:
+ func_80072E54(objectIndex, 1, 6, 1, 0, -1);
+ if (object->unk_0AE == 0) {
+ func_800726CC(objectIndex, 0x00000064);
+ }
+ break;
+ case 0x64:
+ if (object->unk_0AE == 0) {
+ set_object_flag_status_false(objectIndex, 0x00000200);
+ func_80072428(objectIndex);
+ switch (arg1) { /* switch 1; irregular */
+ case 1: /* switch 1 */
+ sp2C = D_8018D198;
+ break;
+ case 2: /* switch 1 */
+ sp2C = D_8018D1A8;
+ break;
+ case 3: /* switch 1 */
+ sp2C = D_8018D1B8;
+ break;
+ }
+ sp2C[object->type] = 0;
+ }
+ break;
+ case 0:
+ default:
+ break;
}
if (object->state >= 2) {
func_80073514(objectIndex);
@@ -6452,17 +6921,18 @@ void func_80081AFC(s32 objectIndex, s32 arg1) {
}
void func_80081D34(s32 objectIndex) {
- Player *player;
- Camera *var_s4;
+ Player* player;
+ Camera* var_s4;
s32 var_s2;
s32 var_s5;
- Object *object;
+ Object* object;
var_s5 = 0;
player = gPlayerOne;
var_s4 = camera1;
for (var_s2 = 0; var_s2 < D_8018D158; var_s2++, player++, var_s4++) {
- if ((is_obj_flag_status_active(objectIndex, 0x00000200) != 0) && !(player->effects & 0x80000000) && (has_collided_with_player(objectIndex, player) != 0)) {
+ if ((is_obj_flag_status_active(objectIndex, 0x00000200) != 0) && !(player->effects & 0x80000000) &&
+ (has_collided_with_player(objectIndex, player) != 0)) {
if ((player->type & 0x8000) && !(player->type & 0x100)) {
var_s5 = 1;
object = &gObjectList[objectIndex];
@@ -6504,28 +6974,28 @@ void func_80081FF4(s32 objectIndex, s32 arg1) {
s16 var_v1;
s16 offset;
s32 var_a0;
- s8 *var_a2;
+ s8* var_a2;
init_object(objectIndex, 0);
gObjectList[objectIndex].unk_04C = random_int(0x001EU) + 5;
- switch (arg1) { /* irregular */
- case 1:
- var_a2 = D_8018D198;
- moleCount = NUM_GROUP1_MOLES;
- offset = 0;
- break;
- case 2:
- var_a2 = D_8018D1A8;
- moleCount = NUM_GROUP2_MOLES;
- offset = 24;
- // offset = NUM_GROUP1_MOLES;
- break;
- case 3:
- var_a2 = D_8018D1B8;
- moleCount = NUM_GROUP3_MOLES;
- offset = 57;
- // offset = NUM_GROUP1_MOLES + NUM_GROUP2_MOLES;
- break;
+ switch (arg1) { /* irregular */
+ case 1:
+ var_a2 = D_8018D198;
+ moleCount = NUM_GROUP1_MOLES;
+ offset = 0;
+ break;
+ case 2:
+ var_a2 = D_8018D1A8;
+ moleCount = NUM_GROUP2_MOLES;
+ offset = 24;
+ // offset = NUM_GROUP1_MOLES;
+ break;
+ case 3:
+ var_a2 = D_8018D1B8;
+ moleCount = NUM_GROUP3_MOLES;
+ offset = 57;
+ // offset = NUM_GROUP1_MOLES + NUM_GROUP2_MOLES;
+ break;
}
var_v1 = random_int(moleCount);
for (var_a0 = 0; var_a0 < moleCount; var_a0++) {
@@ -6613,8 +7083,8 @@ void func_8008241C(s32 objectIndex, s32 arg1) {
s16 sp20;
gObjectList[objectIndex].unk_0D8 = 1;
- gObjectList[objectIndex].model = (Gfx *) d_course_koopa_troopa_beach_unk4;
- gObjectList[objectIndex].vertex = (Vtx *) d_course_koopa_troopa_beach_unk_data5;
+ gObjectList[objectIndex].model = (Gfx*) d_course_koopa_troopa_beach_unk4;
+ gObjectList[objectIndex].vertex = (Vtx*) d_course_koopa_troopa_beach_unk_data5;
gObjectList[objectIndex].sizeScaling = 0.2f;
gObjectList[objectIndex].unk_0DD = 1;
sp22 = random_int(0x00C8) + -100.0;
@@ -6636,40 +7106,42 @@ void func_8008241C(s32 objectIndex, s32 arg1) {
}
void func_80082714(s32 objectIndex, s32 arg1) {
- switch(gObjectList[objectIndex].state) {
- case 1:
- func_8008241C(objectIndex , arg1);
- break;
- case 0:
- default:
- break;
+ switch (gObjectList[objectIndex].state) {
+ case 1:
+ func_8008241C(objectIndex, arg1);
+ break;
+ case 0:
+ default:
+ break;
}
}
void func_8008275C(s32 objectIndex) {
UNUSED s32 stackPadding;
- switch (gObjectList[objectIndex].unk_0DD) { /* irregular */
- case 1:
- func_8008B78C(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].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;
+ switch (gObjectList[objectIndex].unk_0DD) { /* irregular */
+ case 1:
+ func_8008B78C(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].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 update_seagulls(void) {
- Object *object;
- UNUSED s32 *var_s4;
+ Object* object;
+ UNUSED s32* var_s4;
s32 temp_s0;
s32 var_s3;
@@ -6677,7 +7149,9 @@ void update_seagulls(void) {
temp_s0 = indexObjectList2[var_s3];
object = &gObjectList[temp_s0];
- if (object->state == 0) continue;
+ if (object->state == 0) {
+ continue;
+ }
func_80082714(temp_s0, var_s3);
func_8008275C(temp_s0);
@@ -6716,9 +7190,10 @@ void update_seagulls(void) {
}
void init_ktb_crab(s32 objectIndex) {
- Object *object;
+ Object* object;
- init_texture_object(objectIndex, d_course_koopa_troopa_beach_crab_tlut, d_course_koopa_troopa_beach_crab_frames, 0x40U, (u16) 0x00000040);
+ init_texture_object(objectIndex, d_course_koopa_troopa_beach_crab_tlut,
+ (u8*) d_course_koopa_troopa_beach_crab_frames, 0x40U, (u16) 0x00000040);
object = &gObjectList[objectIndex];
object->sizeScaling = 0.15f;
object->itemDisplay = 0;
@@ -6733,18 +7208,18 @@ void init_ktb_crab(s32 objectIndex) {
}
void func_80082B34(s32 objectIndex, UNUSED s32 unused) {
- switch (gObjectList[objectIndex].state) { /* irregular */
- case 0:
- break;
- case 1:
- init_ktb_crab(objectIndex);
- break;
- case 2:
- func_80072E54(objectIndex, 0, 3, 1, 2, -1);
- break;
- case 3:
- func_80072E54(objectIndex, 4, 6, 1, 2, -1);
- break;
+ switch (gObjectList[objectIndex].state) { /* irregular */
+ case 0:
+ break;
+ case 1:
+ init_ktb_crab(objectIndex);
+ break;
+ case 2:
+ func_80072E54(objectIndex, 0, 3, 1, 2, -1);
+ break;
+ case 3:
+ func_80072E54(objectIndex, 4, 6, 1, 2, -1);
+ break;
}
if (gObjectList[objectIndex].state >= 2) {
func_80073514(objectIndex);
@@ -6753,37 +7228,38 @@ void func_80082B34(s32 objectIndex, UNUSED s32 unused) {
void func_80082C30(s32 objectIndex) {
switch (gObjectList[objectIndex].unk_0AE) {
- case 1:
- if (func_80087A0C(objectIndex, gObjectList[objectIndex].origin_pos[0], gObjectList[objectIndex].unk_01C[0], gObjectList[objectIndex].origin_pos[2], gObjectList[objectIndex].unk_01C[2]) != 0) {
- func_800726CC(objectIndex, 3);
- func_80086FD4(objectIndex);
- }
- break;
- case 2:
- if (func_80087104(objectIndex, 0x003CU) != 0) {
- gObjectList[objectIndex].unk_034 = 0.8f;
- func_800726CC(objectIndex, 2);
- func_80086FD4(objectIndex);
- }
- break;
- case 3:
- if (func_80087954(objectIndex, 0x0000003C) != 0) {
- func_80086FD4(objectIndex);
- func_800726CC(objectIndex, 3);
- }
- break;
- case 4:
- if (func_80087104(objectIndex, 0x003CU) != 0) {
- func_800726CC(objectIndex, 2);
- func_80086FD4(objectIndex);
- }
- break;
- case 5:
- if (func_8008789C(objectIndex, 0x0000003C) != 0) {
- func_800726CC(objectIndex, 3);
- func_8008701C(objectIndex, 2);
- }
- break;
+ case 1:
+ if (func_80087A0C(objectIndex, gObjectList[objectIndex].origin_pos[0], gObjectList[objectIndex].unk_01C[0],
+ gObjectList[objectIndex].origin_pos[2], gObjectList[objectIndex].unk_01C[2]) != 0) {
+ func_800726CC(objectIndex, 3);
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 2:
+ if (func_80087104(objectIndex, 0x003CU) != 0) {
+ gObjectList[objectIndex].unk_034 = 0.8f;
+ func_800726CC(objectIndex, 2);
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 3:
+ if (func_80087954(objectIndex, 0x0000003C) != 0) {
+ func_80086FD4(objectIndex);
+ func_800726CC(objectIndex, 3);
+ }
+ break;
+ case 4:
+ if (func_80087104(objectIndex, 0x003CU) != 0) {
+ func_800726CC(objectIndex, 2);
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 5:
+ if (func_8008789C(objectIndex, 0x0000003C) != 0) {
+ func_800726CC(objectIndex, 3);
+ func_8008701C(objectIndex, 2);
+ }
+ break;
}
object_calculate_new_pos_offset(objectIndex);
if (is_obj_flag_status_active(objectIndex, VISIBLE) != 0) {
@@ -6818,11 +7294,11 @@ void update_crabs(void) {
// Stack issue caused by the `test` variable, but removing it causes much, much larger differences
//! @todo Fix flag animations
void func_80082F1C(s32 objectIndex, s32 arg1) {
- YVFlagPoleSpawn *test;
- gObjectList[objectIndex].model = (Gfx *) d_course_yoshi_valley_unk5;
- gObjectList[objectIndex].vertex = (Vtx *) d_course_yoshi_valley_unk4;
+ YVFlagPoleSpawn* test;
+ gObjectList[objectIndex].model = (Gfx*) d_course_yoshi_valley_unk5;
+ gObjectList[objectIndex].vertex = (Vtx*) d_course_yoshi_valley_unk4;
gObjectList[objectIndex].sizeScaling = 0.027f;
- //if (test->rot && test->rot) {}
+ // if (test->rot && test->rot) {}
test = &D_800E5DF4[arg1];
func_80072488(objectIndex);
set_obj_origin_pos(objectIndex, test->pos[0] * xOrientation, test->pos[1], test->pos[2]);
@@ -6834,13 +7310,13 @@ GLOBAL_ASM("asm/non_matchings/update_objects/func_80082F1C.s")
#endif
void func_80083018(s32 objectIndex, s32 arg1) {
- switch(gObjectList[objectIndex].state) {
- case 1:
- func_80082F1C(objectIndex , arg1);
- break;
- case 0:
- default:
- break;
+ switch (gObjectList[objectIndex].state) {
+ case 1:
+ func_80082F1C(objectIndex, arg1);
+ break;
+ case 0:
+ default:
+ break;
}
}
@@ -6861,13 +7337,11 @@ void func_80083080(void) {
}
}
-const char *sHedgehogTexList[] = {
- d_course_yoshi_valley_hedgehog
-};
+const char* sHedgehogTexList[] = { d_course_yoshi_valley_hedgehog };
void func_8008311C(s32 objectIndex, s32 arg1) {
- Object *object;
- Vtx *vtx = (Vtx *) LOAD_ASSET(common_vtx_hedgehog);
+ Object* object;
+ Vtx* vtx = (Vtx*) LOAD_ASSET(common_vtx_hedgehog);
init_texture_object(objectIndex, d_course_yoshi_valley_hedgehog_tlut, sHedgehogTexList, 0x40U, (u16) 0x00000040);
object = &gObjectList[objectIndex];
@@ -6887,26 +7361,28 @@ void func_8008311C(s32 objectIndex, s32 arg1) {
void func_80083248(s32 objectIndex) {
switch (gObjectList[objectIndex].unk_0AE) {
- case 0:
- break;
- case 1:
- if (func_80087A0C(objectIndex, gObjectList[objectIndex].origin_pos[0], gObjectList[objectIndex].unk_09C, gObjectList[objectIndex].origin_pos[2], gObjectList[objectIndex].unk_09E) != 0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 2:
- func_800871AC(objectIndex, 0x0000003C);
- break;
- case 3:
- if (func_80087A0C(objectIndex, gObjectList[objectIndex].unk_09C, gObjectList[objectIndex].origin_pos[0], gObjectList[objectIndex].unk_09E, gObjectList[objectIndex].origin_pos[2]) != 0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 4:
- if (func_80087060(objectIndex, 0x0000003C) != 0) {
- func_8008701C(objectIndex, 1);
- }
- break;
+ case 0:
+ break;
+ case 1:
+ if (func_80087A0C(objectIndex, gObjectList[objectIndex].origin_pos[0], gObjectList[objectIndex].unk_09C,
+ gObjectList[objectIndex].origin_pos[2], gObjectList[objectIndex].unk_09E) != 0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 2:
+ func_800871AC(objectIndex, 0x0000003C);
+ break;
+ case 3:
+ if (func_80087A0C(objectIndex, gObjectList[objectIndex].unk_09C, gObjectList[objectIndex].origin_pos[0],
+ gObjectList[objectIndex].unk_09E, gObjectList[objectIndex].origin_pos[2]) != 0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 4:
+ if (func_80087060(objectIndex, 0x0000003C) != 0) {
+ func_8008701C(objectIndex, 1);
+ }
+ break;
}
object_calculate_new_pos_offset(objectIndex);
if (is_obj_flag_status_active(objectIndex, 0x00200000) != 0) {
@@ -6918,21 +7394,21 @@ void func_80083248(s32 objectIndex) {
}
void func_800833D0(s32 objectIndex, s32 arg1) {
- switch (gObjectList[objectIndex].state) { /* irregular */
- case 0:
- break;
- case 1:
- func_8008311C(objectIndex, arg1);
- break;
- case 2:
- func_80072D3C(objectIndex, 0, 1, 4, -1);
- break;
+ switch (gObjectList[objectIndex].state) { /* irregular */
+ case 0:
+ break;
+ case 1:
+ func_8008311C(objectIndex, arg1);
+ break;
+ case 2:
+ func_80072D3C(objectIndex, 0, 1, 4, -1);
+ break;
}
if (gObjectList[objectIndex].itemDisplay == 0) {
- Vtx *vtx = (Vtx *) LOAD_ASSET(common_vtx_hedgehog);
+ Vtx* vtx = (Vtx*) LOAD_ASSET(common_vtx_hedgehog);
gObjectList[objectIndex].vertex = vtx;
} else {
- Vtx *vtx = (Vtx *) LOAD_ASSET(D_0D006130);
+ Vtx* vtx = (Vtx*) LOAD_ASSET(D_0D006130);
gObjectList[objectIndex].vertex = vtx;
}
}
@@ -6957,7 +7433,7 @@ void update_hedgehogs(void) {
}
void func_80083538(s32 objectIndex, Vec3f arg1, s32 arg2, s32 arg3) {
- Object *object;
+ Object* object;
init_object(objectIndex, 0);
object = &gObjectList[objectIndex];
@@ -6970,7 +7446,7 @@ void func_80083538(s32 objectIndex, Vec3f arg1, s32 arg2, s32 arg3) {
object->velocity[1] = random_int(0x0014U);
object->velocity[1] = (object->velocity[1] * 0.5) + 2.6;
object->unk_034 = random_int(0x000AU);
- object->unk_034 = (object->unk_034 *0.1) + 4.5;
+ object->unk_034 = (object->unk_034 * 0.1) + 4.5;
object->direction_angle[1] = (arg2 << 0x10) / arg3;
object->origin_pos[0] = arg1[0];
object->origin_pos[1] = arg1[1];
@@ -6984,36 +7460,38 @@ void func_800836F0(Vec3f arg0) {
for (i = 0; i < D_8018D3BC; i++) {
objectIndex = add_unused_obj_index(&gObjectParticle2[0], &gNextFreeObjectParticle2, gObjectParticle2_SIZE);
- if (objectIndex == NULL_OBJECT_ID) break;
+ if (objectIndex == NULL_OBJECT_ID) {
+ break;
+ }
func_80083538(objectIndex, arg0, i, D_8018D3BC);
}
}
void func_8008379C(s32 objectIndex) {
switch (gObjectList[objectIndex].state) {
- case 0:
- break;
- case 1:
- if (func_80087E08(objectIndex, gObjectList[objectIndex].velocity[1], 0.74f, gObjectList[objectIndex].unk_034, gObjectList[objectIndex].direction_angle[1], 0x00000064) != 0) {
- func_80072488(objectIndex);
- }
- break;
- case 2:
- func_80086F60(objectIndex);
- func_80072428(objectIndex);
- break;
+ case 0:
+ break;
+ case 1:
+ if (func_80087E08(objectIndex, gObjectList[objectIndex].velocity[1], 0.74f,
+ gObjectList[objectIndex].unk_034, gObjectList[objectIndex].direction_angle[1],
+ 0x00000064) != 0) {
+ func_80072488(objectIndex);
+ }
+ break;
+ case 2:
+ func_80086F60(objectIndex);
+ func_80072428(objectIndex);
+ break;
}
object_calculate_new_pos_offset(objectIndex);
gObjectList[objectIndex].orientation[2] += gObjectList[objectIndex].primAlpha;
}
-static const char*sSnowmanHeadList[] = {
- d_course_frappe_snowland_snowman_head
-};
+static const char* sSnowmanHeadList[] = { d_course_frappe_snowland_snowman_head };
void func_80083868(s32 objectIndex) {
- Object *object;
- Vtx *vtx = (Vtx *) LOAD_ASSET(D_0D0061B0);
+ Object* object;
+ Vtx* vtx = (Vtx*) LOAD_ASSET(D_0D0061B0);
init_texture_object(objectIndex, d_course_frappe_snowland_snowman_tlut, sSnowmanHeadList, 0x40U, (u16) 0x00000040);
object = &gObjectList[objectIndex];
object->vertex = vtx;
@@ -7032,30 +7510,30 @@ void func_80083868(s32 objectIndex) {
void func_80083948(s32 objectIndex) {
switch (gObjectList[objectIndex].unk_0AE) {
- case 1:
- func_80086FD4(objectIndex);
- break;
- case 2:
- func_800871AC(objectIndex, 0x00000014);
- break;
- case 3:
- func_8008701C(objectIndex, 1);
- break;
- case 10:
- func_80087C48(objectIndex, 10.0f, 0.5f, 0x0000000A);
- break;
- case 11:
- func_80087D24(objectIndex, 0.0f, 0.2f, -7.0f);
- break;
- case 20:
- if (f32_step_up_towards(&gObjectList[objectIndex].offset[1], 0.0f, 0.2f) != 0) {
- func_80073800(objectIndex, 0);
+ case 1:
+ func_80086FD4(objectIndex);
+ break;
+ case 2:
+ func_800871AC(objectIndex, 0x00000014);
+ break;
+ case 3:
func_8008701C(objectIndex, 1);
- }
- break;
- case 0:
- default:
- break;
+ break;
+ case 10:
+ func_80087C48(objectIndex, 10.0f, 0.5f, 0x0000000A);
+ break;
+ case 11:
+ func_80087D24(objectIndex, 0.0f, 0.2f, -7.0f);
+ break;
+ case 20:
+ if (f32_step_up_towards(&gObjectList[objectIndex].offset[1], 0.0f, 0.2f) != 0) {
+ func_80073800(objectIndex, 0);
+ func_8008701C(objectIndex, 1);
+ }
+ break;
+ case 0:
+ default:
+ break;
}
object_calculate_new_pos_offset(objectIndex);
func_80073D0C(objectIndex, &gObjectList[objectIndex].primAlpha, -0x00001000, 0x00001000, 0x00000400, 1, -1);
@@ -7064,11 +7542,11 @@ void func_80083948(s32 objectIndex) {
void func_80083A94(s32 objectIndex) {
switch (gObjectList[objectIndex].state) {
- case 0:
- break;
- case 1: // snowman head
- func_80083868(objectIndex);
- break;
+ case 0:
+ break;
+ case 1:
+ func_80083868(objectIndex);
+ break;
}
if (gObjectList[objectIndex].state >= 2) {
func_80073514(objectIndex);
@@ -7076,12 +7554,10 @@ void func_80083A94(s32 objectIndex) {
func_80083948(objectIndex);
}
-static const char*sSnowmanBodyList[] = {
- d_course_frappe_snowland_snowman_body
-};
+static const char* sSnowmanBodyList[] = { d_course_frappe_snowland_snowman_body };
void func_80083B0C(s32 objectIndex) {
- Vtx *vtx = (Vtx *) LOAD_ASSET(common_vtx_hedgehog);
+ Vtx* vtx = (Vtx*) LOAD_ASSET(common_vtx_hedgehog);
init_texture_object(objectIndex, d_course_frappe_snowland_snowman_tlut, sSnowmanBodyList, 0x40U, (u16) 0x00000040);
gObjectList[objectIndex].vertex = vtx;
gObjectList[objectIndex].sizeScaling = 0.1f;
@@ -7101,38 +7577,38 @@ void func_80083BE4(s32 objectIndex) {
}
void func_80083C04(s32 objectIndex) {
- Object *object;
+ Object* object;
object = &gObjectList[objectIndex];
switch (object->state) {
- case 0:
- break;
- case 1: // snowmanbody
- func_80083B0C(objectIndex);
- break;
- case 2:
- func_8007278C(objectIndex, 0x00000096);
- break;
- case 10:
- if (func_8007278C(objectIndex, 0x0000012C) != 0) {
- func_800722A4(objectIndex, 2);
- }
- break;
- case 11:
- if (func_8007278C(objectIndex, 0x0000000A) != 0) {
- set_object_flag_status_true(objectIndex, 0x00000010);
- object->sizeScaling = 0.001f;
- }
- break;
- case 12:
- if (func_80074118(objectIndex, &object->sizeScaling, 0.001f, 0.1f, 0.0025f, 0, 0) != 0) {
- func_80072488(objectIndex);
- }
- break;
- case 13:
- func_800726CC(objectIndex, 2);
- set_object_flag_status_false(objectIndex, 0x00001000);
- break;
+ case 0:
+ break;
+ case 1:
+ func_80083B0C(objectIndex);
+ break;
+ case 2:
+ func_8007278C(objectIndex, 0x00000096);
+ break;
+ case 10:
+ if (func_8007278C(objectIndex, 0x0000012C) != 0) {
+ func_800722A4(objectIndex, 2);
+ }
+ break;
+ case 11:
+ if (func_8007278C(objectIndex, 0x0000000A) != 0) {
+ set_object_flag_status_true(objectIndex, 0x00000010);
+ object->sizeScaling = 0.001f;
+ }
+ break;
+ case 12:
+ if (func_80074118(objectIndex, &object->sizeScaling, 0.001f, 0.1f, 0.0025f, 0, 0) != 0) {
+ func_80072488(objectIndex);
+ }
+ break;
+ case 13:
+ func_800726CC(objectIndex, 2);
+ set_object_flag_status_false(objectIndex, 0x00001000);
+ break;
}
if (object->state >= 2) {
func_80073514(objectIndex);
@@ -7145,16 +7621,22 @@ void update_snowmen(void) {
s32 var_s3;
s32 var_s4;
s32 objectIndex;
- Object *object;
+ Object* object;
for (var_s0 = 0; var_s0 < gObjectParticle2_SIZE; var_s0++) {
objectIndex = gObjectParticle2[var_s0];
- if (objectIndex == DELETED_OBJECT_ID) continue;
+ if (objectIndex == DELETED_OBJECT_ID) {
+ continue;
+ }
- if (gObjectList[objectIndex].state == 0) continue;
+ if (gObjectList[objectIndex].state == 0) {
+ continue;
+ }
func_8008379C(objectIndex);
- if (gObjectList[objectIndex].state != 0) continue;
+ if (gObjectList[objectIndex].state != 0) {
+ continue;
+ }
delete_object_wrapper(&gObjectParticle2[var_s0]);
if (var_s0) {} // ??
}
@@ -7182,34 +7664,36 @@ void update_snowmen(void) {
void func_80083F18(s32 objectIndex) {
switch (gObjectList[objectIndex].state) {
- case 0:
- break;
- case 1:
- if (func_80087E08(objectIndex, gObjectList[objectIndex].velocity[1], 0.12f, gObjectList[objectIndex].unk_034, gObjectList[objectIndex].direction_angle[1], 0x00000064) != 0) {
- func_80072488(objectIndex);
- }
- object_calculate_new_pos_offset(objectIndex);
- break;
- case 2:
- func_80086F60(objectIndex);
- func_80072428(objectIndex);
- break;
+ case 0:
+ break;
+ case 1:
+ if (func_80087E08(objectIndex, gObjectList[objectIndex].velocity[1], 0.12f,
+ gObjectList[objectIndex].unk_034, gObjectList[objectIndex].direction_angle[1],
+ 0x00000064) != 0) {
+ func_80072488(objectIndex);
+ }
+ object_calculate_new_pos_offset(objectIndex);
+ break;
+ case 2:
+ func_80086F60(objectIndex);
+ func_80072428(objectIndex);
+ break;
}
}
void func_80083FD0(s32 objectIndex, s32 arg1, s32 playerId) {
- Object *object;
- Player *sp20;
+ Object* object;
+ Player* sp20;
object = &gObjectList[objectIndex];
sp20 = &gPlayerOne[playerId];
object->unk_084[7] = playerId;
init_object(objectIndex, 0);
object->activeTLUT = d_course_sherbet_land_ice;
- object->tlutList = d_course_sherbet_land_ice;
+ object->tlutList = d_course_sherbet_land_ice;
object->sizeScaling = ((f32) random_int(0x01F4U) * 0.0002) + 0.04;
- object->velocity[1] = ((f32) random_int(0x0032U) * 0.05) + 1.0;
- object->unk_034 = ((f32) random_int(0x000AU) * 0.1) + 1.0;
+ object->velocity[1] = ((f32) random_int(0x0032U) * 0.05) + 1.0;
+ object->unk_034 = ((f32) random_int(0x000AU) * 0.1) + 1.0;
object->direction_angle[1] = D_801657A2 * arg1;
object->origin_pos[0] = (sp20->pos[0] + random_int(0x0014U)) - 10.0f;
object->origin_pos[1] = (sp20->pos[1] - 10.0) + random_int(0x000AU);
@@ -7222,7 +7706,9 @@ void func_8008421C(UNUSED s32 arg0, s32 playerId) {
for (var_s0 = 0; var_s0 < D_8018D3C0; var_s0++) {
objectIndex = add_unused_obj_index(gObjectParticle2, &gNextFreeObjectParticle2, gObjectParticle2_SIZE);
- if (objectIndex == NULL_OBJECT_ID) break;
+ if (objectIndex == NULL_OBJECT_ID) {
+ break;
+ }
func_80083FD0(objectIndex, var_s0, playerId);
}
}
@@ -7258,12 +7744,12 @@ void func_800842C8(void) {
}
void func_80084430(s32 objectIndex, UNUSED s32 arg1) {
- Object *object;
+ Object* object;
object = &gObjectList[objectIndex];
object->unk_0D8 = 0;
- object->model = (Gfx *) d_course_sherbet_land_unk_data1;
- object->vertex = (Vtx *) d_course_sherbet_land_unk_data11;
+ object->model = (Gfx*) d_course_sherbet_land_unk_data1;
+ object->vertex = (Vtx*) d_course_sherbet_land_unk_data11;
object->sizeScaling = 0.2f;
object->boundingBoxSize = 0x000C;
object->unk_09C = 1;
@@ -7278,27 +7764,27 @@ void func_80084430(s32 objectIndex, UNUSED s32 arg1) {
}
void func_8008453C(s32 objectIndex, s32 arg1) {
- switch (gObjectList[objectIndex].state) { /* irregular */
- case 0:
- break;
- case 1:
- if (gPlayerCountSelection1 == 1) {
- func_80084430(objectIndex, arg1);
- }
- break;
- case 2:
- func_80072E54(objectIndex, 0, gObjectList[objectIndex].type, 1, 0, -1);
- break;
+ switch (gObjectList[objectIndex].state) { /* irregular */
+ case 0:
+ break;
+ case 1:
+ if (gPlayerCountSelection1 == 1) {
+ func_80084430(objectIndex, arg1);
+ }
+ break;
+ case 2:
+ func_80072E54(objectIndex, 0, gObjectList[objectIndex].type, 1, 0, -1);
+ break;
}
}
void func_800845C8(s32 objectIndex, s32 arg1) {
- Object *object;
+ Object* object;
object = &gObjectList[objectIndex];
object->unk_0D8 = 0;
- object->model = (Gfx *) d_course_sherbet_land_unk_data1;
- object->vertex = (Vtx *) d_course_sherbet_land_unk_data11;
+ object->model = (Gfx*) d_course_sherbet_land_unk_data1;
+ object->vertex = (Vtx*) d_course_sherbet_land_unk_data11;
object->boundingBoxSize = 4;
object->unk_09C = 2;
object->unk_04C = random_int(0x012CU);
@@ -7327,62 +7813,62 @@ void func_800845C8(s32 objectIndex, s32 arg1) {
object->unk_0DD = 2;
func_800722A4(objectIndex, 8);
} else if ((arg1 > 8) && (arg1 < 15)) {
- switch (arg1) { /* irregular */
- case 9:
- if (gGamestate != 9) {
- set_obj_origin_pos(objectIndex, xOrientation * 146.0, 0.0f, -380.0f);
- } else {
- set_obj_origin_pos(objectIndex, xOrientation * 380.0, 0.0f, -535.0f);
- object->sizeScaling = 0.15f;
- }
- object->unk_0C6 = 0x9000;
- if (gIsMirrorMode != 0) {
- object->unk_0C6 -= 0x4000;
- }
- object->unk_0DD = 3;
- break;
- case 10:
- set_obj_origin_pos(objectIndex, xOrientation * 380.0, 0.0f, -766.0f);
- object->unk_0C6 = 0x5000;
- if (gIsMirrorMode != 0) {
- object->unk_0C6 += 0x8000;
- }
- object->unk_0DD = 4;
- break;
- case 11:
- set_obj_origin_pos(objectIndex, xOrientation * -2300.0, 0.0f, -210.0f);
- object->unk_0C6 = 0xC000;
- object->unk_0DD = 6;
- if (gIsMirrorMode != 0) {
- object->unk_0C6 += 0x8000;
- }
- break;
- case 12:
- set_obj_origin_pos(objectIndex, xOrientation * -2500.0, 0.0f, -250.0f);
- object->unk_0C6 = 0x4000;
- object->unk_0DD = 6;
- if (gIsMirrorMode != 0) {
- object->unk_0C6 += 0x8000;
- }
- break;
- case 13:
- set_obj_origin_pos(objectIndex, xOrientation * -535.0, 0.0f, 875.0f);
- object->unk_0C6 = 0x8000;
- object->unk_0DD = 6;
- if (gIsMirrorMode != 0) {
- object->unk_0C6 -= 0x4000;
- }
- break;
- case 14:
- set_obj_origin_pos(objectIndex, xOrientation * -250.0, 0.0f, 953.0f);
- object->unk_0C6 = 0x9000;
- object->unk_0DD = 6;
- if (gIsMirrorMode != 0) {
- object->unk_0C6 -= 0x4000;
- }
- break;
- default:
- break;
+ switch (arg1) { /* irregular */
+ case 9:
+ if (gGamestate != 9) {
+ set_obj_origin_pos(objectIndex, xOrientation * 146.0, 0.0f, -380.0f);
+ } else {
+ set_obj_origin_pos(objectIndex, xOrientation * 380.0, 0.0f, -535.0f);
+ object->sizeScaling = 0.15f;
+ }
+ object->unk_0C6 = 0x9000;
+ if (gIsMirrorMode != 0) {
+ object->unk_0C6 -= 0x4000;
+ }
+ object->unk_0DD = 3;
+ break;
+ case 10:
+ set_obj_origin_pos(objectIndex, xOrientation * 380.0, 0.0f, -766.0f);
+ object->unk_0C6 = 0x5000;
+ if (gIsMirrorMode != 0) {
+ object->unk_0C6 += 0x8000;
+ }
+ object->unk_0DD = 4;
+ break;
+ case 11:
+ set_obj_origin_pos(objectIndex, xOrientation * -2300.0, 0.0f, -210.0f);
+ object->unk_0C6 = 0xC000;
+ object->unk_0DD = 6;
+ if (gIsMirrorMode != 0) {
+ object->unk_0C6 += 0x8000;
+ }
+ break;
+ case 12:
+ set_obj_origin_pos(objectIndex, xOrientation * -2500.0, 0.0f, -250.0f);
+ object->unk_0C6 = 0x4000;
+ object->unk_0DD = 6;
+ if (gIsMirrorMode != 0) {
+ object->unk_0C6 += 0x8000;
+ }
+ break;
+ case 13:
+ set_obj_origin_pos(objectIndex, xOrientation * -535.0, 0.0f, 875.0f);
+ object->unk_0C6 = 0x8000;
+ object->unk_0DD = 6;
+ if (gIsMirrorMode != 0) {
+ object->unk_0C6 -= 0x4000;
+ }
+ break;
+ case 14:
+ set_obj_origin_pos(objectIndex, xOrientation * -250.0, 0.0f, 953.0f);
+ object->unk_0C6 = 0x9000;
+ object->unk_0DD = 6;
+ if (gIsMirrorMode != 0) {
+ object->unk_0C6 -= 0x4000;
+ }
+ break;
+ default:
+ break;
}
set_obj_direction_angle(objectIndex, 0U, object->unk_0C6 + 0x8000, 0U);
object->surfaceHeight = 5.0f;
@@ -7396,33 +7882,33 @@ void func_800845C8(s32 objectIndex, s32 arg1) {
}
void func_80084B7C(s32 objectIndex, s32 arg1) {
- Object *object;
+ Object* object;
object = &gObjectList[objectIndex];
switch (object->state) {
- case 0:
- break;
- case 1:
- func_800845C8(objectIndex, arg1);
- break;
- case 2:
- func_80072E54(objectIndex, 0, (s32) object->type, (s32) object->unk_09C, 0, -1);
- if (func_80072354(objectIndex, 0x00000020) != 0) {
- if (object->unk_084[6] == 0) {
- object->unk_084[6] = random_int(0x005AU) + 0x5A;
- func_800722A4(objectIndex, 0x00000080);
- } else {
- object->unk_084[6]--;
+ case 0:
+ break;
+ case 1:
+ func_800845C8(objectIndex, arg1);
+ break;
+ case 2:
+ func_80072E54(objectIndex, 0, (s32) object->type, (s32) object->unk_09C, 0, -1);
+ if (func_80072354(objectIndex, 0x00000020) != 0) {
+ if (object->unk_084[6] == 0) {
+ object->unk_084[6] = random_int(0x005AU) + 0x5A;
+ func_800722A4(objectIndex, 0x00000080);
+ } else {
+ object->unk_084[6]--;
+ }
}
- }
- break;
- case 3:
- func_80072E54(objectIndex, 0, object->type, 1, 0, 0);
- break;
- case 4:
- func_800722CC(objectIndex, 2);
- func_80072488(objectIndex);
- break;
+ break;
+ case 3:
+ func_80072E54(objectIndex, 0, object->type, 1, 0, 0);
+ break;
+ case 4:
+ func_800722CC(objectIndex, 2);
+ func_80072488(objectIndex);
+ break;
}
if (func_80072320(objectIndex, 0x00000020) != 0) {
if (object->unk_084[6] == 0) {
@@ -7446,86 +7932,89 @@ void func_80084D2C(s32 objectIndex, s32 arg1) {
f32 sp24;
switch (gObjectList[objectIndex].unk_0AE) {
- case 0:
- break;
- case 1:
- gObjectList[objectIndex].direction_angle[1] = func_800417B4(gObjectList[objectIndex].direction_angle[1], gObjectList[objectIndex].unk_0C6);
- if (gObjectList[objectIndex].direction_angle[1] == gObjectList[objectIndex].unk_0C6) {
- gObjectList[objectIndex].unk_09C = 4;
- gObjectList[objectIndex].unk_034 = 0.4f;
- func_80086FD4(objectIndex);
- }
- break;
- case 2:
- f32_step_towards(&gObjectList[objectIndex].unk_034, 0.8f, 0.02f);
- if (func_80087060(objectIndex, 0x0000000F) != 0) {
- func_800722A4(objectIndex, 1);
- func_800722A4(objectIndex, 2);
- gObjectList[objectIndex].unk_09C = 1;
- gObjectList[objectIndex].unk_0D8 = 1;
- gObjectList[objectIndex].itemDisplay = 0;
- gObjectList[objectIndex].type = get_animation_length(d_course_sherbet_land_unk_data11, gObjectList[objectIndex].unk_0D8);
- func_800726CC(objectIndex, 3);
- func_80086FD4(objectIndex);
- if (func_80072354(objectIndex, 0x00000020) != 0) {
- func_800722A4(objectIndex, 0x00000080);
+ case 0:
+ break;
+ case 1:
+ gObjectList[objectIndex].direction_angle[1] =
+ func_800417B4(gObjectList[objectIndex].direction_angle[1], gObjectList[objectIndex].unk_0C6);
+ if (gObjectList[objectIndex].direction_angle[1] == gObjectList[objectIndex].unk_0C6) {
+ gObjectList[objectIndex].unk_09C = 4;
+ gObjectList[objectIndex].unk_034 = 0.4f;
+ func_80086FD4(objectIndex);
}
- }
- break;
- case 3:
- switch (arg1) { /* switch 1; irregular */
- case 0: /* switch 1 */
- sp24 = 1.0f;
break;
- case 1: /* switch 1 */
- sp24 = 1.5f;
+ case 2:
+ f32_step_towards(&gObjectList[objectIndex].unk_034, 0.8f, 0.02f);
+ if (func_80087060(objectIndex, 0x0000000F) != 0) {
+ func_800722A4(objectIndex, 1);
+ func_800722A4(objectIndex, 2);
+ gObjectList[objectIndex].unk_09C = 1;
+ gObjectList[objectIndex].unk_0D8 = 1;
+ gObjectList[objectIndex].itemDisplay = 0;
+ gObjectList[objectIndex].type =
+ get_animation_length(d_course_sherbet_land_unk_data11, gObjectList[objectIndex].unk_0D8);
+ func_800726CC(objectIndex, 3);
+ func_80086FD4(objectIndex);
+ if (func_80072354(objectIndex, 0x00000020) != 0) {
+ func_800722A4(objectIndex, 0x00000080);
+ }
+ }
break;
- case 2: /* switch 1 */
- sp24 = 2.0f;
+ case 3:
+ switch (arg1) { /* switch 1; irregular */
+ case 0: /* switch 1 */
+ sp24 = 1.0f;
+ break;
+ case 1: /* switch 1 */
+ sp24 = 1.5f;
+ break;
+ case 2: /* switch 1 */
+ sp24 = 2.0f;
+ break;
+ case 3: /* switch 1 */
+ sp24 = 2.5f;
+ break;
+ }
+ f32_step_towards(&gObjectList[objectIndex].unk_034, sp24, 0.15f);
+ if ((func_80072354(objectIndex, 2) != 0) && (sp24 == gObjectList[objectIndex].unk_034)) {
+ func_80086FD4(objectIndex);
+ }
break;
- case 3: /* switch 1 */
- sp24 = 2.5f;
+ case 4:
+ if (func_80087060(objectIndex, 0x0000001E) != 0) {
+ func_800722CC(objectIndex, 1);
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 5:
+ f32_step_towards(&gObjectList[objectIndex].unk_034, 0.4f, 0.2f);
+ if (func_80087060(objectIndex, 0x0000000A) != 0) {
+ func_800722A4(objectIndex, 2);
+ gObjectList[objectIndex].unk_0D8 = 2;
+ gObjectList[objectIndex].itemDisplay = 0;
+ gObjectList[objectIndex].type =
+ get_animation_length(d_course_sherbet_land_unk_data11, gObjectList[objectIndex].unk_0D8);
+ func_800726CC(objectIndex, 3);
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 6:
+ if (func_80072354(objectIndex, 2) != 0) {
+ gObjectList[objectIndex].unk_0D8 = 0;
+ gObjectList[objectIndex].itemDisplay = 0;
+ gObjectList[objectIndex].type =
+ get_animation_length(d_course_sherbet_land_unk_data11, gObjectList[objectIndex].unk_0D8);
+ gObjectList[objectIndex].unk_0C6 += 0x8000;
+ func_800726CC(objectIndex, 2);
+ func_8008701C(objectIndex, 1);
+ }
break;
- }
- f32_step_towards(&gObjectList[objectIndex].unk_034, sp24, 0.15f);
- if ((func_80072354(objectIndex, 2) != 0) && (sp24 == gObjectList[objectIndex].unk_034)) {
- func_80086FD4(objectIndex);
- }
- break;
- case 4:
- if (func_80087060(objectIndex, 0x0000001E) != 0) {
- func_800722CC(objectIndex, 1);
- func_80086FD4(objectIndex);
- }
- break;
- case 5:
- f32_step_towards(&gObjectList[objectIndex].unk_034, 0.4f, 0.2f);
- if (func_80087060(objectIndex, 0x0000000A) != 0) {
- func_800722A4(objectIndex, 2);
- gObjectList[objectIndex].unk_0D8 = 2;
- gObjectList[objectIndex].itemDisplay = 0;
- gObjectList[objectIndex].type = get_animation_length(d_course_sherbet_land_unk_data11, gObjectList[objectIndex].unk_0D8);
- func_800726CC(objectIndex, 3);
- func_80086FD4(objectIndex);
- }
- break;
- case 6:
- if (func_80072354(objectIndex, 2) != 0) {
- gObjectList[objectIndex].unk_0D8 = 0;
- gObjectList[objectIndex].itemDisplay = 0;
- gObjectList[objectIndex].type = get_animation_length(d_course_sherbet_land_unk_data11, gObjectList[objectIndex].unk_0D8);
- gObjectList[objectIndex].unk_0C6 += 0x8000;
- func_800726CC(objectIndex, 2);
- func_8008701C(objectIndex, 1);
- }
- break;
}
func_8008781C(objectIndex);
object_calculate_new_pos_offset(objectIndex);
}
void func_80085024(void) {
-
}
void func_8008502C(s32 objectIndex, UNUSED s32 arg1) {
@@ -7541,28 +8030,28 @@ void func_80085080(s32 objectIndex) {
}
void func_800850B0(s32 objectIndex, s32 arg1) {
- Object *object;
+ Object* object;
object = &gObjectList[objectIndex];
switch (object->unk_0DD) {
- case 1:
- func_80085080(objectIndex);
- break;
- case 2:
- func_8008502C(objectIndex, arg1);
- break;
- case 3:
- func_80084D2C(objectIndex, 0);
- break;
- case 4:
- func_80084D2C(objectIndex, 1);
- break;
- case 5:
- func_80084D2C(objectIndex, 2);
- break;
- case 6:
- func_80084D2C(objectIndex, 3);
- break;
+ case 1:
+ func_80085080(objectIndex);
+ break;
+ case 2:
+ func_8008502C(objectIndex, arg1);
+ break;
+ case 3:
+ func_80084D2C(objectIndex, 0);
+ break;
+ case 4:
+ func_80084D2C(objectIndex, 1);
+ break;
+ case 5:
+ func_80084D2C(objectIndex, 2);
+ break;
+ case 6:
+ func_80084D2C(objectIndex, 3);
+ break;
}
if (func_80072320(objectIndex, 0x00000020) != 0) {
if (func_80072320(objectIndex, 0x00000040) != 0) {
@@ -7607,7 +8096,8 @@ void update_penguins(void) {
} else {
func_80089820(objectIndex, 1.5f, 1.25f, 0x1900A046U);
}
- if ((is_obj_flag_status_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_status_false(objectIndex, 0x02000000);
}
@@ -7634,63 +8124,63 @@ void init_hot_air_balloon(s32 objectIndex) {
void func_80085534(s32 objectIndex) {
switch (gObjectList[objectIndex].unk_0AE) {
- case 1:
- if (gObjectList[objectIndex].offset[1] <= 18.0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 2:
- f32_step_towards(&gObjectList[objectIndex].velocity[1], 0.0f, 0.05f);
- if (gObjectList[objectIndex].velocity[1] == 0.0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 3:
- func_800871AC(objectIndex, 1);
- break;
- case 4:
- f32_step_towards(&gObjectList[objectIndex].velocity[1], 1.0f, 0.05f);
- if (gObjectList[objectIndex].velocity[1] == 1.0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 5:
- func_800871AC(objectIndex, 0x0000005A);
- break;
- case 6:
- f32_step_towards(&gObjectList[objectIndex].velocity[1], 0.0f, 0.05f);
- if (gObjectList[objectIndex].velocity[1] == 0.0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 7:
- f32_step_towards(&gObjectList[objectIndex].velocity[1], -1.0f, 0.05f);
- if (gObjectList[objectIndex].velocity[1] == -1.0) {
- func_80086FD4(objectIndex);
- }
- break;
- case 8:
- func_800871AC(objectIndex, 0x0000005A);
- break;
- case 9:
- f32_step_towards(&gObjectList[objectIndex].velocity[1], 0.0f, 0.05f);
- if (func_80087060(objectIndex, 0x0000005A) != 0) {
- func_8008701C(objectIndex, 3);
- }
- break;
+ case 1:
+ if (gObjectList[objectIndex].offset[1] <= 18.0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 2:
+ f32_step_towards(&gObjectList[objectIndex].velocity[1], 0.0f, 0.05f);
+ if (gObjectList[objectIndex].velocity[1] == 0.0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 3:
+ func_800871AC(objectIndex, 1);
+ break;
+ case 4:
+ f32_step_towards(&gObjectList[objectIndex].velocity[1], 1.0f, 0.05f);
+ if (gObjectList[objectIndex].velocity[1] == 1.0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 5:
+ func_800871AC(objectIndex, 0x0000005A);
+ break;
+ case 6:
+ f32_step_towards(&gObjectList[objectIndex].velocity[1], 0.0f, 0.05f);
+ if (gObjectList[objectIndex].velocity[1] == 0.0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 7:
+ f32_step_towards(&gObjectList[objectIndex].velocity[1], -1.0f, 0.05f);
+ if (gObjectList[objectIndex].velocity[1] == -1.0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 8:
+ func_800871AC(objectIndex, 0x0000005A);
+ break;
+ case 9:
+ f32_step_towards(&gObjectList[objectIndex].velocity[1], 0.0f, 0.05f);
+ if (func_80087060(objectIndex, 0x0000005A) != 0) {
+ func_8008701C(objectIndex, 3);
+ }
+ break;
}
object_add_velocity_offset_y(objectIndex);
gObjectList[objectIndex].direction_angle[1] += 0x100;
}
void func_80085768(s32 objectIndex) {
- switch (gObjectList[objectIndex].state) { /* irregular */
- case 1:
- init_hot_air_balloon(objectIndex);
- break;
- case 0:
- case 2:
- break;
+ switch (gObjectList[objectIndex].state) { /* irregular */
+ case 1:
+ init_hot_air_balloon(objectIndex);
+ break;
+ case 0:
+ case 2:
+ break;
}
}
@@ -7711,19 +8201,19 @@ void update_hot_air_balloon(void) {
}
void func_80085878(s32 objectIndex, s32 arg1) {
- TrackWaypoint *temp_v0;
- Object *object;
+ TrackWaypoint* temp_v0;
+ Object* object;
object = &gObjectList[objectIndex];
object->unk_0D8 = 1;
- object->model = (Gfx *) d_rainbow_road_unk4;
- object->vertex = (Vtx *) d_rainbow_road_unk3;
+ object->model = (Gfx*) d_rainbow_road_unk4;
+ object->vertex = (Vtx*) d_rainbow_road_unk3;
object->sizeScaling = 0.03f;
object->boundingBoxSize = 0x000A;
set_object_flag_status_true(objectIndex, 0x04000200);
object->unk_084[8] = (arg1 * 0x12C) + 0x1F4;
set_obj_origin_pos(objectIndex, 0.0f, -15.0f, 0.0f);
- temp_v0 = &D_80164490[(u16)object->unk_084[8]];
+ temp_v0 = &D_80164490[(u16) object->unk_084[8]];
set_obj_origin_offset(objectIndex, temp_v0->posX, temp_v0->posY, temp_v0->posZ);
set_obj_direction_angle(objectIndex, 0U, 0U, 0U);
object->unk_034 = 4.0f;
@@ -7732,18 +8222,18 @@ void func_80085878(s32 objectIndex, s32 arg1) {
}
void func_800859C8(s32 objectIndex, s32 arg1) {
- Object *object;
+ Object* object;
object = &gObjectList[objectIndex];
- switch (object->state) { /* irregular */
- case 0:
- break;
- case 1:
- func_80085878(objectIndex, arg1);
- break;
- case 2:
- func_80072E54(objectIndex, 0, (s32) object->type, 1, 0, -1);
- break;
+ switch (object->state) { /* irregular */
+ case 0:
+ break;
+ case 1:
+ func_80085878(objectIndex, arg1);
+ break;
+ case 2:
+ func_80072E54(objectIndex, 0, (s32) object->type, 1, 0, -1);
+ break;
}
if (D_8018D40C == 0) {
func_800C98B8(object->pos, object->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x57));
@@ -7754,7 +8244,7 @@ void func_800859C8(s32 objectIndex, s32 arg1) {
void update_chain_chomps(void) {
s32 objectIndex;
s32 var_s4;
- Object *object;
+ Object* object;
for (var_s4 = 0; var_s4 < NUM_CHAIN_CHOMPS; var_s4++) {
objectIndex = indexObjectList2[var_s4];
@@ -7777,13 +8267,14 @@ void func_80085BB4(s32 objectIndex) {
func_80072488(objectIndex);
}
-const char *sNeonMushroomList[] = {
- d_course_rainbow_road_neon_mushroom
-};
+const char* sNeonMushroomList[] = { d_course_rainbow_road_neon_mushroom };
void init_obj_neon_mushroom(s32 objectIndex) {
set_obj_origin_pos(objectIndex, xOrientation * -1431.0, 827.0f, -2957.0f);
- init_texture_object(objectIndex, load_lakitu_tlut_x64(d_course_rainbow_road_neon_mushroom_tlut_list, ARRAY_COUNT(d_course_rainbow_road_neon_mushroom_tlut_list)), d_course_rainbow_road_neon_mushroom, 0x40U, (u16) 0x00000040);
+ init_texture_object(objectIndex,
+ load_lakitu_tlut_x64(d_course_rainbow_road_neon_mushroom_tlut_list,
+ ARRAY_COUNT(d_course_rainbow_road_neon_mushroom_tlut_list)),
+ d_course_rainbow_road_neon_mushroom, 0x40U, (u16) 0x00000040);
func_80085BB4(objectIndex);
}
@@ -7819,78 +8310,80 @@ void func_80085CA0(s32 objectIndex) {
}
}
-const char* sNeonList[] = {
- d_course_rainbow_road_neon_mario
-};
+const char* sNeonList[] = { d_course_rainbow_road_neon_mario };
void func_80085DB8(s32 objectIndex) {
set_obj_origin_pos(objectIndex, xOrientation * 799.0, 1193.0f, -5891.0f);
- init_texture_object(objectIndex, load_lakitu_tlut_x64(d_course_rainbow_road_neon_mario_tlut_list, ARRAY_COUNT(d_course_rainbow_road_neon_mario_tlut_list)), d_course_rainbow_road_neon_mario, 0x40U, (u16) 0x00000040);
+ init_texture_object(objectIndex,
+ load_lakitu_tlut_x64(d_course_rainbow_road_neon_mario_tlut_list,
+ ARRAY_COUNT(d_course_rainbow_road_neon_mario_tlut_list)),
+ d_course_rainbow_road_neon_mario, 0x40U, (u16) 0x00000040);
func_80085BB4(objectIndex);
}
void func_80085E38(s32 objectIndex) {
switch (gObjectList[objectIndex].state) {
- case 1:
- func_80085DB8(objectIndex);
- break;
- case 2:
- func_80072E54(objectIndex, 0, 4, 1, 0x0000000C, 1);
- break;
- case 3:
- func_80072D3C(objectIndex, 3, 4, 0x0000000C, 1);
- break;
- case 4:
- func_80072B48(objectIndex, 0x0000000C);
- break;
- case 5:
- func_800726CC(objectIndex, 2);
- break;
- case 0:
- default:
- break;
- }
-}
-
-const char *sNeonBooList[] = {
- d_course_rainbow_road_neon_boo
-};
+ case 1:
+ func_80085DB8(objectIndex);
+ break;
+ case 2:
+ func_80072E54(objectIndex, 0, 4, 1, 0x0000000C, 1);
+ break;
+ case 3:
+ func_80072D3C(objectIndex, 3, 4, 0x0000000C, 1);
+ break;
+ case 4:
+ func_80072B48(objectIndex, 0x0000000C);
+ break;
+ case 5:
+ func_800726CC(objectIndex, 2);
+ break;
+ case 0:
+ default:
+ break;
+ }
+}
+
+const char* sNeonBooList[] = { d_course_rainbow_road_neon_boo };
void func_80085EF8(s32 objectIndex) {
set_obj_origin_pos(objectIndex, xOrientation * -2013.0, 555.0f, 0.0f);
- init_texture_object(objectIndex, load_lakitu_tlut_x64(d_course_rainbow_road_neon_boo_tlut_list, ARRAY_COUNT(d_course_rainbow_road_neon_boo_tlut_list)), d_course_rainbow_road_neon_boo, 0x40U, (u16) 0x00000040);
+ init_texture_object(objectIndex,
+ load_lakitu_tlut_x64(d_course_rainbow_road_neon_boo_tlut_list,
+ ARRAY_COUNT(d_course_rainbow_road_neon_boo_tlut_list)),
+ d_course_rainbow_road_neon_boo, 0x40U, (u16) 0x00000040);
func_80085BB4(objectIndex);
}
void func_80085F74(s32 objectIndex) {
switch (gObjectList[objectIndex].state) {
- case 1:
- func_80085EF8(objectIndex);
- break;
- case 2:
- func_80072E54(objectIndex, 0, 4, 1, 5, 1);
- break;
- case 3:
- func_8007278C(objectIndex, 0x0000001E);
- break;
- case 4:
- func_80072C00(objectIndex, 4, 0, 7);
- break;
- case 5:
- func_8007278C(objectIndex, 0x0000001E);
- break;
- case 6:
- func_80072F88(objectIndex, 3, 0, 1, 5, 1);
- break;
- case 7:
- func_80072B48(objectIndex, 0x0000000F);
- break;
- case 8:
- func_800726CC(objectIndex, 2);
- break;
- case 0:
- default:
- break;
+ case 1:
+ func_80085EF8(objectIndex);
+ break;
+ case 2:
+ func_80072E54(objectIndex, 0, 4, 1, 5, 1);
+ break;
+ case 3:
+ func_8007278C(objectIndex, 0x0000001E);
+ break;
+ case 4:
+ func_80072C00(objectIndex, 4, 0, 7);
+ break;
+ case 5:
+ func_8007278C(objectIndex, 0x0000001E);
+ break;
+ case 6:
+ func_80072F88(objectIndex, 3, 0, 1, 5, 1);
+ break;
+ case 7:
+ func_80072B48(objectIndex, 0x0000000F);
+ break;
+ case 8:
+ func_800726CC(objectIndex, 2);
+ break;
+ case 0:
+ default:
+ break;
}
}
@@ -7899,11 +8392,12 @@ void func_80085F74(s32 objectIndex) {
* arg1 is pushed onto the stack prior to set_obj_origin_pos, which is correct.
* But then it get popped back into v0 when its supposed to be popped into t0.
* I really, really don't get why that's happening and the permuter hasn't found anything
-**/
+ **/
void func_80086074(s32 objectIndex, s32 arg1) {
set_obj_origin_pos(objectIndex, D_800E6734[arg1][0] * xOrientation, D_800E6734[arg1][1], D_800E6734[arg1][2]);
- init_texture_object(objectIndex, d_course_rainbow_road_static_tluts[arg1], d_course_rainbow_road_static_textures[arg1], 64, 64);
+ init_texture_object(objectIndex, d_course_rainbow_road_static_tluts[arg1],
+ d_course_rainbow_road_static_textures[arg1], 64, 64);
func_80085BB4(objectIndex);
}
#else
@@ -7912,16 +8406,16 @@ GLOBAL_ASM("asm/non_matchings/update_objects/func_80086074.s")
void func_80086110(s32 objectIndex, s32 arg1) {
switch (gObjectList[objectIndex].state) {
- case 1:
- func_80086074(objectIndex, arg1);
- break;
- case 0:
- break;
+ case 1:
+ func_80086074(objectIndex, arg1);
+ break;
+ case 0:
+ break;
}
}
void update_object_neon(s32 objectIndex, s32 id) {
- switch (id) { /* irregular */
+ switch (id) { /* irregular */
case 0:
func_80085CA0(objectIndex);
break;
@@ -7954,21 +8448,21 @@ void update_neon(void) {
}
void func_8008629C(s32 objectIndex, s32 arg1) {
- switch (arg1) { /* irregular */
- case 0:
- gObjectList[objectIndex].model = podium_dl3;
- gObjectList[objectIndex].unk_04C = 0x00000038;
- break;
- case 1:
- gObjectList[objectIndex].model = podium2_dl3;
- gObjectList[objectIndex].unk_04C = 0x0000002B;
- break;
- case 2:
- gObjectList[objectIndex].model = podium3_dl3;
- gObjectList[objectIndex].unk_04C = 0x0000001E;
- break;
- default:
- break;
+ switch (arg1) { /* irregular */
+ case 0:
+ gObjectList[objectIndex].model = podium_dl3;
+ gObjectList[objectIndex].unk_04C = 0x00000038;
+ break;
+ case 1:
+ gObjectList[objectIndex].model = podium2_dl3;
+ gObjectList[objectIndex].unk_04C = 0x0000002B;
+ break;
+ case 2:
+ gObjectList[objectIndex].model = podium3_dl3;
+ gObjectList[objectIndex].unk_04C = 0x0000001E;
+ break;
+ default:
+ break;
}
gObjectList[objectIndex].sizeScaling = 1.0f;
set_obj_origin_pos(objectIndex, D_800E634C[0][0] - 1.5, D_800E634C[0][1], D_800E634C[0][2]);
@@ -7980,47 +8474,47 @@ void func_8008629C(s32 objectIndex, s32 arg1) {
void func_80086424(s32 objectIndex) {
switch (gObjectList[objectIndex].unk_0AE) {
- case 0:
- break;
- case 1:
- gObjectList[objectIndex].velocity[1] = 0.75f;
- func_80086FD4(objectIndex);
- break;
- case 2:
- if (gObjectList[objectIndex].offset[1] >= -2.0) {
- gObjectList[objectIndex].velocity[1] -= 0.1;
- }
- 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;
+ case 0:
+ break;
+ case 1:
+ gObjectList[objectIndex].velocity[1] = 0.75f;
+ func_80086FD4(objectIndex);
+ break;
+ case 2:
+ if (gObjectList[objectIndex].offset[1] >= -2.0) {
+ gObjectList[objectIndex].velocity[1] -= 0.1;
+ }
+ 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;
}
object_calculate_new_pos_offset(objectIndex);
}
void func_80086528(s32 objectIndex, s32 arg1) {
- switch (gObjectList[objectIndex].state) { /* irregular */
- case 1:
- func_8008629C(objectIndex, arg1);
- break;
- case 2:
- if (func_8007278C(objectIndex, gObjectList[objectIndex].unk_04C) != 0) {
- func_80091440(arg1);
- func_80086E70(objectIndex);
- func_80072488(objectIndex);
- }
- break;
- case 0:
- break;
- case 3:
- if (gObjectList[objectIndex].unk_0AE == 0) {
- gObjectList[objectIndex].unk_048 = 1;
- func_80072488(objectIndex);
- }
- break;
+ switch (gObjectList[objectIndex].state) { /* irregular */
+ case 1:
+ func_8008629C(objectIndex, arg1);
+ break;
+ case 2:
+ if (func_8007278C(objectIndex, gObjectList[objectIndex].unk_04C) != 0) {
+ func_80091440(arg1);
+ func_80086E70(objectIndex);
+ func_80072488(objectIndex);
+ }
+ break;
+ case 0:
+ break;
+ case 3:
+ if (gObjectList[objectIndex].unk_0AE == 0) {
+ gObjectList[objectIndex].unk_048 = 1;
+ func_80072488(objectIndex);
+ }
+ break;
}
}
@@ -8030,15 +8524,15 @@ void func_80086604(void) {
if ((D_8016347C != 0) && (D_802874D8.unk1D < 3)) {
if (D_801658C6 == 0) {
- for(var_s1 = 0; var_s1 < 3; var_s1++) {
- objectIndex = indexObjectList1[var_s1];
+ for (var_s1 = 0; var_s1 < 3; var_s1++) {
+ objectIndex = indexObjectList1[var_s1];
init_object(objectIndex, 0);
}
D_801658C6 = 1;
}
}
- for(var_s1 = 0; var_s1 != 3; var_s1++) {
- objectIndex = indexObjectList1[var_s1];
+ for (var_s1 = 0; var_s1 != 3; var_s1++) {
+ objectIndex = indexObjectList1[var_s1];
if (gObjectList[objectIndex].state != 0) {
func_80086528(objectIndex, var_s1);
func_80086424(objectIndex);
@@ -8048,36 +8542,37 @@ void func_80086604(void) {
void func_80086700(s32 objectIndex) {
if (gCCSelection < CC_150) {
- switch (D_802874D8.unk1D) { /* switch 1; irregular */
- case 0: /* switch 1 */
- gObjectList[objectIndex].model = gold_trophy_dl10;
- break;
- case 1: /* switch 1 */
- gObjectList[objectIndex].model = gold_trophy_dl12;
- break;
- case 2: /* switch 1 */
- gObjectList[objectIndex].model = gold_trophy_dl14;
- break;
- default: /* switch 1 */
- break;
+ switch (D_802874D8.unk1D) { /* switch 1; irregular */
+ case 0: /* switch 1 */
+ gObjectList[objectIndex].model = gold_trophy_dl10;
+ break;
+ case 1: /* switch 1 */
+ gObjectList[objectIndex].model = gold_trophy_dl12;
+ break;
+ case 2: /* switch 1 */
+ gObjectList[objectIndex].model = gold_trophy_dl14;
+ break;
+ default: /* switch 1 */
+ break;
}
} else {
- switch (D_802874D8.unk1D) { /* irregular */
- case 0:
- gObjectList[objectIndex].model = gold_trophy_dl11;
- break;
- case 1:
- gObjectList[objectIndex].model = gold_trophy_dl13;
- break;
- case 2:
- gObjectList[objectIndex].model = gold_trophy_dl15;
- break;
- default:
- break;
+ switch (D_802874D8.unk1D) { /* irregular */
+ case 0:
+ gObjectList[objectIndex].model = gold_trophy_dl11;
+ break;
+ case 1:
+ gObjectList[objectIndex].model = gold_trophy_dl13;
+ break;
+ case 2:
+ gObjectList[objectIndex].model = gold_trophy_dl15;
+ break;
+ default:
+ break;
}
}
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]);
+ set_obj_origin_pos(objectIndex, gObjectList[indexObjectList2[0]].pos[0],
+ gObjectList[indexObjectList2[0]].pos[1] + 16.0, gObjectList[indexObjectList2[0]].pos[2]);
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;
@@ -8086,62 +8581,62 @@ void func_80086700(s32 objectIndex) {
}
void func_80086940(s32 objectIndex) {
- Object *object;
+ Object* object;
object = &gObjectList[objectIndex];
switch (object->unk_0AE) {
- case 0:
- break;
- case 1:
- func_80086FD4(objectIndex);
- break;
- case 2:
- f32_step_towards(&object->sizeScaling, 0.025f, 0.001f);
- func_80087C48(objectIndex, 6.0f, 0.1f, 0x000000C8);
- if ((f64) object->velocity[1] <= 0.0) {
- func_8008701C(objectIndex, 3);
- }
- break;
- case 3:
- func_800871AC(objectIndex, 0x00000064);
- break;
- case 4:
- D_801658D6 = 1;
- object->velocity[1] = -0.4f;
- func_80086FD4(objectIndex);
- object->origin_pos[1] = 90.0f;
- object->offset[1] = 60.0f;
- switch (D_802874D8.unk1D) { /* switch 1; irregular */
- case 1: /* switch 1 */
- object->origin_pos[0] -= 3.0;
- object->origin_pos[2] += 15.0;
+ case 0:
break;
- case 2: /* switch 1 */
- object->origin_pos[0] -= 2.0;
- object->origin_pos[2] -= 15.0;
+ case 1:
+ func_80086FD4(objectIndex);
break;
- }
- break;
- case 5:
- if ((f64) object->offset[1] <= 8.0) {
- f32_step_towards(&object->velocity[1], -0.1f, -0.01f);
- }
- object_add_velocity_offset_y(objectIndex);
- if ((f64) object->offset[1] <= 0.0) {
+ case 2:
+ f32_step_towards(&object->sizeScaling, 0.025f, 0.001f);
+ func_80087C48(objectIndex, 6.0f, 0.1f, 0x000000C8);
+ if ((f64) object->velocity[1] <= 0.0) {
+ func_8008701C(objectIndex, 3);
+ }
+ break;
+ case 3:
+ func_800871AC(objectIndex, 0x00000064);
+ break;
+ case 4:
+ D_801658D6 = 1;
+ object->velocity[1] = -0.4f;
func_80086FD4(objectIndex);
- }
- break;
- case 6:
- if (func_800871AC(objectIndex, 0x00000041) != 0) {
- D_801658F4 = 1;
- }
- break;
- case 7:
- if (func_800871AC(objectIndex, 0x00000064) != 0) {
- func_8009265C();
- func_80086F60(objectIndex);
- }
- break;
+ object->origin_pos[1] = 90.0f;
+ object->offset[1] = 60.0f;
+ switch (D_802874D8.unk1D) { /* switch 1; irregular */
+ case 1: /* switch 1 */
+ object->origin_pos[0] -= 3.0;
+ object->origin_pos[2] += 15.0;
+ break;
+ case 2: /* switch 1 */
+ object->origin_pos[0] -= 2.0;
+ object->origin_pos[2] -= 15.0;
+ break;
+ }
+ break;
+ case 5:
+ if ((f64) object->offset[1] <= 8.0) {
+ f32_step_towards(&object->velocity[1], -0.1f, -0.01f);
+ }
+ object_add_velocity_offset_y(objectIndex);
+ if ((f64) object->offset[1] <= 0.0) {
+ func_80086FD4(objectIndex);
+ }
+ break;
+ case 6:
+ if (func_800871AC(objectIndex, 0x00000041) != 0) {
+ D_801658F4 = 1;
+ }
+ break;
+ case 7:
+ if (func_800871AC(objectIndex, 0x00000064) != 0) {
+ func_8009265C();
+ func_80086F60(objectIndex);
+ }
+ break;
}
if (D_801658D6 != 0) {
object->direction_angle[0] += 0x400;
@@ -8155,13 +8650,13 @@ void func_80086940(s32 objectIndex) {
}
void func_80086C14(s32 objectIndex) {
- switch (gObjectList[objectIndex].state) { /* irregular */
- case 1:
- func_80086700(objectIndex);
- break;
- case 0:
- case 2:
- break;
+ switch (gObjectList[objectIndex].state) { /* irregular */
+ case 1:
+ func_80086700(objectIndex);
+ break;
+ case 0:
+ case 2:
+ break;
}
}