mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-02-24 23:22:25 +01:00
byuu says: Implemented the cheat database dialog, and most of the cheat editor dialog. I still have to handle loading and saving the cheats.bml file for each game. I wanted to finish it today, but I burned out. It's a ton of really annoying work to support cheat codes. There's also some issue with the width calculation for the "code(s)" column in hiro/GTK. Short-term: - add input port changing support - add other input types (mouse-based, etc) - finish cheat codes Long-term: - add slotted cart loader (SGB, BSX, ST) - add DIP switch selection window (NSS) - add overscan masking - add timing configuration (video/audio sync) Not planned: - video color adjustments (will allow emulated color vs raw color; but no more sliders) - pixel shaders - ananke integration (will need to make a command-line version to get my games in) - fancy audio adjustment controls (resampler, latency, volume) - input focus settings - localization support (not enough users) - window geometry memory - anything else not in higan v094
52 lines
1.8 KiB
C++
52 lines
1.8 KiB
C++
struct Program : Emulator::Interface::Bind {
|
|
//program.cpp
|
|
Program();
|
|
auto main() -> void;
|
|
auto quit() -> void;
|
|
|
|
//interface.cpp
|
|
auto loadRequest(unsigned id, string name, string type) -> void override;
|
|
auto loadRequest(unsigned id, string path) -> void override;
|
|
auto saveRequest(unsigned id, string path) -> void override;
|
|
auto videoColor(unsigned source, uint16 alpha, uint16 red, uint16 green, uint16 blue) -> uint32 override;
|
|
auto videoRefresh(const uint32* palette, const uint32* data, unsigned pitch, unsigned width, unsigned height) -> void override;
|
|
auto audioSample(int16 lsample, int16 rsample) -> void override;
|
|
auto inputPoll(unsigned port, unsigned device, unsigned input) -> int16 override;
|
|
auto inputRumble(unsigned port, unsigned device, unsigned input, bool enable) -> void override;
|
|
auto dipSettings(const Markup::Node& node) -> unsigned override;
|
|
auto path(unsigned group) -> string override;
|
|
auto notify(string text) -> void override;
|
|
|
|
//media.cpp
|
|
auto loadMedia(string location) -> void;
|
|
auto loadMedia(Emulator::Interface& interface, Emulator::Interface::Media& media, const string& location) -> void;
|
|
auto unloadMedia() -> void;
|
|
|
|
//state.cpp
|
|
auto stateName(unsigned slot, bool manager = false) -> string;
|
|
auto loadState(unsigned slot, bool manager = false) -> bool;
|
|
auto saveState(unsigned slot, bool manager = false) -> bool;
|
|
|
|
//utility.cpp
|
|
auto powerCycle() -> void;
|
|
auto softReset() -> void;
|
|
auto showMessage(const string& text) -> void;
|
|
auto updateStatusText() -> void;
|
|
auto updateVideoFilter() -> void;
|
|
auto updateVideoPalette() -> void;
|
|
|
|
DSP dsp;
|
|
bool pause = false;
|
|
|
|
vector<Emulator::Interface*> emulators;
|
|
|
|
vector<string> mediaPaths;
|
|
vector<string> folderPaths;
|
|
|
|
string statusText;
|
|
string statusMessage;
|
|
time_t statusTime = 0;
|
|
};
|
|
|
|
extern Program* program;
|