[Scummvm-cvs-logs] SF.net SVN: scummvm: [31896] scummvm/branches/gsoc2008-tfmx

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Tue May 6 14:08:32 CEST 2008


Revision: 31896
          http://scummvm.svn.sourceforge.net/scummvm/?rev=31896&view=rev
Author:   fingolfin
Date:     2008-05-06 05:08:31 -0700 (Tue, 06 May 2008)

Log Message:
-----------
Merge with trunk (maybe we should have created this branch later? ;-)

Modified Paths:
--------------
    scummvm/branches/gsoc2008-tfmx/Makefile.common
    scummvm/branches/gsoc2008-tfmx/NEWS
    scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/modules.cpp
    scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/compile.h
    scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_agi.h
    scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_agos.h
    scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_cine.h
    scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_cruise.h
    scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_drascula.h
    scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_gob.h
    scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_igor.h
    scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_kyra.h
    scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_lure.h
    scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_parallaction.h
    scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_queen.h
    scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_saga.h
    scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_scumm.h
    scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_sky.h
    scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_sword1.h
    scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_sword2.h
    scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_touche.h
    scummvm/branches/gsoc2008-tfmx/backends/platform/dc/Makefile
    scummvm/branches/gsoc2008-tfmx/backends/platform/dc/README
    scummvm/branches/gsoc2008-tfmx/backends/platform/dc/plugin.syms
    scummvm/branches/gsoc2008-tfmx/backends/platform/ds/arm9/makefile
    scummvm/branches/gsoc2008-tfmx/backends/platform/ds/arm9/source/dsmain.cpp
    scummvm/branches/gsoc2008-tfmx/backends/platform/ds/arm9/source/wordcompletion.cpp
    scummvm/branches/gsoc2008-tfmx/backends/platform/gp32/Makefile
    scummvm/branches/gsoc2008-tfmx/backends/platform/wince/Makefile
    scummvm/branches/gsoc2008-tfmx/backends/plugins/dc/dc-provider.cpp
    scummvm/branches/gsoc2008-tfmx/backends/plugins/dc/dc-provider.h
    scummvm/branches/gsoc2008-tfmx/backends/plugins/posix/posix-provider.cpp
    scummvm/branches/gsoc2008-tfmx/backends/plugins/posix/posix-provider.h
    scummvm/branches/gsoc2008-tfmx/backends/plugins/sdl/sdl-provider.cpp
    scummvm/branches/gsoc2008-tfmx/backends/plugins/sdl/sdl-provider.h
    scummvm/branches/gsoc2008-tfmx/backends/plugins/win32/win32-provider.cpp
    scummvm/branches/gsoc2008-tfmx/backends/plugins/win32/win32-provider.h
    scummvm/branches/gsoc2008-tfmx/base/commandLine.cpp
    scummvm/branches/gsoc2008-tfmx/base/plugins.cpp
    scummvm/branches/gsoc2008-tfmx/base/plugins.h
    scummvm/branches/gsoc2008-tfmx/common/array.h
    scummvm/branches/gsoc2008-tfmx/common/func.h
    scummvm/branches/gsoc2008-tfmx/common/hashmap.h
    scummvm/branches/gsoc2008-tfmx/common/list.h
    scummvm/branches/gsoc2008-tfmx/common/noncopyable.h
    scummvm/branches/gsoc2008-tfmx/common/singleton.h
    scummvm/branches/gsoc2008-tfmx/common/stack.h
    scummvm/branches/gsoc2008-tfmx/configure
    scummvm/branches/gsoc2008-tfmx/dists/msvc7/drascula.vcproj
    scummvm/branches/gsoc2008-tfmx/dists/msvc7/gob.vcproj
    scummvm/branches/gsoc2008-tfmx/dists/msvc7/kyra.vcproj
    scummvm/branches/gsoc2008-tfmx/dists/msvc7/made.vcproj
    scummvm/branches/gsoc2008-tfmx/dists/msvc71/drascula.vcproj
    scummvm/branches/gsoc2008-tfmx/dists/msvc71/gob.vcproj
    scummvm/branches/gsoc2008-tfmx/dists/msvc71/kyra.vcproj
    scummvm/branches/gsoc2008-tfmx/dists/msvc71/made.vcproj
    scummvm/branches/gsoc2008-tfmx/dists/msvc8/drascula.vcproj
    scummvm/branches/gsoc2008-tfmx/dists/msvc8/gob.vcproj
    scummvm/branches/gsoc2008-tfmx/dists/msvc8/kyra.vcproj
    scummvm/branches/gsoc2008-tfmx/dists/msvc8/made.vcproj
    scummvm/branches/gsoc2008-tfmx/dists/msvc9/drascula.vcproj
    scummvm/branches/gsoc2008-tfmx/dists/msvc9/gob.vcproj
    scummvm/branches/gsoc2008-tfmx/dists/msvc9/kyra.vcproj
    scummvm/branches/gsoc2008-tfmx/dists/msvc9/made.vcproj
    scummvm/branches/gsoc2008-tfmx/engines/agi/agi.h
    scummvm/branches/gsoc2008-tfmx/engines/agi/detection.cpp
    scummvm/branches/gsoc2008-tfmx/engines/agi/keyboard.cpp
    scummvm/branches/gsoc2008-tfmx/engines/agi/module.mk
    scummvm/branches/gsoc2008-tfmx/engines/agi/op_cmd.cpp
    scummvm/branches/gsoc2008-tfmx/engines/agos/detection.cpp
    scummvm/branches/gsoc2008-tfmx/engines/agos/module.mk
    scummvm/branches/gsoc2008-tfmx/engines/cine/detection.cpp
    scummvm/branches/gsoc2008-tfmx/engines/cine/module.mk
    scummvm/branches/gsoc2008-tfmx/engines/cruise/detection.cpp
    scummvm/branches/gsoc2008-tfmx/engines/cruise/module.mk
    scummvm/branches/gsoc2008-tfmx/engines/drascula/detection.cpp
    scummvm/branches/gsoc2008-tfmx/engines/drascula/drascula.cpp
    scummvm/branches/gsoc2008-tfmx/engines/drascula/drascula.h
    scummvm/branches/gsoc2008-tfmx/engines/drascula/module.mk
    scummvm/branches/gsoc2008-tfmx/engines/engines.mk
    scummvm/branches/gsoc2008-tfmx/engines/gob/dataio.cpp
    scummvm/branches/gsoc2008-tfmx/engines/gob/detection.cpp
    scummvm/branches/gsoc2008-tfmx/engines/gob/draw_v2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/gob/game.cpp
    scummvm/branches/gsoc2008-tfmx/engines/gob/global.cpp
    scummvm/branches/gsoc2008-tfmx/engines/gob/global.h
    scummvm/branches/gsoc2008-tfmx/engines/gob/gob.cpp
    scummvm/branches/gsoc2008-tfmx/engines/gob/goblin_v2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/gob/goblin_v4.cpp
    scummvm/branches/gsoc2008-tfmx/engines/gob/inter_v2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/gob/inter_v4.cpp
    scummvm/branches/gsoc2008-tfmx/engines/gob/module.mk
    scummvm/branches/gsoc2008-tfmx/engines/gob/mult.cpp
    scummvm/branches/gsoc2008-tfmx/engines/gob/mult.h
    scummvm/branches/gsoc2008-tfmx/engines/gob/mult_v1.cpp
    scummvm/branches/gsoc2008-tfmx/engines/gob/mult_v2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/gob/scenery.cpp
    scummvm/branches/gsoc2008-tfmx/engines/gob/util.cpp
    scummvm/branches/gsoc2008-tfmx/engines/gob/video.cpp
    scummvm/branches/gsoc2008-tfmx/engines/gob/video.h
    scummvm/branches/gsoc2008-tfmx/engines/gob/videoplayer.cpp
    scummvm/branches/gsoc2008-tfmx/engines/gob/videoplayer.h
    scummvm/branches/gsoc2008-tfmx/engines/igor/detection.cpp
    scummvm/branches/gsoc2008-tfmx/engines/igor/module.mk
    scummvm/branches/gsoc2008-tfmx/engines/kyra/animator_v1.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/animator_v1.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/debugger.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/debugger.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/detection.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/gui.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/gui.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/gui_v1.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/kyra.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/kyra.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/kyra_v1.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/kyra_v1.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/module.mk
    scummvm/branches/gsoc2008-tfmx/engines/kyra/resource.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/saveload.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/scene_v1.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/screen.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/screen.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/script.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/script.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/script_v1.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/sound.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/sound_digital.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/sound_v1.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/sprites.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/staticres.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/timer_v1.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/wsamovie.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/wsamovie.h
    scummvm/branches/gsoc2008-tfmx/engines/lure/detection.cpp
    scummvm/branches/gsoc2008-tfmx/engines/lure/module.mk
    scummvm/branches/gsoc2008-tfmx/engines/m4/detection.cpp
    scummvm/branches/gsoc2008-tfmx/engines/m4/module.mk
    scummvm/branches/gsoc2008-tfmx/engines/made/database.cpp
    scummvm/branches/gsoc2008-tfmx/engines/made/database.h
    scummvm/branches/gsoc2008-tfmx/engines/made/detection.cpp
    scummvm/branches/gsoc2008-tfmx/engines/made/made.cpp
    scummvm/branches/gsoc2008-tfmx/engines/made/made.h
    scummvm/branches/gsoc2008-tfmx/engines/made/module.mk
    scummvm/branches/gsoc2008-tfmx/engines/made/music.cpp
    scummvm/branches/gsoc2008-tfmx/engines/made/music.h
    scummvm/branches/gsoc2008-tfmx/engines/made/pmvplayer.cpp
    scummvm/branches/gsoc2008-tfmx/engines/made/resource.cpp
    scummvm/branches/gsoc2008-tfmx/engines/made/resource.h
    scummvm/branches/gsoc2008-tfmx/engines/made/screen.cpp
    scummvm/branches/gsoc2008-tfmx/engines/made/script.cpp
    scummvm/branches/gsoc2008-tfmx/engines/made/scriptfuncs.cpp
    scummvm/branches/gsoc2008-tfmx/engines/made/scriptfuncs.h
    scummvm/branches/gsoc2008-tfmx/engines/parallaction/callables_ns.cpp
    scummvm/branches/gsoc2008-tfmx/engines/parallaction/debug.cpp
    scummvm/branches/gsoc2008-tfmx/engines/parallaction/detection.cpp
    scummvm/branches/gsoc2008-tfmx/engines/parallaction/dialogue.cpp
    scummvm/branches/gsoc2008-tfmx/engines/parallaction/disk_br.cpp
    scummvm/branches/gsoc2008-tfmx/engines/parallaction/exec_br.cpp
    scummvm/branches/gsoc2008-tfmx/engines/parallaction/exec_ns.cpp
    scummvm/branches/gsoc2008-tfmx/engines/parallaction/module.mk
    scummvm/branches/gsoc2008-tfmx/engines/parallaction/objects.h
    scummvm/branches/gsoc2008-tfmx/engines/parallaction/parallaction.cpp
    scummvm/branches/gsoc2008-tfmx/engines/parallaction/parallaction.h
    scummvm/branches/gsoc2008-tfmx/engines/parallaction/parallaction_br.cpp
    scummvm/branches/gsoc2008-tfmx/engines/parallaction/parallaction_ns.cpp
    scummvm/branches/gsoc2008-tfmx/engines/parallaction/parser.cpp
    scummvm/branches/gsoc2008-tfmx/engines/parallaction/parser.h
    scummvm/branches/gsoc2008-tfmx/engines/parallaction/parser_br.cpp
    scummvm/branches/gsoc2008-tfmx/engines/parallaction/parser_ns.cpp
    scummvm/branches/gsoc2008-tfmx/engines/parallaction/walk.cpp
    scummvm/branches/gsoc2008-tfmx/engines/queen/module.mk
    scummvm/branches/gsoc2008-tfmx/engines/queen/queen.cpp
    scummvm/branches/gsoc2008-tfmx/engines/saga/detection.cpp
    scummvm/branches/gsoc2008-tfmx/engines/saga/module.mk
    scummvm/branches/gsoc2008-tfmx/engines/scumm/actor.cpp
    scummvm/branches/gsoc2008-tfmx/engines/scumm/akos.cpp
    scummvm/branches/gsoc2008-tfmx/engines/scumm/camera.cpp
    scummvm/branches/gsoc2008-tfmx/engines/scumm/charset.cpp
    scummvm/branches/gsoc2008-tfmx/engines/scumm/charset.h
    scummvm/branches/gsoc2008-tfmx/engines/scumm/detection.cpp
    scummvm/branches/gsoc2008-tfmx/engines/scumm/detection_tables.h
    scummvm/branches/gsoc2008-tfmx/engines/scumm/dialogs.cpp
    scummvm/branches/gsoc2008-tfmx/engines/scumm/gfx.cpp
    scummvm/branches/gsoc2008-tfmx/engines/scumm/gfx.h
    scummvm/branches/gsoc2008-tfmx/engines/scumm/he/cup_player_he.h
    scummvm/branches/gsoc2008-tfmx/engines/scumm/he/floodfill_he.h
    scummvm/branches/gsoc2008-tfmx/engines/scumm/he/intern_he.h
    scummvm/branches/gsoc2008-tfmx/engines/scumm/he/logic_he.h
    scummvm/branches/gsoc2008-tfmx/engines/scumm/he/resource_he.cpp
    scummvm/branches/gsoc2008-tfmx/engines/scumm/he/sprite_he.h
    scummvm/branches/gsoc2008-tfmx/engines/scumm/he/wiz_he.h
    scummvm/branches/gsoc2008-tfmx/engines/scumm/imuse_digi/dimuse.h
    scummvm/branches/gsoc2008-tfmx/engines/scumm/imuse_digi/dimuse_tables.h
    scummvm/branches/gsoc2008-tfmx/engines/scumm/imuse_digi/dimuse_track.h
    scummvm/branches/gsoc2008-tfmx/engines/scumm/input.cpp
    scummvm/branches/gsoc2008-tfmx/engines/scumm/insane/insane.h
    scummvm/branches/gsoc2008-tfmx/engines/scumm/intern.h
    scummvm/branches/gsoc2008-tfmx/engines/scumm/module.mk
    scummvm/branches/gsoc2008-tfmx/engines/scumm/nut_renderer.h
    scummvm/branches/gsoc2008-tfmx/engines/scumm/object.cpp
    scummvm/branches/gsoc2008-tfmx/engines/scumm/palette.cpp
    scummvm/branches/gsoc2008-tfmx/engines/scumm/resource.cpp
    scummvm/branches/gsoc2008-tfmx/engines/scumm/room.cpp
    scummvm/branches/gsoc2008-tfmx/engines/scumm/saveload.cpp
    scummvm/branches/gsoc2008-tfmx/engines/scumm/script_v6.cpp
    scummvm/branches/gsoc2008-tfmx/engines/scumm/scumm.cpp
    scummvm/branches/gsoc2008-tfmx/engines/scumm/smush/smush_player.h
    scummvm/branches/gsoc2008-tfmx/engines/scumm/sound.cpp
    scummvm/branches/gsoc2008-tfmx/engines/scumm/string.cpp
    scummvm/branches/gsoc2008-tfmx/engines/scumm/vars.cpp
    scummvm/branches/gsoc2008-tfmx/engines/scumm/verbs.cpp
    scummvm/branches/gsoc2008-tfmx/engines/sky/module.mk
    scummvm/branches/gsoc2008-tfmx/engines/sky/sky.cpp
    scummvm/branches/gsoc2008-tfmx/engines/sword1/module.mk
    scummvm/branches/gsoc2008-tfmx/engines/sword1/sword1.cpp
    scummvm/branches/gsoc2008-tfmx/engines/sword2/module.mk
    scummvm/branches/gsoc2008-tfmx/engines/sword2/sword2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/touche/detection.cpp
    scummvm/branches/gsoc2008-tfmx/engines/touche/module.mk
    scummvm/branches/gsoc2008-tfmx/ports.mk
    scummvm/branches/gsoc2008-tfmx/rules.mk
    scummvm/branches/gsoc2008-tfmx/sound/mididrv.cpp

Added Paths:
-----------
    scummvm/branches/gsoc2008-tfmx/engines/drascula/animation.cpp
    scummvm/branches/gsoc2008-tfmx/engines/drascula/rooms.cpp
    scummvm/branches/gsoc2008-tfmx/engines/drascula/talk.cpp
    scummvm/branches/gsoc2008-tfmx/engines/drascula/texts.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/animator_hof.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/animator_mr.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/animator_v2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/gui_hof.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/gui_hof.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/gui_mr.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/gui_mr.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/gui_v2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/gui_v2.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/items_hof.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/items_mr.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/items_v2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/kyra_hof.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/kyra_hof.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/kyra_mr.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/kyra_mr.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/kyra_v2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/kyra_v2.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/saveload_hof.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/saveload_mr.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/scene_hof.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/scene_mr.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/scene_v2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/screen_hof.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/screen_hof.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/screen_mr.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/screen_mr.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/screen_v2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/screen_v2.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/script_hof.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/script_mr.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/script_v2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/sequences_hof.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/sequences_mr.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/sequences_v2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/text_hof.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/text_hof.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/text_mr.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/text_mr.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/timer_hof.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/timer_mr.cpp
    scummvm/branches/gsoc2008-tfmx/engines/made/scriptfuncs_lgop2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/made/scriptfuncs_mhne.cpp
    scummvm/branches/gsoc2008-tfmx/engines/made/scriptfuncs_rtz.cpp

Removed Paths:
-------------
    scummvm/branches/gsoc2008-tfmx/engines/drascula/texts.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/animator_v2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/animator_v3.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/gui_v2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/gui_v2.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/gui_v3.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/gui_v3.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/items_v2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/items_v3.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/kyra_v2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/kyra_v2.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/kyra_v3.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/kyra_v3.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/saveload_v2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/saveload_v3.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/scene_v2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/scene_v3.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/screen_v2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/screen_v2.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/screen_v3.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/screen_v3.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/script_v2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/script_v3.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/sequences_v2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/sequences_v3.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/text_v2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/text_v2.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/text_v3.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/text_v3.h
    scummvm/branches/gsoc2008-tfmx/engines/kyra/timer_v2.cpp
    scummvm/branches/gsoc2008-tfmx/engines/kyra/timer_v3.cpp

Property Changed:
----------------
    scummvm/branches/gsoc2008-tfmx/


Property changes on: scummvm/branches/gsoc2008-tfmx
___________________________________________________________________
Name: svnmerge-integrated
   - /scummvm/trunk:1-31764
   + /scummvm/trunk:1-31894

Modified: scummvm/branches/gsoc2008-tfmx/Makefile.common
===================================================================
--- scummvm/branches/gsoc2008-tfmx/Makefile.common	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/Makefile.common	2008-05-06 12:08:31 UTC (rev 31896)
@@ -15,17 +15,18 @@
 # Module settings
 ######################################################################
 
+PLUGINS :=
 MODULES := test tools base $(MODULES)
 
 -include $(srcdir)/engines/engines.mk
 
 # After the game specific modules follow the shared modules
 MODULES += \
-	engines \
 	gui \
 	graphics \
 	sound \
 	common \
+	engines \
 	backends
 
 ifdef USE_MT32EMU
@@ -177,28 +178,31 @@
 
 
 # Themes files
-DIST_FILES_THEMES:=$(addprefix $(srcdir)/gui/themes/,modern.ini modern.zip)
+DIST_FILES_THEMES:=$(addprefix $(srcdir)/gui/themes/,modern.ini modern.zip classic080.ini)
 
 # Engine data files
 DIST_FILES_ENGINEDATA=
-ifndef DISABLE_IGOR
+ifdef ENABLE_IGOR
 DIST_FILES_ENGINEDATA+=igor.tbl
 endif
-ifndef DISABLE_KYRA
+ifdef ENABLE_KYRA
 DIST_FILES_ENGINEDATA+=kyra.dat
 endif
-ifndef DISABLE_LURE
+ifdef ENABLE_LURE
 DIST_FILES_ENGINEDATA+=lure.dat
 endif
-ifndef DISABLE_M4
+ifdef ENABLE_M4
 DIST_FILES_ENGINEDATA+=m4.dat
 endif
-ifndef DISABLE_QUEEN
+ifdef ENABLE_QUEEN
 DIST_FILES_ENGINEDATA+=queen.tbl
 endif
-ifndef DISABLE_SKY
+ifdef ENABLE_SKY
 DIST_FILES_ENGINEDATA+=sky.cpt
 endif
 DIST_FILES_ENGINEDATA:=$(addprefix $(srcdir)/dists/engine-data/,$(DIST_FILES_ENGINEDATA))
 
+# Plugin files
+DIST_FILES_PLUGINS:=$(addprefix $(srcdir)/,$(PLUGINS))
+
 .PHONY: all clean distclean plugins dist-src

Modified: scummvm/branches/gsoc2008-tfmx/NEWS
===================================================================
--- scummvm/branches/gsoc2008-tfmx/NEWS	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/NEWS	2008-05-06 12:08:31 UTC (rev 31896)
@@ -14,6 +14,9 @@
    - Revived the PS2 port (was already in 0.11.1 but was forgotten in the
      release notes).
 
+ AGOS:
+   - Fixed palette issues in Amiga versions of Simon the Sorcerer 1.
+
  SCUMM:
    - Rewrote parts of Digital iMUSE, fixing some bugs.
    - Rewrote the internal timer code, fixing some speed issues in e.g. COMI.

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/modules.cpp
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/modules.cpp	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/modules.cpp	2008-05-06 12:08:31 UTC (rev 31896)
@@ -87,9 +87,9 @@
 #ifdef PALMOS_NATIVE
 			result = GET_MODEARM;
 #else
-#	if	!defined(DISABLE_SCUMM) || \
-		!defined(DISABLE_AGOS) || \
-		!defined(DISABLE_SWORD1)
+#	if	defined(ENABLE_SCUMM) || \
+		defined(ENABLE_AGOS) || \
+		defined(ENABLE_SWORD1)
 			result = GET_DATACOMMON|GET_DATAENGINE|GET_MODE68K;
 #	else
 			result = GET_DATACOMMON|GET_MODE68K;

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/compile.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/compile.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/compile.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -26,27 +26,27 @@
 #ifndef __COMPILE_H__
 #define __COMPILE_H__
 
-#define DISABLE_SCUMM
-#define DISABLE_SCUMM_7_8
-#define DISABLE_HE
+#undef ENABLE_SCUMM
+#undef ENABLE_SCUMM_7_8
+#undef ENABLE_HE
 
-#define DISABLE_AGOS
-#define DISABLE_SKY
-#define DISABLE_SWORD1
-#define DISABLE_SWORD2
-#define DISABLE_QUEEN
-#define DISABLE_SAGA
-#define DISABLE_KYRA
-#define DISABLE_AWE
-#define DISABLE_GOB
-#define DISABLE_LURE
-#define DISABLE_CINE
-#define DISABLE_AGI
-#define DISABLE_TOUCHE
-#define DISABLE_PARALLACTION
-#define DISABLE_CRUISE
-#define DISABLE_DRASCULA
-#define DISABLE_IGOR
+#undef ENABLE_AGOS
+#undef ENABLE_SKY
+#undef ENABLE_SWORD1
+#undef ENABLE_SWORD2
+#undef ENABLE_QUEEN
+#undef ENABLE_SAGA
+#undef ENABLE_KYRA
+#undef ENABLE_AWE
+#undef ENABLE_GOB
+#undef ENABLE_LURE
+#undef ENABLE_CINE
+#undef ENABLE_AGI
+#undef ENABLE_TOUCHE
+#undef ENABLE_PARALLACTION
+#undef ENABLE_CRUISE
+#undef ENABLE_DRASCULA
+#undef ENABLE_IGOR
 
 // ScummVM
 #define DISABLE_HQ_SCALERS

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_agi.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_agi.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_agi.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -2,7 +2,7 @@
 #define PREFIX_H
 
 #include "native_common.h"
-#undef DISABLE_AGI
+#define ENABLE_AGI STATIC_PLUGIN
 
 #undef USE_MAD
 #undef USE_VORBIS

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_agos.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_agos.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_agos.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -2,6 +2,6 @@
 #define PREFIX_H
 
 #include "native_common.h"
-#undef DISABLE_AGOS
+#define ENABLE_AGOS STATIC_PLUGIN
 
 #endif

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_cine.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_cine.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_cine.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -2,7 +2,7 @@
 #define PREFIX_H
 
 #include "native_common.h"
-#undef DISABLE_CINE
+#define ENABLE_CINE STATIC_PLUGIN
 #define _DEBUG
 
 #undef USE_MAD

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_cruise.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_cruise.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_cruise.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -2,7 +2,7 @@
 #define PREFIX_H
 
 #include "native_common.h"
-#undef DISABLE_CRUISE
+#define ENABLE_CRUISE STATIC_PLUGIN
 
 #undef USE_MAD
 #undef USE_VORBIS

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_drascula.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_drascula.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_drascula.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -2,6 +2,6 @@
 #define PREFIX_H
 
 #include "native_common.h"
-#undef DISABLE_DRASCULA
+#define ENABLE_DRASCULA STATIC_PLUGIN
 
 #endif

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_gob.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_gob.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_gob.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -2,6 +2,6 @@
 #define PREFIX_H
 
 #include "native_common.h"
-#undef DISABLE_GOB
+#define ENABLE_GOB STATIC_PLUGIN
 
 #endif

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_igor.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_igor.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_igor.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -2,6 +2,6 @@
 #define PREFIX_H
 
 #include "native_common.h"
-#undef DISABLE_IGOR
+#define ENABLE_IGOR STATIC_PLUGIN
 
 #endif

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_kyra.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_kyra.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_kyra.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -2,6 +2,6 @@
 #define PREFIX_H
 
 #include "native_common.h"
-#undef DISABLE_KYRA
+#define ENABLE_KYRA
 
 #endif

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_lure.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_lure.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_lure.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -2,7 +2,7 @@
 #define PREFIX_H
 
 #include "native_common.h"
-#undef DISABLE_LURE
+#define ENABLE_LURE STATIC_PLUGIN
 
 #undef USE_MAD
 #undef USE_VORBIS

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_parallaction.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_parallaction.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_parallaction.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -2,7 +2,7 @@
 #define PREFIX_H
 
 #include "native_common.h"
-#undef DISABLE_PARALLACTION
+#define ENABLE_PARALLACTION STATIC_PLUGIN
 
 #undef USE_MAD
 #undef USE_VORBIS

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_queen.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_queen.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_queen.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -2,6 +2,6 @@
 #define PREFIX_H
 
 #include "native_common.h"
-#undef DISABLE_QUEEN
+#define ENABLE_QUEEN STATIC_PLUGIN
 
 #endif

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_saga.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_saga.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_saga.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -2,6 +2,6 @@
 #define PREFIX_H
 
 #include "native_common.h"
-#undef DISABLE_SAGA
+#define ENABLE_SAGA STATIC_PLUGIN
 
 #endif

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_scumm.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_scumm.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_scumm.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -2,9 +2,9 @@
 #define PREFIX_H
 
 #include "native_common.h"
-#undef DISABLE_SCUMM
-#undef DISABLE_SCUMM_7_8
-#undef DISABLE_HE
+#define ENABLE_SCUMM STATIC_PLUGIN
+#define ENABLE_SCUMM_7_8
+#define ENABLE_HE
 
 #define USE_ARM_GFX_ASM
 #define USE_ARM_SMUSH_ASM

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_sky.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_sky.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_sky.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -2,6 +2,6 @@
 #define PREFIX_H
 
 #include "native_common.h"
-#undef DISABLE_SKY
+#define ENABLE_SKY STATIC_PLUGIN
 
 #endif

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_sword1.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_sword1.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_sword1.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -2,7 +2,7 @@
 #define PREFIX_H
 
 #include "native_common.h"
-#undef DISABLE_SWORD1
+#define ENABLE_SWORD1
 #define USE_MPEG2
 #define USE_VORBIS
 

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_sword2.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_sword2.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_sword2.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -2,7 +2,7 @@
 #define PREFIX_H
 
 #include "native_common.h"
-#undef DISABLE_SWORD2
+#define ENABLE_SWORD2 STATIC_PLUGIN
 #undef _DEBUG
 #define USE_MPEG2
 #define USE_VORBIS

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_touche.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_touche.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/PalmOS/Src/prefixes/native_touche.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -2,6 +2,6 @@
 #define PREFIX_H
 
 #include "native_common.h"
-#undef DISABLE_TOUCHE
+#define ENABLE_TOUCHE STATIC_PLUGIN
 
 #endif

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/dc/Makefile
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/dc/Makefile	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/dc/Makefile	2008-05-06 12:08:31 UTC (rev 31896)
@@ -3,7 +3,7 @@
 
 ronindir = /usr/local/ronin
 
-BUILD_PLUGINS = 1
+DYNAMIC_MODULES = 1
 
 srcdir = ../../..
 VPATH = $(srcdir)
@@ -28,7 +28,7 @@
 HAVE_GCC3 = true
 DISABLE_SCALERS = true
 
-ifdef BUILD_PLUGINS
+ifdef DYNAMIC_MODULES
 DEFINES += -DDYNAMIC_MODULES
 PRE_OBJS_FLAGS = -Wl,--whole-archive
 POST_OBJS_FLAGS = -Wl,--no-whole-archive

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/dc/README
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/dc/README	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/dc/README	2008-05-06 12:08:31 UTC (rev 31896)
@@ -21,6 +21,6 @@
 somewhere other than /usr/local/ronin, then run `make dist', and you
 should get a scrambled binary SCUMMVM.BIN and some plugins *.PLG.
 
-For serial/IP upload, remove the "BUILD_PLUGINS" line and just run `make',
+For serial/IP upload, remove the "DYNAMIC_MODULES" line and just run `make',
 to get a static binary with the name `scummvm.elf'.
 

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/dc/plugin.syms
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/dc/plugin.syms	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/dc/plugin.syms	2008-05-06 12:08:31 UTC (rev 31896)
@@ -1,9 +1,7 @@
-_PLUGIN_copyright
-_PLUGIN_createEngine
-_PLUGIN_detectGames
-_PLUGIN_gameIDList
-_PLUGIN_findGameID
-_PLUGIN_name
+_PLUGIN_getVersion
+_PLUGIN_getType
+_PLUGIN_getTypeVersion
+_PLUGIN_getObject
 ___plugin_ctors
 ___plugin_ctors_end
 ___plugin_dtors

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/ds/arm9/makefile
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/ds/arm9/makefile	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/ds/arm9/makefile	2008-05-06 12:08:31 UTC (rev 31896)
@@ -1,4 +1,4 @@
-#BUILD_PLUGINS = 1
+#DYNAMIC_MODULES = 1
 #libndsdir = $(DEVKITPRO)/libnds
 libndsdir = /home/neil/devkitpror21/libnds
 
@@ -86,184 +86,54 @@
 ifdef DS_BUILD_A
 	DEFINES = -DDS_SCUMM_BUILD -DDS_BUILD_A -DUSE_ARM_GFX_ASM
 	LOGO = logoa.bmp
-	DISABLE_HE = 1
-	#DISABLE_SCUMM = 1
-	DISABLE_SCUMM_7_8 = 1
-	DISABLE_AGOS = 1
-	DISABLE_SKY = 1
-	DISABLE_SWORD1 = 1
-	DISABLE_SWORD2 = 1
-	DISABLE_QUEEN = 1
-	DISABLE_SAGA = 1
-	DISABLE_KYRA = 1
-	DISABLE_GOB = 1
-	DISABLE_LURE = 1
-	DISABLE_CINE = 1
-	DISABLE_AGI = 1
-	DISABLE_TOUCHE = 1
-	DISABLE_PARALLACTION = 1
-	DISABLE_CRUISE = 1
+	ENABLE_SCUMM = STATIC_PLUGIN
 	USE_ARM_GFX_ASM = 1
-	DISABLE_CRUISE = 1
-	DISABLE_DRASCULA = 1
-	DISABLE_IGOR = 1
 	BUILD=scummvm-A
 endif
 
 ifdef DS_BUILD_B
 	DEFINES = -DDS_NON_SCUMM_BUILD -DDS_BUILD_B
 	LOGO = logob.bmp
-	DISABLE_HE = 1
-	DISABLE_SCUMM = 1
-	DISABLE_SCUMM_7_8 = 1
-	DISABLE_AGOS = 1
-	#DISABLE_SKY = 1#
-	DISABLE_SWORD1 = 1
-	DISABLE_SWORD2 = 1
-	#DISABLE_QUEEN = 1#
-	DISABLE_SAGA = 1
-	DISABLE_KYRA = 1
-	DISABLE_GOB = 1
-	DISABLE_LURE = 1
-	DISABLE_CINE = 1
-	DISABLE_AGI = 1
-	DISABLE_TOUCHE = 1
-	DISABLE_PARALLACTION = 1
-	DISABLE_CRUISE = 1
-	DISABLE_DRASCULA = 1
-	DISABLE_IGOR = 1
+	ENABLE_SKY = STATIC_PLUGIN
+	ENABLE_QUEEN = STATIC_PLUGIN
 	BUILD=scummvm-B
 endif
 
 ifdef DS_BUILD_C
 	DEFINES = -DDS_NON_SCUMM_BUILD -DDS_BUILD_C
 	LOGO = logoc.bmp
-	DISABLE_HE = 1
-	DISABLE_SCUMM = 1
-	DISABLE_SCUMM_7_8 = 1
-	#DISABLE_AGOS = 1
-	DISABLE_SKY = 1
-	DISABLE_SWORD1 = 1
-	DISABLE_SWORD2 = 1
-	DISABLE_QUEEN = 1
-	DISABLE_SAGA = 1
-	DISABLE_KYRA = 1
-	DISABLE_GOB = 1
-	DISABLE_LURE = 1
-	DISABLE_CINE = 1
-	DISABLE_AGI = 1
-	DISABLE_TOUCHE = 1
-	DISABLE_PARALLACTION = 1
-	DISABLE_CRUISE = 1
-	DISABLE_DRASCULA = 1
-	DISABLE_IGOR = 1
+	ENABLE_AGOS = STATIC_PLUGIN
 	BUILD=scummvm-C
 endif
 
 ifdef DS_BUILD_D
 	DEFINES = -DDS_NON_SCUMM_BUILD -DDS_BUILD_D
 	LOGO = logod.bmp
-	DISABLE_HE = 1
-	DISABLE_SCUMM = 1
-	DISABLE_SCUMM_7_8 = 1
-	DISABLE_AGOS = 1
-	DISABLE_SKY = 1
-	DISABLE_SWORD1 = 1
-	DISABLE_SWORD2 = 1
-	DISABLE_QUEEN = 1
-	DISABLE_SAGA = 1
-	DISABLE_KYRA = 1
-	#DISABLE_GOB = 1
-	DISABLE_LURE = 1
-	#DISABLE_CINE = 1
-	#DISABLE_AGI = 1
-	DISABLE_TOUCHE = 1
-	DISABLE_PARALLACTION = 1
-	DISABLE_CRUISE = 1
-	DISABLE_DRASCULA = 1
-	DISABLE_IGOR = 1
+	ENABLE_GOB = STATIC_PLUGIN
+	ENABLE_CINE = STATIC_PLUGIN
+	ENABLE_AGI = STATIC_PLUGIN
 	BUILD=scummvm-D
 endif
 
-
 ifdef DS_BUILD_E
 	DEFINES = -DDS_NON_SCUMM_BUILD -DDS_BUILD_E
 	LOGO = logoe.bmp
-	DISABLE_HE = 1
-	DISABLE_SCUMM = 1
-	DISABLE_SCUMM_7_8 = 1
-	DISABLE_AGOS = 1
-	DISABLE_SKY = 1
-	DISABLE_SWORD1 = 1
-	DISABLE_SWORD2 = 1
-	DISABLE_QUEEN = 1
-	#DISABLE_SAGA = 1
-	DISABLE_KYRA = 1
-	DISABLE_GOB = 1
-	DISABLE_LURE = 1
-	DISABLE_CINE = 1
-	DISABLE_AGI = 1
-	DISABLE_TOUCHE = 1
-	DISABLE_PARALLACTION = 1
-	DISABLE_CRUISE = 1
-	DISABLE_DRASCULA = 1
-	DISABLE_IGOR = 1
+	ENABLE_SAGA = STATIC_PLUGIN
 	BUILD=scummvm-E
 endif
 
-
 ifdef DS_BUILD_F
 	DEFINES = -DDS_NON_SCUMM_BUILD -DDS_BUILD_F
 	LOGO = logof.bmp
-	DISABLE_HE = 1
-	DISABLE_SCUMM = 1
-	DISABLE_SCUMM_7_8 = 1
-	DISABLE_AGOS = 1
-	DISABLE_SKY = 1
-	DISABLE_SWORD1 = 1
-	DISABLE_SWORD2 = 1
-	DISABLE_QUEEN = 1
-	DISABLE_SAGA = 1
-	#DISABLE_KYRA = 1
-	DISABLE_GOB = 1
-	DISABLE_LURE = 1
-	DISABLE_CINE = 1
-	DISABLE_AGI = 1
-	DISABLE_TOUCHE = 1
-	DISABLE_PARALLACTION = 1
-	DISABLE_CRUISE = 1
-	DISABLE_DRASCULA = 1
-	DISABLE_IGOR = 1
+	ENABLE_KYRA = STATIC_PLUGIN
 	BUILD=scummvm-F
-
 endif
 
-
-
 ifdef DS_BUILD_G
 	DEFINES = -DDS_NON_SCUMM_BUILD -DDS_BUILD_G
 	LOGO = logog.bmp
-	DISABLE_HE = 1
-	DISABLE_SCUMM = 1
-	DISABLE_SCUMM_7_8 = 1
-	DISABLE_AGOS = 1
-	DISABLE_SKY = 1
-	DISABLE_SWORD1 = 1
-	DISABLE_SWORD2 = 1
-	DISABLE_QUEEN = 1
-	DISABLE_SAGA = 1
-	DISABLE_KYRA = 1
-	DISABLE_GOB = 1
-	#DISABLE_LURE = 1
-	DISABLE_CINE = 1
-	DISABLE_AGI = 1
-	DISABLE_TOUCHE = 1
-	DISABLE_PARALLACTION = 1
-	DISABLE_CRUISE = 1
-	DISABLE_DRASCULA = 1
-	DISABLE_IGOR = 1
+	ENABLE_LURE = STATIC_PLUGIN
 	BUILD=scummvm-G
-
 endif
 
 
@@ -341,7 +211,7 @@
 HAVE_GCC3 = true
 DISABLE_SCALERS = true
 
