ExhaustFx - user-grinch/ModelExtras GitHub Wiki

Available from ModelExtras v2.1+ (Overhauled in v3.0)

πŸ’¨ ExhaustFx & πŸ”₯ Backfire (for Vehicles)

The ExhaustFx and Backfire features bring high-performance vehicle exhausts to life in GTA San Andreas. They support multiple customizable exhaust pipes, realistic smoke particle emission, authentic Anti-Lag System (ALS), dynamic gear-shift flames, complete Soundize API integration, and high-performance NOS nitrous effects.


πŸ’¨ 1. Multi-Exhaust Smoke Emission

Allows placing custom exhaust pipes anywhere on the vehicle (e.g. side exhausts, hood stacks, quad rear pipes) with custom smoke velocity, color, and particle size.

πŸ”§ Dummy Naming Convention

To define multiple exhaust points, place dummy nodes on your vehicle model named:

x_exhaust1, x_exhaust2, x_exhaust3, ...

πŸ› οΈ Use a JSONC file to configure the Exhaust Effects

πŸ“‚ File Location & Structure

πŸ“Œ Path: ModelExtras/data/<FILENAME>.jsonc or modloader/AnyFolder/<FILENAME>.jsonc

Both model ID and model name are valid FILENAME (e.g. 602.jsonc or alpha.jsonc).
πŸ’‘Tip: It is recommended to use model names instead of model IDs to avoid conflicts with other mods β€” especially when using added vehicles.

βš οΈβ€‹ Attention:

Every JSONC configuration requires a metadata specification before any other settings. See here: METADATA

βš™οΈ JSON Configuration Example

Configure smoke particle properties:

{
    "exhausts": {
        "x_exhaust1": {
            "lifetime": 0.4,
            "speed": 1.0,
            "size": 1.0,
            "nitro_effect": true,
            "color": {
                "red": 0,
                "green": 0,
                "blue": 0,
                "alpha": 64
            }
        }
    }
}

🎨 Parameters Explained

  • lifetime: Duration of the smoke particle in seconds (default: 0.4).
  • speed: Velocity multiplier of the smoke emission (default: 1.0).
  • size: Scale of the smoke particles (default: 1.0).
  • nitro_effect: Whether nitrous oxide (NOS) flame particles emit from this specific exhaust dummy (default: true).
  • color: RGBA color and opacity of the exhaust smoke (0–255).

πŸ”₯ 2. Complete Backfire & ALS Overhaul

ModelExtras v3.0 features a completely re-engineered, authentic automotive backfire system inspired by real-world Anti-Lag Systems (ALS), rally anti-lag, and high-performance tuning.

βš™οΈ How It Works:

1. 🎡 Soundize API Integration

ModelExtras directly hooks into the Soundize engine (Soundize.asi / Soundize (Junior_Djjr).asi) via its public C API:

  • FMOD Engine Gear Shift Detection (Ext_GetVehicleGear): Soundize shifts gears based on FMOD engine RPM and cuts the gas pedal. ModelExtras synchronizes precisely with these gear transitions, emitting immediate shift flame pops.
  • Auto Vehicle Validation (Ext_DoesVehicleSupportBackfire): If a Soundize vehicle soundbank explicitly defines backfire support, ModelExtras automatically enables backfire for that vehicle without requiring manual INI model ID entries.
  • Smart Audio Overlap Protection: If Soundize provides its own backfire audio for a vehicle, ModelExtras automatically mutes its internal backfire.wav to prevent duplicated audio.
  • Soundize Throttle Lift ALS (Ext_GetVehicleDoingBackfire): When Soundize triggers deceleration popping, ModelExtras spawns synchronized visual exhaust flame bursts on DFF exhaust points.

2. ⚑ Dual-Intensity Flame Dynamics (FxSystem_c)

Unlike simple fixed particle spawns, ModelExtras runs independent dual low/high FX systems on each exhaust pipe:

  • Normal Shifts (75% probability): Soft crackling puffs with independent randomized sizes on each pipe (e.g. left pipe subtle 0.36, right pipe medium 0.52).
  • Hard Shifts (25% probability): A sudden high-intensity blast (backfire_high, rate mult 0.75 - 0.95) on one pipe while the other pipe maintains subtle crackle.
  • Custom Orientation: Flames accurately respect the 3D pointing matrix of each x_exhaust dummy.

3. 🏁 Realistic ALS & Deceleration Pop & Bang Logic

  • Full Throttle Lift-Off: Decelerating after driving at high throttle (throttle >= 0.99f or > 0.39f under Nitrous Oxide) triggers multi-fire popping bursts (BackFireMulti) with authentic timing intervals.
  • Speed & Idle Gating: Strictly requires active driving speed (speed > 3.0 km/h / 5.0 km/h) to prevent unrealistic popping while idling, revving in neutral, or holding handbrakes.

4. πŸ”΅ Nitrous Oxide (NOS) Dynamic Point Lights

  • When activating Nitrous Oxide (NOS), dynamic blue point lights illuminate the road right below each active exhaust pipe tip.
  • Nitro FX and pointlights only trigger while actively holding the NOS boost button.

✨ Pro Tips for Modders:

  • Directional Smoke & Flame: Rotate your x_exhaust dummy in 3ds Max/ZModeler so that its Up vector points backward (or in the direction you want the smoke and flame to exit).
  • VehFuncs Extra Compatibility: Exhaust dummies placed inside VehFuncs extra nodes (f_extra_xx) dynamically emit smoke and flames only when that specific extra part is spawned on the vehicle!

πŸ› οΈ INI Configuration (ModelExtras.ini)

You can toggle the backfire feature and configure which vehicle models receive backfire effects:

[FEATURES]
; Master switch for backfire flames and pop audio
BackfireEffect = 1

; Enable backfire only on specific vehicle models listed below (1) or all sports cars (0)
BackfireEffect_OnlySelectedModels = 1

[TABLE]
; List of model IDs that feature backfire effects (sports cars, tuners, and high-performance motorbikes)
BackFireEffect_VehicleModels = 402, 411, 415, 424, 429, 434, 439, 451, 461, 468, 475, 477, 480, 494, 496, 502, 503, 504, 506, 521, 522, 535, 541, 558, 559, 560, 561, 562, 565, 581, 587, 589, 603, 604

πŸ“‹ Default Supported Vehicle Models:

Model ID Vehicle Name Type
402 Buffalo Sports Car
411 Infernus Supercar
415 Cheetah Supercar
424 BF Injection Off-Road / Buggy
429 Banshee Sports Car
434 Hotknife Hotrod
439 Stallion Muscle Car
451 Turismo Supercar
461 PCJ-600 Sports Bike
468 Sanchez Dirt Bike
475 Sabre Muscle Car
477 ZR-350 Tuner / Sports Car
480 Comet Sports Car
494 Hotring Racer Race Car
496 Blista Compact Compact / Tuner
502 Hotring Racer A Race Car
503 Hotring Racer B Race Car
504 Bloodring Banger Demolition Derby
506 Super GT Supercar
521 FCR-900 Sports Bike
522 NRG-500 Superbike
535 Slamvan Custom Truck
541 Bullet Supercar
558 Uranus Tuner
559 Jester Tuner
560 Sultan 4-Door Tuner
561 Stratum Tuner Station Wagon
562 Elegy Drift / Tuner
565 Flash Compact Tuner
581 BF-400 Sports Bike
587 Euros Sports Car
589 Club Hot Hatch
603 Phoenix Muscle Car
604 Glendale (Damaged) Beater

⚠️ **GitHub.com Fallback** ⚠️