Commit Graph

1170 Commits

Author SHA1 Message Date
stephena f6c8c52684 Made GameList use quicksort instead of selection sort, resulting in approx.
12-15X speedup on large folders.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1032 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-10 00:29:46 +00:00
stephena 0578b45112 More work on the ROM browse feature. It can now be dynamically (re)set
from within the Launcher options.  The previous 'Reload' button now
serves a dual role.  While in browse mode, the button is renamed as
'Go Up' and serves as a previous directory command.  While not in browse
mode, it's renamed as 'Reload' and reloads the current file-to-propname
mapping.

Also added 'rombrowse' commandline argument (true/false) to select either
browse mode (true) or not (false).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1031 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-09 17:04:01 +00:00
markgrebe 6bfabf0e15 New file created by Xcode 2.2 Project Upgrade.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1030 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-09 03:34:02 +00:00
markgrebe bb72ce44f1 Checked in project which builds a Universal Binary build of libpng. libpng is not distributed with the Mac, and the Fink versions, etc, are not yet Universal Binary, so this subproject was added to build the version of the library we are currently using.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1029 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-09 03:27:02 +00:00
markgrebe 477dc10fd9 Added new Xcode 2.2 Project File. This enables Universal Binary builds, and will be the project file used going forward.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1028 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-09 03:22:17 +00:00
markgrebe 78fbce6545 Correct old version strings which were still showing 1.4, as reported by a user.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1027 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-09 03:17:07 +00:00
markgrebe 379a420a7a Fix array overflow that was occuring in loadConfig(). This showed up in the new Xcode 2.2 build, but it only crashed in Development mode, not Deployment, most likely due to the optimization.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1026 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-09 03:16:30 +00:00
stephena 5b4d441d36 A few more 'ROM browse mode' updates. Selecting a directory entry now
descends into that directory.  Next I have to add a 'Go Up' button to
exit go in the other direction.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1025 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-09 00:29:52 +00:00
stephena 7ab6afbd74 Added infrastructure for 'ROM browser' mode, which is an alternative to
the current ROM launcher functionality.  When in this mode, the ROM
launcher listing will act as a filesystem browser; activating folders
(which are now indicated by surrounding '[]' characters) will enter the
folder, and activating ROMs will start playing the ROM.  The major
difference in this new mode (vs. the current one) is that ROMs will
not be renamed according to their MD5SUM, but will be listed with
their real names (as they exist in the filesystem).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1024 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-08 20:03:03 +00:00
stephena df350864d0 Don't save last selected ROM for GP2X port. In conjunction with the new
Settings API, this results in a stellarc file only being generated when
absolutely necessary, and saves on writes to flash-ram.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1023 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-07 18:56:36 +00:00
stephena 3eb31049b6 And yet more changes for the latest Settings API restructuring.
I haven't compiled under Win32 yet, so it may still be broken.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1022 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-06 21:41:58 +00:00
stephena 168d6bbdf4 Oops, forgot to remove some dead code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1021 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-06 21:38:09 +00:00
stephena d12721722c Converted OSX port to the new Settings API. I'm hoping this will take
care of the bugs reported on AtariAge where joystick settings weren't
being saved to the plist file.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1020 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-06 15:42:27 +00:00
stephena 19f348e312 Fixes to GP2X port for latest API changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1019 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-06 14:06:07 +00:00
stephena c0c9364b04 Oops, forgot this in the last commit.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1018 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-06 03:22:32 +00:00
stephena b4a2268bd1 First pass at conditional saving of the settings file. Basically, the
settings will only be saved when they haven't changed from the defaults.
This is probably of limited use on ordinary systems, but is helpful
for smaller systems using flash-RAM as storage (WinCE/GP2X), since
multiple saves wears out the hardware quicker.

This breaks the OSX port; I'll fix it in a day or two.  I'm hoping this
will resolve the issues of certain settings not being saved in OSX
as well.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1017 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-06 02:26:16 +00:00
stephena a48670693a Reworked properties handling, resulting in less memory usage and greatly
improved speed.  The main stella.pro properties have been integrated
directly into Stella, so a properties file needn't be distributed with
the application any more.  Support still exists for a system-wide
stella.pro and a per-user user.pro; however, Stella will work fine without
them.

Greatly reduced memory usage in properties storage by moving to an
enum-based key system (so string descriptors for keys are no longer
being stored).  Eliminated parsing and construction of the internal
properties set by pre-parsing the data with a perl script (included
in the new 'src/tools' directory).  This pre-parser constructs
a balanced binary search AVL tree in array format, so in the worst
case, the BST only has to look through 12 entries.

Fixed some string constructor issues, hopefully fixing compile problems
with the WinCE port.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1016 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-05 01:18:42 +00:00
stephena e6b236ef2e Beginning of the properties restructuring.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1015 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-03 19:58:35 +00:00
stephena 6209912e4a Fix for the 'twitch' in the GP2X port when navigating the menus. It was
actually a deficiency in the GUI core, whereby joystick button events
were being translated to axis events, but the actual button events were
still being processed as well.  Now, if a button has been translated by
pollEvent(), it is removed from further processing in the main event
loop.

Also cleaned up the DialogContainer event logic a little.  Basically,
the code at that level should never do button to axis translation,
since that's port-specific and will be handled in the OSystemXXX class.

Fixed some errors in Makefile, where spaces were used instead of tabs.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1014 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-02 13:10:53 +00:00
azaballa e1995ea8b3 Added document gathering to gp2x-organize. Updated readme.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1013 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-02 04:55:55 +00:00
stephena 8ce3e592c1 Some stella.pro updates, as mentioned on AtariAge.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1012 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-01 14:26:40 +00:00
markgrebe 71336c904e Checkin of project file changes before moving to Xcode 2.2
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1011 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-01 04:10:59 +00:00
markgrebe 70649fff20 Reverted getCString function call which may have been causing preferences problems.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1010 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-28 02:17:26 +00:00
stephena 419c35cf6a First pass at making the GUI font-sensitive. Except for the debugger,
everything should look exactly the same.  This infrastructure will
eventually allow a set of fonts to be included in Stella, and for the user
to select a bigger or smaller font and have the GUI automatically resize
to it.

At some point, the ability to zoom the ROM launcher and debugger
will be removed, and will be replaced by selection of different font
sizes.  As well, zooming of the MediaSource will be converted to a
graphics filter (scale2x/3x/4x), and others such as hq2x or mame2x
will also be available.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1009 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-22 17:38:04 +00:00
azaballa 8962a96dd1 Reverted FrameBufferSoft class to fix a GP2X freeze in Warlords.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1008 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-15 03:22:34 +00:00
azaballa efd1f16353 GP2X exit wrapper script, used to prevent a nasty hang on exit.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1007 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-15 03:19:23 +00:00
azaballa c8d00c9810 Added handling of gp2x png path to INCLUDES to save the user a step during compilation. Added gp2x-organize to Makefile to aid in installation/packaging after compilation. Updated gp2x documentation to reflect changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1006 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-15 03:12:12 +00:00
stephena 06c7d0b504 Reverted more post-2.1 changes, in hopes of fixing the GP2X rendering
bug.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1005 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-10 13:14:20 +00:00
stephena fcd424adb4 Backed out some inline definitions in TIA, in hopes of fixing graphics
corruption in the GP2X port.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1004 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-09 15:10:18 +00:00
azaballa 5eae98616a Changed documentation to reflect current revision.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1003 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-06 03:03:08 +00:00
azaballa 8194924907 Enabled phosphor effect and hi-compatibility for the GP2X.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1002 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-06 01:38:50 +00:00
azaballa 3136bf0dc5 Added GP2X specific optimization flags.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1001 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-05 21:36:00 +00:00
stephena 7532bbcd46 Some compilation fixes for GP2X cross-compiled under Linux using
pre-compiled SDL libs.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1000 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-05 19:59:22 +00:00
stephena cc07a7e502 Some minor tweaks which will hopefully speed things up for the GP2X
port.

Resurrected the low-compatibility 6502 CPU code, since it's supposed
to be somewhat faster.  This is activated internally by GP2X by
settings "cpu" to "low".  This can also be set from the commandline,
but I'm not going to document the fact.  All systems that can handle
hi-compat mode should be using it.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@999 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-05 02:49:47 +00:00
stephena 1018a3f349 Third pass at getting joy buttons acting as joy axis events. This
corrects the problems with spurious axis events in the GUI.  Now,
we only generate an emulated axis event when necessary, just as
if it was implemented in the SDL core.

If this code ends up being too slow, then optimization will have to
be made elsewhere.  Everything that this code does is necessary,
and it can't be shortened any further.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@998 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-02 01:04:09 +00:00
stephena ba4a71b5f8 Second pass at converting joy direction buttons to something that
actually works.  This time we try axis events, similar to the code
from gp2xmess project.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@997 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-01 16:58:33 +00:00
stephena a30149355a Added profile support to configure/Makefile (--enable-profile). If you
know what this is, you'll know how to use it :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@996 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-01 13:53:25 +00:00
stephena d91443ed89 Second pass at getting GP2X gamepad working. At least the code compiles
now :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@995 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-31 17:26:56 +00:00
urchlay 89b17f8ab0 Nightly builds now have the date in the version number, and look for
stella.pro in the current directory instead of the system dir.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@994 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-31 14:02:08 +00:00
stephena 04671c03d6 Bumped version number to 2.1.1.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@993 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-30 16:23:01 +00:00
stephena 1c80f5b1c7 Preliminary support for converting buttons to HAT events for the GP2X
gamepad, implementing 'case 2' configuration.  This hasn't been tested
yet, since I don't have the hardware.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@992 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-30 16:20:41 +00:00
stephena 801f4a1bf9 First pass at infrastructure for polling platform-specific hardware.
This is needed particularly for the GP2X joystick direction handling,
where directions are (incorrectly) implemented as button events
instead of more intuitive HAT events.  When this is complete, it will
also remove the EventHandler 'kJDirXXX' enums, which I always thought
was dirty code anyway.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@991 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-30 01:01:44 +00:00
markgrebe 31c0d39ecf Set Xcode project back to Deployment mode, so optimization is turned on, as this was accidently left off for the 2.1.0 release. Also, fixed issue with video size menu items.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@990 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-29 23:06:10 +00:00
urchlay 4bdf5dfbf7 Update SlackBuild script for 2.1 release
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@988 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-28 15:59:35 +00:00
stephena 306a930925 Updated Win32 installer for 2.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@987 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-28 14:56:39 +00:00
stephena 94cb970ef5 One last update for RPM SPEC file.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@986 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-28 14:37:31 +00:00
stephena c98537e87d Updates RPM SPEC file for 2.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@985 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-28 14:23:03 +00:00
markgrebe 9554ae1b4b Update copyright dates in about box
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@984 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-28 04:34:24 +00:00
markgrebe dd7caec1f3 Updated Xcode project file for release version number
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@983 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-28 03:50:34 +00:00
stephena e2e64e71ce Bumped version # for 2.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@982 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-27 20:43:49 +00:00