Update to 20180729 release.
byuu wrote:
Sigh ...
asio.hpp needs #include <nall/windows/registry.hpp>
[Since the last WIP, byuu also posted the following message. -Ed.]
ruby drivers have all been updated (but not tested outside of BSD), and
I redesigned the settings window. The driver functionality all exists on
a new "Drivers" panel, the emulator/hack settings go to a
"Configuration" panel, and the video/audio panels lose driver settings.
As does the settings menu and its synchronize options.
I want to start pushing toward a v107 release. Critically, I will need
DirectSound and ALSA to support dynamic rate control. I'd also like to
eliminate the other system manifest.bml files. I need to update the
cheat code database format, and bundle at least a few quark shaders --
although I still need to default to Direct3D on Windows.
Turbo keys would be nice, if it's not too much effort. Aside from
netplay, it's the last significant feature I'm missing.
I think for v107, higan is going to be a bit rough around the edges
compared to bsnes. And I don't think it's practical to finish the bsnes
localization support.
I'm thinking we probably want another WIP to iron out any critical
issues, but this time there should be a feature freeze with the next
WIP.
2018-07-29 13:24:38 +00:00
|
|
|
#if defined(Hiro_Window)
|
|
|
|
struct mWindow : mObject {
|
|
|
|
Declare(Window)
|
|
|
|
using mObject::remove;
|
|
|
|
|
|
|
|
mWindow();
|
|
|
|
|
|
|
|
auto append(sMenuBar menuBar) -> type&;
|
|
|
|
auto append(sSizable sizable) -> type&;
|
|
|
|
auto append(sStatusBar statusBar) -> type&;
|
|
|
|
auto backgroundColor() const -> Color;
|
|
|
|
auto dismissable() const -> bool;
|
|
|
|
auto doClose() const -> void;
|
|
|
|
auto doDrop(vector<string>) const -> void;
|
|
|
|
auto doKeyPress(int) const -> void;
|
|
|
|
auto doKeyRelease(int) const -> void;
|
|
|
|
auto doMove() const -> void;
|
|
|
|
auto doSize() const -> void;
|
|
|
|
auto droppable() const -> bool;
|
|
|
|
auto frameGeometry() const -> Geometry;
|
|
|
|
auto fullScreen() const -> bool;
|
|
|
|
auto geometry() const -> Geometry;
|
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.
2019-04-09 01:16:30 +00:00
|
|
|
auto handle() const -> uintptr_t;
|
Update to 20180729 release.
byuu wrote:
Sigh ...
asio.hpp needs #include <nall/windows/registry.hpp>
[Since the last WIP, byuu also posted the following message. -Ed.]
ruby drivers have all been updated (but not tested outside of BSD), and
I redesigned the settings window. The driver functionality all exists on
a new "Drivers" panel, the emulator/hack settings go to a
"Configuration" panel, and the video/audio panels lose driver settings.
As does the settings menu and its synchronize options.
I want to start pushing toward a v107 release. Critically, I will need
DirectSound and ALSA to support dynamic rate control. I'd also like to
eliminate the other system manifest.bml files. I need to update the
cheat code database format, and bundle at least a few quark shaders --
although I still need to default to Direct3D on Windows.
Turbo keys would be nice, if it's not too much effort. Aside from
netplay, it's the last significant feature I'm missing.
I think for v107, higan is going to be a bit rough around the edges
compared to bsnes. And I don't think it's practical to finish the bsnes
localization support.
I'm thinking we probably want another WIP to iron out any critical
issues, but this time there should be a feature freeze with the next
WIP.
2018-07-29 13:24:38 +00:00
|
|
|
auto maximized() const -> bool;
|
|
|
|
auto maximumSize() const -> Size;
|
|
|
|
auto menuBar() const -> MenuBar;
|
|
|
|
auto minimized() const -> bool;
|
|
|
|
auto minimumSize() const -> Size;
|
|
|
|
auto modal() const -> bool;
|
|
|
|
auto monitor() const -> uint;
|
|
|
|
auto onClose(const function<void ()>& callback = {}) -> type&;
|
|
|
|
auto onDrop(const function<void (vector<string>)>& callback = {}) -> type&;
|
|
|
|
auto onKeyPress(const function<void (int)>& callback = {}) -> type&;
|
|
|
|
auto onKeyRelease(const function<void (int)>& callback = {}) -> type&;
|
|
|
|
auto onMove(const function<void ()>& callback = {}) -> type&;
|
|
|
|
auto onSize(const function<void ()>& callback = {}) -> type&;
|
|
|
|
auto remove(sMenuBar menuBar) -> type&;
|
|
|
|
auto remove(sSizable sizable) -> type&;
|
|
|
|
auto remove(sStatusBar statusBar) -> type&;
|
|
|
|
auto reset() -> type& override;
|
|
|
|
auto resizable() const -> bool;
|
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.
2019-04-09 01:16:30 +00:00
|
|
|
auto setAlignment(Alignment = Alignment::Center) -> type&;
|
|
|
|
auto setAlignment(sWindow relativeTo, Alignment = Alignment::Center) -> type&;
|
Update to 20180729 release.
byuu wrote:
Sigh ...
asio.hpp needs #include <nall/windows/registry.hpp>
[Since the last WIP, byuu also posted the following message. -Ed.]
ruby drivers have all been updated (but not tested outside of BSD), and
I redesigned the settings window. The driver functionality all exists on
a new "Drivers" panel, the emulator/hack settings go to a
"Configuration" panel, and the video/audio panels lose driver settings.
As does the settings menu and its synchronize options.
I want to start pushing toward a v107 release. Critically, I will need
DirectSound and ALSA to support dynamic rate control. I'd also like to
eliminate the other system manifest.bml files. I need to update the
cheat code database format, and bundle at least a few quark shaders --
although I still need to default to Direct3D on Windows.
Turbo keys would be nice, if it's not too much effort. Aside from
netplay, it's the last significant feature I'm missing.
I think for v107, higan is going to be a bit rough around the edges
compared to bsnes. And I don't think it's practical to finish the bsnes
localization support.
I'm thinking we probably want another WIP to iron out any critical
issues, but this time there should be a feature freeze with the next
WIP.
2018-07-29 13:24:38 +00:00
|
|
|
auto setBackgroundColor(Color color = {}) -> type&;
|
|
|
|
auto setDismissable(bool dismissable = true) -> type&;
|
|
|
|
auto setDroppable(bool droppable = true) -> type&;
|
|
|
|
auto setFrameGeometry(Geometry geometry) -> type&;
|
|
|
|
auto setFramePosition(Position position) -> type&;
|
|
|
|
auto setFrameSize(Size size) -> type&;
|
|
|
|
auto setFullScreen(bool fullScreen = true) -> type&;
|
|
|
|
auto setGeometry(Geometry geometry) -> type&;
|
2019-09-16 18:37:03 +00:00
|
|
|
auto setGeometry(Alignment, Size) -> type&;
|
Update to 20180729 release.
byuu wrote:
Sigh ...
asio.hpp needs #include <nall/windows/registry.hpp>
[Since the last WIP, byuu also posted the following message. -Ed.]
ruby drivers have all been updated (but not tested outside of BSD), and
I redesigned the settings window. The driver functionality all exists on
a new "Drivers" panel, the emulator/hack settings go to a
"Configuration" panel, and the video/audio panels lose driver settings.
As does the settings menu and its synchronize options.
I want to start pushing toward a v107 release. Critically, I will need
DirectSound and ALSA to support dynamic rate control. I'd also like to
eliminate the other system manifest.bml files. I need to update the
cheat code database format, and bundle at least a few quark shaders --
although I still need to default to Direct3D on Windows.
Turbo keys would be nice, if it's not too much effort. Aside from
netplay, it's the last significant feature I'm missing.
I think for v107, higan is going to be a bit rough around the edges
compared to bsnes. And I don't think it's practical to finish the bsnes
localization support.
I'm thinking we probably want another WIP to iron out any critical
issues, but this time there should be a feature freeze with the next
WIP.
2018-07-29 13:24:38 +00:00
|
|
|
auto setMaximized(bool maximized = true) -> type&;
|
|
|
|
auto setMaximumSize(Size size = {}) -> type&;
|
|
|
|
auto setMinimized(bool minimized = true) -> type&;
|
|
|
|
auto setMinimumSize(Size size = {}) -> type&;
|
|
|
|
auto setModal(bool modal = true) -> type&;
|
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.
2019-04-09 01:16:30 +00:00
|
|
|
auto setPosition(Position) -> type&;
|
|
|
|
auto setPosition(sWindow relativeTo, Position) -> type&;
|
Update to 20180729 release.
byuu wrote:
Sigh ...
asio.hpp needs #include <nall/windows/registry.hpp>
[Since the last WIP, byuu also posted the following message. -Ed.]
ruby drivers have all been updated (but not tested outside of BSD), and
I redesigned the settings window. The driver functionality all exists on
a new "Drivers" panel, the emulator/hack settings go to a
"Configuration" panel, and the video/audio panels lose driver settings.
As does the settings menu and its synchronize options.
I want to start pushing toward a v107 release. Critically, I will need
DirectSound and ALSA to support dynamic rate control. I'd also like to
eliminate the other system manifest.bml files. I need to update the
cheat code database format, and bundle at least a few quark shaders --
although I still need to default to Direct3D on Windows.
Turbo keys would be nice, if it's not too much effort. Aside from
netplay, it's the last significant feature I'm missing.
I think for v107, higan is going to be a bit rough around the edges
compared to bsnes. And I don't think it's practical to finish the bsnes
localization support.
I'm thinking we probably want another WIP to iron out any critical
issues, but this time there should be a feature freeze with the next
WIP.
2018-07-29 13:24:38 +00:00
|
|
|
auto setResizable(bool resizable = true) -> type&;
|
|
|
|
auto setSize(Size size) -> type&;
|
|
|
|
auto setTitle(const string& title = "") -> type&;
|
|
|
|
auto setVisible(bool visible = true) -> type&;
|
|
|
|
auto sizable() const -> Sizable;
|
|
|
|
auto statusBar() const -> StatusBar;
|
|
|
|
auto title() const -> string;
|
|
|
|
|
|
|
|
//private:
|
|
|
|
struct State {
|
|
|
|
Color backgroundColor;
|
|
|
|
bool dismissable = false;
|
|
|
|
bool droppable = false;
|
|
|
|
bool fullScreen = false;
|
|
|
|
Geometry geometry = {128, 128, 256, 256};
|
|
|
|
bool maximized = false;
|
|
|
|
Size maximumSize;
|
|
|
|
bool minimized = false;
|
|
|
|
Size minimumSize;
|
|
|
|
sMenuBar menuBar;
|
|
|
|
bool modal = false;
|
|
|
|
function<void ()> onClose;
|
|
|
|
function<void (vector<string>)> onDrop;
|
|
|
|
function<void (int)> onKeyPress;
|
|
|
|
function<void (int)> onKeyRelease;
|
|
|
|
function<void ()> onMove;
|
|
|
|
function<void ()> onSize;
|
|
|
|
bool resizable = true;
|
|
|
|
sSizable sizable;
|
|
|
|
sStatusBar statusBar;
|
|
|
|
string title;
|
|
|
|
} state;
|
|
|
|
|
|
|
|
auto destruct() -> void;
|
|
|
|
};
|
|
|
|
#endif
|