DynamicCrosshair
Crosshair that marks where your gun is really pointing and traces its live spread cone, including bullet drop and muzzle parallax. Client-side, no patches.
By PapaSalazar
CHANGELOG
Changelog
1.0.0
First release.
- Point-of-aim dot placed at the muzzle's real impact point rather than screen centre.
- Spread outline sampled from the game's own
Quaternion.Euler(v * _spread) * forwardexpression, so the cone's world-axis orientation dependence is reproduced instead of approximated with a circle. - Bullet drop for projectile weapons, integrated with the game's own per-tick scheme and matched to the centre shot's exact flight time.
- Blocked-barrel detection mirroring
Weapon.GunClippingRay(): when the muzzle is pressed into geometry the crosshair recolours and snaps to where the shot will actually resolve. - Trajectories stop at the sea surface.
- Handles the scoped-weapon override, where a weapon past 90% zoom fires from the camera rather than the barrel.
- Independent shape settings: five spread styles (
Ring,DashedRing,Ticks,Brackets,None) and six centre styles (Dot,HollowDot,Plus,Cross,Diamond,None). - Separate colours for the spread outline, the centre marker, the obstruction warning and the
contrast edge, all as
RRGGBBAAhex. - All sizes scale with screen height against a 1080p reference, so the crosshair does not shrink to specks at 1440p or 4K. Individually adjustable thickness, outline width, centre size, centre gap, arm length, tick length, dash count and bracket arc.
- Optional geometry-conforming outline that wraps the cone around corners and angled surfaces.
- Reflection-only binding with keyword fallbacks, per-feature degradation and a self-disable after repeated read failures.
TestPatternandShowDebugTextdiagnostics for troubleshooting without a dev build.ConfigSchemamarker that warns when an older config file is carrying renamed or removed keys.DumpWeaponTablediagnostic that logs every weapon's id, spread, pellet count, projectile speed and gravity, plus the id of every other item.