summaryrefslogtreecommitdiff
path: root/src/racing
diff options
context:
space:
mode:
Diffstat (limited to 'src/racing')
-rw-r--r--src/racing/actors.c27
-rw-r--r--src/racing/actors_extended.c2
-rw-r--r--src/racing/collision.c6
-rw-r--r--src/racing/math_util.c6
-rw-r--r--src/racing/memory.c24
-rw-r--r--src/racing/race_logic.c8
-rw-r--r--src/racing/race_logic.h2
-rw-r--r--src/racing/render_courses.c6
-rw-r--r--src/racing/skybox_and_splitscreen.c15
-rw-r--r--src/racing/skybox_and_splitscreen.h2
10 files changed, 36 insertions, 62 deletions
diff --git a/src/racing/actors.c b/src/racing/actors.c
index b835ad311..b254f975f 100644
--- a/src/racing/actors.c
+++ b/src/racing/actors.c
@@ -64,7 +64,7 @@ u16 D_802BA260;
* the game will cleanup any dead red or green shells by deleting their actors.
*/
void cleanup_red_and_green_shells(struct ShellActor* shell) {
- s32 actorIndex;
+ size_t actorIndex;
struct ShellActor* compare;
// try finding the dead green shell
@@ -741,7 +741,7 @@ void render_actor_shell(Camera* camera, Mat4 matrix, struct ShellActor* shell) {
bool reverseShell = false;
size_t actorIdx = CM_FindActorIndex((struct Actor*)shell);
- if (-1 == actorIdx) {
+ if ((size_t) -1 == actorIdx) {
printf("[render_actor_shell] Could not find actor index for FI, skipping!\n");
return;
}
@@ -1118,8 +1118,8 @@ void spawn_fake_item_box(Vec3f pos) {
startingRot[1] = random_u16();
startingRot[2] = random_u16();
s32 id = add_actor_to_empty_slot(pos, startingRot, startingVelocity, ACTOR_FAKE_ITEM_BOX);
- f32 height = spawn_actor_on_surface(pos[0], pos[1], pos[2]);
-
+ spawn_actor_on_surface(pos[0], pos[1], pos[2]);
+
struct FakeItemBox* box = (struct FakeItemBox*) CM_GetActor(id);
box->state = 1;
box->targetY = pos[1];
@@ -1157,7 +1157,7 @@ void init_kiwano_fruit(void) {
* members such as pos and rot should be set to prevent using expired data
**/
void destroy_all_actors(void) {
- s32 i;
+ size_t i;
gNumActors = 0;
for (i = 0; i < ACTOR_LIST_SIZE; i++) {
struct Actor* actor = CM_GetActor(i);
@@ -1221,7 +1221,7 @@ void destroy_actor(struct Actor* actor) {
}
s16 try_remove_destructable_item(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actorType) {
- s32 actorIndex;
+ size_t actorIndex;
struct ShellActor* compare;
// try removing a red shell, green shell, banana, or a fake item box if the actor is expired
@@ -1639,7 +1639,7 @@ bool collision_tree(Player* player, struct Actor* actor) {
spawn_leaf(actorPos, 0);
}
if (xz_dist < 0.1f) {
- sqrtf((sp48 * sp48) + (sp44 * sp44));
+ (void) sqrtf((sp48 * sp48) + (sp44 * sp44));
if (xz_dist) {}
player->velocity[0] = 0;
player->velocity[2] = 0;
@@ -2176,7 +2176,8 @@ void evaluate_collision_between_player_actor(Player* player, struct Actor* actor
void evaluate_collision_for_players_and_actors(void) {
struct Actor* temp_a1;
- s32 i, j;
+ s32 i;
+ size_t j;
Player* phi_s1;
for (i = 0; i < NUM_PLAYERS; i++) {
@@ -2202,10 +2203,10 @@ void evaluate_collision_for_players_and_actors(void) {
void evaluate_collision_for_destructible_actors(void) {
struct Actor* actor1;
struct Actor* actor2;
- s32 i, j;
+ size_t i, j;
UNUSED s32 pad;
- for (i = gNumPermanentActors; i < (ACTOR_LIST_SIZE); i++) {
+ for (i = gNumPermanentActors; i < ACTOR_LIST_SIZE; i++) {
actor1 = CM_GetActor(i);
if ((actor1->flags & 0x8000) == 0) {
@@ -2324,7 +2325,7 @@ void init_actor_hot_air_balloon_item_box(f32 x, f32 y, f32 z) {
void render_item_boxes(ScreenContext* arg0) {
Camera* camera = arg0->camera;
struct Actor* actor;
- s32 i;
+ size_t i;
D_8015F8DC = 0;
for (i = 0; i < CM_GetActorSize(); i++) {
@@ -2352,7 +2353,7 @@ void render_course_actors(ScreenContext* screen) {
Camera* camera = screen->camera;
u16 pathCounter = screen->pathCounter;
UNUSED s32 pad[12];
- s32 i;
+ size_t i;
struct Actor* actor;
UNUSED Vec3f sp4C = { 0.0f, 5.0f, 10.0f };
@@ -2507,7 +2508,7 @@ void render_course_actors(ScreenContext* screen) {
void update_course_actors(void) {
struct Actor* actor;
- s32 i;
+ size_t i;
for (i = 0; i < CM_GetActorSize(); i++) {
actor = CM_GetActor(i);
diff --git a/src/racing/actors_extended.c b/src/racing/actors_extended.c
index b629ec4ce..d226a8039 100644
--- a/src/racing/actors_extended.c
+++ b/src/racing/actors_extended.c
@@ -863,7 +863,7 @@ s32 use_banana_item(Player* player) {
}
// Extremely weird fake match to fix a tiny stack difference
// place the banana in back of the player
- startingPos[0, 0] = 0.0f;
+ startingPos[0] = 0.0f;
startingPos[1] = -player->boundingBoxSize;
startingPos[2] = -(player->boundingBoxSize + 4.0f);
diff --git a/src/racing/collision.c b/src/racing/collision.c
index 225dee00e..e8e9b491b 100644
--- a/src/racing/collision.c
+++ b/src/racing/collision.c
@@ -17,8 +17,6 @@
#include <stdio.h>
#include "engine/RaceManager.h"
-#pragma intrinsic(sqrtf)
-
// Used to delete the choco mountain guard rail
void nullify_displaylist(uintptr_t addr) {
Gfx* macro;
@@ -2068,7 +2066,7 @@ void generate_collision_mesh(Gfx* addr, s8 surfaceType, u16 sectionId) {
size_t vtxDataOff = gfx->words.w1 & 0xFFFF;
Vtx* vtx = ( (Vtx*)ResourceGetDataByName(filePath) ) + vtxDataOff;
- set_vtx_buffer(vtx, count, index);
+ set_vtx_buffer((uintptr_t) vtx, count, index);
break;
}
case G_VTX_OTR_HASH:
@@ -2187,7 +2185,7 @@ void find_vtx_and_set_colours(Gfx* displayList, s8 alpha, u8 red, u8 green, u8 b
lo = gfx->words.w0;
hi = gfx->words.w1;
opcode = GFX_GET_OPCODE(lo);
- if (opcode == ((u32) (G_ENDDL & 0xFF) << 24)) {
+ if (opcode == (G_ENDDL << 24)) {
break;
} else if (opcode == (G_DL << 24)) {
find_vtx_and_set_colours((Gfx*) hi, alpha, red, green, blue);
diff --git a/src/racing/math_util.c b/src/racing/math_util.c
index 9d83a5914..59dc6e65f 100644
--- a/src/racing/math_util.c
+++ b/src/racing/math_util.c
@@ -11,8 +11,6 @@
#include "port/Game.h"
#include <port/interpolation/FrameInterpolation.h>
#include <port/interpolation/matrix.h>
-#pragma intrinsic(sqrtf, fabs)
-
s32 D_802B91C0[2] = { 13, 13 };
Vec3f D_802B91C8 = { 0.0f, 0.0f, 0.0f };
@@ -1104,11 +1102,11 @@ f32 is_within_render_distance(Vec3f cameraPos, Vec3f objectPos, u16 orientationY
f32 distance;
f32 distanceY;
f32 scaleFov;
- f32 maxDistance2;
+ UNUSED f32 maxDistance2;
s32 plus_fov_angle;
s32 minus_fov_angle;
u16 temp;
- s32 count = 0;
+ UNUSED s32 count = 0;
maxDistance *= 6.5f;
maxDistance2 = 1.0f;
diff --git a/src/racing/memory.c b/src/racing/memory.c
index 6607d08c4..69e697033 100644
--- a/src/racing/memory.c
+++ b/src/racing/memory.c
@@ -26,7 +26,7 @@ s32 sGfxSeekPosition;
s32 sPackedSeekPosition;
static u8 sMemoryPool[0x10000000] ALIGNED4096;
-uintptr_t sPoolEnd = sMemoryPool + sizeof(sMemoryPool);
+uintptr_t sPoolEnd = (uintptr_t) (sMemoryPool + sizeof(sMemoryPool));
uintptr_t sPoolFreeSpace;
struct MainPoolBlock* sPoolListHeadL;
@@ -63,25 +63,6 @@ void* get_next_available_memory_addr(uintptr_t size) {
return (void*) freeSpace;
}
-static uintptr_t get_texture2(size_t offset, const course_texture* textures) {
- if (!((offset >= 0x5000000) && (offset < 0x6000000))) {
- return NULL;
- }
- size_t totalOffset = 0x5000000;
-
- while (textures->addr) {
- if (totalOffset == offset) {
- return (uintptr_t) (textures->addr);
- }
- totalOffset += textures->data_size;
- textures++;
- }
-
- printf("memory.c: get_texture()\n TEXTURE NOT FOUND DURING DISPLAYLIST EXTRACT\n");
- printf(" offset: 0x%zX\n", offset);
- return NULL;
-}
-
/**
* @brief Sets the starting location for allocating memory and calculates pool size.
*
@@ -272,7 +253,7 @@ UNUSED void* func_802A80B0(u8* dest, u8* srcStart, u8* srcEnd) {
return addr;
}
-uintptr_t MIO0_0F(u8* arg0, uintptr_t arg1, uintptr_t arg2) {
+uintptr_t MIO0_0F(UNUSED u8* arg0, uintptr_t arg1, uintptr_t arg2) {
uintptr_t oldHeapEndPtr;
void* temp_v0;
@@ -292,7 +273,6 @@ uintptr_t MIO0_0F(u8* arg0, uintptr_t arg1, uintptr_t arg2) {
return oldHeapEndPtr;
}
-
/* To help verify if ptrs are pointing within segments see gfx_pc.cpp gfx_step() */
uintptr_t vtxSegEnd;
uintptr_t dlSegEnd;
diff --git a/src/racing/race_logic.c b/src/racing/race_logic.c
index 4118add2f..2239b7f95 100644
--- a/src/racing/race_logic.c
+++ b/src/racing/race_logic.c
@@ -28,8 +28,6 @@
#include "port/audio/HMAS.h"
#include "engine/editor/Editor.h"
-#pragma intrinsic(sqrtf)
-
extern s16 gPlayerBalloonCount[];
extern s16 D_8016348C;
@@ -423,7 +421,7 @@ void func_8028EC38(s32 arg0) {
}
}
-void func_8028EC98(s32 arg0) {
+void func_8028EC98(void) {
// We want music in multiplayer, so this was removed
//if (gScreenModeSelection == SCREEN_MODE_3P_4P_SPLITSCREEN) {
@@ -444,7 +442,7 @@ void start_race(void) {
D_8015011E = -1;
if (!gDemoMode) {
- func_8028EC98(gCurrentCourseId);
+ func_8028EC98();
}
if (gRaceState == RACE_STAGING) {
@@ -927,7 +925,7 @@ void func_8028FCBC(void) {
phi_v0_4 = 0x1;
//! @warning this used to be < gCurrentCourseId
// Hopefully this is equivallent.
- for (i = 0; i < TrackBrowser_GetTrackIndex(); i++) {
+ for (i = 0; i < (s32) TrackBrowser_GetTrackIndex(); i++) {
phi_v0_4 <<= 1;
}
if ((D_8015F890 == 0) && (!(D_800DC5AC & phi_v0_4))) {
diff --git a/src/racing/race_logic.h b/src/racing/race_logic.h
index e63094a30..995f7b928 100644
--- a/src/racing/race_logic.h
+++ b/src/racing/race_logic.h
@@ -13,7 +13,7 @@ void set_next_course(void);
void func_8028E438(void);
void func_8028E678(void);
void func_8028EC38(s32);
-void func_8028EC98(s32);
+void func_8028EC98(void);
void start_race(void);
f32 func_8028EE8C(s32);
void func_8028EEF0(s32);
diff --git a/src/racing/render_courses.c b/src/racing/render_courses.c
index e077396c8..4324ea511 100644
--- a/src/racing/render_courses.c
+++ b/src/racing/render_courses.c
@@ -199,11 +199,11 @@ void func_80291198(void) {
gSPDisplayList(gDisplayListHead++, (Gfx*) d_course_mario_raceway_packed_dl_1140); //
}
-void draw_transparent_geography(ScreenContext* screen, s32 playerId) {
+void draw_transparent_geography(ScreenContext* screen, UNUSED s32 playerId) {
UNUSED s32 pad;
- Player* player = screen->player;
+ UNUSED Player* player = screen->player;
Mat4 matrix;
- Vec3f vector;
+ UNUSED Vec3f vector;
u16 pathCounter;
u16 cameraRot;
s16 playerDirection;
diff --git a/src/racing/skybox_and_splitscreen.c b/src/racing/skybox_and_splitscreen.c
index d317889b9..18b0e25b5 100644
--- a/src/racing/skybox_and_splitscreen.c
+++ b/src/racing/skybox_and_splitscreen.c
@@ -400,7 +400,7 @@ void func_802A487C(Vtx* arg0) {
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxScreen),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gSPMatrix(gDisplayListHead++, &gIdentityMatrix2, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- gSPVertex(gDisplayListHead++, &arg0[4], 4, 0);
+ gSPVertex(gDisplayListHead++, (uintptr_t) &arg0[4], 4, 0);
gSP2Triangles(gDisplayListHead++, 0, 3, 1, 0, 1, 3, 2, 0);
}
}
@@ -466,10 +466,10 @@ void func_802A4A0C(Vtx* vtx, ScreenContext* screen) {
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxScreen),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gSPMatrix(gDisplayListHead++, &gIdentityMatrix2, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- gSPVertex(gDisplayListHead++, &vtx[0], 4, 0);
+ gSPVertex(gDisplayListHead++, (uintptr_t) &vtx[0], 4, 0);
gSP2Triangles(gDisplayListHead++, 0, 3, 1, 0, 1, 3, 2, 0);
if (IsRainbowRoad()) {
- gSPVertex(gDisplayListHead++, &vtx[4], 4, 0);
+ gSPVertex(gDisplayListHead++, (uintptr_t) &vtx[4], 4, 0);
gSP2Triangles(gDisplayListHead++, 0, 3, 1, 0, 1, 3, 2, 0);
}
}
@@ -529,7 +529,7 @@ void func_802A4EF4(void) {
* The swapping of logic may be a required for proper draw order.
* Or, perhaps they slapped functions in differing orders for each screen on a wim.
*/
-void race_begin_viewport(ScreenContext* screen, s32 mode) {
+void race_begin_viewport(ScreenContext* screen) {
init_rdp();
// --------------------------------------------------
@@ -594,7 +594,6 @@ void race_begin_viewport_4p(ScreenContext* screen) {
}
void render_screens(ScreenContext* screen, s32 mode, s32 someId, s32 playerId) {
- Mat4 matrix;
Camera* camera = screen->camera;
s32 screenId = screen - gScreenContexts;
@@ -624,7 +623,7 @@ void render_screens(ScreenContext* screen, s32 mode, s32 someId, s32 playerId) {
}
break;
default:
- race_begin_viewport(screen, mode);
+ race_begin_viewport(screen);
if ((CVarGetInteger("gDrawSky", true) == true)) {
CM_RaceDrawSky(screen, someId);
@@ -726,7 +725,7 @@ void render_screens(ScreenContext* screen, s32 mode, s32 someId, s32 playerId) {
void set_screen(void) {
ScreenContext* wrapper = &gScreenContexts[0];
Player* player = &gPlayers[0];
- Camera* camera = &cameras[0];
+ // Camera* camera = &cameras[0];
struct Controller* controller = &gControllers[0];
// struct? size = 0x10. unk++ doesn't work cause s32 too small.
@@ -791,7 +790,7 @@ void set_screen(void) {
break;
}
player++;
- camera++;
+ // camera++;
wrapper++;
unk += 0x10;
}
diff --git a/src/racing/skybox_and_splitscreen.h b/src/racing/skybox_and_splitscreen.h
index 9007a0783..f144a05dd 100644
--- a/src/racing/skybox_and_splitscreen.h
+++ b/src/racing/skybox_and_splitscreen.h
@@ -25,7 +25,7 @@ void func_802A450C(Vtx*);
void func_802A487C(Vtx*);
void func_802A4D18(void);
void func_802A4EF4(void);
-void race_begin_viewport(ScreenContext* screen, s32 mode);
+void race_begin_viewport(ScreenContext* screen);
void race_blank_viewport(ScreenContext* screen);
void race_begin_viewport_4p(ScreenContext* screen);
void render_screens(ScreenContext* screen, s32 mode, s32 someId, s32 playerId);