The reset functionality is still very broken. Too many data races between the GUI thread, CPU thread, and plugin threads.
This is at least a good start; resetting with F1 now works most of the time. I can still get it to throw the "Emulation thread failed to terminate plugins" error by hitting F1 ridiculously quickly with the recompiler core. It doesn't seem to break as badly with the interpreter.
Anyway, yeah, this is just lack of synchronization causing havok.
The hidden window was some kind of ludicrous hack by a previous contributor that attempted to hack around some other hacks, pile on some more hacks to "fix" the broken hacks, and we get what we have today.
The reset functionality is still very broken. Too many data races between the GUI thread, CPU thread, and plugin threads.
This is at least a good start; resetting with F1 now works most of the time. I can still get it to throw the "Emulation thread failed to terminate plugins" error by hitting F1 ridiculously quickly with the recompiler core. It doesn't seem to break as badly with the interpreter.
Anyway, yeah, this is just lack of synchronization causing havok.
The hidden window was some kind of ludicrous hack by a previous contributor that attempted to hack around some other hacks, pile on some more hacks to "fix" the broken hacks, and we get what we have today.