#pragma once #include #include "assets/dynamic_data_store.hpp" #include "assets/prefetch_lookup.hpp" #include "assets/prefetch_queue.hpp" #include "assets/data" #include "util/string_list.hpp" #include "util/result.hpp" #include "assets/prefetch_lookups/pose_prefetch_lookup.hpp" struct threedtk_pose_loader { static constexpr auto name = std::string_view("3dtk_pose"); [[nodiscard]] static std::error_code prefetch( const file_dir_list& paths, prefetch_queue& queue ); [[nodiscard]] static std::error_code load( dynamic_pose_buffer& buffer, const file_dir_list& paths, prefetch_lookup& id_lookup, shader_source_store& store, bool pedantic = false ); protected: static std::error_code parse_transform_info( std::ifstream& in, std::string& line, std::array& transform_info ); static ztu::result parse_index( std::string_view filename ); };