Skip to content

Conversation

Foifur
Copy link

@Foifur Foifur commented Aug 19, 2025

This PR adds the ability to swap between emulators without closing down StandaloneRTC.exe. This gives us the benefit of not having to save/close any work that is currently ongoing in RTC, and opens up the ability to swap implementations gracefully without using /taskkill. It also allows cross emulator stockpiles to be created, as it can seamlessly swap between emulators and load stockpiles.

Foifur added 25 commits August 19, 2025 08:48
- Added new condition instead of tricking FirstConnect
I added the value to the stash key but not the cell itself, oops
Should have been doing it from here the whole time, whoops
Now that swapping emulators without closing RTC is possible, we need to parts of the UI that only set on form shown (which only happens once)
Now that SwapImplementation is callable from anywhere, tons of buttons and methods in UICore and CorruptCore need to be able to await the call to it.
I kind of hate that it has to be done this way, but the effort of overhauling the entire message queue to work asynchronously requires way too much conversion
If it's not cancelled, it continues to run in the background, so if you try to swap implementations when it triggers it will incorrectly say it failed
This way we can call for the hiding of the progressForm and unlock the interface from anywhere
This is so the launcher can tell RTC to immediately unlock the interface after swapping, since we won't be loading any games yet
Whoops, forgot this so the build tests weren't happy
We don't need to worry about checking for mixed stockpiles on a per implementation basis anymore
I missed this because we normally have our folders as upper case, so if there isn't it will never confirm the check
We already have the lists loaded, so no need to do it again
This was in originally but accidentally got wiped away after the contextbuilder update
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant