Commit graph

766 commits

Author SHA1 Message Date
terminx
a3bfaed262 Mostly useless const-ifying and minor variable scope reduction in cache1d
git-svn-id: https://svn.eduke32.com/eduke32@7030 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:22:32 +00:00
terminx
c2f26439d1 Fix filename string bounds check in kzipopen()
git-svn-id: https://svn.eduke32.com/eduke32@7029 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:22:27 +00:00
terminx
eb08f1443e Pass vec2_ts to get_screen_coords() by reference instead of by value
git-svn-id: https://svn.eduke32.com/eduke32@7027 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:22:17 +00:00
terminx
eeba7847eb Hoist strlen() outside loop in kzopen()
git-svn-id: https://svn.eduke32.com/eduke32@7025 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:22:08 +00:00
terminx
a677b18b2d Hoist strlen() outside loop in osdfunc_listsymbols()
git-svn-id: https://svn.eduke32.com/eduke32@7024 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:22:03 +00:00
terminx
4f590f59c1 Fix potential OOB spriteext[] access when checking SPREXT_NOTMD to determine whether or not to render a sprite's model, if available
git-svn-id: https://svn.eduke32.com/eduke32@7023 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:21:58 +00:00
terminx
870f1c4dab Oh look, the first 3 arguments passed to parascan() are completely useless
git-svn-id: https://svn.eduke32.com/eduke32@7022 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:21:53 +00:00
terminx
756369dc22 Silence warning about truncating the result of memcmp
git-svn-id: https://svn.eduke32.com/eduke32@7021 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:21:49 +00:00
terminx
f4227dcbc1 Tweak osdfunc_setrendermode() to report whether the classic renderer is the C or ASM version
git-svn-id: https://svn.eduke32.com/eduke32@7020 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:21:43 +00:00
terminx
0d843526f0 Fix null pointer deference when attempting to load a model with improper or missing skin definitions
git-svn-id: https://svn.eduke32.com/eduke32@7019 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:21:39 +00:00
terminx
cab65752b5 Untabify kplib.cpp
git-svn-id: https://svn.eduke32.com/eduke32@7018 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:21:34 +00:00
terminx
12a77176e8 Fix overcomputation in the classic renderer due to a bug caused by a previous optimization attempt
git-svn-id: https://svn.eduke32.com/eduke32@7017 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:21:29 +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
6d7e0518cf Add debug_break() to the top of handle_memerr()
git-svn-id: https://svn.eduke32.com/eduke32@7015 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:21:20 +00:00
terminx
7f5f22e184 Fix issue in the C version of the classic renderer where someone had attempted to negate a bool
git-svn-id: https://svn.eduke32.com/eduke32@7012 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:21:06 +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
39c0c93615 Slightly increase efficiency of osd_findsymbol() (this is the slow one that has to handle partial matches)
git-svn-id: https://svn.eduke32.com/eduke32@7008 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:20:47 +00:00
terminx
b0e0cfa2c9 Comment out bad entry in SDL keycode translation table
git-svn-id: https://svn.eduke32.com/eduke32@7007 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:20:42 +00:00
terminx
9157ae2776 Fix potential texcache issue with HICTINT_IN_MEMORY and HICTINT_APPLYOVERALTPAL due to a mistake involving operator precedence
git-svn-id: https://svn.eduke32.com/eduke32@7002 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:20:19 +00:00
terminx
d7772a0100 Fix potential uninitialized use of highlightx/y/1/2 in the editor and convert them to vec2_t in the process
git-svn-id: https://svn.eduke32.com/eduke32@7001 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:20:14 +00:00
terminx
2f3e78a4b8 Fix potential dereference of null pointer when calling polymost_bindPth()
git-svn-id: https://svn.eduke32.com/eduke32@7000 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:20:09 +00:00
terminx
7eb3436bad Fix potential null pointer dereferences when rendering a model with no animations (?)
git-svn-id: https://svn.eduke32.com/eduke32@6997 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:19:55 +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
d4c9cc28d5 Minor fixups needed to build as a native VS project
git-svn-id: https://svn.eduke32.com/eduke32@6982 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-28 04:27:42 +00:00
terminx
e6277dd8da Replace a bunch of fall-through comments with our fallthrough__ macro.
git-svn-id: https://svn.eduke32.com/eduke32@6976 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-04 05:57:41 +00:00
terminx
e9961ec5a3 Silence stupid fucking warnings
git-svn-id: https://svn.eduke32.com/eduke32@6968 1a8010ca-5511-0410-912e-c29ae57300e0
2018-08-09 16:07:09 +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
hendricks266
e38dc3f674 Remove redundant code from Polymost fog
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6961 1a8010ca-5511-0410-912e-c29ae57300e0
2018-08-02 01:21:16 +00:00
pogokeen
eb964f15d8 polymost.cpp/glsurface.cpp: Don't print shader compile status to the console on success.
git-svn-id: https://svn.eduke32.com/eduke32@6960 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-30 23:01:48 +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
hendricks266
0116b51b2d softsurface: Perform a "divisor known at compile time" optimization
git-svn-id: https://svn.eduke32.com/eduke32@6947 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-23 02:55:46 +00:00
hendricks266
142b97b9fb Fix variable capitalization in Dependencies.mak files
git-svn-id: https://svn.eduke32.com/eduke32@6946 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-23 02:55:42 +00:00
terminx
f181db5776 MSVC build fix
git-svn-id: https://svn.eduke32.com/eduke32@6945 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-21 00:18:18 +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
1b932fddaf sdlayer.cpp: Don't destroy window resouces if switching between software rendering on glsurface and Polymost/Polymer
git-svn-id: https://svn.eduke32.com/eduke32@6938 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-14 21:36:34 +00:00
pogokeen
a13a8bf579 polymost.cpp: make c_wrapThreshold consistent between POLYMOST1_BASIC_FRAGMENT_SHADER_CODE and POLYMOST1_EXTENDED_FRAGMENT_SHADER_CODE
git-svn-id: https://svn.eduke32.com/eduke32@6937 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-03 04:29:23 +00:00
pogokeen
facc69f142 polymost.cpp: fix rendering for indexed colour textures to match original behaviour when !r_usetileshades or globalflags & GLOBAL_NO_GL_TILESHADES
Additionally, fix issue in polymost_setShade() where shade calculation was happening after a check for whether or not the shade needed to be updated.

