Commit Graph

4633 Commits

Author SHA1 Message Date
Christoph Oelckers 754c8bd9c1 - lotsofstuff 2020-06-21 22:36:09 +02:00
Christoph Oelckers c11963b41a - movesprite 2020-06-21 22:36:08 +02:00
Christoph Oelckers 68de42075e - delete the old one. 2020-06-21 22:36:08 +02:00
Christoph Oelckers b29351f3bc - hitradius.
This one was really messy...
2020-06-21 22:36:08 +02:00
Christoph Oelckers 51d4853375 - checkavailweapon 2020-06-21 22:36:08 +02:00
Christoph Oelckers 2cc4176ed8 - addweapon. 2020-06-21 22:36:07 +02:00
Christoph Oelckers 294a7e4c9c - reinstated RR code after seeing that the weapon array can be shared without problems. 2020-06-21 22:36:07 +02:00
Christoph Oelckers 7493956613 - removed the dynamic weapon map indirection. 2020-06-21 22:36:07 +02:00
Christoph Oelckers cb54a03d60 - wip
# Conflicts:
#	source/games/duke/src/sbar.cpp
2020-06-21 22:36:07 +02:00
Christoph Oelckers cde100598c - two more functions reverted. 2020-06-21 22:36:06 +02:00
Christoph Oelckers bb3d14c0c4 - original tile name definitions. 2020-06-21 22:36:06 +02:00
Christoph Oelckers 30cf62d9c2 - renamed all tile variables so that the engine can be reverted to the old constant setup instead of the mostly useless tile remapping feature.
If this is supposed to be made customizable it has to be done very differently.

# Conflicts:
#	source/games/duke/src/game.cpp
#	source/games/duke/src/sbar.cpp
2020-06-21 22:36:06 +02:00
Christoph Oelckers 27c313d74e - moved interpolation code to its own file.
Mainly to get it out of the way. This needs to be redone later in a more serialization-friendly way.
2020-06-21 22:36:05 +02:00
Christoph Oelckers bd6047a097 - started porting functions - using a simple one as the first case. 2020-06-21 22:36:05 +02:00
Christoph Oelckers e72869c947 - renamed file to allow getting the right thing into its place. 2020-06-21 22:36:05 +02:00
Christoph Oelckers 92c2ab50d3 - statusbar.cpp 2020-06-21 22:35:41 +02:00
Christoph Oelckers 0596078978 - prepared folder for merging. 2020-06-21 22:18:12 +02:00
Christoph Oelckers 99958342a9 - prepare the branch for adding new commits
# Conflicts:
#	source/core/gamecontrol.cpp
2020-06-21 20:59:16 +02:00
Christoph Oelckers b8b38e075d - moving to the right place. 2020-06-21 20:59:08 +02:00
Christoph Oelckers e9925eee0f - preparation work.
# Conflicts:
#	source/core/gamecontrol.cpp
2020-06-21 20:59:07 +02:00
Christoph Oelckers 1bb7da173a - removed a few more dependencies on Build includes. 2020-06-20 18:17:49 +02:00
Christoph Oelckers 83a760874b - removed some Build related includes from core code. 2020-06-20 18:01:02 +02:00
Christoph Oelckers 686999381b - moved non-Build definitions out of baselayer.h. 2020-06-20 17:52:10 +02:00
Christoph Oelckers 5b805af4e7 - removed all dirty headers from third party code.
This code should be project independent and remain project independent
2020-06-20 13:03:05 +02:00
Christoph Oelckers e4f55d4d90 - removed compat.h cruft from animlib code.
This again is code that is under a good license, so use properly licensed utilities instead.
2020-06-20 12:57:31 +02:00
Christoph Oelckers 15d869ccde -moved scancodes.h out of Build folder.
This file is from the Duke source and available under a good license so it can be moved to a better place.
2020-06-20 12:54:33 +02:00
Christoph Oelckers 83642d0510 - removed Build dependencies in libsmackerdec.
It was all just some warning blockers for old and defective compilers that required including these.
2020-06-20 12:24:11 +02:00
Christoph Oelckers 7bc8d2baff - I_msTimeF. 2020-06-20 11:55:30 +02:00
Christoph Oelckers 9687facc88 - removed dead timerUninit call 2020-06-20 11:47:21 +02:00
Christoph Oelckers 198ed45357 - clean up redundancy 2020-06-20 10:58:47 +02:00
Christoph Oelckers 76311cfcc9 - set proper minimal FPS rate for all games. 2020-06-20 10:46:51 +02:00
Christoph Oelckers e29eb5bbed - added some ZScript basics.
This is merely the basics needed to actually implement something.
2020-06-20 09:46:41 +02:00
Christoph Oelckers 7edcd3125a - fixed music setup for Duke3D.
The parser prepends a '/' to the names which needs to be removed when looking up the music.
2020-06-20 09:38:30 +02:00
Christoph Oelckers 550576d94d - allow skipping the Exhumed logos. 2020-06-17 17:10:31 +02:00
Richard C. Gobeille d28929c437 engine: add klabs() back into ksqrtasm_old() 2020-06-17 17:10:11 +02:00
Dino Bollinger ba4eb3f906 Fix crash during demo playback caused by a mistake in 5132b41f 2020-06-17 17:10:11 +02:00
Dino Bollinger a5085c3631 Expose newgamecustom menu and submenu index to CON (read-only).
New userdef struct members: ud.m_newgamecustom, ud.m_newgamecustomsub
2020-06-17 17:10:11 +02:00
Dino Bollinger 79d3a36106 Duke3D: Fix frozen players floating in mid-air 2020-06-17 17:10:11 +02:00
Richard C. Gobeille 3c6adcd10b RR: fix player still being able to look around while frozen
Replicates changes to Duke3D code from f408c5a8d4763ef905c81d870ab53d74fa5be015.
2020-06-17 17:10:11 +02:00
Richard C. Gobeille 815df3ed38 Duke3d: fix player still being able to look around while frozen 2020-06-17 17:10:11 +02:00
Richard C. Gobeille e641c82cdc RR: fix issue where the player was unable to look or move under some circumstances after being "killed" with god mode enabled
Replicates changes to Duke3D code from 5e4fd35738.
2020-06-17 17:10:11 +02:00
Richard C. Gobeille 47c16e4872 RR: fix issue with player movement not being locked when crushing shrunken enemies
Replicates changes to Duke3D code from f5aa302475.
2020-06-17 17:10:11 +02:00
Richard C. Gobeille 0822195ba2 RR: fix jittery view on moving sectors
This also fixes the interpolation for gamefunc_TurnAround and stomping on enemies. Replicates changes to Duke3D code from c30b21dcdc7dfbcd400abe0fad204f1c0bacdba1.
2020-06-17 17:10:11 +02:00
Mitchell Richters db5a4b49eb - Duke3D: Fix issues caused from cherry pick from upstream.
This change from a5c9a702e9 needs to be dropped due to how we're handling one_eighty_count as per 2129d3b4e7.
2020-06-17 17:10:11 +02:00
Christoph Oelckers b9a567463c - fixed compile error. 2020-06-17 12:26:06 +02:00
Richard C. Gobeille 9a2c2d5a98 exhumed: fix overflow in feebtag() 2020-06-17 12:26:06 +02:00
nukeykt 22e0c4d9ae Rednukem: fix longstanding bug with unfrozen GREENSLIME
Backported from eduke32
2020-06-17 12:26:06 +02:00
sirlemonhead d2806393bb PCExhumed: Add code to draw serpent cam status text on screen
# Conflicts:
#	source/exhumed/src/sound.cpp
#	source/exhumed/src/status.h
2020-06-17 12:26:06 +02:00
sirlemonhead 9df13d0dfe PCExhumed: Don't restore mid level save point if re-entering a just completed level 2020-06-17 12:26:05 +02:00
sirlemonhead 2e514e539e PCExhumed: Fix cheat messages 2020-06-17 12:26:05 +02:00
Dino Bollinger 54ce1b5c06 Fix minor memory leak in Net_Connect()
# Conflicts:
#	source/duke3d/src/network.cpp
2020-06-17 12:26:05 +02:00
Richard C. Gobeille 4128fd62c7 engine: set g_loadedMapVersion in engineLoadBoardV5V6()
# Conflicts:
#	source/build/src/engine.cpp
2020-06-17 12:26:05 +02:00
Richard C. Gobeille 4e9144dd20 Duke3d: fix GREENSLIME issue introduced by 6335a9a2e515329a159b03ba0c8a32136dc6ac42 2020-06-17 12:26:04 +02:00
Richard C. Gobeille 54d9a1a711 Duke3d: add some labels for the different GREENSLIME states 2020-06-17 12:26:04 +02:00
Richard C. Gobeille 5574f0bd74 Duke3d: add player .somethingonplayer check to GREENSLIME, and reset the player's .somethingonplayer to -1 if the player is dead 2020-06-17 12:26:04 +02:00
Richard C. Gobeille 39b1c3cee9 Duke3d: fix longstanding bug with unfrozen GREENSLIME
This fixes some undefined behavior that occurred as a result of reading far past the bounds of slimeFrames[].
2020-06-17 12:26:04 +02:00
Richard C. Gobeille 575541e32c engine: update libdivide 2020-06-17 12:26:03 +02:00
Richard C. Gobeille 1cab7b9765 engine: add divideu64()/divideu64_noinline() 2020-06-17 12:26:03 +02:00
Dino Bollinger d3b6991846 Duke3D: This should fix players being able to superjump out of water 2020-06-17 12:26:03 +02:00
Dino Bollinger 9c2c1cc765 Fix 3D model animation depending on the number of sprites present on the map.
Fixes terminx/eduke32#64.
2020-06-17 12:26:03 +02:00
Richard C. Gobeille 28911435d9 Duke3d: fix regression with the Devastator's ability to damage sprites in sectors other than the sector the rocket hit
Fixes terminx/eduke32#62.
2020-06-17 12:26:03 +02:00
Richard C. Gobeille a5c9a702e9 Duke3d: fix jittery view on moving sectors
This also fixes the interpolation for gamefunc_TurnAround and stomping on enemies. Fixes terminx/eduke32#60.

