-Add horizontal and vertical texture scaling factors to allow for high-resolution wall textures (ZDoom 1.23 compatible).

git-svn-id: http://odamex.net/svn/root/trunk@3584 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Add checks to r3584 to prevent divide-by-zero errors when rw_scale == 0

git-svn-id: http://odamex.net/svn/root/trunk@3585 b0bcef46-2027-0410-bd56-ab726e9a1d04
Some cleanup from r3583.  It appears to have stripped trailing spaces on v_draw, my apologies...

git-svn-id: http://odamex.net/svn/root/trunk@3586 b0bcef46-2027-0410-bd56-ab726e9a1d04
320x200 and 640x400 are treated as resolutions "protected" from aspect ratio correction.  Add isProtectedRes() bool to Dcanvas to check for this.  Apply it to work done in r3583. :: Show the status bar at the proper aspect ratio.  Other hud elements, menu and so on coming soon...

git-svn-id: http://odamex.net/svn/root/trunk@3587 b0bcef46-2027-0410-bd56-ab726e9a1d04
Apply RjY's 64k sidedef support patch (bug 938).  Larger maps (e.g., deus vault map05) should be playable now.  Thanks RjY!

git-svn-id: http://odamex.net/svn/root/trunk@3588 b0bcef46-2027-0410-bd56-ab726e9a1d04
Compensate for resolutions that are < 4/3.  We need a better, concise way to derive the current aspect ratio (or at least categorize it).  320x240 is still giving some trouble with status bar rendering and coming out of that resolution into something larger...

git-svn-id: http://odamex.net/svn/root/trunk@3589 b0bcef46-2027-0410-bd56-ab726e9a1d04
Tweak the protectedres check to specifically look for the height <= 200, fixes 320x240.

git-svn-id: http://odamex.net/svn/root/trunk@3590 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Apply James Dunne's patch to check that R_PointInSubsector returns a valid subsector in P_CheckPosition. The subsector can be invalid when a client is downloading a WAD from the server (bug 931).
-This should be handled more robustly in the future by preventing downloading players from running any physics and rendering code and/or having them ignore most physics related svc_ messages from the server.

git-svn-id: http://odamex.net/svn/root/trunk@3592 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Apply James Dunne's patch to have the automap follow displayplayer rather than consoleplayer in instances where the client is spying from another player's POV (bug 932). Thanks James

git-svn-id: http://odamex.net/svn/root/trunk@3593 b0bcef46-2027-0410-bd56-ab726e9a1d04
JamesDunne's 32bpp rendering mode; enable via `vid_32bpp` cvar.

Removed `vid_defbits` cvar in favor of `vid_32bpp` and new menu option.
`vid_32bpp` cvar forces a mode switch when set.
Added '32-bit color' menu option which controls `vid_32bpp` cvar.
Removed all force 8bpp mode settings.
Blit functions updated to correctly copy and translate colors between 8bpp and 32bpp modes.
Disabled `I_BeginRead` which rendered a disk icon during disk loads; basic cyclic dependency problem with palette initialization and caused a crash.
Forced gamma table initialization in palette setup code. Without this the screen would simply turn black in 32bpp because newgamma[] contained nothing but 0s.
In general, code prefers to preserve 32bpp calculated colors and use `BestColor` function to do palette mapping.
Invented `shaderef_t` and `shademap_t` to more sanely track colormap/shademap pair for 8bpp and 32bpp support.
Using `am_color_t` to represent both 32bpp and 8bpp values for automap colors.
32bpp alpha blending for status/pain effects.
SSE2, MMX, AltiVec optimizations for all 4-col rendering functions to do status alpha-blending.
Introduced `r_intrin.h` to sanely detect MMX, SSE2, AltiVec availability.
Added tech-specific optimization files for SSE2, MMX, and AltiVec.
`r_optimize` cvar introduced to detect and switch between CPU rendering optimizations.
Made sure MMX is not included in Win64 build; Win64 does not support MMX.
Using function pointers for all rendering functions to easily switch modes.
Fixed wipes for 32bpp.
Fixed 8bpp vs 32bpp SDL screen mode switching snafu.
Fixed dim effect for 32bpp.
Fixed automap for 32bpp.
Fixed screenshot for 32bpp.
Fixed view window resizing in 32bpp mode.
Fixed particle rendering for 32bpp.
Fixed player setup screen's fire rendering in 32bpp.
Fixed blend for 32bpp modes to be 50% alpha instead of 100% alpha.
Fixed bunny scroll to work in 32bpp.
Fixed CTF border when carrying flag in 32bpp.
Refactored palette setup code.
Generating custom shademaps for default light levels.
Separating shademap construction from colormap.
Much better logarithmic scale for lighting in 32bpp.
Fixed forced 50% alpha for HUD in 32bpp; now repsects menu setting.
Disabled `blend4vs4_sse2` because it produces incorrect colors.
Ramped up red pain effect.
More graceful mode switching failure handling.
Removed ASM code for rendering.
Switched `r_*D` functions to pointers.
`DCanvas::Dim()` vectorized.
`R_DrawSpanD()` vectorized.
Don't use vectorization if `BlendA == 0`; just slows things down.
32bpp player color translation.
Working single-player player color translation in chase mode.
Added vid_vsync and i_wait cvars to uncork the 35fps limit.
Only issue a warning if a netdemo file cannot be created.
Proof-of-concept of post-rendering alpha-blending.
Removed now extraneous vectorized rendering functions.
Fixed invuln color map in 32bpp.
Renamed i_wait to vid_capfps for compatibility.
Removed unnecessary asserts now that those function pointers are not assigned by this function any longer.
Dev-C++ v4.9.9.2 support to maintain Win95 builds.