summaryrefslogtreecommitdiff
path: root/ZAPD/ZRoom/Commands/SetMesh.cpp
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2021-03-20 10:17:39 +0100
committerGitHub <noreply@github.com>2021-03-20 05:17:39 -0400
commit4751db5c9ee0a25a26379ca5b44efad72215d256 (patch)
treece49e6e23e352c93424343f75b2e10601457a9c3 /ZAPD/ZRoom/Commands/SetMesh.cpp
parent963a282dc10036f367a2cb09bb5651aefc73d2a4 (diff)
Add a clang-format config and reformat all source files (#63)
* build: Add genbuildinfo as a dependency for ZAPD object files * Add a clang-format config and reformat all source files The existing code style is mostly preserved; this just makes formatting more consistent and prevents lines from getting too long. * Fix missing includes
Diffstat (limited to 'ZAPD/ZRoom/Commands/SetMesh.cpp')
-rw-r--r--ZAPD/ZRoom/Commands/SetMesh.cpp252
1 files changed, 174 insertions, 78 deletions
diff --git a/ZAPD/ZRoom/Commands/SetMesh.cpp b/ZAPD/ZRoom/Commands/SetMesh.cpp
index a63ab83..4884e3e 100644
--- a/ZAPD/ZRoom/Commands/SetMesh.cpp
+++ b/ZAPD/ZRoom/Commands/SetMesh.cpp
@@ -1,14 +1,16 @@
#include "SetMesh.h"
-#include "../../ZFile.h"
-#include "../ZRoom.h"
+#include <Globals.h>
+#include <Path.h>
#include "../../BitConverter.h"
#include "../../StringHelper.h"
-#include <Path.h>
-#include <Globals.h>
+#include "../../ZFile.h"
+#include "../ZRoom.h"
using namespace std;
-SetMesh::SetMesh(ZRoom* nZRoom, std::vector<uint8_t> rawData, int rawDataIndex, int segAddressOffset) : ZRoomCommand(nZRoom, rawData, rawDataIndex)
+SetMesh::SetMesh(ZRoom* nZRoom, std::vector<uint8_t> rawData, int rawDataIndex,
+ int segAddressOffset)
+ : ZRoomCommand(nZRoom, rawData, rawDataIndex)
{
data = rawData[rawDataIndex + 1];
segmentOffset = GETSEGOFFSET(BitConverter::ToInt32BE(rawData, rawDataIndex + 4));
@@ -39,11 +41,17 @@ SetMesh::SetMesh(ZRoom* nZRoom, std::vector<uint8_t> rawData, int rawDataIndex,
{
MeshEntry0* entry = new MeshEntry0();
entry->opaqueDListAddr = GETSEGOFFSET(BitConverter::ToInt32BE(rawData, currentPtr + 0));
- entry->translucentDListAddr = GETSEGOFFSET(BitConverter::ToInt32BE(rawData, currentPtr + 4));
+ entry->translucentDListAddr =
+ GETSEGOFFSET(BitConverter::ToInt32BE(rawData, currentPtr + 4));
if (entry->opaqueDListAddr != 0)
{
- entry->opaqueDList = new ZDisplayList(rawData, entry->opaqueDListAddr, ZDisplayList::GetDListLength(rawData, entry->opaqueDListAddr, Globals::Instance->game == ZGame::OOT_SW97 ? DListType::F3DEX : DListType::F3DZEX));
+ entry->opaqueDList = new ZDisplayList(
+ rawData, entry->opaqueDListAddr,
+ ZDisplayList::GetDListLength(rawData, entry->opaqueDListAddr,
+ Globals::Instance->game == ZGame::OOT_SW97 ?
+ DListType::F3DEX :
+ DListType::F3DZEX));
entry->opaqueDList->scene = zRoom->scene;
entry->opaqueDList->parent = zRoom->parent;
GenDListDeclarations(rawData, entry->opaqueDList);
@@ -51,7 +59,12 @@ SetMesh::SetMesh(ZRoom* nZRoom, std::vector<uint8_t> rawData, int rawDataIndex,
if (entry->translucentDListAddr != 0)
{
- entry->translucentDList = new ZDisplayList(rawData, entry->translucentDListAddr, ZDisplayList::GetDListLength(rawData, entry->translucentDListAddr, Globals::Instance->game == ZGame::OOT_SW97 ? DListType::F3DEX : DListType::F3DZEX));
+ entry->translucentDList = new ZDisplayList(
+ rawData, entry->translucentDListAddr,
+ ZDisplayList::GetDListLength(rawData, entry->translucentDListAddr,
+ Globals::Instance->game == ZGame::OOT_SW97 ?
+ DListType::F3DEX :
+ DListType::F3DZEX));
entry->translucentDList->scene = zRoom->scene;
entry->translucentDList->parent = zRoom->parent;
GenDListDeclarations(rawData, entry->translucentDList);
@@ -65,16 +78,22 @@ SetMesh::SetMesh(ZRoom* nZRoom, std::vector<uint8_t> rawData, int rawDataIndex,
declaration += StringHelper::Sprintf("{ 0 }, 0x%02X, ", meshHeader0->entries.size());
if (meshHeader0->dListStart != 0)
- declaration += StringHelper::Sprintf("(u32)&%sMeshDListEntry0x%06X, ", zRoom->GetName().c_str(), meshHeader0->dListStart);
+ declaration += StringHelper::Sprintf("(u32)&%sMeshDListEntry0x%06X, ",
+ zRoom->GetName().c_str(), meshHeader0->dListStart);
else
declaration += "0, ";
if (meshHeader0->dListEnd != 0)
- declaration += StringHelper::Sprintf("(u32)&(%sMeshDListEntry0x%06X) + sizeof(%sMeshDListEntry0x%06X)", zRoom->GetName().c_str(), meshHeader0->dListStart, zRoom->GetName().c_str(), meshHeader0->dListStart);
+ declaration += StringHelper::Sprintf(
+ "(u32)&(%sMeshDListEntry0x%06X) + sizeof(%sMeshDListEntry0x%06X)",
+ zRoom->GetName().c_str(), meshHeader0->dListStart, zRoom->GetName().c_str(),
+ meshHeader0->dListStart);
else
declaration += "0";
- zRoom->parent->AddDeclaration(segmentOffset, DeclarationAlignment::Align16, 12, "MeshHeader0", StringHelper::Sprintf("%sMeshHeader0x%06X", zRoom->GetName().c_str(), segmentOffset),
+ zRoom->parent->AddDeclaration(
+ segmentOffset, DeclarationAlignment::Align16, 12, "MeshHeader0",
+ StringHelper::Sprintf("%sMeshHeader0x%06X", zRoom->GetName().c_str(), segmentOffset),
declaration);
declaration = "";
@@ -82,39 +101,51 @@ SetMesh::SetMesh(ZRoom* nZRoom, std::vector<uint8_t> rawData, int rawDataIndex,
for (size_t i = 0; i < meshHeader0->entries.size(); i++)
{
if (meshHeader0->entries[i]->opaqueDListAddr != 0)
- declaration += StringHelper::Sprintf("\t{ (u32)%sDL_%06X, ", zRoom->GetName().c_str(), meshHeader0->entries[i]->opaqueDListAddr);
+ declaration +=
+ StringHelper::Sprintf("\t{ (u32)%sDL_%06X, ", zRoom->GetName().c_str(),
+ meshHeader0->entries[i]->opaqueDListAddr);
else
declaration += "\t{ 0, ";
if (meshHeader0->entries[i]->translucentDListAddr != 0)
- declaration += StringHelper::Sprintf("(u32)%sDL_%06X },\n", zRoom->GetName().c_str(), meshHeader0->entries[i]->translucentDListAddr);
+ declaration +=
+ StringHelper::Sprintf("(u32)%sDL_%06X },\n", zRoom->GetName().c_str(),
+ meshHeader0->entries[i]->translucentDListAddr);
else
declaration += "0 },\n";
}
- zRoom->parent->AddDeclarationArray(meshHeader0->dListStart, DeclarationAlignment::None, DeclarationPadding::None, (meshHeader0->entries.size() * 8) + 0, "MeshEntry0",
- StringHelper::Sprintf("%sMeshDListEntry0x%06X", zRoom->GetName().c_str(), meshHeader0->dListStart), meshHeader0->entries.size(), declaration);
+ zRoom->parent->AddDeclarationArray(
+ meshHeader0->dListStart, DeclarationAlignment::None, DeclarationPadding::None,
+ (meshHeader0->entries.size() * 8) + 0, "MeshEntry0",
+ StringHelper::Sprintf("%sMeshDListEntry0x%06X", zRoom->GetName().c_str(),
+ meshHeader0->dListStart),
+ meshHeader0->entries.size(), declaration);
- zRoom->parent->AddDeclaration(meshHeader0->dListStart + (meshHeader0->entries.size() * 8) + 0, DeclarationAlignment::None, DeclarationPadding::Pad16, 4, "static s32",
- "terminatorMaybe", " 0x01000000 ");
+ zRoom->parent->AddDeclaration(meshHeader0->dListStart + (meshHeader0->entries.size() * 8) +
+ 0,
+ DeclarationAlignment::None, DeclarationPadding::Pad16, 4,
+ "static s32", "terminatorMaybe", " 0x01000000 ");
meshHeader = meshHeader0;
}
else if (meshHeaderType == 1)
{
MeshHeader1Base* meshHeader1 = nullptr;
-
+
uint8_t fmt = rawData[segmentOffset + 1];
- if (fmt == 1) // Single Format
+ if (fmt == 1) // Single Format
{
MeshHeader1Single* headerSingle = new MeshHeader1Single();
headerSingle->headerType = 1;
headerSingle->format = fmt;
- headerSingle->entryRecord = BitConverter::ToInt32BE(rawData, segmentOffset + 4);// &0x00FFFFFF;
+ headerSingle->entryRecord =
+ BitConverter::ToInt32BE(rawData, segmentOffset + 4); // &0x00FFFFFF;
- headerSingle->imagePtr = BitConverter::ToInt32BE(rawData, segmentOffset + 8);// &0x00FFFFFF;
+ headerSingle->imagePtr =
+ BitConverter::ToInt32BE(rawData, segmentOffset + 8); // &0x00FFFFFF;
headerSingle->unknown = BitConverter::ToInt32BE(rawData, segmentOffset + 12);
headerSingle->unknown2 = BitConverter::ToInt32BE(rawData, segmentOffset + 16);
headerSingle->bgWidth = BitConverter::ToInt16BE(rawData, segmentOffset + 20);
@@ -124,37 +155,50 @@ SetMesh::SetMesh(ZRoom* nZRoom, std::vector<uint8_t> rawData, int rawDataIndex,
headerSingle->imagePal = BitConverter::ToInt16BE(rawData, segmentOffset + 26);
headerSingle->imageFlip = BitConverter::ToInt16BE(rawData, segmentOffset + 28);
- declaration += StringHelper::Sprintf("{ { 1 }, 1, 0x%06X }, 0x%06X, ",
- headerSingle->entryRecord, headerSingle->imagePtr);
+ declaration += StringHelper::Sprintf("{ { 1 }, 1, 0x%06X }, 0x%06X, ",
+ headerSingle->entryRecord, headerSingle->imagePtr);
declaration += StringHelper::Sprintf("0x%06X, 0x%06X, %i, %i, %i, %i, %i, %i\n",
- headerSingle->unknown, headerSingle->unknown2, headerSingle->bgWidth, headerSingle->bgHeight, headerSingle->imageFormat, headerSingle->imageSize, headerSingle->imagePal, headerSingle->imageFlip);
-
- zRoom->parent->AddDeclaration(segmentOffset, DeclarationAlignment::None, DeclarationPadding::Pad16, 0x1E, "MeshHeader1Single",
- StringHelper::Sprintf("%sMeshHeader0x%06X", zRoom->GetName().c_str(), segmentOffset), declaration);
+ headerSingle->unknown, headerSingle->unknown2,
+ headerSingle->bgWidth, headerSingle->bgHeight,
+ headerSingle->imageFormat, headerSingle->imageSize,
+ headerSingle->imagePal, headerSingle->imageFlip);
+
+ zRoom->parent->AddDeclaration(segmentOffset, DeclarationAlignment::None,
+ DeclarationPadding::Pad16, 0x1E, "MeshHeader1Single",
+ StringHelper::Sprintf("%sMeshHeader0x%06X",
+ zRoom->GetName().c_str(),
+ segmentOffset),
+ declaration);
meshHeader1 = headerSingle;
}
- else if (fmt == 2) // Multi-Format
+ else if (fmt == 2) // Multi-Format
{
MeshHeader1Multi* headerMulti = new MeshHeader1Multi();
headerMulti->headerType = 1;
headerMulti->format = fmt;
- headerMulti->entryRecord = BitConverter::ToInt32BE(rawData, segmentOffset + 4);// &0x00FFFFFF;
+ headerMulti->entryRecord =
+ BitConverter::ToInt32BE(rawData, segmentOffset + 4); // &0x00FFFFFF;
headerMulti->bgCnt = rawData[segmentOffset + 8];
headerMulti->bgRecordPtr = BitConverter::ToInt32BE(rawData, segmentOffset + 12);
declaration += StringHelper::Sprintf("{ { 1 }, 2, 0x%06X }, 0x%06X, 0x%06X",
- headerMulti->entryRecord, headerMulti->bgCnt, headerMulti->bgRecordPtr);
+ headerMulti->entryRecord, headerMulti->bgCnt,
+ headerMulti->bgRecordPtr);
- zRoom->parent->AddDeclaration(segmentOffset, DeclarationAlignment::None, DeclarationPadding::Pad16, 16, "MeshHeader1Multi",
- StringHelper::Sprintf("%sMeshHeader0x%06X", zRoom->GetName().c_str(), segmentOffset), declaration);
+ zRoom->parent->AddDeclaration(segmentOffset, DeclarationAlignment::None,
+ DeclarationPadding::Pad16, 16, "MeshHeader1Multi",
+ StringHelper::Sprintf("%sMeshHeader0x%06X",
+ zRoom->GetName().c_str(),
+ segmentOffset),
+ declaration);
meshHeader1 = headerMulti;
}
- else // UH OH
+ else // UH OH
{
if (Globals::Instance->verbosity >= VERBOSITY_INFO)
printf("WARNING: MeshHeader FMT %i not implemented!\n", fmt);
@@ -164,14 +208,13 @@ SetMesh::SetMesh(ZRoom* nZRoom, std::vector<uint8_t> rawData, int rawDataIndex,
meshHeader1->format = fmt;
meshHeader1->entryRecord = BitConverter::ToInt32BE(rawData, segmentOffset + 4) & 0x00FFFFFF;
-
meshHeader = meshHeader1;
}
else if (meshHeaderType == 2)
{
MeshHeader2* meshHeader2 = new MeshHeader2();
meshHeader2->headerType = 2;
-
+
meshHeader2->entries = vector<MeshEntry2*>();
meshHeader2->dListStart = GETSEGOFFSET(BitConverter::ToInt32BE(rawData, segmentOffset + 4));
meshHeader2->dListEnd = GETSEGOFFSET(BitConverter::ToInt32BE(rawData, segmentOffset + 8));
@@ -189,22 +232,33 @@ SetMesh::SetMesh(ZRoom* nZRoom, std::vector<uint8_t> rawData, int rawDataIndex,
entry->playerZMin = BitConverter::ToInt16BE(rawData, currentPtr + 6);
entry->opaqueDListAddr = BitConverter::ToInt32BE(rawData, currentPtr + 8) & 0x00FFFFFF;
- entry->translucentDListAddr = BitConverter::ToInt32BE(rawData, currentPtr + 12) & 0x00FFFFFF;
+ entry->translucentDListAddr =
+ BitConverter::ToInt32BE(rawData, currentPtr + 12) & 0x00FFFFFF;
if (entry->opaqueDListAddr != 0)
{
- entry->opaqueDList = new ZDisplayList(rawData, entry->opaqueDListAddr, ZDisplayList::GetDListLength(rawData, entry->opaqueDListAddr, Globals::Instance->game == ZGame::OOT_SW97 ? DListType::F3DEX : DListType::F3DZEX));
+ entry->opaqueDList = new ZDisplayList(
+ rawData, entry->opaqueDListAddr,
+ ZDisplayList::GetDListLength(rawData, entry->opaqueDListAddr,
+ Globals::Instance->game == ZGame::OOT_SW97 ?
+ DListType::F3DEX :
+ DListType::F3DZEX));
entry->opaqueDList->scene = zRoom->scene;
entry->opaqueDList->parent = zRoom->parent;
- GenDListDeclarations(rawData, entry->opaqueDList); // HOTSPOT
+ GenDListDeclarations(rawData, entry->opaqueDList); // HOTSPOT
}
if (entry->translucentDListAddr != 0)
{
- entry->translucentDList = new ZDisplayList(rawData, entry->translucentDListAddr, ZDisplayList::GetDListLength(rawData, entry->translucentDListAddr, Globals::Instance->game == ZGame::OOT_SW97 ? DListType::F3DEX : DListType::F3DZEX));
+ entry->translucentDList = new ZDisplayList(
+ rawData, entry->translucentDListAddr,
+ ZDisplayList::GetDListLength(rawData, entry->translucentDListAddr,
+ Globals::Instance->game == ZGame::OOT_SW97 ?
+ DListType::F3DEX :
+ DListType::F3DZEX));
entry->translucentDList->scene = zRoom->scene;
entry->translucentDList->parent = zRoom->parent;
- GenDListDeclarations(rawData, entry->translucentDList); // HOTSPOT
+ GenDListDeclarations(rawData, entry->translucentDList); // HOTSPOT
}
meshHeader2->entries.push_back(entry);
@@ -215,40 +269,57 @@ SetMesh::SetMesh(ZRoom* nZRoom, std::vector<uint8_t> rawData, int rawDataIndex,
declaration += StringHelper::Sprintf("{ 2 }, 0x%02lX, ", meshHeader2->entries.size());
if (meshHeader2->dListStart != 0)
- declaration += StringHelper::Sprintf("(u32)&%sMeshDListEntry0x%06X, ", zRoom->GetName().c_str(), meshHeader2->dListStart);
+ declaration += StringHelper::Sprintf("(u32)&%sMeshDListEntry0x%06X, ",
+ zRoom->GetName().c_str(), meshHeader2->dListStart);
else
declaration += "0, ";
if (meshHeader2->dListEnd != 0)
- declaration += StringHelper::Sprintf("(u32)&(%sMeshDListEntry0x%06X) + sizeof(%sMeshDListEntry0x%06X)", zRoom->GetName().c_str(), meshHeader2->dListStart, zRoom->GetName().c_str(), meshHeader2->dListStart);
+ declaration += StringHelper::Sprintf(
+ "(u32)&(%sMeshDListEntry0x%06X) + sizeof(%sMeshDListEntry0x%06X)",
+ zRoom->GetName().c_str(), meshHeader2->dListStart, zRoom->GetName().c_str(),
+ meshHeader2->dListStart);
else
declaration += "0";
- zRoom->parent->AddDeclaration(segmentOffset, DeclarationAlignment::None, 12, "MeshHeader2",
- StringHelper::Sprintf("%sMeshHeader0x%06X", zRoom->GetName().c_str(), segmentOffset), declaration);
+ zRoom->parent->AddDeclaration(
+ segmentOffset, DeclarationAlignment::None, 12, "MeshHeader2",
+ StringHelper::Sprintf("%sMeshHeader0x%06X", zRoom->GetName().c_str(), segmentOffset),
+ declaration);
declaration = "";
for (size_t i = 0; i < meshHeader2->entries.size(); i++)
{
- declaration += StringHelper::Sprintf("\t{ %i, %i, %i, %i, ", meshHeader2->entries[i]->playerXMax, meshHeader2->entries[i]->playerZMax, meshHeader2->entries[i]->playerXMin, meshHeader2->entries[i]->playerZMin);
+ declaration += StringHelper::Sprintf(
+ "\t{ %i, %i, %i, %i, ", meshHeader2->entries[i]->playerXMax,
+ meshHeader2->entries[i]->playerZMax, meshHeader2->entries[i]->playerXMin,
+ meshHeader2->entries[i]->playerZMin);
if (meshHeader2->entries[i]->opaqueDListAddr != 0)
- declaration += StringHelper::Sprintf("(u32)%sDL_%06X, ", zRoom->GetName().c_str(), meshHeader2->entries[i]->opaqueDListAddr);
+ declaration += StringHelper::Sprintf("(u32)%sDL_%06X, ", zRoom->GetName().c_str(),
+ meshHeader2->entries[i]->opaqueDListAddr);
else
declaration += "0, ";
if (meshHeader2->entries[i]->translucentDListAddr != 0)
- declaration += StringHelper::Sprintf("(u32)%sDL_%06X },\n", zRoom->GetName().c_str(), meshHeader2->entries[i]->translucentDListAddr);
+ declaration +=
+ StringHelper::Sprintf("(u32)%sDL_%06X },\n", zRoom->GetName().c_str(),
+ meshHeader2->entries[i]->translucentDListAddr);
else
declaration += "0 },\n";
}
- zRoom->parent->AddDeclarationArray(meshHeader2->dListStart, DeclarationAlignment::None, DeclarationPadding::None, (meshHeader2->entries.size() * 16) + 0,
- "MeshEntry2", StringHelper::Sprintf("%sMeshDListEntry0x%06X", zRoom->GetName().c_str(), meshHeader2->dListStart, meshHeader2->entries.size()), meshHeader2->entries.size(), declaration);
+ zRoom->parent->AddDeclarationArray(
+ meshHeader2->dListStart, DeclarationAlignment::None, DeclarationPadding::None,
+ (meshHeader2->entries.size() * 16) + 0, "MeshEntry2",
+ StringHelper::Sprintf("%sMeshDListEntry0x%06X", zRoom->GetName().c_str(),
+ meshHeader2->dListStart, meshHeader2->entries.size()),
+ meshHeader2->entries.size(), declaration);
- zRoom->parent->AddDeclaration(meshHeader2->dListStart + (meshHeader2->entries.size() * 16), DeclarationAlignment::None, DeclarationPadding::Pad16, 4, "static s32",
- "terminatorMaybe", "0x01000000");
+ zRoom->parent->AddDeclaration(meshHeader2->dListStart + (meshHeader2->entries.size() * 16),
+ DeclarationAlignment::None, DeclarationPadding::Pad16, 4,
+ "static s32", "terminatorMaybe", "0x01000000");
meshHeader = meshHeader2;
}
@@ -267,23 +338,27 @@ void SetMesh::GenDListDeclarations(std::vector<uint8_t> rawData, ZDisplayList* d
{
string srcVarName = "";
- //if (Globals::Instance->includeFilePrefix)
- srcVarName = StringHelper::Sprintf("%s%s", zRoom->GetName().c_str(), dList->GetName().c_str());
- //else
- //srcVarName = StringHelper::Sprintf("%s", dList->GetName().c_str());
+ // if (Globals::Instance->includeFilePrefix)
+ srcVarName = StringHelper::Sprintf("%s%s", zRoom->GetName().c_str(), dList->GetName().c_str());
+ // else
+ // srcVarName = StringHelper::Sprintf("%s", dList->GetName().c_str());
dList->SetName(srcVarName);
- string sourceOutput = dList->GetSourceOutputCode(zRoom->GetName()); // HOTSPOT
+ string sourceOutput = dList->GetSourceOutputCode(zRoom->GetName()); // HOTSPOT
- //zRoom->parent->AddDeclarationArray(dList->GetRawDataIndex(), DeclarationAlignment::None, dList->GetRawDataSize(), "static Gfx", srcVarName, dList->GetRawDataSize() / 8, sourceOutput);
+ // zRoom->parent->AddDeclarationArray(dList->GetRawDataIndex(), DeclarationAlignment::None,
+ // dList->GetRawDataSize(), "static Gfx", srcVarName, dList->GetRawDataSize() / 8, sourceOutput);
for (ZDisplayList* otherDList : dList->otherDLists)
GenDListDeclarations(rawData, otherDList);
for (pair<uint32_t, string> vtxEntry : dList->vtxDeclarations)
{
- zRoom->parent->AddDeclarationArray(vtxEntry.first, DeclarationAlignment::Align8, dList->vertices[vtxEntry.first].size() * 16, "static Vtx",
- StringHelper::Sprintf("%sVtx_%06X", zRoom->GetName().c_str(), vtxEntry.first), dList->vertices[vtxEntry.first].size(), vtxEntry.second);
+ zRoom->parent->AddDeclarationArray(
+ vtxEntry.first, DeclarationAlignment::Align8,
+ dList->vertices[vtxEntry.first].size() * 16, "static Vtx",
+ StringHelper::Sprintf("%sVtx_%06X", zRoom->GetName().c_str(), vtxEntry.first),
+ dList->vertices[vtxEntry.first].size(), vtxEntry.second);
}
for (pair<uint32_t, string> texEntry : dList->texDeclarations)
@@ -292,21 +367,30 @@ void SetMesh::GenDListDeclarations(std::vector<uint8_t> rawData, ZDisplayList* d
if (Globals::Instance->verbosity >= VERBOSITY_DEBUG)
printf("SAVING IMAGE TO %s\n", Globals::Instance->outputPath.c_str());
-
+
zRoom->textures[texEntry.first]->Save(Globals::Instance->outputPath);
- zRoom->parent->AddDeclarationIncludeArray(texEntry.first, StringHelper::Sprintf("%s/%s.%s.inc.c",
- Globals::Instance->outputPath.c_str(), Path::GetFileNameWithoutExtension(zRoom->textures[texEntry.first]->GetName()).c_str(), zRoom->textures[texEntry.first]->GetExternalExtension().c_str()),
- zRoom->textures[texEntry.first]->GetRawDataSize(), "u64", StringHelper::Sprintf("%s", zRoom->textures[texEntry.first]->GetName().c_str(), texEntry.first), 0);
+ zRoom->parent->AddDeclarationIncludeArray(
+ texEntry.first,
+ StringHelper::Sprintf(
+ "%s/%s.%s.inc.c", Globals::Instance->outputPath.c_str(),
+ Path::GetFileNameWithoutExtension(zRoom->textures[texEntry.first]->GetName())
+ .c_str(),
+ zRoom->textures[texEntry.first]->GetExternalExtension().c_str()),
+ zRoom->textures[texEntry.first]->GetRawDataSize(), "u64",
+ StringHelper::Sprintf("%s", zRoom->textures[texEntry.first]->GetName().c_str(),
+ texEntry.first),
+ 0);
}
}
std::string SetMesh::GenDListExterns(ZDisplayList* dList)
{
string sourceOutput = "";
-
+
if (Globals::Instance->includeFilePrefix)
- sourceOutput += StringHelper::Sprintf("extern Gfx %sDL_%06X[];\n", zRoom->GetName().c_str(), dList->GetRawDataIndex());
+ sourceOutput += StringHelper::Sprintf("extern Gfx %sDL_%06X[];\n", zRoom->GetName().c_str(),
+ dList->GetRawDataIndex());
else
sourceOutput += StringHelper::Sprintf("extern Gfx DL_%06X[];\n", dList->GetRawDataIndex());
@@ -314,7 +398,8 @@ std::string SetMesh::GenDListExterns(ZDisplayList* dList)
sourceOutput += GenDListExterns(otherDList);
for (pair<uint32_t, string> texEntry : dList->texDeclarations)
- sourceOutput += StringHelper::Sprintf("extern u64 %sTex_%06X[];\n", zRoom->GetName().c_str(), texEntry.first);
+ sourceOutput += StringHelper::Sprintf("extern u64 %sTex_%06X[];\n",
+ zRoom->GetName().c_str(), texEntry.first);
sourceOutput += dList->defines;
@@ -324,17 +409,20 @@ std::string SetMesh::GenDListExterns(ZDisplayList* dList)
string SetMesh::GenerateSourceCodePass1(string roomName, int baseAddress)
{
string sourceOutput = "";
-
- sourceOutput += StringHelper::Sprintf("%s %i, (u32)&%sMeshHeader0x%06X", ZRoomCommand::GenerateSourceCodePass1(roomName, baseAddress).c_str(), data, zRoom->GetName().c_str(), segmentOffset);
+
+ sourceOutput +=
+ StringHelper::Sprintf("%s %i, (u32)&%sMeshHeader0x%06X",
+ ZRoomCommand::GenerateSourceCodePass1(roomName, baseAddress).c_str(),
+ data, zRoom->GetName().c_str(), segmentOffset);
/*if (meshHeader->headerType == 0)
{
- MeshHeader0* meshHeader0 = (MeshHeader0*)meshHeader;
+ MeshHeader0* meshHeader0 = (MeshHeader0*)meshHeader;
}
else
{
- sourceOutput += "// SetMesh UNIMPLEMENTED HEADER TYPE!\n";
+ sourceOutput += "// SetMesh UNIMPLEMENTED HEADER TYPE!\n";
}
*/
return sourceOutput;
@@ -348,9 +436,12 @@ string SetMesh::GenerateExterns()
{
MeshHeader0* meshHeader0 = (MeshHeader0*)meshHeader;
- sourceOutput += StringHelper::Sprintf("extern MeshHeader0 %sMeshHeader0x%06X;\n", zRoom->GetName().c_str(), segmentOffset);
- sourceOutput += StringHelper::Sprintf("extern MeshEntry0 %sMeshDListEntry0x%06X[%i];\n", zRoom->GetName().c_str(), meshHeader0->dListStart, meshHeader0->entries.size());
-
+ sourceOutput += StringHelper::Sprintf("extern MeshHeader0 %sMeshHeader0x%06X;\n",
+ zRoom->GetName().c_str(), segmentOffset);
+ sourceOutput += StringHelper::Sprintf("extern MeshEntry0 %sMeshDListEntry0x%06X[%i];\n",
+ zRoom->GetName().c_str(), meshHeader0->dListStart,
+ meshHeader0->entries.size());
+
for (MeshEntry0* entry : meshHeader0->entries)
{
if (entry->opaqueDList != nullptr)
@@ -365,16 +456,21 @@ string SetMesh::GenerateExterns()
MeshHeader1Base* meshHeader1 = (MeshHeader1Base*)meshHeader;
if (meshHeader1->format == 1)
- sourceOutput += StringHelper::Sprintf("extern MeshHeader1Single %sMeshHeader0x%06X;\n", zRoom->GetName().c_str(), segmentOffset);
+ sourceOutput += StringHelper::Sprintf("extern MeshHeader1Single %sMeshHeader0x%06X;\n",
+ zRoom->GetName().c_str(), segmentOffset);
else if (meshHeader1->format == 2)
- sourceOutput += StringHelper::Sprintf("extern MeshHeader1Multi %sMeshHeader0x%06X;\n", zRoom->GetName().c_str(), segmentOffset);
+ sourceOutput += StringHelper::Sprintf("extern MeshHeader1Multi %sMeshHeader0x%06X;\n",
+ zRoom->GetName().c_str(), segmentOffset);
}
else if (meshHeader->headerType == 2)
{
MeshHeader2* meshHeader2 = (MeshHeader2*)meshHeader;
- sourceOutput += StringHelper::Sprintf("extern MeshHeader2 %sMeshHeader0x%06X;\n", zRoom->GetName().c_str(), segmentOffset);
- sourceOutput += StringHelper::Sprintf("extern MeshEntry2 %sMeshDListEntry0x%06X[%i];\n", zRoom->GetName().c_str(), meshHeader2->dListStart, meshHeader2->entries.size());
+ sourceOutput += StringHelper::Sprintf("extern MeshHeader2 %sMeshHeader0x%06X;\n",
+ zRoom->GetName().c_str(), segmentOffset);
+ sourceOutput += StringHelper::Sprintf("extern MeshEntry2 %sMeshDListEntry0x%06X[%i];\n",
+ zRoom->GetName().c_str(), meshHeader2->dListStart,
+ meshHeader2->entries.size());
for (MeshEntry2* entry : meshHeader2->entries)
{
@@ -387,7 +483,7 @@ string SetMesh::GenerateExterns()
}
else
{
- //sourceOutput += "// SetMesh UNIMPLEMENTED HEADER TYPE!\n";
+ // sourceOutput += "// SetMesh UNIMPLEMENTED HEADER TYPE!\n";
}
return sourceOutput;