Build 1735
SVN-
Generale
Fix a bug where having two or more lighting passes on a multi-surface mdsprite would leak some GL state and disable blending for all but the first surface.
Nickname SVN e nomi Git sono unificati per persona.
Fix a bug where having two or more lighting passes on a multi-surface mdsprite would leak some GL state and disable blending for all but the first surface.
Works around a bug with newer NVIDIA GL drivers where creating a GL context
would remove write access to our code sections. bugs 3086185 and 3104646
SDL and menu joystick fixes by NY00123 (thanks!).
Pull in backtrace.c (pre-compiled as backtrace.dll and MinGW dependencies) from http://code.google.com/p/backtrace-mingw. When running debugging snapshots, this will print out a helpful backtrace in eduke32.crashlog. I had to disable stack protectors for debug builds as this was pulling in a dependency that I assume most people won't have. If anyone feels like merging that code into EDuke32 itself and find a way to remove the ugly libintl dependencies, be my guest. In the meantime, sorry for the awful commit.
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.