# Conflicts:
#	source/duke3d/src/actors.cpp
#	source/duke3d/src/game.cpp
#	source/duke3d/src/premap.cpp
2020-06-17 12:26:02 +02:00
Richard C. Gobeille f5aa302475 Duke3d: fix issue with player movement not being locked when crushing shrunken enemies
Fixes terminx/eduke32#59.
2020-06-17 12:26:02 +02:00
Richard C. Gobeille 5e4fd35738 Duke3d: fix issue where the player was unable to look or move under some circumstances after being "killed" with god mode enabled
Fixes #56.
2020-06-17 12:26:02 +02:00
Christoph Oelckers 2c2b871083 - fixed texture validation checks. 2020-06-17 12:26:02 +02:00
Christoph Oelckers 95b4340eec - initial palette shader work. 2020-06-17 12:26:01 +02:00
Christoph Oelckers b753ea5db7 - preparations for passing palette lookup textures through the low level texture code. 2020-06-17 12:26:01 +02:00
nukeykt b907791558 Blood: input code improvements
Repairs interpolation issues introduced in 96c9ca657e as reported in https://forum.zdoom.org/viewtopic.php?f=340&t=69009
2020-06-17 12:22:23 +02:00
Rachael Alexanderson 6fdc11d608 - Raze is not GZDoom. Changed to something more generic. (Will do the same update to GZDoom) 2020-06-16 08:01:37 -04:00
Christoph Oelckers 2a29dbf793 - use backend independent code to render the camera textures. 2020-06-14 21:57:21 +02:00
Christoph Oelckers d4b32bf79f - fully synchronized the backend code with GZDoom.
The camera texture code couldn't be done earlier.
2020-06-14 21:13:22 +02:00
Christoph Oelckers 5effc95ae1 - updated startup dialog and fixed multisampling not active in the 3D scene. 2020-06-14 20:59:26 +02:00
Christoph Oelckers 946da7d622 - moved the textures used for the animations into the texture manager.
This is to allow giving them a texture ID so that they can be used from ZScript which has no access to naked textures.
This also consolidates AnimTexture and VpxTexture.
2020-06-14 20:27:13 +02:00
Christoph Oelckers edd9f1773b - added the entry point for the ZScript compiler. 2020-06-14 19:20:04 +02:00
Christoph Oelckers d4cdb31464 - backend update to make the ZScript compiler work. 2020-06-14 18:58:30 +02:00
Mitchell Richters 7b3ad35cc2 - Duke3D & RR: Always process cheats even while paused.
* Resolves https://forum.zdoom.org/viewtopic.php?f=340&t=68961
2020-06-13 17:53:29 +02:00
Christoph Oelckers 35471ce7e2 - clear the screen for Exhumed's logos. 2020-06-13 00:08:47 +02:00
Christoph Oelckers ee98db589f - fixed the Exhumed startup to do proper fading of the publisher logos, which PCExhumed only implemented for the software renderer.
Made it faster than PCExhumed, though
2020-06-12 23:06:11 +02:00
Christoph Oelckers 67b1963e7c - fixed render state management.
There are effectively two states - the one in the backend and a local one in the drawer for the render list which is supposed to eliminate some of the more costly repeated calls.
This higher level state was cached globally, which did not work anymore because the real render state could be changed elsewhere without this code realizing it.
All this means that the render list drawer must create a new state cache for each call and also must apply its current pending render state before leaving to ensure that everything is properly reset.
2020-06-12 22:32:49 +02:00
Christoph Oelckers aa67875792 - enabled r_shadows in Blood.
This was the only game not allowing to switch off the shadows.
2020-06-12 21:46:24 +02:00
Christoph Oelckers 9b03537f3a - fixed shadows in Shadow Warrior.
They use a shade of 127 which wasn't clamped to a valid range in the backend.
2020-06-12 21:40:49 +02:00
Christoph Oelckers 65ddb6cb59 - disabled the game side frame limiter.
The backend has its own one, and unlike the one on the game side, it actually suspends execution when waiting.
2020-06-12 21:08:47 +02:00
Christoph Oelckers 1311db9ac9 - changed all places clearing the screen in 2D display code to use the 2D drawer's ClearScreen method. 2020-06-12 20:52:01 +02:00
Christoph Oelckers 60b18c7ec9 - Blood: use the 2D drawer to clear the screen for 2D display. 2020-06-12 20:31:23 +02:00
Christoph Oelckers 4f0e3adfbb - removed pointless constexpr declaration on numeric constants. 2020-06-12 16:49:35 +02:00
Christoph Oelckers 3b7f494a88 Merge branch 'master' of https://github.com/coelckers/Raze 2020-06-12 16:44:14 +02:00
Mitchell Richters d79a5d256d - fix joystick scaling for all games.
* Repairs https://forum.zdoom.org/viewtopic.php?f=340&t=67239 and https://forum.zdoom.org/viewtopic.php?f=340&t=67933
* Values that come from GZDoom backend are too low to be suitable for the Build games which were dividing by 'analogExtent'.
* Remove definition of analogExtent from all games and define in inputstate.h, then define joyaxesScale as 75% of analogExtent to provide a bit of headroom and not have a scale of 1.0 be full speed.
* Invert the returned results of GetAxes() as the returned floats are reversed for build games.
* Leverage scaleAdjustmentToInverval() on game-side code to consistently scale the input irrespective of frame rate, vsync etc.
2020-06-12 16:44:08 +02:00
Christoph Oelckers 6ececaec40 - include cleanup 2020-06-12 00:43:40 +02:00
Christoph Oelckers a419181c36 - simplified screenshot code. 2020-06-12 00:39:06 +02:00
Christoph Oelckers f2d075e0d0 - code cleanup. 2020-06-12 00:37:40 +02:00
Christoph Oelckers 6a9f1e9da1 - removed the old OpenGL interface. 2020-06-12 00:25:52 +02:00
Christoph Oelckers ba397f5ca1 - always draw floors opaque 2020-06-11 23:55:23 +02:00
Christoph Oelckers 22aad4999c - use the engine backend to render the scene 2020-06-11 22:26:46 +02:00
Mitchell Richters 76884c1e18 - fix CI build errors in vk_shader.cpp for all platforms due to missing terminator on #ifdef guarded line. 2020-06-11 13:17:12 +03:00
Christoph Oelckers f92d775ddb - fixed bad includes. 2020-06-11 09:57:17 +02:00
Christoph Oelckers a9141af545 - backend update. 2020-06-11 09:15:44 +02:00
Christoph Oelckers f41e0f9f50 - copied non-x86 compile fix from GZDoom. 2020-06-09 00:13:28 +02:00
Christoph Oelckers 17e1e4175e - switched NPOT emulation to the renamed uniforms.
This was the last feature that needed to be mapped to a GZDoom compatible render state
2020-06-08 08:16:50 +02:00
Christoph Oelckers 5cbe9fc49c - added NPOT emulation to the backend.
This is #ifdef guarded because GZDoom uses the same code base but has no use for this feature.
2020-06-08 08:02:58 +02:00
Christoph Oelckers a6545788a6 - do RR's lightning flash as a postprocessing effect. 2020-06-07 22:06:47 +02:00
Christoph Oelckers 5330964a7a - removed redundant initializers. 2020-06-07 15:07:32 +02:00
Christoph Oelckers d7225c1965 - backend update from GZDoom 2020-06-07 15:02:54 +02:00
Christoph Oelckers 4c6abe1bb9 - pass the shade through the 2D drawer, so that palette emulation can still use it. 2020-06-07 14:50:12 +02:00
Christoph Oelckers b6d204a88b - fixed: Weapons are part of the scene and always need to be rendered with the global base palette. 2020-06-07 13:50:41 +02:00
Christoph Oelckers 8da6b8796b - made presets work again.
Two fixes:
* fixed file system setup to mark the last main game resource.
* unbind all keys before loading a preset.
2020-06-07 13:35:23 +02:00
Christoph Oelckers f2a637418d - moved palette.cpp out of Build folder. 2020-06-07 13:06:18 +02:00
Christoph Oelckers 3fe4dbed01 - fixed fog translation table generation. 2020-06-07 12:51:26 +02:00
Christoph Oelckers 724c8d4251 - fixed: The full dotted lump filter string was never used.
The code added all partial matches to the file system but not the full match.
2020-06-07 11:55:51 +02:00
Christoph Oelckers f0d208bf56 - fixed compile error. 2020-06-07 10:46:35 +02:00
Christoph Oelckers 9aa2224110 - remove the remains of Lunatic from RR code. 2020-06-07 10:46:22 +02:00
NY00123 a54d408d59 Duke3D: Remove KEEPINSYNC comments referencing LUA code
# Conflicts:
#	source/duke3d/src/_functio.h
#	source/duke3d/src/duke3d.h
#	source/duke3d/src/game.h
#	source/duke3d/src/global.h
2020-06-07 10:38:55 +02:00
NY00123 ec11d22caf Use static instead of LUNATIC_EXTERN
# Conflicts:
#	source/build/include/build.h
#	source/duke3d/src/gamedef.cpp
2020-06-07 10:36:43 +02:00
NY00123 6a70389f1d Let's just use __fastcall instead of LUNATIC_FASTCALL
# Conflicts:
#	source/build/include/build.h
2020-06-07 10:36:04 +02:00
NY00123 cca922f023 Engine: Adjust krand for removal of LUNATIC
# Conflicts:
#	source/build/include/build.h
#	source/build/src/engine.cpp
2020-06-07 10:35:23 +02:00
NY00123 dba06d9601 Engine: Remove the LUNATIC-specific definitions
of engine_main_arrays_are_static, engine_v8 and Mulscale.

# Conflicts:
#	source/build/src/engine.cpp
2020-06-07 10:34:33 +02:00
NY00123 3592118e25 source/duke3d/src/actors.h: Remove last remaining mention of the
LUNATIC macro in Duke3D. AC_ACTIONTICS and AC_MOVFLAGS are still used.
2020-06-07 10:34:13 +02:00
NY00123 ea06e35025 source/duke3d/src/osdcmds.cpp:osdcmd_spawn: Remove
LUNATIC-specific code while defining the two loop vars at once.

# Conflicts:
#	source/duke3d/src/osdcmds.cpp
2020-06-07 10:34:12 +02:00
NY00123 40abf17f2f Duke3D: Remove a few more LUNATIC-specific definitions and macro references 2020-06-07 10:33:53 +02:00
NY00123 db71bb9ba7 source/duke3d/src/gamevars.cpp: Remove LUNATIC definition of ADDWEAPONVAR
# Conflicts:
#	source/duke3d/src/gamevars.cpp
2020-06-07 10:33:40 +02:00
NY00123 6a4960c774 source/duke3d/src/gamevars.cpp: Remove POSTADDWEAPONVAR, since this
is a no-op in non-LUNATIC builds, which will be the only ones to stay.
2020-06-07 10:33:18 +02:00
NY00123 fe020facf9 source/duke3d/src/player.cpp: Remove LUNATIC implementation of
G_HandlePal. In fact, let's not use a separate P_HandlePal function.
2020-06-07 10:33:17 +02:00
NY00123 a1bfbb0b21 source/duke3d/src/premap.cpp:P_ResetTintFade: Remove LUNATIC-specific
assignment, but keep the function instead of separately setting pals.f.
2020-06-07 10:33:17 +02:00
NY00123 c93ec9e405 source/duke3d/src/network.cpp: Remove LUNATIC-specific code 2020-06-07 10:33:17 +02:00
NY00123 7cf7ccfd05 source/duke3d/src: Remove almost all "#ifdef LUNATIC" blocks.
Surrounding "#if !defined LUNATIC"/"#endif" pairs are also covered.

# Conflicts:
#	source/duke3d/src/astub.cpp
#	source/duke3d/src/cmdline.cpp
#	source/duke3d/src/demo.cpp
#	source/duke3d/src/duke3d.h
#	source/duke3d/src/game.cpp
#	source/duke3d/src/game.h
#	source/duke3d/src/gamedef.cpp
#	source/duke3d/src/gamedef.h
#	source/duke3d/src/gameexec.cpp
#	source/duke3d/src/gameexec.h
#	source/duke3d/src/gamevars.cpp
#	source/duke3d/src/gamevars.h
#	source/duke3d/src/namesdyn.cpp
#	source/duke3d/src/osdcmds.cpp
#	source/duke3d/src/premap.cpp
#	source/duke3d/src/savegame.cpp
#	source/duke3d/src/savegame.h
#	source/duke3d/src/sbar.cpp
#	source/duke3d/src/screens.cpp
2020-06-07 10:33:16 +02:00
NY00123 1a1039a2d3 Fix a possible jitter upon changing the player's action
(e.g., beginning to jump, or landing on ground);
Reproduced with the input being tied to framerate
while SO interpolation is toggled on.

This involves the following modifications:
- PF2_INPUT_CAN_TURN and PF2_INPUT_CAN_AIM are now additionally set
from various DoPlayerBegin* functions, allowing the player to continue
turning/aiming as usual (right before the next call to domovethings),
even in specific instances of player action changes.
- If PF2_INPUT_CAN_TURN/PF2_INPUT_CAN_AIM was set before and
after calling pp->DoPlayerAction from domovethings altogether,
ensure that the player's oq16ang/oq16horiz is updated by
making an appropriate call to DoPlayerTurn/DoPlayerHorizon. This
is done in case a call to DoPlayerTurn/DoPlayerHorizon is missed.
This change is not applied for a dead player, though.
2020-06-07 10:19:49 +02:00
NY00123 039458d14d sw/src/draw.cpp:drawscreen: Removing the PF_DEAD test
in 1a3c9e3a15ba788607dfd96ebcc75a2198be6d69 was a mistake.
The interpolation should still apply, albeit not while
the viewing angle is changed via the player's own input.
We should also continue interpolating in coop view.
2020-06-07 10:19:48 +02:00
NY00123 ce2aee49df SW: This should hopefully be a better way of fixing the lack of
interpolation of player turning/aiming/movement, while being carried
by a sector object, without SO interpolation. This is a continuation of
73a0aa394e906a65633d61f3c749c9b9b7e66aaa and bf31bc2987a3eccd31d343622327bd4ee0f9c5a1,
aiming to fix a jitter in case the player is continuously
getting pushed by a wall (e.g., on the boat in level 5).

