Commit Graph

23 Commits

Author SHA1 Message Date
Joshua Ashton ae9b5dcc8e controller_motion: Use std::vector for m_pObjects 2022-09-02 10:56:21 +01:00
Joshua Ashton 143b5b166c environment: Add list of dirty static bodies
Adds a vector of objects that were awake, and changed their
motion type from Dynamic -> Static, so that they can be
retrieved in GetActiveObjects, and have their visuals updated.

If we don't do this, objects that get moved, woken, and their
movement type changed to static will not get their transforms
updated on the game side.

Closes: #59
Closes: #63
2022-09-02 10:09:30 +01:00
Joshua Ashton 36711271be constraints: Use Erase helper in RemoveConstraint 2022-09-02 10:09:30 +01:00
Joshua Ashton 52ff0b3629 fluid: Use new Erase helper 2022-09-02 10:09:30 +01:00
Joshua Ashton bdd5b2ca9b objectpairhash: Use Contains helper 2022-09-02 10:09:30 +01:00
Joshua Ashton 9946d6847c util: Add Contains helper
Useful!
2022-09-02 10:09:30 +01:00
Joshua Ashton cb10f30fd8 util: Add Erase and EraseIf helpers
No std::erase_if in C++17 which is handy to have!
2022-09-02 10:09:30 +01:00
Joshua Ashton 9a44e687c6 ci: Add support for SDK 2013 SP to CI 2022-09-02 09:52:02 +01:00
Joshua Ashton 2812b58680
collide: Use std::swap instead of Swap
Swap is something that was added to Desolation's basetypes.h, not present in SDK 2013.
Just use std::swap from STL.
2022-09-01 12:29:36 +01:00
Joshua Ashton c6c1a6dba1 collide: Flip triangle winding in CreateDebugMesh
Closes: #44
2022-09-01 07:34:12 +01:00
Joshua Ashton db13ffba6e environment: Use resize when updating m_CachedObjects
This was a typo, otherwise the size is always 0.
2022-08-31 15:39:23 +01:00
Joshua Ashton d6e1214a19 listener: Re-target pInternalData on JoltPhysicsCollisionEvent copy/move
Needs this to match the parent structure, not some other object that
may be going to be destroyed.

Closes: #51
2022-08-31 15:39:15 +01:00
Jeremy Lorelli 347e78d122 state_recorder: Prefix call to move with std:: to silence warning 2022-08-30 06:11:40 +01:00
Joshua Ashton 25eecb1f35 collide: Support legacy style .phy files
These legacy style .phy files are literally just serialized compact surfaces
and nothing else, with some misc. data shoved into some dummy compartment.

Some props in shipping HL2 still use this format, as they have a .phy, even after their
.qc had the $collisionmodel removed, as they didn't get the stale .phy in the game files deleted.

Closes: #35
2022-08-30 06:06:58 +01:00
Joshua Ashton d75827b05e parse: Add dummy fallback KV for when parsing fails
There are lots of really broken models floating about, with complete garbage KV contents.

If we fail to parse the KV, use a dummy fallback instead of returning a NULL parser, which always just crashes.
2022-08-30 04:32:01 +01:00
caseytube 3047adf03c Update README.md
Minor Spelling Fix
2022-08-29 23:41:19 +01:00
Josh Dowell c9604f710f listener: Fix a typo causing collision damage to be applied in full
There was a typo in vjolt_listener_contact.h where it would get the velocity of the first object twice, which was wrong, and this was causing damage to be applied in full
2022-08-29 23:34:20 +01:00
Joshua Ashton 6d81c04454 pch: Use correctly cased KeyValues.h per-branch 2022-08-29 08:24:44 +01:00
Arthurdead 457b9923f5
build: Fix compiling with C++17 on Linux 2022-08-29 08:23:11 +01:00
Joshua Ashton 65bc5bd2fd vehicle: Implement per-wheel brake torque
Based upon the same calculations that regular VPhysics does, calculate the per-wheel brake torque.

Improves vehicle feel and matches it more closely.
2022-08-29 08:02:10 +01:00
Joshua Ashton a7209f3766 compat: Add GAME_L4D2_OR_NEWER define 2022-08-29 07:57:31 +01:00
Joshua Ashton fa1e0bd3e7 meta: Add .gitignore 2022-08-29 07:57:22 +01:00
Joshua Ashton 11adbb57bd Initial commit 2022-08-29 00:21:50 +01:00