Commit graph

840 commits

Author SHA1 Message Date
Christoph Oelckers
a938e9c66c moved the NetworkEntityManager into the backend code. 2024-04-21 18:30:19 +02:00
Christoph Oelckers
f2d7bbea99 Instead of going through a global callback function set the string table's default gender at the start of each frame
This will perform the CVAR lookup only once per frame, not once per string.
2024-04-21 10:35:56 +02:00
Christoph Oelckers
ebd4ebf298 StringTable cleanup and improvements
cleaned up function interface to avoid referencing the file system in the worker functions.
replaced StringTable's operators with functions.. The main reason is that these are far easier to look up when browsing the source.
This also fixes a premature translation in SBARINFO that was done in the parsing stage, not the printing stage.
2024-04-21 10:34:44 +02:00
Boondorl
f4a42dae1d Added pistol start gameplay option
Automatically resets the player's inventory and health when changing maps.
2024-04-21 03:21:08 -04:00
Boondorl
8d0d130dc9
New API for assigning unique network ids to objects 2024-04-20 19:14:29 -04:00
Rachael Alexanderson
ef10467ff8
- revert changes in backend code which will not sync properly with raze
This is a combination of 2 commits.

Revert "New API for assigning unique network ids to objects"

This reverts commit e37c19b5b4.

 This is the commit message #2:

Revert "Fix for Morph virtual"

