fix Ressource name (#596)
* fix Ressource name * add a fallback * use the correct name for dk jungle * use the correct name for macos intel CI * add print
This commit is contained in:
parent
8250ea5764
commit
6b8be33a5b
|
|
@ -126,7 +126,7 @@ jobs:
|
||||||
|
|
||||||
build-macos-intel:
|
build-macos-intel:
|
||||||
needs: generate-port-o2r
|
needs: generate-port-o2r
|
||||||
runs-on: macOS-latest-intel
|
runs-on: macos-15-intel
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
config: [Release, Debug]
|
config: [Release, Debug]
|
||||||
|
|
|
||||||
|
|
@ -52,9 +52,10 @@ extern "C" void add_triangle_to_collision_mesh(Vtx* vtx1, Vtx* vtx2, Vtx* vtx3,
|
||||||
}
|
}
|
||||||
|
|
||||||
void RaceManager::Load() {
|
void RaceManager::Load() {
|
||||||
if (GetWorld()->GetTrack()) {
|
auto* track = GetWorld()->GetTrack();
|
||||||
|
if (track) {
|
||||||
mirroredVtxCache.clear();
|
mirroredVtxCache.clear();
|
||||||
GetWorld()->GetTrack()->Load();
|
track->Load();
|
||||||
} else {
|
} else {
|
||||||
printf("[RaceManager] [Load] Track was nullptr\n");
|
printf("[RaceManager] [Load] Track was nullptr\n");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,10 @@ void TrackBrowser::FindCustomTracks() {
|
||||||
TrackInfo info;
|
TrackInfo info;
|
||||||
info.Path = dir;
|
info.Path = dir;
|
||||||
TrackEditor::LoadTrackInfo(info, archive, sceneFile);
|
TrackEditor::LoadTrackInfo(info, archive, sceneFile);
|
||||||
|
if (info.ResourceName.empty()) {
|
||||||
|
printf("[TrackBrowser] Track has invalid resource name; expected format: author:mod_name");
|
||||||
|
info.ResourceName = std::string("mods:") + name;
|
||||||
|
}
|
||||||
printf("[TrackBrowser] Added custom track %s\n", info.Name.c_str());
|
printf("[TrackBrowser] Added custom track %s\n", info.Name.c_str());
|
||||||
gTrackRegistry.Add(info, [info, archive]() {
|
gTrackRegistry.Add(info, [info, archive]() {
|
||||||
auto track = std::make_unique<Track>();
|
auto track = std::make_unique<Track>();
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,6 @@ BansheeBoardwalk::BansheeBoardwalk() {
|
||||||
ResizeMinimap(&Props.Minimap);
|
ResizeMinimap(&Props.Minimap);
|
||||||
|
|
||||||
ResourceName = "mk:banshee_boardwalk";
|
ResourceName = "mk:banshee_boardwalk";
|
||||||
|
|
||||||
Props.SetText(Props.Name, "banshee boardwalk", sizeof(Props.Name));
|
Props.SetText(Props.Name, "banshee boardwalk", sizeof(Props.Name));
|
||||||
Props.SetText(Props.DebugName, "ghost", sizeof(Props.DebugName));
|
Props.SetText(Props.DebugName, "ghost", sizeof(Props.DebugName));
|
||||||
Props.SetText(Props.TrackLength, "747m", sizeof(Props.TrackLength));
|
Props.SetText(Props.TrackLength, "747m", sizeof(Props.TrackLength));
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,7 @@ BigDonut::BigDonut() {
|
||||||
Props.Minimap.FinishlineY = 0;
|
Props.Minimap.FinishlineY = 0;
|
||||||
ResizeMinimap(&Props.Minimap);
|
ResizeMinimap(&Props.Minimap);
|
||||||
|
|
||||||
|
ResourceName = "mk:big_donut";
|
||||||
Props.SetText(Props.Name, "big donut", sizeof(Props.Name));
|
Props.SetText(Props.Name, "big donut", sizeof(Props.Name));
|
||||||
Props.SetText(Props.DebugName, "doughnut", sizeof(Props.DebugName));
|
Props.SetText(Props.DebugName, "doughnut", sizeof(Props.DebugName));
|
||||||
Props.SetText(Props.TrackLength, "", sizeof(Props.TrackLength));
|
Props.SetText(Props.TrackLength, "", sizeof(Props.TrackLength));
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,7 @@ BlockFort::BlockFort() {
|
||||||
Props.Minimap.FinishlineY = 0;
|
Props.Minimap.FinishlineY = 0;
|
||||||
ResizeMinimap(&Props.Minimap);
|
ResizeMinimap(&Props.Minimap);
|
||||||
|
|
||||||
|
ResourceName = "mk:block_fort";
|
||||||
Props.SetText(Props.Name, "block fort", sizeof(Props.Name));
|
Props.SetText(Props.Name, "block fort", sizeof(Props.Name));
|
||||||
Props.SetText(Props.DebugName, "block", sizeof(Props.DebugName));
|
Props.SetText(Props.DebugName, "block", sizeof(Props.DebugName));
|
||||||
Props.SetText(Props.TrackLength, "", sizeof(Props.TrackLength));
|
Props.SetText(Props.TrackLength, "", sizeof(Props.TrackLength));
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,6 @@ BowsersCastle::BowsersCastle() {
|
||||||
ResizeMinimap(&Props.Minimap);
|
ResizeMinimap(&Props.Minimap);
|
||||||
|
|
||||||
ResourceName = "mk:bowsers_castle";
|
ResourceName = "mk:bowsers_castle";
|
||||||
|
|
||||||
Props.SetText(Props.Name, "bowser's castle", sizeof(Props.Name));
|
Props.SetText(Props.Name, "bowser's castle", sizeof(Props.Name));
|
||||||
Props.SetText(Props.DebugName, "castle", sizeof(Props.DebugName));
|
Props.SetText(Props.DebugName, "castle", sizeof(Props.DebugName));
|
||||||
Props.SetText(Props.TrackLength, "777m", sizeof(Props.TrackLength));
|
Props.SetText(Props.TrackLength, "777m", sizeof(Props.TrackLength));
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,7 @@ DKJungle::DKJungle() {
|
||||||
Props.Minimap.FinishlineY = 0;
|
Props.Minimap.FinishlineY = 0;
|
||||||
ResizeMinimap(&Props.Minimap);
|
ResizeMinimap(&Props.Minimap);
|
||||||
|
|
||||||
|
ResourceName = "mk:dk_jungle";
|
||||||
Props.SetText(Props.Name, "d.k.'s jungle parkway", sizeof(Props.Name));
|
Props.SetText(Props.Name, "d.k.'s jungle parkway", sizeof(Props.Name));
|
||||||
Props.SetText(Props.DebugName, "jungle", sizeof(Props.DebugName));
|
Props.SetText(Props.DebugName, "jungle", sizeof(Props.DebugName));
|
||||||
Props.SetText(Props.TrackLength, "893m", sizeof(Props.TrackLength));
|
Props.SetText(Props.TrackLength, "893m", sizeof(Props.TrackLength));
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,7 @@ DoubleDeck::DoubleDeck() {
|
||||||
Props.Minimap.FinishlineY = 0;
|
Props.Minimap.FinishlineY = 0;
|
||||||
ResizeMinimap(&Props.Minimap);
|
ResizeMinimap(&Props.Minimap);
|
||||||
|
|
||||||
|
ResourceName = "mk:double_deck";
|
||||||
Props.SetText(Props.Name, "double deck", sizeof(Props.Name));
|
Props.SetText(Props.Name, "double deck", sizeof(Props.Name));
|
||||||
Props.SetText(Props.DebugName, "deck", sizeof(Props.DebugName));
|
Props.SetText(Props.DebugName, "deck", sizeof(Props.DebugName));
|
||||||
Props.SetText(Props.TrackLength, "", sizeof(Props.TrackLength));
|
Props.SetText(Props.TrackLength, "", sizeof(Props.TrackLength));
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,7 @@ FrappeSnowland::FrappeSnowland() {
|
||||||
Props.Minimap.Colour = {72, 100, 255};
|
Props.Minimap.Colour = {72, 100, 255};
|
||||||
ResizeMinimap(&Props.Minimap);
|
ResizeMinimap(&Props.Minimap);
|
||||||
|
|
||||||
|
ResourceName = "mk:frappe_snowland";
|
||||||
Props.SetText(Props.Name, "frappe snowland", sizeof(Props.Name));
|
Props.SetText(Props.Name, "frappe snowland", sizeof(Props.Name));
|
||||||
Props.SetText(Props.DebugName, "snow", sizeof(Props.DebugName));
|
Props.SetText(Props.DebugName, "snow", sizeof(Props.DebugName));
|
||||||
Props.SetText(Props.TrackLength, "734m", sizeof(Props.TrackLength));
|
Props.SetText(Props.TrackLength, "734m", sizeof(Props.TrackLength));
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,7 @@ KalimariDesert::KalimariDesert() {
|
||||||
Props.Minimap.FinishlineY = 4.0;
|
Props.Minimap.FinishlineY = 4.0;
|
||||||
ResizeMinimap(&Props.Minimap);
|
ResizeMinimap(&Props.Minimap);
|
||||||
|
|
||||||
|
ResourceName = "mk:kalimari_desert";
|
||||||
Props.SetText(Props.Name, "kalimari desert", sizeof(Props.Name));
|
Props.SetText(Props.Name, "kalimari desert", sizeof(Props.Name));
|
||||||
Props.SetText(Props.DebugName, "desert", sizeof(Props.DebugName));
|
Props.SetText(Props.DebugName, "desert", sizeof(Props.DebugName));
|
||||||
Props.SetText(Props.TrackLength, "753m", sizeof(Props.TrackLength));
|
Props.SetText(Props.TrackLength, "753m", sizeof(Props.TrackLength));
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,7 @@ MooMooFarm::MooMooFarm() {
|
||||||
Props.Minimap.FinishlineY = 0;
|
Props.Minimap.FinishlineY = 0;
|
||||||
ResizeMinimap(&Props.Minimap);
|
ResizeMinimap(&Props.Minimap);
|
||||||
|
|
||||||
|
ResourceName = "mk:moo_moo_farm";
|
||||||
Props.SetText(Props.Name, "moo moo farm", sizeof(Props.Name));
|
Props.SetText(Props.Name, "moo moo farm", sizeof(Props.Name));
|
||||||
Props.SetText(Props.DebugName, "farm", sizeof(Props.DebugName));
|
Props.SetText(Props.DebugName, "farm", sizeof(Props.DebugName));
|
||||||
Props.SetText(Props.TrackLength, "527m", sizeof(Props.TrackLength));
|
Props.SetText(Props.TrackLength, "527m", sizeof(Props.TrackLength));
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,7 @@ RainbowRoad::RainbowRoad() {
|
||||||
Props.Minimap.FinishlineY = 0;
|
Props.Minimap.FinishlineY = 0;
|
||||||
ResizeMinimap(&Props.Minimap);
|
ResizeMinimap(&Props.Minimap);
|
||||||
|
|
||||||
|
ResourceName = "mk:rainbow_road";
|
||||||
Props.SetText(Props.Name, "rainbow road", sizeof(Props.Name));
|
Props.SetText(Props.Name, "rainbow road", sizeof(Props.Name));
|
||||||
Props.SetText(Props.DebugName, "rainbow", sizeof(Props.DebugName));
|
Props.SetText(Props.DebugName, "rainbow", sizeof(Props.DebugName));
|
||||||
Props.SetText(Props.TrackLength, "2000m", sizeof(Props.TrackLength));
|
Props.SetText(Props.TrackLength, "2000m", sizeof(Props.TrackLength));
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,7 @@ RoyalRaceway::RoyalRaceway() {
|
||||||
Props.Minimap.FinishlineY = 0;
|
Props.Minimap.FinishlineY = 0;
|
||||||
ResizeMinimap(&Props.Minimap);
|
ResizeMinimap(&Props.Minimap);
|
||||||
|
|
||||||
|
ResourceName = "mk:royal_raceway";
|
||||||
Props.SetText(Props.Name, "royal raceway", sizeof(Props.Name));
|
Props.SetText(Props.Name, "royal raceway", sizeof(Props.Name));
|
||||||
Props.SetText(Props.DebugName, "p circuit", sizeof(Props.DebugName));
|
Props.SetText(Props.DebugName, "p circuit", sizeof(Props.DebugName));
|
||||||
Props.SetText(Props.TrackLength, "1025m", sizeof(Props.TrackLength));
|
Props.SetText(Props.TrackLength, "1025m", sizeof(Props.TrackLength));
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,7 @@ SherbetLand::SherbetLand() {
|
||||||
Props.Minimap.Colour = {72, 100, 255};
|
Props.Minimap.Colour = {72, 100, 255};
|
||||||
ResizeMinimap(&Props.Minimap);
|
ResizeMinimap(&Props.Minimap);
|
||||||
|
|
||||||
|
ResourceName = "mk:sherbet_land";
|
||||||
Props.SetText(Props.Name, "sherbet land", sizeof(Props.Name));
|
Props.SetText(Props.Name, "sherbet land", sizeof(Props.Name));
|
||||||
Props.SetText(Props.DebugName, "sherbet", sizeof(Props.DebugName));
|
Props.SetText(Props.DebugName, "sherbet", sizeof(Props.DebugName));
|
||||||
Props.SetText(Props.TrackLength, "756m", sizeof(Props.TrackLength));
|
Props.SetText(Props.TrackLength, "756m", sizeof(Props.TrackLength));
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,7 @@ Skyscraper::Skyscraper() {
|
||||||
Props.Minimap.FinishlineY = 0;
|
Props.Minimap.FinishlineY = 0;
|
||||||
ResizeMinimap(&Props.Minimap);
|
ResizeMinimap(&Props.Minimap);
|
||||||
|
|
||||||
|
ResourceName = "mk:skyscraper";
|
||||||
Props.SetText(Props.Name, "skyscraper", sizeof(Props.Name));
|
Props.SetText(Props.Name, "skyscraper", sizeof(Props.Name));
|
||||||
Props.SetText(Props.DebugName, "skyscraper", sizeof(Props.DebugName));
|
Props.SetText(Props.DebugName, "skyscraper", sizeof(Props.DebugName));
|
||||||
Props.SetText(Props.TrackLength, "", sizeof(Props.TrackLength));
|
Props.SetText(Props.TrackLength, "", sizeof(Props.TrackLength));
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,6 @@ TestTrack::TestTrack() {
|
||||||
ResizeMinimap(&Props.Minimap);
|
ResizeMinimap(&Props.Minimap);
|
||||||
|
|
||||||
ResourceName = "hm:test_track";
|
ResourceName = "hm:test_track";
|
||||||
|
|
||||||
Props.SetText(Props.Name, "Test Track", sizeof(Props.Name));
|
Props.SetText(Props.Name, "Test Track", sizeof(Props.Name));
|
||||||
Props.SetText(Props.DebugName, "test track", sizeof(Props.DebugName));
|
Props.SetText(Props.DebugName, "test track", sizeof(Props.DebugName));
|
||||||
Props.SetText(Props.TrackLength, "100m", sizeof(Props.TrackLength));
|
Props.SetText(Props.TrackLength, "100m", sizeof(Props.TrackLength));
|
||||||
|
|
|
||||||
|
|
@ -55,6 +55,7 @@ ToadsTurnpike::ToadsTurnpike() {
|
||||||
Props.Minimap.FinishlineY = 0;
|
Props.Minimap.FinishlineY = 0;
|
||||||
ResizeMinimap(&Props.Minimap);
|
ResizeMinimap(&Props.Minimap);
|
||||||
|
|
||||||
|
ResourceName = "mk:toads_turnpike";
|
||||||
Props.SetText(Props.Name, "toad's turnpike", sizeof(Props.Name));
|
Props.SetText(Props.Name, "toad's turnpike", sizeof(Props.Name));
|
||||||
Props.SetText(Props.DebugName, "highway", sizeof(Props.DebugName));
|
Props.SetText(Props.DebugName, "highway", sizeof(Props.DebugName));
|
||||||
Props.SetText(Props.TrackLength, "1036m", sizeof(Props.TrackLength));
|
Props.SetText(Props.TrackLength, "1036m", sizeof(Props.TrackLength));
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,7 @@ WarioStadium::WarioStadium() {
|
||||||
Props.Minimap.FinishlineY = 0;
|
Props.Minimap.FinishlineY = 0;
|
||||||
ResizeMinimap(&Props.Minimap);
|
ResizeMinimap(&Props.Minimap);
|
||||||
|
|
||||||
|
ResourceName = "mk:wario_stadium";
|
||||||
Props.SetText(Props.Name, "wario stadium", sizeof(Props.Name));
|
Props.SetText(Props.Name, "wario stadium", sizeof(Props.Name));
|
||||||
Props.SetText(Props.DebugName, "stadium", sizeof(Props.DebugName));
|
Props.SetText(Props.DebugName, "stadium", sizeof(Props.DebugName));
|
||||||
Props.SetText(Props.TrackLength, "1591m", sizeof(Props.TrackLength));
|
Props.SetText(Props.TrackLength, "1591m", sizeof(Props.TrackLength));
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,7 @@ YoshiValley::YoshiValley() {
|
||||||
Props.Minimap.FinishlineY = 0;
|
Props.Minimap.FinishlineY = 0;
|
||||||
ResizeMinimap(&Props.Minimap);
|
ResizeMinimap(&Props.Minimap);
|
||||||
|
|
||||||
|
ResourceName = "mk:yoshi_valley";
|
||||||
Props.SetText(Props.Name, "yoshi valley", sizeof(Props.Name));
|
Props.SetText(Props.Name, "yoshi valley", sizeof(Props.Name));
|
||||||
Props.SetText(Props.DebugName, "maze", sizeof(Props.DebugName));
|
Props.SetText(Props.DebugName, "maze", sizeof(Props.DebugName));
|
||||||
Props.SetText(Props.TrackLength, "772m", sizeof(Props.TrackLength));
|
Props.SetText(Props.TrackLength, "772m", sizeof(Props.TrackLength));
|
||||||
|
|
|
||||||
|
|
@ -30,297 +30,298 @@ void render_collision(void) {
|
||||||
|
|
||||||
mtxf_identity(matrix);
|
mtxf_identity(matrix);
|
||||||
AddObjectMatrix(matrix, G_MTX_MODELVIEW | G_MTX_LOAD | G_MTX_NOPUSH);
|
AddObjectMatrix(matrix, G_MTX_MODELVIEW | G_MTX_LOAD | G_MTX_NOPUSH);
|
||||||
|
u16 previousSurfaceType = -2;
|
||||||
for (size_t i = 0; i < gCollisionMeshCount; i++) {
|
for (size_t i = 0; i < gCollisionMeshCount; i++) {
|
||||||
// Load vertices for this tri
|
// Load vertices for this tri
|
||||||
|
if (gCollisionMesh[i].surfaceType != previousSurfaceType) {
|
||||||
|
previousSurfaceType = gCollisionMesh[i].surfaceType;
|
||||||
|
switch (gCollisionMesh[i].surfaceType) {
|
||||||
|
case ASPHALT:
|
||||||
|
|
||||||
switch (gCollisionMesh[i].surfaceType) {
|
// gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
||||||
case ASPHALT:
|
// gDPTileSync(gDisplayListHead++);
|
||||||
|
// gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0,
|
||||||
|
// G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_MIRROR | G_TX_WRAP, 6, G_TX_NOLOD);
|
||||||
|
// gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x00FC, 0x007C);
|
||||||
|
// gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTextureRoad1);
|
||||||
|
// gDPTileSync(gDisplayListHead++);
|
||||||
|
// gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
|
||||||
|
// G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
||||||
|
// G_TX_NOLOD); gDPLoadSync(gDisplayListHead++); gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE,
|
||||||
|
// 0, 0, 2047, 128); gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||||
|
// gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_INTER, G_RM_NOOP2);
|
||||||
|
gCollisionMesh[i].vtx1->v.cn[0] = 50;
|
||||||
|
gCollisionMesh[i].vtx1->v.cn[1] = 50;
|
||||||
|
gCollisionMesh[i].vtx1->v.cn[2] = 50;
|
||||||
|
gCollisionMesh[i].vtx2->v.cn[0] = 50;
|
||||||
|
gCollisionMesh[i].vtx2->v.cn[1] = 50;
|
||||||
|
gCollisionMesh[i].vtx2->v.cn[2] = 50;
|
||||||
|
gCollisionMesh[i].vtx3->v.cn[0] = 50;
|
||||||
|
gCollisionMesh[i].vtx3->v.cn[1] = 50;
|
||||||
|
gCollisionMesh[i].vtx3->v.cn[2] = 50;
|
||||||
|
break;
|
||||||
|
case DIRT: // gTexture64619C
|
||||||
|
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
||||||
|
gDPTileSync(gDisplayListHead++);
|
||||||
|
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0,
|
||||||
|
G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD);
|
||||||
|
gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x007C, 0x007C);
|
||||||
|
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTexture64AF50);
|
||||||
|
gDPTileSync(gDisplayListHead++);
|
||||||
|
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
|
||||||
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP,
|
||||||
|
G_TX_NOMASK, G_TX_NOLOD);
|
||||||
|
gDPLoadSync(gDisplayListHead++);
|
||||||
|
gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 1023, 256);
|
||||||
|
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||||
|
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||||
|
// gCollisionMesh[i].vtx1->v.cn[0] = 255;
|
||||||
|
// gCollisionMesh[i].vtx1->v.cn[1] = 248;
|
||||||
|
// gCollisionMesh[i].vtx1->v.cn[2] = 220;
|
||||||
|
// gCollisionMesh[i].vtx2->v.cn[0] = 255;
|
||||||
|
// gCollisionMesh[i].vtx2->v.cn[1] = 248;
|
||||||
|
// gCollisionMesh[i].vtx2->v.cn[2] = 220;
|
||||||
|
// gCollisionMesh[i].vtx3->v.cn[0] = 255;
|
||||||
|
// gCollisionMesh[i].vtx3->v.cn[1] = 248;
|
||||||
|
// gCollisionMesh[i].vtx3->v.cn[2] = 220;
|
||||||
|
break;
|
||||||
|
case SAND:
|
||||||
|
// gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
||||||
|
// gDPTileSync(gDisplayListHead++);
|
||||||
|
// gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0,
|
||||||
|
// G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD);
|
||||||
|
// gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x007C, 0x007C);
|
||||||
|
// gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTexture67BEE8);
|
||||||
|
// gDPTileSync(gDisplayListHead++);
|
||||||
|
// gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
|
||||||
|
// G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
||||||
|
// G_TX_NOLOD); gDPLoadSync(gDisplayListHead++); gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0,
|
||||||
|
// 0, 1023, 256); gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||||
|
// gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_INTER, G_RM_NOOP2);
|
||||||
|
// gCollisionMesh[i].vtx1->v.cn[0] = 255;
|
||||||
|
// gCollisionMesh[i].vtx1->v.cn[1] = 121;
|
||||||
|
// gCollisionMesh[i].vtx1->v.cn[2] = 25;
|
||||||
|
// gCollisionMesh[i].vtx2->v.cn[0] = 255;
|
||||||
|
// gCollisionMesh[i].vtx2->v.cn[1] = 121;
|
||||||
|
// gCollisionMesh[i].vtx2->v.cn[2] = 25;
|
||||||
|
// gCollisionMesh[i].vtx3->v.cn[0] = 255;
|
||||||
|
// gCollisionMesh[i].vtx3->v.cn[1] = 121;
|
||||||
|
// gCollisionMesh[i].vtx3->v.cn[2] = 25;
|
||||||
|
break;
|
||||||
|
case STONE:
|
||||||
|
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
||||||
|
gDPTileSync(gDisplayListHead++);
|
||||||
|
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0,
|
||||||
|
G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD);
|
||||||
|
gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x007C, 0x007C);
|
||||||
|
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTexture6528DC);
|
||||||
|
gDPTileSync(gDisplayListHead++);
|
||||||
|
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
|
||||||
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP,
|
||||||
|
G_TX_NOMASK, G_TX_NOLOD);
|
||||||
|
gDPLoadSync(gDisplayListHead++);
|
||||||
|
gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 1023, 256);
|
||||||
|
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||||
|
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||||
|
// gCollisionMesh[i].vtx1->v.cn[0] = 128;
|
||||||
|
// gCollisionMesh[i].vtx1->v.cn[1] = 128;
|
||||||
|
// gCollisionMesh[i].vtx1->v.cn[2] = 128;
|
||||||
|
// gCollisionMesh[i].vtx2->v.cn[0] = 128;
|
||||||
|
// gCollisionMesh[i].vtx2->v.cn[1] = 128;
|
||||||
|
// gCollisionMesh[i].vtx2->v.cn[2] = 128;
|
||||||
|
// gCollisionMesh[i].vtx3->v.cn[0] = 128;
|
||||||
|
// gCollisionMesh[i].vtx3->v.cn[1] = 128;
|
||||||
|
// gCollisionMesh[i].vtx3->v.cn[2] = 128;
|
||||||
|
break;
|
||||||
|
case SNOW:
|
||||||
|
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
||||||
|
gDPTileSync(gDisplayListHead++);
|
||||||
|
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0,
|
||||||
|
G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD);
|
||||||
|
gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x007C, 0x007C);
|
||||||
|
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTexture677F04);
|
||||||
|
gDPTileSync(gDisplayListHead++);
|
||||||
|
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
|
||||||
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP,
|
||||||
|
G_TX_NOMASK, G_TX_NOLOD);
|
||||||
|
gDPLoadSync(gDisplayListHead++);
|
||||||
|
gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 1023, 256);
|
||||||
|
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||||
|
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||||
|
break;
|
||||||
|
case SAND_OFFROAD:
|
||||||
|
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
||||||
|
gDPTileSync(gDisplayListHead++);
|
||||||
|
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0,
|
||||||
|
G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD);
|
||||||
|
gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x007C, 0x007C);
|
||||||
|
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTexture67B9B0);
|
||||||
|
gDPTileSync(gDisplayListHead++);
|
||||||
|
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
|
||||||
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP,
|
||||||
|
G_TX_NOMASK, G_TX_NOLOD);
|
||||||
|
gDPLoadSync(gDisplayListHead++);
|
||||||
|
gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 1023, 256);
|
||||||
|
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||||
|
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||||
|
break;
|
||||||
|
case GRASS: // gTextureGrass1
|
||||||
|
|
||||||
// gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
||||||
// gDPTileSync(gDisplayListHead++);
|
gDPTileSync(gDisplayListHead++);
|
||||||
// gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0,
|
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0,
|
||||||
// G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_MIRROR | G_TX_WRAP, 6, G_TX_NOLOD);
|
G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD);
|
||||||
// gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x00FC, 0x007C);
|
gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x007C, 0x007C);
|
||||||
// gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTextureRoad1);
|
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTextureGrass1);
|
||||||
// gDPTileSync(gDisplayListHead++);
|
gDPTileSync(gDisplayListHead++);
|
||||||
// gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
|
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
|
||||||
// G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP,
|
||||||
// G_TX_NOLOD); gDPLoadSync(gDisplayListHead++); gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0,
|
G_TX_NOMASK, G_TX_NOLOD);
|
||||||
// 0, 2047, 128); gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
gDPLoadSync(gDisplayListHead++);
|
||||||
// gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_INTER, G_RM_NOOP2);
|
gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 1023, 256);
|
||||||
gCollisionMesh[i].vtx1->v.cn[0] = 50;
|
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||||
gCollisionMesh[i].vtx1->v.cn[1] = 50;
|
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||||
gCollisionMesh[i].vtx1->v.cn[2] = 50;
|
|
||||||
gCollisionMesh[i].vtx2->v.cn[0] = 50;
|
|
||||||
gCollisionMesh[i].vtx2->v.cn[1] = 50;
|
|
||||||
gCollisionMesh[i].vtx2->v.cn[2] = 50;
|
|
||||||
gCollisionMesh[i].vtx3->v.cn[0] = 50;
|
|
||||||
gCollisionMesh[i].vtx3->v.cn[1] = 50;
|
|
||||||
gCollisionMesh[i].vtx3->v.cn[2] = 50;
|
|
||||||
break;
|
|
||||||
case DIRT: // gTexture64619C
|
|
||||||
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
|
||||||
gDPTileSync(gDisplayListHead++);
|
|
||||||
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0,
|
|
||||||
G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD);
|
|
||||||
gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x007C, 0x007C);
|
|
||||||
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTexture64AF50);
|
|
||||||
gDPTileSync(gDisplayListHead++);
|
|
||||||
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
|
|
||||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
|
||||||
G_TX_NOLOD);
|
|
||||||
gDPLoadSync(gDisplayListHead++);
|
|
||||||
gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 1023, 256);
|
|
||||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
|
||||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_INTER, G_RM_NOOP2);
|
|
||||||
// gCollisionMesh[i].vtx1->v.cn[0] = 255;
|
|
||||||
// gCollisionMesh[i].vtx1->v.cn[1] = 248;
|
|
||||||
// gCollisionMesh[i].vtx1->v.cn[2] = 220;
|
|
||||||
// gCollisionMesh[i].vtx2->v.cn[0] = 255;
|
|
||||||
// gCollisionMesh[i].vtx2->v.cn[1] = 248;
|
|
||||||
// gCollisionMesh[i].vtx2->v.cn[2] = 220;
|
|
||||||
// gCollisionMesh[i].vtx3->v.cn[0] = 255;
|
|
||||||
// gCollisionMesh[i].vtx3->v.cn[1] = 248;
|
|
||||||
// gCollisionMesh[i].vtx3->v.cn[2] = 220;
|
|
||||||
break;
|
|
||||||
case SAND:
|
|
||||||
// gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
|
||||||
// gDPTileSync(gDisplayListHead++);
|
|
||||||
// gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0,
|
|
||||||
// G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD);
|
|
||||||
// gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x007C, 0x007C);
|
|
||||||
// gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTexture67BEE8);
|
|
||||||
// gDPTileSync(gDisplayListHead++);
|
|
||||||
// gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
|
|
||||||
// G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
|
||||||
// G_TX_NOLOD); gDPLoadSync(gDisplayListHead++); gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0,
|
|
||||||
// 1023, 256); gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
|
||||||
// gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_INTER, G_RM_NOOP2);
|
|
||||||
// gCollisionMesh[i].vtx1->v.cn[0] = 255;
|
|
||||||
// gCollisionMesh[i].vtx1->v.cn[1] = 121;
|
|
||||||
// gCollisionMesh[i].vtx1->v.cn[2] = 25;
|
|
||||||
// gCollisionMesh[i].vtx2->v.cn[0] = 255;
|
|
||||||
// gCollisionMesh[i].vtx2->v.cn[1] = 121;
|
|
||||||
// gCollisionMesh[i].vtx2->v.cn[2] = 25;
|
|
||||||
// gCollisionMesh[i].vtx3->v.cn[0] = 255;
|
|
||||||
// gCollisionMesh[i].vtx3->v.cn[1] = 121;
|
|
||||||
// gCollisionMesh[i].vtx3->v.cn[2] = 25;
|
|
||||||
break;
|
|
||||||
case STONE:
|
|
||||||
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
|
||||||
gDPTileSync(gDisplayListHead++);
|
|
||||||
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0,
|
|
||||||
G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD);
|
|
||||||
gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x007C, 0x007C);
|
|
||||||
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTexture6528DC);
|
|
||||||
gDPTileSync(gDisplayListHead++);
|
|
||||||
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
|
|
||||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
|
||||||
G_TX_NOLOD);
|
|
||||||
gDPLoadSync(gDisplayListHead++);
|
|
||||||
gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 1023, 256);
|
|
||||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
|
||||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_INTER, G_RM_NOOP2);
|
|
||||||
// gCollisionMesh[i].vtx1->v.cn[0] = 128;
|
|
||||||
// gCollisionMesh[i].vtx1->v.cn[1] = 128;
|
|
||||||
// gCollisionMesh[i].vtx1->v.cn[2] = 128;
|
|
||||||
// gCollisionMesh[i].vtx2->v.cn[0] = 128;
|
|
||||||
// gCollisionMesh[i].vtx2->v.cn[1] = 128;
|
|
||||||
// gCollisionMesh[i].vtx2->v.cn[2] = 128;
|
|
||||||
// gCollisionMesh[i].vtx3->v.cn[0] = 128;
|
|
||||||
// gCollisionMesh[i].vtx3->v.cn[1] = 128;
|
|
||||||
// gCollisionMesh[i].vtx3->v.cn[2] = 128;
|
|
||||||
break;
|
|
||||||
case SNOW:
|
|
||||||
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
|
||||||
gDPTileSync(gDisplayListHead++);
|
|
||||||
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0,
|
|
||||||
G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD);
|
|
||||||
gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x007C, 0x007C);
|
|
||||||
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTexture677F04);
|
|
||||||
gDPTileSync(gDisplayListHead++);
|
|
||||||
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
|
|
||||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
|
||||||
G_TX_NOLOD);
|
|
||||||
gDPLoadSync(gDisplayListHead++);
|
|
||||||
gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 1023, 256);
|
|
||||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
|
||||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_INTER, G_RM_NOOP2);
|
|
||||||
break;
|
|
||||||
case SAND_OFFROAD:
|
|
||||||
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
|
||||||
gDPTileSync(gDisplayListHead++);
|
|
||||||
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0,
|
|
||||||
G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD);
|
|
||||||
gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x007C, 0x007C);
|
|
||||||
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTexture67B9B0);
|
|
||||||
gDPTileSync(gDisplayListHead++);
|
|
||||||
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
|
|
||||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
|
||||||
G_TX_NOLOD);
|
|
||||||
gDPLoadSync(gDisplayListHead++);
|
|
||||||
gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 1023, 256);
|
|
||||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
|
||||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_INTER, G_RM_NOOP2);
|
|
||||||
break;
|
|
||||||
case GRASS: // gTextureGrass1
|
|
||||||
|
|
||||||
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
// gCollisionMesh[i].vtx1->v.cn[0] = 50;
|
||||||
gDPTileSync(gDisplayListHead++);
|
// gCollisionMesh[i].vtx1->v.cn[1] = 180;
|
||||||
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0,
|
// gCollisionMesh[i].vtx1->v.cn[2] = 50;
|
||||||
G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD);
|
// gCollisionMesh[i].vtx2->v.cn[0] = 50;
|
||||||
gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x007C, 0x007C);
|
// gCollisionMesh[i].vtx2->v.cn[1] = 180;
|
||||||
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTextureGrass1);
|
// gCollisionMesh[i].vtx2->v.cn[2] = 50;
|
||||||
gDPTileSync(gDisplayListHead++);
|
// gCollisionMesh[i].vtx3->v.cn[0] = 50;
|
||||||
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
|
// gCollisionMesh[i].vtx3->v.cn[1] = 180;
|
||||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
// gCollisionMesh[i].vtx3->v.cn[2] = 50;
|
||||||
G_TX_NOLOD);
|
break;
|
||||||
gDPLoadSync(gDisplayListHead++);
|
case ICE:
|
||||||
gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 1023, 256);
|
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
||||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
gDPTileSync(gDisplayListHead++);
|
||||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_INTER, G_RM_NOOP2);
|
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0,
|
||||||
|
G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD);
|
||||||
// gCollisionMesh[i].vtx1->v.cn[0] = 50;
|
gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x007C, 0x007C);
|
||||||
// gCollisionMesh[i].vtx1->v.cn[1] = 180;
|
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTexture643B3C);
|
||||||
// gCollisionMesh[i].vtx1->v.cn[2] = 50;
|
gDPTileSync(gDisplayListHead++);
|
||||||
// gCollisionMesh[i].vtx2->v.cn[0] = 50;
|
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
|
||||||
// gCollisionMesh[i].vtx2->v.cn[1] = 180;
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP,
|
||||||
// gCollisionMesh[i].vtx2->v.cn[2] = 50;
|
G_TX_NOMASK, G_TX_NOLOD);
|
||||||
// gCollisionMesh[i].vtx3->v.cn[0] = 50;
|
gDPLoadSync(gDisplayListHead++);
|
||||||
// gCollisionMesh[i].vtx3->v.cn[1] = 180;
|
gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 1023, 256);
|
||||||
// gCollisionMesh[i].vtx3->v.cn[2] = 50;
|
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||||
break;
|
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||||
case ICE:
|
break;
|
||||||
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
case WET_SAND:
|
||||||
gDPTileSync(gDisplayListHead++);
|
// gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
||||||
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0,
|
// gDPTileSync(gDisplayListHead++);
|
||||||
G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD);
|
// gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0,
|
||||||
gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x007C, 0x007C);
|
// G_TX_NOMIRROR | G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD);
|
||||||
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTexture643B3C);
|
// gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x007C, 0x00FC);
|
||||||
gDPTileSync(gDisplayListHead++);
|
// gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTexture66DD38);
|
||||||
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
|
// gDPTileSync(gDisplayListHead++);
|
||||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
// gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
|
||||||
G_TX_NOLOD);
|
// G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
||||||
gDPLoadSync(gDisplayListHead++);
|
// G_TX_NOLOD); gDPLoadSync(gDisplayListHead++); gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0,
|
||||||
gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 1023, 256);
|
// 0, 1023, 256); gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
// gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_INTER, G_RM_NOOP2);
|
||||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_INTER, G_RM_NOOP2);
|
break;
|
||||||
break;
|
case SNOW_OFFROAD:
|
||||||
case WET_SAND:
|
gCollisionMesh[i].vtx1->v.cn[0] = 80;
|
||||||
// gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
gCollisionMesh[i].vtx1->v.cn[1] = 80;
|
||||||
// gDPTileSync(gDisplayListHead++);
|
gCollisionMesh[i].vtx1->v.cn[2] = 80;
|
||||||
// gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0,
|
gCollisionMesh[i].vtx2->v.cn[0] = 80;
|
||||||
// G_TX_NOMIRROR | G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD);
|
gCollisionMesh[i].vtx2->v.cn[1] = 80;
|
||||||
// gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x007C, 0x00FC);
|
gCollisionMesh[i].vtx2->v.cn[2] = 80;
|
||||||
// gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTexture66DD38);
|
gCollisionMesh[i].vtx3->v.cn[0] = 80;
|
||||||
// gDPTileSync(gDisplayListHead++);
|
gCollisionMesh[i].vtx3->v.cn[1] = 80;
|
||||||
// gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
|
gCollisionMesh[i].vtx3->v.cn[2] = 80;
|
||||||
// G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
break;
|
||||||
// G_TX_NOLOD); gDPLoadSync(gDisplayListHead++); gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0,
|
case CLIFF:
|
||||||
// 1023, 256); gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
break;
|
||||||
// gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_INTER, G_RM_NOOP2);
|
case DIRT_OFFROAD:
|
||||||
break;
|
break;
|
||||||
case SNOW_OFFROAD:
|
case TRAIN_TRACK: // gTextureRailroadTrack
|
||||||
gCollisionMesh[i].vtx1->v.cn[0] = 80;
|
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
||||||
gCollisionMesh[i].vtx1->v.cn[1] = 80;
|
gDPTileSync(gDisplayListHead++);
|
||||||
gCollisionMesh[i].vtx1->v.cn[2] = 80;
|
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0x0000, G_TX_RENDERTILE, 0,
|
||||||
gCollisionMesh[i].vtx2->v.cn[0] = 80;
|
G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 6, G_TX_NOLOD);
|
||||||
gCollisionMesh[i].vtx2->v.cn[1] = 80;
|
gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x00FC, 0x007C);
|
||||||
gCollisionMesh[i].vtx2->v.cn[2] = 80;
|
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTextureRailroadTrack);
|
||||||
gCollisionMesh[i].vtx3->v.cn[0] = 80;
|
gDPTileSync(gDisplayListHead++);
|
||||||
gCollisionMesh[i].vtx3->v.cn[1] = 80;
|
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
|
||||||
gCollisionMesh[i].vtx3->v.cn[2] = 80;
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP,
|
||||||
break;
|
G_TX_NOMASK, G_TX_NOLOD);
|
||||||
case CLIFF:
|
gDPLoadSync(gDisplayListHead++);
|
||||||
break;
|
gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 2047, 128);
|
||||||
case DIRT_OFFROAD:
|
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||||
break;
|
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||||
case TRAIN_TRACK: // gTextureRailroadTrack
|
break;
|
||||||
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
case CAVE:
|
||||||
gDPTileSync(gDisplayListHead++);
|
break;
|
||||||
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0x0000, G_TX_RENDERTILE, 0,
|
case OUT_OF_BOUNDS:
|
||||||
G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 6, G_TX_NOLOD);
|
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
||||||
gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x00FC, 0x007C);
|
gDPTileSync(gDisplayListHead++);
|
||||||
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTextureRailroadTrack);
|
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0,
|
||||||
gDPTileSync(gDisplayListHead++);
|
G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD);
|
||||||
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
|
gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x007C, 0x007C);
|
||||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTexture64313C);
|
||||||
G_TX_NOLOD);
|
gDPTileSync(gDisplayListHead++);
|
||||||
gDPLoadSync(gDisplayListHead++);
|
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
|
||||||
gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 2047, 128);
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP,
|
||||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
G_TX_NOMASK, G_TX_NOLOD);
|
||||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_INTER, G_RM_NOOP2);
|
gDPLoadSync(gDisplayListHead++);
|
||||||
break;
|
gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 1023, 256);
|
||||||
case CAVE:
|
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||||
break;
|
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||||
case OUT_OF_BOUNDS:
|
// gCollisionMesh[i].vtx1->v.cn[0] = 255;
|
||||||
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
// gCollisionMesh[i].vtx1->v.cn[1] = 0;
|
||||||
gDPTileSync(gDisplayListHead++);
|
// gCollisionMesh[i].vtx1->v.cn[2] = 0;
|
||||||
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0,
|
// gCollisionMesh[i].vtx2->v.cn[0] = 255;
|
||||||
G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD);
|
// gCollisionMesh[i].vtx2->v.cn[1] = 0;
|
||||||
gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x007C, 0x007C);
|
// gCollisionMesh[i].vtx2->v.cn[2] = 0;
|
||||||
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTexture64313C);
|
// gCollisionMesh[i].vtx3->v.cn[0] = 255;
|
||||||
gDPTileSync(gDisplayListHead++);
|
// gCollisionMesh[i].vtx3->v.cn[1] = 0;
|
||||||
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
|
// gCollisionMesh[i].vtx3->v.cn[2] = 0;
|
||||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
break;
|
||||||
G_TX_NOLOD);
|
case BOOST_RAMP_WOOD:
|
||||||
gDPLoadSync(gDisplayListHead++);
|
case BOOST_RAMP_ASPHALT:
|
||||||
gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 1023, 256);
|
case RAMP:
|
||||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
gCollisionMesh[i].vtx1->v.cn[0] = 255;
|
||||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_INTER, G_RM_NOOP2);
|
gCollisionMesh[i].vtx1->v.cn[1] = 255;
|
||||||
// gCollisionMesh[i].vtx1->v.cn[0] = 255;
|
gCollisionMesh[i].vtx1->v.cn[2] = 0;
|
||||||
// gCollisionMesh[i].vtx1->v.cn[1] = 0;
|
gCollisionMesh[i].vtx2->v.cn[0] = 255;
|
||||||
// gCollisionMesh[i].vtx1->v.cn[2] = 0;
|
gCollisionMesh[i].vtx2->v.cn[1] = 255;
|
||||||
// gCollisionMesh[i].vtx2->v.cn[0] = 255;
|
gCollisionMesh[i].vtx2->v.cn[2] = 0;
|
||||||
// gCollisionMesh[i].vtx2->v.cn[1] = 0;
|
gCollisionMesh[i].vtx3->v.cn[0] = 255;
|
||||||
// gCollisionMesh[i].vtx2->v.cn[2] = 0;
|
gCollisionMesh[i].vtx3->v.cn[1] = 255;
|
||||||
// gCollisionMesh[i].vtx3->v.cn[0] = 255;
|
gCollisionMesh[i].vtx3->v.cn[2] = 0;
|
||||||
// gCollisionMesh[i].vtx3->v.cn[1] = 0;
|
break;
|
||||||
// gCollisionMesh[i].vtx3->v.cn[2] = 0;
|
case WOOD_BRIDGE:
|
||||||
break;
|
case ROPE_BRIDGE:
|
||||||
case BOOST_RAMP_WOOD:
|
case BRIDGE:
|
||||||
case BOOST_RAMP_ASPHALT:
|
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
||||||
case RAMP:
|
gDPTileSync(gDisplayListHead++);
|
||||||
gCollisionMesh[i].vtx1->v.cn[0] = 255;
|
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0,
|
||||||
gCollisionMesh[i].vtx1->v.cn[1] = 255;
|
G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD);
|
||||||
gCollisionMesh[i].vtx1->v.cn[2] = 0;
|
gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x007C, 0x007C);
|
||||||
gCollisionMesh[i].vtx2->v.cn[0] = 255;
|
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTexture676FB0);
|
||||||
gCollisionMesh[i].vtx2->v.cn[1] = 255;
|
gDPTileSync(gDisplayListHead++);
|
||||||
gCollisionMesh[i].vtx2->v.cn[2] = 0;
|
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
|
||||||
gCollisionMesh[i].vtx3->v.cn[0] = 255;
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP,
|
||||||
gCollisionMesh[i].vtx3->v.cn[1] = 255;
|
G_TX_NOMASK, G_TX_NOLOD);
|
||||||
gCollisionMesh[i].vtx3->v.cn[2] = 0;
|
gDPLoadSync(gDisplayListHead++);
|
||||||
break;
|
gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 1023, 256);
|
||||||
case WOOD_BRIDGE:
|
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||||
case ROPE_BRIDGE:
|
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||||
case BRIDGE:
|
// gCollisionMesh[i].vtx1->v.cn[0] = 0;
|
||||||
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
// gCollisionMesh[i].vtx1->v.cn[1] = 255;
|
||||||
gDPTileSync(gDisplayListHead++);
|
// gCollisionMesh[i].vtx1->v.cn[2] = 0;
|
||||||
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0,
|
// gCollisionMesh[i].vtx2->v.cn[0] = 0;
|
||||||
G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD);
|
// gCollisionMesh[i].vtx2->v.cn[1] = 255;
|
||||||
gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x007C, 0x007C);
|
// gCollisionMesh[i].vtx2->v.cn[2] = 0;
|
||||||
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTexture676FB0);
|
// gCollisionMesh[i].vtx3->v.cn[0] = 0;
|
||||||
gDPTileSync(gDisplayListHead++);
|
// gCollisionMesh[i].vtx3->v.cn[1] = 255;
|
||||||
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
|
// gCollisionMesh[i].vtx3->v.cn[2] = 0;
|
||||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
break;
|
||||||
G_TX_NOLOD);
|
}
|
||||||
gDPLoadSync(gDisplayListHead++);
|
|
||||||
gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 1023, 256);
|
|
||||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
|
||||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_INTER, G_RM_NOOP2);
|
|
||||||
// gCollisionMesh[i].vtx1->v.cn[0] = 0;
|
|
||||||
// gCollisionMesh[i].vtx1->v.cn[1] = 255;
|
|
||||||
// gCollisionMesh[i].vtx1->v.cn[2] = 0;
|
|
||||||
// gCollisionMesh[i].vtx2->v.cn[0] = 0;
|
|
||||||
// gCollisionMesh[i].vtx2->v.cn[1] = 255;
|
|
||||||
// gCollisionMesh[i].vtx2->v.cn[2] = 0;
|
|
||||||
// gCollisionMesh[i].vtx3->v.cn[0] = 0;
|
|
||||||
// gCollisionMesh[i].vtx3->v.cn[1] = 255;
|
|
||||||
// gCollisionMesh[i].vtx3->v.cn[2] = 0;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gSPVertex(gDisplayListHead++, gCollisionMesh[i].vtx1, 1, 0);
|
gSPVertex(gDisplayListHead++, gCollisionMesh[i].vtx1, 1, 0);
|
||||||
gSPVertex(gDisplayListHead++, gCollisionMesh[i].vtx2, 1, 1);
|
gSPVertex(gDisplayListHead++, gCollisionMesh[i].vtx2, 1, 1);
|
||||||
gSPVertex(gDisplayListHead++, gCollisionMesh[i].vtx3, 1, 2);
|
gSPVertex(gDisplayListHead++, gCollisionMesh[i].vtx3, 1, 2);
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@
|
||||||
#define MTX_EFFECT_POOL_SIZE_MAX MTX_EFFECT_POOL_SIZE + 100
|
#define MTX_EFFECT_POOL_SIZE_MAX MTX_EFFECT_POOL_SIZE + 100
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define GFX_POOL_SIZE 15000
|
#define GFX_POOL_SIZE 150000
|
||||||
|
|
||||||
struct GfxPool {
|
struct GfxPool {
|
||||||
/* 0x00000 */ Mtx mtxScreen; // Matrix for skybox and startup logo
|
/* 0x00000 */ Mtx mtxScreen; // Matrix for skybox and startup logo
|
||||||
|
|
|
||||||
|
|
@ -285,6 +285,12 @@ void CM_DrawTrack(ScreenContext* screen) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check if collision mesh rendering is enabled via CVar
|
||||||
|
if (CVarGetInteger("gRenderCollisionMesh", 0)) {
|
||||||
|
render_collision();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Custom tracks should never use DrawCredits();
|
// Custom tracks should never use DrawCredits();
|
||||||
if (GetWorld()->GetTrack()->IsMod()) {
|
if (GetWorld()->GetTrack()->IsMod()) {
|
||||||
switch(screen->camera->renderMode) {
|
switch(screen->camera->renderMode) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue