decompiler: support animation export and support master art groups in build-actor tool (#4260)

Adds support for exporting animations for foreground models. It's not
perfect and doesn't handle the Jak 2/3 animations very well in some
cases (scale can often get messed up, especially for the LZO compressed
ones, I have no idea what is going on with the data in those art groups
sometimes, so that'll have to be revisited later...), but it does a
decent job on Jak 1.

Additionally, the `build-actor` tool has also been changed to support
setting the `master-art-group-name` and `master-art-group-index` fields
to allow for custom art groups to link their animations to a different
master art group, which lets you add custom animations to vanilla art
groups.
This commit is contained in:
Hat Kid
2026-05-04 17:19:41 +02:00
committed by GitHub
parent a7844c9b5d
commit e6260e48ab
25 changed files with 923 additions and 75 deletions
@@ -3,6 +3,8 @@
#include <set>
#include <thread>
#include "extract_anim.h"
#include "common/log/log.h"
#include "common/util/FileUtil.h"
#include "common/util/SimpleThreadGroup.h"
@@ -129,6 +131,7 @@ void extract_art_groups_from_level(const ObjectFileDB& db,
extract_merc(ag_file, tex_db, db.dts, tex_remap, level_data, false, db.version(),
swapped_info);
extract_joint_group(ag_file, db.dts, db.version(), art_group_data);
extract_animations(ag_file, db.dts, db.version(), art_group_data);
}
}
}