mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-02-24 07:02:27 +01:00
byuu says: Obviously, this is a fairly major WIP. It's the first public release in 17 months. The entire UI has been rewritten (for the 74th time), and is now internally called tomoko. The official releases will be named higan (both the binaries and title bar.) Missing features from v094: - ananke is missing (this means you will need v094 to create game folders to be loaded) - key assignments are limited to one physical button = one mapping (no multi-mapping) - shader support is missing - audio/video profiling is missing - DIP switch window is missing (used by NSS Actraiser with a special manifest; that's about it) - alternate paths for game system folders and configuration BML files There's some new stuff, but not much. This isn't going to be an exciting WIP in terms of features. It's more about being a brand new release with the brand new hiro port and its shared memory model. The goal is to get these WIPs stable, get v095 out, and then finally start improving the actual emulation again after that.
54 lines
1.9 KiB
C++
54 lines
1.9 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;
|
|
auto updateAudio() -> void;
|
|
auto updateDSP() -> 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;
|