Basically, this moves the relevant assignments from track.cpp:MovePlayer
and MovePoints to player.cpp:DoPlayerMove. Unless a call to one of these
functions has been missed, pushwall and clipmove can be called from
player.cpp in the following instances, which should be covered:
- Via DoPlayerMove, which is the function getting the fix now.
- Via DoPlayerSlide, which is called in the beginning of DoPlayerMove.
- Via DoPlayerCurrent when called from DoPlayerCrawl/DoPlayerWade,
followed by DoPlayerMove.
- Via DoPlayerCurrent when called from DoPlayerDive,
followed by DoPlayerMove if the player doesn't stop diving.

# Conflicts:
#	source/sw/src/track.cpp
2020-06-07 10:19:48 +02:00
Richard C. Gobeille a0876223ab Assignments
# Conflicts:
#	source/build/src/clip.cpp
2020-06-07 10:17:33 +02:00
Christoph Oelckers 9fc5f2d2e7 - some shader cleanup.
I think it's now as close to GZDoom's backend interface as it can be without disabling needed features.
2020-06-07 10:15:31 +02:00
Christoph Oelckers 09e31fd5f4 - disabled sky texture clamping because it never really worked. 2020-06-07 10:14:32 +02:00
Christoph Oelckers 60d7f4f7c2 - got rid of the RF_NPOTEmulation flag.
This can easily be controlled with the 2 main variables alone.
2020-06-07 09:30:55 +02:00
Christoph Oelckers 353e3eb1fa - fixed RRRA E2L1 fog. 2020-06-07 08:24:12 +02:00
Christoph Oelckers 3adfdfcac5 - renamed a few more things in the shader. 2020-06-07 08:16:04 +02:00
Christoph Oelckers fc466849ce - disabled demos in blood. 2020-06-06 09:23:44 +02:00
Christoph Oelckers 70ae86aff1 - disabled Blood's demo code because recent changes broke sync to the point where trying to fix it looks like a pointless endeavour. 2020-06-06 07:56:35 +02:00
Christoph Oelckers 232b0c1bb6 - store the lighting related uniforms in a GZDoom-style LightParms vec4. 2020-06-06 00:44:57 +02:00
Christoph Oelckers f159496f6e - moved the ShadeDiv array into the lookup table and took the numshades-2 divisor out of the stored value.
The value was changed to allow easier reuse in scenarios where the size of the shade table does not matter anymore.
2020-06-05 23:18:21 +02:00
Christoph Oelckers 0bd460d9e3 - split up the visibility factor into a scene specific and an element specific part.
The main reason here is that the scene specific part contains a projection dependent component which would be a problem when transitioning to GZDoom's code. The global viewpoint data already has a field for such a factor so now that gets used.
This also means a significant simplification of the visibility code in Polymost and the removal of several global variables.
2020-06-05 19:06:31 +02:00
Christoph Oelckers 9dfd3ddd02 - migration of texture tinting to GZDoom's version.
- start of visibility migration - removing unused globvis variable.
2020-06-05 17:02:21 +02:00
Dino Bollinger f3ed580b82 Prevent tripbombs from being placed at extreme distances.
Technically, an overflow is still possible, but with unsigned integers
it is highly unlikely to satisfy (sum_squares < 290*290) in practice.

