* 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
* 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
* 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
* 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
* Some GCC flags improvements
* Move -fno-reorder-blocks -fno-zero-initialized-in-bss to assets only
* Add -fno-PIC since some gcc versions use -fPIC as default
* Enable builtin functions on gcc, with appropriate changes to missing_gcc_functions.c
and ultra64/libc.h
* Move -fno-merge-constants -mno-explicit-relocs -mno-split-addresses to overlays only
as they are only needed there for reloc reasons
* Remove unneeded casts in missing_gcc_functions.c
* Change gcc assets flags handling
* 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)
* Use iconv to convert strings to EUC-JP for reassembly
* Compare .data size, .bss size, and .rodata contents in retail_progress.py
* Show data diffs in summary for humans
* Use multiprocessing to very significantly speed up retail_progress.py summary
* Remove intermediate function
* Make sigint less jank
* Hide the evidence
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
* add --not-ok to only print not-OK files in summary
---------
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
* 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 bfaae66c1d.
* 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>
* Create debug macros for common functions
* Revert NDEBUG change
* MALLOCR -> MALLOC_R
* DEBUG -> OOT_DEBUG
* Use the same name for debug and non-debug matrix functions
* Fix file/line argument order
* Revert g[s]DPNoOp[Tag]
* Use SystemArena_MallocDebug directly in GameAlloc_MallocDebug
* MTXF_TO_MTX -> MATRIX_TO_MTX
* Create separate build directories based on version
* Fix find_unused_asm.sh
* Remove find_unused_asm.sh from Jenkinsfile
* Revert diff.py
* Clarify that gc-eu-mq is not "supported" yet
* Revert xmlcreate.py (to be deleted)
* Remove gc-eu-mq for now
* Add version flags to diff_settings.py and sym_info.py
* --version -> --oot-version
* Fix --oot-version
* Revert adding version flags to tools
* Delete find_unused_asm.sh
* Revert changes to first_diff.py output in tutorial
* Factor out sed usages for spec
* Makefile automatically rebuild source files including headers from include/tables
* Fix typo, make z_actor.c also depend on actor_table.h
* Add message data dependencies for z_message_PAL, adjust comments