mirror of
https://github.com/Detanup01/gbe_fork.git
synced 2024-11-27 13:14:01 +08:00
* new switches for the generate_emu_config
tool
- `-skip_ach`: skip downloading & generating achievements and their images - `-skip_con`: skip downloading & generating controller configuration files - `-skip_inv`: skip downloading & generating inventory data (`items.json` & `default_items.json`) * copy the readme of the migration tool after build * let the migration tool exit with code 1 if nothing was found
This commit is contained in:
parent
0c50f6b4c7
commit
0cd1711bcf
@ -17,11 +17,18 @@
|
|||||||
* allow changing the name of the base folder used to store save data, suggested by **[Clompress]**
|
* allow changing the name of the base folder used to store save data, suggested by **[Clompress]**
|
||||||
by default it would be the new folder `GSE Saves` (instead of `Goldberg SteamEmu Saves`)
|
by default it would be the new folder `GSE Saves` (instead of `Goldberg SteamEmu Saves`)
|
||||||
this could be changed only by setting the option `saves_folder_name` inside the local file `steam_settings/configs.user.ini`, the global one will not work
|
this could be changed only by setting the option `saves_folder_name` inside the local file `steam_settings/configs.user.ini`, the global one will not work
|
||||||
|
* new switches for the `generate_emu_config` tool
|
||||||
|
- `-skip_ach`: skip downloading & generating achievements and their images
|
||||||
|
- `-skip_con`: skip downloading & generating controller configuration files
|
||||||
|
- `-skip_inv`: skip downloading & generating inventory data (`items.json` & `default_items.json`)
|
||||||
|
|
||||||
|
suggested by **[M4RCK5]**
|
||||||
* new tool `migrate_gse` to convert either your global `settings` folder, or your local `steam_settings` folder from the old format to the new one
|
* new tool `migrate_gse` to convert either your global `settings` folder, or your local `steam_settings` folder from the old format to the new one
|
||||||
- run the tool without arguments to let it convert the global settings folder
|
- run the tool without arguments to let it convert the global settings folder
|
||||||
- run the tool and pass the target `steam_settings` or `settings` folder as an argument to convert the structure of that folder
|
- run the tool and pass the target `steam_settings` or `settings` folder as an argument to convert the structure of that folder
|
||||||
|
|
||||||
in both cases, the tool will create a new folder `steam_settings` in the current directory with all the results of the conversion
|
in both cases, the tool will create a new folder `steam_settings` in the current directory with all the results of the conversion
|
||||||
|
check its own dedicated readme
|
||||||
* **[breaking]** changed the environment variable `SteamAppPath` to `GseAppPath`, which is used to override the program path detected by the emu
|
* **[breaking]** changed the environment variable `SteamAppPath` to `GseAppPath`, which is used to override the program path detected by the emu
|
||||||
* **[breaking]** removed the setting `disable_account_avatar` in favor of the new one `enable_account_avatar`, this feature is now disabled by default
|
* **[breaking]** removed the setting `disable_account_avatar` in favor of the new one `enable_account_avatar`, this feature is now disabled by default
|
||||||
* new option `add_steam_preowned_ids` in `configs.main.ini` which allows adding a lot of Steam builtin and preowned IDs to the DLC list, and the emu's list of installed apps
|
* new option `add_steam_preowned_ids` in `configs.main.ini` which allows adding a lot of Steam builtin and preowned IDs to the DLC list, and the emu's list of installed apps
|
||||||
|
@ -528,18 +528,21 @@ def help():
|
|||||||
print(f" Example: {exe_name} -shots -thumbs -vid -imgs -name -cdx -aw -clean -de -cve 421050")
|
print(f" Example: {exe_name} -shots -thumbs -vid -imgs -name -cdx -aw -clean -de -cve 421050")
|
||||||
print(f" Example: {exe_name} -shots -thumbs -vid -imgs -name -cdx -aw -clean -cve 421050")
|
print(f" Example: {exe_name} -shots -thumbs -vid -imgs -name -cdx -aw -clean -cve 421050")
|
||||||
print("\nSwitches:")
|
print("\nSwitches:")
|
||||||
print(" -shots: download screenshots for each app if they're available")
|
print(" -shots: download screenshots for each app if they're available")
|
||||||
print(" -thumbs: download screenshots thumbnails for each app if they're available")
|
print(" -thumbs: download screenshots thumbnails for each app if they're available")
|
||||||
print(" -vid: download the first video available for each app: trailer, gameplay, announcement, etc...")
|
print(" -vid: download the first video available for each app: trailer, gameplay, announcement, etc...")
|
||||||
print(" -imgs: download common images for each app: Steam generated background, icon, logo, etc...")
|
print(" -imgs: download common images for each app: Steam generated background, icon, logo, etc...")
|
||||||
print(" -name: save the output of each app in a folder with the same name as the app, unsafe characters are discarded")
|
print(" -name: save the output of each app in a folder with the same name as the app, unsafe characters are discarded")
|
||||||
print(" -cdx: generate .ini file for CODEX Steam emu for each app")
|
print(" -cdx: generate .ini file for CODEX Steam emu for each app")
|
||||||
print(" -aw: generate schemas of all possible languages for Achievement Watcher")
|
print(" -aw: generate schemas of all possible languages for Achievement Watcher")
|
||||||
print(" -clean: delete any folder/file with the same name as the output before generating any data")
|
print(" -clean: delete any folder/file with the same name as the output before generating any data")
|
||||||
print(" -anon: login as an anonymous account, these have very limited access and cannot get all app details")
|
print(" -anon: login as an anonymous account, these have very limited access and cannot get all app details")
|
||||||
print(" -de: disable some extra features by generating the corresponding config files in steam_settings folder")
|
print(" -de: disable some extra features by generating the corresponding config files in steam_settings folder")
|
||||||
print(" -cve: enable some convenient extra features by generating the corresponding config files in steam_settings folder")
|
print(" -cve: enable some convenient extra features by generating the corresponding config files in steam_settings folder")
|
||||||
print(" -reldir: generate temp files/folders, and expect input files, relative to the current working directory")
|
print(" -reldir: generate temp files/folders, and expect input files, relative to the current working directory")
|
||||||
|
print(" -skip_ach: skip downloading & generating achievements and their images")
|
||||||
|
print(" -skip_con: skip downloading & generating controller configuration files")
|
||||||
|
print(" -skip_inv: skip downloading & generating inventory data (items.json & default_items.json)")
|
||||||
print("\nAll switches are optional except app id, at least 1 app id must be provided")
|
print("\nAll switches are optional except app id, at least 1 app id must be provided")
|
||||||
print("\nAutomate the login prompt:")
|
print("\nAutomate the login prompt:")
|
||||||
print(" * You can create a file called 'my_login.txt' beside the script, then add your username on the first line")
|
print(" * You can create a file called 'my_login.txt' beside the script, then add your username on the first line")
|
||||||
@ -586,6 +589,9 @@ def main():
|
|||||||
CLEANUP_BEFORE_GENERATING = False
|
CLEANUP_BEFORE_GENERATING = False
|
||||||
ANON_LOGIN = False
|
ANON_LOGIN = False
|
||||||
RELATIVE_DIR = False
|
RELATIVE_DIR = False
|
||||||
|
SKIP_ACH = False
|
||||||
|
SKIP_CONTROLLER = False
|
||||||
|
SKIP_INVENTORY = False
|
||||||
|
|
||||||
prompt_for_unavailable = True
|
prompt_for_unavailable = True
|
||||||
|
|
||||||
@ -621,6 +627,12 @@ def main():
|
|||||||
CONVENIENT_EXTRA = True
|
CONVENIENT_EXTRA = True
|
||||||
elif f'{appid}'.lower() == '-reldir':
|
elif f'{appid}'.lower() == '-reldir':
|
||||||
RELATIVE_DIR = True
|
RELATIVE_DIR = True
|
||||||
|
elif f'{appid}'.lower() == '-skip_ach':
|
||||||
|
SKIP_ACH = True
|
||||||
|
elif f'{appid}'.lower() == '-skip_con':
|
||||||
|
SKIP_CONTROLLER = True
|
||||||
|
elif f'{appid}'.lower() == '-skip_inv':
|
||||||
|
SKIP_INVENTORY = True
|
||||||
else:
|
else:
|
||||||
print(f'[X] invalid switch: {appid}')
|
print(f'[X] invalid switch: {appid}')
|
||||||
help()
|
help()
|
||||||
@ -802,7 +814,8 @@ def main():
|
|||||||
|
|
||||||
#print(f"generating achievement stats")
|
#print(f"generating achievement stats")
|
||||||
#if "community_visible_stats" in game_info_common: #NOTE: checking this seems to skip stats on a few games so it's commented out
|
#if "community_visible_stats" in game_info_common: #NOTE: checking this seems to skip stats on a few games so it's commented out
|
||||||
achievements = generate_achievement_stats(client, appid, emu_settings_dir, backup_dir)
|
if not SKIP_ACH:
|
||||||
|
achievements = generate_achievement_stats(client, appid, emu_settings_dir, backup_dir)
|
||||||
|
|
||||||
if "supported_languages" in game_info_common:
|
if "supported_languages" in game_info_common:
|
||||||
langs: dict[str, dict] = game_info_common["supported_languages"]
|
langs: dict[str, dict] = game_info_common["supported_languages"]
|
||||||
@ -878,7 +891,7 @@ def main():
|
|||||||
|
|
||||||
config_generated = False
|
config_generated = False
|
||||||
if "config" in game_info:
|
if "config" in game_info:
|
||||||
if "steamcontrollerconfigdetails" in game_info["config"]:
|
if not SKIP_CONTROLLER and "steamcontrollerconfigdetails" in game_info["config"]:
|
||||||
controller_details = game_info["config"]["steamcontrollerconfigdetails"]
|
controller_details = game_info["config"]["steamcontrollerconfigdetails"]
|
||||||
print('downloading controller vdf files')
|
print('downloading controller vdf files')
|
||||||
for id in controller_details:
|
for id in controller_details:
|
||||||
@ -897,7 +910,7 @@ def main():
|
|||||||
print(f'controller type is supported')
|
print(f'controller type is supported')
|
||||||
parse_controller_vdf.generate_controller_config(out_vdf.decode('utf-8'), os.path.join(emu_settings_dir, "controller"))
|
parse_controller_vdf.generate_controller_config(out_vdf.decode('utf-8'), os.path.join(emu_settings_dir, "controller"))
|
||||||
config_generated = True
|
config_generated = True
|
||||||
if "steamcontrollertouchconfigdetails" in game_info["config"]:
|
if not SKIP_CONTROLLER and "steamcontrollertouchconfigdetails" in game_info["config"]:
|
||||||
controller_details = game_info["config"]["steamcontrollertouchconfigdetails"]
|
controller_details = game_info["config"]["steamcontrollertouchconfigdetails"]
|
||||||
for id in controller_details:
|
for id in controller_details:
|
||||||
details = controller_details[id]
|
details = controller_details[id]
|
||||||
@ -968,7 +981,9 @@ def main():
|
|||||||
if out_config_app_ini:
|
if out_config_app_ini:
|
||||||
write_ini_file(emu_settings_dir, out_config_app_ini)
|
write_ini_file(emu_settings_dir, out_config_app_ini)
|
||||||
|
|
||||||
inventory_data = generate_inventory(client, appid)
|
inventory_data = None
|
||||||
|
if not SKIP_INVENTORY:
|
||||||
|
inventory_data = generate_inventory(client, appid)
|
||||||
if inventory_data is not None:
|
if inventory_data is not None:
|
||||||
out_inventory = {}
|
out_inventory = {}
|
||||||
default_items = {}
|
default_items = {}
|
||||||
|
@ -457,6 +457,9 @@ def main():
|
|||||||
|
|
||||||
write_ini_file('steam_settings', out_dict_ini)
|
write_ini_file('steam_settings', out_dict_ini)
|
||||||
print(f'new settings written inside: "{os.path.join(os.path.curdir, "steam_settings")}"')
|
print(f'new settings written inside: "{os.path.join(os.path.curdir, "steam_settings")}"')
|
||||||
|
else:
|
||||||
|
print('nothing found!', file=sys.stderr)
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
@ -18,6 +18,8 @@ source "./$venv/bin/activate"
|
|||||||
echo building migrate_gse...
|
echo building migrate_gse...
|
||||||
pyinstaller "main.py" --distpath "$out_dir" -y --clean --onedir --name "migrate_gse" --noupx --console -i "NONE" --workpath "$build_temp_dir" || exit 1
|
pyinstaller "main.py" --distpath "$out_dir" -y --clean --onedir --name "migrate_gse" --noupx --console -i "NONE" --workpath "$build_temp_dir" || exit 1
|
||||||
|
|
||||||
|
cp -f "README.md" "$out_dir/migrate_gse"
|
||||||
|
|
||||||
echo;
|
echo;
|
||||||
echo =============
|
echo =============
|
||||||
echo Built inside: "$out_dir/"
|
echo Built inside: "$out_dir/"
|
||||||
|
@ -36,6 +36,8 @@ pyinstaller "main.py" --distpath "%out_dir%" -y --clean --onedir --name "migrate
|
|||||||
)
|
)
|
||||||
call "%signer_tool%" "%out_dir%\migrate_gse\migrate_gse.exe"
|
call "%signer_tool%" "%out_dir%\migrate_gse\migrate_gse.exe"
|
||||||
|
|
||||||
|
copy /y README.md "%out_dir%\migrate_gse\"
|
||||||
|
|
||||||
echo:
|
echo:
|
||||||
echo =============
|
echo =============
|
||||||
echo Built inside: "%out_dir%\"
|
echo Built inside: "%out_dir%\"
|
||||||
|
Loading…
Reference in New Issue
Block a user