Commit Graph

44 Commits

Author SHA1 Message Date
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 26e9f15b86 Changed 'hidecursor' to 'cursor', and allowed it to set cursor visibility
for UI and emulation modes separately.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3179 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-06-28 18:16:33 +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 4642183745 Expose 'ctrlcombo' through the UI.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3120 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-12-24 18:49:26 +00:00
stephena 233fd75522 Added dialog showing internal joystick database, with ability to
completely remove (currently unplugged) sticks from it.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3115 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-12-23 00:44:09 +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 4544f59b53 Replaced #define'd macros with lambdas where possible. Did I mention
I also love lambdas?

Minor cleanups to other parts of the code (missing virtual, cleanup
d'tors, move methods from public to private, etc).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3071 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-10 23:35:24 +00:00
stephena 1b7635649c More conversions to unique_ptr, so deletes can be removed.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3060 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-09 04:01:31 +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 958d8940fc Pass OSystem and DialogContainer as reference instead of pointer in
all GUI classes.  This makes sense, since the underlying classes
were returning them as references anyway.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3019 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-26 17:45:42 +00:00
stephena 90248b2701 First pass at converting text input to the new SDL2 scheme. Basically,
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
2014-06-10 16:43:35 +00:00
stephena 80bbfadb4c Fixed grabmouse and show cursor to match Stella 3.9.3 functionality.
Added 'hidecursor' commandline option, to always disable showing the
mouse cursor (useful for fullscreen-only frontends).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2908 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-04 16:01:45 +00:00
stephena aa5691af8a OK, it looks like I'm back to Stella development, after a several month
break.  First thing to do is update the year.  Happy new year to anyone
reading these commit logs.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2833 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-01-12 17:23:42 +00:00
stephena ecacdcf5f2 The 'usemouse' option now allows to use the mouse as a controller
only for analog-type devices (paddle, trackball, etc).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2819 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-24 18:40:02 +00:00
stephena 4958e87c3e Cleaned up ContextMenu API wrt multiple setSelected methods; in some cases,
it was confusing which one was being called.

Fixed output in debugger bankstate info; in some cases, hex numbers were shown
when decimal was required.

Fixed regression wrt the last TIA change (incorrect framerate counter); the
PAL autodetection was failing in certain cases.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2774 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-07-30 20:31:14 +00:00
stephena 3eddecdd01 Oops, now that I've changed EditableWidget::setText, I have to change
the getter to match.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2744 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-29 16:45:18 +00:00
stephena 969d4b5fe2 Some more work on the debugger ROM UI area. Changed previous bank
selection widget to a display of current bank state, taking into
account the more esoteric bank schemes.  Currently, some functionality
is disabled/removed for now; I'll work on this for the next commit.

The format for displaying disassembler GFX/PGFX (binary or hex) is now
obeyed in the disassembly file output as well.

Changed various comments/enums/etc referring to 'preliminary' code to
'tentative' code, matching the actual intended meaning and the current
documentation.

Small API change for EditTextWidget; changed method name to setText, since
that's what I keep typing for some reason.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2743 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-29 16:27:12 +00:00
stephena f4d0641219 A rather large commit, but basically all that's happened is
converting StringMap to VariantList.  In the process, some of the
code is much cleaner, and the Variant infrastructure allows
work to continue on a more full-featured ContextMenu.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2732 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-09 14:22:34 +00:00
stephena 7de6bbd99b Added 'Variant' class, which is basically a variable type. Reimplemented
the Settings class to use Variant.  Still TODO is modify various UI elements
that currently accept StringMap to use Variant instead.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2726 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-08 23:34:42 +00:00
stephena 831edca24e Finalized tab handling for dialogs containing multiple tabs
(for now, only the debugger, but might as well deal with the problem
in a general way once and for all).  The Shift-Left/Right keys now
work as they did before, and switch between tabs in a tabset.
For dialogs with multiple tabs, it now selects among those tabs
where the focused object is.  Clicking on another tabset then changes
the focus, and allows the same keys to switch among *that* tabset.

Now I can finally start the cart-specific bankswitch UI items.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2679 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-31 20:54:14 +00:00
stephena ac1bccf454 First pass at adding a cart-specific bankswitch/info tab to the
debugger.  In the process, I had to spend several days extending
the UI/dialog class to actually contain multiple tabs.  This was
harder than expected, and it still isn't quite finished.  In many
ways, we're beginning to reach the limits of the current code; it
was never designed for a full-fledged, graphically rich UI.

For now the tab is empty, but eventually it will contain general
info about the ROM bankswitch type (size, virtual layout, etc),
but also cart-specific info, including the ability to change
banks, which can be vary greatly among the different schemes.
Eventually, it may even allow to see/modify very cart-specific
info (like display RAM in DPC, etc).

Better handle errors in opening the serial port (AtariVox support)
for Windows and OSX.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2678 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-31 00:10:05 +00:00
stephena c4e5360a18 Updated copyright dates to 2013.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2579 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-01-04 19:49:01 +00:00
stephena 822a378182 A fairly large overhaul of the mouse-emulates-controller functionality,
fixing bugs too numerous to mention.  The end result is that using
Control-0 to switch between mouse modes is much more understandable.

Updated properties database for Telepathy ROM, which now uses the
MindLink controller.  Also updated Astroblast ROMs to use paddles
by default.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2444 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-19 13:00:02 +00:00
stephena 3b4b10df76 Combined 'sa1' and 'sa2' commandline arguments into one command named
'saport'.  This takes the values 'lr' or 'rl', corresponding to left/right
and right/left.

Added ability to dynamically swap the Stelladaptor/2600-daptor ports
with the 'Control-1' key.






git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2401 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-03 00:56:31 +00:00
stephena 0d548bf379 Mouse 'specific-axis' mode can now be set per-ROM within the Game Info
dialog.

Updated all paddle and driving controller games with relevant axis info.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2374 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-01-29 22:13:15 +00:00
stephena c136a30cbc The left and right mouse buttons are now recognized separately in emulation mode.
Checking in first pass at revamping the 'mcontrol' functionality.  The idea is
that the mouse will be able to emulate different controllers on each of its
axes.  For now, the left mouse button is tied to the X-axis, and the right to 
the Y-axis.  These modes will be saved per-ROM, meaning that the mapping can
be different for each ROM (it is saved as part of the ROM properties).  Only
the paddles and driving controllers will allow this, since they're the only
controllers where a single axis makes sense.

Switching between mouse modes will be done with Control-0 (the Control-1..3
keys have been removed).  This will allow switching all possible combinations
(left controller, right controller, per-ROM setting, etc).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2366 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-01-22 21:01:13 +00:00
stephena 73dbe861a6 Refactored the keycode handling through the GUI classes, making it more
generic than SDL, but less generic than simply using int's for everything.
This will help once we start porting to SDL2, which has an updated keycode
handling system.  The plan is that the internal core keyboard stuff is now
insulated from any further changes in SDL.

This also allows eventually adding support for CompuMate controller,
which needs access to keycode names in a generic way.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2356 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-01-14 22:00:54 +00:00
stephena c95d5f804d Updated all files to copyright 2012. Happy New Year to anyone reading
these logs!

Moved TODO and Credits info directly to the webpage, where it will hopefully
be easier to maintain.

Fixed 'crackling' sound when loading a new ROM, introduced with the 3.5
sound restructuring.  It looks like stale data was being loaded by the
sound processing callback.  As well, moved the computation of certain
division variables from the sound callback to the framerate re-calculator
(where it's recomputed 1/5 of the time or less).

Updated AboutDialog with info about Stella DonationWare status, and active
members of Stella development.

Updated OSX in-app HTML documentation about Stella DonationWare status.

Bumped version # to 3.5.1_svn, and the process starts again.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2318 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-12-31 21:56:36 +00:00
stephena aeb8d27746 Added 'mcontrol' commandline argument, which allows to map mouse axes
separately to different paddles.

Updated documentation for impending 3.5 release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2296 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-12-26 21:40:28 +00:00
stephena faa0789727 Updated some code comments and the documentation.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2280 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-11-19 18:28:17 +00:00
stephena 2b9f625f76 Re-enabled 'grabmouse' functionality with a few changes:
- it doesn't have a hotkey any more
  - it is changed in the "Input Settings' UI, not in 'Video Settings'
  - it only has meaning while in emulation mode
  - it is enabled by default


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2245 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-06-02 20:53:01 +00:00
stephena 264145a939 Huge improvements to paddle and mouse handling:
- mouse can now emulate joystick, booster-grip and driving controllers
 - digital and mouse sensitivity for paddles can now be tweaked
   separately, and have a greater range
 - the mouse now correctly honours its controller setting, and only
   controls a device on one one port (not both at the same time)

Added support for 2600-daptor device.  Credit for creator of device
is forthcoming.  This device is basically an updated Stelladaptor,
with improved handling for paddle data.

Grabmouse functionality is no longer user-definable; the mouse is
always grabbed while playing a game, and released otherwise.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2228 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-05-06 14:29:39 +00:00
stephena 3339dc276d Updated copyright info for 2011. Happy New Year to anybody reading
these logs :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2199 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-01-01 16:04:32 +00:00
stephena f3483ca8b1 When in 'small' window mode and attempting to open PAL ROMs larger than the
screen size (vertically), the window will open in partially truncated mode,
where the top of the PAL image is cut off.  This normally won't be a problem,
as it's mostly blank space anyway.

App window centering is now honoured when changing video zoom levels, not
just when changing eventhandler states.

Bumped version # for another test release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2135 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-09-21 19:39:30 +00:00
stephena 26b1654aa2 Some minor UI improvements to the InputSettings dialog; renamed the
'Virtual Devs' tab to 'Devices & Ports'.  Updated documentation and
snapshots for this change.

Added Halo 2600 ROM info to internal properties database.

Increased default setting for 'joydeadzone' from 0 to 13.  This means
the default deadzone is somewhere around half the axis range (~16500).

Fixed behaviour of hat events; events weren't actually being turned off
until the stick was centered.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2108 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-08-21 23:08:44 +00:00
stephena 044e1aa151 Some cleanups to the event mapping UI and associated functionality:
1)  Added a 'Reset' button to the UI, which resets (to defaults)
the currently selected item.  This is more fine-grained than the actual
'Defaults' button, which resets *all* events.

2)  Rearranged some buttons and resized UI.  There is now a main 'Defaults'
button on the bottom of the dialog, which applies to the currently selected
tab.  This also allows to set defaults for Virtual Devs, which didn't have
such functionality previously.

