# Patrol Suite

User Guide, installation reference, feature overview, and troubleshooting notes for the GTA V Legacy / LSPDFR release.

Patrol Suite / CompuPro / RoadWatch release guide

## Installation

Patrol Suite is installed as a GTA V Legacy / LSPDFR plugin. Use the included drag-and-drop folder structure unless a release package gives you a separate optional asset installer.

    Grand Theft Auto V Legacy/
      plugins/
        LSPDFR/
          PatrolSuite.dll
          PatrolSuite/
            Config.ini
            settings.ini
            PatrolSuite.Offenses.xml
            PatrolSuite.Charges.xml
            Runtime/
            Audio/
            CADBG/
            Logs/

Do not rename the runtime folder. The folder beside the DLL should be `PatrolSuite`.

### Basic install steps

1. Install the required dependencies listed below.
2. Drag the included `plugins` folder into the GTA V Legacy root folder.
3. Install optional asset packages only when using features that require custom assets.
4. Launch Rage Plugin Hook and go on duty with LSPDFR.
5. Complete the first-run setup wizard, then save the configuration.

## Requirements

Game
GTA V Legacy
Framework
Rage Plugin Hook with LSPDFR
Menu/UI
RAGENativeUI
Live overlays
RawCanvasUI for Live CompuPro and HUD-style overlays. Pause CompuPro does not use RawCanvasUI.
Optional providers
Policing Redefined and Stop The Ped can provide richer ped/vehicle/traffic-stop data when installed. Native fallback remains available.
Patrol Suite should still load with native fallback when optional records providers are not installed, but provider-backed records will naturally be less detailed.

## First-Run Setup

The setup wizard is designed to get a normal user patrol-ready without touching every setting manually.

- Officer profile: badge, rank, callsign, and department.
- Records provider preference: Auto is recommended.
- CompuPro palette, HUD palette, and CAD background choices.
- RoadWatch, Radar, Plate Reader, and ALPR display/keybind confirmation.
- Release diagnostics access for missing folders or dependency checks.

After the wizard, review the main Patrol Suite menu once and save the INI.

## Config.ini vs settings.ini

Patrol Suite uses two config files so normal players can adjust common options while advanced layout/tuning stays separate.

### Config.ini

- Main module toggles.
- Core keybinds.
- Officer identity and department information.
- Common player-facing Vehicle Control, CompuPro, RoadWatch, and Patrol Tools options.

### settings.ini

- Display positions, scales, and advanced layout values.
- Provider selection and integration behavior.
- Advanced tuning for RoadWatch, Smart Taser, OC Spray, Lidar, fuel, and stowing.
- CompuPro DisplayMode. Pause mode is intentionally settings-only.

    [CompuPro.Advanced]
    DisplayMode=Live

Valid values are `Live` and `Pause`. Live is the recommended public default.

### Patrol HUD settings

Patrol HUD uses its own palette and advanced position values. Normal users should move HUD elements through move mode instead of editing coordinates directly.

    [PatrolHUD]
    HudColorPalette=Blue

    [PatrolHUD.Advanced]
    LocationHudX=...
    LocationHudY=...
    LocationHudScale=...
    SpeedSignX=...
    SpeedSignY=...
    SpeedSignScale=...

### RoadWatch / Plate Reader keys

RoadWatch, Radar, Plate Reader, and ALPR can now behave as separate displays while still sharing vehicle context when needed.

    [RoadWatch]
    RadarPowerKey=NumPad9
    PlateReaderActivationKey=NumPad7
    PlateReaderLockKey=NumPad4

## Vehicle Control

Vehicle Control adds patrol-oriented driving and vehicle behavior while keeping the menu clean.

### Core behavior

- Double-tap exit / engine leave-on behavior.
- Turn signals and hazard lights.
- Seatbelt system with exit blocking while fastened.
- Fuel system with pump interaction, nozzle flow, and vehicle fuel display.
- Vehicle Status Indicators and PRNDL display.
- Optional friendly honk and automatic siren cutout behavior.

### Seatbelt submenu

Vehicle Control contains a dedicated Seatbelt submenu. The seatbelt chime can be left disabled by default or enabled for users who want the extra immersion.

    [VehicleControl]
    SeatbeltKey=OemSemicolon
    SeatbeltChime=False

    [Seatbelt.Advanced]
    SeatbeltChimeMinSpeedMph=20
    SeatbeltChimeStopSpeedMph=15
    SeatbeltChimeStartDelaySeconds=3
    SeatbeltChimeRepeatSeconds=6
    SeatbeltChimeEntryGraceSeconds=5
    SeatbeltChimeSuppressWithLightsOrSiren=False
    SeatbeltChimePulseStatus=True

The chime requires Vehicle Control to be enabled, the player to be driving, the engine to be on, the seatbelt to be unfastened, and the configured speed gate to be met.

## Patrol HUD / Speed Limit Sign

Patrol HUD is the lightweight patrol-information display. It is meant to stay clean, readable, and separate from CompuPro.

### Location display

The normal location HUD is text-only and should not draw a large background box. Direction uses short SimpleHUD-style letters only.

    W | West Eclipse Blvd / West Eclipse Blvd | Rockford Hills
    Commissioner | Lincoln-66 | #5466

- Direction format: `N`, `NE`, `E`, `SE`, `S`, `SW`, `W`, or `NW`.
- No postal display is required for release.
- The regular text HUD should not show a speed-limit text line.
- The rank/callsign/badge line can stay visible when enabled.

### Speed limit sign

The speed limit display uses transparent PNG sign assets, not a script-drawn fake sign. There should be no box/background behind the sign.

    plugins/LSPDFR/PatrolSuite/Runtime/Images/HUD/SpeedLimits/
      speed_limit_25.png
      speed_limit_30.png
      speed_limit_35.png
      speed_limit_40.png
      speed_limit_45.png
      speed_limit_50.png
      speed_limit_55.png
      speed_limit_60.png
      speed_limit_65.png

- Supported limits are 25 through 65 MPH only.
- Speed limits normalize to the closest supported sign.
- Over-limit warning uses a soft pulsing translucent red overlay/glow, not an offset red border.
- The over-limit pulse/outline can be disabled if desired.

### Moving HUD elements

The location HUD and speed-limit sign can be moved and resized in move mode.

Control | Purpose
--- | ---
Mouse drag | Move the selected HUD element.
Mouse wheel | Resize the selected HUD element.
Arrow keys | Nudge the selected HUD element.
Home | Reset the selected HUD element.
Enter | Save placement.

Raw X/Y/Scale values are intentionally kept in `settings.ini` instead of cluttering the menu.

## CompuPro CAD

CompuPro is Patrol Suite’s CAD/MDT-style records workspace. It supports manual lookups, traffic-stop context, ALPR/RoadWatch context, reports, case files, and legal history.

### Main areas

Dashboard Vehicle Search Person Search Firearm Search Court System Case Files Traffic Stop Session Shift History Active Callout Calendar

### Important behavior

- CompuPro does not automatically search random nearby peds or vehicles while driving.
- Manual searches are player-driven.
- ALPR/RoadWatch alerts can feed clickable vehicle context into CompuPro.
- Traffic Stop Session should stay empty for the person until the subject is identified.
- When the stop is cleared, stop-specific session data should clear.

## CompuPro Display Modes: Live / Pause

### Live

Live mode is the default and uses the full RawCanvasUI CompuPro interface. It is the recommended public default for release.

- Full visual CAD shell.
- Mouse support.
- Custom background support.
- Shared palette system.
- Best visual match to the current CompuPro identity.
- Does not hard-pause gameplay.

### Pause

Pause mode is controlled only through `settings.ini`. It uses a paused computer-style scripted interface and should not use the RawCanvasUI Live overlay.

- Pauses/freezes gameplay while open.
- Locks Patrol Suite gameplay hotkeys while the computer is active.
- Uses the same CompuPro data backend as Live mode.
- Supports person, vehicle, firearm, reports, evidence, traffic-stop, and system pages.

Pause mode should be treated as an advanced alternate display mode until it has had wider public testing. Keep Live as the default.
The experimental Live Input Guard was removed for release. Some external plugins read physical key states directly, so users who need a fully modal CAD should use Pause mode.

## Records, Priors, Reports & Evidence

