summaryrefslogtreecommitdiff
path: root/baseroms
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-05-06Partial linking of spec segments (#2661)Tharo
* Partial linking of overlay segments, relax linker script alignment * Partial linking of all spec segments * Fix update, remove _RomPos from linker script * iQue version working pending COM-plugin update * Add plf map file resolution to sym_info.py, local symbol merging is broken * git subrepo pull tools/com-plugin subrepo: subdir: "tools/com-plugin" merged: "c4f3ba845" upstream: origin: "git@github.com:Thar0/com-plugin.git" branch: "main" commit: "c4f3ba845" git-subrepo: version: "0.4.6" origin: "https://github.com/ingydotnet/git-subrepo" commit: "110b9eb" * Make tools compatible with partial linking Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com> * Remove unused files * Fix some makefile bits * mkspecrules cleanup * Comment on the makerom linker layout in mkldscript * Revert linker padding strategy back to pad_text spec directives * Comment on objcopy elf -> rom step * Adjust tool descriptions * Fix compressed builds * rm reloc_prereq, no longer used * Makefile merge fix Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> --------- Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com> Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2026-04-07oot-gc-eu-dbg-2 OK (#2714)Dragorn421
* oot-gc-eu-dbg-proto OK * add gc-eu-dbg-proto to readme * mention overdump trimming for all debug roms * rename gc-eu-dbg-proto to gc-eu-dbg-2 Rationale: first version to make it into decomp (which should also be the first one that surfaces) gets an un-numbered version name, then the second version gets -2, and so on
2026-03-02gc-eu-dbg OK (#2700)Dragorn421
* gc-eu-dbg OK * cleanup/fortify makefile and line_numbers.h changes * fill segments.csv * add gc-eu-dbg to Jenkinsfile * cleanup/fortify dmadata_table.h * add gc-eu-dbg to readme * fix checksum check and compressed checksum
2026-02-22Fix F3DEX2 ucode name on N64 versions (not PosLight) (#2701)Dragorn421
* Fix F3DEX2 ucode name on N64 versions (not PosLight) * put the not-PosLight / PosLight differences under F3DEX_GBI_PL * revert bss changes
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
2025-02-08Rename gMtx(F)Clear to gIdentityMtx(F) (#2458)mzxrules
2025-02-06Use CIC 6102 for iQue decompressed ROMs (#2457)cadmic
* Use CIC 6102 for iQue decompressed ROMs * Future-proof is_ique * Make things more readable
2025-02-04Finish matching ique-cn (#2451)Tharo
* git subrepo clone git@github.com:Thar0/com-plugin.git tools/com-plugin subrepo: subdir: "tools/com-plugin" merged: "e8543312d" upstream: origin: "git@github.com:Thar0/com-plugin.git" branch: "main" commit: "e8543312d" git-subrepo: version: "0.4.6" origin: "https://github.com/ingydotnet/git-subrepo" commit: "110b9eb" * ique-cn OK * Review suggestions * Most suggestions * git subrepo pull tools/com-plugin subrepo: subdir: "tools/com-plugin" merged: "81595ed1c" upstream: origin: "git@github.com:Thar0/com-plugin.git" branch: "main" commit: "81595ed1c" git-subrepo: version: "0.4.6" origin: "https://github.com/ingydotnet/git-subrepo" commit: "110b9eb" * Fix other versions
2025-01-29[iQue] Match z_file_copy_erase (#2447)cadmic
* [iQue] Match z_file_copy_erase * Reword comment
2025-01-24[iQue] Match z_en_mag (#2439)cadmic
* [iQue] Match z_en_mag * Add comment for iQue "PRESS" * Format
2025-01-10[iQue] Update incbin addresses (#2418)cadmic
2024-12-25iQue text extraction (#2383)Tharo
* iQue text extraction * More consistent terminology * Fixes for jpn, split each encoding into a separate charmap file, merge enc.nes.h and enc.chn.h * Merge nes and chn in DEFINE_MESSAGE macros * Remove redundant defines in nes_message_data_static
2024-12-21Set up build system for ique-cn (#2382)cadmic
* Set up build system for ique-cn * Fix size of fbdemo_circle assets * Treat iQue as NTSC and Use "NES" for Chinese text * Revert z_kanfont
2024-10-09[ntsc-1.0/1.1] Extract assets (except audio) for ntsc-1.0 and ntsc-1.1 (#2253)cadmic
* [ntsc-1.0/1.1] Extract assets (except audio) for ntsc-1.0 and ntsc-1.1 * Fix merge with pal-1.0/1.1
2024-09-26[PAL N64] Set up build system and extract assets for pal-1.0 and pal-1.1 (#2205)cadmic
* [PAL N64] Set up build system and extract assets * TOOD -> TODO * Apparently this is what the formatter wants
2024-09-15[Audio 8/?] Check-in handwritten sequences, build sequences, automate ↵Tharo
various sfx arrays (#2137) * [Audio 8/?] Check-in handwritten sequences, build sequences, automate various sfx arrays * Fix whitespace in aseq.h * Fix sequence 0 sfx id generator * Suggested changes, adjust some MML syntax and add more instruction descriptions * Correct some formatting in aseq.h * Add the dir of the input .seq file to the list of includes to sequence assembling so that assembler-level includes like .include or .incbin work intuitively * aseq.h tweaks * MM review suggestions, aseq.h adjustments
2024-09-08[ntsc-1.2] Import n64dd code from Decompollaborate/n64dd (#2136)cadmic
* Import n64dd code from Decompollaborate/n64dd Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com> Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> * Don't stub out missing textures * Remove @brief * Add low-effort file comments * Match OoT if style * Fix n64dd matching due to int vs long * Fix English n64dd error textures * Compress n64dd segment * Align n64dd to 0x40 --------- Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com> Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com>
2024-09-07Fix some boot and code data (#2155)cadmic
2024-08-27[Audio 6/?] Build Soundfonts and the Soundfont Table (#2056)Tharo
* [Audio 6/?] Build Soundfonts and the Soundfont Table * Improve lots of error messages * First suggested changes * Make audio build debugging more friendly Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Some fixes from MM review * Make soundfont_table.h generation depend on the samplebank xmls since they are read, report from which soundfont the invalid pointer indirect warning originates from --------- Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-08-17[Audio 5/?] Build the Samplebank Table (#2044)Tharo
2024-08-14checksums for ntsc 1.2 JP and US, accept both as baserom (#2030)Dragorn421
2024-08-11Set up build system and disassembly for ntsc-1.2 (#2021)cadmic
* Set up build system for ntsc-1.2 * Set up disassembly for ntsc-1.2 * Add all unnamed functions to functions.txt * Update docs/retail_versions.md for ntsc-1.2 * Format * Update docs/retail_versions.md Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Remove mention of US * OOT_N64 -> PLATFORM_N64, OOT_GC -> PLATFORM_GC * Move mtxutil to libultra/gu * Fix libultra/io bss splits * Fix merge --------- Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-08-09Match remaining GC retail versions (#2019)cadmic
* Match the remaining GC retail versions * Fix BSS ordering for existing versions * Disable clang-format for #pragma increment_block_number * sramResetCode -> sSramResetCode * Replace 0xFF3F with or-ing all buttons together * Revert "Disable clang-format for #pragma increment_block_number" This reverts commit 406b6d26c92911c676a7ea9f07a1612211760e11. --------- Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-08-08Match NTSC file select (#1998)cadmic
* Match NTSC file select Co-authored-by: inspectredc <inspectredc@gmail.com> * nes -> eng in macros * Duplicate more code but use less #ifs * Format --------- Co-authored-by: inspectredc <inspectredc@gmail.com>
2024-08-08[Audio 1/?] Extract Samplebanks and Soundfonts to XML (#2008)Tharo
* [Audio 1/?] Extract Samplebanks and Soundfonts to XML * Remove config.py and use the version yamls for addresses, other suggested changes * Adjust setup-audio * Remove some commented out dead code (MM review)
2024-07-28Configure incbins in version config instead of using the Debug ROM (#2005)cadmic
* Run CPP for data/*.s * Configure incbins in version config instead of using the Debug ROM
2024-07-02Reworked text extraction + add JP text extraction (#1980)Tharo
* Reworked text extraction + add JP text extraction * Format * Suggested changes * Correct address for gc-us sJpnMessageEntryTable Co-authored-by: cadmic <cadmic24@gmail.com> --------- Co-authored-by: cadmic <cadmic24@gmail.com>
2024-06-26Extract NTSC assets for gc-us (#1973)cadmic
* Extract NTSC assets for gc-us * Extract kanji https://github.com/zeldaret/mm/pull/1536 Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: emilybrooks <emilybrooksemilybrooks@gmail.com> --------- Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: emilybrooks <emilybrooksemilybrooks@gmail.com>
2024-06-24 Set up multiversion assets with ZAPD and match gc-eu (#1967)cadmic
* Add ZAPD hack to deal with extracted/VERSION/ in include paths * Extract assets to extracted/VERSION * Add ZAPD flags to override virtual address / start offset / end offset * Configure offsets for code and overlay assets * Reorganize ZAPD configs * Match gc-eu-mq * Match gc-eu * Remove old asset dirs during distclean * Revert "Remove old asset dirs during distclean" This reverts commit fc8027a75f82289eee7b1822b82663b70789d63f. * make zapd addresses globals int64_t so they can store uint32_t addresses and -1 * slight cleanup extract_assets.py * git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "0285e11f0" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "0285e11f0" git-subrepo: version: "0.4.6" origin: "git@github.com:ingydotnet/git-subrepo.git" commit: "110b9eb" --------- Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-06-22Automatically find end of staff message table (#1970)cadmic
2024-06-20Introduce version-specific YAML config (#1957)cadmic
2024-04-15Set up gc-eu and match all code (#1938)cadmic
* Set up gc-eu and match all code * Format * Mark gc-eu-mq as WIP until it builds OK * Move original/MQ map mark data to separate files * Add #includes to .inc.c files to help out VS Code * Use #if in spec instead of .inc.c files
2024-03-04Remove 0xFF padding from uncompressed ROMs (#1910)cadmic
* Remove 0xFF padding from uncompressed ROMs * Add comment about overdump contents * Update checksum in README * Reword comment
2024-02-04Extract ROM segments from gc-eu-mq (take 2) (#1709)cadmic
* Extract ROM segments from gc-eu-mq (take 2) * Apply suggestions from code review Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Typo * dma_{start,names} -> dmadata_{start,names} * Restore dest * Don't assume rom location == vrom location --------- Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-02-03Match compression for gc-eu-mq (#1704)cadmic
* Improve compression * Format * Typo * Use Python assignment expression in tools/dmadata.py Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Review decompress_baserom.py * Replace DEFINE_DEBUG_SCENE with CPP defines * Pass is_zlib_compressed instead of version * Reword NOLOAD comment in write_compress_ranges * Remove redundant comment --------- Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-02-02Move roms to build folder (#1651)Derek Hensley
* Move built roms to build directory, along with rename map and linker script * PR review * sym_info fix * Revert docs/tutorial/data.md change
2024-01-28Set up disassembly for gc-eu-mq (#1613)cadmic
* Disassemble gc-eu-mq * Add script to report progress with matching * Fix whitespace * Change T|None to typing.Optional[T] * Use typing.List * More type annotations fixes for old Python versions * Fix type errors * More type annotations * Use typing.Iterator * Use $(PYTHON) for disassembly * Don't use grouped targets to support very old Make versions * Docs: suggest checking MM, mention virtualenv, clarify about expected/ * Update sym_info.py Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Sync functions.txt * Start banned symbol range at 0x10000000 * Also ban symbols from 0xC0000000-0xFFFFFFFF * Unban IPL symbols * Fix first_diff.py * Sync z_collision_check functions.txt * Ban 0xA0 symbols too * Touch .disasm sentinel file * Copy -jN comment in docs * diff.py flags: remove -3, add -s * Update docs/retail_versions.md Co-authored-by: Yanis42 <35189056+Yanis42@users.noreply.github.com> * Comment that segments are still from the Debug ROM * Revert "diff.py flags: remove -3, add -s" This reverts commit bfaae66c1d02719e706734be9503e78d2b3f104b. * Apply suggestions from code review Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Remove #ifdef example * Reformat Python files with black * Add copyright notice to new Python files * Add TODOs to Makefile --------- Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: Yanis42 <35189056+Yanis42@users.noreply.github.com> Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-01-24Setup rom decompression and compression (#1614)Anghelo Carvajal
* decompress baserom * cleanup * specific hash check * rename baserom * git subrepo clone (merge) --branch=5da3132606e4fd427a8d72b8428e4f921cd6e56f git@github.com:z64tools/z64compress.git tools/z64compress subrepo: subdir: "tools/z64compress" merged: "5da313260" upstream: origin: "git@github.com:z64tools/z64compress.git" branch: "5da3132606e4fd427a8d72b8428e4f921cd6e56f" commit: "5da313260" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * setup compression * Add all compressed segments to the spec * Update md5 files * readme instructions * cleanup * Setup python dependencies on Jenkinsfile * Update Makefile Co-authored-by: cadmic <cadmic24@gmail.com> * review * . .venv/bin/activate * update readme * whoops * Yeet other versions from decompress_baserom.py * my bad * Move everything to baseroms/VERSION/ * Active venv on each command * jenkinsfile: use multiline syntax * Put the correct path on the jenkinsfile * Forgot to call per_version_fixes * CC0 * Update readme * Change where baserom segments are put into * Update Makefile Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Update crunch64 * Label compressed instead of uncompressed * Update README.md Co-authored-by: fig02 <fig02srl@gmail.com> * Fix * `make rom` * baserom-uncompressed * Update README.md Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Update README.md Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Update README.md Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Update README.md Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Update README.md Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * review * baserom-decompressed.z64 * ignore baseroms * rm -rf tools/z64compress * wip crunch64-based compress.py * OK compress * use ipl3checksum sum directly for cic update on compressed rom * multithreading * "docs" * fix MT: move set_sigint_ignored to global level for pickling * license compress.py * rm junk * Fix (or at least sort out) compress_ranges.txt dependencies * Update tools/overlayhelpers/damage_table.py Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> --------- Co-authored-by: cadmic <cadmic24@gmail.com> Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> Co-authored-by: fig02 <fig02srl@gmail.com>