git-svn-id: https://svn.eduke32.com/eduke32@6936 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-03 04:29:19 +00:00
pogokeen
29c2863750 sdlayer.cpp: fix software renderer crash affecting Mapster32 due to improper handling of lockcount in videoBeginDrawing()/videoEndDrawing() when using glsurface
git-svn-id: https://svn.eduke32.com/eduke32@6933 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-28 02:00:42 +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
a0faeaf8f6 Revert a number of changes from r6929 and r6930 that are no longer necessary.
Fix root causes of issues causing crash and black screen in Mapster32 when switching back and forth between 3D & 2D modes

git-svn-id: https://svn.eduke32.com/eduke32@6931 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-25 14:53:42 +00:00
terminx
d0e73aa85e Temporary workaround for palette or GL surface issue wherein launching Mapster32 into 2d mode produces a black screen until switching to 3d mode and back
git-svn-id: https://svn.eduke32.com/eduke32@6930 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-24 00:55:29 +00:00
terminx
bcb7815118 Fix crash in Mapster32 when switching from GL 3d mode to 2d mode.
git-svn-id: https://svn.eduke32.com/eduke32@6929 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-24 00:55:23 +00:00
terminx
cbf6dc3c42 Use aligned memory allocation for GL surface
git-svn-id: https://svn.eduke32.com/eduke32@6928 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-24 00:55:17 +00:00
pogokeen
ffee0f8ae9 Add glsurface.cpp/h and tilepacker.cpp/h to Visual Studio Project
git-svn-id: https://svn.eduke32.com/eduke32@6922 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-13 19:15:26 +00:00
pogokeen
d5b669ebe5 Don't allow GL modes if GL Major Version is less than 2.
Additionally, fix build issues for RENDERTYPE=WIN introduced in r6827.

git-svn-id: https://svn.eduke32.com/eduke32@6921 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-13 19:15:22 +00:00
pogokeen
7fd844a795 sdlayer.cpp: don't alter desktop composition using win_setvideomode() if we're creating an SDL window for rendering GL
git-svn-id: https://svn.eduke32.com/eduke32@6920 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-13 19:15:19 +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
pogokeen
38de24d7eb tilepacker.cpp: instead of maintaining the heap on each insertion, maxheap_buildHeap() on tilepacker_pack()
git-svn-id: https://svn.eduke32.com/eduke32@6918 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-13 19:15:10 +00:00
pogokeen
054f25d7ef palette.cpp: don't call uploadbasepalette() if USE_OPENGL is not defined
git-svn-id: https://svn.eduke32.com/eduke32@6915 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-12 02:13:32 +00:00
pogokeen
8bf9ad1c31 engine.cpp: fix issue introduced in r6905 where voxels with fractional scaling would not be handled correctly in Polymost
git-svn-id: https://svn.eduke32.com/eduke32@6907 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-30 12:01:42 +00:00
pogokeen
014cf67753 tiles.cpp: fix texcache.cpp:CLEAR_GL_ERRORS() hang on some drivers when trying to create GL textures for tiles when we have no GL context.
This could occur when returning to 2D mode from 3D mode in Mapster32 as videoSet2DMode() does not affect the result of videoGetRenderMode() despite destroying the GL context.

git-svn-id: https://svn.eduke32.com/eduke32@6906 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-26 22:11:25 +00:00
pogokeen
db1220cd11 engine.cpp: fix issue with voxmodel_t voxels not having their scale set properly due to defs being processed before PolymostProcessVoxels()
git-svn-id: https://svn.eduke32.com/eduke32@6905 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-23 15:04:56 +00:00
pogokeen
5ff4e22eb9 engine.cpp: fix classicDrawVoxel() positioning bugs by:
+avoid adding the pivot's z offset again after it was already added in classicDrawSprite()
+offset the voxel object by half of the voxel object's z size

git-svn-id: https://svn.eduke32.com/eduke32@6904 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-23 15:04:52 +00:00
hendricks266
9b495ea67f Ensure that anywhere the def parser takes a tilenum or palnum accepts defined tokens in addition to integer literals, if it doesn't already.
Affects fogpal, nofloorpalrange, setuptilerange, dummytilerange, undefinetilerange, definemodelframe, definevoxeltiles, texhitscanrange, nofullbrightrange, and light.

