_ ______________ _ ___ _________
| |/_/ __/ ___/ _ | / |/ / |/ / __/ _ \
_> <_\ \/ /__/ __ |/ / / _// , _/
/_/|_/___/\___/_/ |_/_/|_/_/|_/___/_/|_|by khorio
XScanner is an LSPDFR Scanner replacement/addon.
Features:
3D audio playback for plugin developers.
Ambient vehicle 3D background scanner (Local files or Broadcastify Stream)
Volume control
Audio queue
Landmark Audio
Supports MP3/WAV/OGG
Installation: Place files from the "Grand Theft Auto V" folder into your game installation folder.
Requires RageNativeUI
Adding local files for the background scanner can be achieved by placing any audio files starting with "xchattr_" into
Plugins/LSPDFR/XScanner/Audio
Settings can be found in
Plugins/LSPDFR/XScanner/Config/XScanner.ini
Ini guide is provided in the same folder explaining each setting.
What's new
- Added settings menu
- Default menu key is F8 (changeable in the ini)
Changelog:
* v2.1.350.1644 Changes: Added compatibility with LSPDFR v0.4.8748.23994 Fixed a potential thread crash on the Saved Stream manager when the plugin unloads unexpectedly Added force check option on the saved broadcasts window Updated hooking method to avoid breaking on future LSPDFR updates * v2.1.336.1566 Changes: Background threads not shutting down correctly on unload, potentially causing a memory leak Made saved broadcast background status check asynchronous Landmark settings not applying properly Label stream id input Simplified keybind input code Rewrote Memory Hook Engine Added missing LSPDFR BackupUnit and Units Responding hooks * v2.1.324.1497 Fixed: 30fps drop due to DllImport not appreciating fibers. Change: Renamed "Available Broadcasts" to "Top 50 Broadcasts" to avoid confusion. Added: Saved Broadcasts, this is a sidemenu of Top 50 Broadcasts (the old "Available Broadcasts") and contains any stream you either manually entered or have selected from the top 50 list. You can remove any you don't want from this menu with the assigned button shown on the bottom right of the screen (default space) or through XScanner/Config/SavedBroadcasts.xml. * v2.1.323.1449 Fixed: Managed stream buffer would only update while the menu was open. Fixed: Stream id's higher than 32768 were being treated as invalid. (thanks unitedOrange66) Fixed: 3D spatials relating to gameplay cam viewmode. Fixed: Color indicator on current region. Fixed: Local files would sometimes not swap properly for currently playing audio when changing to shoulder. Added: Open download page button on main menu when an update is available Added: Changing intro/outro sound will now play a preview on change (it already did this but only if you selected the menu item). Added: Menu collapsing Added: Stream info on current stream description Added: Game focus loss detection on all sound engines Added: Background scanner volume boost slider Changes: Landmark audio will now only be used once when "Don't always try to find landmarks" is enabled. It won't be used again until another landmark has fired. Should fix some needless repetitiveness. Changes: Menu indicator when an update is available Changes: Menu indicators for broadcast status Improved: Buffer size suggestion/managed buffer * v2.1.316.1289 Added: Automatic buffer management Automatic update checker Menu->Auto save changes Menu->Change menu key Warnings for stream issues Menu Stream status indicator Buffer spinner (yes you can disable it in the ini) A bunch of other random little things Changes: Increased 3d volume slightly Khorio.Common has gotten a version bump Faster swapping when changing between streams Volume change previews Fixed: Menu style updates Fixed: Changing broadcastify id from Available Streams menu did not always get saved properly to the ini when saving settings. Fixed: Rare potential crash on the relay. Fixed: Unhooking of the relay should now work as intended without having to reload LSPDFR * v2.1.312.993 Added: Menu, RNUI dependency * 2.0.308.782 Fixed: Stream detection for broadcastify's updated higher quality streams on a new cdn Added: Option to swap broadcastify stream depending on the county you are currently in Config/BroadcastRegions.xml ini->BackgroundScannerRegionSpecificBroadcast ini->BackgroundScannerRegionTimeBeforeSwap * 2.0.303.753 Fixed: Typo in ini settings which resulted in the plugin not loading. Added: Added default ini again because of file lock issues * 2.0.302.751 Fixed: Borked up Enum parsing from the ini resulting in keybinds dropping back to default, should work properly now. Added: ini->Keybinds->VolumeModifierKey (default left ALT) ini->Keybinds->VolumeUpKey ini->Keybinds->VolumeDownKey Added: Background Scanner will no longer play from destroyed police vehicles Removed: No longer including default ini because it takes too much work to update for each version Ini will be generated after loading the plugin for the first time. * 2.0.302.737 Added: Support for playing files with full and partial paths This also means you can now specify Intro and Outro with a specific path instead of the (partial) filename alone for example: Intro = lspdfr\audio\scanner\RESIDENT\INTRO_01.wav (will play this specific file) or Intro = lspdfr\audio\scanner\RESIDENT\INTRO (will pick a random matching file in this folder) or Intro = lspdfr\audio\scanner\INTRO Intro = lspdfr\audio\INTRO Intro = lspdfr\INTRO (will pick a random matching file in any of the subfolders) are now valid ini entries. Obviously the more specific you are with your path the less randomness will occur. This should alleviate some of the problems with certain audio packs providing a very annoying sound called INTRO where the scanner would end up playing them as intro sounds instead. This also provides a fix for plugin collision where they have (unknowingly) similarly named audio files and end up playing the wrong ones, as they can now specify their plugins audio folder if needed (this is obviously all optional, scanner still works fine in the default mode). XScanner will do a sanity check on the first run after updating and will update the Intro and Outro sounds to the intended ones, if they still have the default values. (it will change INTRO to lspdfr\audio\scanner\RESIDENT\INTRO and OUTRO to lspdfr\audio\scanner\RESIDENT\OUTRO). It will not touch any other changes or any changes to it after the first run. Added: ini->[Keybinds] ini->[Keybinds]->PoliceScannerKey (Default: LShift) ini->[Keybinds]->BackgroundScannerKey (Default: LCtrl) Added: Skipping first 64k chunk of broadcastify streams for no particular reason whatsoever. API Fixed: API: Entity overload for PlaySoundFromPosition was not applying maxDistance properly when it was set to 0f. Added: API: XAudio->IsSoundPlaying() Added: Full and partial path support for scanner calls, see above * 2.0.296.710 Fixed: Fixed an issue where the broadcastify stream would crash the plugin when the stream died. Fixed: Stopped allowing a backlog on the stream whenever it was not playing. Added: Now discarding PlayScanner calls while the game is paused to avoid clogging up the queue for no reason. Added: ConsoleCommand->ChangeBroadcastifyStream(broadcastifyId) Added: ini->DisableIntro ini->DisableOutro ini->DontAlwaysTryToFindNearbyLandmarks -> on by default to reduce long lines of audio being called over and over (eg. pursuit updates) ini->DisableLandmarks ini->DisableScannerResetOnPause Other: Removed comments from ini, added seperate guide to keep the ini cleaner * 2.0.294.688 - Fixed: Volume control was writing to the wrong obsolete ini setting causing sound volume not to be saved properly after changing it ingame. - Fixed: Issue with the Broadcastify stream becoming corrupted resulting in nothing but low volume sound pops after some time. Some sound cracking might still occur from time to time but this is mostly due to some broadcastify streams using mp3 instead of a pcm stream. Setting the BackgroundScannerWebstreamBufferSize higher when using these streams is recommended. - Fixed: Some random changes to the 3D spatial sound calculations. - Added: Separate volume control for the Background Scanner ini->BackgroundScannerVolume - Removed: ini->BackgroundVolumeBoost ini->LinkBackgroundScannerVolume * 2.0.294.618 - Fixed: Location engine had a chance of having double direction lines when using street and landmark audio (eg. "north of street, east of noose"), will now use generic identifier to avoid this (eg "north of street, near/close to noose", "near/close to street, north of noose") - Fixed: Rewrote sound engine to use full audio blocks instead of single files, complete lines can now be reset when the game gets paused. TESTING PHASE, results may vary - Added: Broadcastify support, you can now swap the background scanner to a broadcastify stream instead, set the broadcastify id in the ini. - Added: ini->EnableBackgroundScannerWebstream ini->BackgroundScannerWebstreamBufferSize ini->BackgroundScannerBroadcastifyId - AS ALWAYS UPDATE YOUR INI FILES * 2.0.292.491 - Added: Paused game will now properly pause the audio; scanner will restart file that was in progress after the game unpauses. This is a setting for the background scanner which is off by default (ini->ResetBackgroundScannerLineAfterGamePause). - Added: ini->EnableBackgroundScannerDuringCallouts (was default:FALSE) - Added: ini->EnableBackgroundScannerDuringPursuits (was default:FALSE) - Added: Fallback system for disabling the gtav default scanner - Added: Ini validation, missing ini/ini options will now have their standard values written to it. - Added: API->optional parameter added: shortLocation in PlayScannerWithPosition(); will only play the street or direction to closest street when using IN_OR_ON_POSITION, similar to just passing STREET * 2.0.290.462 - Fixed: Background Scanner volume not being set properly - Fixed: Issues in the audiofile search engine with certain files - Fixed: Duplication bug in the landmark audio finder - Added: Added hook for LSPDFR GetIsAudioEngineBusy() - Added: Spamcontrol setting to drop audio thats being queue'd repeatedly (ini->SpamControl) - Added: ForcedRelayTimeOut for relayed audio thats sitting in the queue for too long (ini->ForcedRelayTimeOut) - Added: Audio queue check for relayed audio to prevent duplication * 2.0.289.381 - Fixed: EnableOnNPCVehicles was not being evaluated and was always true no matter the ini setting. - Fixed: Rare NullRef on the playbackcontroller. - Fixed: EnableBackGroundScanner on player not working, it will now properly play from the player NOTE: this still plays in 3d space but from the player, so it will be louder in first person than it is on the highest follow camera setting - Fixed: LinkScannerToBackgroundVolume not applying volume to the background engine properly
Edited by khorio
change description
What's New in Version v2.3.8988.39611
Released
- Fixed a bug that would in some cases invalidate queued audio instantly.




