Vostok-Save-Manager 2.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,83 @@
1
+ Metadata-Version: 2.4
2
+ Name: Vostok-Save-Manager
3
+ Version: 2.0.0
4
+ Requires-Python: >=3.10
5
+ Description-Content-Type: text/markdown
6
+ Requires-Dist: platformdirs>=1.0.0
7
+
8
+ # VSM: An open source, dead simple save manager for Road to Vostok
9
+
10
+ ## WARNINGS. Read before you use
11
+ - I am not responsible for any lost progress and saves, I encourage you to back up your files first
12
+ - I encourage you not to abuse this. The game is supposed to be hardcore, so only use this when you genuinely need it.
13
+ - DO NOT TRY TO USE THIS WHILE THE GAME IS RUNNING. I have not tested what will happen, but my assumption is nothing good.
14
+
15
+ ## Note on macOS
16
+ This application is a python project, is installed from pypi and automatically detects the operating system. There is no reason this should not work on mac, but I do not own a mac so I can not confirm it.
17
+
18
+ # Installation
19
+
20
+ ## Dependencies
21
+ Requires python 3.10 (havn't verified if it works on older versions) or newer
22
+ Requires pipx. For windows users, you can _technically_ use standard pip since windows allows you to install packages directly to global, but pipx is better and is a requirment on linux.
23
+
24
+ ## Linux
25
+
26
+ 1. Use pipx to install the package
27
+ ```shell
28
+ pipx install vostok-save-manager
29
+ ```
30
+ 2. You should automatically get access to the command ```VSM```. This is the command to launch the "main menu"
31
+ 3. After you type ```VSM``` you should see in your terminal ```What you like to do?: Load, Save, Setup, Exit: ```. Type ```setup``` to continue the setup
32
+ 4. You will be asked where the game data is located. This is not the game installation folder as Road to Vostok puts its game data in a different location than its installation
33
+ 5. You will be asked where you want your saved files to be stored. The recomended is ```default``` since it automatically creates a default directory.
34
+ 6. You will be asked where you want your backuped up save files to be stored. The recomended is ```default``` since it automatically creates a default directory.
35
+ 7. You will be asked how much time you want before you can save again. The default time is 5400 secconds, which is 1 hour and 30 minutes. You can change this to whatever you want, but it must be input as secconds and as an interger (whole number) or float (number with decimal).
36
+ 8. The setup is now done.
37
+
38
+ ## Windows
39
+
40
+ 1. Use pipx to install the package
41
+ ```shell
42
+ pipx install vostok-save-manager
43
+ ```
44
+ Or since windows doesn't strictly require packages be in a virtual environment
45
+ ```shell
46
+ pip install vostok-save-manager
47
+ ```
48
+ But pipx is recomended
49
+
50
+ 2. You should automatically get access to the command ```VSM```. This is the command to launch the "main menu". If you get an error along the lines of "VSM is not recognized as command" run
51
+ ```shell
52
+ pipx ensurepath
53
+ ```
54
+ and try again.
55
+
56
+ 3. After you type ```VSM``` you should see in your terminal ```What you like to do?: Load, Save, Setup, Exit: ```. Type ```setup``` to continue the setup
57
+ 4. You will be asked where the game data is located. This is not the game installation folder as Road to Vostok puts its game data in a different location than its installation
58
+ 5. You will be asked where you want your saved files to be stored. The recomended is ```default``` since it automatically creates a default directory.
59
+ 6. You will be asked where you want your backuped up save files to be stored. The recomended is ```default``` since it automatically creates a default directory.
60
+ 7. You will be asked how much time you want before you can save again. The default time is 5400 secconds, which is 1 hour and 30 minutes. You can change this to whatever you want, but it must be input as secconds and as an interger (whole number) or float (number with decimal).
61
+ 8. The setup is now done.
62
+
63
+ # How to use
64
+
65
+ ## How to save
66
+ 1. On the main menu type "Save."
67
+ 2. You will be prompted to name the save. This can be anything.
68
+ 3. After you input your save, the game will automatically copy and store the current save files in your game directory. No backup is needed since it is not moving or replacing anything.
69
+ 4. If you input the name of an already existing save it WILL overwrite it.
70
+ 5. You have now saved your game.
71
+
72
+ ## How to load
73
+ 1. On the main menu type "Load."
74
+ 2. You will be prompted to give the name of a save. This has to be EXACT and is case sensitive.
75
+ 3. The application automatically backs up the save files currently in your game data directory.
76
+ 4. You have now loaded a save.
77
+
78
+ # Things to add
79
+ - A GUI
80
+
81
+ # Credits
82
+
83
+ Purchase Road to Vostok on [Steam.](https://store.steampowered.com/app/1963610/Road_to_Vostok/)
@@ -0,0 +1,76 @@
1
+ # VSM: An open source, dead simple save manager for Road to Vostok
2
+
3
+ ## WARNINGS. Read before you use
4
+ - I am not responsible for any lost progress and saves, I encourage you to back up your files first
5
+ - I encourage you not to abuse this. The game is supposed to be hardcore, so only use this when you genuinely need it.
6
+ - DO NOT TRY TO USE THIS WHILE THE GAME IS RUNNING. I have not tested what will happen, but my assumption is nothing good.
7
+
8
+ ## Note on macOS
9
+ This application is a python project, is installed from pypi and automatically detects the operating system. There is no reason this should not work on mac, but I do not own a mac so I can not confirm it.
10
+
11
+ # Installation
12
+
13
+ ## Dependencies
14
+ Requires python 3.10 (havn't verified if it works on older versions) or newer
15
+ Requires pipx. For windows users, you can _technically_ use standard pip since windows allows you to install packages directly to global, but pipx is better and is a requirment on linux.
16
+
17
+ ## Linux
18
+
19
+ 1. Use pipx to install the package
20
+ ```shell
21
+ pipx install vostok-save-manager
22
+ ```
23
+ 2. You should automatically get access to the command ```VSM```. This is the command to launch the "main menu"
24
+ 3. After you type ```VSM``` you should see in your terminal ```What you like to do?: Load, Save, Setup, Exit: ```. Type ```setup``` to continue the setup
25
+ 4. You will be asked where the game data is located. This is not the game installation folder as Road to Vostok puts its game data in a different location than its installation
26
+ 5. You will be asked where you want your saved files to be stored. The recomended is ```default``` since it automatically creates a default directory.
27
+ 6. You will be asked where you want your backuped up save files to be stored. The recomended is ```default``` since it automatically creates a default directory.
28
+ 7. You will be asked how much time you want before you can save again. The default time is 5400 secconds, which is 1 hour and 30 minutes. You can change this to whatever you want, but it must be input as secconds and as an interger (whole number) or float (number with decimal).
29
+ 8. The setup is now done.
30
+
31
+ ## Windows
32
+
33
+ 1. Use pipx to install the package
34
+ ```shell
35
+ pipx install vostok-save-manager
36
+ ```
37
+ Or since windows doesn't strictly require packages be in a virtual environment
38
+ ```shell
39
+ pip install vostok-save-manager
40
+ ```
41
+ But pipx is recomended
42
+
43
+ 2. You should automatically get access to the command ```VSM```. This is the command to launch the "main menu". If you get an error along the lines of "VSM is not recognized as command" run
44
+ ```shell
45
+ pipx ensurepath
46
+ ```
47
+ and try again.
48
+
49
+ 3. After you type ```VSM``` you should see in your terminal ```What you like to do?: Load, Save, Setup, Exit: ```. Type ```setup``` to continue the setup
50
+ 4. You will be asked where the game data is located. This is not the game installation folder as Road to Vostok puts its game data in a different location than its installation
51
+ 5. You will be asked where you want your saved files to be stored. The recomended is ```default``` since it automatically creates a default directory.
52
+ 6. You will be asked where you want your backuped up save files to be stored. The recomended is ```default``` since it automatically creates a default directory.
53
+ 7. You will be asked how much time you want before you can save again. The default time is 5400 secconds, which is 1 hour and 30 minutes. You can change this to whatever you want, but it must be input as secconds and as an interger (whole number) or float (number with decimal).
54
+ 8. The setup is now done.
55
+
56
+ # How to use
57
+
58
+ ## How to save
59
+ 1. On the main menu type "Save."
60
+ 2. You will be prompted to name the save. This can be anything.
61
+ 3. After you input your save, the game will automatically copy and store the current save files in your game directory. No backup is needed since it is not moving or replacing anything.
62
+ 4. If you input the name of an already existing save it WILL overwrite it.
63
+ 5. You have now saved your game.
64
+
65
+ ## How to load
66
+ 1. On the main menu type "Load."
67
+ 2. You will be prompted to give the name of a save. This has to be EXACT and is case sensitive.
68
+ 3. The application automatically backs up the save files currently in your game data directory.
69
+ 4. You have now loaded a save.
70
+
71
+ # Things to add
72
+ - A GUI
73
+
74
+ # Credits
75
+
76
+ Purchase Road to Vostok on [Steam.](https://store.steampowered.com/app/1963610/Road_to_Vostok/)
File without changes
@@ -0,0 +1,29 @@
1
+ from shutil import copy
2
+ from pathlib import Path
3
+ from VSM.util import json_read as jr
4
+ import os
5
+ from datetime import datetime
6
+ import json
7
+
8
+ def backup():
9
+
10
+ line = "1"
11
+
12
+ backup_path = jr()['backup_path']
13
+ game_data_path = jr()['game_data_path']
14
+
15
+ backup_time = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
16
+
17
+ backup_path = os.path.join(backup_path, backup_time)
18
+
19
+ os.makedirs(backup_path, exist_ok=True)
20
+
21
+ #Defines the ".tres" suffix. I shouldn't need to do this but its the only way this shit will work.
22
+ suffix = ".tres"
23
+
24
+ #I think this is converting game_data_dir to a path instead of a string. IDK becuase when I removed it, everything fucking broke
25
+ work_dir = Path(game_data_path)
26
+
27
+ for file_name in work_dir.rglob(f"*{suffix}"):
28
+ copy(file_name, backup_path)
29
+ print('Backup successful!')
@@ -0,0 +1,38 @@
1
+ from VSM.backup import backup
2
+ from VSM.util import json_read as jr
3
+ from shutil import move
4
+ from shutil import copy
5
+ from pathlib import Path
6
+ import json
7
+ from datetime import datetime
8
+ import os
9
+
10
+ def load():
11
+
12
+ while True:
13
+ save_to_load = input("What save would you like to load?: ")
14
+
15
+ print("Backing up current save...")
16
+
17
+ backup()
18
+
19
+ save_path = jr()['save_path']
20
+ game_data_path = jr()['game_data_path']
21
+
22
+
23
+ save_name_path = os.path.join(save_path, save_to_load)
24
+ save_dir_check = Path(save_name_path)
25
+
26
+ if save_dir_check.exists():
27
+
28
+ suffix = ".tres"
29
+
30
+ work_dir = Path(save_name_path)
31
+
32
+ for file_name in work_dir.rglob(f"*{suffix}"):
33
+ copy(file_name, game_data_path)
34
+
35
+ break
36
+ print("Please input a valid save file.")
37
+
38
+ print('Load successful! Returning to main menu...')
@@ -0,0 +1,26 @@
1
+ from VSM.load import load
2
+ from VSM.save import save
3
+ from VSM.setup import setup
4
+
5
+ def launch():
6
+ while True:
7
+
8
+ mode = input("What you like to do?: Load, Save, Setup, Exit: ")
9
+
10
+ if mode.lower() == "setup":
11
+ print("Loading setup module...")
12
+ setup()
13
+
14
+ elif mode.lower() == "save":
15
+ print ("loading save module...")
16
+ save()
17
+
18
+ elif mode.lower() == "load":
19
+ print("loading load module...")
20
+ load()
21
+
22
+ elif mode.lower() == "exit":
23
+ print("exiting...")
24
+ exit()
25
+ else:
26
+ print("Please input a proper option")
@@ -0,0 +1,88 @@
1
+ #This takes a snapshot of the save files and saves them.
2
+ from shutil import copy
3
+ from pathlib import Path
4
+ from VSM.util import jsonl_read as jlr, check_paths, json_read as jr
5
+ import os
6
+ import json
7
+ import time
8
+ import datetime
9
+ import math
10
+ from platformdirs import user_config_path
11
+
12
+ jsonl_path = user_config_path('Vostok Save Manager', 'Manhattan Cafe') / 'Time.jsonl'
13
+
14
+ def check_time():
15
+
16
+ scum_time_value = float(jr()['scum_time'])
17
+ last_load_time = jlr()
18
+ till_next_load = float(last_load_time) + scum_time_value
19
+
20
+ time_now = time.time()
21
+
22
+ if time_now >= till_next_load:
23
+ can_move = 'yes'
24
+
25
+ else:
26
+ can_move = 'no'
27
+ return can_move
28
+
29
+
30
+
31
+ def save():
32
+
33
+ save_path = jr()['save_path']
34
+ game_data_path = jr()['game_data_path']
35
+ scume_time_value = jr()['scum_time']
36
+
37
+ print('Checking last save time...')
38
+
39
+ if check_time() == 'no':
40
+
41
+ time_of_save = jlr()
42
+
43
+ save_time_add = time_of_save + float(scume_time_value)
44
+
45
+ time_now = time.time()
46
+
47
+ till_next_load = math.ceil(save_time_add - time_now)
48
+
49
+ readable_time = datetime.timedelta(seconds=till_next_load)
50
+
51
+ print('You have', readable_time, "left. Please wait until saving again" )
52
+ return()
53
+
54
+ elif check_time() == 'yes':
55
+
56
+ print('You can save!')
57
+
58
+ pass
59
+
60
+ else:
61
+ print("ERROR: can_move not defined")
62
+ return()
63
+
64
+
65
+ save_name = input("Please input a name: ")
66
+
67
+ print('Saving...')
68
+
69
+ save_name_path = os.path.join(save_path, save_name)
70
+
71
+
72
+ os.makedirs(save_name_path, exist_ok=True)
73
+
74
+ #Defines the ".tres" suffix. I shouldn't need to do this but its the only way this shit will work.
75
+ suffix = ".tres"
76
+
77
+ #I think this is converting game_data_dir to a path instead of a string. IDK becuase when I removed it, everything fucking broke
78
+ work_dir = Path(game_data_path)
79
+
80
+ for tres_file in work_dir.rglob(f"*{suffix}"):
81
+ copy(tres_file, save_name_path)
82
+
83
+ time_of_save = time.time()
84
+
85
+ with open(jsonl_path, "w") as file:
86
+ json.dump(time_of_save, file)
87
+
88
+ print('Succesfully saved!')
@@ -0,0 +1,93 @@
1
+ import json
2
+ from VSM.util import check_paths, json_read as jr
3
+ from pathlib import Path
4
+ from platformdirs import user_config_path
5
+
6
+ def setup():
7
+
8
+ json_path = user_config_path('Vostok Save Manager', 'Manhattan Cafe') / 'Data.json'
9
+ def write():
10
+ print('Writing to config...')
11
+
12
+ data_to_write = {"game_data_path": game_data_path,
13
+ "save_path": save_path,
14
+ "backup_path": backup_path,
15
+ "scum_time": scum_time}
16
+ with open(json_path, 'w') as file:
17
+ json.dump(data_to_write, file, indent=2)
18
+ print("Write successful! Returning to main menu...")
19
+ check_paths()
20
+
21
+ backup_path_json = jr()['backup_path']
22
+ save_path_json = jr()['save_path']
23
+ game_data_path_json = jr()['game_data_path']
24
+ scum_time_json = jr()['scum_time']
25
+
26
+ while True:
27
+
28
+ game_data_path = input("Input the directory your save files are in. If you already did this type 'No': ")
29
+ game_data_path_check = Path(game_data_path)
30
+
31
+ if game_data_path.lower() == "no":
32
+
33
+ game_data_path = game_data_path_json
34
+
35
+ break
36
+
37
+ if game_data_path_check.exists():
38
+
39
+ break
40
+
41
+ print("Please input a proper path or option. Ensure your path does not have any qoutes or special characters")
42
+
43
+ while True:
44
+
45
+ save_path = input("Input the directory you want the files to be saved in: Default (recomended): ")
46
+ save_path_check = Path(save_path)
47
+
48
+ if save_path.lower() == "default":
49
+
50
+ save_path = save_path_json
51
+
52
+ break
53
+
54
+ if save_path_check.exists():
55
+
56
+ break
57
+ print("Please input a proper path or option. Ensure your path does not have any qoutes or special characters")
58
+
59
+ while True:
60
+
61
+ backup_path = input("Input the backup directory. This is used to backup your current save files before loading: Default (recomended): ")
62
+ backup_path_check = Path(backup_path)
63
+
64
+ if backup_path.lower() == "default":
65
+
66
+ backup_path = backup_path_json
67
+
68
+ break
69
+
70
+ if backup_path_check.exists():
71
+
72
+ break
73
+ print("Please input a proper path or option. Ensure your path does not have any qoutes or special characters")
74
+
75
+ while True:
76
+ scum_time = input("The application uses an anti-save-scum feature prevents abusing the save feature. Please input a the ammount of time you want between saves in secconds: Default: 5400 (1.5 hours): ")
77
+
78
+ if scum_time.lower() == "default":
79
+
80
+ scum_time = scum_time_json
81
+
82
+ break
83
+ else:
84
+
85
+ try:
86
+ is_valid = float(scum_time)
87
+ break
88
+
89
+ except ValueError:
90
+ print("Input must be an integer, float (number with or without decimal) or 'default'")
91
+
92
+
93
+ write()
@@ -0,0 +1,78 @@
1
+ import json
2
+ from pathlib import Path
3
+ from platformdirs import user_data_path, user_config_path
4
+
5
+
6
+ author_name = 'Manhattan Cafe'
7
+ project_name = 'Vostok Save Manager'
8
+ json_name = 'Data.json'
9
+ jsonl_name = 'Time.jsonl'
10
+ save_path_name = 'Saves'
11
+ backup_path_name = 'Backups'
12
+
13
+ def check_paths():
14
+ data_path = user_data_path(project_name, author_name)
15
+ config_path = user_config_path(project_name, author_name)
16
+ saves_path = data_path / Path(save_path_name)
17
+ backup_path = data_path / Path(backup_path_name)
18
+ json_path = config_path / Path(json_name)
19
+ jsonl_path = config_path / Path(jsonl_name)
20
+
21
+ print("Checking default path directories...")
22
+ if not saves_path.exists() and not backup_path.exists():
23
+ print('Directoris do not exist. Creating...')
24
+
25
+ saves_path.mkdir(parents=True, exist_ok=True)
26
+ backup_path.mkdir(parents=True, exist_ok=True)
27
+ print("Directories created successfully!")
28
+ else:
29
+ print('Directories already exist, nothing to do')
30
+ pass
31
+
32
+ print('Checking if config exists...')
33
+ if json_path.exists():
34
+ print('Config already exists, nothing to do')
35
+ pass
36
+ else:
37
+ print('Config does not exist. Creating with defaults...')
38
+
39
+ config_path.mkdir(parents=True, exist_ok=True)
40
+
41
+ default_json = {"game_data_path": "null",
42
+ "save_path": str(saves_path),
43
+ "backup_path": str(backup_path),
44
+ "scum_time": "5400"}
45
+ with open(json_path, "w") as file:
46
+ json.dump(default_json, file, indent=2)
47
+ print('Config created succesfully!')
48
+
49
+ print('Checking if time file exists...')
50
+ if jsonl_path.exists():
51
+ print('File exists, nothing to do')
52
+ exit
53
+ else:
54
+ print('File does not exist, Creating with defaults...')
55
+ config_path.mkdir(parents=True, exist_ok=True)
56
+
57
+ default_jsonl = "0"
58
+ with open(jsonl_path, "w") as file:
59
+ json.dump(default_jsonl, file)
60
+ print('File created succesfully!')
61
+ print("Check finished succesfully")
62
+
63
+
64
+ def json_read():
65
+
66
+ json_path = user_config_path(project_name, author_name) / json_name
67
+
68
+ with open(json_path, "r") as file:
69
+ json_data = json.load(file)
70
+ return json_data
71
+
72
+ def jsonl_read():
73
+
74
+ jsonl_path = user_config_path(project_name, author_name) / jsonl_name
75
+
76
+ with open(jsonl_path, "r") as file:
77
+ jsonl_data = json.load(file)
78
+ return jsonl_data
@@ -0,0 +1,83 @@
1
+ Metadata-Version: 2.4
2
+ Name: Vostok-Save-Manager
3
+ Version: 2.0.0
4
+ Requires-Python: >=3.10
5
+ Description-Content-Type: text/markdown
6
+ Requires-Dist: platformdirs>=1.0.0
7
+
8
+ # VSM: An open source, dead simple save manager for Road to Vostok
9
+
10
+ ## WARNINGS. Read before you use
11
+ - I am not responsible for any lost progress and saves, I encourage you to back up your files first
12
+ - I encourage you not to abuse this. The game is supposed to be hardcore, so only use this when you genuinely need it.
13
+ - DO NOT TRY TO USE THIS WHILE THE GAME IS RUNNING. I have not tested what will happen, but my assumption is nothing good.
14
+
15
+ ## Note on macOS
16
+ This application is a python project, is installed from pypi and automatically detects the operating system. There is no reason this should not work on mac, but I do not own a mac so I can not confirm it.
17
+
18
+ # Installation
19
+
20
+ ## Dependencies
21
+ Requires python 3.10 (havn't verified if it works on older versions) or newer
22
+ Requires pipx. For windows users, you can _technically_ use standard pip since windows allows you to install packages directly to global, but pipx is better and is a requirment on linux.
23
+
24
+ ## Linux
25
+
26
+ 1. Use pipx to install the package
27
+ ```shell
28
+ pipx install vostok-save-manager
29
+ ```
30
+ 2. You should automatically get access to the command ```VSM```. This is the command to launch the "main menu"
31
+ 3. After you type ```VSM``` you should see in your terminal ```What you like to do?: Load, Save, Setup, Exit: ```. Type ```setup``` to continue the setup
32
+ 4. You will be asked where the game data is located. This is not the game installation folder as Road to Vostok puts its game data in a different location than its installation
33
+ 5. You will be asked where you want your saved files to be stored. The recomended is ```default``` since it automatically creates a default directory.
34
+ 6. You will be asked where you want your backuped up save files to be stored. The recomended is ```default``` since it automatically creates a default directory.
35
+ 7. You will be asked how much time you want before you can save again. The default time is 5400 secconds, which is 1 hour and 30 minutes. You can change this to whatever you want, but it must be input as secconds and as an interger (whole number) or float (number with decimal).
36
+ 8. The setup is now done.
37
+
38
+ ## Windows
39
+
40
+ 1. Use pipx to install the package
41
+ ```shell
42
+ pipx install vostok-save-manager
43
+ ```
44
+ Or since windows doesn't strictly require packages be in a virtual environment
45
+ ```shell
46
+ pip install vostok-save-manager
47
+ ```
48
+ But pipx is recomended
49
+
50
+ 2. You should automatically get access to the command ```VSM```. This is the command to launch the "main menu". If you get an error along the lines of "VSM is not recognized as command" run
51
+ ```shell
52
+ pipx ensurepath
53
+ ```
54
+ and try again.
55
+
56
+ 3. After you type ```VSM``` you should see in your terminal ```What you like to do?: Load, Save, Setup, Exit: ```. Type ```setup``` to continue the setup
57
+ 4. You will be asked where the game data is located. This is not the game installation folder as Road to Vostok puts its game data in a different location than its installation
58
+ 5. You will be asked where you want your saved files to be stored. The recomended is ```default``` since it automatically creates a default directory.
59
+ 6. You will be asked where you want your backuped up save files to be stored. The recomended is ```default``` since it automatically creates a default directory.
60
+ 7. You will be asked how much time you want before you can save again. The default time is 5400 secconds, which is 1 hour and 30 minutes. You can change this to whatever you want, but it must be input as secconds and as an interger (whole number) or float (number with decimal).
61
+ 8. The setup is now done.
62
+
63
+ # How to use
64
+
65
+ ## How to save
66
+ 1. On the main menu type "Save."
67
+ 2. You will be prompted to name the save. This can be anything.
68
+ 3. After you input your save, the game will automatically copy and store the current save files in your game directory. No backup is needed since it is not moving or replacing anything.
69
+ 4. If you input the name of an already existing save it WILL overwrite it.
70
+ 5. You have now saved your game.
71
+
72
+ ## How to load
73
+ 1. On the main menu type "Load."
74
+ 2. You will be prompted to give the name of a save. This has to be EXACT and is case sensitive.
75
+ 3. The application automatically backs up the save files currently in your game data directory.
76
+ 4. You have now loaded a save.
77
+
78
+ # Things to add
79
+ - A GUI
80
+
81
+ # Credits
82
+
83
+ Purchase Road to Vostok on [Steam.](https://store.steampowered.com/app/1963610/Road_to_Vostok/)
@@ -0,0 +1,15 @@
1
+ README.md
2
+ pyproject.toml
3
+ VSM/__init__.py
4
+ VSM/backup.py
5
+ VSM/load.py
6
+ VSM/main.py
7
+ VSM/save.py
8
+ VSM/setup.py
9
+ VSM/util.py
10
+ Vostok_Save_Manager.egg-info/PKG-INFO
11
+ Vostok_Save_Manager.egg-info/SOURCES.txt
12
+ Vostok_Save_Manager.egg-info/dependency_links.txt
13
+ Vostok_Save_Manager.egg-info/entry_points.txt
14
+ Vostok_Save_Manager.egg-info/requires.txt
15
+ Vostok_Save_Manager.egg-info/top_level.txt
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ VSM = VSM.main:launch
@@ -0,0 +1 @@
1
+ platformdirs>=1.0.0
@@ -0,0 +1,13 @@
1
+ [project]
2
+ name = 'Vostok-Save-Manager'
3
+ version = '2.0.0'
4
+ requires-python = ">=3.10"
5
+ dependencies = ['platformdirs>=1.0.0']
6
+ readme = "README.md"
7
+
8
+ [build_system]
9
+ requires = ['setuptools>=61.0']
10
+ build_backend = 'setuptools.buil_meta'
11
+
12
+ [project.scripts]
13
+ VSM = 'VSM.main:launch'
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+