mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-14 05:19:36 +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. |
||
---|---|---|
.. | ||
audio_seqplayer | ||
code_800BB0A0 | ||
code_800DACC0 | ||
code_800E11F0 | ||
code_800EC960 | ||
code_800F7260 | ||
code_800F9280 | ||
code_80110450 | ||
db_camera | ||
PreRender | ||
sys_math3d | ||
sys_matrix | ||
ucode_disas | ||
z_actor | ||
z_camera | ||
z_eff_blure | ||
z_jpeg | ||
z_kaleido_setup | ||
z_kankyo | ||
z_message_PAL | ||
z_onepointdemo | ||
z_parameter | ||
z_play | ||
z_room | ||
z_skin_awb | ||
z_sram | ||
z_vimode | ||
z_vr_box |