Commit Graph

148 Commits

Author SHA1 Message Date
thrust26 020dea9cc8 added UI messages with gauge bars for variable values (partially addresses #631) 2020-05-13 09:32:11 +02:00
thrust26 d857eaa2b1 Make windows positioning independent for launcher, emulator and debugger (resolves #615) 2020-05-02 16:46:37 +02:00
thrust26 3de15a4250 adjust minimal launcher size based on dialog font 2020-04-30 11:24:10 +02:00
Stephen Anthony 15ead58aa7 libretro: Fix compile error; conditionally include Font class. 2020-04-29 14:52:15 -02:30
thrust26 b9ec835ef5 Part 1 of the changes for #600 (UI fonts) 2020-04-29 14:25:54 +02:00
Christian Speckner 4d99bca2cd Fix snapshots on retina displays. 2020-03-31 00:46:20 +02:00
Stephen Anthony 9ad47ae5f3 Updated copyright to 2020. Happy New Year to anyone reading this! 2019-12-31 13:48:56 -03:30
Stephen Anthony b2c70d7677 First pass at moving to default member initialization.
This fixes potential issues with forgetting to initialize in c'tors.
2019-12-28 21:14:52 -03:30
Stephen Anthony b276a1e6a7 Huge refactoring of the palette-related code.
This has been developed ad-hoc over the years, with different subsystems (TIA, UI, phosphor, Blargg, etc).  This is an attempt to consolidate the code, and also move to C++-style arrays.
Still TODO is look into refactoring phosphor stuff out of TIASurface and AtariNTSC classes, since the code is exactly the same, and doesn't really belong in either.
This is a major change, so some testing is definitely required.
2019-12-26 17:28:55 -03:30
Christian Speckner c4d1473f81 Get rid of smoothing in favor of scaling settings. 2019-12-13 22:46:31 +01:00
Stephen Anthony 4a8f2f80b6 Fix PopupWidget/ContextMenu not positioned correctly in fullscreen mode.
Refactored Rect class.
2019-06-03 19:28:56 -02:30
Stephen Anthony d7754aee77 Dialogs drawn outside the underlying basedialog area no longer leave parts around.
There is still some work TODO for TIA mode; that is coming next.
2019-06-03 14:32:59 -02:30
thrust26 cf39f5afdf add overscan hotkeys
remove ystart hotkeys
update doc
2019-06-02 09:21:20 +02:00
Stephen Anthony 33c4e81bb0 Fix minor compile warnings, including using float instead of double in a few places. 2019-05-18 20:48:13 -02:30
thrust26 95d8bb870d add non-integral TIA zoom steps (partially addresses #263) 2019-05-18 10:30:23 +02:00
thrust26 53597938b6 cleanup remembering last windowed position code 2019-05-18 08:43:02 +02:00
thrust26 6fc3863ef9 make Stella remember the last window position (now Center option makes a difference!) 2019-05-17 22:19:27 +02:00
thrust26 94de76b78e implement emulation fullscreen overscan 2019-05-14 22:44:48 +02:00
thrust26 093fd4eb75 add hidpi option checkbox to UIDialog 2019-05-13 19:04:39 +02:00
Stephen Anthony 087dd1dbb9 Fix imageRect not being correctly set for fullscreen UI modes.
- This caused incorrectly positioning for ContextMenu
- With this fix, the positioning code in ContextMenu and related dialogs becomes a lot less complex
2019-05-12 19:12:30 -02:30
Stephen Anthony e7759048ca First pass at implementing 'hidpi' mode. For now, it is available with 'hidpi' option only from the commandline.
- This is still a WIP, but is already very usable; I can finally see the UI on my 4k monitor :)
2019-05-11 14:33:07 -02:30
Stephen Anthony 83a3bdd6cd GUI support is now conditional in Stella. This is enabled by default for all ports except libretro.
- When disabled, it also disables the debugger and cheatcode support
- UI-wise, this reverts Stella to 1.x functionality (before any internal UI was added)
- Eliminates 47000 lines of code for those ports (like libretro) that don't need it.
2019-05-02 17:58:39 -02:30
Stephen Anthony 36da2bcabc Make sure fullscreen TIA modes actually use real fullscreen dimensions.
Previously, they would sometimes use desktop dimensions, and on current versions of SDL,
this would exclude areas meant for taskbars, etc.  So the resulting image was smaller than it should have been.
2019-04-20 18:23:50 -02:30
Stephen Anthony c80e2340ea Add mappings for increasing and decreasing current vidmode.
Map the R77 F13 key to the former.
Some refactoring of the mapping code in PKeyboardHandler and EventHandler.
Some refactoring of the VidMode handling in FrameBuffer.
Option 'tia.fsfill' is now used to select 4:3 vs. 16:9 mode in fullscreen.
2019-04-08 18:44:27 -02:30
Stephen Anthony d09b6329c9 Consolidate some constants into actual enumerations/namespaces.
- Certain parts of the code referred to int literals, when they should use named constants instead
- Different classes had enumerations for the same quantities; this is now fixed
- Basically, TIAConstants and FrameBufferConstants now contain all constants, and their relationship is clearly indicated (previously it wasn't as clear)
2019-03-10 15:19:30 -02:30
Stephen Anthony a5ca6b8ca5 Start of purging 'Display_Height' from the codebase.
- We've already removed it from the UI, now it's removed from consideration altogether
- For now, NTSC ROMS use 240, PAL 250; this will change when we get aspect ratio working
2019-03-09 16:27:33 -03:30
Stephen Anthony 275666b0af The annual copyright year update. 2019-01-01 11:35:51 -03:30
thrust26 4bc3373b37 made UI theme change immediate 2018-08-12 23:01:43 +02:00
Stephen Anthony 8298ad4d26 Fixed inconsistency in passing color data to parameters.
- Now uses 'ColorId' as the datatype; this is currently mapped to uInt32, but can change in the future if required
- Eliminates needless and annoying casts in various places; all colors are now 'ColorId' type
2018-08-08 13:09:10 -02:30
Christian Speckner 3a5572d3b9 Add measured FPS to OSD, squash a bunch of minor bugs. 2018-07-30 23:19:47 +02:00
Stephen Anthony e691853f0e First pass at fixing superfluous re-draws in the UI.
- This addresses issue 158, and reduces CPU usage to near 0% when no changes are happening
- This returns the code to the same performance levels as version 3.x.
2018-07-25 08:48:21 -02:30
Christian Speckner c270a45409 Merge branch 'feature/precise-audio' 2018-07-01 23:48:26 +02:00
Stephen Anthony e0cf1d1dd5 Fix crash in OpenBSD framebuffer/texture cleanup.
- It seems that textures must be destroyed *before* the renderer is destroyed
- This isn't mentioned anywhere in the SDL docs, and it works everywhere else, but in any event it is now fixed
2018-06-07 12:46:26 -02:30
Stephen Anthony cf34707e27 Use smart pointer to store static scanline data in FBSurface.
- in working on the OpenBSD crashing issue, I noticed that we can use a unique_ptr here
2018-06-06 17:57:15 -02:30
Christian Speckner a14cf8d077 Refactoring: start debugger from dispatch loop. 2018-05-24 00:13:43 +02:00
Christian Speckner ed6eae6a67 Rerender only if there is actual change. 2018-05-17 22:56:07 +02:00
Christian Speckner d2c930886b Sanitize and match emulation timing
-> no more perceivable audio latency
-> fewer underruns
2018-05-05 00:47:48 +02:00
Christian Speckner c905b01fca Merge branch 'master' into feature/precise-audio 2018-04-25 22:49:00 +02:00
Stephen Anthony 698beaec8b Fixes for various issues reported by Coverity. 2018-03-24 16:58:08 -02:30
Christian Speckner 7d7ebb8d03 Merge branch 'master' into feature/precise-audio 2018-02-04 23:50:16 +01:00
thrust26 f4db8e4816 fixed zoom settings via hotkey (made persistent again) 2018-02-02 22:51:22 +01:00
Christian Speckner 396dd637af Rework dispatch loop. 2018-01-31 20:44:39 +01:00
Christian Speckner 7f83e776b2 Keep book of the number of cycles spent during emulation. 2018-01-31 19:29:37 +01:00
Stephen Anthony 1055a4bd06 Minor cleanup of warnings in FrameBuffer class. 2018-01-20 20:51:46 -03:30
thrust26 b67b795642 larger font for frame stats 2018-01-20 20:49:48 -03:30
thrust26 436c380a7e benchmark: frame stats now display real frame rate when 'Auto' is not selected 2018-01-20 20:49:05 -03:30
thrust26 6f7ff023a6 generic shadowed char/string drawing added
TimeMachineDialog fully transparent now (experimental)
info stats indicates scanline/frame rate changes in red
2018-01-20 20:12:35 -03:30
thrust26 72ff2a40fa developer/player settings added to frame stats overlay 2018-01-20 20:11:54 -03:30
Stephen Anthony df119ba505 Minor cleanup of warnings in FrameBuffer class. 2018-01-19 18:32:11 -03:30
thrust26 98fcb51819 larger font for frame stats 2018-01-18 23:06:51 +01:00