Cleanup.
This commit is contained in:
		
							parent
							
								
									f6f7e92cea
								
							
						
					
					
						commit
						89fedce539
					
				| @ -45,8 +45,6 @@ set(ThirdPartyIncludeDeps | ||||
| 
 | ||||
| # Shared code by main executable and tests | ||||
| add_library(AnimTestbedCode OBJECT | ||||
|         src/SyncTrack.cc | ||||
|         src/SyncTrack.h | ||||
|         src/ozzutils.cc | ||||
|         src/AnimGraph/AnimGraphNodes.cc | ||||
|         src/AnimGraph/AnimGraphNodes.h | ||||
| @ -59,7 +57,9 @@ add_library(AnimTestbedCode OBJECT | ||||
|         src/AnimGraph/AnimNode.cc | ||||
|         src/AnimGraph/AnimNode.h | ||||
|         src/AnimGraph/AnimGraphResource.cc | ||||
|         src/AnimGraph/AnimGraphResource.h) | ||||
|         src/AnimGraph/AnimGraphResource.h | ||||
|         src/AnimGraph/SyncTrack.cc | ||||
|         src/AnimGraph/SyncTrack.h) | ||||
| 
 | ||||
| target_include_directories( | ||||
|         AnimTestbedCode | ||||
|  | ||||
| @ -155,21 +155,7 @@ void SyncTrackEditor(SyncTrack* sync_track) { | ||||
|   } | ||||
| 
 | ||||
|   ImGui::Text("Marker:"); | ||||
|   for (int i = 0; i < sync_track->m_num_intervals; i++) { | ||||
|     ImGui::Text("%2d:", i); | ||||
|     ImGui::SameLine(); | ||||
|     std::ostringstream marker_stream; | ||||
|     marker_stream << i; | ||||
|     ImGui::SliderFloat( | ||||
|         marker_stream.str().c_str(), | ||||
|         &sync_track->m_sync_markers[i], | ||||
|         0.f, | ||||
|         1.f); | ||||
|   } | ||||
| 
 | ||||
|   if (ImGui::Button("Update Intervals")) { | ||||
|     sync_track->CalcIntervals(); | ||||
|   } | ||||
|   ImGui::Text("TODO"); | ||||
| } | ||||
| 
 | ||||
| void SkinnedMeshWidget(SkinnedMesh* skinned_mesh) { | ||||
|  | ||||
| @ -9,34 +9,9 @@ | ||||
| 
 | ||||
| #include "3rdparty/json/json.hpp" | ||||
| 
 | ||||
| inline void to_json(nlohmann::json& j, const SyncTrack& syncTrack) { | ||||
|   j["type"] = "SyncTrack"; | ||||
|   j["duration"] = syncTrack.m_duration; | ||||
|   for (int i = 0; i < syncTrack.m_num_intervals; i++) { | ||||
|     j["markers"][i] = syncTrack.m_sync_markers[i]; | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| inline void from_json(const nlohmann::json& j, SyncTrack& syncTrack) { | ||||
|   if (!j.contains("type") || j["type"] != "SyncTrack") { | ||||
|     std::cerr << "Unable to parse SyncTrack: wrong json type!" << std::endl; | ||||
|     return; | ||||
|   } | ||||
| 
 | ||||
|   syncTrack.m_duration = j["duration"]; | ||||
|   syncTrack.m_num_intervals = j["markers"].size(); | ||||
| 
 | ||||
|   if (syncTrack.m_num_intervals > cSyncTrackMaxIntervals) { | ||||
|     std::cerr << "Invalid number of sync intervals: found " << syncTrack.m_num_intervals << " maximum is " << cSyncTrackMaxIntervals << "." << std::endl; | ||||
|     syncTrack = SyncTrack(); | ||||
|   } | ||||
| 
 | ||||
|   for (int i = 0; i < syncTrack.m_num_intervals; i++) { | ||||
|     syncTrack.m_sync_markers[i] = j["markers"].at(i); | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| inline void to_json(nlohmann::json& j, const SkinnedMeshResource& skinnedMeshResource) { | ||||
| inline void to_json( | ||||
|     nlohmann::json& j, | ||||
|     const SkinnedMeshResource& skinnedMeshResource) { | ||||
|   j["type"] = "SkinnedMeshResource"; | ||||
|   j["skeleton"]["file"] = skinnedMeshResource.m_skeleton_file; | ||||
|   for (int i = 0; i < skinnedMeshResource.m_animation_files.size(); i++) { | ||||
| @ -45,15 +20,18 @@ inline void to_json(nlohmann::json& j, const SkinnedMeshResource& skinnedMeshRes | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| inline void from_json(const nlohmann::json& j, SkinnedMeshResource& skinnedMeshResource) { | ||||
| inline void from_json( | ||||
|     const nlohmann::json& j, | ||||
|     SkinnedMeshResource& skinnedMeshResource) { | ||||
|   if (!j.contains("type") || j["type"] != "SkinnedMeshResource") { | ||||
|     std::cerr << "Unable to parse SkinnedMeshResource: wrong json type!" << std::endl; | ||||
|     std::cerr << "Unable to parse SkinnedMeshResource: wrong json type!" | ||||
|               << std::endl; | ||||
|     return; | ||||
|   } | ||||
| 
 | ||||
|   if (!j.contains("skeleton") || !j["skeleton"].contains("file")) { | ||||
|     std::cerr << "Unable to parse SkinnedMeshResource: no skeleton file found!" << std::endl; | ||||
| 
 | ||||
|     std::cerr << "Unable to parse SkinnedMeshResource: no skeleton file found!" | ||||
|               << std::endl; | ||||
|   } | ||||
| 
 | ||||
|   skinnedMeshResource.m_skeleton_file = j["skeleton"]["file"]; | ||||
| @ -62,13 +40,18 @@ inline void from_json(const nlohmann::json& j, SkinnedMeshResource& skinnedMeshR | ||||
|     int num_animations = j["animations"].size(); | ||||
| 
 | ||||
|     for (int i = 0; i < num_animations; i++) { | ||||
|       if (!j["animations"][i].contains("file") || !j["animations"][i].contains("sync_track")) { | ||||
|         std::cerr << "Unable to parse SkinnedMeshResource: invalid animation definition" << std::endl; | ||||
|       if (!j["animations"][i].contains("file") | ||||
|           || !j["animations"][i].contains("sync_track")) { | ||||
|         std::cerr << "Unable to parse SkinnedMeshResource: invalid animation " | ||||
|                      "definition" | ||||
|                   << std::endl; | ||||
|         return; | ||||
|       } | ||||
| 
 | ||||
|       skinnedMeshResource.m_animation_files.push_back(j["animations"][i]["file"]); | ||||
|       skinnedMeshResource.m_sync_tracks.push_back(j["animations"][i]["sync_track"].get<SyncTrack>()); | ||||
|       skinnedMeshResource.m_animation_files.push_back( | ||||
|           j["animations"][i]["file"]); | ||||
|       skinnedMeshResource.m_sync_tracks.push_back( | ||||
|           j["animations"][i]["sync_track"].get<SyncTrack>()); | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Martin Felis
						Martin Felis