Commit graph

603 commits

Author SHA1 Message Date
RaveYard
a4c98d8dd9 Add RADF_CIRCULARTHRUST and matching XF_/RTF_ flags 2024-09-29 17:56:41 -04:00
jekyllgrim
994078feae Added FloatBobFactor
This adds a new actor property: `FloatBobFactor` (default 1.0). This will be a multiplier for level.time in `AActor::GetBobOffset`, which finally allows to control not only the range of float bobbing (which is FloatBobStrength) but also the frequency of bobbing.
2024-09-29 16:08:02 -04:00
Rachael Alexanderson
89ce70fd0b - implement SPAC_Walking, mostly useful for teleports or for line crossings that should not happen when the player is falling or flying
- update UDMF spec entry
2024-09-29 16:06:36 -04:00
Rachael Alexanderson
2c25cc1d9b
- well ... this was a lil redundant 2024-09-28 15:56:42 -04:00
Boondorl
8c10ac6f38 Added GetDecalName() 2024-09-24 23:38:43 -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
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
Boondorl
0d43272c8f Allow for Basic and Hexen armor replacing 2024-08-17 01:14:07 -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
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
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
Ricardo Luís Vaz Silva
35f66c5cc2 add COMPATF2_NOACSARGCHECK to disable ACS function argument count checks 2024-06-24 17:23:08 -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
ae28eeae94 Scriptified the view squatting. 2024-05-26 21:06:20 -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
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
Jan Engelhardt
1dedcee739 Provide a diagnostic message for the two 32-bit related static_asserts 2024-05-18 07:48:20 -04:00
Boondorl
da4752d7ec Fixed unmorphed Actors still ticking 2024-05-11 06:37:37 -04: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
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
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
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
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
8d0d130dc9
New API for assigning unique network ids to objects 2024-04-20 19:14:29 -04:00
Boondorl
bcd6c6170e
Reapply "Improvements to death and cheat handling"
This reverts commit c7bba2a126.
2024-04-20 01:15:46 -04: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
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
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
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