Skip to content

Hentairim 3.0.4.4 patch

Choose a tag to compare

@crajjjj crajjjj released this 16 Jul 22:52

Physics label bridge & contact-edge SFX — fixes and hardening

Physics-driven labels (controller)

  • Physics label changes now signal through their own channel instead of the stage-change latch, so the scene tracker, velocity SFX loops and SOSBend calibration no longer misread mid-stage physics updates as stage advances.
  • Label overlay derives from per-stage tag baselines: labels revert when contact ends, and posture info (cowgirl etc.) can no longer be destroyed by a single misdetected frame.
  • S/F intensity prefix is latched with hysteresis (new physicsslowfactor config key, default 0.65) — no more flapping against sub-second thrust cycles.
  • Rewritten around GetCurrentInteractionFlags: ~4-12 native calls per tick instead of ~72 in a 4-actor scene.

Contact-edge SFX

  • All edges (penetration, kissing, oral) debounce by elapsed time (0.5s) instead of poll counts; kissing/oral no longer re-fire on detection dropouts.
  • Edge one-shots get a dedicated sound channel that stops the previous edge sound without cutting off body SFX.
  • New victim reactions (usecontactvictimreactions, default on): forced insertion on a submissive deposits resistance/trauma damage (victiminsertiontrauma, default 5, scaled by victim/HugePP multipliers), and the tender kiss cue is suppressed when either actor is a victim.

Cleanup fixes

  • Facial expressions and FHU tongue no longer stay stuck after a scene: cleanup is now event-driven (AnimationEnd) with an OnEffectFinish last resort, instead of depending on a single OnUpdate tick surviving.
  • Lingering moans after scene end are silenced: all four voice SoundCategories mute at scene end for a 4s window while in-flight lines run out.

Performance

  • Intense-phase SFX polling capped at 10Hz (was 20Hz), halving the busiest script's load with no audible difference.

Update (2026-07-17)

  • Tracker PlaySound refuses to start voice lines once the scene has ended (closes the queued-behind-pre-delay window).
  • Expression reset runs at near-instant speed instead of a slow smooth glide.