git-svn-id: https://svn.eduke32.com/eduke32@6896 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-23 05:43:35 +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
5ee2bbc771 polymost_drawpoly(): fix issue where mirrors wouldn't update the depth buffer
git-svn-id: https://svn.eduke32.com/eduke32@6888 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-17 22:33:13 +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
a4736f6bf7 polymost_bindPth(): Fix issue where non-indexed colour, non-hightile textures (including those with polytintflags HICTINT_USEONART or HICTINT_ALWAYSUSEART) would not render correctly while r_useindexedcolortextures is set.
git-svn-id: https://svn.eduke32.com/eduke32@6885 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-08 22:47:55 +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
pogokeen
fdaf5a8ac7 polymost_resetVertexPointers(): remove erroneous glBindBuffer call
git-svn-id: https://svn.eduke32.com/eduke32@6881 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-08 17:32:07 +00:00
hendricks266
58f5b34143 Fix some printf warnings.
git-svn-id: https://svn.eduke32.com/eduke32@6872 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-02 07:13:04 +00:00
terminx
64b37dc581 Direct cache1d error messages to log instead of stdout
git-svn-id: https://svn.eduke32.com/eduke32@6865 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-29 17:20:11 +00:00
terminx
07ec86c4af Mapster32: second attempt at preventing extra wall points from being inserted on some walls with the batch point insert tool
git-svn-id: https://svn.eduke32.com/eduke32@6863 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-29 17:20:01 +00:00
terminx
a407661354 Mapster32: use sc_XXX defines from scancodes.h instead of unlabeled hex scancodes when checking keystatus[]
git-svn-id: https://svn.eduke32.com/eduke32@6860 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 10:15:27 +00:00
terminx
b1c44af6f8 Indentation
git-svn-id: https://svn.eduke32.com/eduke32@6858 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 10:15:17 +00:00
terminx
b4a8656910 Fix Mapster32 bug where sometimes you'd get two points instead of one when pressing enter to insert points where the lines intersect with the wall drawing tool
git-svn-id: https://svn.eduke32.com/eduke32@6857 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 10:15:12 +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
b932485a1d macOS build fix
git-svn-id: https://svn.eduke32.com/eduke32@6855 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:36:14 +00:00
terminx
f903aac29f Fix warning
git-svn-id: https://svn.eduke32.com/eduke32@6852 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:35:57 +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
1cb6ab9db1 Prevent divide by 0 when SDL_GetCurrentDisplayMode()/SDL_GetClosestDisplayMode() say the refresh rate is 0
git-svn-id: https://svn.eduke32.com/eduke32@6833 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:04:07 +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
terminx
f41dc7b9c4 This is supposed to enable the discrete GPU on NVIDIA Optimus and AMD PowerXpress setups
git-svn-id: https://svn.eduke32.com/eduke32@6826 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:02:18 +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
6cd5baf5c7 Replace a couple checks for qsetmode==200 with in3dmode(), because it's literally a macro that does that
git-svn-id: https://svn.eduke32.com/eduke32@6814 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-06 01:42:53 +00:00
terminx
4b5b6de13c Remove useless switch/case setup in nextpage()
git-svn-id: https://svn.eduke32.com/eduke32@6813 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-06 01:42:47 +00:00
terminx
d2a3e2a70d Revert a small change to cache1d and default lz4CompressionLevel to 5
git-svn-id: https://svn.eduke32.com/eduke32@6812 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-06 01:42:43 +00:00
terminx
851c7755c2 Use CSTAT_SPRITE_ALIGNMENT_* enums in a couple places
git-svn-id: https://svn.eduke32.com/eduke32@6811 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-06 01:42:38 +00:00
terminx
16a72c4530 Untabify engine_priv.h
git-svn-id: https://svn.eduke32.com/eduke32@6809 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-06 01:42:27 +00:00
terminx
86a4158b8a Epic fuckup
git-svn-id: https://svn.eduke32.com/eduke32@6808 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-05 05:39:33 +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
7fc541f0d5 #if guard unncessary mouse position check with SDL2
git-svn-id: https://svn.eduke32.com/eduke32@6797 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-02 22:00:38 +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
b969687689 texcache.cpp: Override PTH_INDEXED and fall back to pre-processing tiles if high colour tint effects are being used on indexed colour art
git-svn-id: https://svn.eduke32.com/eduke32@6788 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-23 04:02:35 +00:00
pogokeen
c1d7d1bfe0 Fix console background disappearing intermittently
git-svn-id: https://svn.eduke32.com/eduke32@6785 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-22 07:13:30 +00:00
pogokeen
ab07afad76 polymost.cpp: fix shadeFactor not being set properly for non-indexed colour textures
git-svn-id: https://svn.eduke32.com/eduke32@6784 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-22 07:13:25 +00:00
pogokeen
7b2c468f04 Polymost: center texel fetches for palette lookups and add various optimizations related to indexed texture changes
git-svn-id: https://svn.eduke32.com/eduke32@6777 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-21 20:41:32 +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
hendricks266
548d335316 Polymer: Fix smoothness of q16 mouse aiming
git-svn-id: https://svn.eduke32.com/eduke32@6765 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-13 23:29:42 +00:00
terminx
491783d81e Fix Polymer issues introduced with change to Q16.16 view angles
git-svn-id: https://svn.eduke32.com/eduke32@6760 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-09 10:20:53 +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
hendricks266
bfc6b7589e Improve file loading
git-svn-id: https://svn.eduke32.com/eduke32@6757 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-09 03:10:53 +00:00
hendricks266
fba53b144a Accept "BUILDART" prepended to ART files
git-svn-id: https://svn.eduke32.com/eduke32@6755 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-09 02:51:24 +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
hendricks266
322f1b46dd Disable the switching of keyboard layout on window focus gain and loss.
git-svn-id: https://svn.eduke32.com/eduke32@6708 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 20:27:58 +00:00
hendricks266
e26760b6af Use the user's desktop resolution, fullscreen, as the default, instead of 1024x768 windowed.
git-svn-id: https://svn.eduke32.com/eduke32@6704 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 14:46:52 +00:00
hendricks266
6f7313a46a Fix whitespace issues
git-svn-id: https://svn.eduke32.com/eduke32@6700 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 14:46:36 +00:00
pogokeen
c0b0ed2240 polymost.cpp: fix polymost_dorotatesprite() issue where sprites could be rendered with fractional positions and sizes leading to GL filtering imperfections.
git-svn-id: https://svn.eduke32.com/eduke32@6698 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 11:26:40 +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
pogokeen
5370beb026 baselayer.cpp: add 1280x720 resolution to defaultres windowed resolutions
git-svn-id: https://svn.eduke32.com/eduke32@6695 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 02:48:03 +00:00
pogokeen
9f48927ea8 sdlayer.cpp: fix vsync heartbeat issue on some NVidia & Intel drivers
git-svn-id: https://svn.eduke32.com/eduke32@6689 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-22 23:25:56 +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
pogokeen
e5c6cc2238 sdlayer.cpp: remove unnecessary call to SDL_WarpMouseInWindow() on SDL2 that was causing issues with mouse movement when vsync was enabled on some hardware
git-svn-id: https://svn.eduke32.com/eduke32@6683 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-22 03:38:54 +00:00
pogokeen
9001ec60a0 Polymost: workaround for texcache expecting all mipmap levels to be available
git-svn-id: https://svn.eduke32.com/eduke32@6675 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-19 06:11:44 +00:00
hendricks266
dc7e727f0c Fix the definetint def token, broken in r6557.
git-svn-id: https://svn.eduke32.com/eduke32@6674 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-18 00:24:54 +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
d6926cb7d3 Fix building on Visual Studio after GLAD & Polymost changes
git-svn-id: https://svn.eduke32.com/eduke32@6671 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-17 06:38:15 +00:00
pogokeen
59b01d9d67 Polymost: fix typo causing bug where persistentStreamBuffer was being reset to the config value when it should be disabled
git-svn-id: https://svn.eduke32.com/eduke32@6669 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 08:35:45 +00:00
pogokeen
451bdb4601 Polymost: fix bug where polymost2_drawVBO() wouldn't reset the bound buffer state properly for polymost1
git-svn-id: https://svn.eduke32.com/eduke32@6664 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:54 +00:00
pogokeen
7b2ac67e9d Polymost: adjust parenthesis to cease compiler warnings
git-svn-id: https://svn.eduke32.com/eduke32@6663 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:51 +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
8ebb8083a5 polymost_dorotatesprite(): fix for Polymer bug introduced by Polymost drawarrays optimization
git-svn-id: https://svn.eduke32.com/eduke32@6659 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:37 +00:00
pogokeen
ff1d948d44 In-progress POLYMOST2 work
git-svn-id: https://svn.eduke32.com/eduke32@6658 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:34 +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
037289a812 polymost_drawpoly(): only change the blend mode if blending is enabled
git-svn-id: https://svn.eduke32.com/eduke32@6655 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:07 +00:00
pogokeen
28f9fcebb4 Polymost: Avoid generation of mipmaps if filter mode isn't set to use them
git-svn-id: https://svn.eduke32.com/eduke32@6654 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:05 +00:00
pogokeen
a1c88b740f Polymost: texture format optimizations
git-svn-id: https://svn.eduke32.com/eduke32@6653 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:02 +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
hendricks266
65b3bccf06 Add support for MapArt from within zip files.
git-svn-id: https://svn.eduke32.com/eduke32@6643 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-11 05:03:46 +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
27d93ac698 Satisfy -Wmaybe-uninitialized warnings exposed by -Og.
git-svn-id: https://svn.eduke32.com/eduke32@6632 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-30 16:02:29 +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
6a77175ac5 New def token "shadefactor"
shadefactor <value>

Controls the level of shading in GL modes. Normally it is set to the shade at which all colors are pitch black.

The default value calculated from Duke 3D's palette is 30, but most other Build games with a different palette are calculate to 31.

This token is for GL mods without a palette.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6592 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-26 04:35:15 +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
392d5fc942 Fix visibility in Polymer with r_usenewshading 4 and palette emulation off.
Move some visibility-related constants from Polymer "core" code elsewhere.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6590 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-26 04:35:06 +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
terminx
09c03151db Uncomment extra check in COMBINE_STRIPS
git-svn-id: https://svn.eduke32.com/eduke32@6573 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-20 08:35:49 +00:00
pogokeen
9c695d6bc4 Fix line spacing tab issue in rev 6570.
git-svn-id: https://svn.eduke32.com/eduke32@6571 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-19 00:03:12 +00:00
pogokeen
741305e976 Fix a number of cases where files opened with cache1d.cpp's kopen_internal() could be leaked.
git-svn-id: https://svn.eduke32.com/eduke32@6570 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-18 23:36:05 +00:00
terminx
ca308d5879 Happened to be reading a SDL doc and noticed we were creating our surface with the wrong flags
git-svn-id: https://svn.eduke32.com/eduke32@6567 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-17 09:27:32 +00:00
terminx
c728176352 Revert a tweak made for HTTKC
git-svn-id: https://svn.eduke32.com/eduke32@6566 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-17 09:27:27 +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
583dc0f47a Polymost: Account for yscale when deciding if the sky is tall enough to repeat or not. Comment out code that is not working as expected.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6560 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:14:09 +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
2f98d759f6 Fix visibility in Polymer with r_usenewshading 4.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6558 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:14:02 +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
d3417b763a Untabify engine.cpp
git-svn-id: https://svn.eduke32.com/eduke32@6547 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-09 02:56:31 +00:00
terminx
3ab1c2c722 Fix problem where sometimes fullscreen GL modes display incorrectly. I'm not sure why this fixes it and I believe it to be a SDL bug.
git-svn-id: https://svn.eduke32.com/eduke32@6544 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-09 02:56:17 +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
3c8f050565 Fix memory leak with .ANM playback in Polymost
git-svn-id: https://svn.eduke32.com/eduke32@6541 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-02 12:42:40 +00:00
terminx
bb836cfc0b Fix small memory leak in OSD
git-svn-id: https://svn.eduke32.com/eduke32@6540 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-02 12:42:36 +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
terminx
a18d03635c Fix crash issue with nested console script execution
git-svn-id: https://svn.eduke32.com/eduke32@6534 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-02 08:44:59 +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
terminx
7acf811eae Re-comment out part of COMBINE_STRIPS in polymost.cpp
git-svn-id: https://svn.eduke32.com/eduke32@6525 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-30 23:54:23 +00:00
terminx
845abb435a Drop VSPMAX back to 2048 from 4096
git-svn-id: https://svn.eduke32.com/eduke32@6524 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-30 23:54:18 +00:00
hendricks266
90045e4ce3 Revert r6496
git-svn-id: https://svn.eduke32.com/eduke32@6523 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-30 02:57:23 +00:00
hendricks266
12c4d033f1 Polymost: Set r_parallaxskypanning to 1 by default.
This enables sky panning, which allows the effect of CLOUDYSKIES to work properly.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6521 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:54 +00:00
hendricks266
ad83ca0188 Polymost: Display paper-skies correctly when looking up or down.
Show a solid color for skies taller than 256 px, otherwise repeat.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6520 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:51 +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
9d0e76b2e3 Fox's projection patch 2.0
git-svn-id: https://svn.eduke32.com/eduke32@6496 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-06 05:56:48 +00:00
hendricks266
7033d83d26 Fox's maskwall fix 2.0
git-svn-id: https://svn.eduke32.com/eduke32@6495 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-02 04:25:59 +00:00
terminx
7fd86d09ad If Fox's patch to fix flickering masked walls is correct, this change should improve FPS in some areas.
git-svn-id: https://svn.eduke32.com/eduke32@6494 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-31 02:09:44 +00:00
hendricks266
366d823894 Revert r6490.
git-svn-id: https://svn.eduke32.com/eduke32@6491 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-31 00:35:23 +00:00
hendricks266
e12b63c3bd A potential fix for the disappearing maskwall problem.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6490 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-30 03:48:31 +00:00
hendricks266
e979aa1ff4 Eliminate the need for cache1d to calculate and remember the CRC32 of every GRP loaded.
git-svn-id: https://svn.eduke32.com/eduke32@6489 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-30 03:48:28 +00:00
terminx
d33107808e Fix crash with "setrendermode 4" in builds with Polymer disabled
git-svn-id: https://svn.eduke32.com/eduke32@6488 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-16 21:17:53 +00:00
hendricks266
c746b486b7 Polymost: New projection hack algorithm: Keep zoom equivalent to Classic when looking straight ahead.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6486 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-16 03:32:37 +00:00
hendricks266
2c7840d928 Fix infinite loop in OSD_StripColors() when trying to display a quote containing '^' not followed by a number.
This fixes Mission 2 of Platoon Leader, as reported by RunningDuke.

git-svn-id: https://svn.eduke32.com/eduke32@6478 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-15 23:10:09 +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
terminx
ff8d608caf Fix in-game 2d map view line colors when using palettes that differ completely from Duke3D's palette
git-svn-id: https://svn.eduke32.com/eduke32@6461 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-08 22:15:51 +00:00
hendricks266
5f79c71aa0 Address a typo in r6435 affecting SDL 1.2 builds.
git-svn-id: https://svn.eduke32.com/eduke32@6449 1a8010ca-5511-0410-912e-c29ae57300e0
2017-09-23 03:17:35 +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
f203ca78a2 Amend r6439
git-svn-id: https://svn.eduke32.com/eduke32@6444 1a8010ca-5511-0410-912e-c29ae57300e0
2017-09-21 04:32:14 +00:00
terminx
60d06d8757 useless change
git-svn-id: https://svn.eduke32.com/eduke32@6440 1a8010ca-5511-0410-912e-c29ae57300e0
2017-09-19 19:10:33 +00:00
terminx
ac3faa5fd4 Force enabling NVIDIA threaded optimizations. Probably only works on Linux, but the extra putenv() call doesn't hurt anyone anywhere else.
git-svn-id: https://svn.eduke32.com/eduke32@6439 1a8010ca-5511-0410-912e-c29ae57300e0
2017-09-19 19:10:27 +00:00
terminx
29fc836bb1 Switch palookup memory allocation to Xalligned_alloc and fix what looks like a botched preprocessor condition
git-svn-id: https://svn.eduke32.com/eduke32@6438 1a8010ca-5511-0410-912e-c29ae57300e0
2017-09-19 19:10:19 +00:00
terminx
c7d2f0b869 Add a few 2560 x XXXX modes to the default video modes added to the various lists
git-svn-id: https://svn.eduke32.com/eduke32@6437 1a8010ca-5511-0410-912e-c29ae57300e0
2017-08-27 10:20:53 +00:00
terminx
0958b57047 Refer to video modes as "software" and "OpenGL" in the startup window instead of simply by how many bpp they are. End users are likely to understand this distinction more.
git-svn-id: https://svn.eduke32.com/eduke32@6436 1a8010ca-5511-0410-912e-c29ae57300e0
2017-08-27 10:20:48 +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
terminx
6889b64da8 Tweak Polymost z-fighting avoidance code
git-svn-id: https://svn.eduke32.com/eduke32@6434 1a8010ca-5511-0410-912e-c29ae57300e0
2017-08-27 10:20:35 +00:00
hendricks266
534747be90 Disable compiling some functions in miniz that we don't use, and that cause portability issues.
git-svn-id: https://svn.eduke32.com/eduke32@6421 1a8010ca-5511-0410-912e-c29ae57300e0
2017-08-06 13:44:47 +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
fe10e46778 Fix a fallthrough annotation. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6407 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-30 05:42:01 +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
d89909997c Fix issue with screenshots
git-svn-id: https://svn.eduke32.com/eduke32@6399 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-29 09:48:43 +00:00
hendricks266
e2c1e6b12c In md3postload_polymer, always clear the triangle buffer (tribuf) to zero, not just when its allocation size is enlarged.
Fixes strange issues with lighting on models.

git-svn-id: https://svn.eduke32.com/eduke32@6396 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-28 11:29:16 +00:00
hendricks266
d1de78d8bc Don't drink and copypaste, kids.
Unfucks r6379.

git-svn-id: https://svn.eduke32.com/eduke32@6395 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-28 11:29:12 +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
terminx
fa02c6433b Switch allocation of sprite/wall/sector to individual aligned allocations instead of the weird thing I was doing with multiple pointers to different parts of a single large block
git-svn-id: https://svn.eduke32.com/eduke32@6381 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-27 09:13:15 +00:00
hendricks266
e229fc607c mdsprite: Augment or revert portions of r4639.
Substantial work done in md3postload_common, md3postload_polymer_check, and md3postload_polymer.

git-svn-id: https://svn.eduke32.com/eduke32@6379 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-22 04:00:33 +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
494c778feb Fix some int/int32_t mismatches. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6362 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-15 21:56:21 +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
1c4c1e9b55 Polymer: Address an oversight in r4600.
git-svn-id: https://svn.eduke32.com/eduke32@6355 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-10 13:44:10 +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
1e647ca499 Change wordy error message I didn't like
git-svn-id: https://svn.eduke32.com/eduke32@6341 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-08 19:41:29 +00:00
terminx
8d2fe8ec1d Fix old Build engine bug: setgotpic() not called from parascan()
git-svn-id: https://svn.eduke32.com/eduke32@6340 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-08 19:41:21 +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
cabb918c64 Fix out of bounds write caused by memset call missed when tilesiz was changed from vec2_t to vec2s_t
git-svn-id: https://svn.eduke32.com/eduke32@6337 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-08 01:48:01 +00:00
hendricks266
96c30ffade Turn DWM composition toggling (Windows Vista and 7 only) off by default.
We should only turn this on in specific cases, and turning it off by default will allow us to add these special cases as we get reports.

