106 Commits

Author SHA1 Message Date
alex47exe
ae979f1edb * [alex47exe] major overhaul of **generate_emu_config** - custom configs, proper ini parsing, better logging and error handling, helper tools:
* add `-def1` ... `-def5` arguments, which can be used to generate your preferred custom config
    if no `-def` argument is provided, `-def1` will be used by default, to automatically copy from the following folders:
    * `.\_DEFAULT\0` ............... essential emu files, like latest GSE dlls (*steam_api.dll* and *steam_api64.dll*)
    * `.\_DEFAULT\1` ............... other GSE files and folders, including default ini files
    * `.\_DEFAULT\<appid>` ... other GSE files and folders, but only for the current `<appid>`, if the folder exists
  * (Windows only) add some useful helper tools, written in *AutoIt3*:
    * **gse_acw_helper.exe** - add the required achievements schema db files for *Achievement Watcher*, if  .\steam_misc\extra_acw\extra_acw.zip file exists (if generated by `generate_emu_config.exe -acw <appid>`)
    * **gse_debug_switch.exe** - automatically switch between release and debug versions of the emulator, if *steam_api.7z* / *steam_api64.7z* file exists (or *steamclient.7z* / *steamclient64.7z*, if you use the steamclient version)
      paths to release and debug files inside 7z, can be customized in .\steam_misc\tools\au3\scripts\gse_debug_switch.ini
    * **gse_generate_interfaces.exe** - simple x64-x86 launcher for *generate_interfaces.exe*
      it also writes all found steam interfaces to CODEX *steam_emu.ini* (if generated by `generate_emu_config -cdx <appid>`)
      make sure to name your original dll to one of these formats, so it can automatically find its interfaces:
      * `valve_api.dll / valve_api64.dll`
      * `steam_api.dll.bak / steam_api64.dll.bak` or `steam_api.dll.org / steam_api64.dll.org`
      * `steam_api.bak / steam_api64.bak` or `steam_api.org / steam_api64.org`
      * `steam_api_orig.dll / steam_api64_orig.dll` or `steam_api_legit.dll / steam_api64_legit.dll`
    * **gse_lobby_connect.exe** - simple x64-x86 launcher for *lobby_connect.exe*
  * new folder structure, compatible with current and future helper tools --- default arguments are `-acw -cdx -clr <appid>`
    NEVER delete `.\steam_misc\app_backup`, `.\steam_misc\app_info`, `.\steam_misc\tools` and `.\steam_settings` folders
    MIGHT need `.\steam_misc\extra_acw` and `.\steam_misc\extra_cdx` for compatibility with Achievement Watcher and CODEX
  * add `-scx` argument to automatically download images / videos for trading cards, backgrounds, badges, emoticons and other tradable items
    unfortunately I couldn't find any direct steam api method to download the files, so I had to write a rudimentary web scrapper to extract the download links from a third-party website, hence the *scx_gen.py* script might need updating in the future if the website design changes
  * download screenshots and videos:
    * download thumbnails for both screenshots and videos, and compress them to `.zip` files
    * screenshots and videos are now numbered from first to last published, as in the Steam store page
    * add `-vids_low` / `-vids_max` arguments to download all videos, in low and / or high quality
  * create / update .\\*top_owners_ids.txt* when .\\*top_owners_ids.html* is present
  * generate controller action sets txt files for all found controller vdf configs, and zip them inside .\steam_misc\app_backup\app_backup.zip
    by default, the emu supports only `xboxone` and `xbox360` controller configs, though if the're are any issues with the default supported controller action sets inside .\steam_settings\controller folder, you could try to unpack and overwrite action sets for other unsupported controller configs
  * (Windows only) add *AdvancedRun* launchers (cmd console + silent) for `.bat` files and `.py` scripts
* **[alex47exe]** major overhaul of **migrate_gse** - uses the same `.\_DEFAULT\0` and `.\_DEFAULT\1` folder structure for default configs
  it can convert old `.txt` format to `.ini` format, minus *branches.json*, which would require using *top_owners_ids.txt* and some login code from **generate_emu_config**, which should actually be used to properly generate the config files, instead of converting from the old `.txt` format
* [alex47exe] *generate_interfaces.exe* - find all Steam Interfaces instead of only old ones
  the emu will ignore the ones it doesn't require, while we'll have the complete list to write it to CODEX *steam_emu.ini*
