Jump to content

[WIN]Game Data Switcher - GDS [V1.0.5]


Icecovery

Recommended Posts

CmQ2Zd4.png

 

Game Data Switcher - GDS

Do you want to play stock and RSS game at the same time?

Do you want a clean GameData to debug your Mod?

Are you worried about wasting too much disk space if you copy all game files?

Here is the solution:

Game Data Switcher can help you manage your Mods, it can create more than one GameData so you can choose one of them and launch the game.

But wait, there is more:

This light tool(Only 607 612KB!) can also allow you quickly choose a launch argument form three options, make your game faster.

New: Now support quick switch different language

New: Now allow you choose window mode form LaunchKSP

New: Now LaunchKSP setting will be saved.

New: Automatic backup all Log

New: Support CKAN

New: Clone GameData

Note: Do not use the GameData that created by the previous version of V1.0.2.

Please copy all the mods and save to somewhere else, delete old GameData and Saves and re-create new GameData by V1.0.2!

ZUaflS2.png

UI of V1.0.3

How it works:

Note: GDS can process different Saves folder now, don't need to worry about choosing the wrong to save and damage the vehicle there anymore.

Game Data Switcher is developed using C# and a little bit VB, it uses a simple method to switch between many GameData.

Here I have 25 GameData folders in a game root folder at the same time. But KSP will only read the Mods in folder "GameData".

GDS will save the NAME of this folder in a file under this folder called "GameDataData.data", and add "_NAME" at the back of the name of all non-default GameData folders, so they will not be read by KSP.

When a GameData set as the default GameData, GDS will remove the "_NAME" from the back of the selected folder name, and add "_NAME" back to the previous folder.

7SUPEPP.png

^Main window of GDS, with 25 GameData Folders

risJYbb.png

^GameData Folders in the File Explorer

nnDjmwX.gif

^This GIF shows how to Rename a GameData folder and how to set the default GameData folder.

About creating a new GameData, GDS will create a new folder call "GameData_NAME" under the game root folder, and create "GameDataData.data" file under this new folder. At last, it will copy the "Squad" folder from the default GameData folder. Starting V1.0.5, GDS will also copy the DLC file (if present).

dDSMXo6.gif

^this GIF shows how to create a new GameData folder and rename it(The part of copying Squad folder has been cropped, the actual time may be longer(Depends on your hard drive speed))

About launch KSP part, the three arguments will force KSP launch by using Direct3D 11, Direct3D 9 Or OpenGL, they can make your KSP use less memory.

If your system is in 32bit or you are playing a KSP version before 1.2.2, x64 option will be unavailable.

 

Download: 

Spacedock: click here

 

To Use:

Put the GameDataSwitcher.exe under KSP root folder, and run it.

It will automatically create "GameDataData.data" file under the original GameData folder.

If you already have GameData created by your own, change the name of the folder as "GameData_YOURFOLDERNAME", and create "GameDataData.data" file under each GameData folder, the content should be only one line with the following format.

GameDataData.data:

YOURFOLDERNAME

Then, change the name of "saves" folder as "saves_YOURFOLDERNAME", If you don't have multiple yet, please create a folder and name it as "saves_YOURFOLDERNAME", and copy stock scenarios and training folder to this new folder. 

 

Author:

Development: @Icecovery
Logo design: @01010101lzy
Final Check: @Acea

 

Changelog:

Spoiler

V1.0.5 - 20180314

GDS will now copy the DLC file (if present) when creating a new GameData

Add option to choose whether to make backup logs

Add delete logs button

 

V1.0.4 (Unpublished)  - 20180313

Merged pull request #2 (Thanks linuxgurugamer)

