Aprile 2017
-
Generale
Change screenshot base name to scrn0000 instead of duke0000 for standalone builds. DONT_BUILD.
-
Generale
Flip the switch to C++11.
Mostra dettagli
It's happening.
-
Generale
compat.h: Add logbase<size_t>().
-
Generale
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.
-
Generale
compat.h: Add some infrastructure for C++ template metaprogramming.
-
Generale
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.
-
Generale
compat.h: Add macros so that we can use constexpr without breaking C++ < 11 and C.
-
Generale
compat.h: Add some definitions for easy testing of language standard versions.
-
Generale
Add registry detection of the Steam path for World Tour installs.
-
Generale
Add the patched World Tour GRP to our checksum entries.
-
Generale
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.
Mostra dettagli
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.
-
Add phony target "clang-tools" for use with clang-tools.
Mostra dettagli
ex: clang-query `make clang-tools` DONT_BUILD.
-
Add *_ORDERONLYDEPS, which saves us an error message when building Lunatic on Mac.
-
Add *_SRCS variables, which reassemble the full paths of all source files.
-
Separate combinations of component objects for the six build targets into a variable specifically representing the combination.
Mostra dettagli
The original variable name now contains the sub-group only.
-
Clean up more Lunatic setup.
-
LUNATIC_SRC
-
Slightly modify the way ENet objects are ignored for NETCODE=0 builds.
-
Split any source file from an rsrc folder into a separate list of objects, recombined at expansion time.
-
Factor out the expansion of source file names to object paths.
-
Add source code file extensions to all objects, and strip them back off with $(basename ).
-
Clean up Lunatic objects.
-
Change the phonies list so that it is newline-separated.
-
Move -funsigned-char from COMMONFLAGS to COMPILERFLAGS. DONT_BUILD.
-
Refactor, part 3: objects.
-
Refactor, part 2: phonies.
Mostra dettagli
This commit uses GNU Make's Secondary Expansion feature. These rules could be slightly simplified if all the variables defining each component were renamed to use lowercase.
-
Refactor using advanced GNU Make tricks and $(eval), part 1: targets
-
Remove "dxtools" and "sdltools" as separate categories, and instead build them along with the normal tools when conditions of their target environment are met.
-
Generale
compat.h: Re-taxonomize one item.
-
Generale
Revert r6089. We can't live without strdup, strtoll, snprintf, strcasecmp, etc.
Mostra dettagli
This is only an issue on some platforms.
Marzo 2017
-
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.
-
Unfactor CWARNS from COMPILER_*.
-
Factor out common uses of COMMONFLAGS, COMPILERFLAGS, and LINKERFLAGS into COMPILER_* and LINKER.
Mostra dettagli
Collateral changes: Engine objects now use COMPILER_CXX instead of CXX, BUILD_SETTINGS_LINKER now includes GUI_LIBS, and the Build tools now use LINK_STATUS and result instead of ONESTEP.
-
Generale
Fix r5498 so that projectiles actually do not hit their owner during their first tic of movement.
Mostra dettagli
Clear the hitscan bit instead of blocking bit because Proj_MoveCustom uses CLIPMASK1.
-
Generale
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.
Mostra dettagli
Patch from NY00123. DONT_BUILD.
Febbraio 2017
-
Generale
Remove XYZ.voc --> XYZ.flac format upgrades completely for sound effects, and leave them only for music.
Mostra dettagli
XYZ.voc --> XYZ_voc.flac is still available.
-
Generale
compat.h: Upgrade ARRAY_SIZE.
-
Generale
compat.h: Upgrade EDUKE32_FUNCTION and add EDUKE32_PRETTY_FUNCTION.
-
Generale
Remove the implicit "static" from our FORCE_INLINE macro.
Mostra dettagli
This will be important for C++ member functions.
-
Generale
Eliminate more cases of duplication of compat.h's functionality.
-
Generale
Route all inclusion of libc headers and most of POSIX headers through compat.h.
-
Generale
Remove HAVE_INTTYPES define.
Mostra dettagli
No #else was ever provided for any build system that lacks inttypes besides MSVC.
-
Generale
Completely reorganize compat.h.