@@ -32,7 +32,7 @@ public partial class Form1 : Form
3232 private bool cancelLoad = false ;
3333 private int saveType = 0 ;
3434 private Random globalRand = new Random ( ) ;
35- private WrongDefaultValueEventArgs wrongDefaultInfo = null ;
35+ public static bool psDataEnabled = true ;
3636
3737 //GUI
3838 private ModernButton activeTabButton = new ModernButton ( ) ;
@@ -172,6 +172,11 @@ public Form1()
172172 {
173173 saveChangesButton . Location = new Point ( saveChangesButton . Location . X , saveChangesButton . Location . Y - config [ "SaveButtonPosition" ] ) ;
174174 }
175+
176+ if ( config [ "EnablePSData" ] == 0 )
177+ {
178+ psDataEnabled = false ;
179+ }
175180 }
176181 catch ( Exception )
177182 {
@@ -492,10 +497,13 @@ private void openSaveButton_Click(object sender, EventArgs e)
492497 parsers . AddRange ( new INodeParser [ ] {
493498 new CharacterCustomizationAppearancesParser ( ) , new InventoryParser ( ) , new ItemDataParser ( ) , new FactsDBParser ( ) ,
494499 new FactsTableParser ( ) , new GameSessionConfigParser ( ) , new ItemDropStorageManagerParser ( ) , new ItemDropStorageParser ( ) ,
495- new StatsSystemParser ( ) , new ScriptableSystemsContainerParser ( ) , new PSDataParser ( )
500+ new StatsSystemParser ( ) , new ScriptableSystemsContainerParser ( )
496501 } ) ;
497502
498- wrongDefaultInfo = null ;
503+ if ( psDataEnabled )
504+ {
505+ parsers . Add ( new PSDataParser ( ) ) ;
506+ }
499507
500508 var newSave = new SaveFileHelper ( parsers ) ;
501509 editorPanel . Enabled = false ;
@@ -536,14 +544,6 @@ private void openSaveButton_Click(object sender, EventArgs e)
536544 return ;
537545 }
538546
539- if ( wrongDefaultInfo != null )
540- {
541- if ( new WrongDefaultDialog ( wrongDefaultInfo . ClassName , wrongDefaultInfo . PropertyName , wrongDefaultInfo . Value ) . ShowDialog ( ) != DialogResult . OK )
542- {
543- cancelLoad = true ;
544- }
545- }
546-
547547 if ( cancelLoad )
548548 {
549549 cancelLoad = false ;
@@ -630,37 +630,47 @@ private void openSaveButton_Click(object sender, EventArgs e)
630630 attrPointsUpDown . SetValue ( points [ Array . FindIndex ( points , x => x . Type == null ) ] . Unspent ) ;
631631
632632 //PSData parsing
633- var ps = activeSaveFile . GetPSDataContainer ( ) ;
634- var vehiclePS = ( CyberCAT . Core . Classes . DumpedClasses . VehicleGarageComponentPS ) ps . ClassList . Where ( x => x is CyberCAT . Core . Classes . DumpedClasses . VehicleGarageComponentPS ) . FirstOrDefault ( ) ;
635- var unlockedVehicles = new List < string > ( ) ;
636633
637- var vehicles = itemResolver . TdbIdIndex . Values . Where ( x => x . Name . StartsWith ( "Vehicle." ) && x . Name . EndsWith ( "_player" ) ) . Select ( x => x . Name ) ;
638634 var listItems = new List < ListViewItem > ( ) ;
639635
640- if ( vehiclePS != null )
636+ if ( ! psDataEnabled )
637+ {
638+ vehiclesListView . Enabled = false ;
639+ listItems . Add ( new ListViewItem ( "PSData disabled." ) ) ;
640+ }
641+ else
641642 {
642- vehiclesListView . Enabled = true ;
643- if ( vehiclePS . UnlockedVehicleArray == null )
643+ var ps = activeSaveFile . GetPSDataContainer ( ) ;
644+ var vehiclePS = ( CyberCAT . Core . Classes . DumpedClasses . VehicleGarageComponentPS ) ps . ClassList . Where ( x => x is CyberCAT . Core . Classes . DumpedClasses . VehicleGarageComponentPS ) . FirstOrDefault ( ) ;
645+ var unlockedVehicles = new List < string > ( ) ;
646+
647+ var vehicles = itemResolver . TdbIdIndex . Values . Where ( x => x . Name . StartsWith ( "Vehicle." ) && x . Name . EndsWith ( "_player" ) ) . Select ( x => x . Name ) ;
648+
649+ if ( vehiclePS != null )
644650 {
645- vehiclePS . UnlockedVehicleArray = new CyberCAT . Core . Classes . DumpedClasses . VehicleUnlockedVehicle [ 0 ] ;
651+ vehiclesListView . Enabled = true ;
652+ if ( vehiclePS . UnlockedVehicleArray == null )
653+ {
654+ vehiclePS . UnlockedVehicleArray = new CyberCAT . Core . Classes . DumpedClasses . VehicleUnlockedVehicle [ 0 ] ;
655+ }
656+ else
657+ {
658+ unlockedVehicles = vehiclePS . UnlockedVehicleArray . Select ( x => x . VehicleID . RecordID . Name ) . ToList ( ) ;
659+ }
660+
661+ foreach ( var info in vehicles )
662+ {
663+ var newItem = new ListViewItem ( info ) ;
664+ newItem . Checked = true ;
665+ newItem . Checked = unlockedVehicles . Contains ( info ) ;
666+ listItems . Add ( newItem ) ;
667+ }
646668 }
647669 else
648670 {
649- unlockedVehicles = vehiclePS . UnlockedVehicleArray . Select ( x => x . VehicleID . RecordID . Name ) . ToList ( ) ;
671+ vehiclesListView . Enabled = false ;
672+ listItems . Add ( new ListViewItem ( "No vehicle data found. Try unlocking at least 1 vehicle in-game first." ) ) ;
650673 }
651-
652- foreach ( var info in vehicles )
653- {
654- var newItem = new ListViewItem ( info ) ;
655- newItem . Checked = true ;
656- newItem . Checked = unlockedVehicles . Contains ( info ) ;
657- listItems . Add ( newItem ) ;
658- }
659- }
660- else
661- {
662- vehiclesListView . Enabled = false ;
663- listItems . Add ( new ListViewItem ( "No vehicle data found. Try unlocking at least 1 vehicle in-game first." ) ) ;
664674 }
665675
666676 vehiclesListView . SetVirtualItems ( listItems ) ;
@@ -722,10 +732,15 @@ private void saveChangesButton_Click(object sender, EventArgs e)
722732
723733 var parsers = new List < INodeParser > ( ) ;
724734 parsers . AddRange ( new INodeParser [ ] {
725- new CharacterCustomizationAppearancesParser ( ) , new InventoryParser ( ) , new ItemDataParser ( ) , new FactsDBParser ( ) ,
726- new FactsTableParser ( ) , new GameSessionConfigParser ( ) , new ItemDropStorageManagerParser ( ) , new ItemDropStorageParser ( ) ,
727- new StatsSystemParser ( ) , new ScriptableSystemsContainerParser ( ) , new PSDataParser ( )
728- } ) ;
735+ new CharacterCustomizationAppearancesParser ( ) , new InventoryParser ( ) , new ItemDataParser ( ) , new FactsDBParser ( ) ,
736+ new FactsTableParser ( ) , new GameSessionConfigParser ( ) , new ItemDropStorageManagerParser ( ) , new ItemDropStorageParser ( ) ,
737+ new StatsSystemParser ( ) , new ScriptableSystemsContainerParser ( )
738+ } ) ;
739+
740+ if ( psDataEnabled )
741+ {
742+ parsers . Add ( new PSDataParser ( ) ) ;
743+ }
729744
730745 var testFile = new SaveFileHelper ( parsers ) ;
731746 try
0 commit comments