mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-09-02 22:42:46 +02:00
Update to v106r44 release.
byuu says: Changelog: - hiro/Windows: use `WS_CLIPSIBLINGS` on Label to prevent resize drawing issues - bsnes: correct viewport resizing - bsnes: speed up window resizing a little bit - bsnes: fix the cheat editor list enable checkbox - bsnes: fix the state manager filename display in game ROM mode - bsnes: fix the state manager save/rename/remove functionality in game ROM mode - bsnes: correct path searching for IPS and BPS patches in game ROM mode - bsnes: patch BS-X town cartridge to disable play limits - bsnes: do not load (program,data,expansion).(rom,flash) from disk in game pak mode - this is required to support soft-patching and ROM hacks - bsnes: added speed mode selection (50%, 75%, 100%, 150%, 200%); maintains proper pitch - bsnes: added icons to the menubar - this is particularly useful to tell game ROMs from game paks in the load recent game menu - bsnes: added emblem at bottom left of status bar to indicate if a game is verified or not - verified means it is in the icarus verified game dump database - the verified diamond is orange; the unverified diamond is blue - bsnes: added an option (which defaults to off) to warn when loading unverified games - working around a bug in GTK, I have to use the uglier MessageWindow instead of MessageDialog - bsnes: added (non-functional) link to <https://doc.byuu.org/bsnes/> to the help menu - bsnes: added GUI setting to toggle memory auto-save feature - bsnes: added GUI setting to toggle capturing a backup save state when closing the emulator - bsnes: made auto-saving states on exit an option - bsnes: added an option to auto-load the auto-saved state on load - basically, the two combined implements auto-resume - bsnes: when firmware is missing, offer to take the user to the online help documentation - bsnes: added fast PPU option to disable the sprite limit - increase from 32 items/line + 34 tiles/line to 128 items/line + 128 tiles/line - technically, 1024 tiles/line are possible with 128 sprites at 64-width - but this is just a waste of cache locality and worst-case performance; it'll never happen Errata: - hiro/Windows: fallthrough on Canvas `WM_ERASEBKGND` to prevent startup flicker
This commit is contained in:
@@ -10,6 +10,10 @@ auto Application::font() -> Font {
|
||||
return state.font;
|
||||
}
|
||||
|
||||
auto Application::modal() -> bool {
|
||||
return state.modal > 0;
|
||||
}
|
||||
|
||||
auto Application::name() -> string {
|
||||
return state.name;
|
||||
}
|
||||
|
@@ -374,6 +374,7 @@ struct Application {
|
||||
|
||||
static auto doMain() -> void;
|
||||
static auto font() -> Font;
|
||||
static auto modal() -> bool;
|
||||
static auto name() -> string;
|
||||
static auto onMain(const function<void ()>& callback = {}) -> void;
|
||||
static auto run() -> void;
|
||||
@@ -408,6 +409,7 @@ struct Application {
|
||||
//private:
|
||||
struct State {
|
||||
Font font;
|
||||
int modal = 0;
|
||||
string name;
|
||||
function<void ()> onMain;
|
||||
bool quit = false;
|
||||
|
@@ -248,6 +248,12 @@ auto mWindow::setGeometry(Geometry geometry) -> type& {
|
||||
auto mWindow::setModal(bool modal) -> type& {
|
||||
state.modal = modal;
|
||||
signal(setModal, modal);
|
||||
if(modal) {
|
||||
Application::state.modal++;
|
||||
} else {
|
||||
Application::state.modal--;
|
||||
assert(Application::state.modal >= 0);
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
@@ -4,7 +4,7 @@ namespace hiro {
|
||||
|
||||
auto pLabel::construct() -> void {
|
||||
hwnd = CreateWindow(L"hiroLabel", L"",
|
||||
WS_CHILD,
|
||||
WS_CHILD | WS_CLIPSIBLINGS,
|
||||
0, 0, 0, 0, _parentHandle(), nullptr, GetModuleHandle(0), 0);
|
||||
SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)&reference);
|
||||
pWidget::_setState();
|
||||
|
Reference in New Issue
Block a user