#include #include #include #include int main() { const std::string text = R"( ScriptType MotionData MotionFileName "d:/ymir work/pc/test.gr2" MotionDuration 2.0 Group LoopData { MotionLoopCount 2 LoopCancelEnable 1 LoopStartTime 0.25 LoopEndTime 1.75 } )"; fmt::Msa msa; std::string err; if (!fmt::parse_msa(text, msa, &err)) { std::fprintf(stderr, "parse failed: %s\n", err.c_str()); return 1; } const bool ok = msa.has_loop_data && msa.motion_loop_count == 2 && msa.loop_cancel_enable && std::fabs(msa.loop_start_time - 0.25f) < 1e-6f && std::fabs(msa.loop_end_time - 1.75f) < 1e-6f; if (!ok) { std::fprintf(stderr, "LoopData fields were not preserved\n"); return 1; } return 0; }