diff options
| author | coco875 <59367621+coco875@users.noreply.github.com> | 2024-03-04 17:02:45 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-04 09:02:45 -0700 |
| commit | f99e242d97602a67ddcb107627f56effc4afd065 (patch) | |
| tree | 0859f2747159d82cc57f79495d6df30198819715 /src/code_80005FD0.c | |
| parent | 1aa6824d3340fc6fb6eca917f8c3ed7c9259af06 (diff) | |
Document render/update objects (#565)
* Document objects related code.
* Including render/update objects code
* Various renamings
Diffstat (limited to 'src/code_80005FD0.c')
| -rw-r--r-- | src/code_80005FD0.c | 204 |
1 files changed, 102 insertions, 102 deletions
diff --git a/src/code_80005FD0.c b/src/code_80005FD0.c index fab1074ad..5edf1ca7b 100644 --- a/src/code_80005FD0.c +++ b/src/code_80005FD0.c @@ -12,11 +12,11 @@ #include "actors_extended.h" #include "render_player.h" #include "player_controller.h" -#include "code_80071F00.h" +#include "update_objects.h" #include "collision.h" #include <actor_types.h> #include "vehicles.h" -#include "hud_renderer.h" +#include "render_objects.h" #include "code_80057C60.h" #include "bomb_kart.h" #include "courses/all_course_data.h" @@ -139,7 +139,7 @@ s32 D_8016359C; TrainStuff gTrainList[NUM_TRAINS]; u16 isCrossingTriggeredByIndex[2]; u16 D_801637BC[2]; -PaddleWheelBoatStuff gFerries[NUM_PADDLE_WHEEL_BOATS]; +PaddleBoatStuff gPaddleBoats[NUM_PADDLE_BOATS]; VehicleStuff gBoxTruckList[NUM_RACE_BOX_TRUCKS]; VehicleStuff gSchoolBusList[NUM_RACE_SCHOOL_BUSES]; VehicleStuff gTankerTruckList[NUM_RACE_TANKER_TRUCKS]; @@ -551,7 +551,7 @@ s16 func_80005FD0(Vec3f arg0, Vec3f arg1) { s16 temp_ret; s16 phi_v1; - temp_ret = get_angle_between_points(arg0, arg1); + temp_ret = get_angle_between_two_vectors(arg0, arg1); phi_v1 = temp_ret; if (gIsMirrorMode != 0) { phi_v1 = -temp_ret; @@ -1608,9 +1608,9 @@ block_25: GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000929C.s") #endif -void func_800097E0(void) { +void update_vehicles(void) { s32 i; - func_8000EF20(); + generate_player_smoke(); D_8016337C++; if (gCurrentCourseId == COURSE_AWARD_CEREMONY) { @@ -1629,10 +1629,10 @@ void func_800097E0(void) { switch(gCurrentCourseId) { case COURSE_KALAMARI_DESERT: - func_80012AC0(); + update_vehicle_trains(); break; case COURSE_DK_JUNGLE: - func_800133C4(); + update_vehicle_paddle_boats(); break; case COURSE_TOADS_TURNPIKE: func_8001487C(); @@ -1876,7 +1876,7 @@ void func_80009B60(s32 playerId) { func_8000BBD8(stackPadding1A, D_80163090[playerId], D_80163448); } } - player->rotation[1] = -get_angle_between_points(player->pos, D_80162FA0); + player->rotation[1] = -get_angle_between_two_vectors(player->pos, D_80162FA0); } else { player->rotation[1] = D_80164590[D_80163448][(D_801630E0 + 4) % D_80164430]; } @@ -1889,7 +1889,7 @@ void func_80009B60(s32 playerId) { player->effects |= 0x10; } if (D_801630E8[playerId] != 0) { - D_80163300[playerId] = -get_angle_between_points(&player->copy_rotation_x, player->pos); + D_80163300[playerId] = -get_angle_between_two_vectors(&player->copy_rotation_x, player->pos); var_a0_2 = (D_801631DC[(D_80162FCE + 2) % D_80164430] * 0x168) / 65535; var_a1 = (D_80163300[playerId] * 0x168) / 65535; if (var_a0_2 < -0xB4) { @@ -1995,8 +1995,8 @@ void func_80009B60(s32 playerId) { // MISMATCH2 // This fixes part of the register allocation problems, makes fixing others // harder though. Needs more investigation - // var_a2 = (-get_angle_between_points(player->pos, D_80162FA0)) - (var_a1 = player->rotation[1]); - stackPadding19 = -get_angle_between_points(player->pos, D_80162FA0) - player->rotation[1]; + // var_a2 = (-get_angle_between_two_vectors(player->pos, D_80162FA0)) - (var_a1 = player->rotation[1]); + stackPadding19 = -get_angle_between_two_vectors(player->pos, D_80162FA0) - player->rotation[1]; var_a1 = stackPadding19; var_a2 = var_a1; if ((s16) temp_f2 < var_a1) { @@ -3174,7 +3174,7 @@ void func_8000DF8C(s32 bombKartId) { D_80162FC0[0] = temp_v0_2->posX + sp118; D_80162FC0[1] = temp_v0_2->posY; D_80162FC0[2] = temp_v0_2->posZ + temp_f0_3; - spC2 = (get_angle_between_points(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520; + spC2 = (get_angle_between_two_vectors(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520; break; case 2: var_s1 = (var_s1 + 4) % 360; @@ -3194,7 +3194,7 @@ void func_8000DF8C(s32 bombKartId) { D_80162FC0[0] = temp_v0_2->posX + sp118; D_80162FC0[1] = temp_v0_2->posY; D_80162FC0[2] = temp_v0_2->posZ + temp_f0_3; - spC2 = (get_angle_between_points(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520; + spC2 = (get_angle_between_two_vectors(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520; break; case 3: var_f20 = bombKart->yPos + 3.5f; @@ -3218,7 +3218,7 @@ void func_8000DF8C(s32 bombKartId) { D_80162FC0[0] = temp_v0_4->posX; D_80162FC0[1] = temp_v0_4->posY; D_80162FC0[2] = temp_v0_4->posZ; - spC2 = (get_angle_between_points(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520; + spC2 = (get_angle_between_two_vectors(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520; } else { D_80162FB0[0] = var_f22; D_80162FB0[1] = var_f20; @@ -3226,7 +3226,7 @@ void func_8000DF8C(s32 bombKartId) { D_80162FC0[0] = -2409.197f; D_80162FC0[1] = 0.0f; D_80162FC0[2] = -355.254f; - spC2 = (get_angle_between_points(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520; + spC2 = (get_angle_between_two_vectors(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520; } temp_f14 = ((D_80162FB0[0] + D_80162FC0[0]) * 0.5f) - var_f22; temp_f16 = ((D_80162FB0[2] + D_80162FC0[2]) * 0.5f) - var_f24; @@ -3256,7 +3256,7 @@ void func_8000DF8C(s32 bombKartId) { D_80162FC0[1] = temp_v0_4->posY; D_80162FC0[2] = temp_v0_4->posZ; var_f20 += 3.0f - (var_s1 * 0.3f); - spC2 = (get_angle_between_points(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520; + spC2 = (get_angle_between_two_vectors(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520; break; default: break; @@ -3383,7 +3383,7 @@ void func_8000EEDC(void) { } } -void func_8000EF20(void) { +void generate_player_smoke(void) { s32 someIndex; f32 var_f20; struct Actor *temp_s1; @@ -3395,33 +3395,33 @@ void func_8000EF20(void) { temp_s1 = &gActorList[var_s0->actorIndex]; var_s0->unk14++; switch (var_s0->unk10) { - case 0: - if (var_s0->unk14 < 0xA) { - var_f20 = 0.3f; - } else { - var_f20 = 0.9f; - } - break; - case 1: - if (var_s0->unk14 < 0xA) { - var_f20 = 0.15f; - } else { - var_f20 = 0.45f; - } - break; - case 2: - if (var_s0->unk14 < 0xA) { - var_f20 = 0.15f; - } else { - var_f20 = 0.45f; - } - break; - default: - var_f20 = 1.0f; - break; + case 0: + if (var_s0->unk14 < 0xA) { + var_f20 = 0.3f; + } else { + var_f20 = 0.9f; + } + break; + case 1: + if (var_s0->unk14 < 0xA) { + var_f20 = 0.15f; + } else { + var_f20 = 0.45f; + } + break; + case 2: + if (var_s0->unk14 < 0xA) { + var_f20 = 0.15f; + } else { + var_f20 = 0.45f; + } + break; + default: + var_f20 = 1.0f; + break; } if (!(var_s0->unk14 & 1)) { - func_80076D70(temp_s1->pos, ((random_int(30) + 20) * var_f20) / 50.0f, var_s0->unk10); + init_smoke_particle(temp_s1->pos, ((random_int(30) + 20) * var_f20) / 50.0f, var_s0->unk10); } } } @@ -3930,7 +3930,7 @@ s16 func_80010CB0(s32 pathIndex, s32 waypointIndex) { sp24[0] = temp_v0->posX; sp24[1] = temp_v0->posY; sp24[2] = temp_v0->posZ; - ret = get_angle_between_points(sp30, sp24); + ret = get_angle_between_two_vectors(sp30, sp24); return -ret; } @@ -4452,7 +4452,7 @@ void init_course_vehicles(void) { VehicleStuff *tempSchoolBus; VehicleStuff *tempTankerTruck; VehicleStuff *tempCar; - PaddleWheelBoatStuff *tempPaddleWheelBoat; + PaddleBoatStuff *tempPaddleWheelBoat; Vec3s paddleWheelBoatRot; s32 loopIndex; s32 loopIndex2; @@ -4497,8 +4497,8 @@ void init_course_vehicles(void) { } break; case COURSE_DK_JUNGLE: - for(loopIndex = 0; loopIndex < NUM_ACTIVE_PADDLE_WHEEL_BOATS; loopIndex++) { - tempPaddleWheelBoat = &gFerries[loopIndex]; + for(loopIndex = 0; loopIndex < NUM_ACTIVE_PADDLE_BOATS; loopIndex++) { + tempPaddleWheelBoat = &gPaddleBoats[loopIndex]; if(tempPaddleWheelBoat->isActive == 1) { origXPos = tempPaddleWheelBoat->position[0]; origZPos = tempPaddleWheelBoat->position[2]; @@ -4506,7 +4506,7 @@ void init_course_vehicles(void) { tempPaddleWheelBoat->velocity[0] = tempPaddleWheelBoat->position[0] - origXPos; tempPaddleWheelBoat->velocity[2] = tempPaddleWheelBoat->position[2] - origZPos; vec3s_set(paddleWheelBoatRot, 0, tempPaddleWheelBoat->rotY, 0); - tempPaddleWheelBoat->actorIndex = addActorToEmptySlot(tempPaddleWheelBoat->position, paddleWheelBoatRot, tempPaddleWheelBoat->velocity, ACTOR_PADDLE_WHEEL_BOAT); + tempPaddleWheelBoat->actorIndex = addActorToEmptySlot(tempPaddleWheelBoat->position, paddleWheelBoatRot, tempPaddleWheelBoat->velocity, ACTOR_PADDLE_BOAT); } } break; @@ -4632,7 +4632,7 @@ void func_80012A48(TrainCarStuff *trainCar, s16 arg1) { trainCarActor->velocity[2] = trainCar->velocity[2]; } -void func_80012AC0(void) { +void update_vehicle_trains(void) { UNUSED s32 pad[3]; f32 temp_f20; TrainCarStuff *car; @@ -4812,13 +4812,13 @@ void func_800131DC(s32 playerId) { } void func_800132F4(void) { - PaddleWheelBoatStuff *var_a1; + PaddleBoatStuff *var_a1; s32 i; PathNoY *temp_a2; u16 temp; - for (i = 0; i < NUM_ACTIVE_PADDLE_WHEEL_BOATS; i++) { + for (i = 0; i < NUM_ACTIVE_PADDLE_BOATS; i++) { temp = i * 0xB4; - var_a1 = &gFerries[i]; + var_a1 = &gPaddleBoats[i]; temp_a2 = &D_80163598[temp]; var_a1->position[0] = temp_a2->x; var_a1->position[1] = D_80162EB2; @@ -4840,11 +4840,11 @@ void func_800132F4(void) { D_801630FC = 0; } -void func_800133C4(void) { - PaddleWheelBoatStuff *ferry; +void update_vehicle_paddle_boats(void) { + PaddleBoatStuff *paddleBoat; PathNoY *waypoint; s32 i; - struct Actor *ferryActor; + struct Actor *paddleBoatActor; f32 temp_f26; f32 temp_f28; f32 temp_f30; @@ -4857,92 +4857,92 @@ void func_800133C4(void) { Vec3f sp78; s32 pad2; D_801630FC += 1; - for (i = 0; i < NUM_ACTIVE_PADDLE_WHEEL_BOATS; i++) { - ferry = &gFerries[i]; - if (ferry->isActive == 1) { - temp_f26 = ferry->position[0]; - temp_f28 = ferry->position[1]; - temp_f30 = ferry->position[2]; - func_8000DBAC(ferry->position, &ferry->waypointIndex, ferry->someMultiplier); - ferry->someFlags = func_800061DC(ferry->position, 2000.0f, ferry->someFlags); - if ((((s16) D_801630FC % 10) == 0) && (ferry->someFlags != 0)) { - sp78[0] = (f32) ((f64) ferry->position[0] - 30.0); - sp78[1] = (f32) ((f64) ferry->position[1] + 180.0); - sp78[2] = (f32) ((f64) ferry->position[2] + 45.0); - func_80006114(sp78, ferry->position, ferry->rotY); + for (i = 0; i < NUM_ACTIVE_PADDLE_BOATS; i++) { + paddleBoat = &gPaddleBoats[i]; + if (paddleBoat->isActive == 1) { + temp_f26 = paddleBoat->position[0]; + temp_f28 = paddleBoat->position[1]; + temp_f30 = paddleBoat->position[2]; + func_8000DBAC(paddleBoat->position, &paddleBoat->waypointIndex, paddleBoat->someMultiplier); + paddleBoat->someFlags = func_800061DC(paddleBoat->position, 2000.0f, paddleBoat->someFlags); + if ((((s16) D_801630FC % 10) == 0) && (paddleBoat->someFlags != 0)) { + sp78[0] = (f32) ((f64) paddleBoat->position[0] - 30.0); + sp78[1] = (f32) ((f64) paddleBoat->position[1] + 180.0); + sp78[2] = (f32) ((f64) paddleBoat->position[2] + 45.0); + func_80006114(sp78, paddleBoat->position, paddleBoat->rotY); func_80075A6C(i, sp78, 1.1f); - sp78[0] = (f32) ((f64) ferry->position[0] + 30.0); - sp78[1] = (f32) ((f64) ferry->position[1] + 180.0); - sp78[2] = (f32) ((f64) ferry->position[2] + 45.0); - func_80006114(sp78, ferry->position, ferry->rotY); + sp78[0] = (f32) ((f64) paddleBoat->position[0] + 30.0); + sp78[1] = (f32) ((f64) paddleBoat->position[1] + 180.0); + sp78[2] = (f32) ((f64) paddleBoat->position[2] + 45.0); + func_80006114(sp78, paddleBoat->position, paddleBoat->rotY); func_80075A6C(i, sp78, 1.1f); } if (random_int(100) == 0) { if (random_int(2) == 0) { - func_800C98B8(ferry->position, ferry->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x47)); + func_800C98B8(paddleBoat->position, paddleBoat->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x47)); } else { - func_800C98B8(ferry->position, ferry->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x48)); + func_800C98B8(paddleBoat->position, paddleBoat->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x48)); } } sp94[0] = temp_f26; sp94[1] = temp_f28; sp94[2] = temp_f30; - waypoint = &D_80163598[(ferry->waypointIndex + 5) % D_8016359C]; + waypoint = &D_80163598[(paddleBoat->waypointIndex + 5) % D_8016359C]; sp88[0] = (f32) waypoint->x; sp88[1] = (f32) D_80162EB0; sp88[2] = (f32) waypoint->z; temp_a1 = func_80005FD0(sp94, sp88); - temp = temp_a1 - ferry->rotY; + temp = temp_a1 - paddleBoat->rotY; var_v1 = temp; if (var_v1 < 0) { var_v1 = -var_v1; } if (var_v1 >= 0x1771) { - if (ferry->someMultiplier > 0.2) { - ferry->someMultiplier -= 0.04; + if (paddleBoat->someMultiplier > 0.2) { + paddleBoat->someMultiplier -= 0.04; } if (var_v1 >= 0x3D) { var_v1 = 0x003C; } } else { - if (ferry->someMultiplier < 2.0) { - ferry->someMultiplier += 0.02; + if (paddleBoat->someMultiplier < 2.0) { + paddleBoat->someMultiplier += 0.02; } if (var_v1 >= 0x1F) { var_v1 = 0x001E; } } if (temp >= 0x8000) { - ferry->rotY -= var_v1; + paddleBoat->rotY -= var_v1; } else if (temp > 0) { - ferry->rotY += var_v1; + paddleBoat->rotY += var_v1; } else if (temp < -0x7FFF) { - ferry->rotY += var_v1; + paddleBoat->rotY += var_v1; } else if (temp < 0) { - ferry->rotY -= var_v1; - } - ferry->velocity[0] = ferry->position[0] - temp_f26; - ferry->velocity[1] = ferry->position[1] - temp_f28; - ferry->velocity[2] = ferry->position[2] - temp_f30; - ferryActor = &gActorList[ferry->actorIndex]; - ferryActor->pos[0] = ferry->position[0]; - ferryActor->pos[1] = ferry->position[1]; - ferryActor->pos[2] = ferry->position[2]; + paddleBoat->rotY -= var_v1; + } + paddleBoat->velocity[0] = paddleBoat->position[0] - temp_f26; + paddleBoat->velocity[1] = paddleBoat->position[1] - temp_f28; + paddleBoat->velocity[2] = paddleBoat->position[2] - temp_f30; + paddleBoatActor = &gActorList[paddleBoat->actorIndex]; + paddleBoatActor->pos[0] = paddleBoat->position[0]; + paddleBoatActor->pos[1] = paddleBoat->position[1]; + paddleBoatActor->pos[2] = paddleBoat->position[2]; if (gIsMirrorMode != 0) { - ferryActor->rot[1] = -ferry->rotY; + paddleBoatActor->rot[1] = -paddleBoat->rotY; } else { - ferryActor->rot[1] = ferry->rotY; + paddleBoatActor->rot[1] = paddleBoat->rotY; } - ferryActor->velocity[0] = ferry->velocity[0]; - ferryActor->velocity[1] = ferry->velocity[1]; - ferryActor->velocity[2] = ferry->velocity[2]; + paddleBoatActor->velocity[0] = paddleBoat->velocity[0]; + paddleBoatActor->velocity[1] = paddleBoat->velocity[1]; + paddleBoatActor->velocity[2] = paddleBoat->velocity[2]; } } } void func_80013854(Player *player) { s32 someIndex; - PaddleWheelBoatStuff *tempPaddleWheelBoat; + PaddleBoatStuff *tempPaddleWheelBoat; f32 x_diff; f32 y_diff; f32 z_diff; @@ -4954,8 +4954,8 @@ void func_80013854(Player *player) { playerX = player->pos[0]; playerY = player->pos[1]; playerZ = player->pos[2]; - for (someIndex = 0; someIndex < NUM_ACTIVE_PADDLE_WHEEL_BOATS; someIndex++) { - tempPaddleWheelBoat = &gFerries[someIndex]; + for (someIndex = 0; someIndex < NUM_ACTIVE_PADDLE_BOATS; someIndex++) { + tempPaddleWheelBoat = &gPaddleBoats[someIndex]; if (tempPaddleWheelBoat->isActive == 1) { x_diff = playerX - tempPaddleWheelBoat->position[0]; y_diff = playerY - tempPaddleWheelBoat->position[1]; @@ -5091,7 +5091,7 @@ void func_80013D20(VehicleStuff *vehicle) { sp34[0] = vehicle->position[1]; sp34[1] = 0.0f; sp34[2] = sqrtf((temp_f0_3 * temp_f0_3) + (temp_f2_2 * temp_f2_2)); - thing = get_angle_between_points(sp40, sp34); + thing = get_angle_between_two_vectors(sp40, sp34); adjust_angle(&vehicle->rotation[0], -thing, 100); vehicle->velocity[0] = vehicle->position[0] - sp5C; vehicle->velocity[1] = vehicle->position[1] - sp58; @@ -8176,7 +8176,7 @@ void func_8001C14C(void) { void func_8001C3C4(s32 cameraId) { if (gCurrentCourseId == COURSE_AWARD_CEREMONY) { if (gBombKarts[0].waypointIndex >= 16) { - func_80057114(3); + func_80057114(PLAYER_FOUR); } } else { if (gModeSelection == VERSUS) { |