### Person Records

Person records should include identity, DOB, license, warrant status, alcohol/drug indicators, notes, and legal history. Priors and history belong inside the person record view, not as a detached top-level system.

### Legal history / priors

- Citations.
- Arrest reports.
- Generated local background entries when provider data is unavailable.
- Active warrant detail when a provider confirms wanted/warrant status.
- Fine, bond, jail time, probation, court outcome, narrative, source, and date details when available.

### Seized Evidence / Contraband Intake

Evidence can be added from traffic-stop context or person context and linked into reports/cases.

- Narcotics.
- Weapon evidence.
- Stolen property.
- Drug paraphernalia.
- Open container.
- Other evidence.

Evidence should link to the person, vehicle/plate, traffic stop session, arrest report, citation notes, court case, and case file where applicable.

## RoadWatch, Plate Reader, ALPR & Radar

RoadWatch is Patrol Suite’s radar and plate-reader workspace. Radar, Plate Reader, and ALPR are separate displays, but they can still share vehicle context with CompuPro when needed.

### Separate displays

- Plate Reader can be powered on by itself with `NumPad7`.
- Opening Plate Reader by itself should not open Radar or ALPR.
- Radar can wake/show the Plate Reader display when radar is active.
- ALPR can wake/show the Plate Reader display when ALPR is active.
- Radar, Plate Reader, and ALPR can each be moved and scaled individually.
- The large background boxes/backplates are removed for a cleaner overlay look.

### Display movement

RoadWatch move mode lets users place each display independently.

Control | Purpose
--- | ---
Tab | Cycle selected display: Radar / Plate Reader / ALPR.
Mouse drag | Move the selected display.
Mouse wheel | Resize the selected display.
Arrow keys | Nudge the selected display.
Home | Reset the selected display.
Enter | Save placement.

### Radar / Plate Reader controls

Control | Default | Purpose
--- | --- | ---
Radar Power | NumPad9 | Toggle radar power.
Radar Transmit | NumPad0 | Toggle radar transmit.
Radar Mode | NumPad1 | Cycle moving/stationary and closing/away behavior.
Fast Lock | NumPad5 | Lock fastest valid radar target.
Plate Reader Power | NumPad7 | Toggle the standalone Plate Reader display.
Plate Lock / Context Lock | NumPad4 | Lock the front plate for Plate Reader use, or the appropriate RoadWatch context when Radar is active.
Auto Lock | NumPad2 | Optional speed-limit based radar lock behavior.

### ALPR behavior

- Emergency-vehicle focused.
- Alerts should feed CompuPro cards/context.
- Manual plate lookup should agree with ALPR/RoadWatch context when provider data is available.
- Generated alerts should not invent owner warrants unless provider data confirms them.
- ALPR/RoadWatch hit cards can be cleared one by one or all at once.

## Patrol Tools

### Long Weapon Stow

Supports visual long-gun stowing with front/back position and advanced offset tuning.

### Smart Taser

Supports limited cartridges, reload behavior, CID display, probe wires, reactivation, drive-stun behavior, dry-fire feedback, and provider/input compatibility safeguards.

### OC Spray

Supports equipping, spray capacity, refill audio, canister UI, NPC irritation reactions, and self-contamination options.

### Lidar Gun

Supports live speed readout, plate/model/direction details, lock/unlock, signal quality, and report/evidence context.

### Road Equipment

Spike strip / road equipment features should be cleaned up after use and tested for stable vehicle tire interaction.

## Audio & Customization

Audio folders live under:

    plugins/LSPDFR/PatrolSuite/Audio/

### Common folders

- `Audio/Seatbelt/`
- `Audio/SmartTaser/`
- `Audio/OCSpray/`
- `Audio/LidarGun/`
- `Audio/RadarSystem/`

Seatbelt chime requires `Seatbelt_Chime.mp3` or a supported fallback file in `Audio/Seatbelt/`.

### HUD speed-limit signs

Place speed-limit PNGs in `Runtime/Images/HUD/SpeedLimits/`. Release builds should include the supported 25–65 MPH signs and the matching `SpeedLimits.csv` data file when used by the build.

### Custom CAD backgrounds

