hendricks266
f01c9205e9
Fix USE_OPENGL=0 build.
...
git-svn-id: https://svn.eduke32.com/eduke32@6361 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-15 21:56:17 +00:00
hendricks266
37b2a751b9
compat.h: Add preliminary FALLTHROUGH macro to support
...
git-svn-id: https://svn.eduke32.com/eduke32@6353 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-10 13:44:04 +00:00
hendricks266
4252a60af9
Add an error directive to C++ standards versions < 2011.
...
git-svn-id: https://svn.eduke32.com/eduke32@6352 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-10 13:44:01 +00:00
terminx
3706ac1b43
Allow scripts to change MAXSPRITESONSCREEN before calls to drawrooms() and friends
...
git-svn-id: https://svn.eduke32.com/eduke32@6347 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-08 19:42:11 +00:00
terminx
8d7f23a842
Reduce MAXSPRITESONSCREEN from 4096 to 2048. Email me if you have a map so poorly designed that this actually breaks something!
...
git-svn-id: https://svn.eduke32.com/eduke32@6344 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-08 19:41:49 +00:00
terminx
b3b40c9581
Allow writing to 8 and 16-bit CON arrays
...
git-svn-id: https://svn.eduke32.com/eduke32@6338 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-08 05:18:43 +00:00
terminx
a9e513ecaf
Add OSD_PROTECTED flag, set when gamefunc_Show_Console has been undefined from CON. Currently just requires you hold down shift when pressing the console key to open the console.
...
git-svn-id: https://svn.eduke32.com/eduke32@6325 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-05 05:42:37 +00:00
terminx
bb75d0fbde
Texcache cleanups. No longer allocates a 256 byte buffer for every cache entry's name.
...
git-svn-id: https://svn.eduke32.com/eduke32@6300 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-27 02:24:34 +00:00
terminx
ee367baaea
scriptfile.[cpp|h] cleanups
...
git-svn-id: https://svn.eduke32.com/eduke32@6299 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-27 02:24:28 +00:00
terminx
c25aa4a790
OSD (console) cleanup
...
git-svn-id: https://svn.eduke32.com/eduke32@6297 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-27 02:24:14 +00:00
terminx
2dfc3acb38
Templatize the clamp functions
...
git-svn-id: https://svn.eduke32.com/eduke32@6293 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-27 02:23:46 +00:00
terminx
8932251ad2
Reduce MAXVOXELS to 1024.
...
git-svn-id: https://svn.eduke32.com/eduke32@6292 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-27 02:23:40 +00:00
hendricks266
cb12f25cda
Add a wallext structure for non-Lunatic builds so they can have a blend member too.
...
git-svn-id: https://svn.eduke32.com/eduke32@6276 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-25 11:23:53 +00:00
terminx
07419b18ab
Workaround for MSVC bug
...
git-svn-id: https://svn.eduke32.com/eduke32@6272 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 21:18:12 +00:00
terminx
854b303d18
Fix command line help window in builds with the startup window disabled
...
git-svn-id: https://svn.eduke32.com/eduke32@6270 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 21:17:59 +00:00
hendricks266
5ef942f4ec
Shrink the tilesiz vector to use int16_t members as the original arrays were.
...
git-svn-id: https://svn.eduke32.com/eduke32@6263 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 09:21:13 +00:00
hendricks266
4dbeb30907
Add internal drawlinergb function.
...
git-svn-id: https://svn.eduke32.com/eduke32@6260 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 09:20:58 +00:00
hendricks266
0d6842800b
Replace specialized swap C functions with a templatized version.
...
git-svn-id: https://svn.eduke32.com/eduke32@6257 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 09:20:46 +00:00
terminx
bf944cf27a
Potential CON performance improvements
...
git-svn-id: https://svn.eduke32.com/eduke32@6250 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 06:31:21 +00:00
hendricks266
ad46ac785f
Add new tint flag 256, which always skips hightile when picking an image source.
...
git-svn-id: https://svn.eduke32.com/eduke32@6218 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-21 13:46:59 +00:00
hendricks266
986a545ff5
Polymodes: Explicitly opt out of hicfindsubst falling back to pal 0 instead of checking against the reserved palnum range.
...
git-svn-id: https://svn.eduke32.com/eduke32@6217 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-21 13:46:54 +00:00
hendricks266
a032b829bf
Factor out hictinting array accesses.
...
git-svn-id: https://svn.eduke32.com/eduke32@6216 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-21 13:46:50 +00:00
hendricks266
70245fc4f1
Create a new struct for hictinting that uses a uint16_t for flags.r
...
git-svn-id: https://svn.eduke32.com/eduke32@6215 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-21 13:46:44 +00:00
hendricks266
84c913d04c
Only allocate space for tint flags combinations that require a pre-computed texture to be stored in memory, instead of space for every combination.
...
git-svn-id: https://svn.eduke32.com/eduke32@6214 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-21 13:46:36 +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
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
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
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
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
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
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
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
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
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
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