mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-26 07:39:56 -06:00
merge doublemelon (#2067)
non-exhaustive (but exhausting) list of changes: * base laid for multiple window support, but will likely require more work to work correctly * encapsulation of frontend state for proper multi-instance support * (JIT still needs a fix for the NDS::Current workaround but we can get there later) * new, more flexible configuration system
This commit is contained in:
@ -229,6 +229,8 @@ private:
|
||||
#endif
|
||||
|
||||
public: // TODO: Encapsulate the rest of these members
|
||||
void* UserData;
|
||||
|
||||
int ConsoleType;
|
||||
int CurCPU;
|
||||
|
||||
@ -522,7 +524,7 @@ private:
|
||||
template <bool EnableJIT>
|
||||
u32 RunFrame();
|
||||
public:
|
||||
NDS(NDSArgs&& args) noexcept : NDS(std::move(args), 0) {}
|
||||
NDS(NDSArgs&& args, void* userdata = nullptr) noexcept : NDS(std::move(args), 0, userdata) {}
|
||||
NDS() noexcept;
|
||||
virtual ~NDS() noexcept;
|
||||
NDS(const NDS&) = delete;
|
||||
@ -532,7 +534,7 @@ public:
|
||||
// The frontend should set and unset this manually after creating and destroying the NDS object.
|
||||
[[deprecated("Temporary workaround until JIT code generation is revised to accommodate multiple NDS objects.")]] static NDS* Current;
|
||||
protected:
|
||||
explicit NDS(NDSArgs&& args, int type) noexcept;
|
||||
explicit NDS(NDSArgs&& args, int type, void* userdata) noexcept;
|
||||
virtual void DoSavestateExtra(Savestate* file) {}
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user