Skip to content

Conversation

@vrecluse
Copy link

@vrecluse vrecluse commented Jan 7, 2026

Add complete C bindings for Jolt Physics tracked vehicle system:

  • JPC_TrackSide enum for left/right track selection
  • JPC_WheelSettings and JPC_WheelSettingsTV structs with defaults
  • JPC_VehicleTrackSettings struct for track configuration
  • JPC_VehicleAntiRollBar struct for vehicle stability
  • JPC_TrackedVehicleControllerSettings for engine/transmission
  • JPC_VehicleConstraintSettings for vehicle constraint setup
  • JPC_Wheel functions for wheel state access
  • JPC_VehicleTrack functions for track properties
  • JPC_VehicleCollisionTester (Ray and CastSphere variants)
  • JPC_VehicleConstraint creation and management
  • JPC_TrackedVehicleController driver input and track access

Also updates JPC_BodyManager_DrawSettings for Jolt Physics v5.5.0 compatibility (adds mDrawSoftBodyRods, mDrawSoftBodyRodStates, mDrawSoftBodyRodBendTwistConstraints fields).

Fixes protected constructor issue in JPC_ConstraintSettings_default for v5.5.0 compatibility.

Generated with Claude Code via Happy

amerkoleci and others added 30 commits September 9, 2024 09:09
…dy and BodyInterface for water simuation, and Character support (WIP)
…, remove _SetProcs and use callbacks in Create methods.
* Add support for per-triangle user data in MeshShape;

* JPH_Shape_GetLeafShape;
…dd ShapeFilter support, improvements in NarrowPhaseQuery
amerkoleci and others added 26 commits August 26, 2025 10:27
…nd JPH_BodyLockInterface_LockMultiWrite, fixes #60
* Added JPH_LinearCurve def and functions

* Added WheelSettingsWV lateral and long friction funcs

* Clean-up

* Added asserts

* Clean-up

* Added JPH_LinearCurve_GetPoints

* Remove designated initializers
* Added JPH_VehicleEngine and JPH_VehicleTransmission

* Added normalizedTorque to JPH_VehicleEngineSettings
This adds the missing VehicleTrack and VehicleTrackSettings API that was marked as TODO in the codebase. The API allows accessing track runtime state for tracked vehicles.

## Added API:

### Types:
- `JPH_VehicleTrackSettings` - Configuration for a vehicle track
- `JPH_VehicleTrack` - Runtime track state
- `JPH_TrackSide` - Enum for left/right track side

### Functions:
- `JPH_VehicleTrackSettings_Init()` - Initialize settings with defaults
- `JPH_VehicleTrack_GetAngularVelocity()` - Get track angular velocity
- `JPH_VehicleTrack_SetAngularVelocity()` - Set track angular velocity
- `JPH_VehicleTrack_GetDrivenWheel()` - Get driven wheel index
- `JPH_VehicleTrack_GetInertia()` - Get track inertia
- `JPH_VehicleTrack_GetAngularDamping()` - Get angular damping
- `JPH_VehicleTrack_GetMaxBrakeTorque()` - Get max brake torque
- `JPH_VehicleTrack_GetDifferentialRatio()` - Get differential ratio
- `JPH_TrackedVehicleController_GetTrack()` - Get track by side

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
@vrecluse vrecluse closed this Jan 8, 2026
@vrecluse vrecluse force-pushed the feature/vehicle-track-api branch from 3289e5a to a9e90dd Compare January 8, 2026 02:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.