Commit graph

4554 commits

Author SHA1 Message Date
Boondorl
239a288a9a Exported reflection functionality
Localized reflection code to a single function. Fixed an error where NOSHIELDREFLECT was being checked on the wrong Actor. Fixed an oversight where MIRRORREFLECT was checking for valid target despite not needing one.
2023-08-02 00:40:01 -04:00
inkoalawetrust
150e893c67 Added ShadowAimFactor and ShadowPenaltyFactor.
These properties allow to specify how much an actors' aim is degraded when shooting at a shadow actor. And how much the shadow actor itself affects the shooters' aim, respectively.
2023-08-02 00:39:35 -04:00
inkoalawetrust
a7f76fe8b9 Added damage property to earthquakes.
When this property is set to any value above 0. The earthquake does the exact amount of damage specified, instead of a random amount.
2023-08-02 00:38:24 -04:00
inkoalawetrust
a38b151940 Added damage and thrust multipliers to quakes.
These properties allow for scaling the amount of damage an earthquake does and how much it pushes actors around.
2023-08-02 00:38:24 -04:00
inkoalawetrust
8d95138735 Added QF_DAMAGEFALLOFF.
This flag makes it so that the damage and actor thrusting of earthquakes fades with distance like the screen shake effect does.
2023-08-02 00:38:24 -04:00
inkoalawetrust
194f73a94b Added (XF/RADF)_CIRCULAR.
This flag makes explosions use a spherical radius, instead of a cubic one. Only took almost 30 years.
2023-08-02 00:37:58 -04:00
inkoalawetrust
ca1f3ac580 Added (XF/RADF)_NOALLIES.
This flag allows explosions to not harm any actors that are friendly to its' source.
2023-08-02 00:37:58 -04:00
inkoalawetrust
6489b05db9 Added (XF/RADF)_THRUSTLESS.
This flag allows for explosions that do not thrust any of the actors caught in the blast.
2023-08-02 00:37:58 -04:00
makise-homura
357d846b7a Allow custom MessageBox menu selector
GZDoom used to have hardcoded MessageBox menu selector, 0x0d character
of console font, while the other menu is displayed is SmallFont.
It looked too ugly if SmallFont and ConFont heights are different,
and also there was no method of modifying the selector.

Now, the selector is 0x0d from SmallFont, if SmallFont contains this glyph
(its height is greater than zero), otherwise it falls back to previous
behavior (using ConFont as a source of this glyph).

To define custom MessageBox menu selector, just define 0x0d glyph for
SmallFont, and it will be displayed in the menu.

The gap between selector and menu options text is 3 pixels (as before), and
if you wish to enlarge this gap, just add some transparent columns at the
right side of 0x0d glyph.
2023-08-02 00:37:33 -04:00
Ricardo Luís Vaz Silva
0192392256 Individual Joystick Enable/Disable Toggles 2023-08-02 00:37:24 -04:00
Professor Hastig
ae2f7578dc fix menu entry for light modes
Renames "Doom" to "Classic", fixes the option values and removes the no longer supported options.
2023-07-20 17:04:05 +02:00
Major Cooke
9c765a70bf Expanded Service's Get<Type> functions to pass in name parameter. 2023-07-17 22:51:04 +02:00
Major Cooke
0c9bd9282c Added GetName(UI/Data) to Service class. 2023-07-17 22:51:04 +02:00
Ricardo Luís Vaz Silva
99850ea216 fix the ammocount parameter in Weapon.CheckAmmo 2023-07-09 10:47:39 +02:00
Ricardo Luís Vaz Silva
677b084064 Fill in ECompatFlags 2023-05-14 08:14:47 +02:00
Ricardo Luís Vaz Silva
1589afb46e Add Voodoo Zombie Compatflag 2023-05-14 08:14:47 +02:00
Rachael Alexanderson
39cea95dba - fix language grammar in language.def 2023-04-30 10:54:51 -04:00
Rachael Alexanderson
e5fcb331df - remove vid_gpuswitch and all its handling; it is only as of now useful in old unsupported versions of Windows 7/8/10 which are no longer supported 2023-04-30 10:38:46 -04:00
Christoph Oelckers
993d44c33b - deduplication of text content.
This mainly maps the item tags to other available text with the same content.
2023-04-30 08:43:35 +02:00
Blue Shadow
40cb7f14d0 - added MaxEffectTics field to Powerup 2023-04-12 16:25:15 +02:00
Christoph Oelckers
61d9156184 - text update 2023-04-05 18:58:38 +02:00
Rachael Alexanderson
9c3907136d - update some copyright years 2023-03-25 08:06:23 -04:00
Rachael Alexanderson
1f2809244d
Update service.zs
remove erroneous semicolon
2023-02-19 10:14:36 -05:00
Christoph Oelckers
fb97a97086 - remapped a few duplicate strings. 2023-02-19 12:49:13 +01:00
Ricardo Luís Vaz Silva
d6e72b5264 Add data-scoped getters for Services 2023-02-19 08:11:08 +01:00
Ricardo Luís Vaz Silva
590475a8e3 Improve Services 2023-02-19 08:11:08 +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
Ricardo Luís Vaz Silva
4c7e9c6193 Change CheckValue to multi-return, due to unsupported out int/bool 2023-01-25 17:32:54 +01:00
Christoph Oelckers
d7e2a82ded - Greek characters for Heretic's BigFont 2023-01-24 19:12:15 +01:00
Christoph Oelckers
33fd8270b1 - text update 2023-01-22 20:19:21 +01:00
Hugo Locurcio
2fa88aa5a7 Implement antialiasing for automap lines
This implements a bruteforce approach for 2D line antialiasing.
It's not perfect by any means, but it seems to do its job well enough.
Since it draws 9 lines instead of 1 line per segment, it's significantly
more expensive but should still be usable on modern hardware (except
on very complex maps).

