mirror of
https://github.com/n64decomp/mk64
synced 2026-06-19 06:47:01 -04:00
Add ymls for Torch code generator (#497)
* Add torch * update jenkinsfile
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
#include <actors.h>
|
||||
#include <PR/gbi.h>
|
||||
#include <main.h>
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
|
||||
/**
|
||||
* @brief Renders the green shell actor.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#include <actors.h>
|
||||
#include <PR/gbi.h>
|
||||
#include <main.h>
|
||||
#include <common_textures.h>
|
||||
#include <assets/common_data.h>
|
||||
#include "courses/all_course_data.h"
|
||||
|
||||
/**
|
||||
|
||||
+16
-16
@@ -20,7 +20,7 @@
|
||||
#include "code_80057C60.h"
|
||||
#include "bomb_kart.h"
|
||||
#include "courses/all_course_data.h"
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
#include "common_structs.h"
|
||||
#include "main.h"
|
||||
#include "menus.h"
|
||||
@@ -29,7 +29,7 @@
|
||||
#include "ending/podium_ceremony_actors.h"
|
||||
#include "spawn_players.h"
|
||||
#include "sounds.h"
|
||||
#include "data/path_spawn_data.h"
|
||||
#include "data/path_spawn_metadata.h"
|
||||
|
||||
s32 unk_code_80005FD0_pad[24];
|
||||
Collision D_80162E70;
|
||||
@@ -1683,7 +1683,7 @@ void func_80009B60(s32 playerId) {
|
||||
f32 athing = 1.5f;
|
||||
|
||||
player = &gPlayers[playerId];
|
||||
if ((s32) gKartAICourseMaximumWaypointSeparation[gCurrentCourseId] >= 0) {
|
||||
if ((s32) gKartAICourseMaximumSeparation[gCurrentCourseId] >= 0) {
|
||||
D_80163100[playerId] += 1;
|
||||
if (playerId == 0) {
|
||||
D_80163378++;
|
||||
@@ -1955,7 +1955,7 @@ void func_80009B60(s32 playerId) {
|
||||
if (var_a2 < (s16) temp_f6) {
|
||||
var_a2 = temp_f6;
|
||||
}
|
||||
var_v1 = D_800DCA20[gCurrentCourseId];
|
||||
var_v1 = gKartAISteeringSensitivity[gCurrentCourseId];
|
||||
switch (D_801631D8[playerId]) { /* switch 4; irregular */
|
||||
case 2: /* switch 4 */
|
||||
if (D_80163068[playerId] > (0.5f * 1.0f)) {
|
||||
@@ -2194,7 +2194,7 @@ f32 func_8000B874(f32 posX, f32 posZ, u16 waypointIndex, s32 pathIndex) {
|
||||
void func_8000B95C(s32 playerId, u16 waypointIndex, s32 pathIndex) {
|
||||
UNUSED Vec3f pad;
|
||||
D_80163068[playerId] = 0.0f;
|
||||
if ((s32) gKartAICourseMaximumWaypointSeparation[gCurrentCourseId] >= 0) {
|
||||
if ((s32) gKartAICourseMaximumSeparation[gCurrentCourseId] >= 0) {
|
||||
if ((gPlayers[playerId].type & 0x8000) != 0) {
|
||||
D_80163068[playerId] = func_8000B874(gPlayers[playerId].pos[0], gPlayers[playerId].pos[2], waypointIndex, pathIndex);
|
||||
}
|
||||
@@ -2947,7 +2947,7 @@ void set_bomb_kart_spawn_positions(void) {
|
||||
BombKartSpawn *temp_s1;
|
||||
|
||||
for (var_s3 = 0; var_s3 < NUM_BOMB_KARTS_VERSUS; var_s3++) {
|
||||
temp_s1 = &D_800DCC08[gCurrentCourseId][var_s3];
|
||||
temp_s1 = &gBombKartSpawns[gCurrentCourseId][var_s3];
|
||||
switch (gCurrentCourseId) {
|
||||
case COURSE_YOSHI_VALLEY:
|
||||
startingXPos = temp_s1->startingXPos;
|
||||
@@ -3432,7 +3432,7 @@ void func_8000F2BC(TrackWaypoint *arg0, size_t size) {
|
||||
// Appears to allocate memory for each course.
|
||||
void func_8000F2DC(void) {
|
||||
|
||||
struct _struct_D_800DD9D0_0x10 *ptr = &D_800DD9D0[gCurrentCourseId];
|
||||
struct _struct_gCoursePathSizes_0x10 *ptr = &gCoursePathSizes[gCurrentCourseId];
|
||||
s32 temp;
|
||||
s32 i;
|
||||
|
||||
@@ -3553,7 +3553,7 @@ void func_8000F628(void) {
|
||||
D_80163068[i] = 0.0f;
|
||||
D_80163090[i] = 0.0f;
|
||||
var_s5 = &D_801634F8[i];
|
||||
var_s5->unkC = gKartAICourseMinimumWaypointSeparation[gCurrentCourseId] * (f32) (((i + 1) % 3) - 1);
|
||||
var_s5->unkC = gKartAICourseMinimumSeparation[gCurrentCourseId] * (f32) (((i + 1) % 3) - 1);
|
||||
var_s5->unk4 = var_s5->unkC;
|
||||
var_s5->unk0 = 0.0f;
|
||||
var_s5->unk8 = 0.015f;
|
||||
@@ -3678,11 +3678,11 @@ void func_800100F0(s32 pathIndex) {
|
||||
s32 i;
|
||||
|
||||
// cast required
|
||||
if ((s32)gKartAICourseMaximumWaypointSeparation[gCurrentCourseId] >= 0) {
|
||||
if ((s32)gKartAICourseMaximumSeparation[gCurrentCourseId] >= 0) {
|
||||
pathDest = D_80164550[pathIndex];
|
||||
bInvalidPath = 1;
|
||||
if (gCurrentCourseId != COURSE_AWARD_CEREMONY) {
|
||||
var_v0 = process_path_data(pathDest, segmented_to_virtual_dupe_2(D_800DC8D0[gCurrentCourseId][pathIndex]));
|
||||
var_v0 = process_path_data(pathDest, segmented_to_virtual_dupe_2(gCoursePathTable2[gCurrentCourseId][pathIndex]));
|
||||
gWaypointCountByPathIndex[pathIndex] = (u16) var_v0;
|
||||
} else {
|
||||
// Course path included in course_data which has already been loaded into memory.
|
||||
@@ -3729,8 +3729,8 @@ void func_80010218(s32 pathIndex) {
|
||||
TrackWaypoint *var_s1;
|
||||
TrackWaypoint *var_s2;
|
||||
|
||||
if (((s32) gKartAICourseMaximumWaypointSeparation[gCurrentCourseId]) >= 0) {
|
||||
waypointWidth = gKartAICourseMaximumWaypointSeparation[gCurrentCourseId];
|
||||
if (((s32) gKartAICourseMaximumSeparation[gCurrentCourseId]) >= 0) {
|
||||
waypointWidth = gKartAICourseMaximumSeparation[gCurrentCourseId];
|
||||
waypoint = &D_80164550[pathIndex][0];
|
||||
var_s1 = &D_80164560[pathIndex][0];
|
||||
var_s2 = &D_80164570[pathIndex][0];
|
||||
@@ -3779,7 +3779,7 @@ f32 func_80010480(s32 pathIndex, u16 waypointIndex) {
|
||||
f32 root2;
|
||||
f32 root1;
|
||||
|
||||
if ((s32) gKartAICourseMaximumWaypointSeparation[gCurrentCourseId] < 0) {
|
||||
if ((s32) gKartAICourseMaximumSeparation[gCurrentCourseId] < 0) {
|
||||
return 0.0f;
|
||||
}
|
||||
waypointCount = gWaypointCountByPathIndex[pathIndex];
|
||||
@@ -3821,7 +3821,7 @@ void func_800107C4(s32 pathIndex) {
|
||||
s32 var_a3;
|
||||
s16 *wut;
|
||||
|
||||
if ((s32) gKartAICourseMaximumWaypointSeparation[gCurrentCourseId] >= 0) {
|
||||
if ((s32) gKartAICourseMaximumSeparation[gCurrentCourseId] >= 0) {
|
||||
var_a3 = gWaypointCountByPathIndex[pathIndex];
|
||||
var_t4 = &D_80164580[pathIndex][0];
|
||||
for(var_s0 = 0; var_s0 < var_a3; var_s0++, var_t4++) {
|
||||
@@ -3889,7 +3889,7 @@ void func_80010DBC(s32 pathIndex) {
|
||||
s32 waypointIndex;
|
||||
u16 *angle;
|
||||
|
||||
if ((s32) gKartAICourseMaximumWaypointSeparation[gCurrentCourseId] >= 0) {
|
||||
if ((s32) gKartAICourseMaximumSeparation[gCurrentCourseId] >= 0) {
|
||||
for (angle = &D_80164590[pathIndex][0], waypointIndex = 0; waypointIndex < gWaypointCountByPathIndex[pathIndex]; waypointIndex++, angle++) {
|
||||
*angle = func_80010CB0(pathIndex, waypointIndex);
|
||||
}
|
||||
@@ -4168,7 +4168,7 @@ s32 func_8001168C(PathNoY *pathDest, TrackWaypoint *pathSrc, s32 numWaypoints) {
|
||||
|
||||
void copy_courses_kart_ai_behaviour(void) {
|
||||
s32 i;
|
||||
for (i = 0; i < NUM_COURSES-1; i++) {
|
||||
for (i = 0; i < NUM_COURSES - 1; i++) {
|
||||
gCoursesKartAIBehaviour[i] = segmented_to_virtual_dupe_2(gKartAIBehaviourLUT[i]);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
#include "vehicles.h"
|
||||
#include "camera.h"
|
||||
#include "waypoints.h"
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
|
||||
struct struct_801642D8 {
|
||||
/* 0x0 */ u16 unk0;
|
||||
|
||||
+2
-2
@@ -23,9 +23,9 @@
|
||||
#include "update_objects.h"
|
||||
#include "code_80086E70.h"
|
||||
#include "effects.h"
|
||||
#include "src/data/data_800E8700.h"
|
||||
#include <assets/data_800E8700.h>
|
||||
#include "skybox_and_splitscreen.h"
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
#include "audio/external.h"
|
||||
#include "objects.h"
|
||||
#include "bomb_kart.h"
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@
|
||||
#include "objects.h"
|
||||
#include "bomb_kart.h"
|
||||
#include "save.h"
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
#include <sounds.h>
|
||||
#include <decode.h>
|
||||
#include "audio/external.h"
|
||||
|
||||
+34
-134
@@ -20,13 +20,13 @@
|
||||
#include "audio/external.h"
|
||||
#include "render_objects.h"
|
||||
#include "staff_ghosts.h"
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
#include "textures.h"
|
||||
#include "math_util.h"
|
||||
#include "save_data.h"
|
||||
#include "podium_ceremony_actors.h"
|
||||
#include "skybox_and_splitscreen.h"
|
||||
#include "src/data/startup_logo.h"
|
||||
#include <assets/startup_logo.h>
|
||||
#include "buffers.h"
|
||||
#include "racing/race_logic.h"
|
||||
#include "ending/code_80281C40.h"
|
||||
@@ -393,115 +393,34 @@ char *gCupNames[] = {
|
||||
"special cup",
|
||||
};
|
||||
|
||||
char *D_800E7524[] = {
|
||||
"mario raceway",
|
||||
"choco mountain",
|
||||
"bowser's castle",
|
||||
"banshee boardwalk",
|
||||
"yoshi valley",
|
||||
"frappe snowland",
|
||||
"koopa troopa beach",
|
||||
"royal raceway",
|
||||
"luigi raceway",
|
||||
"moo moo farm",
|
||||
"toad's turnpike",
|
||||
"kalimari desert",
|
||||
"sherbet land",
|
||||
"rainbow road",
|
||||
"wario stadium",
|
||||
"block fort",
|
||||
"skyscraper",
|
||||
"double deck",
|
||||
"d.k.'s jungle parkway",
|
||||
"big donut",
|
||||
// Displays at beginning of course
|
||||
char *gCourseNames[] = {
|
||||
#include "assets/course_metadata/gCourseNames.inc.c"
|
||||
};
|
||||
|
||||
char *D_800E7574[] = {
|
||||
"mario raceway",
|
||||
"choco mountain",
|
||||
"bowser's castle",
|
||||
"banshee boardwalk",
|
||||
"yoshi valley",
|
||||
"frappe snowland",
|
||||
"koopa troopa beach",
|
||||
"royal raceway",
|
||||
"luigi raceway",
|
||||
"moo moo farm",
|
||||
"toad's turnpike",
|
||||
"kalimari desert",
|
||||
"sherbet land",
|
||||
"rainbow road",
|
||||
"wario stadium",
|
||||
"block fort",
|
||||
"skyscraper",
|
||||
"double deck",
|
||||
"d.k.'s jungle parkway",
|
||||
"big donut",
|
||||
char *gCourseNamesDup[] = {
|
||||
#include "assets/course_metadata/gCourseNames.inc.c"
|
||||
};
|
||||
|
||||
char *D_800E75C4[] = {
|
||||
"mario raceway",
|
||||
"choco mountain",
|
||||
"bowser's castle",
|
||||
"banshee boardwalk",
|
||||
"yoshi valley",
|
||||
"frappe snowland",
|
||||
"koopa troopa beach",
|
||||
"royal raceway",
|
||||
"luigi raceway",
|
||||
"moo moo farm",
|
||||
"toad's turnpike",
|
||||
"kalimari desert",
|
||||
"sherbet land",
|
||||
"rainbow road",
|
||||
"wario stadium",
|
||||
"block fort",
|
||||
"skyscraper",
|
||||
"double deck",
|
||||
"d.k.'s jungle parkway",
|
||||
"big donut",
|
||||
char *gCourseNamesDup2[] = {
|
||||
#include "assets/course_metadata/gCourseNames.inc.c"
|
||||
};
|
||||
|
||||
// Used in debug menu at splash screen
|
||||
char *gDebugCourseNames[] = {
|
||||
"m circuit",
|
||||
"mountain",
|
||||
"castle",
|
||||
"ghost",
|
||||
"maze",
|
||||
"snow",
|
||||
"beach",
|
||||
"p circuit",
|
||||
"l circuit",
|
||||
"farm",
|
||||
"highway",
|
||||
"desert",
|
||||
"sherbet",
|
||||
"rainbow",
|
||||
"stadium",
|
||||
"block",
|
||||
"skyscraper",
|
||||
"deck",
|
||||
"jungle",
|
||||
"doughnut",
|
||||
#include "assets/course_metadata/gCourseDebugNames.inc.c"
|
||||
};
|
||||
|
||||
const s8 gPerCupIndexByCourseId[] = {
|
||||
3, 2, 3, 2,
|
||||
1, 1, 2, 2,
|
||||
0, 1, 0, 3,
|
||||
1, 3, 0, 1,
|
||||
3, 2, 0, 0,
|
||||
#include "assets/course_metadata/gPerCupIndexByCourseId.inc.c"
|
||||
};
|
||||
|
||||
// @todo Increase this array for more than eight players
|
||||
const s8 D_800EFD64[] = { 0, 1, 4, 3, 5, 6, 2, 7 };
|
||||
|
||||
// Maps course IDs (as defined in the COURSES enum) to the cup they belong to
|
||||
s8 gCupSelectionByCourseId[] = {
|
||||
FLOWER_CUP, FLOWER_CUP, STAR_CUP, SPECIAL_CUP,
|
||||
SPECIAL_CUP, FLOWER_CUP, MUSHROOM_CUP, STAR_CUP,
|
||||
MUSHROOM_CUP, MUSHROOM_CUP, FLOWER_CUP, MUSHROOM_CUP,
|
||||
STAR_CUP, SPECIAL_CUP, STAR_CUP, BATTLE_CUP,
|
||||
BATTLE_CUP, BATTLE_CUP, SPECIAL_CUP, BATTLE_CUP,
|
||||
#include "assets/course_metadata/gCupSelectionByCourseId.inc.c"
|
||||
};
|
||||
|
||||
char *D_800E7678[] = {
|
||||
@@ -636,27 +555,8 @@ char D_800E77B4[] = "a BUTTON*SEE DATA B BUTTON*EXIT";
|
||||
// This is plain data, it should not end up in rodata
|
||||
char D_800E77D8[] = "distance";
|
||||
|
||||
char *D_800E77E4[] = {
|
||||
"567m",
|
||||
"687m",
|
||||
"777m",
|
||||
"747m",
|
||||
"772m",
|
||||
"734m",
|
||||
"691m",
|
||||
"1025m",
|
||||
"717m",
|
||||
"527m",
|
||||
"1036m",
|
||||
"753m",
|
||||
"756m",
|
||||
"2000m",
|
||||
"1591m",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"893m",
|
||||
"",
|
||||
char *sCourseLengths[] = {
|
||||
#include "assets/course_metadata/sCourseLengths.inc.c"
|
||||
};
|
||||
|
||||
char *D_800E7834[] = {
|
||||
@@ -2815,7 +2715,7 @@ void func_80095574(void) {
|
||||
} else {
|
||||
debug_print_str2(0x000000AA, 0x00000064, "off");
|
||||
}
|
||||
if ((gCurrentCourseId >= 0x14) || (gCurrentCourseId < 0)) {
|
||||
if ((gCurrentCourseId >= (NUM_COURSES - 1)) || (gCurrentCourseId < 0)) {
|
||||
gCurrentCourseId = 0;
|
||||
}
|
||||
print_str_num(0x00000050, 0x0000006E, "map_number", gCurrentCourseId);
|
||||
@@ -6616,10 +6516,10 @@ void func_8009F5E0(struct_8018D9E0_entry *arg0) {
|
||||
}
|
||||
break;
|
||||
case 0x5: /* switch 6 */
|
||||
var_t0 = (s32) ((f32) (get_string_width(D_800E7574[0]) + 5) * 0.9f) / 2;
|
||||
var_t0 = (s32) ((f32) (get_string_width(gCourseNamesDup[0]) + 5) * 0.9f) / 2;
|
||||
gDisplayListHead = draw_box(gDisplayListHead, 0xA0 - var_t0, 0x0000007B, var_t0 + 0xA0, 0x000000A4, 0, 0, 0, 0x00000096);
|
||||
set_text_color(1);
|
||||
draw_text(0x0000009B, 0x0000008C, D_800E7574[0], 0, 0.9f, 0.9f);
|
||||
draw_text(0x0000009B, 0x0000008C, gCourseNamesDup[0], 0, 0.9f, 0.9f);
|
||||
temp_v1 = func_800B4EB4(0, 7) & 0xFFFFF;
|
||||
if (temp_v1 < 0x1EAA) {
|
||||
set_text_color((s32) gGlobalTimer % 2);
|
||||
@@ -6886,7 +6786,7 @@ void func_8009F5E0(struct_8018D9E0_entry *arg0) {
|
||||
break;
|
||||
case 0x97: /* switch 6 */
|
||||
set_text_color(5);
|
||||
func_80093324(arg0->column, arg0->row, D_800E7524[gCurrentCourseId], arg0->unk1C, arg0->unk24, 1.0f);
|
||||
func_80093324(arg0->column, arg0->row, gCourseNames[gCurrentCourseId], arg0->unk1C, arg0->unk24, 1.0f);
|
||||
break;
|
||||
case 0x98: /* switch 6 */
|
||||
func_800A2D1C(arg0);
|
||||
@@ -7368,10 +7268,10 @@ void func_800A1A20(struct_8018D9E0_entry *arg0) {
|
||||
courseId = gCupCourseOrder[gTimeTrialDataCourseIndex / 4][gTimeTrialDataCourseIndex % 4];
|
||||
arg0->column = 0x14;
|
||||
set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1);
|
||||
draw_text(0x69, arg0->row + 0x19, D_800E7574[courseId], 0, 0.75f, 0.75f);
|
||||
draw_text(0x69, arg0->row + 0x19, gCourseNamesDup[courseId], 0, 0.75f, 0.75f);
|
||||
set_text_color(TEXT_RED);
|
||||
func_80093324(0x2D, arg0->row + 0x28, (char *)&D_800E77D8, 0, 0.75f, 0.75f);
|
||||
func_800936B8(0xA5, arg0->row + 0x28, D_800E77E4[courseId], 1, 0.75f, 0.75f);
|
||||
func_800936B8(0xA5, arg0->row + 0x28, sCourseLengths[courseId], 1, 0.75f, 0.75f);
|
||||
set_text_color(TEXT_YELLOW);
|
||||
func_80093324(0xA0, arg0->row + 0x86, D_800E7728[0], 0, 0.75f, 0.75f);
|
||||
// Print the 3 Lap Time Trial records
|
||||
@@ -7621,7 +7521,7 @@ void func_800A1FB0(struct_8018D9E0_entry *arg0) {
|
||||
if (var_v1->ghostDataSaved == 0) {
|
||||
func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E7A44, 0, 0.5f, 0.5f);
|
||||
} else {
|
||||
func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E75C4[gCupCourseOrder[var_v1->courseIndex / 4][var_v1->courseIndex % 4]], 0, 0.5f, 0.5f);
|
||||
func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), gCourseNamesDup2[gCupCourseOrder[var_v1->courseIndex / 4][var_v1->courseIndex % 4]], 0, 0.5f, 0.5f);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7657,7 +7557,7 @@ void func_800A1FB0(struct_8018D9E0_entry *arg0) {
|
||||
if (var_v1->ghostDataSaved == 0) {
|
||||
func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E7A44, 0, 0.5f, 0.5f);
|
||||
} else {
|
||||
func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E75C4[gCupCourseOrder[var_v1->courseIndex / 4][var_v1->courseIndex % 4]], 0, 0.5f, 0.5f);
|
||||
func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), gCourseNamesDup2[gCupCourseOrder[var_v1->courseIndex / 4][var_v1->courseIndex % 4]], 0, 0.5f, 0.5f);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7705,7 +7605,7 @@ void func_800A1FB0(struct_8018D9E0_entry *arg0) {
|
||||
if (var_v1->ghostDataSaved == 0) {
|
||||
func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E7A44, 0, 0.5f, 0.5f);
|
||||
} else {
|
||||
func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E75C4[gCupCourseOrder[var_v1->courseIndex / 4][var_v1->courseIndex % 4]], 0, 0.5f, 0.5f);
|
||||
func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), gCourseNamesDup2[gCupCourseOrder[var_v1->courseIndex / 4][var_v1->courseIndex % 4]], 0, 0.5f, 0.5f);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7984,7 +7884,7 @@ void func_800A3C84(struct_8018D9E0_entry *arg0) {
|
||||
s32 rowOffset;
|
||||
|
||||
set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1);
|
||||
draw_text(arg0->column + 0x43, arg0->row + 0x19, D_800E7574[gCupCourseOrder[gCupSelection][gCupCourseSelection]], 0, 0.6f, 0.6f);
|
||||
draw_text(arg0->column + 0x43, arg0->row + 0x19, gCourseNamesDup[gCupCourseOrder[gCupSelection][gCupCourseSelection]], 0, 0.6f, 0.6f);
|
||||
set_text_color(TEXT_YELLOW);
|
||||
draw_text(arg0->column + 0x46, arg0->row + 0x28, D_800E7730, 0, 0.75f, 0.75f);
|
||||
for(recordType = 0, rowOffset = 0; recordType < TIME_TRIAL_3LAP_RECORD_5; recordType += 1, rowOffset += 0xF) {
|
||||
@@ -8019,7 +7919,7 @@ void func_800A3E60(struct_8018D9E0_entry *arg0) {
|
||||
if (var_v0 == 0x0000001F) return;
|
||||
|
||||
set_text_color(4);
|
||||
draw_text(arg0->column + 0x55, 0x19 - arg0->row, D_800E7574[gCupCourseOrder[gCupSelection][gCupCourseSelection]], 0, 0.6f, 0.6f);
|
||||
draw_text(arg0->column + 0x55, 0x19 - arg0->row, gCourseNamesDup[gCupCourseOrder[gCupSelection][gCupCourseSelection]], 0, 0.6f, 0.6f);
|
||||
set_text_color(3);
|
||||
draw_text(arg0->column + 0x55, 0x28 - arg0->row, D_800E7730, 0, 0.75f, 0.75f);
|
||||
for (var_s1 = 0; var_s1 < 4; var_s1++) {
|
||||
@@ -8083,7 +7983,7 @@ void func_800A3E60(struct_8018D9E0_entry *arg0) {
|
||||
if (D_8018EE10[var_s1].ghostDataSaved == 0) {
|
||||
func_80093324(0xBB - arg0->column, 0xAA + (0x1E * var_s1), D_800E7A44, 0, 0.45f, 0.45f);
|
||||
} else {
|
||||
func_80093324(0xBB - arg0->column, 0xAA + (0x1E * var_s1), D_800E75C4[gCupCourseOrder[D_8018EE10[var_s1].courseIndex / 4][D_8018EE10[var_s1].courseIndex % 4]], 0, 0.45f, 0.45f);
|
||||
func_80093324(0xBB - arg0->column, 0xAA + (0x1E * var_s1), gCourseNamesDup2[gCupCourseOrder[D_8018EE10[var_s1].courseIndex / 4][D_8018EE10[var_s1].courseIndex % 4]], 0, 0.45f, 0.45f);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -8306,7 +8206,7 @@ void render_pause_menu_time_trials(struct_8018D9E0_entry *arg0) {
|
||||
|
||||
gDisplayListHead = draw_box(gDisplayListHead, 0, 0, 0x0000013F, 0x000000EF, 0, 0, 0, 0x0000008C);
|
||||
set_text_color(TEXT_YELLOW);
|
||||
draw_text(0x000000A0, 0x00000050, D_800E7574[gCupCourseOrder[gCupSelection][gCupCourseSelection]], 0, 1.0f, 1.0f);
|
||||
draw_text(0x000000A0, 0x00000050, gCourseNamesDup[gCupCourseOrder[gCupSelection][gCupCourseSelection]], 0, 1.0f, 1.0f);
|
||||
set_text_color(TEXT_RED);
|
||||
draw_text(0x0000009D, 0x00000060, D_800E7728[0], 0, 0.8f, 0.8f);
|
||||
temp_a0 = func_800B4E24(TIME_TRIAL_3LAP_RECORD_1);
|
||||
@@ -8390,7 +8290,7 @@ void render_pause_grand_prix(struct_8018D9E0_entry *arg0) {
|
||||
set_text_color(TEXT_YELLOW);
|
||||
draw_text(160 + temp_s0, temp_s3->row - 50, D_800E76CC[gCCSelection], 0, 1.0f, 1.0f);
|
||||
set_text_color(TEXT_YELLOW);
|
||||
draw_text(160, temp_s3->row - 30, D_800E7574[gCupCourseOrder[gCupSelection][gCupCourseSelection]], 0, 1.0f, 1.0f);
|
||||
draw_text(160, temp_s3->row - 30, gCourseNamesDup[gCupCourseOrder[gCupSelection][gCupCourseSelection]], 0, 1.0f, 1.0f);
|
||||
for (var_s0 = 0; var_s0 < 2; var_s0++) {
|
||||
text_rainbow_effect(arg0->cursor - 31, var_s0, TEXT_YELLOW);
|
||||
func_80093324(temp_s3->column, temp_s3->row + (var_s0 * 13), gTextPauseButton[var_s0 * 4], 0, 0.75f, 0.75f);
|
||||
@@ -8499,7 +8399,7 @@ void func_800A5738(struct_8018D9E0_entry *arg0) {
|
||||
gDisplayListHead = draw_box(gDisplayListHead, 0, 0, 0x0000013F, 0x000000EF, 0, 0, 0, var_s1);
|
||||
gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, var_s2);
|
||||
set_text_color(3);
|
||||
func_80093754(0x000000A0, 0x00000050, D_800E7574[gCupCourseOrder[gCupSelection][gCupCourseSelection]], 0, 1.0f, 1.0f);
|
||||
func_80093754(0x000000A0, 0x00000050, gCourseNamesDup[gCupCourseOrder[gCupSelection][gCupCourseSelection]], 0, 1.0f, 1.0f);
|
||||
switch (arg0->cursor) { /* switch 1 */
|
||||
case 1: /* switch 1 */
|
||||
case 11: /* switch 1 */
|
||||
@@ -8561,7 +8461,7 @@ void func_800A5738(struct_8018D9E0_entry *arg0) {
|
||||
if (D_8018EE10[var_s1].ghostDataSaved == 0) {
|
||||
func_80093324(0x69 - arg0->column, (0x96 + (0x14 * var_s1)), D_800E7A44, 0, 0.75f, 0.75f);
|
||||
} else {
|
||||
func_80093324(0x69 - arg0->column, (0x96 + (0x14 * var_s1)), D_800E75C4[gCupCourseOrder[D_8018EE10[var_s1].courseIndex / 4][D_8018EE10[var_s1].courseIndex % 4]], 0, 0.75f, 0.75f);
|
||||
func_80093324(0x69 - arg0->column, (0x96 + (0x14 * var_s1)), gCourseNamesDup2[gCupCourseOrder[D_8018EE10[var_s1].courseIndex / 4][D_8018EE10[var_s1].courseIndex % 4]], 0, 0.75f, 0.75f);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -8630,7 +8530,7 @@ void func_800A6034(struct_8018D9E0_entry *arg0) {
|
||||
text = gCupNames[D_800DC540];
|
||||
set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_2);
|
||||
func_80093754(arg0->column + 0x41, arg0->row + 0xA0, text, 0, 0.85f, 1.0f);
|
||||
text = D_800E7524[gCurrentCourseId];
|
||||
text = gCourseNames[gCurrentCourseId];
|
||||
set_text_color((s32) gCurrentCourseId % 4);
|
||||
func_80093754(arg0->column + 0x41, arg0->row + 0xC3, text, 0, 0.65f, 0.85f);
|
||||
}
|
||||
@@ -11263,7 +11163,7 @@ void func_800ABF68(struct_8018D9E0_entry *arg0) {
|
||||
case 0:
|
||||
arg0->column = 0x140;
|
||||
arg0->cursor = 1;
|
||||
arg0->unk20 = 0xA0 - (get_string_width(D_800E7524[gCurrentCourseId]) / 2);
|
||||
arg0->unk20 = 0xA0 - (get_string_width(gCourseNames[gCurrentCourseId]) / 2);
|
||||
/* fallthrough */
|
||||
case 1:
|
||||
func_800A9208(arg0, arg0->unk20);
|
||||
|
||||
+4
-4
@@ -492,9 +492,9 @@ extern RGBA16 D_800E74D0[];
|
||||
extern RGBA16 D_800E74E8[];
|
||||
extern const s16 gGlyphDisplayWidth[];
|
||||
extern char *gCupNames[];
|
||||
extern char *D_800E7524[];
|
||||
extern char *D_800E7574[];
|
||||
extern char *D_800E75C4[];
|
||||
extern char *gCourseNames[];
|
||||
extern char *gCourseNamesDup[];
|
||||
extern char *gCourseNamesDup2[];
|
||||
extern char *gDebugCourseNames[];
|
||||
// Maps course IDs (as defined in the COURSES enum) to an index in a given cup's track order
|
||||
extern const s8 gPerCupIndexByCourseId[]; // D_800EFD50
|
||||
@@ -520,7 +520,7 @@ extern char *D_800E77A0[];
|
||||
extern char *D_800E77A8[];
|
||||
extern char D_800E77B4[];
|
||||
extern char D_800E77D8[];
|
||||
extern char *D_800E77E4[];
|
||||
extern char *sCourseLengths[];
|
||||
extern char *D_800E7834[];
|
||||
extern char *D_800E7840[];
|
||||
extern char *D_800E7848[];
|
||||
|
||||
@@ -1,390 +0,0 @@
|
||||
#ifndef COMMON_TEXTURES_H
|
||||
#define COMMON_TEXTURES_H
|
||||
|
||||
#include <types.h>
|
||||
#include <PR/gbi.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ s16 waypointStart;
|
||||
/* 0x2 */ s16 waypointEnd;
|
||||
/* 0x4 */ s32 type;
|
||||
} KartAIBehaviour; // size = 0x8
|
||||
|
||||
enum {
|
||||
BEHAVIOUR_NONE = 0,
|
||||
BEHAVIOUR_1,
|
||||
BEHAVIOUR_HOP,
|
||||
BEHAVIOUR_3,
|
||||
BEHAVIOUR_4,
|
||||
BEHAVIOUR_5,
|
||||
BEHAVIOUR_NORMAL_SPEED,
|
||||
BEHAVIOUR_FAST_SPEED,
|
||||
BEHAVIOUR_SLOW_SPEED,
|
||||
BEHAVIOUR_9,
|
||||
BEHAVIOUR_10,
|
||||
BEHAVIOUR_MAX_SPEED
|
||||
};
|
||||
|
||||
/** @cond */
|
||||
|
||||
extern u8 common_tlut_finish_line_banner[];
|
||||
extern u8 common_texture_particle_fire[];
|
||||
extern Vtx D_0D001200[];
|
||||
extern Vtx D_0D001210[];
|
||||
extern Vtx D_0D001240[];
|
||||
extern Vtx D_0D001270[];
|
||||
extern Vtx D_0D0012A0[];
|
||||
extern Vtx D_0D0012D0[];
|
||||
extern Vtx D_0D001300[];
|
||||
extern Vtx D_0D001330[];
|
||||
extern Vtx D_0D001360[];
|
||||
extern Vtx D_0D001390[];
|
||||
extern Vtx common_vertex_finish_post[];
|
||||
extern Vtx D_0D001710[];
|
||||
extern Gfx D_0D001750[];
|
||||
extern Gfx D_0D001780[];
|
||||
extern Gfx D_0D001798[];
|
||||
extern Gfx D_0D0017B0[];
|
||||
extern Gfx D_0D0017C8[];
|
||||
extern Gfx D_0D0017E0[];
|
||||
extern Gfx D_0D0017F8[];
|
||||
extern Gfx D_0D001810[];
|
||||
extern Gfx D_0D001828[];
|
||||
extern Gfx D_0D001840[];
|
||||
extern Gfx common_model_finish_post[];
|
||||
extern Gfx D_0D001B68[];
|
||||
extern Gfx D_0D001B90[];
|
||||
extern Gfx D_0D001BD8[];
|
||||
extern Gfx D_0D001C20[];
|
||||
extern Gfx D_0D001C88[];
|
||||
extern Vtx D_0D001CE8[];
|
||||
extern Vtx common_vtx_itembox_question_mark[];
|
||||
extern Vtx D_0D001D68[];
|
||||
extern Vtx D_0D001D98[];
|
||||
extern Vtx D_0D001DC8[];
|
||||
extern Vtx D_0D001DF8[];
|
||||
extern Vtx D_0D001E28[];
|
||||
extern Vtx D_0D001E58[];
|
||||
extern Vtx D_0D001E88[];
|
||||
extern Vtx D_0D001EB8[];
|
||||
extern u8 common_texture_item_box_question_mark[];
|
||||
extern Gfx D_0D002EE8[];
|
||||
extern Vtx common_fake_item_box_question_mark_vertices[];
|
||||
extern Gfx common_model_fake_itembox[];
|
||||
extern Gfx itemBoxQuestionMarkModel[];
|
||||
extern Gfx D_0D003090[];
|
||||
extern Gfx D_0D0030F8[];
|
||||
extern Gfx D_0D003128[];
|
||||
extern Gfx D_0D003158[];
|
||||
extern Gfx D_0D003188[];
|
||||
extern Gfx D_0D0031B8[];
|
||||
extern Gfx D_0D0031E8[];
|
||||
extern Gfx D_0D003218[];
|
||||
extern Gfx D_0D003248[];
|
||||
extern Gfx D_0D003278[];
|
||||
extern Gfx D_0D003288[];
|
||||
extern Vtx common_vtx_banana[];
|
||||
extern Vtx common_vtx_flat_banana[];
|
||||
extern u8 common_texture_banana[];
|
||||
extern u8 common_texture_flat_banana[];
|
||||
extern Gfx common_model_banana[];
|
||||
extern Gfx common_model_flat_banana[];
|
||||
extern u8 common_tlut_trees_import[];
|
||||
extern u8 common_tlut_green_shell[];
|
||||
extern u8 common_tlut_blue_shell[];
|
||||
extern Vtx D_0D005238[];
|
||||
extern Vtx D_0D005278[];
|
||||
extern Gfx D_0D0052B8[];
|
||||
extern Gfx D_0D005308[];
|
||||
extern Gfx D_0D005338[];
|
||||
extern Gfx D_0D005368[];
|
||||
extern Gfx D_toads_turnpike_0D005398[];
|
||||
extern Gfx D_toads_turnpike_0D0053B0[];
|
||||
extern Gfx D_toads_turnpike_0D0053C8[];
|
||||
extern Gfx D_toads_turnpike_0D0053F0[];
|
||||
extern Gfx D_toads_turnpike_0D005418[];
|
||||
extern Vtx D_0D005430[];
|
||||
extern Vtx common_vtx_player_minimap_icon[];
|
||||
extern Vtx D_0D0054B0[];
|
||||
extern Vtx common_vtx_rectangle[];
|
||||
extern Vtx D_0D0057B0[];
|
||||
extern Vtx D_0D0057F0[];
|
||||
extern Vtx D_0D0058E0[];
|
||||
extern Vtx D_0D005920[];
|
||||
extern Vtx D_0D005AA0[];
|
||||
extern Vtx D_0D005AE0[];
|
||||
extern Vtx D_0D005B20[];
|
||||
extern Vtx D_0D005B60[];
|
||||
extern Vtx D_0D005BA0[];
|
||||
extern Vtx D_0D005BD0[];
|
||||
extern Vtx D_0D005C00[];
|
||||
extern Vtx D_0D005C30[];
|
||||
extern Vtx D_0D005E80[];
|
||||
extern Vtx D_0D005EB0[];
|
||||
extern Vtx D_0D005F00[];
|
||||
extern Vtx D_0D005F30[];
|
||||
extern Vtx D_0D005F80[];
|
||||
extern Vtx D_0D005FB0;
|
||||
extern Vtx D_0D005FC0[];
|
||||
extern Vtx D_0D005FF0;
|
||||
extern Vtx D_0D006000[];
|
||||
extern Vtx D_0D006030[];
|
||||
extern Vtx D_0D006080[];
|
||||
extern Vtx D_0D0060B0[];
|
||||
extern Vtx D_0D006100[];
|
||||
extern Vtx D_0D006130[];
|
||||
extern Vtx D_0D006180[];
|
||||
extern Vtx D_0D0061B0[];
|
||||
extern Vtx D_0D006280[];
|
||||
extern Vtx D_0D0062B0[];
|
||||
extern Vtx D_0D006480[];
|
||||
extern Vtx D_0D0064B0[];
|
||||
extern Vtx D_0D006700[];
|
||||
extern Vtx D_0D006730[];
|
||||
extern Vtx D_0D0068C0[];
|
||||
extern Vtx D_0D0068F0[];
|
||||
extern Gfx D_0D006930[];
|
||||
extern Gfx common_rectangle_display[];
|
||||
extern Gfx D_0D006950[];
|
||||
extern Gfx D_0D006968[];
|
||||
extern Gfx D_0D006980[];
|
||||
extern Gfx D_0D006998[];
|
||||
extern Gfx D_0D0069B0[];
|
||||
extern Gfx D_0D0069C8[];
|
||||
extern Gfx D_0D0069E0[];
|
||||
extern Gfx D_0D0069F8[];
|
||||
extern Gfx D_0D006A10[];
|
||||
extern Gfx D_0D006A28[];
|
||||
extern Gfx D_0D006A40[];
|
||||
extern u8 D_0D006A58[];
|
||||
extern u8 D_0D006AD8[];
|
||||
extern u8 common_tlut_debug_font[];
|
||||
extern u8 common_texture_debug_font[];
|
||||
extern Gfx D_0D0076F8[];
|
||||
extern Gfx D_0D007780[];
|
||||
extern Gfx D_0D0077A0[];
|
||||
extern Gfx D_0D0077D0[];
|
||||
extern Gfx D_0D0077F8[];
|
||||
extern Gfx D_0D007828[];
|
||||
extern Gfx D_0D007850[];
|
||||
extern Gfx D_0D007878[];
|
||||
extern Gfx D_0D0078A0[];
|
||||
extern Gfx D_0D0078D0[];
|
||||
extern Gfx D_0D0078F8[];
|
||||
extern Gfx D_0D007928[];
|
||||
extern Gfx D_0D007948[];
|
||||
extern Gfx D_0D007968[];
|
||||
extern Gfx D_0D007988[];
|
||||
extern Gfx D_0D0079A8[];
|
||||
extern Gfx D_0D0079C8[];
|
||||
extern Gfx D_0D0079E8[];
|
||||
extern Gfx D_0D007A08[];
|
||||
extern Gfx D_0D007A40[];
|
||||
extern Gfx D_0D007A60[];
|
||||
extern Gfx D_0D007A80[];
|
||||
extern Gfx D_0D007AA0[];
|
||||
extern Gfx D_0D007AC0[];
|
||||
extern Gfx D_0D007AE0[];
|
||||
extern Gfx D_0D007B00[];
|
||||
extern Gfx D_0D007B20[];
|
||||
extern Gfx D_0D007B98[];
|
||||
extern Gfx D_0D007C10[];
|
||||
extern Gfx D_0D007C88[];
|
||||
extern Gfx D_0D007CB8[];
|
||||
extern Gfx D_0D007CD8[];
|
||||
extern Gfx D_0D007CF8[];
|
||||
extern Gfx D_0D007D18[];
|
||||
extern Gfx D_0D007D38[];
|
||||
extern Gfx D_0D007D58[];
|
||||
extern Gfx D_0D007D78[];
|
||||
extern Gfx D_0D007D98[];
|
||||
extern Gfx D_0D007DB8[];
|
||||
extern Gfx D_0D007DD8[];
|
||||
extern Gfx D_0D007DF8[];
|
||||
extern Gfx D_0D007E18[];
|
||||
extern Gfx D_0D007E38[];
|
||||
extern Gfx D_0D007E58[];
|
||||
extern Gfx D_0D007E78[];
|
||||
extern Gfx D_0D007E98[];
|
||||
extern Gfx D_0D007EB8[];
|
||||
extern Gfx D_0D007ED8[];
|
||||
extern Gfx D_0D007EF8[];
|
||||
extern Gfx D_0D007F18[];
|
||||
extern Gfx D_0D007F38[];
|
||||
extern Gfx D_0D007F58[];
|
||||
extern Gfx D_0D007F78[];
|
||||
extern Gfx D_0D007F98[];
|
||||
extern Gfx D_0D007FB8[];
|
||||
extern Gfx D_0D007FE0[];
|
||||
extern Gfx D_0D008000[];
|
||||
extern Gfx D_0D008020[];
|
||||
extern Gfx D_0D008040[];
|
||||
extern Gfx D_0D008060[];
|
||||
extern Gfx D_0D008080[];
|
||||
extern Gfx D_0D008108[];
|
||||
extern Gfx D_0D008120[];
|
||||
extern Gfx D_0D008138[];
|
||||
extern u8 common_grand_prix_human_item_curve[][100];
|
||||
extern u8 common_grand_prix_kart_ai_item_curve[][100];
|
||||
extern u8 common_versus_2_player_item_curve[][100];
|
||||
extern u8 common_versus_3_player_item_curve[][100];
|
||||
extern u8 common_versus_4_player_item_curve[][100];
|
||||
extern u8 common_battle_item_curve[][100];
|
||||
extern Vtx D_0D008B78[];
|
||||
extern Vtx D_0D008BB8[];
|
||||
extern Vtx D_0D008BF8[];
|
||||
extern Vtx D_0D008C38[];
|
||||
extern Gfx common_square_plain_render[];
|
||||
extern Gfx D_0D008C90[];
|
||||
extern Gfx common_setting_render_character[];
|
||||
extern Gfx D_0D008D10[];
|
||||
extern Gfx D_0D008D58[];
|
||||
extern Gfx D_0D008DA0[];
|
||||
extern Gfx D_0D008DB8[];
|
||||
extern Gfx D_0D008DF8[];
|
||||
extern Gfx D_0D008E20[];
|
||||
extern Gfx D_0D008E48[];
|
||||
extern Gfx D_0D008E70[];
|
||||
extern Mtx D_0D008E98;
|
||||
extern Vtx D_0D008ED8[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_battle_courses[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_mario_raceway[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_choco_mountain[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_bowser_castle[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_banshee_boardwalk[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_yoshi_valley[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_frappe_snowland[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_koopa_beach[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_royal_raceway[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_luigi_raceway[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_moo_moo_farm[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_toad_turnpike[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_kalamari_desert[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_sherbet_land[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_rainbow_road[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_wario_stadium[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_dk_jungle[];
|
||||
extern f32 D_0D009418[][4];
|
||||
extern f32 D_0D009568[][4];
|
||||
extern f32 D_0D0096B8[][4];
|
||||
extern f32 D_0D009808[][4];
|
||||
extern s32 unkPad;
|
||||
extern u8 common_texture_speedometer[];
|
||||
extern u8 common_texture_speedometer_needle[];
|
||||
extern u8 common_texture_hud_lap[];
|
||||
extern u8 common_texture_hud_123[];
|
||||
extern u8 common_texture_hud_lap_time[];
|
||||
extern u8 common_texture_hud_lap_1_on_3[];
|
||||
extern u8 common_texture_hud_lap_2_on_3[];
|
||||
extern u8 common_texture_hud_lap_3_on_3[];
|
||||
extern u8 common_texture_hud_total_time[];
|
||||
extern u8 common_texture_hud_time[];
|
||||
extern u8 common_texture_hud_normal_digit[];
|
||||
extern u8 common_texture_hud_place[][4096];
|
||||
extern u8 D_0D00E258[];
|
||||
extern u8 D_0D00F258[];
|
||||
extern u8 D_0D010258[];
|
||||
extern u8 D_0D011258[];
|
||||
extern u8 D_0D012258[];
|
||||
extern u8 D_0D013258[];
|
||||
extern u8 D_0D014258[];
|
||||
extern u8 D_0D015258[][2048];
|
||||
extern u8 D_0D015A58[];
|
||||
extern u8 D_0D016258[];
|
||||
extern u8 D_0D016A58[];
|
||||
extern u8 common_tlut_player_emblem[];
|
||||
extern s16 tlutPad[];
|
||||
extern u8 common_texture_player_emblem[][2048];
|
||||
extern u8 common_tlut_hud_type_C_rank_font[];
|
||||
extern u8 common_texture_hud_type_C_rank_font[][256];
|
||||
extern u8 common_tlut_hud_type_C_rank_tiny_font[];
|
||||
extern u8 common_texture_hud_type_C_rank_tiny_font[][64];
|
||||
extern u8 common_texture_character_portrait_border[];
|
||||
extern u8 common_tlut_portrait_mario[];
|
||||
extern u8 common_tlut_portrait_luigi[];
|
||||
extern u8 common_tlut_portrait_peach[];
|
||||
extern u8 common_tlut_portrait_toad[];
|
||||
extern u8 common_tlut_portrait_yoshi[];
|
||||
extern u8 common_tlut_portrait_donkey_kong[];
|
||||
extern u8 common_tlut_portrait_wario[];
|
||||
extern u8 common_tlut_portrait_bowser[];
|
||||
extern u8 common_tlut_portrait_bomb_kart_and_question_mark[];
|
||||
extern u8 common_texture_portrait_mario[];
|
||||
extern u8 common_texture_portrait_luigi[];
|
||||
extern u8 common_texture_portrait_peach[];
|
||||
extern u8 common_texture_portrait_toad[];
|
||||
extern u8 common_texture_portrait_yoshi[];
|
||||
extern u8 common_texture_portrait_donkey_kong[];
|
||||
extern u8 common_texture_portrait_wario[];
|
||||
extern u8 common_texture_portrait_bowser[];
|
||||
extern u8 common_texture_portrait_bomb_kart[];
|
||||
extern u8 common_texture_portrait_question_mark[];
|
||||
extern u8 common_tlut_item_window_none[];
|
||||
extern u8 common_tlut_item_window_banana[];
|
||||
extern u8 common_tlut_item_window_banana_bunch[];
|
||||
extern u8 common_tlut_item_window_mushroom[];
|
||||
extern u8 common_tlut_item_window_double_mushroom[];
|
||||
extern u8 common_tlut_item_window_triple_mushroom[];
|
||||
extern u8 common_tlut_item_window_super_mushroom[];
|
||||
extern u8 common_tlut_item_window_blue_shell[];
|
||||
extern u8 common_tlut_item_window_boo[];
|
||||
extern u8 common_tlut_item_window_green_shell[];
|
||||
extern u8 common_tlut_item_window_triple_green_shell[];
|
||||
extern u8 common_tlut_item_window_red_shell[];
|
||||
extern u8 common_tlut_item_window_triple_red_shell[];
|
||||
extern u8 common_tlut_item_window_star[];
|
||||
extern u8 common_tlut_item_window_thunder_bolt[];
|
||||
extern u8 common_tlut_item_window_fake_item_box[];
|
||||
extern u8 common_texture_item_window_none[];
|
||||
extern u8 common_texture_item_window_banana[];
|
||||
extern u8 common_texture_item_window_banana_bunch[];
|
||||
extern u8 common_texture_item_window_mushroom[];
|
||||
extern u8 common_texture_item_window_double_mushroom[];
|
||||
extern u8 common_texture_item_window_triple_mushroom[];
|
||||
extern u8 common_texture_item_window_super_mushroom[];
|
||||
extern u8 common_texture_item_window_blue_shell[];
|
||||
extern u8 common_texture_item_window_boo[];
|
||||
extern u8 common_texture_item_window_green_shell[];
|
||||
extern u8 common_texture_item_window_triple_green_shell[];
|
||||
extern u8 common_texture_item_window_red_shell[];
|
||||
extern u8 common_texture_item_window_triple_red_shell[];
|
||||
extern u8 common_texture_item_window_star[];
|
||||
extern u8 common_texture_item_window_thunder_bolt[];
|
||||
extern u8 common_texture_item_window_fake_item_box[];
|
||||
extern u8 common_tlut_lakitu_countdown[][512];
|
||||
extern u8 common_tlut_lakitu_checkered_flag[];
|
||||
extern u8 common_tlut_lakitu_second_lap[];
|
||||
extern u8 common_tlut_lakitu_final_lap[];
|
||||
extern u8 common_tlut_lakitu_reverse[];
|
||||
extern u8 common_tlut_lakitu_fishing[];
|
||||
|
||||
extern u8 common_texture_particle_leaf[];
|
||||
extern u8 common_tlut_traffic_light[];
|
||||
extern u8 common_texture_traffic_light_01[];
|
||||
extern u8 common_texture_traffic_light_02[];
|
||||
extern u8 common_texture_traffic_light_03[];
|
||||
extern u8 common_texture_traffic_light_04[];
|
||||
extern u8 common_texture_traffic_light_05[];
|
||||
extern u8 common_texture_traffic_light_06[];
|
||||
extern u8 common_texture_traffic_light_07[];
|
||||
extern u8 common_texture_traffic_light_08[];
|
||||
extern u8 common_texture_traffic_light_09[];
|
||||
extern u8 common_texture_traffic_light_10[];
|
||||
extern u8 common_texture_unused_particle_leaf[];
|
||||
extern u8 D_0D0293D8[];
|
||||
extern u8 D_0D029458[];
|
||||
extern u8 common_texture_bomb[][1024];
|
||||
extern u8 D_0D029C58[];
|
||||
extern u8 D_0D02A058[];
|
||||
extern u8 D_0D02A458[];
|
||||
extern u8 common_tlut_bomb[];
|
||||
extern u8 D_0D02AA58[];
|
||||
extern u8 common_texture_particle_spark[][1024];
|
||||
extern u8 common_texture_particle_smoke[][1024];
|
||||
extern u8 common_texture_minimap_finish_line[];
|
||||
extern u8 common_texture_minimap_kart_character[][128];
|
||||
extern u8 common_texture_minimap_progress_dot[];
|
||||
|
||||
/** @endcond */
|
||||
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,73 +0,0 @@
|
||||
#include "data_800E45C0.h"
|
||||
|
||||
Lights1 D_800E45C0[] = {
|
||||
gdSPDefLights1(
|
||||
0x64, 0x00, 0x00,
|
||||
0x64, 0x00, 0x00, 0x00, 0x88, 0x00
|
||||
),
|
||||
gdSPDefLights1(
|
||||
0x64, 0x64, 0x00,
|
||||
0xff, 0xff, 0x00, 0x00, 0x88, 0x00
|
||||
),
|
||||
gdSPDefLights1(
|
||||
0x64, 0x64, 0x64,
|
||||
0xff, 0xff, 0xff, 0x00, 0x88, 0x00
|
||||
),
|
||||
gdSPDefLights1(
|
||||
0x64, 0x00, 0x00,
|
||||
0x64, 0x00, 0x00, 0x00, 0x88, 0x00
|
||||
),
|
||||
};
|
||||
|
||||
Lights1 D_800E4620 = gdSPDefLights1(
|
||||
0x96, 0xb4, 0xfa,
|
||||
0xff, 0xff, 0xff, 0x00, 0x00, 0x00
|
||||
);
|
||||
|
||||
Lights1 D_800E4638 = gdSPDefLights1(
|
||||
0x55, 0x55, 0x55,
|
||||
0xff, 0xff, 0xff, 0x00, 0x88, 0x00
|
||||
);
|
||||
|
||||
Lights1 D_800E4650 = gdSPDefLights1(
|
||||
0x55, 0x55, 0x00,
|
||||
0xff, 0xff, 0x00, 0x00, 0x78, 0x00
|
||||
);
|
||||
|
||||
Lights1 D_800E4668 = gdSPDefLights1(
|
||||
0x55, 0x55, 0x55,
|
||||
0xff, 0xff, 0xff, 0xbe, 0x52, 0xc9
|
||||
);
|
||||
|
||||
Lights1 D_800E4680 = gdSPDefLights1(
|
||||
0x55, 0x55, 0x55,
|
||||
0xff, 0xff, 0xff, 0x00, 0x00, 0x78
|
||||
);
|
||||
|
||||
Lights1 D_800E4698 = gdSPDefLights1(
|
||||
0x55, 0x55, 0x55,
|
||||
0xff, 0xff, 0xff, 0x00, 0x00, 0x78
|
||||
);
|
||||
|
||||
Lights1 D_800E46B0 = gdSPDefLights1(
|
||||
0x55, 0x55, 0x55,
|
||||
0xff, 0xff, 0xff, 0x00, 0x00, 0x78
|
||||
);
|
||||
|
||||
Lights1 D_800E46C8 = gdSPDefLights1(
|
||||
0x55, 0x55, 0x55,
|
||||
0xff, 0xff, 0xff, 0x00, 0x00, 0x78
|
||||
);
|
||||
|
||||
Lights1 D_800E46E0 = gdSPDefLights1(
|
||||
0x55, 0x55, 0x55,
|
||||
0xff, 0xff, 0xff, 0x00, 0x00, 0x78
|
||||
);
|
||||
|
||||
Vec3u32 D_800E46F8[] = {
|
||||
{0x000000ff, 0x000000ff, 0x000000ff},
|
||||
{0x000000ff, 0x000000ff, 0x00000000},
|
||||
{0x000000ff, 0x00000000, 0x00000000},
|
||||
};
|
||||
|
||||
u8 D_800E471C[] = { 0x00, 0x01, 0x02, 0x03, 0x02, 0x01, 0x00 };
|
||||
@@ -1,24 +0,0 @@
|
||||
#ifndef DATA_800E45C0_H
|
||||
#define DATA_800E45C0_H
|
||||
|
||||
#include <ultra64.h>
|
||||
|
||||
typedef u32 Vec3u32[3];
|
||||
|
||||
extern Lights1 D_800E45C0[];
|
||||
extern Lights1 D_800E45D8;
|
||||
extern Lights1 D_800E45F0;
|
||||
extern Lights1 D_800E4608;
|
||||
extern Lights1 D_800E4620;
|
||||
extern Lights1 D_800E4638;
|
||||
extern Lights1 D_800E4650;
|
||||
extern Lights1 D_800E4668;
|
||||
extern Lights1 D_800E4680;
|
||||
extern Lights1 D_800E4698;
|
||||
extern Lights1 D_800E46B0;
|
||||
extern Lights1 D_800E46C8;
|
||||
extern Lights1 D_800E46E0;
|
||||
extern Vec3u32 D_800E46F8[];
|
||||
extern u8 D_800E471C[];
|
||||
|
||||
#endif
|
||||
@@ -1,215 +0,0 @@
|
||||
#include <ultra64.h>
|
||||
#include "data_800E8700.h"
|
||||
|
||||
Vtx D_800E8700[] = {
|
||||
{{{ 8, 8, 0}, 0, {960, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 8, -8, 0}, 0, {960, 960}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -8, -8, 0}, 0, {0, 960}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -8, 8, 0}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8740[] = {
|
||||
{{{ 1, 2, 0}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 2, -2, 0}, 0, {0, 960}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -2, -2, 0}, 0, {960, 960}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -1, 2, 0}, 0, {960, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8780[] = {
|
||||
{{{ 2, 4, 0}, 0, {4032, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 2, 0, 0}, 0, {4032, 4032}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -2, 0, 0}, 0, {0, 4032}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -2, 4, 0}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
};
|
||||
|
||||
Vtx D_800E87C0[] = {
|
||||
{{{ 2, 2, 0}, 0, {1984, 0}, {0x00, 0x00, 0x7F, 0xFF}}},
|
||||
{{{ 2, -2, 0}, 0, {1984, 1984}, {0x00, 0x00, 0x7F, 0xFF}}},
|
||||
{{{ -2, -2, 0}, 0, {0, 1984}, {0x00, 0x00, 0x7F, 0xFF}}},
|
||||
{{{ -2, 2, 0}, 0, {0, 0}, {0x00, 0x00, 0x7F, 0xFF}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8800[] = {
|
||||
{{{ 0, 4, 0}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 0, 0, 0}, 0, {0, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -4, 0, 0}, 0, {4032, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -4, 4, 0}, 0, {4032, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8840[] = {
|
||||
{{{ 4, 4, 0}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 4, 0, 0}, 0, {0, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 0, 0, 0}, 0, {4032, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 0, 4, 0}, 0, {4032, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8880[] = {
|
||||
{{{ 2, 2, 0}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 2, 0, 0}, 0, {0, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -2, 0, 0}, 0, {4032, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -2, 2, 0}, 0, {4032, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
};
|
||||
|
||||
Vtx D_800E88C0[] = {
|
||||
{{{ 2, 0, 0}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 2, -2, 0}, 0, {0, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -2, -2, 0}, 0, {4032, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -2, 0, 0}, 0, {4032, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8900[][4] = {
|
||||
{
|
||||
{{{ 2, 4, 0}, 0, {0, 0}, {0x00, 0xFF, 0xFF, 0x70}}},
|
||||
{{{ 2, 0, 0}, 0, {0, 4032}, {0x00, 0xFF, 0xFF, 0x70}}},
|
||||
{{{ 0, 0, 0}, 0, {1984, 4032}, {0xFF, 0xFF, 0x00, 0x70}}},
|
||||
{{{ 0, 4, 0}, 0, {1984, 0}, {0x00, 0xFF, 0xFF, 0x70}}},
|
||||
},
|
||||
|
||||
{
|
||||
{{{ 0, 4, 0}, 0, {0, 0}, {0x00, 0xFF, 0xFF, 0x70}}},
|
||||
{{{ 0, 0, 0}, 0, {0, 4032}, {0xFF, 0xFF, 0x00, 0x70}}},
|
||||
{{{ -2, 0, 0}, 0, {1984, 4032}, {0x00, 0xFF, 0xFF, 0x70}}},
|
||||
{{{ -2, 4, 0}, 0, {1984, 0}, {0x00, 0xFF, 0xFF, 0x70}}},
|
||||
},
|
||||
|
||||
{
|
||||
{{{ 2, 4, 0}, 0, {1984, 0}, {0x00, 0xFF, 0xFF, 0x70}}},
|
||||
{{{ 2, 0, 0}, 0, {1984, 4032}, {0x00, 0xFF, 0xFF, 0x70}}},
|
||||
{{{ 0, 0, 0}, 0, {0, 4032}, {0xFF, 0xFF, 0x00, 0x70}}},
|
||||
{{{ 0, 4, 0}, 0, {0, 0}, {0x00, 0xFF, 0xFF, 0x70}}},
|
||||
},
|
||||
|
||||
{
|
||||
{{{ 0, 4, 0}, 0, {1984, 0}, {0x00, 0xFF, 0xFF, 0x70}}},
|
||||
{{{ 0, 0, 0}, 0, {1984, 4032}, {0xFF, 0xFF, 0x00, 0x70}}},
|
||||
{{{ -2, 0, 0}, 0, {0, 4032}, {0x00, 0xFF, 0xFF, 0x70}}},
|
||||
{{{ -2, 4, 0}, 0, {0, 0}, {0x00, 0xFF, 0xFF, 0x70}}},
|
||||
},
|
||||
};
|
||||
|
||||
Vtx D_800E8A00[] = {
|
||||
{{{ 2, 4, 0}, 0, {0, 0}, {0xF0, 0x00, 0x00, 0x60}}},
|
||||
{{{ 2, 0, 0}, 0, {0, 4032}, {0xF0, 0x00, 0x00, 0x60}}},
|
||||
{{{ 0, 0, 0}, 0, {1984, 4032}, {0xFF, 0xFF, 0x14, 0x60}}},
|
||||
{{{ 0, 4, 0}, 0, {1984, 0}, {0xF0, 0x00, 0x00, 0x60}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8A40[] = {
|
||||
{{{ 0, 4, 0}, 0, {0, 0}, {0xF0, 0x00, 0x00, 0x60}}},
|
||||
{{{ 0, 0, 0}, 0, {0, 4032}, {0xFF, 0xFF, 0x14, 0x60}}},
|
||||
{{{ -2, 0, 0}, 0, {1984, 4032}, {0xF0, 0x00, 0x00, 0x60}}},
|
||||
{{{ -2, 4, 0}, 0, {1984, 0}, {0xF0, 0x00, 0x00, 0x60}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8A80[] = {
|
||||
{{{ 2, 4, 0}, 0, {1984, 0}, {0xF0, 0x00, 0x00, 0x60}}},
|
||||
{{{ 2, 0, 0}, 0, {1984, 4032}, {0xF0, 0x00, 0x00, 0x60}}},
|
||||
{{{ 0, 0, 0}, 0, {0, 4032}, {0xFF, 0xFF, 0x14, 0x60}}},
|
||||
{{{ 0, 4, 0}, 0, {0, 0}, {0xF0, 0x00, 0x00, 0x60}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8AC0[] = {
|
||||
{{{ 0, 4, 0}, 0, {1984, 0}, {0xF0, 0x00, 0x00, 0x60}}},
|
||||
{{{ 0, 0, 0}, 0, {1984, 4032}, {0xFF, 0xFF, 0x14, 0x60}}},
|
||||
{{{ -2, 0, 0}, 0, {0, 4032}, {0xF0, 0x00, 0x00, 0x60}}},
|
||||
{{{ -2, 4, 0}, 0, {0, 0}, {0xF0, 0x00, 0x00, 0x60}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8B00[] = {
|
||||
{{{ 1, 12, 0}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0xF0}}},
|
||||
{{{ 2, 0, 0}, 0, {0, 4032}, {0xFF, 0xFF, 0xFF, 0xF0}}},
|
||||
{{{ -2, 0, 0}, 0, {1984, 4032}, {0xFF, 0xFF, 0xFF, 0xF0}}},
|
||||
{{{ -1, 12, 0}, 0, {1984, 0}, {0xFF, 0xFF, 0xFF, 0xF0}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8B40[] = {
|
||||
{{{ 2, 1, 0}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 2, -1, 0}, 0, {0, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -2, -1, 0}, 0, {4032, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -2, 1, 0}, 0, {4032, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8B80[] = {
|
||||
{{{ 4, 1, 0}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 4, -1, 0}, 0, {0, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 0, -1, 0}, 0, {4032, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 0, 1, 0}, 0, {4032, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8BC0[] = {
|
||||
{{{ 0, 1, 0}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 0, -1, 0}, 0, {0, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -4, -1, 0}, 0, {4032, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -4, 1, 0}, 0, {4032, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8C00[] = {
|
||||
{{{ 2, 4, 0}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 2, 0, 0}, 0, {0, 4032}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -2, 0, 0}, 0, {1984, 4032}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -2, 4, 0}, 0, {1984, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8C40[] = {
|
||||
{{{ 9, 18, -9}, 0, {0, 990}, {0xFF, 0xFF, 0xFF, 0x37}}},
|
||||
{{{ 9, 0, -9}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0x9B}}},
|
||||
{{{ -9, 0, -9}, 0, {990, 0}, {0xFF, 0xFF, 0xFF, 0x9B}}},
|
||||
{{{ -9, 18, -9}, 0, {990, 990}, {0xFF, 0xFF, 0xFF, 0x37}}},
|
||||
{{{ 9, 18, 9}, 0, {0, 990}, {0xFF, 0xFF, 0xFF, 0x37}}},
|
||||
{{{ 9, 0, 9}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0x9B}}},
|
||||
{{{ -9, 0, 9}, 0, {990, 0}, {0xFF, 0xFF, 0xFF, 0x9B}}},
|
||||
{{{ -9, 18, 9}, 0, {990, 990}, {0xFF, 0xFF, 0xFF, 0x37}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8CC0[] = {
|
||||
{{{ 9, 70, -9}, 0, {0, 990}, {0xFF, 0xFF, 0xFF, 0x37}}},
|
||||
{{{ 9, 0, -9}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0x9B}}},
|
||||
{{{ -9, 0, -9}, 0, {990, 0}, {0xFF, 0xFF, 0xFF, 0x9B}}},
|
||||
{{{ -9, 70, -9}, 0, {990, 990}, {0xFF, 0xFF, 0xFF, 0x37}}},
|
||||
{{{ 9, 70, 9}, 0, {0, 990}, {0xFF, 0xFF, 0xFF, 0x37}}},
|
||||
{{{ 9, 0, 9}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0x9B}}},
|
||||
{{{ -9, 0, 9}, 0, {990, 0}, {0xFF, 0xFF, 0xFF, 0x9B}}},
|
||||
{{{ -9, 70, 9}, 0, {990, 990}, {0xFF, 0xFF, 0xFF, 0x37}}},
|
||||
};
|
||||
|
||||
Gfx D_800E8D40[] = {
|
||||
gsSPClearGeometryMode(G_LIGHTING),
|
||||
gsDPSetAlphaCompare(G_AC_NONE),
|
||||
gsDPSetRenderMode(G_RM_AA_ZB_XLU_SURF, G_RM_AA_ZB_XLU_SURF2),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPVertex(D_800E8C40, 8, 0),
|
||||
gsSP1Triangle(0, 1, 2, 0),
|
||||
gsSP1Triangle(0, 2, 3, 0),
|
||||
gsSP1Triangle(4, 7, 6, 0),
|
||||
gsSP1Triangle(4, 6, 5, 0),
|
||||
gsSP1Triangle(0, 4, 5, 0),
|
||||
gsSP1Triangle(0, 5, 1, 0),
|
||||
gsSP1Triangle(3, 7, 4, 0),
|
||||
gsSP1Triangle(0, 3, 4, 0),
|
||||
gsSP1Triangle(7, 3, 6, 0),
|
||||
gsSP1Triangle(3, 2, 6, 0),
|
||||
gsSP1Triangle(1, 5, 6, 0),
|
||||
gsSP1Triangle(2, 1, 6, 0),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
Gfx D_800E8DD0[] = {
|
||||
gsSPClearGeometryMode(G_LIGHTING),
|
||||
gsDPSetAlphaCompare(G_AC_NONE),
|
||||
gsDPSetRenderMode(G_RM_AA_ZB_XLU_SURF, G_RM_AA_ZB_XLU_SURF2),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPVertex(D_800E8CC0, 8, 0),
|
||||
gsSP1Triangle(0, 1, 2, 0),
|
||||
gsSP1Triangle(0, 2, 3, 0),
|
||||
gsSP1Triangle(4, 7, 6, 0),
|
||||
gsSP1Triangle(4, 6, 5, 0),
|
||||
gsSP1Triangle(0, 4, 5, 0),
|
||||
gsSP1Triangle(0, 5, 1, 0),
|
||||
gsSP1Triangle(3, 7, 4, 0),
|
||||
gsSP1Triangle(0, 3, 4, 0),
|
||||
gsSP1Triangle(7, 3, 6, 0),
|
||||
gsSP1Triangle(3, 2, 6, 0),
|
||||
gsSP1Triangle(1, 5, 6, 0),
|
||||
gsSP1Triangle(2, 1, 6, 0),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
@@ -1,29 +0,0 @@
|
||||
#ifndef DATA_800E8700_H
|
||||
#define DATA_800E8700_H
|
||||
|
||||
#include <ultra64.h>
|
||||
|
||||
extern Vtx D_800E8700[];
|
||||
extern Vtx D_800E8740[];
|
||||
extern Vtx D_800E8780[];
|
||||
extern Vtx D_800E87C0[];
|
||||
extern Vtx D_800E8800[];
|
||||
extern Vtx D_800E8840[];
|
||||
extern Vtx D_800E8880[];
|
||||
extern Vtx D_800E88C0[];
|
||||
extern Vtx D_800E8900[][4];
|
||||
extern Vtx D_800E8A00[];
|
||||
extern Vtx D_800E8A40[];
|
||||
extern Vtx D_800E8A80[];
|
||||
extern Vtx D_800E8AC0[];
|
||||
extern Vtx D_800E8B00[];
|
||||
extern Vtx D_800E8B40[];
|
||||
extern Vtx D_800E8B80[];
|
||||
extern Vtx D_800E8BC0[];
|
||||
extern Vtx D_800E8C00[];
|
||||
extern Vtx D_800E8C40[];
|
||||
extern Vtx D_800E8CC0[];
|
||||
extern Gfx D_800E8D40[];
|
||||
extern Gfx D_800E8DD0[];
|
||||
|
||||
#endif
|
||||
@@ -3,7 +3,7 @@
|
||||
#include <PR/ultratypes.h>
|
||||
#include <PR/gbi.h>
|
||||
#include "data_segment2.h"
|
||||
#include "src/data/startup_logo.h"
|
||||
#include <assets/startup_logo.h>"
|
||||
|
||||
Gfx D_02007650[] = {
|
||||
gsDPPipeSync(),
|
||||
|
||||
@@ -1,393 +0,0 @@
|
||||
#include "data/path_spawn_data.h"
|
||||
#include "courses/all_course_data.h"
|
||||
#include "ending/ceremony_data.h"
|
||||
|
||||
KartAIBehaviour *gKartAIBehaviourLUT[NUM_COURSES+1] = {
|
||||
common_kart_ai_behaviour_mario_raceway,
|
||||
common_kart_ai_behaviour_choco_mountain,
|
||||
common_kart_ai_behaviour_bowser_castle,
|
||||
common_kart_ai_behaviour_banshee_boardwalk,
|
||||
common_kart_ai_behaviour_yoshi_valley,
|
||||
common_kart_ai_behaviour_frappe_snowland,
|
||||
common_kart_ai_behaviour_koopa_beach,
|
||||
common_kart_ai_behaviour_royal_raceway,
|
||||
common_kart_ai_behaviour_luigi_raceway,
|
||||
common_kart_ai_behaviour_moo_moo_farm,
|
||||
common_kart_ai_behaviour_toad_turnpike,
|
||||
common_kart_ai_behaviour_kalamari_desert,
|
||||
common_kart_ai_behaviour_sherbet_land,
|
||||
common_kart_ai_behaviour_rainbow_road,
|
||||
common_kart_ai_behaviour_wario_stadium,
|
||||
common_kart_ai_behaviour_battle_courses, /* COURSE_BLOCK_FORT */
|
||||
common_kart_ai_behaviour_battle_courses, /* COURSE_SKYSCRAPER */
|
||||
common_kart_ai_behaviour_battle_courses, /* COURSE_DOUBLE_DECK */
|
||||
common_kart_ai_behaviour_dk_jungle,
|
||||
common_kart_ai_behaviour_battle_courses, /* COURSE_BIG_DONUT */
|
||||
common_kart_ai_behaviour_battle_courses, /* COURSE_AWARD_CEREMONY */
|
||||
NULL, /* NUM_COURSES */
|
||||
};
|
||||
|
||||
TrackWaypoint nullPath = { 0x8000, 0x0000, 0x0000, 0x0000 };
|
||||
|
||||
TrackWaypoint *gCoursePathTable[][4] = {
|
||||
{ d_course_mario_raceway_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_choco_mountain_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_bowsers_castle_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_banshee_boardwalk_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_yoshi_valley_unknown_waypoints0, d_course_yoshi_valley_unknown_waypoints1, d_course_yoshi_valley_unknown_waypoints2, d_course_yoshi_valley_unknown_waypoints3 },
|
||||
{ d_course_frappe_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_koopa_troopa_beach_unknown_waypoints0, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_royal_raceway_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_luigi_raceway_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_moo_moo_farm_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_toads_turnpike_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_kalimari_desert_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_sherbet_land_uknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_rainbow_road_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_wario_stadium_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ &nullPath, &nullPath, &nullPath, &nullPath },
|
||||
{ &nullPath, &nullPath, &nullPath, &nullPath },
|
||||
{ &nullPath, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_dks_jungle_parkway_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ &nullPath, &nullPath, &nullPath, &nullPath },
|
||||
{ ending_sequence, ending_sequence2, ending_sequence3, ending_sequence4 },
|
||||
};
|
||||
|
||||
TrackWaypoint *D_800DC8D0[][4] = {
|
||||
{ d_course_mario_raceway_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_choco_mountain_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_bowsers_castle_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_banshee_boardwalk_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_yoshi_valley_track_waypoints0, d_course_yoshi_valley_track_waypoints1, d_course_yoshi_valley_track_waypoints2, d_course_yoshi_valley_track_waypoints3 },
|
||||
{ d_course_frappe_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_koopa_troopa_beach_track_waypoints0, d_course_koopa_troopa_beach_track_waypoints1, &nullPath, &nullPath },
|
||||
{ d_course_royal_raceway_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_luigi_raceway_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_moo_moo_farm_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_toads_turnpike_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_kalimari_desert_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_sherbet_land_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_rainbow_road_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_wario_staduim_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ &nullPath, &nullPath, &nullPath, &nullPath },
|
||||
{ &nullPath, &nullPath, &nullPath, &nullPath },
|
||||
{ &nullPath, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_dks_jungle_parkway_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ &nullPath, &nullPath, &nullPath, &nullPath },
|
||||
{ &nullPath, &nullPath, &nullPath, &nullPath },
|
||||
};
|
||||
|
||||
s16 D_800DCA20[] = {
|
||||
0x0030, 0x0035, 0x0035, 0x0035, 0x0035, 0x0035, 0x0035, 0x0035,
|
||||
0x0030, 0x0030, 0x0028, 0x0035, 0x0035, 0x0026, 0x0035, 0x0035,
|
||||
0x0035, 0x0035, 0x0035, 0x0028, 0x0035, 0x0000,
|
||||
};
|
||||
|
||||
f32 gKartAICourseMaximumWaypointSeparation[] = {
|
||||
50.0, 35.0, 35.0, 40.0,
|
||||
35.0, 50.0, 50.0, 50.0,
|
||||
50.0, 50.0, 50.0, 50.0,
|
||||
50.0, 50.0, 50.0, -1.0,
|
||||
-1.0, -1.0, 40.0, -1.0,
|
||||
40.0,
|
||||
};
|
||||
|
||||
f32 gKartAICourseMinimumWaypointSeparation[] = {
|
||||
0.3, 0.3, 0.2, 0.4,
|
||||
0.0, 0.3, 0.5, 0.4,
|
||||
0.7, 0.5, 0.5, 0.3,
|
||||
0.3, 0.4, 0.6, 0.1,
|
||||
0.5, 0.5, 0.1, 0.5,
|
||||
0.5,
|
||||
};
|
||||
|
||||
// I think the types for D_800DCAF4, D_800DCB34, and D_800DCBB4 are all
|
||||
// wrong in some way based on their usage in func_800088D8
|
||||
// But I cannot be bothered to figure it out
|
||||
s16 D_800DCAF4[] = {
|
||||
0x0014, 0x0005, 0x000a, 0x000f, 0x0014, 0x0019, 0x001e, 0x0023,
|
||||
0x001e, 0x0019, 0x0032, 0x004b, 0x0064, 0x007d, 0x0096, 0x00af,
|
||||
0x0028, 0x001e, 0x003c, 0x005a, 0x0078, 0x0096, 0x00b4, 0x00d2,
|
||||
0x0032, 0x0028, 0x0050, 0x0078, 0x00a0, 0x00c8, 0x00f0, 0x0118,
|
||||
};
|
||||
|
||||
s16 D_800DCB34[] = {
|
||||
0x0014, 0x0005, 0x000a, 0x000f, 0x0014, 0x0019, 0x001e, 0x0023,
|
||||
0x001e, 0x0019, 0x002d, 0x0041, 0x005a, 0x0073, 0x008c, 0x00a5,
|
||||
0x0028, 0x0003, 0x0006, 0x0010, 0x002e, 0x0031, 0x003b, 0x0059,
|
||||
0x0032, 0x001e, 0x003c, 0x003f, 0x0049, 0x004e, 0x006c, 0x008a,
|
||||
0x000a, 0x0005, 0x000a, 0x000f, 0x0014, 0x0019, 0x001e, 0x0023,
|
||||
0x000a, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
|
||||
0x000a, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
|
||||
0x000a, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
|
||||
};
|
||||
|
||||
s16 *D_800DCBB4[] = {
|
||||
D_800DCB34, D_800DCAF4, D_800DCAF4, D_800DCAF4,
|
||||
D_800DCAF4, D_800DCAF4, D_800DCAF4, D_800DCAF4,
|
||||
D_800DCAF4, D_800DCAF4, D_800DCAF4, D_800DCAF4,
|
||||
D_800DCAF4, D_800DCAF4, D_800DCAF4, D_800DCAF4,
|
||||
D_800DCAF4, D_800DCAF4, D_800DCAF4, D_800DCAF4,
|
||||
D_800DCAF4,
|
||||
};
|
||||
|
||||
BombKartSpawn D_800DCC08[][NUM_BOMB_KARTS_MAX] = {
|
||||
{
|
||||
// Mario Raceway Bomb Kart spawns
|
||||
{ 0x0028, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0109, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x011d, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x01a4, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Choco Mountain Bomb Kart spawns
|
||||
{ 0x008c, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00a5, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x014a, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0226, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0253, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Bowser Castle Bomb Kart spawns
|
||||
{ 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0096, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00c8, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0104, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x01b3, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Banshee Boardwalk Bomb Kart spawns
|
||||
{ 0x006e, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00be, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00fa, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x01db, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0262, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Yoshi Valley Bomb Kart spawns
|
||||
{ 0x0000, 0x0000, 0.8333333, -1533.0, -682.0, -103.0, 0.0 },
|
||||
{ 0x000a, 0x0000, 0.8333333, -1565.0, -619.0, -109.0, 0.0 },
|
||||
{ 0x0014, 0x0000, 0.8333333, -1529.0, -579.0, -109.0, 0.0 },
|
||||
{ 0x001e, 0x0000, 0.8333333, -1588.0, -534.0, -106.0, 0.0 },
|
||||
{ 0x0028, 0x0000, 0.8333333, -1598.0, -207.0, -105.0, 0.0 },
|
||||
{ 0x0032, 0x0000, 0.8333333, -1646.0, -147.0, -93.0, 0.0 },
|
||||
{ 0x003c, 0x0000, 0.8333333, -2532.0, -445.0, -90.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Frappe Snowland Bomb Kart spawns
|
||||
{ 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0096, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0122, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x015e, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Koopa Troopa Beach Bomb Kart spawns
|
||||
{ 0x003c, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0078, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00c8, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0118, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x01b3, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Royal Raceway Bomb Kart spawns
|
||||
{ 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0128, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0190, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x02ea, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Luigi Raceway Bomb Kart spawns
|
||||
{ 0x0032, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00c8, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0131, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x01b8, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0203, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Moo Moo Farm Bomb Kart spawns
|
||||
{ 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x008c, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00e1, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x013c, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x01b2, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Toads Turnpike Bomb Kart spawns
|
||||
{ 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0096, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00c8, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00fa, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Kalamari Desert Bomb Kart spawns
|
||||
{ 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x008a, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0118, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0194, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x01fe, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Sherbet Land Bomb Kart spawns
|
||||
{ 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0096, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00c8, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00fa, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Rainbow Road Bomb Kart spawns
|
||||
{ 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0096, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00c8, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00fa, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Wario Stadium Bomb Kart spawns
|
||||
{ 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0096, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00c8, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00fa, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Block Fort Bomb Kart spawns
|
||||
{ 0x0014, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0028, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x003c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0050, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0078, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x008c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Skyscraper Bomb Kart spawns
|
||||
{ 0x0014, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0028, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x003c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0050, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0078, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x008c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Double Deck Bomb Kart spawns
|
||||
{ 0x0014, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0028, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x003c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0050, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0078, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x008c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// DK Jungle Bomb Kart spawns
|
||||
{ 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0096, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00be, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00fa, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Big Donut Bomb Kart spawns
|
||||
{ 0x0014, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0028, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x003c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0050, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0078, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x008c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Award Ceremony Bomb Kart spawns
|
||||
{ 0x0003, 0x0005, 1.250000, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0028, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x003c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0050, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0078, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x008c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
};
|
||||
|
||||
struct _struct_D_800DD9D0_0x10 D_800DD9D0[] = {
|
||||
{ 0x0258, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x02bc, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x030c, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x02ee, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x02b2, 0x02a8, 0x02b2, 0x0320, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x02ee, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x02bc, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x03e8, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x02da, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x0230, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x03e8, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x02bc, 0x0001, 0x0001, 0x0001, 0x0226, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x02bc, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x076c, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x0640, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x0370, 0x0001, 0x0001, 0x0001, 0x01f4, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x01f4, 0x01f4, 0x01f4, 0x01f4, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
};
|
||||
|
||||
s32 D_800DDB20 = 0x00000000;
|
||||
|
||||
s32 D_800DDB24 = 0x00000001;
|
||||
@@ -1,33 +0,0 @@
|
||||
#ifndef PATH_SPAWN_DATA_H
|
||||
#define PATH_SPAWN_DATA_H
|
||||
|
||||
#include "waypoints.h"
|
||||
#include "common_structs.h"
|
||||
#include "common_textures.h"
|
||||
#include "include/bomb_kart.h"
|
||||
|
||||
struct _struct_D_800DD9D0_0x10 {
|
||||
/* 0x00 */ u16 unk0;
|
||||
/* 0x02 */ u16 unk2;
|
||||
/* 0x04 */ u16 unk4;
|
||||
/* 0x06 */ u16 unk6;
|
||||
/* 0x08 */ u16 unk8;
|
||||
/* 0x0A */ char padA[6];
|
||||
}; // size 0x10
|
||||
|
||||
extern KartAIBehaviour *gKartAIBehaviourLUT[NUM_COURSES+1];
|
||||
extern TrackWaypoint nullPath;
|
||||
extern TrackWaypoint *gCoursePathTable[][4];
|
||||
extern TrackWaypoint *D_800DC8D0[][4];
|
||||
extern s16 D_800DCA20[];
|
||||
extern f32 gKartAICourseMaximumWaypointSeparation[];
|
||||
extern f32 gKartAICourseMinimumWaypointSeparation[];
|
||||
extern s16 D_800DCAF4[];
|
||||
extern s16 D_800DCB34[];
|
||||
extern s16 *D_800DCBB4[];
|
||||
extern BombKartSpawn D_800DCC08[][NUM_BOMB_KARTS_MAX];
|
||||
extern struct _struct_D_800DD9D0_0x10 D_800DD9D0[];
|
||||
extern s32 D_800DDB20;
|
||||
extern s32 D_800DDB24;
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,73 @@
|
||||
#include "data/path_spawn_metadata.h"
|
||||
#include "courses/all_course_data.h"
|
||||
#include <assets/ceremony_data.h>
|
||||
|
||||
// @warning Array contains an extra zero element at the end.
|
||||
KartAIBehaviour *gKartAIBehaviourLUT[] = {
|
||||
#include "assets/course_metadata/gKartAIBehaviourLUT.inc.c"
|
||||
|
||||
};
|
||||
|
||||
TrackWaypoint nullPath = { 0x8000, 0x0000, 0x0000, 0x0000 };
|
||||
|
||||
TrackWaypoint *gCoursePathTable[][4] = {
|
||||
#include "assets/course_metadata/gCoursePathTableUnknown.inc.c"
|
||||
};
|
||||
|
||||
TrackWaypoint *gCoursePathTable2[][4] = {
|
||||
#include "assets/course_metadata/gCoursePathTable.inc.c"
|
||||
};
|
||||
|
||||
// @warning Array contains an extra zero element at the end.
|
||||
s16 gKartAISteeringSensitivity[] = {
|
||||
#include "assets/course_metadata/gCPUSteeringSensitivity.inc.c"
|
||||
};
|
||||
|
||||
// Possibly maximum cpu separation
|
||||
f32 gKartAICourseMaximumSeparation[] = {
|
||||
#include "assets/course_metadata/gKartAICourseMaximumSeparation.inc.c"
|
||||
};
|
||||
|
||||
// Possibly minimum cpu separation
|
||||
f32 gKartAICourseMinimumSeparation[] = {
|
||||
#include "assets/course_metadata/gKartAICourseMinimumSeparation.inc.c"
|
||||
};
|
||||
|
||||
// I think the types for D_800DCAF4, D_800DCB34, and D_800DCBB4 are all
|
||||
// wrong in some way based on their usage in func_800088D8
|
||||
// But I cannot be bothered to figure it out
|
||||
// Used as a ptr in D_800DCBB4
|
||||
s16 D_800DCAF4[] = {
|
||||
0x0014, 0x0005, 0x000a, 0x000f, 0x0014, 0x0019, 0x001e, 0x0023,
|
||||
0x001e, 0x0019, 0x0032, 0x004b, 0x0064, 0x007d, 0x0096, 0x00af,
|
||||
0x0028, 0x001e, 0x003c, 0x005a, 0x0078, 0x0096, 0x00b4, 0x00d2,
|
||||
0x0032, 0x0028, 0x0050, 0x0078, 0x00a0, 0x00c8, 0x00f0, 0x0118,
|
||||
};
|
||||
|
||||
// Used as a ptr in D_800DCBB4
|
||||
s16 D_800DCB34[] = {
|
||||
0x0014, 0x0005, 0x000a, 0x000f, 0x0014, 0x0019, 0x001e, 0x0023,
|
||||
0x001e, 0x0019, 0x002d, 0x0041, 0x005a, 0x0073, 0x008c, 0x00a5,
|
||||
0x0028, 0x0003, 0x0006, 0x0010, 0x002e, 0x0031, 0x003b, 0x0059,
|
||||
0x0032, 0x001e, 0x003c, 0x003f, 0x0049, 0x004e, 0x006c, 0x008a,
|
||||
0x000a, 0x0005, 0x000a, 0x000f, 0x0014, 0x0019, 0x001e, 0x0023,
|
||||
0x000a, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
|
||||
0x000a, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
|
||||
0x000a, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
|
||||
};
|
||||
|
||||
s16 *D_800DCBB4[] = {
|
||||
#include "assets/course_metadata/D_800DCBB4.inc.c"
|
||||
};
|
||||
|
||||
BombKartSpawn gBombKartSpawns[][NUM_BOMB_KARTS_MAX] = {
|
||||
#include "assets/course_metadata/gBombKartSpawns.inc.c"
|
||||
};
|
||||
|
||||
struct _struct_gCoursePathSizes_0x10 gCoursePathSizes[] = {
|
||||
#include "assets/course_metadata/gCoursePathSizes.inc.c"
|
||||
};
|
||||
|
||||
s32 D_800DDB20 = 0x00000000;
|
||||
|
||||
s32 D_800DDB24 = 0x00000001;
|
||||
@@ -0,0 +1,33 @@
|
||||
#ifndef PATH_SPAWN_METADATA_H
|
||||
#define PATH_SPAWN_METADATA_H
|
||||
|
||||
#include "waypoints.h"
|
||||
#include "common_structs.h"
|
||||
#include <assets/common_data.h>
|
||||
#include "include/bomb_kart.h"
|
||||
|
||||
struct _struct_gCoursePathSizes_0x10 {
|
||||
/* 0x00 */ u16 unk0;
|
||||
/* 0x02 */ u16 unk2;
|
||||
/* 0x04 */ u16 unk4;
|
||||
/* 0x06 */ u16 unk6;
|
||||
/* 0x08 */ u16 unk8;
|
||||
/* 0x0A */ char padA[6];
|
||||
}; // size 0x10
|
||||
|
||||
extern KartAIBehaviour *gKartAIBehaviourLUT[];
|
||||
extern TrackWaypoint nullPath;
|
||||
extern TrackWaypoint *gCoursePathTable[][4];
|
||||
extern TrackWaypoint *gCoursePathTable2[][4];
|
||||
extern s16 gKartAISteeringSensitivity[];
|
||||
extern f32 gKartAICourseMaximumSeparation[];
|
||||
extern f32 gKartAICourseMinimumSeparation[];
|
||||
extern s16 D_800DCAF4[];
|
||||
extern s16 D_800DCB34[];
|
||||
extern s16 *D_800DCBB4[];
|
||||
extern BombKartSpawn gBombKartSpawns[][NUM_BOMB_KARTS_MAX];
|
||||
extern struct _struct_gCoursePathSizes_0x10 gCoursePathSizes[];
|
||||
extern s32 D_800DDB20;
|
||||
extern s32 D_800DDB24;
|
||||
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,33 +0,0 @@
|
||||
#ifndef STARTUP_LOGO_H
|
||||
#define STARTUP_LOGO_H
|
||||
|
||||
extern Vtx startup_logo[];
|
||||
extern Gfx startup_logo_dl[];
|
||||
extern Gfx startup_logo_dl2[];
|
||||
extern Gfx startup_logo_dl3[];
|
||||
extern Gfx startup_logo_dl4[];
|
||||
extern Gfx startup_logo_dl5[];
|
||||
extern Gfx startup_logo_dl6[];
|
||||
extern Gfx startup_logo_dl7[];
|
||||
extern Gfx startup_logo_dl8[];
|
||||
extern Vtx startup_logo2[];
|
||||
extern Gfx startup_logo_dl9[];
|
||||
extern Gfx startup_logo_dl10[];
|
||||
extern Gfx startup_logo_dl11[];
|
||||
extern Gfx startup_logo_dl12[];
|
||||
extern Gfx startup_logo_dl13[];
|
||||
extern Gfx startup_logo_dl14[];
|
||||
extern Gfx startup_logo_dl15[];
|
||||
extern Gfx startup_logo_dl16[];
|
||||
extern Gfx startup_logo_dl17[];
|
||||
extern Gfx startup_logo_dl18[];
|
||||
extern Gfx startup_logo_dl19[];
|
||||
extern Gfx startup_logo_dl20[];
|
||||
extern u8 reflection_map_gold[2048];
|
||||
extern Gfx startup_texture_dl1[];
|
||||
extern Lights1 lights;
|
||||
extern Gfx startup_texture_dl2[];
|
||||
extern Gfx startup_texture_dl3[];
|
||||
extern Gfx startup_texture_dl4[];
|
||||
|
||||
#endif
|
||||
@@ -30,7 +30,7 @@
|
||||
#include <code_80281780.h>
|
||||
#include <code_80281C40.h>
|
||||
#include <collision.h>
|
||||
#include <common_textures.h>
|
||||
#include <assets/common_data.h>
|
||||
#include <credits.h>
|
||||
#include <data_segment2.h>
|
||||
#include <buffers.h>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,56 +0,0 @@
|
||||
#ifndef CEREMONY_DATA_H
|
||||
#define CEREMONY_DATA_H
|
||||
|
||||
#include <types.h>
|
||||
#include "waypoints.h"
|
||||
|
||||
extern Vtx silver_trophy_model[];
|
||||
extern Gfx silver_trophy_dl[];
|
||||
extern Gfx silver_trophy_dl2[];
|
||||
extern Gfx silver_trophy_dl3[];
|
||||
extern Gfx silver_trophy_dl4[];
|
||||
extern Gfx silver_trophy_dl5[];
|
||||
extern Gfx silver_trophy_dl6[];
|
||||
extern Vtx gold_trophy_model[];
|
||||
extern u8 reflection_map_brass[];
|
||||
extern u8 reflection_map_silver[];
|
||||
extern u8 reflection_map_gold[];
|
||||
extern Gfx gold_trophy_dl[];
|
||||
extern Gfx gold_trophy_dl2[];
|
||||
extern Gfx gold_trophy_dl3[];
|
||||
extern Gfx gold_trophy_dl4[];
|
||||
extern Gfx gold_trophy_dl5[];
|
||||
extern Gfx gold_trophy_dl6[];
|
||||
extern Gfx gold_trophy_dl7[];
|
||||
extern Gfx gold_trophy_dl8[];
|
||||
extern Gfx gold_trophy_dl9[];
|
||||
extern Gfx gold_trophy_dl10[];
|
||||
extern Gfx gold_trophy_dl11[];
|
||||
extern Gfx gold_trophy_dl12[];
|
||||
extern Gfx gold_trophy_dl13[];
|
||||
extern Gfx gold_trophy_dl14[];
|
||||
extern Gfx gold_trophy_dl15[];
|
||||
extern Lights1 light1;
|
||||
extern u8 texture_podium1[];
|
||||
extern Vtx tall_podium_model[];
|
||||
extern Gfx podium_dl[];
|
||||
extern Gfx podium_dl2[];
|
||||
extern Gfx podium_dl3[];
|
||||
extern Vtx short_podium_model[];
|
||||
extern Lights1 light2;
|
||||
extern u8 texture_podium2[];
|
||||
extern Gfx podium2_dl[];
|
||||
extern Gfx podium2_dl2[];
|
||||
extern Gfx podium2_dl3[];
|
||||
extern Lights1 light3;
|
||||
extern u8 texture_podium3[];
|
||||
extern Vtx short_podium_model2[];
|
||||
extern Gfx podium3_dl[];
|
||||
extern Gfx podium3_dl2[];
|
||||
extern Gfx podium3_dl3[];
|
||||
extern TrackWaypoint ending_sequence[];
|
||||
extern TrackWaypoint ending_sequence2[];
|
||||
extern TrackWaypoint ending_sequence3[];
|
||||
extern TrackWaypoint ending_sequence4[];
|
||||
|
||||
#endif
|
||||
@@ -7,7 +7,7 @@
|
||||
#include <common_structs.h>
|
||||
#include "main.h"
|
||||
#include "memory.h"
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
#include "render_player.h"
|
||||
#include "render_objects.h"
|
||||
#include "podium_ceremony_actors.h"
|
||||
|
||||
+2
-2
@@ -1047,7 +1047,7 @@ void splash_menu_act(struct Controller *controller, u16 arg1) {
|
||||
{
|
||||
if (btnAndStick & R_JPAD) {
|
||||
play_sound2(SOUND_MENU_CURSOR_MOVE);
|
||||
if (gCurrentCourseId < 0x13) {
|
||||
if (gCurrentCourseId < (NUM_COURSES - 2)) {
|
||||
gCurrentCourseId += 1;
|
||||
} else {
|
||||
gCurrentCourseId = 0;
|
||||
@@ -1058,7 +1058,7 @@ void splash_menu_act(struct Controller *controller, u16 arg1) {
|
||||
if (gCurrentCourseId > 0) {
|
||||
gCurrentCourseId -= 1;
|
||||
} else {
|
||||
gCurrentCourseId = 0x13;
|
||||
gCurrentCourseId = (NUM_COURSES - 2);
|
||||
}
|
||||
}
|
||||
if (btnAndStick & U_JPAD) {
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@
|
||||
#include "effects.h"
|
||||
#include "collision.h"
|
||||
#include "audio/external.h"
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
#include "courses/all_course_data.h"
|
||||
#include "main.h"
|
||||
#include "data/other_textures.h"
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
// Here to appease the pragma gods
|
||||
double fabs(double x);
|
||||
|
||||
void func_802B5794(Mat4, Vec3f, Vec3f);
|
||||
s32 func_802B4F60(s32, Vec3f, s32, f32, f32);
|
||||
s32 render_set_position(Mat4, s32);
|
||||
f32 func_802B51E8(Vec3f, Vec3f);
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#include <common_structs.h>
|
||||
#include "memory.h"
|
||||
#include "camera.h"
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
#include "render_player.h"
|
||||
#include "code_80057C60.h"
|
||||
#include "code_80091750.h"
|
||||
@@ -318,52 +318,37 @@ s32 D_802B8A90[] = {
|
||||
0xba001402, 0x00000000, 0xb8000000, 0x00000000,
|
||||
};
|
||||
|
||||
struct Skybox sSkyColors[21] = {
|
||||
{128, 4280, 6136, 216, 7144, 32248},
|
||||
{255, 255, 255, 255, 255, 255},
|
||||
{48, 1544, 49528, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
{113, 70, 255, 255, 184, 99},
|
||||
{28, 11, 90, 0, 99, 164},
|
||||
{48, 1688, 54136, 216, 7144, 32248},
|
||||
{238, 144, 255, 255, 224, 240},
|
||||
{128, 4280, 6136, 216, 7144, 32248},
|
||||
{0, 18, 255, 197, 211, 255},
|
||||
{0, 2, 94, 209, 65, 23},
|
||||
{195, 231, 255, 255, 0xc0, 0},
|
||||
{128, 4280, 6136, 216, 7144, 32248},
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
{20, 30, 56, 40, 60, 110},
|
||||
{128, 4280, 6136, 216, 7144, 32248},
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
{113, 70, 255, 255, 184, 99},
|
||||
{255, 174, 0, 255, 229, 124},
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
{238, 144, 255, 255, 224, 240},
|
||||
struct Skybox sSkyColors[] = {
|
||||
#include "assets/course_metadata/sSkyColors.inc.c"
|
||||
|
||||
};
|
||||
|
||||
struct Skybox D_802B8BCC[21] = {
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
{255, 255, 255, 255, 255, 255},
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
{95, 40, 15, 0, 0, 0},
|
||||
{0, 99, 164, 0, 0, 0},
|
||||
{48, 1688, 54136, 0, 0, 0},
|
||||
{255, 224, 240, 0, 0, 0},
|
||||
{216, 7144, 32248, 0, 0, 0},
|
||||
{255, 184, 99, 0, 0, 0},
|
||||
{209, 65, 23, 0, 0, 0},
|
||||
{255, 192, 0, 0, 0, 0},
|
||||
{216, 7144, 32248, 128, 4280, 6136},
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
{216, 7144, 32248, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
{255, 224, 240, 0, 0, 0},
|
||||
{22, 145, 22, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
{255, 224, 240, 0, 0, 0},
|
||||
// struct Skybox sSkyColors[] = {
|
||||
// {128, 4280, 6136, 216, 7144, 32248},
|
||||
// {255, 255, 255, 255, 255, 255},
|
||||
// {48, 1544, 49528, 0, 0, 0},
|
||||
// {0, 0, 0, 0, 0, 0},
|
||||
// {113, 70, 255, 255, 184, 99},
|
||||
// {28, 11, 90, 0, 99, 164},
|
||||
// {48, 1688, 54136, 216, 7144, 32248},
|
||||
// {238, 144, 255, 255, 224, 240},
|
||||
// {128, 4280, 6136, 216, 7144, 32248},
|
||||
// {0, 18, 255, 197, 211, 255},
|
||||
// {0, 2, 94, 209, 65, 23},
|
||||
// {195, 231, 255, 255, 0xc0, 0},
|
||||
// {128, 4280, 6136, 216, 7144, 32248},
|
||||
// {0, 0, 0, 0, 0, 0},
|
||||
// {20, 30, 56, 40, 60, 110},
|
||||
// {128, 4280, 6136, 216, 7144, 32248},
|
||||
// {0, 0, 0, 0, 0, 0},
|
||||
// {113, 70, 255, 255, 184, 99},
|
||||
// {255, 174, 0, 255, 229, 124},
|
||||
// {0, 0, 0, 0, 0, 0},
|
||||
// {238, 144, 255, 255, 224, 240},
|
||||
// };
|
||||
|
||||
struct Skybox sSkyColors2[] = {
|
||||
#include "assets/course_metadata/sSkyColors2.inc.c"
|
||||
};
|
||||
|
||||
void func_802A450C(Vtx *skybox) {
|
||||
@@ -415,18 +400,18 @@ void func_802A450C(Vtx *skybox) {
|
||||
skybox[3].v.cn[0] = sSkyColors[gCurrentCourseId].unk0;
|
||||
skybox[3].v.cn[1] = sSkyColors[gCurrentCourseId].unk2;
|
||||
skybox[3].v.cn[2] = sSkyColors[gCurrentCourseId].unk4;
|
||||
skybox[4].v.cn[0] = D_802B8BCC[gCurrentCourseId].unk0;
|
||||
skybox[4].v.cn[1] = D_802B8BCC[gCurrentCourseId].unk2;
|
||||
skybox[4].v.cn[2] = D_802B8BCC[gCurrentCourseId].unk4;
|
||||
skybox[5].v.cn[0] = D_802B8BCC[gCurrentCourseId].unk6;
|
||||
skybox[5].v.cn[1] = D_802B8BCC[gCurrentCourseId].unk8;
|
||||
skybox[5].v.cn[2] = D_802B8BCC[gCurrentCourseId].unkA;
|
||||
skybox[6].v.cn[0] = D_802B8BCC[gCurrentCourseId].unk6;
|
||||
skybox[6].v.cn[1] = D_802B8BCC[gCurrentCourseId].unk8;
|
||||
skybox[6].v.cn[2] = D_802B8BCC[gCurrentCourseId].unkA;
|
||||
skybox[7].v.cn[0] = D_802B8BCC[gCurrentCourseId].unk0;
|
||||
skybox[7].v.cn[1] = D_802B8BCC[gCurrentCourseId].unk2;
|
||||
skybox[7].v.cn[2] = D_802B8BCC[gCurrentCourseId].unk4;
|
||||
skybox[4].v.cn[0] = sSkyColors2[gCurrentCourseId].unk0;
|
||||
skybox[4].v.cn[1] = sSkyColors2[gCurrentCourseId].unk2;
|
||||
skybox[4].v.cn[2] = sSkyColors2[gCurrentCourseId].unk4;
|
||||
skybox[5].v.cn[0] = sSkyColors2[gCurrentCourseId].unk6;
|
||||
skybox[5].v.cn[1] = sSkyColors2[gCurrentCourseId].unk8;
|
||||
skybox[5].v.cn[2] = sSkyColors2[gCurrentCourseId].unkA;
|
||||
skybox[6].v.cn[0] = sSkyColors2[gCurrentCourseId].unk6;
|
||||
skybox[6].v.cn[1] = sSkyColors2[gCurrentCourseId].unk8;
|
||||
skybox[6].v.cn[2] = sSkyColors2[gCurrentCourseId].unkA;
|
||||
skybox[7].v.cn[0] = sSkyColors2[gCurrentCourseId].unk0;
|
||||
skybox[7].v.cn[1] = sSkyColors2[gCurrentCourseId].unk2;
|
||||
skybox[7].v.cn[2] = sSkyColors2[gCurrentCourseId].unk4;
|
||||
}
|
||||
|
||||
void func_802A487C(Vtx *arg0, UNUSED struct UnkStruct_800DC5EC *arg1, UNUSED s32 arg2, UNUSED s32 arg3, UNUSED f32 *arg4) {
|
||||
@@ -831,7 +816,11 @@ void render_player_one_2p_screen_vertical(void) {
|
||||
UNUSED s32 pad[2];
|
||||
u16 perspNorm;
|
||||
Mat4 matrix;
|
||||
#ifdef VERSION_EU
|
||||
f32 sp9C;
|
||||
#else
|
||||
UNUSED f32 sp9C;
|
||||
#endif
|
||||
|
||||
func_802A50EC();
|
||||
#ifdef VERSION_EU
|
||||
@@ -888,7 +877,11 @@ void render_player_two_2p_screen_vertical(void) {
|
||||
UNUSED s32 pad[2];
|
||||
u16 perspNorm;
|
||||
Mat4 matrix;
|
||||
#ifdef VERSION_EU
|
||||
f32 sp9C;
|
||||
#else
|
||||
UNUSED f32 sp9C;
|
||||
#endif
|
||||
|
||||
func_802A5004();
|
||||
init_rdp();
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
#include "objects.h"
|
||||
#include "waypoints.h"
|
||||
#include "bomb_kart.h"
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
#include "render_player.h"
|
||||
#include "code_80004740.h"
|
||||
#include "code_80005FD0.h"
|
||||
@@ -30,7 +30,7 @@
|
||||
#include "menus.h"
|
||||
#include "code_80086E70.h"
|
||||
#include "code_800029B0.h"
|
||||
#include "src/data/data_800E45C0.h"
|
||||
#include <assets/data_800E45C0.h>
|
||||
#include "courses/all_course_data.h"
|
||||
#include <vehicles.h>
|
||||
#include "data/some_data.h"
|
||||
|
||||
+60
-37
@@ -17,7 +17,7 @@
|
||||
#include "waypoints.h"
|
||||
#include "player_controller.h"
|
||||
#include "render_objects.h"
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
#include "skybox_and_splitscreen.h"
|
||||
#include "spawn_players.h"
|
||||
|
||||
@@ -705,44 +705,67 @@ void mtxf_scale2(Mat4 arg0, f32 scale) {
|
||||
arg0[2][2] *= scale;
|
||||
}
|
||||
|
||||
UNUSED void func_80021FF8(Mtx *arg0, Mat4 arg1) {
|
||||
f32 someMultiplier = 65536.0f;
|
||||
arg0->m[0][0] = arg1[0][0] * someMultiplier;
|
||||
arg0->m[0][1] = arg1[0][1] * someMultiplier;
|
||||
arg0->m[0][2] = arg1[0][2] * someMultiplier;
|
||||
arg0->m[0][3] = arg1[0][3] * someMultiplier;
|
||||
arg0->m[1][0] = arg1[1][0] * someMultiplier;
|
||||
arg0->m[1][1] = arg1[1][1] * someMultiplier;
|
||||
arg0->m[1][2] = arg1[1][2] * someMultiplier;
|
||||
arg0->m[1][3] = arg1[1][3] * someMultiplier;
|
||||
arg0->m[2][0] = arg1[2][0] * someMultiplier;
|
||||
arg0->m[2][1] = arg1[2][1] * someMultiplier;
|
||||
arg0->m[2][2] = arg1[2][2] * someMultiplier;
|
||||
arg0->m[2][3] = arg1[2][3] * someMultiplier;
|
||||
arg0->m[3][0] = arg1[3][0] * someMultiplier;
|
||||
arg0->m[3][1] = arg1[3][1] * someMultiplier;
|
||||
arg0->m[3][2] = arg1[3][2] * someMultiplier;
|
||||
arg0->m[3][3] = arg1[3][3] * someMultiplier;
|
||||
/**
|
||||
* This function writes a fixed-point value to each Mtx entry. This is not how the Mtx struct works.
|
||||
* The first half of Mtx only holds s16 whole numbers and the second half holds the s16 decimal (fractional) parts.
|
||||
* See convert_to_fixed_point_matrix() for correct calculations. Note that each Mtx entry is the size of s32.
|
||||
* This means each Mtx entry holds two s16 values.
|
||||
* The first sixteen entries contain only the integer parts and the second sixteen entries hold only the decimal (fractional) parts.
|
||||
*/
|
||||
UNUSED void failed_fixed_point_matrix_conversion(Mtx *dest, Mat4 src) {
|
||||
f32 toFixed = 65536.0f;
|
||||
dest->m[0][0] = src[0][0] * toFixed;
|
||||
dest->m[0][1] = src[0][1] * toFixed;
|
||||
dest->m[0][2] = src[0][2] * toFixed;
|
||||
dest->m[0][3] = src[0][3] * toFixed;
|
||||
dest->m[1][0] = src[1][0] * toFixed;
|
||||
dest->m[1][1] = src[1][1] * toFixed;
|
||||
dest->m[1][2] = src[1][2] * toFixed;
|
||||
dest->m[1][3] = src[1][3] * toFixed;
|
||||
dest->m[2][0] = src[2][0] * toFixed;
|
||||
dest->m[2][1] = src[2][1] * toFixed;
|
||||
dest->m[2][2] = src[2][2] * toFixed;
|
||||
dest->m[2][3] = src[2][3] * toFixed;
|
||||
dest->m[3][0] = src[3][0] * toFixed;
|
||||
dest->m[3][1] = src[3][1] * toFixed;
|
||||
dest->m[3][2] = src[3][2] * toFixed;
|
||||
dest->m[3][3] = src[3][3] * toFixed;
|
||||
}
|
||||
|
||||
void convert_to_fixed_point_matrix(Mtx *fixedPointMatrix, Mat4 arg1) {
|
||||
f32 someMultiplier = 65536.0f;
|
||||
fixedPointMatrix->m[0][0] = ((s32) (arg1[0][0] * someMultiplier) & 0xFFFF0000) | (((s32) (arg1[0][1] * someMultiplier) >> 0x10) & 0xFFFF);
|
||||
fixedPointMatrix->m[0][1] = ((s32) (arg1[0][2] * someMultiplier) & 0xFFFF0000) | (((s32) (arg1[0][3] * someMultiplier) >> 0x10) & 0xFFFF);
|
||||
fixedPointMatrix->m[0][2] = ((s32) (arg1[1][0] * someMultiplier) & 0xFFFF0000) | (((s32) (arg1[1][1] * someMultiplier) >> 0x10) & 0xFFFF);
|
||||
fixedPointMatrix->m[0][3] = ((s32) (arg1[1][2] * someMultiplier) & 0xFFFF0000) | (((s32) (arg1[1][3] * someMultiplier) >> 0x10) & 0xFFFF);
|
||||
fixedPointMatrix->m[1][0] = ((s32) (arg1[2][0] * someMultiplier) & 0xFFFF0000) | (((s32) (arg1[2][1] * someMultiplier) >> 0x10) & 0xFFFF);
|
||||
fixedPointMatrix->m[1][1] = ((s32) (arg1[2][2] * someMultiplier) & 0xFFFF0000) | (((s32) (arg1[2][3] * someMultiplier) >> 0x10) & 0xFFFF);
|
||||
fixedPointMatrix->m[1][2] = ((s32) (arg1[3][0] * someMultiplier) & 0xFFFF0000) | (((s32) (arg1[3][1] * someMultiplier) >> 0x10) & 0xFFFF);
|
||||
fixedPointMatrix->m[1][3] = ((s32) (arg1[3][2] * someMultiplier) & 0xFFFF0000) | (((s32) (arg1[3][3] * someMultiplier) >> 0x10) & 0xFFFF);
|
||||
fixedPointMatrix->m[2][0] = ((s32) (arg1[0][0] * someMultiplier) << 0x10) | ((s32) (arg1[0][1] * someMultiplier) & 0xFFFF);
|
||||
fixedPointMatrix->m[2][1] = ((s32) (arg1[0][2] * someMultiplier) << 0x10) | ((s32) (arg1[0][3] * someMultiplier) & 0xFFFF);
|
||||
fixedPointMatrix->m[2][2] = ((s32) (arg1[1][0] * someMultiplier) << 0x10) | ((s32) (arg1[1][1] * someMultiplier) & 0xFFFF);
|
||||
fixedPointMatrix->m[2][3] = ((s32) (arg1[1][2] * someMultiplier) << 0x10) | ((s32) (arg1[1][3] * someMultiplier) & 0xFFFF);
|
||||
fixedPointMatrix->m[3][0] = ((s32) (arg1[2][0] * someMultiplier) << 0x10) | ((s32) (arg1[2][1] * someMultiplier) & 0xFFFF);
|
||||
fixedPointMatrix->m[3][1] = ((s32) (arg1[2][2] * someMultiplier) << 0x10) | ((s32) (arg1[2][3] * someMultiplier) & 0xFFFF);
|
||||
fixedPointMatrix->m[3][2] = ((s32) (arg1[3][0] * someMultiplier) << 0x10) | ((s32) (arg1[3][1] * someMultiplier) & 0xFFFF);
|
||||
fixedPointMatrix->m[3][3] = ((s32) (arg1[3][2] * someMultiplier) << 0x10) | ((s32) (arg1[3][3] * someMultiplier) & 0xFFFF);
|
||||
/**
|
||||
* Takes a floating-point matrix and converts it to an s15.16 internal matrix.
|
||||
* Each Mtx entry is a size of s32 that holds two values.
|
||||
* The first 16 entries hold only the integer values and the second 16 entries hold only the decimal (fractional) parts.
|
||||
* In simpler words, the integer and decimal gets split up and stored in their own section.
|
||||
* Mtx is setup this way due to hardware restrictions of the n64 or as an optimization.
|
||||
*
|
||||
* @param Mtx A new internal fixed-point matrix.
|
||||
* @param Mat4 An array of f32
|
||||
* Mat4 to Mtx explanation: https://blarg.ca/2020/10/11/fixed-point-math.
|
||||
*/
|
||||
void convert_to_fixed_point_matrix(Mtx *dest, Mat4 src) {
|
||||
#ifdef AVOID_UB
|
||||
// Use os function guMtxF2L instead. This helps little-endian systems.
|
||||
guMtxF2L(src, dest);
|
||||
#else
|
||||
f32 toFixed = 65536.0f; // 2 ^ 16
|
||||
dest->m[0][0] = ((s32) (src[0][0] * toFixed) & 0xFFFF0000) | (((s32) (src[0][1] * toFixed) >> 0x10) & 0xFFFF);
|
||||
dest->m[0][1] = ((s32) (src[0][2] * toFixed) & 0xFFFF0000) | (((s32) (src[0][3] * toFixed) >> 0x10) & 0xFFFF);
|
||||
dest->m[0][2] = ((s32) (src[1][0] * toFixed) & 0xFFFF0000) | (((s32) (src[1][1] * toFixed) >> 0x10) & 0xFFFF);
|
||||
dest->m[0][3] = ((s32) (src[1][2] * toFixed) & 0xFFFF0000) | (((s32) (src[1][3] * toFixed) >> 0x10) & 0xFFFF);
|
||||
dest->m[1][0] = ((s32) (src[2][0] * toFixed) & 0xFFFF0000) | (((s32) (src[2][1] * toFixed) >> 0x10) & 0xFFFF);
|
||||
dest->m[1][1] = ((s32) (src[2][2] * toFixed) & 0xFFFF0000) | (((s32) (src[2][3] * toFixed) >> 0x10) & 0xFFFF);
|
||||
dest->m[1][2] = ((s32) (src[3][0] * toFixed) & 0xFFFF0000) | (((s32) (src[3][1] * toFixed) >> 0x10) & 0xFFFF);
|
||||
dest->m[1][3] = ((s32) (src[3][2] * toFixed) & 0xFFFF0000) | (((s32) (src[3][3] * toFixed) >> 0x10) & 0xFFFF);
|
||||
dest->m[2][0] = ((s32) (src[0][0] * toFixed) << 0x10) | ((s32) (src[0][1] * toFixed) & 0xFFFF);
|
||||
dest->m[2][1] = ((s32) (src[0][2] * toFixed) << 0x10) | ((s32) (src[0][3] * toFixed) & 0xFFFF);
|
||||
dest->m[2][2] = ((s32) (src[1][0] * toFixed) << 0x10) | ((s32) (src[1][1] * toFixed) & 0xFFFF);
|
||||
dest->m[2][3] = ((s32) (src[1][2] * toFixed) << 0x10) | ((s32) (src[1][3] * toFixed) & 0xFFFF);
|
||||
dest->m[3][0] = ((s32) (src[2][0] * toFixed) << 0x10) | ((s32) (src[2][1] * toFixed) & 0xFFFF);
|
||||
dest->m[3][1] = ((s32) (src[2][2] * toFixed) << 0x10) | ((s32) (src[2][3] * toFixed) & 0xFFFF);
|
||||
dest->m[3][2] = ((s32) (src[3][0] * toFixed) << 0x10) | ((s32) (src[3][1] * toFixed) & 0xFFFF);
|
||||
dest->m[3][3] = ((s32) (src[3][2] * toFixed) << 0x10) | ((s32) (src[3][3] * toFixed) & 0xFFFF);
|
||||
#endif
|
||||
}
|
||||
|
||||
bool adjust_angle(s16 *angle, s16 targetAngle, s16 step) {
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ void func_80021DA8(void);
|
||||
void mtxf_translate_rotate(Mat4, Vec3f, Vec3s);
|
||||
void func_80021F50(Mat4, Vec3f);
|
||||
void mtxf_scale2(Mat4, f32);
|
||||
void func_80021FF8(Mtx*, Mat4);
|
||||
void failed_fixed_point_matrix_conversion(Mtx*, Mat4);
|
||||
void convert_to_fixed_point_matrix(Mtx*, Mat4);
|
||||
s32 adjust_angle(s16*, s16, s16);
|
||||
void move_s32_towards(s32*, s32, f32);
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
#include "code_80057C60.h"
|
||||
#include "code_8006E9C0.h"
|
||||
#include "code_80086E70.h"
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
#include "audio/external.h"
|
||||
#include "sounds.h"
|
||||
#include <actors.h>
|
||||
@@ -28,7 +28,7 @@
|
||||
#include "code_80091750.h"
|
||||
#include "podium_ceremony_actors.h"
|
||||
#include "courses/all_course_data.h"
|
||||
#include "src/ending/ceremony_data.h"
|
||||
#include <assets/ceremony_data.h>
|
||||
#include "src/ending/ceremony_and_credits.h"
|
||||
#include "menus.h"
|
||||
#include "data/other_textures.h"
|
||||
|
||||
Reference in New Issue
Block a user