1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-08-18 21:10:19 +00:00
oot/asm/non_matchings/code
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
..
audio_seqplayer
code_800BB0A0
code_800DACC0
code_800E11F0
code_800EC960
code_800F7260
code_800F9280
code_80110450
db_camera
PreRender Make func_800C213C match original ROM (#678) 2021-02-12 17:26:42 -05:00
sys_math3d
sys_matrix
ucode_disas
z_actor Decompile Gameplay_Keep and fix all existing decompiled objects (#595) 2021-01-24 19:36:40 -05:00
z_camera
z_eff_blure
z_jpeg
z_kaleido_setup
z_kankyo Decompile Gameplay_Keep and fix all existing decompiled objects (#595) 2021-01-24 19:36:40 -05:00
z_message_PAL
z_onepointdemo Actor Struct Changes (and a few related things) (#617) 2021-01-18 16:04:04 -05:00
z_parameter Cleanup z_lifemeter (#552) 2021-01-10 16:33:58 -05:00
z_play Document Collision_Check (#468) 2021-01-17 21:13:36 -05:00
z_room
z_skin_awb z_skin OK and z_skin_awb decomped (one barely nonmatching) (#632) 2021-02-12 20:41:34 +01:00
z_sram
z_vimode
z_vr_box