Extract levels+collision to decompiler_out (adjacent to textures+audio) (#3882)

should make it nice and easy to jump to the `decompiler_out/<game>`
folder in the launcher and show the user all their exported things.

![image](https://github.com/user-attachments/assets/15ff9d0b-2c83-4f1a-a013-6ab3835e974b)

also adds a taskfile command for ripping audio.

and fixes jak1 collision extract scaling. I [previously fixed this for
jak2/3](https://github.com/open-goal/jak-project/pull/3292#discussion_r1442595308)
but never fixed for jak1 apparently

before:

![image](https://github.com/user-attachments/assets/ce3e3c59-e3d7-4fc2-b83b-c938fdb3bb02)

after:

![image](https://github.com/user-attachments/assets/bcc65ffb-b5ff-484e-8f60-d1913e239294)
This commit is contained in:
Matt Dallmeyer
2025-03-24 06:26:58 -07:00
committed by GitHub
parent ea3d2308f8
commit 61ad9f08cd
7 changed files with 25 additions and 18 deletions
+8 -6
View File
@@ -339,8 +339,8 @@ void extract_common(const ObjectFileDB& db,
compressed.data(), compressed.size());
if (config.rip_levels) {
auto file_path = file_util::get_jak_project_dir() / "glb_out" /
game_version_names[config.game_version] / "common";
auto file_path = file_util::get_jak_project_dir() / "decompiler_out" /
game_version_names[config.game_version] / "levels" / "common";
save_level_foreground_as_gltf(tfrag_level, art_group_data, file_path);
}
}
@@ -376,13 +376,15 @@ void extract_from_level(const ObjectFileDB& db,
compressed.data(), compressed.size());
if (config.rip_levels) {
auto back_file_path = file_util::get_jak_project_dir() / "glb_out" /
game_version_names[config.game_version] / level_data.level_name /
auto back_file_path = file_util::get_jak_project_dir() / "decompiler_out" /
game_version_names[config.game_version] / "levels" /
level_data.level_name /
fmt::format("{}-background.glb", level_data.level_name);
file_util::create_dir_if_needed_for_file(back_file_path);
save_level_background_as_gltf(level_data, back_file_path);
auto fore_file_path = file_util::get_jak_project_dir() / "glb_out" /
game_version_names[config.game_version] / level_data.level_name;
auto fore_file_path = file_util::get_jak_project_dir() / "decompiler_out" /
game_version_names[config.game_version] / "levels" /
level_data.level_name;
save_level_foreground_as_gltf(level_data, art_group_data, fore_file_path);
}
file_util::write_text_file(entities_folder / fmt::format("{}-actors.json", level_data.level_name),