Automap line antialiasing is disabled by default and can be enabled
with the `am_lineantialiasing 1` cvar.
2023-01-21 11:40:25 -05:00
Ricardo Luís Vaz Silva
698bd251ea Mark non-modifying map functions as const 2023-01-21 16:40:47 +01:00
Ricardo Luís Vaz Silva
decba68225 Map::GetIfExists and Map::CheckValue 2023-01-21 16:40:47 +01:00
Blue Shadow
4c0b5cbb32 - alt HUD: use NewSmallFont for drawing player's coordinates if ui_generic is enabled 2023-01-18 18:18:13 +01:00
Hugo Locurcio
bf39002515 Increase slider precision for mouse sensitivity settings
On mice with high DPI settings, low values such as 0.1-0.3 typically
need to be used to get a comfortable effective mouse sensitivity.
2023-01-16 16:54:25 +01:00
Hugo Locurcio
1c45890c5a Use a slider to allow specifying max FPS with more precision
The minimum value was increased from 30 to 35 to reflect the lowest
value you can actually use in `vid_maxfps`. Values lower than 35
are silently clamped to 35.

The maximum value is chosen to cater to the fastest commercially
available display as of writing (500 Hz).

Being able to specify maximum FPS with a more precise slider has
several benefits:

- This adds support for monitors with less common refresh rates
  (138 Hz, 165 Hz, ...).
- This adds support for monitors with very high refresh rates
  (240 Hz or more).
- This allows catering to variable refresh rate setups with a FPS cap
  chosen to avoid V-Sync input lag, while also avoiding tearing.
  For example, choosing a FPS cap of 117 on a 120 Hz display will prevent
  the display from reaching its maximum refresh rate.
  More information: https://blurbusters.com/howto-low-lag-vsync-on/
- The value no longer displays a "Unknown" if customized in the console
  using the `vid_maxfps` cvar.
