mirror of
https://github.com/n64decomp/mk64
synced 2026-07-30 07:44:13 -04:00
Add new utility to calculate packed dl end and vertex count (#411)
* Add new utility to calculate packed dl end and vertex count Requires changing a bunch of actual references to packed dl lists with raw numbers. Which feels extremely bad but it doesn't match otherwise. Signed-off-by: Taggerung <tyler.taggerung@email.com> * Hard code array lenghts in appropriate headers Use macros to generate the vertex counts and packed dl end points Heavily dependent on the array lengths being accurate. If they aren't stuff will break. Signed-off-by: Taggerung <tyler.taggerung@email.com>
This commit is contained in:
@@ -70,7 +70,9 @@
|
||||
#include <ultra64.h>
|
||||
#include <variables.h>
|
||||
#include <vehicles.h>
|
||||
#include <vertice_count_gen.h>
|
||||
#include <waypoints.h>
|
||||
|
||||
#include <courses/all_course_data.h>
|
||||
#include <courses/all_course_packed.h>
|
||||
|
||||
#endif
|
||||
|
||||
+251
-127
@@ -5,7 +5,6 @@
|
||||
#include <types.h>
|
||||
#include <code_800029B0.h>
|
||||
#include <course.h>
|
||||
#include <packed_displaylist_symbols_gen.h>
|
||||
#include "main.h"
|
||||
#include "actors.h"
|
||||
#include "math_util.h"
|
||||
@@ -15,6 +14,7 @@
|
||||
#include "render_courses.h"
|
||||
#include "skybox_and_splitscreen.h"
|
||||
#include "courses/all_course_data.h"
|
||||
#include "courses/all_course_packed.h"
|
||||
|
||||
s16 D_802B87B0 = 995;
|
||||
s16 D_802B87B4 = 1000;
|
||||
@@ -182,14 +182,17 @@ void load_surface_map(uintptr_t arg0, struct UnkStruct_800DC5EC *arg1) {
|
||||
}
|
||||
|
||||
void func_80291198(void) {
|
||||
gSPDisplayList(gDisplayListHead++, d_course_mario_raceway_packed_dl_1140);
|
||||
// d_course_mario_raceway_packed_dl_1140
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07001140));
|
||||
}
|
||||
|
||||
void func_802911C4(void) {
|
||||
if (gScreenModeSelection == SCREEN_MODE_1P) {
|
||||
gSPDisplayList(gDisplayListHead++, d_course_mario_raceway_packed_dl_8E8);
|
||||
// d_course_mario_raceway_packed_dl_8E8
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x070008E8));
|
||||
} else {
|
||||
gSPDisplayList(gDisplayListHead++, d_course_mario_raceway_packed_dl_2D68);
|
||||
// d_course_mario_raceway_packed_dl_2D68
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07002D68));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -244,6 +247,7 @@ void func_8029122C(struct UnkStruct_800DC5EC *arg0, s32 arg1) {
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_INTER, G_RM_NOOP2);
|
||||
gDPSetBlendMask(gDisplayListHead++, 0xFF);
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||
// d_course_banshee_boardwalk_packed_dl_878
|
||||
gSPDisplayList(gDisplayListHead++, 0x07000878);
|
||||
gDPSetAlphaCompare(gDisplayListHead++, G_AC_NONE);
|
||||
gDPPipeSync(gDisplayListHead++);
|
||||
@@ -473,7 +477,8 @@ void render_mario_raceway(struct UnkStruct_800DC5EC *arg0) {
|
||||
if (func_80290C20(arg0->camera) == 1) {
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_SHADE, G_CC_SHADE);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_mario_raceway_packed_dl_3050);
|
||||
// d_course_mario_raceway_packed_dl_3050
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07003050));
|
||||
}
|
||||
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
||||
@@ -556,19 +561,26 @@ void render_mario_raceway(struct UnkStruct_800DC5EC *arg0) {
|
||||
}
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_mario_raceway_packed_dl_3508);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_mario_raceway_packed_dl_3240);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_mario_raceway_packed_dl_14A0);
|
||||
// d_course_mario_raceway_packed_dl_3508
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07003508));
|
||||
// d_course_mario_raceway_packed_dl_3240
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07003240));
|
||||
// d_course_mario_raceway_packed_dl_14A0
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x070014A0));
|
||||
|
||||
load_surface_map((uintptr_t) mario_raceway_dls, arg0);
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_mario_raceway_packed_dl_450);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_mario_raceway_packed_dl_240);
|
||||
// d_course_mario_raceway_packed_dl_450
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000450));
|
||||
// d_course_mario_raceway_packed_dl_240
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000240));
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_mario_raceway_packed_dl_E0);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_mario_raceway_packed_dl_160);
|
||||
// d_course_mario_raceway_packed_dl_E0
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x070000E0));
|
||||
// d_course_mario_raceway_packed_dl_160
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000160));
|
||||
}
|
||||
|
||||
void render_choco_mountain(struct UnkStruct_800DC5EC *arg0) {
|
||||
@@ -580,7 +592,8 @@ void render_choco_mountain(struct UnkStruct_800DC5EC *arg0) {
|
||||
if (func_80290C20(arg0->camera) == 1) {
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_SHADE, G_CC_SHADE);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_choco_mountain_packed_dl_4608);
|
||||
// d_course_choco_mountain_packed_dl_4608
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07004608));
|
||||
}
|
||||
gDPSetCycleType(gDisplayListHead++, G_CYC_2CYCLE);
|
||||
gDPSetFogColor(gDisplayListHead++, D_801625EC, D_801625F4, D_801625F0, 0xFF);
|
||||
@@ -592,10 +605,14 @@ void render_choco_mountain(struct UnkStruct_800DC5EC *arg0) {
|
||||
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2);
|
||||
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_choco_mountain_packed_dl_5A70);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_choco_mountain_packed_dl_828);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_choco_mountain_packed_dl_8E0);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_choco_mountain_packed_dl_5868);
|
||||
// d_course_choco_mountain_packed_dl_5A70
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07005A70));
|
||||
// d_course_choco_mountain_packed_dl_828
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000828));
|
||||
// d_course_choco_mountain_packed_dl_8E0
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x070008E0));
|
||||
// d_course_choco_mountain_packed_dl_5868
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07005868));
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
||||
|
||||
load_surface_map((uintptr_t) choco_mountain_dls, arg0);
|
||||
@@ -603,10 +620,13 @@ void render_choco_mountain(struct UnkStruct_800DC5EC *arg0) {
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_FOG_SHADE_A, G_RM_AA_ZB_TEX_EDGE2);
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_DECALRGBA, G_CC_PASS2);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_choco_mountain_packed_dl_448);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_choco_mountain_packed_dl_5D8);
|
||||
// d_course_choco_mountain_packed_dl_448
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000448));
|
||||
// d_course_choco_mountain_packed_dl_5D8
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x070005D8));
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_choco_mountain_packed_dl_718);
|
||||
// d_course_choco_mountain_packed_dl_718
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000718));
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_FOG);
|
||||
gDPSetCycleType(gDisplayListHead++, G_CYC_1CYCLE);
|
||||
gDPPipeSync(gDisplayListHead++);
|
||||
@@ -622,7 +642,8 @@ void render_bowsers_castle(struct UnkStruct_800DC5EC *arg0) {
|
||||
if (func_80290C20(arg0->camera) == 1) {
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_SHADE, G_CC_SHADE);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_bowsers_castle_packed_dl_6A80);
|
||||
// d_course_bowsers_castle_packed_dl_6A80
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07006A80));
|
||||
}
|
||||
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||
@@ -636,7 +657,8 @@ void render_bowsers_castle(struct UnkStruct_800DC5EC *arg0) {
|
||||
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_bowsers_castle_packed_dl_248);
|
||||
// d_course_bowsers_castle_packed_dl_248
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000248));
|
||||
}
|
||||
|
||||
void render_banshee_boardwalk(struct UnkStruct_800DC5EC *arg0) {
|
||||
@@ -648,7 +670,8 @@ void render_banshee_boardwalk(struct UnkStruct_800DC5EC *arg0) {
|
||||
|
||||
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_DECALRGBA, G_CC_DECALRGBA);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_banshee_boardwalk_packed_dl_7228);
|
||||
// d_course_banshee_boardwalk_packed_dl_7228
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07007228));
|
||||
|
||||
gSPFogPosition(gDisplayListHead++, D_802B87B0, D_802B87B4);
|
||||
|
||||
@@ -662,9 +685,12 @@ void render_banshee_boardwalk(struct UnkStruct_800DC5EC *arg0) {
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_banshee_boardwalk_packed_dl_5CD0);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_banshee_boardwalk_packed_dl_4E60);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_banshee_boardwalk_packed_dl_69B0);
|
||||
// d_course_banshee_boardwalk_packed_dl_5CD0
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07005CD0));
|
||||
// d_course_banshee_boardwalk_packed_dl_4E60
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07004E60));
|
||||
// d_course_banshee_boardwalk_packed_dl_69B0
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x070069B0));
|
||||
|
||||
load_surface_map((uintptr_t) banshee_boardwalk_dls, arg0);
|
||||
|
||||
@@ -673,12 +699,16 @@ void render_banshee_boardwalk(struct UnkStruct_800DC5EC *arg0) {
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_banshee_boardwalk_packed_dl_580);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_banshee_boardwalk_packed_dl_60);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_banshee_boardwalk_packed_dl_540);
|
||||
// d_course_banshee_boardwalk_packed_dl_580
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000580));
|
||||
// d_course_banshee_boardwalk_packed_dl_60
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000060));
|
||||
// d_course_banshee_boardwalk_packed_dl_540
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000540));
|
||||
|
||||
if (camera->pos[1] < -20.0f) {
|
||||
gSPDisplayList(gDisplayListHead++, d_course_banshee_boardwalk_packed_dl_6310);
|
||||
// d_course_banshee_boardwalk_packed_dl_6310
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07006310));
|
||||
}
|
||||
spA8[0] = camera->pos[0];
|
||||
spA8[1] = -82.0f;
|
||||
@@ -709,7 +739,8 @@ void render_frappe_snowland(struct UnkStruct_800DC5EC *arg0) {
|
||||
if (func_80290C20(arg0->camera) == 1) {
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_SHADE, G_CC_SHADE);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_frappe_snowland_packed_dl_65E0);
|
||||
// d_course_frappe_snowland_packed_dl_65E0
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x070065E0));
|
||||
}
|
||||
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||
@@ -727,16 +758,19 @@ void render_koopa_troopa_beach(struct UnkStruct_800DC5EC *arg0) {
|
||||
if (func_80290C20(arg0->camera) == 1) {
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_SHADE, G_CC_SHADE);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_koopa_troopa_beach_packed_dl_9CC0);
|
||||
// d_course_koopa_troopa_beach_packed_dl_9CC0
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07009CC0));
|
||||
}
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_koopa_troopa_beach_packed_dl_9688);
|
||||
// d_course_koopa_troopa_beach_packed_dl_9688
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07009688));
|
||||
load_surface_map((uintptr_t) d_course_koopa_troopa_beach_dl_list1, arg0);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_koopa_troopa_beach_packed_dl_2C0);
|
||||
// d_course_koopa_troopa_beach_packed_dl_2C0
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x070002C0));
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
gDPPipeSync(gDisplayListHead++);
|
||||
}
|
||||
@@ -750,20 +784,24 @@ void render_royal_raceway(struct UnkStruct_800DC5EC *arg0) {
|
||||
if (func_80290C20(arg0->camera) == 1) {
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_SHADE, G_CC_SHADE);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_royal_raceway_packed_dl_B030);
|
||||
// d_course_royal_raceway_packed_dl_B030
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x0700B030));
|
||||
}
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_royal_raceway_packed_dl_A648);
|
||||
// d_course_royal_raceway_packed_dl_A648
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x0700A648));
|
||||
|
||||
load_surface_map((uintptr_t) royal_raceway_dls, arg0);
|
||||
|
||||
gSPDisplayList(gDisplayListHead++, d_course_royal_raceway_packed_dl_11A8);
|
||||
// d_course_royal_raceway_packed_dl_11A8
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x070011A8));
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_royal_raceway_packed_dl_8A0);
|
||||
// d_course_royal_raceway_packed_dl_8A0
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x070008A0));
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
}
|
||||
|
||||
@@ -780,7 +818,8 @@ void render_luigi_raceway(struct UnkStruct_800DC5EC *arg0) {
|
||||
if (func_80290C20(arg0->camera) == 1) {
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_SHADE, G_CC_SHADE);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_luigi_raceway_packed_dl_9EC0);
|
||||
// d_course_luigi_raceway_packed_dl_9EC0
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07009EC0));
|
||||
}
|
||||
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||
@@ -790,8 +829,10 @@ void render_luigi_raceway(struct UnkStruct_800DC5EC *arg0) {
|
||||
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_luigi_raceway_packed_dl_E0);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_luigi_raceway_packed_dl_68);
|
||||
// d_course_luigi_raceway_packed_dl_E0
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x070000E0));
|
||||
// d_course_luigi_raceway_packed_dl_68
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000068));
|
||||
|
||||
D_800DC5DC = 88;
|
||||
D_800DC5E0 = 72;
|
||||
@@ -849,14 +890,17 @@ void render_moo_moo_farm(struct UnkStruct_800DC5EC *arg0) {
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEI, G_CC_MODULATEI);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_packed_dl_4DF8);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_packed_dl_5640);
|
||||
// d_course_moo_moo_farm_packed_dl_4DF8
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07004DF8));
|
||||
// d_course_moo_moo_farm_packed_dl_5640
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07005640));
|
||||
gSPFogPosition(gDisplayListHead++, D_802B87B0, D_802B87B4);
|
||||
|
||||
load_surface_map((uintptr_t) moo_moo_farm_dls, arg0);
|
||||
|
||||
if ((temp_s0 < 14) && (temp_s0 > 10)) {
|
||||
if ((temp_s1 == 2) || (temp_s1 == 3) || (temp_s1 == 1))
|
||||
//
|
||||
gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_dl_13FF8);
|
||||
|
||||
} else if (temp_s0 < 16) {
|
||||
@@ -875,31 +919,34 @@ void render_moo_moo_farm(struct UnkStruct_800DC5EC *arg0) {
|
||||
|
||||
if ((temp_s0 >= 16) && (temp_s0 < 24)) {
|
||||
if ((temp_s1 == 2) || (temp_s1 == 3))
|
||||
gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_packed_dl_5410);
|
||||
// d_course_moo_moo_farm_packed_dl_5410
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07005410));
|
||||
|
||||
} else if (temp_s0 < 9) {
|
||||
if (temp_s1 == 2)
|
||||
gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_packed_dl_5410);
|
||||
// d_course_moo_moo_farm_packed_dl_5410
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07005410));
|
||||
|
||||
}
|
||||
if (temp_s0 < 4) {
|
||||
if (temp_s1 != 0)
|
||||
if (temp_s1 != 0)
|
||||
gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_dl_14060);
|
||||
|
||||
} else if (temp_s0 < 8) {
|
||||
if (temp_s1 == 2)
|
||||
if (temp_s1 == 2)
|
||||
gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_dl_14060);
|
||||
|
||||
} else if (temp_s0 >= 22) {
|
||||
gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_dl_14060);
|
||||
} else if (temp_s0 >= 18) {
|
||||
if ((temp_s1 == 0) || (temp_s1 == 3))
|
||||
if ((temp_s1 == 0) || (temp_s1 == 3))
|
||||
gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_dl_14060);
|
||||
|
||||
}
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_packed_dl_10C0);
|
||||
// d_course_moo_moo_farm_packed_dl_10C0
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x070010C0));
|
||||
}
|
||||
|
||||
void render_toads_turnpike(struct UnkStruct_800DC5EC *arg0) {
|
||||
@@ -920,9 +967,12 @@ void render_toads_turnpike(struct UnkStruct_800DC5EC *arg0) {
|
||||
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_FOG_SHADE_A, G_RM_AA_ZB_TEX_EDGE2);
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_DECALRGBA, G_CC_PASS2);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_toads_turnpike_packed_dl_0);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_toads_turnpike_packed_dl_68);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_toads_turnpike_packed_dl_D8);
|
||||
// d_course_toads_turnpike_packed_dl_0
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000000));
|
||||
// d_course_toads_turnpike_packed_dl_68
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000068));
|
||||
// d_course_toads_turnpike_packed_dl_D8
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x070000D8));
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_FOG);
|
||||
gDPSetCycleType(gDisplayListHead++, G_CYC_1CYCLE);
|
||||
}
|
||||
@@ -938,20 +988,26 @@ void render_kalimari_desert(struct UnkStruct_800DC5EC *arg0) {
|
||||
if (func_80290C20(arg0->camera) == 1) {
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_SHADE, G_CC_SHADE);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_packed_dl_71C8);
|
||||
// d_course_kalimari_desert_packed_dl_71C8
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x070071C8));
|
||||
}
|
||||
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEI, G_CC_MODULATEI);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||
load_surface_map((uintptr_t) kalimari_desert_dls, arg0);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_packed_dl_1ED8);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_packed_dl_1B18);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_packed_dl_8330);
|
||||
// d_course_kalimari_desert_packed_dl_1ED8
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07001ED8));
|
||||
// d_course_kalimari_desert_packed_dl_1B18
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07001B18));
|
||||
// d_course_kalimari_desert_packed_dl_8330
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07008330));
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_packed_dl_998);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_packed_dl_270);
|
||||
// d_course_kalimari_desert_packed_dl_998
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000998));
|
||||
// d_course_kalimari_desert_packed_dl_270
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000270));
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
}
|
||||
|
||||
@@ -985,7 +1041,8 @@ void render_wario_stadium(struct UnkStruct_800DC5EC *arg0) {
|
||||
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_SHADE, G_CC_SHADE);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_wario_stadium_packed_dl_A0C8);
|
||||
// d_course_wario_stadium_packed_dl_A0C8
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x0700A0C8));
|
||||
|
||||
}
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATERGBA, G_CC_MODULATERGBA);
|
||||
@@ -993,11 +1050,13 @@ void render_wario_stadium(struct UnkStruct_800DC5EC *arg0) {
|
||||
|
||||
load_surface_map((uintptr_t) wario_stadium_dls, arg0);
|
||||
|
||||
gSPDisplayList(gDisplayListHead++, d_course_wario_stadium_packed_dl_A228);
|
||||
// d_course_wario_stadium_packed_dl_A228
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x0700A228));
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_wario_stadium_packed_dl_A88);
|
||||
// d_course_wario_stadium_packed_dl_A88
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000A88));
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
|
||||
D_800DC5DC = 88;
|
||||
@@ -1042,7 +1101,8 @@ void render_block_fort(UNUSED struct UnkStruct_800DC5EC *arg0) {
|
||||
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_block_fort_packed_dl_15C0);
|
||||
// d_course_block_fort_packed_dl_15C0
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x070015C0));
|
||||
|
||||
}
|
||||
|
||||
@@ -1051,15 +1111,22 @@ void render_skyscraper(UNUSED struct UnkStruct_800DC5EC *arg0) {
|
||||
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_skyscraper_packed_dl_FE8);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_skyscraper_packed_dl_C60);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_skyscraper_packed_dl_B70);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_skyscraper_packed_dl_6B8);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_skyscraper_packed_dl_570);
|
||||
// d_course_skyscraper_packed_dl_FE8
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000FE8));
|
||||
// d_course_skyscraper_packed_dl_C60
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000C60));
|
||||
// d_course_skyscraper_packed_dl_B70
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000B70));
|
||||
// d_course_skyscraper_packed_dl_6B8
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x070006B8));
|
||||
// d_course_skyscraper_packed_dl_570
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000570));
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_skyscraper_packed_dl_10C8);
|
||||
// d_course_skyscraper_packed_dl_10C8
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x070010C8));
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_skyscraper_packed_dl_258);
|
||||
// d_course_skyscraper_packed_dl_258
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000258));
|
||||
|
||||
}
|
||||
|
||||
@@ -1070,7 +1137,8 @@ void render_double_deck(UNUSED struct UnkStruct_800DC5EC *arg0) {
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_double_deck_packed_dl_738);
|
||||
// d_course_double_deck_packed_dl_738
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000738));
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
}
|
||||
|
||||
@@ -1086,7 +1154,8 @@ void render_dks_jungle_parkway(struct UnkStruct_800DC5EC *arg0) {
|
||||
gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF);
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_SHADE, G_CC_SHADE);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_dks_jungle_parkway_packed_dl_92D8);
|
||||
// d_course_dks_jungle_parkway_packed_dl_92D8
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x070092D8));
|
||||
}
|
||||
|
||||
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
||||
@@ -1108,12 +1177,17 @@ void render_big_donut(struct UnkStruct_800DC5EC *arg0) {
|
||||
if (func_80290C20(arg0->camera) == 1) {
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_SHADE, G_CC_SHADE);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_big_donut_packed_dl_DE8);
|
||||
// d_course_big_donut_packed_dl_DE8
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000DE8));
|
||||
}
|
||||
gSPDisplayList(gDisplayListHead++, d_course_big_donut_packed_dl_450);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_big_donut_packed_dl_AC0);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_big_donut_packed_dl_D20);
|
||||
gSPDisplayList(gDisplayListHead++, d_course_big_donut_packed_dl_230);
|
||||
// d_course_big_donut_packed_dl_450
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000450));
|
||||
// d_course_big_donut_packed_dl_AC0
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000AC0));
|
||||
// d_course_big_donut_packed_dl_D20
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000D20));
|
||||
// d_course_big_donut_packed_dl_230
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x07000230));
|
||||
}
|
||||
|
||||
void func_8029569C(void) {
|
||||
@@ -1306,11 +1380,14 @@ void func_80295D88(void) {
|
||||
D_800DC5C8 = 0;
|
||||
switch (gCurrentCourseId) {
|
||||
case COURSE_MARIO_RACEWAY:
|
||||
set_vertex_data_with_defaults(d_course_mario_raceway_packed_dl_1140);
|
||||
// d_course_mario_raceway_packed_dl_1140
|
||||
set_vertex_data_with_defaults((uintptr_t)0x07001140);
|
||||
if (gScreenModeSelection == SCREEN_MODE_1P) {
|
||||
set_vertex_data_with_defaults(d_course_mario_raceway_packed_dl_8E8);
|
||||
// d_course_mario_raceway_packed_dl_8E8
|
||||
set_vertex_data_with_defaults((uintptr_t)0x070008E8);
|
||||
} else {
|
||||
set_vertex_data_with_defaults(d_course_mario_raceway_packed_dl_2D68);
|
||||
// d_course_mario_raceway_packed_dl_2D68
|
||||
set_vertex_data_with_defaults((uintptr_t)0x07002D68);
|
||||
}
|
||||
parse_course_displaylists((uintptr_t) d_course_mario_raceway_addr);
|
||||
func_80295C6C();
|
||||
@@ -1328,12 +1405,18 @@ void func_80295D88(void) {
|
||||
|
||||
// Spawn guardrail only for CC_50 and time trials.
|
||||
if ((gCCSelection != CC_50) && (gModeSelection != TIME_TRIALS)) {
|
||||
nullify_displaylist(d_course_choco_mountain_packed_dl_0);
|
||||
nullify_displaylist(d_course_choco_mountain_packed_dl_98);
|
||||
nullify_displaylist(d_course_choco_mountain_packed_dl_178);
|
||||
nullify_displaylist(d_course_choco_mountain_packed_dl_280);
|
||||
nullify_displaylist(d_course_choco_mountain_packed_dl_340);
|
||||
nullify_displaylist(d_course_choco_mountain_packed_dl_3C8);
|
||||
// d_course_choco_mountain_packed_dl_0
|
||||
nullify_displaylist((uintptr_t)0x07000000);
|
||||
// d_course_choco_mountain_packed_dl_98
|
||||
nullify_displaylist((uintptr_t)0x07000098);
|
||||
// d_course_choco_mountain_packed_dl_178
|
||||
nullify_displaylist((uintptr_t)0x07000178);
|
||||
// d_course_choco_mountain_packed_dl_280
|
||||
nullify_displaylist((uintptr_t)0x07000280);
|
||||
// d_course_choco_mountain_packed_dl_340
|
||||
nullify_displaylist((uintptr_t)0x07000340);
|
||||
// d_course_choco_mountain_packed_dl_3C8
|
||||
nullify_displaylist((uintptr_t)0x070003C8);
|
||||
}
|
||||
parse_course_displaylists((uintptr_t) &d_course_choco_mountain_addr);
|
||||
func_802B5CAC(0x238E, 0x31C7, D_8015F590);
|
||||
@@ -1343,7 +1426,8 @@ void func_80295D88(void) {
|
||||
case COURSE_BOWSER_CASTLE:
|
||||
parse_course_displaylists((uintptr_t) d_course_bowsers_castle_addr);
|
||||
func_80295C6C();
|
||||
find_vtx_and_set_colours(d_course_bowsers_castle_packed_dl_1350, 0x32, 0, 0, 0);
|
||||
// d_course_bowsers_castle_packed_dl_1350
|
||||
find_vtx_and_set_colours((uintptr_t)0x07001350, 0x32, 0, 0, 0);
|
||||
D_8015F8E4 = -50.0f;
|
||||
break;
|
||||
case COURSE_BANSHEE_BOARDWALK:
|
||||
@@ -1353,7 +1437,8 @@ void func_80295D88(void) {
|
||||
D_801625F0 = 0;
|
||||
parse_course_displaylists((uintptr_t) d_course_banshee_boardwalk_track_sections);
|
||||
func_80295C6C();
|
||||
find_vtx_and_set_colours(d_course_banshee_boardwalk_packed_dl_878, 128, 0, 0, 0);
|
||||
// d_course_banshee_boardwalk_packed_dl_878
|
||||
find_vtx_and_set_colours((uintptr_t)0x07000878, 128, 0, 0, 0);
|
||||
D_8015F8E4 = -80.0f;
|
||||
break;
|
||||
case COURSE_YOSHI_VALLEY:
|
||||
@@ -1370,10 +1455,14 @@ void func_80295D88(void) {
|
||||
case COURSE_KOOPA_BEACH:
|
||||
parse_course_displaylists((uintptr_t) d_course_koopa_troopa_beach_addr);
|
||||
func_80295C6C();
|
||||
find_vtx_and_set_colours(d_course_koopa_troopa_beach_packed_dl_ADE0, -0x6A, 255, 255, 255);
|
||||
find_vtx_and_set_colours(d_course_koopa_troopa_beach_packed_dl_A540, -0x6A, 255, 255, 255);
|
||||
find_vtx_and_set_colours(d_course_koopa_troopa_beach_packed_dl_9E70, -0x6A, 255, 255, 255);
|
||||
find_vtx_and_set_colours(d_course_koopa_troopa_beach_packed_dl_358, -0x6A, 255, 255, 255);
|
||||
// d_course_koopa_troopa_beach_packed_dl_ADE0
|
||||
find_vtx_and_set_colours((uintptr_t)0x0700ADE0, -0x6A, 255, 255, 255);
|
||||
// d_course_koopa_troopa_beach_packed_dl_A540
|
||||
find_vtx_and_set_colours((uintptr_t)0x0700A540, -0x6A, 255, 255, 255);
|
||||
// d_course_koopa_troopa_beach_packed_dl_9E70
|
||||
find_vtx_and_set_colours((uintptr_t)0x07009E70, -0x6A, 255, 255, 255);
|
||||
// d_course_koopa_troopa_beach_packed_dl_358
|
||||
find_vtx_and_set_colours((uintptr_t)0x07000358, -0x6A, 255, 255, 255);
|
||||
break;
|
||||
case COURSE_ROYAL_RACEWAY:
|
||||
parse_course_displaylists((uintptr_t) d_course_royal_raceway_addr);
|
||||
@@ -1409,48 +1498,66 @@ void func_80295D88(void) {
|
||||
parse_course_displaylists((uintptr_t) d_course_sherbet_land_addr);
|
||||
func_80295C6C();
|
||||
D_8015F8E4 = -18.0f;
|
||||
find_vtx_and_set_colours(d_course_sherbet_land_packed_dl_1EB8, -0x4C, 255, 255, 255);
|
||||
find_vtx_and_set_colours(d_course_sherbet_land_packed_dl_2308, -0x6A, 255, 255, 255);
|
||||
// d_course_sherbet_land_packed_dl_1EB8
|
||||
find_vtx_and_set_colours((uintptr_t)0x07001EB8, -0x4C, 255, 255, 255);
|
||||
// d_course_sherbet_land_packed_dl_2308
|
||||
find_vtx_and_set_colours((uintptr_t)0x07002308, -0x6A, 255, 255, 255);
|
||||
break;
|
||||
case COURSE_RAINBOW_ROAD:
|
||||
D_800DC5C8 = 1;
|
||||
parse_course_displaylists((uintptr_t) d_course_rainbow_road_addr);
|
||||
func_80295C6C();
|
||||
D_8015F8E4 = 0.0f;
|
||||
find_vtx_and_set_colours(d_course_rainbow_road_packed_dl_2068, -0x6A, 255, 255, 255);
|
||||
find_vtx_and_set_colours(d_course_rainbow_road_packed_dl_1E18, -0x6A, 255, 255, 255);
|
||||
find_vtx_and_set_colours(d_course_rainbow_road_packed_dl_1318, 255, 255, 255, 0);
|
||||
// d_course_rainbow_road_packed_dl_2068
|
||||
find_vtx_and_set_colours((uintptr_t)0x07002068, -0x6A, 255, 255, 255);
|
||||
// d_course_rainbow_road_packed_dl_1E18
|
||||
find_vtx_and_set_colours((uintptr_t)0x07001E18, -0x6A, 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) {
|
||||
find_vtx_and_set_colours(d_course_rainbow_road_packed_dl_1FB8, -0x6A, 255, 255, 255);
|
||||
// d_course_rainbow_road_packed_dl_1FB8
|
||||
find_vtx_and_set_colours((uintptr_t)0x07001FB8, -0x6A, 255, 255, 255);
|
||||
}
|
||||
break;
|
||||
case COURSE_WARIO_STADIUM:
|
||||
parse_course_displaylists((uintptr_t) d_course_wario_stadium_addr);
|
||||
func_80295C6C();
|
||||
D_8015F8E4 = D_8015F6EE - 10.0f;
|
||||
find_vtx_and_set_colours(d_course_wario_stadium_packed_dl_C50, 100, 255, 255, 255);
|
||||
find_vtx_and_set_colours(d_course_wario_stadium_packed_dl_BD8, 100, 255, 255, 255);
|
||||
find_vtx_and_set_colours(d_course_wario_stadium_packed_dl_B60, 100, 255, 255, 255);
|
||||
find_vtx_and_set_colours(d_course_wario_stadium_packed_dl_AE8, 100, 255, 255, 255);
|
||||
find_vtx_and_set_colours(d_course_wario_stadium_packed_dl_CC8, 100, 255, 255, 255);
|
||||
find_vtx_and_set_colours(d_course_wario_stadium_packed_dl_D50, 100, 255, 255, 255);
|
||||
find_vtx_and_set_colours(d_course_wario_stadium_packed_dl_DD0, 100, 255, 255, 255);
|
||||
find_vtx_and_set_colours(d_course_wario_stadium_packed_dl_E48, 100, 255, 255, 255);
|
||||
// d_course_wario_stadium_packed_dl_C50
|
||||
find_vtx_and_set_colours((uintptr_t)0x07000C50, 100, 255, 255, 255);
|
||||
// d_course_wario_stadium_packed_dl_BD8
|
||||
find_vtx_and_set_colours((uintptr_t)0x07000BD8, 100, 255, 255, 255);
|
||||
// d_course_wario_stadium_packed_dl_B60
|
||||
find_vtx_and_set_colours((uintptr_t)0x07000B60, 100, 255, 255, 255);
|
||||
// d_course_wario_stadium_packed_dl_AE8
|
||||
find_vtx_and_set_colours((uintptr_t)0x07000AE8, 100, 255, 255, 255);
|
||||
// d_course_wario_stadium_packed_dl_CC8
|
||||
find_vtx_and_set_colours((uintptr_t)0x07000CC8, 100, 255, 255, 255);
|
||||
// d_course_wario_stadium_packed_dl_D50
|
||||
find_vtx_and_set_colours((uintptr_t)0x07000D50, 100, 255, 255, 255);
|
||||
// d_course_wario_stadium_packed_dl_DD0
|
||||
find_vtx_and_set_colours((uintptr_t)0x07000DD0, 100, 255, 255, 255);
|
||||
// d_course_wario_stadium_packed_dl_E48
|
||||
find_vtx_and_set_colours((uintptr_t)0x07000E48, 100, 255, 255, 255);
|
||||
break;
|
||||
case COURSE_BLOCK_FORT:
|
||||
set_vertex_data_with_default_section_id(d_course_block_fort_packed_dl_15C0, 1);
|
||||
// d_course_block_fort_packed_dl_15C0
|
||||
set_vertex_data_with_default_section_id((uintptr_t)0x070015C0, 1);
|
||||
func_80295C6C();
|
||||
D_8015F8E4 = D_8015F6EE - 10.0f;
|
||||
break;
|
||||
case COURSE_SKYSCRAPER:
|
||||
set_vertex_data_with_default_section_id(d_course_skyscraper_packed_dl_1110, 1);
|
||||
set_vertex_data_with_default_section_id(d_course_skyscraper_packed_dl_258, 1);
|
||||
// d_course_skyscraper_packed_dl_1110
|
||||
set_vertex_data_with_default_section_id((uintptr_t)0x07001110, 1);
|
||||
// d_course_skyscraper_packed_dl_258
|
||||
set_vertex_data_with_default_section_id((uintptr_t)0x07000258, 1);
|
||||
func_80295C6C();
|
||||
|
||||
D_8015F8E4 = -480.0f;
|
||||
break;
|
||||
case COURSE_DOUBLE_DECK:
|
||||
set_vertex_data_with_default_section_id(d_course_double_deck_packed_dl_738, 1);
|
||||
// d_course_double_deck_packed_dl_738
|
||||
set_vertex_data_with_default_section_id((uintptr_t)0x07000738, 1);
|
||||
func_80295C6C();
|
||||
D_8015F8E4 = D_8015F6EE - 10.0f;
|
||||
break;
|
||||
@@ -1458,14 +1565,20 @@ void func_80295D88(void) {
|
||||
parse_course_displaylists((uintptr_t) d_course_dks_jungle_parkway_addr);
|
||||
func_80295C6C();
|
||||
D_8015F8E4 = -475.0f;
|
||||
find_vtx_and_set_colours(d_course_dks_jungle_parkway_packed_dl_3FA8, 120, 255, 255, 255);
|
||||
// d_course_dks_jungle_parkway_packed_dl_3FA8
|
||||
find_vtx_and_set_colours((uintptr_t)0x07003FA8, 120, 255, 255, 255);
|
||||
break;
|
||||
case COURSE_BIG_DONUT:
|
||||
set_vertex_data_with_default_section_id(d_course_big_donut_packed_dl_1018, 6);
|
||||
set_vertex_data_with_default_section_id(d_course_big_donut_packed_dl_450, 6);
|
||||
set_vertex_data_with_default_section_id(d_course_big_donut_packed_dl_AC0, 6);
|
||||
set_vertex_data_with_default_section_id(d_course_big_donut_packed_dl_B58, 6);
|
||||
set_vertex_data_with_default_section_id(d_course_big_donut_packed_dl_230, 6);
|
||||
// d_course_big_donut_packed_dl_1018
|
||||
set_vertex_data_with_default_section_id((uintptr_t)0x07001018, 6);
|
||||
// d_course_big_donut_packed_dl_450
|
||||
set_vertex_data_with_default_section_id((uintptr_t)0x07000450, 6);
|
||||
// d_course_big_donut_packed_dl_AC0
|
||||
set_vertex_data_with_default_section_id((uintptr_t)0x07000AC0, 6);
|
||||
// d_course_big_donut_packed_dl_B58
|
||||
set_vertex_data_with_default_section_id((uintptr_t)0x07000B58, 6);
|
||||
// d_course_big_donut_packed_dl_230
|
||||
set_vertex_data_with_default_section_id((uintptr_t)0x07000230, 6);
|
||||
func_80295C6C();
|
||||
D_8015F8E4 = 100.0f;
|
||||
break;
|
||||
@@ -1492,8 +1605,10 @@ void func_802966A0(void) {
|
||||
D_802B87C4 = 0;
|
||||
}
|
||||
// waterfall animation
|
||||
find_and_set_tile_size(d_course_koopa_troopa_beach_packed_dl_9D58, 0, D_802B87BC);
|
||||
find_and_set_tile_size(d_course_koopa_troopa_beach_packed_dl_9CD0, 0, D_802B87C4);
|
||||
// d_course_koopa_troopa_beach_packed_dl_9D58
|
||||
find_and_set_tile_size((uintptr_t)0x07009D58, 0, D_802B87BC);
|
||||
// d_course_koopa_troopa_beach_packed_dl_9CD0
|
||||
find_and_set_tile_size((uintptr_t)0x07009CD0, 0, D_802B87C4);
|
||||
D_802B87CC = random_int(300) / 40;
|
||||
if (D_802B87C8 < 0) {
|
||||
D_802B87C8 = random_int(300) / 40;
|
||||
@@ -1501,7 +1616,8 @@ void func_802966A0(void) {
|
||||
D_802B87C8 = -(random_int(300) / 40);
|
||||
}
|
||||
// Waterfall bubbling effect? (unused)
|
||||
find_and_set_tile_size(d_course_koopa_troopa_beach_packed_dl_2E8, D_802B87C8, D_802B87CC);
|
||||
// d_course_koopa_troopa_beach_packed_dl_2E8
|
||||
find_and_set_tile_size((uintptr_t)0x070002E8, D_802B87C8, D_802B87CC);
|
||||
break;
|
||||
case COURSE_BANSHEE_BOARDWALK:
|
||||
D_802B87BC++;
|
||||
@@ -1509,31 +1625,39 @@ void func_802966A0(void) {
|
||||
if (D_802B87BC >= 0x100) {
|
||||
D_802B87BC = 0;
|
||||
}
|
||||
find_and_set_tile_size((uintptr_t) d_course_banshee_boardwalk_dl_B278, 0, D_802B87BC);
|
||||
find_and_set_tile_size(d_course_banshee_boardwalk_dl_B278, 0, D_802B87BC);
|
||||
break;
|
||||
case COURSE_ROYAL_RACEWAY:
|
||||
D_802B87BC -= 20;
|
||||
if (D_802B87BC < 0) {
|
||||
D_802B87BC = 0xFF;
|
||||
}
|
||||
find_and_set_tile_size(d_course_royal_raceway_packed_dl_A6A8, 0, D_802B87BC);
|
||||
find_and_set_tile_size(d_course_royal_raceway_packed_dl_A648, 0, D_802B87BC);
|
||||
// d_course_royal_raceway_packed_dl_A6A8
|
||||
find_and_set_tile_size((uintptr_t)0x0700A6A8, 0, D_802B87BC);
|
||||
// d_course_royal_raceway_packed_dl_A648
|
||||
find_and_set_tile_size((uintptr_t)0x0700A648, 0, D_802B87BC);
|
||||
break;
|
||||
case COURSE_DK_JUNGLE:
|
||||
D_802B87BC += 2;
|
||||
if (D_802B87BC > 255) {
|
||||
D_802B87BC = 0;
|
||||
}
|
||||
find_and_set_tile_size(d_course_dks_jungle_parkway_packed_dl_3DD0, 0, D_802B87BC);
|
||||
find_and_set_tile_size(d_course_dks_jungle_parkway_packed_dl_3E40, 0, D_802B87BC);
|
||||
find_and_set_tile_size(d_course_dks_jungle_parkway_packed_dl_3EB0, 0, D_802B87BC);
|
||||
find_and_set_tile_size(d_course_dks_jungle_parkway_packed_dl_3F30, 0, D_802B87BC);
|
||||
find_and_set_tile_size(d_course_dks_jungle_parkway_packed_dl_36A8, 0, D_802B87BC);
|
||||
// d_course_dks_jungle_parkway_packed_dl_3DD0
|
||||
find_and_set_tile_size((uintptr_t)0x07003DD0, 0, D_802B87BC);
|
||||
// d_course_dks_jungle_parkway_packed_dl_3E40
|
||||
find_and_set_tile_size((uintptr_t)0x07003E40, 0, D_802B87BC);
|
||||
// d_course_dks_jungle_parkway_packed_dl_3EB0
|
||||
find_and_set_tile_size((uintptr_t)0x07003EB0, 0, D_802B87BC);
|
||||
// d_course_dks_jungle_parkway_packed_dl_3F30
|
||||
find_and_set_tile_size((uintptr_t)0x07003F30, 0, D_802B87BC);
|
||||
// d_course_dks_jungle_parkway_packed_dl_36A8
|
||||
find_and_set_tile_size((uintptr_t)0x070036A8, 0, D_802B87BC);
|
||||
D_802B87C4 -= 20;
|
||||
if (D_802B87C4 < 0) {
|
||||
D_802B87C4 = 0xFF;
|
||||
}
|
||||
find_and_set_tile_size(d_course_dks_jungle_parkway_packed_dl_9880, 0, D_802B87C4);
|
||||
// d_course_dks_jungle_parkway_packed_dl_9880
|
||||
find_and_set_tile_size((uintptr_t)0x07009880, 0, D_802B87C4);
|
||||
func_80298C94();
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user