From 3b53d3376e4649aa9e7e501f86b1d5808b6bd77d Mon Sep 17 00:00:00 2001 From: thrust26 Date: Mon, 21 Aug 2023 13:01:23 +0200 Subject: [PATCH] preliminary doc updates --- Changes.txt | 2 ++ docs/graphics/options_audio.png | Bin 4048 -> 4130 bytes docs/graphics/options_bezels.png | Bin 0 -> 4447 bytes docs/graphics/options_video.png | Bin 3572 -> 3630 bytes docs/graphics/options_video_palettes.png | Bin 9802 -> 9803 bytes docs/graphics/options_video_tv.png | Bin 3980 -> 4141 bytes docs/index.html | 31 +++++++++++++++++++++-- src/emucore/FrameBuffer.cxx | 1 + src/gui/DialogContainer.cxx | 2 +- 9 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 docs/graphics/options_bezels.png diff --git a/Changes.txt b/Changes.txt index a6b34ae41..1f5156f84 100644 --- a/Changes.txt +++ b/Changes.txt @@ -24,6 +24,8 @@ * Added 2nd UI theme and hotkey for toggling UI theme. + * Adde bezel support. + * Added optional type format detection based on colors used. * Added Joy2B+ controller support. diff --git a/docs/graphics/options_audio.png b/docs/graphics/options_audio.png index b84e87e5cae4da5bcc86875044b0128e85e0ec8f..5583c306082804b55129a10564bfb22826318df2 100644 GIT binary patch delta 4070 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 delta 3987 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 K3w36w`2PaCD6C}w diff --git a/docs/graphics/options_bezels.png b/docs/graphics/options_bezels.png new file mode 100644 index 0000000000000000000000000000000000000000..eca14cff1d7191b26ab0d73ba68179fbfeb1b4c8 GIT binary patch literal 4447 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 Tf`ONdgpBk}Pi39F`se=xtav5D literal 9802 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 delta 3878 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 diff --git a/docs/index.html b/docs/index.html index 30013da88..7f86940c6 100644 --- a/docs/index.html +++ b/docs/index.html @@ -313,6 +313,7 @@
  • Tracking of user favorites and popular or recently played ROMs.
  • High scores saving (internal or via PlusROM High Score Club)
  • Cross-platform UI including a built-in ROM launcher frontend
  • +
  • Supports bezel display
  • Built-in extensive debugger, including static analysis with the Distella disassembler and dynamic analysis at runtime by tracking code/graphics/data sections, and generation of DASM-compatible disassembly files
  • @@ -1178,8 +1179,8 @@ Toggle aspect ratio correct scaling - Control + C - Control + C + Shift-Control + C + Shift-Control + C Decrease vertical display size @@ -2688,6 +2689,15 @@ Enable or disable emulation dimming in pause mode. + +
    -showbezel <1|0>
    + Enable or disable bezel display. + + +
    -bezeldir <path>
    + Specifies from where bezel images are loaded.. + +
    -audio.enabled <1|0>
    Enable or disable sound generation. @@ -3750,6 +3760,23 @@
    +
    + + + + + + +
         + + + + +
    ItemBrief descriptionFor more information,
    see Command Line
    Enable bezelsEnables the bezel display if a ROM name matching bezel image or a + default image (named 'default.png') can be found using the bezel path.-showbezel
    Bezel pathSpecifies the path from where bezel images are loaded.-bezeldir
    +
    +
    +

    Video & Audio Settings dialog (Audio):

    diff --git a/src/emucore/FrameBuffer.cxx b/src/emucore/FrameBuffer.cxx index c8f2734b7..6974b876c 100644 --- a/src/emucore/FrameBuffer.cxx +++ b/src/emucore/FrameBuffer.cxx @@ -1388,6 +1388,7 @@ bool FrameBuffer::loadBezel() (myActiveVidMode.screenS.h - bezelH) / 2); // center myBezelSurface->setScalingInterpolation(ScalingInterpolation::sharp); + // Enable blending to allow overlaying the bezel over the TIA output myBezelSurface->attributes().blending = true; myBezelSurface->attributes().blendalpha = 100; myBezelSurface->applyAttributes(); diff --git a/src/gui/DialogContainer.cxx b/src/gui/DialogContainer.cxx index 293257d8b..f3d63c227 100644 --- a/src/gui/DialogContainer.cxx +++ b/src/gui/DialogContainer.cxx @@ -269,7 +269,7 @@ void DialogContainer::handleMouseButtonEvent(MouseButton b, bool pressed, if(b == MouseButton::MIDDLE) { - // Middle mouse button emulates lef mouse button double click + // Middle mouse button emulates left mouse button double click myLastClick.count = 2; b = MouseButton::LEFT; }

    Video & Audio Settings dialog (Bezels):