Commit graph

19238 commits

Author SHA1 Message Date
Dileep V. Reddy
b79deabab1 Prevent console from laying open when intro cutscene plays on some systems. 2024-09-16 13:43:34 -04:00
Ricardo Luís Vaz Silva
79dacdf1b7 Properly fix double interpolation for IQM models 2024-09-13 17:05:22 -03:00
Ricardo Luís Vaz Silva
1429e22441 rework interpolation to allow for precalculated frames 2024-09-13 17:05:22 -03:00
Ricardo Luís Vaz Silva
b1318e4b22 quick fix for interpolation, TODO better fix 2024-09-13 12:17:09 -03:00
Ricardo Luís Vaz Silva
17d7006d72 replace naive interpolation logic with more exact logic 2024-09-13 12:17:09 -03:00
Christoph Oelckers
ed39413532 Render the bottom sky layer always with full opacity in the SW true color renderer.
No need to add explicit checks for color (0,0,0,0) here.
2024-09-12 08:47:00 +02:00
Cacodemon345
38290b6615 Truecolor sky: Draw opaque black background on transparent texels
Fixes HOM effect
2024-09-12 08:38:19 +02:00
Cacodemon345
ce24849adf Add support for fire textures in ANIMDEFS 2024-09-12 08:38:19 +02:00
Ricardo Luís Vaz Silva
a663d97961 load id24res if present 2024-09-12 01:28:53 -04:00
Dileep V. Reddy
aacc4d7278 PointToPseudoPitch() was being called even when viewpoint was not allowed out of bounds. And its sqrt was slow even when it was necessary (thanks dpjudas for the speedup code). 2024-09-10 10:58:36 -04:00
Ricardo Luís Vaz Silva
afcd38907c add SpawnMultiCoopOnly mapinfo flag to spawn **only** coop spawns in single-player 2024-09-08 17:10:33 -03:00
Rachael Alexanderson
5895f9b1b1
- implement +SQUAREPIXELS flag 2024-09-07 23:09:36 -04:00
Xaser Acheron
76c8b6da57 fix A_PlaySound not working for DSDHACKED-defined sounds 2024-08-25 11:18:52 -04:00
Dileep V. Reddy
b2976444c9 Smaller aspect ratio screens were getting clipped a bit too much. This is a brute-force if-else solution. Larger aspect ratios (wider screens) were always good. 2024-08-25 11:18:05 -04:00
Magnus Norddahl
f0ff273620
Stop grabbing mouse when game window doesn't have the focus 2024-08-23 01:14:28 -04:00
Ricardo Luís Vaz Silva
70cf707251
Skip bex strings for freedoom if language lump is present (#2682) 2024-08-21 00:08:57 -03:00
Boondorl
0d43272c8f Allow for Basic and Hexen armor replacing 2024-08-17 01:14:07 -04:00
Christoph Oelckers
5fa220219e Reverted use of tchar.h which should be considered deprecated.
GZDoom is Unicode only - as should be the norm for any Windows application - and will not work when compiled as ANSI so there's no good reason to use this wrapper.
2024-08-16 12:41:29 +02:00
Farkas Péter
f5c86819ab Added GOG path for Doom + Doom II 2024-08-15 18:54:13 -04:00
Dileep V. Reddy
958721e2b8
Forgot on check. 2024-08-15 02:43:48 -04:00
Ritchie Swann
709d5dd742
Keep legacy_studio_definitions for non mingw64 toolchain 2024-08-15 02:43:47 -04:00
Ritchie Swann
120c0fb5ca
Use TCHAR on Windows 2024-08-15 02:43:47 -04:00
Ritchie Swann
801dc4aaac
sys/stat.h is required on all platforms 2024-08-15 02:43:47 -04:00
Ritchie Swann
e1e5ae16e2
Fix namespace issue
windows.h must be included in the main namespace on mingw64, otherwise there are loads of compile errors
2024-08-15 02:43:47 -04:00
Ritchie Swann
8f7b0ef4eb
Fix libraries on mingw64
dxguid and dwmapi are required on mingw64 and give linker errors if missing
legacy_studio_definitions is not in the latest mingw64
2024-08-15 02:43:47 -04:00
nashmuhandes
8043370ef1 Export PlayDiveOrSurfaceSounds to ZScript and made it virtual for mods to customize the diving and surfacing sounds 2024-08-11 14:34:53 -04:00
dileepvr
95b264bdb6
Isometric Mode and Robin (#2618)
* Feature-complete isometric mode fork.

* Dithered transparency condition tweaks.

* Dithered transparency for non-corpse monsters only (and missiles).

* SpectatorCamera vertical shift.

* Including math.h in hw_sprites.cpp to keep visual studio happy (it couldn't find M_SQRT2 definition).

* Defining MY_SQRT2 in hw_sprites.cpp to keep visual studio happy (it couldn't find M_SQRT2 definition).

* Defining MY_SQRT2 in r_utility.cpp also to keep visual studio happy.

* retrigger checks

* Have correct sprite angle-frame face the camera with orthographic projection enabled.

* Dithered Transparency now works properly on 3D floors. Moved that dither-trans flag setting code within hw_bsp.cpp to handle double-processing of linedefs. Added helper functions to FRenderViewpoint class 'bool IsOrtho()' and 'bool IsAllowedOoB()' to clean up checks everywhere in the code.

* Fixed indents. Added bbox property to subsector struct and use it instead of BSP nodes and Clippers (creating a bbox around viewpoint and checking for overlap) in orthographic mode when no fog of war is active. Turns out to be much faster. Though you need really big maps (Winter's Fury MAP01) to see a difference in fps.

* Non-linux checks don't like uint. Changed to unsigned int.

* Small change of a float to camera.zs. Ignore for testing. Should make no difference.

* Update actor.h to remain mergeable

RF2_NOMIPMAP was introduced, so I had to displace RF_ISOMETRICSPRITES to next bit.
2024-08-11 10:04:40 -04:00
Ricardo Luís Vaz Silva
b044baf850 don't change priority to idle if i_pauseinbackground is false 2024-08-09 18:04:51 -03:00
Ricardo Luís Vaz Silva
1655f7e3b7 Allow XInput joysticks to work while the game is unfocused 2024-08-09 18:04:51 -03:00
Vitaliy Kanev
bd2027ee4b Support the new Doom + Doom II update 2024-08-09 14:31:48 -03:00
Rachael Alexanderson
847f34f2c9
- fix: check if bombsource exists when exploding a projectile with a XF_NOALLIES flag 2024-08-07 11:12:13 -04:00
nashmuhandes
593e1c0225 Add SPF_NOMIPMAP to force actor sprites or particles to have no mipmaps. This makes tiny sprites/particles look more crisp and legible in the distance. Mipmapping causes the sprites/particles to have an inconsistent look where they'd sometimes be clearly visible and sometimes less visible depending on camera distance and movement. 2024-08-03 18:45:48 -03:00
Boondorl
3d3cd88868 Disable effects on Actors set not to render locally
These are purely visual
2024-07-31 07:00:38 -04:00
Boondorl
d697eafbe1 Fixed subnormal float viewpos values breaking rendering 2024-07-29 03:10:50 -04:00
Blue Shadow
519dd16c9a - fixed alignment issue in SBARINFO's DrawString command 2024-07-28 21:19:41 -03:00
nashmuhandes
f671018700 Clean up lightmap stuff in the namedef 2024-07-20 12:56:56 -04:00
Magnus Norddahl
9d78eb5aa0
Fix directory crash for filenames that appear elsewhere in the path 2024-07-12 13:53:45 -04:00
Ricardo Luís Vaz Silva
0caa036a96 fix compilation 2024-07-09 12:25:28 -03:00
Ricardo Luís Vaz Silva
7ddd4ec245 handle freeze in decoupled animations 2024-07-09 12:25:28 -03:00
Boondorl
10d0f94972 Misc network fixes
Fixed missing teleport specials when predicting. Added rubberband limit; if too far away from the predicted position, will instead instantly snap the player's view to their new spot. Deprecated cl_noprediction; this was pointless as you'd never not want to predict your position/angles. Fixed angle targets not being backed up. Fixed oldbuttons not being set. Updated menu
2024-07-07 01:33:37 -03:00
MrRaveYard
a82e3b9dfe Add missing GC write barrier 2024-06-30 11:22:07 -03:00
Ricardo Luís Vaz Silva
35f66c5cc2 add COMPATF2_NOACSARGCHECK to disable ACS function argument count checks 2024-06-24 17:23:08 -04:00
dpjudas
02305f02b9
Turn on the output limiter 2024-06-24 17:16:26 -04:00
Major Cooke
3e91d38582 Fixed Pre(Un)Morph being called out of order.
- This had broken several mods that relied on the inventory being in place before the switch, which was the intended way to begin with.
2024-06-24 10:37:12 -04:00
Major Cooke
5fc3d44ba5 Added SPF_ROLLCENTER for particles and visual thinkers. 2024-06-23 11:09:29 -04:00
Major Cooke
c56d70f2b1 Added SPF_(NO)FACECAMERA flagst for specifying camera facing on particles and visual thinkers.
- This also adds ensures facing camera is applied to these via the option menu.
2024-06-23 10:07:22 -04:00
nashmuhandes
2e4bf697b8 Add X, Y and Z offsets for VOXELDEF. Needed for voxelized weapons which would typically be very large and take up the majority of the 256x256x256 canvas, therefore making precise positioning of the models relative to the screen pretty much impossible without tweakable offsets. 2024-06-21 08:17:54 -03:00
nashmuhandes
13b9ffd6c8 Rename SourceRadius to SoftShadowRadius (to match VKDoom) 2024-06-15 10:00:39 -04:00
Ricardo Luís Vaz Silva
461c2f77b7 restrict new relaxed named arguments to zscript >= 4.13 2024-06-03 10:52:07 -03:00
Ricardo Luís Vaz Silva
20cf8befbf Rework named arguments
Now allows arguments to be in any arbitrary position, and allows required arguments to be named
2024-06-03 10:52:07 -03:00
Ricardo Luís Vaz Silva
87463ef36b Fix memory leak on TDeletingArray move assignment 2024-06-03 10:52:07 -03:00
Acts 19 quiz
c707b418ef Narrow the Launcher check box clickable areas to stop overlap and fix #2558 2024-05-27 20:15:51 -03:00
nashmuhandes
ae28eeae94 Scriptified the view squatting. 2024-05-26 21:06:20 -03:00
Boondorl
ab20b75c14 Added missing player retranslation
Play-scoped team changing function.
2024-05-26 20:31:50 -03:00
Boondorl
53270f0bc8 Added ChangeTeam function for teamplay
Also removes the TeamLibrary global since all it did was call what should've been static functions.
2024-05-26 20:31:50 -03:00
Boondorl
3d6e508d67 Network messages will now show usernames instead of just numbers
Gives more useful feedback as it's not obvious which node belongs to who.

Added line breaks to network messages for cases where a large amount of players are desynced.
2024-05-26 20:29:23 -03:00
Boondorl
d02f79d4be Added subclassing for use commands
Allows for finding subclasses when using the item commands that search the inventory. Can be either true/false or 0/1.
2024-05-26 20:29:01 -03:00
Kartinea
3bc54d3757 Fix invisibility affect on enemies
When performing the ShadowBlock check, we previously would return a nullptr actor if nothing was between the monster and the player.  This resulted in the monster aiming as if you didn't have invisibility.

Fall back to returning the target actor if it is shadowed but nothing is in between the two.
2024-05-22 22:25:18 +02:00
Rachael Alexanderson
cf8a04c457
- simplify squishing to square pixels for particles and rollsprites 2024-05-21 03:09:47 -04:00
Ricardo Luís Vaz Silva
ffbbe0a4c6 partial fix for FString::IsInt() 2024-05-20 16:08:13 -03:00
Jan Engelhardt
1dedcee739 Provide a diagnostic message for the two 32-bit related static_asserts 2024-05-18 07:48:20 -04:00
Xaser Acheron
6d8bee9316 don't show secret-flagged linedefs with special color on am_cheat 4 and above 2024-05-16 08:12:39 +02:00
Boondorl
da4752d7ec Fixed unmorphed Actors still ticking 2024-05-11 06:37:37 -04:00
Ricardo Luís Vaz Silva
9129f0121b Fix MacOS Compilation 2024-05-04 03:17:16 -04:00
Ricardo Luís Vaz Silva
1006d20c13 fix CheckParmList
seems like it was checking the second char for '+' instead of the first
2024-05-04 03:17:16 -04:00
Ricardo Luís Vaz Silva
c3ac4c9c38 Handle Extra Args 2024-05-04 03:17:16 -04:00
Ricardo Luís Vaz Silva
75c9b584ee Revert "- hide the additional parameters for now, this needs to be added in later"
This reverts commit fde6c863d1.
2024-05-04 03:17:16 -04:00
Rachael Alexanderson
35f5e0498e
- fix always show iwad box - don't show if queryiwad is false, or if -iwad parameter is used 2024-05-03 14:45:41 -04:00
Rachael Alexanderson
7ef6fa97a7
- make roll and flat sprites square 2024-05-03 14:32:53 -04:00
Rachael Alexanderson
bcad040fd3
- always show iwad picker, offer option for forks to hide picker by default. this commit was intentionally done in a way to cause merge conflicts so as to force fork maintainers to pay attention to the new option in version.h 2024-05-03 10:14:29 -04:00
Rachael Alexanderson
4bf2fb0ef8
- make particles square 2024-05-03 02:04:29 -04:00
Xaser Acheron
a6e1114d3c add mbf21 and mbf21 (strict) compatibility presets 2024-05-02 07:46:34 +02:00
Christoph Oelckers
370bec6c55 fixed GL nodes loader for maps loaded from mounted folders.
Due to how the reader  is created, READER_NEW will not work for it, it needs to force READER_CACHED.
2024-05-01 17:57:11 +02:00
Christoph Oelckers
3a5838c8f5 don't abort when parsing the Steam config fails. 2024-05-01 12:20:06 +02:00
Christoph Oelckers
6f2bc8379a strip spaces from language labels. 2024-05-01 11:58:30 +02:00
Christoph Oelckers
f2d582f680 fixed: The savegame's PNG loader must use a caching FileReader to avoid holding a handle to the containing file.
This blocked savegame deletion.
2024-05-01 09:50:19 +02:00
Christoph Oelckers
81dade9ed5 fixed: for deleting files and folders on Windows we have to call the Unicode variants of these functions. 2024-05-01 09:50:19 +02:00
Ru5tK1ng
3318e540b6 Added missing checking for LOOKALLAROUND. 2024-04-30 01:58:31 -04:00
Ricardo Luís Vaz Silva
c03f7889bf restore old fadestep behavior if SPF_NEGATIVE_FADESTEP is not passed in 2024-04-29 04:51:13 -04:00
Boondorl
48eb848433 Fixed ViewPos not properly backing up when predicting
Also now forcibly creates the object on players when they spawn so their pointer won't get lost when predicting.
2024-04-28 21:20:20 -03:00
Boondorl
929febdfb1 Fixed prediction not calling virtual Tick function 2024-04-28 21:20:04 -03:00
DyNaM1Kk
620d689038 Fixed "PrivateNetOf" function not checking for the entire B class private network range 2024-04-27 11:02:34 -03:00
Christoph Oelckers
45cf72ff48 fixed bad network ID assignment.
ClientNetIDStart was added twice here.
This was asserting when loading a savegame.
2024-04-27 11:57:22 +02:00
Christoph Oelckers
f7a15bc5f9 added emulation of Final Doom's teleporter z glitch and activate it for Saturnia MAP10 2024-04-27 10:46:29 +02:00
Boondorl
12d0c946f0 Reworked clientside lerping
Now acts as a rubberbanding effect. The result is that movement is now considered correct and adjusted towards the real position if not rather than cautiously moving towards the predicted position.
2024-04-26 20:56:12 -03:00
Boondorl
287277b1f8 Player spawn fix in co-op new games
If there aren't enough player spawns present in co-op, the game will instead fail to spawn extra players, waiting for the ticker to automatically capture the fact they have PST_ENTER. This presents a problem in WorldLoaded() where it becomes unreliable whether or not a player has truly spawned. This also means those extra players had slightly different spawn behavior compared to regular pawns.
2024-04-26 14:56:30 -03:00
Boondorl
f0aa0acf08 Fixed changeskill being unnetworked 2024-04-25 20:37:16 -04:00
Boondorl
ca95e18742 View fixes when predicting
View interpolation paths are now reset properly when predicting, fixing portals. Teleporters disabling view interpolation is now handled before every movement instead of only once at the start of predicting. Enabled FoV interpolation when playing online.
2024-04-25 17:19:27 -03:00
Boondorl
cf6bad97e8 Fixes for client network IDs
Fixed an off-by-one error on client IDs (these need to start at 1 as 0 is an invalid network ID). Morphing will now swap the client body's ID so it remains in the first 1 - MAXPLAYERS slots.
2024-04-25 14:08:31 -03:00
Boondorl
566e03da60 Fixed incorrect automap arrow position in multiplayer
This caused the player arrows to update at only 35Hz and for the console player's arrow it would lag behind when following.
2024-04-25 14:06:49 -03:00
Christoph Oelckers
7c9c7fa1f7 fixed: AActor's members must all be native.
The morph code added 4 scripted ones, but AActor's size must be known at compile time.
2024-04-25 18:15:47 +02:00
Boondorl
2b697d6c4c Interpolation fix for network prediction
This is a minor fix for interpolation when playing online as predicted movement was not properly having its prev data reset like a real tick would be. This resulted in jittery player sprites in third person.
2024-04-25 11:44:38 -03:00
Rachael Alexanderson
d9f03863bf
- make gcc14 happy 2024-04-25 02:37:51 -04:00
Rachael Alexanderson
586e89954a
- fixed: rollsprites now 'unstretch' properly in regular y-billboarding 2024-04-23 20:31:05 -04:00
Rachael Alexanderson
a3e61ce33b - -norun now implies -stdout on Windows as it's useless without it 2024-04-22 23:26:36 +02:00
nashmuhandes
29e103363e ZDRay specs fix 2024-04-22 10:17:07 -04:00
Christoph Oelckers
d45a4f18d4 fix lifetime of skyinfo variable in HWWall::SkyPlane. 2024-04-22 07:14:04 +02:00
Christoph Oelckers
a938e9c66c moved the NetworkEntityManager into the backend code. 2024-04-21 18:30:19 +02:00
Rachael Alexanderson
fde6c863d1
- hide the additional parameters for now, this needs to be added in later 2024-04-21 09:11:46 -04:00
Boondorl
b0137e50ee Exported FTeam getters 2024-04-21 04:44:54 -04:00
Christoph Oelckers
f2d7bbea99 Instead of going through a global callback function set the string table's default gender at the start of each frame
This will perform the CVAR lookup only once per frame, not once per string.
2024-04-21 10:35:56 +02:00
Christoph Oelckers
ebd4ebf298 StringTable cleanup and improvements
cleaned up function interface to avoid referencing the file system in the worker functions.
replaced StringTable's operators with functions.. The main reason is that these are far easier to look up when browsing the source.
This also fixes a premature translation in SBARINFO that was done in the parsing stage, not the printing stage.
2024-04-21 10:34:44 +02:00
Boondorl
f4a42dae1d Added pistol start gameplay option
Automatically resets the player's inventory and health when changing maps.
2024-04-21 03:21:08 -04:00
Rachael Alexanderson
d63d720d4c
- version g4.13pre 2024-04-21 02:59:39 -04:00
Boondorl
38f14ccd56
Tweaked net ID file management
Should now be easier to stub network entity functions for Raze.
2024-04-20 19:14:29 -04:00
Boondorl
8d0d130dc9
New API for assigning unique network ids to objects 2024-04-20 19:14:29 -04:00
Rachael Alexanderson
111fd48348
- stretch billboarding sprites properly according to the level's aspect ratio 2024-04-20 17:53:08 -04:00
Christoph Oelckers
f2d3275db5 convert leftover file to UTF-8 2024-04-20 10:38:58 +02:00
Kevin Caccamo
c03b272062 Fix some minor KEYCONV and VOC memory issues 2024-04-20 09:47:05 +02:00
Boondorl
06eee55671
Fix for Morph virtual
Allows class<MorphedMonster> to be used as an argument type in place of class<Actor> within the third argument for backwards compatibility.
2024-04-20 01:15:47 -04:00
Boondorl
bcd6c6170e
Reapply "Improvements to death and cheat handling"
This reverts commit c7bba2a126.
2024-04-20 01:15:46 -04:00
Ricardo Luís Vaz Silva
949cd5b746 Fix let ignoring const-ness 2024-04-19 13:28:18 -03:00
Rachael Alexanderson
7a1342188a
- add cvar cl_restartondeath - bypasses autoloading savegame when pressing +use after dying - added https://github.com/ZDoom/gzdoom/issues/1563 2024-04-18 04:51:38 -04:00
Rachael Alexanderson
4a80e26ab2
- fix #2248 as suggested in the ticket - fix missing include in FreeBSD 2024-04-18 04:27:41 -04:00
Rachael Alexanderson
558bd4674d
- handle dsda namespace like zdoom in udmf 2024-04-18 03:18:56 -04:00
Rachael Alexanderson
8fe58db311
- allow A_SetCrosshair(-1) to hide the crosshair for effects such as custom scopes 2024-04-18 03:16:38 -04:00
Christoph Oelckers
3d57170e69 removed TObjPtr's constructors that were reinstated for unknown reasons.
This class needs to be constructor-less so that even GCC accepts it as trivial.
2024-04-18 07:09:55 +02:00
Boondorl
b20f09a910 Fixed A_OverlayPivotAlign using bitwise or instead of assigning 2024-04-18 01:08:46 -03:00
Ricardo Luís Vaz Silva
9af3d54a19 Fix Decoupled Animation Crash, Interpolation Bugs, Simplify Interpolation code 2024-04-17 21:38:27 -03:00
Ricardo Luís Vaz Silva
1c3764ec89 remove copying from CreateTexBuffer 2024-04-17 20:35:49 -04:00
Ricardo Luís Vaz Silva
3b6c8349da do the same for paletted and rgb textues 2024-04-17 20:35:49 -04:00
Ricardo Luís Vaz Silva
74e9d575e8 store YUV and VPX directly as BGRA to speed up animation 2024-04-17 20:35:49 -04:00
Ricardo Luís Vaz Silva
64ffe9b97b skip frames when playing back IVF to prevent desyncs 2024-04-17 20:35:49 -04:00
Ricardo Luís Vaz Silva
5b2673f469 add 444/422/440 support to vp9, remove extra copy of image data 2024-04-17 20:35:49 -04:00
Sean Baggaley
06566c010b Add support for the VP9 codec in the IVF container 2024-04-17 20:35:49 -04:00
Chris Robinson
f12bf069f0 Allow larger denominators for IVF movies 2024-04-17 20:24:10 -04:00
Nash Muhandes
6226f03bb4
Update and correct ZDRay-related stuff in the specs and also in the n… (#2503)
* Update and correct ZDRay-related stuff in the specs and also in the namedef table

* Fix compile error
2024-04-17 18:53:46 -04:00
Rachael Alexanderson
178896d6fb
- am_overlay turns off the overlay when set to zero 2024-04-17 18:32:46 -04:00
Rachael Alexanderson
c7bba2a126
Revert "Improvements to death and cheat handling"
This reverts commit 3033fafaa7.

Revert "Improved ZScript interface for morphing"

This reverts commit 6c64a4403c.

Revert "Further morphing clean up"

This reverts commit 12dc5c1506.

Revert "Fixed inconsistencies between player and monster morphing"

This reverts commit 30730647fe.

Revert "Reworked Morphing"

This reverts commit 2c09a443b4.

- fix compile
2024-04-17 17:55:24 -04:00
Rachael Alexanderson
253d668222
- this function still was needed by raze, keep it for now 2024-04-17 15:19:03 -04:00
Rachael Alexanderson
ef10467ff8
- revert changes in backend code which will not sync properly with raze
This is a combination of 2 commits.

Revert "New API for assigning unique network ids to objects"

This reverts commit e37c19b5b4.

 This is the commit message #2:

Revert "Fix for Morph virtual"

This reverts commit 0ef042562e.
2024-04-17 14:48:02 -04:00
Ricardo Luís Vaz Silva
7c93cfa97b Decoupled Animation fixes and improvements
* fixes looping that uses `loopFrame`
* adds `endFrame`
* adds `SAF_NOOVERRIDE`
* fixes crash on SetAnimation if a BaseFrame isn't defined
2024-04-16 20:27:44 -03:00
Boondorl
f2072cec95 Fixes for spawn farthest DM option
No longer picks a random spot on the first spawn but will account for players spawning in sequentially. No longer fails to return a spawn spot if every player is dead while respawning (instead it picks a random one).
2024-04-16 07:04:59 +02:00
Magnus Norddahl
140ad88003
Embed libwebp and remove it from vcpkg since the package broke over night (GGs package managers) 2024-04-11 13:59:59 -04:00
Ricardo Luís Vaz Silva
f0b96bff00 further fix mouse visibility 2024-04-11 07:18:43 +02:00
Ricardo Luís Vaz Silva
97effb9047 fix mouse cursor randomly becoming invisible outside gzdoom 2024-04-11 07:18:43 +02:00
Professor Hastig
6777423d23 fix bad assert in GetStateLabelIndex. 2024-04-08 19:14:08 +02:00
Professor Hastig
0c5780cc41 added missing file size validation in the voxel loader, anything below 772 bytes cannot be a valid KVX file. 2024-04-08 12:54:30 +02:00
Professor Hastig
f796e55c0d initialize lightmap pointer in ProcessLowerMiniseg. 2024-04-08 12:54:07 +02:00
Rachael Alexanderson
7a43d7f78d - multiply frame measurement by 2.0 to at least divide the total frame render time by half during the load screen 2024-03-30 12:14:07 -04:00
Rachael Alexanderson
a1bdc0582c - slow down frame updates for the start screen for slower GPU's, since this can increase loading time significantly 2024-03-30 12:14:07 -04:00
Boondorl
29a2ca0b13 Added co-op option to remember last used weapon when respawning 2024-03-28 15:48:56 -04:00
Boondorl
3e939b0ec1 Update quake radii from int -> double
Also enables static portal-aware distance checks as cam view offsets will now properly go through them when shaking
2024-03-28 15:48:45 -04:00
Boondorl
96594e0f34 Updated explosion distances from int -> double 2024-03-28 15:48:35 -04:00
Boondorl
442ac3f78b Updated substitution logic to only replace pointers if safe 2024-03-28 15:48:23 -04:00
Ricardo Luís Vaz Silva
e85ec240bf Store type together with pointers to allow safe substitution 2024-03-28 15:48:23 -04:00
Boondorl
6b7065899d Added interpolation to view position 2024-03-28 15:48:05 -04:00
Magnus Norddahl
e8d8dde283
Ignore vid_maxfps when vsync is enabled.
Increase vid_maxfps to 500 as modern computers have monitors in the 240-500 hz range now.
2024-03-28 02:56:29 -04:00
Ricardo Luís Vaz Silva
682dd1b22d Can't narrow down the JIT bug yet, so block JIT for functions that call Function Pointers temporarily 2024-03-22 13:28:02 -03:00
Ricardo Luís Vaz Silva
071b5c5180 fix argument pointer wrapping in function pointers 2024-03-22 13:28:02 -03:00
Kyle Evans
b1f53e7eb5 src: filesystem: move includes out of the FileSys namespace
The previous situation is unfortunately not sustainable; header pollution
isn't consistent across all non-Windows platforms.  As a result, some of
the earlier includes may pull functions/types into the global namespace too
soon, and the later includes will have no visibility of them because they're
in a different namespace.  Re-including the necessary one doesn't work
because include guards will prevent their re-inclusion, and it's not a good
idea to try and #undefine include guards now that we're in a new namespace.

This fixes the build on FreeBSD, and likely some other systems as well.
2024-03-17 22:00:00 -04:00
Ricardo Luís Vaz Silva
458d81cede Make TArray take functions by forward-reference and call them by invoke
(1. avoids copying for lambdas, and 2. allows passing methods)
2024-03-17 18:07:50 -03:00
Ricardo Luís Vaz Silva
ce479e09ff Fix A_ChangeModel serialization
I overlooked this part on my first A_ChangeModel fix
2024-03-17 18:07:50 -03:00
Ru5tK1ng
631eb5847b Use fromDeg for angle of 0. 2024-03-17 21:03:54 +01:00
Ru5tK1ng
e62651e3cf Fixed: A_LookEx did not account for the +LOOKALLAROUND flag. 2024-03-17 21:03:54 +01:00
Ricardo Luís Vaz Silva
caa4728bd4 Export A_DoChase to zscript and make A_Chase a direct native function 2024-03-17 21:02:52 +01:00
Rachael Alexanderson
7f8ce13d24
- add missing include for macos 2024-03-17 00:58:24 -04:00
Rachael Alexanderson
c73ec97027
- accidentally added erroneous quotes to the last commit 2024-03-16 23:22:42 -04:00
Rachael Alexanderson
1e2a491f9e
- don't show path if longsavemessages is false. fixes https://github.com/ZDoom/gzdoom/issues/2467 2024-03-16 22:58:29 -04:00
Ricardo Luís Vaz Silva
cc88dfbe50 Unrevert two changes
* Sorted Delete for TArray
* Typed constructor for TObjPtr
2024-03-15 17:21:59 -03:00
Ricardo Luís Vaz Silva
0092aa0772 Fix crash with DecoupledModels flag defined but no actual model 2024-03-15 21:08:59 +01:00
Christoph Oelckers
520b960ca5 Reverted the path node system
Code reviews were unfavorable so better nix it before it finds wider use.
2024-03-15 20:24:39 +01:00
Ricardo Luís Vaz Silva
c9e678b60e
Fix missing newlines in animation messages 2024-03-15 14:33:17 -03:00
Major Cooke
fe0de5053a - Fixed: ROLLCENTER was always being applied even when the flag wasn't present. 2024-03-15 01:17:19 -03:00
Ricardo Luís Vaz Silva
341c1bbede Fix crash with DecoupledModels flag defined but no actual model 2024-03-14 18:52:04 -03:00
Major Cooke
6d99395b68 - Fixed: Fear checks were incorrect when accounting for player being present or not. 2024-03-13 15:40:24 -03:00
Major Cooke
4682b7172e Fixed typo 2024-03-13 13:12:09 -03:00
Major Cooke
f081ef1850 Enhanced pathing for floaters
Their checks are now 2D instead of 3D.
2024-03-12 18:09:02 -04:00
nashmuhandes
0d9855cfe7 Expose LandingSpeed to ZScript. This controls the minimum Z velocity from falling down that's needed to "squat" the player's view (defaults to -8). 2024-03-12 18:08:42 -04:00
Boondorl
730ef1a23a Adjusted view angle interpolation
Now uses deltaangle to get the shortest interpolation path for angles.
2024-03-10 13:48:25 -03:00
Boondorl
0ef042562e Fix for Morph virtual
Allows class<MorphedMonster> to be used as an argument type in place of class<Actor> within the third argument for backwards compatibility.
2024-03-08 20:10:40 +01:00
Major Cooke
05167fd4ef Missed this one. 2024-03-05 13:44:38 -05:00
Major Cooke
d71af3683a Clear the path instead of advancing the node when crossing portals.
- If an actor crosses back over a portal because they're blocked, it will result in false positives.
- Fixed nodes not being targeted for aim direction.
2024-03-05 13:44:38 -05:00
Major Cooke
257ddb520a Extra safety checks. 2024-03-05 13:44:38 -05:00
Major Cooke
79fb3dfd31 Implemented KEEPPATH flag. 2024-03-05 13:44:38 -05:00
Major Cooke
69001ad4f7 Added ExcludeNode virtual for actors to reject certain nodes of choice.
- Changed MeleeRange to FriendlySeeBlocks so it's supported by Doom Builder.
2024-03-05 13:44:38 -05:00
Major Cooke
81ebd8c8c4 More progress.
- AMBUSH flag on nodes makes them blind and untargetable when getting `startnode` and `goalnode` for `FindPath()`. This is useful for indicating a node should be skipped when tele/portaling, so the current path can be preserved.
- Setup is simple: place nodes behind lines that tele/portal entities and mark them as AMBUSH.

Other changes:

- Restored global array since blockmap is not a viable option here.
- Added MAPINFO `pathing` flag which enables pathing by default.
- Added NOPATHING flag to disable pathing entirely, useful for maps that have pathing enabled.
- Added `ReachedNode(Actor mo)` virtual, responsible for handling node traversal.
- Nodes now make use of MeleeRange to limit their sight checking functions.
2024-03-05 13:44:38 -05:00
Ricardo Luís Vaz Silva
ad52e2cc1e AStar 2024-03-05 13:44:38 -05:00
Ricardo Luís Vaz Silva
3348822390 ... 2024-03-05 13:44:38 -05:00
Ricardo Luís Vaz Silva
cc51b486e0 TArray Binary Search 2024-03-05 13:44:38 -05:00
Major Cooke
b2cb4b0a6d Begin adding PathNodes. 2024-03-05 13:44:38 -05:00
Boondorl
3033fafaa7 Improvements to death and cheat handling
Extra safety to ensure dummy Actor deaths properly emulate a real death and aren't duplicate called. Fixed a crash when using the kill command while set to unmorph on death. Super morphing is now possible while using the morphme cheat if passing the morph class directly. Added a flag to ignore player invulnerability completely when morphing.
2024-03-01 08:35:31 -05:00
Boondorl
12dc5c1506 Further morphing clean up
Players will now use their Alternative field to check if they're morphed instead of their MorphTics. This makes the current state of morphing more reliable, otherwise setting this to 0 manually without unmorphing could have very odd results. Both monsters and players consider 0 morph time to mean infinite now (previously this only applied to monsters). Player unmorphs no longer die in the case of a failed unmorph on death. Removed inventory swapping on player pointer substitution as it's too messy to do here.
2024-03-01 08:35:31 -05:00
Boondorl
30730647fe Fixed inconsistencies between player and monster morphing
The Tome of Power and Chaos Device will now work on non-players. The STAYMORPHED flag will now work on players.
2024-03-01 08:35:31 -05:00
Boondorl
2c09a443b4 Reworked Morphing
Removed StaticPointerSubstitution in favor of a much safer function that only changes select pointers. As a result the ability to properly modify morphing has been opened back up to ZScript. Many missing virtual callbacks were amended and MorphedDeath has been reworked to only be called back on an actual morphed death. MorphedMonster is no longer required to morph an Actor. CheckUnmorph virtual added that gets called back on morphed Actors. Fixed numerous bugs related to morph behavior.
2024-03-01 08:35:31 -05:00
Boondorl
b469770ecc Reworked view offsetting
View offsets are now added after the base position and angles (accounting for interpolation) are calculated. Behavior was centralized into a singular tracer that all view offsets now use to prevent clipping out of the map. Cleaned up camera rendering behavior. Angles are now properly normalized after all offsetting is accounted for. The chase cam can now update in real-time instead of forcing interpolation.
2024-03-01 07:10:26 -05:00
Rachael Alexanderson
08a093ffda
- merge pull request https://github.com/ZDoom/gzdoom/pull/1577/files 2024-03-01 05:56:15 -05:00
Christoph Oelckers
ef4c4ee503 fixed resource leak in OpenDecompressor 2024-02-27 07:20:40 +01:00
RaveYard
205d4b5ff3 Support negative fadestep for particles 2024-02-27 07:03:16 +01:00
Rachael Alexanderson
47be9c1e54
- fix https://github.com/ZDoom/gzdoom/issues/2415 - wait to call V_Init2() until after exec commands are processed 2024-02-26 13:55:54 -05:00
Boondorl
49cac88c12 Improvements to Network Commands/Buffers
Fixed a memory leak in DNetworkBuffer. Added native function support to FNetworkCommand and DNetworkBuffer. Exposed EndOfStream() for FNetworkCommand.
2024-02-26 06:23:25 -05:00
Boondorl
e37c19b5b4 New API for assigning unique network ids to objects 2024-02-26 06:23:12 -05:00
Boondorl
4d1590ad82 Fixed view position forcing camera interpolation
Fixed absolute view position not working. Camera Actor is no longer visible when using view offsets.
2024-02-26 06:47:05 +01:00
Boondorl
a1a916a823 Added real-time client camera tracking for texture cams 2024-02-24 17:57:53 +01:00
Boondorl
e4ea5ad307 Fixes for SCALEDNOLERP
No longer relies on last input fraction to determine offset on frame (now uses TicFrac). No longer modifies Actor angle in real-time. Fixed offsetting breaking when other viewports are being renderer.
2024-02-23 22:44:18 +01:00
Ricardo Luís Vaz Silva
d848a57bac Fix readonly for SpecialBounceHit virtual 2024-02-23 07:07:56 +01:00
Magnus Norddahl
144caa0902
Fix precache unload bug in FHardwareTextureContainer::UnmarkAll 2024-02-19 06:45:30 -05:00
Magnus Norddahl
c9612b0cab
Fix memory leak due to IHardwareTexture forward declaration 2024-02-19 06:45:18 -05:00
Ricardo Luís Vaz Silva
bc26c54b15 Fix readonly native structs 2024-02-17 07:23:00 +01:00
Rachael Alexanderson
d8ef27e0ed
Squashed commit of the following:
commit ad25b50089b6e01b8e4291e34cfe3a008af9128d
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 12:12:46 2024 -0500

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

    This reverts commit d2c2c93cf1.

commit 8537f0d8db804f0076b90daa66b750e44dccf44c
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 12:12:41 2024 -0500

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

    This reverts commit dc897eacc0.

commit d45f6ebf11f31d246f2de4f3bbd11f7970783125
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 12:10:21 2024 -0500

    Revert "Restored r_orthographic behavior."

    This reverts commit 26908f5bc5.

commit be0836feef9b95f12828eeed4319c726ef13780d
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 12:09:15 2024 -0500

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

    This reverts commit 08b03e6b19.

commit 688288a9199b912203022cb4db37503f6270e0c3
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 12:09:06 2024 -0500

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

    This reverts commit d3405837ce.

commit 72b7df9fa1841d665c2846dd31a89c6f48123e55
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 12:08:59 2024 -0500

    Revert "Restored r_orthographic behavior."

    This reverts commit e171f4eb6a.

commit aa954132bf29f2f8a51bf09dae127e5ffe2c5670
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 12:08:48 2024 -0500

    Revert "Merged with latest master and made small change (zcenter -> center.Z) to hw_sprites.cpp. Now compiles and works."

    This reverts commit c8a7507e8e.

commit 3ce90e87a3a9956b615995b57b90619e89bbcff4
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 12:00:46 2024 -0500

    Revert "Cleaning up implementation of isometric camera with optional orthographic projection."

    This reverts commit 25f1407228.

commit 3aafd363e40c8d1d2ebbe3c61aeb2b80a74e565a
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 11:59:25 2024 -0500

    Revert "Small change to SpectatorCamera actor."

    This reverts commit 2b555d7556.

commit a41911f8907731c098de71ca3e14261ac432ec8c
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 11:59:16 2024 -0500

    Revert "SpectatorCamera can now follow the 'tracer' actor. Also added a 'lagdistance' property for lazy follow."

    This reverts commit 7fbb4cd06c.

commit 19398edd065b7b483b8c7be42cb16026695e241a
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 11:59:05 2024 -0500

    Revert "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."

    This reverts commit c3ca564cfc.
2024-02-09 12:15:17 -05:00