git-svn-id: https://svn.eduke32.com/eduke32@6331 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-06 14:43:14 +00:00
terminx
5ce9e2b208 Combine CONTROL_KeyBinds and CONTROL_MouseBinds
git-svn-id: https://svn.eduke32.com/eduke32@6328 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-05 05:42:54 +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
hendricks266
9fdfd10723 Double the default pointhighlightdist from 128 to 256, a compromise between reverting r5721 and resetting it to 512.
git-svn-id: https://svn.eduke32.com/eduke32@6318 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-05 05:37:55 +00:00
hendricks266
5cdc130692 Remove register keyword from LZ4 and libxmp-lite.
git-svn-id: https://svn.eduke32.com/eduke32@6312 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-05 05:37:35 +00:00
hendricks266
01b6047377 Trailing whitespace.
git-svn-id: https://svn.eduke32.com/eduke32@6303 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-27 11:01:22 +00:00
hendricks266
bf76269906 What the last commit said.
git-svn-id: https://svn.eduke32.com/eduke32@6302 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-27 11:01:12 +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
hendricks266
610d2e3b46 Connect wall.blend to Polymost in Lunatic builds with it enabled.
git-svn-id: https://svn.eduke32.com/eduke32@6275 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-25 11:23:47 +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
ccb6d27349 Polymost: Fix yoffset bouncing of face sprites with cstat 128.
git-svn-id: https://svn.eduke32.com/eduke32@6248 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 09:17:12 +00:00
terminx
dac7679633 Replace 2 memcpys with assignments
git-svn-id: https://svn.eduke32.com/eduke32@6231 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:58:48 +00:00
terminx
4ae5f2e298 Remove "BUILD_NOP6", old cruft for running on ancient x86 processors without MMX.
git-svn-id: https://svn.eduke32.com/eduke32@6229 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:58:36 +00:00
terminx
d1c0366916 Minor classic mode optimization
git-svn-id: https://svn.eduke32.com/eduke32@6228 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:58:31 +00:00
terminx
e3f3a8ce33 Move Mapster32 autoexec to before the map specified on the command line is loaded, to allow EVENT_PRELOADMAP and EVENT_LOADMAP to work when loading a map from the command line. This makes the console output of autoexec a little worse but the OSD will be fixed at a later time.
git-svn-id: https://svn.eduke32.com/eduke32@6223 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:58:01 +00:00
hendricks266
262e863b33 Polymodes: Only try texcache_fetchmulti on detail texture slots.
git-svn-id: https://svn.eduke32.com/eduke32@6221 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-22 01:32:10 +00:00
hendricks266
b25ec936b3 Polymodes: Check that texture entries have a non-skybox filename before using it in texcache_fetchmulti.
Fixes crash reported by Sgt Jack V.

git-svn-id: https://svn.eduke32.com/eduke32@6220 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-22 01:32:05 +00:00
hendricks266
f03d704ddb Polymost: Don't cut off a row and/or column of texels when drawing floor-aligned sprites with odd dimensions.
git-svn-id: https://svn.eduke32.com/eduke32@6219 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-21 13:47:04 +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
66c85ec71f Don't print any warnings to the log if an unrecognized gamefunc is dispatched; this is expected and normal when they are renamed.
git-svn-id: https://svn.eduke32.com/eduke32@6188 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-17 11:42:12 +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
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
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
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
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
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
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
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
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
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
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