3)  Added a 'Combo' button to the Emulation events tab.  It doesn't do
anything yet, but eventually will allow to assign events to the 'combo'
events.

ContextMenu/PopupWidget now supports the scroll button on a mouse when
in scroll mode.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2084 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-08-03 21:04:58 +00:00
stephena ee43255ea1 Many changes to the UI to fully support the smallest resolution that
Stella can use (320x240).  The app should no longer crash in such
low-res situations.

Various improvements to the UI, adding many finishing touches.  The
text is more descriptive, and the options are somewhat better labeled.
As well, the available options are better presented based on the
restrictions currently in use (ie, if the maximum resolution is very
small, then the high-res resolutions are not shown in selectors, etc).

Added MessageBox to ROM Audit functionality, to warn that it is a
dangerous operation and that a file backup is advised.

Updated OSX build script to not crash when an older image has already
been created.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2076 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-07-29 15:22:27 +00:00
stephena 2193c94b12 Updated boilerplate on top of each source file to include
'Stephen Anthony' (aka, me) in addition to Brad Mott as copyright
holders for Stella.  I think I've been with the project long
enough now (almost 10 years) to justify being specifically mentioned
above and beyond 'the Stella Team'.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2001 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-10 21:37:23 +00:00
stephena f7d8334768 Some fixes for 'small screen' functionality. The lower bound of 320x240
is now enforced in more areas of the code, specifically, in BrowserDialog,
VideoDialog and InputDialog.

Rearranged some options in InputDialog (for spacing), and removed the
'mouse is paddle ...' option.  It was never being saved to the config
file anyway, and is still selectable with Ctrl-0,1,2,3 keys.

Added 'maxres' commandline argument, which overrides the built-in
determination of desktop size normally done by SDL.  This is not
documented, and is not meant to be used by anyone other than those
testing Stella on 'small' systems.  It's basically a way to set the
desktop size without recompiling Stella each time.

Still TODO is look at all other dialogs, making sure they fit in the
minimum size.  PopupDialog in particular needs to be fixed.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1942 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-02-13 18:34:24 +00:00
stephena eb5f8efc78 Added ability to completely disable the mouse from being used as a
controller.  Added '-usemouse' commandline argument and associated
UI item in InputDialog to accommodate this.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1935 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-02-08 20:02:47 +00:00
stephena e234139a3c Updated Stella headers in all files:
The license file is actually named 'License.txt', not 'license'
  The 'Stella Team' has a capital T, not lowercase.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1921 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-01-10 03:23:32 +00:00
stephena d372671277 Updated copyright dates to 2010.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1920 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-01-10 02:58:28 +00:00
stephena 82268325a0 Added '-joyallow4' commandline argument and associate UI item in
InputDialog/Virtual Devs to allow all 4 directions to be pressed
simultaneously on a virtual joystick.  This support was always present
for 'Bumper Bash', but it can now be enabled/disabled for any ROM.
Note that the setting is ignored for 'Bumper Bash', as that ROM
requires it to be always turned on.

Fixed debugger rewind issue from last commit; the rewind list wasn't
being properly reset when entering the debugger or selecting a new ROM.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1850 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-08-05 20:33:40 +00:00
stephena 6a74dfb863 Repo reorganization: move main Stella files directly into 'trunk'.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1732 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-21 12:53:06 +00:00