Commit graph

4687 commits

Author SHA1 Message Date
Christoph Oelckers
1b135ecb0b - step 1. 2020-06-21 23:07:42 +02:00
Christoph Oelckers
18d6a8e65d - another safety commit.
# Conflicts:
#	source/games/duke/src/zz_actors.cpp
2020-06-21 23:07:42 +02:00
Christoph Oelckers
e1c76e4c26 - safety commit.
# Conflicts:
#	source/games/duke/src/zz_sbar.cpp
2020-06-21 23:07:42 +02:00
Christoph Oelckers
e007b9bceb - safety commit 2020-06-21 23:07:41 +02:00
Christoph Oelckers
15c744f3da - movement code of the VM transitioned 2020-06-21 23:07:41 +02:00
Christoph Oelckers
3c8c7acaf8 - gamevars should be working now, there was a bad case of out of bounds access in the implementation 2020-06-21 23:07:41 +02:00
Christoph Oelckers
d3652f0ed9 - fixed include 2020-06-21 23:07:30 +02:00
Christoph Oelckers
c59928c6ff - removed most of the old and very messy gamevar code.
# Conflicts:
#	source/games/duke/src/zz_gamevars.cpp
2020-06-21 22:59:22 +02:00
Christoph Oelckers
c9bb23ee42 - more gamevar cleanup. 2020-06-21 22:59:10 +02:00
Christoph Oelckers
d01d4bf44c - preparations for gamevar code replacement - thinning out of code that's to be removed 2020-06-21 22:59:09 +02:00
Christoph Oelckers
c28ea5792a - copyright 2020-06-21 22:59:09 +02:00
Christoph Oelckers
e625f94e84 - migrated fully away from EDuke's script compiler
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:59:09 +02:00
Christoph Oelckers
6d066d4b7b - cleaned out the old parser.
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:56:50 +02:00
Christoph Oelckers
a1a19ab630 - transitioned the gamevar instructions, still with the old backend.
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:56:42 +02:00
Christoph Oelckers
05360e14b5 - game startup, include and moving formerly global variables back to global.
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:56:36 +02:00
Christoph Oelckers
3a95664b0b - fixing the ifelse check, consolidating the tail code for 'if' instructions. 2020-06-21 22:56:28 +02:00
Christoph Oelckers
2f9d62a40a - the last simple ones. 2020-06-21 22:56:28 +02:00
Christoph Oelckers
422faa99e1 - a lot more commands transitioned
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:56:28 +02:00
Christoph Oelckers
79c7748e90 - most 'if's.
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:55:30 +02:00
Christoph Oelckers
72514b0a1d - more instructions, 2020-06-21 22:55:24 +02:00
Christoph Oelckers
11255cbf6a - hack for buggy scripts in production code. 2020-06-21 22:55:24 +02:00
Christoph Oelckers
248e0503d8 - safety commit 2020-06-21 22:55:24 +02:00
Christoph Oelckers
56975d3ee2 - progress
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:55:23 +02:00
Christoph Oelckers
49e7fa20e8 - #2 2020-06-21 22:55:17 +02:00
Christoph Oelckers
6a6bbbe71a - the first command in the parser is done. 2020-06-21 22:55:17 +02:00
Christoph Oelckers
1cedacb7f4 - removed the hash table for the labels.
Again, the old code doesn't have it and it'd complicate porting over the code.
2020-06-21 22:55:16 +02:00
Christoph Oelckers
4a5953adb4 - some more preparations on the parser code. 2020-06-21 22:55:16 +02:00
Christoph Oelckers
53e4b8bf19 - deactivated the label type checks because the original code doesn't have them and they'd get in the way of testing. 2020-06-21 22:55:16 +02:00
Christoph Oelckers
3ab19a2f0d - hooked up the original CON parser for instruction-by-instruction substitution.
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:55:15 +02:00
Christoph Oelckers
358d1a460f - tabification of new sources and replacement of the CON instruction symbols.
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:55:09 +02:00
Christoph Oelckers
deef1b5936 - World Tour commentary stubs.
# Conflicts:
#	source/core/gamecontrol.cpp
2020-06-21 22:54:22 +02:00
Christoph Oelckers
0dacfb0049 - fixed compile 2020-06-21 22:53:08 +02:00
Christoph Oelckers
4c47361132 - added null check to findplayer. 2020-06-21 22:40:13 +02:00
Christoph Oelckers
577a800843 - the rest of sector.cpp, except for the input function. 2020-06-21 22:40:12 +02:00
Christoph Oelckers
92f5236b24 - more sector stuff. 2020-06-21 22:40:12 +02:00
Christoph Oelckers
c9a47d2e44 checkhitswitch
intentionally not merged because this is too messy.
2020-06-21 22:40:11 +02:00
Christoph Oelckers
536e3c886c 20% of sector.cpp
# Conflicts:
#	source/games/duke/src/zz_sector.cpp
2020-06-21 22:40:11 +02:00
Christoph Oelckers
c8cb0e4efd - the beginning of sector.cpp
The math backend functions have been moved out of Build because they originally have a good license.

# Conflicts:
#	source/build/src/mdsprite.cpp
#	source/build/src/polymost.cpp
2020-06-21 22:39:05 +02:00
Christoph Oelckers
9c3189475a - renamed unprocessed files and added missing WT firefly effect. 2020-06-21 22:38:05 +02:00
Christoph Oelckers
8cc273955d - moveeffectors, actors.c complete. 2020-06-21 22:38:04 +02:00
Christoph Oelckers
4c99eae4f6 - moveexplosions 2020-06-21 22:38:04 +02:00
Christoph Oelckers
242f78de13 - make moveactors work and RR weapon name cleanup.
# Conflicts:
#	source/games/duke/src/sbar.cpp
2020-06-21 22:38:04 +02:00
Christoph Oelckers
7b75a0683a moveactors plus backing code. 2020-06-21 22:37:29 +02:00
Christoph Oelckers
ca0af4bd7c - fixed compile. 2020-06-21 22:36:11 +02:00
Christoph Oelckers
cfead10cc2 - movetransports. 2020-06-21 22:36:11 +02:00
Christoph Oelckers
d396df057f - deleted old moveweapons function. 2020-06-21 22:36:11 +02:00
Christoph Oelckers
63f45f57d8 - separated Duke and RR implementations because the more complex functions would become too messy otherwise. 2020-06-21 22:36:11 +02:00
Christoph Oelckers
bda3374f9b - reshuffling stuff. 2020-06-21 22:36:10 +02:00
Christoph Oelckers
37b496b971 - moveweapons. 2020-06-21 22:36:10 +02:00
Christoph Oelckers
4d89c076f3 - removed old movestandables version. 2020-06-21 22:36:10 +02:00
Christoph Oelckers
9104fda1a0 - movestandables - old code not removed yet. Plus some World Tour handling. 2020-06-21 22:36:10 +02:00
Christoph Oelckers
8d42055dd7 - moveplayer 2020-06-21 22:36:09 +02:00
Christoph Oelckers
4b235c0771 - ifhitbyweapon and shorter game checks with inline functions. 2020-06-21 22:36:09 +02:00
Christoph Oelckers
89e555761d - guts and moves 2020-06-21 22:36:09 +02:00
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