------------------------------------------------------------------------ r2424 | helixhorned | 2012-03-07 11:42:37 -0800 (Wed, 07 Mar 2012) | 13 lines Optimizations and tweaks for C replacements of mhline and thline. Hlines for masked and translucent masked ceiling/floor (sprites). - apply the --> 'do { ... } while (--cnt)' transformation, making these functions iterate cnt+1 times like the asm version. This also fixes an off-by-one issue where sprites or masked ceilings/floors had a one-pixel non-drawn line to the right. - This time, only declare-as-local two 'extern' globals (asm1 and asm2). It seems that I was too eager with "localing" all file-scoped vars earlier. GCC is able to remove the loads from memory inside the loop by itself, whereas clang is not. This is not trivial, since it has to prove that the 'screen' pointer passed to the functions will never alias these globals. ------------------------------------------------------------------------ r2423 | helixhorned | 2012-03-07 11:42:20 -0800 (Wed, 07 Mar 2012) | 1 line Optimize 'rainbow' background drawing in the editor with 8-bit renderer. ------------------------------------------------------------------------