BizHawk/waterbox/bsnescore/bsnes/sfc/interface/configuration.hpp

73 lines
1.5 KiB
C++

struct Configuration {
auto read() -> string;
auto read(string) -> string;
auto write(string) -> bool;
auto write(string, string) -> bool;
struct System {
struct CPU {
uint version = 2;
} cpu;
struct PPU1 {
uint version = 1;
struct VRAM {
uint size = 0x10000;
} vram;
} ppu1;
struct PPU2 {
uint version = 3;
} ppu2;
struct Serialization {
string method = "Fast";
} serialization;
} system;
struct Video {
bool blurEmulation = true;
bool colorEmulation = true;
bool drawCursor = true;
} video;
struct Hacks {
bool hotfixes = true;
string entropy = "Low";
struct CPU {
uint overclock = 100;
bool fastMath = false;
} cpu;
struct PPU {
bool fast = true;
bool deinterlace = true;
bool noSpriteLimit = false;
bool noVRAMBlocking = false;
uint renderCycle = 512;
struct Mode7 {
uint scale = 1;
bool perspective = true;
bool supersample = false;
bool mosaic = true;
} mode7;
} ppu;
struct DSP {
bool fast = true;
bool cubic = false;
bool echoShadow = false;
} dsp;
struct Coprocessor {
bool delayedSync = true;
bool preferHLE = false;
} coprocessor;
struct SA1 {
uint overclock = 100;
} sa1;
struct SuperFX {
uint overclock = 100;
} superfx;
} hacks;
private:
auto process(Markup::Node document, bool load) -> void;
};
extern Configuration configuration;