Commit Graph

248 Commits

Author SHA1 Message Date
thrust26 e3f1a0f49f initial commit before refactoring 2020-01-19 15:45:32 +01:00
Christian Speckner cef81e0bb5 Settings: remove aspect in favor of scanlines adjust. 2020-01-05 00:36:10 +01:00
Stephen Anthony 9ad47ae5f3 Updated copyright to 2020. Happy New Year to anyone reading this! 2019-12-31 13:48:56 -03:30
thrust26 1295bd5cf6 get lightgun working preliminary 2019-12-30 17:27:28 +01:00
thrust26 24faa4955c Merge branch 'master' of https://github.com/stella-emu/stella into feature-lightgun 2019-12-30 09:48:04 +01:00
thrust26 bfb5bee208 make user aware of grab mouse limitations 2019-12-30 09:46:46 +01:00
thrust26 dbb4328ad5 initial work on lightgun 2019-12-30 09:11:46 +01:00
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 041af0736c And yet more std::array conversions. Also a fix for overlaid UI message not being displayed. 2019-12-28 15:46:38 -03:30
Stephen Anthony 0c0f732e5f More conversions of C-style to std::array.
That's it for a little while; getting tired now ...
2019-12-27 19:22:09 -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
Stephen Anthony 5d59be800e Use logical OR instead of bitwise OR. 2019-12-25 13:07:03 -03:30
Christian Speckner c38febc2c1 Update scaling in video dialog instead of framebuffer. 2019-12-17 17:16:37 +01:00
Christian Speckner 5977c8561a Connect tia.filter. 2019-12-17 17:16:37 +01:00
Christian Speckner c4d1473f81 Get rid of smoothing in favor of scaling settings. 2019-12-13 22:46:31 +01:00
Stephen Anthony 025eeba38c Convert some raw arrays to std::array.
Some fixes for warnings from Coverity.
2019-11-14 20:12:45 -03:30
Thomas Jentzsch 05cecb95b9 refactored logging and removed magic numbers 2019-08-14 12:01:15 +02:00
Thomas Jentzsch 0b2ca6572a fix #511 2019-08-10 18:08:53 +02:00
Stephen Anthony 9191f63da2 Fix dirty framebuffer issues in fullscreen TIA mode.
This requires some testing, since it potentially causes slowdowns on older systems.
I cannot find any difference on my test system (and documentation I've read seems to imply
that you should clear the screen before each update, and that it is very fast on most hardware).
2019-06-08 23:01:59 -02:30
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 58b8c3458b Fix UI drawing modes when overlaid on TIA image. 2019-06-03 17:09:07 -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 cb6b9cff32 add overscan message
fix scanlines message
2019-06-02 09:32:26 +02:00
thrust26 cf39f5afdf add overscan hotkeys
remove ystart hotkeys
update doc
2019-06-02 09:21:20 +02:00
thrust26 d08cd7cbbd minor code fixes 2019-05-19 10:13:55 +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
Stephen Anthony 22b15d7f37 Fix warnings, and compile failure for libretro. 2019-05-17 21:53:59 -02:30
thrust26 6fc3863ef9 make Stella remember the last window position (now Center option makes a difference!) 2019-05-17 22:19:27 +02:00
thrust26 00355c01a4 remove overscan from windowed modes 2019-05-15 21:08:55 +02:00
thrust26 91e46faddf add overscan option to StellaSettingsDialog
fix dialog position when overscan is enabled
2019-05-15 20:05:17 +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 bff503a001 Refactor DialogContainer and child classes.
- instead of using a protected instance variable, each derived class now has its own private variable
- each derived class also takes responsibility for deleting its private variable
- various API cleanups
2019-05-11 22:16:23 -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
Christian Speckner 8e22dc52b4 Log via Logger singleton, fixes races between logging and OSystem teardown. 2019-05-01 23:14:16 +02:00
thrust26 c3483d1553 larger fonts in all dialogs when using minimal UI 2019-04-23 20:08:03 +02:00
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 5dde762b85 Changed 'tia.fsfill' option to 'tia.fs_stretch'. 2019-04-14 14:57:28 -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 be775b53e3 Made TIA window always open at a multiple of the minimum bounds
- this means that 320x240 is now the default 'base' size, and zoom levels are based on that
- the TIA image is rendered into whatever sized window is active, meaning that NTSC and PAL modes now look similar

Removed some 'small screen' dead code in FrameBuffer.
2019-04-03 20:27:30 -02:30
Stephen Anthony 2bb633800c First pass at getting keymap working again for R77. 2019-03-31 16:42:48 -02:30
Stephen Anthony 70748f3619 Fix off-centered TIA image on R77. 2019-03-31 16:09:14 -02:30
Stephen Anthony cfe79ec0b1 Major changes to controller infrastructure.
Basically, separate high-level read/write from low-level set/getPin methods.
2019-03-29 20:47:24 -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 9735806b2f Partially revert commit for #368; we need more work before this can be enabled.
Fixes issue with fullscreen TIA image disappearing.
2019-02-18 18:17:08 -03:30
Stephen Anthony 275666b0af The annual copyright year update. 2019-01-01 11:35:51 -03:30
thrust26 f86ba39c88 initial update for #368 2018-12-27 11:47:41 +01:00