Build 3411
SVN-
Generale
MSVC doesn't have ssize_t
Nickname SVN e nomi Git sono unificati per persona.
MSVC doesn't have ssize_t
Replace the osdcvar_t members that needed to be kept in sync with cvar_t with an actual cvar_t. If this is questionable for any reason I'm forgetting, feel free to revert!
Surround "debug1" and "debug2" with #ifdef DEBUGGINGAIDS
Clean up a couple of other getrendermode() related bits that the previous commit missed
Add predefined REND_CLASSIC, REND_POLYMOST and REND_POLYMER constants and use them everywhere getrendermode() is called.
Bump DirectSound version to 8. This shouldn't really affect anything as the API is the same for all of the bits we make use of, but certain sets of DirectX headers/libs seem to be lacking v7 support.
Remove FX_ASSVersion and related code since it wasn't used anywhere
Throw a compiler warning when building with only the null sound driver
Fix DirectSound in MSVC builds and remove the dependency on the DirectX SDK
Revert "Implement fullscreen 8bpp mode as a borderless, desktop-sized window when running on Windows, and expose an 8bpp mode to the game with the same size as the desktop when no fullscreen 8bpp modes are exposed by Windows. This is required on Windows 8 if we want to have any operation of classic mode in fullscreen, because Windows 8 drops the ability to set any mode other than 32bpp (leaving us largely in the same position we are when running under X)."
Sort some of the more recently added source and header files so they're in the right sections in the VS2010 project
Remove a few old references to the duke3d_w32.exe wrapper we once shipped
to facilitate compatibility with stuff like Dukester X years ago
Implement fullscreen 8bpp mode as a borderless, desktop-sized window when running on Windows, and expose an 8bpp mode to the game with the same size as the desktop when no fullscreen 8bpp modes are exposed by Windows. This is required on Windows 8 if we want to have any operation of classic mode in fullscreen, because Windows 8 drops the ability to set any mode other than 32bpp (leaving us largely in the same position we are when running under X).
Limit attempting to toggle DWM off when using OpenGL modes to Vista/7, because Windows 8 no longer supports disabling DWM. Apparently, Windows 8 contains a software DWM renderer, and all of the "Metro" bs is directly tied to DWM, so there is no longer a way for an app to disable it at will.
Change a few paths in various MSVC Makefiles to better suit my current dev environment. This doesn't really affect anyone else since these paths need to be customized to fit whatever machine by anyone building with MSVC anyway.
Fix building as C instead of C++
Networking patch from Jasper Foreman
Recognize the .pk4 file extension when loading grps and zips for shits and giggles (.pk3 was already recognized).
Move the definitions like MAXGAMEVARS out of the enums used for the gamevar flags, because it didn't really make a whole lot of sense for them to be there.
Replace the separate full Gv_AddVar/SubVar/etc functions with a macro that generates them since they were all the same anyway (other than the operator, obviously)
Revert "compat.h: slightly reformat the NOWARN-related preprocessor directives."
Commit breaks MSVC builds by failing to provide NOWARN macros to MSVC.
Factor out duplicate code in CONTROL_BindKey/CONTROL_BindMouse/CONTROL_FreeKeyBind/CONTROL_FreeMouseBind
Relocate Bstrncpyz to the bottom of compat.h so we can use our Bstrncpy macro there
Fix a keyboard scancode oversight I introduced with my changes last night, apparently caused crashes
Further minor MACT cleanups
Replace a few one line MACT mouse functions with macros that do the same thing
Remove useless CONTROL_UserInputCleared. It was useless in the literal sense, e.g not actually used anywhere. :p
Change key bindings to use dynamic allocation and remove the previous limit of 128 characters per key bind
Minor cleanups in MACT control.c
Remove the xdelta3 files from the VS2010 project, too
Remove xdelta3 since it doesn't fit in with our current networking plans anymore
Add "ulotag" and "uhitag" to get/setactor/wall/sector, which exposes the tags unsigned, without the typecast to int16_t. This might be useful to someone.
Remove our old eduke32.vcproj as it hasn't been updated since whenever I switched to VS2010
Make GCC *printf_nowarn behavior conditional on compiling as C++
Add nedmalloc.h to the VS2010 project files
MinGW C build fix
Add a couple of #ifdef __cplusplus I missed
Fix the warnings when building with C++, add MSVC C++ build support. This also changes the internal type of lotags, hitags and cstat type fields to uint16_t instead of int16_t to clean up some dubious behavior wherein the code was using a value of 32768 as a flag in these fields for certain types of things, like invisible sprites (using the value as if it was uint16_t) where it was elsewhere checking if the value was < 0 (using the value as if it was int16_t). This change may break a few specific effects if any part of the relevant code was missed when looking for areas that needed to be addressed.
I think there's also a fix for the CON precache system breakage in here (lost it in my local tree when I started getting the C++ build working in MSVC, sorry!)
Fix r3155 fuckup :)
Update Net_SendVersion() and Net_ReceiveVersion() to use a 16-bit representation of BYTEVERSION