Modified InputTextDialog so that any error messages disappear once
new data is entered.
Fixed bug with ContextMenu where showing a dialog box (from the CMenu)
didn't work properly.
Removed redundant EditNumWidget class. It's functionality will be
handled by EditTextWidget eventually, when we add more comprehensive
error checking on input.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@814 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
of "-lz -lpng" when building statically (but NOT otherwise!). Means you
need "sed" installed to build a static binary on Linux, but that's not
much of a restriction (who would have make and gcc installed but not sed?)
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@810 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
although it isn't strictly needed for Stella itself (it's already
compiled in).
Added stella.spec file, which is used to generate a source RPM for
both PLF (Mandriva) and hopefully for all RPM distros as well.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@809 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Pressing Escape exits the selection, and ignores any changes made.
Also, a mouse click must be done inside the widget for selection
to happen. Otherwise, it's treated as a cancel, and selection is
restored to original item.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@808 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
mouse' code in GUI mode is activated. This is deactivated by default,
since it could cause problems on systems that don't have joysticks
properly calibrated.
Added more descriptive names for Cartridge types in GameInfoDialog,
since I could never remember which ones were which.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@807 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
address resulted in a crash. This was caused by non-existent
error checking in DebuggerParser for this case. I've reworked the
method in question quite a bit, so I'm not sure if it's completely
bug free ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@806 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
now has the ability to show two columns of items, in cases where
there isn't enough vertical space to show them normally.
Completely finished the GameInfoDialog by adding 'Cartridge.Type'
for both loading and saving. With these changes, it should now
never be necessary to edit a properties file directly.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@805 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
to 'Shift left/right cursor', since Ctrl-Tab is usually an OS
reserved keystroke.
Fixed 'make install' command so it actually installs Stella. Further
testing is still required.
Fixed graphical glitch whereby focus rectangles weren't being
properly drawn around widgets with an attached scrollbar
(PromptWidget and ListWidget).
I only have 5 or 6 outstanding bugs left. After that, once the
TiaOutputWidget is complete, we'll be ready for a new release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@804 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
So pressing 'OK' in that dialog will merge the properties into user.pro,
and doing a reload of ROM (Crtl-r) or exit/enter ROM will use the new
settings.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@803 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
only the 'Cartridge' properties can be saved to user.pro, and only
if you manually hit the merge keys (Alt-s). Once this is complete,
the properties will be saved automatically when 'OK' is pressed, and
a ROM reload will make those new properties take effect.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@801 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
sometimes caused the focus rect to be drawn in the wrong place.
Activated some more items in GameInfoDialog, and have it actually
load properties for viewing/editing.
Fixed EventHandler/GUI unicode<->keycode conversion yet again.
Mark, if you're reading this, can you test it on OSX again?
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@800 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
work, but at least it compiles.
Fixed bug whereby pressing modifier keys in GUI mode would sometimes
be interpreted (and printed) as regular keys).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@799 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
I know it doesn't compile, but I have to commit it before I go home :)
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@798 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Cheetah codes prefixed with a 1- or 2-digit bank number. Try "1236ea1"
in Battlezone: it should give infinite lives. "01236ea1" is the same
thing with a 2-digit bank number ("01" instead of "1", same bank).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@796 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
a valid cheat code, we go back to emulation mode. Ideally, we'd keep
track of whether CheatCodeDialog was called by the menu or the hotkey,
and stay in the menu if it was called by the menu...
Unfortunately, Alt-C isn't available for our cheat hotkey (it's used
for enable/disable missile 0), and Ctrl doubles as the joystick 0 fire
button, so pressing Ctrl-C fires a shot (or starts a game, or whatever)
as well as entering cheat code mode. Not a big deal, I guess.
Currently there's no way to list or disable the cheat codes you've
entered. You can press Control-R to reload the ROM, which kills all the
cheats at once. I tried to figure out how to use the CheckListWidget to
do a cheat list with disable/enable toggles, but got horribly confused.
I think GUI programming in C++ is always going to feel like a foreign
language to me :(
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@795 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
the next release done, and this sucker is being finished soon.
Readded printing of watches to prompt.
Fixed issues with keypad buttons not being recognized in GUI mode.
Fixed bug in internal _select and _reset debugger functions, which
were reversed.
Toggling stereo/mono mode now updates the 'Cartridge.Sound' property,
so if the properties are later saved/merged, the modified sound
settings will be used for that game on next launch/reload.
Fixed a bug where selecting a new romdir in BrowserDialog would
sometimes cause a segfault.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@791 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
contextmenu. This simply created a conditional breakpoint defined
as 'breakif _scan==XXX', where XXX is the scanline under the mouse
at that point.
Fixed bugs in adding breakpoints to the RomWidget. Breakpoints
are no longer removed when the list is invalidated, and a
set/clear breakpoint from the prompt automatically updates the
RomWidget breakpoint list.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@790 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
commandline. So, for example, the format of a ROM can be
specified with 'NTSC', 'Ntsc', 'ntsc', etc.
Cleaned up some dead code in Properties class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@789 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
user of debugger-related state information.
Reworked breakpoint/trap support to display a message in debugger
messagebox indicating what condition caused the debugger to start.
This is much better than before, when no feedback was given as to
why the debugger started.
Some usability fixes to ListWidget/RomWidget. There are still a few
more tweaks to do before the final release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@788 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
o Just meant as a placeholder to get the psp build working again and for further improvements
o No optimized Routines yet !
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@783 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
o added pspoverclock config flag,because overclocking was default setting which is not desired by all users
o moved psp overclock call away from ctor
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@782 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
exist in the stella.pro file. Properties to be saved are now explicitly
marked as such, and don't rely on how often they're insert()'ed.
Made 'Exit ROM' in the CommandDialog do the appropriate thing based
on whether we want to go back to the ROM launcher or completely
exit the emulator.
Moved bounding rectangle for drawing focus around a widget into a
Widget::getRect() method and updated Widget class to use these coordinates.
This means widgets that contain other widgets (ie, attached scrollbars)
can define their own getRect() and have the focus rectange draw correctly.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@780 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Added infrastructure to DebuggerParser whereby changes made at the
prompt are automatically propagated to other widgets on the
DebuggerDialog.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@778 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
left mouse button is pressed and released on the item (should fix problems
with accidentally selecting an item). Also added 'Escape' key to mean
"cancel/remove context menu".
Updated '-help' commandline argument to recent additions.
Huge amount of work on the documentation. It's probably not complete,
but it's turning into a project in itself.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@776 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
to be a master file and is read-only. When the user merges the
properties for a given ROM, they are now stored in 'user.pro'. The
advantage of doing it this way is that users can get updated properties
from stella.pro with each release of Stella, and at the same time keep
any customized properties in their own user.pro file. Merging is still
activated with 'Alt s' key combo, while saving the current properties
to a separate game-specific properties file is activated with 'Ctrl s'.
Fixed UNIX and Win32 ports for the above; the OSX and PSP ports need
to be fixed by the respective maintainers (a one-liner fix).
Fixed bug where changing audio settings from AudioDialog didn't
actually close/open the sound subsystem (and hence changes weren't
taking effect).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@775 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
kills performance in Windows, so we use SDL_Flip() instead, but only
when something has actually changed onscreen. At some point after
the next release, I may move to hardware/double-buffered displays,
but the extra work it requires (dirty rect list for each buffer) is
just too much for now. Besides, I'm hesitant to spend so much time
optimizing for one specific type of software mode when OpenGL is
available, and works much faster anyway.
Fixed bug with pathnames in FSNodeWin32. The code now assumes that
all paths start with X: (where X is a drive letter). If not, then
it defaults to C: So that means relative directories aren't allowed,
only absolute.
Removed hardware support from FrameBufferSoft, since the only port
that uses it is PSP, and that port will soon get its own
FrameBufferPSP class. So for now, PSP support is broken. It was
just too difficult to merge the common FrameBufferSoft for PSP
support, since it's starting to use PSP-specific code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@774 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
launcher can close the sound device while the user is selecting a
new game. This prevents the intermittent problem of a left-over sound
fragment from the old game being played when the new game starts.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@773 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
changes aren't immediately seen, but this will be fixed when the
DebuggerParser/loadConfig() infrastructure is complete.
Implemented 'Set PC' in RomListWidget, with the same restrictions
as above. Removed 'Add bookmark' and 'Patch ROM', since the
former can't be done with more infrastructure work, and the
latter is done by double-clicking a line (no need for two ways
of doing the same thing).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@772 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Disabled 'Cheat' button in OptionsDialog, since we won't have time
to finish it before the 2.0 release.
Fixed some graphical glitches when TabWidget was used.
Still TODO is get Win32 hardware surfaces working. I'm tempted to
just disable it for the next release, because it's just too much work.
There's still some work left to do in the debugger, but I won't be
implementing any new features (for the next release) beyond what's
there now. From this point on, we're only fixing bugs and adding
any remaining functionality to current widgets.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@769 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Made sure emulation screen height can always accommodate the menus
placed in it.
Added check when switching to PAL mode, so that the emulation height
will be a default for PAL (250), not for NTSC (210).
Added ability to switch between stereo and mono sound dynamically
from the AudioDialog ('Stereo Mode') and the commandline ('-channels').
This setting is not saved to stellarc, so if you want it to be
permanent for some game, save it to the properties file.
Added 'Cartridge.Sound' property to the game properties, and have it
default to 'Mono'. Setting it to 'Stereo' will give stereo sound
(2 sound channels used). Related to this, update stella.pro
'Skeleton+' entry to use stereo sound.
Correctly update the sound framerate when switching between NTSC/PAL,
since the new sound core knows what to do in such a case.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@768 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
in SoundSDL. Removed some extraneous CR characters from TIASnd code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@767 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
class supports stereo sound output; however, to switch to stereo mode you
currently have to change desired.channels to 2 instead of 1 in the code.
Eventually, we need a setting to enable this and it might be nice to have
a "stella.pro" value for defaults. Games like Skeleton+ and Synthcart
support stereo output so setting their values to "STEREO" would be good
and having the default be "MONO".
I'm also checking in an updated VC++ project file; however, the other
makefiles will need to be updated to remove TIASound.c and add TIASnd.cxx
to the build
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@765 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba