Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Use settings ini file method #1370
@Cxbx-Reloaded/developers, recommendation action is to use squash merge since 1/3 of commits are not in order. (And to prevent corruption to EmuShared after heavy modification.)
I think that's all...
For testers and contributors, please review for any regression.
Settings class isn't meant for thread-safe. The design is to get the structure once for emulator. Or get and set the structure once by window dialog. Toggles from menu selection is different topic. Beside, window message handler is on one thread, not multiple threads.
Provide two examples please? So I can understand what you're saying.
Looks good so far, although a large part of the reason for wanting a Settings class and .ini is to completely get rid of EmuShared, if we design properly, we don't need it.
The GUI can save the settings before launching the emulator process, the emulator process can then read Settings.ini during it's bootup.
Anything such as FPS updating, etc can be done via message passing to the GUI process: On Windows, this could use SendMessage(), on other platforms, this would use Unix sockets for IPC.
The same is true for settings changes: The GUI could send a message to the emulator process via the same IPC mechanism to instruct it to reload settings.
There is no need for shared memory anymore with this approach.
Running xbox kernel thread in GUI mode when? A: Once we have proper CPU emulation. It's a major blockage for both implement Qt and integrate xbox kernel process into GUI process to start emulator.
Pretty sure it require Qt for cross-platform support. Unless there is a std library for it.
It doesn't work that way when you have two GUI process running at same time which can contain any modification at any time. Plus settings are not save to hard drive until Cxbx's GUI process is close. Also doesn't support multi-xbe either. Unless you want to re-save to hard drive every time on start emulation.
EDIT: @LukeUsher, if you do choose go down your way. You will get more false positive reports from the community. Unless migrate emulation into one process instead of start kernel process separately.
Hmm, I didn't see this sentence. My response is, I'm not interesting in frequent writes to the hard drive.