* 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
* Improve error message and match up with https://github.com/zeldaret/mm/pull/1173
* Update Makefile
More descriptive error messaging
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
---------
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
* Update asm-processor and fix includes with EARLY
* Enable more IDO warnings and disable unwanted warning 516
* Fix most new and remaining warnings
* Improve skelanime comment
* Improve asmproc pragma comment
Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
* Add suggested comment for a wrong prototype
* Update asm-processor with the latest fix
Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
* Rename and document SkelCurve
* AVOID_UB in DemoTreLgt_OverrideLimbDraw
* Rename code_8006C510
* Objdump flags in the makefile
* Move CC_CHECK above compilation
* Review 1
* Review 2
* Review 3
* Review
Add doxygen comments to file head
use angle macro,
improve bug comment,
make arguments of SkelCurve_Draw more consistent,
Change this temp to pad in MagicWind
* Un-fake a couple of matches in memory manip functions
* Document fmodf
* Un-fake a couple of matches in memory manip functions
* Document fmodf
* Rename functions and files
* Document memmove, memsets, memcpys
* Format
* Sort out some missing sizeofs
* Name fmodf
* Rename local variables
* size_t
* Use COBRA_SHADOW_TEX_SIZE
* Review
* Tweak the Doxyfile to remove @brief requirement
* Roman's review
* Fix a bug comment
* Change fmodf
* Format all handwritten asm and document some
* Use c preprocessor for constants
* Fix
* Fix PI_STATUS_ERROR, some label improvements
* Avoid hi/lo for constants
* Some more comments
* Properly mark functions as functions and their sizes
* Fix merge
* Improvements
* Review suggestions, rework procedure start/end macros to be more like libreultra
* Move IPL3 symbol definitions into ipl3.s
* Fix undefined_syms, add include and language guards to asm.h and fix the comment in gbi.h
* Consistent hex capitalization, add some MIPS builtin defines to CC_CHECK to behave properly
* Add -no-pad-sections assembler option and clean up alignment in gu files and bzero
* Further suggestions and improvements
* Matrix conversion function clarifications
* Fix passing AVOID_UB to gcc
* Suggestions
* Suggestions, global interrupt mask improvements
* Further suggestions, interrupt mask comments
* Comments fixes, rdb.h
* Switch from # comments to // comments, remove unnecesary .set gp=64 directives
* Further review suggestions
* Missed one
Currently the C preprocessor is used to remove comments from the text
files before encoding them.
However the option used (`-fpreprocessed`) is only supported by gcc –
but not by clang, which breaks the macOS build.
By using Python to remove comments, we can remove the use of this
gcc-specific option, and fix the macOS build.