Skip to content

Conversation

thisdp
Copy link
Contributor

@thisdp thisdp commented Sep 4, 2025

For adjustable vehicle physics time step and air resistor physics when glitch "vehicle_rapid_stop" is disabled. In this way, DM players can play maps in any FPS.

Usage:
engineFramerateFixingSetProperty("vehicle_physics", 50.0/30.0) which is the default one.

Now we have only "vehicle_physics", but in future, there maybe more.

I notice that "vehicle_rapid_stop" acually includes vehicle turning (passive and active).
Passive turning includes terrain changing and colliding.
Active turning includes air control and normal on-road turning.
Thus, description of "vehicle_rapid_stop" should be "framerate_related_vehicle_physics" for better naming.

Maybe the name and usage of this function need to be discussed.

For adjustable vehicle physics time step and air resistor physics when glitch "vehicle_rapid_stop" is disabled.
In this way, DM players can play maps in any FPS.

Usage:
engineFramerateFixingSetProperty("vehicle_physics", 50.0/30.0) which is the default one.
@FileEX FileEX added the enhancement New feature or request label Sep 4, 2025
@tzwer
Copy link
Contributor

tzwer commented Sep 5, 2025

Does this make it possible to have the same vehicle_rapid_stop behaviour when it's not enabled?

@thisdp
Copy link
Contributor Author

thisdp commented Sep 5, 2025

Does this make it possible to have the same vehicle_rapid_stop behaviour when it's not enabled?

Only vehicle_rapid_stop glitch is disabled.
And maybe we need to change the name "vehicle_rapid_stop" to "vehicle_physics_framerate_dependent" later.

@Lpsd
Copy link
Member

Lpsd commented Sep 5, 2025

something like engineSetPhysicsProperty would be much nicer. if you need more words/explanation then use the individual properties/keys for that.

@thisdp
Copy link
Contributor Author

thisdp commented Sep 6, 2025

something like engineSetPhysicsProperty would be much nicer. if you need more words/explanation then use the individual properties/keys for that.

This may be not just physics.

@Lpsd
Copy link
Member

Lpsd commented Sep 6, 2025

if it will always be used for timestep related properties, then engineSetTimestep(string property, float step)?

@thisdp
Copy link
Contributor Author

thisdp commented Sep 7, 2025

if it will always be used for timestep related properties, then engineSetTimestep(string property, float step)?

Maybe a good idea for short naming

@thisdp
Copy link
Contributor Author

thisdp commented Sep 7, 2025

To achieve this, maybe we need more hooker. From the test of @xLive , this PR is not enough for DM physics.
https://github.com/gta-reversed/gta-reversed/blob/c2df58461d2df0f455530132ebefb63348bb9275/source/game_sa/Entity/Physical.cpp
ProcessCollision
ProcessShift
ApplyTurnSpeed
ApplyMoveSpeed
ApplyGravity
ApplySoftCollision
ApplySpringCollision
ApplySpringCollisionAlt
ApplySpringDampening
ApplyCollisionAlt
ApplyFriction
PlacePhysicalRelativeToOtherPhysical
PositionAttachedEntity
ApplySpeed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants