Update to bsnes v107r4 beta release.

byuu says:

  - bsnes: added video filters from bsnes v082
  - bsnes: added ZSNES snow effect option when games paused or unloaded
    (no, I'm not joking)
  - bsnes: added 7-zip support (LZMA 19.00 SDK)

[Recent higan WIPs have also mentioned bsnes changes, although the higan code
no longer includes the bsnes code. These changes include:

  - higan, bsnes: added EXLOROM, EXLOROM-RAM, EXHIROM mappings
  - higan, bsnes: focus the viewport after leaving fullscreen exclusive
    mode
  - bsnes: re-added mightymo's cheat code database
  - bsnes: improved make install rules for the game and cheat code
    databases
  - bsnes: delayed construction of hiro::Window objects to properly show
    bsnes window icons

- Ed.]
This commit is contained in:
Tim Allen
2019-07-07 19:44:09 +10:00
parent becbca47d4
commit d87a0f633d
280 changed files with 120826 additions and 1521 deletions

View File

@@ -62,7 +62,7 @@ auto AboutDialog::show() -> void {
nameLabel.setForegroundColor({0, 0, 0});
nameLabel.setFont(Font().setFamily("Georgia").setBold().setSize(36.0));
nameLabel.setText(state.name ? state.name : Application::name());
nameLabel.setVisible(!state.logo);
nameLabel.setVisible((bool)state.name);
Canvas logoCanvas{&layout, Size{~0, 0}};
logoCanvas.setCollapsible();
@@ -130,11 +130,16 @@ auto AboutDialog::show() -> void {
websiteLabel.setFont(Font().setBold());
websiteLabel.setForegroundColor({0, 0, 0});
websiteLabel.setText("Website:");
Label websiteValue{&websiteLayout, Size{~0, 0}};
//add a layout for the website value to fill 50% of the window,
HorizontalLayout websiteValueLayout{&websiteLayout, Size{~0, 0}};
//so that the label is only as long as its text content,
Label websiteValue{&websiteValueLayout, Size{0, 0}};
websiteValue.setAlignment(0.0);
websiteValue.setFont(Font().setBold());
websiteValue.setForegroundColor({0, 0, 240});
websiteValue.setText(state.website);
//so that the hand cursor is only visible when overing over the link.
websiteValue.setMouseCursor(MouseCursor::Hand);
websiteValue.onMouseRelease([&](auto button) {
if(button == Mouse::Button::Left) invoke(state.website);
});

View File

@@ -12,6 +12,7 @@ mHorizontalResizeGrip::mHorizontalResizeGrip() {
icon.write(data, 0x00000000); data += icon.stride();
}
mCanvas::setIcon(icon);
mCanvas::setMouseCursor(MouseCursor::HorizontalResize);
mCanvas::onMousePress([&](auto button) {
if(button == Mouse::Button::Left && !state.timer.enabled()) {
doActivate();

View File

@@ -74,7 +74,7 @@ auto mListView::reset() -> type& {
return *this;
}
auto mListView::resize() -> type& {
auto mListView::resizeColumn() -> type& {
mTableView::resizeColumns();
return *this;
}
@@ -85,12 +85,6 @@ auto mListView::selected() const -> ListViewItem {
auto mListView::setVisible(bool visible) -> type& {
mTableView::setVisible(visible);
#if 0
if(visible) {
Application::processEvents(); //heavy-handed, but necessary for proper Widget geometry
mTableView::resizeColumns();
}
#endif
return *this;
}

View File

@@ -27,7 +27,7 @@ struct mListView : mTableView {
auto onContext(const function<void ()>& callback) -> type&;
auto onToggle(const function<void (ListViewItem)>& callback) -> type&;
auto reset() -> type& override;
auto resize() -> type&;
auto resizeColumn() -> type&;
auto selected() const -> ListViewItem;
auto setVisible(bool visible = true) -> type&;

View File

@@ -222,7 +222,8 @@ struct ListView : sListView {
auto onToggle(const function<void (ListViewItem)>& callback = {}) { return self().onToggle(callback), *this; }
auto remove(sListViewItem item) { return self().remove(item), *this; }
auto reset() { return self().reset(), *this; }
auto resize() { return self().resize(), *this; }
auto resizeColumn() { return self().resizeColumn(), *this; }
auto selectNone() { return self().selectNone(), *this; }
auto selected() { return self().selected(); }
auto setAlignment(Alignment alignment = {}) { return self().setAlignment(alignment), *this; }
auto setBackgroundColor(Color color = {}) { return self().setBackgroundColor(color), *this; }

View File

@@ -12,6 +12,7 @@ mVerticalResizeGrip::mVerticalResizeGrip() {
icon.write(data, 0x00000000); data += icon.pitch();
}
mCanvas::setIcon(icon);
mCanvas::setMouseCursor(MouseCursor::VerticalResize);
mCanvas::onMousePress([&](auto button) {
if(button == Mouse::Button::Left && !state.timer.enabled()) {
doActivate();