Commit graph

22157 commits

Author SHA1 Message Date
Ricardo Luís Vaz Silva
ce18a556b6 remove K&R C function declaration bullshit from lemon.c
should be enough to fix GCC15 compilation without fucking up size_t/etc
2025-03-10 03:06:50 -03:00
MajorCooke
210ee1780e Added particle rendering to VisualThinkers.
To activate, use `SetParticleType(int type)`. To deactivate, use `DisableParticle()`.

Types are:
- PT_DEFAULT (default value; uses `gl_particles_style`)
- PT_SQUARE
- PT_ROUND
- PT_SMOOTH

While in this mode:
- `Texture` & `Translation` are ignored
- `Scale.X` sets the size
- `SColor` sets the color

Misc changes:
- Removed warning on textureless destruction
2025-03-09 16:17:07 -03:00
dileepvr
74594e4c34 Remove bitwise opeartion on bool
Visual Studio compiler was giving the warning:
`warning C4805: '|=': unsafe mix of type 'bool' and type 'int' in operation`
2025-03-08 13:01:39 -03:00
dileepvr
e24c6fa4db Update hw_portal OoB height clip
Hopefully the last bug squash.
2025-03-08 13:01:39 -03:00
Boondorl
3c470019de Fixed default value of consoleplayer
Needs to be 0 since certain cvars will try and use it on initial callback when the engine boots up.
2025-03-08 02:18:50 -05:00
Dileep V. Reddy
60ebd71fea Handle sectors within sectors for stacked portals and plane mirrors (affects OoB only). 2025-03-08 02:16:31 -05:00
Dileep V. Reddy
def3082ed8 Forgot to account for when both floor and ceiling of a sector are portals. 2025-03-08 02:16:31 -05:00
Boondorl
ad3bcfddba Lobby Overhaul
Rewrote lobby to unify common and Doom-specific packet structure, allowing for saner handling of in-game joining. Added a new per-client stage system that allows individual clients to be handled at a time when gathering and sharing info. Reworked lobby UI to display user info and added kick/ban functionalities. Bans are only a temporary per-game IP ban (use passwords to keep unwanted users out). Increased max player count to 64 and unified engine constant.
2025-03-07 20:32:52 -05:00
Boondorl
80d5450af9 Updated ZWidget ListView
Added column support for consistent spacing between elements. Improved item adding functionality. Added Update and Remove item functionalities. Update ListView scrollbar on item add/remove.
2025-03-07 20:32:52 -05:00
Ricardo Luís Vaz Silva
c82c6bff16 fix function-pointer cast parsing 2025-03-07 17:22:24 -03:00
nashmuhandes
2e05e196db Interpolate turning 180 degrees 2025-03-07 14:35:08 -03:00
Dileep V. Reddy
0b30b4a493 Revert using older stencil method for stacked sectors (and reflective flats) if viewpoint is not allowed OoB. There was some bug with nearby skyplanes otherwise. 2025-03-06 23:29:12 -03:00
Ricardo Luís Vaz Silva
b0889b9814 Fix deprecation version checks on class fields/pointers 2025-03-06 08:59:02 -03:00
inkoalawetrust
ecdfe39ddf Exposed DElevator to ZScript. 2025-03-05 12:54:49 -05:00
inkoalawetrust
f0d0f259f7 Exposed more of the Floor thinker. 2025-03-05 12:54:49 -05:00
inkoalawetrust
8299f91cd1 Exposed more of the Ceiling thinker.
- Exposed the rest of the ceiling member fields and getters.
- Added an IsCrusher() method.
- Added getOldDirection() getter.
- Fixed Door direction enum.
- Forgot to make Plat readonly on previous commit.
2025-03-05 12:54:49 -05:00
inkoalawetrust
b0e7a698f6 Exposed DPlat to ZScript. 2025-03-05 12:54:49 -05:00
inkoalawetrust
b80572e400 Exposed DDoor to ZScript.
Also added a ZScript-only enum for the movement direction..
2025-03-05 12:54:49 -05:00
Dileep V. Reddy
093d3e32e6 Small correction to OoB viewpoint stacked-sector portal visibility. OoB is not the same as Ortho. 2025-03-05 12:54:34 -05:00
Dileep V. Reddy
2c4ac886aa Stacked sector portals now render for OoB viewpoints. 2025-03-05 12:54:34 -05:00
Dileep V. Reddy
dc5a250797 Reflective flats now work with OoB viewpoints, including ortho. Had to create a new type of portal stencil for the HWPlaneMirrorPortal. Stacked sector portals could be made to work the same way, but there are clipper issues, revealing out-of-view sections of the map on the other side. Hence sector portal rendering is still disabled in OoB viewpoints. 2025-03-05 12:54:34 -05:00
Dileep V. Reddy
0acfd9661b Making 3D-floors respond to r_dithertransparency properly. 2025-03-05 12:54:34 -05:00
Dileep V. Reddy
42947d04dc Added visual rendering for LinePortals and SkyPortals for OoB viewpoints. SkyPortals will be stenciled, and will always use perspective projection. Disabled interpolation when portalgroup changes (portal transition occurs) if viewpoint is OoB (was necessary for fog of war when r_radarclipper is set to true). Tightened up radar clipper by making it more aggressive. Voided walls wont' get filled in by a floor or ceiling sky (because of the stencil). Ceiling sky will be half-infinitely tall upwards, and floor sky will be half-infinitely tall downwards. Use only floor skies and a good GLSKYBOX for top-down/isometric cameras. Level.ReplaceTextures("F_SKY1", "SKY1", TexMan.NOT_FLOOR); (zscript) is a nice trick for WorldLoaded(). 2025-03-05 12:54:34 -05:00
Dileep V. Reddy
2223ea6227 3D floor flats now respect r_dithertransparency flag (how did this make it into vkdoom but not gzdoom?) 2025-03-05 12:54:34 -05:00
Dileep V. Reddy
232b93534d Better flat visibility checks for Ortho projection. 2025-03-05 12:54:34 -05:00
Boondorl
94be307225 Netcode Overhaul
Rewrote netcode to be more stable and functional. Packet-server mode has been restrategized and will now be the default netmode when playing with 3+ non-LAN players. TryRunTics has been cleaned up with older tick control behavior removed to account for the rewritten renderer. The main thread is now more consistent when playing online to prevent potential slow downs and lock ups. Load barriers are better accounted for to prevent spikes on level transition. Improvements to chat and lobby systems including a force start game button. Added a suite of new host options such as kicking and controlling who can pause the game. Max players increased from 8 to 16 since the new code can now handle it.

Note: Demo functionality is untested. This will be rewritten at a later time alongside improvements to GZDoom's playback features (e.g. freecam mode).
2025-03-05 12:52:52 -05:00
Ricardo Luís Vaz Silva
abfd91e8f1 stop game from getting stuck in chat mode if the main menu is open 2025-03-05 12:07:19 -03:00
Ricardo Luís Vaz Silva
a09dba6b8b fix crash if chat key is pressed during the loading screen 2025-03-05 12:07:19 -03:00
Ricardo Luís Vaz Silva
909d211137 rename vm internal structs to make room for compilation-unit-internal structs/classes 2025-03-05 12:07:19 -03:00
Ricardo Luís Vaz Silva
0d963166f1 Allow >> in parser for aggregate types
makes stuff like Array<Class<X>> parse properly (bit hacky but can't do much better without restructuring the scanner/lexer)
2025-03-05 12:07:19 -03:00
Ricardo Luís Vaz Silva
7685553af8 4.14.1 accepts 4.15, bump version to 4.15.1 2025-03-03 08:28:59 -03:00
Ricardo Luís Vaz Silva
02523b1f90 restrict internal structs to gzdoom.pk3 2025-03-02 17:48:03 -03:00
Ricardo Luís Vaz Silva
93c8af32ca allow deprecation of classes/structs, deprecate Dictionary 2025-03-02 17:48:03 -03:00
Ricardo Luís Vaz Silva
35c44c7e21 don't allow backing types of string/array/map/etc to be referenced as actual types 2025-03-02 17:48:03 -03:00
Ricardo Luís Vaz Silva
e8b7a30a79 add better descriptive name for vectors/quats 2025-03-02 17:48:03 -03:00
Ricardo Luís Vaz Silva
6b8736fb30 rework how vector local type restrictions are managed 2025-03-02 17:48:03 -03:00
Rachael Alexanderson
f1b5ba09e0
Update README.md
update copyright year
2025-02-28 02:38:42 -05:00
Rachael Alexanderson
b0d6f143f6
- fix classic doom.doom filter 2025-02-27 12:57:02 -05:00
Rachael Alexanderson
52a54521ed
- fix erroneous check in previous commit 2025-02-25 12:59:23 -05:00
Rachael Alexanderson
e5cf79fecb
- don't load idres24.wad in multiplayer games by default; allow override with cvar setting 2025-02-25 12:55:38 -05:00
Rachael Alexanderson
538f62a556
- renormalize normals on scaled models 2025-02-22 13:22:41 -05:00
Rachael Alexanderson
cb4acf9192
- language update 2025-02-22 12:03:07 -05:00
Ricardo Luís Vaz Silva
d9c224439d don't allow changing out-ness of parameters in virtual overrides 2025-02-21 02:17:54 -03:00
inkoalawetrust
645dbcfa51 Made the BFG and EXPLOSIVE weapon flags usable.
- Made the BFG and EXPLOSIVE weapon flags usable again.
- Marked the appropriate weapons with them for the 3 main supported games.
2025-02-20 20:37:20 -03:00
inkoalawetrust
286371791a Made MTF_NOINFIGHTING work. 2025-02-20 18:32:37 -03:00
Ricardo Luís Vaz Silva
7bdffa2592 fix OptionMenuItemCommand::DoCommand for new 4.15 keyword 2025-02-20 05:21:45 -03:00
Boondorl
f9dcda91d7 Update ZScript version to 4.15 2025-02-20 04:35:15 -03:00
Ricardo Luís Vaz Silva
ad579a8e43 add unsafe clearscope, to allow declaring clearscope fields outside of gzdoom.pk3 2025-02-20 04:18:29 -03:00
Ricardo Luís Vaz Silva
7e86116ab1 make const actually work, and add unsafe(const) for old behavior 2025-02-20 04:18:29 -03:00
Boondorl
236c9b4224 Added FindClass
Allows for classes to be looked up during run time without having to use string casting.
2025-02-20 04:14:18 -03:00