Repository navigation
v1.2.0
Removed
- Redundant Manual Refresh Buttons (
frontend/src/views/ToolsView.tsx,RefineryView.tsx,BlueprintsView.tsx,SettingsView.tsx,Views/MainWindow.axaml):- Removed the unnecessary "Aktualisieren" refresh button from the Tools & Maintenance header banner (
ToolsView), as status is automatically loaded on mount and kept in sync via reactive IPC events (TOOLS_UPDATED) and action callbacks. - Removed isolated, redundant refresh buttons from the Refinery tab bar (
RefineryView), Blueprints category bar (BlueprintsView), OCR configuration header (SettingsView), and the desktop Avalonia tools header (MainWindow.axaml).
- Removed the unnecessary "Aktualisieren" refresh button from the Tools & Maintenance header banner (
Added
- Full GPU Driver & DirectX Shader Cache Purge (
Core/MaintenanceService.cs,frontend/src/views/ToolsView.tsx):- Expanded shader cache detection and cleanup beyond Star Citizen client folders to include NVIDIA driver caches (
%LOCALAPPDATA%\NVIDIA\DXCache,GLCache,%APPDATA%\NVIDIA\ComputeCache,NV_Cache), Windows DirectX shader cache (%LOCALAPPDATA%\D3DSCache), and AMD Radeon driver caches (AMD\DxCache,GLCache). - Implemented resilient per-file deletion with active-handle protection, safely clearing driver cache directories while skipping files held open by the Windows Desktop Window Manager (DWM).
- Forces Star Citizen and the GPU driver to perform a complete, clean shader recompilation on launch, resolving micro-stuttering and preventing stale GPU binary blobs from being reused.
- Expanded shader cache detection and cleanup beyond Star Citizen client folders to include NVIDIA driver caches (
- Shader Cache & Crash Dump Maintenance Feedback & Game Guard (
Core/MaintenanceService.cs,Core/Photino/PhotinoBridge.cs,frontend/src/views/ToolsView.tsx):- Added active game detection (
IsStarCitizenRunning) to prevent silent deletion failures and file-lock errors while Star Citizen is actively running, warning pilots with an immediate in-app and in-game prompt to exit the game first. - Upgraded file deletion routines in
CleanShaderCacheandCleanCrashDumpsto recursively clean individual files and reset attributes, returning exact freed megabytes and deleted file counts. - Connected native Win32 Always-On-Top Toast Overlay (
🧹 SHADER-CACHE GELEERT/⚠️ SHADER-CACHE) and enhanced in-app toast styling with distinct warning/error badges (AlertTriangle). - Added automatic
TOOLS_UPDATEDIPC event broadcast so all maintenance cards refresh disk metrics immediately upon clearing.
- Added active game detection (
- Automatic Screenshot Loadout Reading & In-Game Toast Notifications (
Core/Ocr/ScreenshotLoadoutWatcher.cs,Core/Ocr/OcrEngineService.cs,Core/Photino/PhotinoBridge.cs):- Implemented robust automatic reading of Star Citizen screenshots with multi-event watching (
Created,Changed,Renamed) and size-stabilizing file readiness polling (WaitForFileReadyAsync), eliminating file-locking races and premature reads while the game is writing the file. - Added intelligent screenshot folder auto-detection that prioritizes the active
Settings.LogPathdirectory as well asJ:\StarCitizen\LIVE\ScreenShotsbefore scanning standard system paths. - Connected the native Win32 Always-On-Top Toast Overlay (
🛸 SCHIFFS-AUSRÜSTUNG ERFASST) to display recognized ship loadouts, component counts, and livery names directly over the game window upon detection (via watcher, manual scan, or clipboard). - Switched
OcrEngineService.RecognizeImageFileAsynctoFileShare.ReadWriteto allow seamless parallel reads of newly captured screenshots.
- Implemented robust automatic reading of Star Citizen screenshots with multi-event watching (
- Robust ASOP Loadout Estimate Extraction (
Core/Ocr/ScreenshotLoadoutWatcher.cs):- Overhauled OCR parsing for ASOP Fleet Manager "LOADOUT ESTIMATE" screens with paired NAME/TYPE column parsing and comprehensive Star Citizen component fallbacks.
- Fixed tree marker regex stripping so words beginning with 'L' (Liveries, Lightstrike, Laser) are preserved intact.
- Corrected model number normalization so weapons with trailing zeros (e.g. Mantis GT-220) maintain their exact designation.
- Automatic GPS Waypoint Recording & POI Editing (
Core/PoiClipboardWatcher.cs,Core/Photino/PhotinoBridge.cs,frontend/src/components/LocationDetectedPopup.tsx,frontend/src/views/PlacesView.tsx):- Automatically records and saves detected
/showlocationcoordinates directly into the SQLite database as permanent GPS waypoints without requiring manual form entry. - Automatically detects nearby landmarks/POIs (within 15km) to provide smart names like
GPS: <Landmark>orGPS HH:mm:ss. - Built-in duplicate protection ensures locations copied within 30m of an existing waypoint do not create redundant entries.
- Displays the native Win32 Always-On-Top Toast Overlay (
📍 GPS-WEGPUNKT HINZUGEFÜGT) and broadcastsUSER_POIS_UPDATEDso all views update in real time. - Fixed viewport overlay positioning and clipping by lifting
LocationDetectedPopupto the application root container with dedicated fixed coordinates on the bottom right, eliminating sidebar collision. - Added an inline rename/edit drawer directly in the GPS HUD popup to adjust name, category, and notes on the fly.
- Added full POI editing and renaming support with an
Editaction on all POI cards inPlacesView.
- Automatically records and saves detected
- Optional HOTAS & Joystick Profiler with 1-Click Swap & Bindings Explorer (
Core/Hotas/,Core/Settings.cs,Core/Photino/PhotinoBridge.cs,frontend/src/views/ToolsView.tsx,frontend/src/views/SettingsView.tsx):- Implemented a complete HOTAS & Joystick profiling subsystem for Star Citizen pilots inspired by controls reverse-engineering.
- Automatically parses the live
actionmaps.xmlprofile, extracting connected joysticks, deadzones per axis, exponential sensitivity curves, and custom rebinds. - Detects USB Vendor and Product IDs directly from Star Citizen DirectInput GUIDs with friendly manufacturer recognition (Thrustmaster, VKB-Sim, Virpil, Logitech, Saitek, Winwing, etc.).
- Correlates connected joysticks with Star Citizen startup log notices (
- Connected joystick0: <Product> <GUID>) to detect Windows USB device order swaps (js1⇄js2). - Provides two instant swap remedies: a 1-click automatic
actionmaps.xmlprofile retargeting tool with automatic pre-swap backups, and a one-click copy button for the in-game console commandpp_resortdevices joystick 1 2(no game restart required). - Added an interactive Keybindings Explorer with real-time text search, per-device filters (Stick 1, Stick 2, Keyboard, Mouse), category filters (Flight, Combat, Systems, Industrial, Scanner, General), and friendly German action labels.
- Supports one-click profile export to
user\client\0\controls\mappings\layout_<name>_exported.xmlwith standardCustomisationUIHeadermetadata. - Configurable as an optional subsystem via
HotasProfilerEnabledin Settings and accessible as a dedicated tab inToolsView.
- Multi-Crew Boarding & Ship Comms Channel Recognition (
Core/ShipChannel.cs,Core/LogParser.cs):- Overhauled ship communication channel parsing to detect when crew members board or leave player-owned ships (
Painful_Pilot has joined the channel 'Argo MOTH : gOOvER'), or when the player boards multi-crew vessels owned by other pilots (RSI Perseus : GHO5T-04K). - Stripped preceding timestamps and message prefixes from raw channel log lines so handles are cleanly extracted even outside notification wrappers.
- Added channel event debouncing (15s window) to eliminate duplicate events caused by game engine HUD queues and fades.
- Accurately tracks active crew members in session metadata, Events View, and Blackbox.
- Overhauled ship communication channel parsing to detect when crew members board or leave player-owned ships (
- ASOP Fleet & Insurance Entitlement Tracking (
Core/LogParser.cs,Core/Photino/PhotinoBridge.cs,frontend/src/views/FleetView.tsx,frontend/src/services/photinoBridge.ts):- Implemented automatic extraction of ASOP terminal query notices (
<VehicleListQuery>), capturing total owned fleet vehicles and currently active insurance entitlements. - Added live ASOP telemetry badge in
FleetViewheader displaying real-time ready-vs-claim ship count (e.g.ASOP: 19/21 bereit (2 Claim)). - Logs session vehicle events when ASOP fleet counts update.
- Implemented automatic extraction of ASOP terminal query notices (
- Modern Star Citizen 4.x Hangar Status Detection (
Core/LogParser.cs):- Added recognition for modern 4.x ATC notices including
Joined hangar queueandHangar Request Completed.
- Added recognition for modern 4.x ATC notices including
- Kiosk Item Sale Tracking in Ledger & Financial History (
Core/LogParser.cs,Models/MarketModels.cs,Core/Database.cs):- Implemented end-to-end tracking for selling items (ship components, weapons, armor, containers) at kiosks and shops via
SShopSellRequestcorrelated withRmShopFlowResponse (type[Selling], result[Success]). - Added
ConfirmedSaleRecordmodel andConfirmedSalescollection inLogParser. - Added automatic "Item verkauft" ledger bookings to
LedgerRecords, ensuring income from kiosk sales is accounted for in financial overviews and ledger timelines alongside purchases and commodity trading.
- Implemented end-to-end tracking for selling items (ship components, weapons, armor, containers) at kiosks and shops via
- Detailed Mission Objective Step Tracking & Progress Badges (
Core/LogParser.cs,Core/Photino/PhotinoBridge.cs,frontend/src/views/MissionsView.tsx,frontend/src/services/photinoBridge.ts):- Integrated intermediate mission objective progress tracking from
<ObjectiveUpserted>events (MISSION_OBJECTIVE_STATE_COMPLETED). - Added smart objective label detection identifying specific actions: cargo pickups (
Fracht abgeholt), deliveries (Fracht geliefert), phase completions (Phase abgeschlossen), and combat target eliminations (Ziel eliminiert). - Emits real-time
EventKind.Missionlog entries in the Live Log and Events View displaying progress counters (e.g.Teilziel: Fracht abgeholt (1/2) · Junior | Stellar Small Haul). - Added
stepsDone,stepsTotal, andprogressTexttoMissionItemDtoand displayed dynamic progress badges on active contracts inMissionsView.
- Integrated intermediate mission objective progress tracking from
Fixed
- Windows 11 Identification from StarEngine Logs (
Core/MaintenanceService.cs,frontend/src/views/ToolsView.tsx):- Corrected OS version detection where StarEngine / CryEngine logs the legacy NT kernel major version as
Windows 10 64 bit (build 10.0.X). ImplementedNormalizeWindowsVersionto accurately classify all NT builds >= 22000 (e.g. build 26200 / 24H2) as Windows 11 in system diagnostics and the frontend hardware badge.
- Corrected OS version detection where StarEngine / CryEngine logs the legacy NT kernel major version as
- Ship Equipment Detection & ASOP Loadout Estimate Column OCR Overhaul (
Core/Ocr/ScreenshotLoadoutWatcher.cs,frontend/src/components/ShipLoadoutModal.tsx):- Overhauled ASOP Terminal "LOADOUT ESTIMATE" scanning to utilize a two-column paired parsing algorithm matching items under the
NAMEcolumn directly with corresponding rows in theTYPEcolumn (Cooler,Jump Module,Power Plant,Quantum Drives,Radar,Shield Generator,Tractor Beam,Turret,Gun,Missile Rack,Liveries), resolving the issue where only 5 components were detected for vessels like the Cutlass Black. - Expanded the comprehensive Star Citizen component keyword fallback catalog with stock Cutlass components and standard equipment (
ColdSnap,Odyssey,Chernykh,CoverAll,SureGrip S1,VariPuck S3 Gimbal,MSD-442,MSD-423). - Fixed tree-marker regex in OCR line cleaning (
^(?:[><|•·\*\.└├│\-]+|L\s+)[\s\-]*) which previously stripped leading capital lettersLfrom regular words likeLiveries(iveries),Lightstrike, andLaser. - Fixed model number normalization bug where unconditionally stripping
0truncated weapon and shield models ending with zero (e.g.Mantis GT-220truncated toMantis GT-22, preventing Pips projectile velocity matching). - Preserved balanced parentheses in component specification tags (e.g.
(Civ/2/C),(Mil/2/B)). - Added OCR typo normalizations for
SureGrip Sl->SureGrip S1andVariPuck sa->VariPuck S3.
- Overhauled ASOP Terminal "LOADOUT ESTIMATE" scanning to utilize a two-column paired parsing algorithm matching items under the
- Party Join/Leave Log Contamination (
Core/LogParser.cs):- Prevented ship channel join/leave notifications from falsely triggering party member join or leave log entries.
- Premature Contract Completion Bug on Multi-Step Missions (
Core/LogParser.cs):- Fixed a critical issue where completing an initial intermediate objective (such as the first pickup of a multi-drop hauling contract) prematurely marked the entire mission as
Completed, causing active missions to vanish from the active contracts view. - Contracts now correctly remain
InProgressuntil all objective steps are fulfilled or official contract completion notifications are received. - Added
_contractObjectives.Clear()toLogParser.Reset()to prevent cross-session objective state pollution.
- Fixed a critical issue where completing an initial intermediate objective (such as the first pickup of a multi-drop hauling contract) prematurely marked the entire mission as
- Bumped SQLite
CurrentParserVersionto 41 inCore/Database.csto re-index historical sessions with multi-crew boarding events, ASOP fleet stats, accurate contract states, and confirmed sale ledger entries.
🛡️ Security & Integrity
- SHA-256 (SCLogMate.exe):
FEA71CD35F68B4039A9691D673F05DAE95FDC14FC3284049F67F8BC947E15F64 - VirusTotal Report: Scan Results
📋 Full Changelog: https://github.com/gOOvER/SCLogMate/blob/main/CHANGELOG.md