mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-09-03 04:22:49 +02:00
Update to v094r22 release.
byuu says: I fixed the hiro layout enable bug, so when you go to assign joypad input, the window disables itself so your input doesn't mess with the controls. I added "reset" to the hotkeys, in case you feel like clearing all of them at once. I added device selection support and the ability to disable audio synchronization (run > 60fps) to the ruby/OSS driver. This is exposed in tomoko's configuration file. I added checks to stringify so that assigning null char* strings to nall::string won't cause crashes anymore (technically the crash was in strlen(), which doesn't check for null strings, but whatever ... I'll do the check myself.) I hooked up BrowserDialog::folderSelect() to loading slotted media for now. Tested it by loading a Game Boy game successfully through the Super Game Boy. Definitely want to write a custom window for this though, that looks more like the library dialog. Remaining issues: - finish slotted cart loader (SGB, BSX, ST) - add DIP switch selection window (NSS) [I may end up punting this one to v096] - add more configuration panels (video, audio, timing)
This commit is contained in:
@@ -19,47 +19,45 @@ namespace ruby {
|
||||
#include <ruby/input.hpp>
|
||||
|
||||
struct VideoInterface {
|
||||
void driver(const char* driver = "");
|
||||
const char* optimalDriver();
|
||||
const char* safestDriver();
|
||||
const char* availableDrivers();
|
||||
bool init();
|
||||
void term();
|
||||
|
||||
bool cap(const nall::string& name);
|
||||
nall::any get(const nall::string& name);
|
||||
bool set(const nall::string& name, const nall::any& value);
|
||||
|
||||
bool lock(uint32_t*& data, unsigned& pitch, unsigned width, unsigned height);
|
||||
void unlock();
|
||||
void clear();
|
||||
void refresh();
|
||||
|
||||
VideoInterface();
|
||||
~VideoInterface();
|
||||
|
||||
auto driver(nall::string driver = "") -> void;
|
||||
auto optimalDriver() -> nall::string;
|
||||
auto safestDriver() -> nall::string;
|
||||
auto availableDrivers() -> nall::string;
|
||||
auto init() -> bool;
|
||||
auto term() -> void;
|
||||
|
||||
auto cap(const nall::string& name) -> bool;
|
||||
auto get(const nall::string& name) -> nall::any;
|
||||
auto set(const nall::string& name, const nall::any& value) -> bool;
|
||||
|
||||
auto lock(uint32_t*& data, unsigned& pitch, unsigned width, unsigned height) -> bool;
|
||||
auto unlock() -> void;
|
||||
auto clear() -> void;
|
||||
auto refresh() -> void;
|
||||
|
||||
private:
|
||||
Video* p = nullptr;
|
||||
};
|
||||
|
||||
struct AudioInterface {
|
||||
void driver(const char* driver = "");
|
||||
const char* optimalDriver();
|
||||
const char* safestDriver();
|
||||
const char* availableDrivers();
|
||||
bool init();
|
||||
void term();
|
||||
|
||||
bool cap(const nall::string& name);
|
||||
nall::any get(const nall::string& name);
|
||||
bool set(const nall::string& name, const nall::any& value);
|
||||
|
||||
void sample(uint16_t left, uint16_t right);
|
||||
void clear();
|
||||
|
||||
AudioInterface();
|
||||
~AudioInterface();
|
||||
|
||||
auto driver(nall::string driver = "") -> void;
|
||||
auto optimalDriver() -> nall::string;
|
||||
auto safestDriver() -> nall::string;
|
||||
auto availableDrivers() -> nall::string;
|
||||
auto init() -> bool;
|
||||
auto term() -> void;
|
||||
|
||||
auto cap(const nall::string& name) -> bool;
|
||||
auto get(const nall::string& name) -> nall::any;
|
||||
auto set(const nall::string& name, const nall::any& value) -> bool;
|
||||
|
||||
auto sample(uint16_t left, uint16_t right) -> void;
|
||||
auto clear() -> void;
|
||||
|
||||
private:
|
||||
Audio* p = nullptr;
|
||||
};
|
||||
@@ -83,7 +81,6 @@ struct InputInterface {
|
||||
auto acquire() -> bool;
|
||||
auto unacquire() -> bool;
|
||||
auto acquired() -> bool;
|
||||
|
||||
auto poll() -> nall::vector<nall::shared_pointer<nall::HID::Device>>;
|
||||
auto rumble(uint64_t id, bool enable) -> bool;
|
||||
|
||||
|
Reference in New Issue
Block a user