Commit Graph

82 Commits

Author SHA1 Message Date
Stephen Anthony a225003ed9 Revert "Make Common::Point use non-negative dimensions, like the other classes in Rect."
Seems I should do more testing before committing code ...

This reverts commit 1ea2c967ce.
2019-05-29 10:52:39 -02:30
Stephen Anthony 1ea2c967ce Make Common::Point use non-negative dimensions, like the other classes in Rect. 2019-05-29 09:16:13 -02:30
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 f466ddc544 make sure that last windowed position is on screen 2019-05-18 12:26:26 +02:00
thrust26 49585250fd add another cleanup remembering last windowed position code 2019-05-18 09:04:06 +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
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
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 8553aea3ba A few minor settings for R77. 2019-03-23 13:52:49 -02:30
Stephen Anthony 275666b0af The annual copyright year update. 2019-01-01 11:35:51 -03:30
Stephen Anthony 933c4d7d3c Mac-related files/folders are now using 'macOS' naming scheme. 2018-12-19 11:46:09 -03:30
Stephen Anthony ae3df81967 Use 'SDL_GetDisplayUsableBounds' if available (gives dimensions with dock/taskbar taken into account)
- This still needs some testing on Windows/OSX, so docs aren't updated yet
- If it ends up not working, I will '#if 0' it for the 6.0 release.
2018-12-18 23:07:34 -03:30
nanochess a92cf466cb Desired desktop resolution minus dock for Mac OS X (requires SDL-2.0.5 or higher) 2018-12-18 23:01:13 -03:30
Christian Speckner 8ac66e7929 Add threading sanity checks before critical SDL API calls. 2018-12-04 19:45:22 +01:00
Stephen Anthony 2b3e2dc385 Specifically initialize and quit each SDL subsystem.
- Now video/timer and joystick subsystems are opened and closed in the
proper SDL2 way
- SDL_Quit() is also done at the very end, to clean up any remaining SDL
state
-  Hopefully this fixes the issues with RPi not exiting cleanly.
2018-11-10 17:30:44 -03:30
Stephen Anthony 24cd6cb219 Use proper C++ code for localtime and related functions. 2018-08-19 19:53:47 -02:30
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
Stephen Anthony 9e4dbd6a3a Fixed dirty buffer in TIA mode when switching screenmodes. 2018-05-27 18:53:57 -02:30
thrust26 b22c292f3c developer/player settings added to frame stats overlay 2018-01-15 20:25:28 +01:00
Stephen Anthony 3d879d0080 Updated copyright date to 2018. A few days early, but nobody will mind ... 2017-12-29 17:10:37 -03:30
Stephen Anthony e572bea642 Activate code to dynamically select available renderers. 2017-12-21 20:03:53 -03:30
thrust26 0385dd4b01 added (disabled) SDL renderer information code 2017-12-19 14:46:40 +01:00
Christian Speckner 35ae38572c Clear FB before running autodetection. 2017-11-26 23:24:05 +01:00
Stephen Anthony 39f839021e Header fixes take 3: cheat, common, debugger directories done. 2017-11-16 14:29:34 -03:30
Stephen Anthony cd689941b6 Move to C++14, now that all the minimum required compilers support it.
Clang 3.8, gcc 5, Visual Studio 2017 and Xcode 8 are now the minimum
supported compilers, and they all support C++14, so we may as well use it.

 - Change all make_ptr to make_unique
 - Change iterator begin(), end(), etc to const versions where appropriate
 - Remove UniquePtr, since C++14 supports it natively
2017-07-21 21:10:13 -02:30
Philip James f9368c681a Cleaned up a few places that still used SDL types and replaced them with BSPF types 2017-05-15 07:55:25 -02:30
Stephen Anthony 38deb5b1cf Potential fix for compile failure on ppc64le / SDL2. 2017-04-20 15:21:55 -02:30
Stephen Anthony abb7097cb7 Removed $Id$ stuff from codebase, since it's Subversion-specific.
Whitespace cleanup and update copyright to 2017.
2016-12-29 20:30:30 -03:30
Christian Speckner a99a4e1efd Stub implementation of new core. 2016-11-08 01:26:57 +01:00
stephena 8f2d3a6cbb Updated copyright to 2016, even though it's a few days early.
To anyone reading this, Merry (belated) Christmas and Happy New Year!


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3239 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-12-29 19:22:46 +00:00
stephena 8b7043d74a More bugfixes as indicated by Coverity.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3235 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-12-06 18:12:17 +00:00
stephena d83d91570e More clang warnings fixed; these apply mostly to 'old-style-C' casts.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3205 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-14 21:33:50 +00:00
stephena 38dce5194e Some minor improvements, self-documentation, etc.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3191 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-08-09 18:07:04 +00:00
stephena c7ef1607be Some code cleanups.
Added updated C++14 make_unique templates, which now allow to also
use unique_ptr for arrays.

Updated SoundSDL class to use unique_ptr, eliminating another new/delete
pair.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3171 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-06-13 23:58:37 +00:00
stephena c5819cae46 In my never-ending attempt to eliminate pointers whereever possible,
change all throws of 'const char*' to runtime_error.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3168 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-06-12 20:44:09 +00:00
stephena 651204df32 Final updates for 4.6 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3154 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-03-21 00:16:30 +00:00
stephena 0afb189322 Updated copyright to 2015. Happy New Year to anyone reading these logs :)
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3131 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-01-01 03:49:32 +00:00
stephena fb4332a0c7 Catch very early fatal warning from SDL when it can't even initialize itself.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3094 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-20 14:20:03 +00:00
stephena c8400dcfe6 Fixed debugger 'reset' command help documentation.
Renamed 'Vlist' to 'VarList', since it's more descriptive.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3092 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-19 22:29:33 +00:00
stephena 3a04afcf96 Use BSPF-defined datatypes where appropriate.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3083 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-17 14:17:19 +00:00
stephena db139bef1a Converted FrameBuffer surface storage to unique_ptr. In the process,
I realized that they didn't need to be stored in a map, since the integer
ID was never actually being used.  This must have been part of a proposed
API that I've since deleted??


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3062 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-09 15:10:47 +00:00
stephena 7b9169c18d Convert all arrays in the codebase to vectors, so that we get all
the advantages of C++11 (move semantics, list initialization, etc).
I'd hoped to somehow wrap a vector behind Common::Array and not have
to change the codebase to this extent, but it didn't work out.  And
I've since read that it's bad form to extend from std::vector anyway.
This is *THE LAST* bit of work I'm doing with arrays; everything is
now a proper vector.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3055 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-08 21:27:36 +00:00
stephena a165c48fab Some NULL/nullptr and formatting cleanups in src/common.
Renamed mainSDL.c to main.c, since it is no longer dependent on SDL,
and I'm trying to encapsulate SDL-specific code into as few places
as possible.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3047 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-07 00:31:46 +00:00
stephena 3e358b9e39 Oops, forgot to actually exclude a block of code for OSX.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3028 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-28 17:35:43 +00:00
stephena 27e005d7a5 Final batch of fixes from cppcheck.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3024 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-27 14:41:46 +00:00