[Scummvm-cvs-logs] SF.net SVN: scummvm: [26949] scummvm/branches/gsoc2007-fsnode

david_corrales at users.sourceforge.net david_corrales at users.sourceforge.net
Sat May 26 22:23:33 CEST 2007


Revision: 26949
          http://scummvm.svn.sourceforge.net/scummvm/?rev=26949&view=rev
Author:   david_corrales
Date:     2007-05-26 13:23:24 -0700 (Sat, 26 May 2007)

Log Message:
-----------
Merged the fs branch with trunk. r26472:26948

Modified Paths:
--------------
    scummvm/branches/gsoc2007-fsnode/AUTHORS
    scummvm/branches/gsoc2007-fsnode/Makefile
    scummvm/branches/gsoc2007-fsnode/NEWS
    scummvm/branches/gsoc2007-fsnode/README
    scummvm/branches/gsoc2007-fsnode/backends/fs/ds/ds-fs.cpp
    scummvm/branches/gsoc2007-fsnode/backends/fs/palmos/palmos-fs.cpp
    scummvm/branches/gsoc2007-fsnode/backends/fs/posix/posix-fs-factory.cpp
    scummvm/branches/gsoc2007-fsnode/backends/midi/zodiac.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Rsc/Resource.Frk/Starter.rsrc
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Rsc/StarterRsc.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/base_event.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/base_mouse.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_base.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_base.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_os5.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_os5.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_os5ex.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_os5ex.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_zodiac.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_zodiac.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/cdaudio.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/extend.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/app.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/forms/formCards.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/forms/formMisc.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/forms/formUtil.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/forms/formmain.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/forms/forms.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/games.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/games.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/launch.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/start.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/start.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/native/oscalls.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/native/oscalls.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/native/pnoARM.c
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/native/zodiacARM.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/native/zodiacStartup.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/os5_event.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/os5_gfx.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/os5_mouse.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/os5_overlay.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/os5_sound.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/compile.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/native_agi.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/native_cine.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/native_common.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/native_lure.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/prefix_frontend.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/stuffs.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/zodiac_gfx.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/zodiac_mouse.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/zodiac_overlay.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/scummvm.mcp
    scummvm/branches/gsoc2007-fsnode/backends/platform/dc/portdefs.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/ds/arm9/source/blitters.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/ds/arm9/source/fat/disc_io.c
    scummvm/branches/gsoc2007-fsnode/backends/platform/ds/arm9/source/fat/io_dldi.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/gp32/startup.c
    scummvm/branches/gsoc2007-fsnode/backends/platform/maemo/maemo-sdl.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/null/null.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/ps2/savefile.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/psp/osys_psp.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/psp/osys_psp_gu.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/sdl/sdl-common.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/symbian/AdaptAllMMPs.pl
    scummvm/branches/gsoc2007-fsnode/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl
    scummvm/branches/gsoc2007-fsnode/backends/platform/symbian/S60/ScummVM_S60.mmp.in
    scummvm/branches/gsoc2007-fsnode/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in
    scummvm/branches/gsoc2007-fsnode/backends/platform/symbian/S80/ScummVM_S80.mmp.in
    scummvm/branches/gsoc2007-fsnode/backends/platform/symbian/S90/Scummvm_S90.mmp.in
    scummvm/branches/gsoc2007-fsnode/backends/platform/symbian/UIQ2/ScummVM_UIQ2.mmp.in
    scummvm/branches/gsoc2007-fsnode/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in
    scummvm/branches/gsoc2007-fsnode/backends/platform/symbian/mmp/scummvm_base.mmp.in
    scummvm/branches/gsoc2007-fsnode/backends/platform/wince/CEActionsPocket.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/wince/CEActionsPocket.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/wince/CEActionsSmartphone.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/wince/CEActionsSmartphone.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/wince/CEDevice.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/wince/CEDevice.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/wince/CEScaler.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/wince/CEgui/ItemAction.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/wince/Makefile
    scummvm/branches/gsoc2007-fsnode/backends/platform/wince/wince-sdl.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/wince/wince-sdl.h
    scummvm/branches/gsoc2007-fsnode/base/commandLine.cpp
    scummvm/branches/gsoc2007-fsnode/base/main.cpp
    scummvm/branches/gsoc2007-fsnode/base/plugins.cpp
    scummvm/branches/gsoc2007-fsnode/common/advancedDetector.cpp
    scummvm/branches/gsoc2007-fsnode/common/array.h
    scummvm/branches/gsoc2007-fsnode/common/config-manager.cpp
    scummvm/branches/gsoc2007-fsnode/common/endian.h
    scummvm/branches/gsoc2007-fsnode/common/func.h
    scummvm/branches/gsoc2007-fsnode/common/hash-str.h
    scummvm/branches/gsoc2007-fsnode/common/list.h
    scummvm/branches/gsoc2007-fsnode/common/rect.h
    scummvm/branches/gsoc2007-fsnode/common/scummsys.h
    scummvm/branches/gsoc2007-fsnode/common/singleton.h
    scummvm/branches/gsoc2007-fsnode/common/str.cpp
    scummvm/branches/gsoc2007-fsnode/common/str.h
    scummvm/branches/gsoc2007-fsnode/common/system.h
    scummvm/branches/gsoc2007-fsnode/common/util.cpp
    scummvm/branches/gsoc2007-fsnode/common/util.h
    scummvm/branches/gsoc2007-fsnode/configure
    scummvm/branches/gsoc2007-fsnode/dists/codeblocks/parallaction.cbp
    scummvm/branches/gsoc2007-fsnode/dists/codeblocks/parallaction.depend
    scummvm/branches/gsoc2007-fsnode/dists/codeblocks/parallaction.layout
    scummvm/branches/gsoc2007-fsnode/dists/codeblocks/scummvm.cbp
    scummvm/branches/gsoc2007-fsnode/dists/codeblocks/scummvm.depend
    scummvm/branches/gsoc2007-fsnode/dists/codeblocks/scummvm.layout
    scummvm/branches/gsoc2007-fsnode/dists/codeblocks/scummvm.workspace
    scummvm/branches/gsoc2007-fsnode/dists/msvc71/agi.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc71/agos.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc71/cine.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc71/gob.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc71/kyra.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc71/lure.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc71/parallaction.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc71/saga.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc71/scumm.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc71/scummvm.sln
    scummvm/branches/gsoc2007-fsnode/dists/msvc71/scummvm.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc71/touche.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc8/agi.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc8/agos.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc8/cine.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc8/gob.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc8/kyra.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc8/lure.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc8/parallaction.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc8/queen.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc8/saga.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc8/scumm.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc8/scummvm.sln
    scummvm/branches/gsoc2007-fsnode/dists/msvc8/scummvm.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc8/sky.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc8/sword1.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc8/sword2.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc8/touche.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/scummvm.desktop
    scummvm/branches/gsoc2007-fsnode/engines/agi/agi.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agi/agi.h
    scummvm/branches/gsoc2007-fsnode/engines/agi/agi_v3.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agi/checks.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agi/cycle.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agi/detection.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agi/inv.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agi/keyboard.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agi/logic.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agi/motion.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agi/op_cmd.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agi/op_test.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agi/saveload.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agi/sprite.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agi/view.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/agos.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/agos.h
    scummvm/branches/gsoc2007-fsnode/engines/agos/charset.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/cursor.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/debug.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/draw.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/event.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/gfx.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/icons.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/input.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/module.mk
    scummvm/branches/gsoc2007-fsnode/engines/agos/oracle.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/res_ami.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/res_snd.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/rooms.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/saveload.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/script.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/script_e1.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/script_e2.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/script_ff.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/script_pp.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/script_s1.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/script_s2.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/script_ww.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/sound.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/string.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/subroutine.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/verb.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/vga.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/vga.h
    scummvm/branches/gsoc2007-fsnode/engines/agos/vga_e2.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/vga_ff.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/vga_s1.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/vga_s2.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/vga_ww.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/window.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/zones.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cine/anim.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cine/bg.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cine/cine.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cine/cine.h
    scummvm/branches/gsoc2007-fsnode/engines/cine/gfx.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cine/gfx.h
    scummvm/branches/gsoc2007-fsnode/engines/cine/main_loop.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cine/module.mk
    scummvm/branches/gsoc2007-fsnode/engines/cine/object.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cine/part.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cine/part.h
    scummvm/branches/gsoc2007-fsnode/engines/cine/script.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cine/script.h
    scummvm/branches/gsoc2007-fsnode/engines/cine/unpack.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cine/unpack.h
    scummvm/branches/gsoc2007-fsnode/engines/cine/various.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cine/various.h
    scummvm/branches/gsoc2007-fsnode/engines/engines.mk
    scummvm/branches/gsoc2007-fsnode/engines/gob/dataio.cpp
    scummvm/branches/gsoc2007-fsnode/engines/gob/detection.cpp
    scummvm/branches/gsoc2007-fsnode/engines/gob/draw.h
    scummvm/branches/gsoc2007-fsnode/engines/gob/draw_v1.cpp
    scummvm/branches/gsoc2007-fsnode/engines/gob/draw_v2.cpp
    scummvm/branches/gsoc2007-fsnode/engines/gob/game.cpp
    scummvm/branches/gsoc2007-fsnode/engines/gob/game.h
    scummvm/branches/gsoc2007-fsnode/engines/gob/game_v1.cpp
    scummvm/branches/gsoc2007-fsnode/engines/gob/game_v2.cpp
    scummvm/branches/gsoc2007-fsnode/engines/gob/gob.cpp
    scummvm/branches/gsoc2007-fsnode/engines/gob/goblin.cpp
    scummvm/branches/gsoc2007-fsnode/engines/gob/goblin.h
    scummvm/branches/gsoc2007-fsnode/engines/gob/imd.cpp
    scummvm/branches/gsoc2007-fsnode/engines/gob/init.h
    scummvm/branches/gsoc2007-fsnode/engines/gob/inter.h
    scummvm/branches/gsoc2007-fsnode/engines/gob/inter_v1.cpp
    scummvm/branches/gsoc2007-fsnode/engines/gob/inter_v2.cpp
    scummvm/branches/gsoc2007-fsnode/engines/gob/inter_v3.cpp
    scummvm/branches/gsoc2007-fsnode/engines/gob/module.mk
    scummvm/branches/gsoc2007-fsnode/engines/gob/mult.cpp
    scummvm/branches/gsoc2007-fsnode/engines/gob/mult.h
    scummvm/branches/gsoc2007-fsnode/engines/gob/mult_v2.cpp
    scummvm/branches/gsoc2007-fsnode/engines/gob/parse.cpp
    scummvm/branches/gsoc2007-fsnode/engines/gob/parse.h
    scummvm/branches/gsoc2007-fsnode/engines/gob/saveload.h
    scummvm/branches/gsoc2007-fsnode/engines/gob/scenery.h
    scummvm/branches/gsoc2007-fsnode/engines/gob/sound.cpp
    scummvm/branches/gsoc2007-fsnode/engines/gob/sound.h
    scummvm/branches/gsoc2007-fsnode/engines/gob/util.cpp
    scummvm/branches/gsoc2007-fsnode/engines/gob/util.h
    scummvm/branches/gsoc2007-fsnode/engines/gob/video.cpp
    scummvm/branches/gsoc2007-fsnode/engines/gob/video.h
    scummvm/branches/gsoc2007-fsnode/engines/kyra/animator.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/animator.h
    scummvm/branches/gsoc2007-fsnode/engines/kyra/debugger.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/debugger.h
    scummvm/branches/gsoc2007-fsnode/engines/kyra/gui.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/items.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/kyra.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/kyra.h
    scummvm/branches/gsoc2007-fsnode/engines/kyra/module.mk
    scummvm/branches/gsoc2007-fsnode/engines/kyra/resource.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/resource.h
    scummvm/branches/gsoc2007-fsnode/engines/kyra/saveload.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/scene.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/screen.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/screen.h
    scummvm/branches/gsoc2007-fsnode/engines/kyra/script.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/script.h
    scummvm/branches/gsoc2007-fsnode/engines/kyra/script_v1.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/seqplayer.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/seqplayer.h
    scummvm/branches/gsoc2007-fsnode/engines/kyra/sequences_v1.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/sequences_v2.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/sound.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/sound_adlib.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/sound_digital.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/sound_towns.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/sprites.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/sprites.h
    scummvm/branches/gsoc2007-fsnode/engines/kyra/staticres.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/timer.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/wsamovie.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/wsamovie.h
    scummvm/branches/gsoc2007-fsnode/engines/lure/debugger.cpp
    scummvm/branches/gsoc2007-fsnode/engines/lure/game.cpp
    scummvm/branches/gsoc2007-fsnode/engines/lure/hotspots.cpp
    scummvm/branches/gsoc2007-fsnode/engines/lure/hotspots.h
    scummvm/branches/gsoc2007-fsnode/engines/lure/intro.h
    scummvm/branches/gsoc2007-fsnode/engines/lure/lure.cpp
    scummvm/branches/gsoc2007-fsnode/engines/lure/luredefs.h
    scummvm/branches/gsoc2007-fsnode/engines/lure/menu.cpp
    scummvm/branches/gsoc2007-fsnode/engines/lure/module.mk
    scummvm/branches/gsoc2007-fsnode/engines/lure/res.cpp
    scummvm/branches/gsoc2007-fsnode/engines/lure/res.h
    scummvm/branches/gsoc2007-fsnode/engines/lure/res_struct.cpp
    scummvm/branches/gsoc2007-fsnode/engines/lure/res_struct.h
    scummvm/branches/gsoc2007-fsnode/engines/lure/scripts.cpp
    scummvm/branches/gsoc2007-fsnode/engines/lure/scripts.h
    scummvm/branches/gsoc2007-fsnode/engines/lure/strings.cpp
    scummvm/branches/gsoc2007-fsnode/engines/lure/strings.h
    scummvm/branches/gsoc2007-fsnode/engines/lure/surface.cpp
    scummvm/branches/gsoc2007-fsnode/engines/lure/surface.h
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/animation.cpp
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/archive.cpp
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/callables.cpp
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/commands.cpp
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/commands.h
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/debug.cpp
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/defs.h
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/dialogue.cpp
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/disk.cpp
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/disk.h
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/graphics.cpp
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/graphics.h
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/intro.cpp
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/inventory.cpp
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/inventory.h
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/location.cpp
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/menu.cpp
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/menu.h
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/module.mk
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/parallaction.cpp
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/parallaction.h
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/parser.cpp
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/parser.h
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/saveload.cpp
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/staticres.cpp
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/walk.cpp
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/walk.h
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/zone.cpp
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/zone.h
    scummvm/branches/gsoc2007-fsnode/engines/queen/command.h
    scummvm/branches/gsoc2007-fsnode/engines/queen/sound.cpp
    scummvm/branches/gsoc2007-fsnode/engines/saga/actor.cpp
    scummvm/branches/gsoc2007-fsnode/engines/saga/actor.h
    scummvm/branches/gsoc2007-fsnode/engines/saga/events.cpp
    scummvm/branches/gsoc2007-fsnode/engines/saga/events.h
    scummvm/branches/gsoc2007-fsnode/engines/saga/gfx.h
    scummvm/branches/gsoc2007-fsnode/engines/saga/interface.cpp
    scummvm/branches/gsoc2007-fsnode/engines/saga/interface.h
    scummvm/branches/gsoc2007-fsnode/engines/saga/module.mk
    scummvm/branches/gsoc2007-fsnode/engines/saga/music.cpp
    scummvm/branches/gsoc2007-fsnode/engines/saga/music.h
    scummvm/branches/gsoc2007-fsnode/engines/saga/saga.cpp
    scummvm/branches/gsoc2007-fsnode/engines/saga/saga.h
    scummvm/branches/gsoc2007-fsnode/engines/saga/scene.cpp
    scummvm/branches/gsoc2007-fsnode/engines/saga/scene.h
    scummvm/branches/gsoc2007-fsnode/engines/saga/script.cpp
    scummvm/branches/gsoc2007-fsnode/engines/scumm/actor.cpp
    scummvm/branches/gsoc2007-fsnode/engines/scumm/boxes.cpp
    scummvm/branches/gsoc2007-fsnode/engines/scumm/dialogs.h
    scummvm/branches/gsoc2007-fsnode/engines/scumm/file.h
    scummvm/branches/gsoc2007-fsnode/engines/scumm/he/logic_he.h
    scummvm/branches/gsoc2007-fsnode/engines/scumm/he/resource_he.h
    scummvm/branches/gsoc2007-fsnode/engines/scumm/input.cpp
    scummvm/branches/gsoc2007-fsnode/engines/scumm/intern.h
    scummvm/branches/gsoc2007-fsnode/engines/scumm/module.mk
    scummvm/branches/gsoc2007-fsnode/engines/scumm/player_v2a.cpp
    scummvm/branches/gsoc2007-fsnode/engines/scumm/resource_v2.cpp
    scummvm/branches/gsoc2007-fsnode/engines/scumm/resource_v3.cpp
    scummvm/branches/gsoc2007-fsnode/engines/scumm/saveload.cpp
    scummvm/branches/gsoc2007-fsnode/engines/scumm/saveload.h
    scummvm/branches/gsoc2007-fsnode/engines/scumm/script_v5.cpp
    scummvm/branches/gsoc2007-fsnode/engines/scumm/script_v8.cpp
    scummvm/branches/gsoc2007-fsnode/engines/scumm/scumm-md5.h
    scummvm/branches/gsoc2007-fsnode/engines/scumm/scumm.cpp
    scummvm/branches/gsoc2007-fsnode/engines/scumm/scumm.h
    scummvm/branches/gsoc2007-fsnode/engines/scumm/smush/smush_player.cpp
    scummvm/branches/gsoc2007-fsnode/engines/scumm/sound.cpp
    scummvm/branches/gsoc2007-fsnode/engines/scumm/string.cpp
    scummvm/branches/gsoc2007-fsnode/engines/scumm/vars.cpp
    scummvm/branches/gsoc2007-fsnode/engines/sky/control.h
    scummvm/branches/gsoc2007-fsnode/engines/sky/disk.h
    scummvm/branches/gsoc2007-fsnode/engines/sky/logic.h
    scummvm/branches/gsoc2007-fsnode/engines/sky/music/musicbase.h
    scummvm/branches/gsoc2007-fsnode/engines/sky/screen.h
    scummvm/branches/gsoc2007-fsnode/engines/sky/sound.h
    scummvm/branches/gsoc2007-fsnode/engines/sword1/animation.cpp
    scummvm/branches/gsoc2007-fsnode/engines/sword1/animation.h
    scummvm/branches/gsoc2007-fsnode/engines/sword1/control.cpp
    scummvm/branches/gsoc2007-fsnode/engines/sword1/credits.h
    scummvm/branches/gsoc2007-fsnode/engines/sword1/logic.cpp
    scummvm/branches/gsoc2007-fsnode/engines/sword1/screen.cpp
    scummvm/branches/gsoc2007-fsnode/engines/sword1/sound.h
    scummvm/branches/gsoc2007-fsnode/engines/sword1/text.cpp
    scummvm/branches/gsoc2007-fsnode/engines/sword1/text.h
    scummvm/branches/gsoc2007-fsnode/engines/sword2/screen.cpp
    scummvm/branches/gsoc2007-fsnode/engines/touche/graphics.cpp
    scummvm/branches/gsoc2007-fsnode/engines/touche/graphics.h
    scummvm/branches/gsoc2007-fsnode/engines/touche/module.mk
    scummvm/branches/gsoc2007-fsnode/engines/touche/resource.cpp
    scummvm/branches/gsoc2007-fsnode/engines/touche/staticres.cpp
    scummvm/branches/gsoc2007-fsnode/engines/touche/ui.cpp
    scummvm/branches/gsoc2007-fsnode/graphics/cursorman.cpp
    scummvm/branches/gsoc2007-fsnode/graphics/font.h
    scummvm/branches/gsoc2007-fsnode/graphics/fontman.cpp
    scummvm/branches/gsoc2007-fsnode/graphics/imageman.cpp
    scummvm/branches/gsoc2007-fsnode/graphics/module.mk
    scummvm/branches/gsoc2007-fsnode/graphics/mpeg_player.cpp
    scummvm/branches/gsoc2007-fsnode/gui/KeysDialog.cpp
    scummvm/branches/gsoc2007-fsnode/gui/TabWidget.cpp
    scummvm/branches/gsoc2007-fsnode/gui/browser.cpp
    scummvm/branches/gsoc2007-fsnode/gui/credits.h
    scummvm/branches/gsoc2007-fsnode/gui/dialog.cpp
    scummvm/branches/gsoc2007-fsnode/gui/dialog.h
    scummvm/branches/gsoc2007-fsnode/gui/newgui.cpp
    scummvm/branches/gsoc2007-fsnode/gui/object.cpp
    scummvm/branches/gsoc2007-fsnode/gui/options.cpp
    scummvm/branches/gsoc2007-fsnode/gui/theme-config.cpp
    scummvm/branches/gsoc2007-fsnode/gui/theme.cpp
    scummvm/branches/gsoc2007-fsnode/gui/theme.h
    scummvm/branches/gsoc2007-fsnode/gui/themebrowser.cpp
    scummvm/branches/gsoc2007-fsnode/gui/widget.cpp
    scummvm/branches/gsoc2007-fsnode/sound/adpcm.cpp
    scummvm/branches/gsoc2007-fsnode/sound/aiff.cpp
    scummvm/branches/gsoc2007-fsnode/sound/audiocd.cpp
    scummvm/branches/gsoc2007-fsnode/sound/audiocd.h
    scummvm/branches/gsoc2007-fsnode/sound/flac.cpp
    scummvm/branches/gsoc2007-fsnode/sound/flac.h
    scummvm/branches/gsoc2007-fsnode/sound/mixer.h
    scummvm/branches/gsoc2007-fsnode/sound/mods/paula.h
    scummvm/branches/gsoc2007-fsnode/sound/mods/protracker.h
    scummvm/branches/gsoc2007-fsnode/sound/module.mk
    scummvm/branches/gsoc2007-fsnode/sound/mp3.cpp
    scummvm/branches/gsoc2007-fsnode/sound/mp3.h
    scummvm/branches/gsoc2007-fsnode/sound/softsynth/ym2612.cpp
    scummvm/branches/gsoc2007-fsnode/sound/vorbis.cpp
    scummvm/branches/gsoc2007-fsnode/sound/vorbis.h
    scummvm/branches/gsoc2007-fsnode/test/common/array.h
    scummvm/branches/gsoc2007-fsnode/test/common/str.h
    scummvm/branches/gsoc2007-fsnode/tools/create_lure/create_lure_dat.cpp
    scummvm/branches/gsoc2007-fsnode/tools/create_lure/create_lure_dat.h
    scummvm/branches/gsoc2007-fsnode/tools/credits.pl
    scummvm/branches/gsoc2007-fsnode/tools/module.mk
    scummvm/branches/gsoc2007-fsnode/tools/scumm-md5.txt

Added Paths:
-----------
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/forms/formSelect.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/native_cruise.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/native_parallaction.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/gp2x/build/scummvm.gpe
    scummvm/branches/gsoc2007-fsnode/backends/platform/symbian/mmp/scummvm_cruise.mmp.in
    scummvm/branches/gsoc2007-fsnode/common/algorithm.h
    scummvm/branches/gsoc2007-fsnode/common/iff_container.h
    scummvm/branches/gsoc2007-fsnode/dists/msvc71/cruise.vcproj
    scummvm/branches/gsoc2007-fsnode/dists/msvc8/cruise.vcproj
    scummvm/branches/gsoc2007-fsnode/engines/agos/detection.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/detection_tables.h
    scummvm/branches/gsoc2007-fsnode/engines/cine/sound.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cine/sound.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/
    scummvm/branches/gsoc2007-fsnode/engines/cruise/actor.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/actor.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/background.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/background.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/backgroundIncrust.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/backgroundIncrust.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/cell.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/cell.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/cruise.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/cruise.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/cruise_main.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/cruise_main.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/ctp.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/ctp.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/dataLoader.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/dataLoader.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/decompiler.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/delphine-unpack.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/detection.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/font.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/font.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/fontCharacterTable.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/fontCharacterTable.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/function.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/function.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/gfxModule.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/gfxModule.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/linker.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/linker.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/mainDraw.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/mainDraw.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/menu.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/menu.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/module.mk
    scummvm/branches/gsoc2007-fsnode/engines/cruise/mouse.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/mouse.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/object.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/object.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/overlay.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/overlay.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/perso.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/perso.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/polys.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/polys.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/saveload.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/saveload.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/script.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/script.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/stack.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/stack.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/stringSupport.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/stringSupport.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/various.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/various.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/vars.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/vars.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/volume.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/volume.h
    scummvm/branches/gsoc2007-fsnode/engines/gob/init_v3.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/detection.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/kyra_v1.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/kyra_v1.h
    scummvm/branches/gsoc2007-fsnode/engines/kyra/kyra_v2.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/kyra_v2.h
    scummvm/branches/gsoc2007-fsnode/engines/kyra/kyra_v3.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/kyra_v3.h
    scummvm/branches/gsoc2007-fsnode/engines/lure/detection.cpp
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/debug.h
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/font.cpp
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/sound.cpp
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/sound.h
    scummvm/branches/gsoc2007-fsnode/engines/saga/detection.cpp
    scummvm/branches/gsoc2007-fsnode/engines/saga/detection_tables.h
    scummvm/branches/gsoc2007-fsnode/engines/saga/displayinfo.h
    scummvm/branches/gsoc2007-fsnode/engines/scumm/detection.cpp
    scummvm/branches/gsoc2007-fsnode/engines/scumm/detection.h
    scummvm/branches/gsoc2007-fsnode/engines/scumm/detection_tables.h
    scummvm/branches/gsoc2007-fsnode/engines/touche/detection.cpp
    scummvm/branches/gsoc2007-fsnode/graphics/iff.cpp
    scummvm/branches/gsoc2007-fsnode/graphics/iff.h
    scummvm/branches/gsoc2007-fsnode/sound/iff.cpp
    scummvm/branches/gsoc2007-fsnode/sound/iff.h
    scummvm/branches/gsoc2007-fsnode/sound/mods/soundfx.cpp
    scummvm/branches/gsoc2007-fsnode/sound/mods/soundfx.h

Removed Paths:
-------------
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/extend.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/missing/
    scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/palmversion.h
    scummvm/branches/gsoc2007-fsnode/backends/platform/wince/CEKeysDialog.cpp
    scummvm/branches/gsoc2007-fsnode/backends/platform/wince/CEKeysDialog.h
    scummvm/branches/gsoc2007-fsnode/engines/agos/agosgame.cpp
    scummvm/branches/gsoc2007-fsnode/engines/agos/game.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cine/resource.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cine/resource.h
    scummvm/branches/gsoc2007-fsnode/engines/cine/sfx_player.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cine/sfx_player.h
    scummvm/branches/gsoc2007-fsnode/engines/cine/sound_driver.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cine/sound_driver.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/actor.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/actor.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/background.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/background.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/backgroundIncrust.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/backgroundIncrust.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/cell.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/cell.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/cruise.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/cruise.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/cruise_main.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/cruise_main.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/ctp.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/ctp.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/dataLoader.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/dataLoader.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/decompiler.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/delphine-unpack.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/detection.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/font.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/font.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/fontCharacterTable.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/fontCharacterTable.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/function.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/function.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/gfxModule.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/gfxModule.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/linker.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/linker.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/mainDraw.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/mainDraw.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/menu.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/menu.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/module.mk
    scummvm/branches/gsoc2007-fsnode/engines/cruise/mouse.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/mouse.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/object.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/object.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/overlay.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/overlay.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/perso.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/perso.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/polys.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/polys.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/saveload.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/saveload.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/script.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/script.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/stack.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/stack.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/stringSupport.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/stringSupport.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/various.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/various.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/vars.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/vars.h
    scummvm/branches/gsoc2007-fsnode/engines/cruise/volume.cpp
    scummvm/branches/gsoc2007-fsnode/engines/cruise/volume.h
    scummvm/branches/gsoc2007-fsnode/engines/kyra/kyra2.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/kyra2.h
    scummvm/branches/gsoc2007-fsnode/engines/kyra/kyra3.cpp
    scummvm/branches/gsoc2007-fsnode/engines/kyra/kyra3.h
    scummvm/branches/gsoc2007-fsnode/engines/kyra/plugin.cpp
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/music.cpp
    scummvm/branches/gsoc2007-fsnode/engines/parallaction/music.h
    scummvm/branches/gsoc2007-fsnode/engines/saga/game.cpp
    scummvm/branches/gsoc2007-fsnode/engines/saga/sagagame.cpp
    scummvm/branches/gsoc2007-fsnode/engines/saga/sagagame.h
    scummvm/branches/gsoc2007-fsnode/engines/scumm/plugin.cpp
    scummvm/branches/gsoc2007-fsnode/engines/scumm/plugin.h
    scummvm/branches/gsoc2007-fsnode/engines/touche/plugin.cpp
    scummvm/branches/gsoc2007-fsnode/graphics/ilbm.cpp
    scummvm/branches/gsoc2007-fsnode/graphics/ilbm.h

Modified: scummvm/branches/gsoc2007-fsnode/AUTHORS
===================================================================
--- scummvm/branches/gsoc2007-fsnode/AUTHORS	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/AUTHORS	2007-05-26 20:23:24 UTC (rev 26949)
@@ -26,6 +26,7 @@
 
     AGI:
        Stuart George        
+       Filippos Karapetis   
        Pawel Kolodziejski   
        Eugene Sandulenko    
        David Symonds        
@@ -48,10 +49,14 @@
        Jonathan Gray        
 
     Cinematique evo 1:
+       Vincent Hamm          - original CinE engine author
        Pawel Kolodziejski   
        Gregory Montoir      
        Eugene Sandulenko    
 
+    Cinematique evo 2:
+       Vincent Hamm         
+
     FOTAQ:
        David Eriksson       
        Gregory Montoir      
@@ -72,8 +77,12 @@
     Lure:
        Paul Gilbert         
 
+    Parallaction:
+       peres                
+
     SAGA:
        Torbjorn Andersson   
+       Filippos Karapetis   
        Andrew Kurushin      
        Eugene Sandulenko    
 
@@ -144,7 +153,6 @@
      Tore Anderson         - Former Debian GNU/Linux maintainer
      Ralph Brorsen         - Help with GUI implementation
      Jamieson Christian    - iMUSE, MIDI, all things musical
-     Vincent Hamm          - Co-Founder, original CinE engine author
      Ruediger Hanke        - Port: MorphOS
      Felix Jakschitsch     - Zak256 reverse engineering
      Mutwin Kraus          - Original MacOS porter
@@ -226,6 +234,8 @@
      Andreas Karlsson      - Initial port for EPOC/SymbianOS
      Claudio Matsuoka      - Daily Linux builds
      Thomas Mayer          - PSP port contributions
+     n0p                   - Windows CE port aspect ratio correction scaler
+                             and right click input method
      Mikesch Nepomuk       - MI1 VGA floppy patches
      Nicolas Noble         - Config file and ALSA support
      Quietust              - Sound support for Amiga SCUMM V2/V3 games, MM
@@ -236,6 +246,7 @@
                              support
      Andre Souza           - SDL-based OpenGL renderer
      Tim Phillips          - Initial MI1 CD music support
+     Robin Watts           - ARM assembly routines for the Windows CE port
 
    And to all the contributors, users, and beta testers we've missed. Thanks!
 

Modified: scummvm/branches/gsoc2007-fsnode/Makefile
===================================================================
--- scummvm/branches/gsoc2007-fsnode/Makefile	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/Makefile	2007-05-26 20:23:24 UTC (rev 26949)
@@ -94,19 +94,36 @@
 # location of additional libs for OS X usually /sw/ for fink or
 # /opt/local/ for darwinports
 OSXOPT=/sw
+
+# Static libaries, used for the scummvm-static target
+OSX_STATIC_LIBS := `sdl-config --static-libs`
+
+ifdef USE_VORBIS
+OSX_STATIC_LIBS += \
+		$(OSXOPT)/lib/libvorbisfile.a \
+		$(OSXOPT)/lib/libvorbis.a \
+		$(OSXOPT)/lib/libogg.a
+endif
+
+ifdef USE_FLAC
+OSX_STATIC_LIBS += $(OSXOPT)/lib/libFLAC.a
+endif
+
+ifdef USE_MAD
+OSX_STATIC_LIBS += $(OSXOPT)/lib/libmad.a
+endif
+
+ifdef USE_MPEG2
+OSX_STATIC_LIBS += $(OSXOPT)/lib/libmpeg2.a
+endif
+
 # Special target to create a static linked binary for Mac OS X.
 # We use -force_cpusubtype_ALL to ensure the binary runs on every
 # PowerPC machine.
 scummvm-static: $(OBJS)
 	$(CXX) $(LDFLAGS) -force_cpusubtype_ALL -o scummvm-static $(OBJS) \
-		`sdl-config --static-libs` \
 		-framework CoreMIDI \
-		$(OSXOPT)/lib/libmad.a \
-		$(OSXOPT)/lib/libvorbisfile.a \
-		$(OSXOPT)/lib/libvorbis.a \
-		$(OSXOPT)/lib/libogg.a \
-		$(OSXOPT)/lib/libmpeg2.a \
-		$(OSXOPT)/lib/libFLAC.a \
+		$(OSX_STATIC_LIBS) \
 		-lSystemStubs \
 		-lz
 

Modified: scummvm/branches/gsoc2007-fsnode/NEWS
===================================================================
--- scummvm/branches/gsoc2007-fsnode/NEWS	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/NEWS	2007-05-26 20:23:24 UTC (rev 26949)
@@ -9,6 +9,9 @@
    - Added support for Simon the Sorcerer's Puzzle Pack.
    - Added support for Ween: The Prophecy.
    - Added support for Bargon Attack.
+   - Added Sierra AGI engine.
+   - Added support for Goblins 3.
+   - Added Parallaction engine. Currently only Nippon Safes Inc. is supported.
 
  General:
    - Added dialog which allows the user to select the GUI theme on runtime.
@@ -29,9 +32,6 @@
    - Added support for DXA cutscenes.
    - Added "fast mode" (use Ctrl-f to toggle).
 
- Cine:
-   - Improved support for international versions.
-
  Queen:
    - Added support for Amiga versions.
    - Fixed some sound glitches.
@@ -44,6 +44,7 @@
      in Zak McKracken and Maniac Mansion, by rewriting the walking code
      for these games.
    - Fixed several other issues.
+   - Added support for DXA movies playback in HE games.
 
  Simon:
    - Renamed Simon engine to AGOS.
@@ -62,7 +63,11 @@
 
  WinCE Port:
    - Switched to using a GCC toolchain for building.
+   - Major update to the SDL lib. Better, faster, more compatible :-)
 
+ PalmOS Port:
+   - Now using PalmOS Porting SDK which enables use of the C standard library
+
 0.9.1 (2006-10-29)
  New Ports:
    - Added Nintendo DS port.

Modified: scummvm/branches/gsoc2007-fsnode/README
===================================================================
--- scummvm/branches/gsoc2007-fsnode/README	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/README	2007-05-26 20:23:24 UTC (rev 26949)
@@ -878,6 +878,7 @@
                                  stretches the image to use 320x240 pixels
                                  instead, or a multiple thereof
         Alt-Enter              - Toggles full screen/windowed
+        Alt-s                  - Make a screenshot (SDL backend only)
 
     SCUMM:
         Ctrl 0-9 and Alt 0-9   - Load and save game state
@@ -886,7 +887,6 @@
         Ctrl-t                 - Switch between 'Speech only',
                                  'Speech and Subtitles' and 'Subtitles only'
         Tilde (~)              - Show/hide the debugging console
-        Ctrl-s                 - Shows memory consumption
         [ and ]                - Music volume, down/up
         - and +                - Text speed, slower/faster
         F5                     - Displays a save/load box

Modified: scummvm/branches/gsoc2007-fsnode/backends/fs/ds/ds-fs.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/fs/ds/ds-fs.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/fs/ds/ds-fs.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -19,7 +19,6 @@
 
 #include "stdafx.h"
 #include "str.h"
-#include "fs.h"
 #include "common/util.h"
 //#include <NDS/ARM9/console.h> //basic print funcionality
 #include "ds-fs.h"

Modified: scummvm/branches/gsoc2007-fsnode/backends/fs/palmos/palmos-fs.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/fs/palmos/palmos-fs.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/fs/palmos/palmos-fs.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -21,12 +21,12 @@
 
 #if defined(PALMOS_MODE)
 
+#include "PalmVersion.h"
+#include "globals.h"
+
 #include "common/stdafx.h"
 #include "backends/fs/abstract-fs.h"
 
-#include <stdio.h>
-#include <stdlib.h>
-
 /**
  * Implementation of the ScummVM file system API based on PalmOS VFS API.
  * 

Modified: scummvm/branches/gsoc2007-fsnode/backends/fs/posix/posix-fs-factory.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/fs/posix/posix-fs-factory.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/fs/posix/posix-fs-factory.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -1,8 +1,6 @@
 #include "backends/fs/posix/posix-fs-factory.h"
 #include "backends/fs/posix/posix-fs.cpp"
 
-DECLARE_SINGLETON(POSIXFilesystemFactory);
-
 AbstractFilesystemNode *POSIXFilesystemFactory::makeRootFileNode() const {
 	return new POSIXFilesystemNode();
 }

Modified: scummvm/branches/gsoc2007-fsnode/backends/midi/zodiac.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/midi/zodiac.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/midi/zodiac.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -25,8 +25,7 @@
 
 #ifndef DISABLE_TAPWAVE
 
-#include "TwTraps.h"
-#include "TwMidi.h"
+#include <tapwave.h>
 
 
 class MidiDriver_Zodiac:public MidiDriver_MPU401 {
@@ -110,12 +109,13 @@
 }
 
 void MidiDriver_Zodiac::sysEx(const byte *msg, uint16 length) {
-FIXME: We may have to add the 0xF0 / 0xF7 frame here.
-Or not -- maybe TwMidiSysEx doesn't expect it either.
-But since I couldn't find any documentation on this API,
-I'll leave it to the porter to decide that. -- Fingolfin
+	unsigned char buf[256];
+	
+	buf[0] = 0xF0;
+	memcpy(buf + 1, msg, length);
+	buf[length + 1] = 0xF7;
 
-	TwMidiSysEx(_midiHandle, 0, (byte *)msg, length);
+	TwMidiSysEx(_midiHandle, 0, (byte *)buf, length + 2);
 }
 
 MidiDriver *MidiDriver_Zodiac_create() {

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Rsc/Resource.Frk/Starter.rsrc
===================================================================
(Binary files differ)

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Rsc/StarterRsc.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Rsc/StarterRsc.h	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Rsc/StarterRsc.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -3,7 +3,7 @@
 
 //	Header generated by Constructor for Palm OS (R) 1.9.1
 //
-//	Generated at 17:51:34  on dimanche 14 janvier 2007
+//	Generated at 13:30:37  on mardi 1 mai 2007
 //
 //	Generated for file: Starter.rsrc
 //
@@ -200,7 +200,9 @@
 #define EngineOkButton                            1403	//(Left Origin = 4, Top Origin = 139, Width = 36, Height = 12, Usable = 1, Anchor Left = 1, Frame = 1, Non-bold Frame = 1, Font = Standard)
 #define EngineCancelButton                        1420	//(Left Origin = 45, Top Origin = 139, Width = 36, Height = 12, Usable = 1, Anchor Left = 1, Frame = 1, Non-bold Frame = 1, Font = Standard)
 #define EngineUnnamed1402Label                    1402	//(Left Origin = 4, Top Origin = 16, Usable = 1, Font = Bold)
-#define EngineListList                            1401	//(Left Origin = 4, Top Origin = 30, Width = 148, Usable = 1, Font = Standard, Visible Items = 9)
+#define EngineUnnamed1404Label                    1404	//(Left Origin = 4, Top Origin = 88, Usable = 1, Font = Bold)
+#define EngineListList                            1401	//(Left Origin = 4, Top Origin = 30, Width = 148, Usable = 1, Font = Standard, Visible Items = 5)
+#define EngineSupportedList                       1405	//(Left Origin = 4, Top Origin = 102, Width = 148, Usable = 1, Font = Standard, Visible Items = 3)
 
 //	Resource: tFRM 4000
 #define InfoForm                                  4000	//(Left Origin = 2, Top Origin = 2, Width = 156, Height = 156, Usable = 1, Modal = 1, Save Behind = 1, Help ID = 0, Menu Bar ID = 0, Default Button ID = 0)

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/base_event.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/base_event.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/base_event.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -81,7 +81,7 @@
 	}
 }
 
-bool OSystem_PalmBase::pollEvent(Event &event) {
+bool OSystem_PalmBase::pollEvent(Common::Event &event) {
 	::EventType ev;
 	Boolean handled;
 	UInt32 keyCurrentState;
@@ -92,52 +92,60 @@
 	sound_handler();
 
 	for(;;) {
-#if defined(COMPILE_OS5) && defined(PALMOS_ARM)
-		SysEventGet(&ev, evtNoWait);
-#else
-		EvtGetEvent(&ev, evtNoWait);
-#endif
-		// check for hardkey repeat for mouse emulation
-		keyCurrentState = KeyCurrentState();
-		// check_hard_keys();
+		// if it was a key pressed, let the keyup event raise
+		if (_wasKey) {
+			// check for hardkey repeat for mouse emulation
+			keyCurrentState = KeyCurrentState();
 
-		if (!(keyCurrentState & _keyMouseMask)) {
-			_lastKeyRepeat = 0;
-		} else {
-			if (getMillis() >= (_keyMouseRepeat + _keyMouseDelay)) {
-				_keyMouseRepeat = getMillis();
+			if (!(keyCurrentState & _keyExtraMask)) {
+				_lastKeyRepeat = 0;
 
+			} else if (getMillis() >= (_keyExtraRepeat + _keyExtraDelay)) {
+				_keyExtraRepeat = getMillis();
+
 				if (gVars->arrowKeys) {
-					event.kbd.keycode = 0;
+/*					if		HARD_KEY(Up,	chrUpArrow)
+					else if	HARD_KEY(Down,	chrDownArrow)
+					else if	HARD_KEY(Left,	chrLeftArrow)
+					else if	HARD_KEY(Right,	chrRightArrow)
+*/
+				} else {
+					// button released ?
+					if (_keyExtraPressed) {
+						if (_keyExtraPressed & _keyExtra.bitActionA) {
+							if (!(keyCurrentState & _keyExtra.bitActionA)) {
+								_keyExtraPressed &= ~_keyExtra.bitActionA;
 
-					if (keyCurrentState & _keyMouse.bitUp)
-						event.kbd.keycode = 273;
-					else if (keyCurrentState & _keyMouse.bitDown)
-						event.kbd.keycode = 274;
-					else if (keyCurrentState & _keyMouse.bitLeft)
-						event.kbd.keycode = 276;
-					else if (keyCurrentState & _keyMouse.bitRight)
-						event.kbd.keycode = 275;
+								event.type = Common::EVENT_LBUTTONUP;
+								event.mouse.x = _mouseCurState.x;
+								event.mouse.y = _mouseCurState.y;
+								return true;
+							}
+						}
 
-					if (event.kbd.keycode) {
-						event.type = Common::EVENT_KEYDOWN;
-						event.kbd.ascii = event.kbd.keycode;
-						event.kbd.flags = 0;
-						return true;
+						if (_keyExtraPressed & _keyExtra.bitActionB) {
+							if (!(keyCurrentState & _keyExtra.bitActionB)) {
+								_keyExtraPressed &= ~_keyExtra.bitActionB;
+
+								event.type = Common::EVENT_RBUTTONUP;
+								event.mouse.x = _mouseCurState.x;
+								event.mouse.y = _mouseCurState.y;
+								return true;
+							}
+						}
 					}
 
-				} else {
 					Int8 sx = 0;
 					Int8 sy = 0;
 
-					if (keyCurrentState & _keyMouse.bitUp)
+					if (keyCurrentState & _keyExtra.bitUp)
 						sy = -1;
-					else if (keyCurrentState & _keyMouse.bitDown)
+					else if (keyCurrentState & _keyExtra.bitDown)
 						sy = +1;
 						
-					if (keyCurrentState & _keyMouse.bitLeft)
+					if (keyCurrentState & _keyExtra.bitLeft)
 						sx = -1;
-					else if (keyCurrentState & _keyMouse.bitRight)
+					else if (keyCurrentState & _keyExtra.bitRight)
 						sx = +1;
 
 					if (sx || sy) {
@@ -148,12 +156,42 @@
 						warpMouse(x, y);
 
 						return true;
-					}
+					}			
 				}
 			}
 		}
 
-		if (ev.eType == keyDownEvent) {
+#if defined(COMPILE_OS5) && defined(PALMOS_ARM)
+		SysEventGet(&ev, evtNoWait);
+#else
+		EvtGetEvent(&ev, evtNoWait);
+#endif
+
+		if (ev.eType == keyUpEvent) {
+			int k = 0;
+			switch (ev.data.keyUp.chr) {
+
+			// arrow keys
+			case chrUpArrow:
+				k = 273; break;
+			case chrDownArrow:
+				k = 274; break;
+			case chrLeftArrow:
+				k = 275; break;
+			case chrRightArrow:
+				k = 276; break;
+			}
+
+			if (k) {
+				event.type = Common::EVENT_KEYUP;
+				event.kbd.keycode = k;
+				event.kbd.ascii = k;
+				event.kbd.flags = 0;
+				return true;
+			}
+
+		} else if (ev.eType == keyDownEvent) {
+			int k = 0;
 			switch (ev.data.keyDown.chr) {
 			// ESC key
 			case vchrLaunch:
@@ -180,7 +218,25 @@
 			case vchrContrast:
 				// do nothing
 				return true;
+
+			// arrow keys
+			case chrUpArrow:
+				k = 273; break;
+			case chrDownArrow:
+				k = 274; break;
+			case chrLeftArrow:
+				k = 275; break;
+			case chrRightArrow:
+				k = 276; break;
 			}
+
+			if (k) {
+				event.type = Common::EVENT_KEYDOWN;
+				event.kbd.keycode = k;
+				event.kbd.ascii = k;
+				event.kbd.flags = 0;
+				return true;
+			}
 		}
 
 		if (check_event(event, &ev))
@@ -192,11 +248,13 @@
 						((ev.data.keyDown.chr == vchrAttnStateChanged) || 
 						(ev.data.keyDown.chr == vchrAttnUnsnooze))); 
 
+
 		// graffiti strokes, auto-off, etc...
 		if (!handled)
 			if (SysHandleEvent(&ev))
 				continue;
 
+
 		switch(ev.eType) {
 		case penMoveEvent:
 			get_coordinates(&ev, x, y);
@@ -222,7 +280,7 @@
 				num += 9 -
 						(3 - (3 * x / _screenWidth )) -
 						(3 * (3 * y / _screenHeight));
-			
+
 				event.type = Common::EVENT_KEYDOWN;
 				event.kbd.keycode = num;
 				event.kbd.ascii = num;
@@ -252,7 +310,7 @@
 			event.mouse.y = y;
 			warpMouse(x, y);
 			return true;
-		
+
 		case keyDownEvent:
 			if (ev.data.keyDown.chr == vchrCommand &&
 				(ev.data.keyDown.modifiers & commandKeyMask)) {
@@ -302,7 +360,7 @@
 			} else if  ((key == 'z' && mask == Common::KBD_CTRL) || (mask == Common::KBD_ALT && key == 'x')) {
 				event.type = Common::EVENT_QUIT;
 				return true;
-			
+
 			// num pad (indy fight mode)
 			} else if (key == 'n' && mask == (Common::KBD_CTRL|Common::KBD_ALT) && !_overlayVisible) {
 				_useNumPad = !_useNumPad;
@@ -310,7 +368,7 @@
 				displayMessageOnOSD(_useNumPad ? "Fight mode on." : "Fight mode off.");
 				return false;
 			}
-			
+
 			// other keys
 			_wasKey = true;
 			event.type = Common::EVENT_KEYDOWN;
@@ -320,7 +378,7 @@
 			return true;
 
 		default:
-			if (_wasKey) {
+			if (_wasKey && ev.eType != keyHoldEvent) {
 				event.type = Common::EVENT_KEYUP;
 				_wasKey = false;
 				return true;

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/base_mouse.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/base_mouse.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/base_mouse.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -26,22 +26,53 @@
 
 void OSystem_PalmBase::warpMouse(int x, int y) {
 	if (x != _mouseCurState.x || y != _mouseCurState.y) {
+		x = x >= _screenWidth  ? _screenWidth  - 1 : x;
+		y = y >= _screenHeight ? _screenHeight - 1 : y;
+
 		_mouseCurState.x = x;
 		_mouseCurState.y = y;
-		undraw_mouse();
 	}
 }
 
 bool OSystem_PalmBase::showMouse(bool visible) {
-	if (_mouseVisible == visible)
-		return visible;
-	
 	bool last = _mouseVisible;
 	_mouseVisible = visible;
 
 	return last;
 }
 
+void OSystem_PalmBase::setMouseCursor(const byte *buf, uint w, uint h, int hotspotX, int hotspotY, byte keycolor, int cursorTargetScale) {
+	if (w == 0 || h == 0)
+		return;
+
+	_mouseHotspotX = hotspotX;
+	_mouseHotspotY = hotspotY;
+
+	_mouseKeyColor = keycolor;
+
+	if (_mouseCurState.w != w || _mouseCurState.h != h) {
+		_mouseCurState.w = w;
+		_mouseCurState.h = h;
+		
+		if (_mouseDataP)
+			free(_mouseDataP);
+		
+		if (_mouseBackupP)
+			free(_mouseBackupP);
+
+		_mouseDataP = (byte *)malloc(w * h);
+		_mouseBackupP = (byte *)malloc(w * h * 2); // if 16bit = *2
+	}
+
+	if (!_mouseBackupP) {
+		free(_mouseDataP);
+		_mouseDataP = NULL;
+	}
+
+	if (_mouseDataP)
+		memcpy(_mouseDataP, buf, w * h);
+}
+
 void OSystem_PalmBase::simulate_mouse(Common::Event &event, Int8 iHoriz, Int8 iVert, Coord *xr, Coord *yr) {
 	Int16 x = _mouseCurState.x;
 	Int16 y = _mouseCurState.y;

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_base.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_base.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_base.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -1,7 +1,7 @@
 /* ScummVM - Scumm Interpreter
  * Copyright (C) 2001  Ludvig Strigeus
- * Copyright (C) 2001-2006 The ScummVM project
- * Copyright (C) 2002-2006 Chris Apers - PalmOS Backend
+ * Copyright (C) 2001-2007 The ScummVM project
+ * Copyright (C) 2002-2007 Chris Apers - PalmOS Backend
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -64,16 +64,18 @@
 	_mixerMgr = 0;
 	
 	_mouseDataP = NULL;
+	_mouseBackupP = NULL;
 	_mouseVisible = false;
 	_mouseDrawn = false;
-	MemSet(&_keyMouse, sizeof(_keyMouse), 0);
+	MemSet(&_keyExtra, sizeof(_keyExtra), 0);
 	MemSet(&_mouseCurState, sizeof(_mouseCurState), 0);
 	MemSet(&_mouseOldState, sizeof(_mouseOldState), 0);
 	MemSet(&_timer, sizeof(TimerType), 0);
 	MemSet(&_sound, sizeof(SoundType), 0);
 	
-	_keyMouseRepeat = 0;
-	_keyMouseDelay = (gVars->arrowKeys) ? computeMsecs(125) : computeMsecs(25);
+	_keyExtraRepeat = 0;
+	_keyExtraPressed = 0;
+	_keyExtraDelay = (gVars->arrowKeys) ? computeMsecs(125) : computeMsecs(25);
 }
 
 static int timer_handler(int t) {
@@ -86,13 +88,13 @@
 	if (gVars->autoSave != -1)
 		ConfMan.setInt("autosave_period", gVars->autoSave);
 
-	_keyMouse.bitUp		= keyBitPageUp;
-	_keyMouse.bitDown	= keyBitPageDown;
-	_keyMouse.bitLeft	= keyBitHard2;
-	_keyMouse.bitRight	= keyBitHard3;
+	_keyExtra.bitUp		= keyBitPageUp;
+	_keyExtra.bitDown	= keyBitPageDown;
+	_keyExtra.bitLeft	= keyBitHard2;
+	_keyExtra.bitRight	= keyBitHard3;
 
 	int_initBackend();
-	_keyMouseMask = (_keyMouse.bitUp | _keyMouse.bitDown | _keyMouse.bitLeft | _keyMouse.bitRight);
+	_keyExtraMask = (_keyExtra.bitUp | _keyExtra.bitDown | _keyExtra.bitLeft | _keyExtra.bitRight | _keyExtra.bitActionA | _keyExtra.bitActionB);
 
 	// Create the savefile manager, if none exists yet (we check for this to
 	// allow subclasses to provide their own).
@@ -143,7 +145,12 @@
 	int_quit();
 	clearSoundCallback();
 	unload_gfx_mode();
-	
+
+	if (_mouseDataP) {
+		MemPtrFree(_mouseBackupP);
+		MemPtrFree(_mouseDataP);
+	}
+
 	delete _saveMgr;
 	delete _timerMgr;
 	delete _mixerMgr;

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_base.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_base.h	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_base.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -25,9 +25,13 @@
 #ifndef BE_BASE_H
 #define BE_BASE_H
 
+#include "PalmVersion.h"
+#include "globals.h"
+
 #include "common/stdafx.h"
 #include "common/scummsys.h"
 #include "common/system.h"
+#include "common/events.h"
 
 namespace Audio {
 	class Mixer;
@@ -52,6 +56,12 @@
 	kModifierCount
 };
 
+// Mouse button event
+enum {
+	vchrMouseLeft = vchrHardKeyMax - 2,
+	vchrMouseRight = vchrHardKeyMax - 1
+};
+
 // OSD resource id
 #define kDrawKeyState	3000
 #define kDrawNumPad		3010
@@ -94,7 +104,6 @@
 	virtual void draw_mouse() = 0;
 	virtual void undraw_mouse() = 0;
 	
-//	virtual bool check_hard_keys() = 0;
 	virtual bool check_event(Common::Event &event, EventPtr ev) = 0;
 	
 	virtual void timer_handler();
@@ -107,12 +116,10 @@
 	virtual void clearSoundCallback() = 0;
 
 protected:
+	OSystem_PalmBase();
+
 	virtual void draw_osd(UInt16 id, Int32 x, Int32 y, Boolean show, UInt8 color = 0);
 
-	enum {
-		MAX_MOUSE_W = 80,
-		MAX_MOUSE_H = 80
-	};
 	struct MousePos {
 		int16 x,y,w,h;
 	};
@@ -145,13 +152,15 @@
 	Boolean _overlayVisible;
 	Boolean _redawOSD, _setPalette;
 
-	UInt32 _keyMouseMask, _keyMouseRepeat, _keyMouseDelay;
+	UInt32 _keyExtraMask, _keyExtraPressed, _keyExtraRepeat, _keyExtraDelay;
 	struct {
 		UInt32 bitUp;
 		UInt32 bitDown;
 		UInt32 bitLeft;
 		UInt32 bitRight;
-	} _keyMouse;
+		UInt32 bitActionA;	// left mouse button
+		UInt32 bitActionB;	// right mouse button
+	} _keyExtra;
 	
 	bool _mouseVisible;
 	bool _mouseDrawn;
@@ -163,7 +172,7 @@
 	byte *_mouseDataP, *_mouseBackupP;
 	
 
-	eventsEnum _wasKey;
+	bool _wasKey;
 	UInt8 _lastKeyModifier;
 	UInt32 _lastKeyRepeat;
 	Boolean _useNumPad, _showBatLow;
@@ -172,7 +181,6 @@
 	int _samplesPerSec;
 
 public:
-	OSystem_PalmBase();
 	void initBackend();
 
 /*
@@ -216,7 +224,7 @@
 
 	bool showMouse(bool visible);
 	void warpMouse(int x, int y);
-	virtual void setMouseCursor(const byte *buf, uint w, uint h, int hotspotX, int hotspotY, byte keycolor, int cursorTargetScale) = 0;
+	void setMouseCursor(const byte *buf, uint w, uint h, int hotspotX, int hotspotY, byte keycolor, int cursorTargetScale);
 
 	virtual void showOverlay() = 0;
 	virtual void hideOverlay() = 0;

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_os5.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_os5.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_os5.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -23,11 +23,7 @@
  */
 
 #include "be_os5.h"
-
-#ifndef __TWKEYS_H__
-#include <PalmNavigator.h>
 #include <HsKeyCommon.h>
-#endif
 
 OSystem_PalmOS5::OSystem_PalmOS5() : OSystem_PalmBase() {
 	_sound.active = false;
@@ -78,18 +74,12 @@
 }
 
 void OSystem_PalmOS5::int_initBackend() {
-	if (OPTIONS_TST(kOpt5WayNavigatorV1)) {
-		_keyMouse.bitUp		= keyBitPageUp;
-		_keyMouse.bitDown	= keyBitPageDown;
-		_keyMouse.bitLeft	= keyBitNavLeft;
-		_keyMouse.bitRight	= keyBitNavRight;
-
-	} else if (OPTIONS_TST(kOpt5WayNavigatorV2)) {
-		_keyMouse.bitUp		= keyBitRockerUp|keyBitPageUp;
-		_keyMouse.bitDown	= keyBitRockerDown|keyBitPageDown;
-		_keyMouse.bitLeft	= keyBitRockerLeft;
-		_keyMouse.bitRight	= keyBitRockerRight;
-	}
+	_keyExtra.bitUp		= keyBitRockerUp|keyBitPageUp;
+	_keyExtra.bitDown	= keyBitRockerDown|keyBitPageDown;
+	_keyExtra.bitLeft	= keyBitRockerLeft;
+	_keyExtra.bitRight	= keyBitRockerRight;
+	_keyExtra.bitActionA	= keyBitHard3;
+	_keyExtra.bitActionB	= keyBitHard4;
 }
 
 bool OSystem_PalmOS5::hasFeature(Feature f) {

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_os5.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_os5.h	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_os5.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -99,6 +99,9 @@
 extern SoundExType _soundEx;
 
 class OSystem_PalmOS5 : public OSystem_PalmBase {
+protected:
+	int16 _nativePal[256], _mousePal[256];
+
 private:
 	uint16 _scaleTableX[512];
 	uint32 _scaleTableY[512];
@@ -108,7 +111,6 @@
 
 	OverlayColor *_overlayP;
 	WinHandle _overlayH, _workScreenH;
-	int16 _nativePal[256], _mousePal[256];
 	int16 *_workScreenP;
 	
 	Boolean _isSwitchable, _wasRotated;
@@ -124,7 +126,7 @@
 	void draw_mouse();
 	void undraw_mouse();
 	virtual bool check_event(Common::Event &event, EventPtr ev);
-	virtual void extras_palette(uint8 index, uint8 r, uint8 g, uint8 b);
+	void extras_palette(uint8 index, uint8 r, uint8 g, uint8 b);
 	void calc_scale();
 
 	void render_landscapeAny(RectangleType &r, PointType &p);
@@ -168,8 +170,7 @@
 	void clearScreen();
 	bool grabRawScreen(Graphics::Surface *surf);
 
-	void setMouseCursor(const byte *buf, uint w, uint h, int hotspotX, int hotspotY, byte keycolor, int cursorTargetScale);
-	virtual void setCursorPalette(const byte *colors, uint start, uint num);
+	void setCursorPalette(const byte *colors, uint start, uint num);
 	void disableCursorPalette(bool disable);
 
 	void showOverlay();
@@ -179,7 +180,7 @@
 	virtual void copyRectToOverlay(const OverlayColor *buf, int pitch, int x, int y, int w, int h);
 	virtual OverlayColor RGBToColor(uint8 r, uint8 g, uint8 b);
 	virtual void colorToRGB(OverlayColor color, uint8 &r, uint8 &g, uint8 &b);
-
+	
 	void setWindowCaption(const char *caption);
 
 };

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_os5ex.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_os5ex.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_os5ex.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -38,7 +38,7 @@
 	_timerEx.timer = &_timer;
 	_timerEx.ticks = SysTicksPerSecond();
 }
-/*
+
 static SYSTEM_CALLBACK void timer_handler(void *userDataP) {
 	CALLBACK_PROLOGUE
 	TimerExPtr _timerEx = (TimerExPtr)userDataP;
@@ -73,7 +73,7 @@
 	if (!_timer.active)
 		_timerEx.timerID = 0;
 }
-*/
+
 OSystem::MutexRef OSystem_PalmOS5Ex::createMutex() {
 	UInt32 mutexID;
 	Err e = KALMutexCreate(&mutexID, appFileCreator);
@@ -95,9 +95,8 @@
 	if (mutex)
 		KALMutexDelete((UInt32)mutex);
 }
-/*
+
 void OSystem_PalmOS5Ex::int_quit() {
 	if (_timerEx.timerID)
 		KALTimerDelete(_timerEx.timerID);
 }
-*/
\ No newline at end of file

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_os5ex.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_os5ex.h	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_os5ex.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -45,9 +45,9 @@
 
 class OSystem_PalmOS5Ex : public OSystem_PalmOS5 {
 private:
-//	void timer_handler() {};
-	void sound_handler() {};
-//	void int_quit();
+	void timer_handler() {}
+	void sound_handler() {}
+	void int_quit();
 
 	SndStreamVariableBufferCallback sound_callback();
 
@@ -55,7 +55,7 @@
 	OSystem_PalmOS5Ex();
 	static OSystem *create();
 
-//	void setTimerCallback(TimerProc callback, int interval);
+	void setTimerCallback(TimerProc callback, int interval);
 
 	MutexRef createMutex();
 	void lockMutex(MutexRef mutex);

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_zodiac.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_zodiac.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_zodiac.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -33,10 +33,13 @@
 }
 
 void OSystem_PalmZodiac::int_initBackend() {
-	_keyMouse.bitUp			= keyBitRockerUp;
-	_keyMouse.bitDown		= keyBitRockerDown;
-	_keyMouse.bitLeft		= keyBitRockerLeft;
-	_keyMouse.bitRight		= keyBitRockerRight;
+	_keyExtra.bitUp			= keyBitRockerUp;
+	_keyExtra.bitDown		= keyBitRockerDown;
+	_keyExtra.bitLeft		= keyBitRockerLeft;
+	_keyExtra.bitRight		= keyBitRockerRight;
+	
+//	_keyExtra.bitActionA	= keyBitActionD;
+//	_keyExtra.bitActionB	= keyBitActionB;
 }
 
 void OSystem_PalmZodiac::calc_rect(Boolean fullscreen) {

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_zodiac.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_zodiac.h	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/be_zodiac.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -36,7 +36,6 @@
 	TwGfxType *_gfxH;
 	TwGfxSurfaceType *_palmScreenP, *_tmpScreenP;
 	TwGfxSurfaceType *_overlayP;
-	UInt16 _nativePal[256], _mousePal[256];
 	Boolean _fullscreen;
 	
 	TwGfxPointType _srcPos;
@@ -53,7 +52,6 @@
 	void load_gfx_mode();
 	void hotswap_gfx_mode(int mode);
 
-	void extras_palette(uint8 index, uint8 r, uint8 g, uint8 b);
 	void calc_rect(Boolean fullscreen);
 	bool check_event(Common::Event &event, EventPtr ev);
 	void draw_osd(UInt16 id, Int32 x, Int32 y, Boolean show, UInt8 color = 0);
@@ -69,8 +67,6 @@
 
 	void updateScreen();
 
-	void setCursorPalette(const byte *colors, uint start, uint num);
-
 	void clearOverlay();
 	void grabOverlay(OverlayColor *buf, int pitch);
 	void copyRectToOverlay(const OverlayColor *buf, int pitch, int x, int y, int w, int h);

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/cdaudio.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/cdaudio.h	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/cdaudio.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -54,8 +54,8 @@
 	virtual void setVolume(int volume) { _volumeLevel = volume; }
 	virtual int getVolume() const { return _volumeLevel; }
 
-	virtual void upVolume(int value) {};
-	virtual void downVolume(int value) {};
+	virtual void upVolume(int value) {}
+	virtual void downVolume(int value) {}
 
 protected:
 	int _volumeLevel;

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/extend.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/extend.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/extend.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -22,14 +22,15 @@
  *
  */
 
+#include "PalmVersion.h"
 #include <stdlib.h>
 #include "globals.h"
 
 #include "modulesrsc.h"
 
-const Char *SCUMMVM_SAVEPATH = "/PALM/Programs/ScummVM/Saved";
+const char *SCUMMVM_SAVEPATH = "/PALM/Programs/ScummVM/Saved";
 
-void PalmFatalError(const Char *err) {
+void PalmFatalError(const char *err) {
 	WinSetDrawWindow(WinGetDisplayWindow());
 	WinPalette(winPaletteSetToDefault,0,0,0);
 	WinSetBackColor(0);

Deleted: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/extend.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/extend.h	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/extend.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -1,34 +0,0 @@
-/* ScummVM - Scumm Interpreter
- * Copyright (C) 2001  Ludvig Strigeus
- * Copyright (C) 2001-2006 The ScummVM project
- * Copyright (C) 2002-2006 Chris Apers - PalmOS Backend
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * $URL$
- * $Id$
- *
- */
-
-#ifndef EXTEND_H
-#define EXTEND_H
-
-extern const Char *SCUMMVM_SAVEPATH;
-
-int main(int argc, char **argv);
-void PalmFatalError(const Char *err);
-void DrawStatus(Boolean show);
-
-#endif

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/app.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/app.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/app.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -1,7 +1,7 @@
 /* ScummVM - Scumm Interpreter
  * Copyright (C) 2001  Ludvig Strigeus
- * Copyright (C) 2001-2006 The ScummVM project
- * Copyright (C) 2002-2006 Chris Apers - PalmOS Backend
+ * Copyright (C) 2001-2007 The ScummVM project
+ * Copyright (C) 2002-2007 Chris Apers - PalmOS Backend
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -24,6 +24,7 @@
 
 #include <PalmOS.h>
 #include <SonyClie.h>
+#include <SysGlue.h>
 
 #include "StarterRsc.h"
 #include "palmdefs.h"
@@ -34,7 +35,6 @@
 #include "mathlib.h"
 #include "formCards.h"
 #include "games.h"
-#include "extend.h"
 
 #include "modules.h"
 #include "init_mathlib.h"
@@ -172,6 +172,7 @@
 	OPTIONS_RST(kOptCollapsible);
 	OPTIONS_RST(kOptModeWide);
 	OPTIONS_RST(kOptModeLandscape);
+	OPTIONS_RST(kOptModeRotatable);
 
 	// we are on a sony device
 	if (OPTIONS_TST(kOptDeviceClie)) {
@@ -186,6 +187,8 @@
 			OPTIONS_SET(kOptCollapsible);
 			OPTIONS_SET(kOptModeWide);
 			OPTIONS_SET((mode == PALM_LANDSCAPE) ? kOptModeLandscape : kOptNone);
+			// TODO: doesn't work with Sony
+			OPTIONS_SET(SysGlueTrapExists(pinSysSetOrientation) ? kOptModeRotatable :kOptNone);
 		}
 	}
 

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/forms/formCards.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/forms/formCards.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/forms/formCards.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -364,6 +364,7 @@
 		VFSDirCreate(gPrefs->card.volRefNum, "/PALM/Programs/ScummVM/Saved");
 		VFSDirCreate(gPrefs->card.volRefNum, "/PALM/Programs/ScummVM/Audio");
 		VFSDirCreate(gPrefs->card.volRefNum, "/PALM/Programs/ScummVM/Mods");
+		VFSDirCreate(gPrefs->card.volRefNum, "/PALM/Programs/ScummVM/Themes");
 	}
 }
 

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/forms/formMisc.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/forms/formMisc.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/forms/formMisc.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -190,12 +190,14 @@
 	TabAddContent(&frmP, tabP, "ScummVM", TabMiscScummVMForm);
 	TabAddContent(&frmP, tabP, "More ...", TabMiscExtsForm);
 
+	if (OPTIONS_TST(kOptDeviceARM)) {
+		FrmRemoveObject(&frmP, FrmGetObjectIndex(frmP, TabMiscPalmOSStdPaletteCheckbox));
+		TabMoveUpObject(frmP, TabMiscPalmOSAdvancedCheckbox, 12);
+	}
+
 	if (!OPTIONS_TST(kOptDeviceARM) || OPTIONS_TST(kOptDeviceZodiac))
 		FrmRemoveObject(&frmP, FrmGetObjectIndex(frmP, TabMiscPalmOSAdvancedCheckbox));
 
-	if (OPTIONS_TST(kOptDeviceARM))
-		FrmRemoveObject(&frmP, FrmGetObjectIndex(frmP, TabMiscPalmOSStdPaletteCheckbox));
-
 	if (!OPTIONS_TST(kOptGoLcdAPI)) {
 		FrmRemoveObject(&frmP, FrmGetObjectIndex(frmP, TabMiscExtsGolcdCheckbox));
 		// move lightspeed

Copied: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/forms/formSelect.cpp (from rev 26948, scummvm/trunk/backends/platform/PalmOS/Src/launcher/forms/formSelect.cpp)
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/forms/formSelect.cpp	                        (rev 0)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/forms/formSelect.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -0,0 +1,276 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2001  Ludvig Strigeus
+ * Copyright (C) 2001-2007 The ScummVM project
+ * Copyright (C) 2002-2007 Chris Apers - PalmOS Backend
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * $URL$
+ * $Id$
+ *
+ */
+
+#include <PalmOS.h>
+#include "StarterRsc.h"
+#include "formUtil.h"
+#include "games.h"
+#include "start.h"
+#include "common/util.h"
+
+static Char **items = NULL;
+Int16 selectedEngine = -1;
+
+// Supported games
+static const char *engine_agos[] = {
+	"Demon in my Pocket",
+	"Elvira - Mistress of the Dark",
+	"Elvira II - The Jaws of Cerberus",
+	"Jumble",
+	"NoPatience",
+	"Simon the Sorcerer I",
+	"Simon the Sorcerer II",
+	"Swampy Adventures",
+	"The Feeble Files",
+	"Waxworks"
+};
+
+static const char *engine_sky[] = {
+	"Floppy, CD and Demo"
+};
+
+static const char *engine_sword1[] = {
+	"The Shadow of the Templars (PC/Mac)",
+	"The Shadow of the Templars (Demo)"
+};
+
+static const char *engine_sword2[] = {
+	"The Smoking Mirror",
+	"The Smoking Mirror (Demo)"
+};
+
+static const char *engine_cine[] = {
+	"Future Wars",
+	"Operation Stealth"
+};
+
+static const char *engine_queen[] = {
+	"Flight of the Amazon Queen"
+};
+
+static const char *engine_lure[] = {
+	"Lure of the Tempress"
+};
+
+static const char *engine_gob[] = {
+	"Bargon Attack",
+	"Gobliiins",
+	"Gobliins 2",
+	"Goblins Quest 3",
+	"The Bizarre Adventures of Woodruff and the Schnibble",
+	"Ween: The Prophecy",
+};
+
+static const char *engine_kyra[] = {
+	"The Legend of Kyrandia",
+	"The Legend of Kyrandia: The Hand of Fate",
+	"The Legend of Kyrandia: Malcolm's Revenge"
+};
+
+static const char *engine_parallaction[] = {
+	"Nippon Safes Inc."
+};
+
+static const char *engine_saga[] = {
+	"I Have No Mouth And I Must Scream",
+	"Inherit the earth"
+};
+
+static const char *engine_scumm[] = {
+	"Day of the Tentacle",
+	"Indiana Jones and the Fate of Atlantis",
+	"Indiana Jones and the Last Crusade",
+	"Loom",
+	"Maniac Mansion",
+	"Monkey Island 2: LeChuck's Revenge",
+	"Passport to Adventure",
+	"Sam & Max Hit the Road",
+	"The Secret of Monkey Island"
+	"Zak McKracken and the Alien Mindbenders"
+};
+
+static const char *engine_agi[] = {
+	"AGI Tetris",
+	"Caitlyn's Destiny",
+	"Donald Duck's Playground",
+	"Fanmade AGI game",
+	"Gold Rush!",
+	"King's Quest I: Quest for the Crown",
+	"King's Quest II: Romancing the Throne",
+	"King's Quest III: To Heir Is Human",
+	"King's Quest IV: The Perils of Rosella",
+	"Leisure Suit Larry in the Land of the Lounge Lizards",
+	"Mixed-Up Mother Goose",
+	"Manhunter 1: New York",
+	"Manhunter 2: San Francisco",
+	"Police Quest I: In Pursuit of the Death Angel",
+	"Serguei's Destiny 1",
+	"Serguei's Destiny 2",
+	"Space Quest 0: Replicated",
+	"Space Quest I: The Sarien Encounter",
+	"Space Quest II: Vohaul's Revenge",
+	"Space Quest X: The Lost Chapter",
+	"The Black Cauldron",
+	"Xmas Card"
+};
+
+static const char *engine_touche[] = {
+	"Touche: The Adventures of the Fifth Musketeer"
+};
+
+static const char *engine_cruise[] = {
+	"Cruise for a Corpse"
+};
+
+static const struct {
+	int size;
+	const char **listP;
+} supported[] = {
+	{ ARRAYSIZE(engine_agos), engine_agos },
+	{ ARRAYSIZE(engine_sky), engine_sky },
+	{ ARRAYSIZE(engine_sword1), engine_sword1 },
+	{ ARRAYSIZE(engine_sword2), engine_sword2 },
+	{ ARRAYSIZE(engine_cine), engine_cine },
+	{ ARRAYSIZE(engine_queen), engine_queen },
+	{ ARRAYSIZE(engine_lure), engine_lure },
+	{ ARRAYSIZE(engine_gob), engine_gob },
+	{ ARRAYSIZE(engine_kyra), engine_kyra },
+	{ ARRAYSIZE(engine_parallaction), engine_parallaction },
+	{ ARRAYSIZE(engine_saga), engine_saga },
+	{ ARRAYSIZE(engine_scumm), engine_scumm },
+	{ ARRAYSIZE(engine_agi), engine_agi },
+	{ ARRAYSIZE(engine_touche), engine_touche },
+	{ ARRAYSIZE(engine_cruise), engine_cruise }
+};
+
+static void SelectorSetList(Int16 sel) {
+	ListType *listP;
+	FormPtr frmP = FrmGetActiveForm();
+
+	Boolean toBeDrawn = (items != NULL);
+	if (items)
+		MemPtrFree(items);
+
+	listP = (ListType *)FrmGetObjectPtr(frmP, FrmGetObjectIndex(frmP, EngineSupportedList));
+	items = (Char **)MemPtrNew(supported[sel].size * sizeof(Char *));
+
+	for (int i = 0; i < supported[sel].size; i++)
+		items[i] = (Char *)supported[sel].listP[i];
+
+	LstSetListChoices (listP, items, supported[sel].size);
+	LstSetTopItem(listP, 0);
+	LstSetSelection(listP, -1);
+
+	if (toBeDrawn) {
+		WinScreenLock(winLockCopy);
+		LstDrawList(listP);
+		WinScreenUnlock();
+	}
+}
+
+static void SelectorFormInit() {
+	ListType *listP;
+	FormPtr frmP = FrmGetActiveForm();
+
+	listP = (ListType *)FrmGetObjectPtr(frmP, FrmGetObjectIndex(frmP, EngineListList));
+	itemsText = (Char **)MemPtrNew(ENGINE_COUNT * sizeof(Char *));
+	
+	for (int i = 0; i < ENGINE_COUNT; i++)
+		itemsText[i] = (Char *)engines[i].nameP;
+		
+	LstSetListChoices (listP, itemsText, ENGINE_COUNT);
+	LstSetSelection(listP, 0);
+
+	SelectorSetList(0);
+
+	FrmDrawForm(frmP);
+}
+
+static void SelectorFormFree(bool quit) {
+	items = NULL;
+
+	if (!quit) {
+		ListType *listP = (ListType *)GetObjectPtr(EngineListList);
+		Int16 sel = LstGetSelection(listP);
+
+		FrmReturnToMain();
+		StartScummVM(sel);
+
+	} else {
+		FrmReturnToMain();
+
+		if (bDirectMode) {
+			// force exit if nothing selected
+			EventType event;
+			event.eType = keyDownEvent;
+			event.data.keyDown.chr = vchrLaunch;
+			event.data.keyDown.modifiers = commandKeyMask;
+			EvtAddUniqueEventToQueue(&event, 0, true);
+		}
+	}
+}
+
+Boolean SelectorFormHandleEvent(EventPtr eventP) {
+	FormPtr frmP = FrmGetActiveForm();
+	Boolean handled = false;
+
+	switch (eventP->eType) {
+		case frmOpenEvent:
+			SelectorFormInit();
+			handled = true;
+			break;
+
+		case frmCloseEvent:
+			SelectorFormFree(true);
+			handled = true;
+			break;
+
+		case lstSelectEvent:
+			if (eventP->data.lstSelect.listID == EngineSupportedList)
+				LstSetSelection(eventP->data.lstSelect.pList, -1);
+			else 
+				SelectorSetList(eventP->data.lstSelect.selection);
+			handled = true;
+			break;
+
+		case ctlSelectEvent:
+			switch (eventP->data.ctlSelect.controlID)
+			{
+				case EngineOkButton:
+					SelectorFormFree(false);
+					break;
+
+				case EngineCancelButton:
+					SelectorFormFree(true);
+					break;
+			}
+			handled = true;
+			break;
+
+		default:
+			break;
+	}
+	
+	return handled;
+}

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/forms/formUtil.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/forms/formUtil.h	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/forms/formUtil.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -4,6 +4,8 @@
 #define frmRedrawUpdateMS		(frmRedrawUpdateCode + 1)
 #define frmRedrawUpdateMSImport	(frmRedrawUpdateCode + 2)
 
+#define NO_ENGINE	-1
+
 // form list draw
 #define	ITEM_TYPE_UNKNOWN	'U'
 #define ITEM_TYPE_CARD		'C'

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/forms/formmain.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/forms/formmain.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/forms/formmain.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -299,8 +299,10 @@
 						case skinButtonGameStart:
 							if (gPrefs->card.volRefNum == vfsInvalidVolRef)
 								FrmCustomAlert(FrmWarnAlert,"Please select/insert a memory card.", 0, 0);
+							else if (GamGetSelected() != dmMaxRecordIndex)
+								StartScummVM();
 							else
-								bStartScumm = true;
+								FrmPopupForm(EngineForm);
 							handled = true;
 							break;
 

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/forms/forms.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/forms/forms.h	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/forms/forms.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -18,5 +18,6 @@
 HANDLER(Skins)
 HANDLER(Music)
 HANDLER(Info)
+HANDLER(Selector)
 
 #endif

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/games.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/games.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/games.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -32,7 +32,6 @@
 #include "games.h"
 #include "skin.h"
 
-#include "extend.h"
 #include "StarterRsc.h"
 
 DmOpenRef gameDB = NULL;

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/games.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/games.h	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/games.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -170,6 +170,7 @@
 	ENGINE_SCUMM,
 	ENGINE_AGI,
 	ENGINE_TOUCHE,
+	ENGINE_CRUISE,
 	ENGINE_COUNT
 };
 
@@ -179,21 +180,21 @@
 } engines[] = {
 	{ "agos",			"AGOS Engine" },
 	{ "sky",			"Beneath a Steel Sky" },
-	{ "sword1",			"Broken Sword 1" },
-	{ "sword2",			"Broken Sword 2" },
+	{ "sword1",			"Broken Sword I" },
+	{ "sword2",			"Broken Sword II" },
 	{ "cine",			"Delphine Cinematique v1.0" },
 	{ "queen",			"Flight of the Amazon Queen" },
 	{ "lure",			"Lure of the Tempress" },
-	{ "gob",			"Gobliiins" },
+	{ "gob",			"Gobliiins, Bargon Attack and more ..." },
 	{ "kyra",			"Kyrandia" },
 	{ "parallaction",	"Parallaction" },
 	{ "saga",			"SAGA Engine" },
 	{ "scumm",			"Scumm Games" },
 	{ "agi",			"Sierra AGI" },
 	{ "touche",			"Touche: The Adventures of the Fifth Musketeer" },
+	{ "cruise",			"Cruise for a Corpse" },
 };
 
-
 // protos
 Err		GamOpenDatabase		();
 void	GamImportDatabase	();

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/launch.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/launch.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/launch.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -29,7 +29,6 @@
 #include "games.h"
 #include "start.h"
 #include "rumble.h"
-#include "extend.h"
 #include "globals.h"
 #include "features.h"
 #include "formUtil.h"
@@ -188,54 +187,23 @@
 #undef CHECK_FILE
 #undef BUILD_FILE
 
-Boolean StartScummVM() {
+Boolean StartScummVM(Int16 engine) {
 	Char **argvP;
 	UInt8 lightspeed, argc	= 0;
 	UInt32 stackSize;
 	Boolean toLauncher, direct, isARM;
-	UInt8 engine;
 	Char num[6];
 
-	UInt16 index = GamGetSelected();
-
 	argvP = ArgsInit();
 	direct = false;
 
 	// start command line (exec name)
 	ArgsAdd(&argvP[argc], "-", NULL, &argc);
 
+	UInt16 index = GamGetSelected();
 	// no game selected
 	if (index == dmMaxRecordIndex) {
-		ListPtr listP;
-		UInt16 whichButton;
-		
-		// init form
-		FormPtr frmP = FrmInitForm(EngineForm);
-		listP = (ListType *)FrmGetObjectPtr(frmP, FrmGetObjectIndex(frmP, EngineListList));
-		itemsText = (Char **)MemPtrNew(ENGINE_COUNT * sizeof(Char *));
-		
-		for (int i = 0; i < ENGINE_COUNT; i++)
-			itemsText[i] = (Char *)engines[i].nameP;
-			
-		LstSetListChoices (listP, itemsText, ENGINE_COUNT);
-		LstSetSelection(listP, 0);	
-		
-		whichButton = FrmDoDialog(frmP);
-		engine = LstGetSelection(listP);
-
-		FrmDeleteForm(frmP);
-		MemPtrFree(itemsText);
-		itemsText = NULL;
-		
-		if (whichButton == EngineCancelButton) {
-			if (bDirectMode) {
-				// and force exit if nothing selected
-				EventType event;
-				event.eType = keyDownEvent;
-				event.data.keyDown.chr = vchrLaunch;
-				event.data.keyDown.modifiers = commandKeyMask;
-				EvtAddUniqueEventToQueue(&event, 0, true);
-			}
+		if (engine == NO_ENGINE) {
 			// free args
 			ArgsFree(argvP);
 			return false;
@@ -244,6 +212,7 @@
 		// default values
 		if (bDirectMode)
 			gPrefs->card.volRefNum = parseCards();	// always use the first removable card available (?)
+
 		gVars->filter		= true;
 		gVars->palmVolume	= 50;
 		gVars->fmQuality	= FM_QUALITY_INI;
@@ -455,7 +424,11 @@
 
 	// gVars values 
 	// (gVars->HRrefNum defined in checkHRmode on Cli\xE9)
+#ifndef _DEBUG_ENGINE
 	gVars->VFS.volRefNum	= (gPrefs->card.autoDetect ? vfsInvalidVolRef : gPrefs->card.volRefNum);
+#else
+	gVars->VFS.volRefNum	= gPrefs->card.volRefNum;
+#endif
 	gVars->vibrator			= gPrefs->vibrator;
 	gVars->stdPalette		= gPrefs->stdPalette;
 	gVars->VFS.cacheSize	= (gPrefs->card.useCache ? gPrefs->card.cacheSize : 0);

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/start.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/start.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/start.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -43,7 +43,6 @@
 GlobalsDataPtr gVars;
 
 Boolean bDirectMode = false;
-Boolean bStartScumm = false;
 Boolean bLaunched	= false;
 
 /***********************************************************************
@@ -200,6 +199,10 @@
 				FrmSetEventHandler(frmP, InfoFormHandleEvent);
 				break;
 
+			case EngineForm:
+				FrmSetEventHandler(frmP, SelectorFormHandleEvent);
+				break;
+
 			default:
 //				ErrFatalDisplay("Invalid Form Load Event");
 				break;
@@ -231,9 +234,6 @@
 	do {
 		EvtGetEvent(&event, evtNoWait);
 
-		if(bStartScumm)
-			bStartScumm = StartScummVM();
-
 		if (! SysHandleEvent(&event))
 			if (! MenuHandleEvent(0, &event, &error))
 				if (! AppHandleEvent(&event))
@@ -330,7 +330,7 @@
 				FrmGotoForm(MainForm);
 			}else {
 				GamUnselect();
-				bStartScumm = true;
+				FrmGotoForm(EngineForm);
 			}
 
 			AppEventLoop();

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/start.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/start.h	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/launcher/start.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -79,7 +79,6 @@
 extern GlobalsPreferencePtr gPrefs;
 
 extern Boolean bDirectMode;
-extern Boolean bStartScumm;
 extern Boolean bLaunched;
 
 #define appPrefID				0x00
@@ -92,7 +91,7 @@
 
 Err AppStart(void);
 void AppStop(void);
-Boolean StartScummVM();
+Boolean StartScummVM(Int16 engine = -1);
 void SavePrefs();
 Err SendDatabase (UInt16 cardNo, LocalID dbID, Char *nameP, Char *descriptionP);
 #endif

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/native/oscalls.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/native/oscalls.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/native/oscalls.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -29,19 +29,33 @@
 
 
 PACE_CLASS_WRAPPER(Err)
-	StatShow_68k(void) {
+	__68k_StatShow(void) {
 	PACE_PIN_EXEC_NP(pinStatShow, Err)
 }
 
 PACE_CLASS_WRAPPER(Err)
-	StatHide_68k(void) {
+	__68k_StatHide(void) {
 	PACE_PIN_EXEC_NP(pinStatHide, Err)
 }
 
 PACE_CLASS_WRAPPER(Err)
-	PINSetInputAreaState_68k(UInt16 state) {
+	__68k_PINSetInputAreaState(UInt16 state) {
 	PACE_PARAMS_INIT()
 	PACE_PARAMS_ADD16(state)
 	PACE_PARAMS_END()
 	PACE_PIN_EXEC(pinPINSetInputAreaState, Err)
 }
+
+PACE_CLASS_WRAPPER(Err)
+	__68k_SysSetOrientation(UInt16 orientation) {
+	PACE_PARAMS_INIT()
+	PACE_PARAMS_ADD16(orientation)
+	PACE_PARAMS_END()
+	PACE_PIN_EXEC(pinSysSetOrientation, Err)
+}
+
+PACE_CLASS_WRAPPER(UInt16)
+	__68k_SysGetOrientation(void) {
+	PACE_PIN_EXEC_NP(pinSysGetOrientation, UInt16)
+}
+

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/native/oscalls.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/native/oscalls.h	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/native/oscalls.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -29,10 +29,18 @@
 extern "C" {
 #endif
 
-Err StatShow_68k();
-Err StatHide_68k();
-Err PINSetInputAreaState_68k(UInt16 state);
+#ifdef PALMOS_ARM
+#	define __68K(a)	__68k_##a
+#else
+#	define __68K(a)	a
+#endif
 
+Err __68k_StatShow();
+Err __68k_StatHide();
+Err __68k_PINSetInputAreaState(UInt16 state);
+Err __68k_SysSetOrientation(UInt16 orientation);
+UInt16 __68k_SysGetOrientation(void);
+
 #ifdef __cplusplus
 }
 #endif

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/native/pnoARM.c
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/native/pnoARM.c	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/native/pnoARM.c	2007-05-26 20:23:24 UTC (rev 26949)
@@ -56,29 +56,4 @@
 	return PilotMain(sysAppLaunchCmdNormalLaunch, userData68KP, 0);
 }
 
- //
- // The following functions provide malloc/free support to Metrowerks
- // Standard Library (MSL). This feature requires the MSL library be
- // built with _MSL_OS_DIRECT_MALLOC enabled.
- //
-void*
-__sys_alloc(UInt32 size)
-{
-    void * ptr = malloc(size);
-    ErrFatalDisplayIf(ptr == NULL, "out of memory");
-    return ptr;
-}
-
-void
-__sys_free(void* ptr)
-{
-    (void) MemPtrFree(ptr);
-}
-
-UInt32
-__sys_pointer_size(void* ptr)
-{
-    return (UInt32) MemPtrSize(ptr);
-}
-
 #endif

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/native/zodiacARM.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/native/zodiacARM.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/native/zodiacARM.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -22,12 +22,10 @@
  *
  */
 
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
+#include "PalmVersion.h"
+#include <MSL_PalmOS.h>
 
 #include "globals.h"
-#include "extend.h"
 #include "args.h"
 #include "palmdefs.h"
 
@@ -49,6 +47,7 @@
 UInt32 g_stackSize;
 
 extern "C" void __destroy_global_chain(void);
+extern void DrawStatus(Boolean show);
 
 static void palm_main(int argc, char **argvP)  {
 #ifdef COMPILE_OS5
@@ -88,12 +87,11 @@
 	MemMove(gVars, tmp, sizeof(GlobalsDataType));
 
 	// init STDIO
-	StdioSetCacheSize(0);
-	StdioInit(gVars->VFS.volRefNum, "/PALM/Programs/ScummVM/scumm.log");
+	stdio_set_cache(0);
+	stdio_init(gVars->VFS.volRefNum, "/PALM/Programs/ScummVM/scumm.log");
 	if (gVars->indicator.showLED)
-		StdioSetLedProc(DrawStatus);
-	StdioSetCacheSize(gVars->VFS.cacheSize);
-	gUnistdCWD = SCUMMVM_SAVEPATH;
+		stdio_set_led(DrawStatus);
+	stdio_set_cache(gVars->VFS.cacheSize);
 
 	// get args
 	FtrGet(appFileCreator, ftrArgsData, (UInt32 *)&argvP);
@@ -108,7 +106,7 @@
 
 	// release 
 	if (HWR_INIT(INIT_VIBRATOR))	RumbleRelease();
-	StdioRelease();
+	stdio_release();
 
 #ifdef DEBUG_ARM
 	AdnDebugNativeUnregister();

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/native/zodiacStartup.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/native/zodiacStartup.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/native/zodiacStartup.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -101,31 +101,6 @@
 }
 
 /*
- * The following functions provide malloc/free support to Metrowerks
- * Standard Library (MSL). This feature requires the MSL library be
- * built with _MSL_OS_DIRECT_MALLOC enabled.
- */
-void*
-__sys_alloc(size_t size)
-{
-    void * ptr = MemPtrNew(size);
-    ErrFatalDisplayIf(ptr == NULL, "out of memory");
-    return ptr;
-}
-
-void
-__sys_free(void* ptr)
-{
-    (void) MemPtrFree(ptr);
-}
-
-size_t
-__sys_pointer_size(void* ptr)
-{
-    return (size_t) MemPtrSize(ptr);
-}
-
-/*
  * This is the real entrypoint for Tapwave Native Application. It
  * depends on various CodeWarrior 9.2 compiler/linker/runtime features.
  */

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/os5_event.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/os5_event.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/os5_event.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -37,19 +37,12 @@
 	}
 }
 
-bool OSystem_PalmOS5::check_event(Event &event, EventPtr ev) {
+bool OSystem_PalmOS5::check_event(Common::Event &event, EventPtr ev) {
 	if (ev->eType == keyUpEvent) {
-		switch (ev->data.keyDown.chr) {
+		switch (ev->data.keyUp.chr) {
 		case vchrHard3:
-			event.type = Common::EVENT_LBUTTONUP;
-			event.mouse.x = _mouseCurState.x;
-			event.mouse.y = _mouseCurState.y;
-			return true;
-
 		case vchrHard4:
-			event.type = Common::EVENT_RBUTTONUP;
-			event.mouse.x = _mouseCurState.x;
-			event.mouse.y = _mouseCurState.y;
+			// will be handled by hard keys
 			return true;
 		}
 
@@ -59,23 +52,24 @@
 		// hot swap gfx
 //	case 0x1B04:
 		case vchrHard1:
-			printf("swap\n");
 			if (OPTIONS_TST(kOptCollapsible))
 				hotswap_gfx_mode(_mode == GFX_WIDE ? GFX_NORMAL: GFX_WIDE);
 			return false; // not a key
 
 //	case 0x1B05:
 		case vchrHard2:
-		setFeatureState(kFeatureAspectRatioCorrection, 0);
-		return false; // not a key
+			setFeatureState(kFeatureAspectRatioCorrection, 0);
+			return false; // not a key
 
 		case vchrHard3:
-			event.type = Common::EVENT_RBUTTONDOWN;
+			_keyExtraPressed |= _keyExtra.bitActionA;
+			event.type = Common::EVENT_LBUTTONDOWN;
 			event.mouse.x = _mouseCurState.x;
 			event.mouse.y = _mouseCurState.y;
 			return true;
 
 		case vchrHard4:
+			_keyExtraPressed |= _keyExtra.bitActionB;
 			event.type = Common::EVENT_RBUTTONDOWN;
 			event.mouse.x = _mouseCurState.x;
 			event.mouse.y = _mouseCurState.y;

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/os5_gfx.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/os5_gfx.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/os5_gfx.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -28,11 +28,6 @@
 #include <PenInputMgr.h>
 #include <palmOneResources.h>
 
-#ifdef PALMOS_ARM
-#include <System/WIP.h>
-#include <Libraries/AIA/palmOneStatusBarMgrARM.h>
-#endif
-
 #include "oscalls.h"
 
 void OSystem_PalmOS5::int_initSize(uint w, uint h) {
@@ -63,8 +58,6 @@
 	_ratio.width = (gVars->screenFullHeight * _screenWidth / _screenHeight);
 	_ratio.height = (gVars->screenFullWidth * _screenHeight / _screenWidth);
 
-	_mouseBackupP = (byte *)MemPtrNew(MAX_MOUSE_W * MAX_MOUSE_H * 2); // *2 if 16bit
-	_mouseDataP = (byte *)MemPtrNew(MAX_MOUSE_W * MAX_MOUSE_H);
 	_offScreenP	= (byte *)malloc(_screenWidth * _screenHeight);
 
 	MemSet(_offScreenP, _screenWidth * _screenHeight, 0);
@@ -75,6 +68,11 @@
 	WinScreenMode(winScreenModeSet, NULL, NULL, &depth, NULL);
 	clearScreen();
 
+	if (OPTIONS_TST(kOptModeRotatable)) {
+		_sysOldOrientation = __68K(SysGetOrientation());
+		__68K(SysSetOrientation(sysOrientationLandscape));
+	}
+
 	gVars->indicator.on = RGBToColor(0,255,0);
 	gVars->indicator.off = RGBToColor(0,0,0);
 
@@ -97,13 +95,6 @@
 	if (_mode != GFX_NORMAL && !_isSwitchable)
 		return;
 
-#ifdef PALMOS_ARM
-	UInt32 device;
-	Boolean isT3 = false;
-	if (!FtrGet(sysFileCSystem, sysFtrNumOEMDeviceID, &device))
-		isT3 = (device == kPalmOneDeviceIDTungstenT3);
-#endif
-
 	if (_workScreenH)
 		WinDeleteWindow(_workScreenH, false);
 	_workScreenH = NULL;
@@ -117,17 +108,9 @@
 		_stretched = (_screenWidth > gVars->screenWidth);
 
 		if (OPTIONS_TST(kOptCollapsible)) {
-#ifdef PALMOS_ARM
-			if (isT3) {
-				//AiaSetInputAreaState(aiaInputAreaShow);
-				StatShow_68k();
-				PINSetInputAreaState_68k(pinInputAreaOpen);
-			} else
-#endif
-			{
-				StatShow();
-				PINSetInputAreaState(pinInputAreaOpen);
-			}
+			//AiaSetInputAreaState(aiaInputAreaShow); // For T3 ??
+			__68K(StatShow());
+			__68K(PINSetInputAreaState(pinInputAreaOpen));
 		}
 
 		if (_stretched) {
@@ -143,18 +126,10 @@
 		_stretched = true;
 
 		if (OPTIONS_TST(kOptCollapsible)) {
-#ifdef PALMOS_ARM
 			// T3 DIA library is 68k base, there is no possible native call
-			if (isT3) {
-				//AiaSetInputAreaState(aiaInputAreaFullScreen);
-				PINSetInputAreaState_68k(pinInputAreaClosed);
-				StatHide_68k();
-			} else
-#endif
-			{
-				PINSetInputAreaState(pinInputAreaClosed);
-				StatHide();
-			}
+			//AiaSetInputAreaState(aiaInputAreaFullScreen);
+			__68K(PINSetInputAreaState(pinInputAreaClosed));
+			__68K(StatHide());
 		}
 
 		calc_rect(true);
@@ -182,8 +157,7 @@
 		return;	
 	_gfxLoaded = false;
 	
-	MemPtrFree(_mouseBackupP);
-	MemPtrFree(_mouseDataP);
+	// mouse data freed in quit()
 	free(_offScreenP);
 
 	if (_workScreenH)
@@ -198,6 +172,9 @@
 	WinScreenMode(winScreenModeSet, NULL, NULL, &depth, NULL);
 	clearScreen();
 
+	if (OPTIONS_TST(kOptModeRotatable))
+		__68K(SysSetOrientation(_sysOldOrientation));
+
 	WinSetCoordinateSystem(_sysOldCoord);
 }
 

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/os5_mouse.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/os5_mouse.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/os5_mouse.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -37,130 +37,86 @@
 	_cursorPaletteDisabled = disable;
 }
 
-void OSystem_PalmOS5::setMouseCursor(const byte *buf, uint w, uint h, int hotspotX, int hotspotY, byte keycolor, int cursorTargetScale) {
-	if (w == 0 || h == 0)
-		return;
-
-FIXME: The restriction on MAX_MOUSE_H / MAX_MOUSE_W is obsolete;
-in particular, BS2 might use bigger cursors these days.
-See also bug #1609058. 1607180
-Hence this code now might overwrite memory unchecked; at the
-very least an assert should be inserted to cause a controlled
-crash, but of course it would be better to remove the restriction
-on "small" cursors.
-
-
-	_mouseCurState.w = w;
-	_mouseCurState.h = h;
-
-	_mouseHotspotX = hotspotX;
-	_mouseHotspotY = hotspotY;
-
-	_mouseKeyColor = keycolor;
-
-	// copy new cursor
-	byte *dst = _mouseDataP;
-	memset(dst, MAX_MOUSE_W * MAX_MOUSE_H, keycolor);
-	while (h--) {
-		memcpy(dst, buf, w);
-		dst += MAX_MOUSE_W;
-		buf += w;
-	}
-}
-
+// TODO: this code is almost the same as Zodiac version.
 void OSystem_PalmOS5::draw_mouse() {
-	if (_mouseDrawn || !_mouseVisible)
+	if (!_mouseDataP || _mouseDrawn || !_mouseVisible)
 		return;
+	
+	byte *src = _mouseDataP;
 
-	byte *src = _mouseDataP;		// Image representing the mouse
-	byte color;
-	int width;
-
-	_mouseCurState.y = _mouseCurState.y >= _screenHeight ? _screenHeight - 1 : _mouseCurState.y;
-
 	int x = _mouseCurState.x - _mouseHotspotX;
 	int y = _mouseCurState.y - _mouseHotspotY;
 	int w = _mouseCurState.w;
 	int h = _mouseCurState.h;
 
-	int draw_x = x;
-	int draw_y = y;
-
 	// clip the mouse rect
-	if (x < 0) {
-		w += x;
-		src -= x;
-		x = 0;
-	}
 	if (y < 0) {
+		src -= y * w;
 		h += y;
-		src -= y * MAX_MOUSE_W;
 		y = 0;
 	}
-	if (w > _screenWidth - x)
-		w = _screenWidth - x;
+	if (x < 0) {
+		src -= x;
+		w += x;
+		x = 0;
+	}
+
 	if (h > _screenHeight - y)
 		h = _screenHeight - y;
+	if (w > _screenWidth - x)
+		w = _screenWidth - x;
 
-	// Quick check to see if anything has to be drawn at all
 	if (w <= 0 || h <= 0)
 		return;
 
-	// Store the bounding box so that undraw mouse can restore the area the
-	// mouse currently covers to its original content.
+	// store the bounding box so that undraw mouse can restore the area the
+	// mouse currently covers to its original content
 	_mouseOldState.x = x;
 	_mouseOldState.y = y;
 	_mouseOldState.w = w;
 	_mouseOldState.h = h;
 
-	// Quick check to see if anything has to be drawn at all
-	if (w <= 0 || h <= 0)
-		return;
+	byte color;
+	int ww;
 
-	// Store the bounding box so that undraw mouse can restore the area the
-	// mouse currently covers to its original content.
-	_mouseOldState.x = x;
-	_mouseOldState.y = y;
-	_mouseOldState.w = w;
-	_mouseOldState.h = h;
-
-	// Backup the covered area draw the mouse cursor
 	if (_overlayVisible) {
-		int16 *bak = (int16 *)_mouseBackupP;			// Surface used to backup the area obscured by the mouse
-		int16 *dst = _overlayP + y * _screenWidth + x;
+		int16 *bak = (int16 *)_mouseBackupP;
 		int16 *pal = _cursorPaletteDisabled ? _nativePal : _mousePal;
+		int16 *dst = _overlayP + y * _screenWidth + x;
 
 		do {
-			width = w;
+			ww = w;
 			do {
 				*bak++ = *dst;
 				color = *src++;
-				if (color != _mouseKeyColor)	// transparent, don't draw
+
+				// transparent, don't draw
+				if (color != _mouseKeyColor)
 					*dst = pal[color];
 				dst++;
-			} while (--width);
+			} while (--ww);
 
-			src += MAX_MOUSE_W - w;
-			bak += MAX_MOUSE_W - w;
+			src += _mouseCurState.w - w;
 			dst += _screenWidth - w;
 		} while (--h);
 
 	} else {
-		byte *bak = _mouseBackupP;						// Surface used to backup the area obscured by the mouse
-		byte *dst =_offScreenP + y * _screenWidth + x;	// Surface we are drawing into
+		byte *bak = _mouseBackupP;
+		byte *dst =_offScreenP + y * _screenWidth + x;
 
 		do {
-			width = w;
+			ww = w;
 			do {
 				*bak++ = *dst;
 				color = *src++;
-				if (color != _mouseKeyColor)	// transparent, don't draw
+
+				// transparent, don't draw
+				if (color != _mouseKeyColor)
 					*dst = color;
 				dst++;
-			} while (--width);
+			} while (--ww);
 
-			src += MAX_MOUSE_W - w;
-			bak += MAX_MOUSE_W - w;
+			src += _mouseCurState.w - w;
 			dst += _screenWidth - w;
 		} while (--h);
 	}
@@ -173,27 +129,28 @@
 		return;
 
 	int h = _mouseOldState.h;
-	// No need to do clipping here, since draw_mouse() did that already
+
+	// no need to do clipping here, since draw_mouse() did that already
 	if (_overlayVisible) {
-		int16 *bak = (int16 *)_mouseBackupP;
 		int16 *dst = _overlayP + _mouseOldState.y * _screenWidth + _mouseOldState.x;
+		int16 *bak = (int16 *)_mouseBackupP;
 
 		do {
-			memcpy(dst, bak, _mouseOldState.w * 2);
-			bak += MAX_MOUSE_W;
+			MemMove(dst, bak, _mouseOldState.w * 2);
 			dst += _screenWidth;
+			bak += _mouseOldState.w;
 		} while (--h);
 
 	} else {
-		byte *dst, *bak = _mouseBackupP;
-		dst = _offScreenP + _mouseOldState.y * _screenWidth + _mouseOldState.x;
+		byte *dst = _offScreenP + _mouseOldState.y * _screenWidth + _mouseOldState.x;
+		byte *bak = _mouseBackupP;
 		
 		do {
-			memcpy(dst, bak, _mouseOldState.w);
-			bak += MAX_MOUSE_W;
+			MemMove(dst, bak, _mouseOldState.w);
 			dst += _screenWidth;
+			bak +=  _mouseOldState.w;
 		} while (--h);
 	}
 
 	_mouseDrawn = false;
-}
+}
\ No newline at end of file

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/os5_overlay.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/os5_overlay.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/os5_overlay.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -31,7 +31,7 @@
 
 	undraw_mouse();
 	_overlayVisible = true;
-	clearOverlay();	
+	clearOverlay();
 }
 
 void OSystem_PalmOS5::hideOverlay() {

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/os5_sound.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/os5_sound.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/os5_sound.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -134,7 +134,7 @@
 		}
 
 		if (_soundEx.dataP)
-			free(_soundEx.dataP);
+			MemPtrFree(_soundEx.dataP);
 	}
 
 	_sound.active = false;

Deleted: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/palmversion.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/palmversion.h	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/palmversion.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -1,19 +0,0 @@
-#ifndef PALMVERSION_H
-#define PALMVERSION_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if defined(COMPILE_ZODIAC)
-#	include <tapwave.h>
-#else
-#	include <PalmOS.h>
-#	include <VFSMgr.h>
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/compile.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/compile.h	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/compile.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -43,6 +43,7 @@
 #define DISABLE_AGI
 #define DISABLE_TOUCHE
 #define DISABLE_PARALLACTION
+#define DISABLE_CRUISE
 
 // ScummVM
 #define DISABLE_HQ_SCALERS
@@ -50,23 +51,24 @@
 //#define CT_NO_TRANSPARENCY
 //#define REDUCE_MEMORY_USAGE
 
-// PalmOS
-//#define STDLIB_TRACE_MEMORY
-//#define _DEBUG
+#include "compile_base.h"
 
-#define PALMOS_MODE
-//#define COMPILE_ZODIAC
-#define COMPILE_OS5
-
 //#define DISABLE_ADLIB
 //#define DISABLE_LIGHTSPEED
 
 #ifdef COMPILE_ZODIAC
-#	define DISABLE_SONY
+#	undef	DISABLE_FANCY_THEMES
+#	define	USE_ZLIB
+// set an external ZLIB since save/load implementation
+// doesn't support built-in zodiac version which is 1.1.4
+// (seen inflateInit2 which err on "MAX_WBITS + 32")
+#	define	USE_ZLIB_EXTERNAL
+#	define	DISABLE_SONY
 #endif
 
 #ifdef COMPILE_OS5
-#	define DISABLE_TAPWAVE
+#	define	DISABLE_TAPWAVE
+#	define	USE_ZLIB
 #endif
 
 #endif

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/native_agi.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/native_agi.h	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/native_agi.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -4,4 +4,8 @@
 #include "native_common.h"
 #undef DISABLE_AGI
 
+#undef USE_MAD
+#undef USE_VORBIS
+#undef USE_TREMOR
+
 #endif

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/native_cine.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/native_cine.h	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/native_cine.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -3,5 +3,10 @@
 
 #include "native_common.h"
 #undef DISABLE_CINE
+#define _DEBUG
 
+#undef USE_MAD
+#undef USE_VORBIS
+#undef USE_TREMOR
+
 #endif

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/native_common.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/native_common.h	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/native_common.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -2,8 +2,6 @@
 #define ZNATIVE_COMMON_H
 
 #include "compile.h"
-#include "palmmad.h"
-#include "palmtremor.h"
 
 #define __TWNEW_H__
 
@@ -12,7 +10,7 @@
 
 #define USE_MAD
 #define USE_TREMOR
-//#define USE_VORBIS
+#define USE_VORBIS
 //#define USE_MPEG2
 
 // enable assert

Copied: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/native_cruise.h (from rev 26948, scummvm/trunk/backends/platform/PalmOS/Src/prefixes/native_cruise.h)
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/native_cruise.h	                        (rev 0)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/native_cruise.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -0,0 +1,11 @@
+#ifndef PREFIX_H
+#define PREFIX_H
+
+#include "native_common.h"
+#undef DISABLE_CRUISE
+
+#undef USE_MAD
+#undef USE_VORBIS
+#undef USE_TREMOR
+
+#endif

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/native_lure.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/native_lure.h	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/native_lure.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -4,4 +4,8 @@
 #include "native_common.h"
 #undef DISABLE_LURE
 
+#undef USE_MAD
+#undef USE_VORBIS
+#undef USE_TREMOR
+
 #endif

Copied: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/native_parallaction.h (from rev 26948, scummvm/trunk/backends/platform/PalmOS/Src/prefixes/native_parallaction.h)
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/native_parallaction.h	                        (rev 0)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/native_parallaction.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -0,0 +1,11 @@
+#ifndef PREFIX_H
+#define PREFIX_H
+
+#include "native_common.h"
+#undef DISABLE_PARALLACTION
+
+#undef USE_MAD
+#undef USE_VORBIS
+#undef USE_TREMOR
+
+#endif

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/prefix_frontend.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/prefix_frontend.h	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/prefixes/prefix_frontend.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -3,6 +3,7 @@
 
 #define PALMOS_68K
 #define PALMOS_MODE
+
 //#define _DEBUG_ENGINE
 
 #endif

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/stuffs.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/stuffs.h	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/stuffs.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -19,6 +19,7 @@
 	kOptSonyPa1LibAPI		=	1 <<	0x0D,
 	kOptGoLcdAPI			=	1 <<	0x0E,
 	kOptLightspeedAPI		=	1 <<	0x0F,
+	kOptModeRotatable		=	1 <<	0x10,
 
 	kOptDeviceProcX86		=	1 <<	0x1F	// DEBUG only
 };

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/zodiac_gfx.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/zodiac_gfx.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/zodiac_gfx.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -56,11 +56,9 @@
 	_ratio.adjustAspect = ConfMan.getBool("aspect_ratio") ? kRatioHeight : kRatioNone;
 
 	// precalc ratio (WIDE mode)
-	_ratio.width = ((float)_screenWidth / _screenHeight * gVars->screenFullHeight);
-	_ratio.height = ((float)_screenHeight / _screenWidth * gVars->screenFullWidth);
+	_ratio.width = (gVars->screenFullHeight * _screenWidth / _screenHeight);
+	_ratio.height = (gVars->screenFullWidth * _screenHeight / _screenWidth);
 
-	_mouseBackupP = (byte *)MemPtrNew(MAX_MOUSE_W * MAX_MOUSE_H * 2); // *2 if 16bit
-	_mouseDataP = (byte *)MemPtrNew(MAX_MOUSE_W * MAX_MOUSE_H);
 	_offScreenP = (byte *)MemPtrNew(_screenWidth * _screenHeight);
 
 	MemSet(_offScreenP, _screenWidth * _screenHeight, 0);
@@ -98,7 +96,7 @@
 	_srcBmp.rowBytes = _screenWidth;
 	_srcBmp.pixelFormat = twGfxPixelFormat8bpp;
 	_srcBmp.data = _offScreenP;
-	_srcBmp.palette = _nativePal;
+	_srcBmp.palette = (UInt16 *)_nativePal;
 
 	_srcRect.x = 0;
 	_srcRect.y = 0;
@@ -192,8 +190,6 @@
 	WinScreenMode(winScreenModeSet, NULL, NULL, &depth, NULL);
 	clearScreen();
 
-	MemPtrFree(_mouseBackupP);
-	MemPtrFree(_mouseDataP);
 	MemPtrFree(_offScreenP);
 
 	SysSetOrientation(_sysOldOrientation);
@@ -217,7 +213,8 @@
 	Err e;
 
 	// draw the mouse pointer
-	draw_mouse();		
+	draw_mouse();
+
 	// update the screen
 	if (_overlayVisible) {
 		if (_stretched) {
@@ -247,6 +244,7 @@
 				dst.y += _new_shake_pos;
 			}
 			e = TwGfxDrawBitmap(_tmpScreenP, &pos, &_srcBmp);
+			e = TwGfxWaitForVBlank(_gfxH);
 			e = TwGfxStretchBlt2(_palmScreenP, &dst, _tmpScreenP, &_srcRect, twGfxStretchFast| (gVars->filter ? twGfxStretchSmooth : 0)); 
 			
 		} else {
@@ -264,13 +262,11 @@
 			e = TwGfxDrawBitmap(_palmScreenP, &pos, &_srcBmp);
 		}
 	}
+	
+	// undraw the mouse
 	undraw_mouse();
 }
 
-void OSystem_PalmZodiac::extras_palette(uint8 index, uint8 r, uint8 g, uint8 b) {
-	_nativePal[index] = TwGfxMakeDisplayRGB(r, g, b);
-}
-
 void OSystem_PalmZodiac::draw_osd(UInt16 id, Int32 x, Int32 y, Boolean show, UInt8 color) {
 	if (_mode != GFX_NORMAL)
 		return;

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/zodiac_mouse.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/zodiac_mouse.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/zodiac_mouse.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -24,100 +24,90 @@
 
 #include "be_zodiac.h"
 
-void OSystem_PalmZodiac::setCursorPalette(const byte *colors, uint start, uint num) {
-	for(uint i = 0; i < num; i++) {
-		_mousePal[i + start] = TwGfxMakeDisplayRGB(colors[0], colors[1], colors[2]);
-		colors += 4;
-	}
-	_cursorPaletteDisabled = false;
-}
-
 void OSystem_PalmZodiac::draw_mouse() {
-	if (_mouseDrawn || !_mouseVisible)
+	if (!_mouseDataP || _mouseDrawn || !_mouseVisible)
 		return;
+	
+	byte *src = _mouseDataP;
 
-	byte *src = _mouseDataP;		// Image representing the mouse
-	byte color;
-	int width;
-
-	_mouseCurState.y = _mouseCurState.y >= _screenHeight ? _screenHeight - 1 : _mouseCurState.y;
-
 	int x = _mouseCurState.x - _mouseHotspotX;
 	int y = _mouseCurState.y - _mouseHotspotY;
 	int w = _mouseCurState.w;
 	int h = _mouseCurState.h;
 
-	int draw_x = x;
-	int draw_y = y;
-
 	// clip the mouse rect
-	if (x < 0) {
-		w += x;
-		src -= x;
-		x = 0;
-	}
 	if (y < 0) {
+		src -= y * w;
 		h += y;
-		src -= y * MAX_MOUSE_W;
 		y = 0;
 	}
-	if (w > _screenWidth - x)
-		w = _screenWidth - x;
+	if (x < 0) {
+		src -= x;
+		w += x;
+		x = 0;
+	}
+
 	if (h > _screenHeight - y)
 		h = _screenHeight - y;
+	if (w > _screenWidth - x)
+		w = _screenWidth - x;
 
-	// Quick check to see if anything has to be drawn at all
 	if (w <= 0 || h <= 0)
 		return;
 
-	// Store the bounding box so that undraw mouse can restore the area the
-	// mouse currently covers to its original content.
+	// store the bounding box so that undraw mouse can restore the area the
+	// mouse currently covers to its original content
 	_mouseOldState.x = x;
 	_mouseOldState.y = y;
 	_mouseOldState.w = w;
 	_mouseOldState.h = h;
 
-	// Backup the covered area draw the mouse cursor
+	byte color;
+	int ww;
+
 	if (_overlayVisible) {
-		uint16 *bak = (uint16 *)_mouseBackupP;			// Surface used to backup the area obscured by the mouse
-		uint16 *dst, *pal = _cursorPaletteDisabled ? _nativePal : _mousePal;
+		int16 *bak = (int16 *)_mouseBackupP;
+		int16 *pal = _cursorPaletteDisabled ? _nativePal : _mousePal;
+		int16 *dst;
 
 		TwGfxLockSurface(_overlayP, (void **)&dst);
 		dst += y * _screenWidth + x;
 
 		do {
-			width = w;
+			ww = w;
 			do {
 				*bak++ = *dst;
 				color = *src++;
-				if (color != _mouseKeyColor)	// transparent, don't draw
+
+				// transparent, don't draw
+				if (color != _mouseKeyColor)
 					*dst = pal[color];
 				dst++;
-			} while (--width);
+			} while (--ww);
 
-			src += MAX_MOUSE_W - w;
-			bak += MAX_MOUSE_W - w;
+			src += _mouseCurState.w - w;
 			dst += _screenWidth - w;
 		} while (--h);
 
 		TwGfxUnlockSurface(_overlayP, true);
 
 	} else {
-		byte *bak = _mouseBackupP;						// Surface used to backup the area obscured by the mouse
-		byte *dst =_offScreenP + y * _screenWidth + x;	// Surface we are drawing into
+		byte *bak = _mouseBackupP;
+		byte *dst =_offScreenP + y * _screenWidth + x;
 
 		do {
-			width = w;
+			ww = w;
 			do {
 				*bak++ = *dst;
 				color = *src++;
-				if (color != _mouseKeyColor)	// transparent, don't draw
+
+				// transparent, don't draw
+				if (color != _mouseKeyColor)
 					*dst = color;
 				dst++;
-			} while (--width);
+			} while (--ww);
 
-			src += MAX_MOUSE_W - w;
-			bak += MAX_MOUSE_W - w;
+			src += _mouseCurState.w - w;
 			dst += _screenWidth - w;
 		} while (--h);
 	}
@@ -130,30 +120,31 @@
 		return;
 
 	int h = _mouseOldState.h;
-	// No need to do clipping here, since draw_mouse() did that already
+
+	// no need to do clipping here, since draw_mouse() did that already
 	if (_overlayVisible) {
-		uint16 *bak = (uint16 *)_mouseBackupP;
 		uint16 *dst;
+		uint16 *bak = (uint16 *)_mouseBackupP;
 
 		TwGfxLockSurface(_overlayP, (void **)&dst);
 		dst += _mouseOldState.y * _screenWidth + _mouseOldState.x;
 
 		do {
-			memcpy(dst, bak, _mouseOldState.w * 2);
-			bak += MAX_MOUSE_W;
+			MemMove(dst, bak, _mouseOldState.w * 2);
 			dst += _screenWidth;
+			bak += _mouseOldState.w;
 		} while (--h);
 
 		TwGfxUnlockSurface(_overlayP, true);
 
 	} else {
-		byte *dst, *bak = _mouseBackupP;
-		dst = _offScreenP + _mouseOldState.y * _screenWidth + _mouseOldState.x;
-		
+		byte *dst = _offScreenP + _mouseOldState.y * _screenWidth + _mouseOldState.x;
+		byte *bak = _mouseBackupP;
+
 		do {
-			memcpy(dst, bak, _mouseOldState.w);
-			bak += MAX_MOUSE_W;
+			MemMove(dst, bak, _mouseOldState.w);
 			dst += _screenWidth;
+			bak +=  _mouseOldState.w;
 		} while (--h);
 	}
 

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/zodiac_overlay.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/zodiac_overlay.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/Src/zodiac_overlay.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -34,7 +34,7 @@
 	TwGfxBitmapType bmp = {
 		sizeof(TwGfxBitmapType),
 		_screenWidth, _screenHeight, _screenWidth, twGfxPixelFormat8bpp,
-		(void *)_offScreenP, _nativePal
+		(void *)_offScreenP, (UInt16 *)_nativePal
 	};
 	e = TwGfxDrawBitmap(_overlayP, &pos, &bmp);
 }

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/PalmOS/scummvm.mcp
===================================================================
(Binary files differ)

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/dc/portdefs.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/dc/portdefs.h	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/dc/portdefs.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -37,3 +37,6 @@
 #ifdef Timer
 #undef Timer
 #endif
+/* newlib ctype.h defines _X for hex digit flag.
+   This conflicts with the use of _X as a variable name. */
+#undef _X

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/ds/arm9/source/blitters.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/ds/arm9/source/blitters.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/ds/arm9/source/blitters.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -19,8 +19,11 @@
  */
 
 #include "stdafx.h"
+#include "blitters.h"
 #define CHARSET_MASK_TRANSPARENCY 253
 
+//#define PERFECT_5_TO_4_RESCALING
+
 namespace DS {
 
 void asmDrawStripToScreen(int height, int width, byte const* text, byte const* src, byte* dst, 
@@ -149,6 +152,7 @@
     }                
 }
 
+#ifdef PERFECT_5_TO_4_RESCALING
 static inline void RescaleBlock_5x1555_To_4x1555( u16 s0, u16 s1, u16 s2, u16 s3, u16 s4,
                                                     u16* dest)
 {
@@ -223,7 +227,45 @@
     ((u32*)dest)[0] = d10;
     ((u32*)dest)[1] = d32;
 }
+#else
+static inline void RescaleBlock_5x1555_To_4x1555( u16 s0, u16 s1, u16 s2, u16 s3, u16 s4,
+                                                    u16* dest)
+{
+    u32 ar0bs0 = s0 & 0x7C1F;
+    u32 ar0bs1 = s1 & 0x7C1F;
+    u32 ar0bs2 = s2 & 0x7C1F;
+    u32 ar0bs3 = s3 & 0x7C1F;
+    u32 ar0bs4 = s4 & 0x7C1F;
 
+    u32 gs0 = s0 & 0x03E0;
+    u32 gs1 = s1 & 0x03E0;
+    u32 gs2 = s2 & 0x03E0;
+    u32 gs3 = s3 & 0x03E0;
+    u32 gs4 = s4 & 0x03E0;
+        
+    u32 ar0bd0 = (3*ar0bs0 +   ar0bs1) >> 2;
+    u32 ar0bd1 = (  ar0bs1 +   ar0bs2) >> 1;
+    u32 ar0bd2 = (  ar0bs2 +   ar0bs3) >> 1;
+    u32 ar0bd3 = (  ar0bs3 + 3*ar0bs4) >> 2;
+    
+    u32 gd0 = (3*gs0 +   gs1) >> 2;
+    u32 gd1 = (  gs1 +   gs2) >> 1;
+    u32 gd2 = (  gs2 +   gs3) >> 1;
+    u32 gd3 = (  gs3 + 3*gs4) >> 2;
+
+    u32 d0 = (ar0bd0 & 0xFC1F) | (gd0 & 0x03E0);
+    u32 d1 = (ar0bd1 & 0xFC1F) | (gd1 & 0x03E0);
+    u32 d2 = (ar0bd2 & 0xFC1F) | (gd2 & 0x03E0);
+    u32 d3 = (ar0bd3 & 0xFC1F) | (gd3 & 0x03E0);
+    
+    u32 d10 = 0x80008000 | (d1 << 16) | d0;
+    u32 d32 = 0x80008000 | (d3 << 16) | d2;
+    
+    ((u32*)dest)[0] = d10;
+    ((u32*)dest)[1] = d32;
+}
+#endif
+
 static inline void RescaleBlock_5x8888_To_4x1555( u32 s0, u32 s1, u32 s2, u32 s3, u32 s4,
                                                     u16* dest)
 {
@@ -262,6 +304,7 @@
 }
 
 // Can't work in place
+#ifdef PERFECT_5_TO_4_RESCALING
 static inline void Rescale_320xPAL8Scanline_To_256x1555Scanline(u16* dest, const u8* src, const u32* palette)
 {
     ComputeDivBy5TableIFN();
@@ -277,8 +320,23 @@
         RescaleBlock_5x8888_To_4x1555(s0, s1, s2, s3, s4, dest+4*i);
     }
 }
+#else
+static inline void Rescale_320xPAL8Scanline_To_256x1555Scanline(u16* dest, const u8* src, const u16* palette)
+{
+    for(size_t i=0; i<64; ++i)
+    {
+        u16 s0 = palette[src[5*i+0]];
+        u16 s1 = palette[src[5*i+1]];
+        u16 s2 = palette[src[5*i+2]];
+        u16 s3 = palette[src[5*i+3]];
+        u16 s4 = palette[src[5*i+4]];
 
+        RescaleBlock_5x1555_To_4x1555(s0, s1, s2, s3, s4, dest+4*i);
+    }
+}
+#endif
 
+
 // Can work in place, because it's a contraction
 static inline void Rescale_320x1555Scanline_To_256x1555Scanline(u16* dest, const u16* src)
 {
@@ -296,6 +354,7 @@
     }
 }
 
+#ifdef PERFECT_5_TO_4_RESCALING
 void Rescale_320x256xPAL8_To_256x256x1555(u16* dest, const u8* src, const u16* palette, int destStride, int srcStride)
 {
 	u32 fastRam[768];
@@ -316,7 +375,20 @@
 		Rescale_320xPAL8Scanline_To_256x1555Scanline(dest + i*destStride, src + i *srcStride, fastRam);			
 	}
 }
+#else
+void Rescale_320x256xPAL8_To_256x256x1555(u16* dest, const u8* src, const u16* palette, int destStride, int srcStride)
+{
+	u16 fastRam[256];
+    for(size_t i=0; i<128; ++i)
+        ((u32*)fastRam)[i] = ((const u32*)palette)[i];
 
+	for(size_t i=0; i<200; ++i)
+	{
+		Rescale_320xPAL8Scanline_To_256x1555Scanline(dest + i*destStride, src + i *srcStride, fastRam);			
+	}
+}
+#endif
+
 void Rescale_320x256x1555_To_256x256x1555(u16* dest, const u16* src, int destStride, int srcStride)
 {
 	for(size_t i=0; i<200; ++i)

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/ds/arm9/source/fat/disc_io.c
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/ds/arm9/source/fat/disc_io.c	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/ds/arm9/source/fat/disc_io.c	2007-05-26 20:23:24 UTC (rev 26949)
@@ -358,7 +358,7 @@
 bool disc_setDsSlotInterface (void)
 {
 #ifdef ARM9
-	REG_EXEMEMCNT &= ~(1<<11);
+	REG_EXMEMCNT &= ~(1<<11);
 #endif
 #ifdef ARM7
 	REG_EXEMEMCNT |= (1<<11);

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/ds/arm9/source/fat/io_dldi.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/ds/arm9/source/fat/io_dldi.h	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/ds/arm9/source/fat/io_dldi.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -30,7 +30,7 @@
 static inline LPIO_INTERFACE DLDI_GetInterface(void) {
 #ifdef NDS
 	// NDM: I'm really not sure about this change ARM9 - ARM7
-	REG_EXEMEMCNT &= ~(ARM7_OWNS_ROM | ARM7_OWNS_CARD);
+	REG_EXMEMCNT &= ~(ARM7_OWNS_ROM | ARM7_OWNS_CARD);
 #endif // defined NDS
 	return &_io_dldi;
 }

Copied: scummvm/branches/gsoc2007-fsnode/backends/platform/gp2x/build/scummvm.gpe (from rev 26948, scummvm/trunk/backends/platform/gp2x/build/scummvm.gpe)
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/gp2x/build/scummvm.gpe	                        (rev 0)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/gp2x/build/scummvm.gpe	2007-05-26 20:23:24 UTC (rev 26949)
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+# Remount SD with forced Sync, does this really work?
+mount -o sync,remount /dev/mmcsd/disc0/part1 /mnt/sd/
+
+# Run ScummVM, important this bit.
+./scummvm.gp2x
+
+# Sync the SD card to check that everything is written.
+sync
+
+# Return to the GPH menu screen
+cd /usr/gp2x
+exec /usr/gp2x/gp2xmenu

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/gp32/startup.c
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/gp32/startup.c	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/gp32/startup.c	2007-05-26 20:23:24 UTC (rev 26949)
@@ -87,7 +87,7 @@
 	GpKernelStart ();
 
    GpAppExit ();
-   while (1) {};
+   while (1) {}
    }
 
 void InitializeFont (void)

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/maemo/maemo-sdl.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/maemo/maemo-sdl.h	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/maemo/maemo-sdl.h	2007-05-26 20:23:24 UTC (rev 26949)
@@ -33,7 +33,7 @@
 
 class OSystem_MAEMO : public OSystem_SDL {
 public:
-	OSystem_MAEMO() {};
+	OSystem_MAEMO() {}
 
 	void loadGFXMode();
 };

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/null/null.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/null/null.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/null/null.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -21,8 +21,8 @@
  */
 
 #include "common/stdafx.h"
-#include "common/scummsys.h"
 #include "common/system.h"
+#include "base/main.h"
 
 #if defined(USE_NULL_DRIVER)
 
@@ -51,13 +51,16 @@
 	virtual const GraphicsMode *getSupportedGraphicsModes() const;
 	virtual int getDefaultGraphicsMode() const;
 	bool setGraphicsMode(const char *name);
+	virtual bool setGraphicsMode(int mode);
 	virtual int getGraphicsMode() const;
 	virtual void initSize(uint width, uint height);
 	virtual int16 getHeight();
 	virtual int16 getWidth();
 	virtual void setPalette(const byte *colors, uint start, uint num);
+	virtual void grabPalette(byte *colors, uint start, uint num);
 	virtual void copyRectToScreen(const byte *buf, int pitch, int x, int y, int w, int h);
 	virtual void updateScreen();
+	virtual bool grabRawScreen(Graphics::Surface *surf);
 	virtual void setShakePos(int shakeOffset);
 
 	virtual void showOverlay();
@@ -74,7 +77,7 @@
 	virtual bool showMouse(bool visible);
 
 	virtual void warpMouse(int x, int y);
-	virtual void setMouseCursor(const byte *buf, uint w, uint h, int hotspotX, int hotspotY, byte keycolor = 255);
+	virtual void setMouseCursor(const byte *buf, uint w, uint h, int hotspotX, int hotspotY, byte keycolor = 255, int cursorTargetScale = 1);
 
 	virtual bool pollEvent(Common::Event &event);
 	virtual uint32 getMillis();
@@ -85,15 +88,11 @@
 	virtual void unlockMutex(MutexRef mutex);
 	virtual void deleteMutex(MutexRef mutex);
 
+	typedef void (*SoundProc)(void *param, byte *buf, int len);
+	virtual bool setSoundCallback(SoundProc proc, void *param);
+	virtual void clearSoundCallback();
 	virtual int getOutputSampleRate() const;
 
-	virtual bool openCD(int drive);
-	virtual bool pollCD();
-
-	virtual void playCD(int track, int num_loops, int start_frame, int duration);
-	virtual void stopCD();
-	virtual void updateCD();
-
 	virtual void quit();
 
 	virtual void setWindowCaption(const char *caption);
@@ -107,16 +106,6 @@
 	{0, 0, 0}
 };
 
-int main(int argc, char *argv[]) {
-	g_system = OSystem_NULL_create();
-	assert(g_system);
-
-	// Invoke the actual ScummVM main entry point:
-	int res = scummvm_main(argc, argv);
-	g_system->quit();	// TODO: Consider removing / replacing this!
-	return res;
-}
-
 OSystem_NULL::OSystem_NULL() {
 	_savefile = 0;
 	_mixer = 0;
@@ -161,6 +150,10 @@
 	return -1;
 }
 
+bool OSystem_NULL::setGraphicsMode(const char *mode) {
+	return true;
+}
+
 bool OSystem_NULL::setGraphicsMode(int mode) {
 	return true;
 }
@@ -183,28 +176,36 @@
 void OSystem_NULL::setPalette(const byte *colors, uint start, uint num) {
 }
 
+void OSystem_NULL::grabPalette(byte *colors, uint start, uint num) {
+
+}
+
 void OSystem_NULL::copyRectToScreen(const byte *buf, int pitch, int x, int y, int w, int h) {
 }
 
 void OSystem_NULL::updateScreen() {
 }
 
+bool OSystem_NULL::grabRawScreen(Graphics::Surface *surf) {
+	return false;
+}
+
 void OSystem_NULL::setShakePos(int shakeOffset) {
 }
 
-void OSystem_NULL::showOverlay () {
+void OSystem_NULL::showOverlay() {
 }
 
-void OSystem_NULL::hideOverlay () {
+void OSystem_NULL::hideOverlay() {
 }
 
-void OSystem_NULL::clearOverlay () {
+void OSystem_NULL::clearOverlay() {
 }
 
-void OSystem_NULL::grabOverlay (OverlayColor *buf, int pitch) {
+void OSystem_NULL::grabOverlay(OverlayColor *buf, int pitch) {
 }
 
-void OSystem_NULL::copyRectToOverlay (const OverlayColor *buf, int pitch, int x, int y, int w, int h) {
+void OSystem_NULL::copyRectToOverlay(const OverlayColor *buf, int pitch, int x, int y, int w, int h) {
 }
 
 int16 OSystem_NULL::getOverlayHeight() {
@@ -229,7 +230,7 @@
 void OSystem_NULL::warpMouse(int x, int y) {
 }
 
-void OSystem_NULL::setMouseCursor(const byte *buf, uint w, uint h, int hotspotX, int hotspotY, byte keycolor) {
+void OSystem_NULL::setMouseCursor(const byte *buf, uint w, uint h, int hotspotX, int hotspotY, byte keycolor, int cursorTargetScale) {
 }
 
 bool OSystem_NULL::pollEvent(Common::Event &event) {
@@ -273,17 +274,17 @@
 void OSystem_NULL::setWindowCaption(const char *caption) {
 }
 
-Common::SaveFileManager *DefaulOSystem::getSavefileManager() {
+Common::SaveFileManager *OSystem_NULL::getSavefileManager() {
 	assert(_savefile);
 	return _savefile;
 }
 
-Audio::Mixer *DefaulOSystem::getMixer() {
+Audio::Mixer *OSystem_NULL::getMixer() {
 	assert(_mixer);
 	return _mixer;
 }
 
-Common::TimerManager *DefaulOSystem::getTimerManager() {
+Common::TimerManager *OSystem_NULL::getTimerManager() {
 	assert(_timer);
 	return _timer;
 }
@@ -291,6 +292,17 @@
 OSystem *OSystem_NULL_create() {
 	return new OSystem_NULL();
 }
+
+int main(int argc, char *argv[]) {
+	g_system = OSystem_NULL_create();
+	assert(g_system);
+
+	// Invoke the actual ScummVM main entry point:
+	int res = scummvm_main(argc, argv);
+	g_system->quit();       // TODO: Consider removing / replacing this!
+	return res;
+}
+
 #else /* USE_NULL_DRIVER */
 
 OSystem *OSystem_NULL_create() {

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/ps2/savefile.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/ps2/savefile.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/ps2/savefile.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -205,9 +205,9 @@
 	AutoSaveFile(Ps2SaveFileManager *saveMan, const char *filename);
 	~AutoSaveFile(void);
 	virtual uint32 write(const void *ptr, uint32 size);
-	virtual void flush(void) { };
+	virtual void flush(void) {}
 	virtual bool ioFailed(void) { return false; };
-	virtual void clearIOFailed(void) {};
+	virtual void clearIOFailed(void) {}
 private:
 	Ps2SaveFileManager *_saveMan;
 	char _fileName[256];

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/psp/osys_psp.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/psp/osys_psp.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/psp/osys_psp.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -63,7 +63,7 @@
 
 const OSystem::GraphicsMode OSystem_PSP::s_supportedGraphicsModes[] = {
 	{ "320x200 (centered)", "320x200 16-bit centered", CENTERED_320X200 },
-	{ "353x272 (best-fit, centered)", "353x272 16-bit centered", CENTERED_435X272 },
+	{ "435x272 (best-fit, centered)", "435x272 16-bit centered", CENTERED_435X272 },
 	{ "480x272 (full screen)", "480x272 16-bit stretched", STRETCHED_480X272 },
 	{ "362x272 (4:3, centered)", "362x272 16-bit centered", CENTERED_362X272 },
 	{0, 0, 0}

Modified: scummvm/branches/gsoc2007-fsnode/backends/platform/psp/osys_psp_gu.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/platform/psp/osys_psp_gu.cpp	2007-05-26 18:12:12 UTC (rev 26948)
+++ scummvm/branches/gsoc2007-fsnode/backends/platform/psp/osys_psp_gu.cpp	2007-05-26 20:23:24 UTC (rev 26949)
@@ -115,6 +115,8 @@
 	_graphicMode = STRETCHED_480X272;
 	_keySelected = 1;
 	_keyboardMode = 0;
+	_mouseX = PSP_SCREEN_WIDTH >> 1;
+	_mouseY = PSP_SCREEN_HEIGHT >> 1;
 }
 
 OSystem_PSP_GU::~OSystem_PSP_GU() {
@@ -267,8 +269,6 @@
 }
 
 void OSystem_PSP_GU::updateScreen() {
-	float scale;
-
 	sceGuStart(0,list);
 	
 	sceGuClearColor(0xff000000);
@@ -381,9 +381,14 @@
 			break;
 			case CENTERED_435X272:
 			{
-				scale = 435.0f / _screenWidth;
-				vertices[0].x = (PSP_SCREEN_WIDTH - 435) / 2 + mX * scale; vertices[0].y = mY * scale; vertices[0].z = 0;
-				vertices[1].x = vertices[0].x + _mouseWidth * scale; vertices[1].y = vertices[0].y + _mouseHeight * scale; vertices[0].z = 0;
+				float scalex, scaley;
+
+				scalex = 435.0f / _screenWidth;
+				scaley = 272.0f / _screenHeight;
+
+				vertices[0].x = (PSP_SCREEN_WIDTH - 435) / 2 + mX * scalex; vertices[0].y = mY * scaley; vertices[0].z = 0;
+				vertices[1].x = vertices[0].x + _mouseWidth * scalex; vertices[1].y = vertices[0].y + _mouseHeight * scaley; vertices[0].z = 0;
+
 			}
 			break;
 			case CENTERED_362X272:


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