4.0.3 — Fuel Persistence and Player Feedback Fixes
This patch addresses player-reported vehicle, navigation, fuel and UI problems on BeamNG.drive 0.39.
Vehicle and driving fixes
- Suspend vehicle reads and actions throughout vehicle selection/configuration and the replacement settle period. Reject stale callbacks and avoid sending the old shift's cleanup to the newly selected car (#3).
- Capture the driver's gearbox behavior before native AI switches modes. Passenger stops temporarily hold Realistic behavior so held braking cannot become Arcade reverse throttle, then restore the driver's mode (#6).
- Reject newly generated and cached pickup, intermediate-stop and drop-off locations under tunnel ceilings or other static cover. Routes may still pass through tunnels (#10).
Fuel and energy
- Save remaining fuel and charge by stable vehicle identity and restore them when a later Realistic Mode shift starts, instead of resetting purchased fuel.
- Add Starting fuel in Gameplay settings: 5–30%, default 5%, for combustion tanks without a saved record. Electric vehicles retain their initial 30% charge.
- Store energy separately in
settings/TaxiDriver/fuel.json: Career uses profile plus inventory ID; Free Roam uses model plus parts configuration. Saved records take precedence over the initial-fuel slider.
Navigation and UI
- Respect the game's existing floating-arrow and ground-marker preferences when TaxiDriver route guidance is enabled.
- Preserve minimized and button-only views across native HUD recreation within the same game UI session.
- Hide the native TaxiDriver UI and minimap while vanilla map, delivery and other non-driving screens own the UI.
- Keep native app corners consistently rounded.
- Add map dragging, + / − zoom and ◎ follow/reset in native and Connected Phone views, including Fleet.
- Fix the initial native-route query to satisfy BeamNG's Lua callback-expression contract.
- Refresh Connected Phone assets to revision
403; translate the new controls in all ten UI languages.
Compatibility and scope
- Target: BeamNG.drive 0.39. Existing settings, profiles, progress, shift history, Fleet and LAN records remain compatible with
4.0.2. - Fuel saved before this feature existed cannot be reconstructed; a vehicle without a fuel record uses the configured initial reserve once.
- Fuel checkpoints cover TaxiDriver's Realistic Mode tracking. Career identity separation does not imply full Career gameplay support.
- Free Roam cars with the same model and parts configuration share a fuel record. The covered-stop filter can also exclude stops beneath bridges or awnings.
- Shift recovery/flying-vehicle reports, initial passenger opinion, voice navigation, an iPad redesign and a decorative phone frame are outside this patch.
Acknowledgements
Thanks to TheBiggestNerd2014 for the UI, fuel, map and tunnel feedback in #10, to the reporters of #3 and #6, and to the player who supplied the detailed private fuel/navigation/UI report.
Release: TaxiDriver Reloaded 4.0.3
Validation
- Maintainer confirmed the candidate works in-game before publication.
- LuaJIT syntax: 56 source/test files passed.
- 11 focused Lua regression scripts passed, including fuel lifecycle, vehicle replacement, passenger-stop controls, navigation, native callback syntax, minimap rendering and repair.
- 8 native/Connected Phone UI scenarios passed in Microsoft Edge.
- HUD and Connected Phone JavaScript syntax passed.
- LAN HTTP and bidirectional WebSocket self-tests passed.
- Legacy suite limitations:
combinatorics.luafails its route-suffix assertion at line 311 on both this candidate and unchanged 4.0.2. The older full visual suite also fails on unchanged 4.0.2 (a source-size assertion); on this candidate its old vehicle-history source-pattern assertion is additionally obsolete. Those suites are not reported as passing.
Download integrity
Archive: taxidriver.zip, 905,716 bytes, 66 files. Every archived file was compared byte-for-byte with the Git source archive exported from the release tag.
SHA-256: 337C123E025BADAD8C0C65B10163CD28A2746E930BF7BEE33544B0EB7EA88E59