Commit graph

21583 commits

Author SHA1 Message Date
Ștefan Talpalaru
b5eb8f47db GCC-13 support, when precompiled headers are off 2024-02-05 17:40:37 +01:00
Hugo Locurcio
97cfd32677 Add a cvar to swap health and armor position on alternative HUD
When enabled, this makes the layout identical to the standard HUD
(similar to how most other games lay out health and armor on a HUD).
2024-02-04 20:13:18 -03:00
Christoph Oelckers
5b793958f9 fix uniform buffer size check 2024-02-04 23:06:02 +01:00
nashmuhandes
01a462e9d4 Fix the default controller axes on Linux. The third axis is actually the Left Trigger, which causes the player to uncontrollably look upwards. Fixed by mapping said axis to nothing. 2024-02-04 22:45:34 +01:00
nashmuhandes
d744f8f983 Add more gamepad bindings for Joystick API devices. Most beneficial for Steam Deck and Linux users 2024-02-04 22:45:04 +01:00
Christoph Oelckers
f1db369883 moved a few things out of the common code that should be defined privately. 2024-02-04 13:54:25 +01:00
Christoph Oelckers
d0a2713820 limit uniform blocks to 64kb.
The GL uniform code is not capable of dealing with large blocks, so restrict it to what most drivers report as their maximum.
2024-02-04 13:36:25 +01:00
Major Cooke
3f72f8acd5 Fixed psprites & viewpos being completely broken for non-isometric mode.
This line of code was altering a global cvar.
2024-02-03 11:22:16 -05:00
Christoph Oelckers
b37ea19f86 remove unnecessary #defines 2024-02-03 16:07:12 +01:00
nashmuhandes
cf4841c7de Allow the Joy2 button to cancel binding a key in the controls menu 2024-02-02 13:14:00 +01:00
nashmuhandes
481b2c1a70 Expose the main menu key in the controls menu so that it can be assigned (most useful for gamepad users) 2024-02-02 13:13:25 +01:00
nashmuhandes
662b4b07a4 Swap the default binding for the "Start" and "Select" buttons on gamepads. Using "Start" to access the main menu is a more commonly-accepted standard set by most released games out there - players would tend to reach for that button first to access the menu. 2024-02-02 13:12:41 +01:00
nashmuhandes
f6bdc02a8a Use a better default deadzone value for Linux. Fixes uncontrollable menus 2024-02-02 09:43:40 +01:00
Magnus Norddahl
989123b5f8 Fix null pointer crash 2024-02-01 20:48:33 -05:00
Rachael Alexanderson
0b54e7e91d
Merge pull request #2380 from Boondorl/ItemSharing
Improved key sharing functionality
2024-02-01 08:44:50 -05:00
Rachael Alexanderson
22f04bb689
Merge branch 'master' into ItemSharing 2024-02-01 08:44:35 -05:00
Boondorl
c90a3290fe Items set to stay or respawn no longer get picked up locally 2024-02-01 08:43:49 -05:00
Boondorl
e64e33f4a7 Fixed missing return in DisableLocalRendering 2024-02-01 08:43:49 -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
Dileep V. Reddy
c3ca564cfc Minor addition toe SpectatorCamera. Added three chase modes to lazy follow. 0: Catch up until tracer is centered again. 1: Same but don't move if tracer isn't moving (camera moving when character is not is jarring). 2: Stop chasing if tracer is closer than lagdistance. Game modes benefit from a 'center camera' button but that doesn't have to be hard-baked into the engine. 2024-02-01 08:43:34 -05:00
Dileep V. Reddy
7fbb4cd06c SpectatorCamera can now follow the 'tracer' actor. Also added a 'lagdistance' property for lazy follow. 2024-02-01 08:43:34 -05:00
Dileep V. Reddy
2b555d7556 Small change to SpectatorCamera actor. 2024-02-01 08:43:34 -05:00
Dileep V. Reddy
25f1407228 Cleaning up implementation of isometric camera with optional orthographic projection.
All CVars, mapinfo variables, and playerinfo/playerpawn variables are gone.
A Camera actor named 'SpectatorCamera' is defined in warsrc/static/zscript/actors/shared/camera.zs

The following new flag bits were defined in the 'DViewPosition' struct for use with actor->ViewPos in src/playsim/actor.h:
	VPSF_ALLOWOUTOFBOUNDS =		1 << 3,			// Allow viewpoint to go out of bounds (hardware renderer only).
	VPSF_ORTHOGRAPHIC =		1 << 4,			// Use orthographic projection.
	VPSF_ISOMETRICSPRITES =		1 << 5,			// Displace sprites towards camera and don't billboard (drawn from isometric perspective).

Basically, spawn a SpectatorCamera actor with the appropriate flags and set it to player.camera.
See example template: https://www.mediafire.com/file/fv8rytayjt9l6g1/isometric_actor_wads.zip/file

Has been tested with multiplayer death and disconnection (and respawns). Not tested with portals.
Still only works with hardware renderer (mostly). But should be compatible with older mods and libraries.
2024-02-01 08:43:34 -05:00
Rachael Alexanderson
a9c567ab9b
Update vcpkg.json
vcpkg is not providing a proper sdl2 implementation on linux, so ditch it from vcpkg for now and only use distro packages for it.
2024-02-01 01:35:12 -05:00
Rachael Alexanderson
47a2a534ec
- add in-built zmusic folder to default rpath 2024-01-31 19:19:36 -05:00
Rachael Alexanderson
797bdb7396
- update copyright in windows build script 2024-01-31 19:10:32 -05:00
Rachael Alexanderson
c9965c4890
- add linux build script 2024-01-31 18:50:36 -05:00
Ricardo Luís Vaz Silva
2002396b8b Fix .. to root folder in relative include 2024-01-31 07:48:59 -05:00
jekyllgrim
9712409f08 Fixed missing lines in listmenuitems 2024-01-30 14:46:22 -05:00
jekyllgrim
3e7d304de0 Fixed missing field definition for mCenterText 2024-01-30 14:09:30 -05:00
jekyllgrim
decaf07637 Add CenterText MENUDEF flag 2024-01-29 15:21:49 -05:00
Boondorl
c3f26b5405 Improved key sharing functionality
Localized functionality to an inventory function so that any item can make use of sharing. Added flag to avoid infinite recursions. HandlePickup() will now also share keys (for more complete handling). PuzzleItems are now included in sharing.
2024-01-28 18:04:04 -05:00
inkoalawetrust
56803317f5 Added new AutomapOffsets property.
This Vector2 property allows you visually offset the XY position of an actors' sprites on the automap.
2024-01-28 09:48:41 -05:00
inkoalawetrust
b3fabb0a7e Made the automap account for SpriteRotation.
The automap now also accounts for the SpriteRotation property of the actors. it renders as sprites.
2024-01-28 09:48:41 -05:00
Major Cooke
dbd6059894 Fixed player sprites not showing up in chasecam mode. 2024-01-28 09:48:11 -05:00
inkoalawetrust
f369cd7f6d Exposed PerformShadowChecks() to ZScript.
Also made CheckForShadows() and P_CheckForShadowBlock() return a pointer to the SHADOWBLOCK actor instead of a bool.
2024-01-26 07:00:57 +01:00
inkoalawetrust
f2451ff44b Made the damage of polyobjects customizable..
The damage done by polyobjects can now be changed by altering the health value of the start spots. A health of 1 (Default) is the default damage of 3, anything above 1 is instant death, and negative health values are the exact damage the polyobject does with every collision with an actor.
2024-01-26 06:59:52 +01:00
dpjudas
9ff1193dab Update backend to use ColorBlendAttachmentBuilder 2024-01-25 22:50:20 -05:00
dpjudas
58acf528bf Update to latest ZVulkan 2024-01-25 22:50:20 -05:00
inkoalawetrust
e1f585f6fd Exposed FindStateByString() to ZScript.
This allows for using ZScript code to jump to different versions of states without using If/Else blocks or Switch cases.
2024-01-25 14:17:16 -05:00
Dileep V. Reddy
c8a7507e8e Merged with latest master and made small change (zcenter -> center.Z) to hw_sprites.cpp. Now compiles and works. 2024-01-21 12:13:42 -05:00
Dileep V. Reddy
e171f4eb6a Restored r_orthographic behavior. 2024-01-21 12:13:42 -05:00
Dileep V. Reddy
d3405837ce Changed all of the isometric functionality to mapinfo and playerinfo variables. Retained function of most of the CVars. 2024-01-21 12:13:42 -05:00
Dileep V. Reddy
08b03e6b19 Adding isometric camera mode with orthographic projection to current state of master branch of GZDoom. 2024-01-21 12:13:42 -05:00
Rachael Alexanderson
5925a6a8c5
Revert "- use correct isHostile checks for target considerations"
This reverts commit f9a88f10ed.
2024-01-21 11:54:40 -05:00
Rachael Alexanderson
af08413e10
- reverting pull request #2361 - apparently pull request #2364 changed some behaviour and these two do not play nice together. One or the other unfortunately has to be rolled back to allow GZDoom to build properly again.
Revert "Restored r_orthographic behavior."

This reverts commit 26908f5bc5.

Revert "Changed all of the isometric functionality to mapinfo and playerinfo variables. Retained function of most of the CVars."

This reverts commit dc897eacc0.

Revert "Adding isometric camera mode with orthographic projection to current state of master branch of GZDoom."

This reverts commit d2c2c93cf1.
2024-01-21 08:18:16 -05:00
Dileep V. Reddy
26908f5bc5 Restored r_orthographic behavior. 2024-01-21 03:34:00 -05:00
Dileep V. Reddy
dc897eacc0 Changed all of the isometric functionality to mapinfo and playerinfo variables. Retained function of most of the CVars. 2024-01-21 03:34:00 -05:00
Dileep V. Reddy
d2c2c93cf1 Adding isometric camera mode with orthographic projection to current state of master branch of GZDoom. 2024-01-21 03:34:00 -05:00
Major Cooke
278ebf3202 Aded FLIPSPRITEOFFSET<X/Y> for actors and bFlipOffset<X/Y> for visual thinkers.
- Inverts the direction that (Sprite)Offset pushes the sprite without affecting *any* other offsets, allowing them to combine seemlessly.
2024-01-21 03:33:48 -05:00