diff --git a/Makefile b/Makefile index ae641c7..1fe7673 100644 --- a/Makefile +++ b/Makefile @@ -359,6 +359,7 @@ build/src/scene/security_camera.o: build/src/audio/clips.h build/assets/models/p build/src/scene/signage.o: $(MODEL_HEADERS) build/src/scene/switch.o: build/assets/models/props/switch001.h build/assets/materials/static.h build/assets/models/dynamic_animated_model_list.h build/src/util/dynamic_asset_data.o: build/assets/models/dynamic_model_list_data.h +build/src/util/dynamic_animated_asset_data.o: build/assets/models/dynamic_animated_model_list_data.h build/src/util/dynamic_asset_loader.o: build/assets/models/dynamic_model_list.h build/assets/models/dynamic_animated_model_list.h build/src/menu/audio_options.o: build/src/audio/subtitles.h build/src/menu/video_options.o: build/src/audio/subtitles.h @@ -569,10 +570,11 @@ $(BASE_TARGET_NAME)_debug.z64: $(CODESEGMENT)_debug.o $(OBJECTS) $(DATA_OBJECTS) makemask $(BASE_TARGET_NAME)_debug.z64 clean: + rm -rf skelatool64/build rm -rf build rm -rf portal_pak_dir rm -rf portal_pak_modified - rm -rf assets/locales/ + rm -rf assets/locales clean-src: rm -rf build/src diff --git a/skelatool64/src/BoneHierarchy.cpp b/skelatool64/src/BoneHierarchy.cpp index 67fd8bc..3a0143f 100644 --- a/skelatool64/src/BoneHierarchy.cpp +++ b/skelatool64/src/BoneHierarchy.cpp @@ -28,7 +28,7 @@ Bone* Bone::GetParent() { return mParent; } -std::unique_ptr Bone::GenerateRestPosiitonData() { +std::unique_ptr Bone::GenerateRestPositionData() { std::unique_ptr result(new StructureDataChunk()); result->Add(std::unique_ptr(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; std::unique_ptr transformData(new StructureDataChunk()); 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::transform(boneName.begin(), boneName.end(), boneName.begin(), ::toupper); @@ -215,4 +216,4 @@ bool BoneHierarchy::HasData() const { unsigned int BoneHierarchy::GetBoneCount() const { return mBones.size(); -} \ No newline at end of file +} diff --git a/skelatool64/src/BoneHierarchy.h b/skelatool64/src/BoneHierarchy.h index 411576c..ec78beb 100644 --- a/skelatool64/src/BoneHierarchy.h +++ b/skelatool64/src/BoneHierarchy.h @@ -36,7 +36,7 @@ public: const std::string& GetName(); Bone* GetParent(); - std::unique_ptr GenerateRestPosiitonData(); + std::unique_ptr GenerateRestPositionData(); static Bone* FindCommonAncestor(Bone* a, Bone* b); /** @@ -72,7 +72,7 @@ public: bool HasData() const; unsigned int GetBoneCount() const; - void GenerateRestPosiitonData(CFileDefinition& fileDef, const std::string& variableName); + void GenerateRestPositionData(CFileDefinition& fileDef, const std::string& variableName); private: std::vector> mBones; std::map mBoneByName; diff --git a/skelatool64/src/DisplayList.cpp b/skelatool64/src/DisplayList.cpp index 9433b4b..60010d1 100644 --- a/skelatool64/src/DisplayList.cpp +++ b/skelatool64/src/DisplayList.cpp @@ -212,7 +212,8 @@ DisplayList::DisplayList(std::string name): } void DisplayList::AddCommand(std::unique_ptr command) { - mDataChunk->Add(std::move(command->GenerateCommand())); + auto generatedCommand = command->GenerateCommand(); + mDataChunk->Add(std::move(generatedCommand)); } StructureDataChunk& DisplayList::GetDataChunk() { @@ -237,4 +238,4 @@ std::unique_ptr DisplayList::Generate(const std::string& fileSuf result->AddTypeHeader(""); return result; -} \ No newline at end of file +} diff --git a/skelatool64/src/MeshWriter.cpp b/skelatool64/src/MeshWriter.cpp index 713c4b3..51fbbd7 100644 --- a/skelatool64/src/MeshWriter.cpp +++ b/skelatool64/src/MeshWriter.cpp @@ -15,8 +15,8 @@ void useTexture(std::set>& usedTextures, std: } usedTextures.insert(texture); - - fileDefinition.AddDefinition(std::move(texture->GenerateDefinition(fileDefinition.GetUniqueName(texture->Name()), fileSuffix))); + auto textureDefinition = texture->GenerateDefinition(fileDefinition.GetUniqueName(texture->Name()), fileSuffix); + fileDefinition.AddDefinition(std::move(textureDefinition)); std::shared_ptr pallete = texture->GetPallete(); if (!pallete || usedPalletes.find(pallete) != usedPalletes.end()) { @@ -24,7 +24,8 @@ void useTexture(std::set>& usedTextures, std: } 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) { @@ -150,4 +151,4 @@ std::string generateMesh(const aiScene* scene, CFileDefinition& fileDefinition, fileDefinition.AddDefinition(std::move(dlResult)); return displayList.GetName(); -} \ No newline at end of file +} diff --git a/skelatool64/src/definition_generator/AnimationGenerator.cpp b/skelatool64/src/definition_generator/AnimationGenerator.cpp index fe3178c..d09f4fe 100644 --- a/skelatool64/src/definition_generator/AnimationGenerator.cpp +++ b/skelatool64/src/definition_generator/AnimationGenerator.cpp @@ -266,7 +266,7 @@ AnimationResults generateAnimationForScene(const aiScene* scene, CFileDefinition std::string bonesName = fileDefinition.GetUniqueName("default_bones"); std::string boneParentName = fileDefinition.GetUniqueName("bone_parent"); - bones.GenerateRestPosiitonData(fileDefinition, bonesName); + bones.GenerateRestPositionData(fileDefinition, bonesName); std::string boneCountName = bonesName + "_COUNT"; std::transform(boneCountName.begin(), boneCountName.end(), boneCountName.begin(), ::toupper); fileDefinition.AddMacro(boneCountName, std::to_string(bones.GetBoneCount())); diff --git a/skelatool64/src/definition_generator/CollisionGenerator.cpp b/skelatool64/src/definition_generator/CollisionGenerator.cpp index 6e010d9..2b68749 100644 --- a/skelatool64/src/definition_generator/CollisionGenerator.cpp +++ b/skelatool64/src/definition_generator/CollisionGenerator.cpp @@ -83,8 +83,9 @@ std::shared_ptr generateCollision(const aiScene* scene if (namedEntry != "") { 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 colliderType(new StructureDataChunk()); colliderType->AddPrimitive("CollisionShapeTypeQuad"); @@ -174,4 +175,4 @@ void generateMeshCollider(CFileDefinition& fileDefinition, CollisionGeneratorOut std::unique_ptr definition(new DataFileDefinition("struct MeshCollider", colliderName, false, "_geo", std::move(meshColliderChunk))); definition->AddTypeHeader("\"physics/mesh_collider.h\""); fileDefinition.AddDefinition(std::move(definition)); -} \ No newline at end of file +} diff --git a/skelatool64/src/definition_generator/MaterialGenerator.cpp b/skelatool64/src/definition_generator/MaterialGenerator.cpp index b95a046..77acfd5 100644 --- a/skelatool64/src/definition_generator/MaterialGenerator.cpp +++ b/skelatool64/src/definition_generator/MaterialGenerator.cpp @@ -54,11 +54,13 @@ void MaterialGenerator::GenerateDefinitions(const aiScene* scene, CFileDefinitio } 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) { - 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; @@ -130,4 +132,4 @@ std::string MaterialGenerator::MaterialIndexMacroName(const std::string& materia std::transform(materialName.begin(), materialName.end(), result.begin(), ::toupper); makeCCompatible(result); return result + "_INDEX"; -} \ No newline at end of file +} diff --git a/skelatool64/src/lua_generator/LuaDefinitionWriter.cpp b/skelatool64/src/lua_generator/LuaDefinitionWriter.cpp index 664a1d8..026fdd0 100644 --- a/skelatool64/src/lua_generator/LuaDefinitionWriter.cpp +++ b/skelatool64/src/lua_generator/LuaDefinitionWriter.cpp @@ -20,7 +20,8 @@ std::unique_ptr buildMacroChunk(lua_State* L) { lua_pushnil(L); /* first key */ 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); @@ -39,7 +40,8 @@ std::unique_ptr buildStructureChunk(lua_State* L) { while (lua_next(L, topStart) != 0) { int keyType = lua_type(L, -2); if (keyType == LUA_TNUMBER) { - result->Add(std::move(buildDataChunk(L))); + auto dataChunk = buildDataChunk(L); + result->Add(std::move(dataChunk)); } else if (keyType == LUA_TSTRING) { namedEntries.push_back(std::pair>( lua_tostring(L, -2), @@ -308,4 +310,4 @@ int luaDefinitonWriterAppend(lua_State* L) { void populateLuaDefinitionWrite(lua_State* L, CFileDefinition& fileDef) { lua_pushlightuserdata(L, &fileDef); luaChainModuleLoader(L, "sk_definition_writer", luaDefinitonWriterAppend, 1); -} \ No newline at end of file +} diff --git a/skelatool64/src/materials/MaterialState.cpp b/skelatool64/src/materials/MaterialState.cpp index 8b9bfdf..9d14054 100644 --- a/skelatool64/src/materials/MaterialState.cpp +++ b/skelatool64/src/materials/MaterialState.cpp @@ -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.depthSource, (int)to.depthSource, "gsDPSetDepthSource", gDepthSourceNames, output); - std::unique_ptr geometryModes = std::move(generateGeometryModes(from, to)); + auto generatedGeometryModes = generateGeometryModes(from, to); + std::unique_ptr geometryModes = std::move(generatedGeometryModes); if (geometryModes) { output.Add(std::move(geometryModes)); } - std::unique_ptr combineMode = std::move(generateCombineMode(from, to)); + auto generatedCombineMode = generateCombineMode(from, to); + std::unique_ptr combineMode = std::move(generatedCombineMode); if (combineMode) { output.Add(std::move(combineMode)); } - std::unique_ptr renderMode = std::move(generateRenderMode(from, to)); + auto generatedRenderMode = generateRenderMode(from, to); + std::unique_ptr renderMode = std::move(generatedRenderMode); if (renderMode) { output.Add(std::move(renderMode)); } @@ -869,4 +872,4 @@ double materialTransitionTime(const MaterialState& from, const MaterialState& to } return result; -} \ No newline at end of file +}