1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-29 12:04:29 +00:00
Commit graph

3 commits

Author SHA1 Message Date
Chris Teague
bcf2694f93
Make func_800C213C match original ROM (#678)
* Make func_800C213C match original ROM

The C code for this function was very close to done, and was
functionally equivalent to the ROM.  This commit uses a few tricks
to convince the compiler to allocate the same registers as the original
ROM.  The two tricks used are:
1. Introduced a new temporary variable "yinc".
2. Added a "do while(0) {}" line in two places.

Both of these ideas came from the decomp-permuter tool.  I took the
do/while idea and guess as to what it might have been in the original
code.  I imagined that the "do while(0) {}" was probably left over from
a standard multi-line macro, which for some reason had an empty body.
I further suggest that maybe the empty body is because it was a feature
compiled out during RELEASE builds - perhaps a debug logging macro.

* Use simpler code for func_800C213C

Replaced dummy LOG macro with "do {} while(0);".  This version makes
less assumptions about what the original code looked like.
2021-02-12 17:26:42 -05:00
Random
bfef7f8d9d
Decompile PreRender.c (#319)
* Decompile PreRender.c

* use NON_EQUIVALENT and run format.sh

* Get rid of some magic values

* rename dList/dListp to dListHead/dList

* make func_800C213C NON_MATCHING

* replace more values with SCREEN_WIDTH/SCREEN_HEIGHT

* dList/dListHead with gfxp/gfx
2020-09-15 15:10:19 -04:00
Tharo
741c140aef
Split remaining unsplit asm files and migrate more rodata (#277)
* Split files

* Format rodata

* Some more code rodata migrated

* Some more actor rodata migrated

* Migrate rodata for ovl_Boss_Ganon

* Migrate rodata for code_800EC960

* Remove unused rodata

* x1b occurences all lowercase b
2020-07-19 21:08:50 -04:00