mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-10-05 03:02:00 +02:00
byuu says: Changelog: - fixed linear mirroring issue in memory map (fixes dash in Mega Man X) - home path for Windows is now %APPDATA%/bsnes (not %APPDATA%/.bsnes) - home path for OS X and Linux is now ~/.config/bsnes (not ~/.bsnes) - bsnes-geometry.cfg is now geometry.cfg; and it stores width,height - I do not yet restore width, height; because the GTK+ and Qt APIs treat window resize as implying setMinimumSize - added bsnes/ui/path; which I have some significant plans for - fixed a bug in realpath (specified path is not always a folder, so we should not always append / as with userpath) - bsnes.cfg, geometry.cfg and cheats.xml may now optionally exist in the same folder as the binary itself - ruby only imports the nall namespace after including system headers (should fix OS X 'decimal' issue) - nall::fp now uses atof (fixes nall::fp("0.05")) - I split the CheatDatabase to a separate cheat-database.cpp file; it was pretty ugly packed into cheat-editor.cpp - Makefile now has "options := " line; where you can add "debugger" if you like, and in the future maybe more options - also works via command-line: make options=debugger
110 lines
2.1 KiB
C++
Executable File
110 lines
2.1 KiB
C++
Executable File
/*
|
|
ruby
|
|
version: 0.06a (2011-02-27)
|
|
license: public domain
|
|
*/
|
|
|
|
#ifndef RUBY_H
|
|
#define RUBY_H
|
|
|
|
#include <nall/algorithm.hpp>
|
|
#include <nall/any.hpp>
|
|
#include <nall/array.hpp>
|
|
#include <nall/bit.hpp>
|
|
#include <nall/detect.hpp>
|
|
#include <nall/input.hpp>
|
|
#include <nall/sort.hpp>
|
|
#include <nall/stdint.hpp>
|
|
#include <nall/string.hpp>
|
|
#include <nall/vector.hpp>
|
|
|
|
namespace ruby {
|
|
|
|
#include <ruby/video.hpp>
|
|
#include <ruby/audio.hpp>
|
|
#include <ruby/input.hpp>
|
|
|
|
class VideoInterface {
|
|
public:
|
|
void driver(const char *driver = "");
|
|
const char* default_driver();
|
|
const char* driver_list();
|
|
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();
|
|
|
|
private:
|
|
Video *p;
|
|
};
|
|
|
|
class AudioInterface {
|
|
public:
|
|
void driver(const char *driver = "");
|
|
const char* default_driver();
|
|
const char* driver_list();
|
|
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();
|
|
|
|
private:
|
|
Audio *p;
|
|
|
|
unsigned volume;
|
|
|
|
//resample unit
|
|
double hermite(double mu, double a, double b, double c, double d);
|
|
bool resample_enabled;
|
|
double r_step, r_frac;
|
|
int r_left[4], r_right[4];
|
|
};
|
|
|
|
class InputInterface {
|
|
public:
|
|
void driver(const char *driver = "");
|
|
const char* default_driver();
|
|
const char* driver_list();
|
|
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 acquire();
|
|
bool unacquire();
|
|
bool acquired();
|
|
|
|
bool poll(int16_t *table);
|
|
InputInterface();
|
|
~InputInterface();
|
|
|
|
private:
|
|
Input *p;
|
|
};
|
|
|
|
extern VideoInterface video;
|
|
extern AudioInterface audio;
|
|
extern InputInterface input;
|
|
|
|
};
|
|
|
|
#endif
|