-Fixed error with missing slash when trying to rename Gamedata directory(Issue #1)

-Fixed errors when one of the buildID.txt or both of the files is missing

-Fixed error with renaming the buildID.txt files where complete path was being passed in the second argument

bug fixed

 

V 1.0.3 - 20180219

Add Clone Button

Fixed bug about CKAN

 

V 1.0.2 - 20180208

Can save LaunchKSP setting now

support CKAN

backup all log

support switch language

Optimized code

Added a lot of notes

Improve the UI

Allow change window mode at LaunchKSP setting

Maybe Something else but I forget

V 1.0.1 - 20180201

Compressed logo in about folder, save more memory.

Add a function make it can process different Saves folder now. Don't need to worry about choosing the wrong to save and damage the vehicle there anymore

V 1.0.0 - 20180131

Release.

2

 

Known Issues:

For some reason(rights or readonly), GDS cannot change the folder name if the folder is under /steamapps path. To fix it, please move the game to another path that is not under /steamapps. If a possible solution is found, I will fix it soon.

 

I believe there are many other issues with this application(I only spent a day to develop it), you can report the issues you found on this topic or GitHub issues report page.(There is also a link in the application)

 

Donate:

If you like this application, you may wish to try to donate me a cup of coffee and make me have enough energy to keep study in my high school class after making these things! Thank you! :D

 

Source Code:

Github: click here

 

License: 

Game Data Switcher was released under GNU General Public License v3.0

[GPLv3 Logo]

Edited by Icecovery
Add a known issue
Link to comment
Share on other sites

Very nice! Simple but certainly usefull.
I suppose that the same logic should be done with the "Saves"' folder too, not only GameData. Else loading a save with a wrong GameData might corrupt save.
So changing "Saves" names too would allow error proofing your tool

Link to comment
Share on other sites

8 minutes ago, Garlik said:

Very nice! Simple but certainly usefull.
I suppose that the same logic should be done with the "Saves"' folder too, not only GameData. Else loading a save with a wrong GameData might corrupt save.
So changing "Saves" names too would allow error proofing your tool

Yeah it is really need, will add this function soon.

Link to comment
Share on other sites

I am always wary of .exe files, but that might be just me.

Alternatively use symbolic links, one set of files (nearly). What I mean is this, have an existing KSP installation. Copy the whole thing and give it a new name. Go to your GameData folder. Delete everything in the copy. Or do your copying piecemeal and leave GameData empty. In the new GameData make sym links to the mods you want, from the first install. You can make as many KSP installtions as you like. Yes you do need a non-sym copy of KSP, but that is small compared to most of the GameData folder sizes. Launcher_Data folder can be sym linked. This also removes the issue of saves, since each KSP installation has its own save game folder. Yes this does work on windows, that is how I play KSP. Windows 7 Pro.

Link to comment
Share on other sites

20 minutes ago, Apaseall said:

I am always wary of .exe files, but that might be just me.

Alternatively use symbolic links

Well, KSP is an .exe but that is not your concern of course. However for a lot of people even CKAN is already hard and this is a great way to manage multiple configurations.

I’m tempted to write this as a Python script with A tcl/tk interface. That should alleviate security concerns.

Edited by Kerbart
Link to comment
Share on other sites

On 2018/2/1 at 1:15 AM, Apaseall said:

I am always wary of .exe files, but that might be just me.

Alternatively use symbolic links, one set of files (nearly). What I mean is this, have an existing KSP installation. Copy the whole thing and give it a new name. Go to your GameData folder. Delete everything in the copy. Or do your copying piecemeal and leave GameData empty. In the new GameData make sym links to the mods you want, from the first install. You can make as many KSP installtions as you like. Yes you do need a non-sym copy of KSP, but that is small compared to most of the GameData folder sizes. Launcher_Data folder can be sym linked. This also removes the issue of saves, since each KSP installation has its own save game folder. Yes this does work on windows, that is how I play KSP. Windows 7 Pro.

Due to the fact that I've already solved saves folder problem, there are no reasons to change it now. Thanks for your advice.:D

20 hours ago, shdwlrd said:

Icecovery, Me and my laptop thank you. This will free up a ton of space on my little SSD.

You are welcome:D

3 hours ago, TheKurgan said:

NICE! can you add this argument?

  -popupwindow

I like to run KSP in full screen windowed mode.

Sure, will add it at next version.

Link to comment
Share on other sites

19 minutes ago, Icecovery said:

Sure, will add it at next version.

AWESOME! Thank you Icecovery.

As a player and a mod tester, I have 4 installs of KSP on my desktop.

"Stock" - Steam (never played, no additional mods) - Used to copy and make other installs. Ran once and kept up to date.

"To Boldly Go" (my career, space exploration game 150ish mods)

"MFB" (Missiles, Fighters and Boats 50ish mods) - my mod testing install with BDA

"Quick" ( an install for quick troubleshooting of a specific mod with squad and maybe a couple other suspected conflicting mods)

So, this mod is awesome for me. 

I know some of you have more installs then me..

 

 

 

Link to comment
Share on other sites

8 hours ago, linuxgurugamer said:

Can you add ckan support?  Not to install by ckan, but to manage different ckan directies along with the gamedata folders

I probably only have to add a function to manage the different "installed-default.ckan" file under the CKAN folder? That will be pretty easy:rolleyes:

Edit: And also "registry.json"

Edited by Icecovery
Link to comment
Share on other sites

2 hours ago, Icecovery said:

I probably only have to add a function to manage the different "installed-default.ckan" file under the CKAN folder? That will be pretty easy:rolleyes:

Edit: And also "registry.json"

The following files:

  • compatible_ksp_versions.json
  • GUIConfig.xml
  • installed-default.ckan
  • registry

 

Link to comment
Share on other sites

https://drive.google.com/open?id=1Z-986PyctecwqreZNg5sCAEaYctRyVoC

Help??

Sorry, this mod sounds great but I can't seem to get it to work....

Thanks

 

....Should probably explain, this happens when I try to set a different game data folder as default. Then the origional game data is renamed and then I have to rename it again to open up the App again....

Edited by Adz
Link to comment
Share on other sites

13 hours ago, Adz said:

https://drive.google.com/open?id=1Z-986PyctecwqreZNg5sCAEaYctRyVoC

Help??

Sorry, this mod sounds great but I can't seem to get it to work....

Thanks

 

....Should probably explain, this happens when I try to set a different game data folder as default. Then the origional game data is renamed and then I have to rename it again to open up the App again....

That's...weird.:confused:

This has never happened during testing, can you describe your steps more detailed?

On 2018/2/3 at 6:37 AM, Mrcarrot said:

Suggestion: have separate logs for different GameData folders, so only the correct KSP.log, etc. gets overwritten and debugging games is easier.

Will make backup log after change GameData starting from next version.

Link to comment
Share on other sites

34 minutes ago, Icecovery said:

That's...weird.:confused:

This has never happened during testing, can you describe your steps more detailed?

Will make backup log after change GameData starting from next version.

I ran the stock game, then ran the application to set up a new game data and tried to set it as the default then that error message came up...

Link to comment
Share on other sites

1 minute ago, Adz said:

I ran the stock game, then ran the application to set up a new game data and tried to set it as the default then that error message came up...

So you try to change the GameData when KSP is still running? Of course that will makes the error happen.

Link to comment
Share on other sites

2 hours ago, TK-313 said:

Second with the same issue as @Adz. Placed GameDataSwitcher.exe in the game's folder, pressed "Refresh" to detect the original GameData, created a new GameData, tried to set it as default, got the error. @Icecovery, what can I do to clear up the issue?

On 2018/2/6 at 11:34 PM, Adz said:

No, I do close it down before trying again

Finally generate this error on my computer by @TK-313's description(it really doesn't happen before), I will fix it as soon as possible.

 

