Commit graph

21896 commits

Author SHA1 Message Date
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
Christoph Oelckers
1561616498 - pass colormap to MakeGoodRemap as parameter.
Removes a Doom dependency and avoids double reading of the COLORMAP lump.
2023-01-15 08:34:32 +01:00