* Small env fixes: for git submodules & python3
Using `/usr/bin/env python3` is preferred over `/usr/bin/python3`
because it is compatible with virtualenvs, etc. It picks the version of
`python3` currently on the `PATH`, rather than the system-wide default.
For the git submodules, I had two issues:
The ZAPD repo is currently pointing at a commit not on the master
branch, which has to be specifically fetched. Adding `--remote` to the
update command fixes this.
The decomp-permuter has primary branch `main` not `master` like this
repo, so this has to be specified in `.gitmodules` when using `--remote`.
* Rework `git submodule update...` part of Makefile
* Restore padding in ObjVisiblock struct
* Copy overlays out of compiled `code.elf` to put into the ROM
This is just a "tempory fix"
It seems like the built code/assets in `code.elf` should not be copied
into `build/baserom/...` (over the original ROM's files) but instead
into a `build/decomp/...` tree or similar.
`dmadata_table.txt` would also need to be updated to read from the
correct location.
* Use dmadata_table.txt to generate build rules
`makerom_files.txt` & `makerom_uncompressed_files.txt` contained a lot
of the same data in `dmadata_table.txt`, so I added a small python
script to generate this information into `build/`
Segments are no longer dumped out of `code.elf` into `build/baserom/``,
instead they are put in `build/binary/`.
`linker_scripts/dmadata_script.txt` was checked in, but generated by
`dmadata.py`. I deleted it / moved it to `build/dmadata_script.txt.pre`.
I also introduced some sentinel files (`dep`). I ended up needing these
to make incremental builds work smoothly? (Without them, there were a
lot of steps that were getting re-triggered on every build.) If this
style isn't welcome, I can try to fiddle with the Makefile more to try
to avoid having them?
* Restore padding in BgLbfshot struct
* Touch sentinel file before command; rm on failure
* Restore padding in ObjKepnKoya struct
* Ensure asm/ directories exist before disasm steps
* Clean up Makefile rules
* Set default goal; silent objcopy; fix code_script path
* Fix ovl_En_Ginko_Man, ovl_Obj_Lightswitch merge
ovl_En_Encount2 still needs work to bring back to matching
* Fix ovl_En_Encount2 merge
* 1 scene done, Z2_SOUGEN OK
* All scenes OK
* Makefile improvements
* Use WIP ZAPD branch as submodule
* Add spawn rotation flag macro
* Fix bad merge
* Move scenes to be in their own subfolders
* Rename and restructure extracted baserom files
* Progress tracking for assets
* Add asset progress to csv
* Use master ZAPD
* Use distclean like in OOT
* Fix up a few things with the makefile
* Fix scenes not being dumped from ELF
Co-authored-by: Rozelette <Uberpanzermensch@gmail.com>
* z_en_item00 WIP 17/21 match, rest close to matching
* Split .rodata for z_en_item00
* Item00 documentation, some misc cleanup
* Minor cleanup
* Fixup for z_collision_check
* Address feedback
* Delete old file
* Fix bad merge
* Progress on various files
* gfxprint stuff
* split some rodata, add iconv for rodata string parsing
* z_std_dma rodata
* 2 nonmatchings in gfxprint
* mtxuty-cvt ok
* more
* match a function in idle.c
* progress
* Cleanup
* Rename BgPolygon to CollisionPoly
* progress
* some effect stuff
* more effect progress
* updates
* made suggested changes
* z_effect_soft_sprite_old_init mostly ok
Co-authored-by: Lucas Shaw <lucas.shaw1123@gmail.com>
Co-authored-by: Rozelette <Rozelette@users.noreply.github.com>
* Added recomp
* Fix .exes not being included maybe
* Fixed now?
* OK this should add IDO
* Re recompile in -O2
* Updates asm-processor to point to current HEAD.
* Uses the exact same ido_recomp binaries as OOT.
Co-authored-by: Kenix3 <kenixwhisperwind@gmail.com>
* Remove ability to generate headers when disassembling
* Remove type information from function table
Co-authored-by: Rozelette <users.noreply.github.com>