I N T E R P O L A T I O N

This commit is contained in:
2026-04-14 14:28:14 -04:00
parent 15f85b84a9
commit b60c4bc295
25 changed files with 483 additions and 172 deletions
+12 -6
View File
@@ -100,7 +100,8 @@ namespace anm2ed
void Manager::new_(const std::filesystem::path& path) { open(path, true); }
void Manager::save(int index, const std::filesystem::path& path, anm2::Compatibility compatibility)
void Manager::save(int index, const std::filesystem::path& path, anm2::Compatibility compatibility,
bool isBakeSpecialInterpolatedFramesOnSave, bool isRoundScale, bool isRoundRotation)
{
if (auto document = get(index); document)
{
@@ -108,21 +109,26 @@ namespace anm2ed
ensure_parent_directory_exists(path);
document->path = !path.empty() ? path : document->path;
document->path.replace_extension(".anm2");
document->save(document->path, &errorString, compatibility);
document->save(document->path, &errorString, compatibility, isBakeSpecialInterpolatedFramesOnSave, isRoundScale,
isRoundRotation);
recent_file_add(document->path);
}
}
void Manager::save(const std::filesystem::path& path, anm2::Compatibility compatibility)
void Manager::save(const std::filesystem::path& path, anm2::Compatibility compatibility,
bool isBakeSpecialInterpolatedFramesOnSave, bool isRoundScale, bool isRoundRotation)
{
save(selected, path, compatibility);
save(selected, path, compatibility, isBakeSpecialInterpolatedFramesOnSave, isRoundScale, isRoundRotation);
}
void Manager::autosave(Document& document, anm2::Compatibility compatibility)
void Manager::autosave(Document& document, anm2::Compatibility compatibility,
bool isBakeSpecialInterpolatedFramesOnSave, bool isRoundScale, bool isRoundRotation)
{
std::string errorString{};
auto autosavePath = document.autosave_path_get();
if (!document.autosave(&errorString, compatibility)) return;
if (!document.autosave(&errorString, compatibility, isBakeSpecialInterpolatedFramesOnSave, isRoundScale,
isRoundRotation))
return;
autosaveFiles.erase(std::remove(autosaveFiles.begin(), autosaveFiles.end(), autosavePath), autosaveFiles.end());
autosaveFiles.insert(autosaveFiles.begin(), autosavePath);