-Change the seg and plane rendering functions to use single-precision floating point instead of double-precision.
-If a plane's texture isn't rotated, use exact values for cos(0) and sin(0) instead of using finecosine and finesine tables. Since those tables do not have exact values for angle 0, their use causes plane textures to not be properly aligned. This also allows us to avoid several multiplications.

git-svn-id: http://odamex.net/svn/root/branches/rend32@3863 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Change the sloped span drawers to use single-precision instead of double-precision floating point calculations. Clean up the code a tad.

git-svn-id: http://odamex.net/svn/root/branches/rend32@3864 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Move palette effect functions (red damage effect, yellow item pick-up flash, etc) to v_palette.cpp.
-Fix a rendering bug when in a color-blended sector with vid_32bpp disabled.
-Code cleanup.

git-svn-id: http://odamex.net/svn/root/branches/rend32@3865 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Apply gamma correction to translated colors (eg, color-shifting the green on a player's sprite) when in 32bpp mode.

git-svn-id: http://odamex.net/svn/root/branches/rend32@3866 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Add templated drawing functions R_DrawColumnGeneric and R_DrawLevelSpanGeneric and R_DrawSlopedSpanGeneric with template parameters for the screen buffer data type (8bpp or 32bpp) and a functor that handles colormapping a source pixel to the screen buffer.
-This eliminates numerous extremely similar functions and encapsulates the differences in functors.

git-svn-id: http://odamex.net/svn/root/branches/rend32@3867 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Add parameters to the generic drawing template functions for the destination buffer and screen pitch.
-Add some comments and clean up a bit.

git-svn-id: http://odamex.net/svn/root/branches/rend32@3868 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Clean up R_RenderSegLoop1/2 and move dc_colormap calculations into R_SetColumnColormap.

git-svn-id: http://odamex.net/svn/root/branches/rend32@3869 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Begin work to commonize the solid & masked seg rendering functions.
-Add a common function R_RenderSegRange to handle drawing columns horizontally in interleaved blocks of four into a temporary buffer and then blitting to the screen. This contains the duplicated code from ZDoom 1.22's R_RenderSegLoop2 and R_RenderMaskedSegRange.

git-svn-id: http://odamex.net/svn/root/branches/rend32@3870 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Refactor high-resolution texture scaling and fix a bug where high-resolution midtextures were only visible from certain angles.

git-svn-id: http://odamex.net/svn/root/branches/rend32@3871 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Utilize R_RenderSegRange for rending both solid and masked segs in 4 column horizontal blocks.

git-svn-id: http://odamex.net/svn/root/branches/rend32@3872 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Fix a solid column rendering bug that rendered an extra row for toptextures and bottomtextures.

git-svn-id: http://odamex.net/svn/root/branches/rend32@3873 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Rename R_RenderSegRange to R_RenderColumnRange and use it for rendering the sky columns.
-R_RenderColumnRange now also renders columns directly to the screen buffer (r_columnmethod disabled).
-Clean up sky rendering code and fix a bug with r_drawflat enabled.

git-svn-id: http://odamex.net/svn/root/branches/rend32@3874 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Unroll the blitting loop in R_DrawColumnGeneric.
-Use R_FillColumnGeneric and R_DrawColumnGeneric templates for the horizontal interleaving column drawers R_FillColumnHorizP and R_DrawColumnHorizP.
-Add comments indicating the purpose of each of the palettized and direct drawing functions.

git-svn-id: http://odamex.net/svn/root/branches/rend32@3875 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Remove rw_x and rw_stop globals.
-Rename R_RenderSegLoop to R_RenderSegRange with the first and last column numbers as parameters.

git-svn-id: http://odamex.net/svn/root/branches/rend32@3876 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Small fix to r3873 to ensure column drawers render the bottom row of the screen.

git-svn-id: http://odamex.net/svn/root/branches/rend32@3877 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Add parameters to the templated drawing functions for the image source and the destination buffer range.

git-svn-id: http://odamex.net/svn/root/branches/rend32@3878 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Initialize ceilingclip[] and floorclip[] to negonearray and viewheightarray respectively. Column and visplane start/end heights are clipped to the screen contraints in BlastColumn.

git-svn-id: http://odamex.net/svn/root/branches/rend32@3879 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Add a parameter to R_RenderColumnRange to indicate if the cache-friendly drawer (r_columnmethod 1) should be used.

git-svn-id: http://odamex.net/svn/root/branches/rend32@3880 b0bcef46-2027-0410-bd56-ab726e9a1d04
-R_BlastMaskedSegColumn now calculates screen coordinates itself and calls the standard column drawer R_DrawColumn rather than relying on calling R_DrawMaskedColumn. This eliminate the need for the tallpost_t* parameter for when calling R_DrawMaskedColumn, making it uniform with the rest of the Blaster functions.

git-svn-id: http://odamex.net/svn/root/branches/rend32@3881 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Fix a crash from out-of-range column coordinates introduced in r3879.

git-svn-id: http://odamex.net/svn/root/branches/rend32@3882 b0bcef46-2027-0410-bd56-ab726e9a1d04