[Scummvm-cvs-logs] SF.net SVN: scummvm:[41989] scummvm/branches/gsoc2009-mods

nolange at users.sourceforge.net nolange at users.sourceforge.net
Wed Jul 1 16:45:26 CEST 2009


Revision: 41989
          http://scummvm.svn.sourceforge.net/scummvm/?rev=41989&view=rev
Author:   nolange
Date:     2009-07-01 14:45:24 +0000 (Wed, 01 Jul 2009)

Log Message:
-----------
Merging in changes from trunk

Modified Paths:
--------------
    scummvm/branches/gsoc2009-mods/AUTHORS
    scummvm/branches/gsoc2009-mods/Makefile.common
    scummvm/branches/gsoc2009-mods/NEWS
    scummvm/branches/gsoc2009-mods/backends/keymapper/remap-dialog.cpp
    scummvm/branches/gsoc2009-mods/backends/midi/seq.cpp
    scummvm/branches/gsoc2009-mods/backends/midi/timidity.cpp
    scummvm/branches/gsoc2009-mods/backends/platform/PalmOS/Src/be_os5.cpp
    scummvm/branches/gsoc2009-mods/backends/platform/dc/dc.h
    scummvm/branches/gsoc2009-mods/backends/platform/dc/dcmain.cpp
    scummvm/branches/gsoc2009-mods/backends/platform/dc/selector.cpp
    scummvm/branches/gsoc2009-mods/backends/platform/ds/arm7/source/main.cpp
    scummvm/branches/gsoc2009-mods/backends/platform/ds/arm9/source/osystem_ds.cpp
    scummvm/branches/gsoc2009-mods/backends/platform/ds/arm9/source/osystem_ds.h
    scummvm/branches/gsoc2009-mods/backends/platform/iphone/iphone_video.m
    scummvm/branches/gsoc2009-mods/backends/platform/iphone/osys_iphone.cpp
    scummvm/branches/gsoc2009-mods/backends/platform/iphone/osys_iphone.h
    scummvm/branches/gsoc2009-mods/backends/platform/null/null.cpp
    scummvm/branches/gsoc2009-mods/backends/platform/ps2/systemps2.h
    scummvm/branches/gsoc2009-mods/backends/platform/psp/osys_psp.cpp
    scummvm/branches/gsoc2009-mods/backends/platform/psp/osys_psp.h
    scummvm/branches/gsoc2009-mods/backends/platform/psp/psp.spec
    scummvm/branches/gsoc2009-mods/backends/platform/sdl/sdl.cpp
    scummvm/branches/gsoc2009-mods/backends/platform/symbian/src/SymbianOS.cpp
    scummvm/branches/gsoc2009-mods/backends/platform/wii/wii.mk
    scummvm/branches/gsoc2009-mods/backends/platform/wince/wince-sdl.cpp
    scummvm/branches/gsoc2009-mods/backends/vkeybd/packs/vkeybd_default/lowercase320x240.bmp
    scummvm/branches/gsoc2009-mods/backends/vkeybd/packs/vkeybd_default/lowercase640x480.bmp
    scummvm/branches/gsoc2009-mods/backends/vkeybd/packs/vkeybd_default/vkeybd_default.xml
    scummvm/branches/gsoc2009-mods/backends/vkeybd/packs/vkeybd_default.zip
    scummvm/branches/gsoc2009-mods/backends/vkeybd/virtual-keyboard.cpp
    scummvm/branches/gsoc2009-mods/backends/vkeybd/virtual-keyboard.h
    scummvm/branches/gsoc2009-mods/common/debug.cpp
    scummvm/branches/gsoc2009-mods/common/debug.h
    scummvm/branches/gsoc2009-mods/common/hashmap.cpp
    scummvm/branches/gsoc2009-mods/common/hashmap.h
    scummvm/branches/gsoc2009-mods/common/iff_container.h
    scummvm/branches/gsoc2009-mods/common/system.h
    scummvm/branches/gsoc2009-mods/common/util.cpp
    scummvm/branches/gsoc2009-mods/common/util.h
    scummvm/branches/gsoc2009-mods/configure
    scummvm/branches/gsoc2009-mods/dists/iphone/scummvm.xcodeproj/project.pbxproj
    scummvm/branches/gsoc2009-mods/dists/msvc7/gob.vcproj
    scummvm/branches/gsoc2009-mods/dists/msvc7/parallaction.vcproj
    scummvm/branches/gsoc2009-mods/dists/msvc7/scummvm.vcproj
    scummvm/branches/gsoc2009-mods/dists/msvc71/gob.vcproj
    scummvm/branches/gsoc2009-mods/dists/msvc71/parallaction.vcproj
    scummvm/branches/gsoc2009-mods/dists/msvc71/scummvm.vcproj
    scummvm/branches/gsoc2009-mods/dists/msvc8/gob.vcproj
    scummvm/branches/gsoc2009-mods/dists/msvc8/parallaction.vcproj
    scummvm/branches/gsoc2009-mods/dists/msvc8/scummvm.vcproj
    scummvm/branches/gsoc2009-mods/dists/msvc9/gob.vcproj
    scummvm/branches/gsoc2009-mods/dists/msvc9/parallaction.vcproj
    scummvm/branches/gsoc2009-mods/dists/msvc9/scummvm.vcproj
    scummvm/branches/gsoc2009-mods/dists/wii/READMII
    scummvm/branches/gsoc2009-mods/dists/wii/meta.xml
    scummvm/branches/gsoc2009-mods/engines/agi/agi.cpp
    scummvm/branches/gsoc2009-mods/engines/agi/cycle.cpp
    scummvm/branches/gsoc2009-mods/engines/agi/detection.cpp
    scummvm/branches/gsoc2009-mods/engines/agi/op_cmd.cpp
    scummvm/branches/gsoc2009-mods/engines/agi/sound.cpp
    scummvm/branches/gsoc2009-mods/engines/agi/sound.h
    scummvm/branches/gsoc2009-mods/engines/agos/animation.cpp
    scummvm/branches/gsoc2009-mods/engines/agos/animation.h
    scummvm/branches/gsoc2009-mods/engines/agos/charset-fontdata.cpp
    scummvm/branches/gsoc2009-mods/engines/cine/bg.cpp
    scummvm/branches/gsoc2009-mods/engines/cine/cine.h
    scummvm/branches/gsoc2009-mods/engines/cine/gfx.cpp
    scummvm/branches/gsoc2009-mods/engines/cine/gfx.h
    scummvm/branches/gsoc2009-mods/engines/cine/main_loop.cpp
    scummvm/branches/gsoc2009-mods/engines/cine/pal.cpp
    scummvm/branches/gsoc2009-mods/engines/cine/pal.h
    scummvm/branches/gsoc2009-mods/engines/cine/sound.cpp
    scummvm/branches/gsoc2009-mods/engines/cine/various.cpp
    scummvm/branches/gsoc2009-mods/engines/cruise/cruise.cpp
    scummvm/branches/gsoc2009-mods/engines/cruise/cruise.h
    scummvm/branches/gsoc2009-mods/engines/cruise/cruise_main.cpp
    scummvm/branches/gsoc2009-mods/engines/cruise/dataLoader.cpp
    scummvm/branches/gsoc2009-mods/engines/cruise/dataLoader.h
    scummvm/branches/gsoc2009-mods/engines/cruise/detection.cpp
    scummvm/branches/gsoc2009-mods/engines/cruise/function.cpp
    scummvm/branches/gsoc2009-mods/engines/cruise/menu.cpp
    scummvm/branches/gsoc2009-mods/engines/cruise/saveload.cpp
    scummvm/branches/gsoc2009-mods/engines/cruise/sound.cpp
    scummvm/branches/gsoc2009-mods/engines/cruise/sound.h
    scummvm/branches/gsoc2009-mods/engines/cruise/vars.cpp
    scummvm/branches/gsoc2009-mods/engines/cruise/vars.h
    scummvm/branches/gsoc2009-mods/engines/cruise/volume.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/dataio.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/dataio.h
    scummvm/branches/gsoc2009-mods/engines/gob/demos/demoplayer.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/detection.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/draw.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/draw_v1.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/draw_v2.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/game.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/game.h
    scummvm/branches/gsoc2009-mods/engines/gob/game_fascin.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/game_v1.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/game_v2.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/game_v6.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/global.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/global.h
    scummvm/branches/gsoc2009-mods/engines/gob/gob.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/gob.h
    scummvm/branches/gsoc2009-mods/engines/gob/init.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/inter.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/inter.h
    scummvm/branches/gsoc2009-mods/engines/gob/inter_bargon.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/inter_fascin.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/inter_v1.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/inter_v2.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/inter_v3.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/inter_v4.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/inter_v5.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/inter_v6.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/map_v1.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/map_v2.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/map_v4.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/module.mk
    scummvm/branches/gsoc2009-mods/engines/gob/mult.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/mult_v1.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/mult_v2.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/save/savefile.h
    scummvm/branches/gsoc2009-mods/engines/gob/save/saveload.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/save/saveload_v3.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/save/saveload_v4.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/scenery.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/sound/adlib.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/sound/adlib.h
    scummvm/branches/gsoc2009-mods/engines/gob/sound/bgatmosphere.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/sound/bgatmosphere.h
    scummvm/branches/gsoc2009-mods/engines/gob/sound/cdrom.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/sound/cdrom.h
    scummvm/branches/gsoc2009-mods/engines/gob/sound/infogrames.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/sound/protracker.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/sound/protracker.h
    scummvm/branches/gsoc2009-mods/engines/gob/sound/sound.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/sound/sound.h
    scummvm/branches/gsoc2009-mods/engines/gob/sound/soundblaster.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/sound/soundblaster.h
    scummvm/branches/gsoc2009-mods/engines/gob/sound/sounddesc.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/sound/sounddesc.h
    scummvm/branches/gsoc2009-mods/engines/gob/sound/soundmixer.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/sound/soundmixer.h
    scummvm/branches/gsoc2009-mods/engines/gob/util.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/util.h
    scummvm/branches/gsoc2009-mods/engines/gob/videoplayer.cpp
    scummvm/branches/gsoc2009-mods/engines/groovie/detection.cpp
    scummvm/branches/gsoc2009-mods/engines/groovie/groovie.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/animator_mr.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/debugger.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/gui.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/gui.h
    scummvm/branches/gsoc2009-mods/engines/kyra/gui_hof.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/gui_lok.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/gui_lok.h
    scummvm/branches/gsoc2009-mods/engines/kyra/gui_lol.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/gui_lol.h
    scummvm/branches/gsoc2009-mods/engines/kyra/gui_mr.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/gui_v2.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/gui_v2.h
    scummvm/branches/gsoc2009-mods/engines/kyra/items_hof.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/items_lol.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/kyra_hof.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/kyra_lok.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/kyra_lok.h
    scummvm/branches/gsoc2009-mods/engines/kyra/kyra_mr.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/kyra_mr.h
    scummvm/branches/gsoc2009-mods/engines/kyra/kyra_v1.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/kyra_v1.h
    scummvm/branches/gsoc2009-mods/engines/kyra/lol.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/lol.h
    scummvm/branches/gsoc2009-mods/engines/kyra/saveload.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/scene_hof.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/scene_lok.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/scene_lol.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/scene_mr.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/screen.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/screen.h
    scummvm/branches/gsoc2009-mods/engines/kyra/screen_hof.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/screen_hof.h
    scummvm/branches/gsoc2009-mods/engines/kyra/screen_lok.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/screen_lok.h
    scummvm/branches/gsoc2009-mods/engines/kyra/screen_lol.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/screen_lol.h
    scummvm/branches/gsoc2009-mods/engines/kyra/screen_v2.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/screen_v2.h
    scummvm/branches/gsoc2009-mods/engines/kyra/script.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/script.h
    scummvm/branches/gsoc2009-mods/engines/kyra/script_hof.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/script_lok.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/script_lol.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/script_mr.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/script_tim.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/script_tim.h
    scummvm/branches/gsoc2009-mods/engines/kyra/seqplayer.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/sequences_hof.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/sequences_lok.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/sequences_lol.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/sound_lol.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/sound_midi.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/sound_towns.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/sprites.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/sprites_lol.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/staticres.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/text_lok.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/text_lol.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/text_lol.h
    scummvm/branches/gsoc2009-mods/engines/kyra/text_mr.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/util.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/util.h
    scummvm/branches/gsoc2009-mods/engines/kyra/vqa.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/vqa.h
    scummvm/branches/gsoc2009-mods/engines/kyra/wsamovie.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/wsamovie.h
    scummvm/branches/gsoc2009-mods/engines/parallaction/disk.h
    scummvm/branches/gsoc2009-mods/engines/parallaction/disk_br.cpp
    scummvm/branches/gsoc2009-mods/engines/parallaction/disk_ns.cpp
    scummvm/branches/gsoc2009-mods/engines/parallaction/gfxbase.cpp
    scummvm/branches/gsoc2009-mods/engines/parallaction/module.mk
    scummvm/branches/gsoc2009-mods/engines/parallaction/sound.h
    scummvm/branches/gsoc2009-mods/engines/parallaction/sound_br.cpp
    scummvm/branches/gsoc2009-mods/engines/parallaction/sound_ns.cpp
    scummvm/branches/gsoc2009-mods/engines/saga/scene.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/console.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/console.h
    scummvm/branches/gsoc2009-mods/engines/sci/detection.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/engine/gc.h
    scummvm/branches/gsoc2009-mods/engines/sci/engine/intmap.h
    scummvm/branches/gsoc2009-mods/engines/sci/engine/kernel.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/engine/kernel.h
    scummvm/branches/gsoc2009-mods/engines/sci/engine/kgraphics.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/engine/ksound.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/engine/memobj.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/engine/memobj.h
    scummvm/branches/gsoc2009-mods/engines/sci/engine/script.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/engine/scriptdebug.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/engine/seg_manager.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/engine/seg_manager.h
    scummvm/branches/gsoc2009-mods/engines/sci/engine/state.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/engine/state.h
    scummvm/branches/gsoc2009-mods/engines/sci/engine/vm.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/engine/vm.h
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/font.h
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/gfx_driver.h
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/gfx_gui.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/gfx_gui.h
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/gfx_options.h
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/gfx_res_options.h
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/gfx_resmgr.h
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/gfx_resource.h
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/gfx_state_internal.h
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/gfx_system.h
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/gfx_tools.h
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/gfx_widgets.h
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/menubar.h
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/operations.h
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/palette.h
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/res_pic.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/res_view.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/seq_decoder.h
    scummvm/branches/gsoc2009-mods/engines/sci/resource.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/resource.h
    scummvm/branches/gsoc2009-mods/engines/sci/sci.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/sci.h
    scummvm/branches/gsoc2009-mods/engines/sci/sfx/core.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/sfx/core.h
    scummvm/branches/gsoc2009-mods/engines/scumm/actor.cpp
    scummvm/branches/gsoc2009-mods/engines/scumm/he/script_v100he.cpp
    scummvm/branches/gsoc2009-mods/engines/scumm/he/script_v72he.cpp
    scummvm/branches/gsoc2009-mods/engines/scumm/vars.cpp
    scummvm/branches/gsoc2009-mods/engines/sword1/music.cpp
    scummvm/branches/gsoc2009-mods/engines/sword1/sound.cpp
    scummvm/branches/gsoc2009-mods/engines/tinsel/detection.cpp
    scummvm/branches/gsoc2009-mods/engines/tinsel/palette.cpp
    scummvm/branches/gsoc2009-mods/engines/tinsel/tinsel.cpp
    scummvm/branches/gsoc2009-mods/engines/tucker/locations.cpp
    scummvm/branches/gsoc2009-mods/engines/tucker/resource.cpp
    scummvm/branches/gsoc2009-mods/engines/tucker/sequences.cpp
    scummvm/branches/gsoc2009-mods/engines/tucker/staticres.cpp
    scummvm/branches/gsoc2009-mods/engines/tucker/tucker.cpp
    scummvm/branches/gsoc2009-mods/engines/tucker/tucker.h
    scummvm/branches/gsoc2009-mods/graphics/VectorRenderer.h
    scummvm/branches/gsoc2009-mods/graphics/cursorman.cpp
    scummvm/branches/gsoc2009-mods/graphics/cursorman.h
    scummvm/branches/gsoc2009-mods/graphics/iff.cpp
    scummvm/branches/gsoc2009-mods/graphics/iff.h
    scummvm/branches/gsoc2009-mods/gui/ThemeEngine.cpp
    scummvm/branches/gsoc2009-mods/gui/ThemeEngine.h
    scummvm/branches/gsoc2009-mods/gui/ThemeParser.cpp
    scummvm/branches/gsoc2009-mods/gui/ThemeParser.h
    scummvm/branches/gsoc2009-mods/gui/credits.h
    scummvm/branches/gsoc2009-mods/gui/themes/default.inc
    scummvm/branches/gsoc2009-mods/gui/themes/scummclassic/classic_layout.stx
    scummvm/branches/gsoc2009-mods/gui/themes/scummclassic/classic_layout_lowres.stx
    scummvm/branches/gsoc2009-mods/gui/themes/scummclassic.zip
    scummvm/branches/gsoc2009-mods/gui/themes/scummmodern/scummmodern_layout.stx
    scummvm/branches/gsoc2009-mods/gui/themes/scummmodern/scummmodern_layout_lowres.stx
    scummvm/branches/gsoc2009-mods/gui/themes/scummmodern.zip
    scummvm/branches/gsoc2009-mods/ports.mk
    scummvm/branches/gsoc2009-mods/sound/iff.cpp
    scummvm/branches/gsoc2009-mods/sound/iff.h
    scummvm/branches/gsoc2009-mods/test/common/hashmap.h
    scummvm/branches/gsoc2009-mods/tools/credits.pl
    scummvm/branches/gsoc2009-mods/tools/update-version.pl

Added Paths:
-----------
    scummvm/branches/gsoc2009-mods/dists/wii/meta.xml.in
    scummvm/branches/gsoc2009-mods/engines/gob/expression.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/expression.h
    scummvm/branches/gsoc2009-mods/engines/gob/resources.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/resources.h
    scummvm/branches/gsoc2009-mods/engines/gob/script.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/script.h
    scummvm/branches/gsoc2009-mods/engines/gob/totfile.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/totfile.h
    scummvm/branches/gsoc2009-mods/engines/parallaction/disk.cpp

Removed Paths:
-------------
    scummvm/branches/gsoc2009-mods/engines/gob/parse.cpp
    scummvm/branches/gsoc2009-mods/engines/gob/parse.h
    scummvm/branches/gsoc2009-mods/engines/parallaction/iff.cpp
    scummvm/branches/gsoc2009-mods/engines/parallaction/iff.h

Property Changed:
----------------
    scummvm/branches/gsoc2009-mods/
    scummvm/branches/gsoc2009-mods/backends/platform/wii/wii.mk
    scummvm/branches/gsoc2009-mods/engines/parallaction/sound_ns.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/
    scummvm/branches/gsoc2009-mods/engines/sci/decompressor.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/decompressor.h
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/gfx_resmgr.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/picfill.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/res_cursor.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/res_font.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/res_pal.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/res_pic.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/gfx/res_view.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/module.mk
    scummvm/branches/gsoc2009-mods/engines/sci/resource.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/resource.h
    scummvm/branches/gsoc2009-mods/engines/sci/sfx/softseq/adlib.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/sfx/softseq/pcjr.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/vocabulary.cpp
    scummvm/branches/gsoc2009-mods/engines/sci/vocabulary.h
    scummvm/branches/gsoc2009-mods/graphics/video/coktelvideo/coktelvideo.cpp
    scummvm/branches/gsoc2009-mods/graphics/video/coktelvideo/coktelvideo.h
    scummvm/branches/gsoc2009-mods/graphics/video/coktelvideo/indeo3.cpp
    scummvm/branches/gsoc2009-mods/graphics/video/coktelvideo/indeo3.h
    scummvm/branches/gsoc2009-mods/graphics/video/dxa_decoder.cpp
    scummvm/branches/gsoc2009-mods/graphics/video/dxa_decoder.h
    scummvm/branches/gsoc2009-mods/graphics/video/flic_decoder.cpp
    scummvm/branches/gsoc2009-mods/graphics/video/flic_decoder.h
    scummvm/branches/gsoc2009-mods/graphics/video/smk_decoder.cpp
    scummvm/branches/gsoc2009-mods/graphics/video/smk_decoder.h
    scummvm/branches/gsoc2009-mods/gui/GuiManager.cpp
    scummvm/branches/gsoc2009-mods/gui/GuiManager.h
    scummvm/branches/gsoc2009-mods/sound/vag.cpp
    scummvm/branches/gsoc2009-mods/sound/vag.h


Property changes on: scummvm/branches/gsoc2009-mods
___________________________________________________________________
Added: svn:mergeinfo
   + /scummvm/trunk:41377-41988

Modified: scummvm/branches/gsoc2009-mods/AUTHORS
===================================================================
--- scummvm/branches/gsoc2009-mods/AUTHORS	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/AUTHORS	2009-07-01 14:45:24 UTC (rev 41989)
@@ -57,6 +57,7 @@
 
     Cinematique evo 2:
        Vincent Hamm          - original CruisE engine author
+       Paul Gilbert
 
     FOTAQ:
        Gregory Montoir      

Modified: scummvm/branches/gsoc2009-mods/Makefile.common
===================================================================
--- scummvm/branches/gsoc2009-mods/Makefile.common	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/Makefile.common	2009-07-01 14:45:24 UTC (rev 41989)
@@ -208,6 +208,8 @@
 	@#RPM-src?
 	@#DEB-src?
 
+# Common files
+DIST_FILES_DOCS:=$(addprefix $(srcdir)/,AUTHORS COPYING COPYING.LGPL COPYRIGHT NEWS README)
 
 # Themes files
 DIST_FILES_THEMES:=$(addprefix $(srcdir)/gui/themes/,scummmodern.zip)
@@ -237,6 +239,11 @@
 endif
 DIST_FILES_ENGINEDATA:=$(addprefix $(srcdir)/dists/engine-data/,$(DIST_FILES_ENGINEDATA))
 
+# pred.dic is currently only used for the AGI engine
+ifdef ENABLE_AGI
+DIST_FILES_ENGINEDATA+=$(srcdir)/dists/pred.dic
+endif
+
 # Plugin files
 DIST_FILES_PLUGINS:=$(addprefix $(srcdir)/,$(PLUGINS))
 

Modified: scummvm/branches/gsoc2009-mods/NEWS
===================================================================
--- scummvm/branches/gsoc2009-mods/NEWS	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/NEWS	2009-07-01 14:45:24 UTC (rev 41989)
@@ -4,12 +4,12 @@
 0.14.0 (2009-??-??)
  New Games:
    - Added support for Discworld.
-   - Added support for Discworld 2 - Missing Presumed ...!?
+   - Added support for Discworld 2 - Missing Presumed ...!?.
    - Added support for Return to Zork.
    - Added support for Leather Goddesses of Phobos 2.
    - Added support for The Manhole.
    - Added support for Rodney's Funscreen.
-   
+
  General:
    - Added experimental AdLib emulator from DOSBox.
    - Added quick search to Launcher.
@@ -26,72 +26,74 @@
      it ran too fast).
 
  Broken Sword 1:
-   - Added support for the original cutscenes. 
+   - Added support for the original cutscenes.
    - Dropped support for the now obsolete MPEG2 cutscenes.
    - Added support for the PlayStation version.
 
  Broken Sword 2:
-   - Added support for the original cutscenes. 
+   - Added support for the original cutscenes.
    - Dropped support for the now obsolete MPEG2 cutscenes.
    - Dropped support for playing cutscene sound without the video.
    - Added support for the PlayStation version.
 
  KYRA:
    - Added support for PC Speaker based music and sound effects.
+   - Added support for 16 color dithering in Kyrandia PC-9801 (Japanese version
+     only).
 
  New Ports:
    - Added GP2X Wiz port.
 
-0.13.1 (2009-04-27)    
+0.13.1 (2009-04-27)
  AGOS:
-    - Fixed crash after OmniTV video is played in The Feeble Files
+    - Fixed crash after OmniTV video is played in The Feeble Files.
     - Fixed crashes when exploring Jack the Ripper scene in the PC version of
-      the Waxworks
-    - Fixed palette glitches in the AtariST version of Elvira 2
-    - Fixed noise that can occur when sound effects are played, when exploring 
-      Pyramid scene in the Waxworks
+      the Waxworks.
+    - Fixed palette glitches in the AtariST version of Elvira 2.
+    - Fixed noise that can occur when sound effects are played, when exploring
+      Pyramid scene in the Waxworks.
 
  Gob:
-    - Fixed a crash in the Italian version of Woodruff
+    - Fixed a crash in the Italian version of Woodruff.
 
  Groovie:
-    - Fixed some issues with music in The 7th Guest
+    - Fixed some issues with music in The 7th Guest.
 
  Parallaction:
-    - Fixed the sarcophagus puzzle in Nippon Safes
+    - Fixed the sarcophagus puzzle in Nippon Safes.
 
  SAGA:
-    - Fixed a crash in Inherit the Earth
+    - Fixed a crash in Inherit the Earth.
     - Fixed glitches in the save/load dialog.
 
  Sword2:
     - Fixed random sound corruption when using the original sound files.
 
  Game launcher:
-   - Fixed a case where memory could be corrupted
-   - Fixed the small cursor in the modern theme
-   - Fixed a bug in the theme engine, which could cause crashes
-   - Made the file browser bigger in 1x mode
+   - Fixed a case where memory could be corrupted.
+   - Fixed the small cursor in the modern theme.
+   - Fixed a bug in the theme engine, which could cause crashes.
+   - Made the file browser bigger in 1x mode.
 
  iPhone port:
-    - Fixed backspace handling on the iPhone soft keyboard
+    - Fixed backspace handling on the iPhone soft keyboard.
 
  DS port:
-     - Added support for the Global Main Menu feature
-     
+     - Added support for the Global Main Menu feature.
+
  PS2 port:
-    - Switched to the new GUI and theme code
+    - Switched to the new GUI and theme code.
     - All possible devices are supported to store, play and save games
-      (CD, HD, USB, MC and remote)
-    - Optimized cache/read-ahead for every media
-    - Added support for the Return to Launcher feature
+      (CD, HD, USB, MC and remote).
+    - Optimized cache/read-ahead for every media.
+    - Added support for the Return to Launcher feature.
 
  Symbian port:
-    - Added Bluetooth mouse support
-    - Added support for the Return to Launcher feature
- 
+    - Added Bluetooth mouse support.
+    - Added support for the Return to Launcher feature.
+
  WinCE port:
-    - Fixed an issue which could cause random crashes with VGA devices
+    - Fixed an issue which could cause random crashes with VGA devices.
 
 0.13.0 (2009-02-28)
  General:
@@ -109,17 +111,17 @@
    - Added support for The 7th Guest.
 
  AGOS:
-    - Added support for the original cutscenes of The Feeble Files
-    - Added support for text compression in the AtariST version of Elvira 1
-    - Fixed combining items in Waxworks
-    - Fixed display of spell descriptions in Elvira 2
+    - Added support for the original cutscenes of The Feeble Files.
+    - Added support for text compression in the AtariST version of Elvira 1.
+    - Fixed combining items in Waxworks.
+    - Fixed display of spell descriptions in Elvira 2.
 
  KYRA:
    - Added support for Auto-save feature.
    - Added support for MIDI music.
 
  Parallaction:
-    - Credits of the Nippon Safes Amiga demo are now shown correctly
+    - Credits of the Nippon Safes Amiga demo are now shown correctly.
 
  SCUMM:
    - Implemented radio-chatter effect in The DIG.
@@ -134,13 +136,13 @@
    - Added support for the Macintosh version of I Have no Mouth, and I
      must Scream.
    - Added support for Drascula: The Vampire Strikes Back.
-   
+
  General:
    - Added CAMD MIDI driver for AmigaOS4.
    - Revived the PS2 port (was already in 0.11.1 but was forgotten in the
      release notes).
-   - Plugged numerous memory leaks in all engines (part of GSoC'08 task),
-   - Added audio double buffering to the SDL backend, which fixes the 
+   - Plugged numerous memory leaks in all engines (part of GSoC'08 task).
+   - Added audio double buffering to the SDL backend, which fixes the
      problems with the MT-32 emulator on Mac OS X (for now only enabled
      on Mac OS X).
 
@@ -441,12 +443,12 @@
    - Fixed sound distortion in the Inherit the Earth demo.
 
  Simon
-   - Improved Hebrew support
+   - Improved Hebrew support.
    - Lots of long-overdue cleanups and re-structuring were made to accomodate
      for The Feeble Files.
    - Fixed a rare MIDI bug that would cause a channel to change volume without
      adjusting it to the master volume.
-   - Fixed delay after introduction of Simon the Sorcerer 1 demo (With speech)
+   - Fixed delay after introduction of Simon the Sorcerer 1 demo (with speech).
    - Fixed music tempo in DOS versions of Simon the Sorcerer 1.
 
  Broken Sword 1:

Modified: scummvm/branches/gsoc2009-mods/backends/keymapper/remap-dialog.cpp
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/keymapper/remap-dialog.cpp	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/keymapper/remap-dialog.cpp	2009-07-01 14:45:24 UTC (rev 41989)
@@ -39,17 +39,17 @@
 };
 
 RemapDialog::RemapDialog()
-	: Dialog("KeyRemapper"), _keymapTable(0), _activeRemapAction(0), _topAction(0), _remapTimeout(0) {
+	: Dialog("KeyMapper"), _keymapTable(0), _activeRemapAction(0), _topAction(0), _remapTimeout(0) {
 
 	_keymapper = g_system->getEventManager()->getKeymapper();
 	assert(_keymapper);
 
-	_kmPopUpDesc = new GUI::StaticTextWidget(this, "KeyRemapper.PopupDesc", "Keymap:");
-	_kmPopUp = new GUI::PopUpWidget(this, "KeyRemapper.Popup");
+	_kmPopUpDesc = new GUI::StaticTextWidget(this, "KeyMapper.PopupDesc", "Keymap:");
+	_kmPopUp = new GUI::PopUpWidget(this, "KeyMapper.Popup");
 
 	_scrollBar = new GUI::ScrollBarWidget(this, 0, 0, 0, 0);
 
-	new GUI::ButtonWidget(this, "KeyRemapper.Close", "Close", kCloseCmd);
+	new GUI::ButtonWidget(this, "KeyMapper.Close", "Close", kCloseCmd);
 }
 
 RemapDialog::~RemapDialog() {
@@ -138,12 +138,12 @@
 
 	int16 areaX, areaY;
 	uint16 areaW, areaH;
-	int spacing = g_gui.xmlEval()->getVar("Globals.KeyRemapper.Spacing");
-	int labelWidth =  g_gui.xmlEval()->getVar("Globals.KeyRemapper.LabelWidth");
-	int buttonWidth = g_gui.xmlEval()->getVar("Globals.KeyRemapper.ButtonWidth");
+	int spacing = g_gui.xmlEval()->getVar("Globals.KeyMapper.Spacing");
+	int labelWidth =  g_gui.xmlEval()->getVar("Globals.KeyMapper.LabelWidth");
+	int buttonWidth = g_gui.xmlEval()->getVar("Globals.KeyMapper.ButtonWidth");
 	int colWidth = labelWidth + buttonWidth + spacing;
 
-	g_gui.xmlEval()->getWidgetData((const String&)String("KeyRemapper.KeymapArea"), areaX, areaY, areaW, areaH);
+	g_gui.xmlEval()->getWidgetData((const String&)String("KeyMapper.KeymapArea"), areaX, areaY, areaW, areaH);
 
 	_colCount = (areaW - scrollbarWidth) / colWidth;
 	_rowCount = (areaH + spacing) / (buttonHeight + spacing);

Modified: scummvm/branches/gsoc2009-mods/backends/midi/seq.cpp
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/midi/seq.cpp	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/midi/seq.cpp	2009-07-01 14:45:24 UTC (rev 41989)
@@ -142,7 +142,7 @@
 		warning("MidiDriver_SEQ::send: unknown : %08x", (int)b);
 		break;
 	}
-	write(device, buf, position);
+	(void)write(device, buf, position);
 }
 
 void MidiDriver_SEQ::sysEx (const byte *msg, uint16 length) {
@@ -167,7 +167,7 @@
 	buf[position++] = _device_num;
 	buf[position++] = 0;
 
-	write (device, buf, position);
+	(void)write(device, buf, position);
 }
 
 

Modified: scummvm/branches/gsoc2009-mods/backends/midi/timidity.cpp
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/midi/timidity.cpp	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/midi/timidity.cpp	2009-07-01 14:45:24 UTC (rev 41989)
@@ -221,7 +221,7 @@
 	 * "200 Ready data connection" */
 	res = timidity_ctl_command(NULL);
 	if (atoi(res) != 200) {
-		fprintf(stderr, "Can't connect timidity: %s\t(host=%s, port=%d)\n", res, timidity_host, data_port);
+		warning("Can't connect timidity: %s\t(host=%s, port=%d)", res, timidity_host, data_port);
 		close_all();
 		return -1;
 	}
@@ -334,7 +334,7 @@
 			buff[len++] = '\n';
 
 		/* write command to control socket */
-		write(_control_fd, buff, len);
+		(void)write(_control_fd, buff, len);
 	}
 
 	while (1) {

Modified: scummvm/branches/gsoc2009-mods/backends/platform/PalmOS/Src/be_os5.cpp
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/platform/PalmOS/Src/be_os5.cpp	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/platform/PalmOS/Src/be_os5.cpp	2009-07-01 14:45:24 UTC (rev 41989)
@@ -115,6 +115,10 @@
 }
 
 void OSystem_PalmOS5::setWindowCaption(const char *caption) {
+FIXME/TODO: Convert caption from ISO Latin 1 to "right" encoding ?
+If the output encoding is unclear or conversion impossible,
+then one could just skip over any chars > 0x7F and display the rest
+
 	Err e;
 	Char buf[64];
 	Coord w, y, h = FntLineHeight() + 2;

Modified: scummvm/branches/gsoc2009-mods/backends/platform/dc/dc.h
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/platform/dc/dc.h	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/platform/dc/dc.h	2009-07-01 14:45:24 UTC (rev 41989)
@@ -232,5 +232,5 @@
 extern int handleInput(struct mapledev *pad,
 		       int &mouse_x, int &mouse_y,
 		       byte &shiftFlags, Interactive *inter = NULL);
-extern bool selectGame(char *&, char *&, class Icon &);
+extern bool selectGame(char *&, char *&, Common::Language &, Common::Platform &, class Icon &);
 

Modified: scummvm/branches/gsoc2009-mods/backends/platform/dc/dcmain.cpp
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/platform/dc/dcmain.cpp	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/platform/dc/dcmain.cpp	2009-07-01 14:45:24 UTC (rev 41989)
@@ -234,8 +234,10 @@
 int DCLauncherDialog::runModal()
 {
   char *base = NULL, *dir = NULL;
+  Common::Language language = Common::UNK_LANG;
+  Common::Platform platform = Common::kPlatformUnknown;
 
-  if (!selectGame(base, dir, icon))
+  if (!selectGame(base, dir, language, platform, icon))
     g_system->quit();
 
   // Set the game path.
@@ -243,6 +245,14 @@
   if (dir != NULL)
     ConfMan.set("path", dir, base);
 
+  // Set the game language.
+  if (language != Common::UNK_LANG)
+    ConfMan.set("language", Common::getLanguageCode(language), base);
+
+  // Set the game platform.
+  if (platform != Common::kPlatformUnknown)
+    ConfMan.set("platform", Common::getPlatformCode(platform), base);
+
   // Set the target.
   ConfMan.setActiveDomain(base);
 

Modified: scummvm/branches/gsoc2009-mods/backends/platform/dc/selector.cpp
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/platform/dc/selector.cpp	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/platform/dc/selector.cpp	2009-07-01 14:45:24 UTC (rev 41989)
@@ -138,6 +138,8 @@
   char dir[256];
   char filename_base[256];
   char text[256];
+  Common::Language language;
+  Common::Platform platform;
   Icon icon;
   Label label;
 };
@@ -183,11 +185,15 @@
   icon.load(scummvm_icon, sizeof(scummvm_icon));
 }
 
-static bool uniqueGame(const char *base, const char *dir, Game *games, int cnt)
+static bool uniqueGame(const char *base, const char *dir,
+		       Common::Language lang, Common::Platform plf,
+		       Game *games, int cnt)
 {
   while (cnt--)
     if (!strcmp(dir, games->dir) &&
-       !stricmp(base, games->filename_base))
+	!stricmp(base, games->filename_base) &&
+	lang == games->language &&
+	plf == games->platform)
       return false;
     else
       games++;
@@ -227,14 +233,20 @@
       if (curr_game < max) {
 	strcpy(games[curr_game].filename_base, ge->gameid().c_str());
 	strcpy(games[curr_game].dir, dirs[curr_dir-1].name);
+	games[curr_game].language = ge->language();
+	games[curr_game].platform = ge->platform();
 	if (uniqueGame(games[curr_game].filename_base,
-		      games[curr_game].dir, games, curr_game)) {
+		       games[curr_game].dir,
+		       games[curr_game].language,
+		       games[curr_game].platform, games, curr_game)) {
 
 	  strcpy(games[curr_game].text, ge->description().c_str());
 #if 0
-	  printf("Registered game <%s> in <%s> <%s> because of <%s> <*>\n",
-		 games[curr_game].text, games[curr_game].dir,
-		 games[curr_game].filename_base,
+	  printf("Registered game <%s> (l:%d p:%d) in <%s> <%s> because of <%s> <*>\n",
+		 games[curr_game].text,
+		 (int)games[curr_game].language,
+		 (int)games[curr_game].platform,
+		 games[curr_game].dir, games[curr_game].filename_base,
 		 dirs[curr_dir-1].name);
 #endif
 	  curr_game++;
@@ -405,7 +417,7 @@
   }
 }
 
-bool selectGame(char *&ret, char *&dir_ret, Icon &icon)
+bool selectGame(char *&ret, char *&dir_ret, Common::Language &lang_ret, Common::Platform &plf_ret, Icon &icon)
 {
   Game *games = new Game[MAX_GAMES];
   int selected, num_games;
@@ -449,6 +461,8 @@
     dir_ret = the_game.dir;
 #endif
     ret = the_game.filename_base;
+    lang_ret = the_game.language;
+    plf_ret = the_game.platform;
     icon = the_game.icon;
     return true;
   } else

Modified: scummvm/branches/gsoc2009-mods/backends/platform/ds/arm7/source/main.cpp
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/platform/ds/arm7/source/main.cpp	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/platform/ds/arm7/source/main.cpp	2009-07-01 14:45:24 UTC (rev 41989)
@@ -585,7 +585,7 @@
 
   //enable sound
 //  powerOn(POWER_SOUND);
-  REG_SOUNDCNT = SOUND_ENABLE | SOUND_VOL(0x7F);
+  SOUND_CR = SOUND_ENABLE | SOUND_VOL(0x7F);
   IPC->soundData = 0;
   IPC->reset = false;
 

Modified: scummvm/branches/gsoc2009-mods/backends/platform/ds/arm9/source/osystem_ds.cpp
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/platform/ds/arm9/source/osystem_ds.cpp	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/platform/ds/arm9/source/osystem_ds.cpp	2009-07-01 14:45:24 UTC (rev 41989)
@@ -642,12 +642,6 @@
 	swiSoftReset();*/
 }
 
-void OSystem_DS::setWindowCaption(const char *caption) {
-}
-
-void OSystem_DS::displayMessageOnOSD(const char *msg) {
-}
-
 Common::SaveFileManager* OSystem_DS::getSavefileManager() {
 	bool forceSram;
 

Modified: scummvm/branches/gsoc2009-mods/backends/platform/ds/arm9/source/osystem_ds.h
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/platform/ds/arm9/source/osystem_ds.h	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/platform/ds/arm9/source/osystem_ds.h	2009-07-01 14:45:24 UTC (rev 41989)
@@ -134,10 +134,6 @@
 
 	virtual void quit();
 
-	virtual void setWindowCaption(const char *caption);
-
-	virtual void displayMessageOnOSD(const char *msg);
-
 	virtual Common::SaveFileManager *getSavefileManager();
 
 	void addEvent(Common::Event& e);

Modified: scummvm/branches/gsoc2009-mods/backends/platform/iphone/iphone_video.m
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/platform/iphone/iphone_video.m	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/platform/iphone/iphone_video.m	2009-07-01 14:45:24 UTC (rev 41989)
@@ -36,6 +36,9 @@
 NSLock* _lock = nil;
 static int _needsScreenUpdate = 0;
 
+static UITouch* _firstTouch = NULL;
+static UITouch* _secondTouch = NULL;
+
 // static long lastTick = 0;
 // static int frames = 0;
 
@@ -47,14 +50,14 @@
 }
 
 void iPhone_updateScreenRect(unsigned short* screen, int x1, int y1, int x2, int y2) {
-	[_lock lock];
+	//[_lock lock];
 
 	int y;
 	for (y = y1; y < y2; ++y) {
 		memcpy(&_textureBuffer[(y * _textureWidth + x1 )* 2], &screen[y * _width + x1], (x2 - x1) * 2);
 	}
 
-	[_lock unlock];
+	//[_lock unlock];
 }
 
 
@@ -192,12 +195,12 @@
 	glVertexPointer(2, GL_FLOAT, 0, vertices);
 	glTexCoordPointer(2, GL_FLOAT, 0, texCoords);
 
-	[_lock lock];
+	//[_lock lock];
 	// Unfortunately we have to update the whole texture every frame, since glTexSubImage2D is actually slower in all cases
 	// due to the iPhone internals having to convert the whole texture back from its internal format when used.
 	// In the future we could use several tiled textures instead.
 	glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, _textureWidth, _textureHeight, 0, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, _textureBuffer);
-	[_lock unlock];
+	//[_lock unlock];
 
 	glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
 	glBindRenderbufferOES(GL_RENDERBUFFER_OES, _viewRenderbuffer);
@@ -280,7 +283,7 @@
 	glBindRenderbufferOES(GL_RENDERBUFFER_OES, _viewRenderbuffer);
 
 	// The color buffer is triple-buffered, so we clear it multiple times right away to avid doing any glClears later.
-	int clearCount = 3;
+	int clearCount = 5;
 	while (clearCount-- > 0) {
 		glClear(GL_COLOR_BUFFER_BIT);
 		[_context presentRenderbuffer:GL_RENDERBUFFER_OES];
@@ -366,7 +369,6 @@
 	];
 }
 
-
 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
 {
 	NSSet *allTouches = [event allTouches];
@@ -374,11 +376,12 @@
 	switch ([allTouches count]) {
 		case 1:
 		{
-			UITouch *touch = [[allTouches allObjects] objectAtIndex:0];
+			UITouch *touch = [touches anyObject];
 			CGPoint point = [touch locationInView:self];
 			if (!getLocalMouseCoords(&point))
 				return;
 
+			_firstTouch = touch;
 			[self addEvent:
 			 [[NSDictionary alloc] initWithObjectsAndKeys:
 			  [NSNumber numberWithInt:kInputMouseDown], @"type",
@@ -391,11 +394,12 @@
 		}
 		case 2:
 		{
-			UITouch *touch = [[allTouches allObjects] objectAtIndex:1];
+			UITouch *touch = [touches anyObject];
 			CGPoint point = [touch locationInView:self];
 			if (!getLocalMouseCoords(&point))
 				return;
 
+			_secondTouch = touch;
 			[self addEvent:
 			 [[NSDictionary alloc] initWithObjectsAndKeys:
 			  [NSNumber numberWithInt:kInputMouseSecondDown], @"type",
@@ -413,14 +417,13 @@
 {
 	NSSet *allTouches = [event allTouches];
 
-	switch ([allTouches count]) {
-		case 1:
-		{
-			UITouch *touch = [[allTouches allObjects] objectAtIndex:0];
+	for (UITouch* touch in touches) {
+		if (touch == _firstTouch) {
+
 			CGPoint point = [touch locationInView:self];
 			if (!getLocalMouseCoords(&point))
 				return;
-
+			
 			[self addEvent:
 			 [[NSDictionary alloc] initWithObjectsAndKeys:
 			  [NSNumber numberWithInt:kInputMouseDragged], @"type",
@@ -429,15 +432,13 @@
 			  nil
 			  ]
 			 ];
-			break;
-		}
-		case 2:
-		{
-			UITouch *touch = [[allTouches allObjects] objectAtIndex:1];
+			
+		} else if (touch == _secondTouch) {
+
 			CGPoint point = [touch locationInView:self];
 			if (!getLocalMouseCoords(&point))
 				return;
-
+			
 			[self addEvent:
 			 [[NSDictionary alloc] initWithObjectsAndKeys:
 			  [NSNumber numberWithInt:kInputMouseSecondDragged], @"type",
@@ -446,7 +447,7 @@
 			  nil
 			  ]
 			 ];
-			break;
+			
 		}
 	}
 }

Modified: scummvm/branches/gsoc2009-mods/backends/platform/iphone/osys_iphone.cpp
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/platform/iphone/osys_iphone.cpp	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/platform/iphone/osys_iphone.cpp	2009-07-01 14:45:24 UTC (rev 41989)
@@ -813,22 +813,22 @@
 		return false;
 	}
 
+	static const int kNeededLength = 100;
+	static const int kMaxDeviation = 20;
+
 	int vecX = (x - _gestureStartX);
 	int vecY = (y - _gestureStartY);
-	int lengthSq =  vecX * vecX + vecY * vecY;
-	//printf("Lengthsq: %u\n", lengthSq);
+	
+	int absX = abs(vecX);
+	int absY = abs(vecY);
 
-	if (lengthSq > 15000) { // Long enough gesture to react upon.
+	//printf("(%d, %d)\n", vecX, vecY);
+
+	if (absX >= kNeededLength || absY >= kNeededLength) { // Long enough gesture to react upon.
 		_gestureStartX = -1;
 		_gestureStartY = -1;
 
-		float vecLength = sqrt(lengthSq);
-		float vecXNorm = vecX / vecLength;
-		float vecYNorm = vecY / vecLength;
-
-		//printf("Swipe vector: (%.2f, %.2f)\n", vecXNorm, vecYNorm);
-
-		if (vecXNorm > -0.50 && vecXNorm < 0.50 && vecYNorm > 0.75) {
+		if (absX < kMaxDeviation && vecY >= kNeededLength) {
 			// Swipe down
 			event.type = Common::EVENT_KEYDOWN;
 			_queuedInputEvent.type = Common::EVENT_KEYUP;
@@ -837,7 +837,10 @@
 			event.kbd.keycode = _queuedInputEvent.kbd.keycode = Common::KEYCODE_F5;
 			event.kbd.ascii = _queuedInputEvent.kbd.ascii = Common::ASCII_F5;
 			_needEventRestPeriod = true;
-		} else if (vecXNorm > -0.50 && vecXNorm < 0.50 && vecYNorm < -0.75) {
+			return true;
+		}
+		
+		if (absX < kMaxDeviation && -vecY >= kNeededLength) {
 			// Swipe up
 			_mouseClickAndDragEnabled = !_mouseClickAndDragEnabled;
 			const char *dialogMsg;
@@ -849,8 +852,9 @@
 			GUI::TimedMessageDialog dialog(dialogMsg, 1500);
 			dialog.runModal();
 			return false;
-
-		} else if (vecXNorm > 0.75 && vecYNorm >  -0.5 && vecYNorm < 0.5) {
+		}
+		
+		if (absY < kMaxDeviation && vecX >= kNeededLength) {
 			// Swipe right
 			_touchpadModeEnabled = !_touchpadModeEnabled;
 			const char *dialogMsg;
@@ -862,7 +866,9 @@
 			dialog.runModal();
 			return false;
 
-		} else if (vecXNorm < -0.75 && vecYNorm >  -0.5 && vecYNorm < 0.5) {
+		}
+		
+		if (absY < kMaxDeviation && -vecX >= kNeededLength) {
 			// Swipe left
 			return false;
 		}
@@ -1106,16 +1112,18 @@
 		outQB->mAudioDataByteSize = 4 * s_AudioQueue.frameCount;
 		s_soundCallback(s_soundParam, (byte *)outQB->mAudioData, outQB->mAudioDataByteSize);
 		AudioQueueEnqueueBuffer(inQ, outQB, 0, NULL);
-	} else
+	} else {
 		AudioQueueStop(s_AudioQueue.queue, false);
+	}
 }
 
 void OSystem_IPHONE::mixCallback(void *sys, byte *samples, int len) {
 	OSystem_IPHONE *this_ = (OSystem_IPHONE *)sys;
 	assert(this_);
 
-	if (this_->_mixer)
+	if (this_->_mixer) {
 		this_->_mixer->mixCallback(samples, len);
+	}
 }
 
 void OSystem_IPHONE::setupMixer() {
@@ -1202,9 +1210,6 @@
 	t = *localtime(&curTime);
 }
 
-void OSystem_IPHONE::setWindowCaption(const char *caption) {
-}
-
 Common::SaveFileManager *OSystem_IPHONE::getSavefileManager() {
 	assert(_savefile);
 	return _savefile;

Modified: scummvm/branches/gsoc2009-mods/backends/platform/iphone/osys_iphone.h
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/platform/iphone/osys_iphone.h	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/platform/iphone/osys_iphone.h	2009-07-01 14:45:24 UTC (rev 41989)
@@ -171,8 +171,6 @@
 	virtual void addSysArchivesToSearchSet(Common::SearchSet &s, int priority = 0);
 	virtual void getTimeAndDate(struct tm &t) const;
 
-	virtual void setWindowCaption(const char *caption);
-
 	virtual Common::SaveFileManager *getSavefileManager();
 	virtual Audio::Mixer *getMixer();
 	virtual Common::TimerManager *getTimerManager();

Modified: scummvm/branches/gsoc2009-mods/backends/platform/null/null.cpp
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/platform/null/null.cpp	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/platform/null/null.cpp	2009-07-01 14:45:24 UTC (rev 41989)
@@ -113,8 +113,6 @@
 
 	virtual void quit();
 
-	virtual void setWindowCaption(const char *caption);
-
 	virtual Common::SaveFileManager *getSavefileManager();
 	virtual Audio::Mixer *getMixer();
 	virtual void getTimeAndDate(struct tm &t) const;
@@ -308,9 +306,6 @@
 void OSystem_NULL::quit() {
 }
 
-void OSystem_NULL::setWindowCaption(const char *caption) {
-}
-
 Common::SaveFileManager *OSystem_NULL::getSavefileManager() {
 	assert(_savefile);
 	return _savefile;

Modified: scummvm/branches/gsoc2009-mods/backends/platform/ps2/systemps2.h
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/platform/ps2/systemps2.h	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/platform/ps2/systemps2.h	2009-07-01 14:45:24 UTC (rev 41989)
@@ -73,7 +73,6 @@
 	virtual void unlockScreen();
 	virtual void updateScreen();
 	/* TODO : check */
-	virtual void fillScreen(unsigned int i) { printf("fillScreen %d\n", i); };
 	virtual void displayMessageOnOSD(const char *msg) { printf("displayMessageOnOSD: %s\n", msg); };
 	/* */
 

Modified: scummvm/branches/gsoc2009-mods/backends/platform/psp/osys_psp.cpp
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/platform/psp/osys_psp.cpp	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/platform/psp/osys_psp.cpp	2009-07-01 14:45:24 UTC (rev 41989)
@@ -635,12 +635,6 @@
 	t = *localtime(&curTime);
 }
 
-void OSystem_PSP::setWindowCaption(const char *caption) {
-}
-
-void OSystem_PSP::displayMessageOnOSD(const char *msg) {
-}
-
 #define PSP_CONFIG_FILE "ms0:/scummvm.ini"
 
 Common::SeekableReadStream *OSystem_PSP::createConfigReadStream() {

Modified: scummvm/branches/gsoc2009-mods/backends/platform/psp/osys_psp.h
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/platform/psp/osys_psp.h	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/platform/psp/osys_psp.h	2009-07-01 14:45:24 UTC (rev 41989)
@@ -140,10 +140,6 @@
 
 	virtual void quit();
 
-	virtual void setWindowCaption(const char *caption);
-
-	virtual void displayMessageOnOSD(const char *msg);
-
 	virtual Common::SeekableReadStream *createConfigReadStream();
 	virtual Common::WriteStream *createConfigWriteStream();
 };

Modified: scummvm/branches/gsoc2009-mods/backends/platform/psp/psp.spec
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/platform/psp/psp.spec	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/platform/psp/psp.spec	2009-07-01 14:45:24 UTC (rev 41989)
@@ -1,3 +1,3 @@
 %rename lib	old_lib
 *lib:
--lg -lm -lstdc++ -lsupc++ -lg -lpsprtc -lpspaudio -lpspuser -lpsputility -lpspdebug -lc -lpspgum -lpspvfpu -lpspgu -lpspctrl -lpspge -lpspdisplay_driver -lpspdisplay -lpsphprm -lpspge_driver -lpspsdk -lpsppower -lpsppower_driver -lpspgum_vfpu -lpspkernel %(old_lib)
+%(old_lib) -lpspdebug -lpspgu -lpspctrl -lpspge -lpspdisplay -lpsphprm -lpspsdk -lpsprtc -lpspaudio -lc -lpspuser -lpsputility -lpspkernel -lpspnet_inet -lz -lstdc++ -lc -lpspdisplay -lpspgu -lpspctrl -lpspsdk -lpspnet -lpspnet_inet -lpsputility -lpspsdk -lpspuser 

Modified: scummvm/branches/gsoc2009-mods/backends/platform/sdl/sdl.cpp
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/platform/sdl/sdl.cpp	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/platform/sdl/sdl.cpp	2009-07-01 14:45:24 UTC (rev 41989)
@@ -397,13 +397,20 @@
 }
 
 void OSystem_SDL::setWindowCaption(const char *caption) {
-	Common::String cap(caption);
+	Common::String cap;
+	byte c;
 
-	// Filter out any non-ASCII characters, replacing them by question marks.
-	// At some point, we may wish to allow LATIN 1 or UTF-8.
-	for (uint i = 0; i < cap.size(); ++i)
-		if ((byte)cap[i] > 0x7F)
-			cap.setChar('?', i);
+	// The string caption is supposed to be in LATIN-1 encoding.
+	// SDL expects UTF-8. So we perform the conversion here.
+	while ((c = *(const byte *)caption++)) {
+		if (c < 0x80)
+			cap += c;
+		else {
+			cap += 0xC0 | (c >> 6);
+			cap += 0x80 | (c & 0x3F);
+		}
+	}
+
 	SDL_WM_SetCaption(cap.c_str(), cap.c_str());
 }
 
@@ -489,7 +496,7 @@
 void OSystem_SDL::setupIcon() {
 	int x, y, w, h, ncols, nbytes, i;
 	unsigned int rgba[256];
-        unsigned int *icon;
+	unsigned int *icon;
 
 	sscanf(scummvm_icon[0], "%d %d %d %d", &w, &h, &ncols, &nbytes);
 	if ((w > 512) || (h > 512) || (ncols > 255) || (nbytes > 1)) {

Modified: scummvm/branches/gsoc2009-mods/backends/platform/symbian/src/SymbianOS.cpp
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/platform/symbian/src/SymbianOS.cpp	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/platform/symbian/src/SymbianOS.cpp	2009-07-01 14:45:24 UTC (rev 41989)
@@ -472,6 +472,7 @@
 void OSystem_SDL_Symbian::setWindowCaption(const char *caption) {
 	OSystem_SDL::setWindowCaption(caption);
 	check_mappings();
+FIXME: move check_mappings() call to engineInit() & engineDone()
 }
 
 void OSystem_SDL_Symbian::check_mappings() {

Modified: scummvm/branches/gsoc2009-mods/backends/platform/wii/wii.mk
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/platform/wii/wii.mk	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/platform/wii/wii.mk	2009-07-01 14:45:24 UTC (rev 41989)
@@ -1,61 +1,25 @@
-WII_ELF=scummvm.elf
-WII_DOL=scummvm.dol
-WII_DISTPATH=$(srcdir)/dists/wii
-all: $(WII_DOL)
+WII_EXE := scummvm$(EXEEXT)
+WII_EXE_STRIPPED := scummvm_stripped$(EXEEXT)
 
-$(WII_DOL): $(WII_ELF)
-	$(DEVKITPPC)/bin/elf2dol $< $@
+$(WII_EXE_STRIPPED): $(WII_EXE)
+	$(STRIP) $< -o $@
 
 clean: wiiclean
 
 wiiclean:
-	$(RM) $(WII_DOL)
+	$(RM) $(WII_EXE_STRIPPED)
 
-wiiload: $(WII_DOL)
-	$(DEVKITPPC)/bin/wiiload $(WII_DOL) -d3
+wiiload: $(WII_EXE_STRIPPED)
+	$(DEVKITPPC)/bin/wiiload $<
 
-geckoupload: $(WII_DOL)
-	$(DEVKITPPC)/bin/geckoupload $(WII_DOL)
+geckoupload: $(WII_EXE_STRIPPED)
+	$(DEVKITPPC)/bin/geckoupload $<
 
 wiigdb:
-	$(DEVKITPPC)/bin/powerpc-gekko-gdb -n $(WII_ELF)
+	$(DEVKITPPC)/bin/powerpc-gekko-gdb -n $(WII_EXE)
 
 wiidebug:
-	$(DEVKITPPC)/bin/powerpc-gekko-gdb -n $(WII_ELF) -x $(srcdir)/backends/platform/wii/gdb.txt
+	$(DEVKITPPC)/bin/powerpc-gekko-gdb -n $(WII_EXE) -x $(srcdir)/backends/platform/wii/gdb.txt
 
-wiidist:
-	$(MKDIR) dist/scummvm
-	$(CP) $(WII_DOL) dist/scummvm/boot.dol
-	$(CP) $(WII_DISTPATH)/meta.xml dist/scummvm/
-	$(CP) $(WII_DISTPATH)/icon.png dist/scummvm/
-	$(CP) $(WII_DISTPATH)/READMII dist/scummvm/
-	$(CP) $(srcdir)/AUTHORS dist/scummvm/
-	$(CP) $(srcdir)/COPYING dist/scummvm/
-	$(CP) $(srcdir)/COPYING.LGPL dist/scummvm/
-	$(CP) $(srcdir)/COPYRIGHT dist/scummvm/
-	$(CP) $(srcdir)/NEWS dist/scummvm/
-	$(CP) $(srcdir)/README dist/scummvm/
-	$(CP) $(srcdir)/dists/pred.dic dist/scummvm/
-	$(CP) $(DIST_FILES_THEMES) dist/scummvm/
-ifneq ($(DIST_FILES_ENGINEDATA),)
-	$(CP) $(DIST_FILES_ENGINEDATA) dist/scummvm/
-endif
+.PHONY: wiiclean wiiload geckoupload wiigdb wiidebug
 
-gcdist:
-	$(MKDIR) dist/scummvm
-	$(CP) $(WII_DOL) dist/scummvm/
-	$(CP) $(WII_DISTPATH)/READMII dist/scummvm/
-	$(CP) $(srcdir)/AUTHORS dist/scummvm/
-	$(CP) $(srcdir)/COPYING dist/scummvm/
-	$(CP) $(srcdir)/COPYING.LGPL dist/scummvm/
-	$(CP) $(srcdir)/COPYRIGHT dist/scummvm/
-	$(CP) $(srcdir)/NEWS dist/scummvm/
-	$(CP) $(srcdir)/README dist/scummvm/
-	$(CP) $(srcdir)/dists/pred.dic dist/scummvm/
-	$(CP) $(DIST_FILES_THEMES) dist/scummvm/
-ifneq ($(DIST_FILES_ENGINEDATA),)
-	$(CP) $(DIST_FILES_ENGINEDATA) dist/scummvm/
-endif
-
-.PHONY: wiiclean wiiload geckoupload wiigdb wiidebug wiidist gcdist
-


Property changes on: scummvm/branches/gsoc2009-mods/backends/platform/wii/wii.mk
___________________________________________________________________
Deleted: svn:mergeinfo
   - 

Modified: scummvm/branches/gsoc2009-mods/backends/platform/wince/wince-sdl.cpp
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/platform/wince/wince-sdl.cpp	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/platform/wince/wince-sdl.cpp	2009-07-01 14:45:24 UTC (rev 41989)
@@ -916,6 +916,8 @@
 	compute_sample_rate();
 	setupMixer();
 
+FIXME: move check_mappings() etc. calls to engineInit() & engineDone()
+
 	// handle the actual event
 	OSystem_SDL::setWindowCaption(caption);
 }

Modified: scummvm/branches/gsoc2009-mods/backends/vkeybd/packs/vkeybd_default/lowercase320x240.bmp
===================================================================
(Binary files differ)

Modified: scummvm/branches/gsoc2009-mods/backends/vkeybd/packs/vkeybd_default/lowercase640x480.bmp
===================================================================
(Binary files differ)

Modified: scummvm/branches/gsoc2009-mods/backends/vkeybd/packs/vkeybd_default/vkeybd_default.xml
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/vkeybd/packs/vkeybd_default/vkeybd_default.xml	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/vkeybd/packs/vkeybd_default/vkeybd_default.xml	2009-07-01 14:45:24 UTC (rev 41989)
@@ -76,6 +76,8 @@
         <area shape="rect" coords="202,110,219,128" target="," />
         <area shape="rect" coords="223,110,241,128" target="." />
         <area shape="rect" coords="243,110,261,128" target="/" />
+        <area shape="rect" coords="277,133,292,148" target="ok" />
+        <area shape="rect" coords="292,133,309,148" target="cancel" />
       </map>
     </layout>
     <layout resolution="640x480" bitmap="lowercase640x480.bmp" transparent_color="255,0,255">
@@ -151,6 +153,8 @@
         <area shape="rect" coords="405,220,440,256" target=","	 />
         <area shape="rect" coords="447,220,483,256" target="."	 />
         <area shape="rect" coords="487,220,524,256" target="/"	 />
+        <area shape="rect" coords="555,266,585,298" target="ok" />
+        <area shape="rect" coords="585,266,619,298" target="cancel" />
       </map>
     </layout>
     <event name="esc" type="key" code="27" ascii="27" modifiers="" />
@@ -223,6 +227,8 @@
     <event name="7" type="key" code="55" ascii="55" modifiers="" />
     <event name="8" type="key" code="56" ascii="56" modifiers="" />
     <event name="9" type="key" code="57" ascii="57" modifiers="" />
+    <event name="ok" type="submit" />
+    <event name="cancel" type="cancel" />
     <event name="quit" type="submit" />
   </mode>
 

Modified: scummvm/branches/gsoc2009-mods/backends/vkeybd/packs/vkeybd_default.zip
===================================================================
(Binary files differ)

Modified: scummvm/branches/gsoc2009-mods/backends/vkeybd/virtual-keyboard.cpp
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/vkeybd/virtual-keyboard.cpp	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/vkeybd/virtual-keyboard.cpp	2009-07-01 14:45:24 UTC (rev 41989)
@@ -31,7 +31,6 @@
 #include "backends/vkeybd/virtual-keyboard-parser.h"
 #include "backends/vkeybd/keycode-descriptions.h"
 #include "common/config-manager.h"
-#include "common/fs.h"
 #include "common/unzip.h"
 
 #define KEY_START_CHAR ('[')
@@ -77,51 +76,77 @@
 	_kbdGUI->reset();
 }
 
-bool VirtualKeyboard::loadKeyboardPack(String packName) {
+bool VirtualKeyboard::openPack(const String &packName, const FSNode &node) {
+	if (node.getChild(packName + ".xml").exists()) {
+		_fileArchive = new FSDirectory(node, 1);
+
+		// uncompressed keyboard pack
+		if (!_parser->loadFile(node.getChild(packName + ".xml"))) {
+			delete _fileArchive;
+			_fileArchive = 0;
+			return false;
+		}
+
+		return true;
+	}
+
+#ifdef USE_ZLIB
+	if (node.getChild(packName + ".zip").exists()) {
+		// compressed keyboard pack
+		_fileArchive = new ZipArchive(node.getChild(packName + ".zip"));
+		if (_fileArchive->hasFile(packName + ".xml")) {
+			if (!_parser->loadStream(_fileArchive->createReadStreamForMember(packName + ".xml"))) {
+				delete _fileArchive;
+				_fileArchive = 0;
+				return false;
+			}
+		} else {
+			warning("Could not find %s.xml file in %s.zip keyboard pack", packName.c_str(), packName.c_str());
+			delete _fileArchive;
+			_fileArchive = 0;
+			return false;
+		}
+
+		return true;
+	}
+#endif
+
+	return false;
+}
+
+bool VirtualKeyboard::loadKeyboardPack(const String &packName) {
 	_kbdGUI->initSize(_system->getOverlayWidth(), _system->getOverlayHeight());
 
 	delete _fileArchive;
 	_fileArchive = 0;
+	_loaded = false;
 
-	FSNode vkDir;
+	bool opened = false;
 	if (ConfMan.hasKey("vkeybdpath"))
-		vkDir = FSNode(ConfMan.get("vkeybdpath"));
+		opened = openPack(packName, FSNode(ConfMan.get("vkeybdpath")));
 	else if (ConfMan.hasKey("extrapath"))
-		vkDir = FSNode(ConfMan.get("extrapath"));
-	else // use current directory
-		vkDir = FSNode(".");
+		opened = openPack(packName, FSNode(ConfMan.get("extrapath")));
 
-	if (vkDir.getChild(packName + ".xml").exists()) {
-		_fileArchive = new FSDirectory(vkDir, 1);
+	// fallback to the current dir
+	if (!opened)
+		opened = openPack(packName, FSNode("."));
 
-		// uncompressed keyboard pack
-		if (!_parser->loadFile(vkDir.getChild(packName + ".xml")))
-			return false;
+	if (opened) {
+		_parser->setParseMode(VirtualKeyboardParser::kParseFull);
+		_loaded = _parser->parse();
 
-	} else if (vkDir.getChild(packName + ".zip").exists()) {
-		// compressed keyboard pack
-#ifdef USE_ZLIB
-		_fileArchive = new ZipArchive(vkDir.getChild(packName + ".zip"));
-		if (_fileArchive->hasFile(packName + ".xml")) {
-			if (!_parser->loadStream(_fileArchive->createReadStreamForMember(packName + ".xml")))
-				return false;
+		if (_loaded) {
+			printf("Keyboard pack '%s' loaded successfully!\n", packName.c_str());
 		} else {
-			warning("Could not find %s.xml file in %s.zip keyboard pack", packName.c_str(), packName.c_str());
-			return false;
+			warning("Error parsing the keyboard pack '%s'", packName.c_str());
+
+			delete _fileArchive;
+			_fileArchive = 0;
 		}
-#else
-		return false;
-#endif
 	} else {
 		warning("Keyboard pack not found");
-		return false;
 	}
 
-	_parser->setParseMode(VirtualKeyboardParser::kParseFull);
-	_loaded = _parser->parse();
-	if (_loaded)
-		printf("Keyboard pack '%s' loaded successfully!\n", packName.c_str());
-
 	return _loaded;
 }
 

Modified: scummvm/branches/gsoc2009-mods/backends/vkeybd/virtual-keyboard.h
===================================================================
--- scummvm/branches/gsoc2009-mods/backends/vkeybd/virtual-keyboard.h	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/backends/vkeybd/virtual-keyboard.h	2009-07-01 14:45:24 UTC (rev 41989)
@@ -37,6 +37,7 @@
 #include "common/keyboard.h"
 #include "common/list.h"
 #include "common/str.h"
+#include "common/fs.h"
 
 #include "backends/vkeybd/image-map.h"
 #include "graphics/surface.h"
@@ -190,7 +191,7 @@
 	 * searches for a compressed keyboard pack by looking for packName.zip.
 	 * @param packName	name of the keyboard pack
 	 */
-	bool loadKeyboardPack(String packName);
+	bool loadKeyboardPack(const String &packName);
 
 	/**
 	 * Shows the keyboard, starting an event loop that will intercept all
@@ -232,6 +233,7 @@
 	VirtualKeyboardParser *_parser;
 
 	void reset();
+	bool openPack(const String &packName, const FSNode &node);
 	void deleteEvents();
 	bool checkModeResolutions();
 	void switchMode(Mode *newMode);

Modified: scummvm/branches/gsoc2009-mods/common/debug.cpp
===================================================================
--- scummvm/branches/gsoc2009-mods/common/debug.cpp	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/common/debug.cpp	2009-07-01 14:45:24 UTC (rev 41989)
@@ -227,6 +227,19 @@
 	va_end(va);
 }
 
+void debugCN(int level, uint32 debugChannels, const char *s, ...) {
+	va_list va;
+
+	// Debug level 11 turns on all special debug level messages
+	if (gDebugLevel != 11)
+		if (level > gDebugLevel || !(Common::gDebugLevelsEnabled & debugChannels))
+			return;
+
+	va_start(va, s);
+	debugHelper(s, va, false);
+	va_end(va);
+}
+
 void debugC(uint32 debugChannels, const char *s, ...) {
 	va_list va;
 
@@ -240,4 +253,17 @@
 	va_end(va);
 }
 
+void debugCN(uint32 debugChannels, const char *s, ...) {
+	va_list va;
+
+	// Debug level 11 turns on all special debug level messages
+	if (gDebugLevel != 11)
+		if (!(Common::gDebugLevelsEnabled & debugChannels))
+			return;
+
+	va_start(va, s);
+	debugHelper(s, va, false);
+	va_end(va);
+}
+
 #endif

Modified: scummvm/branches/gsoc2009-mods/common/debug.h
===================================================================
--- scummvm/branches/gsoc2009-mods/common/debug.h	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/common/debug.h	2009-07-01 14:45:24 UTC (rev 41989)
@@ -106,6 +106,8 @@
 inline void debugN(int level, const char *s, ...) {}
 inline void debugC(int level, uint32 engine_level, const char *s, ...) {}
 inline void debugC(uint32 engine_level, const char *s, ...) {}
+inline void debugCN(int level, uint32 engine_level, const char *s, ...) {}
+inline void debugCN(uint32 engine_level, const char *s, ...) {}
 
 
 #else
@@ -135,7 +137,7 @@
 
 /**
  * Print a debug message to the text console (stdout), but only if
- * the specified level does not exceed the value of gDebugLevel OR
+ * the specified level does not exceed the value of gDebugLevel AND
  * if the specified special debug level is active.
  * As a rule of thumb, the more important the message, the lower the level.
  * Automatically appends a newline.
@@ -146,6 +148,17 @@
 
 /**
  * Print a debug message to the text console (stdout), but only if
+ * the specified level does not exceed the value of gDebugLevel AND
+ * if the specified special debug level is active.
+ * As a rule of thumb, the more important the message, the lower the level.
+ * Does not append a newline automatically.
+ *
+ * @see enableDebugChannel
+ */
+void debugCN(int level, uint32 debugChannels, const char *s, ...) GCC_PRINTF(3, 4);
+
+/**
+ * Print a debug message to the text console (stdout), but only if
  * the specified special debug level is active.
  * Automatically appends a newline.
  *
@@ -153,6 +166,14 @@
  */
 void debugC(uint32 debugChannels, const char *s, ...) GCC_PRINTF(2, 3);
 
+/**
+ * Print a debug message to the text console (stdout), but only if
+ * the specified special debug level is active.
+ * Does not append a newline automatically.
+ *
+ * @see enableDebugChannel
+ */
+void debugCN(uint32 debugChannels, const char *s, ...) GCC_PRINTF(2, 3);
 
 #endif
 

Modified: scummvm/branches/gsoc2009-mods/common/hashmap.cpp
===================================================================
--- scummvm/branches/gsoc2009-mods/common/hashmap.cpp	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/common/hashmap.cpp	2009-07-01 14:45:24 UTC (rev 41989)
@@ -58,6 +58,7 @@
 #ifdef DEBUG_HASH_COLLISIONS
 static double
 	g_collisions = 0,
+	g_dummyHits = 0,
 	g_lookups = 0,
 	g_collPerLook = 0,
 	g_capacity = 0,
@@ -66,9 +67,10 @@
 static int g_totalHashmaps = 0;
 static int g_stats[4] = {0,0,0,0};
 
-void updateHashCollisionStats(int collisions, int lookups, int arrsize, int nele) {
+void updateHashCollisionStats(int collisions, int dummyHits, int lookups, int arrsize, int nele) {
 	g_collisions += collisions;
 	g_lookups += lookups;
+	g_dummyHits += dummyHits;
 	if (lookups)
 		g_collPerLook += (double)collisions / (double)lookups;
 	g_capacity += arrsize;
@@ -87,9 +89,10 @@
 	g_max_capacity = MAX(g_max_capacity, arrsize);
 	g_max_size = MAX(g_max_size, nele);
 
-	fprintf(stdout, "%d hashmaps: colls %.1f; lookups %.1f; ratio %.3f%%; size %f (max: %d); capacity %f (max: %d)\n",
+	fprintf(stdout, "%d hashmaps: colls %.1f; dummies hit %.1f, lookups %.1f; ratio %.3f%%; size %f (max: %d); capacity %f (max: %d)\n",
 		g_totalHashmaps,
 		g_collisions / g_totalHashmaps,
+		g_dummyHits / g_totalHashmaps,
 		g_lookups / g_totalHashmaps,
 		100 * g_collPerLook / g_totalHashmaps,
 		g_size / g_totalHashmaps, g_max_size,

Modified: scummvm/branches/gsoc2009-mods/common/hashmap.h
===================================================================
--- scummvm/branches/gsoc2009-mods/common/hashmap.h	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/common/hashmap.h	2009-07-01 14:45:24 UTC (rev 41989)
@@ -24,8 +24,7 @@
  */
 
 // The hash map (associative array) implementation in this file is
-// based on the PyDict implementation of CPython. The erase() method
-// is based on example code in the Wikipedia article on Hash tables.
+// based on the PyDict implementation of CPython.
 
 #ifndef COMMON_HASHMAP_H
 #define COMMON_HASHMAP_H
@@ -72,7 +71,8 @@
 	struct Node {
 		const Key _key;
 		Val _value;
-		Node(const Key &key) : _key(key), _value() {}
+		explicit Node(const Key &key) : _key(key), _value() {}
+		Node() : _key(), _value() {}
 	};
 
 	enum {
@@ -98,12 +98,14 @@
 	}
 
 	void freeNode(Node *node) {
-		_nodePool.deleteChunk(node);
+		if (node && node != &_dummyNode)
+			_nodePool.deleteChunk(node);
 	}
 
 	Node **_storage;	// hashtable of size arrsize.
 	uint _mask;		/**< Capacity of the HashMap minus one; must be a power of two of minus one */
 	uint _size;
+	uint _deleted; ///< Number of deleted elements (_dummyNodes)
 
 	HashFunc _hash;
 	EqualFunc _equal;
@@ -111,8 +113,11 @@
 	// Default value, returned by the const getVal.
 	const Val _defaultVal;
 
+	// Dummy node, used as marker for erased objects.
+	Node _dummyNode;
+
 #ifdef DEBUG_HASH_COLLISIONS
-	mutable int _collisions, _lookups;
+	mutable int _collisions, _lookups, _dummyHits;
 #endif
 
 	void assign(const HM_t &map);
@@ -269,7 +274,7 @@
 #ifdef __PLAYSTATION2__
 	{
 #else
-	: _defaultVal() {
+	: _defaultVal(), _dummyNode() {
 #endif
 	_mask = HASHMAP_MIN_CAPACITY - 1;
 	_storage = new Node *[HASHMAP_MIN_CAPACITY];
@@ -277,10 +282,12 @@
 	memset(_storage, 0, HASHMAP_MIN_CAPACITY * sizeof(Node *));
 
 	_size = 0;
+	_deleted = 0;
 
 #ifdef DEBUG_HASH_COLLISIONS
 	_collisions = 0;
 	_lookups = 0;
+	_dummyHits = 0;
 #endif
 }
 
@@ -291,7 +298,12 @@
  */
 template<class Key, class Val, class HashFunc, class EqualFunc>
 HashMap<Key, Val, HashFunc, EqualFunc>::HashMap(const HM_t &map) :
-	_defaultVal()  {
+	_defaultVal(), _dummyNode() {
+#ifdef DEBUG_HASH_COLLISIONS
+	_collisions = 0;
+	_lookups = 0;
+	_dummyHits = 0;
+#endif
 	assign(map);
 }
 
@@ -301,13 +313,12 @@
 template<class Key, class Val, class HashFunc, class EqualFunc>
 HashMap<Key, Val, HashFunc, EqualFunc>::~HashMap() {
 	for (uint ctr = 0; ctr <= _mask; ++ctr)
-		if (_storage[ctr] != NULL)
-		  freeNode(_storage[ctr]);
+	  freeNode(_storage[ctr]);
 
 	delete[] _storage;
 #ifdef DEBUG_HASH_COLLISIONS
-	extern void updateHashCollisionStats(int, int, int, int);
-	updateHashCollisionStats(_collisions, _lookups, _mask+1, _size);
+	extern void updateHashCollisionStats(int, int, int, int, int);
+	updateHashCollisionStats(_collisions, _dummyHits, _lookups, _mask+1, _size);
 #endif
 }
 
@@ -327,8 +338,12 @@
 
 	// Simply clone the map given to us, one by one.
 	_size = 0;
+	_deleted = 0;
 	for (uint ctr = 0; ctr <= _mask; ++ctr) {
-		if (map._storage[ctr] != NULL) {
+		if (map._storage[ctr] == &map._dummyNode) {
+			_storage[ctr] = &_dummyNode;
+			_deleted++;
+		} else if (map._storage[ctr] != NULL) {
 			_storage[ctr] = allocNode(map._storage[ctr]->_key);
 			_storage[ctr]->_value = map._storage[ctr]->_value;
 			_size++;
@@ -336,16 +351,15 @@
 	}
 	// Perform a sanity check (to help track down hashmap corruption)
 	assert(_size == map._size);
+	assert(_deleted == map._deleted);
 }
 
 
 template<class Key, class Val, class HashFunc, class EqualFunc>
 void HashMap<Key, Val, HashFunc, EqualFunc>::clear(bool shrinkArray) {
 	for (uint ctr = 0; ctr <= _mask; ++ctr) {
-		if (_storage[ctr] != NULL) {
-			freeNode(_storage[ctr]);
-			_storage[ctr] = NULL;
-		}
+		freeNode(_storage[ctr]);
+		_storage[ctr] = NULL;
 	}
 
 #ifdef USE_HASHMAP_MEMORY_POOL
@@ -362,6 +376,7 @@
 	}
 
 	_size = 0;
+	_deleted = 0;
 }
 
 template<class Key, class Val, class HashFunc, class EqualFunc>
@@ -374,6 +389,7 @@
 
 	// allocate a new array
 	_size = 0;
+	_deleted = 0;
 	_mask = newCapacity - 1;
 	_storage = new Node *[newCapacity];
 	assert(_storage != NULL);
@@ -381,7 +397,7 @@
 
 	// rehash all the old elements
 	for (uint ctr = 0; ctr <= old_mask; ++ctr) {
-		if (old_storage[ctr] == NULL)
+		if (old_storage[ctr] == NULL || old_storage[ctr] == &_dummyNode)
 			continue;
 
 		// Insert the element from the old table into the new table.
@@ -390,7 +406,7 @@
 		// don't have to call _equal().
 		const uint hash = _hash(old_storage[ctr]->_key);
 		uint idx = hash & _mask;
-		for (uint perturb = hash; _storage[idx] != NULL; perturb >>= HASHMAP_PERTURB_SHIFT) {
+		for (uint perturb = hash; _storage[idx] != NULL && _storage[idx] != &_dummyNode; perturb >>= HASHMAP_PERTURB_SHIFT) {
 			idx = (5 * idx + perturb + 1) & _mask;
 		}
 
@@ -412,8 +428,14 @@
 	const uint hash = _hash(key);
 	uint ctr = hash & _mask;
 	for (uint perturb = hash; ; perturb >>= HASHMAP_PERTURB_SHIFT) {
-		if (_storage[ctr] == NULL || _equal(_storage[ctr]->_key, key))
+		if (_storage[ctr] == NULL)
 			break;
+		if (_storage[ctr] == &_dummyNode) {
+#ifdef DEBUG_HASH_COLLISIONS
+			_dummyHits++;
+#endif
+		} else if (_equal(_storage[ctr]->_key, key))
+			break;
 
 		ctr = (5 * ctr + perturb + 1) & _mask;
 
@@ -424,8 +446,8 @@
 
 #ifdef DEBUG_HASH_COLLISIONS
 	_lookups++;
-	fprintf(stderr, "collisions %d, lookups %d, ratio %f in HashMap %p; size %d num elements %d\n",
-		_collisions, _lookups, ((double) _collisions / (double)_lookups),
+	fprintf(stderr, "collisions %d, dummies hit %d, lookups %d, ratio %f in HashMap %p; size %d num elements %d\n",
+		_collisions, _dummyHits, _lookups, ((double) _collisions / (double)_lookups),
 		(const void *)this, _mask+1, _size);
 #endif
 
@@ -434,16 +456,54 @@
 
 template<class Key, class Val, class HashFunc, class EqualFunc>
 int HashMap<Key, Val, HashFunc, EqualFunc>::lookupAndCreateIfMissing(const Key &key) {
-	uint ctr = lookup(key);
+	const uint hash = _hash(key);
+	uint ctr = hash & _mask;
+	const uint NONE_FOUND = _mask + 1;
+	uint first_free = NONE_FOUND;
+	bool found = false;
+	for (uint perturb = hash; ; perturb >>= HASHMAP_PERTURB_SHIFT) {
+		if (_storage[ctr] == NULL)
+			break;
+		if (_storage[ctr] == &_dummyNode) {
+#ifdef DEBUG_HASH_COLLISIONS
+			_dummyHits++;
+#endif
+			if (first_free != _mask + 1)
+				first_free = ctr;
+		} else if (_equal(_storage[ctr]->_key, key)) {
+			found = true;
+			break;
+		}
 
-	if (_storage[ctr] == NULL) {
+		ctr = (5 * ctr + perturb + 1) & _mask;
+
+#ifdef DEBUG_HASH_COLLISIONS
+		_collisions++;
+#endif
+	}
+
+#ifdef DEBUG_HASH_COLLISIONS
+	_lookups++;
+	fprintf(stderr, "collisions %d, dummies hit %d, lookups %d, ratio %f in HashMap %p; size %d num elements %d\n",
+		_collisions, _dummyHits, _lookups, ((double) _collisions / (double)_lookups),
+		(const void *)this, _mask+1, _size);
+#endif
+
+	if (!found && first_free != _mask + 1)
+		ctr = first_free;
+
+	if (!found) {
+		if (_storage[ctr])
+			_deleted--;
 		_storage[ctr] = allocNode(key);
 		assert(_storage[ctr] != NULL);
 		_size++;
 
 		// Keep the load factor below a certain threshold.
+		// Deleted nodes are also counted
 		uint capacity = _mask + 1;
-		if (_size * HASHMAP_LOADFACTOR_DENOMINATOR > capacity * HASHMAP_LOADFACTOR_NUMERATOR) {
+		if ((_size + _deleted) * HASHMAP_LOADFACTOR_DENOMINATOR >
+		        capacity * HASHMAP_LOADFACTOR_NUMERATOR) {
 			capacity = capacity < 500 ? (capacity * 4) : (capacity * 2);
 			expandStorage(capacity);
 			ctr = lookup(key);
@@ -496,44 +556,16 @@
 
 template<class Key, class Val, class HashFunc, class EqualFunc>
 void HashMap<Key, Val, HashFunc, EqualFunc>::erase(const Key &key) {
-	// This is based on code in the Wikipedia article on Hash tables.
 
-	const uint hash = _hash(key);
-	uint i = hash & _mask;
-	uint perturb;
+	uint ctr = lookup(key);
+	if (_storage[ctr] == NULL)
+		return;
 
-	for (perturb = hash; ; perturb >>= HASHMAP_PERTURB_SHIFT) {
-		if (_storage[i] == NULL || _equal(_storage[i]->_key, key))
-			break;
-
-		i = (5 * i + perturb + 1) & _mask;
-	}
-
-	if (_storage[i] == NULL)
-		return; // key wasn't present, so no work has to be done
-
-	// If we remove a key, we must check all subsequent keys and possibly
-	// reinsert them.
-	uint j = i;
-	freeNode(_storage[i]);
-	_storage[i] = NULL;
-	for (perturb = hash; ; perturb >>= HASHMAP_PERTURB_SHIFT) {
-		// Look at the next table slot
-		j = (5 * j + perturb + 1) & _mask;
-		// If the next slot is empty, we are done
-		if (_storage[j] == NULL)
-			break;
-		// Compute the slot where the content of the next slot should normally be,
-		// assuming an empty table, and check whether we have to move it.
-		uint k = _hash(_storage[j]->_key) & _mask;
-		if ((j > i && (k <= i || k > j)) ||
-		    (j < i && (k <= i && k > j)) ) {
-			_storage[i] = _storage[j];
-			i = j;
-		}
-	}
-	_storage[i] = NULL;
+	// If we remove a key, we replace it with a dummy node.
+	freeNode(_storage[ctr]);
+	_storage[ctr] = &_dummyNode;
 	_size--;
+	_deleted++;
 	return;
 }
 

Modified: scummvm/branches/gsoc2009-mods/common/iff_container.h
===================================================================
--- scummvm/branches/gsoc2009-mods/common/iff_container.h	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/common/iff_container.h	2009-07-01 14:45:24 UTC (rev 41989)
@@ -27,6 +27,7 @@
 
 #include "common/scummsys.h"
 #include "common/endian.h"
+#include "common/func.h"
 #include "common/stream.h"
 #include "common/util.h"
 
@@ -145,90 +146,159 @@
 char * ID2string(Common::IFF_ID id);
 
 
-class IFFChunk : public Common::ReadStream {
+/**
+ *  Represents a IFF chunk available to client code.
+ *
+ *  Client code must *not* deallocate _stream when done.
+ */
+struct IFFChunk {
+	Common::IFF_ID			_type;
+	uint32					_size;
+	Common::ReadStream		*_stream;
 
-protected:
-	Common::ReadStream *_input;
-	uint32 bytesRead;
+	IFFChunk(Common::IFF_ID type, uint32 size, Common::ReadStream *stream) : _type(type), _size(size), _stream(stream) {
+		assert(_stream);
+	}
+};
 
-public:
-	IFF_ID id;
-	uint32 size;
+/**
+ *  Parser for IFF containers.
+ */
+class IFFParser {
 
-	IFFChunk(Common::ReadStream *input): _input(input) {
-		size = bytesRead = 0;
-	}
+	/**
+	 *  This private class implements IFF chunk navigation.
+	 */
+	class IFFChunkNav : public Common::ReadStream {
+	protected:
+		Common::ReadStream *_input;
+		uint32 _bytesRead;
+	public:
+		Common::IFF_ID id;
+		uint32 size;
 
-	void incBytesRead(uint32 inc) {
-		bytesRead += inc;
-		if (bytesRead > size) {
-			error("Chunk '%s' overread", ID2string(id));
+		IFFChunkNav() : _input(0) {
 		}
-	}
+		void setInputStream(Common::ReadStream *input) {
+			_input = input;
+			size = _bytesRead = 0;
+		}
+		void incBytesRead(uint32 inc) {
+			_bytesRead += inc;
+			if (_bytesRead > size) {
+				error("Chunk overread");
+			}
+		}
+		void readHeader() {
+			id = _input->readUint32BE();
+			size = _input->readUint32BE();
+			_bytesRead = 0;
+		}
+		bool hasReadAll() const {
+			return (size - _bytesRead) == 0;
+		}
+		void feed() {
+			if (size % 2) {
+				size++;
+			}
+			while (!hasReadAll()) {
+				readByte();
+			}
+		}
+		// Common::ReadStream implementation
+		bool eos() const { return _input->eos(); }
+		bool err() const { return _input->err(); }
+		void clearErr() { _input->clearErr(); }
 
-	void readHeader() {
-		id = _input->readUint32BE();
-		size = _input->readUint32BE();
-		bytesRead = 0;
-	}
+		uint32 read(void *dataPtr, uint32 dataSize) {
+			incBytesRead(dataSize);
+			return _input->read(dataPtr, dataSize);
+		}
+	};
 
-	bool hasReadAll() const {
-		return (size - bytesRead) == 0;
-	}
+protected:
+	IFFChunkNav _formChunk;	//!< The root chunk of the file.
+	IFFChunkNav _chunk; 	//!< The current chunk.
 
-	void feed() {
-		if (size % 2) {
-			size++;
-		}
-		while (!hasReadAll()) {
-			readByte();
-		}
-	}
+	uint32 _formSize;
+	Common::IFF_ID _formType;
 
-	// Common::ReadStream implementation
-	bool eos() const { return _input->eos(); }
-	bool err() const { return _input->err(); }
-	void clearErr() { _input->clearErr(); }
+	Common::ReadStream *_stream;
+	bool _disposeStream;
 
-	uint32 read(void *dataPtr, uint32 dataSize) {
-		incBytesRead(dataSize);
-		return _input->read(dataPtr, dataSize);
-	}
+	void setInputStream(Common::ReadStream *stream) {
+		assert(stream);
+		_formChunk.setInputStream(stream);
+		_chunk.setInputStream(stream);
 
-};
-
-class IFFParser {
-public:
-	IFFParser(Common::ReadStream &input) : _formChunk(&input), _chunk(&input) {
 		_formChunk.readHeader();
 		if (_formChunk.id != ID_FORM) {
 			error("IFFParser input is not a FORM type IFF file");
 		}
-		_typeId = _formChunk.readUint32BE();
+		_formSize = _formChunk.size;
+		_formType = _formChunk.readUint32BE();
 	}
 
-	virtual ~IFFParser() {}
+public:
+	IFFParser(Common::ReadStream *stream, bool disposeStream = false) : _stream(stream), _disposeStream(disposeStream) {
+		setInputStream(stream);
+	}
+	~IFFParser() {
+		if (_disposeStream) {
+			delete _stream;
+		}
+		_stream = 0;
+	}
 
-	IFFChunk *nextChunk() {
-		_chunk.feed();
-		_formChunk.incBytesRead(_chunk.size);
+	/**
+	 * Returns the IFF FORM type.
+	 * @return the IFF FORM type of the stream, or 0 if FORM header is not found.
+	 */
+	Common::IFF_ID getFORMType() const;
 
-		if (_formChunk.hasReadAll())
-			return 0;
+	/**
+	 * Returns the size of the data.
+	 * @return the size of the data in file, or -1 if FORM header is not found.
+	 */
+	uint32 getFORMSize() const;
 
-		_formChunk.incBytesRead(8);
-		_chunk.readHeader();
+	/**
+	 * Callback type for the parser.
+	 */
+	typedef Common::Functor1< IFFChunk&, bool > IFFCallback;
 
-		return &_chunk;
-	}
+	/**
+	 * Parse the IFF container, invoking the callback on each chunk encountered.
+	 * The callback can interrupt the parsing by returning 'true'.
+	 */
+	void parse(IFFCallback &callback) {
+		bool stop;
+		do {
+			_chunk.feed();
+			_formChunk.incBytesRead(_chunk.size);
 
-	IFF_ID	_typeId;
+			if (_formChunk.hasReadAll()) {
+				break;
+			}
 
-protected:
-	IFFChunk	_formChunk;
-	IFFChunk	_chunk;
+			_formChunk.incBytesRead(8);
+			_chunk.readHeader();
+
+			// invoke the callback
+			Common::SubReadStream stream(&_chunk, _chunk.size);
+			IFFChunk chunk(_chunk.id, _chunk.size, &stream);
+			stop = callback(chunk);
+
+			// eats up all the remaining data in the chunk
+			while (!stream.eos()) {
+				stream.readByte();
+			}
+
+		} while (!stop);
+	}
 };
 
+
 } // namespace Common
 
 #endif

Modified: scummvm/branches/gsoc2009-mods/common/system.h
===================================================================
--- scummvm/branches/gsoc2009-mods/common/system.h	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/common/system.h	2009-07-01 14:45:24 UTC (rev 41989)
@@ -148,6 +148,10 @@
 		 * It is currently used only by some Macintosh versions of Humongous
 		 * Entertainment games. If the backend doesn't implement this feature then
 		 * the engine switches to b/w versions of cursors.
+		 * The GUI also relies on this feature for mouse cursors.
+		 *
+		 * To enable the cursor palette call "disableCursorPalette" with false.
+		 * @see disableCursorPalette
 		 */
 		kFeatureCursorHasPalette,
 
@@ -662,10 +666,25 @@
 
 
 
-	/** @name Mouse */
+	/** @name Mouse
+	 * This is the lower level implementation as provided by the
+	 * backends. The engines should use the Graphics::CursorManager
+	 * class instead of using it directly.
+	 */
 	//@{
 
-	/** Show or hide the mouse cursor. */
+	/**
+	 * Show or hide the mouse cursor.
+	 *
+	 * Currently the backend is not required to immediately draw the
+	 * mouse cursor on showMouse(true).
+	 *
+	 * TODO: We might want to reconsider this fact,
+	 * check Graphics::CursorManager::showMouse for some details about
+	 * this.
+	 *
+	 * @see Graphics::CursorManager::showMouse
+	 */
 	virtual bool showMouse(bool visible) = 0;
 
 	/**
@@ -830,6 +849,9 @@
 	 * @name Audio CD
 	 * The methods in this group deal with Audio CD playback.
 	 * The default implementation simply does nothing.
+	 * This is the lower level implementation as provided by the
+	 * backends. The engines should use the Audio::AudioCDManager
+	 * class instead of using it directly.
 	 */
 	//@{
 
@@ -875,13 +897,11 @@
 
 	/**
 	 * Set a window caption or any other comparable status display to the
-	 * given value. The caption must be a pure ASCII string. Passing a
-	 * non-ASCII string may lead to unexpected behavior, even crashes.
+	 * given value. The caption must be a pure ISO LATIN 1 string. Passing a
+	 * string with a different encoding may lead to unexpected behavior,
+	 * even crashes.
 	 *
-	 * In a future revision of this API, this may be changed to allowing
-	 * UTF-8 or UTF-16 encoded data, or maybe ISO LATIN 1.
-	 *
-	 * @param caption	the window caption to use, as an ASCII string
+	 * @param caption	the window caption to use, as an ISO LATIN 1 string
 	 */
 	virtual void setWindowCaption(const char *caption) {}
 
@@ -891,6 +911,8 @@
 	 * rectangle over the regular screen content; or in a message box beneath
 	 * it; etc.).
 	 *
+	 * Currently, only pure ASCII messages can be expected to show correctly.
+	 *
 	 * @note There is a default implementation which uses a TimedMessageDialog
 	 *       to display the message. Hence implementing this is optional.
 	 *

Modified: scummvm/branches/gsoc2009-mods/common/util.cpp
===================================================================
--- scummvm/branches/gsoc2009-mods/common/util.cpp	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/common/util.cpp	2009-07-01 14:45:24 UTC (rev 41989)
@@ -211,6 +211,7 @@
 	{"ru", "Russian", RU_RUS},
 	{"es", "Spanish", ES_ESP},
 	{"se", "Swedish", SE_SWE},
+	{"hu", "Hungarian", HU_HUN},
 	{0, 0, UNK_LANG}
 };
 

Modified: scummvm/branches/gsoc2009-mods/common/util.h
===================================================================
--- scummvm/branches/gsoc2009-mods/common/util.h	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/common/util.h	2009-07-01 14:45:24 UTC (rev 41989)
@@ -172,6 +172,7 @@
 	RU_RUS,
 	ES_ESP,
 	SE_SWE,
+	HU_HUN,
 
 	UNK_LANG = -1	// Use default language (i.e. none specified)
 };

Modified: scummvm/branches/gsoc2009-mods/configure
===================================================================
--- scummvm/branches/gsoc2009-mods/configure	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/configure	2009-07-01 14:45:24 UTC (rev 41989)
@@ -1115,6 +1115,10 @@
 		LIBS="$LIBS -lmingw32 -lwinmm"
 		OBJS="$OBJS scummvmico.o"
 		;;
+	cygwin*)
+		echo ERROR: Cygwin building is not supported by ScummVM anymore. Consider using MinGW.
+		exit 0
+		;;
 	os2-emx*)
 		DEFINES="$DEFINES -DUNIX"
 		;;
@@ -1307,8 +1311,10 @@
 			type_4_byte='int'
 			_ar="$_host_alias-ar cru"
 			_ranlib=$_host_alias-ranlib
+			_strip=$_host_alias-strip
 			_backend="wii"
 			_build_hq_scalers="no"
+			add_line_to_config_mk 'GAMECUBE = 0'
 			add_line_to_config_mk 'include $(srcdir)/backends/platform/wii/wii.mk'
 			add_line_to_config_h "#define DEBUG_WII_USBGECKO"
 			add_line_to_config_h "/* #define DEBUG_WII_MEMSTATS */"
@@ -1325,10 +1331,13 @@
 			type_4_byte='int'
 			_ar="$_host_alias-ar cru"
 			_ranlib=$_host_alias-ranlib
+			_strip=$_host_alias-strip
 			_backend="wii"
 			_build_hq_scalers="no"
 			_mt32emu="no"
+			add_line_to_config_mk 'GAMECUBE = 1'
 			add_line_to_config_mk 'include $(srcdir)/backends/platform/wii/wii.mk'
+			add_line_to_config_h '#define GAMECUBE'
 			add_line_to_config_h "/* #define DEBUG_WII_USBGECKO */"
 			add_line_to_config_h "/* #define DEBUG_WII_MEMSTATS */"
 			add_line_to_config_h "/* #define DEBUG_WII_GDB */"
@@ -1925,7 +1934,6 @@
 		DEFINES="$DEFINES -D__WII__ -DGEKKO"
 		case $_host_os in
 		gamecube)
-			DEFINES="$DEFINES -DGAMECUBE"
 			LIBS="$LIBS -lfat -logc -ldb"
 			;;
 		*)

Modified: scummvm/branches/gsoc2009-mods/dists/iphone/scummvm.xcodeproj/project.pbxproj
===================================================================
--- scummvm/branches/gsoc2009-mods/dists/iphone/scummvm.xcodeproj/project.pbxproj	2009-07-01 13:25:48 UTC (rev 41988)
+++ scummvm/branches/gsoc2009-mods/dists/iphone/scummvm.xcodeproj/project.pbxproj	2009-07-01 14:45:24 UTC (rev 41989)
@@ -264,7 +264,6 @@
 		DF093F6B0F63CB26002D821E /* sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF8421120E7BA6A700F5680E /* sound.cpp */; };
 		DF093F6C0F63CB26002D821E /* talk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF8421130E7BA6A700F5680E /* talk.cpp */; };
 		DF093F6D0F63CB26002D821E /* engine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF8421140E7BA6A700F5680E /* engine.cpp */; };
-		DF093F6E0F63CB26002D821E /* coktelvideo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF8421190E7BA6A700F5680E /* coktelvideo.cpp */; };
 		DF093F6F0F63CB26002D821E /* dataio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF84211B0E7BA6A700F5680E /* dataio.cpp */; };
 		DF093F700F63CB26002D821E /* detection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF84211D0E7BA6A700F5680E /* detection.cpp */; };
 		DF093F710F63CB26002D821E /* draw.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF84211E0E7BA6A700F5680E /* draw.cpp */; };
@@ -303,12 +302,6 @@
 		DF093F920F63CB26002D821E /* mult_v2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF84214A0E7BA6A700F5680E /* mult_v2.cpp */; };
 		DF093F930F63CB26002D821E /* palanim.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF84214C0E7BA6A700F5680E /* palanim.cpp */; };
 		DF093F940F63CB26002D821E /* parse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF84214E0E7BA6A700F5680E /* parse.cpp */; };
-		DF093F950F63CB26002D821E /* parse_v1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF8421500E7BA6A700F5680E /* parse_v1.cpp */; };
-		DF093F960F63CB26002D821E /* parse_v2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF8421510E7BA6A700F5680E /* parse_v2.cpp */; };
-		DF093F970F63CB26002D821E /* saveload.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF8421520E7BA6A700F5680E /* saveload.cpp */; };
-		DF093F980F63CB26002D821E /* saveload_v2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF8421540E7BA6A700F5680E /* saveload_v2.cpp */; };
-		DF093F990F63CB26002D821E /* saveload_v3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF8421550E7BA6A700F5680E /* saveload_v3.cpp */; };
-		DF093F9A0F63CB26002D821E /* saveload_v4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF8421560E7BA6A700F5680E /* saveload_v4.cpp */; };
 		DF093F9B0F63CB26002D821E /* scenery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF8421570E7BA6A700F5680E /* scenery.cpp */; };
 		DF093F9C0F63CB26002D821E /* scenery_v1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF8421590E7BA6A700F5680E /* scenery_v1.cpp */; };
 		DF093F9D0F63CB26002D821E /* scenery_v2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF84215A0E7BA6A700F5680E /* scenery_v2.cpp */; };
@@ -805,10 +798,7 @@
 		DF09418A0F63CB26002D821E /* detection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFAAAFFB0F0112DF003E9390 /* detection.cpp */; };
 		DF09418B0F63CB26002D821E /* thumbnail_intern.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFAAB0010F011392003E9390 /* thumbnail_intern.cpp */; };
 		DF09418C0F63CB26002D821E /* dither.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFB900F485D890006E566 /* dither.cpp */; };
-		DF09418D0F63CB26002D821E /* dxa_player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFB9B0F485D950006E566 /* dxa_player.cpp */; };
-		DF09418E0F63CB26002D821E /* flic_player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFB9E0F485D950006E566 /* flic_player.cpp */; };
 		DF09418F0F63CB26002D821E /* mpeg_player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFBA10F485D950006E566 /* mpeg_player.cpp */; };
-		DF0941900F63CB26002D821E /* smk_player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFBA40F485D950006E566 /* smk_player.cpp */; };
 		DF0941910F63CB26002D821E /* video_player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFBA70F485D950006E566 /* video_player.cpp */; };
 		DF0941920F63CB26002D821E /* debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFBD10F485DFB0006E566 /* debug.cpp */; };
 		DF0941930F63CB26002D821E /* GuiManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFBD50F485E360006E566 /* GuiManager.cpp */; };
@@ -824,8 +814,6 @@
 		DF09419D0F63CB26002D821E /* sound_midi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFC330F48628A0006E566 /* sound_midi.cpp */; };
 		DF09419E0F63CB26002D821E /* util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFC360F48628A0006E566 /* util.cpp */; };
 		DF09419F0F63CB26002D821E /* game_v6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFC400F4862D90006E566 /* game_v6.cpp */; };
-		DF0941A00F63CB26002D821E /* indeo3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFC410F4862D90006E566 /* indeo3.cpp */; };
-		DF0941A10F63CB26002D821E /* saveload_v6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFC440F4862D90006E566 /* saveload_v6.cpp */; };
 		DF0941A20F63CB26002D821E /* scene_lol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFC490F4863100006E566 /* scene_lol.cpp */; };
 		DF0941A30F63CB26002D821E /* advancedDetector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFC4C0F4863560006E566 /* advancedDetector.cpp */; };
 		DF0941A40F63CB26002D821E /* base-backend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFC5B0F4866E70006E566 /* base-backend.cpp */; };
@@ -878,7 +866,6 @@
 		DF0941D40F63CB26002D821E /* message.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC830310F48AF18005EF03C /* message.cpp */; };
 		DF0941D50F63CB26002D821E /* said.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC830330F48AF18005EF03C /* said.cpp */; };
 		DF0941D60F63CB26002D821E /* savegame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC830360F48AF18005EF03C /* savegame.cpp */; };
-		DF0941D70F63CB26002D821E /* scriptconsole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC830380F48AF18005EF03C /* scriptconsole.cpp */; };
 		DF0941D80F63CB26002D821E /* scriptdebug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC830390F48AF18005EF03C /* scriptdebug.cpp */; };
 		DF0941D90F63CB26002D821E /* seg_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC8303A0F48AF18005EF03C /* seg_manager.cpp */; };
 		DF0941DA0F63CB26002D821E /* vm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC8303C0F48AF18005EF03C /* vm.cpp */; };
@@ -891,36 +878,22 @@
 		DF0941E10F63CB26002D821E /* menubar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC8304C0F48AF18005EF03C /* menubar.cpp */; };
 		DF0941E20F63CB26002D821E /* operations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC8304D0F48AF18005EF03C /* operations.cpp */; };
 		DF0941EC0F63CB26002D821E /* sci.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC830960F48AF18005EF03C /* sci.cpp */; };
-		DF0941F10F63CB26002D821E /* resource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC830B00F48AF19005EF03C /* resource.cpp */; };
-		DF0941F20F63CB26002D821E /* versions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC830BA0F48AF19005EF03C /* versions.cpp */; };
-		DF0941F30F63CB26002D821E /* vocabulary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC830BB0F48AF19005EF03C /* vocabulary.cpp */; };
-		DF0941F40F63CB26002D821E /* vocab_debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC830BC0F48AF19005EF03C /* vocab_debug.cpp */; };
 		DF0941F60F63CB26002D821E /* core.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC830C00F48AF19005EF03C /* core.cpp */; };
-		DF0941F70F63CB26002D821E /* devices.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC830C40F48AF19005EF03C /* devices.cpp */; };
 		DF0941F80F63CB26002D821E /* iterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC830CB0F48AF19005EF03C /* iterator.cpp */; };
-		DF0941F90F63CB26002D821E /* players.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC830E90F48AF19005EF03C /* players.cpp */; };
-		DF0941FA0F63CB26002D821E /* realtime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC830EB0F48AF19005EF03C /* realtime.cpp */; };
 		DF0941FB0F63CB26002D821E /* sequencers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC830F30F48AF19005EF03C /* sequencers.cpp */; };
 		DF0941FC0F63CB26002D821E /* amiga.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC830F60F48AF19005EF03C /* amiga.cpp */; };
-		DF0941FD0F63CB26002D821E /* opl2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC830FA0F48AF19005EF03C /* opl2.cpp */; };
-		DF0941FE0F63CB26002D821E /* pcspeaker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC830FB0F48AF19005EF03C /* pcspeaker.cpp */; };
-		DF0941FF0F63CB26002D821E /* SN76496.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC830FC0F48AF19005EF03C /* SN76496.cpp */; };
-		DF0942000F63CB26002D821E /* softsequencers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC830FD0F48AF19005EF03C /* softsequencers.cpp */; };
 		DF0942010F63CB26002D821E /* songlib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC830FF0F48AF19005EF03C /* songlib.cpp */; };
 		DF0942020F63CB26002D821E /* unzip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFE473C10D81F4E800B6D1FB /* unzip.cpp */; };
 		DF0942030F63CB26002D821E /* console.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFAAD2390F50120E00C3A4E2 /* console.cpp */; };
 		DF0942040F63CB26002D821E /* exereader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFAAD23B0F50120E00C3A4E2 /* exereader.cpp */; };
 		DF0942070F63CB26002D821E /* intmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF573BFA0F5A81EA00961A72 /* intmap.cpp */; };
-		DF0942080F63CB26002D821E /* kdebug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF573BFC0F5A81EA00961A72 /* kdebug.cpp */; };
 		DF0942090F63CB26002D821E /* state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF573C010F5A81EA00961A72 /* state.cpp */; };
 		DF09420A0F63CB26002D821E /* gfx_widgets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF573C130F5A820E00961A72 /* gfx_widgets.cpp */; };
-		DF09420B0F63CB26002D821E /* sciconsole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF573C210F5A822D00961A72 /* sciconsole.cpp */; };
 		DF09420C0F63CB26002D821E /* exec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF573CBA0F5A85B300961A72 /* exec.cpp */; };
 		DF09420D0F63CB26002D821E /* timer_lol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF573CBD0F5A85E100961A72 /* timer_lol.cpp */; };
 		DF09420F0F63CB26002D821E /* tools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF573CC40F5A863100961A72 /* tools.cpp */; };
 		DF0942100F63CB26002D821E /* sprites_lol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF89C2870F62D55C00D756B6 /* sprites_lol.cpp */; };
 		DF0942110F63CB26002D821E /* script.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF89C2A30F62D79E00D756B6 /* script.cpp */; };
-		DF0942120F63CB26002D821E /* polled.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC830EA0F48AF19005EF03C /* polled.cpp */; };
 		DF0942130F63CB26002D821E /* shorten.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF89C2B60F62D91000D756B6 /* shorten.cpp */; };
 		DF0942140F63CB26002D821E /* timestamp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF89C2B80F62D91000D756B6 /* timestamp.cpp */; };
 		DF0942150F63CB26002D821E /* pn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF093E5C0F63CAD4002D821E /* pn.cpp */; };
@@ -962,14 +935,10 @@
 		DF09CC290FAC4EAB00A5AFD7 /* script_v4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF09CC270FAC4EAB00A5AFD7 /* script_v4.cpp */; };
 		DF09CC2A0FAC4EAB00A5AFD7 /* script_v3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF09CC260FAC4EAB00A5AFD7 /* script_v3.cpp */; };
 		DF09CC2B0FAC4EAB00A5AFD7 /* script_v4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF09CC270FAC4EAB00A5AFD7 /* script_v4.cpp */; };
-		DF224E030FB23BC500C8E453 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF224E020FB23BC500C8E453 /* OpenGLES.framework */; };
 		DF224E040FB23BC500C8E453 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF224E020FB23BC500C8E453 /* OpenGLES.framework */; };
 		DF224E050FB23BC500C8E453 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF224E020FB23BC500C8E453 /* OpenGLES.framework */; };
 		DF2FFB930F485D890006E566 /* dither.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFB900F485D890006E566 /* dither.cpp */; };
-		DF2FFBAF0F485D950006E566 /* dxa_player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFB9B0F485D950006E566 /* dxa_player.cpp */; };
-		DF2FFBB10F485D950006E566 /* flic_player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFB9E0F485D950006E566 /* flic_player.cpp */; };
 		DF2FFBB30F485D950006E566 /* mpeg_player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFBA10F485D950006E566 /* mpeg_player.cpp */; };
-		DF2FFBB50F485D950006E566 /* smk_player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFBA40F485D950006E566 /* smk_player.cpp */; };
 		DF2FFBB70F485D950006E566 /* video_player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFBA70F485D950006E566 /* video_player.cpp */; };
 		DF2FFBD30F485DFB0006E566 /* debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFBD10F485DFB0006E566 /* debug.cpp */; };
 		DF2FFBD90F485E360006E566 /* GuiManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFBD50F485E360006E566 /* GuiManager.cpp */; };
@@ -985,8 +954,6 @@
 		DF2FFC3C0F48628A0006E566 /* sound_midi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFC330F48628A0006E566 /* sound_midi.cpp */; };
 		DF2FFC3E0F48628A0006E566 /* util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFC360F48628A0006E566 /* util.cpp */; };
 		DF2FFC450F4862D90006E566 /* game_v6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFC400F4862D90006E566 /* game_v6.cpp */; };
-		DF2FFC460F4862D90006E566 /* indeo3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFC410F4862D90006E566 /* indeo3.cpp */; };
-		DF2FFC470F4862D90006E566 /* saveload_v6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFC440F4862D90006E566 /* saveload_v6.cpp */; };
 		DF2FFC4A0F4863100006E566 /* scene_lol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFC490F4863100006E566 /* scene_lol.cpp */; };
 		DF2FFC4E0F4863560006E566 /* advancedDetector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFC4C0F4863560006E566 /* advancedDetector.cpp */; };
 		DF2FFC5D0F4866E70006E566 /* base-backend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFC5B0F4866E70006E566 /* base-backend.cpp */; };
@@ -1024,15 +991,11 @@
 		DF2FFD2C0F48717F0006E566 /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = DF2FFD2A0F48717F0006E566 /* icon.png */; };
 		DF2FFD2D0F48719E0006E566 /* scummclassic.zip in Resources */ = {isa = PBXBuildFile; fileRef = DF2FFBDB0F485E480006E566 /* scummclassic.zip */; };
 		DF573C060F5A81EA00961A72 /* intmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF573BFA0F5A81EA00961A72 /* intmap.cpp */; };
-		DF573C070F5A81EA00961A72 /* kdebug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF573BFC0F5A81EA00961A72 /* kdebug.cpp */; };
 		DF573C080F5A81EA00961A72 /* state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF573C010F5A81EA00961A72 /* state.cpp */; };
 		DF573C1B0F5A820E00961A72 /* gfx_widgets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF573C130F5A820E00961A72 /* gfx_widgets.cpp */; };
-		DF573C250F5A822D00961A72 /* sciconsole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF573C210F5A822D00961A72 /* sciconsole.cpp */; };
 		DF573CBB0F5A85B300961A72 /* exec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF573CBA0F5A85B300961A72 /* exec.cpp */; };
 		DF573CBE0F5A85E100961A72 /* timer_lol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF573CBD0F5A85E100961A72 /* timer_lol.cpp */; };
 		DF573CC60F5A863100961A72 /* tools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF573CC40F5A863100961A72 /* tools.cpp */; };
-		DF5CEAFA0F75529B00DEA624 /* decompressor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEAF80F75529B00DEA624 /* decompressor.cpp */; };
-		DF5CEAFB0F75529B00DEA624 /* decompressor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEAF80F75529B00DEA624 /* decompressor.cpp */; };
 		DF5CEB0B0F7552C700DEA624 /* gfx_resmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEAFF0F7552C700DEA624 /* gfx_resmgr.cpp */; };
 		DF5CEB0D0F7552C700DEA624 /* palette.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEB010F7552C700DEA624 /* palette.cpp */; };
 		DF5CEB0E0F7552C700DEA624 /* picfill.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEB030F7552C700DEA624 /* picfill.cpp */; };
@@ -1040,8 +1003,6 @@
 		DF5CEB100F7552C700DEA624 /* res_font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEB050F7552C700DEA624 /* res_font.cpp */; };
 		DF5CEB110F7552C700DEA624 /* res_pal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEB060F7552C700DEA624 /* res_pal.cpp */; };
 		DF5CEB120F7552C700DEA624 /* res_pic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEB070F7552C700DEA624 /* res_pic.cpp */; };
-		DF5CEB130F7552C700DEA624 /* res_view0.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEB080F7552C700DEA624 /* res_view0.cpp */; };
-		DF5CEB140F7552C700DEA624 /* res_view1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEB090F7552C700DEA624 /* res_view1.cpp */; };
 		DF5CEB160F7552C700DEA624 /* gfx_resmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEAFF0F7552C700DEA624 /* gfx_resmgr.cpp */; };
 		DF5CEB180F7552C700DEA624 /* palette.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEB010F7552C700DEA624 /* palette.cpp */; };
 		DF5CEB190F7552C700DEA624 /* picfill.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEB030F7552C700DEA624 /* picfill.cpp */; };
@@ -1049,12 +1010,8 @@
 		DF5CEB1B0F7552C700DEA624 /* res_font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEB050F7552C700DEA624 /* res_font.cpp */; };
 		DF5CEB1C0F7552C700DEA624 /* res_pal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEB060F7552C700DEA624 /* res_pal.cpp */; };
 		DF5CEB1D0F7552C700DEA624 /* res_pic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEB070F7552C700DEA624 /* res_pic.cpp */; };
-		DF5CEB1E0F7552C700DEA624 /* res_view0.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEB080F7552C700DEA624 /* res_view0.cpp */; };
-		DF5CEB1F0F7552C700DEA624 /* res_view1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEB090F7552C700DEA624 /* res_view1.cpp */; };
-		DF5CEB280F75535000DEA624 /* iff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEB240F75535000DEA624 /* iff.cpp */; };
 		DF5CEB290F75535000DEA624 /* sound_br.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEB260F75535000DEA624 /* sound_br.cpp */; };
 		DF5CEB2A0F75535000DEA624 /* sound_ns.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEB270F75535000DEA624 /* sound_ns.cpp */; };
-		DF5CEB2B0F75535000DEA624 /* iff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEB240F75535000DEA624 /* iff.cpp */; };
 		DF5CEB2C0F75535000DEA624 /* sound_br.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEB260F75535000DEA624 /* sound_br.cpp */; };
 		DF5CEB2D0F75535000DEA624 /* sound_ns.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEB270F75535000DEA624 /* sound_ns.cpp */; };
 		DF5CEB310F75538000DEA624 /* protracker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEB2F0F75538000DEA624 /* protracker.cpp */; };
@@ -1063,6 +1020,103 @@
 		DF5CEB380F7553E000DEA624 /* vag.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEB350F7553E000DEA624 /* vag.cpp */; };
 		DF5CEB3B0F75540700DEA624 /* stringfrag.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEB3A0F75540700DEA624 /* stringfrag.cpp */; };
 		DF5CEB3C0F75540700DEA624 /* stringfrag.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF5CEB3A0F75540700DEA624 /* stringfrag.cpp */; };
+		DF6118320FE3A7D20042AD3F /* res_view.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF61182F0FE3A7D20042AD3F /* res_view.cpp */; };
+		DF6118330FE3A7D20042AD3F /* seq_decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118300FE3A7D20042AD3F /* seq_decoder.cpp */; };
+		DF6118340FE3A7D20042AD3F /* res_view.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF61182F0FE3A7D20042AD3F /* res_view.cpp */; };
+		DF6118350FE3A7D20042AD3F /* seq_decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118300FE3A7D20042AD3F /* seq_decoder.cpp */; };
+		DF6118360FE3A7D20042AD3F /* res_view.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF61182F0FE3A7D20042AD3F /* res_view.cpp */; };
+		DF6118370FE3A7D20042AD3F /* seq_decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118300FE3A7D20042AD3F /* seq_decoder.cpp */; };
+		DF61183C0FE3A8080042AD3F /* kmisc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118380FE3A8080042AD3F /* kmisc.cpp */; };
+		DF61183D0FE3A8080042AD3F /* memobj.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118390FE3A8080042AD3F /* memobj.cpp */; };
+		DF61183E0FE3A8080042AD3F /* kmisc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118380FE3A8080042AD3F /* kmisc.cpp */; };
+		DF61183F0FE3A8080042AD3F /* memobj.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118390FE3A8080042AD3F /* memobj.cpp */; };
+		DF6118400FE3A8080042AD3F /* kmisc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118380FE3A8080042AD3F /* kmisc.cpp */; };
+		DF6118410FE3A8080042AD3F /* memobj.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118390FE3A8080042AD3F /* memobj.cpp */; };
+		DF6118490FE3A8250042AD3F /* decompressor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118430FE3A8250042AD3F /* decompressor.cpp */; };
+		DF61184A0FE3A8250042AD3F /* resource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118450FE3A8250042AD3F /* resource.cpp */; };
+		DF61184B0FE3A8250042AD3F /* vocabulary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118470FE3A8250042AD3F /* vocabulary.cpp */; };
+		DF61184C0FE3A8250042AD3F /* decompressor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118430FE3A8250042AD3F /* decompressor.cpp */; };
+		DF61184D0FE3A8250042AD3F /* resource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118450FE3A8250042AD3F /* resource.cpp */; };
+		DF61184E0FE3A8250042AD3F /* vocabulary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118470FE3A8250042AD3F /* vocabulary.cpp */; };
+		DF61184F0FE3A8250042AD3F /* decompressor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118430FE3A8250042AD3F /* decompressor.cpp */; };
+		DF6118500FE3A8250042AD3F /* resource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118450FE3A8250042AD3F /* resource.cpp */; };
+		DF6118510FE3A8250042AD3F /* vocabulary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118470FE3A8250042AD3F /* vocabulary.cpp */; };
+		DF6118550FE3A8990042AD3F /* disk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118540FE3A8990042AD3F /* disk.cpp */; };
+		DF6118560FE3A8990042AD3F /* disk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118540FE3A8990042AD3F /* disk.cpp */; };
+		DF6118570FE3A8990042AD3F /* disk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118540FE3A8990042AD3F /* disk.cpp */; };
+		DF6118660FE3A9410042AD3F /* coktelvideo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF61185C0FE3A9410042AD3F /* coktelvideo.cpp */; };
+		DF6118670FE3A9410042AD3F /* indeo3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF61185E0FE3A9410042AD3F /* indeo3.cpp */; };
+		DF6118680FE3A9410042AD3F /* dxa_decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118600FE3A9410042AD3F /* dxa_decoder.cpp */; };
+		DF6118690FE3A9410042AD3F /* flic_decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118620FE3A9410042AD3F /* flic_decoder.cpp */; };
+		DF61186A0FE3A9410042AD3F /* smk_decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118640FE3A9410042AD3F /* smk_decoder.cpp */; };
+		DF61186B0FE3A9410042AD3F /* coktelvideo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF61185C0FE3A9410042AD3F /* coktelvideo.cpp */; };
+		DF61186C0FE3A9410042AD3F /* indeo3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF61185E0FE3A9410042AD3F /* indeo3.cpp */; };
+		DF61186D0FE3A9410042AD3F /* dxa_decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118600FE3A9410042AD3F /* dxa_decoder.cpp */; };
+		DF61186E0FE3A9410042AD3F /* flic_decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118620FE3A9410042AD3F /* flic_decoder.cpp */; };
+		DF61186F0FE3A9410042AD3F /* smk_decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118640FE3A9410042AD3F /* smk_decoder.cpp */; };
+		DF6118700FE3A9410042AD3F /* coktelvideo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF61185C0FE3A9410042AD3F /* coktelvideo.cpp */; };
+		DF6118710FE3A9410042AD3F /* indeo3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF61185E0FE3A9410042AD3F /* indeo3.cpp */; };
+		DF6118720FE3A9410042AD3F /* dxa_decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118600FE3A9410042AD3F /* dxa_decoder.cpp */; };
+		DF6118730FE3A9410042AD3F /* flic_decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118620FE3A9410042AD3F /* flic_decoder.cpp */; };
+		DF6118740FE3A9410042AD3F /* smk_decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118640FE3A9410042AD3F /* smk_decoder.cpp */; };
+		DF6118890FE3A9AA0042AD3F /* saveconverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118790FE3A9AA0042AD3F /* saveconverter.cpp */; };
+		DF61188A0FE3A9AA0042AD3F /* saveconverter_v2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF61187B0FE3A9AA0042AD3F /* saveconverter_v2.cpp */; };
+		DF61188B0FE3A9AA0042AD3F /* saveconverter_v3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF61187C0FE3A9AA0042AD3F /* saveconverter_v3.cpp */; };
+		DF61188C0FE3A9AA0042AD3F /* saveconverter_v4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF61187D0FE3A9AA0042AD3F /* saveconverter_v4.cpp */; };
+		DF61188D0FE3A9AA0042AD3F /* saveconverter_v6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF61187E0FE3A9AA0042AD3F /* saveconverter_v6.cpp */; };
+		DF61188E0FE3A9AA0042AD3F /* savefile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF61187F0FE3A9AA0042AD3F /* savefile.cpp */; };
+		DF61188F0FE3A9AA0042AD3F /* savehandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118810FE3A9AA0042AD3F /* savehandler.cpp */; };
+		DF6118900FE3A9AA0042AD3F /* saveload.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118830FE3A9AA0042AD3F /* saveload.cpp */; };
+		DF6118910FE3A9AA0042AD3F /* saveload_v2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118850FE3A9AA0042AD3F /* saveload_v2.cpp */; };
+		DF6118920FE3A9AA0042AD3F /* saveload_v3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118860FE3A9AA0042AD3F /* saveload_v3.cpp */; };
+		DF6118930FE3A9AA0042AD3F /* saveload_v4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118870FE3A9AA0042AD3F /* saveload_v4.cpp */; };
+		DF6118940FE3A9AA0042AD3F /* saveload_v6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118880FE3A9AA0042AD3F /* saveload_v6.cpp */; };
+		DF6118950FE3A9AA0042AD3F /* saveconverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118790FE3A9AA0042AD3F /* saveconverter.cpp */; };
+		DF6118960FE3A9AA0042AD3F /* saveconverter_v2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF61187B0FE3A9AA0042AD3F /* saveconverter_v2.cpp */; };
+		DF6118970FE3A9AA0042AD3F /* saveconverter_v3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF61187C0FE3A9AA0042AD3F /* saveconverter_v3.cpp */; };
+		DF6118980FE3A9AA0042AD3F /* saveconverter_v4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF61187D0FE3A9AA0042AD3F /* saveconverter_v4.cpp */; };
+		DF6118990FE3A9AA0042AD3F /* saveconverter_v6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF61187E0FE3A9AA0042AD3F /* saveconverter_v6.cpp */; };
+		DF61189A0FE3A9AA0042AD3F /* savefile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF61187F0FE3A9AA0042AD3F /* savefile.cpp */; };
+		DF61189B0FE3A9AA0042AD3F /* savehandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118810FE3A9AA0042AD3F /* savehandler.cpp */; };
+		DF61189C0FE3A9AA0042AD3F /* saveload.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118830FE3A9AA0042AD3F /* saveload.cpp */; };
+		DF61189D0FE3A9AA0042AD3F /* saveload_v2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118850FE3A9AA0042AD3F /* saveload_v2.cpp */; };
+		DF61189E0FE3A9AA0042AD3F /* saveload_v3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118860FE3A9AA0042AD3F /* saveload_v3.cpp */; };
+		DF61189F0FE3A9AA0042AD3F /* saveload_v4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118870FE3A9AA0042AD3F /* saveload_v4.cpp */; };
+		DF6118A00FE3A9AA0042AD3F /* saveload_v6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118880FE3A9AA0042AD3F /* saveload_v6.cpp */; };
+		DF6118A10FE3A9AA0042AD3F /* saveconverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118790FE3A9AA0042AD3F /* saveconverter.cpp */; };
+		DF6118A20FE3A9AA0042AD3F /* saveconverter_v2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF61187B0FE3A9AA0042AD3F /* saveconverter_v2.cpp */; };
+		DF6118A30FE3A9AA0042AD3F /* saveconverter_v3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF61187C0FE3A9AA0042AD3F /* saveconverter_v3.cpp */; };
+		DF6118A40FE3A9AA0042AD3F /* saveconverter_v4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF61187D0FE3A9AA0042AD3F /* saveconverter_v4.cpp */; };
+		DF6118A50FE3A9AA0042AD3F /* saveconverter_v6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF61187E0FE3A9AA0042AD3F /* saveconverter_v6.cpp */; };
+		DF6118A60FE3A9AA0042AD3F /* savefile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF61187F0FE3A9AA0042AD3F /* savefile.cpp */; };
+		DF6118A70FE3A9AA0042AD3F /* savehandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118810FE3A9AA0042AD3F /* savehandler.cpp */; };
+		DF6118A80FE3A9AA0042AD3F /* saveload.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118830FE3A9AA0042AD3F /* saveload.cpp */; };
+		DF6118A90FE3A9AA0042AD3F /* saveload_v2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118850FE3A9AA0042AD3F /* saveload_v2.cpp */; };
+		DF6118AA0FE3A9AA0042AD3F /* saveload_v3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118860FE3A9AA0042AD3F /* saveload_v3.cpp */; };
+		DF6118AB0FE3A9AA0042AD3F /* saveload_v4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118870FE3A9AA0042AD3F /* saveload_v4.cpp */; };
+		DF6118AC0FE3A9AA0042AD3F /* saveload_v6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118880FE3A9AA0042AD3F /* saveload_v6.cpp */; };
+		DF6118AF0FE3A9EA0042AD3F /* feeble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118AE0FE3A9EA0042AD3F /* feeble.cpp */; };
+		DF6118B00FE3A9EA0042AD3F /* feeble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118AE0FE3A9EA0042AD3F /* feeble.cpp */; };
+		DF6118B10FE3A9EA0042AD3F /* feeble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118AE0FE3A9EA0042AD3F /* feeble.cpp */; };
+		DF6118B80FE3AA280042AD3F /* saveload_lol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118B30FE3AA280042AD3F /* saveload_lol.cpp */; };
+		DF6118B90FE3AA280042AD3F /* sound_lol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118B40FE3AA280042AD3F /* sound_lol.cpp */; };
+		DF6118BA0FE3AA280042AD3F /* sound_pcspk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118B50FE3AA280042AD3F /* sound_pcspk.cpp */; };
+		DF6118BB0FE3AA280042AD3F /* text_lol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118B60FE3AA280042AD3F /* text_lol.cpp */; };
+		DF6118BC0FE3AA280042AD3F /* saveload_lol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118B30FE3AA280042AD3F /* saveload_lol.cpp */; };
+		DF6118BD0FE3AA280042AD3F /* sound_lol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118B40FE3AA280042AD3F /* sound_lol.cpp */; };
+		DF6118BE0FE3AA280042AD3F /* sound_pcspk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118B50FE3AA280042AD3F /* sound_pcspk.cpp */; };
+		DF6118BF0FE3AA280042AD3F /* text_lol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118B60FE3AA280042AD3F /* text_lol.cpp */; };
+		DF6118C00FE3AA280042AD3F /* saveload_lol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118B30FE3AA280042AD3F /* saveload_lol.cpp */; };
+		DF6118C10FE3AA280042AD3F /* sound_lol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118B40FE3AA280042AD3F /* sound_lol.cpp */; };
+		DF6118C20FE3AA280042AD3F /* sound_pcspk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118B50FE3AA280042AD3F /* sound_pcspk.cpp */; };
+		DF6118C30FE3AA280042AD3F /* text_lol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118B60FE3AA280042AD3F /* text_lol.cpp */; };
+		DF6118C70FE3AABD0042AD3F /* player_v2cms.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118C60FE3AABD0042AD3F /* player_v2cms.cpp */; };
+		DF6118C80FE3AABD0042AD3F /* player_v2cms.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118C60FE3AABD0042AD3F /* player_v2cms.cpp */; };
+		DF6118C90FE3AABD0042AD3F /* player_v2cms.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118C60FE3AABD0042AD3F /* player_v2cms.cpp */; };
+		DF6118CC0FE3AAFD0042AD3F /* hardwarekeys.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118CB0FE3AAFD0042AD3F /* hardwarekeys.cpp */; };
+		DF6118D10FE3AB560042AD3F /* mame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118CF0FE3AB560042AD3F /* mame.cpp */; };
+		DF6118D20FE3AB560042AD3F /* mame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118CF0FE3AB560042AD3F /* mame.cpp */; };
+		DF6118D30FE3AB560042AD3F /* mame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF6118CF0FE3AB560042AD3F /* mame.cpp */; };
 		DF7A40330FB6E8960094E50F /* gfx_pixmap_scale.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF7A40320FB6E8960094E50F /* gfx_pixmap_scale.cpp */; };
 		DF7A40340FB6E8960094E50F /* gfx_pixmap_scale.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF7A40320FB6E8960094E50F /* gfx_pixmap_scale.cpp */; };
 		DF7A40350FB6E8960094E50F /* gfx_pixmap_scale.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF7A40320FB6E8960094E50F /* gfx_pixmap_scale.cpp */; };
@@ -1219,7 +1273,6 @@
 		DF8425D70E7BA6AC00F5680E /* sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF8421120E7BA6A700F5680E /* sound.cpp */; };

@@ 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