-ifdef BUILD_PLUGINS
+ifdef DYNAMIC_MODULES
 DEFINES += -DDYNAMIC_MODULES
 PRE_OBJS_FLAGS = -Wl,--whole-archive
 POST_OBJS_FLAGS = -Wl,--no-whole-archive

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/ds/arm9/source/dsmain.cpp
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/ds/arm9/source/dsmain.cpp	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/ds/arm9/source/dsmain.cpp	2008-05-06 12:08:31 UTC (rev 31896)
@@ -359,7 +359,7 @@
 
 
 void saveGameBackBuffer() {
-#ifdef DISABLE_SCUMM
+#ifndef ENABLE_SCUMM
     if (savedBuffer == NULL) savedBuffer = new u8[gameWidth * gameHeight];
     for (int r = 0; r < gameHeight; r++) {
 
@@ -375,7 +375,7 @@
 }
 
 void restoreGameBackBuffer() {
-#ifdef DISABLE_SCUMM
+#ifndef ENABLE_SCUMM
 	if (savedBuffer) {
 		for (int r = 0; r < gameHeight; r++) {
 

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/ds/arm9/source/wordcompletion.cpp
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/ds/arm9/source/wordcompletion.cpp	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/ds/arm9/source/wordcompletion.cpp	2008-05-06 12:08:31 UTC (rev 31896)
@@ -2,7 +2,7 @@
 #include "engines/agi/agi.h"
 #include "osystem_ds.h"
 
-#ifndef DISABLE_AGI
+#ifdef ENABLE_AGI
 
 namespace DS {
 // Default dictionary is about 64Kb, so 128Kb should be enough for future expansion

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/gp32/Makefile
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/gp32/Makefile	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/gp32/Makefile	2008-05-06 12:08:31 UTC (rev 31896)
@@ -153,26 +153,26 @@
 DISABLE_SCALERS = 1
 DISABLE_HQ_SCALERS = 1
 
-#DISABLE_SCUMM = 1
+ENABLE_SCUMM = STATIC_PLUGIN
 
 # We can play The Dig with GP32 -- without any movies/musics/voices. But who would do that?
-DISABLE_SCUMM_7_8 = 1
-DISABLE_HE = 1
+#ENABLE_SCUMM_7_8 = 1
+#ENABLE_HE = 1
 
-#DISABLE_AGOS = 1
-#DISABLE_SKY = 1
-#DISABLE_QUEEN = 1
-#DISABLE_GOB = 1
-#DISABLE_LURE = 1
-#DISABLE_CINE = 1
-#DISABLE_SAGA = 1
-#DISABLE_KYRA = 1
-#DISABLE_AGI = 1
+ENABLE_AGOS = STATIC_PLUGIN
+ENABLE_SKY = STATIC_PLUGIN
+ENABLE_QUEEN = STATIC_PLUGIN
+ENABLE_GOB = STATIC_PLUGIN
+ENABLE_LURE = STATIC_PLUGIN
+ENABLE_CINE = STATIC_PLUGIN
+ENABLE_SAGA = STATIC_PLUGIN
+ENABLE_KYRA = STATIC_PLUGIN
+ENABLE_AGI = STATIC_PLUGIN
 
 # The engines below are not supported on the GP32 port so there is
 # no point compiling support into the binary.
-DISABLE_SWORD1 = 1
-DISABLE_SWORD2 = 1
+#ENABLE_SWORD1 = STATIC_PLUGIN
+#ENABLE_SWORD2 = STATIC_PLUGIN
 
 #######################################################################
 # Misc stuff - you should normally never have to edit this            #

Modified: scummvm/branches/gsoc2008-tfmx/backends/platform/wince/Makefile
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/platform/wince/Makefile	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/platform/wince/Makefile	2008-05-06 12:08:31 UTC (rev 31896)
@@ -12,28 +12,29 @@
 ########################################################################
 ## Do you want a build using plugins?
 
-#BUILD_PLUGINS = 1
+#DYNAMIC_MODULES = 1
+# TODO: You'll need to change STATIC_PLUGIN to DYNAMIC_PLUGIN below
 
 ########################################################################
-## Disable whichever engines you want here
+## Enable whichever engines you want here
 
-#DISABLE_SCUMM = 1
-#DISABLE_SKY = 1
-#DISABLE_QUEEN = 1
-#DISABLE_GOB = 1
-#DISABLE_LURE = 1
-#DISABLE_CINE = 1
-#DISABLE_SAGA = 1
-#DISABLE_KYRA = 1
-#DISABLE_AGI = 1
-#DISABLE_AGOS = 1
-#DISABLE_SWORD1 = 1
-#DISABLE_SWORD2 = 1
-#DISABLE_TOUCHE = 1
-#DISABLE_PARALLACTION = 1
-DISABLE_CRUISE = 1
-DISABLE_DRASCULA = 1
-DISABLE_IGOR = 1
+ENABLE_SCUMM = STATIC_PLUGIN
+ENABLE_SKY = STATIC_PLUGIN
+ENABLE_QUEEN = STATIC_PLUGIN
+ENABLE_GOB = STATIC_PLUGIN
+ENABLE_LURE = STATIC_PLUGIN
+ENABLE_CINE = STATIC_PLUGIN
+ENABLE_SAGA = STATIC_PLUGIN
+ENABLE_KYRA = STATIC_PLUGIN
+ENABLE_AGI = STATIC_PLUGIN
+ENABLE_AGOS = STATIC_PLUGIN
+ENABLE_SWORD1 = STATIC_PLUGIN
+ENABLE_SWORD2 = STATIC_PLUGIN
+ENABLE_TOUCHE = STATIC_PLUGIN
+ENABLE_PARALLACTION = STATIC_PLUGIN
+#ENABLE_CRUISE = STATIC_PLUGIN
+#ENABLE_DRASCULA = STATIC_PLUGIN
+#ENABLE_IGOR = STATIC_PLUGIN
 
 ########################################################################
 ## Pick which libraries you want to use here
@@ -174,11 +175,11 @@
 OBJS += ../sdl/sdl.o ../sdl/graphics.o ../sdl/events.o
 OBJS += missing/missing.o
 OBJS += ARMscaler.o
-ifndef BUILD_PLUGINS
+ifndef DYNAMIC_MODULES
 OBJS += PocketSCUMM.o
 endif
 
-ifdef BUILD_PLUGINS
+ifdef DYNAMIC_MODULES
 EXECUTABLE		 = scummvm.dll
 PLUGIN_PREFIX		:=
 PLUGIN_SUFFIX		:= .dll
@@ -194,7 +195,7 @@
 ########################################################################
 ## Our top level target, and what we deploy depends on whether we are
 ## building the plugin version or not...
-ifdef BUILD_PLUGINS
+ifdef DYNAMIC_MODULES
 
 all: dist-plugins
 

Modified: scummvm/branches/gsoc2008-tfmx/backends/plugins/dc/dc-provider.cpp
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/plugins/dc/dc-provider.cpp	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/plugins/dc/dc-provider.cpp	2008-05-06 12:08:31 UTC (rev 31896)
@@ -27,12 +27,8 @@
 
 #include "backends/plugins/dc/dc-provider.h"
 #include "backends/plugins/dynamic-plugin.h"
-#include "common/fs.h"
 
 #include "dcloader.h"
-#define PLUGIN_DIRECTORY	"/"
-#define PLUGIN_PREFIX		""
-#define PLUGIN_SUFFIX		".PLG"
 
 
 class DCPlugin : public DynamicPlugin {
@@ -75,6 +71,7 @@
 
 		return ret;
 	}
+
 	void unloadPlugin() {
 		DynamicPlugin::unloadPlugin();
 		if (_dlHandle) {
@@ -86,42 +83,8 @@
 };
 
 
-PluginList DCPluginProvider::getPlugins() {
-	PluginList pl;
-
-
-	// Load dynamic plugins
-	// TODO... this is right now just a nasty hack.
-	// This should search one or multiple directories for all plugins it can
-	// find (to this end, we maybe should use a special prefix/suffix; e.g.
-	// instead of libscumm.so, use scumm.engine or scumm.plugin etc.).
-	//
-	// The list of directories to search could be e.g.:
-	// User specified (via config file), ".", "./plugins", "$(prefix)/lib".
-	//
-	// We also need to add code which ensures what we are looking at is
-	// a) a ScummVM engine and b) matches the version of the executable.
-	// Hence one more symbol should be exported by plugins which returns
-	// the "ABI" version the plugin was built for, and we can compare that
-	// to the ABI version of the executable.
-
-	// Load all plugins.
-	// Scan for all plugins in this directory
-	FilesystemNode dir(PLUGIN_DIRECTORY);
-	FSList files;
-	if (!dir.getChildren(files, FilesystemNode::kListFilesOnly)) {
-		error("Couldn't open plugin directory '%s'", PLUGIN_DIRECTORY);
-	}
-
-	for (FSList::const_iterator i = files.begin(); i != files.end(); ++i) {
-		Common::String name(i->getName());
-		if (name.hasPrefix(PLUGIN_PREFIX) && name.hasSuffix(PLUGIN_SUFFIX)) {
-			pl.push_back(new DCPlugin(i->getPath()));
-		}
-	}
-
-
-	return pl;
+Plugin* SDLPluginProvider::createPlugin(const Common::String &filename) const {
+	return new DCPlugin(filename);
 }
 
 

Modified: scummvm/branches/gsoc2008-tfmx/backends/plugins/dc/dc-provider.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/plugins/dc/dc-provider.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/plugins/dc/dc-provider.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -30,9 +30,16 @@
 
 #if defined(DYNAMIC_MODULES) && defined(__DC__)
 
-class DCPluginProvider : public PluginProvider {
-public:
-	virtual PluginList getPlugins();
+class DCPluginProvider : public FilePluginProvider {
+protected:
+	Plugin* createPlugin(const Common::String &filename) const;
+
+	virtual const char* getPrefix() const { return ""; }
+	virtual const char* getSuffix() const { return ".PLG"; }
+
+	virtual void addCustomDirectories(Common::StringList &dirs) const {
+		dirs.push_back("/");
+	}
 };
 
 #endif // defined(DYNAMIC_MODULES) && defined(__DC__)

Modified: scummvm/branches/gsoc2008-tfmx/backends/plugins/posix/posix-provider.cpp
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/plugins/posix/posix-provider.cpp	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/plugins/posix/posix-provider.cpp	2008-05-06 12:08:31 UTC (rev 31896)
@@ -27,10 +27,8 @@
 
 #include "backends/plugins/posix/posix-provider.h"
 #include "backends/plugins/dynamic-plugin.h"
-#include "common/fs.h"
 
 #include <dlfcn.h>
-#define PLUGIN_DIRECTORY	"plugins/"
 
 
 class POSIXPlugin : public DynamicPlugin {
@@ -68,6 +66,7 @@
 
 		return DynamicPlugin::loadPlugin();
 	}
+
 	void unloadPlugin() {
 		DynamicPlugin::unloadPlugin();
 		if (_dlHandle) {
@@ -79,42 +78,8 @@
 };
 
 
-PluginList POSIXPluginProvider::getPlugins() {
-	PluginList pl;
-
-
-	// Load dynamic plugins
-	// TODO... this is right now just a nasty hack.
-	// This should search one or multiple directories for all plugins it can
-	// find (to this end, we maybe should use a special prefix/suffix; e.g.
-	// instead of libscumm.so, use scumm.engine or scumm.plugin etc.).
-	//
-	// The list of directories to search could be e.g.:
-	// User specified (via config file), ".", "./plugins", "$(prefix)/lib".
-	//
-	// We also need to add code which ensures what we are looking at is
-	// a) a ScummVM engine and b) matches the version of the executable.
-	// Hence one more symbol should be exported by plugins which returns
-	// the "ABI" version the plugin was built for, and we can compare that
-	// to the ABI version of the executable.
-
-	// Load all plugins.
-	// Scan for all plugins in this directory
-	FilesystemNode dir(PLUGIN_DIRECTORY);
-	FSList files;
-	if (!dir.getChildren(files, FilesystemNode::kListFilesOnly)) {
-		error("Couldn't open plugin directory '%s'", PLUGIN_DIRECTORY);
-	}
-
-	for (FSList::const_iterator i = files.begin(); i != files.end(); ++i) {
-		Common::String name(i->getName());
-		if (name.hasPrefix(PLUGIN_PREFIX) && name.hasSuffix(PLUGIN_SUFFIX)) {
-			pl.push_back(new POSIXPlugin(i->getPath()));
-		}
-	}
-
-
-	return pl;
+Plugin* POSIXPluginProvider::createPlugin(const Common::String &filename) const {
+	return new POSIXPlugin(filename);
 }
 
 

Modified: scummvm/branches/gsoc2008-tfmx/backends/plugins/posix/posix-provider.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/plugins/posix/posix-provider.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/plugins/posix/posix-provider.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -30,9 +30,9 @@
 
 #if defined(DYNAMIC_MODULES) && defined(UNIX)
 
-class POSIXPluginProvider : public PluginProvider {
-public:
-	virtual PluginList getPlugins();
+class POSIXPluginProvider : public FilePluginProvider {
+protected:
+	Plugin* createPlugin(const Common::String &filename) const;
 };
 
 #endif // defined(DYNAMIC_MODULES) && defined(UNIX)

Modified: scummvm/branches/gsoc2008-tfmx/backends/plugins/sdl/sdl-provider.cpp
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/plugins/sdl/sdl-provider.cpp	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/plugins/sdl/sdl-provider.cpp	2008-05-06 12:08:31 UTC (rev 31896)
@@ -27,11 +27,9 @@
 
 #include "backends/plugins/sdl/sdl-provider.h"
 #include "backends/plugins/dynamic-plugin.h"
-#include "common/fs.h"
 
 #include "SDL.h"
 #include "SDL_loadso.h"
-#define PLUGIN_DIRECTORY	"plugins/"
 
 
 class SDLPlugin : public DynamicPlugin {
@@ -69,6 +67,7 @@
 
 		return DynamicPlugin::loadPlugin();
 	}
+
 	void unloadPlugin() {
 		DynamicPlugin::unloadPlugin();
 		if (_dlHandle) {
@@ -79,43 +78,9 @@
 };
 
 
-PluginList SDLPluginProvider::getPlugins() {
-	PluginList pl;
-
-
-	// Load dynamic plugins
-	// TODO... this is right now just a nasty hack.
-	// This should search one or multiple directories for all plugins it can
-	// find (to this end, we maybe should use a special prefix/suffix; e.g.
-	// instead of libscumm.so, use scumm.engine or scumm.plugin etc.).
-	//
-	// The list of directories to search could be e.g.:
-	// User specified (via config file), ".", "./plugins", "$(prefix)/lib".
-	//
-	// We also need to add code which ensures what we are looking at is
-	// a) a ScummVM engine and b) matches the version of the executable.
-	// Hence one more symbol should be exported by plugins which returns
-	// the "ABI" version the plugin was built for, and we can compare that
-	// to the ABI version of the executable.
-
-	// Load all plugins.
-	// Scan for all plugins in this directory
-	FilesystemNode dir(PLUGIN_DIRECTORY);
-	FSList files;
-	if (!dir.getChildren(files, FilesystemNode::kListFilesOnly)) {
-		error("Couldn't open plugin directory '%s'", PLUGIN_DIRECTORY);
-	}
-
-	for (FSList::const_iterator i = files.begin(); i != files.end(); ++i) {
-		Common::String name(i->getName());
-		if (name.hasPrefix(PLUGIN_PREFIX) && name.hasSuffix(PLUGIN_SUFFIX)) {
-			pl.push_back(new SDLPlugin(i->getPath()));
-		}
-	}
-
-
-	return pl;
+Plugin* SDLPluginProvider::createPlugin(const Common::String &filename) const {
+	return new SDLPlugin(filename);
 }
 
 
-#endif // defined(DYNAMIC_MODULES) && defined(UNIX)
+#endif // defined(DYNAMIC_MODULES) && defined(SDL_BACKEND)

Modified: scummvm/branches/gsoc2008-tfmx/backends/plugins/sdl/sdl-provider.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/plugins/sdl/sdl-provider.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/plugins/sdl/sdl-provider.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -30,9 +30,9 @@
 
 #if defined(DYNAMIC_MODULES) && defined(SDL_BACKEND)
 
-class SDLPluginProvider : public PluginProvider {
-public:
-	virtual PluginList getPlugins();
+class SDLPluginProvider : public FilePluginProvider {
+protected:
+	Plugin* createPlugin(const Common::String &filename) const;
 };
 
 #endif // defined(DYNAMIC_MODULES) && defined(UNIX)

Modified: scummvm/branches/gsoc2008-tfmx/backends/plugins/win32/win32-provider.cpp
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/plugins/win32/win32-provider.cpp	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/plugins/win32/win32-provider.cpp	2008-05-06 12:08:31 UTC (rev 31896)
@@ -27,15 +27,10 @@
 
 #include "backends/plugins/win32/win32-provider.h"
 #include "backends/plugins/dynamic-plugin.h"
-#include "common/fs.h"
 
 #include <windows.h>
 
-#define PLUGIN_DIRECTORY	""
-#define PLUGIN_PREFIX		""
-#define PLUGIN_SUFFIX		".dll"
 
-
 class Win32Plugin : public DynamicPlugin {
 private:
 	static const TCHAR* toUnicode(const char *x) {
@@ -94,6 +89,7 @@
 
 		return DynamicPlugin::loadPlugin();
 	}
+
 	void unloadPlugin() {
 		DynamicPlugin::unloadPlugin();
 		if (_dlHandle) {
@@ -107,42 +103,8 @@
 };
 
 
-PluginList Win32PluginProvider::getPlugins() {
-	PluginList pl;
-
-
-	// Load dynamic plugins
-	// TODO... this is right now just a nasty hack.
-	// This should search one or multiple directories for all plugins it can
-	// find (to this end, we maybe should use a special prefix/suffix; e.g.
-	// instead of libscumm.so, use scumm.engine or scumm.plugin etc.).
-	//
-	// The list of directories to search could be e.g.:
-	// User specified (via config file), ".", "./plugins", "$(prefix)/lib".
-	//
-	// We also need to add code which ensures what we are looking at is
-	// a) a ScummVM engine and b) matches the version of the executable.
-	// Hence one more symbol should be exported by plugins which returns
-	// the "ABI" version the plugin was built for, and we can compare that
-	// to the ABI version of the executable.
-
-	// Load all plugins.
-	// Scan for all plugins in this directory
-	FilesystemNode dir(PLUGIN_DIRECTORY);
-	FSList files;
-	if (!dir.getChildren(files, FilesystemNode::kListFilesOnly)) {
-		error("Couldn't open plugin directory '%s'", PLUGIN_DIRECTORY);
-	}
-
-	for (FSList::const_iterator i = files.begin(); i != files.end(); ++i) {
-		Common::String name(i->getName());
-		if (name.hasPrefix(PLUGIN_PREFIX) && name.hasSuffix(PLUGIN_SUFFIX)) {
-			pl.push_back(new Win32Plugin(i->getPath()));
-		}
-	}
-
-
-	return pl;
+Plugin* Win32PluginProvider::createPlugin(const Common::String &filename) const {
+	return new Win32Plugin(filename);
 }
 
 

Modified: scummvm/branches/gsoc2008-tfmx/backends/plugins/win32/win32-provider.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/backends/plugins/win32/win32-provider.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/backends/plugins/win32/win32-provider.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -30,9 +30,14 @@
 
 #if defined(DYNAMIC_MODULES) && defined(_WIN32)
 
-class Win32PluginProvider : public PluginProvider {
-public:
-	virtual PluginList getPlugins();
+class Win32PluginProvider : public FilePluginProvider {
+protected:
+	Plugin* createPlugin(const Common::String &filename) const;
+
+	virtual const char* getPrefix() const { return ""; }
+	virtual const char* getSuffix() const { return ".dll"; }
+
+	virtual void addCustomDirectories(Common::StringList &dirs) const {}
 };
 
 #endif // defined(DYNAMIC_MODULES) && defined(_WIN32)

Modified: scummvm/branches/gsoc2008-tfmx/base/commandLine.cpp
===================================================================
--- scummvm/branches/gsoc2008-tfmx/base/commandLine.cpp	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/base/commandLine.cpp	2008-05-06 12:08:31 UTC (rev 31896)
@@ -116,14 +116,14 @@
 	"  --render-mode=MODE       Enable additional render modes (cga, ega, hercGreen,\n"
 	"                           hercAmber, amiga)\n"
 	"\n"
-#if !defined(DISABLE_SKY) || !defined(DISABLE_QUEEN)
+#if defined(ENABLE_SKY) || defined(ENABLE_QUEEN)
 	"  --alt-intro              Use alternative intro for CD versions of Beneath a\n"
 	"                           Steel Sky and Flight of the Amazon Queen\n"
 #endif
 	"  --copy-protection        Enable copy protection in SCUMM games, when\n"
 	"                           ScummVM disables it by default.\n"
 	"  --talkspeed=NUM          Set talk speed for games (default: 60)\n"
-#ifndef DISABLE_SCUMM
+#ifdef ENABLE_SCUMM
 	"  --demo-mode              Start demo mode of Maniac Mansion\n"
 	"  --tempo=NUM              Set music tempo (in percent, 50-200) for SCUMM games\n"
 	"                           (default: 100)\n"
@@ -190,19 +190,19 @@
 	ConfMan.registerDefault("save_slot", -1);
 	ConfMan.registerDefault("autosave_period", 5 * 60);	// By default, trigger autosave every 5 minutes
 
-#if !defined(DISABLE_SCUMM) || !defined(DISABLE_SWORD2)
+#if defined(ENABLE_SCUMM) || defined(ENABLE_SWORD2)
 	ConfMan.registerDefault("object_labels", true);
 #endif
 
 	ConfMan.registerDefault("copy_protection", false);
 	ConfMan.registerDefault("talkspeed", 60);
 
-#ifndef DISABLE_SCUMM
+#ifdef ENABLE_SCUMM
 	ConfMan.registerDefault("demo_mode", false);
 	ConfMan.registerDefault("tempo", 0);
 #endif
 
-#if !defined(DISABLE_SKY) || !defined(DISABLE_QUEEN)
+#if defined(ENABLE_SKY) || defined(ENABLE_QUEEN)
 	ConfMan.registerDefault("alt_intro", false);
 #endif
 
@@ -513,7 +513,7 @@
 			DO_LONG_OPTION("target-md5")
 			END_OPTION
 
-#ifndef DISABLE_SCUMM
+#ifdef ENABLE_SCUMM
 			DO_LONG_OPTION_INT("tempo")
 			END_OPTION
 
@@ -521,7 +521,7 @@
 			END_OPTION
 #endif
 
-#if !defined(DISABLE_SKY) || !defined(DISABLE_QUEEN)
+#if defined(ENABLE_SKY) || defined(ENABLE_QUEEN)
 			DO_LONG_OPTION_BOOL("alt-intro")
 			END_OPTION
 #endif

Modified: scummvm/branches/gsoc2008-tfmx/base/plugins.cpp
===================================================================
--- scummvm/branches/gsoc2008-tfmx/base/plugins.cpp	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/base/plugins.cpp	2008-05-06 12:08:31 UTC (rev 31896)
@@ -63,7 +63,6 @@
 }
 
 
-#ifndef DYNAMIC_MODULES
 class StaticPlugin : public Plugin {
 public:
 	StaticPlugin(PluginObject *pluginobject, PluginType type) {
@@ -100,61 +99,61 @@
 		// "Loader" for the static plugins.
 		// Iterate over all registered (static) plugins and load them.
 
-		#ifndef DISABLE_SCUMM
+		#if PLUGIN_ENABLED_STATIC(SCUMM)
 		LINK_PLUGIN(SCUMM)
 		#endif
-		#ifndef DISABLE_AGI
+		#if PLUGIN_ENABLED_STATIC(AGI)
 		LINK_PLUGIN(AGI)
 		#endif
-		#ifndef DISABLE_AGOS
+		#if PLUGIN_ENABLED_STATIC(AGOS)
 		LINK_PLUGIN(AGOS)
 		#endif
-		#ifndef DISABLE_CINE
+		#if PLUGIN_ENABLED_STATIC(CINE)
 		LINK_PLUGIN(CINE)
 		#endif
-		#ifndef DISABLE_CRUISE
+		#if PLUGIN_ENABLED_STATIC(CRUISE)
 		LINK_PLUGIN(CRUISE)
 		#endif
-		#ifndef DISABLE_DRASCULA
+		#if PLUGIN_ENABLED_STATIC(DRASCULA)
 		LINK_PLUGIN(DRASCULA)
 		#endif
-		#ifndef DISABLE_GOB
+		#if PLUGIN_ENABLED_STATIC(GOB)
 		LINK_PLUGIN(GOB)
 		#endif
-		#ifndef DISABLE_IGOR
+		#if PLUGIN_ENABLED_STATIC(IGOR)
 		LINK_PLUGIN(IGOR)
 		#endif
-		#ifndef DISABLE_KYRA
+		#if PLUGIN_ENABLED_STATIC(KYRA)
 		LINK_PLUGIN(KYRA)
 		#endif
-		#ifndef DISABLE_LURE
+		#if PLUGIN_ENABLED_STATIC(LURE)
 		LINK_PLUGIN(LURE)
 		#endif
-		#ifndef DISABLE_M4
+		#if PLUGIN_ENABLED_STATIC(M4)
 		LINK_PLUGIN(M4)
 		#endif
-		#ifndef DISABLE_MADE
+		#if PLUGIN_ENABLED_STATIC(MADE)
 		LINK_PLUGIN(MADE)
 		#endif		
-		#ifndef DISABLE_PARALLACTION
+		#if PLUGIN_ENABLED_STATIC(PARALLACTION)
 		LINK_PLUGIN(PARALLACTION)
 		#endif
-		#ifndef DISABLE_QUEEN
+		#if PLUGIN_ENABLED_STATIC(QUEEN)
 		LINK_PLUGIN(QUEEN)
 		#endif
-		#ifndef DISABLE_SAGA
+		#if PLUGIN_ENABLED_STATIC(SAGA)
 		LINK_PLUGIN(SAGA)
 		#endif
-		#ifndef DISABLE_SKY
+		#if PLUGIN_ENABLED_STATIC(SKY)
 		LINK_PLUGIN(SKY)
 		#endif
-		#ifndef DISABLE_SWORD1
+		#if PLUGIN_ENABLED_STATIC(SWORD1)
 		LINK_PLUGIN(SWORD1)
 		#endif
-		#ifndef DISABLE_SWORD2
+		#if PLUGIN_ENABLED_STATIC(SWORD2)
 		LINK_PLUGIN(SWORD2)
 		#endif
-		#ifndef DISABLE_TOUCHE
+		#if PLUGIN_ENABLED_STATIC(TOUCHE)
 		LINK_PLUGIN(TOUCHE)
 		#endif
 
@@ -162,19 +161,75 @@
 	}
 };
 
+#ifdef DYNAMIC_MODULES
 
+PluginList FilePluginProvider::getPlugins() {
+	PluginList pl;
+
+	// Prepare the list of directories to search
+	Common::StringList pluginDirs;
+	// TODO: Add the user specified directory (via config file)
+	pluginDirs.push_back(".");
+	pluginDirs.push_back("plugins");
+
+	// Add the provider's custom directories
+	addCustomDirectories(pluginDirs);
+
+	Common::StringList::const_iterator d;
+	for (d = pluginDirs.begin(); d != pluginDirs.end(); d++) {
+		// Load all plugins.
+		// Scan for all plugins in this directory
+		FilesystemNode dir(*d);
+		FSList files;
+		if (!dir.getChildren(files, FilesystemNode::kListFilesOnly)) {
+			debug(1, "Couldn't open plugin directory '%s'", d->c_str());
+			continue;
+		} else {
+			debug(1, "Reading plugins from plugin directory '%s'", d->c_str());
+		}
+
+		for (FSList::const_iterator i = files.begin(); i != files.end(); ++i) {
+			Common::String name(i->getName());
+			if (name.hasPrefix(getPrefix()) && name.hasSuffix(getSuffix())) {
+				pl.push_back(createPlugin(i->getPath()));
+			}
+		}
+	}
+
+	return pl;
+}
+
+const char* FilePluginProvider::getPrefix() const {
+#ifdef PLUGIN_PREFIX
+	return PLUGIN_PREFIX;
+#else
+	return "";
 #endif
+}
 
+const char* FilePluginProvider::getSuffix() const {
+#ifdef PLUGIN_SUFFIX
+	return PLUGIN_SUFFIX;
+#else
+	return "";
+#endif
+}
+
+void FilePluginProvider::addCustomDirectories(Common::StringList &dirs) const {
+#ifdef PLUGIN_DIRECTORY
+	dirs.push_back(PLUGIN_DIRECTORY);
+#endif
+}
+
+#endif // DYNAMIC_MODULES
+
 #pragma mark -
 
 DECLARE_SINGLETON(PluginManager);
 
 PluginManager::PluginManager() {
-#ifndef DYNAMIC_MODULES
-	// Add the static plugin provider if we do not build with dynamic
-	// plugins.
+	// Always add the static plugin provider.
 	addPluginProvider(new StaticPluginProvider());
-#endif
 }
 
 PluginManager::~PluginManager() {

Modified: scummvm/branches/gsoc2008-tfmx/base/plugins.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/base/plugins.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/base/plugins.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -100,6 +100,15 @@
 };
 
 
+#define STATIC_PLUGIN 1
+#define DYNAMIC_PLUGIN 2
+
+#define PLUGIN_ENABLED_STATIC(ID) \
+	(defined(ENABLE_##ID) && !PLUGIN_ENABLED_DYNAMIC(ID))
+
+#define PLUGIN_ENABLED_DYNAMIC(ID) \
+	(defined(ENABLE_##ID) && (ENABLE_##ID == DYNAMIC_PLUGIN) && defined(DYNAMIC_MODULES))
+
 /**
  * REGISTER_PLUGIN is a convenience macro meant to ease writing
  * the plugin interface for our modules. In particular, using it
@@ -109,15 +118,16 @@
  * @todo	add some means to query the plugin API version etc.
  */
 
-#ifndef DYNAMIC_MODULES
-#define REGISTER_PLUGIN(ID,TYPE,PLUGINCLASS) \
+#define REGISTER_PLUGIN_STATIC(ID,TYPE,PLUGINCLASS) \
 	PluginType g_##ID##_type = TYPE; \
 	PluginObject *g_##ID##_getObject() { \
 		return new PLUGINCLASS(); \
 	} \
 	void dummyFuncToAllowTrailingSemicolon()
-#else
-#define REGISTER_PLUGIN(ID,TYPE,PLUGINCLASS) \
+
+#ifdef DYNAMIC_MODULES
+
+#define REGISTER_PLUGIN_DYNAMIC(ID,TYPE,PLUGINCLASS) \
 	extern "C" { \
 		PLUGIN_EXPORT int32 PLUGIN_getVersion() { return PLUGIN_VERSION; } \
 		PLUGIN_EXPORT int32 PLUGIN_getType() { return TYPE; } \
@@ -127,9 +137,10 @@
 		} \
 	} \
 	void dummyFuncToAllowTrailingSemicolon()
-#endif
 
+#endif // DYNAMIC_MODULES
 
+
 /** List of plugins. */
 typedef Common::Array<Plugin *> PluginList;
 
@@ -147,6 +158,19 @@
 	virtual PluginList getPlugins() = 0;
 };
 
+class FilePluginProvider : public PluginProvider {
+public:
+	virtual PluginList getPlugins();
+
+protected:
+	virtual Plugin* createPlugin(const Common::String &filename) const = 0;
+
+	virtual const char* getPrefix() const;
+	virtual const char* getSuffix() const;
+
+	virtual void addCustomDirectories(Common::StringList &dirs) const;
+};
+
 /**
  * Instances of this class manage all plugins, including loading them,
  * making wrapper objects of class Plugin available, and unloading them.

Modified: scummvm/branches/gsoc2008-tfmx/common/array.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/common/array.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/common/array.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -30,7 +30,7 @@
 
 namespace Common {
 
-template <class T>
+template<class T>
 class Array {
 protected:
 	uint _capacity;
@@ -45,7 +45,7 @@
 
 public:
 	Array() : _capacity(0), _size(0), _data(0) {}
-	Array(const Array<T>& array) : _capacity(0), _size(0), _data(0) {
+	Array(const Array<T> &array) : _capacity(0), _size(0), _data(0) {
 		_size = array._size;
 		_capacity = _size + 32;
 		_data = new T[_capacity];
@@ -53,21 +53,21 @@
 	}
 
 	~Array() {
-		delete [] _data;
+		delete[] _data;
 	}
 
-	void push_back(const T& element) {
+	void push_back(const T &element) {
 		ensureCapacity(_size + 1);
 		_data[_size++] = element;
 	}
 
-	void push_back(const Array<T>& array) {
+	void push_back(const Array<T> &array) {
 		ensureCapacity(_size + array._size);
 		copy(array._data, array._data + array._size, _data + _size);
 		_size += array._size;
 	}
 
-	void insert_at(int idx, const T& element) {
+	void insert_at(int idx, const T &element) {
 		assert(idx >= 0 && (uint)idx <= _size);
 		ensureCapacity(_size + 1);
 		copy_backward(_data + idx, _data + _size, _data + _size + 1);
@@ -85,17 +85,17 @@
 
 	// TODO: insert, remove, ...
 
-	T& operator [](int idx) {
+	T& operator[](int idx) {
 		assert(idx >= 0 && (uint)idx < _size);
 		return _data[idx];
 	}
 
-	const T& operator [](int idx) const {
+	const T& operator[](int idx) const {
 		assert(idx >= 0 && (uint)idx < _size);
 		return _data[idx];
 	}
 
-	Array<T>& operator  =(const Array<T>& array) {
+	Array<T>& operator=(const Array<T> &array) {
 		if (this == &array)
 			return *this;
 

Modified: scummvm/branches/gsoc2008-tfmx/common/func.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/common/func.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/common/func.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -279,13 +279,13 @@
  * Base template for hash functor objects, used by HashMap.
  * This needs to be specialized for every type that you need to hash.
  */
-template <typename T> struct Hash;
+template<typename T> struct Hash;
 
 
 #define GENERATE_TRIVIAL_HASH_FUNCTOR(T) \
-    template <> struct Hash<T> : public UnaryFunction<T, uint> { \
-      uint operator()(T val) const { return (uint)val; } \
-    }
+	template<> struct Hash<T> : public UnaryFunction<T, uint> { \
+		uint operator()(T val) const { return (uint)val; } \
+	}
 
 GENERATE_TRIVIAL_HASH_FUNCTOR(bool);
 GENERATE_TRIVIAL_HASH_FUNCTOR(char);

Modified: scummvm/branches/gsoc2008-tfmx/common/hashmap.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/common/hashmap.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/common/hashmap.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -94,7 +94,7 @@
  * triggered instead. Hence if you are not sure whether a key is contained in
  * the map, use contains() first to check for its presence.
  */
-template <class Key, class Val, class HashFunc = Hash<Key>, class EqualFunc = EqualTo<Key> >
+template<class Key, class Val, class HashFunc = Hash<Key>, class EqualFunc = EqualTo<Key> >
 class HashMap {
 private:
 #if defined (PALMOS_MODE)
@@ -113,17 +113,17 @@
 #ifdef USE_HASHMAP_MEMORY_POOL
 	MemoryPool _nodePool;
 
-	Node *allocNode(const Key& key) {
+	Node *allocNode(const Key &key) {
 		void* mem = _nodePool.malloc();
 		return new (mem) Node(key);
 	} 
 
-	void freeNode(Node* node) {
+	void freeNode(Node *node) {
 		node->~Node();
 		_nodePool.free(node);
 	}
 #else
-	Node* allocNode(const Key& key) {
+	Node* allocNode(const Key &key) {
 		return new Node(key);
 	} 
 
@@ -145,7 +145,7 @@
 	mutable int _collisions, _lookups;
 #endif
 
-	void assign(const HM_t& map);
+	void assign(const HM_t &map);
 	int lookup(const Key &key) const;
 	int lookupAndCreateIfMissing(const Key &key);
 	void expand_array(uint newsize);
@@ -181,13 +181,13 @@
 		template<class T>
 		IteratorImpl(const IteratorImpl<T> &c) : _idx(c._idx), _hashmap(c._hashmap) {}
 
-		NodeType &operator *() const { return *deref(); }
+		NodeType &operator*() const { return *deref(); }
 		NodeType *operator->() const { return deref(); }
 
-		bool operator ==(const IteratorImpl &iter) const { return _idx == iter._idx && _hashmap == iter._hashmap; }
-		bool operator !=(const IteratorImpl &iter) const { return !(*this == iter); }
+		bool operator==(const IteratorImpl &iter) const { return _idx == iter._idx && _hashmap == iter._hashmap; }
+		bool operator!=(const IteratorImpl &iter) const { return !(*this == iter); }
 
-		IteratorImpl &operator ++() {
+		IteratorImpl &operator++() {
 			assert(_hashmap);
 			do {
 				_idx++;
@@ -198,7 +198,7 @@
 			return *this;
 		}
 
-		IteratorImpl operator ++(int) {
+		IteratorImpl operator++(int) {
 			IteratorImpl old = *this;
 			operator ++();
 			return old;
@@ -210,10 +210,10 @@
 	typedef IteratorImpl<const Node> const_iterator;
 
 	HashMap();
-	HashMap(const HM_t& map);
+	HashMap(const HM_t &map);
 	~HashMap();
 
-	HM_t &operator =(const HM_t &map) {
+	HM_t &operator=(const HM_t &map) {
 		if (this == &map)
 			return *this;
 
@@ -227,8 +227,8 @@
 
 	bool contains(const Key &key) const;
 
-	Val &operator [](const Key &key);
-	const Val &operator [](const Key &key) const;
+	Val &operator[](const Key &key);
+	const Val &operator[](const Key &key) const;
 
 	Val &getVal(const Key &key);
 	const Val &getVal(const Key &key) const;
@@ -291,7 +291,7 @@
 /**
  * Base constructor, creates an empty hashmap.
  */
-template <class Key, class Val, class HashFunc, class EqualFunc>
+template<class Key, class Val, class HashFunc, class EqualFunc>
 HashMap<Key, Val, HashFunc, EqualFunc>::HashMap() :
 #ifdef USE_HASHMAP_MEMORY_POOL
 	_nodePool(sizeof(Node)),
@@ -315,8 +315,8 @@
  * We must provide a custom copy constructor as we use pointers
  * to heap buffers for the internal storage.
  */
-template <class Key, class Val, class HashFunc, class EqualFunc>
-HashMap<Key, Val, HashFunc, EqualFunc>::HashMap(const HM_t& map) : 
+template<class Key, class Val, class HashFunc, class EqualFunc>
+HashMap<Key, Val, HashFunc, EqualFunc>::HashMap(const HM_t &map) : 
 #ifdef USE_HASHMAP_MEMORY_POOL
 	_nodePool(sizeof(Node)),
 #endif
@@ -327,7 +327,7 @@
 /**
  * Destructor, frees all used memory.
  */
-template <class Key, class Val, class HashFunc, class EqualFunc>
+template<class Key, class Val, class HashFunc, class EqualFunc>
 HashMap<Key, Val, HashFunc, EqualFunc>::~HashMap() {
 	for (uint ctr = 0; ctr < _arrsize; ++ctr)
 		if (_arr[ctr] != NULL)
@@ -343,8 +343,8 @@
  * @note We do *not* deallocate the previous storage here -- the caller is
  *       responsible for doing that!
  */
-template <class Key, class Val, class HashFunc, class EqualFunc>
-void HashMap<Key, Val, HashFunc, EqualFunc>::assign(const HM_t& map) {
+template<class Key, class Val, class HashFunc, class EqualFunc>
+void HashMap<Key, Val, HashFunc, EqualFunc>::assign(const HM_t &map) {
 	_arrsize = map._arrsize;
 	_arr = new Node *[_arrsize];
 	assert(_arr != NULL);
@@ -364,7 +364,7 @@
 }
 
 
-template <class Key, class Val, class HashFunc, class EqualFunc>
+template<class Key, class Val, class HashFunc, class EqualFunc>
 void HashMap<Key, Val, HashFunc, EqualFunc>::clear(bool shrinkArray) {
 	for (uint ctr = 0; ctr < _arrsize; ++ctr) {
 		if (_arr[ctr] != NULL) {
@@ -385,7 +385,7 @@
 	_nele = 0;
 }
 
-template <class Key, class Val, class HashFunc, class EqualFunc>
+template<class Key, class Val, class HashFunc, class EqualFunc>
 void HashMap<Key, Val, HashFunc, EqualFunc>::expand_array(uint newsize) {
 	assert(newsize > _arrsize);
 	uint ctr, dex;
@@ -428,7 +428,7 @@
 	return;
 }
 
-template <class Key, class Val, class HashFunc, class EqualFunc>
+template<class Key, class Val, class HashFunc, class EqualFunc>
 int HashMap<Key, Val, HashFunc, EqualFunc>::lookup(const Key &key) const {
 	uint ctr = _hash(key) % _arrsize;
 
@@ -450,7 +450,7 @@
 	return ctr;
 }
 
-template <class Key, class Val, class HashFunc, class EqualFunc>
+template<class Key, class Val, class HashFunc, class EqualFunc>
 int HashMap<Key, Val, HashFunc, EqualFunc>::lookupAndCreateIfMissing(const Key &key) {
 	uint ctr = lookup(key);
 
@@ -469,30 +469,30 @@
 }
 
 
-template <class Key, class Val, class HashFunc, class EqualFunc>
+template<class Key, class Val, class HashFunc, class EqualFunc>
 bool HashMap<Key, Val, HashFunc, EqualFunc>::contains(const Key &key) const {
 	uint ctr = lookup(key);
 	return (_arr[ctr] != NULL);
 }
 
-template <class Key, class Val, class HashFunc, class EqualFunc>
-Val &HashMap<Key, Val, HashFunc, EqualFunc>::operator [](const Key &key) {
+template<class Key, class Val, class HashFunc, class EqualFunc>
+Val &HashMap<Key, Val, HashFunc, EqualFunc>::operator[](const Key &key) {
 	return getVal(key);
 }
 
-template <class Key, class Val, class HashFunc, class EqualFunc>
-const Val &HashMap<Key, Val, HashFunc, EqualFunc>::operator [](const Key &key) const {
+template<class Key, class Val, class HashFunc, class EqualFunc>
+const Val &HashMap<Key, Val, HashFunc, EqualFunc>::operator[](const Key &key) const {
 	return getVal(key);
 }
 
-template <class Key, class Val, class HashFunc, class EqualFunc>
+template<class Key, class Val, class HashFunc, class EqualFunc>
 Val &HashMap<Key, Val, HashFunc, EqualFunc>::getVal(const Key &key) {
 	uint ctr = lookupAndCreateIfMissing(key);
 	assert(_arr[ctr] != NULL);
 	return _arr[ctr]->_value;
 }
 
-template <class Key, class Val, class HashFunc, class EqualFunc>
+template<class Key, class Val, class HashFunc, class EqualFunc>
 const Val &HashMap<Key, Val, HashFunc, EqualFunc>::getVal(const Key &key) const {
 	uint ctr = lookup(key);
 	if (_arr[ctr] != NULL)
@@ -501,14 +501,14 @@
 		return _defaultVal;
 }
 
-template <class Key, class Val, class HashFunc, class EqualFunc>
+template<class Key, class Val, class HashFunc, class EqualFunc>
 void HashMap<Key, Val, HashFunc, EqualFunc>::setVal(const Key &key, const Val &val) {
 	uint ctr = lookupAndCreateIfMissing(key);
 	assert(_arr[ctr] != NULL);
 	_arr[ctr]->_value = val;
 }
 
-template <class Key, class Val, class HashFunc, class EqualFunc>
+template<class Key, class Val, class HashFunc, class EqualFunc>
 void HashMap<Key, Val, HashFunc, EqualFunc>::erase(const Key &key) {
 	// This is based on code in the Wikipedia article on Hash tables.
 	uint i = lookup(key);

Modified: scummvm/branches/gsoc2008-tfmx/common/list.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/common/list.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/common/list.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -33,7 +33,7 @@
  * Simple double linked list, modeled after the list template of the standard
  * C++ library.
  */
-template <class t_T>
+template<class t_T>
 class List {
 protected:
 #if defined (_WIN32_WCE) || defined (_MSC_VER)
@@ -52,7 +52,7 @@
 		Node(const t_T2 &x) : _data(x) {}
 	};
 
-	template <class t_T2>
+	template<class t_T2>
 	class Iterator {
 		template<class T> friend class Iterator;
 		friend class List<t_T>;
@@ -70,7 +70,7 @@
 		Iterator(const Iterator<T> &c) : _node(c._node) {}
 
 		template<class T>
-		Iterator<t_T2> &operator =(const Iterator<T> &c) {
+		Iterator<t_T2> &operator=(const Iterator<T> &c) {
 			_node = c._node;
 			return *this;
 		}
@@ -104,7 +104,7 @@
 #if (__GNUC__ == 2) && (__GNUC_MINOR__ >= 95)
 			return static_cast<List<t_T>::Node<t_T2> *>(_node)->_data;
 #else
-			return static_cast<Node<t_T2>*>(_node)->_data;
+			return static_cast<Node<t_T2> *>(_node)->_data;
 #endif
 		}
 		t_T2 *operator->() const {
@@ -135,7 +135,7 @@
 		_anchor._prev = &_anchor;
 		_anchor._next = &_anchor;
 	}
-	List(const List<t_T>& list) {
+	List(const List<t_T> &list) {
 		_anchor._prev = &_anchor;
 		_anchor._next = &_anchor;
 
@@ -146,15 +146,15 @@
 		clear();
 	}
 
-	void push_front(const t_T& element) {
+	void push_front(const t_T &element) {
 		insert(begin(), element);
 	}
 
-	void push_back(const t_T& element) {
+	void push_back(const t_T &element) {
 		insert(end(), element);
 	}
 
-	void insert(iterator pos, const t_T& element) {
+	void insert(iterator pos, const t_T &element) {
 		NodeBase *newNode = new Node<t_T>(element);
 
 		newNode->_next = pos._node;
@@ -163,7 +163,7 @@
 		newNode->_next->_prev = newNode;
 	}
 
-    template <typename iterator2>
+	template<typename iterator2>
 	void insert(iterator pos, iterator2 first, iterator2 last) {
 		for (; first != last; ++first)
 			insert(pos, *first);
@@ -210,7 +210,7 @@
 	}
 
 
-	List<t_T>& operator  =(const List<t_T>& list) {
+	List<t_T> &operator=(const List<t_T> &list) {
 		if (this != &list) {
 			iterator i;
 			const_iterator j;

Modified: scummvm/branches/gsoc2008-tfmx/common/noncopyable.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/common/noncopyable.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/common/noncopyable.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -38,7 +38,7 @@
 private:
 	// Prevent copying instances by accident
 	NonCopyable(const NonCopyable&);
-	NonCopyable& operator= (const NonCopyable&);
+	NonCopyable& operator=(const NonCopyable&);
 };
 
 } // End of namespace Common

Modified: scummvm/branches/gsoc2008-tfmx/common/singleton.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/common/singleton.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/common/singleton.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -33,13 +33,13 @@
 /**
  * Generic template base class for implementing the singleton design pattern.
  */
-template <class T>
+template<class T>
 class Singleton : NonCopyable {
 private:
-	Singleton<T>(const Singleton<T>&);
-	Singleton<T>& operator= (const Singleton<T>&);
+	Singleton<T>(const Singleton<T> &);
+	Singleton<T> &operator=(const Singleton<T> &);
 
-	static T* _singleton;
+	static T *_singleton;
 
 	/**
 	 * The default object factory used by the template class Singleton.
@@ -53,7 +53,7 @@
 //FIXME evc4 and msvc7 doesn't like it as private member
 public:
 #endif
-	static T* makeInstance() {
+	static T *makeInstance() {
 		return new T();
 	}
 
@@ -91,7 +91,7 @@
 	typedef T	SingletonBaseType;
 };
 
-#define DECLARE_SINGLETON(T) template<> T* Common::Singleton<T>::_singleton=0
+#define DECLARE_SINGLETON(T) template<> T *Common::Singleton<T>::_singleton = 0
 
 }	// End of namespace Common
 

Modified: scummvm/branches/gsoc2008-tfmx/common/stack.h
===================================================================
--- scummvm/branches/gsoc2008-tfmx/common/stack.h	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/common/stack.h	2008-05-06 12:08:31 UTC (rev 31896)
@@ -33,7 +33,7 @@
 /**
  * Extremly simple fixed size stack class.
  */
-template <class T, int MAX_SIZE = 10>
+template<class T, int MAX_SIZE = 10>
 class FixedStack {
 protected:
 	T	_stack[MAX_SIZE];
@@ -47,15 +47,15 @@
 	void clear() {
 		_size = 0;
 	}
-	void push(const T& x) {
+	void push(const T &x) {
 		assert(_size < MAX_SIZE);
 		_stack[_size++] = x;
 	}
-	const T& top() const {
+	const T &top() const {
 		assert(_size > 0);
 		return _stack[_size - 1];
 	}
-	T& top() {
+	T &top() {
 		assert(_size > 0);
 		return _stack[_size - 1];
 	}
@@ -67,11 +67,11 @@
 	int size() const {
 		return _size;
 	}
-	T& operator [](int i) {
+	T &operator[](int i) {
 		assert(0 <= i && i < MAX_SIZE);
 		return _stack[i];
 	}
-	const T& operator [](int i) const {
+	const T &operator[](int i) const {
 		assert(0 <= i && i < MAX_SIZE);
 		return _stack[i];
 	}
@@ -81,7 +81,7 @@
 /**
  * Variable size stack class, implemented using our Array class.
  */
-template <class T>
+template<class T>
 class Stack {
 protected:
 	Array<T>	_stack;
@@ -95,7 +95,7 @@
 	void clear() {
 		_stack.clear();
 	}
-	void push(const T& x) {
+	void push(const T &x) {
 		_stack.push_back(x);
 	}
 	T top() const {
@@ -110,7 +110,7 @@
 	int size() const {
 		return _stack.size();
 	}
-	T operator [](int i) {
+	T operator[](int i) {
 		return _stack[i];
 	}
 };

Modified: scummvm/branches/gsoc2008-tfmx/configure
===================================================================
--- scummvm/branches/gsoc2008-tfmx/configure	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/configure	2008-05-06 12:08:31 UTC (rev 31896)
@@ -87,7 +87,7 @@
 add_engine agos "AGOS" yes
 add_engine cine "Cinematique evo 1" yes
 add_engine cruise "Cinematique evo 2" no
-add_engine drascula "Drascula: The Vampire Strikes Back" no
+add_engine drascula "Drascula: The Vampire Strikes Back" yes
 add_engine gob "Gobli*ns" yes
 add_engine igor "Igor: Objective Uikokahonia" no
 add_engine kyra "Legend of Kyrandia" yes
@@ -105,7 +105,8 @@
 _endian=unknown
 _need_memalign=no
 _have_x86=no
-_build_plugins=no
+_dynamic_modules=no
+_plugins_default=static
 _nasm=auto
 
 # more defaults
@@ -363,21 +364,33 @@
 
 # Enable the given engine
 engine_enable() {
-	engine=`echo $1 | sed 's/-/_/g'`
-	if test "`get_engine_build ${engine}`" = "no" ; then
-		eval _engine_${engine}_build=yes
+	# Get the parameter
+	if ( echo $1 | grep '=' ) 2> /dev/null > /dev/null ; then
+		eng=`echo $1 | cut -d '=' -f 1`
+		opt=`echo $1 | cut -d '=' -f 2`
 	else
-		option_error --enable-$1
+		eng=$1
+		opt=yes
 	fi
+	engine=`echo $eng | sed 's/-/_/g'`
+	if test "$opt" = "static" -o "$opt" = "dynamic" -o "$opt" = "yes" ; then
+		if test "`get_engine_build ${engine}`" != "$opt" ; then
+			eval _engine_${engine}_build=$opt
+		else
+			option_error
+		fi
+	else
+		option_error
+	fi
 }
 
 # Disable the given engine
 engine_disable() {
 	engine=`echo $1 | sed 's/-/_/g'`
-	if test "`get_engine_build $engine`" = "yes" ; then
+	if test "`get_engine_build $engine`" != "no" ; then
 		eval _engine_${engine}_build=no
 	else
-		option_error --disable-$1
+		option_error
 	fi
 }
 
@@ -420,27 +433,35 @@
 
 # Prepare the strings about the engines to build
 prepare_engine_build_strings() {
-	string_yes=`get_engine_build_string $1 yes`
-	if test -n "$string_yes" ; then
-		_engines_built="${_engines_built}#$string_yes@"
+	string=`get_engine_build_string $1 static`
+	if test -n "$string" ; then
+		_engines_built_static="${_engines_built_static}#$string@"
 	fi
 
-	string_no=`get_engine_build_string $1 no`
-	if test -n "$string_no" ; then
-		_engines_skipped="${_engines_skipped}#$string_no@"
+	string=`get_engine_build_string $1 dynamic`
+	if test -n "$string" ; then
+		_engines_built_dynamic="${_engines_built_dynamic}#$string@"
 	fi
+
+	string=`get_engine_build_string $1 no`
+	if test -n "$string" ; then
+		_engines_skipped="${_engines_skipped}#$string@"
+	fi
 }
 
 # Get the string about building an engine
 get_engine_build_string() {
 	engine_string=""
-	if test `get_engine_build $1` = no ; then
+	engine_build=`get_engine_build $1`
+	if test $engine_build = no ; then
+		# The engine is disabled
 		if test $2 = no ; then
 			engine_string=`get_engine_name $1`
 		else
 			engine_string=""
 		fi
 	else
+		# The engine is enabled, get the custom string
 		build_string_func=get_${1}_build_string
 		if ( type $build_string_func | grep function ) 2> /dev/null > /dev/null ; then
 			engine_string=`$build_string_func $1 $2`
@@ -448,12 +469,16 @@
 			engine_string=`get_subengines_build_string $1 $2`
 		fi
 
-		if test $2 = yes ; then
-			engine_string="`get_engine_name $1` $engine_string"
-		else
+		if test $2 = no ; then
 			if test -n "$engine_string" ; then
 				engine_string="`get_engine_name $1` $engine_string"
 			fi
+		else
+			if test $2 = $engine_build ; then
+				engine_string="`get_engine_name $1` $engine_string"
+			else
+				engine_string=""
+			fi
 		fi
 	fi
 
@@ -471,7 +496,7 @@
 			all=no
 		fi
 	done
-	if test $2 = yes ; then
+	if test $2 != no ; then
 		if test -n "$subengine_string" ; then
 			if test $all = yes ; then
 				subengine_string="[all games]"
@@ -484,7 +509,7 @@
 
 # Engine specific build strings
 get_sword1_build_string() {
-	if test $2 = yes ; then
+	if test $2 != no ; then
 		if test "$_mpeg2" = yes ; then
 			echo "(w/ mpeg2 cutscenes)"
 		else
@@ -498,7 +523,7 @@
 }
 
 get_scumm_build_string() {
-	if test $2 = yes ; then
+	if test $2 != no ; then
 		base="[v0-v6 games]"
 	fi
 	get_subengines_build_string $1 $2 "$base"
@@ -539,8 +564,9 @@
 Installation directories:
   --prefix=DIR           use this prefix for installing ScummVM [/usr/local]
   --bindir=DIR           directory to install the scummvm binary in [PREFIX/bin]
-  --mandir=DIR           directory to install the manpage in [PREFIX/man]
+  --mandir=DIR           directory to install the manpage in [PREFIX/share/man]
   --datadir=DIR          directory to install the data files in [PREFIX/share]
+  --libdir=DIR           directory to install the plugins in [PREFIX/lib]
 
 Special configuration feature:
   --host=HOST            cross-compile to target HOST (arm-linux, ...)
@@ -550,8 +576,8 @@
   --disable-debug          disable building with debugging symbols
   --enable-Werror          treat warnings as errors
 $engines_help
-  --enable-plugins         build engines as loadable modules instead of
-                           static linking them
+  --enable-plugins         enable the support for dynamic plugins
+  --default-dynamic        make plugins dynamic by default
   --disable-mt32emu        don't enable the integrated MT-32 emulator
   --disable-hq-scalers     exclude HQ2x and HQ3x scalers
   --disable-scalers        exclude scalers
@@ -628,7 +654,8 @@
 	--disable-nasm)           _nasm=no        ;;
 	--disable-mpeg2)          _mpeg2=no       ;;
 	--disable-fluidsynth)     _fluidsynth=no  ;;
-	--enable-plugins)         _build_plugins=yes ;;
+	--enable-plugins)         _dynamic_modules=yes ;;
+	--default-dynamic)        _plugins_default=dynamic ;;
 	--enable-mt32emu)         _mt32emu=yes    ;;
 	--disable-mt32emu)        _mt32emu=no     ;;
 	--with-fluidsynth-prefix=*)
@@ -714,6 +741,9 @@
 	--datadir=*)
 		_datadir=`echo $ac_option | cut -d '=' -f 2`
 		;;
+	--libdir=*)
+		_libdir=`echo $ac_option | cut -d '=' -f 2`
+		;;
 	--enable-*)
 		engine_enable `echo $ac_option | cut -d '-' -f 4-`
 		;;
@@ -721,7 +751,7 @@
 		engine_disable `echo $ac_option | cut -d '-' -f 4-`
 		;;
 	*)
-		option_error $ac_option
+		option_error
 		;;
 	esac;
 done;
@@ -893,12 +923,6 @@
 	add_line_to_config_mk 'HAVE_GCC3 = 1'
 fi;
 
-#
-# Engine selection
-#
-for engine in $_engines; do
-	add_to_config_mk_if_no `get_engine_build $engine` "DISABLE_`echo $engine | tr [a-z] [A-Z]` = 1"
-done
 add_to_config_mk_if_no $_build_hq_scalers   'DISABLE_HQ_SCALERS = 1'
 add_to_config_mk_if_no $_build_scalers      'DISABLE_SCALERS = 1'
 
@@ -1193,11 +1217,11 @@
 # Check whether plugin support is requested and possible
 #
 echo_n "Checking whether building plugins was requested... "
-echo "$_build_plugins"
+echo "$_dynamic_modules"
 _mak_plugins=
 _def_plugin="/* -> plugins disabled */"
 
-if test "$_build_plugins" = yes ; then
+if test "$_dynamic_modules" = yes ; then
 	echo_n "Checking whether building plugins is supported... "
 	case $_host_os in
 	linux*)
@@ -1206,7 +1230,7 @@
 #define PLUGIN_SUFFIX	".so"
 '
 _mak_plugins='
-BUILD_PLUGINS := 1
+DYNAMIC_MODULES := 1
 PLUGIN_PREFIX := lib
 PLUGIN_SUFFIX := .so
 PLUGIN_EXTRA_DEPS =
@@ -1224,7 +1248,7 @@
 #define PLUGIN_SUFFIX	".so"
 '
 _mak_plugins='
-BUILD_PLUGINS := 1
+DYNAMIC_MODULES := 1
 PLUGIN_PREFIX := lib
 PLUGIN_SUFFIX := .so
 PLUGIN_EXTRA_DEPS =
@@ -1241,7 +1265,7 @@
 #define PLUGIN_SUFFIX	".plugin"
 '
 _mak_plugins='
-BUILD_PLUGINS := 1
+DYNAMIC_MODULES := 1
 PLUGIN_PREFIX :=
 PLUGIN_SUFFIX := .plugin
 PLUGIN_EXTRA_DEPS = $(EXECUTABLE)
@@ -1258,7 +1282,7 @@
 #define PLUGIN_SUFFIX	".dll"
 '
 _mak_plugins='
-BUILD_PLUGINS		:= 1
+DYNAMIC_MODULES		:= 1
 PLUGIN_PREFIX		:=
 PLUGIN_SUFFIX		:= .dll
 PLUGIN_EXTRA_DEPS	= $(EXECUTABLE)
@@ -1269,12 +1293,12 @@
 '
 		;;
 	*)
-		_build_plugins=no
+		_dynamic_modules=no
 		_mak_plugins=
 		_def_plugin=
 		;;
 	esac
-	echo "$_build_plugins"
+	echo "$_dynamic_modules"
 fi
 
 
@@ -1521,31 +1545,84 @@
 test -z "$_bindir" && _bindir="$_prefix/bin"
 test -z "$_mandir" && _mandir="$_prefix/share/man"
 test -z "$_datadir" && _datadir="$_prefix/share"
+test -z "$_libdir" && _libdir="$_prefix/lib"
 
 DEFINES="$DEFINES -DDATA_PATH=\\\"$_datadir/scummvm\\\""
+DEFINES="$DEFINES -DPLUGIN_DIRECTORY=\\\"$_libdir/scummvm\\\""
 
 
 #
-# Show which engines ("frontends") are to be built
+# Engine selection
 #
-
-_engines_built=""
+_engines_built_static=""
+_engines_built_dynamic=""
 _engines_skipped=""
 
 for engine in $_engines; do
 	if test "`get_engine_sub $engine`" = "no" ; then
+		# It's a main engine
+		if test `get_engine_build $engine` = no ; then
+			isbuilt=no
+		else
+			# If dynamic plugins aren't supported, mark
+			# all the engines as static
+			if test $_dynamic_modules = no ; then
+				eval _engine_${engine}_build=static
+			else
+				# If it wasn't explicitly marked as static or
+				# dynamic, use the configured default
+				if test `get_engine_build $engine` = yes ; then
+					eval _engine_${engine}_build=${_plugins_default}
+				fi
+			fi
+
+			# Prepare the defines
+			if test `get_engine_build $engine` = dynamic ; then
+				isbuilt=DYNAMIC_PLUGIN
+			else
+				eval _engine_${engine}_build=static
+				isbuilt=STATIC_PLUGIN
+			fi
+		fi
+
+		# Prepare the information to be shown
 		prepare_engine_build_strings $engine
+	else
+		# It's a subengine, just say yes or no
+		if test "`get_engine_build $engine`" = "no" ; then
+			isbuilt=no
+		else
+			isbuilt=1
+		fi
 	fi
+
+	# Save the settings
+	defname="ENABLE_`echo $engine | tr [a-z] [A-Z]`"
+	if test "$isbuilt" = "no" ; then
+		add_line_to_config_mk "# $defname"
+	else
+		add_line_to_config_mk "$defname = $isbuilt"
+	fi
 done
 
+#
+# Show which engines ("frontends") are to be built
+#
 echo
-if test -n "$_engines_built" ; then
-	echo "Engines:"
-	echo $_engines_built | sed 's/@/\
+if test -n "$_engines_built_static" ; then
+	echo "Engines (builtin):"
+	echo $_engines_built_static | sed 's/@/\
 /g
 s/#/    /g'
 fi
 
+if test -n "$_engines_built_dynamic" ; then
+	echo "Engines (plugins):"
+	echo $_engines_built_dynamic | sed 's/@/\
+/g
+s/#/    /g'
+fi
+
 if test -n "$_engines_skipped" ; then
 	echo "Engines Skipped:"
 	echo $_engines_skipped | sed 's/@/\
@@ -1673,6 +1750,7 @@
 BINDIR := $_bindir
 MANDIR := $_mandir
 DATADIR := $_datadir
+LIBDIR := $_libdir
 
 $_config_mk_data
 

Modified: scummvm/branches/gsoc2008-tfmx/dists/msvc7/drascula.vcproj
===================================================================
--- scummvm/branches/gsoc2008-tfmx/dists/msvc7/drascula.vcproj	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/dists/msvc7/drascula.vcproj	2008-05-06 12:08:31 UTC (rev 31896)
@@ -97,6 +97,9 @@
 	</Configurations>
 	<Files>
 		<File
+			RelativePath="..\..\engines\drascula\animation.cpp">
+		</File>
+		<File
 			RelativePath="..\..\engines\drascula\detection.cpp">
 		</File>
 		<File
@@ -106,8 +109,14 @@
 			RelativePath="..\..\engines\drascula\drascula.h">
 		</File>
 		<File
-			RelativePath="..\..\engines\drascula\texts.h">
+			RelativePath="..\..\engines\drascula\rooms.cpp">
 		</File>
+		<File
+			RelativePath="..\..\engines\drascula\talk.cpp">
+		</File>
+		<File
+			RelativePath="..\..\engines\drascula\texts.cpp">
+		</File>
 	</Files>
 	<Globals>
 	</Globals>

Modified: scummvm/branches/gsoc2008-tfmx/dists/msvc7/gob.vcproj
===================================================================
--- scummvm/branches/gsoc2008-tfmx/dists/msvc7/gob.vcproj	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/dists/msvc7/gob.vcproj	2008-05-06 12:08:31 UTC (rev 31896)
@@ -178,6 +178,9 @@
 			RelativePath="..\..\engines\gob\goblin_v3.cpp">
 		</File>
 		<File
+			RelativePath="..\..\engines\gob\goblin_v4.cpp">
+		</File>
+		<File
 			RelativePath="..\..\engines\gob\init.cpp">
 		</File>
 		<File

Modified: scummvm/branches/gsoc2008-tfmx/dists/msvc7/kyra.vcproj
===================================================================
--- scummvm/branches/gsoc2008-tfmx/dists/msvc7/kyra.vcproj	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/dists/msvc7/kyra.vcproj	2008-05-06 12:08:31 UTC (rev 31896)
@@ -97,6 +97,12 @@
 	</Configurations>
 	<Files>
 		<File
+			RelativePath="..\..\engines\kyra\animator_hof.cpp">
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\animator_mr.cpp">
+		</File>
+		<File
 			RelativePath="..\..\engines\kyra\animator_v1.cpp">
 		</File>
 		<File
@@ -106,9 +112,6 @@
 			RelativePath="..\..\engines\kyra\animator_v2.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\animator_v3.cpp">
-		</File>
-		<File
 			RelativePath="..\..\engines\kyra\debugger.cpp">
 		</File>
 		<File
@@ -124,6 +127,18 @@
 			RelativePath="..\..\engines\kyra\gui.h">
 		</File>
 		<File
+			RelativePath="..\..\engines\kyra\gui_hof.cpp">
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\gui_hof.h">
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\gui_mr.cpp">
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\gui_mr.h">
+		</File>
+		<File
 			RelativePath="..\..\engines\kyra\gui_v1.cpp">
 		</File>
 		<File
@@ -136,24 +151,36 @@
 			RelativePath="..\..\engines\kyra\gui_v2.h">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\gui_v3.cpp">
+			RelativePath="..\..\engines\kyra\items_hof.cpp">
 		</File>
 		<File
+			RelativePath="..\..\engines\kyra\items_mr.cpp">
+		</File>
+		<File
 			RelativePath="..\..\engines\kyra\items_v1.cpp">
 		</File>
 		<File
 			RelativePath="..\..\engines\kyra\items_v2.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\items_v3.cpp">
-		</File>
-		<File
 			RelativePath="..\..\engines\kyra\kyra.cpp">
 		</File>
 		<File
 			RelativePath="..\..\engines\kyra\kyra.h">
 		</File>
 		<File
+			RelativePath="..\..\engines\kyra\kyra_hof.cpp">
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\kyra_hof.h">
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\kyra_mr.cpp">
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\kyra_mr.h">
+		</File>
+		<File
 			RelativePath="..\..\engines\kyra\kyra_v1.cpp">
 		</File>
 		<File
@@ -166,45 +193,57 @@
 			RelativePath="..\..\engines\kyra\kyra_v2.h">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\kyra_v3.cpp">
+			RelativePath="..\..\engines\kyra\resource.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\kyra_v3.h">
+			RelativePath="..\..\engines\kyra\resource.h">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\resource.cpp">
+			RelativePath="..\..\engines\kyra\saveload.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\resource.h">
+			RelativePath="..\..\engines\kyra\saveload_hof.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\saveload.cpp">
+			RelativePath="..\..\engines\kyra\saveload_mr.cpp">
 		</File>
 		<File
 			RelativePath="..\..\engines\kyra\saveload_v1.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\saveload_v2.cpp">
+			RelativePath="..\..\engines\kyra\scene.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\scene.cpp">
+			RelativePath="..\..\engines\kyra\scene_hof.cpp">
 		</File>
 		<File
+			RelativePath="..\..\engines\kyra\scene_mr.cpp">
+		</File>
+		<File
 			RelativePath="..\..\engines\kyra\scene_v1.cpp">
 		</File>
 		<File
 			RelativePath="..\..\engines\kyra\scene_v2.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\scene_v3.cpp">
-		</File>
-		<File
 			RelativePath="..\..\engines\kyra\screen.cpp">
 		</File>
 		<File
 			RelativePath="..\..\engines\kyra\screen.h">
 		</File>
 		<File
+			RelativePath="..\..\engines\kyra\screen_hof.cpp">
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\screen_hof.h">
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\screen_mr.cpp">
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\screen_mr.h">
+		</File>
+		<File
 			RelativePath="..\..\engines\kyra\screen_v1.cpp">
 		</File>
 		<File
@@ -217,16 +256,16 @@
 			RelativePath="..\..\engines\kyra\screen_v2.h">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\screen_v3.cpp">
+			RelativePath="..\..\engines\kyra\script.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\screen_v3.h">
+			RelativePath="..\..\engines\kyra\script.h">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\script.cpp">
+			RelativePath="..\..\engines\kyra\script_hof.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\script.h">
+			RelativePath="..\..\engines\kyra\script_mr.cpp">
 		</File>
 		<File
 			RelativePath="..\..\engines\kyra\script_tim.cpp">
@@ -241,24 +280,24 @@
 			RelativePath="..\..\engines\kyra\script_v2.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\script_v3.cpp">
-		</File>
-		<File
 			RelativePath="..\..\engines\kyra\seqplayer.cpp">
 		</File>
 		<File
 			RelativePath="..\..\engines\kyra\seqplayer.h">
 		</File>
 		<File
+			RelativePath="..\..\engines\kyra\sequences_hof.cpp">
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\sequences_mr.cpp">
+		</File>
+		<File
 			RelativePath="..\..\engines\kyra\sequences_v1.cpp">
 		</File>
 		<File
 			RelativePath="..\..\engines\kyra\sequences_v2.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\sequences_v3.cpp">
-		</File>
-		<File
 			RelativePath="..\..\engines\kyra\sound.cpp">
 		</File>
 		<File
@@ -292,19 +331,19 @@
 			RelativePath="..\..\engines\kyra\text.h">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\text_v1.cpp">
+			RelativePath="..\..\engines\kyra\text_hof.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\text_v2.cpp">
+			RelativePath="..\..\engines\kyra\text_hof.h">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\text_v2.h">
+			RelativePath="..\..\engines\kyra\text_mr.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\text_v3.cpp">
+			RelativePath="..\..\engines\kyra\text_mr.h">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\text_v3.h">
+			RelativePath="..\..\engines\kyra\text_v1.cpp">
 		</File>
 		<File
 			RelativePath="..\..\engines\kyra\timer.cpp">
@@ -313,13 +352,13 @@
 			RelativePath="..\..\engines\kyra\timer.h">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\timer_v1.cpp">
+			RelativePath="..\..\engines\kyra\timer_hof.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\timer_v2.cpp">
+			RelativePath="..\..\engines\kyra\timer_mr.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\timer_v3.cpp">
+			RelativePath="..\..\engines\kyra\timer_v1.cpp">
 		</File>
 		<File
 			RelativePath="..\..\engines\kyra\vqa.cpp">

Modified: scummvm/branches/gsoc2008-tfmx/dists/msvc7/made.vcproj
===================================================================
--- scummvm/branches/gsoc2008-tfmx/dists/msvc7/made.vcproj	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/dists/msvc7/made.vcproj	2008-05-06 12:08:31 UTC (rev 31896)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="windows-1252"?>
+<?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
 	Version="7.00"
@@ -154,12 +154,18 @@
 			RelativePath="..\..\engines\made\script.h">
 		</File>
 		<File
-			RelativePath="..\..\engines\made\scriptfuncs.cpp">
+			RelativePath="..\..\engines\made\scriptfuncs.h">
 		</File>
 		<File
-			RelativePath="..\..\engines\made\scriptfuncs.h">
+			RelativePath="..\..\engines\made\scriptfuncs_lgop2.cpp">
 		</File>
 		<File
+			RelativePath="..\..\engines\made\scriptfuncs_mhne.cpp">
+		</File>
+		<File
+			RelativePath="..\..\engines\made\scriptfuncs_rtz.cpp">
+		</File>
+		<File
 			RelativePath="..\..\engines\made\sound.cpp">
 		</File>
 		<File

Modified: scummvm/branches/gsoc2008-tfmx/dists/msvc71/drascula.vcproj
===================================================================
--- scummvm/branches/gsoc2008-tfmx/dists/msvc71/drascula.vcproj	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/dists/msvc71/drascula.vcproj	2008-05-06 12:08:31 UTC (rev 31896)
@@ -111,6 +111,9 @@
 	</References>
 	<Files>
 		<File
+			RelativePath="..\..\engines\drascula\animation.cpp">
+		</File>
+		<File
 			RelativePath="..\..\engines\drascula\detection.cpp">
 		</File>
 		<File
@@ -120,8 +123,14 @@
 			RelativePath="..\..\engines\drascula\drascula.h">
 		</File>
 		<File
-			RelativePath="..\..\engines\drascula\texts.h">
+			RelativePath="..\..\engines\drascula\rooms.cpp">
 		</File>
+		<File
+			RelativePath="..\..\engines\drascula\talk.cpp">
+		</File>
+		<File
+			RelativePath="..\..\engines\drascula\texts.cpp">
+		</File>
 	</Files>
 	<Globals>
 	</Globals>

Modified: scummvm/branches/gsoc2008-tfmx/dists/msvc71/gob.vcproj
===================================================================
--- scummvm/branches/gsoc2008-tfmx/dists/msvc71/gob.vcproj	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/dists/msvc71/gob.vcproj	2008-05-06 12:08:31 UTC (rev 31896)
@@ -192,6 +192,9 @@
 			RelativePath="..\..\engines\gob\goblin_v3.cpp">
 		</File>
 		<File
+			RelativePath="..\..\engines\gob\goblin_v4.cpp">
+		</File>
+		<File
 			RelativePath="..\..\engines\gob\init.cpp">
 		</File>
 		<File

Modified: scummvm/branches/gsoc2008-tfmx/dists/msvc71/kyra.vcproj
===================================================================
--- scummvm/branches/gsoc2008-tfmx/dists/msvc71/kyra.vcproj	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/dists/msvc71/kyra.vcproj	2008-05-06 12:08:31 UTC (rev 31896)
@@ -111,6 +111,12 @@
 	</References>
 	<Files>
 		<File
+			RelativePath="..\..\engines\kyra\animator_hof.cpp">
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\animator_mr.cpp">
+		</File>
+		<File
 			RelativePath="..\..\engines\kyra\animator_v1.cpp">
 		</File>
 		<File
@@ -120,9 +126,6 @@
 			RelativePath="..\..\engines\kyra\animator_v2.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\animator_v3.cpp">
-		</File>
-		<File
 			RelativePath="..\..\engines\kyra\debugger.cpp">
 		</File>
 		<File
@@ -138,6 +141,18 @@
 			RelativePath="..\..\engines\kyra\gui.h">
 		</File>
 		<File
+			RelativePath="..\..\engines\kyra\gui_hof.cpp">
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\gui_hof.h">
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\gui_mr.cpp">
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\gui_mr.h">
+		</File>
+		<File
 			RelativePath="..\..\engines\kyra\gui_v1.cpp">
 		</File>
 		<File
@@ -150,24 +165,36 @@
 			RelativePath="..\..\engines\kyra\gui_v2.h">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\gui_v3.cpp">
+			RelativePath="..\..\engines\kyra\items_hof.cpp">
 		</File>
 		<File
+			RelativePath="..\..\engines\kyra\items_mr.cpp">
+		</File>
+		<File
 			RelativePath="..\..\engines\kyra\items_v1.cpp">
 		</File>
 		<File
 			RelativePath="..\..\engines\kyra\items_v2.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\items_v3.cpp">
-		</File>
-		<File
 			RelativePath="..\..\engines\kyra\kyra.cpp">
 		</File>
 		<File
 			RelativePath="..\..\engines\kyra\kyra.h">
 		</File>
 		<File
+			RelativePath="..\..\engines\kyra\kyra_hof.cpp">
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\kyra_hof.h">
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\kyra_mr.cpp">
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\kyra_mr.h">
+		</File>
+		<File
 			RelativePath="..\..\engines\kyra\kyra_v1.cpp">
 		</File>
 		<File
@@ -180,45 +207,57 @@
 			RelativePath="..\..\engines\kyra\kyra_v2.h">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\kyra_v3.cpp">
+			RelativePath="..\..\engines\kyra\resource.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\kyra_v3.h">
+			RelativePath="..\..\engines\kyra\resource.h">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\resource.cpp">
+			RelativePath="..\..\engines\kyra\saveload.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\resource.h">
+			RelativePath="..\..\engines\kyra\saveload_hof.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\saveload.cpp">
+			RelativePath="..\..\engines\kyra\saveload_mr.cpp">
 		</File>
 		<File
 			RelativePath="..\..\engines\kyra\saveload_v1.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\saveload_v2.cpp">
+			RelativePath="..\..\engines\kyra\scene.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\scene.cpp">
+			RelativePath="..\..\engines\kyra\scene_hof.cpp">
 		</File>
 		<File
+			RelativePath="..\..\engines\kyra\scene_mr.cpp">
+		</File>
+		<File
 			RelativePath="..\..\engines\kyra\scene_v1.cpp">
 		</File>
 		<File
 			RelativePath="..\..\engines\kyra\scene_v2.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\scene_v3.cpp">
-		</File>
-		<File
 			RelativePath="..\..\engines\kyra\screen.cpp">
 		</File>
 		<File
 			RelativePath="..\..\engines\kyra\screen.h">
 		</File>
 		<File
+			RelativePath="..\..\engines\kyra\screen_hof.cpp">
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\screen_hof.h">
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\screen_mr.cpp">
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\screen_mr.h">
+		</File>
+		<File
 			RelativePath="..\..\engines\kyra\screen_v1.cpp">
 		</File>
 		<File
@@ -231,16 +270,16 @@
 			RelativePath="..\..\engines\kyra\screen_v2.h">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\screen_v3.cpp">
+			RelativePath="..\..\engines\kyra\script.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\screen_v3.h">
+			RelativePath="..\..\engines\kyra\script.h">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\script.cpp">
+			RelativePath="..\..\engines\kyra\script_hof.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\script.h">
+			RelativePath="..\..\engines\kyra\script_mr.cpp">
 		</File>
 		<File
 			RelativePath="..\..\engines\kyra\script_tim.cpp">
@@ -255,24 +294,24 @@
 			RelativePath="..\..\engines\kyra\script_v2.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\script_v3.cpp">
-		</File>
-		<File
 			RelativePath="..\..\engines\kyra\seqplayer.cpp">
 		</File>
 		<File
 			RelativePath="..\..\engines\kyra\seqplayer.h">
 		</File>
 		<File
+			RelativePath="..\..\engines\kyra\sequences_hof.cpp">
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\sequences_mr.cpp">
+		</File>
+		<File
 			RelativePath="..\..\engines\kyra\sequences_v1.cpp">
 		</File>
 		<File
 			RelativePath="..\..\engines\kyra\sequences_v2.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\sequences_v3.cpp">
-		</File>
-		<File
 			RelativePath="..\..\engines\kyra\sound.cpp">
 		</File>
 		<File
@@ -306,19 +345,19 @@
 			RelativePath="..\..\engines\kyra\text.h">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\text_v1.cpp">
+			RelativePath="..\..\engines\kyra\text_hof.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\text_v2.cpp">
+			RelativePath="..\..\engines\kyra\text_hof.h">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\text_v2.h">
+			RelativePath="..\..\engines\kyra\text_mr.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\text_v3.cpp">
+			RelativePath="..\..\engines\kyra\text_mr.h">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\text_v3.h">
+			RelativePath="..\..\engines\kyra\text_v1.cpp">
 		</File>
 		<File
 			RelativePath="..\..\engines\kyra\timer.cpp">
@@ -327,13 +366,13 @@
 			RelativePath="..\..\engines\kyra\timer.h">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\timer_v1.cpp">
+			RelativePath="..\..\engines\kyra\timer_hof.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\timer_v2.cpp">
+			RelativePath="..\..\engines\kyra\timer_mr.cpp">
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\timer_v3.cpp">
+			RelativePath="..\..\engines\kyra\timer_v1.cpp">
 		</File>
 		<File
 			RelativePath="..\..\engines\kyra\vqa.cpp">

Modified: scummvm/branches/gsoc2008-tfmx/dists/msvc71/made.vcproj
===================================================================
--- scummvm/branches/gsoc2008-tfmx/dists/msvc71/made.vcproj	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/dists/msvc71/made.vcproj	2008-05-06 12:08:31 UTC (rev 31896)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="windows-1252"?>
+<?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
 	Version="7.10"
@@ -168,12 +168,18 @@
 			RelativePath="..\..\engines\made\script.h">
 		</File>
 		<File
-			RelativePath="..\..\engines\made\scriptfuncs.cpp">
+			RelativePath="..\..\engines\made\scriptfuncs.h">
 		</File>
 		<File
-			RelativePath="..\..\engines\made\scriptfuncs.h">
+			RelativePath="..\..\engines\made\scriptfuncs_lgop2.cpp">
 		</File>
 		<File
+			RelativePath="..\..\engines\made\scriptfuncs_mhne.cpp">
+		</File>
+		<File
+			RelativePath="..\..\engines\made\scriptfuncs_rtz.cpp">
+		</File>
+		<File
 			RelativePath="..\..\engines\made\sound.cpp">
 		</File>
 		<File

Modified: scummvm/branches/gsoc2008-tfmx/dists/msvc8/drascula.vcproj
===================================================================
--- scummvm/branches/gsoc2008-tfmx/dists/msvc8/drascula.vcproj	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/dists/msvc8/drascula.vcproj	2008-05-06 12:08:31 UTC (rev 31896)
@@ -161,6 +161,10 @@
 	</References>
 	<Files>
 		<File
+			RelativePath="..\..\engines\drascula\animation.cpp"
+			>
+		</File>
+		<File
 			RelativePath="..\..\engines\drascula\detection.cpp"
 			>
 		</File>
@@ -173,9 +177,17 @@
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\drascula\texts.h"
+			RelativePath="..\..\engines\drascula\rooms.cpp"
 			>
 		</File>
+		<File
+			RelativePath="..\..\engines\drascula\talk.cpp"
+			>
+		</File>
+		<File
+			RelativePath="..\..\engines\drascula\texts.cpp"
+			>
+		</File>
 	</Files>
 	<Globals>
 	</Globals>

Modified: scummvm/branches/gsoc2008-tfmx/dists/msvc8/gob.vcproj
===================================================================
--- scummvm/branches/gsoc2008-tfmx/dists/msvc8/gob.vcproj	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/dists/msvc8/gob.vcproj	2008-05-06 12:08:31 UTC (rev 31896)
@@ -269,6 +269,10 @@
 			>
 		</File>
 		<File
+			RelativePath="..\..\engines\gob\goblin_v4.cpp"
+			>
+		</File>
+		<File
 			RelativePath="..\..\engines\gob\init.cpp"
 			>
 		</File>

Modified: scummvm/branches/gsoc2008-tfmx/dists/msvc8/kyra.vcproj
===================================================================
--- scummvm/branches/gsoc2008-tfmx/dists/msvc8/kyra.vcproj	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/dists/msvc8/kyra.vcproj	2008-05-06 12:08:31 UTC (rev 31896)
@@ -161,6 +161,14 @@
 	</References>
 	<Files>
 		<File
+			RelativePath="..\..\engines\kyra\animator_hof.cpp"
+			>
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\animator_mr.cpp"
+			>
+		</File>
+		<File
 			RelativePath="..\..\engines\kyra\animator_v1.cpp"
 			>
 		</File>
@@ -173,10 +181,6 @@
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\animator_v3.cpp"
-			>
-		</File>
-		<File
 			RelativePath="..\..\engines\kyra\debugger.cpp"
 			>
 		</File>
@@ -197,6 +201,22 @@
 			>
 		</File>
 		<File
+			RelativePath="..\..\engines\kyra\gui_hof.cpp"
+			>
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\gui_hof.h"
+			>
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\gui_mr.cpp"
+			>
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\gui_mr.h"
+			>
+		</File>
+		<File
 			RelativePath="..\..\engines\kyra\gui_v1.cpp"
 			>
 		</File>
@@ -213,19 +233,19 @@
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\gui_v3.cpp"
+			RelativePath="..\..\engines\kyra\items_hof.cpp"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\items_v1.cpp"
+			RelativePath="..\..\engines\kyra\items_mr.cpp"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\items_v2.cpp"
+			RelativePath="..\..\engines\kyra\items_v1.cpp"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\items_v3.cpp"
+			RelativePath="..\..\engines\kyra\items_v2.cpp"
 			>
 		</File>
 		<File
@@ -237,6 +257,22 @@
 			>
 		</File>
 		<File
+			RelativePath="..\..\engines\kyra\kyra_hof.cpp"
+			>
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\kyra_hof.h"
+			>
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\kyra_mr.cpp"
+			>
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\kyra_mr.h"
+			>
+		</File>
+		<File
 			RelativePath="..\..\engines\kyra\kyra_v1.cpp"
 			>
 		</File>
@@ -253,23 +289,23 @@
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\kyra_v3.cpp"
+			RelativePath="..\..\engines\kyra\resource.cpp"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\kyra_v3.h"
+			RelativePath="..\..\engines\kyra\resource.h"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\resource.cpp"
+			RelativePath="..\..\engines\kyra\saveload.cpp"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\resource.h"
+			RelativePath="..\..\engines\kyra\saveload_hof.cpp"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\saveload.cpp"
+			RelativePath="..\..\engines\kyra\saveload_mr.cpp"
 			>
 		</File>
 		<File
@@ -277,23 +313,23 @@
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\saveload_v2.cpp"
+			RelativePath="..\..\engines\kyra\scene.cpp"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\scene.cpp"
+			RelativePath="..\..\engines\kyra\scene_hof.cpp"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\scene_v1.cpp"
+			RelativePath="..\..\engines\kyra\scene_mr.cpp"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\scene_v2.cpp"
+			RelativePath="..\..\engines\kyra\scene_v1.cpp"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\scene_v3.cpp"
+			RelativePath="..\..\engines\kyra\scene_v2.cpp"
 			>
 		</File>
 		<File
@@ -305,6 +341,22 @@
 			>
 		</File>
 		<File
+			RelativePath="..\..\engines\kyra\screen_hof.cpp"
+			>
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\screen_hof.h"
+			>
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\screen_mr.cpp"
+			>
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\screen_mr.h"
+			>
+		</File>
+		<File
 			RelativePath="..\..\engines\kyra\screen_v1.cpp"
 			>
 		</File>
@@ -321,19 +373,19 @@
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\screen_v3.cpp"
+			RelativePath="..\..\engines\kyra\script.cpp"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\screen_v3.h"
+			RelativePath="..\..\engines\kyra\script.h"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\script.cpp"
+			RelativePath="..\..\engines\kyra\script_hof.cpp"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\script.h"
+			RelativePath="..\..\engines\kyra\script_mr.cpp"
 			>
 		</File>
 		<File
@@ -353,27 +405,27 @@
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\script_v3.cpp"
+			RelativePath="..\..\engines\kyra\seqplayer.cpp"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\seqplayer.cpp"
+			RelativePath="..\..\engines\kyra\seqplayer.h"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\seqplayer.h"
+			RelativePath="..\..\engines\kyra\sequences_hof.cpp"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\sequences_v1.cpp"
+			RelativePath="..\..\engines\kyra\sequences_mr.cpp"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\sequences_v2.cpp"
+			RelativePath="..\..\engines\kyra\sequences_v1.cpp"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\sequences_v3.cpp"
+			RelativePath="..\..\engines\kyra\sequences_v2.cpp"
 			>
 		</File>
 		<File
@@ -421,23 +473,23 @@
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\text_v1.cpp"
+			RelativePath="..\..\engines\kyra\text_hof.cpp"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\text_v2.cpp"
+			RelativePath="..\..\engines\kyra\text_hof.h"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\text_v2.h"
+			RelativePath="..\..\engines\kyra\text_mr.cpp"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\text_v3.cpp"
+			RelativePath="..\..\engines\kyra\text_mr.h"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\text_v3.h"
+			RelativePath="..\..\engines\kyra\text_v1.cpp"
 			>
 		</File>
 		<File
@@ -449,15 +501,15 @@
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\timer_v1.cpp"
+			RelativePath="..\..\engines\kyra\timer_hof.cpp"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\timer_v2.cpp"
+			RelativePath="..\..\engines\kyra\timer_mr.cpp"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\kyra\timer_v3.cpp"
+			RelativePath="..\..\engines\kyra\timer_v1.cpp"
 			>
 		</File>
 		<File

Modified: scummvm/branches/gsoc2008-tfmx/dists/msvc8/made.vcproj
===================================================================
--- scummvm/branches/gsoc2008-tfmx/dists/msvc8/made.vcproj	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/dists/msvc8/made.vcproj	2008-05-06 12:08:31 UTC (rev 31896)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="windows-1252"?>
+<?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
 	Version="8,00"
@@ -237,14 +237,22 @@
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\made\scriptfuncs.cpp"
+			RelativePath="..\..\engines\made\scriptfuncs.h"
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\made\scriptfuncs.h"
+			RelativePath="..\..\engines\made\scriptfuncs_lgop2.cpp"
 			>
 		</File>
 		<File
+			RelativePath="..\..\engines\made\scriptfuncs_mhne.cpp"
+			>
+		</File>
+		<File
+			RelativePath="..\..\engines\made\scriptfuncs_rtz.cpp"
+			>
+		</File>
+		<File
 			RelativePath="..\..\engines\made\sound.cpp"
 			>
 		</File>

Modified: scummvm/branches/gsoc2008-tfmx/dists/msvc9/drascula.vcproj
===================================================================
--- scummvm/branches/gsoc2008-tfmx/dists/msvc9/drascula.vcproj	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/dists/msvc9/drascula.vcproj	2008-05-06 12:08:31 UTC (rev 31896)
@@ -162,6 +162,10 @@
 	</References>
 	<Files>
 		<File
+			RelativePath="..\..\engines\drascula\animation.cpp"
+			>
+		</File>
+		<File
 			RelativePath="..\..\engines\drascula\detection.cpp"
 			>
 		</File>
@@ -174,9 +178,17 @@
 			>
 		</File>
 		<File
-			RelativePath="..\..\engines\drascula\texts.h"
+			RelativePath="..\..\engines\drascula\rooms.cpp"
 			>
 		</File>
+		<File
+			RelativePath="..\..\engines\drascula\talk.cpp"
+			>
+		</File>
+		<File
+			RelativePath="..\..\engines\drascula\texts.cpp"
+			>
+		</File>
 	</Files>
 	<Globals>
 	</Globals>

Modified: scummvm/branches/gsoc2008-tfmx/dists/msvc9/gob.vcproj
===================================================================
--- scummvm/branches/gsoc2008-tfmx/dists/msvc9/gob.vcproj	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/dists/msvc9/gob.vcproj	2008-05-06 12:08:31 UTC (rev 31896)
@@ -270,6 +270,10 @@
 			>
 		</File>
 		<File
+			RelativePath="..\..\engines\gob\goblin_v4.cpp"
+			>
+		</File>
+		<File
 			RelativePath="..\..\engines\gob\init.cpp"
 			>
 		</File>

Modified: scummvm/branches/gsoc2008-tfmx/dists/msvc9/kyra.vcproj
===================================================================
--- scummvm/branches/gsoc2008-tfmx/dists/msvc9/kyra.vcproj	2008-05-06 11:45:23 UTC (rev 31895)
+++ scummvm/branches/gsoc2008-tfmx/dists/msvc9/kyra.vcproj	2008-05-06 12:08:31 UTC (rev 31896)
@@ -162,6 +162,14 @@
 	</References>
 	<Files>
 		<File
+			RelativePath="..\..\engines\kyra\animator_hof.cpp"
+			>
+		</File>
+		<File
+			RelativePath="..\..\engines\kyra\animator_mr.cpp"
+			>
+		</File>

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