2023-01-16 16:53:59 +01:00
Boondorl
dd7cb8649f Exported LinePortals
Added helper functions for lines related to portals
2023-01-15 22:01:37 +01:00
Christoph Oelckers
5b7826f68b - set lightblendmode to 0 when setting up a 2D viewpoint.
2D never uses dynamic lights so this should always be 0 - and eliminates another place in the backend referencing game data.
2023-01-15 09:21:01 +01:00
Christoph Oelckers
34e2e77f9e - tab cleanup in shader code. 2023-01-15 08:54:54 +01:00
Ricardo Luís Vaz Silva
5e464d3e93 expose WallMask and ignore actor, allow disabling Actor Tracing for LineTracer::Trace 2023-01-14 11:33:22 -05:00
inkoalawetrust
458142eb8b Added flags to SetPlayerProperty.
Added all of the missing player cheats to the SetPlayerProperty special.
2023-01-14 11:32:21 -05:00
Major Cooke
aed72f58f3 Converted A_Quake(Ex) intensity parameters from ints to doubles. 2023-01-14 11:30:00 -05:00
Ricardo Luís Vaz Silva
8e7897233e Add Alternate Light Blending Options 2023-01-14 11:29:12 -05:00
Boondorl
3dce874621 Exported bounce functions 2023-01-12 17:44:28 +01: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
Boondorl
0d23816179 Added FlyBob Multiplier for Player 2023-01-02 08:14:24 +01:00
Boondorl
73159dac3e Added WaterClimbSpeed Property to Players 2023-01-02 08:13:13 +01:00
Magnus Norddahl
8bcdbc230d Adds soft shadows to vk_raytrace 2022-12-31 03:51:33 -05:00
Marisa the Magician
6f8901ea87 Rename ValidLock to IsLockDefined (more descriptive). 2022-12-23 22:48:01 +01:00
Marisa the Magician
b85add01c7 Additional lock-related ZScript functions.
* Key.ValidLock: returns whether a lock number is valid (can be unlocked) or belongs to a "does not work" door.
* Key.GetMapColorForLock: returns the automap color for a lock number (or -1 if the lock isn't valid).
* Key.GetMapColorForKey: likewise, but for a specific key.
2022-12-23 17:47:31 +01:00
Rachael Alexanderson
f816eb68ae - fix linedef index for heretic e2m7 fix 2022-12-19 15:55:52 -05:00
Ricardo Luís Vaz Silva
43880bbbe1 Expose StripLeft and StripLeftRight to ZScript 2022-12-19 14:00:09 +01:00
Boondorl
0d4d5587b5 Added FOV Interpolation 2022-12-18 08:23:19 +01:00
Rachael Alexanderson
a0cd1ba04a - move flight viewbob to misc menu 2022-12-17 01:23:22 -05:00
Rachael Alexanderson
b08295e7e1 - fix spacing 2022-12-16 20:40:05 -05:00
CandiceJoy
0fdb740ac7
Added toggle control for weapon bob while flying 2022-12-16 17:12:03 -06:00
Ricardo Luís Vaz Silva
de65d1b96f Misc Fixes for BobWeapon3D
- Fix inverted Y axis for offset/old BobWeapon
- finish adding PSPF_MIRROR
- fix missing pivot
2022-12-12 15:23:12 +01:00
Ricardo Luís Vaz Silva
46d36cf5c7 add BobWeapon3D 2022-12-09 21:49:38 +01:00
Boondorl
9a1e666303 Exposed Box and PointOnLineSide 2022-12-08 20:33:11 +01:00
Boondorl
b1cb044a15 Fixed IsActorPlayingSound's default argument
Now properly passes the invalid sound id.
2022-12-06 12:16:29 +01:00
Magnus Norddahl
6a005e3a2a Switch vulkan backend to use the zvulkan library 2022-12-05 07:49:43 +01:00
Christoph Oelckers
5b3f597438 - text update. 2022-12-04 15:34:47 +01:00
Mitchell Richters
6629944d39 - Make the new scaled angle changes at frame rate opt-in behind new flag SPF_SCALEDNOLERP.
* This will still test whether the game needs to lerp and will force `SPF_INTERPOLATE` if needed.
2022-12-04 15:11:17 +01:00
Mitchell Richters
9f9c1eb18a - Make view angles interpolate on a separate flag to the one that forces interpolation for the entire frame.
* As view angles are an offset, there's no reason why these cannot lerp separately.
2022-12-04 15:11:17 +01:00
Ricardo Luís Vaz Silva
8b6a714d41 Map<K,V> and MapIterator<K,V> for ZScript 2022-12-04 15:11:00 +01:00
Christoph Oelckers
1e5e65546d Revert "- add support for not localizing some text functions, and modify menu text fields to use this"
This reverts commit 91d3c4b606.

This completely breaks the menus, so it needs to go.
2022-12-04 08:13:04 +01:00
Ricardo Luís Vaz Silva
cd46f97dcc Structified A_SpawnParticle/Ex 2022-12-03 23:54:52 +01:00
Gutawer
91d3c4b606 - add support for not localizing some text functions, and modify menu text fields to use this 2022-12-03 23:30:38 +01:00
Ricardo Luís Vaz Silva
f666edc60c Allow Disabling of XY Billboard for Particles 2022-12-03 23:27:46 +01:00
Boondorl
964534f4b0 Added Method For Getting Portal Group Count 2022-12-03 23:27:01 +01:00
Boondorl
ad80593cb7 Allow Getting Portal Group Offsets 2022-12-03 23:27:01 +01:00
Ricardo Luís Vaz Silva
58a64e4f5d Remove leftover variable in CustomMessageBox 2022-11-25 00:39:35 +01:00
Boondorl
f322792783 Added animation support for OptionMenus
Adds Animated and AnimatedTransition MENUDEF instructions for OptionMenus. Added DontDim and DontBlur MENUDEF instructions for all menus.
2022-11-25 00:39:05 +01:00
Christoph Oelckers
419e593a4c - allow SNDINFO to declare sound mappings by using 'sounda = soundfle'.
This works similar to MAPINFO: The first definition in a file declares the format, all later ones must be the same.
This change in syntax increases robustness significantly because it avoids the problems with the original syntax not being able to detect badly formatted names.
2022-11-24 23:52:51 +01:00
Gutawer
9f0c518be9 - add remaining quaternion function implementations 2022-11-21 07:20:43 +01:00
RaveYard
540f778047 Quaternion structure and math ops 2022-11-21 07:20:43 +01:00
Boondorl
d3bcc769f5 Clearscoped getters for map data 2022-11-19 09:16:24 +01:00
Ricardo Luís Vaz Silva
0f7e7744b0 CustomMessageBox Formatting 2022-11-18 07:42:45 +01:00
Ricardo Luís Vaz Silva
724b89bb1d CustomMessageBox 2022-11-18 07:42:45 +01:00
Boondorl
ef456a4901 Added PitchTo Function 2022-11-18 07:41:04 +01:00
Christoph Oelckers
29b4418c3a - added 'foreach' loop to ZScript.
Syntax:

foreach(variable : array)
{
}

the variable's type is automatically deducted.
2022-11-15 21:34:45 +01:00
Emile Belanger
f41f393e91 GLES: Added IQM bone support. 2022-11-13 21:19:54 +01:00
Boondorl
7517b64aee Updated to Interface Event
Changed SendConsoleEvent to SendInterfaceEvent to make functionality clearer. Added InterfaceProcess virtual to EventHandlers. Added CCMD for sending interface events.
2022-11-13 21:04:38 +01:00
Boondorl
b4a8b1278f SendConsoleEvent function for EventHandlers 2022-11-13 21:04:38 +01:00
UnizoneDev
a21d0c70e4 Mark the PushSound property as meta 2022-11-13 07:38:07 +01:00
UnizoneDev
9af664d117 Add PushSound property and Slide state
First Commit, hip hip hooray!
2022-11-13 07:38:07 +01:00
Major Cooke
2a9e28d949 Added PS_REPLACE flag for A_SpawnParticle(Ex).
- When used, new particles that spawn when the limit is reached will replace the oldest particle.
2022-11-12 09:13:37 +01:00
Rachael Alexanderson
d388d19793 - fix uncaught exception that rarely occurred with the intermission screen that would vm-abort out from any attempt to enter a level 2022-11-12 00:46:43 -05:00
Boondorl
fc7bb4a7e6 Exposed LevelLocals' LookupString functionality 2022-11-11 07:32:56 +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
Christoph Oelckers
fdeec5e0a5 - fixed bad index check in CanWipe.
This can be called with index == -1, which should check the first element of the intermission.
2022-11-06 23:23:31 +01:00
Christoph Oelckers
7e10138993 - added characters U-0404 and U-0490 for Ukrainian language support.
A translation was started so ensure it will work.
U-0403 was a mistake but the already finished characters were added anyway.
2022-11-06 14:55:30 +01:00
Christoph Oelckers
2207c4ebf8 - we have no coronas for the time being. 2022-11-05 13:23:28 +01:00
Christoph Oelckers
a7c54579f6 - language update. 2022-11-05 13:22:41 +01:00
Christoph Oelckers
72aa6fe3b8 - did some cleanup on p_mobj.cpp
* deleting some unused code
* turned several class methods into static local functions in cases where they never were used outside this file.
* inlined the dangerous assignment operator in the only place where it was used.
2022-11-05 12:00:43 +01:00
Christoph Oelckers
d4df121053 - added target check to A_MaulerTorpedoWave. 2022-11-05 10:22:19 +01:00
Christoph Oelckers
435e7dddcd - fixed: P_SpawnMapThing may not call playsim code.
There was one special case allowing to let an actor die on spawn, but this could call script code on an incompletely set up map which resulted in crashes.
2022-11-05 09:43:06 +01:00
Ricardo Luís Vaz Silva
7d81417829 Particle Rolling 2022-11-01 22:30:16 +01:00