* 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
* 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>
* [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>
* 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>
* [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)
* 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>
* 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
* Change linker script so gGameOverTimer can be in z_game_over.c
* gGameOverTimer -> sGameOverTimer
* include_data_only_with_rodata -> include_data_only_within_rodata
* 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
* 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
* 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
* 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
* 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
* 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
* 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)
* begin docs
* cleanup
* copy over progress
* cleanup
* small cleanup
* more docs, fill out cmds
* small touchup
* pan weight ganon comment
* fix specId
* seqcmd cleanup
* format
* small cleanup
* one more thing
* small feedback from MM
* partial PR
* some PR Suggestions
* small adjustments
* ticks, seqticks, frames, updates: term cleanup
* small fix
* PR Review
* PR Review
* PR Review
* rm param
* adjust comment
* update renamed functions
* format
---------
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
* only check formatting on modified files (attempt 1)
* foreshadow maximum command string length being an issue and pass files list using a file
* rm temp file list otherwise it shows in git status and counts as a "formatting diff"...
* cheeky z_play modif
* format
* Check formatting in CI
* Move deleteDir() to cleanup section
* Revert "Move deleteDir() to cleanup section"
This reverts commit 4b0dd80cac.
* Give up on check_format.txt
* Fix formatting
* 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 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
* commit old stuff
* progress
* progress
* progress
* progress
* more progress, renaming cues next
* small changes
* enum values added for all actions
* hardcoded values removed when possible
* commands renamed
* first pass of action -> cue
* fix some matches
* some more cleanup
* scriptPtr
* forgot one
* remove cue rot union
* more changes
* some more stuff
* more stuff
* fix matching issues
* some more things
* progress, starting to rename destinations
* small changes
* name some destinations
* more names
* need to switch branch
* progress
* first pass of destination names
* usages fixed
* use destination enum
* fix csdis
* format
* command descriptions
* revert accidental zap changes
* forgot some things
* use a single macro for CutsceneCameraPoint (idk why i didnt think of this sooner)
* typo
* review1
* clarify ruby/sapphire comment
* remove endframe for commands that dont use it
* some more review
* most review, but not all
* scriptPtr -> script, and another small change
* ocarina action
* remove +1 from light settings command, change comment
* actionIndex -> cueIdTemp (i guess)
* _SetCueX -> _SetXFromCue
* format
* tweak fade out seq arg names
* use spline terminology
* more dragorn and engineer review
* misc start/end frame note
* cleanup StartPosRotFromCue vs PosRotFromCue
* cleanup spline terminology
* sPrevCamId -> sReturnToCamId
* comment on debug cs data address
* Cutscene_Init -> Cutscene_InitContext
* single point types are not a list
* remove todo comment
* some more review
* rumble struct names
* some review
* more review
* missed one
* reword pointer comment
* even more review
* match transition terminology with z_play
* change condition and format
* frame count
* command specific structs with alignment
* anon review
* remove unneeded arg from time macro
* yeet `CsCmdGeneric`
* remove unused from single point types
* typo
* compromise attempt -- name endFrame everywhere
* fixes
* fix again
* copied the wrong note
* cutscene data note
* review, format
* compat defines
* idk whats going on man
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
* Cleanup scene names
* missing scene id use
* rename scene draw config functions
* remove now useless comments
* format
* fix double defense/magic swapped
* try precision on "from potion shop"
Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
* Comment names on titled scenes
* Comment some more scene names
* Comment some map assets symbol prefixes
* Name collapse sequence scenes (from the non-collapse equivalent scene's name + `_COLLAPSE`)
* Name ganon/ganondorf boss scenes (symbol prefix suffixed with `Scene` to prevent confusion with boss actors)
* Fix symbol prefix for back alley night scene
* Name the two grave scenes (normal and fairy's fountain variant)
* Name most houses, name/update misc scenes
Co-authored-by: fig02 <fig02srl@gmail.com>
* (hakaana) `GRAVE` -> `REDEAD_GRAVE` to be more specific
Co-authored-by: fig02 <fig02srl@gmail.com>
* `miharigoya_scene`: `market_guard_house`
* `kakariko_scene` -> `kakariko_center_house`
* `richards_house` -> `dog_lady_house` (for localization differences)
* Revert "Comment some map assets symbol prefixes"
This reverts commit 210a38a628.
* remove other xml prefixes
* ganon_boss, ganondorf_boss
* comments to namefixer
* `KAKARIKO_CENTER_HOUSE` -> `KAKARIKO_CENTER_GUEST_HOUSE`
* two collapse sequence scenes -> `GANONS_TOWER_COLLAPSE_`interior/exterior
* Run namefixer
`find src include -type f -exec ./tools/namefixer.py {} \;`
* run formatter
Co-authored-by: fig02 <fig02srl@gmail.com>
* `cUpElfMsgs` -> `cUpMsgs`
Motivation:
ElfMessage is the name of the system that handles c-up messages from navi, but also messages from child/adult saria
so it would make sense to name this after the system name like "ElfMsg"
but "cUpElf" primarily reads like (to me) "c up navi" since the actor implementing navi is EnElf
I think it'd be better to clear that confusion between "navi" and "elfmsg system" by just not using "elf" in the name
* Standardize c-up navi messages ElfMessage data to be named after "CUp"
* -> "Navi"
* Make symbols in `elf_message_` segments static
* new docs
* change commands, format
* introduce navi file id
* use enum
* remove concat
* add clarifying comment for skip
* concat cmd type
* Hints -> QuestHint
* rename command header
* s -> g
* missed enum name
* singular
* missed one
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>
* Allow dmadata to have names different from the original table
Added an argument to the dma define which is used to match debug strings in z_std_dma.c
* Update kaleido manager to support different overlay names
* Update the actor table to support different actor names
Added an argument to the define which is used to match debug strings in z_actor_dlftbls.c
* PR suggestions for argument descriptions