Cleanup.
This commit is contained in:
parent
f6f7e92cea
commit
89fedce539
@ -45,8 +45,6 @@ set(ThirdPartyIncludeDeps
|
|||||||
|
|
||||||
# Shared code by main executable and tests
|
# Shared code by main executable and tests
|
||||||
add_library(AnimTestbedCode OBJECT
|
add_library(AnimTestbedCode OBJECT
|
||||||
src/SyncTrack.cc
|
|
||||||
src/SyncTrack.h
|
|
||||||
src/ozzutils.cc
|
src/ozzutils.cc
|
||||||
src/AnimGraph/AnimGraphNodes.cc
|
src/AnimGraph/AnimGraphNodes.cc
|
||||||
src/AnimGraph/AnimGraphNodes.h
|
src/AnimGraph/AnimGraphNodes.h
|
||||||
@ -59,7 +57,9 @@ add_library(AnimTestbedCode OBJECT
|
|||||||
src/AnimGraph/AnimNode.cc
|
src/AnimGraph/AnimNode.cc
|
||||||
src/AnimGraph/AnimNode.h
|
src/AnimGraph/AnimNode.h
|
||||||
src/AnimGraph/AnimGraphResource.cc
|
src/AnimGraph/AnimGraphResource.cc
|
||||||
src/AnimGraph/AnimGraphResource.h)
|
src/AnimGraph/AnimGraphResource.h
|
||||||
|
src/AnimGraph/SyncTrack.cc
|
||||||
|
src/AnimGraph/SyncTrack.h)
|
||||||
|
|
||||||
target_include_directories(
|
target_include_directories(
|
||||||
AnimTestbedCode
|
AnimTestbedCode
|
||||||
|
@ -155,21 +155,7 @@ void SyncTrackEditor(SyncTrack* sync_track) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ImGui::Text("Marker:");
|
ImGui::Text("Marker:");
|
||||||
for (int i = 0; i < sync_track->m_num_intervals; i++) {
|
ImGui::Text("TODO");
|
||||||
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();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SkinnedMeshWidget(SkinnedMesh* skinned_mesh) {
|
void SkinnedMeshWidget(SkinnedMesh* skinned_mesh) {
|
||||||
|
@ -9,34 +9,9 @@
|
|||||||
|
|
||||||
#include "3rdparty/json/json.hpp"
|
#include "3rdparty/json/json.hpp"
|
||||||
|
|
||||||
inline void to_json(nlohmann::json& j, const SyncTrack& syncTrack) {
|
inline void to_json(
|
||||||
j["type"] = "SyncTrack";
|
nlohmann::json& j,
|
||||||
j["duration"] = syncTrack.m_duration;
|
const SkinnedMeshResource& skinnedMeshResource) {
|
||||||
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) {
|
|
||||||
j["type"] = "SkinnedMeshResource";
|
j["type"] = "SkinnedMeshResource";
|
||||||
j["skeleton"]["file"] = skinnedMeshResource.m_skeleton_file;
|
j["skeleton"]["file"] = skinnedMeshResource.m_skeleton_file;
|
||||||
for (int i = 0; i < skinnedMeshResource.m_animation_files.size(); i++) {
|
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") {
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!j.contains("skeleton") || !j["skeleton"].contains("file")) {
|
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"];
|
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();
|
int num_animations = j["animations"].size();
|
||||||
|
|
||||||
for (int i = 0; i < num_animations; i++) {
|
for (int i = 0; i < num_animations; i++) {
|
||||||
if (!j["animations"][i].contains("file") || !j["animations"][i].contains("sync_track")) {
|
if (!j["animations"][i].contains("file")
|
||||||
std::cerr << "Unable to parse SkinnedMeshResource: invalid animation definition" << std::endl;
|
|| !j["animations"][i].contains("sync_track")) {
|
||||||
|
std::cerr << "Unable to parse SkinnedMeshResource: invalid animation "
|
||||||
|
"definition"
|
||||||
|
<< std::endl;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
skinnedMeshResource.m_animation_files.push_back(j["animations"][i]["file"]);
|
skinnedMeshResource.m_animation_files.push_back(
|
||||||
skinnedMeshResource.m_sync_tracks.push_back(j["animations"][i]["sync_track"].get<SyncTrack>());
|
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