Commit graph

7909 commits

Author SHA1 Message Date
hendricks266
44536c51d0 Makefile: Add libxmp-lite, replacing static linking to a library that was uncommon in Linux and Mac package managers.
git-svn-id: https://svn.eduke32.com/eduke32@6159 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:39:42 +00:00
hendricks266
d715918e45 Add unmodified libxmp-lite sources from its Git repository.
git-svn-id: https://svn.eduke32.com/eduke32@6158 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:39:37 +00:00
hendricks266
000050c7b9 Makefile: Add LPeg sources, replacing the haphazard static linking that required a custom-built library in a hardcoded location.
git-svn-id: https://svn.eduke32.com/eduke32@6157 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:39:21 +00:00
hendricks266
75d25d0d15 LPeg: Necessary changes for building in our environment and with our project. See lpeg-lunatic.patch.
git-svn-id: https://svn.eduke32.com/eduke32@6156 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:39:18 +00:00
hendricks266
37c7be05ca Add unmodified sources for LPeg 1.0.1.
git-svn-id: https://svn.eduke32.com/eduke32@6155 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:39:11 +00:00
hendricks266
e00c3a92bd Makefile: Move the ENet group up into a new section for libraries that are not ours but included in our repository.
git-svn-id: https://svn.eduke32.com/eduke32@6154 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:39:04 +00:00
hendricks266
f0be1fb1e2 Makefile: Remove manual assembly of object file lists and replace it with a system for tracking dependencies between groups.
git-svn-id: https://svn.eduke32.com/eduke32@6153 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:39:01 +00:00
hendricks266
6d990b592e Makefile: Rename some groups so that the part before the first _ corresponds to the parent group that has _SRC and _OBJ defines.
git-svn-id: https://svn.eduke32.com/eduke32@6152 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:38:58 +00:00
hendricks266
f81f6b76e6 Makefile: Remove $(LUNATIC_LUA_PREFIX).
git-svn-id: https://svn.eduke32.com/eduke32@6151 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:38:55 +00:00
hendricks266
3306b8d5a3 Makefile: Move duke3d and engine directory definitions to their proper spots, as they no longer need early definition after the great repository rearrangement.
git-svn-id: https://svn.eduke32.com/eduke32@6150 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:38:52 +00:00
hendricks266
3627c7710e Makefile: Update heading comments.
git-svn-id: https://svn.eduke32.com/eduke32@6149 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:38:49 +00:00
hendricks266
91c8ca11bd Makefile: Remove printing of compiler/assembler/linker options at build start. Use PRETTY_OUTPUT=0 if you need that information.
git-svn-id: https://svn.eduke32.com/eduke32@6148 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:38:46 +00:00
hendricks266
b3d597200b Common.mak: Massive reorganization/cleanup.
Any functional changes are incidental and minor, other than the outright removals.

git-svn-id: https://svn.eduke32.com/eduke32@6147 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:38:42 +00:00
hendricks266
9444fecf1e Add perl.exe.stackdump to .gitignore.
git-svn-id: https://svn.eduke32.com/eduke32@6146 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:38:33 +00:00
hendricks266
0a74a878e1 Rename savegame.lua to lunasave.lua to avoid a collision with savegame.cpp. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6145 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-07 05:56:35 +00:00
hendricks266
0633795683 Fix an extern "C" that was collateral damage in the last push. Fixes Lunatic build. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6144 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-07 05:13:54 +00:00
hendricks266
8d8fd61ed0 Remove the register keyword, since it is deprecated in C++11 and removed in C++17.
git-svn-id: https://svn.eduke32.com/eduke32@6143 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-05 10:05:29 +00:00
hendricks266
576ff98f4d 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.
git-svn-id: https://svn.eduke32.com/eduke32@6142 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-05 10:05:22 +00:00
hendricks266
25b942de74 Visual Studio apparently still defines __cplusplus as 199711.
git-svn-id: https://svn.eduke32.com/eduke32@6141 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-05 10:05:17 +00:00
hendricks266
f781f21ccd 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.

git-svn-id: https://svn.eduke32.com/eduke32@6140 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-05 10:05:12 +00:00
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