[Scummvm-cvs-logs] SF.net SVN: scummvm:[51776] scummvm/branches/gsoc2010-opengl

vgvgf at users.sourceforge.net vgvgf at users.sourceforge.net
Fri Aug 6 05:21:22 CEST 2010


Revision: 51776
          http://scummvm.svn.sourceforge.net/scummvm/?rev=51776&view=rev
Author:   vgvgf
Date:     2010-08-06 03:21:21 +0000 (Fri, 06 Aug 2010)

Log Message:
-----------
Merged from trunk, from r51495 to r51775

Modified Paths:
--------------
    scummvm/branches/gsoc2010-opengl/AUTHORS
    scummvm/branches/gsoc2010-opengl/backends/audiocd/audiocd.h
    scummvm/branches/gsoc2010-opengl/backends/audiocd/default/default-audiocd.cpp
    scummvm/branches/gsoc2010-opengl/backends/audiocd/default/default-audiocd.h
    scummvm/branches/gsoc2010-opengl/backends/platform/ds/arm9/makefile
    scummvm/branches/gsoc2010-opengl/backends/platform/ds/arm9/source/portdefs.h
    scummvm/branches/gsoc2010-opengl/backends/platform/ds/ds.mk
    scummvm/branches/gsoc2010-opengl/backends/platform/iphone/iphone_video.m
    scummvm/branches/gsoc2010-opengl/backends/platform/n64/README.N64
    scummvm/branches/gsoc2010-opengl/backends/platform/n64/module.mk
    scummvm/branches/gsoc2010-opengl/backends/platform/psp/audio.cpp
    scummvm/branches/gsoc2010-opengl/backends/platform/psp/audio.h
    scummvm/branches/gsoc2010-opengl/backends/platform/psp/display_manager.cpp
    scummvm/branches/gsoc2010-opengl/backends/platform/psp/display_manager.h
    scummvm/branches/gsoc2010-opengl/backends/platform/psp/memory.cpp
    scummvm/branches/gsoc2010-opengl/backends/platform/psp/memory.h
    scummvm/branches/gsoc2010-opengl/backends/platform/psp/thread.cpp
    scummvm/branches/gsoc2010-opengl/backends/platform/psp/thread.h
    scummvm/branches/gsoc2010-opengl/common/algorithm.h
    scummvm/branches/gsoc2010-opengl/common/messages.cpp
    scummvm/branches/gsoc2010-opengl/common/translation.cpp
    scummvm/branches/gsoc2010-opengl/common/translation.h
    scummvm/branches/gsoc2010-opengl/configure
    scummvm/branches/gsoc2010-opengl/dists/engine-data/kyra.dat
    scummvm/branches/gsoc2010-opengl/engines/advancedDetector.cpp
    scummvm/branches/gsoc2010-opengl/engines/advancedDetector.h
    scummvm/branches/gsoc2010-opengl/engines/draci/detection.cpp
    scummvm/branches/gsoc2010-opengl/engines/gob/videoplayer.cpp
    scummvm/branches/gsoc2010-opengl/engines/kyra/detection.cpp
    scummvm/branches/gsoc2010-opengl/engines/kyra/kyra_hof.cpp
    scummvm/branches/gsoc2010-opengl/engines/kyra/kyra_lok.h
    scummvm/branches/gsoc2010-opengl/engines/kyra/kyra_mr.cpp
    scummvm/branches/gsoc2010-opengl/engines/kyra/kyra_v1.cpp
    scummvm/branches/gsoc2010-opengl/engines/kyra/kyra_v2.cpp
    scummvm/branches/gsoc2010-opengl/engines/kyra/kyra_v2.h
    scummvm/branches/gsoc2010-opengl/engines/kyra/lol.cpp
    scummvm/branches/gsoc2010-opengl/engines/kyra/resource.h
    scummvm/branches/gsoc2010-opengl/engines/kyra/saveload.cpp
    scummvm/branches/gsoc2010-opengl/engines/kyra/scene_lol.cpp
    scummvm/branches/gsoc2010-opengl/engines/kyra/screen_lol.cpp
    scummvm/branches/gsoc2010-opengl/engines/kyra/screen_lol.h
    scummvm/branches/gsoc2010-opengl/engines/kyra/screen_v2.cpp
    scummvm/branches/gsoc2010-opengl/engines/kyra/screen_v2.h
    scummvm/branches/gsoc2010-opengl/engines/kyra/sound_intern.h
    scummvm/branches/gsoc2010-opengl/engines/kyra/sound_lok.cpp
    scummvm/branches/gsoc2010-opengl/engines/kyra/sound_lol.cpp
    scummvm/branches/gsoc2010-opengl/engines/kyra/sound_towns.cpp
    scummvm/branches/gsoc2010-opengl/engines/kyra/staticres.cpp
    scummvm/branches/gsoc2010-opengl/engines/kyra/text_hof.cpp
    scummvm/branches/gsoc2010-opengl/engines/kyra/text_lok.cpp
    scummvm/branches/gsoc2010-opengl/engines/kyra/text_mr.cpp
    scummvm/branches/gsoc2010-opengl/engines/kyra/timer_hof.cpp
    scummvm/branches/gsoc2010-opengl/engines/kyra/timer_lok.cpp
    scummvm/branches/gsoc2010-opengl/engines/mohawk/video.cpp
    scummvm/branches/gsoc2010-opengl/engines/queen/queen.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/console.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/console.h
    scummvm/branches/gsoc2010-opengl/engines/sci/detection.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/detection_tables.h
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/features.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/features.h
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/kernel.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/kernel.h
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/kernel_tables.h
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/kfile.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/kgraphics.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/kmath.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/kmisc.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/kmovement.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/kscripts.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/ksound.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/kvideo.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/message.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/savegame.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/seg_manager.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/seg_manager.h
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/segment.h
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/selector.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/selector.h
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/state.h
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/static_selectors.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/vm.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/vm_types.h
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/workarounds.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/engine/workarounds.h
    scummvm/branches/gsoc2010-opengl/engines/sci/graphics/animate.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/graphics/frameout.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/graphics/paint.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/graphics/paint.h
    scummvm/branches/gsoc2010-opengl/engines/sci/graphics/paint16.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/graphics/paint16.h
    scummvm/branches/gsoc2010-opengl/engines/sci/graphics/ports.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/graphics/ports.h
    scummvm/branches/gsoc2010-opengl/engines/sci/graphics/screen.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/graphics/screen.h
    scummvm/branches/gsoc2010-opengl/engines/sci/graphics/text16.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/graphics/text16.h
    scummvm/branches/gsoc2010-opengl/engines/sci/graphics/view.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/graphics/view.h
    scummvm/branches/gsoc2010-opengl/engines/sci/resource.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/resource.h
    scummvm/branches/gsoc2010-opengl/engines/sci/resource_audio.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/resource_intern.h
    scummvm/branches/gsoc2010-opengl/engines/sci/sci.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/sci.h
    scummvm/branches/gsoc2010-opengl/engines/sci/sound/midiparser_sci.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/sound/music.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/sound/soundcmd.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/sound/soundcmd.h
    scummvm/branches/gsoc2010-opengl/engines/sci/video/seq_decoder.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/video/seq_decoder.h
    scummvm/branches/gsoc2010-opengl/engines/sci/video/vmd_decoder.cpp
    scummvm/branches/gsoc2010-opengl/engines/sci/video/vmd_decoder.h
    scummvm/branches/gsoc2010-opengl/engines/scumm/player_nes.cpp
    scummvm/branches/gsoc2010-opengl/engines/scumm/saveload.cpp
    scummvm/branches/gsoc2010-opengl/engines/scumm/scumm.cpp
    scummvm/branches/gsoc2010-opengl/engines/sword1/control.cpp
    scummvm/branches/gsoc2010-opengl/graphics/font.cpp
    scummvm/branches/gsoc2010-opengl/graphics/thumbnail.cpp
    scummvm/branches/gsoc2010-opengl/graphics/thumbnail.h
    scummvm/branches/gsoc2010-opengl/graphics/video/avi_decoder.cpp
    scummvm/branches/gsoc2010-opengl/graphics/video/avi_decoder.h
    scummvm/branches/gsoc2010-opengl/graphics/video/coktelvideo/coktelvideo.cpp
    scummvm/branches/gsoc2010-opengl/graphics/video/coktelvideo/coktelvideo.h
    scummvm/branches/gsoc2010-opengl/graphics/video/dxa_decoder.cpp
    scummvm/branches/gsoc2010-opengl/graphics/video/dxa_decoder.h
    scummvm/branches/gsoc2010-opengl/graphics/video/flic_decoder.cpp
    scummvm/branches/gsoc2010-opengl/graphics/video/flic_decoder.h
    scummvm/branches/gsoc2010-opengl/graphics/video/qt_decoder.cpp
    scummvm/branches/gsoc2010-opengl/graphics/video/qt_decoder.h
    scummvm/branches/gsoc2010-opengl/graphics/video/smk_decoder.cpp
    scummvm/branches/gsoc2010-opengl/graphics/video/smk_decoder.h
    scummvm/branches/gsoc2010-opengl/graphics/video/video_decoder.cpp
    scummvm/branches/gsoc2010-opengl/graphics/video/video_decoder.h
    scummvm/branches/gsoc2010-opengl/gui/GuiManager.cpp
    scummvm/branches/gsoc2010-opengl/gui/ThemeEngine.cpp
    scummvm/branches/gsoc2010-opengl/gui/ThemeEngine.h
    scummvm/branches/gsoc2010-opengl/gui/credits.h
    scummvm/branches/gsoc2010-opengl/gui/options.cpp
    scummvm/branches/gsoc2010-opengl/gui/themes/default.inc
    scummvm/branches/gsoc2010-opengl/gui/themes/scummclassic/classic_layout_lowres.stx
    scummvm/branches/gsoc2010-opengl/gui/themes/scummclassic.zip
    scummvm/branches/gsoc2010-opengl/gui/themes/scummmodern.zip
    scummvm/branches/gsoc2010-opengl/po/ca_ES.po
    scummvm/branches/gsoc2010-opengl/po/de_DE.po
    scummvm/branches/gsoc2010-opengl/po/fr_FR.po
    scummvm/branches/gsoc2010-opengl/po/hu_HU.po
    scummvm/branches/gsoc2010-opengl/po/it_IT.po
    scummvm/branches/gsoc2010-opengl/po/ru_RU.po
    scummvm/branches/gsoc2010-opengl/po/scummvm.pot
    scummvm/branches/gsoc2010-opengl/sound/module.mk
    scummvm/branches/gsoc2010-opengl/sound/softsynth/sid.cpp
    scummvm/branches/gsoc2010-opengl/sound/softsynth/sid.h
    scummvm/branches/gsoc2010-opengl/sound/softsynth/wave6581.cpp
    scummvm/branches/gsoc2010-opengl/tools/create_kyradat/create_kyradat.cpp
    scummvm/branches/gsoc2010-opengl/tools/create_kyradat/create_kyradat.h
    scummvm/branches/gsoc2010-opengl/tools/create_kyradat/games.cpp
    scummvm/branches/gsoc2010-opengl/tools/create_kyradat/tables.cpp
    scummvm/branches/gsoc2010-opengl/tools/create_msvc/create_msvc.cpp
    scummvm/branches/gsoc2010-opengl/tools/credits.pl
    scummvm/branches/gsoc2010-opengl/tools/po2c

Added Paths:
-----------
    scummvm/branches/gsoc2010-opengl/backends/platform/ds/setup-builddirs.sh
    scummvm/branches/gsoc2010-opengl/gui/themes/scummclassic/clR6x12-iso-8859-5.fcc
    scummvm/branches/gsoc2010-opengl/gui/themes/scummclassic/fixed5x8-iso-8859-5.fcc
    scummvm/branches/gsoc2010-opengl/gui/themes/scummclassic/helvb12-iso-8859-5.fcc
    scummvm/branches/gsoc2010-opengl/gui/themes/scummmodern/clR6x12-iso-8859-5.fcc
    scummvm/branches/gsoc2010-opengl/gui/themes/scummmodern/fixed5x8-iso-8859-5.fcc
    scummvm/branches/gsoc2010-opengl/gui/themes/scummmodern/helvb12-iso-8859-5.fcc
    scummvm/branches/gsoc2010-opengl/po/es_ES.po
    scummvm/branches/gsoc2010-opengl/po/uk_UA.po
    scummvm/branches/gsoc2010-opengl/sound/softsynth/fmtowns_pc98/
    scummvm/branches/gsoc2010-opengl/sound/softsynth/fmtowns_pc98/towns_audio.cpp
    scummvm/branches/gsoc2010-opengl/sound/softsynth/fmtowns_pc98/towns_audio.h
    scummvm/branches/gsoc2010-opengl/sound/softsynth/fmtowns_pc98/towns_euphony.cpp
    scummvm/branches/gsoc2010-opengl/sound/softsynth/fmtowns_pc98/towns_euphony.h
    scummvm/branches/gsoc2010-opengl/sound/softsynth/fmtowns_pc98/towns_pc98_driver.cpp
    scummvm/branches/gsoc2010-opengl/sound/softsynth/fmtowns_pc98/towns_pc98_driver.h
    scummvm/branches/gsoc2010-opengl/sound/softsynth/fmtowns_pc98/towns_pc98_fmsynth.cpp
    scummvm/branches/gsoc2010-opengl/sound/softsynth/fmtowns_pc98/towns_pc98_fmsynth.h

Removed Paths:
-------------
    scummvm/branches/gsoc2010-opengl/sound/softsynth/fmtowns_pc98/towns_audio.cpp
    scummvm/branches/gsoc2010-opengl/sound/softsynth/fmtowns_pc98/towns_audio.h
    scummvm/branches/gsoc2010-opengl/sound/softsynth/fmtowns_pc98/towns_euphony.cpp
    scummvm/branches/gsoc2010-opengl/sound/softsynth/fmtowns_pc98/towns_euphony.h
    scummvm/branches/gsoc2010-opengl/sound/softsynth/fmtowns_pc98/towns_pc98_driver.cpp
    scummvm/branches/gsoc2010-opengl/sound/softsynth/fmtowns_pc98/towns_pc98_driver.h
    scummvm/branches/gsoc2010-opengl/sound/softsynth/fmtowns_pc98/towns_pc98_fmsynth.cpp
    scummvm/branches/gsoc2010-opengl/sound/softsynth/fmtowns_pc98/towns_pc98_fmsynth.h

Property Changed:
----------------
    scummvm/branches/gsoc2010-opengl/
    scummvm/branches/gsoc2010-opengl/engines/draci/script.cpp
    scummvm/branches/gsoc2010-opengl/engines/draci/script.h


Property changes on: scummvm/branches/gsoc2010-opengl
___________________________________________________________________
Modified: svn:mergeinfo
   - /scummvm/branches/gsoc2009-draci:41389-44325
/scummvm/trunk:49204-50837,50841-51493
   + /scummvm/branches/gsoc2009-draci:41389-44325
/scummvm/trunk:49204-50837,50841-51493,51495-51775

Modified: scummvm/branches/gsoc2010-opengl/AUTHORS
===================================================================
--- scummvm/branches/gsoc2010-opengl/AUTHORS	2010-08-06 01:36:47 UTC (rev 51775)
+++ scummvm/branches/gsoc2010-opengl/AUTHORS	2010-08-06 03:21:21 UTC (rev 51776)
@@ -339,6 +339,12 @@
     Russian:
        Eugene Sandulenko
 
+    Spanish:
+       Tomas Maidagan
+
+    Ukrainian:
+       Lubomyr Lisen
+
   Websites (design)
   -----------------
      Dobo Balazs           - Website design

Modified: scummvm/branches/gsoc2010-opengl/backends/audiocd/audiocd.h
===================================================================
--- scummvm/branches/gsoc2010-opengl/backends/audiocd/audiocd.h	2010-08-06 01:36:47 UTC (rev 51775)
+++ scummvm/branches/gsoc2010-opengl/backends/audiocd/audiocd.h	2010-08-06 03:21:21 UTC (rev 51776)
@@ -27,6 +27,7 @@
 #define BACKENDS_AUDIOCD_ABSTRACT_H
 
 #include "common/noncopyable.h"
+#include "common/scummsys.h"
 
 /**
 * Abstract Audio CD manager class. Subclasses implement the actual
@@ -45,6 +46,8 @@
 		int start;
 		int duration;
 		int numLoops;
+		int volume;
+		int balance;
 	};
 
 	/**
@@ -72,6 +75,16 @@
 	virtual bool isPlaying() const = 0;
 
 	/**
+	 * Set the audio volume
+	 */
+	virtual void setVolume(byte volume) = 0;
+
+	/**
+	 * Set the speakers balance
+	 */
+	virtual void setBalance(int8 balance) = 0;
+
+	/**
 	 * Stop CD or emulated audio playback.
 	 */
 	virtual void stop() = 0;

Modified: scummvm/branches/gsoc2010-opengl/backends/audiocd/default/default-audiocd.cpp
===================================================================
--- scummvm/branches/gsoc2010-opengl/backends/audiocd/default/default-audiocd.cpp	2010-08-06 01:36:47 UTC (rev 51775)
+++ scummvm/branches/gsoc2010-opengl/backends/audiocd/default/default-audiocd.cpp	2010-08-06 03:21:21 UTC (rev 51776)
@@ -33,6 +33,8 @@
 	_cd.start = 0;
 	_cd.duration = 0;
 	_cd.numLoops = 0;
+	_cd.volume = Audio::Mixer::kMaxChannelVolume;
+	_cd.balance = 0;
 	_mixer = g_system->getMixer();
 	_emulating = false;
 	assert(_mixer);
@@ -70,7 +72,7 @@
 			*/
 			_emulating = true;
 			_mixer->playStream(Audio::Mixer::kMusicSoundType, &_handle,
-			                        Audio::makeLoopingAudioStream(stream, start, end, (numLoops < 1) ? numLoops + 1 : numLoops));
+			                        Audio::makeLoopingAudioStream(stream, start, end, (numLoops < 1) ? numLoops + 1 : numLoops), -1, _cd.volume, _cd.balance);
 		} else {
 			_emulating = false;
 			if (!only_emulate)
@@ -100,6 +102,38 @@
 	}
 }
 
+void DefaultAudioCDManager::setVolume(byte volume) {
+	_cd.volume = volume;
+	if (_emulating) {
+		// Audio CD emulation
+		if (_mixer->isSoundHandleActive(_handle))
+			_mixer->setChannelVolume(_handle, _cd.volume);
+	} else {
+		// Real Audio CD
+		
+		// Unfortunately I can't implement this atm
+		// since SDL doesn't seem to offer an interface method for this.
+
+		// g_system->setVolumeCD(_cd.volume);
+	}
+}
+
+void DefaultAudioCDManager::setBalance(int8 balance) {
+	_cd.balance = balance;
+	if (_emulating) {
+		// Audio CD emulation
+		if (isPlaying())
+			_mixer->setChannelBalance(_handle, _cd.balance);
+	} else {
+		// Real Audio CD
+		
+		// Unfortunately I can't implement this atm
+		// since SDL doesn't seem to offer an interface method for this.
+
+		// g_system->setBalanceCD(_cd.balance);
+	}
+}
+
 void DefaultAudioCDManager::update() {
 	if (_emulating) {
 		// Check whether the audio track stopped playback

Modified: scummvm/branches/gsoc2010-opengl/backends/audiocd/default/default-audiocd.h
===================================================================
--- scummvm/branches/gsoc2010-opengl/backends/audiocd/default/default-audiocd.h	2010-08-06 01:36:47 UTC (rev 51775)
+++ scummvm/branches/gsoc2010-opengl/backends/audiocd/default/default-audiocd.h	2010-08-06 03:21:21 UTC (rev 51776)
@@ -40,6 +40,8 @@
 	void play(int track, int numLoops, int startFrame, int duration, bool only_emulate = false);
 	void stop();
 	bool isPlaying() const;
+	void setVolume(byte volume);
+	void setBalance(int8 balance);
 	void update();
 	virtual Status getStatus() const; // Subclasses should override for better status results
 

Modified: scummvm/branches/gsoc2010-opengl/backends/platform/ds/arm9/makefile
===================================================================
--- scummvm/branches/gsoc2010-opengl/backends/platform/ds/arm9/makefile	2010-08-06 01:36:47 UTC (rev 51775)
+++ scummvm/branches/gsoc2010-opengl/backends/platform/ds/arm9/makefile	2010-08-06 03:21:21 UTC (rev 51776)
@@ -205,7 +205,6 @@
 LD	= arm-eabi-g++
 
 CFLAGS	=	-Wno-multichar -Wall\
-		-Wno-multichar -mcpu=arm9tdmi -mtune=arm9tdmi \
 		-mcpu=arm9tdmi -mtune=arm9tdmi -fomit-frame-pointer\
 		-mthumb-interwork -DUSE_ARM_COSTUME_ASM=1 -DDISABLE_SID
 
@@ -281,7 +280,6 @@
 	$(portdir)/source/blitters_arm.o \
 	$(portdir)/source/cdaudio.o \
 	$(portdir)/source/dsmain.o \
-	$(portdir)/../../../fs/ds/ds-fs.o \
 	$(portdir)/source/gbampsave.o \
 	$(portdir)/source/scummhelp.o \
 	$(portdir)/source/osystem_ds.o \
@@ -297,14 +295,14 @@
 endif
 
 
-DATA_OBJS :=
+DATA_OBJS := \
 	$(portdir)/data/icons.o \
 	$(portdir)/data/keyboard.o \
 	$(portdir)/data/keyboard_pal.o \
 	$(portdir)/data/default_font.o \
 	$(portdir)/data/8x8font_tga.o
 
-FAT_OBJS :=
+FAT_OBJS := \
 	$(portdir)/source/fat/disc_io.o \
 	$(portdir)/source/fat/gba_nds_fat.o \
 	$(portdir)/source/fat/io_fcsr.o \

Modified: scummvm/branches/gsoc2010-opengl/backends/platform/ds/arm9/source/portdefs.h
===================================================================
--- scummvm/branches/gsoc2010-opengl/backends/platform/ds/arm9/source/portdefs.h	2010-08-06 01:36:47 UTC (rev 51775)
+++ scummvm/branches/gsoc2010-opengl/backends/platform/ds/arm9/source/portdefs.h	2010-08-06 03:21:21 UTC (rev 51776)
@@ -26,6 +26,9 @@
 #ifndef _PORTDEFS_H_
 #define _PORTDEFS_H_
 
+// Include ndstypes.h for uint16 etc. typedefs
+#include "nds/ndstypes.h"
+
 // Somebody removed these from scummsys.h, but they're still required, so I'm
 // adding them here in the hope that they'll stay.
 #include <stdio.h>
@@ -49,6 +52,7 @@
 #define STREAM_AUDIO_FROM_DISK
 #endif
 
+// FIXME: What is "NO_DEBUG_MSGS" good for?
 #define NO_DEBUG_MSGS
 
 // This is defined in dsmain.cpp
@@ -65,17 +69,23 @@
 #undef assert
 #endif
 
+#ifdef NDEBUG
+
+#define	assert(e)	((void)0)
+
+#else
+
+// FIXME: Shouldn't assert() also bail out / exit / halt the program? Right now we just
+// print an error message...
 #define assert(s) \
 	do { \
-		if (!(s)) \
+		if (!(s)) { \
 			consolePrintf("Assertion failed: '##s##' at file %s, line %d\n", __FILE__, __LINE__); \
+		} \
 	} while (0)
 
-//#include "ds-fs.h"
+#endif
 
-//#define debug(fmt, ...) consolePrintf(fmt, ##__VA_ARGS__)
-//#define debug(fmt, ...) debug(0, fmt, ##__VA_ARGS__)
-
 // FIXME: Since I can't change the engine at the moment (post lockdown) this define can go here.
 // This define changes the mouse-relative motion which doesn't make sense on a touch screen to
 // a more conventional form of input where the menus can be clicked on.

Modified: scummvm/branches/gsoc2010-opengl/backends/platform/ds/ds.mk
===================================================================
--- scummvm/branches/gsoc2010-opengl/backends/platform/ds/ds.mk	2010-08-06 01:36:47 UTC (rev 51775)
+++ scummvm/branches/gsoc2010-opengl/backends/platform/ds/ds.mk	2010-08-06 03:21:21 UTC (rev 51776)
@@ -75,7 +75,7 @@
 
 
 # Compiler options for files which should be optimised for speed
-OPT_SPEED := -O3
+OPT_SPEED := -O3 -mno-thumb
 
 # Compiler options for files which should be optimised for space
 OPT_SIZE := -Os -mthumb
@@ -83,31 +83,46 @@
 # By default optimize for size
 CXXFLAGS += $(OPT_SIZE)
 
-# Files listed below will be optimisied for speed, otherwise they will be optimised for space
-# TODO: speed original list contained three more files that should be optimized
-# for speed: actor.cpp gfx.cpp sprite.cpp -- but there are many files with these
-# names, which are the "right" ones?
+# Files listed below will be optimisied for speed, otherwise they will be optimised for space.
+# TODO: Several of these files probably should not be optimized for speed, but for now
+# we replicate the *precise* list from the old DS makefile, to ensure full compatibility.
+# Eventually, we should tune this list.
+$(ndsdir)/arm9/source/blitters.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
 $(ndsdir)/arm9/source/dsmain.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
 $(ndsdir)/arm9/source/osystem_ds.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
-$(ndsdir)/arm9/source/blitters.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
-$(ndsdir)/arm9/source/ds_main.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
-engines/saga/isomap.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+base/main.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
 sound/rate.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+sound/softsynth/opl/mame.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+engines/agi/sprite.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+engines/agos/gfx.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+engines/agos/script.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+engines/cine/gfx.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+engines/cruise/actor.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+engines/cruise/script.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+engines/draci/script.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+engines/draci/sprite.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+engines/gob/script.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+engines/groovie/script.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+engines/kyra/script.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+engines/m4/actor.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+engines/m4/script.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+engines/m4/sprite.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+engines/made/script.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+engines/saga/actor_path.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
 engines/saga/actor_walk.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
-engines/saga/actor_path.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+engines/saga/actor.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+engines/saga/gfx.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
 engines/saga/image.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
-sound/fmopl.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
-engines/saga/actor.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+engines/saga/isomap.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+engines/saga/script.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+engines/saga/sprite.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+engines/sci/engine/script.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
 engines/scumm/actor.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
-engines/m4/actor.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
 engines/scumm/gfx.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
-engines/cine/gfx.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
-engines/agos/gfx.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
-engines/saga/gfx.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
-engines/saga/sprite.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
-engines/m4/sprite.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
-engines/agi/sprite.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
-# TODO: Fingolfin says: optimizing staticres for size would
+engines/scumm/script.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+engines/sword2/sprite.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+engines/teenagent/actor.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
+# TODO: Fingolfin says: optimizing kyra/staticres.o for size would
 # save about 30k, so maybe consider that?
 #engines/kyra/staticres.o: CXXFLAGS:=$(CXXFLAGS) $(OPT_SPEED)
 

Copied: scummvm/branches/gsoc2010-opengl/backends/platform/ds/setup-builddirs.sh (from rev 51775, scummvm/trunk/backends/platform/ds/setup-builddirs.sh)
===================================================================
--- scummvm/branches/gsoc2010-opengl/backends/platform/ds/setup-builddirs.sh	                        (rev 0)
+++ scummvm/branches/gsoc2010-opengl/backends/platform/ds/setup-builddirs.sh	2010-08-06 03:21:21 UTC (rev 51776)
@@ -0,0 +1,57 @@
+#!/bin/sh
+
+# TODO: Allow specifying (a list of) build ids (a, b, ...) on the command line.
+# TODO: Allow overriding the LOGO variable
+
+# TODO: Computer srcdir in a better way
+srcdir=../../../`dirname $0`/..
+
+BASE_PARAM="--host=ds --disable-translation --disable-debug --disable-all-engines"
+
+for build in a b c d e f g h i k; do
+	echo "--- Setting up build $build ---"
+	mkdir -p build-$build && cd build-$build
+	case $build in
+	a)
+		EXTRA_PARAM="--enable-scumm"
+		;;
+	b)
+		EXTRA_PARAM="--enable-sky --enable-queen"
+		;;
+	c)
+		EXTRA_PARAM="--enable-agos"
+		;;
+	d)
+		EXTRA_PARAM="--enable-gob --enable-cine --enable-agi"
+		;;
+	e)
+		EXTRA_PARAM="--enable-saga --disable-mad"
+		;;
+	f)
+		EXTRA_PARAM="--enable-kyra --disable-mad"
+		;;
+	g)
+		EXTRA_PARAM="--enable-lure"
+		;;
+	h)
+		EXTRA_PARAM="--enable-parallaction"
+		;;
+	i)
+		EXTRA_PARAM="--enable-made --disable-mad"
+		;;
+	k)
+		EXTRA_PARAM="--enable-cruise --disable-mad"
+		;;
+	*)
+		echo "Invalid build $build selected"
+		exit 1
+		;;
+	esac
+
+	defname="DS_BUILD_`echo $build | tr '[a-z]' '[A-Z]'`"
+	CPPFLAGS="$CPPFLAGS -D$defname"
+	$srcdir/configure $BASE_PARAM $EXTRA_PARAM
+	cd ..
+	echo DONE
+	echo
+done

Modified: scummvm/branches/gsoc2010-opengl/backends/platform/iphone/iphone_video.m
===================================================================
--- scummvm/branches/gsoc2010-opengl/backends/platform/iphone/iphone_video.m	2010-08-06 01:36:47 UTC (rev 51775)
+++ scummvm/branches/gsoc2010-opengl/backends/platform/iphone/iphone_video.m	2010-08-06 03:21:21 UTC (rev 51776)
@@ -276,7 +276,7 @@
 
 	glGenTextures(1, &_screenTexture);
 	glBindTexture(GL_TEXTURE_2D, _screenTexture);
-	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
 
 	if (_textureBuffer) {
 		free(_textureBuffer);

Modified: scummvm/branches/gsoc2010-opengl/backends/platform/n64/README.N64
===================================================================
--- scummvm/branches/gsoc2010-opengl/backends/platform/n64/README.N64	2010-08-06 01:36:47 UTC (rev 51775)
+++ scummvm/branches/gsoc2010-opengl/backends/platform/n64/README.N64	2010-08-06 03:21:21 UTC (rev 51776)
@@ -13,6 +13,8 @@
 
 Build cart images from sources
 ==============================
+You can download hkz-libn64 sources from here: http://hkzlab.ipv7.net/consoles.html
+hkz-libn64 is a library to control Nintendo64 hardware (es, video, audio, input, etc.).
 * TODO *
 
 Build cart images from binaries

Modified: scummvm/branches/gsoc2010-opengl/backends/platform/n64/module.mk
===================================================================
--- scummvm/branches/gsoc2010-opengl/backends/platform/n64/module.mk	2010-08-06 01:36:47 UTC (rev 51775)
+++ scummvm/branches/gsoc2010-opengl/backends/platform/n64/module.mk	2010-08-06 03:21:21 UTC (rev 51776)
@@ -1,7 +1,12 @@
 MODULE := backends/platform/n64
 
 MODULE_OBJS := \
-	nintendo64.o
+	nintendo64.o \
+	osys_n64_base.o \
+	osys_n64_events.o \
+	osys_n64_utilities.o \
+	pakfs_save_manager.o \
+	framfs_save_manager.o 
 
 # We don't use rules.mk but rather manually update OBJS and MODULE_DIRS.
 MODULE_OBJS := $(addprefix $(MODULE)/, $(MODULE_OBJS))

Modified: scummvm/branches/gsoc2010-opengl/backends/platform/psp/audio.cpp
===================================================================
--- scummvm/branches/gsoc2010-opengl/backends/platform/psp/audio.cpp	2010-08-06 01:36:47 UTC (rev 51775)
+++ scummvm/branches/gsoc2010-opengl/backends/platform/psp/audio.cpp	2010-08-06 03:21:21 UTC (rev 51776)
@@ -28,7 +28,6 @@
  
 #include "common/scummsys.h" 
 #include "backends/platform/psp/audio.h"
-#include "backends/platform/psp/thread.h"
 
 //#define __PSP_DEBUG_FUNCS__	/* For debugging function calls */
 //#define __PSP_DEBUG_PRINT__	/* For debug printouts */
@@ -85,43 +84,13 @@
 	_init = true;
 	_paused = true;	// start in paused mode
 	
-	createThread();
+	threadCreateAndStart("audioThread", PRIORITY_AUDIO_THREAD, STACK_AUDIO_THREAD);	// start the consumer thread
 	
 	return true;
 }
 
-bool PspAudio::createThread() {
-	DEBUG_ENTER_FUNC();
-	int threadId = sceKernelCreateThread("audioThread", thread, PRIORITY_AUDIO_THREAD, STACK_AUDIO_THREAD, THREAD_ATTR_USER, 0); 
-	
-	if (threadId < 0) {	// error
-		PSP_ERROR("failed to create audio thread. Error code %d\n", threadId);
-		return false;
-	}
-	
-	PspAudio *_this = this;	// trick to get into context when the thread starts
-	
-	if (sceKernelStartThread(threadId, sizeof(uint32 *), &_this) < 0) {
-		PSP_ERROR("failed to start thread %d\n", threadId);
-		return false;
-	}
-	
-	PSP_DEBUG_PRINT("created audio thread[%x]\n", threadId);
-	
-	return true;
-}
-
-// Static function to be called upon thread startup. Will call a non-static function	
-int PspAudio::thread(SceSize, void *__this) {
-	DEBUG_ENTER_FUNC();
-	PspAudio *_this = *(PspAudio **)__this;		// get our this for the context
-	
-	_this->audioThread();
-	return 0;
-};
-
 // The real thread function