* [alex47exe] *lobby_connect.exe* - improve cmd console text alignment
* [alex47exe] `mods_img` instead of `mod_images` (better folder consistency), better example for `mods_img`, minor tweaks to `.ini` and `.md` files
2024-07-30 01:21:09 +01:00
Detanup01
6bbe6371ee
setting release stay for 7 days 2024-07-28 15:08:25 +02:00
otavepto
77f71aab59 hopefully fixes packages paths 2024-06-17 10:50:18 +03:00
otavepto
aa96e8c623 fix release script (linux) 2024-06-17 10:50:18 +03:00
otavepto
cd555b4711 fix release script 2024-06-17 10:50:18 +03:00
otavepto
c53f7fed6d upgrade all ubuntu runners 2024-06-17 10:50:18 +03:00
otavepto
a9f90f2894 hopefully fixes permission problems 2024-06-17 10:50:18 +03:00
otavepto
f7e4394f34 this warning might be the reason SSL certificate is failing on Arch (when adding deadsnake PPA): "Note: for jammy and noble, older python versions requre libssl<3 so they are not currently built" 2024-06-17 10:50:18 +03:00
otavepto
aa003d4785 update release workflow 2024-06-12 21:46:31 +03:00
otavepto
c9d7640da6 attempt to fix CI deps build 2024-06-08 03:25:30 +03:00
otavepto
486237179e attempt 5 to fix release script 2024-06-02 22:38:49 +03:00
otavepto
13c06641f6 correct step name 2024-06-02 22:32:38 +03:00
otavepto
a2e2894353 attempt 4 to fix release script 2024-06-02 22:17:00 +03:00
otavepto
fb63726a42 attempt 3 to fix release script 2024-06-02 21:47:37 +03:00
otavepto
2f03c9800e attempt 2 to fix release script 2024-06-02 20:43:17 +03:00
otavepto
c789f4d078 fix packaging scripts 2024-06-02 20:11:18 +03:00
otavepto
596706fea9 fix release workflow + allow manual trigger for testing 2024-06-02 05:15:45 +03:00
otavepto
d6495a8831 remove debug messages 2024-06-02 05:15:45 +03:00
otavepto
2c0a28c8ea * convert genproto into an option instead if an action because we need the action name for the deps folder
* disable windows specific options for other os + add category to all options
* update readme
2024-06-02 05:15:45 +03:00
otavepto
3b536044be fix readme indentation + print debug messages 2024-06-02 05:15:45 +03:00
otavepto
0f291cc07d add missing submodule for deps workflows 2024-06-02 05:15:45 +03:00
otavepto
f822127ddf note on rquired ubuntu packages + run apt update in linux workflows 2024-06-02 05:15:45 +03:00
otavepto
989bbf8ed4 attempt #1 to fix workflows 2024-06-02 05:15:45 +03:00
otavepto
a2617646e5 forgot that! 2024-05-22 05:40:51 +03:00
otavepto
cfa8f9f134 update workflows 2024-05-22 05:38:40 +03:00
otavepto
0b862f2f44 less verbose msbuild for CI 2024-05-22 00:21:22 +03:00
otavepto
83be0d66d9 use the env var of third-party base location 2024-05-21 23:37:37 +03:00
Detanup01
022ca419bc now it actually compress the stuff inside instead of the "debug"/"release" folder 2024-05-21 19:32:49 +03:00
Detanup01
a626c4b41f aaaaaaaaaaaa 2024-05-21 19:32:49 +03:00
Detanup01
9c9a86376a gmake->gmake2 2024-05-21 19:32:49 +03:00
Detanup01
ebc83df21e workflow update 2024-05-21 19:32:49 +03:00
Detanup01
1d75b82a5c merge stuff frrom premake2 branch,
Updating stuff to work
2024-05-21 19:32:49 +03:00
otavepto
01f4ee87bf shorter name 2024-05-21 19:32:49 +03:00
otavepto
3f68c5ab12 exclude some matrix combinations 2024-05-21 19:32:49 +03:00
otavepto
9236f8c70b don't fail all matrix jobs on first failure + shorter names 2024-05-21 19:32:49 +03:00
otavepto
3ed858da8e 2 worked, try 4 parallel jobs 2024-05-21 19:32:49 +03:00
otavepto
4843527422 * limit parallel jobs to 2 for each os, hopefully would fix the random cancellation
* use clang instead of gcc because of this error `g++: error: unrecognized command-line option ‘-Wundefined-internal’`
2024-05-21 19:32:49 +03:00
otavepto
372824aee3 reduce verbosity for win + dry run make on linux before actual run to show command + attempt to workaround broken gen proto premake action 2024-05-21 19:32:49 +03:00
otavepto
80de67f658 clone branch first on linux! 2024-05-21 19:32:49 +03:00
otavepto
62904968df matrix based workflows for premake 2024-05-21 19:32:49 +03:00
otavepto
f2579ee7f8 nah screw it 2024-05-12 19:38:16 +03:00
otavepto
bac2976ace update bash on macos CI 2024-05-12 04:55:08 +03:00
otavepto
e6291d1f22 macos build script + build workflows 2024-05-12 04:20:02 +03:00
otavepto
47d539474d initial script to build macos deps + worflow :/ 2024-05-12 02:30:30 +03:00
otavepto
7c6c7e2a9d try -j 3 for github builder 2024-05-11 22:25:12 +03:00
otavepto
9d8ecfdb60 fix release workflow 2024-05-11 22:09:24 +03:00
otavepto
b017550ccf solve this stupid thing 2024-05-11 17:38:32 +03:00
otavepto
7d515e9e9e workflows for migrate_gse 2024-05-11 17:38:32 +03:00
otavepto
517648677d fake change to test new workflow 2024-05-11 17:38:32 +03:00
otavepto
d14a726d75 scripts for gen_emu_config_tool 2024-05-11 17:38:32 +03:00