Skip to content

Flipfuncpointers

toaster requested to merge flipfuncpointers into next

Minor optimisations surrounding R_DrawFlippedMaskedColumn.

  • Replace the texheight parameter provided directly to it with a previously existing (now renamed) global used for the same purpose, so that it can be used as an interchangeable function pointer with R_DrawMaskedColumn.
  • Using the above, optimise R_DrawVisSprite to call a function pointer in a tighter loop rather than check SC_VFLIP each time around.
  • SHORT macro can involve repeated operations; calculate once and put in memory for both RANGECHECK and papersprite.
  • Remove irrelevant range check (already covered by existing range check immediately above) from R_DrawFlippedMaskedColumn and R_DrawMaskedColumn.
  • "Warning: avoiding a crash in %s %d" is a terrible error message, and it chips away at the tightness of the loop just for something most people will never see printed. Replace with a PARANOIA I_Error in case someone actively wants to go hunting for its cause.

srb2win_flipfuncpointers.exe

Diff is currently kinda huge cuz I made it on next, and realised master wasn't merged in. You should probably merge that before considering merging this.

Merge request reports