From a927b1db493cbe05cd01d4a9ca19914b5e7d98a2 Mon Sep 17 00:00:00 2001 From: MegaMech Date: Sat, 19 Jul 2025 16:41:05 -0600 Subject: [PATCH 1/2] Fix alfa for `find_vtx_and_set_colours()` (#745) * Update render_courses.c * More fixes * Fix hex values --- src/code_800029B0.c | 12 ++++++------ src/racing/render_courses.c | 18 +++++++++--------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/code_800029B0.c b/src/code_800029B0.c index e1c62d768..a351de8ec 100644 --- a/src/code_800029B0.c +++ b/src/code_800029B0.c @@ -327,7 +327,7 @@ void func_80003040(void) { break; case COURSE_BANSHEE_BOARDWALK: // d_course_banshee_boardwalk_packed_dl_878 - find_vtx_and_set_colours(0x07000878, -0x80, 0, 0, 0); + find_vtx_and_set_colours(0x07000878, 128, 0, 0, 0); break; case COURSE_YOSHI_VALLEY: vec3f_set(position, -2300.0f, 0.0f, 634.0f); @@ -351,17 +351,17 @@ void func_80003040(void) { break; case COURSE_SHERBET_LAND: // d_course_sherbet_land_packed_dl_1EB8 - find_vtx_and_set_colours(0x07001EB8, -0x4C, 0xFF, 0xFF, 0xFF); + find_vtx_and_set_colours(0x07001EB8, 180, 0xFF, 0xFF, 0xFF); // d_course_sherbet_land_packed_dl_2308 - find_vtx_and_set_colours(0x07002308, -0x6A, 0xFF, 0xFF, 0xFF); + find_vtx_and_set_colours(0x07002308, 150, 0xFF, 0xFF, 0xFF); break; case COURSE_RAINBOW_ROAD: // d_course_rainbow_road_packed_dl_2068 - find_vtx_and_set_colours(0x07002068, -0x6A, 0xFF, 0xFF, 0xFF); + find_vtx_and_set_colours(0x07002068, 150, 0xFF, 0xFF, 0xFF); // d_course_rainbow_road_packed_dl_1E18 - find_vtx_and_set_colours(0x07001E18, -0x6A, 0xFF, 0xFF, 0xFF); + find_vtx_and_set_colours(0x07001E18, 150, 0xFF, 0xFF, 0xFF); // d_course_rainbow_road_packed_dl_1318 - find_vtx_and_set_colours(0x07001318, -1, 0xFF, 0xFF, 0); + find_vtx_and_set_colours(0x07001318, 255, 0xFF, 0xFF, 0); break; case COURSE_WARIO_STADIUM: vec3f_set(position, -131.0f, 83.0f, 286.0f); diff --git a/src/racing/render_courses.c b/src/racing/render_courses.c index e1556abea..c9f171699 100644 --- a/src/racing/render_courses.c +++ b/src/racing/render_courses.c @@ -1547,13 +1547,13 @@ void course_generate_collision_mesh(void) { parse_course_displaylists((uintptr_t) d_course_koopa_troopa_beach_addr); func_80295C6C(); // d_course_koopa_troopa_beach_packed_dl_ADE0 - find_vtx_and_set_colours((uintptr_t) 0x0700ADE0, -0x6A, 255, 255, 255); + find_vtx_and_set_colours((uintptr_t) 0x0700ADE0, 150, 255, 255, 255); // d_course_koopa_troopa_beach_packed_dl_A540 - find_vtx_and_set_colours((uintptr_t) 0x0700A540, -0x6A, 255, 255, 255); + find_vtx_and_set_colours((uintptr_t) 0x0700A540, 150, 255, 255, 255); // d_course_koopa_troopa_beach_packed_dl_9E70 - find_vtx_and_set_colours((uintptr_t) 0x07009E70, -0x6A, 255, 255, 255); + find_vtx_and_set_colours((uintptr_t) 0x07009E70, 150, 255, 255, 255); // d_course_koopa_troopa_beach_packed_dl_358 - find_vtx_and_set_colours((uintptr_t) 0x07000358, -0x6A, 255, 255, 255); + find_vtx_and_set_colours((uintptr_t) 0x07000358, 150, 255, 255, 255); break; case COURSE_ROYAL_RACEWAY: parse_course_displaylists((uintptr_t) d_course_royal_raceway_addr); @@ -1590,9 +1590,9 @@ void course_generate_collision_mesh(void) { func_80295C6C(); D_8015F8E4 = -18.0f; // d_course_sherbet_land_packed_dl_1EB8 - find_vtx_and_set_colours((uintptr_t) 0x07001EB8, -0x4C, 255, 255, 255); + find_vtx_and_set_colours((uintptr_t) 0x07001EB8, 180, 255, 255, 255); // d_course_sherbet_land_packed_dl_2308 - find_vtx_and_set_colours((uintptr_t) 0x07002308, -0x6A, 255, 255, 255); + find_vtx_and_set_colours((uintptr_t) 0x07002308, 150, 255, 255, 255); break; case COURSE_RAINBOW_ROAD: D_800DC5C8 = 1; @@ -1600,14 +1600,14 @@ void course_generate_collision_mesh(void) { func_80295C6C(); D_8015F8E4 = 0.0f; // d_course_rainbow_road_packed_dl_2068 - find_vtx_and_set_colours((uintptr_t) 0x07002068, -0x6A, 255, 255, 255); + find_vtx_and_set_colours((uintptr_t) 0x07002068, 150, 255, 255, 255); // d_course_rainbow_road_packed_dl_1E18 - find_vtx_and_set_colours((uintptr_t) 0x07001E18, -0x6A, 255, 255, 255); + find_vtx_and_set_colours((uintptr_t) 0x07001E18, 150, 255, 255, 255); // d_course_rainbow_road_packed_dl_1318 find_vtx_and_set_colours((uintptr_t) 0x07001318, 255, 255, 255, 0); if (gGamestate != CREDITS_SEQUENCE) { // d_course_rainbow_road_packed_dl_1FB8 - find_vtx_and_set_colours((uintptr_t) 0x07001FB8, -0x6A, 255, 255, 255); + find_vtx_and_set_colours((uintptr_t) 0x07001FB8, 150, 255, 255, 255); } break; case COURSE_WARIO_STADIUM: From bb8ac997a8a646b00ac98a5f68915655491ffd67 Mon Sep 17 00:00:00 2001 From: MegaMech Date: Sat, 19 Jul 2025 17:07:35 -0600 Subject: [PATCH 2/2] Better match for add_unused_obj_index (#734) --- src/update_objects.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/src/update_objects.c b/src/update_objects.c index 5018000ad..e0091f67e 100644 --- a/src/update_objects.c +++ b/src/update_objects.c @@ -161,26 +161,18 @@ s32 add_unused_obj_index(s32* listIdx, s32* nextFree, s32 size) { } count = 0; id = &listIdx[*nextFree]; - /** - * @todo This HAS to be a for-loop of some variety, but I can't make a for-loop to match. - * If you replace this with ```for(var_v1 = 0; var_v1 < size; var_v1++)``` - * The diff gets massive. - */ - if (size > 0) { - loop_3: + + for (count = 0; count < size; count++) { if (*id == NULL_OBJECT_ID) { objectIndex = find_unused_obj_index(id); *nextFree += 1; + break; } else { *nextFree += 1; if (*nextFree >= size) { *nextFree = 0; } - count += 1; id = &listIdx[*nextFree]; - if (count != size) { // check if don't check all element of the list - goto loop_3; - } } } if (count == size) {