Skip to content

v1.0 - The Performance, Physics & 6.1 Compatibility Update

Latest

Choose a tag to compare

@paralax034 paralax034 released this 21 May 15:02

This milestone update marks the official release of the Shrapnel Overhaul Mod for Scav game version 6.1. It introduces deep performance optimizations, compiles zero-alloc JIT serialization delegates, fixes long-standing physical bugs (like floating shards), and significantly refines ballistic falling and visual visibility.

⚙️ Full Scav v6.1 Support

  • Decompiled Signature Fix: Resolved a critical signature return type mismatch where the game changed Sound.Play to return an AudioSource instead of a float/single. Recompiled against the new game libraries, eliminating MissingMethodException and log spam.

⚡ Zero-Alloc Expression JIT Serialization

  • Expression-Compiled Delegates: Replaced slow MethodInfo.Invoke reflection inside ShrapnelNetSync.cs with fast, JIT-compiled Expression delegates.
  • Zero Garbage: This unboxes the Netcode FastBuffer structs directly on the heap at runtime, matching native execution speeds with absolute zero GC allocations, eliminating CPU micro-stutters during heavy network synchronization.

🧱 Dynamic Contact Support (No More Floating Shards)

  • Contact Normal Evaluation: Stuck shards now track their landing contact normal (_lastHitNormal) to evaluate which block supports them.
  • Real Falling: If you destroy a wall or ceiling that shards are embedded in, they will now correctly fall down under gravity instead of floating in mid-air.

☄️ Ballistic Physics & Polish

  • Heavy Ballistics: Calibrated mass, gravity scales (0.7-1.2), and drag coefficients in ShrapnelWeightData. Shards now fall ballistically and heavy under gravity instead of floating like feathers.
  • Aspect Ratio Optimization: Capped Y-stretch values (1.8x – 5.0x max) in ShrapnelFactory.cs, completely removing the "giant spinning rod" effect.
  • Global 30% Damage Balance: Balanced combat by reducing base damages globally, while restoring limb hit registration (headOnlyDamage = false) on Hot shards to make flesh hits feel satisfyingly impactful.

✨ High-Energy Sparks & Enhanced Visibility

  • Laser-Like Sparks: Boosted ParticleSystem stretch parameters (lengthScale = 3.5, velocityScale = 0.08), making trail sparks render as beautiful, high-velocity lines.
  • Sparkle Glint: Specular glint rate doubled (interval halved) and spark emission brightness increased 2.5x so cold resting shards sparkle clearly like real metal under light.
  • Glow Intensity: Elevated ground glow values for Heavy (0.4) and Massive (0.3) weights, and established their minimum heat floor to ensure dangerous shards emit warm light.
  • Fraction Rebalance: Reallocated explosion budgets toward GPU-batched micro-shrapnel and needle sparks, increasing pyrotechnic density 3-fold.

📈 Extreme Performance Tuning

  • Staggered Harmless Shard GC: Small, cold, harmless debris now cold-fades 3.5x faster, and resting ground debris lifetime has been cut by 65%.
  • Crater Scan Optimization: Reduced block scanning samples by 50% in SpawnBlockDebris to eliminate micro-stutters during heavy detonations.
  • Clean MSBuild Environment: Reference paths reorganized via absolute properties, resolving MSB4011 duplicate import warnings.

Full technical details are documented in the CHANGELOG.md file.

🛠️ Installation

  • Requires BepInEx 5.4.21+ installed in your game directory.
  • Place the ScavShrapnelMod.dll file into: CasualtiesUnknownDemo/BepInEx/plugins/
  • Launch the game! (The configuration file will auto-generate and update safely on the first run).