summaryrefslogtreecommitdiff
path: root/tools/assets/extract
AgeCommit message (Collapse)Author
2026-05-09Assets system: reconcile xml versions using implicit and relative offsets ↵Dragorn421
(#2614) * Assets system: reconcile xml versions using implicit offsets * simplify * remove other object_mag xmls * Introduce relative offsets: `Offset=".+0x421"`, more sizable `ResourceDesc`s, update spec * fix * reconcile object_mo xml * reconcile object_tw xml * reconcile object_xc xml (and add Tlut="gNameTLUT" to Texture resources) * reconcile object_fd xml * reconcile object_kingdodongo xml * bss * reconcile gameplay_keep.xml
2026-04-25Format extracted params: ObjSwitch (#2722)Dragorn421
* ObjSwitch params macros * format extracted ObjSwitch params
2026-04-12`tools/assets` cleanup pass (mostly typing) (#2705)Dragorn421
* address easy todos * add type asserts * format * add type hints * more typing fixes * more asserts for typing * break long f string
2026-04-10Commit objects 2: `object_spot15_obj`, `object_spot16_obj`, ↵Dragorn421
`object_spot17_obj`, `object_syokudai`, `object_ta`, `object_timeblock` (#2645) * commit object_timeblock * commit object_ta * commit object_syokudai * commit object_spot17_obj * format * commit object_spot16_obj * fixup * commit object_spot15_obj
2026-02-22Assets system: format extracted actor params (and EnDoor params) (#2698)Dragorn421
* Assets system: format extracted actor params (and EnDoor params) * and actor list too... * and actor list required inclues too... * ENDOOR_PARAMS_GENERAL, ENDOOR_PARAMS -> ENDOOR_PARAMS, ENDOOR_PARAMS_NODATA
2026-02-16Commit and split gameplay_keep (#2612)Tharo
* Commit and split gameplay_keep * Remove debugging bits * format * bss * merge gameplay_keep_0x400 into link_textures * Name some unused NTSC stuff * Rename files for some of the newly named unused NTSC stuff * name more gkeep files * format * spin_attack * name fish anims files * name some eff_ files * name a bunch more files * Add underscore in not-final names * cleanup limb enum names (remove g prefix) * split gameplay_keep_0x34020.c into gBugCrawlAnim.c + bug_skel.c * door.h -> door_skel.h * gArrowNAnim -> gArrowN_Anim * split arrow_anims into gArrow1_Anim + gArrow2_Anim * fix merge * bss * bss * Fix bss --------- Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2026-02-15Fix wrong BGM entry names (#2671)Jordan Longstaff
2026-01-27Commit code assets (#2691)Pepe20129
* Commit code assets * Have different ifdefs * Move to code files * Missed an include * Prevent code assets from having their source unnecessarily written
2025-07-15Add `ENV_LIGHT_SETTINGS_BLEND_RATE_AND_FOG_NEAR_PACK`, fix extracted ↵Dragorn421
negative `blendRate` (#2653) * Add ENV_LIGHT_SETTINGS_BLEND_RATE_AND_FOG_NEAR_PACK, fix extracted negative blendRate * -> BLEND_RATE_AND_FOG_NEAR
2025-07-15Finish rename scene lists (#2652)Dragorn421
2025-06-25Commit objects 1: `tp`, `triforce_spot`, `umajump`, `vase`, `yukabyun`, `zg` ↵Dragorn421
(#2634) * commit object_zg * commit object_yukabyun * commit object_vase * commit object_umajump * commit object_triforce_spot * commit object_tp * fixup1 * format
2025-06-10`object_zo`: finalize, split and commit (#2624)Dragorn421
2025-06-09Commit `object_ganon_anime3` (#2611)Dragorn421
* Commit object_ganon_anime3 * rm from write_source.txt * bss
2025-06-09Commit some `assets/overlays/` 2 (#2610)Dragorn421
* Commit some `assets/overlays/` 2 * format
2025-06-07Commit `do_action_static` (#2597)Dragorn421
* Commit `do_action_static` * fix * rm do_action_static from write_source.txt
2025-06-05Fix too long filenames for windows (#2591)Dragorn421
2025-06-05Better automatic names for Limbs and JointKeys, and implement more ↵Dragorn421
get_as_xml (#2590)
2025-06-04Remove "z64" prefix from all headers (#2518)fig02
* z64 - a * z64 - b * z64 - c * z64 - d * z64 - e * z64 - f * z64 - g * z64 - h * z64 - i * z64 - l * z64 - m * z64 - o * z64 - p * z64 - q * z64 - r * z64 - s * z64 - t * z64 - v * restore file * fix merge * fix merge --------- Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2025-06-04Commit some assets/overlays/ (#2582)Dragorn421
* Commit (inline) some assets/overlays/ * rm padding * ovl_file_choose
2025-06-03Commit `g_pn_*.c` files (#2573)Dragorn421
2025-05-31Commit `icon_item_24_static`, `icon_item_{fra,ger,jpn,nes}_static`, ↵Dragorn421
`item_name_static` (#2562) * commit icon_item_24_static * commit icon_item_LANG_static for LANG in fra,ger,jpn,nes * commit item_name_static
2025-05-27[assets system] Fix fusing resource buffer markers (#2548)Dragorn421
2025-05-26[assets] Better automatic names for subdata of Anim and Col data (#2543)Dragorn421
* better auto names for anim subdata * better auto names for col subdata
2025-05-26Commit `object_link_child` (#2542)Dragorn421
* add Vtx resources to object_link_child.xml * object_link_child.xml limb enum and tlut blob * cp extracted/... assets/... * start cleanup, delete useless declarations * inhibit object_link_child.c source gen * move textures _WIDTH and _HEIGHT to .c, remove useless tex decls * comments * fixup object_link_boy comments * remove unreferenced DLs decls * rm 0 padding * format the .c * fixup * bss
2025-05-25Finalize and commit `object_link_boy` (#2528)Dragorn421
* Finalize and commit object_link_boy * bss * format * dont write extracted/.../object_link_boy.c * sizes for dls and texs * fix OK * TEX_LEN
2025-05-25Introduce TEX_LEN macro for texture arrays lengths (#2541)Dragorn421
2025-05-23[assets] Explicit size for textures and dlists (#2534)Dragorn421
* Add `conf.EXPLICIT_SIZES = True` for making some array resources declare and define with explicit length * EXPLICIT_DL_AND_TEX_SIZES = True * revert rm line
2025-05-20Assets system utilities (#2529)Dragorn421
2025-05-20Add write_source.txt: list of files to write source for during assets ↵Dragorn421
extraction (#2531)
2025-05-18New assets system (#2481)Dragorn421
* wip: New assets system tm Builds gc-eu-mq-dbg OK from clean after 1) make setup 2) python3 -m tools.assets.extract -j 3) replace 0x80A8E610 with sShadowTex in extracted/gc-eu-mq-dbg/assets/overlays/ovl_En_Jsjutan/sShadowMaterialDL.inc.c 4) make various symbols in extracted data like sTex static * use variables from config.yml for gMtxClear and sShadowTex addresses * Write source with static for overlays using `HACK_IS_STATIC_ON` hack * gc-eu-mq-dbg OK from clean with `make setup && make` * implement more skeleton-related types, cleanups, fixups * fix extracted data to no longer produce compilation warnings * implement more of RoomShapeImage types * yeet XmlPath from ExternalFile usage * Implement PlayerAnimationDataResource (link_animetion data) * fix csdis CS_TIME extra arg * dmadata file names no longer hardcoded for gc-eu-mq-dbg * ntsc-1.0 OK * xml fixes * slightly improve standard output * rm extract_assets.py * generate and use Limb enums (TODO: check Skin skels and implement for Curve skels) * handle dependencies between xmls * introduce RawPointers xml attribute to ignore specific pointers and keep them raw * add tools/extract_assets.sh * fixups * only extract if xmls changed or if -f (force) is used * fixups, gc-eu OK * all versions OK * check attributes of xml resources elements * Implement legacy skelanime resources * fix ASSET_FILES_BIN_EXTRACTED/COMMITTED: look for .u8.bin specifically instead of just .bin * implement JFIFResource * fix png/jpg wildcards: look specifically for .u64.png .u32.png .u64.jpg * Makefile: Add rules to build .png, .bin and .jpg in assets/ too * start writing actual docs * extract sTransCircleDL and sTransWipeDL * misc cleanup/fixes, pygfxd 1.0.3 * refactor CDataExt.set_write callback args to use a dataclass * Move {} to in-source * misc * more progress on spec * fix missing braces in n64dd_error_textures.c * finish xml spec doc * assets xmls fixes * some cleanup, use `gNameTex_WIDTH/HEIGHT` macros in dlists * handle hackmode_syotes_room, fix compile * C build_from_png * rm tools/assets/bin2c * rm ZAPD * format * remove rule to generate dmadata_table.py * CC0 license (and some import cleanup) * dont try to build zapd (rmd) * simplify palettes with single user (ci images with a non-shared palette) * add docs on how images are handled * bss * allow -j N * fix n64texconv python bindings memory management * move -j at the end of calling extraction script * with -j, update last_extracts.json as each job completes rather than only if all complete * make interrupting less jank by making child processes ignore sigint * use enum names in `SCENE_CMD_SKYBOX_SETTINGS` * `multiprocessing.get_context("fork")` * import rich, except ImportError s * fix optional rich usage * .bss * .bss * .bss * assets extraction: -j -> -j$(N_THREADS) * .bss * change LIMB_NONE/MAX defaults to be FILE_OFFSET instead of SKELNAME * 0XHEX -> 0xHEX * fix bss * Proper includes for assets mostly proper, some includes like dlists resources always causing a sys_matrix.h include (when not every dlist references gIdentityMtx) could be done better * rm z64.h * rm z64.h take two * bss * Make .u64 suffix for pngs optional * fixup: rm .u64 suffix from n64dd image paths * Remove elemtype suffixes from .bin and .jpg files * Update images.md * some build_from_png cleanup, more error handling, comments * Handle skybox textures Introduce "sub-format" suffix for pngs, with sub-formats split_lo and split_hi being used for skybox textures * fixup for older python * improve collision output some * fully use SURFACETYPE[01] macros in writing extracted surface types * use WATERBOX_PROPERTIES in extracted waterboxes * some SceneCommandsResource cleanup * format EnvLightSettingsList output