diff options
| author | coco875 <59367621+coco875@users.noreply.github.com> | 2024-08-28 01:47:39 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-27 17:47:39 -0600 |
| commit | a1f0d32d666c07d0754d97f107a5be59153768fd (patch) | |
| tree | fcc84d9daa940274be8cf76715be902d93338e64 /src/actors | |
| parent | bb3cbe0500197f894c83230a9a170a2cbe7aa3e8 (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/actors')
35 files changed, 1105 insertions, 886 deletions
diff --git a/src/actors/banana/render.inc.c b/src/actors/banana/render.inc.c index ee7220421..ae87fc48d 100644 --- a/src/actors/banana/render.inc.c +++ b/src/actors/banana/render.inc.c @@ -9,28 +9,29 @@ * @param arg1 * @param banana */ -void render_actor_banana(Camera *camera, UNUSED Mat4 arg1, struct BananaActor *banana) { +void render_actor_banana(Camera* camera, UNUSED Mat4 arg1, struct BananaActor* banana) { UNUSED s32 pad[2]; s32 maxObjectsReached; Vec3s sp7C; Mat4 sp3C; - f32 temp = is_within_render_distance(camera->pos, banana->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 490000.0f); + f32 temp = is_within_render_distance(camera->pos, banana->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], + 490000.0f); if (temp < 0.0f) { - actor_not_rendered(camera, (struct Actor *) banana); + actor_not_rendered(camera, (struct Actor*) banana); return; } if ((banana->pos[1] > gCourseMaxY + 800.0f)) { - actor_not_rendered(camera, (struct Actor *) banana); + actor_not_rendered(camera, (struct Actor*) banana); return; } if (banana->pos[1] < (gCourseMinY - 800.0f)) { - actor_not_rendered(camera, (struct Actor *) banana); + actor_not_rendered(camera, (struct Actor*) banana); return; } - actor_rendered(camera, (struct Actor *) banana); + actor_rendered(camera, (struct Actor*) banana); if (banana->state == 5) { mtxf_pos_rotation_xyz(sp3C, banana->pos, banana->rot); @@ -42,7 +43,9 @@ void render_actor_banana(Camera *camera, UNUSED Mat4 arg1, struct BananaActor *b } maxObjectsReached = render_set_position(sp3C, 0) == 0; - if (maxObjectsReached) { return; } + if (maxObjectsReached) { + return; + } if (banana->state != 5) { gSPDisplayList(gDisplayListHead++, &common_model_banana); diff --git a/src/actors/banana/update.inc.c b/src/actors/banana/update.inc.c index 9d31b1166..eb808aed1 100644 --- a/src/actors/banana/update.inc.c +++ b/src/actors/banana/update.inc.c @@ -5,14 +5,14 @@ /** * @brief Update the banana actor - * - * @param banana + * + * @param banana */ -void update_actor_banana(struct BananaActor *banana) { +void update_actor_banana(struct BananaActor* banana) { UNUSED f32 pad; - Player *player; - struct BananaActor *elderBanana; - struct Controller *controller; + Player* player; + struct BananaActor* elderBanana; + struct Controller* controller; Vec3f someOtherVelocity; Vec3f someVelocity; f32 temp_f0; @@ -30,157 +30,163 @@ void update_actor_banana(struct BananaActor *banana) { player = &gPlayers[banana->rot[0]]; switch (banana->state) { - case HELD_BANANA: - temp_f2 = player->pos[0] - banana->pos[0]; - temp_f14 = player->pos[1] - banana->pos[1]; - temp_f16 = player->pos[2] - banana->pos[2]; - temp_f12 = sqrtf((temp_f2 * temp_f2) + (temp_f14 * temp_f14) + (temp_f16 * temp_f16)) / 10.0f; - if (temp_f12 == 0.0f) { - banana->pos[0] = player->pos[0] + 0.2f; - banana->pos[1] = player->pos[1] + 0.2f; - banana->pos[2] = player->pos[2] + 0.2f; - } else { - temp_f2 /= temp_f12; - temp_f14 /= temp_f12; - temp_f16 /= temp_f12; - banana->pos[0] = player->pos[0] - temp_f2; - banana->pos[1] = player->pos[1] - temp_f14 - 2.0f; - banana->pos[2] = player->pos[2] - temp_f16; - } - check_bounding_collision(&banana->unk30, banana->boundingBoxSize + 1.0f, banana->pos[0], banana->pos[1], banana->pos[2]); - func_802B4E30((struct Actor *) banana); - if ((player->type & PLAYER_HUMAN) != 0) { - if (gDemoMode) { - controller = gControllerOne; + case HELD_BANANA: + temp_f2 = player->pos[0] - banana->pos[0]; + temp_f14 = player->pos[1] - banana->pos[1]; + temp_f16 = player->pos[2] - banana->pos[2]; + temp_f12 = sqrtf((temp_f2 * temp_f2) + (temp_f14 * temp_f14) + (temp_f16 * temp_f16)) / 10.0f; + if (temp_f12 == 0.0f) { + banana->pos[0] = player->pos[0] + 0.2f; + banana->pos[1] = player->pos[1] + 0.2f; + banana->pos[2] = player->pos[2] + 0.2f; } else { - controller = &gControllers[banana->rot[0]]; + temp_f2 /= temp_f12; + temp_f14 /= temp_f12; + temp_f16 /= temp_f12; + banana->pos[0] = player->pos[0] - temp_f2; + banana->pos[1] = player->pos[1] - temp_f14 - 2.0f; + banana->pos[2] = player->pos[2] - temp_f16; } - if ((controller->buttonDepressed & Z_TRIG) != 0) { - controller->buttonDepressed &= ~Z_TRIG; - banana->state = 1; - banana->unk_04 = 0x00B4; - player->soundEffects &= ~HOLD_BANANA_SOUND_EFFECT; - func_800C9060(player - gPlayerOne, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x12)); - pad3 = controller->rawStickY; - if ((pad3 > 30.0f) && (controller->rawStickX < 10) && (controller->rawStickX >= -9)) { - pad3 = pad3 - ((f32) 30); - pad3 = (pad3 / 20.0f) + 0.5f; - if (player->unk_094 < 2.0f) { - temp_f0 = 4.0f; + check_bounding_collision(&banana->unk30, banana->boundingBoxSize + 1.0f, banana->pos[0], banana->pos[1], + banana->pos[2]); + func_802B4E30((struct Actor*) banana); + if ((player->type & PLAYER_HUMAN) != 0) { + if (gDemoMode) { + controller = gControllerOne; + } else { + controller = &gControllers[banana->rot[0]]; + } + if ((controller->buttonDepressed & Z_TRIG) != 0) { + controller->buttonDepressed &= ~Z_TRIG; + banana->state = 1; + banana->unk_04 = 0x00B4; + player->soundEffects &= ~HOLD_BANANA_SOUND_EFFECT; + func_800C9060(player - gPlayerOne, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x12)); + pad3 = controller->rawStickY; + if ((pad3 > 30.0f) && (controller->rawStickX < 10) && (controller->rawStickX >= -9)) { + pad3 = pad3 - ((f32) 30); + pad3 = (pad3 / 20.0f) + 0.5f; + if (player->unk_094 < 2.0f) { + temp_f0 = 4.0f; + } else { + temp_f0 = (player->unk_094 * 0.75f) + 3.5f + pad3; + } + vec3f_set(someVelocity, 0, pad3, temp_f0); + func_802B64C4(someVelocity, player->rotation[1] + player->unk_0C0); + banana->velocity[0] = someVelocity[0]; + banana->velocity[1] = someVelocity[1]; + banana->velocity[2] = someVelocity[2]; } else { - temp_f0 = (player->unk_094 * 0.75f) + 3.5f + pad3; + banana->velocity[0] = 0; + banana->velocity[1] = 1.5f; + banana->velocity[2] = 0; } - vec3f_set(someVelocity, 0, pad3, temp_f0); - func_802B64C4(someVelocity, player->rotation[1] + player->unk_0C0); - banana->velocity[0] = someVelocity[0]; - banana->velocity[1] = someVelocity[1]; - banana->velocity[2] = someVelocity[2]; - } else { - banana->velocity[0] = 0; - banana->velocity[1] = 1.5f; - banana->velocity[2] = 0; } } - } - break; - case DROPPED_BANANA: - if (banana->unk_04 != 0) { + break; + case DROPPED_BANANA: + if (banana->unk_04 != 0) { + banana->unk_04 -= 1; + if (banana->unk_04 == 0) { + banana->flags &= ~0x1000; + } + } + banana->pos[0] += banana->velocity[0]; + banana->pos[2] += banana->velocity[2]; + if (banana->velocity[1] > -1.0f) { + banana->velocity[1] -= 0.15f; + } + banana->pos[1] += banana->velocity[1]; + if ((banana->pos[2] < (f32) gCourseMinZ) || ((f32) gCourseMaxZ < banana->pos[2]) || + (banana->pos[0] < (f32) gCourseMinX) || ((f32) gCourseMaxX < banana->pos[0]) || + (banana->pos[1] < (f32) gCourseMinY)) { + destroy_destructable_actor((struct Actor*) banana); + } else { + check_bounding_collision(&banana->unk30, banana->boundingBoxSize + 1.0f, banana->pos[0], banana->pos[1], + banana->pos[2]); + banana->unk30.unk34 = 1; + if ((banana->unk30.unk34 != 0) && (banana->unk30.surfaceDistance[2] < 0.0f)) { + someOtherVelocity[0] = -banana->unk30.orientationVector[0]; + someOtherVelocity[1] = -banana->unk30.orientationVector[1]; + someOtherVelocity[2] = -banana->unk30.orientationVector[2]; + banana->pos[0] += someOtherVelocity[0] * banana->unk30.surfaceDistance[2]; + banana->pos[1] += someOtherVelocity[1] * banana->unk30.surfaceDistance[2]; + banana->pos[2] += someOtherVelocity[2] * banana->unk30.surfaceDistance[2]; + banana->flags &= ~0x1000; + banana->state = 4; + } + } + break; + case FIRST_BANANA_BUNCH_BANANA: + someVelocity[0] = 0.0f; + someVelocity[1] = 0.0f; + someVelocity[2] = -5.0f; + func_802B64C4(someVelocity, player->rotation[1] + player->unk_0C0); + unkX = player->pos[0] + someVelocity[0]; + unkY = player->pos[1] + someVelocity[1]; + unkZ = player->pos[2] + someVelocity[2]; + temp_f2 = unkX - banana->pos[0]; + temp_f14 = unkY - banana->pos[1]; + temp_f16 = unkZ - banana->pos[2]; + temp_f0 = sqrtf((temp_f2 * temp_f2) + (temp_f14 * temp_f14) + (temp_f16 * temp_f16)); + if (temp_f0 == 0.0f) { + banana->pos[0] = player->pos[0] + 0.2f; + banana->pos[1] = player->pos[1] + 0.2f; + banana->pos[2] = player->pos[2] + 0.2f; + } else { + temp_f2 /= temp_f0; + temp_f14 /= temp_f0; + temp_f16 /= temp_f0; + banana->pos[0] = someVelocity[0] + (unkX - temp_f2); + banana->pos[1] = unkY - temp_f14 - 2.0f; + banana->pos[2] = unkZ - temp_f16; + } + check_bounding_collision(&banana->unk30, banana->boundingBoxSize + 1.0f, banana->pos[0], banana->pos[1], + banana->pos[2]); + func_802B4E30((struct Actor*) banana); + break; + case BANANA_BUNCH_BANANA: + elderBanana = (struct BananaActor*) &gActorList[banana->elderIndex]; + temp_f2 = elderBanana->pos[0] - banana->pos[0]; + temp_f14 = elderBanana->pos[1] - banana->pos[1]; + temp_f16 = elderBanana->pos[2] - banana->pos[2]; + temp_f12 = sqrtf((temp_f2 * temp_f2) + (temp_f14 * temp_f14) + (temp_f16 * temp_f16)) / 5.0f; + if (temp_f12 == 0.0f) { + banana->pos[0] = elderBanana->pos[0] + 0.2f; + banana->pos[1] = elderBanana->pos[1] + 0.2f; + banana->pos[2] = elderBanana->pos[2] + 0.2f; + } else { + temp_f2 /= temp_f12; + temp_f14 /= temp_f12; + temp_f16 /= temp_f12; + banana->pos[0] = elderBanana->pos[0] - temp_f2; + banana->pos[1] = elderBanana->pos[1] - temp_f14 - 2.0f; + banana->pos[2] = elderBanana->pos[2] - temp_f16; + } + var_f8 = banana->pos[2]; + check_bounding_collision(&banana->unk30, banana->boundingBoxSize + 1.0f, banana->pos[0], banana->pos[1], + banana->pos[2]); + func_802B4E30((struct Actor*) banana); + break; + case DESTROYED_BANANA: + banana->velocity[1] -= 0.3f; + if (banana->velocity[1] < -5.0f) { + banana->velocity[1] = -5.0f; + } + banana->pos[1] += banana->velocity[1]; + banana->rot[0] += 0x16C; + banana->rot[1] -= 0x5B0; + banana->rot[2] += 0x38E; banana->unk_04 -= 1; if (banana->unk_04 == 0) { - banana->flags &= ~0x1000; - } - } - banana->pos[0] += banana->velocity[0]; - banana->pos[2] += banana->velocity[2]; - if (banana->velocity[1] > -1.0f) { - banana->velocity[1] -= 0.15f; - } - banana->pos[1] += banana->velocity[1]; - if ((banana->pos[2] < (f32) gCourseMinZ) || ((f32) gCourseMaxZ < banana->pos[2]) || (banana->pos[0] < (f32) gCourseMinX) || ((f32) gCourseMaxX < banana->pos[0]) || (banana->pos[1] < (f32) gCourseMinY)) { - destroy_destructable_actor((struct Actor *) banana); - } else { - check_bounding_collision(&banana->unk30, banana->boundingBoxSize + 1.0f, banana->pos[0], banana->pos[1], banana->pos[2]); - banana->unk30.unk34 = 1; - if ((banana->unk30.unk34 != 0) && (banana->unk30.surfaceDistance[2] < 0.0f)) { - someOtherVelocity[0] = -banana->unk30.orientationVector[0]; - someOtherVelocity[1] = -banana->unk30.orientationVector[1]; - someOtherVelocity[2] = -banana->unk30.orientationVector[2]; - banana->pos[0] += someOtherVelocity[0] * banana->unk30.surfaceDistance[2]; - banana->pos[1] += someOtherVelocity[1] * banana->unk30.surfaceDistance[2]; - banana->pos[2] += someOtherVelocity[2] * banana->unk30.surfaceDistance[2]; - banana->flags &= ~0x1000; - banana->state = 4; + destroy_actor((struct Actor*) banana); } - } - break; - case FIRST_BANANA_BUNCH_BANANA: - someVelocity[0] = 0.0f; - someVelocity[1] = 0.0f; - someVelocity[2] = -5.0f; - func_802B64C4(someVelocity, player->rotation[1] + player->unk_0C0); - unkX = player->pos[0] + someVelocity[0]; - unkY = player->pos[1] + someVelocity[1]; - unkZ = player->pos[2] + someVelocity[2]; - temp_f2 = unkX - banana->pos[0]; - temp_f14 = unkY - banana->pos[1]; - temp_f16 = unkZ - banana->pos[2]; - temp_f0 = sqrtf((temp_f2 * temp_f2) + (temp_f14 * temp_f14) + (temp_f16 * temp_f16)); - if (temp_f0 == 0.0f) { - banana->pos[0] = player->pos[0] + 0.2f; - banana->pos[1] = player->pos[1] + 0.2f; - banana->pos[2] = player->pos[2] + 0.2f; - } else { - temp_f2 /= temp_f0; - temp_f14 /= temp_f0; - temp_f16 /= temp_f0; - banana->pos[0] = someVelocity[0] + (unkX - temp_f2); - banana->pos[1] = unkY - temp_f14 - 2.0f; - banana->pos[2] = unkZ - temp_f16; - } - check_bounding_collision(&banana->unk30, banana->boundingBoxSize + 1.0f, banana->pos[0], banana->pos[1], banana->pos[2]); - func_802B4E30((struct Actor *) banana); - break; - case BANANA_BUNCH_BANANA: - elderBanana = (struct BananaActor*)&gActorList[banana->elderIndex]; - temp_f2 = elderBanana->pos[0] - banana->pos[0]; - temp_f14 = elderBanana->pos[1] - banana->pos[1]; - temp_f16 = elderBanana->pos[2] - banana->pos[2]; - temp_f12 = sqrtf((temp_f2 * temp_f2) + (temp_f14 * temp_f14) + (temp_f16 * temp_f16)) / 5.0f; - if (temp_f12 == 0.0f) { - banana->pos[0] = elderBanana->pos[0] + 0.2f; - banana->pos[1] = elderBanana->pos[1] + 0.2f; - banana->pos[2] = elderBanana->pos[2] + 0.2f; - } else { - temp_f2 /= temp_f12; - temp_f14 /= temp_f12; - temp_f16 /= temp_f12; - banana->pos[0] = elderBanana->pos[0] - temp_f2; - banana->pos[1] = elderBanana->pos[1] - temp_f14 - 2.0f; - banana->pos[2] = elderBanana->pos[2] - temp_f16; - } - var_f8 = banana->pos[2]; - check_bounding_collision(&banana->unk30, banana->boundingBoxSize + 1.0f, banana->pos[0], banana->pos[1], banana->pos[2]); - func_802B4E30((struct Actor *) banana); - break; - case DESTROYED_BANANA: - banana->velocity[1] -= 0.3f; - if (banana->velocity[1] < -5.0f) { - banana->velocity[1] = -5.0f; - } - banana->pos[1] += banana->velocity[1]; - banana->rot[0] += 0x16C; - banana->rot[1] -= 0x5B0; - banana->rot[2] += 0x38E; - banana->unk_04 -= 1; - if (banana->unk_04 == 0) { - destroy_actor((struct Actor *) banana); - } - break; - case BANANA_ON_GROUND: - banana->flags |= 0xC000; - banana->flags &= ~0x1000; - break; - default: - break; + break; + case BANANA_ON_GROUND: + banana->flags |= 0xC000; + banana->flags &= ~0x1000; + break; + default: + break; } } diff --git a/src/actors/blue_and_red_shells/render.inc.c b/src/actors/blue_and_red_shells/render.inc.c index c0dc24c8f..4e60c9f31 100644 --- a/src/actors/blue_and_red_shells/render.inc.c +++ b/src/actors/blue_and_red_shells/render.inc.c @@ -8,7 +8,7 @@ * @param matrix * @param shell */ -void render_actor_red_shell(Camera *camera, Mat4 matrix, struct ShellActor *shell) { +void render_actor_red_shell(Camera* camera, Mat4 matrix, struct ShellActor* shell) { gDPLoadTLUT_pal256(gDisplayListHead++, &gTLUTRedShell); // set texture render_actor_shell(camera, matrix, shell); } @@ -20,7 +20,7 @@ void render_actor_red_shell(Camera *camera, Mat4 matrix, struct ShellActor *shel * @param matrix * @param shell */ -void render_actor_blue_shell(Camera *camera, Mat4 matrix, struct ShellActor *shell) { +void render_actor_blue_shell(Camera* camera, Mat4 matrix, struct ShellActor* shell) { gDPLoadTLUT_pal256(gDisplayListHead++, common_tlut_blue_shell); // set texture render_actor_shell(camera, matrix, shell); } diff --git a/src/actors/blue_and_red_shells/update.inc.c b/src/actors/blue_and_red_shells/update.inc.c index 81bec3241..a6eb2f269 100644 --- a/src/actors/blue_and_red_shells/update.inc.c +++ b/src/actors/blue_and_red_shells/update.inc.c @@ -5,7 +5,7 @@ #include <actors_extended.h> #include <code_800029B0.h> -void func_802B3B44(struct ShellActor *shell) { +void func_802B3B44(struct ShellActor* shell) { u16 currentWaypoint; u16 nextWaypoint; f32 temp_f0; @@ -29,7 +29,7 @@ void func_802B3B44(struct ShellActor *shell) { Vec3f origPos; currentWaypoint = shell->pathIndex; - temp_f2 = D_80164490[currentWaypoint].posX; + temp_f2 = D_80164490[currentWaypoint].posX; temp_f12 = D_80164490[currentWaypoint].posY; temp_f28 = D_80164490[currentWaypoint].posZ; nextWaypoint = currentWaypoint + 1; @@ -38,18 +38,18 @@ void func_802B3B44(struct ShellActor *shell) { nextWaypoint -= D_80164430; } - temp_f20 = temp_f2 - shell->pos[0]; + temp_f20 = temp_f2 - shell->pos[0]; temp_f22 = temp_f12 - shell->pos[1]; temp_f24 = temp_f28 - shell->pos[2]; temp_f0 = (temp_f20 * temp_f20) + (temp_f22 * temp_f22) + (temp_f24 * temp_f24); if (temp_f0 > 400.0f) { temp_f18_3 = D_80164490[nextWaypoint].posX; temp_f16_3 = D_80164490[nextWaypoint].posY; - temp_f26 = D_80164490[nextWaypoint].posZ; + temp_f26 = D_80164490[nextWaypoint].posZ; temp_f12_0 = temp_f18_3 - shell->pos[0]; temp_f12_1 = temp_f16_3 - shell->pos[1]; - temp_f12_2 = temp_f26 - shell->pos[2]; + temp_f12_2 = temp_f26 - shell->pos[2]; temp_f0_3 = (temp_f12_0 * temp_f12_0) + (temp_f12_1 * temp_f12_1) + (temp_f12_2 * temp_f12_2); if (temp_f0_3 < temp_f0) { @@ -85,8 +85,9 @@ void func_802B3B44(struct ShellActor *shell) { shell->pos[0] += temp_f12_3; shell->pos[1] += temp_f14_2; shell->pos[2] += temp_f16_2; - actor_terrain_collision(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], origPos[0], origPos[1], origPos[2]); - func_802B4E30((struct Actor *) shell); + actor_terrain_collision(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], origPos[0], + origPos[1], origPos[2]); + func_802B4E30((struct Actor*) shell); } } else { if (temp_f0 > 5.0f) { @@ -97,20 +98,20 @@ void func_802B3B44(struct ShellActor *shell) { } else { temp_f18_3 = D_80164490[nextWaypoint].posX; temp_f16_3 = D_80164490[nextWaypoint].posY; - temp_f26 = D_80164490[nextWaypoint].posZ; + temp_f26 = D_80164490[nextWaypoint].posZ; - shell->pos[0] = (temp_f2 + temp_f18_3) * 0.5f; + shell->pos[0] = (temp_f2 + temp_f18_3) * 0.5f; shell->pos[1] = ((temp_f12 + temp_f16_3) * 0.5f) + shell->boundingBoxSize; - shell->pos[2] = (temp_f28 + temp_f26) * 0.5f; + shell->pos[2] = (temp_f28 + temp_f26) * 0.5f; - shell->velocity[0] = (temp_f18_3 - temp_f2) * 0.5f; + shell->velocity[0] = (temp_f18_3 - temp_f2) * 0.5f; shell->velocity[1] = (temp_f16_3 - temp_f12) * 0.5f; - shell->velocity[2] = (temp_f26 - temp_f28) * 0.5f; + shell->velocity[2] = (temp_f26 - temp_f28) * 0.5f; } } } -void func_802B3E7C(struct ShellActor *shell, Player *player) { +void func_802B3E7C(struct ShellActor* shell, Player* player) { f32 x_velocity; f32 z_velocity; f32 xz_dist; @@ -140,10 +141,11 @@ void func_802B3E7C(struct ShellActor *shell, Player *player) { shell->velocity[2] = z_velocity; if (player->effects & BOO_EFFECT) { - destroy_destructable_actor((struct Actor *) shell); + destroy_destructable_actor((struct Actor*) shell); } else { - actor_terrain_collision(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], newPosition[0], newPosition[1], newPosition[2]); - func_802B4E30((struct Actor *) shell); + actor_terrain_collision(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], newPosition[0], + newPosition[1], newPosition[2]); + func_802B4E30((struct Actor*) shell); func_802B4104(shell); } } @@ -151,9 +153,9 @@ void func_802B3E7C(struct ShellActor *shell, Player *player) { /** * Only used in Battle mode * Likely trying to find the nearest player that is not the shell's owner and is not dead -**/ -s16 func_802B3FD0(Player *owner, struct ShellActor *shell) { - Player *player; + **/ +s16 func_802B3FD0(Player* owner, struct ShellActor* shell) { + Player* player; s32 playerIndex; f32 playerToShellDistance; s16 playerId = -1; @@ -161,28 +163,36 @@ s16 func_802B3FD0(Player *owner, struct ShellActor *shell) { for (playerIndex = 0; playerIndex < 4; playerIndex++) { player = &gPlayers[playerIndex]; - if ((player->type & PLAYER_EXISTS) == 0) {continue;} - if (player == owner) {continue; } - if (gPlayerBalloonCount[playerIndex] < 0) { continue; } - // func_802B51E8 is not quite a 3D distance function, it doubles (rather than squares) the Z difference of the positions - playerToShellDistance = func_802B51E8(player->pos, shell->pos); - if (playerToShellDistance < smallestDistance) { - smallestDistance = playerToShellDistance; - playerId = player - gPlayerOne; - } - + if ((player->type & PLAYER_EXISTS) == 0) { + continue; + } + if (player == owner) { + continue; + } + if (gPlayerBalloonCount[playerIndex] < 0) { + continue; + } + // func_802B51E8 is not quite a 3D distance function, it doubles (rather than squares) the Z difference of the + // positions + playerToShellDistance = func_802B51E8(player->pos, shell->pos); + if (playerToShellDistance < smallestDistance) { + smallestDistance = playerToShellDistance; + playerId = player - gPlayerOne; + } } return playerId; } -void func_802B4104(struct ShellActor *shell) { - if ((shell->unk30.surfaceDistance[0] < 0.0f) && ((shell->unk30.unk48[1] < 0.25f) || (shell->unk30.unk48[1] > -0.25f))) { - destroy_destructable_actor((struct Actor *) shell); +void func_802B4104(struct ShellActor* shell) { + if ((shell->unk30.surfaceDistance[0] < 0.0f) && + ((shell->unk30.unk48[1] < 0.25f) || (shell->unk30.unk48[1] > -0.25f))) { + destroy_destructable_actor((struct Actor*) shell); func_800C98B8(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x54)); shell->flags |= 0x80; - } else if ((shell->unk30.surfaceDistance[1] < 0.0f) && ((shell->unk30.unk54[1] < 0.25f) || (shell->unk30.unk54[1] < -0.25f))) { - destroy_destructable_actor((struct Actor *) shell); + } else if ((shell->unk30.surfaceDistance[1] < 0.0f) && + ((shell->unk30.unk54[1] < 0.25f) || (shell->unk30.unk54[1] < -0.25f))) { + destroy_destructable_actor((struct Actor*) shell); func_800C98B8(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x54)); shell->flags |= 0x80; } @@ -190,20 +200,20 @@ void func_802B4104(struct ShellActor *shell) { /** * @brief Update the red and blue shell actors - * - * @param shell + * + * @param shell */ -void update_actor_red_blue_shell(struct ShellActor *shell) { +void update_actor_red_blue_shell(struct ShellActor* shell) { UNUSED f32 pad9; - Player *player; + Player* player; f32 height; UNUSED f32 temp_f14; f32 temp_f2; s16 temp_v0; UNUSED s16 pad3; Vec3f somePosVel; - struct Controller *controller; - TripleShellParent *parent; + struct Controller* controller; + TripleShellParent* parent; UNUSED f32 pad0; UNUSED f32 pad1; UNUSED f32 pad2; @@ -227,241 +237,246 @@ void update_actor_red_blue_shell(struct ShellActor *shell) { pad0 = shell->pos[2]; pad2 = shell->pos[1]; pad13 = shell->type; - if ((pad0 < (f32) gCourseMinZ) || ((f32) gCourseMaxZ < pad0) || (pad1 < (f32) gCourseMinX) || ((f32) gCourseMaxX < pad1) || (pad2 < (f32) gCourseMinY)) { - destroy_destructable_actor((struct Actor *) shell); + if ((pad0 < (f32) gCourseMinZ) || ((f32) gCourseMaxZ < pad0) || (pad1 < (f32) gCourseMinX) || + ((f32) gCourseMaxX < pad1) || (pad2 < (f32) gCourseMinY)) { + destroy_destructable_actor((struct Actor*) shell); } shell->rotVelocity += 0x71C; switch (shell->state) { - case HELD_SHELL: - player = &gPlayers[shell->playerId]; - copy_collision(&player->collision, &shell->unk30); - somePosVel[0] = 0.0f; - somePosVel[1] = player->boundingBoxSize; - somePosVel[2] = -(player->boundingBoxSize + shell->boundingBoxSize + 2.0f); - mtxf_translate_vec3f_mat3(somePosVel, player->orientationMatrix); - shell->pos[0] = player->pos[0] + somePosVel[0]; - pad7 = player->pos[1] - somePosVel[1]; - shell->pos[2] = player->pos[2] + somePosVel[2]; - height = calculate_surface_height(shell->pos[0], pad7, shell->pos[2], player->collision.meshIndexZX); - temp_f2 = pad7 - height; - - if ((temp_f2 < 5.0f) && (temp_f2 > -5.0f)) { - shell->pos[1] = shell->boundingBoxSize + height; - } else { - shell->pos[1] = pad7; - } + case HELD_SHELL: + player = &gPlayers[shell->playerId]; + copy_collision(&player->collision, &shell->unk30); + somePosVel[0] = 0.0f; + somePosVel[1] = player->boundingBoxSize; + somePosVel[2] = -(player->boundingBoxSize + shell->boundingBoxSize + 2.0f); + mtxf_translate_vec3f_mat3(somePosVel, player->orientationMatrix); + shell->pos[0] = player->pos[0] + somePosVel[0]; + pad7 = player->pos[1] - somePosVel[1]; + shell->pos[2] = player->pos[2] + somePosVel[2]; + height = calculate_surface_height(shell->pos[0], pad7, shell->pos[2], player->collision.meshIndexZX); + temp_f2 = pad7 - height; - if ((player->type & PLAYER_HUMAN) != 0) { - if (gDemoMode) { - controller = gControllerOne; + if ((temp_f2 < 5.0f) && (temp_f2 > -5.0f)) { + shell->pos[1] = shell->boundingBoxSize + height; } else { - controller = &gControllers[shell->playerId]; + shell->pos[1] = pad7; } - } else { - controller = gControllerOne; - } - if ((controller->buttonDepressed & Z_TRIG) != 0) { - controller->buttonDepressed &= ~Z_TRIG; - shell->state = RELEASED_SHELL; - if (player->unk_0C0 > 0) { - shell->rotAngle = 0x78E3; + if ((player->type & PLAYER_HUMAN) != 0) { + if (gDemoMode) { + controller = gControllerOne; + } else { + controller = &gControllers[shell->playerId]; + } } else { - shell->rotAngle = -0x78E4; + controller = gControllerOne; } - } - break; - case RELEASED_SHELL: - player = &gPlayers[shell->playerId]; - if (shell->rotAngle > 0) { - shell->rotAngle -= 0x71C; - if (shell->rotAngle < 0) { - shell->state = MOVING_SHELL; - func_800C9060(shell->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04)); - func_800C90F4(shell->playerId, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00)); - if (pad13 == ACTOR_RED_SHELL) { - add_red_shell_in_unexpired_actor_list((struct Actor*)shell - gActorList); + + if ((controller->buttonDepressed & Z_TRIG) != 0) { + controller->buttonDepressed &= ~Z_TRIG; + shell->state = RELEASED_SHELL; + if (player->unk_0C0 > 0) { + shell->rotAngle = 0x78E3; } else { - add_blue_shell_in_unexpired_actor_list((struct Actor*)shell - gActorList); - func_800C9D80(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x51, 0x01, 0x80, 0x08)); + shell->rotAngle = -0x78E4; } } - } else { - shell->rotAngle += 0x71C; + break; + case RELEASED_SHELL: + player = &gPlayers[shell->playerId]; if (shell->rotAngle > 0) { - shell->state = MOVING_SHELL; - func_800C9060(shell->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04)); - func_800C90F4(shell->playerId, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00)); - if (pad13 == ACTOR_RED_SHELL) { - add_red_shell_in_unexpired_actor_list((struct Actor*)shell - gActorList); - } else { - add_blue_shell_in_unexpired_actor_list((struct Actor*)shell - gActorList); - func_800C9D80(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x51, 0x01, 0x80, 0x08)); + shell->rotAngle -= 0x71C; + if (shell->rotAngle < 0) { + shell->state = MOVING_SHELL; + func_800C9060(shell->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04)); + func_800C90F4(shell->playerId, + (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00)); + if (pad13 == ACTOR_RED_SHELL) { + add_red_shell_in_unexpired_actor_list((struct Actor*) shell - gActorList); + } else { + add_blue_shell_in_unexpired_actor_list((struct Actor*) shell - gActorList); + func_800C9D80(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x51, 0x01, 0x80, 0x08)); + } } - } - } - if (shell->state == MOVING_SHELL) { - shell->someTimer = 0x001E; - height = 8.0f; - if (player->unk_094 > 8.0f) { - height = player->unk_094 * 1.2f; - } - somePosVel[0] = 0.0f; - somePosVel[1] = 0.0f; - somePosVel[2] = height; - func_802B64C4(somePosVel, (s16) (player->rotation[1] + player->unk_0C0)); - shell->velocity[0] = somePosVel[0]; - shell->velocity[1] = somePosVel[1]; - shell->velocity[2] = somePosVel[2]; - } else { - somePosVel[0] = sins(shell->rotAngle) * 8.0f; - somePosVel[1] = shell->boundingBoxSize - player->boundingBoxSize; - somePosVel[2] = coss(shell->rotAngle) * 8.0f; - mtxf_translate_vec3f_mat3(somePosVel, player->orientationMatrix); - shell->pos[0] = player->pos[0] + somePosVel[0]; - shell->pos[1] = player->pos[1] + somePosVel[1]; - shell->pos[2] = player->pos[2] + somePosVel[2]; - } - break; - case MOVING_SHELL: - player = &gPlayers[shell->playerId]; - shell->someTimer -= 1; - if (shell->someTimer == 0) { - shell->flags &= 0xEFFF; - if (shell->type == ACTOR_BLUE_SPINY_SHELL) { - shell->targetPlayer = gPlayerPositionLUT[0]; - shell->state = BLUE_SHELL_LOCK_ON; - shell->shellId = 1000.0f; - temp_v0 = gNearestWaypointByPlayerId[player - gPlayerOne] + 8; - if ((s32) D_80164430 < temp_v0) { - temp_v0 -= D_80164430; + } else { + shell->rotAngle += 0x71C; + if (shell->rotAngle > 0) { + shell->state = MOVING_SHELL; + func_800C9060(shell->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04)); + func_800C90F4(shell->playerId, + (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00)); + if (pad13 == ACTOR_RED_SHELL) { + add_red_shell_in_unexpired_actor_list((struct Actor*) shell - gActorList); + } else { + add_blue_shell_in_unexpired_actor_list((struct Actor*) shell - gActorList); + func_800C9D80(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x51, 0x01, 0x80, 0x08)); + } } - shell->pathIndex = temp_v0; - } else if (gModeSelection == BATTLE) { - shell->shellId = 1000.0f; - shell->targetPlayer = func_802B3FD0(player, shell); - if (shell->targetPlayer < 0) { - shell->flags = 0x8000; - shell->velocity[1] = 3.0f; - shell->pathIndex = 0; - shell->someTimer = 0x003C; - shell->state = DESTROYED_SHELL; - } else { - shell->state = RED_SHELL_LOCK_ON; + } + if (shell->state == MOVING_SHELL) { + shell->someTimer = 0x001E; + height = 8.0f; + if (player->unk_094 > 8.0f) { + height = player->unk_094 * 1.2f; } + somePosVel[0] = 0.0f; + somePosVel[1] = 0.0f; + somePosVel[2] = height; + func_802B64C4(somePosVel, (s16) (player->rotation[1] + player->unk_0C0)); + shell->velocity[0] = somePosVel[0]; + shell->velocity[1] = somePosVel[1]; + shell->velocity[2] = somePosVel[2]; } else { - if (player->currentRank == 0) { - shell->state = TRIPLE_GREEN_SHELL; - shell->someTimer = 0x0258; + somePosVel[0] = sins(shell->rotAngle) * 8.0f; + somePosVel[1] = shell->boundingBoxSize - player->boundingBoxSize; + somePosVel[2] = coss(shell->rotAngle) * 8.0f; + mtxf_translate_vec3f_mat3(somePosVel, player->orientationMatrix); + shell->pos[0] = player->pos[0] + somePosVel[0]; + shell->pos[1] = player->pos[1] + somePosVel[1]; + shell->pos[2] = player->pos[2] + somePosVel[2]; + } + break; + case MOVING_SHELL: + player = &gPlayers[shell->playerId]; + shell->someTimer -= 1; + if (shell->someTimer == 0) { + shell->flags &= 0xEFFF; + if (shell->type == ACTOR_BLUE_SPINY_SHELL) { + shell->targetPlayer = gPlayerPositionLUT[0]; + shell->state = BLUE_SHELL_LOCK_ON; + shell->shellId = 1000.0f; temp_v0 = gNearestWaypointByPlayerId[player - gPlayerOne] + 8; if ((s32) D_80164430 < temp_v0) { temp_v0 -= D_80164430; } shell->pathIndex = temp_v0; - } else if (player->currentRank >= 5) { - shell->state = GREEN_SHELL_HIT_A_RACER; + } else if (gModeSelection == BATTLE) { shell->shellId = 1000.0f; - temp_v0 = gNearestWaypointByPlayerId[player - gPlayerOne] + 8; - if ((s32) D_80164430 < temp_v0) { - temp_v0 -= D_80164430; + shell->targetPlayer = func_802B3FD0(player, shell); + if (shell->targetPlayer < 0) { + shell->flags = 0x8000; + shell->velocity[1] = 3.0f; + shell->pathIndex = 0; + shell->someTimer = 0x003C; + shell->state = DESTROYED_SHELL; + } else { + shell->state = RED_SHELL_LOCK_ON; } - shell->pathIndex = temp_v0; - shell->targetPlayer = gPlayerPositionLUT[player->currentRank - 1]; } else { - shell->state = RED_SHELL_LOCK_ON; - shell->shellId = 1000.0f; - shell->targetPlayer = gPlayerPositionLUT[player->currentRank - 1]; + if (player->currentRank == 0) { + shell->state = TRIPLE_GREEN_SHELL; + shell->someTimer = 0x0258; + temp_v0 = gNearestWaypointByPlayerId[player - gPlayerOne] + 8; + if ((s32) D_80164430 < temp_v0) { + temp_v0 -= D_80164430; + } + shell->pathIndex = temp_v0; + } else if (player->currentRank >= 5) { + shell->state = GREEN_SHELL_HIT_A_RACER; + shell->shellId = 1000.0f; + temp_v0 = gNearestWaypointByPlayerId[player - gPlayerOne] + 8; + if ((s32) D_80164430 < temp_v0) { + temp_v0 -= D_80164430; + } + shell->pathIndex = temp_v0; + shell->targetPlayer = gPlayerPositionLUT[player->currentRank - 1]; + } else { + shell->state = RED_SHELL_LOCK_ON; + shell->shellId = 1000.0f; + shell->targetPlayer = gPlayerPositionLUT[player->currentRank - 1]; + } } } - } - shell->velocity[1] -= 0.5; - if (shell->velocity[1] < -2.0f) { - shell->velocity[1] = -2.0f; - } - origPos[0] = shell->pos[0]; - origPos[1] = shell->pos[1]; - origPos[2] = shell->pos[2]; - shell->pos[0] += shell->velocity[0]; - shell->pos[1] += shell->velocity[1]; - shell->pos[2] += shell->velocity[2]; - actor_terrain_collision(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], origPos[0], origPos[1], origPos[2]); - func_802B4E30((struct Actor *) shell); - func_802B4104(shell); - break; - case RED_SHELL_LOCK_ON: - func_802B3E7C(shell, &gPlayers[shell->targetPlayer]); - break; - case TRIPLE_GREEN_SHELL: - func_802B3B44(shell); - if (shell->someTimer == 0) { - if ((shell->flags & 0xF) == 0) { - destroy_destructable_actor((struct Actor *) shell); - } else { - shell->someTimer -= 1; + shell->velocity[1] -= 0.5; + if (shell->velocity[1] < -2.0f) { + shell->velocity[1] = -2.0f; } - } - break; - case GREEN_SHELL_HIT_A_RACER: - func_802B3B44(shell); - player = &gPlayers[shell->targetPlayer]; - height = player->pos[0]; - height -= shell->pos[0]; - temp_f2 = player->pos[2]; - temp_f2 -= shell->pos[2]; - if (((height * height) + (temp_f2 * temp_f2)) < 40000.0f) { - shell->state = RED_SHELL_LOCK_ON; - } - break; - case TRIPLE_RED_SHELL: - player = &gPlayers[shell->playerId]; - parent = (TripleShellParent *) &gActorList[shell->parentIndex]; - if (parent->type != ACTOR_TRIPLE_RED_SHELL) { - destroy_destructable_actor((struct Actor *) shell); - } else { - shell->rotAngle += parent->rotVelocity; - somePosVel[0] = sins(shell->rotAngle) * 8.0f; - somePosVel[1] = shell->boundingBoxSize - player->boundingBoxSize; - somePosVel[2] = coss(shell->rotAngle) * 8.0f; - mtxf_translate_vec3f_mat3(somePosVel, player->orientationMatrix); origPos[0] = shell->pos[0]; origPos[1] = shell->pos[1]; origPos[2] = shell->pos[2]; - shell->pos[0] = player->pos[0] + somePosVel[0]; - shell->pos[1] = player->pos[1] + somePosVel[1]; - shell->pos[2] = player->pos[2] + somePosVel[2]; - actor_terrain_collision(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], origPos[0], origPos[1], origPos[2]); - func_802B4E30((struct Actor *) shell); - } - break; - case DESTROYED_SHELL: - shell->velocity[1] -= 0.3f; - if (shell->velocity[1] < -5.0f) { - shell->velocity[1] = -5.0f; - } - shell->rotAngle += 0x5B0; - shell->someTimer -= 1; - shell->pos[1] += shell->velocity[1]; - if (shell->someTimer == 0) { - destroy_actor((struct Actor *) shell); - } - break; - case BLUE_SHELL_LOCK_ON: - func_802B3B44(shell); - shell->targetPlayer = gPlayerPositionLUT[0]; - player = &gPlayers[gPlayerPositionLUT[0]]; - height = player->pos[0]; - height -= shell->pos[0]; - temp_f2 = player->pos[2]; - temp_f2 -= shell->pos[2]; - if (((height * height) + (temp_f2 * temp_f2)) < 40000.0f) { - shell->state = BLUE_SHELL_TARGET_ELIMINATED; - } - break; - case 9: - func_802B3E7C(shell, &gPlayers[shell->targetPlayer]); - break; - default: - break; + shell->pos[0] += shell->velocity[0]; + shell->pos[1] += shell->velocity[1]; + shell->pos[2] += shell->velocity[2]; + actor_terrain_collision(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], origPos[0], + origPos[1], origPos[2]); + func_802B4E30((struct Actor*) shell); + func_802B4104(shell); + break; + case RED_SHELL_LOCK_ON: + func_802B3E7C(shell, &gPlayers[shell->targetPlayer]); + break; + case TRIPLE_GREEN_SHELL: + func_802B3B44(shell); + if (shell->someTimer == 0) { + if ((shell->flags & 0xF) == 0) { + destroy_destructable_actor((struct Actor*) shell); + } else { + shell->someTimer -= 1; + } + } + break; + case GREEN_SHELL_HIT_A_RACER: + func_802B3B44(shell); + player = &gPlayers[shell->targetPlayer]; + height = player->pos[0]; + height -= shell->pos[0]; + temp_f2 = player->pos[2]; + temp_f2 -= shell->pos[2]; + if (((height * height) + (temp_f2 * temp_f2)) < 40000.0f) { + shell->state = RED_SHELL_LOCK_ON; + } + break; + case TRIPLE_RED_SHELL: + player = &gPlayers[shell->playerId]; + parent = (TripleShellParent*) &gActorList[shell->parentIndex]; + if (parent->type != ACTOR_TRIPLE_RED_SHELL) { + destroy_destructable_actor((struct Actor*) shell); + } else { + shell->rotAngle += parent->rotVelocity; + somePosVel[0] = sins(shell->rotAngle) * 8.0f; + somePosVel[1] = shell->boundingBoxSize - player->boundingBoxSize; + somePosVel[2] = coss(shell->rotAngle) * 8.0f; + mtxf_translate_vec3f_mat3(somePosVel, player->orientationMatrix); + origPos[0] = shell->pos[0]; + origPos[1] = shell->pos[1]; + origPos[2] = shell->pos[2]; + shell->pos[0] = player->pos[0] + somePosVel[0]; + shell->pos[1] = player->pos[1] + somePosVel[1]; + shell->pos[2] = player->pos[2] + somePosVel[2]; + actor_terrain_collision(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], origPos[0], + origPos[1], origPos[2]); + func_802B4E30((struct Actor*) shell); + } + break; + case DESTROYED_SHELL: + shell->velocity[1] -= 0.3f; + if (shell->velocity[1] < -5.0f) { + shell->velocity[1] = -5.0f; + } + shell->rotAngle += 0x5B0; + shell->someTimer -= 1; + shell->pos[1] += shell->velocity[1]; + if (shell->someTimer == 0) { + destroy_actor((struct Actor*) shell); + } + break; + case BLUE_SHELL_LOCK_ON: + func_802B3B44(shell); + shell->targetPlayer = gPlayerPositionLUT[0]; + player = &gPlayers[gPlayerPositionLUT[0]]; + height = player->pos[0]; + height -= shell->pos[0]; + temp_f2 = player->pos[2]; + temp_f2 -= shell->pos[2]; + if (((height * height) + (temp_f2 * temp_f2)) < 40000.0f) { + shell->state = BLUE_SHELL_TARGET_ELIMINATED; + } + break; + case 9: + func_802B3E7C(shell, &gPlayers[shell->targetPlayer]); + break; + default: + break; } } diff --git a/src/actors/box_truck/render.inc.c b/src/actors/box_truck/render.inc.c index ebc42a6f9..2ce7647b0 100644 --- a/src/actors/box_truck/render.inc.c +++ b/src/actors/box_truck/render.inc.c @@ -12,43 +12,46 @@ * @param arg0 * @param arg1 */ -void render_actor_box_truck(Camera *arg0, struct Actor *arg1) { +void render_actor_box_truck(Camera* arg0, struct Actor* arg1) { UNUSED s32 pad[6]; Mat4 spD8; UNUSED s32 pad2[32]; - f32 temp_f0 = is_within_render_distance(arg0->pos, arg1->pos, arg0->rot[1], 2500.0f, gCameraZoom[arg0 - camera1], 9000000.0f); - if (temp_f0 < 0.0f) { return; } + f32 temp_f0 = + is_within_render_distance(arg0->pos, arg1->pos, arg0->rot[1], 2500.0f, gCameraZoom[arg0 - camera1], 9000000.0f); + if (temp_f0 < 0.0f) { + return; + } - gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); - gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); - mtxf_pos_rotation_xyz(spD8, arg1->pos, arg1->rot); - if (render_set_position(spD8, 0) != 0) { + mtxf_pos_rotation_xyz(spD8, arg1->pos, arg1->rot); + if (render_set_position(spD8, 0) != 0) { - switch(arg1->state) { - case 0: - gSPDisplayList(gDisplayListHead++, d_course_toads_turnpike_dl_23858); - break; - case 1: - gSPDisplayList(gDisplayListHead++, d_course_toads_turnpike_dl_238A0); - break; - case 2: - gSPDisplayList(gDisplayListHead++, d_course_toads_turnpike_dl_238E8); - break; - } + switch (arg1->state) { + case 0: + gSPDisplayList(gDisplayListHead++, &d_course_toads_turnpike_dl_23858); + break; + case 1: + gSPDisplayList(gDisplayListHead++, &d_course_toads_turnpike_dl_238A0); + break; + case 2: + gSPDisplayList(gDisplayListHead++, &d_course_toads_turnpike_dl_238E8); + break; + } - if (gActiveScreenMode == SCREEN_MODE_1P) { - if (temp_f0 < 160000.0f) { - gSPDisplayList(gDisplayListHead++, toads_turnpike_dl_0); - } else if (temp_f0 < 640000.0f) { - gSPDisplayList(gDisplayListHead++, toads_turnpike_dl_1); - } else { - gSPDisplayList(gDisplayListHead++, toads_turnpike_dl_2); - } - } else if (temp_f0 < 160000.0f) { - gSPDisplayList(gDisplayListHead++, toads_turnpike_dl_1); + if (gActiveScreenMode == SCREEN_MODE_1P) { + if (temp_f0 < 160000.0f) { + gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_0); + } else if (temp_f0 < 640000.0f) { + gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_1); } else { gSPDisplayList(gDisplayListHead++, toads_turnpike_dl_2); } + } else if (temp_f0 < 160000.0f) { + gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_1); + } else { + gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_2); } + } } diff --git a/src/actors/car/render.inc.c b/src/actors/car/render.inc.c index 32597253d..0d3a6a96d 100644 --- a/src/actors/car/render.inc.c +++ b/src/actors/car/render.inc.c @@ -7,22 +7,22 @@ * @brief Renders the car actor. * Actor used in Toad's Turnpike. * His update are made in vehicle. - * - * @param arg0 - * @param arg1 + * + * @param arg0 + * @param arg1 */ -void render_actor_car(Camera *arg0, struct Actor *arg1) { +void render_actor_car(Camera* arg0, struct Actor* arg1) { UNUSED s32 pad[6]; Mat4 spC8; UNUSED s32 pad2[32]; - f32 temp_f0 = is_within_render_distance(arg0->pos,arg1->pos, arg0->rot[1], 2500.0f, gCameraZoom[arg0 - camera1], 9000000.0f); + f32 temp_f0 = + is_within_render_distance(arg0->pos, arg1->pos, arg0->rot[1], 2500.0f, gCameraZoom[arg0 - camera1], 9000000.0f); if (!(temp_f0 < 0.0f)) { gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); - mtxf_pos_rotation_xyz(spC8, arg1->pos, arg1->rot); mtxf_scale(spC8, 0.1f); if (render_set_position(spC8, 0) != 0) { diff --git a/src/actors/cow/render.inc.c b/src/actors/cow/render.inc.c index c32739883..0cf347530 100644 --- a/src/actors/cow/render.inc.c +++ b/src/actors/cow/render.inc.c @@ -12,8 +12,11 @@ * @param arg1 * @param arg2 */ -void render_actor_cow(Camera *camera, Mat4 arg1, struct Actor *arg2) { - if (is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f) < 0) { return; } +void render_actor_cow(Camera* camera, Mat4 arg1, struct Actor* arg2) { + if (is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], + 4000000.0f) < 0) { + return; + } arg1[3][0] = arg2->pos[0]; arg1[3][1] = arg2->pos[1]; @@ -21,21 +24,21 @@ void render_actor_cow(Camera *camera, Mat4 arg1, struct Actor *arg2) { if (render_set_position(arg1, 0) != 0) { switch (arg2->state) { - case 0: - gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_dl_cow1); - break; - case 1: - gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_dl_cow2); - break; - case 2: - gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_dl_cow3); - break; - case 3: - gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_dl_cow4); - break; - case 4: - gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_dl_cow5); - break; + case 0: + gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_dl_cow1); + break; + case 1: + gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_dl_cow2); + break; + case 2: + gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_dl_cow3); + break; + case 3: + gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_dl_cow4); + break; + case 4: + gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_dl_cow5); + break; } } } diff --git a/src/actors/fake_item_box/render.inc.c b/src/actors/fake_item_box/render.inc.c index e01de10a8..0ef7e6e69 100644 --- a/src/actors/fake_item_box/render.inc.c +++ b/src/actors/fake_item_box/render.inc.c @@ -9,7 +9,7 @@ * @param camera * @param fakeItemBox */ -void render_actor_fake_item_box(Camera *camera, struct FakeItemBox *fakeItemBox) { +void render_actor_fake_item_box(Camera* camera, struct FakeItemBox* fakeItemBox) { Vec3s someRot; UNUSED s32 pad[3]; Vec3f someVec; @@ -24,20 +24,21 @@ void render_actor_fake_item_box(Camera *camera, struct FakeItemBox *fakeItemBox) f32 temp_f2_2; f32 someMultiplier; - if (is_within_render_distance(camera->pos, fakeItemBox->pos, camera->rot[1], 2500.0f, gCameraZoom[camera - camera1], 1000000.0f) < 0) { - actor_not_rendered(camera, (struct Actor *) fakeItemBox); + if (is_within_render_distance(camera->pos, fakeItemBox->pos, camera->rot[1], 2500.0f, gCameraZoom[camera - camera1], + 1000000.0f) < 0) { + actor_not_rendered(camera, (struct Actor*) fakeItemBox); return; } if (((f32) gCourseMaxY + 800.0f) < fakeItemBox->pos[1]) { - actor_not_rendered(camera, (struct Actor *) fakeItemBox); + actor_not_rendered(camera, (struct Actor*) fakeItemBox); return; } if (fakeItemBox->pos[1] < ((f32) gCourseMinY - 800.0f)) { - actor_not_rendered(camera, (struct Actor *) fakeItemBox); + actor_not_rendered(camera, (struct Actor*) fakeItemBox); return; } - actor_rendered(camera, (struct Actor *) fakeItemBox); + actor_rendered(camera, (struct Actor*) fakeItemBox); someRot[0] = 0; someRot[1] = fakeItemBox->rot[1]; someRot[2] = 0; @@ -45,13 +46,17 @@ void render_actor_fake_item_box(Camera *camera, struct FakeItemBox *fakeItemBox) mtxf_scale(someMatrix2, fakeItemBox->sizeScaling); if (fakeItemBox->state != 2) { - if (!render_set_position(someMatrix2, 0)) { return; } + if (!render_set_position(someMatrix2, 0)) { + return; + } gSPDisplayList(gDisplayListHead++, common_model_fake_itembox); mtxf_pos_rotation_xyz(someMatrix2, fakeItemBox->pos, fakeItemBox->rot); mtxf_scale(someMatrix2, fakeItemBox->sizeScaling); - if (!render_set_position(someMatrix2, 0)) { return; } + if (!render_set_position(someMatrix2, 0)) { + return; + } gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA); @@ -91,7 +96,9 @@ void render_actor_fake_item_box(Camera *camera, struct FakeItemBox *fakeItemBox) someVec[2] = thing; add_translate_mat4_vec3f(someMatrix2, someMatrix3, someVec); - if (!render_set_position(someMatrix3, 0)) { return; } + if (!render_set_position(someMatrix3, 0)) { + return; + } gSPDisplayList(gDisplayListHead++, D_0D003158); temp_f2_2 = 0.8f * thing; @@ -101,7 +108,9 @@ void render_actor_fake_item_box(Camera *camera, struct FakeItemBox *fakeItemBox) someVec[2] = temp_f12; add_translate_mat4_vec3f(someMatrix2, someMatrix3, someVec); - if (!render_set_position(someMatrix3, 0)) { return; } + if (!render_set_position(someMatrix3, 0)) { + return; + } gSPDisplayList(gDisplayListHead++, D_0D0031B8); temp_f0_2 = -0.5f * thing; @@ -110,7 +119,9 @@ void render_actor_fake_item_box(Camera *camera, struct FakeItemBox *fakeItemBox) someVec[2] = temp_f0_2; add_translate_mat4_vec3f(someMatrix2, someMatrix3, someVec); - if (!render_set_position(someMatrix3, 0)) { return; } + if (!render_set_position(someMatrix3, 0)) { + return; + } gSPDisplayList(gDisplayListHead++, D_0D003128); if (!(fakeItemBox->someTimer & 1)) { @@ -123,7 +134,9 @@ void render_actor_fake_item_box(Camera *camera, struct FakeItemBox *fakeItemBox) someVec[2] = -1.0f * thing; add_translate_mat4_vec3f(someMatrix2, someMatrix3, someVec); - if (!render_set_position(someMatrix3, 0)) { return; } + if (!render_set_position(someMatrix3, 0)) { + return; + } gSPDisplayList(gDisplayListHead++, D_0D0031E8); temp_f0_3 = -0.8f * thing; @@ -132,7 +145,9 @@ void render_actor_fake_item_box(Camera *camera, struct FakeItemBox *fakeItemBox) someVec[2] = temp_f0_2; add_translate_mat4_vec3f(someMatrix2, someMatrix3, someVec); - if (!render_set_position(someMatrix3, 0)) { return; } + if (!render_set_position(someMatrix3, 0)) { + return; + } gSPDisplayList(gDisplayListHead++, D_0D003188); someVec[0] = temp_f0_3; @@ -140,7 +155,9 @@ void render_actor_fake_item_box(Camera *camera, struct FakeItemBox *fakeItemBox) someVec[2] = temp_f12; add_translate_mat4_vec3f(someMatrix2, someMatrix3, someVec); - if (!render_set_position(someMatrix3, 0)) { return; } + if (!render_set_position(someMatrix3, 0)) { + return; + } gSPDisplayList(gDisplayListHead++, D_0D0030F8); gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); diff --git a/src/actors/fake_item_box/update.inc.c b/src/actors/fake_item_box/update.inc.c index 364992d9c..efb834a80 100644 --- a/src/actors/fake_item_box/update.inc.c +++ b/src/actors/fake_item_box/update.inc.c @@ -3,13 +3,13 @@ /** * @brief Updates the fake item box actor. - * - * @param fake_item_box + * + * @param fake_item_box */ -void update_actor_fake_item_box(struct FakeItemBox *fake_item_box) { +void update_actor_fake_item_box(struct FakeItemBox* fake_item_box) { u32 temp_v1 = fake_item_box->playerId; - Player *temp_v0_4 = &gPlayers[temp_v1]; - struct Controller *temp_v1_3; + Player* temp_v0_4 = &gPlayers[temp_v1]; + struct Controller* temp_v1_3; UNUSED s32 pad[7]; f32 temp_f2_2; @@ -18,7 +18,7 @@ void update_actor_fake_item_box(struct FakeItemBox *fake_item_box) { f32 temp_f18; UNUSED s32 pad2[3]; - switch(fake_item_box->state) { + switch (fake_item_box->state) { case 0: fake_item_box->boundingBoxSize = fake_item_box->sizeScaling * 5.5f; fake_item_box->rot[0] -= 0xB6; @@ -36,8 +36,9 @@ void update_actor_fake_item_box(struct FakeItemBox *fake_item_box) { fake_item_box->pos[0] = temp_v0_4->pos[0] - temp_f14; fake_item_box->pos[1] = (temp_v0_4->pos[1] - temp_f16) - 1.0f; fake_item_box->pos[2] = temp_v0_4->pos[2] - temp_f18; - check_bounding_collision(&fake_item_box->unk30, fake_item_box->boundingBoxSize, fake_item_box->pos[0], fake_item_box->pos[1], fake_item_box->pos[2]); - func_802B4E30((struct Actor *)fake_item_box); + check_bounding_collision(&fake_item_box->unk30, fake_item_box->boundingBoxSize, fake_item_box->pos[0], + fake_item_box->pos[1], fake_item_box->pos[2]); + func_802B4E30((struct Actor*) fake_item_box); temp_v1_3 = &gControllers[temp_v1]; if ((temp_v0_4->type & 0x4000) != 0) { @@ -45,7 +46,7 @@ void update_actor_fake_item_box(struct FakeItemBox *fake_item_box) { temp_v1_3->buttonDepressed &= 0xDFFF; func_802A1064(fake_item_box); temp_v0_4->soundEffects &= 0xFFFBFFFF; - func_800C9060((u8)(temp_v0_4 - gPlayerOne), SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x12)); + func_800C9060((u8) (temp_v0_4 - gPlayerOne), SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x12)); } } break; @@ -77,7 +78,7 @@ void update_actor_fake_item_box(struct FakeItemBox *fake_item_box) { case 2: if ((fake_item_box->someTimer >= 0x14) || (fake_item_box->someTimer < 0)) { - destroy_actor((struct Actor *) fake_item_box); + destroy_actor((struct Actor*) fake_item_box); } else { fake_item_box->someTimer++; fake_item_box->rot[0] += 0x444; @@ -86,7 +87,7 @@ void update_actor_fake_item_box(struct FakeItemBox *fake_item_box) { } break; default: - destroy_actor((struct Actor *) fake_item_box); - break; + destroy_actor((struct Actor*) fake_item_box); + break; } } diff --git a/src/actors/falling_rock/render.inc.c b/src/actors/falling_rock/render.inc.c index 68ef626e2..b9beb5ec6 100644 --- a/src/actors/falling_rock/render.inc.c +++ b/src/actors/falling_rock/render.inc.c @@ -5,22 +5,27 @@ /** * @brief Renders the falling rock actor. * Actor used in Choco Mountain. - * - * @param camera - * @param rock + * + * @param camera + * @param rock */ -void render_actor_falling_rock(Camera *camera, struct FallingRock *rock) { +void render_actor_falling_rock(Camera* camera, struct FallingRock* rock) { Vec3s sp98; Vec3f sp8C; Mat4 sp4C; f32 height; UNUSED s32 pad[4]; - if (rock->respawnTimer != 0) { return; } + if (rock->respawnTimer != 0) { + return; + } - height = is_within_render_distance(camera->pos, rock->pos, camera->rot[1], 400.0f, gCameraZoom[camera - camera1], 4000000.0f); + height = is_within_render_distance(camera->pos, rock->pos, camera->rot[1], 400.0f, gCameraZoom[camera - camera1], + 4000000.0f); - if (height < 0.0f) { return; } + if (height < 0.0f) { + return; + } if (height < 250000.0f) { @@ -43,7 +48,7 @@ void render_actor_falling_rock(Camera *camera, struct FallingRock *rock) { if (render_set_position(sp4C, 0) == 0) { return; } - //gSPDisplayList(gDisplayListHead++, d_course_choco_mountain_dl_falling_rock); + // gSPDisplayList(gDisplayListHead++, d_course_choco_mountain_dl_falling_rock); //! @todo: Placeholder DLs weird vtx issues gSPSetGeometryMode(gDisplayListHead++, G_LIGHTING); gDPSetCycleType(gDisplayListHead++, G_CYC_2CYCLE); @@ -55,11 +60,13 @@ void render_actor_falling_rock(Camera *camera, struct FallingRock *rock) { gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gDPPipeSync(gDisplayListHead++); gDPTileSync(gDisplayListHead++); - gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD); + gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0, + G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD); gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x007C, 0x007C); gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, d_course_choco_mountain_wall_texture); gDPTileSync(gDisplayListHead++); - gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD); + gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, + G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD); gDPLoadSync(gDisplayListHead++); gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 1023, 256); gSPVertex(gDisplayListHead++, d_course_choco_mountain_falling_rock_model, 15, 0); @@ -89,11 +96,13 @@ void render_actor_falling_rock(Camera *camera, struct FallingRock *rock) { gSP1Triangle(gDisplayListHead++, 2, 8, 9, 0); gSP1Triangle(gDisplayListHead++, 3, 10, 11, 0); gDPTileSync(gDisplayListHead++); - gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0, G_TX_MIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_MIRROR | G_TX_WRAP, 5, G_TX_NOLOD); + gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0, G_TX_MIRROR | G_TX_WRAP, + 5, G_TX_NOLOD, G_TX_MIRROR | G_TX_WRAP, 5, G_TX_NOLOD); gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x007C, 0x007C); gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, d_course_choco_mountain_rock_texture); gDPTileSync(gDisplayListHead++); - gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD); + gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, + G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD); gDPLoadSync(gDisplayListHead++); gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 1023, 256); gSPVertex(gDisplayListHead++, d_course_choco_mountain_6006EC8, 3, 0); diff --git a/src/actors/falling_rock/update.inc.c b/src/actors/falling_rock/update.inc.c index da3c8c9dc..9610c425d 100644 --- a/src/actors/falling_rock/update.inc.c +++ b/src/actors/falling_rock/update.inc.c @@ -3,9 +3,9 @@ #include <main.h> #include <assets/choco_mountain_data.h> -void func_8029CF0C(struct ActorSpawnData *spawnData, struct FallingRock *rock) { - struct ActorSpawnData *temp_v0 = (struct ActorSpawnData *) LOAD_ASSET(spawnData); - Vec3s sp24 = {60, 120, 180}; +void func_8029CF0C(struct ActorSpawnData* spawnData, struct FallingRock* rock) { + struct ActorSpawnData* temp_v0 = (struct ActorSpawnData*) LOAD_ASSET(spawnData); + Vec3s sp24 = { 60, 120, 180 }; rock->respawnTimer = sp24[rock->unk_06]; // * 2 rock->pos[0] = (f32) temp_v0[rock->unk_06].pos[0] * gCourseDirection; rock->pos[1] = (f32) temp_v0[rock->unk_06].pos[1] + 10.0f; @@ -20,10 +20,9 @@ void func_8029CF0C(struct ActorSpawnData *spawnData, struct FallingRock *rock) { * * @param spawnData */ -void spawn_falling_rocks(struct ActorSpawnData *spawnData) { - // Casting this to prevent warning does not work. - struct ActorSpawnData *temp_s0 = (struct ActorSpawnData *) LOAD_ASSET(spawnData); - struct FallingRock *temp_v1; +void spawn_falling_rocks(struct ActorSpawnData* spawnData) { + struct ActorSpawnData* temp_s0 = (struct ActorSpawnData*) LOAD_ASSET(spawnData); + struct FallingRock* temp_v1; Vec3f startingPos; Vec3f startingVelocity; Vec3s startingRot; @@ -36,10 +35,10 @@ void spawn_falling_rocks(struct ActorSpawnData *spawnData) { vec3f_set(startingVelocity, 0, 0, 0); vec3s_set(startingRot, 0, 0, 0); temp = add_actor_to_empty_slot(startingPos, startingRot, startingVelocity, ACTOR_FALLING_ROCK); - temp_v1 = (struct FallingRock *) &gActorList[temp]; + temp_v1 = (struct FallingRock*) &gActorList[temp]; temp_v1->unk_06 = temp_s0->someId; - func_802AAAAC((Collision *) &temp_v1->unk30); + func_802AAAAC((Collision*) &temp_v1->unk30); temp_s0++; } } @@ -50,7 +49,7 @@ void spawn_falling_rocks(struct ActorSpawnData *spawnData) { * * @param rock */ -void update_actor_falling_rocks(struct FallingRock *rock) { +void update_actor_falling_rocks(struct FallingRock* rock) { Vec3f unkVec; f32 pad0; f32 pad1; @@ -91,8 +90,7 @@ void update_actor_falling_rocks(struct FallingRock *rock) { if (unkVec[1] == 0.0f) { rock->velocity[1] *= -1.2f; return; - } - else { + } else { unkVec[0] = -rock->unk30.unk48[0]; unkVec[2] = -rock->unk30.unk48[2]; rock->pos[0] += unkVec[0] * rock->unk30.surfaceDistance[0]; @@ -108,8 +106,7 @@ void update_actor_falling_rocks(struct FallingRock *rock) { unkVec[1] = -rock->unk30.unk54[1]; if (unkVec[1] == 0.0f) { rock->velocity[1] *= -1.2f; - } - else { + } else { unkVec[0] = -rock->unk30.unk54[0]; unkVec[2] = -rock->unk30.unk54[2]; rock->pos[0] += unkVec[0] * rock->unk30.surfaceDistance[1]; diff --git a/src/actors/green_shell/render.inc.c b/src/actors/green_shell/render.inc.c index e5432f9bc..7c67fd4c9 100644 --- a/src/actors/green_shell/render.inc.c +++ b/src/actors/green_shell/render.inc.c @@ -10,7 +10,7 @@ * @param matrix * @param shell */ -void render_actor_green_shell(Camera *camera, Mat4 matrix, struct ShellActor *shell) { +void render_actor_green_shell(Camera* camera, Mat4 matrix, struct ShellActor* shell) { gDPLoadTLUT_pal256(gDisplayListHead++, common_tlut_green_shell); // set texture render_actor_shell(camera, matrix, shell); } diff --git a/src/actors/green_shell/update.inc.c b/src/actors/green_shell/update.inc.c index 36ee94505..157895844 100644 --- a/src/actors/green_shell/update.inc.c +++ b/src/actors/green_shell/update.inc.c @@ -6,18 +6,18 @@ /** * @brief Updates the green shell actor. - * - * @param shell + * + * @param shell */ -void update_actor_green_shell(struct ShellActor *shell) { - Player *player; +void update_actor_green_shell(struct ShellActor* shell) { + Player* player; UNUSED f32 pad9; UNUSED f32 padA; Vec3f somePos2; Vec3f somePosVel; f32 var_f2; - struct Controller *controller; - TripleShellParent *parent; + struct Controller* controller; + TripleShellParent* parent; f32 height; f32 z; UNUSED f32 pad2; @@ -31,8 +31,9 @@ void update_actor_green_shell(struct ShellActor *shell) { height = shell->pos[0]; y = shell->pos[1]; z = shell->pos[2]; - if ((z < gCourseMinZ) || (gCourseMaxZ < z) || (height < gCourseMinX) || (gCourseMaxX < height) || (y < gCourseMinY)) { - destroy_destructable_actor((struct Actor *) shell); + if ((z < gCourseMinZ) || (gCourseMaxZ < z) || (height < gCourseMinX) || (gCourseMaxX < height) || + (y < gCourseMinY)) { + destroy_destructable_actor((struct Actor*) shell); } shell->rotVelocity += 0x71C; switch (shell->state) { @@ -71,8 +72,9 @@ void update_actor_green_shell(struct ShellActor *shell) { shell->velocity[2] = somePosVel[2]; shell->state = 2; func_800C9060(shell->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04)); - func_800C90F4(shell->playerId, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00)); - add_green_shell_in_unexpired_actor_list((struct Actor*)shell - gActorList); + func_800C90F4(shell->playerId, + (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00)); + add_green_shell_in_unexpired_actor_list((struct Actor*) shell - gActorList); return; } else { shell->state = 1; @@ -93,8 +95,9 @@ void update_actor_green_shell(struct ShellActor *shell) { shell->state = 2; shell->someTimer = 0x001E; func_800C9060(shell->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04)); - func_800C90F4(shell->playerId, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00)); - add_green_shell_in_unexpired_actor_list((struct Actor*)shell - gActorList); + func_800C90F4(shell->playerId, + (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00)); + add_green_shell_in_unexpired_actor_list((struct Actor*) shell - gActorList); } } else { shell->rotAngle += 0xE38; @@ -102,8 +105,9 @@ void update_actor_green_shell(struct ShellActor *shell) { shell->state = 2; shell->someTimer = 0x001E; func_800C9060(shell->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04)); - func_800C90F4(shell->playerId, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00)); - add_green_shell_in_unexpired_actor_list((struct Actor*)shell - gActorList); + func_800C90F4(shell->playerId, + (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00)); + add_green_shell_in_unexpired_actor_list((struct Actor*) shell - gActorList); } } if (shell->state == 2) { @@ -145,8 +149,9 @@ void update_actor_green_shell(struct ShellActor *shell) { shell->pos[0] += shell->velocity[0]; shell->pos[1] += shell->velocity[1]; shell->pos[2] += shell->velocity[2]; - actor_terrain_collision(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], somePos2[0], somePos2[1], somePos2[2]); - func_802B4E30((struct Actor *) shell); + actor_terrain_collision(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], somePos2[0], + somePos2[1], somePos2[2]); + func_802B4E30((struct Actor*) shell); if ((shell->unk30.surfaceDistance[0] < 0.0f) || (shell->unk30.surfaceDistance[1] < 0.0f)) { shell_collision(&shell->unk30, shell->velocity); func_800C98B8(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x54)); @@ -155,9 +160,9 @@ void update_actor_green_shell(struct ShellActor *shell) { break; case TRIPLE_GREEN_SHELL: player = &gPlayers[shell->playerId]; - parent = (TripleShellParent *) &gActorList[shell->parentIndex]; + parent = (TripleShellParent*) &gActorList[shell->parentIndex]; if (parent->type != ACTOR_TRIPLE_GREEN_SHELL) { - destroy_destructable_actor((struct Actor *) shell); + destroy_destructable_actor((struct Actor*) shell); } else { shell->rotAngle += parent->rotVelocity; somePosVel[0] = sins(shell->rotAngle) * 8.0f; @@ -170,8 +175,9 @@ void update_actor_green_shell(struct ShellActor *shell) { shell->pos[0] = player->pos[0] + somePosVel[0]; shell->pos[1] = player->pos[1] + somePosVel[1]; shell->pos[2] = player->pos[2] + somePosVel[2]; - actor_terrain_collision(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], somePos2[0], somePos2[1], somePos2[2]); - func_802B4E30((struct Actor *) shell); + actor_terrain_collision(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], somePos2[0], + somePos2[1], somePos2[2]); + func_802B4E30((struct Actor*) shell); } break; case GREEN_SHELL_HIT_A_RACER: @@ -184,7 +190,7 @@ void update_actor_green_shell(struct ShellActor *shell) { shell->someTimer -= 1; shell->pos[1] += shell->velocity[1]; if (shell->someTimer == 0) { - destroy_actor((struct Actor *) shell); + destroy_actor((struct Actor*) shell); } break; default: diff --git a/src/actors/item_box/render.inc.c b/src/actors/item_box/render.inc.c index 2ab170e89..7024709d7 100644 --- a/src/actors/item_box/render.inc.c +++ b/src/actors/item_box/render.inc.c @@ -4,11 +4,11 @@ /** * @brief Renders the item box actor. - * - * @param camera - * @param item_box + * + * @param camera + * @param item_box */ -void render_actor_item_box(Camera *camera, struct ItemBox *item_box) { +void render_actor_item_box(Camera* camera, struct ItemBox* item_box) { UNUSED s32 pad[2]; Vec3f someVec1; Vec3f someVec2; @@ -26,7 +26,8 @@ void render_actor_item_box(Camera *camera, struct ItemBox *item_box) { f32 temp_f2_2; f32 someMultiplier; - temp_f0 = is_within_render_distance(camera->pos, item_box->pos, camera->rot[1], 0.0f, gCameraZoom[camera - camera1], 4000000.0f); + temp_f0 = is_within_render_distance(camera->pos, item_box->pos, camera->rot[1], 0.0f, gCameraZoom[camera - camera1], + 4000000.0f); if (!(temp_f0 < 0.0f) && !(600000.0f < temp_f0)) { if ((item_box->state == 2) && (temp_f0 < 100000.0f)) { someRot[0] = 0; @@ -37,28 +38,36 @@ void render_actor_item_box(Camera *camera, struct ItemBox *item_box) { someVec2[2] = item_box->pos[2]; mtxf_pos_rotation_xyz(someMatrix1, someVec2, someRot); - if (!render_set_position(someMatrix1, 0)) { return; } + if (!render_set_position(someMatrix1, 0)) { + return; + } gSPDisplayList(gDisplayListHead++, D_0D002EE8); someRot[1] = item_box->rot[1] * 2; someVec2[1] = item_box->pos[1]; mtxf_pos_rotation_xyz(someMatrix1, someVec2, someRot); - if (!render_set_position(someMatrix1, 0)) { return; } + if (!render_set_position(someMatrix1, 0)) { + return; + } gSPDisplayList(gDisplayListHead++, itemBoxQuestionMarkModel); } if (item_box->state == 5) { mtxf_pos_rotation_xyz(someMatrix1, item_box->pos, item_box->rot); - if (!render_set_position(someMatrix1, 0)) { return; } + if (!render_set_position(someMatrix1, 0)) { + return; + } gSPDisplayList(gDisplayListHead++, itemBoxQuestionMarkModel); } if (item_box->state != 3) { mtxf_pos_rotation_xyz(someMatrix1, item_box->pos, item_box->rot); - if (!render_set_position(someMatrix1, 0)) { return; } + if (!render_set_position(someMatrix1, 0)) { + return; + } gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA); @@ -99,7 +108,9 @@ void render_actor_item_box(Camera *camera, struct ItemBox *item_box) { someVec1[2] = thing; add_translate_mat4_vec3f(someMatrix1, someMatrix2, someVec1); - if (!render_set_position(someMatrix2, 0)) { return; } + if (!render_set_position(someMatrix2, 0)) { + return; + } gSPDisplayList(gDisplayListHead++, D_0D003158); temp_f2_2 = 0.8f * thing; @@ -109,7 +120,9 @@ void render_actor_item_box(Camera *camera, struct ItemBox *item_box) { someVec1[2] = temp_f12; add_translate_mat4_vec3f(someMatrix1, someMatrix2, someVec1); - if (!render_set_position(someMatrix2, 0)) { return; } + if (!render_set_position(someMatrix2, 0)) { + return; + } gSPDisplayList(gDisplayListHead++, D_0D0031B8); temp_f0_2 = -0.5f * thing; @@ -118,7 +131,9 @@ void render_actor_item_box(Camera *camera, struct ItemBox *item_box) { someVec1[2] = temp_f0_2; add_translate_mat4_vec3f(someMatrix1, someMatrix2, someVec1); - if (!render_set_position(someMatrix2, 0)) { return; } + if (!render_set_position(someMatrix2, 0)) { + return; + } gSPDisplayList(gDisplayListHead++, D_0D003128); if (!(item_box->someTimer & 1)) { @@ -131,7 +146,9 @@ void render_actor_item_box(Camera *camera, struct ItemBox *item_box) { someVec1[2] = -1.0f * thing; add_translate_mat4_vec3f(someMatrix1, someMatrix2, someVec1); - if (!render_set_position(someMatrix2, 0)) { return; } + if (!render_set_position(someMatrix2, 0)) { + return; + } gSPDisplayList(gDisplayListHead++, D_0D0031E8); temp_f0_3 = -0.8f * thing; @@ -140,7 +157,9 @@ void render_actor_item_box(Camera *camera, struct ItemBox *item_box) { someVec1[2] = temp_f0_2; add_translate_mat4_vec3f(someMatrix1, someMatrix2, someVec1); - if (!render_set_position(someMatrix2, 0)) { return; } + if (!render_set_position(someMatrix2, 0)) { + return; + } gSPDisplayList(gDisplayListHead++, D_0D003188); someVec1[0] = temp_f0_3; @@ -148,7 +167,9 @@ void render_actor_item_box(Camera *camera, struct ItemBox *item_box) { someVec1[2] = temp_f12; add_translate_mat4_vec3f(someMatrix1, someMatrix2, someVec1); - if (!render_set_position(someMatrix2, 0)) { return; } + if (!render_set_position(someMatrix2, 0)) { + return; + } gSPDisplayList(gDisplayListHead++, D_0D0030F8); gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); diff --git a/src/actors/item_box/update.inc.c b/src/actors/item_box/update.inc.c index e6a912c51..47513ef8a 100644 --- a/src/actors/item_box/update.inc.c +++ b/src/actors/item_box/update.inc.c @@ -4,11 +4,11 @@ * @brief Updates the item box under the hot air balloon object. * It used in Luigi Raceway. * (here it's just update the rotation of the item box not the position, for the position it's in object) - * - * @param itemBox + * + * @param itemBox */ -void update_actor_item_box_hot_air_balloon(struct ItemBox *itemBox) { - switch(itemBox->state) { +void update_actor_item_box_hot_air_balloon(struct ItemBox* itemBox) { + switch (itemBox->state) { case 5: itemBox->rot[0] += 0xB6; itemBox->rot[1] -= 0x16C; @@ -30,10 +30,10 @@ void update_actor_item_box_hot_air_balloon(struct ItemBox *itemBox) { /** * @brief Updates the item box actor. - * - * @param itemBox + * + * @param itemBox */ -void update_actor_item_box(struct ItemBox *itemBox) { +void update_actor_item_box(struct ItemBox* itemBox) { switch (itemBox->state) { case 0: itemBox->state = 1; diff --git a/src/actors/kiwano_fruit/render.inc.c b/src/actors/kiwano_fruit/render.inc.c index 07c8cc6d7..137eda99e 100644 --- a/src/actors/kiwano_fruit/render.inc.c +++ b/src/actors/kiwano_fruit/render.inc.c @@ -1,7 +1,7 @@ #include <actors.h> #include <libultra/gbi.h> #include <main.h> -//#include <assets/dks_jungle_parkway_data.h> +// #include <assets/dks_jungle_parkway_data.h> /** * @brief Renders the kiwano fruit actor. @@ -11,22 +11,26 @@ * @param arg1 * @param actor */ -void render_actor_kiwano_fruit(UNUSED Camera *camera, Mat4 arg1, struct Actor *actor) { +void render_actor_kiwano_fruit(UNUSED Camera* camera, Mat4 arg1, struct Actor* actor) { uintptr_t addr; s32 maxObjectsReached; - if (actor->state == 0) { return; } + if (actor->state == 0) { + return; + } arg1[3][0] = actor->pos[0]; arg1[3][1] = actor->pos[1]; arg1[3][2] = actor->pos[2]; maxObjectsReached = render_set_position(arg1, 0) == 0; - if (maxObjectsReached) { return; } + if (maxObjectsReached) { + return; + } addr = segmented_texture_to_virtual((actor->rot[0] << 0xA) + 0x03009000); - gDPLoadTextureBlock(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(addr), - G_IM_FMT_CI, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_CLAMP, - G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); + gDPLoadTextureBlock(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(addr), G_IM_FMT_CI, G_IM_SIZ_8b, 32, 32, 0, + G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, + G_TX_NOLOD); gSPDisplayList(gDisplayListHead++, d_course_dks_jungle_parkway_dl_kiwano_fruit); } diff --git a/src/actors/kiwano_fruit/update.inc.c b/src/actors/kiwano_fruit/update.inc.c index ed2892b2a..a4e6b029d 100644 --- a/src/actors/kiwano_fruit/update.inc.c +++ b/src/actors/kiwano_fruit/update.inc.c @@ -6,11 +6,11 @@ /** * @brief Updates the kiwano fruit actor. * Actor used in DK's Jungle Parkway. - * - * @param fruit + * + * @param fruit */ -void update_actor_kiwano_fruit(struct KiwanoFruit *fruit) { - Player *player; +void update_actor_kiwano_fruit(struct KiwanoFruit* fruit) { + Player* player; f32 temp_f2; f32 temp_f16; f32 temp_f14; @@ -22,59 +22,59 @@ void update_actor_kiwano_fruit(struct KiwanoFruit *fruit) { fruit->state = 0; return; } - switch (fruit->state) { /* irregular */ - case 0: - if ((get_surface_type(player->collision.meshIndexZX) & 0xFF) != GRASS) { - return; - } - fruit->state = 1; - fruit->velocity[0] = 80.0f; - case 1: - nearestWaypoint = gNearestWaypointByPlayerId[(u16)(player - gPlayerOne)]; - temp_f2 = player->pos[0] - D_80164490[nearestWaypoint].posX; - temp_f16 = player->pos[1] - D_80164490[nearestWaypoint].posY; - temp_f14 = player->pos[2] - D_80164490[nearestWaypoint].posZ; - temp_f12 = fruit->velocity[0] / sqrtf((temp_f2 * temp_f2) + (temp_f16 * temp_f16) + (temp_f14 * temp_f14)); - temp_f2 *= temp_f12; - temp_f16 *= temp_f12; - temp_f14 *= temp_f12; - fruit->pos[0] = player->pos[0] + temp_f2; - fruit->pos[1] = player->pos[1] + temp_f16; - fruit->pos[2] = player->pos[2] + temp_f14; - fruit->velocity[0] -= 2.0f; - if (fruit->velocity[0] <= 0.0f) { - fruit->state = 2; - fruit->bonkTimer = 30.0f; - fruit->velocity[0] = 0.0f; - fruit->velocity[1] = 2.3f; - fruit->velocity[2] = 0.0f; - if ((player->effects & STAR_EFFECT) != 0) { - func_800C9060(player - gPlayerOne, SOUND_ARG_LOAD(0x19, 0x00, 0xA0, 0x52)); - } else { - player->effects |= 0x8000; - player->pos[0] -= temp_f2 * 4.0f; - player->pos[2] -= temp_f14 * 4.0f; - player->velocity[0] -= temp_f2 * 0.7f; - player->velocity[2] -= temp_f14 * 0.7f; - func_800C9060(player - gPlayerOne, SOUND_ARG_LOAD(0x19, 0x00, 0x70, 0x18)); - if (gModeSelection != GRAND_PRIX) { - D_80162DF8 = 1; + switch (fruit->state) { /* irregular */ + case 0: + if ((get_surface_type(player->collision.meshIndexZX) & 0xFF) != GRASS) { + return; + } + fruit->state = 1; + fruit->velocity[0] = 80.0f; + case 1: + nearestWaypoint = gNearestWaypointByPlayerId[(u16) (player - gPlayerOne)]; + temp_f2 = player->pos[0] - D_80164490[nearestWaypoint].posX; + temp_f16 = player->pos[1] - D_80164490[nearestWaypoint].posY; + temp_f14 = player->pos[2] - D_80164490[nearestWaypoint].posZ; + temp_f12 = fruit->velocity[0] / sqrtf((temp_f2 * temp_f2) + (temp_f16 * temp_f16) + (temp_f14 * temp_f14)); + temp_f2 *= temp_f12; + temp_f16 *= temp_f12; + temp_f14 *= temp_f12; + fruit->pos[0] = player->pos[0] + temp_f2; + fruit->pos[1] = player->pos[1] + temp_f16; + fruit->pos[2] = player->pos[2] + temp_f14; + fruit->velocity[0] -= 2.0f; + if (fruit->velocity[0] <= 0.0f) { + fruit->state = 2; + fruit->bonkTimer = 30.0f; + fruit->velocity[0] = 0.0f; + fruit->velocity[1] = 2.3f; + fruit->velocity[2] = 0.0f; + if ((player->effects & STAR_EFFECT) != 0) { + func_800C9060(player - gPlayerOne, SOUND_ARG_LOAD(0x19, 0x00, 0xA0, 0x52)); + } else { + player->effects |= 0x8000; + player->pos[0] -= temp_f2 * 4.0f; + player->pos[2] -= temp_f14 * 4.0f; + player->velocity[0] -= temp_f2 * 0.7f; + player->velocity[2] -= temp_f14 * 0.7f; + func_800C9060(player - gPlayerOne, SOUND_ARG_LOAD(0x19, 0x00, 0x70, 0x18)); + if (gModeSelection != GRAND_PRIX) { + D_80162DF8 = 1; + } } } - } - break; - case 2: - fruit->velocity[1] -= 0.3f; - fruit->pos[0] += fruit->velocity[0]; - fruit->pos[1] += fruit->velocity[1]; - fruit->pos[2] += fruit->velocity[2]; - fruit->bonkTimer -= 1.0f; - if (fruit->bonkTimer < 0.0f) { - fruit->state = 0; - } - break; - default: - break; + break; + case 2: + fruit->velocity[1] -= 0.3f; + fruit->pos[0] += fruit->velocity[0]; + fruit->pos[1] += fruit->velocity[1]; + fruit->pos[2] += fruit->velocity[2]; + fruit->bonkTimer -= 1.0f; + if (fruit->bonkTimer < 0.0f) { + fruit->state = 0; + } + break; + default: + break; } if (fruit->state != 0) { fruit->animTimer += 1; diff --git a/src/actors/mario_sign/render.inc.c b/src/actors/mario_sign/render.inc.c index ec6fdb96b..a58668a4b 100644 --- a/src/actors/mario_sign/render.inc.c +++ b/src/actors/mario_sign/render.inc.c @@ -5,17 +5,19 @@ /** * @brief Renders the Mario sign actor. * Actor used in Mario Raceway. - * - * @param arg0 - * @param arg1 - * @param arg2 + * + * @param arg0 + * @param arg1 + * @param arg2 */ -void render_actor_mario_sign(Camera *arg0, UNUSED Mat4 arg1, struct Actor *arg2) { +void render_actor_mario_sign(Camera* arg0, UNUSED Mat4 arg1, struct Actor* arg2) { Mat4 sp40; f32 unk; s16 temp = arg2->flags; - if (temp & 0x800) { return; } + if (temp & 0x800) { + return; + } unk = is_within_render_distance(arg0->pos, arg2->pos, arg0->rot[1], 0, gCameraZoom[arg0 - camera1], 16000000.0f); if (!(unk < 0.0f)) { diff --git a/src/actors/mario_sign/update.inc.c b/src/actors/mario_sign/update.inc.c index 82ca495f1..6a061eddd 100644 --- a/src/actors/mario_sign/update.inc.c +++ b/src/actors/mario_sign/update.inc.c @@ -2,10 +2,10 @@ /** * @brief Updates the Mario sign actor. - * - * @param arg0 + * + * @param arg0 */ -void update_actor_mario_sign(struct Actor *arg0) { +void update_actor_mario_sign(struct Actor* arg0) { if ((arg0->flags & 0x800) == 0) { if ((arg0->flags & 0x400) != 0) { arg0->pos[1] += 4.0f; diff --git a/src/actors/paddle_boat/render.inc.c b/src/actors/paddle_boat/render.inc.c index cebe7a046..8f0f5353a 100644 --- a/src/actors/paddle_boat/render.inc.c +++ b/src/actors/paddle_boat/render.inc.c @@ -17,7 +17,7 @@ * @param arg2 * @param pathCounter */ -void render_actor_paddle_boat(Camera *arg0, struct PaddleWheelBoat *boat, UNUSED Mat4 arg2, u16 pathCounter) { +void render_actor_paddle_boat(Camera* arg0, struct PaddleWheelBoat* boat, UNUSED Mat4 arg2, u16 pathCounter) { UNUSED s32 pad[3]; Vec3f sp120; Mat4 spE0; @@ -25,32 +25,37 @@ void render_actor_paddle_boat(Camera *arg0, struct PaddleWheelBoat *boat, UNUSED Mat4 sp60; f32 temp; - if ((pathCounter > 20) && (pathCounter < 25)) { return; } - - temp = is_within_render_distance(arg0->pos, boat->pos, arg0->rot[1], 90000.0f, gCameraZoom[arg0 - camera1], 9000000.0f); - - if (temp < 0.0f) { return; } - - gSPSetLights1(gDisplayListHead++, D_800DC610[1]); - gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_LIGHTING | G_SHADING_SMOOTH); - - mtxf_pos_rotation_xyz(spE0, boat->pos, boat->boatRot); - if (render_set_position(spE0, 1) != 0) { - - // Render the boat - gSPDisplayList(gDisplayListHead++, d_course_dks_jungle_parkway_boat_dl); - gSPDisplayList(gDisplayListHead++, d_course_dks_jungle_parkway_railings_dl); - - mtxf_rotate_x(spE0, boat->wheelRot); - vec3f_set(sp120, 0, 16.0f, -255.0f); - mtxf_translate(spA0, sp120); - mtxf_multiplication(sp60, spE0, spA0); - if (render_set_position(sp60, 3) != 0) { - // Render the paddle wheel - gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); - gSPDisplayList(gDisplayListHead++, d_course_dks_jungle_parkway_paddle_wheel_dl); - gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); - gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); - } + if ((pathCounter > 20) && (pathCounter < 25)) { + return; + } + + temp = is_within_render_distance(arg0->pos, boat->pos, arg0->rot[1], 90000.0f, gCameraZoom[arg0 - camera1], + 9000000.0f); + + if (temp < 0.0f) { + return; + } + + gSPSetLights1(gDisplayListHead++, D_800DC610[1]); + gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_LIGHTING | G_SHADING_SMOOTH); + + mtxf_pos_rotation_xyz(spE0, boat->pos, boat->boatRot); + if (render_set_position(spE0, 1) != 0) { + + // Render the boat + gSPDisplayList(gDisplayListHead++, &d_course_dks_jungle_parkway_boat_dl); + gSPDisplayList(gDisplayListHead++, &d_course_dks_jungle_parkway_railings_dl); + + mtxf_rotate_x(spE0, boat->wheelRot); + vec3f_set(sp120, 0, 16.0f, -255.0f); + mtxf_translate(spA0, sp120); + mtxf_multiplication(sp60, spE0, spA0); + if (render_set_position(sp60, 3) != 0) { + // Render the paddle wheel + gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); + gSPDisplayList(gDisplayListHead++, &d_course_dks_jungle_parkway_paddle_wheel_dl); + gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); + gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); } + } } diff --git a/src/actors/paddle_boat/update.inc.c b/src/actors/paddle_boat/update.inc.c index fdb596388..0c436f8cc 100644 --- a/src/actors/paddle_boat/update.inc.c +++ b/src/actors/paddle_boat/update.inc.c @@ -8,6 +8,6 @@ * * @param boat */ -void update_actor_paddle_boat(struct PaddleWheelBoat *boat) { +void update_actor_paddle_boat(struct PaddleWheelBoat* boat) { boat->wheelRot += 0x38E; } diff --git a/src/actors/palm_tree/render.inc.c b/src/actors/palm_tree/render.inc.c index 1d80f901a..e551e8c86 100644 --- a/src/actors/palm_tree/render.inc.c +++ b/src/actors/palm_tree/render.inc.c @@ -5,13 +5,13 @@ /** * @brief Renders the palm tree actor. * Actor used in Koopa Troopa Beach. - * - * @param arg0 - * @param arg1 - * @param arg2 + * + * @param arg0 + * @param arg1 + * @param arg2 */ -void render_actor_palm_tree(Camera *arg0, UNUSED Mat4 arg1, struct PalmTree *arg2) { - Vec3s spA8 = {0, 0, 0}; +void render_actor_palm_tree(Camera* arg0, UNUSED Mat4 arg1, struct PalmTree* arg2) { + Vec3s spA8 = { 0, 0, 0 }; Mat4 sp68; f32 temp_f0; s16 temp_v0 = arg2->flags; @@ -20,7 +20,8 @@ void render_actor_palm_tree(Camera *arg0, UNUSED Mat4 arg1, struct PalmTree *arg return; } - temp_f0 = is_within_render_distance(arg0->pos, arg2->pos, arg0->rot[1], 0.0f, gCameraZoom[arg0 - camera1], 4000000.0f); + temp_f0 = + is_within_render_distance(arg0->pos, arg2->pos, arg0->rot[1], 0.0f, gCameraZoom[arg0 - camera1], 4000000.0f); if (!(temp_f0 < 0.0f)) { if (((temp_v0 & 0x400) == 0) && (temp_f0 < 250000.0f)) { @@ -32,7 +33,7 @@ void render_actor_palm_tree(Camera *arg0, UNUSED Mat4 arg1, struct PalmTree *arg gDPSetTextureLUT(gDisplayListHead++, G_TT_NONE); gSPSetGeometryMode(gDisplayListHead++, G_LIGHTING); - switch(arg2->variant) { + switch (arg2->variant) { case 0: gSPDisplayList(gDisplayListHead++, d_course_koopa_troopa_beach_dl_tree_trunk1); gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); @@ -53,7 +54,6 @@ void render_actor_palm_tree(Camera *arg0, UNUSED Mat4 arg1, struct PalmTree *arg gSPDisplayList(gDisplayListHead++, d_course_koopa_troopa_beach_dl_tree_top3); gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); break; - } } } diff --git a/src/actors/piranha_plant/render.inc.c b/src/actors/piranha_plant/render.inc.c index 9a4cbd5eb..c6f6e1ae9 100644 --- a/src/actors/piranha_plant/render.inc.c +++ b/src/actors/piranha_plant/render.inc.c @@ -12,106 +12,109 @@ * @param arg1 * @param arg2 */ -void render_actor_piranha_plant(Camera *arg0, Mat4 arg1, struct PiranhaPlant *arg2) { +void render_actor_piranha_plant(Camera* arg0, Mat4 arg1, struct PiranhaPlant* arg2) { UNUSED s32 pad; - u8 *addr; + u8* addr; s16 temp_lo = arg0 - camera1; s16 animationFrame; // unconfirmed s16 temp = arg2->flags; f32 temp_f0; s32 maxObjectsReached; - if (temp & 0x800) { return; } + if (temp & 0x800) { + return; + } - temp_f0 = is_within_render_distance(arg0->pos, arg2->pos, arg0->rot[1], 0, gCameraZoom[arg0 - camera1], 1000000.0f); + temp_f0 = is_within_render_distance(arg0->pos, arg2->pos, arg0->rot[1], 0, gCameraZoom[arg0 - camera1], 1000000.0f); - if (temp_f0 < 0.0f) { + if (temp_f0 < 0.0f) { - switch(temp_lo) { - case 0: - arg2->visibilityStates[0] = -1; - break; - case 1: - arg2->visibilityStates[1] = -1; - break; - case 2: - arg2->visibilityStates[2] = -1; - break; - case 3: - arg2->visibilityStates[3] = -1; - break; - - } - return; + switch (temp_lo) { + case 0: + arg2->visibilityStates[0] = -1; + break; + case 1: + arg2->visibilityStates[1] = -1; + break; + case 2: + arg2->visibilityStates[2] = -1; + break; + case 3: + arg2->visibilityStates[3] = -1; + break; } - arg1[3][0] = arg2->pos[0]; - arg1[3][1] = arg2->pos[1]; - arg1[3][2] = arg2->pos[2]; - maxObjectsReached = render_set_position(arg1, 0) == 0; - if (maxObjectsReached) { return; } - - if (90000.0f < temp_f0) { + return; + } + arg1[3][0] = arg2->pos[0]; + arg1[3][1] = arg2->pos[1]; + arg1[3][2] = arg2->pos[2]; + maxObjectsReached = render_set_position(arg1, 0) == 0; + if (maxObjectsReached) { + return; + } - switch(temp_lo) { - case 0: - arg2->visibilityStates[0] = 0; - break; - case 1: - arg2->visibilityStates[1] = 0; - break; - case 2: - arg2->visibilityStates[2] = 0; - break; - case 3: - arg2->visibilityStates[3] = 0; - break; - } - animationFrame = 0; + if (90000.0f < temp_f0) { - } else { - switch(temp_lo) { - case 0: - arg2->visibilityStates[0] = 1; - break; - case 1: - arg2->visibilityStates[1] = 1; - break; - case 2: - arg2->visibilityStates[2] = 1; - break; - case 3: - arg2->visibilityStates[3] = 1; - break; - } + switch (temp_lo) { + case 0: + arg2->visibilityStates[0] = 0; + break; + case 1: + arg2->visibilityStates[1] = 0; + break; + case 2: + arg2->visibilityStates[2] = 0; + break; + case 3: + arg2->visibilityStates[3] = 0; + break; + } + animationFrame = 0; - switch(temp_lo) { - case 0: - animationFrame = arg2->timers[0]; - break; - case 1: - animationFrame = arg2->timers[1]; - break; - case 2: - animationFrame = arg2->timers[2]; - break; - case 3: - animationFrame = arg2->timers[3]; - break; - } + } else { + switch (temp_lo) { + case 0: + arg2->visibilityStates[0] = 1; + break; + case 1: + arg2->visibilityStates[1] = 1; + break; + case 2: + arg2->visibilityStates[2] = 1; + break; + case 3: + arg2->visibilityStates[3] = 1; + break; } - animationFrame /= 6; - if (animationFrame > 8) { - animationFrame = 8; + switch (temp_lo) { + case 0: + animationFrame = arg2->timers[0]; + break; + case 1: + animationFrame = arg2->timers[1]; + break; + case 2: + animationFrame = arg2->timers[2]; + break; + case 3: + animationFrame = arg2->timers[3]; + break; } - addr = D_802BA058 + (animationFrame << 0xB); - gDPLoadTextureBlock(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(addr), G_IM_FMT_CI, G_IM_SIZ_8b, 32, 64, 0, - G_TX_MIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); + } + animationFrame /= 6; + if (animationFrame > 8) { + animationFrame = 8; + } + addr = D_802BA058 + (animationFrame << 0xB); + gDPLoadTextureBlock(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(addr), G_IM_FMT_CI, G_IM_SIZ_8b, 32, 64, 0, + G_TX_MIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, + G_TX_NOLOD); - if (gCurrentCourseId == COURSE_MARIO_RACEWAY) { - gSPDisplayList(gDisplayListHead++, d_course_mario_raceway_dl_piranha_plant); - } else { - gSPDisplayList(gDisplayListHead++, &d_course_royal_raceway_dl_piranha_plant); - } + if (gCurrentCourseId == COURSE_MARIO_RACEWAY) { + gSPDisplayList(gDisplayListHead++, &d_course_mario_raceway_dl_piranha_plant); + } else { + gSPDisplayList(gDisplayListHead++, &d_course_royal_raceway_dl_piranha_plant); + } } diff --git a/src/actors/piranha_plant/update.inc.c b/src/actors/piranha_plant/update.inc.c index 4c22925f8..3091bb072 100644 --- a/src/actors/piranha_plant/update.inc.c +++ b/src/actors/piranha_plant/update.inc.c @@ -3,10 +3,10 @@ /** * @brief Updates the piranha plant actor. * Actor used in Mario Raceway and Royal Raceway. - * - * @param arg0 + * + * @param arg0 */ -void update_actor_piranha_plant(struct PiranhaPlant *arg0) { +void update_actor_piranha_plant(struct PiranhaPlant* arg0) { if ((arg0->flags & 0x800) == 0) { if ((arg0->flags & 0x400) != 0) { arg0->pos[1] += 4.0f; diff --git a/src/actors/railroad_crossing/render.inc.c b/src/actors/railroad_crossing/render.inc.c index 61ad5b667..3fe9eb98a 100644 --- a/src/actors/railroad_crossing/render.inc.c +++ b/src/actors/railroad_crossing/render.inc.c @@ -10,10 +10,11 @@ * @param arg0 * @param rr_crossing */ -void render_actor_railroad_crossing(Camera *arg0, struct RailroadCrossing *rr_crossing) { - UNUSED Vec3s sp80 = {0, 0, 0}; +void render_actor_railroad_crossing(Camera* arg0, struct RailroadCrossing* rr_crossing) { + UNUSED Vec3s sp80 = { 0, 0, 0 }; Mat4 sp40; - f32 unk = is_within_render_distance(arg0->pos, rr_crossing->pos, arg0->rot[1], 0.0f, gCameraZoom[arg0 - camera1], 4000000.0f); + f32 unk = is_within_render_distance(arg0->pos, rr_crossing->pos, arg0->rot[1], 0.0f, gCameraZoom[arg0 - camera1], + 4000000.0f); if (!(unk < 0.0f)) { mtxf_pos_rotation_xyz(sp40, rr_crossing->pos, rr_crossing->rot); diff --git a/src/actors/railroad_crossing/update.inc.c b/src/actors/railroad_crossing/update.inc.c index e65068c5a..f65376674 100644 --- a/src/actors/railroad_crossing/update.inc.c +++ b/src/actors/railroad_crossing/update.inc.c @@ -4,10 +4,10 @@ * @brief Updates the railroad crossing actor. * Actor used in Kalimari Desert. * Make the sound of the bell when the train is close. - * - * @param crossing + * + * @param crossing */ -void update_actor_railroad_crossing(struct RailroadCrossing *crossing) { +void update_actor_railroad_crossing(struct RailroadCrossing* crossing) { // If train close? if (isCrossingTriggeredByIndex[crossing->crossingId] != 0) { // Timer++ diff --git a/src/actors/school_bus/render.inc.c b/src/actors/school_bus/render.inc.c index 05693a335..dc6753074 100644 --- a/src/actors/school_bus/render.inc.c +++ b/src/actors/school_bus/render.inc.c @@ -11,34 +11,36 @@ * @param arg0 * @param arg1 */ -void render_actor_school_bus(Camera *arg0, struct Actor *arg1) { +void render_actor_school_bus(Camera* arg0, struct Actor* arg1) { UNUSED s32 pad[6]; Mat4 spC8; UNUSED s32 pad2[32]; f32 temp_f0; - temp_f0 = is_within_render_distance(arg0->pos, arg1->pos, arg0->rot[1], 2500.0f, gCameraZoom[arg0 - camera1], 9000000.0f); - if (temp_f0 < 0.0f) { return; } + temp_f0 = + is_within_render_distance(arg0->pos, arg1->pos, arg0->rot[1], 2500.0f, gCameraZoom[arg0 - camera1], 9000000.0f); + if (temp_f0 < 0.0f) { + return; + } - gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); - gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + mtxf_pos_rotation_xyz(spC8, arg1->pos, arg1->rot); + if (render_set_position(spC8, 0) != 0) { - mtxf_pos_rotation_xyz(spC8, arg1->pos, arg1->rot); - if (render_set_position(spC8, 0) != 0) { - - if (gActiveScreenMode == SCREEN_MODE_1P) { - if (temp_f0 < 160000.0f) { - gSPDisplayList(gDisplayListHead++, toads_turnpike_dl_3); - } else if (temp_f0 < 640000.0f) { - gSPDisplayList(gDisplayListHead++, toads_turnpike_dl_4); - } else { - gSPDisplayList(gDisplayListHead++, toads_turnpike_dl_5); - } - } else if (temp_f0 < 160000.0f) { - gSPDisplayList(gDisplayListHead++, toads_turnpike_dl_4); + if (gActiveScreenMode == SCREEN_MODE_1P) { + if (temp_f0 < 160000.0f) { + gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_3); + } else if (temp_f0 < 640000.0f) { + gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_4); } else { gSPDisplayList(gDisplayListHead++, toads_turnpike_dl_5); } + } else if (temp_f0 < 160000.0f) { + gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_4); + } else { + gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_5); } + } } diff --git a/src/actors/tanker_truck/render.inc.c b/src/actors/tanker_truck/render.inc.c index b2c105fe4..8d940dc33 100644 --- a/src/actors/tanker_truck/render.inc.c +++ b/src/actors/tanker_truck/render.inc.c @@ -6,15 +6,16 @@ * @brief Renders the tanker truck actor. * Actor used in Toad's Turnpike. * His update are made in vehicle. - * - * @param camera - * @param arg1 + * + * @param camera + * @param arg1 */ -void render_actor_tanker_truck(Camera *camera, struct Actor* arg1) { +void render_actor_tanker_truck(Camera* camera, struct Actor* arg1) { UNUSED s32 pad[6]; Mat4 spC8; UNUSED s32 pad2[32]; - f32 temp_f0 = is_within_render_distance(camera->pos, arg1->pos, camera->rot[1], 2500.0f, gCameraZoom[camera - camera1], 9000000.0f); + f32 temp_f0 = is_within_render_distance(camera->pos, arg1->pos, camera->rot[1], 2500.0f, + gCameraZoom[camera - camera1], 9000000.0f); if (!(temp_f0 < 0.0f)) { @@ -33,11 +34,11 @@ void render_actor_tanker_truck(Camera *camera, struct Actor* arg1) { } else { gSPDisplayList(gDisplayListHead++, toads_turnpike_dl_8); } - } else if (temp_f0 < 160000.0f) { - gSPDisplayList(gDisplayListHead++, toads_turnpike_dl_7); - } else { - gSPDisplayList(gDisplayListHead++, toads_turnpike_dl_8); - } + } else if (temp_f0 < 160000.0f) { + gSPDisplayList(gDisplayListHead++, toads_turnpike_dl_7); + } else { + gSPDisplayList(gDisplayListHead++, toads_turnpike_dl_8); + } } } } diff --git a/src/actors/train/render.inc.c b/src/actors/train/render.inc.c index cd5698353..cdaca02f0 100644 --- a/src/actors/train/render.inc.c +++ b/src/actors/train/render.inc.c @@ -11,7 +11,7 @@ * @param camera * @param actor */ -void render_actor_train_engine(Camera *camera, struct TrainCar *actor) { +void render_actor_train_engine(Camera* camera, struct TrainCar* actor) { UNUSED s32 pad[2]; s32 maxObjectsReached; Vec3f sp160; @@ -19,15 +19,20 @@ void render_actor_train_engine(Camera *camera, struct TrainCar *actor) { Mat4 spE0; Mat4 spA0; - f32 distance = is_within_render_distance(camera->pos, actor->pos, camera->rot[1], 2500.0f, gCameraZoom[camera - camera1], 9000000.0f); + f32 distance = is_within_render_distance(camera->pos, actor->pos, camera->rot[1], 2500.0f, + gCameraZoom[camera - camera1], 9000000.0f); - if (distance < 0.0f) { return; } + if (distance < 0.0f) { + return; + } gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); mtxf_pos_rotation_xyz(sp120, actor->pos, actor->rot); maxObjectsReached = render_set_position(sp120, 0) == 0; - if (maxObjectsReached) { return; } + if (maxObjectsReached) { + return; + } if (distance < 122500.0f) { @@ -37,12 +42,14 @@ void render_actor_train_engine(Camera *camera, struct TrainCar *actor) { } else if (distance < 640000.0f) { gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_1D670); - gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_1D160); + gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_1D160); } else { - gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_1E910); - gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_1E480); + gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_1E910); + gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_1E480); + } + if (1440000.0f < distance) { + return; } - if (1440000.0f < distance) { return; } gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22D28); @@ -53,7 +60,9 @@ void render_actor_train_engine(Camera *camera, struct TrainCar *actor) { mtxf_multiplication(spA0, sp120, spE0); maxObjectsReached = render_set_position(spA0, 3) == 0; - if (maxObjectsReached) { return; } + if (maxObjectsReached) { + return; + } gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); @@ -64,7 +73,9 @@ void render_actor_train_engine(Camera *camera, struct TrainCar *actor) { mtxf_multiplication(spA0, sp120, spE0); maxObjectsReached = render_set_position(spA0, 3) == 0; - if (maxObjectsReached) { return; } + if (maxObjectsReached) { + return; + } gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); @@ -75,7 +86,9 @@ void render_actor_train_engine(Camera *camera, struct TrainCar *actor) { mtxf_multiplication(spA0, sp120, spE0); maxObjectsReached = render_set_position(spA0, 3) == 0; - if (maxObjectsReached) { return; } + if (maxObjectsReached) { + return; + } gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); @@ -86,7 +99,9 @@ void render_actor_train_engine(Camera *camera, struct TrainCar *actor) { mtxf_multiplication(spA0, sp120, spE0); maxObjectsReached = render_set_position(spA0, 3) == 0; - if (maxObjectsReached) { return; } + if (maxObjectsReached) { + return; + } gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); @@ -97,7 +112,9 @@ void render_actor_train_engine(Camera *camera, struct TrainCar *actor) { mtxf_multiplication(spA0, sp120, spE0); maxObjectsReached = render_set_position(spA0, 3) == 0; - if (maxObjectsReached) { return; } + if (maxObjectsReached) { + return; + } gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22D70); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); @@ -108,7 +125,9 @@ void render_actor_train_engine(Camera *camera, struct TrainCar *actor) { mtxf_multiplication(spA0, sp120, spE0); maxObjectsReached = render_set_position(spA0, 3) == 0; - if (maxObjectsReached) { return; } + if (maxObjectsReached) { + return; + } gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22D70); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); @@ -119,7 +138,9 @@ void render_actor_train_engine(Camera *camera, struct TrainCar *actor) { mtxf_multiplication(spA0, sp120, spE0); maxObjectsReached = render_set_position(spA0, 3) == 0; - if (maxObjectsReached) { return; } + if (maxObjectsReached) { + return; + } gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22D70); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); @@ -130,27 +151,34 @@ void render_actor_train_engine(Camera *camera, struct TrainCar *actor) { mtxf_multiplication(spA0, sp120, spE0); maxObjectsReached = render_set_position(spA0, 3) == 0; - if (maxObjectsReached) { return; } + if (maxObjectsReached) { + return; + } gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22D70); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); } -void render_actor_train_tender(Camera *camera, struct TrainCar *actor) { +void render_actor_train_tender(Camera* camera, struct TrainCar* actor) { Mat4 sp120; Vec3f sp160; Mat4 spE0; Mat4 spA0; - f32 temp_f0 = is_within_render_distance(camera->pos, actor->pos, camera->rot[1], 625.0f, gCameraZoom[camera - camera1], 9000000.0f); + f32 temp_f0 = is_within_render_distance(camera->pos, actor->pos, camera->rot[1], 625.0f, + gCameraZoom[camera - camera1], 9000000.0f); - if (temp_f0 < 0.0f) { return; } + if (temp_f0 < 0.0f) { + return; + } gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); mtxf_pos_rotation_xyz(sp120, actor->pos, actor->rot); - if (render_set_position(sp120, 0) == 0) { return; } + if (render_set_position(sp120, 0) == 0) { + return; + } if (temp_f0 < 250000.0f) { @@ -161,7 +189,9 @@ void render_actor_train_tender(Camera *camera, struct TrainCar *actor) { } else { gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_1FAF8); } - if (1440000.0f < temp_f0) { return; } + if (1440000.0f < temp_f0) { + return; + } gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22D28); @@ -171,7 +201,9 @@ void render_actor_train_tender(Camera *camera, struct TrainCar *actor) { mtxf_translate(spE0, sp160); mtxf_multiplication(spA0, sp120, spE0); - if (render_set_position(spA0, 3) == 0) { return; } + if (render_set_position(spA0, 3) == 0) { + return; + } gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); @@ -181,7 +213,9 @@ void render_actor_train_tender(Camera *camera, struct TrainCar *actor) { mtxf_translate(spE0, sp160); mtxf_multiplication(spA0, sp120, spE0); - if (render_set_position(spA0, 3) == 0) { return; } + if (render_set_position(spA0, 3) == 0) { + return; + } gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); @@ -191,7 +225,9 @@ void render_actor_train_tender(Camera *camera, struct TrainCar *actor) { mtxf_translate(spE0, sp160); mtxf_multiplication(spA0, sp120, spE0); - if (render_set_position(spA0, 3) == 0) { return; } + if (render_set_position(spA0, 3) == 0) { + return; + } gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); @@ -201,27 +237,34 @@ void render_actor_train_tender(Camera *camera, struct TrainCar *actor) { mtxf_translate(spE0, sp160); mtxf_multiplication(spA0, sp120, spE0); - if (render_set_position(spA0, 3) == 0) { return; } + if (render_set_position(spA0, 3) == 0) { + return; + } gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); } -void render_actor_train_passenger_car(Camera *camera, struct TrainCar *actor) { +void render_actor_train_passenger_car(Camera* camera, struct TrainCar* actor) { Mat4 sp120; Vec3f sp160; Mat4 spE0; Mat4 spA0; - f32 temp_f0 = is_within_render_distance(camera->pos, actor->pos, camera->rot[1], 2025.0f, gCameraZoom[camera - camera1], 9000000.0f); + f32 temp_f0 = is_within_render_distance(camera->pos, actor->pos, camera->rot[1], 2025.0f, + gCameraZoom[camera - camera1], 9000000.0f); - if (temp_f0 < 0.0f) { return; } + if (temp_f0 < 0.0f) { + return; + } gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); mtxf_pos_rotation_xyz(sp120, actor->pos, actor->rot); - if (render_set_position(sp120, 0) == 0) { return; } + if (render_set_position(sp120, 0) == 0) { + return; + } if (temp_f0 < 250000.0f) { @@ -236,7 +279,9 @@ void render_actor_train_passenger_car(Camera *camera, struct TrainCar *actor) { gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_21C90); gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_21A80); } - if (1440000.0f < temp_f0) { return; } + if (1440000.0f < temp_f0) { + return; + } gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22D28); @@ -246,7 +291,9 @@ void render_actor_train_passenger_car(Camera *camera, struct TrainCar *actor) { mtxf_translate(spE0, sp160); mtxf_multiplication(spA0, sp120, spE0); - if (render_set_position(spA0, 3) == 0) { return; } + if (render_set_position(spA0, 3) == 0) { + return; + } gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); @@ -256,7 +303,9 @@ void render_actor_train_passenger_car(Camera *camera, struct TrainCar *actor) { mtxf_translate(spE0, sp160); mtxf_multiplication(spA0, sp120, spE0); - if (render_set_position(spA0, 3) == 0) { return; } + if (render_set_position(spA0, 3) == 0) { + return; + } gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); @@ -266,7 +315,9 @@ void render_actor_train_passenger_car(Camera *camera, struct TrainCar *actor) { mtxf_translate(spE0, sp160); mtxf_multiplication(spA0, sp120, spE0); - if (render_set_position(spA0, 3) == 0) { return; } + if (render_set_position(spA0, 3) == 0) { + return; + } gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); @@ -276,7 +327,9 @@ void render_actor_train_passenger_car(Camera *camera, struct TrainCar *actor) { mtxf_translate(spE0, sp160); mtxf_multiplication(spA0, sp120, spE0); - if (render_set_position(spA0, 3) == 0) { return; } + if (render_set_position(spA0, 3) == 0) { + return; + } gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); @@ -286,7 +339,9 @@ void render_actor_train_passenger_car(Camera *camera, struct TrainCar *actor) { mtxf_translate(spE0, sp160); mtxf_multiplication(spA0, sp120, spE0); - if (render_set_position(spA0, 3) == 0) { return; } + if (render_set_position(spA0, 3) == 0) { + return; + } gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); @@ -296,7 +351,9 @@ void render_actor_train_passenger_car(Camera *camera, struct TrainCar *actor) { mtxf_translate(spE0, sp160); mtxf_multiplication(spA0, sp120, spE0); - if (render_set_position(spA0, 3) == 0) { return; } + if (render_set_position(spA0, 3) == 0) { + return; + } gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); @@ -306,7 +363,9 @@ void render_actor_train_passenger_car(Camera *camera, struct TrainCar *actor) { mtxf_translate(spE0, sp160); mtxf_multiplication(spA0, sp120, spE0); - if (render_set_position(spA0, 3) == 0) { return; } + if (render_set_position(spA0, 3) == 0) { + return; + } gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); @@ -316,7 +375,9 @@ void render_actor_train_passenger_car(Camera *camera, struct TrainCar *actor) { mtxf_translate(spE0, sp160); mtxf_multiplication(spA0, sp120, spE0); - if (render_set_position(spA0, 3) == 0) { return; } + if (render_set_position(spA0, 3) == 0) { + return; + } gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); diff --git a/src/actors/train/update.inc.c b/src/actors/train/update.inc.c index 024d0c9ab..101cd4c5a 100644 --- a/src/actors/train/update.inc.c +++ b/src/actors/train/update.inc.c @@ -4,15 +4,15 @@ * @brief Updates the train engine actor. * Used in Kalimari Desert. * Update wheels and make sound, for his update position it's in vehicle. - * - * @param arg0 + * + * @param arg0 */ -void update_actor_train_engine(struct TrainCar *arg0) { +void update_actor_train_engine(struct TrainCar* arg0) { arg0->wheelRot -= 0x666; if (arg0->unk_08 != 0.0f) { arg0->unk_08 = 0.0f; - func_800C9D80(arg0->pos, arg0->velocity, SOUND_ARG_LOAD(0x51,0x01,0x80,0x00)); + func_800C9D80(arg0->pos, arg0->velocity, SOUND_ARG_LOAD(0x51, 0x01, 0x80, 0x00)); } } @@ -20,9 +20,9 @@ void update_actor_train_engine(struct TrainCar *arg0) { * @brief Updates the train tender actor. * Used in Kalimari Desert. * Update wheels, for his update position it's in vehicle. - * @param tender + * @param tender */ -void update_actor_train_tender(struct TrainCar *tender) { +void update_actor_train_tender(struct TrainCar* tender) { tender->wheelRot -= 0x4FA; } @@ -30,9 +30,9 @@ void update_actor_train_tender(struct TrainCar *tender) { * @brief Updates the train passenger car actor. * Used in Kalimari Desert. * Update wheels, for his update position it's in vehicle. - * - * @param arg0 + * + * @param arg0 */ -void update_actor_train_passenger_car(struct TrainCar *arg0) { +void update_actor_train_passenger_car(struct TrainCar* arg0) { arg0->wheelRot -= 0x666; } diff --git a/src/actors/trees/render.inc.c b/src/actors/trees/render.inc.c index 3ef118acc..21f39c180 100644 --- a/src/actors/trees/render.inc.c +++ b/src/actors/trees/render.inc.c @@ -13,15 +13,20 @@ * @param arg1 * @param arg2 */ -void render_actor_tree_mario_raceway(Camera *camera, Mat4 arg1, struct Actor *arg2) { +void render_actor_tree_mario_raceway(Camera* camera, Mat4 arg1, struct Actor* arg2) { f32 temp_f0; s16 temp_v0 = arg2->flags; - if ((temp_v0 & 0x800) != 0) { return; } + if ((temp_v0 & 0x800) != 0) { + return; + } - temp_f0 = is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 16000000.0f); + temp_f0 = is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], + 16000000.0f); - if (temp_f0 < 0.0f) { return; } + if (temp_f0 < 0.0f) { + return; + } if (((temp_v0 & 0x400) == 0) && (temp_f0 < 250000.0f)) { func_8029794C(arg2->pos, arg2->rot, 3.0f); @@ -43,15 +48,20 @@ void render_actor_tree_mario_raceway(Camera *camera, Mat4 arg1, struct Actor *ar * @param arg1 * @param arg2 */ -void render_actor_tree_yoshi_valley(Camera *camera, Mat4 arg1, struct Actor *arg2) { +void render_actor_tree_yoshi_valley(Camera* camera, Mat4 arg1, struct Actor* arg2) { f32 temp_f0; s16 temp_v0 = arg2->flags; - if ((temp_v0 & 0x800) != 0) { return; } + if ((temp_v0 & 0x800) != 0) { + return; + } - temp_f0 = is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); + temp_f0 = + is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); - if (temp_f0 < 0.0f) { return; } + if (temp_f0 < 0.0f) { + return; + } if (((temp_v0 & 0x400) == 0) && (temp_f0 < 250000.0f)) { func_8029794C(arg2->pos, arg2->rot, 2.79999995f); @@ -73,15 +83,20 @@ void render_actor_tree_yoshi_valley(Camera *camera, Mat4 arg1, struct Actor *arg * @param arg1 * @param arg2 */ -void render_actor_tree_royal_raceway(Camera *camera, Mat4 arg1, struct Actor *arg2) { +void render_actor_tree_royal_raceway(Camera* camera, Mat4 arg1, struct Actor* arg2) { f32 temp_f0; s16 temp_v0 = arg2->flags; - if ((temp_v0 & 0x800) != 0) { return; } + if ((temp_v0 & 0x800) != 0) { + return; + } - temp_f0 = is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); + temp_f0 = + is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); - if (temp_f0 < 0.0f) { return; } + if (temp_f0 < 0.0f) { + return; + } if (((temp_v0 & 0x400) == 0) && (temp_f0 < 250000.0f)) { func_8029794C(arg2->pos, arg2->rot, 2.79999995f); @@ -103,15 +118,20 @@ void render_actor_tree_royal_raceway(Camera *camera, Mat4 arg1, struct Actor *ar * @param arg1 * @param arg2 */ -void render_actor_tree_moo_moo_farm(Camera *camera, Mat4 arg1, struct Actor *arg2) { +void render_actor_tree_moo_moo_farm(Camera* camera, Mat4 arg1, struct Actor* arg2) { f32 temp_f0; s16 temp_v0 = arg2->flags; - if ((temp_v0 & 0x800) != 0) { return; } + if ((temp_v0 & 0x800) != 0) { + return; + } - temp_f0 = is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 6250000.0f); + temp_f0 = + is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 6250000.0f); - if (temp_f0 < 0.0f) { return; } + if (temp_f0 < 0.0f) { + return; + } if (((temp_v0 & 0x400) == 0) && (temp_f0 < 600.0f)) { func_8029794C(arg2->pos, arg2->rot, 5.0f); @@ -127,15 +147,20 @@ void render_actor_tree_moo_moo_farm(Camera *camera, Mat4 arg1, struct Actor *arg } // have all the properties of the tree -void func_80299864(Camera *camera, Mat4 arg1, struct Actor *arg2) { +void func_80299864(Camera* camera, Mat4 arg1, struct Actor* arg2) { f32 temp_f0; s16 temp_v0 = arg2->flags; - if ((temp_v0 & 0x800) != 0) { return; } + if ((temp_v0 & 0x800) != 0) { + return; + } - temp_f0 = is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); + temp_f0 = + is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); - if (temp_f0 < 0.0f) { return; } + if (temp_f0 < 0.0f) { + return; + } if (((temp_v0 & 0x400) == 0) && (temp_f0 < 250000.0f)) { func_8029794C(arg2->pos, arg2->rot, 2.79999995f); @@ -158,7 +183,7 @@ void func_80299864(Camera *camera, Mat4 arg1, struct Actor *arg2) { // Just in-case changed the code into a switch to prevent future crashes. // This comment can be removed when this is confirmed to work. - switch(gCurrentCourseId) { + switch (gCurrentCourseId) { case COURSE_LUIGI_RACEWAY: gSPDisplayList(gDisplayListHead++, d_course_luigi_raceway_dl_FC70); break; @@ -176,15 +201,20 @@ void func_80299864(Camera *camera, Mat4 arg1, struct Actor *arg2) { * @param arg1 * @param arg2 */ -void render_actor_tree_bowser_castle(Camera *camera, Mat4 arg1, struct Actor *arg2) { +void render_actor_tree_bowser_castle(Camera* camera, Mat4 arg1, struct Actor* arg2) { f32 temp_f0; s16 temp_v0 = arg2->flags; - if ((temp_v0 & 0x800) != 0) { return; } + if ((temp_v0 & 0x800) != 0) { + return; + } - temp_f0 = is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); + temp_f0 = + is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); - if (temp_f0 < 0.0f) { return; } + if (temp_f0 < 0.0f) { + return; + } if (((temp_v0 & 0x400) == 0) && (temp_f0 < 250000.0f)) { func_8029794C(arg2->pos, arg2->rot, 2.79999995f); @@ -206,15 +236,20 @@ void render_actor_tree_bowser_castle(Camera *camera, Mat4 arg1, struct Actor *ar * @param arg1 * @param arg2 */ -void render_actor_bush_bowser_castle(Camera *camera, Mat4 arg1, struct Actor *arg2) { +void render_actor_bush_bowser_castle(Camera* camera, Mat4 arg1, struct Actor* arg2) { f32 temp_f0; s16 temp_v0 = arg2->flags; - if ((temp_v0 & 0x800) != 0) { return; } + if ((temp_v0 & 0x800) != 0) { + return; + } - temp_f0 = is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 640000.0f); + temp_f0 = + is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 640000.0f); - if (temp_f0 < 0.0f) { return; } + if (temp_f0 < 0.0f) { + return; + } if (((temp_v0 & 0x400) == 0) && (temp_f0 < 250000.0f)) { func_8029794C(arg2->pos, arg2->rot, 2.79999995f); @@ -236,15 +271,20 @@ void render_actor_bush_bowser_castle(Camera *camera, Mat4 arg1, struct Actor *ar * @param arg1 * @param arg2 */ -void render_actor_tree_frappe_snowland(Camera *camera, Mat4 arg1, struct Actor *arg2) { +void render_actor_tree_frappe_snowland(Camera* camera, Mat4 arg1, struct Actor* arg2) { f32 temp_f0; s16 temp_v0 = arg2->flags; - if ((temp_v0 & 0x800) != 0) { return; } + if ((temp_v0 & 0x800) != 0) { + return; + } - temp_f0 = is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); + temp_f0 = + is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); - if (temp_f0 < 0.0f) { return; } + if (temp_f0 < 0.0f) { + return; + } if (((temp_v0 & 0x400) == 0) && (temp_f0 < 250000.0f)) { func_8029794C(arg2->pos, arg2->rot, 2.79999995f); @@ -265,15 +305,20 @@ void render_actor_tree_frappe_snowland(Camera *camera, Mat4 arg1, struct Actor * * @param arg1 * @param arg2 */ -void render_actor_tree_cactus1_kalimari_desert(Camera *camera, Mat4 arg1, struct Actor *arg2) { +void render_actor_tree_cactus1_kalimari_desert(Camera* camera, Mat4 arg1, struct Actor* arg2) { f32 temp_f0; s16 temp_v0 = arg2->flags; - if ((temp_v0 & 0x800) != 0) { return; } + if ((temp_v0 & 0x800) != 0) { + return; + } - temp_f0 = is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); + temp_f0 = + is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); - if (temp_f0 < 0.0f) { return; } + if (temp_f0 < 0.0f) { + return; + } if (((temp_v0 & 0x400) == 0) && (temp_f0 < 40000.0f)) { func_8029794C(arg2->pos, arg2->rot, 1.0f); @@ -294,15 +339,20 @@ void render_actor_tree_cactus1_kalimari_desert(Camera *camera, Mat4 arg1, struct * @param arg1 * @param arg2 */ -void render_actor_tree_cactus2_kalimari_desert(Camera *camera, Mat4 arg1, struct Actor *arg2) { +void render_actor_tree_cactus2_kalimari_desert(Camera* camera, Mat4 arg1, struct Actor* arg2) { f32 temp_f0; s16 temp_v0 = arg2->flags; - if ((temp_v0 & 0x800) != 0) { return; } + if ((temp_v0 & 0x800) != 0) { + return; + } - temp_f0 = is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); + temp_f0 = + is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); - if (temp_f0 < 0.0f) { return; } + if (temp_f0 < 0.0f) { + return; + } if (((temp_v0 & 0x400) == 0) && (temp_f0 < 40000.0f)) { func_8029794C(arg2->pos, arg2->rot, 1.0f); @@ -323,15 +373,20 @@ void render_actor_tree_cactus2_kalimari_desert(Camera *camera, Mat4 arg1, struct * @param arg1 * @param arg2 */ -void render_actor_tree_cactus3_kalimari_desert(Camera *camera, Mat4 arg1, struct Actor *arg2) { +void render_actor_tree_cactus3_kalimari_desert(Camera* camera, Mat4 arg1, struct Actor* arg2) { f32 temp_f0; s16 temp_v0 = arg2->flags; - if ((temp_v0 & 0x800) != 0) { return; } + if ((temp_v0 & 0x800) != 0) { + return; + } - temp_f0 = is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); + temp_f0 = + is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); - if (temp_f0 < 0.0f) { return; } + if (temp_f0 < 0.0f) { + return; + } if (((temp_v0 & 0x400) == 0) && (temp_f0 < 40000.0f)) { func_8029794C(arg2->pos, arg2->rot, 0.80000001f); diff --git a/src/actors/wario_sign/render.inc.c b/src/actors/wario_sign/render.inc.c index eaf453fc5..9327bfbe6 100644 --- a/src/actors/wario_sign/render.inc.c +++ b/src/actors/wario_sign/render.inc.c @@ -10,9 +10,10 @@ * @param arg0 * @param arg1 */ -void render_actor_wario_sign(Camera *arg0, struct Actor *arg1) { +void render_actor_wario_sign(Camera* arg0, struct Actor* arg1) { Mat4 sp38; - f32 unk = is_within_render_distance(arg0->pos, arg1->pos, arg0->rot[1], 0, gCameraZoom[arg0 - camera1], 16000000.0f); + f32 unk = + is_within_render_distance(arg0->pos, arg1->pos, arg0->rot[1], 0, gCameraZoom[arg0 - camera1], 16000000.0f); if (!(unk < 0.0f)) { gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); diff --git a/src/actors/wario_sign/update.inc.c b/src/actors/wario_sign/update.inc.c index 8f4bf6d92..645b79774 100644 --- a/src/actors/wario_sign/update.inc.c +++ b/src/actors/wario_sign/update.inc.c @@ -3,9 +3,9 @@ /** * @brief Updates the Wario sign actor. * Used in Wario Stadium. - * - * @param arg0 + * + * @param arg0 */ -void update_actor_wario_sign(struct Actor *arg0) { +void update_actor_wario_sign(struct Actor* arg0) { arg0->rot[1] += 0xB6; } diff --git a/src/actors/yoshi_egg/render.inc.c b/src/actors/yoshi_egg/render.inc.c index b86e4ee5f..c7a500c0b 100644 --- a/src/actors/yoshi_egg/render.inc.c +++ b/src/actors/yoshi_egg/render.inc.c @@ -6,20 +6,21 @@ /** * @brief Renders the Yoshi egg actor. * Actor used in Yoshi Valley. - * - * @param arg0 - * @param arg1 - * @param egg - * @param arg3 + * + * @param arg0 + * @param arg1 + * @param egg + * @param arg3 */ -void render_actor_yoshi_egg(Camera *arg0, Mat4 arg1, struct YoshiValleyEgg *egg, u16 arg3) { +void render_actor_yoshi_egg(Camera* arg0, Mat4 arg1, struct YoshiValleyEgg* egg, u16 arg3) { Mat4 sp60; Vec3s sp5C; Vec3f sp54; f32 temp_f0; if (gGamestate != CREDITS_SEQUENCE) { - temp_f0 = is_within_render_distance(arg0->pos, egg->pos, arg0->rot[1], 200.0f, gCameraZoom[arg0 - camera1], 16000000.0f); + temp_f0 = is_within_render_distance(arg0->pos, egg->pos, arg0->rot[1], 200.0f, gCameraZoom[arg0 - camera1], + 16000000.0f); if (temp_f0 < 0.0f) { return; } @@ -41,7 +42,9 @@ void render_actor_yoshi_egg(Camera *arg0, Mat4 arg1, struct YoshiValleyEgg *egg, sp5C[1] = egg->eggRot; sp5C[2] = 0; mtxf_pos_rotation_xyz(sp60, egg->pos, sp5C); - if (render_set_position(sp60, 0) == 0) { return; } + if (render_set_position(sp60, 0) == 0) { + return; + } gSPSetGeometryMode(gDisplayListHead++, G_LIGHTING); gSPDisplayList(gDisplayListHead++, d_course_yoshi_valley_dl_16D70); diff --git a/src/actors/yoshi_egg/update.inc.c b/src/actors/yoshi_egg/update.inc.c index b96f66fa0..87c217a2d 100644 --- a/src/actors/yoshi_egg/update.inc.c +++ b/src/actors/yoshi_egg/update.inc.c @@ -2,10 +2,10 @@ /** * @brief Updates the Yoshi egg actor. - * - * @param egg + * + * @param egg */ -void update_actor_yoshi_egg(struct YoshiValleyEgg *egg) { +void update_actor_yoshi_egg(struct YoshiValleyEgg* egg) { egg->pathRot += 0x5B; egg->pos[0] = egg->pathCenter[0] + (sins(egg->pathRot) * egg->pathRadius); egg->pos[2] = egg->pathCenter[2] + (coss(egg->pathRot) * egg->pathRadius); |
