Build 1713
SVN-
General
Link debug builds with -rdynamic in order to get symbol names when printing backtraces from the signal handler.
SVN handles and Git names are merged into one person.
Link debug builds with -rdynamic in order to get symbol names when printing backtraces from the signal handler.
Re-tie initial SDL mouse grabbing to DEBUGGINGAIDS.
Correctly (I hope) handle the zoom argument of rotatesprite when drawing HUD models in Polymer.
Add a few debug cvars for development purposes.
Fix wrong interpretation of SPREXT_NOTMD that would cause it to assume the flag was set whenever any flag was set, causing the models to switch on and off in Duke Plus with Polymer.
Polymost-style HUD model support for Polymer. It properly displays all HRP HUD models as far as I can tell.
Implement 'away1' and 'away2' maphacks in Polymer.
Respect the 'notmd' maphack when deciding to draw models in Polymer.
Reorganize a little code so that lightmaps can be used when a spotlight isn't currently casting a shadow. This fixes the problem where the window lights in the E1L1 apartment secret would jump between square and circle-shaped depending on the shadowcount and the view angle.
Fix build.
Lose the quitflag check until we know while it gets out of sync between clients and server. This cause the new networking code to be somewhat usable again.
Fix multiplayer.
Make the "Start" button of the GTK start-up window the default button of the window, which means pressing Enter now works at you'd expect.
This should fix the build on unix platforms.
Fix classic mode (typo broke it).
%esi gets modified by swapchar2 but isn't listed as an output operand for the GCC extended assembly version. This causes the compiler to fail to restore it after swapchar2 executes, causing crashes if used in a loop. This change fixes the security camera crash when using GCC 4.4.x or 4.5.0.
Fail gracefully when processing (some) corrupt models instead of corrupting the heap and possibly crashing.
Model specular map support and polymer fix for the OSX/ATI driver.
Add proper DEF tokens for normal scale/bias in model skins.
This is an attempt to fix r1595.
- pr_resetlights() was exported but polymer.c wasn't changed to reflect that. This also broke the gcc build so I'm not sure how this was missed. - commented code was laying around in the middle of polymer.h - savegame.c using a bunch of C99 non-constant initializers. Please keep in mind that MSVC is one of the supported compilers and doesn't know C99. - savegame.c using localtime_r, which doesn't exist on Win32. - demo playback calling resetlights and drawrooms without ever calling pr_loadboard(). - this change makes the game run very choppy here.
Model normal mapping support. This calculates the averaged texture-tangent basis for every face of every model when loading them, so this change will make startup times a lot worse until we implement a way to cache the computed models to disk.
Properly invert the tangent space matrix instead of transposing it (after all, model tangent space isn't guaranteed to be orthogonal) and do so offline. This removes a little strain from the GPU.
This should correctly compute the normal of all BUILD floors and walls. Fixes bug 2806174 (E1L1 projection room floor not affected by light and parallaxing artifacts).
This should be the correct type for aGlobalMemoryStatusEx.
Don't process the SDL_mixer effect if we're not done initializing.
Annnnnd revert something I didn't mean to commit.
Fences access to common resources between the possible SDL_mixer effect thread and the rest of the audio code.
Fixes a bug when you can't enable music from the sounds menu. Not sure why this line had a multiplayer-related check before rev 1574 yet.
Changing S_TestSoundCallback() back to what it was before revision 1490 since calling into MultiVoc from the DirectSound buffer worker thread can cause deadlocks. TODO: make the callback value accurately point to the sound instance. Maybe change the type to intptr_t and directly pass a pointer?
Adds code to disable the Vista/7 DWM when setting OpenGL modes. This buys some OpenGL performance in windowed mode and works around an ATI OpenGL driver bug.
Hook the polymer map selection code to a few more places in the editor code. This will fix the screen turning greenish when selecting a pal with Alt-P. I could just drop the selection from these cases since the cursor can't actually move, but then people would ask why the FPS gets higher in this occurrences.