mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-08-31 22:51:55 +02:00
Update to bsnes v107.1 release.
byuu says: Don't let the point release fool you, there are many significant changes in this release. I will be keeping bsnes releases using a point system until the new higan release is ready. Changelog: - GUI: added high DPI support - GUI: fixed the state manager image preview - Windows: added a new waveOut driver with support for dynamic rate control - Windows: corrected the XAudio 2.1 dynamic rate control support [BearOso] - Windows: corrected the Direct3D 9.0 fullscreen exclusive window centering - Windows: fixed XInput controller support on Windows 10 - SFC: added high-level emulation for the DSP1, DSP2, DSP4, ST010, and Cx4 coprocessors - SFC: fixed a slight rendering glitch in the intro to Megalomania If the coprocessor firmware is missing, bsnes will fallback on HLE where it is supported, which is everything other than SD Gundam GX and the two Hayazashi Nidan Morita Shougi games. The Windows dynamic rate control works best with Direct3D in fullscreen exclusive mode. I recommend the waveOut driver over the XAudio 2.1 driver, as it is not possible to target a single XAudio2 version on all Windows OS releases. The waveOut driver should work everywhere out of the box. Note that with DRC, the synchronization source is your monitor, so you will want to be running at 60hz (NTSC) or 50hz (PAL). If you have an adaptive sync monitor, you should instead use the WASAPI (exclusive) or ASIO audio driver.
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
#include <nall/platform.hpp>
|
||||
#include <nall/any.hpp>
|
||||
#include <nall/chrono.hpp>
|
||||
#include <nall/directory.hpp>
|
||||
#include <nall/function.hpp>
|
||||
@@ -17,6 +18,7 @@
|
||||
#include <nall/utility.hpp>
|
||||
#include <nall/vector.hpp>
|
||||
|
||||
using nall::any;
|
||||
using nall::function;
|
||||
using nall::image;
|
||||
using nall::Locale;
|
||||
@@ -31,8 +33,6 @@ using nall::vector;
|
||||
|
||||
namespace hiro {
|
||||
|
||||
auto initialize() -> void;
|
||||
|
||||
struct Font;
|
||||
struct Keyboard;
|
||||
|
||||
@@ -158,6 +158,7 @@ struct Gradient {
|
||||
#if defined(Hiro_Alignment)
|
||||
struct Alignment {
|
||||
using type = Alignment;
|
||||
static const Alignment Center;
|
||||
|
||||
Alignment();
|
||||
Alignment(float horizontal, float vertical = 0.5);
|
||||
@@ -408,24 +409,7 @@ struct MessageWindow {
|
||||
};
|
||||
#endif
|
||||
|
||||
struct Property {
|
||||
using type = Property;
|
||||
|
||||
Property(const string& name, const string& value = "");
|
||||
|
||||
auto operator==(const Property& source) const -> bool;
|
||||
auto operator< (const Property& source) const -> bool;
|
||||
|
||||
auto name() const -> string;
|
||||
auto setValue(const string& value = "") -> type&;
|
||||
auto value() const -> string;
|
||||
|
||||
private:
|
||||
struct State {
|
||||
string name;
|
||||
string value;
|
||||
} state;
|
||||
};
|
||||
#include "property.hpp"
|
||||
|
||||
#define Declare(Name) \
|
||||
using type = m##Name; \
|
||||
@@ -652,47 +636,7 @@ struct mButton : mWidget {
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(Hiro_Canvas)
|
||||
struct mCanvas : mWidget {
|
||||
Declare(Canvas)
|
||||
|
||||
auto color() const -> Color;
|
||||
auto data() -> uint32_t*;
|
||||
auto droppable() const -> bool;
|
||||
auto doDrop(vector<string> names) const -> void;
|
||||
auto doMouseLeave() const -> void;
|
||||
auto doMouseMove(Position position) const -> void;
|
||||
auto doMousePress(Mouse::Button button) const -> void;
|
||||
auto doMouseRelease(Mouse::Button button) const -> void;
|
||||
auto gradient() const -> Gradient;
|
||||
auto icon() const -> image;
|
||||
auto onDrop(const function<void (vector<string>)>& callback = {}) -> type&;
|
||||
auto onMouseLeave(const function<void ()>& callback = {}) -> type&;
|
||||
auto onMouseMove(const function<void (Position)>& callback = {}) -> type&;
|
||||
auto onMousePress(const function<void (Mouse::Button)>& callback = {}) -> type&;
|
||||
auto onMouseRelease(const function<void (Mouse::Button)>& callback = {}) -> type&;
|
||||
auto setColor(Color color = {}) -> type&;
|
||||
auto setDroppable(bool droppable = true) -> type&;
|
||||
auto setGradient(Gradient gradient = {}) -> type&;
|
||||
auto setIcon(const image& icon = {}) -> type&;
|
||||
auto setSize(Size size = {}) -> type&;
|
||||
auto size() const -> Size;
|
||||
auto update() -> type&;
|
||||
|
||||
//private:
|
||||
struct State {
|
||||
Color color;
|
||||
bool droppable = false;
|
||||
Gradient gradient;
|
||||
image icon;
|
||||
function<void (vector<string>)> onDrop;
|
||||
function<void ()> onMouseLeave;
|
||||
function<void (Position)> onMouseMove;
|
||||
function<void (Mouse::Button)> onMousePress;
|
||||
function<void (Mouse::Button)> onMouseRelease;
|
||||
} state;
|
||||
};
|
||||
#endif
|
||||
#include "widget/canvas.hpp"
|
||||
|
||||
#if defined(Hiro_CheckButton)
|
||||
struct mCheckButton : mWidget {
|
||||
|
Reference in New Issue
Block a user