Commit Graph

7139 Commits

Author SHA1 Message Date
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
terminx 16cdad6bca Rename console command 'sv_cleanup' to 'purgesaves', as sv_ is a prefix for cvars, not console commands
git-svn-id: https://svn.eduke32.com/eduke32@6935 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-01 04:51:25 +00:00
terminx ba7340ca47 Reduce default snd_numvoices to 64 and reduce max to 128
git-svn-id: https://svn.eduke32.com/eduke32@6934 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-01 04:51: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
terminx 983781b56d Fix issue with viewing the player sprite through a security camera
git-svn-id: https://svn.eduke32.com/eduke32@6927 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-21 04:12:04 +00:00
terminx e1a532a15d Fix inclusion of sdl_inc.h in Duke3D's config.cpp
git-svn-id: https://svn.eduke32.com/eduke32@6926 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-14 21:25:20 +00:00
terminx 84cae053c1 Fix error with initputs symbol when linking the Build tools in some environments
git-svn-id: https://svn.eduke32.com/eduke32@6925 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-14 21:25:14 +00:00
terminx 652c0044a1 Fix building the Build tools
git-svn-id: https://svn.eduke32.com/eduke32@6924 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-14 17:49:53 +00:00
terminx f873b551a8 Fix building with winlayer
git-svn-id: https://svn.eduke32.com/eduke32@6923 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-14 17:49:46 +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 58132c2353 anim.cpp: timerUpdate() before setting the start time of the animation so that delays outside of animation playback won't cause animations to skip
git-svn-id: https://svn.eduke32.com/eduke32@6917 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-12 20:28:02 +00:00
pogokeen e75e8cc4aa astub.cpp: fix issue where globalpal was not declared if polymost.h was not included
git-svn-id: https://svn.eduke32.com/eduke32@6916 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-12 02:13:39 +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
terminx 725d556bc4 Fix conveyor belt speed in IM, but not Duke because it breaks gameplay
git-svn-id: https://svn.eduke32.com/eduke32@6914 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-09 20:36:47 +00:00
terminx fb301ddae7 Rename KXDWN macro and GAMEFLAG_KXDWN to IONMAIDEN and GAMEFLAG_IONMAIDEN
git-svn-id: https://svn.eduke32.com/eduke32@6913 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-09 20:36:42 +00:00
terminx 2c80af8c12 Remove dead code branch from A_DoWaterTracers() and rename the function to Proj_DoWaterTracers()
git-svn-id: https://svn.eduke32.com/eduke32@6912 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-09 20:36:37 +00:00
terminx 0dd623a7fe Don't spawn hardcoded Duke3D debris/guts/glass sprites when compiled as EDUKE32_STANDALONE
git-svn-id: https://svn.eduke32.com/eduke32@6911 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-09 20:36:31 +00:00
terminx 9c313158e8 Rework SE26 movement to function more like SE14 than SE24
git-svn-id: https://svn.eduke32.com/eduke32@6910 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-09 20:36:24 +00:00
terminx 66dadaaa71 Fix issues with running the game fullscreen on Windows 10 with high DPI setups
git-svn-id: https://svn.eduke32.com/eduke32@6909 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-05 21:59:59 +00:00
terminx 326af0d062 Fix SFLAG_WAKEUPBADGUYS
git-svn-id: https://svn.eduke32.com/eduke32@6908 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-05 21:59:52 +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 5629f4f433 Manually rebasing my r6899 over the formatting atrocity in r6895 broke my work.
git-svn-id: https://svn.eduke32.com/eduke32@6903 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-23 06:01:53 +00:00
hendricks266 48f86ce594 CON: Add "swaparrays" command, which performs a pointer-swap on arrays of the same storage class.
git-svn-id: https://svn.eduke32.com/eduke32@6902 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-23 05:58:21 +00:00
hendricks266 2a9c846a49 CON: Factor out the parsing of gamearray names.
git-svn-id: https://svn.eduke32.com/eduke32@6901 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-23 05:58:17 +00:00
hendricks266 a442c4f7bf CON: Remix resizearray in the following ways:
Make only one allocation instead of two.
Calculate array byte sizes in a way compatible with GAMEARRAY_BOOLEAN.
Clear the expanded part of grown arrays using correct counts for non-int32 sizes.
Support resizing an array to 0 to free it.

git-svn-id: https://svn.eduke32.com/eduke32@6900 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-23 05:58:12 +00:00
hendricks266 cb86c86ee1 CON: Implement the copy command for GAMEARRAY_BOOLEAN.
git-svn-id: https://svn.eduke32.com/eduke32@6899 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-23 05:58:09 +00:00
hendricks266 064ff3a403 CON: Fix two regressions completely breaking the correctness of the copy command, introduced in r6343.
git-svn-id: https://svn.eduke32.com/eduke32@6898 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-23 05:58:03 +00:00
hendricks266 749d79dcdd Fix the vertical position of the level stats when using the original mini-HUD.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6897 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-23 05:57:58 +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
terminx d2e4823feb Move some of the more commonly used CON functions to the top of the switch in VM_Execute(), and promote some of the loop's variables to native_t. Unfortunately, Visual Studio's new clang-format integration took it upon itself to reformat everything. Use diff -w.
git-svn-id: https://svn.eduke32.com/eduke32@6895 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-22 19:03:44 +00:00
terminx 18a289d762 CON: make setting a sector's .wallptr call setfirstwall() instead of setting it directly and corrupting the map
git-svn-id: https://svn.eduke32.com/eduke32@6894 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-22 19:03:24 +00:00
pogokeen 712646f713 actors.cpp: improve SE_11_SWINGING_DOOR detection and handling of players that block a door's path
git-svn-id: https://svn.eduke32.com/eduke32@6893 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-22 10:01:17 +00:00
hendricks266 7c7b8f62a9 CON: Revert r6526 and r6527. This restores the longstanding behavior of the killit command, and setting sprites' xrepeat to zero, to not actually delete sprites unless their statnum is STAT_ACTOR or STAT_MISC. Be sure to set a sprite's statnum to one of these statnums if you want it to be deleted.
This should fix the broken E1L1 sector warp in the existing release of the Duke 64 mod, and the Polymer light culling used in HHR.

git-svn-id: https://svn.eduke32.com/eduke32@6892 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-22 05:59:08 +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
hendricks266 b5caf1cd1e sdlmusic: Implement graceful playback failure
git-svn-id: https://svn.eduke32.com/eduke32@6890 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-19 14:14:22 +00:00