hendricks266
914762513d
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.
...
git-svn-id: https://svn.eduke32.com/eduke32@6139 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-05 10:05:07 +00:00
hendricks266
5a0ed69310
compat.h: Add some more math stuff to support the next commit.
...
git-svn-id: https://svn.eduke32.com/eduke32@6138 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-05 10:05:03 +00:00
hendricks266
83c06a63b9
Fix some extern "C".
...
git-svn-id: https://svn.eduke32.com/eduke32@6137 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-05 10:04:56 +00:00
hendricks266
66f43bca24
compat.h: Prevent "warning: private field 'dummy' is not used". DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@6136 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-01 03:08:39 +00:00
terminx
abfbfec0f0
Fix interpolation of sprites in sectors with SE_31_FLOOR_RISE_FALL
...
git-svn-id: https://svn.eduke32.com/eduke32@6135 1a8010ca-5511-0410-912e-c29ae57300e0
2017-05-19 02:28:40 +00:00
terminx
0e231ce97e
Revert r6133
...
git-svn-id: https://svn.eduke32.com/eduke32@6134 1a8010ca-5511-0410-912e-c29ae57300e0
2017-05-18 07:03:55 +00:00
terminx
e6d8181e1c
Reduce max number of concurrent copies of the same sound from 8 to 4.
...
git-svn-id: https://svn.eduke32.com/eduke32@6133 1a8010ca-5511-0410-912e-c29ae57300e0
2017-05-17 21:55:09 +00:00
terminx
3861723200
Fix https://forums.duke4.net/topic/9285-con-compiler-bug/page__pid__276767
...
git-svn-id: https://svn.eduke32.com/eduke32@6132 1a8010ca-5511-0410-912e-c29ae57300e0
2017-05-17 21:55:01 +00:00
terminx
ca30328f53
Fix using defined move/ai/action names in switch/case statements
...
git-svn-id: https://svn.eduke32.com/eduke32@6131 1a8010ca-5511-0410-912e-c29ae57300e0
2017-05-17 05:46:59 +00:00
terminx
a955f415c4
Improve a couple of tagged sector warning messages. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@6130 1a8010ca-5511-0410-912e-c29ae57300e0
2017-05-17 05:46:52 +00:00
hendricks266
934849a965
Amend r6126, which doesn't leave "eduke32" defined anywhere for binary names when APPBASENAME is not specified.
...
git-svn-id: https://svn.eduke32.com/eduke32@6129 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-24 05:11:11 +00:00
hendricks266
80ebabd08a
Amend r6122, as of r6074 all standard library header inclusion is routed through compat.h.
...
git-svn-id: https://svn.eduke32.com/eduke32@6128 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-24 05:11:08 +00:00
terminx
28d23ad575
Recognize MacUser shareware demo; data must be renamed from "Duke3D Group" to "duke3d.grp".
...
git-svn-id: https://svn.eduke32.com/eduke32@6127 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-24 04:35:32 +00:00
terminx
645f88dba9
Base output binary name on APPBASENAME. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@6126 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-24 04:35:27 +00:00
terminx
b2c8c45b41
Potential slight optimization to actor movement.
...
git-svn-id: https://svn.eduke32.com/eduke32@6125 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-24 04:35:22 +00:00
terminx
76b83164a5
EDUKE32_STANDALONE improvement. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@6124 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-24 04:35:18 +00:00
terminx
0acdeb93d1
Save and restore music position when changing to a map with the same music defined. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@6123 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-24 04:35:13 +00:00
terminx
889a0e7fbc
Remove obsolete header standard.h. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@6122 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-24 04:35:08 +00:00
terminx
9ed9efc4f6
Change screenshot base name to scrn0000 instead of duke0000 for standalone builds. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@6121 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-24 04:35:01 +00:00
hendricks266
d0ad379c4c
Flip the switch to C++11.
...
It's happening.
git-svn-id: https://svn.eduke32.com/eduke32@6120 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-12 08:30:38 +00:00
hendricks266
d3c56b8a89
compat.h: Add logbase<size_t>().
...
git-svn-id: https://svn.eduke32.com/eduke32@6119 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-12 08:30:35 +00:00
hendricks266
73654c2079
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.
...
git-svn-id: https://svn.eduke32.com/eduke32@6118 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-12 08:30:32 +00:00
hendricks266
7a40df33b6
compat.h: Add some infrastructure for C++ template metaprogramming.
...
git-svn-id: https://svn.eduke32.com/eduke32@6117 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-12 08:30:29 +00:00
hendricks266
a1f317ecfc
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.
...
git-svn-id: https://svn.eduke32.com/eduke32@6116 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-12 08:30:26 +00:00
hendricks266
b98b00281c
compat.h: Add macros so that we can use constexpr without breaking C++ < 11 and C.
...
git-svn-id: https://svn.eduke32.com/eduke32@6115 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-12 08:30:23 +00:00
hendricks266
1ebbd553bd
compat.h: Add some definitions for easy testing of language standard versions.
...
git-svn-id: https://svn.eduke32.com/eduke32@6114 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-12 08:30:18 +00:00
hendricks266
0c31245cd2
Add registry detection of the Steam path for World Tour installs.
...
git-svn-id: https://svn.eduke32.com/eduke32@6113 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-09 13:09:01 +00:00
hendricks266
5441fcdb1e
Add the patched World Tour GRP to our checksum entries.
...
git-svn-id: https://svn.eduke32.com/eduke32@6112 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-09 13:08:58 +00:00
hendricks266
8cf65eb180
Modify Windows registry reading to check both 32-bit and 64-bit key locations.
...
git-svn-id: https://svn.eduke32.com/eduke32@6111 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-09 13:08:53 +00:00
hendricks266
f4fa0ceafd
Makefile: 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.
git-svn-id: https://svn.eduke32.com/eduke32@6110 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-27 17:13:13 +00:00
hendricks266
cb2d1f4bce
Mac: Address deprecation warnings with the latest Xcode and macOS.
...
git-svn-id: https://svn.eduke32.com/eduke32@6109 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-27 17:13:07 +00:00
hendricks266
cf3a4550b0
Makefile: Add phony target "clang-tools" for use with clang-tools.
...
ex: clang-query `make clang-tools`
DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6108 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 20:47:11 +00:00
hendricks266
886924126a
Makefile: Add *_ORDERONLYDEPS, which saves us an error message when building Lunatic on Mac.
...
git-svn-id: https://svn.eduke32.com/eduke32@6107 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 20:47:08 +00:00
hendricks266
7aeaace450
Makefile: Add *_SRCS variables, which reassemble the full paths of all source files.
...
git-svn-id: https://svn.eduke32.com/eduke32@6106 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 20:47:05 +00:00
hendricks266
5de3318812
Makefile: Separate combinations of component objects for the six build targets into a variable specifically representing the combination.
...
The original variable name now contains the sub-group only.
git-svn-id: https://svn.eduke32.com/eduke32@6105 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 20:47:03 +00:00
hendricks266
f0b73188ed
Makefile: Clean up more Lunatic setup.
...
git-svn-id: https://svn.eduke32.com/eduke32@6104 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 20:47:00 +00:00
hendricks266
df6871854a
Makefile: LUNATIC_SRC
...
git-svn-id: https://svn.eduke32.com/eduke32@6103 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 20:46:57 +00:00
hendricks266
c12c5e0363
Makefile: Slightly modify the way ENet objects are ignored for NETCODE=0 builds.
...
git-svn-id: https://svn.eduke32.com/eduke32@6102 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 20:46:55 +00:00
hendricks266
aaf44c0ec8
Makefile: Split any source file from an rsrc folder into a separate list of objects, recombined at expansion time.
...
git-svn-id: https://svn.eduke32.com/eduke32@6101 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 20:46:52 +00:00
hendricks266
c371bfe763
Makefile: Factor out the expansion of source file names to object paths.
...
git-svn-id: https://svn.eduke32.com/eduke32@6100 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 20:46:50 +00:00
hendricks266
15713808e8
Makefile: Add source code file extensions to all objects, and strip them back off with $(basename ).
...
git-svn-id: https://svn.eduke32.com/eduke32@6099 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 20:46:47 +00:00
hendricks266
bc5fa3975a
Makefile: Clean up Lunatic objects.
...
git-svn-id: https://svn.eduke32.com/eduke32@6098 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 20:46:44 +00:00
hendricks266
f0869a6d0e
Makefile: Change the phonies list so that it is newline-separated.
...
git-svn-id: https://svn.eduke32.com/eduke32@6097 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 20:46:41 +00:00
hendricks266
bc081e6593
Makefile: Move -funsigned-char from COMMONFLAGS to COMPILERFLAGS. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@6096 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 03:03:39 +00:00
hendricks266
f1d99d70e8
Makefile: Refactor, part 3: objects.
...
git-svn-id: https://svn.eduke32.com/eduke32@6095 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 03:03:37 +00:00
hendricks266
23155443d9
Makefile: Refactor, part 2: phonies.
...
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.
git-svn-id: https://svn.eduke32.com/eduke32@6094 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 03:03:34 +00:00
hendricks266
63eadeb0e1
Makefile: Refactor using advanced GNU Make tricks and $(eval), part 1: targets
...
git-svn-id: https://svn.eduke32.com/eduke32@6093 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 03:03:32 +00:00
hendricks266
6fbf4e6f1c
Makefile: Remove "dxtools" and "sdltools" as separate categories, and instead build them along with the normal tools when conditions of their target environment are met.
...
git-svn-id: https://svn.eduke32.com/eduke32@6092 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 03:03:29 +00:00
hendricks266
30ef04893b
compat.h: Re-taxonomize one item.
...
git-svn-id: https://svn.eduke32.com/eduke32@6091 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 03:03:26 +00:00
hendricks266
28ad096e38
Revert r6089. We can't live without strdup, strtoll, snprintf, strcasecmp, etc.
...
This is only an issue on some platforms.
git-svn-id: https://svn.eduke32.com/eduke32@6090 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 03:03:21 +00:00