This reverts commit 0ef042562e.
2024-04-17 14:48:02 -04:00
Boondorl
29a2ca0b13 Added co-op option to remember last used weapon when respawning 2024-03-28 15:48:56 -04:00
Rachael Alexanderson
47be9c1e54
- fix https://github.com/ZDoom/gzdoom/issues/2415 - wait to call V_Init2() until after exec commands are processed 2024-02-26 13:55:54 -05:00
Boondorl
e37c19b5b4 New API for assigning unique network ids to objects 2024-02-26 06:23:12 -05:00
Boondorl
c1539c2286 Added client-side item pick ups
Includes feature to disable Actor rendering locally (this cannot be checked from the playsim) and options for disabling co-op only things.
2024-02-01 08:43:49 -05:00
Christoph Oelckers
f7a4f00177 adapted string table so that it can be initialized without full game data being available.
This is for the IWAD picker which runs before many things are known.
2024-01-09 17:22:59 +01:00
Boondorl
a8e350aed8 Renamed Networking Functions
New names more appropriately match the size of the value they write to/read from the stream.
2024-01-05 23:33:15 +01:00
Christoph Oelckers
a020b8c2f5 do not compile the first shader in the shader manager's constructor
This was crashing with the move of the V_Init2 call. Instead do it when we first render something so that we can open the window without immediately making the full backend operational.
This was only working on GLES because it performs lazy shader compilation.
2024-01-05 16:55:11 +01:00
Professor Hastig
8cec6094d2 open the main game window earlier in the startup procedure. 2024-01-05 16:42:29 +01:00
Magnus Norddahl
71ff4d3685 Load widget resources from lumps
Add banner
2024-01-02 16:55:17 +01:00
Magnus Norddahl
3f50136c8d Create initial error and netstart windows 2024-01-02 16:55:17 +01:00
Christoph Oelckers
96961a5663 moved the hard coded exclusions for the file system to the blockedlist.
These exclusions are still engine specific, in case we want to use this in a more generic context they have to be disabled.
2023-12-15 16:58:26 +01:00
Christoph Oelckers
df3e82d94c cleaned up some redundant file reads and fixed file opening in the movie player.
As a streaming action this cannot borrow the one from the archive.
2023-12-14 17:22:31 +01:00
Christoph Oelckers
fe106d9bfe merge FileData and ResourceData. 2023-12-14 17:22:29 +01:00
Christoph Oelckers
21acb9d467 simplify lump filter setup and move the Doom special case for 'doom.doom' out of FResourceFile 2023-12-14 17:22:28 +01:00
Christoph Oelckers
0b36beb10d serialize the remap data of custom translations defined at run time. 2023-11-19 12:44:22 +01:00
nashmuhandes
a04f909d06 Add sv_coopsharekeys - in coop, picking up a key will distribute it to all online players 2023-11-11 20:50:31 -05:00
Christoph Oelckers
fb6e4becaa added rudimentary support for DSDA's COMPLVL lumo.
This cannot of course set real complevels, so what it does is set all appropriate compatibility flags from the respective preset.
It does leave out a few flags that are preferably left to the user, like infinitely tall actors or wall running.
2023-11-04 12:36:26 +01:00
Ricardo Luís Vaz Silva
f4fb583c6c more GetChars fixes in linux/macOS 2023-10-08 07:31:59 +02:00
Professor Hastig
ab8711b57a removed several bad casts to 'long'.
The 'long' type should generally be avoided because its size differs on Windows and Linux/Mac so it is almost guaranteed to cause undefined behavior
2023-10-04 16:47:43 +02:00
Christoph Oelckers
48ba63c022 added even more explicit GetChars() calls. 2023-10-03 15:55:08 +02:00
John Stebbins
bd4f4f739a Fix gameinfo load from same directory as file containing gameinfo lump
Fixes scenario 2 in https://github.com/ZDoom/gzdoom/issues/2011#issuecomment-1440997829
2023-09-16 10:53:53 +02:00
Christoph Oelckers
2fe0a7c60d - fixed sound issues with DSDHacked.
* forward declarations must be allowed.
* this must disable map-local SNDINFOs because the added sounds would get lost otherwise.
2023-09-13 18:44:14 +02:00
Christoph Oelckers
ebb71cebf1 - put the entire filesystem code into a namespace and created some subdirectories. 2023-08-22 22:54:54 +02:00
Christoph Oelckers
4906d287cb - use std::vector<std::string> to pass the file list to InitMultipleFiles 2023-08-22 22:54:52 +02:00
Christoph Oelckers
5398045f7d - got rid of FileSystem::GetFileData.
Using FMemFile is better in all these places.
2023-08-22 22:18:53 +02:00
Christoph Oelckers
219b3fb9f9 - uncoupled directory loader from the rest of the engine. 2023-08-22 21:49:54 +02:00
Christoph Oelckers
5a32f98bde - first stage of uncoupling the file system from the engine.
This replaces several FStrings and TArrays with std::string and std::vector.
2023-08-22 21:49:54 +02:00
Christoph Oelckers
1dc47f91c2 - file system error management refactoring. 2023-08-22 21:49:54 +02:00
Christoph Oelckers
7fee89d1f5 - uncouple the file system from the engine's Printf function.
This is needed to use it in non GZDoom based projects.
2023-08-17 21:36:22 +02:00
Ricardo Luís Vaz Silva
1589afb46e Add Voodoo Zombie Compatflag 2023-05-14 08:14:47 +02:00
Mitchell Richters
f1f6e3a607 - Move invertmouse CVARs into common code.
* Removes duplication of CVAR definitions between Raze and GZDoom.
2023-04-04 17:11:28 +02:00
Mitchell Richters
034202e6f6 - Properly fix default mouse x sensitivity. 2023-04-04 17:08:02 +02:00
John Stebbins
c3d99fa699 Allow GAMEINFO LOAD to load directories
Addresses part of enhancement issue #2011
2023-02-23 18:35:15 +01:00
Ricardo Luís Vaz Silva
c8f3aa3fd1 ZScript Custom CVars -- ONLY WORKS FROM THE CONSOLE 2023-01-29 14:42:20 -05:00
Boondorl
2d94321887 Added OnEngineInitialize() for static event handlers 2023-01-25 17:41:48 -05:00
nashmuhandes
2fa2533982 - enable DM support for sv_noplayerclip
- fixed voodoo dolls with sv_noplayerclip
- fixed autoaim working incorrectly with sv_noplayerclip
2023-01-08 22:55:10 +08:00
nashmuhandes
3d6cc47dc1 Add sv_noplayerclip to allow players to walk through and shoot each other (only in coop) 2023-01-08 19:10:49 +08:00
0e5c6e37b1 Prevent important messages from being accidentally filtered. 2023-01-04 17:54:09 +01:00
Boondorl
0d4d5587b5 Added FOV Interpolation 2022-12-18 08:23:19 +01:00
Gutawer
8db4c5ea71 - process events every frame as well to ensure that menus can run at any framerate 2022-11-24 00:56:44 +01:00
Christoph Oelckers
dab61709f8 - added a compile option to fully disable the software renderer.
This is mainly for new games which have been designed for hardware rendering.
Note that this does not remove the software renderer's code - all it does is to disable the vid_rendermode CVAR by turning it into a static constant with the value 4.
2022-11-08 11:24:35 +01:00
Rachael Alexanderson
c860e2d732 - add the following command line parameters:
- -noextras: disable loading of any extras (lights, brightmaps, widescreen)
- -nolights: disable loading of lights
- -nobrightmaps: disable loading of brightmaps
- -nowidescreen: disable loading of included widescreen assets
2022-11-08 00:13:30 -05:00
Christoph Oelckers
4ebcff8573 - remaining changes for moving bone data to the backend 2022-11-06 10:59:33 +01:00
Christoph Oelckers
eb369b24c3 - fixed FileExists check for -loadgame.
This was done before the current savegame path was known so it always errored out.
2022-11-05 23:25:10 +01:00