Detanup01 / gbe_fork

Fork of https://gitlab.com/Mr_Goldberg/goldberg_emulator
https://gitlab.com/Mr_Goldberg/goldberg_emulator
GNU Lesser General Public License v3.0
86 stars 36 forks source link

generate_emu_config overhaul plus minor tweaks and fixes #2

Open alex47exe opened 1 month ago

alex47exe commented 1 month ago
alex47exe commented 1 month ago

Not sure why it takes so long to build the experimental debug api here. Mine was done in less than 3 minutes: https://github.com/alex47exe/gse_fork/actions/runs/10154145974/job/28078796689 Maybe you could try to re-run checks again. Or try a merge to a different branch, and run 'Prepare release' action manually.

Detanup01 commented 1 month ago

Seems like github issue (I could merge without actually waiting to finish all builds btw) will reopen and probably request some changes (mainly in the ini what should be default) not today but tomorrow.

alex47exe commented 1 month ago

Sure, any suggestions are welcome! I just copy pasted the custom ini files included in default configuration for generate_emu_config, but forgot to restore the original values for the example ini files. I guess the whole update should've been split in more commits, but it has been cooking offline for the past 3 weeks or so, without using git to properly commit and document all changes and iterations.

Detanup01 commented 1 month ago

:D no worries

Detanup01 commented 1 month ago

tools/generate_emu_config/generate_emu_config.py_ini.exe tools/generate_emu_config/generate_emu_config.*.exe why? Also the default plus zips are probably not needed we can let users place steamapi dlls there. also 7z exists inside the third-party folder

alex47exe commented 1 month ago

___ The exe files are basically just stripped down (no interface) AdvancedRun executables plus their required cfg (commented / documented by me), basically a better method to run various scripts and apps with parameters (including python), with or without interface if required (useful when you need to run an app or script silently -no cmd window flash even-, e.g. when we might need to integrate generate_emu_config into any other automated tool). To be honest, I'm surprised Microsoft doesn't include AdvancedRun by default in an app bundle (and properly integrated with context menu), like they do with Sysinternals Suite or PowerToys, 'cause I really find it the best method to easily run apps and scripts with parameters. Anyway, about those exes:

___ If you are referring to steam_api.7z and steam_api64.7z, they include both release and debug versions of the emulator, needed for gse_debug_switch.exe - I think one double-click to run it is a much superior method of changing between release and debug versions when needed, instead of having to manually backup and copy paste them

___ 7za.exe is currently required by gse_debug_switch.exe and gse_acw_helper.exe, and might be required by future tools I currently have some ideas for. I could've used an AutoIt3 UDF script (user defined functions) for zip compression / decompression, but I prefer 7z. Though I used zip compression in generate_emu_config.py for the app_backup folder, screenshots and trailers thumbnails, and parsed download links for SCX scrapper. What I could do is intergrate 7za.exe in a3x script, and unpack it when the script runs, but that would mean every other future a3x script would have to integrate it as well, in the end taking more hdd space than the current method.

Detanup01 commented 1 month ago

For 7z: if you pull eveything from here and even the submodules, you find out the third-party/deps/linux third-party/deps/windows already contains your 7zip.

For the steam apis 7z: You cannot make push to update because it will always be behind it.

Also probably could make a github action for building the tools rather than having the exe inside there (which I dont like it.)

alex47exe commented 1 month ago

Regarding steam apis 7z, the way I handled them was to manually build the emu on windows, then manually create the steam apis 7z containing both release and debug versions, then push the whole github folder using GitExtensions. Sure, I would love to automate this, but unfortunately I am not experienced with github actions. I guess it would basically mean that the generate_emu_config build would have to be delayed after the emu build, so that the compiled steam apis can be copied and archived to steam apis 7z first. Same for the already included 7za.exe (though I am not sure why it's an issue) and compiled a3x scripts, both could be achieved automatically through some github actions and / or bat files. So we would need a github action (or modifications to one) to automatically install latest 7zip and AutoIt3, then add 7za.exe to the correct folder, and also build the au3 scripts with Aut2Exe.exe, as explained here: https://www.autoitscript.com/autoit3/docs/intro/compiler.htm Finally, after all these actions complete successfully, we can build the generate_emu_config executable.

rcyggdra commented 1 month ago

Seems like github issue (I could merge without actually waiting to finish all builds btw) will reopen and probably request some changes (mainly in the ini what should be default) not today but tomorrow.

For familiar people, this PR appears bloated. If you want to merge this PR, I hope it will be on the new branch instead of replacing the existing one.

alex47exe commented 1 month ago

For familiar people, this PR appears bloated. If you want to merge this PR, I hope it will be on the new branch instead of replacing the existing one.

What do you mean 'bloated'? Sure, maybe it should have been split in more commits, as I said above, but other than that, it only improves generate_config_emu and migrate_gse (though currently it can't generate branches.json, so I don't recommend using it - just regenerate the entire config instead), adds much needed helper tools for automation of various tasks, and corrects spelling mistakes / adds minor changes to wording and punctuation to some readme files. That's literally all it does. It's not 'bloated', it's improved - you just haven't tested it thoroughly to understand it.

alex47exe commented 1 month ago

Just reopened it to be able to fix conflicts with upstream fork, so I can correctly merge the latest changes into my own