Commit graph

312 commits

Author SHA1 Message Date
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