remove some stuff from Platform

This commit is contained in:
Arisotura 2024-05-27 00:41:13 +02:00
parent 5fb8836440
commit 41e9715f7f
9 changed files with 29 additions and 62 deletions

View File

@ -79,18 +79,6 @@ enum StopReason {
*/ */
void SignalStop(StopReason reason); void SignalStop(StopReason reason);
/**
* @returns The ID of the running melonDS instance if running in local multiplayer mode,
* or 0 if not.
*/
int InstanceID();
/**
* @returns A suffix that should be appended to all instance-specific paths
* if running in local multiplayer mode,
* or the empty string if not.
*/
std::string InstanceFileSuffix();
/** /**
* Denotes how a file will be opened and accessed. * Denotes how a file will be opened and accessed.

View File

@ -108,6 +108,15 @@ EmuInstance::~EmuInstance()
} }
std::string EmuInstance::instanceFileSuffix()
{
if (instanceID == 0) return "";
char suffix[16] = {0};
snprintf(suffix, 15, ".%d", instanceID+1);
return suffix;
}
void EmuInstance::createWindow() void EmuInstance::createWindow()
{ {
if (numWindows >= kMaxWindows) if (numWindows >= kMaxWindows)
@ -557,7 +566,7 @@ bool EmuInstance::loadState(const std::string& filename)
std::string savefile = filename.substr(lastSep(filename)+1); std::string savefile = filename.substr(lastSep(filename)+1);
savefile = getAssetPath(false, globalCfg.GetString("SaveFilePath"), ".sav", savefile); savefile = getAssetPath(false, globalCfg.GetString("SaveFilePath"), ".sav", savefile);
savefile += Platform::InstanceFileSuffix(); savefile += instanceFileSuffix();
ndsSave->SetPath(savefile, true); ndsSave->SetPath(savefile, true);
} }
@ -608,7 +617,7 @@ bool EmuInstance::saveState(const std::string& filename)
{ {
std::string savefile = filename.substr(lastSep(filename)+1); std::string savefile = filename.substr(lastSep(filename)+1);
savefile = getAssetPath(false, globalCfg.GetString("SaveFilePath"), ".sav", savefile); savefile = getAssetPath(false, globalCfg.GetString("SaveFilePath"), ".sav", savefile);
savefile += Platform::InstanceFileSuffix(); savefile += instanceFileSuffix();
ndsSave->SetPath(savefile, false); ndsSave->SetPath(savefile, false);
} }
@ -1170,7 +1179,7 @@ void EmuInstance::reset()
{ {
std::string oldsave = ndsSave->GetPath(); std::string oldsave = ndsSave->GetPath();
std::string newsave = getAssetPath(false, globalCfg.GetString("SaveFilePath"), ".sav"); std::string newsave = getAssetPath(false, globalCfg.GetString("SaveFilePath"), ".sav");
newsave += Platform::InstanceFileSuffix(); newsave += instanceFileSuffix();
if (oldsave != newsave) if (oldsave != newsave)
ndsSave->SetPath(newsave, false); ndsSave->SetPath(newsave, false);
} }
@ -1179,7 +1188,7 @@ void EmuInstance::reset()
{ {
std::string oldsave = gbaSave->GetPath(); std::string oldsave = gbaSave->GetPath();
std::string newsave = getAssetPath(true, globalCfg.GetString("SaveFilePath"), ".sav"); std::string newsave = getAssetPath(true, globalCfg.GetString("SaveFilePath"), ".sav");
newsave += Platform::InstanceFileSuffix(); newsave += instanceFileSuffix();
if (oldsave != newsave) if (oldsave != newsave)
gbaSave->SetPath(newsave, false); gbaSave->SetPath(newsave, false);
} }
@ -1192,13 +1201,13 @@ void EmuInstance::reset()
if (globalCfg.GetBool("Emu.ExternalBIOSEnable")) if (globalCfg.GetBool("Emu.ExternalBIOSEnable"))
{ {
if (nds->ConsoleType == 1) if (nds->ConsoleType == 1)
newsave = globalCfg.GetString("DSi.FirmwarePath") + Platform::InstanceFileSuffix(); newsave = globalCfg.GetString("DSi.FirmwarePath") + instanceFileSuffix();
else else
newsave = globalCfg.GetString("DS.FirmwarePath") + Platform::InstanceFileSuffix(); newsave = globalCfg.GetString("DS.FirmwarePath") + instanceFileSuffix();
} }
else else
{ {
newsave = kWifiSettingsPath + Platform::InstanceFileSuffix(); newsave = kWifiSettingsPath + instanceFileSuffix();
} }
if (oldsave != newsave) if (oldsave != newsave)
@ -1341,7 +1350,7 @@ pair<unique_ptr<Firmware>, string> EmuInstance::generateDefaultFirmware()
// Try to open the instanced Wi-fi settings, falling back to the regular Wi-fi settings if they don't exist. // Try to open the instanced Wi-fi settings, falling back to the regular Wi-fi settings if they don't exist.
// We don't need to save the whole firmware, just the part that may actually change. // We don't need to save the whole firmware, just the part that may actually change.
std::string wfcsettingspath = kWifiSettingsPath; std::string wfcsettingspath = kWifiSettingsPath;
settingspath = wfcsettingspath + Platform::InstanceFileSuffix(); settingspath = wfcsettingspath + instanceFileSuffix();
FileHandle* f = Platform::OpenLocalFile(settingspath, FileMode::Read); FileHandle* f = Platform::OpenLocalFile(settingspath, FileMode::Read);
if (!f) if (!f)
{ {
@ -1493,13 +1502,12 @@ void EmuInstance::customizeFirmware(Firmware& firmware, bool overridesettings) n
} }
} }
int inst = Platform::InstanceID(); if (instanceID > 0)
if (inst > 0)
{ {
rep = true; rep = true;
mac[3] += inst; mac[3] += instanceID;
mac[4] += inst*0x44; mac[4] += instanceID*0x44;
mac[5] += inst*0x10; mac[5] += instanceID*0x10;
} }
if (rep) if (rep)
@ -1630,7 +1638,7 @@ bool EmuInstance::loadROM(QStringList filepath, bool reset)
std::string savname = getAssetPath(false, globalCfg.GetString("SaveFilePath"), ".sav"); std::string savname = getAssetPath(false, globalCfg.GetString("SaveFilePath"), ".sav");
std::string origsav = savname; std::string origsav = savname;
savname += Platform::InstanceFileSuffix(); savname += instanceFileSuffix();
FileHandle* sav = Platform::OpenFile(savname, FileMode::Read); FileHandle* sav = Platform::OpenFile(savname, FileMode::Read);
if (!sav) if (!sav)
@ -1772,7 +1780,7 @@ bool EmuInstance::loadGBAROM(QStringList filepath)
std::string savname = getAssetPath(true, globalCfg.GetString("SaveFilePath"), ".sav"); std::string savname = getAssetPath(true, globalCfg.GetString("SaveFilePath"), ".sav");
std::string origsav = savname; std::string origsav = savname;
savname += Platform::InstanceFileSuffix(); savname += instanceFileSuffix();
FileHandle* sav = Platform::OpenFile(savname, FileMode::Read); FileHandle* sav = Platform::OpenFile(savname, FileMode::Read);
if (!sav) if (!sav)

View File

@ -84,6 +84,8 @@ public:
Config::Table& getGlobalConfig() { return globalCfg; } Config::Table& getGlobalConfig() { return globalCfg; }
Config::Table& getLocalConfig() { return localCfg; } Config::Table& getLocalConfig() { return localCfg; }
std::string instanceFileSuffix();
void createWindow(); void createWindow();
void osdAddMessage(unsigned int color, const char* fmt, ...); void osdAddMessage(unsigned int color, const char* fmt, ...);

View File

@ -420,7 +420,7 @@ void EmuThread::run()
if (winUpdateFreq < 1) if (winUpdateFreq < 1)
winUpdateFreq = 1; winUpdateFreq = 1;
int inst = Platform::InstanceID(); int inst = emuInstance->instanceID;
if (inst == 0) if (inst == 0)
sprintf(melontitle, "[%d/%.0f] melonDS " MELONDS_VERSION, fps, fpstarget); sprintf(melontitle, "[%d/%.0f] melonDS " MELONDS_VERSION, fps, fpstarget);
else else
@ -439,7 +439,7 @@ void EmuThread::run()
EmuStatus = EmuRunning; EmuStatus = EmuRunning;
int inst = Platform::InstanceID(); int inst = emuInstance->instanceID;
if (inst == 0) if (inst == 0)
sprintf(melontitle, "melonDS " MELONDS_VERSION); sprintf(melontitle, "melonDS " MELONDS_VERSION);
else else
@ -483,7 +483,6 @@ void EmuThread::run()
EmuStatus = emuStatus_Exit; EmuStatus = emuStatus_Exit;
NDS::Current = nullptr; NDS::Current = nullptr;
// nds is out of scope, so unique_ptr cleans it up for us
} }
void EmuThread::changeWindowTitle(char* title) void EmuThread::changeWindowTitle(char* title)

View File

@ -53,7 +53,7 @@ PathSettingsDialog::PathSettingsDialog(QWidget* parent) : QDialog(parent), ui(ne
ui->txtSavestatePath->setText(cfg.GetQString("SavestatePath")); ui->txtSavestatePath->setText(cfg.GetQString("SavestatePath"));
ui->txtCheatFilePath->setText(cfg.GetQString("CheatFilePath")); ui->txtCheatFilePath->setText(cfg.GetQString("CheatFilePath"));
int inst = Platform::InstanceID(); int inst = emuInstance->getInstanceID();
if (inst > 0) if (inst > 0)
ui->lblInstanceNum->setText(QString("Configuring paths for instance %1").arg(inst+1)); ui->lblInstanceNum->setText(QString("Configuring paths for instance %1").arg(inst+1));
else else

View File

@ -204,21 +204,6 @@ void SignalStop(StopReason reason)
} }
int InstanceID()
{
return IPCInstanceID;
}
std::string InstanceFileSuffix()
{
int inst = IPCInstanceID;
if (inst == 0) return "";
char suffix[16] = {0};
snprintf(suffix, 15, ".%d", inst+1);
return suffix;
}
static QIODevice::OpenMode GetQMode(FileMode mode) static QIODevice::OpenMode GetQMode(FileMode mode)
{ {
QIODevice::OpenMode qmode = QIODevice::OpenModeFlag::NotOpen; QIODevice::OpenMode qmode = QIODevice::OpenModeFlag::NotOpen;

View File

@ -89,7 +89,7 @@ PowerManagementDialog::PowerManagementDialog(QWidget* parent) : QDialog(parent),
} }
int inst = Platform::InstanceID(); int inst = emuInstance->getInstanceID();
if (inst > 0) if (inst > 0)
ui->lblInstanceNum->setText(QString("Setting battery levels for instance %1").arg(inst+1)); ui->lblInstanceNum->setText(QString("Setting battery levels for instance %1").arg(inst+1));
else else

View File

@ -16,20 +16,13 @@
with melonDS. If not, see http://www.gnu.org/licenses/. with melonDS. If not, see http://www.gnu.org/licenses/.
*/ */
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#include <string.h> #include <string.h>
#include <optional> #include <optional>
#include <vector>
#include <string>
#include <algorithm>
#include <cmath> #include <cmath>
#include <QPaintEvent> #include <QPaintEvent>
#include <QPainter> #include <QPainter>
#include <QDebug>
#ifndef _WIN32 #ifndef _WIN32
#ifndef APPLE #ifndef APPLE
#include <qpa/qplatformnativeinterface.h> #include <qpa/qplatformnativeinterface.h>
@ -57,12 +50,6 @@
using namespace melonDS; using namespace melonDS;
// TEMP
extern bool RunningSomething;
extern int videoRenderer;
extern bool videoSettingsDirty;
const u32 kOSDMargin = 6; const u32 kOSDMargin = 6;

View File

@ -232,8 +232,6 @@ MainWindow::MainWindow(int id, EmuInstance* inst, QWidget* parent) :
setAcceptDrops(true); setAcceptDrops(true);
setFocusPolicy(Qt::ClickFocus); setFocusPolicy(Qt::ClickFocus);
//int inst = Platform::InstanceID();
QMenuBar* menubar = new QMenuBar(); QMenuBar* menubar = new QMenuBar();
{ {
QMenu* menu = menubar->addMenu("File"); QMenu* menu = menubar->addMenu("File");