Link to comment
Share on other sites

V 1.0.2 - 20180208

Bug Fixed

Can save LaunchKSP setting now

support CKAN

backup all log

support switch language

Optimized code

Added a lot of notes

Improve the UI

Allow change window mode at LaunchKSP setting

Maybe Something else but I forget

XI3ewB7.png

New UI

Edited by Icecovery
Link to comment
Share on other sites

When I try to set a GameData as default, I get an "access denied" error on the GameData folder. The tool doesn't seem to be able to rename GameData. It can rename other folders TO GameData, it just can't rename GameData. Running as administrator doesn't help. Using Windows 10.

Not really sure how to sort it out, I've had lots of trouble with my KSP installs and folder locking, which I think started with BitDefender locking CKAN on me.

Link to comment
Share on other sites

I sorted out the permissions issue by simply copying the whole KSP folder to a totally new path.

Now, switching GameData's breaks CKAN. I get the following error message:

Quote

Unhandled exception:
System.NullReferenceException: Object reference not set to an instance of an object.
   at CKAN.KSP.LoadCompatibleVersions()
   at CKAN.KSP..ctor(String gameDir, IUser user)
   at CKAN.KSPManager._GetPreferredInstance()
   at CKAN.KSPManager.GetPreferredInstance()
   at CKAN.Main..ctor(String[] cmdlineArgs, GUIUser user, Boolean showConsole)
   at CKAN.GUI.Main_(String[] args, Boolean showConsole)
   at CKAN.CmdLine.MainClass.Main(String[] args) 

The original GameData folder works with CKAN, but any other GameData created by this tool seems to break CKAN for me

Edited by drhay53
Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...