mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-29 12:04:29 +00:00
bcf2694f93
* 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. |
||
---|---|---|
.. | ||
func_800C2FE4.s | ||
func_800C2500.s |