As far as the #ifdef badness goes this is not too bad. The conditional compiled code blocks are scarce. In my opinion they do not justify an architectural approach, which would mean adding methods for enabling/disabling widgets.
Also note in OptionsDialog.cpp we were leaking memory by instantiating twice the InputDialog.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1301 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
we really need to figure out *why* the WinCE compiler doesn't like the old
order, since a compiler shouldn't really care (and it makes it more
difficult on the other ports to have to maintain this inconsistency).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1296 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
If this order does not cause problems with the other ports, we can drop the #ifdef and use this one.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1295 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
set the version in one place, and have all the codebase/ports sync to it :(
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1291 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Bumped version # to 2.3.5. I'll be doing a new release either tonight
or tomorrow.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1286 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
in 2.4, we can automatically determine YStart and Height; then adding new
properties entries will only be required for controllers and/or ROM names.
Made the SliderWidget increment in intervals of 1. This will have no
effect when using the mouse, since it isn't precise enough anyway. But
moving the slider with the keyboard cursor keys (or whatever you've
mapped to them) will now increment by 1, and not 5% (as before).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1285 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Fixed 24bpp rendering of fonts and mediasource; it wasn't endian-clean.
Completely removed advanced scaler stuff, since I don't see that I'll
ever have the time to develop/support it.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1283 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
etc.
Added stub for Cart0840 bankswitching. The code is mostly ready; I'm just
waiting for the go-ahead to release it.
Updated ROM properties for those ROMs affected by the keypad fixes in the
last commit.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1279 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
works (i.e., Alpha Beam with Ernie, Oscar's Trash Race, and Magicard).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1278 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Bumper Bash ROM.
Updated ROM properties for some keypad games. It seems 'Alpha Beam' and
'Oscars Trash Race' still don't work, though.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1277 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
was a bit too specific (didn't always work on older systems).
Fixed crash in ROM browser when selecting a ROM with the 'Select' button.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1276 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Fixed graphics corruption when toggling phosphor mode in OpenGL.
Made ROM launcher and debugger ignore the 'gl_fsmax' argument in
fullscreen mode, since it only scaled the text and made it hard to read.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1273 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Fixed bug in FileSnap Dialog where the reload was shown in emulation mode.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1272 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
TIA reset isn't required in this case, and isn't always correct. Instead,
only the frame parameters should be reset.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1271 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
a console was actually created. It's now specified as part of the console
initialization, and updated values are seen everywhere.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1270 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
without resetting the whole system. This means that a game can continue
running while these values are being changed. Eventually, I'd like all
such options to be configurable in-game, and not have to reload a ROM
for them to take effect.
Updated yet more ROM properties, which were found with the help of the
above feature.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1269 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
adding TrakBall support (pushed to the 2.4 release).
Final batch of ROM properties updates. At least 6 or 7 games that didn't
work before now function correctly.
Once the OSX OpenGL crashes are worked out (which looks promising), we'll
be ready for a 2.3.5 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1268 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
(or at least until I can figure out how to bypass it entirely when
testing whether a ROM is NTSC or PAL).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1267 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
original code compiled and ran on the exact same machine a few weeks ago??
Updated OSX build so it actually compiles again.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1266 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
really worked right anyway.
Bumped version number for beta testing.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1262 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Updated copyright info for 2007 (might as well get it taken care of
early in the year).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1261 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
ROM launcher window, and takes a value of 1 (320x240), 2 (400x300) and
3 (512x384). Stella must be restarted for this to take effect.
Added 'uipalette' commandline argument, which selects between the palettes
to use for the UI (1 - classic, 2 - GP2X). We'll probably add more of these
in the future.
Added UIDialog, accessible from the Options dialog, and populated with the
above items.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1258 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
cheats were being evaluated even after the console was deleted. Also
moved saving of cheats out of the Console d'tor. I never liked that
required functionality was in a d'tor; it felt sort of hacky.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1257 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
It wasn't worth adding another bankswitch type for these, since they're
basically an anomoly, and I don't think any others exist like it.
Updated "Air Raid" ROM properties. This is a PAL ROM, no matter what
the other emulators say. The only way I'll change it at this point is to
see the real cartridge in action.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1256 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
After much request, added ability to access the settings menu from the
ROM browser dialog. This menu now contains almost all items that can
be selected in Stella, and can be accessed in-game as before.
Completely removed pause functionality from the core code. It made
sense back when Stella was a single-mode program: there were two modes;
emulation and pause. Now that there are other event modes, the
EventHandler state machine is getting too complicated. If you want to
pause, you can simply enter one of the in-game menus. Related to this,
when the app is minimized, Stella enters the menu dialog state.
Previously, minimizing the app caused a pause, but since there was no
onscreen feedback, many people assumed the app locked up.
Added centering to all Dialog boxes, which is done dynamically, as they're
placed on the dialog stack to be drawn to the screen.
Cleaned up the API of Console/FrameBuffer/OSystem classes wrt to palettes
and timing. Parts of each were being done in different classes; now it
should be more consistent.
Started infrastructure for user-selectable UI palettes. For now, there's
no way to change it in the GUI, and it defaults to the normal palette.
Eventually, there will be several choices selectable from an in-game
menu.
Removed '-channels' commandline argument, since that feature can be
set from the ROM properties.
Added '128' to the choices for fragment size in AudioDialog.
Tweaked the OpenGL dynamic loading code to test both the given GL
lib, and if that fails to use auto-detection. It seems in the OSX port,
the first approach works for some people, and not the other (and vice-versa),
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1255 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba