Commit graph

6763 commits

Author SHA1 Message Date
hendricks266
fc93eb1fe6 libxmp-lite: Changes to build as C++: Apparently an extern declaration must be present for the compiler to expose the symbols of struct objects.
git-svn-id: https://svn.eduke32.com/eduke32@6163 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:40:07 +00:00
hendricks266
d77d1cff29 libxmp-lite: Changes to build as C++: pointer casting
git-svn-id: https://svn.eduke32.com/eduke32@6162 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:39:59 +00:00
hendricks266
6700a2a93d libxmp-lite: Changes to build as C++: Structs within other structs cannot be referred to by just the innermost name, and the using keyword does not work either. Split them out into the top level.
git-svn-id: https://svn.eduke32.com/eduke32@6161 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:39:52 +00:00
hendricks266
35e8792efa libxmp-lite: Changes to build (in C mode).
git-svn-id: https://svn.eduke32.com/eduke32@6160 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:39:48 +00:00
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