Commit Graph

381 Commits

Author SHA1 Message Date
Tharo df5d4cb467
[Audio 10/10] Loose ends (#2337)
* Introduce afile_sizes, generate headers of sizes for soundfonts and sequences

* Initial tools/audio README

* Versioning for samplebank extraction

* Clean up the disassemble_sequence.py runnable interface

* Add static assertions for maximum bank sizes

* Boost optimization for audio tools

* Samplebank XML doc

* Soundfont XML doc

* More docs in sampleconv for vadpcm

* Various tools fixes/cleanup

* VADPCM doc

* Try to fix md formatting

* VADPCM doc can come later

* Fix merge with PR 9

* Fix blobs from MM

* Try to fix bss

* Try fix bss round 2

* Fix sampleconv memset bug

* Suggested documentation tweaks
2024-12-13 19:26:36 -05:00
Yanis 4b20d8269b
Naming cutscenes from Lon-Lon Ranch (#2359)
* name cs from ranch

* fixed llr credits cs dest part 5 and 6 being inverted

* format
2024-12-13 18:28:48 -05:00
Jordan Longstaff c780c4e147
Rename EVENTCHKINF_69 (#2330)
* Rename EVENTCHKINF_69

* Rename CS flag
2024-12-11 05:51:51 -05:00
Jordan Longstaff 07751d3d44
Rename symbols related to Kakariko Well being drained (#2332) 2024-12-10 00:18:40 -05:00
Jordan Longstaff e9b165b6e5
Add names for Medallion cutscene data (#2319)
* Add names for Medallion cutscene data

* Rename to Cs at end
2024-12-08 20:45:02 -05:00
cadmic b2d3c0523d
Name asset extraction tools more consistently (#2316) 2024-12-04 19:44:16 -05:00
Jordan Longstaff 3a07abbfac
Rename and document Adult Ruto functions (#2288)
* Rename and document Adult Ruto functions

* Rename struct fields also

* Add enums for Ruto actions and draw configs

* Proper name for Water Medallion cutscene data

* Suggested changes

* More suggested changes

* Bring back naming consistency

* Better documentation for EnRu2_CheckWaterMedallionCutscene

Co-authored-by: fig02 <fig02srl@gmail.com>

* Renaming suggestions

* Rename EnRu2_AccelerateUp

* Revert macros

* Actually, fix macros

* Remove extra blank line

* Rename macros with GET

---------

Co-authored-by: fig02 <fig02srl@gmail.com>
2024-12-04 18:20:19 -05:00
mracsys bdc774058d
More descriptive names for CS_BEGIN_CUTSCENE and CS_END (#2311)
* rename CS_BEGIN_CUTSCENE and CS_END

* matching

* naming consistency for END command, improved comments

* remove CS_CMD_NONE

Co-authored-by: mzxrules <mzxrules@gmail.com>

* remove comma from end of enum

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "c04562d30"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "c04562d30"
git-subrepo:
  version:  "0.4.9"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "cce3d93"

---------

Co-authored-by: mzxrules <mzxrules@gmail.com>
Co-authored-by: fig02 <fig02srl@gmail.com>
2024-12-02 16:50:58 -05:00
cadmic c55a1dab57
fix_bss.py: Fix infinite loop after linker errors (#2297) 2024-11-14 12:35:35 -05:00
Tharo 2d454933f3
[Audio 9/?] Multiversion samplebank and soundfont extraction xmls, 1.0 and 1.1 audio extraction (#2291)
* [Audio 9/?] Multiversion samplebank and soundfont extraction xmls, 1.0 and 1.1 audio extraction

* Rework multiversion samplebanks to reduce duplicates
2024-11-12 08:47:34 -05:00
Charles Averill 6ea3982695
Remove hardcoded bash location in tools/preprocess.sh (#2280)
* Remove hardcoded bash location in tools/preprocess.sh

* Add more tolerant shebang to tools/preprocess.sh
2024-10-24 12:20:14 +02:00
cadmic d3bf8ae78b
[ntsc-1.0/1.1] Extract assets (except audio) for ntsc-1.0 and ntsc-1.1 (#2253)
* [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-10-09 14:22:57 +02:00
cadmic 801fe22153
Fix build on certain Linux distributions (#2257) 2024-10-02 13:40:38 -04:00
cadmic f7f38ff874
[PAL N64] Completely match pal-1.0 and pal-1.1 and add to CI (#2246)
* [PAL N64] Match pal-1.0 and pal-1.1 and add to CI

* bss fixes from Jenkins
2024-09-28 20:52:45 -04:00
cadmic 2f3c8084c9
[PAL N64] Set up build system and extract assets for pal-1.0 and pal-1.1 (#2205)
* [PAL N64] Set up build system and extract assets

* TOOD -> TODO

* Apparently this is what the formatter wants
2024-09-26 15:19:23 -04:00
cadmic bccb219ea3
Fix typos found by codespell (#2229) 2024-09-26 00:21:00 -04:00
Dragorn421 48780cd2b1
Colliders: elemType -> elemMaterial (#2189)
* elemType -> elemMaterial

* format
2024-09-16 18:11:01 -04:00
Tharo dbbeb656f8
[Audio 8/?] Check-in handwritten sequences, build sequences, automate 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-15 18:26:27 -04:00
cadmic 77df04ab1c
Delete disassembly data for ntsc-1.2 (#2178) 2024-09-12 15:00:43 -04:00
cadmic f089adf20c
[ntsc-1.2] Match ntsc-1.2 BSS and add to CI (#2187)
* Match ntsc-1.2

* Add ntsc-1.2 to CI

* Apply fixes from Jenkins

* Promote ntsc-1.2 to "supported" in Makefile

* Declare D_80858AD8 as a u64 array

* Tweak wording

* Hopefully make ntsc-1.2 bss more stable

* Restore segmented_address.h include
2024-09-12 14:10:43 -04:00
Dragorn421 f193311013
Colliders: colType -> colMaterial (#2186)
* colType -> colMaterial

* fixups
2024-09-11 21:18:46 -04:00
Derek Hensley d9af701b88
Make needed extracted directories in extract scripts (#2185) 2024-09-11 09:51:53 -04:00
Dragorn421 5441559b30
Cleanup gSPMatrix, rename `Matrix_New` -> `Matrix_Finalize`, add `MATRIX_FINALIZE_AND_LOAD` (#1983)
* clean up gSPMatrix usage

* add weird hybrid macro gSPMATRIX_SET_NEW

* Matrix_NewMtx, MATRIX_NEW -> Matrix_Finalize, MATRIX_FINALIZE

* gSPMATRIX_SET_NEW -> MATRIX_FINALIZE_AND_LOAD

* format
2024-09-11 16:59:23 +09:00
cadmic 6fcaa51832
fix_bss.py: Restore z_locale special case (#2179) 2024-09-08 21:37:55 -04:00
cadmic 37efc27162
Run fix_bss.py in Jenkins and generate a patch (#2168)
* fix_bss.py: Disable colors if stdout is not a tty

* Run fix_bss.py in CI and output a patch

* Wording tweaks
2024-09-08 18:27:36 -04:00
Dragorn421 c7ec814d78
[headers 9] Add src/libc64/ and new "z64" rand.h (#2164)
* rand.h -> libc64/qrand.h

* Add rand.h with z64 rand wrappers

* yeet comment

* code/rand.c -> libc64/qrand.c

* fixup

* move libc64 source to src/libc64/

* fix

* bss

* update file splits disasm metadata
2024-09-08 17:11:41 -04:00
Dragorn421 a903f8b8bc
Document `ACTOR_FLAG_SFX_` flags and functions (#2162)
* Document `ACTOR_FLAG_SFX_` flags and functions

* format
2024-09-08 16:26:01 -04:00
cadmic c39323a336
fix_bss.py: Subtract addend for relocations against global symbols (#2169) 2024-09-08 11:13:24 -04:00
fig02 0168b09628
Player Docs - Parallel (#2167)
* name func and flag

* rest of the docs

* format and comment change

* comment
2024-09-08 08:57:28 -04:00
Dragorn421 1332356e5c
Pause doc: Cursor drawing (#2159)
* Pause doc: Cursor drawing

* bss
2024-09-07 22:28:46 -04:00
fig02 27533a1507
rename gBuildTeam to gBuildCreator (#2160) 2024-09-07 16:02:01 -04:00
cadmic e52d135e15
[ntsc-1.2] Import n64dd code from Decompollaborate/n64dd (#2136)
* 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-08 03:37:15 +09:00
fig02 88c4475967
Target -> Attention (System Rename) (#2149)
* TargetContext -> Attention

* targetCtx -> attention

* Target_ -> Attention_

* FindTargetableActor -> FindActor

* targetableActorP -> attentionActorP

* data vars (and 1 function I missed)

* targetMode -> attentionRangeType

* attention range enum comments

* ATTENTION_RANGE_

* attention range data

* TargetColor -> AttentionColor

* missed one

* fixup color variables

* targetArrowOffset -> lockOnArrowOffset

* focus pos comment

* targetPriority -> attentionPriority

* assets

* loose-ends

* Attention System Description

* format

* skj range type

* enemy bgm
2024-09-07 09:23:04 -04:00
cadmic e19ec02917
Freeze SFX IDs in msgdis.py (#2154)
* Freeze SFX IDs in msgdis.py

* Remove remove_comments
2024-09-07 13:10:57 +02:00
cadmic 8a3ba35070
[ntsc-1.2] Match z_file_choose.c and z_boss_tw.c (#2146)
* Match z_file_choose.c

* Match z_boss_tw.c

* Format

* end: -> close_disps:
2024-09-07 00:12:12 -04:00
fig02 bb6177e936
Document `Target_ShouldReleaseLockOn` [Target Docs 8/8] (#2135)
* target range and leash docs

* format
2024-09-05 12:44:06 -04:00
Ozero4 0b011033fc
Naming a function (#2124)
* Naming a function

* Naming function

* Update functions.txt

* Update function name

* Update function name

* Update function name

* Update function name
2024-09-05 21:57:30 +09:00
mzxrules acb5c7f20c
Update Room Documentation (#2015)
* Update Room Documentation

* Write more complete documentation, implement suggestions.

* Function name changes; minor comment tweaks

* nit

* Resolve Dragorn fixes

* Resolve Fig suggestions, fix comment wording

* fix bss, fig suggestion

* bss
2024-09-05 21:08:21 +09:00
fig02 6051251c92
istargeted -> islockedon (#2132) 2024-09-04 19:26:23 -04:00
cadmic 8153c952f6
[ntsc-1.2] Organize n64dd declarations and convert to 1.0 addresses (#2127)
* Reorganize n64dd declarations

* Fix bss

* Really fix bss
2024-09-05 03:56:24 +09:00
Dragorn421 e833011ccd
Cleanup: Pass all paths to tools rather than tools constructing them (#2017)
* Pass all paths to tools rather than tools constructing them

* fix: make --baserom-segments required

* sync with mm reviews

* --version everywhere
2024-09-05 03:49:16 +09:00
Tharo f1911cd937
[Audio 7/?] Extract sequences to assembly (#2119)
* [Audio 7/?] Extract sequences to assembly

Co-authored-by: MNGoldenEagle <17274702+MNGoldenEagle@users.noreply.github.com>
Co-authored-by: zelda2774 <69368340+zelda2774@users.noreply.github.com>

* Suggested changes, some extra sequence disassembler cleanup

* Remove unused multiprocessing import and regen assets/xml/audio/sequences

---------

Co-authored-by: MNGoldenEagle <17274702+MNGoldenEagle@users.noreply.github.com>
Co-authored-by: zelda2774 <69368340+zelda2774@users.noreply.github.com>
2024-09-05 02:55:04 +09:00
cadmic c6d7cc7697
[ntsc-1.2] Match __osMalloc.c and code_800FC620.c (new/delete) (#2106)
* Match __osMalloc

* Match src/code/code_800FC620.c (new/delete)

* Wrap versions-specific files in ifdefs to fix compilation

* Fix bss

* Remove {FAULT,RAND,OSMALLOC}_VERSION in favor of PLATFORM_N64

* Fix __osMalloc data splits, add unused strings

* __osMalloc.h -> osMalloc.h

* Fix merge
2024-09-04 11:10:14 +02:00
cadmic e7cf2fceac
[ntsc-1.2] Match game.c, z_play.c, z_room.c (#2117)
* Match z_room.c

* Match game.c and z_play.c

* Add undefined syms

* Rewrite condition based on other file matches
2024-09-04 01:46:41 -04:00
cadmic 87914c6cc6
Match fp_math.c (#2116) 2024-09-04 01:12:44 -04:00
cadmic 6e5ea8c7aa
[ntsc-1.2] Update spec for boot and code (#2114)
* Update spec for boot and code

* Fix merge
2024-09-04 00:30:23 -04:00
fig02 45158f57d6
Document Target_Update [Target Docs 4/?] (#2123)
* document Target_Update

* add comments

* try CLAMP (dbg is ok but ci will check retail)
2024-09-03 20:58:39 -04:00
cadmic e44c7c656c
[ntsc-1.2] Match audio (#2122)
* general.c mostly ok

* match remaining audio funcs

* comments

* Finish matching audio

---------

Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
2024-09-03 20:32:38 -04:00
Derek Hensley 3e200769f1
[ntsc-1.2] LoadFragment2 OK (#2118)
* [ntsc-1.2] LoadFragment2 OK

* Add insight about bssSize
2024-09-03 19:19:13 -04:00
fig02 6f396e7cc8
Target System Docs: Actor Searching [3/?] (#2120)
* document target actor searching

* missed something

* review

* mzx review
2024-09-03 00:02:24 -04:00
fig02 2b25c31588
Document Target_Draw [Target Docs 2/?] (#2115)
* document Target_Draw

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* fix missed renames

* retail fix

* another fix

---------

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
2024-09-01 16:02:13 -04:00
fig02 a21a59c4b5
Target Docs [1/?] (#2110)
* Target Docs Part 1

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* review

---------

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
2024-08-31 15:10:25 -04:00
cadmic a63f0a63b5
Move driverominit and sprintf to src/boot/ (#2105) 2024-08-29 16:34:18 -04:00
cadmic 5e9704b464
[ntsc-1.2] Fix some data / disassembly / undefined_syms (#2103)
* Fix some data splits

* Use real fault functions in cic6105.c

* Fix fault_n64.c data sizes

* Format
2024-08-29 12:05:50 -04:00
cadmic 7079005c83
[ntsc-1.2] Match N64 libultra (#2081)
* Match N64 libultra

* INITIALIZE_FUNC -> OSINITIALIZE_FUNC

* Document osGetIntMask

* Refer readers of osGetIntMask to osSetIntMask comment

* Whitelist new static functions in disasm unksyms check
2024-08-28 21:30:36 -04:00
Dragorn421 7592bf1e42
Check disasm metadata for missed renames (#2069)
* Check disasm metadata (look for symbols in metadata that no longer exist, indicating renames but the metadata was not updated)

* -us.z64

* Update disasm metadata with renamed functions in #2057

* sort IGNORE_NTSC_1_2_SYMS_MISSING
2024-08-28 13:28:03 +02:00
Dragorn421 68818044db
[ntsc-1.2] Decompile fault.c (#2046)
* wip decomp ntsc-1.2 fault.c

* more ntsc-1.2 fault.c

* decompiled fault_v1.c

* name fault_v1 functions, wip

* try to clean up build system (two versions of the fault system coexisting)

* cleanup

* cleanup2

* fix build gc-eu-mq-dbg

* match 2 more, ty anon

* matched

* review

* more review

* fixup spec

* `(uintptr_t)ptr op int` instead of `ptr op (type*)int`

* move fault.h out of global headers, properly include fault.h and versions.h

* compile all fault_*.c files regardless of version by overriding FAULT_VERSION

* n64 FaultMgr.framebuffer s32 -> u16*

* FaultMgr.framebuffer -> FaultMgr.fb

* make gc FaultMgr.fb u16* (yes, thats everything)

* bss

* fix Fault_Printf return type

* noop FaultDrawer_SetFontColor, FaultDrawer_SetCharPad in fault_n64

* fault_color_ stuff is only for fault_gc

* rm empty line in makefile

* I guess `D_80105A90_unknown` is `[sg]TotalAllocFailures`

* bss

* `Fault_WaitInput` -> `Fault_WaitForInput`

* use named fault funcs in pointers array

* FAULT_OOT{N64,GC} -> FAULT_{N64,GC}

* Apply suggestions from code review

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>

* review, sync fault_{gc,n64}

* Apply `FPCSR_CE` suggestions from code review

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

---------

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
2024-08-28 09:38:42 +02:00
Tharo aa97586659
[Audio 6/?] Build Soundfonts and the Soundfont Table (#2056)
* [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-27 21:09:59 -04:00
cadmic 7c2e0383f3
In fix_bss.py, really always use BSS section start from map file (#2085) 2024-08-25 16:43:07 +02:00
Dragorn421 7056423e5b
[ntsc-1.2] Decompile cic6105.c, main.c (#2068)
* decompile-OK Main, cic6105.c

* names cleanup / minimal doc

* match versions

* fix bad disasm metadata format

* bss

* bss

* review 1

* review 2

* review 3

* review 4

* cleanup

* bss

* add some sizes to disasm metadata symbols
2024-08-25 16:00:10 +02:00
cadmic 22a00b46fb
Have fix_bss.py deal with symbols referenced in .data or .rodata (#2072) 2024-08-25 10:26:18 +02:00
Dragorn421 b40e51d8c8
[ntsc-1.2] Match kaleido_collect.c, kaleido_scope.c (#2070)
* Match kaleido_{collect,scope}

* review
2024-08-24 00:44:16 -04:00
Dragorn421 bdfa56e72d
Pause docs: page backgrounds vertices and quads (#2065)
* Pause docs: page backgrounds vertices and quads

* update disasm metadata
2024-08-22 08:46:28 -04:00
cadmic 253fac4670
Grab bag of fix_bss.py fixes (#2066) 2024-08-22 01:06:09 -04:00
cadmic 5a08f14449
Fix memmove file splits (#2063) 2024-08-20 22:43:33 -04:00
Dragorn421 942df45892
Match n64dd text in code (#2058)
* match n64dd text

* format

* fixups

* add n64dd segment using baserom

* cleanup syms 1

* cleanup symbols 2

* cleanup D_800FF4B0

* fix declaration usage and linking for D_800FF4B0
2024-08-20 19:20:11 -04:00
cadmic ec70295357
Move non-libultra libc functions to src/libc/ (#2055)
* Move non-libultra libc functions to src/libc/

* Add explicit nops in delay slots

* Don't rely on CPP expanding undefined macros to 0

* Delete old Makefile rules

* Fix type of memset()
2024-08-20 01:15:24 -04:00
Dragorn421 ebbc820ef6
Add "disasm sym_info.py" script (#2054)
* Add "disasm sym_info.py" script for investigating the expected memory layout

* review

* add friendly error if context.csv is missing

* rom as hexadecimal

* require spimdisasm 1.28.1 (technically not *required* but may as well)

* some fixups on symbol lookup logic
2024-08-19 23:58:41 +02:00
Dragorn421 6bc6cedaf8
[ntsc-1.2] Match boot_main.c, logutils.c, z_locale.c (text) (#2053)
* Match boot_main.c, logutils.c, z_locale.c (text)

* review

* review 2
2024-08-19 16:17:41 -04:00
cadmic f5fd8daffb
Use incremental link for z_message/z_game_over data shenanigans (#2051)
Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
2024-08-19 18:16:04 +02:00
cadmic aed15faaf4
Use BSS section start from map file in fix_bss.py instead of guessing (#2045)
* Use BSS section start from map file

* Expand comment about section start heuristic

* Reword
2024-08-18 22:12:02 +02:00
Tharo ba5574be6d
[Audio 5/?] Build the Samplebank Table (#2044) 2024-08-17 17:42:15 -04:00
cadmic b82f54bb95
Decompile N64 anti-piracy checks in overlays (#2042)
* Decompile N64 anti-piracy checks in overlays

* Fix BSS splits (I think)

* Use physical address and comment on meaning

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>

---------

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
2024-08-15 23:44:05 -04:00
Tharo d3b9ba17da
[Audio 4/?] Build Samplebanks, match Audiotable (#2032)
* [Audio 4/?] Build Samplebanks, match Audiotable

* Fix some makefile formatting

* Add missing scope in MARK chunk handling

* Add comment to generate asm file when buffer bug data is emitted, remove duplicate CC4 definition

* Adjust comment

* SBCFLAGS

* Remove unnecessary comments on notes_lut

* Split build directories creation command into several to avoid it becoming too long

* objcopy -j -> --only-section

* Fix mkdir warning when extracted/VERSION/assets doesn't exist
2024-08-14 20:54:31 -04:00
Dragorn421 c8ec6042e1
checksums for ntsc 1.2 JP and US, accept both as baserom (#2030) 2024-08-14 18:53:39 -04:00
Dragorn421 137e0d2a10
fix preprocess_pragmas and add tests (#2038) 2024-08-14 19:53:55 +02:00
cadmic ab1701b57a
Fix a few function names in disassembly (#2036)
* Fix z_message.c function names in disassembly

* Fix more functions
2024-08-14 04:42:22 -04:00
Dragorn421 91a534cbc9
Rewrite preprocess.py with bash and C (#2035)
* add C preprocess_pragmas and Bash preprocess

* "line return" -> newline

* align tools sources

* fix: handle files that are not newline-terminated

* use a temp directory with a same-basename file instead of a temp file

* macos compat

* remove debug code
2024-08-14 04:05:36 -04:00
cadmic f6338bab1f
Fix tools/ido_block_numbers.py (#2037) 2024-08-12 14:17:04 -04:00
cadmic 8366b8731e
Set up build system and disassembly for ntsc-1.2 (#2021)
* 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-11 06:20:43 -04:00
cadmic d495436190
Match remaining GC retail versions (#2019)
* 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 406b6d26c9.

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-08-09 20:58:46 -04:00
Dragorn421 cd2264f018
Handle multiline `#pragma increment_block_number` (#2023)
* Handle multiline #pragma increment_block_number

* fix: align all continuation characters vertically

* simplify continuation line character alignment

* Update tools/fix_bss.py

Co-authored-by: cadmic <cadmic24@gmail.com>

---------

Co-authored-by: cadmic <cadmic24@gmail.com>
2024-08-09 20:13:59 -04:00
Tharo ef329e633a
[Audio 2/?] Extract audio samples to wav (#2020)
* [Audio 2/?] Extract audio samples to wav

Co-authored-by: zelda2774 <69368340+zelda2774@users.noreply.github.com>

* How

* Hopefully fix warning I don't get locally

* Pad default sample filenames, comment on the vadpcm frame encoder functions, other suggested changes

* Small tweaks to above

* Remove some obsolete code

---------

Co-authored-by: zelda2774 <69368340+zelda2774@users.noreply.github.com>
2024-08-08 22:39:18 -04:00
cadmic 1021c482af
gc-us OK (#2018)
Match BSS order and delete disassembly data
2024-08-08 03:26:48 -04:00
cadmic feac688313
Match NTSC file select (#1998)
* 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 00:27:02 -04:00
Tharo 29acf96db2
[Audio 1/?] Extract Samplebanks and Soundfonts to XML (#2008)
* [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-08-08 00:11:39 -04:00
cadmic 0da402b9de
Automate fixing BSS ordering (#2009)
* Automate fixing BSS ordering

* Typo

* Some cleanups

* Move pragma check after printing BSS info

* Some proofreading

* multiprocessing, require version, some colors

* Tweak output

* Black + mypy

* Move logging and sys.exit out of helper functions

* Use stdout instead of stderr in fix_bss.py

* Add suggestion to conflicting offsets error

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Remove var = list[T]()

* Improve error handling

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Add error if no pointers to BSS

* Add comment about process_file_worker

* Only print updates if stdout is a tty

* Use new binary-search-esque candidate generation algorithm

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Add Wikipedia link

* More comment tweaks

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-08-02 20:31:15 -04:00
cadmic 5515aa1705
Configure incbins in version config instead of using the Debug ROM (#2005)
* Run CPP for data/*.s

* Configure incbins in version config instead of using the Debug ROM
2024-07-28 00:24:13 -04:00
cadmic 294da9e355
Detect shifted .bss sections in check_ordering.py (#1992)
* Restrict check_ordering.py to .bss sections by default

* Detect shifted .bss sections in check_ordering.py
2024-07-27 22:29:15 -04:00
cadmic 47fd023238
Match NTSC z_kanfont.c and z_message.c (#1997)
* Match NTSC z_kanfont.c and z_message.c

Co-authored-by: inspectredc <inspectredc@gmail.com>

* Apply suggestions from code review

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>

* Remove now-unnecessary padding

* Remove msgBufDecoded comment

* Use == NULL for fake match

* Rename Message_DrawText{JPN,NES} -> Message_DrawText[Wide]

* Font_LoadKanji -> Font_LoadCharWide

* Restore FONT_MESSAGE_OFFSET/FONT_MESSAGE_LENGTH

---------

Co-authored-by: inspectredc <inspectredc@gmail.com>
Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
2024-07-21 21:50:20 -04:00
Dragorn421 a1c7937dba
make format.py clean up extra whitespace, also in .h files (#1991)
* make format.py clean up extra whitespace, also in .h files

* fixup

* cleanup whitespace msg

* Update check_format.py to also check non-src files touched by format.py

* format
2024-07-17 19:32:55 -04:00
cadmic a6438f0533
Handle messages with different box types/positions between JPN/NES (#1984)
* Handle messages with different box types/positions between JPN/NES

* Remove redundant case

* More asserts

* Be a bit more Pythonic
2024-07-17 17:56:00 -04:00
cadmic bf3339a16d
Set up build system and disassembly for gc-us (#1982)
* Build gc-us

* Set up gc-us disassembly

* Don't disasm unchanged overlays

* Fix gc-eu-mq BSS

* romalign link_animetion for NTSC

* Explicitly set CPP defines to 0/1

* Add #ifs to segment_symbols.h

* Add sButtonTextures now

* Fix message _SHIFTL usage

* Don't ifdef LANGUAGE_MAX
2024-07-06 21:38:31 +02:00
Tharo baf1e8c174
Reworked text extraction + add JP text extraction (#1980)
* 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-07-02 22:42:52 -04:00
cadmic 1b0e35c89a
Extract NTSC assets for gc-us (#1973)
* 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-26 06:22:26 -04:00
cadmic 9def6f4d0d
Set up multiversion assets with ZAPD and match gc-eu (#1967)
* 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 fc8027a75f.

* 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-24 15:22:39 +02:00
cadmic b2d80568b9
Automatically find end of staff message table (#1970) 2024-06-22 09:20:49 -04:00
cadmic 0ddd64fd6c
Introduce version-specific YAML config (#1957) 2024-06-20 22:26:32 -04:00
Dragorn421 adcc1cecb1
Fix check_ordering.py checking for shifted/nonmatching-besides-relocs (#1961) 2024-06-19 00:16:02 -04:00
cadmic 7332e8ee76
Delete unused yaz0tool (#1959) 2024-06-18 20:53:19 -04:00