Commit graph

2280 commits

Author SHA1 Message Date
hendricks266
f26408ea96 Keep music playing without interruption during map or hubmap transitions if the same file will be playing before and after.
git-svn-id: https://svn.eduke32.com/eduke32@6182 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-17 11:41:44 +00:00
hendricks266
7d6a0d965b Update LZ4 to 1.7.5.
git-svn-id: https://svn.eduke32.com/eduke32@6181 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-14 07:00:08 +00:00
hendricks266
95826e79b3 Update xxHash to 0.6.2.
git-svn-id: https://svn.eduke32.com/eduke32@6180 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-14 07:00:02 +00:00
hendricks266
08326d19dd Amend r6174 to un-break libxmp-lite.
git-svn-id: https://svn.eduke32.com/eduke32@6179 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-14 06:59:58 +00:00
hendricks266
f8bdc5814e Re-port our changes to libdivide.h and add new changes so that it works as we need.
git-svn-id: https://svn.eduke32.com/eduke32@6177 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-14 06:59:50 +00:00
hendricks266
284fdf1b63 Replace libdivide.h with an unpatched copy of the latest version.
git-svn-id: https://svn.eduke32.com/eduke32@6176 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-14 06:59:43 +00:00
terminx
feb8b43892 Better support for working with blend in the editor
git-svn-id: https://svn.eduke32.com/eduke32@6175 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-10 08:19:47 +00:00
terminx
d0211379e0 Get MSVC building again, DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6174 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-10 08:19:35 +00:00
terminx
faf5c90eef Another attempt at fixing Polymost z-fighting. Probably still sucks! :)
git-svn-id: https://svn.eduke32.com/eduke32@6170 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:41:45 +00:00
terminx
f394f1bc1e Fix window title in EDUKE32_STANDALONE builds. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6169 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:41:39 +00:00
terminx
0447c0feb6 Minor optimization
git-svn-id: https://svn.eduke32.com/eduke32@6168 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:41:33 +00:00
terminx
18870b0bc1 Change savegame filenames from dukesav#.esv to save#.esv.
git-svn-id: https://svn.eduke32.com/eduke32@6167 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:41:28 +00:00
terminx
b13deef232 The most minor of minor optimizations. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6166 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:41:23 +00:00
terminx
5fc04f288c Fix missed label for sectoreffector tag. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6165 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:41:17 +00:00
terminx
d76c3c2764 Polymost: fix texture panning floatiness on slight slopes
git-svn-id: https://svn.eduke32.com/eduke32@6164 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:40:17 +00:00
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
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
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
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
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
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
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
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
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
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
3e64f08cd1 Fix r5498 so that projectiles actually do not hit their owner during their first tic of movement.
Clear the hitscan bit instead of blocking bit because Proj_MoveCustom uses CLIPMASK1.

git-svn-id: https://svn.eduke32.com/eduke32@6082 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-20 20:30:04 +00:00
hendricks266
af66b8a99f Factor out code for launching EVENT_GAME and EVENT_PREGAME.
git-svn-id: https://svn.eduke32.com/eduke32@6081 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-20 20:29:57 +00:00
hendricks266
06a38e3873 Audiolib: 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.

git-svn-id: https://svn.eduke32.com/eduke32@6080 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-01 09:35:58 +00:00
hendricks266
d5bd7681a0 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.

git-svn-id: https://svn.eduke32.com/eduke32@6079 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:16:04 +00:00
hendricks266
e9c8f44a47 compat.h: Upgrade ARRAY_SIZE.
git-svn-id: https://svn.eduke32.com/eduke32@6078 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:16:01 +00:00
hendricks266
d6e820645b compat.h: Upgrade EDUKE32_FUNCTION and add EDUKE32_PRETTY_FUNCTION.
git-svn-id: https://svn.eduke32.com/eduke32@6077 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:58 +00:00
hendricks266
62a921c409 Remove the implicit "static" from our FORCE_INLINE macro.
This will be important for C++ member functions.

git-svn-id: https://svn.eduke32.com/eduke32@6076 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:53 +00:00
hendricks266
77875948ba Eliminate more cases of duplication of compat.h's functionality.
git-svn-id: https://svn.eduke32.com/eduke32@6075 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:45 +00:00
hendricks266
aa04307ad1 Route all inclusion of libc headers and most of POSIX headers through compat.h.
git-svn-id: https://svn.eduke32.com/eduke32@6074 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:36 +00:00
hendricks266
22fbca52ca Remove HAVE_INTTYPES define.
No #else was ever provided for any build system that lacks inttypes besides MSVC.

git-svn-id: https://svn.eduke32.com/eduke32@6073 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:20 +00:00
hendricks266
2b8fb9bfc1 Completely reorganize compat.h.
git-svn-id: https://svn.eduke32.com/eduke32@6072 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:16 +00:00
hendricks266
3f5dbe17f2 Eliminate the windows_inc.h include from compat.h by special-casing UNREFERENCED_PARAMETER in a different way.
git-svn-id: https://svn.eduke32.com/eduke32@6071 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:13 +00:00
hendricks266
ee4d69093c Remove #define compat_h_macrodef__ and its absent case, which was only ever used for an old JFDuke3D port to PalmOS.
If for some reason you need to target a platform that lacks a libc, you're better off finding a libc, or putting together your own shim layer. It's a weekend project at most.

git-svn-id: https://svn.eduke32.com/eduke32@6070 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:10 +00:00
hendricks266
6d7191b848 windows_inc.h in two more places
git-svn-id: https://svn.eduke32.com/eduke32@6069 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:01 +00:00
hendricks266
26e740c0b7 Eliminate many cases of duplication of compat.h's functionality.
git-svn-id: https://svn.eduke32.com/eduke32@6067 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-19 22:15:56 +00:00
hendricks266
225be10f61 Define NOMINMAX in windows_inc.h.
git-svn-id: https://svn.eduke32.com/eduke32@6066 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-19 22:15:50 +00:00
hendricks266
d4ee6d00c8 Route inclusion of all Windows headers through a new header, windows_inc.h.
This allows us to make certain guarantees about limits on the extent of namespace pollution these headers introduce.

git-svn-id: https://svn.eduke32.com/eduke32@6065 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-19 22:15:44 +00:00
hendricks266
79279780a5 More of the previous commit, because VS can be frustrating.
git-svn-id: https://svn.eduke32.com/eduke32@6064 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-19 22:15:32 +00:00
hendricks266
1aaf246527 Limit what startwin.game.cpp needs to include.
git-svn-id: https://svn.eduke32.com/eduke32@6063 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-19 22:15:29 +00:00
hendricks266
3faa84f6d4 Remove dead code for selecting sound settings from the Windows startup window.
git-svn-id: https://svn.eduke32.com/eduke32@6062 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-19 22:15:23 +00:00
hendricks266
d43fb548cf Abolish all " ={ " when assigning a struct. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6061 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-05 20:58:33 +00:00
hendricks266
417b047cf3 Bring the previous commit into effect.
git-svn-id: https://svn.eduke32.com/eduke32@6056 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-01 10:20:54 +00:00
hendricks266
1cc9d13ccf The great repository rearrangement of 2017.
Files moved but not modified. Changes to follow in a subsequent commit.

You down with CPP?

git-svn-id: https://svn.eduke32.com/eduke32@6055 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-01 10:01:11 +00:00