Build 3769
SVN-
General
Promote pr_customaspect to double from float to match the array of predefined aspect ratios that's in the menu
SVN handles and Git names are merged into one person.
Promote pr_customaspect to double from float to match the array of predefined aspect ratios that's in the menu
Fix a warning and uncomment something I accidentally left commented during testing
Make the menus look the same in all rendering modes, because the LOADSCREEN tile looks like shit when any kind of palette-based shading is involved. So, now everyone gets the ugly metal looking MENUSCREEN.
Properly handle shading models with traditional fog when r_usetileshades is also enabled.
Rename gltexinvalidateall to gltexinvalidatetype and add an enum for the two currently accepted values, INVALIDATE_ALL and INVALIDATE_ART
Get rid of that old model occlusion checking hack I wrote for Polymost years ago. I actually didn't know this was still in EDuke32... it's one of the worst things I've ever written. :p
A bit more work on the Polymost shade table mode (r_usetileshades)
Remove deleted md4 library related files from the Visual Studio project
Add an experimental shading mode to Polymost for .art tiles, in which extra textures are allocated for each shade level based on the classic mode shade tables. Enable with r_usetileshades 1 (disabled by default). This uses a lot of memory and is still very WIP (a lot of the shading is completely wrong at this point).
Also, further refactor texcache code.
Fix issue with Polymer checkbox in startup window, as reported at http://forums.duke4.net/topic/2961-paper-cuts-minor-bugs-and-annoyances/page__view__findpost__p__158208
MSVC build fix
I am not a smart man. Fix startup window hangs with grpinfo files.
Fix GTK build
My love/hate relationship with git stash is quickly becoming a hate/hate relationship. :p
Support adding custom grps to the selector in the startup window. To use this feature, create a file with a ".grpinfo" extension in your EDuke32 directory, following this template:
grpinfo { name "YourGameName" scriptname "yourgame.con" defname "yourgame.def" size yourgrpsize dependency DUKE15_CRC flags GAMEFLAG_ADDON crc yourgrpcrc } The "flags" field can also take the value "GAMEFLAG_DUKE" to define a new base game. Since this is the first commit of a new feature, certain semantics of the implementation and syntax are liable to change as necessary.
Don't write SelectedGRP to eduke32.cfg when using the Megaton compatibility "-addon" parameter.
Automatically execute mapname.cfg at map load time. This allows different maps in mods to have different rendering settings (shadescale, etc). This is not currently suitable for standalone user maps as there's no functionality to reset such cvars back to default at the next map load (so, if using this in a mod, every map needs to have a cfg).
Fix startup problems stemming from SelectedGRP = "" ending up in eduke32.cfg
Mask the seam that shows up when drawing the scuba HUD overlay in OpenGL by drawing SCUBAMASK 3 times... once at the left position + 1, and then at the proper left and right positions. It's definitely a hack, but at least it lives on the game side of things.
Fix building against libpng 1.6, which removed png_sizeof
Fix something I fucked up with GRP scanning when I added support for the Megaton addon GRPs.
Fix changing the max refresh rate in EDuke32 (it was already working correctly in Mapster32).
Add support for the versions of Duke it out in D.C., Duke Caribbean: Life's a Beach, and Duke: Nuclear Winter packaged with Duke Nukem 3D: Megaton Edition on Steam. This allows them to be launched directly from the startup window and also adds an "-addon" command line parameter that should allow the duke3d.exe included with Megaton Edition to be replaced with a copy of EDuke32.
Support NVIDIA's adaptive vsync, you can enable it by setting r_swapinterval -1 in the console or by using the new third setting for the vsync menu option.
Prevent loading anything except the GRP from the Steam or GOG Duke3D install directories. Loading DUKE.RTS from those paths will be resolved later.
Fix savegamevar/readgamevar breakage from r3579
Tweak the code that adds the Steam and GOG Duke3D paths a little. This changes things so that we add the DOSBox version provided on Steam as a source for the GRP instead of their main content dir, bypassing loading their screwed up duke3d.def.
Don't continue animating Ripper, Shrinker, Expander and Freezethrower when the game is paused or the menu is up.
Read GOG.com and Steam Duke3D install paths from the registry instead of hard-coding the default paths.
Fix shrunk player fist animation speed as requested on the forums. I didn't test this against the DOS version but it seems about right according to my memory. Let me know if it's still wrong and you care that much about it.
MSVC build fixes. The change to Makefile.deps is slightly questionable but it's not really an issue.
Directory cleanup. Move the "Apple", "Windows", and "Wii" directories to a new "platform" dir, move the contents of "psd" to "rsrc/source", move eobj* and obj* directories so that they're under the "source" dir.
Remove the old MakeDistributions makefile. This was used to package the old manually released source archives we had years ago.
Remove unused eduke32.vcxproj.user file, presumably used by VS2010 and up to store machine-dependent preferences
Remove unused rsrc/orange_icon.ico
Remove the old NSIS script used to generate the installers we had, what, 5 years ago? If we ever need it again we can just pull it from one of the old revisions stored in the repo.
Remove old unused changelog files