Merge pull request #543 from hackgrid/fix-build-1

fix skelatool64 build
This commit is contained in:
lambertjamesd 2023-12-11 11:45:38 -07:00 committed by GitHub
commit e9a1ed12c6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 39 additions and 27 deletions

View file

@ -570,10 +570,11 @@ $(BASE_TARGET_NAME)_debug.z64: $(CODESEGMENT)_debug.o $(OBJECTS) $(DATA_OBJECTS)
makemask $(BASE_TARGET_NAME)_debug.z64 makemask $(BASE_TARGET_NAME)_debug.z64
clean: clean:
rm -rf skelatool64/build
rm -rf build rm -rf build
rm -rf portal_pak_dir rm -rf portal_pak_dir
rm -rf portal_pak_modified rm -rf portal_pak_modified
rm -rf assets/locales/ rm -rf assets/locales
clean-src: clean-src:
rm -rf build/src rm -rf build/src

View file

@ -28,7 +28,7 @@ Bone* Bone::GetParent() {
return mParent; return mParent;
} }
std::unique_ptr<DataChunk> Bone::GenerateRestPosiitonData() { std::unique_ptr<DataChunk> Bone::GenerateRestPositionData() {
std::unique_ptr<StructureDataChunk> result(new StructureDataChunk()); std::unique_ptr<StructureDataChunk> result(new StructureDataChunk());
result->Add(std::unique_ptr<DataChunk>(new StructureDataChunk(mRestPosition))); result->Add(std::unique_ptr<DataChunk>(new StructureDataChunk(mRestPosition)));
@ -190,13 +190,14 @@ Bone* BoneHierarchy::BoneForName(std::string name) {
} }
} }
void BoneHierarchy::GenerateRestPosiitonData(CFileDefinition& fileDef, const std::string& variableName) { void BoneHierarchy::GenerateRestPositionData(CFileDefinition& fileDef, const std::string& variableName) {
if (mBones.size() == 0) return; if (mBones.size() == 0) return;
std::unique_ptr<StructureDataChunk> transformData(new StructureDataChunk()); std::unique_ptr<StructureDataChunk> transformData(new StructureDataChunk());
for (unsigned int boneIndex = 0; boneIndex < mBones.size(); ++boneIndex) { for (unsigned int boneIndex = 0; boneIndex < mBones.size(); ++boneIndex) {
transformData->Add(std::move(mBones[boneIndex]->GenerateRestPosiitonData())); auto restPositionData = mBones[boneIndex]->GenerateRestPositionData();
transformData->Add(std::move(restPositionData));
std::string boneName = fileDef.GetUniqueName(mBones[boneIndex]->GetName() + "_BONE"); std::string boneName = fileDef.GetUniqueName(mBones[boneIndex]->GetName() + "_BONE");
std::transform(boneName.begin(), boneName.end(), boneName.begin(), ::toupper); std::transform(boneName.begin(), boneName.end(), boneName.begin(), ::toupper);

View file

@ -36,7 +36,7 @@ public:
const std::string& GetName(); const std::string& GetName();
Bone* GetParent(); Bone* GetParent();
std::unique_ptr<DataChunk> GenerateRestPosiitonData(); std::unique_ptr<DataChunk> GenerateRestPositionData();
static Bone* FindCommonAncestor(Bone* a, Bone* b); static Bone* FindCommonAncestor(Bone* a, Bone* b);
/** /**
@ -72,7 +72,7 @@ public:
bool HasData() const; bool HasData() const;
unsigned int GetBoneCount() const; unsigned int GetBoneCount() const;
void GenerateRestPosiitonData(CFileDefinition& fileDef, const std::string& variableName); void GenerateRestPositionData(CFileDefinition& fileDef, const std::string& variableName);
private: private:
std::vector<std::unique_ptr<Bone>> mBones; std::vector<std::unique_ptr<Bone>> mBones;
std::map<std::string, Bone*> mBoneByName; std::map<std::string, Bone*> mBoneByName;

View file

@ -212,7 +212,8 @@ DisplayList::DisplayList(std::string name):
} }
void DisplayList::AddCommand(std::unique_ptr<DisplayListCommand> command) { void DisplayList::AddCommand(std::unique_ptr<DisplayListCommand> command) {
mDataChunk->Add(std::move(command->GenerateCommand())); auto generatedCommand = command->GenerateCommand();
mDataChunk->Add(std::move(generatedCommand));
} }
StructureDataChunk& DisplayList::GetDataChunk() { StructureDataChunk& DisplayList::GetDataChunk() {

View file

@ -15,8 +15,8 @@ void useTexture(std::set<std::shared_ptr<TextureDefinition>>& usedTextures, std:
} }
usedTextures.insert(texture); usedTextures.insert(texture);
auto textureDefinition = texture->GenerateDefinition(fileDefinition.GetUniqueName(texture->Name()), fileSuffix);
fileDefinition.AddDefinition(std::move(texture->GenerateDefinition(fileDefinition.GetUniqueName(texture->Name()), fileSuffix))); fileDefinition.AddDefinition(std::move(textureDefinition));
std::shared_ptr<PalleteDefinition> pallete = texture->GetPallete(); std::shared_ptr<PalleteDefinition> pallete = texture->GetPallete();
if (!pallete || usedPalletes.find(pallete) != usedPalletes.end()) { if (!pallete || usedPalletes.find(pallete) != usedPalletes.end()) {
@ -24,7 +24,8 @@ void useTexture(std::set<std::shared_ptr<TextureDefinition>>& usedTextures, std:
} }
usedPalletes.insert(pallete); usedPalletes.insert(pallete);
fileDefinition.AddDefinition(std::move(pallete->GenerateDefinition(fileDefinition.GetUniqueName(pallete->Name()), fileSuffix))); auto palleteDefinition = pallete->GenerateDefinition(fileDefinition.GetUniqueName(pallete->Name()), fileSuffix);
fileDefinition.AddDefinition(std::move(palleteDefinition));
} }
void MaterialCollector::UseMaterial(const std::string& material, DisplayListSettings& settings) { void MaterialCollector::UseMaterial(const std::string& material, DisplayListSettings& settings) {

View file

@ -266,7 +266,7 @@ AnimationResults generateAnimationForScene(const aiScene* scene, CFileDefinition
std::string bonesName = fileDefinition.GetUniqueName("default_bones"); std::string bonesName = fileDefinition.GetUniqueName("default_bones");
std::string boneParentName = fileDefinition.GetUniqueName("bone_parent"); std::string boneParentName = fileDefinition.GetUniqueName("bone_parent");
bones.GenerateRestPosiitonData(fileDefinition, bonesName); bones.GenerateRestPositionData(fileDefinition, bonesName);
std::string boneCountName = bonesName + "_COUNT"; std::string boneCountName = bonesName + "_COUNT";
std::transform(boneCountName.begin(), boneCountName.end(), boneCountName.begin(), ::toupper); std::transform(boneCountName.begin(), boneCountName.end(), boneCountName.begin(), ::toupper);
fileDefinition.AddMacro(boneCountName, std::to_string(bones.GetBoneCount())); fileDefinition.AddMacro(boneCountName, std::to_string(bones.GetBoneCount()));

View file

@ -84,7 +84,8 @@ std::shared_ptr<CollisionGeneratorOutput> generateCollision(const aiScene* scene
fileDefinition.AddMacro(fileDefinition.GetMacroName(namedEntry + "_COLLISION_INDEX"), std::to_string(output->quads.size())); fileDefinition.AddMacro(fileDefinition.GetMacroName(namedEntry + "_COLLISION_INDEX"), std::to_string(output->quads.size()));
} }
collidersChunk->Add(std::move(collider.Generate())); auto generatedCollider = collider.Generate();
collidersChunk->Add(std::move(generatedCollider));
std::unique_ptr<StructureDataChunk> colliderType(new StructureDataChunk()); std::unique_ptr<StructureDataChunk> colliderType(new StructureDataChunk());
colliderType->AddPrimitive<const char*>("CollisionShapeTypeQuad"); colliderType->AddPrimitive<const char*>("CollisionShapeTypeQuad");

View file

@ -54,11 +54,13 @@ void MaterialGenerator::GenerateDefinitions(const aiScene* scene, CFileDefinitio
} }
for (auto& texture : textures) { for (auto& texture : textures) {
fileDefinition.AddDefinition(std::move(texture->GenerateDefinition(fileDefinition.GetUniqueName(texture->Name()), "_mat"))); auto textureDefinition = texture->GenerateDefinition(fileDefinition.GetUniqueName(texture->Name()), "_mat");
fileDefinition.AddDefinition(std::move(textureDefinition));
} }
for (auto& pallete : palletes) { for (auto& pallete : palletes) {
fileDefinition.AddDefinition(std::move(pallete->GenerateDefinition(fileDefinition.GetUniqueName(pallete->Name()), "_mat"))); auto palleteDefinition = pallete->GenerateDefinition(fileDefinition.GetUniqueName(pallete->Name()), "_mat");
fileDefinition.AddDefinition(std::move(palleteDefinition));
} }
int index = 0; int index = 0;

View file

@ -20,7 +20,8 @@ std::unique_ptr<DataChunk> buildMacroChunk(lua_State* L) {
lua_pushnil(L); /* first key */ lua_pushnil(L); /* first key */
while (lua_next(L, args) != 0) { while (lua_next(L, args) != 0) {
result->Add(std::move(buildDataChunk(L))); auto dataChunk = buildDataChunk(L);
result->Add(std::move(dataChunk));
lua_pop(L, 1); lua_pop(L, 1);
} }
lua_pop(L, 1); lua_pop(L, 1);
@ -39,7 +40,8 @@ std::unique_ptr<DataChunk> buildStructureChunk(lua_State* L) {
while (lua_next(L, topStart) != 0) { while (lua_next(L, topStart) != 0) {
int keyType = lua_type(L, -2); int keyType = lua_type(L, -2);
if (keyType == LUA_TNUMBER) { if (keyType == LUA_TNUMBER) {
result->Add(std::move(buildDataChunk(L))); auto dataChunk = buildDataChunk(L);
result->Add(std::move(dataChunk));
} else if (keyType == LUA_TSTRING) { } else if (keyType == LUA_TSTRING) {
namedEntries.push_back(std::pair<std::string, std::unique_ptr<DataChunk>>( namedEntries.push_back(std::pair<std::string, std::unique_ptr<DataChunk>>(
lua_tostring(L, -2), lua_tostring(L, -2),

View file

@ -601,17 +601,20 @@ void generateMaterial(CFileDefinition& fileDef, const MaterialState& from, const
generateEnumMacro((int)from.alphaCompare, (int)to.alphaCompare, "gsDPSetAlphaCompare", gAlphaCompareNames, output); generateEnumMacro((int)from.alphaCompare, (int)to.alphaCompare, "gsDPSetAlphaCompare", gAlphaCompareNames, output);
generateEnumMacro((int)from.depthSource, (int)to.depthSource, "gsDPSetDepthSource", gDepthSourceNames, output); generateEnumMacro((int)from.depthSource, (int)to.depthSource, "gsDPSetDepthSource", gDepthSourceNames, output);
std::unique_ptr<DataChunk> geometryModes = std::move(generateGeometryModes(from, to)); auto generatedGeometryModes = generateGeometryModes(from, to);
std::unique_ptr<DataChunk> geometryModes = std::move(generatedGeometryModes);
if (geometryModes) { if (geometryModes) {
output.Add(std::move(geometryModes)); output.Add(std::move(geometryModes));
} }
std::unique_ptr<DataChunk> combineMode = std::move(generateCombineMode(from, to)); auto generatedCombineMode = generateCombineMode(from, to);
std::unique_ptr<DataChunk> combineMode = std::move(generatedCombineMode);
if (combineMode) { if (combineMode) {
output.Add(std::move(combineMode)); output.Add(std::move(combineMode));
} }
std::unique_ptr<DataChunk> renderMode = std::move(generateRenderMode(from, to)); auto generatedRenderMode = generateRenderMode(from, to);
std::unique_ptr<DataChunk> renderMode = std::move(generatedRenderMode);
if (renderMode) { if (renderMode) {
output.Add(std::move(renderMode)); output.Add(std::move(renderMode));
} }