Commit 527fd9e6 authored by Stephen Kitt's avatar Stephen Kitt

Imported Upstream version 3.2

parent a9efe8c9
......@@ -9,7 +9,7 @@
SSSS ttt eeeee llll llll aaaaa
===========================================================================
Release 3.1.2 for Linux, MacOSX and Windows
Release 3.2 for Linux, MacOSX and Windows
===========================================================================
The Atari 2600 Video Computer System (VCS), introduced in 1977, was the
......@@ -21,30 +21,30 @@ all of your favourite Atari 2600 games again! Stella was originally
developed for Linux by Bradford W. Mott, however, it has been ported to a
number of other platforms and is currently maintained by Stephen Anthony.
This is the 3.1.2 release of Stella for Linux, Mac OSX and Windows. The
This is the 3.2 release of Stella for Linux, Mac OSX and Windows. The
distributions currently available are:
* Binary installer (exe) for Windows 32-bit & 64-bit :
Stella-3.1.2-win32.exe
Stella-3.1.2-x64.exe
Stella-3.2-win32.exe
Stella-3.2-x64.exe
* Binary zip for Windows, containing 32 and 64-bit versions :
Stella-3.1.2-windows.zip
Stella-3.2-windows.zip
* Binary distribution for MacOSX 32-bit & 64-bit :
Stella-3.1.2-macosx.dmg (32-bit Universal Binary)
Stella-3.1.2_intel_10.6-macosx.dmg (32/64-bit Intel/Snow-Leopard only)
Stella-3.2-macosx.dmg (32-bit Universal Binary)
Stella-3.2_intel_10.6-macosx.dmg (32/64-bit Intel/Snow-Leopard only)
* Binary distribution in 32-bit & 64-bit Ubuntu DEB format :
stella_3.1.2-1_i386.deb
stella_3.1.2-1_amd64.deb
stella_3.2-1_i386.deb
stella_3.2-1_amd64.deb
* Binary distribution in 32-bit & 64-bit RPM format :
stella-3.1.2-2.i386.rpm
stella-3.1.2-2.x86_64.rpm
stella-3.2-2.i386.rpm
stella-3.2-2.x86_64.rpm
* Source code distribution for all platforms :
stella-3.1.2-src.tar.gz
stella-3.2-src.tar.gz
PLEASE DO NOT WRITE ASKING FOR ROM IMAGES TO USE WITH STELLA! ALL SUCH
REQUESTS WILL BE IGNORED!
......
......@@ -12,6 +12,108 @@
Release History
===========================================================================
3.1.2 to 3.2: (August 20, 2010)
* NOTE: because of the many event-related changes in this release, all
event mapping should be reset to defaults after starting Stella for
the first time. As well, because of other internal changes, older
save-state files are no longer valid.
* Many improvements to joystick handling code, particularly for analog
axes. Navigating the UI should be much smoother now, and remapping
events to analog axes should be less 'twitchy'.
* Added ability to assign and remap 'combo' events in emulation mode.
Combo events are basically a sequence of normal events (up to 8)
that are generated from a single event (ie, one button on a joystick
could generate up to 8 events). Updated Input Settings UI to
access and modify these events.
* Default mappings are now available in UI and emulation mode for the
first 'hat' detected on a joystick/gamepad. Related to this, a hat
now works exactly like an axis in UI mode (holding down a direction
continues that direction until the hat is released/centered).
* Several major improvements to the debugger:
- the disassembler can now process multiple entry points, and
caches entry points as they're encountered (ie, the disassembly
isn't 'reset' each time a bank change occurs or you exit and
re-enter the debugger)
- preliminary support for disassembling from zero-page RAM
- re-added ability to change banks with the 'bank' debugger
prompt command and within the ROM disassembly UI
- user labels in disassembly are now supported again
- 'runto' command is now case-insensitive, and shows a progressbar
while searching through the disassembly
- the debugger window can be resized between ROM loads (previously,
the app had to be restarted)
- fixed bug in Distella disassembler output, where it sometimes
generated addresses above $FFFF
- a vertical line separates the disassembly from the raw bytes
* Fixed behaviour of SWCHB and SWBCNT; pins set to output now remember
the values previously written. Some ROMs use this functionality for
extra storage. Special thanks to Omegamatrix of AtariAge for advice
and test ROMs in this area.
* Fixed bug when reading from illegal TIA addresses; a Space Invaders
hack was showing pink enemies instead of white ones. Again, special
thanks to to Omegamatrix of AtariAge for advice and test ROMs in this
area.
* Fixed bug in handling INPT4/INPT5 latches from VBLANK; a least one
ROM was working in Stella when it didn't on real hardware.
* Added 'ramrandom' commandline argument, which is used to randomize
all RAM in the system; otherwise, the RAM is zeroed.
* Added 'finishing touches' to some of the UI descriptions, giving a
better explanation of the functions. Related to this, certain
options now show a message box explaining the option in further
detail (particularly the ROM Audit mode). As well, when starting
Stella for the first time, a prompt appears to select a ROM
directory.
* Fixed bugs in the ROM launcher when viewing certain PNG images not
created by Stella. Related to this, the official PNG library is now
included in the Stella codebase (version 1.4.3). Also added composite
snapshots for those ROMs which consist of several games. Thanks go
to Buzbard of AtariAge for these images.
* Added several fixes for crashes on 'small' systems (those systems
where the maximum resolution is less than 640x480).
* Tweaked bankswitch autodetection for 0840, DPC+, E7 and UA schemes.
* Improved F8 bankswitch autodetection for Yars Revenge in 8in1 ROM.
* Updated DPC+ bankswitch scheme to latest specifications.
* Snapshots taken in continuous snapshot mode are now timestamped, so
older files are never overwritten.
* Fixed a TIA segfault that could occur with certain ROMs.
* The 'center' application window functionality can now be changed
without having to restart the application. Related to this, mouse
positioning bugs when using the Linux version in OpenGL mode with
SDL 1.2.14 have been fixed.
* Reworked the manual, dividing it into 'Getting Started' and
'Advanced Configuration' sections. It still contains the same info
as before, but hopefully in a better organized way.
* Updated Help dialog; it was showing incorrect info for some OSX
shortcuts.
* Updated OSX build script to not crash when a previous build is
detected, and to properly handle filenames with spaces.
* Updated included ZLib to latest release version (1.2.5).
-Have fun!
3.1.1 to 3.1.2: (May 3, 2010)
* Modified 'showinfo' command to accept levels of output, where
......@@ -30,8 +132,6 @@
again. It's still available from the commandline, for those that
have a need for it.
-Have fun!
3.1 to 3.1.1: (April 26, 2010)
......
This is release 3.1.2 of Stella. Stella is a multi-platform Atari 2600 VCS
This is release 3.2 of Stella. Stella is a multi-platform Atari 2600 VCS
emulator which allows you to play all of your favourite Atari 2600 games
on your PC. You'll find the Stella Users Manual in the docs subdirectory.
If you'd like to verify that you have the latest release of Stella visit
......@@ -9,4 +9,4 @@ the Stella Website at:
Enjoy,
The Stella Team
May 3, 2010
August 20, 2010
......@@ -15,6 +15,7 @@ CXXFLAGS="$CXXFLAGS $CPPFLAGS"
# default lib behaviour yes/no/auto
_opengl=auto
_libpng=auto
_zlib=auto
# default option behaviour yes/no
......@@ -196,9 +197,12 @@ Optional Features:
--disable-static
--enable-profile build binary with profiling info [disabled]
--disable-profile
--force-builtin-libpng force use of built-in libpng library [auto]
--force-builtin-zlib force use of built-in zlib library [auto]
Optional Libraries:
--with-sdl-prefix=DIR Prefix where the sdl-config script is installed (optional)
--with-libpng-prefix=DIR Prefix where libpng is installed (optional)
--with-zlib-prefix=DIR Prefix where zlib is installed (optional)
--x-libraries Path to X11 libraries [${X_LIBS}]
......@@ -234,10 +238,17 @@ for ac_option in $@; do
--disable-static) _build_static=no ;;
--enable-profile) _build_profile=yes ;;
--disable-profile) _build_profile=no ;;
--force-builtin-libpng) _libpng=no ;;
--force-builtin-zlib) _zlib=no ;;
--with-sdl-prefix=*)
arg=`echo $ac_option | cut -d '=' -f 2`
_sdlpath="$arg:$arg/bin"
;;
--with-libpng-prefix=*)
_prefix=`echo $ac_option | cut -d '=' -f 2`
LIBPNG_CFLAGS="-I$_prefix/include"
LIBPNG_LIBS="-L$_prefix/lib"
;;
--with-zlib-prefix=*)
_prefix=`echo $ac_option | cut -d '=' -f 2`
ZLIB_CFLAGS="-I$_prefix/include"
......@@ -497,6 +508,25 @@ if test -n "$_host_prefix"; then
_windres="$_host_prefix-$_windres"
fi
#
# Check for libpng
#
echocheck "libpng"
if test "$_libpng" = auto ; then
_libpng=no
cat > $TMPC << EOF
#include <stdio.h>
#include <png.h>
int main(void) { return printf("%s\n", PNG_HEADER_VERSION_STRING); }
EOF
cc_check $LDFLAGS $CXXFLAGS $LIBPNG_CFLAGS $LIBPNG_LIBS -lpng && _libpng=yes
fi
if test "$_libpng" = yes ; then
echo "$_libpng"
else
echo "none found, using built-in version"
fi
#
# Check for ZLib
#
......@@ -636,6 +666,7 @@ DBG="$SRC/debugger"
DBGGUI="$SRC/debugger/gui"
YACC="$SRC/yacc"
CHEAT="$SRC/cheat"
LIBPNG="$SRC/libpng"
ZLIB="$SRC/zlib"
INCLUDES="-I$CORE -I$COMMON -I$GUI"
......@@ -655,6 +686,20 @@ case $_host_os in
DEFINES="$DEFINES -DBSPF_UNIX -DHAVE_GETTIMEOFDAY -DHAVE_INTTYPES"
MODULES="$MODULES $SRC/unix"
INCLUDES="$INCLUDES -I$SRC/unix"
#
# Check for X11
#
_x11=no
cat > $TMPC << EOF
#include <X11/Xutil.h>
int main(void) { return 0; }
EOF
cc_check $LDFLAGS $CXXFLAGS -lX11 && _x11=yes
if test "$_x11" = yes ; then
DEFINES="$DEFINES -DHAVE_X11"
LIBS="$LIBS -lX11"
fi
;;
win32)
DEFINES="$DEFINES -DBSPF_WIN32 -DHAVE_GETTIMEOFDAY -DHAVE_INTTYPES"
......@@ -678,6 +723,13 @@ case $_host_os in
;;
esac
if test "$_libpng" = yes ; then
LIBS="$LIBS -lpng"
else
MODULES="$MODULES $LIBPNG"
INCLUDES="$INCLUDES -I$LIBPNG"
fi
if test "$_zlib" = yes ; then
LIBS="$LIBS -lz"
else
......
stella (3.2-1) stable; urgency=high
* Version 3.2 release
-- Stephen Anthony <stephena@users.sf.net> Mon, 16 Aug 2010 18:38:25 +0200
stella (3.1.2-1) stable; urgency=high
* Version 3.1.2 release
......
......@@ -20,7 +20,7 @@ endif
config.status: configure
dh_testdir
CXXFLAGS="$(CXXFLAGS)" ./configure --prefix=/usr
CXXFLAGS="$(CXXFLAGS)" ./configure --prefix=/usr --force-builtin-libpng --force-builtin-zlib
build: build-stamp
......
......@@ -50,7 +50,7 @@ feature that no other 2600 debugger has; it's <b>completely</b> cross-platform.<
<li>Built-in VCS.H symbols, if no symbol file is loaded.</li>
<li><strike>Symbolic names in disassembly.</strike> <b>Note:</b> Disabled until a future release</li>
<li>Symbolic names in disassembly.</li>
<li>Symbolic names accepted as input.</li>
<li>Tab completion for commands, symbol names and functions.</li>
......@@ -64,8 +64,8 @@ feature that no other 2600 debugger has; it's <b>completely</b> cross-platform.<
<li>Save CLI session to a text file.</li>
<li>Supports hex, decimal, and binary input and output almost everywhere.
(disassembly is still hex).</li>
<li>Support for bank switching. You can see how many banks a cart has, and the
currently selected bank.</li>
<li>Support for bank switching. You can see how many banks a cart has and the
currently selected bank, and manually change banks.</li>
<li>Registers/memory that get changed by the CPU during debugging are
highlighted when they're displayed.<li>
<li>Scanline advance (like frame advance, break at beginning
......@@ -598,6 +598,7 @@ can also get rid of all traps at once with the "cleartraps" command.</p>
<pre>
a - Set Accumulator to value xx
bank - Show # of banks, or switch to bank xx
base - Set default base (hex, dec, or bin)
break - Set/clear breakpoint at address xx (default=PC)
breakif - Set breakpoint on condition xx
......@@ -925,20 +926,17 @@ decreased by 1:</p>
<!-- ///////////////////////////////////////////////////////////////////////// -->
<br>
<h2><u>(M)</u> ROM Listing</h2>
<p>The ROM Widget is a disassembly of the current bank of ROM. <strike>If a symbol
file is loaded, the disassembly will have labels.</strike>. For now, labels
from a symbol file are not shown in the disasembly; this feature will return
in a future release. Even without a symbol file, the standard TIA/RIOT labels
will still be present.</p>
<p>The ROM Widget is a disassembly of the current bank of ROM. If a symbol
file is loaded, the disassembly will have labels. Even without a symbol file, the standard
TIA/RIOT labels will still be present.</p>
<p><img src="graphics/debugger_rom.png"></p>
<p>The top area contains two items:
<ul>
<li><b>Bank (current/total)</b>: Shows the current bank in use, and the
total number of banks. Note that bank numbers start at 0 (as in most
programming languages), so '0 / 1' actually means 'the first
bank of 1 possible bank(s)'. Due to the way the disassembler works,
you cannot change banks; the display is for reference only.
<li><b>Current bank (x total)</b>: Shows the current bank in use (number in textbox),
and the total number of banks (x). Note that bank numbers start at 0 (as in most
programming languages). If the cartridge contains multiple banks, the bank can
be changed in the bank textbox, and the ROM will be re-disassembled.
Note that certain ROMs are quite complex, and may only show has having one
'virtual' bank when their address space can be swapped in and out in many
different ways.</li>
......@@ -962,8 +960,9 @@ red circle in this area. These are the same breakpoints as used
by the "break" command, <b>not</b> the conditional "breakif" breakpoints
(which makes sense: cond-breaks can break on any condition, the Program
Counter isn't necessarily involved).</li>
<li><b>Labels</b>: For now, only those generated by Distella, not ones from a
DASM symbol file or any labels created by the user.</li>
<li><b>Labels</b>: Any labels assigned to the given address, either generated
automatically by Distella, read from a DASM symbol file or custom
labels created by the user.</li>
<li><b>Instruction</b>: This is a standard 6502 mnemonic (possibly with operand).
This field also contains the cycle count for the instruction (separated by a
semicolon).</li>
......@@ -975,7 +974,10 @@ bytes in this field.</li>
<p>The 6502 mnemonic will be UPPERCASE for all standard instructions,
or lowercase for "illegal" 6502 instructions (like "dcp"). If resolving
of data sections has been disabled for any reason, you'll likely see a lot
of illegal opcodes if you scroll to a data table in ROM.</p>
of illegal opcodes if you scroll to a data table in ROM. This can also
occur if the disassembler hasn't yet encountered addresses in the PC.
If you step/trace/scanline/frame advance into such an area, the disassembler
will make note of it, and disassemble it correctly from that point on.</p>
<!-- TODO - is this true any longer?
<p>Beware: the cycle counts don't take into account any penalty cycles
......@@ -1027,11 +1029,11 @@ matches the address of the disassembly line where the mouse was clicked.</li>
<ul>
<li>The ROM Widget only works on ROM. If your game runs code from zero-page
RAM, the code from RAM will not be shown, and the ROM Widget will not highlight
any instructions. Once your RAM routine returns, the ROM Widget will work
normally again. You can still disassemble RAM with the "disasm" command from
the Prompt.</li>
<li>The ROM Widget only works on ROM or zero-page RAM separately. If your game runs
code from zero-page RAM, the disassembly will show addresses $80 to $FF (zero-page
RAM address space) only. Once your RAM routine returns, the ROM Widget will switch
back to ROM space ($1000 - $1FFF and mirrors). The same is true of the "disasm"
command; it will show either ROM or RAM space, not both at the same time.</li>
<li>The standard VCS memory map has the cartridge port at locations
$F000-$FFFF. However, not all the address lines exist on a 6507, so
......
docs/graphics/chucky_cheese.png

41.1 KB | W: | H:

docs/graphics/chucky_cheese.png

41.1 KB | W: | H:

docs/graphics/chucky_cheese.png
docs/graphics/chucky_cheese.png
docs/graphics/chucky_cheese.png
docs/graphics/chucky_cheese.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/circuit.png

6.25 KB | W: | H:

docs/graphics/circuit.png

6.26 KB | W: | H:

docs/graphics/circuit.png
docs/graphics/circuit.png
docs/graphics/circuit.png
docs/graphics/circuit.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/commandmenu.png

3.87 KB | W: | H:

docs/graphics/commandmenu.png

3.88 KB | W: | H:

docs/graphics/commandmenu.png
docs/graphics/commandmenu.png
docs/graphics/commandmenu.png
docs/graphics/commandmenu.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/console.png

61 KB | W: | H:

docs/graphics/console.png

61.1 KB | W: | H:

docs/graphics/console.png
docs/graphics/console.png
docs/graphics/console.png
docs/graphics/console.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/debugger_bpstatus.png

378 Bytes | W: | H:

docs/graphics/debugger_bpstatus.png

282 Bytes | W: | H:

docs/graphics/debugger_bpstatus.png
docs/graphics/debugger_bpstatus.png
docs/graphics/debugger_bpstatus.png
docs/graphics/debugger_bpstatus.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/debugger_cpuregs.png

1.65 KB | W: | H:

docs/graphics/debugger_cpuregs.png

1.61 KB | W: | H:

docs/graphics/debugger_cpuregs.png
docs/graphics/debugger_cpuregs.png
docs/graphics/debugger_cpuregs.png
docs/graphics/debugger_cpuregs.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/debugger_dataops.png

702 Bytes | W: | H:

docs/graphics/debugger_dataops.png

476 Bytes | W: | H:

docs/graphics/debugger_dataops.png
docs/graphics/debugger_dataops.png
docs/graphics/debugger_dataops.png
docs/graphics/debugger_dataops.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/debugger_globalbuttons.png

1.06 KB | W: | H:

docs/graphics/debugger_globalbuttons.png

860 Bytes | W: | H:

docs/graphics/debugger_globalbuttons.png
docs/graphics/debugger_globalbuttons.png
docs/graphics/debugger_globalbuttons.png
docs/graphics/debugger_globalbuttons.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/debugger_iotab.png

5.86 KB | W: | H:

docs/graphics/debugger_iotab.png

5.87 KB | W: | H:

docs/graphics/debugger_iotab.png
docs/graphics/debugger_iotab.png
docs/graphics/debugger_iotab.png
docs/graphics/debugger_iotab.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/debugger_main.png

29.3 KB | W: | H:

docs/graphics/debugger_main.png

29.5 KB | W: | H:

docs/graphics/debugger_main.png
docs/graphics/debugger_main.png
docs/graphics/debugger_main.png
docs/graphics/debugger_main.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/debugger_ram.png

5.62 KB | W: | H:

docs/graphics/debugger_ram.png

5.63 KB | W: | H:

docs/graphics/debugger_ram.png
docs/graphics/debugger_ram.png
docs/graphics/debugger_ram.png
docs/graphics/debugger_ram.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/debugger_ramsearch.png

5.34 KB | W: | H:

docs/graphics/debugger_ramsearch.png

5.07 KB | W: | H:

docs/graphics/debugger_ramsearch.png
docs/graphics/debugger_ramsearch.png
docs/graphics/debugger_ramsearch.png
docs/graphics/debugger_ramsearch.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/debugger_rom.png

8.26 KB | W: | H:

docs/graphics/debugger_rom.png

8.44 KB | W: | H:

docs/graphics/debugger_rom.png
docs/graphics/debugger_rom.png
docs/graphics/debugger_rom.png
docs/graphics/debugger_rom.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/debugger_romcmenu.png

4.55 KB | W: | H:

docs/graphics/debugger_romcmenu.png

4.32 KB | W: | H:

docs/graphics/debugger_romcmenu.png
docs/graphics/debugger_romcmenu.png
docs/graphics/debugger_romcmenu.png
docs/graphics/debugger_romcmenu.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/debugger_tiainfo.png

1.68 KB | W: | H:

docs/graphics/debugger_tiainfo.png

1.6 KB | W: | H:

docs/graphics/debugger_tiainfo.png
docs/graphics/debugger_tiainfo.png
docs/graphics/debugger_tiainfo.png
docs/graphics/debugger_tiainfo.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/debugger_tiatab.png

11.2 KB | W: | H:

docs/graphics/debugger_tiatab.png

11.2 KB | W: | H:

docs/graphics/debugger_tiatab.png
docs/graphics/debugger_tiatab.png
docs/graphics/debugger_tiatab.png
docs/graphics/debugger_tiatab.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/debugger_tiazoomcmenu.png

1.17 KB | W: | H:

docs/graphics/debugger_tiazoomcmenu.png

1.18 KB | W: | H:

docs/graphics/debugger_tiazoomcmenu.png
docs/graphics/debugger_tiazoomcmenu.png
docs/graphics/debugger_tiazoomcmenu.png
docs/graphics/debugger_tiazoomcmenu.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/developer_stats.png

3.8 KB | W: | H:

docs/graphics/developer_stats.png

3.52 KB | W: | H:

docs/graphics/developer_stats.png
docs/graphics/developer_stats.png
docs/graphics/developer_stats.png
docs/graphics/developer_stats.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/eventmapping.png

5.38 KB | W: | H:

docs/graphics/eventmapping.png

6.13 KB | W: | H:

docs/graphics/eventmapping.png
docs/graphics/eventmapping.png
docs/graphics/eventmapping.png
docs/graphics/eventmapping.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/jr_pacman.png

3.06 KB | W: | H:

docs/graphics/jr_pacman.png

3.07 KB | W: | H:

docs/graphics/jr_pacman.png
docs/graphics/jr_pacman.png
docs/graphics/jr_pacman.png
docs/graphics/jr_pacman.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/launcher.png

22.4 KB | W: | H:

docs/graphics/launcher.png

21.8 KB | W: | H:

docs/graphics/launcher.png
docs/graphics/launcher.png
docs/graphics/launcher.png
docs/graphics/launcher.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/launcher_filter.png

2.01 KB | W: | H:

docs/graphics/launcher_filter.png

2.03 KB | W: | H:

docs/graphics/launcher_filter.png
docs/graphics/launcher_filter.png
docs/graphics/launcher_filter.png
docs/graphics/launcher_filter.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/launcher_options.png

4.34 KB | W: | H:

docs/graphics/launcher_options.png

4.44 KB | W: | H:

docs/graphics/launcher_options.png
docs/graphics/launcher_options.png
docs/graphics/launcher_options.png
docs/graphics/launcher_options.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/launcher_override.png

4.91 KB | W: | H:

docs/graphics/launcher_override.png

4.92 KB | W: | H:

docs/graphics/launcher_override.png
docs/graphics/launcher_override.png
docs/graphics/launcher_override.png
docs/graphics/launcher_override.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/options.png

3.46 KB | W: | H:

docs/graphics/options.png

3.47 KB | W: | H:

docs/graphics/options.png
docs/graphics/options.png
docs/graphics/options.png
docs/graphics/options.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/options_audio.png

2.97 KB | W: | H:

docs/graphics/options_audio.png

3.1 KB | W: | H:

docs/graphics/options_audio.png
docs/graphics/options_audio.png
docs/graphics/options_audio.png
docs/graphics/options_audio.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/options_debugger.png

3.69 KB | W: | H:

docs/graphics/options_debugger.png

3.06 KB | W: | H:

docs/graphics/options_debugger.png
docs/graphics/options_debugger.png
docs/graphics/options_debugger.png
docs/graphics/options_debugger.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/options_gameinfo.png

6.58 KB | W: | H:

docs/graphics/options_gameinfo.png

6.44 KB | W: | H:

docs/graphics/options_gameinfo.png
docs/graphics/options_gameinfo.png
docs/graphics/options_gameinfo.png
docs/graphics/options_gameinfo.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/options_input.png

5.18 KB | W: | H:

docs/graphics/options_input.png

6.13 KB | W: | H:

docs/graphics/options_input.png
docs/graphics/options_input.png
docs/graphics/options_input.png
docs/graphics/options_input.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/options_misc.png

12.1 KB | W: | H:

docs/graphics/options_misc.png

4.03 KB | W: | H:

docs/graphics/options_misc.png
docs/graphics/options_misc.png
docs/graphics/options_misc.png
docs/graphics/options_misc.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/options_ui.png

4.06 KB | W: | H:

docs/graphics/options_ui.png

4.44 KB | W: | H:

docs/graphics/options_ui.png
docs/graphics/options_ui.png
docs/graphics/options_ui.png
docs/graphics/options_ui.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/options_video.png

19.7 KB | W: | H:

docs/graphics/options_video.png

9.22 KB | W: | H:

docs/graphics/options_video.png
docs/graphics/options_video.png
docs/graphics/options_video.png
docs/graphics/options_video.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/options_video_tv.png

4.98 KB | W: | H:

docs/graphics/options_video_tv.png

6.45 KB | W: | H:

docs/graphics/options_video_tv.png
docs/graphics/options_video_tv.png
docs/graphics/options_video_tv.png
docs/graphics/options_video_tv.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/pacman.png

3.08 KB | W: | H:

docs/graphics/pacman.png

3.09 KB | W: | H:

docs/graphics/pacman.png
docs/graphics/pacman.png
docs/graphics/pacman.png
docs/graphics/pacman.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/rom_browser.png

5.99 KB | W: | H:

docs/graphics/rom_browser.png

3.56 KB | W: | H:

docs/graphics/rom_browser.png
docs/graphics/rom_browser.png
docs/graphics/rom_browser.png
docs/graphics/rom_browser.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/romaudit.png

2.97 KB | W: | H:

docs/graphics/romaudit.png

3.12 KB | W: | H:

docs/graphics/romaudit.png
docs/graphics/romaudit.png
docs/graphics/romaudit.png
docs/graphics/romaudit.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/rominfo_1x_large.png

31.2 KB | W: | H:

docs/graphics/rominfo_1x_large.png

30.1 KB | W: | H:

docs/graphics/rominfo_1x_large.png
docs/graphics/rominfo_1x_large.png
docs/graphics/rominfo_1x_large.png
docs/graphics/rominfo_1x_large.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/rominfo_1x_small.png

21.7 KB | W: | H:

docs/graphics/rominfo_1x_small.png

20.8 KB | W: | H:

docs/graphics/rominfo_1x_small.png
docs/graphics/rominfo_1x_small.png
docs/graphics/rominfo_1x_small.png
docs/graphics/rominfo_1x_small.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/rominfo_2x_small.png

39.5 KB | W: | H:

docs/graphics/rominfo_2x_small.png

38.2 KB | W: | H:

docs/graphics/rominfo_2x_small.png
docs/graphics/rominfo_2x_small.png
docs/graphics/rominfo_2x_small.png
docs/graphics/rominfo_2x_small.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/secret_quest.png

2.61 KB | W: | H:

docs/graphics/secret_quest.png

2.62 KB | W: | H:

docs/graphics/secret_quest.png
docs/graphics/secret_quest.png
docs/graphics/secret_quest.png
docs/graphics/secret_quest.png
  • 2-up
  • Swipe
  • Onion skin
docs/graphics/space_invaders.png

2.97 KB | W: | H:

docs/graphics/space_invaders.png

2.98 KB | W: | H:

docs/graphics/space_invaders.png
docs/graphics/space_invaders.png
docs/graphics/space_invaders.png
docs/graphics/space_invaders.png
  • 2-up
  • Swipe
  • Onion skin
This diff is collapsed.
......@@ -14,7 +14,7 @@
// See the file "License.txt" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: Array.hxx 2001 2010-04-10 21:37:23Z stephena $
// $Id: Array.hxx 2100 2010-08-19 21:48:28Z stephena $
//
// Based on code from ScummVM - Scumm Interpreter
// Copyright (C) 2002-2004 The ScummVM project
......@@ -71,6 +71,15 @@ class Array
_data[_size++] = array._data[i];
}
void push_back_unique(const T& element)
{
if(!contains(element))
{
ensureCapacity(_size + 1);
_data[_size++] = element;
}
}
void insert_at(int idx, const T& element)
{
assert(idx >= 0 && idx <= _size);
......@@ -191,7 +200,7 @@ class Array
}
};
} // Namespace GUI
} // Namespace Common
typedef Common::Array<int> IntArray;
typedef Common::Array<bool> BoolArray;
......
......@@ -14,7 +14,7 @@
// See the file "License.txt" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: FrameBufferGL.cxx 2003 2010-04-11 13:44:22Z stephena $