Build 4472
SVN-
General
Fix two Polymer crashes related to corrupted maps.
SVN handles and Git names are merged into one person.
Fix two Polymer crashes related to corrupted maps.
Introduce m32_settings.cfg, analogous to settings.cfg, so that you can save your cvars and aliases for the editor.
One potential use is to add r_togglecomposition "0" if you don't like Aero turning on and off every time you switch between 2D mode and 32-bit 3D mode.
Very minor changes after an investigation into the possibility of Polymost on Wii.
gltexinvalidatetype(INVALIDATE_ART) so that loading or unloading an ART set will take effect when using the OpenGL renderers.
Reintroduce SDL_Renderer for the classic renderer so that the Steam Overlay can function with it.
Block off hacks for the primitive splitscreen CON mod with SPLITSCREEN_MOD_HACKS so they are no longer compiled.
These hacks could no longer be allowed to co-opt the fake multiplayer mode, used for local testing and mod development. I have half a mind to remove the hacks outright because they could be likened to drilling bolts directly into your car engine just so you could mount a bowling ball as a hood ornament. However, I don't want to take away the splitscreen hack mod from anyone who uses it, and the work done on these hacks should be useful if proper splitscreen were implemented internally using per-player input and multiple renderer/audio passes.
Always run tsprites with statnum TSPR_TEMP though EVENT_ANIMATESPRITES, such as the "show opponent's weapon" in multiplayer.
SDK/Samples: Add "startpos.m32", a helper script for spawn points.
You can: -Cycle your position through all DM or coop spawn points. -Jump to the primary spawn point. -Dump full spawn point information to the log file.
Add EVENT_LOADMAP, EVENT_SAVEMAP, EVENT_PRELOADMAP, and EVENT_PRESAVEMAP.
Some are more useful than others.
Clean up some GUI/WM minutiae. Should fix linking Mapster32 on *nix with HAVE_GTK=0.
Merge a patch and suggestions from NY00123 improving SDL2 support. This fixes the flickering in OpenGL in SDL2 on Windows. It also provides a proper list of resolutions.
Fix OpenGL under SDL && Windows. (Almost. SDL 1.2 works fine, but SDL2 has an unresolved problem where OpenGL screen updates flicker over a black background.)
Split the handling of audio based on RENDERTYPE into a new variable named MIXERTYPE, allowing Windows builds to use SDL for input and rendering (RENDERTYPE=SDL) while using DirectSound and Windows' MIDI interface (MIXERTYPE=WIN [current default]) so that EMIDI works.
Fix the Classic renderer under SDL2.
Fix Mapster32 crash caused by custom s_buildRev strings longer than five characters.
(Note: We are still vulnerable to crashes here (and likely in other places), but you have (4096-16) extra characters to work with. We should consider replacing many uses of Bsprintf with Bsnprintf.)
Implement alpha into rotatesprite (rotatesprite_) on the engine side.
Add orientation bit 2048, enumerated as ROTATESPRITE_FULL16, which is a courtesy provided by the engine for the purpose of the game to internally force use of full 32-bit coordinates. With this bit set, all CON screen drawing commands can use rotatesprite16-like coordinates.
While the functionality was already internally in place for gametext as one of two hacks using ROTATESPRITE_MAX (the other still used by minitext_() to align with the statusbar) we must codify a bit in the engine for safe external use. (Otherwise, ROTATESPRITE_MAX could/would theoretically increase and leave modders high and dry.) (Dev note: In G_DrawTXDigiNumZ(), ROTATESPRITE_MAX was used to bitshift the value used to calculate digit spacing for no reason I can ascertain other than to introduce rounding errors into the zoom/textscale calculations. It was never used anywhere, so I removed it.) Bonus: The scaling code for digitalnumberz and gametextz has been modified so that the spacing is no longer affected by rounding errors. Try animating the zoom value and compare how the text used to jump but now does not.
Fix Mapster32. It runs now.
Process ART animations on tspr->picnum early in all three renderers.
This enables ART animations to take effect on voxels in classic, voxels and models in Polymost, and models in Polymer.
Plug up alpha leaks in Polymost textures/rotatesprite.
Connect spriteext.alpha to models and voxels in Polymost.
This code is neat, tidy, organized, and sensical!
Connect spriteext.alpha to Polymost.
Ugh, global variable hacks. Excuse me while I wash my hands.
Add Homebrew Channel metadata for Mapster32 and expand the build process to easily allow its addition. Unfortunately it closes on launch without any log and I don't have any means to debug it, so it remains disabled. (Who wants to map on a TV with 640x480 resolution anyway?)
Bring the SDL.h include in SDLMain.m up to speed with driver_sdl.c in jaudiolib and sdl_inc.h in the engine. Also address some Apple macro problems.
Fix SVN mime-types of binary files.
Windows batch file: for /r %%G in (*.a) do svn propset svn:mime-type application/octet-stream "%%~G" for /r %%G in (*.lib) do svn propset svn:mime-type application/octet-stream "%%~G" for /r %%G in (*.dll) do svn propset svn:mime-type application/x-msdownload "%%~G" for /r %%G in (*.ico) do svn propset svn:mime-type image/vnd.microsoft.icon "%%~G" for /r %%G in (*.icns) do svn propset svn:mime-type image/icns "%%~G" for /r %%G in (*.bmp) do svn propset svn:mime-type image/bmp "%%~G" for /r %%G in (*.png) do svn propset svn:mime-type image/png "%%~G" for /r %%G in (*.xcf) do svn propset svn:mime-type image/x-xcf "%%~G" for /r %%G in (*.psd) do svn propset svn:mime-type image/vnd.adobe.photoshop "%%~G" for /r %%G in (*.nib) do svn propset svn:mime-type application/octet-stream "%%~G" for /r %%G in (*.map) do svn propset svn:mime-type application/octet-stream "%%~G" svn propset -R svn:mime-type application/octet-stream polymer/eduke32/Apple/lib svn propset -R svn:mime-type application/octet-stream polymer/eduke32/Windows/lib/32 svn propset -R svn:mime-type application/octet-stream polymer/eduke32/Windows/lib/64 svn propset -R svn:mime-type application/octet-stream polymer/eduke32/source/jaudiolib/third-party/Apple/lib svn propset -R svn:mime-type application/octet-stream polymer/eduke32/source/jaudiolib/third-party/Windows/lib/32 svn propset -R svn:mime-type application/octet-stream polymer/eduke32/source/jaudiolib/third-party/Windows/lib/64