-void PspAudio::audioThread() {	
+void PspAudio::threadFunction() {	
 	assert(_callback);
 	PSP_DEBUG_PRINT_FUNC("audio thread started\n");
 
@@ -129,15 +98,15 @@
 		if (_paused)
 			PSP_DEBUG_PRINT("audio thread paused\n");
 		while (_paused) {	// delay until we stop pausing
-			sceKernelDelayThread(100000);	// 100ms
+			PspThread::delayMicros(100000);	// 100ms
 			if (!_paused)
 				PSP_DEBUG_PRINT("audio thread unpaused\n");
 		}
 
-		PSP_DEBUG_PRINT("remaining samples[%d]\n", remainingSamples);
+		PSP_DEBUG_PRINT("remaining samples[%d]\n", _remainingSamples);
 
 		PSP_DEBUG_PRINT("filling buffer[%d]\n", _bufferToFill);
-		_callback(_userData, _buffers[_bufferToFill], _bufferSize); // ask mixer to fill in
+		_callback(_userData, _buffers[_bufferToFill], _bufferSize); // ask mixer to fill in data
 		nextBuffer(_bufferToFill);
 		
 		PSP_DEBUG_PRINT("playing buffer[%d].\n", _bufferToPlay);
@@ -151,7 +120,7 @@
 	PSP_DEBUG_PRINT("audio thread exiting. ****************************\n");
 }
 
-// Much faster than using %
+// Much faster than using %, especially with conditional moves (MIPS)
 inline void PspAudio::nextBuffer(int &bufferIdx) {
 	DEBUG_ENTER_FUNC();
 	bufferIdx++;
@@ -176,6 +145,6 @@
 }
 
 void PspAudio::close() {
-	PSP_DEBUG_PRINT("close had been called ***************\n");
+	PSP_DEBUG_PRINT("close has been called ***************\n");
 	_init = false; 
 }

Modified: scummvm/branches/gsoc2010-opengl/backends/platform/psp/audio.h
===================================================================
--- scummvm/branches/gsoc2010-opengl/backends/platform/psp/audio.h	2010-08-06 01:36:47 UTC (rev 51775)
+++ scummvm/branches/gsoc2010-opengl/backends/platform/psp/audio.h	2010-08-06 03:21:21 UTC (rev 51776)
@@ -26,13 +26,15 @@
 #ifndef PSP_AUDIO_H
 #define PSP_AUDIO_H
 
-class PspAudio {
+#include "backends/platform/psp/thread.h"
+
+class PspAudio : public PspThreadable {
 public:
 	enum {
 		NUM_BUFFERS = 2,
 		FREQUENCY = 44100	/* only frequency we allow */
 	};
-	typedef void (* callbackFunc)(void *userData, byte *samples, int len);
+	typedef void (* callbackFunc)(void *userData, byte *samples, int len);	// audio callback to call
 	PspAudio() : _pspChannel(0), 
 			_numOfChannels(0), _numOfSamples(0), _callback(0), 
 			_bufferToPlay(0), _bufferToFill(0), 
@@ -43,14 +45,12 @@
 	~PspAudio() { close(); }
 	bool playBuffer();
 	void nextBuffer(int &bufferIdx);
-	static int thread(SceSize, void *);
-	void audioThread();
 	bool open(uint32 freq, uint32 numOfChannels, uint32 numOfSamples, callbackFunc callback, void *userData);
-	bool createThread();
 	void close();
 	uint32 getFrequency() { return FREQUENCY; }
 	void pause() { _paused = true; }
 	void unpause() { _paused = false; }
+	virtual void threadFunction();	// actual audio thread
 	
 private:
 	int _pspChannel;				// chosen hardware output channel

Modified: scummvm/branches/gsoc2010-opengl/backends/platform/psp/display_manager.cpp
===================================================================
--- scummvm/branches/gsoc2010-opengl/backends/platform/psp/display_manager.cpp	2010-08-06 01:36:47 UTC (rev 51775)
+++ scummvm/branches/gsoc2010-opengl/backends/platform/psp/display_manager.cpp	2010-08-06 03:21:21 UTC (rev 51776)
@@ -34,7 +34,6 @@
 #include "backends/platform/psp/default_display_client.h"
 #include "backends/platform/psp/cursor.h"
 #include "backends/platform/psp/pspkeyboard.h"
-#include "backends/platform/psp/thread.h"
 
 #define USE_DISPLAY_CALLBACK	// to use callback for finishing the render
 #include "backends/platform/psp/display_manager.h"
@@ -65,37 +64,24 @@
 
 void MasterGuRenderer::setupCallbackThread() {
 	DEBUG_ENTER_FUNC();
-	int thid = sceKernelCreateThread("displayCbThread", guCallbackThread, PRIORITY_DISPLAY_THREAD, STACK_DISPLAY_THREAD, THREAD_ATTR_USER, 0);
 	
-	PSP_DEBUG_PRINT("Display CB thread id is %x\n", thid);
-	
-	// We want to pass the pointer to this, but we'll have to take address of this so use a little trick
-	MasterGuRenderer *_this = this;
-	
-	if (thid >= 0) {
-		sceKernelStartThread(thid, sizeof(uint32 *), &_this);
-	} else 
-		PSP_ERROR("failed to create display callback thread\n");
+	// start the thread that updates the display
+	threadCreateAndStart("DisplayCbThread", PRIORITY_DISPLAY_THREAD, STACK_DISPLAY_THREAD);		
 }
 
-// thread that reacts to the callback
-int MasterGuRenderer::guCallbackThread(SceSize, void *__this) {
+// this function gets called by PspThread when starting the new thread
+void MasterGuRenderer::threadFunction() {
 	DEBUG_ENTER_FUNC();
 	
-	// Dereferenced the copied value which was this
-	MasterGuRenderer *_this = *(MasterGuRenderer **)__this;
-	
 	// Create the callback. It should always get the pointer to MasterGuRenderer
-	_this->_callbackId = sceKernelCreateCallback("Display Callback", guCallback, _this);
-	if (_this->_callbackId < 0) {
-		PSP_ERROR("failed to create display callback\n");
-		return -1;
+	_callbackId = sceKernelCreateCallback("Display Callback", guCallback, this);
+	if (_callbackId < 0) {
+		PSP_ERROR("failed to create display callback\n");		
 	}
 	
 	PSP_DEBUG_PRINT("created callback. Going to sleep\n");
 
-	sceKernelSleepThreadCB();	// sleep until we get a callback
-	return 0;
+	sceKernelSleepThreadCB();	// sleep until we get a callback	
 }
 
 // This callback is called when the render is finished. It swaps the buffers

Modified: scummvm/branches/gsoc2010-opengl/backends/platform/psp/display_manager.h
===================================================================
--- scummvm/branches/gsoc2010-opengl/backends/platform/psp/display_manager.h	2010-08-06 01:36:47 UTC (rev 51775)
+++ scummvm/branches/gsoc2010-opengl/backends/platform/psp/display_manager.h	2010-08-06 03:21:21 UTC (rev 51776)
@@ -26,10 +26,12 @@
 #ifndef PSP_DISPLAY_MAN_H
 #define PSP_DISPLAY_MAN_H
 
+#include "backends/platform/psp/thread.h"
+
 /**
  *	Class used only by DisplayManager to start/stop GU rendering
  */
-class MasterGuRenderer {
+class MasterGuRenderer : public PspThreadable {
 public:
 	MasterGuRenderer() : _lastRenderTime(0), _renderFinished(true), _callbackId(-1) {}
 	void guInit();
@@ -37,15 +39,15 @@
 	void guPostRender();
 	void guShutDown();
 	bool isRenderFinished() { return _renderFinished; }
-	void setupCallbackThread();
+	void setupCallbackThread();	
 private:
+	virtual void threadFunction();			// for the display callback thread
 	static uint32 _displayList[];
 	uint32 _lastRenderTime;					// For measuring rendering time
 	void guProgramDisplayBufferSizes();
-	static int guCallbackThread(SceSize, void *);	// for the graphics callbacks
-	static int guCallback(int, int, void *__this);
+	static int guCallback(int, int, void *__this);	// for the display callback
 	bool _renderFinished;					// for sync with render callback
-	int _callbackId;						// to keep track of render callback
+	int _callbackId;						// to keep track of render callback	
 };
 
 class Screen;

Modified: scummvm/branches/gsoc2010-opengl/backends/platform/psp/memory.cpp
===================================================================
--- scummvm/branches/gsoc2010-opengl/backends/platform/psp/memory.cpp	2010-08-06 01:36:47 UTC (rev 51775)
+++ scummvm/branches/gsoc2010-opengl/backends/platform/psp/memory.cpp	2010-08-06 03:21:21 UTC (rev 51776)
@@ -39,9 +39,17 @@
 
 extern "C" {
 
+#ifdef TEST_MEMORY_COPY		/* we won't be able to run in this case b/c of printouts */
+extern void *__real_memcpy(void *dst, void *src, size_t bytes);
+#endif
+
 void *__wrap_memcpy(void *dst, void *src, size_t bytes) {
+#ifdef TEST_MEMORY_COPY		/* we won't be able to run in this case */
+	return __real_memcpy(dst, src, bytes);
+#else
 	PspMemory::fastCopy((byte *)dst, (byte *)src, bytes);
 	return dst;
+#endif
 }
 
 }
@@ -291,43 +299,31 @@
 	PSP_DEBUG_PRINT("copy32Misaligned: dst32[%p], src[%p], bytes[%d], alignSrc[%d]\n", dst32, src, bytes, alignSrc);
 	
 	uint32 *src32 = (uint32 *)(((uint32)src) & 0xFFFFFFFC);	// remove misalignment
-	uint32 offset;
+	uint32 shiftValue, lastShiftValue;
 	
 	switch (alignSrc) {
 	case 1:
-		offset = misaligned32Detail(dst32, src32, bytes, alignSrc, 8, 24);
+		shiftValue = 8;
+		lastShiftValue = 24;
 		break;
 	case 2:
-		offset = misaligned32Detail(dst32, src32, bytes, alignSrc, 16, 16);
+		shiftValue = 16;
+		lastShiftValue = 16;
 		break;
 	default: /* 3 */
-		offset = misaligned32Detail(dst32, src32, bytes, alignSrc, 24, 8);
+		shiftValue = 24;
+		lastShiftValue = 8;
 		break;
 	}
-	
-	uint32 remainingBytes = bytes & 3;
-	
-	if (remainingBytes) {
-		byte *dst = (byte *)dst32;
-		src += offset;
-		dst += offset;
-		copy8(dst, src, remainingBytes);
-	}	
-}
 
-// returns offset in dst
-uint32 PspMemory::misaligned32Detail(uint32 *dst32, uint32 *src32, uint32 bytes, uint32 alignSrc, const uint32 shiftValue, const uint32 lastShiftValue) {
-	uint32 *origDst32 = dst32;
-	register uint32 dstWord, srcWord;
-	
-	PSP_DEBUG_PRINT("misaligned32Detail(): alignSrc[%d], dst32[%p], src32[%p], bytes[%d]\n", alignSrc, dst32, src32, bytes);
-	
+	uint32 dstWord, srcWord;
+
 	// Try to do groups of 4 words
 	uint32 words4 = bytes >> 4;
 	
-	srcWord = src32[0];
-
-	while (words4--) {
+	srcWord = *src32;		// preload 1st word so we read ahead
+	
+	for (; words4; words4--) {
 		dstWord = srcWord >> shiftValue;
 		srcWord = src32[1];
 		dstWord |= srcWord << lastShiftValue;
@@ -348,22 +344,29 @@
 		dst32 += 4;
 	}
 	
-	uint32 words = (bytes & 0xF) >> 2;
+	uint32 words = (bytes & 0xF) >> 2;	// now get remaining words
 	
 	// we read one word ahead of what we write
 	// setup the first read
-	if (words) {
-		src32++;	// we already loaded the value, so just increment
+	
+	for (; words ;words--) {
+		dstWord = srcWord >> shiftValue;
+		srcWord = src32[1];				// we still go one ahead
+		src32++;
+		dstWord |= srcWord << lastShiftValue;
+		*dst32++ = dstWord;
+	}
+	
+	uint32 bytesLeft = bytes & 3;	// and remaining bytes
 		
-		while (words--) {
-			dstWord = srcWord >> shiftValue;
-			srcWord = *src32++;
-			dstWord |= srcWord << lastShiftValue;
-			*dst32++ = dstWord;
+	if (bytesLeft) {
+		byte *dst8 = (byte *)dst32;
+		byte *src8 = ((byte *)src32) + ((uint32)src & 0x3);	// get exact location we should be at
+
+		for(; bytesLeft; bytesLeft--) {
+			*dst8++ = *src8++;
 		}
 	}
-	
-	return (byte *)dst32 - (byte *)origDst32;
 }
 
 // More challenging -- need to shift

Modified: scummvm/branches/gsoc2010-opengl/backends/platform/psp/memory.h
===================================================================
--- scummvm/branches/gsoc2010-opengl/backends/platform/psp/memory.h	2010-08-06 01:36:47 UTC (rev 51775)
+++ scummvm/branches/gsoc2010-opengl/backends/platform/psp/memory.h	2010-08-06 03:21:21 UTC (rev 51776)
@@ -52,7 +52,6 @@
 	static void copy32Aligned(uint32 *dst32, const uint32 *src32, uint32 bytes);
 	static void swap32Aligned(uint32 *dst32, const uint32 *src32, uint32 bytes, PSPPixelFormat &format);
 	static void copy32Misaligned(uint32 *dst32, const byte *src, uint32 bytes, uint32 alignSrc);
-	static uint32 misaligned32Detail(uint32 *dst32, uint32 *src32, uint32 bytes, uint32 alignSrc, const uint32 shiftValue, const uint32 lastShiftValue);
 	static void swap32Misaligned(uint32 *dst32, const uint16 *src16, uint32 bytes, PSPPixelFormat &format);
 	static void copy16(uint16 *dst, const uint16 *src, uint32 bytes);
 

Modified: scummvm/branches/gsoc2010-opengl/backends/platform/psp/thread.cpp
===================================================================
--- scummvm/branches/gsoc2010-opengl/backends/platform/psp/thread.cpp	2010-08-06 01:36:47 UTC (rev 51775)
+++ scummvm/branches/gsoc2010-opengl/backends/platform/psp/thread.cpp	2010-08-06 03:21:21 UTC (rev 51776)
@@ -28,7 +28,50 @@
 #include "backends/platform/psp/thread.h"
 #include "backends/platform/psp/trace.h"
  
-// Class PspThread -------------------------------------------------- 
+// Class PspThreadable -------------------------------------------------- 
+// Inherit this to create C++ threads easily
+
+bool PspThreadable::threadCreateAndStart(const char *threadName, int priority, int stackSize, bool useVfpu /*= false*/) {
+	DEBUG_ENTER_FUNC();
+
+	if (_threadId != -1) {
+		PSP_ERROR("thread already created!\n");
+		return false;
+	}
+		
+	_threadId = sceKernelCreateThread(threadName, __threadCallback, priority, stackSize, THREAD_ATTR_USER, 0);	// add VFPU support
+
+	if (_threadId < 0) {
+		PSP_ERROR("failed to create %s thread. Error code %d\n", threadName, _threadId);
+		return false;
+	}
+	
+	// We want to pass the pointer to this, but we'll have to take address of this so use a little trick
+	PspThreadable *_this = this;
+	
+	if (sceKernelStartThread(_threadId, sizeof(uint32 *), &_this) < 0) {
+		PSP_ERROR("failed to start %s thread id[%d]\n", threadName, _threadId);
+		return false;
+	}
+	
+	PSP_DEBUG_PRINT("Started %s thread with id[%x]\n", threadName, _threadId);	
+	
+	return true;
+}
+
+// Callback function to be called by PSP kernel
+int PspThreadable::__threadCallback(SceSize, void *__this) {
+	DEBUG_ENTER_FUNC();
+	
+	PspThreadable *_this = *(PspThreadable **)__this;	// Dereference the copied value which was 'this'
+	
+	_this->threadFunction();	// call the virtual function
+	
+	return 0;
+}
+
+// PspThread class
+// Utilities to access general thread functions
  
 void PspThread::delayMillis(uint32 ms) {
 	sceKernelDelayThread(ms * 1000);

Modified: scummvm/branches/gsoc2010-opengl/backends/platform/psp/thread.h
===================================================================
--- scummvm/branches/gsoc2010-opengl/backends/platform/psp/thread.h	2010-08-06 01:36:47 UTC (rev 51775)
+++ scummvm/branches/gsoc2010-opengl/backends/platform/psp/thread.h	2010-08-06 03:21:21 UTC (rev 51776)
@@ -26,11 +26,26 @@
 #ifndef PSP_THREAD_H
 #define PSP_THREAD_H
 
+#include <pspthreadman.h>
 #include "common/scummsys.h"
 
+// class to inherit for creating threads
+class PspThreadable {
+protected:
+	int _threadId;
+	virtual void threadFunction() = 0;	// this function will be called when the thread starts
+public:	
+	PspThreadable() : _threadId(-1) {}					// constructor
+	virtual ~PspThreadable() {}							// destructor
+	static int __threadCallback(SceSize, void *__this);	// used to get called by sceKernelStartThread() Don't override
+	bool threadCreateAndStart(const char *threadName, int priority, int stackSize, bool useVfpu = false);
+};
+
+// class for thread utils
 class PspThread {
-public:
-	static void delayMillis(uint32 ms);
+public:	
+	// static functions
+	static void delayMillis(uint32 ms);	// delay the current thread
 	static void delayMicros(uint32 us);
 };
 
@@ -85,6 +100,7 @@
 };
 
 enum StackSizes {
+	STACK_DEFAULT = 4 * 1024,
 	STACK_AUDIO_THREAD = 16 * 1024,
 	STACK_TIMER_THREAD = 32 * 1024,
 	STACK_DISPLAY_THREAD = 2 * 1024,

Modified: scummvm/branches/gsoc2010-opengl/common/algorithm.h
===================================================================
--- scummvm/branches/gsoc2010-opengl/common/algorithm.h	2010-08-06 01:36:47 UTC (rev 51775)
+++ scummvm/branches/gsoc2010-opengl/common/algorithm.h	2010-08-06 03:21:21 UTC (rev 51776)
@@ -197,6 +197,21 @@
 /**
  * Simple sort function, modeled after std::sort.
  * It compares data with the given comparator object comp.
+ *
+ * Like std::sort this is not guaranteed to be stable.
+ *
+ * Two small quotes from wikipedia about stability:
+ *
+ * Stable sorting algorithms maintain the relative order of records with
+ * equal keys.
+ *
+ * Unstable sorting algorithms may change the relative order of records with
+ * equal keys, but stable sorting algorithms never do so.
+ *
+ * For more information on that topic check out:
+ * http://en.wikipedia.org/wiki/Sorting_algorithm#Stability
+ *
+ * NOTE: Actually as the time of writing our implementation is unstable.
  */
 template<typename T, class StrictWeakOrdering>
 void sort(T first, T last, StrictWeakOrdering comp) {

Modified: scummvm/branches/gsoc2010-opengl/common/messages.cpp
===================================================================
--- scummvm/branches/gsoc2010-opengl/common/messages.cpp	2010-08-06 01:36:47 UTC (rev 51775)
+++ scummvm/branches/gsoc2010-opengl/common/messages.cpp	2010-08-06 03:21:21 UTC (rev 51776)
@@ -128,193 +128,195 @@
 	/* 124 */ "MAME OPL emulator",
 	/* 125 */ "MIDI",
 	/* 126 */ "MIDI gain:",
-	/* 127 */ "MT-32 Device:",
-	/* 128 */ "MT-32 Emulator",
-	/* 129 */ "Main screen scaling:",
-	/* 130 */ "Map",
-	/* 131 */ "Mass Add...",
-	/* 132 */ "Menu",
-	/* 133 */ "Misc",
-	/* 134 */ "Mixed AdLib/MIDI mode",
-	/* 135 */ "Mount DVD",
-	/* 136 */ "Mount SMB",
-	/* 137 */ "Mouse click",
-	/* 138 */ "Multi Function",
-	/* 139 */ "Music Device:",
-	/* 140 */ "Music volume:",
-	/* 141 */ "Mute All",
-	/* 142 */ "Name:",
-	/* 143 */ "Network down",
-	/* 144 */ "Network not initialsed (%d)",
-	/* 145 */ "Network up",
-	/* 146 */ "Network up, share mounted",
-	/* 147 */ "Never",
-	/* 148 */ "No",
-	/* 149 */ "No date saved",
-	/* 150 */ "No music",
-	/* 151 */ "No playtime saved",
-	/* 152 */ "No time saved",
-	/* 153 */ "None",
-	/* 154 */ "Normal (no scaling)",
-	/* 155 */ "OK",
-	/* 156 */ "Output rate:",
-	/* 157 */ "Override global MIDI settings",
-	/* 158 */ "Override global audio settings",
-	/* 159 */ "Override global graphic settings",
-	/* 160 */ "Override global volume settings",
-	/* 161 */ "PC Speaker Emulator",
-	/* 162 */ "Password:",
-	/* 163 */ "Path not a directory",
-	/* 164 */ "Path not a file",
-	/* 165 */ "Path not exists",
-	/* 166 */ "Paths",
-	/* 167 */ "Pause",
-	/* 168 */ "Pick the game:",
-	/* 169 */ "Platform the game was originally designed for",
-	/* 170 */ "Platform:",
-	/* 171 */ "Playtime: ",
-	/* 172 */ "Please select an action",
-	/* 173 */ "Plugins Path:",
-	/* 174 */ "Preferred Device:",
-	/* 175 */ "Press the key to associate",
-	/* 176 */ "Quit",
-	/* 177 */ "Quit ScummVM",
-	/* 178 */ "Read permission denied",
-	/* 179 */ "Reading failed",
-	/* 180 */ "Remap keys",
-	/* 181 */ "Remove game from the list. The game data files stay intact",
-	/* 182 */ "Render mode:",
-	/* 183 */ "Right",
-	/* 184 */ "Right Click",
-	/* 185 */ "Right click",
-	/* 186 */ "Rotate",
-	/* 187 */ "SFX volume:",
-	/* 188 */ "SMB",
-	/* 189 */ "Save",
-	/* 190 */ "Save Path:",
-	/* 191 */ "Save Path: ",
-	/* 192 */ "Save game:",
-	/* 193 */ "Scan complete!",
-	/* 194 */ "Scanned %d directories ...",
-	/* 195 */ "ScummVM Main Menu",
-	/* 196 */ "ScummVM could not find any engine capable of running the selected game!",
-	/* 197 */ "ScummVM could not find any game in the specified directory!",
-	/* 198 */ "ScummVM couldn't open the specified directory!",
-	/* 199 */ "Search in game list",
-	/* 200 */ "Search:",
-	/* 201 */ "Select SoundFont",
-	/* 202 */ "Select a Theme",
-	/* 203 */ "Select additional game directory",
-	/* 204 */ "Select an action and click 'Map'",
-	/* 205 */ "Select directory for GUI themes",
-	/* 206 */ "Select directory for extra files",
-	/* 207 */ "Select directory for plugins",
-	/* 208 */ "Select directory for saved games",
-	/* 209 */ "Select directory for savegames",
-	/* 210 */ "Select directory with game data",
-	/* 211 */ "Sensitivity",
-	/* 212 */ "Server:",
-	/* 213 */ "Share:",
-	/* 214 */ "Short game identifier used for referring to savegames and running the game from the command line",
-	/* 215 */ "Show Keyboard",
-	/* 216 */ "Show mouse cursor",
-	/* 217 */ "Show subtitles and play speech",
-	/* 218 */ "Show/Hide Cursor",
-	/* 219 */ "Skip",
-	/* 220 */ "Skip line",
-	/* 221 */ "Skip text",
-	/* 222 */ "Snap to edges",
-	/* 223 */ "Software scale (good quality, but slower)",
-	/* 224 */ "Sound on/off",
-	/* 225 */ "SoundFont is supported by some audio cards, Fluidsynth and Timidity",
-	/* 226 */ "SoundFont:",
-	/* 227 */ "Spch",
-	/* 228 */ "Special dithering modes supported by some games",
-	/* 229 */ "Special sound effects volume",
-	/* 230 */ "Specifies default sound device for General MIDI output",
-	/* 231 */ "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output",
-	/* 232 */ "Specifies output sound device or sound card emulator",
-	/* 233 */ "Specifies path to additional data used by all games or ScummVM",
-	/* 234 */ "Specifies path to additional data used the game",
-	/* 235 */ "Specifies preferred sound device or sound card emulator",
-	/* 236 */ "Specifies where your savegames are put",
-	/* 237 */ "Speech",
-	/* 238 */ "Speech volume:",
-	/* 239 */ "Standard Renderer (16bpp)",
-	/* 240 */ "Start selected game",
-	/* 241 */ "Status:",
-	/* 242 */ "Subs",
-	/* 243 */ "Subtitle speed:",
-	/* 244 */ "Subtitles",
-	/* 245 */ "Swap character",
-	/* 246 */ "Tap for left click, double tap right click",
-	/* 247 */ "Text and Speech:",
-	/* 248 */ "The chosen directory cannot be written to. Please select another one.",
-	/* 249 */ "Theme Path:",
-	/* 250 */ "Theme:",
-	/* 251 */ "This game ID is already taken. Please choose another one.",
-	/* 252 */ "This game does not support loading games from the launcher.",
-	/* 253 */ "Time: ",
-	/* 254 */ "Timeout while initialising network",
-	/* 255 */ "Touch X Offset",
-	/* 256 */ "Touch Y Offset",
-	/* 257 */ "Touchpad mode disabled.",
-	/* 258 */ "Touchpad mode enabled.",
-	/* 259 */ "True Roland MT-32 (disable GM emulation)",
-	/* 260 */ "Turns off General MIDI mapping for games with Roland MT-32 soundtrack",
-	/* 261 */ "Unknown",
-	/* 262 */ "Unknown Error",
-	/* 263 */ "Unmount DVD",
-	/* 264 */ "Unmount SMB",
-	/* 265 */ "Unscaled (you must scroll left and right)",
-	/* 266 */ "Unsupported Color Mode",
-	/* 267 */ "Untitled savestate",
-	/* 268 */ "Up",
-	/* 269 */ "Use both MIDI and AdLib sound generation",
-	/* 270 */ "Use laptop trackpad-style cursor control",
-	/* 271 */ "Username:",
-	/* 272 */ "Using SDL driver ",
-	/* 273 */ "Vertical underscan:",
-	/* 274 */ "Video",
-	/* 275 */ "Virtual keyboard",
-	/* 276 */ "Volume",
-	/* 277 */ "Windows MIDI",
-	/* 278 */ "Write permission denied",
-	/* 279 */ "Writing data failed",
-	/* 280 */ "Yes",
-	/* 281 */ "You have to restart ScummVM to take the effect.",
-	/* 282 */ "Zone",
-	/* 283 */ "Zoom down",
-	/* 284 */ "Zoom up",
-	/* 285 */ "every 10 mins",
-	/* 286 */ "every 15 mins",
-	/* 287 */ "every 30 mins",
-	/* 288 */ "every 5 mins",
-	/* 289 */ "~A~bout",
-	/* 290 */ "~A~dd Game...",
-	/* 291 */ "~C~ancel",
-	/* 292 */ "~C~lose",
-	/* 293 */ "~E~dit Game...",
-	/* 294 */ "~H~elp",
-	/* 295 */ "~I~ndy fight controls",
-	/* 296 */ "~K~eys",
-	/* 297 */ "~L~eft handed mode",
-	/* 298 */ "~L~oad",
-	/* 299 */ "~L~oad...",
-	/* 300 */ "~N~ext",
-	/* 301 */ "~O~K",
-	/* 302 */ "~O~ptions",
-	/* 303 */ "~O~ptions...",
-	/* 304 */ "~P~revious",
-	/* 305 */ "~Q~uit",
-	/* 306 */ "~R~emove Game",
-	/* 307 */ "~R~esume",
-	/* 308 */ "~R~eturn to Launcher",
-	/* 309 */ "~S~ave",
-	/* 310 */ "~S~tart",
-	/* 311 */ "~T~ransitions Enabled",
-	/* 312 */ "~W~ater Effect Enabled",
-	/* 313 */ "~Z~ip Mode Activated",
+	/* 127 */ "MT-32",
+	/* 128 */ "MT-32 Device:",
+	/* 129 */ "MT-32 Emulator",
+	/* 130 */ "Main screen scaling:",
+	/* 131 */ "Map",
+	/* 132 */ "Mass Add...",
+	/* 133 */ "Menu",
+	/* 134 */ "Misc",
+	/* 135 */ "Mixed AdLib/MIDI mode",
+	/* 136 */ "Mount DVD",
+	/* 137 */ "Mount SMB",
+	/* 138 */ "Mouse click",
+	/* 139 */ "Multi Function",
+	/* 140 */ "Music Device:",
+	/* 141 */ "Music volume:",
+	/* 142 */ "Mute All",
+	/* 143 */ "Name:",
+	/* 144 */ "Network down",
+	/* 145 */ "Network not initialsed (%d)",
+	/* 146 */ "Network up",
+	/* 147 */ "Network up, share mounted",
+	/* 148 */ "Never",
+	/* 149 */ "No",
+	/* 150 */ "No date saved",
+	/* 151 */ "No music",
+	/* 152 */ "No playtime saved",
+	/* 153 */ "No time saved",
+	/* 154 */ "None",
+	/* 155 */ "Normal (no scaling)",
+	/* 156 */ "OK",
+	/* 157 */ "Output rate:",
+	/* 158 */ "Override global MIDI settings",
+	/* 159 */ "Override global MT-32 settings",
+	/* 160 */ "Override global audio settings",
+	/* 161 */ "Override global graphic settings",
+	/* 162 */ "Override global volume settings",
+	/* 163 */ "PC Speaker Emulator",
+	/* 164 */ "Password:",
+	/* 165 */ "Path not a directory",
+	/* 166 */ "Path not a file",
+	/* 167 */ "Path not exists",
+	/* 168 */ "Paths",
+	/* 169 */ "Pause",
+	/* 170 */ "Pick the game:",
+	/* 171 */ "Platform the game was originally designed for",
+	/* 172 */ "Platform:",
+	/* 173 */ "Playtime: ",
+	/* 174 */ "Please select an action",
+	/* 175 */ "Plugins Path:",
+	/* 176 */ "Preferred Device:",
+	/* 177 */ "Press the key to associate",
+	/* 178 */ "Quit",
+	/* 179 */ "Quit ScummVM",
+	/* 180 */ "Read permission denied",
+	/* 181 */ "Reading failed",
+	/* 182 */ "Remap keys",
+	/* 183 */ "Remove game from the list. The game data files stay intact",
+	/* 184 */ "Render mode:",
+	/* 185 */ "Right",
+	/* 186 */ "Right Click",
+	/* 187 */ "Right click",
+	/* 188 */ "Rotate",
+	/* 189 */ "SFX volume:",
+	/* 190 */ "SMB",
+	/* 191 */ "Save",
+	/* 192 */ "Save Path:",
+	/* 193 */ "Save Path: ",
+	/* 194 */ "Save game:",
+	/* 195 */ "Scan complete!",
+	/* 196 */ "Scanned %d directories ...",
+	/* 197 */ "ScummVM Main Menu",
+	/* 198 */ "ScummVM could not find any engine capable of running the selected game!",
+	/* 199 */ "ScummVM could not find any game in the specified directory!",
+	/* 200 */ "ScummVM couldn't open the specified directory!",
+	/* 201 */ "Search in game list",
+	/* 202 */ "Search:",
+	/* 203 */ "Select SoundFont",
+	/* 204 */ "Select a Theme",
+	/* 205 */ "Select additional game directory",
+	/* 206 */ "Select an action and click 'Map'",
+	/* 207 */ "Select directory for GUI themes",
+	/* 208 */ "Select directory for extra files",
+	/* 209 */ "Select directory for plugins",
+	/* 210 */ "Select directory for saved games",
+	/* 211 */ "Select directory for savegames",
+	/* 212 */ "Select directory with game data",
+	/* 213 */ "Sensitivity",
+	/* 214 */ "Server:",
+	/* 215 */ "Share:",
+	/* 216 */ "Short game identifier used for referring to savegames and running the game from the command line",
+	/* 217 */ "Show Keyboard",
+	/* 218 */ "Show mouse cursor",
+	/* 219 */ "Show subtitles and play speech",
+	/* 220 */ "Show/Hide Cursor",
+	/* 221 */ "Skip",
+	/* 222 */ "Skip line",
+	/* 223 */ "Skip text",
+	/* 224 */ "Snap to edges",
+	/* 225 */ "Software scale (good quality, but slower)",
+	/* 226 */ "Sound on/off",
+	/* 227 */ "SoundFont is supported by some audio cards, Fluidsynth and Timidity",
+	/* 228 */ "SoundFont:",
+	/* 229 */ "Spch",
+	/* 230 */ "Special dithering modes supported by some games",
+	/* 231 */ "Special sound effects volume",
+	/* 232 */ "Specifies default sound device for General MIDI output",
+	/* 233 */ "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output",
+	/* 234 */ "Specifies output sound device or sound card emulator",
+	/* 235 */ "Specifies path to additional data used by all games or ScummVM",
+	/* 236 */ "Specifies path to additional data used the game",
+	/* 237 */ "Specifies preferred sound device or sound card emulator",
+	/* 238 */ "Specifies where your savegames are put",
+	/* 239 */ "Speech",
+	/* 240 */ "Speech volume:",
+	/* 241 */ "Standard Renderer (16bpp)",
+	/* 242 */ "Start selected game",
+	/* 243 */ "Status:",
+	/* 244 */ "Subs",
+	/* 245 */ "Subtitle speed:",
+	/* 246 */ "Subtitles",
+	/* 247 */ "Swap character",
+	/* 248 */ "Tap for left click, double tap right click",
+	/* 249 */ "Text and Speech:",
+	/* 250 */ "The chosen directory cannot be written to. Please select another one.",
+	/* 251 */ "Theme Path:",
+	/* 252 */ "Theme:",
+	/* 253 */ "This game ID is already taken. Please choose another one.",
+	/* 254 */ "This game does not support loading games from the launcher.",
+	/* 255 */ "Time: ",
+	/* 256 */ "Timeout while initialising network",
+	/* 257 */ "Touch X Offset",
+	/* 258 */ "Touch Y Offset",
+	/* 259 */ "Touchpad mode disabled.",
+	/* 260 */ "Touchpad mode enabled.",
+	/* 261 */ "True Roland MT-32 (disable GM emulation)",
+	/* 262 */ "Turns off General MIDI mapping for games with Roland MT-32 soundtrack",
+	/* 263 */ "Unknown",
+	/* 264 */ "Unknown Error",
+	/* 265 */ "Unmount DVD",
+	/* 266 */ "Unmount SMB",
+	/* 267 */ "Unscaled (you must scroll left and right)",
+	/* 268 */ "Unsupported Color Mode",
+	/* 269 */ "Untitled savestate",
+	/* 270 */ "Up",
+	/* 271 */ "Use both MIDI and AdLib sound generation",
+	/* 272 */ "Use laptop trackpad-style cursor control",
+	/* 273 */ "Username:",
+	/* 274 */ "Using SDL driver ",
+	/* 275 */ "Vertical underscan:",
+	/* 276 */ "Video",
+	/* 277 */ "Virtual keyboard",
+	/* 278 */ "Volume",
+	/* 279 */ "Windows MIDI",
+	/* 280 */ "Write permission denied",
+	/* 281 */ "Writing data failed",
+	/* 282 */ "Yes",
+	/* 283 */ "You have to restart ScummVM to take the effect.",
+	/* 284 */ "Zone",
+	/* 285 */ "Zoom down",
+	/* 286 */ "Zoom up",
+	/* 287 */ "every 10 mins",
+	/* 288 */ "every 15 mins",
+	/* 289 */ "every 30 mins",
+	/* 290 */ "every 5 mins",
+	/* 291 */ "~A~bout",
+	/* 292 */ "~A~dd Game...",
+	/* 293 */ "~C~ancel",
+	/* 294 */ "~C~lose",
+	/* 295 */ "~E~dit Game...",
+	/* 296 */ "~H~elp",
+	/* 297 */ "~I~ndy fight controls",
+	/* 298 */ "~K~eys",
+	/* 299 */ "~L~eft handed mode",
+	/* 300 */ "~L~oad",
+	/* 301 */ "~L~oad...",
+	/* 302 */ "~N~ext",
+	/* 303 */ "~O~K",
+	/* 304 */ "~O~ptions",
+	/* 305 */ "~O~ptions...",
+	/* 306 */ "~P~revious",
+	/* 307 */ "~Q~uit",
+	/* 308 */ "~R~emove Game",
+	/* 309 */ "~R~esume",
+	/* 310 */ "~R~eturn to Launcher",
+	/* 311 */ "~S~ave",
+	/* 312 */ "~S~tart",
+	/* 313 */ "~T~ransitions Enabled",
+	/* 314 */ "~W~ater Effect Enabled",
+	/* 315 */ "~Z~ip Mode Activated",
 	NULL
 };
 
@@ -324,7 +326,7 @@
 };
 
 static const PoMessageEntry _translation_ru_RU[] = {
-	{ 0, "Project-Id-Version: ScummVM VERSION\nReport-Msgid-Bugs-To: scummvm-devel at lists.sf.net\nPOT-Creation-Date: 2010-07-12 17:44+0200\nPO-Revision-Date: 2010-06-13 20:55+0300\nLast-Translator: Eugene Sandulenko <sev at scummvm.org>\nLanguage-Team: Russian\nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=iso-8859-5\nContent-Transfer-Encoding: 8bit\nPlural-Forms: nplurals=3;     plural=n%10==1 && n%100!=11 ? 0 :            n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" },
+	{ 0, "Project-Id-Version: ScummVM VERSION\nReport-Msgid-Bugs-To: scummvm-devel at lists.sf.net\nPOT-Creation-Date: 2010-07-30 22:14+0100\nPO-Revision-Date: 2010-06-13 20:55+0300\nLast-Translator: Eugene Sandulenko <sev at scummvm.org>\nLanguage-Team: Russian\nMIME-Version: 1.0\nContent-Type: text/plain; charset=iso-8859-5\nContent-Transfer-Encoding: 8bit\nLanguage: Russian\nPlural-Forms: nplurals=3;     plural=n%10==1 && n%100!=11 ? 0 :            n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" },
 	{ 1, "   \262\353 \343\322\325\340\325\335\353, \347\342\336 \345\336\342\330\342\325 \322\353\331\342\330?   " },
 	{ 2, " (\260\332\342\330\322\335\320\357)" },
 	{ 3, " (\270\323\340\353)" },
@@ -343,7 +345,7 @@
 	{ 16, "\315\334\343\333\357\342\336\340 AdLib" },
 	{ 17, "\315\334\343\333\357\342\336\340 AdLib:" },
 	{ 18, "\267\322\343\332\336\322\320\357 \332\320\340\342\320 AdLib \330\341\337\336\333\354\327\343\325\342\341\357 \334\335\336\323\330\334\330 \330\323\340\320\334\330" },
-	{ 19, "\275\336\322. \330\323\340\320..." },
+	{ 19, "\275\336\322\320\357 \330\323\340\320..." },
 	{ 20, "\300\320\341\342\325\340\330\327\320\342\336\340 \341\336 \341\323\333\320\326\330\322\320\335\330\325\334 (16bpp)" },
 	{ 21, "\272\336\340\340\325\332\346\330\357 \341\336\336\342\335\336\350\325\335\330\357 \341\342\336\340\336\335" },
 	{ 22, "\275\320\327\335\320\347\325\335\335\320\357 \332\333\320\322\330\350\320 : %s" },
@@ -406,20 +408,20 @@
 	{ 79, "\277\336\333\335\336\325 \335\320\327\322\320\335\330\325 \330\323\340\353" },
 	{ 80, "\277\336\333\335\336\355\332\340\320\335\335\353\331 \340\325\326\330\334" },
 	{ 81, "\303\341\332\336\340\325\335\330\325 GC \337\320\324\320:" },
-	{ 82, "\307\343\322\341\342\320\330\342\325\333\354\335\336\341\342\354 GC \337\320\324\320:" },
+	{ 82, "\307\343\322\341\342\322\330\342\325\333\354\335\336\341\342\354 GC \337\320\324\320:" },
 	{ 83, "\263\340\344" },
-	{ 84, "\303\341\342\340\336\331\342\341\322\336 GM:" },
-	{ 85, "\317\327\353\332 \330\335\342\325\340\344\325\331\341\320:" },
-	{ 86, "\300\320\341\342\325\340\330\327\320\342\336\340 GUI:" },
+	{ 84, "\303\341\342\340\336\331\341\342\322\336 GM:" },
+	{ 85, "\317\327\353\332 GUI:" },
+	{ 86, "\300\330\341\336\322\320\333\332\320 GUI:" },
 	{ 87, "\270\323\340\320" },
 	{ 88, "\275\325\342 \344\320\331\333\336\322 \330\323\340\353" },
 	{ 89, "Game Id \335\325 \337\336\324\324\325\340\326\330\322\320\325\342\341\357" },
-	{ 90, "\277\343\342\354 \332 \330\323\340\325: " },
+	{ 90, "\263\324\325 \330\323\340\320: " },
 	{ 91, "\263\333\336\321\320\333\354\335\336\325 \334\325\335\356" },
 	{ 92, "\277\325\340\325\331\342\330 \335\320 \324\330\340\325\332\342\336\340\330\356 \343\340\336\322\335\325\334 \322\353\350\325" },
 	{ 93, "\262\322\325\340\345" },
 	{ 94, "\263\340\320\344\330\332\320" },
-	{ 95, "\263\340\320\344\330\347\325\341\332\330\331 \340\325\326\330\334:" },
+	{ 95, "\263\340\320\344. \340\325\326\330\334:" },
 	{ 96, "\305\320\340\324\322\320\340\335\336\325 \334\320\341\350\342\320\321\330\340\336\322\320\335\330\325 (\321\353\341\342\340\336, \335\336 \335\330\327\332\336\323\336 \332\320\347\325\341\342\322\320)" },
 	{ 97, "Hercules \317\335\342\320\340\335\353\331" },
 	{ 98, "Hercules \267\325\333\325\335\353\331" },
@@ -448,201 +450,581 @@
 	{ 121, "\267\320\323\340\343\327\330\342\354" },
 	{ 122, "\267\320\323\340\343\327\330\342\354 \330\323\340\343:" },
 	{ 123, "\267\320\323\340\343\327\330\342\354 \341\336\345\340\335\325\335\330\325 \324\333\357 \322\353\321\340\320\335\335\336\331 \330\323\340\353" },
-	{ 124, "\315\334\343\333\357\342\336\340 MAME OPL:" },
+	{ 124, "\315\334\343\333\357\342\336\340 MAME OPL" },
 	{ 125, "MIDI" },
 	{ 126, "\303\341\330\333\325\335\330\325 MIDI:" },
-	{ 127, "\303\341\342\340\336\331\341\342\322\336 MT32:" },
-	{ 128, "\315\334\343\333\357\342\336\340 MT-32" },
-	{ 129, "\274\320\341\350\342\320\321 \323\333\320\322\335\336\323\336 \355\332\340\320\335\320:" },
-	{ 130, "\275\320\327\335\320\347\330\342\354" },
-	{ 131, "\264\336\321. \334\335\336\323\336..." },
-	{ 132, "\274\325\335\356" },
-	{ 133, "\300\320\327\335\336\325" },
-	{ 134, "\301\334\325\350\320\335\335\353\331 \340\325\326\330\334 AdLib/MIDI" },
-	{ 135, "\277\336\324\332\333\356\347\330\342\354 DVD" },
-	{ 136, "\277\336\324\332\333\356\347\330\342\354 SMB" },
-	{ 137, "\272\333\330\332 \334\353\350\354\356" },
-	{ 138, "\274\343\333\354\342\330\344\343\335\332\346\330\357" },
-	{ 139, "\303\341\342\340\336\331\342\341\322\336 GM:" },
-	{ 140, "\263\340\336\334\332\336\341\342\354 \334\343\327\353\332\330:" },
-	{ 141, "\262\353\332\333\356\347\330\342\354 \322\341\361" },
-	{ 142, "\275\320\327\322\320\335\330\325:" },
-	{ 143, "\301\325\342\354 \322\353\332\333\356\347\325\335\320" },
-	{ 144, "\301\325\342\354 \335\325 \335\320\341\342\340\336\325\335\320 (%d)" },
-	{ 145, "\301\325\342\354 \340\320\321\336\342\320\325\342" },
-	{ 146, "\301\325\342\354 \340\320\321\336\342\320\325\342, \337\320\337\332\320 \337\336\324\332\333\356\347\325\335\320" },
-	{ 147, "\275\330\332\336\323\324\320" },
-	{ 148, "\275\325\342" },
-	{ 149, "\264\320\342\320 \335\325 \327\320\337\330\341\320\335\320" },
-	{ 150, "\261\325\327 \334\343\327\353\332\330" },
-	{ 151, "\262\340\325\334\357 \330\323\340\353 \335\325 \327\320\337\330\341\320\335\336" },
-	{ 152, "\262\340\325\334\357 \335\325 \327\320\337\330\341\320\335\336" },
-	{ 153, "\275\325 \327\320\324\320\335" },
-	{ 154, "\261\325\327 \343\322\325\333\330\347\325\335\330\357" },
-	{ 155, "OK" },
-	{ 156, "\262\353\345\336\324\335\320\357 \347\320\341\342\336\342\320:" },
-	{ 157, "\277\325\340\325\332\340\353\342\354 \323\333\336\321\320\333\354\335\353\325 \343\341\342\320\335\336\322\332\330 MIDI" },
-	{ 158, "\277\325\340\325\332\340\353\342\354 \323\333\336\321\320\333\354\335\353\325 \343\341\342\320\335\336\322\332\330 \320\343\324\330\336" },
-	{ 159, "\277\325\340\325\332\340\353\342\354 \323\333\336\321\320\333\354\335\353\325 \343\341\342\320\335\336\322\332\330 \323\340\320\344\330\332\330" },
-	{ 160, "\277\325\340\325\332\340\353\342\354 \323\333\336\321\320\333\354\335\353\325 \343\341\342\320\335\336\322\332\330 \323\340\336\334\332\336\341\342\330" },
-	{ 161, "\315\334\343\333\357\342\336\340 PC \341\337\330\332\325\340\320" },
-	{ 162, "\277\320\340\336\333\354:" },
-	{ 163, "\277\343\342\354 \335\325 \357\322\333\357\325\342\341\357 \324\330\340\325\332\342\336\340\330\325\331" },
-	{ 164, "\277\343\342\354 \335\325 \357\322\333\357\325\342\341\357 \344\320\331\333\336\334" },
-	{ 165, "\277\343\342\354 \335\325 \335\320\331\324\325\335" },
-	{ 166, "\277\343\342\330" },
-	{ 167, "\277\320\343\327\320" },
-	{ 168, "\262\353\321\325\340\330\342\325 \330\323\340\343:" },
-	{ 169, "\277\333\320\342\344\336\340\334\320, \324\333\357 \332\336\342\336\340\336\331 \330\323\340\320 \321\353\333\320 \330\327\335\320\347\320\333\354\335\336 \340\320\327\340\320\321\336\342\320\335\320" },
-	{ 170, "\277\333\320\342\344\336\340\334\320:" },
-	{ 171, "\262\340\325\334\357 \330\323\340\353: " },
-	{ 172, "\277\336\326\320\333\343\331\341\342\320, \322\353\321\325\340\330\342\325 \324\325\331\341\342\322\330\325" },
-	{ 173, "\277\343\342\354 \332 \337\333\320\323\330\335\320\334:" },
-	{ 174, "\277\340\325\324\337\336\347\330\342\320\325\334\336\325 \343\341\342\340\336\331\341\342\322\336:" },
-	{ 175, "\275\320\326\334\330\342\325 \332\333\320\322\330\350\343 \324\333\357 \335\320\327\335\320\347\325\335\330\357" },
-	{ 176, "\262\353\345\336\324" },
-	{ 177, "\262\353\345\336\324 \330\327 ScummVM" },
-	{ 178, "\275\325\324\336\341\342\320\342\336\347\335\336 \337\340\320\322 \324\333\357 \347\342\325\335\330\357" },
-	{ 179, "\276\350\330\321\332\320 \347\342\325\335\330\357" },
-	{ 180, "\277\325\340\325\335\320\327\335\320\347\330\342\354 \332\333\320\322\330\350\330" },
-	{ 181, "\303\324\320\333\330\342\354 \330\323\340\343 \330\327 \341\337\330\341\332\320. \275\325 \343\324\320\333\357\325\342 \330\323\340\343 \341 \326\325\341\342\332\336\323\336 \324\330\341\332\320" },
-	{ 182, "\300\325\326\330\334 \340\320\341\342\340\330\340\336\322\320\335\330\357:" },
-	{ 183, "\262\337\340\320\322\336" },
-	{ 184, "\277\340\320\322\353\331 \351\325\333\347\336\332" },
-	{ 185, "\277\340\320\322\353\331 \351\325\333\347\336\332" },
-	{ 186, "\277\336\322\325\340\335\343\342\354" },
-	{ 187, "\263\340\336\334\332\336\341\342\354 \355\344\344\325\332\342\336\322:" },
-	{ 188, "SMB" },
-	{ 189, "\267\320\337\330\341\320\342\354" },
-	{ 190, "\277\343\342\354 \341\336\345\340.: " },
-	{ 191, "\277\343\342\354 \324\333\357 \341\336\345\340\320\335\325\335\330\331: " },
-	{ 192, "\301\336\345\340\320\335\330\342\354 \330\323\340\343: " },
-	{ 193, "\277\336\330\341\332 \327\320\332\336\335\347\325\335!" },
-	{ 194, "\277\340\336\341\334\336\342\340\325\335\336 %d \324\330\340\325\332\342\336\340\330\331 ..." },
-	{ 195, "\263\333\320\322\335\336\325 \334\325\335\356 ScummVM" },
-	{ 196, "ScummVM \335\325 \341\334\336\323 \335\320\331\342\330 \324\322\330\326\336\332 \324\333\357 \327\320\337\343\341\332\320 \322\353\321\340\320\335\335\336\331 \330\323\340\353!" },
-	{ 197, "ScummVM \335\325 \334\336\326\325\342 \335\320\331\342\330 \330\323\340\343 \322 \343\332\320\327\320\335\335\336\331 \324\330\340\325\332\342\336\340\330\330!" },
-	{ 198, "ScummVM \335\325 \334\336\326\325\342 \336\342\332\340\353\342\354 \343\332\320\327\320\335\335\343\356 \324\330\340\325\332\342\336\340\330\356!" },
-	{ 199, "\277\336\330\341\332 \322 \341\337\330\341\332\325 \330\323\340" },
-	{ 200, "\277\336\330\341\332:" },
-	{ 201, "\262\353\321\325\340\330\342\325 SoundFont" },
-	{ 202, "\262\353\321\325\340\330\342\325 \342\325\334\343" },
-	{ 203, "\262\353\321\325\340\330\342\325 \324\336\337\336\333\335\330\342\325\333\354\335\343\356 \324\330\340\325\332\342\336\340\330\356 \330\323\340\353" },
-	{ 204, "\262\353\321\325\340\330\342\325 \324\325\331\341\342\322\330\325 \330 \332\333\330\332\335\330\342\325 '\275\320\327\335\320\347\330\342\354'" },
-	{ 205, "\262\353\321\325\340\330\342\325 \324\330\340\325\332\342\336\340\330\356 \324\333\357 \342\325\334 GUI" },
-	{ 206, "\262\353\321\325\340\330\342\325 \324\330\340\325\332\342\336\340\330\356 \341 \324\336\337\336\333\335\330\342\325\333\354\335\353\334\330 \344\320\331\333\320\334\330" },
-	{ 207, "\262\353\321\325\340\330\342\325 \324\330\340\325\332\342\336\340\330\356 \341 \337\333\320\323\330\335\320\334\330" },
-	{ 208, "\262\353\321\325\340\330\342\325 \324\330\340\325\332\342\336\340\330\356 \324\333\357 \341\336\345\340\320\335\325\335\330\331" },
-	{ 209, "\262\353\321\325\340\330\342\325 \324\330\340\325\332\342\336\340\330\356 \324\333\357 \341\336\345\340\320\335\325\335\330\331" },
-	{ 210, "\262\353\321\325\340\330\342\325 \324\330\340\325\332\342\336\340\330\356 \341 \344\320\331\333\320\334\330 \330\323\340\353" },
-	{ 211, "\307\343\322\341\342\322\330\342\325\333\354\335\336\341\342\354" },
-	{ 212, "\301\325\340\322\325\340:" },
-	{ 213, "\301\325\342\325\322\320\357 \337\320\337\332\320:" },
-	{ 214, "\272\336\340\336\342\332\330\331 \330\324\325\335\342\330\344\330\332\320\342\336\340, \330\341\337\336\333\354\327\343\325\334\353\331 \324\333\357 \330\334\325\335 \341\336\345\340\320\335\325\335\330\331 \330\323\340 \330 \324\333\357 \327\320\337\343\341\332\320 \330\327 \332\336\334\320\335\324\335\336\331 \341\342\340\336\332\330" },
-	{ 215, "\277\336\332\320\327\320\342\354 \332\333\320\322\330\320\342\343\340\343" },
-	{ 216, "\277\336\332\320\327\353\322\320\342\354 \332\343\340\341\336\340 \334\353\350\330" },
-	{ 217, "\277\336\332\320\327\353\322\320\342\354 \341\343\321\342\330\342\340\353 \330 \322\336\341\337\340\336\330\327\322\336\324\330\342\354 \340\325\347\354" },
-	{ 218, "\277\336\332\320\327\320\342\354/\303\321\340\320\342\354 \332\343\340\341\336\340" },
-	{ 219, "\277\340\336\337\343\341\342\330\342\354" },
-	{ 220, "\277\340\336\337\343\341\342\330\342\354 \341\342\340\336\332\343" },
-	{ 221, "\277\340\336\337\343\341\342\330\342\354 \342\325\332\341\342" },
-	{ 222, "\277\340\330\332\340\325\337\330\342\354 \332 \323\340\320\335\330\346\320\334" },
-	{ 223, "\277\340\336\323\340\320\334\334\335\336\325 \334\320\341\350\342\320\321\330\340\336\322\320\335\330\325 (\345\336\340\336\350\325\325 \332\320\347\325\341\342\322\336, \335\336 \334\325\324\333\325\335\335\325\325)" },
-	{ 224, "\267\322\343\332 \322\332\333/\322\353\332\333" },
-	{ 225, "SoundFont\353 \337\336\324\324\325\340\324\326\330\322\320\356\342\341\357 \335\325\332\336\342\336\340\353\334\330 \327\322\343\332\336\322\353\334\330 \332\320\340\342\320\334\330, Fluidsynth \330 Timidity" },
-	{ 226, "SoundFont:" },
-	{ 227, "\276\327\322" },
-	{ 228, "\301\337\325\346\330\320\333\354\335\353\325 \340\325\326\330\334\353 \340\325\335\324\325\340\330\335\323\320, \337\336\324\324\325\340\326\330\322\320\325\334\353\325 \335\325\332\336\342\336\340\353\334\330 \330\323\340\320\334\330" },
-	{ 229, "\263\340\336\334\332\336\341\342\354 \341\337\325\346\330\320\333\354\335\353\345 \327\322\343\332\336\322\353\345 \355\344\344\325\332\342\336\322" },
-	{ 230, "\303\332\320\327\353\322\320\325\342 \322\353\345\336\324\335\336\325 \327\322\343\332\336\322\336\325 \343\341\342\340\336\331\341\342\322\336 \324\333\357 MIDI" },
-	{ 231, "\303\332\320\327\353\322\320\325\342 \327\322\343\332\336\322\336\325 \343\341\342\340\336\331\341\342\322\336 \337\336 \343\334\336\333\347\320\335\330\357 \324\333\357 \322\353\322\336\324\320 \335\320 Roland MT-32/LAPC1/CM32l/CM64" },
-	{ 232, "\303\332\320\327\353\322\320\325\342 \322\353\345\336\324\335\336\325 \327\322\343\332\336\322\336\325 \343\341\342\340\336\331\341\342\322\336 \330\333\330 \355\334\343\333\357\342\336\340 \327\322\343\332\336\322\336\331 \332\320\340\342\353" },
-	{ 233, "\303\332\320\327\353\322\320\325\342 \337\343\342\354 \332 \324\336\337\336\333\335\330\342\325\333\354\335\353\334 \344\320\331\333\320\334 \324\320\335\335\353\345, \330\341\337\336\333\354\327\343\325\334\353\345 \322\341\325\334\330 \330\323\340\320\334\330, \333\330\321\336 ScummVM" },
-	{ 234, "\303\332\320\327\353\322\320\325\342 \337\343\342\354 \332 \324\336\337\336\333\335\330\342\325\333\354\335\353\334 \344\320\331\333\320\334 \324\320\335\335\353\345 \324\333\357 \330\323\340\353" },
-	{ 235, "\303\332\320\327\353\322\320\325\342 \322\353\345\336\324\335\336\325 \327\322\343\332\336\322\336\325 \343\341\342\340\336\331\341\342\322\336 \330\333\330 \355\334\343\333\357\342\336\340 \327\322\343\332\336\322\336\331 \332\320\340\342\353" },
-	{ 236, "\303\332\320\327\353\322\320\325\342 \337\343\342\354 \332 \341\336\345\340\320\335\325\335\330\357\334 \330\323\340\353" },
-	{ 237, "\276\327\322\343\347\332\320" },
-	{ 238, "\263\340\336\334\332\336\341\342\354 \336\327\322\343\347\332\330:" },
-	{ 239, "\301\342\320\335\324\320\340\342\335\353\331 \340\320\341\342\325\340\330\327\320\342\336\340 (16bpp)" },
-	{ 240, "\267\320\337\343\341\342\330\342\354 \322\353\321\340\320\335\335\343\356 \330\323\340\343" },
-	{ 241, "\301\336\341\342\336\357\335\330\325:" },
-	{ 242, "\301\343\321" },
-	{ 243, "\301\332\336\340\336\341\342\354 \341\343\321\342\330\342\340\336\322:" },
-	{ 244, "\301\343\321\342\330\342\340\353" },
-	{ 245, "\301\334\325\335\330\342\354 \323\325\340\336\357" },
-	{ 246, "\302\320\337 \324\333\357 \333\325\322\336\323\336 \351\325\333\347\332\320, \324\322\336\331\335\336\331 \342\320\337 \324\333\357 \337\340\320\322\336\323\336 \351\325\333\347\332\320" },
-	{ 247, "\302\325\332\341\342 \330 \336\327\322\343\347\332\320:" },
-	{ 248, "\275\325 \334\336\323\343 \337\330\341\320\342\354 \322 \322\353\321\340\320\335\335\343\356 \324\330\340\325\332\342\336\340\330\356. \277\336\326\320\333\343\331\341\342\320, \343\332\320\326\330\342\325 \324\340\343\323\343\356." },
-	{ 249, "\277\343\342\354 \332 \342\325\334\320\334:" },
-	{ 250, "\302\325\334\320:" },
-	{ 251, "\315\342\336\342 ID \330\323\340\353 \343\326\325 \330\341\337\336\333\354\327\343\325\342\341\357. \277\336\326\320\333\343\331\341\342\320, \322\353\321\325\340\330\342\325 \324\340\343\323\336\331." },
-	{ 252, "\315\342\320 \330\323\340\320 \335\325 \337\336\324\324\325\340\326\330\322\320\325\342 \327\320\323\340\343\327\332\343 \341\336\345\340\320\335\325\335\330\331 \347\325\340\325\327 \323\333\320\322\335\336\325 \334\325\335\356." },
-	{ 253, "\262\340\325\334\357: " },
-	{ 254, "\262\340\325\334\357 \337\336\324\332\333\356\347\325\335\330\357 \332 \341\325\342\330 \330\341\342\325\332\333\336" },
-	{ 255, "\301\334\325\351\325\335\330\325 \332\320\341\320\335\330\331 \337\336 \336\341\330 X" },
-	{ 256, "\301\334\325\351\325\335\330\325 \332\320\341\320\335\330\331 \337\336 \336\341\330 Y" },
-	{ 257, "\300\325\326\330\334 \342\320\347\337\320\324\320 \322\353\332\333\356\347\325\335." },
-	{ 258, "\300\325\326\330\334 \342\320\347\337\320\324\320 \322\332\333\356\347\325\335." },
-	{ 259, "\275\320\341\342\336\357\351\330\331 Roland MT-32 (\327\320\337\340\325\342\330\342\354 \355\334\343\333\357\346\330\356 GM)" },
-	{ 260, "\262\353\332\333\356\347\320\325\342 \334\320\337\337\330\335\323 General MIDI \324\333\357 \330\323\340 \341 \327\322\343\332\336\322\336\331 \324\336\340\336\326\332\336\331 \324\333\357 Roland MT-32" },
-	{ 261, "\275\325\330\327\322\325\341\342\335\336" },
-	{ 262, "\275\325\330\327\322\325\341\342\335\320\357 \336\350\330\321\332\320" },
-	{ 263, "\276\342\332\333\356\347\330\342\354 DVD" },
-	{ 264, "\276\342\332\333\356\347\342\354 SMB" },
-	{ 265, "\261\325\327 \334\320\341\350\342\320\321\330\340\336\322\320\335\330\357 (\335\343\326\335\336 \321\343\324\325\342 \337\340\336\332\340\343\347\330\322\320\342\354 \322\333\325\322\336 \330 \322\337\340\320\322\336)" },
-	{ 266, "\275\325\337\336\324\324\325\340\326\330\322\320\325\334\353\331 \340\325\326\330\334 \346\322\325\342\320" },
-	{ 267, "\301\336\345\340\320\335\325\335\330\325 \321\325\327 \330\334\325\335\330" },
-	{ 268, "\262\322\325\340\345" },
-	{ 269, "\270\341\337\336\333\354\327\336\322\320\342\354 \330 MIDI \330 AdLib \324\333\357 \323\325\335\325\340\320\346\330\330 \327\322\343\332\320" },
-	{ 270, "\270\341\337\336\333\354\327\336\322\320\342\354 \343\337\340\320\322\333\325\335\330\325 \332\343\340\341\336\340\336\334 \332\320\332 \335\320 \342\340\325\332\337\320\324\325 \333\325\337\342\336\337\336\322" },
-	{ 271, "\277\336\333\354\327\336\322\320\342\325\333\354:" },
-	{ 272, "\270\341\337\336\333\354\327\343\356 \324\340\320\331\322\325\340 SDL " },
-	{ 273, "\262\325\340\342\330\332\320\333\354\335\353\331 underscan:" },
-	{ 274, "\262\330\324\325\336" },
-	{ 275, "\262\330\340\342\343\320\333\354\335\320\357 \332\333\320\322\330\320\342\343\340\320" },
-	{ 276, "\263\340\336\334\332\336\341\342\354" },
-	{ 277, "Windows MIDI" },
-	{ 278, "\275\325\324\336\341\342\320\342\336\347\335\336 \337\340\320\322 \324\333\357 \327\320\337\330\341\330" },
-	{ 279, "\276\350\330\321\332\320 \327\320\337\330\341\330 \324\320\335\335\353\345" },
-	{ 280, "\264\320" },
-	{ 281, "\262\353 \324\336\333\326\335\353 \337\325\340\325\327\320\337\343\341\342\330\342\354 ScummVM \347\342\336\321\353 \337\340\330\334\325\335\330\342\354 \330\327\334\325\335\325\335\330\357." },
-	{ 282, "\267\336\335\320" },
-	{ 283, "\303\334\325\335\354\350. \334\320\341\350\342\320\321" },
-	{ 284, "\303\322\325\333. \334\320\341\350\342\320\321" },
-	{ 285, "\332\320\326\324\353\325 10 \334\330\335\343\342" },
-	{ 286, "\332\320\326\324\353\325 15 \334\330\335\343\342" },
-	{ 287, "\332\320\326\324\353\325 30 \334\330\335\343\342" },
-	{ 288, "\332\320\326\324\353\325 5 \334\330\335\343\342" },
-	{ 289, "\276 \337\340\336~\323~\340\320\334\334\325" },
-	{ 290, "~\264~\336\321. \330\323\340\343..." },
-	{ 291, "\276~\342~\334\325\335\320" },
-	{ 292, "~\267~\320\332\340\353\342\354" },
-	{ 293, "\270\327~\334~. \330\323\340\343..." },
-	{ 294, "~\277~\336\334\336\351\354" },
-	{ 295, "\303\337\340\320\322\333\325\335\330\325 \321\336\357\334\330 \322 Indy" },
-	{ 296, "~\272~\333\320\322\330\350\330" },
-	{ 297, "\273\325\322\336\340\343\332\330\331 \340\325\326\330\334" },
-	{ 298, "~\267~\320\323\340\343\327\330\342\354" },
-	{ 299, "~\267~\320\323\340...." },
-	{ 300, "~\301~\333\325\324" },
-	{ 301, "~O~K" },
-	{ 302, "~\276~\337\346\330\330" },
-	{ 303, "~\276~\337\346\330\330..." },
-	{ 304, "~\277~\340\325\324" },
-	{ 305, "~\262~\353\345\336\324" },
-	{ 306, "~\303~\324\320\333\330\342\354 \330\323\340\343" },
-	{ 307, "\277\340\336\324\336\333~\326~\330\342\354" },
-	{ 308, "~\262~\325\340\335\343\342\354\341\357 \322 \323\333\320\322\335\336\325 \334\325\335\356" },
-	{ 309, "~\267~\320\337\330\341\320\342\354" },
-	{ 310, "\277~\343~\341\332" },
-	{ 311, "\277\325\340\325\345\336\324\353 \320\332\342\330\322\330\340\336\322\320\335\353" },
-	{ 312, "\315\344\344\325\332\342\353 \322\336\324\353 \322\332\333\356\347\325\335\353" },
-	{ 313, "\300\325\326\330\334 \321\353\341\342\340\336\323\336 \337\325\340\325\345\336\324\320 \320\332\342\330\322\330\340\336\322\320\335" },
+	{ 127, "MT-32" },
+	{ 128, "\303\341\342\340. MT-32:" },
+	{ 129, "\315\334\343\333\357\342\336\340 MT-32" },
+	{ 130, "\274\320\341\350\342\320\321 \323\333\320\322\335\336\323\336 \355\332\340\320\335\320:" },
+	{ 131, "\275\320\327\335\320\347\330\342\354" },
+	{ 132, "\274\335\336\323\336 \330\323\340..." },
+	{ 133, "\274\325\335\356" },
+	{ 134, "\300\320\327\335\336\325" },
+	{ 135, "\301\334\325\350\320\335\335\353\331 \340\325\326\330\334 AdLib/MIDI" },
+	{ 136, "\277\336\324\332\333\356\347\330\342\354 DVD" },
+	{ 137, "\277\336\324\332\333\356\347\330\342\354 SMB" },
+	{ 138, "\272\333\330\332 \334\353\350\354\356" },
+	{ 139, "\274\343\333\354\342\330\344\343\335\332\346\330\357" },
+	{ 140, "\267\322\343\332\336\322\336\325 \343\341\342-\322\336:" },
+	{ 141, "\263\340\336\334\332. \334\343\327\353\332\330:" },
+	{ 142, "\262\353\332\333. \322\341\361" },
+	{ 143, "\275\320\327\322:" },
+	{ 144, "\301\325\342\354 \322\353\332\333\356\347\325\335\320" },
+	{ 145, "\301\325\342\354 \335\325 \335\320\341\342\340\336\325\335\320 (%d)" },
+	{ 146, "\301\325\342\354 \340\320\321\336\342\320\325\342" },
+	{ 147, "\301\325\342\354 \340\320\321\336\342\320\325\342, \337\320\337\332\320 \337\336\324\332\333\356\347\325\335\320" },
+	{ 148, "\275\330\332\336\323\324\320" },
+	{ 149, "\275\325\342" },
+	{ 150, "\264\320\342\320 \335\325 \327\320\337\330\341\320\335\320" },
+	{ 151, "\261\325\327 \334\343\327\353\332\330" },
+	{ 152, "\262\340\325\334\357 \330\323\340\353 \335\325 \327\320\337\330\341\320\335\336" },
+	{ 153, "\262\340\325\334\357 \335\325 \327\320\337\330\341\320\335\336" },
+	{ 154, "\275\325 \327\320\324\320\335" },
+	{ 155, "\261\325\327 \343\322\325\333\330\347\325\335\330\357" },
+	{ 156, "OK" },
+	{ 157, "\307\320\341\342\336\342\320 \327\322\343\332\320:" },
+	{ 158, "\277\325\340\325\332\340\353\342\354 \323\333\336\321\320\333\354\335\353\325 \343\341\342\320\335\336\322\332\330 MIDI" },
+	{ 159, "\277\325\340\325\332\340\353\342\354 \323\333\336\321\320\333\354\335\353\325 \343\341\342\320\335\336\322\332\330 MT-32" },
+	{ 160, "\277\325\340\325\332\340\353\342\354 \323\333\336\321\320\333\354\335\353\325 \343\341\342\320\335\336\322\332\330 \320\343\324\330\336" },
+	{ 161, "\277\325\340\325\332\340\353\342\354 \323\333\336\321\320\333\354\335\353\325 \343\341\342\320\335\336\322\332\330 \323\340\320\344\330\332\330" },
+	{ 162, "\277\325\340\325\332\340\353\342\354 \323\333\336\321\320\333\354\335\353\325 \343\341\342\320\335\336\322\332\330 \323\340\336\334\332\336\341\342\330" },
+	{ 163, "\315\334\343\333\357\342\336\340 PC \341\337\330\332\325\340\320" },
+	{ 164, "\277\320\340\336\333\354:" },
+	{ 165, "\277\343\342\354 \335\325 \357\322\333\357\325\342\341\357 \324\330\340\325\332\342\336\340\330\325\331" },
+	{ 166, "\277\343\342\354 \335\325 \357\322\333\357\325\342\341\357 \344\320\331\333\336\334" },
+	{ 167, "\277\343\342\354 \335\325 \335\320\331\324\325\335" },
+	{ 168, "\277\343\342\330" },
+	{ 169, "\277\320\343\327\320" },
+	{ 170, "\262\353\321\325\340\330\342\325 \330\323\340\343:" },
+	{ 171, "\277\333\320\342\344\336\340\334\320, \324\333\357 \332\336\342\336\340\336\331 \330\323\340\320 \321\353\333\320 \330\327\335\320\347\320\333\354\335\336 \340\320\327\340\320\321\336\342\320\335\320" },
+	{ 172, "\277\333\320\342\344\336\340\334\320:" },
+	{ 173, "\262\340\325\334\357 \330\323\340\353: " },
+	{ 174, "\277\336\326\320\333\343\331\341\342\320, \322\353\321\325\340\330\342\325 \324\325\331\341\342\322\330\325" },
+	{ 175, "\277\343\342\354 \332 \337\333\320\323\330\335\320\334:" },
+	{ 176, "\267\322\343\332\336\322\336\325 \343\341\342-\322\336:" },
+	{ 177, "\275\320\326\334\330\342\325 \332\333\320\322\330\350\343 \324\333\357 \335\320\327\335\320\347\325\335\330\357" },
+	{ 178, "\262\353\345\336\324" },
+	{ 179, "\262\353\345\336\324 \330\327 ScummVM" },
+	{ 180, "\275\325\324\336\341\342\320\342\336\347\335\336 \337\340\320\322 \324\333\357 \347\342\325\335\330\357" },
+	{ 181, "\276\350\330\321\332\320 \347\342\325\335\330\357" },
+	{ 182, "\277\325\340\325\335\320\327\335\320\347\330\342\354 \332\333\320\322\330\350\330" },
+	{ 183, "\303\324\320\333\330\342\354 \330\323\340\343 \330\327 \341\337\330\341\332\320. \275\325 \343\324\320\333\357\325\342 \330\323\340\343 \341 \326\325\341\342\332\336\323\336 \324\330\341\332\320" },
+	{ 184, "\300\325\326\330\334 \340\320\341\342\340\320:" },
+	{ 185, "\262\337\340\320\322\336" },
+	{ 186, "\277\340\320\322\353\331 \351\325\333\347\336\332" },
+	{ 187, "\277\340\320\322\353\331 \351\325\333\347\336\332" },
+	{ 188, "\277\336\322\325\340\335\343\342\354" },
+	{ 189, "\263\340\336\334\332. SFX:" },
+	{ 190, "SMB" },
+	{ 191, "\267\320\337\330\341\320\342\354" },
+	{ 192, "\277\343\342\354 \341\336\345\340: " },
+	{ 193, "\301\336\345\340\320\335\325\335\330\357 \330\323\340:" },
+	{ 194, "\301\336\345\340\320\335\330\342\354 \330\323\340\343: " },
+	{ 195, "\277\336\330\341\332 \327\320\332\336\335\347\325\335!" },
+	{ 196, "\277\340\336\341\334\336\342\340\325\335\336 %d \324\330\340\325\332\342\336\340\330\331 ..." },
+	{ 197, "\263\333\320\322\335\336\325 \334\325\335\356 ScummVM" },
+	{ 198, "ScummVM \335\325 \341\334\336\323 \335\320\331\342\330 \324\322\330\326\336\332 \324\333\357 \327\320\337\343\341\332\320 \322\353\321\340\320\335\335\336\331 \330\323\340\353!" },
+	{ 199, "ScummVM \335\325 \334\336\326\325\342 \335\320\331\342\330 \330\323\340\343 \322 \343\332\320\327\320\335\335\336\331 \324\330\340\325\332\342\336\340\330\330!" },
+	{ 200, "ScummVM \335\325 \334\336\326\325\342 \336\342\332\340\353\342\354 \343\332\320\327\320\335\335\343\356 \324\330\340\325\332\342\336\340\330\356!" },
+	{ 201, "\277\336\330\341\332 \322 \341\337\330\341\332\325 \330\323\340" },
+	{ 202, "\277\336\330\341\332:" },
+	{ 203, "\262\353\321\325\340\330\342\325 SoundFont" },
+	{ 204, "\262\353\321\325\340\330\342\325 \342\325\334\343" },
+	{ 205, "\262\353\321\325\340\330\342\325 \324\336\337\336\333\335\330\342\325\333\354\335\343\356 \324\330\340\325\332\342\336\340\330\356 \330\323\340\353" },
+	{ 206, "\262\353\321\325\340\330\342\325 \324\325\331\341\342\322\330\325 \330 \332\333\330\332\335\330\342\325 '\275\320\327\335\320\347\330\342\354'" },
+	{ 207, "\262\353\321\325\340\330\342\325 \324\330\340\325\332\342\336\340\330\356 \324\333\357 \342\325\334 GUI" },
+	{ 208, "\262\353\321\325\340\330\342\325 \324\330\340\325\332\342\336\340\330\356 \341 \324\336\337\336\333\335\330\342\325\333\354\335\353\334\330 \344\320\331\333\320\334\330" },
+	{ 209, "\262\353\321\325\340\330\342\325 \324\330\340\325\332\342\336\340\330\356 \341 \337\333\320\323\330\335\320\334\330" },
+	{ 210, "\262\353\321\325\340\330\342\325 \324\330\340\325\332\342\336\340\330\356 \324\333\357 \341\336\345\340\320\335\325\335\330\331" },
+	{ 211, "\262\353\321\325\340\330\342\325 \324\330\340\325\332\342\336\340\330\356 \324\333\357 \341\336\345\340\320\335\325\335\330\331" },
+	{ 212, "\262\353\321\325\340\330\342\325 \324\330\340\325\332\342\336\340\330\356 \341 \344\320\331\333\320\334\330 \330\323\340\353" },
+	{ 213, "\307\343\322\341\342\322\330\342\325\333\354\335\336\341\342\354" },
+	{ 214, "\301\325\340\322\325\340:" },
+	{ 215, "\301\325\342\325\322\320\357 \337\320\337\332\320:" },
+	{ 216, "\272\336\340\336\342\332\330\331 \330\324\325\335\342\330\344\330\332\320\342\336\340, \330\341\337\336\333\354\327\343\325\334\353\331 \324\333\357 \330\334\325\335 \341\336\345\340\320\335\325\335\330\331 \330\323\340 \330 \324\333\357 \327\320\337\343\341\332\320 \330\327 \332\336\334\320\335\324\335\336\331 \341\342\340\336\332\330" },
+	{ 217, "\277\336\332\320\327\320\342\354 \332\333\320\322\330\320\342\343\340\343" },
+	{ 218, "\277\336\332\320\327\353\322\320\342\354 \332\343\340\341\336\340 \334\353\350\330" },
+	{ 219, "\277\336\332\320\327\353\322\320\342\354 \341\343\321\342\330\342\340\353 \330 \322\336\341\337\340\336\330\327\322\336\324\330\342\354 \340\325\347\354" },
+	{ 220, "\277\336\332\320\327\320\342\354/\303\321\340\320\342\354 \332\343\340\341\336\340" },
+	{ 221, "\277\340\336\337\343\341\342\330\342\354" },
+	{ 222, "\277\340\336\337\343\341\342\330\342\354 \341\342\340\336\332\343" },
+	{ 223, "\277\340\336\337\343\341\342\330\342\354 \342\325\332\341\342" },
+	{ 224, "\277\340\330\332\340\325\337\330\342\354 \332 \323\340\320\335\330\346\320\334" },
+	{ 225, "\277\340\336\323\340\320\334\334\335\336\325 \334\320\341\350\342\320\321\330\340\336\322\320\335\330\325 (\345\336\340\336\350\325\325 \332\320\347\325\341\342\322\336, \335\336 \334\325\324\333\325\335\335\325\325)" },
+	{ 226, "\267\322\343\332 \322\332\333/\322\353\332\333" },
+	{ 227, "SoundFont\353 \337\336\324\324\325\340\324\326\330\322\320\356\342\341\357 \335\325\332\336\342\336\340\353\334\330 \327\322\343\332\336\322\353\334\330 \332\320\340\342\320\334\330, Fluidsynth \330 Timidity" },
+	{ 228, "SoundFont:" },
+	{ 229, "\276\327\322" },
+	{ 230, "\301\337\325\346\330\320\333\354\335\353\325 \340\325\326\330\334\353 \340\325\335\324\325\340\330\335\323\320, \337\336\324\324\325\340\326\330\322\320\325\334\353\325 \335\325\332\336\342\336\340\353\334\330 \330\323\340\320\334\330" },
+	{ 231, "\263\340\336\334\332\336\341\342\354 \341\337\325\346\330\320\333\354\335\353\345 \327\322\343\332\336\322\353\345 \355\344\344\325\332\342\336\322" },
+	{ 232, "\303\332\320\327\353\322\320\325\342 \322\353\345\336\324\335\336\325 \327\322\343\332\336\322\336\325 \343\341\342\340\336\331\341\342\322\336 \324\333\357 MIDI" },
+	{ 233, "\303\332\320\327\353\322\320\325\342 \327\322\343\332\336\322\336\325 \343\341\342\340\336\331\341\342\322\336 \337\336 \343\334\336\333\347\320\335\330\357 \324\333\357 \322\353\322\336\324\320 \335\320 Roland MT-32/LAPC1/CM32l/CM64" },
+	{ 234, "\303\332\320\327\353\322\320\325\342 \322\353\345\336\324\335\336\325 \327\322\343\332\336\322\336\325 \343\341\342\340\336\331\341\342\322\336 \330\333\330 \355\334\343\333\357\342\336\340 \327\322\343\332\336\322\336\331 \332\320\340\342\353" },
+	{ 235, "\303\332\320\327\353\322\320\325\342 \337\343\342\354 \332 \324\336\337\336\333\335\330\342\325\333\354\335\353\334 \344\320\331\333\320\334 \324\320\335\335\353\345, \330\341\337\336\333\354\327\343\325\334\353\345 \322\341\325\334\330 \330\323\340\320\334\330, \333\330\321\336 ScummVM" },
+	{ 236, "\303\332\320\327\353\322\320\325\342 \337\343\342\354 \332 \324\336\337\336\333\335\330\342\325\333\354\335\353\334 \344\320\331\333\320\334 \324\320\335\335\353\345 \324\333\357 \330\323\340\353" },
+	{ 237, "\303\332\320\327\353\322\320\325\342 \322\353\345\336\324\335\336\325 \327\322\343\332\336\322\336\325 \343\341\342\340\336\331\341\342\322\336 \330\333\330 \355\334\343\333\357\342\336\340 \327\322\343\332\336\322\336\331 \332\320\340\342\353" },
+	{ 238, "\303\332\320\327\353\322\320\325\342 \337\343\342\354 \332 \341\336\345\340\320\335\325\335\330\357\334 \330\323\340\353" },
+	{ 239, "\276\327\322\343\347\332\320" },
+	{ 240, "\263\340\336\334\332. \336\327\322\343\347\332\330:" },
+	{ 241, "\301\342\320\335\324\320\340\342\335\353\331 \340\320\341\342\325\340\330\327\320\342\336\340 (16bpp)" },
+	{ 242, "\267\320\337\343\341\342\330\342\354 \322\353\321\340\320\335\335\343\356 \330\323\340\343" },
+	{ 243, "\301\336\341\342\336\357\335\330\325:" },
+	{ 244, "\301\343\321" },
+	{ 245, "\301\332\336\340\336\341\342\354 \342\330\342\340\336\322:" },
+	{ 246, "\301\343\321\342\330\342\340\353" },
+	{ 247, "\301\334\325\335\330\342\354 \323\325\340\336\357" },
+	{ 248, "\302\320\337 \324\333\357 \333\325\322\336\323\336 \351\325\333\347\332\320, \324\322\336\331\335\336\331 \342\320\337 \324\333\357 \337\340\320\322\336\323\336 \351\325\333\347\332\320" },
+	{ 249, "\302\325\332\341\342 \330 \336\327\322\343\347\332\320:" },
+	{ 250, "\275\325 \334\336\323\343 \337\330\341\320\342\354 \322 \322\353\321\340\320\335\335\343\356 \324\330\340\325\332\342\336\340\330\356. \277\336\326\320\333\343\331\341\342\320, \343\332\320\326\330\342\325 \324\340\343\323\343\356." },
+	{ 251, "\263\324\325 \342\325\334\353:" },
+	{ 252, "\302\325\334\320:" },
+	{ 253, "\315\342\336\342 ID \330\323\340\353 \343\326\325 \330\341\337\336\333\354\327\343\325\342\341\357. \277\336\326\320\333\343\331\341\342\320, \322\353\321\325\340\330\342\325 \324\340\343\323\336\331." },
+	{ 254, "\315\342\320 \330\323\340\320 \335\325 \337\336\324\324\325\340\326\330\322\320\325\342 \327\320\323\340\343\327\332\343 \341\336\345\340\320\335\325\335\330\331 \347\325\340\325\327 \323\333\320\322\335\336\325 \334\325\335\356." },
+	{ 255, "\262\340\325\334\357: " },
+	{ 256, "\262\340\325\334\357 \337\336\324\332\333\356\347\325\335\330\357 \332 \341\325\342\330 \330\341\342\325\332\333\336" },
+	{ 257, "\301\334\325\351\325\335\330\325 \332\320\341\320\335\330\331 \337\336 \336\341\330 X" },
+	{ 258, "\301\334\325\351\325\335\330\325 \332\320\341\320\335\330\331 \337\336 \336\341\330 Y" },
+	{ 259, "\300\325\326\330\334 \342\320\347\337\320\324\320 \322\353\332\333\356\347\325\335." },
+	{ 260, "\300\325\326\330\334 \342\320\347\337\320\324\320 \322\332\333\356\347\325\335." },
+	{ 261, "\275\320\341\342\336\357\351\330\331 Roland MT-32 (\327\320\337\340\325\342\330\342\354 \355\334\343\333\357\346\330\356 GM)" },
+	{ 262, "\262\353\332\333\356\347\320\325\342 \334\320\337\337\330\335\323 General MIDI \324\333\357 \330\323\340 \341 \327\322\343\332\336\322\336\331 \324\336\340\336\326\332\336\331 \324\333\357 Roland MT-32" },
+	{ 263, "\275\325\330\327\322\325\341\342\335\336" },
+	{ 264, "\275\325\330\327\322\325\341\342\335\320\357 \336\350\330\321\332\320" },
+	{ 265, "\276\342\332\333\356\347\330\342\354 DVD" },
+	{ 266, "\276\342\332\333\356\347\342\354 SMB" },
+	{ 267, "\261\325\327 \334\320\341\350\342\320\321\330\340\336\322\320\335\330\357 (\335\343\326\335\336 \321\343\324\325\342 \337\340\336\332\340\343\347\330\322\320\342\354 \322\333\325\322\336 \330 \322\337\340\320\322\336)" },
+	{ 268, "\275\325\337\336\324\324\325\340\326\330\322\320\325\334\353\331 \340\325\326\330\334 \346\322\325\342\320" },
+	{ 269, "\301\336\345\340\320\335\325\335\330\325 \321\325\327 \330\334\325\335\330" },
+	{ 270, "\262\322\325\340\345" },
+	{ 271, "\270\341\337\336\333\354\327\336\322\320\342\354 \330 MIDI \330 AdLib \324\333\357 \323\325\335\325\340\320\346\330\330 \327\322\343\332\320" },
+	{ 272, "\270\341\337\336\333\354\327\336\322\320\342\354 \343\337\340\320\322\333\325\335\330\325 \332\343\340\341\336\340\336\334 \332\320\332 \335\320 \342\340\325\332\337\320\324\325 \333\325\337\342\336\337\336\322" },
+	{ 273, "\277\336\333\354\327\336\322\320\342\325\333\354:" },
+	{ 274, "\270\341\337\336\333\354\327\343\356 \324\340\320\331\322\325\340 SDL " },
+	{ 275, "\262\325\340\342\330\332\320\333\354\335\353\331 underscan:" },
+	{ 276, "\262\330\324\325\336" },
+	{ 277, "\262\330\340\342\343\320\333\354\335\320\357 \332\333\320\322\330\320\342\343\340\320" },
+	{ 278, "\263\340\336\334\332\336\341\342\354" },
+	{ 279, "Windows MIDI" },
+	{ 280, "\275\325\324\336\341\342\320\342\336\347\335\336 \337\340\320\322 \324\333\357 \327\320\337\330\341\330" },
+	{ 281, "\276\350\330\321\332\320 \327\320\337\330\341\330 \324\320\335\335\353\345" },
+	{ 282, "\264\320" },
+	{ 283, "\262\353 \324\336\333\326\335\353 \337\325\340\325\327\320\337\343\341\342\330\342\354 ScummVM \347\342\336\321\353 \337\340\330\334\325\335\330\342\354 \330\327\334\325\335\325\335\330\357." },
+	{ 284, "\267\336\335\320" },
+	{ 285, "\303\334\325\335\354\350. \334\320\341\350\342\320\321" },
+	{ 286, "\303\322\325\333. \334\320\341\350\342\320\321" },
+	{ 287, "\332\320\326\324\353\325 10 \334\330\335\343\342" },
+	{ 288, "\332\320\326\324\353\325 15 \334\330\335\343\342" },
+	{ 289, "\332\320\326\324\353\325 30 \334\330\335\343\342" },
+	{ 290, "\332\320\326\324\353\325 5 \334\330\335\343\342" },
+	{ 291, "\276 \337\340\336~\323~\340\320\334\334\325" },
+	{ 292, "~\264~\336\321. \330\323\340\343..." },
+	{ 293, "\276~\342~\334\325\335\320" },
+	{ 294, "~\267~\320\332\340\353\342\354" },
+	{ 295, "\276~\337~\346\330\330 \330\323\340\353..." },
+	{ 296, "~\277~\336\334\336\351\354" },
+	{ 297, "\303\337\340\320\322\333\325\335\330\325 \321\336\357\334\330 \322 Indy" },
+	{ 298, "~\272~\333\320\322\330\350\330" },
+	{ 299, "\273\325\322\336\340\343\332\330\331 \340\325\326\330\334" },
+	{ 300, "~\267~\320\323\340\343\327\330\342\354" },
+	{ 301, "~\267~\320\323\340\343\327\330\342\354..." },
+	{ 302, "~\301~\333\325\324" },
+	{ 303, "~O~K" },
+	{ 304, "~\276~\337\346\330\330" },
+	{ 305, "~\276~\337\346\330\330..." },
+	{ 306, "~\277~\340\325\324" },
+	{ 307, "~\262~\353\345\336\324" },
+	{ 308, "~\303~\324\320\333\330\342\354 \330\323\340\343" },
+	{ 309, "\277\340\336\324\336\333~\326~\330\342\354" },
+	{ 310, "~\262~\353\331\342\330 \322 \323\333\320\322\335\336\325 \334\325\335\356" },
+	{ 311, "~\267~\320\337\330\341\320\342\354" },
+	{ 312, "\277~\343~\341\332" },
+	{ 313, "\277\325\340\325\345\336\324\353 \320\332\342\330\322\330\340\336\322\320\335\353" },
+	{ 314, "\315\344\344\325\332\342\353 \322\336\324\353 \322\332\333\356\347\325\335\353" },
+	{ 315, "\300\325\326\330\334 \321\353\341\342\340\336\323\336 \337\325\340\325\345\336\324\320 \320\332\342\330\322\330\340\336\322\320\335" },
 	{ -1, NULL }
 };
 
+static const PoMessageEntry _translation_it_IT[] = {
+	{ 0, "Project-Id-Version: ScummVM 1.2.0svn\nReport-Msgid-Bugs-To: scummvm-devel at lists.sf.net\nPOT-Creation-Date: 2010-07-30 22:14+0100\nPO-Revision-Date: 2010-06-30 23:56+0100\nLast-Translator: Maff <matteo.maff at gmail dot com>\nLanguage-Team: Italian\nMIME-Version: 1.0\nContent-Type: text/plain; charset=iso-8859-1\nContent-Transfer-Encoding: 8bit\nLanguage: Italiano\n" },
+	{ 1, "   Sei sicuro di voler uscire?   " },
+	{ 2, " (Attivo)" },
+	{ 3, " (Gioco)" },
+	{ 4, " (Globale)" },
+	{ 5, "(build creata il %s)" },
+	{ 6, ", errore nel montare la condivisione" },
+	{ 7, ", condivisione non montata" },
+	{ 8, "... progresso ..." },
+	{ 9, "11kHz" },
+	{ 10, "22 kHz" },
+	{ 11, "44 kHz" },
+	{ 12, "48 kHz" },
+	{ 13, "8 kHz" },
+	{ 14, "<predefinito>" },
+	{ 15, "Informazioni su ScummVM" },
+	{ 16, "Emulatore AdLib" },
+	{ 17, "Emulatore AdLib:" },
+	{ 18, "AdLib \350 utilizzato per la musica in molti giochi" },
+	{ 19, "Aggiungi gioco..." },
+	{ 20, "Renderer con antialiasing (16bpp)" },
+	{ 21, "Correzione proporzioni" },
+	{ 22, "Tasto associato: %s" },
+	{ 23, "Tasto associato: nessuno" },
+	{ 24, "Audio" },
+	{ 25, "Autosalva:" },
+	{ 26, "Motori disponibili:" },
+	{ 27, "~I~nfo..." },
+	{ 28, "Associa tasti" },
+	{ 29, "Entrambi" },
+	{ 30, "Luminosit\340:" },
+	{ 31, "Annulla" },
+	{ 32, "Impossibile creare il file" },
+	{ 33, "Modifica le opzioni di gioco" },
+	{ 34, "Modifica le opzioni globali di ScummVM" },
+	{ 35, "Seleziona se vuoi usare il dispositivo hardware audio compatibile con Roland che \350 connesso al tuo computer" },
+	{ 36, "Scegli" },
+	{ 37, "Scegli un'azione da mappare" },
+	{ 38, "Cancella" },
+	{ 39, "Chiudi" },
+	{ 40, "Corregge le proporzioni dei giochi 320x200" },
+	{ 41, "Impossibile trovare un motore in grado di eseguire il gioco selezionato" },
+	{ 42, "Modalit\340 video attuale:" },
+	{ 43, "Cursore gi\371" },
+	{ 44, "Cursore a sinistra" },
+	{ 45, "Cursore a destra" },
+	{ 46, "Cursore su" },
+	{ 47, "Emulatore OPL DOSBox" },
+	{ 48, "DVD" },
+	{ 49, "DVD montato con successo" },
+	{ 50, "DVD non montato" },
+	{ 51, "Data: " },
+	{ 52, "Debugger" },
+	{ 53, "Predefinito" },
+	{ 54, "Elimina" },
+	{ 55, "Disattiva spegnimento in chiusura" },
+	{ 56, "Grafica disattivata" },
+	{ 57, "Rilevati %d nuovi giochi..." },
+	{ 58, "Rilevati %d nuovi giochi." },
+	{ 59, "Visualizza " },
+	{ 60, "Mostra tastiera" },
+	{ 61, "Sei sicuro di voler eliminare questo salvataggio?" },
+	{ 62, "Sei sicuro di voler rimuovere questa configurazione di gioco?" },
+	{ 63, "Vuoi davvero eseguire il rilevatore di giochi in massa? Potrebbe aggiungere un numero enorme di giochi." },
+	{ 64, "Vuoi caricare o salvare il gioco?" },
+	{ 65, "Vuoi eseguire una scansione automatica?" },
+	{ 66, "Sei sicuro di voler uscire?" },
+	{ 67, "Double-strike" },
+	{ 68, "Gi\371" },
+	{ 69, "Attiva la modalit\340 Roland GS" },
+	{ 70, "Il motore non supporta il livello di debug '%s'" },
+	{ 71, "Inglese" },
+	{ 72, "Errore nell'esecuzione del gioco:" },
+	{ 73, "Errore nel montare il DVD" },
+	{ 74, "Percorso extra:" },
+	{ 75, "Emulatore FM Towns" },
+	{ 76, "Modalit\340 veloce" },
+	{ 77, "Funzionalit\340 compilate in:" },
+	{ 78, "Osservazione libera" },
+	{ 79, "Titolo completo del gioco" },
+	{ 80, "Modalit\340 a schermo intero" },
+	{ 81, "Accelerazione pad GC:" },
+	{ 82, "Sensibilit\340 pad GC:" },
+	{ 83, "Grafica" },
+	{ 84, "Dispositivo GM:" },
+	{ 85, "Lingua GUI:" },
+	{ 86, "Renderer GUI:" },
+	{ 87, "Gioco" },
+	{ 88, "Dati di gioco non trovati" },
+	{ 89, "ID di gioco non supportato" },
+	{ 90, "Percorso gioco:" },
+	{ 91, "Menu globale" },
+	{ 92, "Vai alla cartella superiore" },
+	{ 93, "Cartella superiore" },
+	{ 94, "Grafica" },
+	{ 95, "Modalit\340:" },
+	{ 96, "Ridimensionamento hardware (veloce, ma di bassa qualit\340)" },
+	{ 97, "Hercules ambra" },
+	{ 98, "Hercules verde" },
+	{ 99, "Nascondi la barra degli strumenti" },
+	{ 100, "Audio ad alta qualit\340 (pi\371 lento) (riavviare)" },
+	{ 101, "Valori pi\371 alti restituiscono un suono di maggior qualit\340, ma potrebbero non essere supportati dalla tua scheda audio" },
+	{ 102, "Tieni premuto Shift per l'aggiunta in massa" },
+	{ 103, "Underscan orizzontale:" },
+	{ 104, "Emulatore IBM PCjr" },
+	{ 105, "ID:" },
+	{ 106, "Avvia rete" },
+	{ 107, "Schermo in primo piano:" },
+	{ 108, "Avvio in corso dell'emulatore MT-32" },
+	{ 109, "Avvio rete in corso" },
+	{ 110, "Input" },
+	{ 111, "Percorso non valido" },
+	{ 112, "Programmatore tasti" },
+	{ 113, "Tastiera" },
+	{ 114, "Mappa tasti:" },
+	{ 115, "Tasti" },
+	{ 116, "Lingua dell'interfaccia grafica di ScummVM" },
+	{ 117, "Lingua del gioco. Un gioco inglese non potr\340 risultare tradotto in italiano" },
+	{ 118, "Lingua:" },
+	{ 119, "Sinistra" },
+	{ 120, "Clic sinistro" },
+	{ 121, "Carica" },
+	{ 122, "Carica gioco:" },
+	{ 123, "Carica un salvataggio del gioco selezionato" },
+	{ 124, "Emulatore OPL MAME" },
+	{ 125, "MIDI" },
+	{ 126, "Guadagno MIDI:" },
+	{ 128, "Disposit. MT32:" },
+	{ 129, "Emulatore MT-32" },
+	{ 130, "Schermo principale:" },
+	{ 131, "Mappa" },
+	{ 132, "Agg. in massa..." },
+	{ 133, "Menu" },
+	{ 134, "Varie" },
+	{ 135, "Modalit\340 mista AdLib/MIDI" },
+	{ 136, "Monta DVD" },
+	{ 137, "Monta SMB" },
+	{ 138, "Clic del mouse" },
+	{ 139, "Multifunzione" },
+	{ 140, "Dispositivo GM:" },
+	{ 141, "Volume musica:" },
+	{ 142, "Disattiva audio" },
+	{ 143, "Nome:" },
+	{ 144, "Rete disattivata" },
+	{ 145, "Rete non avviata (%d)" },
+	{ 146, "Rete attiva" },
+	{ 147, "Rete attiva, condivisione montata" },
+	{ 148, "Mai" },
+	{ 149, "No" },
+	{ 150, "Nessuna data salvata" },
+	{ 151, "Nessuna musica" },
+	{ 152, "Nessun tempo salvato" },
+	{ 153, "Nessun orario salvato" },
+	{ 154, "Nessuno" },
+	{ 155, "Normale (nessun ridimensionamento)" },
+	{ 156, "OK" },
+	{ 157, "Frequenza:" },
+	{ 158, "Ignora le impostazioni MIDI globali" },
+	{ 159, "Ignora le impostazioni MIDI globali" },
+	{ 160, "Ignora le impostazioni audio globali" },
+	{ 161, "Ignora le impostazioni grafiche globali" },
+	{ 162, "Ignora le impostazioni globali di volume" },
+	{ 163, "Emulatore PC Speaker" },
+	{ 164, "Password:" },
+	{ 165, "Il percorso non \350 una cartella" },
+	{ 166, "Il percorso non \350 un file" },
+	{ 167, "Il percorso non esiste" },
+	{ 168, "Percorsi" },
+	{ 169, "Pausa" },
+	{ 170, "Scegli il gioco:" },
+	{ 171, "La piattaforma per la quale il gioco \350 stato concepito" },
+	{ 172, "Piattaforma:" },
+	{ 173, "Tempo di gioco: " },
+	{ 174, "Seleziona un'azione" },
+	{ 175, "Percorso plugin:" },
+	{ 176, "Disp. preferito:" },
+	{ 177, "Premi il tasto da associare" },
+	{ 178, "Esci" },
+	{ 179, "Chiudi ScummVM" },
+	{ 180, "Autorizzazione di lettura negata" },
+	{ 181, "Lettura fallita" },
+	{ 182, "Riprogramma tasti" },
+	{ 183, "Rimuove il gioco dalla lista. I file del gioco rimarranno intatti" },
+	{ 184, "Resa grafica:" },
+	{ 185, "Destra" },
+	{ 186, "Clic destro" },
+	{ 187, "Clic destro" },
+	{ 188, "Rotazione" },
+	{ 189, "Volume effetti:" },
+	{ 190, "SMB" },
+	{ 191, "Salva" },
+	{ 192, "Salvataggi:" },
+	{ 193, "Salvataggi:" },
+	{ 194, "Salva gioco:" },
+	{ 195, "Scansione completa!" },
+	{ 196, "%d cartelle analizzate..." },
+	{ 197, "Menu principale di ScummVM" },
+	{ 198, "ScummVM non ha potuto trovare un motore in grado di eseguire il gioco selezionato!" },
+	{ 199, "ScummVM non ha potuto trovare nessun gioco nella cartella specificata!" },
+	{ 200, "ScummVM non ha potuto aprire la cartella specificata!" },
+	{ 201, "Cerca nella lista dei giochi" },
+	{ 202, "Cerca:" },
+	{ 203, "Seleziona SoundFont" },
+	{ 204, "Seleziona un tema" },
+	{ 205, "Seleziona la cartella di gioco aggiuntiva" },
+	{ 206, "Seleziona un'azione e clicca 'Mappa'" },
+	{ 207, "Seleziona la cartella dei temi dell'interfaccia" },
+	{ 208, "Seleziona la cartella dei file aggiuntivi" },
+	{ 209, "Seleziona la cartella dei plugin" },
+	{ 210, "Seleziona la cartella dei salvataggi" },
+	{ 211, "Seleziona la cartella per i salvataggi" },
+	{ 212, "Seleziona la cartella contenente i file di gioco" },
+	{ 213, "Sensibilit\340" },
+	{ 214, "Server:" },
+	{ 215, "Condivisione:" },
+	{ 216, "Breve identificatore di gioco utilizzato per il riferimento a salvataggi e per l'esecuzione del gioco dalla riga di comando" },
+	{ 217, "Mostra tastiera" },
+	{ 218, "Mostra cursore del mouse" },
+	{ 219, "Mostra i sottotitoli e attiva le voci" },
+	{ 220, "Mostra/nascondi cursore" },
+	{ 221, "Salta" },
+	{ 222, "Salta battuta" },
+	{ 223, "Salta testo" },
+	{ 224, "Aggancia ai bordi" },
+	{ 225, "Ridimensionamento software (di buona qualit\340, ma pi\371 lento)" },
+	{ 226, "Suono on/off" },
+	{ 227, "SoundFont \350 supportato da alcune schede audio, Fluidsynth e Timidity" },
+	{ 228, "SoundFont:" },
+	{ 229, "Voci" },
+	{ 230, "Modalit\340 di resa grafica speciali supportate da alcuni giochi" },
+	{ 231, "Volume degli effetti sonori" },
+	{ 232, "Specifica il dispositivo audio predefinito per l'output General MIDI" },
+	{ 233, "Specifica il dispositivo audio predefinito per l'output Roland MT-32/LAPC1/CM32l/CM64" },
+	{ 234, "Specifica il dispositivo di output audio o l'emulatore della scheda audio" },
+	{ 235, "Specifica il percorso di ulteriori dati usati dai giochi o da ScummVM" },
+	{ 236, "Specifica il percorso di ulteriori dati usati dal gioco" },
+	{ 237, "Specifica il dispositivo audio o l'emulatore della scheda audio preferiti" },
+	{ 238, "Specifica dove archiviare i salvataggi" },
+	{ 239, "Voci" },
+	{ 240, "Volume voci:" },
+	{ 241, "Renderer standard (16bpp)" },
+	{ 242, "Esegue il gioco selezionato" },
+	{ 243, "Stato:" },
+	{ 244, "Sub" },
+	{ 245, "Velocit\340 testo:" },
+	{ 246, "Sottotitoli" },
+	{ 247, "Cambia personaggio" },
+	{ 248, "Un tocco per il clic sinistro, doppio tocco per il clic destro" },
+	{ 249, "Testo e voci:" },
+	{ 250, "La cartella scelta \350 in sola lettura. Si prega di sceglierne un'altra." },
+	{ 251, "Percorso tema:" },
+	{ 252, "Tema:" },
+	{ 253, "Questo ID di gioco \350 gi\340 in uso. Si prega di sceglierne un'altro." },
+	{ 254, "Questo gioco non supporta il caricamento di salvataggi dalla schermata di avvio." },
+	{ 255, "Ora: " },
+	{ 256, "Attesa per l'avvio della rete" },
+	{ 257, "Compensa X del tocco" },
+	{ 258, "Compensa Y del tocco" },
+	{ 259, "Modalit\340 touchpad disattivata." },
+	{ 260, "Modalit\340 touchpad attivata." },
+	{ 261, "Roland MT-32 effettivo (disattiva emulazione GM)" },
+	{ 262, "Disattiva la mappatura General MIDI per i giochi con colonna sonora Roland MT-32" },
+	{ 263, "Sconosciuto" },
+	{ 264, "Errore sconosciuto" },
+	{ 265, "Smonta DVD" },
+	{ 266, "Smonta SMB" },
+	{ 267, "Non ridimensionato (devi scorrere a sinistra e a destra)" },
+	{ 268, "Modalit\340 colore non supportata" },
+	{ 269, "Salvataggio senza titolo" },
+	{ 270, "Su" },
+	{ 271, "Utilizza generazione di suono sia MIDI che AdLib" },
+	{ 272, "Utilizza il controllo del cursore stile trackpad del portatile" },
+	{ 273, "Nome utente:" },
+	{ 274, "Utilizzo del driver SDL " },
+	{ 275, "Underscan verticale:" },
+	{ 276, "Video" },
+	{ 277, "Tastiera virtuale" },
+	{ 278, "Volume" },
+	{ 279, "MIDI Windows" },
+	{ 280, "Autorizzazione di scrittura negata" },
+	{ 281, "Scrittura dati fallita" },
+	{ 282, "S\354" },
+	{ 283, "Devi riavviare ScummVM affinch\351 le modifiche abbiano effetto." },
+	{ 284, "Zona" },
+	{ 285, "Zoom indietro" },
+	{ 286, "Zoom avanti" },
+	{ 287, "ogni 10 minuti" },
+	{ 288, "ogni 15 minuti" },
+	{ 289, "ogni 30 minuti" },
+	{ 290, "ogni 5 minuti" },
+	{ 291, "~I~nfo" },
+	{ 292, "~A~ggiungi gioco..." },
+	{ 293, "~A~nnulla" },
+	{ 294, "~C~hiudi" },
+	{ 295, "~M~odifica gioco..." },
+	{ 296, "~A~iuto" },
+	{ 297, "Controlli combattimento di ~I~ndy" },
+	{ 298, "~T~asti" },
+	{ 299, "~M~odalit\340 mancini" },
+	{ 300, "~C~arica" },
+	{ 301, "~C~arica..." },
+	{ 302, "~S~uccessivi" },
+	{ 303, "~O~K" },
+	{ 304, "~O~pzioni" },
+	{ 305, "~O~pzioni..." },
+	{ 306, "~P~recedenti" },
+	{ 307, "C~h~iudi" },
+	{ 308, "~R~imuovi gioco" },
+	{ 309, "~R~ipristina" },
+	{ 310, "~V~ai a schermata di avvio" },
+	{ 311, "~S~alva" },
+	{ 312, "~G~ioca" },
+	{ 313, "~T~ransizioni attive" },
+	{ 314, "~E~ffetto acqua attivo" },
+	{ 315, "Modalit\340 ~Z~ip attivata" },
+	{ -1, NULL }
+};
+
+static const PoMessageEntry _translation_hu_HU[] = {
+	{ 0, "Project-Id-Version: ScummVM VERSION\nReport-Msgid-Bugs-To: scummvm-devel at lists.sf.net\nPOT-Creation-Date: 2010-07-30 22:14+0100\nPO-Revision-Date: 2009-11-25 07:42-0500\nLast-Translator: Alex Bevilacqua <alexbevi at gmail.com>\nLanguage-Team: Hungarian\nMIME-Version: 1.0\nContent-Type: text/plain; charset=cp1250\nContent-Transfer-Encoding: 8bit\nLanguage: \nPlural-Forms: nplurals=2; plural=(n != 1);\n" },
+	{ 14, "<alap\351rtelmezett>" },
+	{ 16, "AdLib vezet :" },
+	{ 17, "AdLib vezet :" },
+	{ 21, "Aspect adag korrekci\363" },
+	{ 24, "Hang" },
+	{ 25, "Automatikus ment\351s:" },
+	{ 28, "Kulcsok" },
+	{ 42, "Renderel\351si m\363d:" },
+	{ 53, "<alap\351rtelmezett>" },
+	{ 69, "K\351pess\351 Roland GS Mode" },
+	{ 74, "Extra \332tvonal:" },
+	{ 76, "Grafikus m\363d:" },
+	{ 80, "Teljes k\351perny s m\363d:" },
+	{ 86, "Lek\351pez eszk\366z GUI:" },
+	{ 90, "Extra \332tvonal:" },
+	{ 94, "Grafik\341val" },
+	{ 95, "Grafikus m\363d:" },
+	{ 115, "Kulcsok" },
+	{ 124, "AdLib vezet :" },
+	{ 126, "MIDI nyeres\351g:" },
+	{ 128, "Zene mennyis\351g:" },
+	{ 135, "Vegyes AdLib/MIDI m\363d" },
+	{ 140, "Zene mennyis\351g:" },
+	{ 141, "Zene mennyis\351g:" },
+	{ 142, "Muta \326sszes" },
+	{ 148, "Soha" },
+	{ 149, "Semmi" },
+	{ 154, "Semmi" },
+	{ 156, "Igen" },
+	{ 157, "Kimeneti teljes\355tm\351ny:" },
+	{ 168, "\326sv\351nyek" },
+	{ 169, "\326sv\351nyek" },
+	{ 184, "Renderel\351si m\363d:" },
+	{ 189, "SFX mennyis\351ge" },
+	{ 192, "Extra \332tvonal:" },
+	{ 214, "Soha" },
+	{ 239, "Csak a besz\351d" },
+	{ 240, "Besz\351d mennyis\351g:" },
+	{ 245, "Felirat sebess\351g:" },
+	{ 246, "Csak feliratok" },
+	{ 249, "Sz\366veg \351s besz\351d:" },
+	{ 252, "T\351ma:" },
+	{ 255, "T\351ma:" },
+	{ 261, "Igaz Roland MT-32 (megb\351n\355t GM emul\341ci\363)" },
+	{ 274, "Zenei vezet :" },
+	{ 278, "Volumene" },
+	{ 284, "Semmi" },
+	{ 287, "10 percenk\351nt" },
+	{ 288, "15 percenk\351nt" },
+	{ 289, "30 percenk\351nt" },
+	{ 290, "5 percenk\351nt" },
+	{ 298, "Kulcsok" },
+	{ 299, "Renderel\351si m\363d:" },
+	{ 303, "Igen" },
+	{ -1, NULL }
+};
+
 static const PoMessageEntry _translation_fr_FR[] = {
-	{ 0, "Project-Id-Version: ScummVM 1.2.0svn\nReport-Msgid-Bugs-To: scummvm-devel at lists.sf.net\nPOT-Creation-Date: 2010-07-12 17:44+0200\nPO-Revision-Date: 2010-07-09 18:17+0100\nLast-Translator: Thierry Crozat <criezy at scummvm.org>\nLanguage-Team: French <scummvm-devel at lists.sf.net>\nLanguage: Francais\nMIME-Version: 1.0\nContent-Type: text/plain; charset=iso-8859-1\nContent-Transfer-Encoding: 8bit\nPlural-Forms: nplurals=2; plural=n>1;\n" },
+	{ 0, "Project-Id-Version: ScummVM 1.2.0svn\nReport-Msgid-Bugs-To: scummvm-devel at lists.sf.net\nPOT-Creation-Date: 2010-07-30 22:14+0100\nPO-Revision-Date: 2010-07-30 22:18+0100\nLast-Translator: Thierry Crozat <criezy at scummvm.org>\nLanguage-Team: French <scummvm-devel at lists.sf.net>\nMIME-Version: 1.0\nContent-Type: text/plain; charset=iso-8859-1\nContent-Transfer-Encoding: 8bit\nLanguage: Francais\nPlural-Forms: nplurals=2; plural=n>1;\n" },
 	{ 1, "Voulez-vous vraiment quitter?" },
 	{ 2, "(Actif)" },
 	{ 3, "(Jeu)" },
@@ -769,516 +1151,520 @@
 	{ 124, "\311mulateur MAME OPL" },
 	{ 125, "MIDI" },
 	{ 126, "Gain MIDI:" },
-	{ 127, "Sortie MT-32:" },
-	{ 128, "\311mulateur MT-32" },
-	{ 129, "\311chelle de l'\351cran principal" },
-	{ 130, "Affecter" },
-	{ 131, "Ajout Massif..." },
-	{ 132, "Menu" },
-	{ 133, "Divers" },
-	{ 134, "Mode mixe AdLib/MIDI" },
-	{ 135, "Monter le DVD" },
-	{ 136, "Monter SMB" },
-	{ 137, "Clic de souris" },
-	{ 138, "Fonction Multiple" },
-	{ 139, "Sortie Audio:" },
-	{ 140, "Volume Musique:" },
-	{ 141, "Silence" },
-	{ 142, "Nom:" },
-	{ 143, "R\351seau d\351connect\351" },

@@ Diff output truncated at 100000 characters. @@

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list