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