mirror of
https://github.com/n64decomp/mk64
synced 2026-06-07 03:17:34 -04:00
Document render/update objects (#565)
* Document objects related code. * Including render/update objects code * Various renamings
This commit is contained in:
+101
-101
@@ -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;
|
||||
paddleBoat->rotY -= var_v1;
|
||||
}
|
||||
ferry->velocity[0] = ferry->position[0] - temp_f26;
|
||||
ferry->velocity[1] = ferry->position[1] - temp_f28;
|
||||
ferry->velocity[2] = ferry->position[2] - temp_f30;
|
||||
ferryActor = &gActorList[ferry->actorIndex];
|
||||
ferryActor->pos[0] = ferry->position[0];
|
||||
ferryActor->pos[1] = ferry->position[1];
|
||||
ferryActor->pos[2] = ferry->position[2];
|
||||
paddleBoat->velocity[0] = paddleBoat->position[0] - temp_f26;
|
||||
paddleBoat->velocity[1] = paddleBoat->position[1] - temp_f28;
|
||||
paddleBoat->velocity[2] = paddleBoat->position[2] - temp_f30;
|
||||
paddleBoatActor = &gActorList[paddleBoat->actorIndex];
|
||||
paddleBoatActor->pos[0] = paddleBoat->position[0];
|
||||
paddleBoatActor->pos[1] = paddleBoat->position[1];
|
||||
paddleBoatActor->pos[2] = paddleBoat->position[2];
|
||||
if (gIsMirrorMode != 0) {
|
||||
ferryActor->rot[1] = -ferry->rotY;
|
||||
paddleBoatActor->rot[1] = -paddleBoat->rotY;
|
||||
} else {
|
||||
ferryActor->rot[1] = ferry->rotY;
|
||||
paddleBoatActor->rot[1] = paddleBoat->rotY;
|
||||
}
|
||||
ferryActor->velocity[0] = ferry->velocity[0];
|
||||
ferryActor->velocity[1] = ferry->velocity[1];
|
||||
ferryActor->velocity[2] = ferry->velocity[2];
|
||||
paddleBoatActor->velocity[0] = paddleBoat->velocity[0];
|
||||
paddleBoatActor->velocity[1] = paddleBoat->velocity[1];
|
||||
paddleBoatActor->velocity[2] = paddleBoat->velocity[2];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_80013854(Player *player) {
|
||||
s32 someIndex;
|
||||
PaddleWheelBoatStuff *tempPaddleWheelBoat;
|
||||
PaddleBoatStuff *tempPaddleWheelBoat;
|
||||
f32 x_diff;
|
||||
f32 y_diff;
|
||||
f32 z_diff;
|
||||
@@ -4954,8 +4954,8 @@ void func_80013854(Player *player) {
|
||||
playerX = player->pos[0];
|
||||
playerY = player->pos[1];
|
||||
playerZ = player->pos[2];
|
||||
for (someIndex = 0; someIndex < NUM_ACTIVE_PADDLE_WHEEL_BOATS; someIndex++) {
|
||||
tempPaddleWheelBoat = &gFerries[someIndex];
|
||||
for (someIndex = 0; someIndex < NUM_ACTIVE_PADDLE_BOATS; someIndex++) {
|
||||
tempPaddleWheelBoat = &gPaddleBoats[someIndex];
|
||||
if (tempPaddleWheelBoat->isActive == 1) {
|
||||
x_diff = playerX - tempPaddleWheelBoat->position[0];
|
||||
y_diff = playerY - tempPaddleWheelBoat->position[1];
|
||||
@@ -5091,7 +5091,7 @@ void func_80013D20(VehicleStuff *vehicle) {
|
||||
sp34[0] = vehicle->position[1];
|
||||
sp34[1] = 0.0f;
|
||||
sp34[2] = sqrtf((temp_f0_3 * temp_f0_3) + (temp_f2_2 * temp_f2_2));
|
||||
thing = get_angle_between_points(sp40, sp34);
|
||||
thing = get_angle_between_two_vectors(sp40, sp34);
|
||||
adjust_angle(&vehicle->rotation[0], -thing, 100);
|
||||
vehicle->velocity[0] = vehicle->position[0] - sp5C;
|
||||
vehicle->velocity[1] = vehicle->position[1] - sp58;
|
||||
@@ -8176,7 +8176,7 @@ void func_8001C14C(void) {
|
||||
void func_8001C3C4(s32 cameraId) {
|
||||
if (gCurrentCourseId == COURSE_AWARD_CEREMONY) {
|
||||
if (gBombKarts[0].waypointIndex >= 16) {
|
||||
func_80057114(3);
|
||||
func_80057114(PLAYER_FOUR);
|
||||
}
|
||||
} else {
|
||||
if (gModeSelection == VERSUS) {
|
||||
|
||||
Reference in New Issue
Block a user