Place CAD background images in the configured CAD background folder. Keep images reasonable in size to avoid loading delays.

## CompuPro & HUD Color Palettes

CompuPro and Patrol HUD use the same palette names, but they save separately so CAD and HUD can use different colors.

    [CompuPro]
    ColorPalette=Classic Navy

    [PatrolHUD]
    HudColorPalette=Blue

HUD palettes should resolve to distinct readable colors instead of falling back to Classic Navy.

Classic Navy Grey Dark Grey Blue Dark Blue Light Blue Cyan Teal Green DGreen Olive Yellow Amber Orange Red Crimson Pink Purple Violet Brown Tan White Black High Contrast LSPD Blue Sheriff Tan State Police Federal Dark Ice Blue Midnight Slate

## Troubleshooting

### CompuPro text unavailable in this RPH build

This means the game/RPH build did not expose the text-input method the plugin attempted to use. Current CompuPro Pause builds should use Patrol Suite’s scripted text-entry overlay instead. Update to the latest CompuPro patch if this appears.

### Pause mode opens but Live CAD disappears or blinks

Pause mode should not draw the RawCanvas Live CAD overlay. Use the Pause computer shell. If RawCanvas appears for a frame, make sure the latest Pause mode patch is installed.

### Seatbelt chime does not play

- Confirm Seatbelt Chime is active.
- Confirm the player is driving, unbuckled, above the configured speed, and engine-on.
- Confirm `Seatbelt_Chime.mp3` exists in `Audio/Seatbelt/`.

### Crash shortly after going on duty

If the crash log points to the HUD speed-limit over-limit pulse or Raw Frame Render, update to the latest Patrol HUD build. Current builds avoid unsafe native time calls inside the raw render callback.

### RoadWatch display opens more than expected

Plate Reader, Radar, and ALPR are separate displays. Plate Reader alone should not open Radar or ALPR, but Radar and ALPR can intentionally wake the Plate Reader display for shared plate context.

### Provider data looks incomplete

Set provider preference to Auto first. Confirm the optional provider is installed and loaded before starting the patrol. Native fallback records are less detailed by design.

### Traffic Stop Session shows an old person

Traffic Stop Session should stay ID-pending until the current subject is identified. If old person data appears, update to the latest Traffic Stop Session cleanup patch.

## Known Conflicts & Compatibility Notes

- Other CAD/MDT/report systems can overlap keybinds or record flows.
- Other ALPR/radar systems can duplicate scans, alerts, or target locks.
- Other fuel/vehicle-control scripts can fight engine, door, fuel, siren, or indicator behavior.
- Weapon-control mods can affect taser, OC Spray, flashlight, or weapon stow behavior.
- Custom weapon DLCs can conflict when they edit the same weapon metadata files.
- HUD/cursor/overlay plugins can conflict with RawCanvasUI or paused-menu cursor behavior.
- Some external plugins may still respond to their own physical keybinds while Live CompuPro is open. Use Pause mode for a fully modal CAD experience.
- ELS and DLS lighting setups should be tested with Automatic Siren Cutout before public support claims.

Do not automatically edit another plugin’s INI. Patrol Suite should detect and adapt where practical, but users should control their own external plugin settings.

## Final Release Check

- Clean rebuild completed.
- Fresh install completed.
- Config.ini and settings.ini generate correctly.
- First-run setup wizard saves choices.
- Live CompuPro full patrol-flow test completed.
- Pause CompuPro opens, pauses, accepts input, and closes cleanly.
- Provider tests completed for Auto, Policing Redefined, Stop The Ped, and Native fallback where installed.
- Patrol HUD text display, HUD palette, speed-limit PNG signs, over-limit pulse, and HUD move/resize tested.
- RoadWatch Radar, standalone Plate Reader, ALPR alert, individual display movement, manual plate lookup, and Traffic Stop Session linking tested.
- Seatbelt, fuel, vehicle status, signals, and siren cutout tested.
- Smart Taser, OC Spray, Lidar, weapon stow, and road equipment smoke-tested.
- Public release folder contains no Visual Studio cache, populated debug logs, bin/obj artifacts, old patch zips, donor/reference folders, source-only leftovers, or test files.
- Final HTML guide included in the public ZIP.