apparently faster on hardware that supports it. Added GL optimizations
for Apple/OSX OpenGL, which is supposed to be much faster on lower-end
hardware.
In the process of completely removing advanced scaler support from the
OpenGL rendering modes. I could never get the code to work anyway, and
there's much more important stuff to do in the core.
Fixed bug in properties saving where all ROM properties were being saved,
not just the ones edited from GameInfoDialog.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1209 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
and YStart properties aren't touched, since in some cases they're needed
for correct emulation. This is similar to how z26 works internally,
since it also has a YStart-like functionality.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1208 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
property (Yes or No).
Changed the static initialization of Scaler related items to use const char*
instead of string, since the WinCE port has trouble with that.
Updated 'scale_ui' and 'scale_tia' to use lowercase options. So those
settings will be reset with this commit.
Added all recently added options to Settings::usage().
Huge update to the user manual. Things are getting very close now :)
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1207 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
when drawing characters in software mode. The old code was calling
SDL_FillRect for every pixel in the character! Preliminary testing
shows at least 2-3 times faster rendering, but I suspect it might
be higher for those systems where SDL_FillRect was slower than in
Linux. SDL_FillRect isn't meant to be used for 1-pixel calls.
Incidentally, this is the reason why dirty-rect merging with
a lot of onscreen movement could be slow; it degenerated into calling
SDL_FillRect for every pixel.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1206 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
menus. Also, paddles now default to minimum resistance when starting
a paddle game, and changes in paddle location by the mouse are detected
by the digital paddle emulation (so pressing 'PaddleXXXIncrease/Decrease
after moving with the mouse will continue from the current onscreen
paddle position).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1205 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
didn't work at all with the GP2X or the Stelladaptor, because of a related
bug in swapping virtual console ports.
Added about() method to FrameBufferXXX classes, which all FrameBuffer
derived objects are required to implement. This is so framebuffer info
is only printed as necessary.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1200 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
which I left out in the previous commit.
Added properties entry for "Conquest of Mars".
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1198 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
rectangle merging. This makes the 'dirtyrects' option more relevant,
since now if it's turned off, dirty rectangles are not merged, and
the screen is updated with SDL_Flip() instead of SDL_UpdateRects().
This new functionality is very similar to how z26 works, but
experiments on my Linux system show it to be twice as fast on
average :) Dirty rectangle merging now defaults to off. I'm
leaving it in, since it benefits people in some cases. Basically,
non-dirty-rect support is optimal when many things are changing
onscreen at once, at the cost of more constant and generally slightly
higher CPU usage. Dirty-rect support is optimal at larger resolutions,
where it's usually at least twice as fast as without, but is suboptimal
at larger resolutions when lots of stuff is changing. At some point in
the future, maybe Stella itself can automatically switch modes depending
on which is faster at any point in time.
Added "[..]" previous directory functionality to BrowserWidget, the same
as already in the LauncherDialog. Thanks for Alex and Lou for the
reminder.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1197 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
check and see if we're dealing with a directory.
Fixed off-by-one error in count for files in LauncherDialog. While in
ROM browse mode, the previous dir " [..]" entry should not be counted.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1194 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
'Controller.PaddleNo', replacing it with 'Controller.SwapPaddles' (Yes/No
type argument). The reasoning being that in combination with
'Console.SwapPorts', paddle 0 can be the default for any ROM as follows:
ROM uses paddle 0 as default:
Console.SwapPorts -> No
Controller.SwapPaddles -> No
ROM uses paddle 1 as default:
Console.SwapPorts -> No
Controller.SwapPaddles -> Yes
ROM uses paddle 2 as default:
Console.SwapPorts -> Yes
Controller.SwapPaddles -> No
ROM uses paddle 0 as default:
Console.SwapPorts -> Yes
Controller.SwapPaddles -> Yes
Updated all ROMs that don't default to paddle 0. This works for all
paddle input, both analog from mouse and/or joystick and digital from
keyboard, joystick, etc.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1192 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Allowed modifier keys (Ctrl, Alt, Shift, etc) to be treated as normal
keys, and mapped to some action. In those modes, the modifier keys are
just like any other key on the keyboard. However, they also have
a special purpose when combined with other keys (text editing), and
this now works as well.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1189 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Updated copyright dates on all headers (the reason for this huge update).
First pass at updating the user manual for all the new changes in the codebase.
Bumped version number to 2.3_alpha. It's getting close folks.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1188 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
are now in hLine() and vLine(), and it's probably optimal to leave them
there.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1184 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
meaning that if a command is running, it can be interrupted, and Stella
doesn't lock up in the process. It all feels like sort of a hack, but
for now it's the best we can do.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1183 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
hardware in this device is a known quantity and is using a hardware surface,
perhaps we can take advantage of that.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1177 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
or greater. I'm hoping that one older systems, the code will still run
and just ignore these new options.
Added commandline argument '-gl_vsync', which enables v-sync'ed updates
for OpenGL, if it's available (see above). Also added a setting for
this in the VideoDialog.
Fixed OSX OpenGL handling so that it doesn't specify an OpenGL library name,
and updated FrameBufferGL to use the default name in that case. OSX users
will probably need to reset their settings file for this to take effect.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1175 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
has been compiled for at least 4 months. At least it now compiles again
(but OpenGL mode doesn't seem to be working).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1174 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
commands. It's not quite working right now.
Added preliminary GP2X framebuffer class, so the GP2X can optimize
for that system. It's based on FrameBufferSoft, and doesn't really
do much differently right now.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1167 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
The only time the FrameBuffer is (re)created is when one doesn't exist
(at the start of program), or when toggling between software and OpenGL
mode. Hopefully this will fix the problems in the GP2X port wrt the
new SDL libs. But even if it doesn't, I think it's a cleaner way of
doing things ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1166 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
button to GameInfoDialog, which basically resets ROM properties to
built-in (compiled) defaults, and removes the entry from an external
stella.pro file (if it exists). A ROM reload is still necessary
for these settings to take effect.
Removed 'Alt-s' properties merging shortcut, since it does the same
as clicking OK in GameInfoDialog, and there should be only one way of
doing that.
Fixed bug in UI where pressing state-change keys (Ctrl, Shift, etc)
would be interpreted as characters.
Added ROM properties for "Strat-O-Gems Deluxe".
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1165 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Tied 'OK' and 'Cancel' events to closing the About and Help dialog boxes.
Fixed bug where menu event mappings weren't being reset on default.
Fixed bug where some characters could be mapped to an event, but didn't
actually do anything. This is related to Unicode issues, and may fix
problems that non-ASCII users have been experiencing.
Fixed issue with joystick buttons/axis events not being processed in
PopUpWidgets. This fixes the problems experienced by GP2X users, where
selecting a popup menu seemed to lock Stella (in actual fact, it was
still running, waiting for input).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1163 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba