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
cadmic
44ca32168a
Check buffers segment in check_ordering.py ( #1960 )
2024-06-18 20:40:28 -04:00
cadmic
eb660765b1
Change linker script so gGameOverTimer can be in z_game_over.c ( #1939 )
...
* Change linker script so gGameOverTimer can be in z_game_over.c
* gGameOverTimer -> sGameOverTimer
* include_data_only_with_rodata -> include_data_only_within_rodata
2024-06-10 10:07:51 -04:00
cadmic
ff52c90928
Check baserom hash before decompression ( #1952 )
2024-05-05 18:45:45 -04:00
cadmic
681f276f8a
Delete disassembly data for gc-eu-mq ( #1942 )
2024-04-17 09:48:12 -04:00
cadmic
d59ca6cea2
Set up gc-eu and match all code ( #1938 )
...
* 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-04-15 13:36:29 -04:00
fig02
295a8669b8
Player: Document "WaitForPutAway" ( #1936 )
...
* document put away delay
* functions.txt
* add a note on delaying indefinitely
* format
* typo
* delay -> wait for put away
* revert unintended formatting change
* add comment to struct member
* format
* fix functions.txt
2024-04-15 13:02:43 -04:00
cadmic
f643499462
Match retail BSS ordering ( #1927 )
...
* Match retail BSS ordering
* Revert moving some global variables to headers
* Adjust block numbers after header changes
* Fix debug build
* Overlay bss ordering
* Fix BSS ordering after header changes
* gc-eu-mq OK
* Implement preprocessor for #pragma increment_block_number
* Transfer usage comment from reencode.sh
* Use temporary directory instead of temporary file
* Move ColChkMassType back
2024-04-14 23:51:32 +02:00
cadmic
731fe6da82
Line up code segment for gc-eu-mq ( #1918 )
2024-03-29 11:11:45 -04:00
cadmic
39de6ce293
Extract unused scene headers ( #1930 )
...
* Extract unused scene headers
* git subrepo pull --force tools/ZAPD
subrepo:
subdir: "tools/ZAPD"
merged: "1300a4f36"
upstream:
origin: "https://github.com/zeldaret/ZAPD.git "
branch: "master"
commit: "1300a4f36"
git-subrepo:
version: "0.4.6"
origin: "git@github.com:ingydotnet/git-subrepo.git"
commit: "110b9eb"
* Add more unused arguments to CS_LIGHT_SETTING
2024-03-23 12:38:05 -04:00
fig02
bd0941405d
Document Player's Face and z_actor FaceChange functions ( #1928 )
...
* create some enums
* gonna try struct instead of array
* struct works. add docs too
* inline function comments
* fix function comment
* name faces, move enums
* rename textures
* outnames
* remove comments
* change comment slightly
* fixup face comments
* review
* offset comments
* add and use PLAYER_FACE_MAX
* typo
* more comment on blinkDuration
* another change to the comment
2024-03-23 12:21:45 -04:00
Dragorn421
5834c335e6
git subrepo pull --force tools/fado ( #1924 )
...
subrepo:
subdir: "tools/fado"
merged: "7fad57f83"
upstream:
origin: "git@github.com:EllipticEllipsis/fado.git"
branch: "master"
commit: "7fad57f83"
git-subrepo:
version: "0.4.6"
origin: "https://github.com/ingydotnet/git-subrepo "
commit: "110b9eb"
2024-03-13 12:33:58 -04:00
cadmic
17d683780d
Make BSS ordering script check ordering for all sections ( #1920 )
...
* Rename bss_reordering.py -> check_ordering.py
* Check all segments for ordering issues, not just bss
* Reword error message
* mapfile_segments -> source_code_segments
* Remove redundant vram check
2024-03-09 17:28:46 -05:00
Tharo
0159d43352
mkldscript: Capture more special rodata sections for GCC ( #1919 )
2024-03-09 16:54:42 +01:00
Dragorn421
68a86d2d00
Colliders: change "touch, bump" to AT and AC (elems) ( #1637 )
...
* toucherFlags, bumperFlags -> atElemFlags, acElemFlags
* TOUCH_ -> ATELEM_
* BUMP_ -> ACELEM_
* ColliderElementTouch,Bump -> ColliderElementDamageInfoAT,AC
* toucher,bumper -> atDmgInfo,acDmgInfo
* Update docs and zcolchk funcs names
* run formatter
* remove the last mentions of "bump" for colliders
* Update renamed functions in disasm
2024-03-04 19:33:08 -05:00
cadmic
bf37ad1368
Move baserom segments to extracted/ ( #1916 )
...
* Move baserom segments to extracted/
* Add old baserom segments dir back to .gitignore
* Rename segments/ -> baserom/
2024-03-04 19:06:26 -05:00
cadmic
9a5b4f3845
Add script to report BSS reordering ( #1914 )
...
* Write script to report BSS reordering
* Pin pyelftools version
* Fail on unknown relocation types
* Add sanity check for shifted ROM
* segment -> mapfile_segment
* Fix inconsistent offset/address naming
* Format negative addends
* Don't attempt to find relocs in .bss sections
* Compare build_value to mapfile VRAM
2024-03-04 18:58:36 +01:00
cadmic
9c09dcd4cd
Match retail z_fishing.c ( #1905 )
2024-03-04 17:57:16 +01:00
cadmic
01a5fa9a45
Remove 0xFF padding from uncompressed ROMs ( #1910 )
...
* Remove 0xFF padding from uncompressed ROMs
* Add comment about overdump contents
* Update checksum in README
* Reword comment
2024-03-04 11:39:16 -05:00
cadmic
0407594107
Hacks for building nes_font_static and nes_message_data_static with gc-eu-mq ( #1721 )
...
* Hack nes_font_static and nes_message_data_static
* Make hardcoded config a bit more consistent
* Put debug ROM first
* Reword comment
* Move nes_font_static hack to spec
* Restore extracted/gc-eu-mq
2024-03-02 16:05:15 -05:00
Dragorn421
a6f646dc65
Introduce extracted/VERSION, with text extracted there ( #1730 )
...
* Introduce assets/_extracted/VERSION, with text extracted there
* move to `extracted/text/`
* Update gitignore s
* rework args for msgenc.py
* put mkdir with others, until theyre all moved at once
* move 0xFFFC back to being extracted, making it use specific macro `DEFINE_MESSAGE_NES` to handle its special behavior
* prettier gitignore
* Move messages 0xFFFC, 0xFFFD to committed message_data.h
2024-03-01 22:09:57 -05:00
cadmic
ca45c543f6
Add script to print block numbers for BSS ordering ( #1707 )
...
* Write script to print block numbers for BSS ordering
* Rename to ido_block_numbers.py
* Update ido_block_numbers.py for reencode.sh
2024-03-01 16:40:27 -05:00
Dragorn421
bdee3d33b4
No longer use asm-processor ( #1824 )
...
* git subrepo pull --force tools/ZAPD
subrepo:
subdir: "tools/ZAPD"
merged: "b3bfa14cf"
upstream:
origin: "https://github.com/zeldaret/ZAPD.git "
branch: "master"
commit: "b3bfa14cf"
git-subrepo:
version: "0.4.6"
origin: "https://github.com/ingydotnet/git-subrepo "
commit: "110b9eb"
* use CS_FLOAT
* update csdis
* update committed csdata
* finish updating csdis.py
* add script to reextract committed csdata
* dont use asm-processor, use iconv for reencoding utf8 to eucjp
* remove asm-processor csdata usage remnants
* --cs-float hex
* delete tempfile at end of reencode.sh (may want to rm even if compilation fails though?)
* comment reencode.sh
* comment CMD_F
* do not break permuter guessing compile command, by not reencode.sh-wrapping compilation under PERMUTER (thanks anghelo)
* fix the permuter fix
* pad -> sBssDummyNeg1
* reencode.sh: rm tempfile on script exit (including on error)
* renumber sBssDummy vars in zcolchk from 0
* Revert "--cs-float hex"
This reverts commit 85267dc348
.
* Revert BSS changes
* Add linemarker to reencoded files for better error message
* fix audio/general.c bss
* make reencode.sh work on macOS
* touch up csdis, csdis_re
---------
Co-authored-by: cadmic <cadmic24@gmail.com>
2024-03-01 16:12:22 -05:00
Tharo
c521f1f8ae
Remove gSystemHeap and use _buffersSegmentEnd instead, make buffer alignments explicit for gcc ( #1901 )
...
* Remove gSystemHeap and use _buffersSegmentEnd instead, make buffer alignments explicit for gcc
* ALIGNEDn -> ALIGNED(n), reposition alignment attribute for PreNmiBuff
* Correct positioning of ALIGNED for filter data in audio/lib/data.c
* Add ALIGNED to TypenameMacros
* ALIGNED(4) on same line for PreNmiBuff
* Revert audio load.c change, to be submitted separately
2024-02-27 19:01:47 -05:00
Tharo
7f64ace8f0
RNG doc ( #1892 )
...
* RNG doc
* Add some missing note qualifiers in comments
* code_800FD970 -> rand in Makefile and disasm CSVs
2024-02-26 22:21:25 -05:00
cadmic
57ae8ae1dd
Mostly match retail bosses, part 2 ( #1894 )
...
* Bosses part 2
* Remove newline
2024-02-26 22:16:38 -05:00
cadmic
1da87b1e7f
Match En actors D-G ( #1889 )
...
* Match entity actors D-G
* Remove SET_EN_GOROIWA_SPEED
* Actually match z_en_elf.c
* GET_EN_GOROIWA_SPEED -> EN_GOROIWA_SPEED
2024-02-26 21:55:30 -05:00
cadmic
10bae68937
Match En actors A-C, and a few more ( #1890 )
2024-02-24 13:00:37 -05:00
Dragorn421
5c3a722aca
Fixup permuter_settings ( #1746 )
...
* fix how permuter imports PRINTF macros wrt the ido-has-no-variadic-macros hack
* more permuter_settings fixups
2024-02-20 07:38:58 -05:00
Dragorn421
1ba2d6d0f9
Rework disassembly: out of makefile, separate sections, relocs ( #1728 )
...
* Rework disassembly: out of makefile, separate sections, relocs
* another nice print
* fix type hints for python 3.8 dinosaurs
* reencode from utf-8 to euc-jp (iconv) before assemble
* Add "include guards" to macro.inc
* For producing the expected file object files, assemble sections together instead of linking together the individually assembled sections
* review
* fixup
* require spimdisasm >=1.21.0
* remove assembling sections individually (for now)
* uppercase encoding names (standard)
2024-02-12 20:20:25 -05:00
Derek Hensley
0ac4448d99
Syms DMA Entries Extraction Support ( #1708 )
...
* Archive compression support + small cleanups
* UNSET spec and PR comment
* UNSET -> SYMS
* Syms comment
* PR review
* remove stderr
* Format
* format2
* Remove trailing ,s
2024-02-12 20:10:20 -05:00
Dragorn421
9da4e17c8f
Split msgdis from extract_assets ( #1723 )
...
* split msgdis from extract_assets
* move import
2024-02-05 20:40:31 -05:00
cadmic
54ffd50fa2
Extract ROM segments from gc-eu-mq (take 2) ( #1709 )
...
* 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-04 22:59:09 -05:00
cadmic
d674dad3da
Match compression for gc-eu-mq ( #1704 )
...
* 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-03 23:59:19 +01:00
Derek Hensley
5785c7adfb
Move roms to build folder ( #1651 )
...
* 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-02-02 16:34:20 -05:00
Tharo
5e8e01f110
z_view.c gc-eu-mq OK ( #1681 )
...
* z_view.c retail
* Replace PERSPECTIVE_EDITOR_ACTIVE, adjust PRINTF selection condition
* Macro-ify View_ErrorCheckEyePosition
2024-01-31 20:09:16 -05:00
Derek Hensley
06379c3109
Gamealloc, Graph, and Graphalloc retail OK ( #1675 )
...
* Gamealloc OK
* Graph + Graphalloc OK
* PR review
* gfxalloc
* new lines
* Remove imposter
2024-01-31 19:07:12 -05:00