mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-25 07:10:00 -06:00
zarg
This commit is contained in:
@ -128,9 +128,12 @@ private:
|
|||||||
std::string baseGBAROMName;
|
std::string baseGBAROMName;
|
||||||
std::string baseGBAAssetName;
|
std::string baseGBAAssetName;
|
||||||
|
|
||||||
|
// HACK
|
||||||
|
public:
|
||||||
std::unique_ptr<SaveManager> ndsSave;
|
std::unique_ptr<SaveManager> ndsSave;
|
||||||
std::unique_ptr<SaveManager> gbaSave;
|
std::unique_ptr<SaveManager> gbaSave;
|
||||||
std::unique_ptr<SaveManager> firmwareSave;
|
std::unique_ptr<SaveManager> firmwareSave;
|
||||||
|
private:
|
||||||
|
|
||||||
std::unique_ptr<melonDS::Savestate> backupState;
|
std::unique_ptr<melonDS::Savestate> backupState;
|
||||||
bool savestateLoaded;
|
bool savestateLoaded;
|
||||||
|
@ -29,14 +29,14 @@
|
|||||||
#include <QThread>
|
#include <QThread>
|
||||||
#include <QSemaphore>
|
#include <QSemaphore>
|
||||||
#include <QMutex>
|
#include <QMutex>
|
||||||
#include <QOpenGLContext>
|
//#include <QOpenGLContext>
|
||||||
#include <QSharedMemory>
|
#include <QSharedMemory>
|
||||||
#include <QTemporaryFile>
|
#include <QTemporaryFile>
|
||||||
#include <SDL_loadso.h>
|
#include <SDL_loadso.h>
|
||||||
|
|
||||||
#include "Platform.h"
|
#include "Platform.h"
|
||||||
#include "Config.h"
|
#include "Config.h"
|
||||||
#include "ROMManager.h"
|
#include "main.h"
|
||||||
#include "CameraManager.h"
|
#include "CameraManager.h"
|
||||||
#include "LAN_Socket.h"
|
#include "LAN_Socket.h"
|
||||||
#include "LAN_PCap.h"
|
#include "LAN_PCap.h"
|
||||||
@ -52,6 +52,9 @@ std::string EmuDirectory;
|
|||||||
|
|
||||||
extern CameraManager* camManager[2];
|
extern CameraManager* camManager[2];
|
||||||
|
|
||||||
|
// REMOVE ME
|
||||||
|
extern EmuInstance* testinst;
|
||||||
|
|
||||||
void emuStop();
|
void emuStop();
|
||||||
|
|
||||||
// TEMP
|
// TEMP
|
||||||
@ -520,25 +523,28 @@ void Sleep(u64 usecs)
|
|||||||
|
|
||||||
void WriteNDSSave(const u8* savedata, u32 savelen, u32 writeoffset, u32 writelen)
|
void WriteNDSSave(const u8* savedata, u32 savelen, u32 writeoffset, u32 writelen)
|
||||||
{
|
{
|
||||||
if (ROMManager::NDSSave)
|
EmuInstance* inst = testinst;
|
||||||
ROMManager::NDSSave->RequestFlush(savedata, savelen, writeoffset, writelen);
|
if (inst->ndsSave)
|
||||||
|
inst->ndsSave->RequestFlush(savedata, savelen, writeoffset, writelen);
|
||||||
}
|
}
|
||||||
|
|
||||||
void WriteGBASave(const u8* savedata, u32 savelen, u32 writeoffset, u32 writelen)
|
void WriteGBASave(const u8* savedata, u32 savelen, u32 writeoffset, u32 writelen)
|
||||||
{
|
{
|
||||||
if (ROMManager::GBASave)
|
EmuInstance* inst = testinst;
|
||||||
ROMManager::GBASave->RequestFlush(savedata, savelen, writeoffset, writelen);
|
if (inst->gbaSave)
|
||||||
|
inst->gbaSave->RequestFlush(savedata, savelen, writeoffset, writelen);
|
||||||
}
|
}
|
||||||
|
|
||||||
void WriteFirmware(const Firmware& firmware, u32 writeoffset, u32 writelen)
|
void WriteFirmware(const Firmware& firmware, u32 writeoffset, u32 writelen)
|
||||||
{
|
{
|
||||||
if (!ROMManager::FirmwareSave)
|
EmuInstance* inst = testinst;
|
||||||
|
if (!inst->firmwareSave)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (firmware.GetHeader().Identifier != GENERATED_FIRMWARE_IDENTIFIER)
|
if (firmware.GetHeader().Identifier != GENERATED_FIRMWARE_IDENTIFIER)
|
||||||
{ // If this is not the default built-in firmware...
|
{ // If this is not the default built-in firmware...
|
||||||
// ...then write the whole thing back.
|
// ...then write the whole thing back.
|
||||||
ROMManager::FirmwareSave->RequestFlush(firmware.Buffer(), firmware.Length(), writeoffset, writelen);
|
inst->firmwareSave->RequestFlush(firmware.Buffer(), firmware.Length(), writeoffset, writelen);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -555,7 +561,7 @@ void WriteFirmware(const Firmware& firmware, u32 writeoffset, u32 writelen)
|
|||||||
{ // If we're writing to the access points...
|
{ // If we're writing to the access points...
|
||||||
const u8* buffer = firmware.GetExtendedAccessPointPosition();
|
const u8* buffer = firmware.GetExtendedAccessPointPosition();
|
||||||
u32 length = sizeof(firmware.GetExtendedAccessPoints()) + sizeof(firmware.GetAccessPoints());
|
u32 length = sizeof(firmware.GetExtendedAccessPoints()) + sizeof(firmware.GetAccessPoints());
|
||||||
ROMManager::FirmwareSave->RequestFlush(buffer, length, writeoffset - eapstart, writelen);
|
inst->firmwareSave->RequestFlush(buffer, length, writeoffset - eapstart, writelen);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user