diff options
Diffstat (limited to 'src/racing')
| -rw-r--r-- | src/racing/actors.c | 27 | ||||
| -rw-r--r-- | src/racing/actors_extended.c | 2 | ||||
| -rw-r--r-- | src/racing/collision.c | 6 | ||||
| -rw-r--r-- | src/racing/math_util.c | 6 | ||||
| -rw-r--r-- | src/racing/memory.c | 24 | ||||
| -rw-r--r-- | src/racing/race_logic.c | 8 | ||||
| -rw-r--r-- | src/racing/race_logic.h | 2 | ||||
| -rw-r--r-- | src/racing/render_courses.c | 6 | ||||
| -rw-r--r-- | src/racing/skybox_and_splitscreen.c | 15 | ||||
| -rw-r--r-- | src/racing/skybox_and_splitscreen.h | 2 |
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); |
