Commit Graph

21047 Commits

Author SHA1 Message Date
Ricardo Luís Vaz Silva 8dbe0ae353 Don't change static variable when updating callback for single CVars 2023-01-29 14:42:20 -05:00
Emile Belanger 7349c95623 Fixes bones when using OpenGL 3.3 (UBO bone data) 2023-01-29 20:03:58 +01:00
Emile Belanger c8bd2deb1e GLES: Fix first wipe 2023-01-29 20:03:05 +01:00
CandiceJoy 4d9e60574d Added scroll bar for wad picker to Linux.
Min height is set to 150 for GTK3, or none for GTK2.

Signed-off-by: CandiceJoy <candice@candicejoy.com>
2023-01-29 04:14:20 -05:00
Christoph Oelckers 03bab7aceb - extended the 5 remaining fonts to cover all relevant European languages. 2023-01-28 14:16:57 +01:00
Christoph Oelckers ec04a95929 - validate the buffer size in HWViewpointBuffer::Set2D.
This was causing crashes in Dragon Sector when writing past the buffer's end.
2023-01-27 18:25:13 +01:00
CandiceJoy 70d355cfa3 Fixed a bug where calling an invalid virtual function would cause a crash. 2023-01-26 08:52:23 -05:00
Christoph Oelckers 10b6d21ba2 - new characters for Hexen's BigFont and all of Strife's fonts. 2023-01-25 23:43:57 +01:00
Hugo Locurcio ad49d52b1c Add cvars to sprite shadows progressively according to thing <-> floor distance
This also adds the `r_actorspriteshadowalpha` and `r_actorspriteshadowfadeheight`
cvars for greater control (only effective in hardware renderers).
These are set to 0.5 and 0 by default, which means this fading behavior
is disabled by default.

When enabled, this has two benefits:

- It becomes easier for the player to judge an entity's height since
  the shadow opacity now gives this information.
- Entities that are far high above the ground no longer cast a shadow,
  which looked strange.
2023-01-25 17:43:04 -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
CandiceJoy 1e39202484 Added check for invalid class on in-VM instantiation
Signed-off-by: CandiceJoy <candice@candicejoy.com>
2023-01-24 22:10:34 +01:00
Christoph Oelckers e97ec4f167 - Greek characters for Hexen's BigFont 2023-01-24 21:05:56 +01:00
Christoph Oelckers ebd81ddbef - fixed bad character indices. 2023-01-24 20:58:51 +01:00
Christoph Oelckers d7e2a82ded - Greek characters for Heretic's BigFont 2023-01-24 19:12:15 +01:00
Christoph Oelckers fe514aa66c - new characters for Heretic's BigFont. 2023-01-24 18:22:14 +01:00
Christoph Oelckers 8191282831 - more characters for Doom's BigUpper font. 2023-01-24 17:20:40 +01:00
Christoph Oelckers d0b519926c - Greek characters for Raven's small font. 2023-01-24 17:04:30 +01:00
Christoph Oelckers 1022fb571a - renamed a few files. 2023-01-24 16:38:52 +01:00
CandiceJoy 66625a4c6e Added GitHub CodeSpaces development environment. 2023-01-24 07:19:45 -05:00
Emanuele Disco faaf938b18 refactor: add some logs to help understand what is happening during soundfont selection.
It helps understand what soundfont is currently used

refs: https://github.com/ZDoom/ZMusic/pull/44
2023-01-24 07:19:23 -05:00
Christoph Oelckers 54d9472766 - one more new font character. 2023-01-23 23:49:21 +01:00
Christoph Oelckers 68c2a01f83 - more new font characters. 2023-01-23 17:51:39 +01:00
Ricardo Luís Vaz Silva b47aa37919 Add missing methods (GetIfExists/CheckValue) to Map pseudo-generics 2023-01-23 17:15:08 +01:00
Christoph Oelckers 33fd8270b1 - text update 2023-01-22 20:19:21 +01:00
Christoph Oelckers e268a4195c - cleanup of the Chex Quest small font.
This no longer bases its diacritcal characters on Doom's font, it also fills in all characters already present in Doom's small font.
2023-01-21 21:30:19 +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 a397a93c25 Add Missing Read Barriers to Map Get Functions 2023-01-21 16:40:47 +01:00
Ricardo Luís Vaz Silva fed2d11be5 Fix iterator invalidation for Map::Get 2023-01-21 16:40:47 +01: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
Christoph Oelckers 0b9fdf2d99 - convert characters to Doom patch format. 2023-01-20 23:25:25 +01:00
Ricardo Luís Vaz Silva ed6384edc6 Add `internal` variable support to files outside gzdoom.pk3 2023-01-20 22:34:26 +01:00
Ricardo Luís Vaz Silva d4e9438273 rename CheckWritable to IsWritable, and invert its output since it's always negated 2023-01-20 22:34:26 +01:00
Ricardo Luís Vaz Silva da06212134 Add mDefFileNo to Fields 2023-01-20 22:34:26 +01:00
Ricardo Luís Vaz Silva 5ba1e96d29 Add mDefFileNo to Classes/Structs 2023-01-20 22:34:26 +01:00
Boondorl f6128f0e9e Fixed global TerrainDef array not being exported correctly 2023-01-20 22:33:12 +01:00
Christoph Oelckers 04fc19c32d - 4 non-letter characters for Chex. 2023-01-20 21:03:21 +01:00
Christoph Oelckers bdd2281760 - new characters for Doom's SmallFont and BigFont.
This covers all somewhat relevant languages using the Latin alphabet for these two fonts.
2023-01-20 19:43:53 +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
Rachael Alexanderson 20eb821acb - indicate in the startup window title when GZDoom is compiled for ARM64 Windows 2023-01-17 02:36:21 -05:00
Rachael Alexanderson c382fd9f74
Update README.md 2023-01-17 00:55:32 -05:00
Sally Coolatta 45796505de Fix two different portable names
M_GetConfigPath uses GAMENAMELOWERCASE_portable.ini, but IsPortable() checks for GAMENAME_portable.ini. Doesn't have much of an impact on base GZDoom since it's case-insensitive, but can matter for engine forks -- IMO it should just be consistent either way.
2023-01-16 23:22:36 -05: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
Marisa Heit 258f4b6786 Check all ACS functions for minimum number of arguments.
Also fixes SpawnForced not respecting the minimum declared in zspecial.acs. (https://forum.zdoom.org/viewtopic.php?t=77027)
2023-01-16 16:53:10 +01:00
Boondorl dd7cb8649f Exported LinePortals
Added helper functions for lines related to portals
2023-01-15 22:01:37 +01:00
Christoph Oelckers 3ea49a66d1 - cleaned up the pitch management in the sound backend.
This now treats all pitch methods equally instead of the preferential treatment of Doom's original pitch hack. Most importantly, the sound channel now stores the pitch as a floating point value instead of 9.7 fixed point.
snd_pitched now also gets checked in the sound engine, not the low level interface.
2023-01-15 14: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