- 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.
For now, joystick-related stuff is moved into its own classes.
No improvements are made yet; just refactoring and moving code around.
This reduces EventHandler from ~2500 lines to ~2000 lines.
- The previous code used enumerations for DialogContainer, and constants for everything in src/gui
- It took me over 3 hours to determine that a '1' in the first didn't mean the same as a '1' in the second
- If ever there was a reason for strongly named constants (enum class), this was it.
- By itself, this first patch doesn't seem to accomplish much, but it leads into patch 2
- Patch 2 will extend usage of MouseButton enum all throughout the GUI core
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
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
it is on all my test systems with 4 different controllers. We still
need bugtesters for this ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3112 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
scroll events from SDL1 to SDL2.
Bumped version #. It looks like the current code is now bug-fixed
and equivalent to release 3.9.3. Now on to committing some backlogged
patches and adding new functionality.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2920 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
The EventHandler now queries EventHandlerSDL2 for names of keys
instead of keeping a list itself.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2916 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
the old way mixed both single-key events and Unicode input into one
method, and the new way separates them (using a new handleText method).
Currently it seems to be working fine in the ROM launcher (yay!, I
can now quickly jump to ROMs by name again). There are still some
issues in the debugger, which I'll work on next.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2913 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Changed pointers to references in c'tor calls, making things a little safer.
Removed FBSurfaceTIA, since it was tied too closely to SDL itself. Added a
class called TIASurface that is functionally very similar, but is more generic
and accessible by the FrameBuffer directly. Eventually, this class will take
responsibility for all things related to rendering the TIA image (Blargg TV
effects, phosphor mode, etc).
TIA rendering is currently borked; fixes will follow ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2889 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
characters working, so the UI can be used.
SDL Window events are now sent to the EventHandler core. For now, only
the window expose event is handled (redraws window if it's been hidden).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2872 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
than before.
Fixed compile issue for joystick support (thanks to email from D. Church).
Joystick support still isn't tested, so no guarantees it will work.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2857 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
to SDL2. For now, there are many things broken, namely keyboard handling
and fullscreen modes. But the launcher does show up, allows to start a
game and enter/exit the debugger, etc.
The code will only compile on Linux for now, and sometimes maybe not even
then. Expect breakage on a regular basis over the next month or so.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2854 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
SDL-specific code into its own EventHandlerSDL2 class. This is part
of a larger reorganization of the codebase, to completely remove
SDL-specific code from src/emucore, and make it easier to port to SDL2.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2850 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba