Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ BETA ] Mobility Update v2.11.6-beta #396

Open
wants to merge 55 commits into
base: dev
Choose a base branch
from
Open

Conversation

Tyunge
Copy link

@Tyunge Tyunge commented Mar 29, 2024

ACF MOBILITY UPDATE V1.0.0-beta
Screenshot_76

This update brings new logic to ACF3 mobility. This update will NOT affect existing dupes that are using the legacy mobility components. Updated components must be spawned new as they do not share the same class as legacy components.

Legacy components cannot be auto updated by using the ACF spawner tool to use the new mobility logic. THEY MUST BE SPAWNED NEW

Legacy Components CANNOT be linked to updated components and vice-versa.

Please view the Other Changes sections for how to enable/disable this update, and to spawn updated components.

**this update is experimental and may have adverse effects to your health
**please be patient as bugs may increase in prevalence to its stage of development

Engine Component Changes

  • Engine Feedback - engine rpm is matched to gearbox rpm
  • Engine Braking - braking torque is applied to wheels in the absence of throttle input
  • Engine Over-rev - engines are no longer limited to their redline
  • Improved Flywheel Response - flywheel mass has an improved response to sudden load
  • Idle Throttle - engines will roll in gear

Gearbox Component Changes

  • Gear Ratios Use Realistic Ratios - gear ratios no longer follow a 0 ...1 format
  • Improved Clutch Simulation
  • Gearboxes Have RPM - rpm is retrieved from connected wheels relative to gear ratio
  • Differentials are Open - differentials are no longer limited slip
  • Ratio Converter -Converts old ratios to new ratios and vice-versa
  • Past Data -Ability to paste data from the copy tool to gearbox ratios

Other Changes

  • New Server Setting - server setting to allow client spawning of new engine components
    - New Client Setting - client setting to spawn updated components
    - New Client CMD - acf_mobilityupdate can be used to enabled/disable this update
    - Update Eligibility - notification description added to all engines and gearboxes.
    Screenshot_72!Screenshot_81
    Screenshot_83Screenshot_82

Future Updates

  • Limit slip slider added to differentials
  • Automatic Gearbox Update
  • CVT Gearbox Update
  • Double Differential Update
  • Auto Clutch
  • Engine Over Rev Damage
  • Clutch Slip Due to Over Torque
  • Clutch Damage

For Developers

Creating Eligible Components
To create or update existing engine addons, all engines must have the following variables in their registry:

  • Displacement
  • FlywheelMassUpdate

Screenshot_74

Important Info
Updated mobility components are NOT acf_engine acf_gearbox classes.
Updated mobility components are acf_engine_update acf_gearbox_update classes.
The reason for this was to create a separation of legacy and updated mobility components to maintain a stable mobility components as changes are made to the mobility update.
The legacy components should be considered depreciated.

@Tyunge Tyunge changed the title [ BETA ] Mobility Update v1.0.0-beta [ BETA ] Mobility Update v1.2.1-beta Apr 4, 2024
@Tyunge
Copy link
Author

Tyunge commented Apr 4, 2024

I notice the calcMass test is failing for KEShove, I was told that it was caused from an unrelated change to KEShove. Is there something I need to update or change for this pull request?

@thecraftianman
Copy link
Member

Merge the latest commit from dev and the tests should be good now

Removed console command for mobility update
Removed experimental section
Moved mobility update checkbox to the menu for each gearbox and engine

Fixed bug when converting ratios that would convert 0 to 0.1
@Tyunge
Copy link
Author

Tyunge commented Apr 14, 2024

This also closes #136 & #103 bug and suggestion

+ Cleaned up code
+ Fixed bugs related to order of operations in engine logic
+ Dual Clutch differential fix
+ Added third clutch variable for engine and transmissions.
Added torque transferring for dual clutch transmissions
@Tyunge Tyunge changed the title [ BETA ] Mobility Update v1.2.1-beta [ BETA ] Mobility Update v1.6.4-beta Apr 17, 2024
@TwistedTail
Copy link
Member

TwistedTail commented Apr 26, 2024

I have a couple of suggestions but I wasn't entirely sure with bringing them up because they could certainly end up being controversial.

One of the topics that has been brought up in the discord when it comes to mobility components is the inconsistency on the units used by them:

  • Clutches use 0-1
  • Throttle uses 0-100
  • Brakes use 0-100 unless you need more then it goes all the way up to 5000 (iirc)

Which makes me think, would it be possible to standarize all these inputs to use a single unit? Changing Throttle and Brake to work with 0-1 would certainly make everything much simpler for the end user, but it'd also break every single old contraption prior this change.

@Tyunge
Copy link
Author

Tyunge commented Apr 27, 2024

Yeah I could make them all use a 0-1 value and for brakes to use 0-50 to keep it relative. The input manager for throttle converts 0-100 to a 0-1 value immediately anyways so that would make the code a lot more simple.

Not sure how the manager for brake converts but i assume it’s the same. I could make a maximum brake force slider for gearboxes so that the brake input could also default to 0-1.

It wouldn’t necessarily break old contraptions, but if they did use say 50 throttle it would be similar to using 100% throttle since the value would be clamped to 1 as a maximum.

I do like this update because it would allow users to use nothing but a chair and a wire POD controller for mobility if they don’t have access to ecu codes

Updated CVT gearbox to use the new ratios and logic.
Dual clutch gearboxes have proper torque transferring
Dual clutch gearboxes can now receive partial clutching of either side with proper torque transfer between the clutch and non clutched side.
Dual clutch inputs are fixed. Old system had flipped Left and Right sides
@Tyunge Tyunge changed the title [ BETA ] Mobility Update v1.6.4-beta [ BETA ] Mobility Update v1.9.5-beta Apr 29, 2024
Updated turbine engines to use new logic
added flywheel reaction torque to engines
+Angular Momentum Transferring
+Better clutch simulation
+Some updates to flywheel masses
+Fixed bug with gearbox clutches
@Tyunge Tyunge changed the title [ BETA ] Mobility Update v1.9.5-beta [ BETA ] Mobility Update v2.11.6-beta May 21, 2024
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.

None yet

4 participants