Ricardo Luís Vaz Silva
61d68eb2d6
Rewrite changed model rendering code, and change how model skins are handled
2023-06-26 00:36:36 -04:00
Ricardo Luís Vaz Silva
b55ffdbfd3
major A_ChangeModel cleanup
2023-06-26 00:36:36 -04:00
Ricardo Luís Vaz Silva
7dda6570ec
remove memory leak in A_ChangeModel
2023-06-26 00:36:36 -04:00
Ricardo Luís Vaz Silva
1589afb46e
Add Voodoo Zombie Compatflag
2023-05-14 08:14:47 +02:00
Christoph Oelckers
cffe67dcee
- fixed a few warnings pointed out by GCC.
2023-03-26 10:35:33 +02:00
Christoph Oelckers
47b76180d6
- fixed several warnings emitted by Clang.
2023-03-26 08:48:54 +02:00
RaveYard
c041b437e1
Use simpler constructor for TArray in FBlockThingsIterator
2023-03-19 16:11:07 +01:00
Rachael Alexanderson
4475240da8
- rename the flags MNOTVISIBLE and VISALWAYSFAIL to MINVISIBLE and MVISBLOCKED respectively, to reflect what they really do
2023-02-15 11:51:48 -05:00
Rachael Alexanderson
ee18123f01
- check VISALWAYSFAIL against SF_IGNOREVISIBILITY
2023-02-15 10:47:31 -05:00
Rachael Alexanderson
45f67bdd50
- add +VISALWAYSFAIL flag
2023-02-14 23:14:35 -05:00
Rachael Alexanderson
8af2f5aaf6
- add +mnotvisible flag as per feature suggestion: https://forum.zdoom.org/viewtopic.php?t=77277
2023-02-13 13:32:44 -05: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
Ricardo Luís Vaz Silva
5e464d3e93
expose WallMask and ignore actor, allow disabling Actor Tracing for LineTracer::Trace
2023-01-14 11:33:22 -05:00
inkoalawetrust
458142eb8b
Added flags to SetPlayerProperty.
...
Added all of the missing player cheats to the SetPlayerProperty special.
2023-01-14 11:32:21 -05:00
inkoalawetrust
6f4a29b5e5
Added APROP_WaterDepth.
2023-01-14 11:31:22 -05:00
Major Cooke
aed72f58f3
Converted A_Quake(Ex) intensity parameters from ints to doubles.
2023-01-14 11:30:00 -05:00
Rachael Alexanderson
cb3662dc24
- fix nullptr crash
2023-01-11 13:33:02 -05:00
Boondorl
769796800d
Minor tweaks to no player clipping
2023-01-09 12:31:08 -05:00
Rachael Alexanderson
af0f84183a
- fix a few errors in last commit
2023-01-09 12:02:41 -05:00
Rachael Alexanderson
5aba0c144c
- optimize P_ShouldPassThroughPlayer checks - move down in the check list, move thing->player check out of the function
2023-01-09 11:53:24 -05:00
Rachael Alexanderson
9777cfd500
- change P_ShouldPassThroughPlayer to static inline to improve performance on repeated calls
2023-01-08 22:12:37 -05:00
nashmuhandes
2fa2533982
- enable DM support for sv_noplayerclip
...
- fixed voodoo dolls with sv_noplayerclip
- fixed autoaim working incorrectly with sv_noplayerclip
2023-01-08 22:55:10 +08:00
nashmuhandes
3d6cc47dc1
Add sv_noplayerclip to allow players to walk through and shoot each other (only in coop)
2023-01-08 19:10:49 +08:00
Marisa the Magician
0e5c6e37b1
Prevent important messages from being accidentally filtered.
2023-01-04 17:54:09 +01:00
Boondorl
0d23816179
Added FlyBob Multiplier for Player
2023-01-02 08:14:24 +01:00
Boondorl
73159dac3e
Added WaterClimbSpeed Property to Players
2023-01-02 08:13:13 +01:00
CandiceJoy
269431575b
Fixed implicit cast from bool to double.
2022-12-26 16:45:54 -05:00
CandiceJoy
7b9a36c8fd
Fixed the ACS PLAYERINFO_FVIEWBOB to be a bool instead of a double.
2022-12-20 00:58:30 -05:00
Boondorl
0d4d5587b5
Added FOV Interpolation
2022-12-18 08:23:19 +01:00
Rachael Alexanderson
b08295e7e1
- fix spacing
2022-12-16 20:40:05 -05:00
CandiceJoy
0fdb740ac7
Added toggle control for weapon bob while flying
2022-12-16 17:12:03 -06:00
Ricardo Luís Vaz Silva
46d36cf5c7
add BobWeapon3D
2022-12-09 21:49:38 +01:00
Boondorl
9a1e666303
Exposed Box and PointOnLineSide
2022-12-08 20:33:11 +01:00
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
Marisa the Magician
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
Rachael Alexanderson
06ee21c51d
- allow notification of actor goal is reached inside of a SECF_NOATTACK sector
2022-09-03 17:37:48 -04:00
Christoph Oelckers
ed5287ef23
- added Q16 and Build angle converters to TAngle
...
To have full coverage. Q16 is what ACS uses and Build angles are needed in Raze.
2022-08-26 18:09:39 +02:00
Christoph Oelckers
4032576519
- blocked off direct access to TAngle’s internal storage.
2022-08-26 18:09:29 +02:00
Christoph Oelckers
3d2578820b
- block direct comparisons of TAngle with floats
2022-08-26 18:01:52 +02:00
Christoph Oelckers
f0fbdba593
- disable implicit conversions from float to TAngle
2022-08-26 18:01:26 +02:00
Christoph Oelckers
4bdb8edea6
- removed redundant argument.
2022-08-18 00:06:40 +02:00
Christoph Oelckers
a2369b945c
- fixed custom obituary lookup.
2022-08-17 21:35:59 +02:00
Christoph Oelckers
e27e3453f9
- fixed obituary string generation
2022-08-12 21:24:09 +02:00
Christoph Oelckers
1b43575580
- new method to define obituaries without modifying actors.
...
Adding strings to the language file named OBITUARY_{classname}_{damagetype} or OBITUARY_{classname} will now be detected automatically and override all other definitions.
This not only allows damage type aware obituaries but also makes it easier to retroactively add them to mods that have none defined.
2022-08-11 23:46:09 +02:00
nashmuhandes
50d16c75d9
Add corona actor
2022-08-11 20:38:24 +08:00
Shiny Metagross
9ab6557822
A_ChangeModel now has generatorIndex
...
- To really take advantage of this function, I thought it would be useful to be able to add additional models if the user wants to. Let's say you got a player model at index 0. Your gun model has the same frames, but you don't want to duplicate the modeldef data. With generator index, you don't need to duplicate the data, just tell generator index to clone frame data from index 0.
- Implemented a little something to check if a negative skin or model index were passed, and prevent modders from pulling that off.
2022-07-22 17:11:59 +02:00
Shiny Metagross
fa6dfdf64c
Update p_actionfunctions.cpp
...
Woah, this didn't work with custom inventory chains!
2022-07-22 17:11:59 +02:00
Shiny Metagross
69ee1eb0a2
Surfaceskin modification
...
- Made it so when rendering a model, it clones an smf to use so that data isn't overwritten
- Reimplemented the skin index property. This changes the behavior of this index if CMDL_USESURFACESKIN is activated
2022-07-22 17:11:59 +02:00
Shiny Metagross
ec3d81a34f
More fixes
...
- Let's fill the holes of serialized data so it can properly be removed instead of leaving undefined behavior behind.
- Added CMDL_HIDEMODEL flag. This makes a model index invisible.
2022-07-22 17:11:59 +02:00
Shiny Metagross
11f342795b
I did a no no
...
- This should fix it
2022-07-22 17:11:59 +02:00
Shiny Metagross
9805851bd8
Update p_actionfunctions.cpp
...
Uhh, maybe this is why mac builds failed
2022-07-22 17:11:59 +02:00