Mitchell Richters
6629944d39
- Make the new scaled angle changes at frame rate opt-in behind new flag SPF_SCALEDNOLERP.
...
* This will still test whether the game needs to lerp and will force `SPF_INTERPOLATE` if needed.
2022-12-04 15:11:17 +01:00
Mitchell Richters
cf1ac82da3
- Set up interpolated camera angle changes to occur at framerate when all conditions in P_NoInterpolation() are met.
2022-12-04 15:11:17 +01:00
Mitchell Richters
20bf9e89f5
- Split insane interpolation test if statement into a function, we'll need this elsewhere later on.
2022-12-04 15:11:17 +01:00
Mitchell Richters
9f9c1eb18a
- Make view angles interpolate on a separate flag to the one that forces interpolation for the entire frame.
...
* As view angles are an offset, there's no reason why these cannot lerp separately.
2022-12-04 15:11:17 +01:00
Ricardo Luís Vaz Silva
cd46f97dcc
Structified A_SpawnParticle/Ex
2022-12-03 23:54:52 +01:00
Ricardo Luís Vaz Silva
f666edc60c
Allow Disabling of XY Billboard for Particles
2022-12-03 23:27:46 +01:00
Shiny Metagross
169139c22c
Fixed A_Changemodel crash from invalid modeldef names
...
- Invalid modeldef names no longer result in a crash
https://forum.zdoom.org/viewtopic.php?t=76810
2022-11-30 18:26:26 +01:00
Christoph Oelckers
65a26d6779
- removed the string constructors from FSoundID.
...
Due to C++ conversion rules this was a bit too volatile. There's really not enough places where being able to pass a string directly into the sound API was beneficial - the two most frequent functions now got overloaded variants.
2022-11-24 23:52:52 +01:00
Christoph Oelckers
b89c4affae
- removed the string assignment operators.
...
These all caught literal 0's as well
2022-11-24 23:52:52 +01:00
Christoph Oelckers
d173c0453c
- handle all remaining places of sound ID conversions after removing the conversion operators.
2022-11-24 23:52:52 +01:00
Christoph Oelckers
160633a4a2
- migrate a large part of the sound code to FSoundIDs.
...
This has always been a wild mixture of IDs and ints.
2022-11-24 23:52:52 +01:00
Christoph Oelckers
7e8de9d1ba
- made more use of FSoundID.
2022-11-24 23:52:52 +01:00
Major Cooke
a483ad20be
Replaced memset for particles as recommended by dpJudas
2022-11-13 21:02:59 +01:00
Major Cooke
f044695d28
Future-proof particles by resetting them completely when replaced.
2022-11-13 21:02:59 +01:00
UnizoneDev
a21d0c70e4
Mark the PushSound property as meta
2022-11-13 07:38:07 +01:00
UnizoneDev
b66433478c
Simplify sliding objects for now
2022-11-13 07:38:07 +01:00
UnizoneDev
9af664d117
Add PushSound property and Slide state
...
First Commit, hip hip hooray!
2022-11-13 07:38:07 +01:00
Major Cooke
2a9e28d949
Added PS_REPLACE flag for A_SpawnParticle(Ex).
...
- When used, new particles that spawn when the limit is reached will replace the oldest particle.
2022-11-12 09:13:37 +01:00
Boondorl
aea346f1f3
Improved Slam functionality:
...
*Added ONLYSLAMSOLID flag to ignore non-solid Actors that aren't shootable while SKULLFLY is on.
*Added Slam state that gets entered when slamming an Actor.
2022-11-10 22:55:43 +01:00
Yukita Mayako
15e00f22e8
Normalize angle in AngleToACS
...
Fixes GetActorAngle returning negative or large values with no range limit.
2022-11-10 07:20:28 +01:00
Christoph Oelckers
4ebcff8573
- remaining changes for moving bone data to the backend
2022-11-06 10:59:33 +01:00
Christoph Oelckers
0828184055
- did some cleanup on the statistics code.
2022-11-05 12:11:36 +01:00
Christoph Oelckers
72aa6fe3b8
- did some cleanup on p_mobj.cpp
...
* deleting some unused code
* turned several class methods into static local functions in cases where they never were used outside this file.
* inlined the dangerous assignment operator in the only place where it was used.
2022-11-05 12:00:43 +01:00
Christoph Oelckers
b8821eb6da
- declare C++ class AActor as final.
...
This is not supposed to be inherited from anymore so let's take this optimization opportunity.
2022-11-05 10:46:25 +01:00
Christoph Oelckers
435e7dddcd
- fixed: P_SpawnMapThing may not call playsim code.
...
There was one special case allowing to let an actor die on spawn, but this could call script code on an incompletely set up map which resulted in crashes.
2022-11-05 09:43:06 +01:00
Ricardo Luís Vaz Silva
7d81417829
Particle Rolling
2022-11-01 22:30:16 +01:00
Ricardo Luís Vaz Silva
b6202ffc4c
Add Textured Particles
2022-11-01 21:25:31 +01:00
Shiny Metagross
bea6d2434e
Update p_actionfunctions.cpp
2022-10-31 11:34:55 +01:00
Shiny Metagross
f7c3615d3b
IQM Refactor Milestone
...
- Removed bone manipulation code
- Implemented an index in calculateBones to optimize multi-armature actors
- Moved the bone storage object's creation to RenderModels so that the armature array can be sized there
2022-10-31 11:34:55 +01:00
Shiny Metagross
7092971331
Bone manipulation updates
...
- Factored in parent bone rotations to check if a bone needs updating
- Implemented multiply Quaternion functions to TVector4
- Converted Euler rotations in A_ManipulateBone to degrees
2022-10-31 11:34:55 +01:00
Shiny Metagross
28444d4cfd
Bone manipulation start
...
- Bone manipulation is largely finished, but I need to figure out how to multiply quaternions
2022-10-31 11:34:55 +01:00
Shiny Metagross
3f3cc5bbc3
IQM Refactor start
...
- Refactored IQM and calculateBones to process TRS at runtime which resolves some of the faulty animations with large rotations. Will also make bone manipulations much easier to do
2022-10-31 11:34:55 +01:00
c36da35e37
Fix inconsistent distance and hit position on traces that skip everything.
...
As it currently stood, only traces that never found anything in traversal had their distance and final position corrected.
Meanwhile, traces that skipped everything would return the distance and position of the last thing they crossed instead.
This change makes both cases consistent by "filling out" the remainder of the trace line for the latter.
2022-10-30 15:20:01 +01:00
Christoph Oelckers
4ce0ef41b5
- made DMover and subclasses non-abstract so they can be inherited from.
...
This is needed for interpolated custom floor/ceiling movers.
2022-10-26 17:45:02 +02:00
Christoph Oelckers
671b8696bb
- made CVar declarations type safe again.
2022-10-22 09:29:38 +02:00
Christoph Oelckers
ef887403cf
- marked a few Printf calls in critical error paths as PRINT_NONOTIFY.
2022-10-20 23:55:29 +02:00
Christoph Oelckers
4686d10f41
- zero the velocity of crunched sprites.
...
Since their size is zeroed, they are no longer subject to collision detection and may slide out of the level otherwise.
2022-10-20 17:12:43 +02:00
Christoph Oelckers
b6c5232fea
- try to keep the engine stable for as long as possible if a VM exception occurs in OnDestroy while running a cleanup.
...
This will still crash, but run long enough for the exception message to be visible.
2022-10-20 17:12:43 +02:00
Christoph Oelckers
54e0201204
- added vanilla donut handling to compat_floormove.
2022-10-20 17:12:43 +02:00
Christoph Oelckers
457b9b71d9
- disable the native part of coronas as well.
2022-10-20 07:50:53 +02:00
inkoalawetrust
29421e6975
Added QF_SHAKEONLY
...
The QF_SHAKEONLY flag changes the behavior of earthquakes with a damage radius, so that they only shake actors around, without also harming them.
2022-10-19 22:50:50 +02:00
inkoalawetrust
457ad97553
Added QF_AFFECTACTORS.
...
The QF_AFFECTACTORS flag makes the thrusting and harming of damaging earthquakes also affect monsters. Monsters with DONTTHRUST will not be flung around by earthquakes.
2022-10-19 22:50:50 +02:00
inkoalawetrust
05a5a4be51
Added the QF_GROUNDONLY flag.
...
The QF_GROUNDONLY flag makes earthquakes only shake the player while they are standing on the ground.
2022-10-19 22:50:50 +02:00
Shiny Metagross
5670e6f54c
Some of the to-dos
...
- Implemented Animation parameters for A_ChangeModel
- Made a modeldef flag to treat additional model indices as just attachments, meaning they will use armature data from index 0
- Fixed an issue with A_ChangeModel where generated indices lower than smf frame amounts could not actually generate anything
2022-10-19 22:48:57 +02:00
Christoph Oelckers
8aaab153fa
- add a system interface for CheckCheatmode and moved some sound code to the backend.
2022-10-02 16:48:56 +02:00
inkoalawetrust
69b9f107f0
Added support for BLOCKLANDMONSTERS in Line_SetBlocking.
...
This PR was written by MrRaveYard
2022-09-28 07:56:12 +02:00
inkoalawetrust
502c9fef5c
Added APROP_FriendlySeeBlocks to Set/GetActorProperty
2022-09-24 16:44:11 -04:00
Christoph Oelckers
175c91308a
- move BobSin to game side.
2022-09-04 09:01:57 +02:00
inkoalawetrust
664ccf8a7c
- fix bug with 06ee21c51d - if (!pl) should always return false
2022-09-03 19:06:46 -04:00
Rachael Alexanderson
ca6a2152b9
- add freezetics actor property
2022-09-03 17:58:16 -04:00