# Conflicts:
#	source/duke3d/src/player.cpp
2020-06-04 21:39:14 +02:00
Jordon Moss 10511c4fee Fix bad call to updatesector in G_CollectSpawnPoints that broke spawns in overlapping sectors and TROR. p->cursectnum should equal the sprite's sectnum on initial spawn. 2020-06-04 21:38:12 +02:00
Jordon Moss dd8192ebbf Fix bad call to updatesector in G_CollectSpawnPoints that broke spawns in overlapping sectors and TROR. p->cursectnum should equal the sprite's sectnum on initial spawn. 2020-06-04 21:38:12 +02:00
Christoph Oelckers d812c2997c - start renaming uniforms to match GZDoom.
Needed to allow using the same shader with the backend.
2020-06-04 21:34:27 +02:00
Richard C. Gobeille d92f56f36f Duke3d: mark compiled CON_MOVE/CON_AI/CON_ACTION with a trailing value
This is so I can tell the difference between actor .t_data[] values that are actually set to something defined in CON versus bullshit arbitrary internal usage of the same variable, which I need for a future commit.
2020-06-04 20:20:30 +02:00
Richard C. Gobeille e353d38665 Duke3d: improve WT FLAMETHROWERFLAME enemy type check
I don't expect anyone to make an EDuke32-compatible WT mod where other enemies shoot FLAMETHROWERFLAME, but if they do the behavior will at least be consistent across enemy types.
2020-06-04 20:20:30 +02:00
Richard C. Gobeille 91d9883845 Duke3d: optimize A_RadiusDamage()
This results in far fewer calls to getwalldist(), inside(), and cansee(), which should significantly lessen the performance hit from a large number of A_RadiusDamage() calls in areas with many small detail sectors.

# Conflicts:
#	source/duke3d/src/actors.cpp
2020-06-04 20:20:29 +02:00
Christoph Oelckers b15cc31a38 - transitioned matrix setup to use the backend's uniform buffer implementation. 2020-06-04 20:14:48 +02:00
Christoph Oelckers 40f085adea - draw fullscreen blends with the 2D drawer.
Removing one special case of render setup. Now all 2D content is done by the same code.
2020-06-04 18:54:10 +02:00
Christoph Oelckers cf6855904d - took projection and view matrix out of the render state.
This is a preparation to migrate to GZDoom's HWViewpointUniforms buffer.
2020-06-04 18:46:44 +02:00
Christoph Oelckers 8216d31568 - fixed default for 'modern' in GameStartupInfo.
It shouldn't force 1.5 compatibility but enable the CVAR.
2020-06-02 16:59:21 +02:00