Commit Graph

51 Commits

Author SHA1 Message Date
Jeremy Lorelli 6c3e224561 object: Convert sphere radius to Source units
continuous-integration/drone/push Build encountered an error Details
2022-12-31 07:18:35 +00:00
Joshua Ashton 067cc7eb4e
README: Add reference to Jolt Physics repo in the readme.
continuous-integration/drone/push Build is passing Details
2022-10-25 01:11:24 +01:00
JJL772 860c66d09a environment: Fix GetBroadPhaseLayerName BroadPhaseLayers -> string mapping
continuous-integration/drone/push Build is passing Details
2022-09-28 17:28:12 +01:00
Bagel™ 49abdbbef7 meta: Add build.md
continuous-integration/drone/push Build is passing Details
2022-09-21 18:30:01 +00:00
Margen67 0b937b95ce artifacts.yml: Improvements
Set fail-fast to false (stopping jobs if one fails isn't always desirable)
Remove unused ids; These are only used for outputs, and outputs aren't used anywhere.
Remove unneeded shell; pwsh and bash are already the default shell of Windows and Linux.
Upgrade upload-artifact to v3.
2022-09-21 19:26:50 +01:00
Magnus Larsen 0c55d0082d collide: Deconstruct CPhysCollide properly
It is necessary to dispatch the correct JPH::Shape dtor, even though
it's stored as a a CPhysCollide*.

This should fix #58
2022-09-21 19:26:07 +01:00
Joshua Ashton 6c1ec77980 environment: Add stub for Get/SetPerformanceSettings
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2022-09-09 02:22:04 +01:00
Joshua Ashton 23bbdea910 util: Remove our impls of popcnt and tzcnt
continuous-integration/drone/push Build is passing Details
2022-09-09 02:00:43 +01:00
Joshua Ashton 6636409b10 listener_contact: Use JPH CountTrailingZeros 2022-09-09 02:00:33 +01:00
Joshua Ashton cfae6a7997 constraints: Use JPH CountBits and CountTrailingZeros 2022-09-09 02:00:20 +01:00
Joshua Ashton 6767ca8f32 object: Unmark body as dirty when destroyed
Fixes some crashes since this was introduced.
2022-09-09 01:59:56 +01:00
Joshua Ashton 954d301a2b constraints: Fix refcountning of constraint pt
continuous-integration/drone/push Build is failing Details
Closes: #17
2022-09-09 01:42:31 +01:00
Joshua Ashton 2931f2e5cf ci: Copy vphysics.so -> vphysics_client.so for GMod
continuous-integration/drone/push Build was killed Details
2022-09-09 00:07:08 +00:00
Joshua Ashton 8165375c73 vpc_scripts: Remove jolt_static group
continuous-integration/drone/push Build is failing Details
continuous-integration/drone Build is passing Details
Deprecated.
2022-09-09 00:19:12 +01:00
Joshua Ashton 6ec1d75b00 meta: Add .sentinel to gitignore
continuous-integration/drone/push Build is failing Details
2022-09-08 23:43:01 +01:00
Josh Dowell 5f145e8694 meta: Add .enc files to the gitignore 2022-09-08 23:43:01 +01:00
Josh Dowell 327a96ca54 all: Add multiple builds for different CPU feature sets and a wrapper DLL to go along with them
Closes: #46
2022-09-08 23:43:01 +01:00
Joshua Ashton b4ef78acea meta: Update readme to add info about downloading non-releases
continuous-integration/drone/push Build is passing Details
2022-09-02 20:29:14 +00:00
Joshua Ashton a28bbc8334 ci: Add drone CI for GMod builds
continuous-integration/drone Build is passing Details
2022-09-02 21:13:48 +01:00
Joshua Ashton 29cf7a0778 vpc_scripts: Add jolt_static group 2022-09-02 21:13:48 +01:00
Joshua Ashton 0aa85f9931 ci: Add Linux CI 2022-09-02 19:08:08 +01:00
Joshua Ashton 9130ae7dd2 vpc_scripts: Add -mbmi for now
A stop-gap until #71 is merged.
2022-09-02 18:28:19 +01:00
Joshua Ashton 08c0934acc cbase: Undef offsetof if present
Fixes Linux builds in SDK.
2022-09-02 18:28:19 +01:00
Joshua Ashton cf10810b35 vpc_scripts: Add groups and projects 2022-09-02 12:47:05 +01:00
Joshua Ashton 5adb1c9358 ci: Rename build-set-windows to windows
Shorter name makes it easier to see
2022-09-02 11:37:47 +01:00
Joshua Ashton 1512949ee7 ci: Add support for Alien Swarm
Closes: #10
2022-09-02 11:37:47 +01:00
Joshua Ashton d923d9a5b5 misc: Add compat defines for Alien Swarm 2022-09-02 10:59:04 +01:00
Joshua Ashton b01f9f5c0c environment: Use std::vector for m_pPhysicsControllers 2022-09-02 10:56:58 +01:00
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