Build 6221
SVN-
Only try texcache_fetchmulti on detail texture slots.
-
Check that texture entries have a non-skybox filename before using it in texcache_fetchmulti.
Show details
Fixes crash reported by Sgt Jack V.
SVN handles and Git names are merged into one person.
Only try texcache_fetchmulti on detail texture slots.
Check that texture entries have a non-skybox filename before using it in texcache_fetchmulti.
Fixes crash reported by Sgt Jack V.
Don't cut off a row and/or column of texels when drawing floor-aligned sprites with odd dimensions.
Add new tint flag 256, which always skips hightile when picking an image source.
Explicitly opt out of hicfindsubst falling back to pal 0 instead of checking against the reserved palnum range.
Factor out hictinting array accesses.
Create a new struct for hictinting that uses a uint16_t for flags.r
Add new userdef members gametext_tracking, mgametext_tracking, and menutext_tracking.
Make internal gametext calls use MF_Bluefont fields in the menus and a newly introduced MF_BluefontGame elsewhere.
Only use TEXT_GAMETEXTNUMHACK on internal gametext calls that benefit from it.
Optimize all gametext calls.
Make menutext use MF_Redfont fields.
Optimize all menutext calls.
Eliminate the RedfontGreen type and replace it with indentations (like "Apply Changes").
Eliminate the RedfontBlue type and replace it with the Disabled or LookDisabled flags.
Add a new MenuEntryFlag to make an option appear disabled but still work.
Fix a bug in r6184.
Clean up warnings in standalone mode.
Clean up gamefuncs in standalone mode.
Don't print any warnings to the log if an unrecognized gamefunc is dispatched; this is expected and normal when they are renamed.
Add undefinegamefunc.
Remove an old hack from my menu system that upon closer inspection is no longer needed.
Better support for working with blend in the editor
Get MSVC building again, DONT_BUILD.
Move rules around to unbreak Linux builds. This may be a GNU Make bug. DONT_BUILD.
Distinguish between .c files in rsrc and ones generated at build time in obj.
Amend r6150.
Another attempt at fixing Polymost z-fighting. Probably still sucks! :)
Fix window title in EDUKE32_STANDALONE builds. DONT_BUILD.
Minor optimization
Change savegame filenames from dukesav#.esv to save#.esv.
Remove the register keyword, since it is deprecated in C++11 and removed in C++17.
Improve what build information we print to the log at startup. New feature: compilers, their versions, and big-endianness. Removed: C++, as it is now mandatory.
Visual Studio apparently still defines __cplusplus as 199711.
Address some longstanding warnings with printf when building with MinGW's GCC 6 and newer.
Building with said newer versions may fix the -Wodr warning when building for release.
Introducing buildprint, a type-safe and more performant replacement for printf using C++11 variadic templates. At least, an incomplete version that is enough to implement the next commit.
Fix interpolation of sprites in sectors with SE_31_FLOOR_RISE_FALL
Revert r6133
Reduce max number of concurrent copies of the same sound from 8 to 4.
Fix using defined move/ai/action names in switch/case statements
Improve a couple of tagged sector warning messages. DONT_BUILD.
Amend r6126, which doesn't leave "eduke32" defined anywhere for binary names when APPBASENAME is not specified.
Recognize MacUser shareware demo; data must be renamed from "Duke3D Group" to "duke3d.grp".
Base output binary name on APPBASENAME. DONT_BUILD.
Potential slight optimization to actor movement.
Flip the switch to C++11.
It's happening.
compat.h: Add logbase<size_t>().
compat.h: Add new types, native_t and unative_t, functionally equivalent to our current bssize_t and bsize_t, respectively, but generated dependably using template metaprogramming when building with C++ >= 11.
compat.h: Add some infrastructure for C++ template metaprogramming.
compat.h: Upgrade our byteswapping functions with new versions that I have experimentally confirmed to compile down to the appropriate single assembly instructions on x86 and x86_64. As part of this, make them constexpr, and remove the OS-specific and inline assembly variants as sub-par due to these two improvements.
Add registry detection of the Steam path for World Tour installs.
Add the patched World Tour GRP to our checksum entries.
Modify Windows registry reading to check both 32-bit and 64-bit key locations.
Replace "gnu" with "c" in language standard declarations if we are using clang.
This should give us compatibility without compromising platforms that either don't recognize the "gnu" variants but include strdup, snprintf, etc anyway (clang on desktop), or that support "gnu" and don't include these functions in the "c" variants (gcc in devkitPPC). DONT_BUILD.
Address deprecation warnings with the latest Xcode and macOS.
Use -std=c99 and -std=c++03 instead of -std=gnu99 and -std=gnu++03.
Use "clang++" for building C++ with clang.
Add CROSS_SUFFIX option, as requested by rhoenie.
Move CUSTOMOPT to follow COMPILERFLAGS and LINKERFLAGS, so that it can overwrite more.
Move "-Wimplicit -Werror-implicit-function-declaration" from CONLYFLAGS to a new CONLYWARNS.
Factor out code for launching EVENT_GAME and EVENT_PREGAME.
Re-add a fixed version of old code for the SDL driver to initialize SDL as a whole or its audio subsystem if it has not yet been initialized.
Patch from NY00123. DONT_BUILD.
Remove XYZ.voc --> XYZ.flac format upgrades completely for sound effects, and leave them only for music.
XYZ.voc --> XYZ_voc.flac is still available.
compat.h: Upgrade ARRAY_SIZE.
compat.h: Upgrade EDUKE32_FUNCTION and add EDUKE32_PRETTY_FUNCTION.
Remove the implicit "static" from our FORCE_INLINE macro.
This will be important for C++ member functions.
Eliminate more cases of duplication of compat.h's functionality.