Christoph Oelckers
155f093bd5
- stuff
2019-09-17 20:57:45 +02:00
Christoph Oelckers
d63cf04e06
- removed the compressed texture cache.
...
This is a pointless relic from the past and makes zero sense with modern graphics hardware.
2019-09-17 20:18:18 +02:00
Christoph Oelckers
2b439ae181
- work on backend
2019-09-16 23:28:26 +02:00
Christoph Oelckers
6536d910b3
- all drawing is being routed through the interface layer, all vertex buffers are gone.
...
No big loss here, none of them made much sense performance wise.
2019-09-16 21:08:42 +02:00
Christoph Oelckers
318009fd69
- added a centralized drawer and converted the main geometry drawer to use it.
2019-09-16 19:35:04 +02:00
Christoph Oelckers
524f6cf5e5
- crap
2019-09-13 22:18:37 +02:00
terminx
7ccbd22013
Move some clipping related stuff out of engine.cpp and into clip.cpp
...
git-svn-id: https://svn.eduke32.com/eduke32@7417 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:59 +00:00
terminx
770b255bff
Calculate texture coordinates as double since we're storing them that way anyway
...
This isn't really intended to fix any specific issue, but to shut up Visual Studio whining about arithmetic overflows.
git-svn-id: https://svn.eduke32.com/eduke32@7403 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:05 +00:00
terminx
00cac93851
Bump MAXCLIPNUM to 2048
...
git-svn-id: https://svn.eduke32.com/eduke32@7397 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:07:41 +00:00
hendricks266
6ba0b64de6
Add buildvfs_fopen_write_text
...
Long-term we will need to replace all uses of "\n" in string literals printed to disk.
git-svn-id: https://svn.eduke32.com/eduke32@7394 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-11 06:06:47 +00:00
terminx
b72dec2940
Fix compilation with winlayer
...
There are still a bunch of warnings, but fixing warnings in deprecated code that only one guy uses anymore isn't an efficient use of time.
git-svn-id: https://svn.eduke32.com/eduke32@7387 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-04 23:48:50 +00:00
terminx
2b3be31fa2
As if you couldn't already tell from Ion Maiden, I like shitty one liners
...
git-svn-id: https://svn.eduke32.com/eduke32@7383 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-03 11:15:08 +00:00
terminx
0e107acd39
Work around floating point precision issues in Polymost causing problems when rendering certain geometry from particular angles
...
git-svn-id: https://svn.eduke32.com/eduke32@7374 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:21:52 +00:00
terminx
61b89491c6
Lower MAXWALLSB
...
git-svn-id: https://svn.eduke32.com/eduke32@7373 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:21:48 +00:00
terminx
e84d62416d
Patch from Striker to allow selective tile redefinition in .def files based on the crc of the original tile
...
This only works for "tilefromtexture" for now.
git-svn-id: https://svn.eduke32.com/eduke32@7370 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:21:37 +00:00
terminx
f7d4209084
Use lowercase when computing hashes in hash_getcode()
...
It turns out hash_findcase() has never worked properly because the correct bucket would never have been searched.
git-svn-id: https://svn.eduke32.com/eduke32@7364 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:21:13 +00:00
hendricks266
7414f29348
Add buildvfs, abstraction layer for file I/O.
...
Currently it passes calls through to the system libraries as before.
Also adds an incomplete implementation on PhysFS.
git-svn-id: https://svn.eduke32.com/eduke32@7359 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-01 08:51:50 +00:00
terminx
8e50f47aa4
rotatesprite hack from Fox
...
git-svn-id: https://svn.eduke32.com/eduke32@7321 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-30 00:19:56 +00:00
terminx
ed0c45018e
Re-add something I didn't intend to remove with r7297
...
git-svn-id: https://svn.eduke32.com/eduke32@7299 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-23 23:23:50 +00:00
terminx
caf2a8c9c9
Re-enable -fno-strict-aliasing because apparently many versions of GCC across many platforms are still producing warning spew without it
...
git-svn-id: https://svn.eduke32.com/eduke32@7297 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-21 01:12:53 +00:00
terminx
ea86e5520b
Revert "engine.cpp/.h: clean up & fix lintersect(). Additionally, add support for finding intersections of collinear line segments."
...
This reverts r6886.
git-svn-id: https://svn.eduke32.com/eduke32@7290 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:40:31 +00:00
terminx
91096d2415
Hendricks and I discussed "auto *" and we've come to the conclusion that it's bad form, so this corrects that.
...
git-svn-id: https://svn.eduke32.com/eduke32@7283 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:39:51 +00:00
terminx
ae39954376
Initialize rottile values to -1 with a loop like this instead, because doing it the C++ way increases the binary size by like 120KB
...
git-svn-id: https://svn.eduke32.com/eduke32@7255 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:37:19 +00:00
seventyfive
87cf4495bf
- Packet code implementation (merge from private c/s repo), world updates are now synced through snapshots. See tag SVN_SyncPoint_Dec2018 on master of the other repo.
...
- "Scratch pad" sprites implementation, to avoid desyncs in sprite indexes, clients will insert temporary sprites which are cleared out when they receive the next snapshot from the server.
- Patches from Striker which fix player stomping frag counts, the accept button when hosting a game through the menu, and a "noffire" command line parameter.
- Patches from NY00123: t_data sync optimizations to improve some jittery behavior on the client side.
git-svn-id: https://svn.eduke32.com/eduke32@7242 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-08 00:40:39 +00:00
terminx
252fb58321
Fix oversight with wall texture rotation on tile 0
...
git-svn-id: https://svn.eduke32.com/eduke32@7240 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 21:17:59 +00:00
terminx
4861d1fc3d
WIP wall texture rotation bit
...
git-svn-id: https://svn.eduke32.com/eduke32@7226 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:13:48 +00:00
terminx
c1caf149d7
Compile without -fno-strict-aliasing.
...
git-svn-id: https://svn.eduke32.com/eduke32@7224 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:13:33 +00:00
terminx
1cbdb901bd
This one is for Hendricks
...
git-svn-id: https://svn.eduke32.com/eduke32@7223 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:13:25 +00:00
terminx
21958bc110
Minor start window cleanup. This ended up touching a bunch of other files due to variable renaming, but there are zero functional changes to anything but the startup window in this commit.
...
git-svn-id: https://svn.eduke32.com/eduke32@7219 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:13:02 +00:00
terminx
022eb02c5e
Move hash_getcode() and inthash_getcode() to hash.h so they can be used in places other than hash.cpp
...
git-svn-id: https://svn.eduke32.com/eduke32@7213 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:12:28 +00:00
terminx
e513e1ceae
Cleanup includes
...
git-svn-id: https://svn.eduke32.com/eduke32@7186 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:09:48 +00:00
terminx
5164ab4a25
More control/input cleanup
...
git-svn-id: https://svn.eduke32.com/eduke32@7181 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:08:53 +00:00
terminx
06f0e5e946
Move g_defaultVideoModes[] and g_keyAsciiTable[] from baselayer.cpp to baselayer.h and make them constexpr
...
git-svn-id: https://svn.eduke32.com/eduke32@7159 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:06:43 +00:00
terminx
1cae4ce7e3
Same shit, different diff
...
git-svn-id: https://svn.eduke32.com/eduke32@7156 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:06:27 +00:00
terminx
59fde95785
Another bunch of non-functional cleanup changes to the OSD
...
git-svn-id: https://svn.eduke32.com/eduke32@7155 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:06:21 +00:00
terminx
f7fac7d9e0
"using osdcmdptr_t = osdfuncparm_t const * const" because I'm tired of seeing it everywhere
...
git-svn-id: https://svn.eduke32.com/eduke32@7154 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:06:15 +00:00
terminx
14f1ea1c05
Use "int" for OSD command return values and a few trivial globals. Our current usage of the return values would have even worked with bool, but we might want to add error conditions or something later.
...
git-svn-id: https://svn.eduke32.com/eduke32@7149 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:05:45 +00:00
terminx
a6e60e9723
Move pow2char and pow2long to build.h and make them constexpr
...
git-svn-id: https://svn.eduke32.com/eduke32@7146 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:05:26 +00:00
terminx
f60c353810
Improve OSD_Dispatch() a little
...
git-svn-id: https://svn.eduke32.com/eduke32@7143 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:05:10 +00:00
hendricks266
fd175086a3
Move the LZW compression functions out of cache1d.cpp into their own object, klzw.cpp.
...
This eliminates the hackiness of libcache1d.so (now libkzlw.so) and CACHE1D_COMPRESS_ONLY.
git-svn-id: https://svn.eduke32.com/eduke32@7140 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-05 07:28:07 +00:00
hendricks266
de5d358d32
Refresh BUILDLIC copyright headers
...
git-svn-id: https://svn.eduke32.com/eduke32@7139 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-05 07:28:01 +00:00
terminx
e7798d12dc
Additional const and constexpr usage in compat.h and pragmas
...
git-svn-id: https://svn.eduke32.com/eduke32@7132 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:33:52 +00:00
terminx
3b782aba60
Add CSTAT_SPRITE_ALIGNMENT_MASK. It's identical to CSTAT_SPRITE_ALIGNMENT_SLAB, but should be used in cases where you're checking either CSTAT_SPRITE_ALIGNMENT_WALL or CSTAT_SPRITE_ALIGNMENT_FLOOR rather than checking for a slab (voxel).
...
git-svn-id: https://svn.eduke32.com/eduke32@7129 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:33:32 +00:00
terminx
4059e1918e
Mark libdivide constructors explicit
...
git-svn-id: https://svn.eduke32.com/eduke32@7128 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:33:26 +00:00
terminx
a7746f9cd2
Make tabledivide64 actually return an int64_t...
...
git-svn-id: https://svn.eduke32.com/eduke32@7108 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:31:25 +00:00
terminx
8461fb0cb9
Use _strlwr and _strupr with MSVC
...
git-svn-id: https://svn.eduke32.com/eduke32@7105 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:31:10 +00:00
terminx
ffab1f7d71
Slightly simplify TrackedType operator stuff
...
git-svn-id: https://svn.eduke32.com/eduke32@7102 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:30:56 +00:00
terminx
3d7a827b3d
Update miniz to 3616bf804b1e7b9be5e2769b1e4a7d74d575b13c
...
git-svn-id: https://svn.eduke32.com/eduke32@7097 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:30:32 +00:00
terminx
175ac6dc6b
This looks dumb as fuck, but it tells static analysis tools that our memory allocation functions literally never return a null pointer
...
git-svn-id: https://svn.eduke32.com/eduke32@7095 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:30:22 +00:00
terminx
7bd8c55e32
Useless warning silencing
...
git-svn-id: https://svn.eduke32.com/eduke32@7091 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:30:03 +00:00
terminx
1d71ea3fc0
polymost_setTexturePosSize() and polymost_setHalfTexelSize(): pass vec4f_t and vec2f_t by const reference instead of by value
...
git-svn-id: https://svn.eduke32.com/eduke32@7085 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:29:30 +00:00
terminx
9613bbac33
Use std::min and std::max instead of min and max macros.
...
git-svn-id: https://svn.eduke32.com/eduke32@7078 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-16 06:09:54 +00:00
terminx
ebcebbde5e
Update engine headers so that argument names in function declarations match the actual function definitions. This also removes const from function declarations in cases when it isn't meaningful.
...
git-svn-id: https://svn.eduke32.com/eduke32@7073 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-16 06:09:20 +00:00
terminx
2e2731c119
Same sort of thing as the previous commits, but for the engine. Forward declaration cleanup and constification.
...
git-svn-id: https://svn.eduke32.com/eduke32@7072 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-16 06:09:09 +00:00
pogokeen
0b41a17f6b
polymost.h: fix order of parameters to match polymost.cpp
...
git-svn-id: https://svn.eduke32.com/eduke32@7049 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-10 14:37:06 +00:00
terminx
78a3797295
Use a local variable in SDL_GL_ATTRIBUTES macro instead of relying on it being declared in the function calling the macro
...
git-svn-id: https://svn.eduke32.com/eduke32@7044 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:23:39 +00:00
terminx
9ae3a3ecb8
Slightly reorganize Bdirent struct for efficiency. Despite being "Bdirent", this struct in no way matches the system provided dirent struct.
...
git-svn-id: https://svn.eduke32.com/eduke32@7016 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:21:24 +00:00
terminx
0a84e2caef
Untabify polymost.h
...
git-svn-id: https://svn.eduke32.com/eduke32@7009 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:20:52 +00:00
terminx
ece6082d2b
Add debugbreak.h from https://github.com/scottt/debugbreak
...
git-svn-id: https://svn.eduke32.com/eduke32@6990 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-04 04:19:46 +00:00
terminx
f8fc87db78
Work around strange internal compiler error with gcc 8.2.0...
...
git-svn-id: https://svn.eduke32.com/eduke32@6965 1a8010ca-5511-0410-912e-c29ae57300e0
2018-08-09 16:06:55 +00:00
terminx
e92e9d4f04
"Lomont then searched for a constant optimal even after one and two Newton iterations and found 0x5F375A86, which is more accurate than the original at every iteration stage."
...
git-svn-id: https://svn.eduke32.com/eduke32@6958 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-29 19:31:12 +00:00
hendricks266
104bdb131b
Fix warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
...
git-svn-id: https://svn.eduke32.com/eduke32@6949 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-23 02:55:53 +00:00
pogokeen
1df7127609
Support software renderer upscaling engine-side in sdlayer and sdlayer12 with various scaling factors (beyond just pixel doubling).
...
When glsurface is available, use GL to upscale the render buffer.
Additionally, fix build issues with sdlayer12 introduced by GLAD changes (r6656).
git-svn-id: https://svn.eduke32.com/eduke32@6939 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-14 21:36:44 +00:00
pogokeen
9e90b0633b
glsurface.h/.cpp: change how the palette is handled and fix tinting/fading
...
git-svn-id: https://svn.eduke32.com/eduke32@6932 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-25 14:53:46 +00:00
pogokeen
9d243606d0
When OpenGL is available, prefer using the new glsurface to blit the classic renderer's 8-bit buffer to the screen.
...
git-svn-id: https://svn.eduke32.com/eduke32@6919 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-13 19:15:16 +00:00
hendricks266
6cb29c820c
sdlmusic: Slight cosmetic cleanup
...
git-svn-id: https://svn.eduke32.com/eduke32@6891 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-19 14:14:25 +00:00
pogokeen
d6d078114c
engine.cpp/.h: clean up & fix lintersect(). Additionally, add support for finding intersections of collinear line segments.
...
git-svn-id: https://svn.eduke32.com/eduke32@6886 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-15 16:45:34 +00:00
pogokeen
dcdffb73d0
Dynamic tilepacking for indexed colour textures
...
git-svn-id: https://svn.eduke32.com/eduke32@6883 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-08 17:32:16 +00:00
terminx
16696dbe0b
LZ4 warning silencing I accidentally left out of a previous commit
...
git-svn-id: https://svn.eduke32.com/eduke32@6856 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 10:15:03 +00:00
terminx
df50dcd897
Change mouseGrabInput()'s parameter to a bool
...
git-svn-id: https://svn.eduke32.com/eduke32@6851 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:35:52 +00:00
terminx
ee4df7fde5
Fix a couple of warnings in the new versions of LZ4 and Miniz
...
git-svn-id: https://svn.eduke32.com/eduke32@6850 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:35:45 +00:00
terminx
4cd19d5435
Update Miniz
...
git-svn-id: https://svn.eduke32.com/eduke32@6849 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:35:34 +00:00
terminx
5522ac0f2d
Rename int64.h to fix16_int64.h
...
git-svn-id: https://svn.eduke32.com/eduke32@6848 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:35:25 +00:00
terminx
64b0755ec5
Update xxHash
...
git-svn-id: https://svn.eduke32.com/eduke32@6847 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:35:17 +00:00
terminx
b3aa64a026
Update lz4
...
git-svn-id: https://svn.eduke32.com/eduke32@6846 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:35:11 +00:00
terminx
ef9845a947
Merge our changes to libdivide back in
...
git-svn-id: https://svn.eduke32.com/eduke32@6845 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:35:06 +00:00
terminx
bd2019435a
Update libdivide.h to latest release
...
git-svn-id: https://svn.eduke32.com/eduke32@6844 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:35:00 +00:00
terminx
64c82e7b0d
Remove no longer used glext.h
...
git-svn-id: https://svn.eduke32.com/eduke32@6842 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:34:49 +00:00
terminx
4551b276a1
MSVC warning fix
...
git-svn-id: https://svn.eduke32.com/eduke32@6840 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:34:33 +00:00
terminx
87d19d5cde
More function name shit
...
git-svn-id: https://svn.eduke32.com/eduke32@6832 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:04:00 +00:00
terminx
19c43b84b3
Function names
...
git-svn-id: https://svn.eduke32.com/eduke32@6831 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:03:47 +00:00
terminx
e5bcc1cf81
More function name cleanup
...
git-svn-id: https://svn.eduke32.com/eduke32@6830 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:03:30 +00:00
terminx
1fd209444f
Continuing the quest for clearer function names
...
git-svn-id: https://svn.eduke32.com/eduke32@6829 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:03:12 +00:00
terminx
0340e3cc0f
Engine function name cleanup round 2
...
git-svn-id: https://svn.eduke32.com/eduke32@6828 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:02:51 +00:00
terminx
ee63d2c070
Beginnings of baselayer.cpp/.h refactor. This is 99.9% renames.
...
git-svn-id: https://svn.eduke32.com/eduke32@6827 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:02:31 +00:00
hendricks266
84183c439b
SW: Fix NORM_(SPRITE|WALL|SECTOR) macros to use MAX$1 instead of ARRAY_SIZE, which would fail due to the structs not being statically allocated.
...
Patch prepared by Striker.
git-svn-id: https://svn.eduke32.com/eduke32@6825 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-11 03:34:03 +00:00
terminx
d20df1ec9a
Bump MAXSPRITESONSCREEN from 2048 to 2560
...
git-svn-id: https://svn.eduke32.com/eduke32@6820 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-06 01:43:22 +00:00
terminx
1b2ab0edad
cache1d changes, also implements lz4compressionlevel cvar to control the speed vs side trade-off for savegame compression
...
git-svn-id: https://svn.eduke32.com/eduke32@6807 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-05 04:39:30 +00:00
terminx
3d0a4c37d4
Minor png writer fixups
...
git-svn-id: https://svn.eduke32.com/eduke32@6803 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-04 20:48:10 +00:00
terminx
f3843a9a3a
Branchless sectorofwall_internal()
...
git-svn-id: https://svn.eduke32.com/eduke32@6794 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-02 22:00:23 +00:00
pogokeen
136dd514e1
Switched Duke3D to use new LZ4 dfwrite()/kdfread() implementations to improve compression/decompression speed.
...
SV_MINOR_VER is incremented as using this alternate compression algorithm is not backwards compatible with older saves/demos.
git-svn-id: https://svn.eduke32.com/eduke32@6789 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-23 21:41:02 +00:00
pogokeen
a364b7bbfd
Polymost palette-indexed texture rendering
...
git-svn-id: https://svn.eduke32.com/eduke32@6776 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-21 20:41:26 +00:00
hendricks266
cab8c9aadf
Fix MSVC build
...
git-svn-id: https://svn.eduke32.com/eduke32@6770 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-17 03:26:05 +00:00
hendricks266
01606bb6fb
Instrument the code to build without the struct trackers and disable them when the build options eliminate all uses of them (currently USE_OPENGL=0).
...
git-svn-id: https://svn.eduke32.com/eduke32@6769 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-17 03:26:01 +00:00
hendricks266
9462ad4076
Minor cleanup regarding buildtypes.h
...
git-svn-id: https://svn.eduke32.com/eduke32@6768 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-17 03:25:57 +00:00
terminx
ef853e8b92
Inline drawrooms() wrapper
...
git-svn-id: https://svn.eduke32.com/eduke32@6759 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-09 05:55:50 +00:00
terminx
ee37c04623
Remove attempt at being compatible with the original ranges of ang and horiz values, and introduce a q16 version of drawrooms (and showroom)
...
git-svn-id: https://svn.eduke32.com/eduke32@6735 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 12:02:03 +00:00
terminx
5f13160dd6
Flesh out Fix16 with some operators we need to work with it from CON
...
git-svn-id: https://svn.eduke32.com/eduke32@6726 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:25 +00:00
terminx
a76750df55
Q16.16 for player angle, too
...
git-svn-id: https://svn.eduke32.com/eduke32@6725 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:18 +00:00
terminx
4d8bb170a3
Use Q16.16 fixed point for player horiz
...
git-svn-id: https://svn.eduke32.com/eduke32@6724 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:05 +00:00
pogokeen
15b11232c3
sdlayer.h/winlayer.cpp: If a resolution is supported for fullscreen, also support the mode as a windowed resolution.
...
git-svn-id: https://svn.eduke32.com/eduke32@6696 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 02:48:06 +00:00
hendricks266
b2470aa677
Fix typo in collections.h. DONT_BUILD
...
git-svn-id: https://svn.eduke32.com/eduke32@6688 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-22 14:15:13 +00:00
hendricks266
3ae7cb1de5
Replace bespoke CON/def module and clipmap filename array reallocing with a new class, GrowArray.
...
git-svn-id: https://svn.eduke32.com/eduke32@6673 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-17 22:30:39 +00:00
pogokeen
1f133cd049
Polymost: streaming VBO optimizations for polymost_drawpoly()
...
git-svn-id: https://svn.eduke32.com/eduke32@6662 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:48 +00:00
pogokeen
a2cf961591
Moved BUILD engine defined CSTAT enums into the BUILD engine side of the code base.
...
git-svn-id: https://svn.eduke32.com/eduke32@6657 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:31 +00:00
pogokeen
3ca5f33c73
Moved to GLAD for dynamic GL/WGL and extension loading.
...
Refactored extension usage that became core in GL2, and adjusted some types for GL2 compatibility.
git-svn-id: https://svn.eduke32.com/eduke32@6656 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:21 +00:00
pogokeen
464e65541c
polymost_drawpoly(): drawarrays optimization
...
git-svn-id: https://svn.eduke32.com/eduke32@6652 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:37:58 +00:00
hendricks266
ff0768eaa9
Fix build issues with ARM and USE_OPENGL=0. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@6651 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-15 03:49:23 +00:00
hendricks266
d68c9b45c6
Add "rtsname" token to grpinfo grammar.
...
git-svn-id: https://svn.eduke32.com/eduke32@6645 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-11 05:03:55 +00:00
terminx
9c408fc26c
Useless assertion that only fires in alternate universes
...
git-svn-id: https://svn.eduke32.com/eduke32@6634 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-31 04:13:25 +00:00
hendricks266
4978a8f167
Fix some preprocessor logic errors regrading GL ES on ARM devices with desktop operating systems.
...
git-svn-id: https://svn.eduke32.com/eduke32@6603 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-28 04:30:46 +00:00
hendricks266
b3fd642bf4
Replace "INT16_32768" macro with unsigned literal "32768u".
...
git-svn-id: https://svn.eduke32.com/eduke32@6600 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-28 04:30:34 +00:00
hendricks266
67438d0cd2
New userdef structure: "global_r", "global_g", "global_b"
...
Set the tinting RGB values of textures being rendered. Can be used in DISPLAYROOMS or before rotatesprite (similar to setaspect). Remember to reset the values afterwards.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6591 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-26 04:35:11 +00:00
hendricks266
214109b506
Revert the parts of r3159 corresponding to redefining lotag and hitag as unsigned, so that they are once again signed.
...
Any issues in Duke's code relating to misunderstanding these types are now restricted to Duke itself rather than changing the engine and potentially introducing new issues in all Build games.
git-svn-id: https://svn.eduke32.com/eduke32@6581 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-15 23:13:50 +00:00
hendricks266
ee298f18b8
Add is_(un)signed to compat.h, with specializations for the Tracker classes.
...
DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6577 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-13 22:15:07 +00:00
hendricks266
4c095c954d
Fix tints with negative shades in r_usenewshading 4.
...
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6561 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:14:12 +00:00
hendricks266
b6d7de7d27
Add def "globalflags" bit 4, and for individual palettes the "tint" flag bit 512. This makes fog the same for all shades. Make fog behave normally with sector structure .fogpal.
...
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6559 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:14:06 +00:00
hendricks266
ae47d2f11d
New def tokens for "tint": "shadered" or "sr", "shadeblue" or "sb", "shadegreen" or "sg"
...
tint { pal <pal> shadered <0-255> shadegreen <0-255> shadeblue <0-255> }
Make shade apply a tint based on the RGB.
Default values for shade are zero (black).
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6557 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:13:58 +00:00
hendricks266
084c661fa0
New def tokens for "cutscene": "texturefilter", "forcefilter", "forcenofilter"
...
Changes the filtering for cutscenes. By default, ANMs are unfiltered and IVFs filtered regardless of the filtering option in the menu. Use “texturefilter” to use the same filtering as textures, “forcenofilter” to never use filtering and “forcefilter” to always use filtering.
cutscene <path> { texturefilter }
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6552 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:13:38 +00:00
hendricks266
45a8742e42
New def token for "cutscene": "aspect"
...
Overrides the aspect ratio for IVF files.
cutscene <path> { aspect <numerator> <denominator> }
Note: For ANMs, you can use rotatesprite and setaspect to draw TILE_ANIM (currently defined as 30716) in EVENT_CUTSCENE with a custom aspect.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6551 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:13:32 +00:00
terminx
f97aee59c8
Address issue where timers will no longer update after several hours of runtime
...
git-svn-id: https://svn.eduke32.com/eduke32@6543 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-09 02:56:12 +00:00
terminx
6231c0bdf5
Change ARRAY_SSIZE macro to return type native_t
...
git-svn-id: https://svn.eduke32.com/eduke32@6535 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-02 08:45:04 +00:00
hendricks266
c5ebf96217
Remix screencapture_begin into OutputFileCounter.
...
git-svn-id: https://svn.eduke32.com/eduke32@6532 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-01 06:19:19 +00:00
hendricks266
5fbe1b89be
New def token for "multipsky": "yscale".
...
multipsky <tile> { yscale <yscale> }
Default value is 65536.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6519 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:48 +00:00
hendricks266
66162032a0
Add r_usenewshading 4.
...
Uses a constant determined from the shade tables.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6515 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:33 +00:00
hendricks266
5adb8364b6
Calculate the perceptual (i.e. "real") max shade in the given tables.
...
git-svn-id: https://svn.eduke32.com/eduke32@6514 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:30 +00:00
hendricks266
23b1b650bb
Clean up E_PostLoadPalette.
...
git-svn-id: https://svn.eduke32.com/eduke32@6513 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:27 +00:00
hendricks266
dfb98028f1
compat.h: Use C++17, C++11, or C11 static_assert if available.
...
git-svn-id: https://svn.eduke32.com/eduke32@6472 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-09 07:37:14 +00:00
hendricks266
4966b0922d
compat.h: Only use C++ attribute versions of fallthrough if C++11 or greater.
...
git-svn-id: https://svn.eduke32.com/eduke32@6471 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-09 07:37:11 +00:00
hendricks266
3ac0a936c8
build.h: Error out if Visual Studio is older than 2013.
...
We keep getting support requests about this. See previous commit.
git-svn-id: https://svn.eduke32.com/eduke32@6470 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-09 07:37:08 +00:00
hendricks266
8ff6d59688
compat.h: Add EDUKE32_MSVC_CXX_PREREQ().
...
It is necessary for testing C++11 functionality because Visual Studio never defines __cplusplus to be 201112L.
git-svn-id: https://svn.eduke32.com/eduke32@6469 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-09 07:37:05 +00:00
hendricks266
7c2f233450
compat.h: Add detection of C++17.
...
git-svn-id: https://svn.eduke32.com/eduke32@6468 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-09 07:37:01 +00:00
hendricks266
c07e705c48
Update fallthrough__ definitions.
...
git-svn-id: https://svn.eduke32.com/eduke32@6447 1a8010ca-5511-0410-912e-c29ae57300e0
2017-09-23 03:17:29 +00:00
terminx
5cde84e58a
Ignore video modes with resolutions less than 640x480 or with aspect ratios taller than around 4:3 when populating the mode lists used in the startup window and menus. Sorry to the two guys still using nasty 5:4 1280x1024 monitors in 2017; you'll have to set your resolution using the console now.
...
git-svn-id: https://svn.eduke32.com/eduke32@6435 1a8010ca-5511-0410-912e-c29ae57300e0
2017-08-27 10:20:41 +00:00
hendricks266
8f0848d901
Makefile: Mess with Wii stuff to fix a majority of its make invocation circumstances.
...
git-svn-id: https://svn.eduke32.com/eduke32@6420 1a8010ca-5511-0410-912e-c29ae57300e0
2017-08-06 13:44:44 +00:00
hendricks266
88d5da2859
Menus: Clean up MenuRanges.
...
git-svn-id: https://svn.eduke32.com/eduke32@6402 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-29 20:39:53 +00:00
hendricks266
33c138fdf9
Tweak UNREFERENCED_CONST_PARAMETER
...
git-svn-id: https://svn.eduke32.com/eduke32@6401 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-29 20:39:50 +00:00
hendricks266
0f54975751
Yet another round of trailing whitespace.
...
git-svn-id: https://svn.eduke32.com/eduke32@6400 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-29 20:39:46 +00:00
terminx
d9c43bb560
Fix issue with r6374
...
git-svn-id: https://svn.eduke32.com/eduke32@6384 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-27 09:13:32 +00:00
hendricks266
a782247eac
inthi_rintf
...
git-svn-id: https://svn.eduke32.com/eduke32@6378 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-22 04:00:30 +00:00
hendricks266
5c77a6a13c
compat.h: Update ssize_t under MSVC.
...
git-svn-id: https://svn.eduke32.com/eduke32@6375 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-22 04:00:20 +00:00
hendricks266
d5f8c7a028
compat.h: Update u/native_t by introducing reg_t from LZ4.
...
git-svn-id: https://svn.eduke32.com/eduke32@6374 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-22 04:00:18 +00:00
hendricks266
366ccd7900
Add a fallthrough__ entry for VS.
...
git-svn-id: https://svn.eduke32.com/eduke32@6373 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-22 04:00:13 +00:00
terminx
dad337add8
Fix gcc 7.1.0 warnings
...
git-svn-id: https://svn.eduke32.com/eduke32@6370 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-18 20:53:41 +00:00
terminx
484f640f71
Maybe, possibly, unfuck gamearrays.
...
git-svn-id: https://svn.eduke32.com/eduke32@6368 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-18 20:53:22 +00:00
terminx
fd19569099
Drop libpng and zlib in favor of a custom < 100 line .png writer and a drop-in zlib replacement called miniz.
...
git-svn-id: https://svn.eduke32.com/eduke32@6365 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-18 20:53:00 +00:00
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